diff --git a/.ci/update_windows/update.py b/.ci/update_windows/update.py index 6a04e5e16..731b6bc53 100755 --- a/.ci/update_windows/update.py +++ b/.ci/update_windows/update.py @@ -28,17 +28,17 @@ def pull(repo, remote_name='origin', branch='master'): if repo.index.conflicts is not None: for conflict in repo.index.conflicts: - print('Conflicts found in:', conflict[0].path) + print('Conflicts found in:', conflict[0].path) # noqa: T201 raise AssertionError('Conflicts, ahhhhh!!') user = repo.default_signature tree = repo.index.write_tree() - commit = repo.create_commit('HEAD', - user, - user, - 'Merge!', - tree, - [repo.head.target, remote_master_id]) + repo.create_commit('HEAD', + user, + user, + 'Merge!', + tree, + [repo.head.target, remote_master_id]) # We need to do this or git CLI will think we are still merging. repo.state_cleanup() else: @@ -49,18 +49,18 @@ repo_path = str(sys.argv[1]) repo = pygit2.Repository(repo_path) ident = pygit2.Signature('comfyui', 'comfy@ui') try: - print("stashing current changes") + print("stashing current changes") # noqa: T201 repo.stash(ident) except KeyError: - print("nothing to stash") + print("nothing to stash") # noqa: T201 backup_branch_name = 'backup_branch_{}'.format(datetime.today().strftime('%Y-%m-%d_%H_%M_%S')) -print("creating backup branch: {}".format(backup_branch_name)) +print("creating backup branch: {}".format(backup_branch_name)) # noqa: T201 try: repo.branches.local.create(backup_branch_name, repo.head.peel()) except: pass -print("checking out master branch") +print("checking out master branch") # noqa: T201 branch = repo.lookup_branch('master') if branch is None: ref = repo.lookup_reference('refs/remotes/origin/master') @@ -72,7 +72,7 @@ else: ref = repo.lookup_reference(branch.name) repo.checkout(ref) -print("pulling latest changes") +print("pulling latest changes") # noqa: T201 pull(repo) if "--stable" in sys.argv: @@ -94,7 +94,7 @@ if "--stable" in sys.argv: if latest_tag is not None: repo.checkout(latest_tag) -print("Done!") +print("Done!") # noqa: T201 self_update = True if len(sys.argv) > 2: diff --git a/.github/workflows/pullrequest-ci-run.yml b/.github/workflows/pullrequest-ci-run.yml index 691480bcf..a2a4b265c 100644 --- a/.github/workflows/pullrequest-ci-run.yml +++ b/.github/workflows/pullrequest-ci-run.yml @@ -23,7 +23,7 @@ jobs: runner_label: [self-hosted, Linux] flags: "" - os: windows - runner_label: [self-hosted, win] + runner_label: [self-hosted, Windows] flags: "" runs-on: ${{ matrix.runner_label }} steps: diff --git a/.github/workflows/pylint.yml b/.github/workflows/ruff.yml similarity index 59% rename from .github/workflows/pylint.yml rename to .github/workflows/ruff.yml index 5effbea35..4c1a02594 100644 --- a/.github/workflows/pylint.yml +++ b/.github/workflows/ruff.yml @@ -3,8 +3,8 @@ name: Python Linting on: [push, pull_request] jobs: - pylint: - name: Run Pylint + ruff: + name: Run Ruff runs-on: ubuntu-latest steps: @@ -16,8 +16,8 @@ jobs: with: python-version: 3.x - - name: Install Pylint - run: pip install pylint + - name: Install Ruff + run: pip install ruff - - name: Run Pylint - run: pylint --rcfile=.pylintrc $(find . -type f -name "*.py") + - name: Run Ruff + run: ruff check . diff --git a/.github/workflows/stable-release.yml b/.github/workflows/stable-release.yml index 658816afe..9de458b1e 100644 --- a/.github/workflows/stable-release.yml +++ b/.github/workflows/stable-release.yml @@ -12,17 +12,17 @@ on: description: 'CUDA version' required: true type: string - default: "121" + default: "126" python_minor: description: 'Python minor version' required: true type: string - default: "11" + default: "12" python_patch: description: 'Python patch version' required: true type: string - default: "9" + default: "8" jobs: diff --git a/.github/workflows/test-build.yml b/.github/workflows/test-build.yml index 444d6b254..419873ad8 100644 --- a/.github/workflows/test-build.yml +++ b/.github/workflows/test-build.yml @@ -18,7 +18,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["3.8", "3.9", "3.10", "3.11"] + python-version: ["3.9", "3.10", "3.11", "3.12", "3.13"] steps: - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} @@ -28,4 +28,4 @@ jobs: - name: Install dependencies run: | python -m pip install --upgrade pip - pip install -r requirements.txt \ No newline at end of file + pip install -r requirements.txt diff --git a/.github/workflows/test-ci.yml b/.github/workflows/test-ci.yml index be7622907..418dca0ab 100644 --- a/.github/workflows/test-ci.yml +++ b/.github/workflows/test-ci.yml @@ -20,7 +20,8 @@ jobs: strategy: fail-fast: false matrix: - os: [macos, linux, windows] + # os: [macos, linux, windows] + os: [macos, linux] python_version: ["3.9", "3.10", "3.11", "3.12"] cuda_version: ["12.1"] torch_version: ["stable"] @@ -31,9 +32,9 @@ jobs: - os: linux runner_label: [self-hosted, Linux] flags: "" - - os: windows - runner_label: [self-hosted, win] - flags: "" + # - os: windows + # runner_label: [self-hosted, Windows] + # flags: "" runs-on: ${{ matrix.runner_label }} steps: - name: Test Workflows @@ -45,28 +46,28 @@ jobs: google_credentials: ${{ secrets.GCS_SERVICE_ACCOUNT_JSON }} comfyui_flags: ${{ matrix.flags }} - test-win-nightly: - strategy: - fail-fast: true - matrix: - os: [windows] - python_version: ["3.9", "3.10", "3.11", "3.12"] - cuda_version: ["12.1"] - torch_version: ["nightly"] - include: - - os: windows - runner_label: [self-hosted, win] - flags: "" - runs-on: ${{ matrix.runner_label }} - steps: - - name: Test Workflows - uses: comfy-org/comfy-action@main - with: - os: ${{ matrix.os }} - python_version: ${{ matrix.python_version }} - torch_version: ${{ matrix.torch_version }} - google_credentials: ${{ secrets.GCS_SERVICE_ACCOUNT_JSON }} - comfyui_flags: ${{ matrix.flags }} + # test-win-nightly: + # strategy: + # fail-fast: true + # matrix: + # os: [windows] + # python_version: ["3.9", "3.10", "3.11", "3.12"] + # cuda_version: ["12.1"] + # torch_version: ["nightly"] + # include: + # - os: windows + # runner_label: [self-hosted, Windows] + # flags: "" + # runs-on: ${{ matrix.runner_label }} + # steps: + # - name: Test Workflows + # uses: comfy-org/comfy-action@main + # with: + # os: ${{ matrix.os }} + # python_version: ${{ matrix.python_version }} + # torch_version: ${{ matrix.torch_version }} + # google_credentials: ${{ secrets.GCS_SERVICE_ACCOUNT_JSON }} + # comfyui_flags: ${{ matrix.flags }} test-unix-nightly: strategy: diff --git a/.github/workflows/test-launch.yml b/.github/workflows/test-launch.yml index 42f1dbe99..c56283c2d 100644 --- a/.github/workflows/test-launch.yml +++ b/.github/workflows/test-launch.yml @@ -17,7 +17,7 @@ jobs: path: "ComfyUI" - uses: actions/setup-python@v4 with: - python-version: '3.8' + python-version: '3.9' - name: Install requirements run: | python -m pip install --upgrade pip @@ -28,7 +28,7 @@ jobs: - name: Start ComfyUI server run: | python main.py --cpu 2>&1 | tee console_output.log & - wait-for-it --service 127.0.0.1:8188 -t 600 + wait-for-it --service 127.0.0.1:8188 -t 30 working-directory: ComfyUI - name: Check for unhandled exceptions in server log run: | diff --git a/.github/workflows/test-unit.yml b/.github/workflows/test-unit.yml new file mode 100644 index 000000000..78c918031 --- /dev/null +++ b/.github/workflows/test-unit.yml @@ -0,0 +1,30 @@ +name: Unit Tests + +on: + push: + branches: [ main, master ] + pull_request: + branches: [ main, master ] + +jobs: + test: + strategy: + matrix: + os: [ubuntu-latest, windows-latest, macos-latest] + runs-on: ${{ matrix.os }} + continue-on-error: true + steps: + - uses: actions/checkout@v4 + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: '3.12' + - name: Install requirements + run: | + python -m pip install --upgrade pip + pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu + pip install -r requirements.txt + - name: Run Unit Tests + run: | + pip install -r tests-unit/requirements.txt + python -m pytest tests-unit diff --git a/.github/workflows/update-frontend.yml b/.github/workflows/update-frontend.yml new file mode 100644 index 000000000..0c5774789 --- /dev/null +++ b/.github/workflows/update-frontend.yml @@ -0,0 +1,58 @@ +name: Update Frontend Release + +on: + workflow_dispatch: + inputs: + version: + description: "Frontend version to update to (e.g., 1.0.0)" + required: true + type: string + +jobs: + update-frontend: + runs-on: ubuntu-latest + permissions: + contents: write + pull-requests: write + + steps: + - name: Checkout ComfyUI + uses: actions/checkout@v4 + - uses: actions/setup-python@v4 + with: + python-version: '3.10' + - name: Install requirements + run: | + python -m pip install --upgrade pip + pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cpu + pip install -r requirements.txt + pip install wait-for-it + # Frontend asset will be downloaded to ComfyUI/web_custom_versions/Comfy-Org_ComfyUI_frontend/{version} + - name: Start ComfyUI server + run: | + python main.py --cpu --front-end-version Comfy-Org/ComfyUI_frontend@${{ github.event.inputs.version }} 2>&1 | tee console_output.log & + wait-for-it --service 127.0.0.1:8188 -t 30 + - name: Configure Git + run: | + git config --global user.name "GitHub Action" + git config --global user.email "action@github.com" + # Replace existing frontend content with the new version and remove .js.map files + # See https://github.com/Comfy-Org/ComfyUI_frontend/issues/2145 for why we remove .js.map files + - name: Update frontend content + run: | + rm -rf web/ + cp -r web_custom_versions/Comfy-Org_ComfyUI_frontend/${{ github.event.inputs.version }} web/ + rm web/**/*.js.map + - name: Create Pull Request + uses: peter-evans/create-pull-request@v7 + with: + token: ${{ secrets.PR_BOT_PAT }} + commit-message: "Update frontend to v${{ github.event.inputs.version }}" + title: "Frontend Update: v${{ github.event.inputs.version }}" + body: | + Automated PR to update frontend content to version ${{ github.event.inputs.version }} + + This PR was created automatically by the frontend update workflow. + branch: release-${{ github.event.inputs.version }} + base: master + labels: Frontend,dependencies diff --git a/.github/workflows/update-version.yml b/.github/workflows/update-version.yml new file mode 100644 index 000000000..d9d488974 --- /dev/null +++ b/.github/workflows/update-version.yml @@ -0,0 +1,58 @@ +name: Update Version File + +on: + pull_request: + paths: + - "pyproject.toml" + branches: + - master + +jobs: + update-version: + runs-on: ubuntu-latest + # Don't run on fork PRs + if: github.event.pull_request.head.repo.full_name == github.repository + permissions: + pull-requests: write + contents: write + + steps: + - name: Checkout repository + uses: actions/checkout@v4 + + - name: Set up Python + uses: actions/setup-python@v4 + with: + python-version: "3.11" + + - name: Install dependencies + run: | + python -m pip install --upgrade pip + + - name: Update comfyui_version.py + run: | + # Read version from pyproject.toml and update comfyui_version.py + python -c ' + import tomllib + + # Read version from pyproject.toml + with open("pyproject.toml", "rb") as f: + config = tomllib.load(f) + version = config["project"]["version"] + + # Write version to comfyui_version.py + with open("comfyui_version.py", "w") as f: + f.write("# This file is automatically generated by the build process when version is\n") + f.write("# updated in pyproject.toml.\n") + f.write(f"__version__ = \"{version}\"\n") + ' + + - name: Commit changes + run: | + git config --local user.name "github-actions" + git config --local user.email "github-actions@github.com" + git fetch origin ${{ github.head_ref }} + git checkout -B ${{ github.head_ref }} origin/${{ github.head_ref }} + git add comfyui_version.py + git diff --quiet && git diff --staged --quiet || git commit -m "chore: Update comfyui_version.py to match pyproject.toml" + git push origin HEAD:${{ github.head_ref }} diff --git a/.github/workflows/windows_release_dependencies.yml b/.github/workflows/windows_release_dependencies.yml index 8d3a8665d..afbbb7afe 100644 --- a/.github/workflows/windows_release_dependencies.yml +++ b/.github/workflows/windows_release_dependencies.yml @@ -12,24 +12,24 @@ on: description: 'extra dependencies' required: false type: string - default: "\"numpy<2\"" + default: "" cu: description: 'cuda version' required: true type: string - default: "124" + default: "126" python_minor: description: 'python minor version' required: true type: string - default: "11" + default: "12" python_patch: description: 'python patch version' required: true type: string - default: "9" + default: "8" # push: # branches: # - master diff --git a/.github/workflows/windows_release_nightly_pytorch.yml b/.github/workflows/windows_release_nightly_pytorch.yml index 07f52e0b2..f90488705 100644 --- a/.github/workflows/windows_release_nightly_pytorch.yml +++ b/.github/workflows/windows_release_nightly_pytorch.yml @@ -7,19 +7,19 @@ on: description: 'cuda version' required: true type: string - default: "124" + default: "126" python_minor: description: 'python minor version' required: true type: string - default: "12" + default: "13" python_patch: description: 'python patch version' required: true type: string - default: "4" + default: "1" # push: # branches: # - master diff --git a/.github/workflows/windows_release_package.yml b/.github/workflows/windows_release_package.yml index 84d99b8a6..b68400177 100644 --- a/.github/workflows/windows_release_package.yml +++ b/.github/workflows/windows_release_package.yml @@ -7,19 +7,19 @@ on: description: 'cuda version' required: true type: string - default: "124" + default: "126" python_minor: description: 'python minor version' required: true type: string - default: "11" + default: "12" python_patch: description: 'python patch version' required: true type: string - default: "9" + default: "8" # push: # branches: # - master diff --git a/.gitignore b/.gitignore index 08c8add3b..37b85e0eb 100644 --- a/.gitignore +++ b/.gitignore @@ -12,6 +12,7 @@ extra_model_paths.yaml .vscode/ .idea/ venv/ +.venv/ /web/extensions/* !/web/extensions/logging.js.example !/web/extensions/core/ diff --git a/.pylintrc b/.pylintrc deleted file mode 100644 index a5da56e57..000000000 --- a/.pylintrc +++ /dev/null @@ -1,3 +0,0 @@ -[MESSAGES CONTROL] -disable=all -enable=eval-used diff --git a/CODEOWNERS b/CODEOWNERS index 7c7c3e19e..77da0b7ed 100644 --- a/CODEOWNERS +++ b/CODEOWNERS @@ -1 +1,24 @@ -* @comfyanonymous +# Admins +* @comfyanonymous + +# Note: Github teams syntax cannot be used here as the repo is not owned by Comfy-Org. +# Inlined the team members for now. + +# Maintainers +*.md @yoland68 @robinjhuang @huchenlei @webfiltered @pythongosssss @ltdrdata @Kosinkadink +/tests/ @yoland68 @robinjhuang @huchenlei @webfiltered @pythongosssss @ltdrdata @Kosinkadink +/tests-unit/ @yoland68 @robinjhuang @huchenlei @webfiltered @pythongosssss @ltdrdata @Kosinkadink +/notebooks/ @yoland68 @robinjhuang @huchenlei @webfiltered @pythongosssss @ltdrdata @Kosinkadink +/script_examples/ @yoland68 @robinjhuang @huchenlei @webfiltered @pythongosssss @ltdrdata @Kosinkadink +/.github/ @yoland68 @robinjhuang @huchenlei @webfiltered @pythongosssss @ltdrdata @Kosinkadink + +# Python web server +/api_server/ @yoland68 @robinjhuang @huchenlei @webfiltered @pythongosssss @ltdrdata +/app/ @yoland68 @robinjhuang @huchenlei @webfiltered @pythongosssss @ltdrdata +/utils/ @yoland68 @robinjhuang @huchenlei @webfiltered @pythongosssss @ltdrdata + +# Frontend assets +/web/ @huchenlei @webfiltered @pythongosssss @yoland68 @robinjhuang + +# Extra nodes +/comfy_extras/ @yoland68 @robinjhuang @huchenlei @pythongosssss @ltdrdata @Kosinkadink diff --git a/README.md b/README.md index d9fccb500..ab589f4e0 100644 --- a/README.md +++ b/README.md @@ -28,7 +28,7 @@ [github-downloads-latest-shield]: https://img.shields.io/github/downloads/comfyanonymous/ComfyUI/latest/total?style=flat&label=downloads%40latest [github-downloads-link]: https://github.com/comfyanonymous/ComfyUI/releases -![ComfyUI Screenshot](comfyui_screenshot.png) +![ComfyUI Screenshot](https://github.com/user-attachments/assets/7ccaf2c1-9b72-41ae-9a89-5688c94b7abe) This ui will let you design and execute advanced stable diffusion pipelines using a graph/nodes/flowchart based interface. For some workflow examples and see what ComfyUI can do you can check out: @@ -38,8 +38,22 @@ This ui will let you design and execute advanced stable diffusion pipelines usin ## Features - Nodes/graph/flowchart interface to experiment and create complex Stable Diffusion workflows without needing to code anything. -- Fully supports SD1.x, SD2.x, [SDXL](https://comfyanonymous.github.io/ComfyUI_examples/sdxl/), [Stable Video Diffusion](https://comfyanonymous.github.io/ComfyUI_examples/video/), [Stable Cascade](https://comfyanonymous.github.io/ComfyUI_examples/stable_cascade/), [SD3](https://comfyanonymous.github.io/ComfyUI_examples/sd3/) and [Stable Audio](https://comfyanonymous.github.io/ComfyUI_examples/audio/) -- [Flux](https://comfyanonymous.github.io/ComfyUI_examples/flux/) +- Image Models + - SD1.x, SD2.x, + - [SDXL](https://comfyanonymous.github.io/ComfyUI_examples/sdxl/), [SDXL Turbo](https://comfyanonymous.github.io/ComfyUI_examples/sdturbo/) + - [Stable Cascade](https://comfyanonymous.github.io/ComfyUI_examples/stable_cascade/) + - [SD3 and SD3.5](https://comfyanonymous.github.io/ComfyUI_examples/sd3/) + - Pixart Alpha and Sigma + - [AuraFlow](https://comfyanonymous.github.io/ComfyUI_examples/aura_flow/) + - [HunyuanDiT](https://comfyanonymous.github.io/ComfyUI_examples/hunyuan_dit/) + - [Flux](https://comfyanonymous.github.io/ComfyUI_examples/flux/) +- Video Models + - [Stable Video Diffusion](https://comfyanonymous.github.io/ComfyUI_examples/video/) + - [Mochi](https://comfyanonymous.github.io/ComfyUI_examples/mochi/) + - [LTX-Video](https://comfyanonymous.github.io/ComfyUI_examples/ltxv/) + - [Hunyuan Video](https://comfyanonymous.github.io/ComfyUI_examples/hunyuan_video/) + - [Nvidia Cosmos](https://comfyanonymous.github.io/ComfyUI_examples/cosmos/) +- [Stable Audio](https://comfyanonymous.github.io/ComfyUI_examples/audio/) - Asynchronous Queue system - Many optimizations: Only re-executes the parts of the workflow that changes between executions. - Smart memory management: can automatically run models on GPUs with as low as 1GB vram. @@ -59,9 +73,6 @@ This ui will let you design and execute advanced stable diffusion pipelines usin - [GLIGEN](https://comfyanonymous.github.io/ComfyUI_examples/gligen/) - [Model Merging](https://comfyanonymous.github.io/ComfyUI_examples/model_merging/) - [LCM models and Loras](https://comfyanonymous.github.io/ComfyUI_examples/lcm/) -- [SDXL Turbo](https://comfyanonymous.github.io/ComfyUI_examples/sdturbo/) -- [AuraFlow](https://comfyanonymous.github.io/ComfyUI_examples/aura_flow/) -- [HunyuanDiT](https://comfyanonymous.github.io/ComfyUI_examples/hunyuan_dit/) - Latent previews with [TAESD](#how-to-show-high-quality-previews) - Starts up very fast. - Works fully offline: will never download anything. @@ -73,35 +84,39 @@ Workflow examples can be found on the [Examples page](https://comfyanonymous.git | Keybind | Explanation | |------------------------------------|--------------------------------------------------------------------------------------------------------------------| -| Ctrl + Enter | Queue up current graph for generation | -| Ctrl + Shift + Enter | Queue up current graph as first for generation | -| Ctrl + Alt + Enter | Cancel current generation | -| Ctrl + Z/Ctrl + Y | Undo/Redo | -| Ctrl + S | Save workflow | -| Ctrl + O | Load workflow | -| Ctrl + A | Select all nodes | -| Alt + C | Collapse/uncollapse selected nodes | -| Ctrl + M | Mute/unmute selected nodes | -| Ctrl + B | Bypass selected nodes (acts like the node was removed from the graph and the wires reconnected through) | -| Delete/Backspace | Delete selected nodes | -| Ctrl + Backspace | Delete the current graph | -| Space | Move the canvas around when held and moving the cursor | -| Ctrl/Shift + Click | Add clicked node to selection | -| Ctrl + C/Ctrl + V | Copy and paste selected nodes (without maintaining connections to outputs of unselected nodes) | -| Ctrl + C/Ctrl + Shift + V | Copy and paste selected nodes (maintaining connections from outputs of unselected nodes to inputs of pasted nodes) | -| Shift + Drag | Move multiple selected nodes at the same time | -| Ctrl + D | Load default graph | -| Alt + `+` | Canvas Zoom in | -| Alt + `-` | Canvas Zoom out | -| Ctrl + Shift + LMB + Vertical drag | Canvas Zoom in/out | -| Q | Toggle visibility of the queue | -| H | Toggle visibility of history | -| R | Refresh graph | +| `Ctrl` + `Enter` | Queue up current graph for generation | +| `Ctrl` + `Shift` + `Enter` | Queue up current graph as first for generation | +| `Ctrl` + `Alt` + `Enter` | Cancel current generation | +| `Ctrl` + `Z`/`Ctrl` + `Y` | Undo/Redo | +| `Ctrl` + `S` | Save workflow | +| `Ctrl` + `O` | Load workflow | +| `Ctrl` + `A` | Select all nodes | +| `Alt `+ `C` | Collapse/uncollapse selected nodes | +| `Ctrl` + `M` | Mute/unmute selected nodes | +| `Ctrl` + `B` | Bypass selected nodes (acts like the node was removed from the graph and the wires reconnected through) | +| `Delete`/`Backspace` | Delete selected nodes | +| `Ctrl` + `Backspace` | Delete the current graph | +| `Space` | Move the canvas around when held and moving the cursor | +| `Ctrl`/`Shift` + `Click` | Add clicked node to selection | +| `Ctrl` + `C`/`Ctrl` + `V` | Copy and paste selected nodes (without maintaining connections to outputs of unselected nodes) | +| `Ctrl` + `C`/`Ctrl` + `Shift` + `V` | Copy and paste selected nodes (maintaining connections from outputs of unselected nodes to inputs of pasted nodes) | +| `Shift` + `Drag` | Move multiple selected nodes at the same time | +| `Ctrl` + `D` | Load default graph | +| `Alt` + `+` | Canvas Zoom in | +| `Alt` + `-` | Canvas Zoom out | +| `Ctrl` + `Shift` + LMB + Vertical drag | Canvas Zoom in/out | +| `P` | Pin/Unpin selected nodes | +| `Ctrl` + `G` | Group selected nodes | +| `Q` | Toggle visibility of the queue | +| `H` | Toggle visibility of history | +| `R` | Refresh graph | +| `F` | Show/Hide menu | +| `.` | Fit view to selection (Whole graph when nothing is selected) | | Double-Click LMB | Open node quick search palette | -| Shift + Drag | Move multiple wires at once | -| Ctrl + Alt + LMB | Disconnect all wires from clicked slot | +| `Shift` + Drag | Move multiple wires at once | +| `Ctrl` + `Alt` + LMB | Disconnect all wires from clicked slot | -Ctrl can also be replaced with Cmd instead for macOS users +`Ctrl` can also be replaced with `Cmd` instead for macOS users # Installing @@ -125,6 +140,8 @@ To run it on services like paperspace, kaggle or colab you can use my [Jupyter N ## Manual Install (Windows, Linux) +Note that some dependencies do not yet support python 3.13 so using 3.12 is recommended. + Git clone this repo. Put your SD checkpoints (the huge ckpt/safetensors files) in: models/checkpoints @@ -135,11 +152,35 @@ Put your VAE in: models/vae ### AMD GPUs (Linux only) AMD users can install rocm and pytorch with pip if you don't have it already installed, this is the command to install the stable version: -```pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.1``` +```pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.2``` -This is the command to install the nightly with ROCm 6.2 which might have some performance improvements: +This is the command to install the nightly with ROCm 6.3 which might have some performance improvements: -```pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.2``` +```pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.3``` + +### Intel GPUs (Windows and Linux) + +(Option 1) Intel Arc GPU users can install native PyTorch with torch.xpu support using pip (currently available in PyTorch nightly builds). More information can be found [here](https://pytorch.org/docs/main/notes/get_start_xpu.html) + +1. To install PyTorch nightly, use the following command: + +```pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/xpu``` + +2. Launch ComfyUI by running `python main.py` + + +(Option 2) Alternatively, Intel GPUs supported by Intel Extension for PyTorch (IPEX) can leverage IPEX for improved performance. + +1. For Intel® Arc™ A-Series Graphics utilizing IPEX, create a conda environment and use the commands below: + +``` +conda install libuv +pip install torch==2.3.1.post0+cxx11.abi torchvision==0.18.1.post0+cxx11.abi torchaudio==2.3.1.post0+cxx11.abi intel-extension-for-pytorch==2.3.110.post0+xpu --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/ --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/cn/ +``` + +For other supported Intel GPUs with IPEX, visit [Installation](https://intel.github.io/intel-extension-for-pytorch/index.html#installation?platform=gpu) for more information. + +Additional discussion and help can be found [here](https://github.com/comfyanonymous/ComfyUI/discussions/476). ### NVIDIA @@ -149,7 +190,7 @@ Nvidia users should install stable pytorch using this command: This is the command to install pytorch nightly instead which might have performance improvements: -```pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu124``` +```pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu126``` #### Troubleshooting @@ -169,17 +210,6 @@ After this you should have everything installed and can proceed to running Comfy ### Others: -#### Intel GPUs - -Intel GPU support is available for all Intel GPUs supported by Intel's Extension for Pytorch (IPEX) with the support requirements listed in the [Installation](https://intel.github.io/intel-extension-for-pytorch/index.html#installation?platform=gpu) page. Choose your platform and method of install and follow the instructions. The steps are as follows: - -1. Start by installing the drivers or kernel listed or newer in the Installation page of IPEX linked above for Windows and Linux if needed. -1. Follow the instructions to install [Intel's oneAPI Basekit](https://www.intel.com/content/www/us/en/developer/tools/oneapi/base-toolkit-download.html) for your platform. -1. Install the packages for IPEX using the instructions provided in the Installation page for your platform. -1. Follow the [ComfyUI manual installation](#manual-install-windows-linux) instructions for Windows and Linux and run ComfyUI normally as described above after everything is installed. - -Additional discussion and help can be found [here](https://github.com/comfyanonymous/ComfyUI/discussions/476). - #### Apple Mac silicon You can install ComfyUI in Apple Mac silicon (M1 or M2) with any recent macOS version. @@ -195,6 +225,16 @@ You can install ComfyUI in Apple Mac silicon (M1 or M2) with any recent macOS ve ```pip install torch-directml``` Then you can launch ComfyUI with: ```python main.py --directml``` +#### Ascend NPUs + +For models compatible with Ascend Extension for PyTorch (torch_npu). To get started, ensure your environment meets the prerequisites outlined on the [installation](https://ascend.github.io/docs/sources/ascend/quick_install.html) page. Here's a step-by-step guide tailored to your platform and installation method: + +1. Begin by installing the recommended or newer kernel version for Linux as specified in the Installation page of torch-npu, if necessary. +2. Proceed with the installation of Ascend Basekit, which includes the driver, firmware, and CANN, following the instructions provided for your specific platform. +3. Next, install the necessary packages for torch-npu by adhering to the platform-specific instructions on the [Installation](https://ascend.github.io/docs/sources/pytorch/install.html#pytorch) page. +4. Finally, adhere to the [ComfyUI manual installation](#manual-install-windows-linux) guide for Linux. Once all components are installed, you can run ComfyUI as described earlier. + + # Running ```python main.py``` @@ -207,6 +247,14 @@ For 6700, 6600 and maybe other RDNA2 or older: ```HSA_OVERRIDE_GFX_VERSION=10.3. For AMD 7600 and maybe other RDNA3 cards: ```HSA_OVERRIDE_GFX_VERSION=11.0.0 python main.py``` +### AMD ROCm Tips + +You can enable experimental memory efficient attention on pytorch 2.5 in ComfyUI on RDNA3 and potentially other AMD GPUs using this command: + +```TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1 python main.py --use-pytorch-cross-attention``` + +You can also try setting this env variable `PYTORCH_TUNABLEOP_ENABLED=1` which might speed things up at the cost of a very slow initial run. + # Notes Only parts of the graph that have an output with all the correct inputs will be executed. @@ -292,4 +340,3 @@ This will use a snapshot of the legacy frontend preserved in the [ComfyUI Legacy ### Which GPU should I buy for this? [See this page for some recommendations](https://github.com/comfyanonymous/ComfyUI/wiki/Which-GPU-should-I-buy-for-ComfyUI) - diff --git a/api_server/routes/internal/internal_routes.py b/api_server/routes/internal/internal_routes.py index 8c46215f0..8f74529ba 100644 --- a/api_server/routes/internal/internal_routes.py +++ b/api_server/routes/internal/internal_routes.py @@ -1,7 +1,8 @@ from aiohttp import web from typing import Optional -from folder_paths import models_dir, user_directory, output_directory +from folder_paths import models_dir, user_directory, output_directory, folder_names_and_paths from api_server.services.file_service import FileService +from api_server.services.terminal_service import TerminalService import app.logger class InternalRoutes: @@ -9,9 +10,9 @@ class InternalRoutes: The top level web router for internal routes: /internal/* The endpoints here should NOT be depended upon. It is for ComfyUI frontend use only. Check README.md for more information. - ''' - def __init__(self): + + def __init__(self, prompt_server): self.routes: web.RouteTableDef = web.RouteTableDef() self._app: Optional[web.Application] = None self.file_service = FileService({ @@ -19,6 +20,8 @@ class InternalRoutes: "user": user_directory, "output": output_directory }) + self.prompt_server = prompt_server + self.terminal_service = TerminalService(prompt_server) def setup_routes(self): @self.routes.get('/files') @@ -34,7 +37,35 @@ class InternalRoutes: @self.routes.get('/logs') async def get_logs(request): - return web.json_response(app.logger.get_logs()) + return web.json_response("".join([(l["t"] + " - " + l["m"]) for l in app.logger.get_logs()])) + + @self.routes.get('/logs/raw') + async def get_raw_logs(request): + self.terminal_service.update_size() + return web.json_response({ + "entries": list(app.logger.get_logs()), + "size": {"cols": self.terminal_service.cols, "rows": self.terminal_service.rows} + }) + + @self.routes.patch('/logs/subscribe') + async def subscribe_logs(request): + json_data = await request.json() + client_id = json_data["clientId"] + enabled = json_data["enabled"] + if enabled: + self.terminal_service.subscribe(client_id) + else: + self.terminal_service.unsubscribe(client_id) + + return web.Response(status=200) + + + @self.routes.get('/folder_paths') + async def get_folder_paths(request): + response = {} + for key in folder_names_and_paths: + response[key] = folder_names_and_paths[key][0] + return web.json_response(response) def get_app(self): if self._app is None: diff --git a/api_server/services/file_service.py b/api_server/services/file_service.py index 394571084..115edccd3 100644 --- a/api_server/services/file_service.py +++ b/api_server/services/file_service.py @@ -10,4 +10,4 @@ class FileService: if directory_key not in self.allowed_directories: raise ValueError("Invalid directory key") directory_path: str = self.allowed_directories[directory_key] - return self.file_system_ops.walk_directory(directory_path) \ No newline at end of file + return self.file_system_ops.walk_directory(directory_path) diff --git a/api_server/services/terminal_service.py b/api_server/services/terminal_service.py new file mode 100644 index 000000000..ab4371f4f --- /dev/null +++ b/api_server/services/terminal_service.py @@ -0,0 +1,60 @@ +from app.logger import on_flush +import os +import shutil + + +class TerminalService: + def __init__(self, server): + self.server = server + self.cols = None + self.rows = None + self.subscriptions = set() + on_flush(self.send_messages) + + def get_terminal_size(self): + try: + size = os.get_terminal_size() + return (size.columns, size.lines) + except OSError: + try: + size = shutil.get_terminal_size() + return (size.columns, size.lines) + except OSError: + return (80, 24) # fallback to 80x24 + + def update_size(self): + columns, lines = self.get_terminal_size() + changed = False + + if columns != self.cols: + self.cols = columns + changed = True + + if lines != self.rows: + self.rows = lines + changed = True + + if changed: + return {"cols": self.cols, "rows": self.rows} + + return None + + def subscribe(self, client_id): + self.subscriptions.add(client_id) + + def unsubscribe(self, client_id): + self.subscriptions.discard(client_id) + + def send_messages(self, entries): + if not len(entries) or not len(self.subscriptions): + return + + new_size = self.update_size() + + for client_id in self.subscriptions.copy(): # prevent: Set changed size during iteration + if client_id not in self.server.sockets: + # Automatically unsub if the socket has disconnected + self.unsubscribe(client_id) + continue + + self.server.send_sync("logs", {"entries": entries, "size": new_size}, client_id) diff --git a/api_server/utils/file_operations.py b/api_server/utils/file_operations.py index ef1bf999e..32d6e047a 100644 --- a/api_server/utils/file_operations.py +++ b/api_server/utils/file_operations.py @@ -39,4 +39,4 @@ class FileSystemOperations: "path": relative_path, "type": "directory" }) - return file_list \ No newline at end of file + return file_list diff --git a/app/app_settings.py b/app/app_settings.py index 8c6edc56c..a545df92e 100644 --- a/app/app_settings.py +++ b/app/app_settings.py @@ -1,6 +1,7 @@ import os import json from aiohttp import web +import logging class AppSettings(): @@ -11,8 +12,12 @@ class AppSettings(): file = self.user_manager.get_request_user_filepath( request, "comfy.settings.json") if os.path.isfile(file): - with open(file) as f: - return json.load(f) + try: + with open(file) as f: + return json.load(f) + except: + logging.error(f"The user settings file is corrupted: {file}") + return {} else: return {} @@ -51,4 +56,4 @@ class AppSettings(): settings = self.get_settings(request) settings[setting_id] = await request.json() self.save_settings(request, settings) - return web.Response(status=200) \ No newline at end of file + return web.Response(status=200) diff --git a/app/custom_node_manager.py b/app/custom_node_manager.py new file mode 100644 index 000000000..42b0d75ba --- /dev/null +++ b/app/custom_node_manager.py @@ -0,0 +1,134 @@ +from __future__ import annotations + +import os +import folder_paths +import glob +from aiohttp import web +import json +import logging +from functools import lru_cache + +from utils.json_util import merge_json_recursive + + +# Extra locale files to load into main.json +EXTRA_LOCALE_FILES = [ + "nodeDefs.json", + "commands.json", + "settings.json", +] + + +def safe_load_json_file(file_path: str) -> dict: + if not os.path.exists(file_path): + return {} + + try: + with open(file_path, "r", encoding="utf-8") as f: + return json.load(f) + except json.JSONDecodeError: + logging.error(f"Error loading {file_path}") + return {} + + +class CustomNodeManager: + @lru_cache(maxsize=1) + def build_translations(self): + """Load all custom nodes translations during initialization. Translations are + expected to be loaded from `locales/` folder. + + The folder structure is expected to be the following: + - custom_nodes/ + - custom_node_1/ + - locales/ + - en/ + - main.json + - commands.json + - settings.json + + returned translations are expected to be in the following format: + { + "en": { + "nodeDefs": {...}, + "commands": {...}, + "settings": {...}, + ...{other main.json keys} + } + } + """ + + translations = {} + + for folder in folder_paths.get_folder_paths("custom_nodes"): + # Sort glob results for deterministic ordering + for custom_node_dir in sorted(glob.glob(os.path.join(folder, "*/"))): + locales_dir = os.path.join(custom_node_dir, "locales") + if not os.path.exists(locales_dir): + continue + + for lang_dir in glob.glob(os.path.join(locales_dir, "*/")): + lang_code = os.path.basename(os.path.dirname(lang_dir)) + + if lang_code not in translations: + translations[lang_code] = {} + + # Load main.json + main_file = os.path.join(lang_dir, "main.json") + node_translations = safe_load_json_file(main_file) + + # Load extra locale files + for extra_file in EXTRA_LOCALE_FILES: + extra_file_path = os.path.join(lang_dir, extra_file) + key = extra_file.split(".")[0] + json_data = safe_load_json_file(extra_file_path) + if json_data: + node_translations[key] = json_data + + if node_translations: + translations[lang_code] = merge_json_recursive( + translations[lang_code], node_translations + ) + + return translations + + def add_routes(self, routes, webapp, loadedModules): + + @routes.get("/workflow_templates") + async def get_workflow_templates(request): + """Returns a web response that contains the map of custom_nodes names and their associated workflow templates. The ones without templates are omitted.""" + files = [ + file + for folder in folder_paths.get_folder_paths("custom_nodes") + for file in glob.glob( + os.path.join(folder, "*/example_workflows/*.json") + ) + ] + workflow_templates_dict = ( + {} + ) # custom_nodes folder name -> example workflow names + for file in files: + custom_nodes_name = os.path.basename( + os.path.dirname(os.path.dirname(file)) + ) + workflow_name = os.path.splitext(os.path.basename(file))[0] + workflow_templates_dict.setdefault(custom_nodes_name, []).append( + workflow_name + ) + return web.json_response(workflow_templates_dict) + + # Serve workflow templates from custom nodes. + for module_name, module_dir in loadedModules: + workflows_dir = os.path.join(module_dir, "example_workflows") + if os.path.exists(workflows_dir): + webapp.add_routes( + [ + web.static( + "/api/workflow_templates/" + module_name, workflows_dir + ) + ] + ) + + @routes.get("/i18n") + async def get_i18n(request): + """Returns translations from all custom nodes' locales folders.""" + return web.json_response(self.build_translations()) diff --git a/app/frontend_management.py b/app/frontend_management.py index 9c832e46d..6f20e439c 100644 --- a/app/frontend_management.py +++ b/app/frontend_management.py @@ -151,6 +151,15 @@ class FrontendManager: return cls.DEFAULT_FRONTEND_PATH repo_owner, repo_name, version = cls.parse_version_string(version_string) + + if version.startswith("v"): + expected_path = str(Path(cls.CUSTOM_FRONTENDS_ROOT) / f"{repo_owner}_{repo_name}" / version.lstrip("v")) + if os.path.exists(expected_path): + logging.info(f"Using existing copy of specific frontend version tag: {repo_owner}/{repo_name}@{version}") + return expected_path + + logging.info(f"Initializing frontend: {repo_owner}/{repo_name}@{version}, requesting version details from GitHub...") + provider = provider or FrontEndProvider(repo_owner, repo_name) release = provider.get_release(version) diff --git a/app/logger.py b/app/logger.py index 17662c9e7..9e9f84ccf 100644 --- a/app/logger.py +++ b/app/logger.py @@ -1,31 +1,84 @@ -import logging -from logging.handlers import MemoryHandler from collections import deque +from datetime import datetime +import io +import logging +import sys +import threading logs = None -formatter = logging.Formatter("%(asctime)s - %(name)s - %(levelname)s - %(message)s") +stdout_interceptor = None +stderr_interceptor = None + + +class LogInterceptor(io.TextIOWrapper): + def __init__(self, stream, *args, **kwargs): + buffer = stream.buffer + encoding = stream.encoding + super().__init__(buffer, *args, **kwargs, encoding=encoding, line_buffering=stream.line_buffering) + self._lock = threading.Lock() + self._flush_callbacks = [] + self._logs_since_flush = [] + + def write(self, data): + entry = {"t": datetime.now().isoformat(), "m": data} + with self._lock: + self._logs_since_flush.append(entry) + + # Simple handling for cr to overwrite the last output if it isnt a full line + # else logs just get full of progress messages + if isinstance(data, str) and data.startswith("\r") and not logs[-1]["m"].endswith("\n"): + logs.pop() + logs.append(entry) + super().write(data) + + def flush(self): + super().flush() + for cb in self._flush_callbacks: + cb(self._logs_since_flush) + self._logs_since_flush = [] + + def on_flush(self, callback): + self._flush_callbacks.append(callback) def get_logs(): - return "\n".join([formatter.format(x) for x in logs]) + return logs -def setup_logger(verbose: bool = False, capacity: int = 300): +def on_flush(callback): + if stdout_interceptor is not None: + stdout_interceptor.on_flush(callback) + if stderr_interceptor is not None: + stderr_interceptor.on_flush(callback) + +def setup_logger(log_level: str = 'INFO', capacity: int = 300, use_stdout: bool = False): global logs if logs: return + # Override output streams and log to buffer + logs = deque(maxlen=capacity) + + global stdout_interceptor + global stderr_interceptor + stdout_interceptor = sys.stdout = LogInterceptor(sys.stdout) + stderr_interceptor = sys.stderr = LogInterceptor(sys.stderr) + # Setup default global logger logger = logging.getLogger() - logger.setLevel(logging.DEBUG if verbose else logging.INFO) + logger.setLevel(log_level) stream_handler = logging.StreamHandler() stream_handler.setFormatter(logging.Formatter("%(message)s")) - logger.addHandler(stream_handler) - # Create a memory handler with a deque as its buffer - logs = deque(maxlen=capacity) - memory_handler = MemoryHandler(capacity, flushLevel=logging.INFO) - memory_handler.buffer = logs - memory_handler.setFormatter(formatter) - logger.addHandler(memory_handler) + if use_stdout: + # Only errors and critical to stderr + stream_handler.addFilter(lambda record: not record.levelno < logging.ERROR) + + # Lesser to stdout + stdout_handler = logging.StreamHandler(sys.stdout) + stdout_handler.setFormatter(logging.Formatter("%(message)s")) + stdout_handler.addFilter(lambda record: record.levelno < logging.ERROR) + logger.addHandler(stdout_handler) + + logger.addHandler(stream_handler) diff --git a/app/model_manager.py b/app/model_manager.py new file mode 100644 index 000000000..74d942fb8 --- /dev/null +++ b/app/model_manager.py @@ -0,0 +1,184 @@ +from __future__ import annotations + +import os +import base64 +import json +import time +import logging +import folder_paths +import glob +import comfy.utils +from aiohttp import web +from PIL import Image +from io import BytesIO +from folder_paths import map_legacy, filter_files_extensions, filter_files_content_types + + +class ModelFileManager: + def __init__(self) -> None: + self.cache: dict[str, tuple[list[dict], dict[str, float], float]] = {} + + def get_cache(self, key: str, default=None) -> tuple[list[dict], dict[str, float], float] | None: + return self.cache.get(key, default) + + def set_cache(self, key: str, value: tuple[list[dict], dict[str, float], float]): + self.cache[key] = value + + def clear_cache(self): + self.cache.clear() + + def add_routes(self, routes): + # NOTE: This is an experiment to replace `/models` + @routes.get("/experiment/models") + async def get_model_folders(request): + model_types = list(folder_paths.folder_names_and_paths.keys()) + folder_black_list = ["configs", "custom_nodes"] + output_folders: list[dict] = [] + for folder in model_types: + if folder in folder_black_list: + continue + output_folders.append({"name": folder, "folders": folder_paths.get_folder_paths(folder)}) + return web.json_response(output_folders) + + # NOTE: This is an experiment to replace `/models/{folder}` + @routes.get("/experiment/models/{folder}") + async def get_all_models(request): + folder = request.match_info.get("folder", None) + if not folder in folder_paths.folder_names_and_paths: + return web.Response(status=404) + files = self.get_model_file_list(folder) + return web.json_response(files) + + @routes.get("/experiment/models/preview/{folder}/{path_index}/{filename:.*}") + async def get_model_preview(request): + folder_name = request.match_info.get("folder", None) + path_index = int(request.match_info.get("path_index", None)) + filename = request.match_info.get("filename", None) + + if not folder_name in folder_paths.folder_names_and_paths: + return web.Response(status=404) + + folders = folder_paths.folder_names_and_paths[folder_name] + folder = folders[0][path_index] + full_filename = os.path.join(folder, filename) + + previews = self.get_model_previews(full_filename) + default_preview = previews[0] if len(previews) > 0 else None + if default_preview is None or (isinstance(default_preview, str) and not os.path.isfile(default_preview)): + return web.Response(status=404) + + try: + with Image.open(default_preview) as img: + img_bytes = BytesIO() + img.save(img_bytes, format="WEBP") + img_bytes.seek(0) + return web.Response(body=img_bytes.getvalue(), content_type="image/webp") + except: + return web.Response(status=404) + + def get_model_file_list(self, folder_name: str): + folder_name = map_legacy(folder_name) + folders = folder_paths.folder_names_and_paths[folder_name] + output_list: list[dict] = [] + + for index, folder in enumerate(folders[0]): + if not os.path.isdir(folder): + continue + out = self.cache_model_file_list_(folder) + if out is None: + out = self.recursive_search_models_(folder, index) + self.set_cache(folder, out) + output_list.extend(out[0]) + + return output_list + + def cache_model_file_list_(self, folder: str): + model_file_list_cache = self.get_cache(folder) + + if model_file_list_cache is None: + return None + if not os.path.isdir(folder): + return None + if os.path.getmtime(folder) != model_file_list_cache[1]: + return None + for x in model_file_list_cache[1]: + time_modified = model_file_list_cache[1][x] + folder = x + if os.path.getmtime(folder) != time_modified: + return None + + return model_file_list_cache + + def recursive_search_models_(self, directory: str, pathIndex: int) -> tuple[list[str], dict[str, float], float]: + if not os.path.isdir(directory): + return [], {}, time.perf_counter() + + excluded_dir_names = [".git"] + # TODO use settings + include_hidden_files = False + + result: list[str] = [] + dirs: dict[str, float] = {} + + for dirpath, subdirs, filenames in os.walk(directory, followlinks=True, topdown=True): + subdirs[:] = [d for d in subdirs if d not in excluded_dir_names] + if not include_hidden_files: + subdirs[:] = [d for d in subdirs if not d.startswith(".")] + filenames = [f for f in filenames if not f.startswith(".")] + + filenames = filter_files_extensions(filenames, folder_paths.supported_pt_extensions) + + for file_name in filenames: + try: + relative_path = os.path.relpath(os.path.join(dirpath, file_name), directory) + result.append(relative_path) + except: + logging.warning(f"Warning: Unable to access {file_name}. Skipping this file.") + continue + + for d in subdirs: + path: str = os.path.join(dirpath, d) + try: + dirs[path] = os.path.getmtime(path) + except FileNotFoundError: + logging.warning(f"Warning: Unable to access {path}. Skipping this path.") + continue + + return [{"name": f, "pathIndex": pathIndex} for f in result], dirs, time.perf_counter() + + def get_model_previews(self, filepath: str) -> list[str | BytesIO]: + dirname = os.path.dirname(filepath) + + if not os.path.exists(dirname): + return [] + + basename = os.path.splitext(filepath)[0] + match_files = glob.glob(f"{basename}.*", recursive=False) + image_files = filter_files_content_types(match_files, "image") + safetensors_file = next(filter(lambda x: x.endswith(".safetensors"), match_files), None) + safetensors_metadata = {} + + result: list[str | BytesIO] = [] + + for filename in image_files: + _basename = os.path.splitext(filename)[0] + if _basename == basename: + result.append(filename) + if _basename == f"{basename}.preview": + result.append(filename) + + if safetensors_file: + safetensors_filepath = os.path.join(dirname, safetensors_file) + header = comfy.utils.safetensors_header(safetensors_filepath, max_size=8*1024*1024) + if header: + safetensors_metadata = json.loads(header) + safetensors_images = safetensors_metadata.get("__metadata__", {}).get("ssmd_cover_images", None) + if safetensors_images: + safetensors_images = json.loads(safetensors_images) + for image in safetensors_images: + result.append(BytesIO(base64.b64decode(image))) + + return result + + def __exit__(self, exc_type, exc_value, traceback): + self.clear_cache() diff --git a/app/user_manager.py b/app/user_manager.py index 53dff18b7..e7381e621 100644 --- a/app/user_manager.py +++ b/app/user_manager.py @@ -1,38 +1,58 @@ +from __future__ import annotations import json import os import re import uuid import glob import shutil +import logging from aiohttp import web +from urllib import parse from comfy.cli_args import args -from folder_paths import user_directory +import folder_paths from .app_settings import AppSettings +from typing import TypedDict default_user = "default" -users_file = os.path.join(user_directory, "users.json") + + +class FileInfo(TypedDict): + path: str + size: int + modified: int + + +def get_file_info(path: str, relative_to: str) -> FileInfo: + return { + "path": os.path.relpath(path, relative_to).replace(os.sep, '/'), + "size": os.path.getsize(path), + "modified": os.path.getmtime(path) + } class UserManager(): def __init__(self): - global user_directory + user_directory = folder_paths.get_user_directory() self.settings = AppSettings(self) if not os.path.exists(user_directory): - os.mkdir(user_directory) + os.makedirs(user_directory, exist_ok=True) if not args.multi_user: - print("****** User settings have been changed to be stored on the server instead of browser storage. ******") - print("****** For multi-user setups add the --multi-user CLI argument to enable multiple user profiles. ******") + logging.warning("****** User settings have been changed to be stored on the server instead of browser storage. ******") + logging.warning("****** For multi-user setups add the --multi-user CLI argument to enable multiple user profiles. ******") if args.multi_user: - if os.path.isfile(users_file): - with open(users_file) as f: + if os.path.isfile(self.get_users_file()): + with open(self.get_users_file()) as f: self.users = json.load(f) else: self.users = {} else: self.users = {"default": "default"} + def get_users_file(self): + return os.path.join(folder_paths.get_user_directory(), "users.json") + def get_request_user_id(self, request): user = "default" if args.multi_user and "comfy-user" in request.headers: @@ -44,7 +64,7 @@ class UserManager(): return user def get_request_user_filepath(self, request, file, type="userdata", create_dir=True): - global user_directory + user_directory = folder_paths.get_user_directory() if type == "userdata": root_dir = user_directory @@ -59,6 +79,10 @@ class UserManager(): return None if file is not None: + # Check if filename is url encoded + if "%" in file: + file = parse.unquote(file) + # prevent leaving /{type}/{user} path = os.path.abspath(os.path.join(user_root, file)) if os.path.commonpath((user_root, path)) != user_root: @@ -80,8 +104,7 @@ class UserManager(): self.users[user_id] = name - global users_file - with open(users_file, "w") as f: + with open(self.get_users_file(), "w") as f: json.dump(self.users, f) return user_id @@ -112,25 +135,65 @@ class UserManager(): @routes.get("/userdata") async def listuserdata(request): + """ + List user data files in a specified directory. + + This endpoint allows listing files in a user's data directory, with options for recursion, + full file information, and path splitting. + + Query Parameters: + - dir (required): The directory to list files from. + - recurse (optional): If "true", recursively list files in subdirectories. + - full_info (optional): If "true", return detailed file information (path, size, modified time). + - split (optional): If "true", split file paths into components (only applies when full_info is false). + + Returns: + - 400: If 'dir' parameter is missing. + - 403: If the requested path is not allowed. + - 404: If the requested directory does not exist. + - 200: JSON response with the list of files or file information. + + The response format depends on the query parameters: + - Default: List of relative file paths. + - full_info=true: List of dictionaries with file details. + - split=true (and full_info=false): List of lists, each containing path components. + """ directory = request.rel_url.query.get('dir', '') if not directory: - return web.Response(status=400) - + return web.Response(status=400, text="Directory not provided") + path = self.get_request_user_filepath(request, directory) if not path: - return web.Response(status=403) - + return web.Response(status=403, text="Invalid directory") + if not os.path.exists(path): - return web.Response(status=404) - + return web.Response(status=404, text="Directory not found") + recurse = request.rel_url.query.get('recurse', '').lower() == "true" - results = glob.glob(os.path.join( - glob.escape(path), '**/*'), recursive=recurse) - results = [os.path.relpath(x, path) for x in results if os.path.isfile(x)] - + full_info = request.rel_url.query.get('full_info', '').lower() == "true" split_path = request.rel_url.query.get('split', '').lower() == "true" - if split_path: - results = [[x] + x.split(os.sep) for x in results] + + # Use different patterns based on whether we're recursing or not + if recurse: + pattern = os.path.join(glob.escape(path), '**', '*') + else: + pattern = os.path.join(glob.escape(path), '*') + + def process_full_path(full_path: str) -> FileInfo | str | list[str]: + if full_info: + return get_file_info(full_path, path) + + rel_path = os.path.relpath(full_path, path).replace(os.sep, '/') + if split_path: + return [rel_path] + rel_path.split('/') + + return rel_path + + results = [ + process_full_path(full_path) + for full_path in glob.glob(pattern, recursive=recurse) + if os.path.isfile(full_path) + ] return web.json_response(results) @@ -138,14 +201,14 @@ class UserManager(): file = request.match_info.get(param, None) if not file: return web.Response(status=400) - + path = self.get_request_user_filepath(request, file) if not path: return web.Response(status=403) - + if check_exists and not os.path.exists(path): return web.Response(status=404) - + return path @routes.get("/userdata/{file}") @@ -153,25 +216,56 @@ class UserManager(): path = get_user_data_path(request, check_exists=True) if not isinstance(path, str): return path - + return web.FileResponse(path) @routes.post("/userdata/{file}") async def post_userdata(request): + """ + Upload or update a user data file. + + This endpoint handles file uploads to a user's data directory, with options for + controlling overwrite behavior and response format. + + Query Parameters: + - overwrite (optional): If "false", prevents overwriting existing files. Defaults to "true". + - full_info (optional): If "true", returns detailed file information (path, size, modified time). + If "false", returns only the relative file path. + + Path Parameters: + - file: The target file path (URL encoded if necessary). + + Returns: + - 400: If 'file' parameter is missing. + - 403: If the requested path is not allowed. + - 409: If overwrite=false and the file already exists. + - 200: JSON response with either: + - Full file information (if full_info=true) + - Relative file path (if full_info=false) + + The request body should contain the raw file content to be written. + """ path = get_user_data_path(request) if not isinstance(path, str): return path - - overwrite = request.query["overwrite"] != "false" + + overwrite = request.query.get("overwrite", 'true') != "false" + full_info = request.query.get('full_info', 'false').lower() == "true" + if not overwrite and os.path.exists(path): - return web.Response(status=409) + return web.Response(status=409, text="File already exists") body = await request.read() with open(path, "wb") as f: f.write(body) - - resp = os.path.relpath(path, self.get_request_user_filepath(request, None)) + + user_path = self.get_request_user_filepath(request, None) + if full_info: + resp = get_file_info(path, user_path) + else: + resp = os.path.relpath(path, user_path) + return web.json_response(resp) @routes.delete("/userdata/{file}") @@ -181,25 +275,56 @@ class UserManager(): return path os.remove(path) - + return web.Response(status=204) @routes.post("/userdata/{file}/move/{dest}") async def move_userdata(request): + """ + Move or rename a user data file. + + This endpoint handles moving or renaming files within a user's data directory, with options for + controlling overwrite behavior and response format. + + Path Parameters: + - file: The source file path (URL encoded if necessary) + - dest: The destination file path (URL encoded if necessary) + + Query Parameters: + - overwrite (optional): If "false", prevents overwriting existing files. Defaults to "true". + - full_info (optional): If "true", returns detailed file information (path, size, modified time). + If "false", returns only the relative file path. + + Returns: + - 400: If either 'file' or 'dest' parameter is missing + - 403: If either requested path is not allowed + - 404: If the source file does not exist + - 409: If overwrite=false and the destination file already exists + - 200: JSON response with either: + - Full file information (if full_info=true) + - Relative file path (if full_info=false) + """ source = get_user_data_path(request, check_exists=True) if not isinstance(source, str): return source - + dest = get_user_data_path(request, check_exists=False, param="dest") if not isinstance(source, str): return dest - - overwrite = request.query["overwrite"] != "false" - if not overwrite and os.path.exists(dest): - return web.Response(status=409) - print(f"moving '{source}' -> '{dest}'") + overwrite = request.query.get("overwrite", 'true') != "false" + full_info = request.query.get('full_info', 'false').lower() == "true" + + if not overwrite and os.path.exists(dest): + return web.Response(status=409, text="File already exists") + + logging.info(f"moving '{source}' -> '{dest}'") shutil.move(source, dest) - - resp = os.path.relpath(dest, self.get_request_user_filepath(request, None)) + + user_path = self.get_request_user_filepath(request, None) + if full_info: + resp = get_file_info(dest, user_path) + else: + resp = os.path.relpath(dest, user_path) + return web.json_response(resp) diff --git a/comfy/cldm/cldm.py b/comfy/cldm/cldm.py index 9ec64a227..ec01665e2 100644 --- a/comfy/cldm/cldm.py +++ b/comfy/cldm/cldm.py @@ -2,11 +2,9 @@ #and modified import torch -import torch as th import torch.nn as nn from ..ldm.modules.diffusionmodules.util import ( - zero_module, timestep_embedding, ) @@ -162,7 +160,6 @@ class ControlNet(nn.Module): if isinstance(self.num_classes, int): self.label_emb = nn.Embedding(num_classes, time_embed_dim) elif self.num_classes == "continuous": - print("setting up linear c_adm embedding layer") self.label_emb = nn.Linear(1, time_embed_dim) elif self.num_classes == "sequential": assert adm_in_channels is not None @@ -415,7 +412,6 @@ class ControlNet(nn.Module): out_output = [] out_middle = [] - hs = [] if self.num_classes is not None: assert y.shape[0] == x.shape[0] emb = emb + self.label_emb(y) diff --git a/comfy/cldm/dit_embedder.py b/comfy/cldm/dit_embedder.py new file mode 100644 index 000000000..f9bf31012 --- /dev/null +++ b/comfy/cldm/dit_embedder.py @@ -0,0 +1,120 @@ +import math +from typing import List, Optional, Tuple + +import torch +import torch.nn as nn +from torch import Tensor + +from comfy.ldm.modules.diffusionmodules.mmdit import DismantledBlock, PatchEmbed, VectorEmbedder, TimestepEmbedder, get_2d_sincos_pos_embed_torch + + +class ControlNetEmbedder(nn.Module): + + def __init__( + self, + img_size: int, + patch_size: int, + in_chans: int, + attention_head_dim: int, + num_attention_heads: int, + adm_in_channels: int, + num_layers: int, + main_model_double: int, + double_y_emb: bool, + device: torch.device, + dtype: torch.dtype, + pos_embed_max_size: Optional[int] = None, + operations = None, + ): + super().__init__() + self.main_model_double = main_model_double + self.dtype = dtype + self.hidden_size = num_attention_heads * attention_head_dim + self.patch_size = patch_size + self.x_embedder = PatchEmbed( + img_size=img_size, + patch_size=patch_size, + in_chans=in_chans, + embed_dim=self.hidden_size, + strict_img_size=pos_embed_max_size is None, + device=device, + dtype=dtype, + operations=operations, + ) + + self.t_embedder = TimestepEmbedder(self.hidden_size, dtype=dtype, device=device, operations=operations) + + self.double_y_emb = double_y_emb + if self.double_y_emb: + self.orig_y_embedder = VectorEmbedder( + adm_in_channels, self.hidden_size, dtype, device, operations=operations + ) + self.y_embedder = VectorEmbedder( + self.hidden_size, self.hidden_size, dtype, device, operations=operations + ) + else: + self.y_embedder = VectorEmbedder( + adm_in_channels, self.hidden_size, dtype, device, operations=operations + ) + + self.transformer_blocks = nn.ModuleList( + DismantledBlock( + hidden_size=self.hidden_size, num_heads=num_attention_heads, qkv_bias=True, + dtype=dtype, device=device, operations=operations + ) + for _ in range(num_layers) + ) + + # self.use_y_embedder = pooled_projection_dim != self.time_text_embed.text_embedder.linear_1.in_features + # TODO double check this logic when 8b + self.use_y_embedder = True + + self.controlnet_blocks = nn.ModuleList([]) + for _ in range(len(self.transformer_blocks)): + controlnet_block = operations.Linear(self.hidden_size, self.hidden_size, dtype=dtype, device=device) + self.controlnet_blocks.append(controlnet_block) + + self.pos_embed_input = PatchEmbed( + img_size=img_size, + patch_size=patch_size, + in_chans=in_chans, + embed_dim=self.hidden_size, + strict_img_size=False, + device=device, + dtype=dtype, + operations=operations, + ) + + def forward( + self, + x: torch.Tensor, + timesteps: torch.Tensor, + y: Optional[torch.Tensor] = None, + context: Optional[torch.Tensor] = None, + hint = None, + ) -> Tuple[Tensor, List[Tensor]]: + x_shape = list(x.shape) + x = self.x_embedder(x) + if not self.double_y_emb: + h = (x_shape[-2] + 1) // self.patch_size + w = (x_shape[-1] + 1) // self.patch_size + x += get_2d_sincos_pos_embed_torch(self.hidden_size, w, h, device=x.device) + c = self.t_embedder(timesteps, dtype=x.dtype) + if y is not None and self.y_embedder is not None: + if self.double_y_emb: + y = self.orig_y_embedder(y) + y = self.y_embedder(y) + c = c + y + + x = x + self.pos_embed_input(hint) + + block_out = () + + repeat = math.ceil(self.main_model_double / len(self.transformer_blocks)) + for i in range(len(self.transformer_blocks)): + out = self.transformer_blocks[i](x, c) + if not self.double_y_emb: + x = out + block_out += (self.controlnet_blocks[i](out),) * repeat + + return {"output": block_out} diff --git a/comfy/cldm/mmdit.py b/comfy/cldm/mmdit.py index 025c2fb5d..b7764085e 100644 --- a/comfy/cldm/mmdit.py +++ b/comfy/cldm/mmdit.py @@ -1,11 +1,12 @@ import torch -from typing import Dict, Optional +from typing import Optional import comfy.ldm.modules.diffusionmodules.mmdit class ControlNet(comfy.ldm.modules.diffusionmodules.mmdit.MMDiT): def __init__( self, num_blocks = None, + control_latent_channels = None, dtype = None, device = None, operations = None, @@ -17,10 +18,13 @@ class ControlNet(comfy.ldm.modules.diffusionmodules.mmdit.MMDiT): for _ in range(len(self.joint_blocks)): self.controlnet_blocks.append(operations.Linear(self.hidden_size, self.hidden_size, device=device, dtype=dtype)) + if control_latent_channels is None: + control_latent_channels = self.in_channels + self.pos_embed_input = comfy.ldm.modules.diffusionmodules.mmdit.PatchEmbed( None, self.patch_size, - self.in_channels, + control_latent_channels, self.hidden_size, bias=True, strict_img_size=False, diff --git a/comfy/cli_args.py b/comfy/cli_args.py index 3a0a26d07..f31d59411 100644 --- a/comfy/cli_args.py +++ b/comfy/cli_args.py @@ -36,17 +36,18 @@ class EnumAction(argparse.Action): parser = argparse.ArgumentParser() -parser.add_argument("--listen", type=str, default="127.0.0.1", metavar="IP", nargs="?", const="0.0.0.0", help="Specify the IP address to listen on (default: 127.0.0.1). If --listen is provided without an argument, it defaults to 0.0.0.0. (listens on all)") +parser.add_argument("--listen", type=str, default="127.0.0.1", metavar="IP", nargs="?", const="0.0.0.0,::", help="Specify the IP address to listen on (default: 127.0.0.1). You can give a list of ip addresses by separating them with a comma like: 127.2.2.2,127.3.3.3 If --listen is provided without an argument, it defaults to 0.0.0.0,:: (listens on all ipv4 and ipv6)") parser.add_argument("--port", type=int, default=8188, help="Set the listen port.") parser.add_argument("--tls-keyfile", type=str, help="Path to TLS (SSL) key file. Enables TLS, makes app accessible at https://... requires --tls-certfile to function") parser.add_argument("--tls-certfile", type=str, help="Path to TLS (SSL) certificate file. Enables TLS, makes app accessible at https://... requires --tls-keyfile to function") parser.add_argument("--enable-cors-header", type=str, default=None, metavar="ORIGIN", nargs="?", const="*", help="Enable CORS (Cross-Origin Resource Sharing) with optional origin or allow all with default '*'.") parser.add_argument("--max-upload-size", type=float, default=100, help="Set the maximum upload size in MB.") +parser.add_argument("--base-directory", type=str, default=None, help="Set the ComfyUI base directory for models, custom_nodes, input, output, temp, and user directories.") parser.add_argument("--extra-model-paths-config", type=str, default=None, metavar="PATH", nargs='+', action='append', help="Load one or more extra_model_paths.yaml files.") -parser.add_argument("--output-directory", type=str, default=None, help="Set the ComfyUI output directory.") -parser.add_argument("--temp-directory", type=str, default=None, help="Set the ComfyUI temp directory (default is in the ComfyUI directory).") -parser.add_argument("--input-directory", type=str, default=None, help="Set the ComfyUI input directory.") +parser.add_argument("--output-directory", type=str, default=None, help="Set the ComfyUI output directory. Overrides --base-directory.") +parser.add_argument("--temp-directory", type=str, default=None, help="Set the ComfyUI temp directory (default is in the ComfyUI directory). Overrides --base-directory.") +parser.add_argument("--input-directory", type=str, default=None, help="Set the ComfyUI input directory. Overrides --base-directory.") parser.add_argument("--auto-launch", action="store_true", help="Automatically launch ComfyUI in the default browser.") parser.add_argument("--disable-auto-launch", action="store_true", help="Disable auto launching the browser.") parser.add_argument("--cuda-device", type=int, default=None, metavar="DEVICE_ID", help="Set the id of the cuda device this instance will use.") @@ -60,8 +61,10 @@ fp_group.add_argument("--force-fp32", action="store_true", help="Force fp32 (If fp_group.add_argument("--force-fp16", action="store_true", help="Force fp16.") fpunet_group = parser.add_mutually_exclusive_group() -fpunet_group.add_argument("--bf16-unet", action="store_true", help="Run the UNET in bf16. This should only be used for testing stuff.") -fpunet_group.add_argument("--fp16-unet", action="store_true", help="Store unet weights in fp16.") +fpunet_group.add_argument("--fp32-unet", action="store_true", help="Run the diffusion model in fp32.") +fpunet_group.add_argument("--fp64-unet", action="store_true", help="Run the diffusion model in fp64.") +fpunet_group.add_argument("--bf16-unet", action="store_true", help="Run the diffusion model in bf16.") +fpunet_group.add_argument("--fp16-unet", action="store_true", help="Run the diffusion model in fp16") fpunet_group.add_argument("--fp8_e4m3fn-unet", action="store_true", help="Store unet weights in fp8_e4m3fn.") fpunet_group.add_argument("--fp8_e5m2-unet", action="store_true", help="Store unet weights in fp8_e5m2.") @@ -82,7 +85,8 @@ parser.add_argument("--force-channels-last", action="store_true", help="Force ch parser.add_argument("--directml", type=int, nargs="?", metavar="DIRECTML_DEVICE", const=-1, help="Use torch-directml.") -parser.add_argument("--disable-ipex-optimize", action="store_true", help="Disables ipex.optimize when loading models with Intel GPUs.") +parser.add_argument("--oneapi-device-selector", type=str, default=None, metavar="SELECTOR_STRING", help="Sets the oneAPI device(s) this instance will use.") +parser.add_argument("--disable-ipex-optimize", action="store_true", help="Disables ipex.optimize default when loading models with Intel's Extension for Pytorch.") class LatentPreviewMethod(enum.Enum): NoPreviews = "none" @@ -92,6 +96,8 @@ class LatentPreviewMethod(enum.Enum): parser.add_argument("--preview-method", type=LatentPreviewMethod, default=LatentPreviewMethod.NoPreviews, help="Default preview method for sampler nodes.", action=EnumAction) +parser.add_argument("--preview-size", type=int, default=512, help="Sets the maximum preview size for sampler nodes.") + cache_group = parser.add_mutually_exclusive_group() cache_group.add_argument("--cache-classic", action="store_true", help="Use the old style (aggressive) caching.") cache_group.add_argument("--cache-lru", type=int, default=0, help="Use LRU caching with a maximum of N node results cached. May use more RAM/VRAM.") @@ -100,6 +106,7 @@ attn_group = parser.add_mutually_exclusive_group() attn_group.add_argument("--use-split-cross-attention", action="store_true", help="Use the split cross attention optimization. Ignored when xformers is used.") attn_group.add_argument("--use-quad-cross-attention", action="store_true", help="Use the sub-quadratic cross attention optimization . Ignored when xformers is used.") attn_group.add_argument("--use-pytorch-cross-attention", action="store_true", help="Use the new pytorch 2.0 cross attention function.") +attn_group.add_argument("--use-sage-attention", action="store_true", help="Use sage attention.") parser.add_argument("--disable-xformers", action="store_true", help="Disable xformers.") @@ -116,7 +123,7 @@ vram_group.add_argument("--lowvram", action="store_true", help="Split the unet i vram_group.add_argument("--novram", action="store_true", help="When lowvram isn't enough.") vram_group.add_argument("--cpu", action="store_true", help="To use the CPU for everything (slow).") -parser.add_argument("--reserve-vram", type=float, default=None, help="Set the amount of vram in GB you want to reserve for use by your OS/other software. By default some amount is reverved depending on your OS.") +parser.add_argument("--reserve-vram", type=float, default=None, help="Set the amount of vram in GB you want to reserve for use by your OS/other software. By default some amount is reserved depending on your OS.") parser.add_argument("--default-hashing-function", type=str, choices=['md5', 'sha1', 'sha256', 'sha512'], default='sha256', help="Allows you to choose the hash function to use for duplicate filename / contents comparison. Default is sha256.") @@ -134,7 +141,8 @@ parser.add_argument("--disable-all-custom-nodes", action="store_true", help="Dis parser.add_argument("--multi-user", action="store_true", help="Enables per-user storage.") -parser.add_argument("--verbose", action="store_true", help="Enables more debug prints.") +parser.add_argument("--verbose", default='INFO', const='DEBUG', nargs="?", choices=['DEBUG', 'INFO', 'WARNING', 'ERROR', 'CRITICAL'], help='Set the logging level') +parser.add_argument("--log-stdout", action="store_true", help="Send normal process output to stdout instead of stderr (default).") # The default built-in provider hosted under web/ DEFAULT_VERSION_STRING = "comfyanonymous/ComfyUI@latest" @@ -169,6 +177,8 @@ parser.add_argument( help="The local filesystem path to the directory where the frontend is located. Overrides --front-end-version.", ) +parser.add_argument("--user-directory", type=is_valid_directory, default=None, help="Set the ComfyUI user directory with an absolute path. Overrides --base-directory.") + if comfy.options.args_parsing: args = parser.parse_args() else: diff --git a/comfy/clip_model.py b/comfy/clip_model.py index 42cdc4f6e..23ddea9c0 100644 --- a/comfy/clip_model.py +++ b/comfy/clip_model.py @@ -23,6 +23,7 @@ class CLIPAttention(torch.nn.Module): ACTIVATIONS = {"quick_gelu": lambda a: a * torch.sigmoid(1.702 * a), "gelu": torch.nn.functional.gelu, + "gelu_pytorch_tanh": lambda a: torch.nn.functional.gelu(a, approximate="tanh"), } class CLIPMLP(torch.nn.Module): @@ -139,27 +140,35 @@ class CLIPTextModel(torch.nn.Module): class CLIPVisionEmbeddings(torch.nn.Module): - def __init__(self, embed_dim, num_channels=3, patch_size=14, image_size=224, dtype=None, device=None, operations=None): + def __init__(self, embed_dim, num_channels=3, patch_size=14, image_size=224, model_type="", dtype=None, device=None, operations=None): super().__init__() - self.class_embedding = torch.nn.Parameter(torch.empty(embed_dim, dtype=dtype, device=device)) + + num_patches = (image_size // patch_size) ** 2 + if model_type == "siglip_vision_model": + self.class_embedding = None + patch_bias = True + else: + num_patches = num_patches + 1 + self.class_embedding = torch.nn.Parameter(torch.empty(embed_dim, dtype=dtype, device=device)) + patch_bias = False self.patch_embedding = operations.Conv2d( in_channels=num_channels, out_channels=embed_dim, kernel_size=patch_size, stride=patch_size, - bias=False, + bias=patch_bias, dtype=dtype, device=device ) - num_patches = (image_size // patch_size) ** 2 - num_positions = num_patches + 1 - self.position_embedding = operations.Embedding(num_positions, embed_dim, dtype=dtype, device=device) + self.position_embedding = operations.Embedding(num_patches, embed_dim, dtype=dtype, device=device) def forward(self, pixel_values): embeds = self.patch_embedding(pixel_values).flatten(2).transpose(1, 2) - return torch.cat([comfy.ops.cast_to_input(self.class_embedding, embeds).expand(pixel_values.shape[0], 1, -1), embeds], dim=1) + comfy.ops.cast_to_input(self.position_embedding.weight, embeds) + if self.class_embedding is not None: + embeds = torch.cat([comfy.ops.cast_to_input(self.class_embedding, embeds).expand(pixel_values.shape[0], 1, -1), embeds], dim=1) + return embeds + comfy.ops.cast_to_input(self.position_embedding.weight, embeds) class CLIPVision(torch.nn.Module): @@ -170,9 +179,15 @@ class CLIPVision(torch.nn.Module): heads = config_dict["num_attention_heads"] intermediate_size = config_dict["intermediate_size"] intermediate_activation = config_dict["hidden_act"] + model_type = config_dict["model_type"] - self.embeddings = CLIPVisionEmbeddings(embed_dim, config_dict["num_channels"], config_dict["patch_size"], config_dict["image_size"], dtype=dtype, device=device, operations=operations) - self.pre_layrnorm = operations.LayerNorm(embed_dim) + self.embeddings = CLIPVisionEmbeddings(embed_dim, config_dict["num_channels"], config_dict["patch_size"], config_dict["image_size"], model_type=model_type, dtype=dtype, device=device, operations=operations) + if model_type == "siglip_vision_model": + self.pre_layrnorm = lambda a: a + self.output_layernorm = True + else: + self.pre_layrnorm = operations.LayerNorm(embed_dim) + self.output_layernorm = False self.encoder = CLIPEncoder(num_layers, embed_dim, heads, intermediate_size, intermediate_activation, dtype, device, operations) self.post_layernorm = operations.LayerNorm(embed_dim) @@ -181,14 +196,21 @@ class CLIPVision(torch.nn.Module): x = self.pre_layrnorm(x) #TODO: attention_mask? x, i = self.encoder(x, mask=None, intermediate_output=intermediate_output) - pooled_output = self.post_layernorm(x[:, 0, :]) + if self.output_layernorm: + x = self.post_layernorm(x) + pooled_output = x + else: + pooled_output = self.post_layernorm(x[:, 0, :]) return x, i, pooled_output class CLIPVisionModelProjection(torch.nn.Module): def __init__(self, config_dict, dtype, device, operations): super().__init__() self.vision_model = CLIPVision(config_dict, dtype, device, operations) - self.visual_projection = operations.Linear(config_dict["hidden_size"], config_dict["projection_dim"], bias=False) + if "projection_dim" in config_dict: + self.visual_projection = operations.Linear(config_dict["hidden_size"], config_dict["projection_dim"], bias=False) + else: + self.visual_projection = lambda a: a def forward(self, *args, **kwargs): x = self.vision_model(*args, **kwargs) diff --git a/comfy/clip_vision.py b/comfy/clip_vision.py index 20dc3345d..c9c82e9ad 100644 --- a/comfy/clip_vision.py +++ b/comfy/clip_vision.py @@ -16,13 +16,18 @@ class Output: def __setitem__(self, key, item): setattr(self, key, item) -def clip_preprocess(image, size=224): - mean = torch.tensor([ 0.48145466,0.4578275,0.40821073], device=image.device, dtype=image.dtype) - std = torch.tensor([0.26862954,0.26130258,0.27577711], device=image.device, dtype=image.dtype) +def clip_preprocess(image, size=224, mean=[0.48145466, 0.4578275, 0.40821073], std=[0.26862954, 0.26130258, 0.27577711], crop=True): + mean = torch.tensor(mean, device=image.device, dtype=image.dtype) + std = torch.tensor(std, device=image.device, dtype=image.dtype) image = image.movedim(-1, 1) if not (image.shape[2] == size and image.shape[3] == size): - scale = (size / min(image.shape[2], image.shape[3])) - image = torch.nn.functional.interpolate(image, size=(round(scale * image.shape[2]), round(scale * image.shape[3])), mode="bicubic", antialias=True) + if crop: + scale = (size / min(image.shape[2], image.shape[3])) + scale_size = (round(scale * image.shape[2]), round(scale * image.shape[3])) + else: + scale_size = (size, size) + + image = torch.nn.functional.interpolate(image, size=scale_size, mode="bicubic", antialias=True) h = (image.shape[2] - size)//2 w = (image.shape[3] - size)//2 image = image[:,:,h:h+size,w:w+size] @@ -35,6 +40,8 @@ class ClipVisionModel(): config = json.load(f) self.image_size = config.get("image_size", 224) + self.image_mean = config.get("image_mean", [0.48145466, 0.4578275, 0.40821073]) + self.image_std = config.get("image_std", [0.26862954, 0.26130258, 0.27577711]) self.load_device = comfy.model_management.text_encoder_device() offload_device = comfy.model_management.text_encoder_offload_device() self.dtype = comfy.model_management.text_encoder_dtype(self.load_device) @@ -49,9 +56,9 @@ class ClipVisionModel(): def get_sd(self): return self.model.state_dict() - def encode_image(self, image): + def encode_image(self, image, crop=True): comfy.model_management.load_model_gpu(self.patcher) - pixel_values = clip_preprocess(image.to(self.load_device), size=self.image_size).float() + pixel_values = clip_preprocess(image.to(self.load_device), size=self.image_size, mean=self.image_mean, std=self.image_std, crop=crop).float() out = self.model(pixel_values=pixel_values, intermediate_output=-2) outputs = Output() @@ -94,7 +101,9 @@ def load_clipvision_from_sd(sd, prefix="", convert_keys=False): elif "vision_model.encoder.layers.30.layer_norm1.weight" in sd: json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "clip_vision_config_h.json") elif "vision_model.encoder.layers.22.layer_norm1.weight" in sd: - if sd["vision_model.embeddings.position_embedding.weight"].shape[0] == 577: + if sd["vision_model.encoder.layers.0.layer_norm1.weight"].shape[0] == 1152: + json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "clip_vision_siglip_384.json") + elif sd["vision_model.embeddings.position_embedding.weight"].shape[0] == 577: json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "clip_vision_config_vitl_336.json") else: json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "clip_vision_config_vitl.json") @@ -109,8 +118,7 @@ def load_clipvision_from_sd(sd, prefix="", convert_keys=False): keys = list(sd.keys()) for k in keys: if k not in u: - t = sd.pop(k) - del t + sd.pop(k) return clip def load(ckpt_path): diff --git a/comfy/clip_vision_siglip_384.json b/comfy/clip_vision_siglip_384.json new file mode 100644 index 000000000..532e03ac1 --- /dev/null +++ b/comfy/clip_vision_siglip_384.json @@ -0,0 +1,13 @@ +{ + "num_channels": 3, + "hidden_act": "gelu_pytorch_tanh", + "hidden_size": 1152, + "image_size": 384, + "intermediate_size": 4304, + "model_type": "siglip_vision_model", + "num_attention_heads": 16, + "num_hidden_layers": 27, + "patch_size": 14, + "image_mean": [0.5, 0.5, 0.5], + "image_std": [0.5, 0.5, 0.5] +} diff --git a/comfy/comfy_types/README.md b/comfy/comfy_types/README.md new file mode 100644 index 000000000..20a786a5e --- /dev/null +++ b/comfy/comfy_types/README.md @@ -0,0 +1,43 @@ +# Comfy Typing +## Type hinting for ComfyUI Node development + +This module provides type hinting and concrete convenience types for node developers. +If cloned to the custom_nodes directory of ComfyUI, types can be imported using: + +```python +from comfy.comfy_types import IO, ComfyNodeABC, CheckLazyMixin + +class ExampleNode(ComfyNodeABC): + @classmethod + def INPUT_TYPES(s) -> InputTypeDict: + return {"required": {}} +``` + +Full example is in [examples/example_nodes.py](examples/example_nodes.py). + +# Types +A few primary types are documented below. More complete information is available via the docstrings on each type. + +## `IO` + +A string enum of built-in and a few custom data types. Includes the following special types and their requisite plumbing: + +- `ANY`: `"*"` +- `NUMBER`: `"FLOAT,INT"` +- `PRIMITIVE`: `"STRING,FLOAT,INT,BOOLEAN"` + +## `ComfyNodeABC` + +An abstract base class for nodes, offering type-hinting / autocomplete, and somewhat-alright docstrings. + +### Type hinting for `INPUT_TYPES` + +![INPUT_TYPES auto-completion in Visual Studio Code](examples/input_types.png) + +### `INPUT_TYPES` return dict + +![INPUT_TYPES return value type hinting in Visual Studio Code](examples/required_hint.png) + +### Options for individual inputs + +![INPUT_TYPES return value option auto-completion in Visual Studio Code](examples/input_options.png) diff --git a/comfy/types.py b/comfy/comfy_types/__init__.py similarity index 75% rename from comfy/types.py rename to comfy/comfy_types/__init__.py index 70cf4b158..19ec33f98 100644 --- a/comfy/types.py +++ b/comfy/comfy_types/__init__.py @@ -1,5 +1,6 @@ import torch from typing import Callable, Protocol, TypedDict, Optional, List +from .node_typing import IO, InputTypeDict, ComfyNodeABC, CheckLazyMixin class UnetApplyFunction(Protocol): @@ -30,3 +31,15 @@ class UnetParams(TypedDict): UnetWrapperFunction = Callable[[UnetApplyFunction, UnetParams], torch.Tensor] + + +__all__ = [ + "UnetWrapperFunction", + UnetApplyConds.__name__, + UnetParams.__name__, + UnetApplyFunction.__name__, + IO.__name__, + InputTypeDict.__name__, + ComfyNodeABC.__name__, + CheckLazyMixin.__name__, +] diff --git a/comfy/comfy_types/examples/example_nodes.py b/comfy/comfy_types/examples/example_nodes.py new file mode 100644 index 000000000..6e19c5451 --- /dev/null +++ b/comfy/comfy_types/examples/example_nodes.py @@ -0,0 +1,28 @@ +from comfy.comfy_types import IO, ComfyNodeABC, InputTypeDict +from inspect import cleandoc + + +class ExampleNode(ComfyNodeABC): + """An example node that just adds 1 to an input integer. + + * Requires a modern IDE to provide any benefit (detail: an IDE configured with analysis paths etc). + * This node is intended as an example for developers only. + """ + + DESCRIPTION = cleandoc(__doc__) + CATEGORY = "examples" + + @classmethod + def INPUT_TYPES(s) -> InputTypeDict: + return { + "required": { + "input_int": (IO.INT, {"defaultInput": True}), + } + } + + RETURN_TYPES = (IO.INT,) + RETURN_NAMES = ("input_plus_one",) + FUNCTION = "execute" + + def execute(self, input_int: int): + return (input_int + 1,) diff --git a/comfy/comfy_types/examples/input_options.png b/comfy/comfy_types/examples/input_options.png new file mode 100644 index 000000000..ac859bbc0 Binary files /dev/null and b/comfy/comfy_types/examples/input_options.png differ diff --git a/comfy/comfy_types/examples/input_types.png b/comfy/comfy_types/examples/input_types.png new file mode 100644 index 000000000..27e031ccf Binary files /dev/null and b/comfy/comfy_types/examples/input_types.png differ diff --git a/comfy/comfy_types/examples/required_hint.png b/comfy/comfy_types/examples/required_hint.png new file mode 100644 index 000000000..22c0182a0 Binary files /dev/null and b/comfy/comfy_types/examples/required_hint.png differ diff --git a/comfy/comfy_types/node_typing.py b/comfy/comfy_types/node_typing.py new file mode 100644 index 000000000..056b1aa65 --- /dev/null +++ b/comfy/comfy_types/node_typing.py @@ -0,0 +1,274 @@ +"""Comfy-specific type hinting""" + +from __future__ import annotations +from typing import Literal, TypedDict +from abc import ABC, abstractmethod +from enum import Enum + + +class StrEnum(str, Enum): + """Base class for string enums. Python's StrEnum is not available until 3.11.""" + + def __str__(self) -> str: + return self.value + + +class IO(StrEnum): + """Node input/output data types. + + Includes functionality for ``"*"`` (`ANY`) and ``"MULTI,TYPES"``. + """ + + STRING = "STRING" + IMAGE = "IMAGE" + MASK = "MASK" + LATENT = "LATENT" + BOOLEAN = "BOOLEAN" + INT = "INT" + FLOAT = "FLOAT" + CONDITIONING = "CONDITIONING" + SAMPLER = "SAMPLER" + SIGMAS = "SIGMAS" + GUIDER = "GUIDER" + NOISE = "NOISE" + CLIP = "CLIP" + CONTROL_NET = "CONTROL_NET" + VAE = "VAE" + MODEL = "MODEL" + CLIP_VISION = "CLIP_VISION" + CLIP_VISION_OUTPUT = "CLIP_VISION_OUTPUT" + STYLE_MODEL = "STYLE_MODEL" + GLIGEN = "GLIGEN" + UPSCALE_MODEL = "UPSCALE_MODEL" + AUDIO = "AUDIO" + WEBCAM = "WEBCAM" + POINT = "POINT" + FACE_ANALYSIS = "FACE_ANALYSIS" + BBOX = "BBOX" + SEGS = "SEGS" + + ANY = "*" + """Always matches any type, but at a price. + + Causes some functionality issues (e.g. reroutes, link types), and should be avoided whenever possible. + """ + NUMBER = "FLOAT,INT" + """A float or an int - could be either""" + PRIMITIVE = "STRING,FLOAT,INT,BOOLEAN" + """Could be any of: string, float, int, or bool""" + + def __ne__(self, value: object) -> bool: + if self == "*" or value == "*": + return False + if not isinstance(value, str): + return True + a = frozenset(self.split(",")) + b = frozenset(value.split(",")) + return not (b.issubset(a) or a.issubset(b)) + + +class InputTypeOptions(TypedDict): + """Provides type hinting for the return type of the INPUT_TYPES node function. + + Due to IDE limitations with unions, for now all options are available for all types (e.g. `label_on` is hinted even when the type is not `IO.BOOLEAN`). + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_datatypes + """ + + default: bool | str | float | int | list | tuple + """The default value of the widget""" + defaultInput: bool + """Defaults to an input slot rather than a widget""" + forceInput: bool + """`defaultInput` and also don't allow converting to a widget""" + lazy: bool + """Declares that this input uses lazy evaluation""" + rawLink: bool + """When a link exists, rather than receiving the evaluated value, you will receive the link (i.e. `["nodeId", ]`). Designed for node expansion.""" + tooltip: str + """Tooltip for the input (or widget), shown on pointer hover""" + # class InputTypeNumber(InputTypeOptions): + # default: float | int + min: float + """The minimum value of a number (``FLOAT`` | ``INT``)""" + max: float + """The maximum value of a number (``FLOAT`` | ``INT``)""" + step: float + """The amount to increment or decrement a widget by when stepping up/down (``FLOAT`` | ``INT``)""" + round: float + """Floats are rounded by this value (``FLOAT``)""" + # class InputTypeBoolean(InputTypeOptions): + # default: bool + label_on: str + """The label to use in the UI when the bool is True (``BOOLEAN``)""" + label_on: str + """The label to use in the UI when the bool is False (``BOOLEAN``)""" + # class InputTypeString(InputTypeOptions): + # default: str + multiline: bool + """Use a multiline text box (``STRING``)""" + placeholder: str + """Placeholder text to display in the UI when empty (``STRING``)""" + # Deprecated: + # defaultVal: str + dynamicPrompts: bool + """Causes the front-end to evaluate dynamic prompts (``STRING``)""" + + +class HiddenInputTypeDict(TypedDict): + """Provides type hinting for the hidden entry of node INPUT_TYPES.""" + + node_id: Literal["UNIQUE_ID"] + """UNIQUE_ID is the unique identifier of the node, and matches the id property of the node on the client side. It is commonly used in client-server communications (see messages).""" + unique_id: Literal["UNIQUE_ID"] + """UNIQUE_ID is the unique identifier of the node, and matches the id property of the node on the client side. It is commonly used in client-server communications (see messages).""" + prompt: Literal["PROMPT"] + """PROMPT is the complete prompt sent by the client to the server. See the prompt object for a full description.""" + extra_pnginfo: Literal["EXTRA_PNGINFO"] + """EXTRA_PNGINFO is a dictionary that will be copied into the metadata of any .png files saved. Custom nodes can store additional information in this dictionary for saving (or as a way to communicate with a downstream node).""" + dynprompt: Literal["DYNPROMPT"] + """DYNPROMPT is an instance of comfy_execution.graph.DynamicPrompt. It differs from PROMPT in that it may mutate during the course of execution in response to Node Expansion.""" + + +class InputTypeDict(TypedDict): + """Provides type hinting for node INPUT_TYPES. + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_more_on_inputs + """ + + required: dict[str, tuple[IO, InputTypeOptions]] + """Describes all inputs that must be connected for the node to execute.""" + optional: dict[str, tuple[IO, InputTypeOptions]] + """Describes inputs which do not need to be connected.""" + hidden: HiddenInputTypeDict + """Offers advanced functionality and server-client communication. + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_more_on_inputs#hidden-inputs + """ + + +class ComfyNodeABC(ABC): + """Abstract base class for Comfy nodes. Includes the names and expected types of attributes. + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview + """ + + DESCRIPTION: str + """Node description, shown as a tooltip when hovering over the node. + + Usage:: + + # Explicitly define the description + DESCRIPTION = "Example description here." + + # Use the docstring of the node class. + DESCRIPTION = cleandoc(__doc__) + """ + CATEGORY: str + """The category of the node, as per the "Add Node" menu. + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#category + """ + EXPERIMENTAL: bool + """Flags a node as experimental, informing users that it may change or not work as expected.""" + DEPRECATED: bool + """Flags a node as deprecated, indicating to users that they should find alternatives to this node.""" + + @classmethod + @abstractmethod + def INPUT_TYPES(s) -> InputTypeDict: + """Defines node inputs. + + * Must include the ``required`` key, which describes all inputs that must be connected for the node to execute. + * The ``optional`` key can be added to describe inputs which do not need to be connected. + * The ``hidden`` key offers some advanced functionality. More info at: https://docs.comfy.org/essentials/custom_node_more_on_inputs#hidden-inputs + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#input-types + """ + return {"required": {}} + + OUTPUT_NODE: bool + """Flags this node as an output node, causing any inputs it requires to be executed. + + If a node is not connected to any output nodes, that node will not be executed. Usage:: + + OUTPUT_NODE = True + + From the docs: + + By default, a node is not considered an output. Set ``OUTPUT_NODE = True`` to specify that it is. + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#output-node + """ + INPUT_IS_LIST: bool + """A flag indicating if this node implements the additional code necessary to deal with OUTPUT_IS_LIST nodes. + + All inputs of ``type`` will become ``list[type]``, regardless of how many items are passed in. This also affects ``check_lazy_status``. + + From the docs: + + A node can also override the default input behaviour and receive the whole list in a single call. This is done by setting a class attribute `INPUT_IS_LIST` to ``True``. + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_lists#list-processing + """ + OUTPUT_IS_LIST: tuple[bool] + """A tuple indicating which node outputs are lists, but will be connected to nodes that expect individual items. + + Connected nodes that do not implement `INPUT_IS_LIST` will be executed once for every item in the list. + + A ``tuple[bool]``, where the items match those in `RETURN_TYPES`:: + + RETURN_TYPES = (IO.INT, IO.INT, IO.STRING) + OUTPUT_IS_LIST = (True, True, False) # The string output will be handled normally + + From the docs: + + In order to tell Comfy that the list being returned should not be wrapped, but treated as a series of data for sequential processing, + the node should provide a class attribute `OUTPUT_IS_LIST`, which is a ``tuple[bool]``, of the same length as `RETURN_TYPES`, + specifying which outputs which should be so treated. + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_lists#list-processing + """ + + RETURN_TYPES: tuple[IO] + """A tuple representing the outputs of this node. + + Usage:: + + RETURN_TYPES = (IO.INT, "INT", "CUSTOM_TYPE") + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#return-types + """ + RETURN_NAMES: tuple[str] + """The output slot names for each item in `RETURN_TYPES`, e.g. ``RETURN_NAMES = ("count", "filter_string")`` + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#return-names + """ + OUTPUT_TOOLTIPS: tuple[str] + """A tuple of strings to use as tooltips for node outputs, one for each item in `RETURN_TYPES`.""" + FUNCTION: str + """The name of the function to execute as a literal string, e.g. `FUNCTION = "execute"` + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_server_overview#function + """ + + +class CheckLazyMixin: + """Provides a basic check_lazy_status implementation and type hinting for nodes that use lazy inputs.""" + + def check_lazy_status(self, **kwargs) -> list[str]: + """Returns a list of input names that should be evaluated. + + This basic mixin impl. requires all inputs. + + :kwargs: All node inputs will be included here. If the input is ``None``, it should be assumed that it has not yet been evaluated. \ + When using ``INPUT_IS_LIST = True``, unevaluated will instead be ``(None,)``. + + Params should match the nodes execution ``FUNCTION`` (self, and all inputs by name). + Will be executed repeatedly until it returns an empty list, or all requested items were already evaluated (and sent as params). + + Comfy Docs: https://docs.comfy.org/essentials/custom_node_lazy_evaluation#defining-check-lazy-status + """ + + need = [name for name in kwargs if kwargs[name] is None] + return need diff --git a/comfy/conds.py b/comfy/conds.py index 660690af8..211fb8d57 100644 --- a/comfy/conds.py +++ b/comfy/conds.py @@ -3,9 +3,6 @@ import math import comfy.utils -def lcm(a, b): #TODO: eventually replace by math.lcm (added in python3.9) - return abs(a*b) // math.gcd(a, b) - class CONDRegular: def __init__(self, cond): self.cond = cond @@ -46,7 +43,7 @@ class CONDCrossAttn(CONDRegular): if s1[0] != s2[0] or s1[2] != s2[2]: #these 2 cases should not happen return False - mult_min = lcm(s1[1], s2[1]) + mult_min = math.lcm(s1[1], s2[1]) diff = mult_min // min(s1[1], s2[1]) if diff > 4: #arbitrary limit on the padding because it's probably going to impact performance negatively if it's too much return False @@ -57,7 +54,7 @@ class CONDCrossAttn(CONDRegular): crossattn_max_len = self.cond.shape[1] for x in others: c = x.cond - crossattn_max_len = lcm(crossattn_max_len, c.shape[1]) + crossattn_max_len = math.lcm(crossattn_max_len, c.shape[1]) conds.append(c) out = [] diff --git a/comfy/controlnet.py b/comfy/controlnet.py index d2d2cefaa..ee29251b9 100644 --- a/comfy/controlnet.py +++ b/comfy/controlnet.py @@ -35,6 +35,10 @@ import comfy.ldm.cascade.controlnet import comfy.cldm.mmdit import comfy.ldm.hydit.controlnet import comfy.ldm.flux.controlnet +import comfy.cldm.dit_embedder +from typing import TYPE_CHECKING +if TYPE_CHECKING: + from comfy.hooks import HookGroup def broadcast_image_to(tensor, target_batch_size, batched_number): @@ -60,7 +64,7 @@ class StrengthType(Enum): LINEAR_UP = 2 class ControlBase: - def __init__(self, device=None): + def __init__(self): self.cond_hint_original = None self.cond_hint = None self.strength = 1.0 @@ -72,20 +76,26 @@ class ControlBase: self.compression_ratio = 8 self.upscale_algorithm = 'nearest-exact' self.extra_args = {} - - if device is None: - device = comfy.model_management.get_torch_device() - self.device = device self.previous_controlnet = None self.extra_conds = [] self.strength_type = StrengthType.CONSTANT + self.concat_mask = False + self.extra_concat_orig = [] + self.extra_concat = None + self.extra_hooks: HookGroup = None + self.preprocess_image = lambda a: a - def set_cond_hint(self, cond_hint, strength=1.0, timestep_percent_range=(0.0, 1.0), vae=None): + def set_cond_hint(self, cond_hint, strength=1.0, timestep_percent_range=(0.0, 1.0), vae=None, extra_concat=[]): self.cond_hint_original = cond_hint self.strength = strength self.timestep_percent_range = timestep_percent_range if self.latent_format is not None: + if vae is None: + logging.warning("WARNING: no VAE provided to the controlnet apply node when this controlnet requires one.") self.vae = vae + self.extra_concat_orig = extra_concat.copy() + if self.concat_mask and len(self.extra_concat_orig) == 0: + self.extra_concat_orig.append(torch.tensor([[[[1.0]]]])) return self def pre_run(self, model, percent_to_timestep_function): @@ -100,9 +110,9 @@ class ControlBase: def cleanup(self): if self.previous_controlnet is not None: self.previous_controlnet.cleanup() - if self.cond_hint is not None: - del self.cond_hint - self.cond_hint = None + + self.cond_hint = None + self.extra_concat = None self.timestep_range = None def get_models(self): @@ -111,6 +121,14 @@ class ControlBase: out += self.previous_controlnet.get_models() return out + def get_extra_hooks(self): + out = [] + if self.extra_hooks is not None: + out.append(self.extra_hooks) + if self.previous_controlnet is not None: + out += self.previous_controlnet.get_extra_hooks() + return out + def copy_to(self, c): c.cond_hint_original = self.cond_hint_original c.strength = self.strength @@ -123,6 +141,10 @@ class ControlBase: c.vae = self.vae c.extra_conds = self.extra_conds.copy() c.strength_type = self.strength_type + c.concat_mask = self.concat_mask + c.extra_concat_orig = self.extra_concat_orig.copy() + c.extra_hooks = self.extra_hooks.clone() if self.extra_hooks else None + c.preprocess_image = self.preprocess_image def inference_memory_requirements(self, dtype): if self.previous_controlnet is not None: @@ -175,8 +197,8 @@ class ControlBase: class ControlNet(ControlBase): - def __init__(self, control_model=None, global_average_pooling=False, compression_ratio=8, latent_format=None, device=None, load_device=None, manual_cast_dtype=None, extra_conds=["y"], strength_type=StrengthType.CONSTANT): - super().__init__(device) + def __init__(self, control_model=None, global_average_pooling=False, compression_ratio=8, latent_format=None, load_device=None, manual_cast_dtype=None, extra_conds=["y"], strength_type=StrengthType.CONSTANT, concat_mask=False, preprocess_image=lambda a: a): + super().__init__() self.control_model = control_model self.load_device = load_device if control_model is not None: @@ -189,11 +211,13 @@ class ControlNet(ControlBase): self.latent_format = latent_format self.extra_conds += extra_conds self.strength_type = strength_type + self.concat_mask = concat_mask + self.preprocess_image = preprocess_image - def get_control(self, x_noisy, t, cond, batched_number): + def get_control(self, x_noisy, t, cond, batched_number, transformer_options): control_prev = None if self.previous_controlnet is not None: - control_prev = self.previous_controlnet.get_control(x_noisy, t, cond, batched_number) + control_prev = self.previous_controlnet.get_control(x_noisy, t, cond, batched_number, transformer_options) if self.timestep_range is not None: if t[0] > self.timestep_range[0] or t[0] < self.timestep_range[1]: @@ -213,14 +237,26 @@ class ControlNet(ControlBase): compression_ratio = self.compression_ratio if self.vae is not None: compression_ratio *= self.vae.downscale_ratio + else: + if self.latent_format is not None: + raise ValueError("This Controlnet needs a VAE but none was provided, please use a ControlNetApply node with a VAE input and connect it.") self.cond_hint = comfy.utils.common_upscale(self.cond_hint_original, x_noisy.shape[3] * compression_ratio, x_noisy.shape[2] * compression_ratio, self.upscale_algorithm, "center") + self.cond_hint = self.preprocess_image(self.cond_hint) if self.vae is not None: loaded_models = comfy.model_management.loaded_models(only_currently_used=True) self.cond_hint = self.vae.encode(self.cond_hint.movedim(1, -1)) comfy.model_management.load_models_gpu(loaded_models) if self.latent_format is not None: self.cond_hint = self.latent_format.process_in(self.cond_hint) - self.cond_hint = self.cond_hint.to(device=self.device, dtype=dtype) + if len(self.extra_concat_orig) > 0: + to_concat = [] + for c in self.extra_concat_orig: + c = c.to(self.cond_hint.device) + c = comfy.utils.common_upscale(c, self.cond_hint.shape[3], self.cond_hint.shape[2], self.upscale_algorithm, "center") + to_concat.append(comfy.utils.repeat_to_batch_size(c, self.cond_hint.shape[0])) + self.cond_hint = torch.cat([self.cond_hint] + to_concat, dim=1) + + self.cond_hint = self.cond_hint.to(device=x_noisy.device, dtype=dtype) if x_noisy.shape[0] != self.cond_hint.shape[0]: self.cond_hint = broadcast_image_to(self.cond_hint, x_noisy.shape[0], batched_number) @@ -261,7 +297,6 @@ class ControlLoraOps: class Linear(torch.nn.Module, comfy.ops.CastWeightBiasOp): def __init__(self, in_features: int, out_features: int, bias: bool = True, device=None, dtype=None) -> None: - factory_kwargs = {'device': device, 'dtype': dtype} super().__init__() self.in_features = in_features self.out_features = out_features @@ -319,8 +354,8 @@ class ControlLoraOps: class ControlLora(ControlNet): - def __init__(self, control_weights, global_average_pooling=False, device=None): - ControlBase.__init__(self, device) + def __init__(self, control_weights, global_average_pooling=False, model_options={}): #TODO? model_options + ControlBase.__init__(self) self.control_weights = control_weights self.global_average_pooling = global_average_pooling self.extra_conds += ["y"] @@ -346,7 +381,6 @@ class ControlLora(ControlNet): self.control_model.to(comfy.model_management.get_torch_device()) diffusion_model = model.diffusion_model sd = diffusion_model.state_dict() - cm = self.control_model.state_dict() for k in sd: weight = sd[k] @@ -376,19 +410,25 @@ class ControlLora(ControlNet): def inference_memory_requirements(self, dtype): return comfy.utils.calculate_parameters(self.control_weights) * comfy.model_management.dtype_size(dtype) + ControlBase.inference_memory_requirements(self, dtype) -def controlnet_config(sd): +def controlnet_config(sd, model_options={}): model_config = comfy.model_detection.model_config_from_unet(sd, "", True) - supported_inference_dtypes = model_config.supported_inference_dtypes + unet_dtype = model_options.get("dtype", None) + if unet_dtype is None: + weight_dtype = comfy.utils.weight_dtype(sd) + + supported_inference_dtypes = list(model_config.supported_inference_dtypes) + if weight_dtype is not None: + supported_inference_dtypes.append(weight_dtype) + + unet_dtype = comfy.model_management.unet_dtype(model_params=-1, supported_dtypes=supported_inference_dtypes) - controlnet_config = model_config.unet_config - unet_dtype = comfy.model_management.unet_dtype(supported_dtypes=supported_inference_dtypes) load_device = comfy.model_management.get_torch_device() manual_cast_dtype = comfy.model_management.unet_manual_cast(unet_dtype, load_device) - if manual_cast_dtype is not None: - operations = comfy.ops.manual_cast - else: - operations = comfy.ops.disable_weight_init + + operations = model_options.get("custom_operations", None) + if operations is None: + operations = comfy.ops.pick_operations(unet_dtype, manual_cast_dtype, disable_fast_fp8=True) offload_device = comfy.model_management.unet_offload_device() return model_config, operations, load_device, unet_dtype, manual_cast_dtype, offload_device @@ -403,24 +443,106 @@ def controlnet_load_state_dict(control_model, sd): logging.debug("unexpected controlnet keys: {}".format(unexpected)) return control_model -def load_controlnet_mmdit(sd): + +def load_controlnet_mmdit(sd, model_options={}): new_sd = comfy.model_detection.convert_diffusers_mmdit(sd, "") - model_config, operations, load_device, unet_dtype, manual_cast_dtype, offload_device = controlnet_config(new_sd) + model_config, operations, load_device, unet_dtype, manual_cast_dtype, offload_device = controlnet_config(new_sd, model_options=model_options) num_blocks = comfy.model_detection.count_blocks(new_sd, 'joint_blocks.{}.') for k in sd: new_sd[k] = sd[k] - control_model = comfy.cldm.mmdit.ControlNet(num_blocks=num_blocks, operations=operations, device=offload_device, dtype=unet_dtype, **model_config.unet_config) + concat_mask = False + control_latent_channels = new_sd.get("pos_embed_input.proj.weight").shape[1] + if control_latent_channels == 17: #inpaint controlnet + concat_mask = True + + control_model = comfy.cldm.mmdit.ControlNet(num_blocks=num_blocks, control_latent_channels=control_latent_channels, operations=operations, device=offload_device, dtype=unet_dtype, **model_config.unet_config) control_model = controlnet_load_state_dict(control_model, new_sd) latent_format = comfy.latent_formats.SD3() latent_format.shift_factor = 0 #SD3 controlnet weirdness - control = ControlNet(control_model, compression_ratio=1, latent_format=latent_format, load_device=load_device, manual_cast_dtype=manual_cast_dtype) + control = ControlNet(control_model, compression_ratio=1, latent_format=latent_format, concat_mask=concat_mask, load_device=load_device, manual_cast_dtype=manual_cast_dtype) return control -def load_controlnet_hunyuandit(controlnet_data): - model_config, operations, load_device, unet_dtype, manual_cast_dtype, offload_device = controlnet_config(controlnet_data) +class ControlNetSD35(ControlNet): + def pre_run(self, model, percent_to_timestep_function): + if self.control_model.double_y_emb: + missing, unexpected = self.control_model.orig_y_embedder.load_state_dict(model.diffusion_model.y_embedder.state_dict(), strict=False) + else: + missing, unexpected = self.control_model.x_embedder.load_state_dict(model.diffusion_model.x_embedder.state_dict(), strict=False) + super().pre_run(model, percent_to_timestep_function) + + def copy(self): + c = ControlNetSD35(None, global_average_pooling=self.global_average_pooling, load_device=self.load_device, manual_cast_dtype=self.manual_cast_dtype) + c.control_model = self.control_model + c.control_model_wrapped = self.control_model_wrapped + self.copy_to(c) + return c + +def load_controlnet_sd35(sd, model_options={}): + control_type = -1 + if "control_type" in sd: + control_type = round(sd.pop("control_type").item()) + + # blur_cnet = control_type == 0 + canny_cnet = control_type == 1 + depth_cnet = control_type == 2 + + new_sd = {} + for k in comfy.utils.MMDIT_MAP_BASIC: + if k[1] in sd: + new_sd[k[0]] = sd.pop(k[1]) + for k in sd: + new_sd[k] = sd[k] + sd = new_sd + + y_emb_shape = sd["y_embedder.mlp.0.weight"].shape + depth = y_emb_shape[0] // 64 + hidden_size = 64 * depth + num_heads = depth + head_dim = hidden_size // num_heads + num_blocks = comfy.model_detection.count_blocks(new_sd, 'transformer_blocks.{}.') + + load_device = comfy.model_management.get_torch_device() + offload_device = comfy.model_management.unet_offload_device() + unet_dtype = comfy.model_management.unet_dtype(model_params=-1) + + manual_cast_dtype = comfy.model_management.unet_manual_cast(unet_dtype, load_device) + + operations = model_options.get("custom_operations", None) + if operations is None: + operations = comfy.ops.pick_operations(unet_dtype, manual_cast_dtype, disable_fast_fp8=True) + + control_model = comfy.cldm.dit_embedder.ControlNetEmbedder(img_size=None, + patch_size=2, + in_chans=16, + num_layers=num_blocks, + main_model_double=depth, + double_y_emb=y_emb_shape[0] == y_emb_shape[1], + attention_head_dim=head_dim, + num_attention_heads=num_heads, + adm_in_channels=2048, + device=offload_device, + dtype=unet_dtype, + operations=operations) + + control_model = controlnet_load_state_dict(control_model, sd) + + latent_format = comfy.latent_formats.SD3() + preprocess_image = lambda a: a + if canny_cnet: + preprocess_image = lambda a: (a * 255 * 0.5 + 0.5) + elif depth_cnet: + preprocess_image = lambda a: 1.0 - a + + control = ControlNetSD35(control_model, compression_ratio=1, latent_format=latent_format, load_device=load_device, manual_cast_dtype=manual_cast_dtype, preprocess_image=preprocess_image) + return control + + + +def load_controlnet_hunyuandit(controlnet_data, model_options={}): + model_config, operations, load_device, unet_dtype, manual_cast_dtype, offload_device = controlnet_config(controlnet_data, model_options=model_options) control_model = comfy.ldm.hydit.controlnet.HunYuanControlNet(operations=operations, device=offload_device, dtype=unet_dtype) control_model = controlnet_load_state_dict(control_model, controlnet_data) @@ -430,17 +552,17 @@ def load_controlnet_hunyuandit(controlnet_data): control = ControlNet(control_model, compression_ratio=1, latent_format=latent_format, load_device=load_device, manual_cast_dtype=manual_cast_dtype, extra_conds=extra_conds, strength_type=StrengthType.CONSTANT) return control -def load_controlnet_flux_xlabs(sd): - model_config, operations, load_device, unet_dtype, manual_cast_dtype, offload_device = controlnet_config(sd) - control_model = comfy.ldm.flux.controlnet.ControlNetFlux(operations=operations, device=offload_device, dtype=unet_dtype, **model_config.unet_config) +def load_controlnet_flux_xlabs_mistoline(sd, mistoline=False, model_options={}): + model_config, operations, load_device, unet_dtype, manual_cast_dtype, offload_device = controlnet_config(sd, model_options=model_options) + control_model = comfy.ldm.flux.controlnet.ControlNetFlux(mistoline=mistoline, operations=operations, device=offload_device, dtype=unet_dtype, **model_config.unet_config) control_model = controlnet_load_state_dict(control_model, sd) extra_conds = ['y', 'guidance'] control = ControlNet(control_model, load_device=load_device, manual_cast_dtype=manual_cast_dtype, extra_conds=extra_conds) return control -def load_controlnet_flux_instantx(sd): +def load_controlnet_flux_instantx(sd, model_options={}): new_sd = comfy.model_detection.convert_diffusers_mmdit(sd, "") - model_config, operations, load_device, unet_dtype, manual_cast_dtype, offload_device = controlnet_config(new_sd) + model_config, operations, load_device, unet_dtype, manual_cast_dtype, offload_device = controlnet_config(new_sd, model_options=model_options) for k in sd: new_sd[k] = sd[k] @@ -449,21 +571,30 @@ def load_controlnet_flux_instantx(sd): if union_cnet in new_sd: num_union_modes = new_sd[union_cnet].shape[0] - control_model = comfy.ldm.flux.controlnet.ControlNetFlux(latent_input=True, num_union_modes=num_union_modes, operations=operations, device=offload_device, dtype=unet_dtype, **model_config.unet_config) + control_latent_channels = new_sd.get("pos_embed_input.weight").shape[1] // 4 + concat_mask = False + if control_latent_channels == 17: + concat_mask = True + + control_model = comfy.ldm.flux.controlnet.ControlNetFlux(latent_input=True, num_union_modes=num_union_modes, control_latent_channels=control_latent_channels, operations=operations, device=offload_device, dtype=unet_dtype, **model_config.unet_config) control_model = controlnet_load_state_dict(control_model, new_sd) latent_format = comfy.latent_formats.Flux() extra_conds = ['y', 'guidance'] - control = ControlNet(control_model, compression_ratio=1, latent_format=latent_format, load_device=load_device, manual_cast_dtype=manual_cast_dtype, extra_conds=extra_conds) + control = ControlNet(control_model, compression_ratio=1, latent_format=latent_format, concat_mask=concat_mask, load_device=load_device, manual_cast_dtype=manual_cast_dtype, extra_conds=extra_conds) return control -def load_controlnet(ckpt_path, model=None): - controlnet_data = comfy.utils.load_torch_file(ckpt_path, safe_load=True) +def convert_mistoline(sd): + return comfy.utils.state_dict_prefix_replace(sd, {"single_controlnet_blocks.": "controlnet_single_blocks."}) + + +def load_controlnet_state_dict(state_dict, model=None, model_options={}): + controlnet_data = state_dict if 'after_proj_list.18.bias' in controlnet_data.keys(): #Hunyuan DiT - return load_controlnet_hunyuandit(controlnet_data) + return load_controlnet_hunyuandit(controlnet_data, model_options=model_options) if "lora_controlnet" in controlnet_data: - return ControlLora(controlnet_data) + return ControlLora(controlnet_data, model_options=model_options) controlnet_config = None supported_inference_dtypes = None @@ -518,13 +649,18 @@ def load_controlnet(ckpt_path, model=None): if len(leftover_keys) > 0: logging.warning("leftover keys: {}".format(leftover_keys)) controlnet_data = new_sd - elif "controlnet_blocks.0.weight" in controlnet_data: #SD3 diffusers format + elif "controlnet_blocks.0.weight" in controlnet_data: if "double_blocks.0.img_attn.norm.key_norm.scale" in controlnet_data: - return load_controlnet_flux_xlabs(controlnet_data) + return load_controlnet_flux_xlabs_mistoline(controlnet_data, model_options=model_options) elif "pos_embed_input.proj.weight" in controlnet_data: - return load_controlnet_mmdit(controlnet_data) + if "transformer_blocks.0.adaLN_modulation.1.bias" in controlnet_data: + return load_controlnet_sd35(controlnet_data, model_options=model_options) #Stability sd3.5 format + else: + return load_controlnet_mmdit(controlnet_data, model_options=model_options) #SD3 diffusers controlnet elif "controlnet_x_embedder.weight" in controlnet_data: - return load_controlnet_flux_instantx(controlnet_data) + return load_controlnet_flux_instantx(controlnet_data, model_options=model_options) + elif "controlnet_blocks.0.linear.weight" in controlnet_data: #mistoline flux + return load_controlnet_flux_xlabs_mistoline(convert_mistoline(controlnet_data), mistoline=True, model_options=model_options) pth_key = 'control_model.zero_convs.0.0.weight' pth = False @@ -536,25 +672,36 @@ def load_controlnet(ckpt_path, model=None): elif key in controlnet_data: prefix = "" else: - net = load_t2i_adapter(controlnet_data) + net = load_t2i_adapter(controlnet_data, model_options=model_options) if net is None: - logging.error("error checkpoint does not contain controlnet or t2i adapter data {}".format(ckpt_path)) + logging.error("error could not detect control model type.") return net if controlnet_config is None: model_config = comfy.model_detection.model_config_from_unet(controlnet_data, prefix, True) - supported_inference_dtypes = model_config.supported_inference_dtypes + supported_inference_dtypes = list(model_config.supported_inference_dtypes) controlnet_config = model_config.unet_config + unet_dtype = model_options.get("dtype", None) + if unet_dtype is None: + weight_dtype = comfy.utils.weight_dtype(controlnet_data) + + if supported_inference_dtypes is None: + supported_inference_dtypes = [comfy.model_management.unet_dtype()] + + if weight_dtype is not None: + supported_inference_dtypes.append(weight_dtype) + + unet_dtype = comfy.model_management.unet_dtype(model_params=-1, supported_dtypes=supported_inference_dtypes) + load_device = comfy.model_management.get_torch_device() - if supported_inference_dtypes is None: - unet_dtype = comfy.model_management.unet_dtype() - else: - unet_dtype = comfy.model_management.unet_dtype(supported_dtypes=supported_inference_dtypes) manual_cast_dtype = comfy.model_management.unet_manual_cast(unet_dtype, load_device) - if manual_cast_dtype is not None: - controlnet_config["operations"] = comfy.ops.manual_cast + operations = model_options.get("custom_operations", None) + if operations is None: + operations = comfy.ops.pick_operations(unet_dtype, manual_cast_dtype) + + controlnet_config["operations"] = operations controlnet_config["dtype"] = unet_dtype controlnet_config["device"] = comfy.model_management.unet_offload_device() controlnet_config.pop("out_channels") @@ -590,22 +737,32 @@ def load_controlnet(ckpt_path, model=None): if len(unexpected) > 0: logging.debug("unexpected controlnet keys: {}".format(unexpected)) - global_average_pooling = False - filename = os.path.splitext(ckpt_path)[0] - if filename.endswith("_shuffle") or filename.endswith("_shuffle_fp16"): #TODO: smarter way of enabling global_average_pooling - global_average_pooling = True - + global_average_pooling = model_options.get("global_average_pooling", False) control = ControlNet(control_model, global_average_pooling=global_average_pooling, load_device=load_device, manual_cast_dtype=manual_cast_dtype) return control +def load_controlnet(ckpt_path, model=None, model_options={}): + if "global_average_pooling" not in model_options: + filename = os.path.splitext(ckpt_path)[0] + if filename.endswith("_shuffle") or filename.endswith("_shuffle_fp16"): #TODO: smarter way of enabling global_average_pooling + model_options["global_average_pooling"] = True + + cnet = load_controlnet_state_dict(comfy.utils.load_torch_file(ckpt_path, safe_load=True), model=model, model_options=model_options) + if cnet is None: + logging.error("error checkpoint does not contain controlnet or t2i adapter data {}".format(ckpt_path)) + return cnet + class T2IAdapter(ControlBase): def __init__(self, t2i_model, channels_in, compression_ratio, upscale_algorithm, device=None): - super().__init__(device) + super().__init__() self.t2i_model = t2i_model self.channels_in = channels_in self.control_input = None self.compression_ratio = compression_ratio self.upscale_algorithm = upscale_algorithm + if device is None: + device = comfy.model_management.get_torch_device() + self.device = device def scale_image_to(self, width, height): unshuffle_amount = self.t2i_model.unshuffle_amount @@ -613,10 +770,10 @@ class T2IAdapter(ControlBase): height = math.ceil(height / unshuffle_amount) * unshuffle_amount return width, height - def get_control(self, x_noisy, t, cond, batched_number): + def get_control(self, x_noisy, t, cond, batched_number, transformer_options): control_prev = None if self.previous_controlnet is not None: - control_prev = self.previous_controlnet.get_control(x_noisy, t, cond, batched_number) + control_prev = self.previous_controlnet.get_control(x_noisy, t, cond, batched_number, transformer_options) if self.timestep_range is not None: if t[0] > self.timestep_range[0] or t[0] < self.timestep_range[1]: @@ -653,7 +810,7 @@ class T2IAdapter(ControlBase): self.copy_to(c) return c -def load_t2i_adapter(t2i_data): +def load_t2i_adapter(t2i_data, model_options={}): #TODO: model_options compression_ratio = 8 upscale_algorithm = 'nearest-exact' @@ -664,7 +821,7 @@ def load_t2i_adapter(t2i_data): for i in range(4): for j in range(2): prefix_replace["adapter.body.{}.resnets.{}.".format(i, j)] = "body.{}.".format(i * 2 + j) - prefix_replace["adapter.body.{}.".format(i, j)] = "body.{}.".format(i * 2) + prefix_replace["adapter.body.{}.".format(i, )] = "body.{}.".format(i * 2) prefix_replace["adapter."] = "" t2i_data = comfy.utils.state_dict_prefix_replace(t2i_data, prefix_replace) keys = t2i_data.keys() diff --git a/comfy/diffusers_convert.py b/comfy/diffusers_convert.py index ed2a45fea..fb9495348 100644 --- a/comfy/diffusers_convert.py +++ b/comfy/diffusers_convert.py @@ -4,105 +4,6 @@ import logging # conversion code from https://github.com/huggingface/diffusers/blob/main/scripts/convert_diffusers_to_original_stable_diffusion.py -# =================# -# UNet Conversion # -# =================# - -unet_conversion_map = [ - # (stable-diffusion, HF Diffusers) - ("time_embed.0.weight", "time_embedding.linear_1.weight"), - ("time_embed.0.bias", "time_embedding.linear_1.bias"), - ("time_embed.2.weight", "time_embedding.linear_2.weight"), - ("time_embed.2.bias", "time_embedding.linear_2.bias"), - ("input_blocks.0.0.weight", "conv_in.weight"), - ("input_blocks.0.0.bias", "conv_in.bias"), - ("out.0.weight", "conv_norm_out.weight"), - ("out.0.bias", "conv_norm_out.bias"), - ("out.2.weight", "conv_out.weight"), - ("out.2.bias", "conv_out.bias"), -] - -unet_conversion_map_resnet = [ - # (stable-diffusion, HF Diffusers) - ("in_layers.0", "norm1"), - ("in_layers.2", "conv1"), - ("out_layers.0", "norm2"), - ("out_layers.3", "conv2"), - ("emb_layers.1", "time_emb_proj"), - ("skip_connection", "conv_shortcut"), -] - -unet_conversion_map_layer = [] -# hardcoded number of downblocks and resnets/attentions... -# would need smarter logic for other networks. -for i in range(4): - # loop over downblocks/upblocks - - for j in range(2): - # loop over resnets/attentions for downblocks - hf_down_res_prefix = f"down_blocks.{i}.resnets.{j}." - sd_down_res_prefix = f"input_blocks.{3 * i + j + 1}.0." - unet_conversion_map_layer.append((sd_down_res_prefix, hf_down_res_prefix)) - - if i < 3: - # no attention layers in down_blocks.3 - hf_down_atn_prefix = f"down_blocks.{i}.attentions.{j}." - sd_down_atn_prefix = f"input_blocks.{3 * i + j + 1}.1." - unet_conversion_map_layer.append((sd_down_atn_prefix, hf_down_atn_prefix)) - - for j in range(3): - # loop over resnets/attentions for upblocks - hf_up_res_prefix = f"up_blocks.{i}.resnets.{j}." - sd_up_res_prefix = f"output_blocks.{3 * i + j}.0." - unet_conversion_map_layer.append((sd_up_res_prefix, hf_up_res_prefix)) - - if i > 0: - # no attention layers in up_blocks.0 - hf_up_atn_prefix = f"up_blocks.{i}.attentions.{j}." - sd_up_atn_prefix = f"output_blocks.{3 * i + j}.1." - unet_conversion_map_layer.append((sd_up_atn_prefix, hf_up_atn_prefix)) - - if i < 3: - # no downsample in down_blocks.3 - hf_downsample_prefix = f"down_blocks.{i}.downsamplers.0.conv." - sd_downsample_prefix = f"input_blocks.{3 * (i + 1)}.0.op." - unet_conversion_map_layer.append((sd_downsample_prefix, hf_downsample_prefix)) - - # no upsample in up_blocks.3 - hf_upsample_prefix = f"up_blocks.{i}.upsamplers.0." - sd_upsample_prefix = f"output_blocks.{3 * i + 2}.{1 if i == 0 else 2}." - unet_conversion_map_layer.append((sd_upsample_prefix, hf_upsample_prefix)) - -hf_mid_atn_prefix = "mid_block.attentions.0." -sd_mid_atn_prefix = "middle_block.1." -unet_conversion_map_layer.append((sd_mid_atn_prefix, hf_mid_atn_prefix)) - -for j in range(2): - hf_mid_res_prefix = f"mid_block.resnets.{j}." - sd_mid_res_prefix = f"middle_block.{2 * j}." - unet_conversion_map_layer.append((sd_mid_res_prefix, hf_mid_res_prefix)) - - -def convert_unet_state_dict(unet_state_dict): - # buyer beware: this is a *brittle* function, - # and correct output requires that all of these pieces interact in - # the exact order in which I have arranged them. - mapping = {k: k for k in unet_state_dict.keys()} - for sd_name, hf_name in unet_conversion_map: - mapping[hf_name] = sd_name - for k, v in mapping.items(): - if "resnets" in k: - for sd_part, hf_part in unet_conversion_map_resnet: - v = v.replace(hf_part, sd_part) - mapping[k] = v - for k, v in mapping.items(): - for sd_part, hf_part in unet_conversion_map_layer: - v = v.replace(hf_part, sd_part) - mapping[k] = v - new_state_dict = {v: unet_state_dict[k] for k, v in mapping.items()} - return new_state_dict - - # ================# # VAE Conversion # # ================# @@ -157,16 +58,23 @@ vae_conversion_map_attn = [ ] -def reshape_weight_for_sd(w): +def reshape_weight_for_sd(w, conv3d=False): # convert HF linear weights to SD conv2d weights - return w.reshape(*w.shape, 1, 1) + if conv3d: + return w.reshape(*w.shape, 1, 1, 1) + else: + return w.reshape(*w.shape, 1, 1) def convert_vae_state_dict(vae_state_dict): mapping = {k: k for k in vae_state_dict.keys()} + conv3d = False for k, v in mapping.items(): for sd_part, hf_part in vae_conversion_map: v = v.replace(hf_part, sd_part) + if v.endswith(".conv.weight"): + if not conv3d and vae_state_dict[k].ndim == 5: + conv3d = True mapping[k] = v for k, v in mapping.items(): if "attentions" in k: @@ -179,7 +87,7 @@ def convert_vae_state_dict(vae_state_dict): for weight_name in weights_to_convert: if f"mid.attn_1.{weight_name}.weight" in k: logging.debug(f"Reshaping {k} for SD format") - new_state_dict[k] = reshape_weight_for_sd(v) + new_state_dict[k] = reshape_weight_for_sd(v, conv3d=conv3d) return new_state_dict @@ -206,6 +114,7 @@ textenc_pattern = re.compile("|".join(protected.keys())) # Ordering is from https://github.com/pytorch/pytorch/blob/master/test/cpp/api/modules.cpp code2idx = {"q": 0, "k": 1, "v": 2} + # This function exists because at the time of writing torch.cat can't do fp8 with cuda def cat_tensors(tensors): x = 0 @@ -222,6 +131,7 @@ def cat_tensors(tensors): return out + def convert_text_enc_state_dict_v20(text_enc_dict, prefix=""): new_state_dict = {} capture_qkv_weight = {} @@ -277,5 +187,3 @@ def convert_text_enc_state_dict_v20(text_enc_dict, prefix=""): def convert_text_enc_state_dict(text_enc_dict): return text_enc_dict - - diff --git a/comfy/extra_samplers/uni_pc.py b/comfy/extra_samplers/uni_pc.py index a30d1d03f..c57e081e4 100644 --- a/comfy/extra_samplers/uni_pc.py +++ b/comfy/extra_samplers/uni_pc.py @@ -1,10 +1,10 @@ #code taken from: https://github.com/wl-zhao/UniPC and modified import torch -import torch.nn.functional as F import math +import logging -from tqdm.auto import trange, tqdm +from tqdm.auto import trange class NoiseScheduleVP: @@ -16,7 +16,7 @@ class NoiseScheduleVP: continuous_beta_0=0.1, continuous_beta_1=20., ): - """Create a wrapper class for the forward SDE (VP type). + r"""Create a wrapper class for the forward SDE (VP type). *** Update: We support discrete-time diffusion models by implementing a picewise linear interpolation for log_alpha_t. @@ -80,7 +80,7 @@ class NoiseScheduleVP: 'linear' or 'cosine' for continuous-time DPMs. Returns: A wrapper object of the forward SDE (VP type). - + =============================================================== Example: @@ -208,7 +208,7 @@ def model_wrapper( arXiv preprint arXiv:2202.00512 (2022). [2] Ho, Jonathan, et al. "Imagen Video: High Definition Video Generation with Diffusion Models." arXiv preprint arXiv:2210.02303 (2022). - + 4. "score": marginal score function. (Trained by denoising score matching). Note that the score function and the noise prediction model follows a simple relationship: ``` @@ -226,7 +226,7 @@ def model_wrapper( The input `model` has the following format: `` model(x, t_input, **model_kwargs) -> noise | x_start | v | score - `` + `` The input `classifier_fn` has the following format: `` @@ -240,12 +240,12 @@ def model_wrapper( The input `model` has the following format: `` model(x, t_input, cond, **model_kwargs) -> noise | x_start | v | score - `` + `` And if cond == `unconditional_condition`, the model output is the unconditional DPM output. [4] Ho, Jonathan, and Tim Salimans. "Classifier-free diffusion guidance." arXiv preprint arXiv:2207.12598 (2022). - + The `t_input` is the time label of the model, which may be discrete-time labels (i.e. 0 to 999) or continuous-time labels (i.e. epsilon to T). @@ -254,7 +254,7 @@ def model_wrapper( `` def model_fn(x, t_continuous) -> noise: t_input = get_model_input_time(t_continuous) - return noise_pred(model, x, t_input, **model_kwargs) + return noise_pred(model, x, t_input, **model_kwargs) `` where `t_continuous` is the continuous time labels (i.e. epsilon to T). And we use `model_fn` for DPM-Solver. @@ -359,7 +359,7 @@ class UniPC: max_val=1., variant='bh1', ): - """Construct a UniPC. + """Construct a UniPC. We support both data_prediction and noise_prediction. """ @@ -372,7 +372,7 @@ class UniPC: def dynamic_thresholding_fn(self, x0, t=None): """ - The dynamic thresholding method. + The dynamic thresholding method. """ dims = x0.dim() p = self.dynamic_thresholding_ratio @@ -404,7 +404,7 @@ class UniPC: def model_fn(self, x, t): """ - Convert the model to the noise prediction model or the data prediction model. + Convert the model to the noise prediction model or the data prediction model. """ if self.predict_x0: return self.data_prediction_fn(x, t) @@ -461,7 +461,7 @@ class UniPC: def denoise_to_zero_fn(self, x, s): """ - Denoise at the final step, which is equivalent to solve the ODE from lambda_s to infty by first-order discretization. + Denoise at the final step, which is equivalent to solve the ODE from lambda_s to infty by first-order discretization. """ return self.data_prediction_fn(x, s) @@ -475,7 +475,7 @@ class UniPC: return self.multistep_uni_pc_vary_update(x, model_prev_list, t_prev_list, t, order, **kwargs) def multistep_uni_pc_vary_update(self, x, model_prev_list, t_prev_list, t, order, use_corrector=True): - print(f'using unified predictor-corrector with order {order} (solver type: vary coeff)') + logging.info(f'using unified predictor-corrector with order {order} (solver type: vary coeff)') ns = self.noise_schedule assert order <= len(model_prev_list) @@ -510,7 +510,7 @@ class UniPC: col = torch.ones_like(rks) for k in range(1, K + 1): C.append(col) - col = col * rks / (k + 1) + col = col * rks / (k + 1) C = torch.stack(C, dim=1) if len(D1s) > 0: @@ -519,7 +519,6 @@ class UniPC: A_p = C_inv_p if use_corrector: - print('using corrector') C_inv = torch.linalg.inv(C) A_c = C_inv @@ -622,12 +621,12 @@ class UniPC: B_h = torch.expm1(hh) else: raise NotImplementedError() - + for i in range(1, order + 1): R.append(torch.pow(rks, i - 1)) b.append(h_phi_k * factorial_i / B_h) factorial_i *= (i + 1) - h_phi_k = h_phi_k / hh - 1 / factorial_i + h_phi_k = h_phi_k / hh - 1 / factorial_i R = torch.stack(R) b = torch.tensor(b, device=x.device) @@ -662,7 +661,7 @@ class UniPC: if x_t is None: if use_predictor: - pred_res = torch.einsum('k,bkchw->bchw', rhos_p, D1s) + pred_res = torch.tensordot(D1s, rhos_p, dims=([1], [0])) # torch.einsum('k,bkchw->bchw', rhos_p, D1s) else: pred_res = 0 x_t = x_t_ - expand_dims(alpha_t * B_h, dims) * pred_res @@ -670,7 +669,7 @@ class UniPC: if use_corrector: model_t = self.model_fn(x_t, t) if D1s is not None: - corr_res = torch.einsum('k,bkchw->bchw', rhos_c[:-1], D1s) + corr_res = torch.tensordot(D1s, rhos_c[:-1], dims=([1], [0])) # torch.einsum('k,bkchw->bchw', rhos_c[:-1], D1s) else: corr_res = 0 D1_t = (model_t - model_prev_0) @@ -704,7 +703,6 @@ class UniPC: ): # t_0 = 1. / self.noise_schedule.total_N if t_end is None else t_end # t_T = self.noise_schedule.T if t_start is None else t_start - device = x.device steps = len(timesteps) - 1 if method == 'multistep': assert steps >= order @@ -872,4 +870,4 @@ def sample_unipc(model, noise, sigmas, extra_args=None, callback=None, disable=F return x def sample_unipc_bh2(model, noise, sigmas, extra_args=None, callback=None, disable=False): - return sample_unipc(model, noise, sigmas, extra_args, callback, disable, variant='bh2') \ No newline at end of file + return sample_unipc(model, noise, sigmas, extra_args, callback, disable, variant='bh2') diff --git a/comfy/float.py b/comfy/float.py index 57fd07099..521316fd2 100644 --- a/comfy/float.py +++ b/comfy/float.py @@ -1,5 +1,4 @@ import torch -import math def calc_mantissa(abs_x, exponent, normal_mask, MANTISSA_BITS, EXPONENT_BIAS, generator=None): mantissa_scaled = torch.where( @@ -41,9 +40,10 @@ def manual_stochastic_round_to_float8(x, dtype, generator=None): (2.0 ** (exponent - EXPONENT_BIAS)) * (1.0 + abs_x), (2.0 ** (-EXPONENT_BIAS + 1)) * abs_x ) - del abs_x - return sign.to(dtype=dtype) + inf = torch.finfo(dtype) + torch.clamp(sign, min=inf.min, max=inf.max, out=sign) + return sign @@ -57,6 +57,11 @@ def stochastic_rounding(value, dtype, seed=0): if dtype == torch.float8_e4m3fn or dtype == torch.float8_e5m2: generator = torch.Generator(device=value.device) generator.manual_seed(seed) - return manual_stochastic_round_to_float8(value, dtype, generator=generator) + output = torch.empty_like(value, dtype=dtype) + num_slices = max(1, (value.numel() / (4096 * 4096))) + slice_size = max(1, round(value.shape[0] / num_slices)) + for i in range(0, value.shape[0], slice_size): + output[i:i+slice_size].copy_(manual_stochastic_round_to_float8(value[i:i+slice_size], dtype, generator=generator)) + return output return value.to(dtype=dtype) diff --git a/comfy/gligen.py b/comfy/gligen.py index 592522767..161d8a5e5 100644 --- a/comfy/gligen.py +++ b/comfy/gligen.py @@ -1,3 +1,4 @@ +import math import torch from torch import nn from .ldm.modules.attention import CrossAttention diff --git a/comfy/hooks.py b/comfy/hooks.py new file mode 100644 index 000000000..9d0731072 --- /dev/null +++ b/comfy/hooks.py @@ -0,0 +1,785 @@ +from __future__ import annotations +from typing import TYPE_CHECKING, Callable +import enum +import math +import torch +import numpy as np +import itertools +import logging + +if TYPE_CHECKING: + from comfy.model_patcher import ModelPatcher, PatcherInjection + from comfy.model_base import BaseModel + from comfy.sd import CLIP +import comfy.lora +import comfy.model_management +import comfy.patcher_extension +from node_helpers import conditioning_set_values + +# ####################################################################################################### +# Hooks explanation +# ------------------- +# The purpose of hooks is to allow conds to influence sampling without the need for ComfyUI core code to +# make explicit special cases like it does for ControlNet and GLIGEN. +# +# This is necessary for nodes/features that are intended for use with masked or scheduled conds, or those +# that should run special code when a 'marked' cond is used in sampling. +# ####################################################################################################### + +class EnumHookMode(enum.Enum): + ''' + Priority of hook memory optimization vs. speed, mostly related to WeightHooks. + + MinVram: No caching will occur for any operations related to hooks. + MaxSpeed: Excess VRAM (and RAM, once VRAM is sufficiently depleted) will be used to cache hook weights when switching hook groups. + ''' + MinVram = "minvram" + MaxSpeed = "maxspeed" + +class EnumHookType(enum.Enum): + ''' + Hook types, each of which has different expected behavior. + ''' + Weight = "weight" + ObjectPatch = "object_patch" + AdditionalModels = "add_models" + TransformerOptions = "transformer_options" + Injections = "add_injections" + +class EnumWeightTarget(enum.Enum): + Model = "model" + Clip = "clip" + +class EnumHookScope(enum.Enum): + ''' + Determines if hook should be limited in its influence over sampling. + + AllConditioning: hook will affect all conds used in sampling. + HookedOnly: hook will only affect the conds it was attached to. + ''' + AllConditioning = "all_conditioning" + HookedOnly = "hooked_only" + + +class _HookRef: + pass + + +def default_should_register(hook: Hook, model: ModelPatcher, model_options: dict, target_dict: dict[str], registered: HookGroup): + '''Example for how custom_should_register function can look like.''' + return True + + +def create_target_dict(target: EnumWeightTarget=None, **kwargs) -> dict[str]: + '''Creates base dictionary for use with Hooks' target param.''' + d = {} + if target is not None: + d['target'] = target + d.update(kwargs) + return d + + +class Hook: + def __init__(self, hook_type: EnumHookType=None, hook_ref: _HookRef=None, hook_id: str=None, + hook_keyframe: HookKeyframeGroup=None, hook_scope=EnumHookScope.AllConditioning): + self.hook_type = hook_type + '''Enum identifying the general class of this hook.''' + self.hook_ref = hook_ref if hook_ref else _HookRef() + '''Reference shared between hook clones that have the same value. Should NOT be modified.''' + self.hook_id = hook_id + '''Optional string ID to identify hook; useful if need to consolidate duplicates at registration time.''' + self.hook_keyframe = hook_keyframe if hook_keyframe else HookKeyframeGroup() + '''Keyframe storage that can be referenced to get strength for current sampling step.''' + self.hook_scope = hook_scope + '''Scope of where this hook should apply in terms of the conds used in sampling run.''' + self.custom_should_register = default_should_register + '''Can be overriden with a compatible function to decide if this hook should be registered without the need to override .should_register''' + + @property + def strength(self): + return self.hook_keyframe.strength + + def initialize_timesteps(self, model: BaseModel): + self.reset() + self.hook_keyframe.initialize_timesteps(model) + + def reset(self): + self.hook_keyframe.reset() + + def clone(self): + c: Hook = self.__class__() + c.hook_type = self.hook_type + c.hook_ref = self.hook_ref + c.hook_id = self.hook_id + c.hook_keyframe = self.hook_keyframe + c.hook_scope = self.hook_scope + c.custom_should_register = self.custom_should_register + return c + + def should_register(self, model: ModelPatcher, model_options: dict, target_dict: dict[str], registered: HookGroup): + return self.custom_should_register(self, model, model_options, target_dict, registered) + + def add_hook_patches(self, model: ModelPatcher, model_options: dict, target_dict: dict[str], registered: HookGroup): + raise NotImplementedError("add_hook_patches should be defined for Hook subclasses") + + def __eq__(self, other: Hook): + return self.__class__ == other.__class__ and self.hook_ref == other.hook_ref + + def __hash__(self): + return hash(self.hook_ref) + +class WeightHook(Hook): + ''' + Hook responsible for tracking weights to be applied to some model/clip. + + Note, value of hook_scope is ignored and is treated as HookedOnly. + ''' + def __init__(self, strength_model=1.0, strength_clip=1.0): + super().__init__(hook_type=EnumHookType.Weight, hook_scope=EnumHookScope.HookedOnly) + self.weights: dict = None + self.weights_clip: dict = None + self.need_weight_init = True + self._strength_model = strength_model + self._strength_clip = strength_clip + self.hook_scope = EnumHookScope.HookedOnly # this value does not matter for WeightHooks, just for docs + + @property + def strength_model(self): + return self._strength_model * self.strength + + @property + def strength_clip(self): + return self._strength_clip * self.strength + + def add_hook_patches(self, model: ModelPatcher, model_options: dict, target_dict: dict[str], registered: HookGroup): + if not self.should_register(model, model_options, target_dict, registered): + return False + weights = None + + target = target_dict.get('target', None) + if target == EnumWeightTarget.Clip: + strength = self._strength_clip + else: + strength = self._strength_model + + if self.need_weight_init: + key_map = {} + if target == EnumWeightTarget.Clip: + key_map = comfy.lora.model_lora_keys_clip(model.model, key_map) + else: + key_map = comfy.lora.model_lora_keys_unet(model.model, key_map) + weights = comfy.lora.load_lora(self.weights, key_map, log_missing=False) + else: + if target == EnumWeightTarget.Clip: + weights = self.weights_clip + else: + weights = self.weights + model.add_hook_patches(hook=self, patches=weights, strength_patch=strength) + registered.add(self) + return True + # TODO: add logs about any keys that were not applied + + def clone(self): + c: WeightHook = super().clone() + c.weights = self.weights + c.weights_clip = self.weights_clip + c.need_weight_init = self.need_weight_init + c._strength_model = self._strength_model + c._strength_clip = self._strength_clip + return c + +class ObjectPatchHook(Hook): + def __init__(self, object_patches: dict[str]=None, + hook_scope=EnumHookScope.AllConditioning): + super().__init__(hook_type=EnumHookType.ObjectPatch) + self.object_patches = object_patches + self.hook_scope = hook_scope + + def clone(self): + c: ObjectPatchHook = super().clone() + c.object_patches = self.object_patches + return c + + def add_hook_patches(self, model: ModelPatcher, model_options: dict, target_dict: dict[str], registered: HookGroup): + raise NotImplementedError("ObjectPatchHook is not supported yet in ComfyUI.") + +class AdditionalModelsHook(Hook): + ''' + Hook responsible for telling model management any additional models that should be loaded. + + Note, value of hook_scope is ignored and is treated as AllConditioning. + ''' + def __init__(self, models: list[ModelPatcher]=None, key: str=None): + super().__init__(hook_type=EnumHookType.AdditionalModels) + self.models = models + self.key = key + + def clone(self): + c: AdditionalModelsHook = super().clone() + c.models = self.models.copy() if self.models else self.models + c.key = self.key + return c + + def add_hook_patches(self, model: ModelPatcher, model_options: dict, target_dict: dict[str], registered: HookGroup): + if not self.should_register(model, model_options, target_dict, registered): + return False + registered.add(self) + return True + +class TransformerOptionsHook(Hook): + ''' + Hook responsible for adding wrappers, callbacks, patches, or anything else related to transformer_options. + ''' + def __init__(self, transformers_dict: dict[str, dict[str, dict[str, list[Callable]]]]=None, + hook_scope=EnumHookScope.AllConditioning): + super().__init__(hook_type=EnumHookType.TransformerOptions) + self.transformers_dict = transformers_dict + self.hook_scope = hook_scope + self._skip_adding = False + '''Internal value used to avoid double load of transformer_options when hook_scope is AllConditioning.''' + + def clone(self): + c: TransformerOptionsHook = super().clone() + c.transformers_dict = self.transformers_dict + c._skip_adding = self._skip_adding + return c + + def add_hook_patches(self, model: ModelPatcher, model_options: dict, target_dict: dict[str], registered: HookGroup): + if not self.should_register(model, model_options, target_dict, registered): + return False + # NOTE: to_load_options will be used to manually load patches/wrappers/callbacks from hooks + self._skip_adding = False + if self.hook_scope == EnumHookScope.AllConditioning: + add_model_options = {"transformer_options": self.transformers_dict, + "to_load_options": self.transformers_dict} + # skip_adding if included in AllConditioning to avoid double loading + self._skip_adding = True + else: + add_model_options = {"to_load_options": self.transformers_dict} + registered.add(self) + comfy.patcher_extension.merge_nested_dicts(model_options, add_model_options, copy_dict1=False) + return True + + def on_apply_hooks(self, model: ModelPatcher, transformer_options: dict[str]): + if not self._skip_adding: + comfy.patcher_extension.merge_nested_dicts(transformer_options, self.transformers_dict, copy_dict1=False) + +WrapperHook = TransformerOptionsHook +'''Only here for backwards compatibility, WrapperHook is identical to TransformerOptionsHook.''' + +class InjectionsHook(Hook): + def __init__(self, key: str=None, injections: list[PatcherInjection]=None, + hook_scope=EnumHookScope.AllConditioning): + super().__init__(hook_type=EnumHookType.Injections) + self.key = key + self.injections = injections + self.hook_scope = hook_scope + + def clone(self): + c: InjectionsHook = super().clone() + c.key = self.key + c.injections = self.injections.copy() if self.injections else self.injections + return c + + def add_hook_patches(self, model: ModelPatcher, model_options: dict, target_dict: dict[str], registered: HookGroup): + raise NotImplementedError("InjectionsHook is not supported yet in ComfyUI.") + +class HookGroup: + ''' + Stores groups of hooks, and allows them to be queried by type. + + To prevent breaking their functionality, never modify the underlying self.hooks or self._hook_dict vars directly; + always use the provided functions on HookGroup. + ''' + def __init__(self): + self.hooks: list[Hook] = [] + self._hook_dict: dict[EnumHookType, list[Hook]] = {} + + def __len__(self): + return len(self.hooks) + + def add(self, hook: Hook): + if hook not in self.hooks: + self.hooks.append(hook) + self._hook_dict.setdefault(hook.hook_type, []).append(hook) + + def remove(self, hook: Hook): + if hook in self.hooks: + self.hooks.remove(hook) + self._hook_dict[hook.hook_type].remove(hook) + + def get_type(self, hook_type: EnumHookType): + return self._hook_dict.get(hook_type, []) + + def contains(self, hook: Hook): + return hook in self.hooks + + def is_subset_of(self, other: HookGroup): + self_hooks = set(self.hooks) + other_hooks = set(other.hooks) + return self_hooks.issubset(other_hooks) + + def new_with_common_hooks(self, other: HookGroup): + c = HookGroup() + for hook in self.hooks: + if other.contains(hook): + c.add(hook.clone()) + return c + + def clone(self): + c = HookGroup() + for hook in self.hooks: + c.add(hook.clone()) + return c + + def clone_and_combine(self, other: HookGroup): + c = self.clone() + if other is not None: + for hook in other.hooks: + c.add(hook.clone()) + return c + + def set_keyframes_on_hooks(self, hook_kf: HookKeyframeGroup): + if hook_kf is None: + hook_kf = HookKeyframeGroup() + else: + hook_kf = hook_kf.clone() + for hook in self.hooks: + hook.hook_keyframe = hook_kf + + def get_hooks_for_clip_schedule(self): + scheduled_hooks: dict[WeightHook, list[tuple[tuple[float,float], HookKeyframe]]] = {} + # only care about WeightHooks, for now + for hook in self.get_type(EnumHookType.Weight): + hook: WeightHook + hook_schedule = [] + # if no hook keyframes, assign default value + if len(hook.hook_keyframe.keyframes) == 0: + hook_schedule.append(((0.0, 1.0), None)) + scheduled_hooks[hook] = hook_schedule + continue + # find ranges of values + prev_keyframe = hook.hook_keyframe.keyframes[0] + for keyframe in hook.hook_keyframe.keyframes: + if keyframe.start_percent > prev_keyframe.start_percent and not math.isclose(keyframe.strength, prev_keyframe.strength): + hook_schedule.append(((prev_keyframe.start_percent, keyframe.start_percent), prev_keyframe)) + prev_keyframe = keyframe + elif keyframe.start_percent == prev_keyframe.start_percent: + prev_keyframe = keyframe + # create final range, assuming last start_percent was not 1.0 + if not math.isclose(prev_keyframe.start_percent, 1.0): + hook_schedule.append(((prev_keyframe.start_percent, 1.0), prev_keyframe)) + scheduled_hooks[hook] = hook_schedule + # hooks should not have their schedules in a list of tuples + all_ranges: list[tuple[float, float]] = [] + for range_kfs in scheduled_hooks.values(): + for t_range, keyframe in range_kfs: + all_ranges.append(t_range) + # turn list of ranges into boundaries + boundaries_set = set(itertools.chain.from_iterable(all_ranges)) + boundaries_set.add(0.0) + boundaries = sorted(boundaries_set) + real_ranges = [(boundaries[i], boundaries[i + 1]) for i in range(len(boundaries) - 1)] + # with real ranges defined, give appropriate hooks w/ keyframes for each range + scheduled_keyframes: list[tuple[tuple[float,float], list[tuple[WeightHook, HookKeyframe]]]] = [] + for t_range in real_ranges: + hooks_schedule = [] + for hook, val in scheduled_hooks.items(): + keyframe = None + # check if is a keyframe that works for the current t_range + for stored_range, stored_kf in val: + # if stored start is less than current end, then fits - give it assigned keyframe + if stored_range[0] < t_range[1] and stored_range[1] > t_range[0]: + keyframe = stored_kf + break + hooks_schedule.append((hook, keyframe)) + scheduled_keyframes.append((t_range, hooks_schedule)) + return scheduled_keyframes + + def reset(self): + for hook in self.hooks: + hook.reset() + + @staticmethod + def combine_all_hooks(hooks_list: list[HookGroup], require_count=0) -> HookGroup: + actual: list[HookGroup] = [] + for group in hooks_list: + if group is not None: + actual.append(group) + if len(actual) < require_count: + raise Exception(f"Need at least {require_count} hooks to combine, but only had {len(actual)}.") + # if no hooks, then return None + if len(actual) == 0: + return None + # if only 1 hook, just return itself without cloning + elif len(actual) == 1: + return actual[0] + final_hook: HookGroup = None + for hook in actual: + if final_hook is None: + final_hook = hook.clone() + else: + final_hook = final_hook.clone_and_combine(hook) + return final_hook + + +class HookKeyframe: + def __init__(self, strength: float, start_percent=0.0, guarantee_steps=1): + self.strength = strength + # scheduling + self.start_percent = float(start_percent) + self.start_t = 999999999.9 + self.guarantee_steps = guarantee_steps + + def get_effective_guarantee_steps(self, max_sigma: torch.Tensor): + '''If keyframe starts before current sampling range (max_sigma), treat as 0.''' + if self.start_t > max_sigma: + return 0 + return self.guarantee_steps + + def clone(self): + c = HookKeyframe(strength=self.strength, + start_percent=self.start_percent, guarantee_steps=self.guarantee_steps) + c.start_t = self.start_t + return c + +class HookKeyframeGroup: + def __init__(self): + self.keyframes: list[HookKeyframe] = [] + self._current_keyframe: HookKeyframe = None + self._current_used_steps = 0 + self._current_index = 0 + self._current_strength = None + self._curr_t = -1. + + # properties shadow those of HookWeightsKeyframe + @property + def strength(self): + if self._current_keyframe is not None: + return self._current_keyframe.strength + return 1.0 + + def reset(self): + self._current_keyframe = None + self._current_used_steps = 0 + self._current_index = 0 + self._current_strength = None + self.curr_t = -1. + self._set_first_as_current() + + def add(self, keyframe: HookKeyframe): + # add to end of list, then sort + self.keyframes.append(keyframe) + self.keyframes = get_sorted_list_via_attr(self.keyframes, "start_percent") + self._set_first_as_current() + + def _set_first_as_current(self): + if len(self.keyframes) > 0: + self._current_keyframe = self.keyframes[0] + else: + self._current_keyframe = None + + def has_guarantee_steps(self): + for kf in self.keyframes: + if kf.guarantee_steps > 0: + return True + return False + + def has_index(self, index: int): + return index >= 0 and index < len(self.keyframes) + + def is_empty(self): + return len(self.keyframes) == 0 + + def clone(self): + c = HookKeyframeGroup() + for keyframe in self.keyframes: + c.keyframes.append(keyframe.clone()) + c._set_first_as_current() + return c + + def initialize_timesteps(self, model: BaseModel): + for keyframe in self.keyframes: + keyframe.start_t = model.model_sampling.percent_to_sigma(keyframe.start_percent) + + def prepare_current_keyframe(self, curr_t: float, transformer_options: dict[str, torch.Tensor]) -> bool: + if self.is_empty(): + return False + if curr_t == self._curr_t: + return False + max_sigma = torch.max(transformer_options["sample_sigmas"]) + prev_index = self._current_index + prev_strength = self._current_strength + # if met guaranteed steps, look for next keyframe in case need to switch + if self._current_used_steps >= self._current_keyframe.get_effective_guarantee_steps(max_sigma): + # if has next index, loop through and see if need to switch + if self.has_index(self._current_index+1): + for i in range(self._current_index+1, len(self.keyframes)): + eval_c = self.keyframes[i] + # check if start_t is greater or equal to curr_t + # NOTE: t is in terms of sigmas, not percent, so bigger number = earlier step in sampling + if eval_c.start_t >= curr_t: + self._current_index = i + self._current_strength = eval_c.strength + self._current_keyframe = eval_c + self._current_used_steps = 0 + # if guarantee_steps greater than zero, stop searching for other keyframes + if self._current_keyframe.get_effective_guarantee_steps(max_sigma) > 0: + break + # if eval_c is outside the percent range, stop looking further + else: break + # update steps current context is used + self._current_used_steps += 1 + # update current timestep this was performed on + self._curr_t = curr_t + # return True if keyframe changed, False if no change + return prev_index != self._current_index and prev_strength != self._current_strength + + +class InterpolationMethod: + LINEAR = "linear" + EASE_IN = "ease_in" + EASE_OUT = "ease_out" + EASE_IN_OUT = "ease_in_out" + + _LIST = [LINEAR, EASE_IN, EASE_OUT, EASE_IN_OUT] + + @classmethod + def get_weights(cls, num_from: float, num_to: float, length: int, method: str, reverse=False): + diff = num_to - num_from + if method == cls.LINEAR: + weights = torch.linspace(num_from, num_to, length) + elif method == cls.EASE_IN: + index = torch.linspace(0, 1, length) + weights = diff * np.power(index, 2) + num_from + elif method == cls.EASE_OUT: + index = torch.linspace(0, 1, length) + weights = diff * (1 - np.power(1 - index, 2)) + num_from + elif method == cls.EASE_IN_OUT: + index = torch.linspace(0, 1, length) + weights = diff * ((1 - np.cos(index * np.pi)) / 2) + num_from + else: + raise ValueError(f"Unrecognized interpolation method '{method}'.") + if reverse: + weights = weights.flip(dims=(0,)) + return weights + +def get_sorted_list_via_attr(objects: list, attr: str) -> list: + if not objects: + return objects + elif len(objects) <= 1: + return [x for x in objects] + # now that we know we have to sort, do it following these rules: + # a) if objects have same value of attribute, maintain their relative order + # b) perform sorting of the groups of objects with same attributes + unique_attrs = {} + for o in objects: + val_attr = getattr(o, attr) + attr_list: list = unique_attrs.get(val_attr, list()) + attr_list.append(o) + if val_attr not in unique_attrs: + unique_attrs[val_attr] = attr_list + # now that we have the unique attr values grouped together in relative order, sort them by key + sorted_attrs = dict(sorted(unique_attrs.items())) + # now flatten out the dict into a list to return + sorted_list = [] + for object_list in sorted_attrs.values(): + sorted_list.extend(object_list) + return sorted_list + +def create_transformer_options_from_hooks(model: ModelPatcher, hooks: HookGroup, transformer_options: dict[str]=None): + # if no hooks or is not a ModelPatcher for sampling, return empty dict + if hooks is None or model.is_clip: + return {} + if transformer_options is None: + transformer_options = {} + for hook in hooks.get_type(EnumHookType.TransformerOptions): + hook: TransformerOptionsHook + hook.on_apply_hooks(model, transformer_options) + return transformer_options + +def create_hook_lora(lora: dict[str, torch.Tensor], strength_model: float, strength_clip: float): + hook_group = HookGroup() + hook = WeightHook(strength_model=strength_model, strength_clip=strength_clip) + hook_group.add(hook) + hook.weights = lora + return hook_group + +def create_hook_model_as_lora(weights_model, weights_clip, strength_model: float, strength_clip: float): + hook_group = HookGroup() + hook = WeightHook(strength_model=strength_model, strength_clip=strength_clip) + hook_group.add(hook) + patches_model = None + patches_clip = None + if weights_model is not None: + patches_model = {} + for key in weights_model: + patches_model[key] = ("model_as_lora", (weights_model[key],)) + if weights_clip is not None: + patches_clip = {} + for key in weights_clip: + patches_clip[key] = ("model_as_lora", (weights_clip[key],)) + hook.weights = patches_model + hook.weights_clip = patches_clip + hook.need_weight_init = False + return hook_group + +def get_patch_weights_from_model(model: ModelPatcher, discard_model_sampling=True): + if model is None: + return None + patches_model: dict[str, torch.Tensor] = model.model.state_dict() + if discard_model_sampling: + # do not include ANY model_sampling components of the model that should act as a patch + for key in list(patches_model.keys()): + if key.startswith("model_sampling"): + patches_model.pop(key, None) + return patches_model + +# NOTE: this function shows how to register weight hooks directly on the ModelPatchers +def load_hook_lora_for_models(model: ModelPatcher, clip: CLIP, lora: dict[str, torch.Tensor], + strength_model: float, strength_clip: float): + key_map = {} + if model is not None: + key_map = comfy.lora.model_lora_keys_unet(model.model, key_map) + if clip is not None: + key_map = comfy.lora.model_lora_keys_clip(clip.cond_stage_model, key_map) + + hook_group = HookGroup() + hook = WeightHook() + hook_group.add(hook) + loaded: dict[str] = comfy.lora.load_lora(lora, key_map) + if model is not None: + new_modelpatcher = model.clone() + k = new_modelpatcher.add_hook_patches(hook=hook, patches=loaded, strength_patch=strength_model) + else: + k = () + new_modelpatcher = None + + if clip is not None: + new_clip = clip.clone() + k1 = new_clip.patcher.add_hook_patches(hook=hook, patches=loaded, strength_patch=strength_clip) + else: + k1 = () + new_clip = None + k = set(k) + k1 = set(k1) + for x in loaded: + if (x not in k) and (x not in k1): + logging.warning(f"NOT LOADED {x}") + return (new_modelpatcher, new_clip, hook_group) + +def _combine_hooks_from_values(c_dict: dict[str, HookGroup], values: dict[str, HookGroup], cache: dict[tuple[HookGroup, HookGroup], HookGroup]): + hooks_key = 'hooks' + # if hooks only exist in one dict, do what's needed so that it ends up in c_dict + if hooks_key not in values: + return + if hooks_key not in c_dict: + hooks_value = values.get(hooks_key, None) + if hooks_value is not None: + c_dict[hooks_key] = hooks_value + return + # otherwise, need to combine with minimum duplication via cache + hooks_tuple = (c_dict[hooks_key], values[hooks_key]) + cached_hooks = cache.get(hooks_tuple, None) + if cached_hooks is None: + new_hooks = hooks_tuple[0].clone_and_combine(hooks_tuple[1]) + cache[hooks_tuple] = new_hooks + c_dict[hooks_key] = new_hooks + else: + c_dict[hooks_key] = cache[hooks_tuple] + +def conditioning_set_values_with_hooks(conditioning, values={}, append_hooks=True, + cache: dict[tuple[HookGroup, HookGroup], HookGroup]=None): + c = [] + if cache is None: + cache = {} + for t in conditioning: + n = [t[0], t[1].copy()] + for k in values: + if append_hooks and k == 'hooks': + _combine_hooks_from_values(n[1], values, cache) + else: + n[1][k] = values[k] + c.append(n) + + return c + +def set_hooks_for_conditioning(cond, hooks: HookGroup, append_hooks=True, cache: dict[tuple[HookGroup, HookGroup], HookGroup]=None): + if hooks is None: + return cond + return conditioning_set_values_with_hooks(cond, {'hooks': hooks}, append_hooks=append_hooks, cache=cache) + +def set_timesteps_for_conditioning(cond, timestep_range: tuple[float,float]): + if timestep_range is None: + return cond + return conditioning_set_values(cond, {"start_percent": timestep_range[0], + "end_percent": timestep_range[1]}) + +def set_mask_for_conditioning(cond, mask: torch.Tensor, set_cond_area: str, strength: float): + if mask is None: + return cond + set_area_to_bounds = False + if set_cond_area != 'default': + set_area_to_bounds = True + if len(mask.shape) < 3: + mask = mask.unsqueeze(0) + return conditioning_set_values(cond, {'mask': mask, + 'set_area_to_bounds': set_area_to_bounds, + 'mask_strength': strength}) + +def combine_conditioning(conds: list): + combined_conds = [] + for cond in conds: + combined_conds.extend(cond) + return combined_conds + +def combine_with_new_conds(conds: list, new_conds: list): + combined_conds = [] + for c, new_c in zip(conds, new_conds): + combined_conds.append(combine_conditioning([c, new_c])) + return combined_conds + +def set_conds_props(conds: list, strength: float, set_cond_area: str, + mask: torch.Tensor=None, hooks: HookGroup=None, timesteps_range: tuple[float,float]=None, append_hooks=True): + final_conds = [] + cache = {} + for c in conds: + # first, apply lora_hook to conditioning, if provided + c = set_hooks_for_conditioning(c, hooks, append_hooks=append_hooks, cache=cache) + # next, apply mask to conditioning + c = set_mask_for_conditioning(cond=c, mask=mask, strength=strength, set_cond_area=set_cond_area) + # apply timesteps, if present + c = set_timesteps_for_conditioning(cond=c, timestep_range=timesteps_range) + # finally, apply mask to conditioning and store + final_conds.append(c) + return final_conds + +def set_conds_props_and_combine(conds: list, new_conds: list, strength: float=1.0, set_cond_area: str="default", + mask: torch.Tensor=None, hooks: HookGroup=None, timesteps_range: tuple[float,float]=None, append_hooks=True): + combined_conds = [] + cache = {} + for c, masked_c in zip(conds, new_conds): + # first, apply lora_hook to new conditioning, if provided + masked_c = set_hooks_for_conditioning(masked_c, hooks, append_hooks=append_hooks, cache=cache) + # next, apply mask to new conditioning, if provided + masked_c = set_mask_for_conditioning(cond=masked_c, mask=mask, set_cond_area=set_cond_area, strength=strength) + # apply timesteps, if present + masked_c = set_timesteps_for_conditioning(cond=masked_c, timestep_range=timesteps_range) + # finally, combine with existing conditioning and store + combined_conds.append(combine_conditioning([c, masked_c])) + return combined_conds + +def set_default_conds_and_combine(conds: list, new_conds: list, + hooks: HookGroup=None, timesteps_range: tuple[float,float]=None, append_hooks=True): + combined_conds = [] + cache = {} + for c, new_c in zip(conds, new_conds): + # first, apply lora_hook to new conditioning, if provided + new_c = set_hooks_for_conditioning(new_c, hooks, append_hooks=append_hooks, cache=cache) + # next, add default_cond key to cond so that during sampling, it can be identified + new_c = conditioning_set_values(new_c, {'default': True}) + # apply timesteps, if present + new_c = set_timesteps_for_conditioning(cond=new_c, timestep_range=timesteps_range) + # finally, combine with existing conditioning and store + combined_conds.append(combine_conditioning([c, new_c])) + return combined_conds diff --git a/comfy/k_diffusion/deis.py b/comfy/k_diffusion/deis.py index 607410656..a1167a4a3 100644 --- a/comfy/k_diffusion/deis.py +++ b/comfy/k_diffusion/deis.py @@ -11,7 +11,6 @@ import numpy as np # Transfer from the input time (sigma) used in EDM to that (t) used in DEIS. def edm2t(edm_steps, epsilon_s=1e-3, sigma_min=0.002, sigma_max=80): - vp_sigma = lambda beta_d, beta_min: lambda t: (np.e ** (0.5 * beta_d * (t ** 2) + beta_min * t) - 1) ** 0.5 vp_sigma_inv = lambda beta_d, beta_min: lambda sigma: ((beta_min ** 2 + 2 * beta_d * (sigma ** 2 + 1).log()).sqrt() - beta_min) / beta_d vp_beta_d = 2 * (np.log(torch.tensor(sigma_min).cpu() ** 2 + 1) / epsilon_s - np.log(torch.tensor(sigma_max).cpu() ** 2 + 1)) / (epsilon_s - 1) vp_beta_min = np.log(torch.tensor(sigma_max).cpu() ** 2 + 1) - 0.5 * vp_beta_d diff --git a/comfy/k_diffusion/sampling.py b/comfy/k_diffusion/sampling.py index 385a25164..2c0d18320 100644 --- a/comfy/k_diffusion/sampling.py +++ b/comfy/k_diffusion/sampling.py @@ -40,10 +40,21 @@ def get_sigmas_polyexponential(n, sigma_min, sigma_max, rho=1., device='cpu'): def get_sigmas_vp(n, beta_d=19.9, beta_min=0.1, eps_s=1e-3, device='cpu'): """Constructs a continuous VP noise schedule.""" t = torch.linspace(1, eps_s, n, device=device) - sigmas = torch.sqrt(torch.exp(beta_d * t ** 2 / 2 + beta_min * t) - 1) + sigmas = torch.sqrt(torch.special.expm1(beta_d * t ** 2 / 2 + beta_min * t)) return append_zero(sigmas) +def get_sigmas_laplace(n, sigma_min, sigma_max, mu=0., beta=0.5, device='cpu'): + """Constructs the noise schedule proposed by Tiankai et al. (2024). """ + epsilon = 1e-5 # avoid log(0) + x = torch.linspace(0, 1, n, device=device) + clamp = lambda x: torch.clamp(x, min=sigma_min, max=sigma_max) + lmb = mu - beta * torch.sign(0.5-x) * torch.log(1 - 2 * torch.abs(0.5-x) + epsilon) + sigmas = clamp(torch.exp(lmb)) + return sigmas + + + def to_d(x, sigma, denoised): """Converts a denoiser output to a Karras ODE derivative.""" return (x - denoised) / utils.append_dims(sigma, x.ndim) @@ -59,8 +70,14 @@ def get_ancestral_step(sigma_from, sigma_to, eta=1.): return sigma_down, sigma_up -def default_noise_sampler(x): - return lambda sigma, sigma_next: torch.randn_like(x) +def default_noise_sampler(x, seed=None): + if seed is not None: + generator = torch.Generator(device=x.device) + generator.manual_seed(seed) + else: + generator = None + + return lambda sigma, sigma_next: torch.randn(x.size(), dtype=x.dtype, layout=x.layout, device=x.device, generator=generator) class BatchedBrownianTree: @@ -153,23 +170,55 @@ def sample_euler(model, x, sigmas, extra_args=None, callback=None, disable=None, @torch.no_grad() def sample_euler_ancestral(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): + if isinstance(model.inner_model.inner_model.model_sampling, comfy.model_sampling.CONST): + return sample_euler_ancestral_RF(model, x, sigmas, extra_args, callback, disable, eta, s_noise, noise_sampler) """Ancestral sampling with Euler method steps.""" extra_args = {} if extra_args is None else extra_args - noise_sampler = default_noise_sampler(x) if noise_sampler is None else noise_sampler + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler s_in = x.new_ones([x.shape[0]]) for i in trange(len(sigmas) - 1, disable=disable): denoised = model(x, sigmas[i] * s_in, **extra_args) sigma_down, sigma_up = get_ancestral_step(sigmas[i], sigmas[i + 1], eta=eta) if callback is not None: callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) - d = to_d(x, sigmas[i], denoised) - # Euler method - dt = sigma_down - sigmas[i] - x = x + d * dt - if sigmas[i + 1] > 0: - x = x + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * sigma_up + + if sigma_down == 0: + x = denoised + else: + d = to_d(x, sigmas[i], denoised) + # Euler method + dt = sigma_down - sigmas[i] + x = x + d * dt + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * sigma_up return x +@torch.no_grad() +def sample_euler_ancestral_RF(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1.0, s_noise=1., noise_sampler=None): + """Ancestral sampling with Euler method steps.""" + extra_args = {} if extra_args is None else extra_args + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler + s_in = x.new_ones([x.shape[0]]) + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + # sigma_down, sigma_up = get_ancestral_step(sigmas[i], sigmas[i + 1], eta=eta) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + + if sigmas[i + 1] == 0: + x = denoised + else: + downstep_ratio = 1 + (sigmas[i + 1] / sigmas[i] - 1) * eta + sigma_down = sigmas[i + 1] * downstep_ratio + alpha_ip1 = 1 - sigmas[i + 1] + alpha_down = 1 - sigma_down + renoise_coeff = (sigmas[i + 1]**2 - sigma_down**2 * alpha_ip1**2 / alpha_down**2)**0.5 + # Euler method + sigma_down_i_ratio = sigma_down / sigmas[i] + x = sigma_down_i_ratio * x + (1 - sigma_down_i_ratio) * denoised + if eta > 0: + x = (alpha_ip1 / alpha_down) * x + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * renoise_coeff + return x @torch.no_grad() def sample_heun(model, x, sigmas, extra_args=None, callback=None, disable=None, s_churn=0., s_tmin=0., s_tmax=float('inf'), s_noise=1.): @@ -244,9 +293,13 @@ def sample_dpm_2(model, x, sigmas, extra_args=None, callback=None, disable=None, @torch.no_grad() def sample_dpm_2_ancestral(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): + if isinstance(model.inner_model.inner_model.model_sampling, comfy.model_sampling.CONST): + return sample_dpm_2_ancestral_RF(model, x, sigmas, extra_args, callback, disable, eta, s_noise, noise_sampler) + """Ancestral sampling with DPM-Solver second-order steps.""" extra_args = {} if extra_args is None else extra_args - noise_sampler = default_noise_sampler(x) if noise_sampler is None else noise_sampler + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler s_in = x.new_ones([x.shape[0]]) for i in trange(len(sigmas) - 1, disable=disable): denoised = model(x, sigmas[i] * s_in, **extra_args) @@ -270,6 +323,39 @@ def sample_dpm_2_ancestral(model, x, sigmas, extra_args=None, callback=None, dis x = x + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * sigma_up return x +@torch.no_grad() +def sample_dpm_2_ancestral_RF(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): + """Ancestral sampling with DPM-Solver second-order steps.""" + extra_args = {} if extra_args is None else extra_args + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler + s_in = x.new_ones([x.shape[0]]) + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + downstep_ratio = 1 + (sigmas[i+1]/sigmas[i] - 1) * eta + sigma_down = sigmas[i+1] * downstep_ratio + alpha_ip1 = 1 - sigmas[i+1] + alpha_down = 1 - sigma_down + renoise_coeff = (sigmas[i+1]**2 - sigma_down**2*alpha_ip1**2/alpha_down**2)**0.5 + + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + d = to_d(x, sigmas[i], denoised) + if sigma_down == 0: + # Euler method + dt = sigma_down - sigmas[i] + x = x + d * dt + else: + # DPM-Solver-2 + sigma_mid = sigmas[i].log().lerp(sigma_down.log(), 0.5).exp() + dt_1 = sigma_mid - sigmas[i] + dt_2 = sigma_down - sigmas[i] + x_2 = x + d * dt_1 + denoised_2 = model(x_2, sigma_mid * s_in, **extra_args) + d_2 = to_d(x_2, sigma_mid, denoised_2) + x = x + d_2 * dt_2 + x = (alpha_ip1/alpha_down) * x + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * renoise_coeff + return x def linear_multistep_coeff(order, t, i, j): if order - 1 > i: @@ -389,7 +475,7 @@ class DPMSolver(nn.Module): return x_3, eps_cache def dpm_solver_fast(self, x, t_start, t_end, nfe, eta=0., s_noise=1., noise_sampler=None): - noise_sampler = default_noise_sampler(x) if noise_sampler is None else noise_sampler + noise_sampler = default_noise_sampler(x, seed=self.extra_args.get("seed", None)) if noise_sampler is None else noise_sampler if not t_end > t_start and eta: raise ValueError('eta must be 0 for reverse sampling') @@ -428,7 +514,7 @@ class DPMSolver(nn.Module): return x def dpm_solver_adaptive(self, x, t_start, t_end, order=3, rtol=0.05, atol=0.0078, h_init=0.05, pcoeff=0., icoeff=1., dcoeff=0., accept_safety=0.81, eta=0., s_noise=1., noise_sampler=None): - noise_sampler = default_noise_sampler(x) if noise_sampler is None else noise_sampler + noise_sampler = default_noise_sampler(x, seed=self.extra_args.get("seed", None)) if noise_sampler is None else noise_sampler if order not in {2, 3}: raise ValueError('order should be 2 or 3') forward = t_end > t_start @@ -515,7 +601,8 @@ def sample_dpmpp_2s_ancestral(model, x, sigmas, extra_args=None, callback=None, """Ancestral sampling with DPM-Solver++(2S) second-order steps.""" extra_args = {} if extra_args is None else extra_args - noise_sampler = default_noise_sampler(x) if noise_sampler is None else noise_sampler + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler s_in = x.new_ones([x.shape[0]]) sigma_fn = lambda t: t.neg().exp() t_fn = lambda sigma: sigma.log().neg() @@ -549,7 +636,8 @@ def sample_dpmpp_2s_ancestral(model, x, sigmas, extra_args=None, callback=None, def sample_dpmpp_2s_ancestral_RF(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): """Ancestral sampling with DPM-Solver++(2S) second-order steps.""" extra_args = {} if extra_args is None else extra_args - noise_sampler = default_noise_sampler(x) if noise_sampler is None else noise_sampler + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler s_in = x.new_ones([x.shape[0]]) sigma_fn = lambda lbda: (lbda.exp() + 1) ** -1 lambda_fn = lambda sigma: ((1-sigma)/sigma).log() @@ -806,7 +894,8 @@ def DDPMSampler_step(x, sigma, sigma_prev, noise, noise_sampler): def generic_step_sampler(model, x, sigmas, extra_args=None, callback=None, disable=None, noise_sampler=None, step_function=None): extra_args = {} if extra_args is None else extra_args - noise_sampler = default_noise_sampler(x) if noise_sampler is None else noise_sampler + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler s_in = x.new_ones([x.shape[0]]) for i in trange(len(sigmas) - 1, disable=disable): @@ -826,7 +915,8 @@ def sample_ddpm(model, x, sigmas, extra_args=None, callback=None, disable=None, @torch.no_grad() def sample_lcm(model, x, sigmas, extra_args=None, callback=None, disable=None, noise_sampler=None): extra_args = {} if extra_args is None else extra_args - noise_sampler = default_noise_sampler(x) if noise_sampler is None else noise_sampler + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler s_in = x.new_ones([x.shape[0]]) for i in trange(len(sigmas) - 1, disable=disable): denoised = model(x, sigmas[i] * s_in, **extra_args) @@ -1069,7 +1159,6 @@ def sample_euler_cfg_pp(model, x, sigmas, extra_args=None, callback=None, disabl d = to_d(x, sigma_hat, temp[0]) if callback is not None: callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigma_hat, 'denoised': denoised}) - dt = sigmas[i + 1] - sigma_hat # Euler method x = denoised + d * sigmas[i + 1] return x @@ -1078,7 +1167,8 @@ def sample_euler_cfg_pp(model, x, sigmas, extra_args=None, callback=None, disabl def sample_euler_ancestral_cfg_pp(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): """Ancestral sampling with Euler method steps.""" extra_args = {} if extra_args is None else extra_args - noise_sampler = default_noise_sampler(x) if noise_sampler is None else noise_sampler + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler temp = [0] def post_cfg_function(args): @@ -1096,8 +1186,176 @@ def sample_euler_ancestral_cfg_pp(model, x, sigmas, extra_args=None, callback=No callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) d = to_d(x, sigmas[i], temp[0]) # Euler method - dt = sigma_down - sigmas[i] x = denoised + d * sigma_down if sigmas[i + 1] > 0: x = x + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * sigma_up return x +@torch.no_grad() +def sample_dpmpp_2s_ancestral_cfg_pp(model, x, sigmas, extra_args=None, callback=None, disable=None, eta=1., s_noise=1., noise_sampler=None): + """Ancestral sampling with DPM-Solver++(2S) second-order steps.""" + extra_args = {} if extra_args is None else extra_args + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler + + temp = [0] + def post_cfg_function(args): + temp[0] = args["uncond_denoised"] + return args["denoised"] + + model_options = extra_args.get("model_options", {}).copy() + extra_args["model_options"] = comfy.model_patcher.set_model_options_post_cfg_function(model_options, post_cfg_function, disable_cfg1_optimization=True) + + s_in = x.new_ones([x.shape[0]]) + sigma_fn = lambda t: t.neg().exp() + t_fn = lambda sigma: sigma.log().neg() + + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + sigma_down, sigma_up = get_ancestral_step(sigmas[i], sigmas[i + 1], eta=eta) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + if sigma_down == 0: + # Euler method + d = to_d(x, sigmas[i], temp[0]) + x = denoised + d * sigma_down + else: + # DPM-Solver++(2S) + t, t_next = t_fn(sigmas[i]), t_fn(sigma_down) + # r = torch.sinh(1 + (2 - eta) * (t_next - t) / (t - t_fn(sigma_up))) works only on non-cfgpp, weird + r = 1 / 2 + h = t_next - t + s = t + r * h + x_2 = (sigma_fn(s) / sigma_fn(t)) * (x + (denoised - temp[0])) - (-h * r).expm1() * denoised + denoised_2 = model(x_2, sigma_fn(s) * s_in, **extra_args) + x = (sigma_fn(t_next) / sigma_fn(t)) * (x + (denoised - temp[0])) - (-h).expm1() * denoised_2 + # Noise addition + if sigmas[i + 1] > 0: + x = x + noise_sampler(sigmas[i], sigmas[i + 1]) * s_noise * sigma_up + return x + +@torch.no_grad() +def sample_dpmpp_2m_cfg_pp(model, x, sigmas, extra_args=None, callback=None, disable=None): + """DPM-Solver++(2M).""" + extra_args = {} if extra_args is None else extra_args + s_in = x.new_ones([x.shape[0]]) + t_fn = lambda sigma: sigma.log().neg() + + old_uncond_denoised = None + uncond_denoised = None + def post_cfg_function(args): + nonlocal uncond_denoised + uncond_denoised = args["uncond_denoised"] + return args["denoised"] + + model_options = extra_args.get("model_options", {}).copy() + extra_args["model_options"] = comfy.model_patcher.set_model_options_post_cfg_function(model_options, post_cfg_function, disable_cfg1_optimization=True) + + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + t, t_next = t_fn(sigmas[i]), t_fn(sigmas[i + 1]) + h = t_next - t + if old_uncond_denoised is None or sigmas[i + 1] == 0: + denoised_mix = -torch.exp(-h) * uncond_denoised + else: + h_last = t - t_fn(sigmas[i - 1]) + r = h_last / h + denoised_mix = -torch.exp(-h) * uncond_denoised - torch.expm1(-h) * (1 / (2 * r)) * (denoised - old_uncond_denoised) + x = denoised + denoised_mix + torch.exp(-h) * x + old_uncond_denoised = uncond_denoised + return x + +@torch.no_grad() +def res_multistep(model, x, sigmas, extra_args=None, callback=None, disable=None, s_churn=0., s_tmin=0., s_tmax=float('inf'), s_noise=1., noise_sampler=None, cfg_pp=False): + extra_args = {} if extra_args is None else extra_args + seed = extra_args.get("seed", None) + noise_sampler = default_noise_sampler(x, seed=seed) if noise_sampler is None else noise_sampler + s_in = x.new_ones([x.shape[0]]) + sigma_fn = lambda t: t.neg().exp() + t_fn = lambda sigma: sigma.log().neg() + phi1_fn = lambda t: torch.expm1(t) / t + phi2_fn = lambda t: (phi1_fn(t) - 1.0) / t + + old_denoised = None + uncond_denoised = None + def post_cfg_function(args): + nonlocal uncond_denoised + uncond_denoised = args["uncond_denoised"] + return args["denoised"] + + if cfg_pp: + model_options = extra_args.get("model_options", {}).copy() + extra_args["model_options"] = comfy.model_patcher.set_model_options_post_cfg_function(model_options, post_cfg_function, disable_cfg1_optimization=True) + + for i in trange(len(sigmas) - 1, disable=disable): + if s_churn > 0: + gamma = min(s_churn / (len(sigmas) - 1), 2**0.5 - 1) if s_tmin <= sigmas[i] <= s_tmax else 0.0 + sigma_hat = sigmas[i] * (gamma + 1) + else: + gamma = 0 + sigma_hat = sigmas[i] + + if gamma > 0: + eps = torch.randn_like(x) * s_noise + x = x + eps * (sigma_hat**2 - sigmas[i] ** 2) ** 0.5 + denoised = model(x, sigma_hat * s_in, **extra_args) + if callback is not None: + callback({"x": x, "i": i, "sigma": sigmas[i], "sigma_hat": sigma_hat, "denoised": denoised}) + if sigmas[i + 1] == 0 or old_denoised is None: + # Euler method + if cfg_pp: + d = to_d(x, sigma_hat, uncond_denoised) + x = denoised + d * sigmas[i + 1] + else: + d = to_d(x, sigma_hat, denoised) + dt = sigmas[i + 1] - sigma_hat + x = x + d * dt + else: + # Second order multistep method in https://arxiv.org/pdf/2308.02157 + t, t_next, t_prev = t_fn(sigmas[i]), t_fn(sigmas[i + 1]), t_fn(sigmas[i - 1]) + h = t_next - t + c2 = (t_prev - t) / h + + phi1_val, phi2_val = phi1_fn(-h), phi2_fn(-h) + b1 = torch.nan_to_num(phi1_val - 1.0 / c2 * phi2_val, nan=0.0) + b2 = torch.nan_to_num(1.0 / c2 * phi2_val, nan=0.0) + + if cfg_pp: + x = x + (denoised - uncond_denoised) + + x = (sigma_fn(t_next) / sigma_fn(t)) * x + h * (b1 * denoised + b2 * old_denoised) + + old_denoised = denoised + return x + +@torch.no_grad() +def sample_res_multistep(model, x, sigmas, extra_args=None, callback=None, disable=None, s_churn=0., s_tmin=0., s_tmax=float('inf'), s_noise=1., noise_sampler=None): + return res_multistep(model, x, sigmas, extra_args=extra_args, callback=callback, disable=disable, s_churn=s_churn, s_tmin=s_tmin, s_tmax=s_tmax, s_noise=s_noise, noise_sampler=noise_sampler, cfg_pp=False) + +@torch.no_grad() +def sample_res_multistep_cfg_pp(model, x, sigmas, extra_args=None, callback=None, disable=None, s_churn=0., s_tmin=0., s_tmax=float('inf'), s_noise=1., noise_sampler=None): + return res_multistep(model, x, sigmas, extra_args=extra_args, callback=callback, disable=disable, s_churn=s_churn, s_tmin=s_tmin, s_tmax=s_tmax, s_noise=s_noise, noise_sampler=noise_sampler, cfg_pp=True) + +@torch.no_grad() +def sample_gradient_estimation(model, x, sigmas, extra_args=None, callback=None, disable=None, ge_gamma=2.): + """Gradient-estimation sampler. Paper: https://openreview.net/pdf?id=o2ND9v0CeK""" + extra_args = {} if extra_args is None else extra_args + s_in = x.new_ones([x.shape[0]]) + old_d = None + + for i in trange(len(sigmas) - 1, disable=disable): + denoised = model(x, sigmas[i] * s_in, **extra_args) + d = to_d(x, sigmas[i], denoised) + if callback is not None: + callback({'x': x, 'i': i, 'sigma': sigmas[i], 'sigma_hat': sigmas[i], 'denoised': denoised}) + dt = sigmas[i + 1] - sigmas[i] + if i == 0: + # Euler method + x = x + d * dt + else: + # Gradient estimation + d_bar = ge_gamma * d + (1 - ge_gamma) * old_d + x = x + d_bar * dt + old_d = d + return x diff --git a/comfy/latent_formats.py b/comfy/latent_formats.py index ee19faeae..e98982c94 100644 --- a/comfy/latent_formats.py +++ b/comfy/latent_formats.py @@ -3,7 +3,9 @@ import torch class LatentFormat: scale_factor = 1.0 latent_channels = 4 + latent_dimensions = 2 latent_rgb_factors = None + latent_rgb_factors_bias = None taesd_decoder_name = None def process_in(self, latent): @@ -30,11 +32,13 @@ class SDXL(LatentFormat): def __init__(self): self.latent_rgb_factors = [ # R G B - [ 0.3920, 0.4054, 0.4549], - [-0.2634, -0.0196, 0.0653], - [ 0.0568, 0.1687, -0.0755], - [-0.3112, -0.2359, -0.2076] + [ 0.3651, 0.4232, 0.4341], + [-0.2533, -0.0042, 0.1068], + [ 0.1076, 0.1111, -0.0362], + [-0.3165, -0.2492, -0.2188] ] + self.latent_rgb_factors_bias = [ 0.1084, -0.0175, -0.0011] + self.taesd_decoder_name = "taesdxl_decoder" class SDXL_Playground_2_5(LatentFormat): @@ -112,23 +116,24 @@ class SD3(LatentFormat): self.scale_factor = 1.5305 self.shift_factor = 0.0609 self.latent_rgb_factors = [ - [-0.0645, 0.0177, 0.1052], - [ 0.0028, 0.0312, 0.0650], - [ 0.1848, 0.0762, 0.0360], - [ 0.0944, 0.0360, 0.0889], - [ 0.0897, 0.0506, -0.0364], - [-0.0020, 0.1203, 0.0284], - [ 0.0855, 0.0118, 0.0283], - [-0.0539, 0.0658, 0.1047], - [-0.0057, 0.0116, 0.0700], - [-0.0412, 0.0281, -0.0039], - [ 0.1106, 0.1171, 0.1220], - [-0.0248, 0.0682, -0.0481], - [ 0.0815, 0.0846, 0.1207], - [-0.0120, -0.0055, -0.0867], - [-0.0749, -0.0634, -0.0456], - [-0.1418, -0.1457, -0.1259] + [-0.0922, -0.0175, 0.0749], + [ 0.0311, 0.0633, 0.0954], + [ 0.1994, 0.0927, 0.0458], + [ 0.0856, 0.0339, 0.0902], + [ 0.0587, 0.0272, -0.0496], + [-0.0006, 0.1104, 0.0309], + [ 0.0978, 0.0306, 0.0427], + [-0.0042, 0.1038, 0.1358], + [-0.0194, 0.0020, 0.0669], + [-0.0488, 0.0130, -0.0268], + [ 0.0922, 0.0988, 0.0951], + [-0.0278, 0.0524, -0.0542], + [ 0.0332, 0.0456, 0.0895], + [-0.0069, -0.0030, -0.0810], + [-0.0596, -0.0465, -0.0293], + [-0.1448, -0.1463, -0.1189] ] + self.latent_rgb_factors_bias = [0.2394, 0.2135, 0.1925] self.taesd_decoder_name = "taesd3_decoder" def process_in(self, latent): @@ -139,6 +144,7 @@ class SD3(LatentFormat): class StableAudio1(LatentFormat): latent_channels = 64 + latent_dimensions = 1 class Flux(SD3): latent_channels = 16 @@ -146,23 +152,24 @@ class Flux(SD3): self.scale_factor = 0.3611 self.shift_factor = 0.1159 self.latent_rgb_factors =[ - [-0.0404, 0.0159, 0.0609], - [ 0.0043, 0.0298, 0.0850], - [ 0.0328, -0.0749, -0.0503], - [-0.0245, 0.0085, 0.0549], - [ 0.0966, 0.0894, 0.0530], - [ 0.0035, 0.0399, 0.0123], - [ 0.0583, 0.1184, 0.1262], - [-0.0191, -0.0206, -0.0306], - [-0.0324, 0.0055, 0.1001], - [ 0.0955, 0.0659, -0.0545], - [-0.0504, 0.0231, -0.0013], - [ 0.0500, -0.0008, -0.0088], - [ 0.0982, 0.0941, 0.0976], - [-0.1233, -0.0280, -0.0897], - [-0.0005, -0.0530, -0.0020], - [-0.1273, -0.0932, -0.0680] + [-0.0346, 0.0244, 0.0681], + [ 0.0034, 0.0210, 0.0687], + [ 0.0275, -0.0668, -0.0433], + [-0.0174, 0.0160, 0.0617], + [ 0.0859, 0.0721, 0.0329], + [ 0.0004, 0.0383, 0.0115], + [ 0.0405, 0.0861, 0.0915], + [-0.0236, -0.0185, -0.0259], + [-0.0245, 0.0250, 0.1180], + [ 0.1008, 0.0755, -0.0421], + [-0.0515, 0.0201, 0.0011], + [ 0.0428, -0.0012, -0.0036], + [ 0.0817, 0.0765, 0.0749], + [-0.1264, -0.0522, -0.1103], + [-0.0280, -0.0881, -0.0499], + [-0.1262, -0.0982, -0.0778] ] + self.latent_rgb_factors_bias = [-0.0329, -0.0718, -0.0851] self.taesd_decoder_name = "taef1_decoder" def process_in(self, latent): @@ -170,3 +177,233 @@ class Flux(SD3): def process_out(self, latent): return (latent / self.scale_factor) + self.shift_factor + +class Mochi(LatentFormat): + latent_channels = 12 + latent_dimensions = 3 + + def __init__(self): + self.scale_factor = 1.0 + self.latents_mean = torch.tensor([-0.06730895953510081, -0.038011381506090416, -0.07477820912866141, + -0.05565264470995561, 0.012767231469026969, -0.04703542746246419, + 0.043896967884726704, -0.09346305707025976, -0.09918314763016893, + -0.008729793427399178, -0.011931556316503654, -0.0321993391887285]).view(1, self.latent_channels, 1, 1, 1) + self.latents_std = torch.tensor([0.9263795028493863, 0.9248894543193766, 0.9393059390890617, + 0.959253732819592, 0.8244560132752793, 0.917259975397747, + 0.9294154431013696, 1.3720942357788521, 0.881393668867029, + 0.9168315692124348, 0.9185249279345552, 0.9274757570805041]).view(1, self.latent_channels, 1, 1, 1) + + self.latent_rgb_factors =[ + [-0.0069, -0.0045, 0.0018], + [ 0.0154, -0.0692, -0.0274], + [ 0.0333, 0.0019, 0.0206], + [-0.1390, 0.0628, 0.1678], + [-0.0725, 0.0134, -0.1898], + [ 0.0074, -0.0270, -0.0209], + [-0.0176, -0.0277, -0.0221], + [ 0.5294, 0.5204, 0.3852], + [-0.0326, -0.0446, -0.0143], + [-0.0659, 0.0153, -0.0153], + [ 0.0185, -0.0217, 0.0014], + [-0.0396, -0.0495, -0.0281] + ] + self.latent_rgb_factors_bias = [-0.0940, -0.1418, -0.1453] + self.taesd_decoder_name = None #TODO + + def process_in(self, latent): + latents_mean = self.latents_mean.to(latent.device, latent.dtype) + latents_std = self.latents_std.to(latent.device, latent.dtype) + return (latent - latents_mean) * self.scale_factor / latents_std + + def process_out(self, latent): + latents_mean = self.latents_mean.to(latent.device, latent.dtype) + latents_std = self.latents_std.to(latent.device, latent.dtype) + return latent * latents_std / self.scale_factor + latents_mean + +class LTXV(LatentFormat): + latent_channels = 128 + latent_dimensions = 3 + + def __init__(self): + self.latent_rgb_factors = [ + [ 1.1202e-02, -6.3815e-04, -1.0021e-02], + [ 8.6031e-02, 6.5813e-02, 9.5409e-04], + [-1.2576e-02, -7.5734e-03, -4.0528e-03], + [ 9.4063e-03, -2.1688e-03, 2.6093e-03], + [ 3.7636e-03, 1.2765e-02, 9.1548e-03], + [ 2.1024e-02, -5.2973e-03, 3.4373e-03], + [-8.8896e-03, -1.9703e-02, -1.8761e-02], + [-1.3160e-02, -1.0523e-02, 1.9709e-03], + [-1.5152e-03, -6.9891e-03, -7.5810e-03], + [-1.7247e-03, 4.6560e-04, -3.3839e-03], + [ 1.3617e-02, 4.7077e-03, -2.0045e-03], + [ 1.0256e-02, 7.7318e-03, 1.3948e-02], + [-1.6108e-02, -6.2151e-03, 1.1561e-03], + [ 7.3407e-03, 1.5628e-02, 4.4865e-04], + [ 9.5357e-04, -2.9518e-03, -1.4760e-02], + [ 1.9143e-02, 1.0868e-02, 1.2264e-02], + [ 4.4575e-03, 3.6682e-05, -6.8508e-03], + [-4.5681e-04, 3.2570e-03, 7.7929e-03], + [ 3.3902e-02, 3.3405e-02, 3.7454e-02], + [-2.3001e-02, -2.4877e-03, -3.1033e-03], + [ 5.0265e-02, 3.8841e-02, 3.3539e-02], + [-4.1018e-03, -1.1095e-03, 1.5859e-03], + [-1.2689e-01, -1.3107e-01, -2.1005e-01], + [ 2.6276e-02, 1.4189e-02, -3.5963e-03], + [-4.8679e-03, 8.8486e-03, 7.8029e-03], + [-1.6610e-03, -4.8597e-03, -5.2060e-03], + [-2.1010e-03, 2.3610e-03, 9.3796e-03], + [-2.2482e-02, -2.1305e-02, -1.5087e-02], + [-1.5753e-02, -1.0646e-02, -6.5083e-03], + [-4.6975e-03, 5.0288e-03, -6.7390e-03], + [ 1.1951e-02, 2.0712e-02, 1.6191e-02], + [-6.3704e-03, -8.4827e-03, -9.5483e-03], + [ 7.2610e-03, -9.9326e-03, -2.2978e-02], + [-9.1904e-04, 6.2882e-03, 9.5720e-03], + [-3.7178e-02, -3.7123e-02, -5.6713e-02], + [-1.3373e-01, -1.0720e-01, -5.3801e-02], + [-5.3702e-03, 8.1256e-03, 8.8397e-03], + [-1.5247e-01, -2.1437e-01, -2.1843e-01], + [ 3.1441e-02, 7.0335e-03, -9.7541e-03], + [ 2.1528e-03, -8.9817e-03, -2.1023e-02], + [ 3.8461e-03, -5.8957e-03, -1.5014e-02], + [-4.3470e-03, -1.2940e-02, -1.5972e-02], + [-5.4781e-03, -1.0842e-02, -3.0204e-03], + [-6.5347e-03, 3.0806e-03, -1.0163e-02], + [-5.0414e-03, -7.1503e-03, -8.9686e-04], + [-8.5851e-03, -2.4351e-03, 1.0674e-03], + [-9.0016e-03, -9.6493e-03, 1.5692e-03], + [ 5.0914e-03, 1.2099e-02, 1.9968e-02], + [ 1.3758e-02, 1.1669e-02, 8.1958e-03], + [-1.0518e-02, -1.1575e-02, -4.1307e-03], + [-2.8410e-02, -3.1266e-02, -2.2149e-02], + [ 2.9336e-03, 3.6511e-02, 1.8717e-02], + [-1.6703e-02, -1.6696e-02, -4.4529e-03], + [ 4.8818e-02, 4.0063e-02, 8.7410e-03], + [-1.5066e-02, -5.7328e-04, 2.9785e-03], + [-1.7613e-02, -8.1034e-03, 1.3086e-02], + [-9.2633e-03, 1.0803e-02, -6.3489e-03], + [ 3.0851e-03, 4.7750e-04, 1.2347e-02], + [-2.2785e-02, -2.3043e-02, -2.6005e-02], + [-2.4787e-02, -1.5389e-02, -2.2104e-02], + [-2.3572e-02, 1.0544e-03, 1.2361e-02], + [-7.8915e-03, -1.2271e-03, -6.0968e-03], + [-1.1478e-02, -1.2543e-03, 6.2679e-03], + [-5.4229e-02, 2.6644e-02, 6.3394e-03], + [ 4.4216e-03, -7.3338e-03, -1.0464e-02], + [-4.5013e-03, 1.6082e-03, 1.4420e-02], + [ 1.3673e-02, 8.8877e-03, 4.1253e-03], + [-1.0145e-02, 9.0072e-03, 1.5695e-02], + [-5.6234e-03, 1.1847e-03, 8.1261e-03], + [-3.7171e-03, -5.3538e-03, 1.2590e-03], + [ 2.9476e-02, 2.1424e-02, 3.0424e-02], + [-3.4925e-02, -2.4340e-02, -2.5316e-02], + [-3.4127e-02, -2.2406e-02, -1.0589e-02], + [-1.7342e-02, -1.3249e-02, -1.0719e-02], + [-2.1478e-03, -8.6051e-03, -2.9878e-03], + [ 1.2089e-03, -4.2391e-03, -6.8569e-03], + [ 9.0411e-04, -6.6886e-03, -6.7547e-05], + [ 1.6048e-02, -1.0057e-02, -2.8929e-02], + [ 1.2290e-03, 1.0163e-02, 1.8861e-02], + [ 1.7264e-02, 2.7257e-04, 1.3785e-02], + [-1.3482e-02, -3.6427e-03, 6.7481e-04], + [ 4.6782e-03, -5.2423e-03, 2.4467e-03], + [-5.9113e-03, -6.2244e-03, -1.8162e-03], + [ 1.5496e-02, 1.4582e-02, 1.9514e-03], + [ 7.4958e-03, 1.5886e-03, -8.2305e-03], + [ 1.9086e-02, 1.6360e-03, -3.9674e-03], + [-5.7021e-03, -2.7307e-03, -4.1066e-03], + [ 1.7450e-03, 1.4602e-02, 2.5794e-02], + [-8.2788e-04, 2.2902e-03, 4.5161e-03], + [ 1.1632e-02, 8.9193e-03, -7.2813e-03], + [ 7.5721e-03, 2.6784e-03, 1.1393e-02], + [ 5.1939e-03, 3.6903e-03, 1.4049e-02], + [-1.8383e-02, -2.2529e-02, -2.4477e-02], + [ 5.8842e-04, -5.7874e-03, -1.4770e-02], + [-1.6125e-02, -8.6101e-03, -1.4533e-02], + [ 2.0540e-02, 2.0729e-02, 6.4338e-03], + [ 3.3587e-03, -1.1226e-02, -1.6444e-02], + [-1.4742e-03, -1.0489e-02, 1.7097e-03], + [ 2.8130e-02, 2.3546e-02, 3.2791e-02], + [-1.8532e-02, -1.2842e-02, -8.7756e-03], + [-8.0533e-03, -1.0771e-02, -1.7536e-02], + [-3.9009e-03, 1.6150e-02, 3.3359e-02], + [-7.4554e-03, -1.4154e-02, -6.1910e-03], + [ 3.4734e-03, -1.1370e-02, -1.0581e-02], + [ 1.1476e-02, 3.9281e-03, 2.8231e-03], + [ 7.1639e-03, -1.4741e-03, -3.8066e-03], + [ 2.2250e-03, -8.7552e-03, -9.5719e-03], + [ 2.4146e-02, 2.1696e-02, 2.8056e-02], + [-5.4365e-03, -2.4291e-02, -1.7802e-02], + [ 7.4263e-03, 1.0510e-02, 1.2705e-02], + [ 6.2669e-03, 6.2658e-03, 1.9211e-02], + [ 1.6378e-02, 9.4933e-03, 6.6971e-03], + [ 1.7173e-02, 2.3601e-02, 2.3296e-02], + [-1.4568e-02, -9.8279e-03, -1.1556e-02], + [ 1.4431e-02, 1.4430e-02, 6.6362e-03], + [-6.8230e-03, 1.8863e-02, 1.4555e-02], + [ 6.1156e-03, 3.4700e-03, -2.6662e-03], + [-2.6983e-03, -5.9402e-03, -9.2276e-03], + [ 1.0235e-02, 7.4173e-03, -7.6243e-03], + [-1.3255e-02, 1.9322e-02, -9.2153e-04], + [ 2.4222e-03, -4.8039e-03, -1.5759e-02], + [ 2.6244e-02, 2.5951e-02, 2.0249e-02], + [ 1.5711e-02, 1.8498e-02, 2.7407e-03], + [-2.1714e-03, 4.7214e-03, -2.2443e-02], + [-7.4747e-03, 7.4166e-03, 1.4430e-02], + [-8.3906e-03, -7.9776e-03, 9.7927e-03], + [ 3.8321e-02, 9.6622e-03, -1.9268e-02], + [-1.4605e-02, -6.7032e-03, 3.9675e-03] + ] + + self.latent_rgb_factors_bias = [-0.0571, -0.1657, -0.2512] + +class HunyuanVideo(LatentFormat): + latent_channels = 16 + latent_dimensions = 3 + scale_factor = 0.476986 + latent_rgb_factors = [ + [-0.0395, -0.0331, 0.0445], + [ 0.0696, 0.0795, 0.0518], + [ 0.0135, -0.0945, -0.0282], + [ 0.0108, -0.0250, -0.0765], + [-0.0209, 0.0032, 0.0224], + [-0.0804, -0.0254, -0.0639], + [-0.0991, 0.0271, -0.0669], + [-0.0646, -0.0422, -0.0400], + [-0.0696, -0.0595, -0.0894], + [-0.0799, -0.0208, -0.0375], + [ 0.1166, 0.1627, 0.0962], + [ 0.1165, 0.0432, 0.0407], + [-0.2315, -0.1920, -0.1355], + [-0.0270, 0.0401, -0.0821], + [-0.0616, -0.0997, -0.0727], + [ 0.0249, -0.0469, -0.1703] + ] + + latent_rgb_factors_bias = [ 0.0259, -0.0192, -0.0761] + +class Cosmos1CV8x8x8(LatentFormat): + latent_channels = 16 + latent_dimensions = 3 + + latent_rgb_factors = [ + [ 0.1817, 0.2284, 0.2423], + [-0.0586, -0.0862, -0.3108], + [-0.4703, -0.4255, -0.3995], + [ 0.0803, 0.1963, 0.1001], + [-0.0820, -0.1050, 0.0400], + [ 0.2511, 0.3098, 0.2787], + [-0.1830, -0.2117, -0.0040], + [-0.0621, -0.2187, -0.0939], + [ 0.3619, 0.1082, 0.1455], + [ 0.3164, 0.3922, 0.2575], + [ 0.1152, 0.0231, -0.0462], + [-0.1434, -0.3609, -0.3665], + [ 0.0635, 0.1471, 0.1680], + [-0.3635, -0.1963, -0.3248], + [-0.1865, 0.0365, 0.2346], + [ 0.0447, 0.0994, 0.0881] + ] + + latent_rgb_factors_bias = [-0.1223, -0.1889, -0.1976] diff --git a/comfy/ldm/audio/autoencoder.py b/comfy/ldm/audio/autoencoder.py index 8123e66a5..9e7e7c876 100644 --- a/comfy/ldm/audio/autoencoder.py +++ b/comfy/ldm/audio/autoencoder.py @@ -2,7 +2,7 @@ import torch from torch import nn -from typing import Literal, Dict, Any +from typing import Literal import math import comfy.ops ops = comfy.ops.disable_weight_init @@ -97,7 +97,7 @@ def get_activation(activation: Literal["elu", "snake", "none"], antialias=False, raise ValueError(f"Unknown activation {activation}") if antialias: - act = Activation1d(act) + act = Activation1d(act) # noqa: F821 Activation1d is not defined return act diff --git a/comfy/ldm/audio/dit.py b/comfy/ldm/audio/dit.py index 4d2185be8..179c5b67e 100644 --- a/comfy/ldm/audio/dit.py +++ b/comfy/ldm/audio/dit.py @@ -158,7 +158,6 @@ class RotaryEmbedding(nn.Module): def forward(self, t): # device = self.inv_freq.device device = t.device - dtype = t.dtype # t = t.to(torch.float32) @@ -170,7 +169,7 @@ class RotaryEmbedding(nn.Module): if self.scale is None: return freqs, 1. - power = (torch.arange(seq_len, device = device) - (seq_len // 2)) / self.scale_base + power = (torch.arange(seq_len, device = device) - (seq_len // 2)) / self.scale_base # noqa: F821 seq_len is not defined scale = comfy.ops.cast_to_input(self.scale, t) ** rearrange(power, 'n -> n 1') scale = torch.cat((scale, scale), dim = -1) @@ -229,9 +228,9 @@ class FeedForward(nn.Module): linear_in = GLU(dim, inner_dim, activation, dtype=dtype, device=device, operations=operations) else: linear_in = nn.Sequential( - Rearrange('b n d -> b d n') if use_conv else nn.Identity(), + rearrange('b n d -> b d n') if use_conv else nn.Identity(), operations.Linear(dim, inner_dim, bias = not no_bias, dtype=dtype, device=device) if not use_conv else operations.Conv1d(dim, inner_dim, conv_kernel_size, padding = (conv_kernel_size // 2), bias = not no_bias, dtype=dtype, device=device), - Rearrange('b n d -> b d n') if use_conv else nn.Identity(), + rearrange('b n d -> b d n') if use_conv else nn.Identity(), activation ) @@ -246,9 +245,9 @@ class FeedForward(nn.Module): self.ff = nn.Sequential( linear_in, - Rearrange('b d n -> b n d') if use_conv else nn.Identity(), + rearrange('b d n -> b n d') if use_conv else nn.Identity(), linear_out, - Rearrange('b n d -> b d n') if use_conv else nn.Identity(), + rearrange('b n d -> b d n') if use_conv else nn.Identity(), ) def forward(self, x): @@ -346,18 +345,13 @@ class Attention(nn.Module): # determine masking masks = [] - final_attn_mask = None # The mask that will be applied to the attention matrix, taking all masks into account if input_mask is not None: input_mask = rearrange(input_mask, 'b j -> b 1 1 j') masks.append(~input_mask) # Other masks will be added here later - - if len(masks) > 0: - final_attn_mask = ~or_reduce(masks) - - n, device = q.shape[-2], q.device + n = q.shape[-2] causal = self.causal if causal is None else causal @@ -612,7 +606,9 @@ class ContinuousTransformer(nn.Module): return_info = False, **kwargs ): + patches_replace = kwargs.get("transformer_options", {}).get("patches_replace", {}) batch, seq, device = *x.shape[:2], x.device + context = kwargs["context"] info = { "hidden_states": [], @@ -643,9 +639,19 @@ class ContinuousTransformer(nn.Module): if self.use_sinusoidal_emb or self.use_abs_pos_emb: x = x + self.pos_emb(x) + blocks_replace = patches_replace.get("dit", {}) # Iterate over the transformer layers - for layer in self.layers: - x = layer(x, rotary_pos_emb = rotary_pos_emb, global_cond=global_cond, **kwargs) + for i, layer in enumerate(self.layers): + if ("double_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["img"] = layer(args["img"], rotary_pos_emb=args["pe"], global_cond=args["vec"], context=args["txt"]) + return out + + out = blocks_replace[("double_block", i)]({"img": x, "txt": context, "vec": global_cond, "pe": rotary_pos_emb}, {"original_block": block_wrap}) + x = out["img"] + else: + x = layer(x, rotary_pos_emb = rotary_pos_emb, global_cond=global_cond, context=context) # x = checkpoint(layer, x, rotary_pos_emb = rotary_pos_emb, global_cond=global_cond, **kwargs) if return_info: @@ -874,7 +880,6 @@ class AudioDiffusionTransformer(nn.Module): mask=None, return_info=False, control=None, - transformer_options={}, **kwargs): return self._forward( x, diff --git a/comfy/ldm/audio/embedders.py b/comfy/ldm/audio/embedders.py index 82a3210c6..20edb365a 100644 --- a/comfy/ldm/audio/embedders.py +++ b/comfy/ldm/audio/embedders.py @@ -2,8 +2,8 @@ import torch import torch.nn as nn -from torch import Tensor, einsum -from typing import Any, Callable, Dict, List, Optional, Sequence, Tuple, TypeVar, Union +from torch import Tensor +from typing import List, Union from einops import rearrange import math import comfy.ops diff --git a/comfy/ldm/aura/mmdit.py b/comfy/ldm/aura/mmdit.py index cd9a42185..1258ae11f 100644 --- a/comfy/ldm/aura/mmdit.py +++ b/comfy/ldm/aura/mmdit.py @@ -147,7 +147,6 @@ class DoubleAttention(nn.Module): bsz, seqlen1, _ = c.shape bsz, seqlen2, _ = x.shape - seqlen = seqlen1 + seqlen2 cq, ck, cv = self.w1q(c), self.w1k(c), self.w1v(c) cq = cq.view(bsz, seqlen1, self.n_heads, self.head_dim) @@ -382,7 +381,6 @@ class MMDiT(nn.Module): pe_new = pe_as_2d.squeeze(0).permute(1, 2, 0).flatten(0, 1) self.positional_encoding.data = pe_new.unsqueeze(0).contiguous() self.h_max, self.w_max = target_dim - print("PE extended to", target_dim) def pe_selection_index_based_on_dim(self, h, w): h_p, w_p = h // self.patch_size, w // self.patch_size @@ -437,7 +435,8 @@ class MMDiT(nn.Module): pos_encoding = pos_encoding[:,from_h:from_h+h,from_w:from_w+w] return x + pos_encoding.reshape(1, -1, self.positional_encoding.shape[-1]) - def forward(self, x, timestep, context, **kwargs): + def forward(self, x, timestep, context, transformer_options={}, **kwargs): + patches_replace = transformer_options.get("patches_replace", {}) # patchify x, add PE b, c, h, w = x.shape @@ -458,15 +457,36 @@ class MMDiT(nn.Module): global_cond = self.t_embedder(t, x.dtype) # B, D + blocks_replace = patches_replace.get("dit", {}) if len(self.double_layers) > 0: - for layer in self.double_layers: - c, x = layer(c, x, global_cond, **kwargs) + for i, layer in enumerate(self.double_layers): + if ("double_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["txt"], out["img"] = layer(args["txt"], + args["img"], + args["vec"]) + return out + out = blocks_replace[("double_block", i)]({"img": x, "txt": c, "vec": global_cond}, {"original_block": block_wrap}) + c = out["txt"] + x = out["img"] + else: + c, x = layer(c, x, global_cond, **kwargs) if len(self.single_layers) > 0: c_len = c.size(1) cx = torch.cat([c, x], dim=1) - for layer in self.single_layers: - cx = layer(cx, global_cond, **kwargs) + for i, layer in enumerate(self.single_layers): + if ("single_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["img"] = layer(args["img"], args["vec"]) + return out + + out = blocks_replace[("single_block", i)]({"img": cx, "vec": global_cond}, {"original_block": block_wrap}) + cx = out["img"] + else: + cx = layer(cx, global_cond, **kwargs) x = cx[:, c_len:] diff --git a/comfy/ldm/cascade/controlnet.py b/comfy/ldm/cascade/controlnet.py index 7a52c3c26..90473481a 100644 --- a/comfy/ldm/cascade/controlnet.py +++ b/comfy/ldm/cascade/controlnet.py @@ -16,7 +16,6 @@ along with this program. If not, see . """ -import torch import torchvision from torch import nn from .common import LayerNorm2d_op diff --git a/comfy/ldm/cascade/stage_b.py b/comfy/ldm/cascade/stage_b.py index 7c3d8feab..773830956 100644 --- a/comfy/ldm/cascade/stage_b.py +++ b/comfy/ldm/cascade/stage_b.py @@ -138,7 +138,7 @@ class StageB(nn.Module): # nn.init.normal_(self.pixels_mapper[2].weight, std=0.02) # conditionings # torch.nn.init.xavier_uniform_(self.embedding[1].weight, 0.02) # inputs # nn.init.constant_(self.clf[1].weight, 0) # outputs - # + # # # blocks # for level_block in self.down_blocks + self.up_blocks: # for block in level_block: @@ -148,7 +148,7 @@ class StageB(nn.Module): # for layer in block.modules(): # if isinstance(layer, nn.Linear): # nn.init.constant_(layer.weight, 0) - # + # # def _init_weights(self, m): # if isinstance(m, (nn.Conv2d, nn.Linear)): # torch.nn.init.xavier_uniform_(m.weight) diff --git a/comfy/ldm/cascade/stage_c.py b/comfy/ldm/cascade/stage_c.py index c85da1f01..b952d0349 100644 --- a/comfy/ldm/cascade/stage_c.py +++ b/comfy/ldm/cascade/stage_c.py @@ -142,7 +142,7 @@ class StageC(nn.Module): # nn.init.normal_(self.clip_img_mapper.weight, std=0.02) # conditionings # torch.nn.init.xavier_uniform_(self.embedding[1].weight, 0.02) # inputs # nn.init.constant_(self.clf[1].weight, 0) # outputs - # + # # # blocks # for level_block in self.down_blocks + self.up_blocks: # for block in level_block: @@ -152,7 +152,7 @@ class StageC(nn.Module): # for layer in block.modules(): # if isinstance(layer, nn.Linear): # nn.init.constant_(layer.weight, 0) - # + # # def _init_weights(self, m): # if isinstance(m, (nn.Conv2d, nn.Linear)): # torch.nn.init.xavier_uniform_(m.weight) diff --git a/comfy/ldm/common_dit.py b/comfy/ldm/common_dit.py index 9016abc44..e0f3057f7 100644 --- a/comfy/ldm/common_dit.py +++ b/comfy/ldm/common_dit.py @@ -2,20 +2,29 @@ import torch import comfy.ops def pad_to_patch_size(img, patch_size=(2, 2), padding_mode="circular"): - if padding_mode == "circular" and torch.jit.is_tracing() or torch.jit.is_scripting(): + if padding_mode == "circular" and (torch.jit.is_tracing() or torch.jit.is_scripting()): padding_mode = "reflect" - pad_h = (patch_size[0] - img.shape[-2] % patch_size[0]) % patch_size[0] - pad_w = (patch_size[1] - img.shape[-1] % patch_size[1]) % patch_size[1] - return torch.nn.functional.pad(img, (0, pad_w, 0, pad_h), mode=padding_mode) + + pad = () + for i in range(img.ndim - 2): + pad = (0, (patch_size[i] - img.shape[i + 2] % patch_size[i]) % patch_size[i]) + pad + + return torch.nn.functional.pad(img, pad, mode=padding_mode) try: rms_norm_torch = torch.nn.functional.rms_norm except: rms_norm_torch = None -def rms_norm(x, weight, eps=1e-6): - if rms_norm_torch is not None: - return rms_norm_torch(x, weight.shape, weight=comfy.ops.cast_to(weight, dtype=x.dtype, device=x.device), eps=eps) +def rms_norm(x, weight=None, eps=1e-6): + if rms_norm_torch is not None and not (torch.jit.is_tracing() or torch.jit.is_scripting()): + if weight is None: + return rms_norm_torch(x, (x.shape[-1],), eps=eps) + else: + return rms_norm_torch(x, weight.shape, weight=comfy.ops.cast_to(weight, dtype=x.dtype, device=x.device), eps=eps) else: - rrms = torch.rsqrt(torch.mean(x**2, dim=-1, keepdim=True) + eps) - return (x * rrms) * comfy.ops.cast_to(weight, dtype=x.dtype, device=x.device) + r = x * torch.rsqrt(torch.mean(x**2, dim=-1, keepdim=True) + eps) + if weight is None: + return r + else: + return r * comfy.ops.cast_to(weight, dtype=x.dtype, device=x.device) diff --git a/comfy/ldm/cosmos/blocks.py b/comfy/ldm/cosmos/blocks.py new file mode 100644 index 000000000..84fd6d839 --- /dev/null +++ b/comfy/ldm/cosmos/blocks.py @@ -0,0 +1,808 @@ +# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +import math +from typing import Optional +import logging + +import numpy as np +import torch +from einops import rearrange, repeat +from einops.layers.torch import Rearrange +from torch import nn + +from comfy.ldm.modules.diffusionmodules.mmdit import RMSNorm +from comfy.ldm.modules.attention import optimized_attention + + +def apply_rotary_pos_emb( + t: torch.Tensor, + freqs: torch.Tensor, +) -> torch.Tensor: + t_ = t.reshape(*t.shape[:-1], 2, -1).movedim(-2, -1).unsqueeze(-2).float() + t_out = freqs[..., 0] * t_[..., 0] + freqs[..., 1] * t_[..., 1] + t_out = t_out.movedim(-1, -2).reshape(*t.shape).type_as(t) + return t_out + + +def get_normalization(name: str, channels: int, weight_args={}): + if name == "I": + return nn.Identity() + elif name == "R": + return RMSNorm(channels, elementwise_affine=True, eps=1e-6, **weight_args) + else: + raise ValueError(f"Normalization {name} not found") + + +class BaseAttentionOp(nn.Module): + def __init__(self): + super().__init__() + + +class Attention(nn.Module): + """ + Generalized attention impl. + + Allowing for both self-attention and cross-attention configurations depending on whether a `context_dim` is provided. + If `context_dim` is None, self-attention is assumed. + + Parameters: + query_dim (int): Dimension of each query vector. + context_dim (int, optional): Dimension of each context vector. If None, self-attention is assumed. + heads (int, optional): Number of attention heads. Defaults to 8. + dim_head (int, optional): Dimension of each head. Defaults to 64. + dropout (float, optional): Dropout rate applied to the output of the attention block. Defaults to 0.0. + attn_op (BaseAttentionOp, optional): Custom attention operation to be used instead of the default. + qkv_bias (bool, optional): If True, adds a learnable bias to query, key, and value projections. Defaults to False. + out_bias (bool, optional): If True, adds a learnable bias to the output projection. Defaults to False. + qkv_norm (str, optional): A string representing normalization strategies for query, key, and value projections. + Defaults to "SSI". + qkv_norm_mode (str, optional): A string representing normalization mode for query, key, and value projections. + Defaults to 'per_head'. Only support 'per_head'. + + Examples: + >>> attn = Attention(query_dim=128, context_dim=256, heads=4, dim_head=32, dropout=0.1) + >>> query = torch.randn(10, 128) # Batch size of 10 + >>> context = torch.randn(10, 256) # Batch size of 10 + >>> output = attn(query, context) # Perform the attention operation + + Note: + https://github.com/MatthieuTPHR/diffusers/blob/d80b531ff8060ec1ea982b65a1b8df70f73aa67c/src/diffusers/models/attention.py#L223 + """ + + def __init__( + self, + query_dim: int, + context_dim=None, + heads=8, + dim_head=64, + dropout=0.0, + attn_op: Optional[BaseAttentionOp] = None, + qkv_bias: bool = False, + out_bias: bool = False, + qkv_norm: str = "SSI", + qkv_norm_mode: str = "per_head", + backend: str = "transformer_engine", + qkv_format: str = "bshd", + weight_args={}, + operations=None, + ) -> None: + super().__init__() + + self.is_selfattn = context_dim is None # self attention + + inner_dim = dim_head * heads + context_dim = query_dim if context_dim is None else context_dim + + self.heads = heads + self.dim_head = dim_head + self.qkv_norm_mode = qkv_norm_mode + self.qkv_format = qkv_format + + if self.qkv_norm_mode == "per_head": + norm_dim = dim_head + else: + raise ValueError(f"Normalization mode {self.qkv_norm_mode} not found, only support 'per_head'") + + self.backend = backend + + self.to_q = nn.Sequential( + operations.Linear(query_dim, inner_dim, bias=qkv_bias, **weight_args), + get_normalization(qkv_norm[0], norm_dim), + ) + self.to_k = nn.Sequential( + operations.Linear(context_dim, inner_dim, bias=qkv_bias, **weight_args), + get_normalization(qkv_norm[1], norm_dim), + ) + self.to_v = nn.Sequential( + operations.Linear(context_dim, inner_dim, bias=qkv_bias, **weight_args), + get_normalization(qkv_norm[2], norm_dim), + ) + + self.to_out = nn.Sequential( + operations.Linear(inner_dim, query_dim, bias=out_bias, **weight_args), + nn.Dropout(dropout), + ) + + def cal_qkv( + self, x, context=None, mask=None, rope_emb=None, **kwargs + ) -> tuple[torch.Tensor, torch.Tensor, torch.Tensor]: + del kwargs + + + """ + self.to_q, self.to_k, self.to_v are nn.Sequential with projection + normalization layers. + Before 07/24/2024, these modules normalize across all heads. + After 07/24/2024, to support tensor parallelism and follow the common practice in the community, + we support to normalize per head. + To keep the checkpoint copatibility with the previous code, + we keep the nn.Sequential but call the projection and the normalization layers separately. + We use a flag `self.qkv_norm_mode` to control the normalization behavior. + The default value of `self.qkv_norm_mode` is "per_head", which means we normalize per head. + """ + if self.qkv_norm_mode == "per_head": + q = self.to_q[0](x) + context = x if context is None else context + k = self.to_k[0](context) + v = self.to_v[0](context) + q, k, v = map( + lambda t: rearrange(t, "s b (n c) -> b n s c", n=self.heads, c=self.dim_head), + (q, k, v), + ) + else: + raise ValueError(f"Normalization mode {self.qkv_norm_mode} not found, only support 'per_head'") + + q = self.to_q[1](q) + k = self.to_k[1](k) + v = self.to_v[1](v) + if self.is_selfattn and rope_emb is not None: # only apply to self-attention! + # apply_rotary_pos_emb inlined + q_shape = q.shape + q = q.reshape(*q.shape[:-1], 2, -1).movedim(-2, -1).unsqueeze(-2) + q = rope_emb[..., 0] * q[..., 0] + rope_emb[..., 1] * q[..., 1] + q = q.movedim(-1, -2).reshape(*q_shape).to(x.dtype) + + # apply_rotary_pos_emb inlined + k_shape = k.shape + k = k.reshape(*k.shape[:-1], 2, -1).movedim(-2, -1).unsqueeze(-2) + k = rope_emb[..., 0] * k[..., 0] + rope_emb[..., 1] * k[..., 1] + k = k.movedim(-1, -2).reshape(*k_shape).to(x.dtype) + return q, k, v + + def forward( + self, + x, + context=None, + mask=None, + rope_emb=None, + **kwargs, + ): + """ + Args: + x (Tensor): The query tensor of shape [B, Mq, K] + context (Optional[Tensor]): The key tensor of shape [B, Mk, K] or use x as context [self attention] if None + """ + q, k, v = self.cal_qkv(x, context, mask, rope_emb=rope_emb, **kwargs) + out = optimized_attention(q, k, v, self.heads, skip_reshape=True, mask=mask, skip_output_reshape=True) + del q, k, v + out = rearrange(out, " b n s c -> s b (n c)") + return self.to_out(out) + + +class FeedForward(nn.Module): + """ + Transformer FFN with optional gating + + Parameters: + d_model (int): Dimensionality of input features. + d_ff (int): Dimensionality of the hidden layer. + dropout (float, optional): Dropout rate applied after the activation function. Defaults to 0.1. + activation (callable, optional): The activation function applied after the first linear layer. + Defaults to nn.ReLU(). + is_gated (bool, optional): If set to True, incorporates gating mechanism to the feed-forward layer. + Defaults to False. + bias (bool, optional): If set to True, adds a bias to the linear layers. Defaults to True. + + Example: + >>> ff = FeedForward(d_model=512, d_ff=2048) + >>> x = torch.randn(64, 10, 512) # Example input tensor + >>> output = ff(x) + >>> print(output.shape) # Expected shape: (64, 10, 512) + """ + + def __init__( + self, + d_model: int, + d_ff: int, + dropout: float = 0.1, + activation=nn.ReLU(), + is_gated: bool = False, + bias: bool = False, + weight_args={}, + operations=None, + ) -> None: + super().__init__() + + self.layer1 = operations.Linear(d_model, d_ff, bias=bias, **weight_args) + self.layer2 = operations.Linear(d_ff, d_model, bias=bias, **weight_args) + + self.dropout = nn.Dropout(dropout) + self.activation = activation + self.is_gated = is_gated + if is_gated: + self.linear_gate = operations.Linear(d_model, d_ff, bias=False, **weight_args) + + def forward(self, x: torch.Tensor): + g = self.activation(self.layer1(x)) + if self.is_gated: + x = g * self.linear_gate(x) + else: + x = g + assert self.dropout.p == 0.0, "we skip dropout" + return self.layer2(x) + + +class GPT2FeedForward(FeedForward): + def __init__(self, d_model: int, d_ff: int, dropout: float = 0.1, bias: bool = False, weight_args={}, operations=None): + super().__init__( + d_model=d_model, + d_ff=d_ff, + dropout=dropout, + activation=nn.GELU(), + is_gated=False, + bias=bias, + weight_args=weight_args, + operations=operations, + ) + + def forward(self, x: torch.Tensor): + assert self.dropout.p == 0.0, "we skip dropout" + + x = self.layer1(x) + x = self.activation(x) + x = self.layer2(x) + + return x + + +def modulate(x, shift, scale): + return x * (1 + scale.unsqueeze(1)) + shift.unsqueeze(1) + + +class Timesteps(nn.Module): + def __init__(self, num_channels): + super().__init__() + self.num_channels = num_channels + + def forward(self, timesteps): + half_dim = self.num_channels // 2 + exponent = -math.log(10000) * torch.arange(half_dim, dtype=torch.float32, device=timesteps.device) + exponent = exponent / (half_dim - 0.0) + + emb = torch.exp(exponent) + emb = timesteps[:, None].float() * emb[None, :] + + sin_emb = torch.sin(emb) + cos_emb = torch.cos(emb) + emb = torch.cat([cos_emb, sin_emb], dim=-1) + + return emb + + +class TimestepEmbedding(nn.Module): + def __init__(self, in_features: int, out_features: int, use_adaln_lora: bool = False, weight_args={}, operations=None): + super().__init__() + logging.debug( + f"Using AdaLN LoRA Flag: {use_adaln_lora}. We enable bias if no AdaLN LoRA for backward compatibility." + ) + self.linear_1 = operations.Linear(in_features, out_features, bias=not use_adaln_lora, **weight_args) + self.activation = nn.SiLU() + self.use_adaln_lora = use_adaln_lora + if use_adaln_lora: + self.linear_2 = operations.Linear(out_features, 3 * out_features, bias=False, **weight_args) + else: + self.linear_2 = operations.Linear(out_features, out_features, bias=True, **weight_args) + + def forward(self, sample: torch.Tensor) -> torch.Tensor: + emb = self.linear_1(sample) + emb = self.activation(emb) + emb = self.linear_2(emb) + + if self.use_adaln_lora: + adaln_lora_B_3D = emb + emb_B_D = sample + else: + emb_B_D = emb + adaln_lora_B_3D = None + + return emb_B_D, adaln_lora_B_3D + + +class FourierFeatures(nn.Module): + """ + Implements a layer that generates Fourier features from input tensors, based on randomly sampled + frequencies and phases. This can help in learning high-frequency functions in low-dimensional problems. + + [B] -> [B, D] + + Parameters: + num_channels (int): The number of Fourier features to generate. + bandwidth (float, optional): The scaling factor for the frequency of the Fourier features. Defaults to 1. + normalize (bool, optional): If set to True, the outputs are scaled by sqrt(2), usually to normalize + the variance of the features. Defaults to False. + + Example: + >>> layer = FourierFeatures(num_channels=256, bandwidth=0.5, normalize=True) + >>> x = torch.randn(10, 256) # Example input tensor + >>> output = layer(x) + >>> print(output.shape) # Expected shape: (10, 256) + """ + + def __init__(self, num_channels, bandwidth=1, normalize=False): + super().__init__() + self.register_buffer("freqs", 2 * np.pi * bandwidth * torch.randn(num_channels), persistent=True) + self.register_buffer("phases", 2 * np.pi * torch.rand(num_channels), persistent=True) + self.gain = np.sqrt(2) if normalize else 1 + + def forward(self, x, gain: float = 1.0): + """ + Apply the Fourier feature transformation to the input tensor. + + Args: + x (torch.Tensor): The input tensor. + gain (float, optional): An additional gain factor applied during the forward pass. Defaults to 1. + + Returns: + torch.Tensor: The transformed tensor, with Fourier features applied. + """ + in_dtype = x.dtype + x = x.to(torch.float32).ger(self.freqs.to(torch.float32)).add(self.phases.to(torch.float32)) + x = x.cos().mul(self.gain * gain).to(in_dtype) + return x + + +class PatchEmbed(nn.Module): + """ + PatchEmbed is a module for embedding patches from an input tensor by applying either 3D or 2D convolutional layers, + depending on the . This module can process inputs with temporal (video) and spatial (image) dimensions, + making it suitable for video and image processing tasks. It supports dividing the input into patches + and embedding each patch into a vector of size `out_channels`. + + Parameters: + - spatial_patch_size (int): The size of each spatial patch. + - temporal_patch_size (int): The size of each temporal patch. + - in_channels (int): Number of input channels. Default: 3. + - out_channels (int): The dimension of the embedding vector for each patch. Default: 768. + - bias (bool): If True, adds a learnable bias to the output of the convolutional layers. Default: True. + """ + + def __init__( + self, + spatial_patch_size, + temporal_patch_size, + in_channels=3, + out_channels=768, + bias=True, + weight_args={}, + operations=None, + ): + super().__init__() + self.spatial_patch_size = spatial_patch_size + self.temporal_patch_size = temporal_patch_size + + self.proj = nn.Sequential( + Rearrange( + "b c (t r) (h m) (w n) -> b t h w (c r m n)", + r=temporal_patch_size, + m=spatial_patch_size, + n=spatial_patch_size, + ), + operations.Linear( + in_channels * spatial_patch_size * spatial_patch_size * temporal_patch_size, out_channels, bias=bias, **weight_args + ), + ) + self.out = nn.Identity() + + def forward(self, x): + """ + Forward pass of the PatchEmbed module. + + Parameters: + - x (torch.Tensor): The input tensor of shape (B, C, T, H, W) where + B is the batch size, + C is the number of channels, + T is the temporal dimension, + H is the height, and + W is the width of the input. + + Returns: + - torch.Tensor: The embedded patches as a tensor, with shape b t h w c. + """ + assert x.dim() == 5 + _, _, T, H, W = x.shape + assert H % self.spatial_patch_size == 0 and W % self.spatial_patch_size == 0 + assert T % self.temporal_patch_size == 0 + x = self.proj(x) + return self.out(x) + + +class FinalLayer(nn.Module): + """ + The final layer of video DiT. + """ + + def __init__( + self, + hidden_size, + spatial_patch_size, + temporal_patch_size, + out_channels, + use_adaln_lora: bool = False, + adaln_lora_dim: int = 256, + weight_args={}, + operations=None, + ): + super().__init__() + self.norm_final = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, **weight_args) + self.linear = operations.Linear( + hidden_size, spatial_patch_size * spatial_patch_size * temporal_patch_size * out_channels, bias=False, **weight_args + ) + self.hidden_size = hidden_size + self.n_adaln_chunks = 2 + self.use_adaln_lora = use_adaln_lora + if use_adaln_lora: + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), + operations.Linear(hidden_size, adaln_lora_dim, bias=False, **weight_args), + operations.Linear(adaln_lora_dim, self.n_adaln_chunks * hidden_size, bias=False, **weight_args), + ) + else: + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), operations.Linear(hidden_size, self.n_adaln_chunks * hidden_size, bias=False, **weight_args) + ) + + def forward( + self, + x_BT_HW_D, + emb_B_D, + adaln_lora_B_3D: Optional[torch.Tensor] = None, + ): + if self.use_adaln_lora: + assert adaln_lora_B_3D is not None + shift_B_D, scale_B_D = (self.adaLN_modulation(emb_B_D) + adaln_lora_B_3D[:, : 2 * self.hidden_size]).chunk( + 2, dim=1 + ) + else: + shift_B_D, scale_B_D = self.adaLN_modulation(emb_B_D).chunk(2, dim=1) + + B = emb_B_D.shape[0] + T = x_BT_HW_D.shape[0] // B + shift_BT_D, scale_BT_D = repeat(shift_B_D, "b d -> (b t) d", t=T), repeat(scale_B_D, "b d -> (b t) d", t=T) + x_BT_HW_D = modulate(self.norm_final(x_BT_HW_D), shift_BT_D, scale_BT_D) + + x_BT_HW_D = self.linear(x_BT_HW_D) + return x_BT_HW_D + + +class VideoAttn(nn.Module): + """ + Implements video attention with optional cross-attention capabilities. + + This module processes video features while maintaining their spatio-temporal structure. It can perform + self-attention within the video features or cross-attention with external context features. + + Parameters: + x_dim (int): Dimension of input feature vectors + context_dim (Optional[int]): Dimension of context features for cross-attention. None for self-attention + num_heads (int): Number of attention heads + bias (bool): Whether to include bias in attention projections. Default: False + qkv_norm_mode (str): Normalization mode for query/key/value projections. Must be "per_head". Default: "per_head" + x_format (str): Format of input tensor. Must be "BTHWD". Default: "BTHWD" + + Input shape: + - x: (T, H, W, B, D) video features + - context (optional): (M, B, D) context features for cross-attention + where: + T: temporal dimension + H: height + W: width + B: batch size + D: feature dimension + M: context sequence length + """ + + def __init__( + self, + x_dim: int, + context_dim: Optional[int], + num_heads: int, + bias: bool = False, + qkv_norm_mode: str = "per_head", + x_format: str = "BTHWD", + weight_args={}, + operations=None, + ) -> None: + super().__init__() + self.x_format = x_format + + self.attn = Attention( + x_dim, + context_dim, + num_heads, + x_dim // num_heads, + qkv_bias=bias, + qkv_norm="RRI", + out_bias=bias, + qkv_norm_mode=qkv_norm_mode, + qkv_format="sbhd", + weight_args=weight_args, + operations=operations, + ) + + def forward( + self, + x: torch.Tensor, + context: Optional[torch.Tensor] = None, + crossattn_mask: Optional[torch.Tensor] = None, + rope_emb_L_1_1_D: Optional[torch.Tensor] = None, + ) -> torch.Tensor: + """ + Forward pass for video attention. + + Args: + x (Tensor): Input tensor of shape (B, T, H, W, D) or (T, H, W, B, D) representing batches of video data. + context (Tensor): Context tensor of shape (B, M, D) or (M, B, D), + where M is the sequence length of the context. + crossattn_mask (Optional[Tensor]): An optional mask for cross-attention mechanisms. + rope_emb_L_1_1_D (Optional[Tensor]): + Rotary positional embedding tensor of shape (L, 1, 1, D). L == THW for current video training. + + Returns: + Tensor: The output tensor with applied attention, maintaining the input shape. + """ + + x_T_H_W_B_D = x + context_M_B_D = context + T, H, W, B, D = x_T_H_W_B_D.shape + x_THW_B_D = rearrange(x_T_H_W_B_D, "t h w b d -> (t h w) b d") + x_THW_B_D = self.attn( + x_THW_B_D, + context_M_B_D, + crossattn_mask, + rope_emb=rope_emb_L_1_1_D, + ) + x_T_H_W_B_D = rearrange(x_THW_B_D, "(t h w) b d -> t h w b d", h=H, w=W) + return x_T_H_W_B_D + + +def adaln_norm_state(norm_state, x, scale, shift): + normalized = norm_state(x) + return normalized * (1 + scale) + shift + + +class DITBuildingBlock(nn.Module): + """ + A building block for the DiT (Diffusion Transformer) architecture that supports different types of + attention and MLP operations with adaptive layer normalization. + + Parameters: + block_type (str): Type of block - one of: + - "cross_attn"/"ca": Cross-attention + - "full_attn"/"fa": Full self-attention + - "mlp"/"ff": MLP/feedforward block + x_dim (int): Dimension of input features + context_dim (Optional[int]): Dimension of context features for cross-attention + num_heads (int): Number of attention heads + mlp_ratio (float): MLP hidden dimension multiplier. Default: 4.0 + bias (bool): Whether to use bias in layers. Default: False + mlp_dropout (float): Dropout rate for MLP. Default: 0.0 + qkv_norm_mode (str): QKV normalization mode. Default: "per_head" + x_format (str): Input tensor format. Default: "BTHWD" + use_adaln_lora (bool): Whether to use AdaLN-LoRA. Default: False + adaln_lora_dim (int): Dimension for AdaLN-LoRA. Default: 256 + """ + + def __init__( + self, + block_type: str, + x_dim: int, + context_dim: Optional[int], + num_heads: int, + mlp_ratio: float = 4.0, + bias: bool = False, + mlp_dropout: float = 0.0, + qkv_norm_mode: str = "per_head", + x_format: str = "BTHWD", + use_adaln_lora: bool = False, + adaln_lora_dim: int = 256, + weight_args={}, + operations=None + ) -> None: + block_type = block_type.lower() + + super().__init__() + self.x_format = x_format + if block_type in ["cross_attn", "ca"]: + self.block = VideoAttn( + x_dim, + context_dim, + num_heads, + bias=bias, + qkv_norm_mode=qkv_norm_mode, + x_format=self.x_format, + weight_args=weight_args, + operations=operations, + ) + elif block_type in ["full_attn", "fa"]: + self.block = VideoAttn( + x_dim, None, num_heads, bias=bias, qkv_norm_mode=qkv_norm_mode, x_format=self.x_format, weight_args=weight_args, operations=operations + ) + elif block_type in ["mlp", "ff"]: + self.block = GPT2FeedForward(x_dim, int(x_dim * mlp_ratio), dropout=mlp_dropout, bias=bias, weight_args=weight_args, operations=operations) + else: + raise ValueError(f"Unknown block type: {block_type}") + + self.block_type = block_type + self.use_adaln_lora = use_adaln_lora + + self.norm_state = nn.LayerNorm(x_dim, elementwise_affine=False, eps=1e-6) + self.n_adaln_chunks = 3 + if use_adaln_lora: + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), + operations.Linear(x_dim, adaln_lora_dim, bias=False, **weight_args), + operations.Linear(adaln_lora_dim, self.n_adaln_chunks * x_dim, bias=False, **weight_args), + ) + else: + self.adaLN_modulation = nn.Sequential(nn.SiLU(), operations.Linear(x_dim, self.n_adaln_chunks * x_dim, bias=False, **weight_args)) + + def forward( + self, + x: torch.Tensor, + emb_B_D: torch.Tensor, + crossattn_emb: torch.Tensor, + crossattn_mask: Optional[torch.Tensor] = None, + rope_emb_L_1_1_D: Optional[torch.Tensor] = None, + adaln_lora_B_3D: Optional[torch.Tensor] = None, + ) -> torch.Tensor: + """ + Forward pass for dynamically configured blocks with adaptive normalization. + + Args: + x (Tensor): Input tensor of shape (B, T, H, W, D) or (T, H, W, B, D). + emb_B_D (Tensor): Embedding tensor for adaptive layer normalization modulation. + crossattn_emb (Tensor): Tensor for cross-attention blocks. + crossattn_mask (Optional[Tensor]): Optional mask for cross-attention. + rope_emb_L_1_1_D (Optional[Tensor]): + Rotary positional embedding tensor of shape (L, 1, 1, D). L == THW for current video training. + + Returns: + Tensor: The output tensor after processing through the configured block and adaptive normalization. + """ + if self.use_adaln_lora: + shift_B_D, scale_B_D, gate_B_D = (self.adaLN_modulation(emb_B_D) + adaln_lora_B_3D).chunk( + self.n_adaln_chunks, dim=1 + ) + else: + shift_B_D, scale_B_D, gate_B_D = self.adaLN_modulation(emb_B_D).chunk(self.n_adaln_chunks, dim=1) + + shift_1_1_1_B_D, scale_1_1_1_B_D, gate_1_1_1_B_D = ( + shift_B_D.unsqueeze(0).unsqueeze(0).unsqueeze(0), + scale_B_D.unsqueeze(0).unsqueeze(0).unsqueeze(0), + gate_B_D.unsqueeze(0).unsqueeze(0).unsqueeze(0), + ) + + if self.block_type in ["mlp", "ff"]: + x = x + gate_1_1_1_B_D * self.block( + adaln_norm_state(self.norm_state, x, scale_1_1_1_B_D, shift_1_1_1_B_D), + ) + elif self.block_type in ["full_attn", "fa"]: + x = x + gate_1_1_1_B_D * self.block( + adaln_norm_state(self.norm_state, x, scale_1_1_1_B_D, shift_1_1_1_B_D), + context=None, + rope_emb_L_1_1_D=rope_emb_L_1_1_D, + ) + elif self.block_type in ["cross_attn", "ca"]: + x = x + gate_1_1_1_B_D * self.block( + adaln_norm_state(self.norm_state, x, scale_1_1_1_B_D, shift_1_1_1_B_D), + context=crossattn_emb, + crossattn_mask=crossattn_mask, + rope_emb_L_1_1_D=rope_emb_L_1_1_D, + ) + else: + raise ValueError(f"Unknown block type: {self.block_type}") + + return x + + +class GeneralDITTransformerBlock(nn.Module): + """ + A wrapper module that manages a sequence of DITBuildingBlocks to form a complete transformer layer. + Each block in the sequence is specified by a block configuration string. + + Parameters: + x_dim (int): Dimension of input features + context_dim (int): Dimension of context features for cross-attention blocks + num_heads (int): Number of attention heads + block_config (str): String specifying block sequence (e.g. "ca-fa-mlp" for cross-attention, + full-attention, then MLP) + mlp_ratio (float): MLP hidden dimension multiplier. Default: 4.0 + x_format (str): Input tensor format. Default: "BTHWD" + use_adaln_lora (bool): Whether to use AdaLN-LoRA. Default: False + adaln_lora_dim (int): Dimension for AdaLN-LoRA. Default: 256 + + The block_config string uses "-" to separate block types: + - "ca"/"cross_attn": Cross-attention block + - "fa"/"full_attn": Full self-attention block + - "mlp"/"ff": MLP/feedforward block + + Example: + block_config = "ca-fa-mlp" creates a sequence of: + 1. Cross-attention block + 2. Full self-attention block + 3. MLP block + """ + + def __init__( + self, + x_dim: int, + context_dim: int, + num_heads: int, + block_config: str, + mlp_ratio: float = 4.0, + x_format: str = "BTHWD", + use_adaln_lora: bool = False, + adaln_lora_dim: int = 256, + weight_args={}, + operations=None + ): + super().__init__() + self.blocks = nn.ModuleList() + self.x_format = x_format + for block_type in block_config.split("-"): + self.blocks.append( + DITBuildingBlock( + block_type, + x_dim, + context_dim, + num_heads, + mlp_ratio, + x_format=self.x_format, + use_adaln_lora=use_adaln_lora, + adaln_lora_dim=adaln_lora_dim, + weight_args=weight_args, + operations=operations, + ) + ) + + def forward( + self, + x: torch.Tensor, + emb_B_D: torch.Tensor, + crossattn_emb: torch.Tensor, + crossattn_mask: Optional[torch.Tensor] = None, + rope_emb_L_1_1_D: Optional[torch.Tensor] = None, + adaln_lora_B_3D: Optional[torch.Tensor] = None, + ) -> torch.Tensor: + for block in self.blocks: + x = block( + x, + emb_B_D, + crossattn_emb, + crossattn_mask, + rope_emb_L_1_1_D=rope_emb_L_1_1_D, + adaln_lora_B_3D=adaln_lora_B_3D, + ) + return x diff --git a/comfy/ldm/cosmos/cosmos_tokenizer/layers3d.py b/comfy/ldm/cosmos/cosmos_tokenizer/layers3d.py new file mode 100644 index 000000000..9a3ebed6a --- /dev/null +++ b/comfy/ldm/cosmos/cosmos_tokenizer/layers3d.py @@ -0,0 +1,1041 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""The model definition for 3D layers + +Adapted from: https://github.com/lucidrains/magvit2-pytorch/blob/ +9f49074179c912736e617d61b32be367eb5f993a/magvit2_pytorch/magvit2_pytorch.py#L889 + +[MIT License Copyright (c) 2023 Phil Wang] +https://github.com/lucidrains/magvit2-pytorch/blob/ +9f49074179c912736e617d61b32be367eb5f993a/LICENSE +""" +import math +from typing import Tuple, Union + +import numpy as np +import torch +import torch.nn as nn +import torch.nn.functional as F +import logging + +from comfy.ldm.modules.diffusionmodules.model import vae_attention + +from .patching import ( + Patcher, + Patcher3D, + UnPatcher, + UnPatcher3D, +) +from .utils import ( + CausalNormalize, + batch2space, + batch2time, + cast_tuple, + is_odd, + nonlinearity, + replication_pad, + space2batch, + time2batch, +) + +import comfy.ops +ops = comfy.ops.disable_weight_init + +_LEGACY_NUM_GROUPS = 32 + + +class CausalConv3d(nn.Module): + def __init__( + self, + chan_in: int = 1, + chan_out: int = 1, + kernel_size: Union[int, Tuple[int, int, int]] = 3, + pad_mode: str = "constant", + **kwargs, + ): + super().__init__() + kernel_size = cast_tuple(kernel_size, 3) + + time_kernel_size, height_kernel_size, width_kernel_size = kernel_size + + assert is_odd(height_kernel_size) and is_odd(width_kernel_size) + + dilation = kwargs.pop("dilation", 1) + stride = kwargs.pop("stride", 1) + time_stride = kwargs.pop("time_stride", 1) + time_dilation = kwargs.pop("time_dilation", 1) + padding = kwargs.pop("padding", 1) + + self.pad_mode = pad_mode + time_pad = time_dilation * (time_kernel_size - 1) + (1 - time_stride) + self.time_pad = time_pad + + self.spatial_pad = (padding, padding, padding, padding) + + stride = (time_stride, stride, stride) + dilation = (time_dilation, dilation, dilation) + self.conv3d = ops.Conv3d( + chan_in, + chan_out, + kernel_size, + stride=stride, + dilation=dilation, + **kwargs, + ) + + def _replication_pad(self, x: torch.Tensor) -> torch.Tensor: + x_prev = x[:, :, :1, ...].repeat(1, 1, self.time_pad, 1, 1) + x = torch.cat([x_prev, x], dim=2) + padding = self.spatial_pad + (0, 0) + return F.pad(x, padding, mode=self.pad_mode, value=0.0) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + x = self._replication_pad(x) + return self.conv3d(x) + + +class CausalUpsample3d(nn.Module): + def __init__(self, in_channels: int) -> None: + super().__init__() + self.conv = CausalConv3d( + in_channels, in_channels, kernel_size=3, stride=1, padding=1 + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + x = x.repeat_interleave(2, dim=3).repeat_interleave(2, dim=4) + time_factor = 1.0 + 1.0 * (x.shape[2] > 1) + if isinstance(time_factor, torch.Tensor): + time_factor = time_factor.item() + x = x.repeat_interleave(int(time_factor), dim=2) + # TODO(freda): Check if this causes temporal inconsistency. + # Shoule reverse the order of the following two ops, + # better perf and better temporal smoothness. + x = self.conv(x) + return x[..., int(time_factor - 1) :, :, :] + + +class CausalDownsample3d(nn.Module): + def __init__(self, in_channels: int) -> None: + super().__init__() + self.conv = CausalConv3d( + in_channels, + in_channels, + kernel_size=3, + stride=2, + time_stride=2, + padding=0, + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + pad = (0, 1, 0, 1, 0, 0) + x = F.pad(x, pad, mode="constant", value=0) + x = replication_pad(x) + x = self.conv(x) + return x + + +class CausalHybridUpsample3d(nn.Module): + def __init__( + self, + in_channels: int, + spatial_up: bool = True, + temporal_up: bool = True, + **kwargs, + ) -> None: + super().__init__() + self.spatial_up = spatial_up + self.temporal_up = temporal_up + if not self.spatial_up and not self.temporal_up: + return + + self.conv1 = CausalConv3d( + in_channels, + in_channels, + kernel_size=(3, 1, 1), + stride=1, + time_stride=1, + padding=0, + ) + self.conv2 = CausalConv3d( + in_channels, + in_channels, + kernel_size=(1, 3, 3), + stride=1, + time_stride=1, + padding=1, + ) + self.conv3 = CausalConv3d( + in_channels, + in_channels, + kernel_size=1, + stride=1, + time_stride=1, + padding=0, + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + if not self.spatial_up and not self.temporal_up: + return x + + # hybrid upsample temporally. + if self.temporal_up: + time_factor = 1.0 + 1.0 * (x.shape[2] > 1) + if isinstance(time_factor, torch.Tensor): + time_factor = time_factor.item() + x = x.repeat_interleave(int(time_factor), dim=2) + x = x[..., int(time_factor - 1) :, :, :] + x = self.conv1(x) + x + + # hybrid upsample spatially. + if self.spatial_up: + x = x.repeat_interleave(2, dim=3).repeat_interleave(2, dim=4) + x = self.conv2(x) + x + + # final 1x1x1 conv. + x = self.conv3(x) + return x + + +class CausalHybridDownsample3d(nn.Module): + def __init__( + self, + in_channels: int, + spatial_down: bool = True, + temporal_down: bool = True, + **kwargs, + ) -> None: + super().__init__() + self.spatial_down = spatial_down + self.temporal_down = temporal_down + if not self.spatial_down and not self.temporal_down: + return + + self.conv1 = CausalConv3d( + in_channels, + in_channels, + kernel_size=(1, 3, 3), + stride=2, + time_stride=1, + padding=0, + ) + self.conv2 = CausalConv3d( + in_channels, + in_channels, + kernel_size=(3, 1, 1), + stride=1, + time_stride=2, + padding=0, + ) + self.conv3 = CausalConv3d( + in_channels, + in_channels, + kernel_size=1, + stride=1, + time_stride=1, + padding=0, + ) + + + def forward(self, x: torch.Tensor) -> torch.Tensor: + if not self.spatial_down and not self.temporal_down: + return x + + # hybrid downsample spatially. + if self.spatial_down: + pad = (0, 1, 0, 1, 0, 0) + x = F.pad(x, pad, mode="constant", value=0) + x1 = self.conv1(x) + x2 = F.avg_pool3d(x, kernel_size=(1, 2, 2), stride=(1, 2, 2)) + x = x1 + x2 + + # hybrid downsample temporally. + if self.temporal_down: + x = replication_pad(x) + x1 = self.conv2(x) + x2 = F.avg_pool3d(x, kernel_size=(2, 1, 1), stride=(2, 1, 1)) + x = x1 + x2 + + # final 1x1x1 conv. + x = self.conv3(x) + return x + + +class CausalResnetBlock3d(nn.Module): + def __init__( + self, + *, + in_channels: int, + out_channels: int = None, + dropout: float, + num_groups: int, + ) -> None: + super().__init__() + self.in_channels = in_channels + out_channels = in_channels if out_channels is None else out_channels + + self.norm1 = CausalNormalize(in_channels, num_groups=num_groups) + self.conv1 = CausalConv3d( + in_channels, out_channels, kernel_size=3, stride=1, padding=1 + ) + self.norm2 = CausalNormalize(out_channels, num_groups=num_groups) + self.dropout = torch.nn.Dropout(dropout) + self.conv2 = CausalConv3d( + out_channels, out_channels, kernel_size=3, stride=1, padding=1 + ) + self.nin_shortcut = ( + CausalConv3d(in_channels, out_channels, kernel_size=1, stride=1, padding=0) + if in_channels != out_channels + else nn.Identity() + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + h = x + h = self.norm1(h) + h = nonlinearity(h) + h = self.conv1(h) + + h = self.norm2(h) + h = nonlinearity(h) + h = self.dropout(h) + h = self.conv2(h) + x = self.nin_shortcut(x) + + return x + h + + +class CausalResnetBlockFactorized3d(nn.Module): + def __init__( + self, + *, + in_channels: int, + out_channels: int = None, + dropout: float, + num_groups: int, + ) -> None: + super().__init__() + self.in_channels = in_channels + out_channels = in_channels if out_channels is None else out_channels + + self.norm1 = CausalNormalize(in_channels, num_groups=1) + self.conv1 = nn.Sequential( + CausalConv3d( + in_channels, + out_channels, + kernel_size=(1, 3, 3), + stride=1, + padding=1, + ), + CausalConv3d( + out_channels, + out_channels, + kernel_size=(3, 1, 1), + stride=1, + padding=0, + ), + ) + self.norm2 = CausalNormalize(out_channels, num_groups=num_groups) + self.dropout = torch.nn.Dropout(dropout) + self.conv2 = nn.Sequential( + CausalConv3d( + out_channels, + out_channels, + kernel_size=(1, 3, 3), + stride=1, + padding=1, + ), + CausalConv3d( + out_channels, + out_channels, + kernel_size=(3, 1, 1), + stride=1, + padding=0, + ), + ) + self.nin_shortcut = ( + CausalConv3d(in_channels, out_channels, kernel_size=1, stride=1, padding=0) + if in_channels != out_channels + else nn.Identity() + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + h = x + h = self.norm1(h) + h = nonlinearity(h) + h = self.conv1(h) + + h = self.norm2(h) + h = nonlinearity(h) + h = self.dropout(h) + h = self.conv2(h) + x = self.nin_shortcut(x) + + return x + h + + +class CausalAttnBlock(nn.Module): + def __init__(self, in_channels: int, num_groups: int) -> None: + super().__init__() + + self.norm = CausalNormalize(in_channels, num_groups=num_groups) + self.q = CausalConv3d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.k = CausalConv3d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.v = CausalConv3d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.proj_out = CausalConv3d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + + self.optimized_attention = vae_attention() + + def forward(self, x: torch.Tensor) -> torch.Tensor: + h_ = x + h_ = self.norm(h_) + q = self.q(h_) + k = self.k(h_) + v = self.v(h_) + + # compute attention + q, batch_size = time2batch(q) + k, batch_size = time2batch(k) + v, batch_size = time2batch(v) + + b, c, h, w = q.shape + h_ = self.optimized_attention(q, k, v) + + h_ = batch2time(h_, batch_size) + h_ = self.proj_out(h_) + return x + h_ + + +class CausalTemporalAttnBlock(nn.Module): + def __init__(self, in_channels: int, num_groups: int) -> None: + super().__init__() + + self.norm = CausalNormalize(in_channels, num_groups=num_groups) + self.q = CausalConv3d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.k = CausalConv3d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.v = CausalConv3d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + self.proj_out = CausalConv3d( + in_channels, in_channels, kernel_size=1, stride=1, padding=0 + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + h_ = x + h_ = self.norm(h_) + q = self.q(h_) + k = self.k(h_) + v = self.v(h_) + + # compute attention + q, batch_size, height = space2batch(q) + k, _, _ = space2batch(k) + v, _, _ = space2batch(v) + + bhw, c, t = q.shape + q = q.permute(0, 2, 1) # (bhw, t, c) + k = k.permute(0, 2, 1) # (bhw, t, c) + v = v.permute(0, 2, 1) # (bhw, t, c) + + w_ = torch.bmm(q, k.permute(0, 2, 1)) # (bhw, t, t) + w_ = w_ * (int(c) ** (-0.5)) + + # Apply causal mask + mask = torch.tril(torch.ones_like(w_)) + w_ = w_.masked_fill(mask == 0, float("-inf")) + w_ = F.softmax(w_, dim=2) + + # attend to values + h_ = torch.bmm(w_, v) # (bhw, t, c) + h_ = h_.permute(0, 2, 1).reshape(bhw, c, t) # (bhw, c, t) + + h_ = batch2space(h_, batch_size, height) + h_ = self.proj_out(h_) + return x + h_ + + +class EncoderBase(nn.Module): + def __init__( + self, + in_channels: int, + channels: int, + channels_mult: list[int], + num_res_blocks: int, + attn_resolutions: list[int], + dropout: float, + resolution: int, + z_channels: int, + **ignore_kwargs, + ) -> None: + super().__init__() + self.num_resolutions = len(channels_mult) + self.num_res_blocks = num_res_blocks + + # Patcher. + patch_size = ignore_kwargs.get("patch_size", 1) + self.patcher = Patcher( + patch_size, ignore_kwargs.get("patch_method", "rearrange") + ) + in_channels = in_channels * patch_size * patch_size + + # downsampling + self.conv_in = CausalConv3d( + in_channels, channels, kernel_size=3, stride=1, padding=1 + ) + + # num of groups for GroupNorm, num_groups=1 for LayerNorm. + num_groups = ignore_kwargs.get("num_groups", _LEGACY_NUM_GROUPS) + curr_res = resolution // patch_size + in_ch_mult = (1,) + tuple(channels_mult) + self.in_ch_mult = in_ch_mult + self.down = nn.ModuleList() + for i_level in range(self.num_resolutions): + block = nn.ModuleList() + attn = nn.ModuleList() + block_in = channels * in_ch_mult[i_level] + block_out = channels * channels_mult[i_level] + for _ in range(self.num_res_blocks): + block.append( + CausalResnetBlock3d( + in_channels=block_in, + out_channels=block_out, + dropout=dropout, + num_groups=num_groups, + ) + ) + block_in = block_out + if curr_res in attn_resolutions: + attn.append(CausalAttnBlock(block_in, num_groups=num_groups)) + down = nn.Module() + down.block = block + down.attn = attn + if i_level != self.num_resolutions - 1: + down.downsample = CausalDownsample3d(block_in) + curr_res = curr_res // 2 + self.down.append(down) + + # middle + self.mid = nn.Module() + self.mid.block_1 = CausalResnetBlock3d( + in_channels=block_in, + out_channels=block_in, + dropout=dropout, + num_groups=num_groups, + ) + self.mid.attn_1 = CausalAttnBlock(block_in, num_groups=num_groups) + self.mid.block_2 = CausalResnetBlock3d( + in_channels=block_in, + out_channels=block_in, + dropout=dropout, + num_groups=num_groups, + ) + + # end + self.norm_out = CausalNormalize(block_in, num_groups=num_groups) + self.conv_out = CausalConv3d( + block_in, z_channels, kernel_size=3, stride=1, padding=1 + ) + + def patcher3d(self, x: torch.Tensor) -> torch.Tensor: + x, batch_size = time2batch(x) + x = self.patcher(x) + x = batch2time(x, batch_size) + return x + + def forward(self, x: torch.Tensor) -> torch.Tensor: + x = self.patcher3d(x) + + # downsampling + hs = [self.conv_in(x)] + for i_level in range(self.num_resolutions): + for i_block in range(self.num_res_blocks): + h = self.down[i_level].block[i_block](hs[-1]) + if len(self.down[i_level].attn) > 0: + h = self.down[i_level].attn[i_block](h) + hs.append(h) + if i_level != self.num_resolutions - 1: + hs.append(self.down[i_level].downsample(hs[-1])) + else: + # temporal downsample (last level) + time_factor = 1 + 1 * (hs[-1].shape[2] > 1) + if isinstance(time_factor, torch.Tensor): + time_factor = time_factor.item() + hs[-1] = replication_pad(hs[-1]) + hs.append( + F.avg_pool3d( + hs[-1], + kernel_size=[time_factor, 1, 1], + stride=[2, 1, 1], + ) + ) + + # middle + h = hs[-1] + h = self.mid.block_1(h) + h = self.mid.attn_1(h) + h = self.mid.block_2(h) + + # end + h = self.norm_out(h) + h = nonlinearity(h) + h = self.conv_out(h) + return h + + +class DecoderBase(nn.Module): + def __init__( + self, + out_channels: int, + channels: int, + channels_mult: list[int], + num_res_blocks: int, + attn_resolutions: list[int], + dropout: float, + resolution: int, + z_channels: int, + **ignore_kwargs, + ): + super().__init__() + self.num_resolutions = len(channels_mult) + self.num_res_blocks = num_res_blocks + + # UnPatcher. + patch_size = ignore_kwargs.get("patch_size", 1) + self.unpatcher = UnPatcher( + patch_size, ignore_kwargs.get("patch_method", "rearrange") + ) + out_ch = out_channels * patch_size * patch_size + + block_in = channels * channels_mult[self.num_resolutions - 1] + curr_res = (resolution // patch_size) // 2 ** (self.num_resolutions - 1) + self.z_shape = (1, z_channels, curr_res, curr_res) + logging.debug( + "Working with z of shape {} = {} dimensions.".format( + self.z_shape, np.prod(self.z_shape) + ) + ) + + # z to block_in + self.conv_in = CausalConv3d( + z_channels, block_in, kernel_size=3, stride=1, padding=1 + ) + + # num of groups for GroupNorm, num_groups=1 for LayerNorm. + num_groups = ignore_kwargs.get("num_groups", _LEGACY_NUM_GROUPS) + + # middle + self.mid = nn.Module() + self.mid.block_1 = CausalResnetBlock3d( + in_channels=block_in, + out_channels=block_in, + dropout=dropout, + num_groups=num_groups, + ) + self.mid.attn_1 = CausalAttnBlock(block_in, num_groups=num_groups) + self.mid.block_2 = CausalResnetBlock3d( + in_channels=block_in, + out_channels=block_in, + dropout=dropout, + num_groups=num_groups, + ) + + # upsampling + self.up = nn.ModuleList() + for i_level in reversed(range(self.num_resolutions)): + block = nn.ModuleList() + attn = nn.ModuleList() + block_out = channels * channels_mult[i_level] + for _ in range(self.num_res_blocks + 1): + block.append( + CausalResnetBlock3d( + in_channels=block_in, + out_channels=block_out, + dropout=dropout, + num_groups=num_groups, + ) + ) + block_in = block_out + if curr_res in attn_resolutions: + attn.append(CausalAttnBlock(block_in, num_groups=num_groups)) + up = nn.Module() + up.block = block + up.attn = attn + if i_level != 0: + up.upsample = CausalUpsample3d(block_in) + curr_res = curr_res * 2 + self.up.insert(0, up) # prepend to get consistent order + + # end + self.norm_out = CausalNormalize(block_in, num_groups=num_groups) + self.conv_out = CausalConv3d( + block_in, out_ch, kernel_size=3, stride=1, padding=1 + ) + + def unpatcher3d(self, x: torch.Tensor) -> torch.Tensor: + x, batch_size = time2batch(x) + x = self.unpatcher(x) + x = batch2time(x, batch_size) + + return x + + def forward(self, z): + h = self.conv_in(z) + + # middle block. + h = self.mid.block_1(h) + h = self.mid.attn_1(h) + h = self.mid.block_2(h) + + # decoder blocks. + for i_level in reversed(range(self.num_resolutions)): + for i_block in range(self.num_res_blocks + 1): + h = self.up[i_level].block[i_block](h) + if len(self.up[i_level].attn) > 0: + h = self.up[i_level].attn[i_block](h) + if i_level != 0: + h = self.up[i_level].upsample(h) + else: + # temporal upsample (last level) + time_factor = 1.0 + 1.0 * (h.shape[2] > 1) + if isinstance(time_factor, torch.Tensor): + time_factor = time_factor.item() + h = h.repeat_interleave(int(time_factor), dim=2) + h = h[..., int(time_factor - 1) :, :, :] + + h = self.norm_out(h) + h = nonlinearity(h) + h = self.conv_out(h) + h = self.unpatcher3d(h) + return h + + +class EncoderFactorized(nn.Module): + def __init__( + self, + in_channels: int, + channels: int, + channels_mult: list[int], + num_res_blocks: int, + attn_resolutions: list[int], + dropout: float, + resolution: int, + z_channels: int, + spatial_compression: int = 8, + temporal_compression: int = 8, + **ignore_kwargs, + ) -> None: + super().__init__() + self.num_resolutions = len(channels_mult) + self.num_res_blocks = num_res_blocks + + # Patcher. + patch_size = ignore_kwargs.get("patch_size", 1) + self.patcher3d = Patcher3D( + patch_size, ignore_kwargs.get("patch_method", "haar") + ) + in_channels = in_channels * patch_size * patch_size * patch_size + + # calculate the number of downsample operations + self.num_spatial_downs = int(math.log2(spatial_compression)) - int( + math.log2(patch_size) + ) + assert ( + self.num_spatial_downs <= self.num_resolutions + ), f"Spatially downsample {self.num_resolutions} times at most" + + self.num_temporal_downs = int(math.log2(temporal_compression)) - int( + math.log2(patch_size) + ) + assert ( + self.num_temporal_downs <= self.num_resolutions + ), f"Temporally downsample {self.num_resolutions} times at most" + + # downsampling + self.conv_in = nn.Sequential( + CausalConv3d( + in_channels, + channels, + kernel_size=(1, 3, 3), + stride=1, + padding=1, + ), + CausalConv3d( + channels, channels, kernel_size=(3, 1, 1), stride=1, padding=0 + ), + ) + + curr_res = resolution // patch_size + in_ch_mult = (1,) + tuple(channels_mult) + self.in_ch_mult = in_ch_mult + self.down = nn.ModuleList() + for i_level in range(self.num_resolutions): + block = nn.ModuleList() + attn = nn.ModuleList() + block_in = channels * in_ch_mult[i_level] + block_out = channels * channels_mult[i_level] + for _ in range(self.num_res_blocks): + block.append( + CausalResnetBlockFactorized3d( + in_channels=block_in, + out_channels=block_out, + dropout=dropout, + num_groups=1, + ) + ) + block_in = block_out + if curr_res in attn_resolutions: + attn.append( + nn.Sequential( + CausalAttnBlock(block_in, num_groups=1), + CausalTemporalAttnBlock(block_in, num_groups=1), + ) + ) + down = nn.Module() + down.block = block + down.attn = attn + if i_level != self.num_resolutions - 1: + spatial_down = i_level < self.num_spatial_downs + temporal_down = i_level < self.num_temporal_downs + down.downsample = CausalHybridDownsample3d( + block_in, + spatial_down=spatial_down, + temporal_down=temporal_down, + ) + curr_res = curr_res // 2 + self.down.append(down) + + # middle + self.mid = nn.Module() + self.mid.block_1 = CausalResnetBlockFactorized3d( + in_channels=block_in, + out_channels=block_in, + dropout=dropout, + num_groups=1, + ) + self.mid.attn_1 = nn.Sequential( + CausalAttnBlock(block_in, num_groups=1), + CausalTemporalAttnBlock(block_in, num_groups=1), + ) + self.mid.block_2 = CausalResnetBlockFactorized3d( + in_channels=block_in, + out_channels=block_in, + dropout=dropout, + num_groups=1, + ) + + # end + self.norm_out = CausalNormalize(block_in, num_groups=1) + self.conv_out = nn.Sequential( + CausalConv3d( + block_in, z_channels, kernel_size=(1, 3, 3), stride=1, padding=1 + ), + CausalConv3d( + z_channels, + z_channels, + kernel_size=(3, 1, 1), + stride=1, + padding=0, + ), + ) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + x = self.patcher3d(x) + + # downsampling + h = self.conv_in(x) + for i_level in range(self.num_resolutions): + for i_block in range(self.num_res_blocks): + h = self.down[i_level].block[i_block](h) + if len(self.down[i_level].attn) > 0: + h = self.down[i_level].attn[i_block](h) + if i_level != self.num_resolutions - 1: + h = self.down[i_level].downsample(h) + + # middle + h = self.mid.block_1(h) + h = self.mid.attn_1(h) + h = self.mid.block_2(h) + + # end + h = self.norm_out(h) + h = nonlinearity(h) + h = self.conv_out(h) + return h + + +class DecoderFactorized(nn.Module): + def __init__( + self, + out_channels: int, + channels: int, + channels_mult: list[int], + num_res_blocks: int, + attn_resolutions: list[int], + dropout: float, + resolution: int, + z_channels: int, + spatial_compression: int = 8, + temporal_compression: int = 8, + **ignore_kwargs, + ): + super().__init__() + self.num_resolutions = len(channels_mult) + self.num_res_blocks = num_res_blocks + + # UnPatcher. + patch_size = ignore_kwargs.get("patch_size", 1) + self.unpatcher3d = UnPatcher3D( + patch_size, ignore_kwargs.get("patch_method", "haar") + ) + out_ch = out_channels * patch_size * patch_size * patch_size + + # calculate the number of upsample operations + self.num_spatial_ups = int(math.log2(spatial_compression)) - int( + math.log2(patch_size) + ) + assert ( + self.num_spatial_ups <= self.num_resolutions + ), f"Spatially upsample {self.num_resolutions} times at most" + self.num_temporal_ups = int(math.log2(temporal_compression)) - int( + math.log2(patch_size) + ) + assert ( + self.num_temporal_ups <= self.num_resolutions + ), f"Temporally upsample {self.num_resolutions} times at most" + + block_in = channels * channels_mult[self.num_resolutions - 1] + curr_res = (resolution // patch_size) // 2 ** (self.num_resolutions - 1) + self.z_shape = (1, z_channels, curr_res, curr_res) + logging.debug( + "Working with z of shape {} = {} dimensions.".format( + self.z_shape, np.prod(self.z_shape) + ) + ) + + # z to block_in + self.conv_in = nn.Sequential( + CausalConv3d( + z_channels, block_in, kernel_size=(1, 3, 3), stride=1, padding=1 + ), + CausalConv3d( + block_in, block_in, kernel_size=(3, 1, 1), stride=1, padding=0 + ), + ) + + # middle + self.mid = nn.Module() + self.mid.block_1 = CausalResnetBlockFactorized3d( + in_channels=block_in, + out_channels=block_in, + dropout=dropout, + num_groups=1, + ) + self.mid.attn_1 = nn.Sequential( + CausalAttnBlock(block_in, num_groups=1), + CausalTemporalAttnBlock(block_in, num_groups=1), + ) + self.mid.block_2 = CausalResnetBlockFactorized3d( + in_channels=block_in, + out_channels=block_in, + dropout=dropout, + num_groups=1, + ) + + legacy_mode = ignore_kwargs.get("legacy_mode", False) + # upsampling + self.up = nn.ModuleList() + for i_level in reversed(range(self.num_resolutions)): + block = nn.ModuleList() + attn = nn.ModuleList() + block_out = channels * channels_mult[i_level] + for _ in range(self.num_res_blocks + 1): + block.append( + CausalResnetBlockFactorized3d( + in_channels=block_in, + out_channels=block_out, + dropout=dropout, + num_groups=1, + ) + ) + block_in = block_out + if curr_res in attn_resolutions: + attn.append( + nn.Sequential( + CausalAttnBlock(block_in, num_groups=1), + CausalTemporalAttnBlock(block_in, num_groups=1), + ) + ) + up = nn.Module() + up.block = block + up.attn = attn + if i_level != 0: + # The layer index for temporal/spatial downsampling performed + # in the encoder should correspond to the layer index in + # reverse order where upsampling is performed in the decoder. + # If you've a pre-trained model, you can simply finetune. + i_level_reverse = self.num_resolutions - i_level - 1 + if legacy_mode: + temporal_up = i_level_reverse < self.num_temporal_ups + else: + temporal_up = 0 < i_level_reverse < self.num_temporal_ups + 1 + spatial_up = temporal_up or ( + i_level_reverse < self.num_spatial_ups + and self.num_spatial_ups > self.num_temporal_ups + ) + up.upsample = CausalHybridUpsample3d( + block_in, spatial_up=spatial_up, temporal_up=temporal_up + ) + curr_res = curr_res * 2 + self.up.insert(0, up) # prepend to get consistent order + + # end + self.norm_out = CausalNormalize(block_in, num_groups=1) + self.conv_out = nn.Sequential( + CausalConv3d(block_in, out_ch, kernel_size=(1, 3, 3), stride=1, padding=1), + CausalConv3d(out_ch, out_ch, kernel_size=(3, 1, 1), stride=1, padding=0), + ) + + def forward(self, z): + h = self.conv_in(z) + + # middle block. + h = self.mid.block_1(h) + h = self.mid.attn_1(h) + h = self.mid.block_2(h) + + # decoder blocks. + for i_level in reversed(range(self.num_resolutions)): + for i_block in range(self.num_res_blocks + 1): + h = self.up[i_level].block[i_block](h) + if len(self.up[i_level].attn) > 0: + h = self.up[i_level].attn[i_block](h) + if i_level != 0: + h = self.up[i_level].upsample(h) + + h = self.norm_out(h) + h = nonlinearity(h) + h = self.conv_out(h) + h = self.unpatcher3d(h) + return h diff --git a/comfy/ldm/cosmos/cosmos_tokenizer/patching.py b/comfy/ldm/cosmos/cosmos_tokenizer/patching.py new file mode 100644 index 000000000..87a53a1d9 --- /dev/null +++ b/comfy/ldm/cosmos/cosmos_tokenizer/patching.py @@ -0,0 +1,377 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""The patcher and unpatcher implementation for 2D and 3D data. + +The idea of Haar wavelet is to compute LL, LH, HL, HH component as two 1D convolutions. +One on the rows and one on the columns. +For example, in 1D signal, we have [a, b], then the low-freq compoenent is [a + b] / 2 and high-freq is [a - b] / 2. +We can use a 1D convolution with kernel [1, 1] and stride 2 to represent the L component. +For H component, we can use a 1D convolution with kernel [1, -1] and stride 2. +Although in principle, we typically only do additional Haar wavelet over the LL component. But here we do it for all + as we need to support downsampling for more than 2x. +For example, 4x downsampling can be done by 2x Haar and additional 2x Haar, and the shape would be. + [3, 256, 256] -> [12, 128, 128] -> [48, 64, 64] +""" + +import torch +import torch.nn.functional as F +from einops import rearrange + +_WAVELETS = { + "haar": torch.tensor([0.7071067811865476, 0.7071067811865476]), + "rearrange": torch.tensor([1.0, 1.0]), +} +_PERSISTENT = False + + +class Patcher(torch.nn.Module): + """A module to convert image tensors into patches using torch operations. + + The main difference from `class Patching` is that this module implements + all operations using torch, rather than python or numpy, for efficiency purpose. + + It's bit-wise identical to the Patching module outputs, with the added + benefit of being torch.jit scriptable. + """ + + def __init__(self, patch_size=1, patch_method="haar"): + super().__init__() + self.patch_size = patch_size + self.patch_method = patch_method + self.register_buffer( + "wavelets", _WAVELETS[patch_method], persistent=_PERSISTENT + ) + self.range = range(int(torch.log2(torch.tensor(self.patch_size)).item())) + self.register_buffer( + "_arange", + torch.arange(_WAVELETS[patch_method].shape[0]), + persistent=_PERSISTENT, + ) + for param in self.parameters(): + param.requires_grad = False + + def forward(self, x): + if self.patch_method == "haar": + return self._haar(x) + elif self.patch_method == "rearrange": + return self._arrange(x) + else: + raise ValueError("Unknown patch method: " + self.patch_method) + + def _dwt(self, x, mode="reflect", rescale=False): + dtype = x.dtype + h = self.wavelets.to(device=x.device) + + n = h.shape[0] + g = x.shape[1] + hl = h.flip(0).reshape(1, 1, -1).repeat(g, 1, 1) + hh = (h * ((-1) ** self._arange.to(device=x.device))).reshape(1, 1, -1).repeat(g, 1, 1) + hh = hh.to(dtype=dtype) + hl = hl.to(dtype=dtype) + + x = F.pad(x, pad=(n - 2, n - 1, n - 2, n - 1), mode=mode).to(dtype) + xl = F.conv2d(x, hl.unsqueeze(2), groups=g, stride=(1, 2)) + xh = F.conv2d(x, hh.unsqueeze(2), groups=g, stride=(1, 2)) + xll = F.conv2d(xl, hl.unsqueeze(3), groups=g, stride=(2, 1)) + xlh = F.conv2d(xl, hh.unsqueeze(3), groups=g, stride=(2, 1)) + xhl = F.conv2d(xh, hl.unsqueeze(3), groups=g, stride=(2, 1)) + xhh = F.conv2d(xh, hh.unsqueeze(3), groups=g, stride=(2, 1)) + + out = torch.cat([xll, xlh, xhl, xhh], dim=1) + if rescale: + out = out / 2 + return out + + def _haar(self, x): + for _ in self.range: + x = self._dwt(x, rescale=True) + return x + + def _arrange(self, x): + x = rearrange( + x, + "b c (h p1) (w p2) -> b (c p1 p2) h w", + p1=self.patch_size, + p2=self.patch_size, + ).contiguous() + return x + + +class Patcher3D(Patcher): + """A 3D discrete wavelet transform for video data, expects 5D tensor, i.e. a batch of videos.""" + + def __init__(self, patch_size=1, patch_method="haar"): + super().__init__(patch_method=patch_method, patch_size=patch_size) + self.register_buffer( + "patch_size_buffer", + patch_size * torch.ones([1], dtype=torch.int32), + persistent=_PERSISTENT, + ) + + def _dwt(self, x, wavelet, mode="reflect", rescale=False): + dtype = x.dtype + h = self.wavelets.to(device=x.device) + + n = h.shape[0] + g = x.shape[1] + hl = h.flip(0).reshape(1, 1, -1).repeat(g, 1, 1) + hh = (h * ((-1) ** self._arange.to(device=x.device))).reshape(1, 1, -1).repeat(g, 1, 1) + hh = hh.to(dtype=dtype) + hl = hl.to(dtype=dtype) + + # Handles temporal axis. + x = F.pad( + x, pad=(max(0, n - 2), n - 1, n - 2, n - 1, n - 2, n - 1), mode=mode + ).to(dtype) + xl = F.conv3d(x, hl.unsqueeze(3).unsqueeze(4), groups=g, stride=(2, 1, 1)) + xh = F.conv3d(x, hh.unsqueeze(3).unsqueeze(4), groups=g, stride=(2, 1, 1)) + + # Handles spatial axes. + xll = F.conv3d(xl, hl.unsqueeze(2).unsqueeze(4), groups=g, stride=(1, 2, 1)) + xlh = F.conv3d(xl, hh.unsqueeze(2).unsqueeze(4), groups=g, stride=(1, 2, 1)) + xhl = F.conv3d(xh, hl.unsqueeze(2).unsqueeze(4), groups=g, stride=(1, 2, 1)) + xhh = F.conv3d(xh, hh.unsqueeze(2).unsqueeze(4), groups=g, stride=(1, 2, 1)) + + xlll = F.conv3d(xll, hl.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2)) + xllh = F.conv3d(xll, hh.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2)) + xlhl = F.conv3d(xlh, hl.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2)) + xlhh = F.conv3d(xlh, hh.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2)) + xhll = F.conv3d(xhl, hl.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2)) + xhlh = F.conv3d(xhl, hh.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2)) + xhhl = F.conv3d(xhh, hl.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2)) + xhhh = F.conv3d(xhh, hh.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2)) + + out = torch.cat([xlll, xllh, xlhl, xlhh, xhll, xhlh, xhhl, xhhh], dim=1) + if rescale: + out = out / (2 * torch.sqrt(torch.tensor(2.0))) + return out + + def _haar(self, x): + xi, xv = torch.split(x, [1, x.shape[2] - 1], dim=2) + x = torch.cat([xi.repeat_interleave(self.patch_size, dim=2), xv], dim=2) + for _ in self.range: + x = self._dwt(x, "haar", rescale=True) + return x + + def _arrange(self, x): + xi, xv = torch.split(x, [1, x.shape[2] - 1], dim=2) + x = torch.cat([xi.repeat_interleave(self.patch_size, dim=2), xv], dim=2) + x = rearrange( + x, + "b c (t p1) (h p2) (w p3) -> b (c p1 p2 p3) t h w", + p1=self.patch_size, + p2=self.patch_size, + p3=self.patch_size, + ).contiguous() + return x + + +class UnPatcher(torch.nn.Module): + """A module to convert patches into image tensorsusing torch operations. + + The main difference from `class Unpatching` is that this module implements + all operations using torch, rather than python or numpy, for efficiency purpose. + + It's bit-wise identical to the Unpatching module outputs, with the added + benefit of being torch.jit scriptable. + """ + + def __init__(self, patch_size=1, patch_method="haar"): + super().__init__() + self.patch_size = patch_size + self.patch_method = patch_method + self.register_buffer( + "wavelets", _WAVELETS[patch_method], persistent=_PERSISTENT + ) + self.range = range(int(torch.log2(torch.tensor(self.patch_size)).item())) + self.register_buffer( + "_arange", + torch.arange(_WAVELETS[patch_method].shape[0]), + persistent=_PERSISTENT, + ) + for param in self.parameters(): + param.requires_grad = False + + def forward(self, x): + if self.patch_method == "haar": + return self._ihaar(x) + elif self.patch_method == "rearrange": + return self._iarrange(x) + else: + raise ValueError("Unknown patch method: " + self.patch_method) + + def _idwt(self, x, wavelet="haar", mode="reflect", rescale=False): + dtype = x.dtype + h = self.wavelets.to(device=x.device) + n = h.shape[0] + + g = x.shape[1] // 4 + hl = h.flip([0]).reshape(1, 1, -1).repeat([g, 1, 1]) + hh = (h * ((-1) ** self._arange.to(device=x.device))).reshape(1, 1, -1).repeat(g, 1, 1) + hh = hh.to(dtype=dtype) + hl = hl.to(dtype=dtype) + + xll, xlh, xhl, xhh = torch.chunk(x.to(dtype), 4, dim=1) + + # Inverse transform. + yl = torch.nn.functional.conv_transpose2d( + xll, hl.unsqueeze(3), groups=g, stride=(2, 1), padding=(n - 2, 0) + ) + yl += torch.nn.functional.conv_transpose2d( + xlh, hh.unsqueeze(3), groups=g, stride=(2, 1), padding=(n - 2, 0) + ) + yh = torch.nn.functional.conv_transpose2d( + xhl, hl.unsqueeze(3), groups=g, stride=(2, 1), padding=(n - 2, 0) + ) + yh += torch.nn.functional.conv_transpose2d( + xhh, hh.unsqueeze(3), groups=g, stride=(2, 1), padding=(n - 2, 0) + ) + y = torch.nn.functional.conv_transpose2d( + yl, hl.unsqueeze(2), groups=g, stride=(1, 2), padding=(0, n - 2) + ) + y += torch.nn.functional.conv_transpose2d( + yh, hh.unsqueeze(2), groups=g, stride=(1, 2), padding=(0, n - 2) + ) + + if rescale: + y = y * 2 + return y + + def _ihaar(self, x): + for _ in self.range: + x = self._idwt(x, "haar", rescale=True) + return x + + def _iarrange(self, x): + x = rearrange( + x, + "b (c p1 p2) h w -> b c (h p1) (w p2)", + p1=self.patch_size, + p2=self.patch_size, + ) + return x + + +class UnPatcher3D(UnPatcher): + """A 3D inverse discrete wavelet transform for video wavelet decompositions.""" + + def __init__(self, patch_size=1, patch_method="haar"): + super().__init__(patch_method=patch_method, patch_size=patch_size) + + def _idwt(self, x, wavelet="haar", mode="reflect", rescale=False): + dtype = x.dtype + h = self.wavelets.to(device=x.device) + + g = x.shape[1] // 8 # split into 8 spatio-temporal filtered tesnors. + hl = h.flip([0]).reshape(1, 1, -1).repeat([g, 1, 1]) + hh = (h * ((-1) ** self._arange.to(device=x.device))).reshape(1, 1, -1).repeat(g, 1, 1) + hl = hl.to(dtype=dtype) + hh = hh.to(dtype=dtype) + + xlll, xllh, xlhl, xlhh, xhll, xhlh, xhhl, xhhh = torch.chunk(x, 8, dim=1) + del x + + # Height height transposed convolutions. + xll = F.conv_transpose3d( + xlll, hl.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2) + ) + del xlll + + xll += F.conv_transpose3d( + xllh, hh.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2) + ) + del xllh + + xlh = F.conv_transpose3d( + xlhl, hl.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2) + ) + del xlhl + + xlh += F.conv_transpose3d( + xlhh, hh.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2) + ) + del xlhh + + xhl = F.conv_transpose3d( + xhll, hl.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2) + ) + del xhll + + xhl += F.conv_transpose3d( + xhlh, hh.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2) + ) + del xhlh + + xhh = F.conv_transpose3d( + xhhl, hl.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2) + ) + del xhhl + + xhh += F.conv_transpose3d( + xhhh, hh.unsqueeze(2).unsqueeze(3), groups=g, stride=(1, 1, 2) + ) + del xhhh + + # Handles width transposed convolutions. + xl = F.conv_transpose3d( + xll, hl.unsqueeze(2).unsqueeze(4), groups=g, stride=(1, 2, 1) + ) + del xll + + xl += F.conv_transpose3d( + xlh, hh.unsqueeze(2).unsqueeze(4), groups=g, stride=(1, 2, 1) + ) + del xlh + + xh = F.conv_transpose3d( + xhl, hl.unsqueeze(2).unsqueeze(4), groups=g, stride=(1, 2, 1) + ) + del xhl + + xh += F.conv_transpose3d( + xhh, hh.unsqueeze(2).unsqueeze(4), groups=g, stride=(1, 2, 1) + ) + del xhh + + # Handles time axis transposed convolutions. + x = F.conv_transpose3d( + xl, hl.unsqueeze(3).unsqueeze(4), groups=g, stride=(2, 1, 1) + ) + del xl + + x += F.conv_transpose3d( + xh, hh.unsqueeze(3).unsqueeze(4), groups=g, stride=(2, 1, 1) + ) + + if rescale: + x = x * (2 * torch.sqrt(torch.tensor(2.0))) + return x + + def _ihaar(self, x): + for _ in self.range: + x = self._idwt(x, "haar", rescale=True) + x = x[:, :, self.patch_size - 1 :, ...] + return x + + def _iarrange(self, x): + x = rearrange( + x, + "b (c p1 p2 p3) t h w -> b c (t p1) (h p2) (w p3)", + p1=self.patch_size, + p2=self.patch_size, + p3=self.patch_size, + ) + x = x[:, :, self.patch_size - 1 :, ...] + return x diff --git a/comfy/ldm/cosmos/cosmos_tokenizer/utils.py b/comfy/ldm/cosmos/cosmos_tokenizer/utils.py new file mode 100644 index 000000000..3af8d0d05 --- /dev/null +++ b/comfy/ldm/cosmos/cosmos_tokenizer/utils.py @@ -0,0 +1,112 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""Shared utilities for the networks module.""" + +from typing import Any + +import torch +from einops import rearrange + + +import comfy.ops +ops = comfy.ops.disable_weight_init + +def time2batch(x: torch.Tensor) -> tuple[torch.Tensor, int]: + batch_size = x.shape[0] + return rearrange(x, "b c t h w -> (b t) c h w"), batch_size + + +def batch2time(x: torch.Tensor, batch_size: int) -> torch.Tensor: + return rearrange(x, "(b t) c h w -> b c t h w", b=batch_size) + + +def space2batch(x: torch.Tensor) -> tuple[torch.Tensor, int]: + batch_size, height = x.shape[0], x.shape[-2] + return rearrange(x, "b c t h w -> (b h w) c t"), batch_size, height + + +def batch2space(x: torch.Tensor, batch_size: int, height: int) -> torch.Tensor: + return rearrange(x, "(b h w) c t -> b c t h w", b=batch_size, h=height) + + +def cast_tuple(t: Any, length: int = 1) -> Any: + return t if isinstance(t, tuple) else ((t,) * length) + + +def replication_pad(x): + return torch.cat([x[:, :, :1, ...], x], dim=2) + + +def divisible_by(num: int, den: int) -> bool: + return (num % den) == 0 + + +def is_odd(n: int) -> bool: + return not divisible_by(n, 2) + + +def nonlinearity(x): + return x * torch.sigmoid(x) + + +def Normalize(in_channels, num_groups=32): + return ops.GroupNorm( + num_groups=num_groups, num_channels=in_channels, eps=1e-6, affine=True + ) + + +class CausalNormalize(torch.nn.Module): + def __init__(self, in_channels, num_groups=1): + super().__init__() + self.norm = ops.GroupNorm( + num_groups=num_groups, + num_channels=in_channels, + eps=1e-6, + affine=True, + ) + self.num_groups = num_groups + + def forward(self, x): + # if num_groups !=1, we apply a spatio-temporal groupnorm for backward compatibility purpose. + # All new models should use num_groups=1, otherwise causality is not guaranteed. + if self.num_groups == 1: + x, batch_size = time2batch(x) + return batch2time(self.norm(x), batch_size) + return self.norm(x) + + +def exists(v): + return v is not None + + +def default(*args): + for arg in args: + if exists(arg): + return arg + return None + + +def round_ste(z: torch.Tensor) -> torch.Tensor: + """Round with straight through gradients.""" + zhat = z.round() + return z + (zhat - z).detach() + + +def log(t, eps=1e-5): + return t.clamp(min=eps).log() + + +def entropy(prob): + return (-prob * log(prob)).sum(dim=-1) diff --git a/comfy/ldm/cosmos/model.py b/comfy/ldm/cosmos/model.py new file mode 100644 index 000000000..06d0baef3 --- /dev/null +++ b/comfy/ldm/cosmos/model.py @@ -0,0 +1,514 @@ +# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +""" +A general implementation of adaln-modulated VIT-like~(DiT) transformer for video processing. +""" + +from typing import Optional, Tuple + +import torch +from einops import rearrange +from torch import nn +from torchvision import transforms + +from enum import Enum +import logging + +from comfy.ldm.modules.diffusionmodules.mmdit import RMSNorm + +from .blocks import ( + FinalLayer, + GeneralDITTransformerBlock, + PatchEmbed, + TimestepEmbedding, + Timesteps, +) + +from .position_embedding import LearnablePosEmbAxis, VideoRopePosition3DEmb + + +class DataType(Enum): + IMAGE = "image" + VIDEO = "video" + + +class GeneralDIT(nn.Module): + """ + A general implementation of adaln-modulated VIT-like~(DiT) transformer for video processing. + + Args: + max_img_h (int): Maximum height of the input images. + max_img_w (int): Maximum width of the input images. + max_frames (int): Maximum number of frames in the video sequence. + in_channels (int): Number of input channels (e.g., RGB channels for color images). + out_channels (int): Number of output channels. + patch_spatial (tuple): Spatial resolution of patches for input processing. + patch_temporal (int): Temporal resolution of patches for input processing. + concat_padding_mask (bool): If True, includes a mask channel in the input to handle padding. + block_config (str): Configuration of the transformer block. See Notes for supported block types. + model_channels (int): Base number of channels used throughout the model. + num_blocks (int): Number of transformer blocks. + num_heads (int): Number of heads in the multi-head attention layers. + mlp_ratio (float): Expansion ratio for MLP blocks. + block_x_format (str): Format of input tensor for transformer blocks ('BTHWD' or 'THWBD'). + crossattn_emb_channels (int): Number of embedding channels for cross-attention. + use_cross_attn_mask (bool): Whether to use mask in cross-attention. + pos_emb_cls (str): Type of positional embeddings. + pos_emb_learnable (bool): Whether positional embeddings are learnable. + pos_emb_interpolation (str): Method for interpolating positional embeddings. + affline_emb_norm (bool): Whether to normalize affine embeddings. + use_adaln_lora (bool): Whether to use AdaLN-LoRA. + adaln_lora_dim (int): Dimension for AdaLN-LoRA. + rope_h_extrapolation_ratio (float): Height extrapolation ratio for RoPE. + rope_w_extrapolation_ratio (float): Width extrapolation ratio for RoPE. + rope_t_extrapolation_ratio (float): Temporal extrapolation ratio for RoPE. + extra_per_block_abs_pos_emb (bool): Whether to use extra per-block absolute positional embeddings. + extra_per_block_abs_pos_emb_type (str): Type of extra per-block positional embeddings. + extra_h_extrapolation_ratio (float): Height extrapolation ratio for extra embeddings. + extra_w_extrapolation_ratio (float): Width extrapolation ratio for extra embeddings. + extra_t_extrapolation_ratio (float): Temporal extrapolation ratio for extra embeddings. + + Notes: + Supported block types in block_config: + * cross_attn, ca: Cross attention + * full_attn: Full attention on all flattened tokens + * mlp, ff: Feed forward block + """ + + def __init__( + self, + max_img_h: int, + max_img_w: int, + max_frames: int, + in_channels: int, + out_channels: int, + patch_spatial: tuple, + patch_temporal: int, + concat_padding_mask: bool = True, + # attention settings + block_config: str = "FA-CA-MLP", + model_channels: int = 768, + num_blocks: int = 10, + num_heads: int = 16, + mlp_ratio: float = 4.0, + block_x_format: str = "BTHWD", + # cross attention settings + crossattn_emb_channels: int = 1024, + use_cross_attn_mask: bool = False, + # positional embedding settings + pos_emb_cls: str = "sincos", + pos_emb_learnable: bool = False, + pos_emb_interpolation: str = "crop", + affline_emb_norm: bool = False, # whether or not to normalize the affine embedding + use_adaln_lora: bool = False, + adaln_lora_dim: int = 256, + rope_h_extrapolation_ratio: float = 1.0, + rope_w_extrapolation_ratio: float = 1.0, + rope_t_extrapolation_ratio: float = 1.0, + extra_per_block_abs_pos_emb: bool = False, + extra_per_block_abs_pos_emb_type: str = "sincos", + extra_h_extrapolation_ratio: float = 1.0, + extra_w_extrapolation_ratio: float = 1.0, + extra_t_extrapolation_ratio: float = 1.0, + image_model=None, + device=None, + dtype=None, + operations=None, + ) -> None: + super().__init__() + self.max_img_h = max_img_h + self.max_img_w = max_img_w + self.max_frames = max_frames + self.in_channels = in_channels + self.out_channels = out_channels + self.patch_spatial = patch_spatial + self.patch_temporal = patch_temporal + self.num_heads = num_heads + self.num_blocks = num_blocks + self.model_channels = model_channels + self.use_cross_attn_mask = use_cross_attn_mask + self.concat_padding_mask = concat_padding_mask + # positional embedding settings + self.pos_emb_cls = pos_emb_cls + self.pos_emb_learnable = pos_emb_learnable + self.pos_emb_interpolation = pos_emb_interpolation + self.affline_emb_norm = affline_emb_norm + self.rope_h_extrapolation_ratio = rope_h_extrapolation_ratio + self.rope_w_extrapolation_ratio = rope_w_extrapolation_ratio + self.rope_t_extrapolation_ratio = rope_t_extrapolation_ratio + self.extra_per_block_abs_pos_emb = extra_per_block_abs_pos_emb + self.extra_per_block_abs_pos_emb_type = extra_per_block_abs_pos_emb_type.lower() + self.extra_h_extrapolation_ratio = extra_h_extrapolation_ratio + self.extra_w_extrapolation_ratio = extra_w_extrapolation_ratio + self.extra_t_extrapolation_ratio = extra_t_extrapolation_ratio + self.dtype = dtype + weight_args = {"device": device, "dtype": dtype} + + in_channels = in_channels + 1 if concat_padding_mask else in_channels + self.x_embedder = PatchEmbed( + spatial_patch_size=patch_spatial, + temporal_patch_size=patch_temporal, + in_channels=in_channels, + out_channels=model_channels, + bias=False, + weight_args=weight_args, + operations=operations, + ) + + self.build_pos_embed(device=device, dtype=dtype) + self.block_x_format = block_x_format + self.use_adaln_lora = use_adaln_lora + self.adaln_lora_dim = adaln_lora_dim + self.t_embedder = nn.ModuleList( + [Timesteps(model_channels), + TimestepEmbedding(model_channels, model_channels, use_adaln_lora=use_adaln_lora, weight_args=weight_args, operations=operations),] + ) + + self.blocks = nn.ModuleDict() + + for idx in range(num_blocks): + self.blocks[f"block{idx}"] = GeneralDITTransformerBlock( + x_dim=model_channels, + context_dim=crossattn_emb_channels, + num_heads=num_heads, + block_config=block_config, + mlp_ratio=mlp_ratio, + x_format=self.block_x_format, + use_adaln_lora=use_adaln_lora, + adaln_lora_dim=adaln_lora_dim, + weight_args=weight_args, + operations=operations, + ) + + if self.affline_emb_norm: + logging.debug("Building affine embedding normalization layer") + self.affline_norm = RMSNorm(model_channels, elementwise_affine=True, eps=1e-6) + else: + self.affline_norm = nn.Identity() + + self.final_layer = FinalLayer( + hidden_size=self.model_channels, + spatial_patch_size=self.patch_spatial, + temporal_patch_size=self.patch_temporal, + out_channels=self.out_channels, + use_adaln_lora=self.use_adaln_lora, + adaln_lora_dim=self.adaln_lora_dim, + weight_args=weight_args, + operations=operations, + ) + + def build_pos_embed(self, device=None, dtype=None): + if self.pos_emb_cls == "rope3d": + cls_type = VideoRopePosition3DEmb + else: + raise ValueError(f"Unknown pos_emb_cls {self.pos_emb_cls}") + + logging.debug(f"Building positional embedding with {self.pos_emb_cls} class, impl {cls_type}") + kwargs = dict( + model_channels=self.model_channels, + len_h=self.max_img_h // self.patch_spatial, + len_w=self.max_img_w // self.patch_spatial, + len_t=self.max_frames // self.patch_temporal, + is_learnable=self.pos_emb_learnable, + interpolation=self.pos_emb_interpolation, + head_dim=self.model_channels // self.num_heads, + h_extrapolation_ratio=self.rope_h_extrapolation_ratio, + w_extrapolation_ratio=self.rope_w_extrapolation_ratio, + t_extrapolation_ratio=self.rope_t_extrapolation_ratio, + device=device, + ) + self.pos_embedder = cls_type( + **kwargs, + ) + + if self.extra_per_block_abs_pos_emb: + assert self.extra_per_block_abs_pos_emb_type in [ + "learnable", + ], f"Unknown extra_per_block_abs_pos_emb_type {self.extra_per_block_abs_pos_emb_type}" + kwargs["h_extrapolation_ratio"] = self.extra_h_extrapolation_ratio + kwargs["w_extrapolation_ratio"] = self.extra_w_extrapolation_ratio + kwargs["t_extrapolation_ratio"] = self.extra_t_extrapolation_ratio + kwargs["device"] = device + kwargs["dtype"] = dtype + self.extra_pos_embedder = LearnablePosEmbAxis( + **kwargs, + ) + + def prepare_embedded_sequence( + self, + x_B_C_T_H_W: torch.Tensor, + fps: Optional[torch.Tensor] = None, + padding_mask: Optional[torch.Tensor] = None, + latent_condition: Optional[torch.Tensor] = None, + latent_condition_sigma: Optional[torch.Tensor] = None, + ) -> Tuple[torch.Tensor, Optional[torch.Tensor]]: + """ + Prepares an embedded sequence tensor by applying positional embeddings and handling padding masks. + + Args: + x_B_C_T_H_W (torch.Tensor): video + fps (Optional[torch.Tensor]): Frames per second tensor to be used for positional embedding when required. + If None, a default value (`self.base_fps`) will be used. + padding_mask (Optional[torch.Tensor]): current it is not used + + Returns: + Tuple[torch.Tensor, Optional[torch.Tensor]]: + - A tensor of shape (B, T, H, W, D) with the embedded sequence. + - An optional positional embedding tensor, returned only if the positional embedding class + (`self.pos_emb_cls`) includes 'rope'. Otherwise, None. + + Notes: + - If `self.concat_padding_mask` is True, a padding mask channel is concatenated to the input tensor. + - The method of applying positional embeddings depends on the value of `self.pos_emb_cls`. + - If 'rope' is in `self.pos_emb_cls` (case insensitive), the positional embeddings are generated using + the `self.pos_embedder` with the shape [T, H, W]. + - If "fps_aware" is in `self.pos_emb_cls`, the positional embeddings are generated using the + `self.pos_embedder` with the fps tensor. + - Otherwise, the positional embeddings are generated without considering fps. + """ + if self.concat_padding_mask: + if padding_mask is not None: + padding_mask = transforms.functional.resize( + padding_mask, list(x_B_C_T_H_W.shape[-2:]), interpolation=transforms.InterpolationMode.NEAREST + ) + else: + padding_mask = torch.zeros((x_B_C_T_H_W.shape[0], 1, x_B_C_T_H_W.shape[-2], x_B_C_T_H_W.shape[-1]), dtype=x_B_C_T_H_W.dtype, device=x_B_C_T_H_W.device) + + x_B_C_T_H_W = torch.cat( + [x_B_C_T_H_W, padding_mask.unsqueeze(1).repeat(1, 1, x_B_C_T_H_W.shape[2], 1, 1)], dim=1 + ) + x_B_T_H_W_D = self.x_embedder(x_B_C_T_H_W) + + if self.extra_per_block_abs_pos_emb: + extra_pos_emb = self.extra_pos_embedder(x_B_T_H_W_D, fps=fps, device=x_B_C_T_H_W.device, dtype=x_B_C_T_H_W.dtype) + else: + extra_pos_emb = None + + if "rope" in self.pos_emb_cls.lower(): + return x_B_T_H_W_D, self.pos_embedder(x_B_T_H_W_D, fps=fps, device=x_B_C_T_H_W.device), extra_pos_emb + + if "fps_aware" in self.pos_emb_cls: + x_B_T_H_W_D = x_B_T_H_W_D + self.pos_embedder(x_B_T_H_W_D, fps=fps, device=x_B_C_T_H_W.device) # [B, T, H, W, D] + else: + x_B_T_H_W_D = x_B_T_H_W_D + self.pos_embedder(x_B_T_H_W_D, device=x_B_C_T_H_W.device) # [B, T, H, W, D] + + return x_B_T_H_W_D, None, extra_pos_emb + + def decoder_head( + self, + x_B_T_H_W_D: torch.Tensor, + emb_B_D: torch.Tensor, + crossattn_emb: torch.Tensor, + origin_shape: Tuple[int, int, int, int, int], # [B, C, T, H, W] + crossattn_mask: Optional[torch.Tensor] = None, + adaln_lora_B_3D: Optional[torch.Tensor] = None, + ) -> torch.Tensor: + del crossattn_emb, crossattn_mask + B, C, T_before_patchify, H_before_patchify, W_before_patchify = origin_shape + x_BT_HW_D = rearrange(x_B_T_H_W_D, "B T H W D -> (B T) (H W) D") + x_BT_HW_D = self.final_layer(x_BT_HW_D, emb_B_D, adaln_lora_B_3D=adaln_lora_B_3D) + # This is to ensure x_BT_HW_D has the correct shape because + # when we merge T, H, W into one dimension, x_BT_HW_D has shape (B * T * H * W, 1*1, D). + x_BT_HW_D = x_BT_HW_D.view( + B * T_before_patchify // self.patch_temporal, + H_before_patchify // self.patch_spatial * W_before_patchify // self.patch_spatial, + -1, + ) + x_B_D_T_H_W = rearrange( + x_BT_HW_D, + "(B T) (H W) (p1 p2 t C) -> B C (T t) (H p1) (W p2)", + p1=self.patch_spatial, + p2=self.patch_spatial, + H=H_before_patchify // self.patch_spatial, + W=W_before_patchify // self.patch_spatial, + t=self.patch_temporal, + B=B, + ) + return x_B_D_T_H_W + + def forward_before_blocks( + self, + x: torch.Tensor, + timesteps: torch.Tensor, + crossattn_emb: torch.Tensor, + crossattn_mask: Optional[torch.Tensor] = None, + fps: Optional[torch.Tensor] = None, + image_size: Optional[torch.Tensor] = None, + padding_mask: Optional[torch.Tensor] = None, + scalar_feature: Optional[torch.Tensor] = None, + data_type: Optional[DataType] = DataType.VIDEO, + latent_condition: Optional[torch.Tensor] = None, + latent_condition_sigma: Optional[torch.Tensor] = None, + **kwargs, + ) -> torch.Tensor: + """ + Args: + x: (B, C, T, H, W) tensor of spatial-temp inputs + timesteps: (B, ) tensor of timesteps + crossattn_emb: (B, N, D) tensor of cross-attention embeddings + crossattn_mask: (B, N) tensor of cross-attention masks + """ + del kwargs + assert isinstance( + data_type, DataType + ), f"Expected DataType, got {type(data_type)}. We need discuss this flag later." + original_shape = x.shape + x_B_T_H_W_D, rope_emb_L_1_1_D, extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D = self.prepare_embedded_sequence( + x, + fps=fps, + padding_mask=padding_mask, + latent_condition=latent_condition, + latent_condition_sigma=latent_condition_sigma, + ) + # logging affline scale information + affline_scale_log_info = {} + + timesteps_B_D, adaln_lora_B_3D = self.t_embedder[1](self.t_embedder[0](timesteps.flatten()).to(x.dtype)) + affline_emb_B_D = timesteps_B_D + affline_scale_log_info["timesteps_B_D"] = timesteps_B_D.detach() + + if scalar_feature is not None: + raise NotImplementedError("Scalar feature is not implemented yet.") + + affline_scale_log_info["affline_emb_B_D"] = affline_emb_B_D.detach() + affline_emb_B_D = self.affline_norm(affline_emb_B_D) + + if self.use_cross_attn_mask: + if crossattn_mask is not None and not torch.is_floating_point(crossattn_mask): + crossattn_mask = (crossattn_mask - 1).to(x.dtype) * torch.finfo(x.dtype).max + crossattn_mask = crossattn_mask[:, None, None, :] # .to(dtype=torch.bool) # [B, 1, 1, length] + else: + crossattn_mask = None + + if self.blocks["block0"].x_format == "THWBD": + x = rearrange(x_B_T_H_W_D, "B T H W D -> T H W B D") + if extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D is not None: + extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D = rearrange( + extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D, "B T H W D -> T H W B D" + ) + crossattn_emb = rearrange(crossattn_emb, "B M D -> M B D") + + if crossattn_mask: + crossattn_mask = rearrange(crossattn_mask, "B M -> M B") + + elif self.blocks["block0"].x_format == "BTHWD": + x = x_B_T_H_W_D + else: + raise ValueError(f"Unknown x_format {self.blocks[0].x_format}") + output = { + "x": x, + "affline_emb_B_D": affline_emb_B_D, + "crossattn_emb": crossattn_emb, + "crossattn_mask": crossattn_mask, + "rope_emb_L_1_1_D": rope_emb_L_1_1_D, + "adaln_lora_B_3D": adaln_lora_B_3D, + "original_shape": original_shape, + "extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D": extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D, + } + return output + + def forward( + self, + x: torch.Tensor, + timesteps: torch.Tensor, + context: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + # crossattn_emb: torch.Tensor, + # crossattn_mask: Optional[torch.Tensor] = None, + fps: Optional[torch.Tensor] = None, + image_size: Optional[torch.Tensor] = None, + padding_mask: Optional[torch.Tensor] = None, + scalar_feature: Optional[torch.Tensor] = None, + data_type: Optional[DataType] = DataType.VIDEO, + latent_condition: Optional[torch.Tensor] = None, + latent_condition_sigma: Optional[torch.Tensor] = None, + condition_video_augment_sigma: Optional[torch.Tensor] = None, + **kwargs, + ): + """ + Args: + x: (B, C, T, H, W) tensor of spatial-temp inputs + timesteps: (B, ) tensor of timesteps + crossattn_emb: (B, N, D) tensor of cross-attention embeddings + crossattn_mask: (B, N) tensor of cross-attention masks + condition_video_augment_sigma: (B,) used in lvg(long video generation), we add noise with this sigma to + augment condition input, the lvg model will condition on the condition_video_augment_sigma value; + we need forward_before_blocks pass to the forward_before_blocks function. + """ + + crossattn_emb = context + crossattn_mask = attention_mask + + inputs = self.forward_before_blocks( + x=x, + timesteps=timesteps, + crossattn_emb=crossattn_emb, + crossattn_mask=crossattn_mask, + fps=fps, + image_size=image_size, + padding_mask=padding_mask, + scalar_feature=scalar_feature, + data_type=data_type, + latent_condition=latent_condition, + latent_condition_sigma=latent_condition_sigma, + condition_video_augment_sigma=condition_video_augment_sigma, + **kwargs, + ) + x, affline_emb_B_D, crossattn_emb, crossattn_mask, rope_emb_L_1_1_D, adaln_lora_B_3D, original_shape = ( + inputs["x"], + inputs["affline_emb_B_D"], + inputs["crossattn_emb"], + inputs["crossattn_mask"], + inputs["rope_emb_L_1_1_D"], + inputs["adaln_lora_B_3D"], + inputs["original_shape"], + ) + extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D = inputs["extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D"].to(x.dtype) + del inputs + + if extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D is not None: + assert ( + x.shape == extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D.shape + ), f"{x.shape} != {extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D.shape} {original_shape}" + + for _, block in self.blocks.items(): + assert ( + self.blocks["block0"].x_format == block.x_format + ), f"First block has x_format {self.blocks[0].x_format}, got {block.x_format}" + + if extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D is not None: + x += extra_pos_emb_B_T_H_W_D_or_T_H_W_B_D + x = block( + x, + affline_emb_B_D, + crossattn_emb, + crossattn_mask, + rope_emb_L_1_1_D=rope_emb_L_1_1_D, + adaln_lora_B_3D=adaln_lora_B_3D, + ) + + x_B_T_H_W_D = rearrange(x, "T H W B D -> B T H W D") + + x_B_D_T_H_W = self.decoder_head( + x_B_T_H_W_D=x_B_T_H_W_D, + emb_B_D=affline_emb_B_D, + crossattn_emb=None, + origin_shape=original_shape, + crossattn_mask=None, + adaln_lora_B_3D=adaln_lora_B_3D, + ) + + return x_B_D_T_H_W diff --git a/comfy/ldm/cosmos/position_embedding.py b/comfy/ldm/cosmos/position_embedding.py new file mode 100644 index 000000000..4d6a58dba --- /dev/null +++ b/comfy/ldm/cosmos/position_embedding.py @@ -0,0 +1,208 @@ +# SPDX-FileCopyrightText: Copyright (c) 2025 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. + +from typing import List, Optional + +import torch +from einops import rearrange, repeat +from torch import nn +import math + + +def normalize(x: torch.Tensor, dim: Optional[List[int]] = None, eps: float = 0) -> torch.Tensor: + """ + Normalizes the input tensor along specified dimensions such that the average square norm of elements is adjusted. + + Args: + x (torch.Tensor): The input tensor to normalize. + dim (list, optional): The dimensions over which to normalize. If None, normalizes over all dimensions except the first. + eps (float, optional): A small constant to ensure numerical stability during division. + + Returns: + torch.Tensor: The normalized tensor. + """ + if dim is None: + dim = list(range(1, x.ndim)) + norm = torch.linalg.vector_norm(x, dim=dim, keepdim=True, dtype=torch.float32) + norm = torch.add(eps, norm, alpha=math.sqrt(norm.numel() / x.numel())) + return x / norm.to(x.dtype) + + +class VideoPositionEmb(nn.Module): + def forward(self, x_B_T_H_W_C: torch.Tensor, fps=Optional[torch.Tensor], device=None, dtype=None) -> torch.Tensor: + """ + It delegates the embedding generation to generate_embeddings function. + """ + B_T_H_W_C = x_B_T_H_W_C.shape + embeddings = self.generate_embeddings(B_T_H_W_C, fps=fps, device=device, dtype=dtype) + + return embeddings + + def generate_embeddings(self, B_T_H_W_C: torch.Size, fps=Optional[torch.Tensor], device=None): + raise NotImplementedError + + +class VideoRopePosition3DEmb(VideoPositionEmb): + def __init__( + self, + *, # enforce keyword arguments + head_dim: int, + len_h: int, + len_w: int, + len_t: int, + base_fps: int = 24, + h_extrapolation_ratio: float = 1.0, + w_extrapolation_ratio: float = 1.0, + t_extrapolation_ratio: float = 1.0, + device=None, + **kwargs, # used for compatibility with other positional embeddings; unused in this class + ): + del kwargs + super().__init__() + self.register_buffer("seq", torch.arange(max(len_h, len_w, len_t), dtype=torch.float, device=device)) + self.base_fps = base_fps + self.max_h = len_h + self.max_w = len_w + + dim = head_dim + dim_h = dim // 6 * 2 + dim_w = dim_h + dim_t = dim - 2 * dim_h + assert dim == dim_h + dim_w + dim_t, f"bad dim: {dim} != {dim_h} + {dim_w} + {dim_t}" + self.register_buffer( + "dim_spatial_range", + torch.arange(0, dim_h, 2, device=device)[: (dim_h // 2)].float() / dim_h, + persistent=False, + ) + self.register_buffer( + "dim_temporal_range", + torch.arange(0, dim_t, 2, device=device)[: (dim_t // 2)].float() / dim_t, + persistent=False, + ) + + self.h_ntk_factor = h_extrapolation_ratio ** (dim_h / (dim_h - 2)) + self.w_ntk_factor = w_extrapolation_ratio ** (dim_w / (dim_w - 2)) + self.t_ntk_factor = t_extrapolation_ratio ** (dim_t / (dim_t - 2)) + + def generate_embeddings( + self, + B_T_H_W_C: torch.Size, + fps: Optional[torch.Tensor] = None, + h_ntk_factor: Optional[float] = None, + w_ntk_factor: Optional[float] = None, + t_ntk_factor: Optional[float] = None, + device=None, + dtype=None, + ): + """ + Generate embeddings for the given input size. + + Args: + B_T_H_W_C (torch.Size): Input tensor size (Batch, Time, Height, Width, Channels). + fps (Optional[torch.Tensor], optional): Frames per second. Defaults to None. + h_ntk_factor (Optional[float], optional): Height NTK factor. If None, uses self.h_ntk_factor. + w_ntk_factor (Optional[float], optional): Width NTK factor. If None, uses self.w_ntk_factor. + t_ntk_factor (Optional[float], optional): Time NTK factor. If None, uses self.t_ntk_factor. + + Returns: + Not specified in the original code snippet. + """ + h_ntk_factor = h_ntk_factor if h_ntk_factor is not None else self.h_ntk_factor + w_ntk_factor = w_ntk_factor if w_ntk_factor is not None else self.w_ntk_factor + t_ntk_factor = t_ntk_factor if t_ntk_factor is not None else self.t_ntk_factor + + h_theta = 10000.0 * h_ntk_factor + w_theta = 10000.0 * w_ntk_factor + t_theta = 10000.0 * t_ntk_factor + + h_spatial_freqs = 1.0 / (h_theta**self.dim_spatial_range.to(device=device)) + w_spatial_freqs = 1.0 / (w_theta**self.dim_spatial_range.to(device=device)) + temporal_freqs = 1.0 / (t_theta**self.dim_temporal_range.to(device=device)) + + B, T, H, W, _ = B_T_H_W_C + uniform_fps = (fps is None) or isinstance(fps, (int, float)) or (fps.min() == fps.max()) + assert ( + uniform_fps or B == 1 or T == 1 + ), "For video batch, batch size should be 1 for non-uniform fps. For image batch, T should be 1" + assert ( + H <= self.max_h and W <= self.max_w + ), f"Input dimensions (H={H}, W={W}) exceed the maximum dimensions (max_h={self.max_h}, max_w={self.max_w})" + half_emb_h = torch.outer(self.seq[:H].to(device=device), h_spatial_freqs) + half_emb_w = torch.outer(self.seq[:W].to(device=device), w_spatial_freqs) + + # apply sequence scaling in temporal dimension + if fps is None: # image case + half_emb_t = torch.outer(self.seq[:T].to(device=device), temporal_freqs) + else: + half_emb_t = torch.outer(self.seq[:T].to(device=device) / fps * self.base_fps, temporal_freqs) + + half_emb_h = torch.stack([torch.cos(half_emb_h), -torch.sin(half_emb_h), torch.sin(half_emb_h), torch.cos(half_emb_h)], dim=-1) + half_emb_w = torch.stack([torch.cos(half_emb_w), -torch.sin(half_emb_w), torch.sin(half_emb_w), torch.cos(half_emb_w)], dim=-1) + half_emb_t = torch.stack([torch.cos(half_emb_t), -torch.sin(half_emb_t), torch.sin(half_emb_t), torch.cos(half_emb_t)], dim=-1) + + em_T_H_W_D = torch.cat( + [ + repeat(half_emb_t, "t d x -> t h w d x", h=H, w=W), + repeat(half_emb_h, "h d x -> t h w d x", t=T, w=W), + repeat(half_emb_w, "w d x -> t h w d x", t=T, h=H), + ] + , dim=-2, + ) + + return rearrange(em_T_H_W_D, "t h w d (i j) -> (t h w) d i j", i=2, j=2).float() + + +class LearnablePosEmbAxis(VideoPositionEmb): + def __init__( + self, + *, # enforce keyword arguments + interpolation: str, + model_channels: int, + len_h: int, + len_w: int, + len_t: int, + device=None, + dtype=None, + **kwargs, + ): + """ + Args: + interpolation (str): we curretly only support "crop", ideally when we need extrapolation capacity, we should adjust frequency or other more advanced methods. they are not implemented yet. + """ + del kwargs # unused + super().__init__() + self.interpolation = interpolation + assert self.interpolation in ["crop"], f"Unknown interpolation method {self.interpolation}" + + self.pos_emb_h = nn.Parameter(torch.empty(len_h, model_channels, device=device, dtype=dtype)) + self.pos_emb_w = nn.Parameter(torch.empty(len_w, model_channels, device=device, dtype=dtype)) + self.pos_emb_t = nn.Parameter(torch.empty(len_t, model_channels, device=device, dtype=dtype)) + + def generate_embeddings(self, B_T_H_W_C: torch.Size, fps=Optional[torch.Tensor], device=None, dtype=None) -> torch.Tensor: + B, T, H, W, _ = B_T_H_W_C + if self.interpolation == "crop": + emb_h_H = self.pos_emb_h[:H].to(device=device, dtype=dtype) + emb_w_W = self.pos_emb_w[:W].to(device=device, dtype=dtype) + emb_t_T = self.pos_emb_t[:T].to(device=device, dtype=dtype) + emb = ( + repeat(emb_t_T, "t d-> b t h w d", b=B, h=H, w=W) + + repeat(emb_h_H, "h d-> b t h w d", b=B, t=T, w=W) + + repeat(emb_w_W, "w d-> b t h w d", b=B, t=T, h=H) + ) + assert list(emb.shape)[:4] == [B, T, H, W], f"bad shape: {list(emb.shape)[:4]} != {B, T, H, W}" + else: + raise ValueError(f"Unknown interpolation method {self.interpolation}") + + return normalize(emb, dim=-1, eps=1e-6) diff --git a/comfy/ldm/cosmos/vae.py b/comfy/ldm/cosmos/vae.py new file mode 100644 index 000000000..d64f292de --- /dev/null +++ b/comfy/ldm/cosmos/vae.py @@ -0,0 +1,131 @@ +# SPDX-FileCopyrightText: Copyright (c) 2024 NVIDIA CORPORATION & AFFILIATES. All rights reserved. +# SPDX-License-Identifier: Apache-2.0 +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +"""The causal continuous video tokenizer with VAE or AE formulation for 3D data..""" + +import logging +import torch +from torch import nn +from enum import Enum +import math + +from .cosmos_tokenizer.layers3d import ( + EncoderFactorized, + DecoderFactorized, + CausalConv3d, +) + + +class IdentityDistribution(torch.nn.Module): + def __init__(self): + super().__init__() + + def forward(self, parameters): + return parameters, (torch.tensor([0.0]), torch.tensor([0.0])) + + +class GaussianDistribution(torch.nn.Module): + def __init__(self, min_logvar: float = -30.0, max_logvar: float = 20.0): + super().__init__() + self.min_logvar = min_logvar + self.max_logvar = max_logvar + + def sample(self, mean, logvar): + std = torch.exp(0.5 * logvar) + return mean + std * torch.randn_like(mean) + + def forward(self, parameters): + mean, logvar = torch.chunk(parameters, 2, dim=1) + logvar = torch.clamp(logvar, self.min_logvar, self.max_logvar) + return self.sample(mean, logvar), (mean, logvar) + + +class ContinuousFormulation(Enum): + VAE = GaussianDistribution + AE = IdentityDistribution + + +class CausalContinuousVideoTokenizer(nn.Module): + def __init__( + self, z_channels: int, z_factor: int, latent_channels: int, **kwargs + ) -> None: + super().__init__() + self.name = kwargs.get("name", "CausalContinuousVideoTokenizer") + self.latent_channels = latent_channels + self.sigma_data = 0.5 + + # encoder_name = kwargs.get("encoder", Encoder3DType.BASE.name) + self.encoder = EncoderFactorized( + z_channels=z_factor * z_channels, **kwargs + ) + if kwargs.get("temporal_compression", 4) == 4: + kwargs["channels_mult"] = [2, 4] + # decoder_name = kwargs.get("decoder", Decoder3DType.BASE.name) + self.decoder = DecoderFactorized( + z_channels=z_channels, **kwargs + ) + + self.quant_conv = CausalConv3d( + z_factor * z_channels, + z_factor * latent_channels, + kernel_size=1, + padding=0, + ) + self.post_quant_conv = CausalConv3d( + latent_channels, z_channels, kernel_size=1, padding=0 + ) + + # formulation_name = kwargs.get("formulation", ContinuousFormulation.AE.name) + self.distribution = IdentityDistribution() # ContinuousFormulation[formulation_name].value() + + num_parameters = sum(param.numel() for param in self.parameters()) + logging.debug(f"model={self.name}, num_parameters={num_parameters:,}") + logging.debug( + f"z_channels={z_channels}, latent_channels={self.latent_channels}." + ) + + latent_temporal_chunk = 16 + self.latent_mean = nn.Parameter(torch.zeros([self.latent_channels * latent_temporal_chunk], dtype=torch.float32)) + self.latent_std = nn.Parameter(torch.ones([self.latent_channels * latent_temporal_chunk], dtype=torch.float32)) + + + def encode(self, x): + h = self.encoder(x) + moments = self.quant_conv(h) + z, posteriors = self.distribution(moments) + latent_ch = z.shape[1] + latent_t = z.shape[2] + in_dtype = z.dtype + mean = self.latent_mean.view(latent_ch, -1) + std = self.latent_std.view(latent_ch, -1) + + mean = mean.repeat(1, math.ceil(latent_t / mean.shape[-1]))[:, : latent_t].reshape([1, latent_ch, -1, 1, 1]).to(dtype=in_dtype, device=z.device) + std = std.repeat(1, math.ceil(latent_t / std.shape[-1]))[:, : latent_t].reshape([1, latent_ch, -1, 1, 1]).to(dtype=in_dtype, device=z.device) + return ((z - mean) / std) * self.sigma_data + + def decode(self, z): + in_dtype = z.dtype + latent_ch = z.shape[1] + latent_t = z.shape[2] + mean = self.latent_mean.view(latent_ch, -1) + std = self.latent_std.view(latent_ch, -1) + + mean = mean.repeat(1, math.ceil(latent_t / mean.shape[-1]))[:, : latent_t].reshape([1, latent_ch, -1, 1, 1]).to(dtype=in_dtype, device=z.device) + std = std.repeat(1, math.ceil(latent_t / std.shape[-1]))[:, : latent_t].reshape([1, latent_ch, -1, 1, 1]).to(dtype=in_dtype, device=z.device) + + z = z / self.sigma_data + z = z * std + mean + z = self.post_quant_conv(z) + return self.decoder(z) + diff --git a/comfy/ldm/flux/controlnet.py b/comfy/ldm/flux/controlnet.py index 2598e7172..5322c4891 100644 --- a/comfy/ldm/flux/controlnet.py +++ b/comfy/ldm/flux/controlnet.py @@ -1,33 +1,75 @@ #Original code can be found on: https://github.com/XLabs-AI/x-flux/blob/main/src/flux/controlnet.py +#modified to support different types of flux controlnets import torch import math from torch import Tensor, nn from einops import rearrange, repeat -from .layers import (DoubleStreamBlock, EmbedND, LastLayer, - MLPEmbedder, SingleStreamBlock, - timestep_embedding) +from .layers import (timestep_embedding) from .model import Flux import comfy.ldm.common_dit +class MistolineCondDownsamplBlock(nn.Module): + def __init__(self, dtype=None, device=None, operations=None): + super().__init__() + self.encoder = nn.Sequential( + operations.Conv2d(3, 16, 3, padding=1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, stride=2, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, stride=2, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, stride=2, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device) + ) + + def forward(self, x): + return self.encoder(x) + +class MistolineControlnetBlock(nn.Module): + def __init__(self, hidden_size, dtype=None, device=None, operations=None): + super().__init__() + self.linear = operations.Linear(hidden_size, hidden_size, dtype=dtype, device=device) + self.act = nn.SiLU() + + def forward(self, x): + return self.act(self.linear(x)) + class ControlNetFlux(Flux): - def __init__(self, latent_input=False, num_union_modes=0, image_model=None, dtype=None, device=None, operations=None, **kwargs): + def __init__(self, latent_input=False, num_union_modes=0, mistoline=False, control_latent_channels=None, image_model=None, dtype=None, device=None, operations=None, **kwargs): super().__init__(final_layer=False, dtype=dtype, device=device, operations=operations, **kwargs) self.main_model_double = 19 self.main_model_single = 38 + + self.mistoline = mistoline # add ControlNet blocks + if self.mistoline: + control_block = lambda : MistolineControlnetBlock(self.hidden_size, dtype=dtype, device=device, operations=operations) + else: + control_block = lambda : operations.Linear(self.hidden_size, self.hidden_size, dtype=dtype, device=device) + self.controlnet_blocks = nn.ModuleList([]) for _ in range(self.params.depth): - controlnet_block = operations.Linear(self.hidden_size, self.hidden_size, dtype=dtype, device=device) - self.controlnet_blocks.append(controlnet_block) + self.controlnet_blocks.append(control_block()) self.controlnet_single_blocks = nn.ModuleList([]) for _ in range(self.params.depth_single_blocks): - self.controlnet_single_blocks.append(operations.Linear(self.hidden_size, self.hidden_size, dtype=dtype, device=device)) + self.controlnet_single_blocks.append(control_block()) self.num_union_modes = num_union_modes self.controlnet_mode_embedder = None @@ -36,25 +78,33 @@ class ControlNetFlux(Flux): self.gradient_checkpointing = False self.latent_input = latent_input - self.pos_embed_input = operations.Linear(self.in_channels, self.hidden_size, bias=True, dtype=dtype, device=device) + if control_latent_channels is None: + control_latent_channels = self.in_channels + else: + control_latent_channels *= 2 * 2 #patch size + + self.pos_embed_input = operations.Linear(control_latent_channels, self.hidden_size, bias=True, dtype=dtype, device=device) if not self.latent_input: - self.input_hint_block = nn.Sequential( - operations.Conv2d(3, 16, 3, padding=1, dtype=dtype, device=device), - nn.SiLU(), - operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device), - nn.SiLU(), - operations.Conv2d(16, 16, 3, padding=1, stride=2, dtype=dtype, device=device), - nn.SiLU(), - operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device), - nn.SiLU(), - operations.Conv2d(16, 16, 3, padding=1, stride=2, dtype=dtype, device=device), - nn.SiLU(), - operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device), - nn.SiLU(), - operations.Conv2d(16, 16, 3, padding=1, stride=2, dtype=dtype, device=device), - nn.SiLU(), - operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device) - ) + if self.mistoline: + self.input_cond_block = MistolineCondDownsamplBlock(dtype=dtype, device=device, operations=operations) + else: + self.input_hint_block = nn.Sequential( + operations.Conv2d(3, 16, 3, padding=1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, stride=2, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, stride=2, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, stride=2, dtype=dtype, device=device), + nn.SiLU(), + operations.Conv2d(16, 16, 3, padding=1, dtype=dtype, device=device) + ) def forward_orig( self, @@ -73,9 +123,6 @@ class ControlNetFlux(Flux): # running on sequences img img = self.img_in(img) - if not self.latent_input: - controlnet_cond = self.input_hint_block(controlnet_cond) - controlnet_cond = rearrange(controlnet_cond, "b c (h ph) (w pw) -> b (h w) (c ph pw)", ph=2, pw=2) controlnet_cond = self.pos_embed_input(controlnet_cond) img = img + controlnet_cond @@ -131,9 +178,14 @@ class ControlNetFlux(Flux): patch_size = 2 if self.latent_input: hint = comfy.ldm.common_dit.pad_to_patch_size(hint, (patch_size, patch_size)) - hint = rearrange(hint, "b c (h ph) (w pw) -> b (h w) (c ph pw)", ph=patch_size, pw=patch_size) + elif self.mistoline: + hint = hint * 2.0 - 1.0 + hint = self.input_cond_block(hint) else: hint = hint * 2.0 - 1.0 + hint = self.input_hint_block(hint) + + hint = rearrange(hint, "b c (h ph) (w pw) -> b (h w) (c ph pw)", ph=patch_size, pw=patch_size) bs, c, h, w = x.shape x = comfy.ldm.common_dit.pad_to_patch_size(x, (patch_size, patch_size)) diff --git a/comfy/ldm/flux/layers.py b/comfy/ldm/flux/layers.py index dabab3e33..59a62e0df 100644 --- a/comfy/ldm/flux/layers.py +++ b/comfy/ldm/flux/layers.py @@ -114,7 +114,7 @@ class Modulation(nn.Module): class DoubleStreamBlock(nn.Module): - def __init__(self, hidden_size: int, num_heads: int, mlp_ratio: float, qkv_bias: bool = False, dtype=None, device=None, operations=None): + def __init__(self, hidden_size: int, num_heads: int, mlp_ratio: float, qkv_bias: bool = False, flipped_img_txt=False, dtype=None, device=None, operations=None): super().__init__() mlp_hidden_dim = int(hidden_size * mlp_ratio) @@ -141,8 +141,9 @@ class DoubleStreamBlock(nn.Module): nn.GELU(approximate="tanh"), operations.Linear(mlp_hidden_dim, hidden_size, bias=True, dtype=dtype, device=device), ) + self.flipped_img_txt = flipped_img_txt - def forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor): + def forward(self, img: Tensor, txt: Tensor, vec: Tensor, pe: Tensor, attn_mask=None): img_mod1, img_mod2 = self.img_mod(vec) txt_mod1, txt_mod2 = self.txt_mod(vec) @@ -160,12 +161,22 @@ class DoubleStreamBlock(nn.Module): txt_q, txt_k, txt_v = txt_qkv.view(txt_qkv.shape[0], txt_qkv.shape[1], 3, self.num_heads, -1).permute(2, 0, 3, 1, 4) txt_q, txt_k = self.txt_attn.norm(txt_q, txt_k, txt_v) - # run actual attention - attn = attention(torch.cat((txt_q, img_q), dim=2), - torch.cat((txt_k, img_k), dim=2), - torch.cat((txt_v, img_v), dim=2), pe=pe) + if self.flipped_img_txt: + # run actual attention + attn = attention(torch.cat((img_q, txt_q), dim=2), + torch.cat((img_k, txt_k), dim=2), + torch.cat((img_v, txt_v), dim=2), + pe=pe, mask=attn_mask) - txt_attn, img_attn = attn[:, : txt.shape[1]], attn[:, txt.shape[1] :] + img_attn, txt_attn = attn[:, : img.shape[1]], attn[:, img.shape[1]:] + else: + # run actual attention + attn = attention(torch.cat((txt_q, img_q), dim=2), + torch.cat((txt_k, img_k), dim=2), + torch.cat((txt_v, img_v), dim=2), + pe=pe, mask=attn_mask) + + txt_attn, img_attn = attn[:, : txt.shape[1]], attn[:, txt.shape[1]:] # calculate the img bloks img = img + img_mod1.gate * self.img_attn.proj(img_attn) @@ -217,16 +228,15 @@ class SingleStreamBlock(nn.Module): self.mlp_act = nn.GELU(approximate="tanh") self.modulation = Modulation(hidden_size, double=False, dtype=dtype, device=device, operations=operations) - def forward(self, x: Tensor, vec: Tensor, pe: Tensor) -> Tensor: + def forward(self, x: Tensor, vec: Tensor, pe: Tensor, attn_mask=None) -> Tensor: mod, _ = self.modulation(vec) - x_mod = (1 + mod.scale) * self.pre_norm(x) + mod.shift - qkv, mlp = torch.split(self.linear1(x_mod), [3 * self.hidden_size, self.mlp_hidden_dim], dim=-1) + qkv, mlp = torch.split(self.linear1((1 + mod.scale) * self.pre_norm(x) + mod.shift), [3 * self.hidden_size, self.mlp_hidden_dim], dim=-1) q, k, v = qkv.view(qkv.shape[0], qkv.shape[1], 3, self.num_heads, -1).permute(2, 0, 3, 1, 4) q, k = self.norm(q, k, v) # compute attention - attn = attention(q, k, v, pe=pe) + attn = attention(q, k, v, pe=pe, mask=attn_mask) # compute activation in mlp stream, cat again and run second linear layer output = self.linear2(torch.cat((attn, self.mlp_act(mlp)), 2)) x += mod.gate * output diff --git a/comfy/ldm/flux/math.py b/comfy/ldm/flux/math.py index 136ce2aa8..b5960ffd3 100644 --- a/comfy/ldm/flux/math.py +++ b/comfy/ldm/flux/math.py @@ -1,14 +1,22 @@ import torch from einops import rearrange from torch import Tensor + from comfy.ldm.modules.attention import optimized_attention import comfy.model_management -def attention(q: Tensor, k: Tensor, v: Tensor, pe: Tensor) -> Tensor: - q, k = apply_rope(q, k, pe) + +def attention(q: Tensor, k: Tensor, v: Tensor, pe: Tensor, mask=None) -> Tensor: + q_shape = q.shape + k_shape = k.shape + + q = q.float().reshape(*q.shape[:-1], -1, 1, 2) + k = k.float().reshape(*k.shape[:-1], -1, 1, 2) + q = (pe[..., 0] * q[..., 0] + pe[..., 1] * q[..., 1]).reshape(*q_shape).type_as(v) + k = (pe[..., 0] * k[..., 0] + pe[..., 1] * k[..., 1]).reshape(*k_shape).type_as(v) heads = q.shape[1] - x = optimized_attention(q, k, v, heads, skip_reshape=True) + x = optimized_attention(q, k, v, heads, skip_reshape=True, mask=mask) return x @@ -33,3 +41,4 @@ def apply_rope(xq: Tensor, xk: Tensor, freqs_cis: Tensor): xq_out = freqs_cis[..., 0] * xq_[..., 0] + freqs_cis[..., 1] * xq_[..., 1] xk_out = freqs_cis[..., 0] * xk_[..., 0] + freqs_cis[..., 1] * xk_[..., 1] return xq_out.reshape(*xq.shape).type_as(xq), xk_out.reshape(*xk.shape).type_as(xk) + diff --git a/comfy/ldm/flux/model.py b/comfy/ldm/flux/model.py index 63970cad2..cc34f7585 100644 --- a/comfy/ldm/flux/model.py +++ b/comfy/ldm/flux/model.py @@ -4,6 +4,8 @@ from dataclasses import dataclass import torch from torch import Tensor, nn +from einops import rearrange, repeat +import comfy.ldm.common_dit from .layers import ( DoubleStreamBlock, @@ -14,12 +16,10 @@ from .layers import ( timestep_embedding, ) -from einops import rearrange, repeat -import comfy.ldm.common_dit - @dataclass class FluxParams: in_channels: int + out_channels: int vec_in_dim: int context_in_dim: int hidden_size: int @@ -29,6 +29,7 @@ class FluxParams: depth_single_blocks: int axes_dim: list theta: int + patch_size: int qkv_bias: bool guidance_embed: bool @@ -43,8 +44,9 @@ class Flux(nn.Module): self.dtype = dtype params = FluxParams(**kwargs) self.params = params - self.in_channels = params.in_channels * 2 * 2 - self.out_channels = self.in_channels + self.patch_size = params.patch_size + self.in_channels = params.in_channels * params.patch_size * params.patch_size + self.out_channels = params.out_channels * params.patch_size * params.patch_size if params.hidden_size % params.num_heads != 0: raise ValueError( f"Hidden size {params.hidden_size} must be divisible by num_heads {params.num_heads}" @@ -95,8 +97,11 @@ class Flux(nn.Module): timesteps: Tensor, y: Tensor, guidance: Tensor = None, - control=None, + control = None, + transformer_options={}, + attn_mask: Tensor = None, ) -> Tensor: + patches_replace = transformer_options.get("patches_replace", {}) if img.ndim != 3 or txt.ndim != 3: raise ValueError("Input img and txt tensors must have 3 dimensions.") @@ -104,18 +109,41 @@ class Flux(nn.Module): img = self.img_in(img) vec = self.time_in(timestep_embedding(timesteps, 256).to(img.dtype)) if self.params.guidance_embed: - if guidance is None: - raise ValueError("Didn't get guidance strength for guidance distilled model.") - vec = vec + self.guidance_in(timestep_embedding(guidance, 256).to(img.dtype)) + if guidance is not None: + vec = vec + self.guidance_in(timestep_embedding(guidance, 256).to(img.dtype)) - vec = vec + self.vector_in(y) + vec = vec + self.vector_in(y[:,:self.params.vec_in_dim]) txt = self.txt_in(txt) ids = torch.cat((txt_ids, img_ids), dim=1) pe = self.pe_embedder(ids) + blocks_replace = patches_replace.get("dit", {}) for i, block in enumerate(self.double_blocks): - img, txt = block(img=img, txt=txt, vec=vec, pe=pe) + if ("double_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["img"], out["txt"] = block(img=args["img"], + txt=args["txt"], + vec=args["vec"], + pe=args["pe"], + attn_mask=args.get("attn_mask")) + return out + + out = blocks_replace[("double_block", i)]({"img": img, + "txt": txt, + "vec": vec, + "pe": pe, + "attn_mask": attn_mask}, + {"original_block": block_wrap}) + txt = out["txt"] + img = out["img"] + else: + img, txt = block(img=img, + txt=txt, + vec=vec, + pe=pe, + attn_mask=attn_mask) if control is not None: # Controlnet control_i = control.get("input") @@ -127,7 +155,23 @@ class Flux(nn.Module): img = torch.cat((txt, img), 1) for i, block in enumerate(self.single_blocks): - img = block(img, vec=vec, pe=pe) + if ("single_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["img"] = block(args["img"], + vec=args["vec"], + pe=args["pe"], + attn_mask=args.get("attn_mask")) + return out + + out = blocks_replace[("single_block", i)]({"img": img, + "vec": vec, + "pe": pe, + "attn_mask": attn_mask}, + {"original_block": block_wrap}) + img = out["img"] + else: + img = block(img, vec=vec, pe=pe, attn_mask=attn_mask) if control is not None: # Controlnet control_o = control.get("output") @@ -141,9 +185,9 @@ class Flux(nn.Module): img = self.final_layer(img, vec) # (N, T, patch_size ** 2 * out_channels) return img - def forward(self, x, timestep, context, y, guidance, control=None, **kwargs): + def forward(self, x, timestep, context, y, guidance=None, control=None, transformer_options={}, **kwargs): bs, c, h, w = x.shape - patch_size = 2 + patch_size = self.patch_size x = comfy.ldm.common_dit.pad_to_patch_size(x, (patch_size, patch_size)) img = rearrange(x, "b c (h ph) (w pw) -> b (h w) (c ph pw)", ph=patch_size, pw=patch_size) @@ -151,10 +195,10 @@ class Flux(nn.Module): h_len = ((h + (patch_size // 2)) // patch_size) w_len = ((w + (patch_size // 2)) // patch_size) img_ids = torch.zeros((h_len, w_len, 3), device=x.device, dtype=x.dtype) - img_ids[..., 1] = img_ids[..., 1] + torch.linspace(0, h_len - 1, steps=h_len, device=x.device, dtype=x.dtype)[:, None] - img_ids[..., 2] = img_ids[..., 2] + torch.linspace(0, w_len - 1, steps=w_len, device=x.device, dtype=x.dtype)[None, :] + img_ids[:, :, 1] = img_ids[:, :, 1] + torch.linspace(0, h_len - 1, steps=h_len, device=x.device, dtype=x.dtype).unsqueeze(1) + img_ids[:, :, 2] = img_ids[:, :, 2] + torch.linspace(0, w_len - 1, steps=w_len, device=x.device, dtype=x.dtype).unsqueeze(0) img_ids = repeat(img_ids, "h w c -> b (h w) c", b=bs) txt_ids = torch.zeros((bs, context.shape[1], 3), device=x.device, dtype=x.dtype) - out = self.forward_orig(img, img_ids, context, txt_ids, timestep, y, guidance, control) + out = self.forward_orig(img, img_ids, context, txt_ids, timestep, y, guidance, control, transformer_options, attn_mask=kwargs.get("attention_mask", None)) return rearrange(out, "b (h w) (c ph pw) -> b c (h ph) (w pw)", h=h_len, w=w_len, ph=2, pw=2)[:,:,:h,:w] diff --git a/comfy/ldm/flux/redux.py b/comfy/ldm/flux/redux.py new file mode 100644 index 000000000..527e83164 --- /dev/null +++ b/comfy/ldm/flux/redux.py @@ -0,0 +1,25 @@ +import torch +import comfy.ops + +ops = comfy.ops.manual_cast + +class ReduxImageEncoder(torch.nn.Module): + def __init__( + self, + redux_dim: int = 1152, + txt_in_features: int = 4096, + device=None, + dtype=None, + ) -> None: + super().__init__() + + self.redux_dim = redux_dim + self.device = device + self.dtype = dtype + + self.redux_up = ops.Linear(redux_dim, txt_in_features * 3, dtype=dtype) + self.redux_down = ops.Linear(txt_in_features * 3, txt_in_features, dtype=dtype) + + def forward(self, sigclip_embeds) -> torch.Tensor: + projected_x = self.redux_down(torch.nn.functional.silu(self.redux_up(sigclip_embeds))) + return projected_x diff --git a/comfy/ldm/genmo/joint_model/asymm_models_joint.py b/comfy/ldm/genmo/joint_model/asymm_models_joint.py new file mode 100644 index 000000000..2c46c24bf --- /dev/null +++ b/comfy/ldm/genmo/joint_model/asymm_models_joint.py @@ -0,0 +1,557 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license +#adapted to ComfyUI + +from typing import Dict, List, Optional, Tuple + +import torch +import torch.nn as nn +import torch.nn.functional as F +from einops import rearrange +# from flash_attn import flash_attn_varlen_qkvpacked_func +from comfy.ldm.modules.attention import optimized_attention + +from .layers import ( + FeedForward, + PatchEmbed, + RMSNorm, + TimestepEmbedder, +) + +from .rope_mixed import ( + compute_mixed_rotation, + create_position_matrix, +) +from .temporal_rope import apply_rotary_emb_qk_real +from .utils import ( + AttentionPool, + modulate, +) + +import comfy.ldm.common_dit +import comfy.ops + + +def modulated_rmsnorm(x, scale, eps=1e-6): + # Normalize and modulate + x_normed = comfy.ldm.common_dit.rms_norm(x, eps=eps) + x_modulated = x_normed * (1 + scale.unsqueeze(1)) + + return x_modulated + + +def residual_tanh_gated_rmsnorm(x, x_res, gate, eps=1e-6): + # Apply tanh to gate + tanh_gate = torch.tanh(gate).unsqueeze(1) + + # Normalize and apply gated scaling + x_normed = comfy.ldm.common_dit.rms_norm(x_res, eps=eps) * tanh_gate + + # Apply residual connection + output = x + x_normed + + return output + +class AsymmetricAttention(nn.Module): + def __init__( + self, + dim_x: int, + dim_y: int, + num_heads: int = 8, + qkv_bias: bool = True, + qk_norm: bool = False, + attn_drop: float = 0.0, + update_y: bool = True, + out_bias: bool = True, + attend_to_padding: bool = False, + softmax_scale: Optional[float] = None, + device: Optional[torch.device] = None, + dtype=None, + operations=None, + ): + super().__init__() + self.dim_x = dim_x + self.dim_y = dim_y + self.num_heads = num_heads + self.head_dim = dim_x // num_heads + self.attn_drop = attn_drop + self.update_y = update_y + self.attend_to_padding = attend_to_padding + self.softmax_scale = softmax_scale + if dim_x % num_heads != 0: + raise ValueError( + f"dim_x={dim_x} should be divisible by num_heads={num_heads}" + ) + + # Input layers. + self.qkv_bias = qkv_bias + self.qkv_x = operations.Linear(dim_x, 3 * dim_x, bias=qkv_bias, device=device, dtype=dtype) + # Project text features to match visual features (dim_y -> dim_x) + self.qkv_y = operations.Linear(dim_y, 3 * dim_x, bias=qkv_bias, device=device, dtype=dtype) + + # Query and key normalization for stability. + assert qk_norm + self.q_norm_x = RMSNorm(self.head_dim, device=device, dtype=dtype) + self.k_norm_x = RMSNorm(self.head_dim, device=device, dtype=dtype) + self.q_norm_y = RMSNorm(self.head_dim, device=device, dtype=dtype) + self.k_norm_y = RMSNorm(self.head_dim, device=device, dtype=dtype) + + # Output layers. y features go back down from dim_x -> dim_y. + self.proj_x = operations.Linear(dim_x, dim_x, bias=out_bias, device=device, dtype=dtype) + self.proj_y = ( + operations.Linear(dim_x, dim_y, bias=out_bias, device=device, dtype=dtype) + if update_y + else nn.Identity() + ) + + def forward( + self, + x: torch.Tensor, # (B, N, dim_x) + y: torch.Tensor, # (B, L, dim_y) + scale_x: torch.Tensor, # (B, dim_x), modulation for pre-RMSNorm. + scale_y: torch.Tensor, # (B, dim_y), modulation for pre-RMSNorm. + crop_y, + **rope_rotation, + ) -> Tuple[torch.Tensor, torch.Tensor]: + rope_cos = rope_rotation.get("rope_cos") + rope_sin = rope_rotation.get("rope_sin") + # Pre-norm for visual features + x = modulated_rmsnorm(x, scale_x) # (B, M, dim_x) where M = N / cp_group_size + + # Process visual features + # qkv_x = self.qkv_x(x) # (B, M, 3 * dim_x) + # assert qkv_x.dtype == torch.bfloat16 + # qkv_x = all_to_all_collect_tokens( + # qkv_x, self.num_heads + # ) # (3, B, N, local_h, head_dim) + + # Process text features + y = modulated_rmsnorm(y, scale_y) # (B, L, dim_y) + q_y, k_y, v_y = self.qkv_y(y).view(y.shape[0], y.shape[1], 3, self.num_heads, -1).unbind(2) # (B, N, local_h, head_dim) + + q_y = self.q_norm_y(q_y) + k_y = self.k_norm_y(k_y) + + # Split qkv_x into q, k, v + q_x, k_x, v_x = self.qkv_x(x).view(x.shape[0], x.shape[1], 3, self.num_heads, -1).unbind(2) # (B, N, local_h, head_dim) + q_x = self.q_norm_x(q_x) + q_x = apply_rotary_emb_qk_real(q_x, rope_cos, rope_sin) + k_x = self.k_norm_x(k_x) + k_x = apply_rotary_emb_qk_real(k_x, rope_cos, rope_sin) + + q = torch.cat([q_x, q_y[:, :crop_y]], dim=1).transpose(1, 2) + k = torch.cat([k_x, k_y[:, :crop_y]], dim=1).transpose(1, 2) + v = torch.cat([v_x, v_y[:, :crop_y]], dim=1).transpose(1, 2) + + xy = optimized_attention(q, + k, + v, self.num_heads, skip_reshape=True) + + x, y = torch.tensor_split(xy, (q_x.shape[1],), dim=1) + x = self.proj_x(x) + o = torch.zeros(y.shape[0], q_y.shape[1], y.shape[-1], device=y.device, dtype=y.dtype) + o[:, :y.shape[1]] = y + + y = self.proj_y(o) + # print("ox", x) + # print("oy", y) + return x, y + + +class AsymmetricJointBlock(nn.Module): + def __init__( + self, + hidden_size_x: int, + hidden_size_y: int, + num_heads: int, + *, + mlp_ratio_x: float = 8.0, # Ratio of hidden size to d_model for MLP for visual tokens. + mlp_ratio_y: float = 4.0, # Ratio of hidden size to d_model for MLP for text tokens. + update_y: bool = True, # Whether to update text tokens in this block. + device: Optional[torch.device] = None, + dtype=None, + operations=None, + **block_kwargs, + ): + super().__init__() + self.update_y = update_y + self.hidden_size_x = hidden_size_x + self.hidden_size_y = hidden_size_y + self.mod_x = operations.Linear(hidden_size_x, 4 * hidden_size_x, device=device, dtype=dtype) + if self.update_y: + self.mod_y = operations.Linear(hidden_size_x, 4 * hidden_size_y, device=device, dtype=dtype) + else: + self.mod_y = operations.Linear(hidden_size_x, hidden_size_y, device=device, dtype=dtype) + + # Self-attention: + self.attn = AsymmetricAttention( + hidden_size_x, + hidden_size_y, + num_heads=num_heads, + update_y=update_y, + device=device, + dtype=dtype, + operations=operations, + **block_kwargs, + ) + + # MLP. + mlp_hidden_dim_x = int(hidden_size_x * mlp_ratio_x) + assert mlp_hidden_dim_x == int(1536 * 8) + self.mlp_x = FeedForward( + in_features=hidden_size_x, + hidden_size=mlp_hidden_dim_x, + multiple_of=256, + ffn_dim_multiplier=None, + device=device, + dtype=dtype, + operations=operations, + ) + + # MLP for text not needed in last block. + if self.update_y: + mlp_hidden_dim_y = int(hidden_size_y * mlp_ratio_y) + self.mlp_y = FeedForward( + in_features=hidden_size_y, + hidden_size=mlp_hidden_dim_y, + multiple_of=256, + ffn_dim_multiplier=None, + device=device, + dtype=dtype, + operations=operations, + ) + + def forward( + self, + x: torch.Tensor, + c: torch.Tensor, + y: torch.Tensor, + **attn_kwargs, + ): + """Forward pass of a block. + + Args: + x: (B, N, dim) tensor of visual tokens + c: (B, dim) tensor of conditioned features + y: (B, L, dim) tensor of text tokens + num_frames: Number of frames in the video. N = num_frames * num_spatial_tokens + + Returns: + x: (B, N, dim) tensor of visual tokens after block + y: (B, L, dim) tensor of text tokens after block + """ + N = x.size(1) + + c = F.silu(c) + mod_x = self.mod_x(c) + scale_msa_x, gate_msa_x, scale_mlp_x, gate_mlp_x = mod_x.chunk(4, dim=1) + + mod_y = self.mod_y(c) + if self.update_y: + scale_msa_y, gate_msa_y, scale_mlp_y, gate_mlp_y = mod_y.chunk(4, dim=1) + else: + scale_msa_y = mod_y + + # Self-attention block. + x_attn, y_attn = self.attn( + x, + y, + scale_x=scale_msa_x, + scale_y=scale_msa_y, + **attn_kwargs, + ) + + assert x_attn.size(1) == N + x = residual_tanh_gated_rmsnorm(x, x_attn, gate_msa_x) + if self.update_y: + y = residual_tanh_gated_rmsnorm(y, y_attn, gate_msa_y) + + # MLP block. + x = self.ff_block_x(x, scale_mlp_x, gate_mlp_x) + if self.update_y: + y = self.ff_block_y(y, scale_mlp_y, gate_mlp_y) + + return x, y + + def ff_block_x(self, x, scale_x, gate_x): + x_mod = modulated_rmsnorm(x, scale_x) + x_res = self.mlp_x(x_mod) + x = residual_tanh_gated_rmsnorm(x, x_res, gate_x) # Sandwich norm + return x + + def ff_block_y(self, y, scale_y, gate_y): + y_mod = modulated_rmsnorm(y, scale_y) + y_res = self.mlp_y(y_mod) + y = residual_tanh_gated_rmsnorm(y, y_res, gate_y) # Sandwich norm + return y + + +class FinalLayer(nn.Module): + """ + The final layer of DiT. + """ + + def __init__( + self, + hidden_size, + patch_size, + out_channels, + device: Optional[torch.device] = None, + dtype=None, + operations=None, + ): + super().__init__() + self.norm_final = operations.LayerNorm( + hidden_size, elementwise_affine=False, eps=1e-6, device=device, dtype=dtype + ) + self.mod = operations.Linear(hidden_size, 2 * hidden_size, device=device, dtype=dtype) + self.linear = operations.Linear( + hidden_size, patch_size * patch_size * out_channels, device=device, dtype=dtype + ) + + def forward(self, x, c): + c = F.silu(c) + shift, scale = self.mod(c).chunk(2, dim=1) + x = modulate(self.norm_final(x), shift, scale) + x = self.linear(x) + return x + + +class AsymmDiTJoint(nn.Module): + """ + Diffusion model with a Transformer backbone. + + Ingests text embeddings instead of a label. + """ + + def __init__( + self, + *, + patch_size=2, + in_channels=4, + hidden_size_x=1152, + hidden_size_y=1152, + depth=48, + num_heads=16, + mlp_ratio_x=8.0, + mlp_ratio_y=4.0, + use_t5: bool = False, + t5_feat_dim: int = 4096, + t5_token_length: int = 256, + learn_sigma=True, + patch_embed_bias: bool = True, + timestep_mlp_bias: bool = True, + attend_to_padding: bool = False, + timestep_scale: Optional[float] = None, + use_extended_posenc: bool = False, + posenc_preserve_area: bool = False, + rope_theta: float = 10000.0, + image_model=None, + device: Optional[torch.device] = None, + dtype=None, + operations=None, + **block_kwargs, + ): + super().__init__() + + self.dtype = dtype + self.learn_sigma = learn_sigma + self.in_channels = in_channels + self.out_channels = in_channels * 2 if learn_sigma else in_channels + self.patch_size = patch_size + self.num_heads = num_heads + self.hidden_size_x = hidden_size_x + self.hidden_size_y = hidden_size_y + self.head_dim = ( + hidden_size_x // num_heads + ) # Head dimension and count is determined by visual. + self.attend_to_padding = attend_to_padding + self.use_extended_posenc = use_extended_posenc + self.posenc_preserve_area = posenc_preserve_area + self.use_t5 = use_t5 + self.t5_token_length = t5_token_length + self.t5_feat_dim = t5_feat_dim + self.rope_theta = ( + rope_theta # Scaling factor for frequency computation for temporal RoPE. + ) + + self.x_embedder = PatchEmbed( + patch_size=patch_size, + in_chans=in_channels, + embed_dim=hidden_size_x, + bias=patch_embed_bias, + dtype=dtype, + device=device, + operations=operations + ) + # Conditionings + # Timestep + self.t_embedder = TimestepEmbedder( + hidden_size_x, bias=timestep_mlp_bias, timestep_scale=timestep_scale, dtype=dtype, device=device, operations=operations + ) + + if self.use_t5: + # Caption Pooling (T5) + self.t5_y_embedder = AttentionPool( + t5_feat_dim, num_heads=8, output_dim=hidden_size_x, dtype=dtype, device=device, operations=operations + ) + + # Dense Embedding Projection (T5) + self.t5_yproj = operations.Linear( + t5_feat_dim, hidden_size_y, bias=True, dtype=dtype, device=device + ) + + # Initialize pos_frequencies as an empty parameter. + self.pos_frequencies = nn.Parameter( + torch.empty(3, self.num_heads, self.head_dim // 2, dtype=dtype, device=device) + ) + + assert not self.attend_to_padding + + # for depth 48: + # b = 0: AsymmetricJointBlock, update_y=True + # b = 1: AsymmetricJointBlock, update_y=True + # ... + # b = 46: AsymmetricJointBlock, update_y=True + # b = 47: AsymmetricJointBlock, update_y=False. No need to update text features. + blocks = [] + for b in range(depth): + # Joint multi-modal block + update_y = b < depth - 1 + block = AsymmetricJointBlock( + hidden_size_x, + hidden_size_y, + num_heads, + mlp_ratio_x=mlp_ratio_x, + mlp_ratio_y=mlp_ratio_y, + update_y=update_y, + attend_to_padding=attend_to_padding, + device=device, + dtype=dtype, + operations=operations, + **block_kwargs, + ) + + blocks.append(block) + self.blocks = nn.ModuleList(blocks) + + self.final_layer = FinalLayer( + hidden_size_x, patch_size, self.out_channels, dtype=dtype, device=device, operations=operations + ) + + def embed_x(self, x: torch.Tensor) -> torch.Tensor: + """ + Args: + x: (B, C=12, T, H, W) tensor of visual tokens + + Returns: + x: (B, C=3072, N) tensor of visual tokens with positional embedding. + """ + return self.x_embedder(x) # Convert BcTHW to BCN + + def prepare( + self, + x: torch.Tensor, + sigma: torch.Tensor, + t5_feat: torch.Tensor, + t5_mask: torch.Tensor, + ): + """Prepare input and conditioning embeddings.""" + # Visual patch embeddings with positional encoding. + T, H, W = x.shape[-3:] + pH, pW = H // self.patch_size, W // self.patch_size + x = self.embed_x(x) # (B, N, D), where N = T * H * W / patch_size ** 2 + assert x.ndim == 3 + + pH, pW = H // self.patch_size, W // self.patch_size + N = T * pH * pW + assert x.size(1) == N + pos = create_position_matrix( + T, pH=pH, pW=pW, device=x.device, dtype=torch.float32 + ) # (N, 3) + rope_cos, rope_sin = compute_mixed_rotation( + freqs=comfy.ops.cast_to(self.pos_frequencies, dtype=x.dtype, device=x.device), pos=pos + ) # Each are (N, num_heads, dim // 2) + + c_t = self.t_embedder(1 - sigma, out_dtype=x.dtype) # (B, D) + + t5_y_pool = self.t5_y_embedder(t5_feat, t5_mask) # (B, D) + + c = c_t + t5_y_pool + + y_feat = self.t5_yproj(t5_feat) # (B, L, t5_feat_dim) --> (B, L, D) + + return x, c, y_feat, rope_cos, rope_sin + + def forward( + self, + x: torch.Tensor, + timestep: torch.Tensor, + context: List[torch.Tensor], + attention_mask: List[torch.Tensor], + num_tokens=256, + packed_indices: Dict[str, torch.Tensor] = None, + rope_cos: torch.Tensor = None, + rope_sin: torch.Tensor = None, + control=None, transformer_options={}, **kwargs + ): + patches_replace = transformer_options.get("patches_replace", {}) + y_feat = context + y_mask = attention_mask + sigma = timestep + """Forward pass of DiT. + + Args: + x: (B, C, T, H, W) tensor of spatial inputs (images or latent representations of images) + sigma: (B,) tensor of noise standard deviations + y_feat: List((B, L, y_feat_dim) tensor of caption token features. For SDXL text encoders: L=77, y_feat_dim=2048) + y_mask: List((B, L) boolean tensor indicating which tokens are not padding) + packed_indices: Dict with keys for Flash Attention. Result of compute_packed_indices. + """ + B, _, T, H, W = x.shape + + x, c, y_feat, rope_cos, rope_sin = self.prepare( + x, sigma, y_feat, y_mask + ) + del y_mask + + blocks_replace = patches_replace.get("dit", {}) + for i, block in enumerate(self.blocks): + if ("double_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["img"], out["txt"] = block( + args["img"], + args["vec"], + args["txt"], + rope_cos=args["rope_cos"], + rope_sin=args["rope_sin"], + crop_y=args["num_tokens"] + ) + return out + out = blocks_replace[("double_block", i)]({"img": x, "txt": y_feat, "vec": c, "rope_cos": rope_cos, "rope_sin": rope_sin, "num_tokens": num_tokens}, {"original_block": block_wrap}) + y_feat = out["txt"] + x = out["img"] + else: + x, y_feat = block( + x, + c, + y_feat, + rope_cos=rope_cos, + rope_sin=rope_sin, + crop_y=num_tokens, + ) # (B, M, D), (B, L, D) + del y_feat # Final layers don't use dense text features. + + x = self.final_layer(x, c) # (B, M, patch_size ** 2 * out_channels) + x = rearrange( + x, + "B (T hp wp) (p1 p2 c) -> B c T (hp p1) (wp p2)", + T=T, + hp=H // self.patch_size, + wp=W // self.patch_size, + p1=self.patch_size, + p2=self.patch_size, + c=self.out_channels, + ) + + return -x diff --git a/comfy/ldm/genmo/joint_model/layers.py b/comfy/ldm/genmo/joint_model/layers.py new file mode 100644 index 000000000..51d979559 --- /dev/null +++ b/comfy/ldm/genmo/joint_model/layers.py @@ -0,0 +1,164 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license +#adapted to ComfyUI + +import collections.abc +import math +from itertools import repeat +from typing import Callable, Optional + +import torch +import torch.nn as nn +import torch.nn.functional as F +from einops import rearrange +import comfy.ldm.common_dit + + +# From PyTorch internals +def _ntuple(n): + def parse(x): + if isinstance(x, collections.abc.Iterable) and not isinstance(x, str): + return tuple(x) + return tuple(repeat(x, n)) + + return parse + + +to_2tuple = _ntuple(2) + + +class TimestepEmbedder(nn.Module): + def __init__( + self, + hidden_size: int, + frequency_embedding_size: int = 256, + *, + bias: bool = True, + timestep_scale: Optional[float] = None, + dtype=None, + device=None, + operations=None, + ): + super().__init__() + self.mlp = nn.Sequential( + operations.Linear(frequency_embedding_size, hidden_size, bias=bias, dtype=dtype, device=device), + nn.SiLU(), + operations.Linear(hidden_size, hidden_size, bias=bias, dtype=dtype, device=device), + ) + self.frequency_embedding_size = frequency_embedding_size + self.timestep_scale = timestep_scale + + @staticmethod + def timestep_embedding(t, dim, max_period=10000): + half = dim // 2 + freqs = torch.arange(start=0, end=half, dtype=torch.float32, device=t.device) + freqs.mul_(-math.log(max_period) / half).exp_() + args = t[:, None].float() * freqs[None] + embedding = torch.cat([torch.cos(args), torch.sin(args)], dim=-1) + if dim % 2: + embedding = torch.cat( + [embedding, torch.zeros_like(embedding[:, :1])], dim=-1 + ) + return embedding + + def forward(self, t, out_dtype): + if self.timestep_scale is not None: + t = t * self.timestep_scale + t_freq = self.timestep_embedding(t, self.frequency_embedding_size).to(dtype=out_dtype) + t_emb = self.mlp(t_freq) + return t_emb + + +class FeedForward(nn.Module): + def __init__( + self, + in_features: int, + hidden_size: int, + multiple_of: int, + ffn_dim_multiplier: Optional[float], + device: Optional[torch.device] = None, + dtype=None, + operations=None, + ): + super().__init__() + # keep parameter count and computation constant compared to standard FFN + hidden_size = int(2 * hidden_size / 3) + # custom dim factor multiplier + if ffn_dim_multiplier is not None: + hidden_size = int(ffn_dim_multiplier * hidden_size) + hidden_size = multiple_of * ((hidden_size + multiple_of - 1) // multiple_of) + + self.hidden_dim = hidden_size + self.w1 = operations.Linear(in_features, 2 * hidden_size, bias=False, device=device, dtype=dtype) + self.w2 = operations.Linear(hidden_size, in_features, bias=False, device=device, dtype=dtype) + + def forward(self, x): + x, gate = self.w1(x).chunk(2, dim=-1) + x = self.w2(F.silu(x) * gate) + return x + + +class PatchEmbed(nn.Module): + def __init__( + self, + patch_size: int = 16, + in_chans: int = 3, + embed_dim: int = 768, + norm_layer: Optional[Callable] = None, + flatten: bool = True, + bias: bool = True, + dynamic_img_pad: bool = False, + dtype=None, + device=None, + operations=None, + ): + super().__init__() + self.patch_size = to_2tuple(patch_size) + self.flatten = flatten + self.dynamic_img_pad = dynamic_img_pad + + self.proj = operations.Conv2d( + in_chans, + embed_dim, + kernel_size=patch_size, + stride=patch_size, + bias=bias, + device=device, + dtype=dtype, + ) + assert norm_layer is None + self.norm = ( + norm_layer(embed_dim, device=device) if norm_layer else nn.Identity() + ) + + def forward(self, x): + B, _C, T, H, W = x.shape + if not self.dynamic_img_pad: + assert H % self.patch_size[0] == 0, f"Input height ({H}) should be divisible by patch size ({self.patch_size[0]})." + assert W % self.patch_size[1] == 0, f"Input width ({W}) should be divisible by patch size ({self.patch_size[1]})." + else: + pad_h = (self.patch_size[0] - H % self.patch_size[0]) % self.patch_size[0] + pad_w = (self.patch_size[1] - W % self.patch_size[1]) % self.patch_size[1] + x = F.pad(x, (0, pad_w, 0, pad_h)) + + x = rearrange(x, "B C T H W -> (B T) C H W", B=B, T=T) + x = comfy.ldm.common_dit.pad_to_patch_size(x, self.patch_size, padding_mode='circular') + x = self.proj(x) + + # Flatten temporal and spatial dimensions. + if not self.flatten: + raise NotImplementedError("Must flatten output.") + x = rearrange(x, "(B T) C H W -> B (T H W) C", B=B, T=T) + + x = self.norm(x) + return x + + +class RMSNorm(torch.nn.Module): + def __init__(self, hidden_size, eps=1e-5, device=None, dtype=None): + super().__init__() + self.eps = eps + self.weight = torch.nn.Parameter(torch.empty(hidden_size, device=device, dtype=dtype)) + self.register_parameter("bias", None) + + def forward(self, x): + return comfy.ldm.common_dit.rms_norm(x, self.weight, self.eps) diff --git a/comfy/ldm/genmo/joint_model/rope_mixed.py b/comfy/ldm/genmo/joint_model/rope_mixed.py new file mode 100644 index 000000000..dee3fa21f --- /dev/null +++ b/comfy/ldm/genmo/joint_model/rope_mixed.py @@ -0,0 +1,88 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license + +# import functools +import math + +import torch + + +def centers(start: float, stop, num, dtype=None, device=None): + """linspace through bin centers. + + Args: + start (float): Start of the range. + stop (float): End of the range. + num (int): Number of points. + dtype (torch.dtype): Data type of the points. + device (torch.device): Device of the points. + + Returns: + centers (Tensor): Centers of the bins. Shape: (num,). + """ + edges = torch.linspace(start, stop, num + 1, dtype=dtype, device=device) + return (edges[:-1] + edges[1:]) / 2 + + +# @functools.lru_cache(maxsize=1) +def create_position_matrix( + T: int, + pH: int, + pW: int, + device: torch.device, + dtype: torch.dtype, + *, + target_area: float = 36864, +): + """ + Args: + T: int - Temporal dimension + pH: int - Height dimension after patchify + pW: int - Width dimension after patchify + + Returns: + pos: [T * pH * pW, 3] - position matrix + """ + # Create 1D tensors for each dimension + t = torch.arange(T, dtype=dtype) + + # Positionally interpolate to area 36864. + # (3072x3072 frame with 16x16 patches = 192x192 latents). + # This automatically scales rope positions when the resolution changes. + # We use a large target area so the model is more sensitive + # to changes in the learned pos_frequencies matrix. + scale = math.sqrt(target_area / (pW * pH)) + w = centers(-pW * scale / 2, pW * scale / 2, pW) + h = centers(-pH * scale / 2, pH * scale / 2, pH) + + # Use meshgrid to create 3D grids + grid_t, grid_h, grid_w = torch.meshgrid(t, h, w, indexing="ij") + + # Stack and reshape the grids. + pos = torch.stack([grid_t, grid_h, grid_w], dim=-1) # [T, pH, pW, 3] + pos = pos.view(-1, 3) # [T * pH * pW, 3] + pos = pos.to(dtype=dtype, device=device) + + return pos + + +def compute_mixed_rotation( + freqs: torch.Tensor, + pos: torch.Tensor, +): + """ + Project each 3-dim position into per-head, per-head-dim 1D frequencies. + + Args: + freqs: [3, num_heads, num_freqs] - learned rotation frequency (for t, row, col) for each head position + pos: [N, 3] - position of each token + num_heads: int + + Returns: + freqs_cos: [N, num_heads, num_freqs] - cosine components + freqs_sin: [N, num_heads, num_freqs] - sine components + """ + assert freqs.ndim == 3 + freqs_sum = torch.einsum("Nd,dhf->Nhf", pos.to(freqs), freqs) + freqs_cos = torch.cos(freqs_sum) + freqs_sin = torch.sin(freqs_sum) + return freqs_cos, freqs_sin diff --git a/comfy/ldm/genmo/joint_model/temporal_rope.py b/comfy/ldm/genmo/joint_model/temporal_rope.py new file mode 100644 index 000000000..88f5d6d26 --- /dev/null +++ b/comfy/ldm/genmo/joint_model/temporal_rope.py @@ -0,0 +1,34 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license + +# Based on Llama3 Implementation. +import torch + + +def apply_rotary_emb_qk_real( + xqk: torch.Tensor, + freqs_cos: torch.Tensor, + freqs_sin: torch.Tensor, +) -> torch.Tensor: + """ + Apply rotary embeddings to input tensors using the given frequency tensor without complex numbers. + + Args: + xqk (torch.Tensor): Query and/or Key tensors to apply rotary embeddings. Shape: (B, S, *, num_heads, D) + Can be either just query or just key, or both stacked along some batch or * dim. + freqs_cos (torch.Tensor): Precomputed cosine frequency tensor. + freqs_sin (torch.Tensor): Precomputed sine frequency tensor. + + Returns: + torch.Tensor: The input tensor with rotary embeddings applied. + """ + # Split the last dimension into even and odd parts + xqk_even = xqk[..., 0::2] + xqk_odd = xqk[..., 1::2] + + # Apply rotation + cos_part = (xqk_even * freqs_cos - xqk_odd * freqs_sin).type_as(xqk) + sin_part = (xqk_even * freqs_sin + xqk_odd * freqs_cos).type_as(xqk) + + # Interleave the results back into the original shape + out = torch.stack([cos_part, sin_part], dim=-1).flatten(-2) + return out diff --git a/comfy/ldm/genmo/joint_model/utils.py b/comfy/ldm/genmo/joint_model/utils.py new file mode 100644 index 000000000..1b399d5d2 --- /dev/null +++ b/comfy/ldm/genmo/joint_model/utils.py @@ -0,0 +1,102 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license +#adapted to ComfyUI + +from typing import Optional + +import torch +import torch.nn as nn +import torch.nn.functional as F + + +def modulate(x, shift, scale): + return x * (1 + scale.unsqueeze(1)) + shift.unsqueeze(1) + + +def pool_tokens(x: torch.Tensor, mask: torch.Tensor, *, keepdim=False) -> torch.Tensor: + """ + Pool tokens in x using mask. + + NOTE: We assume x does not require gradients. + + Args: + x: (B, L, D) tensor of tokens. + mask: (B, L) boolean tensor indicating which tokens are not padding. + + Returns: + pooled: (B, D) tensor of pooled tokens. + """ + assert x.size(1) == mask.size(1) # Expected mask to have same length as tokens. + assert x.size(0) == mask.size(0) # Expected mask to have same batch size as tokens. + mask = mask[:, :, None].to(dtype=x.dtype) + mask = mask / mask.sum(dim=1, keepdim=True).clamp(min=1) + pooled = (x * mask).sum(dim=1, keepdim=keepdim) + return pooled + + +class AttentionPool(nn.Module): + def __init__( + self, + embed_dim: int, + num_heads: int, + output_dim: int = None, + device: Optional[torch.device] = None, + dtype=None, + operations=None, + ): + """ + Args: + spatial_dim (int): Number of tokens in sequence length. + embed_dim (int): Dimensionality of input tokens. + num_heads (int): Number of attention heads. + output_dim (int): Dimensionality of output tokens. Defaults to embed_dim. + """ + super().__init__() + self.num_heads = num_heads + self.to_kv = operations.Linear(embed_dim, 2 * embed_dim, device=device, dtype=dtype) + self.to_q = operations.Linear(embed_dim, embed_dim, device=device, dtype=dtype) + self.to_out = operations.Linear(embed_dim, output_dim or embed_dim, device=device, dtype=dtype) + + def forward(self, x, mask): + """ + Args: + x (torch.Tensor): (B, L, D) tensor of input tokens. + mask (torch.Tensor): (B, L) boolean tensor indicating which tokens are not padding. + + NOTE: We assume x does not require gradients. + + Returns: + x (torch.Tensor): (B, D) tensor of pooled tokens. + """ + D = x.size(2) + + # Construct attention mask, shape: (B, 1, num_queries=1, num_keys=1+L). + attn_mask = mask[:, None, None, :].bool() # (B, 1, 1, L). + attn_mask = F.pad(attn_mask, (1, 0), value=True) # (B, 1, 1, 1+L). + + # Average non-padding token features. These will be used as the query. + x_pool = pool_tokens(x, mask, keepdim=True) # (B, 1, D) + + # Concat pooled features to input sequence. + x = torch.cat([x_pool, x], dim=1) # (B, L+1, D) + + # Compute queries, keys, values. Only the mean token is used to create a query. + kv = self.to_kv(x) # (B, L+1, 2 * D) + q = self.to_q(x[:, 0]) # (B, D) + + # Extract heads. + head_dim = D // self.num_heads + kv = kv.unflatten(2, (2, self.num_heads, head_dim)) # (B, 1+L, 2, H, head_dim) + kv = kv.transpose(1, 3) # (B, H, 2, 1+L, head_dim) + k, v = kv.unbind(2) # (B, H, 1+L, head_dim) + q = q.unflatten(1, (self.num_heads, head_dim)) # (B, H, head_dim) + q = q.unsqueeze(2) # (B, H, 1, head_dim) + + # Compute attention. + x = F.scaled_dot_product_attention( + q, k, v, attn_mask=attn_mask, dropout_p=0.0 + ) # (B, H, 1, head_dim) + + # Concatenate heads and run output. + x = x.squeeze(2).flatten(1, 2) # (B, D = H * head_dim) + x = self.to_out(x) + return x diff --git a/comfy/ldm/genmo/vae/model.py b/comfy/ldm/genmo/vae/model.py new file mode 100644 index 000000000..1bde0c1ed --- /dev/null +++ b/comfy/ldm/genmo/vae/model.py @@ -0,0 +1,711 @@ +#original code from https://github.com/genmoai/models under apache 2.0 license +#adapted to ComfyUI + +from typing import List, Optional, Tuple, Union +from functools import partial +import math + +import torch +import torch.nn as nn +import torch.nn.functional as F +from einops import rearrange + +from comfy.ldm.modules.attention import optimized_attention + +import comfy.ops +ops = comfy.ops.disable_weight_init + +# import mochi_preview.dit.joint_model.context_parallel as cp +# from mochi_preview.vae.cp_conv import cp_pass_frames, gather_all_frames + + +def cast_tuple(t, length=1): + return t if isinstance(t, tuple) else ((t,) * length) + + +class GroupNormSpatial(ops.GroupNorm): + """ + GroupNorm applied per-frame. + """ + + def forward(self, x: torch.Tensor, *, chunk_size: int = 8): + B, C, T, H, W = x.shape + x = rearrange(x, "B C T H W -> (B T) C H W") + # Run group norm in chunks. + output = torch.empty_like(x) + for b in range(0, B * T, chunk_size): + output[b : b + chunk_size] = super().forward(x[b : b + chunk_size]) + return rearrange(output, "(B T) C H W -> B C T H W", B=B, T=T) + +class PConv3d(ops.Conv3d): + def __init__( + self, + in_channels, + out_channels, + kernel_size: Union[int, Tuple[int, int, int]], + stride: Union[int, Tuple[int, int, int]], + causal: bool = True, + context_parallel: bool = True, + **kwargs, + ): + self.causal = causal + self.context_parallel = context_parallel + kernel_size = cast_tuple(kernel_size, 3) + stride = cast_tuple(stride, 3) + height_pad = (kernel_size[1] - 1) // 2 + width_pad = (kernel_size[2] - 1) // 2 + + super().__init__( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=kernel_size, + stride=stride, + dilation=(1, 1, 1), + padding=(0, height_pad, width_pad), + **kwargs, + ) + + def forward(self, x: torch.Tensor): + # Compute padding amounts. + context_size = self.kernel_size[0] - 1 + if self.causal: + pad_front = context_size + pad_back = 0 + else: + pad_front = context_size // 2 + pad_back = context_size - pad_front + + # Apply padding. + assert self.padding_mode == "replicate" # DEBUG + mode = "constant" if self.padding_mode == "zeros" else self.padding_mode + x = F.pad(x, (0, 0, 0, 0, pad_front, pad_back), mode=mode) + return super().forward(x) + + +class Conv1x1(ops.Linear): + """*1x1 Conv implemented with a linear layer.""" + + def __init__(self, in_features: int, out_features: int, *args, **kwargs): + super().__init__(in_features, out_features, *args, **kwargs) + + def forward(self, x: torch.Tensor): + """Forward pass. + + Args: + x: Input tensor. Shape: [B, C, *] or [B, *, C]. + + Returns: + x: Output tensor. Shape: [B, C', *] or [B, *, C']. + """ + x = x.movedim(1, -1) + x = super().forward(x) + x = x.movedim(-1, 1) + return x + + +class DepthToSpaceTime(nn.Module): + def __init__( + self, + temporal_expansion: int, + spatial_expansion: int, + ): + super().__init__() + self.temporal_expansion = temporal_expansion + self.spatial_expansion = spatial_expansion + + # When printed, this module should show the temporal and spatial expansion factors. + def extra_repr(self): + return f"texp={self.temporal_expansion}, sexp={self.spatial_expansion}" + + def forward(self, x: torch.Tensor): + """Forward pass. + + Args: + x: Input tensor. Shape: [B, C, T, H, W]. + + Returns: + x: Rearranged tensor. Shape: [B, C/(st*s*s), T*st, H*s, W*s]. + """ + x = rearrange( + x, + "B (C st sh sw) T H W -> B C (T st) (H sh) (W sw)", + st=self.temporal_expansion, + sh=self.spatial_expansion, + sw=self.spatial_expansion, + ) + + # cp_rank, _ = cp.get_cp_rank_size() + if self.temporal_expansion > 1: # and cp_rank == 0: + # Drop the first self.temporal_expansion - 1 frames. + # This is because we always want the 3x3x3 conv filter to only apply + # to the first frame, and the first frame doesn't need to be repeated. + assert all(x.shape) + x = x[:, :, self.temporal_expansion - 1 :] + assert all(x.shape) + + return x + + +def norm_fn( + in_channels: int, + affine: bool = True, +): + return GroupNormSpatial(affine=affine, num_groups=32, num_channels=in_channels) + + +class ResBlock(nn.Module): + """Residual block that preserves the spatial dimensions.""" + + def __init__( + self, + channels: int, + *, + affine: bool = True, + attn_block: Optional[nn.Module] = None, + causal: bool = True, + prune_bottleneck: bool = False, + padding_mode: str, + bias: bool = True, + ): + super().__init__() + self.channels = channels + + assert causal + self.stack = nn.Sequential( + norm_fn(channels, affine=affine), + nn.SiLU(inplace=True), + PConv3d( + in_channels=channels, + out_channels=channels // 2 if prune_bottleneck else channels, + kernel_size=(3, 3, 3), + stride=(1, 1, 1), + padding_mode=padding_mode, + bias=bias, + causal=causal, + ), + norm_fn(channels, affine=affine), + nn.SiLU(inplace=True), + PConv3d( + in_channels=channels // 2 if prune_bottleneck else channels, + out_channels=channels, + kernel_size=(3, 3, 3), + stride=(1, 1, 1), + padding_mode=padding_mode, + bias=bias, + causal=causal, + ), + ) + + self.attn_block = attn_block if attn_block else nn.Identity() + + def forward(self, x: torch.Tensor): + """Forward pass. + + Args: + x: Input tensor. Shape: [B, C, T, H, W]. + """ + residual = x + x = self.stack(x) + x = x + residual + del residual + + return self.attn_block(x) + + +class Attention(nn.Module): + def __init__( + self, + dim: int, + head_dim: int = 32, + qkv_bias: bool = False, + out_bias: bool = True, + qk_norm: bool = True, + ) -> None: + super().__init__() + self.head_dim = head_dim + self.num_heads = dim // head_dim + self.qk_norm = qk_norm + + self.qkv = nn.Linear(dim, 3 * dim, bias=qkv_bias) + self.out = nn.Linear(dim, dim, bias=out_bias) + + def forward( + self, + x: torch.Tensor, + ) -> torch.Tensor: + """Compute temporal self-attention. + + Args: + x: Input tensor. Shape: [B, C, T, H, W]. + chunk_size: Chunk size for large tensors. + + Returns: + x: Output tensor. Shape: [B, C, T, H, W]. + """ + B, _, T, H, W = x.shape + + if T == 1: + # No attention for single frame. + x = x.movedim(1, -1) # [B, C, T, H, W] -> [B, T, H, W, C] + qkv = self.qkv(x) + _, _, x = qkv.chunk(3, dim=-1) # Throw away queries and keys. + x = self.out(x) + return x.movedim(-1, 1) # [B, T, H, W, C] -> [B, C, T, H, W] + + # 1D temporal attention. + x = rearrange(x, "B C t h w -> (B h w) t C") + qkv = self.qkv(x) + + # Input: qkv with shape [B, t, 3 * num_heads * head_dim] + # Output: x with shape [B, num_heads, t, head_dim] + q, k, v = qkv.view(qkv.shape[0], qkv.shape[1], 3, self.num_heads, self.head_dim).transpose(1, 3).unbind(2) + + if self.qk_norm: + q = F.normalize(q, p=2, dim=-1) + k = F.normalize(k, p=2, dim=-1) + + x = optimized_attention(q, k, v, self.num_heads, skip_reshape=True) + + assert x.size(0) == q.size(0) + + x = self.out(x) + x = rearrange(x, "(B h w) t C -> B C t h w", B=B, h=H, w=W) + return x + + +class AttentionBlock(nn.Module): + def __init__( + self, + dim: int, + **attn_kwargs, + ) -> None: + super().__init__() + self.norm = norm_fn(dim) + self.attn = Attention(dim, **attn_kwargs) + + def forward(self, x: torch.Tensor) -> torch.Tensor: + return x + self.attn(self.norm(x)) + + +class CausalUpsampleBlock(nn.Module): + def __init__( + self, + in_channels: int, + out_channels: int, + num_res_blocks: int, + *, + temporal_expansion: int = 2, + spatial_expansion: int = 2, + **block_kwargs, + ): + super().__init__() + + blocks = [] + for _ in range(num_res_blocks): + blocks.append(block_fn(in_channels, **block_kwargs)) + self.blocks = nn.Sequential(*blocks) + + self.temporal_expansion = temporal_expansion + self.spatial_expansion = spatial_expansion + + # Change channels in the final convolution layer. + self.proj = Conv1x1( + in_channels, + out_channels * temporal_expansion * (spatial_expansion**2), + ) + + self.d2st = DepthToSpaceTime( + temporal_expansion=temporal_expansion, spatial_expansion=spatial_expansion + ) + + def forward(self, x): + x = self.blocks(x) + x = self.proj(x) + x = self.d2st(x) + return x + + +def block_fn(channels, *, affine: bool = True, has_attention: bool = False, **block_kwargs): + attn_block = AttentionBlock(channels) if has_attention else None + return ResBlock(channels, affine=affine, attn_block=attn_block, **block_kwargs) + + +class DownsampleBlock(nn.Module): + def __init__( + self, + in_channels: int, + out_channels: int, + num_res_blocks, + *, + temporal_reduction=2, + spatial_reduction=2, + **block_kwargs, + ): + """ + Downsample block for the VAE encoder. + + Args: + in_channels: Number of input channels. + out_channels: Number of output channels. + num_res_blocks: Number of residual blocks. + temporal_reduction: Temporal reduction factor. + spatial_reduction: Spatial reduction factor. + """ + super().__init__() + layers = [] + + # Change the channel count in the strided convolution. + # This lets the ResBlock have uniform channel count, + # as in ConvNeXt. + assert in_channels != out_channels + layers.append( + PConv3d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=(temporal_reduction, spatial_reduction, spatial_reduction), + stride=(temporal_reduction, spatial_reduction, spatial_reduction), + # First layer in each block always uses replicate padding + padding_mode="replicate", + bias=block_kwargs["bias"], + ) + ) + + for _ in range(num_res_blocks): + layers.append(block_fn(out_channels, **block_kwargs)) + + self.layers = nn.Sequential(*layers) + + def forward(self, x): + return self.layers(x) + + +def add_fourier_features(inputs: torch.Tensor, start=6, stop=8, step=1): + num_freqs = (stop - start) // step + assert inputs.ndim == 5 + C = inputs.size(1) + + # Create Base 2 Fourier features. + freqs = torch.arange(start, stop, step, dtype=inputs.dtype, device=inputs.device) + assert num_freqs == len(freqs) + w = torch.pow(2.0, freqs) * (2 * torch.pi) # [num_freqs] + C = inputs.shape[1] + w = w.repeat(C)[None, :, None, None, None] # [1, C * num_freqs, 1, 1, 1] + + # Interleaved repeat of input channels to match w. + h = inputs.repeat_interleave(num_freqs, dim=1) # [B, C * num_freqs, T, H, W] + # Scale channels by frequency. + h = w * h + + return torch.cat( + [ + inputs, + torch.sin(h), + torch.cos(h), + ], + dim=1, + ) + + +class FourierFeatures(nn.Module): + def __init__(self, start: int = 6, stop: int = 8, step: int = 1): + super().__init__() + self.start = start + self.stop = stop + self.step = step + + def forward(self, inputs): + """Add Fourier features to inputs. + + Args: + inputs: Input tensor. Shape: [B, C, T, H, W] + + Returns: + h: Output tensor. Shape: [B, (1 + 2 * num_freqs) * C, T, H, W] + """ + return add_fourier_features(inputs, self.start, self.stop, self.step) + + +class Decoder(nn.Module): + def __init__( + self, + *, + out_channels: int = 3, + latent_dim: int, + base_channels: int, + channel_multipliers: List[int], + num_res_blocks: List[int], + temporal_expansions: Optional[List[int]] = None, + spatial_expansions: Optional[List[int]] = None, + has_attention: List[bool], + output_norm: bool = True, + nonlinearity: str = "silu", + output_nonlinearity: str = "silu", + causal: bool = True, + **block_kwargs, + ): + super().__init__() + self.input_channels = latent_dim + self.base_channels = base_channels + self.channel_multipliers = channel_multipliers + self.num_res_blocks = num_res_blocks + self.output_nonlinearity = output_nonlinearity + assert nonlinearity == "silu" + assert causal + + ch = [mult * base_channels for mult in channel_multipliers] + self.num_up_blocks = len(ch) - 1 + assert len(num_res_blocks) == self.num_up_blocks + 2 + + blocks = [] + + first_block = [ + ops.Conv3d(latent_dim, ch[-1], kernel_size=(1, 1, 1)) + ] # Input layer. + # First set of blocks preserve channel count. + for _ in range(num_res_blocks[-1]): + first_block.append( + block_fn( + ch[-1], + has_attention=has_attention[-1], + causal=causal, + **block_kwargs, + ) + ) + blocks.append(nn.Sequential(*first_block)) + + assert len(temporal_expansions) == len(spatial_expansions) == self.num_up_blocks + assert len(num_res_blocks) == len(has_attention) == self.num_up_blocks + 2 + + upsample_block_fn = CausalUpsampleBlock + + for i in range(self.num_up_blocks): + block = upsample_block_fn( + ch[-i - 1], + ch[-i - 2], + num_res_blocks=num_res_blocks[-i - 2], + has_attention=has_attention[-i - 2], + temporal_expansion=temporal_expansions[-i - 1], + spatial_expansion=spatial_expansions[-i - 1], + causal=causal, + **block_kwargs, + ) + blocks.append(block) + + assert not output_norm + + # Last block. Preserve channel count. + last_block = [] + for _ in range(num_res_blocks[0]): + last_block.append( + block_fn( + ch[0], has_attention=has_attention[0], causal=causal, **block_kwargs + ) + ) + blocks.append(nn.Sequential(*last_block)) + + self.blocks = nn.ModuleList(blocks) + self.output_proj = Conv1x1(ch[0], out_channels) + + def forward(self, x): + """Forward pass. + + Args: + x: Latent tensor. Shape: [B, input_channels, t, h, w]. Scaled [-1, 1]. + + Returns: + x: Reconstructed video tensor. Shape: [B, C, T, H, W]. Scaled to [-1, 1]. + T + 1 = (t - 1) * 4. + H = h * 16, W = w * 16. + """ + for block in self.blocks: + x = block(x) + + if self.output_nonlinearity == "silu": + x = F.silu(x, inplace=not self.training) + else: + assert ( + not self.output_nonlinearity + ) # StyleGAN3 omits the to-RGB nonlinearity. + + return self.output_proj(x).contiguous() + +class LatentDistribution: + def __init__(self, mean: torch.Tensor, logvar: torch.Tensor): + """Initialize latent distribution. + + Args: + mean: Mean of the distribution. Shape: [B, C, T, H, W]. + logvar: Logarithm of variance of the distribution. Shape: [B, C, T, H, W]. + """ + assert mean.shape == logvar.shape + self.mean = mean + self.logvar = logvar + + def sample(self, temperature=1.0, generator: torch.Generator = None, noise=None): + if temperature == 0.0: + return self.mean + + if noise is None: + noise = torch.randn(self.mean.shape, device=self.mean.device, dtype=self.mean.dtype, generator=generator) + else: + assert noise.device == self.mean.device + noise = noise.to(self.mean.dtype) + + if temperature != 1.0: + raise NotImplementedError(f"Temperature {temperature} is not supported.") + + # Just Gaussian sample with no scaling of variance. + return noise * torch.exp(self.logvar * 0.5) + self.mean + + def mode(self): + return self.mean + +class Encoder(nn.Module): + def __init__( + self, + *, + in_channels: int, + base_channels: int, + channel_multipliers: List[int], + num_res_blocks: List[int], + latent_dim: int, + temporal_reductions: List[int], + spatial_reductions: List[int], + prune_bottlenecks: List[bool], + has_attentions: List[bool], + affine: bool = True, + bias: bool = True, + input_is_conv_1x1: bool = False, + padding_mode: str, + ): + super().__init__() + self.temporal_reductions = temporal_reductions + self.spatial_reductions = spatial_reductions + self.base_channels = base_channels + self.channel_multipliers = channel_multipliers + self.num_res_blocks = num_res_blocks + self.latent_dim = latent_dim + + self.fourier_features = FourierFeatures() + ch = [mult * base_channels for mult in channel_multipliers] + num_down_blocks = len(ch) - 1 + assert len(num_res_blocks) == num_down_blocks + 2 + + layers = ( + [ops.Conv3d(in_channels, ch[0], kernel_size=(1, 1, 1), bias=True)] + if not input_is_conv_1x1 + else [Conv1x1(in_channels, ch[0])] + ) + + assert len(prune_bottlenecks) == num_down_blocks + 2 + assert len(has_attentions) == num_down_blocks + 2 + block = partial(block_fn, padding_mode=padding_mode, affine=affine, bias=bias) + + for _ in range(num_res_blocks[0]): + layers.append(block(ch[0], has_attention=has_attentions[0], prune_bottleneck=prune_bottlenecks[0])) + prune_bottlenecks = prune_bottlenecks[1:] + has_attentions = has_attentions[1:] + + assert len(temporal_reductions) == len(spatial_reductions) == len(ch) - 1 + for i in range(num_down_blocks): + layer = DownsampleBlock( + ch[i], + ch[i + 1], + num_res_blocks=num_res_blocks[i + 1], + temporal_reduction=temporal_reductions[i], + spatial_reduction=spatial_reductions[i], + prune_bottleneck=prune_bottlenecks[i], + has_attention=has_attentions[i], + affine=affine, + bias=bias, + padding_mode=padding_mode, + ) + + layers.append(layer) + + # Additional blocks. + for _ in range(num_res_blocks[-1]): + layers.append(block(ch[-1], has_attention=has_attentions[-1], prune_bottleneck=prune_bottlenecks[-1])) + + self.layers = nn.Sequential(*layers) + + # Output layers. + self.output_norm = norm_fn(ch[-1]) + self.output_proj = Conv1x1(ch[-1], 2 * latent_dim, bias=False) + + @property + def temporal_downsample(self): + return math.prod(self.temporal_reductions) + + @property + def spatial_downsample(self): + return math.prod(self.spatial_reductions) + + def forward(self, x) -> LatentDistribution: + """Forward pass. + + Args: + x: Input video tensor. Shape: [B, C, T, H, W]. Scaled to [-1, 1] + + Returns: + means: Latent tensor. Shape: [B, latent_dim, t, h, w]. Scaled [-1, 1]. + h = H // 8, w = W // 8, t - 1 = (T - 1) // 6 + logvar: Shape: [B, latent_dim, t, h, w]. + """ + assert x.ndim == 5, f"Expected 5D input, got {x.shape}" + x = self.fourier_features(x) + + x = self.layers(x) + + x = self.output_norm(x) + x = F.silu(x, inplace=True) + x = self.output_proj(x) + + means, logvar = torch.chunk(x, 2, dim=1) + + assert means.ndim == 5 + assert logvar.shape == means.shape + assert means.size(1) == self.latent_dim + + return LatentDistribution(means, logvar) + + +class VideoVAE(nn.Module): + def __init__(self): + super().__init__() + self.encoder = Encoder( + in_channels=15, + base_channels=64, + channel_multipliers=[1, 2, 4, 6], + num_res_blocks=[3, 3, 4, 6, 3], + latent_dim=12, + temporal_reductions=[1, 2, 3], + spatial_reductions=[2, 2, 2], + prune_bottlenecks=[False, False, False, False, False], + has_attentions=[False, True, True, True, True], + affine=True, + bias=True, + input_is_conv_1x1=True, + padding_mode="replicate" + ) + self.decoder = Decoder( + out_channels=3, + base_channels=128, + channel_multipliers=[1, 2, 4, 6], + temporal_expansions=[1, 2, 3], + spatial_expansions=[2, 2, 2], + num_res_blocks=[3, 3, 4, 6, 3], + latent_dim=12, + has_attention=[False, False, False, False, False], + padding_mode="replicate", + output_norm=False, + nonlinearity="silu", + output_nonlinearity="silu", + causal=True, + ) + + def encode(self, x): + return self.encoder(x).mode() + + def decode(self, x): + return self.decoder(x) diff --git a/comfy/ldm/hunyuan_video/model.py b/comfy/ldm/hunyuan_video/model.py new file mode 100644 index 000000000..fc3a67444 --- /dev/null +++ b/comfy/ldm/hunyuan_video/model.py @@ -0,0 +1,329 @@ +#Based on Flux code because of weird hunyuan video code license. + +import torch +import comfy.ldm.flux.layers +import comfy.ldm.modules.diffusionmodules.mmdit +from comfy.ldm.modules.attention import optimized_attention + + +from dataclasses import dataclass +from einops import repeat + +from torch import Tensor, nn + +from comfy.ldm.flux.layers import ( + DoubleStreamBlock, + EmbedND, + LastLayer, + MLPEmbedder, + SingleStreamBlock, + timestep_embedding +) + +import comfy.ldm.common_dit + + +@dataclass +class HunyuanVideoParams: + in_channels: int + out_channels: int + vec_in_dim: int + context_in_dim: int + hidden_size: int + mlp_ratio: float + num_heads: int + depth: int + depth_single_blocks: int + axes_dim: list + theta: int + patch_size: list + qkv_bias: bool + guidance_embed: bool + + +class SelfAttentionRef(nn.Module): + def __init__(self, dim: int, qkv_bias: bool = False, dtype=None, device=None, operations=None): + super().__init__() + self.qkv = operations.Linear(dim, dim * 3, bias=qkv_bias, dtype=dtype, device=device) + self.proj = operations.Linear(dim, dim, dtype=dtype, device=device) + + +class TokenRefinerBlock(nn.Module): + def __init__( + self, + hidden_size, + heads, + dtype=None, + device=None, + operations=None + ): + super().__init__() + self.heads = heads + mlp_hidden_dim = hidden_size * 4 + + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), + operations.Linear(hidden_size, 2 * hidden_size, bias=True, dtype=dtype, device=device), + ) + + self.norm1 = operations.LayerNorm(hidden_size, elementwise_affine=True, eps=1e-6, dtype=dtype, device=device) + self.self_attn = SelfAttentionRef(hidden_size, True, dtype=dtype, device=device, operations=operations) + + self.norm2 = operations.LayerNorm(hidden_size, elementwise_affine=True, eps=1e-6, dtype=dtype, device=device) + + self.mlp = nn.Sequential( + operations.Linear(hidden_size, mlp_hidden_dim, bias=True, dtype=dtype, device=device), + nn.SiLU(), + operations.Linear(mlp_hidden_dim, hidden_size, bias=True, dtype=dtype, device=device), + ) + + def forward(self, x, c, mask): + mod1, mod2 = self.adaLN_modulation(c).chunk(2, dim=1) + + norm_x = self.norm1(x) + qkv = self.self_attn.qkv(norm_x) + q, k, v = qkv.reshape(qkv.shape[0], qkv.shape[1], 3, self.heads, -1).permute(2, 0, 3, 1, 4) + attn = optimized_attention(q, k, v, self.heads, mask=mask, skip_reshape=True) + + x = x + self.self_attn.proj(attn) * mod1.unsqueeze(1) + x = x + self.mlp(self.norm2(x)) * mod2.unsqueeze(1) + return x + + +class IndividualTokenRefiner(nn.Module): + def __init__( + self, + hidden_size, + heads, + num_blocks, + dtype=None, + device=None, + operations=None + ): + super().__init__() + self.blocks = nn.ModuleList( + [ + TokenRefinerBlock( + hidden_size=hidden_size, + heads=heads, + dtype=dtype, + device=device, + operations=operations + ) + for _ in range(num_blocks) + ] + ) + + def forward(self, x, c, mask): + m = None + if mask is not None: + m = mask.view(mask.shape[0], 1, 1, mask.shape[1]).repeat(1, 1, mask.shape[1], 1) + m = m + m.transpose(2, 3) + + for block in self.blocks: + x = block(x, c, m) + return x + + + +class TokenRefiner(nn.Module): + def __init__( + self, + text_dim, + hidden_size, + heads, + num_blocks, + dtype=None, + device=None, + operations=None + ): + super().__init__() + + self.input_embedder = operations.Linear(text_dim, hidden_size, bias=True, dtype=dtype, device=device) + self.t_embedder = MLPEmbedder(256, hidden_size, dtype=dtype, device=device, operations=operations) + self.c_embedder = MLPEmbedder(text_dim, hidden_size, dtype=dtype, device=device, operations=operations) + self.individual_token_refiner = IndividualTokenRefiner(hidden_size, heads, num_blocks, dtype=dtype, device=device, operations=operations) + + def forward( + self, + x, + timesteps, + mask, + ): + t = self.t_embedder(timestep_embedding(timesteps, 256, time_factor=1.0).to(x.dtype)) + # m = mask.float().unsqueeze(-1) + # c = (x.float() * m).sum(dim=1) / m.sum(dim=1) #TODO: the following works when the x.shape is the same length as the tokens but might break otherwise + c = x.sum(dim=1) / x.shape[1] + + c = t + self.c_embedder(c.to(x.dtype)) + x = self.input_embedder(x) + x = self.individual_token_refiner(x, c, mask) + return x + +class HunyuanVideo(nn.Module): + """ + Transformer model for flow matching on sequences. + """ + + def __init__(self, image_model=None, final_layer=True, dtype=None, device=None, operations=None, **kwargs): + super().__init__() + self.dtype = dtype + params = HunyuanVideoParams(**kwargs) + self.params = params + self.patch_size = params.patch_size + self.in_channels = params.in_channels + self.out_channels = params.out_channels + if params.hidden_size % params.num_heads != 0: + raise ValueError( + f"Hidden size {params.hidden_size} must be divisible by num_heads {params.num_heads}" + ) + pe_dim = params.hidden_size // params.num_heads + if sum(params.axes_dim) != pe_dim: + raise ValueError(f"Got {params.axes_dim} but expected positional dim {pe_dim}") + self.hidden_size = params.hidden_size + self.num_heads = params.num_heads + self.pe_embedder = EmbedND(dim=pe_dim, theta=params.theta, axes_dim=params.axes_dim) + + self.img_in = comfy.ldm.modules.diffusionmodules.mmdit.PatchEmbed(None, self.patch_size, self.in_channels, self.hidden_size, conv3d=True, dtype=dtype, device=device, operations=operations) + self.time_in = MLPEmbedder(in_dim=256, hidden_dim=self.hidden_size, dtype=dtype, device=device, operations=operations) + self.vector_in = MLPEmbedder(params.vec_in_dim, self.hidden_size, dtype=dtype, device=device, operations=operations) + self.guidance_in = ( + MLPEmbedder(in_dim=256, hidden_dim=self.hidden_size, dtype=dtype, device=device, operations=operations) if params.guidance_embed else nn.Identity() + ) + + self.txt_in = TokenRefiner(params.context_in_dim, self.hidden_size, self.num_heads, 2, dtype=dtype, device=device, operations=operations) + + self.double_blocks = nn.ModuleList( + [ + DoubleStreamBlock( + self.hidden_size, + self.num_heads, + mlp_ratio=params.mlp_ratio, + qkv_bias=params.qkv_bias, + flipped_img_txt=True, + dtype=dtype, device=device, operations=operations + ) + for _ in range(params.depth) + ] + ) + + self.single_blocks = nn.ModuleList( + [ + SingleStreamBlock(self.hidden_size, self.num_heads, mlp_ratio=params.mlp_ratio, dtype=dtype, device=device, operations=operations) + for _ in range(params.depth_single_blocks) + ] + ) + + if final_layer: + self.final_layer = LastLayer(self.hidden_size, self.patch_size[-1], self.out_channels, dtype=dtype, device=device, operations=operations) + + def forward_orig( + self, + img: Tensor, + img_ids: Tensor, + txt: Tensor, + txt_ids: Tensor, + txt_mask: Tensor, + timesteps: Tensor, + y: Tensor, + guidance: Tensor = None, + control=None, + transformer_options={}, + ) -> Tensor: + patches_replace = transformer_options.get("patches_replace", {}) + + initial_shape = list(img.shape) + # running on sequences img + img = self.img_in(img) + vec = self.time_in(timestep_embedding(timesteps, 256, time_factor=1.0).to(img.dtype)) + + vec = vec + self.vector_in(y[:, :self.params.vec_in_dim]) + + if self.params.guidance_embed: + if guidance is not None: + vec = vec + self.guidance_in(timestep_embedding(guidance, 256).to(img.dtype)) + + if txt_mask is not None and not torch.is_floating_point(txt_mask): + txt_mask = (txt_mask - 1).to(img.dtype) * torch.finfo(img.dtype).max + + txt = self.txt_in(txt, timesteps, txt_mask) + + ids = torch.cat((img_ids, txt_ids), dim=1) + pe = self.pe_embedder(ids) + + img_len = img.shape[1] + if txt_mask is not None: + attn_mask_len = img_len + txt.shape[1] + attn_mask = torch.zeros((1, 1, attn_mask_len), dtype=img.dtype, device=img.device) + attn_mask[:, 0, img_len:] = txt_mask + else: + attn_mask = None + + blocks_replace = patches_replace.get("dit", {}) + for i, block in enumerate(self.double_blocks): + if ("double_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["img"], out["txt"] = block(img=args["img"], txt=args["txt"], vec=args["vec"], pe=args["pe"], attn_mask=args["attention_mask"]) + return out + + out = blocks_replace[("double_block", i)]({"img": img, "txt": txt, "vec": vec, "pe": pe, "attention_mask": attn_mask}, {"original_block": block_wrap}) + txt = out["txt"] + img = out["img"] + else: + img, txt = block(img=img, txt=txt, vec=vec, pe=pe, attn_mask=attn_mask) + + if control is not None: # Controlnet + control_i = control.get("input") + if i < len(control_i): + add = control_i[i] + if add is not None: + img += add + + img = torch.cat((img, txt), 1) + + for i, block in enumerate(self.single_blocks): + if ("single_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["img"] = block(args["img"], vec=args["vec"], pe=args["pe"], attn_mask=args["attention_mask"]) + return out + + out = blocks_replace[("single_block", i)]({"img": img, "vec": vec, "pe": pe, "attention_mask": attn_mask}, {"original_block": block_wrap}) + img = out["img"] + else: + img = block(img, vec=vec, pe=pe, attn_mask=attn_mask) + + if control is not None: # Controlnet + control_o = control.get("output") + if i < len(control_o): + add = control_o[i] + if add is not None: + img[:, : img_len] += add + + img = img[:, : img_len] + + img = self.final_layer(img, vec) # (N, T, patch_size ** 2 * out_channels) + + shape = initial_shape[-3:] + for i in range(len(shape)): + shape[i] = shape[i] // self.patch_size[i] + img = img.reshape([img.shape[0]] + shape + [self.out_channels] + self.patch_size) + img = img.permute(0, 4, 1, 5, 2, 6, 3, 7) + img = img.reshape(initial_shape) + return img + + def forward(self, x, timestep, context, y, guidance=None, attention_mask=None, control=None, transformer_options={}, **kwargs): + bs, c, t, h, w = x.shape + patch_size = self.patch_size + t_len = ((t + (patch_size[0] // 2)) // patch_size[0]) + h_len = ((h + (patch_size[1] // 2)) // patch_size[1]) + w_len = ((w + (patch_size[2] // 2)) // patch_size[2]) + img_ids = torch.zeros((t_len, h_len, w_len, 3), device=x.device, dtype=x.dtype) + img_ids[:, :, :, 0] = img_ids[:, :, :, 0] + torch.linspace(0, t_len - 1, steps=t_len, device=x.device, dtype=x.dtype).reshape(-1, 1, 1) + img_ids[:, :, :, 1] = img_ids[:, :, :, 1] + torch.linspace(0, h_len - 1, steps=h_len, device=x.device, dtype=x.dtype).reshape(1, -1, 1) + img_ids[:, :, :, 2] = img_ids[:, :, :, 2] + torch.linspace(0, w_len - 1, steps=w_len, device=x.device, dtype=x.dtype).reshape(1, 1, -1) + img_ids = repeat(img_ids, "t h w c -> b (t h w) c", b=bs) + txt_ids = torch.zeros((bs, context.shape[1], 3), device=x.device, dtype=x.dtype) + out = self.forward_orig(x, img_ids, context, txt_ids, attention_mask, timestep, y, guidance, control, transformer_options) + return out diff --git a/comfy/ldm/hydit/attn_layers.py b/comfy/ldm/hydit/attn_layers.py index e2801f714..3ca25a5df 100644 --- a/comfy/ldm/hydit/attn_layers.py +++ b/comfy/ldm/hydit/attn_layers.py @@ -159,7 +159,7 @@ class CrossAttention(nn.Module): q = q.transpose(-2, -3).contiguous() # q -> B, L1, H, C - B, H, L1, C k = k.transpose(-2, -3).contiguous() # k -> B, L2, H, C - B, H, C, L2 - v = v.transpose(-2, -3).contiguous() + v = v.transpose(-2, -3).contiguous() context = optimized_attention(q, k, v, self.num_heads, skip_reshape=True, attn_precision=self.attn_precision) diff --git a/comfy/ldm/hydit/controlnet.py b/comfy/ldm/hydit/controlnet.py index cd71fca31..31a6bff94 100644 --- a/comfy/ldm/hydit/controlnet.py +++ b/comfy/ldm/hydit/controlnet.py @@ -1,24 +1,17 @@ -from typing import Any, Optional import torch import torch.nn as nn -import torch.nn.functional as F -from torch.utils import checkpoint from comfy.ldm.modules.diffusionmodules.mmdit import ( - Mlp, TimestepEmbedder, PatchEmbed, - RMSNorm, ) -from comfy.ldm.modules.diffusionmodules.util import timestep_embedding from .poolers import AttentionPool import comfy.latent_formats from .models import HunYuanDiTBlock, calc_rope -from .posemb_layers import get_2d_rotary_pos_embed, get_fill_resize_and_crop class HunYuanControlNet(nn.Module): @@ -171,9 +164,6 @@ class HunYuanControlNet(nn.Module): ), ) - # Image embedding - num_patches = self.x_embedder.num_patches - # HUnYuanDiT Blocks self.blocks = nn.ModuleList( [ diff --git a/comfy/ldm/hydit/models.py b/comfy/ldm/hydit/models.py index 44e806cba..359f6a965 100644 --- a/comfy/ldm/hydit/models.py +++ b/comfy/ldm/hydit/models.py @@ -1,8 +1,6 @@ -from typing import Any import torch import torch.nn as nn -import torch.nn.functional as F import comfy.ops from comfy.ldm.modules.diffusionmodules.mmdit import Mlp, TimestepEmbedder, PatchEmbed, RMSNorm @@ -250,9 +248,6 @@ class HunYuanDiT(nn.Module): operations.Linear(hidden_size * 4, hidden_size, bias=True, dtype=dtype, device=device), ) - # Image embedding - num_patches = self.x_embedder.num_patches - # HUnYuanDiT Blocks self.blocks = nn.ModuleList([ HunYuanDiTBlock(hidden_size=hidden_size, @@ -287,7 +282,7 @@ class HunYuanDiT(nn.Module): style=None, return_dict=False, control=None, - transformer_options=None, + transformer_options={}, ): """ Forward pass of the encoder. @@ -315,8 +310,7 @@ class HunYuanDiT(nn.Module): return_dict: bool Whether to return a dictionary. """ - #import pdb - #pdb.set_trace() + patches_replace = transformer_options.get("patches_replace", {}) encoder_hidden_states = context text_states = encoder_hidden_states # 2,77,1024 text_states_t5 = encoder_hidden_states_t5 # 2,256,2048 @@ -364,6 +358,8 @@ class HunYuanDiT(nn.Module): # Concatenate all extra vectors c = t + self.extra_embedder(extra_vec) # [B, D] + blocks_replace = patches_replace.get("dit", {}) + controls = None if control: controls = control.get("output", None) @@ -375,9 +371,20 @@ class HunYuanDiT(nn.Module): skip = skips.pop() + controls.pop().to(dtype=x.dtype) else: skip = skips.pop() - x = block(x, c, text_states, freqs_cis_img, skip) # (N, L, D) else: - x = block(x, c, text_states, freqs_cis_img) # (N, L, D) + skip = None + + if ("double_block", layer) in blocks_replace: + def block_wrap(args): + out = {} + out["img"] = block(args["img"], args["vec"], args["txt"], args["pe"], args["skip"]) + return out + + out = blocks_replace[("double_block", layer)]({"img": x, "txt": text_states, "vec": c, "pe": freqs_cis_img, "skip": skip}, {"original_block": block_wrap}) + x = out["img"] + else: + x = block(x, c, text_states, freqs_cis_img, skip) # (N, L, D) + if layer < (self.depth // 2 - 1): skips.append(x) diff --git a/comfy/ldm/hydit/poolers.py b/comfy/ldm/hydit/poolers.py index f5e5b406f..c1b878ed6 100644 --- a/comfy/ldm/hydit/poolers.py +++ b/comfy/ldm/hydit/poolers.py @@ -1,6 +1,5 @@ import torch import torch.nn as nn -import torch.nn.functional as F from comfy.ldm.modules.attention import optimized_attention import comfy.ops diff --git a/comfy/ldm/lightricks/model.py b/comfy/ldm/lightricks/model.py new file mode 100644 index 000000000..2a02acd65 --- /dev/null +++ b/comfy/ldm/lightricks/model.py @@ -0,0 +1,526 @@ +import torch +from torch import nn +import comfy.ldm.modules.attention +from comfy.ldm.genmo.joint_model.layers import RMSNorm +import comfy.ldm.common_dit +from einops import rearrange +import math +from typing import Dict, Optional, Tuple + +from .symmetric_patchifier import SymmetricPatchifier + + +def get_timestep_embedding( + timesteps: torch.Tensor, + embedding_dim: int, + flip_sin_to_cos: bool = False, + downscale_freq_shift: float = 1, + scale: float = 1, + max_period: int = 10000, +): + """ + This matches the implementation in Denoising Diffusion Probabilistic Models: Create sinusoidal timestep embeddings. + + Args + timesteps (torch.Tensor): + a 1-D Tensor of N indices, one per batch element. These may be fractional. + embedding_dim (int): + the dimension of the output. + flip_sin_to_cos (bool): + Whether the embedding order should be `cos, sin` (if True) or `sin, cos` (if False) + downscale_freq_shift (float): + Controls the delta between frequencies between dimensions + scale (float): + Scaling factor applied to the embeddings. + max_period (int): + Controls the maximum frequency of the embeddings + Returns + torch.Tensor: an [N x dim] Tensor of positional embeddings. + """ + assert len(timesteps.shape) == 1, "Timesteps should be a 1d-array" + + half_dim = embedding_dim // 2 + exponent = -math.log(max_period) * torch.arange( + start=0, end=half_dim, dtype=torch.float32, device=timesteps.device + ) + exponent = exponent / (half_dim - downscale_freq_shift) + + emb = torch.exp(exponent) + emb = timesteps[:, None].float() * emb[None, :] + + # scale embeddings + emb = scale * emb + + # concat sine and cosine embeddings + emb = torch.cat([torch.sin(emb), torch.cos(emb)], dim=-1) + + # flip sine and cosine embeddings + if flip_sin_to_cos: + emb = torch.cat([emb[:, half_dim:], emb[:, :half_dim]], dim=-1) + + # zero pad + if embedding_dim % 2 == 1: + emb = torch.nn.functional.pad(emb, (0, 1, 0, 0)) + return emb + + +class TimestepEmbedding(nn.Module): + def __init__( + self, + in_channels: int, + time_embed_dim: int, + act_fn: str = "silu", + out_dim: int = None, + post_act_fn: Optional[str] = None, + cond_proj_dim=None, + sample_proj_bias=True, + dtype=None, device=None, operations=None, + ): + super().__init__() + + self.linear_1 = operations.Linear(in_channels, time_embed_dim, sample_proj_bias, dtype=dtype, device=device) + + if cond_proj_dim is not None: + self.cond_proj = operations.Linear(cond_proj_dim, in_channels, bias=False, dtype=dtype, device=device) + else: + self.cond_proj = None + + self.act = nn.SiLU() + + if out_dim is not None: + time_embed_dim_out = out_dim + else: + time_embed_dim_out = time_embed_dim + self.linear_2 = operations.Linear(time_embed_dim, time_embed_dim_out, sample_proj_bias, dtype=dtype, device=device) + + if post_act_fn is None: + self.post_act = None + # else: + # self.post_act = get_activation(post_act_fn) + + def forward(self, sample, condition=None): + if condition is not None: + sample = sample + self.cond_proj(condition) + sample = self.linear_1(sample) + + if self.act is not None: + sample = self.act(sample) + + sample = self.linear_2(sample) + + if self.post_act is not None: + sample = self.post_act(sample) + return sample + + +class Timesteps(nn.Module): + def __init__(self, num_channels: int, flip_sin_to_cos: bool, downscale_freq_shift: float, scale: int = 1): + super().__init__() + self.num_channels = num_channels + self.flip_sin_to_cos = flip_sin_to_cos + self.downscale_freq_shift = downscale_freq_shift + self.scale = scale + + def forward(self, timesteps): + t_emb = get_timestep_embedding( + timesteps, + self.num_channels, + flip_sin_to_cos=self.flip_sin_to_cos, + downscale_freq_shift=self.downscale_freq_shift, + scale=self.scale, + ) + return t_emb + + +class PixArtAlphaCombinedTimestepSizeEmbeddings(nn.Module): + """ + For PixArt-Alpha. + + Reference: + https://github.com/PixArt-alpha/PixArt-alpha/blob/0f55e922376d8b797edd44d25d0e7464b260dcab/diffusion/model/nets/PixArtMS.py#L164C9-L168C29 + """ + + def __init__(self, embedding_dim, size_emb_dim, use_additional_conditions: bool = False, dtype=None, device=None, operations=None): + super().__init__() + + self.outdim = size_emb_dim + self.time_proj = Timesteps(num_channels=256, flip_sin_to_cos=True, downscale_freq_shift=0) + self.timestep_embedder = TimestepEmbedding(in_channels=256, time_embed_dim=embedding_dim, dtype=dtype, device=device, operations=operations) + + def forward(self, timestep, resolution, aspect_ratio, batch_size, hidden_dtype): + timesteps_proj = self.time_proj(timestep) + timesteps_emb = self.timestep_embedder(timesteps_proj.to(dtype=hidden_dtype)) # (N, D) + return timesteps_emb + + +class AdaLayerNormSingle(nn.Module): + r""" + Norm layer adaptive layer norm single (adaLN-single). + + As proposed in PixArt-Alpha (see: https://arxiv.org/abs/2310.00426; Section 2.3). + + Parameters: + embedding_dim (`int`): The size of each embedding vector. + use_additional_conditions (`bool`): To use additional conditions for normalization or not. + """ + + def __init__(self, embedding_dim: int, use_additional_conditions: bool = False, dtype=None, device=None, operations=None): + super().__init__() + + self.emb = PixArtAlphaCombinedTimestepSizeEmbeddings( + embedding_dim, size_emb_dim=embedding_dim // 3, use_additional_conditions=use_additional_conditions, dtype=dtype, device=device, operations=operations + ) + + self.silu = nn.SiLU() + self.linear = operations.Linear(embedding_dim, 6 * embedding_dim, bias=True, dtype=dtype, device=device) + + def forward( + self, + timestep: torch.Tensor, + added_cond_kwargs: Optional[Dict[str, torch.Tensor]] = None, + batch_size: Optional[int] = None, + hidden_dtype: Optional[torch.dtype] = None, + ) -> Tuple[torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor, torch.Tensor]: + # No modulation happening here. + added_cond_kwargs = added_cond_kwargs or {"resolution": None, "aspect_ratio": None} + embedded_timestep = self.emb(timestep, **added_cond_kwargs, batch_size=batch_size, hidden_dtype=hidden_dtype) + return self.linear(self.silu(embedded_timestep)), embedded_timestep + +class PixArtAlphaTextProjection(nn.Module): + """ + Projects caption embeddings. Also handles dropout for classifier-free guidance. + + Adapted from https://github.com/PixArt-alpha/PixArt-alpha/blob/master/diffusion/model/nets/PixArt_blocks.py + """ + + def __init__(self, in_features, hidden_size, out_features=None, act_fn="gelu_tanh", dtype=None, device=None, operations=None): + super().__init__() + if out_features is None: + out_features = hidden_size + self.linear_1 = operations.Linear(in_features=in_features, out_features=hidden_size, bias=True, dtype=dtype, device=device) + if act_fn == "gelu_tanh": + self.act_1 = nn.GELU(approximate="tanh") + elif act_fn == "silu": + self.act_1 = nn.SiLU() + else: + raise ValueError(f"Unknown activation function: {act_fn}") + self.linear_2 = operations.Linear(in_features=hidden_size, out_features=out_features, bias=True, dtype=dtype, device=device) + + def forward(self, caption): + hidden_states = self.linear_1(caption) + hidden_states = self.act_1(hidden_states) + hidden_states = self.linear_2(hidden_states) + return hidden_states + + +class GELU_approx(nn.Module): + def __init__(self, dim_in, dim_out, dtype=None, device=None, operations=None): + super().__init__() + self.proj = operations.Linear(dim_in, dim_out, dtype=dtype, device=device) + + def forward(self, x): + return torch.nn.functional.gelu(self.proj(x), approximate="tanh") + + +class FeedForward(nn.Module): + def __init__(self, dim, dim_out, mult=4, glu=False, dropout=0., dtype=None, device=None, operations=None): + super().__init__() + inner_dim = int(dim * mult) + project_in = GELU_approx(dim, inner_dim, dtype=dtype, device=device, operations=operations) + + self.net = nn.Sequential( + project_in, + nn.Dropout(dropout), + operations.Linear(inner_dim, dim_out, dtype=dtype, device=device) + ) + + def forward(self, x): + return self.net(x) + + +def apply_rotary_emb(input_tensor, freqs_cis): #TODO: remove duplicate funcs and pick the best/fastest one + cos_freqs = freqs_cis[0] + sin_freqs = freqs_cis[1] + + t_dup = rearrange(input_tensor, "... (d r) -> ... d r", r=2) + t1, t2 = t_dup.unbind(dim=-1) + t_dup = torch.stack((-t2, t1), dim=-1) + input_tensor_rot = rearrange(t_dup, "... d r -> ... (d r)") + + out = input_tensor * cos_freqs + input_tensor_rot * sin_freqs + + return out + + +class CrossAttention(nn.Module): + def __init__(self, query_dim, context_dim=None, heads=8, dim_head=64, dropout=0., attn_precision=None, dtype=None, device=None, operations=None): + super().__init__() + inner_dim = dim_head * heads + context_dim = query_dim if context_dim is None else context_dim + self.attn_precision = attn_precision + + self.heads = heads + self.dim_head = dim_head + + self.q_norm = RMSNorm(inner_dim, dtype=dtype, device=device) + self.k_norm = RMSNorm(inner_dim, dtype=dtype, device=device) + + self.to_q = operations.Linear(query_dim, inner_dim, bias=True, dtype=dtype, device=device) + self.to_k = operations.Linear(context_dim, inner_dim, bias=True, dtype=dtype, device=device) + self.to_v = operations.Linear(context_dim, inner_dim, bias=True, dtype=dtype, device=device) + + self.to_out = nn.Sequential(operations.Linear(inner_dim, query_dim, dtype=dtype, device=device), nn.Dropout(dropout)) + + def forward(self, x, context=None, mask=None, pe=None): + q = self.to_q(x) + context = x if context is None else context + k = self.to_k(context) + v = self.to_v(context) + + q = self.q_norm(q) + k = self.k_norm(k) + + if pe is not None: + q = apply_rotary_emb(q, pe) + k = apply_rotary_emb(k, pe) + + if mask is None: + out = comfy.ldm.modules.attention.optimized_attention(q, k, v, self.heads, attn_precision=self.attn_precision) + else: + out = comfy.ldm.modules.attention.optimized_attention_masked(q, k, v, self.heads, mask, attn_precision=self.attn_precision) + return self.to_out(out) + + +class BasicTransformerBlock(nn.Module): + def __init__(self, dim, n_heads, d_head, context_dim=None, attn_precision=None, dtype=None, device=None, operations=None): + super().__init__() + + self.attn_precision = attn_precision + self.attn1 = CrossAttention(query_dim=dim, heads=n_heads, dim_head=d_head, context_dim=None, attn_precision=self.attn_precision, dtype=dtype, device=device, operations=operations) + self.ff = FeedForward(dim, dim_out=dim, glu=True, dtype=dtype, device=device, operations=operations) + + self.attn2 = CrossAttention(query_dim=dim, context_dim=context_dim, heads=n_heads, dim_head=d_head, attn_precision=self.attn_precision, dtype=dtype, device=device, operations=operations) + + self.scale_shift_table = nn.Parameter(torch.empty(6, dim, device=device, dtype=dtype)) + + def forward(self, x, context=None, attention_mask=None, timestep=None, pe=None): + shift_msa, scale_msa, gate_msa, shift_mlp, scale_mlp, gate_mlp = (self.scale_shift_table[None, None].to(device=x.device, dtype=x.dtype) + timestep.reshape(x.shape[0], timestep.shape[1], self.scale_shift_table.shape[0], -1)).unbind(dim=2) + + x += self.attn1(comfy.ldm.common_dit.rms_norm(x) * (1 + scale_msa) + shift_msa, pe=pe) * gate_msa + + x += self.attn2(x, context=context, mask=attention_mask) + + y = comfy.ldm.common_dit.rms_norm(x) * (1 + scale_mlp) + shift_mlp + x += self.ff(y) * gate_mlp + + return x + +def get_fractional_positions(indices_grid, max_pos): + fractional_positions = torch.stack( + [ + indices_grid[:, i] / max_pos[i] + for i in range(3) + ], + dim=-1, + ) + return fractional_positions + + +def precompute_freqs_cis(indices_grid, dim, out_dtype, theta=10000.0, max_pos=[20, 2048, 2048]): + dtype = torch.float32 #self.dtype + + fractional_positions = get_fractional_positions(indices_grid, max_pos) + + start = 1 + end = theta + device = fractional_positions.device + + indices = theta ** ( + torch.linspace( + math.log(start, theta), + math.log(end, theta), + dim // 6, + device=device, + dtype=dtype, + ) + ) + indices = indices.to(dtype=dtype) + + indices = indices * math.pi / 2 + + freqs = ( + (indices * (fractional_positions.unsqueeze(-1) * 2 - 1)) + .transpose(-1, -2) + .flatten(2) + ) + + cos_freq = freqs.cos().repeat_interleave(2, dim=-1) + sin_freq = freqs.sin().repeat_interleave(2, dim=-1) + if dim % 6 != 0: + cos_padding = torch.ones_like(cos_freq[:, :, : dim % 6]) + sin_padding = torch.zeros_like(cos_freq[:, :, : dim % 6]) + cos_freq = torch.cat([cos_padding, cos_freq], dim=-1) + sin_freq = torch.cat([sin_padding, sin_freq], dim=-1) + return cos_freq.to(out_dtype), sin_freq.to(out_dtype) + + +class LTXVModel(torch.nn.Module): + def __init__(self, + in_channels=128, + cross_attention_dim=2048, + attention_head_dim=64, + num_attention_heads=32, + + caption_channels=4096, + num_layers=28, + + + positional_embedding_theta=10000.0, + positional_embedding_max_pos=[20, 2048, 2048], + dtype=None, device=None, operations=None, **kwargs): + super().__init__() + self.generator = None + self.dtype = dtype + self.out_channels = in_channels + self.inner_dim = num_attention_heads * attention_head_dim + + self.patchify_proj = operations.Linear(in_channels, self.inner_dim, bias=True, dtype=dtype, device=device) + + self.adaln_single = AdaLayerNormSingle( + self.inner_dim, use_additional_conditions=False, dtype=dtype, device=device, operations=operations + ) + + # self.adaln_single.linear = operations.Linear(self.inner_dim, 4 * self.inner_dim, bias=True, dtype=dtype, device=device) + + self.caption_projection = PixArtAlphaTextProjection( + in_features=caption_channels, hidden_size=self.inner_dim, dtype=dtype, device=device, operations=operations + ) + + self.transformer_blocks = nn.ModuleList( + [ + BasicTransformerBlock( + self.inner_dim, + num_attention_heads, + attention_head_dim, + context_dim=cross_attention_dim, + # attn_precision=attn_precision, + dtype=dtype, device=device, operations=operations + ) + for d in range(num_layers) + ] + ) + + self.scale_shift_table = nn.Parameter(torch.empty(2, self.inner_dim, dtype=dtype, device=device)) + self.norm_out = operations.LayerNorm(self.inner_dim, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.proj_out = operations.Linear(self.inner_dim, self.out_channels, dtype=dtype, device=device) + + self.patchifier = SymmetricPatchifier(1) + + def forward(self, x, timestep, context, attention_mask, frame_rate=25, guiding_latent=None, guiding_latent_noise_scale=0, transformer_options={}, **kwargs): + patches_replace = transformer_options.get("patches_replace", {}) + + indices_grid = self.patchifier.get_grid( + orig_num_frames=x.shape[2], + orig_height=x.shape[3], + orig_width=x.shape[4], + batch_size=x.shape[0], + scale_grid=((1 / frame_rate) * 8, 32, 32), + device=x.device, + ) + + if guiding_latent is not None: + ts = torch.ones([x.shape[0], 1, x.shape[2], x.shape[3], x.shape[4]], device=x.device, dtype=x.dtype) + input_ts = timestep.view([timestep.shape[0]] + [1] * (x.ndim - 1)) + ts *= input_ts + ts[:, :, 0] = guiding_latent_noise_scale * (input_ts[:, :, 0] ** 2) + timestep = self.patchifier.patchify(ts) + input_x = x.clone() + x[:, :, 0] = guiding_latent[:, :, 0] + if guiding_latent_noise_scale > 0: + if self.generator is None: + self.generator = torch.Generator(device=x.device).manual_seed(42) + elif self.generator.device != x.device: + self.generator = torch.Generator(device=x.device).set_state(self.generator.get_state()) + + noise_shape = [guiding_latent.shape[0], guiding_latent.shape[1], 1, guiding_latent.shape[3], guiding_latent.shape[4]] + scale = guiding_latent_noise_scale * (input_ts ** 2) + guiding_noise = scale * torch.randn(size=noise_shape, device=x.device, generator=self.generator) + + x[:, :, 0] = guiding_noise[:, :, 0] + x[:, :, 0] * (1.0 - scale[:, :, 0]) + + + orig_shape = list(x.shape) + + x = self.patchifier.patchify(x) + + x = self.patchify_proj(x) + timestep = timestep * 1000.0 + + if attention_mask is not None and not torch.is_floating_point(attention_mask): + attention_mask = (attention_mask - 1).to(x.dtype).reshape((attention_mask.shape[0], 1, -1, attention_mask.shape[-1])) * torch.finfo(x.dtype).max + + pe = precompute_freqs_cis(indices_grid, dim=self.inner_dim, out_dtype=x.dtype) + + batch_size = x.shape[0] + timestep, embedded_timestep = self.adaln_single( + timestep.flatten(), + {"resolution": None, "aspect_ratio": None}, + batch_size=batch_size, + hidden_dtype=x.dtype, + ) + # Second dimension is 1 or number of tokens (if timestep_per_token) + timestep = timestep.view(batch_size, -1, timestep.shape[-1]) + embedded_timestep = embedded_timestep.view( + batch_size, -1, embedded_timestep.shape[-1] + ) + + # 2. Blocks + if self.caption_projection is not None: + batch_size = x.shape[0] + context = self.caption_projection(context) + context = context.view( + batch_size, -1, x.shape[-1] + ) + + blocks_replace = patches_replace.get("dit", {}) + for i, block in enumerate(self.transformer_blocks): + if ("double_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["img"] = block(args["img"], context=args["txt"], attention_mask=args["attention_mask"], timestep=args["vec"], pe=args["pe"]) + return out + + out = blocks_replace[("double_block", i)]({"img": x, "txt": context, "attention_mask": attention_mask, "vec": timestep, "pe": pe}, {"original_block": block_wrap}) + x = out["img"] + else: + x = block( + x, + context=context, + attention_mask=attention_mask, + timestep=timestep, + pe=pe + ) + + # 3. Output + scale_shift_values = ( + self.scale_shift_table[None, None].to(device=x.device, dtype=x.dtype) + embedded_timestep[:, :, None] + ) + shift, scale = scale_shift_values[:, :, 0], scale_shift_values[:, :, 1] + x = self.norm_out(x) + # Modulation + x = x * (1 + scale) + shift + x = self.proj_out(x) + + x = self.patchifier.unpatchify( + latents=x, + output_height=orig_shape[3], + output_width=orig_shape[4], + output_num_frames=orig_shape[2], + out_channels=orig_shape[1] // math.prod(self.patchifier.patch_size), + ) + + if guiding_latent is not None: + x[:, :, 0] = (input_x[:, :, 0] - guiding_latent[:, :, 0]) / input_ts[:, :, 0] + + # print("res", x) + return x diff --git a/comfy/ldm/lightricks/symmetric_patchifier.py b/comfy/ldm/lightricks/symmetric_patchifier.py new file mode 100644 index 000000000..c58dfb20b --- /dev/null +++ b/comfy/ldm/lightricks/symmetric_patchifier.py @@ -0,0 +1,105 @@ +from abc import ABC, abstractmethod +from typing import Tuple + +import torch +from einops import rearrange +from torch import Tensor + + +def append_dims(x: torch.Tensor, target_dims: int) -> torch.Tensor: + """Appends dimensions to the end of a tensor until it has target_dims dimensions.""" + dims_to_append = target_dims - x.ndim + if dims_to_append < 0: + raise ValueError( + f"input has {x.ndim} dims but target_dims is {target_dims}, which is less" + ) + elif dims_to_append == 0: + return x + return x[(...,) + (None,) * dims_to_append] + + +class Patchifier(ABC): + def __init__(self, patch_size: int): + super().__init__() + self._patch_size = (1, patch_size, patch_size) + + @abstractmethod + def patchify( + self, latents: Tensor, frame_rates: Tensor, scale_grid: bool + ) -> Tuple[Tensor, Tensor]: + pass + + @abstractmethod + def unpatchify( + self, + latents: Tensor, + output_height: int, + output_width: int, + output_num_frames: int, + out_channels: int, + ) -> Tuple[Tensor, Tensor]: + pass + + @property + def patch_size(self): + return self._patch_size + + def get_grid( + self, orig_num_frames, orig_height, orig_width, batch_size, scale_grid, device + ): + f = orig_num_frames // self._patch_size[0] + h = orig_height // self._patch_size[1] + w = orig_width // self._patch_size[2] + grid_h = torch.arange(h, dtype=torch.float32, device=device) + grid_w = torch.arange(w, dtype=torch.float32, device=device) + grid_f = torch.arange(f, dtype=torch.float32, device=device) + grid = torch.meshgrid(grid_f, grid_h, grid_w, indexing='ij') + grid = torch.stack(grid, dim=0) + grid = grid.unsqueeze(0).repeat(batch_size, 1, 1, 1, 1) + + if scale_grid is not None: + for i in range(3): + if isinstance(scale_grid[i], Tensor): + scale = append_dims(scale_grid[i], grid.ndim - 1) + else: + scale = scale_grid[i] + grid[:, i, ...] = grid[:, i, ...] * scale * self._patch_size[i] + + grid = rearrange(grid, "b c f h w -> b c (f h w)", b=batch_size) + return grid + + +class SymmetricPatchifier(Patchifier): + def patchify( + self, + latents: Tensor, + ) -> Tuple[Tensor, Tensor]: + latents = rearrange( + latents, + "b c (f p1) (h p2) (w p3) -> b (f h w) (c p1 p2 p3)", + p1=self._patch_size[0], + p2=self._patch_size[1], + p3=self._patch_size[2], + ) + return latents + + def unpatchify( + self, + latents: Tensor, + output_height: int, + output_width: int, + output_num_frames: int, + out_channels: int, + ) -> Tuple[Tensor, Tensor]: + output_height = output_height // self._patch_size[1] + output_width = output_width // self._patch_size[2] + latents = rearrange( + latents, + "b (f h w) (c p q) -> b c f (h p) (w q) ", + f=output_num_frames, + h=output_height, + w=output_width, + p=self._patch_size[1], + q=self._patch_size[2], + ) + return latents diff --git a/comfy/ldm/lightricks/vae/causal_conv3d.py b/comfy/ldm/lightricks/vae/causal_conv3d.py new file mode 100644 index 000000000..c572e7e86 --- /dev/null +++ b/comfy/ldm/lightricks/vae/causal_conv3d.py @@ -0,0 +1,64 @@ +from typing import Tuple, Union + +import torch +import torch.nn as nn +import comfy.ops +ops = comfy.ops.disable_weight_init + + +class CausalConv3d(nn.Module): + def __init__( + self, + in_channels, + out_channels, + kernel_size: int = 3, + stride: Union[int, Tuple[int]] = 1, + dilation: int = 1, + groups: int = 1, + **kwargs, + ): + super().__init__() + + self.in_channels = in_channels + self.out_channels = out_channels + + kernel_size = (kernel_size, kernel_size, kernel_size) + self.time_kernel_size = kernel_size[0] + + dilation = (dilation, 1, 1) + + height_pad = kernel_size[1] // 2 + width_pad = kernel_size[2] // 2 + padding = (0, height_pad, width_pad) + + self.conv = ops.Conv3d( + in_channels, + out_channels, + kernel_size, + stride=stride, + dilation=dilation, + padding=padding, + padding_mode="zeros", + groups=groups, + ) + + def forward(self, x, causal: bool = True): + if causal: + first_frame_pad = x[:, :, :1, :, :].repeat( + (1, 1, self.time_kernel_size - 1, 1, 1) + ) + x = torch.concatenate((first_frame_pad, x), dim=2) + else: + first_frame_pad = x[:, :, :1, :, :].repeat( + (1, 1, (self.time_kernel_size - 1) // 2, 1, 1) + ) + last_frame_pad = x[:, :, -1:, :, :].repeat( + (1, 1, (self.time_kernel_size - 1) // 2, 1, 1) + ) + x = torch.concatenate((first_frame_pad, x, last_frame_pad), dim=2) + x = self.conv(x) + return x + + @property + def weight(self): + return self.conv.weight diff --git a/comfy/ldm/lightricks/vae/causal_video_autoencoder.py b/comfy/ldm/lightricks/vae/causal_video_autoencoder.py new file mode 100644 index 000000000..e0344deec --- /dev/null +++ b/comfy/ldm/lightricks/vae/causal_video_autoencoder.py @@ -0,0 +1,907 @@ +import torch +from torch import nn +from functools import partial +import math +from einops import rearrange +from typing import Optional, Tuple, Union +from .conv_nd_factory import make_conv_nd, make_linear_nd +from .pixel_norm import PixelNorm +from ..model import PixArtAlphaCombinedTimestepSizeEmbeddings +import comfy.ops +ops = comfy.ops.disable_weight_init + +class Encoder(nn.Module): + r""" + The `Encoder` layer of a variational autoencoder that encodes its input into a latent representation. + + Args: + dims (`int` or `Tuple[int, int]`, *optional*, defaults to 3): + The number of dimensions to use in convolutions. + in_channels (`int`, *optional*, defaults to 3): + The number of input channels. + out_channels (`int`, *optional*, defaults to 3): + The number of output channels. + blocks (`List[Tuple[str, int]]`, *optional*, defaults to `[("res_x", 1)]`): + The blocks to use. Each block is a tuple of the block name and the number of layers. + base_channels (`int`, *optional*, defaults to 128): + The number of output channels for the first convolutional layer. + norm_num_groups (`int`, *optional*, defaults to 32): + The number of groups for normalization. + patch_size (`int`, *optional*, defaults to 1): + The patch size to use. Should be a power of 2. + norm_layer (`str`, *optional*, defaults to `group_norm`): + The normalization layer to use. Can be either `group_norm` or `pixel_norm`. + latent_log_var (`str`, *optional*, defaults to `per_channel`): + The number of channels for the log variance. Can be either `per_channel`, `uniform`, or `none`. + """ + + def __init__( + self, + dims: Union[int, Tuple[int, int]] = 3, + in_channels: int = 3, + out_channels: int = 3, + blocks=[("res_x", 1)], + base_channels: int = 128, + norm_num_groups: int = 32, + patch_size: Union[int, Tuple[int]] = 1, + norm_layer: str = "group_norm", # group_norm, pixel_norm + latent_log_var: str = "per_channel", + ): + super().__init__() + self.patch_size = patch_size + self.norm_layer = norm_layer + self.latent_channels = out_channels + self.latent_log_var = latent_log_var + self.blocks_desc = blocks + + in_channels = in_channels * patch_size**2 + output_channel = base_channels + + self.conv_in = make_conv_nd( + dims=dims, + in_channels=in_channels, + out_channels=output_channel, + kernel_size=3, + stride=1, + padding=1, + causal=True, + ) + + self.down_blocks = nn.ModuleList([]) + + for block_name, block_params in blocks: + input_channel = output_channel + if isinstance(block_params, int): + block_params = {"num_layers": block_params} + + if block_name == "res_x": + block = UNetMidBlock3D( + dims=dims, + in_channels=input_channel, + num_layers=block_params["num_layers"], + resnet_eps=1e-6, + resnet_groups=norm_num_groups, + norm_layer=norm_layer, + ) + elif block_name == "res_x_y": + output_channel = block_params.get("multiplier", 2) * output_channel + block = ResnetBlock3D( + dims=dims, + in_channels=input_channel, + out_channels=output_channel, + eps=1e-6, + groups=norm_num_groups, + norm_layer=norm_layer, + ) + elif block_name == "compress_time": + block = make_conv_nd( + dims=dims, + in_channels=input_channel, + out_channels=output_channel, + kernel_size=3, + stride=(2, 1, 1), + causal=True, + ) + elif block_name == "compress_space": + block = make_conv_nd( + dims=dims, + in_channels=input_channel, + out_channels=output_channel, + kernel_size=3, + stride=(1, 2, 2), + causal=True, + ) + elif block_name == "compress_all": + block = make_conv_nd( + dims=dims, + in_channels=input_channel, + out_channels=output_channel, + kernel_size=3, + stride=(2, 2, 2), + causal=True, + ) + elif block_name == "compress_all_x_y": + output_channel = block_params.get("multiplier", 2) * output_channel + block = make_conv_nd( + dims=dims, + in_channels=input_channel, + out_channels=output_channel, + kernel_size=3, + stride=(2, 2, 2), + causal=True, + ) + else: + raise ValueError(f"unknown block: {block_name}") + + self.down_blocks.append(block) + + # out + if norm_layer == "group_norm": + self.conv_norm_out = nn.GroupNorm( + num_channels=output_channel, num_groups=norm_num_groups, eps=1e-6 + ) + elif norm_layer == "pixel_norm": + self.conv_norm_out = PixelNorm() + elif norm_layer == "layer_norm": + self.conv_norm_out = LayerNorm(output_channel, eps=1e-6) + + self.conv_act = nn.SiLU() + + conv_out_channels = out_channels + if latent_log_var == "per_channel": + conv_out_channels *= 2 + elif latent_log_var == "uniform": + conv_out_channels += 1 + elif latent_log_var != "none": + raise ValueError(f"Invalid latent_log_var: {latent_log_var}") + self.conv_out = make_conv_nd( + dims, output_channel, conv_out_channels, 3, padding=1, causal=True + ) + + self.gradient_checkpointing = False + + def forward(self, sample: torch.FloatTensor) -> torch.FloatTensor: + r"""The forward method of the `Encoder` class.""" + + sample = patchify(sample, patch_size_hw=self.patch_size, patch_size_t=1) + sample = self.conv_in(sample) + + checkpoint_fn = ( + partial(torch.utils.checkpoint.checkpoint, use_reentrant=False) + if self.gradient_checkpointing and self.training + else lambda x: x + ) + + for down_block in self.down_blocks: + sample = checkpoint_fn(down_block)(sample) + + sample = self.conv_norm_out(sample) + sample = self.conv_act(sample) + sample = self.conv_out(sample) + + if self.latent_log_var == "uniform": + last_channel = sample[:, -1:, ...] + num_dims = sample.dim() + + if num_dims == 4: + # For shape (B, C, H, W) + repeated_last_channel = last_channel.repeat( + 1, sample.shape[1] - 2, 1, 1 + ) + sample = torch.cat([sample, repeated_last_channel], dim=1) + elif num_dims == 5: + # For shape (B, C, F, H, W) + repeated_last_channel = last_channel.repeat( + 1, sample.shape[1] - 2, 1, 1, 1 + ) + sample = torch.cat([sample, repeated_last_channel], dim=1) + else: + raise ValueError(f"Invalid input shape: {sample.shape}") + + return sample + + +class Decoder(nn.Module): + r""" + The `Decoder` layer of a variational autoencoder that decodes its latent representation into an output sample. + + Args: + dims (`int` or `Tuple[int, int]`, *optional*, defaults to 3): + The number of dimensions to use in convolutions. + in_channels (`int`, *optional*, defaults to 3): + The number of input channels. + out_channels (`int`, *optional*, defaults to 3): + The number of output channels. + blocks (`List[Tuple[str, int]]`, *optional*, defaults to `[("res_x", 1)]`): + The blocks to use. Each block is a tuple of the block name and the number of layers. + base_channels (`int`, *optional*, defaults to 128): + The number of output channels for the first convolutional layer. + norm_num_groups (`int`, *optional*, defaults to 32): + The number of groups for normalization. + patch_size (`int`, *optional*, defaults to 1): + The patch size to use. Should be a power of 2. + norm_layer (`str`, *optional*, defaults to `group_norm`): + The normalization layer to use. Can be either `group_norm` or `pixel_norm`. + causal (`bool`, *optional*, defaults to `True`): + Whether to use causal convolutions or not. + """ + + def __init__( + self, + dims, + in_channels: int = 3, + out_channels: int = 3, + blocks=[("res_x", 1)], + base_channels: int = 128, + layers_per_block: int = 2, + norm_num_groups: int = 32, + patch_size: int = 1, + norm_layer: str = "group_norm", + causal: bool = True, + timestep_conditioning: bool = False, + ): + super().__init__() + self.patch_size = patch_size + self.layers_per_block = layers_per_block + out_channels = out_channels * patch_size**2 + self.causal = causal + self.blocks_desc = blocks + + # Compute output channel to be product of all channel-multiplier blocks + output_channel = base_channels + for block_name, block_params in list(reversed(blocks)): + block_params = block_params if isinstance(block_params, dict) else {} + if block_name == "res_x_y": + output_channel = output_channel * block_params.get("multiplier", 2) + if block_name == "compress_all": + output_channel = output_channel * block_params.get("multiplier", 1) + + self.conv_in = make_conv_nd( + dims, + in_channels, + output_channel, + kernel_size=3, + stride=1, + padding=1, + causal=True, + ) + + self.up_blocks = nn.ModuleList([]) + + for block_name, block_params in list(reversed(blocks)): + input_channel = output_channel + if isinstance(block_params, int): + block_params = {"num_layers": block_params} + + if block_name == "res_x": + block = UNetMidBlock3D( + dims=dims, + in_channels=input_channel, + num_layers=block_params["num_layers"], + resnet_eps=1e-6, + resnet_groups=norm_num_groups, + norm_layer=norm_layer, + inject_noise=block_params.get("inject_noise", False), + timestep_conditioning=timestep_conditioning, + ) + elif block_name == "attn_res_x": + block = UNetMidBlock3D( + dims=dims, + in_channels=input_channel, + num_layers=block_params["num_layers"], + resnet_groups=norm_num_groups, + norm_layer=norm_layer, + inject_noise=block_params.get("inject_noise", False), + timestep_conditioning=timestep_conditioning, + attention_head_dim=block_params["attention_head_dim"], + ) + elif block_name == "res_x_y": + output_channel = output_channel // block_params.get("multiplier", 2) + block = ResnetBlock3D( + dims=dims, + in_channels=input_channel, + out_channels=output_channel, + eps=1e-6, + groups=norm_num_groups, + norm_layer=norm_layer, + inject_noise=block_params.get("inject_noise", False), + timestep_conditioning=False, + ) + elif block_name == "compress_time": + block = DepthToSpaceUpsample( + dims=dims, in_channels=input_channel, stride=(2, 1, 1) + ) + elif block_name == "compress_space": + block = DepthToSpaceUpsample( + dims=dims, in_channels=input_channel, stride=(1, 2, 2) + ) + elif block_name == "compress_all": + output_channel = output_channel // block_params.get("multiplier", 1) + block = DepthToSpaceUpsample( + dims=dims, + in_channels=input_channel, + stride=(2, 2, 2), + residual=block_params.get("residual", False), + out_channels_reduction_factor=block_params.get("multiplier", 1), + ) + else: + raise ValueError(f"unknown layer: {block_name}") + + self.up_blocks.append(block) + + if norm_layer == "group_norm": + self.conv_norm_out = nn.GroupNorm( + num_channels=output_channel, num_groups=norm_num_groups, eps=1e-6 + ) + elif norm_layer == "pixel_norm": + self.conv_norm_out = PixelNorm() + elif norm_layer == "layer_norm": + self.conv_norm_out = LayerNorm(output_channel, eps=1e-6) + + self.conv_act = nn.SiLU() + self.conv_out = make_conv_nd( + dims, output_channel, out_channels, 3, padding=1, causal=True + ) + + self.gradient_checkpointing = False + + self.timestep_conditioning = timestep_conditioning + + if timestep_conditioning: + self.timestep_scale_multiplier = nn.Parameter( + torch.tensor(1000.0, dtype=torch.float32) + ) + self.last_time_embedder = PixArtAlphaCombinedTimestepSizeEmbeddings( + output_channel * 2, 0, operations=ops, + ) + self.last_scale_shift_table = nn.Parameter(torch.empty(2, output_channel)) + + # def forward(self, sample: torch.FloatTensor, target_shape) -> torch.FloatTensor: + def forward( + self, + sample: torch.FloatTensor, + timestep: Optional[torch.Tensor] = None, + ) -> torch.FloatTensor: + r"""The forward method of the `Decoder` class.""" + batch_size = sample.shape[0] + + sample = self.conv_in(sample, causal=self.causal) + + checkpoint_fn = ( + partial(torch.utils.checkpoint.checkpoint, use_reentrant=False) + if self.gradient_checkpointing and self.training + else lambda x: x + ) + + scaled_timestep = None + if self.timestep_conditioning: + assert ( + timestep is not None + ), "should pass timestep with timestep_conditioning=True" + scaled_timestep = timestep * self.timestep_scale_multiplier.to(dtype=sample.dtype, device=sample.device) + + for up_block in self.up_blocks: + if self.timestep_conditioning and isinstance(up_block, UNetMidBlock3D): + sample = checkpoint_fn(up_block)( + sample, causal=self.causal, timestep=scaled_timestep + ) + else: + sample = checkpoint_fn(up_block)(sample, causal=self.causal) + + sample = self.conv_norm_out(sample) + + if self.timestep_conditioning: + embedded_timestep = self.last_time_embedder( + timestep=scaled_timestep.flatten(), + resolution=None, + aspect_ratio=None, + batch_size=sample.shape[0], + hidden_dtype=sample.dtype, + ) + embedded_timestep = embedded_timestep.view( + batch_size, embedded_timestep.shape[-1], 1, 1, 1 + ) + ada_values = self.last_scale_shift_table[ + None, ..., None, None, None + ].to(device=sample.device, dtype=sample.dtype) + embedded_timestep.reshape( + batch_size, + 2, + -1, + embedded_timestep.shape[-3], + embedded_timestep.shape[-2], + embedded_timestep.shape[-1], + ) + shift, scale = ada_values.unbind(dim=1) + sample = sample * (1 + scale) + shift + + sample = self.conv_act(sample) + sample = self.conv_out(sample, causal=self.causal) + + sample = unpatchify(sample, patch_size_hw=self.patch_size, patch_size_t=1) + + return sample + + +class UNetMidBlock3D(nn.Module): + """ + A 3D UNet mid-block [`UNetMidBlock3D`] with multiple residual blocks. + + Args: + in_channels (`int`): The number of input channels. + dropout (`float`, *optional*, defaults to 0.0): The dropout rate. + num_layers (`int`, *optional*, defaults to 1): The number of residual blocks. + resnet_eps (`float`, *optional*, 1e-6 ): The epsilon value for the resnet blocks. + resnet_groups (`int`, *optional*, defaults to 32): + The number of groups to use in the group normalization layers of the resnet blocks. + + Returns: + `torch.FloatTensor`: The output of the last residual block, which is a tensor of shape `(batch_size, + in_channels, height, width)`. + + """ + + def __init__( + self, + dims: Union[int, Tuple[int, int]], + in_channels: int, + dropout: float = 0.0, + num_layers: int = 1, + resnet_eps: float = 1e-6, + resnet_groups: int = 32, + norm_layer: str = "group_norm", + inject_noise: bool = False, + timestep_conditioning: bool = False, + ): + super().__init__() + resnet_groups = ( + resnet_groups if resnet_groups is not None else min(in_channels // 4, 32) + ) + + self.timestep_conditioning = timestep_conditioning + + if timestep_conditioning: + self.time_embedder = PixArtAlphaCombinedTimestepSizeEmbeddings( + in_channels * 4, 0, operations=ops, + ) + + self.res_blocks = nn.ModuleList( + [ + ResnetBlock3D( + dims=dims, + in_channels=in_channels, + out_channels=in_channels, + eps=resnet_eps, + groups=resnet_groups, + dropout=dropout, + norm_layer=norm_layer, + inject_noise=inject_noise, + timestep_conditioning=timestep_conditioning, + ) + for _ in range(num_layers) + ] + ) + + def forward( + self, hidden_states: torch.FloatTensor, causal: bool = True, timestep: Optional[torch.Tensor] = None + ) -> torch.FloatTensor: + timestep_embed = None + if self.timestep_conditioning: + assert ( + timestep is not None + ), "should pass timestep with timestep_conditioning=True" + batch_size = hidden_states.shape[0] + timestep_embed = self.time_embedder( + timestep=timestep.flatten(), + resolution=None, + aspect_ratio=None, + batch_size=batch_size, + hidden_dtype=hidden_states.dtype, + ) + timestep_embed = timestep_embed.view( + batch_size, timestep_embed.shape[-1], 1, 1, 1 + ) + + for resnet in self.res_blocks: + hidden_states = resnet(hidden_states, causal=causal, timestep=timestep_embed) + + return hidden_states + + +class DepthToSpaceUpsample(nn.Module): + def __init__( + self, dims, in_channels, stride, residual=False, out_channels_reduction_factor=1 + ): + super().__init__() + self.stride = stride + self.out_channels = ( + math.prod(stride) * in_channels // out_channels_reduction_factor + ) + self.conv = make_conv_nd( + dims=dims, + in_channels=in_channels, + out_channels=self.out_channels, + kernel_size=3, + stride=1, + causal=True, + ) + self.residual = residual + self.out_channels_reduction_factor = out_channels_reduction_factor + + def forward(self, x, causal: bool = True, timestep: Optional[torch.Tensor] = None): + if self.residual: + # Reshape and duplicate the input to match the output shape + x_in = rearrange( + x, + "b (c p1 p2 p3) d h w -> b c (d p1) (h p2) (w p3)", + p1=self.stride[0], + p2=self.stride[1], + p3=self.stride[2], + ) + num_repeat = math.prod(self.stride) // self.out_channels_reduction_factor + x_in = x_in.repeat(1, num_repeat, 1, 1, 1) + if self.stride[0] == 2: + x_in = x_in[:, :, 1:, :, :] + x = self.conv(x, causal=causal) + x = rearrange( + x, + "b (c p1 p2 p3) d h w -> b c (d p1) (h p2) (w p3)", + p1=self.stride[0], + p2=self.stride[1], + p3=self.stride[2], + ) + if self.stride[0] == 2: + x = x[:, :, 1:, :, :] + if self.residual: + x = x + x_in + return x + +class LayerNorm(nn.Module): + def __init__(self, dim, eps, elementwise_affine=True) -> None: + super().__init__() + self.norm = nn.LayerNorm(dim, eps=eps, elementwise_affine=elementwise_affine) + + def forward(self, x): + x = rearrange(x, "b c d h w -> b d h w c") + x = self.norm(x) + x = rearrange(x, "b d h w c -> b c d h w") + return x + + +class ResnetBlock3D(nn.Module): + r""" + A Resnet block. + + Parameters: + in_channels (`int`): The number of channels in the input. + out_channels (`int`, *optional*, default to be `None`): + The number of output channels for the first conv layer. If None, same as `in_channels`. + dropout (`float`, *optional*, defaults to `0.0`): The dropout probability to use. + groups (`int`, *optional*, default to `32`): The number of groups to use for the first normalization layer. + eps (`float`, *optional*, defaults to `1e-6`): The epsilon to use for the normalization. + """ + + def __init__( + self, + dims: Union[int, Tuple[int, int]], + in_channels: int, + out_channels: Optional[int] = None, + dropout: float = 0.0, + groups: int = 32, + eps: float = 1e-6, + norm_layer: str = "group_norm", + inject_noise: bool = False, + timestep_conditioning: bool = False, + ): + super().__init__() + self.in_channels = in_channels + out_channels = in_channels if out_channels is None else out_channels + self.out_channels = out_channels + self.inject_noise = inject_noise + + if norm_layer == "group_norm": + self.norm1 = nn.GroupNorm( + num_groups=groups, num_channels=in_channels, eps=eps, affine=True + ) + elif norm_layer == "pixel_norm": + self.norm1 = PixelNorm() + elif norm_layer == "layer_norm": + self.norm1 = LayerNorm(in_channels, eps=eps, elementwise_affine=True) + + self.non_linearity = nn.SiLU() + + self.conv1 = make_conv_nd( + dims, + in_channels, + out_channels, + kernel_size=3, + stride=1, + padding=1, + causal=True, + ) + + if inject_noise: + self.per_channel_scale1 = nn.Parameter(torch.zeros((in_channels, 1, 1))) + + if norm_layer == "group_norm": + self.norm2 = nn.GroupNorm( + num_groups=groups, num_channels=out_channels, eps=eps, affine=True + ) + elif norm_layer == "pixel_norm": + self.norm2 = PixelNorm() + elif norm_layer == "layer_norm": + self.norm2 = LayerNorm(out_channels, eps=eps, elementwise_affine=True) + + self.dropout = torch.nn.Dropout(dropout) + + self.conv2 = make_conv_nd( + dims, + out_channels, + out_channels, + kernel_size=3, + stride=1, + padding=1, + causal=True, + ) + + if inject_noise: + self.per_channel_scale2 = nn.Parameter(torch.zeros((in_channels, 1, 1))) + + self.conv_shortcut = ( + make_linear_nd( + dims=dims, in_channels=in_channels, out_channels=out_channels + ) + if in_channels != out_channels + else nn.Identity() + ) + + self.norm3 = ( + LayerNorm(in_channels, eps=eps, elementwise_affine=True) + if in_channels != out_channels + else nn.Identity() + ) + + self.timestep_conditioning = timestep_conditioning + + if timestep_conditioning: + self.scale_shift_table = nn.Parameter( + torch.randn(4, in_channels) / in_channels**0.5 + ) + + def _feed_spatial_noise( + self, hidden_states: torch.FloatTensor, per_channel_scale: torch.FloatTensor + ) -> torch.FloatTensor: + spatial_shape = hidden_states.shape[-2:] + device = hidden_states.device + dtype = hidden_states.dtype + + # similar to the "explicit noise inputs" method in style-gan + spatial_noise = torch.randn(spatial_shape, device=device, dtype=dtype)[None] + scaled_noise = (spatial_noise * per_channel_scale)[None, :, None, ...] + hidden_states = hidden_states + scaled_noise + + return hidden_states + + def forward( + self, + input_tensor: torch.FloatTensor, + causal: bool = True, + timestep: Optional[torch.Tensor] = None, + ) -> torch.FloatTensor: + hidden_states = input_tensor + batch_size = hidden_states.shape[0] + + hidden_states = self.norm1(hidden_states) + if self.timestep_conditioning: + assert ( + timestep is not None + ), "should pass timestep with timestep_conditioning=True" + ada_values = self.scale_shift_table[ + None, ..., None, None, None + ].to(device=hidden_states.device, dtype=hidden_states.dtype) + timestep.reshape( + batch_size, + 4, + -1, + timestep.shape[-3], + timestep.shape[-2], + timestep.shape[-1], + ) + shift1, scale1, shift2, scale2 = ada_values.unbind(dim=1) + + hidden_states = hidden_states * (1 + scale1) + shift1 + + hidden_states = self.non_linearity(hidden_states) + + hidden_states = self.conv1(hidden_states, causal=causal) + + if self.inject_noise: + hidden_states = self._feed_spatial_noise( + hidden_states, self.per_channel_scale1.to(device=hidden_states.device, dtype=hidden_states.dtype) + ) + + hidden_states = self.norm2(hidden_states) + + if self.timestep_conditioning: + hidden_states = hidden_states * (1 + scale2) + shift2 + + hidden_states = self.non_linearity(hidden_states) + + hidden_states = self.dropout(hidden_states) + + hidden_states = self.conv2(hidden_states, causal=causal) + + if self.inject_noise: + hidden_states = self._feed_spatial_noise( + hidden_states, self.per_channel_scale2.to(device=hidden_states.device, dtype=hidden_states.dtype) + ) + + input_tensor = self.norm3(input_tensor) + + batch_size = input_tensor.shape[0] + + input_tensor = self.conv_shortcut(input_tensor) + + output_tensor = input_tensor + hidden_states + + return output_tensor + + +def patchify(x, patch_size_hw, patch_size_t=1): + if patch_size_hw == 1 and patch_size_t == 1: + return x + if x.dim() == 4: + x = rearrange( + x, "b c (h q) (w r) -> b (c r q) h w", q=patch_size_hw, r=patch_size_hw + ) + elif x.dim() == 5: + x = rearrange( + x, + "b c (f p) (h q) (w r) -> b (c p r q) f h w", + p=patch_size_t, + q=patch_size_hw, + r=patch_size_hw, + ) + else: + raise ValueError(f"Invalid input shape: {x.shape}") + + return x + + +def unpatchify(x, patch_size_hw, patch_size_t=1): + if patch_size_hw == 1 and patch_size_t == 1: + return x + + if x.dim() == 4: + x = rearrange( + x, "b (c r q) h w -> b c (h q) (w r)", q=patch_size_hw, r=patch_size_hw + ) + elif x.dim() == 5: + x = rearrange( + x, + "b (c p r q) f h w -> b c (f p) (h q) (w r)", + p=patch_size_t, + q=patch_size_hw, + r=patch_size_hw, + ) + + return x + +class processor(nn.Module): + def __init__(self): + super().__init__() + self.register_buffer("std-of-means", torch.empty(128)) + self.register_buffer("mean-of-means", torch.empty(128)) + self.register_buffer("mean-of-stds", torch.empty(128)) + self.register_buffer("mean-of-stds_over_std-of-means", torch.empty(128)) + self.register_buffer("channel", torch.empty(128)) + + def un_normalize(self, x): + return (x * self.get_buffer("std-of-means").view(1, -1, 1, 1, 1).to(x)) + self.get_buffer("mean-of-means").view(1, -1, 1, 1, 1).to(x) + + def normalize(self, x): + return (x - self.get_buffer("mean-of-means").view(1, -1, 1, 1, 1).to(x)) / self.get_buffer("std-of-means").view(1, -1, 1, 1, 1).to(x) + +class VideoVAE(nn.Module): + def __init__(self, version=0): + super().__init__() + + if version == 0: + config = { + "_class_name": "CausalVideoAutoencoder", + "dims": 3, + "in_channels": 3, + "out_channels": 3, + "latent_channels": 128, + "blocks": [ + ["res_x", 4], + ["compress_all", 1], + ["res_x_y", 1], + ["res_x", 3], + ["compress_all", 1], + ["res_x_y", 1], + ["res_x", 3], + ["compress_all", 1], + ["res_x", 3], + ["res_x", 4], + ], + "scaling_factor": 1.0, + "norm_layer": "pixel_norm", + "patch_size": 4, + "latent_log_var": "uniform", + "use_quant_conv": False, + "causal_decoder": False, + } + else: + config = { + "_class_name": "CausalVideoAutoencoder", + "dims": 3, + "in_channels": 3, + "out_channels": 3, + "latent_channels": 128, + "decoder_blocks": [ + ["res_x", {"num_layers": 5, "inject_noise": True}], + ["compress_all", {"residual": True, "multiplier": 2}], + ["res_x", {"num_layers": 6, "inject_noise": True}], + ["compress_all", {"residual": True, "multiplier": 2}], + ["res_x", {"num_layers": 7, "inject_noise": True}], + ["compress_all", {"residual": True, "multiplier": 2}], + ["res_x", {"num_layers": 8, "inject_noise": False}] + ], + "encoder_blocks": [ + ["res_x", {"num_layers": 4}], + ["compress_all", {}], + ["res_x_y", 1], + ["res_x", {"num_layers": 3}], + ["compress_all", {}], + ["res_x_y", 1], + ["res_x", {"num_layers": 3}], + ["compress_all", {}], + ["res_x", {"num_layers": 3}], + ["res_x", {"num_layers": 4}] + ], + "scaling_factor": 1.0, + "norm_layer": "pixel_norm", + "patch_size": 4, + "latent_log_var": "uniform", + "use_quant_conv": False, + "causal_decoder": False, + "timestep_conditioning": True, + } + + double_z = config.get("double_z", True) + latent_log_var = config.get( + "latent_log_var", "per_channel" if double_z else "none" + ) + + self.encoder = Encoder( + dims=config["dims"], + in_channels=config.get("in_channels", 3), + out_channels=config["latent_channels"], + blocks=config.get("encoder_blocks", config.get("encoder_blocks", config.get("blocks"))), + patch_size=config.get("patch_size", 1), + latent_log_var=latent_log_var, + norm_layer=config.get("norm_layer", "group_norm"), + ) + + self.decoder = Decoder( + dims=config["dims"], + in_channels=config["latent_channels"], + out_channels=config.get("out_channels", 3), + blocks=config.get("decoder_blocks", config.get("decoder_blocks", config.get("blocks"))), + patch_size=config.get("patch_size", 1), + norm_layer=config.get("norm_layer", "group_norm"), + causal=config.get("causal_decoder", False), + timestep_conditioning=config.get("timestep_conditioning", False), + ) + + self.timestep_conditioning = config.get("timestep_conditioning", False) + self.per_channel_statistics = processor() + + def encode(self, x): + means, logvar = torch.chunk(self.encoder(x), 2, dim=1) + return self.per_channel_statistics.normalize(means) + + def decode(self, x, timestep=0.05, noise_scale=0.025): + if self.timestep_conditioning: #TODO: seed + x = torch.randn_like(x) * noise_scale + (1.0 - noise_scale) * x + return self.decoder(self.per_channel_statistics.un_normalize(x), timestep=timestep) + diff --git a/comfy/ldm/lightricks/vae/conv_nd_factory.py b/comfy/ldm/lightricks/vae/conv_nd_factory.py new file mode 100644 index 000000000..52df4ee22 --- /dev/null +++ b/comfy/ldm/lightricks/vae/conv_nd_factory.py @@ -0,0 +1,82 @@ +from typing import Tuple, Union + + +from .dual_conv3d import DualConv3d +from .causal_conv3d import CausalConv3d +import comfy.ops +ops = comfy.ops.disable_weight_init + +def make_conv_nd( + dims: Union[int, Tuple[int, int]], + in_channels: int, + out_channels: int, + kernel_size: int, + stride=1, + padding=0, + dilation=1, + groups=1, + bias=True, + causal=False, +): + if dims == 2: + return ops.Conv2d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=kernel_size, + stride=stride, + padding=padding, + dilation=dilation, + groups=groups, + bias=bias, + ) + elif dims == 3: + if causal: + return CausalConv3d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=kernel_size, + stride=stride, + padding=padding, + dilation=dilation, + groups=groups, + bias=bias, + ) + return ops.Conv3d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=kernel_size, + stride=stride, + padding=padding, + dilation=dilation, + groups=groups, + bias=bias, + ) + elif dims == (2, 1): + return DualConv3d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=kernel_size, + stride=stride, + padding=padding, + bias=bias, + ) + else: + raise ValueError(f"unsupported dimensions: {dims}") + + +def make_linear_nd( + dims: int, + in_channels: int, + out_channels: int, + bias=True, +): + if dims == 2: + return ops.Conv2d( + in_channels=in_channels, out_channels=out_channels, kernel_size=1, bias=bias + ) + elif dims == 3 or dims == (2, 1): + return ops.Conv3d( + in_channels=in_channels, out_channels=out_channels, kernel_size=1, bias=bias + ) + else: + raise ValueError(f"unsupported dimensions: {dims}") diff --git a/comfy/ldm/lightricks/vae/dual_conv3d.py b/comfy/ldm/lightricks/vae/dual_conv3d.py new file mode 100644 index 000000000..6bd54c0a6 --- /dev/null +++ b/comfy/ldm/lightricks/vae/dual_conv3d.py @@ -0,0 +1,195 @@ +import math +from typing import Tuple, Union + +import torch +import torch.nn as nn +import torch.nn.functional as F +from einops import rearrange + + +class DualConv3d(nn.Module): + def __init__( + self, + in_channels, + out_channels, + kernel_size, + stride: Union[int, Tuple[int, int, int]] = 1, + padding: Union[int, Tuple[int, int, int]] = 0, + dilation: Union[int, Tuple[int, int, int]] = 1, + groups=1, + bias=True, + ): + super(DualConv3d, self).__init__() + + self.in_channels = in_channels + self.out_channels = out_channels + # Ensure kernel_size, stride, padding, and dilation are tuples of length 3 + if isinstance(kernel_size, int): + kernel_size = (kernel_size, kernel_size, kernel_size) + if kernel_size == (1, 1, 1): + raise ValueError( + "kernel_size must be greater than 1. Use make_linear_nd instead." + ) + if isinstance(stride, int): + stride = (stride, stride, stride) + if isinstance(padding, int): + padding = (padding, padding, padding) + if isinstance(dilation, int): + dilation = (dilation, dilation, dilation) + + # Set parameters for convolutions + self.groups = groups + self.bias = bias + + # Define the size of the channels after the first convolution + intermediate_channels = ( + out_channels if in_channels < out_channels else in_channels + ) + + # Define parameters for the first convolution + self.weight1 = nn.Parameter( + torch.Tensor( + intermediate_channels, + in_channels // groups, + 1, + kernel_size[1], + kernel_size[2], + ) + ) + self.stride1 = (1, stride[1], stride[2]) + self.padding1 = (0, padding[1], padding[2]) + self.dilation1 = (1, dilation[1], dilation[2]) + if bias: + self.bias1 = nn.Parameter(torch.Tensor(intermediate_channels)) + else: + self.register_parameter("bias1", None) + + # Define parameters for the second convolution + self.weight2 = nn.Parameter( + torch.Tensor( + out_channels, intermediate_channels // groups, kernel_size[0], 1, 1 + ) + ) + self.stride2 = (stride[0], 1, 1) + self.padding2 = (padding[0], 0, 0) + self.dilation2 = (dilation[0], 1, 1) + if bias: + self.bias2 = nn.Parameter(torch.Tensor(out_channels)) + else: + self.register_parameter("bias2", None) + + # Initialize weights and biases + self.reset_parameters() + + def reset_parameters(self): + nn.init.kaiming_uniform_(self.weight1, a=math.sqrt(5)) + nn.init.kaiming_uniform_(self.weight2, a=math.sqrt(5)) + if self.bias: + fan_in1, _ = nn.init._calculate_fan_in_and_fan_out(self.weight1) + bound1 = 1 / math.sqrt(fan_in1) + nn.init.uniform_(self.bias1, -bound1, bound1) + fan_in2, _ = nn.init._calculate_fan_in_and_fan_out(self.weight2) + bound2 = 1 / math.sqrt(fan_in2) + nn.init.uniform_(self.bias2, -bound2, bound2) + + def forward(self, x, use_conv3d=False, skip_time_conv=False): + if use_conv3d: + return self.forward_with_3d(x=x, skip_time_conv=skip_time_conv) + else: + return self.forward_with_2d(x=x, skip_time_conv=skip_time_conv) + + def forward_with_3d(self, x, skip_time_conv): + # First convolution + x = F.conv3d( + x, + self.weight1, + self.bias1, + self.stride1, + self.padding1, + self.dilation1, + self.groups, + ) + + if skip_time_conv: + return x + + # Second convolution + x = F.conv3d( + x, + self.weight2, + self.bias2, + self.stride2, + self.padding2, + self.dilation2, + self.groups, + ) + + return x + + def forward_with_2d(self, x, skip_time_conv): + b, c, d, h, w = x.shape + + # First 2D convolution + x = rearrange(x, "b c d h w -> (b d) c h w") + # Squeeze the depth dimension out of weight1 since it's 1 + weight1 = self.weight1.squeeze(2) + # Select stride, padding, and dilation for the 2D convolution + stride1 = (self.stride1[1], self.stride1[2]) + padding1 = (self.padding1[1], self.padding1[2]) + dilation1 = (self.dilation1[1], self.dilation1[2]) + x = F.conv2d(x, weight1, self.bias1, stride1, padding1, dilation1, self.groups) + + _, _, h, w = x.shape + + if skip_time_conv: + x = rearrange(x, "(b d) c h w -> b c d h w", b=b) + return x + + # Second convolution which is essentially treated as a 1D convolution across the 'd' dimension + x = rearrange(x, "(b d) c h w -> (b h w) c d", b=b) + + # Reshape weight2 to match the expected dimensions for conv1d + weight2 = self.weight2.squeeze(-1).squeeze(-1) + # Use only the relevant dimension for stride, padding, and dilation for the 1D convolution + stride2 = self.stride2[0] + padding2 = self.padding2[0] + dilation2 = self.dilation2[0] + x = F.conv1d(x, weight2, self.bias2, stride2, padding2, dilation2, self.groups) + x = rearrange(x, "(b h w) c d -> b c d h w", b=b, h=h, w=w) + + return x + + @property + def weight(self): + return self.weight2 + + +def test_dual_conv3d_consistency(): + # Initialize parameters + in_channels = 3 + out_channels = 5 + kernel_size = (3, 3, 3) + stride = (2, 2, 2) + padding = (1, 1, 1) + + # Create an instance of the DualConv3d class + dual_conv3d = DualConv3d( + in_channels=in_channels, + out_channels=out_channels, + kernel_size=kernel_size, + stride=stride, + padding=padding, + bias=True, + ) + + # Example input tensor + test_input = torch.randn(1, 3, 10, 10, 10) + + # Perform forward passes with both 3D and 2D settings + output_conv3d = dual_conv3d(test_input, use_conv3d=True) + output_2d = dual_conv3d(test_input, use_conv3d=False) + + # Assert that the outputs from both methods are sufficiently close + assert torch.allclose( + output_conv3d, output_2d, atol=1e-6 + ), "Outputs are not consistent between 3D and 2D convolutions." diff --git a/comfy/ldm/lightricks/vae/pixel_norm.py b/comfy/ldm/lightricks/vae/pixel_norm.py new file mode 100644 index 000000000..9bc3ea60e --- /dev/null +++ b/comfy/ldm/lightricks/vae/pixel_norm.py @@ -0,0 +1,12 @@ +import torch +from torch import nn + + +class PixelNorm(nn.Module): + def __init__(self, dim=1, eps=1e-8): + super(PixelNorm, self).__init__() + self.dim = dim + self.eps = eps + + def forward(self, x): + return x / torch.sqrt(torch.mean(x**2, dim=self.dim, keepdim=True) + self.eps) diff --git a/comfy/ldm/models/autoencoder.py b/comfy/ldm/models/autoencoder.py index f5f4de288..e6493155e 100644 --- a/comfy/ldm/models/autoencoder.py +++ b/comfy/ldm/models/autoencoder.py @@ -1,10 +1,12 @@ +import logging +import math import torch from contextlib import contextmanager -from typing import Any, Dict, List, Optional, Tuple, Union +from typing import Any, Dict, Tuple, Union from comfy.ldm.modules.distributions.distributions import DiagonalGaussianDistribution -from comfy.ldm.util import instantiate_from_config +from comfy.ldm.util import get_obj_from_str, instantiate_from_config from comfy.ldm.modules.ema import LitEma import comfy.ops @@ -52,7 +54,7 @@ class AbstractAutoencoder(torch.nn.Module): if self.use_ema: self.model_ema = LitEma(self, decay=ema_decay) - logpy.info(f"Keeping EMAs of {len(list(self.model_ema.buffers()))}.") + logging.info(f"Keeping EMAs of {len(list(self.model_ema.buffers()))}.") def get_input(self, batch) -> Any: raise NotImplementedError() @@ -68,14 +70,14 @@ class AbstractAutoencoder(torch.nn.Module): self.model_ema.store(self.parameters()) self.model_ema.copy_to(self) if context is not None: - logpy.info(f"{context}: Switched to EMA weights") + logging.info(f"{context}: Switched to EMA weights") try: yield None finally: if self.use_ema: self.model_ema.restore(self.parameters()) if context is not None: - logpy.info(f"{context}: Restored training weights") + logging.info(f"{context}: Restored training weights") def encode(self, *args, **kwargs) -> torch.Tensor: raise NotImplementedError("encode()-method of abstract base class called") @@ -84,7 +86,7 @@ class AbstractAutoencoder(torch.nn.Module): raise NotImplementedError("decode()-method of abstract base class called") def instantiate_optimizer_from_config(self, params, lr, cfg): - logpy.info(f"loading >>> {cfg['target']} <<< optimizer from config") + logging.info(f"loading >>> {cfg['target']} <<< optimizer from config") return get_obj_from_str(cfg["target"])( params, lr=lr, **cfg.get("params", dict()) ) @@ -112,7 +114,7 @@ class AutoencodingEngine(AbstractAutoencoder): self.encoder: torch.nn.Module = instantiate_from_config(encoder_config) self.decoder: torch.nn.Module = instantiate_from_config(decoder_config) - self.regularization: AbstractRegularizer = instantiate_from_config( + self.regularization = instantiate_from_config( regularizer_config ) @@ -160,12 +162,19 @@ class AutoencodingEngineLegacy(AutoencodingEngine): }, **kwargs, ) - self.quant_conv = comfy.ops.disable_weight_init.Conv2d( + + if ddconfig.get("conv3d", False): + conv_op = comfy.ops.disable_weight_init.Conv3d + else: + conv_op = comfy.ops.disable_weight_init.Conv2d + + self.quant_conv = conv_op( (1 + ddconfig["double_z"]) * ddconfig["z_channels"], (1 + ddconfig["double_z"]) * embed_dim, 1, ) - self.post_quant_conv = comfy.ops.disable_weight_init.Conv2d(embed_dim, ddconfig["z_channels"], 1) + + self.post_quant_conv = conv_op(embed_dim, ddconfig["z_channels"], 1) self.embed_dim = embed_dim def get_autoencoder_params(self) -> list: diff --git a/comfy/ldm/modules/attention.py b/comfy/ldm/modules/attention.py index 85ea406e0..44aec59a6 100644 --- a/comfy/ldm/modules/attention.py +++ b/comfy/ldm/modules/attention.py @@ -15,6 +15,9 @@ if model_management.xformers_enabled(): import xformers import xformers.ops +if model_management.sage_attention_enabled(): + from sageattention import sageattn + from comfy.cli_args import args import comfy.ops ops = comfy.ops.disable_weight_init @@ -86,7 +89,7 @@ class FeedForward(nn.Module): def Normalize(in_channels, dtype=None, device=None): return torch.nn.GroupNorm(num_groups=32, num_channels=in_channels, eps=1e-6, affine=True, dtype=dtype, device=device) -def attention_basic(q, k, v, heads, mask=None, attn_precision=None, skip_reshape=False): +def attention_basic(q, k, v, heads, mask=None, attn_precision=None, skip_reshape=False, skip_output_reshape=False): attn_precision = get_attn_precision(attn_precision) if skip_reshape: @@ -139,16 +142,23 @@ def attention_basic(q, k, v, heads, mask=None, attn_precision=None, skip_reshape sim = sim.softmax(dim=-1) out = einsum('b i j, b j d -> b i d', sim.to(v.dtype), v) - out = ( - out.unsqueeze(0) - .reshape(b, heads, -1, dim_head) - .permute(0, 2, 1, 3) - .reshape(b, -1, heads * dim_head) - ) + + if skip_output_reshape: + out = ( + out.unsqueeze(0) + .reshape(b, heads, -1, dim_head) + ) + else: + out = ( + out.unsqueeze(0) + .reshape(b, heads, -1, dim_head) + .permute(0, 2, 1, 3) + .reshape(b, -1, heads * dim_head) + ) return out -def attention_sub_quad(query, key, value, heads, mask=None, attn_precision=None, skip_reshape=False): +def attention_sub_quad(query, key, value, heads, mask=None, attn_precision=None, skip_reshape=False, skip_output_reshape=False): attn_precision = get_attn_precision(attn_precision) if skip_reshape: @@ -157,8 +167,6 @@ def attention_sub_quad(query, key, value, heads, mask=None, attn_precision=None, b, _, dim_head = query.shape dim_head //= heads - scale = dim_head ** -0.5 - if skip_reshape: query = query.reshape(b * heads, -1, dim_head) value = value.reshape(b * heads, -1, dim_head) @@ -177,9 +185,8 @@ def attention_sub_quad(query, key, value, heads, mask=None, attn_precision=None, bytes_per_token = torch.finfo(query.dtype).bits//8 batch_x_heads, q_tokens, _ = query.shape _, _, k_tokens = key.shape - qk_matmul_size_bytes = batch_x_heads * bytes_per_token * q_tokens * k_tokens - mem_free_total, mem_free_torch = model_management.get_free_memory(query.device, True) + mem_free_total, _ = model_management.get_free_memory(query.device, True) kv_chunk_size_min = None kv_chunk_size = None @@ -215,11 +222,13 @@ def attention_sub_quad(query, key, value, heads, mask=None, attn_precision=None, ) hidden_states = hidden_states.to(dtype) - - hidden_states = hidden_states.unflatten(0, (-1, heads)).transpose(1,2).flatten(start_dim=2) + if skip_output_reshape: + hidden_states = hidden_states.unflatten(0, (-1, heads)) + else: + hidden_states = hidden_states.unflatten(0, (-1, heads)).transpose(1,2).flatten(start_dim=2) return hidden_states -def attention_split(q, k, v, heads, mask=None, attn_precision=None, skip_reshape=False): +def attention_split(q, k, v, heads, mask=None, attn_precision=None, skip_reshape=False, skip_output_reshape=False): attn_precision = get_attn_precision(attn_precision) if skip_reshape: @@ -230,7 +239,6 @@ def attention_split(q, k, v, heads, mask=None, attn_precision=None, skip_reshape scale = dim_head ** -0.5 - h = heads if skip_reshape: q, k, v = map( lambda t: t.reshape(b * heads, -1, dim_head), @@ -299,7 +307,10 @@ def attention_split(q, k, v, heads, mask=None, attn_precision=None, skip_reshape if len(mask.shape) == 2: s1 += mask[i:end] else: - s1 += mask[:, i:end] + if mask.shape[1] == 1: + s1 += mask + else: + s1 += mask[:, i:end] s2 = s1.softmax(dim=-1).to(v.dtype) del s1 @@ -324,12 +335,18 @@ def attention_split(q, k, v, heads, mask=None, attn_precision=None, skip_reshape del q, k, v - r1 = ( - r1.unsqueeze(0) - .reshape(b, heads, -1, dim_head) - .permute(0, 2, 1, 3) - .reshape(b, -1, heads * dim_head) - ) + if skip_output_reshape: + r1 = ( + r1.unsqueeze(0) + .reshape(b, heads, -1, dim_head) + ) + else: + r1 = ( + r1.unsqueeze(0) + .reshape(b, heads, -1, dim_head) + .permute(0, 2, 1, 3) + .reshape(b, -1, heads * dim_head) + ) return r1 BROKEN_XFORMERS = False @@ -340,13 +357,10 @@ try: except: pass -def attention_xformers(q, k, v, heads, mask=None, attn_precision=None, skip_reshape=False): - if skip_reshape: - b, _, _, dim_head = q.shape - else: - b, _, dim_head = q.shape - dim_head //= heads - +def attention_xformers(q, k, v, heads, mask=None, attn_precision=None, skip_reshape=False, skip_output_reshape=False): + b = q.shape[0] + dim_head = q.shape[-1] + # check to make sure xformers isn't broken disabled_xformers = False if BROKEN_XFORMERS: @@ -361,31 +375,43 @@ def attention_xformers(q, k, v, heads, mask=None, attn_precision=None, skip_resh return attention_pytorch(q, k, v, heads, mask, skip_reshape=skip_reshape) if skip_reshape: - q, k, v = map( - lambda t: t.reshape(b * heads, -1, dim_head), + # b h k d -> b k h d + q, k, v = map( + lambda t: t.permute(0, 2, 1, 3), (q, k, v), ) + # actually do the reshaping else: + dim_head //= heads q, k, v = map( lambda t: t.reshape(b, -1, heads, dim_head), (q, k, v), ) if mask is not None: - pad = 8 - q.shape[1] % 8 - mask_out = torch.empty([q.shape[0], q.shape[1], q.shape[1] + pad], dtype=q.dtype, device=q.device) - mask_out[:, :, :mask.shape[-1]] = mask - mask = mask_out[:, :, :mask.shape[-1]] + # add a singleton batch dimension + if mask.ndim == 2: + mask = mask.unsqueeze(0) + # add a singleton heads dimension + if mask.ndim == 3: + mask = mask.unsqueeze(1) + # pad to a multiple of 8 + pad = 8 - mask.shape[-1] % 8 + # the xformers docs says that it's allowed to have a mask of shape (1, Nq, Nk) + # but when using separated heads, the shape has to be (B, H, Nq, Nk) + # in flux, this matrix ends up being over 1GB + # here, we create a mask with the same batch/head size as the input mask (potentially singleton or full) + mask_out = torch.empty([mask.shape[0], mask.shape[1], q.shape[1], mask.shape[-1] + pad], dtype=q.dtype, device=q.device) + + mask_out[..., :mask.shape[-1]] = mask + # doesn't this remove the padding again?? + mask = mask_out[..., :mask.shape[-1]] + mask = mask.expand(b, heads, -1, -1) out = xformers.ops.memory_efficient_attention(q, k, v, attn_bias=mask) - if skip_reshape: - out = ( - out.unsqueeze(0) - .reshape(b, heads, -1, dim_head) - .permute(0, 2, 1, 3) - .reshape(b, -1, heads * dim_head) - ) + if skip_output_reshape: + out = out.permute(0, 2, 1, 3) else: out = ( out.reshape(b, -1, heads * dim_head) @@ -393,7 +419,14 @@ def attention_xformers(q, k, v, heads, mask=None, attn_precision=None, skip_resh return out -def attention_pytorch(q, k, v, heads, mask=None, attn_precision=None, skip_reshape=False): +if model_management.is_nvidia(): #pytorch 2.3 and up seem to have this issue. + SDP_BATCH_LIMIT = 2**15 +else: + #TODO: other GPUs ? + SDP_BATCH_LIMIT = 2**31 + + +def attention_pytorch(q, k, v, heads, mask=None, attn_precision=None, skip_reshape=False, skip_output_reshape=False): if skip_reshape: b, _, _, dim_head = q.shape else: @@ -404,27 +437,90 @@ def attention_pytorch(q, k, v, heads, mask=None, attn_precision=None, skip_resha (q, k, v), ) - out = torch.nn.functional.scaled_dot_product_attention(q, k, v, attn_mask=mask, dropout_p=0.0, is_causal=False) - out = ( - out.transpose(1, 2).reshape(b, -1, heads * dim_head) - ) + if mask is not None: + # add a batch dimension if there isn't already one + if mask.ndim == 2: + mask = mask.unsqueeze(0) + # add a heads dimension if there isn't already one + if mask.ndim == 3: + mask = mask.unsqueeze(1) + + if SDP_BATCH_LIMIT >= b: + out = torch.nn.functional.scaled_dot_product_attention(q, k, v, attn_mask=mask, dropout_p=0.0, is_causal=False) + if not skip_output_reshape: + out = ( + out.transpose(1, 2).reshape(b, -1, heads * dim_head) + ) + else: + out = torch.empty((b, q.shape[2], heads * dim_head), dtype=q.dtype, layout=q.layout, device=q.device) + for i in range(0, b, SDP_BATCH_LIMIT): + m = mask + if mask is not None: + if mask.shape[0] > 1: + m = mask[i : i + SDP_BATCH_LIMIT] + + out[i : i + SDP_BATCH_LIMIT] = torch.nn.functional.scaled_dot_product_attention( + q[i : i + SDP_BATCH_LIMIT], + k[i : i + SDP_BATCH_LIMIT], + v[i : i + SDP_BATCH_LIMIT], + attn_mask=m, + dropout_p=0.0, is_causal=False + ).transpose(1, 2).reshape(-1, q.shape[2], heads * dim_head) + return out + + +def attention_sage(q, k, v, heads, mask=None, attn_precision=None, skip_reshape=False, skip_output_reshape=False): + if skip_reshape: + b, _, _, dim_head = q.shape + tensor_layout="HND" + else: + b, _, dim_head = q.shape + dim_head //= heads + q, k, v = map( + lambda t: t.view(b, -1, heads, dim_head), + (q, k, v), + ) + tensor_layout="NHD" + + if mask is not None: + # add a batch dimension if there isn't already one + if mask.ndim == 2: + mask = mask.unsqueeze(0) + # add a heads dimension if there isn't already one + if mask.ndim == 3: + mask = mask.unsqueeze(1) + + out = sageattn(q, k, v, attn_mask=mask, is_causal=False, tensor_layout=tensor_layout) + if tensor_layout == "HND": + if not skip_output_reshape: + out = ( + out.transpose(1, 2).reshape(b, -1, heads * dim_head) + ) + else: + if skip_output_reshape: + out = out.transpose(1, 2) + else: + out = out.reshape(b, -1, heads * dim_head) return out optimized_attention = attention_basic -if model_management.xformers_enabled(): - logging.info("Using xformers cross attention") +if model_management.sage_attention_enabled(): + logging.info("Using sage attention") + optimized_attention = attention_sage +elif model_management.xformers_enabled(): + logging.info("Using xformers attention") optimized_attention = attention_xformers elif model_management.pytorch_attention_enabled(): - logging.info("Using pytorch cross attention") + logging.info("Using pytorch attention") optimized_attention = attention_pytorch else: if args.use_split_cross_attention: - logging.info("Using split optimization for cross attention") + logging.info("Using split optimization for attention") optimized_attention = attention_split else: - logging.info("Using sub quadratic optimization for cross attention, if you have memory or speed issues try using: --use-split-cross-attention") + logging.info("Using sub quadratic optimization for attention, if you have memory or speed issues try using: --use-split-cross-attention") optimized_attention = attention_sub_quad optimized_attention_masked = optimized_attention diff --git a/comfy/ldm/modules/diffusionmodules/mmdit.py b/comfy/ldm/modules/diffusionmodules/mmdit.py index 759788a97..e70f4431f 100644 --- a/comfy/ldm/modules/diffusionmodules/mmdit.py +++ b/comfy/ldm/modules/diffusionmodules/mmdit.py @@ -1,11 +1,10 @@ -import logging -import math -from typing import Dict, Optional +from functools import partial +from typing import Dict, Optional, List import numpy as np import torch import torch.nn as nn -from .. import attention +from ..attention import optimized_attention from einops import rearrange, repeat from .util import timestep_embedding import comfy.ops @@ -72,45 +71,33 @@ class PatchEmbed(nn.Module): strict_img_size: bool = True, dynamic_img_pad: bool = True, padding_mode='circular', + conv3d=False, dtype=None, device=None, operations=None, ): super().__init__() - self.patch_size = (patch_size, patch_size) + try: + len(patch_size) + self.patch_size = patch_size + except: + if conv3d: + self.patch_size = (patch_size, patch_size, patch_size) + else: + self.patch_size = (patch_size, patch_size) self.padding_mode = padding_mode - if img_size is not None: - self.img_size = (img_size, img_size) - self.grid_size = tuple([s // p for s, p in zip(self.img_size, self.patch_size)]) - self.num_patches = self.grid_size[0] * self.grid_size[1] - else: - self.img_size = None - self.grid_size = None - self.num_patches = None # flatten spatial dim and transpose to channels last, kept for bwd compat self.flatten = flatten self.strict_img_size = strict_img_size self.dynamic_img_pad = dynamic_img_pad - - self.proj = operations.Conv2d(in_chans, embed_dim, kernel_size=patch_size, stride=patch_size, bias=bias, dtype=dtype, device=device) + if conv3d: + self.proj = operations.Conv3d(in_chans, embed_dim, kernel_size=patch_size, stride=patch_size, bias=bias, dtype=dtype, device=device) + else: + self.proj = operations.Conv2d(in_chans, embed_dim, kernel_size=patch_size, stride=patch_size, bias=bias, dtype=dtype, device=device) self.norm = norm_layer(embed_dim) if norm_layer else nn.Identity() def forward(self, x): - B, C, H, W = x.shape - # if self.img_size is not None: - # if self.strict_img_size: - # _assert(H == self.img_size[0], f"Input height ({H}) doesn't match model ({self.img_size[0]}).") - # _assert(W == self.img_size[1], f"Input width ({W}) doesn't match model ({self.img_size[1]}).") - # elif not self.dynamic_img_pad: - # _assert( - # H % self.patch_size[0] == 0, - # f"Input height ({H}) should be divisible by patch size ({self.patch_size[0]})." - # ) - # _assert( - # W % self.patch_size[1] == 0, - # f"Input width ({W}) should be divisible by patch size ({self.patch_size[1]})." - # ) if self.dynamic_img_pad: x = comfy.ldm.common_dit.pad_to_patch_size(x, self.patch_size, padding_mode=self.padding_mode) x = self.proj(x) @@ -266,8 +253,6 @@ def split_qkv(qkv, head_dim): qkv = qkv.reshape(qkv.shape[0], qkv.shape[1], 3, -1, head_dim).movedim(2, 0) return qkv[0], qkv[1], qkv[2] -def optimized_attention(qkv, num_heads): - return attention.optimized_attention(qkv[0], qkv[1], qkv[2], num_heads) class SelfAttention(nn.Module): ATTENTION_MODES = ("xformers", "torch", "torch-hb", "math", "debug") @@ -326,9 +311,9 @@ class SelfAttention(nn.Module): return x def forward(self, x: torch.Tensor) -> torch.Tensor: - qkv = self.pre_attention(x) + q, k, v = self.pre_attention(x) x = optimized_attention( - qkv, num_heads=self.num_heads + q, k, v, heads=self.num_heads ) x = self.post_attention(x) return x @@ -417,6 +402,7 @@ class DismantledBlock(nn.Module): scale_mod_only: bool = False, swiglu: bool = False, qk_norm: Optional[str] = None, + x_block_self_attn: bool = False, dtype=None, device=None, operations=None, @@ -440,6 +426,24 @@ class DismantledBlock(nn.Module): device=device, operations=operations ) + if x_block_self_attn: + assert not pre_only + assert not scale_mod_only + self.x_block_self_attn = True + self.attn2 = SelfAttention( + dim=hidden_size, + num_heads=num_heads, + qkv_bias=qkv_bias, + attn_mode=attn_mode, + pre_only=False, + qk_norm=qk_norm, + rmsnorm=rmsnorm, + dtype=dtype, + device=device, + operations=operations + ) + else: + self.x_block_self_attn = False if not pre_only: if not rmsnorm: self.norm2 = operations.LayerNorm( @@ -466,7 +470,11 @@ class DismantledBlock(nn.Module): multiple_of=256, ) self.scale_mod_only = scale_mod_only - if not scale_mod_only: + if x_block_self_attn: + assert not pre_only + assert not scale_mod_only + n_mods = 9 + elif not scale_mod_only: n_mods = 6 if not pre_only else 2 else: n_mods = 4 if not pre_only else 1 @@ -527,14 +535,64 @@ class DismantledBlock(nn.Module): ) return x + def pre_attention_x(self, x: torch.Tensor, c: torch.Tensor) -> torch.Tensor: + assert self.x_block_self_attn + ( + shift_msa, + scale_msa, + gate_msa, + shift_mlp, + scale_mlp, + gate_mlp, + shift_msa2, + scale_msa2, + gate_msa2, + ) = self.adaLN_modulation(c).chunk(9, dim=1) + x_norm = self.norm1(x) + qkv = self.attn.pre_attention(modulate(x_norm, shift_msa, scale_msa)) + qkv2 = self.attn2.pre_attention(modulate(x_norm, shift_msa2, scale_msa2)) + return qkv, qkv2, ( + x, + gate_msa, + shift_mlp, + scale_mlp, + gate_mlp, + gate_msa2, + ) + + def post_attention_x(self, attn, attn2, x, gate_msa, shift_mlp, scale_mlp, gate_mlp, gate_msa2): + assert not self.pre_only + attn1 = self.attn.post_attention(attn) + attn2 = self.attn2.post_attention(attn2) + out1 = gate_msa.unsqueeze(1) * attn1 + out2 = gate_msa2.unsqueeze(1) * attn2 + x = x + out1 + x = x + out2 + x = x + gate_mlp.unsqueeze(1) * self.mlp( + modulate(self.norm2(x), shift_mlp, scale_mlp) + ) + return x + def forward(self, x: torch.Tensor, c: torch.Tensor) -> torch.Tensor: assert not self.pre_only - qkv, intermediates = self.pre_attention(x, c) - attn = optimized_attention( - qkv, - num_heads=self.attn.num_heads, - ) - return self.post_attention(attn, *intermediates) + if self.x_block_self_attn: + qkv, qkv2, intermediates = self.pre_attention_x(x, c) + attn, _ = optimized_attention( + qkv[0], qkv[1], qkv[2], + num_heads=self.attn.num_heads, + ) + attn2, _ = optimized_attention( + qkv2[0], qkv2[1], qkv2[2], + num_heads=self.attn2.num_heads, + ) + return self.post_attention_x(attn, attn2, *intermediates) + else: + qkv, intermediates = self.pre_attention(x, c) + attn = optimized_attention( + qkv[0], qkv[1], qkv[2], + heads=self.attn.num_heads, + ) + return self.post_attention(attn, *intermediates) def block_mixing(*args, use_checkpoint=True, **kwargs): @@ -549,7 +607,10 @@ def block_mixing(*args, use_checkpoint=True, **kwargs): def _block_mixing(context, x, context_block, x_block, c): context_qkv, context_intermediates = context_block.pre_attention(context, c) - x_qkv, x_intermediates = x_block.pre_attention(x, c) + if x_block.x_block_self_attn: + x_qkv, x_qkv2, x_intermediates = x_block.pre_attention_x(x, c) + else: + x_qkv, x_intermediates = x_block.pre_attention(x, c) o = [] for t in range(3): @@ -557,8 +618,8 @@ def _block_mixing(context, x, context_block, x_block, c): qkv = tuple(o) attn = optimized_attention( - qkv, - num_heads=x_block.attn.num_heads, + qkv[0], qkv[1], qkv[2], + heads=x_block.attn.num_heads, ) context_attn, x_attn = ( attn[:, : context_qkv[0].shape[1]], @@ -570,7 +631,14 @@ def _block_mixing(context, x, context_block, x_block, c): else: context = None - x = x_block.post_attention(x_attn, *x_intermediates) + if x_block.x_block_self_attn: + attn2 = optimized_attention( + x_qkv2[0], x_qkv2[1], x_qkv2[2], + heads=x_block.attn2.num_heads, + ) + x = x_block.post_attention_x(x_attn, attn2, *x_intermediates) + else: + x = x_block.post_attention(x_attn, *x_intermediates) return context, x @@ -585,8 +653,13 @@ class JointBlock(nn.Module): super().__init__() pre_only = kwargs.pop("pre_only") qk_norm = kwargs.pop("qk_norm", None) + x_block_self_attn = kwargs.pop("x_block_self_attn", False) self.context_block = DismantledBlock(*args, pre_only=pre_only, qk_norm=qk_norm, **kwargs) - self.x_block = DismantledBlock(*args, pre_only=False, qk_norm=qk_norm, **kwargs) + self.x_block = DismantledBlock(*args, + pre_only=False, + qk_norm=qk_norm, + x_block_self_attn=x_block_self_attn, + **kwargs) def forward(self, *args, **kwargs): return block_mixing( @@ -642,7 +715,7 @@ class SelfAttentionContext(nn.Module): def forward(self, x): qkv = self.qkv(x) q, k, v = split_qkv(qkv, self.dim_head) - x = optimized_attention((q.reshape(q.shape[0], q.shape[1], -1), k, v), self.heads) + x = optimized_attention(q.reshape(q.shape[0], q.shape[1], -1), k, v, heads=self.heads) return self.proj(x) class ContextProcessorBlock(nn.Module): @@ -701,9 +774,12 @@ class MMDiT(nn.Module): qk_norm: Optional[str] = None, qkv_bias: bool = True, context_processor_layers = None, + x_block_self_attn: bool = False, + x_block_self_attn_layers: Optional[List[int]] = [], context_size = 4096, num_blocks = None, final_layer = True, + skip_blocks = False, dtype = None, #TODO device = None, operations = None, @@ -718,6 +794,7 @@ class MMDiT(nn.Module): self.pos_embed_scaling_factor = pos_embed_scaling_factor self.pos_embed_offset = pos_embed_offset self.pos_embed_max_size = pos_embed_max_size + self.x_block_self_attn_layers = x_block_self_attn_layers # hidden_size = default(hidden_size, 64 * depth) # num_heads = default(num_heads, hidden_size // 64) @@ -775,26 +852,28 @@ class MMDiT(nn.Module): self.pos_embed = None self.use_checkpoint = use_checkpoint - self.joint_blocks = nn.ModuleList( - [ - JointBlock( - self.hidden_size, - num_heads, - mlp_ratio=mlp_ratio, - qkv_bias=qkv_bias, - attn_mode=attn_mode, - pre_only=(i == num_blocks - 1) and final_layer, - rmsnorm=rmsnorm, - scale_mod_only=scale_mod_only, - swiglu=swiglu, - qk_norm=qk_norm, - dtype=dtype, - device=device, - operations=operations - ) - for i in range(num_blocks) - ] - ) + if not skip_blocks: + self.joint_blocks = nn.ModuleList( + [ + JointBlock( + self.hidden_size, + num_heads, + mlp_ratio=mlp_ratio, + qkv_bias=qkv_bias, + attn_mode=attn_mode, + pre_only=(i == num_blocks - 1) and final_layer, + rmsnorm=rmsnorm, + scale_mod_only=scale_mod_only, + swiglu=swiglu, + qk_norm=qk_norm, + x_block_self_attn=(i in self.x_block_self_attn_layers) or x_block_self_attn, + dtype=dtype, + device=device, + operations=operations, + ) + for i in range(num_blocks) + ] + ) if final_layer: self.final_layer = FinalLayer(self.hidden_size, patch_size, self.out_channels, dtype=dtype, device=device, operations=operations) @@ -857,7 +936,9 @@ class MMDiT(nn.Module): c_mod: torch.Tensor, context: Optional[torch.Tensor] = None, control = None, + transformer_options = {}, ) -> torch.Tensor: + patches_replace = transformer_options.get("patches_replace", {}) if self.register_length > 0: context = torch.cat( ( @@ -869,14 +950,25 @@ class MMDiT(nn.Module): # context is B, L', D # x is B, L, D + blocks_replace = patches_replace.get("dit", {}) blocks = len(self.joint_blocks) for i in range(blocks): - context, x = self.joint_blocks[i]( - context, - x, - c=c_mod, - use_checkpoint=self.use_checkpoint, - ) + if ("double_block", i) in blocks_replace: + def block_wrap(args): + out = {} + out["txt"], out["img"] = self.joint_blocks[i](args["txt"], args["img"], c=args["vec"]) + return out + + out = blocks_replace[("double_block", i)]({"img": x, "txt": context, "vec": c_mod}, {"original_block": block_wrap}) + context = out["txt"] + x = out["img"] + else: + context, x = self.joint_blocks[i]( + context, + x, + c=c_mod, + use_checkpoint=self.use_checkpoint, + ) if control is not None: control_o = control.get("output") if i < len(control_o): @@ -894,6 +986,7 @@ class MMDiT(nn.Module): y: Optional[torch.Tensor] = None, context: Optional[torch.Tensor] = None, control = None, + transformer_options = {}, ) -> torch.Tensor: """ Forward pass of DiT. @@ -915,7 +1008,7 @@ class MMDiT(nn.Module): if context is not None: context = self.context_embedder(context) - x = self.forward_core_with_concat(x, c, context, control) + x = self.forward_core_with_concat(x, c, context, control, transformer_options) x = self.unpatchify(x, hw=hw) # (N, out_channels, H, W) return x[:,:,:hw[-2],:hw[-1]] @@ -929,7 +1022,8 @@ class OpenAISignatureMMDITWrapper(MMDiT): context: Optional[torch.Tensor] = None, y: Optional[torch.Tensor] = None, control = None, + transformer_options = {}, **kwargs, ) -> torch.Tensor: - return super().forward(x, timesteps, context=context, y=y, control=control) + return super().forward(x, timesteps, context=context, y=y, control=control, transformer_options=transformer_options) diff --git a/comfy/ldm/modules/diffusionmodules/model.py b/comfy/ldm/modules/diffusionmodules/model.py index 04eb83b21..3bf83a7e2 100644 --- a/comfy/ldm/modules/diffusionmodules/model.py +++ b/comfy/ldm/modules/diffusionmodules/model.py @@ -3,7 +3,6 @@ import math import torch import torch.nn as nn import numpy as np -from typing import Optional, Any import logging from comfy import model_management @@ -44,51 +43,100 @@ def Normalize(in_channels, num_groups=32): return ops.GroupNorm(num_groups=num_groups, num_channels=in_channels, eps=1e-6, affine=True) +class VideoConv3d(nn.Module): + def __init__(self, n_channels, out_channels, kernel_size, stride=1, dilation=1, padding_mode='replicate', padding=1, **kwargs): + super().__init__() + + self.padding_mode = padding_mode + if padding != 0: + padding = (padding, padding, padding, padding, kernel_size - 1, 0) + else: + kwargs["padding"] = padding + + self.padding = padding + self.conv = ops.Conv3d(n_channels, out_channels, kernel_size, stride=stride, dilation=dilation, **kwargs) + + def forward(self, x): + if self.padding != 0: + x = torch.nn.functional.pad(x, self.padding, mode=self.padding_mode) + return self.conv(x) + +def interpolate_up(x, scale_factor): + try: + return torch.nn.functional.interpolate(x, scale_factor=scale_factor, mode="nearest") + except: #operation not implemented for bf16 + orig_shape = list(x.shape) + out_shape = orig_shape[:2] + for i in range(len(orig_shape) - 2): + out_shape.append(round(orig_shape[i + 2] * scale_factor[i])) + out = torch.empty(out_shape, dtype=x.dtype, layout=x.layout, device=x.device) + split = 8 + l = out.shape[1] // split + for i in range(0, out.shape[1], l): + out[:,i:i+l] = torch.nn.functional.interpolate(x[:,i:i+l].to(torch.float32), scale_factor=scale_factor, mode="nearest").to(x.dtype) + return out + class Upsample(nn.Module): - def __init__(self, in_channels, with_conv): + def __init__(self, in_channels, with_conv, conv_op=ops.Conv2d, scale_factor=2.0): super().__init__() self.with_conv = with_conv + self.scale_factor = scale_factor + if self.with_conv: - self.conv = ops.Conv2d(in_channels, + self.conv = conv_op(in_channels, in_channels, kernel_size=3, stride=1, padding=1) def forward(self, x): - try: - x = torch.nn.functional.interpolate(x, scale_factor=2.0, mode="nearest") - except: #operation not implemented for bf16 - b, c, h, w = x.shape - out = torch.empty((b, c, h*2, w*2), dtype=x.dtype, layout=x.layout, device=x.device) - split = 8 - l = out.shape[1] // split - for i in range(0, out.shape[1], l): - out[:,i:i+l] = torch.nn.functional.interpolate(x[:,i:i+l].to(torch.float32), scale_factor=2.0, mode="nearest").to(x.dtype) - del x - x = out + scale_factor = self.scale_factor + if isinstance(scale_factor, (int, float)): + scale_factor = (scale_factor,) * (x.ndim - 2) + if x.ndim == 5 and scale_factor[0] > 1.0: + t = x.shape[2] + if t > 1: + a, b = x.split((1, t - 1), dim=2) + del x + b = interpolate_up(b, scale_factor) + else: + a = x + + a = interpolate_up(a.squeeze(2), scale_factor=scale_factor[1:]).unsqueeze(2) + if t > 1: + x = torch.cat((a, b), dim=2) + else: + x = a + else: + x = interpolate_up(x, scale_factor) if self.with_conv: x = self.conv(x) return x class Downsample(nn.Module): - def __init__(self, in_channels, with_conv): + def __init__(self, in_channels, with_conv, stride=2, conv_op=ops.Conv2d): super().__init__() self.with_conv = with_conv if self.with_conv: # no asymmetric padding in torch conv, must do it ourselves - self.conv = ops.Conv2d(in_channels, + self.conv = conv_op(in_channels, in_channels, kernel_size=3, - stride=2, + stride=stride, padding=0) def forward(self, x): if self.with_conv: - pad = (0,1,0,1) - x = torch.nn.functional.pad(x, pad, mode="constant", value=0) + if x.ndim == 4: + pad = (0, 1, 0, 1) + mode = "constant" + x = torch.nn.functional.pad(x, pad, mode=mode, value=0) + elif x.ndim == 5: + pad = (1, 1, 1, 1, 2, 0) + mode = "replicate" + x = torch.nn.functional.pad(x, pad, mode=mode) x = self.conv(x) else: x = torch.nn.functional.avg_pool2d(x, kernel_size=2, stride=2) @@ -97,7 +145,7 @@ class Downsample(nn.Module): class ResnetBlock(nn.Module): def __init__(self, *, in_channels, out_channels=None, conv_shortcut=False, - dropout, temb_channels=512): + dropout, temb_channels=512, conv_op=ops.Conv2d): super().__init__() self.in_channels = in_channels out_channels = in_channels if out_channels is None else out_channels @@ -106,7 +154,7 @@ class ResnetBlock(nn.Module): self.swish = torch.nn.SiLU(inplace=True) self.norm1 = Normalize(in_channels) - self.conv1 = ops.Conv2d(in_channels, + self.conv1 = conv_op(in_channels, out_channels, kernel_size=3, stride=1, @@ -116,20 +164,20 @@ class ResnetBlock(nn.Module): out_channels) self.norm2 = Normalize(out_channels) self.dropout = torch.nn.Dropout(dropout, inplace=True) - self.conv2 = ops.Conv2d(out_channels, + self.conv2 = conv_op(out_channels, out_channels, kernel_size=3, stride=1, padding=1) if self.in_channels != self.out_channels: if self.use_conv_shortcut: - self.conv_shortcut = ops.Conv2d(in_channels, + self.conv_shortcut = conv_op(in_channels, out_channels, kernel_size=3, stride=1, padding=1) else: - self.nin_shortcut = ops.Conv2d(in_channels, + self.nin_shortcut = conv_op(in_channels, out_channels, kernel_size=1, stride=1, @@ -163,7 +211,6 @@ def slice_attention(q, k, v): mem_free_total = model_management.get_free_memory(q.device) - gb = 1024 ** 3 tensor_size = q.shape[0] * q.shape[1] * k.shape[2] * q.element_size() modifier = 3 if q.element_size() == 2 else 2.5 mem_required = tensor_size * modifier @@ -196,21 +243,25 @@ def slice_attention(q, k, v): def normal_attention(q, k, v): # compute attention - b,c,h,w = q.shape + orig_shape = q.shape + b = orig_shape[0] + c = orig_shape[1] - q = q.reshape(b,c,h*w) - q = q.permute(0,2,1) # b,hw,c - k = k.reshape(b,c,h*w) # b,c,hw - v = v.reshape(b,c,h*w) + q = q.reshape(b, c, -1) + q = q.permute(0, 2, 1) # b,hw,c + k = k.reshape(b, c, -1) # b,c,hw + v = v.reshape(b, c, -1) r1 = slice_attention(q, k, v) - h_ = r1.reshape(b,c,h,w) + h_ = r1.reshape(orig_shape) del r1 return h_ def xformers_attention(q, k, v): # compute attention - B, C, H, W = q.shape + orig_shape = q.shape + B = orig_shape[0] + C = orig_shape[1] q, k, v = map( lambda t: t.view(B, C, -1).transpose(1, 2).contiguous(), (q, k, v), @@ -218,14 +269,16 @@ def xformers_attention(q, k, v): try: out = xformers.ops.memory_efficient_attention(q, k, v, attn_bias=None) - out = out.transpose(1, 2).reshape(B, C, H, W) - except NotImplementedError as e: - out = slice_attention(q.view(B, -1, C), k.view(B, -1, C).transpose(1, 2), v.view(B, -1, C).transpose(1, 2)).reshape(B, C, H, W) + out = out.transpose(1, 2).reshape(orig_shape) + except NotImplementedError: + out = slice_attention(q.view(B, -1, C), k.view(B, -1, C).transpose(1, 2), v.view(B, -1, C).transpose(1, 2)).reshape(orig_shape) return out def pytorch_attention(q, k, v): # compute attention - B, C, H, W = q.shape + orig_shape = q.shape + B = orig_shape[0] + C = orig_shape[1] q, k, v = map( lambda t: t.view(B, 1, C, -1).transpose(2, 3).contiguous(), (q, k, v), @@ -233,49 +286,52 @@ def pytorch_attention(q, k, v): try: out = torch.nn.functional.scaled_dot_product_attention(q, k, v, attn_mask=None, dropout_p=0.0, is_causal=False) - out = out.transpose(2, 3).reshape(B, C, H, W) - except model_management.OOM_EXCEPTION as e: + out = out.transpose(2, 3).reshape(orig_shape) + except model_management.OOM_EXCEPTION: logging.warning("scaled_dot_product_attention OOMed: switched to slice attention") - out = slice_attention(q.view(B, -1, C), k.view(B, -1, C).transpose(1, 2), v.view(B, -1, C).transpose(1, 2)).reshape(B, C, H, W) + out = slice_attention(q.view(B, -1, C), k.view(B, -1, C).transpose(1, 2), v.view(B, -1, C).transpose(1, 2)).reshape(orig_shape) return out +def vae_attention(): + if model_management.xformers_enabled_vae(): + logging.info("Using xformers attention in VAE") + return xformers_attention + elif model_management.pytorch_attention_enabled(): + logging.info("Using pytorch attention in VAE") + return pytorch_attention + else: + logging.info("Using split attention in VAE") + return normal_attention + class AttnBlock(nn.Module): - def __init__(self, in_channels): + def __init__(self, in_channels, conv_op=ops.Conv2d): super().__init__() self.in_channels = in_channels self.norm = Normalize(in_channels) - self.q = ops.Conv2d(in_channels, + self.q = conv_op(in_channels, in_channels, kernel_size=1, stride=1, padding=0) - self.k = ops.Conv2d(in_channels, + self.k = conv_op(in_channels, in_channels, kernel_size=1, stride=1, padding=0) - self.v = ops.Conv2d(in_channels, + self.v = conv_op(in_channels, in_channels, kernel_size=1, stride=1, padding=0) - self.proj_out = ops.Conv2d(in_channels, + self.proj_out = conv_op(in_channels, in_channels, kernel_size=1, stride=1, padding=0) - if model_management.xformers_enabled_vae(): - logging.info("Using xformers attention in VAE") - self.optimized_attention = xformers_attention - elif model_management.pytorch_attention_enabled(): - logging.info("Using pytorch attention in VAE") - self.optimized_attention = pytorch_attention - else: - logging.info("Using split attention in VAE") - self.optimized_attention = normal_attention + self.optimized_attention = vae_attention() def forward(self, x): h_ = x @@ -291,8 +347,8 @@ class AttnBlock(nn.Module): return x+h_ -def make_attn(in_channels, attn_type="vanilla", attn_kwargs=None): - return AttnBlock(in_channels) +def make_attn(in_channels, attn_type="vanilla", attn_kwargs=None, conv_op=ops.Conv2d): + return AttnBlock(in_channels, conv_op=conv_op) class Model(nn.Module): @@ -451,6 +507,7 @@ class Encoder(nn.Module): def __init__(self, *, ch, out_ch, ch_mult=(1,2,4,8), num_res_blocks, attn_resolutions, dropout=0.0, resamp_with_conv=True, in_channels, resolution, z_channels, double_z=True, use_linear_attn=False, attn_type="vanilla", + conv3d=False, time_compress=None, **ignore_kwargs): super().__init__() if use_linear_attn: attn_type = "linear" @@ -461,8 +518,15 @@ class Encoder(nn.Module): self.resolution = resolution self.in_channels = in_channels + if conv3d: + conv_op = VideoConv3d + mid_attn_conv_op = ops.Conv3d + else: + conv_op = ops.Conv2d + mid_attn_conv_op = ops.Conv2d + # downsampling - self.conv_in = ops.Conv2d(in_channels, + self.conv_in = conv_op(in_channels, self.ch, kernel_size=3, stride=1, @@ -481,15 +545,20 @@ class Encoder(nn.Module): block.append(ResnetBlock(in_channels=block_in, out_channels=block_out, temb_channels=self.temb_ch, - dropout=dropout)) + dropout=dropout, + conv_op=conv_op)) block_in = block_out if curr_res in attn_resolutions: - attn.append(make_attn(block_in, attn_type=attn_type)) + attn.append(make_attn(block_in, attn_type=attn_type, conv_op=conv_op)) down = nn.Module() down.block = block down.attn = attn if i_level != self.num_resolutions-1: - down.downsample = Downsample(block_in, resamp_with_conv) + stride = 2 + if time_compress is not None: + if (self.num_resolutions - 1 - i_level) > math.log2(time_compress): + stride = (1, 2, 2) + down.downsample = Downsample(block_in, resamp_with_conv, stride=stride, conv_op=conv_op) curr_res = curr_res // 2 self.down.append(down) @@ -498,16 +567,18 @@ class Encoder(nn.Module): self.mid.block_1 = ResnetBlock(in_channels=block_in, out_channels=block_in, temb_channels=self.temb_ch, - dropout=dropout) - self.mid.attn_1 = make_attn(block_in, attn_type=attn_type) + dropout=dropout, + conv_op=conv_op) + self.mid.attn_1 = make_attn(block_in, attn_type=attn_type, conv_op=mid_attn_conv_op) self.mid.block_2 = ResnetBlock(in_channels=block_in, out_channels=block_in, temb_channels=self.temb_ch, - dropout=dropout) + dropout=dropout, + conv_op=conv_op) # end self.norm_out = Normalize(block_in) - self.conv_out = ops.Conv2d(block_in, + self.conv_out = conv_op(block_in, 2*z_channels if double_z else z_channels, kernel_size=3, stride=1, @@ -545,9 +616,10 @@ class Decoder(nn.Module): conv_out_op=ops.Conv2d, resnet_op=ResnetBlock, attn_op=AttnBlock, + conv3d=False, + time_compress=None, **ignorekwargs): super().__init__() - if use_linear_attn: attn_type = "linear" self.ch = ch self.temb_ch = 0 self.num_resolutions = len(ch_mult) @@ -557,8 +629,15 @@ class Decoder(nn.Module): self.give_pre_end = give_pre_end self.tanh_out = tanh_out - # compute in_ch_mult, block_in and curr_res at lowest res - in_ch_mult = (1,)+tuple(ch_mult) + if conv3d: + conv_op = VideoConv3d + conv_out_op = VideoConv3d + mid_attn_conv_op = ops.Conv3d + else: + conv_op = ops.Conv2d + mid_attn_conv_op = ops.Conv2d + + # compute block_in and curr_res at lowest res block_in = ch*ch_mult[self.num_resolutions-1] curr_res = resolution // 2**(self.num_resolutions-1) self.z_shape = (1,z_channels,curr_res,curr_res) @@ -566,7 +645,7 @@ class Decoder(nn.Module): self.z_shape, np.prod(self.z_shape))) # z to block_in - self.conv_in = ops.Conv2d(z_channels, + self.conv_in = conv_op(z_channels, block_in, kernel_size=3, stride=1, @@ -577,12 +656,14 @@ class Decoder(nn.Module): self.mid.block_1 = resnet_op(in_channels=block_in, out_channels=block_in, temb_channels=self.temb_ch, - dropout=dropout) - self.mid.attn_1 = attn_op(block_in) + dropout=dropout, + conv_op=conv_op) + self.mid.attn_1 = attn_op(block_in, conv_op=mid_attn_conv_op) self.mid.block_2 = resnet_op(in_channels=block_in, out_channels=block_in, temb_channels=self.temb_ch, - dropout=dropout) + dropout=dropout, + conv_op=conv_op) # upsampling self.up = nn.ModuleList() @@ -594,15 +675,21 @@ class Decoder(nn.Module): block.append(resnet_op(in_channels=block_in, out_channels=block_out, temb_channels=self.temb_ch, - dropout=dropout)) + dropout=dropout, + conv_op=conv_op)) block_in = block_out if curr_res in attn_resolutions: - attn.append(attn_op(block_in)) + attn.append(attn_op(block_in, conv_op=conv_op)) up = nn.Module() up.block = block up.attn = attn if i_level != 0: - up.upsample = Upsample(block_in, resamp_with_conv) + scale_factor = 2.0 + if time_compress is not None: + if i_level > math.log2(time_compress): + scale_factor = (1.0, 2.0, 2.0) + + up.upsample = Upsample(block_in, resamp_with_conv, conv_op=conv_op, scale_factor=scale_factor) curr_res = curr_res * 2 self.up.insert(0, up) # prepend to get consistent order @@ -615,9 +702,6 @@ class Decoder(nn.Module): padding=1) def forward(self, z, **kwargs): - #assert z.shape[1:] == self.z_shape[1:] - self.last_z_shape = z.shape - # timestep embedding temb = None diff --git a/comfy/ldm/modules/diffusionmodules/openaimodel.py b/comfy/ldm/modules/diffusionmodules/openaimodel.py index 6535e899c..4c8d53cac 100644 --- a/comfy/ldm/modules/diffusionmodules/openaimodel.py +++ b/comfy/ldm/modules/diffusionmodules/openaimodel.py @@ -9,12 +9,12 @@ import logging from .util import ( checkpoint, avg_pool_nd, - zero_module, timestep_embedding, AlphaBlender, ) from ..attention import SpatialTransformer, SpatialVideoTransformer, default from comfy.ldm.util import exists +import comfy.patcher_extension import comfy.ops ops = comfy.ops.disable_weight_init @@ -47,6 +47,15 @@ def forward_timestep_embed(ts, x, emb, context=None, transformer_options={}, out elif isinstance(layer, Upsample): x = layer(x, output_shape=output_shape) else: + if "patches" in transformer_options and "forward_timestep_embed_patch" in transformer_options["patches"]: + found_patched = False + for class_type, handler in transformer_options["patches"]["forward_timestep_embed_patch"]: + if isinstance(layer, class_type): + x = handler(layer, x, emb, context, transformer_options, output_shape, time_context, num_video_frames, image_only_indicator) + found_patched = True + break + if found_patched: + continue x = layer(x) return x @@ -819,6 +828,13 @@ class UNetModel(nn.Module): ) def forward(self, x, timesteps=None, context=None, y=None, control=None, transformer_options={}, **kwargs): + return comfy.patcher_extension.WrapperExecutor.new_class_executor( + self._forward, + self, + comfy.patcher_extension.get_all_wrappers(comfy.patcher_extension.WrappersMP.DIFFUSION_MODEL, transformer_options) + ).execute(x, timesteps, context, y, control, transformer_options, **kwargs) + + def _forward(self, x, timesteps=None, context=None, y=None, control=None, transformer_options={}, **kwargs): """ Apply the model to an input batch. :param x: an [N x C x ...] Tensor of inputs. @@ -842,6 +858,11 @@ class UNetModel(nn.Module): t_emb = timestep_embedding(timesteps, self.model_channels, repeat_only=False).to(x.dtype) emb = self.time_embed(t_emb) + if "emb_patch" in transformer_patches: + patch = transformer_patches["emb_patch"] + for p in patch: + emb = p(emb, self.model_channels, transformer_options) + if self.num_classes is not None: assert y.shape[0] == x.shape[0] emb = emb + self.label_emb(y) diff --git a/comfy/ldm/modules/diffusionmodules/upscaling.py b/comfy/ldm/modules/diffusionmodules/upscaling.py index f5ac7c2f9..9dbf1fe7b 100644 --- a/comfy/ldm/modules/diffusionmodules/upscaling.py +++ b/comfy/ldm/modules/diffusionmodules/upscaling.py @@ -4,7 +4,6 @@ import numpy as np from functools import partial from .util import extract_into_tensor, make_beta_schedule -from comfy.ldm.util import default class AbstractLowScaleModel(nn.Module): diff --git a/comfy/ldm/modules/diffusionmodules/util.py b/comfy/ldm/modules/diffusionmodules/util.py index ce14ad5e1..233011dc9 100644 --- a/comfy/ldm/modules/diffusionmodules/util.py +++ b/comfy/ldm/modules/diffusionmodules/util.py @@ -8,8 +8,8 @@ # thanks! -import os import math +import logging import torch import torch.nn as nn import numpy as np @@ -131,7 +131,7 @@ def make_ddim_timesteps(ddim_discr_method, num_ddim_timesteps, num_ddpm_timestep # add one to get the final alpha values right (the ones from first scale to data during sampling) steps_out = ddim_timesteps + 1 if verbose: - print(f'Selected timesteps for ddim sampler: {steps_out}') + logging.info(f'Selected timesteps for ddim sampler: {steps_out}') return steps_out @@ -143,8 +143,8 @@ def make_ddim_sampling_parameters(alphacums, ddim_timesteps, eta, verbose=True): # according the the formula provided in https://arxiv.org/abs/2010.02502 sigmas = eta * np.sqrt((1 - alphas_prev) / (1 - alphas) * (1 - alphas / alphas_prev)) if verbose: - print(f'Selected alphas for ddim sampler: a_t: {alphas}; a_(t-1): {alphas_prev}') - print(f'For the chosen value of eta, which is {eta}, ' + logging.info(f'Selected alphas for ddim sampler: a_t: {alphas}; a_(t-1): {alphas_prev}') + logging.info(f'For the chosen value of eta, which is {eta}, ' f'this results in the following sigma_t schedule for ddim sampler {sigmas}') return sigmas, alphas, alphas_prev diff --git a/comfy/ldm/modules/distributions/distributions.py b/comfy/ldm/modules/distributions/distributions.py index f2b8ef901..df987c5ec 100644 --- a/comfy/ldm/modules/distributions/distributions.py +++ b/comfy/ldm/modules/distributions/distributions.py @@ -30,10 +30,10 @@ class DiagonalGaussianDistribution(object): self.std = torch.exp(0.5 * self.logvar) self.var = torch.exp(self.logvar) if self.deterministic: - self.var = self.std = torch.zeros_like(self.mean).to(device=self.parameters.device) + self.var = self.std = torch.zeros_like(self.mean, device=self.parameters.device) def sample(self): - x = self.mean + self.std * torch.randn(self.mean.shape).to(device=self.parameters.device) + x = self.mean + self.std * torch.randn(self.mean.shape, device=self.parameters.device) return x def kl(self, other=None): diff --git a/comfy/ldm/modules/sub_quadratic_attention.py b/comfy/ldm/modules/sub_quadratic_attention.py index 1bc4138c3..21c72373f 100644 --- a/comfy/ldm/modules/sub_quadratic_attention.py +++ b/comfy/ldm/modules/sub_quadratic_attention.py @@ -17,12 +17,11 @@ import math import logging try: - from typing import Optional, NamedTuple, List, Protocol + from typing import Optional, NamedTuple, List, Protocol except ImportError: - from typing import Optional, NamedTuple, List - from typing_extensions import Protocol + from typing import Optional, NamedTuple, List + from typing_extensions import Protocol -from torch import Tensor from typing import List from comfy import model_management @@ -172,7 +171,7 @@ def _get_attention_scores_no_kv_chunking( del attn_scores except model_management.OOM_EXCEPTION: logging.warning("ran out of memory while running softmax in _get_attention_scores_no_kv_chunking, trying slower in place softmax instead") - attn_scores -= attn_scores.max(dim=-1, keepdim=True).values + attn_scores -= attn_scores.max(dim=-1, keepdim=True).values # noqa: F821 attn_scores is not defined torch.exp(attn_scores, out=attn_scores) summed = torch.sum(attn_scores, dim=-1, keepdim=True) attn_scores /= summed @@ -234,6 +233,8 @@ def efficient_dot_product_attention( def get_mask_chunk(chunk_idx: int) -> Tensor: if mask is None: return None + if mask.shape[1] == 1: + return mask chunk = min(query_chunk_size, q_tokens) return mask[:,chunk_idx:chunk_idx + chunk] @@ -260,7 +261,7 @@ def efficient_dot_product_attention( value=value, mask=mask, ) - + # TODO: maybe we should use torch.empty_like(query) to allocate storage in-advance, # and pass slices to be mutated, instead of torch.cat()ing the returned slices res = torch.cat([ diff --git a/comfy/ldm/modules/temporal_ae.py b/comfy/ldm/modules/temporal_ae.py index 2992aeafc..e0f78bf66 100644 --- a/comfy/ldm/modules/temporal_ae.py +++ b/comfy/ldm/modules/temporal_ae.py @@ -1,5 +1,5 @@ import functools -from typing import Callable, Iterable, Union +from typing import Iterable, Union import torch from einops import rearrange, repeat @@ -194,6 +194,7 @@ def make_time_attn( attn_kwargs=None, alpha: float = 0, merge_strategy: str = "learned", + conv_op=ops.Conv2d, ): return partialclass( AttnVideoBlock, in_channels, alpha=alpha, merge_strategy=merge_strategy diff --git a/comfy/ldm/pixart/blocks.py b/comfy/ldm/pixart/blocks.py new file mode 100644 index 000000000..2225076e5 --- /dev/null +++ b/comfy/ldm/pixart/blocks.py @@ -0,0 +1,380 @@ +# Based on: +# https://github.com/PixArt-alpha/PixArt-alpha [Apache 2.0 license] +# https://github.com/PixArt-alpha/PixArt-sigma [Apache 2.0 license] +import torch +import torch.nn as nn +import torch.nn.functional as F +from einops import rearrange + +from comfy.ldm.modules.diffusionmodules.mmdit import TimestepEmbedder, Mlp, timestep_embedding +from comfy.ldm.modules.attention import optimized_attention + +# if model_management.xformers_enabled(): +# import xformers.ops +# if int((xformers.__version__).split(".")[2].split("+")[0]) >= 28: +# block_diagonal_mask_from_seqlens = xformers.ops.fmha.attn_bias.BlockDiagonalMask.from_seqlens +# else: +# block_diagonal_mask_from_seqlens = xformers.ops.fmha.BlockDiagonalMask.from_seqlens + +def modulate(x, shift, scale): + return x * (1 + scale.unsqueeze(1)) + shift.unsqueeze(1) + +def t2i_modulate(x, shift, scale): + return x * (1 + scale) + shift + +class MultiHeadCrossAttention(nn.Module): + def __init__(self, d_model, num_heads, attn_drop=0., proj_drop=0., dtype=None, device=None, operations=None, **kwargs): + super(MultiHeadCrossAttention, self).__init__() + assert d_model % num_heads == 0, "d_model must be divisible by num_heads" + + self.d_model = d_model + self.num_heads = num_heads + self.head_dim = d_model // num_heads + + self.q_linear = operations.Linear(d_model, d_model, dtype=dtype, device=device) + self.kv_linear = operations.Linear(d_model, d_model*2, dtype=dtype, device=device) + self.attn_drop = nn.Dropout(attn_drop) + self.proj = operations.Linear(d_model, d_model, dtype=dtype, device=device) + self.proj_drop = nn.Dropout(proj_drop) + + def forward(self, x, cond, mask=None): + # query/value: img tokens; key: condition; mask: if padding tokens + B, N, C = x.shape + + q = self.q_linear(x).view(1, -1, self.num_heads, self.head_dim) + kv = self.kv_linear(cond).view(1, -1, 2, self.num_heads, self.head_dim) + k, v = kv.unbind(2) + + assert mask is None # TODO? + # # TODO: xformers needs separate mask logic here + # if model_management.xformers_enabled(): + # attn_bias = None + # if mask is not None: + # attn_bias = block_diagonal_mask_from_seqlens([N] * B, mask) + # x = xformers.ops.memory_efficient_attention(q, k, v, p=0, attn_bias=attn_bias) + # else: + # q, k, v = map(lambda t: t.transpose(1, 2), (q, k, v),) + # attn_mask = None + # mask = torch.ones(()) + # if mask is not None and len(mask) > 1: + # # Create equivalent of xformer diagonal block mask, still only correct for square masks + # # But depth doesn't matter as tensors can expand in that dimension + # attn_mask_template = torch.ones( + # [q.shape[2] // B, mask[0]], + # dtype=torch.bool, + # device=q.device + # ) + # attn_mask = torch.block_diag(attn_mask_template) + # + # # create a mask on the diagonal for each mask in the batch + # for _ in range(B - 1): + # attn_mask = torch.block_diag(attn_mask, attn_mask_template) + # x = optimized_attention(q, k, v, self.num_heads, mask=attn_mask, skip_reshape=True) + + x = optimized_attention(q.view(B, -1, C), k.view(B, -1, C), v.view(B, -1, C), self.num_heads, mask=None) + x = self.proj(x) + x = self.proj_drop(x) + return x + + +class AttentionKVCompress(nn.Module): + """Multi-head Attention block with KV token compression and qk norm.""" + def __init__(self, dim, num_heads=8, qkv_bias=True, sampling='conv', sr_ratio=1, qk_norm=False, dtype=None, device=None, operations=None, **kwargs): + """ + Args: + dim (int): Number of input channels. + num_heads (int): Number of attention heads. + qkv_bias (bool: If True, add a learnable bias to query, key, value. + """ + super().__init__() + assert dim % num_heads == 0, 'dim should be divisible by num_heads' + self.num_heads = num_heads + self.head_dim = dim // num_heads + self.scale = self.head_dim ** -0.5 + + self.qkv = operations.Linear(dim, dim * 3, bias=qkv_bias, dtype=dtype, device=device) + self.proj = operations.Linear(dim, dim, dtype=dtype, device=device) + + self.sampling=sampling # ['conv', 'ave', 'uniform', 'uniform_every'] + self.sr_ratio = sr_ratio + if sr_ratio > 1 and sampling == 'conv': + # Avg Conv Init. + self.sr = operations.Conv2d(dim, dim, groups=dim, kernel_size=sr_ratio, stride=sr_ratio, dtype=dtype, device=device) + # self.sr.weight.data.fill_(1/sr_ratio**2) + # self.sr.bias.data.zero_() + self.norm = operations.LayerNorm(dim, dtype=dtype, device=device) + if qk_norm: + self.q_norm = operations.LayerNorm(dim, dtype=dtype, device=device) + self.k_norm = operations.LayerNorm(dim, dtype=dtype, device=device) + else: + self.q_norm = nn.Identity() + self.k_norm = nn.Identity() + + def downsample_2d(self, tensor, H, W, scale_factor, sampling=None): + if sampling is None or scale_factor == 1: + return tensor + B, N, C = tensor.shape + + if sampling == 'uniform_every': + return tensor[:, ::scale_factor], int(N // scale_factor) + + tensor = tensor.reshape(B, H, W, C).permute(0, 3, 1, 2) + new_H, new_W = int(H / scale_factor), int(W / scale_factor) + new_N = new_H * new_W + + if sampling == 'ave': + tensor = F.interpolate( + tensor, scale_factor=1 / scale_factor, mode='nearest' + ).permute(0, 2, 3, 1) + elif sampling == 'uniform': + tensor = tensor[:, :, ::scale_factor, ::scale_factor].permute(0, 2, 3, 1) + elif sampling == 'conv': + tensor = self.sr(tensor).reshape(B, C, -1).permute(0, 2, 1) + tensor = self.norm(tensor) + else: + raise ValueError + + return tensor.reshape(B, new_N, C).contiguous(), new_N + + def forward(self, x, mask=None, HW=None, block_id=None): + B, N, C = x.shape # 2 4096 1152 + new_N = N + if HW is None: + H = W = int(N ** 0.5) + else: + H, W = HW + qkv = self.qkv(x).reshape(B, N, 3, C) + + q, k, v = qkv.unbind(2) + q = self.q_norm(q) + k = self.k_norm(k) + + # KV compression + if self.sr_ratio > 1: + k, new_N = self.downsample_2d(k, H, W, self.sr_ratio, sampling=self.sampling) + v, new_N = self.downsample_2d(v, H, W, self.sr_ratio, sampling=self.sampling) + + q = q.reshape(B, N, self.num_heads, C // self.num_heads) + k = k.reshape(B, new_N, self.num_heads, C // self.num_heads) + v = v.reshape(B, new_N, self.num_heads, C // self.num_heads) + + if mask is not None: + raise NotImplementedError("Attn mask logic not added for self attention") + + # This is never called at the moment + # attn_bias = None + # if mask is not None: + # attn_bias = torch.zeros([B * self.num_heads, q.shape[1], k.shape[1]], dtype=q.dtype, device=q.device) + # attn_bias.masked_fill_(mask.squeeze(1).repeat(self.num_heads, 1, 1) == 0, float('-inf')) + + # attention 2 + q, k, v = map(lambda t: t.transpose(1, 2), (q, k, v),) + x = optimized_attention(q, k, v, self.num_heads, mask=None, skip_reshape=True) + + x = x.view(B, N, C) + x = self.proj(x) + return x + + +class FinalLayer(nn.Module): + """ + The final layer of PixArt. + """ + def __init__(self, hidden_size, patch_size, out_channels, dtype=None, device=None, operations=None): + super().__init__() + self.norm_final = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.linear = operations.Linear(hidden_size, patch_size * patch_size * out_channels, bias=True, dtype=dtype, device=device) + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), + operations.Linear(hidden_size, 2 * hidden_size, bias=True, dtype=dtype, device=device) + ) + + def forward(self, x, c): + shift, scale = self.adaLN_modulation(c).chunk(2, dim=1) + x = modulate(self.norm_final(x), shift, scale) + x = self.linear(x) + return x + +class T2IFinalLayer(nn.Module): + """ + The final layer of PixArt. + """ + def __init__(self, hidden_size, patch_size, out_channels, dtype=None, device=None, operations=None): + super().__init__() + self.norm_final = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.linear = operations.Linear(hidden_size, patch_size * patch_size * out_channels, bias=True, dtype=dtype, device=device) + self.scale_shift_table = nn.Parameter(torch.randn(2, hidden_size) / hidden_size ** 0.5) + self.out_channels = out_channels + + def forward(self, x, t): + shift, scale = (self.scale_shift_table[None].to(dtype=x.dtype, device=x.device) + t[:, None]).chunk(2, dim=1) + x = t2i_modulate(self.norm_final(x), shift, scale) + x = self.linear(x) + return x + + +class MaskFinalLayer(nn.Module): + """ + The final layer of PixArt. + """ + def __init__(self, final_hidden_size, c_emb_size, patch_size, out_channels, dtype=None, device=None, operations=None): + super().__init__() + self.norm_final = operations.LayerNorm(final_hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.linear = operations.Linear(final_hidden_size, patch_size * patch_size * out_channels, bias=True, dtype=dtype, device=device) + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), + operations.Linear(c_emb_size, 2 * final_hidden_size, bias=True, dtype=dtype, device=device) + ) + def forward(self, x, t): + shift, scale = self.adaLN_modulation(t).chunk(2, dim=1) + x = modulate(self.norm_final(x), shift, scale) + x = self.linear(x) + return x + + +class DecoderLayer(nn.Module): + """ + The final layer of PixArt. + """ + def __init__(self, hidden_size, decoder_hidden_size, dtype=None, device=None, operations=None): + super().__init__() + self.norm_decoder = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.linear = operations.Linear(hidden_size, decoder_hidden_size, bias=True, dtype=dtype, device=device) + self.adaLN_modulation = nn.Sequential( + nn.SiLU(), + operations.Linear(hidden_size, 2 * hidden_size, bias=True, dtype=dtype, device=device) + ) + def forward(self, x, t): + shift, scale = self.adaLN_modulation(t).chunk(2, dim=1) + x = modulate(self.norm_decoder(x), shift, scale) + x = self.linear(x) + return x + + +class SizeEmbedder(TimestepEmbedder): + """ + Embeds scalar timesteps into vector representations. + """ + def __init__(self, hidden_size, frequency_embedding_size=256, dtype=None, device=None, operations=None): + super().__init__(hidden_size=hidden_size, frequency_embedding_size=frequency_embedding_size, operations=operations) + self.mlp = nn.Sequential( + operations.Linear(frequency_embedding_size, hidden_size, bias=True, dtype=dtype, device=device), + nn.SiLU(), + operations.Linear(hidden_size, hidden_size, bias=True, dtype=dtype, device=device), + ) + self.frequency_embedding_size = frequency_embedding_size + self.outdim = hidden_size + + def forward(self, s, bs): + if s.ndim == 1: + s = s[:, None] + assert s.ndim == 2 + if s.shape[0] != bs: + s = s.repeat(bs//s.shape[0], 1) + assert s.shape[0] == bs + b, dims = s.shape[0], s.shape[1] + s = rearrange(s, "b d -> (b d)") + s_freq = timestep_embedding(s, self.frequency_embedding_size) + s_emb = self.mlp(s_freq.to(s.dtype)) + s_emb = rearrange(s_emb, "(b d) d2 -> b (d d2)", b=b, d=dims, d2=self.outdim) + return s_emb + + +class LabelEmbedder(nn.Module): + """ + Embeds class labels into vector representations. Also handles label dropout for classifier-free guidance. + """ + def __init__(self, num_classes, hidden_size, dropout_prob, dtype=None, device=None, operations=None): + super().__init__() + use_cfg_embedding = dropout_prob > 0 + self.embedding_table = operations.Embedding(num_classes + use_cfg_embedding, hidden_size, dtype=dtype, device=device), + self.num_classes = num_classes + self.dropout_prob = dropout_prob + + def token_drop(self, labels, force_drop_ids=None): + """ + Drops labels to enable classifier-free guidance. + """ + if force_drop_ids is None: + drop_ids = torch.rand(labels.shape[0]).cuda() < self.dropout_prob + else: + drop_ids = force_drop_ids == 1 + labels = torch.where(drop_ids, self.num_classes, labels) + return labels + + def forward(self, labels, train, force_drop_ids=None): + use_dropout = self.dropout_prob > 0 + if (train and use_dropout) or (force_drop_ids is not None): + labels = self.token_drop(labels, force_drop_ids) + embeddings = self.embedding_table(labels) + return embeddings + + +class CaptionEmbedder(nn.Module): + """ + Embeds class labels into vector representations. Also handles label dropout for classifier-free guidance. + """ + def __init__(self, in_channels, hidden_size, uncond_prob, act_layer=nn.GELU(approximate='tanh'), token_num=120, dtype=None, device=None, operations=None): + super().__init__() + self.y_proj = Mlp( + in_features=in_channels, hidden_features=hidden_size, out_features=hidden_size, act_layer=act_layer, + dtype=dtype, device=device, operations=operations, + ) + self.register_buffer("y_embedding", nn.Parameter(torch.randn(token_num, in_channels) / in_channels ** 0.5)) + self.uncond_prob = uncond_prob + + def token_drop(self, caption, force_drop_ids=None): + """ + Drops labels to enable classifier-free guidance. + """ + if force_drop_ids is None: + drop_ids = torch.rand(caption.shape[0]).cuda() < self.uncond_prob + else: + drop_ids = force_drop_ids == 1 + caption = torch.where(drop_ids[:, None, None, None], self.y_embedding, caption) + return caption + + def forward(self, caption, train, force_drop_ids=None): + if train: + assert caption.shape[2:] == self.y_embedding.shape + use_dropout = self.uncond_prob > 0 + if (train and use_dropout) or (force_drop_ids is not None): + caption = self.token_drop(caption, force_drop_ids) + caption = self.y_proj(caption) + return caption + + +class CaptionEmbedderDoubleBr(nn.Module): + """ + Embeds class labels into vector representations. Also handles label dropout for classifier-free guidance. + """ + def __init__(self, in_channels, hidden_size, uncond_prob, act_layer=nn.GELU(approximate='tanh'), token_num=120, dtype=None, device=None, operations=None): + super().__init__() + self.proj = Mlp( + in_features=in_channels, hidden_features=hidden_size, out_features=hidden_size, act_layer=act_layer, + dtype=dtype, device=device, operations=operations, + ) + self.embedding = nn.Parameter(torch.randn(1, in_channels) / 10 ** 0.5) + self.y_embedding = nn.Parameter(torch.randn(token_num, in_channels) / 10 ** 0.5) + self.uncond_prob = uncond_prob + + def token_drop(self, global_caption, caption, force_drop_ids=None): + """ + Drops labels to enable classifier-free guidance. + """ + if force_drop_ids is None: + drop_ids = torch.rand(global_caption.shape[0]).cuda() < self.uncond_prob + else: + drop_ids = force_drop_ids == 1 + global_caption = torch.where(drop_ids[:, None], self.embedding, global_caption) + caption = torch.where(drop_ids[:, None, None, None], self.y_embedding, caption) + return global_caption, caption + + def forward(self, caption, train, force_drop_ids=None): + assert caption.shape[2: ] == self.y_embedding.shape + global_caption = caption.mean(dim=2).squeeze() + use_dropout = self.uncond_prob > 0 + if (train and use_dropout) or (force_drop_ids is not None): + global_caption, caption = self.token_drop(global_caption, caption, force_drop_ids) + y_embed = self.proj(global_caption) + return y_embed, caption diff --git a/comfy/ldm/pixart/pixartms.py b/comfy/ldm/pixart/pixartms.py new file mode 100644 index 000000000..7d4eebdce --- /dev/null +++ b/comfy/ldm/pixart/pixartms.py @@ -0,0 +1,256 @@ +# Based on: +# https://github.com/PixArt-alpha/PixArt-alpha [Apache 2.0 license] +# https://github.com/PixArt-alpha/PixArt-sigma [Apache 2.0 license] +import torch +import torch.nn as nn + +from .blocks import ( + t2i_modulate, + CaptionEmbedder, + AttentionKVCompress, + MultiHeadCrossAttention, + T2IFinalLayer, + SizeEmbedder, +) +from comfy.ldm.modules.diffusionmodules.mmdit import TimestepEmbedder, PatchEmbed, Mlp, get_1d_sincos_pos_embed_from_grid_torch + + +def get_2d_sincos_pos_embed_torch(embed_dim, w, h, pe_interpolation=1.0, base_size=16, device=None, dtype=torch.float32): + grid_h, grid_w = torch.meshgrid( + torch.arange(h, device=device, dtype=dtype) / (h/base_size) / pe_interpolation, + torch.arange(w, device=device, dtype=dtype) / (w/base_size) / pe_interpolation, + indexing='ij' + ) + emb_h = get_1d_sincos_pos_embed_from_grid_torch(embed_dim // 2, grid_h, device=device, dtype=dtype) + emb_w = get_1d_sincos_pos_embed_from_grid_torch(embed_dim // 2, grid_w, device=device, dtype=dtype) + emb = torch.cat([emb_w, emb_h], dim=1) # (H*W, D) + return emb + +class PixArtMSBlock(nn.Module): + """ + A PixArt block with adaptive layer norm zero (adaLN-Zero) conditioning. + """ + def __init__(self, hidden_size, num_heads, mlp_ratio=4.0, drop_path=0., input_size=None, + sampling=None, sr_ratio=1, qk_norm=False, dtype=None, device=None, operations=None, **block_kwargs): + super().__init__() + self.hidden_size = hidden_size + self.norm1 = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + self.attn = AttentionKVCompress( + hidden_size, num_heads=num_heads, qkv_bias=True, sampling=sampling, sr_ratio=sr_ratio, + qk_norm=qk_norm, dtype=dtype, device=device, operations=operations, **block_kwargs + ) + self.cross_attn = MultiHeadCrossAttention( + hidden_size, num_heads, dtype=dtype, device=device, operations=operations, **block_kwargs + ) + self.norm2 = operations.LayerNorm(hidden_size, elementwise_affine=False, eps=1e-6, dtype=dtype, device=device) + # to be compatible with lower version pytorch + approx_gelu = lambda: nn.GELU(approximate="tanh") + self.mlp = Mlp( + in_features=hidden_size, hidden_features=int(hidden_size * mlp_ratio), act_layer=approx_gelu, + dtype=dtype, device=device, operations=operations + ) + self.scale_shift_table = nn.Parameter(torch.randn(6, hidden_size) / hidden_size ** 0.5) + + def forward(self, x, y, t, mask=None, HW=None, **kwargs): + B, N, C = x.shape + + shift_msa, scale_msa, gate_msa, shift_mlp, scale_mlp, gate_mlp = (self.scale_shift_table[None].to(dtype=x.dtype, device=x.device) + t.reshape(B, 6, -1)).chunk(6, dim=1) + x = x + (gate_msa * self.attn(t2i_modulate(self.norm1(x), shift_msa, scale_msa), HW=HW)) + x = x + self.cross_attn(x, y, mask) + x = x + (gate_mlp * self.mlp(t2i_modulate(self.norm2(x), shift_mlp, scale_mlp))) + + return x + + +### Core PixArt Model ### +class PixArtMS(nn.Module): + """ + Diffusion model with a Transformer backbone. + """ + def __init__( + self, + input_size=32, + patch_size=2, + in_channels=4, + hidden_size=1152, + depth=28, + num_heads=16, + mlp_ratio=4.0, + class_dropout_prob=0.1, + learn_sigma=True, + pred_sigma=True, + drop_path: float = 0., + caption_channels=4096, + pe_interpolation=None, + pe_precision=None, + config=None, + model_max_length=120, + micro_condition=True, + qk_norm=False, + kv_compress_config=None, + dtype=None, + device=None, + operations=None, + **kwargs, + ): + nn.Module.__init__(self) + self.dtype = dtype + self.pred_sigma = pred_sigma + self.in_channels = in_channels + self.out_channels = in_channels * 2 if pred_sigma else in_channels + self.patch_size = patch_size + self.num_heads = num_heads + self.pe_interpolation = pe_interpolation + self.pe_precision = pe_precision + self.hidden_size = hidden_size + self.depth = depth + + approx_gelu = lambda: nn.GELU(approximate="tanh") + self.t_block = nn.Sequential( + nn.SiLU(), + operations.Linear(hidden_size, 6 * hidden_size, bias=True, dtype=dtype, device=device) + ) + self.x_embedder = PatchEmbed( + patch_size=patch_size, + in_chans=in_channels, + embed_dim=hidden_size, + bias=True, + dtype=dtype, + device=device, + operations=operations + ) + self.t_embedder = TimestepEmbedder( + hidden_size, dtype=dtype, device=device, operations=operations, + ) + self.y_embedder = CaptionEmbedder( + in_channels=caption_channels, hidden_size=hidden_size, uncond_prob=class_dropout_prob, + act_layer=approx_gelu, token_num=model_max_length, + dtype=dtype, device=device, operations=operations, + ) + + self.micro_conditioning = micro_condition + if self.micro_conditioning: + self.csize_embedder = SizeEmbedder(hidden_size//3, dtype=dtype, device=device, operations=operations) + self.ar_embedder = SizeEmbedder(hidden_size//3, dtype=dtype, device=device, operations=operations) + + # For fixed sin-cos embedding: + # num_patches = (input_size // patch_size) * (input_size // patch_size) + # self.base_size = input_size // self.patch_size + # self.register_buffer("pos_embed", torch.zeros(1, num_patches, hidden_size)) + + drop_path = [x.item() for x in torch.linspace(0, drop_path, depth)] # stochastic depth decay rule + if kv_compress_config is None: + kv_compress_config = { + 'sampling': None, + 'scale_factor': 1, + 'kv_compress_layer': [], + } + self.blocks = nn.ModuleList([ + PixArtMSBlock( + hidden_size, num_heads, mlp_ratio=mlp_ratio, drop_path=drop_path[i], + sampling=kv_compress_config['sampling'], + sr_ratio=int(kv_compress_config['scale_factor']) if i in kv_compress_config['kv_compress_layer'] else 1, + qk_norm=qk_norm, + dtype=dtype, + device=device, + operations=operations, + ) + for i in range(depth) + ]) + self.final_layer = T2IFinalLayer( + hidden_size, patch_size, self.out_channels, dtype=dtype, device=device, operations=operations + ) + + def forward_orig(self, x, timestep, y, mask=None, c_size=None, c_ar=None, **kwargs): + """ + Original forward pass of PixArt. + x: (N, C, H, W) tensor of spatial inputs (images or latent representations of images) + t: (N,) tensor of diffusion timesteps + y: (N, 1, 120, C) conditioning + ar: (N, 1): aspect ratio + cs: (N ,2) size conditioning for height/width + """ + B, C, H, W = x.shape + c_res = (H + W) // 2 + pe_interpolation = self.pe_interpolation + if pe_interpolation is None or self.pe_precision is not None: + # calculate pe_interpolation on-the-fly + pe_interpolation = round(c_res / (512/8.0), self.pe_precision or 0) + + pos_embed = get_2d_sincos_pos_embed_torch( + self.hidden_size, + h=(H // self.patch_size), + w=(W // self.patch_size), + pe_interpolation=pe_interpolation, + base_size=((round(c_res / 64) * 64) // self.patch_size), + device=x.device, + dtype=x.dtype, + ).unsqueeze(0) + + x = self.x_embedder(x) + pos_embed # (N, T, D), where T = H * W / patch_size ** 2 + t = self.t_embedder(timestep, x.dtype) # (N, D) + + if self.micro_conditioning and (c_size is not None and c_ar is not None): + bs = x.shape[0] + c_size = self.csize_embedder(c_size, bs) # (N, D) + c_ar = self.ar_embedder(c_ar, bs) # (N, D) + t = t + torch.cat([c_size, c_ar], dim=1) + + t0 = self.t_block(t) + y = self.y_embedder(y, self.training) # (N, D) + + if mask is not None: + if mask.shape[0] != y.shape[0]: + mask = mask.repeat(y.shape[0] // mask.shape[0], 1) + mask = mask.squeeze(1).squeeze(1) + y = y.squeeze(1).masked_select(mask.unsqueeze(-1) != 0).view(1, -1, x.shape[-1]) + y_lens = mask.sum(dim=1).tolist() + else: + y_lens = None + y = y.squeeze(1).view(1, -1, x.shape[-1]) + for block in self.blocks: + x = block(x, y, t0, y_lens, (H, W), **kwargs) # (N, T, D) + + x = self.final_layer(x, t) # (N, T, patch_size ** 2 * out_channels) + x = self.unpatchify(x, H, W) # (N, out_channels, H, W) + + return x + + def forward(self, x, timesteps, context, c_size=None, c_ar=None, **kwargs): + B, C, H, W = x.shape + + # Fallback for missing microconds + if self.micro_conditioning: + if c_size is None: + c_size = torch.tensor([H*8, W*8], dtype=x.dtype, device=x.device).repeat(B, 1) + + if c_ar is None: + c_ar = torch.tensor([H/W], dtype=x.dtype, device=x.device).repeat(B, 1) + + ## Still accepts the input w/o that dim but returns garbage + if len(context.shape) == 3: + context = context.unsqueeze(1) + + ## run original forward pass + out = self.forward_orig(x, timesteps, context, c_size=c_size, c_ar=c_ar) + + ## only return EPS + if self.pred_sigma: + return out[:, :self.in_channels] + return out + + def unpatchify(self, x, h, w): + """ + x: (N, T, patch_size**2 * C) + imgs: (N, H, W, C) + """ + c = self.out_channels + p = self.x_embedder.patch_size[0] + h = h // self.patch_size + w = w // self.patch_size + assert h * w == x.shape[1] + + x = x.reshape(shape=(x.shape[0], h, w, p, p, c)) + x = torch.einsum('nhwpqc->nchpwq', x) + imgs = x.reshape(shape=(x.shape[0], c, h * p, w * p)) + return imgs diff --git a/comfy/ldm/util.py b/comfy/ldm/util.py index 8c09ca1c7..30b4b4721 100644 --- a/comfy/ldm/util.py +++ b/comfy/ldm/util.py @@ -1,4 +1,5 @@ import importlib +import logging import torch from torch import optim @@ -23,7 +24,7 @@ def log_txt_as_img(wh, xc, size=10): try: draw.text((0, 0), lines, fill="black", font=font) except UnicodeEncodeError: - print("Cant encode string for logging. Skipping.") + logging.warning("Cant encode string for logging. Skipping.") txt = np.array(txt).transpose(2, 0, 1) / 127.5 - 1.0 txts.append(txt) @@ -65,7 +66,7 @@ def mean_flat(tensor): def count_params(model, verbose=False): total_params = sum(p.numel() for p in model.parameters()) if verbose: - print(f"{model.__class__.__name__} has {total_params*1.e-6:.2f} M params.") + logging.info(f"{model.__class__.__name__} has {total_params*1.e-6:.2f} M params.") return total_params @@ -133,7 +134,6 @@ class AdamWwithEMAandWings(optim.Optimizer): exp_avgs = [] exp_avg_sqs = [] ema_params_with_grad = [] - state_sums = [] max_exp_avg_sqs = [] state_steps = [] amsgrad = group['amsgrad'] @@ -194,4 +194,4 @@ class AdamWwithEMAandWings(optim.Optimizer): for param, ema_param in zip(params_with_grad, ema_params_with_grad): ema_param.mul_(cur_ema_decay).add_(param.float(), alpha=1 - cur_ema_decay) - return loss \ No newline at end of file + return loss diff --git a/comfy/lora.py b/comfy/lora.py index 3590496cc..ec3da6f4c 100644 --- a/comfy/lora.py +++ b/comfy/lora.py @@ -33,7 +33,7 @@ LORA_CLIP_MAP = { } -def load_lora(lora, to_load): +def load_lora(lora, to_load, log_missing=True): patch_dict = {} loaded_keys = set() for x in to_load: @@ -49,10 +49,20 @@ def load_lora(lora, to_load): dora_scale = lora[dora_scale_name] loaded_keys.add(dora_scale_name) + reshape_name = "{}.reshape_weight".format(x) + reshape = None + if reshape_name in lora.keys(): + try: + reshape = lora[reshape_name].tolist() + loaded_keys.add(reshape_name) + except: + pass + regular_lora = "{}.lora_up.weight".format(x) diffusers_lora = "{}_lora.up.weight".format(x) diffusers2_lora = "{}.lora_B.weight".format(x) diffusers3_lora = "{}.lora.up.weight".format(x) + mochi_lora = "{}.lora_B".format(x) transformers_lora = "{}.lora_linear_layer.up.weight".format(x) A_name = None @@ -72,6 +82,10 @@ def load_lora(lora, to_load): A_name = diffusers3_lora B_name = "{}.lora.down.weight".format(x) mid_name = None + elif mochi_lora in lora.keys(): + A_name = mochi_lora + B_name = "{}.lora_A".format(x) + mid_name = None elif transformers_lora in lora.keys(): A_name = transformers_lora B_name ="{}.lora_linear_layer.down.weight".format(x) @@ -82,7 +96,7 @@ def load_lora(lora, to_load): if mid_name is not None and mid_name in lora.keys(): mid = lora[mid_name] loaded_keys.add(mid_name) - patch_dict[to_load[x]] = ("lora", (lora[A_name], lora[B_name], alpha, mid, dora_scale)) + patch_dict[to_load[x]] = ("lora", (lora[A_name], lora[B_name], alpha, mid, dora_scale, reshape)) loaded_keys.add(A_name) loaded_keys.add(B_name) @@ -193,17 +207,28 @@ def load_lora(lora, to_load): patch_dict["{}.bias".format(to_load[x][:-len(".weight")])] = ("diff", (diff_bias,)) loaded_keys.add(diff_bias_name) - for x in lora.keys(): - if x not in loaded_keys: - logging.warning("lora key not loaded: {}".format(x)) + set_weight_name = "{}.set_weight".format(x) + set_weight = lora.get(set_weight_name, None) + if set_weight is not None: + patch_dict[to_load[x]] = ("set", (set_weight,)) + loaded_keys.add(set_weight_name) + + if log_missing: + for x in lora.keys(): + if x not in loaded_keys: + logging.warning("lora key not loaded: {}".format(x)) return patch_dict def model_lora_keys_clip(model, key_map={}): sdk = model.state_dict().keys() + for k in sdk: + if k.endswith(".weight"): + key_map["text_encoders.{}".format(k[:-len(".weight")])] = k #generic lora format without any weird key names text_model_lora_key = "lora_te_text_model_encoder_layers_{}_{}" clip_l_present = False + clip_g_present = False for b in range(32): #TODO: clean up for c in LORA_CLIP_MAP: k = "clip_h.transformer.text_model.encoder.layers.{}.{}.weight".format(b, c) @@ -227,6 +252,7 @@ def model_lora_keys_clip(model, key_map={}): k = "clip_g.transformer.text_model.encoder.layers.{}.{}.weight".format(b, c) if k in sdk: + clip_g_present = True if clip_l_present: lora_key = "lora_te2_text_model_encoder_layers_{}_{}".format(b, LORA_CLIP_MAP[c]) #SDXL base key_map[lora_key] = k @@ -242,10 +268,18 @@ def model_lora_keys_clip(model, key_map={}): for k in sdk: if k.endswith(".weight"): - if k.startswith("t5xxl.transformer."):#OneTrainer SD3 lora + if k.startswith("t5xxl.transformer."):#OneTrainer SD3 and Flux lora l_key = k[len("t5xxl.transformer."):-len(".weight")] - lora_key = "lora_te3_{}".format(l_key.replace(".", "_")) - key_map[lora_key] = k + t5_index = 1 + if clip_g_present: + t5_index += 1 + if clip_l_present: + t5_index += 1 + if t5_index == 2: + key_map["lora_te{}_{}".format(t5_index, l_key.replace(".", "_"))] = k #OneTrainer Flux + t5_index += 1 + + key_map["lora_te{}_{}".format(t5_index, l_key.replace(".", "_"))] = k elif k.startswith("hydit_clip.transformer.bert."): #HunyuanDiT Lora l_key = k[len("hydit_clip.transformer.bert."):-len(".weight")] lora_key = "lora_te1_{}".format(l_key.replace(".", "_")) @@ -269,11 +303,14 @@ def model_lora_keys_unet(model, key_map={}): sdk = sd.keys() for k in sdk: - if k.startswith("diffusion_model.") and k.endswith(".weight"): - key_lora = k[len("diffusion_model."):-len(".weight")].replace(".", "_") - key_map["lora_unet_{}".format(key_lora)] = k - key_map["lora_prior_unet_{}".format(key_lora)] = k #cascade lora: TODO put lora key prefix in the model config - key_map["{}".format(k[:-len(".weight")])] = k #generic lora format without any weird key names + if k.startswith("diffusion_model."): + if k.endswith(".weight"): + key_lora = k[len("diffusion_model."):-len(".weight")].replace(".", "_") + key_map["lora_unet_{}".format(key_lora)] = k + key_map["lora_prior_unet_{}".format(key_lora)] = k #cascade lora: TODO put lora key prefix in the model config + key_map["{}".format(k[:-len(".weight")])] = k #generic lora format without any weird key names + else: + key_map["{}".format(k)] = k #generic lora format for not .weight without any weird key names diffusers_keys = comfy.utils.unet_to_diffusers(model.model_config.unet_config) for k in diffusers_keys: @@ -281,6 +318,7 @@ def model_lora_keys_unet(model, key_map={}): unet_key = "diffusion_model.{}".format(diffusers_keys[k]) key_lora = k[:-len(".weight")].replace(".", "_") key_map["lora_unet_{}".format(key_lora)] = unet_key + key_map["lycoris_{}".format(key_lora)] = unet_key #simpletuner lycoris format diffusers_lora_prefix = ["", "unet."] for p in diffusers_lora_prefix: @@ -303,6 +341,9 @@ def model_lora_keys_unet(model, key_map={}): key_lora = "lora_transformer_{}".format(k[:-len(".weight")].replace(".", "_")) #OneTrainer lora key_map[key_lora] = to + key_lora = "lycoris_{}".format(k[:-len(".weight")].replace(".", "_")) #simpletuner lycoris format + key_map[key_lora] = to + if isinstance(model, comfy.model_base.AuraFlow): #Diffusers lora AuraFlow diffusers_keys = comfy.utils.auraflow_to_diffusers(model.model_config.unet_config, output_prefix="diffusion_model.") for k in diffusers_keys: @@ -311,6 +352,20 @@ def model_lora_keys_unet(model, key_map={}): key_lora = "transformer.{}".format(k[:-len(".weight")]) #simpletrainer and probably regular diffusers lora format key_map[key_lora] = to + if isinstance(model, comfy.model_base.PixArt): + diffusers_keys = comfy.utils.pixart_to_diffusers(model.model_config.unet_config, output_prefix="diffusion_model.") + for k in diffusers_keys: + if k.endswith(".weight"): + to = diffusers_keys[k] + key_lora = "transformer.{}".format(k[:-len(".weight")]) #default format + key_map[key_lora] = to + + key_lora = "base_model.model.{}".format(k[:-len(".weight")]) #diffusers training script + key_map[key_lora] = to + + key_lora = "unet.base_model.model.{}".format(k[:-len(".weight")]) #old reference peft script + key_map[key_lora] = to + if isinstance(model, comfy.model_base.HunyuanDiT): for k in sdk: if k.startswith("diffusion_model.") and k.endswith(".weight"): @@ -324,14 +379,33 @@ def model_lora_keys_unet(model, key_map={}): to = diffusers_keys[k] key_map["transformer.{}".format(k[:-len(".weight")])] = to #simpletrainer and probably regular diffusers flux lora format key_map["lycoris_{}".format(k[:-len(".weight")].replace(".", "_"))] = to #simpletrainer lycoris + key_map["lora_transformer_{}".format(k[:-len(".weight")].replace(".", "_"))] = to #onetrainer + + if isinstance(model, comfy.model_base.GenmoMochi): + for k in sdk: + if k.startswith("diffusion_model.") and k.endswith(".weight"): #Official Mochi lora format + key_lora = k[len("diffusion_model."):-len(".weight")] + key_map["{}".format(key_lora)] = k + + if isinstance(model, comfy.model_base.HunyuanVideo): + for k in sdk: + if k.startswith("diffusion_model.") and k.endswith(".weight"): + # diffusion-pipe lora format + key_lora = k + key_lora = key_lora.replace("_mod.lin.", "_mod.linear.").replace("_attn.qkv.", "_attn_qkv.").replace("_attn.proj.", "_attn_proj.") + key_lora = key_lora.replace("mlp.0.", "mlp.fc1.").replace("mlp.2.", "mlp.fc2.") + key_lora = key_lora.replace(".modulation.lin.", ".modulation.linear.") + key_lora = key_lora[len("diffusion_model."):-len(".weight")] + key_map["transformer.{}".format(key_lora)] = k + key_map["diffusion_model.{}".format(key_lora)] = k # Old loras return key_map -def weight_decompose(dora_scale, weight, lora_diff, alpha, strength, intermediate_dtype): +def weight_decompose(dora_scale, weight, lora_diff, alpha, strength, intermediate_dtype, function): dora_scale = comfy.model_management.cast_to_device(dora_scale, weight.device, intermediate_dtype) lora_diff *= alpha - weight_calc = weight + lora_diff.type(weight.dtype) + weight_calc = weight + function(lora_diff).type(weight.dtype) weight_norm = ( weight_calc.transpose(0, 1) .reshape(weight_calc.shape[1], -1) @@ -381,7 +455,7 @@ def pad_tensor_to_shape(tensor: torch.Tensor, new_shape: list[int]) -> torch.Ten return padded_tensor -def calculate_weight(patches, weight, key, intermediate_dtype=torch.float32): +def calculate_weight(patches, weight, key, intermediate_dtype=torch.float32, original_weights=None): for p in patches: strength = p[0] v = p[1] @@ -400,7 +474,7 @@ def calculate_weight(patches, weight, key, intermediate_dtype=torch.float32): weight *= strength_model if isinstance(v, list): - v = (calculate_weight(v[1:], v[0].clone(), key, intermediate_dtype=intermediate_dtype), ) + v = (calculate_weight(v[1:], v[0][1](comfy.model_management.cast_to_device(v[0][0], weight.device, intermediate_dtype, copy=True), inplace=True), key, intermediate_dtype=intermediate_dtype), ) if len(v) == 1: patch_type = "diff" @@ -421,10 +495,22 @@ def calculate_weight(patches, weight, key, intermediate_dtype=torch.float32): logging.warning("WARNING SHAPE MISMATCH {} WEIGHT NOT MERGED {} != {}".format(key, diff.shape, weight.shape)) else: weight += function(strength * comfy.model_management.cast_to_device(diff, weight.device, weight.dtype)) + elif patch_type == "set": + weight.copy_(v[0]) + elif patch_type == "model_as_lora": + target_weight: torch.Tensor = v[0] + diff_weight = comfy.model_management.cast_to_device(target_weight, weight.device, intermediate_dtype) - \ + comfy.model_management.cast_to_device(original_weights[key][0][0], weight.device, intermediate_dtype) + weight += function(strength * comfy.model_management.cast_to_device(diff_weight, weight.device, weight.dtype)) elif patch_type == "lora": #lora/locon mat1 = comfy.model_management.cast_to_device(v[0], weight.device, intermediate_dtype) mat2 = comfy.model_management.cast_to_device(v[1], weight.device, intermediate_dtype) dora_scale = v[4] + reshape = v[5] + + if reshape is not None: + weight = pad_tensor_to_shape(weight, reshape) + if v[2] is not None: alpha = v[2] / mat2.shape[0] else: @@ -438,7 +524,7 @@ def calculate_weight(patches, weight, key, intermediate_dtype=torch.float32): try: lora_diff = torch.mm(mat1.flatten(start_dim=1), mat2.flatten(start_dim=1)).reshape(weight.shape) if dora_scale is not None: - weight = function(weight_decompose(dora_scale, weight, lora_diff, alpha, strength, intermediate_dtype)) + weight = weight_decompose(dora_scale, weight, lora_diff, alpha, strength, intermediate_dtype, function) else: weight += function(((strength * alpha) * lora_diff).type(weight.dtype)) except Exception as e: @@ -484,7 +570,7 @@ def calculate_weight(patches, weight, key, intermediate_dtype=torch.float32): try: lora_diff = torch.kron(w1, w2).reshape(weight.shape) if dora_scale is not None: - weight = function(weight_decompose(dora_scale, weight, lora_diff, alpha, strength, intermediate_dtype)) + weight = weight_decompose(dora_scale, weight, lora_diff, alpha, strength, intermediate_dtype, function) else: weight += function(((strength * alpha) * lora_diff).type(weight.dtype)) except Exception as e: @@ -521,28 +607,48 @@ def calculate_weight(patches, weight, key, intermediate_dtype=torch.float32): try: lora_diff = (m1 * m2).reshape(weight.shape) if dora_scale is not None: - weight = function(weight_decompose(dora_scale, weight, lora_diff, alpha, strength, intermediate_dtype)) + weight = weight_decompose(dora_scale, weight, lora_diff, alpha, strength, intermediate_dtype, function) else: weight += function(((strength * alpha) * lora_diff).type(weight.dtype)) except Exception as e: logging.error("ERROR {} {} {}".format(patch_type, key, e)) elif patch_type == "glora": - if v[4] is not None: - alpha = v[4] / v[0].shape[0] - else: - alpha = 1.0 - dora_scale = v[5] + old_glora = False + if v[3].shape[1] == v[2].shape[0] == v[0].shape[0] == v[1].shape[1]: + rank = v[0].shape[0] + old_glora = True + + if v[3].shape[0] == v[2].shape[1] == v[0].shape[1] == v[1].shape[0]: + if old_glora and v[1].shape[0] == weight.shape[0] and weight.shape[0] == weight.shape[1]: + pass + else: + old_glora = False + rank = v[1].shape[0] + a1 = comfy.model_management.cast_to_device(v[0].flatten(start_dim=1), weight.device, intermediate_dtype) a2 = comfy.model_management.cast_to_device(v[1].flatten(start_dim=1), weight.device, intermediate_dtype) b1 = comfy.model_management.cast_to_device(v[2].flatten(start_dim=1), weight.device, intermediate_dtype) b2 = comfy.model_management.cast_to_device(v[3].flatten(start_dim=1), weight.device, intermediate_dtype) + if v[4] is not None: + alpha = v[4] / rank + else: + alpha = 1.0 + try: - lora_diff = (torch.mm(b2, b1) + torch.mm(torch.mm(weight.flatten(start_dim=1).to(dtype=intermediate_dtype), a2), a1)).reshape(weight.shape) + if old_glora: + lora_diff = (torch.mm(b2, b1) + torch.mm(torch.mm(weight.flatten(start_dim=1).to(dtype=intermediate_dtype), a2), a1)).reshape(weight.shape) #old lycoris glora + else: + if weight.dim() > 2: + lora_diff = torch.einsum("o i ..., i j -> o j ...", torch.einsum("o i ..., i j -> o j ...", weight.to(dtype=intermediate_dtype), a1), a2).reshape(weight.shape) + else: + lora_diff = torch.mm(torch.mm(weight.to(dtype=intermediate_dtype), a1), a2).reshape(weight.shape) + lora_diff += torch.mm(b1, b2).reshape(weight.shape) + if dora_scale is not None: - weight = function(weight_decompose(dora_scale, weight, lora_diff, alpha, strength, intermediate_dtype)) + weight = weight_decompose(dora_scale, weight, lora_diff, alpha, strength, intermediate_dtype, function) else: weight += function(((strength * alpha) * lora_diff).type(weight.dtype)) except Exception as e: diff --git a/comfy/lora_convert.py b/comfy/lora_convert.py new file mode 100644 index 000000000..05032c690 --- /dev/null +++ b/comfy/lora_convert.py @@ -0,0 +1,17 @@ +import torch + + +def convert_lora_bfl_control(sd): #BFL loras for Flux + sd_out = {} + for k in sd: + k_to = "diffusion_model.{}".format(k.replace(".lora_B.bias", ".diff_b").replace("_norm.scale", "_norm.scale.set_weight")) + sd_out[k_to] = sd[k] + + sd_out["diffusion_model.img_in.reshape_weight"] = torch.tensor([sd["img_in.lora_B.weight"].shape[0], sd["img_in.lora_A.weight"].shape[1]]) + return sd_out + + +def convert_lora(sd): + if "img_in.lora_A.weight" in sd and "single_blocks.0.norm.key_norm.scale" in sd: + return convert_lora_bfl_control(sd) + return sd diff --git a/comfy/model_base.py b/comfy/model_base.py index 9bfdb3b3e..cd05bbdfe 100644 --- a/comfy/model_base.py +++ b/comfy/model_base.py @@ -24,19 +24,28 @@ from comfy.ldm.cascade.stage_b import StageB from comfy.ldm.modules.encoders.noise_aug_modules import CLIPEmbeddingNoiseAugmentation from comfy.ldm.modules.diffusionmodules.upscaling import ImageConcatWithNoiseAugmentation from comfy.ldm.modules.diffusionmodules.mmdit import OpenAISignatureMMDITWrapper +import comfy.ldm.genmo.joint_model.asymm_models_joint import comfy.ldm.aura.mmdit +import comfy.ldm.pixart.pixartms import comfy.ldm.hydit.models import comfy.ldm.audio.dit import comfy.ldm.audio.embedders import comfy.ldm.flux.model +import comfy.ldm.lightricks.model +import comfy.ldm.hunyuan_video.model +import comfy.ldm.cosmos.model import comfy.model_management +import comfy.patcher_extension import comfy.conds import comfy.ops from enum import Enum from . import utils import comfy.latent_formats import math +from typing import TYPE_CHECKING +if TYPE_CHECKING: + from comfy.model_patcher import ModelPatcher class ModelType(Enum): EPS = 1 @@ -93,10 +102,12 @@ class BaseModel(torch.nn.Module): self.model_config = model_config self.manual_cast_dtype = model_config.manual_cast_dtype self.device = device + self.current_patcher: 'ModelPatcher' = None if not unet_config.get("disable_unet_model_creation", False): if model_config.custom_operations is None: - operations = comfy.ops.pick_operations(unet_config.get("dtype", None), self.manual_cast_dtype) + fp8 = model_config.optimizations.get("fp8", model_config.scaled_fp8 is not None) + operations = comfy.ops.pick_operations(unet_config.get("dtype", None), self.manual_cast_dtype, fp8_optimizations=fp8, scaled_fp8=model_config.scaled_fp8) else: operations = model_config.custom_operations self.diffusion_model = unet_model(**unet_config, device=device, operations=operations) @@ -117,6 +128,13 @@ class BaseModel(torch.nn.Module): self.memory_usage_factor = model_config.memory_usage_factor def apply_model(self, x, t, c_concat=None, c_crossattn=None, control=None, transformer_options={}, **kwargs): + return comfy.patcher_extension.WrapperExecutor.new_class_executor( + self._apply_model, + self, + comfy.patcher_extension.get_all_wrappers(comfy.patcher_extension.WrappersMP.APPLY_MODEL, transformer_options) + ).execute(x, t, c_concat, c_crossattn, control, transformer_options, **kwargs) + + def _apply_model(self, x, t, c_concat=None, c_crossattn=None, control=None, transformer_options={}, **kwargs): sigma = t xc = self.model_sampling.calculate_input(sigma, x) if c_concat is not None: @@ -130,7 +148,9 @@ class BaseModel(torch.nn.Module): xc = xc.to(dtype) t = self.model_sampling.timestep(t).float() - context = context.to(dtype) + if context is not None: + context = context.to(dtype) + extra_conds = {} for o in kwargs: extra = kwargs[o] @@ -151,8 +171,7 @@ class BaseModel(torch.nn.Module): def encode_adm(self, **kwargs): return None - def extra_conds(self, **kwargs): - out = {} + def concat_cond(self, **kwargs): if len(self.concat_keys) > 0: cond_concat = [] denoise_mask = kwargs.get("concat_mask", kwargs.get("denoise_mask", None)) @@ -172,9 +191,10 @@ class BaseModel(torch.nn.Module): if denoise_mask is not None: if len(denoise_mask.shape) == len(noise.shape): - denoise_mask = denoise_mask[:,:1] + denoise_mask = denoise_mask[:, :1] - denoise_mask = denoise_mask.reshape((-1, 1, denoise_mask.shape[-2], denoise_mask.shape[-1])) + num_dim = noise.ndim - 2 + denoise_mask = denoise_mask.reshape((-1, 1) + tuple(denoise_mask.shape[-num_dim:])) if denoise_mask.shape[-2:] != noise.shape[-2:]: denoise_mask = utils.common_upscale(denoise_mask, noise.shape[-1], noise.shape[-2], "bilinear", "center") denoise_mask = utils.resize_to_batch_size(denoise_mask.round(), noise.shape[0]) @@ -184,14 +204,25 @@ class BaseModel(torch.nn.Module): if ck == "mask": cond_concat.append(denoise_mask.to(device)) elif ck == "masked_image": - cond_concat.append(concat_latent_image.to(device)) #NOTE: the latent_image should be masked by the mask in pixel space + cond_concat.append(concat_latent_image.to(device)) # NOTE: the latent_image should be masked by the mask in pixel space + elif ck == "mask_inverted": + cond_concat.append(1.0 - denoise_mask.to(device)) else: if ck == "mask": - cond_concat.append(torch.ones_like(noise)[:,:1]) + cond_concat.append(torch.ones_like(noise)[:, :1]) elif ck == "masked_image": cond_concat.append(self.blank_inpaint_image_like(noise)) + elif ck == "mask_inverted": + cond_concat.append(torch.zeros_like(noise)[:, :1]) data = torch.cat(cond_concat, dim=1) - out['c_concat'] = comfy.conds.CONDNoiseShape(data) + return data + return None + + def extra_conds(self, **kwargs): + out = {} + concat_cond = self.concat_cond(**kwargs) + if concat_cond is not None: + out['c_concat'] = comfy.conds.CONDNoiseShape(concat_cond) adm = self.encode_adm(**kwargs) if adm is not None: @@ -244,6 +275,10 @@ class BaseModel(torch.nn.Module): extra_sds.append(self.model_config.process_clip_vision_state_dict_for_saving(clip_vision_state_dict)) unet_state_dict = self.diffusion_model.state_dict() + + if self.model_config.scaled_fp8 is not None: + unet_state_dict["scaled_fp8"] = torch.tensor([], dtype=self.model_config.scaled_fp8) + unet_state_dict = self.model_config.process_unet_state_dict_for_saving(unet_state_dict) if self.model_type == ModelType.V_PREDICTION: @@ -266,6 +301,9 @@ class BaseModel(torch.nn.Module): return blank_image self.blank_inpaint_image_like = blank_inpaint_image_like + def scale_latent_inpaint(self, sigma, noise, latent_image, **kwargs): + return self.model_sampling.noise_scaling(sigma.reshape([sigma.shape[0]] + [1] * (len(noise.shape) - 1)), noise, latent_image) + def memory_required(self, input_shape): if comfy.model_management.xformers_enabled() or comfy.model_management.pytorch_attention_flash_attention(): dtype = self.get_dtype() @@ -402,7 +440,6 @@ class SVD_img2vid(BaseModel): latent_image = kwargs.get("concat_latent_image", None) noise = kwargs.get("noise", None) - device = kwargs["device"] if latent_image is None: latent_image = torch.zeros_like(noise) @@ -514,12 +551,14 @@ class SD_X4Upscaler(BaseModel): out['c_concat'] = comfy.conds.CONDNoiseShape(image) out['y'] = comfy.conds.CONDRegular(noise_level) + + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDCrossAttn(cross_attn) return out class IP2P: - def extra_conds(self, **kwargs): - out = {} - + def concat_cond(self, **kwargs): image = kwargs.get("concat_latent_image", None) noise = kwargs.get("noise", None) device = kwargs["device"] @@ -531,18 +570,15 @@ class IP2P: image = utils.common_upscale(image.to(device), noise.shape[-1], noise.shape[-2], "bilinear", "center") image = utils.resize_to_batch_size(image, noise.shape[0]) + return self.process_ip2p_image_in(image) - out['c_concat'] = comfy.conds.CONDNoiseShape(self.process_ip2p_image_in(image)) - adm = self.encode_adm(**kwargs) - if adm is not None: - out['y'] = comfy.conds.CONDRegular(adm) - return out class SD15_instructpix2pix(IP2P, BaseModel): def __init__(self, model_config, model_type=ModelType.EPS, device=None): super().__init__(model_config, model_type, device=device) self.process_ip2p_image_in = lambda image: image + class SDXL_instructpix2pix(IP2P, SDXL): def __init__(self, model_config, model_type=ModelType.EPS, device=None): super().__init__(model_config, model_type, device=device) @@ -667,6 +703,7 @@ class StableAudio1(BaseModel): sd["{}{}".format(k, l)] = s[l] return sd + class HunyuanDiT(BaseModel): def __init__(self, model_config, model_type=ModelType.V_PREDICTION, device=None): super().__init__(model_config, model_type, device=device, unet_model=comfy.ldm.hydit.models.HunYuanDiT) @@ -691,18 +728,72 @@ class HunyuanDiT(BaseModel): width = kwargs.get("width", 768) height = kwargs.get("height", 768) - crop_w = kwargs.get("crop_w", 0) - crop_h = kwargs.get("crop_h", 0) target_width = kwargs.get("target_width", width) target_height = kwargs.get("target_height", height) out['image_meta_size'] = comfy.conds.CONDRegular(torch.FloatTensor([[height, width, target_height, target_width, 0, 0]])) return out +class PixArt(BaseModel): + def __init__(self, model_config, model_type=ModelType.EPS, device=None): + super().__init__(model_config, model_type, device=device, unet_model=comfy.ldm.pixart.pixartms.PixArtMS) + + def extra_conds(self, **kwargs): + out = super().extra_conds(**kwargs) + + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) + + width = kwargs.get("width", None) + height = kwargs.get("height", None) + if width is not None and height is not None: + out["c_size"] = comfy.conds.CONDRegular(torch.FloatTensor([[height, width]])) + out["c_ar"] = comfy.conds.CONDRegular(torch.FloatTensor([[kwargs.get("aspect_ratio", height/width)]])) + + return out + class Flux(BaseModel): def __init__(self, model_config, model_type=ModelType.FLUX, device=None): super().__init__(model_config, model_type, device=device, unet_model=comfy.ldm.flux.model.Flux) + def concat_cond(self, **kwargs): + try: + #Handle Flux control loras dynamically changing the img_in weight. + num_channels = self.diffusion_model.img_in.weight.shape[1] // (self.diffusion_model.patch_size * self.diffusion_model.patch_size) + except: + #Some cases like tensorrt might not have the weights accessible + num_channels = self.model_config.unet_config["in_channels"] + + out_channels = self.model_config.unet_config["out_channels"] + + if num_channels <= out_channels: + return None + + image = kwargs.get("concat_latent_image", None) + noise = kwargs.get("noise", None) + device = kwargs["device"] + + if image is None: + image = torch.zeros_like(noise) + + image = utils.common_upscale(image.to(device), noise.shape[-1], noise.shape[-2], "bilinear", "center") + image = utils.resize_to_batch_size(image, noise.shape[0]) + image = self.process_latent_in(image) + if num_channels <= out_channels * 2: + return image + + #inpaint model + mask = kwargs.get("concat_mask", kwargs.get("denoise_mask", None)) + if mask is None: + mask = torch.ones_like(noise)[:, :1] + + mask = torch.mean(mask, dim=1, keepdim=True) + mask = utils.common_upscale(mask.to(device), noise.shape[-1] * 8, noise.shape[-2] * 8, "bilinear", "center") + mask = mask.view(mask.shape[0], mask.shape[2] // 8, 8, mask.shape[3] // 8, 8).permute(0, 2, 4, 1, 3).reshape(mask.shape[0], -1, mask.shape[2] // 8, mask.shape[3] // 8) + mask = utils.resize_to_batch_size(mask, noise.shape[0]) + return torch.cat((image, mask), dim=1) + def encode_adm(self, **kwargs): return kwargs["pooled_output"] @@ -711,5 +802,105 @@ class Flux(BaseModel): cross_attn = kwargs.get("cross_attn", None) if cross_attn is not None: out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) - out['guidance'] = comfy.conds.CONDRegular(torch.FloatTensor([kwargs.get("guidance", 3.5)])) + # upscale the attention mask, since now we + attention_mask = kwargs.get("attention_mask", None) + if attention_mask is not None: + shape = kwargs["noise"].shape + mask_ref_size = kwargs["attention_mask_img_shape"] + # the model will pad to the patch size, and then divide + # essentially dividing and rounding up + (h_tok, w_tok) = (math.ceil(shape[2] / self.diffusion_model.patch_size), math.ceil(shape[3] / self.diffusion_model.patch_size)) + attention_mask = utils.upscale_dit_mask(attention_mask, mask_ref_size, (h_tok, w_tok)) + out['attention_mask'] = comfy.conds.CONDRegular(attention_mask) + + guidance = kwargs.get("guidance", 3.5) + if guidance is not None: + out['guidance'] = comfy.conds.CONDRegular(torch.FloatTensor([guidance])) return out + +class GenmoMochi(BaseModel): + def __init__(self, model_config, model_type=ModelType.FLOW, device=None): + super().__init__(model_config, model_type, device=device, unet_model=comfy.ldm.genmo.joint_model.asymm_models_joint.AsymmDiTJoint) + + def extra_conds(self, **kwargs): + out = super().extra_conds(**kwargs) + attention_mask = kwargs.get("attention_mask", None) + if attention_mask is not None: + out['attention_mask'] = comfy.conds.CONDRegular(attention_mask) + out['num_tokens'] = comfy.conds.CONDConstant(max(1, torch.sum(attention_mask).item())) + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) + return out + +class LTXV(BaseModel): + def __init__(self, model_config, model_type=ModelType.FLUX, device=None): + super().__init__(model_config, model_type, device=device, unet_model=comfy.ldm.lightricks.model.LTXVModel) #TODO + + def extra_conds(self, **kwargs): + out = super().extra_conds(**kwargs) + attention_mask = kwargs.get("attention_mask", None) + if attention_mask is not None: + out['attention_mask'] = comfy.conds.CONDRegular(attention_mask) + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) + + guiding_latent = kwargs.get("guiding_latent", None) + if guiding_latent is not None: + out['guiding_latent'] = comfy.conds.CONDRegular(guiding_latent) + + guiding_latent_noise_scale = kwargs.get("guiding_latent_noise_scale", None) + if guiding_latent_noise_scale is not None: + out["guiding_latent_noise_scale"] = comfy.conds.CONDConstant(guiding_latent_noise_scale) + + out['frame_rate'] = comfy.conds.CONDConstant(kwargs.get("frame_rate", 25)) + return out + +class HunyuanVideo(BaseModel): + def __init__(self, model_config, model_type=ModelType.FLOW, device=None): + super().__init__(model_config, model_type, device=device, unet_model=comfy.ldm.hunyuan_video.model.HunyuanVideo) + + def encode_adm(self, **kwargs): + return kwargs["pooled_output"] + + def extra_conds(self, **kwargs): + out = super().extra_conds(**kwargs) + attention_mask = kwargs.get("attention_mask", None) + if attention_mask is not None: + out['attention_mask'] = comfy.conds.CONDRegular(attention_mask) + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) + + guidance = kwargs.get("guidance", 6.0) + if guidance is not None: + out['guidance'] = comfy.conds.CONDRegular(torch.FloatTensor([guidance])) + return out + +class CosmosVideo(BaseModel): + def __init__(self, model_config, model_type=ModelType.EDM, image_to_video=False, device=None): + super().__init__(model_config, model_type, device=device, unet_model=comfy.ldm.cosmos.model.GeneralDIT) + self.image_to_video = image_to_video + if self.image_to_video: + self.concat_keys = ("mask_inverted",) + + def extra_conds(self, **kwargs): + out = super().extra_conds(**kwargs) + attention_mask = kwargs.get("attention_mask", None) + if attention_mask is not None: + out['attention_mask'] = comfy.conds.CONDRegular(attention_mask) + cross_attn = kwargs.get("cross_attn", None) + if cross_attn is not None: + out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) + + out['fps'] = comfy.conds.CONDConstant(kwargs.get("frame_rate", None)) + return out + + def scale_latent_inpaint(self, sigma, noise, latent_image, **kwargs): + sigma = sigma.reshape([sigma.shape[0]] + [1] * (len(noise.shape) - 1)) + sigma_noise_augmentation = 0 #TODO + if sigma_noise_augmentation != 0: + latent_image = latent_image + noise + latent_image = self.model_sampling.calculate_input(torch.tensor([sigma_noise_augmentation], device=latent_image.device, dtype=latent_image.dtype), latent_image) + return latent_image * ((sigma ** 2 + self.model_sampling.sigma_data ** 2) ** 0.5) diff --git a/comfy/model_detection.py b/comfy/model_detection.py index 1edbcda4d..ba96ebe85 100644 --- a/comfy/model_detection.py +++ b/comfy/model_detection.py @@ -70,6 +70,11 @@ def detect_unet_config(state_dict, key_prefix): context_processor = '{}context_processor.layers.0.attn.qkv.weight'.format(key_prefix) if context_processor in state_dict_keys: unet_config["context_processor_layers"] = count_blocks(state_dict_keys, '{}context_processor.layers.'.format(key_prefix) + '{}.') + unet_config["x_block_self_attn_layers"] = [] + for key in state_dict_keys: + if key.startswith('{}joint_blocks.'.format(key_prefix)) and key.endswith('.x_block.attn2.qkv.weight'): + layer = key[len('{}joint_blocks.'.format(key_prefix)):-len('.x_block.attn2.qkv.weight')] + unet_config["x_block_self_attn_layers"].append(int(layer)) return unet_config if '{}clf.1.weight'.format(key_prefix) in state_dict_keys: #stable cascade @@ -128,10 +133,36 @@ def detect_unet_config(state_dict, key_prefix): unet_config["image_model"] = "hydit1" return unet_config + if '{}txt_in.individual_token_refiner.blocks.0.norm1.weight'.format(key_prefix) in state_dict_keys: #Hunyuan Video + dit_config = {} + dit_config["image_model"] = "hunyuan_video" + dit_config["in_channels"] = 16 + dit_config["patch_size"] = [1, 2, 2] + dit_config["out_channels"] = 16 + dit_config["vec_in_dim"] = 768 + dit_config["context_in_dim"] = 4096 + dit_config["hidden_size"] = 3072 + dit_config["mlp_ratio"] = 4.0 + dit_config["num_heads"] = 24 + dit_config["depth"] = count_blocks(state_dict_keys, '{}double_blocks.'.format(key_prefix) + '{}.') + dit_config["depth_single_blocks"] = count_blocks(state_dict_keys, '{}single_blocks.'.format(key_prefix) + '{}.') + dit_config["axes_dim"] = [16, 56, 56] + dit_config["theta"] = 256 + dit_config["qkv_bias"] = True + guidance_keys = list(filter(lambda a: a.startswith("{}guidance_in.".format(key_prefix)), state_dict_keys)) + dit_config["guidance_embed"] = len(guidance_keys) > 0 + return dit_config + if '{}double_blocks.0.img_attn.norm.key_norm.scale'.format(key_prefix) in state_dict_keys: #Flux dit_config = {} dit_config["image_model"] = "flux" dit_config["in_channels"] = 16 + patch_size = 2 + dit_config["patch_size"] = patch_size + in_key = "{}img_in.weight".format(key_prefix) + if in_key in state_dict_keys: + dit_config["in_channels"] = state_dict[in_key].shape[1] // (patch_size * patch_size) + dit_config["out_channels"] = 16 dit_config["vec_in_dim"] = 768 dit_config["context_in_dim"] = 4096 dit_config["hidden_size"] = 3072 @@ -145,6 +176,114 @@ def detect_unet_config(state_dict, key_prefix): dit_config["guidance_embed"] = "{}guidance_in.in_layer.weight".format(key_prefix) in state_dict_keys return dit_config + if '{}t5_yproj.weight'.format(key_prefix) in state_dict_keys: #Genmo mochi preview + dit_config = {} + dit_config["image_model"] = "mochi_preview" + dit_config["depth"] = 48 + dit_config["patch_size"] = 2 + dit_config["num_heads"] = 24 + dit_config["hidden_size_x"] = 3072 + dit_config["hidden_size_y"] = 1536 + dit_config["mlp_ratio_x"] = 4.0 + dit_config["mlp_ratio_y"] = 4.0 + dit_config["learn_sigma"] = False + dit_config["in_channels"] = 12 + dit_config["qk_norm"] = True + dit_config["qkv_bias"] = False + dit_config["out_bias"] = True + dit_config["attn_drop"] = 0.0 + dit_config["patch_embed_bias"] = True + dit_config["posenc_preserve_area"] = True + dit_config["timestep_mlp_bias"] = True + dit_config["attend_to_padding"] = False + dit_config["timestep_scale"] = 1000.0 + dit_config["use_t5"] = True + dit_config["t5_feat_dim"] = 4096 + dit_config["t5_token_length"] = 256 + dit_config["rope_theta"] = 10000.0 + return dit_config + + if '{}adaln_single.emb.timestep_embedder.linear_1.bias'.format(key_prefix) in state_dict_keys and '{}pos_embed.proj.bias'.format(key_prefix) in state_dict_keys: + # PixArt diffusers + return None + + if '{}adaln_single.emb.timestep_embedder.linear_1.bias'.format(key_prefix) in state_dict_keys: #Lightricks ltxv + dit_config = {} + dit_config["image_model"] = "ltxv" + return dit_config + + if '{}t_block.1.weight'.format(key_prefix) in state_dict_keys: # PixArt + patch_size = 2 + dit_config = {} + dit_config["num_heads"] = 16 + dit_config["patch_size"] = patch_size + dit_config["hidden_size"] = 1152 + dit_config["in_channels"] = 4 + dit_config["depth"] = count_blocks(state_dict_keys, '{}blocks.'.format(key_prefix) + '{}.') + + y_key = "{}y_embedder.y_embedding".format(key_prefix) + if y_key in state_dict_keys: + dit_config["model_max_length"] = state_dict[y_key].shape[0] + + pe_key = "{}pos_embed".format(key_prefix) + if pe_key in state_dict_keys: + dit_config["input_size"] = int(math.sqrt(state_dict[pe_key].shape[1])) * patch_size + dit_config["pe_interpolation"] = dit_config["input_size"] // (512//8) # guess + + ar_key = "{}ar_embedder.mlp.0.weight".format(key_prefix) + if ar_key in state_dict_keys: + dit_config["image_model"] = "pixart_alpha" + dit_config["micro_condition"] = True + else: + dit_config["image_model"] = "pixart_sigma" + dit_config["micro_condition"] = False + return dit_config + + if '{}blocks.block0.blocks.0.block.attn.to_q.0.weight'.format(key_prefix) in state_dict_keys: + dit_config = {} + dit_config["image_model"] = "cosmos" + dit_config["max_img_h"] = 240 + dit_config["max_img_w"] = 240 + dit_config["max_frames"] = 128 + concat_padding_mask = True + dit_config["in_channels"] = (state_dict['{}x_embedder.proj.1.weight'.format(key_prefix)].shape[1] // 4) - int(concat_padding_mask) + dit_config["out_channels"] = 16 + dit_config["patch_spatial"] = 2 + dit_config["patch_temporal"] = 1 + dit_config["model_channels"] = state_dict['{}blocks.block0.blocks.0.block.attn.to_q.0.weight'.format(key_prefix)].shape[0] + dit_config["block_config"] = "FA-CA-MLP" + dit_config["concat_padding_mask"] = concat_padding_mask + dit_config["pos_emb_cls"] = "rope3d" + dit_config["pos_emb_learnable"] = False + dit_config["pos_emb_interpolation"] = "crop" + dit_config["block_x_format"] = "THWBD" + dit_config["affline_emb_norm"] = True + dit_config["use_adaln_lora"] = True + dit_config["adaln_lora_dim"] = 256 + + if dit_config["model_channels"] == 4096: + # 7B + dit_config["num_blocks"] = 28 + dit_config["num_heads"] = 32 + dit_config["extra_per_block_abs_pos_emb"] = True + dit_config["rope_h_extrapolation_ratio"] = 1.0 + dit_config["rope_w_extrapolation_ratio"] = 1.0 + dit_config["rope_t_extrapolation_ratio"] = 2.0 + dit_config["extra_per_block_abs_pos_emb_type"] = "learnable" + else: # 5120 + # 14B + dit_config["num_blocks"] = 36 + dit_config["num_heads"] = 40 + dit_config["extra_per_block_abs_pos_emb"] = True + dit_config["rope_h_extrapolation_ratio"] = 2.0 + dit_config["rope_w_extrapolation_ratio"] = 2.0 + dit_config["rope_t_extrapolation_ratio"] = 2.0 + dit_config["extra_h_extrapolation_ratio"] = 2.0 + dit_config["extra_w_extrapolation_ratio"] = 2.0 + dit_config["extra_t_extrapolation_ratio"] = 2.0 + dit_config["extra_per_block_abs_pos_emb_type"] = "learnable" + return dit_config + if '{}input_blocks.0.0.weight'.format(key_prefix) not in state_dict_keys: return None @@ -173,7 +312,6 @@ def detect_unet_config(state_dict, key_prefix): num_res_blocks = [] channel_mult = [] - attention_resolutions = [] transformer_depth = [] transformer_depth_output = [] context_dim = None @@ -286,13 +424,21 @@ def model_config_from_unet(state_dict, unet_key_prefix, use_base_if_no_match=Fal return None model_config = model_config_from_unet_config(unet_config, state_dict) if model_config is None and use_base_if_no_match: - return comfy.supported_models_base.BASE(unet_config) - else: - return model_config + model_config = comfy.supported_models_base.BASE(unet_config) + + scaled_fp8_key = "{}scaled_fp8".format(unet_key_prefix) + if scaled_fp8_key in state_dict: + scaled_fp8_weight = state_dict.pop(scaled_fp8_key) + model_config.scaled_fp8 = scaled_fp8_weight.dtype + if model_config.scaled_fp8 == torch.float32: + model_config.scaled_fp8 = torch.float8_e4m3fn + + return model_config def unet_prefix_from_state_dict(state_dict): candidates = ["model.diffusion_model.", #ldm/sgm models "model.model.", #audio models + "net.", #cosmos ] counts = {k: 0 for k in candidates} for k in state_dict: @@ -338,7 +484,6 @@ def convert_config(unet_config): t_out += [d] * (res + 1) s *= 2 transformer_depth = t_in - transformer_depth_output = t_out new_config["transformer_depth"] = t_in new_config["transformer_depth_output"] = t_out new_config["transformer_depth_middle"] = transformer_depth_middle @@ -472,12 +617,12 @@ def unet_config_from_diffusers_unet(state_dict, dtype=None): 'transformer_depth': [0, 1, 1], 'channel_mult': [1, 2, 4], 'transformer_depth_middle': -2, 'use_linear_in_transformer': False, 'context_dim': 768, 'num_head_channels': 64, 'transformer_depth_output': [0, 0, 1, 1, 1, 1], 'use_temporal_attention': False, 'use_temporal_resblock': False} - + SD15_diffusers_inpaint = {'use_checkpoint': False, 'image_size': 32, 'out_channels': 4, 'use_spatial_transformer': True, 'legacy': False, 'adm_in_channels': None, 'dtype': dtype, 'in_channels': 9, 'model_channels': 320, 'num_res_blocks': [2, 2, 2, 2], 'transformer_depth': [1, 1, 1, 1, 1, 1, 0, 0], 'channel_mult': [1, 2, 4, 4], 'transformer_depth_middle': 1, 'use_linear_in_transformer': False, 'context_dim': 768, 'num_heads': 8, 'transformer_depth_output': [1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0], - 'use_temporal_attention': False, 'use_temporal_resblock': False} + 'use_temporal_attention': False, 'use_temporal_resblock': False} supported_models = [SDXL, SDXL_refiner, SD21, SD15, SD21_uncliph, SD21_unclipl, SDXL_mid_cnet, SDXL_small_cnet, SDXL_diffusers_inpaint, SSD_1B, Segmind_Vega, KOALA_700M, KOALA_1B, SD09_XS, SD_XS, SDXL_diffusers_ip2p, SD15_diffusers_inpaint] @@ -501,7 +646,14 @@ def model_config_from_diffusers_unet(state_dict): def convert_diffusers_mmdit(state_dict, output_prefix=""): out_sd = {} - if 'transformer_blocks.0.attn.norm_added_k.weight' in state_dict: #Flux + if 'joint_transformer_blocks.0.attn.add_k_proj.weight' in state_dict: #AuraFlow + num_joint = count_blocks(state_dict, 'joint_transformer_blocks.{}.') + num_single = count_blocks(state_dict, 'single_transformer_blocks.{}.') + sd_map = comfy.utils.auraflow_to_diffusers({"n_double_layers": num_joint, "n_layers": num_joint + num_single}, output_prefix=output_prefix) + elif 'adaln_single.emb.timestep_embedder.linear_1.bias' in state_dict and 'pos_embed.proj.bias' in state_dict: # PixArt + num_blocks = count_blocks(state_dict, 'transformer_blocks.{}.') + sd_map = comfy.utils.pixart_to_diffusers({"depth": num_blocks}, output_prefix=output_prefix) + elif 'x_embedder.weight' in state_dict: #Flux depth = count_blocks(state_dict, 'transformer_blocks.{}.') depth_single_blocks = count_blocks(state_dict, 'single_transformer_blocks.{}.') hidden_size = state_dict["x_embedder.bias"].shape[0] @@ -510,10 +662,6 @@ def convert_diffusers_mmdit(state_dict, output_prefix=""): num_blocks = count_blocks(state_dict, 'transformer_blocks.{}.') depth = state_dict["pos_embed.proj.weight"].shape[0] // 64 sd_map = comfy.utils.mmdit_to_diffusers({"depth": depth, "num_blocks": num_blocks}, output_prefix=output_prefix) - elif 'joint_transformer_blocks.0.attn.add_k_proj.weight' in state_dict: #AuraFlow - num_joint = count_blocks(state_dict, 'joint_transformer_blocks.{}.') - num_single = count_blocks(state_dict, 'single_transformer_blocks.{}.') - sd_map = comfy.utils.auraflow_to_diffusers({"n_double_layers": num_joint, "n_layers": num_joint + num_single}, output_prefix=output_prefix) else: return None diff --git a/comfy/model_management.py b/comfy/model_management.py index 11683a905..225a83e05 100644 --- a/comfy/model_management.py +++ b/comfy/model_management.py @@ -23,6 +23,8 @@ from comfy.cli_args import args import torch import sys import platform +import weakref +import gc class VRAMState(Enum): DISABLED = 0 #No vram present: no need to move models to vram @@ -73,7 +75,7 @@ if args.directml is not None: try: import intel_extension_for_pytorch as ipex _ = torch.xpu.device_count() - xpu_available = torch.xpu.is_available() + xpu_available = xpu_available or torch.xpu.is_available() except: xpu_available = xpu_available or (hasattr(torch, "xpu") and torch.xpu.is_available()) @@ -84,6 +86,13 @@ try: except: pass +try: + import torch_npu # noqa: F401 + _ = torch.npu.device_count() + npu_available = torch.npu.is_available() +except: + npu_available = False + if args.cpu: cpu_state = CPUState.CPU @@ -95,6 +104,12 @@ def is_intel_xpu(): return True return False +def is_ascend_npu(): + global npu_available + if npu_available: + return True + return False + def get_torch_device(): global directml_enabled global cpu_state @@ -108,6 +123,8 @@ def get_torch_device(): else: if is_intel_xpu(): return torch.device("xpu", torch.xpu.current_device()) + elif is_ascend_npu(): + return torch.device("npu", torch.npu.current_device()) else: return torch.device(torch.cuda.current_device()) @@ -128,6 +145,12 @@ def get_total_memory(dev=None, torch_total_too=False): mem_reserved = stats['reserved_bytes.all.current'] mem_total_torch = mem_reserved mem_total = torch.xpu.get_device_properties(dev).total_memory + elif is_ascend_npu(): + stats = torch.npu.memory_stats(dev) + mem_reserved = stats['reserved_bytes.all.current'] + _, mem_total_npu = torch.npu.mem_get_info(dev) + mem_total_torch = mem_reserved + mem_total = mem_total_npu else: stats = torch.cuda.memory_stats(dev) mem_reserved = stats['reserved_bytes.all.current'] @@ -145,7 +168,7 @@ total_ram = psutil.virtual_memory().total / (1024 * 1024) logging.info("Total VRAM {:0.0f} MB, total RAM {:0.0f} MB".format(total_vram, total_ram)) try: - logging.info("pytorch version: {}".format(torch.version.__version__)) + logging.info("pytorch version: {}".format(torch_version)) except: pass @@ -186,38 +209,44 @@ def is_nvidia(): return True return False +def is_amd(): + global cpu_state + if cpu_state == CPUState.GPU: + if torch.version.hip: + return True + return False + +MIN_WEIGHT_MEMORY_RATIO = 0.4 +if is_nvidia(): + MIN_WEIGHT_MEMORY_RATIO = 0.1 + ENABLE_PYTORCH_ATTENTION = False if args.use_pytorch_cross_attention: ENABLE_PYTORCH_ATTENTION = True XFORMERS_IS_AVAILABLE = False -VAE_DTYPES = [torch.float32] - try: if is_nvidia(): if int(torch_version[0]) >= 2: if ENABLE_PYTORCH_ATTENTION == False and args.use_split_cross_attention == False and args.use_quad_cross_attention == False: ENABLE_PYTORCH_ATTENTION = True - if torch.cuda.is_bf16_supported() and torch.cuda.get_device_properties(torch.cuda.current_device()).major >= 8: - VAE_DTYPES = [torch.bfloat16] + VAE_DTYPES - if is_intel_xpu(): + if is_intel_xpu() or is_ascend_npu(): if args.use_split_cross_attention == False and args.use_quad_cross_attention == False: ENABLE_PYTORCH_ATTENTION = True except: pass -if is_intel_xpu(): - VAE_DTYPES = [torch.bfloat16] + VAE_DTYPES - -if args.cpu_vae: - VAE_DTYPES = [torch.float32] - - if ENABLE_PYTORCH_ATTENTION: torch.backends.cuda.enable_math_sdp(True) torch.backends.cuda.enable_flash_sdp(True) torch.backends.cuda.enable_mem_efficient_sdp(True) +try: + if int(torch_version[0]) == 2 and int(torch_version[2]) >= 5: + torch.backends.cuda.allow_fp16_bf16_reduction_math_sdp(True) +except: + logging.warning("Warning, could not set allow_fp16_bf16_reduction_math_sdp") + if args.lowvram: set_vram_to = VRAMState.LOW_VRAM lowvram_available = True @@ -266,6 +295,8 @@ def get_torch_device_name(device): return "{}".format(device.type) elif is_intel_xpu(): return "{} {}".format(device, torch.xpu.get_device_name(device)) + elif is_ascend_npu(): + return "{} {}".format(device, torch.npu.get_device_name(device)) else: return "CUDA {}: {}".format(device, torch.cuda.get_device_name(device)) @@ -287,15 +318,34 @@ def module_size(module): class LoadedModel: def __init__(self, model): - self.model = model + self._set_model(model) self.device = model.load_device - self.weights_loaded = False self.real_model = None self.currently_used = True + self.model_finalizer = None + self._patcher_finalizer = None + + def _set_model(self, model): + self._model = weakref.ref(model) + if model.parent is not None: + self._parent_model = weakref.ref(model.parent) + self._patcher_finalizer = weakref.finalize(model, self._switch_parent) + + def _switch_parent(self): + model = self._parent_model() + if model is not None: + self._set_model(model) + + @property + def model(self): + return self._model() def model_memory(self): return self.model.model_size() + def model_loaded_memory(self): + return self.model.loaded_size() + def model_offloaded_memory(self): return self.model.model_size() - self.model.loaded_size() @@ -306,32 +356,23 @@ class LoadedModel: return self.model_memory() def model_load(self, lowvram_model_memory=0, force_patch_weights=False): - patch_model_to = self.device - self.model.model_patches_to(self.device) self.model.model_patches_to(self.model.model_dtype()) - load_weights = not self.weights_loaded + # if self.model.loaded_size() > 0: + use_more_vram = lowvram_model_memory + if use_more_vram == 0: + use_more_vram = 1e32 + self.model_use_more_vram(use_more_vram, force_patch_weights=force_patch_weights) + real_model = self.model.model - if self.model.loaded_size() > 0: - use_more_vram = lowvram_model_memory - if use_more_vram == 0: - use_more_vram = 1e32 - self.model_use_more_vram(use_more_vram) - else: - try: - self.real_model = self.model.patch_model(device_to=patch_model_to, lowvram_model_memory=lowvram_model_memory, load_weights=load_weights, force_patch_weights=force_patch_weights) - except Exception as e: - self.model.unpatch_model(self.model.offload_device) - self.model_unload() - raise e - - if is_intel_xpu() and not args.disable_ipex_optimize and self.real_model is not None: + if is_intel_xpu() and not args.disable_ipex_optimize and 'ipex' in globals() and real_model is not None: with torch.no_grad(): - self.real_model = ipex.optimize(self.real_model.eval(), inplace=True, graph_mode=True, concat_linear=True) + real_model = ipex.optimize(real_model.eval(), inplace=True, graph_mode=True, concat_linear=True) - self.weights_loaded = True - return self.real_model + self.real_model = weakref.ref(real_model) + self.model_finalizer = weakref.finalize(real_model, cleanup_models) + return real_model def should_reload_model(self, force_patch_weights=False): if force_patch_weights and self.model.lowvram_patch_counter() > 0: @@ -344,18 +385,26 @@ class LoadedModel: freed = self.model.partially_unload(self.model.offload_device, memory_to_free) if freed >= memory_to_free: return False - self.model.unpatch_model(self.model.offload_device, unpatch_weights=unpatch_weights) - self.model.model_patches_to(self.model.offload_device) - self.weights_loaded = self.weights_loaded and not unpatch_weights + self.model.detach(unpatch_weights) + self.model_finalizer.detach() + self.model_finalizer = None self.real_model = None return True - def model_use_more_vram(self, extra_memory): - return self.model.partially_load(self.device, extra_memory) + def model_use_more_vram(self, extra_memory, force_patch_weights=False): + return self.model.partially_load(self.device, extra_memory, force_patch_weights=force_patch_weights) def __eq__(self, other): return self.model is other.model + def __del__(self): + if self._patcher_finalizer is not None: + self._patcher_finalizer.detach() + + def is_dead(self): + return self.real_model() is not None and self.model is None + + def use_more_memory(extra_memory, loaded_models, device): for m in loaded_models: if m.device == device: @@ -386,38 +435,8 @@ def extra_reserved_memory(): def minimum_inference_memory(): return (1024 * 1024 * 1024) * 0.8 + extra_reserved_memory() -def unload_model_clones(model, unload_weights_only=True, force_unload=True): - to_unload = [] - for i in range(len(current_loaded_models)): - if model.is_clone(current_loaded_models[i].model): - to_unload = [i] + to_unload - - if len(to_unload) == 0: - return True - - same_weights = 0 - for i in to_unload: - if model.clone_has_same_weights(current_loaded_models[i].model): - same_weights += 1 - - if same_weights == len(to_unload): - unload_weight = False - else: - unload_weight = True - - if not force_unload: - if unload_weights_only and unload_weight == False: - return None - else: - unload_weight = True - - for i in to_unload: - logging.debug("unload clone {} {}".format(i, unload_weight)) - current_loaded_models.pop(i).model_unload(unpatch_weights=unload_weight) - - return unload_weight - def free_memory(memory_required, device, keep_loaded=[]): + cleanup_models_gc() unloaded_model = [] can_unload = [] unloaded_models = [] @@ -425,8 +444,8 @@ def free_memory(memory_required, device, keep_loaded=[]): for i in range(len(current_loaded_models) -1, -1, -1): shift_model = current_loaded_models[i] if shift_model.device == device: - if shift_model not in keep_loaded: - can_unload.append((sys.getrefcount(shift_model.model), shift_model.model_memory(), i)) + if shift_model not in keep_loaded and not shift_model.is_dead(): + can_unload.append((-shift_model.model_offloaded_memory(), sys.getrefcount(shift_model.model), shift_model.model_memory(), i)) shift_model.currently_used = False for x in sorted(can_unload): @@ -454,6 +473,7 @@ def free_memory(memory_required, device, keep_loaded=[]): return unloaded_models def load_models_gpu(models, memory_required=0, force_patch_weights=False, minimum_memory_required=None, force_full_load=False): + cleanup_models_gc() global vram_state inference_memory = minimum_inference_memory() @@ -466,11 +486,9 @@ def load_models_gpu(models, memory_required=0, force_patch_weights=False, minimu models = set(models) models_to_load = [] - models_already_loaded = [] + for x in models: loaded_model = LoadedModel(x) - loaded = None - try: loaded_model_index = current_loaded_models.index(loaded_model) except: @@ -478,51 +496,35 @@ def load_models_gpu(models, memory_required=0, force_patch_weights=False, minimu if loaded_model_index is not None: loaded = current_loaded_models[loaded_model_index] - if loaded.should_reload_model(force_patch_weights=force_patch_weights): #TODO: cleanup this model reload logic - current_loaded_models.pop(loaded_model_index).model_unload(unpatch_weights=True) - loaded = None - else: - loaded.currently_used = True - models_already_loaded.append(loaded) - - if loaded is None: + loaded.currently_used = True + models_to_load.append(loaded) + else: if hasattr(x, "model"): logging.info(f"Requested to load {x.model.__class__.__name__}") models_to_load.append(loaded_model) - if len(models_to_load) == 0: - devs = set(map(lambda a: a.device, models_already_loaded)) - for d in devs: - if d != torch.device("cpu"): - free_memory(extra_mem + offloaded_memory(models_already_loaded, d), d, models_already_loaded) - free_mem = get_free_memory(d) - if free_mem < minimum_memory_required: - logging.info("Unloading models for lowram load.") #TODO: partial model unloading when this case happens, also handle the opposite case where models can be unlowvramed. - models_to_load = free_memory(minimum_memory_required, d) - logging.info("{} models unloaded.".format(len(models_to_load))) - else: - use_more_memory(free_mem - minimum_memory_required, models_already_loaded, d) - if len(models_to_load) == 0: - return - - logging.info(f"Loading {len(models_to_load)} new model{'s' if len(models_to_load) > 1 else ''}") + for loaded_model in models_to_load: + to_unload = [] + for i in range(len(current_loaded_models)): + if loaded_model.model.is_clone(current_loaded_models[i].model): + to_unload = [i] + to_unload + for i in to_unload: + current_loaded_models.pop(i).model.detach(unpatch_all=False) total_memory_required = {} for loaded_model in models_to_load: - unload_model_clones(loaded_model.model, unload_weights_only=True, force_unload=False) #unload clones where the weights are different total_memory_required[loaded_model.device] = total_memory_required.get(loaded_model.device, 0) + loaded_model.model_memory_required(loaded_model.device) - for loaded_model in models_already_loaded: - total_memory_required[loaded_model.device] = total_memory_required.get(loaded_model.device, 0) + loaded_model.model_memory_required(loaded_model.device) - - for loaded_model in models_to_load: - weights_unloaded = unload_model_clones(loaded_model.model, unload_weights_only=False, force_unload=False) #unload the rest of the clones where the weights can stay loaded - if weights_unloaded is not None: - loaded_model.weights_loaded = not weights_unloaded - for device in total_memory_required: if device != torch.device("cpu"): - free_memory(total_memory_required[device] * 1.1 + extra_mem, device, models_already_loaded) + free_memory(total_memory_required[device] * 1.1 + extra_mem, device) + + for device in total_memory_required: + if device != torch.device("cpu"): + free_mem = get_free_memory(device) + if free_mem < minimum_memory_required: + models_l = free_memory(minimum_memory_required, device) + logging.info("{} models unloaded.".format(len(models_l))) for loaded_model in models_to_load: model = loaded_model.model @@ -533,28 +535,19 @@ def load_models_gpu(models, memory_required=0, force_patch_weights=False, minimu vram_set_state = vram_state lowvram_model_memory = 0 if lowvram_available and (vram_set_state == VRAMState.LOW_VRAM or vram_set_state == VRAMState.NORMAL_VRAM) and not force_full_load: - model_size = loaded_model.model_memory_required(torch_dev) - current_free_mem = get_free_memory(torch_dev) - lowvram_model_memory = max(64 * (1024 * 1024), (current_free_mem - minimum_memory_required), min(current_free_mem * 0.4, current_free_mem - minimum_inference_memory())) - if model_size <= lowvram_model_memory: #only switch to lowvram if really necessary - lowvram_model_memory = 0 + loaded_memory = loaded_model.model_loaded_memory() + current_free_mem = get_free_memory(torch_dev) + loaded_memory + + lowvram_model_memory = max(64 * 1024 * 1024, (current_free_mem - minimum_memory_required), min(current_free_mem * MIN_WEIGHT_MEMORY_RATIO, current_free_mem - minimum_inference_memory())) + lowvram_model_memory = max(0.1, lowvram_model_memory - loaded_memory) if vram_set_state == VRAMState.NO_VRAM: - lowvram_model_memory = 64 * 1024 * 1024 + lowvram_model_memory = 0.1 - cur_loaded_model = loaded_model.model_load(lowvram_model_memory, force_patch_weights=force_patch_weights) + loaded_model.model_load(lowvram_model_memory, force_patch_weights=force_patch_weights) current_loaded_models.insert(0, loaded_model) - - - devs = set(map(lambda a: a.device, models_already_loaded)) - for d in devs: - if d != torch.device("cpu"): - free_mem = get_free_memory(d) - if free_mem > minimum_memory_required: - use_more_memory(free_mem - minimum_memory_required, models_already_loaded, d) return - def load_model_gpu(model): return load_models_gpu([model]) @@ -568,21 +561,35 @@ def loaded_models(only_currently_used=False): output.append(m.model) return output -def cleanup_models(keep_clone_weights_loaded=False): + +def cleanup_models_gc(): + do_gc = False + for i in range(len(current_loaded_models)): + cur = current_loaded_models[i] + if cur.is_dead(): + logging.info("Potential memory leak detected with model {}, doing a full garbage collect, for maximum performance avoid circular references in the model code.".format(cur.real_model().__class__.__name__)) + do_gc = True + break + + if do_gc: + gc.collect() + soft_empty_cache() + + for i in range(len(current_loaded_models)): + cur = current_loaded_models[i] + if cur.is_dead(): + logging.warning("WARNING, memory leak with model {}. Please make sure it is not being referenced from somewhere.".format(cur.real_model().__class__.__name__)) + + + +def cleanup_models(): to_delete = [] for i in range(len(current_loaded_models)): - #TODO: very fragile function needs improvement - num_refs = sys.getrefcount(current_loaded_models[i].model) - if num_refs <= 2: - if not keep_clone_weights_loaded: - to_delete = [i] + to_delete - #TODO: find a less fragile way to do this. - elif sys.getrefcount(current_loaded_models[i].real_model) <= 3: #references from .real_model + the .model - to_delete = [i] + to_delete + if current_loaded_models[i].real_model() is None: + to_delete = [i] + to_delete for i in to_delete: x = current_loaded_models.pop(i) - x.model_unload() del x def dtype_size(dtype): @@ -606,7 +613,7 @@ def unet_offload_device(): def unet_inital_load_device(parameters, dtype): torch_dev = get_torch_device() - if vram_state == VRAMState.HIGH_VRAM: + if vram_state == VRAMState.HIGH_VRAM or vram_state == VRAMState.SHARED: return torch_dev cpu_dev = torch.device("cpu") @@ -626,6 +633,12 @@ def maximum_vram_for_weights(device=None): return (get_total_memory(device) * 0.88 - minimum_inference_memory()) def unet_dtype(device=None, model_params=0, supported_dtypes=[torch.float16, torch.bfloat16, torch.float32]): + if model_params < 0: + model_params = 1000000000000000000000 + if args.fp32_unet: + return torch.float32 + if args.fp64_unet: + return torch.float64 if args.bf16_unet: return torch.bfloat16 if args.fp16_unet: @@ -645,6 +658,9 @@ def unet_dtype(device=None, model_params=0, supported_dtypes=[torch.float16, tor pass if fp8_dtype is not None: + if supports_fp8_compute(device): #if fp8 compute is supported the casting is most likely not expensive + return fp8_dtype + free_model_memory = maximum_vram_for_weights(device) if model_params * 2 > free_model_memory: return fp8_dtype @@ -669,7 +685,7 @@ def unet_dtype(device=None, model_params=0, supported_dtypes=[torch.float16, tor # None means no manual cast def unet_manual_cast(weight_dtype, inference_device, supported_dtypes=[torch.float16, torch.bfloat16, torch.float32]): - if weight_dtype == torch.float32: + if weight_dtype == torch.float32 or weight_dtype == torch.float64: return None fp16_supported = should_use_fp16(inference_device, prioritize_performance=False) @@ -711,7 +727,7 @@ def text_encoder_initial_device(load_device, offload_device, model_size=0): return offload_device if is_device_mps(load_device): - return offload_device + return load_device mem_l = get_free_memory(load_device) mem_o = get_free_memory(offload_device) @@ -754,7 +770,6 @@ def vae_offload_device(): return torch.device("cpu") def vae_dtype(device=None, allowed_dtypes=[]): - global VAE_DTYPES if args.fp16_vae: return torch.float16 elif args.bf16_vae: @@ -763,12 +778,14 @@ def vae_dtype(device=None, allowed_dtypes=[]): return torch.float32 for d in allowed_dtypes: - if d == torch.float16 and should_use_fp16(device, prioritize_performance=False): - return d - if d in VAE_DTYPES: + if d == torch.float16 and should_use_fp16(device): return d - return VAE_DTYPES[0] + # NOTE: bfloat16 seems to work on AMD for the VAE but is extremely slow in some cases compared to fp32 + if d == torch.bfloat16 and (not is_amd()) and should_use_bf16(device): + return d + + return torch.float32 def get_autocast_device(dev): if hasattr(dev, 'type'): @@ -838,27 +855,23 @@ def force_channels_last(): #TODO return False +def cast_to(weight, dtype=None, device=None, non_blocking=False, copy=False): + if device is None or weight.device == device: + if not copy: + if dtype is None or weight.dtype == dtype: + return weight + return weight.to(dtype=dtype, copy=copy) + + r = torch.empty_like(weight, dtype=dtype, device=device) + r.copy_(weight, non_blocking=non_blocking) + return r + def cast_to_device(tensor, device, dtype, copy=False): - device_supports_cast = False - if tensor.dtype == torch.float32 or tensor.dtype == torch.float16: - device_supports_cast = True - elif tensor.dtype == torch.bfloat16: - if hasattr(device, 'type') and device.type.startswith("cuda"): - device_supports_cast = True - elif is_intel_xpu(): - device_supports_cast = True + non_blocking = device_supports_non_blocking(device) + return cast_to(tensor, dtype=dtype, device=device, non_blocking=non_blocking, copy=copy) - non_blocking = device_should_use_non_blocking(device) - - if device_supports_cast: - if copy: - if tensor.device == device: - return tensor.to(dtype, copy=copy, non_blocking=non_blocking) - return tensor.to(device, copy=copy, non_blocking=non_blocking).to(dtype, non_blocking=non_blocking) - else: - return tensor.to(device, non_blocking=non_blocking).to(dtype, non_blocking=non_blocking) - else: - return tensor.to(device, dtype, copy=copy, non_blocking=non_blocking) +def sage_attention_enabled(): + return args.use_sage_attention def xformers_enabled(): global directml_enabled @@ -867,6 +880,8 @@ def xformers_enabled(): return False if is_intel_xpu(): return False + if is_ascend_npu(): + return False if directml_enabled: return False return XFORMERS_IS_AVAILABLE @@ -891,16 +906,23 @@ def pytorch_attention_flash_attention(): return True if is_intel_xpu(): return True + if is_ascend_npu(): + return True return False +def mac_version(): + try: + return tuple(int(n) for n in platform.mac_ver()[0].split(".")) + except: + return None + def force_upcast_attention_dtype(): upcast = args.force_upcast_attention - try: - macos_version = tuple(int(n) for n in platform.mac_ver()[0].split(".")) - if (14, 5) <= macos_version < (14, 7): # black image bug on recent versions of MacOS - upcast = True - except: - pass + + macos_version = mac_version() + if macos_version is not None and ((14, 5) <= macos_version <= (15, 2)): # black image bug on recent versions of macOS + upcast = True + if upcast: return torch.float32 else: @@ -925,6 +947,13 @@ def get_free_memory(dev=None, torch_free_too=False): mem_free_torch = mem_reserved - mem_active mem_free_xpu = torch.xpu.get_device_properties(dev).total_memory - mem_reserved mem_free_total = mem_free_xpu + mem_free_torch + elif is_ascend_npu(): + stats = torch.npu.memory_stats(dev) + mem_active = stats['active_bytes.all.current'] + mem_reserved = stats['reserved_bytes.all.current'] + mem_free_npu, _ = torch.npu.mem_get_info(dev) + mem_free_torch = mem_reserved - mem_active + mem_free_total = mem_free_npu + mem_free_torch else: stats = torch.cuda.memory_stats(dev) mem_active = stats['active_bytes.all.current'] @@ -971,17 +1000,13 @@ def should_use_fp16(device=None, model_params=0, prioritize_performance=True, ma if FORCE_FP16: return True - if device is not None: - if is_device_mps(device): - return True - if FORCE_FP32: return False if directml_enabled: return False - if mps_mode(): + if (device is not None and is_device_mps(device)) or mps_mode(): return True if cpu_mode(): @@ -990,6 +1015,9 @@ def should_use_fp16(device=None, model_params=0, prioritize_performance=True, ma if is_intel_xpu(): return True + if is_ascend_npu(): + return True + if torch.version.hip: return True @@ -1030,17 +1058,15 @@ def should_use_bf16(device=None, model_params=0, prioritize_performance=True, ma if is_device_cpu(device): #TODO ? bf16 works on CPU but is extremely slow return False - if device is not None: - if is_device_mps(device): - return True - if FORCE_FP32: return False if directml_enabled: return False - if mps_mode(): + if (device is not None and is_device_mps(device)) or mps_mode(): + if mac_version() < (14,): + return False return True if cpu_mode(): @@ -1063,6 +1089,9 @@ def should_use_bf16(device=None, model_params=0, prioritize_performance=True, ma return False def supports_fp8_compute(device=None): + if not is_nvidia(): + return False + props = torch.cuda.get_device_properties(device) if props.major >= 9: return True @@ -1070,6 +1099,14 @@ def supports_fp8_compute(device=None): return False if props.minor < 9: return False + + if int(torch_version[0]) < 2 or (int(torch_version[0]) == 2 and int(torch_version[2]) < 3): + return False + + if WINDOWS: + if (int(torch_version[0]) == 2 and int(torch_version[2]) < 4): + return False + return True def soft_empty_cache(force=False): @@ -1078,19 +1115,16 @@ def soft_empty_cache(force=False): torch.mps.empty_cache() elif is_intel_xpu(): torch.xpu.empty_cache() + elif is_ascend_npu(): + torch.npu.empty_cache() elif torch.cuda.is_available(): - if force or is_nvidia(): #This seems to make things worse on ROCm so I only do it for cuda - torch.cuda.empty_cache() - torch.cuda.ipc_collect() + torch.cuda.empty_cache() + torch.cuda.ipc_collect() def unload_all_models(): free_memory(1e30, get_torch_device()) -def resolve_lowvram_weight(weight, model, key): #TODO: remove - print("WARNING: The comfy.model_management.resolve_lowvram_weight function will be removed soon, please stop using it.") - return weight - #TODO: might be cleaner to put this somewhere else import threading diff --git a/comfy/model_patcher.py b/comfy/model_patcher.py index 3f5d90273..0501f7b38 100644 --- a/comfy/model_patcher.py +++ b/comfy/model_patcher.py @@ -16,6 +16,8 @@ along with this program. If not, see . """ +from __future__ import annotations +from typing import Optional, Callable import torch import copy import inspect @@ -28,7 +30,10 @@ import comfy.utils import comfy.float import comfy.model_management import comfy.lora -from comfy.types import UnetWrapperFunction +import comfy.hooks +import comfy.patcher_extension +from comfy.patcher_extension import CallbacksMP, WrappersMP, PatcherInjection +from comfy.comfy_types import UnetWrapperFunction def string_to_seed(data): crc = 0xFFFFFFFF @@ -76,6 +81,17 @@ def set_model_options_pre_cfg_function(model_options, pre_cfg_function, disable_ model_options["disable_cfg1_optimization"] = True return model_options +def create_model_options_clone(orig_model_options: dict): + return comfy.patcher_extension.copy_nested_dicts(orig_model_options) + +def create_hook_patches_clone(orig_hook_patches): + new_hook_patches = {} + for hook_ref in orig_hook_patches: + new_hook_patches[hook_ref] = {} + for k in orig_hook_patches[hook_ref]: + new_hook_patches[hook_ref][k] = orig_hook_patches[hook_ref][k][:] + return new_hook_patches + def wipe_lowvram_weight(m): if hasattr(m, "prev_comfy_cast_weights"): m.comfy_cast_weights = m.prev_comfy_cast_weights @@ -88,7 +104,79 @@ class LowVramPatch: self.key = key self.patches = patches def __call__(self, weight): - return comfy.lora.calculate_weight(self.patches[self.key], weight, self.key, intermediate_dtype=weight.dtype) + intermediate_dtype = weight.dtype + if intermediate_dtype not in [torch.float32, torch.float16, torch.bfloat16]: #intermediate_dtype has to be one that is supported in math ops + intermediate_dtype = torch.float32 + return comfy.float.stochastic_rounding(comfy.lora.calculate_weight(self.patches[self.key], weight.to(intermediate_dtype), self.key, intermediate_dtype=intermediate_dtype), weight.dtype, seed=string_to_seed(self.key)) + + return comfy.lora.calculate_weight(self.patches[self.key], weight, self.key, intermediate_dtype=intermediate_dtype) + +def get_key_weight(model, key): + set_func = None + convert_func = None + op_keys = key.rsplit('.', 1) + if len(op_keys) < 2: + weight = comfy.utils.get_attr(model, key) + else: + op = comfy.utils.get_attr(model, op_keys[0]) + try: + set_func = getattr(op, "set_{}".format(op_keys[1])) + except AttributeError: + pass + + try: + convert_func = getattr(op, "convert_{}".format(op_keys[1])) + except AttributeError: + pass + + weight = getattr(op, op_keys[1]) + if convert_func is not None: + weight = comfy.utils.get_attr(model, key) + + return weight, set_func, convert_func + +class AutoPatcherEjector: + def __init__(self, model: 'ModelPatcher', skip_and_inject_on_exit_only=False): + self.model = model + self.was_injected = False + self.prev_skip_injection = False + self.skip_and_inject_on_exit_only = skip_and_inject_on_exit_only + + def __enter__(self): + self.was_injected = False + self.prev_skip_injection = self.model.skip_injection + if self.skip_and_inject_on_exit_only: + self.model.skip_injection = True + if self.model.is_injected: + self.model.eject_model() + self.was_injected = True + + def __exit__(self, *args): + if self.skip_and_inject_on_exit_only: + self.model.skip_injection = self.prev_skip_injection + self.model.inject_model() + if self.was_injected and not self.model.skip_injection: + self.model.inject_model() + self.model.skip_injection = self.prev_skip_injection + +class MemoryCounter: + def __init__(self, initial: int, minimum=0): + self.value = initial + self.minimum = minimum + # TODO: add a safe limit besides 0 + + def use(self, weight: torch.Tensor): + weight_size = weight.nelement() * weight.element_size() + if self.is_useable(weight_size): + self.decrement(weight_size) + return True + return False + + def is_useable(self, used: int): + return self.value - used > self.minimum + + def decrement(self, used: int): + self.value -= used class ModelPatcher: def __init__(self, model, load_device, offload_device, size=0, weight_inplace_update=False): @@ -110,6 +198,25 @@ class ModelPatcher: self.offload_device = offload_device self.weight_inplace_update = weight_inplace_update self.patches_uuid = uuid.uuid4() + self.parent = None + + self.attachments: dict[str] = {} + self.additional_models: dict[str, list[ModelPatcher]] = {} + self.callbacks: dict[str, dict[str, list[Callable]]] = CallbacksMP.init_callbacks() + self.wrappers: dict[str, dict[str, list[Callable]]] = WrappersMP.init_wrappers() + + self.is_injected = False + self.skip_injection = False + self.injections: dict[str, list[PatcherInjection]] = {} + + self.hook_patches: dict[comfy.hooks._HookRef] = {} + self.hook_patches_backup: dict[comfy.hooks._HookRef] = None + self.hook_backup: dict[str, tuple[torch.Tensor, torch.device]] = {} + self.cached_hook_patches: dict[comfy.hooks.HookGroup, dict[str, torch.Tensor]] = {} + self.current_hooks: Optional[comfy.hooks.HookGroup] = None + self.forced_hooks: Optional[comfy.hooks.HookGroup] = None # NOTE: only used for CLIP at this time + self.is_clip = False + self.hook_mode = comfy.hooks.EnumHookMode.MaxSpeed if not hasattr(self.model, 'model_loaded_weight_memory'): self.model.model_loaded_weight_memory = 0 @@ -120,6 +227,9 @@ class ModelPatcher: if not hasattr(self.model, 'model_lowvram'): self.model.model_lowvram = False + if not hasattr(self.model, 'current_weight_patches_uuid'): + self.model.current_weight_patches_uuid = None + def model_size(self): if self.size > 0: return self.size @@ -133,7 +243,7 @@ class ModelPatcher: return self.model.lowvram_patch_counter def clone(self): - n = ModelPatcher(self.model, self.load_device, self.offload_device, self.size, weight_inplace_update=self.weight_inplace_update) + n = self.__class__(self.model, self.load_device, self.offload_device, self.size, weight_inplace_update=self.weight_inplace_update) n.patches = {} for k in self.patches: n.patches[k] = self.patches[k][:] @@ -143,6 +253,48 @@ class ModelPatcher: n.model_options = copy.deepcopy(self.model_options) n.backup = self.backup n.object_patches_backup = self.object_patches_backup + n.parent = self + + # attachments + n.attachments = {} + for k in self.attachments: + if hasattr(self.attachments[k], "on_model_patcher_clone"): + n.attachments[k] = self.attachments[k].on_model_patcher_clone() + else: + n.attachments[k] = self.attachments[k] + # additional models + for k, c in self.additional_models.items(): + n.additional_models[k] = [x.clone() for x in c] + # callbacks + for k, c in self.callbacks.items(): + n.callbacks[k] = {} + for k1, c1 in c.items(): + n.callbacks[k][k1] = c1.copy() + # sample wrappers + for k, w in self.wrappers.items(): + n.wrappers[k] = {} + for k1, w1 in w.items(): + n.wrappers[k][k1] = w1.copy() + # injection + n.is_injected = self.is_injected + n.skip_injection = self.skip_injection + for k, i in self.injections.items(): + n.injections[k] = i.copy() + # hooks + n.hook_patches = create_hook_patches_clone(self.hook_patches) + n.hook_patches_backup = create_hook_patches_clone(self.hook_patches_backup) if self.hook_patches_backup else self.hook_patches_backup + for group in self.cached_hook_patches: + n.cached_hook_patches[group] = {} + for k in self.cached_hook_patches[group]: + n.cached_hook_patches[group][k] = self.cached_hook_patches[group][k] + n.hook_backup = self.hook_backup + n.current_hooks = self.current_hooks.clone() if self.current_hooks else self.current_hooks + n.forced_hooks = self.forced_hooks.clone() if self.forced_hooks else self.forced_hooks + n.is_clip = self.is_clip + n.hook_mode = self.hook_mode + + for callback in self.get_all_callbacks(CallbacksMP.ON_CLONE): + callback(self, n) return n def is_clone(self, other): @@ -150,10 +302,29 @@ class ModelPatcher: return True return False - def clone_has_same_weights(self, clone): + def clone_has_same_weights(self, clone: 'ModelPatcher'): if not self.is_clone(clone): return False + if self.current_hooks != clone.current_hooks: + return False + if self.forced_hooks != clone.forced_hooks: + return False + if self.hook_patches.keys() != clone.hook_patches.keys(): + return False + if self.attachments.keys() != clone.attachments.keys(): + return False + if self.additional_models.keys() != clone.additional_models.keys(): + return False + for key in self.callbacks: + if len(self.callbacks[key]) != len(clone.callbacks[key]): + return False + for key in self.wrappers: + if len(self.wrappers[key]) != len(clone.wrappers[key]): + return False + if self.injections.keys() != clone.injections.keys(): + return False + if len(self.patches) == 0 and len(clone.patches) == 0: return True @@ -222,10 +393,29 @@ class ModelPatcher: def set_model_output_block_patch(self, patch): self.set_model_patch(patch, "output_block_patch") + def set_model_emb_patch(self, patch): + self.set_model_patch(patch, "emb_patch") + + def set_model_forward_timestep_embed_patch(self, patch): + self.set_model_patch(patch, "forward_timestep_embed_patch") + def add_object_patch(self, name, obj): self.object_patches[name] = obj - def get_model_object(self, name): + def get_model_object(self, name: str) -> torch.nn.Module: + """Retrieves a nested attribute from an object using dot notation considering + object patches. + + Args: + name (str): The attribute path using dot notation (e.g. "model.layer.weight") + + Returns: + The value of the requested attribute + + Example: + patcher = ModelPatcher() + weight = patcher.get_model_object("layer1.conv.weight") + """ if name in self.object_patches: return self.object_patches[name] else: @@ -260,57 +450,67 @@ class ModelPatcher: return self.model.get_dtype() def add_patches(self, patches, strength_patch=1.0, strength_model=1.0): - p = set() - model_sd = self.model.state_dict() - for k in patches: - offset = None - function = None - if isinstance(k, str): - key = k - else: - offset = k[1] - key = k[0] - if len(k) > 2: - function = k[2] + with self.use_ejected(): + p = set() + model_sd = self.model.state_dict() + for k in patches: + offset = None + function = None + if isinstance(k, str): + key = k + else: + offset = k[1] + key = k[0] + if len(k) > 2: + function = k[2] - if key in model_sd: - p.add(k) - current_patches = self.patches.get(key, []) - current_patches.append((strength_patch, patches[k], strength_model, offset, function)) - self.patches[key] = current_patches + if key in model_sd: + p.add(k) + current_patches = self.patches.get(key, []) + current_patches.append((strength_patch, patches[k], strength_model, offset, function)) + self.patches[key] = current_patches - self.patches_uuid = uuid.uuid4() - return list(p) + self.patches_uuid = uuid.uuid4() + return list(p) def get_key_patches(self, filter_prefix=None): - comfy.model_management.unload_model_clones(self) model_sd = self.model_state_dict() p = {} for k in model_sd: if filter_prefix is not None: if not k.startswith(filter_prefix): continue + bk = self.backup.get(k, None) + hbk = self.hook_backup.get(k, None) + weight, set_func, convert_func = get_key_weight(self.model, k) + if bk is not None: + weight = bk.weight + if hbk is not None: + weight = hbk[0] + if convert_func is None: + convert_func = lambda a, **kwargs: a + if k in self.patches: - p[k] = [model_sd[k]] + self.patches[k] + p[k] = [(weight, convert_func)] + self.patches[k] else: - p[k] = (model_sd[k],) + p[k] = [(weight, convert_func)] return p def model_state_dict(self, filter_prefix=None): - sd = self.model.state_dict() - keys = list(sd.keys()) - if filter_prefix is not None: - for k in keys: - if not k.startswith(filter_prefix): - sd.pop(k) - return sd + with self.use_ejected(): + sd = self.model.state_dict() + keys = list(sd.keys()) + if filter_prefix is not None: + for k in keys: + if not k.startswith(filter_prefix): + sd.pop(k) + return sd def patch_weight_to_device(self, key, device_to=None, inplace_update=False): if key not in self.patches: return - weight = comfy.utils.get_attr(self.model, key) - + weight, set_func, convert_func = get_key_weight(self.model, key) inplace_update = self.weight_inplace_update or inplace_update if key not in self.backup: @@ -320,115 +520,146 @@ class ModelPatcher: temp_weight = comfy.model_management.cast_to_device(weight, device_to, torch.float32, copy=True) else: temp_weight = weight.to(torch.float32, copy=True) - out_weight = comfy.lora.calculate_weight(self.patches[key], temp_weight, key) - out_weight = comfy.float.stochastic_rounding(out_weight, weight.dtype, seed=string_to_seed(key)) - if inplace_update: - comfy.utils.copy_to_param(self.model, key, out_weight) - else: - comfy.utils.set_attr_param(self.model, key, out_weight) + if convert_func is not None: + temp_weight = convert_func(temp_weight, inplace=True) - def load(self, device_to=None, lowvram_model_memory=0, force_patch_weights=False, full_load=False): - mem_counter = 0 - patch_counter = 0 - lowvram_counter = 0 + out_weight = comfy.lora.calculate_weight(self.patches[key], temp_weight, key) + if set_func is None: + out_weight = comfy.float.stochastic_rounding(out_weight, weight.dtype, seed=string_to_seed(key)) + if inplace_update: + comfy.utils.copy_to_param(self.model, key, out_weight) + else: + comfy.utils.set_attr_param(self.model, key, out_weight) + else: + set_func(out_weight, inplace_update=inplace_update, seed=string_to_seed(key)) + + def _load_list(self): loading = [] for n, m in self.model.named_modules(): - if hasattr(m, "comfy_cast_weights") or hasattr(m, "weight"): - loading.append((comfy.model_management.module_size(m), n, m)) + params = [] + skip = False + for name, param in m.named_parameters(recurse=False): + params.append(name) + for name, param in m.named_parameters(recurse=True): + if name not in params: + skip = True # skip random weights in non leaf modules + break + if not skip and (hasattr(m, "comfy_cast_weights") or len(params) > 0): + loading.append((comfy.model_management.module_size(m), n, m, params)) + return loading - load_completely = [] - loading.sort(reverse=True) - for x in loading: - n = x[1] - m = x[2] - module_mem = x[0] + def load(self, device_to=None, lowvram_model_memory=0, force_patch_weights=False, full_load=False): + with self.use_ejected(): + self.unpatch_hooks() + mem_counter = 0 + patch_counter = 0 + lowvram_counter = 0 + loading = self._load_list() - lowvram_weight = False + load_completely = [] + loading.sort(reverse=True) + for x in loading: + n = x[1] + m = x[2] + params = x[3] + module_mem = x[0] - if not full_load and hasattr(m, "comfy_cast_weights"): - if mem_counter + module_mem >= lowvram_model_memory: - lowvram_weight = True - lowvram_counter += 1 - if hasattr(m, "prev_comfy_cast_weights"): #Already lowvramed + lowvram_weight = False + + if not full_load and hasattr(m, "comfy_cast_weights"): + if mem_counter + module_mem >= lowvram_model_memory: + lowvram_weight = True + lowvram_counter += 1 + if hasattr(m, "prev_comfy_cast_weights"): #Already lowvramed + continue + + weight_key = "{}.weight".format(n) + bias_key = "{}.bias".format(n) + + if lowvram_weight: + if weight_key in self.patches: + if force_patch_weights: + self.patch_weight_to_device(weight_key) + else: + m.weight_function = LowVramPatch(weight_key, self.patches) + patch_counter += 1 + if bias_key in self.patches: + if force_patch_weights: + self.patch_weight_to_device(bias_key) + else: + m.bias_function = LowVramPatch(bias_key, self.patches) + patch_counter += 1 + + m.prev_comfy_cast_weights = m.comfy_cast_weights + m.comfy_cast_weights = True + else: + if hasattr(m, "comfy_cast_weights"): + if m.comfy_cast_weights: + wipe_lowvram_weight(m) + + if full_load or mem_counter + module_mem < lowvram_model_memory: + mem_counter += module_mem + load_completely.append((module_mem, n, m, params)) + + load_completely.sort(reverse=True) + for x in load_completely: + n = x[1] + m = x[2] + params = x[3] + if hasattr(m, "comfy_patched_weights"): + if m.comfy_patched_weights == True: continue - weight_key = "{}.weight".format(n) - bias_key = "{}.bias".format(n) + for param in params: + self.patch_weight_to_device("{}.{}".format(n, param), device_to=device_to) - if lowvram_weight: - if weight_key in self.patches: - if force_patch_weights: - self.patch_weight_to_device(weight_key) - else: - m.weight_function = LowVramPatch(weight_key, self.patches) - patch_counter += 1 - if bias_key in self.patches: - if force_patch_weights: - self.patch_weight_to_device(bias_key) - else: - m.bias_function = LowVramPatch(bias_key, self.patches) - patch_counter += 1 + logging.debug("lowvram: loaded module regularly {} {}".format(n, m)) + m.comfy_patched_weights = True - m.prev_comfy_cast_weights = m.comfy_cast_weights - m.comfy_cast_weights = True + for x in load_completely: + x[2].to(device_to) + + if lowvram_counter > 0: + logging.info("loaded partially {} {} {}".format(lowvram_model_memory / (1024 * 1024), mem_counter / (1024 * 1024), patch_counter)) + self.model.model_lowvram = True else: - if hasattr(m, "comfy_cast_weights"): - if m.comfy_cast_weights: - wipe_lowvram_weight(m) + logging.info("loaded completely {} {} {}".format(lowvram_model_memory / (1024 * 1024), mem_counter / (1024 * 1024), full_load)) + self.model.model_lowvram = False + if full_load: + self.model.to(device_to) + mem_counter = self.model_size() - if hasattr(m, "weight"): - mem_counter += module_mem - load_completely.append((module_mem, n, m)) + self.model.lowvram_patch_counter += patch_counter + self.model.device = device_to + self.model.model_loaded_weight_memory = mem_counter + self.model.current_weight_patches_uuid = self.patches_uuid - load_completely.sort(reverse=True) - for x in load_completely: - n = x[1] - m = x[2] - weight_key = "{}.weight".format(n) - bias_key = "{}.bias".format(n) - if hasattr(m, "comfy_patched_weights"): - if m.comfy_patched_weights == True: - continue + for callback in self.get_all_callbacks(CallbacksMP.ON_LOAD): + callback(self, device_to, lowvram_model_memory, force_patch_weights, full_load) - self.patch_weight_to_device(weight_key, device_to=device_to) - self.patch_weight_to_device(bias_key, device_to=device_to) - logging.debug("lowvram: loaded module regularly {} {}".format(n, m)) - m.comfy_patched_weights = True - - for x in load_completely: - x[2].to(device_to) - - if lowvram_counter > 0: - logging.info("loaded partially {} {} {}".format(lowvram_model_memory / (1024 * 1024), mem_counter / (1024 * 1024), patch_counter)) - self.model.model_lowvram = True - else: - logging.info("loaded completely {} {} {}".format(lowvram_model_memory / (1024 * 1024), mem_counter / (1024 * 1024), full_load)) - self.model.model_lowvram = False - if full_load: - self.model.to(device_to) - mem_counter = self.model_size() - - self.model.lowvram_patch_counter += patch_counter - self.model.device = device_to - self.model.model_loaded_weight_memory = mem_counter + self.apply_hooks(self.forced_hooks, force_apply=True) def patch_model(self, device_to=None, lowvram_model_memory=0, load_weights=True, force_patch_weights=False): - for k in self.object_patches: - old = comfy.utils.set_attr(self.model, k, self.object_patches[k]) - if k not in self.object_patches_backup: - self.object_patches_backup[k] = old + with self.use_ejected(): + for k in self.object_patches: + old = comfy.utils.set_attr(self.model, k, self.object_patches[k]) + if k not in self.object_patches_backup: + self.object_patches_backup[k] = old - if lowvram_model_memory == 0: - full_load = True - else: - full_load = False + if lowvram_model_memory == 0: + full_load = True + else: + full_load = False - if load_weights: - self.load(device_to, lowvram_model_memory=lowvram_model_memory, force_patch_weights=force_patch_weights, full_load=full_load) + if load_weights: + self.load(device_to, lowvram_model_memory=lowvram_model_memory, force_patch_weights=force_patch_weights, full_load=full_load) + self.inject_model() return self.model def unpatch_model(self, device_to=None, unpatch_weights=True): + self.eject_model() if unpatch_weights: + self.unpatch_hooks() if self.model.model_lowvram: for m in self.model.modules(): wipe_lowvram_weight(m) @@ -445,6 +676,7 @@ class ModelPatcher: else: comfy.utils.set_attr_param(self.model, k, bk.weight) + self.model.current_weight_patches_uuid = None self.backup.clear() if device_to is not None: @@ -463,70 +695,444 @@ class ModelPatcher: self.object_patches_backup.clear() def partially_unload(self, device_to, memory_to_free=0): - memory_freed = 0 - patch_counter = 0 - unload_list = [] + with self.use_ejected(): + memory_freed = 0 + patch_counter = 0 + unload_list = self._load_list() + unload_list.sort() + for unload in unload_list: + if memory_to_free < memory_freed: + break + module_mem = unload[0] + n = unload[1] + m = unload[2] + params = unload[3] - for n, m in self.model.named_modules(): - shift_lowvram = False - if hasattr(m, "comfy_cast_weights"): - module_mem = comfy.model_management.module_size(m) - unload_list.append((module_mem, n, m)) + lowvram_possible = hasattr(m, "comfy_cast_weights") + if hasattr(m, "comfy_patched_weights") and m.comfy_patched_weights == True: + move_weight = True + for param in params: + key = "{}.{}".format(n, param) + bk = self.backup.get(key, None) + if bk is not None: + if not lowvram_possible: + move_weight = False + break - unload_list.sort() - for unload in unload_list: - if memory_to_free < memory_freed: - break - module_mem = unload[0] - n = unload[1] - m = unload[2] - weight_key = "{}.weight".format(n) - bias_key = "{}.bias".format(n) + if bk.inplace_update: + comfy.utils.copy_to_param(self.model, key, bk.weight) + else: + comfy.utils.set_attr_param(self.model, key, bk.weight) + self.backup.pop(key) - if hasattr(m, "comfy_patched_weights") and m.comfy_patched_weights == True: - for key in [weight_key, bias_key]: - bk = self.backup.get(key, None) - if bk is not None: - if bk.inplace_update: - comfy.utils.copy_to_param(self.model, key, bk.weight) - else: - comfy.utils.set_attr_param(self.model, key, bk.weight) - self.backup.pop(key) + weight_key = "{}.weight".format(n) + bias_key = "{}.bias".format(n) + if move_weight: + m.to(device_to) + if lowvram_possible: + if weight_key in self.patches: + m.weight_function = LowVramPatch(weight_key, self.patches) + patch_counter += 1 + if bias_key in self.patches: + m.bias_function = LowVramPatch(bias_key, self.patches) + patch_counter += 1 - m.to(device_to) - if weight_key in self.patches: - m.weight_function = LowVramPatch(weight_key, self.patches) - patch_counter += 1 - if bias_key in self.patches: - m.bias_function = LowVramPatch(bias_key, self.patches) - patch_counter += 1 + m.prev_comfy_cast_weights = m.comfy_cast_weights + m.comfy_cast_weights = True + m.comfy_patched_weights = False + memory_freed += module_mem + logging.debug("freed {}".format(n)) - m.prev_comfy_cast_weights = m.comfy_cast_weights - m.comfy_cast_weights = True - m.comfy_patched_weights = False - memory_freed += module_mem - logging.debug("freed {}".format(n)) + self.model.model_lowvram = True + self.model.lowvram_patch_counter += patch_counter + self.model.model_loaded_weight_memory -= memory_freed + return memory_freed - self.model.model_lowvram = True - self.model.lowvram_patch_counter += patch_counter - self.model.model_loaded_weight_memory -= memory_freed - return memory_freed + def partially_load(self, device_to, extra_memory=0, force_patch_weights=False): + with self.use_ejected(skip_and_inject_on_exit_only=True): + unpatch_weights = self.model.current_weight_patches_uuid is not None and (self.model.current_weight_patches_uuid != self.patches_uuid or force_patch_weights) + # TODO: force_patch_weights should not unload + reload full model + used = self.model.model_loaded_weight_memory + self.unpatch_model(self.offload_device, unpatch_weights=unpatch_weights) + if unpatch_weights: + extra_memory += (used - self.model.model_loaded_weight_memory) - def partially_load(self, device_to, extra_memory=0): - self.unpatch_model(unpatch_weights=False) - self.patch_model(load_weights=False) - full_load = False - if self.model.model_lowvram == False: - return 0 - if self.model.model_loaded_weight_memory + extra_memory > self.model_size(): - full_load = True - current_used = self.model.model_loaded_weight_memory - self.load(device_to, lowvram_model_memory=current_used + extra_memory, full_load=full_load) - return self.model.model_loaded_weight_memory - current_used + self.patch_model(load_weights=False) + full_load = False + if self.model.model_lowvram == False and self.model.model_loaded_weight_memory > 0: + self.apply_hooks(self.forced_hooks, force_apply=True) + return 0 + if self.model.model_loaded_weight_memory + extra_memory > self.model_size(): + full_load = True + current_used = self.model.model_loaded_weight_memory + try: + self.load(device_to, lowvram_model_memory=current_used + extra_memory, force_patch_weights=force_patch_weights, full_load=full_load) + except Exception as e: + self.detach() + raise e + + return self.model.model_loaded_weight_memory - current_used + + def detach(self, unpatch_all=True): + self.eject_model() + self.model_patches_to(self.offload_device) + if unpatch_all: + self.unpatch_model(self.offload_device, unpatch_weights=unpatch_all) + for callback in self.get_all_callbacks(CallbacksMP.ON_DETACH): + callback(self, unpatch_all) + return self.model def current_loaded_device(self): return self.model.device def calculate_weight(self, patches, weight, key, intermediate_dtype=torch.float32): - print("WARNING the ModelPatcher.calculate_weight function is deprecated, please use: comfy.lora.calculate_weight instead") + logging.warning("The ModelPatcher.calculate_weight function is deprecated, please use: comfy.lora.calculate_weight instead") return comfy.lora.calculate_weight(patches, weight, key, intermediate_dtype=intermediate_dtype) + + def cleanup(self): + self.clean_hooks() + if hasattr(self.model, "current_patcher"): + self.model.current_patcher = None + for callback in self.get_all_callbacks(CallbacksMP.ON_CLEANUP): + callback(self) + + def add_callback(self, call_type: str, callback: Callable): + self.add_callback_with_key(call_type, None, callback) + + def add_callback_with_key(self, call_type: str, key: str, callback: Callable): + c = self.callbacks.setdefault(call_type, {}).setdefault(key, []) + c.append(callback) + + def remove_callbacks_with_key(self, call_type: str, key: str): + c = self.callbacks.get(call_type, {}) + if key in c: + c.pop(key) + + def get_callbacks(self, call_type: str, key: str): + return self.callbacks.get(call_type, {}).get(key, []) + + def get_all_callbacks(self, call_type: str): + c_list = [] + for c in self.callbacks.get(call_type, {}).values(): + c_list.extend(c) + return c_list + + def add_wrapper(self, wrapper_type: str, wrapper: Callable): + self.add_wrapper_with_key(wrapper_type, None, wrapper) + + def add_wrapper_with_key(self, wrapper_type: str, key: str, wrapper: Callable): + w = self.wrappers.setdefault(wrapper_type, {}).setdefault(key, []) + w.append(wrapper) + + def remove_wrappers_with_key(self, wrapper_type: str, key: str): + w = self.wrappers.get(wrapper_type, {}) + if key in w: + w.pop(key) + + def get_wrappers(self, wrapper_type: str, key: str): + return self.wrappers.get(wrapper_type, {}).get(key, []) + + def get_all_wrappers(self, wrapper_type: str): + w_list = [] + for w in self.wrappers.get(wrapper_type, {}).values(): + w_list.extend(w) + return w_list + + def set_attachments(self, key: str, attachment): + self.attachments[key] = attachment + + def remove_attachments(self, key: str): + if key in self.attachments: + self.attachments.pop(key) + + def get_attachment(self, key: str): + return self.attachments.get(key, None) + + def set_injections(self, key: str, injections: list[PatcherInjection]): + self.injections[key] = injections + + def remove_injections(self, key: str): + if key in self.injections: + self.injections.pop(key) + + def get_injections(self, key: str): + return self.injections.get(key, None) + + def set_additional_models(self, key: str, models: list['ModelPatcher']): + self.additional_models[key] = models + + def remove_additional_models(self, key: str): + if key in self.additional_models: + self.additional_models.pop(key) + + def get_additional_models_with_key(self, key: str): + return self.additional_models.get(key, []) + + def get_additional_models(self): + all_models = [] + for models in self.additional_models.values(): + all_models.extend(models) + return all_models + + def get_nested_additional_models(self): + def _evaluate_sub_additional_models(prev_models: list[ModelPatcher], cache_set: set[ModelPatcher]): + '''Make sure circular references do not cause infinite recursion.''' + next_models = [] + for model in prev_models: + candidates = model.get_additional_models() + for c in candidates: + if c not in cache_set: + next_models.append(c) + cache_set.add(c) + if len(next_models) == 0: + return prev_models + return prev_models + _evaluate_sub_additional_models(next_models, cache_set) + + all_models = self.get_additional_models() + models_set = set(all_models) + real_all_models = _evaluate_sub_additional_models(prev_models=all_models, cache_set=models_set) + return real_all_models + + def use_ejected(self, skip_and_inject_on_exit_only=False): + return AutoPatcherEjector(self, skip_and_inject_on_exit_only=skip_and_inject_on_exit_only) + + def inject_model(self): + if self.is_injected or self.skip_injection: + return + for injections in self.injections.values(): + for inj in injections: + inj.inject(self) + self.is_injected = True + if self.is_injected: + for callback in self.get_all_callbacks(CallbacksMP.ON_INJECT_MODEL): + callback(self) + + def eject_model(self): + if not self.is_injected: + return + for injections in self.injections.values(): + for inj in injections: + inj.eject(self) + self.is_injected = False + for callback in self.get_all_callbacks(CallbacksMP.ON_EJECT_MODEL): + callback(self) + + def pre_run(self): + if hasattr(self.model, "current_patcher"): + self.model.current_patcher = self + for callback in self.get_all_callbacks(CallbacksMP.ON_PRE_RUN): + callback(self) + + def prepare_state(self, timestep): + for callback in self.get_all_callbacks(CallbacksMP.ON_PREPARE_STATE): + callback(self, timestep) + + def restore_hook_patches(self): + if self.hook_patches_backup is not None: + self.hook_patches = self.hook_patches_backup + self.hook_patches_backup = None + + def set_hook_mode(self, hook_mode: comfy.hooks.EnumHookMode): + self.hook_mode = hook_mode + + def prepare_hook_patches_current_keyframe(self, t: torch.Tensor, hook_group: comfy.hooks.HookGroup, model_options: dict[str]): + curr_t = t[0] + reset_current_hooks = False + transformer_options = model_options.get("transformer_options", {}) + for hook in hook_group.hooks: + changed = hook.hook_keyframe.prepare_current_keyframe(curr_t=curr_t, transformer_options=transformer_options) + # if keyframe changed, remove any cached HookGroups that contain hook with the same hook_ref; + # this will cause the weights to be recalculated when sampling + if changed: + # reset current_hooks if contains hook that changed + if self.current_hooks is not None: + for current_hook in self.current_hooks.hooks: + if current_hook == hook: + reset_current_hooks = True + break + for cached_group in list(self.cached_hook_patches.keys()): + if cached_group.contains(hook): + self.cached_hook_patches.pop(cached_group) + if reset_current_hooks: + self.patch_hooks(None) + + def register_all_hook_patches(self, hooks: comfy.hooks.HookGroup, target_dict: dict[str], model_options: dict=None, + registered: comfy.hooks.HookGroup = None): + self.restore_hook_patches() + if registered is None: + registered = comfy.hooks.HookGroup() + # handle WeightHooks + weight_hooks_to_register: list[comfy.hooks.WeightHook] = [] + for hook in hooks.get_type(comfy.hooks.EnumHookType.Weight): + if hook.hook_ref not in self.hook_patches: + weight_hooks_to_register.append(hook) + else: + registered.add(hook) + if len(weight_hooks_to_register) > 0: + # clone hook_patches to become backup so that any non-dynamic hooks will return to their original state + self.hook_patches_backup = create_hook_patches_clone(self.hook_patches) + for hook in weight_hooks_to_register: + hook.add_hook_patches(self, model_options, target_dict, registered) + for callback in self.get_all_callbacks(CallbacksMP.ON_REGISTER_ALL_HOOK_PATCHES): + callback(self, hooks, target_dict, model_options, registered) + return registered + + def add_hook_patches(self, hook: comfy.hooks.WeightHook, patches, strength_patch=1.0, strength_model=1.0): + with self.use_ejected(): + # NOTE: this mirrors behavior of add_patches func + current_hook_patches: dict[str,list] = self.hook_patches.get(hook.hook_ref, {}) + p = set() + model_sd = self.model.state_dict() + for k in patches: + offset = None + function = None + if isinstance(k, str): + key = k + else: + offset = k[1] + key = k[0] + if len(k) > 2: + function = k[2] + + if key in model_sd: + p.add(k) + current_patches: list[tuple] = current_hook_patches.get(key, []) + current_patches.append((strength_patch, patches[k], strength_model, offset, function)) + current_hook_patches[key] = current_patches + self.hook_patches[hook.hook_ref] = current_hook_patches + # since should care about these patches too to determine if same model, reroll patches_uuid + self.patches_uuid = uuid.uuid4() + return list(p) + + def get_combined_hook_patches(self, hooks: comfy.hooks.HookGroup): + # combined_patches will contain weights of all relevant hooks, per key + combined_patches = {} + if hooks is not None: + for hook in hooks.hooks: + hook_patches: dict = self.hook_patches.get(hook.hook_ref, {}) + for key in hook_patches.keys(): + current_patches: list[tuple] = combined_patches.get(key, []) + if math.isclose(hook.strength, 1.0): + current_patches.extend(hook_patches[key]) + else: + # patches are stored as tuples: (strength_patch, (tuple_with_weights,), strength_model) + for patch in hook_patches[key]: + new_patch = list(patch) + new_patch[0] *= hook.strength + current_patches.append(tuple(new_patch)) + combined_patches[key] = current_patches + return combined_patches + + def apply_hooks(self, hooks: comfy.hooks.HookGroup, transformer_options: dict=None, force_apply=False): + # TODO: return transformer_options dict with any additions from hooks + if self.current_hooks == hooks and (not force_apply or (not self.is_clip and hooks is None)): + return comfy.hooks.create_transformer_options_from_hooks(self, hooks, transformer_options) + self.patch_hooks(hooks=hooks) + for callback in self.get_all_callbacks(CallbacksMP.ON_APPLY_HOOKS): + callback(self, hooks) + return comfy.hooks.create_transformer_options_from_hooks(self, hooks, transformer_options) + + def patch_hooks(self, hooks: comfy.hooks.HookGroup): + with self.use_ejected(): + self.unpatch_hooks() + if hooks is not None: + model_sd_keys = list(self.model_state_dict().keys()) + memory_counter = None + if self.hook_mode == comfy.hooks.EnumHookMode.MaxSpeed: + # TODO: minimum_counter should have a minimum that conforms to loaded model requirements + memory_counter = MemoryCounter(initial=comfy.model_management.get_free_memory(self.load_device), + minimum=comfy.model_management.minimum_inference_memory()*2) + # if have cached weights for hooks, use it + cached_weights = self.cached_hook_patches.get(hooks, None) + if cached_weights is not None: + for key in cached_weights: + if key not in model_sd_keys: + logging.warning(f"Cached hook could not patch. Key does not exist in model: {key}") + continue + self.patch_cached_hook_weights(cached_weights=cached_weights, key=key, memory_counter=memory_counter) + else: + relevant_patches = self.get_combined_hook_patches(hooks=hooks) + original_weights = None + if len(relevant_patches) > 0: + original_weights = self.get_key_patches() + for key in relevant_patches: + if key not in model_sd_keys: + logging.warning(f"Cached hook would not patch. Key does not exist in model: {key}") + continue + self.patch_hook_weight_to_device(hooks=hooks, combined_patches=relevant_patches, key=key, original_weights=original_weights, + memory_counter=memory_counter) + self.current_hooks = hooks + + def patch_cached_hook_weights(self, cached_weights: dict, key: str, memory_counter: MemoryCounter): + if key not in self.hook_backup: + weight: torch.Tensor = comfy.utils.get_attr(self.model, key) + target_device = self.offload_device + if self.hook_mode == comfy.hooks.EnumHookMode.MaxSpeed: + used = memory_counter.use(weight) + if used: + target_device = weight.device + self.hook_backup[key] = (weight.to(device=target_device, copy=True), weight.device) + comfy.utils.copy_to_param(self.model, key, cached_weights[key][0].to(device=cached_weights[key][1])) + + def clear_cached_hook_weights(self): + self.cached_hook_patches.clear() + self.patch_hooks(None) + + def patch_hook_weight_to_device(self, hooks: comfy.hooks.HookGroup, combined_patches: dict, key: str, original_weights: dict, memory_counter: MemoryCounter): + if key not in combined_patches: + return + + weight, set_func, convert_func = get_key_weight(self.model, key) + weight: torch.Tensor + if key not in self.hook_backup: + target_device = self.offload_device + if self.hook_mode == comfy.hooks.EnumHookMode.MaxSpeed: + used = memory_counter.use(weight) + if used: + target_device = weight.device + self.hook_backup[key] = (weight.to(device=target_device, copy=True), weight.device) + # TODO: properly handle LowVramPatch, if it ends up an issue + temp_weight = comfy.model_management.cast_to_device(weight, weight.device, torch.float32, copy=True) + if convert_func is not None: + temp_weight = convert_func(temp_weight, inplace=True) + + out_weight = comfy.lora.calculate_weight(combined_patches[key], + temp_weight, + key, original_weights=original_weights) + del original_weights[key] + if set_func is None: + out_weight = comfy.float.stochastic_rounding(out_weight, weight.dtype, seed=string_to_seed(key)) + comfy.utils.copy_to_param(self.model, key, out_weight) + else: + set_func(out_weight, inplace_update=True, seed=string_to_seed(key)) + if self.hook_mode == comfy.hooks.EnumHookMode.MaxSpeed: + # TODO: disable caching if not enough system RAM to do so + target_device = self.offload_device + used = memory_counter.use(weight) + if used: + target_device = weight.device + self.cached_hook_patches.setdefault(hooks, {}) + self.cached_hook_patches[hooks][key] = (out_weight.to(device=target_device, copy=False), weight.device) + del temp_weight + del out_weight + del weight + + def unpatch_hooks(self) -> None: + with self.use_ejected(): + if len(self.hook_backup) == 0: + self.current_hooks = None + return + keys = list(self.hook_backup.keys()) + for k in keys: + comfy.utils.copy_to_param(self.model, k, self.hook_backup[k][0].to(device=self.hook_backup[k][1])) + + self.hook_backup.clear() + self.current_hooks = None + + def clean_hooks(self): + self.unpatch_hooks() + self.clear_cached_hook_weights() + + def __del__(self): + self.detach(unpatch_all=False) + diff --git a/comfy/model_sampling.py b/comfy/model_sampling.py index 4a0f2db60..4370516b9 100644 --- a/comfy/model_sampling.py +++ b/comfy/model_sampling.py @@ -2,6 +2,25 @@ import torch from comfy.ldm.modules.diffusionmodules.util import make_beta_schedule import math +def rescale_zero_terminal_snr_sigmas(sigmas): + alphas_cumprod = 1 / ((sigmas * sigmas) + 1) + alphas_bar_sqrt = alphas_cumprod.sqrt() + + # Store old values. + alphas_bar_sqrt_0 = alphas_bar_sqrt[0].clone() + alphas_bar_sqrt_T = alphas_bar_sqrt[-1].clone() + + # Shift so the last timestep is zero. + alphas_bar_sqrt -= (alphas_bar_sqrt_T) + + # Scale so the first timestep is back to the old value. + alphas_bar_sqrt *= alphas_bar_sqrt_0 / (alphas_bar_sqrt_0 - alphas_bar_sqrt_T) + + # Convert alphas_bar_sqrt to betas + alphas_bar = alphas_bar_sqrt**2 # Revert sqrt + alphas_bar[-1] = 4.8973451890853435e-08 + return ((1 - alphas_bar) / alphas_bar) ** 0.5 + class EPS: def calculate_input(self, sigma, noise): sigma = sigma.view(sigma.shape[:1] + (1,) * (noise.ndim - 1)) @@ -48,7 +67,7 @@ class CONST: return latent / (1.0 - sigma) class ModelSamplingDiscrete(torch.nn.Module): - def __init__(self, model_config=None): + def __init__(self, model_config=None, zsnr=None): super().__init__() if model_config is not None: @@ -61,11 +80,14 @@ class ModelSamplingDiscrete(torch.nn.Module): linear_end = sampling_settings.get("linear_end", 0.012) timesteps = sampling_settings.get("timesteps", 1000) - self._register_schedule(given_betas=None, beta_schedule=beta_schedule, timesteps=timesteps, linear_start=linear_start, linear_end=linear_end, cosine_s=8e-3) + if zsnr is None: + zsnr = sampling_settings.get("zsnr", False) + + self._register_schedule(given_betas=None, beta_schedule=beta_schedule, timesteps=timesteps, linear_start=linear_start, linear_end=linear_end, cosine_s=8e-3, zsnr=zsnr) self.sigma_data = 1.0 def _register_schedule(self, given_betas=None, beta_schedule="linear", timesteps=1000, - linear_start=1e-4, linear_end=2e-2, cosine_s=8e-3): + linear_start=1e-4, linear_end=2e-2, cosine_s=8e-3, zsnr=False): if given_betas is not None: betas = given_betas else: @@ -83,6 +105,9 @@ class ModelSamplingDiscrete(torch.nn.Module): # self.register_buffer('alphas_cumprod_prev', torch.tensor(alphas_cumprod_prev, dtype=torch.float32)) sigmas = ((1 - alphas_cumprod) / alphas_cumprod) ** 0.5 + if zsnr: + sigmas = rescale_zero_terminal_snr_sigmas(sigmas) + self.set_sigmas(sigmas) def set_sigmas(self, sigmas): @@ -218,7 +243,7 @@ class ModelSamplingDiscreteFlow(torch.nn.Module): return 1.0 if percent >= 1.0: return 0.0 - return 1.0 - percent + return time_snr_shift(self.shift, 1.0 - percent) class StableCascadeSampling(ModelSamplingDiscrete): def __init__(self, model_config=None): @@ -311,4 +336,4 @@ class ModelSamplingFlux(torch.nn.Module): return 1.0 if percent >= 1.0: return 0.0 - return 1.0 - percent + return flux_time_shift(self.shift, 1.0, 1.0 - percent) diff --git a/comfy/ops.py b/comfy/ops.py index 43ed55adb..06be6b48b 100644 --- a/comfy/ops.py +++ b/comfy/ops.py @@ -19,20 +19,12 @@ import torch import comfy.model_management from comfy.cli_args import args +import comfy.float -def cast_to(weight, dtype=None, device=None, non_blocking=False, copy=False): - if device is None or weight.device == device: - if not copy: - if dtype is None or weight.dtype == dtype: - return weight - return weight.to(dtype=dtype, copy=copy) - - r = torch.empty_like(weight, dtype=dtype, device=device) - r.copy_(weight, non_blocking=non_blocking) - return r +cast_to = comfy.model_management.cast_to #TODO: remove once no more references def cast_to_input(weight, input, non_blocking=False, copy=True): - return cast_to(weight, input.dtype, input.device, non_blocking=non_blocking, copy=copy) + return comfy.model_management.cast_to(weight, input.dtype, input.device, non_blocking=non_blocking, copy=copy) def cast_bias_weight(s, input=None, dtype=None, device=None, bias_dtype=None): if input is not None: @@ -47,12 +39,12 @@ def cast_bias_weight(s, input=None, dtype=None, device=None, bias_dtype=None): non_blocking = comfy.model_management.device_supports_non_blocking(device) if s.bias is not None: has_function = s.bias_function is not None - bias = cast_to(s.bias, bias_dtype, device, non_blocking=non_blocking, copy=has_function) + bias = comfy.model_management.cast_to(s.bias, bias_dtype, device, non_blocking=non_blocking, copy=has_function) if has_function: bias = s.bias_function(bias) has_function = s.weight_function is not None - weight = cast_to(s.weight, dtype, device, non_blocking=non_blocking, copy=has_function) + weight = comfy.model_management.cast_to(s.weight, dtype, device, non_blocking=non_blocking, copy=has_function) if has_function: weight = s.weight_function(weight) return weight, bias @@ -258,30 +250,45 @@ def fp8_linear(self, input): if dtype not in [torch.float8_e4m3fn]: return None + tensor_2d = False + if len(input.shape) == 2: + tensor_2d = True + input = input.unsqueeze(1) + + input_shape = input.shape + input_dtype = input.dtype if len(input.shape) == 3: - inn = input.reshape(-1, input.shape[2]).to(dtype) - non_blocking = comfy.model_management.device_supports_non_blocking(input.device) - w, bias = cast_bias_weight(self, input, dtype=dtype, bias_dtype=input.dtype) + w, bias = cast_bias_weight(self, input, dtype=dtype, bias_dtype=input_dtype) w = w.t() scale_weight = self.scale_weight scale_input = self.scale_input if scale_weight is None: - scale_weight = torch.ones((1), device=input.device, dtype=torch.float32) - if scale_input is None: - scale_input = scale_weight + scale_weight = torch.ones((), device=input.device, dtype=torch.float32) + else: + scale_weight = scale_weight.to(input.device) + if scale_input is None: - scale_input = torch.ones((1), device=input.device, dtype=torch.float32) + scale_input = torch.ones((), device=input.device, dtype=torch.float32) + input = torch.clamp(input, min=-448, max=448, out=input) + input = input.reshape(-1, input_shape[2]).to(dtype) + else: + scale_input = scale_input.to(input.device) + input = (input * (1.0 / scale_input).to(input_dtype)).reshape(-1, input_shape[2]).to(dtype) if bias is not None: - o = torch._scaled_mm(inn, w, out_dtype=input.dtype, bias=bias, scale_a=scale_input, scale_b=scale_weight) + o = torch._scaled_mm(input, w, out_dtype=input_dtype, bias=bias, scale_a=scale_input, scale_b=scale_weight) else: - o = torch._scaled_mm(inn, w, out_dtype=input.dtype, scale_a=scale_input, scale_b=scale_weight) + o = torch._scaled_mm(input, w, out_dtype=input_dtype, scale_a=scale_input, scale_b=scale_weight) if isinstance(o, tuple): o = o[0] - return o.reshape((-1, input.shape[1], self.weight.shape[0])) + if tensor_2d: + return o.reshape(input_shape[0], -1) + + return o.reshape((-1, input_shape[1], self.weight.shape[0])) + return None class fp8_ops(manual_cast): @@ -299,11 +306,63 @@ class fp8_ops(manual_cast): weight, bias = cast_bias_weight(self, input) return torch.nn.functional.linear(input, weight, bias) +def scaled_fp8_ops(fp8_matrix_mult=False, scale_input=False, override_dtype=None): + class scaled_fp8_op(manual_cast): + class Linear(manual_cast.Linear): + def __init__(self, *args, **kwargs): + if override_dtype is not None: + kwargs['dtype'] = override_dtype + super().__init__(*args, **kwargs) + + def reset_parameters(self): + if not hasattr(self, 'scale_weight'): + self.scale_weight = torch.nn.parameter.Parameter(data=torch.ones((), device=self.weight.device, dtype=torch.float32), requires_grad=False) + + if not scale_input: + self.scale_input = None + + if not hasattr(self, 'scale_input'): + self.scale_input = torch.nn.parameter.Parameter(data=torch.ones((), device=self.weight.device, dtype=torch.float32), requires_grad=False) + return None + + def forward_comfy_cast_weights(self, input): + if fp8_matrix_mult: + out = fp8_linear(self, input) + if out is not None: + return out + + weight, bias = cast_bias_weight(self, input) + + if weight.numel() < input.numel(): #TODO: optimize + return torch.nn.functional.linear(input, weight * self.scale_weight.to(device=weight.device, dtype=weight.dtype), bias) + else: + return torch.nn.functional.linear(input * self.scale_weight.to(device=weight.device, dtype=weight.dtype), weight, bias) + + def convert_weight(self, weight, inplace=False, **kwargs): + if inplace: + weight *= self.scale_weight.to(device=weight.device, dtype=weight.dtype) + return weight + else: + return weight * self.scale_weight.to(device=weight.device, dtype=weight.dtype) + + def set_weight(self, weight, inplace_update=False, seed=None, **kwargs): + weight = comfy.float.stochastic_rounding(weight / self.scale_weight.to(device=weight.device, dtype=weight.dtype), self.weight.dtype, seed=seed) + if inplace_update: + self.weight.data.copy_(weight) + else: + self.weight = torch.nn.Parameter(weight, requires_grad=False) + + return scaled_fp8_op + +def pick_operations(weight_dtype, compute_dtype, load_device=None, disable_fast_fp8=False, fp8_optimizations=False, scaled_fp8=None): + fp8_compute = comfy.model_management.supports_fp8_compute(load_device) + if scaled_fp8 is not None: + return scaled_fp8_ops(fp8_matrix_mult=fp8_compute, scale_input=True, override_dtype=scaled_fp8) + + if fp8_compute and (fp8_optimizations or args.fast) and not disable_fast_fp8: + return fp8_ops -def pick_operations(weight_dtype, compute_dtype, load_device=None): if compute_dtype is None or weight_dtype == compute_dtype: return disable_weight_init - if args.fast: - if comfy.model_management.supports_fp8_compute(load_device): - return fp8_ops + return manual_cast diff --git a/comfy/patcher_extension.py b/comfy/patcher_extension.py new file mode 100644 index 000000000..859758244 --- /dev/null +++ b/comfy/patcher_extension.py @@ -0,0 +1,156 @@ +from __future__ import annotations +from typing import Callable + +class CallbacksMP: + ON_CLONE = "on_clone" + ON_LOAD = "on_load_after" + ON_DETACH = "on_detach_after" + ON_CLEANUP = "on_cleanup" + ON_PRE_RUN = "on_pre_run" + ON_PREPARE_STATE = "on_prepare_state" + ON_APPLY_HOOKS = "on_apply_hooks" + ON_REGISTER_ALL_HOOK_PATCHES = "on_register_all_hook_patches" + ON_INJECT_MODEL = "on_inject_model" + ON_EJECT_MODEL = "on_eject_model" + + # callbacks dict is in the format: + # {"call_type": {"key": [Callable1, Callable2, ...]} } + @classmethod + def init_callbacks(cls) -> dict[str, dict[str, list[Callable]]]: + return {} + +def add_callback(call_type: str, callback: Callable, transformer_options: dict, is_model_options=False): + add_callback_with_key(call_type, None, callback, transformer_options, is_model_options) + +def add_callback_with_key(call_type: str, key: str, callback: Callable, transformer_options: dict, is_model_options=False): + if is_model_options: + transformer_options = transformer_options.setdefault("transformer_options", {}) + callbacks: dict[str, dict[str, list]] = transformer_options.setdefault("callbacks", {}) + c = callbacks.setdefault(call_type, {}).setdefault(key, []) + c.append(callback) + +def get_callbacks_with_key(call_type: str, key: str, transformer_options: dict, is_model_options=False): + if is_model_options: + transformer_options = transformer_options.get("transformer_options", {}) + c_list = [] + callbacks: dict[str, list] = transformer_options.get("callbacks", {}) + c_list.extend(callbacks.get(call_type, {}).get(key, [])) + return c_list + +def get_all_callbacks(call_type: str, transformer_options: dict, is_model_options=False): + if is_model_options: + transformer_options = transformer_options.get("transformer_options", {}) + c_list = [] + callbacks: dict[str, list] = transformer_options.get("callbacks", {}) + for c in callbacks.get(call_type, {}).values(): + c_list.extend(c) + return c_list + +class WrappersMP: + OUTER_SAMPLE = "outer_sample" + SAMPLER_SAMPLE = "sampler_sample" + CALC_COND_BATCH = "calc_cond_batch" + APPLY_MODEL = "apply_model" + DIFFUSION_MODEL = "diffusion_model" + + # wrappers dict is in the format: + # {"wrapper_type": {"key": [Callable1, Callable2, ...]} } + @classmethod + def init_wrappers(cls) -> dict[str, dict[str, list[Callable]]]: + return {} + +def add_wrapper(wrapper_type: str, wrapper: Callable, transformer_options: dict, is_model_options=False): + add_wrapper_with_key(wrapper_type, None, wrapper, transformer_options, is_model_options) + +def add_wrapper_with_key(wrapper_type: str, key: str, wrapper: Callable, transformer_options: dict, is_model_options=False): + if is_model_options: + transformer_options = transformer_options.setdefault("transformer_options", {}) + wrappers: dict[str, dict[str, list]] = transformer_options.setdefault("wrappers", {}) + w = wrappers.setdefault(wrapper_type, {}).setdefault(key, []) + w.append(wrapper) + +def get_wrappers_with_key(wrapper_type: str, key: str, transformer_options: dict, is_model_options=False): + if is_model_options: + transformer_options = transformer_options.get("transformer_options", {}) + w_list = [] + wrappers: dict[str, list] = transformer_options.get("wrappers", {}) + w_list.extend(wrappers.get(wrapper_type, {}).get(key, [])) + return w_list + +def get_all_wrappers(wrapper_type: str, transformer_options: dict, is_model_options=False): + if is_model_options: + transformer_options = transformer_options.get("transformer_options", {}) + w_list = [] + wrappers: dict[str, list] = transformer_options.get("wrappers", {}) + for w in wrappers.get(wrapper_type, {}).values(): + w_list.extend(w) + return w_list + +class WrapperExecutor: + """Handles call stack of wrappers around a function in an ordered manner.""" + def __init__(self, original: Callable, class_obj: object, wrappers: list[Callable], idx: int): + # NOTE: class_obj exists so that wrappers surrounding a class method can access + # the class instance at runtime via executor.class_obj + self.original = original + self.class_obj = class_obj + self.wrappers = wrappers.copy() + self.idx = idx + self.is_last = idx == len(wrappers) + + def __call__(self, *args, **kwargs): + """Calls the next wrapper or original function, whichever is appropriate.""" + new_executor = self._create_next_executor() + return new_executor.execute(*args, **kwargs) + + def execute(self, *args, **kwargs): + """Used to initiate executor internally - DO NOT use this if you received executor in wrapper.""" + args = list(args) + kwargs = dict(kwargs) + if self.is_last: + return self.original(*args, **kwargs) + return self.wrappers[self.idx](self, *args, **kwargs) + + def _create_next_executor(self) -> 'WrapperExecutor': + new_idx = self.idx + 1 + if new_idx > len(self.wrappers): + raise Exception("Wrapper idx exceeded available wrappers; something went very wrong.") + if self.class_obj is None: + return WrapperExecutor.new_executor(self.original, self.wrappers, new_idx) + return WrapperExecutor.new_class_executor(self.original, self.class_obj, self.wrappers, new_idx) + + @classmethod + def new_executor(cls, original: Callable, wrappers: list[Callable], idx=0): + return cls(original, class_obj=None, wrappers=wrappers, idx=idx) + + @classmethod + def new_class_executor(cls, original: Callable, class_obj: object, wrappers: list[Callable], idx=0): + return cls(original, class_obj, wrappers, idx=idx) + +class PatcherInjection: + def __init__(self, inject: Callable, eject: Callable): + self.inject = inject + self.eject = eject + +def copy_nested_dicts(input_dict: dict): + new_dict = input_dict.copy() + for key, value in input_dict.items(): + if isinstance(value, dict): + new_dict[key] = copy_nested_dicts(value) + elif isinstance(value, list): + new_dict[key] = value.copy() + return new_dict + +def merge_nested_dicts(dict1: dict, dict2: dict, copy_dict1=True): + if copy_dict1: + merged_dict = copy_nested_dicts(dict1) + else: + merged_dict = dict1 + for key, value in dict2.items(): + if isinstance(value, dict): + curr_value = merged_dict.setdefault(key, {}) + merged_dict[key] = merge_nested_dicts(value, curr_value) + elif isinstance(value, list): + merged_dict.setdefault(key, []).extend(value) + else: + merged_dict[key] = value + return merged_dict diff --git a/comfy/sample.py b/comfy/sample.py index 98dcaca7f..be5a7e246 100644 --- a/comfy/sample.py +++ b/comfy/sample.py @@ -13,7 +13,7 @@ def prepare_noise(latent_image, seed, noise_inds=None): generator = torch.manual_seed(seed) if noise_inds is None: return torch.randn(latent_image.size(), dtype=latent_image.dtype, layout=latent_image.layout, generator=generator, device="cpu") - + unique_inds, inverse = np.unique(noise_inds, return_inverse=True) noises = [] for i in range(unique_inds[-1]+1): @@ -25,9 +25,11 @@ def prepare_noise(latent_image, seed, noise_inds=None): return noises def fix_empty_latent_channels(model, latent_image): - latent_channels = model.get_model_object("latent_format").latent_channels #Resize the empty latent image so it has the right number of channels - if latent_channels != latent_image.shape[1] and torch.count_nonzero(latent_image) == 0: - latent_image = comfy.utils.repeat_to_batch_size(latent_image, latent_channels, dim=1) + latent_format = model.get_model_object("latent_format") #Resize the empty latent image so it has the right number of channels + if latent_format.latent_channels != latent_image.shape[1] and torch.count_nonzero(latent_image) == 0: + latent_image = comfy.utils.repeat_to_batch_size(latent_image, latent_format.latent_channels, dim=1) + if latent_format.latent_dimensions == 3 and latent_image.ndim == 4: + latent_image = latent_image.unsqueeze(2) return latent_image def prepare_sampling(model, noise_shape, positive, negative, noise_mask): diff --git a/comfy/sampler_helpers.py b/comfy/sampler_helpers.py index 4a2ec123b..92ec7ca7a 100644 --- a/comfy/sampler_helpers.py +++ b/comfy/sampler_helpers.py @@ -1,42 +1,79 @@ -import torch +from __future__ import annotations +import uuid import comfy.model_management import comfy.conds +import comfy.utils +import comfy.hooks +import comfy.patcher_extension +from typing import TYPE_CHECKING +if TYPE_CHECKING: + from comfy.model_patcher import ModelPatcher + from comfy.model_base import BaseModel + from comfy.controlnet import ControlBase def prepare_mask(noise_mask, shape, device): - """ensures noise mask is of proper dimensions""" - noise_mask = torch.nn.functional.interpolate(noise_mask.reshape((-1, 1, noise_mask.shape[-2], noise_mask.shape[-1])), size=(shape[2], shape[3]), mode="bilinear") - noise_mask = torch.cat([noise_mask] * shape[1], dim=1) - noise_mask = comfy.utils.repeat_to_batch_size(noise_mask, shape[0]) - noise_mask = noise_mask.to(device) - return noise_mask + return comfy.utils.reshape_mask(noise_mask, shape).to(device) def get_models_from_cond(cond, model_type): models = [] for c in cond: if model_type in c: - models += [c[model_type]] + if isinstance(c[model_type], list): + models += c[model_type] + else: + models += [c[model_type]] return models +def get_hooks_from_cond(cond, full_hooks: comfy.hooks.HookGroup): + # get hooks from conds, and collect cnets so they can be checked for extra_hooks + cnets: list[ControlBase] = [] + for c in cond: + if 'hooks' in c: + for hook in c['hooks'].hooks: + full_hooks.add(hook) + if 'control' in c: + cnets.append(c['control']) + + def get_extra_hooks_from_cnet(cnet: ControlBase, _list: list): + if cnet.extra_hooks is not None: + _list.append(cnet.extra_hooks) + if cnet.previous_controlnet is None: + return _list + return get_extra_hooks_from_cnet(cnet.previous_controlnet, _list) + + hooks_list = [] + cnets = set(cnets) + for base_cnet in cnets: + get_extra_hooks_from_cnet(base_cnet, hooks_list) + extra_hooks = comfy.hooks.HookGroup.combine_all_hooks(hooks_list) + if extra_hooks is not None: + for hook in extra_hooks.hooks: + full_hooks.add(hook) + + return full_hooks + def convert_cond(cond): out = [] for c in cond: temp = c[1].copy() model_conds = temp.get("model_conds", {}) if c[0] is not None: - model_conds["c_crossattn"] = comfy.conds.CONDCrossAttn(c[0]) #TODO: remove temp["cross_attn"] = c[0] temp["model_conds"] = model_conds + temp["uuid"] = uuid.uuid4() out.append(temp) return out def get_additional_models(conds, dtype): """loads additional models in conditioning""" - cnets = [] + cnets: list[ControlBase] = [] gligen = [] + add_models = [] for k in conds: cnets += get_models_from_cond(conds[k], "control") gligen += get_models_from_cond(conds[k], "gligen") + add_models += get_models_from_cond(conds[k], "additional_models") control_nets = set(cnets) @@ -47,9 +84,20 @@ def get_additional_models(conds, dtype): inference_memory += m.inference_memory_requirements(dtype) gligen = [x[1] for x in gligen] - models = control_models + gligen + models = control_models + gligen + add_models + return models, inference_memory +def get_additional_models_from_model_options(model_options: dict[str]=None): + """loads additional models from registered AddModels hooks""" + models = [] + if model_options is not None and "registered_hooks" in model_options: + registered: comfy.hooks.HookGroup = model_options["registered_hooks"] + for hook in registered.get_type(comfy.hooks.EnumHookType.AdditionalModels): + hook: comfy.hooks.AdditionalModelsHook + models.extend(hook.models) + return models + def cleanup_additional_models(models): """cleanup additional models that were loaded""" for m in models: @@ -57,10 +105,11 @@ def cleanup_additional_models(models): m.cleanup() -def prepare_sampling(model, noise_shape, conds): - device = model.load_device - real_model = None +def prepare_sampling(model: ModelPatcher, noise_shape, conds, model_options=None): + real_model: BaseModel = None models, inference_memory = get_additional_models(conds, model.model_dtype()) + models += get_additional_models_from_model_options(model_options) + models += model.get_nested_additional_models() # TODO: does this require inference_memory update? memory_required = model.memory_required([noise_shape[0] * 2] + list(noise_shape[1:])) + inference_memory minimum_memory_required = model.memory_required([noise_shape[0]] + list(noise_shape[1:])) + inference_memory comfy.model_management.load_models_gpu([model] + models, memory_required=memory_required, minimum_memory_required=minimum_memory_required) @@ -76,3 +125,37 @@ def cleanup_models(conds, models): control_cleanup += get_models_from_cond(conds[k], "control") cleanup_additional_models(set(control_cleanup)) + +def prepare_model_patcher(model: 'ModelPatcher', conds, model_options: dict): + ''' + Registers hooks from conds. + ''' + # check for hooks in conds - if not registered, see if can be applied + hooks = comfy.hooks.HookGroup() + for k in conds: + get_hooks_from_cond(conds[k], hooks) + # add wrappers and callbacks from ModelPatcher to transformer_options + model_options["transformer_options"]["wrappers"] = comfy.patcher_extension.copy_nested_dicts(model.wrappers) + model_options["transformer_options"]["callbacks"] = comfy.patcher_extension.copy_nested_dicts(model.callbacks) + # begin registering hooks + registered = comfy.hooks.HookGroup() + target_dict = comfy.hooks.create_target_dict(comfy.hooks.EnumWeightTarget.Model) + # handle all TransformerOptionsHooks + for hook in hooks.get_type(comfy.hooks.EnumHookType.TransformerOptions): + hook: comfy.hooks.TransformerOptionsHook + hook.add_hook_patches(model, model_options, target_dict, registered) + # handle all AddModelsHooks + for hook in hooks.get_type(comfy.hooks.EnumHookType.AdditionalModels): + hook: comfy.hooks.AdditionalModelsHook + hook.add_hook_patches(model, model_options, target_dict, registered) + # handle all WeightHooks by registering on ModelPatcher + model.register_all_hook_patches(hooks, target_dict, model_options, registered) + # add registered_hooks onto model_options for further reference + if len(registered) > 0: + model_options["registered_hooks"] = registered + # merge original wrappers and callbacks with hooked wrappers and callbacks + to_load_options: dict[str] = model_options.setdefault("to_load_options", {}) + for wc_name in ["wrappers", "callbacks"]: + comfy.patcher_extension.merge_nested_dicts(to_load_options.setdefault(wc_name, {}), model_options["transformer_options"][wc_name], + copy_dict1=False) + return to_load_options diff --git a/comfy/samplers.py b/comfy/samplers.py index ce4371d50..3b66091ef 100644 --- a/comfy/samplers.py +++ b/comfy/samplers.py @@ -1,12 +1,22 @@ +from __future__ import annotations from .k_diffusion import sampling as k_diffusion_sampling from .extra_samplers import uni_pc +from typing import TYPE_CHECKING, Callable, NamedTuple +if TYPE_CHECKING: + from comfy.model_patcher import ModelPatcher + from comfy.model_base import BaseModel + from comfy.controlnet import ControlBase import torch +from functools import partial import collections from comfy import model_management import math import logging import comfy.sampler_helpers -import scipy +import comfy.model_patcher +import comfy.patcher_extension +import comfy.hooks +import scipy.stats import numpy def get_area_and_mult(conds, x_in, timestep_in): @@ -70,6 +80,7 @@ def get_area_and_mult(conds, x_in, timestep_in): for c in model_conds: conditioning[c] = model_conds[c].process_cond(batch_size=x_in.shape[0], device=x_in.device, area=area) + hooks = conds.get('hooks', None) control = conds.get('control', None) patches = None @@ -85,8 +96,8 @@ def get_area_and_mult(conds, x_in, timestep_in): patches['middle_patch'] = [gligen_patch] - cond_obj = collections.namedtuple('cond_obj', ['input_x', 'mult', 'conditioning', 'area', 'control', 'patches']) - return cond_obj(input_x, mult, conditioning, area, control, patches) + cond_obj = collections.namedtuple('cond_obj', ['input_x', 'mult', 'conditioning', 'area', 'control', 'patches', 'uuid', 'hooks']) + return cond_obj(input_x, mult, conditioning, area, control, patches, conds['uuid'], hooks) def cond_equal_size(c1, c2): if c1 is c2: @@ -119,11 +130,6 @@ def can_concat_cond(c1, c2): return cond_equal_size(c1.conditioning, c2.conditioning) def cond_cat(c_list): - c_crossattn = [] - c_concat = [] - c_adm = [] - crossattn_max_len = 0 - temp = {} for x in c_list: for k in x: @@ -138,110 +144,184 @@ def cond_cat(c_list): return out -def calc_cond_batch(model, conds, x_in, timestep, model_options): +def finalize_default_conds(model: 'BaseModel', hooked_to_run: dict[comfy.hooks.HookGroup,list[tuple[tuple,int]]], default_conds: list[list[dict]], x_in, timestep, model_options): + # need to figure out remaining unmasked area for conds + default_mults = [] + for _ in default_conds: + default_mults.append(torch.ones_like(x_in)) + # look through each finalized cond in hooked_to_run for 'mult' and subtract it from each cond + for lora_hooks, to_run in hooked_to_run.items(): + for cond_obj, i in to_run: + # if no default_cond for cond_type, do nothing + if len(default_conds[i]) == 0: + continue + area: list[int] = cond_obj.area + if area is not None: + curr_default_mult: torch.Tensor = default_mults[i] + dims = len(area) // 2 + for i in range(dims): + curr_default_mult = curr_default_mult.narrow(i + 2, area[i + dims], area[i]) + curr_default_mult -= cond_obj.mult + else: + default_mults[i] -= cond_obj.mult + # for each default_mult, ReLU to make negatives=0, and then check for any nonzeros + for i, mult in enumerate(default_mults): + # if no default_cond for cond type, do nothing + if len(default_conds[i]) == 0: + continue + torch.nn.functional.relu(mult, inplace=True) + # if mult is all zeros, then don't add default_cond + if torch.max(mult) == 0.0: + continue + + cond = default_conds[i] + for x in cond: + # do get_area_and_mult to get all the expected values + p = get_area_and_mult(x, x_in, timestep) + if p is None: + continue + # replace p's mult with calculated mult + p = p._replace(mult=mult) + if p.hooks is not None: + model.current_patcher.prepare_hook_patches_current_keyframe(timestep, p.hooks, model_options) + hooked_to_run.setdefault(p.hooks, list()) + hooked_to_run[p.hooks] += [(p, i)] + +def calc_cond_batch(model: 'BaseModel', conds: list[list[dict]], x_in: torch.Tensor, timestep, model_options): + executor = comfy.patcher_extension.WrapperExecutor.new_executor( + _calc_cond_batch, + comfy.patcher_extension.get_all_wrappers(comfy.patcher_extension.WrappersMP.CALC_COND_BATCH, model_options, is_model_options=True) + ) + return executor.execute(model, conds, x_in, timestep, model_options) + +def _calc_cond_batch(model: 'BaseModel', conds: list[list[dict]], x_in: torch.Tensor, timestep, model_options): out_conds = [] out_counts = [] - to_run = [] + # separate conds by matching hooks + hooked_to_run: dict[comfy.hooks.HookGroup,list[tuple[tuple,int]]] = {} + default_conds = [] + has_default_conds = False for i in range(len(conds)): out_conds.append(torch.zeros_like(x_in)) out_counts.append(torch.ones_like(x_in) * 1e-37) cond = conds[i] + default_c = [] if cond is not None: for x in cond: + if 'default' in x: + default_c.append(x) + has_default_conds = True + continue p = get_area_and_mult(x, x_in, timestep) if p is None: continue + if p.hooks is not None: + model.current_patcher.prepare_hook_patches_current_keyframe(timestep, p.hooks, model_options) + hooked_to_run.setdefault(p.hooks, list()) + hooked_to_run[p.hooks] += [(p, i)] + default_conds.append(default_c) - to_run += [(p, i)] + if has_default_conds: + finalize_default_conds(model, hooked_to_run, default_conds, x_in, timestep, model_options) - while len(to_run) > 0: - first = to_run[0] - first_shape = first[0][0].shape - to_batch_temp = [] - for x in range(len(to_run)): - if can_concat_cond(to_run[x][0], first[0]): - to_batch_temp += [x] + model.current_patcher.prepare_state(timestep) - to_batch_temp.reverse() - to_batch = to_batch_temp[:1] + # run every hooked_to_run separately + for hooks, to_run in hooked_to_run.items(): + while len(to_run) > 0: + first = to_run[0] + first_shape = first[0][0].shape + to_batch_temp = [] + for x in range(len(to_run)): + if can_concat_cond(to_run[x][0], first[0]): + to_batch_temp += [x] - free_memory = model_management.get_free_memory(x_in.device) - for i in range(1, len(to_batch_temp) + 1): - batch_amount = to_batch_temp[:len(to_batch_temp)//i] - input_shape = [len(batch_amount) * first_shape[0]] + list(first_shape)[1:] - if model.memory_required(input_shape) * 1.5 < free_memory: - to_batch = batch_amount - break + to_batch_temp.reverse() + to_batch = to_batch_temp[:1] - input_x = [] - mult = [] - c = [] - cond_or_uncond = [] - area = [] - control = None - patches = None - for x in to_batch: - o = to_run.pop(x) - p = o[0] - input_x.append(p.input_x) - mult.append(p.mult) - c.append(p.conditioning) - area.append(p.area) - cond_or_uncond.append(o[1]) - control = p.control - patches = p.patches + free_memory = model_management.get_free_memory(x_in.device) + for i in range(1, len(to_batch_temp) + 1): + batch_amount = to_batch_temp[:len(to_batch_temp)//i] + input_shape = [len(batch_amount) * first_shape[0]] + list(first_shape)[1:] + if model.memory_required(input_shape) * 1.5 < free_memory: + to_batch = batch_amount + break - batch_chunks = len(cond_or_uncond) - input_x = torch.cat(input_x) - c = cond_cat(c) - timestep_ = torch.cat([timestep] * batch_chunks) + input_x = [] + mult = [] + c = [] + cond_or_uncond = [] + uuids = [] + area = [] + control = None + patches = None + for x in to_batch: + o = to_run.pop(x) + p = o[0] + input_x.append(p.input_x) + mult.append(p.mult) + c.append(p.conditioning) + area.append(p.area) + cond_or_uncond.append(o[1]) + uuids.append(p.uuid) + control = p.control + patches = p.patches - if control is not None: - c['control'] = control.get_control(input_x, timestep_, c, len(cond_or_uncond)) + batch_chunks = len(cond_or_uncond) + input_x = torch.cat(input_x) + c = cond_cat(c) + timestep_ = torch.cat([timestep] * batch_chunks) - transformer_options = {} - if 'transformer_options' in model_options: - transformer_options = model_options['transformer_options'].copy() + transformer_options = model.current_patcher.apply_hooks(hooks=hooks) + if 'transformer_options' in model_options: + transformer_options = comfy.patcher_extension.merge_nested_dicts(transformer_options, + model_options['transformer_options'], + copy_dict1=False) - if patches is not None: - if "patches" in transformer_options: - cur_patches = transformer_options["patches"].copy() - for p in patches: - if p in cur_patches: - cur_patches[p] = cur_patches[p] + patches[p] - else: - cur_patches[p] = patches[p] - transformer_options["patches"] = cur_patches + if patches is not None: + # TODO: replace with merge_nested_dicts function + if "patches" in transformer_options: + cur_patches = transformer_options["patches"].copy() + for p in patches: + if p in cur_patches: + cur_patches[p] = cur_patches[p] + patches[p] + else: + cur_patches[p] = patches[p] + transformer_options["patches"] = cur_patches + else: + transformer_options["patches"] = patches + + transformer_options["cond_or_uncond"] = cond_or_uncond[:] + transformer_options["uuids"] = uuids[:] + transformer_options["sigmas"] = timestep + + c['transformer_options'] = transformer_options + + if control is not None: + c['control'] = control.get_control(input_x, timestep_, c, len(cond_or_uncond), transformer_options) + + if 'model_function_wrapper' in model_options: + output = model_options['model_function_wrapper'](model.apply_model, {"input": input_x, "timestep": timestep_, "c": c, "cond_or_uncond": cond_or_uncond}).chunk(batch_chunks) else: - transformer_options["patches"] = patches + output = model.apply_model(input_x, timestep_, **c).chunk(batch_chunks) - transformer_options["cond_or_uncond"] = cond_or_uncond[:] - transformer_options["sigmas"] = timestep - - c['transformer_options'] = transformer_options - - if 'model_function_wrapper' in model_options: - output = model_options['model_function_wrapper'](model.apply_model, {"input": input_x, "timestep": timestep_, "c": c, "cond_or_uncond": cond_or_uncond}).chunk(batch_chunks) - else: - output = model.apply_model(input_x, timestep_, **c).chunk(batch_chunks) - - for o in range(batch_chunks): - cond_index = cond_or_uncond[o] - a = area[o] - if a is None: - out_conds[cond_index] += output[o] * mult[o] - out_counts[cond_index] += mult[o] - else: - out_c = out_conds[cond_index] - out_cts = out_counts[cond_index] - dims = len(a) // 2 - for i in range(dims): - out_c = out_c.narrow(i + 2, a[i + dims], a[i]) - out_cts = out_cts.narrow(i + 2, a[i + dims], a[i]) - out_c += output[o] * mult[o] - out_cts += mult[o] + for o in range(batch_chunks): + cond_index = cond_or_uncond[o] + a = area[o] + if a is None: + out_conds[cond_index] += output[o] * mult[o] + out_counts[cond_index] += mult[o] + else: + out_c = out_conds[cond_index] + out_cts = out_counts[cond_index] + dims = len(a) // 2 + for i in range(dims): + out_c = out_c.narrow(i + 2, a[i + dims], a[i]) + out_cts = out_cts.narrow(i + 2, a[i + dims], a[i]) + out_c += output[o] * mult[o] + out_cts += mult[o] for i in range(len(out_conds)): out_conds[i] /= out_counts[i] @@ -261,7 +341,7 @@ def cfg_function(model, cond_pred, uncond_pred, cond_scale, x, timestep, model_o cfg_result = uncond_pred + (cond_pred - uncond_pred) * cond_scale for fn in model_options.get("sampler_post_cfg_function", []): - args = {"denoised": cfg_result, "cond": cond, "uncond": uncond, "model": model, "uncond_denoised": uncond_pred, "cond_denoised": cond_pred, + args = {"denoised": cfg_result, "cond": cond, "uncond": uncond, "cond_scale": cond_scale, "model": model, "uncond_denoised": uncond_pred, "cond_denoised": cond_pred, "sigma": timestep, "model_options": model_options, "input": x} cfg_result = fn(args) @@ -295,7 +375,7 @@ class KSamplerX0Inpaint: if "denoise_mask_function" in model_options: denoise_mask = model_options["denoise_mask_function"](sigma, denoise_mask, extra_options={"model": self.inner_model, "sigmas": self.sigmas}) latent_mask = 1. - denoise_mask - x = x * denoise_mask + self.inner_model.inner_model.model_sampling.noise_scaling(sigma.reshape([sigma.shape[0]] + [1] * (len(self.noise.shape) - 1)), self.noise, self.latent_image) * latent_mask + x = x * denoise_mask + self.inner_model.inner_model.scale_latent_inpaint(x=x, sigma=sigma, noise=self.noise, latent_image=self.latent_image) * latent_mask out = self.inner_model(x, sigma, model_options=model_options, seed=seed) if denoise_mask is not None: out = out * denoise_mask + self.latent_image * latent_mask @@ -358,11 +438,42 @@ def beta_scheduler(model_sampling, steps, alpha=0.6, beta=0.6): ts = numpy.rint(scipy.stats.beta.ppf(ts, alpha, beta) * total_timesteps) sigs = [] + last_t = -1 for t in ts: - sigs += [float(model_sampling.sigmas[int(t)])] + if t != last_t: + sigs += [float(model_sampling.sigmas[int(t)])] + last_t = t sigs += [0.0] return torch.FloatTensor(sigs) +# from: https://github.com/genmoai/models/blob/main/src/mochi_preview/infer.py#L41 +def linear_quadratic_schedule(model_sampling, steps, threshold_noise=0.025, linear_steps=None): + if steps == 1: + sigma_schedule = [1.0, 0.0] + else: + if linear_steps is None: + linear_steps = steps // 2 + linear_sigma_schedule = [i * threshold_noise / linear_steps for i in range(linear_steps)] + threshold_noise_step_diff = linear_steps - threshold_noise * steps + quadratic_steps = steps - linear_steps + quadratic_coef = threshold_noise_step_diff / (linear_steps * quadratic_steps ** 2) + linear_coef = threshold_noise / linear_steps - 2 * threshold_noise_step_diff / (quadratic_steps ** 2) + const = quadratic_coef * (linear_steps ** 2) + quadratic_sigma_schedule = [ + quadratic_coef * (i ** 2) + linear_coef * i + const + for i in range(linear_steps, steps) + ] + sigma_schedule = linear_sigma_schedule + quadratic_sigma_schedule + [1.0] + sigma_schedule = [1.0 - x for x in sigma_schedule] + return torch.FloatTensor(sigma_schedule) * model_sampling.sigma_max.cpu() + +# Referenced from https://github.com/AUTOMATIC1111/stable-diffusion-webui/pull/15608 +def kl_optimal_scheduler(n: int, sigma_min: float, sigma_max: float) -> torch.Tensor: + adj_idxs = torch.arange(n, dtype=torch.float).div_(n - 1) + sigmas = adj_idxs.new_zeros(n + 1) + sigmas[:-1] = (adj_idxs * math.atan(sigma_min) + (1 - adj_idxs) * math.atan(sigma_max)).tan_() + return sigmas + def get_mask_aabb(masks): if masks.numel() == 0: return torch.zeros((0, 4), device=masks.device, dtype=torch.int) @@ -476,10 +587,15 @@ def calculate_start_end_timesteps(model, conds): timestep_start = None timestep_end = None - if 'start_percent' in x: - timestep_start = s.percent_to_sigma(x['start_percent']) - if 'end_percent' in x: - timestep_end = s.percent_to_sigma(x['end_percent']) + # handle clip hook schedule, if needed + if 'clip_start_percent' in x: + timestep_start = s.percent_to_sigma(max(x['clip_start_percent'], x.get('start_percent', 0.0))) + timestep_end = s.percent_to_sigma(min(x['clip_end_percent'], x.get('end_percent', 1.0))) + else: + if 'start_percent' in x: + timestep_start = s.percent_to_sigma(x['start_percent']) + if 'end_percent' in x: + timestep_end = s.percent_to_sigma(x['end_percent']) if (timestep_start is not None) or (timestep_end is not None): n = x.copy() @@ -494,8 +610,6 @@ def pre_run_control(model, conds): for t in range(len(conds)): x = conds[t] - timestep_start = None - timestep_end = None percent_to_timestep_function = lambda a: s.percent_to_sigma(a) if 'control' in x: x['control'].pre_run(model, percent_to_timestep_function) @@ -570,9 +684,9 @@ class Sampler: return math.isclose(max_sigma, sigma, rel_tol=1e-05) or sigma > max_sigma KSAMPLER_NAMES = ["euler", "euler_cfg_pp", "euler_ancestral", "euler_ancestral_cfg_pp", "heun", "heunpp2","dpm_2", "dpm_2_ancestral", - "lms", "dpm_fast", "dpm_adaptive", "dpmpp_2s_ancestral", "dpmpp_sde", "dpmpp_sde_gpu", - "dpmpp_2m", "dpmpp_2m_sde", "dpmpp_2m_sde_gpu", "dpmpp_3m_sde", "dpmpp_3m_sde_gpu", "ddpm", "lcm", - "ipndm", "ipndm_v", "deis"] + "lms", "dpm_fast", "dpm_adaptive", "dpmpp_2s_ancestral", "dpmpp_2s_ancestral_cfg_pp", "dpmpp_sde", "dpmpp_sde_gpu", + "dpmpp_2m", "dpmpp_2m_cfg_pp", "dpmpp_2m_sde", "dpmpp_2m_sde_gpu", "dpmpp_3m_sde", "dpmpp_3m_sde_gpu", "ddpm", "lcm", + "ipndm", "ipndm_v", "deis", "res_multistep", "res_multistep_cfg_pp", "gradient_estimation"] class KSAMPLER(Sampler): def __init__(self, sampler_function, extra_options={}, inpaint_options={}): @@ -649,6 +763,12 @@ def process_conds(model, noise, conds, device, latent_image=None, denoise_mask=N if k != kk: create_cond_with_same_area_if_none(conds[kk], c) + for k in conds: + for c in conds[k]: + if 'hooks' in c: + for hook in c['hooks'].hooks: + hook.initialize_timesteps(model) + for k in conds: pre_run_control(model, conds[k]) @@ -661,8 +781,121 @@ def process_conds(model, noise, conds, device, latent_image=None, denoise_mask=N return conds + +def preprocess_conds_hooks(conds: dict[str, list[dict[str]]]): + # determine which ControlNets have extra_hooks that should be combined with normal hooks + hook_replacement: dict[tuple[ControlBase, comfy.hooks.HookGroup], list[dict]] = {} + for k in conds: + for kk in conds[k]: + if 'control' in kk: + control: 'ControlBase' = kk['control'] + extra_hooks = control.get_extra_hooks() + if len(extra_hooks) > 0: + hooks: comfy.hooks.HookGroup = kk.get('hooks', None) + to_replace = hook_replacement.setdefault((control, hooks), []) + to_replace.append(kk) + # if nothing to replace, do nothing + if len(hook_replacement) == 0: + return + + # for optimal sampling performance, common ControlNets + hook combos should have identical hooks + # on the cond dicts + for key, conds_to_modify in hook_replacement.items(): + control = key[0] + hooks = key[1] + hooks = comfy.hooks.HookGroup.combine_all_hooks(control.get_extra_hooks() + [hooks]) + # if combined hooks are not None, set as new hooks for all relevant conds + if hooks is not None: + for cond in conds_to_modify: + cond['hooks'] = hooks + +def filter_registered_hooks_on_conds(conds: dict[str, list[dict[str]]], model_options: dict[str]): + '''Modify 'hooks' on conds so that only hooks that were registered remain. Properly accounts for + HookGroups that have the same reference.''' + registered: comfy.hooks.HookGroup = model_options.get('registered_hooks', None) + # if None were registered, make sure all hooks are cleaned from conds + if registered is None: + for k in conds: + for kk in conds[k]: + kk.pop('hooks', None) + return + # find conds that contain hooks to be replaced - group by common HookGroup refs + hook_replacement: dict[comfy.hooks.HookGroup, list[dict]] = {} + for k in conds: + for kk in conds[k]: + hooks: comfy.hooks.HookGroup = kk.get('hooks', None) + if hooks is not None: + if not hooks.is_subset_of(registered): + to_replace = hook_replacement.setdefault(hooks, []) + to_replace.append(kk) + # for each hook to replace, create a new proper HookGroup and assign to all common conds + for hooks, conds_to_modify in hook_replacement.items(): + new_hooks = hooks.new_with_common_hooks(registered) + if len(new_hooks) == 0: + new_hooks = None + for kk in conds_to_modify: + kk['hooks'] = new_hooks + + +def get_total_hook_groups_in_conds(conds: dict[str, list[dict[str]]]): + hooks_set = set() + for k in conds: + for kk in conds[k]: + hooks_set.add(kk.get('hooks', None)) + return len(hooks_set) + + +def cast_to_load_options(model_options: dict[str], device=None, dtype=None): + ''' + If any patches from hooks, wrappers, or callbacks have .to to be called, call it. + ''' + if model_options is None: + return + to_load_options = model_options.get("to_load_options", None) + if to_load_options is None: + return + + casts = [] + if device is not None: + casts.append(device) + if dtype is not None: + casts.append(dtype) + # if nothing to apply, do nothing + if len(casts) == 0: + return + + # try to call .to on patches + if "patches" in to_load_options: + patches = to_load_options["patches"] + for name in patches: + patch_list = patches[name] + for i in range(len(patch_list)): + if hasattr(patch_list[i], "to"): + for cast in casts: + patch_list[i] = patch_list[i].to(cast) + if "patches_replace" in to_load_options: + patches = to_load_options["patches_replace"] + for name in patches: + patch_list = patches[name] + for k in patch_list: + if hasattr(patch_list[k], "to"): + for cast in casts: + patch_list[k] = patch_list[k].to(cast) + # try to call .to on any wrappers/callbacks + wrappers_and_callbacks = ["wrappers", "callbacks"] + for wc_name in wrappers_and_callbacks: + if wc_name in to_load_options: + wc: dict[str, list] = to_load_options[wc_name] + for wc_dict in wc.values(): + for wc_list in wc_dict.values(): + for i in range(len(wc_list)): + if hasattr(wc_list[i], "to"): + for cast in casts: + wc_list[i] = wc_list[i].to(cast) + + class CFGGuider: - def __init__(self, model_patcher): + def __init__(self, model_patcher: ModelPatcher): self.model_patcher = model_patcher self.model_options = model_patcher.model_options self.original_conds = {} @@ -690,20 +923,20 @@ class CFGGuider: self.conds = process_conds(self.inner_model, noise, self.conds, device, latent_image, denoise_mask, seed) - extra_args = {"model_options": self.model_options, "seed":seed} + extra_model_options = comfy.model_patcher.create_model_options_clone(self.model_options) + extra_model_options.setdefault("transformer_options", {})["sample_sigmas"] = sigmas + extra_args = {"model_options": extra_model_options, "seed": seed} - samples = sampler.sample(self, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar) + executor = comfy.patcher_extension.WrapperExecutor.new_class_executor( + sampler.sample, + sampler, + comfy.patcher_extension.get_all_wrappers(comfy.patcher_extension.WrappersMP.SAMPLER_SAMPLE, extra_args["model_options"], is_model_options=True) + ) + samples = executor.execute(self, sigmas, extra_args, callback, noise, latent_image, denoise_mask, disable_pbar) return self.inner_model.process_latent_out(samples.to(torch.float32)) - def sample(self, noise, latent_image, sampler, sigmas, denoise_mask=None, callback=None, disable_pbar=False, seed=None): - if sigmas.shape[-1] == 0: - return latent_image - - self.conds = {} - for k in self.original_conds: - self.conds[k] = list(map(lambda a: a.copy(), self.original_conds[k])) - - self.inner_model, self.conds, self.loaded_models = comfy.sampler_helpers.prepare_sampling(self.model_patcher, noise.shape, self.conds) + def outer_sample(self, noise, latent_image, sampler, sigmas, denoise_mask=None, callback=None, disable_pbar=False, seed=None): + self.inner_model, self.conds, self.loaded_models = comfy.sampler_helpers.prepare_sampling(self.model_patcher, noise.shape, self.conds, self.model_options) device = self.model_patcher.load_device if denoise_mask is not None: @@ -712,15 +945,52 @@ class CFGGuider: noise = noise.to(device) latent_image = latent_image.to(device) sigmas = sigmas.to(device) + cast_to_load_options(self.model_options, device=device, dtype=self.model_patcher.model_dtype()) - output = self.inner_sample(noise, latent_image, device, sampler, sigmas, denoise_mask, callback, disable_pbar, seed) + try: + self.model_patcher.pre_run() + output = self.inner_sample(noise, latent_image, device, sampler, sigmas, denoise_mask, callback, disable_pbar, seed) + finally: + self.model_patcher.cleanup() comfy.sampler_helpers.cleanup_models(self.conds, self.loaded_models) del self.inner_model - del self.conds del self.loaded_models return output + def sample(self, noise, latent_image, sampler, sigmas, denoise_mask=None, callback=None, disable_pbar=False, seed=None): + if sigmas.shape[-1] == 0: + return latent_image + + self.conds = {} + for k in self.original_conds: + self.conds[k] = list(map(lambda a: a.copy(), self.original_conds[k])) + preprocess_conds_hooks(self.conds) + + try: + orig_model_options = self.model_options + self.model_options = comfy.model_patcher.create_model_options_clone(self.model_options) + # if one hook type (or just None), then don't bother caching weights for hooks (will never change after first step) + orig_hook_mode = self.model_patcher.hook_mode + if get_total_hook_groups_in_conds(self.conds) <= 1: + self.model_patcher.hook_mode = comfy.hooks.EnumHookMode.MinVram + comfy.sampler_helpers.prepare_model_patcher(self.model_patcher, self.conds, self.model_options) + filter_registered_hooks_on_conds(self.conds, self.model_options) + executor = comfy.patcher_extension.WrapperExecutor.new_class_executor( + self.outer_sample, + self, + comfy.patcher_extension.get_all_wrappers(comfy.patcher_extension.WrappersMP.OUTER_SAMPLE, self.model_options, is_model_options=True) + ) + output = executor.execute(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed) + finally: + cast_to_load_options(self.model_options, device=self.model_patcher.offload_device) + self.model_options = orig_model_options + self.model_patcher.hook_mode = orig_hook_mode + self.model_patcher.restore_hook_patches() + + del self.conds + return output + def sample(model, noise, positive, negative, cfg, device, sampler, sigmas, model_options={}, latent_image=None, denoise_mask=None, callback=None, disable_pbar=False, seed=None): cfg_guider = CFGGuider(model) @@ -729,27 +999,37 @@ def sample(model, noise, positive, negative, cfg, device, sampler, sigmas, model return cfg_guider.sample(noise, latent_image, sampler, sigmas, denoise_mask, callback, disable_pbar, seed) -SCHEDULER_NAMES = ["normal", "karras", "exponential", "sgm_uniform", "simple", "ddim_uniform", "beta"] SAMPLER_NAMES = KSAMPLER_NAMES + ["ddim", "uni_pc", "uni_pc_bh2"] -def calculate_sigmas(model_sampling, scheduler_name, steps): - if scheduler_name == "karras": - sigmas = k_diffusion_sampling.get_sigmas_karras(n=steps, sigma_min=float(model_sampling.sigma_min), sigma_max=float(model_sampling.sigma_max)) - elif scheduler_name == "exponential": - sigmas = k_diffusion_sampling.get_sigmas_exponential(n=steps, sigma_min=float(model_sampling.sigma_min), sigma_max=float(model_sampling.sigma_max)) - elif scheduler_name == "normal": - sigmas = normal_scheduler(model_sampling, steps) - elif scheduler_name == "simple": - sigmas = simple_scheduler(model_sampling, steps) - elif scheduler_name == "ddim_uniform": - sigmas = ddim_scheduler(model_sampling, steps) - elif scheduler_name == "sgm_uniform": - sigmas = normal_scheduler(model_sampling, steps, sgm=True) - elif scheduler_name == "beta": - sigmas = beta_scheduler(model_sampling, steps) - else: - logging.error("error invalid scheduler {}".format(scheduler_name)) - return sigmas +class SchedulerHandler(NamedTuple): + handler: Callable[..., torch.Tensor] + # Boolean indicates whether to call the handler like: + # scheduler_function(model_sampling, steps) or + # scheduler_function(n, sigma_min: float, sigma_max: float) + use_ms: bool = True + +SCHEDULER_HANDLERS = { + "normal": SchedulerHandler(normal_scheduler), + "karras": SchedulerHandler(k_diffusion_sampling.get_sigmas_karras, use_ms=False), + "exponential": SchedulerHandler(k_diffusion_sampling.get_sigmas_exponential, use_ms=False), + "sgm_uniform": SchedulerHandler(partial(normal_scheduler, sgm=True)), + "simple": SchedulerHandler(simple_scheduler), + "ddim_uniform": SchedulerHandler(ddim_scheduler), + "beta": SchedulerHandler(beta_scheduler), + "linear_quadratic": SchedulerHandler(linear_quadratic_schedule), + "kl_optimal": SchedulerHandler(kl_optimal_scheduler, use_ms=False), +} +SCHEDULER_NAMES = list(SCHEDULER_HANDLERS) + +def calculate_sigmas(model_sampling: object, scheduler_name: str, steps: int) -> torch.Tensor: + handler = SCHEDULER_HANDLERS.get(scheduler_name) + if handler is None: + err = f"error invalid scheduler {scheduler_name}" + logging.error(err) + raise ValueError(err) + if handler.use_ms: + return handler.handler(model_sampling, steps) + return handler.handler(n=steps, sigma_min=float(model_sampling.sigma_min), sigma_max=float(model_sampling.sigma_max)) def sampler_object(name): if name == "uni_pc": diff --git a/comfy/sd.py b/comfy/sd.py index 1e1a6594b..d7e89f726 100644 --- a/comfy/sd.py +++ b/comfy/sd.py @@ -1,13 +1,19 @@ +from __future__ import annotations import torch from enum import Enum import logging from comfy import model_management +from comfy.utils import ProgressBar from .ldm.models.autoencoder import AutoencoderKL, AutoencodingEngine from .ldm.cascade.stage_a import StageA from .ldm.cascade.stage_c_coder import StageC_coder from .ldm.audio.autoencoder import AudioOobleckVAE +import comfy.ldm.genmo.vae.model +import comfy.ldm.lightricks.vae.causal_video_autoencoder +import comfy.ldm.cosmos.vae import yaml +import math import comfy.utils @@ -22,16 +28,24 @@ import comfy.text_encoders.sd2_clip import comfy.text_encoders.sd3_clip import comfy.text_encoders.sa_t5 import comfy.text_encoders.aura_t5 +import comfy.text_encoders.pixart_t5 import comfy.text_encoders.hydit import comfy.text_encoders.flux import comfy.text_encoders.long_clipl +import comfy.text_encoders.genmo +import comfy.text_encoders.lt +import comfy.text_encoders.hunyuan_video +import comfy.text_encoders.cosmos import comfy.model_patcher import comfy.lora +import comfy.lora_convert +import comfy.hooks import comfy.t2i_adapter.adapter -import comfy.supported_models_base import comfy.taesd.taesd +import comfy.ldm.flux.redux + def load_lora_for_models(model, clip, lora, strength_model, strength_clip): key_map = {} if model is not None: @@ -39,6 +53,7 @@ def load_lora_for_models(model, clip, lora, strength_model, strength_clip): if clip is not None: key_map = comfy.lora.model_lora_keys_clip(clip.cond_stage_model, key_map) + lora = comfy.lora_convert.convert_lora(lora) loaded = comfy.lora.load_lora(lora, key_map) if model is not None: new_modelpatcher = model.clone() @@ -70,14 +85,14 @@ class CLIP: clip = target.clip tokenizer = target.tokenizer - load_device = model_management.text_encoder_device() - offload_device = model_management.text_encoder_offload_device() + load_device = model_options.get("load_device", model_management.text_encoder_device()) + offload_device = model_options.get("offload_device", model_management.text_encoder_offload_device()) dtype = model_options.get("dtype", None) if dtype is None: dtype = model_management.text_encoder_dtype(load_device) params['dtype'] = dtype - params['device'] = model_management.text_encoder_initial_device(load_device, offload_device, parameters * model_management.dtype_size(dtype)) + params['device'] = model_options.get("initial_device", model_management.text_encoder_initial_device(load_device, offload_device, parameters * model_management.dtype_size(dtype))) params['model_options'] = model_options self.cond_stage_model = clip(**(params)) @@ -91,10 +106,14 @@ class CLIP: self.tokenizer = tokenizer(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data) self.patcher = comfy.model_patcher.ModelPatcher(self.cond_stage_model, load_device=load_device, offload_device=offload_device) + self.patcher.hook_mode = comfy.hooks.EnumHookMode.MinVram + self.patcher.is_clip = True + self.apply_hooks_to_conds = None if params['device'] == load_device: model_management.load_models_gpu([self.patcher], force_full_load=True) self.layer_idx = None - logging.debug("CLIP model load device: {}, offload device: {}, current: {}".format(load_device, offload_device, params['device'])) + self.use_clip_schedule = False + logging.info("CLIP/text encoder model load device: {}, offload device: {}, current: {}, dtype: {}".format(load_device, offload_device, params['device'], dtype)) def clone(self): n = CLIP(no_init=True) @@ -102,6 +121,8 @@ class CLIP: n.cond_stage_model = self.cond_stage_model n.tokenizer = self.tokenizer n.layer_idx = self.layer_idx + n.use_clip_schedule = self.use_clip_schedule + n.apply_hooks_to_conds = self.apply_hooks_to_conds return n def add_patches(self, patches, strength_patch=1.0, strength_model=1.0): @@ -113,6 +134,69 @@ class CLIP: def tokenize(self, text, return_word_ids=False): return self.tokenizer.tokenize_with_weights(text, return_word_ids) + def add_hooks_to_dict(self, pooled_dict: dict[str]): + if self.apply_hooks_to_conds: + pooled_dict["hooks"] = self.apply_hooks_to_conds + return pooled_dict + + def encode_from_tokens_scheduled(self, tokens, unprojected=False, add_dict: dict[str]={}, show_pbar=True): + all_cond_pooled: list[tuple[torch.Tensor, dict[str]]] = [] + all_hooks = self.patcher.forced_hooks + if all_hooks is None or not self.use_clip_schedule: + # if no hooks or shouldn't use clip schedule, do unscheduled encode_from_tokens and perform add_dict + return_pooled = "unprojected" if unprojected else True + pooled_dict = self.encode_from_tokens(tokens, return_pooled=return_pooled, return_dict=True) + cond = pooled_dict.pop("cond") + # add/update any keys with the provided add_dict + pooled_dict.update(add_dict) + all_cond_pooled.append([cond, pooled_dict]) + else: + scheduled_keyframes = all_hooks.get_hooks_for_clip_schedule() + + self.cond_stage_model.reset_clip_options() + if self.layer_idx is not None: + self.cond_stage_model.set_clip_options({"layer": self.layer_idx}) + if unprojected: + self.cond_stage_model.set_clip_options({"projected_pooled": False}) + + self.load_model() + all_hooks.reset() + self.patcher.patch_hooks(None) + if show_pbar: + pbar = ProgressBar(len(scheduled_keyframes)) + + for scheduled_opts in scheduled_keyframes: + t_range = scheduled_opts[0] + # don't bother encoding any conds outside of start_percent and end_percent bounds + if "start_percent" in add_dict: + if t_range[1] < add_dict["start_percent"]: + continue + if "end_percent" in add_dict: + if t_range[0] > add_dict["end_percent"]: + continue + hooks_keyframes = scheduled_opts[1] + for hook, keyframe in hooks_keyframes: + hook.hook_keyframe._current_keyframe = keyframe + # apply appropriate hooks with values that match new hook_keyframe + self.patcher.patch_hooks(all_hooks) + # perform encoding as normal + o = self.cond_stage_model.encode_token_weights(tokens) + cond, pooled = o[:2] + pooled_dict = {"pooled_output": pooled} + # add clip_start_percent and clip_end_percent in pooled + pooled_dict["clip_start_percent"] = t_range[0] + pooled_dict["clip_end_percent"] = t_range[1] + # add/update any keys with the provided add_dict + pooled_dict.update(add_dict) + # add hooks stored on clip + self.add_hooks_to_dict(pooled_dict) + all_cond_pooled.append([cond, pooled_dict]) + if show_pbar: + pbar.update(1) + model_management.throw_exception_if_processing_interrupted() + all_hooks.reset() + return all_cond_pooled + def encode_from_tokens(self, tokens, return_pooled=False, return_dict=False): self.cond_stage_model.reset_clip_options() @@ -130,6 +214,7 @@ class CLIP: if len(o) > 2: for k in o[2]: out[k] = o[2][k] + self.add_hooks_to_dict(out) return out if return_pooled: @@ -170,11 +255,15 @@ class VAE: self.downscale_ratio = 8 self.upscale_ratio = 8 self.latent_channels = 4 + self.latent_dim = 2 self.output_channels = 3 self.process_input = lambda image: image * 2.0 - 1.0 self.process_output = lambda image: torch.clamp((image + 1.0) / 2.0, min=0.0, max=1.0) self.working_dtypes = [torch.bfloat16, torch.float32] + self.downscale_index_formula = None + self.upscale_index_formula = None + if config is None: if "decoder.mid.block_1.mix_factor" in sd: encoder_config = {'double_z': True, 'z_channels': 4, 'resolution': 256, 'in_channels': 3, 'out_ch': 3, 'ch': 128, 'ch_mult': [1, 2, 4, 4], 'num_res_blocks': 2, 'attn_resolutions': [], 'dropout': 0.0} @@ -225,8 +314,8 @@ class VAE: self.upscale_ratio = 4 self.latent_channels = ddconfig['z_channels'] = sd["decoder.conv_in.weight"].shape[1] - if 'quant_conv.weight' in sd: - self.first_stage_model = AutoencoderKL(ddconfig=ddconfig, embed_dim=4) + if 'post_quant_conv.weight' in sd: + self.first_stage_model = AutoencoderKL(ddconfig=ddconfig, embed_dim=sd['post_quant_conv.weight'].shape[1]) else: self.first_stage_model = AutoencodingEngine(regularizer_config={'target': "comfy.ldm.models.autoencoder.DiagonalGaussianRegularizer"}, encoder_config={'target': "comfy.ldm.modules.diffusionmodules.model.Encoder", 'params': ddconfig}, @@ -239,9 +328,69 @@ class VAE: self.output_channels = 2 self.upscale_ratio = 2048 self.downscale_ratio = 2048 + self.latent_dim = 1 self.process_output = lambda audio: audio self.process_input = lambda audio: audio self.working_dtypes = [torch.float16, torch.bfloat16, torch.float32] + elif "blocks.2.blocks.3.stack.5.weight" in sd or "decoder.blocks.2.blocks.3.stack.5.weight" in sd or "layers.4.layers.1.attn_block.attn.qkv.weight" in sd or "encoder.layers.4.layers.1.attn_block.attn.qkv.weight" in sd: #genmo mochi vae + if "blocks.2.blocks.3.stack.5.weight" in sd: + sd = comfy.utils.state_dict_prefix_replace(sd, {"": "decoder."}) + if "layers.4.layers.1.attn_block.attn.qkv.weight" in sd: + sd = comfy.utils.state_dict_prefix_replace(sd, {"": "encoder."}) + self.first_stage_model = comfy.ldm.genmo.vae.model.VideoVAE() + self.latent_channels = 12 + self.latent_dim = 3 + self.memory_used_decode = lambda shape, dtype: (1000 * shape[2] * shape[3] * shape[4] * (6 * 8 * 8)) * model_management.dtype_size(dtype) + self.memory_used_encode = lambda shape, dtype: (1.5 * max(shape[2], 7) * shape[3] * shape[4] * (6 * 8 * 8)) * model_management.dtype_size(dtype) + self.upscale_ratio = (lambda a: max(0, a * 6 - 5), 8, 8) + self.upscale_index_formula = (6, 8, 8) + self.downscale_ratio = (lambda a: max(0, math.floor((a + 5) / 6)), 8, 8) + self.downscale_index_formula = (6, 8, 8) + self.working_dtypes = [torch.float16, torch.float32] + elif "decoder.up_blocks.0.res_blocks.0.conv1.conv.weight" in sd: #lightricks ltxv + tensor_conv1 = sd["decoder.up_blocks.0.res_blocks.0.conv1.conv.weight"] + version = 0 + if tensor_conv1.shape[0] == 512: + version = 0 + elif tensor_conv1.shape[0] == 1024: + version = 1 + self.first_stage_model = comfy.ldm.lightricks.vae.causal_video_autoencoder.VideoVAE(version=version) + self.latent_channels = 128 + self.latent_dim = 3 + self.memory_used_decode = lambda shape, dtype: (900 * shape[2] * shape[3] * shape[4] * (8 * 8 * 8)) * model_management.dtype_size(dtype) + self.memory_used_encode = lambda shape, dtype: (70 * max(shape[2], 7) * shape[3] * shape[4]) * model_management.dtype_size(dtype) + self.upscale_ratio = (lambda a: max(0, a * 8 - 7), 32, 32) + self.upscale_index_formula = (8, 32, 32) + self.downscale_ratio = (lambda a: max(0, math.floor((a + 7) / 8)), 32, 32) + self.downscale_index_formula = (8, 32, 32) + self.working_dtypes = [torch.bfloat16, torch.float32] + elif "decoder.conv_in.conv.weight" in sd: + ddconfig = {'double_z': True, 'z_channels': 4, 'resolution': 256, 'in_channels': 3, 'out_ch': 3, 'ch': 128, 'ch_mult': [1, 2, 4, 4], 'num_res_blocks': 2, 'attn_resolutions': [], 'dropout': 0.0} + ddconfig["conv3d"] = True + ddconfig["time_compress"] = 4 + self.upscale_ratio = (lambda a: max(0, a * 4 - 3), 8, 8) + self.upscale_index_formula = (4, 8, 8) + self.downscale_ratio = (lambda a: max(0, math.floor((a + 3) / 4)), 8, 8) + self.downscale_index_formula = (4, 8, 8) + self.latent_dim = 3 + self.latent_channels = ddconfig['z_channels'] = sd["decoder.conv_in.conv.weight"].shape[1] + self.first_stage_model = AutoencoderKL(ddconfig=ddconfig, embed_dim=sd['post_quant_conv.weight'].shape[1]) + self.memory_used_decode = lambda shape, dtype: (1500 * shape[2] * shape[3] * shape[4] * (4 * 8 * 8)) * model_management.dtype_size(dtype) + self.memory_used_encode = lambda shape, dtype: (900 * max(shape[2], 2) * shape[3] * shape[4]) * model_management.dtype_size(dtype) + self.working_dtypes = [torch.bfloat16, torch.float16, torch.float32] + elif "decoder.unpatcher3d.wavelets" in sd: + self.upscale_ratio = (lambda a: max(0, a * 8 - 7), 8, 8) + self.upscale_index_formula = (8, 8, 8) + self.downscale_ratio = (lambda a: max(0, math.floor((a + 7) / 8)), 8, 8) + self.downscale_index_formula = (8, 8, 8) + self.latent_dim = 3 + self.latent_channels = 16 + ddconfig = {'z_channels': 16, 'latent_channels': self.latent_channels, 'z_factor': 1, 'resolution': 1024, 'in_channels': 3, 'out_channels': 3, 'channels': 128, 'channels_mult': [2, 4, 4], 'num_res_blocks': 2, 'attn_resolutions': [32], 'dropout': 0.0, 'patch_size': 4, 'num_groups': 1, 'temporal_compression': 8, 'spacial_compression': 8} + self.first_stage_model = comfy.ldm.cosmos.vae.CausalContinuousVideoTokenizer(**ddconfig) + #TODO: these values are a bit off because this is not a standard VAE + self.memory_used_decode = lambda shape, dtype: (50 * shape[2] * shape[3] * shape[4] * (8 * 8 * 8)) * model_management.dtype_size(dtype) + self.memory_used_encode = lambda shape, dtype: (50 * (round((shape[2] + 7) / 8) * 8) * shape[3] * shape[4]) * model_management.dtype_size(dtype) + self.working_dtypes = [torch.bfloat16, torch.float32] else: logging.warning("WARNING: No VAE weights detected, VAE not initalized.") self.first_stage_model = None @@ -268,13 +417,15 @@ class VAE: self.output_device = model_management.intermediate_device() self.patcher = comfy.model_patcher.ModelPatcher(self.first_stage_model, load_device=self.device, offload_device=offload_device) - logging.debug("VAE load device: {}, offload device: {}, dtype: {}".format(self.device, offload_device, self.vae_dtype)) + logging.info("VAE load device: {}, offload device: {}, dtype: {}".format(self.device, offload_device, self.vae_dtype)) def vae_encode_crop_pixels(self, pixels): + downscale_ratio = self.spacial_compression_encode() + dims = pixels.shape[1:-1] for d in range(len(dims)): - x = (dims[d] // self.downscale_ratio) * self.downscale_ratio - x_offset = (dims[d] % self.downscale_ratio) // 2 + x = (dims[d] // downscale_ratio) * downscale_ratio + x_offset = (dims[d] % downscale_ratio) // 2 if x != dims[d]: pixels = pixels.narrow(d + 1, x_offset, x) return pixels @@ -295,7 +446,11 @@ class VAE: def decode_tiled_1d(self, samples, tile_x=128, overlap=32): decode_fn = lambda a: self.first_stage_model.decode(a.to(self.vae_dtype).to(self.device)).float() - return comfy.utils.tiled_scale_multidim(samples, decode_fn, tile=(tile_x,), overlap=overlap, upscale_amount=self.upscale_ratio, out_channels=self.output_channels, output_device=self.output_device) + return self.process_output(comfy.utils.tiled_scale_multidim(samples, decode_fn, tile=(tile_x,), overlap=overlap, upscale_amount=self.upscale_ratio, out_channels=self.output_channels, output_device=self.output_device)) + + def decode_tiled_3d(self, samples, tile_t=999, tile_x=32, tile_y=32, overlap=(1, 8, 8)): + decode_fn = lambda a: self.first_stage_model.decode(a.to(self.vae_dtype).to(self.device)).float() + return self.process_output(comfy.utils.tiled_scale_multidim(samples, decode_fn, tile=(tile_t, tile_x, tile_y), overlap=overlap, upscale_amount=self.upscale_ratio, out_channels=self.output_channels, index_formulas=self.upscale_index_formula, output_device=self.output_device)) def encode_tiled_(self, pixel_samples, tile_x=512, tile_y=512, overlap = 64): steps = pixel_samples.shape[0] * comfy.utils.get_tiled_scale_steps(pixel_samples.shape[3], pixel_samples.shape[2], tile_x, tile_y, overlap) @@ -314,7 +469,12 @@ class VAE: encode_fn = lambda a: self.first_stage_model.encode((self.process_input(a)).to(self.vae_dtype).to(self.device)).float() return comfy.utils.tiled_scale_multidim(samples, encode_fn, tile=(tile_x,), overlap=overlap, upscale_amount=(1/self.downscale_ratio), out_channels=self.latent_channels, output_device=self.output_device) + def encode_tiled_3d(self, samples, tile_t=9999, tile_x=512, tile_y=512, overlap=(1, 64, 64)): + encode_fn = lambda a: self.first_stage_model.encode((self.process_input(a)).to(self.vae_dtype).to(self.device)).float() + return comfy.utils.tiled_scale_multidim(samples, encode_fn, tile=(tile_t, tile_x, tile_y), overlap=overlap, upscale_amount=self.downscale_ratio, out_channels=self.latent_channels, downscale=True, index_formulas=self.downscale_index_formula, output_device=self.output_device) + def decode(self, samples_in): + pixel_samples = None try: memory_used = self.memory_used_decode(samples_in.shape, self.vae_dtype) model_management.load_models_gpu([self.patcher], memory_required=memory_used) @@ -322,58 +482,149 @@ class VAE: batch_number = int(free_memory / memory_used) batch_number = max(1, batch_number) - pixel_samples = torch.empty((samples_in.shape[0], self.output_channels) + tuple(map(lambda a: a * self.upscale_ratio, samples_in.shape[2:])), device=self.output_device) for x in range(0, samples_in.shape[0], batch_number): samples = samples_in[x:x+batch_number].to(self.vae_dtype).to(self.device) - pixel_samples[x:x+batch_number] = self.process_output(self.first_stage_model.decode(samples).to(self.output_device).float()) - except model_management.OOM_EXCEPTION as e: + out = self.process_output(self.first_stage_model.decode(samples).to(self.output_device).float()) + if pixel_samples is None: + pixel_samples = torch.empty((samples_in.shape[0],) + tuple(out.shape[1:]), device=self.output_device) + pixel_samples[x:x+batch_number] = out + except model_management.OOM_EXCEPTION: logging.warning("Warning: Ran out of memory when regular VAE decoding, retrying with tiled VAE decoding.") - if len(samples_in.shape) == 3: + dims = samples_in.ndim - 2 + if dims == 1: pixel_samples = self.decode_tiled_1d(samples_in) - else: + elif dims == 2: pixel_samples = self.decode_tiled_(samples_in) + elif dims == 3: + tile = 256 // self.spacial_compression_decode() + overlap = tile // 4 + pixel_samples = self.decode_tiled_3d(samples_in, tile_x=tile, tile_y=tile, overlap=(1, overlap, overlap)) pixel_samples = pixel_samples.to(self.output_device).movedim(1,-1) return pixel_samples - def decode_tiled(self, samples, tile_x=64, tile_y=64, overlap = 16): - model_management.load_model_gpu(self.patcher) - output = self.decode_tiled_(samples, tile_x, tile_y, overlap) - return output.movedim(1,-1) + def decode_tiled(self, samples, tile_x=None, tile_y=None, overlap=None, tile_t=None, overlap_t=None): + memory_used = self.memory_used_decode(samples.shape, self.vae_dtype) #TODO: calculate mem required for tile + model_management.load_models_gpu([self.patcher], memory_required=memory_used) + dims = samples.ndim - 2 + args = {} + if tile_x is not None: + args["tile_x"] = tile_x + if tile_y is not None: + args["tile_y"] = tile_y + if overlap is not None: + args["overlap"] = overlap + + if dims == 1: + args.pop("tile_y") + output = self.decode_tiled_1d(samples, **args) + elif dims == 2: + output = self.decode_tiled_(samples, **args) + elif dims == 3: + if overlap_t is None: + args["overlap"] = (1, overlap, overlap) + else: + args["overlap"] = (max(1, overlap_t), overlap, overlap) + if tile_t is not None: + args["tile_t"] = max(2, tile_t) + + output = self.decode_tiled_3d(samples, **args) + return output.movedim(1, -1) def encode(self, pixel_samples): pixel_samples = self.vae_encode_crop_pixels(pixel_samples) - pixel_samples = pixel_samples.movedim(-1,1) + pixel_samples = pixel_samples.movedim(-1, 1) + if self.latent_dim == 3 and pixel_samples.ndim < 5: + pixel_samples = pixel_samples.movedim(1, 0).unsqueeze(0) try: memory_used = self.memory_used_encode(pixel_samples.shape, self.vae_dtype) model_management.load_models_gpu([self.patcher], memory_required=memory_used) free_memory = model_management.get_free_memory(self.device) - batch_number = int(free_memory / memory_used) + batch_number = int(free_memory / max(1, memory_used)) batch_number = max(1, batch_number) - samples = torch.empty((pixel_samples.shape[0], self.latent_channels) + tuple(map(lambda a: a // self.downscale_ratio, pixel_samples.shape[2:])), device=self.output_device) + samples = None for x in range(0, pixel_samples.shape[0], batch_number): - pixels_in = self.process_input(pixel_samples[x:x+batch_number]).to(self.vae_dtype).to(self.device) - samples[x:x+batch_number] = self.first_stage_model.encode(pixels_in).to(self.output_device).float() + pixels_in = self.process_input(pixel_samples[x:x + batch_number]).to(self.vae_dtype).to(self.device) + out = self.first_stage_model.encode(pixels_in).to(self.output_device).float() + if samples is None: + samples = torch.empty((pixel_samples.shape[0],) + tuple(out.shape[1:]), device=self.output_device) + samples[x:x + batch_number] = out - except model_management.OOM_EXCEPTION as e: + except model_management.OOM_EXCEPTION: logging.warning("Warning: Ran out of memory when regular VAE encoding, retrying with tiled VAE encoding.") - if len(pixel_samples.shape) == 3: + if self.latent_dim == 3: + tile = 256 + overlap = tile // 4 + samples = self.encode_tiled_3d(pixel_samples, tile_x=tile, tile_y=tile, overlap=(1, overlap, overlap)) + elif self.latent_dim == 1: samples = self.encode_tiled_1d(pixel_samples) else: samples = self.encode_tiled_(pixel_samples) return samples - def encode_tiled(self, pixel_samples, tile_x=512, tile_y=512, overlap = 64): + def encode_tiled(self, pixel_samples, tile_x=None, tile_y=None, overlap=None, tile_t=None, overlap_t=None): pixel_samples = self.vae_encode_crop_pixels(pixel_samples) - model_management.load_model_gpu(self.patcher) - pixel_samples = pixel_samples.movedim(-1,1) - samples = self.encode_tiled_(pixel_samples, tile_x=tile_x, tile_y=tile_y, overlap=overlap) + dims = self.latent_dim + pixel_samples = pixel_samples.movedim(-1, 1) + if dims == 3: + pixel_samples = pixel_samples.movedim(1, 0).unsqueeze(0) + + memory_used = self.memory_used_encode(pixel_samples.shape, self.vae_dtype) # TODO: calculate mem required for tile + model_management.load_models_gpu([self.patcher], memory_required=memory_used) + + args = {} + if tile_x is not None: + args["tile_x"] = tile_x + if tile_y is not None: + args["tile_y"] = tile_y + if overlap is not None: + args["overlap"] = overlap + + if dims == 1: + args.pop("tile_y") + samples = self.encode_tiled_1d(pixel_samples, **args) + elif dims == 2: + samples = self.encode_tiled_(pixel_samples, **args) + elif dims == 3: + if tile_t is not None: + tile_t_latent = max(2, self.downscale_ratio[0](tile_t)) + else: + tile_t_latent = 9999 + args["tile_t"] = self.upscale_ratio[0](tile_t_latent) + + if overlap_t is None: + args["overlap"] = (1, overlap, overlap) + else: + args["overlap"] = (self.upscale_ratio[0](max(1, min(tile_t_latent // 2, self.downscale_ratio[0](overlap_t)))), overlap, overlap) + maximum = pixel_samples.shape[2] + maximum = self.upscale_ratio[0](self.downscale_ratio[0](maximum)) + + samples = self.encode_tiled_3d(pixel_samples[:,:,:maximum], **args) + return samples def get_sd(self): return self.first_stage_model.state_dict() + def spacial_compression_decode(self): + try: + return self.upscale_ratio[-1] + except: + return self.upscale_ratio + + def spacial_compression_encode(self): + try: + return self.downscale_ratio[-1] + except: + return self.downscale_ratio + + def temporal_compression_decode(self): + try: + return round(self.upscale_ratio[0](8192) / 8192) + except: + return None + class StyleModel: def __init__(self, model, device="cpu"): self.model = model @@ -387,6 +638,8 @@ def load_style_model(ckpt_path): keys = model_data.keys() if "style_embedding" in keys: model = comfy.t2i_adapter.adapter.StyleAdapter(width=1024, context_dim=768, num_head=8, n_layes=3, num_token=8) + elif "redux_down.weight" in keys: + model = comfy.ldm.flux.redux.ReduxImageEncoder() else: raise Exception("invalid style model {}".format(ckpt_path)) model.load_state_dict(model_data) @@ -399,6 +652,12 @@ class CLIPType(Enum): STABLE_AUDIO = 4 HUNYUAN_DIT = 5 FLUX = 6 + MOCHI = 7 + LTXV = 8 + HUNYUAN_VIDEO = 9 + PIXART = 10 + COSMOS = 11 + def load_clip(ckpt_paths, embedding_directory=None, clip_type=CLIPType.STABLE_DIFFUSION, model_options={}): clip_data = [] @@ -406,8 +665,61 @@ def load_clip(ckpt_paths, embedding_directory=None, clip_type=CLIPType.STABLE_DI clip_data.append(comfy.utils.load_torch_file(p, safe_load=True)) return load_text_encoder_state_dicts(clip_data, embedding_directory=embedding_directory, clip_type=clip_type, model_options=model_options) + +class TEModel(Enum): + CLIP_L = 1 + CLIP_H = 2 + CLIP_G = 3 + T5_XXL = 4 + T5_XL = 5 + T5_BASE = 6 + LLAMA3_8 = 7 + T5_XXL_OLD = 8 + +def detect_te_model(sd): + if "text_model.encoder.layers.30.mlp.fc1.weight" in sd: + return TEModel.CLIP_G + if "text_model.encoder.layers.22.mlp.fc1.weight" in sd: + return TEModel.CLIP_H + if "text_model.encoder.layers.0.mlp.fc1.weight" in sd: + return TEModel.CLIP_L + if "encoder.block.23.layer.1.DenseReluDense.wi_1.weight" in sd: + weight = sd["encoder.block.23.layer.1.DenseReluDense.wi_1.weight"] + if weight.shape[-1] == 4096: + return TEModel.T5_XXL + elif weight.shape[-1] == 2048: + return TEModel.T5_XL + if 'encoder.block.23.layer.1.DenseReluDense.wi.weight' in sd: + return TEModel.T5_XXL_OLD + if "encoder.block.0.layer.0.SelfAttention.k.weight" in sd: + return TEModel.T5_BASE + if "model.layers.0.post_attention_layernorm.weight" in sd: + return TEModel.LLAMA3_8 + return None + + +def t5xxl_detect(clip_data): + weight_name = "encoder.block.23.layer.1.DenseReluDense.wi_1.weight" + weight_name_old = "encoder.block.23.layer.1.DenseReluDense.wi.weight" + + for sd in clip_data: + if weight_name in sd or weight_name_old in sd: + return comfy.text_encoders.sd3_clip.t5_xxl_detect(sd) + + return {} + +def llama_detect(clip_data): + weight_name = "model.layers.0.self_attn.k_proj.weight" + + for sd in clip_data: + if weight_name in sd: + return comfy.text_encoders.hunyuan_video.llama_detect(sd) + + return {} + def load_text_encoder_state_dicts(state_dicts=[], embedding_directory=None, clip_type=CLIPType.STABLE_DIFFUSION, model_options={}): clip_data = state_dicts + class EmptyClass: pass @@ -421,64 +733,77 @@ def load_text_encoder_state_dicts(state_dicts=[], embedding_directory=None, clip clip_target = EmptyClass() clip_target.params = {} if len(clip_data) == 1: - if "text_model.encoder.layers.30.mlp.fc1.weight" in clip_data[0]: + te_model = detect_te_model(clip_data[0]) + if te_model == TEModel.CLIP_G: if clip_type == CLIPType.STABLE_CASCADE: clip_target.clip = sdxl_clip.StableCascadeClipModel clip_target.tokenizer = sdxl_clip.StableCascadeTokenizer + elif clip_type == CLIPType.SD3: + clip_target.clip = comfy.text_encoders.sd3_clip.sd3_clip(clip_l=False, clip_g=True, t5=False) + clip_target.tokenizer = comfy.text_encoders.sd3_clip.SD3Tokenizer else: clip_target.clip = sdxl_clip.SDXLRefinerClipModel clip_target.tokenizer = sdxl_clip.SDXLTokenizer - elif "text_model.encoder.layers.22.mlp.fc1.weight" in clip_data[0]: + elif te_model == TEModel.CLIP_H: clip_target.clip = comfy.text_encoders.sd2_clip.SD2ClipModel clip_target.tokenizer = comfy.text_encoders.sd2_clip.SD2Tokenizer - elif "encoder.block.23.layer.1.DenseReluDense.wi_1.weight" in clip_data[0]: - weight = clip_data[0]["encoder.block.23.layer.1.DenseReluDense.wi_1.weight"] - dtype_t5 = weight.dtype - if weight.shape[-1] == 4096: - clip_target.clip = comfy.text_encoders.sd3_clip.sd3_clip(clip_l=False, clip_g=False, t5=True, dtype_t5=dtype_t5) + elif te_model == TEModel.T5_XXL: + if clip_type == CLIPType.SD3: + clip_target.clip = comfy.text_encoders.sd3_clip.sd3_clip(clip_l=False, clip_g=False, t5=True, **t5xxl_detect(clip_data)) clip_target.tokenizer = comfy.text_encoders.sd3_clip.SD3Tokenizer - elif weight.shape[-1] == 2048: - clip_target.clip = comfy.text_encoders.aura_t5.AuraT5Model - clip_target.tokenizer = comfy.text_encoders.aura_t5.AuraT5Tokenizer - elif "encoder.block.0.layer.0.SelfAttention.k.weight" in clip_data[0]: + elif clip_type == CLIPType.LTXV: + clip_target.clip = comfy.text_encoders.lt.ltxv_te(**t5xxl_detect(clip_data)) + clip_target.tokenizer = comfy.text_encoders.lt.LTXVT5Tokenizer + elif clip_type == CLIPType.PIXART: + clip_target.clip = comfy.text_encoders.pixart_t5.pixart_te(**t5xxl_detect(clip_data)) + clip_target.tokenizer = comfy.text_encoders.pixart_t5.PixArtTokenizer + else: #CLIPType.MOCHI + clip_target.clip = comfy.text_encoders.genmo.mochi_te(**t5xxl_detect(clip_data)) + clip_target.tokenizer = comfy.text_encoders.genmo.MochiT5Tokenizer + elif te_model == TEModel.T5_XXL_OLD: + clip_target.clip = comfy.text_encoders.cosmos.te(**t5xxl_detect(clip_data)) + clip_target.tokenizer = comfy.text_encoders.cosmos.CosmosT5Tokenizer + elif te_model == TEModel.T5_XL: + clip_target.clip = comfy.text_encoders.aura_t5.AuraT5Model + clip_target.tokenizer = comfy.text_encoders.aura_t5.AuraT5Tokenizer + elif te_model == TEModel.T5_BASE: clip_target.clip = comfy.text_encoders.sa_t5.SAT5Model clip_target.tokenizer = comfy.text_encoders.sa_t5.SAT5Tokenizer else: - w = clip_data[0].get("text_model.embeddings.position_embedding.weight", None) - if w is not None and w.shape[0] == 248: - clip_target.clip = comfy.text_encoders.long_clipl.LongClipModel - clip_target.tokenizer = comfy.text_encoders.long_clipl.LongClipTokenizer + if clip_type == CLIPType.SD3: + clip_target.clip = comfy.text_encoders.sd3_clip.sd3_clip(clip_l=True, clip_g=False, t5=False) + clip_target.tokenizer = comfy.text_encoders.sd3_clip.SD3Tokenizer else: clip_target.clip = sd1_clip.SD1ClipModel clip_target.tokenizer = sd1_clip.SD1Tokenizer elif len(clip_data) == 2: if clip_type == CLIPType.SD3: - clip_target.clip = comfy.text_encoders.sd3_clip.sd3_clip(clip_l=True, clip_g=True, t5=False) + te_models = [detect_te_model(clip_data[0]), detect_te_model(clip_data[1])] + clip_target.clip = comfy.text_encoders.sd3_clip.sd3_clip(clip_l=TEModel.CLIP_L in te_models, clip_g=TEModel.CLIP_G in te_models, t5=TEModel.T5_XXL in te_models, **t5xxl_detect(clip_data)) clip_target.tokenizer = comfy.text_encoders.sd3_clip.SD3Tokenizer elif clip_type == CLIPType.HUNYUAN_DIT: clip_target.clip = comfy.text_encoders.hydit.HyditModel clip_target.tokenizer = comfy.text_encoders.hydit.HyditTokenizer elif clip_type == CLIPType.FLUX: - weight_name = "encoder.block.23.layer.1.DenseReluDense.wi_1.weight" - weight = clip_data[0].get(weight_name, clip_data[1].get(weight_name, None)) - dtype_t5 = None - if weight is not None: - dtype_t5 = weight.dtype - - clip_target.clip = comfy.text_encoders.flux.flux_clip(dtype_t5=dtype_t5) + clip_target.clip = comfy.text_encoders.flux.flux_clip(**t5xxl_detect(clip_data)) clip_target.tokenizer = comfy.text_encoders.flux.FluxTokenizer + elif clip_type == CLIPType.HUNYUAN_VIDEO: + clip_target.clip = comfy.text_encoders.hunyuan_video.hunyuan_video_clip(**llama_detect(clip_data)) + clip_target.tokenizer = comfy.text_encoders.hunyuan_video.HunyuanVideoTokenizer else: clip_target.clip = sdxl_clip.SDXLClipModel clip_target.tokenizer = sdxl_clip.SDXLTokenizer elif len(clip_data) == 3: - clip_target.clip = comfy.text_encoders.sd3_clip.SD3ClipModel + clip_target.clip = comfy.text_encoders.sd3_clip.sd3_clip(**t5xxl_detect(clip_data)) clip_target.tokenizer = comfy.text_encoders.sd3_clip.SD3Tokenizer parameters = 0 + tokenizer_data = {} for c in clip_data: parameters += comfy.utils.calculate_parameters(c) + tokenizer_data, model_options = comfy.text_encoders.long_clipl.model_options_long_clip(c, tokenizer_data, model_options) - clip = CLIP(clip_target, embedding_directory=embedding_directory, parameters=parameters, model_options=model_options) + clip = CLIP(clip_target, embedding_directory=embedding_directory, parameters=parameters, tokenizer_data=tokenizer_data, model_options=model_options) for c in clip_data: m, u = clip.load_sd(c) if len(m) > 0: @@ -504,7 +829,6 @@ def load_checkpoint(config_path=None, ckpt_path=None, output_vae=True, output_cl config = yaml.safe_load(stream) model_config_params = config['model']['params'] clip_config = model_config_params['cond_stage_config'] - scale_factor = model_config_params['scale_factor'] if "parameterization" in model_config_params: if model_config_params["parameterization"] == "v": @@ -544,11 +868,11 @@ def load_state_dict_guess_config(sd, output_vae=True, output_clip=True, output_c return None unet_weight_dtype = list(model_config.supported_inference_dtypes) - if weight_dtype is not None: + if weight_dtype is not None and model_config.scaled_fp8 is None: unet_weight_dtype.append(weight_dtype) model_config.custom_operations = model_options.get("custom_operations", None) - unet_dtype = model_options.get("weight_dtype", None) + unet_dtype = model_options.get("dtype", model_options.get("weight_dtype", None)) if unet_dtype is None: unet_dtype = model_management.unet_dtype(model_params=parameters, supported_dtypes=unet_weight_dtype) @@ -562,7 +886,6 @@ def load_state_dict_guess_config(sd, output_vae=True, output_clip=True, output_c if output_model: inital_load_device = model_management.unet_inital_load_device(parameters, unet_dtype) - offload_device = model_management.unet_offload_device() model = model_config.get_model(sd, diffusion_model_prefix, device=inital_load_device) model.load_model_weights(sd, diffusion_model_prefix) @@ -598,7 +921,7 @@ def load_state_dict_guess_config(sd, output_vae=True, output_clip=True, output_c if output_model: model_patcher = comfy.model_patcher.ModelPatcher(model, load_device=load_device, offload_device=model_management.unet_offload_device()) if inital_load_device != torch.device("cpu"): - logging.info("loaded straight to GPU") + logging.info("loaded diffusion model directly to GPU") model_management.load_models_gpu([model_patcher], force_full_load=True) return (model_patcher, clip, vae, clipvision) @@ -614,6 +937,8 @@ def load_diffusion_model_state_dict(sd, model_options={}): #load unet in diffuse sd = temp_sd parameters = comfy.utils.calculate_parameters(sd) + weight_dtype = comfy.utils.weight_dtype(sd) + load_device = model_management.get_torch_device() model_config = model_detection.model_config_from_unet(sd, "") @@ -640,14 +965,21 @@ def load_diffusion_model_state_dict(sd, model_options={}): #load unet in diffuse logging.warning("{} {}".format(diffusers_keys[k], k)) offload_device = model_management.unet_offload_device() + unet_weight_dtype = list(model_config.supported_inference_dtypes) + if weight_dtype is not None and model_config.scaled_fp8 is None: + unet_weight_dtype.append(weight_dtype) + if dtype is None: - unet_dtype = model_management.unet_dtype(model_params=parameters, supported_dtypes=model_config.supported_inference_dtypes) + unet_dtype = model_management.unet_dtype(model_params=parameters, supported_dtypes=unet_weight_dtype) else: unet_dtype = dtype manual_cast_dtype = model_management.unet_manual_cast(unet_dtype, load_device, model_config.supported_inference_dtypes) model_config.set_inference_dtype(unet_dtype, manual_cast_dtype) - model_config.custom_operations = model_options.get("custom_operations", None) + model_config.custom_operations = model_options.get("custom_operations", model_config.custom_operations) + if model_options.get("fp8_optimizations", False): + model_config.optimizations["fp8"] = True + model = model_config.get_model(new_sd, "") model = model.to(offload_device) model.load_model_weights(new_sd, "") @@ -666,11 +998,11 @@ def load_diffusion_model(unet_path, model_options={}): return model def load_unet(unet_path, dtype=None): - print("WARNING: the load_unet function has been deprecated and will be removed please switch to: load_diffusion_model") + logging.warning("The load_unet function has been deprecated and will be removed please switch to: load_diffusion_model") return load_diffusion_model(unet_path, model_options={"dtype": dtype}) def load_unet_state_dict(sd, dtype=None): - print("WARNING: the load_unet_state_dict function has been deprecated and will be removed please switch to: load_diffusion_model_state_dict") + logging.warning("The load_unet_state_dict function has been deprecated and will be removed please switch to: load_diffusion_model_state_dict") return load_diffusion_model_state_dict(sd, model_options={"dtype": dtype}) def save_checkpoint(output_path, model, clip=None, vae=None, clip_vision=None, metadata=None, extra_keys={}): diff --git a/comfy/sd1_clip.py b/comfy/sd1_clip.py index 676653f77..85518afd9 100644 --- a/comfy/sd1_clip.py +++ b/comfy/sd1_clip.py @@ -10,6 +10,7 @@ import comfy.clip_model import json import logging import numbers +import re def gen_empty_tokens(special_tokens, length): start_token = special_tokens.get("start", None) @@ -36,7 +37,10 @@ class ClipTokenWeightEncoder: sections = len(to_encode) if has_weights or sections == 0: - to_encode.append(gen_empty_tokens(self.special_tokens, max_token_len)) + if hasattr(self, "gen_empty_tokens"): + to_encode.append(self.gen_empty_tokens(self.special_tokens, max_token_len)) + else: + to_encode.append(gen_empty_tokens(self.special_tokens, max_token_len)) o = self.encode(to_encode) out, pooled = o[:2] @@ -80,7 +84,7 @@ class SDClipModel(torch.nn.Module, ClipTokenWeightEncoder): "pooled", "hidden" ] - def __init__(self, version="openai/clip-vit-large-patch14", device="cpu", max_length=77, + def __init__(self, device="cpu", max_length=77, freeze=True, layer="last", layer_idx=None, textmodel_json_config=None, dtype=None, model_class=comfy.clip_model.CLIPTextModel, special_tokens={"start": 49406, "end": 49407, "pad": 49407}, layer_norm_hidden_state=True, enable_attention_masks=False, zero_out_masked=False, return_projected_pooled=True, return_attention_masks=False, model_options={}): # clip-vit-base-patch32 @@ -90,15 +94,27 @@ class SDClipModel(torch.nn.Module, ClipTokenWeightEncoder): if textmodel_json_config is None: textmodel_json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "sd1_clip_config.json") - with open(textmodel_json_config) as f: - config = json.load(f) + if isinstance(textmodel_json_config, dict): + config = textmodel_json_config + else: + with open(textmodel_json_config) as f: + config = json.load(f) operations = model_options.get("custom_operations", None) + scaled_fp8 = None + if operations is None: - operations = comfy.ops.manual_cast + scaled_fp8 = model_options.get("scaled_fp8", None) + if scaled_fp8 is not None: + operations = comfy.ops.scaled_fp8_ops(fp8_matrix_mult=False, override_dtype=scaled_fp8) + else: + operations = comfy.ops.manual_cast self.operations = operations self.transformer = model_class(config, dtype, device, self.operations) + if scaled_fp8 is not None: + self.transformer.scaled_fp8 = torch.nn.Parameter(torch.tensor([], dtype=scaled_fp8)) + self.num_layers = self.transformer.num_layers self.max_length = max_length @@ -187,11 +203,18 @@ class SDClipModel(torch.nn.Module, ClipTokenWeightEncoder): attention_mask = None if self.enable_attention_masks or self.zero_out_masked or self.return_attention_masks: attention_mask = torch.zeros_like(tokens) - end_token = self.special_tokens.get("end", -1) + end_token = self.special_tokens.get("end", None) + if end_token is None: + cmp_token = self.special_tokens.get("pad", -1) + else: + cmp_token = end_token + for x in range(attention_mask.shape[0]): for y in range(attention_mask.shape[1]): attention_mask[x, y] = 1 - if tokens[x, y] == end_token: + if tokens[x, y] == cmp_token: + if end_token is None: + attention_mask[x, y] = 0 break attention_mask_model = None @@ -317,7 +340,6 @@ def expand_directory_list(directories): return list(dirs) def bundled_embed(embed, prefix, suffix): #bundled embedding in lora format - i = 0 out_list = [] for k in embed: if k.startswith(prefix) and k.endswith(suffix): @@ -366,14 +388,11 @@ def load_embed(embedding_name, embedding_directory, embedding_size, embed_key=No import safetensors.torch embed = safetensors.torch.load_file(embed_path, device="cpu") else: - if 'weights_only' in torch.load.__code__.co_varnames: - try: - embed = torch.load(embed_path, weights_only=True, map_location="cpu") - except: - embed_out = safe_load_embed_zip(embed_path) - else: - embed = torch.load(embed_path, map_location="cpu") - except Exception as e: + try: + embed = torch.load(embed_path, weights_only=True, map_location="cpu") + except: + embed_out = safe_load_embed_zip(embed_path) + except Exception: logging.warning("{}\n\nerror loading embedding, skipping loading: {}".format(traceback.format_exc(), embedding_name)) return None @@ -402,22 +421,31 @@ def load_embed(embedding_name, embedding_directory, embedding_size, embed_key=No return embed_out class SDTokenizer: - def __init__(self, tokenizer_path=None, max_length=77, pad_with_end=True, embedding_directory=None, embedding_size=768, embedding_key='clip_l', tokenizer_class=CLIPTokenizer, has_start_token=True, pad_to_max_length=True, min_length=None, pad_token=None, tokenizer_data={}): + def __init__(self, tokenizer_path=None, max_length=77, pad_with_end=True, embedding_directory=None, embedding_size=768, embedding_key='clip_l', tokenizer_class=CLIPTokenizer, has_start_token=True, has_end_token=True, pad_to_max_length=True, min_length=None, pad_token=None, end_token=None, tokenizer_data={}): if tokenizer_path is None: tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "sd1_tokenizer") self.tokenizer = tokenizer_class.from_pretrained(tokenizer_path) self.max_length = max_length self.min_length = min_length + self.end_token = None empty = self.tokenizer('')["input_ids"] + self.tokenizer_adds_end_token = has_end_token if has_start_token: self.tokens_start = 1 self.start_token = empty[0] - self.end_token = empty[1] + if end_token is not None: + self.end_token = end_token + else: + if has_end_token: + self.end_token = empty[1] else: self.tokens_start = 0 self.start_token = None - self.end_token = empty[0] + if end_token is not None: + self.end_token = end_token + else: + self.end_token = empty[0] if pad_token is not None: self.pad_token = pad_token @@ -442,13 +470,16 @@ class SDTokenizer: Takes a potential embedding name and tries to retrieve it. Returns a Tuple consisting of the embedding and any leftover string, embedding can be None. ''' + split_embed = embedding_name.split() + embedding_name = split_embed[0] + leftover = ' '.join(split_embed[1:]) embed = load_embed(embedding_name, self.embedding_directory, self.embedding_size, self.embedding_key) if embed is None: stripped = embedding_name.strip(',') if len(stripped) < len(embedding_name): embed = load_embed(stripped, self.embedding_directory, self.embedding_size, self.embedding_key) - return (embed, embedding_name[len(stripped):]) - return (embed, "") + return (embed, "{} {}".format(embedding_name[len(stripped):], leftover)) + return (embed, leftover) def tokenize_with_weights(self, text:str, return_word_ids=False): @@ -462,13 +493,18 @@ class SDTokenizer: text = escape_important(text) parsed_weights = token_weights(text, 1.0) - #tokenize words + # tokenize words tokens = [] for weighted_segment, weight in parsed_weights: - to_tokenize = unescape_important(weighted_segment).replace("\n", " ").split(' ') + to_tokenize = unescape_important(weighted_segment) + split = re.split(' {0}|\n{0}'.format(self.embedding_identifier), to_tokenize) + to_tokenize = [split[0]] + for i in range(1, len(split)): + to_tokenize.append("{}{}".format(self.embedding_identifier, split[i])) + to_tokenize = [x for x in to_tokenize if x != ""] for word in to_tokenize: - #if we find an embedding, deal with the embedding + # if we find an embedding, deal with the embedding if word.startswith(self.embedding_identifier) and self.embedding_directory is not None: embedding_name = word[len(self.embedding_identifier):].strip('\n') embed, leftover = self._try_get_embedding(embedding_name) @@ -484,8 +520,11 @@ class SDTokenizer: word = leftover else: continue + end = 999999999999 + if self.tokenizer_adds_end_token: + end = -1 #parse word - tokens.append([(t, weight) for t in self.tokenizer(word)["input_ids"][self.tokens_start:-1]]) + tokens.append([(t, weight) for t in self.tokenizer(word)["input_ids"][self.tokens_start:end]]) #reshape token array to CLIP input size batched_tokens = [] @@ -496,18 +535,24 @@ class SDTokenizer: for i, t_group in enumerate(tokens): #determine if we're going to try and keep the tokens in a single batch is_large = len(t_group) >= self.max_word_length + if self.end_token is not None: + has_end_token = 1 + else: + has_end_token = 0 while len(t_group) > 0: - if len(t_group) + len(batch) > self.max_length - 1: - remaining_length = self.max_length - len(batch) - 1 + if len(t_group) + len(batch) > self.max_length - has_end_token: + remaining_length = self.max_length - len(batch) - has_end_token #break word in two and add end token if is_large: batch.extend([(t,w,i+1) for t,w in t_group[:remaining_length]]) - batch.append((self.end_token, 1.0, 0)) + if self.end_token is not None: + batch.append((self.end_token, 1.0, 0)) t_group = t_group[remaining_length:] #add end token and pad else: - batch.append((self.end_token, 1.0, 0)) + if self.end_token is not None: + batch.append((self.end_token, 1.0, 0)) if self.pad_to_max_length: batch.extend([(self.pad_token, 1.0, 0)] * (remaining_length)) #start new batch @@ -520,7 +565,8 @@ class SDTokenizer: t_group = [] #fill last batch - batch.append((self.end_token, 1.0, 0)) + if self.end_token is not None: + batch.append((self.end_token, 1.0, 0)) if self.pad_to_max_length: batch.extend([(self.pad_token, 1.0, 0)] * (self.max_length - len(batch))) if self.min_length is not None and len(batch) < self.min_length: @@ -542,6 +588,7 @@ class SD1Tokenizer: def __init__(self, embedding_directory=None, tokenizer_data={}, clip_name="l", tokenizer=SDTokenizer): self.clip_name = clip_name self.clip = "clip_{}".format(self.clip_name) + tokenizer = tokenizer_data.get("{}_tokenizer_class".format(self.clip), tokenizer) setattr(self, self.clip, tokenizer(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data)) def tokenize_with_weights(self, text:str, return_word_ids=False): @@ -570,6 +617,7 @@ class SD1ClipModel(torch.nn.Module): self.clip_name = clip_name self.clip = "clip_{}".format(self.clip_name) + clip_model = model_options.get("{}_class".format(self.clip), clip_model) setattr(self, self.clip, clip_model(device=device, dtype=dtype, model_options=model_options, **kwargs)) self.dtypes = set() diff --git a/comfy/sdxl_clip.py b/comfy/sdxl_clip.py index a0145caa4..4d0a4e8e7 100644 --- a/comfy/sdxl_clip.py +++ b/comfy/sdxl_clip.py @@ -22,7 +22,8 @@ class SDXLClipGTokenizer(sd1_clip.SDTokenizer): class SDXLTokenizer: def __init__(self, embedding_directory=None, tokenizer_data={}): - self.clip_l = sd1_clip.SDTokenizer(embedding_directory=embedding_directory) + clip_l_tokenizer_class = tokenizer_data.get("clip_l_tokenizer_class", sd1_clip.SDTokenizer) + self.clip_l = clip_l_tokenizer_class(embedding_directory=embedding_directory) self.clip_g = SDXLClipGTokenizer(embedding_directory=embedding_directory) def tokenize_with_weights(self, text:str, return_word_ids=False): @@ -40,7 +41,8 @@ class SDXLTokenizer: class SDXLClipModel(torch.nn.Module): def __init__(self, device="cpu", dtype=None, model_options={}): super().__init__() - self.clip_l = sd1_clip.SDClipModel(layer="hidden", layer_idx=-2, device=device, dtype=dtype, layer_norm_hidden_state=False, model_options=model_options) + clip_l_class = model_options.get("clip_l_class", sd1_clip.SDClipModel) + self.clip_l = clip_l_class(layer="hidden", layer_idx=-2, device=device, dtype=dtype, layer_norm_hidden_state=False, model_options=model_options) self.clip_g = SDXLClipG(device=device, dtype=dtype, model_options=model_options) self.dtypes = set([dtype]) @@ -57,7 +59,8 @@ class SDXLClipModel(torch.nn.Module): token_weight_pairs_l = token_weight_pairs["l"] g_out, g_pooled = self.clip_g.encode_token_weights(token_weight_pairs_g) l_out, l_pooled = self.clip_l.encode_token_weights(token_weight_pairs_l) - return torch.cat([l_out, g_out], dim=-1), g_pooled + cut_to = min(l_out.shape[1], g_out.shape[1]) + return torch.cat([l_out[:,:cut_to], g_out[:,:cut_to]], dim=-1), g_pooled def load_sd(self, sd): if "text_model.encoder.layers.30.mlp.fc1.weight" in sd: diff --git a/comfy/supported_models.py b/comfy/supported_models.py index 3603313fa..ff0bea418 100644 --- a/comfy/supported_models.py +++ b/comfy/supported_models.py @@ -8,8 +8,13 @@ import comfy.text_encoders.sd2_clip import comfy.text_encoders.sd3_clip import comfy.text_encoders.sa_t5 import comfy.text_encoders.aura_t5 +import comfy.text_encoders.pixart_t5 import comfy.text_encoders.hydit import comfy.text_encoders.flux +import comfy.text_encoders.genmo +import comfy.text_encoders.lt +import comfy.text_encoders.hunyuan_video +import comfy.text_encoders.cosmos from . import supported_models_base from . import latent_formats @@ -196,6 +201,8 @@ class SDXL(supported_models_base.BASE): self.sampling_settings["sigma_min"] = float(state_dict["edm_vpred.sigma_min"].item()) return model_base.ModelType.V_PREDICTION_EDM elif "v_pred" in state_dict: + if "ztsnr" in state_dict: #Some zsnr anime checkpoints + self.sampling_settings["zsnr"] = True return model_base.ModelType.V_PREDICTION else: return model_base.ModelType.EPS @@ -220,7 +227,6 @@ class SDXL(supported_models_base.BASE): def process_clip_state_dict_for_saving(self, state_dict): replace_prefix = {} - keys_to_replace = {} state_dict_g = diffusers_convert.convert_text_enc_state_dict_v20(state_dict, "clip_g") for k in state_dict: if k.startswith("clip_l"): @@ -523,18 +529,16 @@ class SD3(supported_models_base.BASE): clip_l = False clip_g = False t5 = False - dtype_t5 = None pref = self.text_encoder_key_prefix[0] if "{}clip_l.transformer.text_model.final_layer_norm.weight".format(pref) in state_dict: clip_l = True if "{}clip_g.transformer.text_model.final_layer_norm.weight".format(pref) in state_dict: clip_g = True - t5_key = "{}t5xxl.transformer.encoder.final_layer_norm.weight".format(pref) - if t5_key in state_dict: + t5_detect = comfy.text_encoders.sd3_clip.t5_xxl_detect(state_dict, "{}t5xxl.transformer.".format(pref)) + if "dtype_t5" in t5_detect: t5 = True - dtype_t5 = state_dict[t5_key].dtype - return supported_models_base.ClipTarget(comfy.text_encoders.sd3_clip.SD3Tokenizer, comfy.text_encoders.sd3_clip.sd3_clip(clip_l=clip_l, clip_g=clip_g, t5=t5, dtype_t5=dtype_t5)) + return supported_models_base.ClipTarget(comfy.text_encoders.sd3_clip.SD3Tokenizer, comfy.text_encoders.sd3_clip.sd3_clip(clip_l=clip_l, clip_g=clip_g, t5=t5, **t5_detect)) class StableAudio(supported_models_base.BASE): unet_config = { @@ -590,6 +594,39 @@ class AuraFlow(supported_models_base.BASE): def clip_target(self, state_dict={}): return supported_models_base.ClipTarget(comfy.text_encoders.aura_t5.AuraT5Tokenizer, comfy.text_encoders.aura_t5.AuraT5Model) +class PixArtAlpha(supported_models_base.BASE): + unet_config = { + "image_model": "pixart_alpha", + } + + sampling_settings = { + "beta_schedule" : "sqrt_linear", + "linear_start" : 0.0001, + "linear_end" : 0.02, + "timesteps" : 1000, + } + + unet_extra_config = {} + latent_format = latent_formats.SD15 + + memory_usage_factor = 0.5 + + vae_key_prefix = ["vae."] + text_encoder_key_prefix = ["text_encoders."] + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.PixArt(self, device=device) + return out.eval() + + def clip_target(self, state_dict={}): + return supported_models_base.ClipTarget(comfy.text_encoders.pixart_t5.PixArtTokenizer, comfy.text_encoders.pixart_t5.PixArtT5XXL) + +class PixArtSigma(PixArtAlpha): + unet_config = { + "image_model": "pixart_sigma", + } + latent_format = latent_formats.SDXL + class HunyuanDiT(supported_models_base.BASE): unet_config = { "image_model": "hydit", @@ -606,6 +643,8 @@ class HunyuanDiT(supported_models_base.BASE): latent_format = latent_formats.SDXL + memory_usage_factor = 1.3 + vae_key_prefix = ["vae."] text_encoder_key_prefix = ["text_encoders."] @@ -653,11 +692,17 @@ class Flux(supported_models_base.BASE): def clip_target(self, state_dict={}): pref = self.text_encoder_key_prefix[0] - t5_key = "{}t5xxl.transformer.encoder.final_layer_norm.weight".format(pref) - dtype_t5 = None - if t5_key in state_dict: - dtype_t5 = state_dict[t5_key].dtype - return supported_models_base.ClipTarget(comfy.text_encoders.flux.FluxTokenizer, comfy.text_encoders.flux.flux_clip(dtype_t5=dtype_t5)) + t5_detect = comfy.text_encoders.sd3_clip.t5_xxl_detect(state_dict, "{}t5xxl.transformer.".format(pref)) + return supported_models_base.ClipTarget(comfy.text_encoders.flux.FluxTokenizer, comfy.text_encoders.flux.flux_clip(**t5_detect)) + +class FluxInpaint(Flux): + unet_config = { + "image_model": "flux", + "guidance_embed": True, + "in_channels": 96, + } + + supported_inference_dtypes = [torch.bfloat16, torch.float32] class FluxSchnell(Flux): unet_config = { @@ -674,7 +719,152 @@ class FluxSchnell(Flux): out = model_base.Flux(self, model_type=model_base.ModelType.FLOW, device=device) return out +class GenmoMochi(supported_models_base.BASE): + unet_config = { + "image_model": "mochi_preview", + } -models = [Stable_Zero123, SD15_instructpix2pix, SD15, SD20, SD21UnclipL, SD21UnclipH, SDXL_instructpix2pix, SDXLRefiner, SDXL, SSD1B, KOALA_700M, KOALA_1B, Segmind_Vega, SD_X4Upscaler, Stable_Cascade_C, Stable_Cascade_B, SV3D_u, SV3D_p, SD3, StableAudio, AuraFlow, HunyuanDiT, HunyuanDiT1, Flux, FluxSchnell] + sampling_settings = { + "multiplier": 1.0, + "shift": 6.0, + } + + unet_extra_config = {} + latent_format = latent_formats.Mochi + + memory_usage_factor = 2.0 #TODO + + supported_inference_dtypes = [torch.bfloat16, torch.float32] + + vae_key_prefix = ["vae."] + text_encoder_key_prefix = ["text_encoders."] + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.GenmoMochi(self, device=device) + return out + + def clip_target(self, state_dict={}): + pref = self.text_encoder_key_prefix[0] + t5_detect = comfy.text_encoders.sd3_clip.t5_xxl_detect(state_dict, "{}t5xxl.transformer.".format(pref)) + return supported_models_base.ClipTarget(comfy.text_encoders.genmo.MochiT5Tokenizer, comfy.text_encoders.genmo.mochi_te(**t5_detect)) + +class LTXV(supported_models_base.BASE): + unet_config = { + "image_model": "ltxv", + } + + sampling_settings = { + "shift": 2.37, + } + + unet_extra_config = {} + latent_format = latent_formats.LTXV + + memory_usage_factor = 2.7 + + supported_inference_dtypes = [torch.bfloat16, torch.float32] + + vae_key_prefix = ["vae."] + text_encoder_key_prefix = ["text_encoders."] + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.LTXV(self, device=device) + return out + + def clip_target(self, state_dict={}): + pref = self.text_encoder_key_prefix[0] + t5_detect = comfy.text_encoders.sd3_clip.t5_xxl_detect(state_dict, "{}t5xxl.transformer.".format(pref)) + return supported_models_base.ClipTarget(comfy.text_encoders.lt.LTXVT5Tokenizer, comfy.text_encoders.lt.ltxv_te(**t5_detect)) + +class HunyuanVideo(supported_models_base.BASE): + unet_config = { + "image_model": "hunyuan_video", + } + + sampling_settings = { + "shift": 7.0, + } + + unet_extra_config = {} + latent_format = latent_formats.HunyuanVideo + + memory_usage_factor = 1.8 #TODO + + supported_inference_dtypes = [torch.bfloat16, torch.float32] + + vae_key_prefix = ["vae."] + text_encoder_key_prefix = ["text_encoders."] + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.HunyuanVideo(self, device=device) + return out + + def process_unet_state_dict(self, state_dict): + out_sd = {} + for k in list(state_dict.keys()): + key_out = k + key_out = key_out.replace("txt_in.t_embedder.mlp.0.", "txt_in.t_embedder.in_layer.").replace("txt_in.t_embedder.mlp.2.", "txt_in.t_embedder.out_layer.") + key_out = key_out.replace("txt_in.c_embedder.linear_1.", "txt_in.c_embedder.in_layer.").replace("txt_in.c_embedder.linear_2.", "txt_in.c_embedder.out_layer.") + key_out = key_out.replace("_mod.linear.", "_mod.lin.").replace("_attn_qkv.", "_attn.qkv.") + key_out = key_out.replace("mlp.fc1.", "mlp.0.").replace("mlp.fc2.", "mlp.2.") + key_out = key_out.replace("_attn_q_norm.weight", "_attn.norm.query_norm.scale").replace("_attn_k_norm.weight", "_attn.norm.key_norm.scale") + key_out = key_out.replace(".q_norm.weight", ".norm.query_norm.scale").replace(".k_norm.weight", ".norm.key_norm.scale") + key_out = key_out.replace("_attn_proj.", "_attn.proj.") + key_out = key_out.replace(".modulation.linear.", ".modulation.lin.") + key_out = key_out.replace("_in.mlp.2.", "_in.out_layer.").replace("_in.mlp.0.", "_in.in_layer.") + out_sd[key_out] = state_dict[k] + return out_sd + + def process_unet_state_dict_for_saving(self, state_dict): + replace_prefix = {"": "model.model."} + return utils.state_dict_prefix_replace(state_dict, replace_prefix) + + def clip_target(self, state_dict={}): + pref = self.text_encoder_key_prefix[0] + hunyuan_detect = comfy.text_encoders.hunyuan_video.llama_detect(state_dict, "{}llama.transformer.".format(pref)) + return supported_models_base.ClipTarget(comfy.text_encoders.hunyuan_video.HunyuanVideoTokenizer, comfy.text_encoders.hunyuan_video.hunyuan_video_clip(**hunyuan_detect)) + +class CosmosT2V(supported_models_base.BASE): + unet_config = { + "image_model": "cosmos", + "in_channels": 16, + } + + sampling_settings = { + "sigma_data": 0.5, + "sigma_max": 80.0, + "sigma_min": 0.002, + } + + unet_extra_config = {} + latent_format = latent_formats.Cosmos1CV8x8x8 + + memory_usage_factor = 1.6 #TODO + + supported_inference_dtypes = [torch.bfloat16, torch.float16, torch.float32] #TODO + + vae_key_prefix = ["vae."] + text_encoder_key_prefix = ["text_encoders."] + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.CosmosVideo(self, device=device) + return out + + def clip_target(self, state_dict={}): + pref = self.text_encoder_key_prefix[0] + t5_detect = comfy.text_encoders.sd3_clip.t5_xxl_detect(state_dict, "{}t5xxl.transformer.".format(pref)) + return supported_models_base.ClipTarget(comfy.text_encoders.cosmos.CosmosT5Tokenizer, comfy.text_encoders.cosmos.te(**t5_detect)) + +class CosmosI2V(CosmosT2V): + unet_config = { + "image_model": "cosmos", + "in_channels": 17, + } + + def get_model(self, state_dict, prefix="", device=None): + out = model_base.CosmosVideo(self, image_to_video=True, device=device) + return out + +models = [Stable_Zero123, SD15_instructpix2pix, SD15, SD20, SD21UnclipL, SD21UnclipH, SDXL_instructpix2pix, SDXLRefiner, SDXL, SSD1B, KOALA_700M, KOALA_1B, Segmind_Vega, SD_X4Upscaler, Stable_Cascade_C, Stable_Cascade_B, SV3D_u, SV3D_p, SD3, StableAudio, AuraFlow, PixArtAlpha, PixArtSigma, HunyuanDiT, HunyuanDiT1, FluxInpaint, Flux, FluxSchnell, GenmoMochi, LTXV, HunyuanVideo, CosmosT2V, CosmosI2V] models += [SVD_img2vid] diff --git a/comfy/supported_models_base.py b/comfy/supported_models_base.py index 7a2152f91..54573abb1 100644 --- a/comfy/supported_models_base.py +++ b/comfy/supported_models_base.py @@ -49,6 +49,8 @@ class BASE: manual_cast_dtype = None custom_operations = None + scaled_fp8 = None + optimizations = {"fp8": False} @classmethod def matches(s, unet_config, state_dict=None): @@ -71,6 +73,7 @@ class BASE: self.unet_config = unet_config.copy() self.sampling_settings = self.sampling_settings.copy() self.latent_format = self.latent_format() + self.optimizations = self.optimizations.copy() for x in self.unet_extra_config: self.unet_config[x] = self.unet_extra_config[x] diff --git a/comfy/text_encoders/cosmos.py b/comfy/text_encoders/cosmos.py new file mode 100644 index 000000000..5441c8952 --- /dev/null +++ b/comfy/text_encoders/cosmos.py @@ -0,0 +1,42 @@ +from comfy import sd1_clip +import comfy.text_encoders.t5 +import os +from transformers import T5TokenizerFast + + +class T5XXLModel(sd1_clip.SDClipModel): + def __init__(self, device="cpu", layer="last", layer_idx=None, dtype=None, attention_mask=True, model_options={}): + textmodel_json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_old_config_xxl.json") + t5xxl_scaled_fp8 = model_options.get("t5xxl_scaled_fp8", None) + if t5xxl_scaled_fp8 is not None: + model_options = model_options.copy() + model_options["scaled_fp8"] = t5xxl_scaled_fp8 + + super().__init__(device=device, layer=layer, layer_idx=layer_idx, textmodel_json_config=textmodel_json_config, dtype=dtype, special_tokens={"end": 1, "pad": 0}, model_class=comfy.text_encoders.t5.T5, enable_attention_masks=attention_mask, return_attention_masks=attention_mask, zero_out_masked=attention_mask, model_options=model_options) + +class CosmosT5XXL(sd1_clip.SD1ClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}): + super().__init__(device=device, dtype=dtype, name="t5xxl", clip_model=T5XXLModel, model_options=model_options) + + +class T5XXLTokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_tokenizer") + super().__init__(tokenizer_path, embedding_directory=embedding_directory, pad_with_end=False, embedding_size=1024, embedding_key='t5xxl', tokenizer_class=T5TokenizerFast, has_start_token=False, pad_to_max_length=False, max_length=99999999, min_length=512) + + +class CosmosT5Tokenizer(sd1_clip.SD1Tokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, clip_name="t5xxl", tokenizer=T5XXLTokenizer) + + +def te(dtype_t5=None, t5xxl_scaled_fp8=None): + class CosmosTEModel_(CosmosT5XXL): + def __init__(self, device="cpu", dtype=None, model_options={}): + if t5xxl_scaled_fp8 is not None and "t5xxl_scaled_fp8" not in model_options: + model_options = model_options.copy() + model_options["t5xxl_scaled_fp8"] = t5xxl_scaled_fp8 + if dtype is None: + dtype = dtype_t5 + super().__init__(device=device, dtype=dtype, model_options=model_options) + return CosmosTEModel_ diff --git a/comfy/text_encoders/flux.py b/comfy/text_encoders/flux.py index 91d1f249d..b945b1aaa 100644 --- a/comfy/text_encoders/flux.py +++ b/comfy/text_encoders/flux.py @@ -1,24 +1,21 @@ from comfy import sd1_clip import comfy.text_encoders.t5 +import comfy.text_encoders.sd3_clip import comfy.model_management from transformers import T5TokenizerFast import torch import os -class T5XXLModel(sd1_clip.SDClipModel): - def __init__(self, device="cpu", layer="last", layer_idx=None, dtype=None, model_options={}): - textmodel_json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_config_xxl.json") - super().__init__(device=device, layer=layer, layer_idx=layer_idx, textmodel_json_config=textmodel_json_config, dtype=dtype, special_tokens={"end": 1, "pad": 0}, model_class=comfy.text_encoders.t5.T5, model_options=model_options) - class T5XXLTokenizer(sd1_clip.SDTokenizer): def __init__(self, embedding_directory=None, tokenizer_data={}): tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_tokenizer") - super().__init__(tokenizer_path, pad_with_end=False, embedding_size=4096, embedding_key='t5xxl', tokenizer_class=T5TokenizerFast, has_start_token=False, pad_to_max_length=False, max_length=99999999, min_length=256) + super().__init__(tokenizer_path, embedding_directory=embedding_directory, pad_with_end=False, embedding_size=4096, embedding_key='t5xxl', tokenizer_class=T5TokenizerFast, has_start_token=False, pad_to_max_length=False, max_length=99999999, min_length=256) class FluxTokenizer: def __init__(self, embedding_directory=None, tokenizer_data={}): - self.clip_l = sd1_clip.SDTokenizer(embedding_directory=embedding_directory) + clip_l_tokenizer_class = tokenizer_data.get("clip_l_tokenizer_class", sd1_clip.SDTokenizer) + self.clip_l = clip_l_tokenizer_class(embedding_directory=embedding_directory) self.t5xxl = T5XXLTokenizer(embedding_directory=embedding_directory) def tokenize_with_weights(self, text:str, return_word_ids=False): @@ -38,8 +35,9 @@ class FluxClipModel(torch.nn.Module): def __init__(self, dtype_t5=None, device="cpu", dtype=None, model_options={}): super().__init__() dtype_t5 = comfy.model_management.pick_weight_dtype(dtype_t5, dtype, device) - self.clip_l = sd1_clip.SDClipModel(device=device, dtype=dtype, return_projected_pooled=False, model_options=model_options) - self.t5xxl = T5XXLModel(device=device, dtype=dtype_t5, model_options=model_options) + clip_l_class = model_options.get("clip_l_class", sd1_clip.SDClipModel) + self.clip_l = clip_l_class(device=device, dtype=dtype, return_projected_pooled=False, model_options=model_options) + self.t5xxl = comfy.text_encoders.sd3_clip.T5XXLModel(device=device, dtype=dtype_t5, model_options=model_options) self.dtypes = set([dtype, dtype_t5]) def set_clip_options(self, options): @@ -64,8 +62,11 @@ class FluxClipModel(torch.nn.Module): else: return self.t5xxl.load_sd(sd) -def flux_clip(dtype_t5=None): +def flux_clip(dtype_t5=None, t5xxl_scaled_fp8=None): class FluxClipModel_(FluxClipModel): def __init__(self, device="cpu", dtype=None, model_options={}): + if t5xxl_scaled_fp8 is not None and "t5xxl_scaled_fp8" not in model_options: + model_options = model_options.copy() + model_options["t5xxl_scaled_fp8"] = t5xxl_scaled_fp8 super().__init__(dtype_t5=dtype_t5, device=device, dtype=dtype, model_options=model_options) return FluxClipModel_ diff --git a/comfy/text_encoders/genmo.py b/comfy/text_encoders/genmo.py new file mode 100644 index 000000000..45987a480 --- /dev/null +++ b/comfy/text_encoders/genmo.py @@ -0,0 +1,38 @@ +from comfy import sd1_clip +import comfy.text_encoders.sd3_clip +import os +from transformers import T5TokenizerFast + + +class T5XXLModel(comfy.text_encoders.sd3_clip.T5XXLModel): + def __init__(self, **kwargs): + kwargs["attention_mask"] = True + super().__init__(**kwargs) + + +class MochiT5XXL(sd1_clip.SD1ClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}): + super().__init__(device=device, dtype=dtype, name="t5xxl", clip_model=T5XXLModel, model_options=model_options) + + +class T5XXLTokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_tokenizer") + super().__init__(tokenizer_path, embedding_directory=embedding_directory, pad_with_end=False, embedding_size=4096, embedding_key='t5xxl', tokenizer_class=T5TokenizerFast, has_start_token=False, pad_to_max_length=False, max_length=99999999, min_length=256) + + +class MochiT5Tokenizer(sd1_clip.SD1Tokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, clip_name="t5xxl", tokenizer=T5XXLTokenizer) + + +def mochi_te(dtype_t5=None, t5xxl_scaled_fp8=None): + class MochiTEModel_(MochiT5XXL): + def __init__(self, device="cpu", dtype=None, model_options={}): + if t5xxl_scaled_fp8 is not None and "t5xxl_scaled_fp8" not in model_options: + model_options = model_options.copy() + model_options["t5xxl_scaled_fp8"] = t5xxl_scaled_fp8 + if dtype is None: + dtype = dtype_t5 + super().__init__(device=device, dtype=dtype, model_options=model_options) + return MochiTEModel_ diff --git a/comfy/text_encoders/hunyuan_video.py b/comfy/text_encoders/hunyuan_video.py new file mode 100644 index 000000000..7149d6878 --- /dev/null +++ b/comfy/text_encoders/hunyuan_video.py @@ -0,0 +1,112 @@ +from comfy import sd1_clip +import comfy.model_management +import comfy.text_encoders.llama +from transformers import LlamaTokenizerFast +import torch +import os + + +def llama_detect(state_dict, prefix=""): + out = {} + t5_key = "{}model.norm.weight".format(prefix) + if t5_key in state_dict: + out["dtype_llama"] = state_dict[t5_key].dtype + + scaled_fp8_key = "{}scaled_fp8".format(prefix) + if scaled_fp8_key in state_dict: + out["llama_scaled_fp8"] = state_dict[scaled_fp8_key].dtype + + return out + + +class LLAMA3Tokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}, min_length=256): + tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "llama_tokenizer") + super().__init__(tokenizer_path, embedding_directory=embedding_directory, pad_with_end=False, embedding_size=4096, embedding_key='llama', tokenizer_class=LlamaTokenizerFast, has_start_token=True, has_end_token=False, pad_to_max_length=False, max_length=99999999, pad_token=128258, end_token=128009, min_length=min_length) + +class LLAMAModel(sd1_clip.SDClipModel): + def __init__(self, device="cpu", layer="hidden", layer_idx=-3, dtype=None, attention_mask=True, model_options={}): + llama_scaled_fp8 = model_options.get("llama_scaled_fp8", None) + if llama_scaled_fp8 is not None: + model_options = model_options.copy() + model_options["scaled_fp8"] = llama_scaled_fp8 + + super().__init__(device=device, layer=layer, layer_idx=layer_idx, textmodel_json_config={}, dtype=dtype, special_tokens={"start": 128000, "pad": 128258}, layer_norm_hidden_state=False, model_class=comfy.text_encoders.llama.Llama2, enable_attention_masks=attention_mask, return_attention_masks=attention_mask, model_options=model_options) + + +class HunyuanVideoTokenizer: + def __init__(self, embedding_directory=None, tokenizer_data={}): + clip_l_tokenizer_class = tokenizer_data.get("clip_l_tokenizer_class", sd1_clip.SDTokenizer) + self.clip_l = clip_l_tokenizer_class(embedding_directory=embedding_directory) + self.llama_template = """<|start_header_id|>system<|end_header_id|>\n\nDescribe the video by detailing the following aspects: 1. The main content and theme of the video.2. The color, shape, size, texture, quantity, text, and spatial relationships of the objects.3. Actions, events, behaviors temporal relationships, physical movement changes of the objects.4. background environment, light, style and atmosphere.5. camera angles, movements, and transitions used in the video:<|eot_id|><|start_header_id|>user<|end_header_id|>\n\n""" # 95 tokens + self.llama = LLAMA3Tokenizer(embedding_directory=embedding_directory, min_length=1) + + def tokenize_with_weights(self, text:str, return_word_ids=False): + out = {} + out["l"] = self.clip_l.tokenize_with_weights(text, return_word_ids) + + llama_text = "{}{}".format(self.llama_template, text) + out["llama"] = self.llama.tokenize_with_weights(llama_text, return_word_ids) + return out + + def untokenize(self, token_weight_pair): + return self.clip_l.untokenize(token_weight_pair) + + def state_dict(self): + return {} + + +class HunyuanVideoClipModel(torch.nn.Module): + def __init__(self, dtype_llama=None, device="cpu", dtype=None, model_options={}): + super().__init__() + dtype_llama = comfy.model_management.pick_weight_dtype(dtype_llama, dtype, device) + clip_l_class = model_options.get("clip_l_class", sd1_clip.SDClipModel) + self.clip_l = clip_l_class(device=device, dtype=dtype, return_projected_pooled=False, model_options=model_options) + self.llama = LLAMAModel(device=device, dtype=dtype_llama, model_options=model_options) + self.dtypes = set([dtype, dtype_llama]) + + def set_clip_options(self, options): + self.clip_l.set_clip_options(options) + self.llama.set_clip_options(options) + + def reset_clip_options(self): + self.clip_l.reset_clip_options() + self.llama.reset_clip_options() + + def encode_token_weights(self, token_weight_pairs): + token_weight_pairs_l = token_weight_pairs["l"] + token_weight_pairs_llama = token_weight_pairs["llama"] + + llama_out, llama_pooled, llama_extra_out = self.llama.encode_token_weights(token_weight_pairs_llama) + + template_end = 0 + for i, v in enumerate(token_weight_pairs_llama[0]): + if v[0] == 128007: # <|end_header_id|> + template_end = i + + if llama_out.shape[1] > (template_end + 2): + if token_weight_pairs_llama[0][template_end + 1][0] == 271: + template_end += 2 + llama_out = llama_out[:, template_end:] + llama_extra_out["attention_mask"] = llama_extra_out["attention_mask"][:, template_end:] + if llama_extra_out["attention_mask"].sum() == torch.numel(llama_extra_out["attention_mask"]): + llama_extra_out.pop("attention_mask") # attention mask is useless if no masked elements + + l_out, l_pooled = self.clip_l.encode_token_weights(token_weight_pairs_l) + return llama_out, l_pooled, llama_extra_out + + def load_sd(self, sd): + if "text_model.encoder.layers.1.mlp.fc1.weight" in sd: + return self.clip_l.load_sd(sd) + else: + return self.llama.load_sd(sd) + + +def hunyuan_video_clip(dtype_llama=None, llama_scaled_fp8=None): + class HunyuanVideoClipModel_(HunyuanVideoClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}): + if llama_scaled_fp8 is not None and "llama_scaled_fp8" not in model_options: + model_options = model_options.copy() + model_options["llama_scaled_fp8"] = llama_scaled_fp8 + super().__init__(dtype_llama=dtype_llama, device=device, dtype=dtype, model_options=model_options) + return HunyuanVideoClipModel_ diff --git a/comfy/text_encoders/llama.py b/comfy/text_encoders/llama.py new file mode 100644 index 000000000..ad4b4623e --- /dev/null +++ b/comfy/text_encoders/llama.py @@ -0,0 +1,226 @@ +import torch +import torch.nn as nn +import torch.nn.functional as F +from dataclasses import dataclass +from typing import Optional, Any + +from comfy.ldm.modules.attention import optimized_attention_for_device +import comfy.model_management +import comfy.ldm.common_dit + +import comfy.model_management + +@dataclass +class Llama2Config: + vocab_size: int = 128320 + hidden_size: int = 4096 + intermediate_size: int = 14336 + num_hidden_layers: int = 32 + num_attention_heads: int = 32 + num_key_value_heads: int = 8 + max_position_embeddings: int = 8192 + rms_norm_eps: float = 1e-5 + rope_theta: float = 500000.0 + +class RMSNorm(nn.Module): + def __init__(self, dim: int, eps: float = 1e-5, device=None, dtype=None): + super().__init__() + self.eps = eps + self.weight = nn.Parameter(torch.empty(dim, device=device, dtype=dtype)) + + def forward(self, x: torch.Tensor): + return comfy.ldm.common_dit.rms_norm(x, self.weight, self.eps) + + +def rotate_half(x): + """Rotates half the hidden dims of the input.""" + x1 = x[..., : x.shape[-1] // 2] + x2 = x[..., x.shape[-1] // 2 :] + return torch.cat((-x2, x1), dim=-1) + + +def precompute_freqs_cis(head_dim, seq_len, theta, device=None): + theta_numerator = torch.arange(0, head_dim, 2, device=device).float() + inv_freq = 1.0 / (theta ** (theta_numerator / head_dim)) + + position_ids = torch.arange(0, seq_len, device=device).unsqueeze(0) + + inv_freq_expanded = inv_freq[None, :, None].float().expand(position_ids.shape[0], -1, 1) + position_ids_expanded = position_ids[:, None, :].float() + freqs = (inv_freq_expanded.float() @ position_ids_expanded.float()).transpose(1, 2) + emb = torch.cat((freqs, freqs), dim=-1) + cos = emb.cos() + sin = emb.sin() + return (cos, sin) + + +def apply_rope(xq, xk, freqs_cis): + cos = freqs_cis[0].unsqueeze(1) + sin = freqs_cis[1].unsqueeze(1) + q_embed = (xq * cos) + (rotate_half(xq) * sin) + k_embed = (xk * cos) + (rotate_half(xk) * sin) + return q_embed, k_embed + + +class Attention(nn.Module): + def __init__(self, config: Llama2Config, device=None, dtype=None, ops: Any = None): + super().__init__() + self.num_heads = config.num_attention_heads + self.num_kv_heads = config.num_key_value_heads + self.hidden_size = config.hidden_size + self.head_dim = self.hidden_size // self.num_heads + + ops = ops or nn + self.q_proj = ops.Linear(config.hidden_size, config.hidden_size, bias=False, device=device, dtype=dtype) + self.k_proj = ops.Linear(config.hidden_size, self.num_kv_heads * self.head_dim, bias=False, device=device, dtype=dtype) + self.v_proj = ops.Linear(config.hidden_size, self.num_kv_heads * self.head_dim, bias=False, device=device, dtype=dtype) + self.o_proj = ops.Linear(config.hidden_size, config.hidden_size, bias=False, device=device, dtype=dtype) + + def forward( + self, + hidden_states: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + freqs_cis: Optional[torch.Tensor] = None, + optimized_attention=None, + ): + batch_size, seq_length, _ = hidden_states.shape + + xq = self.q_proj(hidden_states) + xk = self.k_proj(hidden_states) + xv = self.v_proj(hidden_states) + + xq = xq.view(batch_size, seq_length, self.num_heads, self.head_dim).transpose(1, 2) + xk = xk.view(batch_size, seq_length, self.num_kv_heads, self.head_dim).transpose(1, 2) + xv = xv.view(batch_size, seq_length, self.num_kv_heads, self.head_dim).transpose(1, 2) + + xq, xk = apply_rope(xq, xk, freqs_cis=freqs_cis) + + xk = xk.repeat_interleave(self.num_heads // self.num_kv_heads, dim=1) + xv = xv.repeat_interleave(self.num_heads // self.num_kv_heads, dim=1) + + output = optimized_attention(xq, xk, xv, self.num_heads, mask=attention_mask, skip_reshape=True) + return self.o_proj(output) + +class MLP(nn.Module): + def __init__(self, config: Llama2Config, device=None, dtype=None, ops: Any = None): + super().__init__() + ops = ops or nn + self.gate_proj = ops.Linear(config.hidden_size, config.intermediate_size, bias=False, device=device, dtype=dtype) + self.up_proj = ops.Linear(config.hidden_size, config.intermediate_size, bias=False, device=device, dtype=dtype) + self.down_proj = ops.Linear(config.intermediate_size, config.hidden_size, bias=False, device=device, dtype=dtype) + + def forward(self, x): + return self.down_proj(F.silu(self.gate_proj(x)) * self.up_proj(x)) + +class TransformerBlock(nn.Module): + def __init__(self, config: Llama2Config, device=None, dtype=None, ops: Any = None): + super().__init__() + self.self_attn = Attention(config, device=device, dtype=dtype, ops=ops) + self.mlp = MLP(config, device=device, dtype=dtype, ops=ops) + self.input_layernorm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps, device=device, dtype=dtype) + self.post_attention_layernorm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps, device=device, dtype=dtype) + + def forward( + self, + x: torch.Tensor, + attention_mask: Optional[torch.Tensor] = None, + freqs_cis: Optional[torch.Tensor] = None, + optimized_attention=None, + ): + # Self Attention + residual = x + x = self.input_layernorm(x) + x = self.self_attn( + hidden_states=x, + attention_mask=attention_mask, + freqs_cis=freqs_cis, + optimized_attention=optimized_attention, + ) + x = residual + x + + # MLP + residual = x + x = self.post_attention_layernorm(x) + x = self.mlp(x) + x = residual + x + + return x + +class Llama2_(nn.Module): + def __init__(self, config, device=None, dtype=None, ops=None): + super().__init__() + self.config = config + self.vocab_size = config.vocab_size + + self.embed_tokens = ops.Embedding( + config.vocab_size, + config.hidden_size, + device=device, + dtype=dtype + ) + self.layers = nn.ModuleList([ + TransformerBlock(config, device=device, dtype=dtype, ops=ops) + for _ in range(config.num_hidden_layers) + ]) + self.norm = RMSNorm(config.hidden_size, eps=config.rms_norm_eps, device=device, dtype=dtype) + # self.lm_head = ops.Linear(config.hidden_size, config.vocab_size, bias=False, device=device, dtype=dtype) + + def forward(self, x, attention_mask=None, intermediate_output=None, final_layer_norm_intermediate=True, dtype=None): + x = self.embed_tokens(x, out_dtype=dtype) + + freqs_cis = precompute_freqs_cis(self.config.hidden_size // self.config.num_attention_heads, + x.shape[1], + self.config.rope_theta, + device=x.device) + + mask = None + if attention_mask is not None: + mask = 1.0 - attention_mask.to(x.dtype).reshape((attention_mask.shape[0], 1, -1, attention_mask.shape[-1])).expand(attention_mask.shape[0], 1, attention_mask.shape[-1], attention_mask.shape[-1]) + mask = mask.masked_fill(mask.to(torch.bool), float("-inf")) + + causal_mask = torch.empty(x.shape[1], x.shape[1], dtype=x.dtype, device=x.device).fill_(float("-inf")).triu_(1) + if mask is not None: + mask += causal_mask + else: + mask = causal_mask + optimized_attention = optimized_attention_for_device(x.device, mask=mask is not None, small_input=True) + + intermediate = None + if intermediate_output is not None: + if intermediate_output < 0: + intermediate_output = len(self.layers) + intermediate_output + + for i, layer in enumerate(self.layers): + x = layer( + x=x, + attention_mask=mask, + freqs_cis=freqs_cis, + optimized_attention=optimized_attention, + ) + if i == intermediate_output: + intermediate = x.clone() + + x = self.norm(x) + if intermediate is not None and final_layer_norm_intermediate: + intermediate = self.norm(intermediate) + + return x, intermediate + + +class Llama2(torch.nn.Module): + def __init__(self, config_dict, dtype, device, operations): + super().__init__() + config = Llama2Config(**config_dict) + self.num_layers = config.num_hidden_layers + + self.model = Llama2_(config, device=device, dtype=dtype, ops=operations) + self.dtype = dtype + + def get_input_embeddings(self): + return self.model.embed_tokens + + def set_input_embeddings(self, embeddings): + self.model.embed_tokens = embeddings + + def forward(self, input_ids, *args, **kwargs): + return self.model(input_ids, *args, **kwargs) diff --git a/comfy/text_encoders/llama_tokenizer/tokenizer.json b/comfy/text_encoders/llama_tokenizer/tokenizer.json new file mode 100644 index 000000000..99f23954b --- /dev/null +++ b/comfy/text_encoders/llama_tokenizer/tokenizer.json @@ -0,0 +1,410579 @@ +{ + "version": "1.0", + "truncation": null, + "padding": null, + "added_tokens": [ + { + "id": 128000, + "content": "<|begin_of_text|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128001, + "content": "<|end_of_text|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128002, + "content": "<|reserved_special_token_0|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128003, + "content": "<|reserved_special_token_1|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128004, + "content": "<|reserved_special_token_2|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128005, + "content": "<|reserved_special_token_3|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128006, + "content": "<|start_header_id|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128007, + "content": "<|end_header_id|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128008, + "content": "<|reserved_special_token_4|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128009, + "content": "<|eot_id|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128010, + "content": "<|reserved_special_token_5|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128011, + "content": "<|reserved_special_token_6|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128012, + "content": "<|reserved_special_token_7|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128013, + "content": "<|reserved_special_token_8|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128014, + "content": "<|reserved_special_token_9|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128015, + "content": "<|reserved_special_token_10|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128016, + "content": "<|reserved_special_token_11|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128017, + "content": "<|reserved_special_token_12|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128018, + "content": "<|reserved_special_token_13|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128019, + "content": "<|reserved_special_token_14|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128020, + "content": "<|reserved_special_token_15|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128021, + "content": "<|reserved_special_token_16|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128022, + "content": "<|reserved_special_token_17|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128023, + "content": "<|reserved_special_token_18|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128024, + "content": "<|reserved_special_token_19|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128025, + "content": "<|reserved_special_token_20|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128026, + "content": "<|reserved_special_token_21|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128027, + "content": "<|reserved_special_token_22|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128028, + "content": "<|reserved_special_token_23|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128029, + "content": "<|reserved_special_token_24|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128030, + "content": "<|reserved_special_token_25|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128031, + "content": "<|reserved_special_token_26|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128032, + "content": "<|reserved_special_token_27|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128033, + "content": "<|reserved_special_token_28|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128034, + "content": "<|reserved_special_token_29|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128035, + "content": "<|reserved_special_token_30|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128036, + "content": "<|reserved_special_token_31|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128037, + "content": "<|reserved_special_token_32|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128038, + "content": "<|reserved_special_token_33|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128039, + "content": "<|reserved_special_token_34|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128040, + "content": "<|reserved_special_token_35|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128041, + "content": "<|reserved_special_token_36|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128042, + "content": "<|reserved_special_token_37|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128043, + "content": "<|reserved_special_token_38|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128044, + "content": "<|reserved_special_token_39|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128045, + "content": "<|reserved_special_token_40|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128046, + "content": "<|reserved_special_token_41|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128047, + "content": "<|reserved_special_token_42|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128048, + "content": "<|reserved_special_token_43|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128049, + "content": "<|reserved_special_token_44|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128050, + "content": "<|reserved_special_token_45|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128051, + "content": "<|reserved_special_token_46|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128052, + "content": "<|reserved_special_token_47|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128053, + "content": "<|reserved_special_token_48|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128054, + "content": "<|reserved_special_token_49|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128055, + "content": "<|reserved_special_token_50|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128056, + "content": "<|reserved_special_token_51|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128057, + "content": "<|reserved_special_token_52|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128058, + "content": "<|reserved_special_token_53|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128059, + "content": "<|reserved_special_token_54|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128060, + "content": "<|reserved_special_token_55|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128061, + "content": "<|reserved_special_token_56|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128062, + "content": "<|reserved_special_token_57|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128063, + "content": "<|reserved_special_token_58|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128064, + "content": "<|reserved_special_token_59|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128065, + "content": "<|reserved_special_token_60|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128066, + "content": "<|reserved_special_token_61|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128067, + "content": "<|reserved_special_token_62|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128068, + "content": "<|reserved_special_token_63|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128069, + "content": "<|reserved_special_token_64|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128070, + "content": "<|reserved_special_token_65|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128071, + "content": "<|reserved_special_token_66|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128072, + "content": "<|reserved_special_token_67|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128073, + "content": "<|reserved_special_token_68|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128074, + "content": "<|reserved_special_token_69|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128075, + "content": "<|reserved_special_token_70|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128076, + "content": "<|reserved_special_token_71|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128077, + "content": "<|reserved_special_token_72|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128078, + "content": "<|reserved_special_token_73|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128079, + "content": "<|reserved_special_token_74|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128080, + "content": "<|reserved_special_token_75|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128081, + "content": "<|reserved_special_token_76|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128082, + "content": "<|reserved_special_token_77|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128083, + "content": "<|reserved_special_token_78|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128084, + "content": "<|reserved_special_token_79|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128085, + "content": "<|reserved_special_token_80|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128086, + "content": "<|reserved_special_token_81|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128087, + "content": "<|reserved_special_token_82|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128088, + "content": "<|reserved_special_token_83|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128089, + "content": "<|reserved_special_token_84|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128090, + "content": "<|reserved_special_token_85|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128091, + "content": "<|reserved_special_token_86|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128092, + "content": "<|reserved_special_token_87|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128093, + "content": "<|reserved_special_token_88|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128094, + "content": "<|reserved_special_token_89|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128095, + "content": "<|reserved_special_token_90|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128096, + "content": "<|reserved_special_token_91|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128097, + "content": "<|reserved_special_token_92|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128098, + "content": "<|reserved_special_token_93|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128099, + "content": "<|reserved_special_token_94|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128100, + "content": "<|reserved_special_token_95|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128101, + "content": "<|reserved_special_token_96|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128102, + "content": "<|reserved_special_token_97|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128103, + "content": "<|reserved_special_token_98|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128104, + "content": "<|reserved_special_token_99|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128105, + "content": "<|reserved_special_token_100|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128106, + "content": "<|reserved_special_token_101|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128107, + "content": "<|reserved_special_token_102|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128108, + "content": "<|reserved_special_token_103|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128109, + "content": "<|reserved_special_token_104|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128110, + "content": "<|reserved_special_token_105|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128111, + "content": "<|reserved_special_token_106|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128112, + "content": "<|reserved_special_token_107|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128113, + "content": "<|reserved_special_token_108|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128114, + "content": "<|reserved_special_token_109|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128115, + "content": "<|reserved_special_token_110|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128116, + "content": "<|reserved_special_token_111|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128117, + "content": "<|reserved_special_token_112|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128118, + "content": "<|reserved_special_token_113|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128119, + "content": "<|reserved_special_token_114|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128120, + "content": "<|reserved_special_token_115|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128121, + "content": "<|reserved_special_token_116|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128122, + "content": "<|reserved_special_token_117|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128123, + "content": "<|reserved_special_token_118|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128124, + "content": "<|reserved_special_token_119|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128125, + "content": "<|reserved_special_token_120|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128126, + "content": "<|reserved_special_token_121|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128127, + "content": "<|reserved_special_token_122|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128128, + "content": "<|reserved_special_token_123|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128129, + "content": "<|reserved_special_token_124|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128130, + "content": "<|reserved_special_token_125|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128131, + "content": "<|reserved_special_token_126|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128132, + "content": "<|reserved_special_token_127|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128133, + "content": "<|reserved_special_token_128|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128134, + "content": "<|reserved_special_token_129|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128135, + "content": "<|reserved_special_token_130|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128136, + "content": "<|reserved_special_token_131|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128137, + "content": "<|reserved_special_token_132|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128138, + "content": "<|reserved_special_token_133|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128139, + "content": "<|reserved_special_token_134|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128140, + "content": "<|reserved_special_token_135|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128141, + "content": "<|reserved_special_token_136|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128142, + "content": "<|reserved_special_token_137|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128143, + "content": "<|reserved_special_token_138|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128144, + "content": "<|reserved_special_token_139|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128145, + "content": "<|reserved_special_token_140|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128146, + "content": "<|reserved_special_token_141|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128147, + "content": "<|reserved_special_token_142|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128148, + "content": "<|reserved_special_token_143|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128149, + "content": "<|reserved_special_token_144|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128150, + "content": "<|reserved_special_token_145|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128151, + "content": "<|reserved_special_token_146|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128152, + "content": "<|reserved_special_token_147|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128153, + "content": "<|reserved_special_token_148|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128154, + "content": "<|reserved_special_token_149|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128155, + "content": "<|reserved_special_token_150|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128156, + "content": "<|reserved_special_token_151|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128157, + "content": "<|reserved_special_token_152|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128158, + "content": "<|reserved_special_token_153|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128159, + "content": "<|reserved_special_token_154|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128160, + "content": "<|reserved_special_token_155|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128161, + "content": "<|reserved_special_token_156|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128162, + "content": "<|reserved_special_token_157|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128163, + "content": "<|reserved_special_token_158|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128164, + "content": "<|reserved_special_token_159|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128165, + "content": "<|reserved_special_token_160|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128166, + "content": "<|reserved_special_token_161|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128167, + "content": "<|reserved_special_token_162|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128168, + "content": "<|reserved_special_token_163|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128169, + "content": "<|reserved_special_token_164|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128170, + "content": "<|reserved_special_token_165|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128171, + "content": "<|reserved_special_token_166|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128172, + "content": "<|reserved_special_token_167|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128173, + "content": "<|reserved_special_token_168|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128174, + "content": "<|reserved_special_token_169|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128175, + "content": "<|reserved_special_token_170|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128176, + "content": "<|reserved_special_token_171|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128177, + "content": "<|reserved_special_token_172|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128178, + "content": "<|reserved_special_token_173|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128179, + "content": "<|reserved_special_token_174|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128180, + "content": "<|reserved_special_token_175|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128181, + "content": "<|reserved_special_token_176|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128182, + "content": "<|reserved_special_token_177|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128183, + "content": "<|reserved_special_token_178|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128184, + "content": "<|reserved_special_token_179|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128185, + "content": "<|reserved_special_token_180|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128186, + "content": "<|reserved_special_token_181|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128187, + "content": "<|reserved_special_token_182|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128188, + "content": "<|reserved_special_token_183|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128189, + "content": "<|reserved_special_token_184|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128190, + "content": "<|reserved_special_token_185|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128191, + "content": "<|reserved_special_token_186|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128192, + "content": "<|reserved_special_token_187|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128193, + "content": "<|reserved_special_token_188|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128194, + "content": "<|reserved_special_token_189|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128195, + "content": "<|reserved_special_token_190|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128196, + "content": "<|reserved_special_token_191|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128197, + "content": "<|reserved_special_token_192|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128198, + "content": "<|reserved_special_token_193|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128199, + "content": "<|reserved_special_token_194|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128200, + "content": "<|reserved_special_token_195|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128201, + "content": "<|reserved_special_token_196|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128202, + "content": "<|reserved_special_token_197|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128203, + "content": "<|reserved_special_token_198|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128204, + "content": "<|reserved_special_token_199|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128205, + "content": "<|reserved_special_token_200|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128206, + "content": "<|reserved_special_token_201|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128207, + "content": "<|reserved_special_token_202|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128208, + "content": "<|reserved_special_token_203|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128209, + "content": "<|reserved_special_token_204|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128210, + "content": "<|reserved_special_token_205|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128211, + "content": "<|reserved_special_token_206|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128212, + "content": "<|reserved_special_token_207|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128213, + "content": "<|reserved_special_token_208|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128214, + "content": "<|reserved_special_token_209|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128215, + "content": "<|reserved_special_token_210|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128216, + "content": "<|reserved_special_token_211|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128217, + "content": "<|reserved_special_token_212|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128218, + "content": "<|reserved_special_token_213|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128219, + "content": "<|reserved_special_token_214|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128220, + "content": "<|reserved_special_token_215|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128221, + "content": "<|reserved_special_token_216|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128222, + "content": "<|reserved_special_token_217|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128223, + "content": "<|reserved_special_token_218|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128224, + "content": "<|reserved_special_token_219|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128225, + "content": "<|reserved_special_token_220|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128226, + "content": "<|reserved_special_token_221|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128227, + "content": "<|reserved_special_token_222|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128228, + "content": "<|reserved_special_token_223|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128229, + "content": "<|reserved_special_token_224|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128230, + "content": "<|reserved_special_token_225|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128231, + "content": "<|reserved_special_token_226|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128232, + "content": "<|reserved_special_token_227|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128233, + "content": "<|reserved_special_token_228|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128234, + "content": "<|reserved_special_token_229|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128235, + "content": "<|reserved_special_token_230|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128236, + "content": "<|reserved_special_token_231|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128237, + "content": "<|reserved_special_token_232|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128238, + "content": "<|reserved_special_token_233|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128239, + "content": "<|reserved_special_token_234|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128240, + "content": "<|reserved_special_token_235|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128241, + "content": "<|reserved_special_token_236|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128242, + "content": "<|reserved_special_token_237|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128243, + "content": "<|reserved_special_token_238|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128244, + "content": "<|reserved_special_token_239|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128245, + "content": "<|reserved_special_token_240|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128246, + "content": "<|reserved_special_token_241|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128247, + "content": "<|reserved_special_token_242|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128248, + "content": "<|reserved_special_token_243|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128249, + "content": "<|reserved_special_token_244|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128250, + "content": "<|reserved_special_token_245|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128251, + "content": "<|reserved_special_token_246|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128252, + "content": "<|reserved_special_token_247|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128253, + "content": "<|reserved_special_token_248|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128254, + "content": "<|reserved_special_token_249|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128255, + "content": "<|reserved_special_token_250|>", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128256, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128257, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + }, + { + "id": 128258, + "content": "", + "single_word": false, + "lstrip": false, + "rstrip": false, + "normalized": false, + "special": true + } + ], + "normalizer": null, + "pre_tokenizer": { + "type": "Sequence", + "pretokenizers": [ + { + "type": "Split", + "pattern": { + "Regex": "(?i:'s|'t|'re|'ve|'m|'ll|'d)|[^\\r\\n\\p{L}\\p{N}]?\\p{L}+|\\p{N}{1,3}| ?[^\\s\\p{L}\\p{N}]+[\\r\\n]*|\\s*[\\r\\n]+|\\s+(?!\\S)|\\s+" + }, + "behavior": "Isolated", + "invert": false + }, + { + "type": "ByteLevel", + "add_prefix_space": false, + "trim_offsets": true, + "use_regex": false + } + ] + }, + "post_processor": { + "type": "TemplateProcessing", + "single": [ + { + "SpecialToken": { + "id": "<|begin_of_text|>", + "type_id": 0 + } + }, + { + "Sequence": { + "id": "A", + "type_id": 0 + } + } + ], + "pair": [ + { + "SpecialToken": { + "id": "<|begin_of_text|>", + "type_id": 0 + } + }, + { + "Sequence": { + "id": "A", + "type_id": 0 + } + }, + { + "SpecialToken": { + "id": "<|begin_of_text|>", + "type_id": 1 + } + }, + { + "Sequence": { + "id": "B", + "type_id": 1 + } + } + ], + "special_tokens": { + "<|begin_of_text|>": { + "id": "<|begin_of_text|>", + "ids": [ + 128000 + ], + "tokens": [ + "<|begin_of_text|>" + ] + } + } + }, + "decoder": { + "type": "ByteLevel", + "add_prefix_space": true, + "trim_offsets": true, + "use_regex": true + }, + "model": { + "type": "BPE", + "dropout": null, + "unk_token": null, + "continuing_subword_prefix": null, + "end_of_word_suffix": null, + "fuse_unk": false, + "byte_fallback": false, + "ignore_merges": true, + "vocab": { + "!": 0, + "\"": 1, + "#": 2, + "$": 3, + "%": 4, + "&": 5, + "'": 6, + "(": 7, + ")": 8, + "*": 9, + "+": 10, + ",": 11, + "-": 12, + ".": 13, + "/": 14, + "0": 15, + "1": 16, + "2": 17, + "3": 18, + "4": 19, + "5": 20, + "6": 21, + "7": 22, + "8": 23, + "9": 24, + ":": 25, + ";": 26, + "<": 27, + "=": 28, + ">": 29, + "?": 30, + "@": 31, + "A": 32, + "B": 33, + "C": 34, + "D": 35, + "E": 36, + "F": 37, + "G": 38, + "H": 39, + "I": 40, + "J": 41, + "K": 42, + "L": 43, + "M": 44, + "N": 45, + "O": 46, + "P": 47, + "Q": 48, + "R": 49, + "S": 50, + "T": 51, + "U": 52, + "V": 53, + "W": 54, + "X": 55, + "Y": 56, + "Z": 57, + "[": 58, + "\\": 59, + "]": 60, + "^": 61, + "_": 62, + "`": 63, + "a": 64, + "b": 65, + "c": 66, + "d": 67, + "e": 68, + "f": 69, + "g": 70, + "h": 71, + "i": 72, + "j": 73, + "k": 74, + "l": 75, + "m": 76, + "n": 77, + "o": 78, + "p": 79, + "q": 80, + "r": 81, + "s": 82, + "t": 83, + "u": 84, + "v": 85, + "w": 86, + "x": 87, + "y": 88, + "z": 89, + "{": 90, + "|": 91, + "}": 92, + "~": 93, + "¡": 94, + "¢": 95, + "£": 96, + "¤": 97, + "¥": 98, + "¦": 99, + "§": 100, + "¨": 101, + "©": 102, + "ª": 103, + "«": 104, + "¬": 105, + "®": 106, + "¯": 107, + "°": 108, + "±": 109, + "²": 110, + "³": 111, + "´": 112, + "µ": 113, + "¶": 114, + "·": 115, + "¸": 116, + "¹": 117, + "º": 118, + "»": 119, + "¼": 120, + "½": 121, + "¾": 122, + "¿": 123, + "À": 124, + "Á": 125, + "Â": 126, + "Ã": 127, + "Ä": 128, + "Å": 129, + "Æ": 130, + "Ç": 131, + "È": 132, + "É": 133, + "Ê": 134, + "Ë": 135, + "Ì": 136, + "Í": 137, + "Î": 138, + "Ï": 139, + "Ð": 140, + "Ñ": 141, + "Ò": 142, + "Ó": 143, + "Ô": 144, + "Õ": 145, + "Ö": 146, + "×": 147, + "Ø": 148, + "Ù": 149, + "Ú": 150, + "Û": 151, + "Ü": 152, + "Ý": 153, + "Þ": 154, + "ß": 155, + "à": 156, + "á": 157, + "â": 158, + "ã": 159, + "ä": 160, + "å": 161, + "æ": 162, + "ç": 163, + "è": 164, + "é": 165, + "ê": 166, + "ë": 167, + "ì": 168, + "í": 169, + "î": 170, + "ï": 171, + "ð": 172, + "ñ": 173, + "ò": 174, + "ó": 175, + "ô": 176, + "õ": 177, + "ö": 178, + "÷": 179, + "ø": 180, + "ù": 181, + "ú": 182, + "û": 183, + "ü": 184, + "ý": 185, + "þ": 186, + "ÿ": 187, + "Ā": 188, + "ā": 189, + "Ă": 190, + "ă": 191, + "Ą": 192, + "ą": 193, + "Ć": 194, + "ć": 195, + "Ĉ": 196, + "ĉ": 197, + "Ċ": 198, + "ċ": 199, + "Č": 200, + "č": 201, + "Ď": 202, + "ď": 203, + "Đ": 204, + "đ": 205, + "Ē": 206, + "ē": 207, + "Ĕ": 208, + "ĕ": 209, + "Ė": 210, + "ė": 211, + "Ę": 212, + "ę": 213, + "Ě": 214, + "ě": 215, + "Ĝ": 216, + "ĝ": 217, + "Ğ": 218, + "ğ": 219, + "Ġ": 220, + "ġ": 221, + "Ģ": 222, + "ģ": 223, + "Ĥ": 224, + "ĥ": 225, + "Ħ": 226, + "ħ": 227, + "Ĩ": 228, + "ĩ": 229, + "Ī": 230, + "ī": 231, + "Ĭ": 232, + "ĭ": 233, + "Į": 234, + "į": 235, + "İ": 236, + "ı": 237, + "IJ": 238, + "ij": 239, + "Ĵ": 240, + "ĵ": 241, + "Ķ": 242, + "ķ": 243, + "ĸ": 244, + "Ĺ": 245, + "ĺ": 246, + "Ļ": 247, + "ļ": 248, + "Ľ": 249, + "ľ": 250, + "Ŀ": 251, + "ŀ": 252, + "Ł": 253, + "ł": 254, + "Ń": 255, + "ĠĠ": 256, + "ĠĠĠĠ": 257, + "in": 258, + "Ġt": 259, + "ĠĠĠĠĠĠĠĠ": 260, + "er": 261, + "ĠĠĠ": 262, + "on": 263, + "Ġa": 264, + "re": 265, + "at": 266, + "st": 267, + "en": 268, + "or": 269, + "Ġth": 270, + "ĊĊ": 271, + "Ġc": 272, + "le": 273, + "Ġs": 274, + "it": 275, + "an": 276, + "ar": 277, + "al": 278, + "Ġthe": 279, + ";Ċ": 280, + "Ġp": 281, + "Ġf": 282, + "ou": 283, + "Ġ=": 284, + "is": 285, + "ĠĠĠĠĠĠĠ": 286, + "ing": 287, + "es": 288, + "Ġw": 289, + "ion": 290, + "ed": 291, + "ic": 292, + "Ġb": 293, + "Ġd": 294, + "et": 295, + "Ġm": 296, + "Ġo": 297, + "ĉĉ": 298, + "ro": 299, + "as": 300, + "el": 301, + "ct": 302, + "nd": 303, + "Ġin": 304, + "Ġh": 305, + "ent": 306, + "id": 307, + "Ġn": 308, + "am": 309, + "ĠĠĠĠĠĠĠĠĠĠĠ": 310, + "Ġto": 311, + "Ġre": 312, + "--": 313, + "Ġ{": 314, + "Ġof": 315, + "om": 316, + ");Ċ": 317, + "im": 318, + "čĊ": 319, + "Ġ(": 320, + "il": 321, + "//": 322, + "Ġand": 323, + "ur": 324, + "se": 325, + "Ġl": 326, + "ex": 327, + "ĠS": 328, + "ad": 329, + "Ġ\"": 330, + "ch": 331, + "ut": 332, + "if": 333, + "**": 334, + "Ġ}": 335, + "em": 336, + "ol": 337, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 338, + "th": 339, + ")Ċ": 340, + "Ġ{Ċ": 341, + "Ġg": 342, + "ig": 343, + "iv": 344, + ",Ċ": 345, + "ce": 346, + "od": 347, + "Ġv": 348, + "ate": 349, + "ĠT": 350, + "ag": 351, + "ay": 352, + "Ġ*": 353, + "ot": 354, + "us": 355, + "ĠC": 356, + "Ġst": 357, + "ĠI": 358, + "un": 359, + "ul": 360, + "ue": 361, + "ĠA": 362, + "ow": 363, + "Ġ'": 364, + "ew": 365, + "Ġ<": 366, + "ation": 367, + "()": 368, + "Ġfor": 369, + "ab": 370, + "ort": 371, + "um": 372, + "ame": 373, + "Ġis": 374, + "pe": 375, + "tr": 376, + "ck": 377, + "âĢ": 378, + "Ġy": 379, + "ist": 380, + "----": 381, + ".ĊĊ": 382, + "he": 383, + "Ġe": 384, + "lo": 385, + "ĠM": 386, + "Ġbe": 387, + "ers": 388, + "Ġon": 389, + "Ġcon": 390, + "ap": 391, + "ub": 392, + "ĠP": 393, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 394, + "ass": 395, + "int": 396, + ">Ċ": 397, + "ly": 398, + "urn": 399, + "Ġ$": 400, + ";ĊĊ": 401, + "av": 402, + "port": 403, + "ir": 404, + "->": 405, + "nt": 406, + "ction": 407, + "end": 408, + "Ġde": 409, + "00": 410, + "ith": 411, + "out": 412, + "turn": 413, + "our": 414, + "ĠĠĠĠĠ": 415, + "lic": 416, + "res": 417, + "pt": 418, + "==": 419, + "Ġthis": 420, + "Ġwh": 421, + "Ġif": 422, + "ĠD": 423, + "ver": 424, + "age": 425, + "ĠB": 426, + "ht": 427, + "ext": 428, + "=\"": 429, + "Ġthat": 430, + "****": 431, + "ĠR": 432, + "Ġit": 433, + "ess": 434, + "ĠF": 435, + "Ġr": 436, + "os": 437, + "and": 438, + "Ġas": 439, + "ect": 440, + "ke": 441, + "rom": 442, + "Ġ//": 443, + "con": 444, + "ĠL": 445, + "(\"": 446, + "qu": 447, + "lass": 448, + "Ġwith": 449, + "iz": 450, + "de": 451, + "ĠN": 452, + "Ġal": 453, + "op": 454, + "up": 455, + "get": 456, + "Ġ}Ċ": 457, + "ile": 458, + "Ġan": 459, + "ata": 460, + "ore": 461, + "ri": 462, + "Ġpro": 463, + ";čĊ": 464, + "ĉĉĉĉ": 465, + "ter": 466, + "ain": 467, + "ĠW": 468, + "ĠE": 469, + "Ġcom": 470, + "Ġreturn": 471, + "art": 472, + "ĠH": 473, + "ack": 474, + "import": 475, + "ublic": 476, + "Ġor": 477, + "est": 478, + "ment": 479, + "ĠG": 480, + "able": 481, + "Ġ-": 482, + "ine": 483, + "ill": 484, + "ind": 485, + "ere": 486, + "::": 487, + "ity": 488, + "Ġ+": 489, + "Ġtr": 490, + "elf": 491, + "ight": 492, + "('": 493, + "orm": 494, + "ult": 495, + "str": 496, + "..": 497, + "\",": 498, + "Ġyou": 499, + "ype": 500, + "pl": 501, + "Ġnew": 502, + "Ġj": 503, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 504, + "Ġfrom": 505, + "Ġex": 506, + "ĠO": 507, + "20": 508, + "ld": 509, + "Ġ[": 510, + "oc": 511, + ":Ċ": 512, + "Ġse": 513, + "Ġle": 514, + "--------": 515, + ".s": 516, + "{Ċ": 517, + "',": 518, + "ant": 519, + "Ġat": 520, + "ase": 521, + ".c": 522, + "Ġch": 523, + "": 591, + "ust": 592, + "que": 593, + "Ġres": 594, + "))": 595, + "'s": 596, + "Ġk": 597, + "ans": 598, + "yst": 599, + "unction": 600, + "********": 601, + "Ġi": 602, + "Ġus": 603, + "pp": 604, + "10": 605, + "one": 606, + "ail": 607, + "====": 608, + "name": 609, + "Ġstr": 610, + "Ġ/": 611, + "Ġ&": 612, + "ach": 613, + "div": 614, + "ystem": 615, + "ell": 616, + "Ġhave": 617, + "err": 618, + "ould": 619, + "ull": 620, + "pon": 621, + "ĠJ": 622, + "_p": 623, + "Ġ==": 624, + "ign": 625, + "St": 626, + ".Ċ": 627, + "Ġpl": 628, + ");ĊĊ": 629, + "form": 630, + "put": 631, + "ount": 632, + "}ĊĊ": 633, + "dd": 634, + "ite": 635, + "Ġget": 636, + "rr": 637, + "ome": 638, + "ĠâĢ": 639, + "aram": 640, + "cc": 641, + "Ġ*/": 642, + "ER": 643, + "In": 644, + "les": 645, + "_s": 646, + "ong": 647, + "ie": 648, + "Ġcan": 649, + "ĠV": 650, + "erv": 651, + "pr": 652, + "Ġun": 653, + "row": 654, + "ber": 655, + "Ġdo": 656, + "ll": 657, + "Ġel": 658, + "Ġself": 659, + "ated": 660, + "ary": 661, + "Ġ.": 662, + "']": 663, + "ud": 664, + "Ġen": 665, + "ĠTh": 666, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 667, + "te": 668, + "_c": 669, + "uct": 670, + "Ġab": 671, + "ork": 672, + ".get": 673, + "Ġ#": 674, + "aw": 675, + "ress": 676, + "ob": 677, + "Name": 678, + "201": 679, + "app": 680, + "['": 681, + "Ġall": 682, + "ory": 683, + "ition": 684, + "ance": 685, + "ear": 686, + "Ġcont": 687, + "vent": 688, + "ia": 689, + "Ġwill": 690, + "IN": 691, + "ĠĠĠĠĠĠĠĠĠ": 692, + "return": 693, + "Ġ": 760, + "\",Ċ": 761, + "ec": 762, + "ĠIn": 763, + "ph": 764, + "Ġ|": 765, + "_f": 766, + "Ġvar": 767, + "ence": 768, + "Id": 769, + "ree": 770, + "ink": 771, + "lect": 772, + "ug": 773, + "eth": 774, + "Ġelse": 775, + "----------------": 776, + "19": 777, + "cont": 778, + "Ġso": 779, + "atic": 780, + "Ġlo": 781, + "pro": 782, + "ton": 783, + "ss": 784, + "own": 785, + "abel": 786, + "oint": 787, + "ous": 788, + "eld": 789, + "ST": 790, + "The": 791, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 792, + "RE": 793, + "\":": 794, + "olor": 795, + "tp": 796, + "eg": 797, + "key": 798, + "ude": 799, + "ĠSt": 800, + "ound": 801, + "Ġar": 802, + "\");Ċ": 803, + "ener": 804, + "ser": 805, + "11": 806, + "bject": 807, + "essage": 808, + "fer": 809, + "Ġmore": 810, + "ations": 811, + "ents": 812, + "Ġhis": 813, + "Ġthey": 814, + ".S": 815, + "ĠY": 816, + "use": 817, + "ne": 818, + "ish": 819, + "old": 820, + "_d": 821, + "io": 822, + "ield": 823, + "Ġper": 824, + "Cont": 825, + "ings": 826, + "####": 827, + "Ġdata": 828, + "Ġsa": 829, + "ef": 830, + "fo": 831, + "Ġone": 832, + "eng": 833, + "Ġdis": 834, + "AT": 835, + "Ġname": 836, + "Ġtrue": 837, + "val": 838, + "led": 839, + ".f": 840, + "Ġne": 841, + "Ġend": 842, + "32": 843, + ".T": 844, + "16": 845, + "cre": 846, + "ark": 847, + "log": 848, + "Ex": 849, + "error": 850, + "_id": 851, + "urre": 852, + "ange": 853, + "Ġnull": 854, + "rray": 855, + "Ġmy": 856, + "pan": 857, + "ict": 858, + "ator": 859, + "View": 860, + "List": 861, + "ĉreturn": 862, + "âĢĿ": 863, + "Ġpre": 864, + "Ġx": 865, + "clude": 866, + "arg": 867, + "15": 868, + "ov": 869, + ".h": 870, + "Ġ>": 871, + "Ġtheir": 872, + "')": 873, + "irst": 874, + "ick": 875, + "gh": 876, + "LE": 877, + "OR": 878, + "Ġprivate": 879, + "tem": 880, + "čĊčĊ": 881, + "user": 882, + "Ġ)": 883, + "com": 884, + ".A": 885, + "\";Ċ": 886, + "Ġid": 887, + "read": 888, + "Ġwho": 889, + "_b": 890, + "\">Ċ": 891, + "Ġtime": 892, + "Ġman": 893, + "ry": 894, + "========": 895, + "roup": 896, + "rop": 897, + "public": 898, + "vel": 899, + "umber": 900, + "ble": 901, + "Ġwhich": 902, + "****************": 903, + "Ġany": 904, + "Ġfalse": 905, + "we": 906, + "Ġvalue": 907, + "Ġli": 908, + "\")": 909, + "nder": 910, + "gr": 911, + "Ġno": 912, + "param": 913, + "25": 914, + "fig": 915, + ".com": 916, + "Ġapp": 917, + "_l": 918, + "ions": 919, + ".D": 920, + "ĠCh": 921, + "Ġabout": 922, + "Ġadd": 923, + "Ġsu": 924, + "Ġstring": 925, + "ID": 926, + "Ġover": 927, + "string": 928, + ".l": 929, + "ource": 930, + "000": 931, + "_C": 932, + "]Ċ": 933, + "Ġqu": 934, + "ĠString": 935, + "ca": 936, + "SE": 937, + "Ġro": 938, + "sh": 939, + "ual": 940, + "Type": 941, + "son": 942, + "new": 943, + "ern": 944, + "Ġag": 945, + "AR": 946, + "];Ċ": 947, + "].": 948, + "Ġ?": 949, + "ical": 950, + "Ġdes": 951, + "uth": 952, + "ix": 953, + "ays": 954, + "Ġtype": 955, + "'t": 956, + "ault": 957, + "Ġinter": 958, + "var": 959, + ".b": 960, + "Ġpart": 961, + ".d": 962, + "urrent": 963, + "IT": 964, + "EN": 965, + "30": 966, + "enc": 967, + "(f": 968, + "ra": 969, + "value": 970, + "cho": 971, + "18": 972, + "utton": 973, + "ose": 974, + "14": 975, + "Ġ!=": 976, + "ater": 977, + "é": 978, + "reate": 979, + "oll": 980, + "pos": 981, + "yle": 982, + "ng": 983, + "AL": 984, + "using": 985, + "ames": 986, + "Ġ{čĊ": 987, + "ates": 988, + "ely": 989, + "Ġwork": 990, + "Ġem": 991, + "inal": 992, + "Ġsp": 993, + "Ġwhen": 994, + ".set": 995, + "ĠĠĠĠĠĠ": 996, + "):Ċ": 997, + "to": 998, + "quire": 999, + "indow": 1000, + "lement": 1001, + "pect": 1002, + "ash": 1003, + "[i": 1004, + "Ġuse": 1005, + ".F": 1006, + "pec": 1007, + "Ġad": 1008, + "ove": 1009, + "ception": 1010, + "ength": 1011, + "include": 1012, + "ader": 1013, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 1014, + "atus": 1015, + "Th": 1016, + "itle": 1017, + "rit": 1018, + "void": 1019, + "().": 1020, + "(Ċ": 1021, + "Ġoff": 1022, + "Ġother": 1023, + "Ġ&&": 1024, + "';Ċ": 1025, + "ms": 1026, + "Ġbeen": 1027, + "Ġte": 1028, + "ml": 1029, + "co": 1030, + "nc": 1031, + "13": 1032, + "ervice": 1033, + "Ġ%": 1034, + "**Ċ": 1035, + "ann": 1036, + "ade": 1037, + "ĊĊĊĊ": 1038, + "lock": 1039, + "const": 1040, + "100": 1041, + "ponse": 1042, + "Ġsup": 1043, + "++": 1044, + "date": 1045, + "Ġacc": 1046, + "Ġhad": 1047, + "Ġbu": 1048, + "200": 1049, + "ĠRe": 1050, + "Ġwere": 1051, + "Ġfile": 1052, + "Ġwould": 1053, + "ĠâĢľ": 1054, + "ven": 1055, + "iss": 1056, + "Ġour": 1057, + "class": 1058, + "raw": 1059, + "Ġyear": 1060, + "Data": 1061, + "Ġval": 1062, + "Ġsome": 1063, + "fter": 1064, + "ys": 1065, + "Ġ///": 1066, + "round": 1067, + "view": 1068, + "Ġpe": 1069, + "Ġthere": 1070, + "Ġsaid": 1071, + "du": 1072, + "of": 1073, + "line": 1074, + "/*": 1075, + "duct": 1076, + "Ġher": 1077, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ": 1078, + "Res": 1079, + "Ġco": 1080, + "Ġcomm": 1081, + "ise": 1082, + "min": 1083, + "ĠĠĠĠĊ": 1084, + "#include": 1085, + "ethod": 1086, + ".P": 1087, + "ute": 1088, + "Ġass": 1089, + "Int": 1090, + "ask": 1091, + "loc": 1092, + "Ġlike": 1093, + "ody": 1094, + "Ġlet": 1095, + "load": 1096, + "Ġam": 1097, + "rol": 1098, + "Ġgr": 1099, + "yp": 1100, + "Ġalso": 1101, + "ĠIt": 1102, + "url": 1103, + "ific": 1104, + "ors": 1105, + "_P": 1106, + "_n": 1107, + "igh": 1108, + "Ġthan": 1109, + "Com": 1110, + "AN": 1111, + "UL": 1112, + "ating": 1113, + "17": 1114, + "ĠThis": 1115, + "ref": 1116, + "_S": 1117, + "Ġstatic": 1118, + "roll": 1119, + "Ġjust": 1120, + "Ġresult": 1121, + "ian": 1122, + "idth": 1123, + "Ġthem": 1124, + "));Ċ": 1125, + "der": 1126, + "reak": 1127, + "Con": 1128, + "://": 1129, + "ule": 1130, + "...": 1131, + "arch": 1132, + "ement": 1133, + "Ġ<<": 1134, + "50": 1135, + "ush": 1136, + "ense": 1137, + "arr": 1138, + "Ġinto": 1139, + "cess": 1140, + "amp": 1141, + "ied": 1142, + "ument": 1143, + "Ġ\\": 1144, + "],": 1145, + "wo": 1146, + "als": 1147, + "Ġwhat": 1148, + "anc": 1149, + "Value": 1150, + "='": 1151, + "olum": 1152, + "Ġpos": 1153, + "ages": 1154, + "ayer": 1155, + "Ġsc": 1156, + "ues": 1157, + "\")Ċ": 1158, + "_T": 1159, + "Ġlist": 1160, + "(s": 1161, + "Ġcase": 1162, + "Ch": 1163, + "ĉĉĉĉĉ": 1164, + "////////": 1165, + "ponent": 1166, + "Ġz": 1167, + "Ġkn": 1168, + "let": 1169, + "DE": 1170, + "red": 1171, + "Ġfe": 1172, + "Ġ},Ċ": 1173, + "Ġ,": 1174, + "(t": 1175, + "Ġfirst": 1176, + "');Ċ": 1177, + "word": 1178, + "Ġimport": 1179, + "Ġact": 1180, + "Ġchar": 1181, + "CT": 1182, + "ĠTr": 1183, + "ople": 1184, + "={": 1185, + "ĉf": 1186, + "24": 1187, + "ient": 1188, + "cent": 1189, + ".j": 1190, + "lection": 1191, + "))Ċ": 1192, + "Ġonly": 1193, + "Ġprint": 1194, + "mer": 1195, + ".W": 1196, + "ock": 1197, + "Ġ--": 1198, + "Text": 1199, + "Ġop": 1200, + "ank": 1201, + "Ġits": 1202, + "Ġback": 1203, + "[\"": 1204, + "Ġneed": 1205, + "Ġcl": 1206, + "Ġsub": 1207, + "Ġla": 1208, + "((": 1209, + ".\"": 1210, + "Object": 1211, + "Ġstart": 1212, + "file": 1213, + "(self": 1214, + "ner": 1215, + "ey": 1216, + "Ġuser": 1217, + "Ġent": 1218, + "ĠCom": 1219, + "its": 1220, + "ĠCon": 1221, + "ouble": 1222, + "ower": 1223, + "item": 1224, + "very": 1225, + "ĠWe": 1226, + "64": 1227, + "lick": 1228, + "ĠQ": 1229, + "php": 1230, + "ttp": 1231, + "':": 1232, + "ics": 1233, + "Ġunder": 1234, + "Ġ*Ċ": 1235, + ".L": 1236, + ");": 1237, + "ices": 1238, + "Ġreg": 1239, + ")čĊ": 1240, + "ĉpublic": 1241, + "SS": 1242, + "Ġthen": 1243, + "reat": 1244, + "ious": 1245, + ".G": 1246, + "ek": 1247, + "irect": 1248, + "heck": 1249, + "cript": 1250, + "ning": 1251, + "ĠUn": 1252, + "Ġmay": 1253, + "ĠWh": 1254, + "Bo": 1255, + "Item": 1256, + "struct": 1257, + ".st": 1258, + "ream": 1259, + "ible": 1260, + "loat": 1261, + "Ġorg": 1262, + "und": 1263, + "sum": 1264, + "_in": 1265, + "../": 1266, + "_M": 1267, + "Ġhow": 1268, + "rite": 1269, + "'Ċ": 1270, + "To": 1271, + "40": 1272, + "ww": 1273, + "Ġpeople": 1274, + "index": 1275, + ".n": 1276, + "http": 1277, + "(m": 1278, + "ector": 1279, + "Ġind": 1280, + "Ġjav": 1281, + "],Ċ": 1282, + "ĠHe": 1283, + "_st": 1284, + "ful": 1285, + "ole": 1286, + "){Ċ": 1287, + "Ġshould": 1288, + "opy": 1289, + "elp": 1290, + "ier": 1291, + "_name": 1292, + "erson": 1293, + "ION": 1294, + "ote": 1295, + "Ġtest": 1296, + "Ġbet": 1297, + "rror": 1298, + "ular": 1299, + "ãĢ": 1300, + "ĠÐ": 1301, + "bs": 1302, + "ting": 1303, + "Ġmake": 1304, + "Tr": 1305, + "Ġafter": 1306, + "arget": 1307, + "RO": 1308, + "olumn": 1309, + "rc": 1310, + "_re": 1311, + "define": 1312, + "22": 1313, + "Ġright": 1314, + "right": 1315, + "day": 1316, + "Ġlong": 1317, + "[]": 1318, + "(p": 1319, + "td": 1320, + "cond": 1321, + "ĠPro": 1322, + "Ġrem": 1323, + "ptions": 1324, + "vid": 1325, + ".g": 1326, + "Ġext": 1327, + "Ġ__": 1328, + "')Ċ": 1329, + "pace": 1330, + "mp": 1331, + "Ġmin": 1332, + "stance": 1333, + "air": 1334, + "action": 1335, + "wh": 1336, + "type": 1337, + "util": 1338, + "ait": 1339, + "ĊĊ": 1363, + "Ġshe": 1364, + "\"]": 1365, + "aph": 1366, + "Ġexp": 1367, + "erty": 1368, + "ĠSe": 1369, + "Ġpar": 1370, + "unc": 1371, + "ET": 1372, + "Ġread": 1373, + "print": 1374, + "Ġrel": 1375, + "Ġform": 1376, + "Ġdr": 1377, + "Exception": 1378, + "input": 1379, + "Ġtrans": 1380, + "########": 1381, + "order": 1382, + "By": 1383, + "Ġaw": 1384, + "ities": 1385, + "uff": 1386, + "play": 1387, + ".add": 1388, + "ĠâĢĵ": 1389, + "Ġwant": 1390, + "Ġcomp": 1391, + "ments": 1392, + "Ġ||": 1393, + "az": 1394, + "be": 1395, + "Ġnumber": 1396, + "Ġrequire": 1397, + "ĠEx": 1398, + "60": 1399, + "Ġcol": 1400, + "Ġkey": 1401, + "ember": 1402, + "Ġtwo": 1403, + "Ġsize": 1404, + "Ġwhere": 1405, + "UT": 1406, + "result": 1407, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 1408, + "ough": 1409, + "orld": 1410, + "ood": 1411, + "uch": 1412, + "ative": 1413, + "ger": 1414, + "arent": 1415, + "Ġ/*": 1416, + "Ġarg": 1417, + "Ġwhile": 1418, + "23": 1419, + "(this": 1420, + "Ġrec": 1421, + "Ġdif": 1422, + "State": 1423, + "Ġspec": 1424, + "ride": 1425, + "_F": 1426, + "Ġlook": 1427, + "AM": 1428, + "ility": 1429, + "eter": 1430, + "âĢĻt": 1431, + "ĊĊĊ": 1432, + "ayout": 1433, + "--------------------------------": 1434, + "ager": 1435, + "Ġcould": 1436, + "Ġbr": 1437, + "ends": 1438, + "ures": 1439, + "Ġknow": 1440, + "ets": 1441, + "ĠIf": 1442, + "ĠSh": 1443, + ".w": 1444, + "back": 1445, + "Ġser": 1446, + "Ġ+=": 1447, + "Ġfr": 1448, + "());Ċ": 1449, + "Ġhand": 1450, + "Ind": 1451, + "ULL": 1452, + "Im": 1453, + "();ĊĊ": 1454, + "Ġmost": 1455, + "Ġtry": 1456, + "Ġnow": 1457, + "rough": 1458, + ">čĊ": 1459, + "ackage": 1460, + "Ġhim": 1461, + "._": 1462, + "ify": 1463, + "Ġbreak": 1464, + "Ġ);Ċ": 1465, + "ren": 1466, + "#define": 1467, + "itt": 1468, + "Ġap": 1469, + "ĉc": 1470, + "(n": 1471, + "ĠYou": 1472, + ":ĊĊ": 1473, + "-m": 1474, + "Ġevery": 1475, + "ustom": 1476, + "lient": 1477, + "ocument": 1478, + "cription": 1479, + "Error": 1480, + "-b": 1481, + "о": 1482, + "][": 1483, + "99": 1484, + "trans": 1485, + "Ġpoint": 1486, + "Ġstd": 1487, + "Ġfil": 1488, + "Time": 1489, + "80": 1490, + "Ġmod": 1491, + "Ġ->": 1492, + "Ġerror": 1493, + "ah": 1494, + "Ġtext": 1495, + "roller": 1496, + "lose": 1497, + "ql": 1498, + "Ġpol": 1499, + "><": 1822, + ".B": 1823, + "-c": 1824, + "Ġopen": 1825, + "Ġest": 1826, + "ĠĠĠĠĠĠĠĠĊ": 1827, + "Ġnext": 1828, + "IM": 1829, + "ÑĤ": 1830, + "OT": 1831, + "ó": 1832, + "Ġfollow": 1833, + "content": 1834, + "ĠĠĠĠĠĠĠĠĠĠĠĠ": 1835, + "Ġinclud": 1836, + "HE": 1837, + "ĠRes": 1838, + "Ġhref": 1839, + "и": 1840, + "Ġcar": 1841, + "ypes": 1842, + "image": 1843, + "Un": 1844, + "Ġbool": 1845, + "AD": 1846, + "Ġgame": 1847, + ".Form": 1848, + "rows": 1849, + "*/": 1850, + "velop": 1851, + ".Drawing": 1852, + "Ġpath": 1853, + "ision": 1854, + "Ġeach": 1855, + "ĠPl": 1856, + "_type": 1857, + "Path": 1858, + "nection": 1859, + "Ġav": 1860, + "').": 1861, + "Ġsupport": 1862, + "ENT": 1863, + "rem": 1864, + "\").": 1865, + "Ġown": 1866, + "Ġcor": 1867, + "count": 1868, + "miss": 1869, + "ually": 1870, + "Ġmem": 1871, + "std": 1872, + "ience": 1873, + "search": 1874, + "\"ĊĊ": 1875, + "Form": 1876, + "Ġsex": 1877, + "ename": 1878, + "Ġsign": 1879, + "Ġet": 1880, + "ĠĠĠĠĠĠĠĠĠĠ": 1881, + "','": 1882, + "ĠApp": 1883, + "Ġthose": 1884, + "off": 1885, + "Ġerr": 1886, + "Ġsystem": 1887, + "Ġbest": 1888, + "code": 1889, + "Ġsame": 1890, + "Ġdi": 1891, + "uss": 1892, + "Ġcreate": 1893, + "ather": 1894, + "Array": 1895, + ".in": 1896, + "fe": 1897, + "Service": 1898, + "UN": 1899, + "ats": 1900, + "ĠZ": 1901, + "alth": 1902, + "Ġmade": 1903, + "true": 1904, + "AB": 1905, + "Ġmark": 1906, + "rid": 1907, + "ified": 1908, + ",čĊ": 1909, + "yn": 1910, + "press": 1911, + "Ġgroup": 1912, + "Ġfin": 1913, + "ĠLicense": 1914, + "Field": 1915, + "eger": 1916, + "Ġworld": 1917, + "iness": 1918, + "ty": 1919, + "Ġprocess": 1920, + "(b": 1921, + "Ġcre": 1922, + "arn": 1923, + "ives": 1924, + "Ġmain": 1925, + "ideo": 1926, + "36": 1927, + "_g": 1928, + "AG": 1929, + "valid": 1930, + "img": 1931, + "PI": 1932, + "Ġcolor": 1933, + "Ġreport": 1934, + "Ġtake": 1935, + "rib": 1936, + "OM": 1937, + "Ġday": 1938, + "Request": 1939, + "Ġsk": 1940, + "bers": 1941, + "ĉs": 1942, + ".Add": 1943, + "oot": 1944, + "Image": 1945, + "Ġcomple": 1946, + "ollection": 1947, + "Ġtop": 1948, + "Ġfree": 1949, + "AS": 1950, + "De": 1951, + "ĠOn": 1952, + "IG": 1953, + "90": 1954, + "eta": 1955, + "Date": 1956, + "Ġaction": 1957, + "34": 1958, + "Over": 1959, + "itor": 1960, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 1961, + "not": 1962, + "Ġindex": 1963, + "her": 1964, + "icon": 1965, + "On": 1966, + ";čĊčĊ": 1967, + "ivity": 1968, + "mand": 1969, + ".Windows": 1970, + "OL": 1971, + "Ġreal": 1972, + "Ġmax": 1973, + "land": 1974, + "....": 1975, + "raph": 1976, + "Ġbuild": 1977, + "leg": 1978, + "assword": 1979, + "?ĊĊ": 1980, + "â̦": 1981, + "ook": 1982, + "uck": 1983, + "Ġmessage": 1984, + "test": 1985, + "ivers": 1986, + "38": 1987, + "Ġinput": 1988, + "Ġart": 1989, + "Ġbetween": 1990, + "Get": 1991, + "enter": 1992, + "ground": 1993, + "ene": 1994, + "á": 1995, + ".length": 1996, + "Node": 1997, + "(i": 1998, + "Class": 1999, + "for": 2000, + "ĠâĢĶ": 2001, + "ten": 2002, + "oin": 2003, + "Ġke": 2004, + "ui": 2005, + "ĠIN": 2006, + "Ġtable": 2007, + "sub": 2008, + "ĠLe": 2009, + "Ġhead": 2010, + "Ġmust": 2011, + "////////////////": 2012, + ".util": 2013, + "Context": 2014, + "Ġorder": 2015, + "Ġmov": 2016, + "over": 2017, + "Ġcontin": 2018, + "Ġsay": 2019, + "static": 2020, + ".Text": 2021, + "ĠclassName": 2022, + "pany": 2023, + "Ġter": 2024, + "head": 2025, + "rg": 2026, + "Ġproduct": 2027, + "This": 2028, + ".âĢĿ": 2029, + "ĠBut": 2030, + "70": 2031, + "loy": 2032, + "Ġdouble": 2033, + "sg": 2034, + "Ġplace": 2035, + ".x": 2036, + "message": 2037, + "Ġinformation": 2038, + "private": 2039, + "Ġoper": 2040, + "ced": 2041, + "db": 2042, + "\">": 2228, + "aterial": 2229, + "iled": 2230, + "Ġput": 2231, + "Qu": 2232, + "ÑĢ": 2233, + "ung": 2234, + "map": 2235, + "ĉĉĉĉĉĉĉĉ": 2236, + "Ġlevel": 2237, + "Component": 2238, + "book": 2239, + "creen": 2240, + "_RE": 2241, + "Ġconfig": 2242, + "ãģ": 2243, + "Or": 2244, + ".data": 2245, + "Ġdocument": 2246, + "\",\"": 2247, + "tribute": 2248, + "ux": 2249, + "Log": 2250, + "ference": 2251, + "post": 2252, + "_e": 2253, + "Ġlocal": 2254, + "andom": 2255, + "assert": 2256, + "Val": 2257, + "lected": 2258, + "ina": 2259, + "atabase": 2260, + "Add": 2261, + "Ġcontent": 2262, + ".print": 2263, + "signed": 2264, + "ric": 2265, + ".\"ĊĊ": 2266, + "Ġfa": 2267, + "!ĊĊ": 2268, + "-f": 2269, + "ived": 2270, + "Ġquest": 2271, + ".ex": 2272, + "Ġfloat": 2273, + "Ġdevelop": 2274, + "оÐ": 2275, + "Map": 2276, + "ading": 2277, + "Ġposs": 2278, + "UE": 2279, + "namespace": 2280, + "_O": 2281, + "ĉb": 2282, + ".Get": 2283, + ">(": 2284, + "json": 2285, + "etails": 2286, + "66": 2287, + "Ġtoo": 2288, + "Ġextends": 2289, + "ĠNone": 2290, + "Ġfore": 2291, + "(String": 2292, + "format": 2293, + "Ġgreat": 2294, + "inter": 2295, + "cale": 2296, + "Ñģ": 2297, + "ron": 2298, + "iving": 2299, + "Ent": 2300, + "ency": 2301, + "xt": 2302, + "oy": 2303, + "05": 2304, + "Ġmonth": 2305, + "Ġhapp": 2306, + "Ġsuper": 2307, + "bar": 2308, + "default": 2309, + "_de": 2310, + "ords": 2311, + "ln": 2312, + "({Ċ": 2313, + "ĠInd": 2314, + "ases": 2315, + "Ġtitle": 2316, + "Ġcontext": 2317, + "08": 2318, + "oh": 2319, + "-p": 2320, + "Em": 2321, + "Ġmet": 2322, + "Test": 2323, + "Ġlife": 2324, + "_v": 2325, + "ĠUS": 2326, + "UI": 2327, + "ocation": 2328, + "md": 2329, + "Ġ[Ċ": 2330, + "Ġ]": 2331, + "sw": 2332, + "Ġincre": 2333, + "script": 2334, + "ential": 2335, + "ways": 2336, + ".de": 2337, + "Ġsrc": 2338, + "Ġcatch": 2339, + "ĠAmeric": 2340, + "//Ċ": 2341, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 2342, + "Ġpay": 2343, + "plit": 2344, + "âĢĶ": 2345, + "Ġcoun": 2346, + "obj": 2347, + ".php": 2348, + "Ġchange": 2349, + "ething": 2350, + "'re": 2351, + "aster": 2352, + "los": 2353, + "lation": 2354, + "ĠĠĊ": 2355, + "Le": 2356, + "ä": 2357, + "({": 2358, + "ready": 2359, + "ĠNo": 2360, + "Ġposition": 2361, + "Ġold": 2362, + "Ġbook": 2363, + "abled": 2364, + "bug": 2365, + "202": 2366, + "Hand": 2367, + "};ĊĊ": 2368, + "isplay": 2369, + "aving": 2370, + "04": 2371, + "Ġgover": 2372, + "Ġversion": 2373, + "System": 2374, + "nect": 2375, + "response": 2376, + "Style": 2377, + "Up": 2378, + "angu": 2379, + "Ġthree": 2380, + "init": 2381, + "ero": 2382, + "Ġlaw": 2383, + "endif": 2384, + "Ġbase": 2385, + "email": 2386, + "(l": 2387, + "_V": 2388, + "Ġconf": 2389, + "ATE": 2390, + "Ġduring": 2391, + "tes": 2392, + "Ġconsole": 2393, + "ĠPr": 2394, + "Ġspe": 2395, + "ves": 2396, + "65": 2397, + "path": 2398, + "ialog": 2399, + "dition": 2400, + "_to": 2401, + "ards": 2402, + "Ġagainst": 2403, + "etwork": 2404, + "ĠPh": 2405, + "_L": 2406, + "cur": 2407, + "imit": 2408, + "With": 2409, + "Ġpower": 2410, + "ium": 2411, + "';ĊĊ": 2412, + "Ġwom": 2413, + "left": 2414, + "ources": 2415, + "atri": 2416, + "ĠIm": 2417, + "ĠMan": 2418, + "orth": 2419, + "${": 2420, + "88": 2421, + "quals": 2422, + "ese": 2423, + "_size": 2424, + "Ġiss": 2425, + "otal": 2426, + "-g": 2427, + "ique": 2428, + "rame": 2429, + "Ġwidth": 2430, + "erg": 2431, + ")(": 2432, + "ittle": 2433, + "TR": 2434, + "ĠThey": 2435, + "ences": 2436, + "02": 2437, + "rl": 2438, + "ons": 2439, + "Ġlabel": 2440, + ".y": 2441, + "-t": 2442, + "update": 2443, + "anel": 2444, + "sc": 2445, + ".to": 2446, + "Ġproject": 2447, + "ü": 2448, + "Ġelement": 2449, + "Ġsuccess": 2450, + "ĉĉĊ": 2451, + ".sh": 2452, + "ram": 2453, + "ched": 2454, + "())Ċ": 2455, + "Ġ(Ċ": 2456, + "Ġdate": 2457, + "Ġtot": 2458, + "_ST": 2459, + "All": 2460, + "ification": 2461, + "ĉvar": 2462, + "Ġtri": 2463, + "chem": 2464, + "my": 2465, + "Ġbig": 2466, + "ĠAd": 2467, + "ĠAt": 2468, + "ots": 2469, + "num": 2470, + "Act": 2471, + "Ġmap": 2472, + "era": 2473, + "cope": 2474, + ".$": 2475, + ",âĢĿ": 2476, + "Ġpop": 2477, + "Ġfew": 2478, + "Ġlen": 2479, + "uid": 2480, + "eters": 2481, + "ules": 2482, + "ÃŃ": 2483, + "source": 2484, + "https": 2485, + "Ġdem": 2486, + "Ġear": 2487, + "################": 2488, + "Ġmatch": 2489, + "ories": 2490, + "49": 2491, + "aces": 2492, + "ĠCl": 2493, + "Ġnode": 2494, + "78": 2495, + "irc": 2496, + "local": 2497, + "unity": 2498, + "};Ċ": 2499, + "Ġanother": 2500, + "<<": 2501, + "ogle": 2502, + "Ġsit": 2503, + "ework": 2504, + "TE": 2505, + ".I": 2506, + "NS": 2507, + "ology": 2508, + "ought": 2509, + ".Cont": 2510, + ">>": 2511, + "Ġcare": 2512, + "state": 2513, + "ĉprivate": 2514, + "Ġeffect": 2515, + "++)": 2516, + "_file": 2517, + "ending": 2518, + "Line": 2519, + "For": 2520, + "ior": 2521, + "ĠSc": 2522, + "Ġfun": 2523, + ".Size": 2524, + "ĉelse": 2525, + "])": 2526, + "start": 2527, + "vious": 2528, + "Ġ},": 2529, + "ours": 2530, + "Ġleg": 2531, + "Ġservice": 2532, + "Ġsince": 2533, + "iron": 2534, + "Label": 2535, + "Ġnon": 2536, + "Ġlos": 2537, + "iction": 2538, + "Ġfull": 2539, + "acter": 2540, + "board": 2541, + "gress": 2542, + "Ġturn": 2543, + "ither": 2544, + "09": 2545, + ".size": 2546, + "Ġbody": 2547, + "resh": 2548, + "eturn": 2549, + "199": 2550, + "(_": 2551, + "yles": 2552, + "ormal": 2553, + "pi": 2554, + "Ġsomething": 2555, + "!--": 2556, + "uint": 2557, + "Ġprodu": 2558, + "Ġstand": 2559, + "Ġproble": 2560, + "Ġavailable": 2561, + "mt": 2562, + "ĠBl": 2563, + "Ġ...": 2564, + "Ġblock": 2565, + "Input": 2566, + "Ġkeep": 2567, + "Count": 2568, + "open": 2569, + "Ġ['": 2570, + "Ġthrow": 2571, + "uilder": 2572, + "Action": 2573, + "Ġthings": 2574, + "True": 2575, + "Ġurl": 2576, + "ĠBo": 2577, + "printf": 2578, + "Ġred": 2579, + "js": 2580, + ".create": 2581, + "ĠOr": 2582, + "Status": 2583, + "Instance": 2584, + "Ġcontrol": 2585, + "Ġcome": 2586, + "Ġcustom": 2587, + "location": 2588, + "07": 2589, + "model": 2590, + "ĠčĊ": 2591, + "Ġsource": 2592, + "Ġeas": 2593, + ".out": 2594, + "]ĊĊ": 2595, + "oney": 2596, + "Ġawait": 2597, + "Ġpartic": 2598, + "AP": 2599, + "ublish": 2600, + "odes": 2601, + "_pro": 2602, + "ply": 2603, + "riter": 2604, + "Ġprov": 2605, + "Ġmill": 2606, + "HT": 2607, + "])Ċ": 2608, + "Ġchang": 2609, + "Ġask": 2610, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 2611, + "Ġoutput": 2612, + "Ġemail": 2613, + "68": 2614, + ".push": 2615, + "Ġ}čĊčĊ": 2616, + "ination": 2617, + "47": 2618, + "atrix": 2619, + "Table": 2620, + "uccess": 2621, + "]);Ċ": 2622, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 2623, + "Ġdisc": 2624, + "([": 2625, + "Ġbusiness": 2626, + "height": 2627, + ".html": 2628, + "ta": 2629, + "field": 2630, + "Ġrequired": 2631, + "_R": 2632, + "Ġgovern": 2633, + "}čĊčĊ": 2634, + "lex": 2635, + "500": 2636, + ".,": 2637, + "ĠSet": 2638, + "urch": 2639, + "///": 2640, + "ts": 2641, + "af": 2642, + "Ġmight": 2643, + "istory": 2644, + "Str": 2645, + "Ġnever": 2646, + "Response": 2647, + "arse": 2648, + "ada": 2649, + "ĠHow": 2650, + "Ġ*)": 2651, + "Ġ;": 2652, + "Ġhard": 2653, + "Ad": 2654, + "Ġintern": 2655, + "used": 2656, + "(data": 2657, + "mod": 2658, + "annel": 2659, + "Ġnp": 2660, + "ugg": 2661, + "Ġ/>Ċ": 2662, + "Ġcalled": 2663, + "body": 2664, + "Ġcho": 2665, + "(r": 2666, + "_set": 2667, + "ird": 2668, + "Ġ>=": 2669, + "Ġ};Ċ": 2670, + "Ġoptions": 2671, + "ĠGener": 2672, + "Ġheight": 2673, + "Point": 2674, + "You": 2675, + "ety": 2676, + "Click": 2677, + "Ġsmall": 2678, + "Ġide": 2679, + "Ġaccess": 2680, + "anguage": 2681, + "Ġprotected": 2682, + "Ġjob": 2683, + "ĠThere": 2684, + "Def": 2685, + "Ġaddress": 2686, + "Ġuint": 2687, + "Not": 2688, + "oo": 2689, + "aps": 2690, + "": 2828, + "ĉĠĠĠ": 2829, + "\"))": 2830, + "Content": 2831, + "_W": 2832, + "plement": 2833, + "Ġwon": 2834, + "Ġvideo": 2835, + "adi": 2836, + "point": 2837, + "%%": 2838, + "03": 2839, + "Ġgl": 2840, + "erved": 2841, + "viron": 2842, + "IF": 2843, + "uted": 2844, + "ãĥ": 2845, + "'m": 2846, + "Ġcert": 2847, + "Ġprof": 2848, + "Ġcell": 2849, + "ari": 2850, + "Ġplayer": 2851, + "ais": 2852, + "Ġcost": 2853, + "Ġhum": 2854, + "(R": 2855, + "Ġoffic": 2856, + "ks": 2857, + ".text": 2858, + "atures": 2859, + "Ġtotal": 2860, + "Ġ*/ĊĊ": 2861, + "ope": 2862, + "Ġstat": 2863, + "UM": 2864, + "Ġload": 2865, + "ights": 2866, + "Ġclear": 2867, + "uro": 2868, + "Ġtechn": 2869, + "upport": 2870, + "IR": 2871, + "Ġrow": 2872, + "Ġseem": 2873, + "Ġq": 2874, + "Ġshort": 2875, + "ĠNot": 2876, + "ipp": 2877, + "Group": 2878, + "section": 2879, + "max": 2880, + "irl": 2881, + "Ġoverride": 2882, + "Ġcompany": 2883, + "Ġdone": 2884, + "\");čĊ": 2885, + "Ġgre": 2886, + ".Re": 2887, + "Ġbelie": 2888, + "rist": 2889, + "Ġhealth": 2890, + "ANT": 2891, + "()ĊĊ": 2892, + "ĠBe": 2893, + ".value": 2894, + "ĠGr": 2895, + "ottom": 2896, + "Ġargs": 2897, + "PT": 2898, + "status": 2899, + "func": 2900, + "uments": 2901, + "-h": 2902, + "Number": 2903, + ":čĊ": 2904, + "ĠLog": 2905, + "erver": 2906, + "Ġ),Ċ": 2907, + "ament": 2908, + "Ġobj": 2909, + "inc": 2910, + "Ġchildren": 2911, + "icy": 2912, + "IZ": 2913, + "ands": 2914, + "ably": 2915, + "Ġdistrib": 2916, + "Ġcur": 2917, + "erial": 2918, + "Ġdays": 2919, + "reated": 2920, + "rect": 2921, + "-l": 2922, + "irm": 2923, + "idden": 2924, + "omb": 2925, + "Ġinitial": 2926, + ".js": 2927, + "Ġâ": 2928, + "Query": 2929, + "Ġonline": 2930, + "imal": 2931, + ".con": 2932, + "au": 2933, + "Url": 2934, + "control": 2935, + "irection": 2936, + "Ġinstance": 2937, + "ORT": 2938, + "ĠFr": 2939, + "where": 2940, + "Ġjavax": 2941, + "Ġorgan": 2942, + "apter": 2943, + "Ġreason": 2944, + "options": 2945, + "59": 2946, + "ĠMar": 2947, + "(a": 2948, + "Ġwithin": 2949, + ".âĢĿĊĊ": 2950, + "ODE": 2951, + "_DE": 2952, + "admin": 2953, + "ended": 2954, + "Ġdesign": 2955, + "ĠData": 2956, + "une": 2957, + "ĠFile": 2958, + "root": 2959, + "Ġcent": 2960, + "Ġarr": 2961, + "_add": 2962, + "len": 2963, + "page": 2964, + ",'": 2965, + "_str": 2966, + "Ġbro": 2967, + "ability": 2968, + "outh": 2969, + "58": 2970, + "/c": 2971, + "pose": 2972, + "irtual": 2973, + "earch": 2974, + "_url": 2975, + "argin": 2976, + "Http": 2977, + "Ġschool": 2978, + "ava": 2979, + "Ġconsider": 2980, + ".label": 2981, + "ĠArray": 2982, + "42": 2983, + "web": 2984, + "opt": 2985, + ".println": 2986, + "ulation": 2987, + "Ġfunc": 2988, + "PL": 2989, + "Ġ\"\\": 2990, + "ĠText": 2991, + "actory": 2992, + "(function": 2993, + "null": 2994, + "Ġeng": 2995, + "down": 2996, + "Ġinclude": 2997, + "ĠEn": 2998, + "ĠDr": 2999, + "Ġdb": 3000, + "!!": 3001, + "side": 3002, + "Ġinit": 3003, + "quired": 3004, + "ĠShe": 3005, + "Column": 3006, + "react": 3007, + "Ġann": 3008, + "Ġstop": 3009, + "Ġlater": 3010, + "ĠThat": 3011, + "ention": 3012, + "df": 3013, + "UG": 3014, + "ILE": 3015, + "Ġclient": 3016, + "raft": 3017, + "ffer": 3018, + "POST": 3019, + "elper": 3020, + "Ġlove": 3021, + "quote": 3022, + "oud": 3023, + "Ġjson": 3024, + "Ġable": 3025, + "Ġmen": 3026, + "AX": 3027, + "ĠCopyright": 3028, + "ö": 3029, + "avig": 3030, + "req": 3031, + "Client": 3032, + "});Ċ": 3033, + ".Com": 3034, + "erc": 3035, + "ilt": 3036, + "pecial": 3037, + "_com": 3038, + "room": 3039, + ".Name": 3040, + "Ġgive": 3041, + "amb": 3042, + "ike": 3043, + "Ġcondition": 3044, + "client": 3045, + "ators": 3046, + ":\"": 3047, + "Ġcopy": 3048, + "uture": 3049, + "iversity": 3050, + "ernal": 3051, + "{{": 3052, + "ĠCan": 3053, + "ounc": 3054, + "do": 3055, + "Ġocc": 3056, + "Ġappro": 3057, + "thers": 3058, + "ze": 3059, + "Ġeither": 3060, + "ĠFl": 3061, + "Ġimportant": 3062, + "Ġlead": 3063, + "attr": 3064, + "ART": 3065, + "Equal": 3066, + "Ġda": 3067, + "etch": 3068, + "entity": 3069, + "Ġfamily": 3070, + "adding": 3071, + "Ġoption": 3072, + "Ġexist": 3073, + "ica": 3074, + "ĠObject": 3075, + "69": 3076, + "'ve": 3077, + "vers": 3078, + "itional": 3079, + "67": 3080, + "output": 3081, + "ĠTrue": 3082, + "ĠOF": 3083, + "_time": 3084, + "Ġoffer": 3085, + "Ġ});ĊĊ": 3086, + "HER": 3087, + "egin": 3088, + "\"\"": 3089, + "Ġwater": 3090, + "Ġche": 3091, + "ĠMy": 3092, + "ored": 3093, + "Ġstep": 3094, + "ances": 3095, + "CK": 3096, + "AY": 3097, + "à¸": 3098, + "struction": 3099, + "(C": 3100, + "300": 3101, + "ouch": 3102, + "Stream": 3103, + "active": 3104, + "ama": 3105, + "Entity": 3106, + "product": 3107, + "(){Ċ": 3108, + "Ġgovernment": 3109, + "ĠID": 3110, + "ajor": 3111, + "And": 3112, + "Ġdisplay": 3113, + "л": 3114, + "Ġtimes": 3115, + "Ġfour": 3116, + "Ġfar": 3117, + "Ġpresent": 3118, + "ĠNS": 3119, + "Ġ\\Ċ": 3120, + "uest": 3121, + "Ġbas": 3122, + "echo": 3123, + "child": 3124, + "ifier": 3125, + "Handler": 3126, + "Ġlib": 3127, + "Property": 3128, + "translation": 3129, + "Ġroom": 3130, + "Ġonce": 3131, + "Ġ[]": 3132, + "center": 3133, + "================================": 3134, + "Ġresults": 3135, + "Ġcontinue": 3136, + "Ġtalk": 3137, + "_get": 3138, + "Ġgrow": 3139, + ".sw": 3140, + "eb": 3141, + "ĠPublic": 3142, + "OP": 3143, + "ecute": 3144, + "ols": 3145, + "Ġ**": 3146, + "\");ĊĊ": 3147, + "Ġmass": 3148, + "ured": 3149, + ".class": 3150, + "omic": 3151, + "Ġmean": 3152, + "ips": 3153, + "Ġaut": 3154, + ");čĊčĊ": 3155, + "Ġuntil": 3156, + "Ġmarket": 3157, + "Ġarea": 3158, + "uit": 3159, + "Ġlength": 3160, + "ĠWith": 3161, + "structor": 3162, + "event": 3163, + "\"><": 3164, + "ĠSp": 3165, + "IV": 3166, + "Ġmus": 3167, + "iff": 3168, + "Ġkind": 3169, + "author": 3170, + "ounds": 3171, + "mb": 3172, + "_key": 3173, + "41": 3174, + "width": 3175, + "pository": 3176, + "Ġlight": 3177, + "uk": 3178, + "Row": 3179, + "ohn": 3180, + "alf": 3181, + "vironment": 3182, + "apper": 3183, + "ollections": 3184, + "Ġside": 3185, + "_info": 3186, + "Ġexample": 3187, + "imary": 3188, + "Ġwr": 3189, + "Ġcamp": 3190, + "cribe": 3191, + "255": 3192, + "\"/": 3193, + "Ġmiss": 3194, + "way": 3195, + "Ġbased": 3196, + "Ġplan": 3197, + "Vis": 3198, + "omain": 3199, + "unk": 3200, + "Ġaway": 3201, + "UP": 3202, + "": 3452, + "Ġden": 3453, + "obile": 3454, + "change": 3455, + "ĠĠĠĠĠĠĠĠĠĠĠĠĊ": 3456, + "ici": 3457, + "na": 3458, + "ĠForm": 3459, + "Ġsort": 3460, + "Select": 3461, + "pare": 3462, + "Ġthought": 3463, + "_con": 3464, + "Ġtask": 3465, + "ocus": 3466, + "ĠDE": 3467, + "ĠMin": 3468, + "Ġopt": 3469, + "ĉbreak": 3470, + "umer": 3471, + "KE": 3472, + "then": 3473, + "Ġdet": 3474, + "ĠTest": 3475, + "ports": 3476, + "Ġreview": 3477, + "('/": 3478, + "move": 3479, + "Ġswitch": 3480, + "ERT": 3481, + "patch": 3482, + "annot": 3483, + "ãĤ": 3484, + "Ġabove": 3485, + "itive": 3486, + "56": 3487, + "Ġquestion": 3488, + "ĠQu": 3489, + "ãĢĤĊĊ": 3490, + "gle": 3491, + "Ġword": 3492, + "Ġprovide": 3493, + "ĠReturn": 3494, + "Ġresearch": 3495, + "ão": 3496, + "ustr": 3497, + "Ġpublish": 3498, + "chema": 3499, + "}}": 3500, + "ĠCON": 3501, + "-in": 3502, + "allback": 3503, + "Ġcover": 3504, + "\\\\": 3505, + "color": 3506, + "ĠIS": 3507, + "Ġwhether": 3508, + "imate": 3509, + "isc": 3510, + "Bar": 3511, + "Ġdiv": 3512, + "Be": 3513, + "ourn": 3514, + "Ġhaving": 3515, + "lem": 3516, + "player": 3517, + "abs": 3518, + "amera": 3519, + "ney": 3520, + "Ġexc": 3521, + "gether": 3522, + "plied": 3523, + "ao": 3524, + "[$": 3525, + "Ġ++": 3526, + "ipe": 3527, + "show": 3528, + "/d": 3529, + "[:": 3530, + "agement": 3531, + "lev": 3532, + "_ID": 3533, + "97": 3534, + "rary": 3535, + "ades": 3536, + "_se": 3537, + "ause": 3538, + "Ġemploy": 3539, + "Ġ*/čĊ": 3540, + "Ġfre": 3541, + "Ġ'@": 3542, + "Ġcomplet": 3543, + "Ġlarge": 3544, + "ral": 3545, + "\\x": 3546, + "Ġfac": 3547, + ">": 3662, + "Ġface": 3663, + "CTION": 3664, + "Ġsave": 3665, + "Ġtyp": 3666, + "dev": 3667, + "(\"#": 3668, + "AGE": 3669, + "container": 3670, + "edit": 3671, + "QL": 3672, + "Ġitems": 3673, + "Ġsocial": 3674, + "ien": 3675, + "ĠReact": 3676, + ").ĊĊ": 3677, + "Ġmar": 3678, + "Ġredu": 3679, + "ĠRE": 3680, + ".put": 3681, + "Ġmajor": 3682, + "Cell": 3683, + "next": 3684, + "Ġexpected": 3685, + "Ġyet": 3686, + "Ġindiv": 3687, + "tributes": 3688, + "atis": 3689, + "amed": 3690, + "Ġfood": 3691, + "Source": 3692, + "(string": 3693, + "Ġ+Ċ": 3694, + "ites": 3695, + "dr": 3696, + "Ġmembers": 3697, + "Ġcomb": 3698, + "items": 3699, + "ĠPer": 3700, + "TH": 3701, + "=True": 3702, + "Ġbar": 3703, + "_SE": 3704, + "comm": 3705, + "(w": 3706, + ")ĊĊĊ": 3707, + "Ġsend": 3708, + "Ġinc": 3709, + "unsigned": 3710, + "FA": 3711, + "Ġparams": 3712, + "apping": 3713, + "ros": 3714, + "ugin": 3715, + "fa": 3716, + "Ġconnection": 3717, + "Ġ};ĊĊ": 3718, + "Ġbecome": 3719, + "Mode": 3720, + "Ġev": 3721, + "Ġdiff": 3722, + "ĠUnited": 3723, + "Height": 3724, + "fully": 3725, + "images": 3726, + "Ġmakes": 3727, + "Ġglobal": 3728, + "Ġcontact": 3729, + "':Ċ": 3730, + "Ġabs": 3731, + "аÐ": 3732, + "float": 3733, + "Ġexcept": 3734, + "ĠPol": 3735, + "Child": 3736, + "typ": 3737, + "Ġcertain": 3738, + "ión": 3739, + "OUT": 3740, + "Ġimpro": 3741, + "iles": 3742, + "Ġ-->Ċ": 3743, + "ĠPart": 3744, + "values": 3745, + "oss": 3746, + "/**": 3747, + "ilit": 3748, + "ĠEvent": 3749, + "curity": 3750, + "ster": 3751, + "Ġcharacter": 3752, + "198": 3753, + "Ġnews": 3754, + "Ġ\",": 3755, + "Ġdevice": 3756, + "cel": 3757, + "login": 3758, + "heet": 3759, + "Default": 3760, + "@\"": 3761, + "ĉĠ": 3762, + "click": 3763, + "(value": 3764, + "ĠAb": 3765, + "Ġprevious": 3766, + "ERROR": 3767, + "ocal": 3768, + "Ġmaterial": 3769, + "Ġbelow": 3770, + "ĠChrist": 3771, + "Ġmedia": 3772, + "cover": 3773, + "ĠUI": 3774, + "Ġfail": 3775, + "Ġblack": 3776, + "Ġcomponent": 3777, + "ĠAmerican": 3778, + "Ġadded": 3779, + "Ġbuy": 3780, + "stit": 3781, + "Ġcame": 3782, + "Ġdelete": 3783, + "property": 3784, + "oding": 3785, + "Ġcard": 3786, + "rops": 3787, + "Ġhttps": 3788, + "Ġroot": 3789, + "Ġhandle": 3790, + "CC": 3791, + "Back": 3792, + "emplate": 3793, + "Ġgetting": 3794, + "_by": 3795, + "mail": 3796, + "_sh": 3797, + ".assert": 3798, + "ĠDec": 3799, + "(true": 3800, + "Ġcomput": 3801, + "Ġclaim": 3802, + "'=>": 3803, + "ĠSub": 3804, + "Ġair": 3805, + "ops": 3806, + "nav": 3807, + "ements": 3808, + "(id": 3809, + "Ġenter": 3810, + "anged": 3811, + "End": 3812, + "Ġlocation": 3813, + "Ġnight": 3814, + "Ġdoing": 3815, + "ĠRed": 3816, + "lin": 3817, + "}ĊĊĊ": 3818, + "vider": 3819, + "Ġpick": 3820, + "Ġwatch": 3821, + "essages": 3822, + "Ġhuman": 3823, + "Ġdam": 3824, + "pend": 3825, + "dir": 3826, + "Ġtax": 3827, + "Ġgirl": 3828, + "reet": 3829, + "Ġbox": 3830, + "Ġstrong": 3831, + "(v": 3832, + "rel": 3833, + "Ġinterface": 3834, + "Ġmsg": 3835, + "fect": 3836, + "_at": 3837, + "Ġhouse": 3838, + "Ġtrack": 3839, + "');ĊĊ": 3840, + "je": 3841, + "ĠJohn": 3842, + "istr": 3843, + "(S": 3844, + "ube": 3845, + "Ġce": 3846, + "itted": 3847, + "VER": 3848, + "*)": 3849, + "parent": 3850, + "Ġapplication": 3851, + "any": 3852, + ".swing": 3853, + "Ġpack": 3854, + "\\u": 3855, + "Ġpract": 3856, + "Ġsection": 3857, + "ctx": 3858, + "Ġunsigned": 3859, + ".Point": 3860, + "ĠOne": 3861, + "ı": 3862, + "iple": 3863, + "aid": 3864, + "Ñĥ": 3865, + "Vector": 3866, + "byte": 3867, + "Ġwait": 3868, + "ĠÃł": 3869, + "Ã¥": 3870, + "Ġtogether": 3871, + "Ġthrows": 3872, + "FO": 3873, + "'))": 3874, + "host": 3875, + "ising": 3876, + ".view": 3877, + "Ġterms": 3878, + "framework": 3879, + "-r": 3880, + "Ġapply": 3881, + "Ġsession": 3882, + "Options": 3883, + "uggest": 3884, + "Ġothers": 3885, + "witter": 3886, + "Ġfund": 3887, + "Init": 3888, + "__(": 3889, + "ensor": 3890, + "GET": 3891, + "Ġseveral": 3892, + "ii": 3893, + "[j": 3894, + "IO": 3895, + "Ġtemplate": 3896, + "Position": 3897, + "Ġecon": 3898, + "achine": 3899, + "Ġil": 3900, + ".spring": 3901, + "main": 3902, + "elt": 3903, + "iment": 3904, + "Rec": 3905, + "mm": 3906, + "ĠUniversity": 3907, + "ursor": 3908, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 3909, + "GL": 3910, + "icture": 3911, + "ithub": 3912, + "cer": 3913, + "cast": 3914, + "From": 3915, + "ales": 3916, + "Ġsubject": 3917, + "password": 3918, + "ny": 3919, + "Ġesc": 3920, + ".write": 3921, + "ï¼Į": 3922, + "What": 3923, + ".H": 3924, + "Ġhistory": 3925, + "ĠFe": 3926, + "Ġindividual": 3927, + "unit": 3928, + "Ġ-->": 3929, + "Ġdu": 3930, + "IST": 3931, + "Ġusers": 3932, + "fs": 3933, + "false": 3934, + "unt": 3935, + "Title": 3936, + "Ġmot": 3937, + "Ġfuture": 3938, + "ached": 3939, + "Ġstarted": 3940, + "Ġmode": 3941, + "Ġ'<": 3942, + "_array": 3943, + "Ġax": 3944, + "'];Ċ": 3945, + "ires": 3946, + "There": 3947, + "ught": 3948, + "tml": 3949, + "posed": 3950, + "icult": 3951, + "Ġtook": 3952, + "Ġgames": 3953, + "Ġ}}": 3954, + "Ġ?>Ċ": 3955, + "Ġproducts": 3956, + "Is": 3957, + "Ġbad": 3958, + "ĠDes": 3959, + ".path": 3960, + "'ĊĊ": 3961, + "ĠPost": 3962, + "avel": 3963, + "(:": 3964, + "150": 3965, + "Ġneeds": 3966, + "Ġknown": 3967, + "Fl": 3968, + "Ġexec": 3969, + "Ġseen": 3970, + "51": 3971, + "ume": 3972, + "Ġborder": 3973, + "Ġlive": 3974, + "temp": 3975, + "Per": 3976, + "Ġvariable": 3977, + "iet": 3978, + "ĠDef": 3979, + "Ġge": 3980, + "eme": 3981, + "_back": 3982, + "first": 3983, + "Ġprovided": 3984, + "////////////////////////////////": 3985, + "Ġfilename": 3986, + "Ġhope": 3987, + "uly": 3988, + "auto": 3989, + "find": 3990, + "_string": 3991, + "btn": 3992, + "itude": 3993, + "Attribute": 3994, + "Ġyoung": 3995, + ".txt": 3996, + "Ġwebsite": 3997, + "ĠProp": 3998, + "Ġey": 3999, + ">();Ċ": 4000, + "ional": 4001, + "ARR": 4002, + "ictionary": 4003, + "urther": 4004, + ".": 4085, + "tx": 4086, + "Ġpur": 4087, + "uel": 4088, + "ymbol": 4089, + "uation": 4090, + "anger": 4091, + "Ġbackground": 4092, + "ecess": 4093, + "efined": 4094, + "........": 4095, + "Ġdescription": 4096, + "Ġrepresent": 4097, + "\"));Ċ": 4098, + "pression": 4099, + "rowser": 4100, + "Ġseries": 4101, + "wards": 4102, + "52": 4103, + "($_": 4104, + "aise": 4105, + "Ġhot": 4106, + "acity": 4107, + "ries": 4108, + "actions": 4109, + "Create": 4110, + "adio": 4111, + "amples": 4112, + "Ġoriginal": 4113, + "ensive": 4114, + "font": 4115, + "stream": 4116, + "using": 4117, + ".springframework": 4118, + "001": 4119, + "server": 4120, + "Ġbill": 4121, + "ACK": 4122, + "ilename": 4123, + "Ġframe": 4124, + "Ġ=Ċ": 4125, + "Edit": 4126, + "adius": 4127, + "Ġdraw": 4128, + "anks": 4129, + "Ġdeter": 4130, + "Ġcomes": 4131, + "_int": 4132, + "Ġforeach": 4133, + "angle": 4134, + "Ġelect": 4135, + "pected": 4136, + "Header": 4137, + "istration": 4138, + "False": 4139, + "ĠGame": 4140, + "Ġfilter": 4141, + "Activity": 4142, + "Ġlarg": 4143, + "inition": 4144, + "Ġ\"<": 4145, + "256": 4146, + "ised": 4147, + "Ġremove": 4148, + "ĠTrans": 4149, + "met": 4150, + "see": 4151, + "Format": 4152, + "Command": 4153, + "ĠEX": 4154, + "None": 4155, + "Ġfront": 4156, + "ASE": 4157, + "ĠRec": 4158, + "oundation": 4159, + "Ġvo": 4160, + "96": 4161, + "=\\\"": 4162, + "(*": 4163, + "Change": 4164, + ".Write": 4165, + "group": 4166, + "ients": 4167, + "uy": 4168, + "****************************************************************": 4169, + "Ġdig": 4170, + "hr": 4171, + "(-": 4172, + "Ġgen": 4173, + "number": 4174, + "vec": 4175, + "urope": 4176, + "entry": 4177, + "LL": 4178, + "Ġste": 4179, + "Valid": 4180, + "'],": 4181, + "_param": 4182, + "Ġselected": 4183, + "Ġaccording": 4184, + "ĠDis": 4185, + "Ġutil": 4186, + "Buffer": 4187, + "_error": 4188, + "Ġassoci": 4189, + "_SIZE": 4190, + "Ġwor": 4191, + "Ġprintf": 4192, + "rag": 4193, + "Âł": 4194, + "DD": 4195, + "ĠVal": 4196, + "Ġactiv": 4197, + "Eng": 4198, + "etime": 4199, + "Ġvirtual": 4200, + "aign": 4201, + "aur": 4202, + "ĠPres": 4203, + "ĠException": 4204, + "Ġanything": 4205, + "ĠOff": 4206, + "Ġhours": 4207, + "Ġwar": 4208, + "Args": 4209, + "aging": 4210, + "Ġmodels": 4211, + "ĠTime": 4212, + "Ob": 4213, + "ams": 4214, + "joy": 4215, + "Ġearly": 4216, + ".read": 4217, + "86": 4218, + "Ġcenter": 4219, + "ĠInitial": 4220, + "Ġlanguage": 4221, + "length": 4222, + "xy": 4223, + "Ġsn": 4224, + "Ġinf": 4225, + "Post": 4226, + "Ġago": 4227, + "Ġeasy": 4228, + "_code": 4229, + "ĠANY": 4230, + "_ch": 4231, + "Ġdownload": 4232, + "(T": 4233, + "aved": 4234, + "âĢĵ": 4235, + "Ġstudents": 4236, + "Ġfig": 4237, + "light": 4238, + "xx": 4239, + "Ġbuffer": 4240, + "ĠDep": 4241, + "ĠMath": 4242, + "ITH": 4243, + "Ġvari": 4244, + "Ġdue": 4245, + "Factory": 4246, + "Ġpor": 4247, + "Ġep": 4248, + "otype": 4249, + "Ġcannot": 4250, + "Ġwhite": 4251, + "čĊ": 4524, + ".annot": 4525, + "Ġcollection": 4526, + "'.": 4527, + "Ġsimilar": 4528, + "Ġtaken": 4529, + "(\"%": 4530, + "Order": 4531, + "']Ċ": 4532, + "-md": 4533, + "ĠTH": 4534, + "aced": 4535, + "Ġisn": 4536, + "/j": 4537, + "Ġson": 4538, + "graph": 4539, + "ĠInteger": 4540, + "Ġnecess": 4541, + "reen": 4542, + "Ġum": 4543, + "Ġ\\<": 4544, + "Ġmoment": 4545, + "Ġbring": 4546, + "Ġindic": 4547, + "ysis": 4548, + "Level": 4549, + "verse": 4550, + "urrenc": 4551, + "_test": 4552, + "Ġentire": 4553, + "Down": 4554, + "Ġ}ĊĊĊ": 4555, + "(result": 4556, + "ĠRead": 4557, + "è": 4558, + "Mod": 4559, + "Ġtrying": 4560, + "\"),Ċ": 4561, + "Ġmember": 4562, + "ĠCor": 4563, + "ODO": 4564, + "-control": 4565, + "untime": 4566, + "ĠSim": 4567, + "Dialog": 4568, + "plot": 4569, + "_on": 4570, + "Ġphys": 4571, + "}/": 4572, + "Ġnamespace": 4573, + "ĉčĊ": 4574, + "acc": 4575, + "Player": 4576, + "ARE": 4577, + "89": 4578, + "Ġfoot": 4579, + "Ġboard": 4580, + "part": 4581, + "Ġsus": 4582, + "wise": 4583, + "ĠMc": 4584, + "Ġpush": 4585, + "ATA": 4586, + "Ġplease": 4587, + "ried": 4588, + "weet": 4589, + "bit": 4590, + "ided": 4591, + "VE": 4592, + "ĠSw": 4593, + "UB": 4594, + "Ġtypes": 4595, + "edia": 4596, + "Ġclos": 4597, + "acebook": 4598, + "When": 4599, + "Ġedit": 4600, + "igger": 4601, + "Ġenerg": 4602, + "Container": 4603, + "Ġphot": 4604, + "ĠCount": 4605, + "ĠEurope": 4606, + ".Is": 4607, + "ĠRuss": 4608, + "peed": 4609, + "ĠStr": 4610, + "Ġpy": 4611, + "Ġcult": 4612, + "Ġdefined": 4613, + "ccount": 4614, + "Ġobt": 4615, + ".Location": 4616, + "Ġthread": 4617, + "ille": 4618, + "Ġinstead": 4619, + "strong": 4620, + "ĠSec": 4621, + "URE": 4622, + "Ġidea": 4623, + ".se": 4624, + "emy": 4625, + "selected": 4626, + "Connection": 4627, + "acing": 4628, + "thread": 4629, + ".next": 4630, + "Ġcoll": 4631, + "Ġfilm": 4632, + "istic": 4633, + "Ġcompet": 4634, + "Ġconn": 4635, + "though": 4636, + "Ġcompan": 4637, + "ocket": 4638, + "Ġteach": 4639, + "=(": 4640, + "Ġphone": 4641, + "Ġactive": 4642, + "79": 4643, + "delete": 4644, + "101": 4645, + "tries": 4646, + "Ġmo": 4647, + "Ġdeath": 4648, + "});ĊĊ": 4649, + "ocol": 4650, + "Widget": 4651, + "Ġarticle": 4652, + "rodu": 4653, + "andid": 4654, + "Ñĭ": 4655, + "ĠCr": 4656, + "ka": 4657, + "():": 4658, + "lood": 4659, + "ĉĉĉĊ": 4660, + "Ġalmost": 4661, + "Ġsell": 4662, + "ervlet": 4663, + "rip": 4664, + "Unit": 4665, + "Ġapplic": 4666, + "Ġconnect": 4667, + "Ġfeature": 4668, + "Ġvia": 4669, + "'),": 4670, + "Ġlim": 4671, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 4672, + "ĠGu": 4673, + "Engine": 4674, + "Ġens": 4675, + "Ġenvironment": 4676, + "block": 4677, + "HERE": 4678, + "NULL": 4679, + "gy": 4680, + "tag": 4681, + ")).": 4682, + "exp": 4683, + "Ġcompl": 4684, + "Ġinstall": 4685, + "Ġcomplete": 4686, + "queue": 4687, + "atural": 4688, + "Ġgeneral": 4689, + "thon": 4690, + "Ġasked": 4691, + "ores": 4692, + "(res": 4693, + "Ġreserved": 4694, + "SP": 4695, + "Ġâ̦": 4696, + "ÅĤ": 4697, + "Ġsignific": 4698, + "Off": 4699, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 4700, + "ĠAg": 4701, + "ĠJust": 4702, + "ĠError": 4703, + "Ġinfl": 4704, + "adata": 4705, + "Ġicon": 4706, + "asks": 4707, + "''": 4708, + "_LO": 4709, + "?.": 4710, + "account": 4711, + "Ġ(*": 4712, + "')ĊĊ": 4713, + "rap": 4714, + "_var": 4715, + "ĠFOR": 4716, + "Ġparty": 4717, + "ĠYour": 4718, + "cat": 4719, + "stry": 4720, + ".new": 4721, + "boot": 4722, + "ĠNov": 4723, + "Ġvector": 4724, + "Ġnormal": 4725, + "Ġfurther": 4726, + "Repository": 4727, + "800": 4728, + "Ġdatabase": 4729, + "attle": 4730, + "Ġmusic": 4731, + "Ġspeed": 4732, + "Ġdoc": 4733, + "process": 4734, + "IGHT": 4735, + ".parse": 4736, + "Ġtaking": 4737, + "Ġviol": 4738, + "ceed": 4739, + "ĠAfter": 4740, + "Ġforward": 4741, + "Ġcrit": 4742, + "\"/>Ċ": 4743, + "rot": 4744, + "Ġfailed": 4745, + "efore": 4746, + "Ġconcern": 4747, + "oe": 4748, + "ba": 4749, + "Ġsender": 4750, + "Ġterm": 4751, + "has": 4752, + "=\"#": 4753, + "Ġpotential": 4754, + "Num": 4755, + "Ġpublished": 4756, + ".close": 4757, + "ĠImage": 4758, + "straint": 4759, + "UD": 4760, + "ĠOb": 4761, + "Ġprobably": 4762, + "lim": 4763, + "\":Ċ": 4764, + "olume": 4765, + "Ġconsum": 4766, + "76": 4767, + "ague": 4768, + "ensions": 4769, + "Ġinvestig": 4770, + "-year": 4771, + "');": 4772, + "-sm": 4773, + "Ġenjoy": 4774, + "orig": 4775, + "ering": 4776, + "cp": 4777, + "leased": 4778, + "plements": 4779, + "Ġreturns": 4780, + "pat": 4781, + "BO": 4782, + "ĠHouse": 4783, + ".Label": 4784, + "Ġweight": 4785, + "ighb": 4786, + "Ġconditions": 4787, + "Ġexception": 4788, + "description": 4789, + "Ġtrad": 4790, + "-to": 4791, + "Ġ{}": 4792, + "Ġmodule": 4793, + "END": 4794, + ".ap": 4795, + ".props": 4796, + "Ġconstructor": 4797, + "aves": 4798, + "Ġfavor": 4799, + "ĠNow": 4800, + ";i": 4801, + "ĠMain": 4802, + "_k": 4803, + "eries": 4804, + "âĢĻll": 4805, + "transform": 4806, + "imestamp": 4807, + "Pre": 4808, + "Ġmer": 4809, + ".res": 4810, + "stant": 4811, + "Location": 4812, + "_NAME": 4813, + "Ġloss": 4814, + "ĠĊĊ": 4815, + "net": 4816, + "Ġengine": 4817, + "Block": 4818, + "Ġissues": 4819, + "Ġparse": 4820, + "ĠBar": 4821, + "Ġstay": 4822, + "ĠJSON": 4823, + "Ġdom": 4824, + "airs": 4825, + "wner": 4826, + "Ġlower": 4827, + "\",čĊ": 4828, + "ĠDem": 4829, + "ufact": 4830, + "Ġps": 4831, + "Ġperfect": 4832, + "RL": 4833, + "Ġeduc": 4834, + "ls": 4835, + "emory": 4836, + "ARRANT": 4837, + "uge": 4838, + "Ġexact": 4839, + ".key": 4840, + "alled": 4841, + "ech": 4842, + "ief": 4843, + "\\/": 4844, + "oke": 4845, + "Ġformer": 4846, + "alloc": 4847, + "Ġsix": 4848, + "ida": 4849, + "Ġmargin": 4850, + "Ġheart": 4851, + "ald": 4852, + "pack": 4853, + ".getElementById": 4854, + "ĠWARRANT": 4855, + "Ġrather": 4856, + "Ġbuilding": 4857, + "erman": 4858, + "lice": 4859, + "Ġquestions": 4860, + "izes": 4861, + "lege": 4862, + "irectory": 4863, + "Ġje": 4864, + "Ġcas": 4865, + "props": 4866, + "utf": 4867, + "Ġsecurity": 4868, + "Ġhowever": 4869, + "weight": 4870, + "Ġinside": 4871, + "Ġpresident": 4872, + "Char": 4873, + "ĠWITH": 4874, + ".map": 4875, + "Ġgraph": 4876, + "Ġtag": 4877, + "_status": 4878, + "Ġattempt": 4879, + "opp": 4880, + "uses": 4881, + "ĉconst": 4882, + "Ġround": 4883, + ",$": 4884, + "Ġfriends": 4885, + "Email": 4886, + "?>": 4887, + "Resource": 4888, + "KEY": 4889, + "osp": 4890, + ".query": 4891, + "ĠNorth": 4892, + "ables": 4893, + "istrib": 4894, + "_class": 4895, + "ello": 4896, + "That": 4897, + "к": 4898, + "pecially": 4899, + "ĠPresident": 4900, + "Ġcampaign": 4901, + "Ġalt": 4902, + "area": 4903, + "Ġchall": 4904, + "Ġopport": 4905, + ".Con": 4906, + "Ġenergy": 4907, + "like": 4908, + ".string": 4909, + "ington": 4910, + ")*": 4911, + "yy": 4912, + "Ġprofession": 4913, + "irth": 4914, + "Ġseg": 4915, + "æľ": 4916, + "Ġhor": 4917, + "iers": 4918, + "can": 4919, + "Ġbehind": 4920, + "Product": 4921, + "fg": 4922, + "ĠSk": 4923, + ".jpg": 4924, + "?:": 4925, + "];ĊĊ": 4926, + "Ġcallback": 4927, + "ĠHttp": 4928, + "ÑĮ": 4929, + "long": 4930, + "MS": 4931, + "ATH": 4932, + "Ġraise": 4933, + "Ġwanted": 4934, + "rown": 4935, + "utor": 4936, + "lt": 4937, + "]=": 4938, + "eline": 4939, + "MA": 4940, + "Ġsepar": 4941, + "cs": 4942, + "semb": 4943, + "Dis": 4944, + "bserv": 4945, + "ĠWill": 4946, + "Ġpolicy": 4947, + "Ġthird": 4948, + "phone": 4949, + "Ġbed": 4950, + "/g": 4951, + ".__": 4952, + "ĠInc": 4953, + "izing": 4954, + ".remove": 4955, + "instance": 4956, + ".type": 4957, + "Ġserv": 4958, + "Each": 4959, + "Ġhar": 4960, + "ĠMessage": 4961, + "(key": 4962, + "SELECT": 4963, + "Pos": 4964, + "));čĊ": 4965, + "Ġrecomm": 4966, + "Ġtraining": 4967, + "ĠEnt": 4968, + "ĠChar": 4969, + "icht": 4970, + "(file": 4971, + "Ġprior": 4972, + "Game": 4973, + "Ġexit": 4974, + "Params": 4975, + ".core": 4976, + "PC": 4977, + "nes": 4978, + "anced": 4979, + "(request": 4980, + "Password": 4981, + "}>Ċ": 4982, + "Ġmag": 4983, + "Ġrelease": 4984, + "Ġshall": 4985, + "udent": 4986, + "ĠSouth": 4987, + "ando": 4988, + ":'": 4989, + ".TabIndex": 4990, + "sk": 4991, + "anner": 4992, + "isset": 4993, + "Ġoutside": 4994, + "ledge": 4995, + "Ġå": 4996, + "ĠRob": 4997, + "Ġimm": 4998, + "!Ċ": 4999, + "ĠWeb": 5000, + "Des": 5001, + "BC": 5002, + "ancial": 5003, + "Route": 5004, + "Dec": 5005, + "ferences": 5006, + "Ġpurch": 5007, + "ĠModel": 5008, + "ctor": 5009, + "gn": 5010, + "_start": 5011, + "_un": 5012, + ".*": 5013, + "ises": 5014, + "Ġground": 5015, + "Ġunique": 5016, + "Ġbeaut": 5017, + "{\"": 5018, + "Ġpour": 5019, + "ĠOct": 5020, + "Ġtree": 5021, + "sets": 5022, + "_res": 5023, + "')->": 5024, + "_reg": 5025, + "(\"\\": 5026, + "Ġbyte": 5027, + "Bl": 5028, + "Ġdating": 5029, + "Ġmatter": 5030, + "ĠRem": 5031, + "Ġ'../": 5032, + "ĠAug": 5033, + "ĠLa": 5034, + "Ġ$(": 5035, + "ournal": 5036, + "111": 5037, + "iam": 5038, + "Ġshows": 5039, + "write": 5040, + "Ġball": 5041, + "Ġsimply": 5042, + "Ġfast": 5043, + "Ġmemory": 5044, + "ASS": 5045, + "ĠOf": 5046, + "oved": 5047, + "ante": 5048, + "aul": 5049, + "istry": 5050, + ")));Ċ": 5051, + "Ġfit": 5052, + "_": 5239, + "\")ĊĊ": 5240, + "ox": 5241, + "application": 5242, + "Ġ]Ċ": 5243, + "ĊĊĊĊĊĊ": 5244, + "180": 5245, + "Ġsoon": 5246, + "ctions": 5247, + "inger": 5248, + "Ġjoin": 5249, + "ĠPe": 5250, + "Ġë": 5251, + "Ġlas": 5252, + ".E": 5253, + "css": 5254, + "/or": 5255, + "ĠStart": 5256, + "ĠTO": 5257, + "Ġsubs": 5258, + "conn": 5259, + "components": 5260, + "DEBUG": 5261, + "quare": 5262, + "Function": 5263, + "endar": 5264, + ".index": 5265, + "Ġfill": 5266, + "ÄĻ": 5267, + "Ġchoose": 5268, + "how": 5269, + "ĠAmerica": 5270, + "assets": 5271, + "------------": 5272, + "ĠValue": 5273, + "Ġoffice": 5274, + "Ġveh": 5275, + "Ġtransform": 5276, + "ĠArt": 5277, + "Ġinde": 5278, + "Ġfn": 5279, + "Ġimplements": 5280, + "ango": 5281, + "plete": 5282, + "+\"": 5283, + "tmp": 5284, + "amily": 5285, + "Ġhash": 5286, + "missions": 5287, + "EST": 5288, + "gt": 5289, + "Provider": 5290, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 5291, + "Ġflag": 5292, + "Ġparticip": 5293, + "den": 5294, + "ĠReturns": 5295, + "Ġnote": 5296, + "ür": 5297, + "pm": 5298, + "ideos": 5299, + "Ġspecified": 5300, + "ĠEN": 5301, + "ester": 5302, + "olid": 5303, + "Ġupon": 5304, + "(std": 5305, + "ĉv": 5306, + "Ġ'\\": 5307, + "uz": 5308, + "Ġvert": 5309, + "Ġvict": 5310, + "ĉself": 5311, + "Ġ\"$": 5312, + "85": 5313, + ".k": 5314, + "Ġgroups": 5315, + "github": 5316, + "lang": 5317, + "Ġmut": 5318, + "TO": 5319, + "Ġve": 5320, + "ĠPlease": 5321, + ";ĊĊĊ": 5322, + "access": 5323, + "Ġ{\"": 5324, + "rea": 5325, + "Ġrisk": 5326, + "icker": 5327, + "oggle": 5328, + "ĉwhile": 5329, + "ANG": 5330, + ".send": 5331, + "72": 5332, + "Ġwoman": 5333, + "Ġgets": 5334, + "Ġign": 5335, + "ĠId": 5336, + "_log": 5337, + "ONE": 5338, + "Ġevid": 5339, + "ĠHar": 5340, + "_sub": 5341, + "Ġendl": 5342, + "Ġincluded": 5343, + "());ĊĊ": 5344, + "ĠAp": 5345, + "igr": 5346, + "Ġsem": 5347, + "ĠBlack": 5348, + "doc": 5349, + "_table": 5350, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 5351, + "-up": 5352, + "Ġcause": 5353, + "Ġ..": 5354, + "Ġvan": 5355, + "_dict": 5356, + "Ġfocus": 5357, + "IND": 5358, + "CESS": 5359, + ".Log": 5360, + "Ġmultiple": 5361, + "ido": 5362, + "Ġregard": 5363, + "-M": 5364, + "andler": 5365, + "ourse": 5366, + "Ġdeg": 5367, + ".U": 5368, + "Ġaddition": 5369, + "Ġvarious": 5370, + "Ġreceive": 5371, + "ен": 5372, + "ĠHT": 5373, + "Obj": 5374, + "DF": 5375, + "Ġincrease": 5376, + "ĠOpen": 5377, + "];": 5378, + "Ġcommit": 5379, + "?Ċ": 5380, + "ategories": 5381, + "atory": 5382, + "ship": 5383, + "ĠMich": 5384, + "Ġhtml": 5385, + "romise": 5386, + "Ġleave": 5387, + "Ġstrateg": 5388, + "aven": 5389, + "ĠConsole": 5390, + "known": 5391, + "-n": 5392, + "_LE": 5393, + ".component": 5394, + "Ġbre": 5395, + "Session": 5396, + "iance": 5397, + "Ġalign": 5398, + "typedef": 5399, + "_result": 5400, + "ĠWHERE": 5401, + ".split": 5402, + "Ġreading": 5403, + "FAULT": 5404, + "Ġclo": 5405, + "Ġnotice": 5406, + "_pr": 5407, + "arter": 5408, + "Ġlock": 5409, + "Ġstandard": 5410, + "etic": 5411, + "ellow": 5412, + "Ġpadding": 5413, + "ĠHis": 5414, + "Ġstates": 5415, + "_cast": 5416, + "(P": 5417, + "aa": 5418, + "Ġinternal": 5419, + "ean": 5420, + "ĠPRO": 5421, + "ĠKey": 5422, + "Ġespecially": 5423, + "ming": 5424, + "Ġcross": 5425, + "Ġnational": 5426, + "_object": 5427, + "filter": 5428, + "Ġscript": 5429, + ".update": 5430, + "_i": 5431, + "ĠAssert": 5432, + "/core": 5433, + "%%%%": 5434, + "Ġproblems": 5435, + "istor": 5436, + "Ġ.=": 5437, + "Ġarch": 5438, + "Ġwritten": 5439, + "Ġmilit": 5440, + "MENT": 5441, + ".ch": 5442, + "cape": 5443, + "ĠMus": 5444, + "_config": 5445, + "ĠAPI": 5446, + "foot": 5447, + "Ġimages": 5448, + "endl": 5449, + ".In": 5450, + "First": 5451, + "Ġplatform": 5452, + ".prot": 5453, + "Option": 5454, + "ste": 5455, + "ĠTODO": 5456, + "Ġforce": 5457, + ".cont": 5458, + "ĉecho": 5459, + "ĠDav": 5460, + "Ptr": 5461, + "(B": 5462, + "RT": 5463, + "ĠBase": 5464, + "]['": 5465, + "Ġannounc": 5466, + "console": 5467, + "ĠPy": 5468, + "ds": 5469, + ".as": 5470, + "Ġprevent": 5471, + "apan": 5472, + "Ġ{'": 5473, + "}'": 5709, + "Ġdead": 5710, + "VAL": 5711, + "QUE": 5712, + "************************************************************************": 5713, + "Ġcharg": 5714, + "Return": 5715, + "Ġful": 5716, + "dom": 5717, + "Ġrules": 5718, + "Ġmodify": 5719, + "Ġeval": 5720, + "ham": 5721, + "atement": 5722, + "\\<": 5723, + "ula": 5724, + "=False": 5725, + "RA": 5726, + "Ġcontains": 5727, + "74": 5728, + "Ġstack": 5729, + "mar": 5730, + "Ġ{}Ċ": 5731, + "Ġundefined": 5732, + "Ass": 5733, + "ĠChina": 5734, + "vey": 5735, + "*Ċ": 5736, + "Ġplaying": 5737, + ")/": 5738, + "actor": 5739, + "Ġbottom": 5740, + "lier": 5741, + "ĠNumber": 5742, + "Ġcouple": 5743, + "DC": 5744, + "ĠSO": 5745, + "gor": 5746, + ".setText": 5747, + "success": 5748, + "command": 5749, + "Filter": 5750, + "ĠOur": 5751, + "_item": 5752, + "Ġctx": 5753, + "Ġroad": 5754, + "Version": 5755, + "case": 5756, + "urt": 5757, + "avior": 5758, + "ych": 5759, + "sembly": 5760, + "ĠProduct": 5761, + "Ġheld": 5762, + "afe": 5763, + "Ġincludes": 5764, + "&": 5909, + "CON": 5910, + "Ġrepl": 5911, + "Ġregular": 5912, + "Storage": 5913, + "ramework": 5914, + "Ġgoal": 5915, + "Ġtouch": 5916, + ".widget": 5917, + "Ġbuilt": 5918, + "des": 5919, + "Part": 5920, + "(re": 5921, + "Ġworth": 5922, + "hib": 5923, + "game": 5924, + "91": 5925, + "192": 5926, + "Ġв": 5927, + "acion": 5928, + "ĠWhite": 5929, + "(type": 5930, + "(`": 5931, + "81": 5932, + "Ġnatural": 5933, + "Ġinj": 5934, + "Ġcalcul": 5935, + "ĠApril": 5936, + ".List": 5937, + "Ġassociated": 5938, + "ĉSystem": 5939, + "~~": 5940, + "=[": 5941, + "Ġstorage": 5942, + "Ġbytes": 5943, + "Ġtravel": 5944, + "Ġsou": 5945, + "Ġpassed": 5946, + "!=": 5947, + "ascript": 5948, + ".open": 5949, + "Ġgrid": 5950, + "Ġbus": 5951, + "Ġrecogn": 5952, + "Ab": 5953, + "Ġhon": 5954, + "ĠCenter": 5955, + "Ġprec": 5956, + "build": 5957, + "73": 5958, + "HTML": 5959, + "ĠSan": 5960, + "Ġcountries": 5961, + "aled": 5962, + "token": 5963, + "kt": 5964, + "Ġqual": 5965, + "Last": 5966, + "adow": 5967, + "Ġmanufact": 5968, + "idad": 5969, + "jango": 5970, + "Next": 5971, + "xf": 5972, + ".a": 5973, + "Ġporno": 5974, + "ĠPM": 5975, + "erve": 5976, + "iting": 5977, + "_th": 5978, + "ci": 5979, + "=None": 5980, + "gs": 5981, + "Ġlogin": 5982, + "atives": 5983, + "']);Ċ": 5984, + "Äħ": 5985, + "Ġill": 5986, + "IA": 5987, + "children": 5988, + "DO": 5989, + "Ġlevels": 5990, + "Ġ{{": 5991, + "Ġlooks": 5992, + "Ġ\"#": 5993, + "ToString": 5994, + "Ġnecessary": 5995, + "ĠĠĠĊ": 5996, + "cell": 5997, + "Entry": 5998, + "Ġ'#": 5999, + "Ġextrem": 6000, + "Selector": 6001, + "Ġplaceholder": 6002, + "Load": 6003, + "Ġreleased": 6004, + "ORE": 6005, + "Enumer": 6006, + "ĠTV": 6007, + "SET": 6008, + "inq": 6009, + "Press": 6010, + "ĠDepartment": 6011, + "Ġproperties": 6012, + "Ġrespond": 6013, + "Search": 6014, + "ael": 6015, + "Ġrequ": 6016, + "ĠBook": 6017, + "/Ċ": 6018, + "(st": 6019, + "Ġfinancial": 6020, + "icket": 6021, + "_input": 6022, + "Ġthreat": 6023, + "(in": 6024, + "Strip": 6025, + "ìĿ": 6026, + "ção": 6027, + "71": 6028, + "Ġevidence": 6029, + "));": 6030, + "ĠBro": 6031, + "Ġ[];Ċ": 6032, + "Ġou": 6033, + "buf": 6034, + "Script": 6035, + "dat": 6036, + "Ġrule": 6037, + "#import": 6038, + "=\"/": 6039, + "Serial": 6040, + "Ġstarting": 6041, + "[index": 6042, + "ae": 6043, + "Ġcontrib": 6044, + "session": 6045, + "_new": 6046, + "utable": 6047, + "ober": 6048, + "Ġ\"./": 6049, + "Ġlogger": 6050, + "Ġrecently": 6051, + "Ġreturned": 6052, + "ččĊ": 6053, + ")))Ċ": 6054, + "itions": 6055, + "Ġseek": 6056, + "Ġcommunic": 6057, + "Ġ\".": 6058, + "Ġusername": 6059, + "ECT": 6060, + "DS": 6061, + "Ġotherwise": 6062, + "ĠGerman": 6063, + ".aw": 6064, + "Adapter": 6065, + "ixel": 6066, + "Ġsystems": 6067, + "Ġdrop": 6068, + "83": 6069, + "Ġstructure": 6070, + "Ġ$(\"#": 6071, + "encies": 6072, + "anning": 6073, + "ĠLink": 6074, + "ĠResponse": 6075, + "Ġstri": 6076, + "ż": 6077, + "ĠDB": 6078, + "æĹ": 6079, + "android": 6080, + "submit": 6081, + "otion": 6082, + "92": 6083, + "(@": 6084, + ".test": 6085, + "82": 6086, + "ĊĊĊĊĊĊĊĊ": 6087, + "];čĊ": 6088, + "Ġdirectly": 6089, + "Ġ\"%": 6090, + "ris": 6091, + "elta": 6092, + "AIL": 6093, + "){čĊ": 6094, + "mine": 6095, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 6096, + "(k": 6097, + "bon": 6098, + "asic": 6099, + "pite": 6100, + "___": 6101, + "Max": 6102, + "Ġerrors": 6103, + "ĠWhile": 6104, + "Ġarguments": 6105, + "Ġensure": 6106, + "Right": 6107, + "-based": 6108, + "Web": 6109, + "Ġ-=": 6110, + "Ġintrodu": 6111, + "ĠInst": 6112, + "ĠWash": 6113, + "ordin": 6114, + "join": 6115, + "Database": 6116, + "Ġgrad": 6117, + "Ġusually": 6118, + "ITE": 6119, + "Props": 6120, + "?>Ċ": 6121, + "ĠGo": 6122, + "@Override": 6123, + "REF": 6124, + "Ġip": 6125, + "ĠAustral": 6126, + "Ġist": 6127, + "ViewById": 6128, + "Ġserious": 6129, + "Ġcustomer": 6130, + ".prototype": 6131, + "odo": 6132, + "cor": 6133, + "Ġdoor": 6134, + "ĠWITHOUT": 6135, + "Ġplant": 6136, + "Ġbegan": 6137, + "Ġdistance": 6138, + "()).": 6139, + "Ġchance": 6140, + "Ġord": 6141, + "came": 6142, + "pragma": 6143, + "Ġprotect": 6144, + "ragment": 6145, + "ĠNode": 6146, + "ening": 6147, + "Ñĩ": 6148, + "Ġroute": 6149, + "ĠSchool": 6150, + "hi": 6151, + "Ġneighb": 6152, + "After": 6153, + "licit": 6154, + "Ġcontr": 6155, + "Ġprimary": 6156, + "AA": 6157, + ".WriteLine": 6158, + "utils": 6159, + "Ġbi": 6160, + "Red": 6161, + ".Linq": 6162, + ".object": 6163, + "Ġleaders": 6164, + "unities": 6165, + "Ġgun": 6166, + "onth": 6167, + "ĠDev": 6168, + "FILE": 6169, + "Ġcomments": 6170, + "_len": 6171, + "arrow": 6172, + "amount": 6173, + "Range": 6174, + "sert": 6175, + "GridView": 6176, + "Ġupdated": 6177, + "ĠMo": 6178, + "Ġinform": 6179, + "ociety": 6180, + "ala": 6181, + "Access": 6182, + "Ġhab": 6183, + "Ġcreat": 6184, + "_arg": 6185, + "ĠJanuary": 6186, + "ĠDay": 6187, + "\")čĊ": 6188, + "uple": 6189, + "document": 6190, + "gorith": 6191, + "menu": 6192, + "ĠOver": 6193, + "bb": 6194, + ".title": 6195, + "_out": 6196, + "Ġled": 6197, + "uri": 6198, + "Ġ?>Ċ": 6235, + "run": 6236, + "Ġscene": 6237, + "(array": 6238, + "device": 6239, + "_title": 6240, + "agon": 6241, + "]čĊ": 6242, + "aby": 6243, + "Ġbecame": 6244, + "boolean": 6245, + "Ġpark": 6246, + "ĠCode": 6247, + "upload": 6248, + "riday": 6249, + "ĠSeptember": 6250, + "Fe": 6251, + "Ġsen": 6252, + "cing": 6253, + "FL": 6254, + "Col": 6255, + "uts": 6256, + "_page": 6257, + "inn": 6258, + "Ġimplied": 6259, + "aling": 6260, + "Ġyourself": 6261, + ".Count": 6262, + "conf": 6263, + "Ġaud": 6264, + "_init": 6265, + ".)": 6266, + "Ġwrote": 6267, + "003": 6268, + "NG": 6269, + ".Error": 6270, + "ä»": 6271, + ".for": 6272, + "Ġequal": 6273, + "ĠRequest": 6274, + "Ġserial": 6275, + "Ġallows": 6276, + "XX": 6277, + "Ġmiddle": 6278, + "chor": 6279, + "195": 6280, + "94": 6281, + "ø": 6282, + "erval": 6283, + ".Column": 6284, + "reading": 6285, + "Ġescort": 6286, + "ĠAugust": 6287, + "Ġquickly": 6288, + "Ġweap": 6289, + "ĠCG": 6290, + "ropri": 6291, + "ho": 6292, + "Ġcop": 6293, + "(struct": 6294, + "ĠBig": 6295, + "Ġvs": 6296, + "Ġfrequ": 6297, + ".Value": 6298, + "Ġactions": 6299, + "Ġproper": 6300, + "Ġinn": 6301, + "Ġobjects": 6302, + "Ġmatrix": 6303, + "avascript": 6304, + "Ġones": 6305, + ".group": 6306, + "Ġgreen": 6307, + "Ġpaint": 6308, + "ools": 6309, + "ycl": 6310, + "encode": 6311, + "olt": 6312, + "comment": 6313, + ".api": 6314, + "Dir": 6315, + "Ġune": 6316, + "izont": 6317, + ".position": 6318, + "Ġdesigned": 6319, + "_val": 6320, + "avi": 6321, + "iring": 6322, + "tab": 6323, + "Ġlayer": 6324, + "Ġviews": 6325, + "Ġreve": 6326, + "rael": 6327, + "ĠON": 6328, + "rics": 6329, + "160": 6330, + "np": 6331, + "Ġcore": 6332, + "());čĊ": 6333, + "Main": 6334, + "Ġexpert": 6335, + "ĉĉčĊ": 6336, + "_en": 6337, + "Ġ/>": 6338, + "utter": 6339, + "IAL": 6340, + "ails": 6341, + "ĠKing": 6342, + "*/ĊĊ": 6343, + "ĠMet": 6344, + "_end": 6345, + "addr": 6346, + "ora": 6347, + "Ġir": 6348, + "Min": 6349, + "Ġsurpr": 6350, + "Ġrepe": 6351, + "Ġdirectory": 6352, + "PUT": 6353, + "-S": 6354, + "Ġelection": 6355, + "haps": 6356, + ".pre": 6357, + "cm": 6358, + "Values": 6359, + "Ġ\"Ċ": 6360, + "column": 6361, + "ivil": 6362, + "Login": 6363, + "inue": 6364, + "93": 6365, + "Ġbeautiful": 6366, + "Ġsecret": 6367, + "(event": 6368, + "Ġchat": 6369, + "ums": 6370, + "Ġorigin": 6371, + "Ġeffects": 6372, + "Ġmanagement": 6373, + "illa": 6374, + "tk": 6375, + "Ġsetting": 6376, + "ĠCour": 6377, + "Ġmassage": 6378, + "ĉend": 6379, + "Ġhappy": 6380, + "Ġfinish": 6381, + "Ġcamera": 6382, + "ĠVer": 6383, + "ĠDemocr": 6384, + "ĠHer": 6385, + "(Q": 6386, + "cons": 6387, + "ita": 6388, + "Ġ'.": 6389, + "{}": 6390, + "ĉC": 6391, + "Ġstuff": 6392, + "194": 6393, + "Ġ:Ċ": 6394, + "ĠAR": 6395, + "Task": 6396, + "hidden": 6397, + "eros": 6398, + "IGN": 6399, + "atio": 6400, + "ĠHealth": 6401, + "olute": 6402, + "Enter": 6403, + "'>": 6404, + "ĠTwitter": 6405, + "ĠCounty": 6406, + "scribe": 6407, + "Ġ=>Ċ": 6408, + "Ġhy": 6409, + "fit": 6410, + "Ġmilitary": 6411, + "Ġsale": 6412, + "required": 6413, + "non": 6414, + "bootstrap": 6415, + "hold": 6416, + "rim": 6417, + "-old": 6418, + "ĠDown": 6419, + "Ġmention": 6420, + "contact": 6421, + "_group": 6422, + "oday": 6423, + "Ġtown": 6424, + "Ġsolution": 6425, + "uate": 6426, + "elling": 6427, + "]->": 6428, + "otes": 6429, + "ental": 6430, + "omen": 6431, + "ospital": 6432, + "ĠSup": 6433, + "_EN": 6434, + "Ġslow": 6435, + "SESSION": 6436, + "Ġblue": 6437, + "ago": 6438, + "Ġlives": 6439, + "Ġ^": 6440, + ".un": 6441, + "inst": 6442, + "enge": 6443, + "Ġcustomers": 6444, + "Ġcast": 6445, + "udget": 6446, + "ï¼ģ": 6447, + "icens": 6448, + "Ġdetermin": 6449, + "Selected": 6450, + "_pl": 6451, + "ueue": 6452, + "Ġdark": 6453, + "//ĊĊ": 6454, + "si": 6455, + "thern": 6456, + "ĠJapan": 6457, + "/w": 6458, + "PU": 6459, + "ĠEast": 6460, + "ovie": 6461, + "Ġpackage": 6462, + "Ġnor": 6463, + "Ġapi": 6464, + "bot": 6465, + "\"];Ċ": 6466, + "_post": 6467, + "ulate": 6468, + "Ġclub": 6469, + "'));Ċ": 6470, + "Ġloop": 6471, + "PIO": 6472, + "ione": 6473, + "shot": 6474, + "Initial": 6475, + "Ġplayed": 6476, + "register": 6477, + "rought": 6478, + "_max": 6479, + "acement": 6480, + "match": 6481, + "raphics": 6482, + "AST": 6483, + "Ġexisting": 6484, + "Ġcomplex": 6485, + "DA": 6486, + ".Ch": 6487, + ".common": 6488, + "mo": 6489, + "Ġ'../../": 6490, + "ito": 6491, + "Ġanalysis": 6492, + "Ġdeliver": 6493, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 6494, + "idx": 6495, + "Ãł": 6496, + "ongo": 6497, + "ĠEnglish": 6498, + "Ċ": 10197, + "_default": 10198, + "ĠDatabase": 10199, + "rep": 10200, + "ESS": 10201, + "nergy": 10202, + ".Find": 10203, + "_mask": 10204, + "Ġrise": 10205, + "Ġkernel": 10206, + "::$": 10207, + ".Q": 10208, + "Ġoffering": 10209, + "decl": 10210, + "ĠCS": 10211, + "Ġlisted": 10212, + "Ġmostly": 10213, + "enger": 10214, + "Ġblocks": 10215, + "olo": 10216, + "Ġgoverning": 10217, + "\\F": 10218, + "Ġconcent": 10219, + ".getText": 10220, + "Ġmb": 10221, + "Ġoccurred": 10222, + "Ġchanging": 10223, + "Scene": 10224, + "_CODE": 10225, + "Beh": 10226, + "\"The": 10227, + "Ġtile": 10228, + "ĠAssociation": 10229, + "ĉP": 10230, + "alty": 10231, + "_ad": 10232, + "odies": 10233, + "iated": 10234, + "Ġprepared": 10235, + "possible": 10236, + "Ġmort": 10237, + "TEST": 10238, + "142": 10239, + "Ġignore": 10240, + "Ġcalc": 10241, + "Ġrs": 10242, + "ĠassertEquals": 10243, + "Ġsz": 10244, + "ĠTHIS": 10245, + ".\"Ċ": 10246, + "Ġcanvas": 10247, + "java": 10248, + "Ġdut": 10249, + "VALID": 10250, + ".sql": 10251, + ".input": 10252, + "Ġaux": 10253, + "Sup": 10254, + "Ġartist": 10255, + "Vec": 10256, + "_TIME": 10257, + ".stringify": 10258, + "etween": 10259, + "ĠCategory": 10260, + "Ġ[-": 10261, + "ĠDevExpress": 10262, + "ĠJul": 10263, + "Ġring": 10264, + ".ed": 10265, + "YY": 10266, + "Let": 10267, + "TextField": 10268, + "Ġflat": 10269, + "_print": 10270, + "ĠOTHER": 10271, + "adian": 10272, + "Ġchecked": 10273, + "ele": 10274, + "Align": 10275, + "standing": 10276, + "Ġ[],": 10277, + "Ġlab": 10278, + "ucky": 10279, + "ĠChristmas": 10280, + "(image": 10281, + ".module": 10282, + "Ġlots": 10283, + "Ġslightly": 10284, + "(final": 10285, + "erge": 10286, + "è¿": 10287, + "147": 10288, + "ĠPolice": 10289, + "143": 10290, + "ĠRight": 10291, + "Ġaward": 10292, + "ĠOS": 10293, + "Ġ{}ĊĊ": 10294, + "Ġptr": 10295, + "oves": 10296, + "icated": 10297, + "ем": 10298, + "Ġmanage": 10299, + "oliday": 10300, + "Amount": 10301, + "oolStrip": 10302, + "tbody": 10303, + "Nav": 10304, + "wrap": 10305, + "BB": 10306, + "Ġwatching": 10307, + "arios": 10308, + "Ġoptional": 10309, + "_K": 10310, + "ĠLicensed": 10311, + ".Map": 10312, + "Timer": 10313, + "ĠAP": 10314, + "ĠRev": 10315, + "(o": 10316, + ",c": 10317, + "umin": 10318, + "etailed": 10319, + "ĠHy": 10320, + "Ġblank": 10321, + "agger": 10322, + "ĠSelf": 10323, + "()[": 10324, + ".make": 10325, + "earn": 10326, + "channel": 10327, + ";Ċ": 10342, + "World": 10343, + "Ġpython": 10344, + "Ġlif": 10345, + "Ġtrav": 10346, + "Ġconven": 10347, + "company": 10348, + "ĠClub": 10349, + "138": 10350, + "Ver": 10351, + "Btn": 10352, + "Ġzone": 10353, + "products": 10354, + "ĠEduc": 10355, + "Ġverify": 10356, + "ĠMil": 10357, + "ono": 10358, + "]);ĊĊ": 10359, + "ENCE": 10360, + "Ġpacket": 10361, + "Ġcer": 10362, + "Ġenumer": 10363, + "Ġpars": 10364, + "formed": 10365, + "Ġoccup": 10366, + "tre": 10367, + "Ġexercise": 10368, + "Day": 10369, + "_sum": 10370, + "Ġasking": 10371, + "aption": 10372, + "Ġorders": 10373, + "Ġspending": 10374, + "ĠERR": 10375, + ".Dis": 10376, + "ĠUtil": 10377, + "âĢľI": 10378, + "\\'": 10379, + "?)": 10380, + "/>Ċ": 10381, + "Ġemot": 10382, + "Ġinfluence": 10383, + "ĠAfrica": 10384, + "atters": 10385, + "Ùħ": 10386, + ".session": 10387, + "Ġchief": 10388, + "ĉĉĉĉĉĉĉĉĉĉĉ": 10389, + "Ġtom": 10390, + "cluded": 10391, + "serial": 10392, + "_handler": 10393, + ".Type": 10394, + "aped": 10395, + "Ġpolicies": 10396, + "-ex": 10397, + "-tr": 10398, + "blank": 10399, + "merce": 10400, + "Ġcoverage": 10401, + "Ġrc": 10402, + "_matrix": 10403, + "_box": 10404, + "Ġcharges": 10405, + "ĠBoston": 10406, + "Pe": 10407, + "Ġcircum": 10408, + "Ġfilled": 10409, + "148": 10410, + "Ġnorth": 10411, + "ictureBox": 10412, + "ĉres": 10413, + "è®": 10414, + "Ġtermin": 10415, + "Ġ[â̦": 10416, + "IRECT": 10417, + "Ġber": 10418, + "Ġ\"../../": 10419, + "retch": 10420, + ".code": 10421, + "_col": 10422, + "ĠGovernment": 10423, + "Ġargv": 10424, + "ĠLord": 10425, + "asi": 10426, + "Exec": 10427, + "ĉlet": 10428, + "vertis": 10429, + "Ġdiscussion": 10430, + "enance": 10431, + "outube": 10432, + "typeof": 10433, + "Ġserved": 10434, + "ĠPut": 10435, + "ĉx": 10436, + "Ġsweet": 10437, + "Before": 10438, + "ategy": 10439, + ".of": 10440, + "ĠMaterial": 10441, + "Sort": 10442, + "ONT": 10443, + "igital": 10444, + "Why": 10445, + "Ġsust": 10446, + "Ġç": 10447, + "abet": 10448, + "Ġsegment": 10449, + "Ġ[],Ċ": 10450, + "ĠMuslim": 10451, + "ĠfindViewById": 10452, + "cut": 10453, + "_TEXT": 10454, + "ĠMary": 10455, + "Ġloved": 10456, + "Ġlie": 10457, + "ĠJO": 10458, + "Ġisset": 10459, + "month": 10460, + "Ġprime": 10461, + "ti": 10462, + "ĠCarol": 10463, + "Use": 10464, + "146": 10465, + "ĠPop": 10466, + "ĠSave": 10467, + "Interval": 10468, + "execute": 10469, + "dy": 10470, + "ĠIran": 10471, + "_cont": 10472, + "ĉT": 10473, + "Ġphase": 10474, + "checkbox": 10475, + "week": 10476, + "Ġhide": 10477, + "Ġtil": 10478, + "Ġju": 10479, + "Custom": 10480, + "burg": 10481, + "/M": 10482, + "TON": 10483, + "Ġquant": 10484, + "Ġrub": 10485, + "ixels": 10486, + "Ġinstalled": 10487, + "Ġdump": 10488, + "Ġproperly": 10489, + "(List": 10490, + "Ġdecide": 10491, + "apply": 10492, + "Has": 10493, + "Ġkeeping": 10494, + "Ġcitizens": 10495, + "Ġjoint": 10496, + "pool": 10497, + "Socket": 10498, + "_op": 10499, + "Ġweapon": 10500, + "gnore": 10501, + "ĠExec": 10502, + "otten": 10503, + "ĠMS": 10504, + "Ġ(-": 10505, + "ĠReview": 10506, + "Ġexamples": 10507, + "Ġtight": 10508, + "!(": 10509, + "DP": 10510, + "ĠMessageBox": 10511, + "Ġphotograph": 10512, + "164": 10513, + "URI": 10514, + "ét": 10515, + "low": 10516, + "ĠGrand": 10517, + ".persistence": 10518, + "Ġmaintain": 10519, + "Ġnums": 10520, + "Ġzip": 10521, + "ials": 10522, + "ĠGets": 10523, + "peg": 10524, + "ĠBuffer": 10525, + "~~~~": 10526, + "rastructure": 10527, + "ĠPL": 10528, + "uen": 10529, + "obby": 10530, + "sizeof": 10531, + "Ġpic": 10532, + "Ġseed": 10533, + "Ġexperienced": 10534, + "Ġodd": 10535, + "Ġkick": 10536, + "Ġprocedure": 10537, + "avigator": 10538, + "-on": 10539, + ",j": 10540, + "ĠAlthough": 10541, + "ĠuserId": 10542, + "accept": 10543, + "Blue": 10544, + "IColor": 10545, + "layer": 10546, + "available": 10547, + "Ġends": 10548, + ".table": 10549, + "Ġdataset": 10550, + "bus": 10551, + "Ġexplain": 10552, + "(pro": 10553, + "ĠCommittee": 10554, + "Ġnoted": 10555, + "]:Ċ": 10556, + "Dim": 10557, + "stdio": 10558, + "154": 10559, + ".\",Ċ": 10560, + "_source": 10561, + "181": 10562, + "ĠWeek": 10563, + "ĠEdge": 10564, + "Ġoperating": 10565, + "Ġeste": 10566, + "ipl": 10567, + "330": 10568, + "agination": 10569, + "Ġproceed": 10570, + "Ġanimation": 10571, + ".Models": 10572, + "ĠWatch": 10573, + "iat": 10574, + "Ġoppon": 10575, + "/A": 10576, + "Report": 10577, + "Ġsounds": 10578, + "_buf": 10579, + "IELD": 10580, + "Ġbund": 10581, + "ĉget": 10582, + ".pr": 10583, + "(tmp": 10584, + "Ġkid": 10585, + ">ĊĊĊ": 10586, + "Ġyang": 10587, + "NotFound": 10588, + "ÑĨ": 10589, + "math": 10590, + "@gmail": 10591, + "ĠLIMIT": 10592, + "redients": 10593, + "Ġvent": 10594, + "avigate": 10595, + "Look": 10596, + "Ġreligious": 10597, + "Ġrand": 10598, + "rio": 10599, + "(GL": 10600, + "_ip": 10601, + "uan": 10602, + "iciency": 10603, + "ĠChange": 10604, + ">čĊčĊ": 10605, + "ĠEntity": 10606, + "Ġrencontre": 10607, + "ĠRet": 10608, + "plan": 10609, + "én": 10610, + "BOOL": 10611, + "uries": 10612, + "train": 10613, + "Definition": 10614, + "============": 10615, + "zz": 10616, + "450": 10617, + "Animation": 10618, + "ĠOK": 10619, + "_menu": 10620, + ".bl": 10621, + "_score": 10622, + "Ġacad": 10623, + "(System": 10624, + "Ġrefresh": 10625, + "'=>$": 10626, + ".Graphics": 10627, + "amento": 10628, + "pid": 10629, + "tc": 10630, + "Ġtips": 10631, + "Ġhomes": 10632, + "Ġfuel": 10633, + "âĸ": 10634, + "_helper": 10635, + "ĠĠčĊ": 10636, + "ĠRoom": 10637, + ".Close": 10638, + "_attr": 10639, + "ĠMount": 10640, + "ĠEv": 10641, + "arser": 10642, + "_top": 10643, + "eah": 10644, + "ĠDelete": 10645, + "ãĢį": 10646, + "uke": 10647, + "Ġusage": 10648, + "aria": 10649, + "_dev": 10650, + "Ġtexture": 10651, + "Ġconversation": 10652, + "eper": 10653, + "Bean": 10654, + "done": 10655, + "nonatomic": 10656, + "ĠSecond": 10657, + "Ġshooting": 10658, + "_pre": 10659, + "Components": 10660, + "Ġ]ĊĊ": 10661, + "__,": 10662, + "stitution": 10663, + ".Char": 10664, + ">();ĊĊ": 10665, + "Ġpresented": 10666, + "Ġwa": 10667, + "oker": 10668, + "-ĊĊ": 10669, + "iner": 10670, + "Ġbecoming": 10671, + "Ġincident": 10672, + "Att": 10673, + "162": 10674, + "Ġrevealed": 10675, + "forc": 10676, + "Ġboot": 10677, + ".page": 10678, + "Enumerator": 10679, + "165": 10680, + "_->": 10681, + "Photo": 10682, + "Ġspring": 10683, + ".\",": 10684, + "ĠDictionary": 10685, + "BJECT": 10686, + "Ġlocations": 10687, + "Ġsamples": 10688, + "InputStream": 10689, + "ĠBrown": 10690, + "Ġstats": 10691, + "quality": 10692, + "Ñħ": 10693, + "-dis": 10694, + "Ġhelping": 10695, + "Ġped": 10696, + "224": 10697, + "(se": 10698, + "ĠWho": 10699, + "alian": 10700, + "internal": 10701, + "Ġft": 10702, + ">().": 10703, + "->{": 10704, + "Ġmine": 10705, + "Ġsector": 10706, + "Ġgro": 10707, + "Ġopportunities": 10708, + "Ġü": 10709, + "Ġmp": 10710, + "Ġalleged": 10711, + "Ġdoubt": 10712, + "Mouse": 10713, + "About": 10714, + "_part": 10715, + "Ġchair": 10716, + "Ġstopped": 10717, + "161": 10718, + "loop": 10719, + "entities": 10720, + "Ġapps": 10721, + "ansion": 10722, + "Ġmental": 10723, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 10724, + "FR": 10725, + "Ġdefend": 10726, + "care": 10727, + "Ġideal": 10728, + "/api": 10729, + "urface": 10730, + "011": 10731, + "Ġele": 10732, + "ulator": 10733, + "ĠRights": 10734, + "anguages": 10735, + "Ġfunds": 10736, + "Ġadapt": 10737, + "Attributes": 10738, + "Ġdeploy": 10739, + "opts": 10740, + "Ġvalidation": 10741, + "Ġconcerns": 10742, + "uce": 10743, + ".num": 10744, + "ulture": 10745, + "ila": 10746, + "Ġcup": 10747, + "Ġpure": 10748, + ".Fore": 10749, + "183": 10750, + "ĠHashMap": 10751, + ".valueOf": 10752, + "asm": 10753, + "MO": 10754, + "Ġcs": 10755, + "Ġstores": 10756, + "Ġ************************************************************************": 10757, + "Ġcommunication": 10758, + "mem": 10759, + ".EventHandler": 10760, + ".Status": 10761, + "_right": 10762, + ".setOn": 10763, + "Sheet": 10764, + "Ġidentify": 10765, + "enerated": 10766, + "ordered": 10767, + "Ġ\"[": 10768, + "Ġswe": 10769, + "Condition": 10770, + "ĠAccording": 10771, + "Ġprepare": 10772, + "Ġrob": 10773, + "Pool": 10774, + "Ġsport": 10775, + "rv": 10776, + "ĠRouter": 10777, + "Ġalternative": 10778, + "([]": 10779, + "ĠChicago": 10780, + "ipher": 10781, + "ische": 10782, + "ĠDirector": 10783, + "kl": 10784, + "ĠWil": 10785, + "keys": 10786, + "Ġmysql": 10787, + "Ġwelcome": 10788, + "king": 10789, + "ĠManager": 10790, + "Ġcaught": 10791, + ")}Ċ": 10792, + "Score": 10793, + "_PR": 10794, + "Ġsurvey": 10795, + "hab": 10796, + "Headers": 10797, + "ADER": 10798, + "Ġdecor": 10799, + "Ġturns": 10800, + "Ġradius": 10801, + "errupt": 10802, + "Cor": 10803, + "Ġmel": 10804, + "Ġintr": 10805, + "(q": 10806, + "ĠAC": 10807, + "amos": 10808, + "MAX": 10809, + "ĠGrid": 10810, + "ĠJesus": 10811, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 10812, + ".DE": 10813, + "Ġts": 10814, + "Ġlinked": 10815, + "free": 10816, + "ĠQt": 10817, + "Ġ/**čĊ": 10818, + "Ġfaster": 10819, + "ctr": 10820, + "_J": 10821, + "DT": 10822, + ".Check": 10823, + "Ġcombination": 10824, + "Ġintended": 10825, + "-the": 10826, + "-type": 10827, + "182": 10828, + "ectors": 10829, + "ami": 10830, + "uting": 10831, + "Ġuma": 10832, + "XML": 10833, + "UCT": 10834, + "Ap": 10835, + "ĠRandom": 10836, + "Ġran": 10837, + ".sort": 10838, + "Ġsorted": 10839, + ".Un": 10840, + "401": 10841, + "_PER": 10842, + "itory": 10843, + "Ġpriority": 10844, + "ĠGal": 10845, + "ĠOld": 10846, + "hot": 10847, + "ĠDisplay": 10848, + "(sub": 10849, + "_TH": 10850, + "_Y": 10851, + "ĠCare": 10852, + "loading": 10853, + "Kind": 10854, + "_handle": 10855, + ",,": 10856, + "rase": 10857, + "_replace": 10858, + ".addEventListener": 10859, + "ĠRT": 10860, + "172": 10861, + "Ġentered": 10862, + "gers": 10863, + "Ġich": 10864, + "(start": 10865, + "205": 10866, + "/app": 10867, + "Ġbrother": 10868, + "Memory": 10869, + "Outlet": 10870, + "Ġutf": 10871, + "prec": 10872, + "Ġnavigation": 10873, + "ORK": 10874, + "Ġdst": 10875, + "Detail": 10876, + "Ġaudience": 10877, + "Ġdur": 10878, + "Ġcluster": 10879, + "unched": 10880, + "Ġ],": 10881, + "Ġcomfortable": 10882, + ".values": 10883, + "ĠTotal": 10884, + "Ġsnap": 10885, + "Ġstandards": 10886, + "Ġperformed": 10887, + "hand": 10888, + "(\"@": 10889, + "åŃ": 10890, + "Ġphil": 10891, + "ibr": 10892, + "trim": 10893, + "Ġforget": 10894, + "157": 10895, + "Ġdoctor": 10896, + ".TextBox": 10897, + "377": 10898, + "icons": 10899, + ",s": 10900, + "ĠOp": 10901, + "Sm": 10902, + "Stop": 10903, + "ĉList": 10904, + "ĉu": 10905, + "Comment": 10906, + "_VERSION": 10907, + ".Xtra": 10908, + "Person": 10909, + "rb": 10910, + "LOB": 10911, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 10912, + "ĠCentral": 10913, + "270": 10914, + "ICK": 10915, + "raq": 10916, + "Ġputting": 10917, + "Ġmd": 10918, + "ĠLove": 10919, + "Program": 10920, + "Border": 10921, + "oor": 10922, + "Ġallowing": 10923, + "after": 10924, + "Ġentries": 10925, + "ĠMaybe": 10926, + "]).": 10927, + "ĠShort": 10928, + ")\\": 10929, + ".now": 10930, + "friend": 10931, + "Ġprefer": 10932, + "ĠGPIO": 10933, + "osis": 10934, + "ĠGameObject": 10935, + "Ġskip": 10936, + "Ġcompetition": 10937, + "_match": 10938, + "lications": 10939, + "_CONT": 10940, + ".groupBox": 10941, + "Ġals": 10942, + "666": 10943, + "\"We": 10944, + "_eq": 10945, + "lan": 10946, + "_search": 10947, + "ĠMusic": 10948, + "asis": 10949, + "Ġbind": 10950, + "ĠIsland": 10951, + "rum": 10952, + "(E": 10953, + "Ġseat": 10954, + "Video": 10955, + "Ġack": 10956, + "reek": 10957, + "={()": 10958, + "Ġrating": 10959, + "Ġrestaurant": 10960, + "456": 10961, + "DEX": 10962, + "(buf": 10963, + "pping": 10964, + "uality": 10965, + "Ġleague": 10966, + "176": 10967, + "Ġfocused": 10968, + "apon": 10969, + "$data": 10970, + "CLUD": 10971, + "CLUDING": 10972, + "Ġabsolute": 10973, + "(query": 10974, + "Ġtells": 10975, + "Ang": 10976, + "Ġcommunities": 10977, + "Ġhonest": 10978, + "oking": 10979, + "Ġapart": 10980, + "arity": 10981, + "/$": 10982, + "_module": 10983, + "ĠEnc": 10984, + ".an": 10985, + ".Config": 10986, + "Cre": 10987, + "Ġshock": 10988, + "ĠArab": 10989, + "IENT": 10990, + "/re": 10991, + "Ġretrie": 10992, + "ycler": 10993, + "isa": 10994, + "ĠOrgan": 10995, + ".graph": 10996, + "Ġí": 10997, + "ĠBAS": 10998, + "Enum": 10999, + "Ġpossibly": 11000, + "ÑĢаÐ": 11001, + "ĠJapanese": 11002, + "Ġcraft": 11003, + "ĠPlace": 11004, + "Ġtalent": 11005, + "Ġfunding": 11006, + "Ġconfirmed": 11007, + "Ġcycle": 11008, + "/x": 11009, + "GE": 11010, + "Ġhearing": 11011, + "Ġplants": 11012, + "Ġmouth": 11013, + "pages": 11014, + "oria": 11015, + "ĠRemove": 11016, + "_total": 11017, + "Ġod": 11018, + "ollapse": 11019, + "door": 11020, + "Ġbought": 11021, + "Ġaddr": 11022, + "ARCH": 11023, + "_dim": 11024, + "dden": 11025, + "Ġdecades": 11026, + "REQUEST": 11027, + "Ġversions": 11028, + "fire": 11029, + "006": 11030, + "Ġmoves": 11031, + "fb": 11032, + "Ġcoffee": 11033, + ".connect": 11034, + "ĠRow": 11035, + "Ġschema": 11036, + "Scope": 11037, + "-Type": 11038, + "Ġfighting": 11039, + "Ġretail": 11040, + "Ġmodified": 11041, + "TF": 11042, + "Files": 11043, + "nie": 11044, + "_command": 11045, + "stone": 11046, + "ĠÑĤ": 11047, + "_thread": 11048, + "Ġbond": 11049, + "ĠDevelopment": 11050, + "Ġpt": 11051, + "FORM": 11052, + "plet": 11053, + "Ġidentified": 11054, + "cpp": 11055, + "206": 11056, + "225": 11057, + "Ġcoding": 11058, + "oked": 11059, + "ĠMaster": 11060, + "IDTH": 11061, + "Ġresidents": 11062, + "redit": 11063, + "ĠPhoto": 11064, + "=-": 11065, + "unte": 11066, + "ateur": 11067, + "159": 11068, + "_STATE": 11069, + "ĠSing": 11070, + "Ġsheet": 11071, + ".val": 11072, + "orse": 11073, + "Ġhers": 11074, + "Ġdetermined": 11075, + "Common": 11076, + "Ġwed": 11077, + "_queue": 11078, + "PH": 11079, + "ĠAtl": 11080, + "cred": 11081, + "/LICENSE": 11082, + "Ġmes": 11083, + "Ġadvanced": 11084, + ".java": 11085, + ".Sh": 11086, + "Go": 11087, + "kill": 11088, + "fp": 11089, + "_settings": 11090, + "Ġpal": 11091, + "Ġtruck": 11092, + "Ġcombined": 11093, + "Ġ\"${": 11094, + "ĠCorpor": 11095, + "Ġjoined": 11096, + "ĠJose": 11097, + "ĠCup": 11098, + "uns": 11099, + "estival": 11100, + "levision": 11101, + "Ġbroken": 11102, + "Ġmarriage": 11103, + "ĠWestern": 11104, + "Ġrepresents": 11105, + "ĠTitle": 11106, + "Ġss": 11107, + ".Ass": 11108, + "ongoose": 11109, + "iento": 11110, + "<>();Ċ": 11111, + "Ġabsolutely": 11112, + "Ġsmooth": 11113, + "TERN": 11114, + "ĠUnless": 11115, + "Word": 11116, + "Ġmerge": 11117, + "igan": 11118, + "ĠVol": 11119, + "Ġnn": 11120, + ".getId": 11121, + "Ġз": 11122, + "171": 11123, + "Ġsexy": 11124, + "Ġseeking": 11125, + "Single": 11126, + ".this": 11127, + "179": 11128, + "Ġkom": 11129, + "bound": 11130, + ";\"": 11131, + "ĠfontSize": 11132, + "_df": 11133, + "Ġinjury": 11134, + "(H": 11135, + "Ġissued": 11136, + "_END": 11137, + ":self": 11138, + "020": 11139, + "Ġpatch": 11140, + "Ġleaves": 11141, + "Ġadopt": 11142, + "FileName": 11143, + "ãĢIJ": 11144, + "Ġexecutive": 11145, + "ĠByte": 11146, + "]))Ċ": 11147, + "Ġnu": 11148, + "outing": 11149, + "cluding": 11150, + "-R": 11151, + ".options": 11152, + "Ġsubstant": 11153, + "avax": 11154, + "ĠBUT": 11155, + "Ġtechnical": 11156, + "Ġtwice": 11157, + "Ġmás": 11158, + "Ġunivers": 11159, + "yr": 11160, + "Ġdrag": 11161, + "ĠDC": 11162, + "Ġsed": 11163, + "Ġbot": 11164, + "ĠPal": 11165, + "ĠHall": 11166, + "forcement": 11167, + "Ġauch": 11168, + ".mod": 11169, + "notation": 11170, + "_files": 11171, + ".line": 11172, + "_flag": 11173, + "[name": 11174, + "Ġresolution": 11175, + "Ġbott": 11176, + "(\"[": 11177, + "ende": 11178, + "(arr": 11179, + "Free": 11180, + "(@\"": 11181, + "ĠDistrict": 11182, + "PEC": 11183, + ":-": 11184, + "Picker": 11185, + "ĠJo": 11186, + "ĠĠĠĠĠĊ": 11187, + "ĠRiver": 11188, + "_rows": 11189, + "Ġhelpful": 11190, + "Ġmassive": 11191, + "---Ċ": 11192, + "Ġmeasures": 11193, + "007": 11194, + "ĠRuntime": 11195, + "Ġworry": 11196, + "ĠSpec": 11197, + "ĉD": 11198, + "ãĢij": 11199, + "Ġ){Ċ": 11200, + "Ġworse": 11201, + "(filename": 11202, + "Ġlay": 11203, + "Ġmagic": 11204, + "ĠTheir": 11205, + "oul": 11206, + "stroy": 11207, + "ĠWhere": 11208, + "280": 11209, + "Ġsudden": 11210, + "Ġdefe": 11211, + "Ġbinding": 11212, + "Ġflight": 11213, + "ĠOnInit": 11214, + "ĠWomen": 11215, + "ĠPolicy": 11216, + "Ġdrugs": 11217, + "ishing": 11218, + "('../": 11219, + "ĠMel": 11220, + "peat": 11221, + "tor": 11222, + "Ġproposed": 11223, + "Ġstated": 11224, + "_RES": 11225, + "Ġeast": 11226, + "212": 11227, + "ĠCONDITION": 11228, + "_desc": 11229, + "Ġwinning": 11230, + "folio": 11231, + "Mapper": 11232, + "ĠPan": 11233, + "ĠAnge": 11234, + ".servlet": 11235, + "Ġcopies": 11236, + "LM": 11237, + "Ġvm": 11238, + "åį": 11239, + "Ġdictionary": 11240, + "Seg": 11241, + "177": 11242, + "elines": 11243, + "ĠSend": 11244, + "Ġiron": 11245, + "ĠFort": 11246, + "166": 11247, + ".domain": 11248, + "Ġdebate": 11249, + "NotNull": 11250, + "eq": 11251, + "acher": 11252, + "lf": 11253, + "ĉfmt": 11254, + "Ġlawy": 11255, + "178": 11256, + "ÄŁ": 11257, + "ĠMen": 11258, + "Ġtrim": 11259, + "(NULL": 11260, + "Ġ!!": 11261, + "Ġpad": 11262, + "Ġfollows": 11263, + "\"][\"": 11264, + "requ": 11265, + "ĠEp": 11266, + ".github": 11267, + "(img": 11268, + "eto": 11269, + "('\\": 11270, + "Services": 11271, + "umbnail": 11272, + "_main": 11273, + "pleted": 11274, + "fortunately": 11275, + "Ġwindows": 11276, + "Ġplane": 11277, + "ĠConnection": 11278, + ".local": 11279, + "uard": 11280, + "}\\": 11281, + "==\"": 11282, + "andon": 11283, + "ĠRoy": 11284, + "west": 11285, + "158": 11286, + "iginal": 11287, + "emies": 11288, + "itz": 11289, + "'):Ċ": 11290, + "ĠPeter": 11291, + "Ġtough": 11292, + "Ġreduced": 11293, + "Ġcalculate": 11294, + "Ġrapid": 11295, + "customer": 11296, + "Ġefficient": 11297, + "Ġmedium": 11298, + "Ġfell": 11299, + ".ref": 11300, + "ĠCas": 11301, + "Ġfeedback": 11302, + "Speed": 11303, + "(output": 11304, + "aje": 11305, + "Ġcategories": 11306, + "Ġfee": 11307, + "};": 11308, + "Ġdeleted": 11309, + "reh": 11310, + "Ġproof": 11311, + "Desc": 11312, + "Build": 11313, + "Ġsides": 11314, + ".ArrayList": 11315, + "-%": 11316, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 11317, + "ر": 11318, + ".match": 11319, + "ли": 11320, + "Ġfeels": 11321, + "Ġachieve": 11322, + "Ġclim": 11323, + "_ON": 11324, + "ĠCD": 11325, + "Ġteacher": 11326, + "_current": 11327, + "bn": 11328, + "_PL": 11329, + "isting": 11330, + "Enable": 11331, + "GEN": 11332, + "Ġtv": 11333, + "Ġsock": 11334, + "Ġplays": 11335, + "Ġdiscount": 11336, + "ĠKE": 11337, + "ĠDebug": 11338, + "Fore": 11339, + "ĠIraq": 11340, + "Ġappearance": 11341, + "Mon": 11342, + "Ġstyled": 11343, + "ĠHuman": 11344, + "iot": 11345, + "ĠHistory": 11346, + "Ġsac": 11347, + "ĠCollection": 11348, + "Ġrecommended": 11349, + ".Selected": 11350, + "Ġorganizations": 11351, + "Ġdiscovered": 11352, + "cohol": 11353, + "adas": 11354, + "ĠThomas": 11355, + "May": 11356, + "Ġconserv": 11357, + "Ġdomin": 11358, + "ĠFollow": 11359, + "ĠSection": 11360, + "ĠThanks": 11361, + "Username": 11362, + "Ġrecipe": 11363, + "Ġwonderful": 11364, + ".sleep": 11365, + "_if": 11366, + "ĉĊĉĊ": 11367, + "orno": 11368, + "Ġru": 11369, + "_target": 11370, + ".\"\"": 11371, + "à¦": 11372, + "EventArgs": 11373, + "Ġinputs": 11374, + "Ġfif": 11375, + "Ġvision": 11376, + "cy": 11377, + "ĠSeries": 11378, + ")(((": 11379, + "Ġtrading": 11380, + "Ġmarker": 11381, + "Begin": 11382, + "Ġtypically": 11383, + "Ġcauses": 11384, + "dropdown": 11385, + "_DEBUG": 11386, + "260": 11387, + "Ġdetect": 11388, + "country": 11389, + "!\");Ċ": 11390, + "ĉR": 11391, + "appy": 11392, + "Ġcref": 11393, + "('<": 11394, + "\"=>": 11395, + "ĠLE": 11396, + "reader": 11397, + "Ġadministr": 11398, + "õ": 11399, + "ucket": 11400, + "Ġfashion": 11401, + ".char": 11402, + "izar": 11403, + "Ġdisable": 11404, + "Ġsuc": 11405, + "ĠLive": 11406, + "issue": 11407, + "Ġmetadata": 11408, + "flags": 11409, + "ĠðŁ": 11410, + "Ġcommitted": 11411, + "Ġva": 11412, + "Ġrough": 11413, + "Ġ'''Ċ": 11414, + "Ġhighlight": 11415, + "_vars": 11416, + "VO": 11417, + "Ġencoding": 11418, + "-Z": 11419, + "_sign": 11420, + "$(\"#": 11421, + "Ġrain": 11422, + "reatest": 11423, + "ĠEND": 11424, + "Selection": 11425, + "Ġcandidates": 11426, + "Ġsav": 11427, + ".Empty": 11428, + "Ġdecisions": 11429, + "Ġcollabor": 11430, + "ridge": 11431, + "feed": 11432, + "ression": 11433, + "Ġpersons": 11434, + "VM": 11435, + "008": 11436, + "ega": 11437, + "_BIT": 11438, + "According": 11439, + "acked": 11440, + "Ġdollars": 11441, + "_loss": 11442, + "ĠCost": 11443, + "}\"Ċ": 11444, + "Notification": 11445, + "Ġprostit": 11446, + "Ġauthority": 11447, + ".rec": 11448, + "Ġspokes": 11449, + "ĠToday": 11450, + "istant": 11451, + "ĠHead": 11452, + "âĢĿ.": 11453, + "ertainment": 11454, + "cean": 11455, + "culate": 11456, + "Ġven": 11457, + "However": 11458, + "_arr": 11459, + "Ġtokens": 11460, + "Graph": 11461, + "ĠJud": 11462, + "ĠVirgin": 11463, + "ĠSerial": 11464, + "unning": 11465, + "Mutable": 11466, + "agers": 11467, + ".csv": 11468, + "Ġdeveloping": 11469, + "Ġinstructions": 11470, + "Ġpromise": 11471, + "Ġrequested": 11472, + "_encode": 11473, + "/\"": 11474, + "ĠIcon": 11475, + "uilt": 11476, + "-day": 11477, + "Ġintelligence": 11478, + ".IS": 11479, + "ĠObservable": 11480, + "ĠHard": 11481, + "Bool": 11482, + "211": 11483, + "idential": 11484, + ".Anchor": 11485, + "Ġselling": 11486, + "CI": 11487, + "AGES": 11488, + "tle": 11489, + "bur": 11490, + "UFFER": 11491, + "RY": 11492, + "Ġbigger": 11493, + "Ġrat": 11494, + "Ġfamous": 11495, + "Ġtypename": 11496, + "Ġexplained": 11497, + "}}Ċ": 11498, + "Ġnuclear": 11499, + "-N": 11500, + "Ġcrisis": 11501, + "ĠEnter": 11502, + "Ġanswers": 11503, + "/${": 11504, + "/pl": 11505, + "Ġsequ": 11506, + "_next": 11507, + "mask": 11508, + "Ġstanding": 11509, + "Ġplenty": 11510, + "ĠCross": 11511, + "ĉret": 11512, + "dro": 11513, + "ĠCast": 11514, + "167": 11515, + "=true": 11516, + "ĠChris": 11517, + "icio": 11518, + "ĠMike": 11519, + "Decimal": 11520, + "addComponent": 11521, + "Len": 11522, + "Ġcock": 11523, + "Ġ#{": 11524, + "URN": 11525, + "": 11657, + "Ġ*=": 11658, + "ĠPS": 11659, + "Ġdangerous": 11660, + "[p": 11661, + "OME": 11662, + "Other": 11663, + "ĠStringBuilder": 11664, + "Points": 11665, + "heading": 11666, + "Ġcurrency": 11667, + "Ġpercentage": 11668, + "_API": 11669, + "Ġclassic": 11670, + "thead": 11671, + "ĠMO": 11672, + "FE": 11673, + "Idx": 11674, + "await": 11675, + "Ġè": 11676, + "Ġaccident": 11677, + "Ġvariant": 11678, + "Ġmyst": 11679, + "ĠLand": 11680, + "ĠBre": 11681, + "Ġharm": 11682, + "ĠAcc": 11683, + "Ġcharged": 11684, + "iones": 11685, + "Visibility": 11686, + "arry": 11687, + "ĠLanguage": 11688, + "Ġwalking": 11689, + "\".ĊĊ": 11690, + "ifer": 11691, + "Ġleadership": 11692, + ".From": 11693, + "ynam": 11694, + "Ġtimestamp": 11695, + "ipt": 11696, + "ĠHas": 11697, + "REFER": 11698, + "ĠIts": 11699, + "Ġlistener": 11700, + "UTE": 11701, + "213": 11702, + "_description": 11703, + "Ġexperiences": 11704, + "Ġcreates": 11705, + "RS": 11706, + "cart": 11707, + "black": 11708, + "Ġchoices": 11709, + "war": 11710, + "750": 11711, + "Ġ'''": 11712, + "Ġordered": 11713, + "Ġevening": 11714, + "Ġpil": 11715, + "Ġtun": 11716, + "ĠBad": 11717, + "(app": 11718, + "random": 11719, + "Ġexplicit": 11720, + "Ġarrived": 11721, + "Ġfly": 11722, + "Ġeconom": 11723, + "-mail": 11724, + "Ġlists": 11725, + "Ġarchitect": 11726, + "234": 11727, + "ĠPay": 11728, + "Ġds": 11729, + "ĠSol": 11730, + "Ġvehicles": 11731, + "Hz": 11732, + "-com": 11733, + "Ġking": 11734, + "_equal": 11735, + "ĠHelp": 11736, + "Ġabuse": 11737, + "480": 11738, + "169": 11739, + "--;Ċ": 11740, + "Ġextr": 11741, + "Ġchemical": 11742, + "ä¿": 11743, + "Ġorient": 11744, + "Ġbreath": 11745, + "ĠSpace": 11746, + "(element": 11747, + "wait": 11748, + "DED": 11749, + "igma": 11750, + "Ġentr": 11751, + "Ġsob": 11752, + "-name": 11753, + "Ġaffected": 11754, + "ika": 11755, + "Ġcoal": 11756, + "_work": 11757, + "Ġhundreds": 11758, + "Ġpolitics": 11759, + "subject": 11760, + "Ġconsumer": 11761, + "ANGE": 11762, + "Ġrepeated": 11763, + "Send": 11764, + "Ġ#[": 11765, + "Ġprotocol": 11766, + "Ġleads": 11767, + "useum": 11768, + "Every": 11769, + "808": 11770, + "174": 11771, + "Import": 11772, + "(count": 11773, + "Ġchallenges": 11774, + "Ġnovel": 11775, + "Ġdepart": 11776, + "bits": 11777, + ".Current": 11778, + "Ġ`${": 11779, + "oting": 11780, + "(\\": 11781, + "Ġcreative": 11782, + "Ġbuff": 11783, + "Ġintroduced": 11784, + "usic": 11785, + "modules": 11786, + "Are": 11787, + "-doc": 11788, + "language": 11789, + "_cache": 11790, + "Ġtod": 11791, + "?>{{": 12026, + "ĠResource": 12027, + "ĠStandard": 12028, + "ĠPrem": 12029, + "updated": 12030, + "ivalent": 12031, + "Ġassets": 12032, + "_temp": 12033, + "Ġinterests": 12034, + "Ġhardware": 12035, + "ĠRom": 12036, + "ĠShare": 12037, + "Ġ''Ċ": 12038, + "Ġ*,": 12039, + "ĠTake": 12040, + "ĠImages": 12041, + "_CHECK": 12042, + "(typeof": 12043, + "ĠJun": 12044, + "\\<^": 12045, + "Ġliqu": 12046, + "Ġworst": 12047, + "ymbols": 12048, + "ĉĉĉĠĠĠ": 12049, + "Ġdrivers": 12050, + "ĠDocument": 12051, + "eno": 12052, + "ĠTechnology": 12053, + "Ġapproved": 12054, + "umps": 12055, + "Ġsnow": 12056, + "formance": 12057, + "_ASSERT": 12058, + "uits": 12059, + "207": 12060, + "ÙĨ": 12061, + "Ġdifferences": 12062, + ".Visible": 12063, + "ĉĉĉčĊ": 12064, + "ĠPs": 12065, + "_fetch": 12066, + "Ġtodo": 12067, + ".',Ċ": 12068, + "Ġsel": 12069, + "urers": 12070, + "invalid": 12071, + "Ġtweet": 12072, + "VEL": 12073, + "Ġresearchers": 12074, + "Ġsprintf": 12075, + "ĠRO": 12076, + "Ġpel": 12077, + ".Trans": 12078, + "Ġillegal": 12079, + "dialog": 12080, + "smarty": 12081, + "lg": 12082, + "_MIN": 12083, + "Ġhero": 12084, + "final": 12085, + "Ġpp": 12086, + ".Le": 12087, + "Ġci": 12088, + "ĉRT": 12089, + "Ġsuggested": 12090, + "pdf": 12091, + "aching": 12092, + "ĠRo": 12093, + "ĠProperties": 12094, + "ĠSi": 12095, + "Ġbuying": 12096, + "Ġmu": 12097, + "Ġlands": 12098, + "ifiers": 12099, + "ĠFILE": 12100, + "ROUP": 12101, + "Ġholder": 12102, + "ĠSon": 12103, + "Ġsympt": 12104, + ".route": 12105, + ")?": 12106, + "Ġargc": 12107, + "Ġfort": 12108, + "Ġcasino": 12109, + "_category": 12110, + "Ġforum": 12111, + "215": 12112, + "prefix": 12113, + "apture": 12114, + "Tube": 12115, + "ems": 12116, + "imize": 12117, + "Ġnue": 12118, + "aus": 12119, + "course": 12120, + "ATOR": 12121, + "()),": 12122, + "Advertis": 12123, + "INGS": 12124, + "Ġacknow": 12125, + "ĠKorea": 12126, + "pling": 12127, + "Ġworker": 12128, + "PLIED": 12129, + "hal": 12130, + "ĠRichard": 12131, + "Elements": 12132, + "ĉĉĉĠ": 12133, + "star": 12134, + "Ġrelationships": 12135, + "Ġcheap": 12136, + "ACH": 12137, + "ĠXML": 12138, + ",&": 12139, + "ĠLouis": 12140, + "Ġride": 12141, + "_FAIL": 12142, + "Ġchunk": 12143, + "[s": 12144, + "_OUT": 12145, + "Ġchosen": 12146, + "_[": 12147, + "/(": 12148, + "ĠJeff": 12149, + "_sl": 12150, + "priv": 12151, + "ĠCanadian": 12152, + "Ġunable": 12153, + "_FLAG": 12154, + "Ġnos": 12155, + "high": 12156, + "Ġlift": 12157, + "fun": 12158, + "(){": 12159, + "elly": 12160, + "yclerView": 12161, + "_as": 12162, + "_LIST": 12163, + "Ġradi": 12164, + ".getValue": 12165, + "304": 12166, + "ĠAngeles": 12167, + "ĠSpan": 12168, + "_instance": 12169, + "itors": 12170, + "208": 12171, + "Ġmigration": 12172, + "AK": 12173, + "Oh": 12174, + "®": 12175, + ".selected": 12176, + "ĠGT": 12177, + "Ġadvance": 12178, + "ĠStyle": 12179, + ".DataGridView": 12180, + "ection": 12181, + "Ñİ": 12182, + "pio": 12183, + "rog": 12184, + "Ġshopping": 12185, + "ĠRect": 12186, + "Illuminate": 12187, + "OU": 12188, + "ĉarray": 12189, + "Ġsubstantial": 12190, + "Ġpregn": 12191, + "Ġpromote": 12192, + "IEW": 12193, + ".Layout": 12194, + "Ġsigns": 12195, + "/.": 12196, + "Ġletters": 12197, + "Board": 12198, + "ctrl": 12199, + "\"\\": 12200, + "ĠJones": 12201, + "Ġvertex": 12202, + "Ġja": 12203, + "Ġaffili": 12204, + "Ġwealth": 12205, + "ĉdefault": 12206, + "Ġsignificantly": 12207, + "Ġec": 12208, + "Ġxs": 12209, + "actual": 12210, + ".per": 12211, + "_step": 12212, + "anvas": 12213, + "mac": 12214, + "Ġtransl": 12215, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 12216, + "Iterator": 12217, + "Ġoch": 12218, + "agnostic": 12219, + "ĠDuring": 12220, + "ĠDEFAULT": 12221, + "Ġtill": 12222, + "Ġsignature": 12223, + "Ġbird": 12224, + "ĠOl": 12225, + "310": 12226, + "ĠIr": 12227, + "HS": 12228, + "avatar": 12229, + "ESSAGE": 12230, + "Ġelev": 12231, + "Ġmt": 12232, + "ĠNav": 12233, + "Ġrelax": 12234, + "Ġplate": 12235, + "ITEM": 12236, + "(date": 12237, + ".not": 12238, + "Ġgrade": 12239, + "Ġ}),Ċ": 12240, + "?\"ĊĊ": 12241, + "iences": 12242, + "High": 12243, + "ĠDIS": 12244, + "231": 12245, + "disabled": 12246, + "QUI": 12247, + "Ġnoise": 12248, + "aux": 12249, + "ĠUP": 12250, + "888": 12251, + "osa": 12252, + "Ġvoc": 12253, + "Ġ))": 12254, + "ocom": 12255, + "_OFF": 12256, + "ĠDb": 12257, + "Lock": 12258, + ".eclipse": 12259, + ",d": 12260, + "ĠDraw": 12261, + "Ġ\"(": 12262, + "Ġvisited": 12263, + "ĠâĪ": 12264, + "Ġsucceed": 12265, + "Ġimpossible": 12266, + "aire": 12267, + "ĠTurn": 12268, + "Ġdish": 12269, + "FG": 12270, + "Ġsensor": 12271, + "ANN": 12272, + "aba": 12273, + "Ġsurg": 12274, + "]);čĊ": 12275, + "Ġfp": 12276, + "_an": 12277, + "-J": 12278, + "-G": 12279, + "ĠJob": 12280, + "Convert": 12281, + "ĠKEY": 12282, + "Ġauthors": 12283, + "_server": 12284, + "\\r": 12285, + "Ġ-*-": 12286, + "flex": 12287, + "Ġsoc": 12288, + "Ret": 12289, + "Ġsalt": 12290, + "Ġâ̦ĊĊ": 12291, + "ĠClear": 12292, + "(page": 12293, + "-danger": 12294, + "Ġrooms": 12295, + "conv": 12296, + "#{": 12297, + ".op": 12298, + "ĠArea": 12299, + "_SC": 12300, + "hen": 12301, + "Ġbegins": 12302, + "-y": 12303, + "Ġexcited": 12304, + "Ġignored": 12305, + "Ġbonus": 12306, + "student": 12307, + "ĠMember": 12308, + "Ġrelatively": 12309, + "ĠLow": 12310, + "ĠProdu": 12311, + "ateway": 12312, + "posure": 12313, + "Ġthick": 12314, + "aniel": 12315, + "(view": 12316, + "ĠCrush": 12317, + "Extension": 12318, + "Il": 12319, + "eed": 12320, + "LOC": 12321, + ".im": 12322, + ".Items": 12323, + "Ġconflict": 12324, + ".prevent": 12325, + "252": 12326, + "ĠonCreate": 12327, + "uv": 12328, + "iser": 12329, + "Ġwave": 12330, + "Mar": 12331, + "ĠCommunity": 12332, + "iche": 12333, + "ĠNothing": 12334, + "[m": 12335, + "ĠLee": 12336, + "riends": 12337, + "232": 12338, + "ère": 12339, + "!!!": 12340, + "anz": 12341, + ".result": 12342, + "ĠSK": 12343, + "_PARAM": 12344, + "Ġdemocr": 12345, + "BackColor": 12346, + ".exists": 12347, + "\"It": 12348, + "(options": 12349, + "razy": 12350, + "aser": 12351, + "\\Database": 12352, + "alendar": 12353, + "_ass": 12354, + ";}Ċ": 12355, + "vertex": 12356, + "inecraft": 12357, + "Warning": 12358, + "argo": 12359, + "Ġactor": 12360, + "ĠInstead": 12361, + "ĠUsing": 12362, + "Self": 12363, + "@interface": 12364, + "Ġspeaking": 12365, + "ĠParis": 12366, + "ĠLICENSE": 12367, + ".node": 12368, + "ĠFood": 12369, + "EIF": 12370, + "ĠBi": 12371, + ".Start": 12372, + "ĠIB": 12373, + "Ġuniversity": 12374, + "254": 12375, + "ĠHeader": 12376, + ".product": 12377, + "409": 12378, + "Copy": 12379, + "etc": 12380, + "rical": 12381, + "Ġ>>>": 12382, + "books": 12383, + "Ġalgorithm": 12384, + "Ġ'__": 12385, + "(javax": 12386, + "Ġnumerous": 12387, + "Share": 12388, + "Have": 12389, + "Ġrecru": 12390, + "Ġprove": 12391, + ".substring": 12392, + "health": 12393, + "ел": 12394, + "Ġdecimal": 12395, + "Ġcommission": 12396, + "scription": 12397, + "xC": 12398, + "Ġsummary": 12399, + "atted": 12400, + "Ġcloser": 12401, + "finished": 12402, + "()){Ċ": 12403, + "ĠWood": 12404, + "301": 12405, + "_fields": 12406, + "ku": 12407, + "_items": 12408, + "Flag": 12409, + "Ġconfidence": 12410, + "ĠFederal": 12411, + "dux": 12412, + "Ġcompat": 12413, + "Ġvertical": 12414, + "й": 12415, + "ès": 12416, + ";\">Ċ": 12417, + "_manager": 12418, + "()))Ċ": 12419, + "IDE": 12420, + ":\",": 12421, + "235": 12422, + "__Ċ": 12423, + "ĠWay": 12424, + "221": 12425, + "ÑĪ": 12426, + "Temp": 12427, + "ĠSTR": 12428, + "ritten": 12429, + "Sync": 12430, + "ĠAV": 12431, + "ĠCEO": 12432, + "ĠGuid": 12433, + "Ġenvironmental": 12434, + "Ġcorresponding": 12435, + "ĉconsole": 12436, + "Ġjustice": 12437, + "ĠJS": 12438, + "Ġlived": 12439, + "gar": 12440, + "ĠGraph": 12441, + "ĠStat": 12442, + "ĠiPhone": 12443, + ".al": 12444, + "ĠHD": 12445, + "Ġoccur": 12446, + "Ġthreshold": 12447, + "509": 12448, + "Ġonclick": 12449, + "REG": 12450, + ".GraphicsUnit": 12451, + "Meta": 12452, + "ž": 12453, + "Ġcum": 12454, + ".gnu": 12455, + "ë": 12456, + "Ġobtained": 12457, + "Ġcomplaint": 12458, + "Ġeating": 12459, + "Ġtar": 12460, + "_task": 12461, + "Ġopts": 12462, + "216": 12463, + "(to": 12464, + "Pass": 12465, + "Ġplastic": 12466, + "tility": 12467, + "ĠWin": 12468, + ".preventDefault": 12469, + "pile": 12470, + "ĠGar": 12471, + "Ġquantity": 12472, + "_last": 12473, + "Ġgreatest": 12474, + "Dao": 12475, + "_DIS": 12476, + "ĠUsed": 12477, + "ĠHP": 12478, + "riting": 12479, + "SION": 12480, + "blue": 12481, + "domain": 12482, + "Ġscores": 12483, + "Normal": 12484, + "_admin": 12485, + "ĠASSERT": 12486, + "Then": 12487, + "***": 12488, + "dist": 12489, + "lon": 12490, + "Ġhate": 12491, + "shal": 12492, + "ImageView": 12493, + "database": 12494, + "Ġpand": 12495, + "Ġlogic": 12496, + "=false": 12497, + "bg": 12498, + "ĠConfiguration": 12499, + "Ġnur": 12500, + "OG": 12501, + "Ġmarried": 12502, + ":+": 12503, + "Ġdropped": 12504, + "040": 12505, + "Ġregistration": 12506, + "ом": 12507, + "ultiple": 12508, + "izers": 12509, + "shape": 12510, + ".copy": 12511, + "Ġwearing": 12512, + "ĠCath": 12513, + "Ġdedicated": 12514, + "Ġ...Ċ": 12515, + "Ġadvoc": 12516, + "ĠFamily": 12517, + "Ġstatements": 12518, + "ematic": 12519, + "ampionship": 12520, + "Ġmotiv": 12521, + "ĠHave": 12522, + "Ġblow": 12523, + "Job": 12524, + "cert": 12525, + "_vector": 12526, + "install": 12527, + "ĠCOPY": 12528, + "embed": 12529, + "DIR": 12530, + "ĠSpring": 12531, + "Ġexhib": 12532, + "223": 12533, + "cdn": 12534, + "ĠComment": 12535, + "ĠOptional": 12536, + ".player": 12537, + "ĠDark": 12538, + "(pos": 12539, + "ĠShould": 12540, + "Ġcentre": 12541, + "ĠGuard": 12542, + "ów": 12543, + "Ġtrouble": 12544, + "ENER": 12545, + "(unsigned": 12546, + "_service": 12547, + "Ġns": 12548, + "uling": 12549, + "ĠMexico": 12550, + "ĠNY": 12551, + "mysql": 12552, + "Ġlic": 12553, + "åľ": 12554, + "Mr": 12555, + "-fl": 12556, + "ĠCustomer": 12557, + "idi": 12558, + "Ġ?>ĊĊ": 12559, + "rible": 12560, + "ĠпÑĢ": 12561, + "Ġsizes": 12562, + "_STRING": 12563, + "validation": 12564, + "ĠJon": 12565, + "(Http": 12566, + "addClass": 12567, + "Nodes": 12568, + "Ġfragment": 12569, + "Ġspoke": 12570, + "Ġwaste": 12571, + "Join": 12572, + "Ġillustr": 12573, + "eli": 12574, + "cient": 12575, + "Ġaid": 12576, + "Ġprosec": 12577, + "'){Ċ": 12578, + "Ġpassing": 12579, + "Ġfaces": 12580, + "Shape": 12581, + "_Z": 12582, + "iti": 12583, + "Ġalle": 12584, + "Ġrobot": 12585, + "ĠĠĠĠĠĠĠĊ": 12586, + "ĠSpe": 12587, + "Ġreceiving": 12588, + "ĠDetails": 12589, + "Ġ\")": 12590, + "mg": 12591, + "_REF": 12592, + "Ġcomparison": 12593, + "*,": 12594, + "ĠFound": 12595, + "_session": 12596, + "(U": 12597, + "/F": 12598, + "Ġxxx": 12599, + "Network": 12600, + "ders": 12601, + "Ġcapture": 12602, + "Ġcorre": 12603, + "ĠLtd": 12604, + "ĠAdv": 12605, + "[@": 12606, + "Ġclip": 12607, + "Mill": 12608, + "ĠProfile": 12609, + "Ġendif": 12610, + "Ġoblig": 12611, + "describe": 12612, + ".element": 12613, + "riterion": 12614, + "LD": 12615, + "ered": 12616, + "Ġfavour": 12617, + "score": 12618, + "ĠFilter": 12619, + "attributes": 12620, + "Ġchecks": 12621, + "Inflater": 12622, + "ĠPlus": 12623, + "Ġscientific": 12624, + "Ġprivacy": 12625, + "Head": 12626, + "Ġfeat": 12627, + "Ġdegrees": 12628, + "ĠPale": 12629, + ";\">": 12630, + "Ġfilms": 12631, + "ĠAudio": 12632, + "ĠTag": 12633, + "ĠEnergy": 12634, + "itar": 12635, + "parator": 12636, + "Ġfellow": 12637, + "Ġevt": 12638, + "ĠTri": 12639, + "ĠDAM": 12640, + "cloud": 12641, + "ĠPassword": 12642, + "ĠDemocrats": 12643, + "ĠAcad": 12644, + "$lang": 12645, + "Ġreb": 12646, + "())ĊĊ": 12647, + "нÑĭ": 12648, + "ĠBur": 12649, + "readcr": 12650, + "Ġhex": 12651, + "209": 12652, + "Console": 12653, + "ctl": 12654, + "ousel": 12655, + "ĠWilliam": 12656, + "Ġaz": 12657, + "_PORT": 12658, + "Ġpractices": 12659, + "Ġanywhere": 12660, + "ĠPosition": 12661, + "Ġ->Ċ": 12662, + "iams": 12663, + ".username": 12664, + "placeholder": 12665, + "Ġoder": 12666, + "ĠSecretary": 12667, + "ĠiT": 12668, + "mond": 12669, + "events": 12670, + "?âĢĿ": 12671, + ".Sub": 12672, + "Ġattached": 12673, + "Ġnão": 12674, + "Ġestate": 12675, + "365": 12676, + ".action": 12677, + "Ġfigures": 12678, + "Ġ});čĊ": 12679, + "Ġsubscri": 12680, + ".tag": 12681, + "nam": 12682, + ".plot": 12683, + "noon": 12684, + "liament": 12685, + "Character": 12686, + ".tab": 12687, + "Ġwinter": 12688, + "ĠVariable": 12689, + "Ġtrees": 12690, + "Ġproud": 12691, + "(V": 12692, + "_load": 12693, + "Ġhier": 12694, + "ĠEcon": 12695, + "Ġfd": 12696, + "Ġvictims": 12697, + "Rest": 12698, + "iana": 12699, + "Ġfake": 12700, + ".Println": 12701, + "Ġstrlen": 12702, + "Ġsad": 12703, + "Ġble": 12704, + "Prot": 12705, + "Ġbuttons": 12706, + "Ġtelevision": 12707, + "Ġlogo": 12708, + "extension": 12709, + "ĉj": 12710, + "stein": 12711, + "aciones": 12712, + "Ġ\"\"\"ĊĊ": 12713, + "Ġsimp": 12714, + "Ġrecorded": 12715, + "Ġbrings": 12716, + "Ġprincipal": 12717, + "Ġfees": 12718, + "(source": 12719, + "kdir": 12720, + "Ġutils": 12721, + "Ġcorrectly": 12722, + "fil": 12723, + "Ġwel": 12724, + "Pair": 12725, + "-button": 12726, + "scale": 12727, + "verify": 12728, + "[c": 12729, + "Ġ---": 12730, + "Ġescape": 12731, + "ikes": 12732, + "LowerCase": 12733, + "ician": 12734, + "Ġchapter": 12735, + "ĠTYPE": 12736, + "Ġshadow": 12737, + "Ġawesome": 12738, + "WE": 12739, + "elif": 12740, + "Ġlambda": 12741, + "Ġdistinct": 12742, + "Ġbare": 12743, + "-off": 12744, + "Ġcolour": 12745, + ".appendChild": 12746, + "olec": 12747, + "aga": 12748, + ".fill": 12749, + "ĉsuper": 12750, + "Ġadj": 12751, + "(position": 12752, + ".getItem": 12753, + "242": 12754, + "Short": 12755, + "Ġtotally": 12756, + "VD": 12757, + "ĠTre": 12758, + "_ep": 12759, + "vements": 12760, + "ĠSolution": 12761, + "Ġfundament": 12762, + "Follow": 12763, + "Ġfacility": 12764, + "Ġhappening": 12765, + "OF": 12766, + ".textBox": 12767, + "Span": 12768, + "Ġ«": 12769, + "iden": 12770, + "Ġexceed": 12771, + "(parent": 12772, + "Ġcp": 12773, + "ç»": 12774, + "Ġhasn": 12775, + "Ġpri": 12776, + "Ġconsequ": 12777, + "nen": 12778, + "ĠINTO": 12779, + "Ignore": 12780, + "ĠFuture": 12781, + "Ġcarbon": 12782, + "ĠSteel": 12783, + "fmt": 12784, + "okie": 12785, + "Ġspl": 12786, + "(title": 12787, + "-info": 12788, + "Ġdeals": 12789, + "Ġfixture": 12790, + "ea": 12791, + "Div": 12792, + "Ġtested": 12793, + "_return": 12794, + ")ĊĊĊĊ": 12795, + "upported": 12796, + "ĠCook": 12797, + "Ġpaying": 12798, + "ĠIll": 12799, + "Ġarrested": 12800, + "ĠPrime": 12801, + "_callback": 12802, + ">,Ċ": 12803, + "driver": 12804, + "Once": 12805, + "abb": 12806, + "_bytes": 12807, + "ĠSets": 12808, + "(Object": 12809, + "Ġcc": 12810, + "Ġshell": 12811, + "alo": 12812, + ");//": 12813, + "(log": 12814, + "264": 12815, + "ctors": 12816, + ")": 13301, + "218": 13302, + "Ġ$(\".": 13303, + ".pos": 13304, + "Ġboys": 13305, + "Ġwedding": 13306, + "Ġagents": 13307, + "=\"_": 13308, + "ĠArmy": 13309, + "Ġhint": 13310, + "vision": 13311, + "Ġtech": 13312, + "ĠConnect": 13313, + "Ġlegend": 13314, + "ĠBet": 13315, + ".Base": 13316, + "Subject": 13317, + "Ġlit": 13318, + "Remove": 13319, + "Ġ\":": 13320, + "ĠFinal": 13321, + "pearance": 13322, + "ĠiTunes": 13323, + "Ġparticipants": 13324, + "ĠPython": 13325, + "Ġbusy": 13326, + "iel": 13327, + "vertices": 13328, + "ĠtemplateUrl": 13329, + "ĠClose": 13330, + "Img": 13331, + "ĠCorporation": 13332, + "timestamp": 13333, + "Ġextend": 13334, + "Ġwebsites": 13335, + "Ġpossibility": 13336, + "оÑĤ": 13337, + "Ġkö": 13338, + "Ġmeat": 13339, + "Ġrepresentation": 13340, + "241": 13341, + "Ġĉĉ": 13342, + "_START": 13343, + ".apply": 13344, + "ĠValley": 13345, + "ĠSuccess": 13346, + "Hi": 13347, + "Ġnob": 13348, + "ĠIEnumerable": 13349, + "_select": 13350, + "geo": 13351, + ".\")Ċ": 13352, + "Ġturning": 13353, + "Ġfabric": 13354, + "(\"\");Ċ": 13355, + "Ġperspective": 13356, + "éĹ": 13357, + "ĠSn": 13358, + "Thank": 13359, + ";j": 13360, + ".Parameters": 13361, + "ĉĠĠĠĠĠĠĠĠĠĠĠ": 13362, + "Ġfacts": 13363, + "305": 13364, + "Ġunt": 13365, + ".instance": 13366, + "################################################################": 13367, + "-end": 13368, + "ĠJOIN": 13369, + "ĠHen": 13370, + "Ġuri": 13371, + "åIJį": 13372, + "Ġна": 13373, + "ĠInfo": 13374, + "Ġconducted": 13375, + "ĠÃ¥": 13376, + "OURCE": 13377, + "Ġwine": 13378, + "John": 13379, + ".Errorf": 13380, + "ĠAge": 13381, + "ounded": 13382, + "Ġrealize": 13383, + "312": 13384, + "Ġ];": 13385, + "Ġsubsequ": 13386, + ",m": 13387, + "(User": 13388, + "iano": 13389, + "Ġaccompl": 13390, + "isp": 13391, + ".std": 13392, + "éĩ": 13393, + "ĠBed": 13394, + ".setAttribute": 13395, + "BR": 13396, + "keep": 13397, + "ĠALL": 13398, + "Ġisol": 13399, + "amma": 13400, + "Package": 13401, + "Ġoccasion": 13402, + "-success": 13403, + "ед": 13404, + "ĠLIMITED": 13405, + "strip": 13406, + "()ĊĊĊ": 13407, + "istribution": 13408, + "Colors": 13409, + "Ġ+:+": 13410, + "DidLoad": 13411, + "aler": 13412, + "Ġtid": 13413, + "ĠLED": 13414, + "ĠLinked": 13415, + "ĠCart": 13416, + "())čĊ": 13417, + "_READ": 13418, + "Ġkilling": 13419, + "ĠPHP": 13420, + "fection": 13421, + "Ġinstances": 13422, + "cv": 13423, + "\"/>": 13424, + "Ġsf": 13425, + "Ġtaxes": 13426, + "_location": 13427, + "ĠBitcoin": 13428, + "uable": 13429, + "rank": 13430, + "ignore": 13431, + "track": 13432, + "ка": 13433, + "Ġshouldn": 13434, + "ĠOP": 13435, + "=>{Ċ": 13436, + "Ġkm": 13437, + "Ġhelper": 13438, + "_head": 13439, + "ĠWhether": 13440, + "oco": 13441, + "_bl": 13442, + "Ġstatistics": 13443, + "Ġbeauty": 13444, + "Ġtog": 13445, + "tip": 13446, + "ëĭ¤": 13447, + "Ġcsv": 13448, + "(sql": 13449, + "stdlib": 13450, + "weak": 13451, + "Ġlikes": 13452, + "Äį": 13453, + "Ġrepeat": 13454, + "Ġapartment": 13455, + "Ġemph": 13456, + "_edit": 13457, + "Ġvit": 13458, + "ĉtype": 13459, + "217": 13460, + "Even": 13461, + "uten": 13462, + "Ġcircumstances": 13463, + "bian": 13464, + "Ġsugar": 13465, + "Windows": 13466, + "ìŀ": 13467, + "Ġobserved": 13468, + "/data": 13469, + "Ġcalendar": 13470, + "Ġstrike": 13471, + "ĠRES": 13472, + "_sc": 13473, + "fony": 13474, + "orem": 13475, + "(z": 13476, + "power": 13477, + "etect": 13478, + "ĠSat": 13479, + ".description": 13480, + "Ġgang": 13481, + "ĠSports": 13482, + "ongs": 13483, + "ĠBundle": 13484, + ".sum": 13485, + "once": 13486, + "Ġaccused": 13487, + "Ġexplore": 13488, + "Ġapproximately": 13489, + "Ġlosing": 13490, + "thesis": 13491, + "ĠFund": 13492, + "Ġdiagn": 13493, + "Autowired": 13494, + "properties": 13495, + "Ġ_.": 13496, + "Ġcnt": 13497, + "cedure": 13498, + "Ġyy": 13499, + "Ġgrant": 13500, + "sock": 13501, + ".innerHTML": 13502, + "Ġ]);Ċ": 13503, + "ĠCONFIG": 13504, + "='$": 13505, + "550": 13506, + "]];Ċ": 13507, + "UND": 13508, + "Ġglob": 13509, + "Ġdire": 13510, + "uffle": 13511, + "_MEM": 13512, + "Ġauthentic": 13513, + ">(\"": 13514, + "Ġdecade": 13515, + "ĠImport": 13516, + "Ġoriginally": 13517, + "ĠjQuery": 13518, + "Ġindicate": 13519, + "Ġourselves": 13520, + "Sw": 13521, + ".lbl": 13522, + "enerate": 13523, + "Ġbasically": 13524, + "ĠHom": 13525, + "Ġ+#+": 13526, + "ĠBritain": 13527, + "ĠKar": 13528, + "toEqual": 13529, + ".stop": 13530, + "Ġmodal": 13531, + "isi": 13532, + "Ġsuggests": 13533, + "Ġdtype": 13534, + "Ġtur": 13535, + "bf": 13536, + "Ġconnections": 13537, + "ĠBefore": 13538, + "isted": 13539, + "mouse": 13540, + "Ġpulled": 13541, + ".build": 13542, + "Ġlegislation": 13543, + "Ġforth": 13544, + "pad": 13545, + "ego": 13546, + ".Now": 13547, + "Ġexciting": 13548, + "}ĊĊĊĊ": 13549, + "Ġcompr": 13550, + "Ġshares": 13551, + "Ġrig": 13552, + "green": 13553, + "_vec": 13554, + "Ġenumerate": 13555, + "Auto": 13556, + "icator": 13557, + "ĠRay": 13558, + "asse": 13559, + "Ġholiday": 13560, + "Ġnullable": 13561, + "gun": 13562, + "_details": 13563, + "Ġwrapper": 13564, + "seq": 13565, + "ĠYoung": 13566, + "juana": 13567, + "Ġ\"__": 13568, + "license": 13569, + "serve": 13570, + "^(": 13571, + "iders": 13572, + ".Remove": 13573, + "ropdown": 13574, + "'S": 13575, + "pin": 13576, + "(token": 13577, + ".Default": 13578, + "Ġreasonable": 13579, + "ampion": 13580, + "ĠSociety": 13581, + "Ġbei": 13582, + "erves": 13583, + "rad": 13584, + "ĠFox": 13585, + "_images": 13586, + "Ġwheel": 13587, + "')[": 13588, + "Ġcfg": 13589, + "(By": 13590, + "Constructor": 13591, + "Ġvary": 13592, + ".swift": 13593, + "Ġproxy": 13594, + "ĉH": 13595, + "ĠAnother": 13596, + "ĠPen": 13597, + "Ġchecking": 13598, + "Ġjest": 13599, + "manager": 13600, + "Origin": 13601, + "ugs": 13602, + "oir": 13603, + ">čĊ": 16336, + "Ġrelief": 16337, + "lap": 16338, + "quer": 16339, + "_parent": 16340, + "heap": 16341, + "LOSE": 16342, + "Ġcombine": 16343, + "ĠRose": 16344, + "owers": 16345, + "Ġprocedures": 16346, + "ĠSort": 16347, + "anim": 16348, + "variant": 16349, + "ehicle": 16350, + "Ġsigning": 16351, + "Primary": 16352, + "currency": 16353, + "Ġsexe": 16354, + "oen": 16355, + "theta": 16356, + "eman": 16357, + "Ġimpressive": 16358, + "('_": 16359, + "ĉU": 16360, + "ĠTextStyle": 16361, + "_cnt": 16362, + "Ġslice": 16363, + "(':": 16364, + "Ġunderstood": 16365, + "His": 16366, + "277": 16367, + "013": 16368, + "Ġinformed": 16369, + "Ġnick": 16370, + "429": 16371, + "(TAG": 16372, + "hd": 16373, + "Ġelections": 16374, + "esture": 16375, + "ĠSanta": 16376, + "ĠCoast": 16377, + ".pdf": 16378, + "inciple": 16379, + ".clone": 16380, + "born": 16381, + "uta": 16382, + "Ġlicensed": 16383, + "Cr": 16384, + "Ġbread": 16385, + "ĠHouston": 16386, + "Ġnod": 16387, + "Ġhopes": 16388, + "ĠCGRect": 16389, + "Ġguilty": 16390, + ".gif": 16391, + "Ġrose": 16392, + ".Common": 16393, + "Tip": 16394, + "ANK": 16395, + "ĠFC": 16396, + "During": 16397, + "ĠSymfony": 16398, + "Ġdefensive": 16399, + "km": 16400, + ")>": 16401, + "archive": 16402, + "ĠURI": 16403, + "ycling": 16404, + "-o": 16405, + "ĠWebsite": 16406, + "AMP": 16407, + "405": 16408, + "ishment": 16409, + "Ġdoctors": 16410, + "Direct": 16411, + "ARI": 16412, + "ĠRedirect": 16413, + "ieren": 16414, + "960": 16415, + "_dist": 16416, + "yo": 16417, + "ĠProgress": 16418, + "Ġzum": 16419, + "Ġmemor": 16420, + "ĠED": 16421, + "Ġjur": 16422, + "æį®": 16423, + "_TABLE": 16424, + "Ġuuid": 16425, + "Expr": 16426, + ".head": 16427, + "('%": 16428, + "pointer": 16429, + "Ġestimate": 16430, + "ĠGreg": 16431, + "Ġloader": 16432, + "ĠiOS": 16433, + "Ġmens": 16434, + "[y": 16435, + "Ġrefused": 16436, + "Ġprecision": 16437, + "isch": 16438, + "ĠACTION": 16439, + "Cloud": 16440, + "sWith": 16441, + "(ret": 16442, + "292": 16443, + "_ADDR": 16444, + "_conf": 16445, + "(df": 16446, + "Ġlocked": 16447, + "Ġrising": 16448, + "ãĥ»ãĥ»": 16449, + "ĠMs": 16450, + "Ġscenes": 16451, + "_EXT": 16452, + "_raw": 16453, + "_the": 16454, + "people": 16455, + "Ġrecon": 16456, + "ĠFun": 16457, + "Ġbless": 16458, + "ĠUpdated": 16459, + "422": 16460, + "ün": 16461, + "ĠĠĠĠĠĠĠĠĠĠĠĠčĊ": 16462, + "pection": 16463, + "Release": 16464, + ".logger": 16465, + "ĠSY": 16466, + "Ġcounsel": 16467, + "urd": 16468, + "_true": 16469, + "Ġeverybody": 16470, + "ivot": 16471, + "Ġhence": 16472, + "ĠNAS": 16473, + "789": 16474, + "Ġopposed": 16475, + "unknown": 16476, + "ĠDESC": 16477, + "ĠChair": 16478, + "failed": 16479, + "ĠINCLUDING": 16480, + "386": 16481, + "352": 16482, + "Ġwriters": 16483, + "{}Ċ": 16484, + "ÃŃt": 16485, + "_copy": 16486, + "}:": 16487, + "ĠBat": 16488, + "Ġconverted": 16489, + "eding": 16490, + "placement": 16491, + "ĠHost": 16492, + "Sound": 16493, + "им": 16494, + "Ġsought": 16495, + "402": 16496, + "mid": 16497, + "Ġsalary": 16498, + "ogg": 16499, + "âĦ¢": 16500, + "bul": 16501, + "Ġwir": 16502, + "validator": 16503, + "_STAT": 16504, + ".store": 16505, + "ĠBattle": 16506, + "ın": 16507, + "Ġ-->ĊĊ": 16508, + "Trump": 16509, + "dot": 16510, + "ĠCONT": 16511, + ".fetch": 16512, + "Ġcontinu": 16513, + "was": 16514, + "Ġfraud": 16515, + "_tmp": 16516, + "mitter": 16517, + ".pictureBox": 16518, + "GA": 16519, + "Ġtournament": 16520, + ".Input": 16521, + "343": 16522, + "[r": 16523, + "exion": 16524, + "centage": 16525, + "ĠKorean": 16526, + "undef": 16527, + "ĠAvailable": 16528, + "reshape": 16529, + "Ġkit": 16530, + "ĠStruct": 16531, + "ĠSUB": 16532, + "Answer": 16533, + "_lib": 16534, + ".twitter": 16535, + "Ġore": 16536, + "ĠDragon": 16537, + ".Ext": 16538, + ",k": 16539, + "Ġexplanation": 16540, + "refs": 16541, + "ĠDrive": 16542, + "ĠTraining": 16543, + "282": 16544, + ".Has": 16545, + "341": 16546, + "intage": 16547, + "big": 16548, + "ologist": 16549, + "ennis": 16550, + "460": 16551, + "Ùĩ": 16552, + "Ġchicken": 16553, + "ĠĠĠĠĠĠĠĠĠĠĊ": 16554, + "çĽ": 16555, + "ãģ§": 16556, + "Ġpeak": 16557, + "Ġdrinking": 16558, + "Ġencode": 16559, + "ĠNEW": 16560, + "malloc": 16561, + "ĉfprintf": 16562, + "Ġ=================================================================": 16563, + "including": 16564, + "Ġprinciples": 16565, + "ĠMah": 16566, + "267": 16567, + "storage": 16568, + "-key": 16569, + "Ġkeyword": 16570, + "%;": 16571, + "Ġtrained": 16572, + ".contrib": 16573, + "Ġkv": 16574, + "__':Ċ": 16575, + "ĠBoy": 16576, + "parameter": 16577, + "Ġsuite": 16578, + "Ġthousand": 16579, + "Ġcoordinate": 16580, + "-generated": 16581, + "íķĺ": 16582, + "generated": 16583, + "Ġadmitted": 16584, + "Ġpussy": 16585, + "#w": 16586, + "Ġswim": 16587, + "union": 16588, + "Na": 16589, + "274": 16590, + "ĠRoyal": 16591, + ".channel": 16592, + "Updated": 16593, + "_ROOT": 16594, + "Ġvital": 16595, + "335": 16596, + "raction": 16597, + "ĠCrusher": 16598, + "Ġpreced": 16599, + "Ġhorizontal": 16600, + "Blueprint": 16601, + "Ġattrs": 16602, + "Ġsmoke": 16603, + "ÐĴ": 16604, + ".Equals": 16605, + "FB": 16606, + "ĠResources": 16607, + "rolling": 16608, + "Ġpasses": 16609, + "ĠNum": 16610, + "rotate": 16611, + "etype": 16612, + "\\\",": 16613, + "Ġsensitive": 16614, + "Ġtall": 16615, + "?âĢĿĊĊ": 16616, + "Proxy": 16617, + "iy": 16618, + "_section": 16619, + "âĢĶâĢĶâĢĶâĢĶ": 16620, + "brid": 16621, + "Ġcircuit": 16622, + "atan": 16623, + "ENC": 16624, + "Ġdriven": 16625, + "Ġvoted": 16626, + "Ġeducational": 16627, + "Ġinteraction": 16628, + "abetes": 16629, + "Ġtone": 16630, + "ĠInitializeComponent": 16631, + "Ġmerely": 16632, + "Ġìŀ": 16633, + "cookie": 16634, + "_div": 16635, + "ĠUILabel": 16636, + "vely": 16637, + "});čĊ": 16638, + "_ENT": 16639, + "#+#+": 16640, + "articles": 16641, + "ĠSouthern": 16642, + "Ġstronger": 16643, + "ĠGiven": 16644, + "ĠEric": 16645, + "ĠIR": 16646, + "abstract": 16647, + "Under": 16648, + "nable": 16649, + "Ġincrement": 16650, + "oven": 16651, + "Ġcoin": 16652, + "_timer": 16653, + "Ġsuffered": 16654, + "ĠFREE": 16655, + "'].\"": 16656, + "ĠQueen": 16657, + "stats": 16658, + "Ġmeetings": 16659, + "276": 16660, + "Ġentering": 16661, + "Ġalongside": 16662, + "(session": 16663, + "itals": 16664, + "Ġfoundation": 16665, + "ĠCredit": 16666, + ".div": 16667, + "_ALL": 16668, + "pcion": 16669, + "_stat": 16670, + "icking": 16671, + "Defaults": 16672, + "_src": 16673, + "Ġoutputs": 16674, + "/B": 16675, + "Ġenthus": 16676, + "-bl": 16677, + ".ForeColor": 16678, + "ĉtemp": 16679, + "Face": 16680, + "Ġinteract": 16681, + "Ġweird": 16682, + "Mount": 16683, + "rell": 16684, + "udents": 16685, + "Ġrequirement": 16686, + "ĠSus": 16687, + "IER": 16688, + "Ġelected": 16689, + "reference": 16690, + "ĠME": 16691, + "Ġservers": 16692, + ".wait": 16693, + "Ġsnapshot": 16694, + "ilton": 16695, + "Ġtries": 16696, + "Ġtipo": 16697, + ".Time": 16698, + ">w": 16699, + "Ġmountain": 16700, + "Ġpounds": 16701, + "Ġ[...": 16702, + "exists": 16703, + "ĠngOn": 16704, + "_MAP": 16705, + "Ġflying": 16706, + "331": 16707, + "xiety": 16708, + "ĉvalue": 16709, + "_DB": 16710, + "uno": 16711, + "Ġseats": 16712, + "TURN": 16713, + ".author": 16714, + "!)": 16715, + "orce": 16716, + "Ġindicated": 16717, + "317": 16718, + ".sin": 16719, + "Ġassignment": 16720, + "imiento": 16721, + "ĠFrame": 16722, + "324": 16723, + "_gen": 16724, + "inery": 16725, + "_)": 16726, + "messages": 16727, + ".settings": 16728, + "ĠMean": 16729, + "ĠMuseum": 16730, + "irq": 16731, + "attach": 16732, + "ĠPalestin": 16733, + "_QU": 16734, + "_tags": 16735, + "Ġcasual": 16736, + "emen": 16737, + "ASSWORD": 16738, + "432": 16739, + "$s": 16740, + "ĠCirc": 16741, + "ой": 16742, + "etric": 16743, + "/P": 16744, + "018": 16745, + "Ġepoch": 16746, + "The": 16761, + "ĠAk": 16762, + "Ġgrass": 16763, + "/*čĊ": 16764, + "(dis": 16765, + "Ġguns": 16766, + "Ġtb": 16767, + "ĠKevin": 16768, + ".args": 16769, + "ĠAh": 16770, + "oped": 16771, + "(J": 16772, + "columns": 16773, + "arguments": 16774, + "ĠWithEvents": 16775, + "_full": 16776, + "ĠDefense": 16777, + "Simple": 16778, + "Ġdeaths": 16779, + "295": 16780, + "Ġextensive": 16781, + "ĠStill": 16782, + "ĠExpression": 16783, + "ĠAgency": 16784, + "Ġperforming": 16785, + "FX": 16786, + "Ġusuario": 16787, + "UAL": 16788, + "Side": 16789, + "odos": 16790, + "aptop": 16791, + "Ġcredentials": 16792, + "_cap": 16793, + "atient": 16794, + "ĠDisney": 16795, + "Ġai": 16796, + "Ġchip": 16797, + "Ġvolt": 16798, + ".makeText": 16799, + "%%%%%%%%%%%%%%%%": 16800, + "Ġbelief": 16801, + "_LOC": 16802, + "ĠCivil": 16803, + "Navigation": 16804, + "Ġreveal": 16805, + "Ġviolent": 16806, + "ĠFil": 16807, + "Ġcatalog": 16808, + "emed": 16809, + "scan": 16810, + ".control": 16811, + "Ġconstitution": 16812, + "Country": 16813, + "Separator": 16814, + "_APP": 16815, + "topic": 16816, + "uetooth": 16817, + "MIN": 16818, + "Ġdescriptor": 16819, + "yt": 16820, + "ETHER": 16821, + "Ġdistribute": 16822, + "'}Ċ": 16823, + ".trim": 16824, + ".Line": 16825, + "Ġlbl": 16826, + "assertEquals": 16827, + "ĠDet": 16828, + "ombok": 16829, + "(width": 16830, + "Ġtort": 16831, + "ĠEXPRESS": 16832, + "aco": 16833, + "Using": 16834, + "ĠBrand": 16835, + "wall": 16836, + "EMENT": 16837, + "ĠCommunic": 16838, + "(Ċ": 17492, + "?>\"": 17493, + "Ġ///Ċ": 17494, + "Ġeiner": 17495, + "Ġweekly": 17496, + "ĉlogger": 17497, + "_pop": 17498, + "_man": 17499, + "Ġmigrations": 17500, + "Ġasks": 17501, + "Ġbs": 17502, + "Ġfalls": 17503, + ".Where": 17504, + "-height": 17505, + "_feature": 17506, + ".Min": 17507, + "Ġhyper": 17508, + "Ġvolatile": 17509, + "Ġtwenty": 17510, + "Typography": 17511, + "Unable": 17512, + "Det": 17513, + ",f": 17514, + "-mod": 17515, + "Ġsettlement": 17516, + "Ġcontracts": 17517, + "nome": 17518, + "Bad": 17519, + "ĠBrian": 17520, + "768": 17521, + "(username": 17522, + "!!!!": 17523, + "Ġhack": 17524, + ".Field": 17525, + "HR": 17526, + "ĠJordan": 17527, + "iza": 17528, + "ĠÂł": 17529, + "ĠSher": 17530, + ".header": 17531, + "(other": 17532, + "ĠDub": 17533, + "(op": 17534, + "ĠRound": 17535, + "Ġvie": 17536, + "Ġappl": 17537, + "ĉJ": 17538, + "ĠInsert": 17539, + "ĠLP": 17540, + "regon": 17541, + "ĠMPI": 17542, + "Ġanchor": 17543, + "aca": 17544, + "ør": 17545, + "Ġade": 17546, + "anchor": 17547, + "quee": 17548, + "ĠTreeNode": 17549, + "Ġtargeted": 17550, + "Ġlaid": 17551, + "ABEL": 17552, + "vet": 17553, + "ĠOrigin": 17554, + "Ant": 17555, + ".');Ċ": 17556, + "expect": 17557, + "edReader": 17558, + "ĠMajor": 17559, + "Ġinch": 17560, + "Compar": 17561, + "Ġpreview": 17562, + "Ġillness": 17563, + "ĠCONTRACT": 17564, + "ĠIndepend": 17565, + "uuid": 17566, + "Ġnome": 17567, + "Ġtc": 17568, + "ĠAvenue": 17569, + "isan": 17570, + "Ġphrase": 17571, + "_move": 17572, + "\")[": 17573, + "412": 17574, + "Ġprovision": 17575, + "Ġconcentr": 17576, + "_IR": 17577, + "ĠUt": 17578, + "()+": 17579, + "Ġnas": 17580, + "!,": 17581, + "ĠRobin": 17582, + "iations": 17583, + "atitude": 17584, + "Ġpx": 17585, + "ĠWithout": 17586, + "/bash": 17587, + "ekt": 17588, + "reement": 17589, + "342": 17590, + "Observer": 17591, + "318": 17592, + "ĠRegion": 17593, + "UBLIC": 17594, + "Ġ{//": 17595, + "KN": 17596, + "å·": 17597, + "GameObject": 17598, + "å¾": 17599, + "encoding": 17600, + "Ġ***": 17601, + "projects": 17602, + "Ġtk": 17603, + "Ġcheese": 17604, + "EMPL": 17605, + "aro": 17606, + "ĠاÙĦ": 17607, + "610": 17608, + "337": 17609, + "Ġconsists": 17610, + "refresh": 17611, + "ureau": 17612, + "ĠScanner": 17613, + "Ġsoil": 17614, + "Ġflavor": 17615, + "DataSource": 17616, + "Execute": 17617, + "ение": 17618, + "Ġshit": 17619, + "åĪĨ": 17620, + "Ċ": 17875, + "Ġsubsequent": 17876, + "posable": 17877, + "-fluid": 17878, + "Ġthorough": 17879, + "Ġpublicly": 17880, + "apters": 17881, + "ĠWilson": 17882, + "_PRE": 17883, + "yard": 17884, + "ä¼": 17885, + "ĉin": 17886, + "339": 17887, + "Ġrevers": 17888, + "Ġbullet": 17889, + "cribed": 17890, + "nesota": 17891, + "Ġ($_": 17892, + "annon": 17893, + "cursor": 17894, + "Ġclothing": 17895, + "ĠMulti": 17896, + "287": 17897, + ":',": 17898, + "Ġvess": 17899, + "ordinator": 17900, + "Ġeinem": 17901, + "Cannot": 17902, + "Ġarmed": 17903, + "ĉV": 17904, + "ä¸Ĭ": 17905, + ".Flat": 17906, + "ĠSep": 17907, + "ĠSubject": 17908, + "_font": 17909, + "Ġcharacteristics": 17910, + "Done": 17911, + "eln": 17912, + "############": 17913, + "POS": 17914, + "Ġdensity": 17915, + "ĠPlatform": 17916, + "-items": 17917, + "Ġovers": 17918, + "Ġpushing": 17919, + "ç¤": 17920, + ".Connection": 17921, + "_term": 17922, + "Ġinitialization": 17923, + "________________________________": 17924, + "ç¬": 17925, + ".document": 17926, + "lesh": 17927, + "ĉdocument": 17928, + "ĠPin": 17929, + "ça": 17930, + "Ġdefinitions": 17931, + ".Path": 17932, + "_WRITE": 17933, + "ĠĉĊ": 17934, + "?>ĊĊ": 17935, + "Ġterrible": 17936, + "bean": 17937, + "ickets": 17938, + "ĠSV": 17939, + "Buy": 17940, + "(task": 17941, + "Ġregime": 17942, + "google": 17943, + "Ġcrack": 17944, + ".visit": 17945, + "NUM": 17946, + "energy": 17947, + "Ġstruck": 17948, + "_sample": 17949, + ".payload": 17950, + "Ġrevis": 17951, + "ĠScene": 17952, + "Ġpg": 17953, + "Ġbreakfast": 17954, + "URRENT": 17955, + ".charAt": 17956, + "_exception": 17957, + "ĠAnton": 17958, + "Ġguidelines": 17959, + "Ġexhaust": 17960, + "ĠFinancial": 17961, + "Ġindent": 17962, + "Ġdesktop": 17963, + "Hidden": 17964, + "Failure": 17965, + "Ġprinciple": 17966, + "Ġiv": 17967, + "Ġseks": 17968, + "network": 17969, + "ĠnumberOf": 17970, + "ĠAlbert": 17971, + "ĉlong": 17972, + "801": 17973, + ",.": 17974, + "Ġzeros": 17975, + "fade": 17976, + "ĠTyp": 17977, + "ĠTerm": 17978, + "ĠArts": 17979, + ".Application": 17980, + "Ġbehalf": 17981, + "æĪ·": 17982, + "Ġmere": 17983, + "(`${": 17984, + "Ġawareness": 17985, + "elpers": 17986, + "flix": 17987, + "Ġweigh": 17988, + "Ġestimates": 17989, + ".child": 17990, + "/O": 17991, + "ĠBitmap": 17992, + ".bottom": 17993, + "Ġ**************************************************************************": 17994, + "Expect": 17995, + "ento": 17996, + "ĠForum": 17997, + "veral": 17998, + "Ġjail": 17999, + "Ġabilities": 18000, + "ĠHOLD": 18001, + "ĠCit": 18002, + "Ġdynam": 18003, + "Ġgray": 18004, + "ĉĉĉĉĉĉĉĉĉĉĉĉĉ": 18005, + ".nextInt": 18006, + "antly": 18007, + "ĠARISING": 18008, + "(private": 18009, + "Ġrejected": 18010, + "ĠNic": 18011, + "Ġleather": 18012, + "={Ċ": 18013, + "alytics": 18014, + "thetic": 18015, + ".Top": 18016, + "373": 18017, + ".Page": 18018, + "={`": 18019, + "Ġ;čĊ": 18020, + "depth": 18021, + "mann": 18022, + "WD": 18023, + "ĠSom": 18024, + ".Right": 18025, + "Ġ)}Ċ": 18026, + "Ġtrait": 18027, + "ÃĹ": 18028, + "iac": 18029, + "Ġrv": 18030, + "Sample": 18031, + ".Xml": 18032, + "opped": 18033, + "ĠÑĦ": 18034, + "lists": 18035, + "Ġtear": 18036, + "iversary": 18037, + ".collection": 18038, + "ĠConstitution": 18039, + "ĠHttpResponse": 18040, + "Ġbrill": 18041, + "ĠProm": 18042, + "hover": 18043, + "366": 18044, + "ĠMiami": 18045, + "Ġargue": 18046, + "_float": 18047, + "504": 18048, + "ĠãĤ": 18049, + "Ġnat": 18050, + "ĠTal": 18051, + "Ġintegration": 18052, + "(cur": 18053, + "Ġremoving": 18054, + "Ġcoeff": 18055, + "ĠThough": 18056, + "Ġforecast": 18057, + "408": 18058, + "ĠVegas": 18059, + "Site": 18060, + "346": 18061, + "Ġtrab": 18062, + "ĠHenry": 18063, + "-i": 18064, + "Ġinvolves": 18065, + "BT": 18066, + "Ġslo": 18067, + "Invoke": 18068, + "Ġlucky": 18069, + "025": 18070, + "rat": 18071, + "Ġ?Ċ": 18072, + "Ġhandled": 18073, + "(fd": 18074, + "contents": 18075, + "ĠOFF": 18076, + "RF": 18077, + "Ġsty": 18078, + "ĠMotor": 18079, + "tery": 18080, + "tax": 18081, + "MAP": 18082, + "ĠMrs": 18083, + "Ġphones": 18084, + "ĠUIView": 18085, + "\")));Ċ": 18086, + "(dev": 18087, + "ĠIrish": 18088, + "019": 18089, + "Ġws": 18090, + "DI": 18091, + "_OFFSET": 18092, + "ĠEvents": 18093, + "Ġstages": 18094, + "Ġ}//": 18095, + "Ġhaben": 18096, + "STANCE": 18097, + "ĠSin": 18098, + "ĠMoney": 18099, + "(top": 18100, + "Ġappointment": 18101, + "VERSION": 18102, + "metadata": 18103, + "_comment": 18104, + "Ġcolleagues": 18105, + "maps": 18106, + "âĺ": 18107, + "ĊĉĊ": 18108, + "(al": 18109, + "_req": 18110, + "Ġfut": 18111, + "Ġarchitecture": 18112, + "351": 18113, + "ĠWHETHER": 18114, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 18115, + "_screen": 18116, + "ĠstyleUrls": 18117, + "Ġmonster": 18118, + ".up": 18119, + "phia": 18120, + "Ġprocessor": 18121, + "ĠTerr": 18122, + "=',": 18123, + "ĠManufact": 18124, + "ĠNT": 18125, + "kel": 18126, + "ibern": 18127, + "ĉfile": 18128, + "Ali": 18129, + "rientation": 18130, + "Ġ//!": 18131, + "apore": 18132, + "aneous": 18133, + "ĠCreat": 18134, + "folder": 18135, + "415": 18136, + "Ġhay": 18137, + "Suppress": 18138, + "(left": 18139, + "Ġeuro": 18140, + "Ġdisclaimer": 18141, + "ustry": 18142, + "ships": 18143, + "_fd": 18144, + "ĠFa": 18145, + "_insert": 18146, + "Ġrol": 18147, + "ifting": 18148, + "ĠComments": 18149, + "_br": 18150, + "Ġlosses": 18151, + "ĠAdded": 18152, + "charg": 18153, + "Ġпо": 18154, + "_system": 18155, + "ĠSometimes": 18156, + "ĠSpain": 18157, + "(group": 18158, + "ialis": 18159, + "Ġdollar": 18160, + "ĠArgs": 18161, + "499": 18162, + "297": 18163, + "quires": 18164, + "ĠTen": 18165, + ".scss": 18166, + "Ġsurvive": 18167, + "usage": 18168, + "Ġjun": 18169, + "imiter": 18170, + "ï¼ģĊĊ": 18171, + "Ġfifth": 18172, + "toggle": 18173, + "Ġdecline": 18174, + "($\"": 18175, + "(Long": 18176, + "inge": 18177, + "Ġpilot": 18178, + "-light": 18179, + "-radius": 18180, + "Ġpodcast": 18181, + "Ġnaturally": 18182, + "Pages": 18183, + "为": 18184, + "ĠDespite": 18185, + "Ġlighting": 18186, + "Ġcrate": 18187, + "ĠBinary": 18188, + "Ġreducing": 18189, + "Ġeleg": 18190, + "ĠMouse": 18191, + "ĠTestBed": 18192, + "ĠbeforeEach": 18193, + "_ARRAY": 18194, + "Redirect": 18195, + "329": 18196, + "Ġflood": 18197, + "Ġships": 18198, + "363": 18199, + "Ġelectricity": 18200, + ")*(": 18201, + "ê¸": 18202, + "ĠViet": 18203, + "hero": 18204, + "Ġdia": 18205, + "ĠKent": 18206, + "heart": 18207, + "Ġthreats": 18208, + "_acc": 18209, + "Ġsymbols": 18210, + "ischen": 18211, + "_inst": 18212, + "Criterion": 18213, + "ĠTIM": 18214, + ".Height": 18215, + "580": 18216, + "ĠâĢĻ": 18217, + "();ĊĊĊ": 18218, + "Products": 18219, + "_SP": 18220, + "ĠCy": 18221, + "Ġdependent": 18222, + "este": 18223, + "Ġdatos": 18224, + "dit": 18225, + "ав": 18226, + "IGNAL": 18227, + "Ġlesson": 18228, + "\">'": 18229, + "ĠCover": 18230, + "ĠHope": 18231, + "ĠTimer": 18232, + "Ġdad": 18233, + "viders": 18234, + "ĠPhot": 18235, + "/?": 18236, + "ropy": 18237, + "oming": 18238, + "asion": 18239, + "Ġ\\(": 18240, + "ĠET": 18241, + "ĠReading": 18242, + "Ġepisodes": 18243, + "lm": 18244, + "421": 18245, + "echa": 18246, + "Ġneuro": 18247, + "820": 18248, + "Ġharmon": 18249, + "Ġliberal": 18250, + "-ind": 18251, + "393": 18252, + "DATA": 18253, + "Ġeveryday": 18254, + "Ġdivided": 18255, + "ĠActiveRecord": 18256, + "figure": 18257, + "UA": 18258, + "ä¹": 18259, + "riendly": 18260, + "tech": 18261, + "601": 18262, + ".gameObject": 18263, + "иÑĤÑĮ": 18264, + "374": 18265, + "Ġmoon": 18266, + "ftime": 18267, + "Ġnoch": 18268, + "ĠTORT": 18269, + "ĠVM": 18270, + ".initial": 18271, + "(child": 18272, + "Ġmusical": 18273, + "Ġoc": 18274, + "bas": 18275, + "ĠHay": 18276, + "361": 18277, + "_long": 18278, + "Ġmemset": 18279, + "iley": 18280, + "adelphia": 18281, + "SV": 18282, + "roat": 18283, + "_tx": 18284, + "Ġlon": 18285, + "ĠngOnInit": 18286, + "bp": 18287, + "ĠGolden": 18288, + "ACHE": 18289, + "Ġworried": 18290, + "azi": 18291, + "Ear": 18292, + "Take": 18293, + "(fp": 18294, + "burgh": 18295, + "_Data": 18296, + "gres": 18297, + "ĠOnt": 18298, + "pus": 18299, + "Ġtransparent": 18300, + "Ġpocket": 18301, + "Ġram": 18302, + "igrations": 18303, + ".čĊčĊ": 18304, + "Ġ[(": 18305, + "Ġadopted": 18306, + "Ġreportedly": 18307, + "ĠDream": 18308, + "Ġ}));Ċ": 18309, + "losing": 18310, + "Ġteeth": 18311, + "ĠBooks": 18312, + "\",&": 18313, + "enny": 18314, + "LEMENT": 18315, + "Ġgel": 18316, + "ĠPlant": 18317, + "437": 18318, + "!âĢĿ": 18319, + ".host": 18320, + "ĠReply": 18321, + "376": 18322, + "rength": 18323, + "Ġrecognition": 18324, + "Ġ}}>Ċ": 18325, + "LA": 18326, + "Ġmirror": 18327, + "Ġassistant": 18328, + "(device": 18329, + "Ġspiritual": 18330, + "builder": 18331, + "§": 18332, + "Ġoutr": 18333, + "Ġtt": 18334, + "ĠPER": 18335, + "Ġradical": 18336, + "Methods": 18337, + "Ġpace": 18338, + "udy": 18339, + "Ġgut": 18340, + "ĠGreek": 18341, + "Ġnonatomic": 18342, + "ĠPaper": 18343, + "_GPIO": 18344, + "Ġobst": 18345, + ".Ad": 18346, + "vironments": 18347, + "ĠSov": 18348, + "356": 18349, + "(con": 18350, + "ĠTransaction": 18351, + ".assign": 18352, + "ĉcatch": 18353, + "elter": 18354, + "Ġbitcoin": 18355, + "_GR": 18356, + "ĠčĊ": 18473, + "metic": 18474, + "Ġtransformation": 18475, + "åı·": 18476, + "Ġrgb": 18477, + "istributions": 18478, + "Ġimplicit": 18479, + "/in": 18480, + "destination": 18481, + "аÑĤÑĮ": 18482, + "Zero": 18483, + "Ġunset": 18484, + "920": 18485, + ".where": 18486, + ".go": 18487, + "Ġformation": 18488, + "Ġdeclaration": 18489, + "()čĊčĊ": 18490, + "ĠExpl": 18491, + "ĉĉĉĠĠ": 18492, + "/pro": 18493, + ".JSON": 18494, + "441": 18495, + "Ġdesk": 18496, + ".substr": 18497, + "//----------------------------------------------------------------------------": 18498, + "lyn": 18499, + "pson": 18500, + "407": 18501, + "disable": 18502, + "ĠFunc": 18503, + "ĉAssert": 18504, + "ĠMARK": 18505, + "Ġdefeat": 18506, + "Ġblind": 18507, + "Ġconstants": 18508, + "362": 18509, + ".headers": 18510, + "UILD": 18511, + "Ġexpenses": 18512, + "Pixel": 18513, + "Ġhr": 18514, + "Ġfel": 18515, + "ĠEastern": 18516, + "424": 18517, + "490": 18518, + "_del": 18519, + "357": 18520, + "ĠCub": 18521, + "Ġsq": 18522, + "ĉcount": 18523, + "ĠDirectory": 18524, + "Ġexclus": 18525, + "Ġhistoric": 18526, + "Ġ------------------------------------------------": 18527, + "Ġcomposition": 18528, + "ĠdataGridView": 18529, + "ĠBurn": 18530, + "ĠBC": 18531, + "Master": 18532, + "Ġspawn": 18533, + "Ġbearing": 18534, + ".SetActive": 18535, + "ilo": 18536, + "Ġgallery": 18537, + "Ġfounded": 18538, + "Ġavailability": 18539, + ".sqrt": 18540, + "Ġpes": 18541, + "ĠDOM": 18542, + "mate": 18543, + "Oct": 18544, + "Ġmatched": 18545, + "itivity": 18546, + "Ġanxiety": 18547, + ".price": 18548, + "ĠInstant": 18549, + "ìĬ": 18550, + "Ġtut": 18551, + "ICollection": 18552, + ".shared": 18553, + "_sql": 18554, + "tbl": 18555, + "library": 18556, + "_destroy": 18557, + "ermal": 18558, + "ĠNotes": 18559, + "ĠEin": 18560, + "Ġsouthern": 18561, + "ĠOTHERWISE": 18562, + "Ġmacro": 18563, + ".lower": 18564, + "cls": 18565, + "ContentView": 18566, + ".link": 18567, + "constant": 18568, + "ĠBes": 18569, + "Ġsomebody": 18570, + "nb": 18571, + "399": 18572, + "\">{": 18573, + "(local": 18574, + ".....": 18575, + "ĠNull": 18576, + "mx": 18577, + "Ġç": 18578, + "Ġpause": 18579, + "-----------": 18580, + "_MO": 18581, + "ĠCM": 18582, + "ĠforKey": 18583, + "ĠDVD": 18584, + "Ġclosest": 18585, + "_DEVICE": 18586, + "ĠStephen": 18587, + "ĠBBC": 18588, + "ĠTravel": 18589, + "Paint": 18590, + "ĠResults": 18591, + "ĠRule": 18592, + "Ġtp": 18593, + "Ġratings": 18594, + "cin": 18595, + "csv": 18596, + ">/": 18597, + "ĠGOP": 18598, + "lad": 18599, + "ĠÑĢ": 18600, + "ĠindexPath": 18601, + "matrix": 18602, + "=f": 18603, + "arsed": 18604, + "Ġ});": 18605, + "ĠCos": 18606, + "ĠScore": 18607, + "Ġtak": 18608, + "ĠESP": 18609, + "ĠINC": 18610, + "_NULL": 18611, + "-flex": 18612, + "\"][": 18613, + "into": 18614, + "eland": 18615, + "Authorization": 18616, + "_FALSE": 18617, + "Ġgate": 18618, + "Ġvid": 18619, + "istent": 18620, + "TIME": 18621, + "Ġrewrite": 18622, + "Ġtie": 18623, + "Ġarchive": 18624, + "511": 18625, + ".events": 18626, + ".getParameter": 18627, + "ĠPermission": 18628, + "Ġprogramme": 18629, + "Ġé": 18630, + "jud": 18631, + "Ġcameras": 18632, + "338": 18633, + "349": 18634, + "(sys": 18635, + "ĠSyrian": 18636, + "Ġimprovements": 18637, + "Ġhip": 18638, + "Ġsuicide": 18639, + "Ġscholar": 18640, + "Ġcompatible": 18641, + "022": 18642, + "remote": 18643, + ".down": 18644, + "FUNCTION": 18645, + "Ġmanaging": 18646, + "ĠUIKit": 18647, + ".raw": 18648, + ">>>>": 18649, + "371": 18650, + "Ġdemands": 18651, + "ellite": 18652, + "Ġdent": 18653, + "ĠMicro": 18654, + "åıĸ": 18655, + "'][$": 18656, + "ĠIE": 18657, + "imension": 18658, + "Ġtrem": 18659, + "630": 18660, + "Ġgained": 18661, + ".with": 18662, + ".ok": 18663, + "hou": 18664, + "Ġbom": 18665, + "ampaign": 18666, + "Ġjoining": 18667, + "fish": 18668, + "ĠaddSubview": 18669, + "860": 18670, + "Ġnorthern": 18671, + ".cor": 18672, + "oret": 18673, + "Die": 18674, + "inish": 18675, + "_comp": 18676, + "Ġattended": 18677, + "Ġcollapse": 18678, + "ĠSS": 18679, + "acent": 18680, + "_EQUAL": 18681, + "ĠDeep": 18682, + "RGB": 18683, + "ĉtest": 18684, + "olves": 18685, + "uset": 18686, + "UnityEngine": 18687, + "writer": 18688, + "Resolver": 18689, + ",%": 18690, + "ifference": 18691, + "_remove": 18692, + "onda": 18693, + "Ġfemme": 18694, + "385": 18695, + "decode": 18696, + "Branch": 18697, + "Ġflush": 18698, + "Ġinnovative": 18699, + "Tests": 18700, + "Ġ['./": 18701, + "Ġcovering": 18702, + ".admin": 18703, + "ultipart": 18704, + "(lambda": 18705, + "namespace": 18706, + "ĠSport": 18707, + "Ġ!(": 18708, + "acles": 18709, + "Ġdepression": 18710, + "ĠKong": 18711, + "570": 18712, + "Ġpert": 18713, + "ĠConn": 18714, + "ĠOtherwise": 18715, + "/home": 18716, + "supported": 18717, + "Ġpink": 18718, + "Ġinvited": 18719, + "ños": 18720, + "_enabled": 18721, + "Ġ-Ċ": 18722, + "FW": 18723, + "eners": 18724, + "ĠMY": 18725, + "Ġsuggestions": 18726, + "Canvas": 18727, + "Ġfer": 18728, + "ĠMarketing": 18729, + "@Test": 18730, + "untu": 18731, + "ĠVen": 18732, + "ĠCou": 18733, + "ivals": 18734, + "Donald": 18735, + "limited": 18736, + "ĉĉĉĉĉĉĊ": 18737, + "Ġanalyst": 18738, + "(entry": 18739, + "Ġrepresentative": 18740, + "_attributes": 18741, + "Ġfur": 18742, + ".hide": 18743, + "resp": 18744, + "adores": 18745, + "rides": 18746, + "ĠJosh": 18747, + "robot": 18748, + "ĠNAT": 18749, + "Ġsesso": 18750, + "Ġintegrated": 18751, + ":true": 18752, + "parts": 18753, + "Ġstupid": 18754, + ":event": 18755, + "@endsection": 18756, + "Ġpu": 18757, + ".Table": 18758, + "ĠYii": 18759, + "`;ĊĊ": 18760, + "Ġclang": 18761, + "=\"\">": 18762, + "engan": 18763, + "_parameters": 18764, + ".internal": 18765, + "ĠModern": 18766, + "Ġmetric": 18767, + "Ġsemi": 18768, + "={{Ċ": 18769, + "707": 18770, + ".amazon": 18771, + "ĠBB": 18772, + "ainty": 18773, + "viewport": 18774, + "367": 18775, + "ĠstartActivity": 18776, + "dispatch": 18777, + "*****": 18778, + "Ġflav": 18779, + "ifferent": 18780, + "382": 18781, + "[this": 18782, + "Ġstake": 18783, + "Ġargued": 18784, + "viously": 18785, + ".work": 18786, + "ĠOak": 18787, + "Old": 18788, + "(async": 18789, + "notes": 18790, + "Ġflip": 18791, + "Ġdisag": 18792, + "ĠTE": 18793, + "ĉerror": 18794, + "<'": 18795, + "Ġ»ĊĊ": 18796, + "Ġfiltered": 18797, + "ĠMach": 18798, + "Ġhung": 18799, + "_dump": 18800, + "_samples": 18801, + "-dismiss": 18802, + "Ġray": 18803, + "Implemented": 18804, + "DK": 18805, + "Ġjed": 18806, + "090": 18807, + "Ġbreaks": 18808, + "Ġfits": 18809, + ".gr": 18810, + "ĠZero": 18811, + "oro": 18812, + "Ġequally": 18813, + "Ġ'[": 18814, + "Ġconcerning": 18815, + "<": 18914, + "Ġpromot": 18915, + "Ġincl": 18916, + "_only": 18917, + "를": 18918, + "ĠAttorney": 18919, + "-date": 18920, + "Ġlandscape": 18921, + "Ġfu": 18922, + "SY": 18923, + ".prop": 18924, + "ĠArr": 18925, + "pag": 18926, + "ParallelGroup": 18927, + "':čĊ": 18928, + "Ġlogs": 18929, + "aunch": 18930, + "unci": 18931, + "nama": 18932, + "TableCell": 18933, + "issues": 18934, + ".{": 18935, + "ecurity": 18936, + "_exec": 18937, + "olds": 18938, + "Ġhosts": 18939, + "Ġproto": 18940, + "_import": 18941, + "_sort": 18942, + "ĠBow": 18943, + "ĠNormal": 18944, + "ĠFarm": 18945, + ".createParallelGroup": 18946, + "Rotation": 18947, + ".err": 18948, + "Ġpleased": 18949, + "itage": 18950, + ".Wh": 18951, + "ĉĉĠĠĠĠ": 18952, + "MR": 18953, + "ĠMORE": 18954, + "ĠNatural": 18955, + "_transform": 18956, + "BASE": 18957, + "eneral": 18958, + "utdown": 18959, + ".commons": 18960, + "WT": 18961, + "Ġaan": 18962, + ".Result": 18963, + "dog": 18964, + "Ġclicking": 18965, + "),ĊĊ": 18966, + "#line": 18967, + "Operator": 18968, + "Ġciv": 18969, + "Ġmerg": 18970, + "obuf": 18971, + "ngthen": 18972, + "Ġ[{": 18973, + "Ġcancell": 18974, + "trigger": 18975, + ".:": 18976, + "WORK": 18977, + "declare": 18978, + "Ġdecrease": 18979, + "ÅĽci": 18980, + "loom": 18981, + ".None": 18982, + "ĠMI": 18983, + "ĠJason": 18984, + "Ġhealthcare": 18985, + "iamond": 18986, + "sylvania": 18987, + "*x": 18988, + "ĠRa": 18989, + "[b": 18990, + "Ġprinting": 18991, + "phabet": 18992, + "ĠLabour": 18993, + "opper": 18994, + "Ġzijn": 18995, + "-target": 18996, + "_FUNCTION": 18997, + "Ġoct": 18998, + "ениÑı": 18999, + "åľ¨": 19000, + "Ġwestern": 19001, + "Ġcomputers": 19002, + "ĠRET": 19003, + "HashMap": 19004, + "[String": 19005, + "getValue": 19006, + "_DATE": 19007, + ".Next": 19008, + "ĠFif": 19009, + "él": 19010, + "icked": 19011, + "æİ": 19012, + "-MM": 19013, + "Ġ{ĊĊĊ": 19014, + "Ġcontacts": 19015, + "Ġdigits": 19016, + "Produ": 19017, + "Ġunusual": 19018, + "Ġrapidly": 19019, + "tures": 19020, + "Ġangry": 19021, + "cancel": 19022, + "xxxx": 19023, + "_parser": 19024, + "idity": 19025, + "_PREFIX": 19026, + "710": 19027, + "Ġmehr": 19028, + "Ġrarely": 19029, + "ethe": 19030, + "opes": 19031, + "Ġ%.": 19032, + "works": 19033, + "Ġtheta": 19034, + "Ġcontribution": 19035, + "ĠTony": 19036, + "Ġsquad": 19037, + "537": 19038, + "ай": 19039, + "Ġîn": 19040, + "there": 19041, + "outed": 19042, + "ĉq": 19043, + "ĻĤ": 19044, + "good": 19045, + "LI": 19046, + "页": 19047, + "ĠLiving": 19048, + "izabeth": 19049, + "Ġkt": 19050, + "ĠDallas": 19051, + "]],Ċ": 19052, + "Ġ/>ĊĊ": 19053, + "Ġraising": 19054, + "/router": 19055, + "_game": 19056, + "368": 19057, + "ĠCUR": 19058, + "zens": 19059, + ".es": 19060, + "ĠfontWeight": 19061, + "(func": 19062, + "notification": 19063, + "Ġ'../../../": 19064, + "Ġblame": 19065, + "ãĢĤĊĊĊĊ": 19066, + "anco": 19067, + "980": 19068, + "Identity": 19069, + "follow": 19070, + "Ġarts": 19071, + "xs": 19072, + "Ġofficially": 19073, + "ĠStudio": 19074, + "Ġrecommendations": 19075, + "Ġlocale": 19076, + "Ġamateur": 19077, + "ĠEnable": 19078, + "Ġcaps": 19079, + ".End": 19080, + "388": 19081, + "-add": 19082, + "_gshared": 19083, + "ĠCT": 19084, + "Force": 19085, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĊ": 19086, + "Ġorange": 19087, + "Ġlp": 19088, + "Ġanswered": 19089, + ".Grid": 19090, + "Ġdual": 19091, + "Ġstrategic": 19092, + "Ġnobody": 19093, + "Ġfatal": 19094, + "_est": 19095, + "(el": 19096, + "Ġìł": 19097, + "ĠBudd": 19098, + "AIT": 19099, + "_factor": 19100, + "-one": 19101, + "ĠHAVE": 19102, + "\"čĊčĊ": 19103, + "760": 19104, + "Prof": 19105, + "Ġär": 19106, + "strings": 19107, + "Ġdirty": 19108, + "ĠFace": 19109, + "ĠBegin": 19110, + "ĠBus": 19111, + "Ġwis": 19112, + "åŃĹ": 19113, + "Ġspeaker": 19114, + "Ġcarrier": 19115, + "ĠOm": 19116, + "Ġhadn": 19117, + "Allow": 19118, + "::__": 19119, + "Ġverb": 19120, + "ĠComplete": 19121, + "ĠEasy": 19122, + "Ġbills": 19123, + "ĠĠĊĊ": 19124, + "Vertical": 19125, + "Ġpron": 19126, + "ĠDefine": 19127, + "Ġlookup": 19128, + "variables": 19129, + "Ġpandas": 19130, + "umes": 19131, + "Ġinnoc": 19132, + "ĠsetUp": 19133, + "ĠChampionship": 19134, + "artist": 19135, + "ĠCType": 19136, + "Foundation": 19137, + "à¹Ī": 19138, + "ĠSetup": 19139, + "428": 19140, + "Ġrecipes": 19141, + "ĠUIColor": 19142, + "ĠFight": 19143, + "Ġauthorized": 19144, + "_click": 19145, + "990": 19146, + "_success": 19147, + "angan": 19148, + "ĠMountain": 19149, + "ĠDoctor": 19150, + "Ġegg": 19151, + "ĠMedicine": 19152, + "cles": 19153, + "`.Ċ": 19154, + "[int": 19155, + "dashboard": 19156, + "ĠAppro": 19157, + "-dr": 19158, + "Ġproduces": 19159, + "Ġrental": 19160, + "Ġreload": 19161, + "381": 19162, + "Ġarrival": 19163, + "spot": 19164, + "Ġundert": 19165, + "378": 19166, + "Ġequipped": 19167, + "Ġproved": 19168, + "Ġcenters": 19169, + "Ġdefines": 19170, + "also": 19171, + "Ġopacity": 19172, + "ĠUnfortunately": 19173, + "ĠIllinois": 19174, + "Ġне": 19175, + "ĠTemple": 19176, + "ĠTrail": 19177, + "ĠKelly": 19178, + "Ġmeasurement": 19179, + "Ġseparated": 19180, + "-circle": 19181, + "Hey": 19182, + "ĠREAD": 19183, + "igits": 19184, + "Ġib": 19185, + "ĠMOD": 19186, + "attery": 19187, + "аз": 19188, + "Ġvend": 19189, + "енÑĤ": 19190, + "ĠHttpClient": 19191, + "359": 19192, + "safe": 19193, + "_ASS": 19194, + "icit": 19195, + "ĠConstruct": 19196, + "ĠClo": 19197, + "ĠSix": 19198, + "_TOKEN": 19199, + "(block": 19200, + "Ġwarned": 19201, + "/*!": 19202, + "!Ċ": 19296, + "Ġinnovation": 19297, + "_\"": 19298, + "Ġ);čĊčĊ": 19299, + "Ġspots": 19300, + "Ġchoosing": 19301, + ".cs": 19302, + "Ġflexible": 19303, + "UInt": 19304, + "435": 19305, + "930": 19306, + "Ġscratch": 19307, + "-al": 19308, + "Ġfestival": 19309, + "Ġoutstanding": 19310, + "================================================": 19311, + "Mean": 19312, + "ĠOregon": 19313, + "symbol": 19314, + ".account": 19315, + "dney": 19316, + "'''": 19317, + "!\",": 19318, + "901": 19319, + "Ġparticle": 19320, + "Ãĥ": 19321, + "[MAX": 19322, + "IVER": 19323, + "ERENCE": 19324, + "NSMutable": 19325, + "ĠColumbia": 19326, + "_ĊĊ": 19327, + ".fr": 19328, + "Ġcogn": 19329, + "VR": 19330, + "ĠMethods": 19331, + "ĠMade": 19332, + "ĠBR": 19333, + "ĠElse": 19334, + "Ġeggs": 19335, + "Ġswing": 19336, + "ĠInv": 19337, + "Ġdiseases": 19338, + "Ġfirms": 19339, + "Ġlemma": 19340, + "}`);Ċ": 19341, + "lings": 19342, + "Ġgym": 19343, + "uminum": 19344, + ".Trim": 19345, + "Mem": 19346, + "Ġcriticism": 19347, + "ibernate": 19348, + "_TX": 19349, + "ioni": 19350, + "Ġguidance": 19351, + "Ġrepeatedly": 19352, + "Ġsupplier": 19353, + "Ġpainting": 19354, + "864": 19355, + ".Fragment": 19356, + "edException": 19357, + "Ġwiring": 19358, + "Ġcourts": 19359, + "WEB": 19360, + "æľī": 19361, + "\\.": 19362, + "illance": 19363, + "Ġbrows": 19364, + "ĠPattern": 19365, + "PLICATION": 19366, + "ĠSummer": 19367, + "Chain": 19368, + "Ġcute": 19369, + "mercial": 19370, + "Ġdil": 19371, + "ĠFranklin": 19372, + "ĉglobal": 19373, + "INCLUDING": 19374, + "history": 19375, + "Ġlst": 19376, + "Qt": 19377, + "SDL": 19378, + "alia": 19379, + "iere": 19380, + "(...": 19381, + "ĉcin": 19382, + "iffs": 19383, + "velope": 19384, + "ĠRoot": 19385, + "cluster": 19386, + "UserName": 19387, + "igne": 19388, + "()Ċ": 19485, + "Ġapplying": 19486, + "Ġpromised": 19487, + "Ġox": 19488, + "ncia": 19489, + "ĠValidation": 19490, + "orts": 19491, + "_cur": 19492, + "elect": 19493, + "eye": 19494, + "(Data": 19495, + "Ġreporter": 19496, + "ĠBuff": 19497, + "395": 19498, + "Ġsr": 19499, + "Ġ\";": 19500, + "icky": 19501, + "Ġtempor": 19502, + "SN": 19503, + "Ġresident": 19504, + "pires": 19505, + "ysical": 19506, + "Ġendorse": 19507, + "ĠSong": 19508, + "isEmpty": 19509, + "leet": 19510, + "_util": 19511, + "Ġdistingu": 19512, + "ĠTalk": 19513, + "ĠMot": 19514, + "(default": 19515, + ".Arg": 19516, + "gorithms": 19517, + "_words": 19518, + "immer": 19519, + "_reset": 19520, + "family": 19521, + "WW": 19522, + "Ġsavings": 19523, + "ĠâĢĿ": 19524, + "_enable": 19525, + "sidebar": 19526, + "Running": 19527, + "Ġali": 19528, + "Ġtestim": 19529, + "Ġwarnings": 19530, + "ĠChem": 19531, + "ĠExit": 19532, + "Ġfounder": 19533, + "pector": 19534, + "Ġrm": 19535, + "_dataset": 19536, + "ĠDas": 19537, + "Ġhan": 19538, + "Getty": 19539, + "ál": 19540, + "Ġny": 19541, + "Ġpoverty": 19542, + "Ġresulted": 19543, + ".by": 19544, + "ĠVisit": 19545, + "Ġobtaining": 19546, + "/'.$": 19547, + "ĠĠĠĠĠĠĠĠĠĠĠĊ": 19548, + "shall": 19549, + "_LEFT": 19550, + "UIImage": 19551, + "_Name": 19552, + "have": 19553, + "ĠNob": 19554, + "lr": 19555, + "-footer": 19556, + "Ġnaked": 19557, + "ĠGarden": 19558, + "\\Facades": 19559, + "Ġgraduate": 19560, + "417": 19561, + "Ġfranchise": 19562, + "plane": 19563, + "Ġcontributions": 19564, + "ĠstringWith": 19565, + "Ġcrypto": 19566, + "Ġmovements": 19567, + "athers": 19568, + "Ġlifetime": 19569, + "Ġcommunicate": 19570, + "jar": 19571, + "ĠFragment": 19572, + "_IF": 19573, + "ĠNavy": 19574, + "ĠFigure": 19575, + "Ġsimulation": 19576, + "_stop": 19577, + "Ġreporters": 19578, + "Ġversus": 19579, + "aja": 19580, + "Ġα": 19581, + "Ġgovernor": 19582, + "ListItem": 19583, + "Ġsealed": 19584, + ".Background": 19585, + "edi": 19586, + "ashing": 19587, + "Ġlip": 19588, + "ĠIh": 19589, + "merge": 19590, + "Ġnec": 19591, + "024": 19592, + "elocity": 19593, + "ATEG": 19594, + "Ġseeds": 19595, + "Ġfloating": 19596, + "701": 19597, + "_FA": 19598, + "walk": 19599, + "ĉuser": 19600, + "_depth": 19601, + "Ġwage": 19602, + "@app": 19603, + "Nil": 19604, + "([\"": 19605, + "(vector": 19606, + "Ġsecretary": 19607, + "461": 19608, + "ĠjPanel": 19609, + "vez": 19610, + "³³³³": 19611, + "direction": 19612, + "ĠEP": 19613, + "Ġhunt": 19614, + "396": 19615, + "JsonProperty": 19616, + "ĠPORT": 19617, + "]\",": 19618, + "ап": 19619, + "ĠForeign": 19620, + "panic": 19621, + "Ġtrials": 19622, + "ĠAle": 19623, + "Ġrural": 19624, + "-value": 19625, + "authorized": 19626, + "ĠScotland": 19627, + ".drop": 19628, + "ĠMT": 19629, + "ç±": 19630, + "391": 19631, + "rowth": 19632, + "515": 19633, + "FilePath": 19634, + "Ġrecall": 19635, + "ifle": 19636, + "Ġcel": 19637, + "ĠSELECT": 19638, + "kn": 19639, + "_case": 19640, + "Ġcrop": 19641, + "543": 19642, + "sure": 19643, + "pot": 19644, + "ICS": 19645, + "Ġstem": 19646, + "Ġindustries": 19647, + "Put": 19648, + "Ġaber": 19649, + "roadcast": 19650, + "Icons": 19651, + ")\")Ċ": 19652, + "æĪIJåĬŁ": 19653, + "gui": 19654, + "Ġassumed": 19655, + "Ġrx": 19656, + "EA": 19657, + "è§": 19658, + "ELL": 19659, + "Ġdose": 19660, + "Ġine": 19661, + "Ġdeeper": 19662, + "lider": 19663, + "Ġordinary": 19664, + "Ġgolf": 19665, + "605": 19666, + "_IMAGE": 19667, + "ĠNAME": 19668, + "(module": 19669, + "Ġatom": 19670, + "Ġbelt": 19671, + "Ġoffices": 19672, + "506": 19673, + "beta": 19674, + "Ġphilosophy": 19675, + "(JSON": 19676, + "-field": 19677, + "Ġintroduce": 19678, + "Ġconvenience": 19679, + "optim": 19680, + ">\"Ċ": 19681, + "athy": 19682, + "Ġemployer": 19683, + "quate": 19684, + "Ġedited": 19685, + "Arguments": 19686, + "ĠNations": 19687, + "__)": 19688, + "Ġnose": 19689, + "ĠSample": 19690, + "')ĊĊĊ": 19691, + "Ġcake": 19692, + ".getAttribute": 19693, + "HD": 19694, + "392": 19695, + "Modified": 19696, + "445": 19697, + "Ġpredicted": 19698, + "ÅĦ": 19699, + "anie": 19700, + "Sorry": 19701, + "(doc": 19702, + "wind": 19703, + "ieve": 19704, + "Ġprovisions": 19705, + "ATER": 19706, + "OTE": 19707, + "MY": 19708, + ".Autowired": 19709, + "ĠBath": 19710, + "423": 19711, + ".Boolean": 19712, + "Ġbackend": 19713, + ".Mouse": 19714, + "ateral": 19715, + "paper": 19716, + "Const": 19717, + "ĠVR": 19718, + "_entity": 19719, + "_CTRL": 19720, + "ĠProtection": 19721, + "ĠGM": 19722, + "ĠStudy": 19723, + "Ġsoup": 19724, + "otime": 19725, + "'use": 19726, + "]\"": 19727, + "/users": 19728, + "aug": 19729, + "ĠHong": 19730, + "_norm": 19731, + "ãģ¨": 19732, + "Ġsecre": 19733, + "(Build": 19734, + "ĠContract": 19735, + "olas": 19736, + "Ġsauce": 19737, + "Ġaggressive": 19738, + "Ġracial": 19739, + "character": 19740, + "@@": 19741, + "Ġcompile": 19742, + "ĠVoid": 19743, + "_rem": 19744, + "_memory": 19745, + "348": 19746, + "kk": 19747, + "Ġmic": 19748, + "Same": 19749, + "Utility": 19750, + "ĠHtml": 19751, + "ĠXml": 19752, + "Ready": 19753, + "Ġgall": 19754, + "Ġallegedly": 19755, + "ĉĉĉĉĠĠĠ": 19756, + "ĠMetal": 19757, + "ĠPersonal": 19758, + "ĠborderRadius": 19759, + "rxjs": 19760, + "objects": 19761, + "Ġwanting": 19762, + "Ġbowl": 19763, + "vendor": 19764, + "offsetof": 19765, + "ĠRs": 19766, + "ĠRating": 19767, + "Ġrally": 19768, + "_NODE": 19769, + "418": 19770, + "ĠMix": 19771, + "Ġadvertis": 19772, + "485": 19773, + "667": 19774, + "Ġnarrative": 19775, + "sal": 19776, + "Ġmc": 19777, + "SError": 19778, + "Ġfingers": 19779, + "Ġaccompany": 19780, + "Ġtired": 19781, + "Ġstride": 19782, + "Ġgui": 19783, + "elist": 19784, + "Locale": 19785, + "Ġreleases": 19786, + "iking": 19787, + "Ġanger": 19788, + ")))ĊĊ": 19789, + "allest": 19790, + "Summary": 19791, + "(O": 19792, + "(for": 19793, + "Ġbasketball": 19794, + "Ġroads": 19795, + "ĠInstall": 19796, + "ĠFab": 19797, + "itmap": 19798, + "475": 19799, + "Ġ))Ċ": 19800, + "Ġintersection": 19801, + "ighbor": 19802, + "ĠBry": 19803, + "ĠHERE": 19804, + "Software": 19805, + "elfare": 19806, + "acs": 19807, + "622": 19808, + "Ġtrailer": 19809, + ".getClass": 19810, + "chars": 19811, + "Ġregulation": 19812, + "Ġrefers": 19813, + "Ġdestruction": 19814, + "Ġcontinuous": 19815, + "ĠAustin": 19816, + "é¢": 19817, + "akan": 19818, + ".window": 19819, + "ĠTemplates": 19820, + "Ġabsence": 19821, + ":n": 19822, + "Ġdisorder": 19823, + "flash": 19824, + "Ġdelet": 19825, + "boards": 19826, + "ĠĠĉ": 19827, + "ROP": 19828, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 19829, + "Ġacqu": 19830, + "Ġlawsuit": 19831, + "ĠReviews": 19832, + "Ġgarage": 19833, + "timer": 19834, + "Ġej": 19835, + "ĠRectangle": 19836, + "Ġflowers": 19837, + "398": 19838, + "ilst": 19839, + "ĠInstance": 19840, + "Super": 19841, + "det": 19842, + "disposing": 19843, + "ĠES": 19844, + "ĠIC": 19845, + "vere": 19846, + "Sk": 19847, + "_channels": 19848, + "puted": 19849, + "/null": 19850, + "nnen": 19851, + "431": 19852, + "ĠGallery": 19853, + "_global": 19854, + "Authentication": 19855, + "ĠRank": 19856, + "Ġblocked": 19857, + "Ġcalm": 19858, + "market": 19859, + "ĉval": 19860, + "Ġaug": 19861, + "period": 19862, + "ĠConstant": 19863, + "Ġ?>\">Ċ": 19864, + "Ġlobby": 19865, + "pal": 19866, + "379": 19867, + "Ġsink": 19868, + "508": 19869, + "iah": 19870, + "С": 19871, + "urname": 19872, + "Ġconver": 19873, + "Ġinvestigate": 19874, + "Christ": 19875, + "Hub": 19876, + "ĠIND": 19877, + "ĠPed": 19878, + "uras": 19879, + "ĉurl": 19880, + "ĠTro": 19881, + "Ġpreferences": 19882, + "Ġguaranteed": 19883, + "`ĊĊ": 19884, + "Ġportions": 19885, + "Ġevalu": 19886, + "'>;ĊĊ": 19985, + ".AutoScaleMode": 19986, + "Ġcats": 19987, + "465": 19988, + "Ġregistry": 19989, + "ulus": 19990, + "FI": 19991, + "payload": 19992, + "-search": 19993, + "Ġstaying": 19994, + "acious": 19995, + "Decoration": 19996, + "Review": 19997, + "Inf": 19998, + "Keep": 19999, + "itis": 20000, + ",String": 20001, + "Coord": 20002, + "Ġpero": 20003, + "Sex": 20004, + "ĠAtlanta": 20005, + "uesta": 20006, + "Argb": 20007, + ">*": 20008, + "}_": 20009, + "Footer": 20010, + "Ġemployed": 20011, + "_bound": 20012, + "vide": 20013, + ".func": 20014, + "$scope": 20015, + "Ġspo": 20016, + "ĠAnal": 20017, + "ounced": 20018, + "around": 20019, + "Ġrestriction": 20020, + "Ġshops": 20021, + "åĢ": 20022, + "ĠLatin": 20023, + "-col": 20024, + "Ġbarely": 20025, + "ĠEuro": 20026, + "Er": 20027, + "Ġfaire": 20028, + "_distance": 20029, + "_unlock": 20030, + "Quote": 20031, + "IVATE": 20032, + "ĠåĪ": 20033, + "Ġaimed": 20034, + "ĠRetrie": 20035, + ".iter": 20036, + "Ġwrapped": 20037, + "Ġagreements": 20038, + "strument": 20039, + "(product": 20040, + "Ġstudied": 20041, + ".setValue": 20042, + "Ġye": 20043, + "ĠCache": 20044, + "MBOL": 20045, + "Ġquarterback": 20046, + "Ġsyntax": 20047, + ".getElementsBy": 20048, + ".version": 20049, + "website": 20050, + "Runner": 20051, + "_single": 20052, + "ativ": 20053, + "ĠAltern": 20054, + "ĠBeautiful": 20055, + "rightarrow": 20056, + "Ġdiversity": 20057, + "plash": 20058, + "(co": 20059, + ".Fill": 20060, + "Ġtyping": 20061, + "387": 20062, + "023": 20063, + "Ġclar": 20064, + "Hit": 20065, + "OO": 20066, + "acco": 20067, + "507": 20068, + "worth": 20069, + "Ġscripts": 20070, + "ĠMuslims": 20071, + "ĠLL": 20072, + "erving": 20073, + "(boolean": 20074, + "Ġbaseball": 20075, + "ĠCAN": 20076, + "394": 20077, + "044": 20078, + "MAIL": 20079, + "depend": 20080, + "Ġrespective": 20081, + "Ġconstexpr": 20082, + ".*;ĊĊ": 20083, + "']))Ċ": 20084, + "Ġyard": 20085, + "Ġidentical": 20086, + "ifecycle": 20087, + "USH": 20088, + "upiter": 20089, + ".validate": 20090, + "cli": 20091, + "ISTER": 20092, + "Indicator": 20093, + "Fail": 20094, + "Ġdemocracy": 20095, + ".var": 20096, + "Ġsatisfied": 20097, + "-------------": 20098, + "encer": 20099, + "hor": 20100, + "Ġrounds": 20101, + "DAO": 20102, + "oa": 20103, + "Ġflask": 20104, + "=c": 20105, + "[]Ċ": 20106, + "/dist": 20107, + "Ġparte": 20108, + "Ġconfirmation": 20109, + "eron": 20110, + "aware": 20111, + "": 20112, + "Ġdependencies": 20113, + "ĠVideos": 20114, + "-row": 20115, + "Ġ**/Ċ": 20116, + "Ġnou": 20117, + "Ġhover": 20118, + "æŀ": 20119, + "Ġnin": 20120, + "ĠUSD": 20121, + "Mac": 20122, + "_Load": 20123, + "Ġoutcomes": 20124, + "_socket": 20125, + "Ġqueries": 20126, + "wm": 20127, + "592": 20128, + "Ġhitting": 20129, + "inux": 20130, + "Mich": 20131, + "udge": 20132, + "ATAB": 20133, + "Ġvulnerable": 20134, + "ä¾": 20135, + "Ġportfolio": 20136, + ":YES": 20137, + "ĉmap": 20138, + "Bound": 20139, + "Ġiteration": 20140, + "incess": 20141, + "Ġactors": 20142, + "ĠQual": 20143, + "_clean": 20144, + "ãĢijãĢIJ": 20145, + "MSG": 20146, + "Green": 20147, + "ĠOfficer": 20148, + "Ġsmoking": 20149, + ">',": 20150, + "ĠFlo": 20151, + "++;": 20152, + "433": 20153, + "olygon": 20154, + "Ġbulk": 20155, + "Ġdrama": 20156, + "Ġexceptions": 20157, + "osed": 20158, + "Ġ+čĊ": 20159, + "Ġlegacy": 20160, + "CV": 20161, + "Ġcontributed": 20162, + "ĠTerms": 20163, + "Ġbt": 20164, + "434": 20165, + "Ġuntuk": 20166, + "Ġalien": 20167, + "===Ċ": 20168, + "ĉVector": 20169, + "Ġls": 20170, + "Online": 20171, + ".facebook": 20172, + "numeric": 20173, + "ockets": 20174, + "Aut": 20175, + "bury": 20176, + "-redux": 20177, + "ĠRedistributions": 20178, + "GLOBALS": 20179, + "urrencies": 20180, + "Ġtons": 20181, + "âĢĻ,": 20182, + "Ġê": 20183, + "(col": 20184, + "ĠSymbol": 20185, + "Ġstayed": 20186, + "ĠML": 20187, + "Ġmunicip": 20188, + "Ġsexo": 20189, + "Sen": 20190, + "nr": 20191, + "Ġgains": 20192, + "Ġshortly": 20193, + ".Menu": 20194, + "ý": 20195, + "KNOWN": 20196, + "Ġoperators": 20197, + "-V": 20198, + "ĠPatrick": 20199, + "/add": 20200, + "_CO": 20201, + "iration": 20202, + "(post": 20203, + "Posts": 20204, + "/_": 20205, + "Ġplug": 20206, + "Ġintellectual": 20207, + "Ġmetab": 20208, + "Ġpregnancy": 20209, + "ĠPremier": 20210, + "nm": 20211, + "Ġprediction": 20212, + "606": 20213, + "ĠMinistry": 20214, + "Three": 20215, + "valuate": 20216, + "ĠMini": 20217, + "bu": 20218, + "оз": 20219, + "\";čĊ": 20679, + "ĠSav": 20680, + ".Bold": 20681, + "Ġenables": 20682, + "ĉtmp": 20683, + "Ġmanually": 20684, + "ĠSqu": 20685, + "userid": 20686, + ".function": 20687, + ".cache": 20688, + "LOPT": 20689, + ".Services": 20690, + "588": 20691, + "ddit": 20692, + "tim": 20693, + ">>": 20761, + "station": 20762, + "lore": 20763, + "atype": 20764, + "ishop": 20765, + "/****************************************************************": 20766, + "521": 20767, + "ComboBox": 20768, + "Ġvacation": 20769, + "Ġinitiative": 20770, + "ĠdefaultValue": 20771, + "770": 20772, + "concat": 20773, + "ĠKh": 20774, + "632": 20775, + "ĠWelcome": 20776, + "izedName": 20777, + "Migration": 20778, + "Ġgradient": 20779, + "Hot": 20780, + "Ġhardly": 20781, + "elo": 20782, + "ĠStudents": 20783, + "Ġloose": 20784, + "730": 20785, + "atz": 20786, + ".Send": 20787, + "'/": 20788, + "Ġuniversal": 20789, + "Ġenterprise": 20790, + "Ġregex": 20791, + "Ġvisitor": 20792, + "ĠFly": 20793, + "Seq": 20794, + "à¸Ļ": 20795, + "ĠVisual": 20796, + "Ġlibraries": 20797, + "atoes": 20798, + "Payment": 20799, + "447": 20800, + "Ġpent": 20801, + "Ġgathered": 20802, + "VRTX": 20803, + "ĠDM": 20804, + "Split": 20805, + "Ġletting": 20806, + "ÐĿ": 20807, + "_errors": 20808, + "epoch": 20809, + "PARAM": 20810, + "cu": 20811, + "ÑģÑĤв": 20812, + "olutions": 20813, + "Editing": 20814, + "fonts": 20815, + "Ġallocated": 20816, + "ĠBased": 20817, + "(Y": 20818, + "ĠJudge": 20819, + "Ġbrothers": 20820, + "FILES": 20821, + "ço": 20822, + "531": 20823, + "wb": 20824, + "_PI": 20825, + "'^": 20826, + "Ġsword": 20827, + ".services": 20828, + "Ġnl": 20829, + "Tim": 20830, + "igg": 20831, + "ĠMoore": 20832, + "Ġcryptoc": 20833, + "åĩº": 20834, + "_posts": 20835, + "otate": 20836, + "?'": 20837, + "....ĊĊ": 20838, + "Ġkl": 20839, + "=\"$": 20840, + "Ġdecoration": 20841, + "ạ": 20842, + "ĠDIRECT": 20843, + "GUI": 20844, + ")=>{Ċ": 20845, + "Ġnewsletter": 20846, + "Ġprecis": 20847, + "(point": 20848, + "ĠEquipment": 20849, + "uty": 20850, + "ĠDave": 20851, + "Ġparticipation": 20852, + "uarios": 20853, + "xit": 20854, + ".As": 20855, + "ETER": 20856, + "orous": 20857, + "Ġshield": 20858, + "[]>": 20859, + "ilitary": 20860, + ".origin": 20861, + "Ġpromotion": 20862, + "Unt": 20863, + "Ġct": 20864, + "TRA": 20865, + "556": 20866, + "ViewHolder": 20867, + "Ġsigma": 20868, + "delta": 20869, + "arehouse": 20870, + "contract": 20871, + "(Vector": 20872, + "721": 20873, + "Ġcompete": 20874, + "/form": 20875, + "/components": 20876, + "Ġnr": 20877, + "ĠIndones": 20878, + "ĠоÑĤ": 20879, + "ĠVolume": 20880, + ".files": 20881, + "(resp": 20882, + "/models": 20883, + "Ġsurf": 20884, + "standard": 20885, + "/o": 20886, + "ĠXCTAssert": 20887, + "VICES": 20888, + ".Code": 20889, + "SED": 20890, + "Ġactivate": 20891, + "Delta": 20892, + "Ġlimitation": 20893, + "rij": 20894, + "Ġpregnant": 20895, + ":^(": 20896, + "Ġsour": 20897, + "pie": 20898, + "803": 20899, + "Ġexpense": 20900, + "ication": 20901, + "ĠLarge": 20902, + "Ġ±": 20903, + "ĠBowl": 20904, + "(models": 20905, + "/N": 20906, + "857": 20907, + "Pa": 20908, + ".reload": 20909, + "Ġwondering": 20910, + "462": 20911, + "Execution": 20912, + "ĉĠĠĠĠĠĠ": 20913, + "ĠGraphics": 20914, + "ĠContin": 20915, + "_job": 20916, + "ĠgetName": 20917, + "ĠMagn": 20918, + "ĠDWORD": 20919, + "mad": 20920, + "Ġnh": 20921, + "features": 20922, + "}\");Ċ": 20923, + "heets": 20924, + "(train": 20925, + "zn": 20926, + "Ġrecruit": 20927, + ".connection": 20928, + "Ġbarrel": 20929, + "Ġsteam": 20930, + "_setting": 20931, + "Ġangular": 20932, + "aneously": 20933, + "Ġbil": 20934, + "ĠNorm": 20935, + "522": 20936, + "(!$": 20937, + "ibt": 20938, + "%(": 20939, + "Ġposit": 20940, + "ĠFather": 20941, + "intendo": 20942, + "565": 20943, + "Live": 20944, + "041": 20945, + "Ġports": 20946, + "Ġmej": 20947, + "Ġlanding": 20948, + "ponder": 20949, + "Ġcod": 20950, + "_HEADER": 20951, + ".Margin": 20952, + "Ġballs": 20953, + "Ġdiscussions": 20954, + "Ġblend": 20955, + "Hex": 20956, + "Ġfarmers": 20957, + "Ġmaintaining": 20958, + "ĠĠĠčĊ": 20959, + "syn": 20960, + "[T": 20961, + "rus": 20962, + "439": 20963, + "uffers": 20964, + "Ġcontributors": 20965, + "_sys": 20966, + ".Debug": 20967, + "Ġconstructed": 20968, + "omes": 20969, + "?id": 20970, + "slider": 20971, + "Ġsuppliers": 20972, + "611": 20973, + "scriber": 20974, + "pes": 20975, + "Ðŀ": 20976, + "\":čĊ": 20977, + "\\Controller": 20978, + "))ĊĊĊ": 20979, + "Ġlua": 20980, + "Multi": 20981, + "ENS": 20982, + "Src": 20983, + "Ġpetition": 20984, + "Ġslave": 20985, + "looking": 20986, + "VERT": 20987, + "ĉvector": 20988, + "Special": 20989, + "hh": 20990, + "anne": 20991, + "ĠNiger": 20992, + "/views": 20993, + "zing": 20994, + "endant": 20995, + "(": 21238, + "544": 21239, + ".Product": 21240, + "Forms": 21241, + "NEW": 21242, + "Pay": 21243, + "ĉboolean": 21244, + "_contact": 21245, + "ĠElectric": 21246, + "skip": 21247, + "Ġwur": 21248, + "Ġchronic": 21249, + "_driver": 21250, + "940": 21251, + "ĠSab": 21252, + "ĠUlt": 21253, + "ĠRad": 21254, + "STATUS": 21255, + "ĠLewis": 21256, + "OB": 21257, + "Ġgifts": 21258, + ".Rec": 21259, + "TRUE": 21260, + "Ġintensity": 21261, + "Marker": 21262, + ".compare": 21263, + "ffic": 21264, + "Cookie": 21265, + "ĠBaby": 21266, + "ĠBigDecimal": 21267, + "ilet": 21268, + "ĠHOLDERS": 21269, + "ĠLady": 21270, + "Ġlung": 21271, + "ĠAlabama": 21272, + "Ġdess": 21273, + "`);Ċ": 21274, + "ĠBuilder": 21275, + "_region": 21276, + "Ġneutral": 21277, + "909": 21278, + "Both": 21279, + "Ġhp": 21280, + "Ġhorn": 21281, + "Ġsegments": 21282, + "ĠEC": 21283, + "\"=>\"": 21284, + "(rec": 21285, + "ĠPi": 21286, + "GM": 21287, + "Ġlaptop": 21288, + "Scalar": 21289, + "463": 21290, + "isd": 21291, + "-dialog": 21292, + "ĠAnderson": 21293, + "Ġmistakes": 21294, + "708": 21295, + "ĠHan": 21296, + "jes": 21297, + "estination": 21298, + "436": 21299, + "Ġpromises": 21300, + "bid": 21301, + "ĠScient": 21302, + "GIN": 21303, + "ĠPerformance": 21304, + "bage": 21305, + ".users": 21306, + "leading": 21307, + "Ġoral": 21308, + "Graphics": 21309, + "488": 21310, + "_PTR": 21311, + "518": 21312, + "hang": 21313, + "Ġinev": 21314, + "processing": 21315, + "Factor": 21316, + "ĠNA": 21317, + "$string": 21318, + "Ġgrounds": 21319, + ".SaveChanges": 21320, + "clock": 21321, + "941": 21322, + "cripcion": 21323, + "ĠNewton": 21324, + "gc": 21325, + ".includes": 21326, + "Ġblast": 21327, + "Ġ'-'": 21328, + "Ġpuede": 21329, + "469": 21330, + ".Session": 21331, + "Ġgrep": 21332, + "_final": 21333, + "ĠGay": 21334, + "ĠGive": 21335, + "iri": 21336, + "-star": 21337, + "ĠUIImage": 21338, + "_epoch": 21339, + "ubb": 21340, + "enth": 21341, + "Ġelite": 21342, + "Ġcampaigns": 21343, + "ĠPorno": 21344, + "_assign": 21345, + "Protocol": 21346, + "ĠBeing": 21347, + "ĠAirport": 21348, + "Ġconventional": 21349, + "ĠWat": 21350, + "ĠCI": 21351, + "ETA": 21352, + "ĠAnthony": 21353, + "Ġtablet": 21354, + "(format": 21355, + "Ġconsistently": 21356, + "ĠIowa": 21357, + "474": 21358, + "Ġavatar": 21359, + "027": 21360, + ".cursor": 21361, + "![": 21362, + "Ġhanging": 21363, + "Her": 21364, + "Such": 21365, + "';ĊĊĊ": 21366, + "orgeous": 21367, + "()==": 21368, + "ĠviewModel": 21369, + "Ġãĥ": 21370, + "Ġels": 21371, + "ĠAgent": 21372, + "Fetch": 21373, + "apor": 21374, + "Ġcx": 21375, + "pread": 21376, + "ĠPier": 21377, + "oeff": 21378, + "616": 21379, + "Sn": 21380, + "890": 21381, + "ĠVirtual": 21382, + "Apr": 21383, + ".White": 21384, + "615": 21385, + "_MOD": 21386, + "ĠPoints": 21387, + "失": 21388, + "Ġgenes": 21389, + "Ġvendor": 21390, + "Ġmainstream": 21391, + "Ċ": 21421, + "Filename": 21422, + "Ġsne": 21423, + "ĠFootball": 21424, + "Ġrival": 21425, + "Ġdisaster": 21426, + "ionic": 21427, + "ĠDamage": 21428, + ".Resource": 21429, + "-en": 21430, + "ĠTypes": 21431, + "getString": 21432, + "(board": 21433, + "Ġbol": 21434, + "plain": 21435, + "zym": 21436, + "า": 21437, + "Ġscanner": 21438, + "ilder": 21439, + "_msgs": 21440, + "æı": 21441, + "(intent": 21442, + "Ġdestruct": 21443, + "Ġbust": 21444, + "ĠEmploy": 21445, + "oni": 21446, + "ĠUIViewController": 21447, + "Ġodds": 21448, + "earer": 21449, + "Geometry": 21450, + "Ġyii": 21451, + "_EXPORT": 21452, + "ĠAttack": 21453, + "Ġniet": 21454, + "Ġimpression": 21455, + "ĠGil": 21456, + "_prob": 21457, + "528": 21458, + "ĠCF": 21459, + "ĠExperience": 21460, + "/plugins": 21461, + ".Method": 21462, + "Ġbeliefs": 21463, + "Native": 21464, + "_build": 21465, + "Ġvig": 21466, + "Ġranks": 21467, + "covered": 21468, + "705": 21469, + "such": 21470, + "Guard": 21471, + ".pack": 21472, + "adder": 21473, + "809": 21474, + "ivia": 21475, + "lng": 21476, + "ĠвÑĭ": 21477, + "552": 21478, + "Timestamp": 21479, + "_now": 21480, + "Ġpoker": 21481, + "Ġunc": 21482, + "Ġshapes": 21483, + "-types": 21484, + "_period": 21485, + "pk": 21486, + "Ġveteran": 21487, + "Ġsono": 21488, + "Ġappointed": 21489, + "overflow": 21490, + ".driver": 21491, + "_cat": 21492, + "utt": 21493, + "plant": 21494, + "imb": 21495, + "ĠAccept": 21496, + "Ġconcert": 21497, + "ĉnode": 21498, + "ĉz": 21499, + "?>čĊ": 21500, + "Ġbanned": 21501, + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 21502, + "Ġtoxic": 21503, + "Ġdisappe": 21504, + "473": 21505, + "ÈĽ": 21506, + "Ġgrace": 21507, + "ateful": 21508, + "Reply": 21509, + "ĠCruz": 21510, + "486": 21511, + "Ġscrap": 21512, + "Ġkeywords": 21513, + "simp": 21514, + "Ġmortgage": 21515, + "Ġcyber": 21516, + "ĠExecute": 21517, + "Ġlatitude": 21518, + "ifu": 21519, + ".COM": 21520, + "dbo": 21521, + "Ġsorts": 21522, + "ĠGas": 21523, + "omial": 21524, + ".Local": 21525, + "Cells": 21526, + ".Replace": 21527, + "Strings": 21528, + ".fit": 21529, + "ĠThird": 21530, + "%\",Ċ": 21531, + "Ġ{}\".": 21532, + "ĠSony": 21533, + "Ġ[:": 21534, + "585": 21535, + "Ġfallen": 21536, + ".')Ċ": 21537, + "inh": 21538, + "ĠMC": 21539, + "Ġredis": 21540, + "Codes": 21541, + "Ġprofiles": 21542, + "hook": 21543, + "Reducer": 21544, + "_FUNC": 21545, + "Ġnavigate": 21546, + "strlen": 21547, + "Ġhorm": 21548, + "áŀ": 21549, + "ĠSR": 21550, + ".boot": 21551, + "Ġdigest": 21552, + "ĉheader": 21553, + ".findOne": 21554, + "æģ": 21555, + "DbType": 21556, + "nia": 21557, + "_merge": 21558, + "Ġdonne": 21559, + "/Getty": 21560, + "_CHAR": 21561, + "Ġbands": 21562, + ".URL": 21563, + "artial": 21564, + "Ġfreq": 21565, + "Ġsist": 21566, + "Ng": 21567, + "Ġrendering": 21568, + "\\Core": 21569, + "Widgets": 21570, + "ĠVA": 21571, + "Ġactivists": 21572, + "Ste": 21573, + "=_": 21574, + "alla": 21575, + "Stamp": 21576, + "Ġloads": 21577, + "Ġxx": 21578, + "ĠLearning": 21579, + ".Mvc": 21580, + "uir": 21581, + "(\"$": 21582, + "Ġconnecting": 21583, + "ReadOnly": 21584, + "uru": 21585, + "ĠEag": 21586, + "BIT": 21587, + "_DEL": 21588, + "å§": 21589, + "arrass": 21590, + "external": 21591, + "ĠYOUR": 21592, + "ĠBrew": 21593, + "ĠFive": 21594, + "Ġresize": 21595, + "igid": 21596, + "eration": 21597, + "653": 21598, + "ĠÑį": 21599, + "536": 21600, + "åĬł": 21601, + "039": 21602, + "ĠCatch": 21603, + "Ùģ": 21604, + "ĠLeon": 21605, + "amil": 21606, + ".Body": 21607, + "Clip": 21608, + "/list": 21609, + ".br": 21610, + "EditText": 21611, + "ĉdb": 21612, + ".Game": 21613, + "(BuildContext": 21614, + "backend": 21615, + ".Red": 21616, + "facebook": 21617, + "529": 21618, + ".urls": 21619, + "mr": 21620, + "rolled": 21621, + "-------": 21622, + "Ġintervention": 21623, + "Ġretirement": 21624, + "ĠKit": 21625, + "ĠPRE": 21626, + "UpperCase": 21627, + "ĠSocket": 21628, + "Ġ:-": 21629, + "Ġstudying": 21630, + "ĠMetro": 21631, + "arded": 21632, + "Ġconversations": 21633, + "Called": 21634, + "Ġexamine": 21635, + "ertificate": 21636, + ".gz": 21637, + "-responsive": 21638, + "Ġrefund": 21639, + "_network": 21640, + "026": 21641, + "allowed": 21642, + "empt": 21643, + "Ġmeals": 21644, + "Categories": 21645, + "Ġtraveling": 21646, + "Ġkg": 21647, + "Ġshame": 21648, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 21649, + "Ġexplicitly": 21650, + "Ġmathematic": 21651, + "ĠSuite": 21652, + "ĠRGB": 21653, + "******/": 21654, + "Ġmixture": 21655, + "learning": 21656, + ".template": 21657, + "atts": 21658, + "wx": 21659, + "ĉctx": 21660, + ".properties": 21661, + "Ġdrinks": 21662, + "ĠEither": 21663, + "setText": 21664, + ".getData": 21665, + ".zip": 21666, + "Ġreveals": 21667, + ".Ċ": 21681, + "Ġranked": 21682, + "_impl": 21683, + "ĠHandles": 21684, + "Ġhosted": 21685, + "Ġupdating": 21686, + "album": 21687, + "éĿ": 21688, + "Ġshader": 21689, + "Editors": 21690, + "-round": 21691, + "[]{": 21692, + "Ġsep": 21693, + "ĠHi": 21694, + "TEM": 21695, + "lookup": 21696, + ".man": 21697, + "_INPUT": 21698, + "Ġthreatened": 21699, + "_IMPORT": 21700, + "Ġdrops": 21701, + "ruit": 21702, + "sid": 21703, + "both": 21704, + "ĠExcel": 21705, + "Ġjer": 21706, + "ordinary": 21707, + "ей": 21708, + "VIEW": 21709, + "reply": 21710, + "Ġ):Ċ": 21711, + "colors": 21712, + "verified": 21713, + "_Tr": 21714, + "_parse": 21715, + "Ġcongress": 21716, + "617": 21717, + "Promise": 21718, + "ints": 21719, + "ĠMother": 21720, + ".Api": 21721, + "ĠDuration": 21722, + "ĠfirstName": 21723, + "inheritdoc": 21724, + "ĠMars": 21725, + "Ġapr": 21726, + "ODY": 21727, + "Ġvisits": 21728, + "631": 21729, + "Ġhealing": 21730, + "letters": 21731, + ")));čĊ": 21732, + "future": 21733, + ".Framework": 21734, + "Ġkiss": 21735, + "Ġinvolve": 21736, + "Ġsilent": 21737, + "adows": 21738, + "Ġanybody": 21739, + "sch": 21740, + "690": 21741, + "Ġsolely": 21742, + "-img": 21743, + "Ġpropri": 21744, + "Ġinstruct": 21745, + "Ġlicenses": 21746, + "Ġmeth": 21747, + "Ġcondem": 21748, + "ĠDomain": 21749, + "ĠHarris": 21750, + "ĠsÃ¥": 21751, + "CEPT": 21752, + "Batch": 21753, + "@extends": 21754, + "ĠCONTRIBUT": 21755, + ".DataFrame": 21756, + "472": 21757, + "_packet": 21758, + "recision": 21759, + "Ġfocusing": 21760, + ".ht": 21761, + "__\":Ċ": 21762, + ":Get": 21763, + "ĠKC": 21764, + "Ġpassage": 21765, + "Segment": 21766, + "_center": 21767, + "-zA": 21768, + "_BL": 21769, + "Ġconvin": 21770, + "Ġclassified": 21771, + "ĠNSMutable": 21772, + "_ap": 21773, + "tile": 21774, + "Rectangle": 21775, + "492": 21776, + "(nums": 21777, + "vens": 21778, + "ĠUIButton": 21779, + "ĠFeder": 21780, + "amo": 21781, + "Ġoutline": 21782, + "ĠParser": 21783, + "Ġâī": 21784, + "ĠWorks": 21785, + ".Schema": 21786, + "Ġengines": 21787, + "637": 21788, + "563": 21789, + "_common": 21790, + "542": 21791, + "_old": 21792, + "ĠsetContentView": 21793, + "Ġ///<": 21794, + "ĠBT": 21795, + "fm": 21796, + "Ġdivers": 21797, + "_weights": 21798, + "emark": 21799, + "ĠACT": 21800, + "Ġproportion": 21801, + "overlay": 21802, + ".dirname": 21803, + "ĠGit": 21804, + "_REFERENCE": 21805, + "<>": 21806, + "lb": 21807, + "_rule": 21808, + "è´¥": 21809, + "ĠPutin": 21810, + "Ġsleeping": 21811, + "():čĊ": 21812, + "Ġpreserve": 21813, + "Ġparliament": 21814, + "ĠLooking": 21815, + "Ġpicking": 21816, + "ĠDispatch": 21817, + "Ġslip": 21818, + "ëĵ": 21819, + "ĠLyn": 21820, + "_signal": 21821, + "configuration": 21822, + "ĠPitt": 21823, + "491": 21824, + "aden": 21825, + "procedure": 21826, + "Ġenthusi": 21827, + "fight": 21828, + "ĠConsider": 21829, + "Ġtorn": 21830, + "Connected": 21831, + ".cos": 21832, + "_groups": 21833, + "ĠThink": 21834, + "Ġdeliber": 21835, + "Ġresid": 21836, + "working": 21837, + ".columns": 21838, + "ĠCalled": 21839, + "Ġeslint": 21840, + ">\",": 21841, + "_DOWN": 21842, + "hist": 21843, + "ĠAdvanced": 21844, + "Ġrewards": 21845, + "actors": 21846, + "Ġsilence": 21847, + "479": 21848, + "Ġmyth": 21849, + "Ġneur": 21850, + "519": 21851, + "Ġauction": 21852, + ".GetString": 21853, + "eks": 21854, + "(project": 21855, + "598": 21856, + "ĉmsg": 21857, + "ĉoutput": 21858, + "Ġcomplaints": 21859, + "551": 21860, + ",S": 21861, + "Ġtbl": 21862, + "Ġ,ĊĊ": 21863, + "riors": 21864, + "ahren": 21865, + "Ġlawyers": 21866, + "redux": 21867, + "_symbol": 21868, + "offee": 21869, + "_RESULT": 21870, + "(Name": 21871, + "UTC": 21872, + ".currentTime": 21873, + "Ġorganis": 21874, + ".arg": 21875, + "533": 21876, + "Ġminim": 21877, + "wick": 21878, + "Ġreceives": 21879, + "Balance": 21880, + "Ġspeaks": 21881, + "ĠDays": 21882, + "ĠBelow": 21883, + "483": 21884, + "tipo": 21885, + "Present": 21886, + "Ġreserv": 21887, + "hp": 21888, + "Ġrit": 21889, + "_RIGHT": 21890, + "--)": 21891, + "Ġchairman": 21892, + "781": 21893, + "DIS": 21894, + "ĠBOOST": 21895, + "Ġexperiments": 21896, + "687": 21897, + "__);Ċ": 21898, + "Ġstamp": 21899, + "Ġfert": 21900, + "Ġfond": 21901, + "Ter": 21902, + "elve": 21903, + "uren": 21904, + "+i": 21905, + "endency": 21906, + "Ġvirtually": 21907, + "...\"": 21908, + "ï½ŀ": 21909, + "925": 21910, + "-cent": 21911, + "_unique": 21912, + "Ġpricing": 21913, + "mic": 21914, + "RESH": 21915, + "Ġ:::": 21916, + "Ġannotation": 21917, + "ĠCircle": 21918, + "ongodb": 21919, + "itas": 21920, + "Ġ%(": 21921, + "(component": 21922, + "Ġоб": 21923, + "(port": 21924, + "-hour": 21925, + ".obj": 21926, + "LBL": 21927, + "Ġjury": 21928, + "GBT": 21929, + "Ġspy": 21930, + "ĠProfessional": 21931, + "Ġ\"\";ĊĊ": 21932, + "Ġstriking": 21933, + "Ġdiscrimination": 21934, + "Ġpays": 21935, + "937": 21936, + "lict": 21937, + "entes": 21938, + "Ġthrowing": 21939, + "ĠPlugin": 21940, + "(def": 21941, + "ĠRuntimeException": 21942, + "ĠMigration": 21943, + "599": 21944, + "Ġdic": 21945, + "bag": 21946, + "onia": 21947, + "Ġcorruption": 21948, + "704": 21949, + "(Map": 21950, + "Ġprz": 21951, + ".dto": 21952, + "Ġacquire": 21953, + "StateToProps": 21954, + "Ġloving": 21955, + "ож": 21956, + "_pattern": 21957, + "Ġemotions": 21958, + "Ġpublisher": 21959, + "_be": 21960, + "Ġcouples": 21961, + "498": 21962, + "oj": 21963, + "ĠChart": 21964, + "Ġtrop": 21965, + ".tool": 21966, + "Ġestablishment": 21967, + "Ġdol": 21968, + "654": 21969, + "Ġtower": 21970, + "Ġlane": 21971, + "ĠSydney": 21972, + "Ġfilling": 21973, + "claimed": 21974, + "644": 21975, + "Ġdialogue": 21976, + "Ġconvention": 21977, + "booking": 21978, + "parency": 21979, + "æ±": 21980, + "ĠGeneric": 21981, + "718": 21982, + "\\Schema": 21983, + "482": 21984, + "618": 21985, + "Ġranges": 21986, + "/ch": 21987, + "Ġpanels": 21988, + "Ġruled": 21989, + "çĶŁ": 21990, + ".ts": 21991, + "_sets": 21992, + "Ġcleanup": 21993, + "Previous": 21994, + "ĠAnimal": 21995, + "607": 21996, + "($(": 21997, + "ĠAve": 21998, + "ollar": 21999, + "028": 22000, + "_eval": 22001, + "ĉName": 22002, + "(tree": 22003, + "Ġ\"]": 22004, + "571": 22005, + "Ġduties": 22006, + "='/": 22007, + "Clicked": 22008, + "Ġdifferently": 22009, + "ĠClark": 22010, + "Ġdit": 22011, + "ologists": 22012, + "Ġsynd": 22013, + "Ġsends": 22014, + "-known": 22015, + "kb": 22016, + "ĠModal": 22017, + "itative": 22018, + "Ġracing": 22019, + "Ġhighlights": 22020, + "ĠSimon": 22021, + "ĠCaptain": 22022, + "ä¿¡": 22023, + "ĠCB": 22024, + "contin": 22025, + "aran": 22026, + "Ġphysics": 22027, + "retty": 22028, + "etal": 22029, + ".md": 22030, + "axios": 22031, + "Ġspeakers": 22032, + "Ġprep": 22033, + "Ġawarded": 22034, + "ì§Ģ": 22035, + "ĠCorn": 22036, + "ĠNature": 22037, + "UDIO": 22038, + "737": 22039, + "Ġproj": 22040, + "-pre": 22041, + "[u": 22042, + "Features": 22043, + "ĠisEqual": 22044, + "Binary": 22045, + "sig": 22046, + "Ġconfusion": 22047, + "546": 22048, + "568": 22049, + "ĠHat": 22050, + "Ġktó": 22051, + ".configure": 22052, + "MON": 22053, + "494": 22054, + "/edit": 22055, + "_Add": 22056, + ",true": 22057, + "541": 22058, + "Ġcli": 22059, + "ErrorMessage": 22060, + "-loader": 22061, + "Dimensions": 22062, + "ultiply": 22063, + "Ġ{!!": 22064, + "ĠSqlCommand": 22065, + "Ġspoken": 22066, + "Ġpics": 22067, + "Ġtoy": 22068, + "(Key": 22069, + "ĠLoop": 22070, + "ب": 22071, + "EATURE": 22072, + "inction": 22073, + "_setup": 22074, + "wrapper": 22075, + "Ġtong": 22076, + "cular": 22077, + "Opt": 22078, + ".Pl": 22079, + "=\",": 22080, + "(length": 22081, + "umn": 22082, + "Ġchrom": 22083, + "Ġsevent": 22084, + "ĠIllegalArgumentException": 22085, + "478": 22086, + "ĉstart": 22087, + "Ġbegun": 22088, + "CEPTION": 22089, + "dataset": 22090, + "825": 22091, + "ĠFailed": 22092, + "cols": 22093, + "459": 22094, + "Ġknee": 22095, + "imore": 22096, + ".splice": 22097, + "shell": 22098, + "iggers": 22099, + "Ġthemes": 22100, + "995": 22101, + "ĠDJ": 22102, + "ĠAssistant": 22103, + "-$": 22104, + "Maybe": 22105, + "Ġordering": 22106, + "ĠIntelligence": 22107, + "ĠMassachusetts": 22108, + "Ġfailing": 22109, + "elson": 22110, + "Great": 22111, + "=i": 22112, + ".rest": 22113, + "Ġinvite": 22114, + "-disable": 22115, + ".GroupBox": 22116, + "âĢĻest": 22117, + "Ġtackle": 22118, + "gv": 22119, + "etter": 22120, + "Ġ),čĊ": 22121, + "_rules": 22122, + ".warn": 22123, + "functions": 22124, + "ĠChristians": 22125, + "Ġbacked": 22126, + "Ġslider": 22127, + "Ġenjoying": 22128, + "nest": 22129, + "Ġhij": 22130, + "_ms": 22131, + "//*": 22132, + "Annotations": 22133, + "ĠVariables": 22134, + "": 22351, + "cycle": 22352, + "ĠBull": 22353, + "paths": 22354, + "Ġunp": 22355, + "ĠviewDidLoad": 22356, + "_Model": 22357, + "ĠassertTrue": 22358, + "Ġrated": 22359, + "Decl": 22360, + "verted": 22361, + "ĠDat": 22362, + "brew": 22363, + "Ġpointing": 22364, + "Ms": 22365, + "ĠPointer": 22366, + ")'": 22367, + "_non": 22368, + "527": 22369, + "ĠSEC": 22370, + "Ġyeah": 22371, + "gency": 22372, + "initialize": 22373, + "fly": 22374, + "711": 22375, + "[pos": 22376, + ",g": 22377, + "Tele": 22378, + "034": 22379, + "Ġjoke": 22380, + "Ġclause": 22381, + ".findById": 22382, + "enes": 22383, + "(instance": 22384, + "626": 22385, + "£": 22386, + "915": 22387, + "Ġslic": 22388, + "_home": 22389, + "Ġ*/}Ċ": 22390, + "_pages": 22391, + "(service": 22392, + "905": 22393, + "RP": 22394, + "ĠAmong": 22395, + ".getCurrent": 22396, + "806": 22397, + "ãĤ¹": 22398, + "Ġslee": 22399, + "=[Ċ": 22846, + "oler": 22847, + "Ġlibert": 22848, + "Ġ`Ċ": 22849, + "Ġwenn": 22850, + "lated": 22851, + "Ġimmune": 22852, + "(Node": 22853, + "ĠProblem": 22854, + "ĠAbs": 22855, + "logs": 22856, + "Ġ../": 22857, + "ĠADC": 22858, + "Ġ}}\">Ċ": 22859, + ">');Ċ": 22860, + "=b": 22861, + "ĠWind": 22862, + "lahoma": 22863, + "Ġallocate": 22864, + "orian": 22865, + "Ġprescription": 22866, + "-quality": 22867, + "ĠMayor": 22868, + "855": 22869, + "inely": 22870, + "endforeach": 22871, + "ĠComplex": 22872, + "kom": 22873, + "709": 22874, + "TY": 22875, + "790": 22876, + "]].": 22877, + ".Style": 22878, + "_many": 22879, + "','$": 22880, + "Ġbarrier": 22881, + "ĠFetch": 22882, + "ĠMarvel": 22883, + "Ġresist": 22884, + "ого": 22885, + "bidden": 22886, + "ĠRunnable": 22887, + ":false": 22888, + "899": 22889, + "Ġbuilds": 22890, + "ĠStage": 22891, + "Ġdub": 22892, + "empo": 22893, + ".site": 22894, + "558": 22895, + ";ĊĊĊĊ": 22896, + "994": 22897, + "ĠDenver": 22898, + "Ġrevel": 22899, + "Ġtriggered": 22900, + "Ġdice": 22901, + "_fail": 22902, + "Ġgc": 22903, + "833": 22904, + "589": 22905, + "ĉX": 22906, + "ĠThrowable": 22907, + "775": 22908, + ".router": 22909, + "ĠRevolution": 22910, + "ÑĢа": 22911, + "_NON": 22912, + "055": 22913, + "Ł¥": 22914, + "578": 22915, + "Ġelder": 22916, + "Ġabroad": 22917, + "Ġе": 22918, + "ĠAdult": 22919, + "blr": 22920, + "glyphicon": 22921, + "613": 22922, + "Ġpromoting": 22923, + "Ġiz": 22924, + "ĠSolid": 22925, + "645": 22926, + "_loader": 22927, + "early": 22928, + ".enabled": 22929, + "-edit": 22930, + "ĠUL": 22931, + "_play": 22932, + "ĠInterrupt": 22933, + "Ġadvantages": 22934, + "ucle": 22935, + "Ġmechanical": 22936, + ".tableLayoutPanel": 22937, + "ĠWorking": 22938, + "Ġanonymous": 22939, + "Rating": 22940, + "igious": 22941, + "_phone": 22942, + ".addActionListener": 22943, + "Ġfran": 22944, + "unden": 22945, + "Ġ*)&": 22946, + "_bool": 22947, + "ulative": 22948, + "Ġcone": 22949, + "ĠMult": 22950, + "Ġmö": 22951, + "ĠForward": 22952, + "]):Ċ": 22953, + "Ġconvinced": 22954, + "acted": 22955, + "643": 22956, + "ãģĵ": 22957, + "ĠConfigure": 22958, + "Ġceiling": 22959, + "Der": 22960, + "Ġpassengers": 22961, + "Groups": 22962, + "Ġsoccer": 22963, + "/W": 22964, + "aviors": 22965, + "swith": 22966, + "ĠZone": 22967, + ".Options": 22968, + "ĠMom": 22969, + "ieder": 22970, + "Arrays": 22971, + "Ġtreatments": 22972, + "Ġprotecting": 22973, + "fac": 22974, + "Ġpickle": 22975, + "ButtonItem": 22976, + "713": 22977, + "Ġblocking": 22978, + "strar": 22979, + "ò": 22980, + "ĠExport": 22981, + "Ġthrew": 22982, + "otta": 22983, + "ĠBASE": 22984, + ".ws": 22985, + ".LEADING": 22986, + "orderBy": 22987, + "_delay": 22988, + "ĠPu": 22989, + ".dll": 22990, + "ĠChoose": 22991, + "992": 22992, + "Police": 22993, + "ĠBEGIN": 22994, + "boxes": 22995, + "Ġdiamond": 22996, + ",l": 22997, + "Ġĉĉĉ": 22998, + "Ġcurious": 22999, + "624": 23000, + "tv": 23001, + "Ġerotische": 23002, + "ackages": 23003, + "ĉSet": 23004, + "Tick": 23005, + ".border": 23006, + "staticmethod": 23007, + "Ġcher": 23008, + "invoice": 23009, + "Ġcru": 23010, + "Ġdefect": 23011, + "_metadata": 23012, + "relation": 23013, + "ikan": 23014, + "[N": 23015, + "(Qt": 23016, + "(Base": 23017, + "æģ¯": 23018, + "beat": 23019, + "ĠEmpty": 23020, + "ĉo": 23021, + "_shift": 23022, + "Ġregret": 23023, + "722": 23024, + "Those": 23025, + "Cent": 23026, + "ĠPortug": 23027, + "ĠIslands": 23028, + "ĠTIME": 23029, + "Management": 23030, + "996": 23031, + "-sp": 23032, + "539": 23033, + "ême": 23034, + "Ġnotion": 23035, + "unifu": 23036, + "PK": 23037, + "826": 23038, + "è¡Į": 23039, + "ĠCURLOPT": 23040, + "\\\"\\": 23041, + "UV": 23042, + "çº": 23043, + "dra": 23044, + "cou": 23045, + "=`": 23046, + "ĠDestroy": 23047, + "rp": 23048, + ".cancel": 23049, + "GG": 23050, + "runtime": 23051, + "ĠVue": 23052, + "Ġprogressive": 23053, + "/services": 23054, + "Ġrunner": 23055, + "_FRAME": 23056, + ".ToolStripMenuItem": 23057, + "Ġ','": 23058, + "delay": 23059, + "=utf": 23060, + "Ġscreening": 23061, + "Ġpulling": 23062, + "omas": 23063, + "Ġanth": 23064, + "-new": 23065, + "/local": 23066, + "ĠiPad": 23067, + "Ġtwitter": 23068, + "Ġdying": 23069, + "Ġheaven": 23070, + "ĠUInt": 23071, + "ĠSenator": 23072, + "Ġpresum": 23073, + "ĠWalker": 23074, + "Ġovercome": 23075, + "etection": 23076, + "Ġembarrass": 23077, + "China": 23078, + "639": 23079, + "Include": 23080, + "ROLL": 23081, + "ĠdataType": 23082, + "David": 23083, + "ร": 23084, + "lop": 23085, + "-month": 23086, + "Ġscar": 23087, + "ĠSafe": 23088, + "Ġ****************************************************************": 23089, + "Ġaccessories": 23090, + "Ġramp": 23091, + "_USE": 23092, + "Ġcontrad": 23093, + "))]Ċ": 23094, + "Ġprest": 23095, + "ĠHR": 23096, + "ĠRap": 23097, + "Ġusize": 23098, + "Ġcapability": 23099, + "Ġcort": 23100, + "-next": 23101, + "077": 23102, + "627": 23103, + "Ġburden": 23104, + "822": 23105, + "_reader": 23106, + "Ġ@@": 23107, + "regular": 23108, + "ĠKa": 23109, + "036": 23110, + "MAN": 23111, + "Ġastr": 23112, + "Ġ'')Ċ": 23113, + "Ġfed": 23114, + "Ġparsing": 23115, + "ĠYears": 23116, + "Ġbroker": 23117, + "\":{\"": 23118, + "Ġakt": 23119, + "Inventory": 23120, + "abeled": 23121, + "Ġargparse": 23122, + "*******Ċ": 23123, + "versation": 23124, + "Ġcord": 23125, + "ĠTi": 23126, + "Ġhopefully": 23127, + "Ġah": 23128, + "verb": 23129, + "Ġstolen": 23130, + ".Entry": 23131, + "Ġexpecting": 23132, + "Orientation": 23133, + "Ġpowered": 23134, + "Ġpersist": 23135, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 23136, + "']);": 23137, + "')),Ċ": 23138, + "ĠCash": 23139, + "ĉitem": 23140, + "818": 23141, + "grades": 23142, + "ropol": 23143, + "basic": 23144, + "Ġ\");čĊ": 23145, + "Ġawards": 23146, + "(range": 23147, + "-all": 23148, + "ĠIBOutlet": 23149, + "ĠIndeed": 23150, + "----------------------------------------------------------------------------": 23151, + "Ġstomach": 23152, + "Ġflower": 23153, + "Ġsew": 23154, + "_times": 23155, + "avis": 23156, + "QString": 23157, + "ĠRoutes": 23158, + "_prot": 23159, + "Ġcomedy": 23160, + "Ġlogout": 23161, + "Ġwooden": 23162, + "Ġposter": 23163, + "piece": 23164, + ".Join": 23165, + "ĠPok": 23166, + "celona": 23167, + "mutex": 23168, + ";čĊčĊčĊ": 23169, + "Ġstrikes": 23170, + "787": 23171, + "Loaded": 23172, + ")arg": 23173, + "esa": 23174, + "United": 23175, + "Ep": 23176, + "PELL": 23177, + "807": 23178, + "ĠAtlantic": 23179, + "ullet": 23180, + "652": 23181, + "apple": 23182, + "Ġsettled": 23183, + "acon": 23184, + "Ġprinter": 23185, + "ĠGC": 23186, + "å®ļ": 23187, + "Ġrendered": 23188, + ",âĢĻ": 23189, + "heit": 23190, + "social": 23191, + ".ge": 23192, + "714": 23193, + "ĠRick": 23194, + "ĠUtah": 23195, + "got": 23196, + "onical": 23197, + "ĠScroll": 23198, + "ĠSciences": 23199, + "Ġjug": 23200, + "Ġampl": 23201, + "enti": 23202, + "LEFT": 23203, + "Ġtabs": 23204, + "Ġenormous": 23205, + ".getKey": 23206, + "locate": 23207, + ".EX": 23208, + ".storage": 23209, + ".We": 23210, + "Ġtoast": 23211, + "ĠAdditionally": 23212, + "882": 23213, + "ĠNOW": 23214, + "547": 23215, + "_UPDATE": 23216, + "Ġtransferred": 23217, + "tha": 23218, + ".Display": 23219, + "_ui": 23220, + "IDEO": 23221, + "Ġmeaningful": 23222, + "ĠMoscow": 23223, + ",this": 23224, + "ĠVictoria": 23225, + "æĶ¹": 23226, + "ĠÐŁ": 23227, + ".stack": 23228, + "ĠBarn": 23229, + "paredStatement": 23230, + ":string": 23231, + "Ġbij": 23232, + "ĠSTATE": 23233, + "Ġemployers": 23234, + "ĉinput": 23235, + "(|": 23236, + "Ġlex": 23237, + "invoke": 23238, + "ĉnum": 23239, + "++,": 23240, + "atial": 23241, + "orses": 23242, + "Ġfork": 23243, + "_txt": 23244, + "ĠAntonio": 23245, + "Ġ(<": 23246, + "averse": 23247, + "Ġdevast": 23248, + "ãĢĢ": 23249, + ".Dec": 23250, + "ĠGard": 23251, + "/ui": 23252, + ".%": 23253, + "tri": 23254, + "Ġrolled": 23255, + "ValuePair": 23256, + "itten": 23257, + "ĠTher": 23258, + "Ġvrou": 23259, + "ĠFlow": 23260, + "ĠFinance": 23261, + "ĠComb": 23262, + "HC": 23263, + ".setVisible": 23264, + "isl": 23265, + "Ġpk": 23266, + "773": 23267, + "Ġupset": 23268, + "(raw": 23269, + "ĠVice": 23270, + "eatures": 23271, + "ĠLang": 23272, + "029": 23273, + "Looking": 23274, + "767": 23275, + "ĠAST": 23276, + "Ġtrips": 23277, + "ĠJustin": 23278, + "browser": 23279, + "=\"'.$": 23280, + ".vertices": 23281, + "821": 23282, + "-co": 23283, + "}/{": 23284, + "Ġ?,": 23285, + "ĠDomin": 23286, + "ĠBelg": 23287, + "\"<": 23288, + "Ġsuppose": 23289, + "addy": 23290, + "Ġwalks": 23291, + "688": 23292, + "ERRU": 23293, + "_filters": 23294, + "Preferred": 23295, + "scene": 23296, + "еÑģ": 23297, + "ĠAffairs": 23298, + "Ġ\"#{": 23299, + "ĠonSubmit": 23300, + "Ġstocks": 23301, + "/view": 23302, + "gree": 23303, + "-get": 23304, + "903": 23305, + "hit": 23306, + "Jo": 23307, + ".getC": 23308, + "725": 23309, + "Initialized": 23310, + "ÑĤи": 23311, + "cuts": 23312, + "(Type": 23313, + "ĠAgreement": 23314, + "ĠVietnam": 23315, + "Ġ/*!": 23316, + "Ġpizza": 23317, + "-view": 23318, + "_em": 23319, + "Ġlhs": 23320, + "Ġmuy": 23321, + "ĠIdent": 23322, + "ĠFriends": 23323, + "061": 23324, + "Ġabund": 23325, + "_AD": 23326, + ".timestamp": 23327, + "-'": 23328, + "Ġduplicate": 23329, + "Ġhunting": 23330, + "Ġregulatory": 23331, + "iao": 23332, + "amous": 23333, + "ĠEntertainment": 23334, + "[A": 23335, + "iatric": 23336, + "_CLIENT": 23337, + "ĠKids": 23338, + "/pkg": 23339, + "Break": 23340, + ")));ĊĊ": 23341, + "ĠShape": 23342, + "Ġrelating": 23343, + "Interrupt": 23344, + "ableOpacity": 23345, + "embre": 23346, + "Ġmystery": 23347, + "Ġjournalists": 23348, + "ritable": 23349, + ".Link": 23350, + "Ġstopping": 23351, + "CRET": 23352, + ".DB": 23353, + "Ġpopularity": 23354, + "Ġgew": 23355, + "Ġimpr": 23356, + "setValue": 23357, + "FLAG": 23358, + "ĉmax": 23359, + "Ġbake": 23360, + "wy": 23361, + "ĠEconomic": 23362, + "Ġencontr": 23363, + "Ġfname": 23364, + "/de": 23365, + "Rank": 23366, + "Ġbugs": 23367, + ".sm": 23368, + "Ġmedian": 23369, + "DOWN": 23370, + "ĠSure": 23371, + "AtIndex": 23372, + "ĠDick": 23373, + "Ġ(__": 23374, + ".delta": 23375, + "Fr": 23376, + "Ġsuggesting": 23377, + "ĠRecyclerView": 23378, + ",e": 23379, + "START": 23380, + "/****************************************************************************": 23381, + "xford": 23382, + "Ġreceipt": 23383, + "CLAIM": 23384, + "readonly": 23385, + "968": 23386, + "Ġengaging": 23387, + "619": 23388, + "Ca": 23389, + "asma": 23390, + "Ġensuring": 23391, + "English": 23392, + "ĠVancouver": 23393, + "hyth": 23394, + "Ġpurchasing": 23395, + "ĠPI": 23396, + ".word": 23397, + "(sp": 23398, + ".home": 23399, + ":def": 23400, + "Ġgig": 23401, + "574": 23402, + "671": 23403, + "ĠVe": 23404, + "forum": 23405, + "ĠMitch": 23406, + "Bay": 23407, + "_FL": 23408, + "651": 23409, + "Ġsoll": 23410, + "577": 23411, + "_columns": 23412, + "Ġminority": 23413, + "bird": 23414, + "Ġhanded": 23415, + "SSL": 23416, + "STAT": 23417, + "Ġnervous": 23418, + "ĥ½": 23419, + "ĠfilePath": 23420, + "CREATE": 23421, + "Aw": 23422, + "Ġpens": 23423, + "835": 23424, + "seed": 23425, + "ĠCompute": 23426, + "olk": 23427, + "594": 23428, + "ĠAsset": 23429, + "reach": 23430, + "'),čĊ": 23431, + "navigation": 23432, + "LF": 23433, + "/util": 23434, + "ĠPub": 23435, + "ĠâĶ": 23436, + "cion": 23437, + "##Ċ": 23438, + "072": 23439, + "III": 23440, + "TagName": 23441, + "Ġamid": 23442, + "permission": 23443, + "ifiable": 23444, + "xFFFFFFFF": 23445, + "ни": 23446, + ".Buffer": 23447, + "_irq": 23448, + "dark": 23449, + "Ġretval": 23450, + ".fire": 23451, + "production": 23452, + ".listen": 23453, + "ĠWeather": 23454, + "Ġbuyers": 23455, + ".ne": 23456, + "erp": 23457, + "ĠPent": 23458, + "699": 23459, + "Ġwelfare": 23460, + "ĠpageSize": 23461, + "ĠStadium": 23462, + "erta": 23463, + "Ġlev": 23464, + "ampa": 23465, + "Pager": 23466, + "665": 23467, + "Ġcharging": 23468, + "ĠNetflix": 23469, + "|null": 23470, + "_random": 23471, + ".xpath": 23472, + "Ġstere": 23473, + "ĠISIS": 23474, + "ponses": 23475, + "(loc": 23476, + "566": 23477, + "eyond": 23478, + "ĠOfficial": 23479, + "657": 23480, + "ĠMaryland": 23481, + "DataType": 23482, + "_par": 23483, + "{},": 23484, + "ĠEnjoy": 23485, + "727": 23486, + "_SHIFT": 23487, + "ĠAwards": 23488, + "_ENTRY": 23489, + "Ġseemingly": 23490, + "enticate": 23491, + "Ġhearts": 23492, + "583": 23493, + "_;ĊĊ": 23494, + "ĠHIV": 23495, + "Ġindivid": 23496, + "ĠFlag": 23497, + "_ctrl": 23498, + "ĠCallback": 23499, + ",z": 23500, + "ĠGPU": 23501, + "ĉobj": 23502, + "ĠPhoenix": 23503, + "ĠBUS": 23504, + "907": 23505, + "Ġrubber": 23506, + "_AUTH": 23507, + "ĠSolutions": 23508, + "(location": 23509, + "Variables": 23510, + ".setEnabled": 23511, + "_high": 23512, + "WO": 23513, + "Gesture": 23514, + "Ġretry": 23515, + "ĠobjectForKey": 23516, + "alloween": 23517, + "Ġmos": 23518, + "ĠCele": 23519, + "Ġikke": 23520, + "(cell": 23521, + "ĠMODE": 23522, + "rena": 23523, + "Ġdescribing": 23524, + "641": 23525, + "Ġphi": 23526, + "Ġrd": 23527, + "Ġdeserve": 23528, + "Ġwheels": 23529, + "å¸Ĥ": 23530, + "Ġcritics": 23531, + "755": 23532, + "Namespace": 23533, + "ĠFra": 23534, + "ĠĊĊĊĊ": 23535, + "Ġalla": 23536, + "Ġrequiring": 23537, + "æľŁ": 23538, + "utation": 23539, + "Ġdelayed": 23540, + "Ġadministrative": 23541, + "Ġbay": 23542, + ".hidden": 23543, + "Tex": 23544, + "051": 23545, + "Ġboundaries": 23546, + "Ġ]);ĊĊ": 23547, + "ĠFollowing": 23548, + "~/": 23549, + "Fi": 23550, + "_conv": 23551, + "_TITLE": 23552, + "Ġdesde": 23553, + "ICollectionView": 23554, + "Alias": 23555, + "Ġbite": 23556, + "patient": 23557, + "_COMMAND": 23558, + "Completed": 23559, + "ĉelif": 23560, + "(<": 23561, + "Business": 23562, + "ĠPool": 23563, + "Ġpursue": 23564, + "ĠBan": 23565, + "_steps": 23566, + "_DECL": 23567, + "umble": 23568, + "Ġcombo": 23569, + "ĠLayer": 23570, + ".xr": 23571, + "Ġdup": 23572, + "---------": 23573, + "628": 23574, + "Ġmodifier": 23575, + "rob": 23576, + "rez": 23577, + "696": 23578, + "Ġathletes": 23579, + "Used": 23580, + "wear": 23581, + "815": 23582, + "Ġlegitimate": 23583, + "Ġ\"ĊĊ": 23584, + "Ġhv": 23585, + "Std": 23586, + "037": 23587, + "ĠHold": 23588, + "Ġsurviv": 23589, + "ĠAlliance": 23590, + "ĠEarly": 23591, + "778": 23592, + "Behavior": 23593, + "(font": 23594, + "/libs": 23595, + "Ġrectangle": 23596, + "Ġsinger": 23597, + "Ġamp": 23598, + "EqualTo": 23599, + "Ġ\".\"": 23600, + "Ġgirlfriend": 23601, + "å±": 23602, + "linear": 23603, + "observ": 23604, + "Ġpiù": 23605, + "Ġcomplement": 23606, + "WithValue": 23607, + "(password": 23608, + "take": 23609, + "Blank": 23610, + "ĠCompar": 23611, + "'\",": 23612, + "_policy": 23613, + "mongoose": 23614, + "_FAILED": 23615, + ".report": 23616, + "Ratio": 23617, + ".PerformLayout": 23618, + "747": 23619, + "usable": 23620, + "mers": 23621, + "_render": 23622, + "PEED": 23623, + "772": 23624, + "Ġlesb": 23625, + "ĉE": 23626, + "_tool": 23627, + "Ġladies": 23628, + "908": 23629, + "оÑģ": 23630, + "))))Ċ": 23631, + ";;;;": 23632, + ".dot": 23633, + "Ġnest": 23634, + "peak": 23635, + "ukkit": 23636, + "eca": 23637, + "_SW": 23638, + "Ġ&(": 23639, + "ĠOklahoma": 23640, + "Ġbanking": 23641, + "569": 23642, + "ĠNintendo": 23643, + "752": 23644, + "Ġreproduce": 23645, + "_elements": 23646, + "_mac": 23647, + "proxy": 23648, + "Ġremarkable": 23649, + "}/${": 23650, + "Ġouts": 23651, + ".hasNext": 23652, + "MODE": 23653, + "658": 23654, + "Ġanime": 23655, + ".conn": 23656, + "Unique": 23657, + "Dom": 23658, + "Ġimportantly": 23659, + "itty": 23660, + "Ġjuice": 23661, + "Tw": 23662, + "ĠPartners": 23663, + "Ġattacking": 23664, + "Ġportable": 23665, + "amiento": 23666, + ".PictureBox": 23667, + ".gen": 23668, + "Ġoptimal": 23669, + "582": 23670, + "Ġrecre": 23671, + "Ġjournalist": 23672, + "ĠExtract": 23673, + "ĠMoreover": 23674, + "ĠmarginTop": 23675, + ".Ap": 23676, + "Ġfiring": 23677, + "NaN": 23678, + "ĉtemplate": 23679, + "ад": 23680, + ".En": 23681, + "Ġdefence": 23682, + "ĠTel": 23683, + "ilen": 23684, + "jan": 23685, + "=data": 23686, + "ĠUrl": 23687, + "ĠReuters": 23688, + "(total": 23689, + "ĠFifth": 23690, + "Ġessays": 23691, + "Ġinterpretation": 23692, + "Ġcharity": 23693, + "ĠRules": 23694, + "Ġsubsection": 23695, + "styled": 23696, + "azer": 23697, + "lags": 23698, + "LIST": 23699, + "Ġuploaded": 23700, + "Ġtrash": 23701, + "Ġregistr": 23702, + "Ġseller": 23703, + ">';čĊ": 23704, + "ĠstartTime": 23705, + "çĻ": 23706, + "sy": 23707, + "(HttpServletRequest": 23708, + "Ġtrap": 23709, + "GC": 23710, + "Ġembedded": 23711, + "Ġsurrounded": 23712, + "816": 23713, + "imits": 23714, + "TX": 23715, + "ylinder": 23716, + "685": 23717, + "ĠFal": 23718, + "Ġsentences": 23719, + "ĠJa": 23720, + "IFICATION": 23721, + "weapon": 23722, + "ovation": 23723, + "Ġcoat": 23724, + "Ġinterpol": 23725, + "Ġlips": 23726, + "ĠKy": 23727, + "Ġvectors": 23728, + "_am": 23729, + "Ġintake": 23730, + ".world": 23731, + "Ġinbox": 23732, + "ĠMAC": 23733, + "_ab": 23734, + "(nameof": 23735, + "633": 23736, + "Ġentert": 23737, + "Ġgathering": 23738, + "ĠSIM": 23739, + "++.": 23740, + "nya": 23741, + "'}}": 23742, + "ĠUPDATE": 23743, + "Ġpac": 23744, + "(html": 23745, + "ĠSant": 23746, + "iating": 23747, + "ĠIdeas": 23748, + "Ġspray": 23749, + "ĠHart": 23750, + "Ġverification": 23751, + "adesh": 23752, + "/modules": 23753, + "ĠMind": 23754, + "ĠSizedBox": 23755, + "Ġshelter": 23756, + "Ġheroes": 23757, + "atty": 23758, + "Ġcertified": 23759, + "sj": 23760, + "Ġêtre": 23761, + "ÅĤo": 23762, + "Ġpublishing": 23763, + "ĠMalays": 23764, + ".getUser": 23765, + "ĠProvider": 23766, + "ĠLinkedList": 23767, + "ĠBor": 23768, + "ROUND": 23769, + "did": 23770, + "tain": 23771, + "pire": 23772, + "ĠJenn": 23773, + "tel": 23774, + "ande": 23775, + "757": 23776, + "_front": 23777, + "ĠMcG": 23778, + "TestMethod": 23779, + "à¸Ń": 23780, + "Ġoccasionally": 23781, + "ĠWales": 23782, + "Ġexercises": 23783, + "ĠÐĴ": 23784, + "045": 23785, + "-plus": 23786, + "Ġvalidator": 23787, + "Ġprayer": 23788, + "LATED": 23789, + "_author": 23790, + "Ġlabour": 23791, + "++Ċ": 23792, + "-equiv": 23793, + "ĠGPL": 23794, + "Ġfacebook": 23795, + "simple": 23796, + "gly": 23797, + "Processor": 23798, + "ipy": 23799, + "744": 23800, + "Ġ*>": 23801, + "648": 23802, + "Ġcleared": 23803, + "ĠPush": 23804, + "858": 23805, + "Ġpenis": 23806, + "Structure": 23807, + "lij": 23808, + "ĠMorgan": 23809, + "Ġhandful": 23810, + "\".Ċ": 23811, + "984": 23812, + "|\\": 23813, + "Ġ********************************": 23814, + "ĠAqu": 23815, + "584": 23816, + "_IC": 23817, + ".loads": 23818, + "Ġmeter": 23819, + "ĠMarine": 23820, + "::{": 23821, + "ĠTS": 23822, + "776": 23823, + "ĠArrays": 23824, + ".Title": 23825, + "GRAM": 23826, + "termin": 23827, + "Ġcoinc": 23828, + "Else": 23829, + "_states": 23830, + "-run": 23831, + "members": 23832, + "782": 23833, + "astro": 23834, + "066": 23835, + "ĠonPress": 23836, + "Ġbeings": 23837, + "Ġabandoned": 23838, + "Ġtaxp": 23839, + "owners": 23840, + ".mode": 23841, + "Ġdiagnosis": 23842, + "Ġ_Ċ": 23843, + "ĠKnight": 23844, + "ĉA": 23845, + "Ġobserve": 23846, + "),'": 23847, + "823": 23848, + "!\")Ċ": 23849, + "ĠPara": 23850, + "Ġvariation": 23851, + "(False": 23852, + "ĠAnti": 23853, + "Ġgri": 23854, + "Ġhomeless": 23855, + "?v": 23856, + "Ġbez": 23857, + ".Server": 23858, + "release": 23859, + "ĠPatri": 23860, + "Ġchars": 23861, + "Ġranking": 23862, + "activation": 23863, + "581": 23864, + "Ġwides": 23865, + "qr": 23866, + ".Sql": 23867, + "acular": 23868, + "ĠBot": 23869, + "_sync": 23870, + "Ġhappiness": 23871, + "Ġvolunteers": 23872, + "877": 23873, + "Ġsits": 23874, + "/<": 23875, + "[e": 23876, + "(fileName": 23877, + "Ġcapac": 23878, + "832": 23879, + "ĠMaria": 23880, + "father": 23881, + "Ġgram": 23882, + "*i": 23883, + "Ġcaso": 23884, + "_draw": 23885, + "ĠRaw": 23886, + "ĠIterator": 23887, + "664": 23888, + "ĠPadding": 23889, + "924": 23890, + "PD": 23891, + "BOX": 23892, + "ĠSPECIAL": 23893, + "Ġfecha": 23894, + "Ġvide": 23895, + "ĠLeader": 23896, + "以": 23897, + "$(\".": 23898, + "Ġdiameter": 23899, + "Ġmild": 23900, + "745": 23901, + "Ġrocks": 23902, + "appings": 23903, + "048": 23904, + "directory": 23905, + "557": 23906, + ".flush": 23907, + "ĠJess": 23908, + "UNIT": 23909, + "ĠPear": 23910, + "Ġmandatory": 23911, + "Sur": 23912, + "qt": 23913, + "Ġstreams": 23914, + "Ġcooperation": 23915, + "ĠSac": 23916, + "Ġcheaper": 23917, + "ĉch": 23918, + "animation": 23919, + "fare": 23920, + "(height": 23921, + "(True": 23922, + "NY": 23923, + "Ġwrest": 23924, + "Ġpolls": 23925, + "Ġencountered": 23926, + "ĠMarketable": 23927, + "_PASSWORD": 23928, + "716": 23929, + "_SELECT": 23930, + "ĠArabia": 23931, + "_clock": 23932, + "Ġvoy": 23933, + "Ġиз": 23934, + "Ġstir": 23935, + "isible": 23936, + "-effect": 23937, + ".created": 23938, + "Ġtoys": 23939, + "ĠTradable": 23940, + "Ġrust": 23941, + "Ġstrcpy": 23942, + "_timestamp": 23943, + "Ġtalented": 23944, + ",null": 23945, + "ĠJobs": 23946, + "ĠPortland": 23947, + "Ġweakness": 23948, + "Throw": 23949, + "ĠAngel": 23950, + "ä¿®": 23951, + "754": 23952, + "Ġuncert": 23953, + "ï¼īĊ": 23954, + "ĠìĿ´": 23955, + "Which": 23956, + "Ġ[-]:": 23957, + "Something": 23958, + "Ġconvicted": 23959, + "kle": 23960, + "edium": 23961, + "Ġbranches": 23962, + "Ġbases": 23963, + "ç®": 23964, + "Ġcomplexity": 23965, + "ĠFig": 23966, + ".reshape": 23967, + "$db": 23968, + "736": 23969, + "_CONST": 23970, + "ĠTes": 23971, + ".runtime": 23972, + "Ġdeny": 23973, + "ĠBSD": 23974, + "Ġkr": 23975, + "hatt": 23976, + "ĠStatic": 23977, + "Ġuniversities": 23978, + "Replace": 23979, + "Ġdrove": 23980, + "Ġadoles": 23981, + "_plugin": 23982, + "ĠLGBT": 23983, + "Ġtex": 23984, + "duction": 23985, + "751": 23986, + "799": 23987, + "EDI": 23988, + "ĠTed": 23989, + "_URI": 23990, + "Ġreception": 23991, + "arten": 23992, + ".Single": 23993, + "rice": 23994, + "scious": 23995, + "843": 23996, + "_bg": 23997, + "Ġwages": 23998, + "ĠServlet": 23999, + "UILayout": 24000, + "Ġformatted": 24001, + ".Mod": 24002, + "',Ċ": 24049, + "Ġexpanding": 24050, + "ĠHamilton": 24051, + "ĠContrib": 24052, + ".Tables": 24053, + "728": 24054, + "Activ": 24055, + "HH": 24056, + "ocommerce": 24057, + "_;": 24058, + "Ġamongst": 24059, + "owing": 24060, + "859": 24061, + "ĠCold": 24062, + "APH": 24063, + "Ġpsychological": 24064, + "_tensor": 24065, + "Ġpackaging": 24066, + "ĠSweden": 24067, + "Ġpare": 24068, + "Ġaggregate": 24069, + "Ġmoderate": 24070, + "862": 24071, + "_hand": 24072, + "Ġdesignated": 24073, + "Ġdrum": 24074, + "ĠgetUser": 24075, + "ĠCreek": 24076, + "_scope": 24077, + "ĠTransfer": 24078, + "ĠMarg": 24079, + "Ġfighters": 24080, + "Wnd": 24081, + "ĠSel": 24082, + "ĠLaunch": 24083, + "Ġemerging": 24084, + "iframe": 24085, + "ĠAdditional": 24086, + "Ġfears": 24087, + "Ġsatellite": 24088, + "_:": 24089, + "Ġdisposing": 24090, + "GetValue": 24091, + "HttpPost": 24092, + "ATIVE": 24093, + "ulary": 24094, + "Views": 24095, + "Ġattending": 24096, + "ĠTennessee": 24097, + "ĠMission": 24098, + "Ġmedication": 24099, + "ĠWy": 24100, + "ĠAnna": 24101, + "ع": 24102, + "ĠVertex": 24103, + ".types": 24104, + "Organ": 24105, + ".DataGridViewTextBoxColumn": 24106, + "ĠRS": 24107, + "Ġtempo": 24108, + "(App": 24109, + "892": 24110, + "VersionUID": 24111, + ".point": 24112, + "ĠDutch": 24113, + "Hours": 24114, + "LU": 24115, + "Ġquoted": 24116, + ".builder": 24117, + "ĠPerfect": 24118, + "ĠAlways": 24119, + "_two": 24120, + "Ġexclusively": 24121, + "ĠCra": 24122, + "ificar": 24123, + "ĠAWS": 24124, + "ingham": 24125, + "complex": 24126, + "kernel": 24127, + "Ġgravity": 24128, + "Ġwi": 24129, + "052": 24130, + "Ġoverview": 24131, + "661": 24132, + "ĠWant": 24133, + "ĠWP": 24134, + "(sh": 24135, + ".rotation": 24136, + "States": 24137, + "ĠTeen": 24138, + "_components": 24139, + "ìĪĺ": 24140, + "Received": 24141, + "Ġlyrics": 24142, + "rites": 24143, + "ĉĉĉĉĉĠ": 24144, + "-American": 24145, + "[num": 24146, + "/python": 24147, + "ĠUART": 24148, + "Ġapple": 24149, + "ĠJonathan": 24150, + "Ġmomentum": 24151, + "ั": 24152, + "Ĥ¹": 24153, + "Ġmich": 24154, + "andra": 24155, + "Ġbiological": 24156, + "ĠMens": 24157, + "Ġ%%": 24158, + "elsea": 24159, + "ĠMexican": 24160, + ".randint": 24161, + "Ġtale": 24162, + "ĠValidate": 24163, + "Ġdefeated": 24164, + ".htm": 24165, + "Ġcopper": 24166, + "=/": 24167, + "cosystem": 24168, + "Ġrip": 24169, + "decimal": 24170, + ".VISIBLE": 24171, + "ĠTa": 24172, + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉ": 24173, + "Ġdownloaded": 24174, + "environment": 24175, + "Ġnomine": 24176, + "building": 24177, + "ĠSpot": 24178, + "ipheral": 24179, + "Ġalto": 24180, + "quet": 24181, + "ĠFT": 24182, + "/get": 24183, + "/master": 24184, + "WIN": 24185, + "åħĥ": 24186, + "676": 24187, + "West": 24188, + "argc": 24189, + "Ġproducers": 24190, + "ĠMuch": 24191, + "_storage": 24192, + "credit": 24193, + "CONT": 24194, + "Ġvet": 24195, + "Ġvoices": 24196, + "('',": 24197, + "Ġinstruments": 24198, + "662": 24199, + "ĠMSG": 24200, + "esse": 24201, + "repository": 24202, + "omics": 24203, + "Ġdealer": 24204, + "Still": 24205, + "Ġbanner": 24206, + "ascii": 24207, + "Ġremarks": 24208, + "[js": 24209, + "Ġshorter": 24210, + "gulp": 24211, + "Ġmyster": 24212, + "Ġkun": 24213, + "ĠBird": 24214, + "Ġtiene": 24215, + "788": 24216, + "nut": 24217, + "ĠUm": 24218, + "Ġwise": 24219, + "Yeah": 24220, + "INESS": 24221, + "046": 24222, + "_begin": 24223, + "-heading": 24224, + "Course": 24225, + "ĠčĊčĊ": 24226, + "ombie": 24227, + "graded": 24228, + "ĠGPS": 24229, + "Ġże": 24230, + "Fit": 24231, + "caption": 24232, + "ön": 24233, + "/image": 24234, + "lia": 24235, + "(mod": 24236, + "Ġleak": 24237, + "enza": 24238, + "629": 24239, + "/H": 24240, + "ĠHappy": 24241, + "993": 24242, + "Dist": 24243, + "nx": 24244, + "ĠGovernor": 24245, + "(last": 24246, + "teacher": 24247, + "ĠSent": 24248, + "support": 24249, + "838": 24250, + "jectory": 24251, + "ĠÙħ": 24252, + "Registration": 24253, + "063": 24254, + "ĠGray": 24255, + ",false": 24256, + "Ġadjusted": 24257, + "(settings": 24258, + "'Ċ": 24324, + "-fold": 24325, + "æĬ": 24326, + "ĠBetter": 24327, + "Ġ\"\\<": 24328, + "spacing": 24329, + "Ġfurnished": 24330, + "913": 24331, + "oser": 24332, + "]}Ċ": 24333, + "Ġ$\"": 24334, + "pull": 24335, + ".Post": 24336, + "919": 24337, + "(ip": 24338, + "Ĺı": 24339, + ".front": 24340, + "nte": 24341, + "ĠFM": 24342, + "guid": 24343, + "844": 24344, + "Ġnegotiations": 24345, + "agonal": 24346, + "934": 24347, + "Ġtremend": 24348, + "ungeon": 24349, + "Adv": 24350, + "carousel": 24351, + "ÃŁe": 24352, + "_DESC": 24353, + "Ġhammer": 24354, + "áºŃ": 24355, + "ĠĠĠĠĠĠĠĠĊĊ": 24356, + "-core": 24357, + "-service": 24358, + "Ġcorners": 24359, + "ĠSF": 24360, + "pred": 24361, + ">A": 24362, + "ĠJLabel": 24363, + "Ġromantic": 24364, + "Ġtestimony": 24365, + "osc": 24366, + "ĠGeneration": 24367, + "asures": 24368, + "_internal": 24369, + "Ġprints": 24370, + "Ġ])Ċ": 24371, + "ĠCleveland": 24372, + "repo": 24373, + "Disc": 24374, + "677": 24375, + "762": 24376, + "Ġ\">Ċ": 24377, + "����": 24378, + "Ġnearest": 24379, + "591": 24380, + "_tb": 24381, + "(require": 24382, + "EOF": 24383, + "-child": 24384, + "Ġbudd": 24385, + ".XtraEditors": 24386, + "alties": 24387, + "723": 24388, + "\\\":\\\"": 24389, + "Words": 24390, + "917": 24391, + "Ġlocally": 24392, + "Ġpurchases": 24393, + "695": 24394, + "Drawer": 24395, + "extract": 24396, + "Ġexecut": 24397, + "}'.": 24398, + "userdata": 24399, + "Ġfocuses": 24400, + "-minute": 24401, + "764": 24402, + "ĠPublish": 24403, + "ogo": 24404, + "Ġmountains": 24405, + "Bot": 24406, + "}>{": 24407, + "Ġtension": 24408, + "rod": 24409, + "mesh": 24410, + "Ġtransformed": 24411, + ",R": 24412, + "()}Ċ": 24413, + ".long": 24414, + "Ġgorgeous": 24415, + "ĠSchedule": 24416, + "Ġoldest": 24417, + "Ġsubprocess": 24418, + "(IN": 24419, + "yect": 24420, + "ĠCooper": 24421, + "arness": 24422, + "ĠMonitor": 24423, + ".part": 24424, + "972": 24425, + "ĠNBC": 24426, + "668": 24427, + "Ġcotton": 24428, + "Ġhol": 24429, + "726": 24430, + "Ġrgba": 24431, + "ĠBio": 24432, + "Continue": 24433, + "Pod": 24434, + "Ġparticipating": 24435, + "clusions": 24436, + "(ByVal": 24437, + "734": 24438, + "ì": 24439, + "ĠHOW": 24440, + "_setopt": 24441, + "Ġaccompanying": 24442, + "091": 24443, + "aton": 24444, + "Ġ/\\": 24445, + "ĠAuthentication": 24446, + "ién": 24447, + "ĠBarack": 24448, + "/*.": 24449, + "Ġeager": 24450, + "ĠCancel": 24451, + "$": 24502, + "OLEAN": 24503, + "OKIE": 24504, + "IBILITY": 24505, + "UAGE": 24506, + "ĠSurvey": 24507, + "071": 24508, + "Ġresign": 24509, + "wing": 24510, + "Ġsecrets": 24511, + "Ġchips": 24512, + "JSONObject": 24513, + "Desktop": 24514, + "596": 24515, + "_SYMBOL": 24516, + "(resource": 24517, + "ĠĊ": 24518, + "Ġnewest": 24519, + "uli": 24520, + "Ġdesert": 24521, + "Ġdip": 24522, + "ĠPow": 24523, + "Ġequation": 24524, + "Ġpossibilities": 24525, + "ĠFed": 24526, + "osph": 24527, + "Ġ[%": 24528, + "Ġbubble": 24529, + "etherlands": 24530, + "793": 24531, + "Ġcement": 24532, + ".auto": 24533, + "_AN": 24534, + "âĢĻ.": 24535, + "selection": 24536, + "ĠBond": 24537, + "988": 24538, + "Den": 24539, + "-O": 24540, + ".getType": 24541, + "896": 24542, + ".Window": 24543, + "pres": 24544, + "Ġswinger": 24545, + "\"})Ċ": 24546, + "Ġpip": 24547, + "Ġmice": 24548, + "Ġcompound": 24549, + "-plugin": 24550, + "iko": 24551, + "Ġcenturies": 24552, + "icular": 24553, + "-inline": 24554, + "ĉkey": 24555, + ">\\<": 24556, + "ENSION": 24557, + "Ġ[čĊ": 24558, + "Ġprecisely": 24559, + "Ġété": 24560, + "ĠPast": 24561, + "ĠCambridge": 24562, + "-full": 24563, + "Ġanalyze": 24564, + "ĠSteven": 24565, + "Ġnem": 24566, + "due": 24567, + "oren": 24568, + "Ġmuscles": 24569, + "ijing": 24570, + "852": 24571, + "/-": 24572, + "ĠKennedy": 24573, + "597": 24574, + "RM": 24575, + "ossible": 24576, + "Ġactress": 24577, + "Ġdolor": 24578, + "914": 24579, + "å½ķ": 24580, + "Need": 24581, + ".toggle": 24582, + "ĠRace": 24583, + "wers": 24584, + ".material": 24585, + "ĠDue": 24586, + "ĠPel": 24587, + "#print": 24588, + "Ġindependence": 24589, + "exus": 24590, + "Shadow": 24591, + "Ġencoder": 24592, + "(level": 24593, + "ĠSwift": 24594, + ".doc": 24595, + "_selection": 24596, + "952": 24597, + "ĠserialVersionUID": 24598, + "945": 24599, + "Labels": 24600, + "Ġperformances": 24601, + ".Tag": 24602, + "ĠNHL": 24603, + "izen": 24604, + "/UIKit": 24605, + "991": 24606, + "_CONTROL": 24607, + "Ġearnings": 24608, + "975": 24609, + "ĠAlt": 24610, + "_HANDLE": 24611, + "Ctx": 24612, + "Ġpersu": 24613, + "Ġtran": 24614, + "ç¨": 24615, + "_CHANNEL": 24616, + "Ġsatisfaction": 24617, + "ĠGP": 24618, + "769": 24619, + "iox": 24620, + "mitt": 24621, + "lando": 24622, + "Ġpig": 24623, + "inals": 24624, + "ência": 24625, + "731": 24626, + "Surface": 24627, + "ĠUUID": 24628, + "Ġbeneficial": 24629, + "Ġsequences": 24630, + "ĉmemset": 24631, + "Ġmagical": 24632, + "«": 24633, + "Ġworn": 24634, + "ASC": 24635, + "popup": 24636, + "COMP": 24637, + "_before": 24638, + "eness": 24639, + "Ui": 24640, + "Les": 24641, + ".require": 24642, + ".Serializable": 24643, + "addGap": 24644, + "Ġauthorization": 24645, + "085": 24646, + ".pyplot": 24647, + "urray": 24648, + "latitude": 24649, + "845": 24650, + "frames": 24651, + "ajs": 24652, + "Ġcompass": 24653, + "Ġobservations": 24654, + "_sup": 24655, + ".environ": 24656, + "Ġtriple": 24657, + "ĠRuby": 24658, + "Ġdrain": 24659, + "_FILTER": 24660, + "San": 24661, + "UMP": 24662, + "NullException": 24663, + "ĠGab": 24664, + "owe": 24665, + "ĠTurkish": 24666, + "_sequence": 24667, + "ĠGrant": 24668, + "uela": 24669, + "Ġwo": 24670, + "Ġcube": 24671, + "iq": 24672, + "Ġdisorders": 24673, + "Ġextraordinary": 24674, + "Ġctrl": 24675, + "ĠSeq": 24676, + "entr": 24677, + "865": 24678, + "Ġsanctions": 24679, + "949": 24680, + "utsch": 24681, + "Reports": 24682, + "Ġinherit": 24683, + "Period": 24684, + "Ġphotography": 24685, + "ĠFramework": 24686, + "Ġspecialist": 24687, + "Ġ?ĊĊ": 24688, + "_selected": 24689, + ".Player": 24690, + "Ġallocation": 24691, + "(account": 24692, + "Ġstructural": 24693, + "vable": 24694, + "-offset": 24695, + ".AppCompatActivity": 24696, + "ам": 24697, + ".AddWithValue": 24698, + "Ġicons": 24699, + "Ġshutdown": 24700, + "_low": 24701, + "ĠCompare": 24702, + "ĠCe": 24703, + "=head": 24704, + "lam": 24705, + ".predict": 24706, + "_DEC": 24707, + "ĠSleep": 24708, + "ĠGratis": 24709, + "Ġsuggestion": 24710, + "ĠDEL": 24711, + "caff": 24712, + "avirus": 24713, + "Nothing": 24714, + "ŀĭ": 24715, + "Ġwidespread": 24716, + "Ġmechanisms": 24717, + "ĠtextAlign": 24718, + "occup": 24719, + "ĠRail": 24720, + ":NS": 24721, + "Ġfiber": 24722, + "Ġmk": 24723, + "Ġvintage": 24724, + "-long": 24725, + ".reduce": 24726, + ".Entities": 24727, + "(record": 24728, + "Ġpleasant": 24729, + "FRING": 24730, + ".Cells": 24731, + "OTT": 24732, + "ĉelseif": 24733, + "649": 24734, + "724": 24735, + "_confirm": 24736, + "ĠViewGroup": 24737, + "sym": 24738, + "Ġpray": 24739, + "Ġsuspected": 24740, + "Contains": 24741, + "983": 24742, + "Ġborders": 24743, + "ĠcomponentDid": 24744, + "ASSERT": 24745, + "Ġinfinite": 24746, + "-order": 24747, + "Ġhello": 24748, + "ĠGrade": 24749, + ".currentTimeMillis": 24750, + "apolis": 24751, + "zh": 24752, + "ĉObject": 24753, + ":\\\\": 24754, + "HO": 24755, + "valuation": 24756, + "Ġvocab": 24757, + "719": 24758, + "Ġcoupon": 24759, + "atabases": 24760, + ".GetType": 24761, + "Learn": 24762, + "792": 24763, + "]=\"": 24764, + "ĠGary": 24765, + "otive": 24766, + "Ġash": 24767, + "Ġbib": 24768, + "XXXX": 24769, + "Ġbalanced": 24770, + "VALUE": 24771, + "ĠNat": 24772, + "_Ad": 24773, + "<": 24930, + "Ġfool": 24931, + "Ġesk": 24932, + ".Null": 24933, + "ĠDies": 24934, + "_OUTPUT": 24935, + "_TYPED": 24936, + "Ġpainted": 24937, + "673": 24938, + "735": 24939, + "Ġsophistic": 24940, + "ĠBear": 24941, + "*n": 24942, + "_PACK": 24943, + "Ġdelivering": 24944, + "ĠCOUNT": 24945, + "åįķ": 24946, + "Ġjeg": 24947, + "-car": 24948, + "fname": 24949, + "Ġranging": 24950, + "848": 24951, + "ĠNeg": 24952, + "/******/": 24953, + "ĠCHAR": 24954, + "Ġultra": 24955, + "Grad": 24956, + "=t": 24957, + "Ġjudges": 24958, + "ĠDise": 24959, + "anners": 24960, + "985": 24961, + "891": 24962, + "861": 24963, + "Ġscal": 24964, + "_cal": 24965, + "ĠCONNECTION": 24966, + "_embed": 24967, + "(fn": 24968, + "ĠCraft": 24969, + "047": 24970, + "ĠPas": 24971, + "\")->": 24972, + ".convert": 24973, + ".resource": 24974, + "ĠSTATUS": 24975, + "ông": 24976, + "ĠTit": 24977, + "Ġclassroom": 24978, + "ĠArchitect": 24979, + "ĠKings": 24980, + "Ġsteady": 24981, + "/*!Ċ": 24982, + "ĠGene": 24983, + ")\";Ċ": 24984, + "icia": 24985, + "stan": 24986, + "ĠConstruction": 24987, + "umper": 24988, + "951": 24989, + "wc": 24990, + "ĠCBS": 24991, + "inging": 24992, + "-party": 24993, + "(driver": 24994, + "MARK": 24995, + "082": 24996, + "Ġnested": 24997, + "eward": 24998, + "Ġdependency": 24999, + "Ġmales": 25000, + "928": 25001, + "ĠONE": 25002, + "ĠProduction": 25003, + "][$": 25004, + "ãĥ¼ãĥ": 25005, + "_LOAD": 25006, + "ĠBol": 25007, + "elry": 25008, + "831": 25009, + "łéϤ": 25010, + "ĠRequire": 25011, + "Ġplacing": 25012, + "xxx": 25013, + "CALE": 25014, + "Ġthumb": 25015, + "824": 25016, + "Choose": 25017, + "Ġprototype": 25018, + "VOID": 25019, + "Ġlesbian": 25020, + "741": 25021, + "Ġtraits": 25022, + "Sharp": 25023, + "Ġconsume": 25024, + "Truth": 25025, + "ĠactionPerformed": 25026, + "ĠEnvironmental": 25027, + "ĠDean": 25028, + "Ġestado": 25029, + "same": 25030, + "Ġnumeric": 25031, + "Ġtransit": 25032, + ".Email": 25033, + "-side": 25034, + "_RUN": 25035, + "ĠVillage": 25036, + "_OPEN": 25037, + "è¦": 25038, + ".rem": 25039, + "-warning": 25040, + "anya": 25041, + "PropertyChanged": 25042, + "Ġ(!_": 25043, + "(check": 25044, + "ilia": 25045, + "ĠSoft": 25046, + "steps": 25047, + "ĠMadrid": 25048, + "MemoryWarning": 25049, + "Ġhandlers": 25050, + "Ġexperiencing": 25051, + "Ġinspect": 25052, + "buttons": 25053, + "ReceiveMemoryWarning": 25054, + "chemy": 25055, + "Links": 25056, + "Ġurllib": 25057, + ".SystemColors": 25058, + "ĠEigen": 25059, + "Ġpunishment": 25060, + ":UIControl": 25061, + "bara": 25062, + "-set": 25063, + "Ġ}čĊčĊčĊ": 25064, + "Ġtolerance": 25065, + "Ġinterfaces": 25066, + ".redirect": 25067, + "ighbors": 25068, + "csrf": 25069, + "_background": 25070, + ".Utils": 25071, + "_HT": 25072, + "692": 25073, + "ĠInterest": 25074, + "imos": 25075, + "Ġgrants": 25076, + "083": 25077, + "Ġexamined": 25078, + "ÐĶ": 25079, + "Ġcf": 25080, + "forge": 25081, + "backs": 25082, + "ĠObjects": 25083, + "_sent": 25084, + ".entry": 25085, + "ĠTHEN": 25086, + "ellido": 25087, + "cia": 25088, + ",res": 25089, + "659": 25090, + "681": 25091, + "/stdc": 25092, + ".nd": 25093, + "(Int": 25094, + "ĠAuthors": 25095, + "ĠAppCompatActivity": 25096, + "'{": 25097, + "Ġmedi": 25098, + "Music": 25099, + "igm": 25100, + "ceipt": 25101, + "Ġauss": 25102, + "Ġtargeting": 25103, + "ĠKeys": 25104, + "hn": 25105, + ":]Ċ": 25106, + "Ġmineral": 25107, + "î": 25108, + ".ca": 25109, + "761": 25110, + "omed": 25111, + "Ġsheets": 25112, + "Ġcamb": 25113, + "Ġdeadly": 25114, + ".inject": 25115, + "(unit": 25116, + "ĠSelection": 25117, + ".gms": 25118, + "(connection": 25119, + "Ġ$(\"": 25120, + "émon": 25121, + "ĠCurrently": 25122, + "pte": 25123, + "_paths": 25124, + "847": 25125, + "leaf": 25126, + "Ġimplications": 25127, + "posal": 25128, + "ä½į": 25129, + "[/": 25130, + "ancia": 25131, + "éĽ": 25132, + "mul": 25133, + "cie": 25134, + "Ġgeile": 25135, + "679": 25136, + "imals": 25137, + "UIView": 25138, + "Ġsurre": 25139, + "serialize": 25140, + "ISO": 25141, + "Ġarbitrary": 25142, + "Ġsockaddr": 25143, + ".fn": 25144, + "ĠMerc": 25145, + "Ġcasting": 25146, + "KeyDown": 25147, + "ĠnewValue": 25148, + "opens": 25149, + "717": 25150, + "Todo": 25151, + "Ġflexibility": 25152, + "ĉĉĉĉĠĠ": 25153, + "Velocity": 25154, + "ún": 25155, + "rowing": 25156, + "Ġcomputed": 25157, + "`)Ċ": 25158, + "statement": 25159, + "Ġri": 25160, + "_cart": 25161, + "Low": 25162, + "transfer": 25163, + ".nav": 25164, + "Ġgrave": 25165, + "ĠDoor": 25166, + "ĉalert": 25167, + "691": 25168, + "698": 25169, + ".subscribe": 25170, + "-profile": 25171, + "ĉbase": 25172, + "ĠâĪĴ": 25173, + "__ĊĊ": 25174, + "Ġengineers": 25175, + "Ġexplosion": 25176, + "Ġdari": 25177, + "682": 25178, + "ĉLog": 25179, + "onal": 25180, + "Ġisolated": 25181, + "{i": 25182, + "ĠMsg": 25183, + "Future": 25184, + "Ġracist": 25185, + "-wrap": 25186, + "ĠVers": 25187, + "borg": 25188, + "ISION": 25189, + "ĠÑĢаÐ": 25190, + "ĠYan": 25191, + "836": 25192, + "initWith": 25193, + "Ġnomin": 25194, + "(empty": 25195, + "ÃŃn": 25196, + "ãĤ¤": 25197, + "ĉwidth": 25198, + "Ġchamber": 25199, + "/ajax": 25200, + "EMP": 25201, + "093": 25202, + "Ġneces": 25203, + "ivos": 25204, + "logic": 25205, + "*)&": 25206, + "cripts": 25207, + "976": 25208, + "RowAt": 25209, + "053": 25210, + "iblings": 25211, + "Ġears": 25212, + "Ġcomputing": 25213, + "Ġmaker": 25214, + "ĠNeither": 25215, + "breadcrumb": 25216, + "Ġserialize": 25217, + "ĠWithin": 25218, + "Ġdell": 25219, + "_TRACE": 25220, + "092": 25221, + "=a": 25222, + "Ġwishes": 25223, + "-inch": 25224, + "ĠDor": 25225, + "Ġinnocent": 25226, + "ĠDol": 25227, + "Ġintens": 25228, + "forced": 25229, + "054": 25230, + "ĠBIT": 25231, + "Ġphotographs": 25232, + "Ġcasa": 25233, + "ĠLen": 25234, + "\\Framework": 25235, + ".Simple": 25236, + "Ġdear": 25237, + "895": 25238, + ")/(": 25239, + "ippi": 25240, + "Ġowns": 25241, + "Players": 25242, + "Ġproposals": 25243, + ".pi": 25244, + "usalem": 25245, + "Damage": 25246, + "Ġcalories": 25247, + "ĠCreative": 25248, + "Ġ[$": 25249, + "Ġ//čĊ": 25250, + "786": 25251, + "AndView": 25252, + "ème": 25253, + ".custom": 25254, + "_factory": 25255, + "commands": 25256, + "_look": 25257, + "Ġstrcmp": 25258, + "YN": 25259, + "aired": 25260, + "Ġaudit": 25261, + "оÑģÑĤ": 25262, + "ĠReverse": 25263, + "ropriate": 25264, + "etics": 25265, + "';Ċ": 25348, + "Ġpepper": 25349, + "989": 25350, + "Ġshed": 25351, + "ĠMedium": 25352, + "ĠCookie": 25353, + "889": 25354, + "Ġoverseas": 25355, + "edor": 25356, + "asurement": 25357, + "766": 25358, + "åŃĺ": 25359, + "Ġ'.'": 25360, + "Ġphp": 25361, + "ĠPROC": 25362, + "Ġexceptional": 25363, + "(th": 25364, + "ĠJet": 25365, + "Ġoccupied": 25366, + ".setImage": 25367, + "ĠRelated": 25368, + "ucker": 25369, + "Members": 25370, + "PRINT": 25371, + "ĠGlo": 25372, + "_VIEW": 25373, + "}\",Ċ": 25374, + "Ġadoption": 25375, + "[])Ċ": 25376, + "842": 25377, + "ĠMissouri": 25378, + "ĠLincoln": 25379, + "erald": 25380, + "Popup": 25381, + "Ġfate": 25382, + "-bootstrap": 25383, + "fections": 25384, + "ĠPoll": 25385, + "_ARGS": 25386, + "inance": 25387, + "697": 25388, + "-home": 25389, + ".),": 25390, + "_done": 25391, + "694": 25392, + ":ĊĊĊ": 25393, + "Ġdiscussing": 25394, + "ĠSQLException": 25395, + "Ġelectro": 25396, + "ĉreq": 25397, + "Ġzw": 25398, + "886": 25399, + "Ġlui": 25400, + "932": 25401, + "Ġovernight": 25402, + "$user": 25403, + "ĠWAY": 25404, + "Ġallerg": 25405, + "Ġdisappointed": 25406, + "Ġradiation": 25407, + "Ġimpressed": 25408, + "ificates": 25409, + "Ġtob": 25410, + "CLASS": 25411, + "Ġcuda": 25412, + "_det": 25413, + "-post": 25414, + "ulu": 25415, + "Translation": 25416, + "-hand": 25417, + ".year": 25418, + "ĠMongo": 25419, + "Ġunclear": 25420, + ".engine": 25421, + "WEBPACK": 25422, + "rices": 25423, + "_ACCESS": 25424, + "Ġholidays": 25425, + "percent": 25426, + ".Identity": 25427, + "ĠGov": 25428, + "Ġpassionate": 25429, + "!!.": 25430, + "ĠGreece": 25431, + "plusplus": 25432, + "'));": 25433, + "GP": 25434, + "Ġexcit": 25435, + ".tabPage": 25436, + "_cond": 25437, + "Ġsponsor": 25438, + "MODULE": 25439, + "_proc": 25440, + "Ġ$Ċ": 25441, + "Ġrational": 25442, + ".Tool": 25443, + "Ġihr": 25444, + "cca": 25445, + "åĵģ": 25446, + "ĠEstate": 25447, + "IBUTE": 25448, + "ActionPerformed": 25449, + "ĠSolar": 25450, + "¦Ĥ": 25451, + "Ġequity": 25452, + "tid": 25453, + "938": 25454, + "Ġrecip": 25455, + ".simple": 25456, + "mk": 25457, + "689": 25458, + "ĠLuke": 25459, + "ĠGuardian": 25460, + "Ġencrypted": 25461, + "Ġdominant": 25462, + ".place": 25463, + "ĠNV": 25464, + "839": 25465, + "Ġtongue": 25466, + "(Get": 25467, + "Ġstainless": 25468, + ".Play": 25469, + "Ġeb": 25470, + "aci": 25471, + ".buffer": 25472, + "readcrumbs": 25473, + "Ġvaccine": 25474, + "prom": 25475, + "979": 25476, + "ĠuserInfo": 25477, + "Ġslug": 25478, + "SerializedName": 25479, + "-wide": 25480, + "Ġreactions": 25481, + "ĠYang": 25482, + "ĠAdds": 25483, + "(userId": 25484, + "Ġplates": 25485, + "ĠMEM": 25486, + "Ġbail": 25487, + "Inside": 25488, + "eted": 25489, + "Ġelsif": 25490, + "Ġsake": 25491, + "Ġcycles": 25492, + "ĠìĹ": 25493, + "ĉI": 25494, + "-collapse": 25495, + "841": 25496, + "ĠGMT": 25497, + "814": 25498, + "Declaration": 25499, + "Ġgros": 25500, + "Ġreaches": 25501, + "Ġcustody": 25502, + "Until": 25503, + "753": 25504, + "856": 25505, + "tu": 25506, + "ĠChen": 25507, + "Ġnx": 25508, + "(addr": 25509, + "ĠOffer": 25510, + "Ġcolleg": 25511, + "assador": 25512, + "674": 25513, + "Ġmapper": 25514, + "854": 25515, + "ĠSIGNAL": 25516, + "ĠBloom": 25517, + "ĠHoll": 25518, + "ĠImper": 25519, + "-des": 25520, + "_site": 25521, + "Proc": 25522, + "Equ": 25523, + "Ġatomic": 25524, + "ĠWoman": 25525, + "sent": 25526, + "738": 25527, + "817": 25528, + "scar": 25529, + "Ġintelligent": 25530, + "ĠGetting": 25531, + "ĠRegistration": 25532, + "ĠPhill": 25533, + "Ġkiller": 25534, + "unicode": 25535, + "ĊĉĉĊ": 25536, + "ĠJacob": 25537, + "ĠConst": 25538, + "Ġlocate": 25539, + "Ġcaus": 25540, + "749": 25541, + "ĠScholar": 25542, + "Ġconstitutional": 25543, + "Ġinflation": 25544, + "ĠGot": 25545, + "=array": 25546, + "endum": 25547, + "Ġtranslated": 25548, + "Ġdivorce": 25549, + "Entries": 25550, + "Ġsor": 25551, + "ĠQuote": 25552, + "irlines": 25553, + "UK": 25554, + "Ġexcel": 25555, + "(opt": 25556, + "ĠADV": 25557, + ",:,": 25558, + "Ġcontacted": 25559, + "742": 25560, + "ĠDA": 25561, + "Ġrings": 25562, + "ĠIndustrial": 25563, + ".getContext": 25564, + "Ġforgotten": 25565, + "ĠTan": 25566, + "Ġpants": 25567, + "Ġov": 25568, + "Ġdecoder": 25569, + "ĠPartial": 25570, + "Ġvc": 25571, + "Ġbattles": 25572, + "Arial": 25573, + "FRINGEMENT": 25574, + "irates": 25575, + ",w": 25576, + "aintenance": 25577, + "ĠOd": 25578, + "ĠTechnologies": 25579, + "åīį": 25580, + "ĠCarter": 25581, + ".findAll": 25582, + "Nome": 25583, + "Ben": 25584, + "ĠUsage": 25585, + "ĠPicture": 25586, + "Ġbadly": 25587, + "_panel": 25588, + "Ġpatent": 25589, + "ĠProtocol": 25590, + "lotte": 25591, + "ĉplayer": 25592, + "jections": 25593, + "746": 25594, + "Ġdou": 25595, + "_release": 25596, + "urniture": 25597, + "_tax": 25598, + "ĠFields": 25599, + ".dataset": 25600, + "_master": 25601, + "CLUDE": 25602, + "ĠPharm": 25603, + "bst": 25604, + "Ġoperational": 25605, + ".cell": 25606, + "Ġidentifying": 25607, + "Ġjwt": 25608, + "tuple": 25609, + "ĠTC": 25610, + "ĠCro": 25611, + "936": 25612, + "ixmap": 25613, + "-components": 25614, + "general": 25615, + "Ġoz": 25616, + "_De": 25617, + "_double": 25618, + "ĠToo": 25619, + "088": 25620, + ".ViewGroup": 25621, + "879": 25622, + "gate": 25623, + "dings": 25624, + "photos": 25625, + "Ġgrande": 25626, + "ollect": 25627, + "_lin": 25628, + "Ġawful": 25629, + "filters": 25630, + "Ġalternate": 25631, + "esp": 25632, + "Ġcompress": 25633, + "eo": 25634, + "ĠScale": 25635, + "Ġindirect": 25636, + "Ġinvoice": 25637, + "ĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊĊ": 25638, + "Starting": 25639, + "ĠPlayers": 25640, + "iele": 25641, + ".then": 25642, + "981": 25643, + "Ord": 25644, + "ĠTuple": 25645, + "Ġbout": 25646, + "ĠStatistics": 25647, + "Preview": 25648, + "Ġpuzzle": 25649, + "ĠWidth": 25650, + "STATE": 25651, + "Ġoverlay": 25652, + "ĉon": 25653, + "Ġinfr": 25654, + "Ġsmallest": 25655, + "locked": 25656, + "ÑĤо": 25657, + "ssl": 25658, + "779": 25659, + "Ġdeemed": 25660, + "Ġsco": 25661, + "reck": 25662, + "ĠjButton": 25663, + "Ġmissions": 25664, + "871": 25665, + "ç§°": 25666, + ".SelectedIndex": 25667, + "TABLE": 25668, + "Sept": 25669, + "Ġacknowledge": 25670, + "Ġstrtotime": 25671, + "ĠTell": 25672, + "ĠDak": 25673, + "Ġaluminum": 25674, + "Ġfence": 25675, + "ĠStars": 25676, + "CONFIG": 25677, + "Ġretrofit": 25678, + "Ġemphasis": 25679, + "/header": 25680, + "ĠSomething": 25681, + "inished": 25682, + "='\".$": 25683, + "ĠValidators": 25684, + "Ġpolar": 25685, + "sections": 25686, + "944": 25687, + ".aspx": 25688, + "Ġaspir": 25689, + ".Mock": 25690, + "CodeGen": 25691, + "Ġpeut": 25692, + "971": 25693, + "Ġaccepting": 25694, + "Ġbacking": 25695, + "Picture": 25696, + "/ap": 25697, + "ег": 25698, + "_SEC": 25699, + "-use": 25700, + "annotation": 25701, + "Ġcognitive": 25702, + "Ġgrip": 25703, + "hour": 25704, + "ĠLegal": 25705, + "Ġepic": 25706, + ".toolStrip": 25707, + ".notify": 25708, + ".Last": 25709, + "ORIZ": 25710, + "Middleware": 25711, + "criptions": 25712, + "lash": 25713, + "_FOUND": 25714, + "ĠLiverpool": 25715, + "Ġ{}\",": 25716, + "931": 25717, + "Install": 25718, + "Ġnit": 25719, + "Ġfigured": 25720, + "[len": 25721, + ".Win": 25722, + ".platform": 25723, + "853": 25724, + "Ġgambling": 25725, + "(dt": 25726, + "avery": 25727, + "ĉinclude": 25728, + "Whether": 25729, + "Routing": 25730, + "Ġtherap": 25731, + "Remote": 25732, + "ĠLoss": 25733, + "yll": 25734, + "Ġapproached": 25735, + "ĠVehicle": 25736, + "ĠAlpha": 25737, + "Ġvocê": 25738, + "answers": 25739, + "NSDictionary": 25740, + "954": 25741, + "consider": 25742, + "unused": 25743, + "ĠFan": 25744, + "orable": 25745, + "fre": 25746, + "873": 25747, + "ĠDISCLAIM": 25748, + "ĠActor": 25749, + ".]": 25750, + "toHave": 25751, + ".userId": 25752, + "Ġspeeds": 25753, + "eway": 25754, + "Ġrecurs": 25755, + "Ġг": 25756, + "_priv": 25757, + "!âĢĿĊĊ": 25758, + "Choice": 25759, + "Ġsettle": 25760, + "Ġplanes": 25761, + "'},": 25762, + "Tom": 25763, + "ITER": 25764, + "!\"Ċ": 25765, + "å»": 25766, + "achelor": 25767, + "Ġseparation": 25768, + "Ġdal": 25769, + "adj": 25770, + "Ġregisters": 25771, + "riz": 25772, + "ĠNotice": 25773, + "Ġlu": 25774, + "Ġcourage": 25775, + "Ġaxes": 25776, + "cellent": 25777, + ".async": 25778, + "073": 25779, + "Ġcompatibility": 25780, + "ç«": 25781, + "Ġ!ĊĊ": 25782, + "ĉtitle": 25783, + "YLE": 25784, + "ĉmessage": 25785, + "UUID": 25786, + "OLDER": 25787, + "ĠHH": 25788, + "ĠStyleSheet": 25789, + "Ġaccessed": 25790, + ".validation": 25791, + "tasks": 25792, + "Ġpollution": 25793, + ".canvas": 25794, + "Ġingredient": 25795, + "ĠCabin": 25796, + "Ah": 25797, + "oldown": 25798, + "ĠNOI": 25799, + "ĠÃĹ": 25800, + "[f": 25801, + "educ": 25802, + "yalty": 25803, + "(not": 25804, + "_State": 25805, + "933": 25806, + "amen": 25807, + "795": 25808, + "739": 25809, + "Ġdao": 25810, + "udad": 25811, + "ellers": 25812, + "}&": 25813, + "licity": 25814, + "_WINDOW": 25815, + "Ġtatto": 25816, + "valor": 25817, + ".Range": 25818, + "Ġreferenced": 25819, + "ĠReserve": 25820, + "Money": 25821, + "874": 25822, + "SCRIPT": 25823, + "/product": 25824, + "choices": 25825, + "Ġtin": 25826, + "ãĤĵ": 25827, + "918": 25828, + "Ġseparator": 25829, + "Ġpkg": 25830, + "ammed": 25831, + "ĠMAT": 25832, + "!!ĊĊ": 25833, + "Ġraid": 25834, + "Ġmotivation": 25835, + "ĠXP": 25836, + "ĠBackground": 25837, + "ĠQuaternion": 25838, + ".defineProperty": 25839, + "iker": 25840, + "ĉparent": 25841, + "ĠOriginally": 25842, + "antage": 25843, + "ĠHans": 25844, + "Ġtimeline": 25845, + ".cur": 25846, + "opic": 25847, + "ĠSequ": 25848, + "must": 25849, + "ĠCoal": 25850, + "Ġformatter": 25851, + "_RGB": 25852, + "Ġ_(\"": 25853, + "'}),Ċ": 25854, + "Ġ=================": 25855, + "ĠFUNCTION": 25856, + "Ġlng": 25857, + "icates": 25858, + "live": 25859, + "_engine": 25860, + "Ġtowns": 25861, + "868": 25862, + "'))ĊĊ": 25863, + "ĠPK": 25864, + "(api": 25865, + "ĉscanf": 25866, + "089": 25867, + "packet": 25868, + ".phone": 25869, + "áĢ": 25870, + "ĠAndy": 25871, + "_NAMES": 25872, + "982": 25873, + "PLY": 25874, + "955": 25875, + "Ġmins": 25876, + "imi": 25877, + "Ġbrick": 25878, + "Ġblade": 25879, + ".stdout": 25880, + "}`;Ċ": 25881, + "Shift": 25882, + "ĉsb": 25883, + "ĠChecks": 25884, + "Ġphenomenon": 25885, + "Avatar": 25886, + "Ġministry": 25887, + "rose": 25888, + "ĉFile": 25889, + "878": 25890, + "Ġtitled": 25891, + "(LOG": 25892, + "Ġgan": 25893, + "design": 25894, + "(),čĊ": 25895, + "Ġbones": 25896, + "stm": 25897, + "ÅĽÄĩ": 25898, + "ĠInputStream": 25899, + "Ġvolunt": 25900, + "ĠSerializable": 25901, + "Ġfighter": 25902, + "ĠDrag": 25903, + "Twitter": 25904, + "Ġsubsid": 25905, + "ç¼": 25906, + "Ġforums": 25907, + ".loading": 25908, + "logged": 25909, + "_this": 25910, + "Ġterrain": 25911, + "Ġirre": 25912, + "ĠIng": 25913, + "ĠCN": 25914, + "_objects": 25915, + ".uid": 25916, + "Ġconsciousness": 25917, + "TINGS": 25918, + "ĠGall": 25919, + "Ġportray": 25920, + "056": 25921, + "ĠDeveloper": 25922, + "Ġparticipant": 25923, + "Ġ\";čĊ": 25924, + "/model": 25925, + "794": 25926, + "ĠOperations": 25927, + "^\\": 25928, + "ĠLater": 25929, + "Ġraises": 25930, + "-none": 25931, + ".meta": 25932, + "='.$": 25933, + "Finished": 25934, + "Ġreplacing": 25935, + "Ġsampling": 25936, + "ĠJen": 25937, + "\"There": 25938, + "REAL": 25939, + "ALE": 25940, + "ìĬ¤": 25941, + "Orders": 25942, + "_parameter": 25943, + "ĠOlympic": 25944, + "Ġtrès": 25945, + "Ġarena": 25946, + "iol": 25947, + ";?>": 25948, + "Ġimpacts": 25949, + "ĠWS": 25950, + ":get": 25951, + "Ġflights": 25952, + "ĠRussell": 25953, + "camera": 25954, + "Fn": 25955, + "sigma": 25956, + "Ġforcing": 25957, + "Ġlocals": 25958, + "Ġdeparture": 25959, + "Ġcelebration": 25960, + "ĠSay": 25961, + "884": 25962, + "ï¼Ĵ": 25963, + "ĠHills": 25964, + ".hasOwnProperty": 25965, + "Ġtypings": 25966, + ".API": 25967, + "Ġdonation": 25968, + "OperationException": 25969, + ".Activity": 25970, + "cplusplus": 25971, + "ĠCharlie": 25972, + "Ġimported": 25973, + "Ġdann": 25974, + "Ġoccasions": 25975, + "Ġimplementing": 25976, + "Ġpurple": 25977, + ".dialog": 25978, + "SQLException": 25979, + "erno": 25980, + "Ġwars": 25981, + "Ġpaste": 25982, + "Ġdecreased": 25983, + "Ġharsh": 25984, + "Ġelabor": 25985, + "inputs": 25986, + "ĠViews": 25987, + "ĠerrorMessage": 25988, + "_mul": 25989, + "ĉwrite": 25990, + "ĠCop": 25991, + "ĠAnnual": 25992, + "(button": 25993, + "Ġvida": 25994, + "bars": 25995, + "ĠHarvard": 25996, + "ĉexpect": 25997, + "Ġindexes": 25998, + "Ġdocumentary": 25999, + "Ġflesh": 26000, + "ORLD": 26001, + "ĠDelta": 26002, + "MAND": 26003, + "Brush": 26004, + "-column": 26005, + "Ġdevelopments": 26006, + "974": 26007, + "783": 26008, + "methodVisitor": 26009, + "slice": 26010, + "ĠPDO": 26011, + "Ġinvesting": 26012, + "867": 26013, + "irable": 26014, + "Ġxmlns": 26015, + "ï¼Ľ": 26016, + "arta": 26017, + "Ġtheories": 26018, + "_city": 26019, + "Ġ$__": 26020, + "Creating": 26021, + "(pr": 26022, + "Dropdown": 26023, + "ismatch": 26024, + "ĠNET": 26025, + "926": 26026, + "'])){Ċ": 26027, + "ĠValues": 26028, + "ĠSEO": 26029, + "ĠSTAT": 26030, + "Ġecosystem": 26031, + "Ġtempt": 26032, + "Ġ\\\\": 26033, + "Ġ//{Ċ": 26034, + "ĠChristopher": 26035, + "ĠKentucky": 26036, + "ĠHttpServletResponse": 26037, + "Ġhybrid": 26038, + "yon": 26039, + "Ġfeeding": 26040, + "ĠExtra": 26041, + "Norm": 26042, + "ITCH": 26043, + "ĠSean": 26044, + "ĠUpload": 26045, + "mun": 26046, + "pur": 26047, + "Ġpersistent": 26048, + "ĠIDC": 26049, + "ĠPerform": 26050, + "863": 26051, + ".merge": 26052, + "_room": 26053, + "Meanwhile": 26054, + "!='": 26055, + "ĠWel": 26056, + "ArgsConstructor": 26057, + "887": 26058, + ".Database": 26059, + "Ġcounting": 26060, + "()*": 26061, + "ĶåĽŀ": 26062, + "ĠTOP": 26063, + "mill": 26064, + "ĠDT": 26065, + "IGNED": 26066, + "956": 26067, + "ĠKB": 26068, + "Ġcomply": 26069, + "South": 26070, + "_collection": 26071, + "Chapter": 26072, + "Ġexplaining": 26073, + "_AM": 26074, + "_ts": 26075, + "cards": 26076, + "Ġquel": 26077, + "Ġpole": 26078, + "Ġtouchdown": 26079, + "ĠOthers": 26080, + "Ġpeers": 26081, + "ĠTypeError": 26082, + "763": 26083, + "Ġsixth": 26084, + "Ġcheer": 26085, + "Ġdispute": 26086, + "963": 26087, + "893": 26088, + "usc": 26089, + ")],": 26090, + "thumb": 26091, + "Ġhiding": 26092, + "ĠSIG": 26093, + "likes": 26094, + "ĠPAGE": 26095, + ".Reflection": 26096, + "Ġheadquarters": 26097, + "TING": 26098, + "ĠGhost": 26099, + "MLE": 26100, + "$Ċ": 26101, + "Ġcontrary": 26102, + "extend": 26103, + "']).": 26104, + "FFECT": 26105, + "ĠPinterest": 26106, + "úmero": 26107, + "ricane": 26108, + "ĉsession": 26109, + "Ġcrystal": 26110, + "-Control": 26111, + "overnment": 26112, + "ograf": 26113, + "961": 26114, + "-action": 26115, + "volume": 26116, + "ften": 26117, + "Ġuncon": 26118, + "Ġanimate": 26119, + "Ġlease": 26120, + "scr": 26121, + "Ġrefuse": 26122, + "ãĢĭ": 26123, + "ftp": 26124, + "information": 26125, + "Ġevaluated": 26126, + "Ġinjection": 26127, + "Ġjack": 26128, + "Ġworkshop": 26129, + "注": 26130, + "PTH": 26131, + "ĠTs": 26132, + "offer": 26133, + "ĉos": 26134, + "Ġkingdom": 26135, + "Missing": 26136, + "Ġlawmakers": 26137, + "extField": 26138, + "Ġsinging": 26139, + "abi": 26140, + "/client": 26141, + ".media": 26142, + "ATEGORY": 26143, + "Signature": 26144, + "%',Ċ": 26145, + "ĠFuck": 26146, + "][:": 26147, + "Ġsensors": 26148, + "/com": 26149, + "ĠPrimary": 26150, + ".SQL": 26151, + "_program": 26152, + "Ġpills": 26153, + "Ġintegral": 26154, + "Ġfleet": 26155, + "Ġdropping": 26156, + ".sl": 26157, + "Been": 26158, + "Ġpets": 26159, + "Ġadvised": 26160, + "Ġdragon": 26161, + "_EDIT": 26162, + "(im": 26163, + "939": 26164, + "FER": 26165, + "ĠDrug": 26166, + "(random": 26167, + "Ġcompression": 26168, + "oust": 26169, + "[%": 26170, + "Ġbuyer": 26171, + "hop": 26172, + "Roles": 26173, + "manage": 26174, + "Ġpainful": 26175, + "ĠBranch": 26176, + "-modal": 26177, + "enant": 26178, + "ĠMesh": 26179, + "/font": 26180, + "ĠGraham": 26181, + "Ġâĺ": 26182, + "Ġnc": 26183, + "ĠFrancis": 26184, + "Ġspecification": 26185, + "Ġdamages": 26186, + "-config": 26187, + "Ġtheoret": 26188, + "secure": 26189, + "_multi": 26190, + "aceutical": 26191, + "Ġdemanding": 26192, + "enne": 26193, + "ISTS": 26194, + "094": 26195, + "()));ĊĊ": 26196, + "Reason": 26197, + "Recent": 26198, + "phase": 26199, + "Ġpsy": 26200, + "_MAN": 26201, + "Ġvolunteer": 26202, + "å¿": 26203, + "istributed": 26204, + "lio": 26205, + "Ġproductivity": 26206, + "_comm": 26207, + "Spring": 26208, + "nis": 26209, + ".weight": 26210, + "ĠCancer": 26211, + "Alloc": 26212, + "ĠTweet": 26213, + "Ġseparately": 26214, + "ĉcheck": 26215, + "_properties": 26216, + ".Unit": 26217, + "829": 26218, + "_CLK": 26219, + "Ġgt": 26220, + "Ġ();ĊĊ": 26221, + "Ġhandy": 26222, + "834": 26223, + "ĠThompson": 26224, + "Ġunnecessary": 26225, + "ĠReader": 26226, + "894": 26227, + "GN": 26228, + "=request": 26229, + "ĠUtility": 26230, + ".Repository": 26231, + "ĠAx": 26232, + "hydr": 26233, + "791": 26234, + "ieu": 26235, + "Ġthy": 26236, + "Ġlt": 26237, + "_mail": 26238, + "ä¿®æĶ¹": 26239, + "ailand": 26240, + "ĠPhilip": 26241, + "Ġbitter": 26242, + "Ġbetting": 26243, + "837": 26244, + "Ġtimed": 26245, + "ocks": 26246, + "076": 26247, + "'a": 26248, + "Ġalgorithms": 26249, + "Ġreinterpret": 26250, + "Ġtoss": 26251, + "rogen": 26252, + "Ġhoped": 26253, + "(selected": 26254, + "Ġventure": 26255, + "TEX": 26256, + "ĠLeave": 26257, + ".Substring": 26258, + "Ġgrateful": 26259, + "743": 26260, + "uka": 26261, + "ĠConsumer": 26262, + "Ġaggreg": 26263, + "Circle": 26264, + "à¸ģ": 26265, + "_blocks": 26266, + "Ġlegally": 26267, + "Ġ\"|": 26268, + "ãĥĥ": 26269, + ".board": 26270, + ".Ab": 26271, + "Functions": 26272, + "recipe": 26273, + "èĩ": 26274, + "ĠOxford": 26275, + "Ġwholes": 26276, + ".Build": 26277, + "_changed": 26278, + "hai": 26279, + "Ġdepartments": 26280, + "964": 26281, + "Imp": 26282, + "Ġcoalition": 26283, + "INFRINGEMENT": 26284, + "Ġempower": 26285, + "itches": 26286, + "North": 26287, + "Ġinflamm": 26288, + "ONSE": 26289, + "Ġmissile": 26290, + "ĠRaj": 26291, + "ĠIssue": 26292, + "Ġatoi": 26293, + "caled": 26294, + ".Controllers": 26295, + "ĠWolf": 26296, + "Ġcrushers": 26297, + "á»ĩ": 26298, + ".Auth": 26299, + ".addAttribute": 26300, + "his": 26301, + "Ġboots": 26302, + ".clean": 26303, + "camp": 26304, + "Ġtenant": 26305, + "Ġtune": 26306, + "Ġ{}'.": 26307, + "Ġworkout": 26308, + "Repo": 26309, + "Ġpartially": 26310, + "MISSION": 26311, + "jamin": 26312, + "ĠSB": 26313, + "Ġdetermination": 26314, + "Ġ'');Ċ": 26315, + "ĠBeng": 26316, + "Ġvos": 26317, + "Ġinhab": 26318, + "/lang": 26319, + "sburgh": 26320, + "Executor": 26321, + "hone": 26322, + "ĠChallenge": 26323, + "_links": 26324, + ".Level": 26325, + "Ġunderground": 26326, + "-code": 26327, + "959": 26328, + "Ġoptimization": 26329, + "logging": 26330, + "_dest": 26331, + "Ġsnake": 26332, + "Ġchemicals": 26333, + "_IMPORTED": 26334, + "adoop": 26335, + "ĠTHAT": 26336, + "managed": 26337, + "Ġreduces": 26338, + "ĠREAL": 26339, + "ĠGuy": 26340, + "_GENERIC": 26341, + "/********************************": 26342, + ".amount": 26343, + "Ġdere": 26344, + "getTime": 26345, + "Ġpant": 26346, + "anonymous": 26347, + "Ġharmony": 26348, + "ĠAlan": 26349, + "Ġscenarios": 26350, + "Ġdirt": 26351, + "htags": 26352, + "Mc": 26353, + "Shell": 26354, + "rin": 26355, + "{čĊčĊ": 26356, + ".pow": 26357, + "ĉclient": 26358, + "Ġconspiracy": 26359, + "Ġadmission": 26360, + "ĠRegional": 26361, + "ĠViewController": 26362, + "ĠPhilippines": 26363, + "Ġdepos": 26364, + "Ġpap": 26365, + "962": 26366, + "ĠPad": 26367, + "Paul": 26368, + ".ComboBox": 26369, + "Ġtutor": 26370, + "ĠRecipe": 26371, + "writing": 26372, + "Ġcontributor": 26373, + "OTH": 26374, + "Small": 26375, + "VI": 26376, + "Ġhacer": 26377, + "equ": 26378, + "ĠExamples": 26379, + "human": 26380, + ".messages": 26381, + "ĉtyp": 26382, + "Ġ(čĊ": 26383, + "ĠSSL": 26384, + "LEN": 26385, + "ĠRomney": 26386, + "(grid": 26387, + "ĉmin": 26388, + "Ġ>ĊĊ": 26389, + "Ġfruits": 26390, + "Ġvoter": 26391, + "Inline": 26392, + "pane": 26393, + "ĠCollections": 26394, + "charset": 26395, + "Ġspam": 26396, + "zb": 26397, + "itemap": 26398, + "Ġsucceeded": 26399, + "_COL": 26400, + "Ġelapsed": 26401, + "imeter": 26402, + "Ġrecovered": 26403, + "Tensor": 26404, + "hattan": 26405, + ".setup": 26406, + "isto": 26407, + "(head": 26408, + "977": 26409, + "ĠSIZE": 26410, + "Ġtactics": 26411, + "Ġdistur": 26412, + "Ġpreval": 26413, + "icios": 26414, + "(Value": 26415, + "_cols": 26416, + "ĠFat": 26417, + "Ġseal": 26418, + "Ġsons": 26419, + "Ġensures": 26420, + "095": 26421, + "Ġpressing": 26422, + "=&": 26423, + "igenous": 26424, + "Ġharassment": 26425, + "_JSON": 26426, + "Ġignor": 26427, + "ynomial": 26428, + "omer": 26429, + "_static": 26430, + "Ġsignificance": 26431, + "Ġcircles": 26432, + "_System": 26433, + "Ġdiscipline": 26434, + "Ġdressed": 26435, + "Ġsphere": 26436, + "927": 26437, + "Ġclimb": 26438, + "759": 26439, + "_actions": 26440, + "ĠBab": 26441, + "Ġ'=',": 26442, + "_schema": 26443, + "\"use": 26444, + "Ġunders": 26445, + "Ġcups": 26446, + ".screen": 26447, + "/new": 26448, + "Ġappearing": 26449, + "TOP": 26450, + "vised": 26451, + "clang": 26452, + "Ġinvestigators": 26453, + "Ġmysterious": 26454, + "Ġpromising": 26455, + "Ġqualify": 26456, + "Ġcave": 26457, + "Ġequip": 26458, + "=x": 26459, + "GT": 26460, + "(link": 26461, + ".velocity": 26462, + ".erase": 26463, + "oter": 26464, + "++++++++": 26465, + "profit": 26466, + "Ġzones": 26467, + "_uid": 26468, + "-ser": 26469, + "Ġobjectives": 26470, + "Ġmilf": 26471, + "webkit": 26472, + "(match": 26473, + "neh": 26474, + "ĠAssociated": 26475, + "ĠTodo": 26476, + "=d": 26477, + "065": 26478, + "Cam": 26479, + "Ġvocal": 26480, + "Ġsudo": 26481, + "(EX": 26482, + "Ġtrou": 26483, + "ABC": 26484, + ".bean": 26485, + "ĠGround": 26486, + "ĠREST": 26487, + "weets": 26488, + "Ing": 26489, + "imon": 26490, + "946": 26491, + "_bus": 26492, + "ĠCOLOR": 26493, + "unto": 26494, + "Ġfoss": 26495, + "ĠLinks": 26496, + "869": 26497, + "äng": 26498, + "/forms": 26499, + "prises": 26500, + "Ġachievement": 26501, + "CALL": 26502, + "елÑĮ": 26503, + "ĠVerify": 26504, + "_SOURCE": 26505, + "aptcha": 26506, + "IDD": 26507, + "_reference": 26508, + "Gold": 26509, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 26510, + "947": 26511, + "Receiver": 26512, + "099": 26513, + "Ġaj": 26514, + "_direction": 26515, + "}]": 26516, + "ĠCompet": 26517, + "Ġbang": 26518, + "798": 26519, + "ĠCass": 26520, + "-url": 26521, + "techn": 26522, + "ĠJerusalem": 26523, + "longitude": 26524, + "');čĊčĊ": 26525, + "Ġwinners": 26526, + "Tasks": 26527, + "ĠDMA": 26528, + "Ġtooltip": 26529, + "İ·": 26530, + "ĠBra": 26531, + "_duration": 26532, + "cury": 26533, + "parents": 26534, + "---->(": 26607, + "ĠKir": 26608, + "Ġintros": 26609, + "Ġsketch": 26610, + "Ġskilled": 26611, + "Ġimmer": 26612, + "Ġadequate": 26613, + "_rep": 26614, + "(header": 26615, + "_like": 26616, + "Ġperceived": 26617, + "ssh": 26618, + "Ġassuming": 26619, + "Ġff": 26620, + "_uuid": 26621, + "ulas": 26622, + "Ġdemocratic": 26623, + ".entities": 26624, + "Series": 26625, + "aphore": 26626, + "Ġnewer": 26627, + "}(": 26628, + "SEC": 26629, + "airo": 26630, + "Ġcommod": 26631, + "Ġprivilege": 26632, + "Ġdeux": 26633, + "ĠHop": 26634, + ".'/": 26635, + "ctic": 26636, + ".';Ċ": 26637, + "C": 26712, + "ĠWarren": 26713, + "Ġoptimizer": 26714, + "ĠSERVICES": 26715, + "_oper": 26716, + "getAttribute": 26717, + "ĠMcK": 26718, + "_self": 26719, + "084": 26720, + ".rs": 26721, + "\")ĊĊĊ": 26722, + "GetComponent": 26723, + "erce": 26724, + "Ġtous": 26725, + "units": 26726, + "']);čĊ": 26727, + "Zoom": 26728, + "/E": 26729, + "Ġobsc": 26730, + "Ġfastest": 26731, + "online": 26732, + "Ġpeaceful": 26733, + "ffen": 26734, + "Ġcargo": 26735, + "ĉpr": 26736, + "Ġseeks": 26737, + "zu": 26738, + "074": 26739, + "Trim": 26740, + "Ġward": 26741, + "Ġverd": 26742, + "Ġblogs": 26743, + ".exceptions": 26744, + "ĠPremium": 26745, + "ĠNetherlands": 26746, + "Safe": 26747, + "Finish": 26748, + "ĠAlbum": 26749, + "_ACC": 26750, + "=this": 26751, + "virtual": 26752, + "]>": 26753, + "_LABEL": 26754, + "ĠNich": 26755, + "_win": 26756, + "ĠAaron": 26757, + "WP": 26758, + ";$": 26759, + "aims": 26760, + "ĠImageView": 26761, + "Ġendless": 26762, + "ERA": 26763, + "_DISABLE": 26764, + "Ġcancelled": 26765, + "-us": 26766, + "Ġinspection": 26767, + "emin": 26768, + "ĠGrey": 26769, + "-open": 26770, + "Ġiterations": 26771, + ".owner": 26772, + "Ġkeras": 26773, + ".Password": 26774, + "ĠRy": 26775, + "ĠINS": 26776, + "Air": 26777, + "ĠSeveral": 26778, + ".TabStop": 26779, + "INGLE": 26780, + "ĠHair": 26781, + "ĠCanvas": 26782, + "AAAA": 26783, + "Ġflaw": 26784, + "cedes": 26785, + ".Report": 26786, + "íĬ": 26787, + "ĠTips": 26788, + "criptors": 26789, + ".transaction": 26790, + ".Spring": 26791, + "Ġviewer": 26792, + "Ġinsights": 26793, + "è¾ĵ": 26794, + "ordion": 26795, + "UINT": 26796, + "seek": 26797, + "ĠAuf": 26798, + "ìŀIJ": 26799, + "Ġstrain": 26800, + "Tooltip": 26801, + "Ġdz": 26802, + "ignal": 26803, + "adt": 26804, + "Ġuc": 26805, + "finite": 26806, + "Ġnm": 26807, + ".cmd": 26808, + "ĠMySql": 26809, + "[data": 26810, + ".jackson": 26811, + ".tree": 26812, + "RequestParam": 26813, + "_agent": 26814, + "\")]čĊ": 26815, + "Ġassass": 26816, + "(Constants": 26817, + ":ss": 26818, + "ĠMAN": 26819, + "+-+-": 26820, + "ĠBottom": 26821, + "prints": 26822, + "ĠSame": 26823, + "@Autowired": 26824, + "swap": 26825, + "ición": 26826, + "Ġprotesters": 26827, + "Ġhoney": 26828, + "ĠVeter": 26829, + "(Calendar": 26830, + "-ad": 26831, + "ĠBrooklyn": 26832, + "Life": 26833, + "_VAR": 26834, + "zech": 26835, + "ĠCALL": 26836, + "_CAST": 26837, + "ĠElection": 26838, + "Ġthickness": 26839, + "Very": 26840, + "_INTEGER": 26841, + "-dev": 26842, + "))))": 26843, + "apat": 26844, + "oooo": 26845, + "demo": 26846, + "ĠparseFloat": 26847, + "ĠRather": 26848, + "STIT": 26849, + "maker": 26850, + "[current": 26851, + "chrono": 26852, + "Ġchrist": 26853, + "ãģª": 26854, + "ĠDetail": 26855, + "ưá»": 26856, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 26857, + "Ġsul": 26858, + "idency": 26859, + "Que": 26860, + "Ġelegant": 26861, + "apons": 26862, + "Ġdishes": 26863, + "Ġintegers": 26864, + "(read": 26865, + "057": 26866, + "findViewById": 26867, + "ĠAmount": 26868, + "ĠSkip": 26869, + "Ġhabits": 26870, + "*)(": 26871, + "Ġmonsters": 26872, + "MAC": 26873, + ":end": 26874, + "Ġfrank": 26875, + "Assembly": 26876, + "Ġdfs": 26877, + "Ġneut": 26878, + "_TYPES": 26879, + "equal": 26880, + "loyd": 26881, + "(uri": 26882, + "Ġchi": 26883, + "Ġdefendant": 26884, + "Ġconflicts": 26885, + "Ġvil": 26886, + "-js": 26887, + "ĠPeace": 26888, + "Ġmutable": 26889, + ")sender": 26890, + "ĠFocus": 26891, + "建": 26892, + "Ġappreciated": 26893, + "sleep": 26894, + "ĠRED": 26895, + "Culture": 26896, + "Ġdesigners": 26897, + "_generator": 26898, + "codes": 26899, + "/ex": 26900, + ".GetValue": 26901, + "umbled": 26902, + ".scalajs": 26903, + "peror": 26904, + "Ġveterans": 26905, + "Ġ})čĊ": 26906, + "Ġunfortunately": 26907, + "_CREATE": 26908, + "Mass": 26909, + "ĠCLAIM": 26910, + "ĠMeet": 26911, + "_support": 26912, + "Bank": 26913, + "().Ċ": 26914, + "Dark": 26915, + "_LOW": 26916, + "ĠMining": 26917, + "ĠOwner": 26918, + "iera": 26919, + "Cliente": 26920, + "Ġencouraging": 26921, + ">S": 26922, + "Ġboyfriend": 26923, + "ĠHalf": 26924, + "ĠACC": 26925, + "Aff": 26926, + "_ar": 26927, + "-life": 26928, + "cx": 26929, + ".JButton": 26930, + "izado": 26931, + ".zero": 26932, + ".openqa": 26933, + "oton": 26934, + ".textContent": 26935, + "Ġtoll": 26936, + "atie": 26937, + "Ġballot": 26938, + "-number": 26939, + ".Exception": 26940, + "ĉparams": 26941, + "circle": 26942, + "-map": 26943, + "Ġnap": 26944, + "ĠRobot": 26945, + "ĠIch": 26946, + "registration": 26947, + "Amazon": 26948, + "rollment": 26949, + "(exp": 26950, + "Ġtanks": 26951, + "ĠGordon": 26952, + "Ġmachinery": 26953, + "Ġbaseline": 26954, + "æĭ": 26955, + "086": 26956, + "Ø©": 26957, + "ĠConvention": 26958, + "ĉconfig": 26959, + "ookies": 26960, + "mult": 26961, + "Records": 26962, + "ĠEST": 26963, + "Ġgarbage": 26964, + "Ġconform": 26965, + "idal": 26966, + "Ġbarg": 26967, + "Ġsurvived": 26968, + "Ġinvestigations": 26969, + "935": 26970, + ".containsKey": 26971, + "--------------------------------------------------------------------------Ċ": 26972, + "ortion": 26973, + "Ġhorr": 26974, + "_http": 26975, + "Ġmant": 26976, + "];čĊčĊ": 26977, + "binary": 26978, + "948": 26979, + "empl": 26980, + "Ġinquiry": 26981, + "ĠMeanwhile": 26982, + "098": 26983, + "Ġcollecting": 26984, + ".EntityFramework": 26985, + "\",ĊĊ": 26986, + "ĠPic": 26987, + "@Inject": 26988, + "ickness": 26989, + "ĠBinding": 26990, + "Ġcontrolling": 26991, + "reverse": 26992, + "Ġchairs": 26993, + "sembled": 26994, + "(add": 26995, + "Disabled": 26996, + "anas": 26997, + ".translate": 26998, + "-----------Ċ": 26999, + "Ġreflected": 27000, + "\"]ĊĊ": 27001, + "External": 27002, + "Arrow": 27003, + "Singleton": 27004, + "%x": 27005, + "ĠÅ": 27006, + "Ġancest": 27007, + "ĠOrleans": 27008, + "ĉcmd": 27009, + "Ġprohibited": 27010, + "ithmetic": 27011, + "(channel": 27012, + "_css": 27013, + "Forward": 27014, + ".socket": 27015, + "Ġluc": 27016, + "âĨ": 27017, + "ĠFirefox": 27018, + "ĠMovies": 27019, + ")_": 27020, + ".ends": 27021, + "(shape": 27022, + "Ġdealt": 27023, + "Ġsaves": 27024, + "Ġglory": 27025, + "Ġmejor": 27026, + "Ġbreathing": 27027, + "Ġeller": 27028, + "getData": 27029, + "Ġangles": 27030, + "Ġtoolbar": 27031, + "Ġspacing": 27032, + "059": 27033, + "IPS": 27034, + "Ġfloors": 27035, + "_ACTIVE": 27036, + "Ġshuffle": 27037, + "/shared": 27038, + "ĠEle": 27039, + "edish": 27040, + "Ġwebcam": 27041, + ".expect": 27042, + "iloc": 27043, + "ĠIncludes": 27044, + "Ġtweeted": 27045, + "Ġ:)": 27046, + "ĠEssay": 27047, + "Fix": 27048, + "-between": 27049, + "_web": 27050, + ".conv": 27051, + "Ġracism": 27052, + "Ġreflects": 27053, + "umm": 27054, + "иÑĤе": 27055, + "_footer": 27056, + "/docs": 27057, + "ĠPour": 27058, + "NgModule": 27059, + ".initialize": 27060, + "patterns": 27061, + "_In": 27062, + "ĠAbb": 27063, + "*čĊ": 27064, + "Ġsentiment": 27065, + "buff": 27066, + "_counts": 27067, + "Ġreuse": 27068, + "chunk": 27069, + "Ġimposed": 27070, + "PrimaryKey": 27071, + "Foreground": 27072, + "Ġconsumed": 27073, + "?!": 27074, + "Ġdick": 27075, + "Ġchron": 27076, + "ĠFern": 27077, + "Ġresponsive": 27078, + "958": 27079, + "Ġinsect": 27080, + "iculty": 27081, + "Ġrw": 27082, + "Ġalike": 27083, + "Ġsubset": 27084, + "ĠCookies": 27085, + "ĠPair": 27086, + "Ġtier": 27087, + "IFO": 27088, + "avour": 27089, + "ĠQU": 27090, + ",sizeof": 27091, + "Ġmerged": 27092, + "mv": 27093, + "itol": 27094, + "ylon": 27095, + "Ġjumped": 27096, + ".role": 27097, + "ensaje": 27098, + "Rules": 27099, + "Ġbrowse": 27100, + "Animator": 27101, + "Ġyoga": 27102, + "Ġvariants": 27103, + "Ġcourtesy": 27104, + "uran": 27105, + "pbs": 27106, + "elseif": 27107, + "Alt": 27108, + "ĠLane": 27109, + "CLK": 27110, + "IMARY": 27111, + "_PROPERTY": 27112, + "ï¼IJ": 27113, + "Ġchan": 27114, + "Ġgradually": 27115, + "Ġshake": 27116, + "Ġblonde": 27117, + "...\");Ċ": 27118, + "-sex": 27119, + "Ġgameplay": 27120, + "acies": 27121, + ".refresh": 27122, + "USB": 27123, + "ĠPlot": 27124, + "Was": 27125, + "issippi": 27126, + "ĠTensor": 27127, + "Ġcryptocurrency": 27128, + "Ġdifficulties": 27129, + "Deleted": 27130, + "Without": 27131, + "_append": 27132, + "_ver": 27133, + "967": 27134, + "\"))čĊ": 27135, + "Ġhonestly": 27136, + "Ġpivot": 27137, + "Ġtemps": 27138, + "_ps": 27139, + "ĠUnlike": 27140, + "[:-": 27141, + "VS": 27142, + "_inf": 27143, + "Ġjunior": 27144, + "Ġanimations": 27145, + "Ġfilepath": 27146, + "?{{$": 27168, + "Ġunicode": 27169, + "places": 27170, + "ĠCoffee": 27171, + ".SE": 27172, + "ĠPAR": 27173, + "(txt": 27174, + "gebra": 27175, + "Ġfires": 27176, + "MainWindow": 27177, + "medium": 27178, + "Ġ(âĢľ": 27179, + "Ġlg": 27180, + "Ġcmp": 27181, + "/base": 27182, + "_layers": 27183, + "_entries": 27184, + "Ġadminister": 27185, + "ĠSUCH": 27186, + "BP": 27187, + "ĠScottish": 27188, + "ĉčĊĉčĊ": 27189, + "guard": 27190, + "ĠStrong": 27191, + "Insn": 27192, + "ĠCAP": 27193, + "asury": 27194, + "ĠSEE": 27195, + "Clock": 27196, + "erie": 27197, + "\\models": 27198, + "Ġ$$": 27199, + "ĠCab": 27200, + "Ġwurde": 27201, + "Ġsoldier": 27202, + "Ġclips": 27203, + "Ġarrangement": 27204, + "ĠWonder": 27205, + "ĠHorn": 27206, + "Ġscared": 27207, + "Ġcure": 27208, + "mkdir": 27209, + "Ġaligned": 27210, + "ĠPink": 27211, + "Ġlanded": 27212, + "Dimension": 27213, + "ScrollPane": 27214, + ".chat": 27215, + ".With": 27216, + "ĠTrain": 27217, + "].Ċ": 27218, + "Ġthirty": 27219, + "Ġdurable": 27220, + "Ġld": 27221, + "Ġlateinit": 27222, + "Ġcharts": 27223, + "Ġinsult": 27224, + ".Fatal": 27225, + "_ct": 27226, + "Ġmasks": 27227, + "CLUDED": 27228, + "President": 27229, + "Ġcolours": 27230, + "gments": 27231, + ".attributes": 27232, + "ĠFlex": 27233, + "ĠClock": 27234, + "ÃŃcul": 27235, + "imen": 27236, + "JO": 27237, + "ĠRegex": 27238, + "_LINK": 27239, + "Ġcouch": 27240, + "ĠINPUT": 27241, + "Ġbeating": 27242, + "business": 27243, + "preced": 27244, + ".unit": 27245, + "ĠFel": 27246, + "Never": 27247, + "ospel": 27248, + ".startswith": 27249, + "ĠEPA": 27250, + ".only": 27251, + "Ġpreventing": 27252, + "yer": 27253, + "ColumnName": 27254, + "Ġelevation": 27255, + "flu": 27256, + "icycle": 27257, + "Ġoffline": 27258, + "Toolbar": 27259, + "Ġcompeting": 27260, + ")].": 27261, + "Ġmog": 27262, + "ĠisValid": 27263, + "Ask": 27264, + "_av": 27265, + "_lat": 27266, + "ANC": 27267, + "ĠJoh": 27268, + "kers": 27269, + "Ġguards": 27270, + "Ġchains": 27271, + "ĠSimpleDateFormat": 27272, + ".static": 27273, + "Ġvessel": 27274, + "Ġmud": 27275, + "Ġstabil": 27276, + "Ġstret": 27277, + "gm": 27278, + "amation": 27279, + "çľ": 27280, + "-with": 27281, + "Ġros": 27282, + "_PA": 27283, + "Ġresultado": 27284, + "Ġconfidential": 27285, + "ĠTokyo": 27286, + "ĉusing": 27287, + "ĠMathf": 27288, + "ombine": 27289, + "ĠESPN": 27290, + "Ġdealers": 27291, + "Ġdismissed": 27292, + "TRY": 27293, + "Ġteens": 27294, + "records": 27295, + "Ġwings": 27296, + "gallery": 27297, + "accounts": 27298, + "_LIB": 27299, + "Ġjacket": 27300, + "ĠNSObject": 27301, + "Ġstones": 27302, + "ĠDelivery": 27303, + "ĠDiet": 27304, + "/watch": 27305, + "Ġtoilet": 27306, + "ĠGuest": 27307, + ".day": 27308, + "067": 27309, + "Ġintval": 27310, + "087": 27311, + "Visit": 27312, + "Ġinvestigated": 27313, + "Ġpentru": 27314, + "ĠTheatre": 27315, + "andidates": 27316, + "Lang": 27317, + "ĠServ": 27318, + "Ġcontrollers": 27319, + "ĠsetTitle": 27320, + "NP": 27321, + "amy": 27322, + "flat": 27323, + "(ui": 27324, + "069": 27325, + "_document": 27326, + "èĥ½": 27327, + "ĠCoin": 27328, + "ĠAdams": 27329, + "ptic": 27330, + "Ġproductive": 27331, + "Ġaccomplished": 27332, + "čĊčĊčĊčĊ": 27333, + "Ġdeferred": 27334, + "ientes": 27335, + "Ġsinc": 27336, + "olars": 27337, + "Rightarrow": 27338, + "Ġvariations": 27339, + "(offset": 27340, + "957": 27341, + ".LayoutInflater": 27342, + "Ġsuspend": 27343, + "Ġprevention": 27344, + "_private": 27345, + "_js": 27346, + "âĺħ": 27347, + "Ġwieder": 27348, + "atum": 27349, + "ĴĮ": 27350, + "Ġappearances": 27351, + ".Document": 27352, + "Ġvalidates": 27353, + "calendar": 27354, + "}\";Ċ": 27355, + ".demo": 27356, + "conut": 27357, + "Ġcorrection": 27358, + "ĠDeal": 27359, + "Ġbatteries": 27360, + ".duration": 27361, + ",\\": 27362, + "_marker": 27363, + "multi": 27364, + "Ġhalt": 27365, + "Ġcms": 27366, + "Ġshaped": 27367, + "Bro": 27368, + "reduce": 27369, + "Ġ####": 27370, + "CTOR": 27371, + "ĠBenef": 27372, + "Ġiconic": 27373, + "Ġpiano": 27374, + "Ġeffectiveness": 27375, + "|.Ċ": 27376, + "Ġajax": 27377, + "Ġvolumes": 27378, + "ม": 27379, + "Ġcljs": 27380, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 27381, + "aths": 27382, + "raits": 27383, + "大": 27384, + "Ñĸ": 27385, + "_mult": 27386, + "Ġfascinating": 27387, + "Average": 27388, + "Ġpré": 27389, + "ĠChairman": 27390, + ".findElement": 27391, + "_pin": 27392, + "Ġcomparing": 27393, + "Ġdarkness": 27394, + "-Fi": 27395, + "-server": 27396, + "Ġselecting": 27397, + "sterdam": 27398, + "ĠParts": 27399, + "FORMATION": 27400, + "Ġnoting": 27401, + "Ġpile": 27402, + "ogs": 27403, + "Ġpalette": 27404, + "_do": 27405, + "itize": 27406, + "079": 27407, + "()(": 27408, + "Ġdefining": 27409, + "Ġremainder": 27410, + "Units": 27411, + "_TASK": 27412, + "HttpClient": 27413, + "Social": 27414, + "Ġfundra": 27415, + "NR": 27416, + "chest": 27417, + "Currency": 27418, + ".adapter": 27419, + "Ġdop": 27420, + "unting": 27421, + "ANGUAGE": 27422, + "\"He": 27423, + "ĉindex": 27424, + "_package": 27425, + ".Icon": 27426, + "Ġrepet": 27427, + "mass": 27428, + "=\".$": 27429, + "ĠSud": 27430, + "Ġlid": 27431, + "province": 27432, + "ìľ": 27433, + "GPIO": 27434, + "Ðļ": 27435, + "ĠMySQL": 27436, + "Ġdocs": 27437, + "ĠGA": 27438, + "Ġipsum": 27439, + "Kernel": 27440, + "Ġaccepts": 27441, + "Ġfitting": 27442, + "Ġcuando": 27443, + "Ġduplic": 27444, + "ĠBrother": 27445, + "ĠKle": 27446, + "nums": 27447, + "Ġmorph": 27448, + "Ġ########": 27449, + "ĠCGPoint": 27450, + "manual": 27765, + "ĠTechnical": 27766, + "Ġcorporation": 27767, + "ĠHW": 27768, + "anka": 27769, + "TAIL": 27770, + "istas": 27771, + "Ġperforms": 27772, + "ĠBehavior": 27773, + ".For": 27774, + "_ORDER": 27775, + "ĠKick": 27776, + "Ġcallbacks": 27777, + "_dr": 27778, + "uego": 27779, + "hub": 27780, + "ufficient": 27781, + "sky": 27782, + "Ġbp": 27783, + "htable": 27784, + "ĠONLY": 27785, + "ĠAUTHORS": 27786, + ".Argument": 27787, + "\"};Ċ": 27788, + "ĠThunder": 27789, + "ĠKom": 27790, + ".Should": 27791, + "AUTH": 27792, + "ahu": 27793, + "_payment": 27794, + "Ġstarter": 27795, + "ìĦľ": 27796, + "ìļ©": 27797, + "Blog": 27798, + ".patch": 27799, + "Ġgoverned": 27800, + "assy": 27801, + "-found": 27802, + "Ġtheater": 27803, + "ĠFontWeight": 27804, + "ĠBatman": 27805, + "\"If": 27806, + ".Random": 27807, + "_delta": 27808, + "ĠCE": 27809, + "Authenticated": 27810, + "Ġdrone": 27811, + "Ġcous": 27812, + "radius": 27813, + "Mer": 27814, + "(None": 27815, + "ĠNJ": 27816, + "_headers": 27817, + "Ġamer": 27818, + "pytest": 27819, + "ĠActions": 27820, + "ĉĉĉĠĠĠĠ": 27821, + "Ġett": 27822, + "Ġholy": 27823, + "Ġuncomfort": 27824, + "ĠNin": 27825, + "ĠDecimal": 27826, + "ĠMessages": 27827, + ".sender": 27828, + "]])Ċ": 27829, + "Ġembrace": 27830, + "Though": 27831, + "/sp": 27832, + "Ġcultures": 27833, + "Ġhighway": 27834, + "tar": 27835, + ".fail": 27836, + "_hidden": 27837, + "ĠcomponentDidMount": 27838, + "ĠWright": 27839, + "Ġjag": 27840, + "_il": 27841, + "../../../": 27842, + "igu": 27843, + "Food": 27844, + "Ġace": 27845, + "Ġaños": 27846, + "USD": 27847, + "Ġmutual": 27848, + "Logic": 27849, + "Ġtemple": 27850, + "Ġbriefly": 27851, + "ĠTrip": 27852, + "classmethod": 27853, + "defaults": 27854, + "Ġchunks": 27855, + ",,,,": 27856, + "ĠReason": 27857, + "$id": 27858, + "-ups": 27859, + "Ġdamn": 27860, + "Ġtrucks": 27861, + "Ġunlimited": 27862, + "Ġsculpt": 27863, + "ĠCards": 27864, + "Ġautor": 27865, + "ĠTesting": 27866, + "Ġdiese": 27867, + "shops": 27868, + "ç´": 27869, + "(payload": 27870, + "ĠPATH": 27871, + "ĠMemorial": 27872, + "Ġridiculous": 27873, + "egree": 27874, + "-winning": 27875, + "Ġrehab": 27876, + "Ġsophisticated": 27877, + "wpdb": 27878, + "ĉpath": 27879, + "!\";Ċ": 27880, + "_SYS": 27881, + ".speed": 27882, + "Ġsoap": 27883, + "suffix": 27884, + "Wrap": 27885, + "Ġenhancement": 27886, + "Ãī": 27887, + "úb": 27888, + "Ġplaylist": 27889, + "Ġmixing": 27890, + "antidad": 27891, + "=\"\";Ċ": 27892, + "ĠRevision": 27893, + "ĠBeat": 27894, + ".inc": 27895, + "-way": 27896, + "encias": 27897, + "ulers": 27898, + "Cat": 27899, + "idel": 27900, + "ĠShip": 27901, + ".setColor": 27902, + "Ġthreatening": 27903, + ".modules": 27904, + "Ġafterwards": 27905, + "ĠDashboard": 27906, + "ĊĠĊ": 27907, + "Signal": 27908, + "Ġprimer": 27909, + "orneys": 27910, + "iciary": 27911, + "Ġligne": 27912, + "_predict": 27913, + "Ġaest": 27914, + "_https": 27915, + ">:": 27916, + "ĠLex": 27917, + "Ġrencontres": 27918, + "egral": 27919, + "scala": 27920, + "_family": 27921, + "ÃŁen": 27922, + "_sym": 27923, + "Ġuncertainty": 27924, + "ĠVALUE": 27925, + "Ġ};čĊčĊ": 27926, + "Ġbroader": 27927, + "Ġhorses": 27928, + "ãģĿ": 27929, + "ĠKal": 27930, + "oba": 27931, + "_INET": 27932, + "ĠKill": 27933, + "jquery": 27934, + "amination": 27935, + "[@\"": 27936, + "Ġmuj": 27937, + "###Ċ": 27938, + "FirstOrDefault": 27939, + "thenReturn": 27940, + "Che": 27941, + "/footer": 27942, + "Ġparks": 27943, + "asje": 27944, + "ĠGulf": 27945, + "Ġmodest": 27946, + ".Init": 27947, + "ï¼ŁĊĊ": 27948, + "Ġprospects": 27949, + "Ġsvg": 27950, + "Ġåı": 27951, + ".Dialog": 27952, + "_NET": 27953, + "Ġ(($": 27954, + "Ġek": 27955, + "ĠWarning": 27956, + "ĠMK": 27957, + "": 28265, + "ĠRepair": 28266, + "_BE": 28267, + "Brand": 28268, + "uart": 28269, + "preview": 28270, + "Ġinitiatives": 28271, + "running": 28272, + "bang": 28273, + "ĉupdate": 28274, + "ĠCoach": 28275, + "Rich": 28276, + "Ġyoutube": 28277, + "Ġritual": 28278, + "appa": 28279, + "ĠRobinson": 28280, + "precision": 28281, + "////////////////////////////////////////////////////////////////////////////": 28282, + "=[]Ċ": 28283, + "Ġcelebrated": 28284, + "OTO": 28285, + "Ġinclusion": 28286, + "JP": 28287, + "';čĊčĊ": 28288, + "Ġnotable": 28289, + "(_.": 28290, + "Managed": 28291, + "Ġguides": 28292, + " ": 28293, + "atedRoute": 28294, + "ĠAdjust": 28295, + "Ġcolored": 28296, + "_scores": 28297, + "ĠTesla": 28298, + "_progress": 28299, + ".inst": 28300, + "['_": 28301, + ".flags": 28302, + "Ġfclose": 28303, + "_OPER": 28304, + "ży": 28305, + "_note": 28306, + "Ġtransgender": 28307, + "åķ": 28308, + "RIPT": 28309, + "Ġabsent": 28310, + "Ġamet": 28311, + "Ġoperand": 28312, + "ë©": 28313, + "Ġhood": 28314, + "toLowerCase": 28315, + "avo": 28316, + "ĠCircuit": 28317, + "ĠLind": 28318, + "--}}Ċ": 28319, + "=m": 28320, + "Ġsuppress": 28321, + "ĠMAP": 28322, + "iang": 28323, + "-admin": 28324, + "Ġsidebar": 28325, + "ĠBu": 28326, + "ĠHex": 28327, + ",F": 28328, + "ĠSignal": 28329, + "Ġtransparency": 28330, + "ĠFederation": 28331, + "/V": 28332, + "Req": 28333, + "Ġpulse": 28334, + "Ġtends": 28335, + "Numbers": 28336, + "%'": 28337, + "Ġdeport": 28338, + "datas": 28339, + "_UINT": 28340, + "_tra": 28341, + "oko": 28342, + "Ġ\"?": 28343, + "compet": 28344, + "solete": 28345, + "undry": 28346, + "Ġoverlap": 28347, + "}`,Ċ": 28348, + ".ly": 28349, + "_summary": 28350, + "ĠLost": 28351, + ".Center": 28352, + "Ġdisability": 28353, + ".Serialization": 28354, + "Ġgeom": 28355, + "Ġ?:": 28356, + "ĠWo": 28357, + "Ġshipped": 28358, + "Ĥæķ°": 28359, + "Ġugly": 28360, + "Ġexcitement": 28361, + "Ġexterior": 28362, + "Ġcheckout": 28363, + "Ġkur": 28364, + ",D": 28365, + "ĠAlaska": 28366, + "Ġsynthetic": 28367, + "ĠBudget": 28368, + "ĠSubscribe": 28369, + "Ġ&Ċ": 28370, + "ÈĻi": 28371, + "ĠYu": 28372, + "ĉquery": 28373, + "}.Ċ": 28374, + "Ġtraged": 28375, + "assen": 28376, + "Ġaccommodation": 28377, + "Ġphysician": 28378, + "Ġrenamed": 28379, + "Ġtidak": 28380, + "zÄħ": 28381, + "Ġminus": 28382, + "nych": 28383, + "097": 28384, + "_EXCEPTION": 28385, + "threads": 28386, + "Ġtire": 28387, + "_created": 28388, + "ensure": 28389, + "Ġworthy": 28390, + "Ġexcuse": 28391, + "Ġcloth": 28392, + ".parentNode": 28393, + "/platform": 28394, + "ĠUFC": 28395, + "ĠGtk": 28396, + "unny": 28397, + "Ġgibt": 28398, + "keley": 28399, + "hum": 28400, + "(tx": 28401, + "ĉdev": 28402, + "Ġoutfit": 28403, + "doors": 28404, + "Ġfon": 28405, + "icut": 28406, + "volatile": 28407, + "Ġhomosex": 28408, + "Maximum": 28409, + "Ġexpend": 28410, + "Ġ});ĊĊĊ": 28411, + "Eq": 28412, + "onders": 28413, + "department": 28414, + "ĠPhysics": 28415, + "\"});Ċ": 28416, + "Ġparad": 28417, + ".Str": 28418, + "Ġsele": 28419, + "IFIED": 28420, + "Ġdelivers": 28421, + "ivan": 28422, + "Ġresponsibilities": 28423, + "Ġadvocates": 28424, + "èµ": 28425, + "ĠRID": 28426, + ".parameters": 28427, + "Metrics": 28428, + "ronics": 28429, + "ĠUITableViewCell": 28430, + "Absolute": 28431, + "ipse": 28432, + "ylum": 28433, + "MLElement": 28434, + "_VALID": 28435, + "\\<^": 28630, + "Ġios": 28631, + "sound": 28632, + "\"];": 28633, + "Ġfreed": 28634, + "rottle": 28635, + "ĠLower": 28636, + "[count": 28637, + "åĿ": 28638, + "Ġpale": 28639, + "ĠWayne": 28640, + "earth": 28641, + "_categories": 28642, + "UCK": 28643, + ".metadata": 28644, + "Ġsummon": 28645, + "HOME": 28646, + "олÑĮз": 28647, + "Ġmanufactured": 28648, + "Ġdock": 28649, + "Ġcompetitors": 28650, + "_MODEL": 28651, + "okia": 28652, + "ĠHey": 28653, + "ο": 28654, + "Ġbackward": 28655, + "ĠPOSS": 28656, + "ropa": 28657, + "Ġcri": 28658, + "_OBJ": 28659, + "Transport": 28660, + "-high": 28661, + "Ġerotik": 28662, + "_slot": 28663, + "Ġartic": 28664, + "_framework": 28665, + "-serif": 28666, + "ĠSqlDbType": 28667, + "')(": 28668, + "+\"/": 28669, + "Ġwore": 28670, + "Sil": 28671, + "Ġstoring": 28672, + "ĠPhase": 28673, + "uant": 28674, + "Ġbump": 28675, + "inho": 28676, + "Ġdign": 28677, + "Ġbacks": 28678, + "qq": 28679, + "(hash": 28680, + "Ġgeo": 28681, + "Ġtender": 28682, + "Logo": 28683, + "!)Ċ": 28684, + "ĠMX": 28685, + "ĠArthur": 28686, + "essoa": 28687, + "_Ch": 28688, + "Ġbedrooms": 28689, + "=\"#\"><": 28690, + "Ġthroat": 28691, + "insic": 28692, + ".integer": 28693, + "Ġprimitive": 28694, + "Truthy": 28695, + "Ġfacilitate": 28696, + "Ġcreativity": 28697, + "ĠDNS": 28698, + "Ġgra": 28699, + "uez": 28700, + "Ġcountless": 28701, + "ĠPoland": 28702, + "'M": 28703, + "ĠDist": 28704, + "Ġvest": 28705, + "Ġcertification": 28706, + "á»ij": 28707, + "held": 28708, + "extensions": 28709, + "(static": 28710, + "Ġgrades": 28711, + "ĠUber": 28712, + "ãģŁ": 28713, + "Ġ[])Ċ": 28714, + "datos": 28715, + "ĠgetData": 28716, + "ĠCharg": 28717, + "ĠBS": 28718, + ".microsoft": 28719, + ".video": 28720, + ".direction": 28721, + "->{'": 28722, + "lua": 28723, + "apest": 28724, + "Ġboiler": 28725, + "erek": 28726, + "Ġdecides": 28727, + ".jar": 28728, + "ISC": 28729, + "ĠWords": 28730, + "(CON": 28731, + "EMPLATE": 28732, + "reeze": 28733, + "shots": 28734, + "apps": 28735, + "unted": 28736, + ".setName": 28737, + "::<": 28738, + "-bold": 28739, + "ê²": 28740, + "å¯Ĩ": 28741, + "Longrightarrow": 28742, + "Ġunfair": 28743, + "Ġearning": 28744, + "Ġshelf": 28745, + "UREMENT": 28746, + "Ġidle": 28747, + "_MENU": 28748, + ".Custom": 28749, + "AGER": 28750, + "-\"": 28751, + "_switch": 28752, + "because": 28753, + ")view": 28754, + "mare": 28755, + "_condition": 28756, + "ĠStarting": 28757, + "Mvc": 28758, + "(pre": 28759, + "dump": 28760, + "_LOCK": 28761, + "atetime": 28762, + ".callback": 28763, + "ĠCer": 28764, + "opol": 28765, + "ibrary": 28766, + "Ġreservation": 28767, + "ĉĉĉĉĉĉĉĊ": 28768, + "lector": 28769, + "graduate": 28770, + "Ġgenerous": 28771, + "Ġion": 28772, + "ricao": 28773, + "mq": 28774, + "_complete": 28775, + "(cursor": 28776, + "ĠFormControl": 28777, + ":center": 28778, + "Ġsubstitute": 28779, + "ĠPlanning": 28780, + "Ġpension": 28781, + "Ġrecommendation": 28782, + "ĠTags": 28783, + "Ġgef": 28784, + "Ġalbums": 28785, + "Ġwashing": 28786, + "roc": 28787, + "Ġtrains": 28788, + "atings": 28789, + "Ġexponent": 28790, + "ackbar": 28791, + "-ln": 28792, + "ág": 28793, + ".DataAnnotations": 28794, + "ĠEIF": 28795, + "ĠMalaysia": 28796, + "ĉPORT": 28797, + "onus": 28798, + "Ġclever": 28799, + "Ġpeu": 28800, + ">ĊĊĊĊ": 28801, + "ĠArguments": 28802, + "Ġdebugging": 28803, + "(right": 28804, + "'D": 28805, + "compute": 28806, + "Ġfinest": 28807, + "ORAGE": 28808, + "Ġspectacular": 28809, + "phrase": 28810, + "Ġindia": 28811, + "Ġlegendary": 28812, + "birth": 28813, + "Ġcomposite": 28814, + "Ġgrows": 28815, + "ĠTD": 28816, + "Ġepid": 28817, + "Ġlaunching": 28818, + "]][": 28819, + "Minutes": 28820, + "ĠCha": 28821, + "Ġcleaned": 28822, + "Ġwitnesses": 28823, + "ukan": 28824, + "ĉType": 28825, + "Ġhabe": 28826, + "paragraph": 28827, + "ĠJPanel": 28828, + "ĠHann": 28829, + "Ġvaried": 28830, + "ĠPokemon": 28831, + "ĠMUST": 28832, + "åĬ¨": 28833, + ".visibility": 28834, + "opup": 28835, + "^[": 28836, + ".expand": 28837, + "Ġ\"',": 28838, + ".fasterxml": 28839, + "_auto": 28840, + "ĠSheet": 28841, + "marker": 28842, + "Parcel": 28843, + "ews": 28844, + "ĠStrategy": 28845, + "-making": 28846, + "Ġunve": 28847, + "Ġtrailing": 28848, + "Ġclicks": 28849, + "ĠGetComponent": 28850, + "ĉcontent": 28851, + "IGENCE": 28852, + "ERNEL": 28853, + "NSMutableArray": 28854, + "Ġbreat": 28855, + "Ġharmful": 28856, + "¶Ī": 28857, + "Ġbesides": 28858, + "Ġboring": 28859, + "Ġbrutal": 28860, + "vang": 28861, + "(parse": 28862, + "quick": 28863, + "Ġpytest": 28864, + "Ġswitching": 28865, + "()]Ċ": 28866, + "ĠìĦ": 28867, + "LER": 28868, + "ĉfont": 28869, + "Ġnett": 28870, + ")]ĊĊ": 28871, + "(/\\": 28872, + "æŀľ": 28873, + "toArray": 28874, + "Ġbreed": 28875, + "ĠCAR": 28876, + "ĠWeapon": 28877, + "Abs": 28878, + "tot": 28879, + "ĠsetName": 28880, + "aptive": 28881, + "Ġ:,": 28882, + "Ġescaped": 28883, + "orden": 28884, + "ĠPri": 28885, + "thumbnail": 28886, + "Ġdescriptions": 28887, + "/styles": 28888, + "ĠPCI": 28889, + "Ġalphabet": 28890, + "asticsearch": 28891, + "NOTE": 28892, + "Ġcialis": 28893, + "ĠGriff": 28894, + "Ġporque": 28895, + "Ġproteins": 28896, + "plays": 28897, + "Ġstating": 28898, + "Ġimagination": 28899, + "Ġfacial": 28900, + "ĠMechan": 28901, + "Ġarranged": 28902, + "_used": 28903, + "Ġarrangements": 28904, + "ĠPipe": 28905, + "hostname": 28906, + "Ġprovinc": 28907, + "Tit": 28908, + ".FlatStyle": 28909, + "ĠSplit": 28910, + "ĠLoader": 28911, + ".cc": 28912, + "Ġclinic": 28913, + "----------------------------": 28914, + "Ġbaking": 28915, + "ĠENT": 28916, + "neath": 28917, + "ãĢģĊĊ": 28918, + "ANE": 28919, + ".EntityFrameworkCore": 28920, + "appers": 28921, + ".ic": 28922, + "ĠNgModule": 28923, + "ĠFORM": 28924, + "Ġ';": 28925, + "-profit": 28926, + "hw": 28927, + "enemy": 28928, + "ĠEye": 28929, + "Ġcaution": 28930, + "town": 28931, + "Ġurged": 28932, + "ĠJimmy": 28933, + "ynchronous": 28934, + "-sized": 28935, + "making": 28936, + ",{": 28937, + "]',": 28938, + "_Object": 28939, + "ahoma": 28940, + "Ġactivist": 28941, + "INVAL": 28942, + "ĠCommercial": 28943, + "ĠOrlando": 28944, + "(tab": 28945, + "Ġب": 28946, + "Algorithm": 28947, + "Ġheritage": 28948, + "GetMapping": 28949, + "Ġfailures": 28950, + "rios": 28951, + "ativa": 28952, + "Ġtet": 28953, + "Ġcarpet": 28954, + "(Z": 28955, + "three": 28956, + "Ġdisclosure": 28957, + ".ERROR": 28958, + "_called": 28959, + "Ġdial": 28960, + "Ġoccasional": 28961, + ".Err": 28962, + "Ġfuncion": 28963, + "caffold": 28964, + "Ġreleasing": 28965, + "ï¼īĊĊ": 28966, + "_Value": 28967, + "ĠVari": 28968, + "yellow": 28969, + "Ġstruggles": 28970, + ".cal": 28971, + "ĠDakota": 28972, + "ĉclose": 28973, + "Ġsandwich": 28974, + "Ġanalytics": 28975, + "Ġ**)": 28976, + "&#": 28977, + "ĠJos": 28978, + "Ġpassive": 28979, + "ATTR": 28980, + "Throwable": 28981, + "ĠMun": 28982, + "ĠUint": 28983, + "(disposing": 28984, + "arak": 28985, + "ĠLeaders": 28986, + "Ġaffecting": 28987, + "ĠitemView": 28988, + "Ġeconomics": 28989, + "fv": 28990, + "à¹Ģ": 28991, + ".rb": 28992, + "ĠOverall": 28993, + "Ġwealthy": 28994, + "Ġevolved": 28995, + "nda": 28996, + "ĠHus": 28997, + "restrict": 28998, + "umen": 28999, + "ĠAgricult": 29000, + "!ĊĊĊ": 29001, + "Ġexpires": 29002, + "Ġspokesperson": 29003, + "interval": 29004, + "Ġâ": 29005, + "Ġqueen": 29006, + "(nil": 29007, + "ingo": 29008, + "Heap": 29009, + "Ùİ": 29010, + "Ġcomplain": 29011, + "Sym": 29012, + "ĠClone": 29013, + "ĠRu": 29014, + "ĠWILL": 29015, + "ĠCrystal": 29016, + "/content": 29017, + "ingen": 29018, + "ointment": 29019, + "LastName": 29020, + "avicon": 29021, + "ĠIBM": 29022, + "ĠDimension": 29023, + "anh": 29024, + "icipants": 29025, + "ĠAnne": 29026, + ".progress": 29027, + "Ġalgo": 29028, + "obil": 29029, + "ĠVoice": 29030, + "ĠFE": 29031, + "Ġgli": 29032, + "Ġved": 29033, + "Ġprevents": 29034, + "\\Column": 29035, + "Ġfolk": 29036, + "etti": 29037, + "Ġmn": 29038, + "ĠCLASS": 29039, + "Ġdisplaying": 29040, + "ĠKl": 29041, + "ĠFerr": 29042, + "duto": 29043, + ".ib": 29044, + "Ġdados": 29045, + "'name": 29046, + "-space": 29047, + "Ġitalian": 29048, + "Ġinverse": 29049, + "Ġdense": 29050, + "uter": 29051, + "ĠIEnumerator": 29052, + "-sign": 29053, + "Ġnationwide": 29054, + "Ġpersona": 29055, + "Ġsolved": 29056, + "Ġdramatically": 29057, + "Logout": 29058, + "Ġgrav": 29059, + "Ġanalyses": 29060, + "ollo": 29061, + "Ġlamp": 29062, + ".team": 29063, + "ĠErot": 29064, + "=[\"": 29065, + "Ġdancing": 29066, + "Ġ?>/": 29067, + "Ġcater": 29068, + "ffe": 29069, + "ĠSha": 29070, + "ĠBos": 29071, + "ĠREQUIRE": 29072, + "ĠMonster": 29073, + "ĠRB": 29074, + "ĠIDE": 29075, + "Ġsuits": 29076, + "ĠformData": 29077, + "(theta": 29078, + "Ġspatial": 29079, + "=NULL": 29080, + "ĠSqlConnection": 29081, + "Ġà": 29082, + "ĠVenez": 29083, + "ĠMorning": 29084, + "Ġpublications": 29085, + "ĠNONINFRINGEMENT": 29086, + "firstName": 29087, + "uds": 29088, + "Would": 29089, + "_HEAD": 29090, + "Ġinvested": 29091, + "stable": 29092, + "fred": 29093, + "Ġcommander": 29094, + "SES": 29095, + "âĢĶa": 29096, + "anche": 29097, + "ĠMovement": 29098, + "ë³": 29099, + "Suite": 29100, + "Ġjurisdiction": 29101, + "리": 29102, + "ĠBeth": 29103, + "jQuery": 29104, + "ĠIsa": 29105, + "Ġdental": 29106, + ",*": 29107, + "ĠLimit": 29108, + "iliation": 29109, + "=\"{": 29110, + "bast": 29111, + "Ġturb": 29112, + "isy": 29113, + "OOK": 29114, + "Ġadvocate": 29115, + "imag": 29116, + "LECTION": 29117, + "лÑĮ": 29118, + "(category": 29119, + ".dec": 29120, + "Ġuniqu": 29121, + "_sn": 29122, + "Ġattracted": 29123, + "ĠÃī": 29124, + "ĠRunning": 29125, + "_edges": 29126, + "ĠDisable": 29127, + "_AS": 29128, + "åĽ¾": 29129, + "Ġnetworking": 29130, + "_branch": 29131, + "Having": 29132, + "toBeTruthy": 29133, + "GI": 29134, + "Ġcamps": 29135, + "sep": 29136, + "-part": 29137, + "Ġ)ĊĊĊĊĊĊĊĊ": 29138, + "ustralia": 29139, + "ĠReports": 29140, + "rito": 29141, + "Ġwaist": 29142, + "_plus": 29143, + "ĠWW": 29144, + "-person": 29145, + "April": 29146, + "Ġsar": 29147, + ".tar": 29148, + "Ġagricultural": 29149, + "tic": 29150, + "Ġtcp": 29151, + "ĠsetValue": 29152, + "agento": 29153, + "ĠAppe": 29154, + "piler": 29155, + "CADE": 29156, + "Ġanche": 29157, + "atcher": 29158, + "Ġcomics": 29159, + "Ġlbs": 29160, + "_segment": 29161, + "']=$": 29162, + "itters": 29163, + "icher": 29164, + "GINE": 29165, + "Ġutilize": 29166, + "ĠCursor": 29167, + "_expression": 29168, + "Ġdag": 29169, + "x": 29357, + ".Task": 29358, + "money": 29359, + "ibaba": 29360, + "'});Ċ": 29361, + "ĠSpecific": 29362, + "ĠLinear": 29363, + "_OPT": 29364, + "HashCode": 29365, + "(Player": 29366, + ".ContainsKey": 29367, + "Ġcollapsed": 29368, + "transparent": 29369, + "_RANGE": 29370, + "Viewer": 29371, + "(cfg": 29372, + "Ġsorting": 29373, + "Ġinfected": 29374, + "ĠNach": 29375, + "Ġaccommodate": 29376, + ".elements": 29377, + "_PART": 29378, + "ĠSexy": 29379, + "=get": 29380, + "(year": 29381, + "Ġxhr": 29382, + ":]": 29383, + "owski": 29384, + "Ġsummar": 29385, + "Ġ¿": 29386, + "Ġinte": 29387, + "Ġworkflow": 29388, + "ĠTaiwan": 29389, + "versions": 29390, + "åıij": 29391, + "Ġsurprisingly": 29392, + "Ġoptical": 29393, + "Ġproces": 29394, + "Ġdisagree": 29395, + "Ġnuevo": 29396, + "ĠCAM": 29397, + "sorted": 29398, + "leases": 29399, + "istle": 29400, + "Ident": 29401, + "ĉevent": 29402, + "jected": 29403, + "Chunk": 29404, + "Vars": 29405, + ".provider": 29406, + "Ġproceedings": 29407, + "Ġinclusive": 29408, + "Ġartwork": 29409, + "endants": 29410, + "ï¼ļĊ": 29411, + "seen": 29412, + "Ġlig": 29413, + "Ġmakers": 29414, + "_fun": 29415, + "Ġlengths": 29416, + "PathVariable": 29417, + "[item": 29418, + "ี": 29419, + "Dead": 29420, + "FFFFFF": 29421, + "ĠUrban": 29422, + "uples": 29423, + "ichen": 29424, + "(nullptr": 29425, + ".spec": 29426, + ",System": 29427, + "URATION": 29428, + "(job": 29429, + "å¼ı": 29430, + "Ġtracker": 29431, + "ÅĻ": 29432, + "ĠMR": 29433, + "ĠSQLite": 29434, + "Ġdto": 29435, + "Ġ;;Ċ": 29436, + "Ġmint": 29437, + "ĠIntroduction": 29438, + "cao": 29439, + "Ġquestioned": 29440, + "Ġfitted": 29441, + "revision": 29442, + "sq": 29443, + "Ġmig": 29444, + "_units": 29445, + "_async": 29446, + "Ġflick": 29447, + "});ĊĊĊ": 29448, + "Ġnotre": 29449, + "}`,": 29450, + "Filters": 29451, + "Ġmundo": 29452, + "_days": 29453, + "Ġfrm": 29454, + "utc": 29455, + "Ġvals": 29456, + "ewidth": 29457, + "ĠGenerator": 29458, + "ĠArtist": 29459, + "ĠIDs": 29460, + "ĠArticles": 29461, + "reater": 29462, + "ĠComponentFixture": 29463, + ".=": 29464, + "Ġrou": 29465, + "-no": 29466, + ".bukkit": 29467, + "egg": 29468, + "ĠDiff": 29469, + "atics": 29470, + "ÑĥÑĩ": 29471, + "âĢĶĊĊ": 29472, + "ĠCharlotte": 29473, + "bye": 29474, + "Ġ});čĊčĊ": 29475, + "ĠVik": 29476, + "ĠBrow": 29477, + "Ġlv": 29478, + "ĠGib": 29479, + "-wing": 29480, + "GLIGENCE": 29481, + "(Il": 29482, + "ĠEngineer": 29483, + ".Wait": 29484, + "ĠPictures": 29485, + "Ġrhet": 29486, + "Ġthermal": 29487, + "Ġpraise": 29488, + "<>();ĊĊ": 29489, + "ĠSpider": 29490, + "Pause": 29491, + "ĠBaker": 29492, + "Ġslower": 29493, + "Ġ}]Ċ": 29494, + "_enqueue": 29495, + "Ġdisappeared": 29496, + "ĠTicket": 29497, + "INUX": 29498, + "_LOCAL": 29499, + "аÑģÑģ": 29500, + "@Injectable": 29501, + "community": 29502, + "GestureRecognizer": 29503, + "åĽ½": 29504, + "Ġscales": 29505, + "Ġ-(": 29506, + "/'+": 29507, + "ĠSit": 29508, + "Ġexecutives": 29509, + "arding": 29510, + "Ġadvers": 29511, + "Ġbackwards": 29512, + "ĉcontext": 29513, + "ĠHamp": 29514, + "ĠPF": 29515, + "ĠDeck": 29516, + "ĠCraig": 29517, + "American": 29518, + "Ġbell": 29519, + "Ġprol": 29520, + "ufen": 29521, + "Ġrng": 29522, + "arshal": 29523, + "ĠSimply": 29524, + "firstname": 29525, + "shore": 29526, + "July": 29527, + "Ġmortality": 29528, + "ĠâĨĴĊĊ": 29529, + "Helpers": 29530, + "Ġbenchmark": 29531, + "emade": 29532, + "Ġorganisations": 29533, + ".gson": 29534, + "ĠTextField": 29535, + "Ġcivilians": 29536, + ".Arrays": 29537, + "ĠMississippi": 29538, + "Ġintermediate": 29539, + "getUser": 29540, + "_cluster": 29541, + "Relative": 29542, + "foreign": 29543, + ".querySelectorAll": 29544, + "ForeignKey": 29545, + "Ġreasonably": 29546, + "---------Ċ": 29547, + "Cards": 29548, + "ĠKam": 29549, + "ĠThor": 29550, + "Ġroller": 29551, + "-element": 29552, + "ĠCurrency": 29553, + "ddie": 29554, + "ALLY": 29555, + "ĠRA": 29556, + "Ġpermet": 29557, + "aaaa": 29558, + "Ġhomework": 29559, + "ĠVit": 29560, + "Ġmold": 29561, + "ĠFer": 29562, + "[start": 29563, + "Ġstatistical": 29564, + "Ġscary": 29565, + "_HOME": 29566, + ".Begin": 29567, + "Construct": 29568, + "ogenic": 29569, + "ĠDEALINGS": 29570, + "Ġtambién": 29571, + "ixon": 29572, + ".ind": 29573, + "acre": 29574, + "Ġtransforms": 29575, + "ĠNap": 29576, + ".Block": 29577, + "ussia": 29578, + "piration": 29579, + "ulent": 29580, + "Ġceil": 29581, + "Clause": 29582, + "naire": 29583, + "TES": 29584, + "Ġneat": 29585, + "STD": 29586, + "ĠRegExp": 29587, + "perform": 29588, + ":)": 29589, + "Ġunions": 29590, + "Ġsublic": 29591, + "Ġwinds": 29592, + "loating": 29593, + "glich": 29594, + "Ġpagination": 29595, + "Skill": 29596, + "Apply": 29597, + "ĠOperator": 29598, + "istogram": 29599, + "Ġqualities": 29600, + "Cross": 29601, + "Ġdecom": 29602, + "],\"": 29603, + "ĠJuan": 29604, + ".modal": 29605, + ".Child": 29606, + "ĠRoger": 29607, + "STITUTE": 29608, + ":CGRectMake": 29609, + "alette": 29610, + "Ġsta": 29611, + "aside": 29612, + "Ġblur": 29613, + "ĠWa": 29614, + "ifetime": 29615, + "reed": 29616, + "controls": 29617, + "Ġbins": 29618, + "Ġпол": 29619, + "*/,Ċ": 29620, + "UIS": 29621, + "ĠRou": 29622, + "ĠDemo": 29623, + "-awesome": 29624, + "ĠChain": 29625, + "Ġhasta": 29626, + "ĠBart": 29627, + ".KEY": 29628, + "Ġvendors": 29629, + "nofollow": 29630, + "ĠDest": 29631, + "_builder": 29632, + "Ġargues": 29633, + "_answer": 29634, + "goto": 29635, + "ĠRESULT": 29636, + "ĠMON": 29637, + "Ġpoder": 29638, + "oons": 29639, + "_CASE": 29640, + "Ġreplic": 29641, + "Ġfinancing": 29642, + "ĠDATE": 29643, + "cern": 29644, + "_track": 29645, + "ties": 29646, + "/logo": 29647, + "ĠNEGLIGENCE": 29648, + "getType": 29649, + ">T": 29650, + "bet": 29651, + "girl": 29652, + "ĠINCIDENTAL": 29653, + "-site": 29654, + ".trigger": 29655, + "ĠLisa": 29656, + "_inputs": 29657, + "Ġrelatives": 29658, + "LoggedIn": 29659, + "Configure": 29660, + "IK": 29661, + ".accept": 29662, + "Resume": 29663, + "ĠDraft": 29664, + "Ġ*>(": 29665, + "ĠWA": 29666, + "edian": 29667, + "erness": 29668, + "ĠLayoutInflater": 29669, + "*/čĊčĊ": 29670, + "othy": 29671, + "Ġobligation": 29672, + "Subscribe": 29673, + "Ġthumbnail": 29674, + "exist": 29675, + "Ġinsisted": 29676, + "ĠUICollectionView": 29677, + "ĠAngular": 29678, + "Ġtablets": 29679, + "ĠImpact": 29680, + "ãĢįĊĊ": 29681, + "aho": 29682, + "Ġcharacteristic": 29683, + "gd": 29684, + "Ġ=================================================": 29685, + "ourt": 29686, + "`.": 29687, + "Appro": 29688, + "Coordinate": 29689, + "Remember": 29690, + "Ġmarine": 29691, + "]=='": 29692, + "ĠAdministrator": 29693, + ".getDefault": 29694, + "Ġforgot": 29695, + "ĠStructure": 29696, + "Vue": 29697, + "arsing": 29698, + "moment": 29699, + "kw": 29700, + "_cursor": 29701, + "Attack": 29702, + "Ġathletic": 29703, + "Ġdiagnosed": 29704, + "Ġende": 29705, + "åĪłéϤ": 29706, + "House": 29707, + "ĠPARAM": 29708, + "Ġwiki": 29709, + "ĠOpp": 29710, + "Ġconservation": 29711, + "Ġsnd": 29712, + "_tem": 29713, + "substr": 29714, + "ĠCape": 29715, + ".sim": 29716, + "UTION": 29717, + "anan": 29718, + "âĢĻun": 29719, + "Ġgy": 29720, + "-work": 29721, + "Ġcompelling": 29722, + "='#": 29723, + "ĉsub": 29724, + "Ġdirectories": 29725, + "íĬ¸": 29726, + "Ġtouches": 29727, + "outines": 29728, + ".Collection": 29729, + "schedule": 29730, + ".lat": 29731, + "ĠDoctrine": 29732, + "CAA": 29733, + "ĠRefer": 29734, + "Ġshifts": 29735, + "Ġlikelihood": 29736, + "preter": 29737, + "ĠFemale": 29738, + "Ġintercept": 29739, + "Ġlou": 29740, + "çĻ»": 29741, + "Ġrug": 29742, + "ĠCrown": 29743, + "Ġ****************************************************************************": 29744, + "-product": 29745, + "Ġprompted": 29746, + "ungle": 29747, + "docker": 29748, + "ĠTu": 29749, + "ĠUnique": 29750, + "_Error": 29751, + "ulos": 29752, + "ĠâĦ": 29753, + "Ġ(`": 29754, + "Getting": 29755, + "_scal": 29756, + "ĠEnh": 29757, + "üt": 29758, + "Ġsustained": 29759, + "Ġpatches": 29760, + "Ġprosper": 29761, + "ĠGaza": 29762, + "_light": 29763, + "Ġincons": 29764, + "--------Ċ": 29765, + "ĉĉĠĠĠĠĠĠ": 29766, + "SF": 29767, + "CN": 29768, + ":\";Ċ": 29769, + "ĠCollins": 29770, + "(*)": 29771, + "Ġcompilation": 29772, + "']čĊ": 29773, + "Ġconsequence": 29774, + ",...": 29775, + "Ġdm": 29776, + "ĠBLOCK": 29777, + "Cluster": 29778, + "Ġski": 29779, + "(argc": 29780, + "Tuple": 29781, + "Ġjoins": 29782, + "ĠSheriff": 29783, + "War": 29784, + "indi": 29785, + "Ġcommented": 29786, + "HOST": 29787, + "Ġinvitation": 29788, + "apanese": 29789, + "Ġpermits": 29790, + "precedented": 29791, + "_zone": 29792, + "ĠAmy": 29793, + "_RD": 29794, + "Minimum": 29795, + "Ġinvocation": 29796, + ".enable": 29797, + "ichten": 29798, + "-owned": 29799, + "\"id": 29800, + "_POINTER": 29801, + "Fac": 29802, + "Ġspecifications": 29803, + "Ġnomination": 29804, + "Ġgp": 29805, + "<(": 29806, + "Ġrobots": 29807, + "ĠJerry": 29808, + "Ġholders": 29809, + "Ġwand": 29810, + "cms": 29811, + "Ġ}))Ċ": 29812, + ".Toast": 29813, + "ĠIList": 29814, + "Based": 29815, + "zoom": 29816, + "/style": 29817, + "ĠBeck": 29818, + "Men": 29819, + "Ġcontributing": 29820, + "Ġundo": 29821, + "ĠOH": 29822, + "ĠaddObject": 29823, + "Ġeigen": 29824, + "signup": 29825, + "éĶĻ": 29826, + "Ġdistant": 29827, + "PARATOR": 29828, + "ĠMari": 29829, + "Ġmá": 29830, + "Emp": 29831, + "ós": 29832, + "ĠìĪĺ": 29833, + "evt": 29834, + "+j": 29835, + "park": 29836, + "ĠStay": 29837, + "ĠDun": 29838, + "Ġsoy": 29839, + ">%": 29840, + "azines": 29841, + "Ġtiempo": 29842, + "(me": 29843, + "present": 29844, + ".This": 29845, + "Ġeditors": 29846, + "FIELD": 29847, + ".Work": 29848, + "ĠUniverse": 29849, + "Ġdrunk": 29850, + ".timer": 29851, + "Ġaltered": 29852, + "ĠNar": 29853, + "ëł¥": 29854, + ".Active": 29855, + "idor": 29856, + "çŃ": 29857, + ".deltaTime": 29858, + "Ġawkward": 29859, + """: 29860, + "ĠSafari": 29861, + "Ġtricks": 29862, + "MENTS": 29863, + "division": 29864, + "Ġvarying": 29865, + "ĠHighway": 29866, + "Ġphotographer": 29867, + "ĠStewart": 29868, + "Ġlasting": 29869, + ".Pre": 29870, + ".amazonaws": 29871, + "ĠLuck": 29872, + ".Description": 29873, + "ĠNaz": 29874, + "neg": 29875, + "Ġcó": 29876, + "<<\"\\": 29877, + "ĠSurv": 29878, + "ĠUnc": 29879, + "Recipe": 29880, + ".BorderStyle": 29881, + "Ġmodifications": 29882, + "-at": 29883, + "ATFORM": 29884, + "hdr": 29885, + "ako": 29886, + "Ġsublicense": 29887, + "ĠJump": 29888, + "Ġbeim": 29889, + "ĠManhattan": 29890, + ".bool": 29891, + "_hw": 29892, + "ÑĤÑĮ": 29893, + "Bin": 29894, + "Ġgateway": 29895, + "\"\":": 29896, + "ĠUIS": 29897, + ":\"+": 29898, + "-def": 29899, + "ĠRegular": 29900, + "/testing": 29901, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 29902, + "stringstream": 29903, + "Ġdispar": 29904, + "Ġmobil": 29905, + "-read": 29906, + "ĠAdapter": 29907, + "ĠChampions": 29908, + "Ġscheduler": 29909, + "Ġkills": 29910, + "ĠMultiple": 29911, + "irror": 29912, + "Ġgods": 29913, + "ADO": 29914, + "akte": 29915, + "ĠUsuario": 29916, + ".circular": 29917, + "Ġrecept": 29918, + "ĠExpr": 29919, + "Ġelderly": 29920, + "Ġnicely": 29921, + "Ġbeste": 29922, + "Want": 29923, + "Ġclassical": 29924, + ".sprite": 29925, + "objc": 29926, + "ĠMason": 29927, + "Ġsistema": 29928, + ".Black": 29929, + "eso": 29930, + "ĠZeit": 29931, + "Ġdivid": 29932, + "Ġenters": 29933, + "_subject": 29934, + "ĠPlanet": 29935, + ".warning": 29936, + "ĠGram": 29937, + "_tokens": 29938, + "Ġhouseholds": 29939, + "_customer": 29940, + "userName": 29941, + "cross": 29942, + "Ġpione": 29943, + "Ġassists": 29944, + "_SM": 29945, + "ibo": 29946, + "Ġloyal": 29947, + "Ġuseless": 29948, + "#elif": 29949, + "ĠUltimate": 29950, + "Come": 29951, + "gel": 29952, + "Ġdich": 29953, + "xyz": 29954, + "ikel": 29955, + "obra": 29956, + "_scan": 29957, + "ĠInterior": 29958, + "ĠNice": 29959, + "Ġplac": 29960, + "ĉtarget": 29961, + "Ġviral": 29962, + "asso": 29963, + "()/": 29964, + "unde": 29965, + "ĠAdobe": 29966, + "Os": 29967, + "visited": 29968, + "ĠOW": 29969, + "ĠFeed": 29970, + "ĠSequence": 29971, + "Ġmanages": 29972, + "inson": 29973, + "ĠLouisiana": 29974, + "{})": 29975, + "ĠHab": 29976, + "ĠLD": 29977, + "Ġbip": 29978, + "prites": 29979, + "(elem": 29980, + ".hibernate": 29981, + "élé": 29982, + "Ġohne": 29983, + "_transaction": 29984, + "Ġannunci": 29985, + "Published": 29986, + "ĠHonda": 29987, + "ĠTam": 29988, + "ĠPacket": 29989, + "_selector": 29990, + "Ġchallenged": 29991, + "Processing": 29992, + "-hover": 29993, + "Ġtrainer": 29994, + "_cancel": 29995, + "ĠNSDictionary": 29996, + "abric": 29997, + "ĠMLS": 29998, + "_sensor": 29999, + "Ġshrink": 30000, + "ĠFX": 30001, + "threshold": 30002, + "ĉHX": 30003, + "-mark": 30004, + "`.`": 30005, + "Scheme": 30006, + "(full": 30007, + "_writer": 30008, + "ĠSys": 30009, + "Ġfled": 30010, + "ĠCin": 30011, + "-widget": 30012, + "ĠPrevious": 30013, + "Gender": 30014, + "_question": 30015, + "Feed": 30016, + "Ġscrut": 30017, + "(prefix": 30018, + "ãĢĤãĢĤ": 30019, + "Ġinfections": 30020, + "Parts": 30021, + "Ġhierarchy": 30022, + "_DELETE": 30023, + "ĠPatient": 30024, + "_pay": 30025, + "Ġpromoted": 30026, + "Ġìĭ": 30027, + "Ġcivilian": 30028, + "Ġagriculture": 30029, + "ĠPiece": 30030, + "Ġstance": 30031, + "utsche": 30032, + "Assign": 30033, + ".ACTION": 30034, + "Fig": 30035, + "_radius": 30036, + "ĠSync": 30037, + "ducer": 30038, + "failure": 30039, + "ensed": 30040, + "ptime": 30041, + "BM": 30042, + "_datetime": 30043, + "quivo": 30044, + "QUEUE": 30045, + "èĢħ": 30046, + "Appear": 30047, + "Ġsummit": 30048, + ":void": 30049, + "Ġvine": 30050, + "认": 30051, + "onne": 30052, + "_TRANS": 30053, + ".green": 30054, + "_cc": 30055, + "Ġhungry": 30056, + "Ġ\">": 30057, + "());čĊčĊ": 30058, + "Extract": 30059, + "izens": 30060, + "Ġsolver": 30061, + "Notify": 30062, + "Ġenglish": 30063, + "ĠShopping": 30064, + "interfaces": 30065, + "REQ": 30066, + "Ġilleg": 30067, + "ĠUIImageView": 30068, + "Ġdisconnect": 30069, + "ĠUntil": 30070, + "ĠConservative": 30071, + "@Column": 30072, + "Ġshifted": 30073, + "Ġ:čĊ": 30074, + "Ġfich": 30075, + "Ġdla": 30076, + "Ġshoe": 30077, + "\"),čĊ": 30078, + "ularity": 30079, + "_RESP": 30080, + "Weather": 30081, + "UIApplication": 30082, + ".iterator": 30083, + "Ġaging": 30084, + ".Parent": 30085, + "owie": 30086, + "(equal": 30087, + "ĠConv": 30088, + "/default": 30089, + "Ġmeasuring": 30090, + ".prev": 30091, + ".IsValid": 30092, + ".Fat": 30093, + "ĠsÄĥ": 30094, + "keywords": 30095, + "without": 30096, + "Ġsovere": 30097, + "Ġexchanges": 30098, + "Ġmelt": 30099, + "Ġislands": 30100, + "ĠIntegr": 30101, + "Ġjumping": 30102, + "Ġgle": 30103, + "Ġjournalism": 30104, + "Ġdated": 30105, + "Localized": 30106, + "ĠRefresh": 30107, + "Particle": 30108, + "Ġaa": 30109, + "ĠSTRICT": 30110, + "Ġbod": 30111, + ".Process": 30112, + "_AUTO": 30113, + "ĠPublished": 30114, + "every": 30115, + "Ġtechnological": 30116, + "lsx": 30117, + "Ġirrit": 30118, + "Additional": 30119, + "Ġdelimiter": 30120, + "_language": 30121, + "-area": 30122, + "boys": 30123, + "ĠTube": 30124, + "Ġwat": 30125, + "Ġmechanics": 30126, + "_owner": 30127, + "Spell": 30128, + "ĠStories": 30129, + ".AppendLine": 30130, + "TableView": 30131, + "hem": 30132, + "stick": 30133, + "ollower": 30134, + "IFF": 30135, + "ĠUV": 30136, + "ollision": 30137, + "SUB": 30138, + "Ġcomparable": 30139, + "Ġdonde": 30140, + "sales": 30141, + "llvm": 30142, + "Ġ}],Ċ": 30143, + "OTTOM": 30144, + "ĠPurpose": 30145, + "Lab": 30146, + "Ġinterviewed": 30147, + "ois": 30148, + "asil": 30149, + ".setId": 30150, + "ĠInstruction": 30151, + "-->": 30152, + "ĠModified": 30153, + "ationally": 30154, + "ĠMeeting": 30155, + "误": 30156, + "#region": 30157, + "Ġrouting": 30158, + ".focus": 30159, + "ĠYouth": 30160, + "<": 30448, + "Ġunto": 30449, + "ologically": 30450, + "ĠMul": 30451, + "VIDIA": 30452, + "Ġslim": 30453, + "ĠCommissioner": 30454, + "(on": 30455, + "Ġunderneath": 30456, + "/db": 30457, + "vote": 30458, + "(Message": 30459, + "ĠPope": 30460, + "Defined": 30461, + "Ġswift": 30462, + "urf": 30463, + "Ġadapted": 30464, + "SEL": 30465, + "Ġrevenues": 30466, + "Ġdivine": 30467, + "=y": 30468, + "Gradient": 30469, + "_act": 30470, + "Ġ/*!<": 30471, + "Ġpolygon": 30472, + "ĠFDA": 30473, + "ĠCarr": 30474, + "atables": 30475, + "(stdout": 30476, + "Ġrefriger": 30477, + "Ġcoordin": 30478, + "avorites": 30479, + "ÑĪи": 30480, + "Ġcompassion": 30481, + "ĠPOSSIBILITY": 30482, + "-secondary": 30483, + "uracy": 30484, + "Ġcompromise": 30485, + "_AV": 30486, + "_os": 30487, + "Ġbeside": 30488, + "ĥĿ": 30489, + "Ġln": 30490, + ".plugins": 30491, + "Capacity": 30492, + "alah": 30493, + ".bin": 30494, + "ĠCRC": 30495, + "_balance": 30496, + "ĠflexDirection": 30497, + "Ġambit": 30498, + "Ġnickname": 30499, + "ĠForces": 30500, + "CLE": 30501, + "ĠShell": 30502, + "Ġsail": 30503, + "ĠWriter": 30504, + "ĠAlice": 30505, + "dw": 30506, + "ĠIndians": 30507, + "ĠMarshall": 30508, + "_SRC": 30509, + "Ġnormalized": 30510, + "ĠJag": 30511, + "ãĤĴ": 30512, + "zeit": 30513, + "rpc": 30514, + "ÃŃc": 30515, + ".inline": 30516, + "Ġtravers": 30517, + "_numeric": 30518, + "Ġutilities": 30519, + "Ġevac": 30520, + "INPUT": 30521, + "ĉregister": 30522, + "MX": 30523, + "ĠCampbell": 30524, + "Ġdatasets": 30525, + "Ġdemanded": 30526, + "ĠinitialState": 30527, + "gan": 30528, + "Ġei": 30529, + "Unexpected": 30530, + "-web": 30531, + "trait": 30532, + ",Y": 30533, + "ĠTodd": 30534, + "Ġskeleton": 30535, + "Ġoptimize": 30536, + "第": 30537, + "ĠUpon": 30538, + "ĠStObject": 30539, + "Ġaplic": 30540, + ".'P": 30578, + "vron": 30579, + ".UN": 30580, + "Ġpainter": 30581, + "izarre": 30582, + "Ġlav": 30583, + "Ġpom": 30584, + "preg": 30585, + "=function": 30586, + "(serial": 30587, + "ifica": 30588, + "uming": 30589, + "åľ°": 30590, + "ãģĤ": 30591, + "-op": 30592, + "UCH": 30593, + "ĠHend": 30594, + ".propTypes": 30595, + "Ġyo": 30596, + "Ġroutines": 30597, + "Ġcaring": 30598, + "Sem": 30599, + "Ġreserves": 30600, + "Ġpriorities": 30601, + "redits": 30602, + "ISTR": 30603, + "ContentType": 30604, + "ĠSchw": 30605, + "/media": 30606, + "Ġestr": 30607, + "Ġclimbing": 30608, + "-week": 30609, + "cherche": 30610, + "sensor": 30611, + "ToArray": 30612, + "ĠMontreal": 30613, + "Ġclouds": 30614, + "ĠInjectable": 30615, + "ĠRice": 30616, + "Ġpropaganda": 30617, + "_provider": 30618, + "Ġindoor": 30619, + "Ġinaug": 30620, + "Ġdiplom": 30621, + "Ġmessaging": 30622, + "_mut": 30623, + "å¦Ĥ": 30624, + "Ġkw": 30625, + "ONS": 30626, + "arians": 30627, + "RPC": 30628, + ")]čĊ": 30629, + "-ray": 30630, + "ĠSor": 30631, + "mall": 30632, + "Ġmarketplace": 30633, + "Ġvtk": 30634, + "Ma": 30635, + "ogan": 30636, + "igi": 30637, + "Ġsponsored": 30638, + "ĠDani": 30639, + ".SEVER": 30640, + ">'.$": 30641, + "multipart": 30642, + "ĠWol": 30643, + "ĠtableName": 30644, + "ĠUsername": 30645, + "BackgroundColor": 30646, + "Ġfright": 30647, + "_EMAIL": 30648, + "September": 30649, + "_vals": 30650, + "opia": 30651, + "Ġspotted": 30652, + "-Ch": 30653, + "ĠdataSource": 30654, + "/\"Ċ": 30655, + "екÑĤ": 30656, + "ĠRequestMethod": 30657, + "ĠReplace": 30658, + "-do": 30659, + "ahn": 30660, + "ĠPhD": 30661, + "].ĊĊ": 30662, + "NON": 30663, + "gement": 30664, + "ĠThr": 30665, + "Ġquietly": 30666, + "Ġtorture": 30667, + "Ġteas": 30668, + "ĠCY": 30669, + "Ġatr": 30670, + "development": 30671, + "-detail": 30672, + "Ġlighter": 30673, + "Ġarguing": 30674, + "Ġdeserves": 30675, + "Ġcurriculum": 30676, + "_CONTEXT": 30677, + "ÅĤy": 30678, + "HITE": 30679, + "ĉID": 30680, + "/uploads": 30681, + "Ġtits": 30682, + "reo": 30683, + "_drop": 30684, + ".UTF": 30685, + "Ġpickup": 30686, + "Ġgrocery": 30687, + "ĠPure": 30688, + "Ġeasiest": 30689, + "Phil": 30690, + ".feature": 30691, + "(\"*": 30692, + "Ġinvestor": 30693, + "tok": 30694, + "Ġjar": 30695, + "Los": 30696, + "âĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶ": 30697, + ".queue": 30698, + "-speed": 30699, + "Mal": 30700, + "umblr": 30701, + "ĠCONST": 30702, + "ĠHRESULT": 30703, + "ĠDance": 30704, + "(filePath": 30705, + "Ġattributed": 30706, + "à¥į": 30707, + "ĠBund": 30708, + "coins": 30709, + "Ġsão": 30710, + "Ġpir": 30711, + "personal": 30712, + "Ġprelim": 30713, + "Ġpropose": 30714, + "ĠTL": 30715, + "]])": 30716, + "ĠSubscription": 30717, + "ĠKre": 30718, + ",len": 30719, + ".FirstOrDefault": 30720, + ")--": 30721, + "_products": 30722, + ".GetBytes": 30723, + "Ship": 30724, + "Ġencrypt": 30725, + "ĠSG": 30726, + "ĠMyst": 30727, + "hir": 30728, + "Ġiterate": 30729, + "Ġintend": 30730, + ".mockito": 30731, + "Ġchapters": 30732, + "(angle": 30733, + "ĠVlad": 30734, + "设": 30735, + "'.ĊĊ": 30736, + "ResponseBody": 30737, + "ĠAbd": 30738, + "deal": 30739, + "Ġbarriers": 30740, + "-outline": 30741, + "bill": 30742, + "ĠFalls": 30743, + "_second": 30744, + ".include": 30745, + ".ceil": 30746, + "Ġoccupation": 30747, + "phony": 30748, + ".moveTo": 30749, + "ĠJennifer": 30750, + "ASTER": 30751, + ";\"><": 30752, + "ĠEnabled": 30753, + "Ġterminate": 30754, + "ĠIo": 30755, + "lations": 30756, + "ĠTHEORY": 30757, + "Ġearliest": 30758, + "Ġrack": 30759, + "ĠScar": 30760, + "shake": 30761, + "chip": 30762, + "Ġuv": 30763, + "Ġalliance": 30764, + "пиÑģ": 30765, + "ĠGOODS": 30766, + "zione": 30767, + "ĠVI": 30768, + "Ġ{-": 30769, + "Ġfiltering": 30770, + "Ġmiscon": 30771, + ".DockStyle": 30772, + "Ġbush": 30773, + "Ġjunk": 30774, + "æĮ": 30775, + "ĠQUE": 30776, + "Ġhooks": 30777, + "Ġfirmware": 30778, + "Ġmiddleware": 30779, + "dic": 30780, + "ĠOakland": 30781, + "Ġarrives": 30782, + "Payload": 30783, + "pixel": 30784, + "]|": 30785, + "ĠstartDate": 30786, + ".PRO": 30787, + "_audio": 30788, + "Ġmidfield": 30789, + "igidbody": 30790, + "ĠSwiss": 30791, + "ĠClip": 30792, + "ĠDump": 30793, + "ĠTextBox": 30794, + "Ġgeh": 30795, + "yield": 30796, + "ods": 30797, + "Ġreferendum": 30798, + "Backend": 30799, + "ĠCream": 30800, + "Ġdominated": 30801, + "ĠArchive": 30802, + "Ġriders": 30803, + ".prepareStatement": 30804, + "Ġquando": 30805, + "Ġchef": 30806, + "wiki": 30807, + "inel": 30808, + "ampling": 30809, + "(\"\\\\": 30810, + "Ġsag": 30811, + "_proxy": 30812, + "ãģķ": 30813, + "pdo": 30814, + ".getElementsByTagName": 30815, + "Ġdemonstration": 30816, + "ĠNPC": 30817, + "Ġarchivo": 30818, + "endance": 30819, + "Ġefficiently": 30820, + "(actual": 30821, + ".tableView": 30822, + "Ġmush": 30823, + "Ġbears": 30824, + "_threads": 30825, + "jas": 30826, + "ahun": 30827, + "Ġneural": 30828, + "Ġdesigning": 30829, + "ĠGDP": 30830, + "Ġlifted": 30831, + "缮": 30832, + "ĠJoint": 30833, + "ĠInclude": 30834, + "ĠGiants": 30835, + "Ġwithdrawal": 30836, + "ĠRent": 30837, + "native": 30838, + "ĠSeek": 30839, + "gression": 30840, + "_CPU": 30841, + "\\S": 30842, + "ĠShield": 30843, + "Ġsolic": 30844, + "Ġboom": 30845, + "yecto": 30846, + "Ġmanufacture": 30847, + "ĠâĢĭ": 30848, + "Ġbbox": 30849, + "Ġearthqu": 30850, + "ollectors": 30851, + ":@\"%": 30852, + "Ġloops": 30853, + "Je": 30854, + "alking": 30855, + "ĠWhats": 30856, + "ĠBoys": 30857, + ".book": 30858, + "ARGE": 30859, + "_pixel": 30860, + "Ġsuspects": 30861, + "ι": 30862, + "usp": 30863, + "ĠBMW": 30864, + "ieces": 30865, + "(person": 30866, + "å¼Ģ": 30867, + "é»": 30868, + "ĠPodcast": 30869, + "Ġbou": 30870, + "(Item": 30871, + "û": 30872, + "(Input": 30873, + "HttpGet": 30874, + "Ġburg": 30875, + ")^": 30876, + "BOARD": 30877, + "*/,": 30878, + "Ġgulp": 30879, + "ĠBenn": 30880, + "Ġdecks": 30881, + ".statusCode": 30882, + "Ġacute": 30883, + "Ġhug": 30884, + "ugu": 30885, + "Ġpled": 30886, + ",\"%": 30887, + "hape": 30888, + "Ġзап": 30889, + "ĠMaine": 30890, + ".real": 30891, + "Ġdalam": 30892, + "ĠMinor": 30893, + ".Float": 30894, + "disp": 30895, + "Ġtl": 30896, + "Ġencount": 30897, + "=>$": 30898, + "Ġfg": 30899, + "tees": 30900, + "ĠRecomm": 30901, + "äl": 30902, + "Ġchemistry": 30903, + "Blocks": 30904, + "OID": 30905, + "Ġforex": 30906, + "ĠAppend": 30907, + "Ġ{*": 30908, + "ĠSupply": 30909, + "CGFloat": 30910, + "(bl": 30911, + "Ġate": 30912, + "adora": 30913, + "Ġgust": 30914, + "Associ": 30915, + ">.Ċ": 30916, + "FETCH": 30917, + ".serial": 30918, + "widgets": 30919, + "ardless": 30920, + "iefs": 30921, + "_FULL": 30922, + "ernetes": 30923, + "ĠPred": 30924, + "ØŃ": 30925, + "äºĭ": 30926, + "ubernetes": 30927, + "ĠLaura": 30928, + "Ġlabeled": 30929, + "Highlight": 30930, + "Ġannoying": 30931, + "/update": 30932, + "(description": 30933, + "Ġintimid": 30934, + "$c": 30935, + "\")))Ċ": 30936, + ".AP": 30937, + "Ġ[]*": 30938, + "ĠEXIT": 30939, + ".Host": 30940, + "ĠOPEN": 30941, + ".sendMessage": 30942, + "_camera": 30943, + "_tile": 30944, + "Ġtherm": 30945, + "onomous": 30946, + "Ġdisadv": 30947, + "Ġnaar": 30948, + "indexOf": 30949, + "ĠPP": 30950, + ".protocol": 30951, + "AFE": 30952, + "Ġtextures": 30953, + "################################################": 30954, + "umbai": 30955, + ".stats": 30956, + "ĠGE": 30957, + "Ġie": 30958, + "ĠSTD": 30959, + "ĠMann": 30960, + ".reflect": 30961, + "KB": 30962, + "Ġdive": 30963, + ".wav": 30964, + "/*----------------------------------------------------------------": 30965, + "/settings": 30966, + ".lifecycle": 30967, + "Ġdaughters": 30968, + "orus": 30969, + "uber": 30970, + "NING": 30971, + "stri": 30972, + "ĠTip": 30973, + "Ġzn": 30974, + "Ġswitched": 30975, + "inet": 30976, + "uffy": 30977, + "ĠTransportation": 30978, + "(conf": 30979, + "frica": 30980, + "ĠXL": 30981, + "ĠLead": 30982, + "_percent": 30983, + "__": 30999, + "permissions": 31000, + "ĠDetermine": 31001, + ".Man": 31002, + "Ġadvances": 31003, + ".InputStream": 31004, + "Ġstrongest": 31005, + "ĠeBay": 31006, + "Ġ#-": 31007, + "Ġdirname": 31008, + "ĠSMS": 31009, + "Ġmedications": 31010, + "Ġamended": 31011, + "Ġchurches": 31012, + "ĠImperial": 31013, + "$row": 31014, + "ĠMadison": 31015, + "ĠInsp": 31016, + "Ġaffair": 31017, + "Ġpsychology": 31018, + "vh": 31019, + "Ġseverity": 31020, + "âĢIJ": 31021, + "Ġstrips": 31022, + "AH": 31023, + "vertising": 31024, + "Ġconse": 31025, + "IMAGE": 31026, + "ĠStats": 31027, + "ĉsc": 31028, + ".Cursor": 31029, + "Ġfreeze": 31030, + "sson": 31031, + "(xml": 31032, + "ĠSusan": 31033, + ".tile": 31034, + "eded": 31035, + "ĠĠĠĠĉĉĉ": 31036, + "uelle": 31037, + "ĠMitchell": 31038, + "based": 31039, + "Operand": 31040, + "½æķ°": 31041, + "ĠFF": 31042, + "ĉstrcpy": 31043, + "ounces": 31044, + "ildo": 31045, + ".executeQuery": 31046, + "Ġapproaching": 31047, + "ĠSeven": 31048, + "Ġnuts": 31049, + "Ġric": 31050, + "assignment": 31051, + "Ġcalculator": 31052, + "ĠMurphy": 31053, + "ĠBou": 31054, + "íĦ": 31055, + "Ġbutt": 31056, + "Ġticks": 31057, + "Projects": 31058, + "ilib": 31059, + ".textColor": 31060, + "mov": 31061, + "_logo": 31062, + "(template": 31063, + "ĠINIT": 31064, + "ĠimageView": 31065, + "scriptions": 31066, + "ORITY": 31067, + "Consumer": 31068, + "Ġunprecedented": 31069, + "Ġtourist": 31070, + "Ġbron": 31071, + "Ġcontractor": 31072, + "Ġlicence": 31073, + "ĠNam": 31074, + "æ¯": 31075, + "(transform": 31076, + "_ATT": 31077, + "Pref": 31078, + "ĠGam": 31079, + "Ġvessels": 31080, + "Ġhav": 31081, + "Later": 31082, + ".ToLower": 31083, + "Ġurls": 31084, + "Ġbreakdown": 31085, + "Ġpenalties": 31086, + "Ġfoster": 31087, + "ĠUE": 31088, + "Ġclue": 31089, + "comed": 31090, + "åIJįç§°": 31091, + "-main": 31092, + "Ġpts": 31093, + "Ġcounted": 31094, + "icts": 31095, + "/post": 31096, + "Ġgetattr": 31097, + "Ġping": 31098, + "ANCEL": 31099, + "Ġpec": 31100, + "Ñħод": 31101, + "antom": 31102, + "ĠBlueprint": 31103, + "ĠEventEmitter": 31104, + "Ġlä": 31105, + "æ²": 31106, + "Ġstraw": 31107, + "(comp": 31108, + "'une": 31109, + ">N": 31110, + "-client": 31111, + "esModule": 31112, + "-base": 31113, + "Ġretreat": 31114, + "_simple": 31115, + "ĉĉĉĉĉĉĠ": 31116, + "fee": 31117, + "')čĊčĊ": 31118, + "ControlItem": 31119, + "Ġsubscribers": 31120, + "please": 31121, + "ĠEff": 31122, + "Ġpound": 31123, + "ĠBytes": 31124, + "ĠTea": 31125, + "_activity": 31126, + "Ġmaxim": 31127, + "Ġopcode": 31128, + "BSD": 31129, + ".constant": 31130, + ";}": 31131, + "ombres": 31132, + "Ġcareers": 31133, + ").ĊĊĊĊ": 31134, + "Ġspreading": 31135, + "-expanded": 31136, + "ĠOrd": 31137, + "amarin": 31138, + "Ġmobility": 31139, + "Unfortunately": 31140, + "akk": 31141, + "NL": 31142, + "_redirect": 31143, + "ĠPG": 31144, + "ĠSensor": 31145, + "bol": 31146, + "tap": 31147, + "_MEMORY": 31148, + "ĠUIAlert": 31149, + "plitude": 31150, + "Website": 31151, + "ĠLogo": 31152, + "love": 31153, + "[ind": 31154, + "Ġaltogether": 31155, + "Ġwondered": 31156, + "Ġesper": 31157, + "ĠLiberal": 31158, + "Ġoss": 31159, + "Ġelit": 31160, + "Ġstiff": 31161, + "odox": 31162, + "_mentions": 31163, + "ĠDouglas": 31164, + "_pid": 31165, + "ĠCK": 31166, + "ĠinitWithFrame": 31167, + ".blog": 31168, + "pkg": 31169, + "anghai": 31170, + "QUIRED": 31171, + "uu": 31172, + "Ġmkdir": 31173, + "ATAL": 31174, + "Ġunh": 31175, + "inces": 31176, + "sth": 31177, + "Ġhypothesis": 31178, + "Ġcata": 31179, + "ĠTB": 31180, + "ĠClar": 31181, + "Ġpredecess": 31182, + "Ġsituated": 31183, + "-world": 31184, + "))/": 31185, + "Ġheadlines": 31186, + ".stat": 31187, + "Ġoutbreak": 31188, + "spath": 31189, + "_FLAGS": 31190, + "ĠServletException": 31191, + "Sun": 31192, + "FROM": 31193, + "ĠDir": 31194, + "ãĥ»ãĥ»ãĥ»": 31195, + "_coord": 31196, + "ĠOptim": 31197, + "Monitor": 31198, + ".bit": 31199, + "XXX": 31200, + "Ġtodas": 31201, + "feld": 31202, + "ÑĢи": 31203, + "imir": 31204, + "Ġpolitically": 31205, + "Ġmolecular": 31206, + "Ġtraded": 31207, + "Ġ{{$": 31208, + "ĠSwedish": 31209, + "Ġ'@/": 31210, + "_REAL": 31211, + "Ġwarehouse": 31212, + "today": 31213, + ",L": 31214, + "orp": 31215, + "false": 31492, + "Ġspa": 31493, + "ĠNear": 31494, + "ìķ": 31495, + "Ġintrig": 31496, + "_members": 31497, + "wave": 31498, + "Ġanalysts": 31499, + "_OS": 31500, + "edin": 31501, + "ĠFri": 31502, + "Ġretrieved": 31503, + "Regular": 31504, + "_obs": 31505, + "EXPORT": 31506, + "')}}\"": 31507, + "\"class": 31508, + "__((": 31509, + "bucket": 31510, + "Ġstro": 31511, + "ĠPatch": 31512, + "ystick": 31513, + "fulness": 31514, + "apos": 31515, + "Da": 31516, + "ĉĉĉĉĉĠĠĠ": 31517, + "Ġenrich": 31518, + "unordered": 31519, + "hole": 31520, + "Cong": 31521, + "';ĊĊ": 31563, + "STRUCT": 31564, + "QR": 31565, + "IDs": 31566, + "(arguments": 31567, + "_aux": 31568, + "(Event": 31569, + "_PRIVATE": 31570, + "ĠTrek": 31571, + "Ġdownloads": 31572, + "mutable": 31573, + "_STRUCT": 31574, + "(wx": 31575, + "Ġdomains": 31576, + "jspx": 31577, + "ĠViagra": 31578, + "Commands": 31579, + "Js": 31580, + ".cfg": 31581, + "ContentPane": 31582, + "ĠEditText": 31583, + "à¥įà¤": 31584, + "Attach": 31585, + "ĠARM": 31586, + "positive": 31587, + "ĠGenerated": 31588, + "Ġseized": 31589, + "=:": 31590, + "Ġelectronics": 31591, + "ĠAppComponent": 31592, + "/',Ċ": 31593, + ".equalsIgnoreCase": 31594, + "Doctrine": 31595, + "disk": 31596, + "ĠPolitical": 31597, + "CHO": 31598, + "": 31684, + "ĠBeauty": 31685, + "Ġ`<": 31686, + "Ġtouching": 31687, + "Ġ|--": 31688, + "ĉflag": 31689, + "normalize": 31690, + "Ġtrapped": 31691, + "Ġestablishing": 31692, + "/build": 31693, + "AJ": 31694, + "fy": 31695, + "-react": 31696, + "avn": 31697, + "RIPTION": 31698, + "Ġkut": 31699, + "ĠFashion": 31700, + "ĠInform": 31701, + "curities": 31702, + "{Ċ": 31734, + "Ġgarlic": 31735, + "Ġrepr": 31736, + "Ġreplies": 31737, + "(prop": 31738, + "Ġspirits": 31739, + "Ġinspire": 31740, + "Ġbasement": 31741, + ".reject": 31742, + "Ġhints": 31743, + "Ġpolling": 31744, + "ĉĠĊ": 31745, + "_rating": 31746, + "Ġcath": 31747, + "avier": 31748, + "Ġcompressed": 31749, + "ĠVS": 31750, + "]'": 31751, + "Ġjudicial": 31752, + "ĠTrend": 31753, + "training": 31754, + "ESTAMP": 31755, + "ognition": 31756, + "Äģ": 31757, + "SENT": 31758, + "ventions": 31759, + "Ġconsultant": 31760, + "umph": 31761, + "ĠuserService": 31762, + ",NULL": 31763, + "kh": 31764, + "Dear": 31765, + "_BAD": 31766, + "itations": 31767, + "Ġmetaph": 31768, + "'é": 31769, + "andise": 31770, + "-font": 31771, + ".chart": 31772, + "Ġsg": 31773, + "_Controller": 31774, + ".jpeg": 31775, + "ĠULONG": 31776, + "ĉgame": 31777, + "(ss": 31778, + "ĠMaj": 31779, + "ĉgo": 31780, + "ĠSad": 31781, + "ĠBerg": 31782, + "ĠMine": 31783, + "Pack": 31784, + "Ġresistant": 31785, + "ĠROM": 31786, + "Ġpeg": 31787, + "ĠStanford": 31788, + "ĠYahoo": 31789, + "Ġscaled": 31790, + "Ġlan": 31791, + "=[]": 31792, + "\"/>ččĊ": 31836, + "Ġsud": 31837, + "ĉbackground": 31838, + "Ġscholars": 31839, + "-muted": 31840, + "ará": 31841, + "Ġ=====": 31842, + "Ġ____": 31843, + "Creat": 31844, + "enever": 31845, + "/wp": 31846, + "ĠVPN": 31847, + "ErrorCode": 31848, + ")],Ċ": 31849, + "(builder": 31850, + "ĠEnemy": 31851, + "Sensor": 31852, + "usa": 31853, + "Ġtriggers": 31854, + "Ġplayoffs": 31855, + "_REQ": 31856, + "Ġ(~": 31857, + "ĠBarry": 31858, + "Ġpermanently": 31859, + "ĠRUN": 31860, + "Ġbure": 31861, + ".Fatalf": 31862, + "Ġchick": 31863, + "ĉpanic": 31864, + "psi": 31865, + "oka": 31866, + "éĢī": 31867, + ">[": 31868, + "Ġunderstands": 31869, + "ĠJunior": 31870, + "ĠINFO": 31871, + "=mysqli": 31872, + "ustain": 31873, + "-source": 31874, + "serv": 31875, + "ĠCREATE": 31876, + ".au": 31877, + "Ġsells": 31878, + "ĠĠĊĠĠĊ": 31879, + "Europe": 31880, + "zw": 31881, + "preh": 31882, + "ĠNSA": 31883, + "Ġxy": 31884, + "ิ": 31885, + "ĠBeyond": 31886, + "Instead": 31887, + "NonQuery": 31888, + "Ġarise": 31889, + "Ġavoided": 31890, + ".emplace": 31891, + "_models": 31892, + "}),Ċ": 31893, + "Ġhid": 31894, + "Ġ&_": 31895, + ".points": 31896, + ".getWidth": 31897, + ".Exec": 31898, + "Ġ////": 31899, + "ĠSessions": 31900, + "...\\": 31901, + "ĠColomb": 31902, + "Ġacceleration": 31903, + "restore": 31904, + "Ġile": 31905, + "obic": 31906, + "}Ċ": 32396, + "plaint": 32397, + "getText": 32398, + "Ġindividually": 32399, + "Ġcheckbox": 32400, + "UY": 32401, + "ĠLamb": 32402, + "Ġdysfunction": 32403, + "ĠLar": 32404, + "à°": 32405, + "ĠCreating": 32406, + "');ĊĊĊ": 32407, + "\"They": 32408, + "locations": 32409, + "_CORE": 32410, + "Interaction": 32411, + "umbnails": 32412, + "ĠPartner": 32413, + "brit": 32414, + "Ġlesser": 32415, + "ĠSlot": 32416, + "setAttribute": 32417, + "ĠWave": 32418, + ".po": 32419, + "/store": 32420, + "Ġbrowsing": 32421, + "_pd": 32422, + "sume": 32423, + "sed": 32424, + "Curve": 32425, + "Ġplasma": 32426, + "Ġsuspicious": 32427, + "ìĿ¸": 32428, + "ĠBah": 32429, + "ĠExplicit": 32430, + "_CC": 32431, + ".ClientSize": 32432, + "\\View": 32433, + "Ġsubstit": 32434, + "loon": 32435, + "ĠGAME": 32436, + "ĠBrid": 32437, + "Ľå»º": 32438, + "_User": 32439, + "Ġsquares": 32440, + "fone": 32441, + "Ġsacred": 32442, + "ughs": 32443, + "]interface": 32444, + "ĠThrow": 32445, + "ĠKirk": 32446, + "Ġempire": 32447, + "Ġassessed": 32448, + "Tax": 32449, + "ĠHeaven": 32450, + "-buffer": 32451, + "_STATIC": 32452, + "éné": 32453, + "-bordered": 32454, + "Ġpunct": 32455, + "(mode": 32456, + "Ġkeine": 32457, + "Sent": 32458, + "ĠCalcul": 32459, + "ĠEve": 32460, + "Ġstylish": 32461, + "Ġoils": 32462, + ".TestCase": 32463, + "Ġtrademark": 32464, + "Ġliterary": 32465, + "Ġconcentrations": 32466, + "ĠRelations": 32467, + "(Class": 32468, + "Ġstdin": 32469, + "Ġvæ": 32470, + "backup": 32471, + ".VERSION": 32472, + ".AutoScaleDimensions": 32473, + "starter": 32474, + "Transactional": 32475, + "-panel": 32476, + "Studio": 32477, + "kc": 32478, + "ĠChamber": 32479, + "ĠSpiel": 32480, + "Ġrho": 32481, + "اÙĦ": 32482, + "!'": 32483, + ".Attributes": 32484, + "Ġmurdered": 32485, + "apeutic": 32486, + "Ġintimate": 32487, + "ĠtextField": 32488, + "ĠBuffalo": 32489, + "dummy": 32490, + "\"%": 32491, + "ĠLiberty": 32492, + "obar": 32493, + "ĠTank": 32494, + "ĠPopular": 32495, + "ervisor": 32496, + "ĠIniti": 32497, + "ĠMall": 32498, + "ĠPrior": 32499, + "CAP": 32500, + "ĠClay": 32501, + "ĠCertificate": 32502, + ".Lock": 32503, + "-strip": 32504, + "-driven": 32505, + "/all": 32506, + "ĠMessageBoxButtons": 32507, + "_SECRET": 32508, + "_pb": 32509, + "Ġrats": 32510, + "ाà¤": 32511, + "Ġnt": 32512, + ".Router": 32513, + "_topic": 32514, + "Ġtennis": 32515, + "ĠPUBLIC": 32516, + "ĠActivatedRoute": 32517, + "Ġ',Ċ": 32518, + "Ġcostume": 32519, + "Ġjokes": 32520, + ".Handle": 32521, + "ĉbyte": 32522, + "Ġflavors": 32523, + "(cc": 32524, + "Ġpersonas": 32525, + "ĉimage": 32526, + "ĠNazi": 32527, + "Ġgrammar": 32528, + "Ġúlt": 32529, + "Ġvalve": 32530, + "Ġvic": 32531, + "ĠRachel": 32532, + "_invalid": 32533, + "Prefs": 32534, + "stdint": 32535, + "(route": 32536, + "Ġhtmlspecialchars": 32537, + "Ġpeoples": 32538, + "pline": 32539, + "Ġnv": 32540, + "ĠQuant": 32541, + "oppers": 32542, + "ĠcurrentUser": 32543, + "ĠCatal": 32544, + "Ġreconc": 32545, + "Ġconjunction": 32546, + "lx": 32547, + "amburg": 32548, + "Ġinfluential": 32549, + "danger": 32550, + "inders": 32551, + "Ġ%@\",": 32552, + ".configuration": 32553, + "osome": 32554, + ".identity": 32555, + "Ġpicker": 32556, + "nost": 32557, + "ĠDIY": 32558, + "August": 32559, + "ablo": 32560, + "Leaf": 32561, + "ĠReco": 32562, + "cko": 32563, + "DOC": 32564, + "ĠHerm": 32565, + ":any": 32566, + "ĠInterview": 32567, + "ĠTex": 32568, + "xfe": 32569, + "(work": 32570, + "Ġleap": 32571, + "Heading": 32572, + "Ġquarters": 32573, + "\\Bundle": 32574, + "reb": 32575, + "Perhaps": 32576, + "ĠGmbH": 32577, + "Birth": 32578, + "ĉsum": 32579, + "ĠWatson": 32580, + ".nil": 32581, + "ç¡": 32582, + "{}ĊĊ": 32583, + "icaid": 32584, + "Getter": 32585, + "\"name": 32586, + "Ġ\"čĊ": 32587, + "_none": 32588, + "zm": 32589, + "acute": 32590, + "uesto": 32591, + "Ġsous": 32592, + "Ġrebuild": 32593, + "Ġnewspapers": 32594, + "ĠHaz": 32595, + "Ġkits": 32596, + "ifo": 32597, + "Blur": 32598, + "Ġsuited": 32599, + "-In": 32600, + "à¯": 32601, + "ĠKeith": 32602, + "ĠNorway": 32603, + "INIT": 32604, + "ireccion": 32605, + "ieties": 32606, + "_usage": 32607, + "ĠDoug": 32608, + "rise": 32609, + "Ġtrillion": 32610, + "imited": 32611, + "ĠREL": 32612, + "alic": 32613, + "Ġcriticized": 32614, + "theorem": 32615, + "Ġcease": 32616, + "Ġsidew": 32617, + "ĠTerry": 32618, + "Ġsubsidi": 32619, + "Ġfirmly": 32620, + "Ġaws": 32621, + "Ġhott": 32622, + "Ġdressing": 32623, + "badge": 32624, + "ĠApplications": 32625, + "è¿ĶåĽŀ": 32626, + "Ġlaughed": 32627, + "Ġhobby": 32628, + "Ġmusicians": 32629, + "Ġ*.": 32630, + ".placeholder": 32631, + "Ġcounters": 32632, + "ĠCapitol": 32633, + "SDK": 32634, + "Ġhelmet": 32635, + "andbox": 32636, + "quit": 32637, + "Ġcriminals": 32638, + "Ġteenager": 32639, + "(update": 32640, + "Gl": 32641, + ".selection": 32642, + "Ġdischarge": 32643, + "Ġpresenting": 32644, + "ufacturer": 32645, + "_UNKNOWN": 32646, + "Ġstressed": 32647, + "åύ": 32648, + "Proto": 32649, + "_correct": 32650, + "haus": 32651, + "Ġrenov": 32652, + "Ġfirearms": 32653, + "Ġtechnically": 32654, + "-browser": 32655, + "Ġcandy": 32656, + "Stroke": 32657, + "Ġexecutor": 32658, + "Ġoccurrence": 32659, + "ĠIPv": 32660, + "_INTERFACE": 32661, + "ĠRetrieve": 32662, + ".bad": 32663, + "Exchange": 32664, + "Navbar": 32665, + "ĠKid": 32666, + "(getApplicationContext": 32667, + "_STOP": 32668, + "ĠBoss": 32669, + "Listeners": 32670, + "Ġshooter": 32671, + "ĠAlb": 32672, + "äch": 32673, + "Ġpix": 32674, + ".keyCode": 32675, + "alone": 32676, + "Ġabsurd": 32677, + "ĠCum": 32678, + "ĠNewtonsoft": 32679, + "ikt": 32680, + "Ġlaughing": 32681, + "Ġcapitalism": 32682, + "reeNode": 32683, + "Tx": 32684, + "_QUERY": 32685, + ".Sleep": 32686, + "(login": 32687, + "WebElement": 32688, + "Ġcelebrating": 32689, + "Ġdeprecated": 32690, + "Ġmaar": 32691, + "Ġartistic": 32692, + "_ASSOC": 32693, + "ĠBorderRadius": 32694, + "ĉwp": 32695, + "Ġsurvivors": 32696, + "Inner": 32697, + "-red": 32698, + "Ġprosecution": 32699, + "_pp": 32700, + "(\"$": 32782, + "Ġcomma": 32783, + "unchecked": 32784, + "graphics": 32785, + "rors": 32786, + "GROUND": 32787, + "(public": 32788, + "Ġcustomized": 32789, + "ĠArkansas": 32790, + "ĠRew": 32791, + "Ġexpiration": 32792, + "×ķ": 32793, + "ĠCul": 32794, + "Ġnons": 32795, + ".Filter": 32796, + "Ġsenator": 32797, + "_definition": 32798, + "ashington": 32799, + "ymph": 32800, + "/J": 32801, + "Ġfuse": 32802, + "ramid": 32803, + "ĠSupplier": 32804, + "Ġautocomplete": 32805, + "Ġ}),": 32806, + ".\"ĊĊĊ": 32807, + "_functions": 32808, + "ĉto": 32809, + ".eval": 32810, + "ĠTObject": 32811, + "References": 32812, + "Ġheated": 32813, + "HAL": 32814, + "Ġ))}Ċ": 32815, + "}$": 32816, + "ĠBarr": 32817, + "_UNIT": 32818, + "+$": 32819, + "ĠgetValue": 32820, + "iped": 32821, + "chied": 32822, + "(vm": 32823, + "cue": 32824, + "_integer": 32825, + "_course": 32826, + "third": 32827, + "Ġrevised": 32828, + "**/Ċ": 32829, + "_DIRECT": 32830, + "OutOf": 32831, + "(\"(": 32832, + "ĠFeel": 32833, + "Ġreass": 32834, + "Ġsubtitle": 32835, + "peri": 32836, + "nf": 32837, + "Ġenjoys": 32838, + "Ġtreats": 32839, + ")this": 32840, + "-tabs": 32841, + "ancers": 32842, + "Ġcontinent": 32843, + "Ġcardio": 32844, + "Ser": 32845, + ".question": 32846, + "Ġphrases": 32847, + "Validators": 32848, + "Ġpopul": 32849, + "ĠlÃŃ": 32850, + "song": 32851, + "_INTERNAL": 32852, + "Ġadviser": 32853, + "Ġpuzz": 32854, + "Ġambitious": 32855, + "ĠTob": 32856, + "ĠDP": 32857, + "Ġpresidency": 32858, + "Ġsurrender": 32859, + "Ġwatches": 32860, + "_binary": 32861, + "ĠSoon": 32862, + "Ġcanada": 32863, + "(\"\")Ċ": 32864, + "]='": 32865, + "ĠBrandon": 32866, + "epsilon": 32867, + "rw": 32868, + ".addChild": 32869, + ".Copy": 32870, + "Principal": 32871, + "Photos": 32872, + "Ġmarginal": 32873, + "Ġbasics": 32874, + "eing": 32875, + "Must": 32876, + "_String": 32877, + "Ġole": 32878, + "Magento": 32879, + ".customer": 32880, + "(prev": 32881, + "ล": 32882, + "Ġloyalty": 32883, + "Cog": 32884, + "Ġprotocols": 32885, + "ĠCompanies": 32886, + "Ġtheoretical": 32887, + "Ġaccessing": 32888, + "ĠZen": 32889, + ".ones": 32890, + "attice": 32891, + "_world": 32892, + "zes": 32893, + "Ġtattoo": 32894, + "Ġmenos": 32895, + "Ġintersect": 32896, + "\"];ĊĊ": 32897, + "belie": 32898, + "Ġinactive": 32899, + ".readline": 32900, + "-labelled": 32901, + ".done": 32902, + "lickr": 32903, + "ĠWORK": 32904, + "Ġderivative": 32905, + "Ġdatabases": 32906, + "âĤĤ": 32907, + "Ġsx": 32908, + ".isArray": 32909, + "Ġys": 32910, + "Ġpada": 32911, + "ĠBullet": 32912, + "(`/": 32913, + "isActive": 32914, + "ĠCGSize": 32915, + "(equalTo": 32916, + "ĠColumbus": 32917, + "Ġmarry": 32918, + "DEV": 32919, + "_limits": 32920, + "rones": 32921, + "IAS": 32922, + "Ġtau": 32923, + "mino": 32924, + "_Write": 32925, + "ĠWine": 32926, + "Ġ[['": 32927, + "ĠPull": 32928, + "riters": 32929, + "rients": 32930, + "Ġshifting": 32931, + "upp": 32932, + "_TIMER": 32933, + "ĠConditions": 32934, + "ấ": 32935, + "ĠOrders": 32936, + "ĠStrength": 32937, + "æīĢ": 32938, + "Ġvalidity": 32939, + "Ġfot": 32940, + "etur": 32941, + "Ġbolt": 32942, + "åĨħ": 32943, + "ĠAlong": 32944, + "oshi": 32945, + "Ġassumptions": 32946, + "Ġmagazines": 32947, + "_SPI": 32948, + "Ġpunt": 32949, + "_PRODUCT": 32950, + "Ġrelay": 32951, + "ĠJavascript": 32952, + ".te": 32953, + "-es": 32954, + "Ġwidgets": 32955, + "(fs": 32956, + "\";": 33023, + "atching": 33024, + "ĠKnowledge": 33025, + "ĉThe": 33026, + ";margin": 33027, + "lessness": 33028, + "opard": 33029, + "umatic": 33030, + "()));čĊ": 33031, + "Ġfals": 33032, + "(cache": 33033, + "TypeId": 33034, + "éĢļ": 33035, + "_choice": 33036, + "ĠGoth": 33037, + "ĠSites": 33038, + "MG": 33039, + "_border": 33040, + "Indices": 33041, + "Comparer": 33042, + "ĠRedistribution": 33043, + "Ġcloset": 33044, + "Ġversatile": 33045, + "Inputs": 33046, + "********************": 33047, + "Ġobesity": 33048, + "quiz": 33049, + "gra": 33050, + "(global": 33051, + "åĬ¡": 33052, + "Ġcollector": 33053, + "Ġkor": 33054, + "ovable": 33055, + "ADC": 33056, + "ĠEventHandler": 33057, + ".nc": 33058, + "Ġplayback": 33059, + "ientos": 33060, + "_perm": 33061, + "_WARNING": 33062, + "ĠOlympics": 33063, + ".norm": 33064, + "ĠBroadcast": 33065, + "_small": 33066, + "drive": 33067, + ".iloc": 33068, + "Ġtyped": 33069, + "MEM": 33070, + "_cons": 33071, + "DMETHOD": 33072, + "Ġlun": 33073, + ".distance": 33074, + "(par": 33075, + "poon": 33076, + "Ġbast": 33077, + "activities": 33078, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 33079, + ":čĊčĊ": 33080, + "SER": 33081, + ")&&": 33082, + "_lst": 33083, + "ĠPolish": 33084, + "Ġknocked": 33085, + "Ġfrustration": 33086, + "aukee": 33087, + "Ġphosph": 33088, + "iquid": 33089, + "_coeff": 33090, + "æŃ¤": 33091, + "Latest": 33092, + "ĠDust": 33093, + "Tipo": 33094, + "Ġmaintains": 33095, + "Ġmarsh": 33096, + "incinn": 33097, + "lbl": 33098, + "Care": 33099, + "Ġneighborhoods": 33100, + "_gpio": 33101, + "ĠArsenal": 33102, + "Dem": 33103, + "ĠWhe": 33104, + "_hook": 33105, + "Ġldc": 33106, + "ĠHarper": 33107, + "ĠBerkeley": 33108, + "Ġgraduated": 33109, + "Percent": 33110, + "Ġarriving": 33111, + "ĠAdventure": 33112, + "(scope": 33113, + "('*": 33114, + "quarter": 33115, + "ĠMarie": 33116, + "Speaking": 33117, + "_codegen": 33118, + "Ġimmun": 33119, + "caster": 33120, + "ãĤĮ": 33121, + "åķĨ": 33122, + "ĠDimensions": 33123, + ".record": 33124, + "Ġtexto": 33125, + "ĠMichelle": 33126, + "Pending": 33127, + "(by": 33128, + "_PAR": 33129, + "ucht": 33130, + "bee": 33131, + ".Thread": 33132, + "ampire": 33133, + "know": 33134, + "ĠClinical": 33135, + "ĠmarginBottom": 33136, + "Ġdistinguish": 33137, + ".Full": 33138, + ".undefined": 33139, + "ĠSequelize": 33140, + "############################################################################": 33141, + "Ġeducated": 33142, + "_OVER": 33143, + "åºı": 33144, + "ĠÂłĠÂł": 33145, + "_each": 33146, + "Ġurge": 33147, + "depart": 33148, + "Ġdonors": 33149, + "ĠAu": 33150, + "Ġbillions": 33151, + "Ġbelonging": 33152, + "_age": 33153, + "_Int": 33154, + "Ġsubstances": 33155, + "machine": 33156, + "!!!ĊĊ": 33157, + "Ġjsonify": 33158, + "ibbean": 33159, + "ĠCad": 33160, + "ĠendTime": 33161, + "Ġcycling": 33162, + "ĠUITextField": 33163, + "Ġleverage": 33164, + "Ġvanilla": 33165, + "eat": 33166, + "Launch": 33167, + "(pt": 33168, + "states": 33169, + "ĠControls": 33170, + "ĠRespons": 33171, + "ĠJake": 33172, + "Ġasleep": 33173, + "fortunate": 33174, + ".nextLine": 33175, + "SizeMode": 33176, + "ìĿ¼": 33177, + "TestingModule": 33178, + "German": 33179, + "ĠInvestig": 33180, + ".reverse": 33181, + "ĠBACK": 33182, + "(DateTime": 33183, + "Ġnonprofit": 33184, + "ĠExpect": 33185, + "Ġtanto": 33186, + "']),": 33187, + "ĉthe": 33188, + "Multiple": 33189, + "(getActivity": 33190, + "_WAIT": 33191, + "Ġjá": 33192, + "decor": 33193, + "levance": 33194, + "ĠGitHub": 33195, + "mination": 33196, + "_quantity": 33197, + ".Scanner": 33198, + "ĠLion": 33199, + "éĶĻ误": 33200, + "Ġdre": 33201, + "Ġtantra": 33202, + "ĠcontentType": 33203, + "Ġfid": 33204, + "_alt": 33205, + "NSIndexPath": 33206, + "-pl": 33207, + "åĮĸ": 33208, + "Ġantibiot": 33209, + "tables": 33210, + "acial": 33211, + "ĠRegistry": 33212, + "Ġolive": 33213, + "igers": 33214, + "Ġsubscriber": 33215, + "_pres": 33216, + "ĠSyntax": 33217, + "Ġlovers": 33218, + ".Byte": 33219, + "olders": 33220, + "_forward": 33221, + "always": 33222, + "Caption": 33223, + "Priv": 33224, + "ĠTampa": 33225, + "isateur": 33226, + "-labelledby": 33227, + "ĠToString": 33228, + "ĠìĤ¬": 33229, + "Ġinitiated": 33230, + "WF": 33231, + "Ġinstitutional": 33232, + "inject": 33233, + "ĠScr": 33234, + "Ġdoctrine": 33235, + "Ġspacious": 33236, + "isure": 33237, + "ĠAna": 33238, + "\"time": 33239, + "essaging": 33240, + "Ġcid": 33241, + "ĠNan": 33242, + "Ġincomplete": 33243, + "TAG": 33244, + "-build": 33245, + "December": 33246, + "Ġresidual": 33247, + "(PDO": 33248, + "ĠListen": 33249, + "Ġglyph": 33250, + "Ġgaps": 33251, + "nea": 33252, + ".Rect": 33253, + "Ġsau": 33254, + "ĠPhotograph": 33255, + "Ġexecutable": 33256, + "ĠExpert": 33257, + "Coroutine": 33258, + "_sizes": 33259, + "ĠNL": 33260, + ".isValid": 33261, + ");}Ċ": 33262, + "-reg": 33263, + "Ġciting": 33264, + "cwd": 33265, + "ĠOttawa": 33266, + "ĠBatt": 33267, + "Ġrenewable": 33268, + "Ġpreliminary": 33269, + "Ġasylum": 33270, + "Ġwrist": 33271, + "Ġutiliz": 33272, + "Ġdetention": 33273, + "Fast": 33274, + "Ġange": 33275, + "incinnati": 33276, + "Ġsteering": 33277, + "ĠNaN": 33278, + "iosity": 33279, + "/page": 33280, + "Ġè¿": 33281, + "sterol": 33282, + "Ġdisg": 33283, + "(DB": 33284, + "ĠDESCRIPTION": 33285, + "Ġ_$": 33286, + "Ġobstacle": 33287, + "Ġbizarre": 33288, + "Ġextraction": 33289, + "_expected": 33290, + "Ġloses": 33291, + "ĠCelebr": 33292, + "ĠhtmlFor": 33293, + "Ġexploit": 33294, + "олÑĮзов": 33295, + "XYZ": 33296, + "Ġmagnet": 33297, + "amped": 33298, + "Ġatoms": 33299, + "Sources": 33300, + "pectives": 33301, + "Ñģли": 33302, + "Ġ=čĊ": 33303, + "Ġdare": 33304, + "ĠWalter": 33305, + "Ġbrightness": 33306, + "Ġannotations": 33307, + "ëı": 33308, + "iske": 33309, + "Schedule": 33310, + ".images": 33311, + "rosso": 33312, + "Ġ\"..": 33313, + "gamma": 33314, + "Ġinstructor": 33315, + "Ġoverwrite": 33316, + "-am": 33317, + "Ġdevastating": 33318, + "ĠSaints": 33319, + "Ġhs": 33320, + "Ġbonuses": 33321, + "$output": 33322, + "ijd": 33323, + "(ActionEvent": 33324, + "monitor": 33325, + "Ġmattress": 33326, + "January": 33327, + ".jp": 33328, + "Ġcaracter": 33329, + "Ġimpose": 33330, + "_rest": 33331, + "ĠSignature": 33332, + "Ġcoronavirus": 33333, + "ãģĬ": 33334, + "_compare": 33335, + "Measure": 33336, + "itated": 33337, + "elijk": 33338, + "igos": 33339, + "esar": 33340, + "Ġrushed": 33341, + "metry": 33342, + "_SEPARATOR": 33343, + "_WE": 33344, + "_ATTRIBUTE": 33345, + "Ġyaml": 33346, + "Ġspecs": 33347, + "ĠRah": 33348, + "pheric": 33349, + "ĠInvestment": 33350, + "äll": 33351, + "Ġappealing": 33352, + "Ġviewport": 33353, + "ç©": 33354, + "ĠmarginLeft": 33355, + "Ġsubtract": 33356, + "ĠEDIT": 33357, + "ĉArrayList": 33358, + "grading": 33359, + "ĠFailure": 33360, + "asper": 33361, + "EEK": 33362, + "(now": 33363, + ")Ċ": 33379, + "Collision": 33380, + "ĠGreater": 33381, + "ĠRacing": 33382, + "alan": 33383, + "Ġmonetary": 33384, + ",new": 33385, + "ĠSorry": 33386, + ".Enable": 33387, + "ĠInstantiate": 33388, + "ollen": 33389, + "ë©´": 33390, + "ĠCalling": 33391, + "_hour": 33392, + "ADA": 33393, + "Ġshy": 33394, + ")**": 33395, + "Ġ==>": 33396, + "Ġespecial": 33397, + "Ġinterpreted": 33398, + "!=\"": 33399, + "Ġpharmacy": 33400, + ".single": 33401, + "ĠCialis": 33402, + "Ġparas": 33403, + ".toUpperCase": 33404, + "ĠDemon": 33405, + "Prime": 33406, + "Ġrankings": 33407, + "Adding": 33408, + "_HASH": 33409, + "ĠExam": 33410, + "Ú©": 33411, + "ĠVictor": 33412, + "Okay": 33413, + "\"];čĊ": 33414, + "Ġfortune": 33415, + "ĠFETCH": 33416, + "expand": 33417, + ".Interop": 33418, + "Ġbarn": 33419, + "æ¶Ī": 33420, + "uevo": 33421, + "Ġspeculation": 33422, + "âĶĢâĶĢâĶĢâĶĢ": 33423, + "ĠNu": 33424, + "ĠBlues": 33425, + "(fname": 33426, + "Ġinhabit": 33427, + "Ġ\\\"%": 33428, + "CES": 33429, + "ulario": 33430, + "_cr": 33431, + "Ġvalidated": 33432, + "Ġmidnight": 33433, + "anking": 33434, + "Ġincorporate": 33435, + "Ġpursuit": 33436, + "EXP": 33437, + "prime": 33438, + "Pid": 33439, + "-US": 33440, + "ĠNurs": 33441, + "ĠWheel": 33442, + "éĺ": 33443, + "Ġinp": 33444, + "Ġsupportive": 33445, + ".member": 33446, + "ĠShot": 33447, + ".CheckBox": 33448, + "Ġaffirm": 33449, + "Tor": 33450, + "FullYear": 33451, + "Ġconsiderably": 33452, + "credentials": 33453, + "_opts": 33454, + "Roll": 33455, + "(round": 33456, + "Ġcoment": 33457, + "_UART": 33458, + "Ġextending": 33459, + "RG": 33460, + "resultado": 33461, + "itu": 33462, + ".getSession": 33463, + "Ġattraction": 33464, + "&D": 33465, + "$html": 33466, + "ĠJessica": 33467, + "ĠAssociate": 33468, + "añ": 33469, + "_ed": 33470, + "ĠLag": 33471, + "Ġorigins": 33472, + "())->": 33473, + "addEventListener": 33474, + "IALOG": 33475, + "åIJ¦": 33476, + ".Compare": 33477, + "Album": 33478, + "ĠKu": 33479, + "\";ĊĊ": 33523, + "quisite": 33524, + "channels": 33525, + "/res": 33526, + "ĠAnalytics": 33527, + ".appcompat": 33528, + "/to": 33529, + "ĠonError": 33530, + "(attr": 33531, + "IRM": 33532, + "Ġragaz": 33533, + "-as": 33534, + ".Second": 33535, + "oriented": 33536, + "Ġdonn": 33537, + "Ġlightning": 33538, + "fid": 33539, + "ĠPle": 33540, + "ãģ¾ãģĻ": 33541, + "tro": 33542, + ".True": 33543, + "Observable": 33544, + "×Ļ": 33545, + "umbing": 33546, + "Ġprospective": 33547, + "-filter": 33548, + "Ġpursuant": 33549, + "(points": 33550, + ".Bind": 33551, + "Ġpalm": 33552, + "clearfix": 33553, + "ös": 33554, + "ĠGonz": 33555, + "Ġweaken": 33556, + "Drive": 33557, + "enido": 33558, + "lld": 33559, + "obox": 33560, + "anean": 33561, + "Got": 33562, + "ä¿Ŀ": 33563, + "Regex": 33564, + "æĥ": 33565, + "Ġsalad": 33566, + "assis": 33567, + "\"net": 33568, + "inheritDoc": 33569, + "ĠRV": 33570, + "quier": 33571, + "Ġclazz": 33572, + "Ä±ÅŁ": 33573, + "osterone": 33574, + "Ġairline": 33575, + ".listdir": 33576, + "Ġdownloading": 33577, + "ĠPalm": 33578, + "waukee": 33579, + "<": 33580, + ".BL": 33581, + "_INLINE": 33582, + "offs": 33583, + "<<(": 33584, + "_news": 33585, + "Ġchase": 33586, + "/><": 33587, + "Ġeuros": 33588, + "ĠEgyptian": 33589, + "ĠStainless": 33590, + "_BOOL": 33591, + "ĠGuild": 33592, + "ĠDynam": 33593, + "[indexPath": 33594, + "Ġï": 33595, + "Ġmemorable": 33596, + "ĠChampion": 33597, + "ResourceManager": 33598, + ".Login": 33599, + "ĠFormer": 33600, + "yped": 33601, + "Ġlleg": 33602, + ";\",": 33603, + "DWORD": 33604, + "Ġtaxi": 33605, + "Ġbombs": 33606, + "rah": 33607, + ".tags": 33608, + "_tests": 33609, + "stones": 33610, + "âĢĿ)": 33611, + "[g": 33612, + "rtype": 33613, + "Ġvu": 33614, + "Ġhostile": 33615, + "Chars": 33616, + "ĠPatriots": 33617, + "/status": 33618, + "());Ċ": 33972, + "ajÄħ": 33973, + "_OCC": 33974, + "Ġplanets": 33975, + "æŁ¥": 33976, + "ĠDublin": 33977, + "Ġserie": 33978, + ".printf": 33979, + "deep": 33980, + "`)": 33981, + "Ġ\\$": 33982, + "Ġμ": 33983, + "_VIDEO": 33984, + "endors": 33985, + "ĠCrypto": 33986, + "Far": 33987, + ".Transparent": 33988, + ".TR": 33989, + "iasm": 33990, + "_training": 33991, + "Ġteaches": 33992, + "ĠBelt": 33993, + "Ġlimiting": 33994, + "ĠKath": 33995, + "ĠIndexPath": 33996, + "Ġachievements": 33997, + "Ġserá": 33998, + "interopRequire": 33999, + "Ġdisse": 34000, + ".If": 34001, + "arming": 34002, + "ulsion": 34003, + "Po": 34004, + "_DETAIL": 34005, + "Prototype": 34006, + "ĠCAL": 34007, + "Ġagrees": 34008, + ".vo": 34009, + ".ExecuteNonQuery": 34010, + "ĠTopic": 34011, + "Ġ'{}": 34012, + "Arm": 34013, + "Ġecc": 34014, + "Mag": 34015, + "Ġserialized": 34016, + "ĉconn": 34017, + "cached": 34018, + "=tf": 34019, + "ĠByteArray": 34020, + "protobuf": 34021, + "varchar": 34022, + "ĉASSERT": 34023, + "Ġliste": 34024, + "_trigger": 34025, + "·¸": 34026, + "Feel": 34027, + "Tahoma": 34028, + "ĠLik": 34029, + "Ġstructured": 34030, + "ergus": 34031, + ".Initial": 34032, + "_ge": 34033, + "cljs": 34034, + ".contact": 34035, + "Ġandere": 34036, + "$stmt": 34037, + "_CURRENT": 34038, + "ĠDiscover": 34039, + "$res": 34040, + "formatter": 34041, + "Ha": 34042, + "vangst": 34043, + "Ġemerge": 34044, + "ãĢĤâĢĿ": 34045, + "ĠCabinet": 34046, + "-square": 34047, + "éĥ¨": 34048, + "Ġrage": 34049, + "ĠAJ": 34050, + "ĠVT": 34051, + "shadow": 34052, + "ĠFaith": 34053, + "enames": 34054, + "pretty": 34055, + "hasil": 34056, + "party": 34057, + "Ġvarchar": 34058, + "Ġfotos": 34059, + "Ġalum": 34060, + "ĠBelgium": 34061, + ".ylabel": 34062, + "Ġdej": 34063, + "_numbers": 34064, + "Ġhu": 34065, + ".setAdapter": 34066, + "ĠUsually": 34067, + "(sample": 34068, + ".Shared": 34069, + "Ġbooked": 34070, + "Ġ>>=": 34071, + "Ġminerals": 34072, + "\">": 34091, + "prog": 34092, + "boo": 34093, + "_md": 34094, + "_pack": 34095, + "(express": 34096, + "utz": 34097, + "\\Auth": 34098, + ",id": 34099, + "ĠChile": 34100, + "actice": 34101, + "Ġrecruitment": 34102, + "Ġposes": 34103, + "Ġvulnerability": 34104, + "instanc": 34105, + "orum": 34106, + "dess": 34107, + "Ġxl": 34108, + "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%": 34109, + "(fig": 34110, + "Ġdeleting": 34111, + ".del": 34112, + ")')Ċ": 34113, + "ĠWeekly": 34114, + "???": 34115, + "(strcmp": 34116, + "smith": 34117, + "Ġpursuing": 34118, + "-so": 34119, + "ĠApps": 34120, + "/'Ċ": 34121, + "Ġdecis": 34122, + "FORE": 34123, + "Everyone": 34124, + "Ġlanes": 34125, + "Virtual": 34126, + ".attach": 34127, + "(Log": 34128, + "ĠMedicaid": 34129, + "(Path": 34130, + "ĠTurner": 34131, + "/application": 34132, + "Ġportrait": 34133, + "Ġoppose": 34134, + "checkout": 34135, + "Ġfinishes": 34136, + "_ME": 34137, + "Barrier": 34138, + "Song": 34139, + "VAR": 34140, + "Earlier": 34141, + "rella": 34142, + "Ġhast": 34143, + "azar": 34144, + "Ġpulls": 34145, + "ngx": 34146, + "Ġinspiring": 34147, + "ÑĥÑİ": 34148, + "-direction": 34149, + "Ġexplosive": 34150, + "ĠcreatedAt": 34151, + "sto": 34152, + "Ġwheat": 34153, + "ĠBuilt": 34154, + "'ai": 34155, + "Ġtracked": 34156, + "hammad": 34157, + "RowAtIndexPath": 34158, + "_heap": 34159, + "Due": 34160, + "Ġconnects": 34161, + ".publish": 34162, + "emu": 34163, + "Ġbullets": 34164, + "BAR": 34165, + "olate": 34166, + "Ġinternally": 34167, + "Ġcatching": 34168, + "-password": 34169, + "ouched": 34170, + "æĢ§": 34171, + "eous": 34172, + "Ġxrange": 34173, + "Quality": 34174, + "vv": 34175, + "Manage": 34176, + "(($": 34177, + "acements": 34178, + "ĠBrothers": 34179, + "ĠHEAD": 34180, + "ĠUnsupported": 34181, + "san": 34182, + "esi": 34183, + "***Ċ": 34184, + "Ġadaptation": 34185, + "ĠWorker": 34186, + "']/": 34187, + ".savefig": 34188, + "(trans": 34189, + "ج": 34190, + "nee": 34191, + "Correct": 34192, + "...\")Ċ": 34193, + "Ġsubmitting": 34194, + "-path": 34195, + "ĉlast": 34196, + "issan": 34197, + ".xlabel": 34198, + "ĠSepar": 34199, + "/no": 34200, + "_best": 34201, + "ĠMills": 34202, + "_sock": 34203, + "(flag": 34204, + "Ġdestinations": 34205, + "emption": 34206, + "ĠFAIL": 34207, + "åĴĮ": 34208, + "Ġrp": 34209, + "fact": 34210, + "ĉlen": 34211, + "DAY": 34212, + "Ġseiz": 34213, + "_dst": 34214, + "lip": 34215, + ".Linear": 34216, + "ĠBasket": 34217, + "$t": 34218, + "$i": 34219, + "-brand": 34220, + "ĠNeil": 34221, + "ĠEq": 34222, + "Ġthou": 34223, + "ogene": 34224, + "Ġscholarship": 34225, + "æĽ´": 34226, + "Ġswo": 34227, + "aginator": 34228, + "eni": 34229, + "(book": 34230, + "Ġblink": 34231, + "thus": 34232, + "ĠcancellationToken": 34233, + "ĠPalestinians": 34234, + "Ġprofitable": 34235, + "Ġbackpack": 34236, + "enson": 34237, + "true": 34384, + "ĠNYC": 34385, + "Ġbored": 34386, + "ĠDetect": 34387, + "Ġappar": 34388, + "Ġjeans": 34389, + "ĠTak": 34390, + "IOD": 34391, + "ĠHorse": 34392, + "(FILE": 34393, + "(?": 34394, + "rique": 34395, + "optimizer": 34396, + "nat": 34397, + "loys": 34398, + "ĉToken": 34399, + "oubted": 34400, + "uess": 34401, + "ocoa": 34402, + "DataMember": 34403, + "_POWER": 34404, + "classList": 34405, + "PushButton": 34406, + "ĠWiFi": 34407, + ".Stream": 34408, + ".guild": 34409, + "Ġnog": 34410, + "ĠPortugal": 34411, + "ĠUnter": 34412, + "Primitive": 34413, + "boss": 34414, + "ĠDeutsch": 34415, + "Ġerotic": 34416, + "Ġstrconv": 34417, + ".TryParse": 34418, + "Ġgrams": 34419, + ".Success": 34420, + "_pk": 34421, + "ĠHarvey": 34422, + "-minded": 34423, + ".country": 34424, + "[]\"": 34425, + "Ġangel": 34426, + "Ġbeats": 34427, + "ĠVor": 34428, + "ilio": 34429, + ".master": 34430, + "something": 34431, + "ĠPACK": 34432, + "(if": 34433, + "RequestBody": 34434, + "Ġantes": 34435, + "/widget": 34436, + "Ġmodo": 34437, + "ĠAW": 34438, + "finder": 34439, + "Ġoptimized": 34440, + "Ġmissiles": 34441, + "NB": 34442, + "ĉinternal": 34443, + "tex": 34444, + "ĠSri": 34445, + "Ġdamaging": 34446, + "ĠMais": 34447, + "-Allow": 34448, + "ĠZh": 34449, + "-alt": 34450, + "Ġ));ĊĊ": 34451, + "èī": 34452, + "Ġinfluences": 34453, + "Ġcatal": 34454, + "_REGISTER": 34455, + "ĠAPIs": 34456, + "-century": 34457, + "Ġbiology": 34458, + "ĠActual": 34459, + "Ġheels": 34460, + "TRACE": 34461, + "_DIG": 34462, + "Dataset": 34463, + "ĠMatter": 34464, + "Ġclassifier": 34465, + ".wikipedia": 34466, + "ĠRogers": 34467, + "Ġdonated": 34468, + "rawler": 34469, + "enen": 34470, + "Ġcasinos": 34471, + "ortal": 34472, + "Ġprive": 34473, + "spe": 34474, + "ducers": 34475, + ".ep": 34476, + "Ġgrasp": 34477, + "acji": 34478, + "Ġdairy": 34479, + "Ġbuses": 34480, + ".comm": 34481, + ".ins": 34482, + "ĠIRS": 34483, + "ĠBeer": 34484, + "adc": 34485, + "oard": 34486, + "_MET": 34487, + "Ġ'+'": 34488, + "rans": 34489, + "Ġkinda": 34490, + "ĠâĶĤ": 34491, + "ĠMaur": 34492, + "аг": 34493, + "Ġbandwidth": 34494, + "ibus": 34495, + "ĠDifferent": 34496, + "(mat": 34497, + "ĠResume": 34498, + "_UNS": 34499, + "establish": 34500, + "Ġfonction": 34501, + "Subscription": 34502, + "_company": 34503, + "Ġlightly": 34504, + ".confirm": 34505, + ".yaml": 34506, + "ĠBoost": 34507, + "Commerce": 34508, + "-template": 34509, + "_DELAY": 34510, + "ĠHI": 34511, + "Ġnavig": 34512, + "(Sender": 34513, + "ĠHS": 34514, + "_\"+": 34515, + "ĠREQUEST": 34516, + "Ġwifi": 34517, + "=\"\"Ċ": 34518, + "])->": 34519, + "Ġrope": 34520, + "Ġviolated": 34521, + "Ġglance": 34522, + "ĠKurd": 34523, + "Ġè®": 34524, + "deck": 34525, + "ĠISBN": 34526, + "Ġinfect": 34527, + "ĠFoo": 34528, + "Ġgetter": 34529, + "Ġtener": 34530, + "appe": 34531, + ".hh": 34532, + "_hot": 34533, + "\".$": 34743, + "Ġrelies": 34744, + "(Console": 34745, + "International": 34746, + "->{$": 34747, + "Mid": 34748, + "Ġdissert": 34749, + "dds": 34750, + "Ġdeposits": 34751, + "ĉdriver": 34752, + "#ga": 34753, + "prising": 34754, + "println": 34755, + "Ġpresenter": 34756, + "Ġmines": 34757, + "CSS": 34758, + "ĠDual": 34759, + "(!(": 34760, + "Ġkam": 34761, + "ĠisLoading": 34762, + "ĠProtect": 34763, + ".upper": 34764, + "arium": 34765, + "]:ĊĊĊ": 34766, + "Yii": 34767, + "-shirt": 34768, + "ĠIMAGE": 34769, + "_colors": 34770, + "Ġurgent": 34771, + ".Container": 34772, + "!(Ċ": 34773, + "Saturday": 34774, + "Ġsocieties": 34775, + "ĠThan": 34776, + "ĠCod": 34777, + "=@": 34778, + "Ġattachments": 34779, + ".mobile": 34780, + "Ġspite": 34781, + "Ġbounce": 34782, + "rawl": 34783, + "instancetype": 34784, + "ĠTruck": 34785, + "Ġmanipulation": 34786, + "(Config": 34787, + "-inst": 34788, + "Ġstor": 34789, + "itution": 34790, + "PreferredGap": 34791, + "ĠmainAxisAlignment": 34792, + "Ġlistened": 34793, + "'''ĊĊ": 34794, + "ottage": 34795, + "-project": 34796, + ".APPLICATION": 34797, + "ĉroot": 34798, + "Ġwhit": 34799, + "Ġbilder": 34800, + "Ġker": 34801, + "Ġappliances": 34802, + "rowave": 34803, + "ìĿĢ": 34804, + "ematics": 34805, + "ĠOrg": 34806, + "oping": 34807, + "_SEARCH": 34808, + "Ġcham": 34809, + "addContainerGap": 34810, + "Ġ().": 34811, + "ĠArrow": 34812, + "Illegal": 34813, + "Currently": 34814, + "Ġusa": 34815, + "Ġpasswords": 34816, + "Ġrenown": 34817, + "avern": 34818, + "ĠEvil": 34819, + "Ġconcat": 34820, + "Ġduo": 34821, + "Ġvale": 34822, + "ĠBean": 34823, + "Ġindicators": 34824, + "cmath": 34825, + "ĠPump": 34826, + "November": 34827, + "ificant": 34828, + "_DOMAIN": 34829, + "regar": 34830, + "ĠPortal": 34831, + "\"$": 34832, + "Ġformerly": 34833, + "\"]:Ċ": 34834, + "ĠVisibility": 34835, + ".getElementsByClassName": 34836, + "_RED": 34837, + "Ġchampions": 34838, + "à´": 34839, + "Valor": 34840, + "_es": 34841, + "*a": 34842, + "-repeat": 34843, + "Band": 34844, + ".stage": 34845, + "Ġbureauc": 34846, + "Cnt": 34847, + "eten": 34848, + "-function": 34849, + "Ġmuito": 34850, + "PID": 34851, + "_editor": 34852, + "Ġcrashed": 34853, + "dead": 34854, + "kat": 34855, + "agh": 34856, + "ĠEXT": 34857, + "asser": 34858, + "-small": 34859, + "Ġrealiz": 34860, + "(Entity": 34861, + "ús": 34862, + "ĠActually": 34863, + "ĠElite": 34864, + "Ġhelm": 34865, + "(nonatomic": 34866, + "asher": 34867, + "Community": 34868, + "alleng": 34869, + "iry": 34870, + "ĠGrowth": 34871, + "Ġsue": 34872, + "Ġfrequencies": 34873, + "_descriptor": 34874, + ".Attribute": 34875, + "Ġrecipients": 34876, + "_NS": 34877, + "/\"+": 34878, + "iban": 34879, + "Ġathlete": 34880, + "ĠIgn": 34881, + "_DMA": 34882, + "(ds": 34883, + "ĠRequirements": 34884, + "ADI": 34885, + "erez": 34886, + "\\Admin": 34887, + "braska": 34888, + "ĠRust": 34889, + "Relation": 34890, + "COD": 34891, + "ĠVERSION": 34892, + "emma": 34893, + ")){": 34894, + ".Duration": 34895, + "ĠCamb": 34896, + "-logo": 34897, + "Ġreadable": 34898, + "Ġcreators": 34899, + "()];Ċ": 34900, + "UpDown": 34901, + "-half": 34902, + ".getMonth": 34903, + "(sf": 34904, + "Pic": 34905, + "Ġhunger": 34906, + ".tx": 34907, + "Ġexceeded": 34908, + "_seed": 34909, + "(^": 34910, + "_sk": 34911, + ".perform": 34912, + "Ġ>::": 34913, + "Ġmongo": 34914, + "=float": 34915, + "bindParam": 34916, + "Smart": 34917, + "ifa": 34918, + "Ġsecurities": 34919, + "Ġprejud": 34920, + "Ġ,\"": 34921, + "Ġcorps": 34922, + "Ġvra": 34923, + "amacare": 34924, + "iterr": 34925, + "(Media": 34926, + "uche": 34927, + "Ġcob": 34928, + "Ġliber": 34929, + ".geometry": 34930, + "Locator": 34931, + "Ġsliding": 34932, + "Ġsurgical": 34933, + "_CUR": 34934, + "Ġconsect": 34935, + "[*": 34936, + "ĠResort": 34937, + "Stub": 34938, + "_DOUBLE": 34939, + "ĠSoph": 34940, + "Ġelectoral": 34941, + "_disable": 34942, + "ĠÑģо": 34943, + "ĠLightning": 34944, + "Ġmentions": 34945, + "ocy": 34946, + "Ġleaked": 34947, + "Ġrelaxing": 34948, + "Presenter": 34949, + "vsp": 34950, + "Ġguilt": 34951, + "=-=-": 34952, + ".reply": 34953, + "ĠMirror": 34954, + "Camp": 34955, + "Ġ+#+#+#+": 34956, + "Ġ+#+#+#+#+#+": 34957, + ".Author": 34958, + "Ġdirective": 34959, + "-hook": 34960, + "íĦ°": 34961, + "}ĊĊĊĊĊ": 34962, + "@pytest": 34963, + "_rand": 34964, + "mis": 34965, + "Ġcolorful": 34966, + "uje": 34967, + "lasses": 34968, + "ĠClasses": 34969, + ".have": 34970, + "%),": 34971, + "é¢ĺ": 34972, + "Ġdisturbing": 34973, + "substring": 34974, + "ĠKoh": 34975, + "Invest": 34976, + "purchase": 34977, + "Ġrecycling": 34978, + "ĠART": 34979, + "ierarchy": 34980, + "Ġfps": 34981, + ".checkBox": 34982, + "íķ´": 34983, + "_material": 34984, + "ducation": 34985, + "Ġfw": 34986, + "udit": 34987, + "Ġreviewing": 34988, + "ĠSid": 34989, + "Syntax": 34990, + "ĠWritten": 34991, + "argar": 34992, + "UME": 34993, + "/q": 34994, + "Classifier": 34995, + "Official": 34996, + "Ġjazz": 34997, + "Ġomega": 34998, + "Physics": 34999, + "Ġlugar": 35000, + "_accessor": 35001, + ".commands": 35002, + "Ability": 35003, + "ĠBatch": 35004, + "RAM": 35005, + "Ġencounters": 35006, + ".Qu": 35007, + "BYTE": 35008, + "ĠDistribution": 35009, + "Ġuso": 35010, + "ĠRecovery": 35011, + "approved": 35012, + "Ġdenial": 35013, + "/share": 35014, + "LinkedList": 35015, + ")čĊčĊčĊ": 35016, + "uddy": 35017, + "Ġfines": 35018, + "Ġry": 35019, + "Unicode": 35020, + "ĉrender": 35021, + "Ġpremises": 35022, + "Ġpon": 35023, + "aliases": 35024, + "/Foundation": 35025, + "cuda": 35026, + "ĠCock": 35027, + ",:)": 35028, + "(folder": 35029, + "Ġméd": 35030, + "drag": 35031, + "Ġtalents": 35032, + "ĠĠĠĊĊ": 35033, + "еÑģÑĤв": 35034, + "mob": 35035, + ".yml": 35036, + "Ġaster": 35037, + "Ġdiscre": 35038, + "goal": 35039, + "ĠGTX": 35040, + "ĠSUCCESS": 35041, + "ĠLONG": 35042, + "(find": 35043, + "Ġsingular": 35044, + "_sz": 35045, + "ĠEthereum": 35046, + "..Ċ": 35047, + "Ġirres": 35048, + "')){Ċ": 35049, + "Ġministers": 35050, + "Steps": 35051, + "iversal": 35052, + "ĠNevertheless": 35053, + "-led": 35054, + "Ġ(%)": 35055, + "ç¡®": 35056, + "Ġtimezone": 35057, + "Ġstranger": 35058, + "(render": 35059, + "Ġshutil": 35060, + "Ġmph": 35061, + "Ġtrio": 35062, + "ppy": 35063, + "Ġpredomin": 35064, + "Ġendors": 35065, + "ĠRussians": 35066, + "ĉrow": 35067, + "Ġwizard": 35068, + ".serialize": 35069, + "Ġcomplained": 35070, + "Ġsido": 35071, + "Ġdelighted": 35072, + "-me": 35073, + "ĠRav": 35074, + "Human": 35075, + "adays": 35076, + "recv": 35077, + "Working": 35078, + "Jump": 35079, + "ĠÃ¥r": 35080, + "ĠAutomatic": 35081, + "_Base": 35082, + "æł¼": 35083, + "aurants": 35084, + "¯": 35085, + "æ¸": 35086, + "(CType": 35087, + "IFI": 35088, + "(amount": 35089, + "Ġbelieving": 35090, + "=mysql": 35091, + "Ġfir": 35092, + "Ġrestoration": 35093, + "ereco": 35094, + "Т": 35095, + "_'+": 35096, + "Ġebook": 35097, + "Ġdebris": 35098, + "(inputs": 35099, + "AYOUT": 35100, + "Ġscreaming": 35101, + "avia": 35102, + "lander": 35103, + "Ġdistress": 35104, + "Ġassembled": 35105, + "ĠAvoid": 35106, + "(thread": 35107, + "ĠRPC": 35108, + "_EXIT": 35109, + "(queue": 35110, + "иÑģÑĤ": 35111, + "Dll": 35112, + "Ġskull": 35113, + "_pub": 35114, + "chez": 35115, + "minate": 35116, + "ensen": 35117, + "Ġinsane": 35118, + "bounds": 35119, + "ĠRosen": 35120, + "Ġconditioning": 35121, + "processed": 35122, + "videos": 35123, + "four": 35124, + ".Conv": 35125, + "|;Ċ": 35126, + "Personal": 35127, + "cerpt": 35128, + ":UIControlStateNormal": 35129, + "Ġdoses": 35130, + "ĠKarl": 35131, + "ĠFrequ": 35132, + ".BASE": 35133, + "ĠVote": 35134, + "Ġconcurrent": 35135, + "ĠMessageBoxIcon": 35136, + "ĠÃĸ": 35137, + "ĠDubai": 35138, + "ĠRetail": 35139, + ":number": 35140, + "ĠObserver": 35141, + "ĠBigInteger": 35142, + "_origin": 35143, + "_WORK": 35144, + "Frames": 35145, + "Ġnotably": 35146, + ".âĢľ": 35147, + "Ġtropical": 35148, + "Ġniche": 35149, + "amina": 35150, + ".sys": 35151, + "(tokens": 35152, + "modify": 35153, + "osit": 35154, + "strom": 35155, + "ĠComics": 35156, + "OPTION": 35157, + "Ticket": 35158, + "Ġfactories": 35159, + "Ġdisput": 35160, + "_File": 35161, + "ĠFinn": 35162, + "eee": 35163, + "ĠDiscord": 35164, + "_money": 35165, + ".tpl": 35166, + "_safe": 35167, + "LB": 35168, + "Ġglut": 35169, + "JK": 35170, + ".flow": 35171, + "-cont": 35172, + "gos": 35173, + "Ġhorizon": 35174, + "ĠRush": 35175, + "::*": 35176, + "Pipe": 35177, + "ulla": 35178, + "borough": 35179, + "heimer": 35180, + "(move": 35181, + "(Text": 35182, + "});čĊčĊ": 35183, + "welcome": 35184, + "ĠComponents": 35185, + "Ġgovernance": 35186, + "closed": 35187, + "ĉmargin": 35188, + "Ġlaundry": 35189, + "ĠTerminal": 35190, + "izards": 35191, + ".âĢĶ": 35192, + ".remote": 35193, + ".radius": 35194, + "ĠQuebec": 35195, + "Ġdh": 35196, + "Tech": 35197, + "ĠMist": 35198, + "seller": 35199, + "_literal": 35200, + "Ġgenius": 35201, + "Ġbrains": 35202, + "gem": 35203, + "ĠMeasure": 35204, + "Ġcatast": 35205, + "rance": 35206, + ".TextField": 35207, + "Ġconsuming": 35208, + "Ġ'\\''": 35209, + "oubtedly": 35210, + "ĠCertain": 35211, + "Ev": 35212, + "erti": 35213, + "being": 35214, + "Experience": 35215, + "Ġ//[": 35216, + "ĠArabic": 35217, + "ĠCrist": 35218, + "ĠAzure": 35219, + "Ġhora": 35220, + "ladesh": 35221, + "\\Blueprint": 35222, + "dar": 35223, + ".rel": 35224, + "Ġsuprem": 35225, + "ĠReagan": 35226, + "ĠAttributes": 35227, + "-sidebar": 35228, + "ĠuseStyles": 35229, + "ĠAirlines": 35230, + "Ġhills": 35231, + "/xhtml": 35232, + "vinc": 35233, + "_mock": 35234, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 35235, + "ĠPill": 35236, + ".LayoutStyle": 35237, + "ĠCommander": 35238, + "]<": 35239, + "signature": 35240, + "Ġ{}čĊ": 35241, + "Ġhatred": 35242, + "Ġëĭ": 35243, + "olesterol": 35244, + "Ġ********": 35245, + "ancellor": 35246, + "crop": 35247, + "TIM": 35248, + "ĉĉĊĊ": 35249, + "ysqli": 35250, + "uitive": 35251, + "ĉunset": 35252, + "_sel": 35253, + "Ġmenus": 35254, + "tick": 35255, + "Ġconstitute": 35256, + "ĠElements": 35257, + "ĠRedis": 35258, + "aggio": 35259, + "_fp": 35260, + "_depend": 35261, + "emas": 35262, + "CAST": 35263, + "orange": 35264, + "jon": 35265, + "ĠEmily": 35266, + "Ġpotatoes": 35267, + "Ġreceptor": 35268, + "ĠElectronic": 35269, + "ĠLights": 35270, + "Ġcombining": 35271, + "ĠSomeone": 35272, + "Ġ########.": 35273, + "ĠTOD": 35274, + "/show": 35275, + "Xd": 35276, + ".\"'": 35277, + "afx": 35278, + "Ġtragic": 35279, + "Styled": 35280, + "ĠMarco": 35281, + "Gallery": 35282, + "dale": 35283, + ".âĢĿĊĊĊĊ": 35284, + "érie": 35285, + "/service": 35286, + "äºĨ": 35287, + "Ġambient": 35288, + "_SETTINGS": 35289, + ".Adapter": 35290, + "lene": 35291, + "Ġtravels": 35292, + "Notice": 35293, + "Ġcleans": 35294, + "ĠFem": 35295, + "chair": 35296, + "Ñĥн": 35297, + "/my": 35298, + "_bad": 35299, + "ĠEconomics": 35300, + "ISA": 35301, + "_CNT": 35302, + "(Menu": 35303, + "äºİ": 35304, + "ĠRidge": 35305, + "Ġlengthy": 35306, + "Dot": 35307, + "Ġjumps": 35308, + "Ġhey": 35309, + "$pdf": 35310, + "Ġworm": 35311, + "Ġsut": 35312, + "Ġsher": 35313, + "iamo": 35314, + "ĠCalc": 35315, + "trieve": 35316, + "Ġcops": 35317, + "ĠChrom": 35318, + "Ġregulated": 35319, + "reatment": 35320, + "ĠHigher": 35321, + "oks": 35322, + "Ġdeze": 35323, + "LOCATION": 35324, + "ongsTo": 35325, + "Ġfinite": 35326, + "Ġvaries": 35327, + "Ġpositioned": 35328, + "'il": 35329, + "éĩij": 35330, + "Ġhike": 35331, + "(done": 35332, + "playlist": 35333, + "Ġada": 35334, + "Ġcoastal": 35335, + "ĠNancy": 35336, + ".DateTimeField": 35337, + "CppCodeGen": 35338, + "ĠSimilarly": 35339, + "reur": 35340, + "ĠContr": 35341, + "ĠHidden": 35342, + "ĠBeta": 35343, + "atched": 35344, + "_install": 35345, + ".Output": 35346, + "Lookup": 35347, + "ĠRichmond": 35348, + "quared": 35349, + "Ġmanga": 35350, + "-controls": 35351, + "ĠBernard": 35352, + "Large": 35353, + "Ġslices": 35354, + "Ġoffence": 35355, + "ĠMega": 35356, + "Ġestar": 35357, + "Ġjoints": 35358, + "Ġsumm": 35359, + "_platform": 35360, + "Buff": 35361, + ".addSubview": 35362, + "Ġretained": 35363, + "Letter": 35364, + ".dim": 35365, + "Ġessere": 35366, + "ĠScaffold": 35367, + "EXPECT": 35368, + "ĉRE": 35369, + ".longitude": 35370, + "ünd": 35371, + "Ġstatue": 35372, + ".addWidget": 35373, + "ĠCaribbean": 35374, + "addPreferredGap": 35375, + "ilde": 35376, + "UILabel": 35377, + "ĠOpport": 35378, + "Ġimperial": 35379, + "ursion": 35380, + "Ġmandate": 35381, + "Ġpromotional": 35382, + "Ġvk": 35383, + "iaÅĤ": 35384, + "Ġpyl": 35385, + "ĠCreation": 35386, + "озд": 35387, + "Ġsimpler": 35388, + ".what": 35389, + "ĠRecent": 35390, + "Storm": 35391, + ".quantity": 35392, + "ĠLov": 35393, + "\"-": 35394, + "ubbles": 35395, + "_notification": 35396, + "(world": 35397, + "urger": 35398, + "*(-": 35399, + ":\"Ċ": 35400, + "hm": 35401, + "anship": 35402, + "ĠAlmost": 35403, + "Ġmotorcycle": 35404, + "_fee": 35405, + "Ġabsorb": 35406, + "ĠVincent": 35407, + "Ġsounded": 35408, + "ÃŃst": 35409, + "Ġpharmaceutical": 35410, + "htag": 35411, + "ĠKindle": 35412, + "italize": 35413, + "ĠEmperor": 35414, + "oustic": 35415, + "Ġspecialists": 35416, + "åħ¬": 35417, + "BorderStyle": 35418, + "/\\": 35419, + "RELATED": 35420, + "(',',": 35421, + "(expr": 35422, + "Ġht": 35423, + "åįĪ": 35424, + "_Create": 35425, + "Ġspecially": 35426, + "Ġ[];čĊ": 35427, + "Ġheel": 35428, + "Ġsept": 35429, + "_arch": 35430, + "(initial": 35431, + "%.ĊĊ": 35432, + "\\\",\\\"": 35433, + "Ġdiscusses": 35434, + "Ġupt": 35435, + "Ġ[&": 35436, + "Ġmanus": 35437, + ".hand": 35438, + "ĠMAIN": 35439, + "ĠDenmark": 35440, + "Ġ],čĊ": 35441, + "Ġcryst": 35442, + "Ġnack": 35443, + "Coords": 35444, + "_inner": 35445, + "Ġmidst": 35446, + "Ġawake": 35447, + "ĠÐŀ": 35448, + "-break": 35449, + "ÃŃvel": 35450, + "_PASS": 35451, + "ĠParams": 35452, + "Ġdetr": 35453, + "Ġspider": 35454, + "ĠConcept": 35455, + "Ġprend": 35456, + "CHED": 35457, + ".Exit": 35458, + "Ġpopulated": 35459, + "Ġvirtue": 35460, + "_SESSION": 35461, + "Ġnouvel": 35462, + "oauth": 35463, + "ĠданнÑĭ": 35464, + "rink": 35465, + ".HeaderText": 35466, + "aturated": 35467, + "Ġerst": 35468, + "Ġåħ": 35469, + "à¥ĩ": 35470, + "_visible": 35471, + "eyer": 35472, + "Ġliable": 35473, + "Ġdebe": 35474, + "Ġbw": 35475, + "{-#": 35476, + "_WIN": 35477, + "dfs": 35478, + "Hover": 35479, + "ĠPUT": 35480, + "-angle": 35481, + "Ġnoble": 35482, + "Ġtraces": 35483, + "encv": 35484, + "ĠuserData": 35485, + "_ins": 35486, + "ĠSuz": 35487, + "Ġnewsletters": 35488, + "ĠModi": 35489, + "Ġentrepreneurs": 35490, + "Ġtribute": 35491, + "Ġrumors": 35492, + "Ġrr": 35493, + "ĠQuarter": 35494, + "ê³ł": 35495, + "Ġfeeds": 35496, + "óg": 35497, + "Ġenvelope": 35498, + "Ġlear": 35499, + "Ġkø": 35500, + "developer": 35501, + "Similar": 35502, + ":\")Ċ": 35503, + "subscription": 35504, + "Modifier": 35505, + "italic": 35506, + "Ġnasty": 35507, + "Ġtermination": 35508, + "Ġcharming": 35509, + "ĠâŁ": 35510, + "tons": 35511, + ".trace": 35512, + "hots": 35513, + "ĠUR": 35514, + "Mont": 35515, + "Ġjustified": 35516, + "ĠGang": 35517, + "inea": 35518, + "Ġbog": 35519, + "(ap": 35520, + "_$": 35521, + "Ġcontamin": 35522, + ".Dot": 35523, + "ĉDebug": 35524, + "(exports": 35525, + "Ġpaired": 35526, + "ĠAssignment": 35527, + "Ġautomobile": 35528, + "ĵį": 35529, + "Ġphases": 35530, + "vw": 35531, + "@SuppressWarnings": 35532, + "=\\": 35533, + "rant": 35534, + "-ed": 35535, + "ĉawait": 35536, + "Ġcertificates": 35537, + "'>\"": 35538, + "Ġintact": 35539, + "CTRL": 35540, + "Mike": 35541, + "gregation": 35542, + "ATTERN": 35543, + "Ġrepublic": 35544, + "_upper": 35545, + "iliary": 35546, + "Ġcomputation": 35547, + "hire": 35548, + "ĠShin": 35549, + "_ANY": 35550, + "ĠManufacturer": 35551, + "ĠCarm": 35552, + "Ġbearings": 35553, + "_comb": 35554, + "cad": 35555, + "uristic": 35556, + "Ġwholesale": 35557, + "Ġdonor": 35558, + ".interfaces": 35559, + "presso": 35560, + "ĠBrun": 35561, + "-close": 35562, + "prove": 35563, + "_SK": 35564, + "ĉframe": 35565, + "etros": 35566, + "ĠPain": 35567, + "_EXP": 35568, + "ĠLT": 35569, + "_fs": 35570, + ".datas": 35571, + "ĉss": 35572, + "voir": 35573, + "ĠAxis": 35574, + "Major": 35575, + "=\"<": 35576, + "[h": 35577, + "Ġprofess": 35578, + "igrate": 35579, + "(score": 35580, + "Keyword": 35581, + "\"os": 35582, + "ĠĠĠĠĉĊ": 35583, + "analysis": 35584, + "Ġreplay": 35585, + ".pass": 35586, + "\\d": 35587, + "tls": 35588, + "Ġsanct": 35589, + ".light": 35590, + "_mobile": 35591, + "ÑģÑĤÑĮ": 35592, + "ĉtotal": 35593, + "uity": 35594, + "Ġpaused": 35595, + "NAS": 35596, + "Ġencore": 35597, + "loe": 35598, + "Ġ-*-ĊĊ": 35599, + ".high": 35600, + "ampler": 35601, + "ĠSecure": 35602, + "Ġfragments": 35603, + "_vel": 35604, + "illary": 35605, + "ĠStein": 35606, + "ĠDawn": 35607, + "Ġmaximize": 35608, + "ย": 35609, + "Ġ/^": 35610, + "Ġcontinually": 35611, + "Ġshadows": 35612, + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 35613, + "ĠIActionResult": 35614, + "Ġinformación": 35615, + "CHECK": 35616, + ".SelectedItem": 35617, + "bundle": 35618, + "olley": 35619, + "<": 35781, + "Ġtrajectory": 35782, + "_ring": 35783, + "Ġhydrogen": 35784, + "tron": 35785, + "Ġstatute": 35786, + "Ġconditional": 35787, + "Ġtray": 35788, + "-school": 35789, + "(widget": 35790, + "$config": 35791, + "Ġrequesting": 35792, + ".uint": 35793, + "eton": 35794, + "brities": 35795, + "OfType": 35796, + "ADMIN": 35797, + "predict": 35798, + "Ġgegen": 35799, + "ĠHapp": 35800, + "OCUMENT": 35801, + "ĠApart": 35802, + "Ġ-----": 35803, + "roe": 35804, + "uide": 35805, + "justify": 35806, + "ĠSquad": 35807, + "Ġprofes": 35808, + ".bot": 35809, + "_currency": 35810, + "innen": 35811, + "ĠMumbai": 35812, + "ĠNumbers": 35813, + "avanaugh": 35814, + "agnitude": 35815, + "âĢľThere": 35816, + "=http": 35817, + "çīĩ": 35818, + "Ġvb": 35819, + "+'{{$": 35902, + "Ġinode": 35903, + "sil": 35904, + "Ġhace": 35905, + "Ġseverely": 35906, + "ĠOverview": 35907, + "Ġspraw": 35908, + "Ġbeaches": 35909, + ":left": 35910, + "·»": 35911, + "(${": 35912, + "ĠFIRST": 35913, + "ĠSpa": 35914, + "-ass": 35915, + "Ġbaise": 35916, + "ĠNODE": 35917, + "ĠPizza": 35918, + "Pet": 35919, + "(seq": 35920, + "\\\">Ċ": 35921, + "CppMethodPointer": 35922, + "Ġvp": 35923, + "Ġia": 35924, + "_seconds": 35925, + "emet": 35926, + "/blob": 35927, + "_THRESH": 35928, + "...čĊ": 35929, + "Dest": 35930, + "ĠNH": 35931, + ".dataSource": 35932, + "ités": 35933, + "ĠJak": 35934, + "sell": 35935, + "Ġworkshops": 35936, + "\",Ċ": 36552, + "_Pin": 36553, + "uese": 36554, + "Ġoverrides": 36555, + "_ready": 36556, + "Advanced": 36557, + "Ġopi": 36558, + "-cart": 36559, + "(\"/\",": 36560, + "ĠDeb": 36561, + "CRY": 36562, + "ĠVertical": 36563, + "ĠOVER": 36564, + "ĠCorporate": 36565, + "Ġ\"\";": 36566, + "Ġstepping": 36567, + "ej": 36568, + "Ġaccusations": 36569, + "Ġoraz": 36570, + "_tail": 36571, + "Ġinduced": 36572, + "Ġelastic": 36573, + "Ġblown": 36574, + ",//": 36575, + "Ġbackgrounds": 36576, + "âĢĻune": 36577, + "-sdk": 36578, + "ĠsetInterval": 36579, + "Ġincentives": 36580, + "Ġvegetable": 36581, + "_On": 36582, + "expanded": 36583, + "pix": 36584, + "_shader": 36585, + "ĠSPDX": 36586, + "@example": 36587, + "ĠWrapper": 36588, + ".Zero": 36589, + "Positive": 36590, + "Ġspinner": 36591, + "Ġinvented": 36592, + "ĠGates": 36593, + "оÑĤоÑĢ": 36594, + "Ġcomparisons": 36595, + "è·": 36596, + ".primary": 36597, + "dataProvider": 36598, + "additional": 36599, + "ĉoptions": 36600, + "snapshot": 36601, + ".setHorizontal": 36602, + "Ġ\"{}": 36603, + "ĠFisher": 36604, + "halten": 36605, + "": 36638, + "ĠRegistered": 36639, + "INED": 36640, + "kal": 36641, + "parison": 36642, + "Ġobjeto": 36643, + "Vi": 36644, + "manda": 36645, + "Ġrenewed": 36646, + "ĠSof": 36647, + "essel": 36648, + ".ndarray": 36649, + "Ġcrap": 36650, + "管": 36651, + ".abspath": 36652, + "(up": 36653, + "Ġclearance": 36654, + "ĠTW": 36655, + "_COPY": 36656, + "ĠĠĠĠĠĠĠĠĠĠĠĠĉ": 36657, + "Ġforests": 36658, + "Ġarguably": 36659, + "ĠASS": 36660, + "hey": 36661, + "amel": 36662, + "_fore": 36663, + "ĠSoutheast": 36664, + "Ġabused": 36665, + "Ġpracticing": 36666, + "akedirs": 36667, + "主": 36668, + "_resources": 36669, + "Ġpond": 36670, + ".Fixed": 36671, + "LastError": 36672, + "ĠPsychology": 36673, + "Ġ\"//": 36674, + "!:": 36675, + "Reusable": 36676, + "Ġmensaje": 36677, + "Ġrospy": 36678, + "Ġbour": 36679, + "Ġvarieties": 36680, + "Ġempath": 36681, + "(({": 36682, + "_org": 36683, + "ĠMes": 36684, + "ĠMagento": 36685, + "ISTORY": 36686, + "Unless": 36687, + "Ġhj": 36688, + "ĠDuty": 36689, + "Jun": 36690, + ",size": 36691, + "Ġpaintings": 36692, + "Ġdispens": 36693, + "dart": 36694, + "Ġbehavioral": 36695, + "Ġrpc": 36696, + "calculate": 36697, + "fruit": 36698, + "_mm": 36699, + "ĉpthread": 36700, + "MaxLength": 36701, + "Ġcurrencies": 36702, + "_capacity": 36703, + "ĠOz": 36704, + "Ġfirearm": 36705, + "Ġcoefficient": 36706, + "Ġbankruptcy": 36707, + "wart": 36708, + "Ġfatigue": 36709, + "AVA": 36710, + "Ġespa": 36711, + "_pc": 36712, + "ĠQuotes": 36713, + "_LIGHT": 36714, + "ĠTickets": 36715, + "Ġrelates": 36716, + "Ġpublishers": 36717, + "Ġunlocked": 36718, + "Ġ//----------------------------------------------------------------": 36719, + "ĠInterruptedException": 36720, + "Ġoutlook": 36721, + "rn": 36722, + "Ġrebels": 36723, + "Written": 36724, + "Ġasian": 36725, + "otto": 36726, + "Ġĉĉĉĉ": 36727, + "_gpu": 36728, + "Txt": 36729, + ".ImageView": 36730, + "Ġsuis": 36731, + "_tables": 36732, + ".RecyclerView": 36733, + "Ġwhatsoever": 36734, + "èģ": 36735, + "]++;Ċ": 36736, + "assertTrue": 36737, + "_verify": 36738, + "ĠRivers": 36739, + "Ġ][": 36740, + "Jet": 36741, + "idian": 36742, + "Sibling": 36743, + "Ġgenres": 36744, + ".Access": 36745, + "OPS": 36746, + "Ġtrivial": 36747, + "ส": 36748, + "alen": 36749, + "вед": 36750, + "ĠSword": 36751, + "Ġscrutiny": 36752, + "(cb": 36753, + "Ġcommerce": 36754, + "Ġguarantees": 36755, + "_adv": 36756, + "ĠLET": 36757, + "recio": 36758, + "Ġhilar": 36759, + "Ġbackyard": 36760, + "ãĢı": 36761, + "Ġillustrated": 36762, + "/vendor": 36763, + ".Util": 36764, + "Ġwow": 36765, + "LOY": 36766, + "ĠMarshal": 36767, + "\">'.$": 36768, + "ĠBak": 36769, + "Ġmodifiers": 36770, + "dictionary": 36771, + "ĠStre": 36772, + "multiple": 36773, + "\")),": 36774, + "ĠCort": 36775, + "']\").": 36776, + "(admin": 36777, + "ĠCreator": 36778, + "Internet": 36779, + "(ms": 36780, + "logy": 36781, + "DECLARE": 36782, + "ĠMarcus": 36783, + "<<<<": 36784, + "ãģł": 36785, + "_my": 36786, + "(inst": 36787, + "Ġsciences": 36788, + "NDER": 36789, + ".enter": 36790, + "Ġitu": 36791, + "Ġbehave": 36792, + "Pan": 36793, + "ombies": 36794, + "='<": 36795, + "'));čĊ": 36796, + "ĠMENU": 36797, + "ĠWorkers": 36798, + ".NoError": 36799, + "Ġbindings": 36800, + "Ġdisabilities": 36801, + "{\\": 36802, + "ĠMunicip": 36803, + "Ġcores": 36804, + "urple": 36805, + "ĠNokia": 36806, + "usions": 36807, + "ĠFitness": 36808, + ".handleChange": 36809, + "Ġjavascript": 36810, + "ìļĶ": 36811, + "(dec": 36812, + "Ġpacking": 36813, + "-depend": 36814, + "Ġtranscript": 36815, + "zeros": 36816, + "_alert": 36817, + "?\",Ċ": 36818, + "libs": 36819, + "±Ð¾ÑĤ": 36820, + "Ġ|ĊĊ": 36821, + "trained": 36822, + "ĠGent": 36823, + "ĠRab": 36824, + "xp": 36825, + "_configuration": 36826, + "天": 36827, + "_accept": 36828, + ".recyclerview": 36829, + ":url": 36830, + "ĠMuhammad": 36831, + "Ġprivileges": 36832, + "_bank": 36833, + "uku": 36834, + "wallet": 36835, + "ĠROOT": 36836, + "Ġencuent": 36837, + "?family": 36838, + "ĉposition": 36839, + "Ġcg": 36840, + "Ġprecip": 36841, + "methods": 36842, + "_fast": 36843, + "increment": 36844, + "ĠTiger": 36845, + "_OCCURRED": 36846, + "quip": 36847, + "ĠHAS": 36848, + "_dom": 36849, + "Ġwreck": 36850, + "bj": 36851, + "Ġdern": 36852, + "Ġorgans": 36853, + ".entries": 36854, + "Ġ_('": 36855, + "ramento": 36856, + "ĠJamie": 36857, + "Ġpunk": 36858, + "IPP": 36859, + "Ġprograma": 36860, + "Ġattain": 36861, + "Ġproves": 36862, + "/sign": 36863, + "Ġanswering": 36864, + "Ġladder": 36865, + "****************************": 36866, + "ĠWalmart": 36867, + "ĠCONTENT": 36868, + "ductor": 36869, + "Ġverbal": 36870, + "ĠPID": 36871, + "crypto": 36872, + "_CALLBACK": 36873, + "Ġ=================================": 36874, + "Ġpotent": 36875, + "Ġshorts": 36876, + ".Uri": 36877, + ".uniform": 36878, + ";border": 36879, + "ĠWer": 36880, + "Ġherein": 36881, + "lla": 36882, + "ĠIhr": 36883, + "Pixmap": 36884, + "literal": 36885, + "!)ĊĊ": 36886, + "generic": 36887, + "rust": 36888, + "_scripts": 36889, + "osto": 36890, + "itus": 36891, + "ĠCoalition": 36892, + "Ġremot": 36893, + "deploy": 36894, + "ĠEagle": 36895, + "ãĢģãĢĮ": 36896, + "Ġimportante": 36897, + "ĉobject": 36898, + "Ġseasonal": 36899, + "nej": 36900, + "aidu": 36901, + "BindView": 36902, + "ĠSierra": 36903, + "-bg": 36904, + "ĠmakeStyles": 36905, + "[offset": 36906, + "Games": 36907, + "Ġhormone": 36908, + "ARIO": 36909, + "heads": 36910, + "(select": 36911, + "ĠStarted": 36912, + "@param": 36913, + "_decl": 36914, + "_blog": 36915, + "Ġaño": 36916, + "\\Api": 36917, + "ĠMilwaukee": 36918, + "Provid": 36919, + "Animated": 36920, + "Ġcooler": 36921, + "ĠSeed": 36922, + ".Edit": 36923, + "ÏĦ": 36924, + "ĠTaking": 36925, + "ĠborderColor": 36926, + "-founder": 36927, + ".LoggerFactory": 36928, + "Ġ\"\"ĊĊ": 36929, + "ALT": 36930, + "ĠLate": 36931, + "EDIATE": 36932, + "Ġ);ĊĊĊ": 36933, + "afa": 36934, + "Ġcancellation": 36935, + "Atom": 36936, + "ĠBirmingham": 36937, + "empresa": 36938, + "HEMA": 36939, + "ascal": 36940, + "Ġupside": 36941, + ".Version": 36942, + "ĠFolder": 36943, + "ĠEight": 36944, + "ĠVintage": 36945, + "ĠAppDelegate": 36946, + "ĠPrevention": 36947, + ".separator": 36948, + "STM": 36949, + "(room": 36950, + "generator": 36951, + "Ġcattle": 36952, + "ĉZ": 36953, + "ĠParticle": 36954, + "'};Ċ": 36955, + "Ġneighbours": 36956, + "ĠStateless": 36957, + "Ġaltitude": 36958, + "Ġsaint": 36959, + "обав": 36960, + "Ġconvinc": 36961, + "ĠContents": 36962, + "Ġjeune": 36963, + "(ts": 36964, + "Serialization": 36965, + "(collection": 36966, + "ĠJazz": 36967, + "ĠDod": 36968, + "ĠRoch": 36969, + "acio": 36970, + "commended": 36971, + "DEFINE": 36972, + ".onload": 36973, + "Ġspecialty": 36974, + "PLACE": 36975, + "_MOVE": 36976, + "Ġaccountable": 36977, + "Reuters": 36978, + "Ġficken": 36979, + "Ġdepr": 36980, + "Wow": 36981, + "Void": 36982, + ".space": 36983, + "à¸Ĺ": 36984, + "Ġtq": 36985, + "ĠPets": 36986, + "<$": 36987, + "(Current": 36988, + "berries": 36989, + "planation": 36990, + "ĠlistOf": 36991, + "ĠThu": 36992, + "ĠPRINT": 36993, + "Ġmismo": 36994, + "Ġdoi": 36995, + "chk": 36996, + "ĠUnicode": 36997, + "(role": 36998, + "Ġvirgin": 36999, + "-->Ċ": 37460, + "Vol": 37461, + "ĠSSD": 37462, + "))),": 37463, + ".Optional": 37464, + "Ġnurses": 37465, + "Ġorb": 37466, + "_pe": 37467, + ");čĊčĊčĊ": 37468, + "placed": 37469, + "esser": 37470, + "Ġtherapeutic": 37471, + "Ġwhitespace": 37472, + "Ġaston": 37473, + "Successful": 37474, + "Ġpraised": 37475, + "ĠWes": 37476, + "Ġeighth": 37477, + "iral": 37478, + "Ġvrouw": 37479, + "Ġfaction": 37480, + "_bias": 37481, + "Ġwitch": 37482, + "Ġnpc": 37483, + "(sb": 37484, + "ĠRodrig": 37485, + "_big": 37486, + "Dependency": 37487, + "ĠAbraham": 37488, + "ardi": 37489, + "CAR": 37490, + "nos": 37491, + "Ġabundance": 37492, + "Ġnutrients": 37493, + "instein": 37494, + ".Vert": 37495, + "ĠISS": 37496, + "D": 37595, + "Ġservlet": 37596, + "bastian": 37597, + "Ġ>&": 37598, + "SID": 37599, + "_clk": 37600, + "Ġdivisions": 37601, + "}',Ċ": 37602, + "Ġdildo": 37603, + "Ġparade": 37604, + "major": 37605, + "Ġaboard": 37606, + ";++": 37607, + "Ġfusion": 37608, + "\"},{\"": 37609, + "ĠDialogResult": 37610, + "ĉarr": 37611, + "-em": 37612, + "_nr": 37613, + "(handler": 37614, + ".NET": 37615, + ".XtraReports": 37616, + "ĠShah": 37617, + "ĠBrief": 37618, + "-,": 37619, + "Ġprecio": 37620, + "ĉĉĉĠĠĠĠĠĠ": 37621, + "Ġtant": 37622, + "ĠGrande": 37623, + "/xml": 37624, + "_ICON": 37625, + "ĠRetro": 37626, + "unque": 37627, + "Ġnag": 37628, + "toFixed": 37629, + "XL": 37630, + "Ġdeclaring": 37631, + "ĠConcrete": 37632, + "ĠAmazing": 37633, + "ĉprintk": 37634, + "Ġdebates": 37635, + "DATED": 37636, + "Ġaesthetic": 37637, + "emetery": 37638, + "RoutingModule": 37639, + "ĠNashville": 37640, + "WAYS": 37641, + "Ġwolf": 37642, + "Ġobservers": 37643, + "OTA": 37644, + "anson": 37645, + "Ġea": 37646, + "Ġgreenhouse": 37647, + "ĵįä½ľ": 37648, + "Ġstair": 37649, + "Ġimmigrant": 37650, + "_apply": 37651, + "peare": 37652, + "ĠBloomberg": 37653, + "_PLAYER": 37654, + "Resp": 37655, + "æŃ£": 37656, + "Chooser": 37657, + "ĠICollection": 37658, + "Peter": 37659, + "Erro": 37660, + ".detectChanges": 37661, + "Maps": 37662, + "Ġsqueeze": 37663, + "ĠHomes": 37664, + "wegian": 37665, + "Ġformatting": 37666, + "Ġnegotiate": 37667, + "uld": 37668, + "ĠNep": 37669, + "ĠQB": 37670, + "Ġeconomies": 37671, + "Ġ*/,": 37672, + "Ġredund": 37673, + "ĠAber": 37674, + ".IsNullOrWhiteSpace": 37675, + "ycled": 37676, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 37677, + "_Sh": 37678, + "Ġskept": 37679, + "Ġrecreated": 37680, + "ĠgetType": 37681, + "Ġmargins": 37682, + "Ġcolonial": 37683, + "charts": 37684, + "//@": 37685, + "Ġprocessors": 37686, + "说": 37687, + "batis": 37688, + "æĦı": 37689, + "atorio": 37690, + "mentioned": 37691, + "Patient": 37692, + "Ġprey": 37693, + "Checkbox": 37694, + "_xpath": 37695, + ".skip": 37696, + "ĠMormon": 37697, + "ĠMemoryStream": 37698, + "CREMENT": 37699, + "Ġku": 37700, + "meld": 37701, + "\\Data": 37702, + "ĠKernel": 37703, + "iltr": 37704, + "éĢģ": 37705, + "(profile": 37706, + "Carbon": 37707, + "ROLE": 37708, + "(pl": 37709, + "]*(": 37710, + ".memory": 37711, + "Ġmedal": 37712, + "Ġadvisor": 37713, + "ität": 37714, + "Ġhdr": 37715, + "ierung": 37716, + "ĠProvides": 37717, + "(alpha": 37718, + "Ġteenagers": 37719, + "-parser": 37720, + ".LatLng": 37721, + "]()Ċ": 37722, + "Ġfelony": 37723, + "ĉĉĉĊĉĉĉĊ": 37724, + "BOOK": 37725, + "Ġslash": 37726, + "Ġclearfix": 37727, + "ĠProphet": 37728, + "容": 37729, + "rightness": 37730, + "-fi": 37731, + ".kind": 37732, + "erton": 37733, + "Jim": 37734, + "Ġmanipulate": 37735, + "Ġworksheet": 37736, + "olin": 37737, + "stars": 37738, + "Ġartifact": 37739, + "_EMPTY": 37740, + "ĉmain": 37741, + "-------------';": 37809, + "Ġexpressing": 37810, + "ĠIQ": 37811, + "ĠFact": 37812, + "/*******************************************************************************Ċ": 37813, + "_mass": 37814, + ")):": 37815, + "Ġcondom": 37816, + "ĠcreateState": 37817, + "ometown": 37818, + "Ġirr": 37819, + "Ġ>(": 37820, + ">B": 37821, + "iteration": 37822, + "ãĥª": 37823, + "Ġshirts": 37824, + "ounty": 37825, + "->$": 37826, + "_SIGN": 37827, + "ĠDale": 37828, + "Ġjj": 37829, + "Easy": 37830, + "Fre": 37831, + "ĠNy": 37832, + "Ġchlor": 37833, + "matched": 37834, + "ĠGerm": 37835, + "-UA": 37836, + "ĠNathan": 37837, + "education": 37838, + "-yard": 37839, + "-che": 37840, + "houses": 37841, + "ritional": 37842, + "Ġproximity": 37843, + "Ġdiesem": 37844, + "áºŃp": 37845, + "Ġdrought": 37846, + ".audio": 37847, + "ĠLeo": 37848, + "Ġfavorable": 37849, + "inch": 37850, + "ĠDaw": 37851, + "ribly": 37852, + "_student": 37853, + "idable": 37854, + "OVE": 37855, + "Ġlacks": 37856, + "ouncing": 37857, + ".business": 37858, + "Ġreopen": 37859, + "maybe": 37860, + "_GLOBAL": 37861, + "Ġdresses": 37862, + "ĠEdwards": 37863, + "ensible": 37864, + "ĠHardware": 37865, + "ĠExcellent": 37866, + "ĠTimeUnit": 37867, + "CTIONS": 37868, + "Ġschedules": 37869, + "Ġsegue": 37870, + "Opens": 37871, + "ammen": 37872, + "-Identifier": 37873, + "Ġstaring": 37874, + "Ġhappily": 37875, + "ĠHob": 37876, + "'_": 37877, + "Ġ\");": 37878, + "amentos": 37879, + "etched": 37880, + "Ġ/>}Ċ": 37881, + ".Users": 37882, + "Ġinterrupted": 37883, + "Contacts": 37884, + "Ġregistro": 37885, + "inburgh": 37886, + "CHA": 37887, + "_imp": 37888, + "phis": 37889, + "say": 37890, + "Ġretailer": 37891, + ".NODE": 37892, + "/maps": 37893, + "_LAST": 37894, + "ĠCharge": 37895, + "_guard": 37896, + "Collider": 37897, + "ĠStatelessWidget": 37898, + "\":[\"": 37899, + "(\"../../": 37900, + "ioxide": 37901, + "ĠSund": 37902, + "Ġ'';": 37903, + "unset": 37904, + "addWidget": 37905, + "лÑİ": 37906, + "elles": 37907, + "alker": 37908, + "Arc": 37909, + "Ġdeduct": 37910, + "GUILayout": 37911, + "ĠVilla": 37912, + "Ġforbidden": 37913, + "_where": 37914, + "Ġ\\/": 37915, + "ĠTib": 37916, + "_AX": 37917, + "]čĊčĊ": 37918, + "ĠBir": 37919, + "Ġbend": 37920, + "ĠMAKE": 37921, + "ĠMET": 37922, + "Ġfutures": 37923, + "Ġweighted": 37924, + "\"\"\"čĊ": 37925, + "Ġauthorize": 37926, + "(program": 37927, + "},{\"": 37928, + "Ġcoefficients": 37929, + "ês": 37930, + "PerPage": 37931, + "ĠBathroom": 37932, + "ĠPublishing": 37933, + "GPL": 37934, + "Ġsubmissions": 37935, + "ĠNUMBER": 37936, + "jÄħ": 37937, + "Ġadditionally": 37938, + "empre": 37939, + "ĠShel": 37940, + "otyp": 37941, + "Solution": 37942, + "Ġthunder": 37943, + "_ec": 37944, + "ĠĊĠĠĠĠĊ": 37945, + "ĠFellow": 37946, + "Ġkay": 37947, + "ĠnewState": 37948, + "ONTAL": 37949, + "Implementation": 37950, + ".Look": 37951, + "Ġents": 37952, + "Ġlors": 37953, + "ĠBIG": 37954, + "fab": 37955, + "Ġaveraged": 37956, + "ĠFeedback": 37957, + "ĠWells": 37958, + "Ġmartial": 37959, + "Ġindul": 37960, + "ĠCommunist": 37961, + "ĠForex": 37962, + "ĠAgriculture": 37963, + "\"[": 37964, + "Ġquar": 37965, + "ĠKont": 37966, + "ĉview": 37967, + ".Bytes": 37968, + "desktop": 37969, + "ĠMakes": 37970, + "akespeare": 37971, + ".Nullable": 37972, + "Ġspotlight": 37973, + "VB": 37974, + "owy": 37975, + "(torch": 37976, + "tridge": 37977, + "_bounds": 37978, + "Ġapologize": 37979, + ".addItem": 37980, + "antd": 37981, + "*);Ċ": 37982, + ",u": 37983, + "(gen": 37984, + "ç»ĵ": 37985, + "reator": 37986, + "ĠCord": 37987, + "oupper": 37988, + ".metro": 37989, + "Ġew": 37990, + "ĠWORD": 37991, + ".After": 37992, + "Ġdetained": 37993, + "ĠHammer": 37994, + "existing": 37995, + "Ġost": 37996, + "Ġmonument": 37997, + "-custom": 37998, + "UserID": 37999, + "ĠNom": 38000, + "Ġrejection": 38001, + "(dim": 38002, + "Ġsingleton": 38003, + "ĉdie": 38004, + "ariance": 38005, + "reports": 38006, + "]!=": 38007, + "elda": 38008, + "Ġprevalence": 38009, + "_regs": 38010, + ".\".": 38011, + "Ġfeminist": 38012, + "Codec": 38013, + "Ġ**Ċ": 38014, + "(labels": 38015, + "_MARK": 38016, + "FAILED": 38017, + "Ġadministered": 38018, + "WN": 38019, + "ĠĠĠĠĠĠĠĠĉĉ": 38020, + "Ġnoun": 38021, + "wig": 38022, + "Ġgotta": 38023, + "Ġrif": 38024, + "-im": 38025, + "ĠPaulo": 38026, + "ĠCommandType": 38027, + "]))ĊĊ": 38028, + "-zero": 38029, + "Training": 38030, + "Ġlord": 38031, + "_art": 38032, + "reddit": 38033, + "Cert": 38034, + "Ġpeso": 38035, + "Rot": 38036, + "Ġendanger": 38037, + ".dr": 38038, + "userInfo": 38039, + "unts": 38040, + "nv": 38041, + "ĠTrailer": 38042, + "-first": 38043, + "(make": 38044, + "Ġbenefici": 38045, + "-black": 38046, + "iÃŁ": 38047, + "Ġundoubtedly": 38048, + "Ġmex": 38049, + "ĠAncient": 38050, + "(as": 38051, + "Ġdescent": 38052, + "Pick": 38053, + "Ġreplica": 38054, + "$obj": 38055, + "ähr": 38056, + "Ġarrows": 38057, + "fty": 38058, + "ĠLibya": 38059, + "uga": 38060, + "charged": 38061, + "Tur": 38062, + "Ġhomic": 38063, + "issen": 38064, + "ĠFake": 38065, + "Ġbeers": 38066, + "Ġscattered": 38067, + "(Time": 38068, + "UTIL": 38069, + "Ġbureaucr": 38070, + "/plain": 38071, + "Ġsticking": 38072, + "FAIL": 38073, + "ĠCovid": 38074, + "Third": 38075, + "_present": 38076, + "ĠPierre": 38077, + "Ġëª": 38078, + "Ġ[...]ĊĊ": 38079, + "Prob": 38080, + "ĠTraffic": 38081, + "icao": 38082, + "doctor": 38083, + "Ġ),ĊĊ": 38084, + "Tabs": 38085, + "alu": 38086, + "ï¼ļâĢľ": 38087, + "Ġinherent": 38088, + "_No": 38089, + "ritis": 38090, + "ĠProof": 38091, + ".basename": 38092, + "ä¼ļ": 38093, + "Ġchim": 38094, + "ĠProtected": 38095, + "crit": 38096, + "Ġprone": 38097, + "Ġкон": 38098, + "ĠHeroes": 38099, + "Ġanxious": 38100, + "Ġanos": 38101, + "Ġweekends": 38102, + "Ġsext": 38103, + "Ġreducer": 38104, + "=UTF": 38105, + "half": 38106, + "ĠSaw": 38107, + ".mm": 38108, + "Ġnueva": 38109, + ".currentTarget": 38110, + ".lua": 38111, + "_EXTENSION": 38112, + "ĉreg": 38113, + "ĠCtrl": 38114, + "_align": 38115, + "acceptable": 38116, + "Ġrushing": 38117, + "frac": 38118, + "Ġboasts": 38119, + "Five": 38120, + "±": 38121, + "ĠTemperature": 38122, + ">):": 38123, + "Ġcharter": 38124, + "REATED": 38125, + "Ġsubjected": 38126, + "Ġopc": 38127, + "healthy": 38128, + "使ç͍": 38129, + "ĠScientific": 38130, + "Ġfrau": 38131, + "riages": 38132, + "à¸Ķ": 38133, + ".inventory": 38134, + "ationale": 38135, + "Mad": 38136, + "minutes": 38137, + ">>();Ċ": 38138, + "ĠEnv": 38139, + "Ġrecordings": 38140, + "Ġsuspicion": 38141, + "sqlite": 38142, + "ĉread": 38143, + "ãģ¦": 38144, + "Ġworries": 38145, + ".putString": 38146, + "ĠShanghai": 38147, + "(uid": 38148, + "rer": 38149, + "ĠvÃŃde": 38150, + "\"):": 38151, + "Ġmethodology": 38152, + "ĠкоÑĤоÑĢ": 38153, + "ccc": 38154, + "avad": 38155, + "Ġinduction": 38156, + "ĉThread": 38157, + ",string": 38158, + "ại": 38159, + "nehmen": 38160, + "uition": 38161, + "Ġ*__": 38162, + ".emf": 38163, + "Ġìľ": 38164, + "/themes": 38165, + "ĠNine": 38166, + ".One": 38167, + "ĠEmbed": 38168, + "Ġfaz": 38169, + "uations": 38170, + "Ġprivately": 38171, + "Ġling": 38172, + "[F": 38173, + "ushi": 38174, + "Ġlaunches": 38175, + "(KEY": 38176, + "GMT": 38177, + "Ġaiming": 38178, + "patible": 38179, + "ĠBiden": 38180, + "iw": 38181, + "ĠDegree": 38182, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 38183, + "Ġ$('<": 38184, + "ários": 38185, + "toUpperCase": 38186, + "ìłľ": 38187, + "ĠEUR": 38188, + "Ġoversight": 38189, + "Ġtablesp": 38190, + "Updates": 38191, + ".makedirs": 38192, + "Ġhumidity": 38193, + "/template": 38194, + "Always": 38195, + "(IS": 38196, + "_cert": 38197, + "Dig": 38198, + "Ġunderway": 38199, + "orton": 38200, + "ĠHurricane": 38201, + "Ġspends": 38202, + "ĠSegment": 38203, + "Ġflies": 38204, + "ĠToggle": 38205, + "ĠLynch": 38206, + "Ġsenses": 38207, + "ĠKos": 38208, + "setEnabled": 38209, + "istically": 38210, + "Ġtester": 38211, + "Ġadministrators": 38212, + "Ġtagged": 38213, + "Ðĵ": 38214, + "Ġshortcut": 38215, + "ĠResolution": 38216, + "Ġsupervision": 38217, + "ĠAshley": 38218, + "Tracking": 38219, + "ulatory": 38220, + "andel": 38221, + "isten": 38222, + "Ġunre": 38223, + "(diff": 38224, + "ANTS": 38225, + "Ġrider": 38226, + "ĠsÄħ": 38227, + ".Series": 38228, + "_orders": 38229, + "ORIZONTAL": 38230, + "Ġretention": 38231, + "ãĢĤčĊčĊ": 38335, + "Ġdiagonal": 38336, + "ĠCancellationToken": 38337, + "_Internal": 38338, + "Ġruin": 38339, + ".Qt": 38340, + "ocratic": 38341, + "Tel": 38342, + "ĠAnswers": 38343, + "matic": 38344, + "Ġxp": 38345, + "atem": 38346, + "_jobs": 38347, + "_any": 38348, + "Ġseniors": 38349, + "Ġlandmark": 38350, + "ĠQList": 38351, + "Ġmaneu": 38352, + "otify": 38353, + "/\";Ċ": 38354, + "/server": 38355, + "ĠPhilosoph": 38356, + "utenant": 38357, + "(io": 38358, + "hz": 38359, + "Ġauthenticated": 38360, + "dv": 38361, + "-Compatible": 38362, + "Originally": 38363, + ",function": 38364, + "ãĢĤčĊ": 38365, + "ĠRepresentative": 38366, + "asily": 38367, + "ircuit": 38368, + ".dt": 38369, + "(math": 38370, + ".Marshal": 38371, + "[,": 38372, + "ĠCities": 38373, + "_turn": 38374, + "|)Ċ": 38375, + "Ġcantidad": 38376, + "alter": 38377, + "ĉui": 38378, + "ĠNebraska": 38379, + "Ġskirt": 38380, + ".bg": 38381, + "SharedPreferences": 38382, + "(style": 38383, + "Ġgrief": 38384, + "gew": 38385, + "Ġsafeg": 38386, + "olang": 38387, + "_lists": 38388, + "ìĽ": 38389, + "Ġgranite": 38390, + "Ġhottest": 38391, + ".jdbc": 38392, + ".Customer": 38393, + "Ġâī¤": 38394, + "Ġwaar": 38395, + "_scene": 38396, + "+'/": 38397, + "ĠJTextField": 38398, + "Ġseating": 38399, + "Ġwears": 38400, + "Ġ`/": 38401, + "Cases": 38402, + "ĠYoutube": 38403, + "ım": 38404, + "Ġbalcon": 38405, + ",G": 38406, + "MetaData": 38407, + "-price": 38408, + "SCR": 38409, + "Unity": 38410, + "Ġtrunk": 38411, + "={`${": 38412, + "Ġearthquake": 38413, + "Partial": 38414, + "Ġsubst": 38415, + "Ġelimin": 38416, + "=\"'.": 38417, + "//*[@": 38418, + "Ġsupervisor": 38419, + "vrolet": 38420, + "_article": 38421, + "Ġpane": 38422, + "bio": 38423, + "Ġmotors": 38424, + "NM": 38425, + "Frank": 38426, + "Ġonion": 38427, + "-word": 38428, + "ItemClickListener": 38429, + "Ġbrit": 38430, + "endencies": 38431, + "Computer": 38432, + "_running": 38433, + "(day": 38434, + "-he": 38435, + "(named": 38436, + "ĠSach": 38437, + "оÑĩ": 38438, + "campaign": 38439, + ".Abstract": 38440, + "(wrapper": 38441, + ".pay": 38442, + "Ġuw": 38443, + "Geo": 38444, + "rails": 38445, + "/select": 38446, + "ichte": 38447, + "sons": 38448, + "EVENT": 38449, + "Ġaliment": 38450, + "Providers": 38451, + "Await": 38452, + "_INTERVAL": 38453, + ".off": 38454, + "Ġgluten": 38455, + "_cloud": 38456, + "Ġwen": 38457, + ".extract": 38458, + "ĉbutton": 38459, + "/MM": 38460, + "Party": 38461, + "Ġdemographic": 38462, + "_errno": 38463, + "Ġhiking": 38464, + "('')Ċ": 38465, + "\",@\"": 38466, + "Ġwit": 38467, + "rá": 38468, + "ologie": 38469, + "ĠStyles": 38470, + "ĠBrowserModule": 38471, + ".RequestMapping": 38472, + "icans": 38473, + "PAGE": 38474, + "creation": 38475, + "ĠFerguson": 38476, + "uded": 38477, + "numbers": 38478, + "ĠGTK": 38479, + "Ġpresentations": 38480, + "ĠBobby": 38481, + "_span": 38482, + "estyle": 38483, + "Ġillegally": 38484, + "abela": 38485, + "Ġbattlefield": 38486, + "capacity": 38487, + "terror": 38488, + "]\");Ċ": 38489, + "Ġwarrior": 38490, + "leader": 38491, + "ĠDBG": 38492, + "ĠRevenue": 38493, + "Ġvigil": 38494, + "Ġcounterparts": 38495, + "(Error": 38496, + "ACTER": 38497, + "Ġheeft": 38498, + "Ġselections": 38499, + "zeug": 38500, + "tom": 38501, + "-two": 38502, + ".;Ċ": 38503, + "_statement": 38504, + "ĠAid": 38505, + "ĠVul": 38506, + "_rgb": 38507, + "Ġprizes": 38508, + "Ġeditable": 38509, + "ĉform": 38510, + "ını": 38511, + ".decor": 38512, + "Demo": 38513, + "lices": 38514, + "Ġenctype": 38515, + "ratulations": 38516, + "ĠROS": 38517, + "_chars": 38518, + "ĠJahr": 38519, + "partial": 38520, + "ÑĥÑĤ": 38521, + "ĠReceive": 38522, + "ĠLands": 38523, + "APTER": 38524, + "Ġchopped": 38525, + "..\"": 38526, + "ĠAnaly": 38527, + "ĠUID": 38528, + "ĠRadeon": 38529, + "ĠBee": 38530, + "Ġunm": 38531, + ">M": 38532, + ".findall": 38533, + "Tokenizer": 38534, + "ĠWHAT": 38535, + "Ġsj": 38536, + "Drawing": 38537, + "Ess": 38538, + "OND": 38539, + "Ĭ¶": 38540, + "(packet": 38541, + "âĢĶbut": 38542, + "Invocation": 38543, + "ĠNuclear": 38544, + "?;Ċ": 38545, + "Ġgrandes": 38546, + "ĠCrypt": 38547, + "remark": 38548, + "Ġ'../../../../": 38549, + "Ġinability": 38550, + "magic": 38551, + "cats": 38552, + "Ġsimulate": 38553, + ":${": 38554, + "inflate": 38555, + "Ġener": 38556, + ":NO": 38557, + "iples": 38558, + "Ġmerit": 38559, + "ĠRated": 38560, + "Ġglue": 38561, + "/blog": 38562, + "Ġgren": 38563, + "Ġthrilled": 38564, + ".CH": 38565, + "uncan": 38566, + "ĠPRIMARY": 38567, + "Ġpersec": 38568, + "Ġfeared": 38569, + ".MIN": 38570, + "ĠTheater": 38571, + "éĴ": 38572, + "ategorie": 38573, + "段": 38574, + "Ġappetite": 38575, + "square": 38576, + "ĠAlexand": 38577, + ".UserId": 38578, + "_gt": 38579, + "_enter": 38580, + "Ġgraduates": 38581, + "FragmentManager": 38582, + "Authorize": 38583, + "-NLS": 38584, + "(My": 38585, + "Ġtriumph": 38586, + "usting": 38587, + "_PARAMS": 38588, + "Characters": 38589, + "(:,:,": 38590, + "_BUILD": 38591, + "MHz": 38592, + "Ġwashed": 38593, + "Ġuncle": 38594, + "Steve": 38595, + "ardown": 38596, + "${": 38780, + "_confirmation": 38781, + "Ġtrophy": 38782, + "Works": 38783, + "ĠElectronics": 38784, + "ĠMediterranean": 38785, + "_metrics": 38786, + "Ġannouncing": 38787, + "ĠDAY": 38788, + "_proto": 38789, + "Ġpear": 38790, + "baseUrl": 38791, + "ĉĉĉĉĉĉĉĉĊ": 38792, + "Ġcoordination": 38793, + ":N": 38794, + ".animate": 38795, + "ĠCotton": 38796, + "_hit": 38797, + "âľ": 38798, + "Ġjetzt": 38799, + "ifter": 38800, + "(fields": 38801, + "ownload": 38802, + "ificacion": 38803, + ".cuda": 38804, + "ĠLiu": 38805, + ">equals": 38806, + "ĠAce": 38807, + "ÑĢам": 38808, + "ĠSuperman": 38809, + "ĠGarcia": 38810, + "Ġarrests": 38811, + "agar": 38812, + "Ġ{})": 38813, + "Ġmacros": 38814, + "roupe": 38815, + "être": 38816, + "Ġtwisted": 38817, + "struments": 38818, + "_(\"": 38819, + "_vertices": 38820, + "ĠTransition": 38821, + "ик": 38822, + "[max": 38823, + "mind": 38824, + "ĠaccessToken": 38825, + "Ġunle": 38826, + "mus": 38827, + "cop": 38828, + "ĠFactor": 38829, + "Ġconced": 38830, + "Ġretr": 38831, + ".linalg": 38832, + "-slider": 38833, + "obl": 38834, + "_StaticFields": 38835, + "Ġzombie": 38836, + "selling": 38837, + "Ġchap": 38838, + "Ġshaking": 38839, + "ĠTranslate": 38840, + "ĠAmsterdam": 38841, + "ĠETH": 38842, + "_EXTERN": 38843, + "kd": 38844, + "_disc": 38845, + "Ġpreceding": 38846, + "Ġprix": 38847, + "ObjectName": 38848, + "_modified": 38849, + "ardware": 38850, + "Ġ?>\">": 38851, + "ĠDW": 38852, + "`${": 38853, + "Ġ?>\">ĊĊ": 38959, + "Ġspinning": 38960, + "_pending": 38961, + "Matchers": 38962, + ".Keys": 38963, + "ĠPV": 38964, + "enus": 38965, + "antis": 38966, + "Ġdiscard": 38967, + "Ġhaul": 38968, + "Ġempir": 38969, + "Ġpathway": 38970, + "Ġoak": 38971, + "мен": 38972, + "-induced": 38973, + "Ġimpair": 38974, + "ĠCalgary": 38975, + ".isHidden": 38976, + "dz": 38977, + "_include": 38978, + "Ġgm": 38979, + "Ġ'('": 38980, + "PY": 38981, + "uggestions": 38982, + "Ġcommodity": 38983, + "cro": 38984, + "/sub": 38985, + "ĠgetInstance": 38986, + "ĠLegacy": 38987, + "ĠKil": 38988, + "Bal": 38989, + "(short": 38990, + "Inform": 38991, + "+x": 38992, + "*r": 38993, + "ĠHopefully": 38994, + "orate": 38995, + "Ġmachen": 38996, + "Ġtreaty": 38997, + "ĠOri": 38998, + ".public": 38999, + "-horizontal": 39000, + "Ġtactic": 39001, + "Ġbord": 39002, + "wares": 39003, + "Ġammo": 39004, + "ĠLists": 39005, + "Ġequations": 39006, + "/her": 39007, + "ĠNSW": 39008, + "Bounding": 39009, + "_Collections": 39010, + "Ġavail": 39011, + ".DropDown": 39012, + "è°": 39013, + "Ġhh": 39014, + "ĠlÃł": 39015, + ".pb": 39016, + "Ġmemorial": 39017, + "ĠATTR": 39018, + "Ġexhausted": 39019, + "Ġtsp": 39020, + "ĉredirect": 39021, + "Ġlikewise": 39022, + "STER": 39023, + "Ljava": 39024, + "Ġcondemned": 39025, + "ocaust": 39026, + "(strict": 39027, + "Ġexempt": 39028, + "Ġsms": 39029, + "Ġexagger": 39030, + "SYS": 39031, + "Ġlounge": 39032, + ":^": 39033, + "Ġtodd": 39034, + "deb": 39035, + "atorial": 39036, + "ĠPorter": 39037, + "Ġtuition": 39038, + "Ġexempl": 39039, + "Ġparen": 39040, + ".lineTo": 39041, + "Ġkidney": 39042, + "Ġça": 39043, + "Ġcui": 39044, + "ï¼Į请": 39045, + "XC": 39046, + "Ġmoż": 39047, + "Ġnominated": 39048, + "lung": 39049, + "ImGui": 39050, + "ĠBuzz": 39051, + "Ġstereo": 39052, + "portal": 39053, + "resas": 39054, + "Ġklass": 39055, + "Ġdrafted": 39056, + "Ġprojectile": 39057, + "/gpl": 39058, + "(parameters": 39059, + "*)Ċ": 39060, + "Ġassisted": 39061, + "ĠNSInteger": 39062, + "sitemap": 39063, + ":nth": 39064, + ".Views": 39065, + ".ArgumentParser": 39066, + "Ġmeer": 39067, + "zier": 39068, + "ĠDig": 39069, + "Ċ": 39136, + "Ġplag": 39137, + "pine": 39138, + "Ġblanket": 39139, + "Ġ:-": 39743, + "Ġlcd": 39744, + "---------------": 39745, + "(\"\"": 39746, + "Ġtactical": 39747, + "ĠRonald": 39748, + "extr": 39749, + "ĠFest": 39750, + "Ġfuer": 39751, + "-navigation": 39752, + "Ġkb": 39753, + "ghost": 39754, + "ĠhandleChange": 39755, + "_cls": 39756, + "()!=": 39757, + "Comparator": 39758, + ".vm": 39759, + "ĠCox": 39760, + "_review": 39761, + "/@": 39762, + "_cookie": 39763, + "Ġrecognised": 39764, + "ldap": 39765, + "Threads": 39766, + "ĠSexual": 39767, + "ĠBearing": 39768, + "(SQL": 39769, + "Ġxr": 39770, + "Ġthigh": 39771, + "URLConnection": 39772, + "ĠSUV": 39773, + "ĠmContext": 39774, + "Ġincidence": 39775, + "ĠEste": 39776, + ".sup": 39777, + "_te": 39778, + "(EXIT": 39779, + "CMD": 39780, + "/\">": 39781, + "Almost": 39782, + "ĠUne": 39783, + "Ġanderen": 39784, + "ĠSingleton": 39785, + "Ġbore": 39786, + "Think": 39787, + "Ġnarc": 39788, + "]initWith": 39789, + "_shop": 39790, + "(strategy": 39791, + "!',": 39792, + "herits": 39793, + "ĠDesk": 39794, + "_machine": 39795, + ".netty": 39796, + "ında": 39797, + "=<": 39798, + "ĠQR": 39799, + "ĠSidebar": 39800, + ".splitContainer": 39801, + "ĠonSuccess": 39802, + "Ġmonkey": 39803, + "Enjoy": 39804, + "(nodes": 39805, + "pectrum": 39806, + "Ġ(*(": 39807, + "ĉUINT": 39808, + ",height": 39809, + "ĠNetworks": 39810, + ".tail": 39811, + ".linspace": 39812, + "Ġ\"...": 39813, + "Listen": 39814, + "Æ¡": 39815, + ".Channel": 39816, + "-defined": 39817, + "Repeat": 39818, + "adjust": 39819, + "ERM": 39820, + "_application": 39821, + ".assertNotNull": 39822, + "-stream": 39823, + "Ġrabbit": 39824, + "Ġpositioning": 39825, + "Ġwoke": 39826, + "Ġfing": 39827, + "Ġmultiplayer": 39828, + "Ġregistering": 39829, + "until": 39830, + "Ã¥n": 39831, + "(::": 39832, + "ussions": 39833, + "Ġpotato": 39834, + "ĠEquals": 39835, + ".Sup": 39836, + "/apache": 39837, + "Ġ(=": 39838, + ".\")": 39839, + ".ptr": 39840, + "ĠSpeech": 39841, + ".clip": 39842, + "ĠGabriel": 39843, + "Ġmusician": 39844, + "/issues": 39845, + ".shop": 39846, + "ĠHier": 39847, + "_RET": 39848, + "_bucket": 39849, + "ãĥ¡": 39850, + "avs": 39851, + "Ġroz": 39852, + "flower": 39853, + "WriteBarrier": 39854, + "ĠMilan": 39855, + "Ġlegislature": 39856, + "ĠDoll": 39857, + "Ġproving": 39858, + ".concatenate": 39859, + "âķIJ": 39860, + "Ġgchar": 39861, + "cdnjs": 39862, + "bles": 39863, + "ĠListing": 39864, + "ло": 39865, + ".xrLabel": 39866, + "ĠSak": 39867, + "justice": 39868, + "ĠValentine": 39869, + "unless": 39870, + "Ġpiger": 39871, + "(run": 39872, + "Ġtestified": 39873, + "ANA": 39874, + "ĠRemoves": 39875, + "))));Ċ": 39876, + "recated": 39877, + "ĠRuntimeMethod": 39878, + "Ġconqu": 39879, + "ãĤ¢": 39880, + "Ġtissues": 39881, + "ailer": 39882, + "été": 39883, + "-Star": 39884, + "Ġflames": 39885, + ".setIcon": 39886, + "Ġsupern": 39887, + "Ġvagina": 39888, + "-variable": 39889, + "Ġwellness": 39890, + "CUR": 39891, + "Ġbelle": 39892, + ".getRequest": 39893, + "Ġpoco": 39894, + "benh": 39895, + "agens": 39896, + "Ġspill": 39897, + "ĠJur": 39898, + "Ġdispatcher": 39899, + "ного": 39900, + "emonic": 39901, + "(dirname": 39902, + "ĠÐĶ": 39903, + "Ġpasse": 39904, + "Ġganz": 39905, + "ricing": 39906, + "EU": 39907, + "Ġmujeres": 39908, + "essen": 39909, + ".attribute": 39910, + "jj": 39911, + "ĉĉĠĊ": 39912, + "[^": 39913, + "Ġstrtolower": 39914, + "lexer": 39915, + "ectar": 39916, + "hotel": 39917, + ".square": 39918, + "Ġrall": 39919, + "Ġlowered": 39920, + "handled": 39921, + "Market": 39922, + "ĠUses": 39923, + "ivas": 39924, + ".Business": 39925, + "ãģĹãģ¦": 39926, + "DIV": 39927, + "Ġwasted": 39928, + "Ġavoir": 39929, + "êm": 39930, + "_ACCOUNT": 39931, + ".et": 39932, + "ĉSDL": 39933, + "kap": 39934, + "Ġfox": 39935, + "uppet": 39936, + "{},Ċ": 39937, + "\",'": 39938, + "Favorite": 39939, + "PEND": 39940, + "ĠAES": 39941, + "}),": 39942, + "Ġdeduction": 39943, + "ĠpolÃŃt": 39944, + "ĠcomponentWill": 39945, + "ĠTelerik": 39946, + "_SELF": 39947, + "Ġmuse": 39948, + "Craft": 39949, + "Ġdens": 39950, + "ि": 39951, + "(tp": 39952, + "Ġtasty": 39953, + "Ġbalances": 39954, + "Ġdedication": 39955, + "ĠWallace": 39956, + "Ġunlaw": 39957, + "\\\">\\": 39958, + "Ġmum": 39959, + "-update": 39960, + "emente": 39961, + "Ġsoda": 39962, + "Republic": 39963, + "asmine": 39964, + "éric": 39965, + "(Status": 39966, + "ĠJsonConvert": 39967, + "ĠDisk": 39968, + ".Redirect": 39969, + "Ġfilming": 39970, + "/mol": 39971, + "Ro": 39972, + "Ġville": 39973, + "Ġtrabaj": 39974, + "Ġsynthesis": 39975, + "rega": 39976, + "Ġrl": 39977, + "Scheduler": 39978, + "ISHED": 39979, + "currentUser": 39980, + "(errors": 39981, + "'h": 39982, + "_bot": 39983, + "ximo": 39984, + "ĠUSART": 39985, + "_super": 39986, + "_DECREF": 39987, + "ной": 39988, + "_ROW": 39989, + "Ġpromotes": 39990, + "ĠTA": 39991, + "Ġhoras": 39992, + "ĠRepresents": 39993, + "Ġnameof": 39994, + "ĠExc": 39995, + "ĠGarage": 39996, + "Ġseine": 39997, + ",#": 39998, + "Ġherb": 39999, + "/resources": 40000, + "Ġpleaded": 40001, + ".radioButton": 40002, + "Ġæĺ": 40003, + "Ops": 40004, + "ĠNest": 40005, + "cstring": 40006, + "ĠDefence": 40007, + "Ġrefere": 40008, + "_leaf": 40009, + "Ġrevelation": 40010, + "ë§": 40011, + ".executeUpdate": 40012, + "_WORLD": 40013, + "Ġexpans": 40014, + "(\"\\\"": 40015, + "jab": 40016, + "Ġdoubts": 40017, + "ĠGeometry": 40018, + "Ġintroduces": 40019, + "Ġsenators": 40020, + "Ġcanal": 40021, + ".helper": 40022, + "ĠBiology": 40023, + "_SENS": 40024, + ".previous": 40025, + "-touch": 40026, + "abit": 40027, + "Ġimpacted": 40028, + "Ġbrackets": 40029, + ".direct": 40030, + "accum": 40031, + "Ġtestosterone": 40032, + "ĉaction": 40033, + "ĠChance": 40034, + "Ġpeaks": 40035, + "CppCodeGenWriteBarrier": 40036, + "Ġunbelie": 40037, + "_press": 40038, + ".Rel": 40039, + "angled": 40040, + "/templates": 40041, + "-->čĊ": 40042, + "lime": 40043, + "Ġsufficiently": 40044, + "_nt": 40045, + "Expand": 40046, + ".isfile": 40047, + "ĠisEmpty": 40048, + "Ġqt": 40049, + "Ġmulher": 40050, + "acob": 40051, + "George": 40052, + "常": 40053, + "Ġassim": 40054, + "aso": 40055, + "Ġcomprised": 40056, + "OV": 40057, + "(CONFIG": 40058, + "ĉwriter": 40059, + "Ġdesp": 40060, + "Ġtenure": 40061, + "(cr": 40062, + ".pool": 40063, + "ĠBrend": 40064, + "Ġcensor": 40065, + "(timeout": 40066, + "Ġplea": 40067, + ".Wrap": 40068, + "Ġtightly": 40069, + "ĠWere": 40070, + "ĠIgnore": 40071, + "abei": 40072, + "Ġbridges": 40073, + "Ġcondemn": 40074, + "Ġsimplicity": 40075, + "Ġroutinely": 40076, + "Ġblacks": 40077, + "jb": 40078, + "ĠPit": 40079, + "Utf": 40080, + "Ġ/Ċ": 40081, + "reload": 40082, + "ĠsetObject": 40083, + "/global": 40084, + "Ġfatty": 40085, + "Ġsocks": 40086, + "Couldn": 40087, + "Ġerotisk": 40088, + "æĿ¡": 40089, + "ĠPressure": 40090, + "ĠMaz": 40091, + "npos": 40092, + "tolower": 40093, + "ĠEQ": 40094, + "uteur": 40095, + "ĠMoment": 40096, + "Ġeta": 40097, + "{{--": 40098, + "Ġgraphs": 40099, + "ĠGuar": 40100, + "rine": 40101, + "(--": 40102, + "ĠHttpStatus": 40103, + "(student": 40104, + "*np": 40105, + "Ġrailway": 40106, + "Ġasynchronous": 40107, + "_vm": 40108, + "'],'": 40109, + ",text": 40110, + "merchant": 40111, + "(Guid": 40112, + "ĠGra": 40113, + "ixer": 40114, + "fetchAll": 40115, + ".addListener": 40116, + "flip": 40117, + "*$": 40118, + ">(),": 40119, + "Ġsunlight": 40120, + "assigned": 40121, + "Ġabc": 40122, + "ĠCOLUMN": 40123, + "ĠðŁĻĤĊĊ": 40124, + ")...": 40125, + "Ġensemble": 40126, + "Ġnewline": 40127, + "_SINGLE": 40128, + "iedad": 40129, + "Ġdarker": 40130, + "ormap": 40131, + "Ġlion": 40132, + "plits": 40133, + "Ġillustration": 40134, + "ĠIEEE": 40135, + "Ġvista": 40136, + "ousands": 40137, + "*******": 40138, + "ĠTommy": 40139, + "Ġhue": 40140, + "Sel": 40141, + "Ġaura": 40142, + "ĠTherapy": 40143, + "Ġanimator": 40144, + ".constraints": 40145, + "Ġvague": 40146, + "(\"\")": 40147, + "Ġvillain": 40148, + "Ġblessing": 40149, + "ĠstringBuilder": 40150, + "ĠMisc": 40151, + "ĠDIR": 40152, + "fax": 40153, + "-node": 40154, + "ĠWalking": 40155, + "ĠAU": 40156, + "sess": 40157, + "Ġgrill": 40158, + "VERTISE": 40159, + "ĠFoods": 40160, + "Ġtournaments": 40161, + "Ãĵ": 40162, + "ĠMarsh": 40163, + "Ġwonders": 40164, + "Longitude": 40165, + ".CommandText": 40166, + "=input": 40167, + "_encoder": 40168, + "pageSize": 40169, + "ĠgetState": 40170, + ">>Ċ": 40171, + ".grey": 40172, + "pod": 40173, + "Ġreadings": 40174, + "Ġreconsider": 40175, + "Startup": 40176, + "Ġexcer": 40177, + ".balance": 40178, + "_cycle": 40179, + "_Time": 40180, + "LOCAL": 40181, + "ĠEFI": 40182, + "ĠReyn": 40183, + ".setForeground": 40184, + "byn": 40185, + "Ġdisconnected": 40186, + "ACTIVE": 40187, + "Ġembedding": 40188, + "ickers": 40189, + "Ġsurroundings": 40190, + "*c": 40191, + "Ġgarant": 40192, + "Ġbf": 40193, + "Ġwipe": 40194, + "Ġä¸ĭ": 40195, + "_TRA": 40196, + "adox": 40197, + "çķ": 40198, + "Ġsucks": 40199, + "ĠSongs": 40200, + "ĠAssociates": 40201, + "ĠBald": 40202, + "ĠBrett": 40203, + "venile": 40204, + "Ġvt": 40205, + "Ġinade": 40206, + "Ġresigned": 40207, + "ĠGlenn": 40208, + ".pattern": 40209, + ".DataBind": 40210, + "Ñĥм": 40211, + "LayoutInflater": 40212, + "chet": 40213, + "ĠTestament": 40214, + ".ms": 40215, + "Ġpav": 40216, + "ĠReactDOM": 40217, + "urdy": 40218, + "ADATA": 40219, + "Mu": 40220, + "/actions": 40221, + "ĠJs": 40222, + "_extract": 40223, + "ĠBring": 40224, + ":id": 40225, + "strt": 40226, + "ivation": 40227, + "Ġoutright": 40228, + "azu": 40229, + "loyment": 40230, + "иÑı": 40231, + "aldo": 40232, + "ĠPublisher": 40233, + "Education": 40234, + "Palette": 40235, + "_drv": 40236, + "Ġ($(": 40237, + "ĠAnda": 40238, + "Ġremedy": 40239, + "Ġinconsistent": 40240, + "tection": 40241, + "Ġregulators": 40242, + "Ġshortest": 40243, + "(pair": 40244, + "ĠInstallation": 40245, + "Ġdefendants": 40246, + "Ġ();": 40247, + "-large": 40248, + "Mel": 40249, + "Ġthreaten": 40250, + "нÑı": 40251, + "Ġfetish": 40252, + "otine": 40253, + "_dic": 40254, + "Ġ<$": 40255, + "Ġstagger": 40256, + "spi": 40257, + "$response": 40258, + "Serv": 40259, + "-born": 40260, + "jos": 40261, + "ĉimg": 40262, + "ĉWHERE": 40263, + "_lt": 40264, + "å½ĵ": 40265, + ".cost": 40266, + "ĠTue": 40267, + ".labels": 40268, + "ĠLV": 40269, + "wcsstore": 40270, + "ĠJesse": 40271, + "ห": 40272, + "Trade": 40273, + "Ġpredecessor": 40274, + "ëĤ": 40275, + "finally": 40276, + "_general": 40277, + "oggler": 40278, + "_REGION": 40279, + "nement": 40280, + "Ġblogger": 40281, + "ĠHarbor": 40282, + "ĠDataset": 40283, + "[w": 40284, + "Ġattendees": 40285, + ".ico": 40286, + "maximum": 40287, + ".Unlock": 40288, + "_SYNC": 40289, + "ágina": 40290, + "Ġdowns": 40291, + "ĠWii": 40292, + "])/": 40293, + "Ġkicking": 40294, + "unication": 40295, + "ĠDAC": 40296, + "ĠIDS": 40297, + "ĠRental": 40298, + "ĠcurrentTime": 40299, + "Ġvaccines": 40300, + "ĠDevil": 40301, + "Ġnors": 40302, + "_mouse": 40303, + "urrection": 40304, + "(no": 40305, + "Ġ>čĊ": 40306, + "Ġaggression": 40307, + "Ġbreeding": 40308, + ".symbol": 40309, + "iman": 40310, + "AbsolutePath": 40311, + "ĠWHO": 40312, + "_flush": 40313, + "-root": 40314, + "arna": 40315, + "&M": 40316, + "Ġfathers": 40317, + "ĠRocket": 40318, + "iveau": 40319, + "Ġwander": 40320, + "Ġcompos": 40321, + "ĠWarrior": 40322, + "ĠSeat": 40323, + "ĠClinic": 40324, + "_invoice": 40325, + "(dispatch": 40326, + "Producto": 40327, + "aturing": 40328, + "ossier": 40329, + "ĠMAY": 40330, + "Ġdagger": 40331, + "Ġsanitized": 40332, + "ĠRFC": 40333, + "Ġproph": 40334, + "Ġurine": 40335, + "Ġgrind": 40336, + "ĠExpanded": 40337, + "descripcion": 40338, + "-fw": 40339, + "ĠKerry": 40340, + "=name": 40341, + "Ġchk": 40342, + "Ġnationally": 40343, + "Ġthee": 40344, + "Inc": 40345, + "Ġ?>>": 40346, + ".RadioButton": 40347, + ".HttpServletResponse": 40348, + "/Y": 40349, + "ĉfield": 40350, + "Ġhomme": 40351, + "yper": 40352, + "Physical": 40353, + "=v": 40354, + "Ġdriv": 40355, + "ĠErrors": 40356, + "ĠcÄĥ": 40357, + "Death": 40358, + "ĠWINDOW": 40359, + "Ġpoet": 40360, + "ĠSharp": 40361, + "ĠImmutable": 40362, + "ĉcreate": 40363, + "Ġgeht": 40364, + "ĠReform": 40365, + "aiser": 40366, + "ĠInitialization": 40367, + "Ġimmunity": 40368, + ".compose": 40369, + "Ġlatency": 40370, + "ĠLebanon": 40371, + "ĠParad": 40372, + "Ġfuels": 40373, + "ĠExhib": 40374, + "coh": 40375, + "%\">Ċ": 40376, + "ĠCLI": 40377, + ")initWith": 40378, + "-Za": 40379, + "_CLEAR": 40380, + "regn": 40381, + "Ġfinances": 40382, + ".standard": 40383, + "_CATEGORY": 40384, + ".library": 40385, + "Ġtravelers": 40386, + "_wp": 40387, + "ĠEvaluation": 40388, + "starting": 40389, + "Ġ)),Ċ": 40390, + "episode": 40391, + "ĠVariant": 40392, + "Ġdaemon": 40393, + "ĠJulia": 40394, + "ĠNR": 40395, + "Ġdoubles": 40396, + "'": 40626, + "Ġqueryset": 40627, + ";}čĊ": 40628, + "ĠPopulation": 40629, + "utedString": 40630, + "resident": 40631, + "_FONT": 40632, + "ĠRespond": 40633, + "Ġobscure": 40634, + "Ġobservable": 40635, + "ĠContributors": 40636, + "kon": 40637, + "ĠMusk": 40638, + "exao": 40639, + "ĠTub": 40640, + "BootApplication": 40641, + "SOR": 40642, + ".Horizontal": 40643, + ".findBy": 40644, + ".power": 40645, + "Ġpositively": 40646, + "venience": 40647, + "ĠJong": 40648, + "Ġwhistle": 40649, + "ĠзнаÑĩ": 40650, + "Ġlending": 40651, + "Ġdestructive": 40652, + "ĠonDelete": 40653, + "authorization": 40654, + "();?>": 40655, + "_original": 40656, + "science": 40657, + "atra": 40658, + "?,?,": 40659, + "ĠAsc": 40660, + "Ġconvincing": 40661, + "$a": 40662, + "orgen": 40663, + "_Date": 40664, + "ĠProvide": 40665, + "Ġlonely": 40666, + ")'Ċ": 40667, + "exchange": 40668, + ";?>Ċ": 40669, + ".fast": 40670, + "Samples": 40671, + "London": 40672, + "'])čĊ": 40673, + "ĠIonic": 40674, + "Ġpesso": 40675, + "ĠKnights": 40676, + "ĠRaf": 40677, + "_attrs": 40678, + "Ġrepeal": 40679, + ">Main": 40680, + "ĠOrdered": 40681, + "_New": 40682, + "=\"\">\";Ċ": 40763, + "ĠSERVER": 40764, + "ĠHEADER": 40765, + "_velocity": 40766, + "ĠInvoke": 40767, + ".timestamps": 40768, + "Ġsulf": 40769, + "IQUE": 40770, + "Ġinhabitants": 40771, + "phins": 40772, + "azzo": 40773, + "Ġmono": 40774, + "Legend": 40775, + "Ġnonce": 40776, + "IFE": 40777, + ";\";Ċ": 40778, + "-create": 40779, + "\"\",Ċ": 40780, + "permit": 40781, + "ĠImmigration": 40782, + "Ġpathname": 40783, + "ffective": 40784, + "âĻĢâĻĢ": 40785, + "Ġexams": 40786, + "-event": 40787, + "ĠTill": 40788, + "[mid": 40789, + "FIX": 40790, + ";color": 40791, + "(Order": 40792, + "_traits": 40793, + "ĠorderBy": 40794, + "Ġsunt": 40795, + "ĠNicholas": 40796, + "ز": 40797, + "Ġsunny": 40798, + "iners": 40799, + "Ġaccessibility": 40800, + "ĠHB": 40801, + ".comp": 40802, + "ĉop": 40803, + "Ġminorities": 40804, + "etheus": 40805, + "Ġcollaborative": 40806, + "prit": 40807, + "HIR": 40808, + "Ġwraps": 40809, + "ĉdraw": 40810, + "god": 40811, + "ĠIX": 40812, + ".apps": 40813, + "ĠNM": 40814, + "Ġirrelevant": 40815, + "ĠTigers": 40816, + "Ġdiag": 40817, + "GV": 40818, + "ĠAccessories": 40819, + "kont": 40820, + "Ġsimplify": 40821, + "ĠFavorite": 40822, + "_tools": 40823, + "([]);Ċ": 40824, + "Ġtowers": 40825, + "Bes": 40826, + "Ġhunter": 40827, + "Ġsalon": 40828, + "(buff": 40829, + "ĉdebug": 40830, + "Ġmalware": 40831, + "Moving": 40832, + "-options": 40833, + ")+'": 40834, + "ĠLOVE": 40835, + "_SOCKET": 40836, + "_fin": 40837, + "ĠDelaware": 40838, + "Ġsheriff": 40839, + "-invalid": 40840, + "ĠFULL": 40841, + "Ġпод": 40842, + "elas": 40843, + "\"strings": 40844, + "ĠRepresentatives": 40845, + "surface": 40846, + "resolved": 40847, + "htdocs": 40848, + ")):čĊ": 40849, + "Ġpressures": 40850, + "Ġnorms": 40851, + "Ġpla": 40852, + "Ġsurname": 40853, + "Ġpostal": 40854, + "ĠDepart": 40855, + "Ġslaughter": 40856, + "orida": 40857, + "Ġhebben": 40858, + "Ġdesar": 40859, + "compact": 40860, + "_LANG": 40861, + "åIJĪ": 40862, + "opoly": 40863, + "_rad": 40864, + "ĠSTDMETHOD": 40865, + "Lazy": 40866, + "ĠĠĠĉ": 40867, + "...,": 40868, + "(web": 40869, + "ĠPont": 40870, + "Ġetwas": 40871, + "Ġupward": 40872, + "_hat": 40873, + "Ġ],ĊĊ": 40874, + "ĠbaseUrl": 40875, + "Ġworrying": 40876, + "-addon": 40877, + "(getClass": 40878, + "SPI": 40879, + "Ġcapturing": 40880, + ")},Ċ": 40881, + "Effects": 40882, + "Ġcompetent": 40883, + "Ġfoul": 40884, + "Ġsubscribing": 40885, + "ĠOBJECT": 40886, + "IXEL": 40887, + "bucks": 40888, + "(edge": 40889, + "(pass": 40890, + "ĠPeterson": 40891, + "Ġboobs": 40892, + "ĠDelay": 40893, + "_square": 40894, + "elim": 40895, + "oters": 40896, + "_PC": 40897, + "%E": 40898, + "onclick": 40899, + "ĠSVG": 40900, + "Ġtopped": 40901, + "Ġfist": 40902, + "smart": 40903, + "ĠRalph": 40904, + "(owner": 40905, + "jours": 40906, + "Ġbronze": 40907, + "ĠArgumentException": 40908, + "(original": 40909, + "_SCALE": 40910, + "_cp": 40911, + "Ġrecommends": 40912, + ".setStyle": 40913, + "Sure": 40914, + "LAND": 40915, + "Ġrepeating": 40916, + "Matt": 40917, + ".Visibility": 40918, + "Ġenterprises": 40919, + ".Setup": 40920, + "(scene": 40921, + "ĠReactive": 40922, + "urge": 40923, + "bw": 40924, + ".Put": 40925, + "persist": 40926, + ".cookie": 40927, + "ĠAudi": 40928, + "`s": 40929, + "supplier": 40930, + "(Form": 40931, + "¡": 40932, + "_so": 40933, + "ĮĢ": 40934, + "ĠLegion": 40935, + "tte": 40936, + "Nd": 40937, + "Loss": 40938, + "(attrs": 40939, + ".scatter": 40940, + "Ġgroom": 40941, + "Ġglimpse": 40942, + "Ġnails": 40943, + "Ġcumulative": 40944, + "Ġfazer": 40945, + "_services": 40946, + ".Num": 40947, + "ibilit": 40948, + "_resolution": 40949, + "ĠTx": 40950, + "uminium": 40951, + "opa": 40952, + ".schedule": 40953, + "smtp": 40954, + "à¸ķ": 40955, + "urry": 40956, + "ük": 40957, + "goog": 40958, + "_signature": 40959, + ".into": 40960, + "ĠSteps": 40961, + "Ġhomeowners": 40962, + "ĠNSURL": 40963, + "ĠPAC": 40964, + "ĠĠĠĠĠĠĠĠĠĠĠĠĊĊ": 40965, + ">')Ċ": 40966, + "enh": 40967, + "Ġincap": 40968, + "$MESS": 40969, + "Ġmoins": 40970, + "ĠFi": 40971, + "Ġoffseason": 40972, + "pressions": 40973, + ">.Ċ": 41045, + "ĠGrass": 41046, + "ĠGoal": 41047, + "_pdf": 41048, + "Handlers": 41049, + "Ġstacks": 41050, + ".getFullYear": 41051, + "=[];Ċ": 41052, + "车": 41053, + ",V": 41054, + "(split": 41055, + "Ñĥнк": 41056, + "Ġbakeca": 41057, + "Ġ~/.": 41058, + "pez": 41059, + "tails": 41060, + "ĠGlen": 41061, + "ĠsetImage": 41062, + "ĠComic": 41063, + "BLOCK": 41064, + "ĉThis": 41065, + "oader": 41066, + "Ġcapitalist": 41067, + "_STEP": 41068, + "(Boolean": 41069, + "ĠCorrect": 41070, + "rina": 41071, + "Ġconcaten": 41072, + "å®ŀ": 41073, + "():ĊĊ": 41074, + "Ġunanim": 41075, + "lli": 41076, + "alars": 41077, + "-ne": 41078, + "Ġdivor": 41079, + "ĠKickstarter": 41080, + "]._": 41081, + "*'+": 41722, + "åĿĢ": 41723, + "acency": 41724, + "(URL": 41725, + "_half": 41726, + "=l": 41727, + "ĠlistView": 41728, + "(section": 41729, + ".toArray": 41730, + "+/": 41731, + "ĠRodriguez": 41732, + "istream": 41733, + "Ġeligibility": 41734, + "::-": 41735, + ".newInstance": 41736, + "PB": 41737, + "ĠAssets": 41738, + "ĠComposite": 41739, + "ĠLabs": 41740, + "ĠHamas": 41741, + "++);Ċ": 41742, + "Ġblk": 41743, + "ĠNeo": 41744, + "Luc": 41745, + "@login": 41746, + "Ġunaware": 41747, + ".met": 41748, + "_RELEASE": 41749, + "(ST": 41750, + "AMIL": 41751, + "rike": 41752, + "Ġ(){Ċ": 41753, + "(sprintf": 41754, + "ĠAccounts": 41755, + "ĠVIEW": 41756, + "ĠAj": 41757, + "ãĤ°": 41758, + "Ġwhisk": 41759, + "Ġidi": 41760, + "Ġrode": 41761, + "Ġihn": 41762, + "ĠElementary": 41763, + "Qty": 41764, + "Ġintriguing": 41765, + "Ġå¤": 41766, + "Jobs": 41767, + "ĉoffset": 41768, + "ĠAhmed": 41769, + "ĠTaliban": 41770, + "Ġèİ·åıĸ": 41771, + "Ġinjected": 41772, + ".Authentication": 41773, + "_linear": 41774, + ".Decimal": 41775, + "Ġapples": 41776, + "Ġshareholders": 41777, + "Ġbaked": 41778, + ".diff": 41779, + "ĠEddie": 41780, + "okers": 41781, + "Ġconfronted": 41782, + "voices": 41783, + "Ġtus": 41784, + "ĠSpin": 41785, + "NODE": 41786, + "_Un": 41787, + "CTX": 41788, + "/google": 41789, + "Temperature": 41790, + "Ġ'').": 41791, + "Ġmagnificent": 41792, + "ĠstartIndex": 41793, + "sembles": 41794, + "Anyone": 41795, + "zk": 41796, + "ehen": 41797, + "ĠDame": 41798, + ".strict": 41799, + "Ġreplaces": 41800, + "Ġlineback": 41801, + "Ġpushes": 41802, + "Ġcheek": 41803, + "ĠShi": 41804, + "_BYTES": 41805, + "REA": 41806, + "ản": 41807, + "_CONNECTION": 41808, + "Gateway": 41809, + "ĠTravis": 41810, + "ĠAX": 41811, + "ĠBasically": 41812, + "ĠUpgrade": 41813, + "àª": 41814, + "themes": 41815, + "ermo": 41816, + "kor": 41817, + "Female": 41818, + "_attach": 41819, + "ĠìĤ¬ìļ©": 41820, + "Ġpoz": 41821, + "==============Ċ": 41822, + "(symbol": 41823, + "ĠSector": 41824, + "__)ĊĊ": 41825, + "_padding": 41826, + "ï¼ļ\"": 41827, + "Ġfabs": 41828, + "Ġranged": 41829, + "setName": 41830, + "Ġperror": 41831, + "âĹ": 41832, + "ĠFileReader": 41833, + "Ġfulfilled": 41834, + "_Current": 41835, + "Ġdominate": 41836, + "Ġsmugg": 41837, + "PostMapping": 41838, + "_force": 41839, + "Ġbloc": 41840, + "ĠGiant": 41841, + "(video": 41842, + "ĠCU": 41843, + "SystemService": 41844, + "Ġelf": 41845, + "Ġkontakt": 41846, + "ëª": 41847, + "kees": 41848, + "gtk": 41849, + "ĠparamInt": 41850, + "Ġmarkup": 41851, + "uales": 41852, + "Ġaccounted": 41853, + "Ġgangbang": 41854, + "RYPT": 41855, + "ĠWrong": 41856, + "Ġcredited": 41857, + "ĠMESSAGE": 41858, + "Ġflaws": 41859, + "Ġbbw": 41860, + "Ġmetabolic": 41861, + "ĠOEM": 41862, + "/event": 41863, + "(Collectors": 41864, + "monton": 41865, + "appear": 41866, + "Ġopted": 41867, + "Ġcheat": 41868, + "Ġdav": 41869, + "ĠProceed": 41870, + "Ġê¸": 41871, + "anked": 41872, + "из": 41873, + "ansk": 41874, + "ĠHang": 41875, + "ĠCler": 41876, + "Ġdisgu": 41877, + "Ġcmap": 41878, + ".cljs": 41879, + "Ġaument": 41880, + "lez": 41881, + "ĠJoined": 41882, + "_received": 41883, + "Ġaerial": 41884, + "otel": 41885, + "Ġgreet": 41886, + "\"s": 41887, + "ĠGenesis": 41888, + "ĠCalif": 41889, + "panion": 41890, + "Ġtailored": 41891, + "mapping": 41892, + "andExpect": 41893, + ".track": 41894, + "atomy": 41895, + "ĠOw": 41896, + "ullah": 41897, + ".Yes": 41898, + "ĠSimpleName": 41899, + "dbh": 41900, + "'en": 41901, + "Ġnonsense": 41902, + "Ġphilosophical": 41903, + "(getContext": 41904, + "Ġisso": 41905, + "ĠACE": 41906, + "startDate": 41907, + "ĠbÄĻd": 41908, + "ĠAUTHOR": 41909, + "ĠGlobe": 41910, + "Ġinsects": 41911, + "_Al": 41912, + "ushing": 41913, + "è®°": 41914, + "/Home": 41915, + "ĠLocalDate": 41916, + "needed": 41917, + "hesive": 41918, + "Ġillusion": 41919, + "äºĮ": 41920, + "Ġtrat": 41921, + "xo": 41922, + "/detail": 41923, + "_MATCH": 41924, + "Ġbroadband": 41925, + "Ġwal": 41926, + "ĠIllegalStateException": 41927, + "IRECTION": 41928, + "Ġnortheast": 41929, + "esium": 41930, + "ĠCliente": 41931, + "ulance": 41932, + "nty": 41933, + "Ġtecn": 41934, + "Devices": 41935, + "Ġgrains": 41936, + "ĠOg": 41937, + "ĠSEL": 41938, + "udiant": 41939, + "Ġ++;Ċ": 41940, + "Ġexplanations": 41941, + "occo": 41942, + "Ġdiets": 41943, + "Ġcohort": 41944, + "(controller": 41945, + ".Iterator": 41946, + "-rich": 41947, + "rocess": 41948, + "GD": 41949, + "Ġcarbohydr": 41950, + "Ġfried": 41951, + "ĠEmployment": 41952, + "ìŀ¥": 41953, + "ĠLeonard": 41954, + "_${": 41955, + "quares": 41956, + "Ġcompanions": 41957, + "Ġparis": 41958, + "Ġstimulation": 41959, + "ĠZoo": 41960, + "Ġrelevance": 41961, + "ĠColour": 41962, + "Ġspear": 41963, + "otional": 41964, + "ĠLite": 41965, + "ĠKosten": 41966, + "Ġó": 41967, + "_attachment": 41968, + "orphic": 41969, + "Ġdamit": 41970, + "Ġdlg": 41971, + "Ġthrive": 41972, + "CHANGE": 41973, + "ĠApparently": 41974, + "Ġatual": 41975, + "Ġrooted": 41976, + "(images": 41977, + "awi": 41978, + "ariat": 41979, + "Ġcherry": 41980, + "STATIC": 41981, + "mnt": 41982, + "ĠUserId": 41983, + "illet": 41984, + "ĠHispanic": 41985, + "Ġnak": 41986, + "Ġcentro": 41987, + "Ġdims": 41988, + "_initialize": 41989, + "ık": 41990, + "ĠCenters": 41991, + "REN": 41992, + "Ġevolutionary": 41993, + "ĠTopics": 41994, + "_damage": 41995, + "emer": 41996, + "Ġrund": 41997, + "Ġpunished": 41998, + "Ġcubic": 41999, + "fair": 42000, + "[];ĊĊ": 42001, + "Ġinstantiate": 42002, + "Ġoversee": 42003, + "-delete": 42004, + "unteer": 42005, + "startTime": 42006, + "ĠPipeline": 42007, + "_GAME": 42008, + "ĠCir": 42009, + "ĉNull": 42010, + ".Formatting": 42011, + "ucumber": 42012, + "ĠRide": 42013, + "Ġzoo": 42014, + "Ġchecker": 42015, + "åIJĮ": 42016, + "=C": 42017, + "Ġgrit": 42018, + "\");//": 42019, + "_xy": 42020, + "ĠDeclaration": 42021, + "Ġcallable": 42022, + "Foo": 42023, + "ĠListItem": 42024, + "Ġinaccur": 42025, + "mlin": 42026, + "ĉData": 42027, + "Ġevolving": 42028, + "awan": 42029, + "Ġcafe": 42030, + "folk": 42031, + "_IDX": 42032, + "ĠAnything": 42033, + "ĠPalestine": 42034, + "ĠGridView": 42035, + "Ġcolony": 42036, + "ĠGermans": 42037, + "(+": 42038, + ".pid": 42039, + ".jsx": 42040, + "ĠSuperior": 42041, + "Christian": 42042, + "ĠLect": 42043, + "ĉGame": 42044, + "Ġinstrumental": 42045, + "Animations": 42046, + "дал": 42047, + "ĠMoses": 42048, + "ĉĉčĊĉĉčĊ": 42049, + "zs": 42050, + "kte": 42051, + "ä¸ļ": 42052, + "_DIST": 42053, + "bitmap": 42054, + "dB": 42055, + "Ġpersistence": 42056, + "ÑĢоÑģ": 42057, + "$l": 42058, + "Bron": 42059, + "Ġ{|": 42060, + "_chart": 42061, + "ĠConsum": 42062, + "Ġhemp": 42063, + "Ġ\"))Ċ": 42064, + "Ġattackers": 42065, + "Ġknowledgeable": 42066, + "Ġcet": 42067, + "Ġviruses": 42068, + "'I": 42069, + "Ġpitcher": 42070, + "Ġsweeping": 42071, + "=list": 42072, + "aptops": 42073, + ".depth": 42074, + "Ġinstructed": 42075, + "ĠRus": 42076, + "benhavn": 42077, + "Ġин": 42078, + "Sports": 42079, + "Ġonset": 42080, + "æĿĥ": 42081, + ".RED": 42082, + "_si": 42083, + "ĠPST": 42084, + ".onChange": 42085, + ">tag": 42086, + "ĠRoh": 42087, + "_character": 42088, + "ĠLaws": 42089, + "ĠBachelor": 42090, + "_swap": 42091, + ".reactivex": 42092, + "Ġrewarding": 42093, + "Medium": 42094, + "-[": 42095, + "ĠRecently": 42096, + "Joint": 42097, + "partition": 42098, + "ĠMinutes": 42099, + "Ġindo": 42100, + "Ġabsorbed": 42101, + "ĠGN": 42102, + "_IND": 42103, + "Ġsaber": 42104, + "Spawn": 42105, + "outputs": 42106, + "ĠJeffrey": 42107, + "Ġmedieval": 42108, + "hed": 42109, + "Guide": 42110, + "Ġpsycho": 42111, + "Ġglam": 42112, + "Elim": 42113, + "ädchen": 42114, + "_plain": 42115, + "ĠSau": 42116, + "-four": 42117, + "Ġanalyzing": 42118, + "QUERY": 42119, + "Ġtomato": 42120, + "_buttons": 42121, + "VEN": 42122, + ".setStatus": 42123, + ".Url": 42124, + "+ĊĊ": 42125, + "Ġcomplaining": 42126, + "degree": 42127, + "confirmed": 42128, + "Ġsubt": 42129, + "parsed": 42130, + "Ġtorque": 42131, + "Ġtroubled": 42132, + "ĠTARGET": 42133, + "Ġtrademarks": 42134, + "ĠCoordinate": 42135, + "ĠViv": 42136, + "Ġ//}ĊĊ": 42137, + "Ġaprès": 42138, + ".getPosition": 42139, + "(KeyCode": 42140, + "ĠSilva": 42141, + "Ġmeteor": 42142, + "Ġendorsement": 42143, + "Overview": 42144, + "ĠPoss": 42145, + ".Inject": 42146, + "Ġevenly": 42147, + "Ġvisualization": 42148, + "Ġwchar": 42149, + "ĠHDMI": 42150, + "Ġfunct": 42151, + "ickname": 42152, + "','','": 42153, + "Ġforwards": 42154, + "ManagedObject": 42155, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 42156, + "ĉserver": 42157, + "ĠOutlook": 42158, + "ĠChronicle": 42159, + "Ġdubbed": 42160, + "Ġdok": 42161, + "ĠWear": 42162, + ".AL": 42163, + "paren": 42164, + ".Interface": 42165, + "Interfaces": 42166, + ".cod": 42167, + "Ġdib": 42168, + ".Globalization": 42169, + "ĠAcademic": 42170, + "Ġassms": 42171, + "Autom": 42172, + "Ġlw": 42173, + "ĠNW": 42174, + "Ġ&&čĊ": 42175, + "Ġproblema": 42176, + "ĠManufacturing": 42177, + "limits": 42178, + "-mobile": 42179, + "Ġfilme": 42180, + "/map": 42181, + "Ġdoit": 42182, + "ĠInk": 42183, + "Ġsued": 42184, + ".arr": 42185, + "Ġundermin": 42186, + "ĠProc": 42187, + "crollView": 42188, + "__$": 42189, + "Ġsidewalk": 42190, + "(that": 42191, + "ื": 42192, + "[q": 42193, + "grammar": 42194, + "Ġtë": 42195, + "quito": 42196, + "Ġspiral": 42197, + "extended": 42198, + "Ġfocal": 42199, + "Ġdigging": 42200, + "pas": 42201, + "ĠTall": 42202, + ".proxy": 42203, + "itures": 42204, + "TRACT": 42205, + "ĠRealm": 42206, + "Ġfeder": 42207, + "Ġoriented": 42208, + "ĠAlternative": 42209, + "Ġowe": 42210, + "Ġsourced": 42211, + "inker": 42212, + ".det": 42213, + "Sep": 42214, + "ĠQui": 42215, + "ĠPalmer": 42216, + "(_,": 42217, + "samples": 42218, + "oyer": 42219, + "ullan": 42220, + "quez": 42221, + "Edges": 42222, + "Ġshout": 42223, + "ĠAchie": 42224, + "Ġhaar": 42225, + "_Construct": 42226, + "Ġpremature": 42227, + "Ġrevert": 42228, + "').Ċ": 42229, + "Ġschn": 42230, + "filtered": 42231, + "nullptr": 42232, + "Saved": 42233, + "itecture": 42234, + "CLA": 42235, + "Ġvl": 42236, + "stell": 42237, + "ĉMe": 42238, + "ĠLip": 42239, + "national": 42240, + "Ġwholly": 42241, + "Ġsprings": 42242, + ".Timer": 42243, + "ĉsrc": 42244, + "elsen": 42245, + "åħ¶": 42246, + "Ġcommunicating": 42247, + "ĠQuiz": 42248, + "Ġteng": 42249, + "Ġgez": 42250, + "ĠOutside": 42251, + ".Sign": 42252, + "(cs": 42253, + "Ġdisputes": 42254, + "ĠWeiss": 42255, + "annes": 42256, + ">No": 42257, + "ĠBach": 42258, + ".removeAll": 42259, + "refer": 42260, + "/dashboard": 42261, + "ĠAjax": 42262, + "IndexChanged": 42263, + "ĠWeak": 42264, + "'\"Ċ": 42265, + "Ġsights": 42266, + "accessToken": 42267, + "ĠJoi": 42268, + "(domain": 42269, + "ĉcv": 42270, + "Ġcontinuation": 42271, + "Ġplum": 42272, + "adir": 42273, + ".setMessage": 42274, + "Ġï¼Į": 42275, + "Ġswallow": 42276, + "ĠLamp": 42277, + "Ġqw": 42278, + "Ġuu": 42279, + "Coin": 42280, + "ubic": 42281, + "ĠDeals": 42282, + "race": 42283, + "Ġdictator": 42284, + "Ġmeme": 42285, + "turned": 42286, + "ĠJulie": 42287, + ".gridColumn": 42288, + "Ġpuppy": 42289, + "Ġpam": 42290, + "Ġ){čĊ": 42291, + "Ġinviting": 42292, + "Ġfrench": 42293, + "vim": 42294, + "Ġwrapping": 42295, + "Ġ#-}Ċ": 42296, + "([-": 42297, + "Early": 42298, + "Ġshiny": 42299, + ".faces": 42300, + "Ġrebell": 42301, + "abcdef": 42302, + "ält": 42303, + "Ġestimation": 42304, + "phys": 42305, + "losures": 42306, + "_REL": 42307, + "Ġexclusion": 42308, + "ĠSkype": 42309, + "weise": 42310, + "-stop": 42311, + "nothing": 42312, + "ĠEgg": 42313, + "isors": 42314, + "Richard": 42315, + "Ġcounseling": 42316, + "Ġcommem": 42317, + "ĠQMessageBox": 42318, + "ĠSynd": 42319, + "ĠFrost": 42320, + "ĠCompetition": 42321, + "ĠAwake": 42322, + "Ġted": 42323, + "iciones": 42324, + "ĠDevComponents": 42325, + "VERTISEMENT": 42326, + "otti": 42327, + ".runner": 42328, + "Ġuniquely": 42329, + ".flag": 42330, + "ĉrs": 42331, + "_generic": 42332, + "Ġ```Ċ": 42333, + "ACHINE": 42334, + "Ġmein": 42335, + "(Application": 42336, + "(br": 42337, + "Ġratios": 42338, + ":,": 42339, + "ĠXCTest": 42340, + "ustainable": 42341, + "-www": 42342, + "itles": 42343, + "_TEMP": 42344, + "Ġsyst": 42345, + "umericUpDown": 42346, + "ĉassertTrue": 42347, + "Ġwf": 42348, + ".peek": 42349, + "ĠBulg": 42350, + "Ġterrifying": 42351, + ".MODE": 42352, + "ĠGW": 42353, + "ár": 42354, + "Ġfic": 42355, + "Ġcommitments": 42356, + "-tech": 42357, + "ĠLiquid": 42358, + "opez": 42359, + "zheimer": 42360, + "aña": 42361, + "-media": 42362, + "(animated": 42363, + "_goal": 42364, + "Ġgum": 42365, + "ystone": 42366, + ".SET": 42367, + "ĠWend": 42368, + "setCellValue": 42369, + "Ġmsgs": 42370, + "cash": 42371, + "ALLOC": 42372, + "/aws": 42373, + "Ġmicrowave": 42374, + ".Pointer": 42375, + "ĉConsole": 42376, + "_sorted": 42377, + "ĠFilip": 42378, + "Prod": 42379, + "Ġ//!<": 42380, + "ingroup": 42381, + "Ġks": 42382, + "_TRI": 42383, + "Ġteaspoon": 42384, + "ĠATT": 42385, + "Ġrecovering": 42386, + "ĠGLOBAL": 42387, + ".Par": 42388, + "Ġ/>;Ċ": 42389, + "Ġmarble": 42390, + "ulators": 42391, + "ĠCycle": 42392, + "Ġherbs": 42393, + "_metric": 42394, + ")!": 42395, + "_CLOCK": 42396, + "_Button": 42397, + "Harry": 42398, + "è¿Ľ": 42399, + "Ġstrains": 42400, + "ĠAppBar": 42401, + "ĠChan": 42402, + "/video": 42403, + "Ġbam": 42404, + ".Progress": 42405, + "$f": 42406, + "lemen": 42407, + "Ġirregular": 42408, + "ĠDuncan": 42409, + "ĠMint": 42410, + "-video": 42411, + "া": 42412, + "ówn": 42413, + "ĠEMPTY": 42414, + "Ġstacked": 42415, + "ĠHA": 42416, + "_cut": 42417, + "Ġwherein": 42418, + "ĠWays": 42419, + "(counter": 42420, + "è¯ķ": 42421, + "FormGroup": 42422, + "Ġblew": 42423, + "courses": 42424, + "Ġproductos": 42425, + "rys": 42426, + "ĠRestr": 42427, + "Ġstyling": 42428, + ">s": 42429, + "Ġpiv": 42430, + "Ġitertools": 42431, + "getRepository": 42432, + "ĠIk": 42433, + "_devices": 42434, + "layui": 42435, + "Ġhalfway": 42436, + "Ġfranç": 42437, + "Ġtuning": 42438, + "OA": 42439, + "_Node": 42440, + "arde": 42441, + "Ġfierce": 42442, + "licted": 42443, + "#čĊ": 42444, + "Ġbreakthrough": 42445, + "ĠErik": 42446, + "Ġbride": 42447, + "Ġ.\"": 42448, + "culus": 42449, + "inside": 42450, + "ĠIndianapolis": 42451, + "ĠEE": 42452, + "Ġyog": 42453, + "urret": 42454, + ".fs": 42455, + ".grad": 42456, + "_cards": 42457, + "_accuracy": 42458, + "_epi": 42459, + "queda": 42460, + "/org": 42461, + "éªĮ": 42462, + "Ġcompte": 42463, + "))[": 42464, + "Outside": 42465, + "Greater": 42466, + "ĠRenderer": 42467, + ".actor": 42468, + "Accounts": 42469, + "Idle": 42470, + "_hours": 42471, + "erner": 42472, + "Joined": 42473, + "Ġmenj": 42474, + "requires": 42475, + "ĠOPER": 42476, + ".removeChild": 42477, + "ĉsp": 42478, + "Ġesse": 42479, + "rift": 42480, + "xFE": 42481, + "ĠShakespeare": 42482, + "____________": 42483, + "Ġbudgets": 42484, + "ModelState": 42485, + "fillable": 42486, + "-component": 42487, + "ocos": 42488, + "ĠBUTTON": 42489, + "/io": 42490, + ",out": 42491, + "sms": 42492, + "Thomas": 42493, + "ĠArmed": 42494, + "resume": 42495, + "Ġrotating": 42496, + "ĠVault": 42497, + "Ġseus": 42498, + ".(*": 42499, + "Ġamino": 42500, + "Ġ[]);ĊĊ": 42501, + "Ġprovoc": 42502, + "nox": 42503, + ".GetEnumerator": 42504, + "=======Ċ": 42505, + "æĸĻ": 42506, + "_scroll": 42507, + "Ġfilmed": 42508, + "ĠSoci": 42509, + "gap": 42510, + "gro": 42511, + "Vote": 42512, + "\"But": 42513, + "_RC": 42514, + "Animal": 42515, + "ÂĢ": 42516, + "ibile": 42517, + "Ġawaken": 42518, + "orest": 42519, + "inja": 42520, + "ĠIvan": 42521, + "(Command": 42522, + "Ġ*****": 42523, + "η": 42524, + "Ġkvinder": 42525, + "/helpers": 42526, + "_cases": 42527, + "tg": 42528, + "ìĦ¸": 42529, + "Registered": 42530, + "ĉpass": 42531, + "_digits": 42532, + "Ġcontour": 42533, + "Ġinfants": 42534, + "Ġjustification": 42535, + "ĠFortunately": 42536, + "Contr": 42537, + "ĠonCreateView": 42538, + "_SAMPLE": 42539, + "ĠallowNull": 42540, + "Ġnud": 42541, + "Ġfetched": 42542, + "_equ": 42543, + "ĠUnable": 42544, + "=\\\"\"": 42545, + ">{Ċ": 42546, + "Ġcommittees": 42547, + "istema": 42548, + "+\".": 42549, + "ÃŃan": 42550, + "mant": 42551, + "Ġsoutheast": 42552, + "ï¼ĮĊ": 42553, + "dialogs": 42554, + "PROJECT": 42555, + "charger": 42556, + "-port": 42557, + "(uuid": 42558, + ".export": 42559, + "Six": 42560, + "ĠRP": 42561, + "Prem": 42562, + "Ġconscience": 42563, + "ĠmarginRight": 42564, + "_distribution": 42565, + "yaml": 42566, + "resizing": 42567, + "Dock": 42568, + "ĠLocations": 42569, + "GY": 42570, + "Seed": 42571, + "BUFFER": 42572, + "ossip": 42573, + "ullen": 42574, + "Things": 42575, + "-self": 42576, + ".poll": 42577, + "PLAYER": 42578, + "Ġå®": 42579, + "GROUP": 42580, + "ĠAway": 42581, + "Ġgospel": 42582, + "xfd": 42583, + "Mary": 42584, + "ĠPortable": 42585, + "TURE": 42586, + "Ġutilis": 42587, + "Ġseit": 42588, + "Ġstrand": 42589, + "Ġtransc": 42590, + "Ġ(^": 42591, + "ĠAlfred": 42592, + ".mem": 42593, + ".circle": 42594, + "Ġ~/": 42595, + "forcing": 42596, + "Ġriot": 42597, + "prox": 42598, + "THON": 42599, + "ización": 42600, + "ĠNI": 42601, + "rost": 42602, + "Ġdispro": 42603, + "_instances": 42604, + "ï¼ĮâĢľ": 42605, + "ographer": 42606, + "endas": 42607, + "ĠIsaac": 42608, + "ĠPine": 42609, + "/dis": 42610, + "ĠcolorWith": 42611, + "iterate": 42612, + "_stride": 42613, + "Ġpunto": 42614, + ".EventArgs": 42615, + "(center": 42616, + "Ġneighboring": 42617, + "ĠPrison": 42618, + "ĠMessenger": 42619, + "Ġepidemic": 42620, + "dao": 42621, + "_complex": 42622, + "Ġgravel": 42623, + "_DIP": 42624, + "ément": 42625, + "ĠAri": 42626, + "_bitmap": 42627, + ".quit": 42628, + "(valid": 42629, + "Ġpend": 42630, + "Ġrespiratory": 42631, + "Ġrebound": 42632, + "DefaultValue": 42633, + "ãĥŃ": 42634, + "Ġcommits": 42635, + ".tests": 42636, + "_fr": 42637, + "itet": 42638, + ".sf": 42639, + "Ġspacecraft": 42640, + "critical": 42641, + "Ġdepressed": 42642, + "ĠAnyObject": 42643, + "Ġunb": 42644, + "Ġdiscern": 42645, + "(mysql": 42646, + "Latin": 42647, + "ĠBog": 42648, + "ĠWildlife": 42649, + "ToFile": 42650, + "ioxid": 42651, + "@RestController": 42652, + "Ġ\"$(": 42653, + "Ġ<<\"": 42654, + "Ġdefects": 42655, + "Ġdatum": 42656, + "hin": 42657, + "Ġrealizar": 42658, + "anyahu": 42659, + "ĠSig": 42660, + "@Data": 42661, + "adaptive": 42662, + "ĠCatherine": 42663, + ".cr": 42664, + "ĠCOOKIE": 42665, + "Ġpictured": 42666, + "ĠFighter": 42667, + "Queryable": 42668, + "ĠAnyway": 42669, + "ĠGLFW": 42670, + "_namespace": 42671, + "_ft": 42672, + "Ġ])": 42673, + "Organization": 42674, + "Ġconstitutes": 42675, + "Ġquand": 42676, + "(chunk": 42677, + "\"/>čĊ": 42678, + "ĠLakes": 42679, + "mainwindow": 42680, + "Carthy": 42681, + "spin": 42682, + "(csv": 42683, + ":red": 42684, + "-commerce": 42685, + "ู": 42686, + "Ġdiscovering": 42687, + "Ġeco": 42688, + "_fac": 42689, + "inceton": 42690, + "ĠGreens": 42691, + "jwt": 42692, + "ص": 42693, + "ĠBroncos": 42694, + "ĠGoods": 42695, + "(GTK": 42696, + "ĠreturnValue": 42697, + "Ġsiempre": 42698, + "Ġneutr": 42699, + "went": 42700, + "ĠNatal": 42701, + "Ġenthusiastic": 42702, + "á»į": 42703, + "FN": 42704, + "/database": 42705, + "Catalog": 42706, + "Ġbrun": 42707, + "ĠKash": 42708, + "_Pl": 42709, + "iscrim": 42710, + ",width": 42711, + "Ġinmates": 42712, + "Assignment": 42713, + "ĠHaven": 42714, + "Ġplayground": 42715, + "exam": 42716, + "@Controller": 42717, + "uliar": 42718, + ".getParent": 42719, + "Ġ\";ĊĊ": 42720, + ":size": 42721, + "issors": 42722, + "Ġfis": 42723, + "Ġalc": 42724, + "ensation": 42725, + "ĠNixon": 42726, + "Ġmighty": 42727, + "-str": 42728, + "_special": 42729, + "_ADC": 42730, + "ĠTwig": 42731, + "umbling": 42732, + "-address": 42733, + "Ġheroin": 42734, + "YTE": 42735, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 42736, + "Friend": 42737, + "Ġave": 42738, + "ĠPNG": 42739, + "ĠKurdish": 42740, + "DataSetChanged": 42741, + "Ġblades": 42742, + "bral": 42743, + "Steam": 42744, + "Ġsigu": 42745, + "IRTUAL": 42746, + "acos": 42747, + "UDP": 42748, + "(database": 42749, + "hec": 42750, + "ĠStrings": 42751, + "_scalar": 42752, + "ĉdesc": 42753, + "ĠTLS": 42754, + ";\"Ċ": 42755, + "ĠCorbyn": 42756, + "SimpleName": 42757, + "uell": 42758, + "ĠEntre": 42759, + "ellites": 42760, + "-place": 42761, + "Ġfrankly": 42762, + "ĠErf": 42763, + "CEL": 42764, + "ĠpaÃŃs": 42765, + "Ġhedge": 42766, + "Ġlatent": 42767, + "ĠIRQ": 42768, + "ĠHerald": 42769, + "ĠPrec": 42770, + "ë³´": 42771, + ".TEXT": 42772, + "Salary": 42773, + "Ġautumn": 42774, + "Ġtravail": 42775, + ".Sum": 42776, + "Ġcared": 42777, + "Mor": 42778, + "Ġintuitive": 42779, + "Ġjournals": 42780, + "_IT": 42781, + "ĠTrou": 42782, + "ä¼ł": 42783, + "HasColumnName": 42784, + "Composite": 42785, + "Ġspice": 42786, + "_disk": 42787, + "_CODES": 42788, + "ĠIntroduced": 42789, + "iona": 42790, + "Ġnuestra": 42791, + "oct": 42792, + "ĠĠĠĠĊĠĠĠĠĊĠĠĠĠĊ": 42793, + "(parameter": 42794, + "Ġstudios": 42795, + "ĠprojectId": 42796, + "Ġbdsm": 42797, + ".SqlClient": 42798, + "imizer": 42799, + "ĠCARD": 42800, + "+t": 42801, + "aan": 42802, + ".sol": 42803, + "_Adjust": 42804, + "Ġrighteous": 42805, + "ĠLogging": 42806, + ".filters": 42807, + "_TAB": 42808, + "ĉsys": 42809, + "rophic": 42810, + "otherapy": 42811, + "ĠBrowse": 42812, + "keyboard": 42813, + "RON": 42814, + "+\\": 42815, + "ropped": 42816, + "Ġextensively": 42817, + "fk": 42818, + "Ġlime": 42819, + "years": 42820, + "Exc": 42821, + "Ġsph": 42822, + "Ġcheating": 42823, + "andro": 42824, + "ÃŃo": 42825, + "Ġprince": 42826, + "oire": 42827, + "ĠDestination": 42828, + "ĠConverts": 42829, + "Ġupstream": 42830, + "oled": 42831, + "Ġservants": 42832, + "Ġsemantic": 42833, + "Ġcrunch": 42834, + "Ġeventual": 42835, + "runner": 42836, + "/error": 42837, + "Spin": 42838, + "Ġsecretly": 42839, + "Ġassemble": 42840, + ".Person": 42841, + "enderror": 42842, + "_<": 42843, + "Ġpendant": 42844, + "Sleep": 42845, + "ĠChemistry": 42846, + "Ġbosses": 42847, + "lk": 42848, + "))),Ċ": 42849, + "Blockly": 42850, + "DEVICE": 42851, + "Ġreflecting": 42852, + "Ġample": 42853, + "Milliseconds": 42854, + "ĠPresidential": 42855, + "Ġusuarios": 42856, + "ĠNZ": 42857, + "ĠSalary": 42858, + "ĠAmanda": 42859, + "_np": 42860, + "jury": 42861, + "Ġkön": 42862, + "Ġtherapist": 42863, + "Ġhomosexual": 42864, + "ĠDrake": 42865, + "-window": 42866, + "ĠLocated": 42867, + ".Driver": 42868, + "ĠVIDEO": 42869, + "Ġmerchants": 42870, + "ĠChest": 42871, + "-lock": 42872, + "/php": 42873, + "Ġmilano": 42874, + "_STYLE": 42875, + "arger": 42876, + "idea": 42877, + "GUID": 42878, + "advanced": 42879, + "meal": 42880, + "OptionsItemSelected": 42881, + "='%": 42882, + "ĠCham": 42883, + ":data": 42884, + "(stat": 42885, + "WillAppear": 42886, + "Ġinformal": 42887, + "aji": 42888, + "Ġreproductive": 42889, + "ĠCAS": 42890, + "ãģ£": 42891, + "FUNC": 42892, + "ĠRuth": 42893, + ")+(": 42894, + "CONST": 42895, + "ĠFans": 42896, + "ĠgroupId": 42897, + "xffffffff": 42898, + "Ġsampler": 42899, + "Ġ}}\">": 42900, + ".the": 42901, + "Ġhollow": 42902, + "WAY": 42903, + "ĠFaculty": 42904, + "AttributedString": 42905, + "ĠLooks": 42906, + "ĠRex": 42907, + "jk": 42908, + "ĠMIL": 42909, + "Ġbard": 42910, + ".Long": 42911, + "Ġlivest": 42912, + "Ġskal": 42913, + "icism": 42914, + "MAIN": 42915, + "Ġmucho": 42916, + "BODY": 42917, + "Ġese": 42918, + "ĉuse": 42919, + "Foot": 42920, + ".SQLException": 42921, + "Ġinheritance": 42922, + "received": 42923, + "Ġputas": 42924, + "edis": 42925, + "alsa": 42926, + "ĠErrorMessage": 42927, + "Booking": 42928, + "Ġtract": 42929, + "acz": 42930, + "ĠCant": 42931, + "_regex": 42932, + "Ġideological": 42933, + "Ġjihad": 42934, + "hos": 42935, + "/sys": 42936, + "colm": 42937, + "(pool": 42938, + "Ġestán": 42939, + "ĠPending": 42940, + "emás": 42941, + "Ġktóry": 42942, + "));ĊĊĊ": 42943, + "transactions": 42944, + "Ġwield": 42945, + "itere": 42946, + "erture": 42947, + "_ss": 42948, + "Ġstretching": 42949, + "Ġprisoner": 42950, + ".ReadAll": 42951, + "Ġbesch": 42952, + "--;čĊ": 42953, + "Ġcrisp": 42954, + "_SCAN": 42955, + "Ġae": 42956, + "Strict": 42957, + "ĠMinneapolis": 42958, + "ĠBoeing": 42959, + "aris": 42960, + "rek": 42961, + "_pipe": 42962, + "Ġpriests": 42963, + "(EIF": 42964, + "ehicles": 42965, + "ĠInteractive": 42966, + "between": 42967, + "ĉNullCheck": 42968, + "ĠBlair": 42969, + "ĠLt": 42970, + "_inline": 42971, + "ethyl": 42972, + "¼": 42973, + "_packages": 42974, + "Ġbarrels": 42975, + "_he": 42976, + "Ġregexp": 42977, + "_pts": 42978, + "_Handler": 42979, + "ingular": 42980, + "ĠNissan": 42981, + "ĠRanch": 42982, + "Ġperch": 42983, + "Unsupported": 42984, + "Smith": 42985, + "ĠLegends": 42986, + "Mi": 42987, + "Ġgf": 42988, + "steder": 42989, + "Ġacquiring": 42990, + "Ġsimulator": 42991, + "(),\"": 42992, + "receive": 42993, + "Ġinplace": 42994, + "ACTION": 42995, + "ĠWebDriver": 42996, + "filesystem": 42997, + "'+Ċ": 43009, + "Ġcredible": 43010, + "amat": 43011, + "playing": 43012, + ".setImageResource": 43013, + "quel": 43014, + "Ġpodr": 43015, + "geom": 43016, + "Ek": 43017, + "ĠQatar": 43018, + "Ġgeld": 43019, + "?',Ċ": 43020, + "Ġcyl": 43021, + "(ax": 43022, + "ĠWI": 43023, + "urally": 43024, + "ĠBrasil": 43025, + "Ġsenza": 43026, + "aley": 43027, + "onen": 43028, + "Ġbah": 43029, + "Ġmolecule": 43030, + "Rad": 43031, + "è¿°": 43032, + "ANCH": 43033, + "-background": 43034, + "-agent": 43035, + "Ġprolifer": 43036, + ":boolean": 43037, + "Ġtide": 43038, + "erializer": 43039, + "_;čĊ": 43040, + "Fee": 43041, + "**)": 43042, + "ergy": 43043, + "ĠHonor": 43044, + ".Logging": 43045, + "iris": 43046, + "Ġundermine": 43047, + "ĠDy": 43048, + "Ġtyr": 43049, + "Ġdeque": 43050, + "Ġdamer": 43051, + "([])Ċ": 43052, + ".layoutControlItem": 43053, + "peated": 43054, + "CAN": 43055, + "ragments": 43056, + "Land": 43057, + ")]);Ċ": 43058, + "ĠSah": 43059, + "ĠDECL": 43060, + "Within": 43061, + "ĠNamespace": 43062, + "another": 43063, + "sembling": 43064, + ".describe": 43065, + "Consum": 43066, + "ĠFear": 43067, + "given": 43068, + "Orange": 43069, + "This": 43093, + "ĠdataIndex": 43094, + "Ġprintable": 43095, + "ĠEyes": 43096, + "_targets": 43097, + "(Py": 43098, + ".over": 43099, + "Ġbru": 43100, + "ampton": 43101, + "Ġplaintiff": 43102, + ");Ċ": 43113, + "invest": 43114, + ".*ĊĊ": 43115, + "Ġtélé": 43116, + "Ġsuperf": 43117, + "Ġcascade": 43118, + "DTD": 43119, + "Ġvivid": 43120, + "Ġsubsidies": 43121, + "ĠHass": 43122, + "Ġcollaps": 43123, + "Ġceramic": 43124, + "{}\".": 43125, + "ĠLeakage": 43126, + "-trash": 43127, + "collapsed": 43128, + "-social": 43129, + "ĠChad": 43130, + "Ġinclined": 43131, + "Ġsto": 43132, + "Ġstoryboard": 43133, + ".payment": 43134, + "stackoverflow": 43135, + "ĠRaiders": 43136, + "Ġ#'": 43137, + "olicies": 43138, + "ìľ¼ë¡ľ": 43139, + "emap": 43140, + "Ġkj": 43141, + "Ġquota": 43142, + "ĠGardens": 43143, + "ë²Ī": 43144, + "ĠAngels": 43145, + "Ġoft": 43146, + "Ġlowercase": 43147, + "ĠiParam": 43148, + "Ġcheapest": 43149, + "unta": 43150, + "_pkt": 43151, + "icators": 43152, + "Ġleurs": 43153, + "Ġdecreases": 43154, + "ĉdefine": 43155, + "PREC": 43156, + "ammers": 43157, + "ĠPreparedStatement": 43158, + "(direction": 43159, + "Ġcrews": 43160, + "arked": 43161, + "ĠMemphis": 43162, + "ĠSell": 43163, + "GTK": 43164, + "Ġmaid": 43165, + ":disable": 43166, + "éĽĨ": 43167, + "ĠPf": 43168, + "Ġalbeit": 43169, + "openh": 43170, + "?>\">Ċ": 43171, + ".getSource": 43172, + "(scale": 43173, + "Du": 43174, + "ĠPIL": 43175, + "_refresh": 43176, + "Ġbets": 43177, + "(car": 43178, + "ĠVon": 43179, + "|--------------------------------------------------------------------------Ċ": 43180, + "ĠGrat": 43181, + "Much": 43182, + "(Dialog": 43183, + ".stopPropagation": 43184, + "Ġtek": 43185, + "Ġexits": 43186, + "'],$": 43187, + "ĠphoneNumber": 43188, + "ucs": 43189, + "ecimal": 43190, + "--------------": 43191, + "inp": 43192, + ".pojo": 43193, + "Ġcorpus": 43194, + "Ġpractitioners": 43195, + ".pic": 43196, + "\"testing": 43197, + "ĠstringBy": 43198, + ".NotNull": 43199, + "Ġrang": 43200, + ".Dynamic": 43201, + "_Render": 43202, + "аÑĤа": 43203, + "Waiting": 43204, + "ĠWik": 43205, + "Ġoverwhelmed": 43206, + "%\">": 43207, + "ĠAE": 43208, + "}}>Ċ": 43209, + "uw": 43210, + "_typ": 43211, + "Ġbuckets": 43212, + "Ġgreeting": 43213, + "Ġlaughter": 43214, + "Ġantagon": 43215, + "uggestion": 43216, + "-email": 43217, + "ĉtop": 43218, + "Ġeros": 43219, + "_tri": 43220, + "Ġissuing": 43221, + "Ġhá": 43222, + "Ġisolate": 43223, + "Overflow": 43224, + ",E": 43225, + "Ġnutritional": 43226, + "ĠAbbott": 43227, + "Ġnf": 43228, + ".touch": 43229, + ".fetchall": 43230, + "_zip": 43231, + "\")}Ċ": 43232, + "Ġamat": 43233, + "ĠCisco": 43234, + "ĠnÃ¥": 43235, + "PLEX": 43236, + "Ġsei": 43237, + "foto": 43238, + ".toJson": 43239, + "å¤ļ": 43240, + "ĠKlein": 43241, + "Ġlibc": 43242, + "Ġminers": 43243, + "å¢": 43244, + "-print": 43245, + "ĠPride": 43246, + "Todos": 43247, + "Ġmasked": 43248, + "ĠsetData": 43249, + "Ġtelefon": 43250, + "Ġunhappy": 43251, + "ĠTables": 43252, + "geb": 43253, + "(debug": 43254, + "_allowed": 43255, + "-access": 43256, + "Ġlogistics": 43257, + "Ġgems": 43258, + "ĠMature": 43259, + "Ġrsp": 43260, + "ĠAlle": 43261, + ".getBytes": 43262, + "\\web": 43263, + "ynchronized": 43264, + "Paragraph": 43265, + "Ġthrottle": 43266, + ".sqlite": 43267, + "consulta": 43268, + "ĠSeah": 43269, + "Ce": 43270, + "Ġsubmar": 43271, + "ERE": 43272, + "Vous": 43273, + "Ġreddit": 43274, + "Ġsqlalchemy": 43275, + "-mile": 43276, + "ocide": 43277, + "Pour": 43278, + "}}\">Ċ": 43279, + "stead": 43280, + "Ġ@(": 43281, + "Ġ[])": 43282, + "ĠAds": 43283, + "Ġoverload": 43284, + "ridden": 43285, + "ĠDesert": 43286, + "ĠWrap": 43287, + "ĠPortuguese": 43288, + "etz": 43289, + "ĉfirst": 43290, + "Ġmilestone": 43291, + "æĹł": 43292, + "ÑĥÑī": 43293, + "(success": 43294, + "\")Ċ": 43463, + "ĠDollar": 43464, + "Ġemoji": 43465, + "Carousel": 43466, + "-player": 43467, + "Ġadjusting": 43468, + "Ġjuga": 43469, + "allenges": 43470, + "gene": 43471, + "(bodyParser": 43472, + "lopedia": 43473, + "ĠBehind": 43474, + "Ġsleeves": 43475, + "Ġdragging": 43476, + "ĠChevrolet": 43477, + "Ġbiz": 43478, + "ivities": 43479, + "ĠFrequency": 43480, + ",char": 43481, + ".WHITE": 43482, + "_preview": 43483, + ")';Ċ": 43484, + "_ax": 43485, + "IONS": 43486, + ".cpu": 43487, + ".inputs": 43488, + "UBE": 43489, + "_feed": 43490, + "ĠSupplement": 43491, + "!).": 43492, + "esus": 43493, + "ĠUDP": 43494, + "Ġmicrophone": 43495, + "Ġconfirms": 43496, + ".isNotEmpty": 43497, + "\":\"\",Ċ": 43498, + "_SCREEN": 43499, + "ĉexpected": 43500, + "+-+-+-+-": 43501, + "ĠHait": 43502, + "fastcall": 43503, + "Ġdepict": 43504, + "vb": 43505, + "_picture": 43506, + "ĉdescription": 43507, + "ĠWife": 43508, + "uci": 43509, + "Ġvicious": 43510, + "ä»ĸ": 43511, + "ueba": 43512, + "ĠsetUser": 43513, + "ãģ¡": 43514, + "Ġdiving": 43515, + "Ġopera": 43516, + "usercontent": 43517, + "arah": 43518, + ")},": 43519, + "yun": 43520, + "velt": 43521, + "Ġuncovered": 43522, + "Ġhips": 43523, + "Ġoscill": 43524, + "Ġasserting": 43525, + "ĠXi": 43526, + ".restore": 43527, + "kea": 43528, + "Ġspelling": 43529, + "Ġderive": 43530, + "abwe": 43531, + "ĠDow": 43532, + ".setType": 43533, + "_vs": 43534, + "Ġcozy": 43535, + ".categories": 43536, + "Org": 43537, + "_mgr": 43538, + "Ġdungeon": 43539, + "collectionView": 43540, + "ĠBlank": 43541, + "acias": 43542, + "ää": 43543, + "_cleanup": 43544, + "_ACTIVITY": 43545, + "Ġtriangles": 43546, + ".MenuItem": 43547, + "Ġiphone": 43548, + "ĠWon": 43549, + "]]ĊĊ": 43550, + "ĠComparison": 43551, + ".Doc": 43552, + "Ġcanonical": 43553, + "ĠSudan": 43554, + "'){": 43555, + "UpInside": 43556, + "builtin": 43557, + "ENCY": 43558, + "xbe": 43559, + "Ġchuck": 43560, + "Ġcontradict": 43561, + "Ġnuestro": 43562, + "Ġarchitectural": 43563, + "ĠFib": 43564, + "Ġcompares": 43565, + "*k": 43566, + "Cfg": 43567, + "çĦ¡": 43568, + "nten": 43569, + "Matches": 43570, + "ĠDOWNLOAD": 43571, + "_HANDLER": 43572, + "management": 43573, + "[S": 43574, + "ENG": 43575, + "ÂĢÂ": 43576, + "fang": 43577, + "Ġslipped": 43578, + "ĠLanka": 43579, + "escaping": 43580, + "Ġtackles": 43581, + "ĠPedro": 43582, + ".Prop": 43583, + ".''": 43584, + ".Generated": 43585, + ".NewGuid": 43586, + "atrigesimal": 43587, + "illon": 43588, + "Ġstatistic": 43589, + "species": 43590, + "holding": 43591, + "Drupal": 43592, + "Ġfundamentally": 43593, + "Ġbondage": 43594, + "Ġresolutions": 43595, + "InlineData": 43596, + "\\Type": 43597, + "estion": 43598, + ".wrap": 43599, + "Ġwarriors": 43600, + "ĠLOCAL": 43601, + "Archive": 43602, + "Ġembraced": 43603, + "á»§": 43604, + ".Ver": 43605, + "ĠAffordable": 43606, + "olesale": 43607, + "ĠApplied": 43608, + "ĠConversion": 43609, + "mega": 43610, + "_cam": 43611, + "Ġceremon": 43612, + "aurus": 43613, + "ĠVolk": 43614, + ".opens": 43615, + "/about": 43616, + "ĠStd": 43617, + "journal": 43618, + "()){čĊ": 43619, + ",\"\\": 43620, + "(Arrays": 43621, + "ĠDense": 43622, + "aseña": 43623, + "änner": 43624, + "/stat": 43625, + "userData": 43626, + "Ġgerman": 43627, + "Ġtz": 43628, + "worthy": 43629, + "FormatException": 43630, + "pherd": 43631, + "Ġsmiles": 43632, + "ĠWhenever": 43633, + "(adapter": 43634, + ".badlogic": 43635, + "Ġbriefing": 43636, + ".GridColumn": 43637, + "-char": 43638, + "dimension": 43639, + "ĠCopper": 43640, + "Ġninth": 43641, + "Ġ'{{": 43642, + "Ġrav": 43643, + "_Table": 43644, + "Ġderivatives": 43645, + "ĠRaise": 43646, + "ĠFut": 43647, + "armor": 43648, + "-padding": 43649, + "Ġremin": 43650, + "ĉstyle": 43651, + "ĠMembership": 43652, + "Ġspreads": 43653, + "Ġgalleries": 43654, + "ĠClarke": 43655, + "Ġconception": 43656, + "minute": 43657, + "Ġabusive": 43658, + "_adj": 43659, + "Ġterrific": 43660, + "Ġovert": 43661, + "ourcing": 43662, + "Ġentrada": 43663, + "levels": 43664, + "Ġcritique": 43665, + "Ġrespects": 43666, + "ĠMMA": 43667, + "iene": 43668, + "Ġencaps": 43669, + "ĠRaymond": 43670, + "Divider": 43671, + "ivable": 43672, + "baz": 43673, + "Ġ@_;Ċ": 43674, + "ĠClaire": 43675, + "Ġurging": 43676, + "CEE": 43677, + "Ġtransformer": 43678, + "discord": 43679, + "ĠJourney": 43680, + "tos": 43681, + "Ġcompetitions": 43682, + "ĠOBJ": 43683, + "ĠBis": 43684, + "Ġrelaxation": 43685, + "idy": 43686, + "_INSTANCE": 43687, + "ĠPref": 43688, + "dados": 43689, + "iciencies": 43690, + "ĠMediaQuery": 43691, + "ĠCube": 43692, + "ĠStrange": 43693, + "gpu": 43694, + "(days": 43695, + "_InitStruct": 43696, + "Ġfingerprint": 43697, + "emat": 43698, + "ĠGecko": 43699, + "Ġrails": 43700, + "ĠLum": 43701, + "straction": 43702, + "igung": 43703, + "(movie": 43704, + "_dictionary": 43705, + "_interrupt": 43706, + "ĠQC": 43707, + "iked": 43708, + "appendChild": 43709, + "recipient": 43710, + "ré": 43711, + "Ve": 43712, + "Ġtowel": 43713, + ".lastIndexOf": 43714, + "Ġplacebo": 43715, + "ĠWie": 43716, + ".esp": 43717, + "(Debug": 43718, + "operative": 43719, + "Ġdeceased": 43720, + "&id": 43721, + "ĉmutex": 43722, + "elic": 43723, + "Ġbapt": 43724, + "ĉčĊčĊ": 43725, + "Ġfarther": 43726, + "Half": 43727, + ".disable": 43728, + ".menuStrip": 43729, + "leccion": 43730, + "ĠresultCode": 43731, + "Ġcans": 43732, + "-election": 43733, + "female": 43734, + "_FIX": 43735, + "ausible": 43736, + "ĠPOWER": 43737, + "Ġreconstruction": 43738, + "Ġscans": 43739, + ".XtraBars": 43740, + "âĢĺs": 43741, + "Removed": 43742, + "Ġparagraphs": 43743, + "_margin": 43744, + "Ġlymph": 43745, + "Ġbos": 43746, + "lington": 43747, + "ĠBaptist": 43748, + "Ġadvertisements": 43749, + "ĠManage": 43750, + "/yyyy": 43751, + "IOUS": 43752, + "ENCES": 43753, + "ĠFiction": 43754, + "ĉmenu": 43755, + "ĠFileOutputStream": 43756, + "ovan": 43757, + "ĠFeng": 43758, + "Ġskipping": 43759, + "getClass": 43760, + "anni": 43761, + "Ġrebounds": 43762, + "Ġpublicity": 43763, + "Ġingres": 43764, + "usement": 43765, + "Ġthoughtful": 43766, + ".Chart": 43767, + "Ġhatte": 43768, + "passport": 43769, + "Ġhooked": 43770, + "ĠLens": 43771, + "Ġflagship": 43772, + "Ġstip": 43773, + "ĠGEN": 43774, + "Ġclues": 43775, + "ipv": 43776, + "ĠRise": 43777, + "ĠGew": 43778, + "tablename": 43779, + "Ġforemost": 43780, + "_validate": 43781, + "_analysis": 43782, + "olla": 43783, + "Ġqualifications": 43784, + "Ġdistributions": 43785, + "ĠFlower": 43786, + "Ġtense": 43787, + "Ġthankful": 43788, + "Ġclutch": 43789, + "Ġunified": 43790, + "roads": 43791, + "Ġsiti": 43792, + "Ġstall": 43793, + "_PRIORITY": 43794, + "cstdlib": 43795, + "_USERNAME": 43796, + ".bytes": 43797, + "?page": 43798, + "ermalink": 43799, + "ĠVeget": 43800, + "/vnd": 43801, + "-author": 43802, + ".NONE": 43803, + "ĠConcurrent": 43804, + "ĠCry": 43805, + "Ġstarters": 43806, + "ĠInteraction": 43807, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 43808, + "ĠLEVEL": 43809, + "Ell": 43810, + "ĠcomboBox": 43811, + "ĠTheresa": 43812, + "tek": 43813, + "_Handle": 43814, + "Ġaby": 43815, + ".gdx": 43816, + ",end": 43817, + "(Local": 43818, + "Ol": 43819, + "knife": 43820, + "arial": 43821, + "ĠHoff": 43822, + "Ġprostituerade": 43823, + "Doctor": 43824, + "Instances": 43825, + ".SetValue": 43826, + "ĉfrom": 43827, + "Ġluxurious": 43828, + "Indent": 43829, + "Allocator": 43830, + "_DRAW": 43831, + "(\",\",": 43832, + "ĠFrances": 43833, + "ĠgroupBox": 43834, + "(schema": 43835, + "Printf": 43836, + "ORIES": 43837, + "-gradient": 43838, + "Ġreput": 43839, + "arin": 43840, + "_DONE": 43841, + "incre": 43842, + "ignty": 43843, + "Ġexert": 43844, + "Ġ-.": 43845, + "/App": 43846, + "-through": 43847, + "Ġdeclining": 43848, + "Ġdessert": 43849, + "Ġincumb": 43850, + "Ġdesignation": 43851, + ".PORT": 43852, + ",strong": 43853, + "Ġsandbox": 43854, + "Ġwines": 43855, + "ĠPav": 43856, + "$str": 43857, + "askell": 43858, + "Ġhö": 43859, + "ĠPY": 43860, + "GetInstance": 43861, + "TextInput": 43862, + "gameObject": 43863, + "/events": 43864, + "createdAt": 43865, + "ĠlocalVar": 43866, + "ĠWHITE": 43867, + "pered": 43868, + "ilege": 43869, + "efficient": 43870, + ",color": 43871, + "cate": 43872, + "ĠCafe": 43873, + "Ġsimilarities": 43874, + "Ġpumps": 43875, + "ĠHungary": 43876, + ".Username": 43877, + "Ġskate": 43878, + "Ġtouchdowns": 43879, + "Ġaccelerate": 43880, + "ĠHelen": 43881, + "OMEM": 43882, + "ĠKun": 43883, + "_vol": 43884, + "ĠfindAll": 43885, + "ĠMenschen": 43886, + "ahead": 43887, + ");\"": 43888, + "kommen": 43889, + "Ġpossessed": 43890, + ".argmax": 43891, + ".transition": 43892, + "ARP": 43893, + "OLUME": 43894, + "(script": 43895, + "ĠÐĺ": 43896, + "ĠFinding": 43897, + "onces": 43898, + "Io": 43899, + "Bold": 43900, + "Ġrenewal": 43901, + "_DIALOG": 43902, + "Ġdisreg": 43903, + "INTERN": 43904, + "Ġtoute": 43905, + "Ġelectr": 43906, + "ĠGross": 43907, + "ĉtrue": 43908, + ".Fields": 43909, + "ĠWIDTH": 43910, + "ĠDent": 43911, + "ĠÃģ": 43912, + "NSNotification": 43913, + "Ġaos": 43914, + "Ġmelee": 43915, + ".Validation": 43916, + "ĠDEC": 43917, + "-dependent": 43918, + "Ġsuic": 43919, + "Traits": 43920, + "$message": 43921, + "ĠDear": 43922, + "ĉFILE": 43923, + "languages": 43924, + ".Prot": 43925, + ".addr": 43926, + "-generation": 43927, + "ICON": 43928, + "Ġtransplant": 43929, + "-description": 43930, + "Ġchasing": 43931, + "Ġchees": 43932, + "Ġ}*/Ċ": 43933, + "Trad": 43934, + "queries": 43935, + "/widgets": 43936, + "subpackage": 43937, + "Ġespec": 43938, + "Ġcracked": 43939, + "Ġcompetitor": 43940, + "Purchase": 43941, + "-team": 43942, + "olecular": 43943, + "orThunk": 43944, + "&P": 43945, + "Ġrelent": 43946, + "/#{": 43947, + "ĠproductId": 43948, + "Ġè¾": 43949, + "ĠLav": 43950, + "ĠAlter": 43951, + ".Mode": 43952, + "ADIO": 43953, + "grp": 43954, + "æ·»åĬł": 43955, + "Quit": 43956, + "Ġdepths": 43957, + "-category": 43958, + "ĠDATABASE": 43959, + "SPELL": 43960, + "ĠFalcon": 43961, + "ĠQStringList": 43962, + "Ġ''.": 43963, + "ĠInstitution": 43964, + "damage": 43965, + "azor": 43966, + "belongsTo": 43967, + "verages": 43968, + "ĠNONE": 43969, + "ippets": 43970, + ",\\Ċ": 43971, + "Ġfootprint": 43972, + "_archive": 43973, + "nak": 43974, + ".getField": 43975, + "ĠReflection": 43976, + "Ġ']": 43977, + "ĠHBO": 43978, + "_discount": 43979, + "Ġincest": 43980, + "ĠDodge": 43981, + "ĠWade": 43982, + ".NO": 43983, + "\"encoding": 43984, + "ĠBlockchain": 43985, + "Ġlawsuits": 43986, + "ĠMaint": 43987, + "chten": 43988, + "Ġétait": 43989, + "Ġktóre": 43990, + "_ctl": 43991, + "(timer": 43992, + "Battle": 43993, + "izo": 43994, + "ayed": 43995, + "IOR": 43996, + "ĠGlasgow": 43997, + "Ġsynth": 43998, + "_logs": 43999, + ".pose": 44000, + "_AdjustorThunk": 44001, + "((&": 44002, + "Ġunsure": 44003, + "ystate": 44004, + "íķĺëĬĶ": 44005, + "OULD": 44006, + ".ng": 44007, + "Ġdefaultdict": 44008, + "workspace": 44009, + "Ġselective": 44010, + "PickerController": 44011, + "YNAMIC": 44012, + ".methods": 44013, + "Ġpathways": 44014, + "ĠFew": 44015, + "KG": 44016, + "CRYPT": 44017, + "following": 44018, + "ĠDLC": 44019, + "ĠSara": 44020, + "Ġpreset": 44021, + "estructor": 44022, + "ĠKurt": 44023, + "Ġairplane": 44024, + "Ġomp": 44025, + "ĠParents": 44026, + "ĠMartinez": 44027, + ".complete": 44028, + "Ġbroadly": 44029, + "Ġscare": 44030, + "ĠMé": 44031, + "Ġelimination": 44032, + "Ġpoured": 44033, + "/sw": 44034, + "Ġcomun": 44035, + "Ġmasc": 44036, + "ĠOrganic": 44037, + "ĠStringUtils": 44038, + "ilateral": 44039, + "Ġreluctant": 44040, + "-age": 44041, + "Ġnz": 44042, + ".\"\\": 44043, + "Ġpastor": 44044, + "alez": 44045, + "Ġefect": 44046, + "prov": 44047, + "/init": 44048, + "Ġpenn": 44049, + "unds": 44050, + "Ġssize": 44051, + "ĠProj": 44052, + "basename": 44053, + "Ġshells": 44054, + "ĠNeck": 44055, + "ĠEnforcement": 44056, + "vided": 44057, + "stown": 44058, + "Sphere": 44059, + "$r": 44060, + "ussen": 44061, + "afil": 44062, + "ĠTelegram": 44063, + "Ġanalytical": 44064, + "нÑĭе": 44065, + "usually": 44066, + "xn": 44067, + "Ġhistorian": 44068, + "ĠGregory": 44069, + "olph": 44070, + "ĠUna": 44071, + "Ġcontributes": 44072, + "%-": 44073, + "antiago": 44074, + "ÑĢед": 44075, + ".region": 44076, + "Ġabrupt": 44077, + "ĠUnsupportedOperationException": 44078, + "ĠTASK": 44079, + "_finish": 44080, + "Ġnotorious": 44081, + "ĠVs": 44082, + "ĠMQ": 44083, + "Ġsunset": 44084, + "Ġunacceptable": 44085, + "arcer": 44086, + "Ġillumin": 44087, + "ĠOrb": 44088, + "Ġbh": 44089, + "Este": 44090, + "_dispatch": 44091, + "Ġripped": 44092, + "Ġtoujours": 44093, + "ĠParcel": 44094, + "_ll": 44095, + ".userName": 44096, + ".classes": 44097, + "SOURCE": 44098, + "(Number": 44099, + "елÑı": 44100, + "Ġheadphones": 44101, + "(side": 44102, + "constitution": 44103, + "annah": 44104, + "čĊĠĠĠĠĠĠĠĠčĊ": 44105, + "Ġcliff": 44106, + "-ref": 44107, + "Ġmostrar": 44108, + "ĠPowell": 44109, + "+y": 44110, + "ĠBG": 44111, + "_fragment": 44112, + ".Port": 44113, + "Ġrealizing": 44114, + "paramref": 44115, + "Ġhometown": 44116, + "@Table": 44117, + "+\"--}}Ċ": 44296, + "French": 44297, + "EntityManager": 44298, + "ĠPlain": 44299, + "////////////////////////////////////////////////////////////////////": 44300, + "³": 44301, + "(RE": 44302, + "capt": 44303, + "Ġorganisms": 44304, + "Ġjets": 44305, + "olocation": 44306, + "ĠAppRoutingModule": 44307, + "Ġglorious": 44308, + "æľį": 44309, + "Ġdiscarded": 44310, + "ĉĉĉĉĠĠĠĠĠ": 44311, + "ĠArnold": 44312, + "lug": 44313, + "Ġparl": 44314, + "Ġhormones": 44315, + "Ġmah": 44316, + "ĠSonic": 44317, + "Ġorganizers": 44318, + "_PLATFORM": 44319, + ".inv": 44320, + "Ġchord": 44321, + "ventional": 44322, + "ĉof": 44323, + "Episode": 44324, + ".Enum": 44325, + "unkt": 44326, + "ĠDh": 44327, + "ĠJared": 44328, + "ĠNak": 44329, + "Ġintends": 44330, + "Endian": 44331, + "Ġaustralia": 44332, + "_cv": 44333, + "(resolve": 44334, + "Ġclinics": 44335, + "liked": 44336, + "ASHINGTON": 44337, + "inha": 44338, + "'*": 44339, + "ĠNP": 44340, + "_beh": 44341, + "Ġhf": 44342, + "Ġwür": 44343, + "categoria": 44344, + "$form": 44345, + "Ġsubway": 44346, + "ĠisActive": 44347, + "popular": 44348, + "Cour": 44349, + "Ġcooldown": 44350, + "Ġainsi": 44351, + "ĠGLuint": 44352, + "ereal": 44353, + "ĠarrayOf": 44354, + "Ġhatch": 44355, + "==========": 44356, + "resses": 44357, + "_PP": 44358, + ".^": 44359, + "_decay": 44360, + "ĠBless": 44361, + "metrics": 44362, + "ĠCOPYING": 44363, + "ĠDumpster": 44364, + "ĠJosé": 44365, + "ĠDesigns": 44366, + "<": 44369, + "Ġ\"}Ċ": 44370, + "timezone": 44371, + "Ġeer": 44372, + "maxcdn": 44373, + "ĠESC": 44374, + "igaret": 44375, + "_connected": 44376, + "_reverse": 44377, + "Ġquestionable": 44378, + "ĠUSC": 44379, + "Ġtutti": 44380, + "Ġdropout": 44381, + "ĠActivities": 44382, + "ĠWinds": 44383, + "')));Ċ": 44384, + "Ġcongest": 44385, + "ģı": 44386, + "Ġprolonged": 44387, + "è¿Ļ": 44388, + "ĠCrossAxisAlignment": 44389, + "LEEP": 44390, + "ĠVALID": 44391, + "ĠGaz": 44392, + "Ġdependence": 44393, + "ĠPrix": 44394, + ".CompilerServices": 44395, + "jump": 44396, + "Ġstrat": 44397, + "circ": 44398, + "ĠCUSTOM": 44399, + "xaa": 44400, + "Ġbmp": 44401, + "Ġbureau": 44402, + "Ġwaren": 44403, + "NX": 44404, + "(Window": 44405, + "ĠChristie": 44406, + "_FE": 44407, + "Ġtn": 44408, + "ĠOmega": 44409, + "communications": 44410, + "HomePage": 44411, + "completion": 44412, + "Ġsupplying": 44413, + "YPES": 44414, + "ável": 44415, + "åζ": 44416, + "(click": 44417, + "\\Contracts": 44418, + "/questions": 44419, + "Ġez": 44420, + "AMS": 44421, + ".mesh": 44422, + "Ġ'\\Ċ": 44473, + "Robot": 44474, + "JsonObject": 44475, + "ĠDF": 44476, + "ĠProcessor": 44477, + "_should": 44478, + ".protobuf": 44479, + "-users": 44480, + "Ġembry": 44481, + "FONT": 44482, + "Ġstartups": 44483, + "ĠDataSource": 44484, + ")#": 44485, + "uros": 44486, + "_Color": 44487, + "Ġstandalone": 44488, + "}[": 44489, + "jd": 44490, + "Ġforgive": 44491, + "Ġngx": 44492, + "ĠGenerally": 44493, + "Ġconfigurable": 44494, + "/order": 44495, + "Ġvas": 44496, + "')\";Ċ": 44497, + "ĠRR": 44498, + "ĠTroy": 44499, + "Ġcompromised": 44500, + "ĠSwan": 44501, + "intendent": 44502, + "Central": 44503, + "_keeper": 44504, + "Ġarquivo": 44505, + "ĠReadOnly": 44506, + "_curve": 44507, + "kv": 44508, + "entin": 44509, + "è±": 44510, + "ĠEy": 44511, + ".imread": 44512, + "ĠPam": 44513, + "iffe": 44514, + "ativity": 44515, + "xbc": 44516, + "Ġgrim": 44517, + "-filled": 44518, + "namese": 44519, + "']:": 44520, + "Ġaur": 44521, + "ĠGibson": 44522, + ".MouseEvent": 44523, + "Ġlado": 44524, + "avadoc": 44525, + "Ġfamil": 44526, + "ĠModer": 44527, + "fps": 44528, + "ãĢĢãĢĢ": 44529, + "-example": 44530, + "ĠAlzheimer": 44531, + "ĠUtf": 44532, + "_arguments": 44533, + "Conclusion": 44534, + "textContent": 44535, + "remaining": 44536, + "Ġinterrupts": 44537, + "ĠBackup": 44538, + "ĠMong": 44539, + "Ġreceptors": 44540, + "histor": 44541, + ".coroutines": 44542, + "Ġshouted": 44543, + "Alarm": 44544, + "Ġcombust": 44545, + "Ġgrote": 44546, + "ultural": 44547, + "(ids": 44548, + "--------------------------------------------------------------------------------": 44549, + "iplinary": 44550, + "Opts": 44551, + "ĠYale": 44552, + "localStorage": 44553, + "Ġequival": 44554, + "ĠFleet": 44555, + "\\b": 44556, + "*pi": 44557, + "ĠQLabel": 44558, + "æ¡": 44559, + "Ġvx": 44560, + "ĠACL": 44561, + "Ġsucesso": 44562, + "Ġperc": 44563, + "ĠNotre": 44564, + "Ġanarch": 44565, + "Ring": 44566, + "spb": 44567, + "Ġstrpos": 44568, + "stores": 44569, + "ĠMaple": 44570, + "(MainActivity": 44571, + "(\"\"))": 44572, + "ĠviewHolder": 44573, + "Quad": 44574, + "Ġigual": 44575, + "orsche": 44576, + ".margin": 44577, + "Ġindie": 44578, + "Ġfranc": 44579, + "ĠFormBuilder": 44580, + "ĠParticip": 44581, + ".flash": 44582, + "Ġstorms": 44583, + "Ult": 44584, + "Ġfen": 44585, + "[new": 44586, + "Ever": 44587, + "=\"Ċ": 44588, + "Ġlocalized": 44589, + "_follow": 44590, + "Ġnave": 44591, + "Ġdominance": 44592, + "(tile": 44593, + "Journal": 44594, + "ĠVC": 44595, + "Ġpenetration": 44596, + "ï¼ķ": 44597, + "Ġcompartment": 44598, + "Ġbids": 44599, + "Formatted": 44600, + "******/ĊĊ": 44601, + "(city": 44602, + "âĢĶit": 44603, + "[C": 44604, + "ĠuseCallback": 44605, + "aub": 44606, + ")?.": 44607, + "ĠVAR": 44608, + "ĠSebastian": 44609, + "ĠMoss": 44610, + "Ġabundant": 44611, + "Greg": 44612, + "ÑĤа": 44613, + "_ci": 44614, + "Ġbibli": 44615, + "CRM": 44616, + "ĠAttempt": 44617, + "isme": 44618, + "dash": 44619, + "ãĢİ": 44620, + "_mu": 44621, + ".FormattingEnabled": 44622, + "Indeed": 44623, + "-direct": 44624, + "Ġsucking": 44625, + "Ġpne": 44626, + "ocabulary": 44627, + "ĠPackers": 44628, + ".Navigation": 44629, + "Ġpied": 44630, + "cribing": 44631, + "ĠStuart": 44632, + ".ToDouble": 44633, + "ĠSecondary": 44634, + "Saving": 44635, + "ĠDut": 44636, + "ĠMadd": 44637, + "Magic": 44638, + ",H": 44639, + ".documentElement": 44640, + "ĠBST": 44641, + "Ġdiffers": 44642, + "Ġmoreover": 44643, + "_nd": 44644, + "SEARCH": 44645, + "пÑĢав": 44646, + "æ´": 44647, + "toMatch": 44648, + "Ġdecreasing": 44649, + "-member": 44650, + "ampus": 44651, + "(boost": 44652, + "Daily": 44653, + "DataGridView": 44654, + "ĠHttpContext": 44655, + "Ġhipp": 44656, + "_workers": 44657, + "-language": 44658, + "éĵ": 44659, + "Ġconsisted": 44660, + "athing": 44661, + "ĠMercury": 44662, + "$content": 44663, + "Ġpracticed": 44664, + "ĠModules": 44665, + "_DAY": 44666, + "Ġweaknesses": 44667, + "ĠLodge": 44668, + "Ġnar": 44669, + "ĠMate": 44670, + "Ġjp": 44671, + "ĠHttpHeaders": 44672, + "Ġsmo": 44673, + "ĠTOKEN": 44674, + "])(": 44675, + "Ġaqui": 44676, + "swagen": 44677, + "Ġsrv": 44678, + "ĉans": 44679, + "Around": 44680, + "ĠManuel": 44681, + "Ġfictional": 44682, + "ĠIMG": 44683, + "Ġ.'": 44684, + "ĠBerry": 44685, + "Ġwallpaper": 44686, + "sexual": 44687, + "iero": 44688, + "ĠçļĦ": 44689, + "ìĨĮ": 44690, + "BackingField": 44691, + "ĠAdrian": 44692, + "BASEPATH": 44693, + "Ġrepeats": 44694, + "Ġblues": 44695, + "Ġunpredict": 44696, + "_coll": 44697, + "stacle": 44698, + "ĠTumblr": 44699, + "ĠElf": 44700, + "Ġassurance": 44701, + "Ġcensus": 44702, + "ĠIMPORT": 44703, + "ENDER": 44704, + "anos": 44705, + "Ġ=(": 44706, + "ĠEllis": 44707, + "\"ĊĊĊĊ": 44708, + ".win": 44709, + "ĠAbove": 44710, + "alon": 44711, + "_tick": 44712, + "Ġrepresentations": 44713, + "Ġæķ": 44714, + "wid": 44715, + "ĠArms": 44716, + "Lista": 44717, + "_failure": 44718, + "_cm": 44719, + ".FlatAppearance": 44720, + "Ġthrone": 44721, + "Patch": 44722, + "ĠVoy": 44723, + "engl": 44724, + "Ġnegotiating": 44725, + ">`": 44726, + "Ġshoots": 44727, + "ĠFPS": 44728, + ".Year": 44729, + "ĠKiss": 44730, + "ención": 44731, + "reeting": 44732, + "FromFile": 44733, + "Ġresignation": 44734, + "Ø·": 44735, + "Ġtwins": 44736, + "ượ": 44737, + "Ġgebru": 44738, + ".getContent": 44739, + ".Tree": 44740, + "ĠEmployees": 44741, + "ĠFIFA": 44742, + "Ġcertainty": 44743, + "(Cl": 44744, + "Ġtotals": 44745, + "editable": 44746, + "à¥Ģ": 44747, + ".Reporting": 44748, + "Mas": 44749, + "quiet": 44750, + ".rules": 44751, + "ĠVO": 44752, + "conexion": 44753, + ",K": 44754, + "Ġallocator": 44755, + "ĠPowder": 44756, + "\\Repository": 44757, + "Beat": 44758, + "_tipo": 44759, + "Ġ['',": 44760, + "_INTR": 44761, + "Ġ<<<": 44762, + "\");čĊ": 44791, + "dropIfExists": 44792, + "ĠBeg": 44793, + "_HAL": 44794, + "ĠcrossAxisAlignment": 44795, + "ĠEvidence": 44796, + "Ġpeculiar": 44797, + "Ġinstitute": 44798, + "veis": 44799, + "Ġfft": 44800, + "Ãģ": 44801, + "Ġzoekt": 44802, + "analy": 44803, + "ĠHomeland": 44804, + "Ġpenetr": 44805, + "uddenly": 44806, + "ĉelement": 44807, + "ĠBren": 44808, + "ĠTrudeau": 44809, + "ĠCuban": 44810, + "jam": 44811, + "uslim": 44812, + "_ev": 44813, + "Ġstems": 44814, + "}%": 44815, + "Ŀå§ĭ": 44816, + "Ġbranding": 44817, + "Ġcorrespondence": 44818, + ".jquery": 44819, + "¢åįķ": 44820, + "ĠReads": 44821, + "(HttpStatusCode": 44822, + "assin": 44823, + "(slot": 44824, + "ĠGraduate": 44825, + "///<": 44826, + "Ġinformations": 44827, + "ENABLE": 44828, + "Ġpuis": 44829, + "Ġfinder": 44830, + "ĠBris": 44831, + "Ġnettsteder": 44832, + "_mid": 44833, + "Ġogs": 44834, + "ĠSterling": 44835, + "Ġarrog": 44836, + "strftime": 44837, + "|ĊĊ": 44838, + "Ġvox": 44839, + "ĠRegardless": 44840, + "Ġeso": 44841, + "ĠComfort": 44842, + ".BooleanField": 44843, + "Ġuh": 44844, + "ACY": 44845, + "Ġsqueez": 44846, + "ĠVic": 44847, + "contro": 44848, + ".lo": 44849, + "Ġire": 44850, + "ĠComedy": 44851, + "ë¶": 44852, + "Ġoriginated": 44853, + "Ġshipment": 44854, + "|max": 44855, + "_guid": 44856, + "levation": 44857, + "наÑı": 44858, + "(undefined": 44859, + "ĠDDR": 44860, + "Ġshootings": 44861, + "ĠLatino": 44862, + "ENDOR": 44863, + "Ġaveraging": 44864, + "Ġgreeted": 44865, + "Ġtheaters": 44866, + "ое": 44867, + "ĠdB": 44868, + "Ġgst": 44869, + "Ġdefinite": 44870, + ".Storage": 44871, + ".her": 44872, + "Ġafore": 44873, + "ĠReality": 44874, + "ĠGods": 44875, + "versed": 44876, + "Ġhandsome": 44877, + "Ġexcluding": 44878, + "(ad": 44879, + "Quotes": 44880, + "ĠScheme": 44881, + "?q": 44882, + "ĠTamil": 44883, + "Ticks": 44884, + "Ġpest": 44885, + "'n": 44886, + "Ġpornography": 44887, + "_modal": 44888, + "Ġ----------": 44889, + "Ġdisposable": 44890, + "FREE": 44891, + "Ġshark": 44892, + "CHE": 44893, + "Ġdepicted": 44894, + "Ġdemonstrations": 44895, + "ĠKilled": 44896, + "ĠRULE": 44897, + "Ġobsessed": 44898, + "Ġsimplified": 44899, + "Postal": 44900, + "Ġconceptual": 44901, + "Ġpst": 44902, + "Las": 44903, + "_PROJECT": 44904, + "ucceeded": 44905, + "olu": 44906, + "ÄŁi": 44907, + "Ġpersonalities": 44908, + "Ġreshape": 44909, + "Ġenclosed": 44910, + "ĉptr": 44911, + "Ġtutorials": 44912, + "Ġexploded": 44913, + "_DIRECTORY": 44914, + "åĨħ容": 44915, + "Ġcanon": 44916, + "Ġrecognise": 44917, + "PAD": 44918, + "ĠApprox": 44919, + "ĠRestore": 44920, + "ĠImportant": 44921, + "Ġheavier": 44922, + ".Sequential": 44923, + "Earth": 44924, + "ĠMilk": 44925, + ".setRequest": 44926, + ".tem": 44927, + "Ġreconstruct": 44928, + "Ġskeptical": 44929, + "_Private": 44930, + "BUF": 44931, + "qua": 44932, + ":a": 44933, + "Ġsek": 44934, + "Ġdwell": 44935, + "ossa": 44936, + "Ġrewarded": 44937, + "ий": 44938, + "(topic": 44939, + "_partition": 44940, + "Ġ__________________": 44941, + "Keywords": 44942, + "ĠFranco": 44943, + "Lite": 44944, + "Ġnaken": 44945, + "Ġза": 44946, + "OBJECT": 44947, + "Ġcrafts": 44948, + "ĠSwap": 44949, + ".Xna": 44950, + ".Connect": 44951, + "Ġbalcony": 44952, + "(real": 44953, + "ĠBarnes": 44954, + "bir": 44955, + "ĠTwenty": 44956, + "ayan": 44957, + "atars": 44958, + "ĠPropel": 44959, + "ĠIhnen": 44960, + "Upgrade": 44961, + "Ġcurb": 44962, + "-second": 44963, + "Ġneph": 44964, + ".pres": 44965, + "ìŀħ": 44966, + ".seq": 44967, + "Ġpadded": 44968, + "\"?": 44969, + "jl": 44970, + "ãĥ¬": 44971, + "')a": 44975, + "Coordinates": 44976, + "Ġenacted": 44977, + "ENTS": 44978, + "Ġlac": 44979, + ".final": 44980, + "ĠPhpStorm": 44981, + "called": 44982, + "Ġinquiries": 44983, + ".middleware": 44984, + "ĠDowntown": 44985, + "/';Ċ": 44986, + "Ġkilomet": 44987, + "accel": 44988, + "Ġquien": 44989, + "wstring": 44990, + "setData": 44991, + "Ġmanera": 44992, + "Ġmodular": 44993, + "rimp": 44994, + "Ġtariffs": 44995, + "âĢĻil": 44996, + "_THROW": 44997, + "/color": 44998, + "ĠHTMLElement": 44999, + "Ġcarro": 45000, + "Ġprere": 45001, + "Ġplotting": 45002, + "ĠPositive": 45003, + "ĠMachines": 45004, + "OTES": 45005, + "Ỽ": 45006, + "pleasant": 45007, + "Ġalte": 45008, + "Ġainda": 45009, + "these": 45010, + "Ġcors": 45011, + "ipay": 45012, + "ĠAdvisory": 45013, + "ĠRubio": 45014, + "jq": 45015, + "Ġlimestone": 45016, + "Ġdetached": 45017, + "设置": 45018, + "tenant": 45019, + "ĠDepth": 45020, + "alore": 45021, + "ĠÑģÑĤÑĢок": 45022, + "ĠFORE": 45023, + "ĠLay": 45024, + "presentation": 45025, + ")');Ċ": 45026, + ".subplots": 45027, + "Ïĥ": 45028, + "NOW": 45029, + "Gar": 45030, + "handles": 45031, + "abra": 45032, + "puties": 45033, + "ĠElectrical": 45034, + "Middle": 45035, + "ropic": 45036, + "ĠJD": 45037, + "ĠDyn": 45038, + "ĠBristol": 45039, + "ĠMcCarthy": 45040, + "Ġstriker": 45041, + "Ġenumerable": 45042, + "ĠEvan": 45043, + ".defaults": 45044, + "quences": 45045, + ")||": 45046, + "ĉtoken": 45047, + "âĹı": 45048, + "-dropdown": 45049, + "STORE": 45050, + "ĠGraphic": 45051, + "(pp": 45052, + "Expl": 45053, + "Ġupwards": 45054, + "ĠDistributed": 45055, + "ĠWEB": 45056, + "Jer": 45057, + "isNaN": 45058, + "çĶŁæĪIJ": 45059, + ">R": 45060, + "üssen": 45061, + "efs": 45062, + "Ġuncover": 45063, + "Ġlud": 45064, + ".calculate": 45065, + "Ġintptr": 45066, + "Ġmidfielder": 45067, + ".Headers": 45068, + "Ġmf": 45069, + "eref": 45070, + ".Metro": 45071, + "ĠSpeaking": 45072, + ":b": 45073, + "Ġcryptocurrencies": 45074, + "Ġdemons": 45075, + "ĉEXPECT": 45076, + "Ġwicked": 45077, + "youtube": 45078, + ":Int": 45079, + "ĠHindi": 45080, + "ĠCAT": 45081, + "Ġع": 45082, + "rar": 45083, + "omore": 45084, + "/per": 45085, + "/license": 45086, + "Ġreim": 45087, + "Ġawaiting": 45088, + "Ġlethal": 45089, + "ĠEF": 45090, + "rounded": 45091, + "ĠPlatinum": 45092, + "ĠвÑģе": 45093, + ".coords": 45094, + ".Device": 45095, + "/item": 45096, + "ĠWenn": 45097, + "compileComponents": 45098, + "ĠKinder": 45099, + ".removeItem": 45100, + "Ġanda": 45101, + "bnb": 45102, + "Ġpra": 45103, + "(transaction": 45104, + "Ġembarrassing": 45105, + "ĉBOOL": 45106, + ".contentView": 45107, + "Ġeventdata": 45108, + "atore": 45109, + "ĠprovidedIn": 45110, + "irma": 45111, + "Ġzona": 45112, + "_HW": 45113, + "æĻ": 45114, + "Ġstove": 45115, + "Ġcounterpart": 45116, + "_Product": 45117, + "_MANAGER": 45118, + "Ġinfring": 45119, + "ĠERA": 45120, + "_party": 45121, + "Ñij": 45122, + "Ġinici": 45123, + "_Request": 45124, + "Ġmiracle": 45125, + "ĠcancelButton": 45126, + "Spy": 45127, + "ató": 45128, + "Ġpolish": 45129, + "ĠNicole": 45130, + ".displayName": 45131, + "\\Requests": 45132, + "ĠuseHistory": 45133, + "RouterModule": 45134, + "Ġstared": 45135, + "IDER": 45136, + "ÑĥнкÑĨи": 45137, + "Ġnota": 45138, + "$arr": 45139, + "pecified": 45140, + "Ġtopp": 45141, + "_DRIVER": 45142, + "/ng": 45143, + "åł": 45144, + "_tm": 45145, + "%timeout": 45146, + "\"": 45588, + "tlement": 45589, + "$(\"": 45590, + "FromString": 45591, + "ĠBild": 45592, + "Ġconventions": 45593, + "_native": 45594, + "ĠInspector": 45595, + "ĠPist": 45596, + "ubar": 45597, + "Ġregs": 45598, + "ĠPilot": 45599, + "Thus": 45600, + ">'+": 45601, + "Ġcela": 45602, + ".news": 45603, + "(Product": 45604, + "Living": 45605, + "Russia": 45606, + "Ġfacet": 45607, + "etical": 45608, + "Ġ['$": 45609, + "/[": 45610, + "ĠDire": 45611, + "Ġgases": 45612, + "ĠINFORMATION": 45613, + "ĠEat": 45614, + "ĠForums": 45615, + "ĠCharacters": 45616, + "_met": 45617, + "Ġìĭľ": 45618, + "Ġkings": 45619, + "achie": 45620, + "ĠLambda": 45621, + "Ġtimers": 45622, + "ĠLighting": 45623, + "ĠCasey": 45624, + "addir": 45625, + "andex": 45626, + ".answer": 45627, + "ĠHip": 45628, + "ĠPrincip": 45629, + "StartDate": 45630, + "ĠãĢĮ": 45631, + "tres": 45632, + "Ġ&#": 45633, + ".MaxValue": 45634, + "ĠProblems": 45635, + "Ġlatex": 45636, + "OfClass": 45637, + "ĠLynn": 45638, + "//'": 45639, + "Ġvoyage": 45640, + "Ġshuttle": 45641, + "ĠRoller": 45642, + "ĠRuntimeError": 45643, + "uya": 45644, + "Dic": 45645, + "ĉbuilder": 45646, + "Ġbullying": 45647, + "Ġsimplest": 45648, + ".called": 45649, + "ĠLR": 45650, + "Ġmorality": 45651, + "Ġsturdy": 45652, + "tracking": 45653, + ".swagger": 45654, + "_BIND": 45655, + "ITOR": 45656, + "-urlencoded": 45657, + "ĠÑħ": 45658, + "ĠTrinity": 45659, + "Ġtraps": 45660, + "Ġ|-": 45661, + "ĠsetText": 45662, + "Ġbargain": 45663, + "Ġbrakes": 45664, + ".getCode": 45665, + "Ġmigrate": 45666, + "Ġribbon": 45667, + ")return": 45668, + "Ġcharger": 45669, + "acom": 45670, + "ADIUS": 45671, + "ĠAmbassador": 45672, + "-after": 45673, + "Ġanni": 45674, + "ĉspin": 45675, + "Concept": 45676, + "ĠHenderson": 45677, + "ĠHOST": 45678, + ".rank": 45679, + "ĠNortheast": 45680, + "Ġberlin": 45681, + "Ġrequis": 45682, + ".feed": 45683, + "ĠsourceMapping": 45684, + "ĠRencontre": 45685, + ".ajax": 45686, + "nestjs": 45687, + "Ġtrek": 45688, + "ĠNacional": 45689, + "Ġ&[": 45690, + "Ġpayable": 45691, + "ortex": 45692, + "Ġdept": 45693, + "fieldName": 45694, + "Ġcompletes": 45695, + "ĠRVA": 45696, + "Ġonions": 45697, + "alignment": 45698, + "Formats": 45699, + "Ġ'{$": 45700, + "HashSet": 45701, + "ĠBod": 45702, + ".InvariantCulture": 45703, + "Ġsettlements": 45704, + "Ġhydr": 45705, + ".updated": 45706, + "venth": 45707, + "(seconds": 45708, + "=\"/\"": 45709, + "Ġwebpage": 45710, + "(ĊĊ": 45711, + "Ġtir": 45712, + "Ġtoes": 45713, + "ĠBrick": 45714, + "Ġambition": 45715, + "Pot": 45716, + "=max": 45717, + "ETIME": 45718, + "Ġdepot": 45719, + "calls": 45720, + "ĠNorwegian": 45721, + "`:": 45722, + "Ġburger": 45723, + "Ġprofessors": 45724, + "ĠAllocate": 45725, + "-thirds": 45726, + "-chart": 45727, + "Ġford": 45728, + "*N": 45729, + ".kotlin": 45730, + "Ġpaperwork": 45731, + "ĠDEVICE": 45732, + "%@\",": 45733, + "respect": 45734, + "(mp": 45735, + "é«ĺ": 45736, + "-if": 45737, + "Ġcushion": 45738, + "obot": 45739, + "Ġparc": 45740, + "SPACE": 45741, + "ĠNetanyahu": 45742, + "Ġselfish": 45743, + "feat": 45744, + "Ġclientes": 45745, + "-tools": 45746, + "Ġporch": 45747, + "Ġjq": 45748, + ".verbose": 45749, + "Ġliberals": 45750, + "])ĊĊĊ": 45751, + "pies": 45752, + "NotBlank": 45753, + "(term": 45754, + "ÈĽi": 45755, + "_Params": 45756, + ".normalize": 45757, + "Bullet": 45758, + "ASIC": 45759, + "(hex": 45760, + "_cliente": 45761, + "+,": 45762, + "_DI": 45763, + "Ġforthcoming": 45764, + "}\")]Ċ": 45765, + "seo": 45766, + "Um": 45767, + ">Name": 45768, + "Ġcomfortably": 45769, + "irectional": 45770, + "WITH": 45771, + "/pr": 45772, + "ĠPoor": 45773, + "ĠVitamin": 45774, + "vic": 45775, + "GH": 45776, + "Ġpriorit": 45777, + "ĠNN": 45778, + "ĠClosed": 45779, + "¤í": 45780, + "ĠisOpen": 45781, + "\\Console": 45782, + "AndFeel": 45783, + ".SUCCESS": 45784, + "_OPERATION": 45785, + "polation": 45786, + "ĠTas": 45787, + "psz": 45788, + ">'.": 45789, + "CURRENT": 45790, + "Vendor": 45791, + "hosts": 45792, + "ĠErd": 45793, + ">tagger": 45794, + "ĠsourceMappingURL": 45795, + "Ġmarathon": 45796, + "_closed": 45797, + "Ġexemption": 45798, + "Ġrecognizes": 45799, + "ideshow": 45800, + "'$": 45801, + "('/');Ċ": 45802, + "mits": 45803, + "warz": 45804, + "ĠCherry": 45805, + "µ¬": 45806, + "nor": 45807, + "porte": 45808, + "Ġwl": 45809, + "_backup": 45810, + ".getBoolean": 45811, + ".getResource": 45812, + "Ġdefinitive": 45813, + ".EditText": 45814, + "ĠsÃŃ": 45815, + ".CONT": 45816, + "ĠPLAYER": 45817, + ".cards": 45818, + "ĠShore": 45819, + "('/')Ċ": 45820, + "cluir": 45821, + "WebDriver": 45822, + "(month": 45823, + "-release": 45824, + "Ġinspector": 45825, + "å£": 45826, + "ĠNF": 45827, + "_clip": 45828, + "åŃIJ": 45829, + "Ġinteracting": 45830, + ".tmp": 45831, + "Ġ'''ĊĊ": 45832, + "Ġdee": 45833, + "Ġfrost": 45834, + "\"]))Ċ": 45835, + "ĠPlaces": 45836, + "Throws": 45837, + "fork": 45838, + "/day": 45839, + "iPhone": 45840, + "ĠMIC": 45841, + "Ġfolding": 45842, + "Ġcrore": 45843, + "ĠChiefs": 45844, + "pherical": 45845, + "(price": 45846, + ".WriteString": 45847, + "Ġexiting": 45848, + "]',Ċ": 45849, + "ighting": 45850, + "Ingredient": 45851, + "(vertex": 45852, + "ĠscrollView": 45853, + "hf": 45854, + ":new": 45855, + "SEN": 45856, + "sector": 45857, + "Ġspins": 45858, + "ĠScheduler": 45859, + "otechn": 45860, + "semicolon": 45861, + "FontOfSize": 45862, + "ĠSpecifically": 45863, + "flamm": 45864, + ".ObjectId": 45865, + "Ġconta": 45866, + "_permissions": 45867, + "ĉFROM": 45868, + "ICODE": 45869, + "/kg": 45870, + "ĠHotels": 45871, + "-med": 45872, + "ĠDin": 45873, + "Ġnavy": 45874, + "getParam": 45875, + "Ġmend": 45876, + "Ġportrayed": 45877, + "ĠMetropolitan": 45878, + "Painter": 45879, + "Ġreferral": 45880, + "_good": 45881, + "Ġmarvel": 45882, + "osaic": 45883, + ">(&": 45884, + ".ur": 45885, + "Ġestos": 45886, + "William": 45887, + "Ġtimber": 45888, + "Ġquelques": 45889, + "ĠDocuments": 45890, + ".Xaml": 45891, + "Ġbatches": 45892, + "éģĵ": 45893, + "ĠReleased": 45894, + "Tail": 45895, + "COOKIE": 45896, + "heid": 45897, + "_station": 45898, + "ĠVia": 45899, + "Sale": 45900, + "ĠRepeat": 45901, + "Ġpromin": 45902, + "ĠZo": 45903, + "-forward": 45904, + "ĠIon": 45905, + "itary": 45906, + "Ġjus": 45907, + "-request": 45908, + "Ġproudly": 45909, + "ĠStreaming": 45910, + "(MouseEvent": 45911, + "ĠSprint": 45912, + "_rotation": 45913, + "Repositories": 45914, + "Ġtart": 45915, + "ĠÑģв": 45916, + "Ġmappings": 45917, + "èª": 45918, + "Cu": 45919, + "Cycle": 45920, + "Ġbun": 45921, + "ĉlua": 45922, + "ãĥī": 45923, + "Ġ((!": 45924, + "Ġcollectively": 45925, + "ĠCond": 45926, + "Ġwszyst": 45927, + "(lib": 45928, + "openhagen": 45929, + "_skip": 45930, + ".ColumnHeader": 45931, + "éĤ": 45932, + "perienced": 45933, + "ıè¿°": 45934, + "_props": 45935, + "Ġcontrace": 45936, + "Ġmatchup": 45937, + "abetic": 45938, + ".members": 45939, + "RECT": 45940, + "(dat": 45941, + "Ġsog": 45942, + "renom": 45943, + "_Method": 45944, + "Customers": 45945, + "fullname": 45946, + "ZN": 45947, + "retry": 45948, + "Ġkap": 45949, + "ĠNeu": 45950, + "èĬ": 45951, + "addChild": 45952, + "willReturn": 45953, + "_permalink": 45954, + "Ġenergetic": 45955, + "ĠWet": 45956, + "ĠMorr": 45957, + "Ġgcd": 45958, + "counts": 45959, + ",type": 45960, + "dig": 45961, + "(Login": 45962, + "Ġcracks": 45963, + "Ġbacterial": 45964, + "ĠMeat": 45965, + "ĠArmstrong": 45966, + "ĠBronze": 45967, + "Ġapproximate": 45968, + "_dirs": 45969, + "liga": 45970, + "ÅĤad": 45971, + "Ġkindness": 45972, + "Ġcontre": 45973, + "ĠEVERY": 45974, + "MET": 45975, + "Ġannouncements": 45976, + "gpio": 45977, + "ĠWaitForSeconds": 45978, + "ĠPhotoshop": 45979, + "Ġdiscontin": 45980, + "/dd": 45981, + "Ġtopology": 45982, + "anical": 45983, + ".interface": 45984, + "aucoup": 45985, + ".HashSet": 45986, + "ARIANT": 45987, + "(routes": 45988, + "ĠTeh": 45989, + "Ġhype": 45990, + "]\").": 45991, + "Ġslam": 45992, + "Ġbroth": 45993, + "-inter": 45994, + "ĠRid": 45995, + "-manager": 45996, + "Cancelar": 45997, + "ĠPagination": 45998, + "Ġsoundtrack": 45999, + "Ġposterior": 46000, + "Ġscrub": 46001, + "creating": 46002, + "-*": 46003, + "irteen": 46004, + ".dy": 46005, + ".symmetric": 46006, + "Ġ\"\".": 46007, + "===============": 46008, + "Ġchassis": 46009, + "ĠnumberOfRows": 46010, + "Developer": 46011, + "_bins": 46012, + "ĠOUR": 46013, + "rieb": 46014, + "Pros": 46015, + "ĠwiÄĻ": 46016, + "\"d": 46017, + "Ġasyncio": 46018, + "zeigen": 46019, + "_spi": 46020, + ".ALL": 46021, + "Ġscrews": 46022, + "Chinese": 46023, + "ĠapiKey": 46024, + "Ġunsuccessful": 46025, + "ĠSeahawks": 46026, + "ORG": 46027, + "竳": 46028, + "Ġprofessionally": 46029, + "ĠCoupon": 46030, + "åŃĹæ®µ": 46031, + "Convention": 46032, + "Ġpolym": 46033, + "æīĭ": 46034, + "Ġsalvation": 46035, + "Ġengineered": 46036, + "ĠWrest": 46037, + "ĠGCC": 46038, + "Ġwarmer": 46039, + "LayoutConstraint": 46040, + "Ġaggrav": 46041, + "Scripts": 46042, + "venture": 46043, + "Ġrefrigerator": 46044, + "Ġinnovations": 46045, + "ĠRunner": 46046, + "NIC": 46047, + "ĠRolling": 46048, + "ControlEvents": 46049, + "Ġloos": 46050, + "pac": 46051, + "ĉpanel": 46052, + "efe": 46053, + "ĠBuddha": 46054, + "--------------Ċ": 46055, + "åºĵ": 46056, + "(forKey": 46057, + "Ġlumin": 46058, + "Ġ(?": 46059, + "ĠAIDS": 46060, + ",user": 46061, + "imientos": 46062, + "contentType": 46063, + "antlr": 46064, + "é¦": 46065, + "ĠWelt": 46066, + "Production": 46067, + "might": 46068, + "ĠVII": 46069, + "\",(": 46070, + "Ġobserving": 46071, + "Ġdeliberate": 46072, + "(control": 46073, + "Ġwithd": 46074, + "Ġsemana": 46075, + "STACK": 46076, + "uchen": 46077, + "Nice": 46078, + "ĠDeutschland": 46079, + "ĠSpecifies": 46080, + "dma": 46081, + "izio": 46082, + "ĠFacts": 46083, + "_popup": 46084, + "ĠDirectors": 46085, + "{:": 46086, + "[R": 46087, + "ĠÑįлеменÑĤ": 46088, + "Ġplat": 46089, + "Ġdirecting": 46090, + "ä¸ī": 46091, + "ĠGilbert": 46092, + "â̦.ĊĊ": 46093, + ".qml": 46094, + "Ġthereafter": 46095, + "Ġdisposition": 46096, + "draft": 46097, + "Ġsurgeon": 46098, + "ĠInsider": 46099, + "Blend": 46100, + "ĠTrev": 46101, + "trinsic": 46102, + "Topics": 46103, + "rieve": 46104, + "_FILENAME": 46105, + "Ġautres": 46106, + "Jose": 46107, + "Producer": 46108, + "erus": 46109, + "Ġpetit": 46110, + "ĠNEXT": 46111, + "ĠFilters": 46112, + "Ġreplicate": 46113, + "\"]).": 46114, + "Ġlenders": 46115, + "]\",Ċ": 46116, + ";charset": 46117, + "CppObject": 46118, + "Ġfloral": 46119, + "ĠTipo": 46120, + "Ġcircuits": 46121, + "easy": 46122, + "(&$": 46123, + "itta": 46124, + "eryl": 46125, + "_COMMON": 46126, + "'}}>Ċ": 46127, + "-backed": 46128, + "(variable": 46129, + "(Index": 46130, + "Ġvoir": 46131, + "_locations": 46132, + "++){": 46133, + "ĠLouisville": 46134, + "Ġgratitude": 46135, + ".Mockito": 46136, + "ĠPowers": 46137, + "ieurs": 46138, + "Ġgeographic": 46139, + "rale": 46140, + "Ġcra": 46141, + "ĠSpurs": 46142, + "iphertext": 46143, + "ACION": 46144, + "-common": 46145, + "Ġvictories": 46146, + "ĠFinals": 46147, + ".shuffle": 46148, + "-million": 46149, + "_PROC": 46150, + "assume": 46151, + "Ġils": 46152, + "DBC": 46153, + "BootTest": 46154, + "Ġlavor": 46155, + ".testing": 46156, + ".ast": 46157, + "\"]/": 46158, + "moid": 46159, + "Ġqualification": 46160, + "gesch": 46161, + "ĉput": 46162, + "Ġairports": 46163, + "JI": 46164, + "Teacher": 46165, + "_uniform": 46166, + "Ġnama": 46167, + "ĠBast": 46168, + "ertype": 46169, + "capture": 46170, + "getAll": 46171, + "ĠReynolds": 46172, + "ooled": 46173, + ".comments": 46174, + "Ġchin": 46175, + ").*": 46176, + "Ġили": 46177, + "tgl": 46178, + "udos": 46179, + "ĠdÃŃas": 46180, + "chai": 46181, + ".program": 46182, + "Ġpsz": 46183, + "ĉicon": 46184, + "phil": 46185, + "entral": 46186, + "_WRAP": 46187, + "ovi": 46188, + "Ġnostalg": 46189, + "Infinity": 46190, + "ĉyield": 46191, + "Ġvitamins": 46192, + "Quaternion": 46193, + "Sink": 46194, + "_goods": 46195, + "Ġ........": 46196, + "ĠWings": 46197, + "uridad": 46198, + "-story": 46199, + "\"])ĊĊ": 46200, + "idelity": 46201, + "TypeDef": 46202, + "Gtk": 46203, + "ĠíĮ": 46204, + "_Main": 46205, + "Ġchez": 46206, + "ĠRaven": 46207, + "Ġpayroll": 46208, + "Ġfreelance": 46209, + "LLU": 46210, + "ĠMend": 46211, + "eday": 46212, + "ApiModelProperty": 46213, + ".FormBorderStyle": 46214, + "Ġeconomist": 46215, + "stanbul": 46216, + "Ġfreight": 46217, + "-Agent": 46218, + "(meta": 46219, + "Ġsymmetry": 46220, + "Ġ'..": 46221, + ".Calendar": 46222, + "-aut": 46223, + "gf": 46224, + "pent": 46225, + "yclopedia": 46226, + "Ġwishing": 46227, + "ĊĊĊĊĊĊĊĊĊĊĊĊ": 46228, + "Ġgentleman": 46229, + "Ġê³": 46230, + "=#": 46231, + "Ġlectures": 46232, + "âĢľIn": 46233, + "Ġ!_": 46234, + "Ġhb": 46235, + "ĠVendor": 46236, + "Recently": 46237, + "_notes": 46238, + "æıIJ示": 46239, + "\"My": 46240, + "HeadersHeight": 46241, + "_SO": 46242, + "Ġunwilling": 46243, + "Ġsuperhero": 46244, + "gio": 46245, + "psy": 46246, + "ĠPeer": 46247, + "javax": 46248, + "&apos": 46249, + "ĠCrisis": 46250, + "ordinal": 46251, + "Memcpy": 46252, + "++++++++++++++++": 46253, + "-val": 46254, + "Ġworkbook": 46255, + "-ap": 46256, + "=k": 46257, + "Ġmetallic": 46258, + "_peer": 46259, + "ByPrimaryKey": 46260, + "_SD": 46261, + "uator": 46262, + "_SHADER": 46263, + ")Math": 46264, + ".Transform": 46265, + "Ġcows": 46266, + "Phi": 46267, + "ĠClem": 46268, + "(_(\"": 46269, + "ĠLud": 46270, + "-delay": 46271, + "ĠSecurities": 46272, + "ĠOrthodox": 46273, + "Symfony": 46274, + "(report": 46275, + "Ġentertain": 46276, + "EPS": 46277, + "izoph": 46278, + "exual": 46279, + "IRD": 46280, + "ä»İ": 46281, + "Ġlith": 46282, + "Ġsanitize": 46283, + "Ġfeminine": 46284, + "ISBN": 46285, + ".authentication": 46286, + "_pipeline": 46287, + "/constants": 46288, + "ĠCONF": 46289, + "Ġlucr": 46290, + "ricia": 46291, + ".ttf": 46292, + ".setContent": 46293, + "Ġstan": 46294, + "orean": 46295, + "ĠLloyd": 46296, + ".rawValue": 46297, + "Ġgor": 46298, + "ĠBrowns": 46299, + "Regression": 46300, + "Ġlowering": 46301, + "naissance": 46302, + "Ġblows": 46303, + "Ġamazed": 46304, + "Ġunrelated": 46305, + "Reviews": 46306, + "Ġruby": 46307, + "ĠModifier": 46308, + "Ġgiants": 46309, + ".thread": 46310, + "Ġcontainment": 46311, + "ĠStartCoroutine": 46312, + "umat": 46313, + "orelease": 46314, + "ĠRandy": 46315, + "@endif": 46316, + "Digest": 46317, + "Ġsuburban": 46318, + "=\");Ċ": 46319, + "Ġannonce": 46320, + ".variable": 46321, + "\\Foundation": 46322, + "Ġacre": 46323, + "Van": 46324, + "Ġtuples": 46325, + "dns": 46326, + "ĠStanding": 46327, + "_large": 46328, + "Ġboxing": 46329, + "SupportActionBar": 46330, + "ĠFortune": 46331, + "ĠRum": 46332, + "_multiple": 46333, + "archical": 46334, + "Ġfwrite": 46335, + "_quote": 46336, + "Ġfoolish": 46337, + "Ġcomprising": 46338, + "Ġоп": 46339, + "-selected": 46340, + "vf": 46341, + "maid": 46342, + "Nama": 46343, + "(datetime": 46344, + "Ġindirectly": 46345, + "gart": 46346, + "fixtures": 46347, + "chos": 46348, + "ĠHalo": 46349, + "Ġrecurring": 46350, + "-news": 46351, + "vil": 46352, + "ĠNursing": 46353, + "-produ": 46354, + "ĠHQ": 46355, + "\\HttpFoundation": 46356, + "enci": 46357, + "auen": 46358, + "Ġvy": 46359, + "ocracy": 46360, + "Ġdelegation": 46361, + "Ġasphalt": 46362, + "ĠsetSelected": 46363, + "kok": 46364, + "/rest": 46365, + "metics": 46366, + "ĠNSDate": 46367, + "Ġtravelled": 46368, + "Ġrecib": 46369, + "Ġmime": 46370, + "CLIENT": 46371, + "ĠGU": 46372, + "ĠHANDLE": 46373, + "/Q": 46374, + "[z": 46375, + "Ġbothered": 46376, + "ĠBBQ": 46377, + "ças": 46378, + "_examples": 46379, + "_FIN": 46380, + "ĠwhiteColor": 46381, + "Ġastronom": 46382, + "-dir": 46383, + "Ġsovereign": 46384, + "Ġbreeze": 46385, + "Ġinning": 46386, + "ĠEdmonton": 46387, + "gli": 46388, + ".blogspot": 46389, + "jsx": 46390, + "Ġversa": 46391, + "ĠMohammed": 46392, + ".Job": 46393, + "-toggler": 46394, + "ĠполÑĮзоваÑĤ": 46395, + "ardon": 46396, + "Ġnewborn": 46397, + "Ġnaval": 46398, + "noteq": 46399, + "Ġtumblr": 46400, + "Ġhentai": 46401, + "ĠTypically": 46402, + "Ġloot": 46403, + ".Sprite": 46404, + "Flight": 46405, + "Ġwavelength": 46406, + "-sk": 46407, + "ĠElle": 46408, + "_exports": 46409, + "ĠÑı": 46410, + "ĠIH": 46411, + "izophren": 46412, + "Ġíģ": 46413, + "_primary": 46414, + "Ġmois": 46415, + "ĠBN": 46416, + "Ġsystemic": 46417, + "Ġdiferentes": 46418, + "INCT": 46419, + "Ġ''ĊĊ": 46420, + "$q": 46421, + "WidgetItem": 46422, + "clide": 46423, + "$file": 46424, + "Lemma": 46425, + "/table": 46426, + "agrid": 46427, + "ĠMongoDB": 46428, + "inte": 46429, + "Ġapprent": 46430, + "ÂŃing": 46431, + ".Db": 46432, + "ĠÃĤ": 46433, + "hammer": 46434, + "='';Ċ": 46435, + "Ġbrokers": 46436, + "itlement": 46437, + "semblies": 46438, + "Ele": 46439, + "{x": 46440, + "Ġlastname": 46441, + "<-": 46442, + "Ġflatten": 46443, + "_band": 46444, + ".Root": 46445, + ".readFileSync": 46446, + "======": 46447, + ".rx": 46448, + "?čĊ": 46449, + "Ġmetaphor": 46450, + "Ti": 46451, + "conte": 46452, + "Ġdebit": 46453, + "Ġcontempt": 46454, + "CppType": 46455, + "æĶ¯": 46456, + "FormField": 46457, + "ratio": 46458, + "osopher": 46459, + "Ġimplant": 46460, + "PURE": 46461, + "Ġalta": 46462, + "_management": 46463, + "Ġrefine": 46464, + "ĠCheckBox": 46465, + "ĠCharl": 46466, + "-version": 46467, + "conditional": 46468, + "venues": 46469, + "Ġrifles": 46470, + "Ġoffspring": 46471, + "Ġmilling": 46472, + "Ġsharply": 46473, + "Ġunderwater": 46474, + "(origin": 46475, + "_Control": 46476, + "Ġ.$": 46477, + "Plugins": 46478, + "Ġdrying": 46479, + "Ġillustrates": 46480, + "-u": 46481, + "Ġvegetarian": 46482, + "npc": 46483, + "Heart": 46484, + ";',Ċ": 46485, + "comma": 46486, + "teenth": 46487, + "asan": 46488, + "/spec": 46489, + "_moves": 46490, + "-margin": 46491, + "Ġingen": 46492, + "³³³": 46493, + "Ġprojet": 46494, + "Ġotra": 46495, + "Ġbras": 46496, + ".utc": 46497, + "Ġslept": 46498, + "=sub": 46499, + "abilit": 46500, + "poster": 46501, + "Ġsdk": 46502, + "ouncill": 46503, + "Ġwd": 46504, + "PreparedStatement": 46505, + "ĠDrum": 46506, + "(attribute": 46507, + "ĠEthernet": 46508, + "ĉDB": 46509, + "California": 46510, + "cube": 46511, + "[I": 46512, + ".Created": 46513, + "ĠHM": 46514, + "Ġtracing": 46515, + "FormsModule": 46516, + "-you": 46517, + ".currency": 46518, + "feeding": 46519, + "Ġtbody": 46520, + "Li": 46521, + "accion": 46522, + "nas": 46523, + "Ġtrouver": 46524, + "NONE": 46525, + "\"},čĊ": 46526, + "Ġftp": 46527, + "WithIdentifier": 46528, + "polate": 46529, + "FileInfo": 46530, + "Ġpursued": 46531, + "ĠĠĠĠčĊĠĠĠĠčĊ": 46532, + "DESCRIPTION": 46533, + "}*/Ċ": 46534, + "FromNib": 46535, + "Ġdecorative": 46536, + "_SSL": 46537, + "(chat": 46538, + "TLS": 46539, + "Ġsurprises": 46540, + "alculate": 46541, + "ĠSplash": 46542, + "(Configuration": 46543, + "ĠSEM": 46544, + "imson": 46545, + "/library": 46546, + "": 46621, + "GED": 46622, + "faq": 46623, + "Ġoptionally": 46624, + "_Dis": 46625, + "ĠSuccessful": 46626, + "ĠCensus": 46627, + "Ġincarcer": 46628, + "_CARD": 46629, + "Ġaviation": 46630, + "ĠGym": 46631, + "Authority": 46632, + ".Bean": 46633, + "shader": 46634, + "NotExist": 46635, + "_TextChanged": 46636, + "ĠSTOP": 46637, + "(team": 46638, + "\"H": 46639, + "wg": 46640, + "Ġgrinder": 46641, + "Ġstripe": 46642, + "Ġpreservation": 46643, + "Claim": 46644, + "aversal": 46645, + "warehouse": 46646, + "targets": 46647, + "Trust": 46648, + "Ġallev": 46649, + ",www": 46650, + "ousse": 46651, + "_chan": 46652, + "_Size": 46653, + "systems": 46654, + "Ġobjection": 46655, + "ĠKane": 46656, + "Ġcorros": 46657, + "ĠDSL": 46658, + "Ġua": 46659, + "ĠMH": 46660, + "ĠStrategic": 46661, + "_tcp": 46662, + "Ġê°Ĵ": 46663, + "Ġborrowed": 46664, + "ĠAch": 46665, + "ĉcommand": 46666, + "Ġgps": 46667, + "leston": 46668, + "ichever": 46669, + "ĠUA": 46670, + "Ġassaulted": 46671, + "Ġspecializes": 46672, + "ĉsearch": 46673, + "Hotel": 46674, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠčĊ": 46675, + "ĠPitch": 46676, + "ĠÙģ": 46677, + "READY": 46678, + "Ġparental": 46679, + "Ġgéné": 46680, + "Ġdonnées": 46681, + "Ġdetain": 46682, + "TARGET": 46683, + "Ġprotagonist": 46684, + "ĠclearInterval": 46685, + "ĠIconButton": 46686, + "ĠGetAll": 46687, + "TypeInfo": 46688, + "EH": 46689, + "âĢľThey": 46690, + "Ġ{[": 46691, + "Ġgag": 46692, + "ĠÚ©": 46693, + "ĠDropdown": 46694, + ".free": 46695, + "gone": 46696, + "imens": 46697, + "Ġinstal": 46698, + "ĉcurl": 46699, + "_CAN": 46700, + "ĠBone": 46701, + "ï¼Ķ": 46702, + "onyms": 46703, + "-government": 46704, + ".bindingNavigator": 46705, + "ĠDans": 46706, + "ĠMcL": 46707, + "(en": 46708, + ">(_": 46709, + "ÐĴÑĭ": 46710, + ".*;čĊ": 46711, + "=j": 46712, + "-cor": 46713, + "Son": 46714, + ".ToolStripItem": 46715, + "-around": 46716, + "_XML": 46717, + "endDate": 46718, + "Ġslack": 46719, + "Ġrotated": 46720, + "Ġnoqa": 46721, + "Ġcottage": 46722, + "Ġencontrar": 46723, + "_skill": 46724, + "houette": 46725, + "!čĊ": 46726, + ".weather": 46727, + "Ġemphasized": 46728, + "å®¶": 46729, + "ĠÑģпиÑģ": 46730, + "ĠCompiler": 46731, + "(android": 46732, + "ĠâĢº": 46733, + ".turn": 46734, + "Ġsuppression": 46735, + "_calls": 46736, + "Ġ*@": 46737, + "(strlen": 46738, + ".hex": 46739, + "ĠBills": 46740, + "ĠRSA": 46741, + "ÏĤ": 46742, + "ĠEscape": 46743, + "ementia": 46744, + "Ġfrontend": 46745, + "Ġpint": 46746, + "_exc": 46747, + "zzo": 46748, + "[],Ċ": 46749, + "Ġ\"','\"": 46750, + ".Environment": 46751, + "Ġaforementioned": 46752, + "Ġendure": 46753, + "prototype": 46754, + "therapy": 46755, + "ssi": 46756, + "Deg": 46757, + "_plugins": 46758, + ".userInfo": 46759, + "Printer": 46760, + "ĠPROGRAM": 46761, + "Ġruins": 46762, + "Ġempirical": 46763, + "Ġcrawl": 46764, + "ĠBoiler": 46765, + "-comment": 46766, + ".subplot": 46767, + "_et": 46768, + "Ġ'.',": 46769, + "minor": 46770, + "ĠCustoms": 46771, + "Ġyaw": 46772, + "underline": 46773, + "ĠComo": 46774, + "(('": 46775, + "(mean": 46776, + "Ġchaque": 46777, + "ĠBlocks": 46778, + ".rad": 46779, + "ilibrium": 46780, + "Ġwebdriver": 46781, + "Ġmelhor": 46782, + "dana": 46783, + "ĠAbuse": 46784, + "ĠSouthwest": 46785, + "ĠParen": 46786, + "PERTIES": 46787, + "ĉIL": 46788, + "Ġscream": 46789, + "vu": 46790, + "Ġincomes": 46791, + "Ġnim": 46792, + "Ġlace": 46793, + "Ġcompensate": 46794, + "Reverse": 46795, + "Dat": 46796, + "_attack": 46797, + "Ġnour": 46798, + "achen": 46799, + "cek": 46800, + "\"+": 47057, + "Ġtokenizer": 47058, + "Ġsovereignty": 47059, + "ĠPence": 47060, + "()\");Ċ": 47061, + "Ġpessoas": 47062, + ".Ge": 47063, + "ĠIncluded": 47064, + "Ġpagina": 47065, + "Ġexposing": 47066, + "еÑĪ": 47067, + "_SCRIPT": 47068, + "/$',": 47069, + "Thumbnail": 47070, + "×Ķ": 47071, + "webElementX": 47072, + "webElementXpaths": 47073, + "pressure": 47074, + "ĠCurry": 47075, + "_CP": 47076, + "OLUTION": 47077, + "ILES": 47078, + "protect": 47079, + "oola": 47080, + "Workspace": 47081, + "{};Ċ": 47082, + "ĠUNS": 47083, + "Ġsympathy": 47084, + "roker": 47085, + "Ġremodel": 47086, + "ĉcell": 47087, + "Ġatop": 47088, + ".FullName": 47089, + "Ġfaut": 47090, + "ĠEasily": 47091, + "_dynamic": 47092, + "Ġframed": 47093, + "Ġmotive": 47094, + "è·¯": 47095, + "sam": 47096, + "Ġmarca": 47097, + "ĠTextEditingController": 47098, + "Ġdestructor": 47099, + "cream": 47100, + "Ġrude": 47101, + "ĠBold": 47102, + "ĠIndigenous": 47103, + "Ġgens": 47104, + "Ġrelacion": 47105, + "(system": 47106, + "ĠUIFont": 47107, + "_charge": 47108, + "USTER": 47109, + "EV": 47110, + ".Namespace": 47111, + "Ġmerger": 47112, + "Ġcalloc": 47113, + "gang": 47114, + "BadRequest": 47115, + "Ġsper": 47116, + "-design": 47117, + "Ġâĩ": 47118, + "Chan": 47119, + "Ġorganism": 47120, + ",)": 47121, + "=id": 47122, + "_plane": 47123, + "ĠCases": 47124, + "elfast": 47125, + "ĠLegislature": 47126, + "ĠFaker": 47127, + "Ġinvoking": 47128, + "-utils": 47129, + "().'": 47130, + ".face": 47131, + "Ġguardian": 47132, + "myModal": 47133, + "Ġclipboard": 47134, + "ĠATM": 47135, + "Ġpeas": 47136, + "ĠSylv": 47137, + ".calc": 47138, + "ĠContacts": 47139, + "intValue": 47140, + "Ġmodifying": 47141, + "ĠBarb": 47142, + ".loss": 47143, + "_percentage": 47144, + "Asked": 47145, + "(lst": 47146, + "ategorical": 47147, + "-files": 47148, + "ĠRomania": 47149, + ".Ac": 47150, + "Ġhai": 47151, + "ĠFlying": 47152, + "Ġż": 47153, + "jp": 47154, + "ĠTrainer": 47155, + ".arc": 47156, + "_deg": 47157, + "Ġtraceback": 47158, + "OrFail": 47159, + "FLOW": 47160, + ".old": 47161, + "oya": 47162, + "gmt": 47163, + "isempty": 47164, + "Ġvaccination": 47165, + "Ġobsolete": 47166, + "recognized": 47167, + "Ġruined": 47168, + "ĠRein": 47169, + "ĠTracking": 47170, + "xfb": 47171, + "اÛĮ": 47172, + "Ġvære": 47173, + "Ġbryster": 47174, + "ĠITS": 47175, + "Ġdestiny": 47176, + "Ġswear": 47177, + "Ġredes": 47178, + "Ġclf": 47179, + "Ġflipped": 47180, + "ĉhead": 47181, + "Bluetooth": 47182, + "ĠOverrides": 47183, + ":Boolean": 47184, + "_=": 47185, + "_lr": 47186, + "spawn": 47187, + ":index": 47188, + "VALUES": 47189, + "iskey": 47190, + "?\");Ċ": 47191, + ".synthetic": 47192, + "ĠChecking": 47193, + "structures": 47194, + "iping": 47195, + "Ġvocals": 47196, + "-Up": 47197, + "ĠManufacturers": 47198, + "ĠMarriage": 47199, + "代çłģ": 47200, + "Ġgarner": 47201, + "_Client": 47202, + "parallel": 47203, + "RIEND": 47204, + "Ġvinegar": 47205, + "segue": 47206, + "JB": 47207, + "Ġcontacting": 47208, + "ĠCarroll": 47209, + "Ġoutreach": 47210, + "tensor": 47211, + "_variant": 47212, + "Ġtheat": 47213, + "licable": 47214, + "{|": 47215, + "tiny": 47216, + "_letter": 47217, + "Ġpencil": 47218, + "HeadersHeightSizeMode": 47219, + "iltro": 47220, + ".autoconfigure": 47221, + ".drag": 47222, + ".useState": 47223, + "ĠBMI": 47224, + "hint": 47225, + "Compile": 47226, + "*\\": 47227, + "enary": 47228, + "Ġlvl": 47229, + ".Cache": 47230, + "+=\"": 47231, + "_tv": 47232, + "ruitment": 47233, + "Ġfread": 47234, + "Articles": 47235, + "fila": 47236, + "Ġpackaged": 47237, + "âĺĨ": 47238, + "ATHER": 47239, + "ĠPlanned": 47240, + "scheme": 47241, + "Ġdiary": 47242, + "Ġoffenses": 47243, + "/F": 47560, + "ĠStick": 47561, + "Ġcerc": 47562, + "ĠSlee": 47563, + "ĉĉĠĠĠĠĠĠĠĠ": 47564, + "": 47739, + "ĉcol": 47740, + "VG": 47741, + "_boolean": 47742, + "recent": 47743, + "Ġ*)ĊĊ": 47744, + "ĠRainbow": 47745, + "ommen": 47746, + "Ġlur": 47747, + "Ġoppression": 47748, + "(\",\");Ċ": 47749, + "ĠFacility": 47750, + "DEFINED": 47751, + "Ġneon": 47752, + "Ġoffender": 47753, + "AFP": 47754, + "ĠCleaning": 47755, + "[]):": 47756, + "Ġundocumented": 47757, + ".Repositories": 47758, + "ĠGuitar": 47759, + "аÑģÑģив": 47760, + "Skills": 47761, + "Ġtestimon": 47762, + "ryptography": 47763, + "ĠAmber": 47764, + "ĠStalin": 47765, + "Ġlone": 47766, + "Ġapenas": 47767, + "Ġdieses": 47768, + "ĠArduino": 47769, + "转": 47770, + "==-": 47771, + "_Act": 47772, + "Ġcoded": 47773, + "âĸł": 47774, + "amburger": 47775, + "-links": 47776, + "Ġarmour": 47777, + ".High": 47778, + "getContent": 47779, + "stag": 47780, + "Ġheck": 47781, + "ĠìĹĨ": 47782, + "ĠMcConnell": 47783, + "ĠConcert": 47784, + "ĠAlloc": 47785, + "äre": 47786, + ".replaceAll": 47787, + "Ġpartitions": 47788, + "rott": 47789, + "ĠFle": 47790, + "_TREE": 47791, + "reasonable": 47792, + "ĠReporting": 47793, + "Ġbillionaire": 47794, + "scores": 47795, + "mins": 47796, + "-eye": 47797, + "MORE": 47798, + "abort": 47799, + "ĠSWT": 47800, + "Ġinverted": 47801, + "ĠTeachers": 47802, + ";n": 47803, + "Ġastro": 47804, + "нов": 47805, + "аниÑĨ": 47806, + "producto": 47807, + "countries": 47808, + "ĠOwen": 47809, + "Ġcontamination": 47810, + "Ġvibe": 47811, + "ĠElli": 47812, + ".script": 47813, + "ĠOlive": 47814, + "DMA": 47815, + "vier": 47816, + ":semicolon": 47817, + "-module": 47818, + "gressive": 47819, + "agu": 47820, + "_players": 47821, + "Ġresultados": 47822, + "started": 47823, + "scrollTop": 47824, + "=====": 47825, + "Ġweighing": 47826, + "Ġ[[[": 47827, + "zahl": 47828, + "(NS": 47829, + "ĠAssertion": 47830, + "league": 47831, + ".setTextColor": 47832, + "ĉMessage": 47833, + "Ġmoms": 47834, + "_AF": 47835, + ".wh": 47836, + "ALS": 47837, + "Ġautre": 47838, + "]ĊĊĊĊ": 47839, + ".opacity": 47840, + "ĠBuddhist": 47841, + "Ġdeaf": 47842, + "ĠOrganisation": 47843, + "(Global": 47844, + "ensch": 47845, + "Ġheadache": 47846, + "ĠAlien": 47847, + "_inode": 47848, + "ĠStark": 47849, + "Ġæī": 47850, + "-lnd": 47851, + "oref": 47852, + "_feat": 47853, + "Ġpedestrian": 47854, + "Ġnominal": 47855, + "Ġballoon": 47856, + "Ġsprites": 47857, + "PrototypeOf": 47858, + "ĠApost": 47859, + "ĠFEATURE": 47860, + "OH": 47861, + "Ġrecess": 47862, + "ĠDonna": 47863, + "consumer": 47864, + "$GLOBALS": 47865, + "ĠGIF": 47866, + "-frame": 47867, + "Inicio": 47868, + "Ġpassages": 47869, + "DateString": 47870, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 47871, + ".byte": 47872, + "Bug": 47873, + "initializer": 47874, + "pkt": 47875, + "odium": 47876, + "ĠDER": 47877, + ".ops": 47878, + "leri": 47879, + "Ġgifted": 47880, + "Ġdetach": 47881, + "terrain": 47882, + "elters": 47883, + "ãģı": 47884, + ".loader": 47885, + "ĠNGO": 47886, + "strncmp": 47887, + "Kh": 47888, + "(fontSize": 47889, + "rocket": 47890, + "Ġprecedent": 47891, + "ĠAurora": 47892, + "ĠExperiment": 47893, + "isphere": 47894, + "Encoded": 47895, + "ĠâĢĵĊĊ": 47896, + "Ġpyramid": 47897, + "ĠAnniversary": 47898, + "ofil": 47899, + "ëŁ": 47900, + "(plugin": 47901, + "Coeff": 47902, + "Ġcooperate": 47903, + "Ġpredominantly": 47904, + "ISM": 47905, + "Phrase": 47906, + "_DEFINE": 47907, + "Flip": 47908, + "AMILY": 47909, + "ĠMarkets": 47910, + "ĠStreamReader": 47911, + "ĠCombine": 47912, + "Ġmanuscript": 47913, + "zza": 47914, + ",tp": 47915, + "Whatever": 47916, + "ITICAL": 47917, + "ighbour": 47918, + "DataProvider": 47919, + ".Texture": 47920, + "privacy": 47921, + ".SDK": 47922, + "Ġrecharge": 47923, + "Ġcpp": 47924, + "ĠCFG": 47925, + "(holder": 47926, + "(py": 47927, + "mot": 47928, + "Ġsavoir": 47929, + "ĠRosa": 47930, + "ĠPCs": 47931, + "ĠíĻ": 47932, + ".heroku": 47933, + "Ġfren": 47934, + "ĠRiley": 47935, + "agate": 47936, + "Ġsond": 47937, + ".xlsx": 47938, + "Ġhacked": 47939, + "stad": 47940, + "Gi": 47941, + "Ġsanity": 47942, + "ĠSqlDataAdapter": 47943, + "...\",": 47944, + "ĠPussy": 47945, + "Ġ****************": 47946, + "Ġhassle": 47947, + "_PARENT": 47948, + "ĠUAE": 47949, + "Ġbeginners": 47950, + "(Client": 47951, + "Ġstatistically": 47952, + ".hour": 47953, + "edelta": 47954, + "Ġtraction": 47955, + "uelve": 47956, + "arat": 47957, + "Ġsauna": 47958, + "INVALID": 47959, + "Ġindictment": 47960, + "ALLE": 47961, + "Ġdissent": 47962, + "ĠTypography": 47963, + "Ġintentional": 47964, + "sit": 47965, + "ĠAnimals": 47966, + "Ġcountryside": 47967, + "Ġuart": 47968, + "}\\\"": 47969, + "Ġseamless": 47970, + "¾ç¤º": 47971, + "Ġautos": 47972, + "Ġ\"'\";Ċ": 47973, + "Flush": 47974, + "ANNOT": 47975, + "Ġalgebra": 47976, + "assoc": 47977, + "ĠWaters": 47978, + "Ġpreparations": 47979, + "ronym": 47980, + "[,]": 47981, + "Sans": 47982, + "Ġarmies": 47983, + "ipeg": 47984, + "Ġcreamy": 47985, + ".art": 47986, + "etre": 47987, + "ĠAnimated": 47988, + "Ġunpleasant": 47989, + "emean": 47990, + "great": 47991, + "iÄħ": 47992, + "ĠEarlier": 47993, + "Ġchic": 47994, + "Ġpreserving": 47995, + "(exec": 47996, + "ĠInvestigation": 47997, + "ĉGPIO": 47998, + "Ġrigorous": 47999, + "ijo": 48000, + "=num": 48001, + "ĠtoolStrip": 48002, + ")set": 48003, + "+\"&": 48004, + "ĠAcceler": 48005, + "Ġdevelopmental": 48006, + "isposable": 48007, + "Ġflawed": 48008, + "rene": 48009, + "Updating": 48010, + "Ġwatchdog": 48011, + "Ġdenominator": 48012, + "Ġsuburbs": 48013, + "Ġ...)": 48014, + "Ġconvictions": 48015, + "closure": 48016, + ".IP": 48017, + "Ġtranslates": 48018, + ".swt": 48019, + ".Trace": 48020, + "Ġmettre": 48021, + ".isEnabled": 48022, + "ĠEffective": 48023, + ".toInt": 48024, + "Ġenchant": 48025, + "Ġstunned": 48026, + "Ġpoi": 48027, + "/code": 48028, + "adm": 48029, + ".databinding": 48030, + "ĠLorem": 48031, + "________________________________________________________________": 48032, + "Ġledger": 48033, + "Ġcara": 48034, + "ĠGir": 48035, + "Ġwaits": 48036, + "Uno": 48037, + "Ġcwd": 48038, + "è¾ij": 48039, + "ĠTResult": 48040, + "Ġrejo": 48041, + "Ġemitted": 48042, + "ĠWestminster": 48043, + "ä¸Ģ个": 48044, + "nek": 48045, + "_Tis": 48046, + "Ġenact": 48047, + "ĉwith": 48048, + "orgia": 48049, + "Ġjue": 48050, + "Perform": 48051, + "SPATH": 48052, + ".topic": 48053, + "ĠDaten": 48054, + "ầ": 48055, + "Ġsitio": 48056, + "_MM": 48057, + "\"So": 48058, + "bial": 48059, + "Ġscoped": 48060, + "Requires": 48061, + "ĠTOTAL": 48062, + "ĠChancellor": 48063, + "(contents": 48064, + "Ġstealth": 48065, + "devices": 48066, + "-pass": 48067, + "ilih": 48068, + "ĠMalcolm": 48069, + "ĠDepot": 48070, + "Ġconfigur": 48071, + "aussian": 48072, + "_constraint": 48073, + "веÑĤ": 48074, + "GRA": 48075, + "ĠRates": 48076, + ".dataGridViewTextBoxColumn": 48077, + "ĠNobel": 48078, + "itics": 48079, + "Ġignorant": 48080, + "ĠReporter": 48081, + "ĠEbola": 48082, + "ĠShock": 48083, + "_relation": 48084, + "ĠNinja": 48085, + ")c": 48086, + "Ġticker": 48087, + ".isChecked": 48088, + "ĠSuppliers": 48089, + "ĠRapid": 48090, + "Levels": 48091, + "âĤ¬âĦ¢": 48092, + "ĉqueue": 48093, + "Ġchop": 48094, + "ĠUnix": 48095, + "reject": 48096, + "-calendar": 48097, + "(sort": 48098, + "ène": 48099, + "ercicio": 48100, + "Ġhect": 48101, + "CALLTYPE": 48102, + "roupon": 48103, + "Ġrentals": 48104, + "authors": 48105, + "{name": 48106, + "ĠFIFO": 48107, + "Ġlassen": 48108, + "ĠNous": 48109, + "Ġsnapped": 48110, + "Ġfertility": 48111, + "\"log": 48112, + "clicked": 48113, + "Ġplanting": 48114, + "Ġgb": 48115, + "/output": 48116, + "PEAT": 48117, + "Ġcategoria": 48118, + "Ġbach": 48119, + "Professor": 48120, + "inth": 48121, + "\"]čĊ": 48122, + "Recorder": 48123, + "serde": 48124, + "ĠTransmission": 48125, + "trad": 48126, + "Ġturbo": 48127, + "_VERTEX": 48128, + "\\Event": 48129, + "ilver": 48130, + "Ġbodily": 48131, + "ĠSources": 48132, + "Ġkillings": 48133, + ".xrTableCell": 48134, + "Ġfolded": 48135, + "/legal": 48136, + "uner": 48137, + "ĠRifle": 48138, + "ĠMIDI": 48139, + "_SelectedIndexChanged": 48140, + ".SizeType": 48141, + "ĠWebSocket": 48142, + "Ġseleccion": 48143, + "Sand": 48144, + "otros": 48145, + "Ġenvision": 48146, + "/etc": 48147, + "ĠMelissa": 48148, + "Spot": 48149, + "ное": 48150, + "_ARM": 48151, + "Attempt": 48152, + "ĠBI": 48153, + "ãģĶ": 48154, + "ĠDU": 48155, + "Ġbacklash": 48156, + "stride": 48157, + "/classes": 48158, + "ĠtextColor": 48159, + "_staff": 48160, + "oblin": 48161, + "agenta": 48162, + ".collections": 48163, + "illage": 48164, + "'čĊčĊ": 48165, + "flatten": 48166, + "_sales": 48167, + "_MASTER": 48168, + "TW": 48169, + "_da": 48170, + "Pitch": 48171, + "phies": 48172, + "Ġzombies": 48173, + "ĠVERY": 48174, + "ĠPharmacy": 48175, + "ĠprogressBar": 48176, + "Ġhashtag": 48177, + "Sidebar": 48178, + "@stop": 48179, + "(pc": 48180, + "олж": 48181, + "MAKE": 48182, + "ĠCoron": 48183, + "Ġkvinner": 48184, + "ĠMaid": 48185, + "bob": 48186, + ".titleLabel": 48187, + "Ġsuccesses": 48188, + "ĠDemocracy": 48189, + "ĠSurgery": 48190, + "Ġcougar": 48191, + "Ġcurso": 48192, + "Ġloro": 48193, + "istency": 48194, + "Senior": 48195, + "æk": 48196, + "ĠAAA": 48197, + "ĠBOOK": 48198, + "ко": 48199, + "WSTR": 48200, + "Ġ*/,Ċ": 48201, + "oyal": 48202, + ".vector": 48203, + "ĠSPEC": 48204, + "SSF": 48205, + "Ġcompuls": 48206, + "ĠAppeals": 48207, + "ĠWinston": 48208, + "ĠMockito": 48209, + "contrib": 48210, + ".available": 48211, + "entityManager": 48212, + "arias": 48213, + "_sale": 48214, + "_rs": 48215, + "Ġdecoding": 48216, + "Ġlocator": 48217, + "olith": 48218, + "Ġkol": 48219, + "Ġascii": 48220, + "ĠRut": 48221, + "/interface": 48222, + "ĉĉĉĉĉĉĠĠĠ": 48223, + "ĠNumer": 48224, + ".flip": 48225, + "-del": 48226, + "Ġbolster": 48227, + "onomic": 48228, + "Ġzm": 48229, + "LG": 48230, + "FindBy": 48231, + "Ġadaptive": 48232, + "loo": 48233, + "Ġvue": 48234, + "(reverse": 48235, + "_canvas": 48236, + ".roles": 48237, + "ificado": 48238, + "venient": 48239, + "\"As": 48240, + "ĠEntr": 48241, + "aligned": 48242, + "Ġbereits": 48243, + "///ĊĊ": 48244, + ".gwt": 48245, + ".employee": 48246, + "_cli": 48247, + "Ġanticipate": 48248, + "éĻIJ": 48249, + "Ġpik": 48250, + "Ġmushrooms": 48251, + "(tt": 48252, + "Ġoma": 48253, + "ĠSanchez": 48254, + "_google": 48255, + ".Valid": 48256, + "ĠFileName": 48257, + "ivative": 48258, + "ked": 48259, + "-war": 48260, + "Ġmaturity": 48261, + "ид": 48262, + "Ġminer": 48263, + "Reducers": 48264, + "ĠLatLng": 48265, + "_STD": 48266, + "Digits": 48267, + "Calc": 48268, + "-upload": 48269, + "Ġhandic": 48270, + "ีà¹Ī": 48271, + "egrated": 48272, + "ĠSTM": 48273, + "Clients": 48274, + "ĠTurbo": 48275, + "SYNC": 48276, + "Ġphotographers": 48277, + ".Out": 48278, + ".character": 48279, + "BUILD": 48280, + ".unlock": 48281, + "Ġarises": 48282, + "ĠCommands": 48283, + "(\"\");čĊ": 48284, + "_FORE": 48285, + ";',": 48286, + "+\"'": 48287, + ".Images": 48288, + "\"){": 48289, + "ĠMeyer": 48290, + "Ġnegatively": 48291, + "ĠDLL": 48292, + "Ġexe": 48293, + "Ġdeficiency": 48294, + "Ġwildly": 48295, + "-switch": 48296, + "construction": 48297, + "Ġexceptionally": 48298, + "ĠLiz": 48299, + "/java": 48300, + "Ġtheirs": 48301, + "ĠContemporary": 48302, + "lis": 48303, + ".fillRect": 48304, + "ĠNFC": 48305, + "Ġrehe": 48306, + "(numbers": 48307, + "Ġraster": 48308, + "Ġfiguring": 48309, + "Ġshowc": 48310, + "ĠJill": 48311, + "Ġarcade": 48312, + "ĠConstructs": 48313, + "mdl": 48314, + "('|": 48315, + "Ġidentifiers": 48316, + "Ġstellar": 48317, + "(Connection": 48318, + "Ġ\"{{": 48319, + "yor": 48320, + "(mysqli": 48321, + "Ġdove": 48322, + "OfBirth": 48323, + ".disconnect": 48324, + "_hi": 48325, + "Ġzwischen": 48326, + "ĠGrund": 48327, + "iros": 48328, + "_Array": 48329, + ".onclick": 48330, + "ansom": 48331, + "Answers": 48332, + "ĉremove": 48333, + "Fa": 48334, + "Ġhurry": 48335, + "-inf": 48336, + "ĠgetClass": 48337, + "ĠRegulation": 48338, + "ĠFLAGS": 48339, + "misc": 48340, + "Ken": 48341, + "_heading": 48342, + "GHz": 48343, + "-entry": 48344, + "Ġbiography": 48345, + "Sig": 48346, + "-mf": 48347, + "Watcher": 48348, + "âĢľA": 48349, + "}px": 48350, + "Ġspicy": 48351, + "_sq": 48352, + "Lost": 48353, + "(track": 48354, + "али": 48355, + "Descending": 48356, + "((": 48553, + "survey": 48554, + "Ġíĺ": 48555, + "...')Ċ": 48556, + "ĠDivider": 48557, + "osl": 48558, + "_CANCEL": 48559, + "_prepare": 48560, + "stin": 48561, + "ĠHeath": 48562, + ".PrimaryKey": 48563, + "ĠâĨIJ": 48564, + "ĠLocalDateTime": 48565, + "Ġcooperative": 48566, + "Learning": 48567, + ".enqueue": 48568, + "Ġgoog": 48569, + "ĠRegression": 48570, + "imates": 48571, + "Ġvoyeur": 48572, + "ĠDrink": 48573, + "plug": 48574, + "Ġlender": 48575, + "mana": 48576, + "Ġpersonnes": 48577, + "ypse": 48578, + "Ġunlink": 48579, + "ĠRavens": 48580, + "Ġhurd": 48581, + "Ġperiodically": 48582, + "ARGS": 48583, + "ĠGH": 48584, + "characters": 48585, + "...\"ĊĊ": 48586, + "-establish": 48587, + "Ġdn": 48588, + "(condition": 48589, + "ĠGravity": 48590, + "Ġestas": 48591, + "_focus": 48592, + "Creature": 48593, + "(site": 48594, + "Ġcarr": 48595, + "ĠRL": 48596, + "ĠRI": 48597, + "ĠMoto": 48598, + "ASF": 48599, + "ĠLuckily": 48600, + "ĉRoute": 48601, + "Ġentropy": 48602, + "(\",\"": 48603, + "Collect": 48604, + "(contact": 48605, + "ĠFlorence": 48606, + "Ġpremiums": 48607, + "Ġlifecycle": 48608, + "Ġbans": 48609, + "xef": 48610, + "WebKit": 48611, + "ĠFloating": 48612, + "Ġcosa": 48613, + "Specific": 48614, + "ĠLoans": 48615, + "bread": 48616, + "Ġdescriptors": 48617, + "Ġ{:.": 48618, + "THREAD": 48619, + "ĠTrent": 48620, + "Ġscop": 48621, + "QA": 48622, + "ĠAntar": 48623, + "pel": 48624, + "_difference": 48625, + "_changes": 48626, + "(...)": 48627, + "ĠRotation": 48628, + "ĠLGPL": 48629, + "ĠJUST": 48630, + "(Task": 48631, + "_subset": 48632, + "ĠTRANS": 48633, + "åĬĽ": 48634, + "ĠScout": 48635, + "-popup": 48636, + "Ġsmoked": 48637, + "_Class": 48638, + "Ġturnover": 48639, + "brakk": 48640, + "ĠRocky": 48641, + "tas": 48642, + ".RegularExpressions": 48643, + "ĠElliott": 48644, + "ĠSpinner": 48645, + "DUCTION": 48646, + "Ġlibre": 48647, + "Ġmolto": 48648, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ": 48649, + "ĠFTP": 48650, + "mpeg": 48651, + "(features": 48652, + "Ġbald": 48653, + "ĠVid": 48654, + "Ġshouting": 48655, + "Lint": 48656, + "Ġsockets": 48657, + "Ġprow": 48658, + "Ġnouvelle": 48659, + "iscard": 48660, + "ĠSponsor": 48661, + "Ġconsulta": 48662, + ")));": 48663, + "Indian": 48664, + "ĠRaspberry": 48665, + "Ġteammate": 48666, + "ĠJWT": 48667, + "ĠGhana": 48668, + "Ġcakes": 48669, + "primer": 48670, + "forma": 48671, + "ergarten": 48672, + "_Manager": 48673, + "Ġpreseason": 48674, + "GAME": 48675, + "|\"": 48676, + "ĠBrock": 48677, + "Ġoccupy": 48678, + "Ġdecorations": 48679, + "ánd": 48680, + "Ġcot": 48681, + "Ġparan": 48682, + "Disk": 48683, + "remain": 48684, + ">?": 48685, + "Strong": 48686, + "Ġfrance": 48687, + "ĠEra": 48688, + "-cr": 48689, + ".BufferedReader": 48690, + "ĠParadise": 48691, + "ĠVAT": 48692, + "ĠAnders": 48693, + "Ġlimb": 48694, + "ampoo": 48695, + "Ġimperative": 48696, + "UTILITY": 48697, + "ĠRecognition": 48698, + "Ġragazze": 48699, + "Ġpops": 48700, + "ypress": 48701, + "Ġembargo": 48702, + "//{Ċ": 48703, + "Ġsyll": 48704, + "PTR": 48705, + "åŃĺåľ¨": 48706, + "Ġdidnt": 48707, + "Mailer": 48708, + "Ġacademics": 48709, + "ĠFrauen": 48710, + "neider": 48711, + "-rel": 48712, + "Ġrainbow": 48713, + "(In": 48714, + "Ġsliced": 48715, + "=============Ċ": 48716, + "(send": 48717, + "NSMutableDictionary": 48718, + "vos": 48719, + "(package": 48720, + "Ġordinance": 48721, + "viewer": 48722, + "ĠSantos": 48723, + "-selling": 48724, + "Ġgov": 48725, + "ettle": 48726, + "Ġfounders": 48727, + "Ġwaking": 48728, + "slashes": 48729, + "-pound": 48730, + "recht": 48731, + "ات": 48732, + ".onClick": 48733, + "Ġnord": 48734, + "ständ": 48735, + "_when": 48736, + "UTERS": 48737, + "icc": 48738, + "Ġcapsule": 48739, + "ĠWid": 48740, + "Marc": 48741, + "ุ": 48742, + "rored": 48743, + "UGE": 48744, + "LOUD": 48745, + "ĠAudit": 48746, + "ipients": 48747, + "opian": 48748, + "ĠSue": 48749, + "Ġwurden": 48750, + ".Helpers": 48751, + "Ġfactions": 48752, + "[np": 48753, + "-than": 48754, + "Ġreco": 48755, + "Ġkas": 48756, + "Ġcmds": 48757, + "/network": 48758, + "xbf": 48759, + "getColor": 48760, + "Ġbiased": 48761, + "ĠLak": 48762, + "Datas": 48763, + "vents": 48764, + "Ġë²": 48765, + "_PS": 48766, + ".Validate": 48767, + "Invoker": 48768, + "Ġneuen": 48769, + "Ġjuvenile": 48770, + "VISION": 48771, + "Ġdevote": 48772, + "Ġlinha": 48773, + "Ġdiscounted": 48774, + "\\Config": 48775, + "Ġworthwhile": 48776, + "Ġskinny": 48777, + "ĠCourses": 48778, + "leys": 48779, + "ĠMortgage": 48780, + "Kevin": 48781, + "Ġannounces": 48782, + "])*": 48783, + "reservation": 48784, + "Ġæķ°": 48785, + "Ġprejudice": 48786, + "ĠStringComparison": 48787, + "Ġbeard": 48788, + "-win": 48789, + "ĠSão": 48790, + "ĉms": 48791, + "jal": 48792, + "ĠEarn": 48793, + "_ports": 48794, + "ĠNombre": 48795, + "_COR": 48796, + "ĠBUILD": 48797, + ".sound": 48798, + "Yellow": 48799, + "Ġlinebacker": 48800, + "Ġcharitable": 48801, + "jug": 48802, + "_NONNULL": 48803, + "ĠDental": 48804, + "\">${": 48805, + "ĉmatch": 48806, + "Russian": 48807, + "Ġversch": 48808, + "Ġpinned": 48809, + "Ġadopting": 48810, + "OptionsMenu": 48811, + "Pag": 48812, + "Ġpairing": 48813, + "Ġtread": 48814, + "ercises": 48815, + "ĠSpread": 48816, + ")i": 48817, + "ĠBAD": 48818, + "_tf": 48819, + "UIImageView": 48820, + "populate": 48821, + "bab": 48822, + "ĠÏĥ": 48823, + "[++": 48824, + "Ġopioid": 48825, + "Ġ##Ċ": 48826, + "dtype": 48827, + "ĠStarts": 48828, + "('/')": 48829, + "Ġpersonals": 48830, + "-market": 48831, + "Ġredundant": 48832, + "ĠEssential": 48833, + "Ġscrapy": 48834, + "Ġим": 48835, + "acl": 48836, + "Ġcrear": 48837, + "ĠBend": 48838, + "Ġrelieve": 48839, + "-room": 48840, + "wife": 48841, + "ĠvÃł": 48842, + "ĠQPoint": 48843, + "Ġquasi": 48844, + "ĠmethodName": 48845, + "\\xc": 48846, + "ĠPeru": 48847, + "/The": 48848, + ".orm": 48849, + "Ġviz": 48850, + "/pdf": 48851, + "Located": 48852, + "Ġconfrontation": 48853, + "ĠChampionships": 48854, + "Ġhypert": 48855, + "Ġdj": 48856, + "ĠUserInfo": 48857, + "ĠåĪĽå»º": 48858, + "\\xb": 48859, + "(sim": 48860, + "Ġ==Ċ": 48861, + "Ġstaging": 48862, + "Ġdrastically": 48863, + "åѦ": 48864, + "lords": 48865, + ".less": 48866, + "ведиÑĤе": 48867, + "ĠBucket": 48868, + "ĠMam": 48869, + ".term": 48870, + "_pi": 48871, + "czy": 48872, + ".pub": 48873, + "precio": 48874, + "ĠVirt": 48875, + "Ġroman": 48876, + "itat": 48877, + "Lex": 48878, + "_infos": 48879, + "İ": 48880, + ".other": 48881, + "VELO": 48882, + "Ġponder": 48883, + "Ġhanno": 48884, + "(Page": 48885, + "doi": 48886, + "Ġpolite": 48887, + "Ġprogrammer": 48888, + "Dies": 48889, + "$d": 48890, + "Ġreplication": 48891, + "addColumn": 48892, + "frican": 48893, + "Ġleng": 48894, + "beer": 48895, + "oit": 48896, + "Ġwasting": 48897, + "ylim": 48898, + "measure": 48899, + "Neg": 48900, + "Ġpartie": 48901, + ".console": 48902, + "ĠGuinea": 48903, + "TEL": 48904, + "_fact": 48905, + ".chunk": 48906, + "Ġlent": 48907, + "Ġaller": 48908, + "Ġà¤ķ": 48909, + "_idle": 48910, + "Ġadmissions": 48911, + "JSONArray": 48912, + "Ġvibration": 48913, + ".helpers": 48914, + "å¤ĸ": 48915, + "Ġhen": 48916, + "john": 48917, + "ĠìĥĿ": 48918, + "Ġjudgement": 48919, + "Ġgeen": 48920, + "terra": 48921, + "^{": 48922, + "ĠIz": 48923, + "Ġcâ": 48924, + "instances": 48925, + "Ġthreatens": 48926, + "Ġmüssen": 48927, + "KindOfClass": 48928, + "Ġstorytelling": 48929, + "_demo": 48930, + "rias": 48931, + "Privacy": 48932, + "hift": 48933, + "ĠYi": 48934, + "esor": 48935, + "íķł": 48936, + "ensitivity": 48937, + ".Writer": 48938, + "à¸Ĥ": 48939, + "District": 48940, + ".getJSONObject": 48941, + "Impro": 48942, + "(getResources": 48943, + "ĠSPELL": 48944, + "roduce": 48945, + "Ġslowed": 48946, + "Ġlinewidth": 48947, + "Ġhonesty": 48948, + "ĠCoord": 48949, + "ĠFork": 48950, + "ĠDispatchQueue": 48951, + "ĠCliff": 48952, + "ĠWiring": 48953, + "_TIMESTAMP": 48954, + "ollah": 48955, + "avoid": 48956, + "++];Ċ": 48957, + "semantic": 48958, + "-css": 48959, + "Ġveto": 48960, + "ĠMerr": 48961, + "Ġlegislators": 48962, + "CEEDED": 48963, + "Ġquestionnaire": 48964, + "ĠPills": 48965, + "Calculate": 48966, + "(core": 48967, + "'e": 48968, + "Ġdislike": 48969, + "ĠPreferences": 48970, + "_EXTERNAL": 48971, + "è°ĥ": 48972, + "Ġdodge": 48973, + "æľįåĬ¡": 48974, + ".names": 48975, + ".drawImage": 48976, + "_prom": 48977, + "uckland": 48978, + "Ġ<$>": 48979, + "ız": 48980, + "/site": 48981, + "项": 48982, + "rophe": 48983, + "Ġcompelled": 48984, + "Ġlaptops": 48985, + "Ġuni": 48986, + "CLOSE": 48987, + "Ġcasualties": 48988, + "ĠUniform": 48989, + "Terminal": 48990, + ".\",\"": 48991, + "DAT": 48992, + "(TreeNode": 48993, + "ĠGandhi": 48994, + "(stmt": 48995, + "AXB": 48996, + "*M": 48997, + "Ġumbrella": 48998, + "animal": 48999, + "Ġgrpc": 49000, + "Ġwhereby": 49001, + "Ġfloats": 49002, + "ĉarg": 49003, + "Ġdbg": 49004, + "Ġexceeding": 49005, + "EventType": 49006, + ".SaveChangesAsync": 49007, + "Ġ{{{": 49008, + "Ġowed": 49009, + "ahrenheit": 49010, + "Ġì§": 49011, + "Ġequipo": 49012, + "urai": 49013, + "Ġidol": 49014, + "]\")Ċ": 49015, + "_major": 49016, + "Ġentirety": 49017, + "ingerprint": 49018, + "ços": 49019, + "/account": 49020, + "ĉright": 49021, + "ursos": 49022, + "ĠEDT": 49023, + "_INSERT": 49024, + "Ġshining": 49025, + "Ġ<:": 49026, + "EdgeInsets": 49027, + "Ġcolonies": 49028, + ".IM": 49029, + "ĉĠĉ": 49030, + "ROAD": 49031, + "CCCC": 49032, + "placing": 49033, + "ĠgetActivity": 49034, + "emacs": 49035, + "'%(": 49036, + ".clicked": 49037, + "ĠThem": 49038, + "isia": 49039, + "Buscar": 49040, + ".rename": 49041, + "Ġoath": 49042, + "Ġafterward": 49043, + "ĠUFO": 49044, + "APS": 49045, + "ĠJacksonville": 49046, + ".some": 49047, + "Confirmed": 49048, + ".scan": 49049, + "igInteger": 49050, + "Decorator": 49051, + "shield": 49052, + "ressive": 49053, + ".did": 49054, + "请è¾ĵåħ¥": 49055, + "Ġshutter": 49056, + "Dam": 49057, + "Ġparenting": 49058, + "eyed": 49059, + "$item": 49060, + "-develop": 49061, + "Ġextracts": 49062, + "Ġdecentralized": 49063, + "ĠElsa": 49064, + "_spin": 49065, + "])+": 49066, + "-initial": 49067, + "Ġmultitude": 49068, + "Ġsensory": 49069, + "ĠMODEL": 49070, + "Ġsafeguard": 49071, + "ì¹": 49072, + "Ġhunters": 49073, + "ĠTiny": 49074, + "INO": 49075, + "decorate": 49076, + "ĠNoSuch": 49077, + "Ho": 49078, + "(Response": 49079, + "Ġruler": 49080, + "ĉshort": 49081, + "Ġcaster": 49082, + "ĠclientId": 49083, + "Ġpdb": 49084, + "ëıĦ": 49085, + "itic": 49086, + "ĠGameState": 49087, + "ĠnewItem": 49088, + ")ĊĊĊĊĊĊ": 49089, + "ouis": 49090, + "noc": 49091, + ".BLACK": 49092, + "_VECTOR": 49093, + "----------();": 49381, + ".getP": 49382, + "anye": 49383, + "Ġneuron": 49384, + "ifold": 49385, + "ĠKnown": 49386, + "Bitcoin": 49387, + "Anyway": 49388, + "ayette": 49389, + "Ġ'['": 49390, + "Ãłnh": 49391, + "mgr": 49392, + "Ġcorrelated": 49393, + "Ġnause": 49394, + "Ġmentality": 49395, + "hasMany": 49396, + "ĠFG": 49397, + "ampie": 49398, + "ITU": 49399, + "Fs": 49400, + ".Sp": 49401, + "_between": 49402, + "Dependencies": 49403, + "oug": 49404, + "Placeholder": 49405, + "=text": 49406, + "ĠManaging": 49407, + "ocalypse": 49408, + "åĮĹ": 49409, + "_mag": 49410, + "fld": 49411, + "âij": 49412, + "CAM": 49413, + "ĠHelpers": 49414, + "Ġdost": 49415, + "/out": 49416, + "Ġassassination": 49417, + ".getImage": 49418, + "ĠKenny": 49419, + ".')ĊĊ": 49420, + "){//": 49421, + "ĠRanger": 49422, + "Ġgek": 49423, + "Ġsincere": 49424, + "čĊ": 49627, + ".getResources": 49628, + "Ġlump": 49629, + "_consts": 49630, + "(ext": 49631, + "ĉdir": 49632, + "âĿ": 49633, + "ĠpaddingTop": 49634, + "Ġobsession": 49635, + "Ġbanning": 49636, + "ĠAppModule": 49637, + "Ġpartisan": 49638, + "Ġcatalogue": 49639, + "Ġminors": 49640, + "Ġpitches": 49641, + "weep": 49642, + "Ġundertake": 49643, + "Ġthemed": 49644, + "audit": 49645, + ".scrollTop": 49646, + "Ġrer": 49647, + "Ġsymptom": 49648, + "Ġopenings": 49649, + ".blocks": 49650, + "openid": 49651, + "Ġassh": 49652, + "-save": 49653, + "ĠPig": 49654, + "Ġregain": 49655, + "Ġinicial": 49656, + "/favicon": 49657, + "ĉexp": 49658, + "Ġspices": 49659, + "iska": 49660, + "claims": 49661, + "mak": 49662, + "definitions": 49663, + "Ġcorrespondent": 49664, + "ĠCannabis": 49665, + "__,Ċ": 49666, + "ĠLucky": 49667, + "ĠGaussian": 49668, + "ĠNearly": 49669, + "CAD": 49670, + "']]Ċ": 49671, + "Ġadequately": 49672, + "ĠTITLE": 49673, + "constitutional": 49674, + "-mm": 49675, + "_override": 49676, + "Ġblas": 49677, + ".readyState": 49678, + "Ġreminis": 49679, + "Ġreinforced": 49680, + "ĠCollabor": 49681, + "Ġdecorating": 49682, + "Ġbachelor": 49683, + "ERRUPT": 49684, + "Ġupright": 49685, + "ipation": 49686, + "ĠNoble": 49687, + "ĠvalueForKey": 49688, + "ĠsetLoading": 49689, + ".Ignore": 49690, + "åģ": 49691, + "Globals": 49692, + "ĠMent": 49693, + "ASSES": 49694, + "Ġlimbs": 49695, + "ĠHUD": 49696, + "inci": 49697, + ".iv": 49698, + "ĠQModelIndex": 49699, + "Fuse": 49700, + "Ġpedal": 49701, + "_FREQ": 49702, + "(verbose": 49703, + "Ġlongitud": 49704, + "ĠCharter": 49705, + "ê·¸": 49706, + "Ġbundles": 49707, + ".ignore": 49708, + "umbo": 49709, + "EMA": 49710, + ".......": 49711, + "sx": 49712, + ".Card": 49713, + "Ġheute": 49714, + "Ġsteer": 49715, + "jumlah": 49716, + "Ġ{_": 49717, + "_Checked": 49718, + "Ġfax": 49719, + "ĠGust": 49720, + "itchens": 49721, + "Ġ))ĊĊ": 49722, + "Ġremarkably": 49723, + "/XML": 49724, + "-remove": 49725, + "_bt": 49726, + "Ġincub": 49727, + ".package": 49728, + ".currentThread": 49729, + "ĠHighlander": 49730, + ".side": 49731, + "splash": 49732, + "Ġici": 49733, + "=D": 49734, + "Ġpuck": 49735, + "Ġballots": 49736, + "Ġhugely": 49737, + "coeff": 49738, + "ĠpData": 49739, + ".COLUMN": 49740, + "ĠHealing": 49741, + "Ġordin": 49742, + "!),": 49743, + "Ġ'',čĊ": 49744, + "(md": 49745, + "ĠSask": 49746, + "čĊ": 49768, + "Ġrá": 49769, + "Ġblunt": 49770, + "ĠImageIcon": 49771, + "ifik": 49772, + "RTC": 49773, + "Ġfibers": 49774, + "Ġtoile": 49775, + ".sent": 49776, + "ĠPyQt": 49777, + "$app": 49778, + "Ġmedio": 49779, + "Ġgranting": 49780, + "Ġtslint": 49781, + "ĠMö": 49782, + "(figsize": 49783, + "Ġhurricane": 49784, + "Ġlifes": 49785, + "ĠÃĦ": 49786, + "rocessing": 49787, + "_standard": 49788, + "-option": 49789, + "')))": 49790, + "Ġvacant": 49791, + "å·¥": 49792, + "ĠHollow": 49793, + "handleChange": 49794, + "Ġdivider": 49795, + "ĠEngineers": 49796, + "Ġsvens": 49797, + "Ġcompliant": 49798, + "tanggal": 49799, + "ĠCredits": 49800, + "ĠEmirates": 49801, + "RuleContext": 49802, + "Ġrealization": 49803, + "Ġdistracted": 49804, + "]+=": 49805, + "Ġaugment": 49806, + "ĠDw": 49807, + "otp": 49808, + "orrent": 49809, + "Editar": 49810, + ".stock": 49811, + "Study": 49812, + "pections": 49813, + "ĠGameManager": 49814, + "=cut": 49815, + "Ġflock": 49816, + "ĠRomans": 49817, + "them": 49818, + "-hop": 49819, + "Ġscreenshots": 49820, + "Ġ/*!Ċ": 49821, + "Ġconversions": 49822, + "Ġnormalization": 49823, + "(configuration": 49824, + "Ġaeros": 49825, + "_security": 49826, + "!'Ċ": 49827, + "Bonus": 49828, + "ĠDRIVER": 49829, + "ĉDate": 49830, + "tie": 49831, + "ĠWyoming": 49832, + "Stand": 49833, + "itre": 49834, + "Ġshoppers": 49835, + "Ġdisadvantage": 49836, + "Ġliking": 49837, + "ç¬ij": 49838, + "Ġunderstandable": 49839, + "SEE": 49840, + "Ġhoy": 49841, + "Ġninete": 49842, + "Ġconfer": 49843, + "Ġnowrap": 49844, + "ĠVern": 49845, + ",čĊčĊ": 49846, + "imestep": 49847, + "LayoutManager": 49848, + "à·": 49849, + "ĉwait": 49850, + "PLETED": 49851, + "Japan": 49852, + "Ġinduce": 49853, + "Ġå¯": 49854, + "озв": 49855, + "_ENDPOINT": 49856, + ".horizontal": 49857, + "Ġaccelerated": 49858, + "rimon": 49859, + "IVES": 49860, + "Transactions": 49861, + "Lean": 49862, + "ĠSOUR": 49863, + "whether": 49864, + "yg": 49865, + "Ġoid": 49866, + "ĠEntityManager": 49867, + "OUNTRY": 49868, + "Ġfila": 49869, + "OLUMNS": 49870, + "INUE": 49871, + "ĠAnchor": 49872, + "TRAN": 49873, + "woo": 49874, + "blockquote": 49875, + "ĠNurse": 49876, + "ĠCarp": 49877, + "Ġredeem": 49878, + ".try": 49879, + "ĠJP": 49880, + "Ġtimestamps": 49881, + "Ġ?>\"><": 49882, + "ĠREMOVE": 49883, + "ĠStarbucks": 49884, + "Really": 49885, + "Ġflooded": 49886, + ".Callback": 49887, + "DropDown": 49888, + "ipro": 49889, + "Ġtended": 49890, + "lte": 49891, + "Ġproportions": 49892, + "-te": 49893, + "ĠRena": 49894, + "licate": 49895, + "forces": 49896, + ".extra": 49897, + ".authenticate": 49898, + "вод": 49899, + "¡°": 49900, + "ĠforControlEvents": 49901, + "Ġsenha": 49902, + "Ġkein": 49903, + "Ġminist": 49904, + "ĠPreference": 49905, + "ĠTelegraph": 49906, + "Ñĥп": 49907, + "strpos": 49908, + "Ġillnesses": 49909, + "Ġpigs": 49910, + "ĠgetIntent": 49911, + "Sol": 49912, + "Ġ¡": 49913, + "(cpu": 49914, + "[prop": 49915, + "screens": 49916, + "');?>": 49917, + "ĠActs": 49918, + "Ġstrdup": 49919, + "Ġaverages": 49920, + "anal": 49921, + "ĠCasual": 49922, + "GroupBox": 49923, + "ĠHandbook": 49924, + "/comments": 49925, + "Ġnumbered": 49926, + "Ġbroadcasting": 49927, + "çĽij": 49928, + ".nativeElement": 49929, + ".mu": 49930, + "ĠupdatedAt": 49931, + "ĠDoesn": 49932, + ".AC": 49933, + ".coll": 49934, + "Ġrecorder": 49935, + "_sha": 49936, + "Bg": 49937, + "bil": 49938, + "Ġbolts": 49939, + "Ġç¬": 49940, + "Ġimposing": 49941, + "ĠInformationen": 49942, + "_flashdata": 49943, + "economic": 49944, + "Remark": 49945, + "ucas": 49946, + "ĠOfficers": 49947, + "ĠTER": 49948, + "Walk": 49949, + "Ġmercado": 49950, + "_generate": 49951, + "HY": 49952, + "Calling": 49953, + "snap": 49954, + "scriptId": 49955, + ".operation": 49956, + "ĠFlame": 49957, + "liness": 49958, + "Ġrented": 49959, + "_toggle": 49960, + "-changing": 49961, + "ĠTY": 49962, + "'util": 49963, + "EEP": 49964, + "Ġgraphql": 49965, + "ĠUni": 49966, + "Ġimpulse": 49967, + ".Basic": 49968, + "Ġenergies": 49969, + "MARY": 49970, + "ĠMarcel": 49971, + "Ġmortal": 49972, + "Ġfres": 49973, + "mens": 49974, + "motion": 49975, + "Ġsampled": 49976, + "âĢľThat": 49977, + "iday": 49978, + "quipment": 49979, + "getInt": 49980, + "ĠAbsolute": 49981, + ",'\"": 49982, + "uned": 49983, + ".share": 49984, + "Ġ})(": 49985, + "mmm": 49986, + "ĠRising": 49987, + "ä»»": 49988, + "Ġunemployed": 49989, + "xfa": 49990, + ".follow": 49991, + "ĉĉĉĉĠĠĠĠĠĠ": 49992, + "slt": 49993, + ".Phone": 49994, + "Ġknives": 49995, + "Ġeve": 49996, + "onClick": 49997, + "]))čĊ": 49998, + "ĠWitness": 49999, + "ĉNS": 50000, + "ĠEOS": 50001, + "ĠStefan": 50002, + "ĠPriest": 50003, + "âĢĶwhich": 50004, + "GetString": 50005, + ".By": 50006, + "Ġupstairs": 50007, + "Ġdetriment": 50008, + "broken": 50009, + "embro": 50010, + "Ġnicotine": 50011, + "ilion": 50012, + "Ġastonishing": 50013, + "_aff": 50014, + "ĠLesson": 50015, + "Ġaccidental": 50016, + "odor": 50017, + "Ġdecir": 50018, + "ĠnewName": 50019, + "+.": 50020, + "缸": 50021, + "igslist": 50022, + "ĠGithub": 50023, + "Ġsuccessive": 50024, + "racial": 50025, + "Ġenviron": 50026, + "éªĮè¯ģ": 50027, + "Ġredirected": 50028, + "TOTAL": 50029, + "Ġgrabbing": 50030, + "ĠLance": 50031, + "Ġforfe": 50032, + "_CB": 50033, + "å¾®": 50034, + "Elapsed": 50035, + "_way": 50036, + "(DialogInterface": 50037, + "_measure": 50038, + "xbb": 50039, + "Dog": 50040, + "Depart": 50041, + "-src": 50042, + "resolver": 50043, + "withstanding": 50044, + "_shell": 50045, + "ĠLastName": 50046, + "ĠAviation": 50047, + "Ġbeginner": 50048, + "(\"%.": 50049, + "(tool": 50050, + "Ġнов": 50051, + ":init": 50052, + "(API": 50053, + "ĠMorrison": 50054, + "vtColor": 50055, + "Ġstaple": 50056, + "/INFO": 50057, + "Ġsupernatural": 50058, + "Ġsteak": 50059, + "timeline": 50060, + "zzle": 50061, + "\"`ĊĊ": 50062, + "Secondary": 50063, + "ĠNepal": 50064, + ".StringUtils": 50065, + "Ġadam": 50066, + "Ġ(...": 50067, + "Ġsubstitution": 50068, + "Ġboarding": 50069, + "ĠKeyword": 50070, + "ĠAssault": 50071, + "dbcTemplate": 50072, + "ĠorderId": 50073, + "(engine": 50074, + ".assertThat": 50075, + "ĠVenus": 50076, + "Ġhomicide": 50077, + "ĠAval": 50078, + "Ġgutter": 50079, + "ĠSupported": 50080, + "/part": 50081, + "Ġacclaimed": 50082, + "Histor": 50083, + "Ġmeses": 50084, + "über": 50085, + "ĠRenew": 50086, + "Ġgras": 50087, + "ĠEk": 50088, + "Ġinfile": 50089, + "indy": 50090, + ".music": 50091, + ".Scroll": 50092, + "ĠAges": 50093, + "ĠNaruto": 50094, + "ĠGather": 50095, + "Ġconfirming": 50096, + "=(\"": 50097, + "Ġpitched": 50098, + "oley": 50099, + "France": 50100, + "+'\"": 50101, + "$total": 50102, + "Ġonde": 50103, + "Ġditch": 50104, + "_sigma": 50105, + "Ġcontinuity": 50106, + "reward": 50107, + "-load": 50108, + "Ġproceso": 50109, + "Locked": 50110, + "staw": 50111, + "Ġspinal": 50112, + "lazy": 50113, + "!==": 50114, + "jest": 50115, + "Ġdun": 50116, + "ĠRodgers": 50117, + "ĉgrid": 50118, + "Ġlogos": 50119, + "ĠBengal": 50120, + ".super": 50121, + "Provides": 50122, + "Ġnutrient": 50123, + ".Timestamp": 50124, + "IZATION": 50125, + "åĨĮ": 50126, + "Ġfats": 50127, + "ĠXxx": 50128, + "ctica": 50129, + "Targets": 50130, + "Ġcontours": 50131, + "Ġreordered": 50132, + ":Array": 50133, + "Ġtolerate": 50134, + "Vir": 50135, + "Ġterribly": 50136, + "Ġbricks": 50137, + "(&_": 50138, + "hb": 50139, + "Portal": 50140, + "ĠBread": 50141, + ".which": 50142, + "ÂŃt": 50143, + "asInstanceOf": 50144, + "Ġjobject": 50145, + "ĉlength": 50146, + "_MT": 50147, + ";\">čĊ": 50148, + "_EXIST": 50149, + "Ġmaternal": 50150, + "REL": 50151, + "Ġê²½ìļ°": 50152, + "hee": 50153, + "Ġlayouts": 50154, + "ĠLap": 50155, + "aisy": 50156, + "Ġstumbled": 50157, + "ĠUIG": 50158, + "ĠSco": 50159, + "Ġimpaired": 50160, + "RESSED": 50161, + "Ġabuses": 50162, + "VF": 50163, + "ARB": 50164, + ".NAME": 50165, + "rch": 50166, + "primir": 50167, + "_completed": 50168, + "Ġpenny": 50169, + "Chrome": 50170, + "(begin": 50171, + "ernen": 50172, + "-checkbox": 50173, + "PlainOldData": 50174, + "ĠLPC": 50175, + "rade": 50176, + "spir": 50177, + "Ġconceived": 50178, + "Tips": 50179, + "ĠIoT": 50180, + "ĠGan": 50181, + "èģĶ": 50182, + "Ġbiases": 50183, + "Ġconsultants": 50184, + "pled": 50185, + "_ht": 50186, + "associated": 50187, + "],ĊĊ": 50188, + "Ġdelightful": 50189, + "ĠÑĤек": 50190, + "Helvetica": 50191, + "(load": 50192, + "-expand": 50193, + "_WIDGET": 50194, + "toa": 50195, + "ĠAkt": 50196, + "Ġomn": 50197, + "Ġclauses": 50198, + "Intel": 50199, + "*/}Ċ": 50200, + "_registration": 50201, + "ĠoldValue": 50202, + "Ġrestoring": 50203, + "Ġunreal": 50204, + "OVER": 50205, + "ĉĊĉĊĉĊ": 50206, + "ATS": 50207, + "_probe": 50208, + "Ġdivisor": 50209, + ".updateDynamic": 50210, + "å¹³": 50211, + "Produces": 50212, + "stamp": 50213, + ".jboss": 50214, + "ĉtask": 50215, + "!(:": 50216, + "Ġpsychic": 50217, + "@class": 50218, + "Martin": 50219, + "ĠPassed": 50220, + "clarations": 50221, + "hel": 50222, + "аÑĩ": 50223, + "ĉcopy": 50224, + "-bin": 50225, + "zan": 50226, + "igram": 50227, + "াà¦": 50228, + "(sig": 50229, + "ĠCaval": 50230, + "_##": 50231, + "Ġ%=": 50232, + "outlined": 50233, + "ĠAcid": 50234, + "Ġunpredictable": 50235, + "-dashboard": 50236, + "HexString": 50237, + "+c": 50238, + ".Public": 50239, + "ẩ": 50240, + "Ġconveyor": 50241, + "ĠEB": 50242, + "Ġselects": 50243, + "Ġknocking": 50244, + "ĠCec": 50245, + "IBUTES": 50246, + "owaÄĩ": 50247, + "gatsby": 50248, + "*v": 50249, + "entropy": 50250, + "Ġdispatched": 50251, + "Ġcamel": 50252, + "ĠSaturn": 50253, + "Ġoverweight": 50254, + "(phone": 50255, + "parable": 50256, + "%B": 50257, + "_vectors": 50258, + "Ġbrewing": 50259, + "ĠTk": 50260, + "ĠDownloads": 50261, + "ĠSaved": 50262, + ".Price": 50263, + "Ġcurved": 50264, + "ĠParenthood": 50265, + "è¶": 50266, + ".pnl": 50267, + "pletely": 50268, + ".Day": 50269, + "Ġadvertisers": 50270, + "Ġejec": 50271, + "Ġprzed": 50272, + "ë¯": 50273, + "!';Ċ": 50274, + "ĠKush": 50275, + "ĠTAB": 50276, + "Ġquests": 50277, + "Ġcoincidence": 50278, + "ummies": 50279, + "ĠKashmir": 50280, + "ĠEthics": 50281, + "_growth": 50282, + "Ġaktiv": 50283, + "Ġgrouping": 50284, + "å¢ŀ": 50285, + "_truth": 50286, + "åIJ¬": 50287, + "todos": 50288, + "iset": 50289, + "TexCoord": 50290, + "ätt": 50291, + "ĠZur": 50292, + "roys": 50293, + "_MAGIC": 50294, + "Ġbrewery": 50295, + "(State": 50296, + "ĠSMALL": 50297, + "ĠPlants": 50298, + "itbart": 50299, + "eacher": 50300, + "ĠAdelaide": 50301, + "Lu": 50302, + "Ġfick": 50303, + "undles": 50304, + "_loaded": 50305, + "ие": 50306, + "Poll": 50307, + "ritic": 50308, + "ELY": 50309, + "Ġ+'": 50310, + "ĠProfession": 50311, + "Ġstamps": 50312, + "ĠSew": 50313, + "scrollView": 50314, + "Ġcommunist": 50315, + "/problems": 50316, + "}čĊčĊčĊčĊ": 50317, + ",o": 50318, + "Ġudp": 50319, + "Ġobese": 50320, + "approve": 50321, + "ancellation": 50322, + "_Game": 50323, + "ĠHashtable": 50324, + "adaptiveStyles": 50325, + "Ġpossesses": 50326, + ".matcher": 50327, + "functional": 50328, + "Mrs": 50329, + "ĉsave": 50330, + "ĠDbType": 50331, + "Ġken": 50332, + "getContext": 50333, + "Ġmans": 50334, + "(rel": 50335, + "ĠBrotherhood": 50336, + ")`Ċ": 50337, + "è§£": 50338, + ".Information": 50339, + "OutOfRangeException": 50340, + "ĠSek": 50341, + "Cas": 50342, + "Ġbloggers": 50343, + "Either": 50344, + "(\"\"\"": 50345, + "Ġpinch": 50346, + "Ġcoarse": 50347, + ")p": 50348, + "ĠPulse": 50349, + "Ġlearnt": 50350, + "Ġdentist": 50351, + "Ġonchange": 50352, + "Ġdirectives": 50353, + "(actions": 50354, + "nyder": 50355, + "ĠShir": 50356, + "Trait": 50357, + "_dep": 50358, + "ĠPET": 50359, + "ĠREP": 50360, + ".AppSettings": 50361, + "cuador": 50362, + "idenav": 50363, + "Ġenvi": 50364, + "Ġslammed": 50365, + "ĠShoot": 50366, + "ĠdateFormat": 50367, + ".joda": 50368, + "veys": 50369, + "Ġ).ĊĊ": 50370, + "Ġcareg": 50371, + "ĠParallel": 50372, + "_translation": 50373, + ".functions": 50374, + ".obs": 50375, + "RuntimeException": 50376, + "[]=": 50377, + "overview": 50378, + "ĠSchl": 50379, + "Ġnoisy": 50380, + "ĠOnPropertyChanged": 50381, + "Sending": 50382, + "Ġunfamiliar": 50383, + "Upon": 50384, + "ĠPrints": 50385, + ".typ": 50386, + "Ġfleeing": 50387, + "ĉmove": 50388, + "(Un": 50389, + "Ġqr": 50390, + "׾": 50391, + "_beta": 50392, + "Ġskies": 50393, + "ĉme": 50394, + "WND": 50395, + "Ġstickers": 50396, + "blas": 50397, + "Ġinserts": 50398, + "Ġverses": 50399, + "ĠDew": 50400, + "Ġtangible": 50401, + "Ġhecho": 50402, + "POL": 50403, + "Ġteardown": 50404, + "omnia": 50405, + "IBE": 50406, + ".cover": 50407, + "_strategy": 50408, + "^-": 50409, + "setPosition": 50410, + "uale": 50411, + "Signed": 50412, + "Ġiface": 50413, + "aseline": 50414, + ".setTime": 50415, + "ĠMineral": 50416, + "ĠFighting": 50417, + "skins": 50418, + "Ġdiscrimin": 50419, + "Ġdansk": 50420, + "ĠPrinceton": 50421, + "acist": 50422, + "Ġ());Ċ": 50423, + "tracks": 50424, + "imonial": 50425, + "adecimal": 50426, + "EPROM": 50427, + "uggle": 50428, + ".Notification": 50429, + "$mail": 50430, + "cantidad": 50431, + "ĠJung": 50432, + "Ġseekers": 50433, + "Ġplausible": 50434, + "tier": 50435, + "еж": 50436, + "Ġrapper": 50437, + "ĠMana": 50438, + "ĠHttpStatusCode": 50439, + "Ġburnt": 50440, + "loses": 50441, + "ĠFoto": 50442, + "ĠJsonObject": 50443, + "Instagram": 50444, + "Ġsyscall": 50445, + "Ġrealities": 50446, + "ĠMATLAB": 50447, + ":^{Ċ": 50448, + "TERM": 50449, + "ĠCbd": 50450, + "ĠParagraph": 50451, + "Ġtravés": 50452, + "Ġconstructing": 50453, + "Ġswal": 50454, + "Ġpige": 50455, + "LLLL": 50456, + "-existing": 50457, + "Gets": 50458, + "Ġmelted": 50459, + "Ġmitigate": 50460, + "Hen": 50461, + "Ġhm": 50462, + "imas": 50463, + "ĠAo": 50464, + "ĠPerez": 50465, + "ĠDAL": 50466, + "Ġëĭ¤": 50467, + "Ġdivis": 50468, + "StoryboardSegue": 50469, + "ĠModify": 50470, + "ĠÃľber": 50471, + "_OVERRIDE": 50472, + ".pem": 50473, + "untos": 50474, + "Ġespañ": 50475, + "Ġ{?": 50476, + "ĠPAY": 50477, + "_ipv": 50478, + "ĠFury": 50479, + "__.__": 50480, + "elow": 50481, + "-centered": 50482, + "checks": 50483, + "_Reg": 50484, + "-Javadoc": 50485, + "ĉload": 50486, + "ĠLikewise": 50487, + "اÙħ": 50488, + "UNE": 50489, + ".sem": 50490, + "xcb": 50491, + "ĠCave": 50492, + "_sleep": 50493, + "Ġsilently": 50494, + "ĠExtreme": 50495, + ".ToUpper": 50496, + "ĉCHECK": 50497, + "Ġcue": 50498, + "ĠQByteArray": 50499, + "Ġcorrupted": 50500, + "ĠDé": 50501, + "Ġimped": 50502, + "GetName": 50503, + "Ġinaccurate": 50504, + "Ġsober": 50505, + "ее": 50506, + "Ġbarcode": 50507, + "--){Ċ": 50508, + "inki": 50509, + "Ġép": 50510, + "Ġdri": 50511, + "ĠALT": 50512, + ">>>>>>>>": 50513, + "onta": 50514, + "[L": 50515, + "Ġinteres": 50516, + "verting": 50517, + "Ġdiagnostics": 50518, + "pdev": 50519, + "è©": 50520, + "ĠIntegrated": 50521, + ").'": 50522, + "_gc": 50523, + "$text": 50524, + ".games": 50525, + "ĠTerra": 50526, + "'Re": 50527, + ".transfer": 50528, + "_FIFO": 50529, + "getModel": 50530, + "Ġbland": 50531, + "ĠColeman": 50532, + "Ġprimes": 50533, + "ĠæĪ": 50534, + "Ġcrosses": 50535, + "nk": 50536, + "GING": 50537, + "Ġ'^": 50538, + "ĠBlob": 50539, + "Ġintercourse": 50540, + "ĠBlvd": 50541, + "Ġweighs": 50542, + "_regular": 50543, + "ĠPerth": 50544, + "Ġseparating": 50545, + "Ġbilled": 50546, + ".tabControl": 50547, + "Ġpuppet": 50548, + "Ġutilization": 50549, + "Ġâĸł": 50550, + "Ġsucces": 50551, + "Ġlamps": 50552, + "_proj": 50553, + "Eric": 50554, + "Ġrenovation": 50555, + "ĠFamilies": 50556, + "ĠBits": 50557, + "partials": 50558, + "-Men": 50559, + "solution": 50560, + "Ġdwarf": 50561, + ".INTEGER": 50562, + "ĠLOCK": 50563, + ".ct": 50564, + "Ġexcerpt": 50565, + "ĠPix": 50566, + "ĠFirstName": 50567, + "ANTED": 50568, + "ĠAdmir": 50569, + "-help": 50570, + "Prior": 50571, + "ĠAlign": 50572, + ".INSTANCE": 50573, + "LineEdit": 50574, + "('/:": 50575, + "Ġinet": 50576, + "odus": 50577, + ".pkl": 50578, + "ĠKY": 50579, + "upert": 50580, + "Ġnerves": 50581, + "_gradient": 50582, + "}','": 50583, + "_unref": 50584, + "Ġsaturated": 50585, + "ĠConnected": 50586, + "ĠFN": 50587, + "EXIT": 50588, + "Ġteleport": 50589, + "Ġavait": 50590, + "PageRoute": 50591, + "Ġdivorced": 50592, + "(lang": 50593, + "fst": 50594, + "ĠTyr": 50595, + "Ġmessenger": 50596, + "ifstream": 50597, + "XS": 50598, + "ĠBanking": 50599, + "Ġinfectious": 50600, + "ĠMons": 50601, + "_LOOP": 50602, + "Ġzurück": 50603, + "Ġobtener": 50604, + "/repos": 50605, + "Vel": 50606, + "acro": 50607, + "ĠuserRepository": 50608, + "styleType": 50609, + "ĠSRC": 50610, + "VMLINUX": 50611, + "recursive": 50612, + "/bar": 50613, + "_chip": 50614, + "ominated": 50615, + "ĠNit": 50616, + "âĢĶto": 50617, + "ĠBuddh": 50618, + "омеÑĢ": 50619, + "ĠMAG": 50620, + "ĠCHE": 50621, + "_den": 50622, + ".raises": 50623, + "_degree": 50624, + "Ġpumpkin": 50625, + "_templates": 50626, + "_MEDIA": 50627, + "ĠTimeline": 50628, + "Ġbots": 50629, + "ObjectType": 50630, + "Ġbuys": 50631, + ".posts": 50632, + "CAL": 50633, + "waiting": 50634, + "ĠDaniels": 50635, + "Ġdabei": 50636, + "ĠSigma": 50637, + "ilor": 50638, + "igel": 50639, + ",W": 50640, + "ADS": 50641, + "(panel": 50642, + "ì²´": 50643, + "itating": 50644, + ".palette": 50645, + "Ġmosquito": 50646, + "Ġtego": 50647, + "(parseInt": 50648, + "Ġdespués": 50649, + "promise": 50650, + "Ġwij": 50651, + "typescript": 50652, + "ĠTv": 50653, + "_IDENTIFIER": 50654, + ").ĊĊĊ": 50655, + "_flat": 50656, + "itsu": 50657, + "USR": 50658, + "experience": 50659, + "-fit": 50660, + "phinx": 50661, + "_thresh": 50662, + "Ġideally": 50663, + "ĠFreeman": 50664, + ",DB": 50665, + "_rw": 50666, + "çŃī": 50667, + "Ub": 50668, + "_statistics": 50669, + "=\"\"><": 50670, + "Ġchore": 50671, + "Ġyork": 50672, + "installed": 50673, + "Additionally": 50674, + "Ġpstmt": 50675, + "ylko": 50676, + "::Ċ": 50677, + "Forest": 50678, + "Ġheadset": 50679, + "Ġgallon": 50680, + "ÑĢем": 50681, + "Ġwithdrawn": 50682, + "ĠCandidate": 50683, + "Ġmelting": 50684, + "Ġfreezer": 50685, + "Ġhl": 50686, + "_HELP": 50687, + "mime": 50688, + "(/*": 50689, + "Ġthirst": 50690, + "$return": 50691, + "memberof": 50692, + "еб": 50693, + "ĠHttpServletRequest": 50694, + "(ob": 50695, + "_Result": 50696, + "Ġasserted": 50697, + "Ġfulfilling": 50698, + "Ġstretches": 50699, + "parated": 50700, + "-funded": 50701, + "ĠåĽ": 50702, + "ingles": 50703, + "_ca": 50704, + ".condition": 50705, + "ĠDisplays": 50706, + "Ġorang": 50707, + "ĠCRE": 50708, + "ĠglBind": 50709, + "ĠSelector": 50710, + "/type": 50711, + "ĠAlexa": 50712, + "chedules": 50713, + "ĠPeninsula": 50714, + "Ġparity": 50715, + "ĉdest": 50716, + "ĠDoors": 50717, + "čĊĉčĊ": 50718, + "_dimension": 50719, + "Ġaload": 50720, + ".StoredProcedure": 50721, + "(paren": 50722, + "ĠBurke": 50723, + "')]Ċ": 50724, + "-engine": 50725, + "Ġquir": 50726, + "ĠHybrid": 50727, + "ĠDoe": 50728, + "Ġoutlines": 50729, + "ĠTrends": 50730, + "_NV": 50731, + "periments": 50732, + "ĠHin": 50733, + "?',": 50734, + "ĉText": 50735, + "FUL": 50736, + "Ġsmells": 50737, + "Ġslick": 50738, + "Ġmiserable": 50739, + "ĠArrayAdapter": 50740, + "ĠparamString": 50741, + "Hom": 50742, + "_literals": 50743, + "usuarios": 50744, + "Ġprompting": 50745, + "_lazy": 50746, + "ĠActivation": 50747, + "_oc": 50748, + "Weak": 50749, + "Ġanecd": 50750, + "ĠUCLA": 50751, + "=re": 50752, + "issement": 50753, + "ĠEscorts": 50754, + "Excellent": 50755, + "ĠPause": 50756, + "Ġrepositories": 50757, + "TOR": 50758, + "ariate": 50759, + "_iso": 50760, + "updates": 50761, + "halb": 50762, + "udiante": 50763, + "ë¡Ŀ": 50764, + "Ġnaive": 50765, + "ĠPeg": 50766, + "ĠLounge": 50767, + "ARGIN": 50768, + "(bin": 50769, + "OnClickListener": 50770, + "ĠFAILED": 50771, + "Ġlite": 50772, + "Ġdzie": 50773, + "ĠLiteral": 50774, + "ivor": 50775, + "fcntl": 50776, + "Ġeats": 50777, + "Ġqed": 50778, + "Unlock": 50779, + "riding": 50780, + "undai": 50781, + "=M": 50782, + "ATTER": 50783, + "ConfigureAwait": 50784, + "icias": 50785, + "ustomed": 50786, + "Ġsuccession": 50787, + "endTime": 50788, + "ĠJupiter": 50789, + "Ġjudging": 50790, + "dration": 50791, + "_docs": 50792, + ".mo": 50793, + "Ġeducators": 50794, + "ĠVine": 50795, + "Cond": 50796, + "[out": 50797, + "qb": 50798, + "\\Validator": 50799, + "Ġmeanings": 50800, + "Ġpresently": 50801, + "Ġdividing": 50802, + "ottenham": 50803, + "ascular": 50804, + "Ġtrailers": 50805, + "ĠCLOSE": 50806, + "ами": 50807, + "âĢĻai": 50808, + "ĠGain": 50809, + "wor": 50810, + "Ġplanner": 50811, + "Ġdistributing": 50812, + "vat": 50813, + "months": 50814, + "xlabel": 50815, + "HF": 50816, + "Viol": 50817, + ".BASELINE": 50818, + "еÑĤÑģÑı": 50819, + "ĠRotate": 50820, + "Ġtxn": 50821, + ":bold": 50822, + "Ġbloss": 50823, + "Forgery": 50824, + "(embed": 50825, + "Ġjako": 50826, + "sprintf": 50827, + "their": 50828, + "Ġexhibits": 50829, + "-static": 50830, + "hecy": 50831, + "getActiveSheet": 50832, + ".clients": 50833, + "ãģį": 50834, + "_hide": 50835, + "[word": 50836, + "Cb": 50837, + "addItem": 50838, + "axe": 50839, + "_radio": 50840, + "alion": 50841, + "modifier": 50842, + "Ġsaturation": 50843, + "Ġdenom": 50844, + "_pixels": 50845, + "mess": 50846, + "(fl": 50847, + "atif": 50848, + "Ġsecs": 50849, + "Ġprostitution": 50850, + "Ġgrandchildren": 50851, + "Ġparadise": 50852, + "ĠFeld": 50853, + "_BINARY": 50854, + "itous": 50855, + "à¹Ħ": 50856, + "Ġflashing": 50857, + "-sided": 50858, + "Ġcontradiction": 50859, + "/*ĊĊ": 50860, + "ylabel": 50861, + "ĠTet": 50862, + "Ġadmire": 50863, + "reso": 50864, + "Ġletz": 50865, + "ĠSEARCH": 50866, + "slots": 50867, + "ĠRewards": 50868, + "ĠHog": 50869, + "ĠNSData": 50870, + "stash": 50871, + "Fall": 50872, + "ĠAmer": 50873, + "LinearLayout": 50874, + "/photos": 50875, + "Ġfeather": 50876, + "Ġ|čĊ": 50877, + "Downloads": 50878, + ".StartsWith": 50879, + "Ġ//#": 50880, + "ineTransform": 50881, + "Ġaffid": 50882, + "Vtbl": 50883, + "ĠRogue": 50884, + "scribed": 50885, + "Ġfauc": 50886, + "ĠMonroe": 50887, + "Ġdeclares": 50888, + "modern": 50889, + "reon": 50890, + "aybe": 50891, + "PASS": 50892, + "fers": 50893, + "_MULTI": 50894, + "ĠMathematics": 50895, + "Ġsudah": 50896, + "_ATTACH": 50897, + "ĠnumberWith": 50898, + "ĠSolomon": 50899, + "jin": 50900, + "ografia": 50901, + "öl": 50902, + "_design": 50903, + "culated": 50904, + "ĠLuna": 50905, + "iesz": 50906, + "Ġ=>'": 50907, + "Ġrevelations": 50908, + "Along": 50909, + "(ed": 50910, + "ĠFilename": 50911, + "Ġylabel": 50912, + "Secure": 50913, + "Ġbusca": 50914, + "agnosis": 50915, + "_RECE": 50916, + "Ġoverlapping": 50917, + "Extent": 50918, + "Ġanticipation": 50919, + "Checks": 50920, + "ĠALSO": 50921, + "orc": 50922, + "ilingual": 50923, + "itational": 50924, + "Ġadvancement": 50925, + "ouro": 50926, + "ĠPredicate": 50927, + "å¾Ĺ": 50928, + "eria": 50929, + "ĠPierce": 50930, + "orio": 50931, + "Ġmerits": 50932, + "Ġpeanut": 50933, + ".Package": 50934, + "ĠConduct": 50935, + "_SENSOR": 50936, + "Ġboiling": 50937, + "Ġintra": 50938, + "ĠIGN": 50939, + "ĠFur": 50940, + ".Refresh": 50941, + "ĠReach": 50942, + "_decoder": 50943, + ".Exp": 50944, + "ĠÑĤак": 50945, + "pill": 50946, + ",Q": 50947, + "ĠGrill": 50948, + "Ġpopping": 50949, + ".Ag": 50950, + "Ġproyecto": 50951, + "Ġmileage": 50952, + "Ġecological": 50953, + "]]);Ċ": 50954, + "ĠÂŃ": 50955, + "subplot": 50956, + "acad": 50957, + "ĠTrying": 50958, + "recipes": 50959, + "$criteria": 50960, + "ĠPersian": 50961, + "-bound": 50962, + "MASK": 50963, + "ĠGesture": 50964, + "Ġkk": 50965, + "ĠPVC": 50966, + "Ġprohibition": 50967, + "Ġcomando": 50968, + "ĠLOOK": 50969, + "Shopping": 50970, + "Ġdistortion": 50971, + "čĊ": 51017, + ".Dependency": 51018, + ".QueryString": 51019, + ".Owner": 51020, + "Ġexpiry": 51021, + "Thu": 51022, + "(Vec": 51023, + "Ġhazardous": 51024, + "Ġrpm": 51025, + "APON": 51026, + "ĠaddTarget": 51027, + "sville": 51028, + "pNet": 51029, + "ĠImg": 51030, + "ĠTIMER": 51031, + ".Animation": 51032, + "Ġbek": 51033, + "Ġassort": 51034, + "Ġlebih": 51035, + "ĠbodyParser": 51036, + "Ġvibrating": 51037, + "IDL": 51038, + "Ġbutterknife": 51039, + "inters": 51040, + "Ġpersuade": 51041, + "ĠLGBTQ": 51042, + "èĭ": 51043, + ".soft": 51044, + "Ġbeams": 51045, + "_sur": 51046, + ".Def": 51047, + "Ġlabs": 51048, + "ĉplt": 51049, + "Ġskins": 51050, + "Ġtransferring": 51051, + "Ġimaginary": 51052, + "_End": 51053, + ";background": 51054, + "Ġlaps": 51055, + "_COMMENT": 51056, + "(SDL": 51057, + "onds": 51058, + ".Record": 51059, + "ĠImplements": 51060, + "_ticks": 51061, + "()))ĊĊ": 51062, + "Ġarose": 51063, + "]?": 51064, + "ĠMp": 51065, + "ĠICommand": 51066, + "Ġsculpture": 51067, + "Ġcontracted": 51068, + "\">'": 51546, + "kinson": 51547, + "Ġкол": 51548, + "ognitive": 51549, + "_li": 51550, + "Ġimminent": 51551, + "Ġaffinity": 51552, + ".signal": 51553, + "Ġnotch": 51554, + "ĠSteelers": 51555, + "maxlength": 51556, + "KK": 51557, + "ĠEugene": 51558, + "_PWM": 51559, + "roi": 51560, + "ĠâĹı": 51561, + "ĠHamburg": 51562, + ".Must": 51563, + "Ġaxe": 51564, + "enef": 51565, + "Ġambitions": 51566, + "ĠSpecies": 51567, + "ĠStress": 51568, + "Ġawhile": 51569, + "ĠбÑĥд": 51570, + "Ġwithstand": 51571, + "ĠDecoder": 51572, + "_inventory": 51573, + "Ġ{ččĊ": 51574, + "Ġtgt": 51575, + "Ġrailroad": 51576, + "WASHINGTON": 51577, + "Ġnegotiated": 51578, + "NST": 51579, + "-phone": 51580, + ",U": 51581, + "Ġexercising": 51582, + "ụ": 51583, + "_PIXEL": 51584, + "avors": 51585, + "iterated": 51586, + "Ġvampire": 51587, + "adal": 51588, + "Ingrese": 51589, + "Ġung": 51590, + "jective": 51591, + ".cells": 51592, + "Ġnano": 51593, + "Ġmarkdown": 51594, + "_RULE": 51595, + "(events": 51596, + "Ġluggage": 51597, + "MESSAGE": 51598, + "igkeit": 51599, + "$count": 51600, + "AttributeName": 51601, + "IGINAL": 51602, + "_Ent": 51603, + "ĠBF": 51604, + "ĠCOMMENT": 51605, + "_ini": 51606, + "ĠEuropeans": 51607, + "ĠBelle": 51608, + "åij½": 51609, + ")['": 51610, + "åºĶ": 51611, + "ĠUseful": 51612, + ".reference": 51613, + "()\",": 51614, + "_grade": 51615, + "ĠKaw": 51616, + "Ġsentencing": 51617, + "Ġsocialism": 51618, + "monster": 51619, + "_LAYER": 51620, + "Ġdeepest": 51621, + "wk": 51622, + "ĠNoise": 51623, + "###ĊĊ": 51624, + "Ġpréc": 51625, + "otle": 51626, + "ÑĤе": 51627, + "auf": 51628, + "ibal": 51629, + "Ġconquer": 51630, + ">Email": 51631, + "Ġambulance": 51632, + "OAD": 51633, + "Ġ(\"%": 51634, + "ĠFI": 51635, + ".fixture": 51636, + "Ġterse": 51637, + "ĠĠĠĠĉĉĉĉ": 51638, + "Ġsanctuary": 51639, + "ugi": 51640, + "ĠComparator": 51641, + "Definitions": 51642, + "Ġasthma": 51643, + "Ġlact": 51644, + "Ġhardwood": 51645, + ".clock": 51646, + "Ġattracting": 51647, + "ĠMour": 51648, + "(distance": 51649, + "icits": 51650, + "Ġbonne": 51651, + "ĠACCESS": 51652, + ".DeserializeObject": 51653, + "ĠTyped": 51654, + "Ġjeu": 51655, + "ĠappId": 51656, + "ĠClara": 51657, + "ĠHF": 51658, + "ĠReich": 51659, + "ipples": 51660, + "//--------------------------------------------------------------------------------": 51661, + "_delivery": 51662, + "erialization": 51663, + "Ġplaintiffs": 51664, + "Scient": 51665, + "shopping": 51666, + "ĠDummy": 51667, + "ĠWald": 51668, + "GroupName": 51669, + "Ġinscription": 51670, + "elog": 51671, + "::::::::": 51672, + "_ld": 51673, + "BackPressed": 51674, + ".Raw": 51675, + "ĠOnTrigger": 51676, + "Ġmuseums": 51677, + "ĠBeen": 51678, + "ĠAdventures": 51679, + "Ġslate": 51680, + "Ġlett": 51681, + "Ġsund": 51682, + "ĠGin": 51683, + "ĠMechanical": 51684, + ".ship": 51685, + "AppComponent": 51686, + "Ġdestined": 51687, + "Ġdwelling": 51688, + "Profiler": 51689, + "Prepare": 51690, + "zeich": 51691, + "Ġsilicon": 51692, + "(has": 51693, + "Ġ#%": 51694, + "VIDEO": 51695, + "Ġcollaborate": 51696, + "Lin": 51697, + "Ġscopes": 51698, + "(className": 51699, + "(sd": 51700, + "andin": 51701, + ".ham": 51702, + "ServiceImpl": 51703, + "-described": 51704, + "Ġirony": 51705, + "stial": 51706, + "ĠHuawei": 51707, + "(repo": 51708, + "Ġunexpectedly": 51709, + "ĠKai": 51710, + ".install": 51711, + "\\xf": 51712, + "Ġexhibited": 51713, + "_TCP": 51714, + "ĠOx": 51715, + "_CHO": 51716, + "Ġprostituerte": 51717, + "Ġvä": 51718, + "Ġsito": 51719, + "Ġconstituents": 51720, + "ĠContinued": 51721, + "ĠSAVE": 51722, + "rss": 51723, + "/message": 51724, + "ubes": 51725, + "Ġmisdemean": 51726, + "Ġtaxation": 51727, + "Ġstoryline": 51728, + "hair": 51729, + "ĠFinds": 51730, + "SIG": 51731, + "verification": 51732, + "~=": 51733, + ".hp": 51734, + "Iterable": 51735, + "Ñĭе": 51736, + "atori": 51737, + "Ġctr": 51738, + "Rx": 51739, + "_);ĊĊ": 51740, + "dag": 51741, + ".pin": 51742, + "Ġpseud": 51743, + "Ġinvo": 51744, + "ÑģÑĤÑĢ": 51745, + "_pix": 51746, + "为空": 51747, + "Ġsworn": 51748, + "âĢĶor": 51749, + "_registry": 51750, + "Ġdisasters": 51751, + "ĠROI": 51752, + "ĠâĢķ": 51753, + "aktu": 51754, + "forest": 51755, + "beiten": 51756, + "âĢĶI": 51757, + "ueva": 51758, + "egt": 51759, + "Ġspikes": 51760, + "URES": 51761, + "ĠRecommended": 51762, + "Ġexploited": 51763, + "ĠFrederick": 51764, + "_COMPLETE": 51765, + "ĠDrugs": 51766, + "!!!!!!!!": 51767, + "ĠRiv": 51768, + "STOP": 51769, + "ROOM": 51770, + "ĠPASSWORD": 51771, + "Cookies": 51772, + ".El": 51773, + "á»Ń": 51774, + "ĠBert": 51775, + "Ġhashed": 51776, + "icester": 51777, + "Ġdecorator": 51778, + "ĠqueryString": 51779, + ":;Ċ": 51780, + "Ġ\"[\"": 51781, + "otope": 51782, + "-Americ": 51783, + "ĠMatthews": 51784, + "URAL": 51785, + "âĢľ,": 51786, + "Summer": 51787, + "fos": 51788, + "_CONTAINER": 51789, + "_ACK": 51790, + "Ġfiltr": 51791, + "_disp": 51792, + "_Re": 51793, + "Ġfacile": 51794, + "аÑĪ": 51795, + "ĠìķĬ": 51796, + "Ġeben": 51797, + "Ġsprink": 51798, + "ĠQuint": 51799, + ">V": 51800, + "Ġhistorians": 51801, + "ourmet": 51802, + "ĠMonitoring": 51803, + "ledger": 51804, + "cott": 51805, + "Ġware": 51806, + "GGLE": 51807, + "cars": 51808, + "ĠMEDIATEK": 51809, + "Ġvolupt": 51810, + "_View": 51811, + "HEL": 51812, + "(copy": 51813, + "(stats": 51814, + "Ġchromosome": 51815, + "ĠCurtis": 51816, + "-conf": 51817, + "(asset": 51818, + "Ġhvor": 51819, + "FileSystem": 51820, + "<>();čĊ": 51821, + "ocoder": 51822, + "ĠCannon": 51823, + ")x": 51824, + "ĠSmooth": 51825, + "ĠSAS": 51826, + "_ce": 51827, + "ĉprev": 51828, + "_movie": 51829, + "Ec": 51830, + "_wall": 51831, + ".ĊĊ": 52378, + "ogenesis": 52379, + "ĠOPTIONS": 52380, + "uptools": 52381, + "Ġmilitant": 52382, + "Ġexited": 52383, + "igar": 52384, + "ĠCOMM": 52385, + "ĠDisposable": 52386, + "aycast": 52387, + "Ġrowspan": 52388, + "Ġsynthes": 52389, + "Ġsondern": 52390, + "ĠĊ": 55869, + "ĠJacket": 55870, + "RATION": 55871, + ".getSelectedItem": 55872, + "-init": 55873, + "ĠRegisters": 55874, + "_sep": 55875, + "ĠToolkit": 55876, + ".dict": 55877, + "Ġxlabel": 55878, + "\\Table": 55879, + "toc": 55880, + "_combo": 55881, + "ĠCompact": 55882, + "Ġrugged": 55883, + "à¥ĩà¤": 55884, + "-management": 55885, + "')}}\">Ċ": 55886, + "ĠStamp": 55887, + "ıl": 55888, + "rox": 55889, + "Ġlandscapes": 55890, + "_NOTE": 55891, + "monary": 55892, + "cab": 55893, + "Ġmoet": 55894, + "xaf": 55895, + "rcode": 55896, + "-cli": 55897, + "_gate": 55898, + "[event": 55899, + "SPORT": 55900, + "gia": 55901, + "ĠSUPER": 55902, + "/Login": 55903, + "_shutdown": 55904, + "interrupt": 55905, + "Ġpretending": 55906, + "Ġfringe": 55907, + "ĠReds": 55908, + "ĠCUDA": 55909, + "ĠUNIX": 55910, + "vit": 55911, + "Ġbrig": 55912, + "drv": 55913, + "ĠConnector": 55914, + "Therefore": 55915, + "Ġlia": 55916, + "Detection": 55917, + "_actor": 55918, + "Ġtempfile": 55919, + "Ġeccentric": 55920, + "-role": 55921, + "Ġpadx": 55922, + "dent": 55923, + "Western": 55924, + "Ġê·¸": 55925, + "ĠApplicationRecord": 55926, + "Ġcampaigning": 55927, + "_runner": 55928, + "ĠCivic": 55929, + "aleigh": 55930, + "Ġdirekt": 55931, + ".sul": 55932, + "ĠĠĉĉĉ": 55933, + "anten": 55934, + "Ġissuer": 55935, + "Ġassertions": 55936, + "(orig": 55937, + "ATIO": 55938, + "Ġleaned": 55939, + "äs": 55940, + ".DTO": 55941, + "explode": 55942, + ".Observable": 55943, + "Ġstaggering": 55944, + "Ġkidnapped": 55945, + "Ġprogrammers": 55946, + "ĠInnov": 55947, + ".parameter": 55948, + "Ġdomination": 55949, + "Ġskeptic": 55950, + "Ġæĺ¯": 55951, + "Ġavoids": 55952, + ".Verify": 55953, + "ubby": 55954, + "ĠASN": 55955, + "Ġformato": 55956, + "ĠBeatles": 55957, + "_brand": 55958, + "Ġinset": 55959, + "youtu": 55960, + "Ġtoc": 55961, + "-final": 55962, + "Showing": 55963, + "ĠDoub": 55964, + "ĠMesa": 55965, + "Adj": 55966, + "_medium": 55967, + "Creates": 55968, + "(endpoint": 55969, + "ĉUP": 55970, + "bbie": 55971, + "Ġstalk": 55972, + ".databind": 55973, + ".Scan": 55974, + "agents": 55975, + "$,": 55976, + "individual": 55977, + "+)/": 55978, + "ĉvm": 55979, + "(notification": 55980, + "Ġinex": 55981, + "ĠClassification": 55982, + "reno": 55983, + "Ġolig": 55984, + "-rated": 55985, + "Ġformulation": 55986, + "',{": 55987, + "Ġacept": 55988, + "_unpack": 55989, + "_CA": 55990, + ".Pow": 55991, + "ĉim": 55992, + "Ġaluminium": 55993, + "ANO": 55994, + "Ġxn": 55995, + "Ġcómo": 55996, + "ĠIngredient": 55997, + "Ġseizures": 55998, + "åħ±": 55999, + "ificador": 56000, + "Ġsiguiente": 56001, + "ĠInfragistics": 56002, + "Ġduplicated": 56003, + "ĠDee": 56004, + "Ġnø": 56005, + "ĠACCEPT": 56006, + "(crate": 56007, + "иÑĤелÑĮ": 56008, + "-less": 56009, + "Ġinfinity": 56010, + "Analyzer": 56011, + "-Day": 56012, + "ritt": 56013, + "(cin": 56014, + "ĠGy": 56015, + "Ġmultiplied": 56016, + "uchi": 56017, + "ĠBaldwin": 56018, + "/ip": 56019, + "Ġshortcuts": 56020, + ".ADD": 56021, + "Ġvigor": 56022, + "_instruction": 56023, + "(;": 56024, + "_eta": 56025, + "è¿ŀ": 56026, + "utorials": 56027, + "Ġboosting": 56028, + "bv": 56029, + "Ġacknowledges": 56030, + "Listening": 56031, + "FAQ": 56032, + ";b": 56033, + "((-": 56034, + "Ġarchitects": 56035, + "Ġzwe": 56036, + "Ġpuls": 56037, + "ĠgetCount": 56038, + "verbs": 56039, + "ãĢľ": 56040, + "(Collection": 56041, + "kre": 56042, + "Ġjurisdictions": 56043, + "_bridge": 56044, + "ĠCrack": 56045, + "ĠDifficulty": 56046, + "KO": 56047, + "Reservation": 56048, + "_requires": 56049, + "Tour": 56050, + "ãģĹãģŁ": 56051, + ".setCurrent": 56052, + "Ġky": 56053, + "ĠAlbany": 56054, + "Ġè§": 56055, + "ller": 56056, + "agna": 56057, + "workers": 56058, + ".blank": 56059, + "ĠPrayer": 56060, + "MIC": 56061, + "Ġresilience": 56062, + "TeX": 56063, + "ĠLanguages": 56064, + "study": 56065, + "ĉcurr": 56066, + "Ġenzymes": 56067, + "Slug": 56068, + "ĠíĮĮ": 56069, + "stral": 56070, + "Ġtumors": 56071, + "Ġsegunda": 56072, + "='{": 56073, + "instruction": 56074, + "ĠLisp": 56075, + "/info": 56076, + "Ġ\"{$": 56077, + ",:),": 56078, + "Ġgv": 56079, + "(ErrorMessage": 56080, + "Ġ'=": 56081, + "}-${": 56082, + ".Documents": 56083, + "\"Well": 56084, + "Ġreminiscent": 56085, + "Ġgaz": 56086, + "iropr": 56087, + "ehr": 56088, + "Ġsuppressed": 56089, + "ersh": 56090, + ".scrollTo": 56091, + "Ġcadena": 56092, + "ĠgameState": 56093, + "ÃŃm": 56094, + "(conv": 56095, + "ĠTomorrow": 56096, + "ĠCCT": 56097, + "Mongo": 56098, + "ulg": 56099, + ".Camera": 56100, + ".handlers": 56101, + "mph": 56102, + "Ġstk": 56103, + "Ġgenetics": 56104, + "ACING": 56105, + "Trivia": 56106, + "ĠBam": 56107, + "(marker": 56108, + ".Stretch": 56109, + "ĠSunni": 56110, + "ĠBetty": 56111, + ".tolist": 56112, + "unlikely": 56113, + ".Rectangle": 56114, + "obsolete": 56115, + "ILON": 56116, + "innerText": 56117, + "embourg": 56118, + "aN": 56119, + "ĠVehicles": 56120, + "unlock": 56121, + ":utf": 56122, + "nob": 56123, + "ĠSeeing": 56124, + "ĠNEVER": 56125, + "Ġtls": 56126, + "Ġfilles": 56127, + "Ġbenefited": 56128, + "ĠClint": 56129, + "*/),": 56130, + ".fold": 56131, + "Ġposible": 56132, + "ADED": 56133, + "thouse": 56134, + ".DAL": 56135, + "ĠOdd": 56136, + "rokes": 56137, + "ĠSunny": 56138, + "ĠPartialEq": 56139, + "_Buffer": 56140, + "ĠLevi": 56141, + "longrightarrow": 56142, + "eldon": 56143, + "gages": 56144, + "_warn": 56145, + ".CreateTable": 56146, + "ĠDip": 56147, + "_questions": 56148, + ".logic": 56149, + "Ġ#\"": 56150, + "={()=>": 56151, + "Ġtep": 56152, + "Ġjuicy": 56153, + "ìĤ¬": 56154, + "enko": 56155, + "ialect": 56156, + "Ùī": 56157, + "Ġonboard": 56158, + "Ġæı": 56159, + "ĉrt": 56160, + "_UTF": 56161, + "ĠQAction": 56162, + "âĢŀ": 56163, + "(Component": 56164, + "(audio": 56165, + ".hit": 56166, + "gte": 56167, + "Ġprogrammed": 56168, + "stateParams": 56169, + "Ġpolyester": 56170, + "fires": 56171, + "byss": 56172, + "]=(": 56173, + "_quality": 56174, + "OfDay": 56175, + "ĠFairy": 56176, + "Ġyelled": 56177, + "opl": 56178, + "(userName": 56179, + "ĠDifference": 56180, + "Ġevaluations": 56181, + "iffany": 56182, + "Ġcyclists": 56183, + "Ġcidade": 56184, + "Ġtextbook": 56185, + "Ġprofiling": 56186, + "__),": 56187, + "dea": 56188, + ".activate": 56189, + "Ġindications": 56190, + "Ðķ": 56191, + "TouchUpInside": 56192, + "Ġinvaluable": 56193, + "ĠMASK": 56194, + "Ġcontend": 56195, + "Freq": 56196, + "Ġrecruits": 56197, + "(interval": 56198, + "ĠUserProfile": 56199, + "Ġ'./../": 56200, + "edu": 56201, + "_Callback": 56202, + "Ġanalogy": 56203, + "ĠTrophy": 56204, + "apphire": 56205, + "Videos": 56206, + "ĠCher": 56207, + "ĠHav": 56208, + "â̦\"": 56209, + ".validator": 56210, + "gfx": 56211, + "ĠUObject": 56212, + "classnames": 56213, + "triangle": 56214, + "ĠEncoder": 56215, + ".spy": 56216, + "Ġpredators": 56217, + "=status": 56218, + "-safe": 56219, + ":\",Ċ": 56220, + "ĠIncluding": 56221, + "Ġ{};čĊ": 56222, + "*cos": 56223, + "Ġendured": 56224, + ".sulake": 56225, + "Ġnursery": 56226, + "Ġfragrance": 56227, + "Ġrebuilding": 56228, + "Ġnth": 56229, + "ĠFraser": 56230, + ".setDate": 56231, + "ĠVince": 56232, + "_REST": 56233, + "Ġventilation": 56234, + "æµ·": 56235, + "cribes": 56236, + ".asm": 56237, + "lpVtbl": 56238, + "ĠAbe": 56239, + "uisine": 56240, + ",array": 56241, + "ĉclassName": 56242, + "errals": 56243, + "Ġ'ĊĊ": 56244, + "Checkout": 56245, + "Ġsolicit": 56246, + "Aux": 56247, + "_capture": 56248, + "Ġribs": 56249, + "ragon": 56250, + "viol": 56251, + "topics": 56252, + "FunctionFlags": 56253, + "ĠMarty": 56254, + "bike": 56255, + "ĠTucker": 56256, + "(kernel": 56257, + "ĠOps": 56258, + "CloseOperation": 56259, + "/demo": 56260, + "ilda": 56261, + "ĠlÃŃnea": 56262, + "APPING": 56263, + "Ġsuites": 56264, + ".visitVarInsn": 56265, + "urus": 56266, + "ĠMinute": 56267, + "(manager": 56268, + "Ġbutterfly": 56269, + "Ġapare": 56270, + "Ġwolves": 56271, + "JWT": 56272, + "ĠSalon": 56273, + "ĉdelay": 56274, + "-eslint": 56275, + "isations": 56276, + ".rpc": 56277, + ")|(": 56278, + "ĠSnapchat": 56279, + "/mm": 56280, + "MN": 56281, + "ceries": 56282, + ".textAlignment": 56283, + "ĠFrankfurt": 56284, + "Ġado": 56285, + "(newValue": 56286, + "(access": 56287, + "(Expression": 56288, + "ĠSignIn": 56289, + "ĠHaiti": 56290, + "_tp": 56291, + ".setParameter": 56292, + "Minute": 56293, + "Ġmanuals": 56294, + "ricanes": 56295, + "ĠPTR": 56296, + "ĠOuter": 56297, + "Ġgetline": 56298, + "ocations": 56299, + "_CD": 56300, + "ĠLyon": 56301, + "/gui": 56302, + "_live": 56303, + "idan": 56304, + ".geom": 56305, + "ĠborderBottom": 56306, + "imuth": 56307, + "_checkpoint": 56308, + "Ġmeu": 56309, + "ĠIrving": 56310, + "Ġpeuvent": 56311, + "(MAX": 56312, + "ĠARCH": 56313, + "Ġpov": 56314, + ".sourceforge": 56315, + "Ġjamais": 56316, + "Ġark": 56317, + "ĠBaghdad": 56318, + "ĠCLEAR": 56319, + "MenuBar": 56320, + "Ġtrois": 56321, + "CHEDULE": 56322, + "Ġ#čĊ": 56323, + "(Call": 56324, + "$order": 56325, + "(Material": 56326, + "Ġencontrado": 56327, + "$list": 56328, + "ĠMETHODS": 56329, + ".beginTransaction": 56330, + "_MAG": 56331, + "StyleSheet": 56332, + "Ġmajors": 56333, + "Ġindefinitely": 56334, + "cleanup": 56335, + "Ġhomeland": 56336, + "(dto": 56337, + "Dates": 56338, + "Presentation": 56339, + "ĠDK": 56340, + "={`/": 56341, + "ĉKey": 56342, + "(Block": 56343, + "_checkbox": 56344, + "needs": 56345, + "ĠonComplete": 56346, + "rico": 56347, + "Ġgleich": 56348, + "Ġxm": 56349, + "OOD": 56350, + "Better": 56351, + "ĠSQLITE": 56352, + ".Book": 56353, + "xad": 56354, + "ĠGone": 56355, + "ĉdp": 56356, + "Ġdevotion": 56357, + "Ġstm": 56358, + "Ġobsess": 56359, + "ĠBackend": 56360, + "Queries": 56361, + "Ik": 56362, + "//****************************************************************": 56363, + "Ġdividends": 56364, + ".parentElement": 56365, + "}\")ĊĊ": 56366, + "ĠMaterialPageRoute": 56367, + ":num": 56368, + "Ġexplic": 56369, + "ĠOL": 56370, + "least": 56371, + "Oops": 56372, + "imentos": 56373, + "Ġinsurers": 56374, + "Ġheroic": 56375, + "ĉfields": 56376, + ".imgur": 56377, + ".btnCancel": 56378, + "ĠDetective": 56379, + "(sm": 56380, + "ĠMutableLiveData": 56381, + ".lab": 56382, + "(([": 56383, + "Ġhairst": 56384, + "ĠTransactions": 56385, + "å¼Ģå§ĭ": 56386, + "ĠstdClass": 56387, + "uento": 56388, + "GIS": 56389, + "_cod": 56390, + "Instructions": 56391, + "Calls": 56392, + "PointerType": 56393, + "ĠRw": 56394, + "Ġassortment": 56395, + "ĠDIG": 56396, + "+r": 56397, + "_CERT": 56398, + "Ġinstability": 56399, + "Ġvib": 56400, + "onas": 56401, + "Ġroku": 56402, + "apellido": 56403, + "Ġangl": 56404, + "preneur": 56405, + "Ġfluids": 56406, + "isease": 56407, + "Ġdeed": 56408, + "quist": 56409, + "_CONSTANT": 56410, + "Ġequilibrium": 56411, + "_delegate": 56412, + "ĠQuantum": 56413, + "rei": 56414, + "Capabilities": 56415, + "rectangle": 56416, + "?><": 56417, + "alien": 56418, + "ĠJug": 56419, + "DNA": 56420, + "Tickets": 56421, + "Occurs": 56422, + "ĠHawk": 56423, + ".setHorizontalGroup": 56424, + "\\Collection": 56425, + "ffiti": 56426, + "Ġrearr": 56427, + ".setVerticalGroup": 56428, + "Ġcavity": 56429, + "Ġadulte": 56430, + "Facade": 56431, + "-wh": 56432, + "ĠLOL": 56433, + "ذ": 56434, + "Ġgrandparents": 56435, + "Swift": 56436, + "ĉwx": 56437, + "æīĢæľī": 56438, + "ifen": 56439, + "ffset": 56440, + "Beyond": 56441, + "//}ĊĊ": 56442, + "Ġwager": 56443, + "Ġbury": 56444, + "Ġcommence": 56445, + "registro": 56446, + "scient": 56447, + "ĠPercent": 56448, + "Ġдолж": 56449, + "(identifier": 56450, + ".setModel": 56451, + "Ġseldom": 56452, + "nton": 56453, + "Ġappliance": 56454, + "amus": 56455, + "rysler": 56456, + "Ġpanties": 56457, + "enguins": 56458, + "Ġmimic": 56459, + "ĠonChanged": 56460, + "Ġalcoholic": 56461, + ".reloadData": 56462, + "Charge": 56463, + "ĠFax": 56464, + "ĠjScrollPane": 56465, + "Empresa": 56466, + "Ġshattered": 56467, + "xba": 56468, + "Fonts": 56469, + "?s": 56470, + "Ġpostseason": 56471, + "retain": 56472, + "_rates": 56473, + "ĠrequestCode": 56474, + ".todo": 56475, + "´s": 56476, + "CHK": 56477, + "ĠKeeping": 56478, + "engeance": 56479, + "Ġvscode": 56480, + "IPPING": 56481, + "DefaultCloseOperation": 56482, + "_raise": 56483, + "ĠOculus": 56484, + "ograms": 56485, + "raj": 56486, + "pci": 56487, + "Ġcorrosion": 56488, + ".handleSubmit": 56489, + "Accessible": 56490, + "ĠPiano": 56491, + "little": 56492, + "ACL": 56493, + "Äĩe": 56494, + ".unwrap": 56495, + "ĠConvers": 56496, + "ĠLeben": 56497, + "ioneer": 56498, + "ĠMerchant": 56499, + "ĠJorge": 56500, + "Ġembracing": 56501, + "Ġventa": 56502, + "ást": 56503, + "Ġviene": 56504, + "Ċ": 56656, + "-growing": 56657, + "Ġdeepcopy": 56658, + "Ack": 56659, + "eggies": 56660, + "Ġ__(\"": 56661, + "Ġnoir": 56662, + "terrorism": 56663, + "Ġanthem": 56664, + "agency": 56665, + "_PACKAGE": 56666, + "ĠClosure": 56667, + ".registry": 56668, + "Ġmammals": 56669, + "L": 56700, + "Ġbluetooth": 56701, + ".Deep": 56702, + "-standing": 56703, + "ácil": 56704, + "Ġrooft": 56705, + "ĠPaths": 56706, + "_iterations": 56707, + "InvalidArgumentException": 56708, + ".spi": 56709, + "ĠUIAlertAction": 56710, + "uye": 56711, + "signin": 56712, + ".priority": 56713, + "ĠEssays": 56714, + "='{$": 56715, + "Ġè¿ĶåĽŀ": 56716, + "_signed": 56717, + ".persist": 56718, + "Ġredesign": 56719, + "ToLower": 56720, + "ĠNewman": 56721, + "=start": 56722, + "ĠIsraelis": 56723, + "asiswa": 56724, + "Speech": 56725, + "Ġnumeros": 56726, + "handlers": 56727, + "ĠWong": 56728, + "ĠмеÑĤод": 56729, + "Weights": 56730, + "ĠGujar": 56731, + "teil": 56732, + "ĠNonetheless": 56733, + "_EFFECT": 56734, + "Ġvect": 56735, + "ĠOsc": 56736, + "Ġcoats": 56737, + "ĠWheat": 56738, + "Ġgeek": 56739, + "ĠPROPERTY": 56740, + "worm": 56741, + "_constants": 56742, + "ĠBoulder": 56743, + "ĠParm": 56744, + "cole": 56745, + "ĠdefaultCenter": 56746, + "ĠRouge": 56747, + ":A": 56748, + "xcf": 56749, + "ĠVenice": 56750, + "median": 56751, + "Ġredemption": 56752, + "Fresh": 56753, + "Ġcosm": 56754, + "Ġfigur": 56755, + "Ġrefurb": 56756, + "COPE": 56757, + ".cd": 56758, + "Ġchords": 56759, + "ĠSgt": 56760, + "Åį": 56761, + "VPN": 56762, + "ĠSEND": 56763, + "ainen": 56764, + "_accounts": 56765, + "Ġtenth": 56766, + "Ġdissolved": 56767, + "": 57007, + "Ġlegitimacy": 57008, + "Ġoo": 57009, + "Slinky": 57010, + "Ġnationals": 57011, + ".words": 57012, + ";p": 57013, + "trap": 57014, + "omanip": 57015, + "Ġcues": 57016, + "Ġgraduating": 57017, + "Ġsemaphore": 57018, + "\"]);ĊĊ": 57019, + "acey": 57020, + "REET": 57021, + "Grab": 57022, + "ĠFelix": 57023, + "(Id": 57024, + "_neighbors": 57025, + "Ġmeaningless": 57026, + "(del": 57027, + "Ġjeder": 57028, + "ĠContentValues": 57029, + ".absolute": 57030, + "/cl": 57031, + "Ġxb": 57032, + "datum": 57033, + "Ġtortured": 57034, + "Ġrubbing": 57035, + "Scores": 57036, + "ĠðŁĺī": 57037, + "Ġavons": 57038, + "Ġamsterdam": 57039, + "EOS": 57040, + "Hal": 57041, + "Ġtrustworthy": 57042, + "#=": 57043, + ".EXTRA": 57044, + "Ġmano": 57045, + "isicing": 57046, + "-support": 57047, + "ĉcursor": 57048, + "ĠSpo": 57049, + "aimassage": 57050, + "Mission": 57051, + "[]{\"": 57052, + "Ġprinters": 57053, + "GREEN": 57054, + "Ġteg": 57055, + "Ġabdominal": 57056, + "!ĊĊĊĊĊĊ": 57057, + ".Short": 57058, + "азв": 57059, + "ĠGifts": 57060, + "}\")": 57061, + "(binding": 57062, + "xce": 57063, + "âĢij": 57064, + "infos": 57065, + "FormData": 57066, + "Ġdart": 57067, + "Ġelems": 57068, + "(inv": 57069, + "YL": 57070, + "tin": 57071, + "GENER": 57072, + "ữ": 57073, + "ĠTaken": 57074, + "uckle": 57075, + ":e": 57076, + "Ġspectral": 57077, + ".baidu": 57078, + "/');Ċ": 57079, + "Ġgreedy": 57080, + "esion": 57081, + ",,,,,,,,": 57082, + "Ġ/>,Ċ": 57083, + "InternalServerError": 57084, + "NSNotificationCenter": 57085, + "ĠAi": 57086, + "Ġspit": 57087, + "Ġaugmented": 57088, + "ĠstandardUserDefaults": 57089, + "FINITY": 57090, + "Race": 57091, + ":C": 57092, + "ĠRECORD": 57093, + "ĠHighlight": 57094, + "Ġ'`": 57095, + "Ġdeficits": 57096, + "Ġnei": 57097, + "Ġresearched": 57098, + "Ta": 57099, + "Ġcopp": 57100, + ".GetHashCode": 57101, + "):čĊčĊ": 57102, + "OnClick": 57103, + "ĠWellington": 57104, + "Ġrevival": 57105, + "æ¯Ķ": 57106, + "éĹ®": 57107, + "ĠNSS": 57108, + "Ġforn": 57109, + "Ġinté": 57110, + "ĠKuwait": 57111, + "_flip": 57112, + "_bo": 57113, + "_\\": 57114, + "Ġoccurrences": 57115, + "ĠScientists": 57116, + "SRC": 57117, + "ogens": 57118, + "igrant": 57119, + "REMOTE": 57120, + "ĠSID": 57121, + ".opts": 57122, + "uve": 57123, + "()])Ċ": 57124, + "Ġlibertarian": 57125, + "ĠGlide": 57126, + "lesen": 57127, + "Ġforme": 57128, + "owania": 57129, + "Ġannoyed": 57130, + "Defs": 57131, + "ĠExecutor": 57132, + "Ġcasts": 57133, + ".setChecked": 57134, + "ĠSharing": 57135, + ".SerializeObject": 57136, + "Ġselectors": 57137, + "_OTHER": 57138, + "미": 57139, + "(super": 57140, + "(OS": 57141, + "_VERIFY": 57142, + "idunt": 57143, + "';Ċ": 57145, + "Ġvidéo": 57146, + "ĠNegro": 57147, + "ĠLords": 57148, + "ĠTours": 57149, + "Ġsoftly": 57150, + ".receive": 57151, + "ĠERC": 57152, + "ĠdataSet": 57153, + "Badge": 57154, + "ĉEvent": 57155, + "Ġperl": 57156, + "Ġ{}\\": 57157, + "(sentence": 57158, + "OrUpdate": 57159, + "Ġdiminish": 57160, + "PIN": 57161, + "(draw": 57162, + ".ToDateTime": 57163, + ".EqualTo": 57164, + "(pin": 57165, + "-pencil": 57166, + "luent": 57167, + "ĠCaller": 57168, + "Ġplayful": 57169, + "-'+": 57170, + "xca": 57171, + "swick": 57172, + "){}Ċ": 57173, + "}:${": 57174, + "ĠMeth": 57175, + ".getCell": 57176, + ".break": 57177, + "Ġymax": 57178, + "='Ċ": 57391, + "ĠHiro": 57392, + "(TRUE": 57393, + "asurer": 57394, + "Ġcuer": 57395, + "Uber": 57396, + ".Operation": 57397, + "Ġolan": 57398, + "Ġthrilling": 57399, + "'.": 57421, + "ĉvalid": 57422, + "\"\",": 57423, + "Instrument": 57424, + ">J": 57425, + "Ġnostr": 57426, + "ĠRift": 57427, + "_Port": 57428, + "Ġveces": 57429, + "[['": 57430, + "Ġrallies": 57431, + "-series": 57432, + "Ġvv": 57433, + ".uc": 57434, + "Ġrtn": 57435, + "StateChanged": 57436, + "(ins": 57437, + "ĠCla": 57438, + "------------Ċ": 57439, + "cus": 57440, + "ĠReload": 57441, + "//------------------------------------------------------------------------------------------------": 57442, + ".seconds": 57443, + "_destination": 57444, + "Ġscrewed": 57445, + ">c": 57446, + "Thickness": 57447, + "Designer": 57448, + "Ġgrids": 57449, + "nÄħ": 57450, + "(cookie": 57451, + "Trip": 57452, + "-Mobile": 57453, + "Ġvoll": 57454, + "Ġgenital": 57455, + "Ġconfisc": 57456, + "ĠConfederate": 57457, + "ĠwebView": 57458, + "Ġmise": 57459, + "Ġcler": 57460, + "(selection": 57461, + "$date": 57462, + "Ġsharpen": 57463, + "ragen": 57464, + "AndUpdate": 57465, + "Ġremix": 57466, + "Ġhtons": 57467, + "RW": 57468, + "MPI": 57469, + "Ġretrieval": 57470, + "Ġrichest": 57471, + ".Decode": 57472, + ":initComponents": 57473, + "ĠTValue": 57474, + "Saint": 57475, + "@include": 57476, + "ĠPERSON": 57477, + ".sep": 57478, + "ĠLDAP": 57479, + "gba": 57480, + "ĠgroÃŁe": 57481, + "Ġreliably": 57482, + "ĠDFS": 57483, + ".getItemId": 57484, + "Ġprésent": 57485, + ".getToken": 57486, + "Ġchinese": 57487, + "ĠMeal": 57488, + "YOU": 57489, + "\">>ĊĊ": 58048, + "bower": 58049, + "Ġswapped": 58050, + "/install": 58051, + "Ġsinks": 58052, + "etrize": 58053, + "Ġdeclines": 58054, + "ĉmysql": 58055, + "ĠCString": 58056, + "ĠMotionEvent": 58057, + ".Language": 58058, + "Road": 58059, + "ÑĤеÑĢ": 58060, + "ascimento": 58061, + "'))->": 58062, + ".about": 58063, + "(editor": 58064, + "ĠRatings": 58065, + "income": 58066, + "Å¡e": 58067, + ".dequeueReusableCell": 58068, + "ĠAustrian": 58069, + "Ġsulla": 58070, + "ĠTribunal": 58071, + "ĠDidn": 58072, + "оваÑĢ": 58073, + "Ġinspections": 58074, + "Boss": 58075, + "Ġcocktails": 58076, + "Ġapologized": 58077, + "_subplot": 58078, + "opal": 58079, + "+=(": 58080, + "Ġresonance": 58081, + "ibu": 58082, + "Ġ리": 58083, + "roma": 58084, + "reserve": 58085, + "pls": 58086, + "ĠTah": 58087, + "axies": 58088, + "OPLE": 58089, + "ĠDarren": 58090, + "ĠZombie": 58091, + "_Map": 58092, + "Ġ])ĊĊ": 58093, + "ĠQi": 58094, + "ĠSail": 58095, + "Ġrestrictive": 58096, + "Ġerosion": 58097, + "-par": 58098, + "WHITE": 58099, + "Ġoldu": 58100, + "Ġaperture": 58101, + "Ġbitcoins": 58102, + "texto": 58103, + "ĠComcast": 58104, + "Ġtimeless": 58105, + "enkins": 58106, + "Ġfeeder": 58107, + "/tmp": 58108, + "resden": 58109, + "+'_": 58110, + ".Destroy": 58111, + "Ġçok": 58112, + "ĠDOCUMENT": 58113, + ".lng": 58114, + ".tagName": 58115, + "Ġkullan": 58116, + "egrate": 58117, + "Ġ(*.": 58118, + "ç¼ĸè¾ij": 58119, + "Ġhandshake": 58120, + "soc": 58121, + "_geometry": 58122, + "ĠDamascus": 58123, + "Minor": 58124, + "ĠKafka": 58125, + "ìŬ": 58126, + "Florida": 58127, + "_compute": 58128, + ".expr": 58129, + "Ġparalle": 58130, + "ĠDiaz": 58131, + "cir": 58132, + "[target": 58133, + "Ġjoking": 58134, + "Ġglor": 58135, + "(setq": 58136, + "_handlers": 58137, + "Hang": 58138, + "Ġferr": 58139, + "riminal": 58140, + "ĉĠĠĠĠĉĉ": 58141, + "enties": 58142, + "defines": 58143, + "-tax": 58144, + "jsonp": 58145, + "ĠUPS": 58146, + "metro": 58147, + "__;Ċ": 58148, + "ĠUganda": 58149, + "])):Ċ": 58150, + "_td": 58151, + "xae": 58152, + "lw": 58153, + ".OS": 58154, + "ĠLogged": 58155, + "acid": 58156, + "ĠMayo": 58157, + "aspect": 58158, + "Ġvaginal": 58159, + "Ġinitializing": 58160, + "Ġsteroids": 58161, + "fiction": 58162, + "GRE": 58163, + "gend": 58164, + "Ġliabilities": 58165, + "ĠLets": 58166, + "Mech": 58167, + "(nc": 58168, + "(change": 58169, + "Ġconnectors": 58170, + ":k": 58171, + "Ġtast": 58172, + "!\");ĊĊ": 58173, + "things": 58174, + "rophy": 58175, + "luetooth": 58176, + "ĠSignUp": 58177, + ".ctrl": 58178, + "Ġtherein": 58179, + "orda": 58180, + ".escape": 58181, + "igator": 58182, + "Ġpetrol": 58183, + "Ġspecimen": 58184, + "Ġdebuted": 58185, + "-Pro": 58186, + "Ġcrises": 58187, + ".addView": 58188, + "ëıĻ": 58189, + "-door": 58190, + "Ġmonet": 58191, + "Ġmillis": 58192, + "Ġvier": 58193, + "InternalEnumerator": 58194, + "Ġadmins": 58195, + "ĠLair": 58196, + "zin": 58197, + "getQuery": 58198, + "umbles": 58199, + "LIMIT": 58200, + "ĠVig": 58201, + "_song": 58202, + "": 58515, + "Ġpasado": 58516, + "thank": 58517, + "_Delete": 58518, + "ĠBrighton": 58519, + ",unsigned": 58520, + "ä½ľèĢħ": 58521, + "Ġaspirations": 58522, + "-how": 58523, + "Rose": 58524, + "=((": 58525, + "_needed": 58526, + "_plural": 58527, + ">ĊĊ": 58645, + "Ġsurfaced": 58646, + "ĠìłĢìŀ¥": 58647, + "platz": 58648, + "ĉemail": 58649, + "ceptors": 58650, + "\">(": 58651, + "Ġepile": 58652, + "读": 58653, + "ĠDebt": 58654, + "åijĬ": 58655, + "NOP": 58656, + "\"https": 58657, + ":j": 58658, + "FormItem": 58659, + "_LICENSE": 58660, + ".getDouble": 58661, + "ĠAgenda": 58662, + "ĉfinally": 58663, + "(filters": 58664, + "(av": 58665, + "ç¾İ": 58666, + "APER": 58667, + "Ġlava": 58668, + "еÑĢж": 58669, + "))))ĊĊ": 58670, + "Ġfaulty": 58671, + "_nm": 58672, + "Ġtrava": 58673, + "(Bitmap": 58674, + "Ġspeeding": 58675, + ">').": 58676, + "Ġscreened": 58677, + "_roll": 58678, + "ĠMacBook": 58679, + "ĠAUD": 58680, + "Ġdiagnose": 58681, + ".Generate": 58682, + "Ġ^^": 58683, + "Ġstrs": 58684, + "[Test": 58685, + "Ġransom": 58686, + "ĠDHCP": 58687, + "elden": 58688, + "Ġinterpretations": 58689, + "()].": 58690, + "flatMap": 58691, + "ĠlineHeight": 58692, + "_mount": 58693, + "ĠWizards": 58694, + "Ġsluts": 58695, + "ehler": 58696, + "odal": 58697, + "Ġmilitia": 58698, + "å²": 58699, + "earned": 58700, + "Ġmisery": 58701, + "intval": 58702, + "fund": 58703, + "Ġhides": 58704, + "Ġdiarr": 58705, + "ĠWesley": 58706, + "Ġxmm": 58707, + "Ġquem": 58708, + "ĠArabs": 58709, + "ifth": 58710, + "ategorized": 58711, + "Disposable": 58712, + "Pure": 58713, + "_NOTIFY": 58714, + "snippet": 58715, + "ĠGarrett": 58716, + ".running": 58717, + ".weights": 58718, + "Ġ(--": 58719, + "Ġinvariant": 58720, + "äºĭä»¶": 58721, + "ĠAllowed": 58722, + "dirs": 58723, + "Ġpassions": 58724, + "Ġlad": 58725, + "ĠFlush": 58726, + "menus": 58727, + ":block": 58728, + "Ġcompra": 58729, + ".chomp": 58730, + "allocator": 58731, + "Ġcurated": 58732, + "ĠKnowing": 58733, + "ĠPatterson": 58734, + "Ġtelah": 58735, + "'ex": 58736, + "Ġdoomed": 58737, + "Ġphilanth": 58738, + "otty": 58739, + ".styles": 58740, + "Owned": 58741, + "Ġallergies": 58742, + "=params": 58743, + "ocese": 58744, + "itelist": 58745, + "ĠSending": 58746, + "bef": 58747, + "orrar": 58748, + "ĠNão": 58749, + "ĠFargo": 58750, + "ĠLub": 58751, + "ĠCombined": 58752, + "_given": 58753, + "ĉĉĉĉĉĠĠĠĠ": 58754, + "Ġreconciliation": 58755, + "Patterns": 58756, + "azard": 58757, + "Ġbiomass": 58758, + "ĠHouses": 58759, + "respuesta": 58760, + "cco": 58761, + "/topics": 58762, + "ĠYuk": 58763, + "Ġweakened": 58764, + "_calendar": 58765, + "Ġmulheres": 58766, + "ĠMarl": 58767, + "Ġsine": 58768, + "ĠTil": 58769, + "ĠSouls": 58770, + "ĠDeutsche": 58771, + "ĠFOLLOW": 58772, + "Ġpipelines": 58773, + "ĠBeverly": 58774, + "_DIPSETTING": 58775, + "\"#": 58776, + "ĠProto": 58777, + ".big": 58778, + "ĠSavings": 58779, + "ĠTanz": 58780, + "jun": 58781, + "ĠGamma": 58782, + "ĠSadd": 58783, + "Ġadvisors": 58784, + "Ġroast": 58785, + "Ġunters": 58786, + "udies": 58787, + "_lon": 58788, + "-pointer": 58789, + "ĠElementRef": 58790, + "\\Builder": 58791, + "exampleInput": 58792, + ".webdriver": 58793, + "dataType": 58794, + "ĠQuite": 58795, + "ĠCeltics": 58796, + "uil": 58797, + "-defense": 58798, + "bish": 58799, + "ĠUIWindow": 58800, + "ĠSuddenly": 58801, + ".hot": 58802, + ".reason": 58803, + "Ġgör": 58804, + "AMD": 58805, + ".Multi": 58806, + "authenticated": 58807, + "regions": 58808, + ";(": 58809, + "аÑĢам": 58810, + "ĠKirby": 58811, + "$route": 58812, + "PRECATED": 58813, + "ĠDurham": 58814, + "owo": 58815, + "ĠPerforms": 58816, + "Ġdisregard": 58817, + "nst": 58818, + "ĠPols": 58819, + "ĠgetP": 58820, + "\"]:": 58821, + "-colored": 58822, + "(Keys": 58823, + "ĠAlleg": 58824, + "_modify": 58825, + "_loading": 58826, + "strained": 58827, + "Ġatroc": 58828, + "_phr": 58829, + "": 59821, + "ceph": 59822, + ".DateTimePicker": 59823, + ".\";ĊĊ": 59824, + "ĠTie": 59825, + ",item": 59826, + "Ġmenn": 59827, + "Gas": 59828, + "ocha": 59829, + "_virtual": 59830, + "Ġmasterpiece": 59831, + "_sequences": 59832, + "LTE": 59833, + "ĠSubmission": 59834, + "Caller": 59835, + "$\\": 59836, + "Sport": 59837, + "agus": 59838, + "ConstraintMaker": 59839, + "Ġcoloc": 59840, + "Ġwig": 59841, + "ĠУ": 59842, + "ĉArray": 59843, + "Looks": 59844, + "ĠGTA": 59845, + ".steps": 59846, + "atchewan": 59847, + "_ranges": 59848, + "extAlignment": 59849, + "ĠBrennan": 59850, + "Ġabstraction": 59851, + "ulerAngles": 59852, + ".misc": 59853, + "Ġantibodies": 59854, + "Ġexponential": 59855, + "ĠCHANNEL": 59856, + "expense": 59857, + "'y": 59858, + "Ġdetectives": 59859, + "Ġpurported": 59860, + "YSTEM": 59861, + "Ġradioactive": 59862, + "ĠLatina": 59863, + ".Encoding": 59864, + ".TAG": 59865, + "xin": 59866, + "Degree": 59867, + "uracion": 59868, + "prices": 59869, + "ĠReferentialAction": 59870, + "Ġrarity": 59871, + "Ġpiles": 59872, + "gende": 59873, + "_projects": 59874, + "_globals": 59875, + ".startTime": 59876, + "Ġ구": 59877, + "SECTION": 59878, + "_publish": 59879, + "Fault": 59880, + "DDL": 59881, + "_prior": 59882, + "Mom": 59883, + "Ġthicker": 59884, + "Ġsequelize": 59885, + "Ġessentials": 59886, + "stras": 59887, + "intr": 59888, + ">(()": 59889, + ".management": 59890, + "eil": 59891, + "éĹŃ": 59892, + "Aware": 59893, + ".City": 59894, + "ĠArbit": 59895, + "_DM": 59896, + "_keyboard": 59897, + "LObject": 59898, + "-webpack": 59899, + "ĠNewport": 59900, + "ĠprincipalColumn": 59901, + "legant": 59902, + "Ġpallet": 59903, + "Ġfracture": 59904, + "Ġgmail": 59905, + ".Meta": 59906, + "Above": 59907, + ".KeyEvent": 59908, + "jit": 59909, + "_macro": 59910, + "_PUSH": 59911, + "ứ": 59912, + "/controller": 59913, + "åĬłè½½": 59914, + "Ġsuperficial": 59915, + "exterity": 59916, + "Ġmensagem": 59917, + "Wind": 59918, + "iston": 59919, + ".openapi": 59920, + "иÑĢов": 59921, + "ĠSerializer": 59922, + "uctive": 59923, + "Ġzar": 59924, + "Places": 59925, + ".Static": 59926, + "Ba": 59927, + "Ġinadvert": 59928, + "ĠIndonesian": 59929, + "_IPV": 59930, + "(horizontal": 59931, + "ĠgetTitle": 59932, + "idepress": 59933, + "ĠConsoleColor": 59934, + "ipers": 59935, + "$out": 59936, + "Ġfestive": 59937, + "Ġevenings": 59938, + ".GetData": 59939, + "uitka": 59940, + "ĠManuals": 59941, + "ussed": 59942, + "_Max": 59943, + ".Chat": 59944, + "ĠAircraft": 59945, + "=com": 59946, + "FOUND": 59947, + "apro": 59948, + "Ġtreasures": 59949, + "_alive": 59950, + "Ġgadget": 59951, + "eking": 59952, + "ButtonDown": 59953, + "Browsable": 59954, + ".PERMISSION": 59955, + "PASSWORD": 59956, + "ĠHASH": 59957, + "fé": 59958, + "\\TestCase": 59959, + "LOSS": 59960, + "others": 59961, + ",J": 59962, + "Ġasshole": 59963, + "werk": 59964, + "Ġmã": 59965, + ".ie": 59966, + "evil": 59967, + "kontakte": 59968, + "////////////////////////////////////////////////////////////////////////////////Ċ": 59969, + "=sys": 59970, + "ĉlock": 59971, + "--;ĊĊ": 59972, + "_FUN": 59973, + "FillColor": 59974, + "óa": 59975, + "prend": 59976, + "Ġcompressor": 59977, + "Mother": 59978, + "ĠArcher": 59979, + ".goto": 59980, + "Ġwürde": 59981, + "Ġbamboo": 59982, + "ï¼İ": 59983, + "ĠTrees": 59984, + "Ġbumper": 59985, + "Ġsausage": 59986, + "ĠElasticsearch": 59987, + "Ġhorizontally": 59988, + "ĠGul": 59989, + "Immutable": 59990, + "Ġloser": 59991, + "Ġaborted": 59992, + "-demo": 59993, + "ĠHatch": 59994, + "Ġunde": 59995, + "Ġprocesso": 59996, + "-call": 59997, + "Income": 59998, + "åĥ": 59999, + "_returns": 60000, + "'].\"'": 60001, + "(sw": 60002, + "CBS": 60003, + "amilies": 60004, + "ĠYourself": 60005, + "ĠHolt": 60006, + ".MON": 60007, + "à§ĩ": 60008, + "ÑĪе": 60009, + "anon": 60010, + "ĠFontAwesome": 60011, + "producer": 60012, + "jr": 60013, + "Ġmau": 60014, + "ĉinter": 60015, + "Ġdishonest": 60016, + "Ġmagna": 60017, + "ĠCollective": 60018, + "Ġvraiment": 60019, + "Ġchoix": 60020, + "stay": 60021, + "Ġwelding": 60022, + "rising": 60023, + ",min": 60024, + "ĠFate": 60025, + "glob": 60026, + "RGBA": 60027, + "Ġdette": 60028, + "Ven": 60029, + "Ġembarrassment": 60030, + ".DELETE": 60031, + "gregar": 60032, + "-render": 60033, + "(bucket": 60034, + "\">ĊĊĊ": 60035, + ".waitKey": 60036, + "Busy": 60037, + "Ġdifferentiation": 60038, + "ĠCST": 60039, + ".Constant": 60040, + "ĠlineNumber": 60041, + "(matches": 60042, + "Ġwebsocket": 60043, + "Ġbarred": 60044, + "Ġpuedes": 60045, + "Mono": 60046, + "CORE": 60047, + "IID": 60048, + "ĠĠĠĠčĊčĊ": 60049, + "Ġpúblico": 60050, + "leaning": 60051, + "Ġcleansing": 60052, + "Ġcris": 60053, + "ĠDevils": 60054, + "_SETTING": 60055, + "untary": 60056, + ".);Ċ": 60057, + "ĊĠĠĠĊ": 60058, + "[curr": 60059, + "tsy": 60060, + "ĠAlexis": 60061, + "ritel": 60062, + "Ġpetroleum": 60063, + ".preprocessing": 60064, + "matter": 60065, + "ForResult": 60066, + "-license": 60067, + "Ġtravellers": 60068, + "ĠDispatcher": 60069, + "ennifer": 60070, + "Ġdigestive": 60071, + "PED": 60072, + "hibition": 60073, + "MASConstraintMaker": 60074, + "ĠWatt": 60075, + "Benef": 60076, + ".setView": 60077, + "dto": 60078, + "TEE": 60079, + "ĠPelosi": 60080, + "_EXTRA": 60081, + "Ġmedals": 60082, + "xhr": 60083, + "forecast": 60084, + "Ġnargin": 60085, + "ouns": 60086, + "-fill": 60087, + "_CURSOR": 60088, + "Ġsupervised": 60089, + "Ġturf": 60090, + "ĠEdgar": 60091, + "POSITION": 60092, + "ĠcategoryId": 60093, + "âī": 60094, + "_ER": 60095, + "á»§a": 60096, + "Shown": 60097, + ".ll": 60098, + "_POLICY": 60099, + "(),'": 60100, + "ĠPrev": 60101, + "ĠStringField": 60102, + "ĉGlobal": 60103, + "assed": 60104, + "Throughout": 60105, + "ostringstream": 60106, + ".awtextra": 60107, + "Ġslopes": 60108, + "ĠSequential": 60109, + "Ġgiorn": 60110, + "Ġzelf": 60111, + "Ġversatility": 60112, + "leneck": 60113, + ".cgi": 60114, + "Ġdoubling": 60115, + "ĠBangkok": 60116, + "Ġbuurt": 60117, + "Ġusuário": 60118, + "studio": 60119, + "Ġjeunes": 60120, + "Ġmuted": 60121, + "Ġips": 60122, + "_fraction": 60123, + "&&(": 60124, + "Ġstunt": 60125, + "');?>čĊ": 60149, + "Ġevapor": 60150, + "bable": 60151, + "ĠPRICE": 60152, + "Ġæ³": 60153, + "lucent": 60154, + "Ġvamp": 60155, + "ĠTechnician": 60156, + "Ġuniqueness": 60157, + "Mes": 60158, + "urban": 60159, + ".parametrize": 60160, + "ĠReplay": 60161, + "Sessions": 60162, + "embr": 60163, + "-Americans": 60164, + "_PROXY": 60165, + "Ġpian": 60166, + "Ġtrie": 60167, + "ĠDestructor": 60168, + "GameState": 60169, + "ĠIMF": 60170, + "chin": 60171, + "Ġporte": 60172, + "ĠSwal": 60173, + "åŁİ": 60174, + "Substring": 60175, + "iming": 60176, + "/Library": 60177, + "Ġfrightened": 60178, + "writes": 60179, + "Ġrecursos": 60180, + "arResult": 60181, + "_INITIALIZ": 60182, + "ĠBadge": 60183, + "_crc": 60184, + "Eight": 60185, + "ĠDISTINCT": 60186, + "Ġthro": 60187, + "@Xml": 60188, + "ĠLegendary": 60189, + "-twitter": 60190, + "_easy": 60191, + "Ġ+++": 60192, + "(DATA": 60193, + ".Locale": 60194, + "Ġkä": 60195, + "Ġnurt": 60196, + "Ġcruis": 60197, + "_ios": 60198, + "Ġsensing": 60199, + "_Line": 60200, + "ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 60201, + "pong": 60202, + "oleon": 60203, + "Ġwildcard": 60204, + "ç͍æĪ·åIJį": 60205, + "Ġbegging": 60206, + "Rod": 60207, + "ĠÃİ": 60208, + "_CELL": 60209, + "Researchers": 60210, + ".selector": 60211, + "_ing": 60212, + "Ġaspiring": 60213, + "Ġimmortal": 60214, + "Ġymin": 60215, + "_robot": 60216, + "Ġplur": 60217, + "BTC": 60218, + "ĠDID": 60219, + "Ġpiercing": 60220, + "*u": 60221, + "_DEFINED": 60222, + "ĠThi": 60223, + "itaire": 60224, + "(media": 60225, + "-ons": 60226, + "Ġchefs": 60227, + "Ġ\"*.": 60228, + "/AP": 60229, + "Ġrazor": 60230, + "ĠsearchData": 60231, + "Ġ=&": 60232, + "ĠãĢĤ": 60233, + "Ġmourn": 60234, + "tingham": 60235, + "Ġoli": 60236, + "ĠVernon": 60237, + "_RS": 60238, + "ŀæĢ§": 60239, + "Ġfácil": 60240, + "angen": 60241, + "celain": 60242, + "Ġail": 60243, + "lest": 60244, + "ĠQCOMPARE": 60245, + "gain": 60246, + "Ġε": 60247, + "ĠKob": 60248, + "ĠFault": 60249, + "_configs": 60250, + "ç»ĵæŀľ": 60251, + ".+": 60252, + "calar": 60253, + "(colors": 60254, + "Mul": 60255, + "_ART": 60256, + "Ġexperimenting": 60257, + "ermen": 60258, + "ĠAnglo": 60259, + ".FixedSingle": 60260, + "Sea": 60261, + "Ġctxt": 60262, + ".slider": 60263, + "Collapse": 60264, + "Grey": 60265, + "Ġfld": 60266, + "-proof": 60267, + ".capacity": 60268, + "getParent": 60269, + "ĠCompliance": 60270, + "Ġburgl": 60271, + "-rec": 60272, + "Ġoverwritten": 60273, + "MU": 60274, + "Ġrouters": 60275, + "ĉModel": 60276, + "Ġfantasies": 60277, + "avian": 60278, + "_prec": 60279, + "ĠScandin": 60280, + "Ġ//<": 60281, + "/oct": 60282, + "Ġceremonies": 60283, + "Months": 60284, + "undy": 60285, + "Ġqued": 60286, + "ĠNou": 60287, + "ĠVibr": 60288, + ".rgb": 60289, + "Ġcitrus": 60290, + "Ġbraces": 60291, + "-uppercase": 60292, + "getTable": 60293, + "Ġdopo": 60294, + "ĠKerr": 60295, + "_CHILD": 60296, + "-cloud": 60297, + "ĉMatrix": 60298, + "Ġgardening": 60299, + "Sing": 60300, + "almost": 60301, + "Requirements": 60302, + "uguay": 60303, + "(Property": 60304, + "subscriber": 60305, + "FAST": 60306, + "reaction": 60307, + "(lp": 60308, + ")})Ċ": 60309, + "`).": 60310, + ".wallet": 60311, + "_exchange": 60312, + ".Maximum": 60313, + "ĠVerb": 60314, + "âĶģ": 60315, + "()<": 60316, + "ï¼ĽĊ": 60317, + "ROT": 60318, + "CARD": 60319, + "ubit": 60320, + "{@": 60321, + "_kel": 60322, + "ĠTooltip": 60323, + "MySQL": 60324, + "MainActivity": 60325, + "arf": 60326, + "Ġmalign": 60327, + "Ġseinen": 60328, + "apist": 60329, + "Ġ<%": 60330, + "MethodImpl": 60331, + "Mil": 60332, + "ĠMick": 60333, + ".depend": 60334, + ">&": 60367, + "ĉok": 60368, + "-low": 60369, + ".usuario": 60370, + "nested": 60371, + "XB": 60372, + "OURS": 60373, + ".BorderColor": 60374, + "Ġbrow": 60375, + "ĠÐķ": 60376, + "corr": 60377, + "ĠRedskins": 60378, + ".getTag": 60379, + ".getTransaction": 60380, + "Ġstigma": 60381, + "hardt": 60382, + "ĠPlayerPrefs": 60383, + "alsy": 60384, + "ucson": 60385, + "Languages": 60386, + "ĠOlivia": 60387, + "Ġtac": 60388, + "Ġbli": 60389, + "Ġcaval": 60390, + "Ġconsolidated": 60391, + "Ġperil": 60392, + "Ġdele": 60393, + "Ġformulated": 60394, + "Ġhighways": 60395, + ".spawn": 60396, + "==$": 60397, + "ĠNiet": 60398, + "Ġveggies": 60399, + "ypo": 60400, + "-rule": 60401, + "ĠVie": 60402, + "/epl": 60403, + "Ġenfants": 60404, + "stringLiteral": 60405, + "Ġtoughest": 60406, + "buyer": 60407, + "Ġcovariance": 60408, + "Ġili": 60409, + "ĠSophie": 60410, + "ĠBAB": 60411, + "Ġ\"),": 60412, + "ĠUk": 60413, + "currentIndex": 60414, + "_userdata": 60415, + ".codec": 60416, + "ĠPunjab": 60417, + "ĠSNP": 60418, + "lol": 60419, + "advance": 60420, + "Ġcomfy": 60421, + "JsonIgnore": 60422, + "Ġfashionable": 60423, + "ĠICON": 60424, + "Ġora": 60425, + "ĠPricing": 60426, + "E": 60484, + "tering": 60485, + "/screens": 60486, + "Ġheightened": 60487, + "аÑĢÑĤ": 60488, + "Authorities": 60489, + "_bbox": 60490, + "ünst": 60491, + ".fontSize": 60492, + "ĠBOOLEAN": 60493, + "divide": 60494, + "ĠSloven": 60495, + "ucer": 60496, + "ÙĴ": 60497, + "stub": 60498, + "Ġnavigating": 60499, + ":animated": 60500, + "_NOW": 60501, + "_vect": 60502, + "}{Ċ": 60503, + "@(": 60504, + "Ġtelecom": 60505, + "Ġcontracting": 60506, + "ĠAssange": 60507, + "Ġextracting": 60508, + "Ġgrö": 60509, + "cobra": 60510, + ".DIS": 60511, + "Ġcrab": 60512, + "Ġtwitch": 60513, + "Ġverts": 60514, + "Ġrejects": 60515, + "ĉformat": 60516, + "Ġregeneration": 60517, + ".Sys": 60518, + "solve": 60519, + "ĉdialog": 60520, + "shi": 60521, + "meter": 60522, + "(best": 60523, + "validators": 60524, + "Ġonwards": 60525, + "Ġguru": 60526, + "Ġmoderator": 60527, + "owied": 60528, + "experiment": 60529, + "rub": 60530, + "Ġmqtt": 60531, + "ĠCaucas": 60532, + "Ġnationalism": 60533, + "Ġmange": 60534, + "ĉImGui": 60535, + "/Edit": 60536, + "Ġinh": 60537, + "Ġintellig": 60538, + "erokee": 60539, + "ĉexport": 60540, + "Ġdiscriminate": 60541, + "subtract": 60542, + "ĠMoodle": 60543, + "enser": 60544, + "ĠGuides": 60545, + "RAP": 60546, + "-hot": 60547, + "_grp": 60548, + ".picture": 60549, + "XA": 60550, + "ĠinitView": 60551, + "_Comm": 60552, + "Ġoverdose": 60553, + "Ġ+ĊĊ": 60554, + "ĠSilent": 60555, + "shows": 60556, + "Ġinterpolate": 60557, + "Formation": 60558, + "Ġbisc": 60559, + "markets": 60560, + "(SC": 60561, + "Ze": 60562, + "ĠNetworking": 60563, + "Ġadrenal": 60564, + "ĠGuns": 60565, + "eteor": 60566, + "Declared": 60567, + "orgetown": 60568, + "Ġkarena": 60569, + "/password": 60570, + "_addresses": 60571, + "ITERAL": 60572, + "Buzz": 60573, + "ĠConway": 60574, + "(case": 60575, + "PWD": 60576, + "heiro": 60577, + "(act": 60578, + "**čĊ": 60579, + "());ĊĊĊ": 60580, + "Ġanv": 60581, + "Ġ..ĊĊ": 60582, + "(MenuItem": 60583, + "(mail": 60584, + "_sections": 60585, + "ĉnet": 60586, + "Ġplut": 60587, + "Ġwrench": 60588, + "/object": 60589, + "ĠIst": 60590, + "ĠVIS": 60591, + "/pub": 60592, + "alten": 60593, + "Ġguitars": 60594, + "Ġantibiotic": 60595, + "ï¼ĸ": 60596, + "¹": 60597, + "Ġ\"+\"": 60598, + "formula": 60599, + "Ġbabes": 60600, + "ĠPrompt": 60601, + "Ġenim": 60602, + "/player": 60603, + "ĉref": 60604, + "ĠbyÄĩ": 60605, + "Ġconsumes": 60606, + "ĠHast": 60607, + "ĠTao": 60608, + "Ġ'))Ċ": 60609, + "Ġclam": 60610, + "Ġthighs": 60611, + "Ġmotif": 60612, + "ApiOperation": 60613, + "ĠWL": 60614, + "getC": 60615, + "ĉflags": 60616, + "ointments": 60617, + "Ġeconomical": 60618, + "needle": 60619, + "xls": 60620, + "practice": 60621, + "utzer": 60622, + "timeofday": 60623, + "-output": 60624, + "ĠfindById": 60625, + "ĠBuddy": 60626, + "ÐŀÑĤ": 60627, + "Seven": 60628, + "ĠBark": 60629, + "Ġenvoy": 60630, + "_algorithm": 60631, + "åĪ©": 60632, + "Ġballistic": 60633, + "ç§»": 60634, + "rades": 60635, + "ĉdoc": 60636, + "roducing": 60637, + "ĠEating": 60638, + "Unmount": 60639, + "/dataTables": 60640, + "_bonus": 60641, + "Ġlitt": 60642, + "pps": 60643, + ")localObject": 60644, + "perf": 60645, + "ĠHelvetica": 60646, + "shutdown": 60647, + "/ml": 60648, + ".tokens": 60649, + "ĠHardcore": 60650, + ",row": 60651, + "/bg": 60652, + "Scaler": 60653, + "âĢĶas": 60654, + "_logits": 60655, + "âĢĻint": 60656, + "ĉApp": 60657, + "Implicit": 60658, + ".Fprintf": 60659, + "ETO": 60660, + "Ġterra": 60661, + "Ġpossessing": 60662, + ".rstrip": 60663, + ",),": 60664, + "=yes": 60665, + "ĠStripe": 60666, + "?=": 60667, + "neutral": 60668, + ".good": 60669, + "Ġkennen": 60670, + "ĠSung": 60671, + "fault": 60672, + "ystatechange": 60673, + "Canadian": 60674, + "','\".$": 60675, + "ĠMits": 60676, + "ænd": 60677, + "ĠSTRUCT": 60678, + "ĠURLWithString": 60679, + "ĠCompass": 60680, + "Ġ--ĊĊ": 60681, + "ĠNSLayoutConstraint": 60682, + "|min": 60683, + "-adjust": 60684, + "Ġrebuilt": 60685, + "LIGHT": 60686, + "/se": 60687, + "-mount": 60688, + "vpn": 60689, + "validated": 60690, + "(QObject": 60691, + "Ġignition": 60692, + "ĠChargers": 60693, + "RYPTO": 60694, + "]initWithFrame": 60695, + "ĠFluid": 60696, + "Ġcadre": 60697, + "Ġnominations": 60698, + "Neill": 60699, + "ĠHou": 60700, + "Ġcurrents": 60701, + "_gene": 60702, + "(inp": 60703, + "Paris": 60704, + "zÄĻ": 60705, + "aggregate": 60706, + "Ġassoc": 60707, + "weeted": 60708, + "errat": 60709, + "âĢĵĊĊ": 60710, + "Ġ'/',Ċ": 60711, + "fixture": 60712, + "ĠHighest": 60713, + "ambient": 60714, + "Ġchmod": 60715, + "Ġconte": 60716, + "Ġsensual": 60717, + "Ġgarment": 60718, + "zers": 60719, + "ĠPowered": 60720, + "domains": 60721, + "Reward": 60722, + "iomanip": 60723, + "Ġcockpit": 60724, + "outfile": 60725, + "Ġbuiltin": 60726, + "Ġinsisting": 60727, + ".vars": 60728, + "zipcode": 60729, + "Ġ����": 60730, + "fails": 60731, + "Ġconsolidation": 60732, + "_oid": 60733, + "Planet": 60734, + "Ġ=\",": 60735, + "ĉel": 60736, + "UILT": 60737, + "ätz": 60738, + "afari": 60739, + "ĠMcCl": 60740, + "Timeline": 60741, + "Esta": 60742, + "Ġfram": 60743, + "YE": 60744, + "Ġcerebral": 60745, + "OfMonth": 60746, + "ĠPregn": 60747, + "ĠклаÑģÑģ": 60748, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 60749, + "ĠFres": 60750, + "Approved": 60751, + ".Special": 60752, + "ĠProtestant": 60753, + "Ġallergy": 60754, + "_pcm": 60755, + "ĉCopyright": 60756, + "ĠsuperClass": 60757, + "\"strconv": 60758, + "ĠMohamed": 60759, + "Ġ'//": 60760, + "ForeColor": 60761, + "Arthur": 60762, + "ĠJungle": 60763, + "Ġveins": 60764, + "Sad": 60765, + "Ġbackups": 60766, + "ĠOpinion": 60767, + "ût": 60768, + "Ġintermitt": 60769, + "odyn": 60770, + "ĠChristina": 60771, + "Ġandre": 60772, + "Ġevacuation": 60773, + "palette": 60774, + "horse": 60775, + "ĠResident": 60776, + "ĠHassan": 60777, + ".Nil": 60778, + "Ġaisle": 60779, + "ĠGrowing": 60780, + "Ġbloginfo": 60781, + "/sql": 60782, + "_ioctl": 60783, + "Scaling": 60784, + "ĠMonad": 60785, + "_cpp": 60786, + "ĠHutch": 60787, + "ĠAppleWebKit": 60788, + "Expense": 60789, + "_JOB": 60790, + "Ġpointless": 60791, + "FromBody": 60792, + "antal": 60793, + "Ġdepicting": 60794, + "ĠCELL": 60795, + "Ġrefin": 60796, + "ĠCNC": 60797, + "ì¹ĺ": 60798, + "_dimensions": 60799, + "ĠSAN": 60800, + "Ġaft": 60801, + "Ġfootsteps": 60802, + "ccoli": 60803, + "_PHONE": 60804, + "/math": 60805, + "-kind": 60806, + "ĠMeans": 60807, + "ichael": 60808, + ".guna": 60809, + "Ġinauguration": 60810, + "-driving": 60811, + "(delete": 60812, + "ĠtotalCount": 60813, + "_MC": 60814, + ".Extension": 60815, + "Commercial": 60816, + "ĠzIndex": 60817, + "$": 60949, + "Ġebay": 60950, + "Ġcaptive": 60951, + "pliant": 60952, + "ĠCalculates": 60953, + "olta": 60954, + "esting": 60955, + "_revision": 60956, + "Ġmús": 60957, + "+m": 60958, + "\",\"\",\"": 60959, + "WHAT": 60960, + "Ġcompassionate": 60961, + "harga": 60962, + "[random": 60963, + "Ġmodulo": 60964, + "(sn": 60965, + "Ġoccupations": 60966, + "////Ċ": 60967, + "ĉboard": 60968, + "ĠBalk": 60969, + "wiÄħ": 60970, + "ĠWifi": 60971, + ".Profile": 60972, + ":maj": 60973, + "ĉmat": 60974, + "LOCKS": 60975, + "(jButton": 60976, + "Ġ('$": 60977, + "Mur": 60978, + "æĮī": 60979, + "bble": 60980, + "Ġfrog": 60981, + "-hide": 60982, + "Ġbroadcaster": 60983, + "à¸ŀ": 60984, + "haled": 60985, + "Ġamusing": 60986, + "_predictions": 60987, + "_intr": 60988, + "Ġeagle": 60989, + "аÑĤелÑĮ": 60990, + "ĠgetList": 60991, + "psilon": 60992, + "Ġcharacterization": 60993, + "ARDS": 60994, + "Ġrelocation": 60995, + "Ġrulers": 60996, + "PAY": 60997, + "ĠDefinitely": 60998, + "_Action": 60999, + "Ġclosures": 61000, + "Ġfactual": 61001, + "odynamic": 61002, + "Ġprecautions": 61003, + "niej": 61004, + "ĠParties": 61005, + "ĠSubaru": 61006, + "Ġcousins": 61007, + "arbeit": 61008, + ".money": 61009, + "gunta": 61010, + "(and": 61011, + "getitem": 61012, + ".StylePriority": 61013, + "Ġslid": 61014, + "singleton": 61015, + "Ġgarn": 61016, + "ĠPAS": 61017, + "Ġdazz": 61018, + "aż": 61019, + "Ġbogus": 61020, + "ĠMog": 61021, + "Ġrivalry": 61022, + "isol": 61023, + "Ġlandmarks": 61024, + "ñas": 61025, + "Bern": 61026, + "ĠSachs": 61027, + "Ġ\")ĊĊ": 61028, + "Ġhostility": 61029, + "_mex": 61030, + "mere": 61031, + "Mot": 61032, + "pictureBox": 61033, + "Defense": 61034, + "Ġaffidavit": 61035, + "otherwise": 61036, + ".directory": 61037, + "_UnityEngine": 61038, + "-blog": 61039, + ".skin": 61040, + "phem": 61041, + "Apellido": 61042, + "erchant": 61043, + "[class": 61044, + "Ġwart": 61045, + ".\"[": 61046, + "aleur": 61047, + "/back": 61048, + "ĠĠĠĠĉĠĠĠ": 61049, + "Ġprecipitation": 61050, + "Ġobstruction": 61051, + "ĠpObj": 61052, + "Ġrupt": 61053, + "UCKET": 61054, + "aye": 61055, + "æİĴ": 61056, + "gx": 61057, + "Ġecl": 61058, + "Ġsecrecy": 61059, + "/Header": 61060, + "ĠLesb": 61061, + "Ġlei": 61062, + "ĠBulletin": 61063, + "Ġgiveaway": 61064, + ".Home": 61065, + "_ROOM": 61066, + "\"W": 61067, + "Ġcowork": 61068, + "_ra": 61069, + "ĠCycling": 61070, + "ĠPaw": 61071, + "Ġpupil": 61072, + "/arch": 61073, + "ĠFileUtils": 61074, + "é¦ĸ": 61075, + "rsp": 61076, + "Ġfreedoms": 61077, + "ĠLear": 61078, + "}`).": 61079, + "Ġbowls": 61080, + "/block": 61081, + "_logging": 61082, + "Ġmethane": 61083, + "Ġhorns": 61084, + "Ġwonderfully": 61085, + "Ġalterations": 61086, + "Ġexile": 61087, + "lsen": 61088, + "_pause": 61089, + "_LANGUAGE": 61090, + "ĠUSDA": 61091, + "_mysql": 61092, + "_AMOUNT": 61093, + "ĠLIFE": 61094, + "Ġyoungsters": 61095, + "Ġriots": 61096, + "[E": 61097, + "Ġunforgettable": 61098, + ",},Ċ": 61099, + "Disposed": 61100, + "ĠAssassin": 61101, + "UNG": 61102, + "ĠNewsp": 61103, + "UserService": 61104, + ":aload": 61105, + "+',": 61106, + "Ġsettlers": 61107, + "Ġscreams": 61108, + "Ġinconvenience": 61109, + ".Rotate": 61110, + "Ġjars": 61111, + "ĠPuzzle": 61112, + "Ġmest": 61113, + "arsi": 61114, + "ĠSharma": 61115, + "|(": 61116, + ".ds": 61117, + "ĠSacred": 61118, + "_evt": 61119, + "Ġexpresses": 61120, + "Ġhoch": 61121, + "ĠDuch": 61122, + ".calls": 61123, + "thr": 61124, + "ĠSheffield": 61125, + ".AlertDialog": 61126, + "Ġradically": 61127, + "Ġtrous": 61128, + "Ġprevailing": 61129, + "ĠWWII": 61130, + "âĢĻn": 61131, + "ensely": 61132, + "ĠYesterday": 61133, + "ĠSirius": 61134, + "Ġkillers": 61135, + "ĠFFT": 61136, + "Ġoval": 61137, + "'):čĊ": 61138, + "Ġìłķë³´": 61139, + "ourage": 61140, + "ĠCheckbox": 61141, + "Workbook": 61142, + ".defer": 61143, + "_floor": 61144, + "Ġcouncill": 61145, + "Ġnorske": 61146, + "moil": 61147, + "orea": 61148, + "Ġmarketed": 61149, + "_SUR": 61150, + "xAA": 61151, + "Ġstained": 61152, + "eut": 61153, + "ĠMeng": 61154, + "Ġieee": 61155, + ".extern": 61156, + "egie": 61157, + "Ġrapp": 61158, + "ĠPyongyang": 61159, + "'class": 61160, + "Mob": 61161, + "ĠinitialValue": 61162, + "_wave": 61163, + "Ġjab": 61164, + "Ġmasculine": 61165, + "Ġamplifier": 61166, + "Ġtty": 61167, + "PathComponent": 61168, + "_xt": 61169, + "ĠGFP": 61170, + "/sec": 61171, + "ĉdispatch": 61172, + "markdown": 61173, + "ĠSchn": 61174, + "bole": 61175, + "··": 61176, + "mousemove": 61177, + "ĠerrMsg": 61178, + "Ġasign": 61179, + "_mono": 61180, + "ToSelector": 61181, + "ĠZu": 61182, + "(Rect": 61183, + "ĠErrorCode": 61184, + "latin": 61185, + "angible": 61186, + "vtk": 61187, + "CGSize": 61188, + "Pokemon": 61189, + "Ġclassmates": 61190, + "Ġattracts": 61191, + "ĠTatto": 61192, + "ultan": 61193, + "ológ": 61194, + "Ġhalted": 61195, + "न": 61196, + "ĠKart": 61197, + "Ġue": 61198, + "_InitStructure": 61199, + "TestClass": 61200, + "ĠAirbnb": 61201, + "_\",": 61202, + "Ġcharcoal": 61203, + "Ġipc": 61204, + "ĠStretch": 61205, + ".glide": 61206, + "latesAutoresizingMaskIntoConstraints": 61207, + "Ġpotion": 61208, + "ITTLE": 61209, + "Ġcountert": 61210, + "_hd": 61211, + "prepared": 61212, + "Ads": 61213, + "ĠVampire": 61214, + "robots": 61215, + ".CreateIndex": 61216, + "StatusLabel": 61217, + "Ġtucked": 61218, + "afür": 61219, + "Ut": 61220, + "Ġsweater": 61221, + "_FN": 61222, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĉ": 61223, + "ataka": 61224, + "Ġeyebrows": 61225, + "acoes": 61226, + "uden": 61227, + ".LinearLayoutManager": 61228, + "Ġsway": 61229, + "Ġmultin": 61230, + "())))Ċ": 61231, + "ĠNSUInteger": 61232, + "ĠMyBase": 61233, + "Partner": 61234, + "utschen": 61235, + "ĠCater": 61236, + ".setBackgroundColor": 61237, + "Ġaccomplishment": 61238, + "_problem": 61239, + ".dtd": 61240, + "ĠpageNumber": 61241, + "Ġjackets": 61242, + "Ġcropped": 61243, + "uels": 61244, + "ĠHep": 61245, + "Ġcapped": 61246, + "*Math": 61247, + "_callbacks": 61248, + "Ġpubb": 61249, + "ĠBrunswick": 61250, + ".respond": 61251, + "[\"_": 61252, + "Ġbedding": 61253, + "hythm": 61254, + "OX": 61255, + "(speed": 61256, + "Ġpesticides": 61257, + "Ġ-------": 61258, + ".Blue": 61259, + "Ġnoodles": 61260, + "ĠGoes": 61261, + "Ġsaver": 61262, + "oxy": 61263, + "_completion": 61264, + "ĠSwinger": 61265, + "ĠgetDate": 61266, + "Ġminded": 61267, + "integration": 61268, + "ĠLotus": 61269, + "(stop": 61270, + "(',');Ċ": 61271, + "Ġfloods": 61272, + "ĠWorkflow": 61273, + "Ġerupted": 61274, + "Macro": 61275, + "ĠSauce": 61276, + "ĠeventName": 61277, + "\\Input": 61278, + "Breaking": 61279, + "ĉwhen": 61280, + "_pw": 61281, + "INDER": 61282, + "ĠWellness": 61283, + "Ġvoxel": 61284, + "ĠMell": 61285, + "ĠMEDIA": 61286, + "SENS": 61287, + "ĠFunds": 61288, + "ĠMild": 61289, + "Ċ": 61298, + "Ġtempting": 61299, + "Ġtestament": 61300, + "Ġbible": 61301, + "Ġconsulted": 61302, + "ĠIndexError": 61303, + "è¨ĺ": 61304, + "Ġkeypad": 61305, + "izzo": 61306, + "(ok": 61307, + "Ġwhatsapp": 61308, + "ĠRemoteException": 61309, + "Ġteamed": 61310, + "âĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶ": 61311, + "»,": 61312, + "ĠgetTime": 61313, + "diag": 61314, + "issy": 61315, + "Ġhed": 61316, + "Ġknots": 61317, + "jom": 61318, + "Ġfunnel": 61319, + "-mails": 61320, + "Ġexporting": 61321, + "ĠVL": 61322, + "ĠKarn": 61323, + "ĠBuddhism": 61324, + "ĠAllan": 61325, + "_RADIUS": 61326, + "Ġwording": 61327, + "ĠForget": 61328, + "ĠCorona": 61329, + "iphy": 61330, + "Ġlimburg": 61331, + "uggy": 61332, + "ĠUserRepository": 61333, + "imin": 61334, + "(ele": 61335, + "Ġlabelled": 61336, + "社": 61337, + "ĠHerman": 61338, + ".qq": 61339, + "Ġ\"));Ċ": 61340, + "ieber": 61341, + ".Translate": 61342, + "ryn": 61343, + "Ġdesenv": 61344, + "umd": 61345, + "Simply": 61346, + "ĉmode": 61347, + "Rpc": 61348, + "ĠValencia": 61349, + "Ġstaffers": 61350, + "Ġselv": 61351, + "ĠSpike": 61352, + "Ġdelic": 61353, + "Ġeru": 61354, + "_DT": 61355, + "Judge": 61356, + "á»ķ": 61357, + "ĠBasin": 61358, + ".mutable": 61359, + "\"url": 61360, + "Ġtariff": 61361, + "ĠSleeve": 61362, + "Ġflare": 61363, + ".dropout": 61364, + "Ġbrides": 61365, + ")),čĊ": 61366, + "_constraints": 61367, + "destruct": 61368, + "Outline": 61369, + "Ġdisappears": 61370, + "_locked": 61371, + "ĠNSLocalizedString": 61372, + "cke": 61373, + "ĉnull": 61374, + "adresse": 61375, + "Ġtopping": 61376, + "ĠJoker": 61377, + "bishop": 61378, + "ноÑģÑĤÑĮ": 61379, + "andering": 61380, + "_amp": 61381, + "=time": 61382, + "_Space": 61383, + "_PULL": 61384, + "'=": 61385, + "Ġantiqu": 61386, + "Ġcach": 61387, + "___ĊĊ": 61388, + "ONES": 61389, + "оÑı": 61390, + "Ġunread": 61391, + ".policy": 61392, + "oooooooo": 61393, + "룬": 61394, + "Ġusted": 61395, + "ĠRece": 61396, + "Ġallem": 61397, + "ãĥ¼ãĤ¹": 61398, + "ĠThoughts": 61399, + "veillance": 61400, + "istrate": 61401, + "_lane": 61402, + "Ġfamed": 61403, + ".GetName": 61404, + "Ġsmoother": 61405, + "ĠQualified": 61406, + "azers": 61407, + "_geo": 61408, + "Fax": 61409, + "ĠMinds": 61410, + "ĠRaises": 61411, + "Ġtranscripts": 61412, + "Conversation": 61413, + "Ġremarked": 61414, + "ëĤĺ": 61415, + "dling": 61416, + "Ġdeploying": 61417, + "ĠsharedApplication": 61418, + "Ġkp": 61419, + "FontAwesomeIcon": 61420, + "_dummy": 61421, + "reiben": 61422, + "ĠJaneiro": 61423, + "Directions": 61424, + ".getBean": 61425, + "sass": 61426, + "Ġcommanders": 61427, + "vation": 61428, + "errorCode": 61429, + "ĠAlloy": 61430, + ".localized": 61431, + "Ðij": 61432, + "Ġdishwasher": 61433, + "ĠSoup": 61434, + "Nu": 61435, + "_Default": 61436, + "Ġuneven": 61437, + "Ġ/>\";Ċ": 61438, + "-Based": 61439, + "Ġseamlessly": 61440, + "-null": 61441, + "ĠXC": 61442, + "Ġstew": 61443, + "(delay": 61444, + "ATORS": 61445, + "ĠWheeler": 61446, + "\"H": 61600, + "east": 61601, + ".air": 61602, + "âĢľBut": 61603, + "ObjectContext": 61604, + "successfully": 61605, + "_land": 61606, + "Ġfolds": 61607, + "_COORD": 61608, + "Ġsubpo": 61609, + ".getAddress": 61610, + "instr": 61611, + "Materials": 61612, + "ÑĥÑģÑĤ": 61613, + "deposit": 61614, + "-last": 61615, + "_GRAY": 61616, + "=find": 61617, + "Ġmutant": 61618, + "Ġlesbienne": 61619, + "letcher": 61620, + "ROUGH": 61621, + "ureka": 61622, + ".capture": 61623, + "Ġenn": 61624, + "Ġ([[": 61625, + "ĠFlu": 61626, + "ĠtaskId": 61627, + "ĠHussein": 61628, + ".folder": 61629, + "Ġausterity": 61630, + "ISTRATION": 61631, + "_Impl": 61632, + "注æĦı": 61633, + "Ġdecree": 61634, + "-chat": 61635, + "Ġimplication": 61636, + "Ġguesses": 61637, + "ulkan": 61638, + "Analytics": 61639, + ".plus": 61640, + "COMMAND": 61641, + "ели": 61642, + "»ĊĊ": 61643, + "_SITE": 61644, + "ĠequalTo": 61645, + "SupportFragmentManager": 61646, + "ĠRecording": 61647, + "å®ĮæĪIJ": 61648, + "Ġbaggage": 61649, + "Ġpitchers": 61650, + "ĠEh": 61651, + "oque": 61652, + "ĉcnt": 61653, + "Ġ=>$": 61654, + "/foo": 61655, + "IRA": 61656, + "ĠSatellite": 61657, + "borah": 61658, + "Ġ}}\"Ċ": 61659, + "ĠEnds": 61660, + "ĠSpray": 61661, + ",param": 61662, + ".Chrome": 61663, + "*q": 61664, + "thought": 61665, + "ibrated": 61666, + "Ġthieves": 61667, + "Ġbeneficiaries": 61668, + "Entered": 61669, + "ottesville": 61670, + "Ġveterin": 61671, + "ByID": 61672, + "quipe": 61673, + "umption": 61674, + "-unit": 61675, + "ExecutionContext": 61676, + "@s": 61677, + "ĠGiov": 61678, + ".ToolTip": 61679, + "_friend": 61680, + "(attributes": 61681, + "Ġdumping": 61682, + "ĠJC": 61683, + "_DOCUMENT": 61684, + "ĠArmour": 61685, + "(insert": 61686, + ".HorizontalAlignment": 61687, + "ĠQed": 61688, + "ãģĦãģ¾ãģĻ": 61689, + "/git": 61690, + "ĠYYYY": 61691, + "ĠCardiff": 61692, + "Ġapa": 61693, + "organic": 61694, + "ĠWhereas": 61695, + "ĠæĿ": 61696, + "ĠMia": 61697, + "Ġdemolition": 61698, + "Ġscars": 61699, + "Ġpai": 61700, + "Ġretries": 61701, + "Ġrq": 61702, + "ĠDenis": 61703, + "(Utils": 61704, + "Ġalleviate": 61705, + "ĠPIC": 61706, + "idue": 61707, + "Ġacknowledging": 61708, + "Ġ//////////////////////////////////": 61709, + "ç¡®å®ļ": 61710, + "Ä«": 61711, + "\\Json": 61712, + ".binary": 61713, + "Ġxtype": 61714, + "signals": 61715, + "ĠAppearance": 61716, + "&r": 61717, + "}s": 61718, + "Ci": 61719, + "ĠIllum": 61720, + "porate": 61721, + "hog": 61722, + "ĠindexOf": 61723, + "\\Command": 61724, + "_parallel": 61725, + "ĠSherlock": 61726, + "íĥ": 61727, + "Ġ\"\")čĊ": 61728, + "////////////////////////////////////////////////////////////////////////////////////////////////": 61729, + "Ġcriticize": 61730, + "ĠSoap": 61731, + "ĠMatcher": 61732, + "Ġgrilled": 61733, + "*T": 61734, + "Ġadore": 61735, + "ulling": 61736, + "Ġjedoch": 61737, + "_refs": 61738, + "leanup": 61739, + "ĠJAXB": 61740, + "Ġroses": 61741, + "ĠLiam": 61742, + "sizei": 61743, + "Ġgetchar": 61744, + "Ġtarde": 61745, + "-tooltip": 61746, + "Ġqualifier": 61747, + "ĠIntermediate": 61748, + "_Window": 61749, + "ĠMalta": 61750, + "Disconnect": 61751, + "ewhere": 61752, + "Campo": 61753, + "Ġirrational": 61754, + "ledo": 61755, + "ĠDN": 61756, + "ARGV": 61757, + "Ġoutro": 61758, + "Ġthirteen": 61759, + "Joseph": 61760, + "MAR": 61761, + "/gl": 61762, + "Jess": 61763, + "ĠPsychiat": 61764, + "ĠpaddingBottom": 61765, + "-loop": 61766, + "/fonts": 61767, + "_seen": 61768, + "Teams": 61769, + "ReactDOM": 61770, + "(man": 61771, + "(xpath": 61772, + ".getSimpleName": 61773, + ">(*": 61774, + "ĠPvt": 61775, + "Ġelders": 61776, + "Ġpies": 61777, + ".userAgent": 61778, + "-region": 61779, + "ĠGreeks": 61780, + "(fragment": 61781, + "stu": 61782, + "Ġcouncils": 61783, + "Ġstamina": 61784, + "ĠGoddess": 61785, + "西": 61786, + "Ġphilosophers": 61787, + "Ġpersone": 61788, + "ĠLose": 61789, + "ĠCLR": 61790, + "ĠDocs": 61791, + "Ġsoak": 61792, + "ĠHOLDER": 61793, + "Ġbells": 61794, + "hashCode": 61795, + "RATE": 61796, + "_WEIGHT": 61797, + "inous": 61798, + "endra": 61799, + "ophobic": 61800, + "Ġprose": 61801, + "Ġfinely": 61802, + "/oauth": 61803, + "(space": 61804, + "adge": 61805, + "ĠMama": 61806, + "ĠstringBuffer": 61807, + "Ġstint": 61808, + "Ġmisma": 61809, + "Ġvillains": 61810, + "ĠCrimea": 61811, + "Ġdiploma": 61812, + "ĠпоÑģл": 61813, + "ĠBea": 61814, + "(join": 61815, + "Ġíķ´": 61816, + "CHAT": 61817, + "pering": 61818, + "ĠCros": 61819, + "Ġmonkeys": 61820, + "Ġpreds": 61821, + "yla": 61822, + ",,,": 61823, + "Ġvibrator": 61824, + "ĠNU": 61825, + "åħĪ": 61826, + "fant": 61827, + "zet": 61828, + "Ġbietet": 61829, + "unft": 61830, + "sworth": 61831, + ".Flow": 61832, + "Ġpsyched": 61833, + "ĠContinental": 61834, + ">t": 61835, + "Ġquilt": 61836, + ".UP": 61837, + "Ġexpansive": 61838, + "Dispose": 61839, + "(language": 61840, + "Caps": 61841, + "_ZONE": 61842, + "Ġrecycle": 61843, + "ĠManaged": 61844, + "currentColor": 61845, + ".broadcast": 61846, + "signIn": 61847, + ".prom": 61848, + "llu": 61849, + "ueblo": 61850, + "Ġpunches": 61851, + "Ġautomat": 61852, + "Ġassigning": 61853, + "ĠcreateUser": 61854, + "ĠAllied": 61855, + "Ġconductor": 61856, + "Ĥ¨": 61857, + "Ġsaddle": 61858, + "Ġdni": 61859, + "omedical": 61860, + "-West": 61861, + "PositiveButton": 61862, + "Ġitalic": 61863, + "?[": 61864, + "(trigger": 61865, + "Ġelephants": 61866, + "\":\"\",\"": 61867, + "Ġcaliber": 61868, + "rafted": 61869, + "digits": 61870, + "Ġmarshal": 61871, + "milliseconds": 61872, + "markers": 61873, + "mom": 61874, + "/place": 61875, + "Ġholistic": 61876, + ":t": 61877, + "#,": 61878, + "Ġboto": 61879, + "Ġnausea": 61880, + "ĠShooting": 61881, + "itech": 61882, + "ĠtextStatus": 61883, + "())Ċ": 62104, + "ADDRESS": 62105, + "BST": 62106, + "etzt": 62107, + "ĠQgs": 62108, + "Sense": 62109, + "ExceptionHandler": 62110, + "ĠChu": 62111, + ".getOwnProperty": 62112, + "Ġexercised": 62113, + "iotic": 62114, + "ĠReleases": 62115, + "Ġpinterest": 62116, + "olie": 62117, + "isoft": 62118, + "Ġsequencing": 62119, + "Ġpadre": 62120, + "]));čĊ": 62121, + "(radius": 62122, + ".med": 62123, + "ainties": 62124, + ".ObjectModel": 62125, + "Ġemple": 62126, + "Ġseguro": 62127, + "Stars": 62128, + "Ġqualitative": 62129, + "lemn": 62130, + "á»±": 62131, + ">\").": 62132, + "Ġgx": 62133, + "-cert": 62134, + "ĠASTM": 62135, + "Ġfullname": 62136, + "Ġtelemetry": 62137, + "ĠCambodia": 62138, + "_ul": 62139, + "ĠClare": 62140, + "CUSTOM": 62141, + "QC": 62142, + "ĠUns": 62143, + "ĠHTTPS": 62144, + "ĠParkinson": 62145, + "ancybox": 62146, + "','.": 62147, + "Tue": 62148, + ".getLast": 62149, + "Ġabi": 62150, + "Äħd": 62151, + "Ast": 62152, + "ĠEditing": 62153, + ".Unity": 62154, + "jmp": 62155, + "Ġmats": 62156, + "ĠsharedPreferences": 62157, + "Captain": 62158, + ".pageSize": 62159, + "Ġrtl": 62160, + "Ġanmeld": 62161, + "RuntimeObject": 62162, + "Ġdemande": 62163, + "(\";": 62164, + "seite": 62165, + "-headed": 62166, + "ĠKra": 62167, + "ĠFONT": 62168, + "`\\": 62169, + "ClassNotFoundException": 62170, + ".avg": 62171, + "atical": 62172, + "Aj": 62173, + "Ġpermitting": 62174, + "Proj": 62175, + "ERRQ": 62176, + "Ġcreampie": 62177, + "ĠBuyer": 62178, + "-modules": 62179, + "ĠSundays": 62180, + "|`Ċ": 62181, + "Ġdaytime": 62182, + "Ġ+(": 62183, + "Ġglitch": 62184, + "ĠOperand": 62185, + "Ġtoxins": 62186, + "inya": 62187, + "DNS": 62188, + "ĠSas": 62189, + "Cake": 62190, + "ĠNationals": 62191, + ".addTo": 62192, + "Ġsinking": 62193, + "Ġcomprehension": 62194, + "Ġscor": 62195, + "agements": 62196, + "Ġtard": 62197, + "Ġmarching": 62198, + "ĠMTV": 62199, + "Ġsane": 62200, + "CreateInfo": 62201, + "ắ": 62202, + "ĠendIndex": 62203, + "ĉlayout": 62204, + "ĠåIJį": 62205, + "SITE": 62206, + "ĠTHERE": 62207, + "Ġ[{'": 62208, + "opathic": 62209, + "Ġtransmitter": 62210, + "/body": 62211, + "Ġpund": 62212, + "ĠClosing": 62213, + "Ġsetattr": 62214, + "Ġbounded": 62215, + "Atlas": 62216, + "suming": 62217, + "(times": 62218, + "parer": 62219, + "ynom": 62220, + "feit": 62221, + "Ġfrem": 62222, + "-leg": 62223, + "ĠBras": 62224, + ">#": 62225, + "Ġì¶ľëł¥": 62226, + "ĠINSTANCE": 62227, + "ĠCouch": 62228, + "_hosts": 62229, + "likelihood": 62230, + ".Marker": 62231, + "ĠMasks": 62232, + "Ġcereal": 62233, + "utilities": 62234, + "Ġelemental": 62235, + "Ġdistorted": 62236, + "inactive": 62237, + "cry": 62238, + "WL": 62239, + "UPPORTED": 62240, + ".Throws": 62241, + "/schema": 62242, + "serie": 62243, + ".\"',": 62244, + "ĠBenedict": 62245, + "-picker": 62246, + "iggs": 62247, + "ĠPirate": 62248, + "åij¨æľŁ": 62249, + "ĠThema": 62250, + "ĠSouthampton": 62251, + "ĠarrayWith": 62252, + "ĠPaula": 62253, + "Ġpredictor": 62254, + "-Ass": 62255, + ".userid": 62256, + "Ġperi": 62257, + "Ġexaggerated": 62258, + "urate": 62259, + "arseille": 62260, + "ĠConcent": 62261, + "ĠPik": 62262, + "Ġ@_;ĊĊ": 62263, + "Ġformations": 62264, + "Ġdenomin": 62265, + "\"/>.Ċ": 62266, + "endedor": 62267, + "Ġpancre": 62268, + "Ġamt": 62269, + "ĠonResume": 62270, + "onDelete": 62271, + "ĠBCH": 62272, + ")(\"": 62273, + "movement": 62274, + "Ġpotassium": 62275, + "": 70826, + "ĠPPC": 70827, + "isz": 70828, + "akeFromNib": 70829, + "ĠDisp": 70830, + "ĠAthletics": 70831, + "Ġnightclub": 70832, + "GOOD": 70833, + ".setGeometry": 70834, + "+[": 70835, + "/send": 70836, + "Ġbinaries": 70837, + "Ġráp": 70838, + ":req": 70839, + "-consuming": 70840, + "ertime": 70841, + "UPDATED": 70842, + "_nullable": 70843, + "VIN": 70844, + "ulia": 70845, + "cyan": 70846, + "Ġmisunderstanding": 70847, + "orical": 70848, + "degrees": 70849, + "Leading": 70850, + ".AR": 70851, + "ickest": 70852, + "Nuevo": 70853, + "uforia": 70854, + "Ġgoodies": 70855, + "Ġfores": 70856, + "()<<\"": 70857, + "ademic": 70858, + "ActionCreators": 70859, + "servername": 70860, + "(nt": 70861, + "dbContext": 70862, + "Ġairborne": 70863, + "Ġexhibitions": 70864, + "cele": 70865, + "Ġtela": 70866, + "": 70882, + ".setPreferredSize": 70883, + "ĠMID": 70884, + "ĠAless": 70885, + "Ġhorsepower": 70886, + "Ġatm": 70887, + "ĠPackaging": 70888, + "Ġciphertext": 70889, + "RequestMethod": 70890, + "Ġbeiden": 70891, + "è£": 70892, + "ĠPOW": 70893, + ".WriteHeader": 70894, + "director": 70895, + "-but": 70896, + "ãģłãģķãģĦ": 70897, + "incer": 70898, + "_dn": 70899, + "!!!!!": 70900, + "Ġmanufactures": 70901, + ".TextUtils": 70902, + "Ġconsciously": 70903, + "Ġbounced": 70904, + "culture": 70905, + "ĠSpar": 70906, + "ĠPiper": 70907, + ".press": 70908, + "-owner": 70909, + "Ġevaluator": 70910, + "ĠSTREAM": 70911, + ".PictureBoxSizeMode": 70912, + "Ġsugars": 70913, + "ScreenWidth": 70914, + "ĠnextState": 70915, + "Ġivory": 70916, + "Ġbrunch": 70917, + "density": 70918, + "_OW": 70919, + "ĠCoronavirus": 70920, + "ĠCFR": 70921, + "bak": 70922, + "\\Category": 70923, + "æķ°ç»Ħ": 70924, + "Ġinvokevirtual": 70925, + "}()Ċ": 70926, + "Ġsujet": 70927, + "-marker": 70928, + "isdigit": 70929, + "ĠMobil": 70930, + "ĠJsonRequestBehavior": 70931, + "_REMOTE": 70932, + ".existsSync": 70933, + "Ġriches": 70934, + ".presenter": 70935, + "ĠglColor": 70936, + "Ġhanya": 70937, + "Ġfortress": 70938, + "Ġflashed": 70939, + "viz": 70940, + "requently": 70941, + "buat": 70942, + "$con": 70943, + ">|": 70944, + ".Func": 70945, + "Ġhumorous": 70946, + "uem": 70947, + ".ZERO": 70948, + "ĠSTL": 70949, + "ĠBuk": 70950, + "/sample": 70951, + "ĠGros": 70952, + "Recipes": 70953, + "Ġinflated": 70954, + "Ġswung": 70955, + ":F": 70956, + "Facing": 70957, + ".Theme": 70958, + "ник": 70959, + "Ġsplendid": 70960, + "ĠrequestId": 70961, + ".CenterScreen": 70962, + "/autoload": 70963, + "embedded": 70964, + "_depart": 70965, + "ĠPorts": 70966, + "à¹ĥ": 70967, + "айд": 70968, + "discussion": 70969, + "_consum": 70970, + "Ġscouts": 70971, + "Ġcolabor": 70972, + ".Stage": 70973, + ".nano": 70974, + "eldorf": 70975, + "Ġgemacht": 70976, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 70977, + "Ġpolicymakers": 70978, + "_PKT": 70979, + ",Th": 70980, + "oky": 70981, + "_UID": 70982, + "Ping": 70983, + "Ġorchest": 70984, + "Ġoptics": 70985, + "uhan": 70986, + "ĠXOR": 70987, + "Ġespañol": 70988, + "ĠAdidas": 70989, + "rng": 70990, + "mans": 70991, + ".vstack": 70992, + "Ġgetaway": 70993, + "Ġhierarchical": 70994, + "anoia": 70995, + "ĠBitmapFactory": 70996, + "realm": 70997, + "ĉap": 70998, + "_apps": 70999, + "-divider": 71000, + ".drawer": 71001, + "ĠHARD": 71002, + "'];?>Ċ": 71003, + "-packed": 71004, + "æ²»": 71005, + "_STRUCTURE": 71006, + "[Y": 71007, + "iParam": 71008, + "(eq": 71009, + "Ġencompasses": 71010, + "Ġ\\ĊĊ": 71011, + "->[": 71012, + "&utm": 71013, + "groupon": 71014, + "strate": 71015, + "DY": 71016, + "omorphic": 71017, + "':[": 71018, + "Ġgravitational": 71019, + "ĠMicha": 71020, + "ĠTencent": 71021, + "Ġcoached": 71022, + "ì¶ľ": 71023, + "ÑĥменÑĤ": 71024, + "/mobile": 71025, + "MouseDown": 71026, + "bud": 71027, + "ĠYas": 71028, + "ĠProviders": 71029, + "NZ": 71030, + "ĉreport": 71031, + "errmsg": 71032, + "ĠimagePath": 71033, + "acterial": 71034, + "ĠManga": 71035, + "wicklung": 71036, + "(usuario": 71037, + "\"));čĊčĊ": 71038, + "/***": 71039, + "Ġorganise": 71040, + "Indexed": 71041, + "_QUAL": 71042, + "(PyObject": 71043, + "Ġsurrendered": 71044, + "POCH": 71045, + "ĠNOTES": 71046, + "\\\\\"": 71047, + "-job": 71048, + "Ġseventy": 71049, + "####Ċ": 71050, + "ĠManor": 71051, + "Ġdownright": 71052, + "Ġtimeframe": 71053, + "insurance": 71054, + "checker": 71055, + "ĠSECRET": 71056, + "Ġechoes": 71057, + "ĠCarmen": 71058, + ".setHorizontalAlignment": 71059, + "ĠisChecked": 71060, + "ĠTOR": 71061, + "_nn": 71062, + "('(": 71063, + "FetchRequest": 71064, + "ĠPrinted": 71065, + "Fluid": 71066, + "ĠSTACK": 71067, + "GES": 71068, + "aigned": 71069, + "igor": 71070, + ".Unknown": 71071, + "CBC": 71072, + "ĠCarlson": 71073, + ".URI": 71074, + "Ġplight": 71075, + "/start": 71076, + "ĠPersonnel": 71077, + "ĠPREFIX": 71078, + ",**": 71079, + "Ġlimite": 71080, + "_heat": 71081, + "%ï¼Į": 71082, + "ĠDonne": 71083, + "getNode": 71084, + "ĠScientology": 71085, + "Ġcomet": 71086, + "Ġwenig": 71087, + "Aside": 71088, + "ĠMPEG": 71089, + "'?": 71090, + "variably": 71091, + ".endDate": 71092, + "Ġuncont": 71093, + "ĠScores": 71094, + "ĠLoginForm": 71095, + ".generated": 71096, + ",ch": 71097, + "-mar": 71098, + "ĠNed": 71099, + "ĠeventId": 71100, + "+p": 71101, + "ĠSIN": 71102, + "/reset": 71103, + ".REACT": 71104, + "ĠMessi": 71105, + "_RANK": 71106, + ".writeFile": 71107, + "Ġcripp": 71108, + "esthetic": 71109, + "ERSIST": 71110, + "Ġreimbursement": 71111, + "CurrentValue": 71112, + "Ġunin": 71113, + "DownLatch": 71114, + "ĠpaddingRight": 71115, + "Ġstocked": 71116, + "/'.": 71117, + "Ġrepayment": 71118, + "trak": 71119, + "/backend": 71120, + "Ġизмен": 71121, + "CSR": 71122, + "Ġpreventive": 71123, + "Ġpantalla": 71124, + "_trim": 71125, + "Pedido": 71126, + "hospital": 71127, + "Ġmanageable": 71128, + "routeParams": 71129, + "textures": 71130, + "......ĊĊ": 71131, + "Ġsélection": 71132, + "NameValuePair": 71133, + "Ġpollut": 71134, + "Modes": 71135, + "ĠLaud": 71136, + "jay": 71137, + "ĠUrs": 71138, + "Ġsigner": 71139, + "ĠJJ": 71140, + "ĠCherokee": 71141, + "_EXISTS": 71142, + "Ġdwar": 71143, + "Ġ($('#": 71144, + "Ġreef": 71145, + ">{$": 71146, + "ĠBaylor": 71147, + "ĠModelState": 71148, + "-_": 71149, + "ĠStructures": 71150, + "Ġsouvent": 71151, + "Specify": 71152, + "(pipe": 71153, + "Ġfracking": 71154, + "ĠGPA": 71155, + "Ġbele": 71156, + "ĉĉĉĉĉĉĉĠĠĠ": 71157, + "ĠMinority": 71158, + "Ġtud": 71159, + "Ġopenness": 71160, + "ĠIllustrated": 71161, + "Ġoxidation": 71162, + "ĠNK": 71163, + "ĉUpdate": 71164, + "ĠEMS": 71165, + "ĠTeddy": 71166, + "Ġgenerals": 71167, + "ĉMat": 71168, + "Ġradios": 71169, + "ĠAntique": 71170, + "conomy": 71171, + "ĠSquadron": 71172, + ")','": 71173, + "声": 71174, + "Ġyoure": 71175, + "ĠMainPage": 71176, + "Ġbehaviours": 71177, + "enght": 71178, + "(@\"%@\",": 71179, + "Ġtestcase": 71180, + "ĠCompilation": 71181, + "Ġflavours": 71182, + "ĠExtend": 71183, + "illator": 71184, + "Ġcoh": 71185, + "Ġspline": 71186, + "ĠKG": 71187, + "-pay": 71188, + "Ġcommunism": 71189, + "ĠBusinesses": 71190, + "ocking": 71191, + ".MaxLength": 71192, + "assandra": 71193, + "quiring": 71194, + "adden": 71195, + "ĠJeb": 71196, + "_fault": 71197, + "[file": 71198, + "Ġprominence": 71199, + "disciplinary": 71200, + "âĢĶthey": 71201, + "_extent": 71202, + "ĠVIC": 71203, + "Ġentails": 71204, + ".partner": 71205, + "Ġhippoc": 71206, + "League": 71207, + "çĶ·": 71208, + "wipe": 71209, + "-spinner": 71210, + "Ġsalute": 71211, + "ĠSurgical": 71212, + "(outputs": 71213, + "worked": 71214, + "[strlen": 71215, + "appointed": 71216, + "ĠHeg": 71217, + "ĠACPI": 71218, + "([^": 71219, + "uala": 71220, + "_tol": 71221, + "ĠRit": 71222, + ".Payment": 71223, + "kowski": 71224, + "Ġwalmart": 71225, + "requirements": 71226, + "ĠFINSEQ": 71227, + "_BACKGROUND": 71228, + "ĠOsborne": 71229, + "(errorMessage": 71230, + "Reporting": 71231, + "Ġauctions": 71232, + "Ġcombos": 71233, + "ĠNoticed": 71234, + "_oct": 71235, + "Ġprimero": 71236, + "taire": 71237, + "_hr": 71238, + "Ġмод": 71239, + "Ġcontradictory": 71240, + "=\"@": 71241, + "achines": 71242, + "(optarg": 71243, + "ĠPenguin": 71244, + "ĠAbbas": 71245, + "Ġsublime": 71246, + "Ġpageable": 71247, + "ĠDefensive": 71248, + "Ġdistinctly": 71249, + "ĠAutomatically": 71250, + "Understanding": 71251, + "EqualityComparer": 71252, + "gota": 71253, + "Ġ\"::": 71254, + "Ġpulver": 71255, + "ĠBattles": 71256, + "Ġunparalleled": 71257, + "TCHA": 71258, + "Ġconstrued": 71259, + "-aff": 71260, + "Ġprecursor": 71261, + "-lfs": 71262, + "Ġmaduras": 71263, + "ĠDaisy": 71264, + "ĠArbeits": 71265, + ".Management": 71266, + "ĉIn": 71267, + "Ġrobes": 71268, + "Ġspéc": 71269, + "âĢľ(": 71270, + "Ġmaternity": 71271, + "extent": 71272, + "ĠSpacer": 71273, + "DidAppear": 71274, + "ĉus": 71275, + ".getRequestDispatcher": 71276, + "(cols": 71277, + "Ġplummet": 71278, + "ìħ": 71279, + "Ġ{ĊĊĊĊ": 71280, + "érica": 71281, + "ĠSizes": 71282, + ".enum": 71283, + ".Highlight": 71284, + "Ġ!!}ĊĊĊ": 71293, + "Wenn": 71294, + "Ġclimax": 71295, + "Ġcrem": 71296, + "_that": 71297, + "[â̦": 71298, + "_domains": 71299, + "_REPLY": 71300, + "Ġcompleta": 71301, + "VEST": 71302, + "_particle": 71303, + "Ġsop": 71304, + "Ġfatalities": 71305, + "implify": 71306, + "ĠSKF": 71307, + "Ġinfusion": 71308, + "ĠJavier": 71309, + "Ġballet": 71310, + "Ġamigo": 71311, + ".want": 71312, + "Ġcollagen": 71313, + "ĠLawyer": 71314, + ".Statement": 71315, + ".rt": 71316, + "baar": 71317, + "EndPoint": 71318, + "ĠBek": 71319, + "SHIP": 71320, + "Ġpatriarch": 71321, + "ĠAunt": 71322, + "_TM": 71323, + "ĠmÃŃn": 71324, + "Ġmastered": 71325, + "WXYZ": 71326, + "Ġespos": 71327, + "=logging": 71328, + "Ġrighteousness": 71329, + "torrent": 71330, + "Ġbst": 71331, + "_CHAIN": 71332, + "Ġoutskirts": 71333, + "(rotation": 71334, + "Ġ'.')": 71335, + "igrants": 71336, + "+lsi": 71337, + "ĠCCTV": 71338, + "_PHASE": 71339, + ".azure": 71340, + "_Process": 71341, + "vae": 71342, + "ĠTropical": 71343, + "ĠAnkara": 71344, + "imageView": 71345, + "_RUNNING": 71346, + "Ġ*)__": 71347, + "ến": 71348, + "(cli": 71349, + "scatter": 71350, + "Ġsche": 71351, + "Registrar": 71352, + "Ġairing": 71353, + "Ġpyplot": 71354, + "isión": 71355, + "/customer": 71356, + "Ġsimplement": 71357, + "Ġclassy": 71358, + "ĠDWC": 71359, + "ĠBashar": 71360, + "ĠDEVELO": 71361, + "ĠVick": 71362, + "avail": 71363, + "ĠHö": 71364, + "_extend": 71365, + "drFc": 71366, + ".isNotBlank": 71367, + "Ġplais": 71368, + "|}Ċ": 71369, + "Ġpornofil": 71370, + "labs": 71371, + "Ġhaus": 71372, + "Ġoriginating": 71373, + "Ġsurrounds": 71374, + "ĠQUAL": 71375, + "meg": 71376, + "/logger": 71377, + "[obj": 71378, + "Ġirresponsible": 71379, + "ĠPublicKey": 71380, + "HONE": 71381, + ":'/": 71382, + "ibox": 71383, + "ĠFVector": 71384, + "|{Ċ": 71385, + "ataloader": 71386, + "hawks": 71387, + "HDR": 71388, + "Ġescalation": 71389, + "ĠPodsDummy": 71390, + "elite": 71391, + "Ġpresup": 71392, + "Cached": 71393, + ">G": 71394, + ".optimizer": 71395, + "ĠVisible": 71396, + "´Ģ": 71397, + "Ġnen": 71398, + "Ġpcs": 71399, + "ĠIdle": 71400, + "[Any": 71401, + "Ġkeyboards": 71402, + "ĠCOMPONENT": 71403, + "Ġtitanium": 71404, + "(mut": 71405, + "ĠLedger": 71406, + "Ġprosperous": 71407, + "etrofit": 71408, + "_LL": 71409, + "_patient": 71410, + "Ġpdata": 71411, + "Ġkontakte": 71412, + "Swipe": 71413, + "Ġcheerful": 71414, + "ĠHonduras": 71415, + "\"][$": 71416, + "Ġhemorrh": 71417, + "\":\"+": 71418, + "Ġleasing": 71419, + "Ġinstalls": 71420, + "ĠPax": 71421, + "ĠLogistics": 71422, + "Ġkinetic": 71423, + "ĠPhon": 71424, + "_movement": 71425, + "ĉbytes": 71426, + "Ġcinco": 71427, + "ĠMadness": 71428, + "\")+": 71429, + "ĠJE": 71430, + "_ij": 71431, + "SceneManager": 71432, + "ĠBust": 71433, + "ptest": 71434, + "aea": 71435, + "Ġbesser": 71436, + "ÃŃg": 71437, + "дин": 71438, + "(tasks": 71439, + "(\"(\"": 71440, + "setType": 71441, + "(outfile": 71442, + "ĉreset": 71443, + "ĠARC": 71444, + "Ġmúsica": 71445, + "ĠShelf": 71446, + "ĠminY": 71447, + "pch": 71448, + "Ġweiber": 71449, + "issor": 71450, + "Ġtrouve": 71451, + "ĉButton": 71452, + "Ġregenerated": 71453, + "Å£i": 71454, + "imachinery": 71455, + "blocking": 71456, + ".dataTables": 71457, + "_frac": 71458, + "ĠAdvantage": 71459, + ".visitMethod": 71460, + "éĩįæĸ°": 71461, + "Ġextrapol": 71462, + "Ġteasing": 71463, + "ĠHitch": 71464, + "ĠGeek": 71465, + "ESCO": 71466, + "Ġwich": 71467, + "ĉax": 71468, + "_decor": 71469, + "ĠscreenWidth": 71470, + "ĠSophia": 71471, + "Forgot": 71472, + ".uni": 71473, + "ĠVenture": 71474, + "_collision": 71475, + "Ġlawmaker": 71476, + "(Edit": 71477, + "blers": 71478, + "ĠgetNext": 71479, + "âĢĶyou": 71480, + "MediaPlayer": 71481, + "ĠHorde": 71482, + "ĠCongressman": 71483, + "observations": 71484, + "ĉproperty": 71485, + "Ġ<--": 71486, + "CreatedAt": 71487, + "ubyte": 71488, + "Ġquarantine": 71489, + "Ġdistressed": 71490, + "_APB": 71491, + "ĠGoodman": 71492, + "ãĤ«": 71493, + "Ġrecomend": 71494, + "_PRINTF": 71495, + "DONE": 71496, + "Bindable": 71497, + "rstrip": 71498, + "centaje": 71499, + "ĠUnexpected": 71500, + "ĠSCHOOL": 71501, + "ĠProfessionals": 71502, + "ĠGPUs": 71503, + "Lesson": 71504, + "Exclusive": 71505, + "Ġatrav": 71506, + "ĠDank": 71507, + "ĠLawyers": 71508, + "ĠWalton": 71509, + ">[]": 71510, + "Ġaloud": 71511, + "=\"../../../": 71512, + "Ġdebating": 71513, + "ĠAVG": 71514, + "_VOL": 71515, + "/cgi": 71516, + ".deg": 71517, + ":g": 71518, + ".Infof": 71519, + "MeasureSpec": 71520, + ".song": 71521, + "mtree": 71522, + "ulls": 71523, + "Jordan": 71524, + "ĠCovers": 71525, + "Ġattributable": 71526, + "Ġjedis": 71527, + "iatrics": 71528, + "Ġrotterdam": 71529, + "Ġmeld": 71530, + "ĠContentType": 71531, + "Ġmantle": 71532, + "Ġalice": 71533, + "_duplicate": 71534, + "/Internal": 71535, + "Ġfilesize": 71536, + "ĉfire": 71537, + "rese": 71538, + "ondere": 71539, + "Ġfamiliarity": 71540, + "ĠCrest": 71541, + "Ġkarma": 71542, + "Ġtorino": 71543, + "Ġmesa": 71544, + "/temp": 71545, + "Ġchir": 71546, + "ĠOverflow": 71547, + "Ġtenemos": 71548, + "unik": 71549, + "NEXT": 71550, + "Alle": 71551, + "Ġnxt": 71552, + "Mart": 71553, + "Ġatl": 71554, + "Ġperiodo": 71555, + "_you": 71556, + "Ġ})).": 71557, + "intestinal": 71558, + ".AdapterView": 71559, + "Ġhesitant": 71560, + "Ġcomparatively": 71561, + ".UInt": 71562, + "(viewModel": 71563, + "Ġsangat": 71564, + "ĠResponsive": 71565, + "ĠZack": 71566, + "âħ": 71567, + "JAVA": 71568, + "ĠFuller": 71569, + "ĠâĿ¤": 71570, + ".Consumer": 71571, + "Ġank": 71572, + "Ġreactors": 71573, + "fuck": 71574, + "_rat": 71575, + "ĠsessionFactory": 71576, + "_backward": 71577, + "Ġscrambled": 71578, + "ĉth": 71579, + "Ġinsensitive": 71580, + "Ġchamps": 71581, + "Ġnginx": 71582, + "Ġconhec": 71583, + "ĠJasper": 71584, + ".fm": 71585, + "StrictEqual": 71586, + "achsen": 71587, + "-Nov": 71588, + "lassen": 71589, + ".integration": 71590, + "(lbl": 71591, + "Compose": 71592, + "ĠFon": 71593, + "Ãļ": 71594, + "Gratis": 71595, + "ĠLime": 71596, + "ĠAdapterView": 71597, + "Ġpoisoned": 71598, + "anchors": 71599, + "设计": 71600, + "']?>\"": 71601, + "Ġprocur": 71602, + "Italy": 71603, + ".MONTH": 71604, + "ĠLUA": 71605, + "ĠLithuania": 71606, + "ĠHeads": 71607, + "_CHUNK": 71608, + "ĠPUSH": 71609, + "AspectRatio": 71610, + "Ġweg": 71611, + "Ġvids": 71612, + "ĠWein": 71613, + "ĉINT": 71614, + "sessionId": 71615, + "Industry": 71616, + "Ġdenounced": 71617, + "JKLM": 71618, + "ĠVanessa": 71619, + ".Identifier": 71620, + "propri": 71621, + "Ġиг": 71622, + "Ġtécn": 71623, + "Ġmosaic": 71624, + "StreamReader": 71625, + "-Th": 71626, + "forth": 71627, + "Ġadherence": 71628, + "bate": 71629, + "Ġknights": 71630, + "sounds": 71631, + "Ġsalle": 71632, + "OMET": 71633, + "ãĤ¹ãĥĪ": 71634, + "-tm": 71635, + "ĠRhe": 71636, + ".FileOutputStream": 71637, + "åĪĨç±»": 71638, + "ĠENG": 71639, + "holiday": 71640, + "ĠCongratulations": 71641, + ")(Ċ": 71642, + "Ġaggregates": 71643, + "HOOK": 71644, + "ewire": 71645, + "Senator": 71646, + "Ġembeddings": 71647, + "epy": 71648, + "(COM": 71649, + "Ġrobber": 71650, + "äter": 71651, + "wang": 71652, + "_teacher": 71653, + "Ġresentment": 71654, + "Ġlettuce": 71655, + "erreur": 71656, + "(ic": 71657, + "ĠTactical": 71658, + "ĠContracts": 71659, + "Ġmænd": 71660, + "Ġsitios": 71661, + "Ġbastante": 71662, + "Ġnuevos": 71663, + "ĉNdrFc": 71664, + "ĠprivateKey": 71665, + "ucch": 71666, + "MMdd": 71667, + "Ġè¾ĵåĩº": 71668, + "umba": 71669, + "@foreach": 71670, + ":\");ĊĊ": 71671, + "Ġslippery": 71672, + "ĠKeystone": 71673, + "Ġpioneering": 71674, + "_triangle": 71675, + "(\"Ċ": 71676, + "ĉĉĉĉĉĉĉĉĠĠ": 71677, + "ĠIntervention": 71678, + "SCI": 71679, + "ĠcJSON": 71680, + "Ġterminating": 71681, + "ë¹Ħ": 71682, + "Ġbabys": 71683, + "Subset": 71684, + "Ġë¡": 71685, + "Ġseulement": 71686, + "Ġmuestra": 71687, + "Entre": 71688, + "以ä¸Ĭ": 71689, + "ngo": 71690, + "\"bytes": 71691, + "QRST": 71692, + "Ġypos": 71693, + "persona": 71694, + "ĠDeploy": 71695, + "cee": 71696, + "Ġà®": 71697, + ".goal": 71698, + "Ġhabitats": 71699, + "ĠisAdmin": 71700, + "Ġexploiting": 71701, + "Ġventil": 71702, + "ĠBalls": 71703, + "اب": 71704, + "Ġmindfulness": 71705, + "(kwargs": 71706, + "Ġresembling": 71707, + "Ġchoir": 71708, + "ĠonBackPressed": 71709, + "ĠSECURITY": 71710, + "/gtest": 71711, + "Ġjustices": 71712, + "ĠintegerValue": 71713, + "blah": 71714, + "ĠAim": 71715, + "_finalize": 71716, + "keh": 71717, + "ĠComplexity": 71718, + "Ġaugust": 71719, + "getElementsByTagName": 71720, + "Ġpreach": 71721, + "Ġpronunciation": 71722, + "ĠTrash": 71723, + "-percent": 71724, + "_PRIV": 71725, + "ĠHunts": 71726, + "ĠCurse": 71727, + "uellen": 71728, + "Ġheavyweight": 71729, + "Xi": 71730, + "ĉselected": 71731, + "ĠMcCoy": 71732, + "å¼Ĥ常": 71733, + "|=Ċ": 71734, + "ĠBattlefield": 71735, + "ItemImage": 71736, + "Ġdeductions": 71737, + "ĠElemental": 71738, + "());//": 71739, + "ĠBurk": 71740, + "})čĊčĊ": 71741, + "swift": 71742, + "/function": 71743, + "Usually": 71744, + "_St": 71745, + "_feats": 71746, + "ĠIsValid": 71747, + "Ġzad": 71748, + "ImageContext": 71749, + "Ġclassname": 71750, + "Ġdonner": 71751, + "Ġ-->ĊĊĊ": 71752, + "Ġmotorcycles": 71753, + "+'/'+": 71754, + "ĠsetBackground": 71755, + "\\CMS": 71756, + ".AllArgsConstructor": 71757, + "ĠLexington": 71758, + ".examples": 71759, + "ĠPurs": 71760, + "PushMatrix": 71761, + "Ġ==============================================================": 71762, + ".addTarget": 71763, + "pora": 71764, + "Fullscreen": 71765, + "Ġgoof": 71766, + "hlen": 71767, + "äge": 71768, + "ĠCURL": 71769, + "ĠInteresting": 71770, + "Ġretrieves": 71771, + "_Obj": 71772, + "inness": 71773, + "-----ĊĊ": 71774, + ".tsv": 71775, + "(IM": 71776, + "ĠBraves": 71777, + "_ISR": 71778, + "osti": 71779, + "á»ĵ": 71780, + "ĠExterior": 71781, + "ĠCourtney": 71782, + "Ġresidues": 71783, + "Tier": 71784, + ".*;čĊčĊ": 71785, + ":black": 71786, + "webView": 71787, + "\"path": 71788, + "Ġmasa": 71789, + "]!='": 71790, + "ĠMatching": 71791, + "dur": 71792, + "Jvm": 71793, + "=context": 71794, + "_RING": 71795, + "Ġproponents": 71796, + "ĠQStringLiteral": 71797, + "Ġinflate": 71798, + "\">čĊ": 72031, + "_COST": 72032, + "ilinear": 72033, + "ĠWorkspace": 72034, + "Ġspel": 72035, + "agogue": 72036, + "ĠMillennium": 72037, + "ĠPopulate": 72038, + "Ġnid": 72039, + ".parseColor": 72040, + "Solar": 72041, + "ĠGad": 72042, + "Ġì¤ij": 72043, + "ĠKamp": 72044, + "ĉrm": 72045, + "Ġbenz": 72046, + "ĠHonestly": 72047, + "Ġelectrode": 72048, + "ĠPrairie": 72049, + "ĠPROFILE": 72050, + "ĠOriental": 72051, + "ĠOLED": 72052, + "/copyleft": 72053, + "awaii": 72054, + "(products": 72055, + ")\\<": 72056, + "-created": 72057, + ".ManyToMany": 72058, + "\"How": 72059, + "ĠвÑĭп": 72060, + "Ġmitochondrial": 72061, + "_testing": 72062, + "(created": 72063, + "ĠgetField": 72064, + "_EVAL": 72065, + "].\"": 72066, + "ĠFSM": 72067, + "ĠRita": 72068, + "ĠåıĤæķ°": 72069, + "Ġcôt": 72070, + "ĠInsight": 72071, + "ĉmysqli": 72072, + "_timing": 72073, + "IDO": 72074, + ")))))Ċ": 72075, + "COVERY": 72076, + ".imag": 72077, + "CDF": 72078, + "lust": 72079, + "ickt": 72080, + "_FP": 72081, + ".','": 72082, + "gcc": 72083, + "Ġkurz": 72084, + "_pwm": 72085, + "Ġodpowied": 72086, + "ĠBarrier": 72087, + "/***************************************************************************Ċ": 72088, + "pak": 72089, + "-Israel": 72090, + "ĠRutgers": 72091, + "ĠselectedItem": 72092, + "ĠRamirez": 72093, + "Farm": 72094, + "Ġcalendars": 72095, + "gzip": 72096, + "Ġblockbuster": 72097, + "ĠPlymouth": 72098, + "çľĮ": 72099, + "responses": 72100, + ".DialogInterface": 72101, + "-grand": 72102, + "ĠgetSource": 72103, + "Ġdejtings": 72104, + "Ġtieten": 72105, + "Ġcondemnation": 72106, + "Ġcontinuar": 72107, + ".MockMvc": 72108, + "/english": 72109, + "ĠMediaPlayer": 72110, + "computed": 72111, + "ĠClippers": 72112, + "(delegate": 72113, + ".Slf": 72114, + "Ġë¡ľ": 72115, + "ĠTide": 72116, + "Ġihrem": 72117, + "ĠWan": 72118, + "ÑĥÑİÑī": 72119, + "}><": 72120, + "Discussion": 72121, + "Ġwatts": 72122, + "-minus": 72123, + "ĠJuliet": 72124, + "éĽħ": 72125, + "Ġconcluding": 72126, + "andscape": 72127, + "Ġúltima": 72128, + "ĠDERP": 72129, + "ĠsignUp": 72130, + "ĠSecondly": 72131, + "WAIT": 72132, + "lds": 72133, + ".callbacks": 72134, + "(hour": 72135, + "imators": 72136, + "volent": 72137, + "AAF": 72138, + "edriver": 72139, + "ĠMathematic": 72140, + "'": 72142, + "{j": 72143, + "_ABORT": 72144, + "Ether": 72145, + "Ġeducator": 72146, + "Ġprecaution": 72147, + "Ġfingertips": 72148, + "getVar": 72149, + "camatan": 72150, + "-debug": 72151, + "ĠRAF": 72152, + "[arg": 72153, + "Ġraced": 72154, + "Ġtsunami": 72155, + ".flink": 72156, + "Ġglyc": 72157, + "uko": 72158, + "ĠMultiply": 72159, + "Ġredistribution": 72160, + "AGO": 72161, + "ĠRoutine": 72162, + "Ġopr": 72163, + "(lower": 72164, + "ĠFunktion": 72165, + ".dk": 72166, + "Ġegt": 72167, + "_BASIC": 72168, + "syscall": 72169, + "ĠLSD": 72170, + "ĠDuplicate": 72171, + "_sell": 72172, + "ĠerrorHandler": 72173, + "_ips": 72174, + "Ġerv": 72175, + "annie": 72176, + "(resourceName": 72177, + "Ġbottled": 72178, + "Ġcrawling": 72179, + "egment": 72180, + ".setTag": 72181, + "Ġrss": 72182, + "ĠQuarry": 72183, + "_exact": 72184, + ".jwt": 72185, + "ĠBoards": 72186, + "opi": 72187, + "Ġnasal": 72188, + "ĠXYZ": 72189, + ".ud": 72190, + "Northern": 72191, + "Ġactivating": 72192, + "edx": 72193, + "ovah": 72194, + "Ġindx": 72195, + "AlertDialog": 72196, + "Ġtienes": 72197, + "annya": 72198, + "_pan": 72199, + "(decimal": 72200, + ".Dict": 72201, + "Ġsubsidiaries": 72202, + "ProductName": 72203, + "Few": 72204, + "dato": 72205, + "odied": 72206, + "-under": 72207, + "Ġê²ĥ": 72208, + "çīĪæľ¬": 72209, + "atism": 72210, + "[Math": 72211, + ".'<": 72212, + "(infile": 72213, + "Ġdenotes": 72214, + "$class": 72215, + "_SECURITY": 72216, + "Ġsewage": 72217, + "melon": 72218, + "(Character": 72219, + "/github": 72220, + "Ġglaring": 72221, + ".Guid": 72222, + "_sparse": 72223, + "ĠMargin": 72224, + "_dns": 72225, + "Ġmeiner": 72226, + "Ġleftist": 72227, + "ĉloc": 72228, + "abytes": 72229, + "Ġequipments": 72230, + "expo": 72231, + "ĠSomerset": 72232, + "EK": 72233, + "æį¢": 72234, + "Ġlecturer": 72235, + "Ġmemiliki": 72236, + "æł¸": 72237, + "ç´ł": 72238, + "pron": 72239, + ":pointer": 72240, + "borrow": 72241, + "ĠProtective": 72242, + "_cf": 72243, + "ĠÐķÑģли": 72244, + "bpp": 72245, + "';ĊĊĊĊ": 72246, + "aturally": 72247, + "_NAV": 72248, + "Ġpeptide": 72249, + ">d": 72250, + "Ġifstream": 72251, + "_FACTORY": 72252, + "');//": 72253, + "joined": 72254, + "mong": 72255, + "Ġtimespec": 72256, + "Ġdestabil": 72257, + "Ġautop": 72258, + "-limit": 72259, + "publication": 72260, + "ĠDenn": 72261, + ".Memory": 72262, + "(skb": 72263, + "ĠAnaheim": 72264, + "_RETURNTRANSFER": 72265, + "oueur": 72266, + "(_('": 72267, + "legt": 72268, + "istingu": 72269, + "ĉpriv": 72270, + "Ġredirects": 72271, + "Mt": 72272, + "Ġalleen": 72273, + "ĠPointF": 72274, + "Ġomin": 72275, + "Ġcitt": 72276, + "ĠTage": 72277, + "ĠWalls": 72278, + "á»ī": 72279, + "Ġoccupying": 72280, + "xBF": 72281, + "rangle": 72282, + "Ġrelational": 72283, + "-org": 72284, + "Ġjpg": 72285, + "-derived": 72286, + "Ġmalfunction": 72287, + "ĠBenson": 72288, + "(scroll": 72289, + "ĠXD": 72290, + "Holy": 72291, + "(commands": 72292, + "Ġtipping": 72293, + "Ġprimitives": 72294, + "Ġsexle": 72295, + "CallCheck": 72296, + "ĠMASTER": 72297, + "_TEAM": 72298, + ".setRequestHeader": 72299, + "_specs": 72300, + "Ġserge": 72301, + ".Master": 72302, + "Ġims": 72303, + ".SpringBootTest": 72304, + "paypal": 72305, + "ĠWANT": 72306, + ".Inst": 72307, + "ĠCarpet": 72308, + "Ġwrongly": 72309, + "($('.": 72310, + "Ġbild": 72311, + ".Roll": 72312, + "ĠUrb": 72313, + "-can": 72314, + "ãģıãģłãģķãģĦ": 72315, + "oliberal": 72316, + "čĊčĊ": 72710, + "ĠMahm": 72711, + "}\";ĊĊ": 72712, + "Ġdq": 72713, + "ĠPublishers": 72714, + "ĠAmpl": 72715, + "ĠDanielle": 72716, + "Ġtern": 72717, + "èµ·": 72718, + "noÅĽÄĩ": 72719, + "ein": 72720, + "ĠAsyncStorage": 72721, + "unger": 72722, + "rouw": 72723, + "Ġscissors": 72724, + "/assert": 72725, + ".bucket": 72726, + "/archive": 72727, + "_Man": 72728, + "Ġintoler": 72729, + "Ġ()=>": 72730, + "ĠÐĴÑĭ": 72731, + "Ġsai": 72732, + ".xy": 72733, + ".\"čĊ": 72734, + "Ġurinary": 72735, + "esub": 72736, + "ISTICS": 72737, + "Ġκ": 72738, + "Ġcompliments": 72739, + "ĠtypingsJapgolly": 72740, + "ihar": 72741, + "Expansion": 72742, + "ĠServing": 72743, + "_students": 72744, + "ĠXBOOLE": 72745, + "(il": 72746, + "Ġì²ĺ": 72747, + "Ġjó": 72748, + "(tol": 72749, + "(JS": 72750, + "ĉCG": 72751, + "ĠDRAW": 72752, + "twig": 72753, + "Ġoat": 72754, + "_smooth": 72755, + "ĠCSL": 72756, + "Ġosob": 72757, + "Ġensuing": 72758, + "Ġbanker": 72759, + "ĠBackpack": 72760, + "_ping": 72761, + "Ġwishlist": 72762, + "=ax": 72763, + "ĉĠĠĠĊ": 72764, + "Disney": 72765, + "steady": 72766, + "\">%": 72767, + "Ġprophets": 72768, + "ĠZX": 72769, + "Ġminimalist": 72770, + ".PLAIN": 72771, + "Seattle": 72772, + ".ordinal": 72773, + "ĠPIPE": 72774, + "Ġretorna": 72775, + "Ġjugador": 72776, + "ĠBret": 72777, + "ĠâĶľ": 72778, + "Ġplush": 72779, + "ULATOR": 72780, + "Sorting": 72781, + ".gridy": 72782, + "ectomy": 72783, + "_activ": 72784, + "rack": 72785, + "Interactive": 72786, + "ĠAntarctica": 72787, + "Ġvengeance": 72788, + "enso": 72789, + "_known": 72790, + "upplier": 72791, + ".Modules": 72792, + "ĠConnectionState": 72793, + "éļIJèĹı": 72794, + "@FindBy": 72795, + "Ġplacer": 72796, + "\\model": 72797, + "<()>": 72798, + ".isSuccessful": 72799, + "-good": 72800, + "bz": 72801, + "ĠDraco": 72802, + "Assistant": 72803, + "-extra": 72804, + "аблиÑĨ": 72805, + "Ġhypocrisy": 72806, + "Ġtst": 72807, + "ĠAgr": 72808, + "$txt": 72809, + "Ġlogistic": 72810, + "licensed": 72811, + "ĠHof": 72812, + "Ġtat": 72813, + "(iv": 72814, + "Ġintoxic": 72815, + "postId": 72816, + "_strike": 72817, + "Ġhumiliation": 72818, + "pcodes": 72819, + "\"sync": 72820, + "(recipe": 72821, + "+N": 72822, + "rente": 72823, + "ĉClient": 72824, + "ycopg": 72825, + "ĠZurich": 72826, + "ĠProfiles": 72827, + "Countries": 72828, + "Ġpict": 72829, + "Ġrollout": 72830, + "requencies": 72831, + "Ġpatched": 72832, + "Ġcartridges": 72833, + "Ġshading": 72834, + "Jar": 72835, + "Ġsalvage": 72836, + "ĠTaxes": 72837, + "Ġstandby": 72838, + "aporan": 72839, + "Eigen": 72840, + ".angular": 72841, + "ĠNested": 72842, + "享": 72843, + "ĠisVisible": 72844, + "ĠDwight": 72845, + "_BRANCH": 72846, + ".Delay": 72847, + "Ġkend": 72848, + "Ġfacilitated": 72849, + ".flatMap": 72850, + "Ġsanta": 72851, + "ĉSend": 72852, + "/messages": 72853, + "ĠofType": 72854, + "ĉswap": 72855, + "#plt": 72856, + "ĠTurks": 72857, + "NES": 72858, + "Ġprogressively": 72859, + "ĠResidence": 72860, + "ĠTREE": 72861, + "Ġnoen": 72862, + "dio": 72863, + "Ġnelle": 72864, + "Ġsogar": 72865, + "itti": 72866, + "weekly": 72867, + "Ġambiguity": 72868, + "_Settings": 72869, + "Ware": 72870, + ".neo": 72871, + "_DST": 72872, + "Ġæĸ¹": 72873, + "prep": 72874, + "lobby": 72875, + "@email": 72876, + "/movie": 72877, + "Ġfunkc": 72878, + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ": 72879, + "ÂŃs": 72880, + "Ġguardians": 72881, + "-pos": 72882, + "Ġconfiguring": 72883, + "ĠCPS": 72884, + "ĠDeus": 72885, + "Ġvidéos": 72886, + "_empresa": 72887, + "Ġslapped": 72888, + "',Ċ": 72920, + "_XDECREF": 72921, + "ĠBuzzFeed": 72922, + "_MARGIN": 72923, + "PLOY": 72924, + ".small": 72925, + "ĠmimeType": 72926, + "Ġholog": 72927, + "ĉcamera": 72928, + "lias": 72929, + "Ġsuspense": 72930, + "odynam": 72931, + "bau": 72932, + "Ġgraveyard": 72933, + "_named": 72934, + "\":\"'": 72935, + "Ġ************************************************": 72936, + "ĠgameOver": 72937, + "ĠLENGTH": 72938, + "ĉscreen": 72939, + "ĠdoInBackground": 72940, + "_dependencies": 72941, + "Ġrtc": 72942, + "/up": 72943, + "_ROM": 72944, + "Hall": 72945, + "Ġdeficiencies": 72946, + "(te": 72947, + "'#": 72948, + "_equiv": 72949, + "Ġpreorder": 72950, + "ĠAxe": 72951, + "омÑĥ": 72952, + ".sendFile": 72953, + "Ġfilt": 72954, + "ĠLimits": 72955, + "ĠCavaliers": 72956, + ".discount": 72957, + "âĨIJ": 72958, + "ĠWit": 72959, + "QRSTUV": 72960, + "Ġij": 72961, + "Ġtegen": 72962, + "Ġ:\",": 72963, + "difficulty": 72964, + "punkt": 72965, + "ĠEmails": 72966, + "chlor": 72967, + "(fun": 72968, + ".Uint": 72969, + "ĠStall": 72970, + "_verified": 72971, + "uD": 72972, + "FileType": 72973, + "Ġpleasures": 72974, + "Ġjudiciary": 72975, + "Ġsham": 72976, + "ipur": 72977, + "_PLUS": 72978, + "offers": 72979, + "(foo": 72980, + "_GT": 72981, + "ĉcore": 72982, + "ENTION": 72983, + "ĠLiberation": 72984, + "CommandLine": 72985, + "_department": 72986, + ".Ar": 72987, + "_neighbor": 72988, + "ĠSubmitted": 72989, + "ĠĊ": 97221, + "Ġdroits": 97222, + "Ġhomosexuals": 97223, + "Ġabduction": 97224, + "ĉwidget": 97225, + "$headers": 97226, + "ĠDAR": 97227, + "Ġfla": 97228, + "threat": 97229, + "Ġlouis": 97230, + ".GetProperty": 97231, + "\"Just": 97232, + "(frames": 97233, + "ryo": 97234, + "profession": 97235, + "|i": 97236, + "íķ´ìĦľ": 97237, + "(sv": 97238, + "Ġunrecognized": 97239, + "Ionic": 97240, + "Fashion": 97241, + "ScreenState": 97242, + "ĠIncoming": 97243, + "NotNil": 97244, + "Ġsyncing": 97245, + "emie": 97246, + "Ġthermo": 97247, + "_procs": 97248, + "Ġinconsistency": 97249, + "religious": 97250, + ".mj": 97251, + "Ġpersonn": 97252, + "Ġmomentos": 97253, + "orarily": 97254, + "ĠæĬ": 97255, + "_neurons": 97256, + "Illustr": 97257, + "imoto": 97258, + "ilik": 97259, + "ĠWoj": 97260, + "Trading": 97261, + "Ġappare": 97262, + "Ġentreprises": 97263, + "achat": 97264, + "Ġ¬": 97265, + "Ġneigh": 97266, + "BUTTONDOWN": 97267, + "ĠMaher": 97268, + "aghan": 97269, + "-hash": 97270, + "\"f": 97271, + "Ġclientele": 97272, + ".addButton": 97273, + "ĉSP": 97274, + "Qi": 97275, + "Ġgrated": 97276, + "POSITE": 97277, + ":>": 97278, + "ĠHowell": 97279, + "ĠComparative": 97280, + "ĠISC": 97281, + "ÂŃi": 97282, + "Ocean": 97283, + "Davis": 97284, + "ĠFilme": 97285, + "Wins": 97286, + "ĠJIT": 97287, + "occer": 97288, + "ĠCorm": 97289, + "ENCHMARK": 97290, + "rchive": 97291, + "icação": 97292, + "Ġmata": 97293, + "Ġchildbirth": 97294, + "ĠOptionally": 97295, + "Ens": 97296, + "Ġxhttp": 97297, + "Ġelucid": 97298, + "_OscInitStruct": 97299, + "))):Ċ": 97300, + "Ġintuit": 97301, + "ĠDonate": 97302, + "Ġcorrelates": 97303, + ">Delete": 97304, + "Ġequipe": 97305, + "Ġboca": 97306, + "Ġinflatable": 97307, + "erah": 97308, + "ĠDateTimeKind": 97309, + "Ġcalves": 97310, + "\\Lib": 97311, + "Ġemlrt": 97312, + "ĠTrilogy": 97313, + "ĠPanc": 97314, + "ĠDuis": 97315, + "ĠpelÃŃcula": 97316, + "WARDS": 97317, + "_DETECT": 97318, + "-sectional": 97319, + "dhcp": 97320, + "ForRow": 97321, + "-destruct": 97322, + "ĠPresenter": 97323, + "/slick": 97324, + ",on": 97325, + "ĠCitadel": 97326, + "loggedin": 97327, + "_subtype": 97328, + "Ġsigue": 97329, + "Ġcuring": 97330, + "ĠFirewall": 97331, + "Ġfluorescence": 97332, + "ĠItalians": 97333, + "иÑĤÑģÑı": 97334, + ".getStyle": 97335, + "InSeconds": 97336, + "jie": 97337, + "-Smith": 97338, + "Ġxlink": 97339, + "Ġsubmissive": 97340, + "онÑĤ": 97341, + "arbonate": 97342, + "ĠFaul": 97343, + "_goals": 97344, + "ĠCommissioners": 97345, + "chartInstance": 97346, + "_POSTFIELDS": 97347, + "Ġmedial": 97348, + "Ġmanos": 97349, + "Ġdelt": 97350, + "svm": 97351, + ".Apis": 97352, + "ephy": 97353, + "Ġasympt": 97354, + "ĠappDelegate": 97355, + "Ġimprobable": 97356, + "cka": 97357, + "simd": 97358, + "/Error": 97359, + ".âĢĵ": 97360, + "ĠPTS": 97361, + "deer": 97362, + "Ġsina": 97363, + "magnitude": 97364, + "IDADE": 97365, + "']}'": 97366, + "Ġmayores": 97367, + "ĉcomment": 97368, + "/console": 97369, + "\"@": 97370, + "volt": 97371, + ".sell": 97372, + "ĠMacy": 97373, + "Ġmelod": 97374, + "Ġimágenes": 97375, + "_chg": 97376, + "Ġinout": 97377, + "idente": 97378, + ")'),Ċ": 97379, + "dni": 97380, + ".blob": 97381, + "Ġtypography": 97382, + "Ġeerie": 97383, + "_OID": 97384, + "pesan": 97385, + "ajan": 97386, + "Ġchopping": 97387, + "Ġbluff": 97388, + "adf": 97389, + "_bases": 97390, + ".Formatter": 97391, + "Ġ\\%": 97392, + "ĠPageInfo": 97393, + "Carrier": 97394, + "ĠCalibration": 97395, + "como": 97396, + "-bodied": 97397, + "Ġfinancier": 97398, + "ĠINA": 97399, + ".ERR": 97400, + "Ġhoodie": 97401, + "ĠSanity": 97402, + "guarded": 97403, + ".opendaylight": 97404, + "ISMATCH": 97405, + "Highlights": 97406, + "ünk": 97407, + "aniem": 97408, + "angered": 97409, + "assignments": 97410, + "Ġregistrado": 97411, + "ĠUPPER": 97412, + "ampilkan": 97413, + "ashire": 97414, + "ĠNikola": 97415, + "ĠCFL": 97416, + "ĠHDC": 97417, + "Ġpoids": 97418, + "ĠIPs": 97419, + "Ġpreventative": 97420, + "ipsoid": 97421, + "ifix": 97422, + ".camel": 97423, + ".ga": 97424, + "Volumes": 97425, + "-ste": 97426, + "Yahoo": 97427, + "_sibling": 97428, + "Highest": 97429, + "optgroup": 97430, + "Ġkvinna": 97431, + "âĢĿãĢĤĊĊ": 97432, + "ĠAppliances": 97433, + "Ġ\"><": 97434, + "')\")Ċ": 97435, + "htt": 97436, + "ĠIdentified": 97437, + "Ġpencils": 97438, + "ĠmemberId": 97439, + "ĠappendString": 97440, + ".loadData": 97441, + "ĠmockMvc": 97442, + "Ġjub": 97443, + "ĠSlut": 97444, + "ĠTaipei": 97445, + "statt": 97446, + "Polit": 97447, + "Ġpartager": 97448, + "DidChange": 97449, + "Increases": 97450, + ")}.": 97451, + "ĠBaba": 97452, + "_CLIP": 97453, + "[unit": 97454, + "ĠклÑİÑĩ": 97455, + "Ġalcuni": 97456, + "ĠLola": 97457, + "Ġclinging": 97458, + "@PostMapping": 97459, + "(concat": 97460, + "Ġssid": 97461, + "ĠFauc": 97462, + "okit": 97463, + "ĠRecorded": 97464, + "ález": 97465, + "($('<": 97466, + ".assertIsNot": 97467, + "Ġkali": 97468, + "Volt": 97469, + "Ġwarmly": 97470, + "Ġscares": 97471, + "getti": 97472, + "führt": 97473, + "_does": 97474, + ".EMAIL": 97475, + "imations": 97476, + "Ġspringfox": 97477, + "ĠDecom": 97478, + "arcy": 97479, + "Ġglitches": 97480, + "ĠMoff": 97481, + "ĠVoll": 97482, + ".between": 97483, + "Ġcoorden": 97484, + "ĠParticularly": 97485, + "GBP": 97486, + "Ġsemble": 97487, + "Eastern": 97488, + "_MSB": 97489, + "]){čĊ": 97490, + "morgan": 97491, + "ĠEVAL": 97492, + "dere": 97493, + "HOUSE": 97494, + "moire": 97495, + "istique": 97496, + "_lstm": 97497, + "-commit": 97498, + "ysterious": 97499, + "Ġtwink": 97500, + "-thumbnails": 97501, + "enÃŃ": 97502, + ":'',": 97503, + "Ġblackout": 97504, + "ĠFloors": 97505, + "Ġsofas": 97506, + "Ġoui": 97507, + "leshoot": 97508, + "ĠRaq": 97509, + "-abs": 97510, + "Ġkra": 97511, + "Mining": 97512, + "shaft": 97513, + ".setColumns": 97514, + "Clazz": 97515, + "PRETTY": 97516, + ".playlist": 97517, + "éĸ¢": 97518, + "-Saharan": 97519, + "MING": 97520, + "ĉbl": 97521, + "è®®": 97522, + "jf": 97523, + "DOCKER": 97524, + "hopefully": 97525, + "(ignore": 97526, + "ĠUsersController": 97527, + "ĠMitarbeiter": 97528, + "ĠLES": 97529, + "Hamilton": 97530, + "-metadata": 97531, + "ĠKK": 97532, + "iktig": 97533, + "Ġwollte": 97534, + "egrator": 97535, + "]bool": 97536, + ",current": 97537, + "ĠvalueType": 97538, + "Ġexcavation": 97539, + "oland": 97540, + "Ġverv": 97541, + "/filepath": 97542, + "AuthProvider": 97543, + "Ġprocrast": 97544, + "ĉULONG": 97545, + "_MEMBERS": 97546, + "Ġuplift": 97547, + "ĠAutonomous": 97548, + "Ġartworks": 97549, + "ĠOutreach": 97550, + "Ġpore": 97551, + "Homepage": 97552, + "DialogTitle": 97553, + "ĠGenerating": 97554, + "PARSE": 97555, + "Ġsemanas": 97556, + "Ġhumano": 97557, + "JSGlobalScope": 97558, + "Ġvolte": 97559, + "Ġbella": 97560, + "(isinstance": 97561, + "Ġplc": 97562, + "\\Catalog": 97563, + "Ġesteemed": 97564, + "鼷": 97565, + "(suffix": 97566, + "Ġsweeps": 97567, + "ĉORDER": 97568, + "Ġdoivent": 97569, + "ĠSwarm": 97570, + "ĠCompiled": 97571, + "getPage": 97572, + "ADR": 97573, + ".RichTextBox": 97574, + "ĠNaming": 97575, + "agged": 97576, + "ĠGANG": 97577, + "rasing": 97578, + "odeled": 97579, + "Ġgala": 97580, + "ĠJSName": 97581, + "ddf": 97582, + "Ġillust": 97583, + "ĠLansing": 97584, + "[port": 97585, + "-death": 97586, + "Ġdinheiro": 97587, + "ĠEighth": 97588, + "Ġbian": 97589, + "stÃ¥": 97590, + "Ġversión": 97591, + "ĠLinearGradient": 97592, + "ĠHarding": 97593, + ".*)": 97594, + "eczy": 97595, + "$header": 97596, + "ĠvÃ¥r": 97597, + "Unchecked": 97598, + "Ġkoje": 97599, + "ĠPaladin": 97600, + "())),": 97601, + "Giving": 97602, + "()})Ċ": 97603, + "Ġdips": 97604, + "Friendly": 97605, + "Ġportrays": 97606, + "Ġhelium": 97607, + "Ġinsurgency": 97608, + "_expiry": 97609, + "ĠstringByAppendingString": 97610, + "Ġaantal": 97611, + "slope": 97612, + "mast": 97613, + ".getInteger": 97614, + "Ġ########################": 97615, + "_PIPELINE": 97616, + "Ġdensely": 97617, + "Ġmutating": 97618, + "midi": 97619, + "ĠSeit": 97620, + "ayne": 97621, + "NOWLED": 97622, + "ĠDesmond": 97623, + "ĠFName": 97624, + "ĠNairobi": 97625, + "\\Context": 97626, + "Ġcalcular": 97627, + "-den": 97628, + "Ġcott": 97629, + "]):čĊ": 97630, + "ĠRecommendation": 97631, + "ĠRolex": 97632, + "ĠvalidationResult": 97633, + ".pat": 97634, + "ĠnÃły": 97635, + "ĠRestClient": 97636, + "ĠGPI": 97637, + "ĠAsheville": 97638, + "ĠOSP": 97639, + "ĠPERMISSION": 97640, + "ÐĶаÑĤа": 97641, + "/notification": 97642, + "Knight": 97643, + "_Word": 97644, + "ĠBender": 97645, + "ranking": 97646, + "Ġpartida": 97647, + "_reservation": 97648, + "ÌĢ": 97649, + "ĠmName": 97650, + "Ġgetch": 97651, + "Ġborr": 97652, + "Ġdiligent": 97653, + "Discuss": 97654, + "æŃ£åľ¨": 97655, + "apeake": 97656, + "ioned": 97657, + "-Nazi": 97658, + ".cum": 97659, + "ĠKron": 97660, + "=$('#": 97661, + "/single": 97662, + "Ġerotisch": 97663, + "ĠVib": 97664, + "Ġratified": 97665, + "Ġconcerted": 97666, + "ĠREGARD": 97667, + "Ġdobr": 97668, + ".DriverManager": 97669, + "'r": 97670, + "Portable": 97671, + "ĉsuite": 97672, + "Ġrelaciones": 97673, + "ĠDop": 97674, + "emploi": 97675, + "DOB": 97676, + "Ġcrumbs": 97677, + "Ġxls": 97678, + "_Application": 97679, + "(':',": 97680, + "Ġ------------------------------------------------------------------------Ċ": 97681, + "mse": 97682, + "Ġberk": 97683, + "ĠReturnValue": 97684, + "ĠBelly": 97685, + "Ġcamar": 97686, + "ĠPeek": 97687, + "elsing": 97688, + "Ġnotifies": 97689, + "ĠTristan": 97690, + "ĠGAR": 97691, + "emme": 97692, + "ĠElevated": 97693, + "_CSV": 97694, + "(chalk": 97695, + "Ġtwenties": 97696, + "ĠSearchResult": 97697, + "=search": 97698, + "ĠMixing": 97699, + "ýt": 97700, + "Ġrecruiter": 97701, + "ĠIDEOGRAPH": 97702, + "ĠAgo": 97703, + "(Operation": 97704, + "$values": 97705, + "Ġworldly": 97706, + "ĠRosenberg": 97707, + "ĠConfigureServices": 97708, + ">*Ċ": 97805, + "Ġsnork": 97806, + "_opacity": 97807, + "ĠinitWithNibName": 97808, + "iado": 97809, + "AAC": 97810, + "Ġ]).": 97811, + ";z": 97812, + "_paragraph": 97813, + "Ġnoses": 97814, + "stands": 97815, + "ifr": 97816, + "_mE": 97817, + "Iraq": 97818, + ".Predicate": 97819, + "enaire": 97820, + "]]];Ċ": 97821, + "Ġunidad": 97822, + "Ġretirees": 97823, + "_hello": 97824, + "Ġmodele": 97825, + "ĠUITableViewController": 97826, + "fwrite": 97827, + "_numero": 97828, + "_visited": 97829, + "Ġrecebe": 97830, + "(Notification": 97831, + "Fantastic": 97832, + "_submenu": 97833, + "ĠPEM": 97834, + "ĠCupertino": 97835, + "approximately": 97836, + "classed": 97837, + ".ReadString": 97838, + "Ġdomicile": 97839, + "_PW": 97840, + "Ġballpark": 97841, + "ĠKale": 97842, + "contra": 97843, + "_favorite": 97844, + "/of": 97845, + "Quite": 97846, + "ĠOTA": 97847, + "Ġaccelerometer": 97848, + "didn": 97849, + "|^": 97850, + "ĠRohingya": 97851, + "ivicrm": 97852, + "annabin": 97853, + "обÑĭÑĤи": 97854, + "orado": 97855, + "')+": 97856, + "Haunted": 97857, + ",ID": 97858, + "(UIAlertAction": 97859, + "urv": 97860, + "_bel": 97861, + "ĠMexicans": 97862, + "/terms": 97863, + "ĠPainter": 97864, + "InputLabel": 97865, + "ĠVinci": 97866, + "ĠRosie": 97867, + "\\uc": 97868, + "": 98029, + "_gs": 98030, + "Ġcompil": 98031, + "nard": 98032, + "-exc": 98033, + "Ġrhyme": 98034, + "Ġbutto": 98035, + "says": 98036, + "antasy": 98037, + "ë¸": 98038, + "ĠcittÃł": 98039, + "Ġcheg": 98040, + "TimeString": 98041, + "Ġpositivity": 98042, + "ĠDabei": 98043, + "Ġwang": 98044, + "Ġescre": 98045, + "\"c": 98046, + "ĉvideo": 98047, + "ĠRanked": 98048, + ".strings": 98049, + ">>>(": 98050, + "ĠинÑĤеÑĢ": 98051, + "Ġresta": 98052, + "[:,:": 98053, + "Ġrendre": 98054, + "Ġdeser": 98055, + "Jos": 98056, + "Ġdisruptions": 98057, + "ĠопеÑĢ": 98058, + "sampling": 98059, + "suppress": 98060, + "ĠcontainerView": 98061, + "ĠSeamless": 98062, + "Ġairy": 98063, + "Ġonload": 98064, + ".WindowManager": 98065, + "ĠPLA": 98066, + "braco": 98067, + ".setPositiveButton": 98068, + "Ġpdu": 98069, + "Ġgsi": 98070, + "ĠCli": 98071, + "_gradients": 98072, + "Ñıд": 98073, + "ĠWhisper": 98074, + "cstdint": 98075, + "Ġläng": 98076, + "Ġformulations": 98077, + "énom": 98078, + "ournemouth": 98079, + "[$_": 98080, + "Ġordinarily": 98081, + ".setUsername": 98082, + "Ġfaculties": 98083, + "MITTED": 98084, + "/values": 98085, + "Ġweir": 98086, + "ĠApt": 98087, + "MZ": 98088, + "ĉcf": 98089, + "ucken": 98090, + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ": 98091, + "defense": 98092, + "[iVar": 98093, + "ĠBusinessException": 98094, + "Selectors": 98095, + "(coordinates": 98096, + "ĠResets": 98097, + "ĠDrinks": 98098, + "oleans": 98099, + "(stypy": 98100, + "_IOC": 98101, + ".xxx": 98102, + "ĠSlater": 98103, + "ĠBelize": 98104, + "Ġ/************************************************************************": 98105, + "addin": 98106, + "_episodes": 98107, + "Ġischem": 98108, + "legalArgumentException": 98109, + "Danny": 98110, + "Ġpared": 98111, + ".codehaus": 98112, + "ĠAssy": 98113, + "ĉRect": 98114, + "âŀ": 98115, + ".lista": 98116, + "ĠваÑĪ": 98117, + "Ġvets": 98118, + "HWND": 98119, + "isoner": 98120, + "Ġxo": 98121, + "Ġorally": 98122, + "ĠStmt": 98123, + ".rnn": 98124, + "ĠDPI": 98125, + "ĠStrikes": 98126, + ".setViewportView": 98127, + "ĠèĩªåĬ¨çĶŁæĪIJ": 98128, + "YELLOW": 98129, + "GLenum": 98130, + "partners": 98131, + "ĠImplicit": 98132, + "Ġtako": 98133, + "âĢĻelle": 98134, + "Ġermög": 98135, + "totalCount": 98136, + "Gil": 98137, + "ĉwork": 98138, + "Ġpratic": 98139, + "inati": 98140, + "abies": 98141, + "ĠSkinner": 98142, + "Ġspirited": 98143, + "Ġpancreatic": 98144, + "Ġhdf": 98145, + "'em": 98146, + "Ġpsychosis": 98147, + "olicit": 98148, + "Ġ\"{\"": 98149, + "_atual": 98150, + "Ġélect": 98151, + "TEAM": 98152, + "Ġdak": 98153, + "ĠSWAT": 98154, + ".FragmentManager": 98155, + "Ġprovisioning": 98156, + "lifetime": 98157, + "_EXTENSIONS": 98158, + "ĠCASCADE": 98159, + "Ġ![": 98160, + "(KP": 98161, + "Ġvem": 98162, + "ĠInterracial": 98163, + "']},Ċ": 98164, + "spacer": 98165, + "_kv": 98166, + "Warehouse": 98167, + "RDD": 98168, + "_fsm": 98169, + ".StretchImage": 98170, + ",Yes": 98171, + "ĠRefugee": 98172, + "ĠBringing": 98173, + "Ġválido": 98174, + ".intersection": 98175, + "Ġspooky": 98176, + "_portal": 98177, + "Ġmoth": 98178, + "ĠZodiac": 98179, + "ĠSOCIAL": 98180, + "MimeType": 98181, + "']}}": 98300, + "_Blue": 98301, + "Ġbotanical": 98302, + "Ġfrags": 98303, + "Ġfamilial": 98304, + "-du": 98305, + "Ġseizing": 98306, + "(blocks": 98307, + ".rd": 98308, + ".checkNotNull": 98309, + "Ġmiser": 98310, + "Ġmaxx": 98311, + "ĠKnee": 98312, + "ViewItem": 98313, + "InnerHTML": 98314, + "Danger": 98315, + "((__": 98316, + "Ġprzypad": 98317, + "createUrl": 98318, + "**,": 98319, + "ĠDecorating": 98320, + "ATEGY": 98321, + "?>/": 98322, + ".Designer": 98323, + "hexdigest": 98324, + "ĠEverywhere": 98325, + "alleries": 98326, + ".TEXTURE": 98327, + ".Blocks": 98328, + "zell": 98329, + "Ġpreço": 98330, + "Suddenly": 98331, + "inputEmail": 98332, + "(sync": 98333, + ".bd": 98334, + "golden": 98335, + ">');": 98336, + "ĠDickinson": 98337, + ">>(Ċ": 98338, + "ĠQUEUE": 98339, + "ĠgetColumn": 98340, + "ĠSAND": 98341, + ".piece": 98342, + "licer": 98343, + "Flutter": 98344, + "ĠgetVersion": 98345, + "ĠresourceId": 98346, + "ogl": 98347, + "ÅĤaw": 98348, + ".Branch": 98349, + "ĉweb": 98350, + "Ġframerate": 98351, + "PPP": 98352, + "Ġfray": 98353, + "CNT": 98354, + "Ġinformatie": 98355, + "']čĊčĊ": 98356, + "neas": 98357, + "HeaderCode": 98358, + "Ġæ¸": 98359, + "Ġtrg": 98360, + "rawtypes": 98361, + "Honda": 98362, + "Ġmarketer": 98363, + "ĠrequestData": 98364, + "ĠPg": 98365, + "ĉnot": 98366, + "ĠpageInfo": 98367, + "Ġaktuellen": 98368, + "ãģķãĤĵ": 98369, + "ĠAMS": 98370, + "pushViewController": 98371, + "ĉAL": 98372, + "Ġvests": 98373, + "produce": 98374, + "-même": 98375, + "ĠRahman": 98376, + "Funny": 98377, + "EZ": 98378, + "_Valid": 98379, + "Ġsquadron": 98380, + "Ġlash": 98381, + "Ġirm": 98382, + "iasco": 98383, + "ĠParan": 98384, + "Ġpetites": 98385, + "ĠDecay": 98386, + "Ġuninitialized": 98387, + "privileged": 98388, + "Ġmbedtls": 98389, + "å¤ĩ注": 98390, + "Ġ^.": 98391, + "Ġecstatic": 98392, + "Detroit": 98393, + "Ġparten": 98394, + "Ġsouvenir": 98395, + ".getLogin": 98396, + "моÑĤÑĢ": 98397, + "enção": 98398, + "ĠmÃŃnimo": 98399, + "ĠAccessed": 98400, + "rió": 98401, + "Mic": 98402, + "ĠVocal": 98403, + ".SetString": 98404, + "Ġmensajes": 98405, + "åĢį": 98406, + "Ġattravers": 98407, + "ĠAph": 98408, + "Ġ');čĊ": 98409, + "ünde": 98410, + "Ġenchanted": 98411, + "ĠRootState": 98412, + "ĠCLOSED": 98413, + "ĉĉĉĉĉĉĉĉčĊ": 98414, + "Ġcaliente": 98415, + "orris": 98416, + "Ġphysicists": 98417, + "hwnd": 98418, + "_vi": 98419, + "Ġrápido": 98420, + "Ġcapitalized": 98421, + "edBy": 98422, + "Ġmachining": 98423, + "Ġhubby": 98424, + "ĠStacy": 98425, + ".Bus": 98426, + "drink": 98427, + "Hur": 98428, + "Ġpropia": 98429, + "UnitTest": 98430, + "Ġmisconception": 98431, + "__));Ċ": 98432, + "/dc": 98433, + "ĠMayweather": 98434, + "_mC": 98435, + ".createFrom": 98436, + "ĠQPainter": 98437, + "ropsych": 98438, + "innitus": 98439, + "ayas": 98440, + "Ġgeg": 98441, + "(dw": 98442, + "Ġusado": 98443, + "Ġtrickle": 98444, + "Ġannihil": 98445, + "ĠPasta": 98446, + "Ġ++Ċ": 98447, + "(ExpectedConditions": 98448, + ".postValue": 98449, + "icap": 98450, + "ĠDonetsk": 98451, + "_soup": 98452, + "-publish": 98453, + "ĠPb": 98454, + "mentions": 98455, + "ACCEPT": 98456, + ".Pull": 98457, + ",âĢĻâĢĻ": 98458, + "Ġretarded": 98459, + "_ATOM": 98460, + "ĠTerminator": 98461, + "-court": 98462, + "ĠCLLocationCoordinate": 98463, + "Ġreverence": 98464, + "ĠSSC": 98465, + "utely": 98466, + "ĠWON": 98467, + "ĠGSL": 98468, + "frei": 98469, + ".getLongitude": 98470, + "ĠopenFileDialog": 98471, + ".Butter": 98472, + "-important": 98473, + "_MANY": 98474, + "ĠGong": 98475, + "âĢľHow": 98476, + "Ġgorge": 98477, + "=msg": 98478, + "ĠEzek": 98479, + "createCommand": 98480, + ":checked": 98481, + "Ġinfographic": 98482, + ".WEST": 98483, + "Dirs": 98484, + "Ġguarda": 98485, + "Ġbeetle": 98486, + "Loading": 98560, + "_mA": 98561, + ".getRandom": 98562, + "blings": 98563, + "Ġcheeses": 98564, + "tti": 98565, + ".âĢ¢": 98566, + "ĠBurgess": 98567, + "enderit": 98568, + ".',čĊ": 98569, + "(\"\"+": 98570, + "acb": 98571, + "%p": 98572, + "indexed": 98573, + "_predicate": 98574, + "nesia": 98575, + "Ġbied": 98576, + "ĠCIT": 98577, + "(Pos": 98578, + "_radi": 98579, + "ä»·æł¼": 98580, + "Biz": 98581, + "ĠAdolescent": 98582, + "Ġviên": 98583, + "cycl": 98584, + "_Cancel": 98585, + "Ġconclusive": 98586, + "Ġappellate": 98587, + "informatics": 98588, + "SJ": 98589, + "Ġelective": 98590, + "roleId": 98591, + "Fetcher": 98592, + "ĉCommand": 98593, + "(\"(%": 98594, + "Ġfart": 98595, + "ILA": 98596, + "getBlock": 98597, + "AUSE": 98598, + "Ġдан": 98599, + "ĠArte": 98600, + "Ġnotifying": 98601, + "Ġgele": 98602, + ".same": 98603, + "ĠRegel": 98604, + "ĠBaÅŁ": 98605, + ".creation": 98606, + "ĠVN": 98607, + "_community": 98608, + "Ġunsustainable": 98609, + "SEX": 98610, + "ĠgridSize": 98611, + "rescia": 98612, + "aversable": 98613, + "(',')[": 98614, + "ĠPhelps": 98615, + "á»ķi": 98616, + "ANCELED": 98617, + "-IS": 98618, + ".runners": 98619, + "ĠStokes": 98620, + ".Produ": 98621, + "Ġwhipping": 98622, + "_acquire": 98623, + "Ġinvestigación": 98624, + "fried": 98625, + ".copyWith": 98626, + "ĠHardcover": 98627, + "-Se": 98628, + "áŀ¶áŀ": 98629, + "invitation": 98630, + "lesai": 98631, + "ĠDorm": 98632, + "ĠÑģпиÑģка": 98633, + "Ġconcatenated": 98634, + "ophil": 98635, + "Ġthinker": 98636, + "/fontawesome": 98637, + "ĠLeopard": 98638, + "Ġ\"/\");Ċ": 98639, + "Ġresiduals": 98640, + "ĠMicrowave": 98641, + "Ġconforme": 98642, + "throp": 98643, + "Ġdisemb": 98644, + "ĠOMG": 98645, + "ĠDiscipline": 98646, + "ĠAcrobat": 98647, + "/repository": 98648, + "dfa": 98649, + "_MED": 98650, + "bufio": 98651, + "Ġméthode": 98652, + "_HOLD": 98653, + "iasi": 98654, + "_legacy": 98655, + ")ččĊ": 98656, + "æ£Ģ": 98657, + "GetProcAddress": 98658, + "Ġyay": 98659, + "otence": 98660, + "orderid": 98661, + "-tw": 98662, + "Ġdearly": 98663, + "Incoming": 98664, + "/il": 98665, + "Ġneurop": 98666, + "ucz": 98667, + ");čččĊ": 98668, + "ĠInnovative": 98669, + "Ġprofund": 98670, + "igmat": 98671, + "SelectionMode": 98672, + "relevant": 98673, + ".GO": 98674, + "Ġbruises": 98675, + "Ġsach": 98676, + "odef": 98677, + "Ġreimb": 98678, + "/desktop": 98679, + "-spot": 98680, + "undance": 98681, + "Entropy": 98682, + "\\core": 98683, + "Ġsuger": 98684, + "ĠMvc": 98685, + "ĠGNOME": 98686, + "_indx": 98687, + "ĠYYSTYPE": 98688, + "ĠMatlab": 98689, + "ĠCIF": 98690, + "Ġ*))": 98691, + "ĠproductList": 98692, + "ĠAlright": 98693, + "acemark": 98694, + "ÑĤив": 98695, + "modification": 98696, + "international": 98697, + "Ġhomers": 98698, + "Ġdicts": 98699, + "ĠQFont": 98700, + ".SQLite": 98701, + "Ġtransplantation": 98702, + "ĠMessageBoxButton": 98703, + "ĠElves": 98704, + "']])Ċ": 98705, + "(QIcon": 98706, + "Ġcinemas": 98707, + "COORD": 98708, + "-China": 98709, + "Ġkhẩu": 98710, + "æĪijçļĦ": 98711, + "Ġskulls": 98712, + "Ġpainstaking": 98713, + "fce": 98714, + ".XRLabel": 98715, + "Ġspecifier": 98716, + "Ġpreferring": 98717, + "/activity": 98718, + "(Photo": 98719, + "ált": 98720, + ".lot": 98721, + "''.": 98722, + "annonce": 98723, + ".googlecode": 98724, + "-pdf": 98725, + "ĠPoke": 98726, + "_ACL": 98727, + "Ġendowed": 98728, + "discover": 98729, + ".omg": 98730, + "Ġwoodland": 98731, + ".Magic": 98732, + "Ġvolont": 98733, + "NotAllowed": 98734, + "Ġchave": 98735, + "BMW": 98736, + "','=',": 98737, + "ĠSIX": 98738, + "æĪij们": 98739, + "Ġkosher": 98740, + "Ġaspiration": 98741, + "intl": 98742, + "_refptr": 98743, + "'+Ċ": 98744, + "mentor": 98745, + ".club": 98746, + "WindowState": 98747, + ".ARR": 98748, + "Ġzza": 98749, + "ĠmessageType": 98750, + ".equ": 98751, + "Thor": 98752, + "Ġinjust": 98753, + "Ġgums": 98754, + "ĠborderSide": 98755, + "/////": 98756, + "ĠTransmit": 98757, + "Ġbufsize": 98758, + "Ġhak": 98759, + "Ġellas": 98760, + "RANDOM": 98761, + "ĉmc": 98762, + "Ġpea": 98763, + "eko": 98764, + "documento": 98765, + "Ġhysteria": 98766, + "Ġarenas": 98767, + "Ġgunmen": 98768, + "Ġmike": 98769, + "Ġimpunity": 98770, + "atisation": 98771, + "_Zero": 98772, + "_COMPANY": 98773, + "ĠGors": 98774, + "ĠuseClass": 98775, + "(redis": 98776, + "ĠRUNNING": 98777, + "ĠBair": 98778, + "velte": 98779, + "Ġ','.": 98780, + "аÑĤÑĮÑģÑı": 98781, + "öst": 98782, + "encodeURIComponent": 98783, + "_restrict": 98784, + "Ġdecals": 98785, + "ĠPedido": 98786, + "Ġaltercation": 98787, + "Displays": 98788, + "ĠApplicants": 98789, + "CUS": 98790, + "Textarea": 98791, + "ĠAngola": 98792, + ".future": 98793, + "ĠUSHORT": 98794, + "Ġsuppressing": 98795, + "Ġsetzen": 98796, + "APolynomial": 98797, + "Ġtoch": 98798, + "Ġhallmark": 98799, + "Ġ$$$": 98800, + "ĠCHARSET": 98801, + ".rpm": 98802, + "ĠDich": 98803, + "--------------------": 98804, + "_parm": 98805, + "è¿ĺ": 98806, + "acciones": 98807, + "hait": 98808, + "WARDED": 98809, + "_routing": 98810, + "ĠNOM": 98811, + "Ġenclave": 98812, + "ĠLotto": 98813, + "ĉfr": 98814, + "complexContent": 98815, + "ĠBallard": 98816, + "kube": 98817, + "/win": 98818, + ".getColumnModel": 98819, + "_REPLACE": 98820, + "HeaderValue": 98821, + "Ġestudiantes": 98822, + "Ġapis": 98823, + "Ġbpm": 98824, + "ĠTypeName": 98825, + "AndGet": 98826, + "rita": 98827, + "Plans": 98828, + ">Note": 98829, + "Ġfetisch": 98830, + "Ġtoned": 98831, + "_goto": 98832, + "onsense": 98833, + "Ġmolds": 98834, + "Ġinfiltration": 98835, + "ĠGuerrero": 98836, + "ubbo": 98837, + "cki": 98838, + "($(\".": 98839, + "_activities": 98840, + "(changes": 98841, + "ĠofApp": 98842, + "ĠKepler": 98843, + "ĠDemp": 98844, + "ĠContinent": 98845, + ".Ticks": 98846, + "ĠUnsigned": 98847, + "ĠJahres": 98848, + "Ġfreshmen": 98849, + "ĠArchived": 98850, + "ĠкоÑĤоÑĢÑĭй": 98851, + "Ġ'::": 98852, + "Tutorial": 98853, + "Cc": 98854, + "ĠtableLayoutPanel": 98855, + "fromJson": 98856, + ".levels": 98857, + "_transient": 98858, + "Ġendorsing": 98859, + "ĠDIC": 98860, + "lauf": 98861, + "Ġshred": 98862, + "_EMIT": 98863, + "ificantly": 98864, + "ALA": 98865, + "/proto": 98866, + "Ġnarrowing": 98867, + "Utc": 98868, + "Factors": 98869, + "Ġsentient": 98870, + "æŀIJ": 98871, + "lixir": 98872, + "ĠCROSS": 98873, + "meteor": 98874, + "Ġgroin": 98875, + "Ġmdb": 98876, + "ĠRotterdam": 98877, + "Ġcomida": 98878, + "ĠOpCode": 98879, + "ĠDefaultValue": 98880, + "PermissionsResult": 98881, + "Ġheterogeneous": 98882, + "Ġmoot": 98883, + "Ġdeceived": 98884, + "-independent": 98885, + "ĠObjectOutputStream": 98886, + "Ġoverpower": 98887, + ".dup": 98888, + "Ġldb": 98889, + "Ġdomestically": 98890, + "Ġbestellen": 98891, + "Ġlov": 98892, + "ĠContractors": 98893, + "Triangles": 98894, + "Ġfodder": 98895, + "Ġfilmes": 98896, + "ä¼ģ": 98897, + "Ġrevolver": 98898, + "StartupScript": 98899, + "/validation": 98900, + "ĠResourceType": 98901, + "iÅŁ": 98902, + "ĠLaz": 98903, + "fef": 98904, + "Ġlstm": 98905, + "{*": 98906, + ".attachment": 98907, + ".hits": 98908, + "ewith": 98909, + "DOG": 98910, + "Alabama": 98911, + "Ġmediums": 98912, + ".mContext": 98913, + "-cols": 98914, + "åıĭ": 98915, + ".notice": 98916, + "Ġattn": 98917, + "ĠPacking": 98918, + "ĠLn": 98919, + "_COMPLEX": 98920, + "/Users": 98921, + ".savetxt": 98922, + "ĠRounds": 98923, + "?,?,?,?,": 98924, + "Ġingl": 98925, + "ĠROC": 98926, + "_female": 98927, + "ĠStard": 98928, + "]];": 98929, + "Ġwrestlers": 98930, + "Ġtorrents": 98931, + "Ġsinh": 98932, + "ĊĊ": 98933, + "ë³µ": 98934, + "sense": 98935, + "however": 98936, + ".Physics": 98937, + "Infrastructure": 98938, + "ĠSacr": 98939, + "Fel": 98940, + "ĠDISTRIBUT": 98941, + "éments": 98942, + "ĠValidates": 98943, + "############################################################": 98944, + "Ġ|/": 98945, + "Ġesl": 98946, + "Ġréseau": 98947, + "ĠBip": 98948, + "BYTES": 98949, + "_WATER": 98950, + "Turning": 98951, + "ELS": 98952, + "Ġjuxtap": 98953, + "Ġlesbische": 98954, + "ých": 98955, + "(Unknown": 98956, + "Neo": 98957, + "@JsonProperty": 98958, + "Ġalumnos": 98959, + "ĠRaqqa": 98960, + "imei": 98961, + ".getBounds": 98962, + ".MouseEventHandler": 98963, + "#######": 98964, + "GenericType": 98965, + "/cms": 98966, + "Ġturno": 98967, + "Ġмин": 98968, + "Ġfolklore": 98969, + "ĠEvo": 98970, + "Ġconductivity": 98971, + "Ġleben": 98972, + "Ġgearbox": 98973, + "-vs": 98974, + "ĠÏĨ": 98975, + "Ġdrinkers": 98976, + "Ġconexao": 98977, + "ĠTeeth": 98978, + "ĠgetArguments": 98979, + "ĠRAT": 98980, + "entious": 98981, + "Educ": 98982, + "+W": 98983, + "ĠInstitutional": 98984, + "ĠBord": 98985, + "isEqual": 98986, + "(pwd": 98987, + "Ġignited": 98988, + "ĠRousse": 98989, + "Ġimpactful": 98990, + "ĠMalk": 98991, + "Ġgeral": 98992, + "ĠPivot": 98993, + "Ġazt": 98994, + "Ġcsvfile": 98995, + "ĠRope": 98996, + "ĠSOLUTION": 98997, + "ĠArbitrary": 98998, + "Ġletto": 98999, + ".MouseAdapter": 99000, + "Ġ}}}": 99001, + "ĠSailor": 99002, + "dera": 99003, + "Putting": 99004, + "Ġconcentrates": 99005, + "ĠauthDomain": 99006, + "âĢĿçļĦ": 99007, + "-finals": 99008, + ",strlen": 99009, + "Muon": 99010, + "ĠOrdinary": 99011, + "firefox": 99012, + "ĠLaTeX": 99013, + "ĠHund": 99014, + "engineering": 99015, + "/blue": 99016, + "edTextBox": 99017, + "(\"\");": 99018, + "ĠCDDL": 99019, + "kept": 99020, + "ĠGetString": 99021, + "Kir": 99022, + "()='": 99023, + "ĠOCD": 99024, + "antium": 99025, + "$menu": 99026, + "ĠAppalachian": 99027, + "Secretary": 99028, + "ë¥ĺ": 99029, + "ีย": 99030, + "Semantic": 99031, + "Ġ*[": 99032, + "estone": 99033, + "ungkin": 99034, + "MaxY": 99035, + "-tone": 99036, + "\"};čĊ": 99037, + "_Part": 99038, + "ĊĊ": 99240, + "Lic": 99241, + "ĠMirage": 99242, + "ĠAssemblyFileVersion": 99243, + "TeV": 99244, + "ĠValueEventListener": 99245, + "-solving": 99246, + "Tho": 99247, + "roulette": 99248, + "_WP": 99249, + "Ġuninterrupted": 99250, + "ĠfieldType": 99251, + ".Typed": 99252, + "Ġamour": 99253, + "Ġmockery": 99254, + "(vol": 99255, + "ĠSubcommittee": 99256, + "ĠRuf": 99257, + "erox": 99258, + ":UIButtonTypeCustom": 99259, + "ĠBlur": 99260, + "Ġwykon": 99261, + "nces": 99262, + "ASHBOARD": 99263, + "!!\");Ċ": 99264, + "Ġmurderers": 99265, + ".daily": 99266, + "ĠDIAG": 99267, + "jing": 99268, + "Ġdolphin": 99269, + "Ġlòng": 99270, + "Ġbö": 99271, + "ĠVocabulary": 99272, + ".StObject": 99273, + "')\">": 99274, + "Ġzun": 99275, + "Ġscrimmage": 99276, + "tréal": 99277, + "ĠLig": 99278, + "[vi": 99279, + "Cole": 99280, + "Ġfrosting": 99281, + ".Players": 99282, + "-translate": 99283, + "Feels": 99284, + "=\\\"/": 99285, + ".ButterKnife": 99286, + "Ġ?>;Ċ": 99287, + "Ġavi": 99288, + "innie": 99289, + ".Failure": 99290, + "Ġspindle": 99291, + "ConfigurationException": 99292, + "_hop": 99293, + "Ġposição": 99294, + "ĠAwait": 99295, + "UIImagePickerController": 99296, + "ĉday": 99297, + "Ġgenom": 99298, + "Cab": 99299, + "ĠÑĢезÑĥлÑĮÑĤаÑĤ": 99300, + "ORIGINAL": 99301, + "Ġejaculation": 99302, + "(tcp": 99303, + "SECOND": 99304, + "Ġtonic": 99305, + "ĠListBox": 99306, + "ĠĉĉĊ": 99307, + "()>Ċ": 99308, + "Ġquatre": 99309, + "ượng": 99310, + "withErrors": 99311, + ".Maybe": 99312, + ",â̦": 99313, + "tokenId": 99314, + "_UNDEF": 99315, + "Ġfreshness": 99316, + "ĠAmendments": 99317, + ".mapbox": 99318, + ".CV": 99319, + "(blog": 99320, + "_gettime": 99321, + ".quest": 99322, + "sparse": 99323, + "Ġresale": 99324, + "Ġenthusiastically": 99325, + "ĠProstitutas": 99326, + "Wa": 99327, + "Cargo": 99328, + ".Parcelable": 99329, + "SENSOR": 99330, + "ĠRyu": 99331, + "Laughs": 99332, + "_Native": 99333, + "/pg": 99334, + "ysts": 99335, + "Ġphotoc": 99336, + "ç®Ģ": 99337, + "adopt": 99338, + ".species": 99339, + "conciliation": 99340, + "Adjusted": 99341, + ".FirebaseAuth": 99342, + "uttle": 99343, + "ordination": 99344, + "Ġmunch": 99345, + "ĠStake": 99346, + ".ping": 99347, + "anker": 99348, + "(QStringLiteral": 99349, + "Ġsubscript": 99350, + "ĠĠĉĊ": 99351, + "ĠMCC": 99352, + "_Cmd": 99353, + "sexy": 99354, + "iou": 99355, + "ĠMANY": 99356, + "Ġnanny": 99357, + "TRAIN": 99358, + "Ġflourishing": 99359, + "ĠWatches": 99360, + "ĠQMap": 99361, + "ĠFerm": 99362, + "Ġwasm": 99363, + "ĠAbed": 99364, + "_UD": 99365, + "ĠGlasses": 99366, + "+v": 99367, + "Attend": 99368, + ".Chain": 99369, + "Ġdecency": 99370, + "ĠSupplementary": 99371, + "hunter": 99372, + "-txt": 99373, + "Ġ\"}\";Ċ": 99374, + ".setWindowTitle": 99375, + "(\"": 99477, + "Ġmascara": 99478, + "(Profile": 99479, + "åĬŁèĥ½": 99480, + "imité": 99481, + "Ġwildfires": 99482, + "-ROM": 99483, + ".isOn": 99484, + "(groupId": 99485, + "Repair": 99486, + "accumulate": 99487, + "Ġ<\",": 99488, + "Ġhandwritten": 99489, + "Ġacheter": 99490, + "ĠMGM": 99491, + "ĠIrma": 99492, + "->{_": 99493, + "gee": 99494, + "criminal": 99495, + "Ġèĭ¥è¦ģ": 99496, + "Ġmomentarily": 99497, + "\")!=": 99498, + "_lit": 99499, + "ĠexpiresIn": 99500, + ".\").": 99501, + "éķ¿åº¦": 99502, + "Ġfrække": 99503, + "vlc": 99504, + "Ġorbs": 99505, + "),$": 99506, + "Ġventured": 99507, + "/>\\": 99508, + "charm": 99509, + "Nuitka": 99510, + "eldig": 99511, + "atonin": 99512, + "Witness": 99513, + "-lat": 99514, + "ĠsetHidden": 99515, + "Ġrelics": 99516, + "Ġconsulate": 99517, + ".IGNORE": 99518, + "\"After": 99519, + "ĠsetAddress": 99520, + "Ġbesteht": 99521, + "Ġ'')ĊĊ": 99522, + ".xaxis": 99523, + "Ġserão": 99524, + "Ġmisled": 99525, + "_UNIFORM": 99526, + "ĠVIA": 99527, + "incr": 99528, + "Ġzenith": 99529, + "Ġviscosity": 99530, + "Ġthinly": 99531, + ".getSharedPreferences": 99532, + ".ErrorCode": 99533, + "\"),\"": 99534, + "ĠMillionen": 99535, + "Ġ/>)Ċ": 99536, + "ScrollIndicator": 99537, + "-seeking": 99538, + "ĠPOLITICO": 99539, + "asca": 99540, + "_rl": 99541, + "Navig": 99542, + "(fullfile": 99543, + "Ġsolitude": 99544, + "Ġjuven": 99545, + "Ġhauling": 99546, + "ĠMacros": 99547, + "ĠGry": 99548, + "Ġexercitation": 99549, + "ĠATTACK": 99550, + "TickCount": 99551, + "Ġrites": 99552, + "Ġdoe": 99553, + "ParticleSystem": 99554, + "Ġslu": 99555, + "WindowText": 99556, + "ĠClassName": 99557, + "Ġslander": 99558, + "ĉPort": 99559, + "jong": 99560, + "?a": 99561, + ".Dial": 99562, + "âĢĶat": 99563, + "$objPHPExcel": 99564, + "Ġsoar": 99565, + "ENN": 99566, + "appeared": 99567, + "Ġquotid": 99568, + "emachine": 99569, + "Ġnip": 99570, + "Ġmicrotime": 99571, + "ĠAlma": 99572, + ";!": 99573, + "------------------------------------------------------------------------------------------------": 99574, + "ĠPassage": 99575, + "Ġdumpsters": 99576, + "ĠExclude": 99577, + "Ġsuggestive": 99578, + "ĠCircularProgressIndicator": 99579, + "_clr": 99580, + "ArrayType": 99581, + "ILLA": 99582, + "ElapsedTime": 99583, + "Driven": 99584, + "ĠresourceName": 99585, + "ĠGarrison": 99586, + "serir": 99587, + "-ahead": 99588, + "Ġpinnacle": 99589, + "ĠEspresso": 99590, + "Sparse": 99591, + "Ġassays": 99592, + "ĠGirlfriend": 99593, + "imid": 99594, + "]='\\": 99595, + "ONGLONG": 99596, + "Ġportraying": 99597, + "Lane": 99598, + "Ġbúsqueda": 99599, + "Ġreinforcements": 99600, + "ĠSpreadsheet": 99601, + "ĠArrayCollection": 99602, + ",arr": 99603, + "lightbox": 99604, + "icana": 99605, + "<\"": 99606, + "builders": 99607, + "Kid": 99608, + "ĠMatSnackBar": 99609, + "EXPR": 99610, + "odcast": 99611, + "ĠFoundations": 99612, + "Ġinds": 99613, + "='${": 99614, + "Fizz": 99615, + "-functional": 99616, + "(workspace": 99617, + "Ġstemmed": 99618, + "_patches": 99619, + "ĠJarvis": 99620, + "READING": 99621, + "Ġdisrespectful": 99622, + "ĠQDom": 99623, + "Ġ${Ċ": 99624, + "estatus": 99625, + "Reached": 99626, + "!.ĊĊ": 99627, + "ILT": 99628, + "ĠNDEBUG": 99629, + "ĠCourage": 99630, + "birthdate": 99631, + "ĠTing": 99632, + "Ġutilizado": 99633, + "ánchez": 99634, + "Outdoor": 99635, + "Ġhandguns": 99636, + "RefCount": 99637, + "ÉĻ": 99638, + "romo": 99639, + "Ġtts": 99640, + ".She": 99641, + "ĠPane": 99642, + "ãĢij,ãĢIJ": 99643, + "ĠIOCTL": 99644, + "/black": 99645, + "inscription": 99646, + "Ġbiopsy": 99647, + "ĠTimeInterval": 99648, + ".TestCheck": 99649, + "ĠGUIStyle": 99650, + "ĠCapability": 99651, + "ĠBeitrag": 99652, + "donnees": 99653, + "Treatment": 99654, + ".backup": 99655, + "Ġsignings": 99656, + "ĠBoca": 99657, + "drm": 99658, + ".MAIN": 99659, + "Ġgoede": 99660, + "ĠMarkup": 99661, + "GREE": 99662, + "ĠBaseService": 99663, + ".Creator": 99664, + "Ġjails": 99665, + "ĠKahn": 99666, + "IpAddress": 99667, + "ACHI": 99668, + "Ġinhibited": 99669, + "Ġ@$_": 99670, + "ĠAssass": 99671, + "Ġenviado": 99672, + "Heroes": 99673, + "ÐŁÐµÑĢ": 99674, + "ĠMaven": 99675, + ".ls": 99676, + "Ġive": 99677, + "|RF": 99678, + "ĠresizeMode": 99679, + "Ġrumpe": 99680, + "_attachments": 99681, + "TU": 99682, + "Ġtactile": 99683, + "Attempting": 99684, + "Ġrobin": 99685, + "yaw": 99686, + "Ġmercenaries": 99687, + "ĠHabitat": 99688, + "enddate": 99689, + "Ġoxy": 99690, + "ĉRandom": 99691, + "ohon": 99692, + "IsNull": 99693, + "ĠValidationResult": 99694, + "ãĥļ": 99695, + "umbed": 99696, + "ppv": 99697, + "Ġarp": 99698, + "ichick": 99699, + "_rnn": 99700, + "ĠTFT": 99701, + "TexImage": 99702, + "\"On": 99703, + "ĠSampler": 99704, + "topl": 99705, + "Ġjane": 99706, + "yling": 99707, + "ĠUNICODE": 99708, + "TabIndex": 99709, + "<{Ċ": 99710, + "suspend": 99711, + "uvian": 99712, + ",application": 99713, + "олиÑĩеÑģÑĤво": 99714, + "yat": 99715, + "ezier": 99716, + "ĠCHUNK": 99717, + "ĠAdler": 99718, + "/Add": 99719, + "ĠKeyValue": 99720, + "Ġsposób": 99721, + "Sampling": 99722, + "chers": 99723, + "_AMD": 99724, + "Ru": 99725, + ".MustCompile": 99726, + "Nation": 99727, + "Assoc": 99728, + "Managing": 99729, + "ĠEngl": 99730, + "_GB": 99731, + "Ġsuccinct": 99732, + "Ġdisliked": 99733, + "ĠIke": 99734, + "Bulletin": 99735, + "_ARCHIVE": 99736, + "Proposal": 99737, + "Ġjogging": 99738, + ".CREATED": 99739, + "Ġchol": 99740, + "è£ħ": 99741, + "Į¨": 99742, + "-push": 99743, + "Ġreserva": 99744, + "corev": 99745, + "ètre": 99746, + "THR": 99747, + "Ġincompetence": 99748, + "Ġcharisma": 99749, + "æĦŁ": 99750, + "Ġ\"==": 99751, + "BTN": 99752, + "ĠLocator": 99753, + "ivet": 99754, + "('.')Ċ": 99755, + "ĠforIndexPath": 99756, + "ôme": 99757, + "Ġcapacit": 99758, + "waters": 99759, + "ĠWRONG": 99760, + "hoa": 99761, + "ĠMIPS": 99762, + "Ġemiss": 99763, + "ĠJacqueline": 99764, + "(cmp": 99765, + "Ġeens": 99766, + "Leo": 99767, + ".timing": 99768, + "CLUSION": 99769, + "Ġ(\"-": 99770, + "åĵĪ": 99771, + ".kode": 99772, + "ĠUndert": 99773, + "Ġbewild": 99774, + "ĠEssen": 99775, + ".hd": 99776, + "Ġrenegot": 99777, + "Ġmower": 99778, + "Ġlsp": 99779, + "Ġpenchant": 99780, + "Ġmanoe": 99781, + "Ġagli": 99782, + "Ġrecal": 99783, + "ĠOPERATION": 99784, + "(^)(": 99785, + "Ġν": 99786, + "ĠScoped": 99787, + "Ġ@\"Ċ": 99788, + "=label": 99789, + "[loc": 99790, + "Intl": 99791, + "ĠNz": 99792, + "tablet": 99793, + ".ColumnName": 99794, + "ĠscreenSize": 99795, + "DBus": 99796, + "cooked": 99797, + "-registration": 99798, + "âĢľOne": 99799, + "-non": 99800, + "ĠwiÄĻc": 99801, + "Ġcosta": 99802, + ".addTab": 99803, + ".conditions": 99804, + "ĠHess": 99805, + "MEMORY": 99806, + "ĠAvalanche": 99807, + "()}}Ċ": 99808, + "Ġtriplet": 99809, + "Ġlabyrinth": 99810, + "ĠNodeList": 99811, + "ĠNYT": 99812, + "Ġyeni": 99813, + "dff": 99814, + ".HtmlControls": 99815, + "AVIS": 99816, + "/Math": 99817, + "Ġmemcmp": 99818, + "اء": 99819, + "оÑģÑĮ": 99820, + "crap": 99821, + "(pages": 99822, + "Ġlxml": 99823, + "ĠQDateTime": 99824, + "_tcb": 99825, + "Ġopenid": 99826, + "Ġsynaptic": 99827, + "ĠMDMA": 99828, + "(slug": 99829, + "igmatic": 99830, + "enor": 99831, + "Ġcramped": 99832, + "GOP": 99833, + "ŃIJ": 99834, + ".isFile": 99835, + "ĠDifferential": 99836, + "Ġ=\"\";Ċ": 99837, + "ĉĉĉĠĠĠĠĉ": 99838, + "ĠCooke": 99839, + "ĉUFUNCTION": 99840, + "Ġperseverance": 99841, + "RelativeLayout": 99842, + "IMPORTANT": 99843, + "Ġexon": 99844, + "Ġон": 99845, + "ibase": 99846, + "(CONT": 99847, + "novation": 99848, + "ä½ķ": 99849, + "[sub": 99850, + "AdminController": 99851, + "HTTPHeader": 99852, + "crear": 99853, + "ĠNIR": 99854, + "ĠDropDownList": 99855, + "Ġvalide": 99856, + "Ġdehydration": 99857, + ".']": 99858, + "(WIN": 99859, + "Ġ...\\": 99860, + "Ġphotoshop": 99861, + "ĉInit": 99862, + "_cou": 99863, + "ĠtimeZone": 99864, + "darwin": 99865, + "romatic": 99866, + "NavigationItemSelectedListener": 99867, + "brates": 99868, + "]--;Ċ": 99869, + "Ġtragedies": 99870, + "ĠPediatrics": 99871, + "SMART": 99872, + "-API": 99873, + "ĠMessageLookup": 99874, + "ĉvo": 99875, + "Ġprejudices": 99876, + "ĠmA": 99877, + "Ups": 99878, + "ĠMISSING": 99879, + "ĉad": 99880, + "Cream": 99881, + "ĠTb": 99882, + "ĠMona": 99883, + "_ghost": 99884, + "ĉtypes": 99885, + "Emb": 99886, + "ĠDocumentary": 99887, + "');ĊĊĊĊ": 99888, + "Ġlup": 99889, + "_Reference": 99890, + "ĠBATCH": 99891, + "Ġintertwined": 99892, + "": 100015, + "Ġfoyer": 100016, + "'utilisation": 100017, + "ĠMüller": 100018, + "ĠFetish": 100019, + "ĠdefaultManager": 100020, + "Ġbacktrack": 100021, + "Bah": 100022, + "Explicit": 100023, + "_ASCII": 100024, + "ĠmActivity": 100025, + "(Msg": 100026, + "Ġê²Į": 100027, + "ĠTERMS": 100028, + "ĠAngie": 100029, + "HSV": 100030, + "ĠMosque": 100031, + ".Names": 100032, + "íĬ¼": 100033, + "reste": 100034, + "_parms": 100035, + "Ġgaping": 100036, + "Ġcropping": 100037, + "DataFrame": 100038, + "Ġresponsiveness": 100039, + "_undo": 100040, + "_tran": 100041, + ".terminate": 100042, + "Ġitaliane": 100043, + "Ġwalkthrough": 100044, + "Ġattractiveness": 100045, + "де": 100046, + "_STS": 100047, + "_learn": 100048, + "Ġchocolates": 100049, + "ierarchical": 100050, + "-thinking": 100051, + "Ġ)))": 100052, + "ishments": 100053, + ".Logf": 100054, + "ĠTMZ": 100055, + "ĠCanary": 100056, + "foil": 100057, + "ĠVaccine": 100058, + ".vx": 100059, + "ĠSurround": 100060, + "Intermediate": 100061, + "Ġiov": 100062, + "vais": 100063, + "';\";Ċ": 100064, + "ï½ŀĊĊ": 100065, + "éĢģæĸĻ": 100066, + "â̦it": 100067, + "Seats": 100068, + "Clar": 100069, + "Wars": 100070, + "ĠHutchinson": 100071, + "ĠHasan": 100072, + "!')ĊĊ": 100073, + "ĠRichie": 100074, + "cheiden": 100075, + "($('": 100076, + "York": 100077, + "Ġlids": 100078, + "Ġalphanumeric": 100079, + "ĠGlock": 100080, + ".shapes": 100081, + "Ġsparking": 100082, + "_epsilon": 100083, + "uplicated": 100084, + ".dirty": 100085, + "])==": 100086, + "ĠìľĦì¹ĺ": 100087, + "Ġscn": 100088, + "Ġ/****************************************************************": 100089, + "_PREVIEW": 100090, + "_HC": 100091, + "ielding": 100092, + "fgets": 100093, + "ĠAddison": 100094, + "ĠproductService": 100095, + "-figure": 100096, + "(retval": 100097, + "zano": 100098, + "Ġautob": 100099, + "ĉsd": 100100, + "_numer": 100101, + "ĠSetLastError": 100102, + "ĠFior": 100103, + "ificance": 100104, + "Untitled": 100105, + "Ġinfield": 100106, + "Ġ{}));Ċ": 100107, + "Ġspac": 100108, + "Ġrookies": 100109, + "(describing": 100110, + "ngen": 100111, + "ிà®": 100112, + ".rdf": 100113, + ".Mutex": 100114, + "Ġkneeling": 100115, + "ĠQE": 100116, + "setMax": 100117, + "ReadStream": 100118, + "Ġventas": 100119, + "sut": 100120, + "cmpeq": 100121, + ".WriteAllText": 100122, + "ĠExperienced": 100123, + "$__": 100124, + "Ġkaum": 100125, + "ĠLIS": 100126, + "Ġdocumentos": 100127, + "_HEALTH": 100128, + "icontains": 100129, + "Ġartisans": 100130, + "OWNER": 100131, + "Ġblinked": 100132, + "getDisplay": 100133, + "Ġtoen": 100134, + "ĠrowNum": 100135, + "Ġavril": 100136, + "Ġinvis": 100137, + "ĠKear": 100138, + "toBeInTheDocument": 100139, + "apur": 100140, + "Ġracked": 100141, + "ĠMcMaster": 100142, + "_ATTRIB": 100143, + "Haz": 100144, + "Ġfactura": 100145, + "/ts": 100146, + "ĠÑĢазмеÑĢ": 100147, + "Ġzf": 100148, + "Ġshortfall": 100149, + ".fasta": 100150, + "ĠCONSTANT": 100151, + ".managed": 100152, + "gems": 100153, + "SharedPointer": 100154, + "Ġblurry": 100155, + "brightness": 100156, + "(components": 100157, + "Ġ...\"ĊĊ": 100158, + "SELL": 100159, + "ĠIllustrator": 100160, + ".getChannel": 100161, + "Ġtrouvé": 100162, + "ysters": 100163, + "Ġvois": 100164, + "ĠLinden": 100165, + "Ġemojis": 100166, + "Ġbrawl": 100167, + "ĠMSR": 100168, + "ĠElo": 100169, + "ĠCroatian": 100170, + "PopupMenu": 100171, + "Lewis": 100172, + ".JWT": 100173, + "Ġastonished": 100174, + "Bush": 100175, + "(itemId": 100176, + "Ġdetachment": 100177, + "ĠEncore": 100178, + "å°Ķ": 100179, + "Ġrekl": 100180, + "Ġcram": 100181, + ")$/": 100182, + ".getHost": 100183, + "_recommend": 100184, + "-HT": 100185, + "_calibration": 100186, + "Authenticate": 100187, + ".firebaseapp": 100188, + "UNIX": 100189, + "ĉCamera": 100190, + "ĠHEAP": 100191, + "Ideal": 100192, + ".office": 100193, + "Ġgoofy": 100194, + "(Symbol": 100195, + "Ġjouer": 100196, + "_partitions": 100197, + "Ġrapidement": 100198, + "ĠGNUNET": 100199, + "idUser": 100200, + "Ġsupervise": 100201, + "(Contact": 100202, + "AWN": 100203, + "ãģĺ": 100204, + "Ġnaam": 100205, + "Ġaust": 100206, + "åľ¨çº¿": 100207, + "_softmax": 100208, + "AllowAnonymous": 100209, + "ammable": 100210, + "ROUTE": 100211, + "*D": 100212, + "Ġaden": 100213, + "ĠCristina": 100214, + "ĠCristiano": 100215, + "Ġbloodstream": 100216, + "subclass": 100217, + "_persona": 100218, + "CHILD": 100219, + "-know": 100220, + "ĠnavigationOptions": 100221, + "ĠZukunft": 100222, + "ĠPixar": 100223, + "Tyler": 100224, + "Ġunderworld": 100225, + "Ġsincerity": 100226, + "Ġdispenser": 100227, + "Ġkter": 100228, + "idders": 100229, + ".addNode": 100230, + "-checked": 100231, + "Ġkeyst": 100232, + "ĠWTO": 100233, + ".signals": 100234, + "Ġadventurer": 100235, + "ĠPang": 100236, + "\\R": 100237, + "=pos": 100238, + "Ġdispensaries": 100239, + "ĠCloset": 100240, + "(\"{\\\"": 100241, + "ideon": 100242, + "Ġnécessaire": 100243, + "()\"Ċ": 100244, + "_RECEIVED": 100245, + "Ġrésultats": 100246, + "Ġmoden": 100247, + "ĠIcelandic": 100248, + ";d": 100249, + ".allowed": 100250, + "(newUser": 100251, + "Ġmerciless": 100252, + ".WaitFor": 100253, + "Ġdaycare": 100254, + "ĠConveyor": 100255, + "ĠÙ": 100256, + "اÙ": 100257, + "าà¸": 100258, + "ÑŁ": 100259, + "ÑŁÑŁ": 100260, + "Ġà¸": 100261, + "à¹Ģà¸": 100262, + "iá»": 100263, + "ãĢĢãĢĢãĢĢãĢĢ": 100264, + "ĠاØ": 100265, + "à¥Ī": 100266, + "ĠãĢĢ": 100267, + "ÑĹ": 100268, + "iá»ĩ": 100269, + "ÑŁÑŁÑŁÑŁ": 100270, + "à¥ĩà¤Ĥ": 100271, + "Ñĸд": 100272, + "ार": 100273, + "ÙĨد": 100274, + "Ñĸв": 100275, + "Ġब": 100276, + "Ġà¤ľ": 100277, + "।": 100278, + "нÑĸ": 100279, + "à¤Ĺ": 100280, + "ĠØ¢": 100281, + "Ġन": 100282, + "ÑĶ": 100283, + "ĠÑĢа": 100284, + "Ġà¤ħ": 100285, + "ÑģÑĮ": 100286, + "Ġव": 100287, + "ÑĨÑĸ": 100288, + "Ġvá»": 100289, + "³Øª": 100290, + "Ġद": 100291, + "nÄĽ": 100292, + "Ġल": 100293, + "ĠãĢĢĠãĢĢ": 100294, + "à¥Ĥ": 100295, + "द": 100296, + "à¸Ńà¸ĩ": 100297, + "ÙĪÙĨ": 100298, + "व": 100299, + "aÅŁ": 100300, + "à¹Ĥ": 100301, + "ικ": 100302, + "Ġर": 100303, + "Ġви": 100304, + "à¥įय": 100305, + "ान": 100306, + "Ġاز": 100307, + "اÙĩ": 100308, + "Ľi": 100309, + "Ġhá»": 100310, + "à¥ĭà¤Ĥ": 100311, + "iế": 100312, + "ĠÄijá»": 100313, + "य": 100314, + "Ïį": 100315, + "Ġcá»§": 100316, + "Ġبر": 100317, + "ĠÙħÛĮ": 100318, + "ĠاÛĮ": 100319, + "Ġà¤Ĩ": 100320, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 100321, + "िय": 100322, + "ÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁ": 100323, + "ви": 100324, + "رد": 100325, + "нÑĥ": 100326, + "ÙĬÙĨ": 100327, + "ια": 100328, + "Ġत": 100329, + "Ñĩи": 100330, + "Ġà¤ķर": 100331, + "از": 100332, + "aÄŁ": 100333, + "Ġà¤ī": 100334, + "ब": 100335, + "ÏĦα": 100336, + "تر": 100337, + "Ùĩا": 100338, + "ระ": 100339, + "jÃŃ": 100340, + "Îij": 100341, + "аÑĤи": 100342, + "Ġà¤Ĺ": 100343, + "ĠÑĤа": 100344, + "ÚĨ": 100345, + "à¤ľ": 100346, + "าà¸Ļ": 100347, + "Ġà¤Ń": 100348, + "िà¤ķ": 100349, + "áv": 100350, + "ĠÚ¯": 100351, + "Ïİ": 100352, + "าย": 100353, + "Ġà¤Ķ": 100354, + "ÅĻÃŃ": 100355, + "اÙĪ": 100356, + "ĠÑī": 100357, + "Ġà¤Ķर": 100358, + "еннÑı": 100359, + "ĠÚ©Ùĩ": 100360, + "ड": 100361, + "ÏĦο": 100362, + "ει": 100363, + "Ġà¤ĩ": 100364, + "à¥įत": 100365, + "à¤Ł": 100366, + "Û±": 100367, + "ĠØĮ": 100368, + "Ïģο": 100369, + "ηÏĤ": 100370, + "ë¬": 100371, + "Ñĸн": 100372, + "iá»ģ": 100373, + "iên": 100374, + "ĠвÑĸд": 100375, + "dı": 100376, + "ÙĦÛĮ": 100377, + "Ġز": 100378, + "Ïģα": 100379, + "ĠÛĮ": 100380, + "าà¸ĩ": 100381, + "Ġthá»": 100382, + "Ġà¹Ģà¸": 100383, + "iá»ĩn": 100384, + "اÙĬ": 100385, + "аннÑı": 100386, + "ÑĢе": 100387, + "ÎŁ": 100388, + "åĴ": 100389, + "اش": 100390, + "ाल": 100391, + "ëħĦ": 100392, + "Ġय": 100393, + "Ġرا": 100394, + "़": 100395, + "Ñĥв": 100396, + "ÙĪÙħ": 100397, + "ĠعÙĦ": 100398, + "ία": 100399, + "à¥Īà¤Ĥ": 100400, + "à¥ģà¤": 100401, + "าม": 100402, + "Ġmá»Ļt": 100403, + "Ġà¤ı": 100404, + "ãĢĢãĢĢãĢĢ": 100405, + "Ġपर": 100406, + "ĠاÙĨ": 100407, + "ĠاÛĮÙĨ": 100408, + "ĠvỼi": 100409, + "Σ": 100410, + "à¤ļ": 100411, + "Û°": 100412, + "iá»ĥ": 100413, + "าà¸ģ": 100414, + "ÎĻ": 100415, + "اع": 100416, + "Ñĸй": 100417, + "à¹ģล": 100418, + "ÙĩاÛĮ": 100419, + "Ñĩа": 100420, + ".:.:": 100421, + "ÏĦη": 100422, + "ĠÎij": 100423, + "رÛĮ": 100424, + "Ġngh": 100425, + "να": 100426, + "à¹ĥà¸Ļ": 100427, + "ित": 100428, + "Ġκαι": 100429, + "ÏĦε": 100430, + "à¥įà¤Ł": 100431, + "μα": 100432, + "лÑĥ": 100433, + "ým": 100434, + "ÏĢο": 100435, + "à¥Ī।": 100436, + "ï¼¼": 100437, + "رÙĬ": 100438, + "ниÑħ": 100439, + "Ïģι": 100440, + "ÙĢ": 100441, + "ÑĢо": 100442, + "Ġà¤ļ": 100443, + "ात": 100444, + "اÙĤ": 100445, + "Ġश": 100446, + "ĠÄijá»Ļ": 100447, + "ého": 100448, + "iá»ģu": 100449, + "ศ": 100450, + "ÑĸлÑĮ": 100451, + "uyá»": 100452, + "Û²": 100453, + "ĠnÄĥ": 100454, + "Ïīν": 100455, + "ĠÏĦοÏħ": 100456, + "кий": 100457, + "íĸ": 100458, + "ĠÑīо": 100459, + "à¥įव": 100460, + "ĠاÙĦØ£": 100461, + "ائ": 100462, + "tı": 100463, + "ĠÏĦο": 100464, + "¬¬": 100465, + "ĠØ·": 100466, + "ÙħاÙĨ": 100467, + "ĠÎł": 100468, + "ди": 100469, + "ึ": 100470, + "िà¤ı": 100471, + "ãģ£ãģŁ": 100472, + "ÛĮÙħ": 100473, + "ÃŃnh": 100474, + "rav": 100475, + "ÄĽt": 100476, + "Îķ": 100477, + "ĠÑıк": 100478, + "çĤ": 100479, + "à¸Ńà¸Ļ": 100480, + "ãģ¦ãģĦ": 100481, + "िल": 100482, + "ÑĸÑĤ": 100483, + "за": 100484, + "áp": 100485, + "ध": 100486, + "Ġêµ": 100487, + "à¹ģละ": 100488, + "ÃŃch": 100489, + "ĠØ¢ÙĨ": 100490, + "تÙĩ": 100491, + "ĠÙħع": 100492, + "ний": 100493, + "Æ°á»Ľc": 100494, + "ĠاÙĦع": 100495, + "رب": 100496, + "ाम": 100497, + "ĠرÙĪ": 100498, + "é«": 100499, + "ıy": 100500, + "Ġhá»į": 100501, + "ÑĤÑĮÑģÑı": 100502, + "ĠÎļ": 100503, + "Ġà¤ĩस": 100504, + "_": 100505, + "ĠÚĨ": 100506, + "ĠÙĪØ§ÙĦ": 100507, + "íķĻ": 100508, + "ÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁ": 100509, + "Ġvý": 100510, + "िस": 100511, + "ững": 100512, + "سÛĮ": 100513, + "Ġìĥ": 100514, + "ाà¤Ĥ": 100515, + "、": 100516, + "à¹ĩà¸Ļ": 100517, + "Ġथ": 100518, + "larak": 100519, + "ây": 100520, + "tÄĽ": 100521, + "νο": 100522, + "ĠÙħÙĪ": 100523, + "Ġngưá»Ŀi": 100524, + "å¦": 100525, + "ÙĬد": 100526, + "ilir": 100527, + "اØŃ": 100528, + "ĠãĢ": 100529, + "Ùĭ": 100530, + "ĠÑĢоз": 100531, + "Ġй": 100532, + "Ġdụ": 100533, + "à¹Ģà¸Ľ": 100534, + "ัà¸ĩ": 100535, + "ле": 100536, + "ाय": 100537, + "ï¿£": 100538, + "ÙĪØ§ÙĨ": 100539, + "Ġthá»ĥ": 100540, + "ãĥ½": 100541, + "Ã¼ÅŁ": 100542, + "çŁ": 100543, + "Ġο": 100544, + "ĠΣ": 100545, + "ÛĮت": 100546, + "ัà¸ģ": 100547, + "Τ": 100548, + "Ġà¤ıà¤ķ": 100549, + "ĠÙĩÙħ": 100550, + "ìĽĶ": 100551, + "ĠÎľ": 100552, + "Ġà¸Ħ": 100553, + "¯¸": 100554, + "ارÛĮ": 100555, + "िन": 100556, + "Ġnhững": 100557, + "Ġnhư": 100558, + "иÑĤи": 100559, + "ãĥ³ãĥ": 100560, + "à¹Ģร": 100561, + "ĠÐĽ": 100562, + "ÑĢÑĸ": 100563, + "ád": 100564, + "üy": 100565, + "iye": 100566, + "ĠÎķ": 100567, + "Ġส": 100568, + "Ïĥη": 100569, + "Ġë¬": 100570, + "ï»": 100571, + "ण": 100572, + "ÎĹ": 100573, + "श": 100574, + "ĠÙħØŃ": 100575, + "ÙĦÙĬ": 100576, + "Ġμε": 100577, + "ĠpÅĻÃŃ": 100578, + "ÎĿ": 100579, + "à¥įष": 100580, + "tir": 100581, + "راÙĨ": 100582, + "ĠÄijá»ĭ": 100583, + "ĠкоÑĤ": 100584, + "кÑĢа": 100585, + "λο": 100586, + "ĠÏĦη": 100587, + "Ñīе": 100588, + "ÏĦικ": 100589, + "ัà¹ī": 100590, + "iết": 100591, + "αν": 100592, + "íĶ": 100593, + "киÑħ": 100594, + "ĠпоÑģ": 100595, + "tır": 100596, + "à¥įम": 100597, + "رÙģ": 100598, + "ÄĽl": 100599, + "à¤Ń": 100600, + "ové": 100601, + "Ġlá»": 100602, + "à¹Ħà¸Ķ": 100603, + "ãģªãģĦ": 100604, + "ษ": 100605, + "iá»ĩu": 100606, + "ξ": 100607, + "ĠعÙĦÙī": 100608, + "дÑĥ": 100609, + "Ġdụng": 100610, + "аÑĢа": 100611, + "ाद": 100612, + "ož": 100613, + "ÙĦÙĩ": 100614, + "ÙĦÙħ": 100615, + "ноÑĹ": 100616, + "Û±Û": 100617, + "à¸Ĥà¸Ńà¸ĩ": 100618, + "Ρ": 100619, + "à¥Ģà¤Ĥ": 100620, + "ĠпÑĸд": 100621, + "Ġफ": 100622, + "à¸ĺ": 100623, + "εÏĤ": 100624, + "ास": 100625, + "à¹ĥห": 100626, + "ова": 100627, + "تÛĮ": 100628, + "à¸Ńย": 100629, + "à¸į": 100630, + "ĠnÄĥm": 100631, + "ÏĦι": 100632, + "ÙĪÛĮ": 100633, + "ĠмÑĸ": 100634, + "ĠاÙħ": 100635, + "ÏĢÏĮ": 100636, + "Ġzá": 100637, + "à¤Ī": 100638, + "Ġà¤ĸ": 100639, + "ĠnÄĽ": 100640, + "cÃŃ": 100641, + "ÙĨÚ¯": 100642, + "Ñģи": 100643, + "ζ": 100644, + "ná": 100645, + "Ŀi": 100646, + "Å©": 100647, + "ئ": 100648, + "ĠاÙĦس": 100649, + "á»ijc": 100650, + "ẽ": 100651, + "اج": 100652, + "Ùħا": 100653, + "êµŃ": 100654, + "оÑİ": 100655, + "در": 100656, + "à¹Ģà¸ģ": 100657, + "à¸ł": 100658, + "áng": 100659, + "íķ©": 100660, + "ĠÏĦηÏĤ": 100661, + "ĠÑĸн": 100662, + "оÑĹ": 100663, + "à¥ĩश": 100664, + "à¸ĭ": 100665, + "à¥ĭà¤Ĺ": 100666, + "лÑĸ": 100667, + "ĠpÅĻed": 100668, + "ÄįnÃŃ": 100669, + "Ġка": 100670, + "ĠΤ": 100671, + "á»Ļi": 100672, + "vÃŃ": 100673, + "ÑĢÑı": 100674, + "à¤¾à¤ľ": 100675, + "аÑħ": 100676, + "िर": 100677, + "าส": 100678, + "dır": 100679, + "Ø¢": 100680, + "Îļ": 100681, + "ĠÎŃ": 100682, + "Ġtại": 100683, + "iá»ĩc": 100684, + "iến": 100685, + "Ġغ": 100686, + "اخ": 100687, + "ĠاÙĦØŃ": 100688, + "ĠбÑĥ": 100689, + "Ġvá»ģ": 100690, + "мÑĸ": 100691, + "ÙħÙĦ": 100692, + "mÄ±ÅŁ": 100693, + "à¸Ľà¸£à¸°": 100694, + "οÏį": 100695, + "εί": 100696, + "Ġरह": 100697, + "ним": 100698, + "عد": 100699, + "ĠباÙĦ": 100700, + "¤ij": 100701, + "çł": 100702, + "Ġolm": 100703, + "Ïİν": 100704, + "Ġhá»įc": 100705, + "است": 100706, + "าว": 100707, + "ÙĪØ¨": 100708, + "ÑĸÑı": 100709, + "ĠÙĩاÛĮ": 100710, + "ë§Ī": 100711, + "à¥Į": 100712, + "ĠÄĮ": 100713, + "à¤ı": 100714, + "ادÙĩ": 100715, + "ĠاÙĪ": 100716, + "нÑĭм": 100717, + "ằ": 100718, + "ÙħÙĨ": 100719, + "iá»ĩt": 100720, + "laÅŁ": 100721, + "Ñĸз": 100722, + "ÙĪØ³": 100723, + "ĠlÃłm": 100724, + "ĠÄijến": 100725, + "पन": 100726, + "ĠÛĮÚ©": 100727, + "ĠÙĦÙĦ": 100728, + "ĠmÄĽ": 100729, + "ĠبراÛĮ": 100730, + "ाह": 100731, + "ĠÙħر": 100732, + "eç": 100733, + "à¸Ńร": 100734, + "εÏģ": 100735, + "ัà¸Ķ": 100736, + "кон": 100737, + "nou": 100738, + "Ġгод": 100739, + "ูà¹ī": 100740, + "à¹Ģล": 100741, + "Úĺ": 100742, + "ĠÄijá»ĭnh": 100743, + "ĠÄijó": 100744, + "анов": 100745, + "ĠÙ쨱": 100746, + "ارد": 100747, + "ÑĸÑĹ": 100748, + "à¸Ħร": 100749, + "à¥įथ": 100750, + "cak": 100751, + "ÑĨÑĸÑĹ": 100752, + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ": 100753, + "Ùĩر": 100754, + "à¥ī": 100755, + "Ġgiá»": 100756, + "íĨ": 100757, + "âĢĮÙĩاÛĮ": 100758, + "à¥ģर": 100759, + "Ġà¸ģ": 100760, + "ÅĪ": 100761, + "æ¨": 100762, + "ÎŁÎ": 100763, + "าà¸Ħ": 100764, + "кÑĢаÑĹ": 100765, + "ảo": 100766, + "oÄŁ": 100767, + "Ġसम": 100768, + "Ġviá»ĩc": 100769, + "Ġsẽ": 100770, + "Ġná": 100771, + "ÙĬÙħ": 100772, + "£p": 100773, + "öy": 100774, + "ÙĪØ²": 100775, + "Ġκα": 100776, + "Ùħد": 100777, + "nÃŃm": 100778, + "ová": 100779, + "ाव": 100780, + "ा।": 100781, + "à¥įस": 100782, + "ç·": 100783, + "ặc": 100784, + "Ġà¸ŀ": 100785, + "ï½Ģ": 100786, + "ôi": 100787, + "Ġợ": 100788, + "οÏĤ": 100789, + "Ġtrên": 100790, + "мÑĥ": 100791, + "ÑģÑĮк": 100792, + "à¸Ł": 100793, + "ovat": 100794, + "Ġmá»": 100795, + "íı": 100796, + "Ġво": 100797, + "εν": 100798, + "à¥Ĥर": 100799, + "گاÙĩ": 100800, + "ĠÄijá»Ļng": 100801, + "Ú©ÙĨ": 100802, + "Ñīи": 100803, + "ĠпÑĢа": 100804, + "ürk": 100805, + "ÙĪØ¹": 100806, + "ấp": 100807, + "ný": 100808, + "Ġquan": 100809, + "ÑĸÑĩ": 100810, + "Ġνα": 100811, + "Ġनह": 100812, + "ĠÚ©ÙĨ": 100813, + "cı": 100814, + "çĿĢ": 100815, + "бо": 100816, + "Ġاس": 100817, + "è»": 100818, + "اÙĨÛĮ": 100819, + "à¸ķร": 100820, + "ÏĦά": 100821, + "ĠØ£ÙĨ": 100822, + "éĤ£": 100823, + "Ġม": 100824, + "кÑĤ": 100825, + "iê": 100826, + "Ġhợp": 100827, + "تÙħ": 100828, + "ĠبÙĨ": 100829, + "hod": 100830, + "ιÏĥ": 100831, + "หà¸Ļ": 100832, + "ĠÑĹ": 100833, + "лив": 100834, + "Ġکرد": 100835, + "ĠÙħØ´": 100836, + "اط": 100837, + "بÙĬ": 100838, + "Ġร": 100839, + "دÙħ": 100840, + "ÙĦاÙħ": 100841, + "à¹Īว": 100842, + "ĠÙĨÙħ": 100843, + "ĠæĹ": 100844, + "éħ": 100845, + "ноÑģÑĤ": 100846, + "iá»ĥm": 100847, + "êµIJ": 100848, + "ayı": 100849, + "ĠبÙĪØ¯": 100850, + "گر": 100851, + "Ġhiá»ĩn": 100852, + "ç³": 100853, + "ÑģÑĤвен": 100854, + "Ġà¤ķरन": 100855, + "ĠÏĦην": 100856, + "Ġà¸Ń": 100857, + "ĠÙħت": 100858, + "ģn": 100859, + "جÙħ": 100860, + "λλ": 100861, + "ĠÑĢе": 100862, + "ิà¸Ķ": 100863, + "ĠاÙĦÙĤ": 100864, + "αÏģ": 100865, + "Ġयह": 100866, + "nÃŃch": 100867, + "ÑĶÑĤÑĮÑģÑı": 100868, + "Ġà¸Ĺ": 100869, + "ÛĮØ´": 100870, + "ÅĻe": 100871, + "Ġnebo": 100872, + "ĠÑĩа": 100873, + "lou": 100874, + "ÑģÑĤво": 100875, + "ĠЧ": 100876, + "à¸Ħว": 100877, + "ÙĩÙħ": 100878, + "à¹Ģà¸Ķ": 100879, + "Ġà¹ģ": 100880, + "Ġà¹Ĥ": 100881, + "Û³": 100882, + "Å©ng": 100883, + "Ġnej": 100884, + "ÛĮÚ©": 100885, + "Ġsá»Ń": 100886, + "Ù쨱": 100887, + "Îł": 100888, + "Ġпок": 100889, + "ĠاÙĦÙĨ": 100890, + "ĠvÅ¡": 100891, + "ẫ": 100892, + "ĠnhÃł": 100893, + "ãĢĢãĢĢãĢĢãĢĢãĢĢ": 100894, + "ήÏĤ": 100895, + "οÏģ": 100896, + "ĠÏĩ": 100897, + "à¹Ģà¸Ĺ": 100898, + "ÑĥлÑĮ": 100899, + "ãħĩ": 100900, + "Ġyıl": 100901, + "ÑĢод": 100902, + "ίν": 100903, + "ìĹĪëĭ¤": 100904, + "اص": 100905, + "ĠÄijầu": 100906, + "à¥ĩà¤ķ": 100907, + "ÑĢом": 100908, + "ãģĵãģ¨": 100909, + "Ġار": 100910, + "她": 100911, + "ĠتØŃ": 100912, + "Å¡tÄĽ": 100913, + "à¥įल": 100914, + "à¥įà¤ķ": 100915, + "Ġکار": 100916, + "ujÃŃ": 100917, + "Ġà¤īन": 100918, + "ĠαÏĢÏĮ": 100919, + "ĠmÃł": 100920, + "žÃŃ": 100921, + "Ġà¸Ī": 100922, + "alı": 100923, + "फ": 100924, + "ÑĩеÑģ": 100925, + "ĠعÙĨ": 100926, + "æķĻ": 100927, + "ï¾Ĩ": 100928, + "िà¤Ĥ": 100929, + "Ġsá»±": 100930, + "воÑĢ": 100931, + "Ġthá»±c": 100932, + "ëį°": 100933, + "ãģ¦ãģĦãĤĭ": 100934, + "à¹Īà¸ĩ": 100935, + "تب": 100936, + "Ġnhiá»ģu": 100937, + "ĥn": 100938, + "ĠÄijá»ĵ": 100939, + "Ġห": 100940, + "Ûµ": 100941, + "mÄĽ": 100942, + "ạt": 100943, + "ĠchÃŃnh": 100944, + "μÎŃ": 100945, + "anı": 100946, + "Ġbá»ĭ": 100947, + "ằng": 100948, + "ÅĻed": 100949, + "éŁ": 100950, + "ánh": 100951, + "ÙĢÙĢ": 100952, + "ĠÙħس": 100953, + "á»ĭch": 100954, + "Äĥn": 100955, + "ovánÃŃ": 100956, + "à¹Īาà¸ĩ": 100957, + "Ġà¸Ľ": 100958, + "ĠnÆ°á»Ľc": 100959, + "боÑĤ": 100960, + "ıyor": 100961, + "ĠØ®ÙĪØ¯": 100962, + "Û¹": 100963, + "ĠÙħد": 100964, + "Ġüz": 100965, + "ì½": 100966, + "ÙĪÙĤ": 100967, + "르": 100968, + "лек": 100969, + "Ġcả": 100970, + "олог": 100971, + "à¹īà¸Ńà¸ĩ": 100972, + "miÅŁ": 100973, + "à¹īว": 100974, + "Ä©": 100975, + "Îľ": 100976, + "à¸Ńà¸ģ": 100977, + "__": 100978, + "à¤ĸ": 100979, + "ĠЯ": 100980, + "무": 100981, + "اÛĮÛĮ": 100982, + "ské": 100983, + "uyên": 100984, + "eÅŁ": 100985, + "ái": 100986, + "úng": 100987, + "Ãło": 100988, + "ÑĸÑģ": 100989, + "ç¶": 100990, + "Ġà¤Ĩप": 100991, + "ïº": 100992, + "ÎĽ": 100993, + "Ġê³µ": 100994, + "ĠÐĨ": 100995, + "Ġà¤ħपन": 100996, + "ứng": 100997, + "ÏĮÏĤ": 100998, + "Ġnghiá»ĩ": 100999, + "ĠاÙĦب": 101000, + "à¥ĭन": 101001, + "Ġà¤Ł": 101002, + "Ġìľł": 101003, + "ĠcÅ©ng": 101004, + "Ġà¤īस": 101005, + "Ġड": 101006, + "ĠشدÙĩ": 101007, + "ีà¹ī": 101008, + "Û´": 101009, + "ặt": 101010, + "æĸ¯": 101011, + "Ġëį": 101012, + "Ġпл": 101013, + "би": 101014, + "ê³Ħ": 101015, + "ον": 101016, + "Ġçık": 101017, + "Ġbulun": 101018, + "سÙħ": 101019, + "aç": 101020, + "اÙĨÙĩ": 101021, + "ÛĮز": 101022, + "leÅŁ": 101023, + "ắc": 101024, + "اک": 101025, + "Ġसà¤ķ": 101026, + "ĠоÑĢг": 101027, + "Ġà¸Ļ": 101028, + "ाथ": 101029, + "ĠÙħÙĤ": 101030, + "ĠÎĶE": 101031, + "ÑİÑĤÑĮ": 101032, + "á»Ļc": 101033, + "Ġη": 101034, + "sob": 101035, + "Ġtheo": 101036, + "åŀ": 101037, + "ĠاÙĦØ´": 101038, + "à¹Ģà¸ŀ": 101039, + "ÎŃÏĤ": 101040, + "à¹Ģà¸Ĥ": 101041, + "åĻ": 101042, + "िश": 101043, + "Ġباز": 101044, + "ÑĢоб": 101045, + "Ġγια": 101046, + "με": 101047, + "Ġباش": 101048, + "ाà¤ĩ": 101049, + "Ġquy": 101050, + "λε": 101051, + "اÙĥ": 101052, + "ĠÑĢок": 101053, + "ĠTürk": 101054, + "ĠÐ¥": 101055, + "ÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁ": 101056, + "æ©": 101057, + "Ġphải": 101058, + "à¸Ħวาม": 101059, + ":::": 101060, + "lÃŃ": 101061, + "Ġjsou": 101062, + "ÛĮÙĦ": 101063, + "álnÃŃ": 101064, + "ĶĶ": 101065, + "íĸī": 101066, + "æĥ³": 101067, + "lá": 101068, + "ĠÏĥÏħ": 101069, + "Ñĭва": 101070, + "Ġnhất": 101071, + "à¸Ńม": 101072, + "Û¸": 101073, + "ecek": 101074, + "ÑĸÑĢ": 101075, + "ÙĪØ´": 101076, + "λα": 101077, + "ĠÎĴ": 101078, + "оÑĢа": 101079, + "ÙģØª": 101080, + "edir": 101081, + "ÑĥÑħ": 101082, + "ä¸ĸ": 101083, + "ĠУкÑĢаÑĹ": 101084, + "ĠíĶ": 101085, + "άν": 101086, + "Ġشر": 101087, + "ĠاÙĦج": 101088, + "еÑĢед": 101089, + "ìĺģ": 101090, + "ĠhÃłnh": 101091, + " ̄ ̄": 101092, + "ме": 101093, + "ÑİÑĤÑģÑı": 101094, + "ĠØ¥ÙĦÙī": 101095, + "ìĹħ": 101096, + "Ġتر": 101097, + "ком": 101098, + "Ġشد": 101099, + "ĠاÙĦÙĥ": 101100, + "ĠÏĥÏĦο": 101101, + "à¥įद": 101102, + "볤": 101103, + "ÑĥваннÑı": 101104, + "Ġthì": 101105, + "ê´Ģ": 101106, + "κε": 101107, + "سب": 101108, + "íĥĢ": 101109, + "Ġï¼ı": 101110, + "Ġà¹ģละ": 101111, + "ĠÏĮ": 101112, + "ниÑĨ": 101113, + "ĠÐĿа": 101114, + "Ñıв": 101115, + "lü": 101116, + "ιο": 101117, + "ÙĨدÙĩ": 101118, + "ÙĦÙĥ": 101119, + "ĠngÃły": 101120, + "Ġnhân": 101121, + "Ġ^{": 101122, + "à¥ĥ": 101123, + "Ġgerek": 101124, + "ارÙĩ": 101125, + "ĠcÆ¡": 101126, + "Ġà¸ķ": 101127, + "æĤ": 101128, + "çͰ": 101129, + "à¥Īà¤Ĥ।": 101130, + "ัว": 101131, + "vÄĽ": 101132, + "öz": 101133, + "или": 101134, + "Ġpháp": 101135, + "ê¸Ī": 101136, + "ĠÎŁ": 101137, + "ĠpÅĻi": 101138, + "Ġìĸ´": 101139, + "Ġдол": 101140, + "ÙĪØ±Ø¯": 101141, + "à¹Ģม": 101142, + "Ïĥε": 101143, + "าà¸Ĺ": 101144, + "oÃłi": 101145, + "รม": 101146, + "Û¶": 101147, + "Ġà¸ļ": 101148, + "iyet": 101149, + "ÏĦαι": 101150, + "ìĦł": 101151, + "ĠεÏĢ": 101152, + "िव": 101153, + "ê¹Į": 101154, + "га": 101155, + "ĠÑģлÑĥ": 101156, + "Ġhình": 101157, + "ĠداÙĨ": 101158, + "Ġà¤Ĺय": 101159, + "ÙĬا": 101160, + "èij": 101161, + "à¤Ĥत": 101162, + "ĠساÙĦ": 101163, + "ëłĪ": 101164, + "lerin": 101165, + "à¥ĩत": 101166, + ".:.:.:.:": 101167, + "Ġëħ": 101168, + "ĠاÙĦØ¥": 101169, + "ảng": 101170, + "èĦ": 101171, + "ολ": 101172, + "пов": 101173, + "Ġθ": 101174, + "Û·": 101175, + "Ġnó": 101176, + "ĠdÃ¼ÅŁ": 101177, + "Ġtiế": 101178, + "ÙĪØ¬": 101179, + "Ġjsem": 101180, + "ạng": 101181, + "ãģĤãĤĭ": 101182, + "à¸Ńà¸ļ": 101183, + "ÙĪÙĬ": 101184, + "à¤ķर": 101185, + "Ġде": 101186, + "¯¼": 101187, + "Ġно": 101188, + "ÑĨÑĸй": 101189, + "ÏĥÏĦ": 101190, + "кие": 101191, + "Ïĥει": 101192, + "ìķĪ": 101193, + "ĠhÆ¡n": 101194, + "Ġà¤ķह": 101195, + "اض": 101196, + "ì¸": 101197, + "ãĥŁ": 101198, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 101199, + "ãĤĪãģĨ": 101200, + "ा,": 101201, + "еÑĢи": 101202, + "ë©°": 101203, + "íĶĦ": 101204, + "ĠпоÑģÑĤ": 101205, + "خر": 101206, + "à¥ĭत": 101207, + "âu": 101208, + "кой": 101209, + "daki": 101210, + "íħ": 101211, + "::::::::::::::::": 101212, + "Ġöz": 101213, + "ÑĢаж": 101214, + "nÃŃho": 101215, + "หล": 101216, + "ĠÏĥÏĦη": 101217, + "ĠÄijá»ģ": 101218, + "Ġká»": 101219, + "iá»ĥn": 101220, + "ÅĻi": 101221, + "Ġkteré": 101222, + "¢ħ": 101223, + "üç": 101224, + "ÙĬÙģ": 101225, + "Ġlý": 101226, + "Ġthá»Ŀi": 101227, + "ĠìĨĮ": 101228, + "нÑĮ": 101229, + "ÐĨ": 101230, + "ÑĤÑĢ": 101231, + "à¸ĩาà¸Ļ": 101232, + "коÑĹ": 101233, + "μο": 101234, + "Ġsür": 101235, + "uyá»ģn": 101236, + "ĠÙħا": 101237, + "à¤Ĥà¤Ĺ": 101238, + "ĠÄijá»ĵng": 101239, + "òn": 101240, + "à¥ģल": 101241, + "à¥įप": 101242, + "λη": 101243, + "Ùħر": 101244, + "пÑĢи": 101245, + "iyle": 101246, + "ाप": 101247, + "Ġà¤ħन": 101248, + "ĠÑĶ": 101249, + "Ġyön": 101250, + "ÙĦÙģ": 101251, + "adır": 101252, + "á½": 101253, + "Ġê³ł": 101254, + "خص": 101255, + "imiz": 101256, + "åľĭ": 101257, + "Ġнад": 101258, + "ĠÅĻ": 101259, + "ноÑģÑĤÑĸ": 101260, + "ĠاÙģ": 101261, + "анÑĸ": 101262, + "à¥ĩà¤Ł": 101263, + "Ġë§IJ": 101264, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 101265, + "ĠìĬ¤": 101266, + "ิà¸ķ": 101267, + "åĦ": 101268, + "ÛĮÙĩ": 101269, + "оÑĪ": 101270, + "žit": 101271, + "ìĭ¤": 101272, + "à¥Ģन": 101273, + "Ġî": 101274, + "æ¥Ń": 101275, + "à¥ĩन": 101276, + "Ġذ": 101277, + "Ġloại": 101278, + "à¹Ħà¸Ľ": 101279, + "Ñĸк": 101280, + "ĠкÑĢа": 101281, + "à¥ĭर": 101282, + "ุà¸Ķ": 101283, + "ĠاÙĦر": 101284, + "ĠÑģоб": 101285, + "าà¸Ĭ": 101286, + "Ġसà¤ķत": 101287, + "ĠÎĿ": 101288, + "اÙħÙĩ": 101289, + "à¹īาà¸Ļ": 101290, + "Ġtrình": 101291, + "ĠاÙĦÙģ": 101292, + "ĠاÙĦد": 101293, + "unun": 101294, + "оÑĤов": 101295, + "Æ°á»Ł": 101296, + "ĠÑģво": 101297, + "ίαÏĤ": 101298, + "ấn": 101299, + "огда": 101300, + "à¸Ĺย": 101301, + "Ġbyl": 101302, + "ØŃد": 101303, + "à¸ģล": 101304, + "بÙĩ": 101305, + "ĠvÄĽ": 101306, + "被": 101307, + "ĠØ¢Ùħ": 101308, + "ĠÄijiá»ģu": 101309, + "å¨": 101310, + "Ġkdy": 101311, + "ĠبÙĪ": 101312, + "ẫn": 101313, + "ìľł": 101314, + "ाà¤ķ": 101315, + "ků": 101316, + "Ġtrưá»Ŀng": 101317, + "ické": 101318, + "ниÑı": 101319, + "ĠÏĢοÏħ": 101320, + "Æ°á»Łng": 101321, + "номÑĥ": 101322, + "à¹Īà¸Ļ": 101323, + "ูà¹Ī": 101324, + "Ġkết": 101325, + "Ġï¼¼": 101326, + "Ġìĭł": 101327, + "iç": 101328, + "ĠnÄĥng": 101329, + "ÄįÃŃ": 101330, + "ÑĤÑı": 101331, + "ÑĢеб": 101332, + "Ùĭا": 101333, + "Ú¯ÛĮ": 101334, + "ãĥİ": 101335, + "ĠkarÅŁ": 101336, + "вÑĸ": 101337, + "Ġphần": 101338, + "à¸Īะ": 101339, + "ắt": 101340, + "رة": 101341, + "ิà¸ĩ": 101342, + "ิà¹Ī": 101343, + "ाà¤Ī": 101344, + "าà¸ŀ": 101345, + "ÙĨÛĮ": 101346, + "ìŰ": 101347, + "bÄĽ": 101348, + "ĠاÙĦص": 101349, + "íĹ": 101350, + "Ġسر": 101351, + "lara": 101352, + "ëĭ¨": 101353, + "ĠÙĤر": 101354, + "èİ": 101355, + "بد": 101356, + "Ġйого": 101357, + "à¥įह": 101358, + "Ġcách": 101359, + "íķĺê³ł": 101360, + "ĠÏĢÏģο": 101361, + "Ġتع": 101362, + "ĴĪ": 101363, + "Ġвод": 101364, + "ç¥ŀ": 101365, + "ким": 101366, + "Ġdá»±": 101367, + "à¹Ģห": 101368, + "ана": 101369, + "Ġï½": 101370, + "ĠbaÄŁ": 101371, + "Ġपह": 101372, + "Ġcao": 101373, + "ÏģÏĮ": 101374, + "ÙĨج": 101375, + "ाà¤ı": 101376, + "Ġå¹´": 101377, + "Ġnghiá»ĩp": 101378, + "Û²Û°": 101379, + "каÑı": 101380, + "Ïģί": 101381, + "Ġбол": 101382, + "Ġgiá": 101383, + "Ġзд": 101384, + "à¥ĩल": 101385, + "Ġcấp": 101386, + "à¹Ģส": 101387, + "Ïģγ": 101388, + "ĠìĤ": 101389, + "dÄĽ": 101390, + "à¥ģन": 101391, + "ìĪ": 101392, + "ılan": 101393, + "лаÑģ": 101394, + "Ġว": 101395, + "ĠÏĥε": 101396, + "ĠØ«": 101397, + "ĠЦ": 101398, + "çĤº": 101399, + "Ġbüy": 101400, + "еÑĨ": 101401, + "太": 101402, + "Ġबन": 101403, + "огÑĢа": 101404, + "ĠпÑĢоÑĤ": 101405, + "Ġlượng": 101406, + "Ġdön": 101407, + "รà¸ĩ": 101408, + "ало": 101409, + "ĠجÙħ": 101410, + "à¥Ī,": 101411, + "Ġ미": 101412, + "Ġê¹": 101413, + "ÙĪØª": 101414, + "à¥Ģय": 101415, + "à¸Īาà¸ģ": 101416, + "Ġchất": 101417, + "Ω": 101418, + "Ġkhác": 101419, + "Ġtháng": 101420, + "jÅ¡ÃŃ": 101421, + "ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł": 101422, + "á»ijt": 101423, + "หร": 101424, + "Ñĸл": 101425, + "åħī": 101426, + "åĤ": 101427, + "ÙĦØ©": 101428, + "Ġê±°": 101429, + "овоÑĢ": 101430, + "iá»ĥu": 101431, + "ĠмеÑĤ": 101432, + "аÑĶ": 101433, + "ĠÑĩаÑģ": 101434, + "Ïģε": 101435, + "ì¹´": 101436, + "âĢĮØ´": 101437, + "물": 101438, + "úc": 101439, + "âĢĮÙĩا": 101440, + "iá»ģn": 101441, + "stav": 101442, + "íŀ": 101443, + "ĠÙĨظ": 101444, + "ĨĴ": 101445, + "ĠÏĦα": 101446, + "Ġзаб": 101447, + "ÙĥØ©": 101448, + "ĠгÑĢÑĥ": 101449, + "во": 101450, + "ĠÙħج": 101451, + "Ġsah": 101452, + "بÙĦ": 101453, + "عة": 101454, + "ÑĥÑĪ": 101455, + "ĠÑĤем": 101456, + "íĭ": 101457, + "eck": 101458, + "ÏīÏĤ": 101459, + "ÙĬت": 101460, + "ìĹĪ": 101461, + "çĭ": 101462, + "ذا": 101463, + "ìłĢ": 101464, + "ĠнаÑģ": 101465, + "ĠпоÑĩ": 101466, + "æł¡": 101467, + "ÏĪ": 101468, + "Ñģкой": 101469, + "üc": 101470, + "ÙĤÙĦ": 101471, + "Ġпоз": 101472, + "ĠоÑģоб": 101473, + "าล": 101474, + "нÑĭми": 101475, + "олод": 101476, + "è¼": 101477, + "ĠدÛĮ": 101478, + "ĠÑĥÑģÑĤ": 101479, + "Ġ무": 101480, + "ÙĬس": 101481, + "ë°©": 101482, + "à¥įà¤ļ": 101483, + "ила": 101484, + "Ġnên": 101485, + "ние": 101486, + "ιν": 101487, + "larını": 101488, + "à¹Ģà¸Ļ": 101489, + "ÙĨت": 101490, + "aģı": 101491, + "ımız": 101492, + "ĠاÙĦØ®": 101493, + "à¹Ģว": 101494, + "à¥įन": 101495, + "ĠÏħ": 101496, + "ĠíĨ": 101497, + "ẻ": 101498, + "ิà¹Ĥ": 101499, + "αÏĤ": 101500, + "меÑĤ": 101501, + "Ġzp": 101502, + "Ġjeho": 101503, + "ียà¸Ļ": 101504, + "ÑĦоÑĢ": 101505, + "ınız": 101506, + "klad": 101507, + "íĮĮ": 101508, + "uyá»ĩ": 101509, + "ιά": 101510, + "ĠãĢģ": 101511, + "شر": 101512, + "æ©Ł": 101513, + "Ġتا": 101514, + "Ġзна": 101515, + "ستاÙĨ": 101516, + "à¥ĩर": 101517, + "매": 101518, + "çĥ": 101519, + "Ġже": 101520, + "าà¸Ķ": 101521, + "Ġض": 101522, + "éŃ": 101523, + "Ġназ": 101524, + "ĠÛĮا": 101525, + "ené": 101526, + "ัย": 101527, + "íĸĪëĭ¤": 101528, + "Ġبد": 101529, + "à¥ģà¤ķ": 101530, + "ÑĤов": 101531, + "ì°¨": 101532, + "Ùĩد": 101533, + "à¸Ķย": 101534, + "Ġhoặc": 101535, + "ĠÐŁÑĢи": 101536, + "ÙĨا": 101537, + "çİĭ": 101538, + "ÑĥваÑĤи": 101539, + "à¸ļร": 101540, + "Ġà¤ķरत": 101541, + "ÏĥηÏĤ": 101542, + "ؤ": 101543, + "éķ·": 101544, + "åħĭ": 101545, + "Ġدار": 101546, + "ัà¹Ī": 101547, + "Æ¡i": 101548, + "าà¸Ī": 101549, + "ými": 101550, + "ấu": 101551, + "Ġدست": 101552, + "kem": 101553, + "ĠоÑģнов": 101554, + "모": 101555, + "Ïģά": 101556, + "æħ": 101557, + "Ġاب": 101558, + "士": 101559, + "Ħĸ": 101560, + "ÎĶ": 101561, + "ÙĬÙĥ": 101562, + "íİ": 101563, + "Ġyüz": 101564, + "adı": 101565, + "าà¸ķ": 101566, + "ä»Ģ": 101567, + "ìĿ´ëĭ¤": 101568, + "Ġzv": 101569, + "ĠtÄĽ": 101570, + "Ġíĸ": 101571, + "थ": 101572, + "Ġलà¤Ĺ": 101573, + "ìĺĢ": 101574, + "Ġан": 101575, + "çĹ": 101576, + "ìĹŃ": 101577, + "нÑĸÑģÑĤÑĮ": 101578, + "Åŀ": 101579, + "Ġphát": 101580, + "ÙĤØ©": 101581, + "Ġthế": 101582, + "Ġï¾": 101583, + "ì²ľ": 101584, + "ĠìĦł": 101585, + "à¹ĥà¸Ĭ": 101586, + "iêu": 101587, + "ÄŁini": 101588, + "ÙĤد": 101589, + "Ġkterý": 101590, + "Ñģкий": 101591, + "à¥įड": 101592, + "tadır": 101593, + "ĠÑģм": 101594, + "ÙĪÙģ": 101595, + "ارÙĬ": 101596, + "å¾·": 101597, + "ิม": 101598, + "خت": 101599, + "å¾Ī": 101600, + "ĠгоÑĢ": 101601, + "ï¼ĮæĪij": 101602, + "Ġìĺģ": 101603, + "ĠëıĻ": 101604, + "Ñģа": 101605, + "à¹Ģà¸Ħ": 101606, + "민": 101607, + "ึà¹Ī": 101608, + "Ġliên": 101609, + "ĠÙĩا": 101610, + "lerini": 101611, + "ĠÑĨе": 101612, + "اÙĦÛĮ": 101613, + "Ġमह": 101614, + "Ġvụ": 101615, + "Ġxuất": 101616, + "ิà¸ģ": 101617, + "ĠпÑĢоÑĨ": 101618, + "Ġαν": 101619, + "ÑĢим": 101620, + "Ġcần": 101621, + "ĠиÑħ": 101622, + "ноÑİ": 101623, + "ĠtÃŃnh": 101624, + "Ġbá»Ļ": 101625, + "Ñĸм": 101626, + "ĠnháºŃn": 101627, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 101628, + "ÙĬÙĩ": 101629, + "äºļ": 101630, + "Ġобла": 101631, + "Ġà¤ĺ": 101632, + "ných": 101633, + "æĿij": 101634, + "ÙĦس": 101635, + "Ġнеоб": 101636, + "ابة": 101637, + "vá": 101638, + "οÏħν": 101639, + "ÑĢеÑĤ": 101640, + "asında": 101641, + "Ġyar": 101642, + "ĠÄijiá»ĥm": 101643, + "нÑİ": 101644, + "ाà¤Ĺ": 101645, + "ĠÚ©Ø´": 101646, + "Ñĥз": 101647, + "Ġà¸Ķ": 101648, + "ảm": 101649, + "ками": 101650, + "ĠÎĻ": 101651, + "à¹Ģà¸ķ": 101652, + "ĠlỼ": 101653, + "ÙĤÛĮ": 101654, + "kou": 101655, + "ÙĦب": 101656, + "ива": 101657, + "æĵ": 101658, + "ẹ": 101659, + "κα": 101660, + "ë²ķ": 101661, + "èĤ²": 101662, + "á»ijn": 101663, + "Ġbelir": 101664, + "íĨł": 101665, + "ÏĦή": 101666, + "ÑĭÑĪ": 101667, + "ãĤĥ": 101668, + "Ġабо": 101669, + "ský": 101670, + "à¥Īस": 101671, + "ĠпÑĢоÑģÑĤ": 101672, + "ektedir": 101673, + "až": 101674, + "à¹Īà¸Ń": 101675, + "ĠоÑģÑĤ": 101676, + "Ġbảo": 101677, + "Ġ大": 101678, + "Ñĭм": 101679, + "Ġmů": 101680, + "Æ°á»Ľng": 101681, + "åıĹ": 101682, + "ÙĪÙĩ": 101683, + "ĠÑĥп": 101684, + "ÙĥÙĨ": 101685, + "ĠÏĦÏīν": 101686, + "ëħ¸": 101687, + "Ġà¸Ĭ": 101688, + "ĠÑĤого": 101689, + "ĠШ": 101690, + "ìĿ´íĬ¸": 101691, + "à¹Ģà¸Ń": 101692, + "инÑĥ": 101693, + "ĺħ": 101694, + "uyá»ĥn": 101695, + "íĴĪ": 101696, + "ạnh": 101697, + "Ġãĥ½": 101698, + "ÑĤобÑĭ": 101699, + "Ġtạo": 101700, + "å·Ŀ": 101701, + "ĠÄijá»iji": 101702, + "ĠëıĦ": 101703, + "ä¹ħ": 101704, + "ĠتÙħ": 101705, + "аÑĢи": 101706, + "stvÃŃ": 101707, + "Ġcùng": 101708, + "íŀĪ": 101709, + "Ġtarih": 101710, + "ì¤ij": 101711, + "íĤ": 101712, + "ĠدÙĪ": 101713, + "ì¡": 101714, + "алÑĸ": 101715, + "à¸IJ": 101716, + "Ġcòn": 101717, + "иÑĤÑĮÑģÑı": 101718, + "Ġवह": 101719, + "ÅĻeb": 101720, + "鼻": 101721, + "Ġми": 101722, + "ovÄĽ": 101723, + "Ġdân": 101724, + "ÑĨÑĸÑı": 101725, + "ÛĮست": 101726, + "åѸ": 101727, + "Ġür": 101728, + "صÙĦ": 101729, + "ÑĢиÑĤ": 101730, + "าห": 101731, + "ãģ¦ãģĦãģŁ": 101732, + "θη": 101733, + "çĸ": 101734, + "ØŁ": 101735, + "iÅŁtir": 101736, + "ĠУкÑĢаÑĹни": 101737, + "ë°ĺ": 101738, + "à¥ĩà¤ĸ": 101739, + "Ġvá»ĭ": 101740, + "Î¥": 101741, + "ĠãĢĢĠãĢĢĠãĢĢ": 101742, + "Ġbằng": 101743, + "Ġtá»ķ": 101744, + "оли": 101745, + "à¹Ĩ": 101746, + "ezi": 101747, + "Ġни": 101748, + "ĠÎĽ": 101749, + "Ġrất": 101750, + "μÏĢ": 101751, + "жд": 101752, + "ारत": 101753, + "Ġuž": 101754, + "à¥ĩस": 101755, + "اÙĨد": 101756, + "Ġbý": 101757, + "à¥ĭल": 101758, + "dÄĽl": 101759, + "ìķĺ": 101760, + "Ġجد": 101761, + "å³": 101762, + "ืà¹ī": 101763, + "Ġbản": 101764, + "ạch": 101765, + "ĠÅŁey": 101766, + "ĠÙĩر": 101767, + "Ġjen": 101768, + "ĠвÑĸн": 101769, + "esinde": 101770, + "Ġहम": 101771, + "çłĶ": 101772, + "à¸ļà¸ļ": 101773, + "Ġchức": 101774, + "ึà¸ĩ": 101775, + "malar": 101776, + "ĠdeÄŁil": 101777, + "æĿ±": 101778, + "Ġtác": 101779, + "ĠkiÅŁ": 101780, + "Ġtá»±": 101781, + "à¥įध": 101782, + "à¸Ļà¸Ĺ": 101783, + "ÎŁÎ¥": 101784, + "ÑģÑĮкого": 101785, + "Ġध": 101786, + "ĠìĿĺ": 101787, + "ÙĨØ©": 101788, + "üs": 101789, + "è«": 101790, + "Ġtarafından": 101791, + "ħn": 101792, + "Ġkinh": 101793, + "Ïĥι": 101794, + "à¥Ģà¤ķ": 101795, + "íı¬": 101796, + "اÙħÙĦ": 101797, + "ĠViá»ĩt": 101798, + "ĠÏĦον": 101799, + "ĠتÙĨ": 101800, + "Ġà¤ħध": 101801, + "à¹Īาà¸Ļ": 101802, + "rı": 101803, + "à¤Ĥद": 101804, + "éª": 101805, + "Ġchúng": 101806, + "ги": 101807, + "ÏĦαν": 101808, + "Ġдоп": 101809, + "нÑĸй": 101810, + "оналÑĮ": 101811, + "Îĵ": 101812, + "Ġbüyük": 101813, + "á¼": 101814, + "à¥Ģर": 101815, + "ذÙĩ": 101816, + "ĠìķĦìĿ´": 101817, + "Ġdoanh": 101818, + "ĠÅĻÃŃ": 101819, + "ÑĨÑı": 101820, + "Ġtư": 101821, + "Ġसर": 101822, + "ĠmÃŃst": 101823, + "Ġë°ı": 101824, + "Ø´ÙĨ": 101825, + "Ñĸб": 101826, + "ĠãĢĢãĢĢ": 101827, + "çϽ": 101828, + "оÑģп": 101829, + "кÑĸв": 101830, + "Ġtế": 101831, + "ãģŃ": 101832, + "ĠtỼi": 101833, + "Ġìļ°": 101834, + "æľĥ": 101835, + "اÛĮد": 101836, + "æ§": 101837, + "ìłIJ": 101838, + "Ġdurum": 101839, + "à¹Ģà¸Ĭ": 101840, + "à¥Ģत": 101841, + "ĠÙĩÙĪ": 101842, + "à¥Ĥप": 101843, + "Ġgöre": 101844, + "ĠÑĢоб": 101845, + "Ġthiết": 101846, + "ajÃŃ": 101847, + "ĠاÛĮراÙĨ": 101848, + "âĢı": 101849, + "ÑģÑĮкоÑĹ": 101850, + "çħ": 101851, + "ĠìĦ¸": 101852, + "ừ": 101853, + "Ġà¸Ĥ": 101854, + "ům": 101855, + "ëŀĮ": 101856, + "ική": 101857, + "Ġмог": 101858, + "ÙĨÙĬ": 101859, + "ãģļ": 101860, + "ाब": 101861, + "æ¢": 101862, + "عÙĩ": 101863, + "ÑĶм": 101864, + "Ġά": 101865, + "οÏħÏĤ": 101866, + "زار": 101867, + "ê±´": 101868, + "ská": 101869, + "ĠاÙĬ": 101870, + "Ġilg": 101871, + "Ġsı": 101872, + "eleri": 101873, + "ĠÎĹ": 101874, + "uyor": 101875, + "ष": 101876, + "िम": 101877, + "ева": 101878, + "ä»Ģä¹Ī": 101879, + "ุà¹Ī": 101880, + "à¹īาà¸ĩ": 101881, + "Ġhiá»ĩu": 101882, + "Ġاع": 101883, + "Ġözel": 101884, + "νη": 101885, + "ëĦ¤": 101886, + "ĠtoÃłn": 101887, + "Ġmoh": 101888, + "ĠÑıкÑĸ": 101889, + "çĬ": 101890, + "maktadır": 101891, + "تاب": 101892, + "ĠÑģÑĥ": 101893, + "Ġyük": 101894, + "ĠΧ": 101895, + "зна": 101896, + "оÑħ": 101897, + "ưu": 101898, + "à¸Ĺร": 101899, + "ãħĭ": 101900, + "ĠkarÅŁÄ±": 101901, + "ÙħÛĮ": 101902, + "ĠÑĨÑĸ": 101903, + "ادÛĮ": 101904, + "à¥Ģ।": 101905, + "Ïģη": 101906, + "лов": 101907, + "夫": 101908, + "Ġphân": 101909, + "Ġпоп": 101910, + "ç·ļ": 101911, + "Ñıн": 101912, + "ุà¸ĵ": 101913, + "ÑģÑĤÑĥп": 101914, + "ίναι": 101915, + "ĠÑĢокÑĥ": 101916, + "larda": 101917, + "è»Ĭ": 101918, + "ÏģÏī": 101919, + "ÙĪØ§Ùĩ": 101920, + "èħ": 101921, + "à¥įरत": 101922, + "å·±": 101923, + "ĠÑĢÑĥ": 101924, + "Ġthá»ĭ": 101925, + "ĠÄijiá»ĩn": 101926, + "ìĸij": 101927, + "ného": 101928, + "สม": 101929, + "ê°ģ": 101930, + "acÃŃ": 101931, + "Ġгода": 101932, + "kaz": 101933, + "Ġböl": 101934, + "Ġgian": 101935, + "à¸Ľà¸£": 101936, + "ï¾ŀ": 101937, + "ัà¸ķ": 101938, + "Ġgerç": 101939, + "Ġاج": 101940, + "Ġή": 101941, + "ÙijÙİ": 101942, + "Ñģкого": 101943, + "ÑĢаÑħ": 101944, + "ĠÅł": 101945, + "Ġà¤Ľ": 101946, + "оÑģÑĤÑĸ": 101947, + "본": 101948, + "ÑģÑĮкий": 101949, + "Û±Û¹": 101950, + "Ñĥва": 101951, + "اÙĦÙħ": 101952, + "ĠÙħص": 101953, + "ëįĺ": 101954, + "bÃŃ": 101955, + "ĠÙĪØ¬": 101956, + "ÏĦÏĮ": 101957, + "ebilir": 101958, + "Ġtiếp": 101959, + "é¤": 101960, + "Ġä¸Ģ": 101961, + "ĠÑģÑĢед": 101962, + "ëĤ¨": 101963, + "εÏģι": 101964, + "اث": 101965, + "Ñģов": 101966, + "Ïĩε": 101967, + "Ġë¶Ħ": 101968, + "Ġtaké": 101969, + "Ġdüz": 101970, + "Ġíıī": 101971, + "Ġاص": 101972, + "ĠÏĥÏĦην": 101973, + "ë°Ķ": 101974, + "Ġhá»Ļi": 101975, + "رÙĩ": 101976, + "بÛĮ": 101977, + "ве": 101978, + "ĠاÙĦØ·": 101979, + "ĠÑĢез": 101980, + "بار": 101981, + "Ġgiải": 101982, + "ãģ«ãģª": 101983, + "oleÄį": 101984, + "à¤ł": 101985, + ";:": 101986, + "ä½ı": 101987, + "Ú©Ùĩ": 101988, + "ĠΦ": 101989, + "ĠÑĥÑĩ": 101990, + "âĹıâĹı": 101991, + "ูà¸ģ": 101992, + "à¥ĩव": 101993, + "Ïĥα": 101994, + "ĠاÙĨت": 101995, + "Ġвп": 101996, + "Ġquả": 101997, + "enin": 101998, + "ĠêµIJ": 101999, + "μά": 102000, + "کت": 102001, + "ÙĤÙĩ": 102002, + "ĠTürkiye": 102003, + "Ġthức": 102004, + "íĹĺ": 102005, + "iá»ĩm": 102006, + "Ġतà¤ķ": 102007, + "Ġéĩ": 102008, + "़ा": 102009, + "ĠØ£ÙĪ": 102010, + "ále": 102011, + "ç©¶": 102012, + "ĠÅŁekil": 102013, + "кого": 102014, + "ÑĪиÑħ": 102015, + "اÛĮØ´": 102016, + "تÙĨ": 102017, + "ней": 102018, + "à¸Ĺำ": 102019, + "ĠÑıв": 102020, + "رÙħ": 102021, + "Ġmáy": 102022, + "หม": 102023, + "ıyla": 102024, + "Ġcầu": 102025, + "Ġдоб": 102026, + "Ġìŀ¥": 102027, + "ový": 102028, + "ικÏĮ": 102029, + "Ġãħĩ": 102030, + "ĠÑĤеÑĢ": 102031, + "ĮĴ": 102032, + "سÙĬ": 102033, + "ĠoluÅŁ": 102034, + "Ġbyla": 102035, + "عÙĦ": 102036, + "ĠÙĥاÙĨ": 102037, + "боÑĢ": 102038, + "ì²Ń": 102039, + "ãĥı": 102040, + "ubl": 102041, + "Ġاخ": 102042, + "ÙĦÙĪØ¯": 102043, + "تÙĬ": 102044, + "ladı": 102045, + "ĠÃ¶ÄŁ": 102046, + "ruh": 102047, + "ç¿": 102048, + "Ġبعد": 102049, + "ÎĻÎij": 102050, + "idir": 102051, + "ãģ«ãģ¯": 102052, + "Ġsöy": 102053, + "Ġkhách": 102054, + "ÑĨе": 102055, + "ĠØ´ÙĪØ¯": 102056, + "ç¸": 102057, + "Ġëħ¸": 102058, + "úp": 102059, + "Ġneden": 102060, + "Ġhóa": 102061, + "Ġà¤īप": 102062, + "ÏĥειÏĤ": 102063, + "æĪ¿": 102064, + "Ġ³³": 102065, + "ĠìķĮ": 102066, + "à¥Ģ,": 102067, + "´ij": 102068, + "êu": 102069, + "ÑĢок": 102070, + "à¹Ģà¸Ī": 102071, + "Ġείναι": 102072, + "ĠبÙĦ": 102073, + "ĠÑģов": 102074, + "Ġönem": 102075, + "Ġà¸ĭ": 102076, + "ì§Ģë§Į": 102077, + "å®ĺ": 102078, + "격": 102079, + "ìĦĿ": 102080, + "Ġaž": 102081, + "Ġduy": 102082, + "ãģ¨ãģĦ": 102083, + "ØĽ": 102084, + "δο": 102085, + "θε": 102086, + "ÙĥاÙĨ": 102087, + "ढ": 102088, + "ाà¤ĵ": 102089, + "Ġdá»ĭch": 102090, + "á»Ļng": 102091, + "สำ": 102092, + "Äı": 102093, + "ĠÑĹÑħ": 102094, + "αλ": 102095, + "eÄį": 102096, + "ç²¾": 102097, + "Ġзв": 102098, + "èĩªå·±": 102099, + "ĠاÙĦÙĦÙĩ": 102100, + "ĠСÑĤ": 102101, + "ĠسÙĨÚ¯": 102102, + "Ġдом": 102103, + "гоÑĤов": 102104, + "повÑĸд": 102105, + "ĠBá»Ļ": 102106, + "à¥įयà¤ķ": 102107, + "طة": 102108, + "мов": 102109, + "à¸Ĺาà¸ĩ": 102110, + "ึà¸ģ": 102111, + "ĠÑĸз": 102112, + "à¥ĭà¤ľ": 102113, + "Ġgöster": 102114, + "Ġباشد": 102115, + "ileri": 102116, + "ĠÑģеб": 102117, + "Ñīо": 102118, + "Ġãħĩãħĩ": 102119, + "بت": 102120, + "Ñģе": 102121, + "à¥ĩà¤ľ": 102122, + "Ġlên": 102123, + "ĠتÙĪ": 102124, + "ÑĸÑģÑĤÑĮ": 102125, + "ï¾Ĩï¾Ĩ": 102126, + "Ġthưá»Ŀng": 102127, + "ĠolduÄŁu": 102128, + "vÄĽt": 102129, + "ìĨį": 102130, + "ãģĿãģĨ": 102131, + "ĠìĦ±": 102132, + "ë°ľ": 102133, + "Ġà¸ģาร": 102134, + "ĠØ´Ùĩر": 102135, + "sled": 102136, + "ảnh": 102137, + "æŀĹ": 102138, + "lacak": 102139, + "Ġmình": 102140, + "Ú©ÛĮ": 102141, + "Ġà¹ĥà¸Ļ": 102142, + "Ġdùng": 102143, + "ĠмаÑģ": 102144, + "ÑĦек": 102145, + "æ°Ķ": 102146, + "é§": 102147, + "ĠاØŃ": 102148, + "èµ°": 102149, + "ÎĻÎļ": 102150, + "à¥ĩ।": 102151, + "ÑģÑĮка": 102152, + "ĠÑĩаÑģÑĤ": 102153, + "larının": 102154, + "Ġê¹Ģ": 102155, + "층": 102156, + "ними": 102157, + "èªŀ": 102158, + "åĢĭ": 102159, + "ĠêµŃ": 102160, + "коÑĢ": 102161, + "maya": 102162, + "ิà¹Ĥà¸Ļ": 102163, + ".ศ": 102164, + "Ġhá»ĩ": 102165, + "ĠتÙĤ": 102166, + "γκ": 102167, + "Ġà¤Ĩपà¤ķ": 102168, + "ÑģÑĤоÑĢ": 102169, + "ĠÄijo": 102170, + "Ġchá»§": 102171, + "اÛĮت": 102172, + "ĠQuá»ijc": 102173, + "глÑı": 102174, + "ãĢĤãĢįĊĊ": 102175, + "ĠnÃło": 102176, + "à¸Ńล": 102177, + "æĬĬ": 102178, + "ÙĪØ±Øª": 102179, + "Ġbude": 102180, + "æĽ¸": 102181, + "elik": 102182, + "ĠجÙĩ": 102183, + "ĠبÙĪØ§Ø¨Ø©": 102184, + "èĬ±": 102185, + "دار": 102186, + "Ġbýt": 102187, + "Ñĩе": 102188, + "ãĤĵãģł": 102189, + "ĠÙħØ·": 102190, + "lere": 102191, + "ÎĹΣ": 102192, + "íĺķ": 102193, + "âĸį": 102194, + "ÄŁu": 102195, + "Ġвз": 102196, + "ÙĬز": 102197, + "ĠÐłÐ¾Ñģ": 102198, + "íĭ°": 102199, + "Ġداش": 102200, + "ì§ij": 102201, + "atı": 102202, + "mesi": 102203, + "ãĤīãĤĮ": 102204, + "ův": 102205, + "rát": 102206, + "оÑģоб": 102207, + "åIJĦ": 102208, + "uyá»ĩn": 102209, + "åģļ": 102210, + "üst": 102211, + "éĩİ": 102212, + "αÏĥ": 102213, + "Ġmặt": 102214, + "елов": 102215, + "åįļ": 102216, + "дж": 102217, + "Ġدارد": 102218, + "Ġfark": 102219, + "à¹īวย": 102220, + "они": 102221, + "Ġبخ": 102222, + "à¥ģत": 102223, + "ĠÄijây": 102224, + "αÏģα": 102225, + "Ġδια": 102226, + "Ġè¯": 102227, + "каÑħ": 102228, + "cház": 102229, + "zenÃŃ": 102230, + "ÑĢоп": 102231, + "à¥Ģम": 102232, + "íĨµ": 102233, + "dü": 102234, + "à¸łà¸²à¸ŀ": 102235, + "ĠíĬ": 102236, + "ÙĪØ§": 102237, + "Ġtá»ijt": 102238, + "ï¼ŁãĢįĊĊ": 102239, + "ĠæľĪ": 102240, + "Ġnhưng": 102241, + "Ġnež": 102242, + "à¥ĭड": 102243, + "ìĹIJê²Į": 102244, + "à¤Ĥड": 102245, + "¶Į": 102246, + "ĠмеÑģÑĤ": 102247, + "ाà¤ģ": 102248, + "ì¦Ŀ": 102249, + "ĠÄijang": 102250, + "à¸Ńà¸Ķ": 102251, + "íĽĦ": 102252, + "á»įi": 102253, + "ského": 102254, + "Ġдок": 102255, + "Ġتص": 102256, + "Ġphòng": 102257, + "Ġê°ķ": 102258, + "ĠtrÆ°á»Ľc": 102259, + "íijľ": 102260, + "ÙĶ": 102261, + "ĠphÃŃ": 102262, + "Ġchá»įn": 102263, + "ä¹IJ": 102264, + "ĠÅŁekilde": 102265, + "Ġíİ": 102266, + "éº": 102267, + "루": 102268, + "à¥Ī।Ċ": 102269, + "ÙĪØ±ÛĮ": 102270, + "ÑģÑĤÑĢа": 102271, + "ildi": 102272, + "ĠαÏħ": 102273, + "ваннÑı": 102274, + "ìļ¸": 102275, + ".âĢľĊĊ": 102276, + "ĠÑĤакже": 102277, + "ëĵ±": 102278, + "ека": 102279, + "æīį": 102280, + "ÙħØ©": 102281, + "Ġphương": 102282, + "马": 102283, + "ãĢĢĠãĢĢ": 102284, + "ových": 102285, + "ียà¸ĩ": 102286, + "ĠTru": 102287, + "еÑģп": 102288, + "stup": 102289, + "ÄĮ": 102290, + "ĠdalÅ¡ÃŃ": 102291, + "زÛĮ": 102292, + "Ġ매": 102293, + "ĠобÑĢаз": 102294, + "Ġaçık": 102295, + "ê°ķ": 102296, + "ÙģØ§Ø¯Ùĩ": 102297, + "گاÙĨ": 102298, + "à¹īà¸Ļ": 102299, + "ẩn": 102300, + "å·¥ä½ľ": 102301, + "Ġतर": 102302, + "ÙĬع": 102303, + "ĠãĢĬ": 102304, + ",âĢľ": 102305, + "Ġnev": 102306, + "ัà¸į": 102307, + "ģını": 102308, + "Ġjin": 102309, + "اخت": 102310, + "سر": 102311, + "ĠtÃłi": 102312, + "Ġkterá": 102313, + "ĠاÙĦÙĦ": 102314, + "à¤ħ": 102315, + "izmet": 102316, + "à¥ģम": 102317, + "าะ": 102318, + "Ġê·": 102319, + "lıģı": 102320, + "çı¾": 102321, + "liÄŁi": 102322, + "êµ°": 102323, + "alık": 102324, + "ĠدÙĪØ±": 102325, + "Ġìĭ¤": 102326, + "ĠзаÑģ": 102327, + "ÙĤÙĬ": 102328, + "Ġứng": 102329, + "ĠÙĥÙĩ": 102330, + "ÎŁÎ£": 102331, + "è¨Ń": 102332, + "çĮ": 102333, + "ãģĦãģŁ": 102334, + "íĺĦ": 102335, + "ĠÑĤе": 102336, + "еÑĢÑĸ": 102337, + "sız": 102338, + "Ġý": 102339, + "дов": 102340, + "Ġà¤ĩसà¤ķ": 102341, + "год": 102342, + "Ġbylo": 102343, + "าà¸Ħม": 102344, + "ением": 102345, + "Ш": 102346, + "æľ¯": 102347, + "Ġपहल": 102348, + "ĠaÅŁ": 102349, + "à¤¿à¤ľ": 102350, + "åĵ¡": 102351, + "ваÑĢ": 102352, + "à¹īำ": 102353, + "âĮĴ": 102354, + "ován": 102355, + "Ġgiúp": 102356, + "Ð¥": 102357, + "ĠÑģÑĥд": 102358, + "Ġà¤ķम": 102359, + "ạm": 102360, + "رس": 102361, + "Ġ人": 102362, + "ĠبÛĮ": 102363, + "Ġà¤īनà¤ķ": 102364, + "립": 102365, + "áºŃy": 102366, + "ĠváºŃt": 102367, + "лÑıеÑĤÑģÑı": 102368, + "Ġseç": 102369, + "Ġì½": 102370, + "ÑĢÑĥж": 102371, + "تص": 102372, + "|:": 102373, + "Ġëł": 102374, + "ими": 102375, + "ĠлÑİб": 102376, + "Ġà¸ľ": 102377, + "ï¼Įä½Ĩ": 102378, + "Ġнав": 102379, + "â̬": 102380, + "à¹Īาย": 102381, + "Ġرس": 102382, + "siniz": 102383, + "ë¨": 102384, + "ениÑİ": 102385, + "Ġล": 102386, + "اسÛĮ": 102387, + "à¥ľ": 102388, + "ĠÙ¾ÛĮØ´": 102389, + "ίδ": 102390, + "ĠÙ¾ÛĮ": 102391, + "еÑĢжав": 102392, + "à¤Ĩ": 102393, + "ĠdÃ¼ÅŁÃ¼n": 102394, + "å¿«": 102395, + "ÑĢеÑģ": 102396, + "åħ«": 102397, + "ÑĤÑĸ": 102398, + "à¤¿à¤Ł": 102399, + "ĠÑĤеÑħ": 102400, + "út": 102401, + "ÙĨÙĩ": 102402, + "ĠÙĨØ´": 102403, + "çĻº": 102404, + "Ġê°¤": 102405, + "лед": 102406, + "Ġëĵ¤": 102407, + "Ġbilg": 102408, + "ĠspoleÄį": 102409, + "ĠÄijÆ¡n": 102410, + "Ġà¤īत": 102411, + "Ġtrá»ĭ": 102412, + "ĠعÙħ": 102413, + "Ġ।": 102414, + "ĠúÄį": 102415, + "ãģ¸": 102416, + "วà¸ģ": 102417, + "ĠÑģлÑĥÑĩа": 102418, + "á»įng": 102419, + "åıĪ": 102420, + "иÑĤÑĥ": 102421, + "æľīéĻIJ": 102422, + "린": 102423, + "ëĭĺ": 102424, + "Ġhoạt": 102425, + "ĠìĿ´ëıĻ": 102426, + "знаÑĩ": 102427, + "ĠاستÙģØ§Ø¯Ùĩ": 102428, + "ĠпÑĢоÑĨеÑģ": 102429, + "anın": 102430, + "гÑĥ": 102431, + "ĠاÙĦØ«": 102432, + "æĹ¥æľ¬": 102433, + "ικά": 102434, + "ĠÑĹÑĹ": 102435, + "ì§ģ": 102436, + "inu": 102437, + "Ġساز": 102438, + "ãĤ¡": 102439, + "ï¾ī": 102440, + "ĠاÙĤ": 102441, + "Ġkế": 102442, + "ůsob": 102443, + "à¹ĩà¸ģ": 102444, + "åIJ§": 102445, + "æ¼Ķ": 102446, + "Ñīие": 102447, + "çĨ": 102448, + "ÑĮого": 102449, + "à¥ĭà¤Ł": 102450, + "اپ": 102451, + "室": 102452, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 102453, + "Ġtriá»ĥn": 102454, + "ĠtáºŃp": 102455, + "é£Ł": 102456, + "ë¹": 102457, + "ĠÑĩеÑĢез": 102458, + "ĠÑĨи": 102459, + "ÑģÑĥ": 102460, + "Ġнем": 102461, + "ĠаÑĢ": 102462, + "ĠÙĦا": 102463, + "Ġì§Ħ": 102464, + "çŁ³": 102465, + "ĠпÑĢоб": 102466, + "ĠìĽIJ": 102467, + "ÛĮÙĨÛĮ": 102468, + "ÑİÑĩи": 102469, + "âĢį": 102470, + "Û±Û³": 102471, + "ãĤ¬": 102472, + "çłĶç©¶": 102473, + "íĤ¤": 102474, + "Ġgerçek": 102475, + "ĠØŃس": 102476, + "íͼ": 102477, + "èĤ¡": 102478, + "ĠÏĦι": 102479, + "ĠvÅ¡ech": 102480, + "Ġvì": 102481, + "اÙĨÙĬ": 102482, + "ĠÙĩست": 102483, + "ĠëĤ¨": 102484, + "ÅĻej": 102485, + "еÑĢг": 102486, + "Ġsöz": 102487, + "ĠاÙĦÙħت": 102488, + "Ġchế": 102489, + "á»ĵi": 102490, + "åı¤": 102491, + "âĸįâĸį": 102492, + "á»ĵng": 102493, + "ãĥ¢": 102494, + "Ġди": 102495, + "ελ": 102496, + "Ġона": 102497, + "Ġнай": 102498, + "Ġ_{": 102499, + "пол": 102500, + "aliz": 102501, + "ĠtÄĥng": 102502, + "ĠdÃŃ": 102503, + "ép": 102504, + "ĠÙĦÙħ": 102505, + "Ġmož": 102506, + "ĠngoÃłi": 102507, + "èĹ": 102508, + "ĠÑĩем": 102509, + "ĠÄijá»ķ": 102510, + "еÑĤа": 102511, + "åı²": 102512, + "ĠÑģказ": 102513, + "ãĤ¿ãĥ¼": 102514, + "анÑĮ": 102515, + "Ġgöz": 102516, + "ë³Ħ": 102517, + "ãģĭãģ£ãģŁ": 102518, + "ĠëįĶ": 102519, + "ĠÙĨÙĤ": 102520, + "ĠÑĥÑĩа": 102521, + "Ġsahip": 102522, + "ĠÑģпе": 102523, + "ίοÏħ": 102524, + "ì½Ķ": 102525, + "ĠëĪ": 102526, + "mam": 102527, + "Ġroce": 102528, + "ĠÙĨاÙħ": 102529, + "еÑĢаÑĤÑĥ": 102530, + "ıp": 102531, + "ãģĦãģ¦": 102532, + "ĠíķĻ": 102533, + "Ġà¤ĩन": 102534, + "å©": 102535, + "Ġnhiên": 102536, + "atır": 102537, + "ÅĻenÃŃ": 102538, + "دة": 102539, + "ãĥªãĥ¼": 102540, + "ลà¸ĩ": 102541, + "ĠéĢ": 102542, + "Ġà¹Ģà¸Ľ": 102543, + "дÑĸ": 102544, + "ÎŃÏģ": 102545, + "ìĦ¤": 102546, + "гÑĢа": 102547, + "esine": 102548, + "Ġее": 102549, + "Ġiki": 102550, + "Ġتج": 102551, + "larına": 102552, + "dür": 102553, + "ĠاÙĦذ": 102554, + "Ùħت": 102555, + "Ġà¤IJ": 102556, + "िद": 102557, + "Ġë¹": 102558, + "ÑĦоÑĢма": 102559, + "Ġони": 102560, + "гоÑĢ": 102561, + "неÑģ": 102562, + "ìĺĢëĭ¤": 102563, + "ıldı": 102564, + "Ġçek": 102565, + "Ġдов": 102566, + "دÛĮ": 102567, + "ĠÄĮesk": 102568, + "ÑĪа": 102569, + "Ġات": 102570, + "å±ĭ": 102571, + "æĸ¼": 102572, + "Ġpráv": 102573, + "ému": 102574, + "å¸Ī": 102575, + "ãħĭãħĭ": 102576, + "Ġilgili": 102577, + "หว": 102578, + "à¤ĩ": 102579, + "ाष": 102580, + "ëŀij": 102581, + "asyon": 102582, + "ÑĨÑĮ": 102583, + "à¹ģà¸ķ": 102584, + "ợi": 102585, + "ĠвÑĭÑģ": 102586, + "ÑĸлÑĮки": 102587, + "ĠкоÑĤоÑĢÑĭе": 102588, + "ники": 102589, + "Ġاد": 102590, + "Ġživ": 102591, + "ĠαÏĢο": 102592, + "رض": 102593, + "اة": 102594, + "Ġkdyž": 102595, + "ữa": 102596, + "ĠëĮĢíķľ": 102597, + "Ġtôi": 102598, + "ÑĥÑĶ": 102599, + "زر": 102600, + "Ġå¥": 102601, + "ãĥĭãĥĭ": 102602, + "بة": 102603, + "ÏĦοÏĤ": 102604, + "ÑĨион": 102605, + "ĠÙħÙĬ": 102606, + "ĠÄĥn": 102607, + "à¥ĩà¤Ĺ": 102608, + "ĠÑĢег": 102609, + "ĠlỼn": 102610, + "ì¤Ģ": 102611, + "ìĭ¬": 102612, + "Ġbiết": 102613, + "aları": 102614, + "ÙģÙĬ": 102615, + "ä¸ĸçķĮ": 102616, + "ĠнеобÑħодим": 102617, + "à¸Ļว": 102618, + "νÏĦ": 102619, + "Ġảnh": 102620, + "íĸĪ": 102621, + "Ġवर": 102622, + "hled": 102623, + "ิà¸Ī": 102624, + "æŃ»": 102625, + "ĠاÙĦتÙĬ": 102626, + "ноÑģ": 102627, + "prav": 102628, + "ÑıÑĤи": 102629, + "Ñīа": 102630, + "ÙĪÙĨÙĩ": 102631, + "ĠaÄŁ": 102632, + "à¸ŀระ": 102633, + "Ġthá»ijng": 102634, + "ÑĦи": 102635, + "Ġголов": 102636, + "Ġkhoa": 102637, + "ĠëłĪ": 102638, + "ãģĴ": 102639, + "Ġgetir": 102640, + "شت": 102641, + "женнÑı": 102642, + "енÑĸ": 102643, + "Ġgiữ": 102644, + "lerinin": 102645, + "à¥Ģव": 102646, + "éģ¸": 102647, + "सर": 102648, + "ĠÑĩелов": 102649, + "à¥įà¤ľ": 102650, + "ĠбÑĥло": 102651, + "ĠاÙĨد": 102652, + "ัà¸Ļà¸Ĺ": 102653, + "让": 102654, + "Ġquyá»ģn": 102655, + "ĠØŃاÙĦ": 102656, + "ì²ĺ": 102657, + "ĠлÑİд": 102658, + "ÏģÏĩ": 102659, + "алÑĮно": 102660, + "ãĢĢãĥ½": 102661, + "ê¸ī": 102662, + "ãĤ±": 102663, + "ĠÙħرد": 102664, + "Ġông": 102665, + "Ġاش": 102666, + "大åѦ": 102667, + "ì¦Ī": 102668, + "æĪ¦": 102669, + "eyi": 102670, + "ĠÐIJн": 102671, + "िप": 102672, + "Ġtiêu": 102673, + "Ø´ÛĮ": 102674, + "ắn": 102675, + "éŃĶ": 102676, + "ãģ¨ãģĦãģĨ": 102677, + "ĠìłĢ": 102678, + "кÑĤи": 102679, + "ĠÙħØŃÙħد": 102680, + "ĠíĨµ": 102681, + "ุม": 102682, + "åį¡": 102683, + "оÑĢов": 102684, + "коÑİ": 102685, + "Ġlá»±c": 102686, + "å³¶": 102687, + "ĠرÙĪØ²": 102688, + "ÑħÑĸд": 102689, + "Ġhá»ĵ": 102690, + "Ġül": 102691, + "ĠØ´Ùħ": 102692, + "ÙĨس": 102693, + "بÙĪ": 102694, + "Ġthêm": 102695, + "ạc": 102696, + "åºľ": 102697, + "echn": 102698, + "ĠÎļα": 102699, + "èijĹ": 102700, + "çľ¼": 102701, + "áh": 102702, + "Ġι": 102703, + "ê¹Įì§Ģ": 102704, + "maz": 102705, + "λογ": 102706, + "Ġjsme": 102707, + "Ġá¼": 102708, + "ĠпÑĢави": 102709, + "клад": 102710, + "Ġthá»§": 102711, + "sah": 102712, + "ÄŁit": 102713, + "ĠÙģÛĮ": 102714, + "енно": 102715, + "à¥ģà¤Ľ": 102716, + "ãģ»": 102717, + "çϾ": 102718, + "иÑĤа": 102719, + "ĠбÑĭло": 102720, + "Ġvys": 102721, + "Ġì¶ľ": 102722, + "ắng": 102723, + "ĠÄijại": 102724, + "ĠÙħÙĪØ±Ø¯": 102725, + "ела": 102726, + "ÑĸÑĪ": 102727, + "леннÑı": 102728, + "æIJ": 102729, + "Ġнед": 102730, + "iyat": 102731, + "ì¼": 102732, + "ĠolduÄŁunu": 102733, + "داÙĨ": 102734, + "íĿ": 102735, + "ĠسÛĮ": 102736, + "ีà¸ģ": 102737, + "ÄĽst": 102738, + "ımı": 102739, + "ä¸īä¸ī": 102740, + "ãĤ½": 102741, + "ĠÑĤеп": 102742, + "ĠÑĢай": 102743, + "ाध": 102744, + "ĠìĤ¬ëŀĮ": 102745, + "ĠTrung": 102746, + "ï¼ıï¼ı": 102747, + "Ġtâm": 102748, + "Å¡enÃŃ": 102749, + "ãĥį": 102750, + "ĠÏĦοÏħÏĤ": 102751, + "ĠнÑĸ": 102752, + "вид": 102753, + "æ¿": 102754, + "Ġظ": 102755, + "ãĥ¯": 102756, + "ì¢ħ": 102757, + "ваÑĤи": 102758, + "Ġquá": 102759, + "ฤ": 102760, + "ĠÄijưá»Ŀng": 102761, + "à¥ģद": 102762, + "roj": 102763, + "ĠÑĥÑģ": 102764, + "é¦Ļ": 102765, + "ì½ĺ": 102766, + "ĠÙĪØª": 102767, + "มาà¸ģ": 102768, + "åĪĩ": 102769, + "Ġán": 102770, + "Ġмед": 102771, + "ìĹIJëĬĶ": 102772, + "Ġhlav": 102773, + "رت": 102774, + "à¹ĥà¸Ī": 102775, + "æ´²": 102776, + "ĠлÑĸ": 102777, + "æĪĺ": 102778, + "ÙĪÙĨد": 102779, + "è¶³": 102780, + "åĭĻ": 102781, + "çͳ": 102782, + "Ġì±": 102783, + "ĠìĿ´ëıĻíķ©ëĭĪëĭ¤": 102784, + "ÑīеÑģÑĤв": 102785, + "Ġë¶Ī": 102786, + "ÙĦÙĪ": 102787, + "üven": 102788, + "èĪĩ": 102789, + "ĠgiỼi": 102790, + "ĠÙĪÙĤ": 102791, + "Ġê°¤ë¡ľê·¸": 102792, + "ĠعاÙħ": 102793, + "ĺIJ": 102794, + ":::::": 102795, + "ĠÑĥд": 102796, + "-ÑĤо": 102797, + "ĠÑĦоÑĢ": 102798, + "ини": 102799, + "ãģĹãģĦ": 102800, + "Ġê°¤ë¡ľê·¸ë¡ľ": 102801, + "ãģ³": 102802, + "ãĥ©ãĤ¤": 102803, + "ená": 102804, + "Ġnez": 102805, + "Ġönemli": 102806, + "ĠниÑħ": 102807, + "à¤Ĥस": 102808, + "Ġà¤īसà¤ķ": 102809, + "à¥įरद": 102810, + "Ġnói": 102811, + "ÙĥÙĦ": 102812, + "ิว": 102813, + "κο": 102814, + "à¥ģà¤ĸ": 102815, + "öyle": 102816, + "άλ": 102817, + "óng": 102818, + "ĠداÙĨØ´": 102819, + "Ġзб": 102820, + "ì»": 102821, + "à¸ľà¸¥": 102822, + "ëĵ¤ìĿ´": 102823, + "Ġetk": 102824, + "رات": 102825, + "Ġεκ": 102826, + "ÑĤÑĢа": 102827, + "à¥įतर": 102828, + "à¤Ĥब": 102829, + "ĠмÑĸÑģ": 102830, + "æł¹": 102831, + "ãĥĻ": 102832, + "Ġtá»ī": 102833, + "à¹Ģà¸ĭ": 102834, + "ìĪł": 102835, + "ï¼Įä¸į": 102836, + "ìĺ¨": 102837, + "ĠmÄĽst": 102838, + "ģµ": 102839, + "azı": 102840, + "rada": 102841, + "ÏĢα": 102842, + "mé": 102843, + "ÙĨاÙħÙĩ": 102844, + "اÛĮÙĦ": 102845, + "μη": 102846, + "luk": 102847, + "ÙĥÙĬ": 102848, + "Ġï¼ī": 102849, + "ĠдеÑĤ": 102850, + "Ġiçinde": 102851, + "Ñıм": 102852, + "Ġdưá»": 102853, + "ĠпÑĢедÑģÑĤав": 102854, + "üre": 102855, + "åķĬ": 102856, + "ĠÑĤÑĢÑĥ": 102857, + "esini": 102858, + "Ġале": 102859, + "ãĥ³ãĥī": 102860, + "à¥ĥत": 102861, + "εÏħ": 102862, + "à¥ģà¤Ĩ": 102863, + "Ġhiç": 102864, + "çĶº": 102865, + "ĠÐĸ": 102866, + "çħ§": 102867, + "ká": 102868, + "Ġtrá»įng": 102869, + "Ġتش": 102870, + "ाश": 102871, + "ĠÙħØ«": 102872, + "etim": 102873, + "Ġthấy": 102874, + "Ġबह": 102875, + "عت": 102876, + "ึà¹ī": 102877, + "Ġsev": 102878, + "ÑģÑĤа": 102879, + "Ġcứ": 102880, + "Ġtiá»ģn": 102881, + "à¥Ģà¤ľ": 102882, + "Ñıг": 102883, + "ĠоÑĢгани": 102884, + "ĠбÑĭл": 102885, + "tür": 102886, + "ĠبازÛĮ": 102887, + "Ġìŀ¬": 102888, + "वर": 102889, + "æľīéĻIJåħ¬åı¸": 102890, + "kup": 102891, + "Ġiyi": 102892, + "íķĺê²Į": 102893, + "ãĢĢl": 102894, + "ãĤ·ãĥ§": 102895, + "ارة": 102896, + "สร": 102897, + "ĠtÃŃch": 102898, + "ĠкаÑĢ": 102899, + "иб": 102900, + "ĠвÑĸдповÑĸд": 102901, + "Ġpodle": 102902, + "à¥įरà¤ķ": 102903, + "iyon": 102904, + "коном": 102905, + "ĠμÎŃ": 102906, + "ĠпÑĢоиз": 102907, + "ĠâĢı": 102908, + "mektedir": 102909, + "ΩÎĿ": 102910, + "Ġbáo": 102911, + "à¸Īำ": 102912, + "ëįĶ": 102913, + "ë¸Į": 102914, + "Ġsợ": 102915, + "ÛĮرÛĮ": 102916, + "онÑĥ": 102917, + "ındaki": 102918, + "алÑĮного": 102919, + "μβ": 102920, + "лиз": 102921, + "Ġjejich": 102922, + "æĸ½": 102923, + "便": 102924, + "leÅŁtir": 102925, + "ĠÙĪØ£": 102926, + "Ġसब": 102927, + "lerde": 102928, + "ĠÚĨÙĩ": 102929, + "ÏĦÎŃ": 102930, + "Ġgì": 102931, + "ĠÃļ": 102932, + "ĠÑĢаÑģп": 102933, + "Ġtüm": 102934, + "à¹Ģà¸ĩ": 102935, + "èIJ½": 102936, + "ìĨ¡": 102937, + "à¹Ħà¸Ĺย": 102938, + "mÄ±ÅŁtır": 102939, + "ĠÙĤرار": 102940, + "Ġà¸Ħาส": 102941, + "Ġkıs": 102942, + "ованиÑı": 102943, + "ãĤĤãģ®": 102944, + "داÙħ": 102945, + "ìľ¡": 102946, + "oloj": 102947, + "ĠпоÑģле": 102948, + "ĠТак": 102949, + "Ġболее": 102950, + "ĠÄijá»ķi": 102951, + "lak": 102952, + "íħĮ": 102953, + "Ġayn": 102954, + "ÑıÑģ": 102955, + "Ġпог": 102956, + "Ġarasında": 102957, + "ά": 102958, + "à¥Ĥल": 102959, + "Ġανα": 102960, + "Ġquyết": 102961, + "Ġthuá»Ļc": 102962, + "Ġdün": 102963, + "ĠpÅĻes": 102964, + "ÑĦÑĸ": 102965, + "Ġå¸": 102966, + "اÙĦÙĬ": 102967, + "ĠповеÑĢ": 102968, + "Ñĩина": 102969, + "sko": 102970, + "çµIJ": 102971, + "Ø¡": 102972, + "ĠгÑĢа": 102973, + "оÑĤи": 102974, + "Ġquá»ijc": 102975, + "ÑĨÑĸв": 102976, + "lendir": 102977, + "вÑĸд": 102978, + "ĠжиÑĤ": 102979, + "üyor": 102980, + "ï¼Įä»ĸ": 102981, + "larında": 102982, + "Ġuyg": 102983, + "ĠtrÃŃ": 102984, + "ĠØ´ÙĨ": 102985, + "ابÙĦ": 102986, + "æ·±": 102987, + "Âłp": 102988, + "ÑģкаÑı": 102989, + "оÑĤа": 102990, + "ÙĪØ·": 102991, + "Ġاط": 102992, + "ä¾Ĩ": 102993, + "ĠзаÑĤ": 102994, + "Ġиме": 102995, + "à¹Ģà¸Ĺศ": 102996, + "ëĭ´": 102997, + "nÄĽnÃŃ": 102998, + "ÑĥлÑı": 102999, + "-п": 103000, + "åĺ": 103001, + "Ġвип": 103002, + "аÑĢакÑĤ": 103003, + "à¹Ģà¸ļ": 103004, + "ç¦ı": 103005, + "ÏģÏİ": 103006, + "سÙĩ": 103007, + "à¥Įर": 103008, + "ĠdiÄŁer": 103009, + "à¹Ĥà¸Ķย": 103010, + "ĠÑģпоÑģоб": 103011, + "åį·": 103012, + "èĸ": 103013, + "анÑĤ": 103014, + "ÑİÑĤÑĮÑģÑı": 103015, + "ĠÑįÑĤом": 103016, + "Ġï½Ģ": 103017, + "สาม": 103018, + "ìm": 103019, + "ĠÑĪк": 103020, + "Ġà¸Ľà¸£à¸°": 103021, + "़à¥Ģ": 103022, + "ekl": 103023, + "muÅŁ": 103024, + "ĠÑĤакож": 103025, + "ÙĪØ³Ø·": 103026, + "ĠÄįi": 103027, + "ีà¸Ļ": 103028, + "ÛĮÙĨÙĩ": 103029, + "ÄĽk": 103030, + "å½¼": 103031, + "lerine": 103032, + "ĠÄijất": 103033, + "à¥ģà¤ı": 103034, + "олоÑģ": 103035, + "Ġå°ı": 103036, + "زÙĬØ©": 103037, + "Ġвла": 103038, + "à¥Ģल": 103039, + "Ġetti": 103040, + "ĠÑģоÑģÑĤав": 103041, + "ÙĦاÙĦ": 103042, + "Ġçİ": 103043, + "ĠpÅĻÃŃpad": 103044, + "룰": 103045, + "ุà¸ģ": 103046, + "ĠÑĩи": 103047, + "åħį": 103048, + "nÄĽjÅ¡ÃŃ": 103049, + "ิล": 103050, + "åįĢ": 103051, + "ských": 103052, + "าศ": 103053, + "åIJĹ": 103054, + "ĠíĺĦ": 103055, + "Ġalın": 103056, + "å§Ķ": 103057, + "à¸ŀร": 103058, + "ažd": 103059, + "ĠбÑĸлÑĮ": 103060, + "à¹Īวà¸Ļ": 103061, + "oog": 103062, + "acı": 103063, + "lıģ": 103064, + "Ġkhu": 103065, + "Ġhizmet": 103066, + "ĠéĽ": 103067, + "ĠÎĺ": 103068, + "ĠdeÄŁer": 103069, + "åħŃ": 103070, + "ĠدÙĩ": 103071, + "ĠnÄĽk": 103072, + "à¸Ħà¸Ļ": 103073, + "еÑĤÑĮ": 103074, + "باÙĨ": 103075, + "ÏĦική": 103076, + "ĠÄijá»ĭa": 103077, + "ĠCông": 103078, + "íĮIJ": 103079, + "Ġкогда": 103080, + "ĠÚ©ÙĨد": 103081, + "ãģ§ãģį": 103082, + "ĠÏĢεÏģι": 103083, + "lardan": 103084, + "Ġзем": 103085, + "تÙĪØ§ÙĨ": 103086, + "è³ĩ": 103087, + "likle": 103088, + "Ġtụ": 103089, + "Ġdẫn": 103090, + "Ġnay": 103091, + "ĠÑģÑĤоÑĢ": 103092, + "ĠØ´Ùħا": 103093, + "ثر": 103094, + "Ġdedi": 103095, + "кое": 103096, + "ëijIJ": 103097, + "ÑĨев": 103098, + "جÙĩ": 103099, + "Ġmůže": 103100, + "à¥ģप": 103101, + "à¥įरम": 103102, + "ĠtaÅŁ": 103103, + "оÑĢÑĤ": 103104, + "γÏģα": 103105, + "çϼ": 103106, + "าà¸ļ": 103107, + "iá»ħn": 103108, + "ĠÙħست": 103109, + "лекÑģ": 103110, + "Ġprav": 103111, + "ĠдоÑģ": 103112, + "ĠdÄ±ÅŁ": 103113, + "Ġzem": 103114, + "Ġgiao": 103115, + "Ġvlast": 103116, + "ĠÑįÑĤого": 103117, + "ï½°": 103118, + "วà¸ĩ": 103119, + "ÑĢой": 103120, + "Ġbirlik": 103121, + "ený": 103122, + "Ġëĭ¨": 103123, + "овани": 103124, + "é£İ": 103125, + "íıī": 103126, + "Ġzah": 103127, + "ба": 103128, + "åĬ©": 103129, + "é̲": 103130, + "ê¶Į": 103131, + "Ġdiye": 103132, + "à¤Ĥà¤ķ": 103133, + "Ġchuyá»ĥn": 103134, + "ĠìĹŃ": 103135, + "ĠÑĤÑĢи": 103136, + "Ġönce": 103137, + "ï¼Įè¿Ļ": 103138, + "oại": 103139, + "леÑĤ": 103140, + "ĠÏĥÏħν": 103141, + "lád": 103142, + "çe": 103143, + "tü": 103144, + "ĠÄįást": 103145, + "Ġεν": 103146, + "Ġbiá»ĩt": 103147, + "Ġé«": 103148, + "à¥ĭà¤ķ": 103149, + "ÙĦات": 103150, + "باÙĦ": 103151, + "ecies": 103152, + "Ġëĭ¹": 103153, + "à¸Ĭà¸Ļ": 103154, + "ÏĦαÏĤ": 103155, + "à¥įण": 103156, + "ujÃŃcÃŃ": 103157, + "Äįet": 103158, + "Ġпоб": 103159, + "ÙĪØ§Ø±": 103160, + "iyas": 103161, + "Ġdruh": 103162, + "دد": 103163, + "ÏĮν": 103164, + "ÑĢен": 103165, + "ารà¸ĸ": 103166, + "ä½İ": 103167, + "ìķ½": 103168, + "ÑĢоз": 103169, + "ëĬĶëį°": 103170, + "ãĤĵãģª": 103171, + "ÄįenÃŃ": 103172, + "************": 103173, + "ĠΡ": 103174, + "ĠÑĤомÑĥ": 103175, + "รà¸ģ": 103176, + "à¥ģस": 103177, + "ä¹Ŀ": 103178, + "å°±æĺ¯": 103179, + "£i": 103180, + "éĺ²": 103181, + "Ùĥر": 103182, + "ĠÑįÑĤи": 103183, + "ĠÚ©Ø´ÙĪØ±": 103184, + "Ġê°IJ": 103185, + "Ġад": 103186, + "Ġداد": 103187, + "éģİ": 103188, + "Ù«": 103189, + "ĠláºŃp": 103190, + "ĠاÙĦÙĩ": 103191, + "æľĽ": 103192, + "ĠتÙĩ": 103193, + "ì§Ī": 103194, + "ãģ§ãģĤãĤĭ": 103195, + "Ġмеж": 103196, + "ĠÑĢезÑĥлÑĮÑĤ": 103197, + "çį": 103198, + "емÑĥ": 103199, + "ĠتÙĪØ§ÙĨ": 103200, + "ĠراÙĩ": 103201, + "ãĥ¼ãĥł": 103202, + "åĦ¿": 103203, + "å±ŀ": 103204, + "бÑĭ": 103205, + "á¿": 103206, + "à¸Ħล": 103207, + "à¥ĭà¤Ī": 103208, + "ütün": 103209, + "à¤Ĺर": 103210, + "ìķĺëĭ¤": 103211, + "âΧ": 103212, + "Ġì°¨": 103213, + "çµĦ": 103214, + "μαÏĦα": 103215, + "ุà¸Ļ": 103216, + "ĠÑĤом": 103217, + "еÑĢв": 103218, + "ÎijΣ": 103219, + "ĠiÅŁlem": 103220, + "عÙħ": 103221, + "ëĥ": 103222, + "ãĥĦ": 103223, + "اÙģØª": 103224, + "åĬŀ": 103225, + "Ġnes": 103226, + "avaÅŁ": 103227, + "ĠÙĨÛĮز": 103228, + "强": 103229, + "ĠéĻ": 103230, + "ÑĸннÑı": 103231, + "æ²³": 103232, + "áÅĻ": 103233, + "æĿIJ": 103234, + "ĠØ£ÙĬ": 103235, + "Ġì¹´": 103236, + "ĠnenÃŃ": 103237, + "ĠÙĪÙħ": 103238, + "ĠÚ©Ùħ": 103239, + "iếu": 103240, + "Ġæ°": 103241, + "åĮ»": 103242, + "Ġzor": 103243, + "ίÏĥ": 103244, + "िध": 103245, + "Ġпоказ": 103246, + "हर": 103247, + "Ġiçer": 103248, + "ØŃØ©": 103249, + "िà¤ĸ": 103250, + "ада": 103251, + "ترÛĮÙĨ": 103252, + "Ġbao": 103253, + "Ġxã": 103254, + "à¹Ģà¸Ħร": 103255, + "ĠnghÄ©": 103256, + "à¹ģà¸ļà¸ļ": 103257, + "ĠdoÄŁru": 103258, + "ÑĸÑĤи": 103259, + "ĠبÙĬÙĨ": 103260, + "ĠлеÑĤ": 103261, + "اغ": 103262, + "ÛĮÚ©ÛĮ": 103263, + "ráv": 103264, + "à¥įâĢį": 103265, + "âĢĻnin": 103266, + "Ġย": 103267, + "åįĬ": 103268, + "Ġколи": 103269, + "Ġtrợ": 103270, + "éĿĴ": 103271, + "ëŀĢ": 103272, + "Ġë¨": 103273, + "ĠÙĪØ±": 103274, + "ï¾Ĭ": 103275, + "è§Ĥ": 103276, + "Ġпи": 103277, + "нÑĥв": 103278, + "ilmesi": 103279, + "ستÙĩ": 103280, + "ĠдеÑĢжав": 103281, + "å®ĥ": 103282, + "åĪ¥": 103283, + "ëħĢ": 103284, + "лÑģÑı": 103285, + "à¤Ĥध": 103286, + "ĠÑĤи": 103287, + "ĠpÅĻip": 103288, + "пи": 103289, + "á»ĵn": 103290, + "оваÑĤÑĮ": 103291, + "ìĿ´ëĿ¼": 103292, + "æľĿ": 103293, + "ĠëĺIJ": 103294, + "ĠÎŃνα": 103295, + "ãģ¾ãģ§": 103296, + "جاÙħ": 103297, + "ĠëĬ": 103298, + "нÑĸв": 103299, + "ÏĢοÏħ": 103300, + "ĠزÙħاÙĨ": 103301, + "æĽ²": 103302, + "ĠÙħÙĩ": 103303, + "볨": 103304, + "ä¸ĥ": 103305, + "ãģ¨ãģĹãģ¦": 103306, + "labilir": 103307, + "оже": 103308, + "å¤ľ": 103309, + "ĠнÑĥжно": 103310, + "彩": 103311, + "çα": 103312, + "ĠhoÃłn": 103313, + "ünü": 103314, + "ĠëĦ¤": 103315, + "ĠجÙĨ": 103316, + "ĠnÄĽj": 103317, + "кими": 103318, + "Ġaynı": 103319, + "ĠÙĥÙĦ": 103320, + "Ġnhau": 103321, + "ẳ": 103322, + "ÙĬات": 103323, + "Ġmezi": 103324, + "ĠÑĢек": 103325, + "Ġtür": 103326, + "ĠговоÑĢ": 103327, + "Ġfazla": 103328, + "åĩĨ": 103329, + "ÑĪий": 103330, + "ÐŁÑĢи": 103331, + "ÑĢоÑģÑĤ": 103332, + "ĠоÑĢган": 103333, + "ným": 103334, + "ĠÑĢод": 103335, + "ĠÙĪÛĮ": 103336, + "ický": 103337, + "림": 103338, + "ï½²": 103339, + "æĢİ": 103340, + "ĠÙĩذا": 103341, + "ĠÑĩаÑģÑĤи": 103342, + "ÃŃr": 103343, + "á»ĩnh": 103344, + "ĠíĹ": 103345, + "ê»": 103346, + "luž": 103347, + "ÃŃl": 103348, + "cÃŃch": 103349, + "å®Ł": 103350, + "ãģłãģ£ãģŁ": 103351, + "ÙĬرة": 103352, + "ĠvÄĥn": 103353, + "港": 103354, + "ĠÏĦιÏĤ": 103355, + "ارت": 103356, + "Ġvấn": 103357, + "âĶģâĶģâĶģâĶģ": 103358, + "対": 103359, + "ÏģÎŃ": 103360, + "ĠгодÑĥ": 103361, + "Ġسب": 103362, + "ارات": 103363, + "елей": 103364, + "ĠзаÑħ": 103365, + "Ġваж": 103366, + "Ġtá»īnh": 103367, + "ابع": 103368, + "Ġà¤ľà¤¬": 103369, + "Ġà¤IJस": 103370, + "ĠдÑĥ": 103371, + "Ġé«ĺ": 103372, + "ê²ł": 103373, + "нее": 103374, + "ï½Į": 103375, + "Ġмал": 103376, + "è¾¹": 103377, + "ãģłãģij": 103378, + "à¹īร": 103379, + "ÙĤØ·": 103380, + "Ġbên": 103381, + "Ġseb": 103382, + "ĠØ®ÙĪØ§Ùĩ": 103383, + "siz": 103384, + "Ġolur": 103385, + "ĠëͰ": 103386, + "Ġì¢ĭ": 103387, + "ĠsvÄĽt": 103388, + "ická": 103389, + "ỹ": 103390, + "Ġquản": 103391, + "ĠиÑģ": 103392, + "ĠzaÄį": 103393, + "ืà¸Ńà¸Ļ": 103394, + "ÑĶÑİ": 103395, + "िष": 103396, + "çĬ¶": 103397, + "Ïĥμ": 103398, + "ัส": 103399, + "óc": 103400, + "ĠбеÑĢ": 103401, + "ĠíĿ": 103402, + ";:;:": 103403, + "Ġپس": 103404, + "ĠëijIJ": 103405, + "ниÑĩ": 103406, + "ĠоÑĩенÑĮ": 103407, + "ĠìķĦìĿ´ì½ĺ": 103408, + "Ġθα": 103409, + "ĠвÑģÑĤ": 103410, + "ادة": 103411, + "Ġdevam": 103412, + "ืà¸Ńà¸ĩ": 103413, + "ĠлÑİди": 103414, + "ìĺĪ": 103415, + "á»±a": 103416, + "ÑıÑħ": 103417, + "âĢĮاÛĮ": 103418, + "ĠسÙĪ": 103419, + "å°¼": 103420, + "Ġthứ": 103421, + "meye": 103422, + "Ġèµ": 103423, + "èī¯": 103424, + "ĠdeÄŁiÅŁ": 103425, + "ÑĪÑĸ": 103426, + "Ġtrợ": 103427, + "ĠâĢİ#": 103428, + "çĹħ": 103429, + "ìĽĮ": 103430, + "Ġkde": 103431, + "Χ": 103432, + "æ¤": 103433, + "ĠÑħаÑĢакÑĤ": 103434, + "æĩ": 103435, + "Ġbiến": 103436, + "ÙĤع": 103437, + "åŁŁ": 103438, + "Ġнеп": 103439, + "Ġdů": 103440, + "ĠпиÑĤ": 103441, + "ĠÑĤÑĢеб": 103442, + "ازÛĮ": 103443, + "Ġطر": 103444, + "ĠÙħÙĦ": 103445, + "Ġtham": 103446, + "ĠÙĪØ¬ÙĪØ¯": 103447, + "Ġsvé": 103448, + "é§ħ": 103449, + "اÛĮÙĨ": 103450, + "Ġtiên": 103451, + "stru": 103452, + "ĠváºŃy": 103453, + "üne": 103454, + "Ġà¹Ģม": 103455, + "Ġrằng": 103456, + "аÑĤÑĥ": 103457, + "äºij": 103458, + "ниÑĤ": 103459, + "ä¼Ĭ": 103460, + "ÙĪØµ": 103461, + "ĠéĿ": 103462, + "ĠпÑĢоблем": 103463, + "deki": 103464, + "**************": 103465, + "òa": 103466, + "ĠÄijá»ģu": 103467, + "ãĤĮãģŁ": 103468, + "ارس": 103469, + "ãģªãģı": 103470, + "اÙĤع": 103471, + "è»į": 103472, + "ÙĥÙħ": 103473, + "Äįas": 103474, + "Ġkỳ": 103475, + "Ø´Ùħ": 103476, + "à¥ĩड": 103477, + "éĺ¿": 103478, + "ĠjejÃŃ": 103479, + "ĠæĻ": 103480, + "ĠÄ°ÅŁ": 103481, + "ardım": 103482, + "Ġसमय": 103483, + "ĠÐĿо": 103484, + "ilerin": 103485, + "Ġعبد": 103486, + "nÃŃk": 103487, + "ĠØ´Ú©ÙĨ": 103488, + "ิà¸Ĺย": 103489, + "á»ħ": 103490, + "ÑĢез": 103491, + "Ġchứng": 103492, + "Ġ:.": 103493, + "Ġपत": 103494, + "Ġživot": 103495, + "å¢ĥ": 103496, + "«a": 103497, + "Ġtrung": 103498, + "никÑĸв": 103499, + "ĠاÙĦÙħÙĨ": 103500, + "ĠÑĢаÑģÑģ": 103501, + "Ġжив": 103502, + "Ġзакон": 103503, + "Ġ목": 103504, + "Ġzáv": 103505, + "Ġhakk": 103506, + "令": 103507, + "ĠÑıкий": 103508, + "ĠبÙĬ": 103509, + "λÎŃ": 103510, + "ocuk": 103511, + "ĠÑİ": 103512, + "à¸ģว": 103513, + "ĠاÙĨÚ¯": 103514, + "à¥ģà¤Ĥ": 103515, + "Ġnám": 103516, + "á»ķng": 103517, + "Ġжел": 103518, + "ĠÄijặc": 103519, + "Äįit": 103520, + "Ġê±´": 103521, + "ĠبÛĮØ´": 103522, + "кÑĢаÑĹн": 103523, + "ĠÙĪÙĩ": 103524, + "неннÑı": 103525, + "Ġà¹Ģà¸ŀ": 103526, + "омен": 103527, + "Ġlần": 103528, + "ĠعÙħÙĦ": 103529, + "Ġîģµ": 103530, + "Äŀ": 103531, + "ÑĸÑģлÑı": 103532, + "ưng": 103533, + "ाफ": 103534, + "à¸Ĺà¸ĺ": 103535, + "ден": 103536, + "ĠÑīоб": 103537, + "Ñĩив": 103538, + "ılır": 103539, + "اعات": 103540, + "jÃŃcÃŃ": 103541, + "벨": 103542, + "ÚĨÙĩ": 103543, + "ارج": 103544, + "ĠپرÙĪ": 103545, + "Ġодин": 103546, + "лин": 103547, + "бÑĥ": 103548, + "Ġसरà¤ķ": 103549, + "åĢĻ": 103550, + "ë¶ĢíĦ°": 103551, + "à¥Īà¤Ĥ,": 103552, + "å´": 103553, + "à¹Ĥล": 103554, + "ĠvÅ¡ak": 103555, + "ĠопÑĢед": 103556, + "ì±": 103557, + "æ½": 103558, + "Ġdá»±ng": 103559, + "práv": 103560, + "ิส": 103561, + "Ġnhiá»ĩm": 103562, + "ĠiliÅŁ": 103563, + "ĠеÑīе": 103564, + "ĠjeÅ¡tÄĽ": 103565, + "ĠÑĢаÑģÑĤ": 103566, + "ฮ": 103567, + "à¤Ĥà¤Ł": 103568, + "âĢĮÚ©": 103569, + "ĠبÛĮÙĨ": 103570, + "ovou": 103571, + "æĻ®": 103572, + "ίεÏĤ": 103573, + "оÑĢоÑĪ": 103574, + "Ġolmak": 103575, + "Ġstát": 103576, + "diÄŁi": 103577, + "Ġtình": 103578, + "ĠdÄĽ": 103579, + "ĠگرÙģ": 103580, + "Ïĥο": 103581, + "ĠÑĥÑĤ": 103582, + "íķĻêµIJ": 103583, + "ัà¸IJ": 103584, + "าà¸Ń": 103585, + "ĠÄijặt": 103586, + "ĠмогÑĥÑĤ": 103587, + "ë°°": 103588, + "tik": 103589, + "ª½": 103590, + "liÄŁ": 103591, + "ÏĢε": 103592, + "ĠèĢ": 103593, + "kü": 103594, + "adece": 103595, + "κÏĮ": 103596, + "ĠдÑĸ": 103597, + "ầm": 103598, + "çĦ¡ãģĹ": 103599, + "Û²Û°Û±": 103600, + "èµĽ": 103601, + "оÑģÑĥд": 103602, + "ĠìķĪëĤ´": 103603, + "ĠÐĶж": 103604, + "座": 103605, + "ických": 103606, + "Ġìłģ": 103607, + "à¥ĩ,": 103608, + "ového": 103609, + "Ġvẫn": 103610, + "Ġbirlikte": 103611, + "Ġरà¤ĸ": 103612, + "ĠÙĨÙĩ": 103613, + "ÙĤر": 103614, + "पर": 103615, + "etÃŃ": 103616, + "ĠÑĤÑĭ": 103617, + "ĢìĿ´": 103618, + "Ġà¤ħल": 103619, + "Ġможе": 103620, + "ãĤ´": 103621, + "Ġstran": 103622, + "طر": 103623, + "è¿Ļ个": 103624, + "Ġبع": 103625, + "åĨĽ": 103626, + "ektir": 103627, + "ĠhÆ°á»Ľng": 103628, + "ÙĨاÙĨ": 103629, + "Ġà¤ij": 103630, + "ÏĮÏĦη": 103631, + "оÑģк": 103632, + "åįĥ": 103633, + "asına": 103634, + "ĠØ´Ùĩ": 103635, + "ĠдеÑĢ": 103636, + "ĠÙħخت": 103637, + "ĠØŃÙĤ": 103638, + "ãĥ¾": 103639, + "ساÙĨ": 103640, + "Ġcung": 103641, + "коÑĢиÑģÑĤ": 103642, + "ÏĦικά": 103643, + "Ġвона": 103644, + "با": 103645, + "ãģķãĤĮãģŁ": 103646, + "nout": 103647, + "Ġı": 103648, + "è§ī": 103649, + "ĠÃ¶ÄŁren": 103650, + "Ġì½Ķ": 103651, + "带": 103652, + "Ñģлов": 103653, + "ĠεÏĢι": 103654, + "ê°IJ": 103655, + "ĠÙħرب": 103656, + "ĠÙģÛĮÙĦÙħ": 103657, + "ĠкÑĢов": 103658, + "Ġëį°": 103659, + "ाण": 103660, + "Ġelekt": 103661, + "ĠнаÑĢод": 103662, + "ÛĮدÙĩ": 103663, + "ç´Ħ": 103664, + "ĠпÑĢоÑĦ": 103665, + "ÏģοÏĤ": 103666, + "Ġãħ": 103667, + "ä¸įæĺ¯": 103668, + "Ġà¤ľà¤¨": 103669, + "ัล": 103670, + "ĠصÙĪØ±Øª": 103671, + "ãĥľ": 103672, + "Ġà¤Ĺà¤Ī": 103673, + "ÄŁitim": 103674, + "ÑģÑĮкиÑħ": 103675, + "Ġлег": 103676, + "ĠتÙĪÙĦ": 103677, + "Ġìļ´": 103678, + "عر": 103679, + "ĠmÃłu": 103680, + "гов": 103681, + "æ³¢": 103682, + "indeki": 103683, + "ìłģìĿ¸": 103684, + "ấm": 103685, + "ĠíĻķ": 103686, + "ĠباÛĮد": 103687, + "à¹Įà¸Ĺ": 103688, + "Ġkendi": 103689, + "ีว": 103690, + "ิà¸ģาร": 103691, + "ĠکردÙĩ": 103692, + "å·´": 103693, + "à¤ģ": 103694, + "ราà¸Ĭ": 103695, + "à¥įश": 103696, + "ĠÐĶлÑı": 103697, + "å¥ĩ": 103698, + "ĠÑĥÑģÑĤанов": 103699, + "йÑĤе": 103700, + "ãĤĩ": 103701, + "άÏģ": 103702, + "ĠЮ": 103703, + "ĠluáºŃt": 103704, + "ãĢī": 103705, + "è´¨": 103706, + "دا": 103707, + "Ġdüzen": 103708, + "สà¸Ļ": 103709, + "ÑĢон": 103710, + "dıģı": 103711, + "âĢĻda": 103712, + "Ġfarklı": 103713, + "Ñħов": 103714, + "lán": 103715, + "ÑĩаÑģ": 103716, + "Ñĩин": 103717, + "Ġì°¸": 103718, + "ì´Ī": 103719, + "ÑĨип": 103720, + "ç¹": 103721, + "éĸĢ": 103722, + "жа": 103723, + "ÑĢован": 103724, + "à¸ĵะ": 103725, + "ÙĦÙĬزÙĬØ©": 103726, + "Ïĩει": 103727, + "à¥Ī.": 103728, + "кÑģп": 103729, + "اÙĪØ±": 103730, + "Ġnguyên": 103731, + "ãģ«ãĤĪ": 103732, + "à¥ĩम": 103733, + "ÏĥÏĦε": 103734, + "تÙĪ": 103735, + "Äįek": 103736, + "ÑĨÑĭ": 103737, + "Ġ물": 103738, + "ÑįÑĤ": 103739, + "Ġkazan": 103740, + "Ù쨳": 103741, + "ehir": 103742, + "вÑĸÑĤ": 103743, + "ĠدÙĪÙĦ": 103744, + "Ġëĵľ": 103745, + "Ġà¤ļल": 103746, + "еÑģÑĤва": 103747, + "δα": 103748, + "ĠбÑĥв": 103749, + "ĠÐĿе": 103750, + "ØŃر": 103751, + "огÑĢаÑĦ": 103752, + "Ġrozhod": 103753, + "ĠвикоÑĢиÑģÑĤ": 103754, + "Ġyêu": 103755, + "λοÏĤ": 103756, + "کس": 103757, + "Ġشب": 103758, + "ิษ": 103759, + "æ¯į": 103760, + "ĠдоÑĢ": 103761, + "Ġnghá»ĩ": 103762, + "Ġtrang": 103763, + "à¥ĩद": 103764, + "Ġtìm": 103765, + "Ñĩно": 103766, + "ĠاÙħا": 103767, + "éģĭ": 103768, + "کر": 103769, + "ké": 103770, + "ĠvÄĽt": 103771, + "ĠнаÑģÑĤ": 103772, + "Ġæ±": 103773, + "ĠåĽ½": 103774, + "Ġgiảm": 103775, + "ادÙĬ": 103776, + "ëĤľ": 103777, + "ë¡ł": 103778, + "Ġ、": 103779, + "ĠденÑĮ": 103780, + "ÑĨÑĸÑİ": 103781, + "Ġhạn": 103782, + "ẳng": 103783, + "λή": 103784, + "eyen": 103785, + "ä¸Ķ": 103786, + "æŃ¦": 103787, + "ĠÑĦак": 103788, + "à¹Īà¸Ńà¸Ļ": 103789, + "Ġοι": 103790, + "زÙħ": 103791, + "ãģĹãģ¦ãģĦãĤĭ": 103792, + "лива": 103793, + "âĢķâĢķ": 103794, + "Ġöl": 103795, + "Ġà¤ĵ": 103796, + "ÑģÑĤÑĸ": 103797, + "à¸ģรรม": 103798, + "Ġtục": 103799, + "Ġgörün": 103800, + "ãģĹãģ¾": 103801, + "Ġì¦": 103802, + "馬": 103803, + "Ġможна": 103804, + "ĠÚ©ÙĦ": 103805, + "ĠÑĨенÑĤ": 103806, + "ĠìϏ": 103807, + "Îĺ": 103808, + "çĩ": 103809, + "Ġgelen": 103810, + "ĠاÙĬÙĨ": 103811, + "Ġآب": 103812, + "Ġà¤Ĩय": 103813, + "ัà¸ģษ": 103814, + "Ñģим": 103815, + "ĠболÑĮÑĪ": 103816, + "Ġмн": 103817, + "оди": 103818, + "Ġİl": 103819, + "Ġà¤Ĩर": 103820, + "еÑĤе": 103821, + "ÑĨиÑİ": 103822, + "áºŃu": 103823, + "Ġtiếng": 103824, + "ë¶ģ": 103825, + "æ§ĺ": 103826, + "ĠнаÑĪ": 103827, + "มา": 103828, + "âĢĻın": 103829, + "ãĥĥãĥĹ": 103830, + "ÙĪØ¬Ùĩ": 103831, + "ĠØŃد": 103832, + "ává": 103833, + "رÙĪØ´": 103834, + "ĠдейÑģÑĤв": 103835, + "ãģ£ãģ¦ãģĦãĤĭ": 103836, + "Ïģή": 103837, + "Ġüst": 103838, + "Ġtiết": 103839, + "acaÄŁ": 103840, + "ĠÐŁÐ¾": 103841, + "éĬ": 103842, + "머": 103843, + "chod": 103844, + "ĠØ¢ÙħÙĪØ²": 103845, + "ãģŁãĤģ": 103846, + "Ġchuyên": 103847, + "Ġuygu": 103848, + "нÑĸÑģÑĤ": 103849, + "ë´": 103850, + "æİ§": 103851, + "ÑĥÑİÑĤÑĮ": 103852, + "Äįi": 103853, + "ãģ¹": 103854, + "à¥Ĥन": 103855, + "æĹ©": 103856, + "ãĥĩãĤ£": 103857, + "èĴ": 103858, + "Ġشخص": 103859, + "ĠÑħоÑĤ": 103860, + "ĠÚ©ÙĨÛĮد": 103861, + "гл": 103862, + "à¸Ńà¸Ńà¸ģ": 103863, + "éĢĻ": 103864, + "ĠزÛĮر": 103865, + "íķŃ": 103866, + "ĠÃĸz": 103867, + "åij³": 103868, + "ØŃدة": 103869, + "Ġkažd": 103870, + "ĠÑĨвеÑĤ": 103871, + "Ġç¾": 103872, + "Ġкож": 103873, + "ĠÐŃÑĤо": 103874, + "ÑıÑĤелÑĮ": 103875, + "лаÑģÑĮ": 103876, + "âĢĮØ´ÙĪØ¯": 103877, + "μι": 103878, + "Ġæ²": 103879, + "Ġsüre": 103880, + "ละ": 103881, + "éħĴ": 103882, + "ึà¸ģษ": 103883, + "λλά": 103884, + "çij": 103885, + "ĠìĥĪ": 103886, + "Ġसह": 103887, + "ĠHÃł": 103888, + "ë¦¬ê³ł": 103889, + "صر": 103890, + "ĠæĬķ": 103891, + "éłŃ": 103892, + "Ġbá»ĩnh": 103893, + "ĠìĥĿê°ģ": 103894, + "Ġà¤ħà¤Ń": 103895, + "ê³µì§Ģ": 103896, + "ìĶ": 103897, + "á»Ŀi": 103898, + "çŃĶ": 103899, + "ĠbÃłi": 103900, + "одÑĸ": 103901, + "าà¸Ĥ": 103902, + "ников": 103903, + "Ġdönem": 103904, + "วม": 103905, + "ãĥĨãĤ£": 103906, + "ारण": 103907, + "оги": 103908, + "Ġkiá»ĥm": 103909, + "оÑĦ": 103910, + "äºĪ": 103911, + "åĨ³": 103912, + "اÙĦات": 103913, + "Ġnếu": 103914, + "Ġcest": 103915, + "زش": 103916, + "ÙİÙĦ": 103917, + "Ġتأ": 103918, + "ĠÄijạo": 103919, + "Ïįν": 103920, + "ĠвнÑĥ": 103921, + "ĠجاÙħ": 103922, + "ivnÃŃ": 103923, + "ĠìŀĪìĬµëĭĪëĭ¤": 103924, + "ÏĬ": 103925, + "æĦĽ": 103926, + "ãĥĽ": 103927, + "мÑĸн": 103928, + "ĠtÃŃm": 103929, + "ằm": 103930, + "ê·ł": 103931, + "äºķ": 103932, + "Ġxây": 103933, + "ĠìĽĶ": 103934, + "елен": 103935, + "Ġà¹Ĥà¸Ķย": 103936, + "اÙĦÙĩ": 103937, + "Ġbất": 103938, + "á»ĵm": 103939, + "âĢĮÚ¯": 103940, + "ÙĪØ±Ø©": 103941, + "بات": 103942, + "Ġbán": 103943, + "ẫu": 103944, + "اÙĨÙĪÙĨ": 103945, + "Ġzákon": 103946, + "áž": 103947, + "ì¶Ķ": 103948, + "à¹ģà¸ģ": 103949, + "ãĤįãģĨ": 103950, + "ÑĢоÑĤ": 103951, + "çĵ": 103952, + "Ġвони": 103953, + "Ġxác": 103954, + "ĠدÛĮگر": 103955, + "ÏĢοι": 103956, + "ĠнеÑģк": 103957, + "رسÛĮ": 103958, + "ĠëĿ¼": 103959, + "تÙĦ": 103960, + "λά": 103961, + "ĠÑıвлÑıеÑĤÑģÑı": 103962, + "ä¾Ŀ": 103963, + "Ġåħ¬": 103964, + "Ĺi": 103965, + "ĠíĬ¹": 103966, + "ÙĥÙĪÙĨ": 103967, + "ắp": 103968, + "جÙħÙĪØ¹": 103969, + "ÏĨοÏģ": 103970, + "ело": 103971, + "Ġgüven": 103972, + "Ġмай": 103973, + "ĠÑģоз": 103974, + "à¸ģระ": 103975, + "ĠاسÙĦاÙħ": 103976, + "ĠÑīе": 103977, + "Ġsá»ijng": 103978, + "à¥įब": 103979, + "کار": 103980, + "ĠthuáºŃt": 103981, + "ĠnÃŃ": 103982, + "第ä¸Ģ": 103983, + "è¦ĸ": 103984, + "à¹Ģà¸ģม": 103985, + "اÙĬØ©": 103986, + "ĠÎĪ": 103987, + "ãĤ¶": 103988, + "ĠÙħÙĪÙĤع": 103989, + "ĠåĴ": 103990, + "è¡ĵ": 103991, + "ĠÐŀд": 103992, + "Ġä¸ī": 103993, + "lerinde": 103994, + "ĠÑģвоÑĹ": 103995, + "à¥Ģà¤ı": 103996, + "Ġthương": 103997, + "ÏĥÏĦο": 103998, + "ĠغÙĬر": 103999, + "Ġپر": 104000, + "ĠÑģебе": 104001, + "Ġвк": 104002, + "Ġkhai": 104003, + "ãĤĢ": 104004, + "ĠÙĨظر": 104005, + "ĠдокÑĥм": 104006, + "à¹ĩà¸ļ": 104007, + "ĠíķľêµŃ": 104008, + "ï½ī": 104009, + "å·¥ç¨ĭ": 104010, + "ĠÙĪÙĦ": 104011, + "ØŃÙĬ": 104012, + "Ġпла": 104013, + "Ġİstanbul": 104014, + "âĢĻde": 104015, + "алÑģÑı": 104016, + "ĠØ¢ÙĨÙĩا": 104017, + "ĠاÙĩ": 104018, + "Ġê´Ģ리": 104019, + "Ġanh": 104020, + "Å¡ÃŃm": 104021, + "larla": 104022, + "ï¼Ŀ": 104023, + "nostÃŃ": 104024, + "ÑģÑĤве": 104025, + "ÛĮÙģ": 104026, + "Ġگرد": 104027, + "ãĤĮãĤĭ": 104028, + "Ġvá»±": 104029, + "ÄĽnÃŃ": 104030, + "Ġgörev": 104031, + "Ġyılında": 104032, + "Ġlợi": 104033, + "Ġanlam": 104034, + "ĠпÑĢовод": 104035, + "ÑĨÑİ": 104036, + "Ġåī": 104037, + "Ġë§İ": 104038, + "ÑĢаÑģ": 104039, + "ĠŽ": 104040, + "کاÙĨ": 104041, + "ÐĻ": 104042, + "ãģ£ãģ¨": 104043, + "Ú©ÙĦ": 104044, + "ายà¸Ļ": 104045, + "عاÙĦ": 104046, + "Ġký": 104047, + "ĠмаÑĤеÑĢи": 104048, + "ê»ĺ": 104049, + "ılması": 104050, + "μÎŃν": 104051, + "ĠÙĨÙħÛĮ": 104052, + "Ġcuá»Ļc": 104053, + "Ġδεν": 104054, + "å¹²": 104055, + "____": 104056, + "à¥Ģà¤Ł": 104057, + "Ġçıkar": 104058, + "ĠkonuÅŁ": 104059, + "иÑĤелÑĮно": 104060, + "lantı": 104061, + "à¹Ħล": 104062, + "å¾ĭ": 104063, + "Ġíͼ": 104064, + "ìϏ": 104065, + "Ġsáng": 104066, + "éģĶ": 104067, + "ожд": 104068, + "Ġآخر": 104069, + "ilece": 104070, + "à¥Īन": 104071, + "Ġjedn": 104072, + "ĠÑģпеÑĨи": 104073, + "´Ŀ": 104074, + "ĠÚĺ": 104075, + "ĠãĢĤĊ": 104076, + "èģĮ": 104077, + "ĠÙĨÛĮ": 104078, + "ÑĤоÑĢа": 104079, + "λι": 104080, + "ĠÙĪØ¨": 104081, + "iÅŁim": 104082, + "ç»´": 104083, + "ãĢĢi": 104084, + "Ġmua": 104085, + "Ġjiž": 104086, + "è¶Ĭ": 104087, + "ãĤĴè¦ĭ": 104088, + "Ġná»Ļi": 104089, + "à¥įà¤Ĺ": 104090, + "種": 104091, + "ĠãĢĢãĢĢãĢĢ": 104092, + "à¹ĥหม": 104093, + "ĠÎĨ": 104094, + "ÙĨدÛĮ": 104095, + "ĠÑģÑĩ": 104096, + "Ġlá»ĩ": 104097, + "lub": 104098, + "еÑĢÑĤ": 104099, + "ĠاطÙĦ": 104100, + "ĠÑģеÑĢед": 104101, + "Ġéģ": 104102, + "Ġзал": 104103, + "ÙĨÛĮÙĨ": 104104, + "çŁ¥éģĵ": 104105, + "Ø¢ÙĨ": 104106, + "Ġкап": 104107, + "Ġà¹Ħม": 104108, + "ůvod": 104109, + "ĠپاÛĮ": 104110, + "ÑĤÑĢи": 104111, + "Ġiht": 104112, + "à¹Ĭ": 104113, + "ĠвÑģÑĸ": 104114, + "Ġthay": 104115, + "åĨµ": 104116, + "ĠعÙĨÙĪØ§ÙĨ": 104117, + "ĠÎ¥": 104118, + "à¸Ŀ": 104119, + "εÏĦαι": 104120, + "iyordu": 104121, + "ï¼ĮèĢĮ": 104122, + "çļĦ人": 104123, + "Ġसà¤Ń": 104124, + "à¹īà¸Ńย": 104125, + "ικο": 104126, + "ãĤĵãģ§": 104127, + "족": 104128, + "ÙĨجÙĦÙĬزÙĬØ©": 104129, + "Ġžád": 104130, + "ÑĢави": 104131, + "γγ": 104132, + "æµĭ": 104133, + "оÑĨÑĸ": 104134, + "ãĢĢãĢĢĠãĢĢ": 104135, + "Ġतरह": 104136, + "ĠëĨ": 104137, + "à¥Ģà¤ļ": 104138, + "à¹Īม": 104139, + "Ġgá»ĵm": 104140, + "Ġkiá»ĩn": 104141, + "è·Ł": 104142, + "Φ": 104143, + "esinin": 104144, + "é¥": 104145, + "é«Ķ": 104146, + "оÑĩно": 104147, + "रण": 104148, + "æĺ¥": 104149, + "ç¶ĵ": 104150, + "Ġبار": 104151, + "ê·¼": 104152, + "éĻħ": 104153, + "ĠسÙĬ": 104154, + "ÑģÑĥÑĤ": 104155, + "ìµľ": 104156, + "å±ħ": 104157, + "ĠÄįesk": 104158, + "ÎijÎĿ": 104159, + "Ġdiá»ĩn": 104160, + "Ġεί": 104161, + "à¸ĩà¸Ĺ": 104162, + "ãĤ©": 104163, + "Ġvá»±c": 104164, + "вав": 104165, + "tıģı": 104166, + "Ġëªħ": 104167, + "ην": 104168, + "виÑĤ": 104169, + "ĠØ£Ùĥ": 104170, + "ĠпÑĢоп": 104171, + "rak": 104172, + "ÑĢаÑĤи": 104173, + "ĠÄijánh": 104174, + "ÑĢеп": 104175, + "ê´ij": 104176, + "еÑĨÑĮ": 104177, + "Ġबत": 104178, + "ĠåĮĹ": 104179, + "Ġsát": 104180, + "ledi": 104181, + "ìłģìľ¼ë¡ľ": 104182, + "ůj": 104183, + "Û°Û°": 104184, + "Ġnasıl": 104185, + "ĠÙĪØ³": 104186, + "Ġεξ": 104187, + "вÑĭ": 104188, + "ç½Ĺ": 104189, + "ارÛĮØ®": 104190, + "à¸Ľà¸¥": 104191, + "ίκ": 104192, + "Ġê¸Ī": 104193, + "åĩł": 104194, + "å¼·": 104195, + "è¿Ķ": 104196, + "Ġnhá»ı": 104197, + "å¾Ģ": 104198, + "Ġдаже": 104199, + "Ġçev": 104200, + "кÑĸ": 104201, + "ĠØ£Ùħ": 104202, + "ีส": 104203, + "สามารà¸ĸ": 104204, + "ĠÐĦ": 104205, + "ÑħодиÑĤ": 104206, + "ëĸ": 104207, + "Ġtruyá»ģn": 104208, + "ĠÑģÑĤан": 104209, + "ëĵ¤ìĿĢ": 104210, + "اÙĦت": 104211, + "़à¥ĩ": 104212, + "Ġà¤ħब": 104213, + "æķ¸": 104214, + "ĠдÑĸÑı": 104215, + "ĠÙħتر": 104216, + "Ġë¸": 104217, + "ï¾į": 104218, + "Ġê³¼": 104219, + "ĠزÛĮ": 104220, + "ëŁ¼": 104221, + "ĠÐŁÐµÑĢ": 104222, + "Ġsık": 104223, + "ноÑģÑĤÑĮÑİ": 104224, + "Ġeden": 104225, + "ادر": 104226, + "ãĦ": 104227, + "ĠлеÑĩ": 104228, + "ĠÙĩذÙĩ": 104229, + "ضÙĪØ¹": 104230, + "ĠìķĦëĭĪ": 104231, + "irket": 104232, + "Ġاگر": 104233, + "ĠÑħоÑĩ": 104234, + "Ġбан": 104235, + "íĶĮ": 104236, + "æĢİä¹Ī": 104237, + "èĽ": 104238, + "Ġबà¤ļ": 104239, + "Ġکتاب": 104240, + "çīĮ": 104241, + "Ġдва": 104242, + "جر": 104243, + "ĠпÑĢоÑģÑĤо": 104244, + "Ġà¤Ĩव": 104245, + "Ġmức": 104246, + "į¼": 104247, + "ĠjÃŃ": 104248, + "íİĺ": 104249, + "Ġtamam": 104250, + "åĪĽ": 104251, + "à¸Ĵ": 104252, + "пеÑĩ": 104253, + "à¥ĭस": 104254, + "ĠÑģем": 104255, + "Ġtương": 104256, + "ä¸ģ": 104257, + "ī´": 104258, + "ĠÑĢоÑģ": 104259, + "ĠмаÑĶ": 104260, + "æŃĮ": 104261, + "ĠداÙĨÙĦÙĪØ¯": 104262, + "ĠLoÃłi": 104263, + "Ġedilm": 104264, + "Ġkonu": 104265, + "ĠاÙĦÙħر": 104266, + "ĠulaÅŁ": 104267, + "Ġyüksek": 104268, + "οι": 104269, + "ÙİÙĨ": 104270, + "ĠbÄĽ": 104271, + "ãĤ·ãĥ§ãĥ³": 104272, + " ̄ ̄ ̄ ̄": 104273, + "Ġgüç": 104274, + "ĠاÙĪÙĦ": 104275, + "Ġма": 104276, + "Ġبخش": 104277, + "ाà¤ĸ": 104278, + "ĠвиÑģ": 104279, + "ženÃŃ": 104280, + "Ġzpůsob": 104281, + "znam": 104282, + "ĠرÙĪÛĮ": 104283, + "åĭĿ": 104284, + "।Ċ": 104285, + "ÙĦÙĤ": 104286, + "Ġжиз": 104287, + "ÑĢÑĸв": 104288, + "ĠÑĥпÑĢав": 104289, + "Ġphá»ij": 104290, + "icros": 104291, + "Ġà¹ģà¸ķ": 104292, + "Ġë°ķ": 104293, + "ÙĪØ§Øª": 104294, + "ï¼Įä¸Ģ": 104295, + "анÑģ": 104296, + "ç´ļ": 104297, + "ยà¸Ļ": 104298, + "à¹ģà¸Ĥ": 104299, + "Ġgiáo": 104300, + "äºĮäºĮ": 104301, + "Ġİs": 104302, + "ìĬ¹": 104303, + "Ġolacak": 104304, + "ĠCác": 104305, + "ĠÑĢÑĥб": 104306, + "ẹp": 104307, + "ÄŁiniz": 104308, + "ãģªãģ©": 104309, + "ĠмоÑĢ": 104310, + "ĠÑģдел": 104311, + "ÙĦÙħاÙĨ": 104312, + "ném": 104313, + "å°į": 104314, + "Ġdne": 104315, + "ì¶ľìŀ¥": 104316, + "عب": 104317, + ":::::::": 104318, + "ÎĴ": 104319, + "eket": 104320, + "ĠÑĢеÑĪ": 104321, + "èά": 104322, + "ĠíĻĶ": 104323, + "صد": 104324, + "ĠмаÑĢ": 104325, + "Ñıж": 104326, + "شار": 104327, + "ãģ²": 104328, + "ĠاÙĦÙĬ": 104329, + "Ùį": 104330, + "à¤Ĥà¤ľ": 104331, + "мÑĭ": 104332, + "Ġkarar": 104333, + "ÙĦÛĮسÛĮ": 104334, + "าà¸ĵ": 104335, + "群": 104336, + "Ġolması": 104337, + "Ġhazır": 104338, + "γÏģαÏĨ": 104339, + "¯u": 104340, + "вол": 104341, + "ĠÑģÑĤаÑĢ": 104342, + "ovala": 104343, + "Ġвозмож": 104344, + "Ġдав": 104345, + "風": 104346, + "را": 104347, + "Ġдопом": 104348, + "ê²ĥ": 104349, + "Ġìĺ¬": 104350, + "Ġåİ": 104351, + "Ġ못": 104352, + "uç": 104353, + "íļ": 104354, + "lük": 104355, + "ä¸Ńå¿ĥ": 104356, + "Ġदर": 104357, + "ĠâĹĨ": 104358, + "Ġtay": 104359, + "ĠبسÛĮ": 104360, + "ĠÏĥÏĦα": 104361, + "ĠÙħØ®": 104362, + "ÑıÑī": 104363, + "å·®": 104364, + "à¸ī": 104365, + "ëł¹": 104366, + "à¹ĥà¸Ļà¸ģาร": 104367, + "ĠÙĩÙĨ": 104368, + "ãģ¶": 104369, + "лÑĸд": 104370, + "åį°": 104371, + "Ġsao": 104372, + "ÅĻad": 104373, + "리ëĬĶ": 104374, + "Ñģлед": 104375, + "åĶ®": 104376, + "Ġ|:": 104377, + "æķĻèĤ²": 104378, + "Ġмол": 104379, + "ĠÙĩÙĬ": 104380, + "ëģ": 104381, + "ĠкÑĥлÑĮ": 104382, + "'nin": 104383, + "Ġخر": 104384, + "Ġgenel": 104385, + "Ġtá»Ń": 104386, + "Ġkurul": 104387, + "енÑĤи": 104388, + "à¥ĭà¤ľà¤¨": 104389, + "è¿Ļæł·": 104390, + "ĠмÑĸж": 104391, + "Ġnghiá»ĩm": 104392, + "ĠÏĢολ": 104393, + "æĭĽ": 104394, + "Ġà¤Ĺà¤ı": 104395, + "ầy": 104396, + "Ġcảm": 104397, + "ç´°": 104398, + "rıca": 104399, + "ĠعÙĦÛĮ": 104400, + "ิà¹ī": 104401, + "hur": 104402, + "Ġchưa": 104403, + "ÑĥÑĶÑĤÑĮÑģÑı": 104404, + "ãģ©ãģĨ": 104405, + "Ñĥл": 104406, + "ิร": 104407, + "Ġæľī": 104408, + "ä¼¼": 104409, + "ÑĦеÑĢ": 104410, + "ÑįÑĤомÑĥ": 104411, + "æĹħ": 104412, + "ĠÙħÙĪØ¬": 104413, + "Ġ본": 104414, + "Ġgiá»Ŀ": 104415, + "Ġkiến": 104416, + "à¹Īวย": 104417, + "Ġdüny": 104418, + "ĠزÙħ": 104419, + "овÑĸ": 104420, + "ĠÑĨÑĮого": 104421, + "ิà¸ļ": 104422, + "ĠìĨIJ": 104423, + "èIJ¥": 104424, + "ĠÑĢÑĸз": 104425, + "Ġhá»Ĺ": 104426, + "ÑĢÑĸб": 104427, + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ": 104428, + "ìľ¼ë©°": 104429, + "äºĨä¸Ģ": 104430, + "ĠÙĤبÙĦ": 104431, + "é¾Ļ": 104432, + "Ġگذ": 104433, + "ĠÙĤد": 104434, + "ãģªãģĭãģ£ãģŁ": 104435, + "Ġà¹Ģร": 104436, + "å¸Į": 104437, + "ĠÑģÑħ": 104438, + "ĠгÑĢом": 104439, + "åĽ¢": 104440, + "Ġì§ij": 104441, + "ĠлÑĥÑĩ": 104442, + "åħµ": 104443, + "ĠÐŀÑĤ": 104444, + "Ġmuá»ijn": 104445, + "ãģĺãĤĥ": 104446, + "ovnÃŃ": 104447, + "ë©´ìĦľ": 104448, + "ë³Ģ": 104449, + "Ġнеб": 104450, + "Ñģии": 104451, + "ÙĨÙħ": 104452, + "ÄŁin": 104453, + "Ġtoho": 104454, + "eniz": 104455, + "باش": 104456, + "ĠÑģлÑĥж": 104457, + "Ġbợi": 104458, + "Ġüzere": 104459, + "Ġsadece": 104460, + "ĠÏĢαÏģ": 104461, + "³³³³³³³³³³³³³³³³": 104462, + "èĮĥ": 104463, + "ÏĦικÏĮ": 104464, + "ĠäºĮ": 104465, + "ãĤĪãģĨãģ«": 104466, + "èŀ": 104467, + "ãģ®ãģ¯": 104468, + "ĠÑĥкÑĢаÑĹн": 104469, + "Ġbắt": 104470, + "ван": 104471, + "ĠÑģÑĤÑĢа": 104472, + "è¡Ģ": 104473, + "nutÃŃ": 104474, + "okt": 104475, + "รà¸ĩà¹Ģร": 104476, + "ĠصÙģ": 104477, + "åħļ": 104478, + "ÏĦί": 104479, + "ï¼ģãĢįĊĊ": 104480, + "ĠÑĤемп": 104481, + "é¡Į": 104482, + "Ġsluž": 104483, + "Ñĥков": 104484, + "ĠnghÄ©a": 104485, + "çͲ": 104486, + "Ġdá»ħ": 104487, + "ови": 104488, + "ÏĦÏħ": 104489, + "رÛĮÚ©": 104490, + "ĠAnh": 104491, + "ĠвÑģего": 104492, + "âĢĮÚ©ÙĨ": 104493, + "teÅĻÃŃ": 104494, + "Ġmục": 104495, + "ÙĩÙĨÚ¯": 104496, + "ĠÐŁÐ¾Ñģ": 104497, + "ÚĺÙĩ": 104498, + "ĠاÙĦغ": 104499, + "æĿ¾": 104500, + "ysl": 104501, + "Ġyapılan": 104502, + "çζ": 104503, + "Ġmạnh": 104504, + "راÙĩ": 104505, + "à¸Ķà¸ĩ": 104506, + "oÄį": 104507, + "ë§IJ": 104508, + "åłĤ": 104509, + "маÑĤ": 104510, + "ĠeÅŁ": 104511, + "ÙĪÙħات": 104512, + "Ġساخت": 104513, + "åĽłä¸º": 104514, + "ĠпÑĢий": 104515, + "ılmÄ±ÅŁ": 104516, + "館": 104517, + "ุà¸ĩ": 104518, + "Ġëģ": 104519, + "à¸ķาม": 104520, + "åIJī": 104521, + "μή": 104522, + "Ġæľ¬": 104523, + "Ġzáklad": 104524, + "تØŃ": 104525, + "è¾¼": 104526, + "ĠвÑĸй": 104527, + "ĠÙħÙĨØ·": 104528, + "Ġtoán": 104529, + "каÑĢ": 104530, + "ĠÐĹа": 104531, + "ĠпÑĢимен": 104532, + "ãĤĭãģ¨": 104533, + "ัà¸Ĺ": 104534, + "ÛĮس": 104535, + "ĠاÙĨجاÙħ": 104536, + "ĠعÙĦÙĬ": 104537, + "़ि": 104538, + "ených": 104539, + "ĠLiên": 104540, + "Ġпа": 104541, + "éļĬ": 104542, + "Ġmohou": 104543, + "ĠкÑĸлÑĮ": 104544, + "ĠΤο": 104545, + "اÙĦب": 104546, + "ÎŃν": 104547, + "ĠnabÃŃ": 104548, + "çi": 104549, + "lerden": 104550, + "Ġthanh": 104551, + "Ġbütün": 104552, + "ĠåŁ": 104553, + "ì¸ł": 104554, + "Ġzat": 104555, + "ÙĬÙĪ": 104556, + "Ġμια": 104557, + "uyết": 104558, + "Ñijн": 104559, + "åĪĴ": 104560, + "ливо": 104561, + "à¹Īà¸Ńà¸ĩ": 104562, + "ä»ĸ们": 104563, + "Ġбаг": 104564, + "िà¤Ń": 104565, + "ĠÑĤам": 104566, + "ĠпÑĢеп": 104567, + "ิà¸Ĭ": 104568, + "âĢĻÑıз": 104569, + "ĠPhân": 104570, + "жен": 104571, + "à¥Īà¤ķ": 104572, + "ĠÑģлÑĥÑĩае": 104573, + "Ġ.:": 104574, + "åŃ¦æł¡": 104575, + "İN": 104576, + "義": 104577, + "ĠÑģÑĤо": 104578, + "Ġहर": 104579, + "Ïħν": 104580, + "Ġxem": 104581, + "ĠбÑĥÑĤи": 104582, + "ÑģиÑĤ": 104583, + "çªģ": 104584, + "à¥įà¤Ľ": 104585, + "åij¢": 104586, + "ï¼Įä¹Ł": 104587, + "enÄĽ": 104588, + "Ġκά": 104589, + "iyorum": 104590, + "ĠÚ¯ÙģØª": 104591, + "âĹıâĹıâĹıâĹı": 104592, + "ัม": 104593, + "ĠÐļон": 104594, + "ноÑĪ": 104595, + "ниÑĨÑĤ": 104596, + "üzel": 104597, + "sÃŃ": 104598, + "師": 104599, + "صÙĪÙĦ": 104600, + "çĥŃ": 104601, + "ĠÄijá»§": 104602, + "ãĤ®": 104603, + "æķħ": 104604, + "ĠÅ¡kol": 104605, + "Ñĩен": 104606, + "à¹Ģย": 104607, + "à¸Ļà¸Ļ": 104608, + "ÙĢÙĢÙĢÙĢ": 104609, + "Ġüç": 104610, + "念": 104611, + "ãĥªãĤ¢": 104612, + "ĠíĻĺ": 104613, + "Ġéĩij": 104614, + "çıŃ": 104615, + "ĠÑģклад": 104616, + "Ñıми": 104617, + "üf": 104618, + "Ġhã": 104619, + "ĠÄIJại": 104620, + "ÂĤ": 104621, + "åĦª": 104622, + "Ġbulunan": 104623, + "ĠاÙĦÙħØŃ": 104624, + "æĪı": 104625, + "Ġè©": 104626, + "ĠноÑĢм": 104627, + "Ġchuẩn": 104628, + "ĠзаÑģÑĤ": 104629, + "ĠvÃŃce": 104630, + "Ðĸ": 104631, + "Ġà¤Ĩध": 104632, + "ĠÄįas": 104633, + "ĠбоÑĢ": 104634, + "Ïģια": 104635, + "ĠÙħاÙĩ": 104636, + "Ġíħ": 104637, + "ÅĻel": 104638, + "Ñıви": 104639, + "ÏĦεÏĤ": 104640, + "inÄĽ": 104641, + "ĠпеÑĢе": 104642, + "éķĩ": 104643, + "à¥įà¤ŀ": 104644, + "Ġéĺ": 104645, + "à¹Īาว": 104646, + "รร": 104647, + "ĠسÙĩ": 104648, + "вали": 104649, + "çķĻ": 104650, + "ĠÑĦÑĥнк": 104651, + "Ġíĸī": 104652, + "ÙģÙĩ": 104653, + "çĶŁæ´»": 104654, + "èģŀ": 104655, + "okud": 104656, + "ĠìĤ´": 104657, + "ızı": 104658, + "ĠполÑĥ": 104659, + "ï¼Įä½ł": 104660, + "شاÙĨ": 104661, + "決": 104662, + "бÑĢÑı": 104663, + "оÑģÑĥдаÑĢ": 104664, + "Ġoyun": 104665, + "ании": 104666, + "Ġprů": 104667, + "Ġnáv": 104668, + "ĠменÑı": 104669, + "Ġìŀĺ": 104670, + "Ġİn": 104671, + "ĠthÃŃch": 104672, + "ĠÄijảm": 104673, + "åľĴ": 104674, + "Ġвже": 104675, + "ĠloÃłi": 104676, + "ĠÐŀн": 104677, + "меÑģÑĤ": 104678, + "Ġξ": 104679, + "ãĢħ": 104680, + "Ġchiế": 104681, + "ÑĩÑĸ": 104682, + "Ġíijľ": 104683, + "ëĭ¬": 104684, + "Ġëĭ¬": 104685, + "à¥Ģड": 104686, + "ÑĢалÑĮ": 104687, + "dik": 104688, + "ĠíĨł": 104689, + "ëŁī": 104690, + "ĠصÙĨ": 104691, + "Ġstej": 104692, + "ĠакÑĤив": 104693, + "Ġé¦": 104694, + "Ġà¹Ħà¸Ķ": 104695, + "æĬĢæľ¯": 104696, + "ĠprostÅĻed": 104697, + "害": 104698, + "ãģIJ": 104699, + "ĠoluÅŁtur": 104700, + "elop": 104701, + "ãģ¡ãĤĥ": 104702, + "éĥİ": 104703, + "ضا": 104704, + "Ġخط": 104705, + "ë°ķ": 104706, + "еÑģÑı": 104707, + "ĠÙĩÛĮ": 104708, + "над": 104709, + "ĠngÃłnh": 104710, + "ÑĢÑĥÑĪ": 104711, + "ãģĦãģĦ": 104712, + "Ġürün": 104713, + "à¸Ńà¸ķ": 104714, + "à¥ĭप": 104715, + "Ġsayı": 104716, + "à¥Ģस": 104717, + "ениÑħ": 104718, + "ĠÑģим": 104719, + "à¥Ģद": 104720, + "å¤ī": 104721, + "à¹Īวม": 104722, + "Ġà¹Ģà¸Ĥ": 104723, + "å·²ç»ı": 104724, + "аÑĤо": 104725, + "ĠÑĢайон": 104726, + "íĥĿ": 104727, + "ĠÑĤÑĢа": 104728, + "layan": 104729, + "ếp": 104730, + "à¤¾à¤Ł": 104731, + "خاب": 104732, + "人æ°ij": 104733, + "å®Ŀ": 104734, + "èĨ": 104735, + "èªį": 104736, + "naÄį": 104737, + "Ġîł": 104738, + "ĠÐļи": 104739, + "ĠbaÅŁka": 104740, + "ců": 104741, + "ضع": 104742, + "èĪª": 104743, + "ีม": 104744, + "Ñĭми": 104745, + "ÎĻΣ": 104746, + "Ġشرکت": 104747, + "ยว": 104748, + "ĠmusÃŃ": 104749, + "Ġнал": 104750, + "ีà¸Ĺ": 104751, + "Ġáp": 104752, + "ราย": 104753, + "æ²¹": 104754, + "leme": 104755, + "Ġमन": 104756, + "à¹Ħà¸Ł": 104757, + "аÑĤив": 104758, + "¸ı": 104759, + "èѰ": 104760, + "ÏĥÏĦα": 104761, + "íĸ¥": 104762, + "еÑĤÑĥ": 104763, + "ĠÑģвÑıз": 104764, + "едеÑĢа": 104765, + "Ġخارج": 104766, + "าษ": 104767, + "âĢĮÙ¾": 104768, + "Ñĸг": 104769, + "é¡ŀ": 104770, + "Ġkhả": 104771, + "ĠÑģпÑĢав": 104772, + "è¡Ĺ": 104773, + "ãĥķãĤ¡": 104774, + "ĠмеждÑĥ": 104775, + "Ñĥли": 104776, + "Ġبزر": 104777, + "ÑĨен": 104778, + "Ġekonom": 104779, + "دÙĨ": 104780, + "اÙħÛĮ": 104781, + "าสà¸ķร": 104782, + "ĠnÄĽkol": 104783, + "gün": 104784, + "зи": 104785, + "ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł": 104786, + "离": 104787, + "ĠtrÆ°á»Łng": 104788, + "ıi": 104789, + "íݸ": 104790, + "ĠÑĢеб": 104791, + "åºķ": 104792, + "ĠتارÛĮØ®": 104793, + "нима": 104794, + "Ġthân": 104795, + "аÑĤелÑĮно": 104796, + "ĠاÙĦذÙĬ": 104797, + "ÙĪÙĨÛĮ": 104798, + "Ġéĥ": 104799, + "Ġbình": 104800, + "ικήÏĤ": 104801, + "à¸ŀล": 104802, + "تÙħاع": 104803, + "ĠPraha": 104804, + "ĠÑģÑĤав": 104805, + "دÙĬد": 104806, + "Ġgiữa": 104807, + "ĠпÑĢовед": 104808, + "Âłk": 104809, + "ÙĨدگÛĮ": 104810, + "ÑĨий": 104811, + "çĴ": 104812, + "ĠاÙĦØ£Ùħ": 104813, + "Ġè´": 104814, + "Ø¥ÙĨجÙĦÙĬزÙĬØ©": 104815, + "ĠìŀĪìĹĪëĭ¤": 104816, + "ç·¨": 104817, + "ัà¸Ļà¸ĺ": 104818, + "ĠÑĢокÑĸв": 104819, + "Ġcáo": 104820, + "Ġkhó": 104821, + "ĠÙĨÙĪØ¹": 104822, + "سÙĦ": 104823, + "ĠÑĥÑģлов": 104824, + "Ġcứu": 104825, + "ового": 104826, + "िà¤Ĺ": 104827, + "Ķëĭ¤": 104828, + "æĿİ": 104829, + "Ġbölg": 104830, + "Ġngu": 104831, + "Ġhữu": 104832, + "нии": 104833, + "ìłĪ": 104834, + "ĠпÑĢом": 104835, + "åıĮ": 104836, + "ĠdÆ°á»Ľi": 104837, + "Ю": 104838, + "ÙĬØ´": 104839, + "温": 104840, + "ëıħ": 104841, + "ĠзмÑĸ": 104842, + "θηκε": 104843, + "ĠbaÄŁlı": 104844, + "Ġüzerinde": 104845, + "Ġتغ": 104846, + "ĠпÑĢогÑĢа": 104847, + "iž": 104848, + "Ġç¥": 104849, + "Ġyardım": 104850, + "ÂĢÂĢ": 104851, + "ĠÑĥв": 104852, + "Ġrů": 104853, + "Ġchiến": 104854, + "νοÏĤ": 104855, + "ãģ¨ãģª": 104856, + "اÙĨت": 104857, + "è°·": 104858, + "ÃŃsk": 104859, + "isinde": 104860, + "Ġдог": 104861, + "追": 104862, + "ĠпÑĢоÑĤив": 104863, + "ÏģοÏħ": 104864, + "ãģ®ãģĭ": 104865, + "Ġbazı": 104866, + "ırak": 104867, + "à¥ĩष": 104868, + "ĠÙħشار": 104869, + "Ġìĸij": 104870, + "Ġнез": 104871, + "ĠذÙĦÙĥ": 104872, + "調": 104873, + "åĤĻ": 104874, + "ĠÑĤÑĢан": 104875, + "ĠÏĢαÏģα": 104876, + "ÛĮÙħت": 104877, + "Ġtiến": 104878, + "ĠÙĩÙħÙĩ": 104879, + "efon": 104880, + "».ĊĊ": 104881, + "ĠÙĨد": 104882, + "جÙĦ": 104883, + "ĠدادÙĩ": 104884, + "Ġвед": 104885, + "Ġsın": 104886, + "ĠÑģвÑĸÑĤ": 104887, + "elerin": 104888, + "â΍": 104889, + "Ġyür": 104890, + "дан": 104891, + "ĠÐŀÑģ": 104892, + "Ġhạng": 104893, + "许": 104894, + "ÏĥÏĦη": 104895, + "uyến": 104896, + "Ġнаб": 104897, + "ĠоÑħ": 104898, + "ÏĥÏī": 104899, + "Ġbyly": 104900, + "ÑģкиÑħ": 104901, + "lamak": 104902, + "иÑĤоÑĢ": 104903, + "Ġyatır": 104904, + "ĠпÑĢоизвод": 104905, + "ĠجÙħع": 104906, + "Åł": 104907, + "æıIJä¾Ľ": 104908, + "ĠprvnÃŃ": 104909, + "ĠαÏĢ": 104910, + "íĻ©": 104911, + "ĠпÑĢакÑĤи": 104912, + "lerinden": 104913, + "ĠнеобÑħодимо": 104914, + "康": 104915, + "ÙİØ§": 104916, + "ĠسÙĨ": 104917, + "İL": 104918, + "Ġê´ij": 104919, + "ĠPÅĻ": 104920, + "çŀ": 104921, + "ĠÑĤемпеÑĢаÑĤÑĥ": 104922, + "Ġkabul": 104923, + "Ġbudou": 104924, + "ÑĨÑĸоналÑĮ": 104925, + "ï½ľ": 104926, + "Ġçocuk": 104927, + "ĠÑĤÑĸлÑĮки": 104928, + "byt": 104929, + "ãĥ¤": 104930, + "ĠÑģÑĤаÑĤ": 104931, + "ĠæĿ±": 104932, + "ležit": 104933, + "اسطة": 104934, + "ุร": 104935, + "iêm": 104936, + "ĠкÑĥлÑĮÑĤÑĥ": 104937, + "Ġпон": 104938, + "Ä©nh": 104939, + "åĸľ": 104940, + "нев": 104941, + "ÑĶн": 104942, + "ĠÑģооÑĤ": 104943, + "ëĿ": 104944, + "çξ": 104945, + "Ġtuá»ķi": 104946, + "kanı": 104947, + "สำหร": 104948, + "اعت": 104949, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 104950, + "деÑĢж": 104951, + "ĠоблаÑģÑĤи": 104952, + "Ġvừa": 104953, + "ĠÙħÙħ": 104954, + "à¸ģำ": 104955, + "à¹ģม": 104956, + "iversit": 104957, + "à¹ģส": 104958, + "欧": 104959, + "lanan": 104960, + "ÙĬÙĨØ©": 104961, + "سة": 104962, + "ĠлÑİдей": 104963, + "รรม": 104964, + "Ġì±Ħ": 104965, + "Ġ天": 104966, + "еннÑĭÑħ": 104967, + "à¹ģห": 104968, + "Ġspráv": 104969, + "èѦ": 104970, + "ï¼ľ": 104971, + "ัà¸Ĵ": 104972, + "ilecek": 104973, + "ĠæŁ": 104974, + "Ġèĭ±": 104975, + "ĠÑħоÑĢоÑĪ": 104976, + "ëłĩ": 104977, + "Û²Û°Û°": 104978, + "æĬ¤": 104979, + "Ġlã": 104980, + "ÅĻÃŃzenÃŃ": 104981, + "ĠتÙĪÙĦÛĮد": 104982, + "éļĽ": 104983, + "ãĤĮãģ°": 104984, + "áš": 104985, + "ارÙĬØ®": 104986, + "æĶ»": 104987, + "Ġkhoảng": 104988, + "éĻį": 104989, + "ован": 104990, + "Ġgây": 104991, + "âĢĻnın": 104992, + "Ø£ÙĨ": 104993, + "miÅŁtir": 104994, + "Ġsức": 104995, + "кÑĥÑģ": 104996, + "Ġüzerine": 104997, + "ÄŁÃ¼": 104998, + "ابر": 104999, + "ï¼Įå°±": 105000, + "Ì£": 105001, + "ĠëıĮ": 105002, + "Ġtrá»±c": 105003, + "æĶ¶å½ķ": 105004, + "æī¿": 105005, + "ĠNá»Ļi": 105006, + "ĠçϾ": 105007, + "ÑĪÑĮ": 105008, + "جة": 105009, + "ë²ł": 105010, + "à¤ī": 105011, + "à¸ı": 105012, + "Ġülk": 105013, + "ĠÙĩستÙĨد": 105014, + "ัà¸ļà¸ģาร": 105015, + "ĠÑıка": 105016, + "ãİ": 105017, + "ĠЯк": 105018, + "Ġгде": 105019, + "tiv": 105020, + "ãĢĪ": 105021, + "лÑİÑĩа": 105022, + "ा।Ċ": 105023, + "ĠÙħاÙĨ": 105024, + "Ġdlou": 105025, + "Ġãĥķ": 105026, + "à¤Ľ": 105027, + "Ġphục": 105028, + "akat": 105029, + "Ь": 105030, + "asını": 105031, + "ĠæĬķ稿": 105032, + "ÑĢев": 105033, + "Ġvyt": 105034, + "ĠzmÄĽ": 105035, + "ÏĦÏī": 105036, + "è¬": 105037, + "ĠÑĥм": 105038, + "Ġuzun": 105039, + "Ġproti": 105040, + "ĠÑģоÑģÑĤоÑı": 105041, + "ัà¸Ĵà¸Ļ": 105042, + "atik": 105043, + "Ġà¸ł": 105044, + "Ġà¤Ĩद": 105045, + "larından": 105046, + "æĢ¥": 105047, + "ãĥ¼ãĤ¯": 105048, + "ĠÙĦÙĦÙħ": 105049, + "ÙģØªÙĩ": 105050, + ".:.": 105051, + "üçük": 105052, + "олева": 105053, + "à¹ĮĊ": 105054, + "ĠпеÑĢев": 105055, + "ĠÙĨسب": 105056, + "еленнÑı": 105057, + "'ın": 105058, + "νÏī": 105059, + "è¡£": 105060, + "ĠدÙĬ": 105061, + "åįĩ": 105062, + "Ġbelirt": 105063, + "Ġ/:": 105064, + "èijī": 105065, + "Ġvyh": 105066, + "çļĦä¸Ģ": 105067, + "èĥĮ": 105068, + "ĠìĹ´": 105069, + "ола": 105070, + "Ġتب": 105071, + "áci": 105072, + "ाà¤ī": 105073, + "à¸İ": 105074, + "çĶ¢": 105075, + "à¥Īल": 105076, + "ĠÙĤØ·": 105077, + "ëĦĪ": 105078, + "ắm": 105079, + "ÑĢÑıд": 105080, + "Ġphụ": 105081, + "ĠÙĪØ§ÙĤع": 105082, + "Ġmerk": 105083, + "Ġchá»ijng": 105084, + "å¯Ł": 105085, + "ابط": 105086, + "usunda": 105087, + "Ġодна": 105088, + "žel": 105089, + "ĠÑģÑĥм": 105090, + "Ġphù": 105091, + "Ġζ": 105092, + "Ġzav": 105093, + "edn": 105094, + "ĠpotÅĻeb": 105095, + "ĠÚ©ÙĨÙĨد": 105096, + "ĠÑĢазв": 105097, + "¿ł": 105098, + "ĠاÙĦز": 105099, + "ĠmÄĽl": 105100, + "ĠÑģÑĤанов": 105101, + "ĠدرÛĮ": 105102, + "Ġtượng": 105103, + "ãģµ": 105104, + "Ġдви": 105105, + "ÑĮÑı": 105106, + "製": 105107, + "ĠتÙĦ": 105108, + "šť": 105109, + "ãģªãĤī": 105110, + "Ġà¤ķà¤Ī": 105111, + "Å¡i": 105112, + "âĢĮاست": 105113, + "Ġkỹ": 105114, + "ë§Ŀ": 105115, + "Ġà¤Ĩà¤ľ": 105116, + "ãĥ´": 105117, + "Ġbá»ı": 105118, + "duÄŁu": 105119, + "Ġæ¯": 105120, + "пеÑĢ": 105121, + "اÙĦÙĬØ©": 105122, + "æīĢ以": 105123, + "åħ°": 105124, + "Ġoran": 105125, + "Ġíŀ": 105126, + "Ïĥία": 105127, + "Ġphá»§": 105128, + "ĠбÑĭла": 105129, + "Ñĩива": 105130, + "Ġê°Ħ": 105131, + "олÑĸ": 105132, + "Ùĥت": 105133, + "åħ§": 105134, + "à¥Ĥà¤Ł": 105135, + "Ġëĸ": 105136, + "ĠÙĦÙĩ": 105137, + "ëłĪìĿ´": 105138, + "Ġhız": 105139, + "å¤ı": 105140, + "ĠæĬķ稿æĹ¥": 105141, + "éļ¾": 105142, + "ĵ°": 105143, + "глÑıд": 105144, + "ìn": 105145, + "ĠмеÑĢ": 105146, + "ĠãĢij": 105147, + "ĠобÑī": 105148, + "umhur": 105149, + "çł´": 105150, + "лиÑģÑĮ": 105151, + "spÄĽ": 105152, + "رÙĬÙĤ": 105153, + "ĠتÙģ": 105154, + "ĠاÙĦÙĪ": 105155, + "çµ±": 105156, + "алоÑģÑĮ": 105157, + "Ġmô": 105158, + "Ġvá»ĩ": 105159, + "Ġδι": 105160, + "Ġзн": 105161, + "ĠبØŃ": 105162, + "تÙī": 105163, + "Ġì§ģ": 105164, + "Ġvelmi": 105165, + "uyá»ħn": 105166, + "Ġphạm": 105167, + "ÑģÑĤвом": 105168, + "ĠÙĪØ§ÙĦÙħ": 105169, + "ĠбÑĭли": 105170, + "اذ": 105171, + "ÄĽÅĻ": 105172, + "âĦĸ": 105173, + "Ġполож": 105174, + "าà¸ģาร": 105175, + "ĠÄįlán": 105176, + "ÎķΡ": 105177, + "ĠìĤ°": 105178, + "βα": 105179, + "ĠæĹ¥æľ¬": 105180, + "زد": 105181, + "ĠÙĨÛĮست": 105182, + "Ġhayat": 105183, + "確": 105184, + "à¹Ģวล": 105185, + "ĠChÃŃnh": 105186, + "ï¼Įæĺ¯": 105187, + "ĠÙĪØ§ØŃ": 105188, + "èı¯": 105189, + "ĠήÏĦαν": 105190, + "Ġxá»Ń": 105191, + "ĠÄįerv": 105192, + "ĠÙħدÛĮر": 105193, + "éĨ": 105194, + "ĠëĪĪ": 105195, + "ç»Ń": 105196, + "Ġtên": 105197, + "ìĸ¸": 105198, + "Ġortaya": 105199, + "Ġжен": 105200, + "ĠnÆ¡i": 105201, + "еннÑĭе": 105202, + "ÑĦекÑĤив": 105203, + "íĿ¬": 105204, + "Ġkhá»ı": 105205, + "ĠÄija": 105206, + "osyal": 105207, + "à¸Ľà¸£à¸°à¹Ģà¸Ĺศ": 105208, + "Ġodst": 105209, + "Ġà¸ĸ": 105210, + "ĠοÏĢο": 105211, + "æĶ¿åºľ": 105212, + "ĠbÃłn": 105213, + "ĠGiá»": 105214, + "Ġolduk": 105215, + "ование": 105216, + "à¸Ńส": 105217, + "Ġнев": 105218, + "ÏĦÏģο": 105219, + "ĠìĨį": 105220, + "kı": 105221, + "Ġबड": 105222, + "ĠÏħÏĢ": 105223, + "ĠVý": 105224, + "ï¾Ħ": 105225, + "çŃĸ": 105226, + "εÏĨ": 105227, + "Ġåħ¨": 105228, + "ĠÙ쨱ÙĪØ´": 105229, + "ÙĤÛĮÙĤ": 105230, + "ä¼ģä¸ļ": 105231, + "εÏį": 105232, + "èĻŁ": 105233, + "Ġayr": 105234, + "ضÙĪ": 105235, + "Å¡el": 105236, + "ĠпÑĸÑģлÑı": 105237, + "ÑĸйÑģ": 105238, + "é¢Ĩ": 105239, + "کتر": 105240, + "лÑĥб": 105241, + "è«ĸ": 105242, + "æ°¸": 105243, + "езпеÑĩ": 105244, + "Ġкам": 105245, + "عداد": 105246, + "ê±°ëŀĺ": 105247, + "ูà¸ĩ": 105248, + "ĠتÙĩراÙĨ": 105249, + "ĠëĦĪ": 105250, + "ÑĢив": 105251, + "ĠÑĤоÑĢ": 105252, + "اÙī": 105253, + "'Ñıз": 105254, + "ÙIJÙĬ": 105255, + "ĠkhÃŃ": 105256, + "ĠÑĪÑĤ": 105257, + "Ġξε": 105258, + "Ġbiri": 105259, + "èĩ´": 105260, + "Ñĥвав": 105261, + "ãģĪãĤĭ": 105262, + "ĠдиÑģ": 105263, + "аÑİÑĤ": 105264, + "صب": 105265, + "åĿĩ": 105266, + "олÑİ": 105267, + "èĭ¥": 105268, + "Ġاث": 105269, + "sou": 105270, + "åIJĥ": 105271, + "ãģ®ãģł": 105272, + "ublik": 105273, + "лей": 105274, + "Âłm": 105275, + "Ġíıīê·ł": 105276, + "ạy": 105277, + "εÏĢ": 105278, + "tık": 105279, + "Ġvyu": 105280, + "عÙĪØ¯": 105281, + "Ġдоз": 105282, + "Ġlá»ĭch": 105283, + "質": 105284, + "à¥ģà¤Ī": 105285, + "ัà¸ŀ": 105286, + "Ġtém": 105287, + "Ġkaç": 105288, + "Ġcái": 105289, + "Ġμα": 105290, + "â̦â̦ãĢįĊĊ": 105291, + "íά": 105292, + "رÙĪÙĩ": 105293, + "Ġrych": 105294, + "ÎijΤ": 105295, + "ĠÑĢÑĸв": 105296, + "ë³ij": 105297, + "åģ¥": 105298, + "Ġzdrav": 105299, + "Ġعدد": 105300, + "èįī": 105301, + "δια": 105302, + "ĠváºŃn": 105303, + "ÑĭÑĤ": 105304, + "ĠколиÑĩ": 105305, + "ÏĮÏĦε": 105306, + "Ġbırak": 105307, + "ĠØŃÙħ": 105308, + "Ġchá»ĭ": 105309, + "é»Ħ": 105310, + "ĠاÙĦÙħتØŃدة": 105311, + "ืà¸Ńà¸ģ": 105312, + "Ġзали": 105313, + "Ġnhanh": 105314, + "âĢĮتÙĪØ§ÙĨ": 105315, + "ëĿ½": 105316, + "ĠتÙĪØ³Ø·": 105317, + "è¦ģæ±Ĥ": 105318, + "алÑĥ": 105319, + "ünkü": 105320, + "ãģªãĤĵ": 105321, + "ĠTrong": 105322, + "à¸Ļะ": 105323, + "åij¼": 105324, + "ĠÙĬÙħ": 105325, + "ики": 105326, + "ĠÑĤÑĥÑĤ": 105327, + "ĠyaÅŁam": 105328, + "Ġmá»įi": 105329, + "éĽĦ": 105330, + "ĠØŃض": 105331, + "ĠавÑĤом": 105332, + "Ġसबस": 105333, + "Ġyếu": 105334, + "ãĤ¹ãĤ¿": 105335, + "Ïĩή": 105336, + "ÑĸÑİ": 105337, + "èĺ": 105338, + "ิย": 105339, + "Ġmev": 105340, + "ického": 105341, + "िह": 105342, + "åŃ£": 105343, + "θή": 105344, + "Ġबढ": 105345, + "ĠاÙĦÙħس": 105346, + "ÏĦοÏħ": 105347, + "ekli": 105348, + "ĠдеÑĢев": 105349, + "å¸Ń": 105350, + "æ²Ļ": 105351, + "ãģ«ãĤĤ": 105352, + "Ġoblast": 105353, + "Ġhá»Ļ": 105354, + "Ġå¹³": 105355, + ".:.:.:.:.:.:.:.:": 105356, + "Ġéĸ": 105357, + "Ġجز": 105358, + "ĠÙĩÙħÚĨ": 105359, + "並": 105360, + "ÑĨеп": 105361, + "ाĊ": 105362, + "ä¸ŃçļĦ": 105363, + "'nın": 105364, + "ĠíķĺëĬĶ": 105365, + "ÑĶÑĹ": 105366, + "Ġبش": 105367, + "åį´": 105368, + "ä¹ł": 105369, + "ĠاطÙĦاعات": 105370, + "Ġë²ł": 105371, + "ĠکردÙĨ": 105372, + "ाड": 105373, + "Ġà¤ħर": 105374, + "ĠHá»į": 105375, + "ĠгÑĢомад": 105376, + "Ġست": 105377, + "ÏĦιÏĤ": 105378, + "Ġancak": 105379, + "Ġог": 105380, + "ĠkteÅĻÃŃ": 105381, + "Ġæ¬": 105382, + "ĠNgh": 105383, + "Ġtedy": 105384, + "ĠÏĢο": 105385, + "Ġquân": 105386, + "ĠбÑĥли": 105387, + "è¯Ĩ": 105388, + "Ġtừng": 105389, + "人çļĦ": 105390, + "ีà¸ģาร": 105391, + "ĠκαÏĦα": 105392, + "Ġpouze": 105393, + "¡ng": 105394, + "Ġآر": 105395, + "ĠÑĤÑĥ": 105396, + "Ġtá»·": 105397, + "ĠDanh": 105398, + "оном": 105399, + "Ñģий": 105400, + "Ġà¹Ģà¸Ķ": 105401, + "£¨": 105402, + "Å¡k": 105403, + "ãĥĥãĥī": 105404, + "ardır": 105405, + "Ġyönet": 105406, + "Ñĥвали": 105407, + "åħĪçĶŁ": 105408, + "ĠÐIJÑĢ": 105409, + "Ġprotože": 105410, + "Ġíģ¬": 105411, + "Ġjednot": 105412, + "Ġtý": 105413, + "éĩĩ": 105414, + "Ġหร": 105415, + "Ġåľ°": 105416, + "红": 105417, + "Ġмолод": 105418, + "iêng": 105419, + "ĠÏĮÏĦι": 105420, + "ĠداشتÙĩ": 105421, + "Ġuygun": 105422, + "ĠопеÑĢа": 105423, + "åı«": 105424, + "Ġап": 105425, + "ĠкÑĥÑĢ": 105426, + "اعة": 105427, + "unuz": 105428, + "ĠìĤ¬ì§Ħ": 105429, + "Ġvô": 105430, + "çok": 105431, + "Ġèģ": 105432, + "ÑĤеÑĢеÑģ": 105433, + "ĠاستاÙĨ": 105434, + "алаÑģÑĮ": 105435, + "à¥ģव": 105436, + "ỳ": 105437, + "Ġlưu": 105438, + "ĠТа": 105439, + "Ġlá»±a": 105440, + "'ÑĶ": 105441, + "Ġüy": 105442, + "ĠÛĮÚ©ÛĮ": 105443, + "æ¾": 105444, + "нем": 105445, + "ĠخاÙĨ": 105446, + "ĠÑįлек": 105447, + "ÙĤاÙĦ": 105448, + "лок": 105449, + "ĠÄijẹp": 105450, + "à¥īल": 105451, + "Ġmůž": 105452, + "ëĭ¤ëĬĶ": 105453, + "ĠíķĺëĤĺ": 105454, + "ÙĦت": 105455, + "çİ°åľ¨": 105456, + "мо": 105457, + "ÏħÏĥ": 105458, + "ãģŁãģ¡": 105459, + "ĠìłĦìĦ¸": 105460, + "à¥įà¤Łà¤°": 105461, + "عات": 105462, + "دÙĪ": 105463, + "俺": 105464, + "楽": 105465, + "森": 105466, + "ĠлиÑģÑĤ": 105467, + "δι": 105468, + "å¯Į": 105469, + "ĠÄijưa": 105470, + "веÑģÑĤи": 105471, + "до": 105472, + "аннÑĸ": 105473, + "Ġüret": 105474, + "Ġgá»įi": 105475, + "ĠÑģвоÑİ": 105476, + "ừng": 105477, + "Ġtất": 105478, + "äºļæ´²": 105479, + "áce": 105480, + "NÃį": 105481, + "ĠÑĢÑĭ": 105482, + "满": 105483, + "ÏģεÏĤ": 105484, + "åħįè´¹": 105485, + "лоÑĤ": 105486, + "æĻº": 105487, + "Ġαγ": 105488, + "Ġà¤ħम": 105489, + "Ġç´": 105490, + "одо": 105491, + "Ñħи": 105492, + "Ġnguá»ĵn": 105493, + "éĥ¨åĪĨ": 105494, + "ваÑĤ": 105495, + "ĠÑĤеб": 105496, + "заÑĨÑĸÑĹ": 105497, + "ĠÐŁÑĢо": 105498, + "عÛĮ": 105499, + "ĠÙĪÙĬ": 105500, + "ëŀľ": 105501, + "Ġneby": 105502, + "ĠجدÛĮد": 105503, + "ÄŁimiz": 105504, + "£½": 105505, + "Ġà¤Ĩत": 105506, + "Ġà¤Ńर": 105507, + "æīĺ": 105508, + "å®īåħ¨": 105509, + "Ġëĵ¤ìĸ´": 105510, + "برد": 105511, + "Ġê²ĥìĿ´": 105512, + "亲": 105513, + "æ°ı": 105514, + "алÑĸз": 105515, + "lack": 105516, + "ĠÙħختÙĦÙģ": 105517, + "اÙĨÙĬØ©": 105518, + "Ġì²Ń": 105519, + "ĠвиÑĤ": 105520, + "Ġhareket": 105521, + "é¨": 105522, + "à¸Ļำ": 105523, + "Ġبرخ": 105524, + "売": 105525, + "Ñĩай": 105526, + "Ġanlat": 105527, + "Ġà¤ħव": 105528, + "ĠاÙ쨲": 105529, + "Ġhết": 105530, + "ĠÚĨÙĨد": 105531, + "éĹľ": 105532, + "пÑĢиÑĶм": 105533, + "gı": 105534, + "Ġkomp": 105535, + "ĠlỼp": 105536, + "Ġmá»Ĺi": 105537, + "à¸Ľà¸£à¸°à¸ģ": 105538, + "Ġhaf": 105539, + "Ġeder": 105540, + "ĠздоÑĢов": 105541, + "à¥Ĥम": 105542, + "본": 105543, + "Ġonun": 105544, + "ĠÙħردÙħ": 105545, + "ĠÐľÐ°ÑĢ": 105546, + "Ġìĸ´ëĸ": 105547, + "ман": 105548, + "ĠÑģилÑĮ": 105549, + "ç¶²": 105550, + "ë¸Ķ": 105551, + "лÑıеÑĤ": 105552, + "ĠнеÑģколÑĮко": 105553, + "landır": 105554, + "Ġвд": 105555, + "ĠÙĨÙĪ": 105556, + "ãģİ": 105557, + "ÑĤин": 105558, + "تش": 105559, + "аний": 105560, + "ĠtÅĻ": 105561, + "ÑģиÑħ": 105562, + "лом": 105563, + "æŃ©": 105564, + "ãİ¡": 105565, + "ĠØŃر": 105566, + "æĭį": 105567, + "enou": 105568, + "Ġвели": 105569, + "Ġδη": 105570, + "ska": 105571, + "主è¦ģ": 105572, + "اÙ쨩": 105573, + "ĠболÑĮÑĪе": 105574, + "ิศ": 105575, + "çĽĬ": 105576, + "ĠÙģÙĤØ·": 105577, + "å¨ģ": 105578, + "ĠhÆ°á»Łng": 105579, + "ĠDoÄŁ": 105580, + "ĠdÃłi": 105581, + "ĠгоÑĤов": 105582, + "Ġвам": 105583, + "âĢī": 105584, + "ाà¤ļ": 105585, + "åħ¸": 105586, + "à¹ĥหà¸į": 105587, + "Ġç«": 105588, + "ektör": 105589, + "Ġвел": 105590, + "ĠÙĦÙĪ": 105591, + "شتÙĩ": 105592, + "æĺ¾": 105593, + "ảy": 105594, + "à¹Ĥม": 105595, + "Ġtá»ķng": 105596, + "ĠповеÑĢÑħ": 105597, + "ÑĹв": 105598, + "Ġphép": 105599, + "çļĩ": 105600, + "ĠпоÑĢÑıд": 105601, + "ĠÑģооÑĤвеÑĤ": 105602, + "à¤Ŀ": 105603, + "ĠÑģебÑı": 105604, + "ĠëĤł": 105605, + "ĠбÑĥла": 105606, + "à¹īาย": 105607, + "ĠãĢĢãĢĢãĢĢãĢĢ": 105608, + "ĠÙħجÙħÙĪØ¹": 105609, + "ï¼Į以": 105610, + "ĠبÙĪØ¯Ùĩ": 105611, + "μÏĮ": 105612, + "Ġíݸ": 105613, + "eÅŁit": 105614, + "ÑİÑīие": 105615, + "ÑİÑīиÑħ": 105616, + "åŁºéĩij": 105617, + "ĠتØŃت": 105618, + "ĠвлаÑģ": 105619, + "lerle": 105620, + "ãĤ²": 105621, + "ëĬĺ": 105622, + "èĵ": 105623, + "manın": 105624, + "ìŀĪ": 105625, + "Ġzast": 105626, + "ĠÑĩеловек": 105627, + "à¥ĩब": 105628, + "peÄį": 105629, + "ĠبرÙĨاÙħÙĩ": 105630, + "Ġslov": 105631, + "ĠnÄĽjak": 105632, + "ê·ľ": 105633, + "à¥ĩह": 105634, + "èŤ": 105635, + "ĠبÛĮشتر": 105636, + "iliz": 105637, + "ĠëĶĶ": 105638, + "ازÙĩ": 105639, + "تد": 105640, + "Ġetm": 105641, + "Ġëĭ¤ë¥¸": 105642, + "Ġvů": 105643, + "å°Ħ": 105644, + "ĠклаÑģ": 105645, + "вÑĢоп": 105646, + "æ´¾": 105647, + "ĠÄijình": 105648, + "ÑĥÑİÑĤ": 105649, + "ÑĥеÑĤÑģÑı": 105650, + "éľ²": 105651, + "ĠÑģкоÑĢ": 105652, + "ĠваÑģ": 105653, + "íķĺìĺĢëĭ¤": 105654, + "Ġداشت": 105655, + "ĠçĦ": 105656, + "Ġ西": 105657, + "ĠκαÏĦά": 105658, + "०": 105659, + "ìĹĨ": 105660, + "ĠخدÙħ": 105661, + "اسÙħ": 105662, + "ÎijΡ": 105663, + "ĠAma": 105664, + "奥": 105665, + "Ġبزرگ": 105666, + "ĠÐĴÑĸн": 105667, + "ĠÅĺ": 105668, + "Ġà¸Īาà¸ģ": 105669, + "ĠÑħаÑĢакÑĤеÑĢ": 105670, + "ĠÄijá»Ļi": 105671, + "ĠÑĢозвиÑĤ": 105672, + "ĠпÑĢоÑĦеÑģ": 105673, + "ĠконÑĤÑĢ": 105674, + "ÎŁÎĽ": 105675, + "Ġminh": 105676, + "ä¼ij": 105677, + "쪽": 105678, + "ĠchÆ¡i": 105679, + "заÑĨии": 105680, + "ĠдÑĸÑıлÑĮ": 105681, + "ëĨ": 105682, + "Ġngay": 105683, + "à¥Ĥà¤Ĥ": 105684, + "Ġihtiy": 105685, + "éĽª": 105686, + "Ġê´Ģ리ìŀIJ": 105687, + "Ġcụ": 105688, + "Ġì§Ī": 105689, + "ÙĬØ«": 105690, + "ặp": 105691, + "ÙĪØ§Ø¹": 105692, + "ãģĤãģ£ãģŁ": 105693, + "Ġçľ": 105694, + "Ġìļ°ë¦¬": 105695, + "à¹Īà¸ĩà¸Ĥ": 105696, + "ĠçŃ": 105697, + ")ØĮ": 105698, + "Ãłm": 105699, + "ÙĦÛĮÙĦ": 105700, + "Ġ걸": 105701, + "алÑĮниÑħ": 105702, + "æĹ¶åĢĻ": 105703, + "undan": 105704, + "ĠGün": 105705, + "Ġtopl": 105706, + "ĠÑĢекомен": 105707, + "ĠاÙĨتخاب": 105708, + "Ãłu": 105709, + "Äįka": 105710, + "ë°Ģ": 105711, + "ĠкÑĢаÑģ": 105712, + "лоп": 105713, + "å¼µ": 105714, + "ĠاÙĦÙħع": 105715, + "mÃŃn": 105716, + "Ġviết": 105717, + "Ġê°ĻìĿĢ": 105718, + "uteÄį": 105719, + "Ġnech": 105720, + "çµĤ": 105721, + "ãģªãģĮ": 105722, + "ayın": 105723, + "ĠÄįin": 105724, + "cházÃŃ": 105725, + "اÙ쨏": 105726, + "ÑĢоваÑĤÑĮ": 105727, + "à¹Ħร": 105728, + "ĠãĤ¤": 105729, + "Ġзаболева": 105730, + "Ġå±±": 105731, + "Ġkadın": 105732, + "ÏĦηÏĤ": 105733, + "алиÑģÑĮ": 105734, + "Ġhük": 105735, + "åĵ¥": 105736, + "ĠпеÑĢи": 105737, + "ÅĻád": 105738, + "Ġà¤ħस": 105739, + "ĠÑģÑĤвоÑĢ": 105740, + "ĠÙĪÛĮÚ©ÛĮ": 105741, + "Ġì¡": 105742, + "Ġcá»Ńa": 105743, + "Ġhiá»ĥu": 105744, + "游æĪı": 105745, + "ÑĮомÑĥ": 105746, + "Ġgó": 105747, + "Ġtoh": 105748, + "Ġбла": 105749, + "Ġåij": 105750, + "Ġпло": 105751, + "иÑĪ": 105752, + "ĠÄijấu": 105753, + "skou": 105754, + "ãĤĪãĤĬ": 105755, + "à¸¹à¸Ľ": 105756, + "Ġrá»ĵi": 105757, + "опÑĢоÑģ": 105758, + "нолог": 105759, + "ĠÑĤÑĢав": 105760, + "ĠWayback": 105761, + "Ġà¹Ĩ": 105762, + "ĠÑĥÑĩаÑģÑĤ": 105763, + "ĠпÑĢепаÑĢа": 105764, + "Ġdạng": 105765, + "ĠÃľn": 105766, + "à¹Ħลà¸Ļ": 105767, + "Ġداخ": 105768, + "ĠsÆ¡": 105769, + "Ġkoy": 105770, + "ëĿ¼ê³ł": 105771, + "ĠÄijúng": 105772, + "à¥ĩà¤Ĥ,": 105773, + "Ġgeçir": 105774, + "ĠÑıкÑīо": 105775, + "ÑģÑĤÑĢо": 105776, + "енÑĤов": 105777, + "Ñĸж": 105778, + "кÑĥÑİ": 105779, + "ĠeÄŁitim": 105780, + "à¥įरस": 105781, + "ĠСп": 105782, + "اتÛĮ": 105783, + "ãģijãĤĭ": 105784, + "ÏĦÏīν": 105785, + "Ġкм": 105786, + "âĸįâĸįâĸįâĸį": 105787, + "jist": 105788, + "ÑĤак": 105789, + "ĠåIJįåīį": 105790, + "é¡Ķ": 105791, + "лÑĭ": 105792, + "Ġkhảo": 105793, + "âĢĻÑı": 105794, + "ĠÙħÙĦÛĮ": 105795, + "lož": 105796, + "Ġìĸ¸": 105797, + "Ġgần": 105798, + "Ġà¤ľà¤°": 105799, + "बर": 105800, + "ÎķΣ": 105801, + "à¸²à¸Ľ": 105802, + "Ġnás": 105803, + "formace": 105804, + "Ġetmek": 105805, + "веÑģÑĤ": 105806, + "ìĸ´ìļĶ": 105807, + "Ġतथ": 105808, + "ĠÑģек": 105809, + "ξη": 105810, + "æ¯Ľ": 105811, + "Bir": 105812, + "ĠìŀĦ": 105813, + "Ġvardır": 105814, + "ÙĪØ§ÙĦ": 105815, + "İR": 105816, + "ované": 105817, + "наÑĢод": 105818, + "à¸Ħำ": 105819, + "emek": 105820, + "ĠÎķÏĢ": 105821, + "ĠÅĻe": 105822, + "ãģ¾ãģĽ": 105823, + "uyá»ĩt": 105824, + "Ġìĸ¼": 105825, + "rů": 105826, + "Ġonu": 105827, + "à¹Ģà¸ķà¸Ńร": 105828, + "одаÑĢ": 105829, + "زÙĩ": 105830, + "Ġkav": 105831, + "онÑĭ": 105832, + "ĠвеÑģ": 105833, + "ìĤ¬ì§Ģ": 105834, + "Ġгла": 105835, + "ÃĿ": 105836, + "ĠÙĤÛĮÙħت": 105837, + "çķ¥": 105838, + "à¸ĸาà¸Ļ": 105839, + "Äįil": 105840, + "Ġä¸ĩ": 105841, + "è¾ĥ": 105842, + "åħħ": 105843, + "ĠÑĢед": 105844, + "มห": 105845, + "amilia": 105846, + "à¥ĩà¤ķर": 105847, + "Ġtá»iji": 105848, + "ÙģÛĮ": 105849, + "ÑĢÑĸÑĪ": 105850, + "ìķł": 105851, + "à¸Ļส": 105852, + "à¸Īร": 105853, + "à¥ĩशन": 105854, + "ĠÙħÙĪØ¶ÙĪØ¹": 105855, + "æī¹": 105856, + "Ġobsah": 105857, + "ĠнавÑĩ": 105858, + "Ġdestek": 105859, + "Ġzas": 105860, + "åĵį": 105861, + "ümüz": 105862, + "ĠçŁ": 105863, + "Ġè¨": 105864, + "Ù¬": 105865, + "ç»Ī": 105866, + "Ġzde": 105867, + "Ġzáp": 105868, + "à¥Ĥसर": 105869, + "ìĿ´ì§Ģ": 105870, + "çļ®": 105871, + "lom": 105872, + "१": 105873, + "ÙĦاÙĤ": 105874, + "à¸Ļà¸ķ": 105875, + "íĮħ": 105876, + "лада": 105877, + "masına": 105878, + "ãģ®ãģ§": 105879, + "ëĵ¤ìĿĦ": 105880, + "Ġнаг": 105881, + "masını": 105882, + "ãĤĿ": 105883, + "ınıf": 105884, + "åĽ´": 105885, + "Ġbölüm": 105886, + "å¥ĸ": 105887, + "æ¨Ļ": 105888, + "ÙĦاØŃ": 105889, + "ĠгоÑģÑĥдаÑĢ": 105890, + "داÙĨÙĦÙĪØ¯": 105891, + "ĠпоÑĤÑĢеб": 105892, + "ĠÑĢоÑĨÑĸ": 105893, + "ога": 105894, + "ĠÑģледÑĥеÑĤ": 105895, + "ĠпаÑĢа": 105896, + "é¼": 105897, + "ãģįãģŁ": 105898, + "ίζ": 105899, + "Ġbá»ij": 105900, + "ÑĤÑĸв": 105901, + "ï¼Į她": 105902, + "familia": 105903, + "éłħ": 105904, + "ĠدÙĦ": 105905, + "Ġskup": 105906, + "еÑĩение": 105907, + "ãģĵãģ¨ãģĮ": 105908, + "à¥Ģब": 105909, + "ุล": 105910, + "¨ë¶Ģ": 105911, + "ĠاÙĦعرب": 105912, + "Ġç¾İ": 105913, + "ĠاÙĦÙħÙĪ": 105914, + "ĠØ¥ÙĨ": 105915, + "Ġnásled": 105916, + "Ġtomu": 105917, + "ÎĦ": 105918, + "Ġзави": 105919, + "Ġnhu": 105920, + "ĠpÅĻedstav": 105921, + "ìłķë³´": 105922, + "okol": 105923, + "ĠкÑĢи": 105924, + "adu": 105925, + "ĠкаÑĤ": 105926, + "ĠÑįÑĦ": 105927, + "вал": 105928, + "mayı": 105929, + "ĠÑĩаÑģÑĤо": 105930, + "Ġtranh": 105931, + "ائÙĦ": 105932, + "ãĤĪãģĨãģª": 105933, + "Ġpoh": 105934, + "ìĥģìľĦ": 105935, + "Ġsắc": 105936, + "Ùĥس": 105937, + "ĠмÑĥ": 105938, + ".::": 105939, + "ëĪ": 105940, + "»Ċ": 105941, + "ĠÙĨÚ¯": 105942, + "ÙIJÙĨ": 105943, + "ником": 105944, + "Ñħа": 105945, + "ĠμοÏħ": 105946, + "ĠNguyá»ħn": 105947, + "ĠвÑĭÑģок": 105948, + "ĠÐŁÐ¾Ð´": 105949, + "ĠпÑĢиÑĢод": 105950, + "à¥ĭध": 105951, + "िà¤ķल": 105952, + "иÑĢа": 105953, + "ëĭ¤ê³ł": 105954, + "ĠmajÃŃ": 105955, + "Ġvùng": 105956, + "Ġtarihinde": 105957, + "ĠваÑĢ": 105958, + "ниÑĤÑĮ": 105959, + "ειÏĤ": 105960, + "Ġåĩº": 105961, + "dyž": 105962, + "ÏĦÏİν": 105963, + "ä½ĵèĤ²": 105964, + "Ġà¹Ģว": 105965, + "Ġà¤ħà¤ļ": 105966, + "ĠاÙĨÚ¯ÙĦÛĮسÛĮ": 105967, + "à¥įयम": 105968, + "ĠgeliÅŁ": 105969, + "æ¹ĸ": 105970, + "Ġاک": 105971, + "Ġплан": 105972, + "kyt": 105973, + "ابÛĮ": 105974, + "κι": 105975, + "Ġchung": 105976, + "ानà¤ķ": 105977, + "sı": 105978, + "Ġtinh": 105979, + "ĠÑģÑĤол": 105980, + "ÑģÑĤÑĢÑĥ": 105981, + "ĠлиÑĪе": 105982, + "ĠвиÑĢоб": 105983, + "ilmiÅŁ": 105984, + "ĠзÑĸ": 105985, + "ç»Ĩ": 105986, + "åĢĴ": 105987, + "ãĤ·ãĥ£": 105988, + "åŃ©": 105989, + "Ġà¹Ĥรà¸ĩà¹Ģร": 105990, + "íĻľ": 105991, + "ĠбÑĥде": 105992, + "ĠyaklaÅŁ": 105993, + "èĩªåĪĨ": 105994, + "ĠÙģÙĪ": 105995, + "СТ": 105996, + "Ġsorun": 105997, + "à¹Ģà¸ł": 105998, + "Ġcô": 105999, + "виÑĩ": 106000, + "ëĵ¤ìĿĺ": 106001, + "Ġtriá»ĩu": 106002, + "Ġrõ": 106003, + "Ġãģ«": 106004, + "ÄŁim": 106005, + "iyoruz": 106006, + "èľ": 106007, + "à¥įरव": 106008, + "Ġسپ": 106009, + "ĠìĦľìļ¸": 106010, + "δε": 106011, + "еÑĢÑĪ": 106012, + "Ġأس": 106013, + "äºŀ": 106014, + "è¯į": 106015, + "пÑĤом": 106016, + "ฤษ": 106017, + "ĠسازÙħاÙĨ": 106018, + "Ġluôn": 106019, + "ÙĩÙĪØ±": 106020, + "cü": 106021, + "аÑĤкÑĥ": 106022, + "Ġolabilir": 106023, + "ĠìĹ°êµ¬": 106024, + "енной": 106025, + "ĠæĪij": 106026, + "Ġнего": 106027, + "Ġ.**************": 106028, + "ิà¸ĺ": 106029, + "ĠãĤ·": 106030, + "تÙģ": 106031, + "ÐŁÑĢо": 106032, + "Ġhakkında": 106033, + "ÄįnÄĽ": 106034, + "ĠMỹ": 106035, + "é½": 106036, + "ĠÏĥÏĦον": 106037, + "Ġâm": 106038, + "§ظ": 106039, + "ĠÅŁirket": 106040, + "æĥħåĨµ": 106041, + "ĠØ¢ÙħÙĪØ²Ø´": 106042, + "λεÏħ": 106043, + "ÙħÙĩ": 106044, + "è¦ı": 106045, + "ã썿ĢĿ": 106046, + "ĠÙĪØ¹": 106047, + "ÏĪη": 106048, + "ÏģοÏį": 106049, + "ĠÂłĊ": 106050, + "δη": 106051, + "ÑĪов": 106052, + "åΤ": 106053, + "Ġmắt": 106054, + "æĭ¿": 106055, + "à¸Ļà¸Ķ": 106056, + "éĻĦ": 106057, + "à¹īม": 106058, + "ĠÄijạt": 106059, + "Ġgüzel": 106060, + "mÃ¼ÅŁ": 106061, + "ÐŀÐĴ": 106062, + "çĭ¬": 106063, + "리를": 106064, + "ĠплаÑĤ": 106065, + "Ġnghá»ĭ": 106066, + "ĠÑĤакиÑħ": 106067, + "биÑĢа": 106068, + "Ġнек": 106069, + "ÑģÑĮкÑĸ": 106070, + "رÙĬاض": 106071, + "onu": 106072, + "à¥ĭम": 106073, + "ĠGiỼi": 106074, + "èŀį": 106075, + "é²": 106076, + "ĠGenel": 106077, + "åĬ¿": 106078, + "ĠвÑĸ": 106079, + "å§IJ": 106080, + "試": 106081, + "ĠжиÑĤÑĤÑı": 106082, + "Ġìĺ¨": 106083, + "åĩºæĿ¥": 106084, + "Ġtá»ij": 106085, + "Ġlao": 106086, + "ίο": 106087, + "Ġγα": 106088, + "ниÑĤелÑĮ": 106089, + "éļİ": 106090, + "Ġвикон": 106091, + "ĠÙģØ¹Ø§ÙĦ": 106092, + "à¹Ģศ": 106093, + "ÏĮγ": 106094, + "ĠоÑĢганиз": 106095, + "ĠемÑĥ": 106096, + "ĠÙĬع": 106097, + "ĠÙħب": 106098, + "ालय": 106099, + "ĠÎľÏĢ": 106100, + "é¸": 106101, + "ùa": 106102, + "길": 106103, + "ĠÄIJiá»ģu": 106104, + "είο": 106105, + "äºī": 106106, + "ượt": 106107, + "ÑĢазÑĥ": 106108, + "ĠоÑĤÑĢим": 106109, + "Ġطب": 106110, + "Ġ以": 106111, + "æĸĹ": 106112, + "ë°±": 106113, + "à¤ĩस": 106114, + "ë§ĮìĽIJ": 106115, + "ãĢģãģĿãģ®": 106116, + "ĠëķĮ문": 106117, + "ĠØ¢ÛĮ": 106118, + "Ð¡Ðł": 106119, + "ضÙĦ": 106120, + "æĵį": 106121, + "kazy": 106122, + "สว": 106123, + "âng": 106124, + "à¤Ĥà¤Ń": 106125, + "нÑĸÑĩ": 106126, + "ัà¸ĩà¸ģ": 106127, + "ĠبررسÛĮ": 106128, + "ردÙĩ": 106129, + "Ġmẫu": 106130, + "à¹Īวà¸ĩ": 106131, + "ĠداÙĨشگاÙĩ": 106132, + "dıģ": 106133, + "ĠTá»ķng": 106134, + "第äºĮ": 106135, + "cÃŃm": 106136, + "Ġböyle": 106137, + "ë¶Ī": 106138, + "ĠÙħÙĨابع": 106139, + "à¥ĥष": 106140, + "еÑĤÑĭ": 106141, + "åĨ·": 106142, + "åĽŃ": 106143, + "ĠتÙĪØ¬Ùĩ": 106144, + "åĪ»": 106145, + "æŀģ": 106146, + "à¤Łà¤¨": 106147, + "лан": 106148, + "ĠíĥĢ": 106149, + "ä½IJ": 106150, + "ĠобÑĭ": 106151, + "å¸Ŀ": 106152, + "커": 106153, + "å®Ī": 106154, + "èµ·æĿ¥": 106155, + "Ġãĥ¬": 106156, + "çİī": 106157, + "à¹Ģหล": 106158, + "ине": 106159, + "หาร": 106160, + "éļı": 106161, + "Ġгаз": 106162, + "ĠاÙĦعÙħÙĦ": 106163, + "à¥ģà¤Ŀ": 106164, + "Ïģιο": 106165, + "Ġvám": 106166, + "ĠعÙĨد": 106167, + "ÙĨدگاÙĨ": 106168, + "ï¼ĮéĤ£": 106169, + "ĠнаÑħод": 106170, + "áno": 106171, + "ÛĮاÙĨ": 106172, + "Ġأع": 106173, + "ĠÑĢади": 106174, + "Ġмене": 106175, + "Ġúda": 106176, + "Ïĩν": 106177, + "ÑĥлÑıÑĢ": 106178, + "à¥Ģप": 106179, + "ĠpoužÃŃ": 106180, + "Ġä¸": 106181, + "ĠÙĤاÙĨÙĪÙĨ": 106182, + "ικοÏį": 106183, + "áy": 106184, + "Ġçöz": 106185, + "ÏĦÏģ": 106186, + "ÙĨاÙħ": 106187, + "ุà¸ķ": 106188, + "åĵª": 106189, + "ÙĬب": 106190, + "ä¹°": 106191, + "ÐĶлÑı": 106192, + "ĠëłĪ벨": 106193, + "ุà¸ļ": 106194, + "нÑĥÑĤи": 106195, + "è½»": 106196, + "Ġξα": 106197, + "Ġè¦": 106198, + "аÑĤков": 106199, + "ĠëĪĦ": 106200, + "Ġtuyá»ĥn": 106201, + "ÙİÙħ": 106202, + "ĠвÑĭпол": 106203, + "Ġstudi": 106204, + "ĠpÅĻek": 106205, + "Ġзам": 106206, + "Ġmateri": 106207, + "åİĭ": 106208, + "Ġал": 106209, + "Ġà¸ļร": 106210, + "Ø·ØŃ": 106211, + "ĠÙħرک": 106212, + "Ġìĭ¬": 106213, + "ĠÙĤابÙĦ": 106214, + "ĠÐIJле": 106215, + "ıntı": 106216, + "Ġå»": 106217, + "İK": 106218, + "ëħĦëıĦ": 106219, + "ÑĭваÑĤÑĮ": 106220, + "Ġdevlet": 106221, + "社ä¼ļ": 106222, + "ëĤł": 106223, + "Ġkolay": 106224, + "ĠÑĢазвиÑĤи": 106225, + "ади": 106226, + "ئÙĬس": 106227, + "adıģı": 106228, + "ÎijÎĽ": 106229, + "Ġhoa": 106230, + "Ġศ": 106231, + "Ä±ÅŁtır": 106232, + "ÑĢÑİ": 106233, + "ĠкаÑĩе": 106234, + "¼åIJĪ": 106235, + "åħ´": 106236, + "Ġê·¸ëŁ¬": 106237, + "ĠмÑĸÑģÑĤ": 106238, + "Ġмне": 106239, + "ãĥ¼ãĤº": 106240, + "ç§Ģ": 106241, + "ĠعÙĦÙĬÙĩ": 106242, + "Ġìĭľê°Ħ": 106243, + "Ġà¤ĺर": 106244, + "ĠÑĥг": 106245, + "åıijå±ķ": 106246, + "Ä±ÅŁÄ±": 106247, + "ĠìĪľ": 106248, + "ĠíĻľ": 106249, + "æ¡£": 106250, + "Ġnokt": 106251, + "lém": 106252, + "еннÑĭй": 106253, + "ĠبÙħ": 106254, + "à¥ĩय": 106255, + "одав": 106256, + "à¹Ĥร": 106257, + "ï¼Įæľī": 106258, + "اÙĬات": 106259, + "اÛĮÙĩ": 106260, + "Ġà¤īपय": 106261, + "ĠsmÄĽ": 106262, + "شد": 106263, + "ШÐIJ": 106264, + "ĠاÙħاÙħ": 106265, + "æ¿Ģ": 106266, + "Ġhoạch": 106267, + "обÑĢаз": 106268, + "à¥ĭह": 106269, + "ĠÑĢебен": 106270, + "иÑĤелÑı": 106271, + "ãģªãģĮãĤī": 106272, + "ساÙĦ": 106273, + "Ġà¸Īำ": 106274, + "Ġخاص": 106275, + "Ġgeri": 106276, + "à¤ĺ": 106277, + "Ġìº": 106278, + "à¹ģà¸Ĺ": 106279, + "âĢĮÛĮ": 106280, + "گرÛĮ": 106281, + "اÙħبر": 106282, + "ÑĪÑĥ": 106283, + "Ġphong": 106284, + "имо": 106285, + "па": 106286, + "Ġìµľê³ł": 106287, + "Ġнам": 106288, + "ostÃŃ": 106289, + "isini": 106290, + "ĠдÑĥже": 106291, + "Ñģком": 106292, + "ĠпÑĢодÑĥк": 106293, + "ÏĮÏĦηÏĦα": 106294, + "aln": 106295, + "isine": 106296, + "è¿ľ": 106297, + "алÑĮной": 106298, + "तर": 106299, + "tıģ": 106300, + "ĠëĴ": 106301, + "è¿ĺæĺ¯": 106302, + "ĠÙħØ«ÙĦ": 106303, + "ìľ¨": 106304, + "ï¾ĺ": 106305, + "åΏ": 106306, + "ç¶ļ": 106307, + "جاد": 106308, + "ĠкÑĥ": 106309, + "åĢij": 106310, + "ovu": 106311, + "ĠsÄ©": 106312, + "ĠìłIJ": 106313, + "ĠÑĥÑĢов": 106314, + "िà¤ļ": 106315, + "ovali": 106316, + "ĠÙĪÙĨ": 106317, + "ĠìĿĮ": 106318, + "Ġкг": 106319, + "าà¸ĺ": 106320, + "ÏĦÏģα": 106321, + "ždy": 106322, + "à¹Įà¸ķ": 106323, + "ĠnÄĽm": 106324, + "ĠЦе": 106325, + "noho": 106326, + "Ġëĭ¤ìĭľ": 106327, + "Ġtéto": 106328, + "Ġbiá»ĥu": 106329, + "ĠYön": 106330, + "Ġpráce": 106331, + "à¥īर": 106332, + "ĠchÃŃ": 106333, + "овой": 106334, + "Ġmợ": 106335, + "說": 106336, + "ÏİÏĤ": 106337, + "волÑı": 106338, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 106339, + "實": 106340, + "é»ŀ": 106341, + "Ġà¤ıव": 106342, + "Ïħνα": 106343, + "岡": 106344, + "không": 106345, + "ĠpÅĻÃŃpadÄĽ": 106346, + "åĹ": 106347, + "ĠبدÙĪÙĨ": 106348, + "Ïĥκε": 106349, + "Ġdikkat": 106350, + "ĠAncak": 106351, + "Ġtiá»ĩn": 106352, + "éĿĻ": 106353, + "ĠìĿ¼ë°ĺ": 106354, + "ĠÄįlen": 106355, + "ìķħ": 106356, + "ाà¤ĩन": 106357, + "ãģ£ãģ¦ãģĦãģŁ": 106358, + "ĠìĿ´ìļ©": 106359, + "ÙĪÙħÛĮ": 106360, + "iná": 106361, + "ặng": 106362, + "ÏİÏģα": 106363, + "ÙĨÙĬØ©": 106364, + "важ": 106365, + "èİ·": 106366, + "å©ļ": 106367, + "ĠÅŁu": 106368, + "ĠãģĬ": 106369, + "Ġدرب": 106370, + "Ġdiá»ħn": 106371, + "ÅĻeba": 106372, + "asının": 106373, + "ç½ijç«Ļ": 106374, + "нÑĮого": 106375, + "ĠاÙĦØ£ÙĪÙĦ": 106376, + "ικÎŃÏĤ": 106377, + "ĠzÃŃsk": 106378, + "оло": 106379, + "ĠÑįÑĤоÑĤ": 106380, + "Ġpokud": 106381, + "è²»": 106382, + "еÑĢÑĸв": 106383, + "ãĥķãĤ£": 106384, + "иÑĤÑĥа": 106385, + "Ġvyd": 106386, + "олож": 106387, + "лÑıÑĤÑĮ": 106388, + "ÙĤÙħ": 106389, + "æ´ĭ": 106390, + "æ§ĭ": 106391, + "ĠغÛĮر": 106392, + "ĠstÅĻed": 106393, + "ظر": 106394, + "Ġhiçbir": 106395, + "θεί": 106396, + "znik": 106397, + "дÑĭ": 106398, + "luv": 106399, + "ĠÙħؤ": 106400, + "ĠگرÙĪÙĩ": 106401, + "Ġï¼īĊ": 106402, + "teri": 106403, + "ĠÏħÏĢο": 106404, + "voj": 106405, + "Ġبعض": 106406, + "Ġbilin": 106407, + "ĠرÙĪØ´": 106408, + "ĠобÑıз": 106409, + "Ġï»": 106410, + "سÙĨ": 106411, + "ĠÏĢα": 106412, + "íį¼": 106413, + "ĠtÃŃn": 106414, + "Ġ´": 106415, + "ìĤ¬ìĿ´íĬ¸": 106416, + "Ġpodob": 106417, + "Ñīее": 106418, + "ĠåįĹ": 106419, + "Ġbych": 106420, + "ози": 106421, + "ĠVÄĥn": 106422, + "ØŃÙĩ": 106423, + "åѦéĻ¢": 106424, + "ĠÅĻekl": 106425, + "립ëĭĪëĭ¤": 106426, + "ĠпÑĢоÑģ": 106427, + "κά": 106428, + "ĠbaÅŁladı": 106429, + "á»§y": 106430, + "Ñİдж": 106431, + "ाà¤ıà¤Ĺ": 106432, + "à¤Ĥà¤ļ": 106433, + "Ġê´Ģ볨": 106434, + "ĠвопÑĢоÑģ": 106435, + "ĠÑģÑĤаÑĤÑĮ": 106436, + "Ġyatırım": 106437, + "нÑĥла": 106438, + "راÙģ": 106439, + "ĠçeÅŁit": 106440, + "Ġà¤īद": 106441, + "央": 106442, + "ĠпоÑıв": 106443, + "åĽ½å®¶": 106444, + "ĠÑģооÑĤвеÑĤÑģÑĤв": 106445, + "ìķ¡": 106446, + "ĠØ®ÙĪØ§Ùĩد": 106447, + "ššÃŃ": 106448, + "ÂłÐ¿": 106449, + "ĠNhÃł": 106450, + "''''": 106451, + "ィ": 106452, + "Ãħ": 106453, + "Ġïº": 106454, + "ĠØ¢ÙħرÛĮÚ©": 106455, + "larımız": 106456, + "جا": 106457, + "ÙģÙĤ": 106458, + "Ġá»": 106459, + "Ġìķł": 106460, + "ĠزباÙĨ": 106461, + "ĠÑĤвоÑĢ": 106462, + "ниÑĩеÑģ": 106463, + "Ġкни": 106464, + "خداÙħ": 106465, + "à¸Łà¸£": 106466, + "Ġì¹ĺ": 106467, + "วาม": 106468, + "ĠÙħÙĩÙħ": 106469, + "Ġstol": 106470, + "Ġedilen": 106471, + "Ġpek": 106472, + "اÙĨات": 106473, + "алÑĮнÑĸ": 106474, + "ĠнеобÑħÑĸд": 106475, + "à¹Ħว": 106476, + "Ġशर": 106477, + "ĠíĮIJ": 106478, + "Òij": 106479, + "Ġним": 106480, + "Ġà¸ĺ": 106481, + "æĺł": 106482, + "äºĴ": 106483, + "ĠbaÅŁar": 106484, + "ži": 106485, + "Ġмног": 106486, + "lendi": 106487, + "ávajÃŃ": 106488, + "nict": 106489, + "ĠдÑĥм": 106490, + "éĻ©": 106491, + "ÏĥÏĥ": 106492, + "iky": 106493, + "алÑĮнÑĭй": 106494, + "ĠÙħÙĨت": 106495, + "å®®": 106496, + "-за": 106497, + "еÑĢк": 106498, + "å¡Ķ": 106499, + "ĠμεÏĦα": 106500, + "oÄŁun": 106501, + "ÎĹÎľ": 106502, + "à¥Īà¤Ĥ।Ċ": 106503, + "Äįky": 106504, + "å¹³åı°": 106505, + "à¥ĭश": 106506, + "Ġona": 106507, + "Ġbec": 106508, + "ì¢": 106509, + "Ġcây": 106510, + "kün": 106511, + "Ġà¤Ī": 106512, + "Ġrá»Ļng": 106513, + "еÑĢб": 106514, + "幸": 106515, + "ï¾IJ": 106516, + "ĠпÑĸдпÑĢиÑĶм": 106517, + "çĶ£": 106518, + "ĠÏĦε": 106519, + "ĠÙĨÙĤØ´": 106520, + "овиÑħ": 106521, + "ĠÙģÙī": 106522, + "Ðļак": 106523, + "ÙİØ±": 106524, + "ĠЩ": 106525, + "алÑĮнÑĭÑħ": 106526, + "Ġküçük": 106527, + "èŃ·": 106528, + "æĭħ": 106529, + "icaret": 106530, + "ĠرÙģØª": 106531, + "Ġодного": 106532, + "ÑĪим": 106533, + "ĠбÑĸ": 106534, + "Ġuygulam": 106535, + "Ġæĭ": 106536, + "ä½Ľ": 106537, + "ucu": 106538, + "dÃŃ": 106539, + "Åĺ": 106540, + "ئة": 106541, + "걸": 106542, + "ÙĮ": 106543, + "ĠÎłÏģο": 106544, + "Ġyerine": 106545, + "ĠÑĸнÑĦоÑĢма": 106546, + "Ġå¤ĸ": 106547, + "ä»ķ": 106548, + "нав": 106549, + "arası": 106550, + "à¸Ńà¸Ļà¹Ħลà¸Ļ": 106551, + "اشت": 106552, + "زÙĬ": 106553, + "æ©ĭ": 106554, + "ĠãĤ«": 106555, + "èĥ½åĬĽ": 106556, + "å¥Ĺ": 106557, + "Ġproh": 106558, + "ĠпÑĢава": 106559, + "Ỽp": 106560, + "Ġà¸Ĥà¸Ńà¸ĩ": 106561, + "Ġë´": 106562, + "Ġlúc": 106563, + "Ġéķ": 106564, + "بÙĪØ¯": 106565, + "rupa": 106566, + "ازÙħ": 106567, + "Ġкан": 106568, + "ılım": 106569, + "ĠÙĩد": 106570, + "ãĢĢĠãĢĢĠãĢĢ": 106571, + "ÑĭваеÑĤ": 106572, + "خاÙĨÙĩ": 106573, + "ÑĥкÑĤ": 106574, + "ĠçĻ¾åº¦": 106575, + "ĠnÄĽco": 106576, + "емон": 106577, + "Ġà¤ħप": 106578, + "ĠÎĮ": 106579, + "ünün": 106580, + "æĸĩåĮĸ": 106581, + "ä¹İ": 106582, + "ä¸ĬçļĦ": 106583, + "ÙĦÙĬÙħ": 106584, + "ĠtÄĽch": 106585, + "اسب": 106586, + "âĢĻÑĶ": 106587, + "ĠÚ¯ÛĮ": 106588, + "Ġê·¼": 106589, + "Ġtrẻ": 106590, + "μÎŃνο": 106591, + "ãģĵãģ¨ãĤĴ": 106592, + "ìĿ´ëĤĺ": 106593, + "åĸĦ": 106594, + "Ġtrả": 106595, + "åĪĨæŀIJ": 106596, + "ĠdÄĽl": 106597, + "ÑĥÑģка": 106598, + "Ġмного": 106599, + "à¥Īर": 106600, + "μαÏĦοÏĤ": 106601, + "ĠmÃŃsto": 106602, + "Ġê°ģ": 106603, + "ĠпÑĢог": 106604, + "baÅŁ": 106605, + "айÑĤе": 106606, + "Ġcá»ķ": 106607, + "å¿ľ": 106608, + "ï¼ģĊ": 106609, + "çı": 106610, + "Ġbirçok": 106611, + "Ġíĺķ": 106612, + "çµĮ": 106613, + "ĠEvrop": 106614, + "ĠÑģоÑĨÑĸ": 106615, + "ä»ĸçļĦ": 106616, + "ĠμÏĢο": 106617, + "å¥Ī": 106618, + "ĠÚ¯ÙĦ": 106619, + "ÙĪÙĦØ©": 106620, + "æµİ": 106621, + "ĠÚ©ÙĪ": 106622, + "±ä¹IJ": 106623, + "ãģĹãģı": 106624, + "纳": 106625, + "ÑģÑĤвенно": 106626, + "éĽ¢": 106627, + "ा.": 106628, + "ĠgerçekleÅŁtir": 106629, + "Ġkır": 106630, + "ì³": 106631, + "ĠгоÑģп": 106632, + "å¹ķ": 106633, + "ìĦ¼": 106634, + "».Ċ": 106635, + "кÑĥÑĢ": 106636, + "ĠرÛĮ": 106637, + "æĽ¾": 106638, + "ÙĪØ±ÙĬ": 106639, + "лекÑģанд": 106640, + "صÙģ": 106641, + "Ġcảnh": 106642, + "å±Ĥ": 106643, + "ãĤĨ": 106644, + "Ġتس": 106645, + "ì°½": 106646, + "기를": 106647, + "Ġà¹Ģà¸Ħ": 106648, + "çŁŃ": 106649, + "ĠÑģÑĤÑĢо": 106650, + "ĠÏĥÏĦιÏĤ": 106651, + "à¥įयव": 106652, + "ĠعÙĦÙħ": 106653, + "ĠÑģиÑĤÑĥа": 106654, + "ĠÑīодо": 106655, + "åIJĽ": 106656, + "Ùħس": 106657, + "ĠоÑĤкÑĢÑĭ": 106658, + "Ġspoj": 106659, + "ĠÄijÄĥng": 106660, + "ĠsavaÅŁ": 106661, + "ีร": 106662, + "ském": 106663, + "Ġè¡Į": 106664, + "é¹": 106665, + "ĠÙĬÙħÙĥÙĨ": 106666, + "овано": 106667, + "ĠпÑĢавилÑĮ": 106668, + "Ġchiếc": 106669, + "èι": 106670, + "éĵ¶": 106671, + "ĠоÑĤд": 106672, + "ĠìĿĢ": 106673, + "íħĶ": 106674, + "ĠNej": 106675, + "оне": 106676, + "Ġkız": 106677, + "ологиÑĩеÑģ": 106678, + "ĠкÑĢаÑĹ": 106679, + "à¸ļà¸Ńล": 106680, + "楼": 106681, + "ĠتÙħاÙħ": 106682, + "ĠبÛĮÙħ": 106683, + "ĠÑģÑĥб": 106684, + "vý": 106685, + "Ñģкие": 106686, + "ëĮĢë¡ľ": 106687, + "????????": 106688, + "abilirsiniz": 106689, + "анÑģов": 106690, + "代表": 106691, + "Ġ매매": 106692, + "ологÑĸÑĩ": 106693, + "μαν": 106694, + "акÑģим": 106695, + "ãĤ¤ãĥ«": 106696, + "Ġtải": 106697, + "ÙħÙĪ": 106698, + "å®Ĺ": 106699, + "nem": 106700, + "Ġkhoản": 106701, + "ĠпаÑĤ": 106702, + "анÑĤа": 106703, + "ĠпомоÑī": 106704, + "Ġvod": 106705, + "Ġkaynak": 106706, + "ÏĥÏĨ": 106707, + "à¥Ĥत": 106708, + "duÄŁ": 106709, + "аÑĤиÑģÑı": 106710, + "Ġç¥ŀ": 106711, + "ĠÑģлова": 106712, + "ÑĢÑĥкÑĤÑĥ": 106713, + "ĠmÄĽsÃŃ": 106714, + "ÙıÙħ": 106715, + "знаÑĩа": 106716, + "Ġèī": 106717, + "åѦçĶŁ": 106718, + "æ´¥": 106719, + "ÙİÙĬ": 106720, + "è§Ī": 106721, + "Ġå®ī": 106722, + "ĠgörÃ¼ÅŁ": 106723, + "álnÄĽ": 106724, + "ĠëͰëĿ¼": 106725, + "ĠÙħÙĪØ¬ÙĪØ¯": 106726, + "ĠÄijứ": 106727, + "ĠçalÄ±ÅŁmalar": 106728, + "ĠÑıкиÑħ": 106729, + "ĠاجتÙħاع": 106730, + "μεν": 106731, + "èİī": 106732, + "积": 106733, + "ì¶ķ": 106734, + "à¥įशन": 106735, + "Ġxét": 106736, + "ĠвÑĤоÑĢ": 106737, + "çİ©": 106738, + "ÂłÐĿ": 106739, + "ÑĪие": 106740, + "оÑĢи": 106741, + "أس": 106742, + "Ġthuá»ijc": 106743, + "ëĭĪê¹Į": 106744, + "ëķĮ": 106745, + "ÑĢÑĥп": 106746, + "ÑģÑıÑĤ": 106747, + "зÑĭ": 106748, + "ĠÑģмеÑĢ": 106749, + "Ġvyb": 106750, + "ĠìĿ´ìĥģ": 106751, + "à¤ļन": 106752, + "Ġgeldi": 106753, + "Û±Û°": 106754, + "ικÏİν": 106755, + "ĠÄIJức": 106756, + "ĠдоÑģÑĤаÑĤ": 106757, + "Ġönc": 106758, + "親": 106759, + "Ġadı": 106760, + "unca": 106761, + "ĠاÙĦتر": 106762, + "çķ¶": 106763, + "ĠФедеÑĢа": 106764, + "лÑıÑİÑĤÑģÑı": 106765, + "ĠÙĥاÙĨت": 106766, + "æİ¢": 106767, + "ĠÑĥб": 106768, + "Ġκο": 106769, + "ाà¤ĩà¤Ł": 106770, + "зн": 106771, + "Ġmôi": 106772, + "ĠãĤµ": 106773, + "ĠнавÑĸ": 106774, + "综åIJĪ": 106775, + "ĠминÑĥÑĤ": 106776, + "dık": 106777, + "ÑĢÑĥд": 106778, + "åľĸ": 106779, + "ê°¤": 106780, + "ĠÄijoÃłn": 106781, + "è¤": 106782, + "à¥įवर": 106783, + "ĠÃľniversit": 106784, + "ано": 106785, + "鼨": 106786, + "ĠvÅ¡echny": 106787, + "Ġëĭ¤ìĿĮ": 106788, + "ĠCumhur": 106789, + "ĠмÑĥз": 106790, + "aÅŁtır": 106791, + "Ġê±°ëŀĺ": 106792, + "Ġé¡": 106793, + "žitÃŃ": 106794, + "Ġà¸Ł": 106795, + "Ġthuế": 106796, + "ĠмÑĥж": 106797, + "ĠÎijν": 106798, + "ĠدÙĪÙħ": 106799, + "ĠÑģин": 106800, + "ĠÏīÏĤ": 106801, + "meler": 106802, + "ĠpoÄį": 106803, + "ĠколиÑĩе": 106804, + "ĠKÄį": 106805, + "è³½": 106806, + "ĠоÑģÑĸб": 106807, + "åı¥": 106808, + "ĠBöl": 106809, + "à¸ĺรรม": 106810, + "Ġcạnh": 106811, + "å°ĩ": 106812, + "ĠноÑģ": 106813, + "èĦ¸": 106814, + "Ġgelir": 106815, + "оÑĢон": 106816, + "à¥įरà¤Ń": 106817, + "ç»ĩ": 106818, + "ุà¹ī": 106819, + "ामल": 106820, + "Ġcâu": 106821, + "ÑijÑĤ": 106822, + "Ġ:|": 106823, + "ãĤĮãģ¦": 106824, + "Ġposled": 106825, + "ãĤ¹ãĥĨ": 106826, + "ÑĸлÑĮÑĪ": 106827, + "енÑĤÑĭ": 106828, + "خدÙħ": 106829, + "ĠباشگاÙĩ": 106830, + "Ġthư": 106831, + "ávánÃŃ": 106832, + "ëĬIJ": 106833, + "ĠØ£ØŃ": 106834, + "راد": 106835, + "ĠبسÛĮار": 106836, + "åΰäºĨ": 106837, + "\";\"": 106838, + "å°İ": 106839, + "Ġör": 106840, + "à¸Ĭาà¸ķ": 106841, + "genus": 106842, + "Ġyakın": 106843, + "ĠÃŃt": 106844, + "regnum": 106845, + "Ġfiyat": 106846, + "нÑĸÑħ": 106847, + "åľ°æĸ¹": 106848, + "Ġbilgi": 106849, + "кам": 106850, + "Ġspol": 106851, + "ائÙĬ": 106852, + "ĠÙĬÙĨ": 106853, + "าหาร": 106854, + "Ġبگ": 106855, + "éĺħ": 106856, + "ĠاÙĦشر": 106857, + "Âģ": 106858, + "ĠÑĸнÑĪиÑħ": 106859, + "Ġtrạng": 106860, + "çģ£": 106861, + "Ġcá»±c": 106862, + "кан": 106863, + "èĭı": 106864, + "ÃĶ": 106865, + "Ġlá»Ŀi": 106866, + "ÑıÑĩ": 106867, + "ĠÙĪØŃ": 106868, + "ìĪľ": 106869, + "Ÿ": 106870, + "ĠвоÑģп": 106871, + "ì¡Į": 106872, + "ÄįnÃŃch": 106873, + "خرÙī": 106874, + "ائÙĬØ©": 106875, + "Ġsuất": 106876, + "æĩī": 106877, + "اØŃÛĮ": 106878, + "Ġnáz": 106879, + "è¿Ļç§į": 106880, + "ĠзабезпеÑĩ": 106881, + "ĠЧеÑĢ": 106882, + "ĠздÑĸйÑģ": 106883, + "åı¦": 106884, + "æĭ¬": 106885, + "à¥ģष": 106886, + "μÏĨ": 106887, + "ëĥIJ": 106888, + "ÐķÑģли": 106889, + "é¬": 106890, + "Ġíĥľ": 106891, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 106892, + "Ġмл": 106893, + "å´İ": 106894, + "Ù쨹": 106895, + "ĠÙĤدر": 106896, + "Ġvá»ijn": 106897, + "妹": 106898, + "ĠÐĿаÑģ": 106899, + "à¥įफ": 106900, + "ãĤ¸ãĥ£": 106901, + "Ġmı": 106902, + "енÑģ": 106903, + "бÑĥд": 106904, + "ĠØŃتÙī": 106905, + "Ġì²´": 106906, + "ĠÑĸÑģÑĤоÑĢ": 106907, + "Ġgiấy": 106908, + "γοÏģ": 106909, + "ëIJĺìĸ´": 106910, + "ĠíĤ": 106911, + "ĠÐŀдна": 106912, + "ĠÙĨÙħÙĪØ¯": 106913, + "Ġвипад": 106914, + "ĠìŀIJìĭł": 106915, + "Ġjste": 106916, + "Ġëĵ±ë¡Ŀ": 106917, + "ekten": 106918, + "ĠÑĢеÑĩ": 106919, + "rodnÃŃ": 106920, + "ستر": 106921, + "ıt": 106922, + "ä¹ħä¹ħ": 106923, + "ĠØ®ÙĦاÙĦ": 106924, + "Ġç¦": 106925, + "uluk": 106926, + "lenen": 106927, + "ilip": 106928, + "è´¢": 106929, + "Ġà¤ħà¤ķ": 106930, + "ĠYıl": 106931, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ": 106932, + "Ġà¤Ŀ": 106933, + "ĠBình": 106934, + "ĠolmuÅŁ": 106935, + "اÙĦØ¥ÙĨجÙĦÙĬزÙĬØ©": 106936, + "менно": 106937, + "alnız": 106938, + "ĠشرÙĥØ©": 106939, + "ĠسÙĨØ©": 106940, + "è´Ł": 106941, + "ä½ľåĵģ": 106942, + "Ġìķ½": 106943, + "ĠдÑĢÑĥгиÑħ": 106944, + "ĠbaÄŁlantı": 106945, + "одÑĥ": 106946, + "çļĦæĺ¯": 106947, + "ัà¸Ļà¸Ķ": 106948, + "ĠкоÑĤоÑĢÑĭÑħ": 106949, + "ĠاÙĦÙĪÙĦ": 106950, + "ê¸ĢìĥģìľĦ": 106951, + "ĠÏĢεÏģ": 106952, + "리ìķĦ": 106953, + "ibar": 106954, + "Ġèĥ": 106955, + "ãģŁãģĦ": 106956, + "áj": 106957, + "ĠìľĦíķ´": 106958, + "?âĢľĊĊ": 106959, + "Ġíİĺ": 106960, + "Ġней": 106961, + "ĠÐĹак": 106962, + "ĠÐĴÑĸд": 106963, + "елÑĸ": 106964, + "课": 106965, + "åī¯": 106966, + "madan": 106967, + "æľ«": 106968, + "ĠÏĢÏģÏĮ": 106969, + "ĠпÑģиÑħ": 106970, + "ĠÑĤÑĸ": 106971, + "Ùĥات": 106972, + "Ġvysok": 106973, + "ê´Ģ리": 106974, + "ültür": 106975, + "Ġà¹Ģà¸Ń": 106976, + "Ġíķ©": 106977, + "çĿ£": 106978, + "ĠÑĢиÑģ": 106979, + "еÑĢÑĮ": 106980, + "ĠÚ©ÙĦÛĮ": 106981, + "Ġãĥŀ": 106982, + "ĠphÃŃa": 106983, + "å«": 106984, + "اگ": 106985, + "Ġé¢": 106986, + "ĠÙĨÙ쨱": 106987, + "ĠجاÙĨ": 106988, + "Ġyas": 106989, + "жениÑı": 106990, + "ĠлÑĥÑĩÑĪе": 106991, + "Ġçº": 106992, + "Ġмон": 106993, + "Ġتخ": 106994, + "ĠØ´ÛĮ": 106995, + "ĠнекоÑĤоÑĢ": 106996, + "алÑĮнÑĭе": 106997, + "Ġobchod": 106998, + "Ġíķ¨ê»ĺ": 106999, + "Ġriêng": 107000, + "ãģķãĤĮãĤĭ": 107001, + "окÑĥ": 107002, + "ĠСШÐIJ": 107003, + "ë§ģ": 107004, + "ĠNếu": 107005, + "ĠAÄŁ": 107006, + "ĠдвеÑĢ": 107007, + "à¥ĭष": 107008, + "Ġkhiến": 107009, + "него": 107010, + "ì±ħ": 107011, + "ัà¸ķร": 107012, + "malı": 107013, + "ĠÙĬا": 107014, + "ç§ijæĬĢ": 107015, + "ืà¸Ļ": 107016, + "หมาย": 107017, + "Ġخص": 107018, + "åĨľ": 107019, + "ÃŃme": 107020, + "ĠÑįÑĤой": 107021, + "ĠìĹħ": 107022, + "Ġä¹": 107023, + "伯": 107024, + "'´": 107025, + "ÙħÙĬÙĦ": 107026, + "à¸Ńà¸ĩà¸Ħ": 107027, + "ková": 107028, + "è¿Ļä¹Ī": 107029, + "ãĢĤæĪij": 107030, + "ìĹIJìĦľëĬĶ": 107031, + "Ġìļ©": 107032, + "ë¹ĦìĬ¤": 107033, + "Ġì¦Ŀ": 107034, + "ITTE": 107035, + "Ġ모ëĵł": 107036, + "ĠspoleÄįnosti": 107037, + "Ġвик": 107038, + "ĠtÅĻÃŃ": 107039, + "é³": 107040, + "ĠØ®ÛĮ": 107041, + "Ġpož": 107042, + "ĠимееÑĤ": 107043, + "ĠdÄĽt": 107044, + "ĠÙħدÙĦ": 107045, + "Ġмо": 107046, + "åįı": 107047, + "enÃŃm": 107048, + "éī": 107049, + "اظ": 107050, + "ĠteÅŁ": 107051, + "ĠveÅĻej": 107052, + "LIC": 107053, + "ì§ĢëĬĶ": 107054, + "ÑĭваÑİÑĤ": 107055, + "ĠоÑĢганÑĸ": 107056, + "nÃŃmi": 107057, + "θÎŃ": 107058, + "ãĤ¯ãĥ©": 107059, + "ãĥ¼ãĥ³": 107060, + "лиÑģÑı": 107061, + "imdi": 107062, + "æĨ": 107063, + "ïºİ": 107064, + "Ġìļ´ìĺģ": 107065, + "καν": 107066, + "Ġë³µ": 107067, + "ĠÐĨн": 107068, + "plication": 107069, + "tah": 107070, + "ĠÐIJв": 107071, + "Ġcá»Ļng": 107072, + "алÑĮноÑĹ": 107073, + "ĠدÙĪØ±Ùĩ": 107074, + "à¥įरय": 107075, + "ĠØ®ÙĪ": 107076, + "ĠвÑĢа": 107077, + "Ø¥ÙĨ": 107078, + "èĤī": 107079, + "Ġoyn": 107080, + "ĠTư": 107081, + "ĠÙĩÙħاÙĨ": 107082, + "ĠбÑĸлÑĮÑĪе": 107083, + "æĮ¯": 107084, + "اÙħØ©": 107085, + "庫": 107086, + "ĠÑĢеж": 107087, + "ĠدارÙĨد": 107088, + "ÑĢий": 107089, + "ĠæĮ": 107090, + "Ġsonuç": 107091, + "Ġtả": 107092, + "ัà¸ĩà¸Ħ": 107093, + "ë°Ľ": 107094, + "Ġмом": 107095, + "виÑĩай": 107096, + ".à¸Ħ": 107097, + "Ġà¤Ĩà¤Ī": 107098, + "åģĩ": 107099, + "Ġposkyt": 107100, + "ĠÑģÑĥп": 107101, + "ıyordu": 107102, + "але": 107103, + "иÑĨ": 107104, + "ĠθÎŃ": 107105, + "ãĤĩãģĨ": 107106, + "ĠÑģвой": 107107, + "มà¸Ļ": 107108, + "Ġnữa": 107109, + "voÅĻ": 107110, + "اسÙĬ": 107111, + "éĴ±": 107112, + "ãģĹãģ¦ãģĦãģŁ": 107113, + "ĠÄijầy": 107114, + "اÙĬر": 107115, + "ĠaraÅŁtır": 107116, + "ì£": 107117, + "ãģ¨ãģ¯": 107118, + "ĠÑģпоÑĢ": 107119, + "Ġê°Ģìŀ¥": 107120, + "è¼ī": 107121, + "âĸ¡": 107122, + "ĠìĻĦ": 107123, + "оÑĢаÑı": 107124, + "Ïģεί": 107125, + "ĠÑįÑĤа": 107126, + "ë©´ìłģ": 107127, + "ìĿ´ìĬ¤": 107128, + "ä½³": 107129, + "æĻļ": 107130, + "Ġkval": 107131, + "Ġná»ķi": 107132, + "ÑĤами": 107133, + "ĠполÑĸÑĤи": 107134, + "Ġİng": 107135, + "нÑĸÑģÑĤÑİ": 107136, + "Ġà¹Ģà¸ģ": 107137, + "Ġ민": 107138, + "èĶ": 107139, + "Ïģία": 107140, + "æİĪ": 107141, + "ĠçĤ": 107142, + "ĠÙĨÙħاÛĮ": 107143, + "Ġìŀ¡": 107144, + "æŀ¶": 107145, + "ابÙĤ": 107146, + "Ñģон": 107147, + "енного": 107148, + "ĠÙħÛĮÙĦÛĮ": 107149, + "Ġkurum": 107150, + "à¹Įส": 107151, + "Ġì´Ŀ": 107152, + "ĠnÄĽkolik": 107153, + "ĠÙĢ": 107154, + "ĠзаÑģÑĤоÑģ": 107155, + "à¸Ķà¸Ļ": 107156, + "ÙĨداÙĨ": 107157, + "ĠJap": 107158, + "éĥ¡": 107159, + "à¥įà¤Ń": 107160, + "Ġà¹Ģà¸Ĭ": 107161, + "ĠâĢ«": 107162, + "é£ŀ": 107163, + "ovatel": 107164, + "ĠÑĩаÑģÑĤÑĮ": 107165, + "Ġbá»ķ": 107166, + "ãĤ¯ãĥª": 107167, + "ิà¹Į": 107168, + "Ġвиде": 107169, + "vail": 107170, + "Ìī": 107171, + "ÄŁinde": 107172, + "ãģ¨ãĤĤ": 107173, + "âĢĮÚ©ÙĨد": 107174, + "ĠëħĦ": 107175, + "ĠاÙĤتص": 107176, + "ï½Ĺ": 107177, + "ÏģιÏĥ": 107178, + "зд": 107179, + "èϽ": 107180, + "Ġthoại": 107181, + "ĠÙĪØ²": 107182, + "ĠmÃŃt": 107183, + "ĠÑħолод": 107184, + "ĠкÑĥп": 107185, + "аниÑħ": 107186, + "Ġnhìn": 107187, + "ãģĭãģª": 107188, + "ĠÐļом": 107189, + "ÏĦεÏģ": 107190, + "ï¼Įåıª": 107191, + "Ġolup": 107192, + "Ġhá»ıi": 107193, + "ëij": 107194, + "ĠnÄĽkter": 107195, + "isÃŃ": 107196, + "ĠвикоÑĢиÑģÑĤов": 107197, + "ìŀ¡": 107198, + "Ġà¤ķल": 107199, + "ĠìľłìłĢ": 107200, + "ĠпÑĢиб": 107201, + "èĭ¦": 107202, + "Ġмов": 107203, + "Ġหà¸Ļ": 107204, + "ëIJĺëĬĶ": 107205, + "око": 107206, + "ĠобеÑģп": 107207, + "Ġkez": 107208, + "лÑıÑħ": 107209, + "ĠпÑĢоиÑģ": 107210, + "Ġповин": 107211, + "ĠÐļоÑĢ": 107212, + "ì¼Ģ": 107213, + "ĠÑģи": 107214, + "Ġä¹ĭ": 107215, + "ĠâĢĶĊ": 107216, + "ÑģÑĥÑĤÑģÑĤв": 107217, + "ç°": 107218, + "Ġà¤ł": 107219, + "наÑĤ": 107220, + "Ġsuy": 107221, + "ĠÑģÑĭ": 107222, + "ĠÙĨشاÙĨ": 107223, + "ĠнапÑĢав": 107224, + "ĠÑĨÑĮомÑĥ": 107225, + "æĺ¯ä¸Ģ": 107226, + "Ġmüm": 107227, + "ÑĶмо": 107228, + "ĠاسÙĦاÙħÛĮ": 107229, + "Ġzamanda": 107230, + "ÙĪÙħاÙĨ": 107231, + "اÙĦØŃ": 107232, + "Å¡tÄĽnÃŃ": 107233, + "ĠÐļак": 107234, + "¤íĶĦ": 107235, + "Ġپرد": 107236, + "Các": 107237, + "εια": 107238, + "ĠجÙĪ": 107239, + "ĠÄijoạn": 107240, + "Ġà¤ĩत": 107241, + "Ġзан": 107242, + "ĠÙħÙĨØ·ÙĤÙĩ": 107243, + "ĠÙħعÙĦ": 107244, + "Ġdokon": 107245, + "åIJ¸": 107246, + "ickou": 107247, + "å°ģ": 107248, + "ĠкиÑģ": 107249, + "ัà¸ĩหว": 107250, + "ispecies": 107251, + "ĠнапÑĢÑı": 107252, + "æºĸ": 107253, + "Ġà¤ľà¤²": 107254, + "à¹Ģà¸ī": 107255, + "LAR": 107256, + "ĠÑĥÑģловиÑı": 107257, + "ĠWikispecies": 107258, + "ระà¸Ķ": 107259, + "Ġmey": 107260, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 107261, + "à¹ĩà¸Ī": 107262, + "å¾Ĵ": 107263, + "tach": 107264, + "umuz": 107265, + "κη": 107266, + "ÃĬ": 107267, + "Ġün": 107268, + "ĠBITTE": 107269, + "ĠÙħربع": 107270, + "ãĤ·ãĥ¥": 107271, + "िसà¤ķ": 107272, + "Ø·ÙĪØ±": 107273, + "ĠвоÑģ": 107274, + "ï¾Ł": 107275, + "Ġyayın": 107276, + "ãģĭãĤĬ": 107277, + "лиÑı": 107278, + "ĠпÑĢин": 107279, + "ijng": 107280, + "ĠÙĨØ®": 107281, + "Ġlze": 107282, + "à¥įषण": 107283, + "Ġбо": 107284, + "Ġê¸Ģ": 107285, + "ĠgeliÅŁtir": 107286, + "à¸Ľà¸£à¸°à¸Ĭ": 107287, + "彡": 107288, + "ĠãĤª": 107289, + "ãģĪãģ¦": 107290, + "нÑĥÑĤÑĮ": 107291, + "Ġç½": 107292, + "Ġмаг": 107293, + "ãģ«ãģ¤": 107294, + "ноÑģÑĤей": 107295, + "ĠÙĦÙĬ": 107296, + "æĢª": 107297, + "ÑıÑĤÑģÑı": 107298, + "à¸ij": 107299, + "ियम": 107300, + "ĠãĢİ": 107301, + "ÑĢÑĮ": 107302, + "Ġmạng": 107303, + "tım": 107304, + "ĠпеÑĢиод": 107305, + "огÑĥ": 107306, + "ĠкоÑĤоÑĢаÑı": 107307, + "리ê°Ģ": 107308, + "Ġãħ¡": 107309, + "ĠجاÛĮ": 107310, + "ĠпоÑĤÑĢÑĸб": 107311, + "Å¡en": 107312, + "à¸Ńะ": 107313, + "بع": 107314, + "ØŁĊ": 107315, + "Ġë°©ë²ķ": 107316, + "ĠгоÑĢод": 107317, + "ĠÐĺн": 107318, + "Ġоказ": 107319, + "رÙĪØ²": 107320, + "ĠiliÅŁk": 107321, + "宣": 107322, + "forman": 107323, + "adaÅŁ": 107324, + "ÙĬÙĦØ©": 107325, + "ĠÐļаÑĢ": 107326, + "Ġmất": 107327, + "æħĭ": 107328, + "мп": 107329, + "à¹Ĥà¸Ļ": 107330, + "ĠØŃÙĤÙĪÙĤ": 107331, + "ĠднÑı": 107332, + "ĠëĴ¤": 107333, + "ाà¤ķर": 107334, + "ì²ĺëŁ¼": 107335, + "âĢĮØ¢": 107336, + "hangi": 107337, + "è¡ĮæĶ¿": 107338, + "aliyet": 107339, + "Ġì²ľ": 107340, + "ĠYap": 107341, + "à¹Ĥรà¸ĩ": 107342, + "ì§Ģëħ¸": 107343, + "ÙİÙij": 107344, + "ÎijÎĻ": 107345, + "ána": 107346, + "andır": 107347, + "ระà¸ļà¸ļ": 107348, + "oÄŁlu": 107349, + "าà¸Īะ": 107350, + "ẩy": 107351, + "اÙĪÙĦ": 107352, + "ĠмаÑĤеÑĢÑĸ": 107353, + "ÎŁÎĿ": 107354, + "Ġinformace": 107355, + "تع": 107356, + "à¸ļà¸Ļ": 107357, + "ĠÄĮeské": 107358, + "Ġtemel": 107359, + "::::::::::::::::::::::::::::::::": 107360, + "Ġchia": 107361, + "-Ñģ": 107362, + "неÑĢг": 107363, + "Ġì°¾": 107364, + "ÑĢид": 107365, + "лоÑģÑĮ": 107366, + "زÙĦ": 107367, + "ê°ĢëĬĶ": 107368, + "ané": 107369, + "ĠнавÑĸÑĤÑĮ": 107370, + "ä¸ĵä¸ļ": 107371, + "Ġ경기": 107372, + "ĠpÅĻev": 107373, + "еÑĤи": 107374, + "ĠíĶĮ": 107375, + "нÑıÑĤ": 107376, + "à¥ģश": 107377, + "лÑİд": 107378, + "виÑī": 107379, + "å°¾": 107380, + "çļĦäºĭ": 107381, + "ĠëIJľ": 107382, + "رÙĪÙģ": 107383, + "Ġ女": 107384, + "κή": 107385, + "ĠTuy": 107386, + "Ġê²ĥìĿĦ": 107387, + "Ġbunu": 107388, + "ĠÑĢазлиÑĩ": 107389, + "ĠDün": 107390, + "ãĤŃãĥ£": 107391, + "ÑĢÑĥÑģ": 107392, + "Ġмм": 107393, + "loven": 107394, + "Ġotev": 107395, + "noloj": 107396, + "ESİ": 107397, + "üp": 107398, + "ĠèĤ": 107399, + "ικÏĮÏĤ": 107400, + "ضاء": 107401, + "ĠпеÑĩ": 107402, + "ÅĻÃŃklad": 107403, + "ãģĵãĤį": 107404, + "Å¡tÃŃ": 107405, + "Ġبرگ": 107406, + "ãģĮãģĤãĤĭ": 107407, + "ÑĸÑģÑĤ": 107408, + "à¥īà¤ķ": 107409, + "ÏĢη": 107410, + "ĠاÙĦÙħست": 107411, + "Ġзай": 107412, + "Ġchương": 107413, + "оÑĤÑĥ": 107414, + "ĠСам": 107415, + "Å¡et": 107416, + "ĠìŀĪìĹĪ": 107417, + "ĠÙģØ§Ø±": 107418, + "Ñĸон": 107419, + "ãĥĹãĥŃ": 107420, + "Ġnhiá»ĩt": 107421, + "inizi": 107422, + "Ġcož": 107423, + "Ġà¤Ĩन": 107424, + "Ġsystém": 107425, + "رÙĪØ¹": 107426, + "ayet": 107427, + "ĠÙ쨱ÙĩÙĨÚ¯": 107428, + "Ġè¶": 107429, + "èģ·": 107430, + "è§Ĥçľĭ": 107431, + "нок": 107432, + "à¸IJาà¸Ļ": 107433, + "êµIJìľ¡": 107434, + "kla": 107435, + "ãĤģãģ¦": 107436, + "ÎķÎĻ": 107437, + "åĿĹ": 107438, + "ĠskuteÄį": 107439, + "à¥Ĥà¤ľ": 107440, + "ãģijãģ¦": 107441, + "NGC": 107442, + "ĠåĢ": 107443, + "ĠÑĢозп": 107444, + "nÃŃků": 107445, + "ãĥ³ãĤ¹": 107446, + "ĠÐĴеÑĢ": 107447, + "Ġyüzde": 107448, + "Ġ미êµŃ": 107449, + "ĠÙħÙī": 107450, + "деÑĢ": 107451, + "ава": 107452, + "Ġmerkez": 107453, + "įng": 107454, + "ĠìĤ¼": 107455, + "ĠÑĢобоÑĤи": 107456, + "ĠнÑĮого": 107457, + "Ġеконом": 107458, + "ĠÑĩеловека": 107459, + "Ġà¸ŀระ": 107460, + "ãĥĴ": 107461, + "ãģ£ãģ¦ãģĦ": 107462, + "ä¼Ĺ": 107463, + "ĠпÑĢодÑĥкÑĤ": 107464, + "Ġyanı": 107465, + "à¥Ģवन": 107466, + "ĠcáºŃp": 107467, + "ĠAvrupa": 107468, + "ाà¤Ń": 107469, + "ĠìłĦìļ©": 107470, + "æķ£": 107471, + "ĠìľĦíķľ": 107472, + "ÑħодиÑĤÑĮ": 107473, + "Ġsınır": 107474, + "ücret": 107475, + "suz": 107476, + "æ¨Ĥ": 107477, + "Ġì°½": 107478, + "ÏģίοÏħ": 107479, + "åĪļ": 107480, + "Ø®ÙĦ": 107481, + "ëłĩê²Į": 107482, + "جد": 107483, + "ĠμαÏĤ": 107484, + "áºŃm": 107485, + "kara": 107486, + "ãĤ«ãĥ¼": 107487, + "Ġkterou": 107488, + "ìĽ¨": 107489, + "ÑĦиÑĨи": 107490, + "oÄŁraf": 107491, + "ĠнапÑĢи": 107492, + "ãģijãģ©": 107493, + "Ġéļ": 107494, + "تباÙĦ": 107495, + "ëŁ½": 107496, + "ì͍": 107497, + "íĮĮìĿ¼": 107498, + "Ïĩα": 107499, + "Ġuzak": 107500, + "Ġdòng": 107501, + "ĠголоÑģ": 107502, + "ÏĥÏĦή": 107503, + "ιλ": 107504, + "Ø·Ùģ": 107505, + "Ġê·¸ëħĢ": 107506, + "ãĤ¿ãĤ¤": 107507, + "اÙĨÚ¯": 107508, + "inou": 107509, + "лон": 107510, + "à¹ĩม": 107511, + "Ġबद": 107512, + "Ġkonusunda": 107513, + "Ġnâng": 107514, + "ãģ¾ãģĽãĤĵ": 107515, + "ÑĥÑİÑĤÑĮÑģÑı": 107516, + "åŁ¹": 107517, + "енко": 107518, + "ìłij": 107519, + "ĠÑĤов": 107520, + "ĠtÅĻeba": 107521, + "زاÙĨ": 107522, + "isyon": 107523, + "Ġген": 107524, + "ĠPokud": 107525, + "âĢĮاÙĨد": 107526, + "ĠгÑĢÑĥд": 107527, + "ĠخرÛĮد": 107528, + "λλα": 107529, + "ĠpÅĻÃŃm": 107530, + "Ġæ³ķ": 107531, + "ĠزÙĨدگÛĮ": 107532, + "ạp": 107533, + "ĠíĬ¸": 107534, + "ĠÄijá»Ļc": 107535, + "Ġê·¸ë¦¬ê³ł": 107536, + "низ": 107537, + "ĠÙĬÙĤ": 107538, + "laÅŁtır": 107539, + "ĠпÑĢаво": 107540, + "ÑĥÑģк": 107541, + "å°½": 107542, + "Ġपड": 107543, + "éĵģ": 107544, + "Ġì·¨": 107545, + "ĠاÙĦبÙĬ": 107546, + "¸": 107547, + "ิมà¸ŀ": 107548, + "ĠsvÄĽ": 107549, + "Ġбал": 107550, + "Ġmôn": 107551, + "ĠDữ": 107552, + "ĠشدÙĨ": 107553, + "ĠÙģÙĦ": 107554, + "Ġvznik": 107555, + "Ġchứ": 107556, + "ĠÑģÑĤÑĢÑĥкÑĤÑĥ": 107557, + "縣": 107558, + "ĠHoa": 107559, + "íĮĢ": 107560, + "ĠÑĢÑĸÑĪ": 107561, + "ĠвоздÑĥ": 107562, + "олÑĮÑĪ": 107563, + "οÏħμε": 107564, + "ูà¸Ļ": 107565, + "ĠпÑĢид": 107566, + "ilmek": 107567, + "ĠاÙĦÙĤر": 107568, + "Įĵ": 107569, + "Ġuç": 107570, + "å¨ĺ": 107571, + "ecektir": 107572, + "ĠíħĮ": 107573, + "ĠεÏħ": 107574, + "Ġhòa": 107575, + "ÏģÏħ": 107576, + "ึà¸ģษา": 107577, + "ĠÑĤеÑħнолог": 107578, + "úi": 107579, + "Ġbilgiler": 107580, + "ĠÙĤاÙĦ": 107581, + "edl": 107582, + "znám": 107583, + "ály": 107584, + "åºĶ该": 107585, + "алÑĮний": 107586, + "аÑĤелÑı": 107587, + "à¸Ļวà¸Ļ": 107588, + "ĠÐŁÐ¾Ð»": 107589, + "à¸ŀà¸Ļ": 107590, + "礼": 107591, + "Ġtasar": 107592, + "ĠÑĤой": 107593, + "ĠмеÑģÑı": 107594, + "ĠиÑģк": 107595, + "Ġपद": 107596, + "γή": 107597, + "اختÙĩ": 107598, + "è¿ĻéĩĮ": 107599, + "Ġchá»īnh": 107600, + "ĠÙĤسÙħ": 107601, + "ÙİÙĩ": 107602, + "erli": 107603, + "åĽ½éĻħ": 107604, + "iliyor": 107605, + "ĠØ´ÙĩرستاÙĨ": 107606, + "Ġvelk": 107607, + "åĽº": 107608, + "ĠбÑĸлÑĮÑĪ": 107609, + "ãĥ¼ãĥĹ": 107610, + "æŁIJ": 107611, + "ì§ľ": 107612, + "ĠÄĮR": 107613, + "Ġдек": 107614, + "ربÛĮ": 107615, + "овиÑĩ": 107616, + "Ġkapsam": 107617, + "ĠÙĦØ£": 107618, + "ĠанÑĤи": 107619, + "Ġücret": 107620, + "견": 107621, + "оÑĢож": 107622, + "ÛĮÙħÛĮ": 107623, + "è©ķ": 107624, + "Ġë§ŀ": 107625, + "ĠÑĢÑıд": 107626, + "ĠÙĩÙħراÙĩ": 107627, + "âr": 107628, + "ابت": 107629, + "ĠиÑģполÑĮзоваÑĤÑĮ": 107630, + "кÑģ": 107631, + "âī¡": 107632, + "Ġolay": 107633, + "èį¯": 107634, + "Ġoprav": 107635, + "ĠدربارÙĩ": 107636, + "Ġä¸ŃåĽ½": 107637, + "илÑģÑı": 107638, + "åį«": 107639, + "ĠاÙĦاست": 107640, + "ÙĪÛĮÛĮ": 107641, + "ÑĢеÑĪ": 107642, + "ĠÙĨس": 107643, + "ãĢĤåľ¨": 107644, + "ĠÙĦØŃ": 107645, + "Ġkorun": 107646, + "ĠÙģØ±Ø¯": 107647, + "ĠобоÑĢ": 107648, + "еÑĪÑĮ": 107649, + "ĠpodmÃŃn": 107650, + "Ġë¬¸ìłľ": 107651, + "ĠdeÄŁerlendir": 107652, + "ä¸įåIJĮ": 107653, + "æ¶²": 107654, + "ाहर": 107655, + "íļį": 107656, + "à¥įà¤ł": 107657, + "иÑĤиÑģÑı": 107658, + "اÙĦع": 107659, + "ĠdvÄĽ": 107660, + "ĠпеÑĢек": 107661, + "Ġåħĥ": 107662, + "Ġaras": 107663, + "Ġaltında": 107664, + "Ġвза": 107665, + "æĴĥ": 107666, + "Ġmilyon": 107667, + "ĠåѦ": 107668, + "ĠваÑĢи": 107669, + "ĠاÙĦعاÙĦÙħ": 107670, + "'Ñı": 107671, + "ÙĪÛĮس": 107672, + "ĠможÑĥÑĤÑĮ": 107673, + "ãģijãģŁ": 107674, + "ìĿ´ìĹĪëĭ¤": 107675, + "οÏįν": 107676, + "ĠéŁ": 107677, + "Ġpostup": 107678, + "üyük": 107679, + "åĪĬ": 107680, + "ĠÙĤب": 107681, + "ĠاصÙĦÛĮ": 107682, + "ÙĪÙī": 107683, + "Ġrepublik": 107684, + "ĠÐĻ": 107685, + "ģm": 107686, + "Ġбел": 107687, + "ा-": 107688, + "Ñģкое": 107689, + "Ġcuá»iji": 107690, + "è²·": 107691, + "ียว": 107692, + "éĩįè¦ģ": 107693, + "ูม": 107694, + "ĠÑĢозвиÑĤкÑĥ": 107695, + "Ġë°±": 107696, + "åĥ¹": 107697, + "Ġåīį": 107698, + "à¹Ħà¸ĭ": 107699, + "ãĢĮâ̦â̦": 107700, + "à¥Įत": 107701, + "کرد": 107702, + "ĠzaÅĻÃŃzenÃŃ": 107703, + "สาร": 107704, + "Ġletech": 107705, + "lemek": 107706, + "人ãģ®": 107707, + "Ġdưỡng": 107708, + "تÙĤ": 107709, + "Ġåĵ": 107710, + "åħ»": 107711, + "Ġëıħ": 107712, + "Ġ루": 107713, + "ذÙĦÙĥ": 107714, + "ĠìĿ¼ë³¸": 107715, + "ĠAyrıca": 107716, + "ĠÙ¾Úĺ": 107717, + "isinin": 107718, + "Ġìĭ¶": 107719, + "Ú¯ÛĮرÛĮ": 107720, + "خصص": 107721, + "³ç´°": 107722, + "ĠмаÑĤеÑĢиал": 107723, + "kové": 107724, + "ë§ī": 107725, + "ãģķãģĽ": 107726, + "ĠÑĤакой": 107727, + "ĠtráºŃn": 107728, + "ĠлиÑĨ": 107729, + "ĠåĽĽ": 107730, + "ÑĩÑĥ": 107731, + "Ġæ°´": 107732, + "Ġdolay": 107733, + "å½¹": 107734, + "ÑĢива": 107735, + "ĠгÑĢÑĥпп": 107736, + "Ġmümkün": 107737, + "лена": 107738, + "ëĿ¼ëĬĶ": 107739, + "åĪ©ç͍": 107740, + "Ġrahat": 107741, + "ï¼ıï¼ıï¼ıï¼ı": 107742, + "æģ©": 107743, + "ĠíķŃ": 107744, + "ĠíĴ": 107745, + "ĠìĬ¹": 107746, + "Ġchân": 107747, + "ĠãĤ¨": 107748, + "Ġжизни": 107749, + "çĸij": 107750, + "ãĢĤä»ĸ": 107751, + "리ìĬ¤": 107752, + "ÑĩиÑħ": 107753, + "Ġé¦ĸ": 107754, + "ÄĽr": 107755, + "ĠйомÑĥ": 107756, + "ĠtháºŃt": 107757, + "Ġìķŀ": 107758, + "cih": 107759, + "سÙĦاÙħ": 107760, + "Ġsiyas": 107761, + "ĠíĸĪ": 107762, + "ĠкоÑĪ": 107763, + "Ïĥαν": 107764, + "ÙĬاÙĨ": 107765, + "Ġdö": 107766, + "ाहत": 107767, + "оÑĢод": 107768, + "оваÑı": 107769, + "ÑĨионалÑĮ": 107770, + "ائÙĩ": 107771, + "Ġà¤ĸर": 107772, + "ĠÄijá»Ŀi": 107773, + "ä¸įä¼ļ": 107774, + "Ùĥز": 107775, + "ีà¸Ħวาม": 107776, + "lıyor": 107777, + "à¥ĭद": 107778, + "Ġì¶©": 107779, + "Ġcá»ij": 107780, + "à¹Ĥà¸ķ": 107781, + "ĠεÏĢί": 107782, + "ĠпÑĢÑıм": 107783, + "æ³°": 107784, + "اÙĦØ©": 107785, + "jÃŃm": 107786, + "Ġби": 107787, + "Å¡em": 107788, + "ĠHá»Ļi": 107789, + "à¸Ħรà¸ĩ": 107790, + "Ġhuyá»ĩn": 107791, + "ç¯Ģ": 107792, + "liÅ¡": 107793, + "ĠجÙĩت": 107794, + "ç§ĭ": 107795, + "ĠÑĨел": 107796, + "ĠлÑĸÑĤ": 107797, + "Ġæ·": 107798, + "жÑĥ": 107799, + "ãģĪãģŁ": 107800, + "ë´ī": 107801, + "Ġ머": 107802, + "åł´åIJĪ": 107803, + "éĿ©": 107804, + "ãĥªãĥ³": 107805, + "егда": 107806, + "Ġbenim": 107807, + "缣": 107808, + "ãģ®ä¸Ń": 107809, + "åĿIJ": 107810, + "ĠÃľniversitesi": 107811, + "ĠkoÅŁ": 107812, + "Ġпож": 107813, + "iá»ĩp": 107814, + "ĠpÅĻij": 107815, + "ëŀ¨": 107816, + "ĠاÙĦأس": 107817, + "árnÃŃ": 107818, + "iếm": 107819, + "ĠèĬ": 107820, + "Ġδε": 107821, + "娱ä¹IJ": 107822, + "Ġưu": 107823, + "ĠçĦ¡": 107824, + "ĠгÑĢи": 107825, + "ĠпоÑįÑĤомÑĥ": 107826, + "ĠÄijóng": 107827, + "جاÙĨ": 107828, + "Ġnghiên": 107829, + "ĠاÙĦاÙĨ": 107830, + "ÑĪей": 107831, + "à¹ģรà¸ģ": 107832, + "ĠÚĨÙĩار": 107833, + "ÑİÑīий": 107834, + "ÏĮÏģ": 107835, + "ĠرÙħ": 107836, + "ì²ł": 107837, + "ĠدستگاÙĩ": 107838, + "ĠدÛĮد": 107839, + "ãĥĥãĤ¯ãĤ¹": 107840, + "ामन": 107841, + "ĠThÃłnh": 107842, + "Ġthẩm": 107843, + "ĠcÃłng": 107844, + "ĠdönÃ¼ÅŁ": 107845, + "ĠпÑĢигоÑĤов": 107846, + "ĠkiÅŁi": 107847, + "ØŃت": 107848, + "Ġë²ķ": 107849, + "é£Ľ": 107850, + "Ġitibar": 107851, + "Ġглав": 107852, + "Ġortam": 107853, + "Ġmadd": 107854, + "ĠоÑģÑĤав": 107855, + "ĠÙģÙĪØªØ¨Ø§ÙĦ": 107856, + "ĠanlaÅŁ": 107857, + "leyen": 107858, + "ç´Ģ": 107859, + "Ġé£": 107860, + "/lo": 107861, + "ÙħÙĪÙĦ": 107862, + "ĠдÑĥÑħ": 107863, + "ĠÙĦب": 107864, + "лег": 107865, + "Ġgönder": 107866, + "ÙĬØ·": 107867, + "Ġสำ": 107868, + "Ġvás": 107869, + "ĠÐŁÐµÑĤ": 107870, + "алоÑģÑı": 107871, + "ì¿ł": 107872, + "éϽ": 107873, + "åĸ®": 107874, + "èĪŀ": 107875, + "нÑĥл": 107876, + "ÄŁine": 107877, + "Ġghi": 107878, + "Ġçµ": 107879, + "ÙĬÙĨÙĬ": 107880, + "Ž": 107881, + "Ġhüküm": 107882, + "ĠDÄ±ÅŁ": 107883, + "ĠÎŃÏĩει": 107884, + "ĠÑģка": 107885, + "ĠÑĤим": 107886, + "ĠпоÑģÑĤав": 107887, + "à¸Ļาà¸Ķ": 107888, + "dül": 107889, + "Ġdva": 107890, + "Ġà¸Ħà¸Ļ": 107891, + "Ġchá»ĭu": 107892, + "Ġèı": 107893, + "à¹ģสà¸Ķà¸ĩ": 107894, + "æ°£": 107895, + "Ġíά": 107896, + "ĠÑĩин": 107897, + "ãģ«ãģĬ": 107898, + "енноÑģÑĤи": 107899, + "ÐIJÐĿ": 107900, + "Ġhemen": 107901, + "Ġait": 107902, + "Ġà¤Ĭ": 107903, + "æī§": 107904, + "ĠABD": 107905, + "Ġκαθ": 107906, + "æ´Ľ": 107907, + "ãĤ¢ãĥ«": 107908, + "à¹īาà¸Ĺ": 107909, + "ÅĻez": 107910, + "dÄĽji": 107911, + "Ġtá»ĭch": 107912, + "еннÑıм": 107913, + "ĠвÑģÑĤанов": 107914, + "ĠاÙĦبر": 107915, + "ÙĪÙħتر": 107916, + "kách": 107917, + "åºĬ": 107918, + "лÑĥж": 107919, + "Ġتد": 107920, + "丽": 107921, + "رخ": 107922, + "à¤Ĥà¤ĸ": 107923, + "èĩªå·±çļĦ": 107924, + "å®ĺç½ij": 107925, + "-Ñı": 107926, + "à¹ĩà¸Ķ": 107927, + "èĦļ": 107928, + "Ġçķ": 107929, + "Ġiçerisinde": 107930, + "Ġbiá»ĥn": 107931, + "Ġà¸ģล": 107932, + "ĠyaÄŁ": 107933, + "Ġæ´": 107934, + "ĠбÑĢа": 107935, + "عار": 107936, + "æĪ°": 107937, + "à¥ĢĊ": 107938, + "ĠléÄį": 107939, + "aların": 107940, + "ĠÎĸ": 107941, + "аÑĢÑı": 107942, + "ãģĿãĤĵãģª": 107943, + "ÅĪuje": 107944, + "ãĢĢĠ": 107945, + "ĠsaÄŁlık": 107946, + "ĠдоÑģлÑĸд": 107947, + "ÃŃÅ¡": 107948, + "à¥įरश": 107949, + "à¥īन": 107950, + "Ġgiả": 107951, + "بÙĪØ§Ø³Ø·Ø©": 107952, + "å®ģ": 107953, + "Ġsoud": 107954, + "ĠкÑĤо": 107955, + "esel": 107956, + "Ġпам": 107957, + "ĠÂłĠ": 107958, + "ĠÄįlov": 107959, + "æ··": 107960, + "หà¸į": 107961, + "ĠOsman": 107962, + "æ¦Ĥ": 107963, + "Ġåĭ": 107964, + "ï¼Įåħ¶": 107965, + "Ġà¸Ħร": 107966, + "Ġmá»ģm": 107967, + "ĠÑģоÑĢ": 107968, + "çĨ±": 107969, + "Ġthuê": 107970, + "رج": 107971, + "à¹Ĥลà¸ģ": 107972, + "Ġíķĺê³ł": 107973, + "ÙĬدة": 107974, + "ĠaÅŁaģı": 107975, + "Ġká»ĥ": 107976, + "à¸ķำ": 107977, + "λει": 107978, + "çļĦè¯Ŀ": 107979, + "æ±ł": 107980, + "ĠÑģÑĤен": 107981, + "Ġincel": 107982, + "åºŃ": 107983, + "ÑĤоÑĩ": 107984, + "Ġproblém": 107985, + "ÏĦÏĥ": 107986, + "à¹īà¸Ńà¸Ļ": 107987, + "ë³´ëĭ¤": 107988, + "Ġà¤Ĩà¤Ĺ": 107989, + "ναÏĤ": 107990, + "ãģĦãĤĭ": 107991, + "Ġdục": 107992, + "Ġtohoto": 107993, + "ëIJĺìĹĪëĭ¤": 107994, + "TJ": 107995, + "ĠвизнаÑĩ": 107996, + "ĠBunun": 107997, + "à¤Ĥबर": 107998, + "ĠÙĩÙħÚĨÙĨÛĮÙĨ": 107999, + "ĠбÑİдж": 108000, + "ÑĥÑĢг": 108001, + "亮": 108002, + "Ġμεγ": 108003, + "Ġtoplum": 108004, + "ãģ£ãģ": 108005, + "оÑĤо": 108006, + ":|": 108007, + "éĿŀ常": 108008, + "ิà¸Ĺà¸ĺ": 108009, + "éģķ": 108010, + "âĢĮپدÛĮ": 108011, + "ĠзÑĢоб": 108012, + "à¹Įà¸Ķ": 108013, + "Ġдолжен": 108014, + "ĠmÄĽsta": 108015, + "ÛĮØ´Ùĩ": 108016, + "vatel": 108017, + "Ġprovoz": 108018, + "Ġinan": 108019, + "à¤Ĥप": 108020, + "Ġparç": 108021, + "ÑĢаÑģÑĤ": 108022, + "ümü": 108023, + "Ġgiá»ijng": 108024, + "欢": 108025, + "Ø«ÙĬر": 108026, + "ĠBakan": 108027, + "Ġâ΍": 108028, + "ĠباÙĨ": 108029, + "Û±Û¸": 108030, + "ãĤĤãģĨ": 108031, + "landı": 108032, + "Ġyeniden": 108033, + "ÑĨенÑĤ": 108034, + "ĠдеÑıÑĤелÑĮ": 108035, + "Щ": 108036, + "Ġrov": 108037, + "å®Įåħ¨": 108038, + "ĠKỳ": 108039, + "slu": 108040, + "Ġlấy": 108041, + "é¤IJ": 108042, + "ĠÑĩолов": 108043, + "ä¼Ŀ": 108044, + "ĠbaÅŁv": 108045, + "å°Ī": 108046, + "곡": 108047, + "ãĢģãģĿãĤĮ": 108048, + "ĠPÅĻÃŃ": 108049, + "дем": 108050, + "ĠпÑĢоек": 108051, + "รà¸ĸ": 108052, + "建设": 108053, + "Ġможлив": 108054, + "殺": 108055, + "ãģ¡ãĤĥãĤĵ": 108056, + "æķij": 108057, + "ĠÄįty": 108058, + "é¦Ĩ": 108059, + "оÑĢÑĥ": 108060, + "ĠæĦ": 108061, + "ĠkÃŃch": 108062, + "λοÏħ": 108063, + "ãģĦãģ¤": 108064, + "ĠcÄĥn": 108065, + "ẵ": 108066, + "Ġelde": 108067, + "麻": 108068, + "ÄŁe": 108069, + "ĠdobÄĽ": 108070, + "ायर": 108071, + "Ġãĥı": 108072, + "нен": 108073, + "Ġmůžete": 108074, + "ĠнаÑģÑĤÑĥп": 108075, + "ìĭľê°Ħ": 108076, + "ĠÑģимпÑĤом": 108077, + "ĠÏĥÏį": 108078, + "ĠسÙĦ": 108079, + "εκ": 108080, + "รà¸ĵ": 108081, + "áte": 108082, + "ekler": 108083, + "ĠвÑĢемени": 108084, + "âĢĮÙĩاÛĮÛĮ": 108085, + "ãģĬãĤĬ": 108086, + "жи": 108087, + "ÑĭваеÑĤÑģÑı": 108088, + "ÙħاÙĨÛĮ": 108089, + "à¸ķล": 108090, + "Ġصد": 108091, + "Ġвол": 108092, + "ìĬĪ": 108093, + "ĠÙĥÙħا": 108094, + "Ġnhằm": 108095, + "èģ¯": 108096, + "ovacÃŃ": 108097, + "Ġë§Įëĵ¤": 108098, + "ÙĪÙ¾": 108099, + "Ġë¸Į": 108100, + "بÙĬØ©": 108101, + "uyla": 108102, + "лено": 108103, + "èĮ¶": 108104, + "ÑĢей": 108105, + "Ġkli": 108106, + "Ġüzerinden": 108107, + "неÑĤ": 108108, + "raÄį": 108109, + "ĠпÑĢаÑĨÑİ": 108110, + "Ġediyor": 108111, + "ãģıãģł": 108112, + "ĠÄįast": 108113, + "iyi": 108114, + "éĬĢ": 108115, + "Ġdù": 108116, + "ÙİØ¨": 108117, + "ÙĪÙĬØ©": 108118, + "åª": 108119, + "Ġsınıf": 108120, + "Ġساعت": 108121, + "Ġราย": 108122, + "ĠзаÑıв": 108123, + "Ġgặp": 108124, + "à¸Ńว": 108125, + "ĠØ«Ùħ": 108126, + "ĠZá": 108127, + "ĠвÑĸдк": 108128, + "izik": 108129, + "Ġmón": 108130, + "ĠповÑĭÑĪ": 108131, + "Ġà¸ļาà¸Ĺ": 108132, + "ĠÑģил": 108133, + "æĥħåł±": 108134, + "Âłt": 108135, + "ĠÐľÐ¾Ñģк": 108136, + "Ġê²ĥìĿ´ëĭ¤": 108137, + "ĠçIJ": 108138, + "ĠÙħدÛĮرÛĮت": 108139, + "овоÑĹ": 108140, + "Το": 108141, + "纪": 108142, + "нÑĸÑĪе": 108143, + "ĠÐĽÑİ": 108144, + "ηÏĥη": 108145, + "ĠÙĨسبت": 108146, + "muz": 108147, + "รว": 108148, + "ãĢģãģĤ": 108149, + "Ġболез": 108150, + "Ġtrách": 108151, + "ãĥ¦": 108152, + "à¹Ģà¸Ĥา": 108153, + "Ġê·¸ëĬĶ": 108154, + "برÛĮ": 108155, + "æłª": 108156, + "ëĿ¼ìĿ´": 108157, + "ĠíĮ¨": 108158, + "íĬ¹": 108159, + "ľ´": 108160, + "िड": 108161, + "ÑĢоме": 108162, + "讲": 108163, + "ĠÑĤон": 108164, + "ÑģÑĸ": 108165, + "Ġç®": 108166, + "åıĸãĤĬ": 108167, + "ì°°": 108168, + "ĠÙĪÙĦÛĮ": 108169, + "ĠسطØŃ": 108170, + "èıľ": 108171, + "нами": 108172, + "Türk": 108173, + "åİĤ": 108174, + "Ġfinan": 108175, + "ãģ«ãģªãĤĭ": 108176, + "Ġoby": 108177, + "Trong": 108178, + "Ġvyp": 108179, + "à¥ģड": 108180, + "ìŀIJê°Ģ": 108181, + "ĠæīĢ": 108182, + "ÐĹа": 108183, + "umlu": 108184, + "ëĵĿ": 108185, + "ĠменÑĸ": 108186, + "олниÑĤелÑĮ": 108187, + "ĠúÄįin": 108188, + "Ġbunun": 108189, + "ĠÐłÐ¾ÑģÑģии": 108190, + "вÑģÑı": 108191, + "ĠнÑĸж": 108192, + "ิà¸Ķà¸ķ": 108193, + "غة": 108194, + "Äļ": 108195, + "ĠسÙħ": 108196, + "ĠÐĺз": 108197, + "à¥ĩप": 108198, + "大çļĦ": 108199, + "ì¹ľ": 108200, + "ĠиÑģÑĤ": 108201, + "ĠконÑģÑĤÑĢÑĥк": 108202, + "Û±Û²": 108203, + "âl": 108204, + "ĠÑĪиÑĢ": 108205, + "ï¼ł": 108206, + "Ġartık": 108207, + "æŁĵ": 108208, + "乡": 108209, + "ÃŃte": 108210, + "ĠNháºŃt": 108211, + "ĠÎĶη": 108212, + "Ġölç": 108213, + "êµ´": 108214, + "оÑıн": 108215, + "ëĵ±ë¡Ŀ": 108216, + "Ġngân": 108217, + "ĠбÑĥдÑĮ": 108218, + "ÎŁÎ¡": 108219, + "ì´": 108220, + "ÙħÙĪØ¯": 108221, + "νον": 108222, + "ÎķÎĿ": 108223, + "çijŀ": 108224, + "ĠÅĻek": 108225, + "-âĢIJ": 108226, + "ĠMerk": 108227, + "ĠопÑĢедел": 108228, + "Ïģιν": 108229, + "лаб": 108230, + "ëĦ¤ìļĶ": 108231, + "Ġблиз": 108232, + "Ġphá»iji": 108233, + "ĠдолжнÑĭ": 108234, + "ĠÑįкÑģп": 108235, + "à¸ļà¸Ĺ": 108236, + "à¸Ľà¸£à¸°à¸ª": 108237, + "ĠÙ¾ÚĺÙĪÙĩ": 108238, + "Ġíķľëĭ¤": 108239, + "ÏĦοÏį": 108240, + "ÙĩÙĨ": 108241, + "Ġдод": 108242, + "Ġkayı": 108243, + "Łģ": 108244, + "ÑģиÑı": 108245, + "à¤Ĥतर": 108246, + "Ġpodnik": 108247, + "evi": 108248, + "ÛĮÛĮر": 108249, + "Так": 108250, + "коп": 108251, + "наÑħ": 108252, + "اسÙĩ": 108253, + "à¸ĵà¸ij": 108254, + "Ġkhá": 108255, + "Ġyarat": 108256, + "ĠاÛĮÙĨÚ©Ùĩ": 108257, + "طبÙĬ": 108258, + "Ġsır": 108259, + "ĠØ¢ÙħرÛĮکا": 108260, + "Ġबल": 108261, + "kaç": 108262, + "Ġåı¯": 108263, + "Ġåħ¶": 108264, + ".***": 108265, + "лÑĸннÑı": 108266, + "ä¹±": 108267, + "oq": 108268, + "æ¦": 108269, + "ãĤ¼": 108270, + "Ġfır": 108271, + "Ġkê": 108272, + "Ġìłľê³µ": 108273, + "ĠÏĥη": 108274, + "анÑĭ": 108275, + "нова": 108276, + "à¸Ĭาย": 108277, + "ĠØ·ÙĪÙĦ": 108278, + "à¥Īय": 108279, + "Ġì¹ľ": 108280, + "ìĤ´": 108281, + "ĠпÑĸв": 108282, + "ĠluáºŃn": 108283, + "Ġà¤īम": 108284, + "åºĥ": 108285, + "à¹ĩà¸Ńà¸ķ": 108286, + "ĠساÛĮت": 108287, + "лÑıн": 108288, + "ĠíķĦìļĶ": 108289, + "Ġgörül": 108290, + "ĠÑĤеÑĢиÑĤоÑĢ": 108291, + "ĠÙĨØŃ": 108292, + "ема": 108293, + "Ġmnoh": 108294, + "Ġãģ¯": 108295, + "غÙĬر": 108296, + "ĠÑģделаÑĤÑĮ": 108297, + "çģµ": 108298, + "ĠÐłÐ°Ð·": 108299, + "ĠгеÑĢ": 108300, + "γμα": 108301, + "íķĺë©´": 108302, + "ĠdeÄŁiÅŁtir": 108303, + "ãĥ³ãĥĨ": 108304, + "å¸Ĥåľº": 108305, + "个人": 108306, + "ìĥĪ": 108307, + "침": 108308, + "èīº": 108309, + "ÙĤت": 108310, + "ĠگرÙģØªÙĩ": 108311, + "Ġçİĭ": 108312, + "ĠاÙĦذÙĩ": 108313, + "λÏħ": 108314, + "à¤ľà¤°": 108315, + "Ġвним": 108316, + "ë¦Ń": 108317, + "ิà¸Ĺ": 108318, + "ĠشاÙĩ": 108319, + "æĬķèµĦ": 108320, + "æĿIJæĸĻ": 108321, + "ĠÙĨÙģ": 108322, + "説": 108323, + "æĬĹ": 108324, + "Ġаб": 108325, + "iyeti": 108326, + "ç¾ħ": 108327, + "ÑĢÑĸз": 108328, + "Ġสม": 108329, + "icÃŃ": 108330, + "кÑĥваннÑı": 108331, + "Ġìķ¼": 108332, + "Ġè½": 108333, + "âĢ«": 108334, + "Ġδιά": 108335, + "Ġдеп": 108336, + "ãĥ¼ãĤ¿": 108337, + "Ġobjev": 108338, + "ména": 108339, + "Ġbelg": 108340, + "Ġæ¥": 108341, + "Ġná»ģn": 108342, + "Ġгол": 108343, + "Ġpostav": 108344, + "Ġتک": 108345, + "Ы": 108346, + "ĠпÑĸдÑĤ": 108347, + "ĠоÑĤноÑĪ": 108348, + "ĠпÑĢив": 108349, + "ĠåŁº": 108350, + "Ġнали": 108351, + "ůž": 108352, + "Ġyat": 108353, + "ÅŁa": 108354, + "ÏĦήÏĤ": 108355, + "ÑĨем": 108356, + "次æķ°": 108357, + "ĠbÃł": 108358, + "ÙĪÙĥ": 108359, + "ĠíĶĦë¡ľ": 108360, + "ĠPháp": 108361, + "Ġêµ°": 108362, + "è³ŀ": 108363, + "Ġochran": 108364, + "Ġgerekir": 108365, + "Ġíļ": 108366, + "à¸ļล": 108367, + "áme": 108368, + "ĠبÛĮر": 108369, + "à¸Ĥาย": 108370, + "ований": 108371, + "Ġmožné": 108372, + "âĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģ": 108373, + "álu": 108374, + "нÑĤ": 108375, + "¦æĥħ": 108376, + "à¹ģรม": 108377, + "ĠÑĦÑĸн": 108378, + "Ġİç": 108379, + "à¹Īà¸Ńย": 108380, + "겨": 108381, + "Ġhedef": 108382, + "ĠاÙĦÙħØ´": 108383, + "à¹īาม": 108384, + "å¯Ħ": 108385, + "Ġëĭµ": 108386, + "Ġô": 108387, + "лаÑģÑı": 108388, + "İT": 108389, + "à¸Ķำ": 108390, + "Ġherhangi": 108391, + "Ġgereken": 108392, + "еÑĢеж": 108393, + "ÙĪØ©": 108394, + "ĠpÅĻest": 108395, + "ç§ijåѦ": 108396, + "оÑģÑĤаÑĤ": 108397, + "ünden": 108398, + "åĮħæĭ¬": 108399, + "ĠدÙĩد": 108400, + "ÑĪиÑģÑĮ": 108401, + "неÑĢ": 108402, + "Ñĸдом": 108403, + "Ġbiç": 108404, + "ìĭŃ": 108405, + "Ġhodnot": 108406, + "ĠzemÄĽ": 108407, + "ĠاÛĮجاد": 108408, + "Ġyine": 108409, + "िण": 108410, + "ĠاÙĦبÙĦ": 108411, + "ĠNÄĽ": 108412, + "Ġpolož": 108413, + "éĺħ读": 108414, + "å¸ģ": 108415, + "å¼Ł": 108416, + "ξε": 108417, + "ĠMá»Ļt": 108418, + "ç£": 108419, + "Û±Û³Û¹": 108420, + "Ġآز": 108421, + "ãģŀ": 108422, + "ĠмеÑħ": 108423, + "ยม": 108424, + "Ġæ¨": 108425, + "Ġotur": 108426, + "Ġdầu": 108427, + "Ġëĭ¤ìļ´": 108428, + "çĮ«": 108429, + "ĠCó": 108430, + "ĠlidÃŃ": 108431, + "ĠarkadaÅŁ": 108432, + "Ġαλλά": 108433, + "é¡»": 108434, + "ĠÙĩÙħÛĮÙĨ": 108435, + "転": 108436, + "ĠâĹĭ": 108437, + "ëıĦë¡Ŀ": 108438, + "Âĥ": 108439, + "âĢĮشدÙĩ": 108440, + "ĠØŃÙĬØ«": 108441, + "Ġnhóm": 108442, + "ÏĥÏĩ": 108443, + "ĠÑĤÑĢанÑģп": 108444, + "Ġtanım": 108445, + "ç´į": 108446, + "Ġbahis": 108447, + "举": 108448, + "ĠинÑĦоÑĢма": 108449, + "ĠÑģлож": 108450, + "Ġkraj": 108451, + "ĠØŃÙĦ": 108452, + "Ġãĥĸ": 108453, + "ĠÙĨÙĤÙĦ": 108454, + "ĠÐłÐ¾Ð·": 108455, + "ĠÎijÏħ": 108456, + "lardı": 108457, + "Ġپاس": 108458, + "ĠìĭĿ": 108459, + "ĠìłĦìļ©ë©´ìłģ": 108460, + "ĠاÙĦسÙĬ": 108461, + "باشد": 108462, + "ศาสà¸ķร": 108463, + "Ġköy": 108464, + "Ġrok": 108465, + "Ġ죽": 108466, + "ĠÑģог": 108467, + "Ġchú": 108468, + "éĺª": 108469, + "ĠÄįásti": 108470, + "ĠзвеÑĢ": 108471, + "Ġниз": 108472, + "ĠÃ¶ÄŁret": 108473, + "Ġãĥİ": 108474, + "пе": 108475, + "çĴ°": 108476, + "Ġèª": 108477, + "ÙĪÙĦÙĩ": 108478, + "İM": 108479, + "/REC": 108480, + "å¡ŀ": 108481, + "ĠÐĴи": 108482, + "/loose": 108483, + "ĠпоÑħ": 108484, + "ĠgeniÅŁ": 108485, + "Ġthiá»ĩn": 108486, + "tiÄŁi": 108487, + "Ñĩие": 108488, + "онд": 108489, + "ĠпÑĢиÑģ": 108490, + "ázky": 108491, + "ĠDevlet": 108492, + "ç¦ģ": 108493, + "Ġаг": 108494, + "ilere": 108495, + "инкÑĥ": 108496, + "Ġvardı": 108497, + "ãĢĢãĢĢãĢĢĠãĢĢ": 108498, + "ĠëĨĴ": 108499, + "à¤Ĥपन": 108500, + "Ġözellik": 108501, + "éļľ": 108502, + "ìĸ´ìĦľ": 108503, + "رÙĬÙĥ": 108504, + "ÙĪØ¨ÛĮ": 108505, + "ãĥ³ãĥĢ": 108506, + "íĮ¨": 108507, + "Ġसमà¤Ŀ": 108508, + "ï¾Ĩï¾Ĩï¾Ĩï¾Ĩ": 108509, + "ĠÙģÙĨ": 108510, + "à¥Ŀ": 108511, + "Ġuveden": 108512, + "ÑĪими": 108513, + "Ġà¹Ģล": 108514, + "Ġ문ìĿĺ": 108515, + "ĠØŃرÙģ": 108516, + "Ġعب": 108517, + "ãĥ¬ãĥĵ": 108518, + "ĠæŃ£": 108519, + "ĠëĺIJëĬĶ": 108520, + "ĠÚ©ÙĨÙĨدÙĩ": 108521, + "ĠαÏħÏĦÏĮ": 108522, + "Ġ길": 108523, + "Ġifade": 108524, + "Ġyapmak": 108525, + "ãĥķãĤ©": 108526, + "Ġmẹ": 108527, + "Ġstrán": 108528, + "Ġsvou": 108529, + "Ġvždy": 108530, + "Ġtekrar": 108531, + "ิà¸į": 108532, + "Ġìĵ°": 108533, + "oÄŁu": 108534, + "ĠÚ©ÛĮÙĦ": 108535, + "ивÑģÑı": 108536, + "Ġë§IJíĸĪëĭ¤": 108537, + "ä¸Ŀ": 108538, + "à¤ıस": 108539, + "ĠÑģÑĤÑĢаÑħ": 108540, + "ĠsouÄįas": 108541, + "Ġê·¸ëŁ°": 108542, + "ĠmÃ¼ÅŁ": 108543, + "λοÏį": 108544, + "γÏī": 108545, + "ĠtÆ°á»Łng": 108546, + "Ġå·¥": 108547, + "ĠاسÙħ": 108548, + "ÑĢÑĸм": 108549, + "à¹Ģà¸Ľà¸¥": 108550, + "Ġ³³Ġ³³": 108551, + "ÙĩاÛĮÛĮ": 108552, + "寺": 108553, + "ĠسرÛĮ": 108554, + "ĠкваÑĢ": 108555, + "ĠØ´ÙħارÙĩ": 108556, + "ĠصØŃ": 108557, + "оÑģÑĤав": 108558, + "२": 108559, + "Ġà¸Ħวาม": 108560, + "íĥģ": 108561, + "éĢĤ": 108562, + "بØŃ": 108563, + "ĠdeÄŁiÅŁik": 108564, + "éĮ²": 108565, + "еди": 108566, + "Ġokol": 108567, + "ĠÑģоп": 108568, + "Ġolmayan": 108569, + "çŃij": 108570, + "Û±Û´": 108571, + "Ġinclu": 108572, + "Ġê²ĮìŀĦ": 108573, + "ÛĮستÙħ": 108574, + "Ġç©": 108575, + "ĠاÙĦÙĪÙĦاÙĬات": 108576, + "ilmektedir": 108577, + "ÃĮ": 108578, + "ÙİØ¹": 108579, + "Ġaģır": 108580, + "è¡Ľ": 108581, + "Ġeski": 108582, + "ê°Ŀ": 108583, + "본ëĭ¤": 108584, + "人åijĺ": 108585, + "ÚĺÛĮ": 108586, + "Ġç¨": 108587, + "ĠмеÑģÑĤо": 108588, + "vů": 108589, + "à¥įरह": 108590, + "ĠطرØŃ": 108591, + "ĠابÙĨ": 108592, + "Ġhiss": 108593, + "оÑĢÑıд": 108594, + "ĠدÙģ": 108595, + "ÑĢиÑģÑĤ": 108596, + "à¸Ĭม": 108597, + "деÑĤ": 108598, + "à¹Ģหม": 108599, + "ë§ĪìĤ¬ì§Ģ": 108600, + ":.:.:": 108601, + "éħ¸": 108602, + "ĠαÏģÏĩ": 108603, + "Ġnữ": 108604, + "ĠпоÑģад": 108605, + "lum": 108606, + "ìº": 108607, + "ãģ§ãģįãĤĭ": 108608, + "ìĸµ": 108609, + "ĠاÙĦÙħد": 108610, + "нÑĸм": 108611, + "راÙĤ": 108612, + "ĠãĥĪ": 108613, + "ĠodpovÄĽ": 108614, + "Ġbirbir": 108615, + "Ġhãy": 108616, + "овий": 108617, + "æ®ĭ": 108618, + "éĥ½æĺ¯": 108619, + "迪": 108620, + "Ġaraç": 108621, + "енÑĤÑĸв": 108622, + "æĬ±": 108623, + "dál": 108624, + "ĠÄIJông": 108625, + "Ġhesap": 108626, + "ĠاÙĨساÙĨ": 108627, + "ĠÙĬÙĪÙħ": 108628, + "ĠÙĨÙĪØ±": 108629, + "åīĩ": 108630, + "çĹĽ": 108631, + "ĠÙĨÙĬ": 108632, + "алÑĮна": 108633, + "تباط": 108634, + "लब": 108635, + "Ġkomun": 108636, + "Ġsnad": 108637, + "åĽ£": 108638, + "رÙĬد": 108639, + "elopment": 108640, + "ĠиÑİ": 108641, + "à¥Ģ.": 108642, + "Ġkısa": 108643, + "ĠdeÄŁildir": 108644, + "à¹īาร": 108645, + "Ġsvého": 108646, + "Ġoblasti": 108647, + "ÑĪли": 108648, + "à¹Ģà¸Ĺà¸ŀ": 108649, + "ÑĢеÑĤÑĮ": 108650, + "ово": 108651, + "ĠíĤ¤": 108652, + "átky": 108653, + "ĠاÙĦÙ쨱": 108654, + "èĺŃ": 108655, + "ÏĦον": 108656, + "ĠÑģÑĤоиÑĤ": 108657, + "ÙħØŃ": 108658, + "Ġà¹Ħ": 108659, + "ĠÑĤебе": 108660, + "íģ´": 108661, + "ĠmÄĽla": 108662, + "æİ§åζ": 108663, + "ĠChá»§": 108664, + "ìĬ¨": 108665, + "ÐIJТ": 108666, + "اجع": 108667, + "ìĻķ": 108668, + "ç©¿": 108669, + "олее": 108670, + "หลาย": 108671, + "Ġdvou": 108672, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 108673, + "ุà¸Ĥ": 108674, + "Ġboz": 108675, + "ิà¸Ļà¸Ħ": 108676, + "å¤Ł": 108677, + "Ġfaaliyet": 108678, + "ĠÄįÃŃs": 108679, + "ãģ»ãģ©": 108680, + "Ġ:/": 108681, + "кÑĸÑģÑĤÑĮ": 108682, + "Ġì¤Ģ": 108683, + "ÏģαÏĤ": 108684, + "Ġодно": 108685, + "æ¢ħ": 108686, + "Ñĥбли": 108687, + "ноз": 108688, + "à¹Įม": 108689, + "Ġvýrob": 108690, + "ĠκÏħ": 108691, + "ÅĻev": 108692, + "ÂłB": 108693, + "ůže": 108694, + "ä¼ļ社": 108695, + "ιβ": 108696, + "ÑĢованиÑı": 108697, + "Ġcev": 108698, + "ìĽĢ": 108699, + "álnÃŃch": 108700, + "ĠÑĢав": 108701, + "ç´§": 108702, + "åĢŁ": 108703, + "ĠÑŁ": 108704, + "ÙĪÙĨÙĬ": 108705, + "озÑı": 108706, + "Ġзов": 108707, + "Ġkolem": 108708, + "민êµŃ": 108709, + "ç¿Ĵ": 108710, + "ĠzamÄĽst": 108711, + "Ġìłij": 108712, + "ĠزÙĨ": 108713, + "ĠØ£Ùģ": 108714, + "Ġ먹": 108715, + "Ġtomto": 108716, + "Ġ첨ë¶Ģ": 108717, + "sage": 108718, + "ä¸įè¿ĩ": 108719, + "егод": 108720, + "ÑĢож": 108721, + "ĠпÑĢоÑĨед": 108722, + "à¹Įà¸Ļ": 108723, + "sanız": 108724, + "âĢŀØ·": 108725, + "æ´»åĬ¨": 108726, + "оÑĩки": 108727, + "보기": 108728, + "åŁºæľ¬": 108729, + "-Ñħ": 108730, + "лоÑģÑı": 108731, + "ĠÙĩÛĮÚĨ": 108732, + "ìĹĶ": 108733, + "Ñĩного": 108734, + "Ġà¤Ĺर": 108735, + "Ġà¤ħà¤Ĺ": 108736, + "ãħĭãħĭãħĭãħĭ": 108737, + "ĠãĤ¸": 108738, + "اسة": 108739, + "åĬĩ": 108740, + "à¹īà¸ĩ": 108741, + "Ġ커": 108742, + "nými": 108743, + "ãĥ¬ãĤ¹": 108744, + "åĭĴ": 108745, + "ĠоблаÑģÑĤÑĸ": 108746, + "ĠдÑĸÑıлÑĮноÑģÑĤÑĸ": 108747, + "ãĥ¬ãĤ¤": 108748, + "Ïĩαν": 108749, + "à¹Īาส": 108750, + "ĠФÑĢан": 108751, + "ÙĩÙĦ": 108752, + "lardır": 108753, + "ØŃات": 108754, + "ůst": 108755, + "ĠводÑĭ": 108756, + "ĠدÙĪÙĦت": 108757, + "ĠÑģпеÑĨÑĸ": 108758, + "Ġthất": 108759, + "à¸Ńาหาร": 108760, + "éłĺ": 108761, + "Ġtercih": 108762, + "ĠÏĢÏģοÏĥ": 108763, + "ĠÅĻÃŃzenÃŃ": 108764, + "è§īå¾Ĺ": 108765, + "Ġdnes": 108766, + "еÑĩно": 108767, + "ãĥĺ": 108768, + "ĠداراÛĮ": 108769, + "ĠÅŁart": 108770, + "벤": 108771, + "Ġë¶ģ": 108772, + "еÑı": 108773, + "нÑıÑĤÑĮ": 108774, + "ĠkvÄĽt": 108775, + "ĠتغÛĮÛĮر": 108776, + "é¾į": 108777, + "ĠرÙĨÚ¯": 108778, + "ï¼Įåı¯": 108779, + "Ġpiyas": 108780, + "Ġuygulan": 108781, + "ÙİØ©": 108782, + "بÙĬر": 108783, + "иваÑĤÑĮ": 108784, + "ĠíĹĪ": 108785, + "丶": 108786, + "è¿ĻäºĽ": 108787, + "Ġگر": 108788, + "罪": 108789, + "ä¸Ģæł·": 108790, + "Ġãĥª": 108791, + "Ġвой": 108792, + "Ġsosyal": 108793, + "ุà¸Ĺà¸ĺ": 108794, + "หมà¸Ķ": 108795, + "ç»Ŀ": 108796, + "ĠاÙĦجÙħ": 108797, + "Ġثبت": 108798, + "ĠجÙĨÚ¯": 108799, + "лении": 108800, + "ваÑı": 108801, + "ĠвоÑĤ": 108802, + "伤": 108803, + "Ġหล": 108804, + "ĠÙħÙĤاÙĦÙĩ": 108805, + "мÑĸнÑĸ": 108806, + "ìĺ¬": 108807, + "Ñĩий": 108808, + "ĠÙħÚ©": 108809, + "à¹Ĥà¸Ľà¸£": 108810, + "krv": 108811, + "ĠÃŃch": 108812, + "ÏīÏĥη": 108813, + "екÑĤоÑĢ": 108814, + "Як": 108815, + "ĠpÃŃs": 108816, + "ĠÃĸzel": 108817, + "ĠtÆ°á»Ľng": 108818, + "ĠÐĶо": 108819, + "διο": 108820, + "ูà¸Ķ": 108821, + "Ġtük": 108822, + "رÛĮÙĤ": 108823, + ".ÐĴ": 108824, + "ĠåIJĪ": 108825, + "ä¿Ĥ": 108826, + "Ġobdob": 108827, + "Ġistedi": 108828, + "ÑĪла": 108829, + "æľīä¸Ģ": 108830, + "ĠвклÑİÑĩа": 108831, + "ĠتØŃÙĤÛĮÙĤ": 108832, + "ĠÙĪÙĥ": 108833, + "ĠèĪ": 108834, + "ÆĴ": 108835, + "μεÏģ": 108836, + "Ġåģ": 108837, + "ĠìĹĨëĬĶ": 108838, + "Âłd": 108839, + "ĠBắc": 108840, + "à¸ģลาà¸ĩ": 108841, + "ĠÑĩÑĥв": 108842, + "Ġcấu": 108843, + "ĠHá»ĵ": 108844, + "ĠÙ쨧ÛĮÙĦ": 108845, + "ÏĦηγοÏģ": 108846, + "ç±į": 108847, + "Ġبت": 108848, + "ĠобÑĢазом": 108849, + "æ±ī": 108850, + "èĦij": 108851, + "Ġgiản": 108852, + "εÏģγ": 108853, + "ĠÐľÑĸ": 108854, + "èϽçĦ¶": 108855, + "ĠKhi": 108856, + "Ñĩини": 108857, + "Ġà¤ħà¤Ĺर": 108858, + "íķĺë©°": 108859, + "ë²Ķ": 108860, + "ãģģ": 108861, + "виÑħ": 108862, + "ĠвÑģегда": 108863, + "Ġç¶": 108864, + "ÑģÑĤвенной": 108865, + "Ġyüksel": 108866, + "測": 108867, + "Ġsıras": 108868, + "ĠÏĢÏģÏİ": 108869, + "è̳": 108870, + "اÛĮر": 108871, + "دÙĪØ¯": 108872, + "ĠAlman": 108873, + "Ġverdi": 108874, + "ĠاÙĦÙħج": 108875, + "ĠاÙĦتع": 108876, + "صة": 108877, + "Ġsıra": 108878, + "Äįin": 108879, + "ĠпеÑĢÑĪ": 108880, + "æĬĺ": 108881, + "ç©į": 108882, + "ĠÑĤоб": 108883, + "Ġï¾ī": 108884, + "ฬ": 108885, + "æĿĢ": 108886, + "iydi": 108887, + "ีà¸ŀ": 108888, + "çĵ¦": 108889, + "ĠавÑĤомоб": 108890, + "ä¸Ńæĸĩ": 108891, + "à¥Ĥद": 108892, + "ĠbÄĽhem": 108893, + "ĠPÅĻed": 108894, + "ãģĵãģĨ": 108895, + "ัà¸Ī": 108896, + "Ġï½Į": 108897, + "ĠÙĩاÙĬ": 108898, + "Ġsạch": 108899, + "æĸ¹éĿ¢": 108900, + "çķ°": 108901, + "ÑĥÑĢн": 108902, + "Ġvýsled": 108903, + "Ġthần": 108904, + "ï¼ĮæīĢ以": 108905, + "Ñĥка": 108906, + "íķĺëĭ¤": 108907, + "Ġबर": 108908, + "ĠжÑĸн": 108909, + "ÄįnÃŃho": 108910, + "ĠãģĮ": 108911, + "abı": 108912, + "vánÃŃ": 108913, + "æ´Ĺ": 108914, + "ĠиÑģÑĤоÑĢ": 108915, + "ìĿ´íĦ°": 108916, + "Ġелек": 108917, + "алаÑģÑı": 108918, + "Ġznám": 108919, + "ĠطرÙģ": 108920, + "Ġsektör": 108921, + "ê¹Ģ": 108922, + "ÙĪÙĤع": 108923, + "ĠÙħÙĥ": 108924, + "ÑĢежд": 108925, + "Ġknih": 108926, + "Ġتعداد": 108927, + "åįł": 108928, + "ÑģÑĮке": 108929, + "Ġç͵": 108930, + "京éĥ½": 108931, + "ĠراÛĮ": 108932, + "gın": 108933, + "ĠÙĨظاÙħ": 108934, + "ĠÎłÎ¿Î»": 108935, + "ä¸Ģèά": 108936, + "Ġstále": 108937, + "ĠиÑģÑģлед": 108938, + "Ġzpráv": 108939, + "ĠÑĩиÑģÑĤ": 108940, + "ãĥ¼ãĥŀ": 108941, + "ÐŀÑģ": 108942, + "ÑģÑĮкомÑĥ": 108943, + "ĠpÅĻiprav": 108944, + "ëĮĢíĸī": 108945, + "Ġhalk": 108946, + "çĪĨ": 108947, + "ãĢģãģĬ": 108948, + "ï¼ŁâĢĿĊĊ": 108949, + "éĢı": 108950, + "ç«ŀ": 108951, + "ниÑĨÑĮ": 108952, + "çĽĺ": 108953, + "à¹Ģà¸Ńà¸ĩ": 108954, + "ìŁģ": 108955, + "à¥ĩवल": 108956, + "ä¹ĭåIJİ": 108957, + "ãĥ«ãĥĪ": 108958, + "Ġstru": 108959, + "Ġ_": 108960, + "ÎķÎĽ": 108961, + "hle": 108962, + "ĠÙĨÙĪØ´": 108963, + "ìĿµ": 108964, + "ĠÙħÙģ": 108965, + "æĪĸèĢħ": 108966, + "Ġöld": 108967, + "éĢĶ": 108968, + "ãĥ³ãĥĹ": 108969, + "íĺ¼": 108970, + "ĠuÄŁ": 108971, + "ĠÄijá": 108972, + "ĠvlastnÃŃ": 108973, + "ĠÙħجÙĦس": 108974, + "åįĶ": 108975, + "ÏĦικήÏĤ": 108976, + "Ġpovin": 108977, + "ůl": 108978, + "ĠاÙĦØŃÙĬ": 108979, + "Ġsmlou": 108980, + "ãĥĥãĥģ": 108981, + "ĠÙĥÙĨ": 108982, + "Ġchấp": 108983, + "èIJ¬": 108984, + "جب": 108985, + "?âĢľ": 108986, + "дав": 108987, + "รวม": 108988, + "ÙİØ¯": 108989, + "ĠاÙĦدÙĪÙĦ": 108990, + "ĠëĦ¤ìĿ´íĬ¸": 108991, + "Ġà¤Ĩस": 108992, + "ظÙĬÙģ": 108993, + "ãĥ¼ãĥ©": 108994, + "ãģłãĤįãģĨ": 108995, + "ĠÙĪØ§ØŃد": 108996, + "رÙĪØ³": 108997, + "Ġzákona": 108998, + "ĠпеÑĢеб": 108999, + "à¥Ģ-": 109000, + "à¹Īà¹Ħà¸Ķ": 109001, + "为äºĨ": 109002, + "ÎĻÎĿ": 109003, + "ĠìĽĶìĦ¸": 109004, + "สà¸Ńà¸ĩ": 109005, + "Ġæīĭ": 109006, + "ĠÐĴÑģе": 109007, + "à¹Ĥย": 109008, + "Ġkaldır": 109009, + "ÏĦÎŃÏĤ": 109010, + "Ġï¿£": 109011, + "ĠíĸĪëĭ¤": 109012, + "ãĤģãģŁ": 109013, + "ĠÄįer": 109014, + "cela": 109015, + "üsü": 109016, + "ê³³": 109017, + "ìĹIJëıĦ": 109018, + "زة": 109019, + "ãģªãĤĭ": 109020, + "ÙĪÛĮÙĨ": 109021, + "çīĽ": 109022, + "Ġvoj": 109023, + "ĠëĬIJ": 109024, + "ĠÙĥÙħ": 109025, + "æ³ī": 109026, + "зÑı": 109027, + "è£Ŀ": 109028, + "ĠØ¢ÙĦ": 109029, + "Ġανά": 109030, + "ÂłÐĴ": 109031, + "Ġyapıl": 109032, + "æıĽ": 109033, + "ĠÑģÑĥÑīеÑģÑĤв": 109034, + "Ġná»iji": 109035, + "ÙĪØ¦": 109036, + "ĠëĦ¤ìĿ´íĬ¸ìĺ¨": 109037, + "Ġpolitik": 109038, + "Å¡ka": 109039, + "ebilirsiniz": 109040, + "ldkf": 109041, + "ÑĥблÑĸ": 109042, + "Ġeoq": 109043, + "ĠÙħØŃصÙĪÙĦ": 109044, + "krvldkf": 109045, + "Ġeoqkrvldkf": 109046, + "ÏĥεÏīν": 109047, + "بÙĦغ": 109048, + "Įĵê¸Ģ": 109049, + "ĠÑģÑĢок": 109050, + "ĠUy": 109051, + "ĠNÄĽk": 109052, + "Ġдив": 109053, + "ãĤµãĤ¤": 109054, + "ĠìĤ¬ìĿ´": 109055, + "ĠéĹ": 109056, + "ĠбаÑĤÑĮ": 109057, + "ĠпеÑĢÑĸ": 109058, + "Âĸ": 109059, + "交éĢļ": 109060, + "енз": 109061, + "ÙĪØ³Øª": 109062, + "ียà¸ļ": 109063, + "Ġà¸Īะ": 109064, + "ë¡Ģ": 109065, + "üfus": 109066, + "ÙijÙIJ": 109067, + "總": 109068, + "ัà¸Ķส": 109069, + "ê²Ģ": 109070, + "ĠÑĤиÑħ": 109071, + "ĠآزÙħ": 109072, + "Ġاض": 109073, + "ì¡´": 109074, + "ÙĴت": 109075, + "æĪ¸": 109076, + "ĠìŀĪìĿĦ": 109077, + "ĠçĶ·": 109078, + "ÑīÑĸ": 109079, + "ома": 109080, + "ĠاÙģØ²Ø§ÛĮØ´": 109081, + "ĠThông": 109082, + "ĠاجتÙħاعÛĮ": 109083, + "елÑİ": 109084, + "ĠÑħоÑĢоÑĪо": 109085, + "à¸łà¸²à¸©": 109086, + "Ġrám": 109087, + "御": 109088, + "ãĥ¼ãĥĦ": 109089, + "ĠLỼp": 109090, + "ĠØ´ÙĬ": 109091, + "Ġhiá»ĥm": 109092, + "θν": 109093, + "οÏħÏĥ": 109094, + "復": 109095, + "Ġúzem": 109096, + "à¹ģà¸ľ": 109097, + "å·¨": 109098, + "à¸Īà¸Ļ": 109099, + "گراÙĨ": 109100, + "ĠتÛĮÙħ": 109101, + "Ġilet": 109102, + "าà¸Ĥà¸Ńà¸ĩ": 109103, + "ĠتÙĪØ±": 109104, + "ĠдоговоÑĢ": 109105, + "Ġtento": 109106, + "вÑĥ": 109107, + "Ġзада": 109108, + "ĠstoletÃŃ": 109109, + "ÂłĠ": 109110, + "âĢĮاÙĦ": 109111, + "Ëĺ": 109112, + "ÅŁiv": 109113, + "нÑıÑĤи": 109114, + "ãĤīãĤĮãģŁ": 109115, + "ĠSb": 109116, + "ĠاÙĦÙħص": 109117, + "ĠУкÑĢаÑĹнÑĸ": 109118, + "ĠØ´Ú©": 109119, + "iếng": 109120, + "ÑĮÑĤе": 109121, + "è°¢": 109122, + "ĠÙħتÙĨ": 109123, + "ĠÑĢад": 109124, + "ĠÙħÙĪØ§Ø¯": 109125, + "ì±Ħ": 109126, + "é¡¶": 109127, + "ĠboÅŁ": 109128, + "تÙĪØ±": 109129, + "ĠÄijáng": 109130, + "Ġkitap": 109131, + "Ġhodin": 109132, + "Ġtarihi": 109133, + "ãĤĦãĤĭ": 109134, + "ÑģÑĤеÑĢ": 109135, + "ĠÑħод": 109136, + "вание": 109137, + "ĠоÑģвÑĸ": 109138, + "ĠÑģиÑģÑĤемÑĭ": 109139, + "़न": 109140, + "Ïĩο": 109141, + "Ġåı°": 109142, + "oÅĻ": 109143, + "ç»ıæµİ": 109144, + "Ġä½ľ": 109145, + "ĠthuáºŃn": 109146, + "ĽĪ": 109147, + "Ġyalnız": 109148, + "alet": 109149, + "ì¦Ŀê¸Ī": 109150, + "ĠзаÑī": 109151, + "ĠекÑģп": 109152, + "âĦĸâĦĸ": 109153, + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ": 109154, + "ĠÚ¯ÙĪØ´": 109155, + "ãģ«åħ¥": 109156, + "ĠudÄĽl": 109157, + "Ġáº": 109158, + "à¤Ĩà¤Ī": 109159, + "âĢĮدÙĩ": 109160, + "æĤª": 109161, + "Ġtrò": 109162, + "æļĹ": 109163, + "λλην": 109164, + "ĠпÑĢизна": 109165, + "ĠسÛĮستÙħ": 109166, + "Ġà¤ħत": 109167, + "èo": 109168, + "è¿İ": 109169, + "ĠзÑĥб": 109170, + "ĠзаÑģоб": 109171, + "ĠسÙģ": 109172, + "ĠÙħاÙĨÙĨد": 109173, + "خش": 109174, + "vajÃŃ": 109175, + "nitÅĻ": 109176, + "æ¯Ĵ": 109177, + "æ¤į": 109178, + "ĠgiriÅŁ": 109179, + "ĠÄijáp": 109180, + "@n": 109181, + "оваÑĢи": 109182, + "Ġخدا": 109183, + "ĠvÄĽtÅ¡": 109184, + "ĠΣÏħ": 109185, + "Ù쨩": 109186, + "аннÑıм": 109187, + "ĠÑĩлен": 109188, + "æĶ¯æĮģ": 109189, + "å¨ľ": 109190, + "lararası": 109191, + "ΡÎij": 109192, + "Ġziy": 109193, + "ĠêµIJìľ¡": 109194, + "Ġhá»ĵi": 109195, + "าà¸Ħาร": 109196, + "imleri": 109197, + "è³¼": 109198, + "ĠجÙĩاÙĨ": 109199, + "ĠÑĢозмÑĸ": 109200, + "ÑħÑĸв": 109201, + "γε": 109202, + "横": 109203, + "ÎĻÎijΣ": 109204, + "ç¶Ń": 109205, + "Ġbiraz": 109206, + "ĠÑĤакого": 109207, + "íĥĦ": 109208, + "ĠбÑĥдÑĥÑĤ": 109209, + "ĠÑĪвид": 109210, + "ĠнеÑģ": 109211, + "ĠÙħعÙĦÙĪÙħات": 109212, + "à¥ĩयर": 109213, + "ĠдвÑĥÑħ": 109214, + "å¿ħè¦ģ": 109215, + "å§Ĩ": 109216, + "Ġpohled": 109217, + "ìĬ¤íĦ°": 109218, + "Ġåįģ": 109219, + "Ġأب": 109220, + "веÑĢдж": 109221, + "Ġà¤ľà¤®": 109222, + "लत": 109223, + "åľ°åĮº": 109224, + "Ġ|[": 109225, + "ĠвмеÑģÑĤ": 109226, + "ĠکاÙħ": 109227, + "ĠãĥIJ": 109228, + "ãĥ¼ãĥĸ": 109229, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 109230, + "ĠìĥģíĴĪ": 109231, + "à¹Ģลย": 109232, + "Äįné": 109233, + "ĠÑģÑĢедÑģÑĤва": 109234, + "ĠÑĤаб": 109235, + "ĠÙħار": 109236, + "Ġhled": 109237, + "даÑĤ": 109238, + "ÙĪÛĮد": 109239, + "Ġãĥ©": 109240, + "Ġخد": 109241, + "è¤ĩ": 109242, + "ç§ĺ": 109243, + "Ġبرد": 109244, + "ĠÏĥαÏĤ": 109245, + "ÏİÏĥειÏĤ": 109246, + "æĿ¯": 109247, + "λÏį": 109248, + "宿": 109249, + "ĠëĤľ": 109250, + "ï»Ł": 109251, + "Ġözellikle": 109252, + "ĠконÑģ": 109253, + "ĠÙħغ": 109254, + "عÙĬ": 109255, + "à¹Įà¸ģ": 109256, + "ĠÙĬت": 109257, + "ĠÙħشاÙĩ": 109258, + "ĠThanh": 109259, + "à¤¾à¤ľà¤¨": 109260, + "¥¤": 109261, + "Ġvlá": 109262, + "ĠÙ쨶": 109263, + "ΤÎĻÎļ": 109264, + "ĠнаÑĥков": 109265, + "елем": 109266, + "ĠdÃłng": 109267, + "ĠгоÑģподаÑĢ": 109268, + "ÂłS": 109269, + "иÑĩеÑģкиÑħ": 109270, + "ĠتÙĨÙĩا": 109271, + "à¤ľà¤¨": 109272, + "Ġпан": 109273, + "åĨł": 109274, + "ĠëĤĺëĬĶ": 109275, + "tÃŃ": 109276, + "ä¸Ģèµ·": 109277, + "Ġlãnh": 109278, + "Âłv": 109279, + "ovým": 109280, + "زب": 109281, + "ĠجÙħعÛĮت": 109282, + "Ġæµ·": 109283, + "ĠоÑģÑĥÑīеÑģÑĤв": 109284, + "ãi": 109285, + "ائر": 109286, + "Ġë³ij": 109287, + "á»ĭnh": 109288, + "Ġsá»Ńa": 109289, + "à¥ĩà¤Ĥ।": 109290, + "ÄĽjÅ¡ÃŃ": 109291, + "ĠдÑĸÑĤ": 109292, + "Ġæĥ": 109293, + "mÄ±ÅŁtı": 109294, + "رØŃ": 109295, + "Ġì§Ģê¸Ī": 109296, + "妻": 109297, + "âĹĭ": 109298, + "Ġì§ĢìĹŃ": 109299, + "ÙĴÙĨ": 109300, + "ĠurÄįit": 109301, + "ÙĴÙħ": 109302, + "zÃŃ": 109303, + "èķ": 109304, + "ĠØ´ÙĪØ±": 109305, + "ĠKhông": 109306, + "ÛĮزÛĮ": 109307, + "Ġзг": 109308, + "Ġвне": 109309, + "ĠprávÄĽ": 109310, + "è«ĭ": 109311, + "اÙĬت": 109312, + "ัà¸ģร": 109313, + "Ġoldukça": 109314, + "ãĤģãĤĭ": 109315, + "ĠTây": 109316, + "ëĿ¼ìĿ¸": 109317, + "èĻķ": 109318, + "Ġsư": 109319, + "Ġник": 109320, + "Ùł": 109321, + "اشÛĮÙĨ": 109322, + "elerde": 109323, + "ìĭľìķĦ": 109324, + "ĠÑĥмов": 109325, + "ĠçalÄ±ÅŁan": 109326, + "Ġë¸Ķ": 109327, + "ĠÑĤаким": 109328, + "ÑĢин": 109329, + "ĠØ®ÙĦ": 109330, + "ayd": 109331, + "Ġãĥ¡": 109332, + "ейÑĩаÑģ": 109333, + "Ġdoprav": 109334, + "ãģĵãģ¨ãģ¯": 109335, + "Ġì¶Ķì²ľ": 109336, + "å»¶": 109337, + "Ġkı": 109338, + "åı¶": 109339, + "ÑĢиг": 109340, + "íħľ": 109341, + "çͳåįļ": 109342, + "ĠвеÑĤ": 109343, + "ĠпомоÑīÑĮÑİ": 109344, + "ĠاÙģØ±Ø§Ø¯": 109345, + "ÏĢει": 109346, + "à¹Ģสร": 109347, + "Ġgiám": 109348, + "éİ": 109349, + "hlas": 109350, + "manız": 109351, + "англ": 109352, + "Ġmuž": 109353, + "ÂłK": 109354, + "ÑĢедиÑĤ": 109355, + "设å¤ĩ": 109356, + "ιÏĥμ": 109357, + "Ġcải": 109358, + "ĠéĢļ": 109359, + "ĠÙĥار": 109360, + "Ġподоб": 109361, + "ĠмеÑĤал": 109362, + "ĠÑģаме": 109363, + "лÑĥÑĩ": 109364, + "åĤ³": 109365, + "ĠÙĪÙĩÙĪ": 109366, + "Ġéĩį": 109367, + "вий": 109368, + "æ³ģ": 109369, + "ĠæĿİ": 109370, + "ĠiliÅŁkin": 109371, + "ĠείÏĩε": 109372, + "çĬ¯": 109373, + "ÅĻejmÄĽ": 109374, + "èŃĺ": 109375, + "稱": 109376, + "μμα": 109377, + "ĠÙĦÛĮ": 109378, + "ÙĩاÙĬ": 109379, + "ĠопиÑģ": 109380, + "گرد": 109381, + "ĠгÑĢ": 109382, + "ĠAnimalia": 109383, + "ÐŁÐ¾": 109384, + "Ġbóng": 109385, + "ĠдеÑĤей": 109386, + "Ġlâu": 109387, + "ĠæķĻ": 109388, + "ĠпоÑıÑģ": 109389, + "ĠاÙĦØ¢": 109390, + "ัà¸Ļà¸ķ": 109391, + "Ġдев": 109392, + "ĠÑĨей": 109393, + "ÑĮв": 109394, + "æĥł": 109395, + "maları": 109396, + "imler": 109397, + "à¥Ī।ĊĊ": 109398, + "Ġном": 109399, + "zv": 109400, + "Ġà¸ģร": 109401, + "ĠpaylaÅŁ": 109402, + "Âłs": 109403, + "िसम": 109404, + "ÑģÑĤвеннÑĭÑħ": 109405, + "stoup": 109406, + "онÑĸ": 109407, + "stÃŃ": 109408, + "ĠØŃÚ©": 109409, + "ĠگرÙģØª": 109410, + "าà¸Ħา": 109411, + "дÑı": 109412, + "ÙĦاث": 109413, + "Ġzdravot": 109414, + "ä¸ĬãģĴ": 109415, + "ãģ¼": 109416, + "elere": 109417, + "ظÙħ": 109418, + "ĠÑģвеÑĤ": 109419, + "оÑĢг": 109420, + "ç«¥": 109421, + "ĠпеÑĢеп": 109422, + "Ġमद": 109423, + "аза": 109424, + "å¦Ĥä½ķ": 109425, + "ÑģÑĮкÑĸй": 109426, + "ĠbÆ°á»Ľc": 109427, + "Ġgerekli": 109428, + "大家": 109429, + "Ġtrái": 109430, + "éģ©": 109431, + "ä¸Ń央": 109432, + "Ġphản": 109433, + "Ġعرض": 109434, + "ĠÙĥتاب": 109435, + "æĭ©": 109436, + "ÑĪего": 109437, + "帮": 109438, + "ĠÙĨÛĮاز": 109439, + "è¿·": 109440, + "à¸¸à¸Ľ": 109441, + "à¸´à¸Ľ": 109442, + "Ġدخ": 109443, + "ÏĦικÎŃÏĤ": 109444, + "ĠUz": 109445, + "ĠتÙĪÙħاÙĨ": 109446, + "ĠÙĪØ§ÙĦØ£": 109447, + "ÅĻes": 109448, + "Ñijм": 109449, + "Ġå¸Ĥ": 109450, + "ĠÑĤоже": 109451, + "Ġyapan": 109452, + "彼女": 109453, + "ĠÙħدر": 109454, + "¶ģ": 109455, + "ĠæĹ¶": 109456, + "à¹Ģà¸ĺ": 109457, + "ĠÙħاÙĦ": 109458, + "ĠBüyük": 109459, + "ĠÙĦت": 109460, + "å°ļ": 109461, + "deme": 109462, + "üb": 109463, + "ĠÑħÑĥд": 109464, + "Ġléka": 109465, + "缼": 109466, + "缴æİ¥": 109467, + "ниÑĨÑĤва": 109468, + "ĠпÑĢиÑĩин": 109469, + "еÑĢап": 109470, + "ĠÑģозда": 109471, + "械": 109472, + "Ġmüz": 109473, + "ç³»åĪĹ": 109474, + "ouz": 109475, + "Ġà¤ĵर": 109476, + "ÑĢÑĥÑĩ": 109477, + "Ġá½": 109478, + "μÎŃνα": 109479, + "ĠпÑĢедмеÑĤ": 109480, + "Ġå²": 109481, + "ãĥ³ãĥģ": 109482, + "μÎŃνη": 109483, + "лÑĥг": 109484, + "Âłn": 109485, + "ĠTarih": 109486, + "ĠãĢĪ": 109487, + "Ġbana": 109488, + "ĠcÃŃ": 109489, + "Ġvýkon": 109490, + "åĽłæŃ¤": 109491, + "ĠtÅĻi": 109492, + "าà¸ĭ": 109493, + "vailable": 109494, + "Ġistem": 109495, + "ãĥ¥ãĥ¼": 109496, + "ÐķÐĿ": 109497, + "ĠгаÑĢ": 109498, + "οÏħλ": 109499, + "à¥Ľ": 109500, + "ĠÙĪØ¶Ø¹": 109501, + "สะ": 109502, + "è·Ŀ": 109503, + "ĠØŃÙģ": 109504, + "ิà¸Ĺยาล": 109505, + "她çļĦ": 109506, + "нÑĸÑĪ": 109507, + "жение": 109508, + "기ìĹIJ": 109509, + "Ġéĺ¿": 109510, + "ĠÙħارس": 109511, + "ĠçeÅŁitli": 109512, + "ĠÅŁehir": 109513, + "átor": 109514, + "à¹īà¸Ĺ": 109515, + "ìĿ´ëĬĶ": 109516, + "Ġè²": 109517, + "é¡į": 109518, + "çĻĤ": 109519, + "ĠниÑĩ": 109520, + "Ġê°Ģì§Ģ": 109521, + "伦": 109522, + "rán": 109523, + "ostat": 109524, + "ĠÙĦÙĥ": 109525, + "èº": 109526, + "ĠNgÃłnh": 109527, + "Ġसद": 109528, + "æľĹ": 109529, + "çĦ¶åIJİ": 109530, + "ãĤ¸ãĤ§": 109531, + "леÑĢ": 109532, + "ĠÐŀна": 109533, + "سÙĪÙĨ": 109534, + "Ïģον": 109535, + "ĠدرÛĮاÙģØª": 109536, + "à¸Ńà¸Ńà¸Ļà¹Ħลà¸Ļ": 109537, + "Ġdál": 109538, + "ĠмÑĸÑģÑĨе": 109539, + "Ġдней": 109540, + "ĠاÙĦات": 109541, + "Ġरहत": 109542, + "ï¼Į对": 109543, + "è³ĩæĸĻ": 109544, + "ä»»ä½ķ": 109545, + "éĦ": 109546, + "taj": 109547, + "βά": 109548, + "Ġнадо": 109549, + "ĠÑģÑĤÑĥд": 109550, + "ĠÅŁeh": 109551, + "ัà¸įà¸į": 109552, + "à¥ĭब": 109553, + "ãĥ©ãĥ¼": 109554, + "Û±Ûµ": 109555, + "ept": 109556, + "Ġbildir": 109557, + "สà¸ĸาà¸Ļ": 109558, + "еÑĤÑĮÑģÑı": 109559, + "ským": 109560, + "ĠоблаÑģÑĤÑĮ": 109561, + "Ġìŀł": 109562, + "ĠGör": 109563, + "Ġdayan": 109564, + "ĠÛĮاد": 109565, + "çĶŁäº§": 109566, + "íĺij": 109567, + "å¾ģ": 109568, + "Ġاجر": 109569, + "ĠпÑĢе": 109570, + "ä¸īä¸īä¸īä¸ī": 109571, + "åŁİå¸Ĥ": 109572, + "ĠпÑĢимеÑĢ": 109573, + "Äįást": 109574, + "èģĺ": 109575, + "ĠÙħربÙĪØ·": 109576, + "æŀļ": 109577, + "åĪĢ": 109578, + "æŁ¥çľĭ": 109579, + "Ġ모ëijIJ": 109580, + "ìŀIJë£Į": 109581, + "-、": 109582, + "Ġê°ĻìĿ´": 109583, + "Ġì¡´": 109584, + "егоÑĢ": 109585, + "edik": 109586, + "имÑĥ": 109587, + "ĠArth": 109588, + "åºĶç͍": 109589, + "miÅŁti": 109590, + "Ġkhá»ıe": 109591, + "ĠÑĸд": 109592, + "λλη": 109593, + "âh": 109594, + "маг": 109595, + "éļĨ": 109596, + "ĠвнÑĥÑĤÑĢ": 109597, + "Ġبط": 109598, + "(æĹ¥": 109599, + "İY": 109600, + "лик": 109601, + "ĠBản": 109602, + "ĠتÙĪØ³": 109603, + "़त": 109604, + "amak": 109605, + "åķıé¡Į": 109606, + "ĠÑģамоÑģÑĤ": 109607, + "ï¼¼Ċ": 109608, + "Ġç¦ı": 109609, + "Ù¡": 109610, + "ĠÑĦоÑĢми": 109611, + "ĠÑĢозÑĥм": 109612, + "ĠÙħطاÙĦ": 109613, + "ä¹Łæĺ¯": 109614, + "ç¾İåĽ½": 109615, + "ëĵľë¦½ëĭĪëĭ¤": 109616, + "ĠlÄ©nh": 109617, + "ĠпоÑĤомÑĥ": 109618, + "ÑıбÑĢÑı": 109619, + "漫": 109620, + "Ġngoại": 109621, + "à¸Ńำ": 109622, + "ÙĬÙĨا": 109623, + "Ġmlad": 109624, + "ÏĥÏĦά": 109625, + "اتر": 109626, + "주ìĿĺ": 109627, + "еннÑĸ": 109628, + "оза": 109629, + "ÙĤات": 109630, + "ĠÐĴаÑģ": 109631, + "è®Ń": 109632, + "éIJ": 109633, + "ÑĥÑİÑĩи": 109634, + "Ġکر": 109635, + "Ġ.|": 109636, + "Ġgenç": 109637, + "該": 109638, + "ä»ģ": 109639, + "одÑĭ": 109640, + "ĠØ£ÙĪÙĦ": 109641, + "ĠìĤ¬íļĮ": 109642, + "Ġà¹Ģส": 109643, + "ĠëķĮ문ìĹIJ": 109644, + "âĢĮب": 109645, + "ĠлиÑĪÑĮ": 109646, + "Ġименно": 109647, + "madı": 109648, + "ĠéĤ": 109649, + "ĠÙĪØ§Ø±Ø¯": 109650, + "Ġtakım": 109651, + "Ġà¹Ģห": 109652, + "Ġà¸Ńย": 109653, + "Ġkonusu": 109654, + "Ø®ÙĪ": 109655, + "ĠÑģид": 109656, + "赤": 109657, + "оÑıÑĤелÑĮ": 109658, + "ëĭµ": 109659, + "εÏī": 109660, + "ÑĸÑħ": 109661, + "Ġयद": 109662, + "ĠÚ©ÛĮÙģ": 109663, + "μοÏĤ": 109664, + "Ġaldı": 109665, + "ĠíĻį": 109666, + "кÑĥп": 109667, + "ĠÙĨÙħاÛĮØ´": 109668, + "ãģ¥": 109669, + "Ġíķ©ëĭĪëĭ¤": 109670, + "ĠëĮĵê¸Ģ": 109671, + "боÑĢа": 109672, + "éīĦ": 109673, + "Ġà¹Ģà¸Ī": 109674, + "à¹īà¸ģ": 109675, + "§ط": 109676, + "ربÙĩ": 109677, + "ĠÑĥз": 109678, + "ĠмаÑİÑĤÑĮ": 109679, + "Ġbyli": 109680, + "ีà¸ķ": 109681, + "Ġì§ĢìĽIJ": 109682, + "èĩªçĦ¶": 109683, + "ùy": 109684, + "ĠçaÄŁ": 109685, + "един": 109686, + "ëī´": 109687, + "åį±": 109688, + "ĠпозволÑı": 109689, + "ØŃاد": 109690, + "ĠÑĩего": 109691, + "ียร": 109692, + "Ġyöntem": 109693, + "Ġders": 109694, + "ĠÑģÑĤоÑı": 109695, + "ĠкÑĢÑĥп": 109696, + "Ġð": 109697, + "ĠдомаÑĪ": 109698, + "енд": 109699, + "ç»§": 109700, + "ĠÄijô": 109701, + "ĠchtÄĽ": 109702, + "计åĪĴ": 109703, + "ÎŃα": 109704, + "ĠdobÅĻe": 109705, + "สà¸Ńà¸ļ": 109706, + "еление": 109707, + "ĠÄijông": 109708, + "ãģ¾ãĤĬ": 109709, + "Ġboyunca": 109710, + "à¥ģà¤Ĺ": 109711, + "ĠÑĦиз": 109712, + "ãĤ³ãĥ³": 109713, + "Ġdeney": 109714, + "ÑĩеÑģкиÑħ": 109715, + "λον": 109716, + "以åıĬ": 109717, + "اÙĪØª": 109718, + "³³³³³": 109719, + "Ġì¤Ħ": 109720, + "िफ": 109721, + "ĠÑĤол": 109722, + "ĠëĤ´ê°Ģ": 109723, + "âĸı": 109724, + "Ġphá": 109725, + "ĠÑģпÑĸв": 109726, + "ĠجÙħÙĬع": 109727, + "ĠbezpeÄį": 109728, + "ĠæĹł": 109729, + "ĠvÅ¡e": 109730, + "ÑģÑĤвÑĥ": 109731, + "dust": 109732, + "oÅ¡": 109733, + "ĠتارÙĬØ®": 109734, + "اØŃØ©": 109735, + "ĠÙħشارÙĥØ©": 109736, + "Ġακ": 109737, + "ัà¸Ļà¸Ļ": 109738, + "éģĬ": 109739, + "ĠÑģоÑĤ": 109740, + "Ġказ": 109741, + "ĠÑĤеÑĩение": 109742, + "긴": 109743, + "acaktır": 109744, + "ê±°ëĤĺ": 109745, + "ียม": 109746, + "ĠÑģÑĥÑħ": 109747, + "ĠëĦĪ무": 109748, + "ãģıãĤĭ": 109749, + "ĠкоÑĤоÑĢой": 109750, + "اÙĤØ©": 109751, + "yıl": 109752, + "ãĤ»ãĥĥãĥĪ": 109753, + "ĠÑįлем": 109754, + "æģIJ": 109755, + "ÙĨاء": 109756, + "åħ©": 109757, + "ĠteÄı": 109758, + "严": 109759, + "Ġì§Ī문": 109760, + "Ġ为": 109761, + "ìĭľíĹĺ": 109762, + "ĠпÑĢок": 109763, + "ujeme": 109764, + "ücü": 109765, + "ĠاÙĦÙħغ": 109766, + "ĠØŃساب": 109767, + "ãģĹãģ¦ãģĦ": 109768, + "кова": 109769, + "ĠÄijÃło": 109770, + "ĠпÑĢиз": 109771, + "ĠÙĪÙħÙĨ": 109772, + "ĠоÑĢ": 109773, + "à¸ģà¸ķ": 109774, + "аÑĦ": 109775, + "Ġà¸ŀร": 109776, + "ÑĨией": 109777, + "æª": 109778, + "Ġpůsob": 109779, + "åŃ©åŃIJ": 109780, + "Ġbánh": 109781, + "ĠÑĦоÑĢмÑĥ": 109782, + "Ġá»ķ": 109783, + "Ġменее": 109784, + "à¹īาห": 109785, + "ниÑĨа": 109786, + "ีĊ": 109787, + "ĠволоÑģ": 109788, + "ĠارائÙĩ": 109789, + "第ä¸ī": 109790, + "ëIJĺìĹĪ": 109791, + "Ġkısm": 109792, + "ãĥ¼ãĥĬ": 109793, + "lerimiz": 109794, + "ÙĨÙĬÙĨ": 109795, + "ĠNgưá»Ŀi": 109796, + "ĠоÑĤдел": 109797, + "çļĦæĹ¶åĢĻ": 109798, + "онов": 109799, + "Äįan": 109800, + "izm": 109801, + "ĠÑģобой": 109802, + "à¹ĩà¸ķ": 109803, + "ĠÑģлÑĸд": 109804, + "Ġà¤ľà¤¹": 109805, + "ï¼ĮæĪij们": 109806, + "ãĢĤãģĿãģ®": 109807, + "ÏĢÏīÏĤ": 109808, + "çĨŁ": 109809, + "ฯ": 109810, + "ëĦIJ": 109811, + "æľĭ": 109812, + "Ġë¹Ħë°Ģ": 109813, + "ëįķ": 109814, + "ĠmÃłn": 109815, + "ìĿ´ê³ł": 109816, + "ëŀľëĵľ": 109817, + "éĤĦ": 109818, + "Ä±ÅŁÄ±k": 109819, + "Ġ个": 109820, + "Ġnád": 109821, + "бÑĢа": 109822, + "æĮĩå®ļ": 109823, + "larıyla": 109824, + "ĠÐŀни": 109825, + "Ġhra": 109826, + "ĠÑĢеÑĨеп": 109827, + "ĠÐłÐ¾ÑģÑģий": 109828, + "å½±åĵį": 109829, + "ĠKdyž": 109830, + "ĠÃ¶ÄŁrenc": 109831, + "åīµ": 109832, + "Ġjist": 109833, + "èĪĪ": 109834, + "触": 109835, + "åıijçݰ": 109836, + "มาย": 109837, + "erken": 109838, + "ĠздеÑģÑĮ": 109839, + "ĠÙħسئ": 109840, + "@nate": 109841, + "ĠëĤ´ìļ©": 109842, + "ĠnabÃŃd": 109843, + "ÛĢ": 109844, + "ĠмоменÑĤ": 109845, + "ãģłãģĮ": 109846, + "ίδα": 109847, + "Tak": 109848, + "Ġë³´ê³ł": 109849, + ":::::::::": 109850, + "ÄŁmen": 109851, + "ĠпомеÑī": 109852, + "ãģ«ãģ¤ãģĦãģ¦": 109853, + "ĠÙģÙĪÙĤ": 109854, + "ĠعضÙĪ": 109855, + "ĠÙħÛĮاÙĨ": 109856, + "Ġmüc": 109857, + "ĠпÑĢоÑıв": 109858, + "ÑĩеÑģки": 109859, + "ãģłãģĭãĤī": 109860, + "éĤ¦": 109861, + "Ġë¶ĦìĦĿ": 109862, + "飩": 109863, + "į¨": 109864, + "ĠDaha": 109865, + "ĠκÏĮ": 109866, + "ĠнаÑĩина": 109867, + "ĠÐŁÐ¾ÑĤ": 109868, + "ÏĥκεÏħ": 109869, + "ĠÑĢан": 109870, + "ÙĪÙĬس": 109871, + "::::::::::": 109872, + "Û±Û¹Û¹": 109873, + "Ġardından": 109874, + "à¹Ĥà¸Ķ": 109875, + "اراÙĨ": 109876, + "داد": 109877, + "Ġquý": 109878, + "ĠØ£Ùĥثر": 109879, + "âĹĨ": 109880, + "ĠأخرÙī": 109881, + "Ġë§ĪìĿĮ": 109882, + "릴": 109883, + "ĠعÙĦÙĪÙħ": 109884, + "ĠeÄŁ": 109885, + "воÑĢÑİ": 109886, + "ĠãĥĹ": 109887, + "ÑĥÑĩаÑģ": 109888, + "Ġبأ": 109889, + "ÏĨο": 109890, + "никами": 109891, + "à¹ĥà¸ķ": 109892, + "ÄįetnÄĽ": 109893, + "à¸ļาà¸ĩ": 109894, + "çīĻ": 109895, + "ãĥªãĤ«": 109896, + "íĴ": 109897, + "åĩºçīĪ": 109898, + "γι": 109899, + "ãĢĤãģĿãĤĮ": 109900, + "Ġyani": 109901, + "lech": 109902, + "ĠLuáºŃt": 109903, + "çļĦãģª": 109904, + "Ġnedeniyle": 109905, + "dej": 109906, + "ĠÑģовеÑĢÑĪ": 109907, + "Ġphá»ķ": 109908, + "ısından": 109909, + "Ġchắc": 109910, + "deÅŁ": 109911, + "Ġкоман": 109912, + "æĽ¿": 109913, + "Ġplán": 109914, + "Ġdữ": 109915, + "ĠêµŃê°Ģ": 109916, + "Ġtakip": 109917, + "Ġthá»§y": 109918, + "ÑģлÑĸд": 109919, + "âī§": 109920, + "ĠIIC": 109921, + "θÏħ": 109922, + "ávat": 109923, + "ĠÑģок": 109924, + "ĠбагаÑĤо": 109925, + ";:;:;:;:": 109926, + "ÏģιοÏĤ": 109927, + "ilmiÅŁtir": 109928, + "Ġznam": 109929, + "ĠΤα": 109930, + "amaz": 109931, + "à¹ģà¸ŀ": 109932, + "ãĥģãĥ£": 109933, + "Ġkullanı": 109934, + "æĶ¾éĢģ": 109935, + "дн": 109936, + "ĠÙĪØ§Ø¨": 109937, + "Ġtrắng": 109938, + "ÑģÑıг": 109939, + "Ġارتباط": 109940, + "ĠвÑħод": 109941, + "å·ŀå¸Ĥ": 109942, + "Ġसत": 109943, + "ÑĩаеÑĤÑģÑı": 109944, + "íĮĮíĬ¸": 109945, + "ĠNhững": 109946, + "ä¸įåı¯": 109947, + "å±Ĭ": 109948, + "ĠãĤŃ": 109949, + "ارÙĩاÛĮ": 109950, + "ĠarÅŁiv": 109951, + "ĠاÙĦÙī": 109952, + "ायà¤ķ": 109953, + "ãģĹãĤĩãģĨ": 109954, + "Ġulus": 109955, + "alaxy": 109956, + "기ê°Ģ": 109957, + "ãİ¡(": 109958, + "μάÏĦÏīν": 109959, + "èn": 109960, + "ùi": 109961, + "ĠнаÑģÑĤоÑı": 109962, + "ĠСв": 109963, + "ĠоÑģоби": 109964, + "ково": 109965, + "ĠÑĢебенка": 109966, + "ĠÑĤÑıж": 109967, + "Ġxuá»ijng": 109968, + "Ġê¶Į": 109969, + "огод": 109970, + "Ġấy": 109971, + "è²ł": 109972, + "วà¸Ļ": 109973, + "Ġstanov": 109974, + "Ġkrál": 109975, + "Ġà¤ĩसल": 109976, + "ebe": 109977, + "宾": 109978, + "ĠдоÑģÑĤаÑĤоÑĩно": 109979, + "IIIK": 109980, + "ÏĢά": 109981, + "Ġbirkaç": 109982, + "ĠاÙĦÙħÙĤ": 109983, + "ãĥ¶": 109984, + "ĠBaÅŁkanı": 109985, + "Ġ첨ë¶ĢíĮĮìĿ¼": 109986, + "Ġyarar": 109987, + "亡": 109988, + "ĠÏĢÏĮ": 109989, + "ÂłÑģ": 109990, + "δή": 109991, + "elerini": 109992, + "Ġsuç": 109993, + "Ġдома": 109994, + "ĠнаÑĢÑĥÑĪ": 109995, + "Ġί": 109996, + "Ġê·¸ìĿĺ": 109997, + "ç͵影": 109998, + "ابÙĩ": 109999, + "комÑĥ": 110000, + "Ġतब": 110001, + "à¥Īà¤ł": 110002, + "Ġ모ì§ij": 110003, + "Ġæ±Ł": 110004, + "Ġê²ĥìĿĢ": 110005, + "ονÏĦαι": 110006, + "ĠاÙĦرÙĬاض": 110007, + "許": 110008, + "Ġhalinde": 110009, + "ĠاشارÙĩ": 110010, + "ĠкÑĢÑĭ": 110011, + "лений": 110012, + "luÄŁ": 110013, + "Ġdobu": 110014, + "sik": 110015, + "à¥ģà¤Ł": 110016, + "ĠкÑĸн": 110017, + "ãģ¨ãģį": 110018, + "à¥Ĥस": 110019, + "æħ¢": 110020, + "ĠdÄ±ÅŁÄ±nda": 110021, + "ç·ı": 110022, + "ĠbÃŃ": 110023, + "ĠCLIIIK": 110024, + "ĠIICIII": 110025, + "Ġherk": 110026, + "ãĤıãģĽ": 110027, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 110028, + "³³³³³³": 110029, + "اÙĦد": 110030, + "Ġdavran": 110031, + "Äįer": 110032, + "ĠØŁ": 110033, + "ãģĺãĤĥãģªãģĦ": 110034, + "Ġdair": 110035, + "Ġ": 110036, + "ัà¸ĩส": 110037, + "Ġëĭ´": 110038, + "å¾ŀ": 110039, + "ĠÑįÑĤиÑħ": 110040, + "诺": 110041, + "á»·": 110042, + "еÑĢиÑģÑĤи": 110043, + "овÑĭÑħ": 110044, + "Ġãĥĩ": 110045, + "ضÙĬ": 110046, + "Ġà¤īà¤ł": 110047, + "ĠnapÅĻÃŃklad": 110048, + "è´Ŀ": 110049, + "ĠÅ¡k": 110050, + "ĠبÙĪØ¯ÙĨد": 110051, + "vůli": 110052, + "éģĩ": 110053, + "Ġзнай": 110054, + "ĠTham": 110055, + "rani": 110056, + "اØŃت": 110057, + "Ø´Ùĩ": 110058, + "мÑĸнÑĸÑģÑĤÑĢа": 110059, + "à¹ĭ": 110060, + "ĠÎijνα": 110061, + "à¥ĭà¤ļ": 110062, + "ç»Ħç»ĩ": 110063, + "ÑģÑĤиÑĤ": 110064, + "imli": 110065, + "åIJįçĦ¡ãģĹãģķãĤĵ": 110066, + "ÙijØ©": 110067, + "θμ": 110068, + "олоÑĤ": 110069, + "ยà¸ĩ": 110070, + "ãĤīãĤĮãĤĭ": 110071, + "ĠлиÑĩ": 110072, + "овÑĭе": 110073, + "éĢĥ": 110074, + "Ġ广": 110075, + "ìĬ¬": 110076, + "ÙħÛĮÙĨ": 110077, + "ĠìłĦì²´": 110078, + "ĠÎŃÏĩ": 110079, + "Ġì±ħ": 110080, + "Ġhlas": 110081, + "екÑĤив": 110082, + "ĠÏĢλη": 110083, + "luÄŁu": 110084, + "好çļĦ": 110085, + "ĠÚĨÙĪÙĨ": 110086, + "ĠBeled": 110087, + "Ġengel": 110088, + "нÑıÑı": 110089, + "ĠyaÅŁan": 110090, + "ÑĩниÑħ": 110091, + "ارÙĬØ©": 110092, + "मत": 110093, + "ãĥĭãĥĭãĥĭãĥĭ": 110094, + "åĭ¢": 110095, + "ĠåĨħ": 110096, + "Ġíı¬íķ¨": 110097, + "ĠобÑģ": 110098, + "Ġthấp": 110099, + "Ġdây": 110100, + "ãĥĸãĥ©": 110101, + "аÑĤÑĭ": 110102, + "ĠÑģвоей": 110103, + "ãĤīãģªãģĦ": 110104, + "åıijçĶŁ": 110105, + "erece": 110106, + "Ġodbor": 110107, + "ĠвнеÑģ": 110108, + "ĠÄIJảng": 110109, + "ĠëıĮìķĦ": 110110, + "ÄĽli": 110111, + "ısında": 110112, + "Ġबदल": 110113, + "vnÃŃ": 110114, + "ãģ®ãģ«": 110115, + "ĠпоÑĤом": 110116, + "imde": 110117, + "alama": 110118, + "âĢª": 110119, + "ĠstejnÄĽ": 110120, + "еÑĢе": 110121, + "éĴ¢": 110122, + "æľºæŀĦ": 110123, + "Ġè³": 110124, + "åͱ": 110125, + "Ġëħ¸ì¶ľ": 110126, + "Ġлибо": 110127, + "âĢĬ": 110128, + "Ġcez": 110129, + "romÄĽ": 110130, + "ίÏīν": 110131, + "ÏĨή": 110132, + "ĠíĻ©": 110133, + "Ġdlouh": 110134, + "骨": 110135, + "åħ¬éĩĮ": 110136, + "伸": 110137, + "Ġãĥij": 110138, + "ä»Ļ": 110139, + "Ġolmadı": 110140, + "елиÑĩ": 110141, + "ождениÑı": 110142, + "Ġsöyledi": 110143, + "átek": 110144, + "ìĥµ": 110145, + "ยวà¸ģ": 110146, + "Ġ鼻": 110147, + "Ġпев": 110148, + "ĠдÑĢÑĥгие": 110149, + "átku": 110150, + "ĠعÙĪ": 110151, + "ována": 110152, + "ضر": 110153, + "ĠëģĿ": 110154, + "ĠíĨµíķ´": 110155, + "Îĸ": 110156, + "Ġvur": 110157, + "åĨ²": 110158, + "ĠпÑĢек": 110159, + "Ġपà¤ķ": 110160, + "Ġà¹Ģà¸Ĺ": 110161, + "ãģ¨ãģĭ": 110162, + "عÙĨ": 110163, + "å®ĩ": 110164, + "ÏĦζ": 110165, + "Ġnằm": 110166, + "ĠÑģвоб": 110167, + "ĠδÏį": 110168, + "çĸĹ": 110169, + "-й": 110170, + "é¦Ļ港": 110171, + "تا": 110172, + "Ïĥιμο": 110173, + "íķĦ": 110174, + "Ġ详æĥħ": 110175, + "両": 110176, + "ÙİØ§ÙĦ": 110177, + "ĠTrưá»Ŀng": 110178, + "eného": 110179, + "ĠÑĢекомендÑĥ": 110180, + "ÛĮرÙĩ": 110181, + "าà¸ĸ": 110182, + "ĠکاÙħÙĦ": 110183, + "بط": 110184, + "زÛĮÙĨÙĩ": 110185, + "Ġдолжна": 110186, + "Ġë§İìĿĢ": 110187, + "âĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹı": 110188, + "lepÅ¡ÃŃ": 110189, + "алог": 110190, + "ãĤªãĥ³": 110191, + "Ġë³Ħ": 110192, + "ırı": 110193, + "ĠجاÙħعÙĩ": 110194, + "æĽľ": 110195, + "ojÃŃ": 110196, + "ĠÑĪлÑıÑħ": 110197, + "Ġhızlı": 110198, + "ĠخصÙĪØµ": 110199, + "ÐIJÑĢ": 110200, + "åľĺ": 110201, + "ĠживоÑĤ": 110202, + "é±": 110203, + "Ġngữ": 110204, + "Ġvòng": 110205, + "èİ«": 110206, + "ĠзаÑħод": 110207, + "ìĻĦ": 110208, + "ĠÑģледÑĥÑİÑī": 110209, + "éĹ»": 110210, + "ÑijÑĢ": 110211, + "ĠchvÃŃ": 110212, + "èĥľ": 110213, + "ãģªãģĹ": 110214, + "Ġteknoloj": 110215, + "ejména": 110216, + "ĠìłĪ": 110217, + "ì³IJ": 110218, + "æĻ®éĢļ": 110219, + "Ġvýro": 110220, + "Ġayrı": 110221, + "ĠпÑĢев": 110222, + "Ġgóp": 110223, + "à¹Ĥà¸ģ": 110224, + "à¸Ĺำà¹ĥห": 110225, + "åıİ": 110226, + "åĺī": 110227, + "Ġtelev": 110228, + "ãģ¨ãģĵãĤį": 110229, + "ëıĮ": 110230, + "phyl": 110231, + "ราะ": 110232, + "ĠçĪ": 110233, + "ÑģÑĤиÑĤÑĥ": 110234, + "ï¼Įè¿ĺ": 110235, + "ĠÎijγ": 110236, + "Äįku": 110237, + "æı´": 110238, + "ायत": 110239, + "æıı": 110240, + "ãĤĤãģĹ": 110241, + "ĠпеÑĢеÑģ": 110242, + "ĠìĺģíĻĶ": 110243, + "idla": 110244, + "åİħ": 110245, + "ï¼ı:": 110246, + "ترÛĮ": 110247, + "à¸Ľà¸ı": 110248, + "ĠнаÑģеленнÑı": 110249, + "Ġamaç": 110250, + "Ġkdo": 110251, + "ĠизвеÑģÑĤ": 110252, + "ÑĪиÑĢ": 110253, + "ì£ł": 110254, + "Å¡it": 110255, + "Ġtá»ijc": 110256, + "ìŀIJìĿĺ": 110257, + "ÑĩаÑĤ": 110258, + "åıĥ": 110259, + "鼶": 110260, + "å°º": 110261, + "Ġindir": 110262, + "ĠнаÑĨÑĸоналÑĮ": 110263, + "Ġxanh": 110264, + "ÛĮدÛĮ": 110265, + "ĠинÑĤеÑĢеÑģ": 110266, + "ĠآسÛĮ": 110267, + "éĤ£ä¸ª": 110268, + "Ġbilm": 110269, + "ане": 110270, + "ĠtÄĽchto": 110271, + "Ñĩик": 110272, + "ĠдоÑħод": 110273, + "èĤ¡ä»½": 110274, + "åħ³ç³»": 110275, + "ãģ«ãģªãģ£ãģŁ": 110276, + "ĠпÑĢедпÑĢи": 110277, + "Ġgeçen": 110278, + "ĠبÙĤ": 110279, + "Ġvýznam": 110280, + "Ġà¹Ģà¸Ħร": 110281, + "ĠÑħÑĤо": 110282, + "Ø´ÙĬ": 110283, + "åıĤåĬł": 110284, + "ÑģÑĤвенного": 110285, + "ÑĤÑĢон": 110286, + "ÂĢÂĢÂĢÂĢ": 110287, + "æ¢Ŀ": 110288, + "бав": 110289, + "Û±Û¶": 110290, + "顺": 110291, + "Ġjaz": 110292, + "ĠاÙĦÙħÙĦ": 110293, + "Ġاثر": 110294, + "ĠпÑĢивод": 110295, + "анÑĥ": 110296, + "à¥ģà¤Ń": 110297, + "æĹ§": 110298, + "ÑĮе": 110299, + "สล": 110300, + "лÑıÑİÑĤ": 110301, + "วà¸Ķ": 110302, + "Æ°á»Ľi": 110303, + "ÙĬÙħØ©": 110304, + "ãĤ¯ãĥŃ": 110305, + "лий": 110306, + "γÏģά": 110307, + "Ġperforman": 110308, + "è¯ī": 110309, + "ä½łçļĦ": 110310, + "ìħĶ": 110311, + "нениÑı": 110312, + "á»Ńi": 110313, + "ÙĪØ²ÛĮ": 110314, + "éŁ¿": 110315, + "à¥Īद": 110316, + "Ġ몸": 110317, + "Ġeser": 110318, + "ĠÙģØ¹Ø§ÙĦÛĮت": 110319, + "нÑĸвеÑĢ": 110320, + "κÏģα": 110321, + "証": 110322, + "Ġnemoc": 110323, + "Ġyardımcı": 110324, + "Ġçī¹": 110325, + "Ġкоп": 110326, + "ĠÐľÐ¾Ð¶": 110327, + "़à¤ķ": 110328, + "Ġëľ": 110329, + "ĠÑĢеак": 110330, + "Ġpozor": 110331, + "ÂłÐIJ": 110332, + "ĠÙĬÙĥ": 110333, + "ĠÑģад": 110334, + "Ġåħ«": 110335, + "ĠполÑĮз": 110336, + "ĠraÄŁmen": 110337, + "ternÃŃ": 110338, + "siyon": 110339, + "ÑģÑıÑĩ": 110340, + "ovaný": 110341, + "ĠëĮĢíķľë¯¼êµŃ": 110342, + "ĠвÑĸдб": 110343, + "ĠÐIJнд": 110344, + "stva": 110345, + "éĮĦ": 110346, + "Ġëij": 110347, + "ิà¸Ħ": 110348, + "jÃŃt": 110349, + "Ġkullanıcı": 110350, + "ĠæŁ¥çľĭ": 110351, + "ÙģÙĦ": 110352, + "ĠЯкÑīо": 110353, + "çľĭåΰ": 110354, + "ÑĢеÑħ": 110355, + "ĠاÙĦعربÙĬØ©": 110356, + "ë¡ľê·¸ëŀ¨": 110357, + "Ġà¤¬à¤ľ": 110358, + "ĠпÑĢип": 110359, + "Ġschop": 110360, + "ĠباÙĦا": 110361, + "å®ħ": 110362, + "ĠاÙĦÙħÙĩ": 110363, + "ανα": 110364, + "à¥ĭव": 110365, + "åģ´": 110366, + "å¼Ģåıij": 110367, + "ÙħاÙĦ": 110368, + "Ġधर": 110369, + "Ġdahil": 110370, + "ãĢģãģĵãģ®": 110371, + "ัà¸Īà¸Ī": 110372, + "ÑģпÑĸлÑĮ": 110373, + "Ġà¤ķप": 110374, + "ĠвеÑĩ": 110375, + "Ġвида": 110376, + "ĠÙħعÙĨ": 110377, + "ĠоÑĤли": 110378, + "iá»ħ": 110379, + "лиÑĪ": 110380, + "ĠÐŁÐ¾Ñģле": 110381, + "ãģĵãģĵ": 110382, + "Ġkültür": 110383, + "Ġجر": 110384, + "Ġæ¼": 110385, + "èĩº": 110386, + "Ġmevcut": 110387, + "Ù¾ÛĮ": 110388, + "ĠاÙĦسÙĦاÙħ": 110389, + "иÑĤелей": 110390, + "ĠÑĢоÑģÑĤ": 110391, + "Ġedil": 110392, + "Ġå·²": 110393, + "ç²¾åĵģ": 110394, + "ä»ħ": 110395, + "âĢĻye": 110396, + "à¥Īà¤Ĥ.": 110397, + "ĠåĨĨ": 110398, + "ëĪĦ": 110399, + "ĠìĻķ": 110400, + "æĺŃ": 110401, + "ĠÎļο": 110402, + "meden": 110403, + "Ġolab": 110404, + "ĠÚ©ÙĪØ¯": 110405, + "à¸Ħาส": 110406, + "еннаÑı": 110407, + "æĬ¼": 110408, + "ylül": 110409, + "Ġseviy": 110410, + "ĠdÄĽti": 110411, + "â̬Ċ": 110412, + "Ġعز": 110413, + "Ġuá»ijng": 110414, + "ĠسرÙħ": 110415, + "ене": 110416, + "ĠмаленÑĮ": 110417, + "ĠвÑĸдом": 110418, + "ัà¸ļà¸Ĺ": 110419, + "ĠThái": 110420, + "Ġà¤Ĩवश": 110421, + "roveÅĪ": 110422, + "çĽ£": 110423, + "ĠÑıзÑĭ": 110424, + "ĠOy": 110425, + "å£ģ": 110426, + "ваÑĤÑĮ": 110427, + "ладÑĥ": 110428, + "اصÙĦ": 110429, + "otÅĻeb": 110430, + "دÙĬØ«": 110431, + "íı°": 110432, + "νομ": 110433, + "гоÑĢод": 110434, + "Ġmuh": 110435, + "âĢĻl": 110436, + "ÑģÑĤвоÑĢ": 110437, + "åħĦ": 110438, + "ÐķÐł": 110439, + "Ø·ÙĦ": 110440, + "éľĩ": 110441, + "ÙİØª": 110442, + "ĠblÃŃ": 110443, + "Ġedildi": 110444, + "éĿł": 110445, + "äºĮåįģ": 110446, + "æĹĹ": 110447, + "Ġçiz": 110448, + "ĠÄijảo": 110449, + "Ġopat": 110450, + "oÄŁan": 110451, + "ë²Į": 110452, + "Ġéł": 110453, + "Ġsebep": 110454, + "ÑĥÑĤи": 110455, + "åĪº": 110456, + "طب": 110457, + "evÅ¡ÃŃm": 110458, + "chop": 110459, + "çĶļ": 110460, + "Ġnghá»ģ": 110461, + "ĠпаÑĢÑĤ": 110462, + "ุà¸Ħ": 110463, + "Ú©ÛĮÙĦ": 110464, + "dum": 110465, + "Ġortak": 110466, + "ãģŁãģĹ": 110467, + "Ġobyvatel": 110468, + "Ġvých": 110469, + "Ġveren": 110470, + "ĠвеÑģÑĮ": 110471, + "ĠÐĶа": 110472, + "Ġíķĺì§Ģë§Į": 110473, + "å¦ĤæŃ¤": 110474, + "Ġमहत": 110475, + "ัà¸ĩà¸ģฤษ": 110476, + "ãĢĤè¿Ļ": 110477, + "Ġгал": 110478, + "Ġsanat": 110479, + "éłĨ": 110480, + "ĠÑģамо": 110481, + "åĽ°": 110482, + "ีà¸Ń": 110483, + "ĠBaÅŁkan": 110484, + "ÏĦοÏħÏĤ": 110485, + "Ġyaptıģı": 110486, + "ÅĻit": 110487, + "ĠÑģÑĸлÑĮ": 110488, + "ानत": 110489, + "ĠÙĨت": 110490, + "ĠkhÄĥn": 110491, + "à¸Ĭà¸Ļะ": 110492, + "мини": 110493, + "ãĥ¬ãĥ¼": 110494, + "ëĤ¬": 110495, + "éħĴåºĹ": 110496, + "ĠاÙĦÙĬÙĪÙħ": 110497, + "ä¹Ĺ": 110498, + "à¸Ħรà¸ĩà¸ģาร": 110499, + "Ù쨧ÙĤ": 110500, + "Ġà¤ıस": 110501, + "Ġæ¡": 110502, + "گذ": 110503, + "Ġà¤ĩल": 110504, + "елениÑı": 110505, + "à¸ģรà¸ĵ": 110506, + "ä¸ľè¥¿": 110507, + "ÎŁÎľ": 110508, + "ĠmáºŃt": 110509, + "ĠsnÃŃ": 110510, + "ÂIJ": 110511, + "à¹Ģรา": 110512, + "íķ´ìķ¼": 110513, + "ĠìĦľë¹ĦìĬ¤": 110514, + "ĠداخÙĦ": 110515, + "Ġthắng": 110516, + "íĥĪ": 110517, + "авÑģÑı": 110518, + "ĠÑĸм": 110519, + "اÙħت": 110520, + "ĠÙĪÙĤت": 110521, + "à¥Ĥà¤ģ": 110522, + "ĠèIJ": 110523, + "ĠسÙĦاÙħ": 110524, + "ĠvzdÄĽl": 110525, + "å¸ĮæľĽ": 110526, + "åŃĺæ¡£": 110527, + "Ġà¸Ĺำ": 110528, + "ĠвÑĸйÑģÑĮ": 110529, + "аÑĢан": 110530, + "ĠÑĢÑĸк": 110531, + "ĠпиÑģÑĮ": 110532, + "Ġá¼IJ": 110533, + "기ëıĦ": 110534, + "ĠпоÑģÑĤоÑıн": 110535, + "ĠåĮĹ京": 110536, + "ĠNÄĽm": 110537, + "Ø´ÙĨاÙħÙĩ": 110538, + "ĠdalÅ¡ÃŃch": 110539, + "Ġباع": 110540, + "Ġpohy": 110541, + "اÙĦÙģ": 110542, + "à¸ŀวà¸ģ": 110543, + "éĭ": 110544, + "Ġcih": 110545, + "Ù¢": 110546, + "临": 110547, + "ãĤ¯ãĥĪ": 110548, + "пнÑı": 110549, + "Ġдал": 110550, + "ÙĴر": 110551, + "ãĢĢãĢĢĠãĢĢĠãĢĢ": 110552, + "æĬ¥åijĬ": 110553, + "ÙĪØ¯ÛĮ": 110554, + "ợi": 110555, + "ÑĨÑĸÑĶÑİ": 110556, + "ĠãĥĢ": 110557, + "ĠÑģÑĤеп": 110558, + "raž": 110559, + "ĠSaÄŁ": 110560, + "Ġtuyến": 110561, + "Ġalmak": 110562, + "ĠзаболеваниÑı": 110563, + "ĠÏĥÏĩ": 110564, + "Ġíĭ": 110565, + "Ġвим": 110566, + "硬": 110567, + "ĠäºĶ": 110568, + "Ġikinci": 110569, + "ุà¸į": 110570, + "สาว": 110571, + "ĠìĦ¸ê³Ħ": 110572, + "ĠÙħØŃÙĦ": 110573, + "ระหว": 110574, + "Ġelektron": 110575, + "Ġhại": 110576, + "æĹ¢": 110577, + "Ġíĸ¥": 110578, + "Ġjiné": 110579, + "Ġnghe": 110580, + "æij©": 110581, + "ĠÑģобÑĸ": 110582, + "Ư": 110583, + "ÑĤÑĥÑĢ": 110584, + "汽车": 110585, + "شاÙĩ": 110586, + "ĠdÃłnh": 110587, + "丹": 110588, + "ä»ĬæĹ¥": 110589, + "ãĥIJãĥ¼": 110590, + "ваниÑı": 110591, + "ĠساÙħ": 110592, + "çݯå¢ĥ": 110593, + "ĠاÙĦÙħÙĨت": 110594, + "ĠÑģеÑĢд": 110595, + "éģł": 110596, + "εÏĦ": 110597, + "ĠавÑĤ": 110598, + "าà¸ĩว": 110599, + "Ġvztah": 110600, + "ruž": 110601, + "алÑĮнаÑı": 110602, + "ĠطراØŃÛĮ": 110603, + "à¹Ĥรà¸ĩà¹ģรม": 110604, + "ĠÄįasto": 110605, + "Ġê¼": 110606, + "ÏĥÏĦÏĮ": 110607, + "Ġburada": 110608, + "Ġİz": 110609, + "Ġê·¸ëŀĺ": 110610, + "å²Ľ": 110611, + "ĠØ´ÙĪÙĨد": 110612, + "Å¡ek": 110613, + "ĠìĿ´ìķ¼": 110614, + "ãĤĮãģªãģĦ": 110615, + "ê·¹": 110616, + "lamÄ±ÅŁ": 110617, + "ä»į": 110618, + "cházet": 110619, + "ĠÑģÑĥÑĤ": 110620, + "æĹłæ³ķ": 110621, + "浦": 110622, + "ÄĽla": 110623, + "à¹ĥà¸Ļà¸Ĭ": 110624, + "Ġcân": 110625, + "ÎŁÎĵ": 110626, + "Ġzvý": 110627, + "Ġپار": 110628, + "ĠклÑĸ": 110629, + "Ġnové": 110630, + "çĶĺ": 110631, + "ë¹ł": 110632, + "má": 110633, + "ĠÑģол": 110634, + "à¤ķरण": 110635, + "ноÑĩ": 110636, + "Ġfik": 110637, + "Ġà¤ľà¤Ĺ": 110638, + "à¹ĩà¸Ļà¸ķ": 110639, + "ĠÙħتØŃ": 110640, + "Ġphiên": 110641, + "Ġolsun": 110642, + "Ġкаб": 110643, + "Ġhút": 110644, + "èĦ±": 110645, + "Ġåĸ": 110646, + "ĠHải": 110647, + "ĠtÄĽÅ¾": 110648, + "Ġthái": 110649, + "Ġتاب": 110650, + "-ÐŁ": 110651, + "ثار": 110652, + "çĨĬ": 110653, + "Ġними": 110654, + "Ġzprac": 110655, + "Ġतह": 110656, + "ĠмакÑģим": 110657, + "meyi": 110658, + "ĠÑģоÑĨи": 110659, + "æ²Ĵ": 110660, + "ĠìķĬëĬĶ": 110661, + "__": 110662, + "åķ¦": 110663, + "ĠاÙĨÙĪØ§Ø¹": 110664, + "æļ´": 110665, + "ä¸Ĭæµ·": 110666, + "åħ·æľī": 110667, + "à¥ģब": 110668, + "ìķĻ": 110669, + "Ġíģ°": 110670, + "Ġíŀĺ": 110671, + "Ġtránh": 110672, + "ियन": 110673, + "ãģ¾ãģ¾": 110674, + "поÑĩ": 110675, + "mÄĽr": 110676, + "å³°": 110677, + "ĠÙħصر": 110678, + "ĠÑįÑĦÑĦекÑĤив": 110679, + "Ġçı": 110680, + "leriyle": 110681, + "âĪļ": 110682, + "Ġì¶ķ": 110683, + "Ġê²Įìĭľ": 110684, + "ìĿij": 110685, + "ĠpoÅĻád": 110686, + "ĠشبکÙĩ": 110687, + "اÙĩØ´": 110688, + "ĠخدÙħات": 110689, + "ĠnaÅ¡e": 110690, + "νοÏį": 110691, + "Ġyönelik": 110692, + "Ġkork": 110693, + "اÙĩÙħ": 110694, + "è°Ī": 110695, + "Ġμη": 110696, + "Ġdolar": 110697, + "給": 110698, + "ĠÎķÏħ": 110699, + "ĠobdobÃŃ": 110700, + "ĠμÏĮ": 110701, + "à¹Ģà¸Ńà¸ģ": 110702, + "Ġپاسخ": 110703, + "è¡¥": 110704, + "اعد": 110705, + "ãĤīãģĦ": 110706, + "ÎŃλ": 110707, + "иÑĤÑĭ": 110708, + "Ġëħ¼": 110709, + "Ġ^{[": 110710, + "ίγ": 110711, + "æłij": 110712, + "lında": 110713, + "ĠìŬ룬": 110714, + "££": 110715, + "ÅĻil": 110716, + "ĠавÑĤоÑĢ": 110717, + "ÏĦικÏĮÏĤ": 110718, + "udur": 110719, + "Ġcư": 110720, + "Ġkıy": 110721, + "Ñģем": 110722, + "ĠأبÙĪ": 110723, + "ÏĦικÏİν": 110724, + "Û±Û·": 110725, + "貸": 110726, + "ĠпÑĢож": 110727, + "üncü": 110728, + "ĠнÑĸÑĩ": 110729, + "Ġमत": 110730, + "ãģķãĤĮãģ¦ãģĦãĤĭ": 110731, + "اصر": 110732, + "ĠعÙĤ": 110733, + "ĠкаÑĩеÑģÑĤве": 110734, + "ĠÐĵеÑĢ": 110735, + "åºĨ": 110736, + "Ù¹": 110737, + "alarda": 110738, + "Ġپرس": 110739, + "иÑĩеÑģкой": 110740, + "Ġphim": 110741, + "ίνη": 110742, + "ä¸ĩåĨĨ": 110743, + "ilerini": 110744, + "ãĢģ大": 110745, + "Ġolsa": 110746, + "æł¹æį®": 110747, + "âĢĮس": 110748, + "ĠThá»§": 110749, + "roje": 110750, + "нÑĮоÑĹ": 110751, + "Ġslou": 110752, + "ีฬ": 110753, + "ıyorum": 110754, + "ÄĽj": 110755, + "Ġخبر": 110756, + "è®Ĭ": 110757, + "Ġ缸": 110758, + "elerinin": 110759, + "íķĻëħĦëıĦ": 110760, + "ÑĩеÑģкие": 110761, + "ĠÅŁekl": 110762, + "ĠزÙħاÙĨÛĮ": 110763, + "Ġxin": 110764, + "ัà¸ģà¸ĩาà¸Ļ": 110765, + "ĠEkim": 110766, + "æĦ¿": 110767, + "Ġодной": 110768, + "νή": 110769, + "æľĢæĸ°": 110770, + "ĩ¼": 110771, + "Ġниж": 110772, + "Ġë³¼": 110773, + "è·ij": 110774, + "ĠнапиÑģ": 110775, + "èģĸ": 110776, + "ĠâĢĮ": 110777, + "æłĩåĩĨ": 110778, + "Ġvrát": 110779, + "ĠVì": 110780, + "ĠÙģØ±Ø§ÙĨ": 110781, + "æĿ¥çļĦ": 110782, + "å§¿": 110783, + "ÑħÑĥ": 110784, + "ĠبÛĮرÙĪÙĨ": 110785, + "ĠдÑĥÑĪ": 110786, + "ваÑİÑĤ": 110787, + "Ġsebe": 110788, + "é»ĺ": 110789, + "Ġkayıt": 110790, + "Ïģθ": 110791, + "ãģ¨ãģ®": 110792, + "ĠпÑĢоÑĨеÑģÑģ": 110793, + "æĮģãģ¡": 110794, + "Ñĸна": 110795, + "ĠÑĤоÑĤ": 110796, + "ĠÑĤакие": 110797, + "Theo": 110798, + "ĠÙĨÛĮر": 110799, + "ÑĨÑĥ": 110800, + "Ġayak": 110801, + "à¸Ļà¸Ń": 110802, + "Ġsitesinde": 110803, + "ĠÚ©ÙĨÛĮÙħ": 110804, + "ĠÑģоÑħ": 110805, + "Ġà¤®à¤ľ": 110806, + "Ġoluyor": 110807, + "ç½ijåĿĢ": 110808, + "Ġپزش": 110809, + "ĠEylül": 110810, + "dÃ¼ÄŁ": 110811, + "ĠبرخÛĮ": 110812, + "ĠÙħعرÙģ": 110813, + "Ġobec": 110814, + "ĠçalÄ±ÅŁma": 110815, + "ìĦ¼íĦ°": 110816, + "ĠÑģвоÑĶ": 110817, + "оÑģÑĤей": 110818, + ":::::::::::": 110819, + "ĠалÑĮ": 110820, + "竣": 110821, + "ĠباشÙĨد": 110822, + "اÙĦØ«": 110823, + "Ġнайб": 110824, + "Ġпока": 110825, + "Îŀ": 110826, + "ĠÙĪØ¥": 110827, + "ĠØ®ÙĪØ§ÙĨ": 110828, + "à¥ģपय": 110829, + "Ġà¹ĥห": 110830, + "ĠбÑĭÑģÑĤÑĢо": 110831, + "Ġthá»Ń": 110832, + "ëģ¼": 110833, + "Ġå¤ļ": 110834, + "两个": 110835, + "มà¸ķ": 110836, + "زارش": 110837, + "ĠëŁ": 110838, + "यह": 110839, + "Ñīина": 110840, + "ầng": 110841, + "ï½Ĺï½Ĺ": 110842, + "à¹Ģà¸ŀลà¸ĩ": 110843, + "tvrt": 110844, + "ĠÑĸнÑĪÑĸ": 110845, + "λεί": 110846, + "Ġviá»ĩn": 110847, + "ij¸": 110848, + "ĠçϽ": 110849, + "ÙİÙĪ": 110850, + "Ġchứa": 110851, + "stvo": 110852, + "ĠdoÄŁr": 110853, + "Ġiler": 110854, + "à¥ĭ,": 110855, + "à¹ĥà¸Ļà¸Ľ": 110856, + "ĠرÙĪØ³Øª": 110857, + "ÙĪÙĦÙĪ": 110858, + "Å¡lo": 110859, + "алиÑģÑĤ": 110860, + "åħ±åĴĮ": 110861, + "à¸ŀย": 110862, + "ĠìĻĢ": 110863, + "ÙĦÙĬÙĦ": 110864, + "ĠÑıкого": 110865, + "еÑģÑĤÑĮ": 110866, + "ĠÑĦин": 110867, + "ĠØ£ÙĨÙĩ": 110868, + "ĠMüdür": 110869, + "ĠÎĶια": 110870, + "ĠÑĤел": 110871, + "ि,": 110872, + "Ñĥки": 110873, + "ĠÐłÐ¤": 110874, + "ĠMayıs": 110875, + "à¹Īà¸Ńม": 110876, + "arken": 110877, + "æĢķ": 110878, + "بÛĮÙĨ": 110879, + "ÑĤаÑħ": 110880, + "ebo": 110881, + "ë³´ì¦Ŀê¸Ī": 110882, + "ĠÙ¾ÙĦ": 110883, + "ĠгÑĥб": 110884, + "ĠвклÑİÑĩ": 110885, + "æĶ¿æ²»": 110886, + "ĠεÏĢιÏĥ": 110887, + "ĠÙģØ§Ø±Ø³ÛĮ": 110888, + "èŃī": 110889, + "ÏĨη": 110890, + "(éĩij": 110891, + "ศร": 110892, + "åī§": 110893, + "âĢĻya": 110894, + "年度": 110895, + "ĠÙĨرÙħ": 110896, + "ÙĥÙĪÙħ": 110897, + "è¢ĭ": 110898, + "Ġnedenle": 110899, + "à¹īà¸Ńà¸ĩà¸ģาร": 110900, + "ãĢĮãģĤ": 110901, + "ĠпоÑģÑĤÑĥп": 110902, + "ìľĦìĽIJ": 110903, + "åįĺ": 110904, + "èݱ": 110905, + "Ġumož": 110906, + "pok": 110907, + "ÑĥÑģÑĤи": 110908, + "Ġéħ": 110909, + "ĠÑĦÑĸз": 110910, + "廣": 110911, + "ิหาร": 110912, + "ĠжÑĥÑĢн": 110913, + "ĠдÑĸÑĤей": 110914, + "ÑĥÑİÑīие": 110915, + "ä»Ĭ天": 110916, + "ìĿ´ëĿ¼ê³ł": 110917, + "ç²ī": 110918, + "èĴĻ": 110919, + "ĠDünya": 110920, + "егоднÑı": 110921, + "Ġmimo": 110922, + "Ġвин": 110923, + "ãģĿãģĵ": 110924, + "æ¯ķ": 110925, + "Ġأخ": 110926, + "ĠåIJĮ": 110927, + "ساÙĨÛĮ": 110928, + "Ġkah": 110929, + "ियर": 110930, + "ÏĢοÏĤ": 110931, + "jez": 110932, + "ÙĬج": 110933, + "ĠsaÄŁlay": 110934, + "اجÙĩ": 110935, + "Ġçł": 110936, + "ïľ": 110937, + "Ġجست": 110938, + "Ġtức": 110939, + "ươi": 110940, + "Ø´Ùģ": 110941, + "สà¸ķ": 110942, + "ĠÑĢеÑģ": 110943, + "Ġå£": 110944, + "Ġbizim": 110945, + "Ġê·Ģ": 110946, + "िब": 110947, + "ë¡ľìļ´": 110948, + "ĠÑģÑĤал": 110949, + "ĠÑĢÑĥÑģ": 110950, + "ĠOcak": 110951, + "åľ£": 110952, + "ĠúÄįast": 110953, + "iverz": 110954, + "ëĤĺëĬĶ": 110955, + "оÑĢоÑĤ": 110956, + "ÑĩинÑĭ": 110957, + "Ġihtiyaç": 110958, + "ÐĿÐŀ": 110959, + "ĠÐĿов": 110960, + "ียà¸Ķ": 110961, + "ĠпоÑĤÑĢÑĸбно": 110962, + "گز": 110963, + "ĠÑģказал": 110964, + "ĠGia": 110965, + "mesini": 110966, + "Ġbulunur": 110967, + "渡": 110968, + "гоÑĤ": 110969, + "Ġhuku": 110970, + "ëĦ·": 110971, + "ãĨ": 110972, + "ĠاÙĥ": 110973, + "ĠدÙĦÛĮÙĦ": 110974, + "Ġاساس": 110975, + "ìĹ°êµ¬": 110976, + "ĠÎĺε": 110977, + "ĠسÙĪØ±": 110978, + "Ġì¢Ģ": 110979, + "ĠاÙĦدر": 110980, + "ĠÑģÑĤÑĢоиÑĤелÑĮ": 110981, + "ĠÑĥк": 110982, + "ĠìĻľ": 110983, + "елик": 110984, + "OVID": 110985, + "Ġtemiz": 110986, + "亦": 110987, + "Ġthiếu": 110988, + "ĠпÑĥÑĤ": 110989, + "ÑİÑīей": 110990, + "ĠurÄį": 110991, + "ĠÄIJây": 110992, + "極": 110993, + "μοÏħ": 110994, + "Ġà¹Ģà¸Ļ": 110995, + "евеÑĢ": 110996, + "ÂłÐĶ": 110997, + "ì´Ŀ": 110998, + "è¶£": 110999, + "Ġà¤ħलà¤Ĺ": 111000, + "ưá»Ŀn": 111001, + "ĠãĥŃ": 111002, + "Ġê³³": 111003, + "é²ģ": 111004, + "ĠرسÛĮد": 111005, + "身ä½ĵ": 111006, + "ัà¸ĵà¸ij": 111007, + "ynÃŃ": 111008, + "جات": 111009, + "ì§Ģ를": 111010, + "नल": 111011, + "ìķĮ": 111012, + "Ñĸп": 111013, + "ĠvÃłng": 111014, + "ĠплоÑī": 111015, + "озмож": 111016, + "åī²": 111017, + "Ġthảo": 111018, + "лади": 111019, + "ĠåĿ": 111020, + "ĠÐľÐ¸": 111021, + "ĠделаÑĤÑĮ": 111022, + "éij": 111023, + "Ġhuy": 111024, + "اÛĮØ·": 111025, + "ĠповÑĤоÑĢ": 111026, + "ülen": 111027, + "ĠÙĪÙģ": 111028, + "ĠÙĬتÙħ": 111029, + "ĠÑĢежим": 111030, + "ĠìºIJ": 111031, + "ĠÃĩünkü": 111032, + "عدد": 111033, + "нивеÑĢ": 111034, + "ĠÐĿик": 111035, + "å¸ĸ": 111036, + "ÏįÏĢ": 111037, + "anlar": 111038, + "ستÛĮ": 111039, + "Ġbulunmaktadır": 111040, + "à¹ģà¸ļ": 111041, + "vek": 111042, + "Ġглаза": 111043, + "å¹ħ": 111044, + "Ġúdaj": 111045, + "ĠгÑĢо": 111046, + "ĠконкÑĥÑĢ": 111047, + "Ġdůležit": 111048, + "ĠØ·ÙĪØ±": 111049, + "à¸ĺาà¸Ļ": 111050, + "ĠÙĦÙĥÙĨ": 111051, + "رÙĤ": 111052, + "ÐļÐIJ": 111053, + "ĠéĿĴ": 111054, + "ĠìĤ¬ëŀij": 111055, + "ĠÑħвоÑĢ": 111056, + "sunuz": 111057, + "ĠÙħشخص": 111058, + "éϏ": 111059, + "Ġढ": 111060, + "Ġvaz": 111061, + "交æĺĵ": 111062, + "ĠÑĤеÑĢÑĢиÑĤ": 111063, + "ÑĩеÑģкой": 111064, + "ีà¹Ĥ": 111065, + "ropoda": 111066, + "ıldıģı": 111067, + "Ġëī´": 111068, + "íķĻ기": 111069, + "ë³´íĹĺ": 111070, + "ĠзаÑĤем": 111071, + "ÂłÐ²": 111072, + "ãĥ¼ãĥĨ": 111073, + "ĠÐŀÑģнов": 111074, + "ãĨį": 111075, + "Ġدع": 111076, + "ÐŁÐ¾Ñģ": 111077, + "æ²ī": 111078, + "Ġлож": 111079, + "ç͵åŃIJ": 111080, + "Ġرد": 111081, + "ĠÑģÑĢазÑĥ": 111082, + "ejte": 111083, + "Ġà¤ijफ": 111084, + "ĠtÃłu": 111085, + "ÃŃk": 111086, + "lanması": 111087, + "каÑĤ": 111088, + "าà¸ģาศ": 111089, + "ãĤ¢ãĤ¤": 111090, + "ÏĦιο": 111091, + "Ġå§": 111092, + "पत": 111093, + "EY": 111094, + "Ġjmé": 111095, + "Ġodkazy": 111096, + "Ġê°ľìĿ¸": 111097, + "éģ¿": 111098, + "bÄĽh": 111099, + "ÐłÐŀ": 111100, + "çĥĪ": 111101, + "Ġzarar": 111102, + "Ú¯ÙĪÙĨÙĩ": 111103, + "Ġtrì": 111104, + "Ġmại": 111105, + "еннÑĭм": 111106, + "ĠÑįконом": 111107, + "éĽ£": 111108, + "ĠíĦ": 111109, + "æİī": 111110, + "Ġsoru": 111111, + "ĠФедеÑĢаÑĨии": 111112, + "ĠÑģиÑģÑĤеми": 111113, + "æĸĻçĦ¡æĸĻ": 111114, + "Ġà¤ķà¤Ń": 111115, + "ĠÙĩÙĨد": 111116, + "ุà¸ĩà¹Ģà¸Ĺà¸ŀ": 111117, + "ĠOsmanlı": 111118, + "ĠпÑĢодолж": 111119, + "ĠÙĪÙĦا": 111120, + "ĠÄįlánku": 111121, + "Ġadım": 111122, + "ĠÏĢαÏģά": 111123, + "ĠzáÅĻÃŃ": 111124, + "Ġà¸Īำà¸ģ": 111125, + "Ġпен": 111126, + "menin": 111127, + "Ġìĺ¤ëĬĺ": 111128, + "emiz": 111129, + "οÏįÏĤ": 111130, + "-स": 111131, + "íķĺìĭľ": 111132, + "ĠÑħви": 111133, + "ãĤ°ãĥ©": 111134, + "ĠпоÑĪ": 111135, + "ĠÐŀднако": 111136, + "Ñĸдно": 111137, + "íĺľ": 111138, + "Ñīими": 111139, + "èĥ¸": 111140, + "Ġİlk": 111141, + "mey": 111142, + "Ġзда": 111143, + "κλη": 111144, + "алом": 111145, + "à¹Ģศษ": 111146, + "اÙĨا": 111147, + "ĠÎŁÎ¹": 111148, + "ĠåıĮ": 111149, + "ีà¸Ĥ": 111150, + "Ġبس": 111151, + "è§Ħå®ļ": 111152, + "isay": 111153, + "ukarı": 111154, + "æµģéĩı": 111155, + "vÃŃm": 111156, + "λÏİ": 111157, + "ä¹Ļ": 111158, + "Ġलड": 111159, + "ĠÙĨدارد": 111160, + "еÑĢом": 111161, + "Ġsırasında": 111162, + "ĠrÄĥng": 111163, + "Æ¡m": 111164, + "Ġlạnh": 111165, + "à¤ĥ": 111166, + "à¥ģण": 111167, + "uzey": 111168, + "ĠÑĥва": 111169, + "vÄĽd": 111170, + "ÑĭÑģ": 111171, + "Ġκι": 111172, + "Ñķ": 111173, + "ÛĮا": 111174, + "à¸ĩà¸Ħ": 111175, + "phylum": 111176, + "Ġberaber": 111177, + "ีà¸Ķ": 111178, + "æµ®": 111179, + "ासन": 111180, + "ovice": 111181, + "覧": 111182, + "Ġसफ": 111183, + "å°ij女": 111184, + "анÑĤи": 111185, + "é¨ĵ": 111186, + "Ġsoát": 111187, + "鬼": 111188, + "lanmÄ±ÅŁ": 111189, + "Ġbếp": 111190, + "ÙIJÙĦ": 111191, + "Ġsayısı": 111192, + "ĠÙĤدÙħ": 111193, + "à¥Īम": 111194, + "हम": 111195, + "ĠÑĢÑĥки": 111196, + "ĠصÙģØŃÙĩ": 111197, + "Å¡ky": 111198, + "é»Ĵ": 111199, + "èģļ": 111200, + "ãģĭãģ«": 111201, + "Ġsâu": 111202, + "едаг": 111203, + "ĠÑģÑĤоÑĢонÑĭ": 111204, + "Ġruk": 111205, + "âĢĮâĢĮ": 111206, + "ĠØ¢ÙĪØ±": 111207, + "ĠعدÙħ": 111208, + "õi": 111209, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 111210, + "Ġبازار": 111211, + "Ġedeb": 111212, + "ĠvÄįetnÄĽ": 111213, + "опаÑģ": 111214, + "Ġнег": 111215, + "mayan": 111216, + "коÑģÑĤÑĮ": 111217, + "Ġsvůj": 111218, + "ģında": 111219, + "ذÛĮر": 111220, + "Má»Ļt": 111221, + "ÐĦ": 111222, + "Ġyaptı": 111223, + "िथ": 111224, + "ĠÙħÙĩر": 111225, + "ĠдоÑģÑĤи": 111226, + "ĠصÙĪØ±": 111227, + "mesine": 111228, + "ĠDân": 111229, + "ä¸Ģä¸ĭ": 111230, + "çįİ": 111231, + "ĠÐľÐ¸Ñħ": 111232, + "ĠоÑĩи": 111233, + "ãĤ¦ãĤ§": 111234, + "ĠÑĸÑģ": 111235, + "Ġgiác": 111236, + "åľ¨çº¿è§Ĥçľĭ": 111237, + "ĠاداÙħÙĩ": 111238, + "ÑĨов": 111239, + "ĠкомÑĥ": 111240, + "Ġİngiliz": 111241, + "ĠгÑĢаж": 111242, + "ãģ¦ãĤĤ": 111243, + "Ġchữ": 111244, + "олÑĮкÑĥ": 111245, + "mÄĽt": 111246, + "Ñıгом": 111247, + "ÑĩаÑģÑĤ": 111248, + "ìĸ¼": 111249, + "Ġkhóa": 111250, + "ĠÐIJд": 111251, + "ĠØ¢ÙĤ": 111252, + "ĠkuruluÅŁ": 111253, + "άζ": 111254, + "Ġжов": 111255, + "ĠвÑģÑĤÑĢе": 111256, + "ĠÙĪÙĦÙĥ": 111257, + "Ġtuyá»ĩt": 111258, + "yı": 111259, + "ĠÐĴо": 111260, + "Ġvá»įng": 111261, + "عÙĬØ©": 111262, + "ĠopÄĽt": 111263, + "اÙĬد": 111264, + "à¥Ī.Ċ": 111265, + "ĠÑģами": 111266, + "åªĴ": 111267, + "Ġsvých": 111268, + "ĠëĤĺíĥĢ": 111269, + "ìĨIJ": 111270, + "ĠÙĦع": 111271, + "Ġetkin": 111272, + "ĠNá": 111273, + "ĠsoutÄĽ": 111274, + "층ìĿĺ": 111275, + "ĠçŃī": 111276, + "ĠرسÙħ": 111277, + "ĠخاÙĨÙĩ": 111278, + "Ġå®¶": 111279, + "iá»ģm": 111280, + "ëħIJ": 111281, + "ê°Ī": 111282, + "ì°©": 111283, + "žil": 111284, + "ÑģÑĤиÑĤÑĥÑĤ": 111285, + "oruÄį": 111286, + "Ġإذا": 111287, + "à¹Ħà¸Ĥ": 111288, + "ีà¸Ĭ": 111289, + "ÑĢаб": 111290, + "íķĻìĥĿ": 111291, + "Ġìī": 111292, + "rnek": 111293, + "ĠاستخداÙħ": 111294, + "ãĢĢĠãĢĢĠãĢĢĠãĢĢ": 111295, + "ĠвÑģем": 111296, + "ĠìłķëıĦ": 111297, + "Ġvyj": 111298, + "é̱": 111299, + "алÑĮное": 111300, + "Ġchuyá»ĩn": 111301, + "ì§ĢìĽIJ": 111302, + "ilerine": 111303, + "ĠìķĦ무": 111304, + "Ġоколо": 111305, + "ावन": 111306, + "à¸Ļา": 111307, + "опÑĢи": 111308, + "drž": 111309, + "ĠÑģÑĥÑģпÑĸлÑĮ": 111310, + "ĠبÙĥ": 111311, + "uky": 111312, + "ĠÏĩÏī": 111313, + "Ġtuần": 111314, + "nictvÃŃ": 111315, + "ĠÙĩدÙģ": 111316, + "Ġchiá»ģu": 111317, + "ÎĹÎĿ": 111318, + "å°ıå§IJ": 111319, + "íķĺìĺĢ": 111320, + "Ġklas": 111321, + "á»Ļn": 111322, + "ĠìĿ´íĽĦ": 111323, + "ÙĨاÙħج": 111324, + "Äįast": 111325, + "ĠاÙĦخاص": 111326, + "lÄ±ÅŁ": 111327, + "ĠعÙħر": 111328, + "ãĢįĊ": 111329, + "иболее": 111330, + "ãĤĬãģ®": 111331, + "ãħł": 111332, + "ä¹Łä¸į": 111333, + "кÑĢеÑĤ": 111334, + "ĠìĶ": 111335, + "ÏĦια": 111336, + "ĠÑĥпÑĢавлÑĸннÑı": 111337, + "æ²¢": 111338, + "Ġkesin": 111339, + "ì¡Įëĭ¤": 111340, + "머ëĭĪ": 111341, + "羣çļĦ": 111342, + "Ġbakım": 111343, + "æĿ±äº¬": 111344, + "¾¸": 111345, + "ÙħÙĦÙĥØ©": 111346, + "оÑĤÑĢеб": 111347, + "dın": 111348, + "ĠPÅĻi": 111349, + "ĠmÄĽli": 111350, + "Ġδημο": 111351, + "寸": 111352, + "ĠÙĪÙĥاÙĨ": 111353, + "Ġपढ": 111354, + "ĠвеÑĢÑħ": 111355, + "ĠеÑij": 111356, + "Cách": 111357, + "ä½ľä¸º": 111358, + "ĠÐļол": 111359, + "Ġве": 111360, + "ĠдеÑĢж": 111361, + "emoc": 111362, + "ãģ¸ãģ®": 111363, + "ĠаÑĢÑħ": 111364, + "Ġkiếm": 111365, + "Ġæĺİ": 111366, + "ĠлÑİдини": 111367, + "ë·": 111368, + "ĠÙĪØ§ÙĦت": 111369, + "Ġè°": 111370, + "çģ¯": 111371, + "íĻķ": 111372, + "Ġ구매": 111373, + "Ġç§ij": 111374, + "itnÃŃ": 111375, + "иÑĩеÑģкие": 111376, + "ĠÙĨÙ쨳": 111377, + "ĠتÙĦÙģ": 111378, + "اÙģÛĮ": 111379, + "ĠØŃسÙĨ": 111380, + "âĸ¡âĸ¡": 111381, + "ývá": 111382, + "ģın": 111383, + "ıyoruz": 111384, + "ĠChÃŃ": 111385, + "ĠÙ¾ÚĺÙĪÙĩØ´": 111386, + "ĠÏĦÎŃ": 111387, + "ĠÏĥÏĩε": 111388, + "олеÑĤ": 111389, + "αιδ": 111390, + "Ġhạt": 111391, + "à¸łà¸²à¸Ħ": 111392, + "åĨ°": 111393, + "Ġrychle": 111394, + "iteli": 111395, + "Âłz": 111396, + "ยà¸ģ": 111397, + "樹": 111398, + "ĠجÙĪØ§ÙĨ": 111399, + "æĺĮ": 111400, + "Ġüretim": 111401, + "ระà¸ļ": 111402, + "à¸Ľà¸£à¸°à¸¡": 111403, + "άÏĥ": 111404, + "岩": 111405, + "ĠÑĥÑģÑĤÑĢой": 111406, + "Ġverilen": 111407, + "ichni": 111408, + "ĠpÅĻÃŃmo": 111409, + "ĠاÙĦذÙĩاب": 111410, + "ì½ľ": 111411, + "æľ±": 111412, + "Ġسخ": 111413, + "Ñĸла": 111414, + "Ñĥма": 111415, + "หา": 111416, + "ÛĮدا": 111417, + "岸": 111418, + "ä¸Ģå®ļ": 111419, + "Ġä¼ļ": 111420, + "ĠÐŁÑĸд": 111421, + "ĠÑĩиÑĤ": 111422, + "иÑİ": 111423, + "ĠÐĹап": 111424, + "ÑĤиÑı": 111425, + "Ġê°ľë°ľ": 111426, + "ĠÑĤеоÑĢ": 111427, + "ÑıÑģÑĮ": 111428, + "ĠpÅĻÃŃprav": 111429, + "(åľŁ": 111430, + "ÙħÙĬ": 111431, + "ĠpÅĻedevÅ¡ÃŃm": 111432, + "ĠTemmuz": 111433, + "ĠподдеÑĢж": 111434, + "ĠнедоÑģÑĤаÑĤ": 111435, + "ĠìĿ´ìľł": 111436, + "Ġkhá»ıi": 111437, + "ĠاÙĦتØŃ": 111438, + "ĠÙħÙħÚ©ÙĨ": 111439, + "Ġvhod": 111440, + "евой": 111441, + "овал": 111442, + "Ġналеж": 111443, + "ï¼¼:": 111444, + "ยะ": 111445, + "ĠÙħاشÛĮÙĨ": 111446, + "Ġgá»Ńi": 111447, + "alım": 111448, + "ĠìµľìłĢ": 111449, + "ÙijÙĩ": 111450, + "á»Ļp": 111451, + "à¥Ģ।Ċ": 111452, + "ĠпиÑģ": 111453, + "ĠвÑģÑı": 111454, + "Ñĩем": 111455, + "ozenÃŃ": 111456, + "Ġäºļæ´²": 111457, + "еÑĢалÑĮ": 111458, + "기ëĬĶ": 111459, + "ĠпÑĢез": 111460, + "ĠعÙħÙĪÙħÛĮ": 111461, + "иÑĩниÑħ": 111462, + "Ġæ²³": 111463, + "odnÃŃ": 111464, + "åıªæĺ¯": 111465, + "Ġpodp": 111466, + "à¹īà¸Ńà¸ĩà¸ŀ": 111467, + "ायद": 111468, + "ाà¤ĩल": 111469, + "ลà¸Ķ": 111470, + "ĠÑĢÑĸÑĪеннÑı": 111471, + "ĠÑĤÑĥÑĢ": 111472, + "ÑģÑĮкÑĥ": 111473, + "Ġsaldır": 111474, + "ĠÐĽÑĮв": 111475, + "ãĢģĊ": 111476, + "ĠÙ¾ÛĮÙĪÙĨد": 111477, + "åŃ¦ä¹ł": 111478, + "λÏī": 111479, + "ovit": 111480, + "üle": 111481, + "女æĢ§": 111482, + "ÂŁ": 111483, + "emez": 111484, + "Ġhale": 111485, + "âī¦": 111486, + "ĠÎķκ": 111487, + "ÏĦηγοÏģία": 111488, + "ký": 111489, + "ìĦ±ìĿĦ": 111490, + "Ġtým": 111491, + "à¥ĩ-": 111492, + "Ġzejména": 111493, + "æĻ¶": 111494, + "Ġngon": 111495, + "ãĢıĊĊ": 111496, + "软件": 111497, + "éĤ£ä¹Ī": 111498, + "ĠкваÑĢÑĤи": 111499, + "ĠÙħÙĨظ": 111500, + "onec": 111501, + "Ġгли": 111502, + "à¥ģरà¤ķ": 111503, + "ĠSokol": 111504, + "Ġä¿Ŀ": 111505, + "див": 111506, + "álnÃŃm": 111507, + "acaģı": 111508, + "aÅŁa": 111509, + "ĠÙħاÙĦÛĮ": 111510, + "ĠÃĸn": 111511, + "иÑĤели": 111512, + "Ġخرد": 111513, + "Ġkullanıl": 111514, + "ĠÙħÛĮÙĦ": 111515, + "Ġíļ¨": 111516, + "ãn": 111517, + "Ġrost": 111518, + "Ġëĸł": 111519, + "ubat": 111520, + "ĠåıĤ": 111521, + "ĠبراÙĬ": 111522, + "ĠменÑĮ": 111523, + "ัà¸Ħร": 111524, + "Ġпомог": 111525, + "ĠØŃضÙĪØ±": 111526, + "Ġthá»ĭt": 111527, + "ä¹³": 111528, + "Ġìĭłì²Ń": 111529, + "ĠíĺĦìŀ¬": 111530, + "Ġë¹ł": 111531, + "вÑĢопей": 111532, + "Ġnejen": 111533, + "Ñĸка": 111534, + "Ġìļ¸": 111535, + "ĠÙħبار": 111536, + "ĠÄįek": 111537, + "Ġkalk": 111538, + "Ġamac": 111539, + "ادت": 111540, + "ĠÙħاسÙĩ": 111541, + "Ġarasındaki": 111542, + "ĠбеÑģ": 111543, + "ĠоÑĤделÑĮ": 111544, + "á½¶": 111545, + "ĠΤζ": 111546, + "vyk": 111547, + "جÙĨ": 111548, + "»ê²Į": 111549, + "ĠниÑĩего": 111550, + "ĠشاÙħÙĦ": 111551, + "ĠÑĥÑģловиÑıÑħ": 111552, + "laması": 111553, + "è½ī": 111554, + "ç¾½": 111555, + "Ġжид": 111556, + "ĠоÑĤноÑģ": 111557, + "ĠздÑĸйÑģнÑİ": 111558, + "ĠVỼi": 111559, + "ÙĪÙĦÛĮ": 111560, + "ĠtisÃŃ": 111561, + "ĠÏĩÏģÏĮ": 111562, + "ĠpracovnÃŃ": 111563, + "ĠÙĬÙĥÙĪÙĨ": 111564, + "ĠbeÅŁ": 111565, + "جز": 111566, + "ัà¸ļร": 111567, + "ĠYönet": 111568, + "ĠشراÛĮØ·": 111569, + "ĠتÙĪØ³Ø¹Ùĩ": 111570, + "çĹĩ": 111571, + "à¸ĩà¹Ģà¸Ľ": 111572, + "ä¸Ģ次": 111573, + "ĠÐłÐ¾ÑģÑģийÑģкой": 111574, + "æľĢé«ĺ": 111575, + "Ġspolu": 111576, + "даеÑĤÑģÑı": 111577, + "ÑĸÑĤÑĥ": 111578, + "ĠобÑĢаÑĤ": 111579, + "enek": 111580, + "Ġmek": 111581, + "å¦Ī": 111582, + "ĠдополниÑĤелÑĮ": 111583, + "Ġç²": 111584, + "ĠÙĦÙĦت": 111585, + "ĠHaziran": 111586, + "æ¸Ī": 111587, + "à¹Įà¸Ĥà¸Ńà¸ĩ": 111588, + "ĠÑĦон": 111589, + "Ġê²ĥìľ¼ë¡ľ": 111590, + "Ġnhé": 111591, + "Ġbugün": 111592, + "ovém": 111593, + "ĠзавеÑĢ": 111594, + "Ġдвиг": 111595, + "ä¼Ļ": 111596, + "Ġnuôi": 111597, + "меÑĢик": 111598, + "ĠÙĨÙħÙĪÙĨÙĩ": 111599, + "èį·": 111600, + "Ñĥвала": 111601, + "ç¿»": 111602, + "Ġsân": 111603, + "огоÑİ": 111604, + "اسÙĬØ©": 111605, + "ÑĥнкÑĤ": 111606, + "ánÃŃm": 111607, + "енное": 111608, + "Ġphút": 111609, + "Ġमर": 111610, + "ĠاÙĦÙĪØ·": 111611, + "Ġлегко": 111612, + "ĠãĢĭ": 111613, + "ë¡ľëĵľ": 111614, + "ĠKasım": 111615, + "ÙĬÙĦÙĬ": 111616, + "ĠbaÄŁlantılar": 111617, + "ĠÑĤÑĢÑĥд": 111618, + "Ø·Ùĩ": 111619, + "Ġkvůli": 111620, + "ÑģÑĤоÑı": 111621, + "ĠsatÄ±ÅŁ": 111622, + "ĠháºŃu": 111623, + "ĠبÙĩترÛĮÙĨ": 111624, + "ĠÑģелÑĮ": 111625, + "ัà¸Ļว": 111626, + "osu": 111627, + "यन": 111628, + "åĽ³": 111629, + "ιδ": 111630, + "ÛĮتÛĮ": 111631, + "ĠQuáºŃn": 111632, + "Ġей": 111633, + "à¹Ģวลา": 111634, + "ìĬ¤íĥĢ": 111635, + "ìĤ¬ë¥¼": 111636, + "ĠاÙĩÙĦ": 111637, + "ηγ": 111638, + "Ġká»·": 111639, + "ĠнаÑĤ": 111640, + "âĢ¡": 111641, + "ÑĸÑĩниÑħ": 111642, + "ĠÑĢазвиÑĤиÑı": 111643, + "ecial": 111644, + "ĠÑħозÑı": 111645, + "ваеÑĤ": 111646, + "ĠÄIJá»Ļ": 111647, + "Ġéĵ": 111648, + "Ġokam": 111649, + "ĠвÑģÑĸÑħ": 111650, + "ĠPraze": 111651, + "ë¥ł": 111652, + "ικα": 111653, + "欲": 111654, + "ĠgerçekleÅŁ": 111655, + "ç¥ĸ": 111656, + "Ġодним": 111657, + "ÂłM": 111658, + "Ġrenk": 111659, + "Ġलà¤ķ": 111660, + "ãĥķãĤ§": 111661, + "ĠÙĨزد": 111662, + "å¹»": 111663, + "ĠúzemÃŃ": 111664, + "æı¡": 111665, + "алиÑģÑı": 111666, + "ĠÃĶ": 111667, + "Ġyorum": 111668, + "ĠÏĢÏģÏī": 111669, + "ãĥ³ãĥĩ": 111670, + "éĸĭå§ĭ": 111671, + "ãĥ¼ãĥª": 111672, + "Ġìĸ¼êµ´": 111673, + "Û±Û±": 111674, + "lÃ¼ÄŁÃ¼": 111675, + "ÙĨØ´": 111676, + "à¹Īำ": 111677, + "èĽĭ": 111678, + "Ġأد": 111679, + "ĠWilli": 111680, + "課": 111681, + "Ġsürdür": 111682, + "ĠExternÃŃ": 111683, + "Ġpůvod": 111684, + "ĠخاÙĨÙĪ": 111685, + "ĠкоÑĤоÑĢое": 111686, + "Ġmohl": 111687, + "ĠstÄĽ": 111688, + "åĩı": 111689, + "ìĤ¼": 111690, + "abancı": 111691, + "à¹ģà¸Ļ": 111692, + "สำà¸Ħ": 111693, + "æĤ£": 111694, + "abilece": 111695, + "éĺ³åŁİ": 111696, + "ÎijÎļ": 111697, + "Ġchữa": 111698, + "ĠìķĦëĭ": 111699, + "طبÙĬÙĤ": 111700, + "ÎĻÎŁÎ¥": 111701, + "ÑĢование": 111702, + "åĩ½": 111703, + "Ġì¼": 111704, + "ÑĢоÑĦ": 111705, + "à¹ĩà¸Ļส": 111706, + "ĠãĤ¦": 111707, + "ï¼ļãĢĮ": 111708, + "á»ĭa": 111709, + "ĠhPa": 111710, + "manı": 111711, + "álnÃŃho": 111712, + "ÙĪØªÛĮ": 111713, + "ĠлеÑĩениÑı": 111714, + "jte": 111715, + "-д": 111716, + "åħ¨åĽ½": 111717, + "ĠбÑĥдÑĸв": 111718, + "ĠzatÃŃm": 111719, + "Ġöyle": 111720, + "ìĿ´ê°Ģ": 111721, + "stal": 111722, + "ivatel": 111723, + "Ġæľª": 111724, + "Ġpožad": 111725, + "ĠÑģни": 111726, + "ĠposlednÃŃ": 111727, + "ĠÑģÑĤанд": 111728, + "à¥Ģà¤ıम": 111729, + "Ġعکس": 111730, + "ÑĢиÑı": 111731, + "ãy": 111732, + "á»ĭp": 111733, + "Ġokul": 111734, + "à¸ĩหมà¸Ķ": 111735, + "Ġвозник": 111736, + "mÃŃ": 111737, + "ç§Ł": 111738, + "ĠÄijá»ijc": 111739, + "ĠpodÃŃ": 111740, + "ĠÅĻÃŃj": 111741, + "ĠÑĤакÑĸ": 111742, + "à¸ļาà¸Ĺ": 111743, + "Ġ보기": 111744, + "ลา": 111745, + "еÑģÑĤо": 111746, + "Ġç͍": 111747, + "инÑĭ": 111748, + "ĠÑĢÑĥÑħ": 111749, + "ĠÑĢаÑģполож": 111750, + "ÑīеннÑı": 111751, + "Ġcá»Ń": 111752, + "à¹īà¸ļร": 111753, + "à¥įयवस": 111754, + "ï¾ļ": 111755, + "ĠдалÑĮ": 111756, + "Ġضد": 111757, + "ÙĦÙĬØ©": 111758, + "ĠкоÑĤоÑĢого": 111759, + "Ġdve": 111760, + "Ġnhạc": 111761, + "ÑĦÑĸка": 111762, + "à¥Īà¤Ł": 111763, + "èĩªçͱ": 111764, + "ĠпоÑĢÑĥÑĪ": 111765, + "æľĭåıĭ": 111766, + "Ġdört": 111767, + "ĠÑĢаÑģпÑĢоÑģÑĤ": 111768, + "ãģ§ãģ¯ãģªãģĦ": 111769, + "ĠпеÑĢег": 111770, + "Ġánh": 111771, + "ĠVÃŃ": 111772, + "ظٹ": 111773, + "à¥įरण": 111774, + "Ġbilim": 111775, + "Ġlidé": 111776, + "ĠdÃŃky": 111777, + "ĠÄIJá»ĵng": 111778, + "ĠεÏģγ": 111779, + "Ġznovu": 111780, + "Ïĥια": 111781, + "Ñŀ": 111782, + "सà¤Ń": 111783, + "ekk": 111784, + "ĠμεÏĦά": 111785, + "ÑģÑĤиÑĩ": 111786, + "ÛĮÙĨÚ¯": 111787, + "ĠÑıвлÑıÑİÑĤÑģÑı": 111788, + "Ġ建": 111789, + "ÏĥÏĥα": 111790, + "авлива": 111791, + "à¸ģรม": 111792, + "ç¬Ķ": 111793, + "Ġге": 111794, + "ĠرÙĩ": 111795, + "Ġмел": 111796, + "ĠнапÑĢимеÑĢ": 111797, + "Ġмик": 111798, + "ĠاÙĦسÙĥاÙĨ": 111799, + "æ¤ľ": 111800, + "ĠÐļÑĢа": 111801, + "ĠvÃłi": 111802, + "ائÙħ": 111803, + "ĠÏĩÏģή": 111804, + "leÅŁme": 111805, + "Ġjas": 111806, + "ê²ĮìŀĦ": 111807, + "Ġmaç": 111808, + "Ġì§Ħíĸī": 111809, + "à¥ĩदन": 111810, + "Ġvůbec": 111811, + "ĠÙĦÙĨ": 111812, + "è«ĩ": 111813, + "âī¡âī¡": 111814, + "лением": 111815, + "عÙĨÛĮ": 111816, + "ãĥŀãĥ³": 111817, + "İZ": 111818, + "ĠÃĸÄŁ": 111819, + "ĠìŬìŀIJ": 111820, + "yÅ¡": 111821, + "ĠÑģÑĤа": 111822, + "Ġสำหร": 111823, + "Ġनव": 111824, + "ãĢĤä½Ĩ": 111825, + "олÑĮно": 111826, + "Ġyanında": 111827, + "è²´": 111828, + "Ġjednotliv": 111829, + "ĠåİŁ": 111830, + "éłħ缮": 111831, + "Ġमदद": 111832, + "리ìĹIJ": 111833, + "ĠÙħاÙĬ": 111834, + "ĠÑĩеÑĢв": 111835, + "Ġdáv": 111836, + "ÙĦÛĮÙĩ": 111837, + "?#": 111838, + "ÄįnÃŃm": 111839, + "ÑĢег": 111840, + "ĠпÑĢименÑı": 111841, + "ãĤĬãģ¨": 111842, + "ê°Ļ": 111843, + "Ġtoplam": 111844, + "ileÅŁ": 111845, + "Ġkategor": 111846, + "ÑĤал": 111847, + "ãģ«ãĤĪãĤĭ": 111848, + "Ġdomác": 111849, + "Ġê·ľ": 111850, + "ĠÙĩزار": 111851, + "ĠpÅĻÃŃstup": 111852, + "ılıyor": 111853, + "жди": 111854, + "ĠDương": 111855, + "ĠPháºŃt": 111856, + "Ġçünkü": 111857, + "구ê¸ĢìĥģìľĦ": 111858, + "ovaných": 111859, + "Ġعش": 111860, + "Ġà¤ķरà¤ķ": 111861, + "žÃŃt": 111862, + "ĠvÄĽtÅ¡ÃŃ": 111863, + "ĠاÙħکاÙĨ": 111864, + "Ġnông": 111865, + "Ġzám": 111866, + "à¥Įन": 111867, + "екаÑĢ": 111868, + "ÂłÐ¢": 111869, + "kami": 111870, + "ĠÑĢеÑģÑĥÑĢ": 111871, + "поÑģ": 111872, + "ÙİÙĤ": 111873, + "ίλ": 111874, + "ĠسازÛĮ": 111875, + "Ġçıkan": 111876, + "ĠdÃŃtÄĽ": 111877, + "ĠتصÙĪ": 111878, + "ç¯ĩ": 111879, + "нд": 111880, + "Ġrámci": 111881, + "hong": 111882, + "ĠÑģÑĸм": 111883, + "sak": 111884, + "кеÑĤ": 111885, + "дÑĸл": 111886, + "ç¹Ķ": 111887, + "ĠthÆ°á»Łng": 111888, + "ĠнеÑĹ": 111889, + "зÑĸ": 111890, + "ÅĻÃŃd": 111891, + "ितन": 111892, + "à¤ıà¤ķ": 111893, + "Ġsữa": 111894, + "ĠÙħرØŃ": 111895, + "éŀ": 111896, + "Ġcưá»Ŀng": 111897, + ":.:": 111898, + "ÑĤен": 111899, + "èī¦": 111900, + "Ġkhợi": 111901, + "Ġ기ì¤Ģ": 111902, + "lanır": 111903, + "彩票": 111904, + "ضÛĮ": 111905, + "Ġuzav": 111906, + "Ġboh": 111907, + "èm": 111908, + "Ġæ£": 111909, + "nici": 111910, + "(çģ«": 111911, + "åħ³äºİ": 111912, + "ÑĸÑĩнÑĸ": 111913, + "à¸ģารà¸ĵ": 111914, + "Ġ첫": 111915, + "ÑĢÑĥеÑĤ": 111916, + "ĠarÅŁivlendi": 111917, + "ÑĤим": 111918, + "à¸²à¸ł": 111919, + "Ġبرابر": 111920, + "Ġà¹Ģà¸ĭ": 111921, + "ĠÄijêm": 111922, + "è·³": 111923, + "Ġyönetim": 111924, + "Ġéķ·": 111925, + "ãĥĨãĥ¬ãĥĵ": 111926, + "маÑĤи": 111927, + "责任": 111928, + "ickým": 111929, + "è¸": 111930, + "à¹Ģหà¸ķ": 111931, + "ëłĮ": 111932, + "ĠرÙĬ": 111933, + "ĠвÑĭдел": 111934, + "åĩºçݰ": 111935, + "ĠпеÑģ": 111936, + "Ġì¢ĭìĿĢ": 111937, + "Ġà¤īसन": 111938, + "ĠAralık": 111939, + "ĠÑĩаÑģÑĥ": 111940, + "lava": 111941, + "Ġï½ŀ": 111942, + "æģĭ": 111943, + "دÛĮد": 111944, + "âĢĻden": 111945, + "ĠåĪĿ": 111946, + "ÙĪØ¯Ø©": 111947, + "Ñĩили": 111948, + "ĠÑħаÑĢакÑĤеÑĢиÑģÑĤи": 111949, + "استاÙĨ": 111950, + "दर": 111951, + "ĠبÙĪØ¯ÙĨ": 111952, + "ĠпалÑĮ": 111953, + "ĠÑĤÑĢади": 111954, + "ĠдеÑı": 111955, + "Ġخش": 111956, + "ĠpokraÄį": 111957, + "Ġ구ê¸Ģ": 111958, + "ковÑĸ": 111959, + "Ġtık": 111960, + "Ġhấp": 111961, + "Ġzalož": 111962, + "१à¥": 111963, + "Ġëĭµë³Ģ": 111964, + "меÑĪ": 111965, + "íļ¨": 111966, + "Ġspolup": 111967, + "ËĨ": 111968, + "辦": 111969, + "Ġgá»Ĺ": 111970, + "Ġå®ļ": 111971, + "ĵn": 111972, + "asından": 111973, + "-ı": 111974, + "ĠбеÑĢез": 111975, + "大åѸ": 111976, + "Ġзнов": 111977, + "ĠHoÃłng": 111978, + "ĠدÙĪÙĨ": 111979, + "Ġanlay": 111980, + "ĠÙĪØ²Ø§Ø±": 111981, + "ĠعÙĦÙħÛĮ": 111982, + "è£ľ": 111983, + "Ġdünya": 111984, + "ĠзалиÑĪ": 111985, + "даеÑĤ": 111986, + "νε": 111987, + "иÑĩеÑģкого": 111988, + "ìĬ¤íħľ": 111989, + "ĠÐijеÑĢ": 111990, + "Ġдж": 111991, + "ĠопаÑģ": 111992, + "ÏĨα": 111993, + "Ġzvlá": 111994, + "Ġtô": 111995, + "беÑĢ": 111996, + "ĠξαÏģ": 111997, + "tiÄŁini": 111998, + "ãĥ¬ãĥ³": 111999, + "ĠKho": 112000, + "ĠÑĸнÑĪ": 112001, + "Ġï¿¥": 112002, + "ì°¬": 112003, + "。": 112004, + "ĠноÑĩ": 112005, + "è¨Ĭ": 112006, + "ÄĽti": 112007, + "å¿Ļ": 112008, + "ĠکردÙĨد": 112009, + "ĠÄijẩy": 112010, + "ĠÑģказав": 112011, + "ëĥ¥": 112012, + "屬": 112013, + "Ġशहर": 112014, + "ĠÚ©ÙħÚ©": 112015, + "ÂłÐŁ": 112016, + "ınca": 112017, + "нÑĸвеÑĢÑģиÑĤ": 112018, + "ĠÚ¯ÙĪÙĨÙĩ": 112019, + "ĠToplam": 112020, + "ĠiÅŁaret": 112021, + "ä½łä»¬": 112022, + "Ġderece": 112023, + "ĠìĤ¬ìĭ¤": 112024, + "ĠìŀIJ기": 112025, + "å®ŀçݰ": 112026, + "çĶŁçī©": 112027, + "ãģ®ä¸Ģ": 112028, + "ĠÑĢом": 112029, + "ÙĪØ²Ùĩ": 112030, + "Ġãģ¨": 112031, + "íĻį": 112032, + "ÙĬÙĤ": 112033, + "ĠåIJįçĦ¡ãģĹãģķãĤĵ": 112034, + "ĠÙ¾ÛĮر": 112035, + "Ġполез": 112036, + "ì¶©": 112037, + "ĠкоÑĢп": 112038, + "IJëĭ¤": 112039, + "ừa": 112040, + "ÎķΤ": 112041, + "Ġжелез": 112042, + "ãģ£ãģ±": 112043, + "Ġxuyên": 112044, + "Ġë¥": 112045, + "à¥ĩ।Ċ": 112046, + "ĠÑģÑĤали": 112047, + "ĠpomocÃŃ": 112048, + "Ġdurumda": 112049, + "ĠпÑĢоÑĪ": 112050, + "lenÃŃ": 112051, + "βολ": 112052, + "Ġæĸĩ竳": 112053, + "tÄĽz": 112054, + "dÃŃl": 112055, + "Ġdruhé": 112056, + "ĠÑĤогда": 112057, + "Ġhrá": 112058, + "оÑĤÑĮ": 112059, + "าà¸ģร": 112060, + "ĠتصÙħ": 112061, + "ĠÙħدت": 112062, + "кадем": 112063, + "ĠpatÅĻÃŃ": 112064, + "ä¹ĭåīį": 112065, + "سبة": 112066, + "ĠпокÑĢÑĭ": 112067, + "Ġnáp": 112068, + "Ġ_{}": 112069, + "ëĵ±íķĻêµIJ": 112070, + "ĠØ¥ÙĦÙĬ": 112071, + "Ġözg": 112072, + "çļĨ": 112073, + "Ġhayvan": 112074, + "ĠNisan": 112075, + "غاز": 112076, + "Ġتت": 112077, + "ĠдÑĥÑħов": 112078, + "ĠÐŁÐ¾ÑįÑĤомÑĥ": 112079, + "ÑĮогод": 112080, + "ĠkuÅŁ": 112081, + "Ġà¤ĩसम": 112082, + "جÛĮ": 112083, + "ĠãĤ¿": 112084, + "ĠвкÑĥÑģ": 112085, + "çĢ": 112086, + "ĠвÑĭÑĪе": 112087, + "âĢĻdan": 112088, + "ĠاØŃÙħد": 112089, + "Ġtalep": 112090, + "ĠÏĪ": 112091, + "Ġdolayı": 112092, + "Ġگزارش": 112093, + "бол": 112094, + "ĠاÛĮÙĨتر": 112095, + "ÑĢоÑĩ": 112096, + ")âĢı": 112097, + "ĠëIJł": 112098, + "Ġkoup": 112099, + "(æľĪ": 112100, + "é±¼": 112101, + "ĠогÑĢа": 112102, + "ĠÑĢазм": 112103, + "Ġتست": 112104, + "ĠpÅĻÃŃslu": 112105, + "íĽĪ": 112106, + "ĠëĮĢíķ´": 112107, + "à¹ģà¸Ľ": 112108, + "аннÑĭе": 112109, + "ĠìĿ¸íĦ°": 112110, + "Ġkullanılan": 112111, + "Ġztr": 112112, + "æĬĢè¡ĵ": 112113, + "à¤¿à¤Ľ": 112114, + "ĠاÙĦÙħؤ": 112115, + "ovaly": 112116, + "ustos": 112117, + "Ġörg": 112118, + "Ġ太": 112119, + "ειο": 112120, + "ĠuÄį": 112121, + "ĠØ´Ú©ÙĦ": 112122, + "建çŃij": 112123, + "Ġchạy": 112124, + "ĠÏĩÏģη": 112125, + "нÑĥÑĤ": 112126, + "Ġباعث": 112127, + "ĠNÄĽkter": 112128, + "ÑĥÑĤÑĤÑı": 112129, + "ãģ§ãģĻãģĭ": 112130, + "Ġsayılı": 112131, + "имоÑģÑĤÑĮ": 112132, + "ĠпиÑĤаннÑı": 112133, + "ĠkÃŃnh": 112134, + "Ġhran": 112135, + "okrat": 112136, + "Ġedilir": 112137, + "Ġà¤ķहत": 112138, + "Ġpaci": 112139, + "ालन": 112140, + "Ġиде": 112141, + "ĠZem": 112142, + "Ġslužby": 112143, + "ÑģÑĤвеннÑĭй": 112144, + "ĠØ¢ÙĨاÙĨ": 112145, + "ĠÑĤоваÑĢи": 112146, + "ĠتØŃÙħÙĬÙĦ": 112147, + "ĠYük": 112148, + "ĠкаÑĤегоÑĢ": 112149, + "íĭĢ": 112150, + "ĠкоÑģ": 112151, + "Ġобов": 112152, + "ĠprostÅĻedÃŃ": 112153, + "ĠÑģоÑģ": 112154, + "ĠÐIJлекÑģанд": 112155, + "Ġà¹Ģà¸Ĥà¸ķ": 112156, + "å¿ħé¡»": 112157, + "ัà¸Ĭ": 112158, + "ĠÙĦد": 112159, + "ãĢģä¸Ģ": 112160, + "ĠÎľÎŃ": 112161, + "ÑĥваÑĤиÑģÑı": 112162, + "æķı": 112163, + "ãĥ¼ãĥIJ": 112164, + "اÙĦÙĦÙĩ": 112165, + "ĠبÙĩا": 112166, + "åĸ¶": 112167, + "è´µ": 112168, + "æĸ¹åIJij": 112169, + "Ġì¸": 112170, + "ĠÙĨاÙħÙĩ": 112171, + "ÑĮко": 112172, + "Ġvody": 112173, + "vÃŃc": 112174, + "à¹ģà¸Ī": 112175, + "ĠعÙĦÛĮÙĩ": 112176, + "à¹ģรà¸ĩ": 112177, + "ίνα": 112178, + "ãģ¬": 112179, + "ĠÐŀп": 112180, + "Ġsayf": 112181, + "ï¼Įçͱ": 112182, + "ä¼´": 112183, + "ĠÑĥдоб": 112184, + "ãģ¾ãģł": 112185, + "ĠнепÑĢи": 112186, + "Âİ": 112187, + "à¤¾à¤ľà¤ª": 112188, + "plnÄĽ": 112189, + "ĠìĹĦ": 112190, + "Ġrůzn": 112191, + "Ġxếp": 112192, + "ãĥĸãĥ«": 112193, + "ĠзаÑħиÑģÑĤ": 112194, + "ĠÙħصرÙģ": 112195, + "ĠvÅ¡echno": 112196, + "ãģ®ãģĬ": 112197, + "ĠThá»ĭ": 112198, + "Ġmùa": 112199, + "¿IJ": 112200, + "ĠпÑĢинÑĨип": 112201, + "ĠاÙĨÙĤÙĦ": 112202, + "гаÑĢ": 112203, + "Ġmožnost": 112204, + "ÙĤÙĬÙĤ": 112205, + "ĠotevÅĻ": 112206, + "Ġfak": 112207, + "Ġnguy": 112208, + "бов": 112209, + "lacaÄŁ": 112210, + "اطر": 112211, + "ãģ«ãĤĪãĤĬ": 112212, + "æĺ¯åľ¨": 112213, + "Ġtầng": 112214, + "ìĿ¸ìĿ´": 112215, + "aÅĻ": 112216, + "碰": 112217, + "ÏĮμε": 112218, + "Ġê°Ī": 112219, + "ĠØ£ØŃد": 112220, + "غراÙģ": 112221, + "ĠÙĬØŃ": 112222, + "ï½§": 112223, + "ĠاÙĦØŃÙĬاة": 112224, + "Ġlep": 112225, + "Ġฮ": 112226, + "tae": 112227, + "Ġlương": 112228, + "è½®": 112229, + "ĠзмÑĸн": 112230, + "ĠÐļиÑĹв": 112231, + "ĠмÑĸÑģÑı": 112232, + "кав": 112233, + "à¸ķะ": 112234, + "Ġmnoho": 112235, + "ĠNghá»ĭ": 112236, + "èĻİ": 112237, + "ĠãĥŁ": 112238, + "Ġpráci": 112239, + "Ġgá»ijc": 112240, + "ĠYeni": 112241, + "اضÙĬ": 112242, + "Ġèij": 112243, + "Ġкла": 112244, + "ıng": 112245, + "ÏĦεί": 112246, + "Ġbeni": 112247, + "Ġعد": 112248, + "Ġaktu": 112249, + "ĠÙĪÙĤد": 112250, + "ĠподгоÑĤов": 112251, + "Ġgiai": 112252, + "(æ°´": 112253, + "Ġsaç": 112254, + "ĠÙħÙĨاسب": 112255, + "âĸĭ": 112256, + "ÙIJÙĩ": 112257, + "éį": 112258, + "à¸Ńà¸Ĺ": 112259, + "ĠسÛĮاسÛĮ": 112260, + "olit": 112261, + "ĠاÙĦجز": 112262, + "Ø·ÙĦب": 112263, + "Ġsey": 112264, + "erence": 112265, + "ì´Į": 112266, + "ĠвнÑĥÑĤÑĢен": 112267, + "Ġà¸Ļาย": 112268, + "ĠìķĬìķĺëĭ¤": 112269, + "olik": 112270, + "æľĢåIJİ": 112271, + "仪": 112272, + "ĠÑĢÑĸд": 112273, + "è¼ĥ": 112274, + "Ġباب": 112275, + "Ñĥди": 112276, + "ĠÑģÑĤÑĥп": 112277, + "ĠÄijứng": 112278, + "ĠÅŁÃ¶yle": 112279, + "ĠíķĻìĥĿ": 112280, + "ĠвлаÑģÑĤи": 112281, + "Ġhãng": 112282, + "à¹īาว": 112283, + "ĠکاÙĩØ´": 112284, + "Ġëĵ¯": 112285, + "ĠجÙħÙĦÙĩ": 112286, + "Ġدکتر": 112287, + "adolu": 112288, + "Ġتبد": 112289, + "ظاÙħ": 112290, + "ĠznaÄį": 112291, + "ĠدÙĨÛĮ": 112292, + "Ġsạn": 112293, + "å¼±": 112294, + "ÏĢι": 112295, + "ĠçIJĨ": 112296, + "ĠÙ쨵ÙĦ": 112297, + "инг": 112298, + "ÐļÐŀ": 112299, + "ĠСов": 112300, + "Ġziyaret": 112301, + "ĠدÙħ": 112302, + "竹": 112303, + "Ġsahibi": 112304, + "isayar": 112305, + "ÄŁa": 112306, + "ĠпеÑĢÑĸод": 112307, + "Ġsna": 112308, + "(æľ¨": 112309, + "Ġнее": 112310, + "ĠÑĦакÑĤоÑĢ": 112311, + "меж": 112312, + "åºĦ": 112313, + "ráž": 112314, + "окÑĢем": 112315, + "Ġžal": 112316, + "ิà¹Ģศษ": 112317, + "豪": 112318, + "oucÃŃ": 112319, + "ĠUlus": 112320, + "Ġtakže": 112321, + "اÙĪÙĨ": 112322, + "ниÑĤи": 112323, + "нÑĮо": 112324, + "ëį¸": 112325, + "ĠÙĥرة": 112326, + "åľ³": 112327, + "ĠArthropoda": 112328, + "ĠÑĤодÑĸ": 112329, + "Ġدرصد": 112330, + "ุรà¸ģ": 112331, + "ĠÑģвого": 112332, + "说éģĵ": 112333, + "Ġcánh": 112334, + "æĵĬ": 112335, + "Ġä¸ĭè½½": 112336, + "èī¾": 112337, + "Ġnikdy": 112338, + "خط": 112339, + "ĠÑģейÑĩаÑģ": 112340, + "ÙĪÙĬÙĦ": 112341, + "amet": 112342, + "문ìĿĺ": 112343, + "ĠEÄŁitim": 112344, + "大ä¼ļ": 112345, + "ĠbÅĻez": 112346, + "заÑĨÑĸÑı": 112347, + "Ġtyto": 112348, + "най": 112349, + "غÙħ": 112350, + "Ġé©": 112351, + "计ç®Ĺ": 112352, + "Türkiye": 112353, + "Ġmnož": 112354, + "åIJĪä½ľ": 112355, + "æľįåĭĻ": 112356, + "Ġkaždý": 112357, + "ĠÑİÑĢид": 112358, + "Ġβα": 112359, + "à¥Ĥà¤ļ": 112360, + "åIJĮãģĺ": 112361, + "Ġçĭ": 112362, + "ίÏĦ": 112363, + "ÙĪÛĮÙĨت": 112364, + "اÙĨس": 112365, + "æľĢ大": 112366, + "ĠTừ": 112367, + "éŃĶæ³ķ": 112368, + "Ġбли": 112369, + "ĠÑĤакое": 112370, + "ãģľ": 112371, + "ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ": 112372, + "ìĿ´ë©°": 112373, + "ĠÙĤسÙħت": 112374, + "ĠоÑĨÑĸ": 112375, + "никÑĥ": 112376, + "ĠBạn": 112377, + "ĠоÑĢганÑĸз": 112378, + "üph": 112379, + "Ġizin": 112380, + "Ġï¾Ĭ": 112381, + "είÏĤ": 112382, + "à¸ĩà¹ģà¸ķ": 112383, + "ãģ¡ãĤī": 112384, + "важа": 112385, + "Ġ欧": 112386, + "ιÏİ": 112387, + "ÏĢÎŃ": 112388, + "ĠкÑĢеп": 112389, + "ĠÑĨиÑħ": 112390, + "æĦŁãģĺ": 112391, + "çķ«": 112392, + "ÙĥÙĪ": 112393, + "емо": 112394, + "žen": 112395, + "å¹³æĸ¹": 112396, + "ĠÙħجÙħÙĪØ¹Ùĩ": 112397, + "ĠÑģвои": 112398, + "ĠãĦ": 112399, + "à¸Ľà¸£à¸°à¸ģà¸Ńà¸ļ": 112400, + "ĠпÑĢоÑĤи": 112401, + "ÙĪÛĮÙĩ": 112402, + "认为": 112403, + "ÏĨÎŃ": 112404, + "иÑĩеÑģкий": 112405, + "æ¥ļ": 112406, + "Ġпап": 112407, + "δÏģο": 112408, + "Ġkullanım": 112409, + "Ġzbo": 112410, + "ĠúspÄĽ": 112411, + "ĠÙħز": 112412, + "ĠFak": 112413, + "елÑĮзÑı": 112414, + "æ´»åĭķ": 112415, + "ĠÐŁÑĢав": 112416, + "¦y": 112417, + "åĥķ": 112418, + "æijĺ": 112419, + "Ġرئ": 112420, + "ĠÏĨοÏģ": 112421, + "миÑĤ": 112422, + "Ġticaret": 112423, + "æ³ķå¾ĭ": 112424, + "年代": 112425, + "ìĪĻ": 112426, + "å¿ł": 112427, + "à¹ĩà¸Ļà¸Ĺ": 112428, + "ĠÑĥж": 112429, + "ĠÙħتØŃدÙĩ": 112430, + "Ġtrá»Ŀi": 112431, + "ĠرØŃ": 112432, + "ĠÚ©ÙĪÚĨ": 112433, + "ĠопÑĢеделен": 112434, + "ĠزÙħÛĮÙĨÙĩ": 112435, + "Ġnóng": 112436, + "Ġngá»§": 112437, + "Những": 112438, + "ĠкиÑĪ": 112439, + "Ġjde": 112440, + "Ġä¸Ĭæµ·": 112441, + "åĭĩ": 112442, + "Ġtanı": 112443, + "à¹Įà¹ģละ": 112444, + "ĠÑĢаÑģÑĤвоÑĢ": 112445, + "ĠÑģÑĢедÑģÑĤв": 112446, + "Ġcán": 112447, + "Ġsystému": 112448, + "ÛĮØ·": 112449, + "ĠÑģиÑģÑĤема": 112450, + "Ġëŀ": 112451, + "ĠÑĩеÑĤ": 112452, + "éĥ¨éŨ": 112453, + "帰": 112454, + "Ġmillet": 112455, + "ĠÎķλλά": 112456, + "à¥ĩà¤ĸन": 112457, + "Ġrepubliky": 112458, + "ÑĢами": 112459, + "Ġसमस": 112460, + "Ġaçısından": 112461, + "ادÙĦ": 112462, + "ĠбеÑģп": 112463, + "ãĥ»âĶģ": 112464, + "åľŃ": 112465, + "ocu": 112466, + "kánÃŃ": 112467, + "ÙĪØ±Ø´": 112468, + "ëŀµ": 112469, + "Ġçģ": 112470, + "è°ģ": 112471, + "Ġsám": 112472, + "ĠνεÏĨ": 112473, + "bilir": 112474, + "ĠmÃŃstÄĽ": 112475, + "Ġžen": 112476, + "Ġilç": 112477, + "Ġë§ģ": 112478, + "ãĢijĊ": 112479, + "ĠÙħÙĪØ§Ø±Ø¯": 112480, + "ĠاÙĦØ´ÙĬ": 112481, + "Ġ기ë¡Ŀ": 112482, + "Ġtady": 112483, + "à¸Ńาà¸Ī": 112484, + "ĠÑģÑĦ": 112485, + "ĠspoleÄįnost": 112486, + "Ġtématu": 112487, + "ÙħاÙħ": 112488, + "Ùħع": 112489, + "Ġлеж": 112490, + "ĠÚĨØ´Ùħ": 112491, + "ĠiÅŁlet": 112492, + "ĠÙĨسخ": 112493, + "ä¼°": 112494, + "ãģįãģª": 112495, + "ãĢĥ": 112496, + "å²Ĺ": 112497, + "ĠåŃIJ": 112498, + "Ġbảng": 112499, + "çĮ®": 112500, + "Ġcứng": 112501, + "ĠкÑĢай": 112502, + "Ġèĭ±è¯Ń": 112503, + "ÐłÐIJ": 112504, + "زÙĨ": 112505, + "èĥŀ": 112506, + "Ġsüreç": 112507, + "ãĥķãĥĪ": 112508, + "ĠкÑĸлÑĮка": 112509, + "neÄŁin": 112510, + "ovány": 112511, + "лÑĸн": 112512, + "Ġvýraz": 112513, + "ĠÑģÑĩиÑĤа": 112514, + "ĠпÑĢавило": 112515, + "ĠиÑģполÑĮзÑĥ": 112516, + "Ġkéo": 112517, + "ĠyaklaÅŁÄ±k": 112518, + "ĠÙĪØ§Ø¨Ø³ØªÙĩ": 112519, + "оваÑĤелÑĮ": 112520, + "Ġì²ł": 112521, + "ĠاÙĦعاÙħ": 112522, + "åĿı": 112523, + "Ġà¸ī": 112524, + "ĠSÆ¡n": 112525, + "λιο": 112526, + "ì¶Ķì²ľ": 112527, + "Ġslužeb": 112528, + "ĠдеÑıÑĤелÑĮноÑģÑĤи": 112529, + "зм": 112530, + "Ġпози": 112531, + ".;.;": 112532, + "ĠпÑĢоиÑģÑħодиÑĤ": 112533, + "ายà¹ĥà¸Ļ": 112534, + "çļĦãģ«": 112535, + "Ġà¤ĩसस": 112536, + "омеÑĤ": 112537, + "ĠαÏģ": 112538, + "ाà¤Ĺर": 112539, + "icÃŃch": 112540, + "Ġpoložky": 112541, + "골": 112542, + "æĥĬ": 112543, + "Ġöner": 112544, + "Ġxảy": 112545, + "ĠÙĨظرÛĮ": 112546, + "Ġnghá»ī": 112547, + "Ġà¸ľà¸¥": 112548, + "ĠÑĢолÑĮ": 112549, + "ĠÑĢемон": 112550, + "صÙĪØ±": 112551, + "Vý": 112552, + "ĠSá»ij": 112553, + "ĠÑģÑĥÑĩаÑģ": 112554, + "หย": 112555, + "ĠاÙĤداÙħ": 112556, + "Ġerkek": 112557, + "Ġèį": 112558, + "ĠÄijôi": 112559, + "ĠконкÑĢеÑĤ": 112560, + "æ¬Ĭ": 112561, + "Ġ缮": 112562, + "ÙĪÚ©": 112563, + "lıkla": 112564, + "Ġpazar": 112565, + "άνÏī": 112566, + "ÑĥÑģÑĤа": 112567, + "ãģªãģŁ": 112568, + "ĠÙĩÙĨÚ¯": 112569, + "Ð®ÐĽ": 112570, + "Ġвелик": 112571, + "ĠnhỼ": 112572, + "ĠìĭľíĹĺ": 112573, + ")ìĿĺ": 112574, + "ÙĥÙĩ": 112575, + "Ġà¹ģล": 112576, + "Û²Ûµ": 112577, + "ĠارساÙĦ": 112578, + "ĠокÑĢем": 112579, + "άÏĤ": 112580, + "ĠвÑĭÑħод": 112581, + "vÄĽtÅ¡ÃŃ": 112582, + "ĠطرÛĮÙĤ": 112583, + "ĠкоÑĢоÑĤ": 112584, + "нÑĶ": 112585, + "ãĤĬãģ«": 112586, + "Ġä¹Ł": 112587, + "ØŃص": 112588, + "عÙħاÙĦ": 112589, + "olojik": 112590, + "Ġرابط": 112591, + "çªĹ": 112592, + "Ġgiz": 112593, + "Ġchết": 112594, + "樣": 112595, + "สà¸ĩ": 112596, + "ÙĪØªØ±": 112597, + "ĠÑıкÑĥ": 112598, + "çı¾åľ¨": 112599, + "ĠоÑĤÑģÑĥÑĤÑģÑĤв": 112600, + "Ġê´ijê³ł": 112601, + "Ñĸки": 112602, + "å̤": 112603, + "订": 112604, + "Ġdle": 112605, + "Ġåł": 112606, + "権": 112607, + "讯": 112608, + "åĶIJ": 112609, + "Ġâĸ²": 112610, + "Ġlistop": 112611, + "Ġdatové": 112612, + "ÏĦÏĮÏĤ": 112613, + "Ġоз": 112614, + "δÏĮ": 112615, + "èĴĤ": 112616, + "Û³Û°": 112617, + "ãĥªãĥ¼ãĤº": 112618, + "ĠÙħرکز": 112619, + "ĠпÑĸдÑĤÑĢим": 112620, + "ĠÑģез": 112621, + "é¡ĺ": 112622, + "Ġolacaktır": 112623, + "æºĢ": 112624, + "ĠÏĢεÏģιο": 112625, + "ÑĦа": 112626, + "ÏĦηÏĥη": 112627, + "ç»ĥ": 112628, + "Ðŀд": 112629, + "δÏħ": 112630, + "âĦĥ": 112631, + "Ġlắp": 112632, + "ĠëĦĺ": 112633, + "طاÙĨ": 112634, + "ĠÙ¾ÙĨج": 112635, + "تاÙĨ": 112636, + "ilerinin": 112637, + "ÃĪ": 112638, + "ĠØ®ÙĪØ´": 112639, + "ĠìĬ¬": 112640, + "ĠاÙĦرئÙĬس": 112641, + "ẵn": 112642, + "Ġشار": 112643, + "eru": 112644, + "жив": 112645, + "à¸Ļาย": 112646, + "Ġsẻ": 112647, + "Ġà¤īà¤ļ": 112648, + "ãģ«ãģĭ": 112649, + "ç¡Ģ": 112650, + "Ġyürüt": 112651, + "ĠСеÑĢг": 112652, + "ĠкаÑģ": 112653, + "ĠÐijог": 112654, + "Ġìĸ´ëĸ»ê²Į": 112655, + "ĠçŁ³": 112656, + "Ġöldür": 112657, + "лÑĸв": 112658, + "ĠhoÃłng": 112659, + "Ġbá»Ļt": 112660, + "çŀ¬": 112661, + "Ġ침": 112662, + "Nếu": 112663, + "Ġnevy": 112664, + "Ġìľ¤": 112665, + "ĠsouÄįást": 112666, + "ısıyla": 112667, + "Ġtüket": 112668, + "bou": 112669, + "Ġдво": 112670, + "سط": 112671, + "å½ĵçĦ¶": 112672, + "ãĥ¨": 112673, + "ĠزادÙĩ": 112674, + "Ġéĥ¨": 112675, + "ĠرÙĪØŃ": 112676, + "Ġï¼į": 112677, + "ĠмÑĸÑģÑĨев": 112678, + "θεν": 112679, + "à¸Ĩ": 112680, + "ленÑĸ": 112681, + "çį²": 112682, + "ĠHOH": 112683, + "sın": 112684, + "ิà¸ķร": 112685, + "財": 112686, + "ĠpÅĻid": 112687, + "à¹Ģหà¸Ļ": 112688, + "lý": 112689, + "è¨Ģèijī": 112690, + "à¤ĵ": 112691, + "âĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸį": 112692, + "باب": 112693, + "ãĥ¼ãĥķ": 112694, + "моÑĢ": 112695, + "è¿ĩç¨ĭ": 112696, + "ĠãĥĽ": 112697, + "ĠKinh": 112698, + "íķľêµŃ": 112699, + "Ġìĸ´ëĸ¤": 112700, + "ĠвлиÑı": 112701, + "Ġfayd": 112702, + "ĠصÙĨع": 112703, + "Ġalır": 112704, + "ĠettiÄŁi": 112705, + "άκ": 112706, + "imizin": 112707, + "ัà¸ļà¸ľ": 112708, + "ĠземелÑĮ": 112709, + "ÙĬÙĦاد": 112710, + "涨": 112711, + "çıł": 112712, + "Ġأغ": 112713, + "Ġzku": 112714, + "âĢŀA": 112715, + "าà¸ķร": 112716, + "ayi": 112717, + "ãĥ©ãĤ¹": 112718, + "ило": 112719, + "ĠÄijá»į": 112720, + ".Îķ": 112721, + "ëľ": 112722, + "ĠμÏĢοÏģεί": 112723, + "帶": 112724, + "Ġartır": 112725, + "าà¸į": 112726, + "å¿ĺ": 112727, + "talya": 112728, + "ĠpozdÄĽji": 112729, + "ĠnepÅĻ": 112730, + "Ġæ¹": 112731, + "اÙĩÛĮ": 112732, + "Ġsatın": 112733, + "Ġë²Į": 112734, + "جÙĪ": 112735, + "ä¸Ģ缴": 112736, + "ìķĦìļĶ": 112737, + "ÂłP": 112738, + "ĠØĽ": 112739, + "Ġпал": 112740, + "表æĥħ": 112741, + "Ġcanlı": 112742, + "æĪIJ为": 112743, + "ÙĪÙĨا": 112744, + "Ġâ̝": 112745, + "à¸ģำล": 112746, + "åįĸ": 112747, + "ĠαÏĥ": 112748, + "инок": 112749, + "амп": 112750, + "ลà¸Ńà¸ĩ": 112751, + "ÙĤÙĤ": 112752, + "ĠпÑĢоÑħод": 112753, + "ãĤĦãĤĭ夫": 112754, + "Ïĩη": 112755, + "貨": 112756, + "ĠÙģÙĬÙĩ": 112757, + "ÙĬرÙĬ": 112758, + "ĠвнеÑĪ": 112759, + "Ġkarak": 112760, + "Ø«ÙĦ": 112761, + "ÙĩÙĪØ±ÛĮ": 112762, + "اÙĪØ±Ù¾": 112763, + "ĠÄijá»ı": 112764, + "jiÅ¡tÄĽnÃŃ": 112765, + "تبر": 112766, + "Ġê·¸ê²ĥ": 112767, + "Ġgül": 112768, + "ĠпокÑĥп": 112769, + "lilik": 112770, + "Ġzda": 112771, + "åīįãģ«": 112772, + "ĠÙħÙĩÙĨد": 112773, + "ĠÎijÎĿ": 112774, + "ĠÚ©ÛĮÙĦÙĪÙħتر": 112775, + "ĠpÅĻeh": 112776, + "алеж": 112777, + "Ġkayn": 112778, + "访": 112779, + "Ġì¤ijêµŃ": 112780, + "ĠÑĪиÑĢок": 112781, + "ĠÙħشارکت": 112782, + "âĢĤ": 112783, + "ĠíŤ": 112784, + "ĠìłľíĴĪ": 112785, + "ĠØ´ÛĮر": 112786, + "esinden": 112787, + "ÑĢÑĸÑĩ": 112788, + "èı²": 112789, + "ÑģкоÑĢ": 112790, + "etik": 112791, + "à¸²à¸ľ": 112792, + "ĠطبÛĮ": 112793, + "κÎŃ": 112794, + "ĠìŀĪìĸ´": 112795, + "Ġdek": 112796, + "ÑĢÑĸй": 112797, + "åĨĴ": 112798, + "nÃŃci": 112799, + "®¤": 112800, + "ĠÙħرتب": 112801, + "Ġyazı": 112802, + "üslü": 112803, + "ìľ¼ëĤĺ": 112804, + "elerine": 112805, + "ĠyoÄŁun": 112806, + "Ġбак": 112807, + "ÎĻÎŁ": 112808, + "άλÏħ": 112809, + "ç´Ļ": 112810, + "ĠÑĢÑĥками": 112811, + "Ġçözüm": 112812, + "ìłķìĿĦ": 112813, + "Ġgüçlü": 112814, + "λÏĮ": 112815, + "Ġbelli": 112816, + "ÃŃÅ¡e": 112817, + "ĠÏĮÏĢÏīÏĤ": 112818, + "ĠnaÅ¡": 112819, + "Ġpár": 112820, + "ÑĪÑĤ": 112821, + "ĠìĨ¡": 112822, + "à¥Ĥरत": 112823, + "ĠÏĢολÏį": 112824, + "ç°¡": 112825, + "èĤ¯": 112826, + "æ¹¾": 112827, + "Ġäºĭ": 112828, + "Ġबस": 112829, + "Ġ무ë£Į": 112830, + "дина": 112831, + "誰": 112832, + "леж": 112833, + "ĠúÅĻad": 112834, + "ĠоÑģвÑĸÑĤи": 112835, + "ĠвÑĸдÑĩ": 112836, + "ĠпÑĢизнаÑĩ": 112837, + "çĶ³è¯·": 112838, + "'ya": 112839, + "ä¿Ĭ": 112840, + "ĠÙĬÙĪÙĨ": 112841, + "Ġسع": 112842, + "ĠÐĶаÑĤа": 112843, + "è¨ĢãģĨ": 112844, + "ĠØŃتÛĮ": 112845, + "ĠJiÅĻÃŃ": 112846, + "ĠХаÑĢ": 112847, + "éĻĪ": 112848, + "à¹Īาà¸Īะ": 112849, + "Ġsayesinde": 112850, + "ĠÑĤÑĢеба": 112851, + "ê°Ģì§Ģ": 112852, + "Ġyemek": 112853, + "è¦ļ": 112854, + "ặn": 112855, + "ãĢĢãĢĢãĢĢãĢĢĠãĢĢ": 112856, + "Ġ举": 112857, + "ĠÙĪØ§": 112858, + "ĠÙħÙĪØ³": 112859, + "Ġкоманд": 112860, + "Ġseçim": 112861, + "ÑĩеннÑı": 112862, + "Ġtotiž": 112863, + "Ġrá»Ńa": 112864, + "ıa": 112865, + "Ø¢Ùħ": 112866, + "ÑĨÑĸон": 112867, + "::::::::::::": 112868, + "ÐĿÐIJ": 112869, + "ıza": 112870, + "hend": 112871, + "Ġफर": 112872, + "ัà¸Ķà¸ģาร": 112873, + "ĠCách": 112874, + "ĠпоÑĤÑĸм": 112875, + "Ġá¼Ģ": 112876, + "اÙĦا": 112877, + "ỡ": 112878, + "رÛĮÙħ": 112879, + "宫": 112880, + "ĠزÙħÛĮÙĨ": 112881, + "ÑĢеÑģÑĤ": 112882, + "баÑĩ": 112883, + "Ùĩرست": 112884, + "ног": 112885, + "ï¼Į大": 112886, + "ĠëĺIJíķľ": 112887, + "Ġzůst": 112888, + "ĠÐĴона": 112889, + "å¤ĩ份": 112890, + "ĠاÙģØª": 112891, + "oje": 112892, + "ÑģкÑĸлÑĮки": 112893, + "Ġnhẹ": 112894, + "ĠкеÑĢÑĸв": 112895, + "ῦ": 112896, + "æĸ¹æ¡Ī": 112897, + "заÑĨиÑı": 112898, + "ĠвÑĸдповÑĸдно": 112899, + "ãĤ¤ãĤ¹": 112900, + "гал": 112901, + "ĠобÑĭÑĩно": 112902, + "اÙĪØ±Ù¾ÙĪÛĮÙĨت": 112903, + "å®ľ": 112904, + "losti": 112905, + "è¿Ľåħ¥": 112906, + "uyordu": 112907, + "벤íĬ¸": 112908, + "æīĭãĤĴ": 112909, + "ÐŁÐ¾Ð´": 112910, + "ĠÙħØŃدÙĪØ¯": 112911, + "ĠØ¢Ùħد": 112912, + "arakter": 112913, + "çļĦ大": 112914, + "Ġsıcak": 112915, + "lant": 112916, + "Ġdấu": 112917, + "ĠÙĨÚ©": 112918, + "èĢħãģ®": 112919, + "Ġkendini": 112920, + "ĠпаÑĨи": 112921, + "Ġ기íĥĢ": 112922, + "ĠвмеÑģÑĤе": 112923, + "ваеÑĤÑģÑı": 112924, + "Ġë§ī": 112925, + "ĠchvÃŃli": 112926, + "Ø®ÛĮ": 112927, + "ÙĦع": 112928, + "nÃŃky": 112929, + "、:": 112930, + "ëIJľëĭ¤": 112931, + "ì§ķ": 112932, + "ĠквÑĸÑĤ": 112933, + "¨ìĸ´": 112934, + "liž": 112935, + "Ġë¹Ħë°Ģê¸Ģ": 112936, + "Ġkhá»iji": 112937, + "Ġë°©ìĨ¡": 112938, + "echan": 112939, + "Ġзаконодав": 112940, + "ĠакÑĤ": 112941, + "ë¬¸ìłľ": 112942, + "ĠNó": 112943, + "ĠçĤ¹": 112944, + "hledem": 112945, + "ĠÑģвоÑĹÑħ": 112946, + "ĠرÙĤÙħ": 112947, + "æĽ¼": 112948, + "िवर": 112949, + "åİļ": 112950, + "ĠÐļод": 112951, + "à¤Ńà¤Ĺ": 112952, + "ìŀIJëĬĶ": 112953, + "à¸Ļม": 112954, + "ÑĥÑģа": 112955, + "Ġgünü": 112956, + "ĠÄijÃŃch": 112957, + "Ġtrữ": 112958, + "å·»": 112959, + "éĵ¶è¡Į": 112960, + "ØŃÙĨ": 112961, + "讨": 112962, + "γÏĩ": 112963, + "ὸ": 112964, + "alarında": 112965, + "Ġkaf": 112966, + "ÙĪØ§Ø¬": 112967, + "ĠиÑģклÑİÑĩ": 112968, + "Ġnhiá»ħ": 112969, + "á»įt": 112970, + "ĠìĽ¹": 112971, + "ĠéĿ¢": 112972, + "ãģ®ãģĮ": 112973, + "Ġмало": 112974, + "ÑĸлÑĸ": 112975, + "Ġbiên": 112976, + "nému": 112977, + "пÑĢимеÑĢ": 112978, + "âĸłâĸł": 112979, + "Ġkamp": 112980, + "ĠвеÑī": 112981, + "Äįem": 112982, + "à¥ģध": 112983, + "æŁ»": 112984, + "تÙĪÙĨ": 112985, + "åıªæľī": 112986, + "ãģ¯ãģĦ": 112987, + "Ġรวม": 112988, + "ãĤŀ": 112989, + "ãģĻãĤĭãģ¨": 112990, + "å¾Īå¤ļ": 112991, + "à¹Īà¸ķ": 112992, + "ĠsvÄĽta": 112993, + "Ġê°Ģ격": 112994, + "Ú¯Ùĩ": 112995, + "andaÅŁ": 112996, + "ãĥªãĤ¹": 112997, + "Ïīμα": 112998, + "ĠØ®ÙĪØ¨": 112999, + "ç´ħ": 113000, + "ÑĩиÑģ": 113001, + "ì¢Į": 113002, + "ĠØŃضرت": 113003, + "ĠвиÑĢÑĸÑĪ": 113004, + "پر": 113005, + "Ġtýd": 113006, + "Ġkontro": 113007, + "дейÑģÑĤв": 113008, + "ãģŁãĤģãģ«": 113009, + "ìī": 113010, + "миниÑģÑĤÑĢа": 113011, + "â̝": 113012, + "åīij": 113013, + "ниÑĨÑĸ": 113014, + "å¦ĩ": 113015, + "ĠлиÑĪ": 113016, + "ãģ£ãģ¦ãĤĭ": 113017, + "наÑĢÑĥж": 113018, + "ÑīиÑħ": 113019, + "ÏĦοκ": 113020, + "ováno": 113021, + "ترÙĦ": 113022, + "ÑĢек": 113023, + "غات": 113024, + "Ġomez": 113025, + "ìĵ°": 113026, + "ĠÃľl": 113027, + "ï½Ĵ": 113028, + "lıģını": 113029, + "Ġvượt": 113030, + "ĠbÄĽÅ¾": 113031, + "ÃľR": 113032, + "Ġãĥ¾": 113033, + "ĠdoÄŁal": 113034, + "Ġhatır": 113035, + "Ġsvým": 113036, + "ì§ĢëıĦ": 113037, + "à¹Ģà¸łà¸Ĺ": 113038, + "Ġvay": 113039, + "ĠæĻĤ": 113040, + "à¥įवप": 113041, + "Ġplo": 113042, + "é¢Ħè§Ī": 113043, + "Ġçıktı": 113044, + "ĠدÙĨ": 113045, + "nánÃŃ": 113046, + "ê·Ģ": 113047, + "íĺĢ": 113048, + "à¸ŀà¸ļ": 113049, + "muÅŁtur": 113050, + "å®ĺæĸ¹": 113051, + "ĠíĶĦë¡ľê·¸ëŀ¨": 113052, + "éĢŁåº¦": 113053, + "lerdir": 113054, + "ÑĩеÑģкого": 113055, + "Ġİnsan": 113056, + "âĶĥ": 113057, + "Ġà¤ĩतन": 113058, + "Ð¡Ð¡Ðł": 113059, + "ĠاÙħر": 113060, + "Ġkötü": 113061, + "Ù쨴": 113062, + "Ġboj": 113063, + "ĠÑĨÑĸÑĶÑĹ": 113064, + "Ġsöylem": 113065, + "ниÑĨÑĭ": 113066, + "ãĢĤ她": 113067, + "âĢĿ.Ċ": 113068, + "Ġmilion": 113069, + "Ġsonunda": 113070, + "зÑĥ": 113071, + "à¥įमà¤ķ": 113072, + "人åı£": 113073, + "nÄĽÅ¾": 113074, + "ĠÑģмоÑĤ": 113075, + "ĠкомплекÑģ": 113076, + "ĠзавиÑģим": 113077, + "ĠимеÑİÑĤ": 113078, + "Ġlạc": 113079, + "Ġhangi": 113080, + "ëĶ©": 113081, + "åĬ³": 113082, + "ĠvÄĽci": 113083, + "еÑĢов": 113084, + "κÏģι": 113085, + "Ġdurumu": 113086, + "ĠبÙĪØ§Ø³Ø·Ø©": 113087, + "ĠأبÙĬ": 113088, + "ĠAÄŁustos": 113089, + "εÏĩ": 113090, + "ĠдиÑĤи": 113091, + "ÑĦика": 113092, + "ĠNÄĥm": 113093, + "Ġ기ìĪł": 113094, + "ĠhlavnÃŃ": 113095, + "ä¿ĥ": 113096, + "Ġलà¤Ĺत": 113097, + "ĠObr": 113098, + ".ย": 113099, + "ковод": 113100, + "opis": 113101, + "Ġãĥī": 113102, + "ĠبشÙĥÙĦ": 113103, + "нием": 113104, + "ĠtémÄĽÅĻ": 113105, + "ĠاÙĦØŃر": 113106, + "ĠÙĦازÙħ": 113107, + "Ġmái": 113108, + "iliÄŁi": 113109, + "ë³¼": 113110, + "Ġyık": 113111, + "ç½²": 113112, + "ÑĢава": 113113, + "Ñīин": 113114, + "ãģ«å¯¾": 113115, + "ç²¾ç¥ŀ": 113116, + "à¹īส": 113117, + "Ġtemsil": 113118, + "ÃĨ": 113119, + "ìķĶ": 113120, + "ĠпÑĢавилÑĮно": 113121, + "ÑĢоÑİ": 113122, + "Û±Û³Û¸": 113123, + "è©ŀ": 113124, + "اءة": 113125, + "ÙĪØ§Ø±Ùĩ": 113126, + "ï¼ħ": 113127, + "ĠÐľÐ¸Ðº": 113128, + "æģ¶": 113129, + "æıĴ": 113130, + "ापन": 113131, + "ĠÚ©ÛĮÙģÛĮت": 113132, + "ĠTÃłi": 113133, + "Ġtiá»ĥu": 113134, + "ovalo": 113135, + "çĿ¡": 113136, + "Ñĩил": 113137, + "ĠлиÑĤ": 113138, + "λεÏħÏĦα": 113139, + "Ġокон": 113140, + "::|": 113141, + "вала": 113142, + "ĠÙħرکزÛĮ": 113143, + "ĠalÄ±ÅŁ": 113144, + "Ġдолжно": 113145, + "æĻĤ代": 113146, + "Ġsert": 113147, + "еÑĤом": 113148, + "ัà¸Ļย": 113149, + "åģ·": 113150, + "ĠvÃŃc": 113151, + "ĠÑħоÑĤÑı": 113152, + "alarını": 113153, + "lenmesi": 113154, + "ãĥ³ãĥIJ": 113155, + "Ġëªĩ": 113156, + "ĠỦy": 113157, + "ĠاÙĦکتر": 113158, + "vyššÃŃ": 113159, + "責": 113160, + "주ìĭľ": 113161, + "áÅĻe": 113162, + "Ġyere": 113163, + "ãĤ¢ãĥ³": 113164, + "ĠاÙĦسعÙĪØ¯": 113165, + "Ġآش": 113166, + "Ġchóng": 113167, + "Ġè»": 113168, + "гаÑĶ": 113169, + "ĠãģĤ": 113170, + "稳": 113171, + "δεÏĤ": 113172, + "缮çļĦ": 113173, + "Ġcevap": 113174, + "ÑģÑĤе": 113175, + "é¡¿": 113176, + "मन": 113177, + "顾": 113178, + "ĠкÑĢедиÑĤ": 113179, + "ĠÙħستÙĤ": 113180, + "ĠмиÑĤ": 113181, + "Ġtá»ĵn": 113182, + "ĠجÙĦ": 113183, + "Ä©a": 113184, + "ĠاÙĦعÙĦÙħ": 113185, + "áků": 113186, + "ĠíķĻêµIJ": 113187, + "à¸Ĺà¸Ńà¸ĩ": 113188, + "หà¸Ļà¸Ķ": 113189, + "ĠлÑĸÑĤеÑĢаÑĤÑĥ": 113190, + "ëIJł": 113191, + "άÏģÏĩ": 113192, + "ĠÙĤدرت": 113193, + "à¸Ļาà¸ĩ": 113194, + "Ġarac": 113195, + "ĠjÃŃd": 113196, + "Ġtürlü": 113197, + "íͽ": 113198, + "ersiz": 113199, + "еним": 113200, + "Ġyüzyıl": 113201, + "ĠãģĦ": 113202, + "ĠÎļÏħ": 113203, + "Ġæļ": 113204, + "Ġpůj": 113205, + "Ġtá»Ļi": 113206, + "Ġthiên": 113207, + "İS": 113208, + "Ġthúc": 113209, + "æĹģ": 113210, + "ìŀIJìĿ¸": 113211, + "Ġölüm": 113212, + "رÛĮÙģ": 113213, + "ÑĢеж": 113214, + "صاÙĦ": 113215, + "رÙ쨩": 113216, + "iếp": 113217, + "ÑıÑĤиÑı": 113218, + "Ġpoužit": 113219, + "átu": 113220, + "为ä»Ģä¹Ī": 113221, + "ìģ": 113222, + "Ġkrát": 113223, + "ĠپرÙĪÚĺÙĩ": 113224, + "ĠrozhodnutÃŃ": 113225, + "ĠÑĥнивеÑĢ": 113226, + "Ñĸйно": 113227, + "Ġåij¨": 113228, + "Ġkiá»ĥu": 113229, + "缮åīį": 113230, + "ä¿Ħ": 113231, + "ÏĦοι": 113232, + "ÑĦеÑĢен": 113233, + "uÅŁtur": 113234, + "ĠnÃŃm": 113235, + "âĢĮØ®": 113236, + "Ġá»§y": 113237, + "ĠÑģÑĤаÑĤи": 113238, + "ÑĩеÑģкий": 113239, + "Ġjestli": 113240, + "ĠÙ¾ÙĨ": 113241, + "Ġobce": 113242, + "ĠجÙĩاÙĨÛĮ": 113243, + "едагог": 113244, + "ãģ§ãģ®": 113245, + "Ġbuá»Ļc": 113246, + "ì¹´ì§Ģëħ¸": 113247, + "à¹ĩà¸Ħ": 113248, + "ĠÄįtvrt": 113249, + "Ġника": 113250, + "Ġвплив": 113251, + "ĠдиÑĢ": 113252, + "ĠÑģобÑģÑĤвен": 113253, + "Ġë§İìĿ´": 113254, + "æ¾³": 113255, + "ÑĢÑĥб": 113256, + "æ£ĭ": 113257, + "å£°éŁ³": 113258, + "ä¹ĥ": 113259, + "تÛĮجÙĩ": 113260, + "å¹¼": 113261, + "onya": 113262, + "ĠPlantae": 113263, + "ЧÑĤо": 113264, + "æIJŃ": 113265, + "ä½ľç͍": 113266, + "ìħ¨": 113267, + "ĠкÑĢÑĥг": 113268, + "ĠÙĪÙģÙĬ": 113269, + "Ġï¼ŀ": 113270, + "ÑĪки": 113271, + "ÂłÐľ": 113272, + "اشÛĮ": 113273, + "ĠÅŀubat": 113274, + "Ġعشر": 113275, + "lif": 113276, + "ĠpoužitÃŃ": 113277, + "íĨ¡": 113278, + "Ġблок": 113279, + "è̶": 113280, + "ูร": 113281, + "Ġvüc": 113282, + "Ø´ÙĪØ¯": 113283, + "има": 113284, + "ниÑĨип": 113285, + "ìĿ´ëĵľ": 113286, + "ĠâĢIJ": 113287, + "ĠназнаÑĩ": 113288, + "Ġstrany": 113289, + "殿": 113290, + "ĠاÙĦرÙĪ": 113291, + "纸": 113292, + "åĪij": 113293, + "ï¼Įä»İ": 113294, + "Ġë©´": 113295, + "ĠпÑĢоведеннÑı": 113296, + "Ġhava": 113297, + "ĠìĹĨìĹĪëĭ¤": 113298, + "å¢ŀåĬł": 113299, + "Ú¾": 113300, + "缺": 113301, + "Ġعبار": 113302, + "Ġtắc": 113303, + "ĠinÅŁa": 113304, + "erse": 113305, + "رÙĬب": 113306, + "Ġá»ķn": 113307, + "أة": 113308, + "ĠÏĢολι": 113309, + "Ġmắc": 113310, + "Ñģол": 113311, + "æ´ŀ": 113312, + "-го": 113313, + "ç¨ĭ度": 113314, + "ĠвикоÑĢиÑģÑĤаннÑı": 113315, + "âĢŀظ": 113316, + "elerinde": 113317, + "ĠNhưng": 113318, + "stÅĻed": 113319, + "Ġhastalık": 113320, + "à¹īà¹Ģà¸Ľ": 113321, + "Ġdefa": 113322, + "ĠزÙĬ": 113323, + "اطÙĤ": 113324, + "ĠпÑĢой": 113325, + "ĠокÑĢÑĥг": 113326, + "νια": 113327, + "ladu": 113328, + "koli": 113329, + "ĠoÄŁ": 113330, + "ĠвиÑģок": 113331, + "Ðĩ": 113332, + "çĽĸ": 113333, + "ãĤıãģij": 113334, + "ãĥ¼ãĥģ": 113335, + "æ¡¥": 113336, + "ĠÅ¡koly": 113337, + "itom": 113338, + "ĠتØŃص": 113339, + "alara": 113340, + "Ġкал": 113341, + "ĠпÑĢиÑħод": 113342, + "Ġé¦ĸ页": 113343, + "Âį": 113344, + "ĠÛĮعÙĨÛĮ": 113345, + "Ġtùy": 113346, + "Ģë¡ľ": 113347, + "ëł¤ê³ł": 113348, + "áze": 113349, + "Ġек": 113350, + "èħ¹": 113351, + "ĠFakat": 113352, + "по": 113353, + "ĠÄijá»įc": 113354, + "åĪĺ": 113355, + "ázal": 113356, + "ÑĤон": 113357, + "Ú¯ÙĪ": 113358, + "ä¸Ī": 113359, + "ìĹ¼": 113360, + "ĠÙĦÙĦØ£": 113361, + "ĠEÄŁer": 113362, + "åħ±åĴĮåĽ½": 113363, + "ذر": 113364, + "ĠdaÄŁ": 113365, + "è¡Įä¸ļ": 113366, + "ê±°ëŀĺê°Ģ": 113367, + "è´Łè´£": 113368, + "Công": 113369, + "ĠÑĦилÑĮ": 113370, + "ĠаÑģ": 113371, + "Ġchẳng": 113372, + "нимаÑĤÑĮ": 113373, + "Ġifad": 113374, + "Ġìħ": 113375, + "çε": 113376, + "ĠÅĻeÅ¡enÃŃ": 113377, + "åĽ½äº§": 113378, + "Ġкакой": 113379, + "Ġमध": 113380, + "ĠYar": 113381, + "obraz": 113382, + "Ġonemoc": 113383, + "ĠâĤ": 113384, + "åİŁåĽł": 113385, + "ĠÙĥرد": 113386, + "Ġآزاد": 113387, + "Ġadlı": 113388, + "ĠHizmet": 113389, + "ãĥ¼ãĥij": 113390, + "ÙĨسÙĬØ©": 113391, + "ĠвнÑĥÑĤ": 113392, + "Ġdále": 113393, + "ÎķÎ¥": 113394, + "ĠÑĥÑħ": 113395, + "ĠÑĢев": 113396, + "ĠмеÑĪ": 113397, + "ĠkoÅŁul": 113398, + "ĠاÛĮراÙĨÛĮ": 113399, + "éĺµ": 113400, + "ĠëıĻìķĪ": 113401, + "à¹Ģà¸Ł": 113402, + "ëłĪ벨": 113403, + "è¨Ńè¨Ī": 113404, + "prak": 113405, + "poÄį": 113406, + "اعدة": 113407, + "Ġasker": 113408, + "ĠÙĪÛĮÚĺÙĩ": 113409, + "ĠТеÑĢ": 113410, + "makta": 113411, + "ĠÄįtyÅĻ": 113412, + "ÂłÐ¡": 113413, + "âĢĮÚ©ÙĨÙĨد": 113414, + "ï¼Į並": 113415, + "ĠÑĢоÑģÑĸй": 113416, + "Ġunut": 113417, + "è¿Ļä¸Ģ": 113418, + "opak": 113419, + "èĢIJ": 113420, + "ĠзамеÑĤ": 113421, + "à¹Įล": 113422, + "بÙĨ": 113423, + "Ġ몰": 113424, + "Ġinsanlar": 113425, + "åı¯æĺ¯": 113426, + "梦": 113427, + "код": 113428, + "èĽĽ": 113429, + "kladnÃŃ": 113430, + "ÑĢовод": 113431, + "ĠмÑĸÑģÑĤа": 113432, + "åĩºäºĨ": 113433, + "ĠпаÑģ": 113434, + "обов": 113435, + "گاÙĩÛĮ": 113436, + "вин": 113437, + "à¥įरध": 113438, + "Ġкомпон": 113439, + "ĠаÑĤ": 113440, + "Ġadet": 113441, + "Ġãĥģ": 113442, + "Ġذات": 113443, + "ĠØŃÙĪ": 113444, + "Ġtrochu": 113445, + "à¹ģหà¸Ļ": 113446, + "Ġзавжди": 113447, + "ĠPartisi": 113448, + "ĠSavaÅŁ": 113449, + "ĠsÃŃd": 113450, + "ĠÑģон": 113451, + "رÙĬÙģ": 113452, + "Ġzcela": 113453, + "åĺ´": 113454, + "ĠÑĦÑĥÑĤ": 113455, + "ilerek": 113456, + "malıdır": 113457, + "Ġdá»±a": 113458, + "à¸Ĺำà¸ĩาà¸Ļ": 113459, + "ĠÙĪÙĦÙĥÙĨ": 113460, + "ãģªãĤĵãģł": 113461, + "ĠÚ©ÙħÛĮ": 113462, + "ĠlékaÅĻ": 113463, + "ÏģÏį": 113464, + "جÙħع": 113465, + "ınızı": 113466, + "ĠAnadolu": 113467, + "ãģ«ãĤĪãģ£ãģ¦": 113468, + "Ġê·¸ëŁ¬ëĤĺ": 113469, + "ĠíĮĶ": 113470, + "ÑĸÑĤÑĮ": 113471, + "Ġ¦": 113472, + "ä¸įè¦ģ": 113473, + "à¸ĸม": 113474, + "ĠÙĬد": 113475, + "ĠpÅĻep": 113476, + "Ġè¦ģ": 113477, + "ĠпÑĢоекÑĤ": 113478, + "ĠÑĢеги": 113479, + "Ġdạy": 113480, + "кового": 113481, + "Ġıs": 113482, + "ĠKı": 113483, + "ĠÙģÙĬÙĩا": 113484, + "ÛĮات": 113485, + "ĠÑģÑĤала": 113486, + "æĬľ": 113487, + "ÑĥÑĢа": 113488, + "ĠپاÛĮاÙĨ": 113489, + "Ġitibaren": 113490, + "анÑĸÑĹ": 113491, + "ĠоÑĦоÑĢм": 113492, + "леÑĩ": 113493, + "εξ": 113494, + "æĶ¿çŃĸ": 113495, + "Ġç½ij": 113496, + "åĤ¬": 113497, + "ĠìĿ´ëٰ": 113498, + "ĠkardeÅŁ": 113499, + "ÑİÑīего": 113500, + "лки": 113501, + "ĠاÛĮاÙĦات": 113502, + "تÙĩا": 113503, + "ĠподÑħод": 113504, + "ĠØŃÙĪÙĦ": 113505, + "ĠÑģовÑĢем": 113506, + "íĿ¥": 113507, + "Ġ詳細": 113508, + "ıyı": 113509, + "ĠتÙĤÙĪ": 113510, + "æ¯Ķè¾ĥ": 113511, + "ĠανÏĦι": 113512, + "ĠΣΤ": 113513, + "jišť": 113514, + "ynı": 113515, + "Ġpocházet": 113516, + "-Ðļ": 113517, + "Ġзавд": 113518, + "ÙİØ³": 113519, + "ç»ĵæŀĦ": 113520, + "Ùħار": 113521, + "νοι": 113522, + "ĠγεÏģι": 113523, + "èĩ£": 113524, + "ĠnacházÃŃ": 113525, + "ÏĦÏİ": 113526, + "à¥įयत": 113527, + "uyu": 113528, + "æķĹ": 113529, + "ebi": 113530, + "Ġë°Ķë¡ľ": 113531, + "ĠгÑĢн": 113532, + "ĠاÙĦاس": 113533, + "Ġorgán": 113534, + "Ġedin": 113535, + "åŁĥ": 113536, + "à¹ģà¸Ħ": 113537, + "ĠØŃدÙĪØ¯": 113538, + "ĠдÑĢÑĥгой": 113539, + "оÑģков": 113540, + "ĠSợ": 113541, + "ĠpÅĻib": 113542, + "ä¿ĿæĬ¤": 113543, + "Ùħبر": 113544, + "ĠãĥĨ": 113545, + "Ġdoz": 113546, + "optera": 113547, + "à¸´à¸¥à¸Ľ": 113548, + "دارÛĮ": 113549, + "æĦŁè§ī": 113550, + "代çIJĨ": 113551, + "ÙĨدا": 113552, + "اÙĬا": 113553, + "صÙĨ": 113554, + "Ġcelé": 113555, + "Ġè©ķ": 113556, + "à¸ĩà¸Ļ": 113557, + "Ġleh": 113558, + "èİ·å¾Ĺ": 113559, + "ãĢĢï¾ī": 113560, + "ĠìĦłìĪĺ": 113561, + "르ëĬĶ": 113562, + "à¤Ĩर": 113563, + "å§Ķåijĺ": 113564, + "æĹłçłģ": 113565, + "Ġè·": 113566, + "ĠzajÃŃm": 113567, + "ecké": 113568, + "æµľ": 113569, + "ĠÑĥнÑĸвеÑĢÑģиÑĤ": 113570, + "ĠбÑİджеÑĤ": 113571, + "à¥ĩ.": 113572, + "Ġvstup": 113573, + "ĠоÑī": 113574, + "Ġåľĭ": 113575, + "ä¸ģ缮": 113576, + "ĠведÑĮ": 113577, + "Ġë§IJìĿĦ": 113578, + "Ġteknik": 113579, + "ãĢĢï½Į": 113580, + "ĠпÑĸдвиÑī": 113581, + "ĠÑģвÑıзи": 113582, + "ĠترجÙħ": 113583, + "Âī": 113584, + "ĠÄijâu": 113585, + "ÑĸÑĩного": 113586, + "å°ijå¹´": 113587, + "ecta": 113588, + "िलत": 113589, + "ιοÏĤ": 113590, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 113591, + "teg": 113592, + "á»īnh": 113593, + "¯¿": 113594, + "Ġnebu": 113595, + "ÙĬÙĬÙĨ": 113596, + "оÑıÑĤ": 113597, + "é¤Ĭ": 113598, + "ĠاÙĤتصادÛĮ": 113599, + "âĢĻnun": 113600, + "ĠÐĴÑĸк": 113601, + "ĠngÄĥn": 113602, + "ëĮĢíķĻêµIJ": 113603, + "éı": 113604, + "़र": 113605, + "اباÙĨ": 113606, + "ÙİÙĥ": 113607, + "Ġetkil": 113608, + "Ġchắn": 113609, + "Ġë°ľìĥĿ": 113610, + "Ġtamamen": 113611, + "ĠÙħØŃÛĮØ·": 113612, + "ülü": 113613, + "åģ¥åº·": 113614, + "ĠÑĢаÑģÑĤениÑı": 113615, + "ÏĢοί": 113616, + "Ġè¶ħ": 113617, + "áÄį": 113618, + "ĠìϏë¶Ģ": 113619, + "ĠØ®ÛĮÙĦÛĮ": 113620, + "ĠدÙĪØ³Øª": 113621, + "à¹Ģà¸Ĥà¸ķ": 113622, + "Ġkalan": 113623, + "먼": 113624, + "avÄĽ": 113625, + "문íĻĶ": 113626, + "Ġдиаг": 113627, + "ĠÙĨÙĪÙĬس": 113628, + "íķij": 113629, + "à¸ŀาะ": 113630, + "ëĭ¤ê°Ģ": 113631, + "Ġniá»ĩm": 113632, + "ĠسÙĪÙħ": 113633, + "-м": 113634, + "à¸Ķำà¹Ģà¸Ļ": 113635, + "à¹ĩว": 113636, + "ãĢĤãģĵãģ®": 113637, + "ç¯ī": 113638, + "WidthSpace": 113639, + "ZeroWidthSpace": 113640, + "ائÙħØ©": 113641, + "à¹Ħà¸ĭà¸ķ": 113642, + "ä¸ĭ载次æķ°": 113643, + "ä¼¼ä¹İ": 113644, + "ĠÑĤв": 113645, + "Ġzákaz": 113646, + "Ġجدا": 113647, + "Ġgider": 113648, + "ãĥ¼ãĥĵ": 113649, + "nů": 113650, + "Ġë§ģíģ¬": 113651, + "ĠdÃ¼ÅŁÃ¼k": 113652, + "Ñĥнок": 113653, + "Ġtóc": 113654, + "ĠÑĤÑĢÑĥб": 113655, + "окÑģ": 113656, + "Ġtrải": 113657, + "Ġmiá»ħn": 113658, + "ĠthÆ°á»Ľc": 113659, + "ĠnháºŃt": 113660, + "ÂłD": 113661, + "masının": 113662, + "輪": 113663, + "ĠÎĿο": 113664, + "erç": 113665, + "Ġdokonce": 113666, + "ĠGüven": 113667, + "ovaná": 113668, + "езд": 113669, + "ÑĸнÑĮ": 113670, + "èģ²": 113671, + "اÙĦØ£": 113672, + "ï¼Įä½Ĩæĺ¯": 113673, + "ĠполноÑģÑĤÑĮÑİ": 113674, + "Portály": 113675, + "ĠØŃاÙ쨏": 113676, + "à¥Ĥà¤ķ": 113677, + "ÑĢÑĥн": 113678, + "人çī©": 113679, + "Ġaçı": 113680, + "Ġporu": 113681, + "eriod": 113682, + "ĠAmerika": 113683, + "çĩŁ": 113684, + "ĠرÙĪØ¯": 113685, + "ĠкÑĢови": 113686, + "ÙĪÙĤت": 113687, + "éĺ¶": 113688, + "ãĥ»âĶģãĥ»âĶģ": 113689, + "رÙĬÙħ": 113690, + "åİĨåı²": 113691, + "丸": 113692, + "ĠзновÑĥ": 113693, + "ĠÑģвоего": 113694, + "бÑĥдÑĮ": 113695, + "ĠØŃجÙħ": 113696, + "ĠδÏįο": 113697, + "ìķĪëĤ´": 113698, + "Ġãģ§": 113699, + "à¹Īะ": 113700, + "ÙijÙı": 113701, + "çµIJæŀľ": 113702, + "âĢĻi": 113703, + "à¹Į,": 113704, + "åŃĺäºİ": 113705, + "Ġरà¤ĸन": 113706, + "ĠسرÙħاÛĮÙĩ": 113707, + "ĠглÑĥб": 113708, + "ĠÑĢазÑĸ": 113709, + "ÑĩнÑĸ": 113710, + "ï¼ĮåıĪ": 113711, + "cısı": 113712, + "æľīåħ³": 113713, + "ãĤ»ãĥ³": 113714, + "èIJ¨": 113715, + "ĠGiáo": 113716, + "ĠاÙĦثاÙĨÙĬ": 113717, + "ĠÑĢазом": 113718, + "ĠÑĤÑĢо": 113719, + "Ġaçıklam": 113720, + "åĨ³å®ļ": 113721, + "à¸Ńà¸Ľ": 113722, + "å͝": 113723, + "ĠÅŁark": 113724, + "Ġsistemi": 113725, + "Ġtoprak": 113726, + "èĢĥãģĪ": 113727, + "ĠпопÑĥлÑıÑĢ": 113728, + "ĠëĨį": 113729, + "اÙĬÙĨ": 113730, + "सम": 113731, + "ĠÂĢ": 113732, + "Ġederek": 113733, + "Ġgec": 113734, + "ìĤ¬ìĹħ": 113735, + "ĠÑĢоки": 113736, + "ĠбеÑĢем": 113737, + "ĠخاÙĨÙĪØ§Ø¯Ùĩ": 113738, + "Ġèµ·": 113739, + "ĠЧÑĤо": 113740, + "ĠobÄĽ": 113741, + "инÑĸ": 113742, + "ìĿ´ìĹĪ": 113743, + "ĠIndi": 113744, + "ĠдиÑĤ": 113745, + "ãĥ¶æľĪ": 113746, + "Ġнемного": 113747, + "ĠzákladÄĽ": 113748, + "à¹Ĥà¸Ħ": 113749, + "ĠÑģамого": 113750, + "ĠبØŃØ«": 113751, + "Ġæ¶": 113752, + "овж": 113753, + "ĠобÑĢаÑī": 113754, + "ÃĴ": 113755, + "วรร": 113756, + "à¤Ĥश": 113757, + "ĠоÑĩеÑĢед": 113758, + "ĠÙģØ±Ø²": 113759, + "ëĮĢíķľ": 113760, + "Ġsizin": 113761, + "رÙģØª": 113762, + "ÑİÑīим": 113763, + "æ»ij": 113764, + "avir": 113765, + "ĠÙĪØµÙĦ": 113766, + "Ġquay": 113767, + "Ġгип": 113768, + "ÑĢениÑı": 113769, + "à¥įवत": 113770, + "ινÏīν": 113771, + "à¤ľà¤¹": 113772, + "ĠhÆ¡i": 113773, + "Ġpovaž": 113774, + "Ġعرب": 113775, + "менÑĤа": 113776, + "ĠоÑģÑĤан": 113777, + "ä¹ĭéĹ´": 113778, + "acÃŃch": 113779, + "ĠÑģказала": 113780, + "ìĿ´ëĿ¼ëĬĶ": 113781, + "Ġشاخ": 113782, + "Ġëĭ¹ìĭł": 113783, + "arlar": 113784, + "Ġмлн": 113785, + "åĨ¬": 113786, + ".:.:.:": 113787, + "Ġθε": 113788, + "Ġherkes": 113789, + "лÑıд": 113790, + "اÙħا": 113791, + "ĠëŃIJ": 113792, + "ÏĥιμοÏĢοι": 113793, + "Ġobraz": 113794, + "غاÙĦ": 113795, + "BÆ°á»Ľc": 113796, + "å°Ĭ": 113797, + "ìŀIJ를": 113798, + "æĢĴ": 113799, + "οÏħÏģγ": 113800, + "å¼ķãģį": 113801, + "Ġkonuda": 113802, + "ĠاÙĦتج": 113803, + "Ġkrit": 113804, + "å¿į": 113805, + "ĠìłĦìĦ¸ê°Ģ": 113806, + "говоÑĢ": 113807, + "Ġistiyor": 113808, + "оки": 113809, + "ĠобеÑģпеÑĩ": 113810, + "Ġayrıca": 113811, + "à¹Ģà¸ľ": 113812, + "аÑĢод": 113813, + "İÅŀ": 113814, + "ĠجÙħÙĩÙĪØ±ÛĮ": 113815, + "ĠÑģвоиÑħ": 113816, + "Ġprovád": 113817, + "ĠÑĢам": 113818, + "ĠÙĤض": 113819, + "лиÑĤелÑĮ": 113820, + "ãĤ±ãĥĥãĥĪ": 113821, + "оÑģоÑĦ": 113822, + "Ġरहन": 113823, + "kový": 113824, + "ì°¸": 113825, + "γκα": 113826, + "λοι": 113827, + "μÏĢο": 113828, + "ĠÄijau": 113829, + "ниÑİ": 113830, + "Ġmanžel": 113831, + "Ġíĺ¼": 113832, + "ĠÑĤиÑģ": 113833, + "ãĥĨãĥ«": 113834, + "abilecek": 113835, + "нин": 113836, + "à¸ģรรมà¸ģาร": 113837, + "éłIJ": 113838, + "Ġphê": 113839, + "jedn": 113840, + "交æµģ": 113841, + "Ġвнимание": 113842, + "обÑĢеÑĤ": 113843, + "ĠжизнÑĮ": 113844, + "ÑĢиÑģÑĤи": 113845, + "à¥Īà¤ļ": 113846, + "Ġyüzden": 113847, + "Ġgiy": 113848, + "éļĶ": 113849, + "仲": 113850, + "ĠèĻ": 113851, + "ĠParti": 113852, + "Ġéĸ¢": 113853, + "ัà¸ļส": 113854, + "ĠnejlepÅ¡ÃŃ": 113855, + "ÙİÙī": 113856, + "ĠìĿ´ìłľ": 113857, + "Ġcắt": 113858, + "ÑĢозÑĥм": 113859, + "Ġnejsou": 113860, + "lÃŃd": 113861, + "θο": 113862, + "à¹ĩà¸ĩ": 113863, + "ĠÑģпÑĢоÑģ": 113864, + "mamÄ±ÅŁ": 113865, + "Ġ쪽": 113866, + "اÙģÙĤ": 113867, + "ÑĨÑĸйниÑħ": 113868, + "Ġé¦Ļ": 113869, + "ĠÙħÛĮÙĦÛĮÙĪÙĨ": 113870, + "夢": 113871, + "ĠÙģÙĩرست": 113872, + "rý": 113873, + "ĠповÑĸдом": 113874, + "eceÄŁi": 113875, + "ĠзабезпеÑĩеннÑı": 113876, + "ÂĶ": 113877, + "ãģĹãģªãģĦ": 113878, + "åŁºç¡Ģ": 113879, + "ĠÚĨÙĨÛĮÙĨ": 113880, + "ĠÑĢозÑĢоб": 113881, + "ä¸ĢäºĽ": 113882, + "ãĥ³ãģ®": 113883, + "ĠпÑĢаÑĨÑĸв": 113884, + "å¾Ĺåΰ": 113885, + "Ġtấn": 113886, + "åŃĺæ¡£å¤ĩ份": 113887, + "ĠíĻĪ": 113888, + "Ġà¸Ķาว": 113889, + "ìĭ±": 113890, + "лина": 113891, + "ĠвоÑģпал": 113892, + "ÄŁinden": 113893, + "аÑĤелей": 113894, + "rž": 113895, + "ĠÑĦÑĥн": 113896, + "ĠÐIJл": 113897, + "ĠпоÑĩÑĤи": 113898, + "овÑĸд": 113899, + "اعب": 113900, + "าะห": 113901, + "ĠвозÑĢаÑģÑĤ": 113902, + "ิà¸ĩห": 113903, + "ĠÙģÙĦس": 113904, + "ĠÅ¡est": 113905, + "à¸Ĭาว": 113906, + "Ġ골": 113907, + "ĠoÄį": 113908, + "ãĤ¸ãĥ§": 113909, + "коÑģÑĤи": 113910, + "éĽĨåĽ¢": 113911, + "æ±ĩ": 113912, + "ĠpÅĻÃŃliÅ¡": 113913, + "ĠìĿij": 113914, + "диви": 113915, + "ĠдокÑĥменÑĤа": 113916, + "ĠChâu": 113917, + "Ġmáu": 113918, + "Ġkhô": 113919, + "Ãķ": 113920, + "Ñīий": 113921, + "Ġsẵn": 113922, + "ĠконÑĦ": 113923, + "ĠзÑĥÑģÑĤ": 113924, + "åĽŀçŃĶ": 113925, + "ĠкоÑĢиÑģÑĤ": 113926, + "ĠÏĢεÏģί": 113927, + "丰": 113928, + "Ġmạch": 113929, + "анк": 113930, + "ä¸ĭæĿ¥": 113931, + "èµĦæĸĻ": 113932, + "ยà¸Ńà¸Ķ": 113933, + "ĠÏĢιο": 113934, + "à¹īà¸ĩาà¸Ļ": 113935, + "ĠumÃŃst": 113936, + "æ½®": 113937, + "çªģçĦ¶": 113938, + "Ġkultur": 113939, + "ĠاÙĦصÙģ": 113940, + "alarının": 113941, + "ĠÎĶημο": 113942, + "ĠвиконаннÑı": 113943, + "ソ": 113944, + "ĠбезопаÑģ": 113945, + "ĠÑģаÑħ": 113946, + "Ġnoh": 113947, + "à¹ĥà¸ļ": 113948, + "éĥ½å¸Ĥ": 113949, + "ÅŁam": 113950, + "бÑĥÑĤ": 113951, + "Ġ모ìĬµ": 113952, + "Ġваг": 113953, + "çIJĨè§£": 113954, + "Ġekonomik": 113955, + "Ġkhắc": 113956, + "Ġsvat": 113957, + "лиÑĪком": 113958, + "ัà¸ĩà¸Īาà¸ģ": 113959, + "izyon": 113960, + "èĥ½å¤Ł": 113961, + "ίνει": 113962, + "ÂĬ": 113963, + "ì¦Į": 113964, + "ĠÙĩاÛĮÛĮ": 113965, + "ĠkiÅŁiler": 113966, + "ĠклеÑĤ": 113967, + "íĺģ": 113968, + "à¥ĥद": 113969, + "iÅ¡": 113970, + "ëĶĶìĺ¤": 113971, + "ÙĬراÙĨ": 113972, + "ĠÐĿÑĥ": 113973, + "à¸Ńà¸Ļà¸Ĺ": 113974, + "ĠÑģоÑĩ": 113975, + "Ġisteyen": 113976, + "ĠSez": 113977, + "ĠãĤ»": 113978, + "ĠAç": 113979, + "âĢĮÙĨ": 113980, + "ĠÑĤоп": 113981, + "ĠÑĤеÑĢÑĢиÑĤоÑĢ": 113982, + "acılık": 113983, + "ĠоднÑĥ": 113984, + "Ġveri": 113985, + "Ġکد": 113986, + "ĠÚ¯ÙģØªÙĩ": 113987, + "Ġcinsel": 113988, + "ологии": 113989, + "ĠpÅĻedmÄĽt": 113990, + "à¤Ĥà¤ĺ": 113991, + "Ġ空": 113992, + "γα": 113993, + "'ye": 113994, + "ترة": 113995, + "ĠdÅĻÃŃ": 113996, + "ĠHÃłn": 113997, + "ĠرشتÙĩ": 113998, + "Ġvidea": 113999, + "Ġног": 114000, + "æ·»": 114001, + "è¿ĺæľī": 114002, + "ÙĨدر": 114003, + "Ġyerde": 114004, + "Ġkent": 114005, + "à¸ļาล": 114006, + "ĠдеÑģÑı": 114007, + "ä¸ļåĬ¡": 114008, + "ĠобÑĬек": 114009, + "ĠвнÑĥÑĤÑĢÑĸÑĪ": 114010, + "kola": 114011, + "ebnÃŃ": 114012, + "ีล": 114013, + "Ġ,.": 114014, + "ĠмÑĸжнаÑĢод": 114015, + "ãģªãĤĵãģ¦": 114016, + "ĠSöz": 114017, + "Ġchod": 114018, + "Ġtrúc": 114019, + "ìļĶìĿ¼": 114020, + "ĠpháºŃn": 114021, + "Ñģка": 114022, + "ĠÑħлоп": 114023, + "Ñģким": 114024, + "Ġkapit": 114025, + "ëĵ¤ìĹIJê²Į": 114026, + "ĠbÃło": 114027, + "lıģın": 114028, + "Ä°ÅŁ": 114029, + "ÄįnÃŃk": 114030, + "ĠNgoÃłi": 114031, + "ĠبÛĮاÙĨ": 114032, + "ĠproÄį": 114033, + "ĠпÑĢоÑĤÑıгом": 114034, + "åĢī": 114035, + "еÑİ": 114036, + "Ġνο": 114037, + "ëĿ¼ëıĦ": 114038, + "ì·¨": 114039, + "ĠвиÑıв": 114040, + "Ġпонад": 114041, + "ĠжовÑĤ": 114042, + "Ġæ¯Ķ": 114043, + "Ġdoby": 114044, + "лам": 114045, + "Ñijл": 114046, + "ĠÑĢаÑħ": 114047, + "Ġвозника": 114048, + "ниÑĨÑĤво": 114049, + "層": 114050, + "ĠоÑĤлиÑĩ": 114051, + "çĤİ": 114052, + "飯": 114053, + "Ġživota": 114054, + "atör": 114055, + "Ġcelý": 114056, + "Ġaday": 114057, + "رÙĬÙĥÙĬ": 114058, + "Ġبص": 114059, + "meyen": 114060, + "ìļ°ìĬ¤": 114061, + "بÙĪÙĦ": 114062, + "Ġозна": 114063, + "麼": 114064, + "æĵļ": 114065, + "Ġzkou": 114066, + "ëĤĺìļĶ": 114067, + "Ġkry": 114068, + "Ġnemoh": 114069, + "ĠvyužÃŃ": 114070, + "Ġæľ¨": 114071, + "ĠадмÑĸнÑĸÑģÑĤÑĢа": 114072, + "اÙĩا": 114073, + "à¹ĥà¸ģล": 114074, + "________": 114075, + "ĠгоÑĤ": 114076, + "ĠدÛĮگرÛĮ": 114077, + "ĠлекаÑĢ": 114078, + "è§Ģ": 114079, + "Ġíĺij": 114080, + "ĠBöyle": 114081, + "istrov": 114082, + "女åŃIJ": 114083, + "ĠпопеÑĢед": 114084, + "ĠÙĨÙĪÙĬسÙĨدÙĩ": 114085, + "ÙĴÙĦ": 114086, + "ĠÐŁÐ°Ð²": 114087, + "Ġörnek": 114088, + "ĠпÑĢик": 114089, + "ĠÑĪи": 114090, + "üslüman": 114091, + "ĠÙħÙĤابÙĦ": 114092, + "åįģäºĮ": 114093, + "Ġbekl": 114094, + "Ġverir": 114095, + "ÙĪØ°": 114096, + "ضة": 114097, + "ÑĢоÑĤив": 114098, + "æĮij": 114099, + "..:": 114100, + "ĠخارجÙĬØ©": 114101, + "adık": 114102, + "ĠÐŁÐ¾Ñĩ": 114103, + "ĠÑħÑĥдож": 114104, + "客æĪ·": 114105, + "μον": 114106, + "ektiv": 114107, + "Ġtvá": 114108, + "Û²Û²": 114109, + "Ġlá»įc": 114110, + "Ġоно": 114111, + "ÑĨиÑĤ": 114112, + "ĠÐĴÑģ": 114113, + "Ġå¢": 114114, + "浪": 114115, + "аÑĢÑĸ": 114116, + "Ġsürekli": 114117, + "Ġstra": 114118, + "Ġbize": 114119, + "Ġtespit": 114120, + "Ġchâu": 114121, + "ĠاÙĦض": 114122, + "à¹īà¸Ńà¸ĩà¸ģ": 114123, + "ĠèĢħ": 114124, + "ĠHá»": 114125, + "ĠкаждÑĭй": 114126, + "аÑİ": 114127, + "à¸Ļà¸Ħร": 114128, + "à¸Ĺะ": 114129, + "ĠÙħراجع": 114130, + "Ġhaline": 114131, + "δοÏĤ": 114132, + "eÄŁi": 114133, + "ĠÙħÛĮزاÙĨ": 114134, + "ĠÙĩÙĦ": 114135, + "Ġbolest": 114136, + "ĠåľŁ": 114137, + "Ġuzman": 114138, + "ÑĢог": 114139, + "確èªį": 114140, + "ĠÑĢÑĸзниÑħ": 114141, + "ĠзакÑĢÑĭ": 114142, + "лÑĥги": 114143, + "ĠÑģовеÑĤ": 114144, + "iddi": 114145, + "åIJĪãĤıãģĽ": 114146, + "ĠåIJī": 114147, + "Ġkiá»ĩm": 114148, + "ë²½": 114149, + "ĠÙħعÙħÙĪÙĦ": 114150, + "ĠопÑĢеделÑı": 114151, + "Ġmiktar": 114152, + "ĠìŀIJëıĻ": 114153, + "Ġilaç": 114154, + "лоÑĩ": 114155, + "Ġyılı": 114156, + "ĠÄIJá»ĥ": 114157, + "Ġabych": 114158, + "Ġreklam": 114159, + "Ġvypad": 114160, + "ĠнаÑĥÑĩ": 114161, + "à¹Ģà¸Ħราะห": 114162, + "Ġä»ĸ": 114163, + "povÄĽ": 114164, + "ï¼Į让": 114165, + "ç¥Ŀ": 114166, + "اÙĪÙĨد": 114167, + "Ġ:|:": 114168, + "Ġrež": 114169, + "Ġvybav": 114170, + "ìľ¤": 114171, + "æŃ´": 114172, + "огÑĢаÑĦиÑı": 114173, + "ezpeÄį": 114174, + "±n": 114175, + "овÑĥ": 114176, + "ĠдÑĥма": 114177, + "Ġjednodu": 114178, + "оÑīи": 114179, + "ĠÙħشتر": 114180, + "観": 114181, + "Ġyoktur": 114182, + "ĠobÄįan": 114183, + "ĠTrần": 114184, + "ımsız": 114185, + "αιν": 114186, + "ÂĮ": 114187, + "رÛĮاÙĨ": 114188, + "ĠJeho": 114189, + "ĠاÙĦØ¢ÙĨ": 114190, + "ÑģÑĮким": 114191, + "Ġkdyby": 114192, + "ĠbaÅŁÄ±na": 114193, + "Ġprezident": 114194, + "ĠViá»ĩc": 114195, + "åħ¼": 114196, + "à¥Įà¤ľ": 114197, + "Ġ매매ê°Ģ": 114198, + "模å¼ı": 114199, + "nÃŃmu": 114200, + "ĠåĤ": 114201, + "Ġdeniz": 114202, + "ĺèĽĽ": 114203, + "ĠèĢĮ": 114204, + "ÙĪØŃ": 114205, + "Ñĭп": 114206, + "Ġâĸ¼": 114207, + "nul": 114208, + "ĠSev": 114209, + "Ġruh": 114210, + "Ġhạ": 114211, + "ĠÑıн": 114212, + "Ġ기본": 114213, + "Ġvelik": 114214, + "ĠTân": 114215, + "илиÑģÑĮ": 114216, + "ĠÑħÑĢа": 114217, + "åĤ·": 114218, + "Ġà¤Ĩà¤ı": 114219, + "ĠnynÃŃ": 114220, + "»ØĮ": 114221, + "Ġشع": 114222, + "æĿĤ": 114223, + "ĠмÑĭÑĪ": 114224, + "ãģĻãģIJ": 114225, + "Ġê³µì§Ģ": 114226, + "Ġtá»Ļc": 114227, + "ãĥ¼ãĥĩ": 114228, + "ĠÑģело": 114229, + "ĠاعÙĦاÙħ": 114230, + "ĠÅŁimdi": 114231, + "ĠاÙĦÙħÙĬÙĦاد": 114232, + "ĠاÙĨÙĤÙĦاب": 114233, + "ĠشخصÙĬØ©": 114234, + "ĠKür": 114235, + "ĠвÑĸÑĤ": 114236, + "ĠاÙĨدازÙĩ": 114237, + "ĠмоÑī": 114238, + "ternet": 114239, + "ĠαÏħÏĦή": 114240, + "ĠÑĢозÑĤа": 114241, + "Ġвив": 114242, + "lej": 114243, + "Ġ表": 114244, + "ÏĥÏĥÏĮÏĦε": 114245, + "ĠÙĬست": 114246, + "ĠмаÑĪ": 114247, + "åĿļ": 114248, + "ĠкомнаÑĤ": 114249, + "าหล": 114250, + "Ġçϼ": 114251, + "ĠاÙĪÙĦÛĮÙĨ": 114252, + "è¿IJåĬ¨": 114253, + "ĠпÑĥнкÑĤ": 114254, + "ĠоÑģобенно": 114255, + "Ġмам": 114256, + "绩": 114257, + " ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄": 114258, + "алÑĮнÑĭм": 114259, + "ĠЦенÑĤ": 114260, + "-Ðľ": 114261, + "ç·Ĵ": 114262, + "Ġà¤¹à¤ľ": 114263, + "оÑĤÑĭ": 114264, + "ãĤ¤ãĥī": 114265, + "دارة": 114266, + "ãģ¨ãģĹãģŁ": 114267, + "ัà¸ŀย": 114268, + "Ġotáz": 114269, + "ĠдопомогоÑİ": 114270, + "à¹ģละà¸ģาร": 114271, + "ĠÑĤÑĢанÑģпоÑĢÑĤ": 114272, + "ĠÙĤرآÙĨ": 114273, + "Ġ第ä¸Ģ": 114274, + "Ġмил": 114275, + "Ġngôi": 114276, + "Ġlinh": 114277, + "ĠNhân": 114278, + "ÑĮогоднÑĸ": 114279, + "æĢĢ": 114280, + "à¹īาส": 114281, + ".::.::": 114282, + "Ġbirey": 114283, + "æĢĿãģĦ": 114284, + "à¹ĥà¸Ķ": 114285, + "веÑĢд": 114286, + "Ġlistopadu": 114287, + "Ġà¹ģม": 114288, + "ге": 114289, + "ĠкÑĥÑħ": 114290, + "ĠíĻľëıĻ": 114291, + "Ġèİ": 114292, + "ĠÐIJлÑĮ": 114293, + "íļĮìĿĺ": 114294, + "ĠÏĢÏģα": 114295, + "Ġvui": 114296, + "วร": 114297, + "à¤Ĥव": 114298, + "Ġgece": 114299, + "ç«¶": 114300, + "Ġkuv": 114301, + "меÑī": 114302, + "ĠÑĤепеÑĢÑĮ": 114303, + "à¸Ńà¹Ģม": 114304, + "åĪ¶åº¦": 114305, + "ĠÑĤÑĢеÑĤ": 114306, + "ĠÙĨتÛĮجÙĩ": 114307, + "ä»ĺãģį": 114308, + "Ġï¾ŀ": 114309, + "ĠÑĩого": 114310, + "âĢIJ-": 114311, + "ĠÅĻÃŃká": 114312, + "à¸ĩà¹ĥà¸Ļ": 114313, + "ĠnÄĽkolika": 114314, + "Ġbuna": 114315, + "ï¼ĮåŃĺäºİ": 114316, + "ลำ": 114317, + "ãĢģãģ¨": 114318, + "Ġná»Ļp": 114319, + "ĠاÙĦجÙĨ": 114320, + "ĠÎłÎ±Î½": 114321, + "ÐŀÐł": 114322, + "Ġدختر": 114323, + "Ġúdaje": 114324, + "Ġå¼ł": 114325, + "retim": 114326, + "sınız": 114327, + "ĠÙĩÙĨاÙĥ": 114328, + "ÐĽÐ¬": 114329, + "æķ¬": 114330, + "ÎijÎľ": 114331, + "页éĿ¢åŃĺæ¡£å¤ĩ份": 114332, + "ìĤ¬ê°Ģ": 114333, + "Ġtrest": 114334, + "viÄį": 114335, + "ĠÙ¾ÛĮدا": 114336, + "ζε": 114337, + "ĠÐŁÐ¾Ð²": 114338, + "ÙĦÙħات": 114339, + "orex": 114340, + "è¬Ľ": 114341, + "ĠвÑĸдкÑĢиÑĤ": 114342, + "маÑħ": 114343, + "ĠÑĩиÑģле": 114344, + "تبار": 114345, + "ĠÎŃκ": 114346, + "ìķĦíĮĮíĬ¸": 114347, + "ravel": 114348, + "αÏĥία": 114349, + "aÄį": 114350, + "Ġà¤ıन": 114351, + "ละà¹Ģà¸Ń": 114352, + "Ġзалеж": 114353, + "Ġæģ": 114354, + "ĠможеÑĤе": 114355, + "Ġповед": 114356, + "ĠبسÛĮارÛĮ": 114357, + "ĠpoÄįet": 114358, + "ربع": 114359, + "elez": 114360, + "اÙĪØ±ÛĮ": 114361, + "ĠbaÅŁk": 114362, + "å°Ĥ": 114363, + "Ġhalde": 114364, + "æĭŁ": 114365, + "Sau": 114366, + "оÑĨи": 114367, + "ีà¸Ħ": 114368, + "Ġвлади": 114369, + "ÙIJÙħ": 114370, + "kud": 114371, + "à¥Ĥब": 114372, + "å§Ķåĵ¡": 114373, + "ารà¸ĵ": 114374, + "orů": 114375, + "ĠÙħÙĪÙĦ": 114376, + "Ġbyt": 114377, + "ĠpÅĻÃŃsluÅ¡": 114378, + "èĭ±è¯Ń": 114379, + "éĢIJ": 114380, + "Ġvelké": 114381, + "Ġà¤Ĩश": 114382, + "Ġphiếu": 114383, + "à¹ĥส": 114384, + "Ġاسپ": 114385, + "ĠzbožÃŃ": 114386, + "ãģĵãĤĵãģª": 114387, + "ĠÙĪÙĩÙĬ": 114388, + "ĠÑĥÑĩаÑģÑĤÑĮ": 114389, + "à¸Īำà¸Ļวà¸Ļ": 114390, + "Ġترک": 114391, + "åįģåĪĨ": 114392, + "ÎŁÎł": 114393, + "κολ": 114394, + "Ġfakat": 114395, + "Ġchá»Ĺ": 114396, + "éĢļçŁ¥": 114397, + "ĠводÑĥ": 114398, + "ĠÎļαÏĦηγοÏģία": 114399, + "acaģını": 114400, + "лого": 114401, + "ĠmÃ¼ÅŁter": 114402, + "Ġjednou": 114403, + "ĠбаÑĢ": 114404, + "idae": 114405, + "dım": 114406, + "è¾²": 114407, + "åIJ¹": 114408, + "ëIJ©ëĭĪëĭ¤": 114409, + "ĠÅŁeklinde": 114410, + "eným": 114411, + "ëĵ¯": 114412, + "itÄĽ": 114413, + "ĠколÑĮ": 114414, + "ëĮĢíķĻ": 114415, + "ĠÃĸr": 114416, + "Ġê½": 114417, + "ĠUBND": 114418, + "Ġhik": 114419, + "ãĤīãģĹãģĦ": 114420, + "åĩºåĵģ": 114421, + "Có": 114422, + "ĠÎŀ": 114423, + "Ġåħ¥": 114424, + "ĠNguyên": 114425, + "ĠÙ¾ÙĪØ´": 114426, + "лÑıÑĶ": 114427, + "Ġآغاز": 114428, + "Ġnhiá»ħm": 114429, + "divid": 114430, + "çĺ": 114431, + "اÙģØªÙĩ": 114432, + "амеÑĤ": 114433, + "нÑĥлÑģÑı": 114434, + "ä¼ģæ¥Ń": 114435, + "ÑĢобÑĸÑĤ": 114436, + "dÃ¼ÄŁÃ¼": 114437, + "ĠکاÙĨ": 114438, + "à¸Ńà¸ĩà¸Ĺ": 114439, + "йн": 114440, + "Ġpohyb": 114441, + "Ġbiá»ĩn": 114442, + "Ġï¼Ľ": 114443, + "ÙħÙĨد": 114444, + "Ġà¤Ĩà¤ķ": 114445, + "ĠÄįlovÄĽk": 114446, + "ãĤĴè¦ĭãĤĭ": 114447, + "ë·°": 114448, + "ĠÑĥвелиÑĩ": 114449, + "Ġê´": 114450, + "ĠyanlÄ±ÅŁ": 114451, + "麦": 114452, + "Ġå¤ĸéĥ¨": 114453, + "ÏĦοÏħÏģγ": 114454, + "ĠпÑĢоÑĩ": 114455, + "ĠÑĢÑĥковод": 114456, + "缤": 114457, + "èľĺèĽĽ": 114458, + "å®īè£ħ": 114459, + "ĠУкÑĢа": 114460, + "ĠtartÄ±ÅŁ": 114461, + "ÑĤаж": 114462, + "ĠoluÅŁan": 114463, + "ĠRusya": 114464, + "ĠклÑĥб": 114465, + "ĠÎłÎ¡": 114466, + "alıdır": 114467, + "kın": 114468, + "ĠзмÑĸни": 114469, + "leÅŁik": 114470, + "еÑĢп": 114471, + "обÑīе": 114472, + "ĠquáºŃn": 114473, + "Ġपश": 114474, + "ãĤĴåıĹ": 114475, + "à¹Ģลà¸Ĥ": 114476, + "اضر": 114477, + "Ġuživatel": 114478, + "λία": 114479, + "ĠÐĴони": 114480, + "ุà¸Ķà¸Ĺ": 114481, + "ĠVÃł": 114482, + "ãĥ³ãĤ¿": 114483, + ")ëĬĶ": 114484, + "æ¸Ľ": 114485, + "ĠμÏĢ": 114486, + "å·§": 114487, + "ĠÑĪкол": 114488, + "Ġì²ĺìĿĮ": 114489, + "ัà¸ģà¸Ķ": 114490, + "æ®Ĭ": 114491, + "Ġnhá»Ŀ": 114492, + "ĠοÏĢοία": 114493, + "à¹ģà¸Ļว": 114494, + "меÑĢикан": 114495, + "nÃŃka": 114496, + "Ġíĺ¸íħĶ": 114497, + "سبب": 114498, + "à¸ĩม": 114499, + "ìŀĪëĬĶ": 114500, + "غط": 114501, + "ÙıÙĦ": 114502, + "¹æŀľ": 114503, + "ÑĩÑĸв": 114504, + "ÑĪаÑı": 114505, + "ĠØ¥ÙĦا": 114506, + "خصÙĪØµ": 114507, + "llll": 114508, + "ĠÑįÑĤим": 114509, + "ĠzvÃŃ": 114510, + "Ġquán": 114511, + "à¸Ļà¸ģ": 114512, + "Ġполов": 114513, + "Ġæ·±": 114514, + "Ġmiá»ģn": 114515, + "人éĸĵ": 114516, + "Ġзим": 114517, + "Ġmeydana": 114518, + "еÑĦ": 114519, + "Ġbá»ģn": 114520, + "زÙĬد": 114521, + "ĠÐłÐµÑģп": 114522, + "ÎĻΣΤ": 114523, + "ĠæĶ¶": 114524, + "raya": 114525, + "ĠتÙĪØ§ÙĨد": 114526, + "Ġister": 114527, + "Ġë°Ģ": 114528, + "ĠмеÑħани": 114529, + "Ġà¸ķำ": 114530, + "Ġдека": 114531, + "à¤Ĥà¤Ĺल": 114532, + "ãĥ¼ãĤ«ãĥ¼": 114533, + "ĠnepÅĻÃŃ": 114534, + "ĠÑģÑĩиÑĤ": 114535, + "Ġομά": 114536, + "Ġçift": 114537, + "بÛĮÙĨÛĮ": 114538, + "meleri": 114539, + "ĠвоздейÑģÑĤв": 114540, + "dou": 114541, + "ìĥģìĿĦ": 114542, + "ĠÐĴолод": 114543, + "εβ": 114544, + "ÐĿÐĺ": 114545, + "Ñıк": 114546, + "ÏįÏĦε": 114547, + "зано": 114548, + "lenir": 114549, + "celik": 114550, + "ĠÑģоÑģÑĤавлÑıеÑĤ": 114551, + "ιαÏĤ": 114552, + "ĠÐĵоÑĢ": 114553, + "ä¹ĭä¸Ģ": 114554, + "ÏĥμÏĮÏĤ": 114555, + "ãģ«éĸ¢": 114556, + "ĠвÑĩ": 114557, + "ĠпоÑģк": 114558, + "輯": 114559, + "à¥Ģश": 114560, + "Ġآثار": 114561, + "à¸Ħวามร": 114562, + "Ġедин": 114563, + "íħIJ": 114564, + "å¹³æĪIJ": 114565, + "ĠkiÅŁinin": 114566, + "ãĤ²ãĥ¼ãĥł": 114567, + "à¥įतव": 114568, + "Ġkapsamında": 114569, + "Ġaktar": 114570, + "Ġtrừ": 114571, + "Ġرشد": 114572, + "Ġнаказ": 114573, + "رÙĬÙĦ": 114574, + "à¸Ńà¸Ħ": 114575, + "ĠگذشتÙĩ": 114576, + "Ġæ°ij": 114577, + "ĠÑĤебÑı": 114578, + "spor": 114579, + "ÑİÑīаÑı": 114580, + "окÑĢема": 114581, + "вад": 114582, + "ĠChúng": 114583, + "ĠزÛĮادÛĮ": 114584, + "еного": 114585, + "ĠکسÛĮ": 114586, + "Ãŀ": 114587, + "Ġadına": 114588, + "Ñĥда": 114589, + "ÑĸÑĶ": 114590, + "аÑĤели": 114591, + "ĠnávÅ¡tÄĽ": 114592, + "ç͍äºİ": 114593, + "ĠپرÙĪÙĨدÙĩ": 114594, + "ĠÙĨبÙĪØ¯": 114595, + "سات": 114596, + "ìĹĺ": 114597, + "ãģ£ãģ¦ãĤĤ": 114598, + "Ġçī©": 114599, + "Ðĺз": 114600, + "åĪ·": 114601, + "Ġíľ´": 114602, + "ĠоÑģоблив": 114603, + "ãģĹãģ¾ãģ£ãģŁ": 114604, + "aydı": 114605, + "åĩºçļĦ": 114606, + "ĠìķĦëĭĪëĿ¼": 114607, + "ısını": 114608, + "à¸Ĺาà¸ĩà¸ģาร": 114609, + "Ġzvuky": 114610, + "Ġ管": 114611, + "âĸĭâĸĭ": 114612, + "ĠÑĤелеÑĦ": 114613, + "ĠнелÑĮзÑı": 114614, + "ãĥ«ãģ®": 114615, + "ÏĥÏĢ": 114616, + "Ġç³": 114617, + "åł¡": 114618, + "ÑĨÑĥз": 114619, + "رÙĬÙĤØ©": 114620, + "à¤¿à¤Ľà¤²": 114621, + "販": 114622, + "ĠУкÑĢаÑĹн": 114623, + "ĠÙħسئÙĪÙĦ": 114624, + "ĠоÑĩÑĸ": 114625, + "æľĢå¾Į": 114626, + "ĠзнаÑİ": 114627, + "à¹īà¸Ļà¸Ĺ": 114628, + "ĠÑĤеÑĢап": 114629, + "ĠÑģпок": 114630, + "ĠØ®ÙĪØ¯Ø±ÙĪ": 114631, + "éĺ»": 114632, + "Ġdüzey": 114633, + "ä¸ĢåĢĭ": 114634, + "اÙģÙĩ": 114635, + "à¤Ĥय": 114636, + "èµĦ产": 114637, + "ç»§ç»Ń": 114638, + "ĠÑģлаб": 114639, + "æĦıæĢĿ": 114640, + "ĠíĻĺìĤ°": 114641, + "ĠÑıÑĢ": 114642, + "Ġdůvod": 114643, + "çĿĽ": 114644, + "تÛĮب": 114645, + "ĠÙĪÛĮر": 114646, + "ĠÙĩزÛĮÙĨÙĩ": 114647, + "Ġbenzer": 114648, + "ĠÙħادÙĩ": 114649, + "à¥Įà¤ķ": 114650, + "Ġà¹Ģà¸ķ": 114651, + "ãĤĪãģı": 114652, + "иденÑĤ": 114653, + "èĭ±èªŀ": 114654, + "еÑĢÑĭ": 114655, + "Ġê¸Īìķ¡": 114656, + "Ġãĥ¼": 114657, + "Ġëį¤íĶĦ": 114658, + "ÑĢаÑĤÑĮ": 114659, + "Ġåįķ": 114660, + "à¹Ģà¸īà¸ŀาะ": 114661, + "ĠæĶ¿": 114662, + "Ġà¤Ĩम": 114663, + "Ġзни": 114664, + "ĠëĿ¼ìĿ´": 114665, + "æİĮ": 114666, + "çIJĨçͱ": 114667, + "Ġاغ": 114668, + "ĠÑģиг": 114669, + "ĠеÑĦекÑĤив": 114670, + "ĠÐŁÑĢед": 114671, + "ãĥ´ãĤ£": 114672, + "Ġвико": 114673, + "Ġtvrd": 114674, + "ëĤ´ê¸°": 114675, + "ãĥĭãĤ¢": 114676, + "ĠÙħشاÙĩدÙĩ": 114677, + "Ġसà¤ļ": 114678, + "lÃ¼ÄŁ": 114679, + "è¯ģåΏ": 114680, + "Ġsiêu": 114681, + "ĠоÑĤв": 114682, + "ĠvytvoÅĻ": 114683, + "ĠØŃÙħÙĦ": 114684, + "ĠÑĦÑĢан": 114685, + "à¹īà¸Ķ": 114686, + "åĮ»éĻ¢": 114687, + "Ġвлад": 114688, + "غÙĦ": 114689, + "建ç«ĭ": 114690, + "osloven": 114691, + "илаÑģÑĮ": 114692, + "عÙĦÙĪÙħات": 114693, + "ĠترÛĮÙĨ": 114694, + "ÎŃÏģει": 114695, + "ĠbáºŃt": 114696, + "ĠÙħØ´Ú©": 114697, + "ĠرئÙĬس": 114698, + "Ġìłľìŀij": 114699, + "γη": 114700, + "ĠнÑĸк": 114701, + "Ġ구ìĦ±": 114702, + "ĠÄijen": 114703, + "Ġà¤ļर": 114704, + "ĠgeçmiÅŁ": 114705, + "äºĨè§£": 114706, + "ĠлеÑģ": 114707, + "Ġquanh": 114708, + "ãĢĮæĪij": 114709, + "ĠNÄĽkterá": 114710, + "ëŀį": 114711, + "ÃħŸ": 114712, + "à¤Ĥदर": 114713, + "ìķĦìĿ´": 114714, + "å°ijãģĹ": 114715, + "ĠØ´ÙĩرÛĮ": 114716, + "κÏĦη": 114717, + "ĠâĹĦ": 114718, + "ĠÙĥس": 114719, + "è·Į": 114720, + "Ãı": 114721, + "å·¥åħ·": 114722, + "åĬĥ": 114723, + "pom": 114724, + "ĠнавÑĩаннÑı": 114725, + "Ġرج": 114726, + "ÑĢÑĥеÑĤÑģÑı": 114727, + "ĠνÎŃ": 114728, + "ÛĮÙĨÚ©": 114729, + "à¹Ĥà¸ĭ": 114730, + "åĭ¤": 114731, + "ãģĹãģ¾ãģĨ": 114732, + "ĠÑģоглаÑģ": 114733, + "éĩijèŀį": 114734, + "绿": 114735, + "ĠСан": 114736, + "æķµ": 114737, + "ĠповÑĸÑĤ": 114738, + "ĠпомоÑīи": 114739, + "ãĥ¡ãĥªãĤ«": 114740, + "ãĤ·ãĤ¢": 114741, + "ĠÏĢÏģοÏĤ": 114742, + "èĪªç©º": 114743, + "ĠваÑĢианÑĤ": 114744, + "Ġyalnızca": 114745, + "系統": 114746, + "ĠÙģÙĪØ±": 114747, + "оÑĩной": 114748, + "à¹Ģวà¸Ńร": 114749, + "ĠкÑĥлÑĮÑĤÑĥÑĢ": 114750, + "Ïĩι": 114751, + "ÄįÃŃta": 114752, + "Âĵ": 114753, + "人ãģĮ": 114754, + "κοÏį": 114755, + "ĠÑĢеÑĶ": 114756, + "ĠвÑģÑİ": 114757, + "éºĹ": 114758, + "ĠزÙĨاÙĨ": 114759, + "çĭĤ": 114760, + "Ġหม": 114761, + "Ġxúc": 114762, + "åħĴ": 114763, + "ÄŁinin": 114764, + "åĸľæ¬¢": 114765, + "ĠÑģÑĤад": 114766, + "iyesi": 114767, + "ìļ±": 114768, + "èĿ": 114769, + "Ġkus": 114770, + "ÏĦολ": 114771, + "гÑĸв": 114772, + "Ñĸли": 114773, + "ãģĦãĤĦ": 114774, + "é©Ĺ": 114775, + "ontrol": 114776, + "اÙĦÙĥ": 114777, + "ковиÑħ": 114778, + "ĠÑģÑĤало": 114779, + "ĠγαÏģα": 114780, + "Ġchy": 114781, + "Ġcihaz": 114782, + "ĩ´": 114783, + "ìŀ¥ìĿ´": 114784, + "aceae": 114785, + "Ø´Ùĩر": 114786, + "иланнÑı": 114787, + "çļĦå°ı": 114788, + "Ġthụ": 114789, + "ÙĪÙĨت": 114790, + "лоÑĢ": 114791, + "ãĤĴæĮģ": 114792, + "ĠÎĶι": 114793, + "Ġ羣": 114794, + "ÐĽÐŀ": 114795, + "é½IJ": 114796, + "çİĦ": 114797, + "اÙĪÙĩ": 114798, + "ĠинÑĤ": 114799, + "à¥Ģà¤Łà¤°": 114800, + "ĠобÑīе": 114801, + "ĠдепÑĥÑĤ": 114802, + "μÎŃνεÏĤ": 114803, + "ĠÙĥÙĬÙģ": 114804, + "عÙħÙĦ": 114805, + "ï¼Įå¦Ĥæŀľ": 114806, + "ĠинÑĦек": 114807, + "itele": 114808, + "ĠãĢĢãĢĢĠãĢĢ": 114809, + "ãĤ¤ãĥ³ãĥĪ": 114810, + "лÑĸÑĤ": 114811, + "ĠÑģÑİ": 114812, + "Ġzase": 114813, + "dech": 114814, + "еко": 114815, + "è®ĵ": 114816, + "åı¬": 114817, + "зем": 114818, + "ÎłÎij": 114819, + "Ġvzdu": 114820, + "าà¸Īาà¸ģ": 114821, + "koliv": 114822, + "zkum": 114823, + "èģĬ": 114824, + "Ġì±Ħìļ©": 114825, + "à¹į": 114826, + "Ġasp": 114827, + "Û²Û´": 114828, + "ìĿ¸ëį°": 114829, + "ĠkarÅŁÄ±laÅŁ": 114830, + "ï¼Įåı¯ä»¥": 114831, + "Ġà¤ĩनà¤ķ": 114832, + "ĠìĬ¤íĥĢ": 114833, + "éĥ¨å±ĭ": 114834, + "åĪ¶ä½ľ": 114835, + "ãĥ¼ãĤ·ãĥ§ãĥ³": 114836, + "ονÏĦαÏĤ": 114837, + "γο": 114838, + "ĠìŀijìĦ±": 114839, + "èij£": 114840, + "ozÅĻejmÄĽ": 114841, + "ĠÑĢезÑĥлÑĮÑĤаÑĤе": 114842, + "ĠInsecta": 114843, + "Ġskon": 114844, + "otu": 114845, + "ĠpÄĽt": 114846, + "ÑģÑĮого": 114847, + "Ġİslam": 114848, + "Ġlá»ħ": 114849, + "ä¸Ńåľĭ": 114850, + "ĠÐľÑĸнÑĸÑģÑĤ": 114851, + "åIJĪåIJĮ": 114852, + "asyonu": 114853, + "ожеÑĤ": 114854, + "èĩªåĬ¨": 114855, + "ÑģÑĮкоÑİ": 114856, + "ĠkiÅŁisel": 114857, + "ÏĦικοÏį": 114858, + "ĠÑĥÑĩаÑģ": 114859, + "ılmÄ±ÅŁtır": 114860, + "ĠÑıке": 114861, + "ÑīинÑĭ": 114862, + "маÑĢ": 114863, + "Ġsoudu": 114864, + "ÂłÐ¯": 114865, + "ĠдÑĢÑĥ": 114866, + "ãģ¡ãĤĩ": 114867, + "à¥ĭà¥ľ": 114868, + "ï¾ij": 114869, + "ĠÏĦÏĮ": 114870, + "Ġضر": 114871, + "láš": 114872, + "ĠдÑĸв": 114873, + "ĠجدÙĬد": 114874, + "ĠнеболÑĮÑĪ": 114875, + "éģŃ": 114876, + "ç»į": 114877, + "ĠKurulu": 114878, + "ÑģÑĤÑĢÑĥменÑĤ": 114879, + "è¿Ļæĺ¯": 114880, + "ìĻĶëĭ¤": 114881, + "мелÑĮ": 114882, + "Ġä¼Ĭ": 114883, + "á»§ng": 114884, + "ĠзавиÑģимоÑģÑĤи": 114885, + "ëį¤íĶĦ": 114886, + "çĩĥ": 114887, + "è¿ĩåİ»": 114888, + "ĠзаÑģÑĤоÑģÑĥваннÑı": 114889, + "ĠداخÙĦÛĮ": 114890, + "ÑīÑij": 114891, + "ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł": 114892, + "ﺮ": 114893, + "ĠاÙĦÙħÙħÙĦÙĥØ©": 114894, + "sında": 114895, + "è³Ģ": 114896, + "å±ı": 114897, + "Ġê¿": 114898, + "Ġdoktor": 114899, + "ĠÙĤاب": 114900, + "ĠSist": 114901, + "ĠмеÑģÑĤе": 114902, + "ĠÑģоÑħÑĢа": 114903, + "اشتÙĩ": 114904, + "ĠæľŁ": 114905, + "ĠпоÑģколÑĮкÑĥ": 114906, + "Ġpev": 114907, + "اگر": 114908, + "Ùħز": 114909, + "ĠضÙħÙĨ": 114910, + "३": 114911, + "gesi": 114912, + "aÄŁa": 114913, + "è§£åĨ³": 114914, + "ëħ¸ì¶ľ": 114915, + "Ġluyá»ĩn": 114916, + "ĠконÑĤак": 114917, + "ฺ": 114918, + "ĠNgÃły": 114919, + "Ġvýstav": 114920, + "Ġthuyết": 114921, + "اÛĮع": 114922, + "Ġ:/:": 114923, + "Ġphạt": 114924, + "ĠÎijÏĢÏĮ": 114925, + "Ġmuz": 114926, + "Ġìĥī": 114927, + "ĠÃĩin": 114928, + "Ġکاربرد": 114929, + "ائد": 114930, + "باد": 114931, + "à¥įतम": 114932, + "Ġëijĺ": 114933, + "Ġмоз": 114934, + "Å¡ÃŃch": 114935, + "Ġมห": 114936, + "Ġآس": 114937, + "ĠÑģлиÑĪком": 114938, + "èĥ¡": 114939, + "è£ģ": 114940, + "æĪ»": 114941, + "ĠìĦ¤ëªħ": 114942, + "Ġotom": 114943, + "Ġलà¤Ĺà¤Ńà¤Ĺ": 114944, + "à¸ĩà¸ģ": 114945, + "ابد": 114946, + "à¸Ļาม": 114947, + "èĤ©": 114948, + "ĠشدÙĨد": 114949, + "ãģĿãģ®ä»ĸ": 114950, + "adlo": 114951, + "ÄĽn": 114952, + "ĠÙĦÙĩا": 114953, + "Ġминим": 114954, + "ĠdÅĻev": 114955, + "ĠThiên": 114956, + "ëŀĻ": 114957, + "engin": 114958, + "à¥Ģमत": 114959, + "ĠÑĥпоÑĤÑĢеб": 114960, + "âĢĮتر": 114961, + "Ġç¥ŀ马": 114962, + "ovánÃŃm": 114963, + "Ġдело": 114964, + "Ġç¼ĸ": 114965, + "ĠاÙĦظ": 114966, + "Ġвий": 114967, + "аÑĤом": 114968, + "åħ¬åijĬ": 114969, + "ĠÄijem": 114970, + "ãĤ·ãĥªãĥ¼ãĤº": 114971, + "ä¸ĭçļĦ": 114972, + "lası": 114973, + "ĠвÑĭбоÑĢ": 114974, + "ÑĤоÑĤ": 114975, + "ëıĦë³Ħ": 114976, + "ĠÑĥÑģÑĤан": 114977, + "ĠíŀĪ": 114978, + "лÑĥаÑĤа": 114979, + "Ġthác": 114980, + "анием": 114981, + "оваÑĤÑĮÑģÑı": 114982, + "ÑĤÑĶ": 114983, + "ÐŃÑĤо": 114984, + "ï¼Įè¦ģ": 114985, + "ĠVz": 114986, + "ĠØŃÙĪØ²Ùĩ": 114987, + "-к": 114988, + "VỼi": 114989, + "entů": 114990, + "ĠbulunduÄŁu": 114991, + "رÙĪØ·": 114992, + "ĠÑĹй": 114993, + "Ġçevr": 114994, + "ĠÅĻed": 114995, + "ĠساختÙĩ": 114996, + "åĬŀæ³ķ": 114997, + "ĠÙĤÙĦ": 114998, + "iÅŁi": 114999, + "ï¼Ŀï¼Ŀ": 115000, + "ساس": 115001, + "Ġúdajů": 115002, + "å¬": 115003, + "æįŁ": 115004, + "áct": 115005, + "ĠÎijÏĢ": 115006, + "çĪ·": 115007, + "ĠÅĻád": 115008, + "Ġlá»Ĺi": 115009, + "ontent": 115010, + "ĠÙħذ": 115011, + "oloji": 115012, + "Ġپرداخت": 115013, + "à¹īาà¸ŀ": 115014, + "ĠдейÑģÑĤвиÑı": 115015, + "ĠmnožstvÃŃ": 115016, + "ìķĪë§Ī": 115017, + "åģ¶": 115018, + "ĠÃĶng": 115019, + "Ġdakika": 115020, + "hendis": 115021, + "Ġbác": 115022, + "寶": 115023, + "à¹ĩà¸ģหà¸į": 115024, + "nocenÃŃ": 115025, + "ĠErdoÄŁan": 115026, + ":::::::::::::": 115027, + "аÑĤем": 115028, + "dız": 115029, + "ĠØ£ÙĬضا": 115030, + "ĠÑįÑĦÑĦек": 115031, + "ãĤĮãģ¦ãģĦãĤĭ": 115032, + "ĠbaÅŁvuru": 115033, + "άνει": 115034, + "ĠÏĦελεÏħÏĦα": 115035, + "Ġê²Ģìĥī": 115036, + "ĠÚ©ÙĨترÙĦ": 115037, + "Ġशà¤ķ": 115038, + "å¼¹": 115039, + "ĠolmuÅŁtur": 115040, + "ĠвÑģÑĤÑĥп": 115041, + "Ñĩила": 115042, + "ยา": 115043, + "ĠØ£ØŃÙħد": 115044, + "oslav": 115045, + "ĠÑĩаÑģов": 115046, + "ĠzákladnÃŃ": 115047, + "Ġसव": 115048, + "дон": 115049, + "ĠÅĻÃŃjna": 115050, + "κοÏħ": 115051, + "éĢģæĸĻçĦ¡æĸĻ": 115052, + "ÏĥίαÏĤ": 115053, + "ãĤ´ãĥª": 115054, + "Ġвиб": 115055, + "å½Ĵ": 115056, + "Ġназад": 115057, + "ĠçĻ¾åº¦æĶ¶å½ķ": 115058, + "á»Ĩ": 115059, + "Ġkaldı": 115060, + "ì¼ľ": 115061, + "ĠíıŃ": 115062, + "ĠÑĩином": 115063, + "è¹": 115064, + "Ñıл": 115065, + "ĠÑĢаздел": 115066, + "dG": 115067, + "ĠTento": 115068, + "ÑıÑĤÑĮÑģÑı": 115069, + "éĿ¢çļĦ": 115070, + "ĠÎķÏĢι": 115071, + "ê°ij": 115072, + "Ġkèm": 115073, + "ниÑĨÑı": 115074, + "çĸ«": 115075, + "éĽĻ": 115076, + "ĠÙħرÙĥز": 115077, + "ĠнаÑĥк": 115078, + "å¢Ĺ": 115079, + "ĠÑĤепеÑĢ": 115080, + "à¤¾à¤ł": 115081, + "à¹ĩà¸ļà¹Ħà¸ĭà¸ķ": 115082, + "μβÏģίοÏħ": 115083, + "ĠÑĦÑĸнанÑģов": 115084, + "ÑĸÑĶÑİ": 115085, + "Ïģίζ": 115086, + "ì¤Ħ": 115087, + "ĠباÙĨÚ©": 115088, + "tul": 115089, + "liÄŁini": 115090, + "ĠпозволÑıеÑĤ": 115091, + "Ïĥί": 115092, + "ĠìĽĥ": 115093, + "à¹Įà¸Ħ": 115094, + "Ġpolov": 115095, + "ìŀ¥ìĿĦ": 115096, + "isté": 115097, + "ĠÐ¡Ð¡Ð¡Ðł": 115098, + "áhl": 115099, + "è¥": 115100, + "Ġкомплек": 115101, + "à¸Ĥà¸Ļาà¸Ķ": 115102, + "ัศ": 115103, + "ναν": 115104, + "Ġç¥ŀ马æĶ¶å½ķ": 115105, + "ìĭľìĺ¤": 115106, + "Ġé¦ĸ页第": 115107, + "ĠçĻ¾åº¦æµģéĩı": 115108, + "åij¨æĶ¶å½ķ": 115109, + "Ġhatta": 115110, + "ÐĴÑĸд": 115111, + "ĠвÑĭÑģÑĤÑĥп": 115112, + "کارÛĮ": 115113, + "Khi": 115114, + "Ġì°¾ìķĦ": 115115, + "Ġnặng": 115116, + "éĨ«": 115117, + "ĠVÅ¡": 115118, + "ĠпеÑĢен": 115119, + "лава": 115120, + "ÙĬÙħÙĬ": 115121, + "ĠvatandaÅŁ": 115122, + "ĠιÏĥÏĦο": 115123, + "Ġà¸ĵ": 115124, + "सल": 115125, + "ген": 115126, + "ĠبÙĪØ±": 115127, + "âĢĮدÙĩد": 115128, + "lıklı": 115129, + "Ġstrate": 115130, + "بÙĪØ±": 115131, + "ãĢģãĤ¢": 115132, + "Ġsonuc": 115133, + "Ġнаиболее": 115134, + "-в": 115135, + "Ġводой": 115136, + "ojenÃŃ": 115137, + "Ġغرب": 115138, + "Ġberi": 115139, + "adÄĽ": 115140, + "Ġdovol": 115141, + "âĢĮÚ©ÙĨÙĨدگاÙĨ": 115142, + "ãģķãĤī": 115143, + "ãĥ³ãĤº": 115144, + "ãĤ«ãĥ«": 115145, + "ometr": 115146, + "åĩĢ": 115147, + "ĠÙģÙĪÙĦ": 115148, + "ĠÙħÙĪØ³ÛĮ": 115149, + "ĠاÙĦÙħغرب": 115150, + "ecko": 115151, + "ÙĢÙĢÙĢÙĢÙĢÙĢÙĢÙĢ": 115152, + "ê°Ģ격": 115153, + "ÑĢÑĥÑĤ": 115154, + "Ġë¶Ģë¶Ħ": 115155, + "ĠpÅĻedpis": 115156, + "Ġopravdu": 115157, + "еÑĤиÑĩ": 115158, + "à¹Ĥà¸Ħรà¸ĩà¸ģาร": 115159, + "æħ§": 115160, + "æĭľ": 115161, + "سÙĥ": 115162, + "ìŀ¡ëĭ´": 115163, + "à¸Ľà¸£à¸°à¸¡à¸²à¸ĵ": 115164, + "è´¨éĩı": 115165, + "ĠголовÑĥ": 115166, + "лениÑİ": 115167, + "Ġनà¤ı": 115168, + "Ġprojektu": 115169, + "اÙ쨱": 115170, + "ativnÃŃ": 115171, + "ÎŃνÏĦ": 115172, + "ãĥīãĥ©": 115173, + "Ġtedav": 115174, + "ê¼": 115175, + "à¸Ľà¸£à¸°à¸ģาศ": 115176, + "Ġtuto": 115177, + "Ġchiếu": 115178, + "Ġvyz": 115179, + "ÑĢоÑĪ": 115180, + "åıĸå¾Ĺ": 115181, + "ĠмиÑģÑĤ": 115182, + "ĠÑģлÑĥÑĩаÑıÑħ": 115183, + "Ġغذ": 115184, + "ĠÑĥклад": 115185, + "ĠÑĥÑģÑĤановлен": 115186, + "Ġteslim": 115187, + "ĠãĢį": 115188, + "Ġè£": 115189, + "毫": 115190, + "éĬĢè¡Į": 115191, + "ects": 115192, + "kemiz": 115193, + "νηÏĤ": 115194, + "辺": 115195, + "ĠпÑĢем": 115196, + "Ġsonucu": 115197, + "Pokud": 115198, + "ĠÐŀÑģоб": 115199, + "è¾Ľ": 115200, + "輸": 115201, + "ë³´ê³ł": 115202, + "à¸ļà¸Ħ": 115203, + "ãĢĤãĢį": 115204, + "ा।ĊĊ": 115205, + "ĠÑģамоÑģÑĤоÑıÑĤелÑĮ": 115206, + "ÙĦÛĮت": 115207, + "λεκ": 115208, + "ĠÑĢайона": 115209, + "ÑĮи": 115210, + "à¹Īาà¸Ĺ": 115211, + "Ġà¸Ľà¸£à¸°à¹Ģà¸Ĺศ": 115212, + "มà¸Ń": 115213, + "اÙĩر": 115214, + "ĠвибоÑĢ": 115215, + "ÑİÑĩиÑģÑĮ": 115216, + "Ġpovol": 115217, + "abase": 115218, + "â̳N": 115219, + "Ú©ÙĪ": 115220, + "ĠУкÑĢаÑĹна": 115221, + "stanov": 115222, + "ĠÑĥÑĩаÑģÑĤи": 115223, + "Ġhlad": 115224, + "ĠÑĢаÑģÑģказ": 115225, + "ãģ¿ãģŁãģĦ": 115226, + "á½°": 115227, + "ĠåĽŀ": 115228, + "Ġương": 115229, + "αÏģά": 115230, + "خب": 115231, + "æįķ": 115232, + "ÃŃÅĻ": 115233, + "ĠسÛĮÙĨ": 115234, + "Âłin": 115235, + "ĠMÄĽst": 115236, + "æķĻåѦ": 115237, + "ĠоÑģобиÑģÑĤ": 115238, + "uji": 115239, + "çĶ»åĥı": 115240, + "ĠداÙĨØ´ÙĨاÙħÙĩ": 115241, + "ìĿ´ìķ¼": 115242, + "ĠзапиÑĤ": 115243, + "ĠÑģвоими": 115244, + "Û²Û°Û²": 115245, + "ï¼Įå°Ĩ": 115246, + "ãĥ¼ãģ®": 115247, + "ĠthÃŃ": 115248, + "ĠÙħتÙĪØ³Ø·": 115249, + "à¥ĩĊ": 115250, + "å¤ļå°ij": 115251, + "ï¼ĮçĦ¶åIJİ": 115252, + "íĹĪ": 115253, + "Ġà¤Ńà¤Ĺ": 115254, + "Ġåı·": 115255, + "Ġteor": 115256, + "åĤ¨": 115257, + "ĠÑĢÑĸÑĩ": 115258, + "ĠÑģÑĤаÑĤÑĤÑĸ": 115259, + "ĠرابطÙĩ": 115260, + "Ġï¼ľ": 115261, + "باØŃ": 115262, + "ิà¸Ļà¸Ĺาà¸ĩ": 115263, + "à¥ĩà¤ĤĊ": 115264, + "ائÙĤ": 115265, + "ĠاÙĦجدÙĬد": 115266, + "liÄį": 115267, + "اØŃÙĦ": 115268, + "ménÄĽ": 115269, + "Ġbầu": 115270, + "ĠÐĴал": 115271, + "Ġблагод": 115272, + "еÑĤелÑĮ": 115273, + "å¹³åĿĩ": 115274, + "мин": 115275, + "Ġsürec": 115276, + "Ġзавод": 115277, + "èįIJ": 115278, + "ÑĤий": 115279, + "лоб": 115280, + "Ġвок": 115281, + "ladıģı": 115282, + "اÙĬÙĬ": 115283, + "ê²łìĬµëĭĪëĭ¤": 115284, + "Ġamacıyla": 115285, + "ï¼ĮåĽłä¸º": 115286, + "ãģ§ãģĤãģ£ãģŁ": 115287, + "ĠشرÙĪØ¹": 115288, + "æŁĶ": 115289, + "'nun": 115290, + "окол": 115291, + "Ġciddi": 115292, + "Ġbụ": 115293, + "Ġyapılacak": 115294, + "ĠÑĩÑĥвÑģÑĤв": 115295, + "ìĤ¬ìĿĺ": 115296, + "à¸Ńà¸Ļà¸Ķ": 115297, + "ÎĹΤ": 115298, + "Ġëĭ¤ìĸij": 115299, + "ëĭ¤ë©´": 115300, + "imizi": 115301, + "ä¹Ĥ": 115302, + "ãģ²ãģ¨": 115303, + "ĠéĿŀ": 115304, + "âĢĮپدÛĮا": 115305, + "ä¹ĺ": 115306, + "ãĥĬãĥ«": 115307, + "ĠпÑĸдпÑĢиÑĶмÑģÑĤва": 115308, + "à¹ij": 115309, + "è¿Ŀ": 115310, + "ĠÙħÙĨÙĩ": 115311, + "ÑĢик": 115312, + "аÑĢÑĸв": 115313, + "Ġкого": 115314, + "ĠÙĤص": 115315, + "ĠæĿ¥": 115316, + "ĠPhòng": 115317, + "Ġово": 115318, + "ĠпеÑĢева": 115319, + "飲": 115320, + "à¤Ĥà¤Łà¤°": 115321, + "ÙĬرا": 115322, + "ildiÄŁi": 115323, + "etin": 115324, + "Ïĩεία": 115325, + "Ġzahrani": 115326, + "ÙĪØ¬Ø¯": 115327, + "Ġç¯": 115328, + "ารย": 115329, + "Ġзако": 115330, + "ĠتÙĤس": 115331, + "ãĤ¹ãĤ¿ãĥ¼": 115332, + "æĿ°": 115333, + "ĠãĤ°": 115334, + "Ġé»Ħ": 115335, + "ĠÐļогда": 115336, + "५": 115337, + "Ġ次": 115338, + "ĠвÑĭÑĢаж": 115339, + "ĠchÄĥm": 115340, + "лÑıÑĶÑĤÑĮÑģÑı": 115341, + "دÙĩÙħ": 115342, + "Ġvrch": 115343, + "çºĮ": 115344, + "поÑĢ": 115345, + "ĠmaÄŁ": 115346, + "å¾ĴæŃ©": 115347, + "podob": 115348, + "ะà¹ģ": 115349, + "é쏿īĭ": 115350, + "帯": 115351, + "Ġsebou": 115352, + "inize": 115353, + "ĠÐľÐ°Ðº": 115354, + "ĠæĻ®": 115355, + "ĠÏħÏĢάÏģÏĩ": 115356, + "ĠÄIJÃł": 115357, + "ĠBrno": 115358, + "ĠÅ¡ÃŃ": 115359, + "اÙĦص": 115360, + "Ġnghiêm": 115361, + "Ġonları": 115362, + "ĠužÃŃ": 115363, + "èĩªåĪĨãģ®": 115364, + "ĠнаÑħодиÑĤÑģÑı": 115365, + "Ġjsi": 115366, + "Ġसमर": 115367, + "ĠÏĨÏī": 115368, + "Û±Û¹Û¸": 115369, + "Ġà¤ľà¤Ĺह": 115370, + "éŃļ": 115371, + "ìĿ¸ê°Ģ": 115372, + "ÄIJiá»ģu": 115373, + "ĠأعÙĦاÙħ": 115374, + "à¥ĩà¤Ĥ।Ċ": 115375, + "å½¢æĪIJ": 115376, + "Ġikt": 115377, + "Ġzdroj": 115378, + "ĠAmerik": 115379, + "ΡÎĵ": 115380, + "à¸ĩส": 115381, + "ĠíĴĢ": 115382, + "ÑģолÑİÑĤ": 115383, + "ÙĪÙĬت": 115384, + "Ġgörüntü": 115385, + "аннÑĭÑħ": 115386, + "ĠØ£ÙĤ": 115387, + "ĠмиÑĢ": 115388, + "å«Į": 115389, + "Ġmá»iji": 115390, + "Ġderin": 115391, + "éĴĪ": 115392, + "ĠмаÑĪи": 115393, + "측": 115394, + "ĠجÙĨÙĪØ¨": 115395, + "ĠÑģло": 115396, + "ãĢĤä¸Ģ": 115397, + "ениÑıÑħ": 115398, + "ĠÑĩоловÑĸк": 115399, + "Ġyana": 115400, + "ĠокÑĤ": 115401, + "ĠнеÑĢ": 115402, + "æĪ¶": 115403, + "нÑĮомÑĥ": 115404, + "ĠÑĸмен": 115405, + "ãĤıãģŁãģĹ": 115406, + "ĠÎĵια": 115407, + "ãĢģç§ģ": 115408, + "Ġkou": 115409, + "ĠÑĨеÑĢк": 115410, + "layarak": 115411, + "ãĢĩ": 115412, + "اÙĦس": 115413, + "ÂłT": 115414, + "ĠдÑĢÑĥж": 115415, + "ĠдвоÑĢ": 115416, + "λί": 115417, + "ĠëĨĢ": 115418, + "Ġteplot": 115419, + "ÙģØ§Øª": 115420, + "бÑĸ": 115421, + "Ġgüvenlik": 115422, + "nÄĽn": 115423, + "è©©": 115424, + "Ġinsanların": 115425, + "ĠìĦ¤ì¹ĺ": 115426, + "èĵĿ": 115427, + "avatel": 115428, + "jev": 115429, + "ĠÚĨرا": 115430, + "Ġgerekiyor": 115431, + "ãĥĥãĤ°": 115432, + "ĠÃĩok": 115433, + "ĠÙĪØ¬Ùĩ": 115434, + "ĠÑĥли": 115435, + "Âij": 115436, + "åijĢ": 115437, + "ĠоÑĢганизаÑĨии": 115438, + "ĠÑĸÑģнÑĥ": 115439, + "Ġnebude": 115440, + "Ġë°¤": 115441, + "ä¸ĬãģĮ": 115442, + "Ġधन": 115443, + "ĠرÙĪØ§Ø¨Ø·": 115444, + "γγελ": 115445, + "ĠдоÑģÑıг": 115446, + "ĠاÙĦÙĤدÙħ": 115447, + "ĠзнаÑħод": 115448, + "ĠÄįÃŃslo": 115449, + "ÅŁk": 115450, + "ĠاÙĦدÙĬÙĨ": 115451, + "Ġgünlük": 115452, + "ÙĥÙĬÙĬÙģ": 115453, + "ÎŃÏģα": 115454, + "à¸ķรว": 115455, + "ĠналиÑĩи": 115456, + "اÙħÛĮÙĨ": 115457, + "Ġμικ": 115458, + "Ġdönemde": 115459, + "à¹Īà¸Ĺ": 115460, + "æĥij": 115461, + "à¥ĭà¤Ĥ,": 115462, + "ÑĩÑı": 115463, + "ãģ¾ãĤĭ": 115464, + "ĠاÙĦتÙĨ": 115465, + "ÑĢаг": 115466, + "ëĵ¤ê³¼": 115467, + "ŃĶ": 115468, + "ĠÙħÙĨÙĩا": 115469, + "ĠThế": 115470, + "éIJµ": 115471, + "Ġï¾Ħ": 115472, + "ĠاÙĦإسÙĦاÙħ": 115473, + "ãĤ¦ãĤ¹": 115474, + "ÙĬدÙĬ": 115475, + "Ġå¾Ĺ": 115476, + "ĠзаÑĢаз": 115477, + "ãĤ¸ãĥ¥": 115478, + "Ġتعد": 115479, + "iÃŃ": 115480, + "Ġçocu": 115481, + "ozici": 115482, + "Ġë²Ķ": 115483, + "ĠØ¢ÙħدÙĩ": 115484, + "ÑĦик": 115485, + "ĠпоÑģÑĤанов": 115486, + "Ġkrálov": 115487, + "¨¨": 115488, + "Ġì¤ijìļĶ": 115489, + "ĠGWei": 115490, + "Ġvývoj": 115491, + "Ġboyut": 115492, + "Ġnek": 115493, + "اÙĩاÛĮ": 115494, + "ĠstranÄĽ": 115495, + "ием": 115496, + "ĠпоÑĢаж": 115497, + "à¥įरदर": 115498, + "é¡ĶãĤĴ": 115499, + "ĠYüz": 115500, + "ĠознаÑĩа": 115501, + "à¹ģลà¸Ļà¸Ķ": 115502, + "ĠبÙĩرÙĩ": 115503, + "енÑĤÑĥ": 115504, + "ĠÐĿад": 115505, + "ĠÐŁÐ¾Ð»ÑĮ": 115506, + "ãĥĹãĥª": 115507, + "á¿¶": 115508, + "âĢĮپدÛĮاÛĮ": 115509, + "ĠپاÙĪØ±Ù¾ÙĪÛĮÙĨت": 115510, + "ิà¸ģา": 115511, + "ĠενÏİ": 115512, + "ĠساÛĮر": 115513, + "éģº": 115514, + "ãĢģä»Ĭ": 115515, + "ĠLê": 115516, + "äºĭæĥħ": 115517, + "ĠYer": 115518, + "èħ°": 115519, + "ĠاÙĦرسÙħ": 115520, + "ĠاÙĦÙħÙĪÙĤع": 115521, + "ĠhÃłm": 115522, + "ĠдÑĢев": 115523, + "átel": 115524, + "ĠвÑģÑij": 115525, + "ìĺ¥": 115526, + "ĠMec": 115527, + "ãĤĽ": 115528, + "Ġصاد": 115529, + "Ġگردد": 115530, + "Ġkrás": 115531, + "èĮĥåĽ´": 115532, + "alarına": 115533, + "èĻļ": 115534, + "ĠØ¢ÙĪØ±Ø¯": 115535, + "ç¼ĵ": 115536, + "ิà¸ŀ": 115537, + "Ġãĥĭ": 115538, + "ĠæĢ§": 115539, + "ĠÙħÙĨذ": 115540, + "ç·´": 115541, + "Ġê¶ģ": 115542, + "ваем": 115543, + "ĠζÏī": 115544, + "Ġnavr": 115545, + "ÏĥÏĦαÏĥη": 115546, + "Ġرأ": 115547, + "Ġdopl": 115548, + "___": 115549, + "çĶļèĩ³": 115550, + "Äįel": 115551, + "æĦıåij³": 115552, + "ç¥Ń": 115553, + "Ãĺ": 115554, + "ÑģÑĤвеннÑĭе": 115555, + "裡": 115556, + "ĠãĢī": 115557, + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ": 115558, + "Ġвал": 115559, + "Ġẩm": 115560, + "Ġdiyor": 115561, + "à¸Ńà¸ĩà¸Īาà¸ģ": 115562, + "ĠPhó": 115563, + "ĠÐĵе": 115564, + "ĠвеÑĢеÑģ": 115565, + "Ġkonz": 115566, + "رز": 115567, + "ĠÑģобоÑİ": 115568, + "Ġεκεί": 115569, + "ìĺģìĸ´": 115570, + "iag": 115571, + "ĠÑģенÑĤ": 115572, + "Ġnấu": 115573, + "Ġjaké": 115574, + "Ġrozh": 115575, + "Ġбог": 115576, + "ÙĨاد": 115577, + "ĠاÙħÙĪØ±": 115578, + "à¹Įà¸ģาร": 115579, + "ĠYaÅŁ": 115580, + "éĪ": 115581, + "åķª": 115582, + "Ġonay": 115583, + "ìĹĩ": 115584, + "omu": 115585, + "ÑĨÑĸйного": 115586, + "ĠÑģал": 115587, + "ĠΣÏħν": 115588, + "Ġsavun": 115589, + "å¦Ļ": 115590, + "à¸Īะม": 115591, + "ãĤ¹ãĤ¯": 115592, + "Ġdosy": 115593, + "ľĺ": 115594, + "먹": 115595, + "Ġminul": 115596, + "ãĢĭĊ": 115597, + "åģı": 115598, + "ĠÐļаÑĤ": 115599, + "Ġedilmesi": 115600, + "ÑĨÑĸÑĶн": 115601, + "ìĦ±ìĿ´": 115602, + "åĸĶ": 115603, + "ĠвÑĸÑĢ": 115604, + "è¯ij": 115605, + "ाà¤ĩड": 115606, + "ĠÙĪÙĤتÛĮ": 115607, + "ÄIJá»ĥ": 115608, + "ĠvyššÃŃ": 115609, + "Äįila": 115610, + "адÑĥ": 115611, + "çī¹åĪ¥": 115612, + "ĠìĿ¸ê¸°": 115613, + "ujÃŃcÃŃch": 115614, + "ĠPodle": 115615, + "ĠyavaÅŁ": 115616, + "Ļæ±Ł": 115617, + "Ġkayb": 115618, + "åĬª": 115619, + "ç´¹": 115620, + "ĠобÑĢабоÑĤ": 115621, + "ĠмаÑı": 115622, + "ĠåıĬ": 115623, + "æİ¥åıĹ": 115624, + "ÙĨتÛĮ": 115625, + "ĠÏĩÏİ": 115626, + "ÑĤÑĢо": 115627, + "Ġuyar": 115628, + "ĠعÙħÙĦکرد": 115629, + "ĠоÑĨен": 115630, + "ĠмеÑģÑĤа": 115631, + "à¸ķลาà¸Ķ": 115632, + "ÙħÙĤ": 115633, + "ildren": 115634, + "ĠзавиÑģиÑĤ": 115635, + "ÂłĠÂł": 115636, + "Ġmožná": 115637, + "æĺŃåĴĮ": 115638, + "ırken": 115639, + "кин": 115640, + "åĿĤ": 115641, + "ÏĦÏĥι": 115642, + "ĠÑĩÑĥд": 115643, + "Ðļон": 115644, + "islav": 115645, + "ĠÐļÑĢаÑģ": 115646, + "Nej": 115647, + "Âłb": 115648, + "rof": 115649, + "Ġileri": 115650, + "ĠÐŀÑĢ": 115651, + "ĠChá»ī": 115652, + "Ġnüfus": 115653, + "ĠÑĸнÑĤ": 115654, + "!âĢľ": 115655, + "Ġनर": 115656, + "主ä¹ī": 115657, + "ĠتÙĨظ": 115658, + "ůvodu": 115659, + "ĠгоÑĢода": 115660, + "Ġkural": 115661, + "Ġjedin": 115662, + "ÑĢаÑĤег": 115663, + "åĢº": 115664, + "Ġzpůsobem": 115665, + "ìĿ¸ìĿĺ": 115666, + "ĠÙĨب": 115667, + "ĠNga": 115668, + "ĠÐĿай": 115669, + "ĠاÙģØ²Ø§Ø±": 115670, + "нÑĥвÑģÑı": 115671, + "ĠдвоÑħ": 115672, + "Ġrozp": 115673, + "είοÏħ": 115674, + "Ġοικο": 115675, + "ĠGeç": 115676, + "ÂĹ": 115677, + "Ġchiếm": 115678, + "ĠÑĢаÑģпÑĢоÑģÑĤÑĢан": 115679, + "Ġhương": 115680, + "èĩªåĭķ": 115681, + "ĠÙħÙĪÙģÙĤ": 115682, + "æĮ¥": 115683, + "ï¼ģâĢĿĊĊ": 115684, + "ÏģοÏĨοÏģ": 115685, + "èıĮ": 115686, + "ãĥ´ãĤ¡": 115687, + "欧ç¾İ": 115688, + "ĠÑĤепло": 115689, + "ãģĤãģĤ": 115690, + "ãĤ¦ãĥ³": 115691, + "ĠÅŁeyi": 115692, + "Ġsüt": 115693, + "ãģ¹ãģ¦": 115694, + "ãĥ³ãĥij": 115695, + "μÎŃνÏīν": 115696, + "Ġgenellikle": 115697, + "ĠدرÙħاÙĨ": 115698, + "Ùª": 115699, + "Ġakıl": 115700, + "ĠÐľÑĭ": 115701, + "ĠetmiÅŁ": 115702, + "Å¡la": 115703, + "ĠвозможноÑģÑĤÑĮ": 115704, + "Ġgüncel": 115705, + "Ġnáro": 115706, + "å½¢å¼ı": 115707, + "ĠαÏĢοÏĦε": 115708, + "ĠмÑĸÑģÑĨÑı": 115709, + "Ġرض": 115710, + "ä¸įçŁ¥éģĵ": 115711, + "rava": 115712, + "ĠÎļά": 115713, + "ิà¸Ļà¸Ĺร": 115714, + "ĠлиÑģÑĤÑĮ": 115715, + "èĨľ": 115716, + "ãģ«ãģªãĤĬ": 115717, + "ĠæĿ¾": 115718, + "å®ı": 115719, + "ĠмиÑģ": 115720, + "átnÃŃ": 115721, + "Ġyıllık": 115722, + "ĠMerkezi": 115723, + "Ġiçeri": 115724, + "ÅĻÃŃž": 115725, + "ĠpÅĻe": 115726, + "ÏĩÏģι": 115727, + "Ġåįĥ": 115728, + "Ġsrp": 115729, + "à¹Ĥà¸Ĺร": 115730, + "ĠKrál": 115731, + ".Σ": 115732, + "ával": 115733, + "léd": 115734, + "Ġλα": 115735, + "ียวà¸ģ": 115736, + "ãģıãģª": 115737, + "ĠvÅ¡ichni": 115738, + "ĠпÑĢедоÑģÑĤав": 115739, + "ì¿": 115740, + "Ġ구ê¸ĢìĥģìľĦ": 115741, + "Ġà¤īपलब": 115742, + "воз": 115743, + "ĠëħĦëıĦë³Ħ": 115744, + "、_": 115745, + "à¸ļรร": 115746, + "ĠÑģвÑĸÑĤÑĥ": 115747, + "ĠÑĢÑĥблей": 115748, + "lenme": 115749, + "lÃŃÄį": 115750, + "ÏĦει": 115751, + "Ġåı¤": 115752, + "ĠObrázky": 115753, + "Ġìĺģíĸ¥": 115754, + "ĠгÑĢаждан": 115755, + "íĤ¹": 115756, + "Ġsahiptir": 115757, + "ĠпоÑĩаÑĤкÑĥ": 115758, + "ĠØ£ÙĬض": 115759, + "ĠÑĤоÑĢгов": 115760, + "Ġgelecek": 115761, + "Ġ문íĻĶ": 115762, + "ikleri": 115763, + "ĠнеобÑħÑĸдно": 115764, + "Ġäºij": 115765, + "ovol": 115766, + "Ġदल": 115767, + "ĠìķĬê³ł": 115768, + "Ġмг": 115769, + "Ġzjist": 115770, + "anlı": 115771, + "ัà¸ĩà¸Ļ": 115772, + "ÑĢаÑħов": 115773, + "ινη": 115774, + "ĠплоÑĤ": 115775, + "Ġnitel": 115776, + "ìĬ¤íģ¬": 115777, + "ĠSonra": 115778, + "ĠÑģбоÑĢ": 115779, + "ĠÏĥοÏħ": 115780, + "Ġolmam": 115781, + "Ġanaliz": 115782, + "à¹Įว": 115783, + "Ġmỹ": 115784, + "ceae": 115785, + "Ġден": 115786, + "веÑĢжд": 115787, + "Ả": 115788, + "ãģĵãģ¨ãĤĤ": 115789, + "ìĤ¬íķŃ": 115790, + "è¨Ģãģ£ãģŁ": 115791, + "Ġì¹´ì§Ģëħ¸": 115792, + "ÑĢиÑĤи": 115793, + "Ġchce": 115794, + "Ġçevir": 115795, + "ÛĮÛĮÙĨ": 115796, + "ä¼ļè®®": 115797, + "ัมà¸ŀ": 115798, + "ĠåĦ": 115799, + "Ġپدر": 115800, + "å¼ıä¼ļ社": 115801, + "ĠÑĨен": 115802, + "ิà¸ĸ": 115803, + "Ġjinak": 115804, + "ĠблÑİ": 115805, + "иÑĨин": 115806, + "ÙĴÙĩ": 115807, + "Ú©ÙĪØ±": 115808, + "Ġìķħ": 115809, + "eksiyon": 115810, + "ĠÑģвеÑĢ": 115811, + "ĠобÑĢазованиÑı": 115812, + "ĠãĥĻ": 115813, + "æľī人": 115814, + "Ġbilgileri": 115815, + "Ġhầu": 115816, + "еÑĢÑĸг": 115817, + "ĠvaÅ¡e": 115818, + "Ġnedir": 115819, + "ä¸įå¾Ĺ": 115820, + "ĠbaÅŁarılı": 115821, + "Ġkaybet": 115822, + "å©·": 115823, + "ĠÐĿав": 115824, + "Ġê´Ģíķľ": 115825, + "ÑģÑĤÑİ": 115826, + "å®ŀéĻħ": 115827, + "klady": 115828, + "даÑĤÑĮ": 115829, + "raç": 115830, + "Ġkuvvet": 115831, + "à¸ģารà¸Ĺ": 115832, + "åļ": 115833, + "ĠÑĢеп": 115834, + "Ġà¸Ŀ": 115835, + "ĠDiÄŁer": 115836, + "íĶĦíĬ¸": 115837, + "ĠnejvÄĽtÅ¡ÃŃ": 115838, + "Ġìłģìļ©": 115839, + "ĠonemocnÄĽnÃŃ": 115840, + "ака": 115841, + "ÐłÐ°Ð·": 115842, + "ĠÙ쨥ÙĨ": 115843, + "ãĤµãĤ¤ãĤº": 115844, + "Ġvlád": 115845, + "Ġrady": 115846, + "ãĢģãģĵãĤĮ": 115847, + "ÑģÑĤвие": 115848, + "lıģa": 115849, + "åŃĶ": 115850, + "Ġáo": 115851, + "à¸Ńาà¸ģาศ": 115852, + "Ġà¤ıम": 115853, + "δαÏĤ": 115854, + "ĠапÑĢ": 115855, + "æİĽ": 115856, + "Ġç«ĭ": 115857, + "âĸıâĸı": 115858, + "ĠСм": 115859, + "Ġnemá": 115860, + "Ġè¢": 115861, + "νομα": 115862, + "ĠÙ쨱ÙĪØ¯": 115863, + "Ġülke": 115864, + "ĠæĺŁ": 115865, + "ัà¸Ļà¸ģ": 115866, + "ãģķãĤĵãģ®": 115867, + "eÅŁil": 115868, + "ÄŁiz": 115869, + "ĠÐijоÑĢ": 115870, + "Ġtầm": 115871, + "ειÏĦοÏħÏģγ": 115872, + "ĠγÏģα": 115873, + "à¥įषà¤ķ": 115874, + "Ġvẻ": 115875, + "Ġkendisine": 115876, + "ĠìķĮê³ł": 115877, + "ĠêµŃìłľ": 115878, + "ĠnÄĽkdo": 115879, + "ĠÛĮÙĩ": 115880, + "Ġکاربر": 115881, + "ãĥĻãĥ«": 115882, + "ï»´": 115883, + "Ġtuyên": 115884, + "Ġçat": 115885, + "âĢIJâĢIJ": 115886, + "Âı": 115887, + "ĠìĤ¬ìĹħ": 115888, + "éĨĴ": 115889, + "æıIJé«ĺ": 115890, + "æ·¡": 115891, + "ĠÄŁ": 115892, + "èĸ¦": 115893, + "ãĢĭï¼Ī": 115894, + "æ¡ĥ": 115895, + "ìĹĦ": 115896, + "ĠæŀĹ": 115897, + "ÄĤ": 115898, + "ĠÄĮech": 115899, + "αιο": 115900, + "ĠطرÙĬÙĤ": 115901, + "ĠзавеÑĢÑĪ": 115902, + "تÙĪØ¨Ø±": 115903, + "ĠØŃج": 115904, + "ĠÎŃÏĩοÏħν": 115905, + "¿ÃĤ": 115906, + "ĠdÄĽtÃŃ": 115907, + "Ġiçine": 115908, + "ĠChúa": 115909, + "аннÑĭй": 115910, + "ĠÙĪÛĮÚĺ": 115911, + "Ġnastav": 115912, + "ısına": 115913, + "ĠÑĹм": 115914, + "пон": 115915, + "енÑı": 115916, + "ĠÙĪØ¸": 115917, + "Ú¯ÙĦ": 115918, + "หลวà¸ĩ": 115919, + "Ġzastav": 115920, + "акон": 115921, + "³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³³": 115922, + "ĠKır": 115923, + "çµ¶": 115924, + "ĠоÑĢганÑĸзаÑĨÑĸÑĹ": 115925, + "ãģŁãĤĬ": 115926, + "ذÙĬ": 115927, + "Ġरà¤ķ": 115928, + "ampiyon": 115929, + "Ġæ¸ħ": 115930, + "çľ¼çĿĽ": 115931, + "ĠìķĬìĿĢ": 115932, + "鹿": 115933, + "Ġå¿ĥ": 115934, + "ĠпÑĢекÑĢаÑģ": 115935, + "ĠÑģегоднÑı": 115936, + "Ġसल": 115937, + "ĠÏħÏĢÏĮ": 115938, + "ĠÐķго": 115939, + "ĠÐĽÐ¸": 115940, + "ãĤ¨ãĥ«": 115941, + "ĠлÑİÑĤ": 115942, + "饰": 115943, + "Ġvzdál": 115944, + "¯ÃĤ": 115945, + "ĠнаÑıв": 115946, + "ĠتشکÛĮÙĦ": 115947, + "ĠسÙĪÛĮ": 115948, + "Ġtái": 115949, + "Ġkapı": 115950, + "ĠsvÄĽtÄĽ": 115951, + "δÏĮν": 115952, + "æ¼¢": 115953, + "ìį¨": 115954, + "ĠbaÅŁvur": 115955, + "ÑĢина": 115956, + "Ġkelim": 115957, + "аÑĤок": 115958, + "Ġκάθε": 115959, + "ĠYüksek": 115960, + "à¹ĩà¸Ļà¸ľ": 115961, + "éłĤ": 115962, + "åIJĮæĻĤ": 115963, + "ÅŁtır": 115964, + "วà¸ĩศ": 115965, + "oty": 115966, + "Ġارد": 115967, + "ĠìŀIJìĭłìĿĺ": 115968, + "ĠÑıнва": 115969, + "üyordu": 115970, + "æĿ¨": 115971, + "ĠâĢĵĊ": 115972, + "ï¼Įå®ĥ": 115973, + "ейн": 115974, + "ĠпеÑĢеÑĤ": 115975, + "ĠdeÄŁiÅŁiklik": 115976, + "ĠогÑĢаниÑĩ": 115977, + "ìĦľìļ¸": 115978, + "Ġgeliyor": 115979, + "ĠپذÛĮر": 115980, + "åĵ²": 115981, + "eyin": 115982, + "ĠëıĪ": 115983, + "Ġuniverz": 115984, + "Ġhned": 115985, + "ĠtáºŃn": 115986, + "voÅĻÃŃ": 115987, + "Ġniên": 115988, + "dÄĽpodob": 115989, + "ìĤ¬íļĮ": 115990, + "ãģĮãģĤãĤĬ": 115991, + "ĠÑģÑĸÑĩ": 115992, + "''\"": 115993, + "Ġtoplantı": 115994, + "ĠÑģÑĩеÑĤ": 115995, + "åĩĨå¤ĩ": 115996, + "анÑĸÑı": 115997, + "Ġzel": 115998, + "vala": 115999, + "Ġапп": 116000, + "ĠاÙĦÙħÙĦÙĥ": 116001, + "ĠhoÅŁ": 116002, + "ĠÐĵен": 116003, + "ÑĤаб": 116004, + "ĠÄĮesko": 116005, + "Ġмайже": 116006, + "ĠmÄĽsto": 116007, + "yonel": 116008, + "거리": 116009, + "Ġìĺ¨ëĿ¼ìĿ¸": 116010, + "ç´¯": 116011, + "Ġderec": 116012, + "ĠокÑĢÑĥж": 116013, + "Ġyabancı": 116014, + "ĠíĦ°": 116015, + "ĠèµĦ": 116016, + "ÎĻÎļÎĹ": 116017, + "ĠпÑĭ": 116018, + "ĠvÄĽn": 116019, + "инки": 116020, + "ụp": 116021, + "æľºæ¢°": 116022, + "ĠìķĮ볤": 116023, + "ëħķ": 116024, + "ĠλÏĮγ": 116025, + "eyn": 116026, + "ĠëIJĺìĹĪëĭ¤": 116027, + "污": 116028, + "Ġvedle": 116029, + "ĠÙĥتب": 116030, + "맨": 116031, + "ĠÙħÙĤاÙĪ": 116032, + "å¹´ãģ«": 116033, + "ाà¤ĩà¤ķ": 116034, + "ĠÑģÑĤоÑģ": 116035, + "ĠÏĥÏĦοÏħÏĤ": 116036, + "меÑĤÑĮ": 116037, + "Ġesas": 116038, + "ëIJĺê³ł": 116039, + "ĠkvÄĽtna": 116040, + "Ġéľ": 116041, + "dük": 116042, + "åŁ·": 116043, + "èªĮ": 116044, + "Ġmluv": 116045, + "ĠпÑĢинÑı": 116046, + "Ġpoté": 116047, + "ĠÚ©ÙĨÙħ": 116048, + "ĠпÑĢедлож": 116049, + "ĠÐľÐ¾Ñģква": 116050, + "ï¼Įå¦Ĥ": 116051, + "Ġsvém": 116052, + "ĠاÙħÙĨ": 116053, + "สาย": 116054, + "ĠÑĥменÑĮ": 116055, + "Ġãģĵãģ®": 116056, + "åīĤ": 116057, + "ĠÑģеÑĢÑĮ": 116058, + "Ġmá»ĩ": 116059, + "Ġä¹Ŀ": 116060, + "ĠзакÑĸн": 116061, + "ĠвелиÑĩ": 116062, + "ĠконÑĤÑĢа": 116063, + "ĠSosyal": 116064, + "Ġyukarı": 116065, + "ĠدÙĪØ¨": 116066, + "ä¾§": 116067, + "Ġзамен": 116068, + "ï»®": 116069, + "ĠsobÄĽ": 116070, + "ĠТакже": 116071, + "Ðİ": 116072, + "εδ": 116073, + "ÙħارÛĮ": 116074, + "ξι": 116075, + "ì¹Ń": 116076, + "ĠплаÑģÑĤи": 116077, + "ÏĥοÏħν": 116078, + "èľĺèĽĽè¯į": 116079, + "ÙĪÛĮزÛĮ": 116080, + "ĠnapÅĻ": 116081, + "ĠÑĤипа": 116082, + "à¥Ĥà¤Ľ": 116083, + "ĠÅŁah": 116084, + "лÑıÑĤи": 116085, + "بÛĮر": 116086, + "ระยะ": 116087, + "ĠболÑĮÑĪин": 116088, + "ÏĦηÏĦα": 116089, + "Ġíıīê°Ģ": 116090, + "Ġprojev": 116091, + "òi": 116092, + "ĠкнÑı": 116093, + "ÏĨεÏģ": 116094, + "еÑĢÑĥ": 116095, + "Ñįн": 116096, + "ĠعÙħÙĦÛĮ": 116097, + "à¤łà¤¨": 116098, + "ãĥ³ãĤ¯": 116099, + "ĠìķĦëŀĺ": 116100, + "ÎĪ": 116101, + "Ġباست": 116102, + "ĠتÙĥ": 116103, + "aÄįnÃŃ": 116104, + "ĠлÑĸкÑĥваннÑı": 116105, + "à¸Ħà¹Ĥà¸Ļ": 116106, + "Ġèĥ½": 116107, + "θλη": 116108, + "lenmiÅŁ": 116109, + "Ġlá»Ļ": 116110, + "Ġsilah": 116111, + "ĠAustr": 116112, + "ØŃÙĤ": 116113, + ".***.***": 116114, + "ì©": 116115, + "ĠgÃł": 116116, + "ĠبازبÛĮÙĨÛĮ": 116117, + "ĠÄijÃłn": 116118, + "ÃŃky": 116119, + "ĠÎķν": 116120, + "ضÙħ": 116121, + "å§ĵ": 116122, + "ĠÙĨÙĪÛĮس": 116123, + "Ġskupiny": 116124, + "ĠسÛĮد": 116125, + "Ġaldıģı": 116126, + "meli": 116127, + "виж": 116128, + "ì¹ĺëĬĶ": 116129, + "оваÑħ": 116130, + "Ġæ©": 116131, + "Ø´ÙĨاسÛĮ": 116132, + "Ġnimi": 116133, + "ĠÐĵÑĢи": 116134, + "íĹĮ": 116135, + "Ġкв": 116136, + "éŁĵ": 116137, + "ĠíĽĦ기": 116138, + "ĠstÅĻÃŃ": 116139, + "ĠкÑĸлÑĮкÑĸÑģÑĤÑĮ": 116140, + "ĠBakanlıģı": 116141, + "ĠменÑĮÑĪе": 116142, + "اÙĪÛĮ": 116143, + "ĠارÙĪÙ¾": 116144, + "Ġèī²": 116145, + "ĠÚ©ÙĪÚĨÚ©": 116146, + "ĠAynı": 116147, + "ĠäºĨ": 116148, + "ĠسÙ쨱": 116149, + "ĠÑĤеаÑĤ": 116150, + "ĠvÄĽd": 116151, + "аÑĢов": 116152, + "Ġобмеж": 116153, + "ĠìķĬìķĺ": 116154, + "追åĬł": 116155, + "éłĪ": 116156, + "dÄĽlenÃŃ": 116157, + "Ġkims": 116158, + "Ġèı²": 116159, + "ĠгÑĢÑĥн": 116160, + "ĠØ¢ÙĦÙħاÙĨ": 116161, + "Ġавг": 116162, + "ĠÑīоÑģÑĮ": 116163, + "Ġå¾·": 116164, + "ĠÐĿаÑĨÑĸоналÑĮ": 116165, + "æĪIJç«ĭ": 116166, + "ูà¸Ļย": 116167, + "ãĥ¼ãĥ«ãĥī": 116168, + "éĽ²": 116169, + "ĠTá»ķ": 116170, + "cılık": 116171, + "ĠAlmanya": 116172, + "ĠovÅ¡em": 116173, + "Âĭ": 116174, + "ĠÏĩÏģηÏĥιμοÏĢοι": 116175, + "Ġörgüt": 116176, + "िसस": 116177, + "èĹĿ": 116178, + "ĠGiải": 116179, + "Ġsvob": 116180, + "Ġrůzných": 116181, + "Ġsmlouvy": 116182, + "ÑĢеÑģÑģ": 116183, + "ีà¹Ģà¸Ķ": 116184, + "ĠاÙħرÙĪØ²": 116185, + "ãĤħ": 116186, + "åĿ¦": 116187, + "à¹īà¸Ħ": 116188, + "Ġкаж": 116189, + "å¼Ĺ": 116190, + "ÑĩноÑĹ": 116191, + "åľĪ": 116192, + "ĠØ¢ÙĩÙĨÚ¯": 116193, + "몰": 116194, + "Ġæº": 116195, + "ĠèĦ": 116196, + "ä¸ĢæŃ¥": 116197, + "оÑĩка": 116198, + "Ġprostor": 116199, + "Ġngắn": 116200, + "Ġç·": 116201, + "наÑĢ": 116202, + "Ġà¤ľà¤µ": 116203, + "ĠнаÑĩалÑĮ": 116204, + "Ġнедел": 116205, + "ĠÑģиÑģÑĤемÑĥ": 116206, + "جÙĬ": 116207, + "ادات": 116208, + "Ġæ¢": 116209, + "ĠجاÙħعة": 116210, + "Ġä»İ": 116211, + "Ġà¤ħफ": 116212, + "èĸĦ": 116213, + "ĠباÙĤ": 116214, + "بÙĬع": 116215, + "ãģķãĤĮãģ¦": 116216, + "ĠÃĩalÄ±ÅŁ": 116217, + "Ø®ÙĪØ§Ø³Øª": 116218, + "ãĥĥãĤ·ãĥ¥": 116219, + "ĠØŃسÛĮÙĨ": 116220, + "ĠобнаÑĢÑĥж": 116221, + "вÑĸдом": 116222, + "Ġhôm": 116223, + "ланд": 116224, + "Ġà¤µà¤ľà¤¹": 116225, + "سÙĬÙĨ": 116226, + "æłı": 116227, + "ĠnavÃŃc": 116228, + "ãĤµãĤ¤ãĥĪ": 116229, + "ĠÑıкомÑĥ": 116230, + "ĠíĽ": 116231, + "ĠYani": 116232, + "ãĤĵãģ§ãģĻ": 116233, + "ĠгÑĢÑĥп": 116234, + "Äįný": 116235, + "ÑĨик": 116236, + "ÙĪÙĬر": 116237, + "ĠXã": 116238, + "Ġfyz": 116239, + "Ġï½ī": 116240, + "âĢĮترÛĮÙĨ": 116241, + "à¤Łà¤ķ": 116242, + "ÑĦоÑĢми": 116243, + "ĠOyun": 116244, + "åł´æīĢ": 116245, + "ØŃØ«": 116246, + "ĠìķĮìķĦ": 116247, + "ÑĢавилÑĮ": 116248, + "ï¼ĮâĢĿ": 116249, + "boru": 116250, + "ĠKullan": 116251, + "ĠKaynak": 116252, + "Ġê°ĸ": 116253, + "ç´Ķ": 116254, + "ï¼Įæ¯ı": 116255, + "ÎĹΡ": 116256, + "Ġpůl": 116257, + "ĠгоÑģÑĤ": 116258, + "رÙĪÙħ": 116259, + "ï¼Įåį³": 116260, + "Û²Û³": 116261, + "ĠÙĨخست": 116262, + "Ġکسب": 116263, + "Ġà¹Ģà¸ļ": 116264, + "Ġyazar": 116265, + "jekt": 116266, + "à¹Ĥลย": 116267, + "ĠдобÑĢе": 116268, + "ĠپزشکÛĮ": 116269, + "ĠتÙĩÛĮÙĩ": 116270, + "ç¾İåľĭ": 116271, + "ноÑģÑıÑĤ": 116272, + "ëłĪìĬ¤": 116273, + "åĹ¯": 116274, + "ĠrÃłng": 116275, + "ĠÎķξ": 116276, + "аÑĤаÑĢ": 116277, + "kova": 116278, + "ĠÅŁeyler": 116279, + "خاص": 116280, + "ĠìķĪìłĦ": 116281, + "Ñīей": 116282, + "Ġë°Ŀ": 116283, + "âĢĮتÙĪØ§ÙĨد": 116284, + "ãģĪãģ°": 116285, + "Ġvữ": 116286, + "ĠÑģама": 116287, + "ĠобоÑĢÑĥд": 116288, + "âĢĮباشد": 116289, + "à¹Įà¸Ń": 116290, + "Ġdetay": 116291, + "æĤ²": 116292, + "ÂĪ": 116293, + "ãĤ¦ãĤ£": 116294, + "ĠпÑĢавила": 116295, + "krét": 116296, + "à¹Įร": 116297, + "åĮ¹": 116298, + "Ġåħį": 116299, + "ĠÑģилÑĮно": 116300, + "ĠиÑģÑĤоÑĩ": 116301, + "ĠsaÄŁlar": 116302, + "ĠæŃ¦": 116303, + "íĸĪìĬµëĭĪëĭ¤": 116304, + "Không": 116305, + "à¹Īาà¸ĩà¹Ĩ": 116306, + "Û°Û°Û°": 116307, + "ĠرÙĤ": 116308, + "âĢĻÑıÑĤ": 116309, + "åĽ²": 116310, + "à¹ģà¸Ķà¸ĩ": 116311, + "Ġžádné": 116312, + "couz": 116313, + "Ãĭ": 116314, + "ĠпÑĸдгоÑĤов": 116315, + "ĠëĮĢíķĻ": 116316, + "Ġdünyanın": 116317, + "èĢģå¸Ī": 116318, + "èģĮä¸ļ": 116319, + "Ġyeri": 116320, + "à¥ĭà¤ķर": 116321, + "ĠبÙĩتر": 116322, + "ëĭĪìķĦ": 116323, + "ìĿĮìĿĦ": 116324, + "ĠæĮĩ": 116325, + "ãĢįï¼Ī": 116326, + "ĠÑģооÑĤвеÑĤÑģÑĤвии": 116327, + "æĬĵ": 116328, + "à¹Ĥà¸Ĺ": 116329, + "Ġtrá»ĵng": 116330, + "ĠпÑĢаÑĨÑĸ": 116331, + "ĠëĨĵ": 116332, + "à¤ĩन": 116333, + "Ġìłķë§IJ": 116334, + "ãĢķ": 116335, + "ĠcáºŃn": 116336, + "åĸĿ": 116337, + "Ġê³ĦìĨį": 116338, + "Ġä¸İ": 116339, + "å¥ı": 116340, + "ĠعاÙĦÙħ": 116341, + "ĠvysvÄĽt": 116342, + "ĠдоÑĢог": 116343, + "ĠнеÑĢв": 116344, + "ĠбеÑĤ": 116345, + "ĠпÑĢиÑĤ": 116346, + "овÑĭй": 116347, + "å·¡": 116348, + "ÙģØ§Ø¹": 116349, + "ÐļÐĺ": 116350, + "à¸ķรวà¸Ī": 116351, + "ĠÐľÐ°Ð¹": 116352, + "ëıĦë¡ľ": 116353, + "Ġzlat": 116354, + "ĠsaÄŁlam": 116355, + "Ïģαν": 116356, + "à¸Ĭร": 116357, + "å¹´ãģ®": 116358, + "à¸Ħรà¸Ńà¸ĩ": 116359, + "Âħ": 116360, + "Ġhoá": 116361, + "ĠдоволÑĮно": 116362, + "Ġolmaz": 116363, + "ĠpodmÃŃnky": 116364, + "ĠÑħозÑıй": 116365, + "æĻ´": 116366, + "ÑĢова": 116367, + "Ġlược": 116368, + "ानन": 116369, + "ĠкапиÑĤ": 116370, + "ĠÚĺØ§ÙĨ": 116371, + "æľīäºĽ": 116372, + "ĠповеÑĢÑħноÑģÑĤи": 116373, + "ĠÑĨÑĸн": 116374, + "üyle": 116375, + "Ġjazy": 116376, + "ĠPhú": 116377, + "Ġसन": 116378, + "åĩºåĶ®": 116379, + "ÂłÐ´": 116380, + "ĠãĤ¯": 116381, + "çͱäºİ": 116382, + "à¥įपत": 116383, + "ĠاÙĦخاÙħ": 116384, + "ĠاصÙĦاØŃ": 116385, + "ĠتÛĮ": 116386, + "Ġtato": 116387, + "å¹¹": 116388, + "æ³½": 116389, + "à¸Ńà¸ģà¸Īาà¸ģ": 116390, + "ÑĥлÑİ": 116391, + "ĠвÑģп": 116392, + "mekte": 116393, + "à¥Ģफ": 116394, + "ĠÚĺÙĪØ¦": 116395, + "Ġlá»ĩnh": 116396, + "âĢĮکرد": 116397, + "íı¬ì¸ł": 116398, + "anki": 116399, + "Ġëĵ±ë¡ĿëĮĢíĸī": 116400, + "ĠãĤĿ": 116401, + "Ġارزش": 116402, + "Ġthú": 116403, + "Ġấn": 116404, + "è¡Į为": 116405, + "ĠÑģнова": 116406, + "꾸": 116407, + "Ġsouhlas": 116408, + "Ġвозв": 116409, + "ÏģÎŃÏĢει": 116410, + "ĠнÑĸÑĩого": 116411, + "нож": 116412, + "ÑĤик": 116413, + "ãģ©ãģĵ": 116414, + "ĠоÑģнове": 116415, + "ãĤ¥": 116416, + "à¸Ľà¸£à¸°à¸Īำ": 116417, + "Ġà¸Ĺà¸Ńà¸ĩ": 116418, + "Ġeksik": 116419, + "ĠÙĦØ¥": 116420, + "ãģĭãģ®": 116421, + "Ġãģª": 116422, + "-प": 116423, + "Ïģει": 116424, + "ĠìłĦ문": 116425, + "าà¸ģล": 116426, + "βε": 116427, + "íĬ¹ë³Ħ": 116428, + "íķĺë©´ìĦľ": 116429, + "à¸Ħà¹Ĥà¸Ļà¹Ĥลย": 116430, + "Ġ好": 116431, + "Ġyayım": 116432, + "ë§ĮëĤ¨": 116433, + "ĠкиÑģлоÑĤ": 116434, + "ĠÑįнеÑĢг": 116435, + "çĸ¾": 116436, + "Ġدش": 116437, + "Ġsoruml": 116438, + "Ġзаклад": 116439, + "à¸Ĭà¸Ńà¸ļ": 116440, + "ĠÙ쨱ÙĩÙĨÚ¯ÛĮ": 116441, + "Ġà¤ıल": 116442, + "Ġë¹ĦêµIJ": 116443, + "lerce": 116444, + "ĠØ·ÙĦب": 116445, + "ãģ«ãģĹãģ¦": 116446, + "ĠÑıкоÑĹ": 116447, + "ĠاÙĦبتÙĩ": 116448, + "ĠÐľÐ°ÑĤ": 116449, + "åįĵ": 116450, + "Ġåħ¬åı¸": 116451, + "Ġsöyley": 116452, + "ĠìĥĪë¡ľìļ´": 116453, + "ĠÑĦаÑĢ": 116454, + "Ġaltına": 116455, + "Ġstavu": 116456, + "âĢĻı": 116457, + "alizace": 116458, + "ĠвиÑģÑĤÑĥп": 116459, + "æķĻå¸Ī": 116460, + "à¥Ģà¤ıस": 116461, + "odÄĽ": 116462, + "ĠÑĨÑĸл": 116463, + "ĠëĮĢìĥģ": 116464, + "ĠкоÑĤоÑĢом": 116465, + "ĠظرÙģ": 116466, + "éİ®": 116467, + "اÙģÙĬØ©": 116468, + "ĠìĹĨìĿ´": 116469, + "ĠμÏĮνο": 116470, + "ĠCÆ¡": 116471, + "寻": 116472, + "ÏĦιÏĥ": 116473, + "ĠãĤĦ": 116474, + "Ġjednoho": 116475, + "اا": 116476, + "etler": 116477, + "Ġवस": 116478, + "ĠÑĢазлиÑĩнÑĭÑħ": 116479, + "ĠجغراÙģ": 116480, + "Ġthừa": 116481, + "ĠгÑĢомадÑıн": 116482, + "॰": 116483, + "ĠاÙĦأخ": 116484, + "ĠнагÑĢÑĥз": 116485, + "績": 116486, + "à¥Ĥह": 116487, + "ĠпÑĢÑıмо": 116488, + "âĬ": 116489, + "ĠاÙĦØ£ÙĪÙĦÙī": 116490, + "æĸ°èģŀ": 116491, + "ĠìĥģíĻ©": 116492, + "itesi": 116493, + "ëį°ìĿ´íĬ¸": 116494, + "æŃ·": 116495, + "ï¼ĮèĢĮä¸Ķ": 116496, + "ãģ¯ãģļ": 116497, + "产çĶŁ": 116498, + "æ°ĹãģĮ": 116499, + "yslu": 116500, + "ìĸ´ëĤĺ": 116501, + "اکÙħ": 116502, + "âĢĥ": 116503, + ")ìĿĢ": 116504, + "ĠجستارÙĩاÛĮ": 116505, + "ÙĪØ«": 116506, + "ãħİ": 116507, + "Ġkavram": 116508, + "vál": 116509, + "æľŃ": 116510, + "æĤł": 116511, + "ìħĢ": 116512, + "hrad": 116513, + "ĠتÙĥÙĪÙĨ": 116514, + "ĠHòa": 116515, + "å¹´çļĦ": 116516, + "Ġçarp": 116517, + "Ġyolu": 116518, + "Ġdubna": 116519, + "ĠÐĴелик": 116520, + "Ġtôn": 116521, + "æķĮ": 116522, + "Ġcoi": 116523, + "Ġnakonec": 116524, + "ĠÑįÑĤÑĥ": 116525, + "íĨµëł¹": 116526, + "ÑĪел": 116527, + "Ġnebyl": 116528, + "inç": 116529, + "باÙĦØ¥ÙĨجÙĦÙĬزÙĬØ©": 116530, + "A": 116531, + "онÑĮ": 116532, + "ĠнемаÑĶ": 116533, + "Ġê³łê°Ŀ": 116534, + "ĠÙĤطع": 116535, + "ĠÑĤеÑĢиÑĤоÑĢÑĸÑĹ": 116536, + "人ãģ¯": 116537, + "ĠΣα": 116538, + "éĤ£äºĽ": 116539, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 116540, + "iosper": 116541, + "íĤ¨": 116542, + "raki": 116543, + "اÛĮج": 116544, + "ÂłC": 116545, + "ĠаналÑĸз": 116546, + "ãĤıãĤĬ": 116547, + "ĠìķĦëĭĮ": 116548, + "ĠاÙĦعÙħÙĦÙĬØ©": 116549, + "lament": 116550, + "黨": 116551, + "ujÃŃcÃŃm": 116552, + "Ġrẻ": 116553, + "ä¸įåΰ": 116554, + "Ġrezerv": 116555, + "ĠاÙĦذÙĬÙĨ": 116556, + "æĭ¥": 116557, + "Ðĺн": 116558, + "Ġतहत": 116559, + "resi": 116560, + "Ġãĥ¢": 116561, + "лев": 116562, + "ãĢĢr": 116563, + "Ġä»Ĭ": 116564, + "Ġödem": 116565, + "Ġpotrav": 116566, + "ĠêµIJìĪĺ": 116567, + "ÑĢеди": 116568, + "ĠÎļÎijÎĻ": 116569, + "ĠнаÑĩала": 116570, + "Ġизб": 116571, + "ĠbÅĻezna": 116572, + "Ġledna": 116573, + "ÑĢÑĥÑİÑĤ": 116574, + "ĠмоÑĤ": 116575, + "åıĹåΰ": 116576, + "ĠÑĢÑĥкÑĥ": 116577, + "Ỽm": 116578, + "adele": 116579, + "ĠÑĢозглÑı": 116580, + "åħIJ": 116581, + "ĠرÙĪØ§ÙĨ": 116582, + "аков": 116583, + "ÑĥÑĢÑĭ": 116584, + "Ġazal": 116585, + "ĠÑĥкÑĢа": 116586, + "пион": 116587, + "ĠÄįlovÄĽ": 116588, + "äºĮäºĮäºĮäºĮ": 116589, + "ابÙĬ": 116590, + "Ġaslında": 116591, + "ë¹Ī": 116592, + "ĠвÑĢаÑĩ": 116593, + "룹": 116594, + "ĠгенеÑĢа": 116595, + "à¸ģารส": 116596, + "ĠÑģовÑģем": 116597, + "ÙĪÙĦا": 116598, + "Ġशब": 116599, + "ाà¤ĸण": 116600, + "ستاÙĨÛĮ": 116601, + "æĬ½": 116602, + "Ġrůz": 116603, + "ĠíĮIJ매": 116604, + "à¸ģารà¸ķ": 116605, + "ائÛĮ": 116606, + "asal": 116607, + "ĠÑĢабоÑĤÑĥ": 116608, + "à¥ĭलन": 116609, + "Ġ马": 116610, + "Ġlai": 116611, + "ói": 116612, + "vap": 116613, + "ëħĦìĹIJëĬĶ": 116614, + "ĠпеÑĢедбаÑĩ": 116615, + "ĠплеÑĩ": 116616, + "iddet": 116617, + "ĠÑĩоÑĢ": 116618, + "iyan": 116619, + "ãĢĢãĢĢãĢĢãĢĢãĢĢĠãĢĢ": 116620, + "ĠØŃرÙģÙĩ": 116621, + "大éĺª": 116622, + "Ñĩого": 116623, + "Ġки": 116624, + "اÙĪÙĬ": 116625, + "ĠbaÅŁlan": 116626, + "Ġmerkezi": 116627, + "©©": 116628, + "Ġراست": 116629, + "ĠëĬĶ": 116630, + "ĠÑģÑĢав": 116631, + "ĠвнÑĥÑĤÑĢи": 116632, + "ãĢĢãĥİ": 116633, + "åĿĽ": 116634, + "ĠвÑĤ": 116635, + "::/": 116636, + "ĠsözleÅŁ": 116637, + "ĠverdiÄŁi": 116638, + "ิยม": 116639, + "ĠÐŁÑĢоÑĤ": 116640, + "Ùĥار": 116641, + "ĠبÙĨدÛĮ": 116642, + "ÙıÙĪ": 116643, + "缴æĴŃ": 116644, + "ĠÙħÙĦÙĬ": 116645, + "Ġnutné": 116646, + "ะà¹ģà¸Ļà¸Ļ": 116647, + "ĠMã": 116648, + "Ġì´": 116649, + "à¹Īาม": 116650, + "моÑģ": 116651, + "ĠпоÑıви": 116652, + "Ġnghi": 116653, + "ĠëIJĺëĬĶ": 116654, + "Ñģклад": 116655, + "à¤Ĺल": 116656, + "ĠCá»Ļng": 116657, + "çŁ¥è¯Ĩ": 116658, + "Ġtaj": 116659, + "Ġعبر": 116660, + "éĻĦè¿ij": 116661, + "Ã¼ÄŁ": 116662, + "Ġê³µê³ł": 116663, + "è£ķ": 116664, + "âĢĮØ´ÙĨ": 116665, + "Ġgerçekten": 116666, + "nun": 116667, + "ÙħØ´": 116668, + "ê°ĢëĬ¥": 116669, + "ãĥ©ãĥ³ãĥī": 116670, + "ayacak": 116671, + "åįģä¸Ģ": 116672, + "ĠBảo": 116673, + "Ġyeterli": 116674, + "živ": 116675, + "ĠÙĬÙĨاÙĬر": 116676, + "Ġbýval": 116677, + "ìĽĶê¹Įì§Ģ": 116678, + "Ġnợ": 116679, + "Ġê´Ģê³Ħ": 116680, + "ĠíĿ¬": 116681, + "аÑİÑĤÑĮ": 116682, + "Ġgötür": 116683, + "Ġважно": 116684, + "浩": 116685, + "ĠìĿ¼ë¶Ģ": 116686, + "ÑĨÑĸйний": 116687, + "ëł¥ìĿĦ": 116688, + "ĠлеÑĩение": 116689, + "éĸ¢ä¿Ĥ": 116690, + "ĠTüm": 116691, + "ìĻĶ": 116692, + "éģĹ": 116693, + "ĠDön": 116694, + "ĠÑģпÑĸлÑĮ": 116695, + "ãĥģãĤ§": 116696, + "нÑıеÑĤÑģÑı": 116697, + "iltere": 116698, + "ĠíĮĢ": 116699, + "è¨Ńå®ļ": 116700, + "Ġrodin": 116701, + "ĠاÙĤتصاد": 116702, + "алÑĮне": 116703, + "à¥įà¤ķर": 116704, + "ĠvýbÄĽ": 116705, + "Ġtehlik": 116706, + "âĶIJ": 116707, + "ĠçͰ": 116708, + "ÏģίÏĤ": 116709, + "iyel": 116710, + "Ġthiá»ĩu": 116711, + "ÏĪηÏĤ": 116712, + "Ġдве": 116713, + "ĠElekt": 116714, + "à¸ģà¸İ": 116715, + "оÑĢÑĥж": 116716, + "aÅŁÄ±": 116717, + "詳細": 116718, + "ĠاتÙ쨧ÙĤ": 116719, + "Ġgắn": 116720, + "æ²Ĵæľī": 116721, + "ĠÙħطاÙĦعÙĩ": 116722, + "ÏĦιν": 116723, + "Ġokres": 116724, + "Ñľ": 116725, + "ê°Ķëĭ¤": 116726, + "ÐłÐ¾Ð·": 116727, + "å¾ĭ宾": 116728, + "ï¼īï¼Ī": 116729, + "Ġìļ´ìĺģìŀIJ": 116730, + "ãĤ«ãĥĨ": 116731, + "laÄį": 116732, + "à¥ĩबस": 116733, + "ĠoÄįi": 116734, + "-б": 116735, + "elerden": 116736, + "kových": 116737, + "Ġİzmir": 116738, + "สมาà¸Ĭ": 116739, + "ladatel": 116740, + "Ġæ»": 116741, + "éĶĢåĶ®": 116742, + "ĠдоÑģлÑĸдженнÑı": 116743, + "ĠлÑĸкаÑĢ": 116744, + "Ġоднако": 116745, + "ĠVác": 116746, + "Ġè«": 116747, + "é̲è¡Į": 116748, + "以å¤ĸ": 116749, + "é³¥": 116750, + "ĠÙĨج": 116751, + "ĠbaÅŁkan": 116752, + "ĠopatÅĻenÃŃ": 116753, + "ارش": 116754, + "ضاÙ쨩": 116755, + "ãĤ¹ãĥ¬": 116756, + "ήν": 116757, + "ÄĽtÃŃ": 116758, + "วย": 116759, + "ĠرسÙĪÙĦ": 116760, + "ÅĻich": 116761, + "ĠpÅĻih": 116762, + "ÑĮми": 116763, + "çĦ¶èĢĮ": 116764, + "Ġthẳng": 116765, + "lamaz": 116766, + "ÙĢÙĢÙĢ": 116767, + "Ġì°¸ìŬ": 116768, + "ĠÙĨÙĪØ´ØªÙĩ": 116769, + "ĠÑģÑĤек": 116770, + "ãģ®ãģ¿": 116771, + "ĠÙĪØ§ÙĦع": 116772, + "æķ¢": 116773, + "à¥Ģà¤Ĥ,": 116774, + "ÐŀÑģнов": 116775, + "имоÑģÑĤи": 116776, + "ĠÄĮeská": 116777, + "ÑĸÑĩний": 116778, + "ามารà¸ĸ": 116779, + "ekkür": 116780, + "Âłh": 116781, + "ικη": 116782, + "ĠتعÛĮÛĮÙĨ": 116783, + "коÑģÑĤÑĸ": 116784, + "ĠMustafa": 116785, + "Ġì¦ī": 116786, + "ãģ§ãģĤãĤĬ": 116787, + "å·¥ä¸ļ": 116788, + "ovÃŃd": 116789, + "ÐĿо": 116790, + "Ġسپس": 116791, + "Ú¯ÛĮرد": 116792, + "Ġпедагог": 116793, + "ĠکارÛĮ": 116794, + "ĠÑĪÑĤÑĥ": 116795, + "æĮĤ": 116796, + "Ø¢Ùħد": 116797, + "羣æĺ¯": 116798, + "Ġابت": 116799, + "ĠرئÛĮس": 116800, + "ĠدÛĮÙĨ": 116801, + "ÏĪε": 116802, + "Ġsezon": 116803, + "ĠçĨ": 116804, + "सन": 116805, + "ãĥ»ãĤ¢": 116806, + "ĠåħŃ": 116807, + "Ġè±": 116808, + "Ġìłľëª©": 116809, + "ĠÙħعد": 116810, + "ĠÙģÙĤد": 116811, + "éĤĬ": 116812, + "ΩΣ": 116813, + "Ġå¡": 116814, + "Ġobvyk": 116815, + "ĠìĿ´ëłĩê²Į": 116816, + "ĠбоÑĢоÑĤÑĮ": 116817, + "Û²Û±": 116818, + "Ġá»ijng": 116819, + "è¯Ĺ": 116820, + "ĠÄIJá»iji": 116821, + "ĠбеÑĢезнÑı": 116822, + "ĠsoÄŁ": 116823, + "Ġï¾į": 116824, + "ãĤĴãģ¤": 116825, + "ãģĹãĤĥ": 116826, + "еÑĢеÑĩ": 116827, + "ãĢĢãĢĢĠãĢĢĠãĢĢĠãĢĢ": 116828, + "æĪª": 116829, + "ĠاÙĦسعÙĪØ¯ÙĬØ©": 116830, + "ĠëĤ¨ìŀIJ": 116831, + "ĠAngiosper": 116832, + "????????????????": 116833, + "Ġprům": 116834, + "ĠплоÑīад": 116835, + "ĠÏĦÏģα": 116836, + "даÑİÑĤ": 116837, + "Ġsınav": 116838, + "Ġmặc": 116839, + "æ°´å¹³": 116840, + "ĠвиглÑı": 116841, + "Ġnást": 116842, + "ĠобÑĭÑĩ": 116843, + "ĠìĿ´ìķ¼ê¸°": 116844, + "ë¹Ľ": 116845, + "ĠBaÄŁ": 116846, + "ĠاÙĦثاÙĦØ«": 116847, + "Ġservis": 116848, + "Ġ룬": 116849, + "омина": 116850, + "ίθ": 116851, + "ĠẤ": 116852, + "경기": 116853, + "Ġ졸": 116854, + "ีà¸ļ": 116855, + "Ġà¤ĺà¤Łà¤¨": 116856, + "Ġà¸Ļาà¸ĩ": 116857, + ".Îł": 116858, + "ìķķ": 116859, + "rün": 116860, + "Ġonların": 116861, + "ĠзбÑĸлÑĮÑĪ": 116862, + "à¹ģà¸Ł": 116863, + "ĠìĹ¬ê¸°": 116864, + "ĠëĮĢíijľ": 116865, + "ĠÑģилÑĥ": 116866, + "à¹Ĥà¸Ľ": 116867, + "ĠتÙĤد": 116868, + "ĠÐŁÐ¾Ð¼": 116869, + "ĠмаÑģла": 116870, + "Ġìĺģìĥģ": 116871, + "нение": 116872, + "λαμβ": 116873, + "ĠByl": 116874, + "æĬµ": 116875, + "æİª": 116876, + "ĠκαθÏİÏĤ": 116877, + "mızı": 116878, + "æĸ°çļĦ": 116879, + "éĩįè¤ĩ": 116880, + "à¸±à¸Ľ": 116881, + "çŃĨ": 116882, + "ĠÑĤка": 116883, + "ĠзнаÑĩеннÑı": 116884, + "лаÑĤи": 116885, + "Ġvliv": 116886, + "ÐIJн": 116887, + "ĠÚĨاپ": 116888, + "ĠпиÑĤанÑĮ": 116889, + ":ï½ī": 116890, + "æķĻæİĪ": 116891, + "Ġì¹ľêµ¬": 116892, + "Ġtrao": 116893, + "à¥įयà¤ķत": 116894, + "ุà¸Ħà¸Ħล": 116895, + "ĠرÙĪØ´ÙĨ": 116896, + "ĠعÙĦÙĬÙĩا": 116897, + "ãĢģãģĦ": 116898, + "ëħĦìĹIJ": 116899, + "éĢĨ": 116900, + "Ġмагаз": 116901, + "ï¾ŀï¾ŀ": 116902, + "Ġsice": 116903, + "âĢĻte": 116904, + "ĠاÙĦÙĦغة": 116905, + "áu": 116906, + "èĩªèº«": 116907, + "ĠngÅ©": 116908, + "ĠÑģкладÑĥ": 116909, + "Ġzru": 116910, + "Ġtruy": 116911, + "Ġilan": 116912, + "ĠپاÛĮÙĩ": 116913, + "::::::::::::::": 116914, + "fak": 116915, + "ÑĤеÑħ": 116916, + "Ġtaky": 116917, + "Ġìĸ¸ìĸ´": 116918, + "edenÃŃ": 116919, + "Ġà¤ļलत": 116920, + "Ġë°°ìļ°": 116921, + "Ġjméno": 116922, + "ĠÙĦØ£ÙĨ": 116923, + "ανά": 116924, + "кÑĥлÑĮ": 116925, + "ĠØŃÙ쨏": 116926, + "ĠآزÙħÙĪÙĨ": 116927, + "иÑĤелÑĮнÑĭе": 116928, + "ĠÐŀлекÑģанд": 116929, + "èį£": 116930, + "Ġà¤ľà¤¬à¤ķ": 116931, + "Ġrodi": 116932, + "ĠبرخÙĪØ±Ø¯": 116933, + "Ġhafta": 116934, + "λικά": 116935, + "à¸ķà¸Ļ": 116936, + "ĠбеÑĢег": 116937, + "ανδ": 116938, + "-С": 116939, + "Ġpravidel": 116940, + "ĠбÑĸлÑı": 116941, + "íĴį": 116942, + "ĠпÑĢедÑĥÑģ": 116943, + "ĠмÑĥниÑĨип": 116944, + "åĮĸåѦ": 116945, + "ĠتÙħاس": 116946, + "Ġà¤īल": 116947, + "ÐĵÐŀ": 116948, + "غر": 116949, + "radan": 116950, + "ĠëĤĺìĺ¤": 116951, + "è¨Ĥ": 116952, + "à¹Ģà¸ĺà¸Ń": 116953, + "âĢĮسÛĮ": 116954, + "ĠобÑıзаÑĤелÑĮно": 116955, + "оÑĤе": 116956, + "à¹Įà¸Ĭ": 116957, + "ç͍çļĦ": 116958, + "Ġaltın": 116959, + "ĠÑģоÑĤÑĢÑĥд": 116960, + "Ñĸнки": 116961, + "озможно": 116962, + "ÎIJ": 116963, + "ë¹Į": 116964, + "Âķ": 116965, + "ĠÑĤоÑĩно": 116966, + "Ġjmen": 116967, + "اÙĦÛĮا": 116968, + "èĪį": 116969, + "chodu": 116970, + "곤": 116971, + "ickém": 116972, + "ĠÙħÙĪØ±": 116973, + "ãĥªãĥ³ãĤ¯": 116974, + "ĠaÅŁam": 116975, + "ĠиÑĤ": 116976, + "Ġनय": 116977, + "Ġμο": 116978, + "éķľ": 116979, + "ĠبÙĨابر": 116980, + "Ġتخصص": 116981, + "Ġสà¸ŀ": 116982, + "ĠпÑĢоÑĦеÑģÑģи": 116983, + "Ġpuan": 116984, + "ĠÙ쨱ÙħاÙĨ": 116985, + "ëĮĢíļĮ": 116986, + "ĠпÑıÑĤ": 116987, + "ĠÙħÙĪØ¨": 116988, + "ĠvÄĽku": 116989, + "Ġëĥ": 116990, + "ecký": 116991, + "ĠìĪĺëıĦ": 116992, + "Ġthao": 116993, + "Ġkapat": 116994, + "ĠзаÑħвоÑĢÑİ": 116995, + "Ġåħī": 116996, + "راÙĨÛĮ": 116997, + "éĢłæĪIJ": 116998, + "ĠÑģвÑĸй": 116999, + "ĠдоÑģиÑĤÑĮ": 117000, + "Ġmilyar": 117001, + "Ġenerji": 117002, + "Ġкип": 117003, + "Ġì¢ĭìķĦ": 117004, + "Ġبإ": 117005, + "ê²Įìĭľ": 117006, + "ĠLưu": 117007, + "ĠÙħÙĨظÙĪØ±": 117008, + "Ïīμά": 117009, + "ζί": 117010, + "ımda": 117011, + "ĠìĿ´ë¥¼": 117012, + "à¹Ĵ": 117013, + "Ġвваж": 117014, + "Ġgazet": 117015, + "à¥įतन": 117016, + "à¹īำหà¸Ļ": 117017, + "åľŁåľ°": 117018, + "Ġसदस": 117019, + "تبة": 117020, + "ĠpoÄįÃŃta": 117021, + "ĠìĭľìĬ¤íħľ": 117022, + "รà¸Ħ": 117023, + "Ġedecek": 117024, + "ĠتØŃÙĦÛĮÙĦ": 117025, + "æĮīçħ§": 117026, + "åĿª": 117027, + "Ġê·¸ê°Ģ": 117028, + "تÙĩÙħ": 117029, + "Ġбаж": 117030, + "اÙ쨹": 117031, + "éĢļ常": 117032, + "ĠТи": 117033, + "γνÏī": 117034, + "ì¹Ļ": 117035, + "Ġznamená": 117036, + "\\": 117037, + "αÏĢÏĮ": 117038, + "åĨĻ羣": 117039, + "Ġï¼¼Ċ": 117040, + "åĬłå·¥": 117041, + "èĤ¡ä»½æľīéĻIJåħ¬åı¸": 117042, + "ÑıÑĤий": 117043, + "Ġhâl": 117044, + "Ġçab": 117045, + "ĠØŃاضر": 117046, + "PÅĻ": 117047, + "ĠاÙĦتÙĤ": 117048, + "ξηÏĤ": 117049, + "бе": 117050, + "Ġkhám": 117051, + "ĠâĮĴ": 117052, + "Ġéķ¿": 117053, + "Ġâ̦Ċ": 117054, + "दम": 117055, + "ĠStudi": 117056, + "Ġkodu": 117057, + "Ġkomunik": 117058, + "Ġkatkı": 117059, + "nete": 117060, + "Ġrapor": 117061, + "éĨ´": 117062, + "ãĤīãģĽ": 117063, + "ĠнеÑģколÑĮ": 117064, + "Ġhá»įp": 117065, + " ̄ ̄ ̄": 117066, + "º¼": 117067, + "è£Ĥ": 117068, + "едÑĮ": 117069, + "ĠاÙĦاØŃ": 117070, + "ladık": 117071, + "ĠfotoÄŁraf": 117072, + "æĹ¥ãģ®": 117073, + "ĠØŃاÙĦت": 117074, + "ĠØ«ÙĦاث": 117075, + "аÑĤов": 117076, + "eyse": 117077, + "Ġê°IJìĤ¬": 117078, + "áže": 117079, + "Ġнада": 117080, + "Ġà¤ķहन": 117081, + "ĠãĥĿ": 117082, + "ãģ«ãģĤãĤĭ": 117083, + "ãģ«ãģªãģ£ãģ¦": 117084, + "ÙĪØ¯Ùĩ": 117085, + "ĠpoÅ¡k": 117086, + "太éĺ³åŁİ": 117087, + "ç»ıéªĮ": 117088, + "æĴѿ;": 117089, + "Ġmajet": 117090, + "Ñħо": 117091, + "ĠÑĤеÑģÑĤ": 117092, + "ï¼ıĊ": 117093, + "ÏĥεÏĦε": 117094, + "ĠТомÑĥ": 117095, + "ÙİØŃ": 117096, + "ĠìŀĪìľ¼ë©°": 117097, + "ĠзазнаÑĩ": 117098, + "éļIJ": 117099, + "ĠдÑĸÑĹ": 117100, + "кÑĤив": 117101, + "ÙĪÙģÙĬ": 117102, + "Ġtá»Ŀ": 117103, + "à¸¹à¸Ľà¹ģà¸ļà¸ļ": 117104, + "ĠÑĢедак": 117105, + "ĠateÅŁ": 117106, + "Ġkhiá»ĥn": 117107, + "üny": 117108, + "ียà¸ģ": 117109, + "ĠÑĩаÑīе": 117110, + "Ġtuy": 117111, + "γÏīν": 117112, + "รà¸Ńà¸ļ": 117113, + "Ġtrùng": 117114, + "à¹ģà¸Ĺà¸Ļ": 117115, + "ĠακÏĮ": 117116, + "ĠÐĴеÑĢÑħов": 117117, + "à¹ĥà¸Ļส": 117118, + "ãĢģä½ķ": 117119, + "åĩ¦": 117120, + "Ġç»ı": 117121, + "æ¨ĵ": 117122, + "اÙĨÚ¯ÙĦÛĮسÛĮ": 117123, + "ĠlepÅ¡ÃŃ": 117124, + "Ġå¼Ģå§ĭ": 117125, + "éĻº": 117126, + "ĠÑĩеÑĤÑĭ": 117127, + "ĠСеÑĢ": 117128, + "оÑİз": 117129, + "Ġxung": 117130, + "åĵģçīĮ": 117131, + "Ġìĥģíĥľ": 117132, + "ĠÙĨصب": 117133, + "ĠÑĩомÑĥ": 117134, + "ĠترکÛĮ": 117135, + "-ли": 117136, + "ovÃŃ": 117137, + "ĠاÙĨج": 117138, + "絡": 117139, + "ĠتÙĪØµ": 117140, + "Ġì¿ł": 117141, + "Ġvarsa": 117142, + "ĠÑĢазÑĢабоÑĤ": 117143, + "à¸Ĥà¸Ńà¸ĩà¸Ħ": 117144, + "éŃĤ": 117145, + "Ġà¤Ĭपर": 117146, + "æĿ¥è¯´": 117147, + "ĠÑĨенÑĤÑĢалÑĮ": 117148, + "ĠTakım": 117149, + "Ġonlar": 117150, + "Ġسرعت": 117151, + "好åĥı": 117152, + "Ġbuá»ķi": 117153, + "ĠÐijел": 117154, + "Âłc": 117155, + "أت": 117156, + "à¸Ĥà¸ĵะ": 117157, + "ãģ«åĩº": 117158, + "Ġ+**************": 117159, + "ÏĦηκε": 117160, + "اجر": 117161, + "Ġâ̲": 117162, + "ãĥ¼ãĥ¬": 117163, + "é¥Ń": 117164, + "ĠجÙĦس": 117165, + "ĠبستÙĩ": 117166, + "วาà¸ĩ": 117167, + "Ġβά": 117168, + "ĠамеÑĢикан": 117169, + "ĠPremi": 117170, + "mae": 117171, + "ĠÑģÑĢеди": 117172, + "áºł": 117173, + "ĠвÑĢед": 117174, + "ãĢĤèĢĮ": 117175, + "åĴ²": 117176, + "Ġê³µê°ľ": 117177, + "èĤ¥": 117178, + "звиÑĩай": 117179, + "Ġprocent": 117180, + "илоÑģÑĮ": 117181, + "शन": 117182, + "éłģ": 117183, + "екÑĤи": 117184, + "داشت": 117185, + "íķĻíļĮ": 117186, + "ãĢĢãĢĢãĢĢĠãĢĢĠãĢĢ": 117187, + "ĠÙħدÙĬÙĨØ©": 117188, + "िलन": 117189, + "ĠèĹ": 117190, + "миÑĢ": 117191, + "ĠноÑĢ": 117192, + "Ġíķĺì§Ģ": 117193, + "веÑī": 117194, + "nÄĽm": 117195, + "еÑĢами": 117196, + "Ġpracov": 117197, + "ĠبÙĬاÙĨات": 117198, + "ĠÏĥÏįν": 117199, + "Ġجذ": 117200, + "ãģĦãģ§": 117201, + "ĠBÃŃ": 117202, + "è±Ĩ": 117203, + "Ġhmot": 117204, + "ileceÄŁi": 117205, + "Ġتاث": 117206, + "è´´": 117207, + "Ġê¸ī": 117208, + "Ġmysl": 117209, + "ĠìĿ´íķ´": 117210, + "Ġ기ëĬ¥": 117211, + "ĠТам": 117212, + "ĠнаÑģелениÑı": 117213, + "ĠMez": 117214, + "Ġ모르": 117215, + "íĻĶ를": 117216, + "ĠÙĨسخÙĩ": 117217, + "ĠتÙĦÙĪÛĮزÛĮ": 117218, + "ĠÄįervna": 117219, + "ưỡng": 117220, + "صØŃ": 117221, + "ĠÑĤÑĢен": 117222, + "Õ¡": 117223, + "Ġcelou": 117224, + "Å©i": 117225, + "ìĹĨìĿ´": 117226, + "nÃŃku": 117227, + "Ġprogramu": 117228, + "à¥įपन": 117229, + "ĠпÑĢеж": 117230, + "ارب": 117231, + "æľŁéĸĵ": 117232, + "Ġμά": 117233, + "ëįĶëĭĪ": 117234, + "ụn": 117235, + "ĠпеÑĢеÑģÑĤ": 117236, + "对äºİ": 117237, + "è¿IJè¡Į": 117238, + "ĠÑĤан": 117239, + "ĠìĤ¬ìĿ´íĬ¸": 117240, + "ĠQuảng": 117241, + "ĠstojÃŃ": 117242, + "ãĥŃãĥ¼": 117243, + "گار": 117244, + "ĠенеÑĢг": 117245, + "Ġkterým": 117246, + "ĠпÑĢимÑĸ": 117247, + "ĠкаÑĢÑĤи": 117248, + "Ġzengin": 117249, + "ï¼ĮåĨį": 117250, + "Ġترب": 117251, + "ĠÑĨенÑĤÑĢ": 117252, + "ĠsaÄŁlamak": 117253, + "ëĭĿ": 117254, + "ãģ®åŃIJ": 117255, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 117256, + "ĠsÆ¡n": 117257, + "zı": 117258, + "ÑĤаки": 117259, + "ÄĽstÃŃ": 117260, + "Ġà¥": 117261, + "é®": 117262, + "åŁ¹è®Ń": 117263, + "Ġì͍": 117264, + "Ġbelki": 117265, + "ĠìĿ´ë²¤íĬ¸": 117266, + "ëĶĶìĸ´": 117267, + "ĠsÃłn": 117268, + "никам": 117269, + "alim": 117270, + "å¯¾å¿ľ": 117271, + "ĠSá»±": 117272, + "éģĵè·¯": 117273, + "é«ĺæ¸ħ": 117274, + "Ġdõi": 117275, + "ĠÙĦÙĢ": 117276, + "ĠèĤ¡": 117277, + "νι": 117278, + "âĢŀJ": 117279, + "'nde": 117280, + "ÎijÎĵ": 117281, + "ãģ¨ãģªãĤĭ": 117282, + "çΏ": 117283, + "عÙĦÛĮ": 117284, + "ÏģιÏĥÏĦ": 117285, + "ĠeÄŁit": 117286, + "ĠзовнÑĸÑĪ": 117287, + "ĠпÑĢим": 117288, + "سÙħبر": 117289, + "ĠmÄĽstÄĽ": 117290, + "ĠÏĢεÏģιÏĥÏĥÏĮÏĦε": 117291, + "ÐIJÐł": 117292, + "æĦŁåΰ": 117293, + "Ġ문ìĦľ": 117294, + "ãģĭãĤĭ": 117295, + "ÙĤÙĬÙĤØ©": 117296, + "ĠвÑĤÑĢа": 117297, + "Ġà¸Ńำ": 117298, + "ÑģкÑĥÑİ": 117299, + "دÙĩاÛĮ": 117300, + "Ġİst": 117301, + "ĠÐĹав": 117302, + "Ġéĥ½": 117303, + "ÑĪем": 117304, + "ĠеÑīÑij": 117305, + "ĠÐľÐ¸Ñħай": 117306, + "ĠÑĥпÑĢавлениÑı": 117307, + "леннÑĭе": 117308, + "ĠzaÄįal": 117309, + "æ¡Į": 117310, + "ĠпÑĸз": 117311, + "лÑıÑĤÑĮÑģÑı": 117312, + "ĠìŀIJë£Į": 117313, + "ãĢĢãĢĢĠ": 117314, + "ĠKral": 117315, + "èĪī": 117316, + "Ġà¤Ńव": 117317, + "ĠØ®Ùħ": 117318, + "Ġакадем": 117319, + "Ġisten": 117320, + "ĠиÑģкÑĥÑģ": 117321, + "ĠعÙĨدÙħا": 117322, + "ĠاÙĦاÙħ": 117323, + "ismus": 117324, + "Ġayrıntı": 117325, + "ĠЩо": 117326, + "ĠÙĩÙĪØ´": 117327, + "دÙĪØ§Ø¬": 117328, + "лаж": 117329, + "ĠÚ©ÙĨار": 117330, + "ÂłR": 117331, + "æĢ§çļĦ": 117332, + "ÑģÑĸм": 117333, + "ĠMüz": 117334, + "ÑĢовиÑĩ": 117335, + "ĠΩ": 117336, + "Ġìĸ´ëĶĶ": 117337, + "سÙħØ©": 117338, + "ĠÑĢÑı": 117339, + "Ġtươi": 117340, + "ĠÑĢаÑģÑħод": 117341, + "åı°çģ£": 117342, + "ĠاÙĦÙĪÙĤت": 117343, + "براÛĮ": 117344, + "ĠзÑĢобиÑĤи": 117345, + "ĠбÑĥÑĢ": 117346, + "ĠÄįinnosti": 117347, + "ĠصاØŃ": 117348, + "ĠصÙĨعت": 117349, + "ĠØ·ÙĦ": 117350, + "ξÏį": 117351, + "ĠtisÃŃc": 117352, + "ĠFransa": 117353, + "ì¦ĺ": 117354, + "軽": 117355, + "Ñĺ": 117356, + "ÏĮÏĦηÏĦαÏĤ": 117357, + "ĠMillet": 117358, + "ãĢĢãĥ¾": 117359, + "ĠпÑĢием": 117360, + "ĠترجÙħÙĩ": 117361, + "ĠسÙĪØ¯": 117362, + "ĠsouÄįástÃŃ": 117363, + "ÐĶо": 117364, + "Ġtrụ": 117365, + "è¶³çIJĥ": 117366, + "à¸Ľà¸ģ": 117367, + "Ġustanov": 117368, + "ÎŁÎĻ": 117369, + "Ðŀн": 117370, + "Ġнеж": 117371, + "ког": 117372, + "ä¸ĢçĤ¹": 117373, + "ĠدÙĪØ±Ø§ÙĨ": 117374, + "å½±éŁ¿": 117375, + "elidir": 117376, + "âĢŀN": 117377, + "esiyle": 117378, + "ÑĢеменно": 117379, + "ĠiletiÅŁim": 117380, + "มà¹Ģà¸ķ": 117381, + "以åīį": 117382, + "ãĥĭãĥ¼": 117383, + "éĽ»è©±": 117384, + "à¹Ĥà¸ŀ": 117385, + "ovky": 117386, + "ĠзамÑĸ": 117387, + "Ġवà¤ķ": 117388, + "ÂĻ": 117389, + "ĠвÑĸйни": 117390, + "Ġolmadıģı": 117391, + "æ¢ģ": 117392, + "ĠТеп": 117393, + "nÄĽte": 117394, + "èħķ": 117395, + "ìĤ¬ëĬĶ": 117396, + "mamak": 117397, + "Ġciz": 117398, + "æ£Ĵ": 117399, + "Ġï¼ı:": 117400, + "éģĭåĭķ": 117401, + "ĠÙĩÙĨا": 117402, + "Ġê°ij": 117403, + "ĠÙĩÙĨگاÙħ": 117404, + "ĠuÄŁra": 117405, + "彦": 117406, + "Ġobjekt": 117407, + "ãģ¨ãģĻãĤĭ": 117408, + "åĽ½åĨħ": 117409, + "ĠдеÑĢжави": 117410, + "ĠèĮ": 117411, + "Ġuluslararası": 117412, + "Ù£": 117413, + "Ġmutlak": 117414, + "Ġзобов": 117415, + "Ġγεν": 117416, + "à¹Ħà¸Łà¸Ł": 117417, + "Ġözgür": 117418, + "íĦ¸": 117419, + "ĠвипадкÑĥ": 117420, + "Ġà¤ķब": 117421, + "ĠاÙĦخط": 117422, + "θηκαν": 117423, + "ï¼ĮæĬĬ": 117424, + "ÑıÑĤÑĤÑı": 117425, + "Ġolmadıģını": 117426, + "ÂłkW": 117427, + "ĠnÄĽkterých": 117428, + "ãĥĩãĥ«": 117429, + "æ¤įçī©": 117430, + "μιλοÏĤ": 117431, + "ÐIJÑĢÑħÑĸв": 117432, + "ĠТо": 117433, + "èĸ¬": 117434, + "ÑģÑĤвиÑı": 117435, + "ĠØ®ÙĪØ§Ø³Øª": 117436, + "ологÑĸÑĹ": 117437, + "ÙĪØ§Ùĩد": 117438, + "Ġнак": 117439, + "ĠкоÑĤоÑĢÑĥÑİ": 117440, + "Ġदà¤ķ": 117441, + "âĢŀM": 117442, + "λια": 117443, + "æŃ²": 117444, + "ç¬¬åĽĽ": 117445, + "à¤¾à¤ľà¤¸": 117446, + "Ġ(«": 117447, + "Ġthẻ": 117448, + "、Ċ": 117449, + "ç£ģ": 117450, + "ĠÙĦÙĤ": 117451, + "ĠìķĶ": 117452, + "Ġнового": 117453, + "ĠìķĦ주": 117454, + "ĠëIJĺìĸ´": 117455, + "Ġolun": 117456, + "þ": 117457, + "Ġkariy": 117458, + "ĠØŃسب": 117459, + "ĠìĿĺ미": 117460, + ".Ðľ": 117461, + "ĠoznaÄį": 117462, + "ÙĦسÙĦ": 117463, + "ĠÐĴид": 117464, + "ë¡ľëĤĺ": 117465, + "à¥įà¤Łà¤®": 117466, + "íľ´": 117467, + "Ġbilgisayar": 117468, + "ìĿ¸ì§Ģ": 117469, + "Ġвов": 117470, + "nictvÃŃm": 117471, + "าà¸Ńย": 117472, + "ĠشخصÛĮ": 117473, + "пÑĸон": 117474, + "æľ¬å½ĵ": 117475, + "ĠبÙĢ": 117476, + "ĠмаÑģло": 117477, + "ĠPhát": 117478, + "Ġба": 117479, + "алÑĮномÑĥ": 117480, + "社åĮº": 117481, + "ĠÒ": 117482, + ":::|": 117483, + "ê´": 117484, + "Ġä¸ĥ": 117485, + "ĠÙĪØ§ÙĦد": 117486, + "нике": 117487, + "à¸Ńลล": 117488, + "ĠyerleÅŁ": 117489, + "Ġkombin": 117490, + "uÅ¡": 117491, + "ĠоÑĤÑĢи": 117492, + "ä¹Į": 117493, + "iÅŁti": 117494, + "Ġsóng": 117495, + "ληÏĤ": 117496, + "ĠкÑĥÑĢÑģ": 117497, + "à¹Īาà¸Ħ": 117498, + "ĠÙĬس": 117499, + "ĠداÙħ": 117500, + "çĴ°å¢ĥ": 117501, + "Ñĩенко": 117502, + "ãĢįãģ®": 117503, + "ĠmÃŃsta": 117504, + "ĠÑĦоÑĤ": 117505, + "ĠpÅĻÃŃzn": 117506, + "ĠÑĢаза": 117507, + "ç´«": 117508, + "láda": 117509, + "ĠÑģпеÑĨиалиÑģÑĤ": 117510, + "ĠبÛĮÙħارÛĮ": 117511, + "Ġëĵ£": 117512, + "çĭĹ": 117513, + "ÙĪÙĪ": 117514, + "анÑĸÑĤ": 117515, + "ĠدÙĨباÙĦ": 117516, + "ĠÙħجÙħÙĪØ¹Ø©": 117517, + "ÃŃna": 117518, + "ĠHalk": 117519, + "ájem": 117520, + "enÃŃze": 117521, + "Ġimz": 117522, + "«ng": 117523, + "ĠÎķÎł": 117524, + "ĠÙħÙĩد": 117525, + "ìľĦìĽIJíļĮ": 117526, + "Ġìľłíĺķ": 117527, + "ापस": 117528, + "Ġjež": 117529, + "анÑĸз": 117530, + "иÑĤай": 117531, + "á¿ĸ": 117532, + "irler": 117533, + "기ê°Ħ": 117534, + "ĠвоÑĢ": 117535, + "ĠÏİ": 117536, + "Ġpozn": 117537, + "ĠساÙĨ": 117538, + "寿": 117539, + "æĸ¯çī¹": 117540, + "Ġturist": 117541, + "ĠìŀIJìľł": 117542, + "à¥Ģà¤ĸ": 117543, + "μμε": 117544, + "ansı": 117545, + "ìĨĮëħĦ": 117546, + "Ġtedavi": 117547, + "ÑĩеÑģÑĤва": 117548, + "å£ĵ": 117549, + "ове": 117550, + "ï¼Įçľĭ": 117551, + "ĠпоÑģлÑĥг": 117552, + "ĠÑĤÑĢанÑģ": 117553, + "Ġzáz": 117554, + "æĪ´": 117555, + "Ġмона": 117556, + "ิà¹Ģà¸Ħราะห": 117557, + "ĠÙĨÛĮÙħ": 117558, + "ĠìĤ¬ëŀĮìĿ´": 117559, + "ahat": 117560, + "Ïħκ": 117561, + "ĠоÑĤказ": 117562, + "ĠÐĴолодими": 117563, + "ĠСк": 117564, + "िà¤ķत": 117565, + "å¦ĸ": 117566, + "Ġëĭ¤ìļ´ë¡ľëĵľ": 117567, + "ìĺģìĥģ": 117568, + "Ġनà¤Ī": 117569, + "cete": 117570, + "ĠгÑĢиб": 117571, + "eceÄŁini": 117572, + "ĠçoÄŁu": 117573, + "ĠмаÑĤеÑĢиала": 117574, + "ứt": 117575, + "Ġzaten": 117576, + "ĠFRA": 117577, + "ĠBirliÄŁi": 117578, + "Ġsitesi": 117579, + "ĠåĶ": 117580, + "ĠÐĴол": 117581, + "ÂłPS": 117582, + "ालत": 117583, + "ĠбаÑĩ": 117584, + "алÑĸзаÑĨÑĸÑĹ": 117585, + "ĠSlov": 117586, + "ç³ĸ": 117587, + "ĠговоÑĢиÑĤ": 117588, + "Ġввед": 117589, + "ุà¸ķà¸ļà¸Ńล": 117590, + "ãģĨãģ¡": 117591, + "Ġyaptık": 117592, + "Ġìłķì¹ĺ": 117593, + "ê°ľë¥¼": 117594, + "à¥Īसल": 117595, + "جÙĬÙĦ": 117596, + "ĠзаÑģÑĤоÑģов": 117597, + "è¿«": 117598, + "ĠKurul": 117599, + "ĠNasıl": 117600, + "ĠнапÑĢÑıм": 117601, + "Ġä½į": 117602, + "à¹Įà¸ļ": 117603, + "Ġéģĵ": 117604, + "Ġниже": 117605, + "ĠкоÑģÑĤ": 117606, + "ظÙĩر": 117607, + "Та": 117608, + "ì§Ŀ": 117609, + "Ġönünde": 117610, + "жÑĸ": 117611, + "ĠاجراÛĮ": 117612, + "ĠоÑĢганÑĸв": 117613, + "vise": 117614, + "ĠìĿĦ": 117615, + "à¸ķรà¸ĩ": 117616, + "Ú©ÙĨÙĪÙĨ": 117617, + "Ġdlouho": 117618, + "ÐŀÐĿ": 117619, + "Ġìľ¡": 117620, + "缮æłĩ": 117621, + "ë¯Ģë¡ľ": 117622, + "ï¼ıï¼ıï¼ıï¼ıï¼ıï¼ıï¼ıï¼ı": 117623, + "ĠпоÑĩемÑĥ": 117624, + "æķħäºĭ": 117625, + "ÑĤеÑģÑĮ": 117626, + "ĠÙĤÙĦب": 117627, + "ĠتجÙĩ": 117628, + "ilendir": 117629, + "ĠигÑĢа": 117630, + "ĠÐĶон": 117631, + "ĠpÅĻÃŃjem": 117632, + "è¦Ĩ": 117633, + "Сп": 117634, + "-ни": 117635, + "onse": 117636, + "иной": 117637, + "оÑĩного": 117638, + "اساÙĨ": 117639, + "ĠполÑĥÑĩиÑĤÑĮ": 117640, + "ÑĤап": 117641, + "ĠLý": 117642, + "ĠÃĤu": 117643, + "Ġhüc": 117644, + "ebek": 117645, + "ĠYayın": 117646, + "æĹĭ": 117647, + "ัà¸Ļà¸Ĺร": 117648, + "Ġвиконав": 117649, + "Ġsông": 117650, + "à¥ģà¤ľ": 117651, + "ĠÐĹаг": 117652, + "¤ëĭ¤": 117653, + "ĠcÅ©": 117654, + "ĠگرÙħ": 117655, + "ä¼ı": 117656, + "ãģ«ãģĻãĤĭ": 117657, + "-Ф": 117658, + "ĠÙĤÙħ": 117659, + "ĠolacaÄŁ": 117660, + "æĿ¥äºĨ": 117661, + "æĭĽèģĺ": 117662, + "ĠÐĿаÑģеленнÑı": 117663, + "Ġìĺģìĸ´": 117664, + "ĠæŃ¤": 117665, + "ĠبدÙĨ": 117666, + "Û²Û¸": 117667, + "оÑĢаÑĤив": 117668, + "ï¼³": 117669, + "Ġnebylo": 117670, + "ĠÑĥÑĩиÑĤ": 117671, + "æĿľ": 117672, + "ĠданÑĸ": 117673, + "ĠspotÅĻeb": 117674, + "ãĥ¼ãĥĨãĤ£": 117675, + "еннÑĥÑİ": 117676, + "ê¹ĮìļĶ": 117677, + "vem": 117678, + "PÅĻÃŃ": 117679, + "Ġyandan": 117680, + "é¼ĵ": 117681, + "ĠدستÙĪØ±": 117682, + "Ġhafif": 117683, + "hů": 117684, + "Ġváž": 117685, + "ĠìķĦì§ģ": 117686, + "Ùıر": 117687, + "Ġла": 117688, + "ëłī": 117689, + "à¸²à¸Ľà¸£à¸°": 117690, + "lıklar": 117691, + "ĠÑģÑĤандаÑĢÑĤ": 117692, + "à¸Ńà¹ĥห": 117693, + "奴": 117694, + "ĠоÑĤп": 117695, + "âĪł": 117696, + "ãĥ¼ãĥĢ": 117697, + "cháze": 117698, + "Ġê·¸ëłĩê²Į": 117699, + "ostel": 117700, + "ĠгалÑĥз": 117701, + "âk": 117702, + "еÑĨÑĤ": 117703, + "ëŀijìĬ¤": 117704, + "ĠÄįist": 117705, + "ÑĢана": 117706, + "Ġvững": 117707, + "Ġseni": 117708, + "Ġgóc": 117709, + "ÏĨÏĮ": 117710, + "ánu": 117711, + "Ġöt": 117712, + "Ġsóc": 117713, + "ãģĦãģ®": 117714, + "ĠÑģклада": 117715, + "ÐIJÑĢÑħÑĸвовано": 117716, + "ĠìĿ´ë²Ī": 117717, + "ãĤ¹ãģ®": 117718, + "ilebilir": 117719, + "ï½Ģãĥ½": 117720, + "ียà¸į": 117721, + "Ġκαὶ": 117722, + "Ġ믿": 117723, + "æĽ´å¤ļ": 117724, + "ısının": 117725, + "ĠGiám": 117726, + "æŃ£å¼ı": 117727, + "ÏĥμÏĮ": 117728, + "Ġarchit": 117729, + "Ġï½²": 117730, + "ÑĩаÑİÑĤÑģÑı": 117731, + "ë²Ħì§Ģ": 117732, + "ãĤ¤ãĥ¤": 117733, + "é«ĺæł¡": 117734, + "訳": 117735, + "ĠÙħÛĮÚ©": 117736, + "Ġæĥħ": 117737, + "Ġpha": 117738, + "太éĥİ": 117739, + "à¸ŀระราà¸Ĭ": 117740, + "ÙĤÙĬØ©": 117741, + "ĠÑĥлÑĥÑĩ": 117742, + "ÑģÑĤвÑĥеÑĤ": 117743, + "ĠkeÅŁ": 117744, + "é«ĺçŃī": 117745, + "ĠsỼm": 117746, + "Ïģκε": 117747, + "μοÏģ": 117748, + "Ġzástup": 117749, + "ozÃŃ": 117750, + "Ġmili": 117751, + "Ġмогли": 117752, + "ĠзÑĢозÑĥм": 117753, + "ĠباشÛĮد": 117754, + "Ġakci": 117755, + "ĠдÑĢа": 117756, + "ĠαÏģι": 117757, + "ãģĭãĤīãģ®": 117758, + "å¯Ĵ": 117759, + "ĠZaman": 117760, + "ĠÑĸде": 117761, + "ĠãĢĢĠ": 117762, + "Ġklu": 117763, + "aklı": 117764, + "à¥ĩà¤ļ": 117765, + "ĠÑģвобод": 117766, + "ساÙħ": 117767, + "Ġов": 117768, + "Ġubyt": 117769, + "éĩĩç͍": 117770, + "ĠdavranÄ±ÅŁ": 117771, + "ĠnabÃŃzÃŃ": 117772, + "ĠÐijÑĥд": 117773, + "ĠÏī": 117774, + "ĠاÙĦرØŃ": 117775, + "ัà¸ķà¸Ļ": 117776, + "име": 117777, + "ĠتÙĦÙĥ": 117778, + "تÙħع": 117779, + "ĠадминиÑģÑĤÑĢа": 117780, + "Ġzorunda": 117781, + "ĠÙĨسبة": 117782, + "ĠصÙĨعتÛĮ": 117783, + "ĠÑĦÑĥнда": 117784, + "éı¡": 117785, + "Ġpotom": 117786, + "ĠпÑĢеÑģÑĤ": 117787, + "Ġsırada": 117788, + "Ġayar": 117789, + "اÙĤÙĦ": 117790, + "溪": 117791, + "ĠØ¢ÙĤاÛĮ": 117792, + "ĠпеÑĢеÑħод": 117793, + "ĠпÑĢакÑĤиÑĩеÑģки": 117794, + "é»ĥ": 117795, + "ĠÑĥÑħод": 117796, + "ĠÙħتÙģ": 117797, + "Ġsiyasi": 117798, + "ĠпоÑĤен": 117799, + "ÙİÙģ": 117800, + "ĠÐĽÑĥ": 117801, + "ĠконÑĤÑĢолÑĮ": 117802, + "ĠÑģказаÑĤÑĮ": 117803, + "à¥Ģà¤ķरण": 117804, + "åħ¨çIJĥ": 117805, + "Û²Û¶": 117806, + "Ġtoto": 117807, + "ĠÙĪØ¯": 117808, + "ãĤ¿ãĤ¤ãĥĹ": 117809, + "åľį": 117810, + "å¼ķç͍": 117811, + "ï¼£": 117812, + "èĬ¸": 117813, + "ä»ĭç»į": 117814, + "ĠÑĤеÑĢÑĢиÑĤоÑĢии": 117815, + "æĹ¥ãģ«": 117816, + "mÃŃt": 117817, + "amız": 117818, + "ìĿ´ìĸ´": 117819, + "ĠyarÄ±ÅŁ": 117820, + "Ġgüc": 117821, + "ĠÏĩα": 117822, + "ัà¸Ļยายà¸Ļ": 117823, + "ãĤĴè¡Į": 117824, + "Ġmilli": 117825, + "Ġçı¾": 117826, + "Když": 117827, + "mazon": 117828, + "ë³´ëĤ´ê¸°": 117829, + "ĠÑĤÑĢÑĥдов": 117830, + "飾": 117831, + "Ġвиник": 117832, + "ĠÙĪØ²Ø§Ø±Øª": 117833, + "éĩĮçļĦ": 117834, + "маз": 117835, + "ĠRUS": 117836, + "екÑĤÑĥ": 117837, + "Ġعاش": 117838, + "Ġkonce": 117839, + "ãĤĪãģĨãģ§ãģĻ": 117840, + "ĠмалÑĭÑĪ": 117841, + "meni": 117842, + "еÑģа": 117843, + "اضÛĮ": 117844, + "Ġbrat": 117845, + "ĠвÑĸдноÑģ": 117846, + "θεÏģ": 117847, + "ĠЧем": 117848, + "æijĩ": 117849, + "ĠÙħادر": 117850, + "ç͍åĵģ": 117851, + "ĠÙħØŃاÙ쨏": 117852, + "ĠmyÅ¡": 117853, + "جع": 117854, + "Ġisim": 117855, + "æ³Ĭ": 117856, + "ılmaz": 117857, + "Ġμα": 117858, + "審": 117859, + "Ġayır": 117860, + "еними": 117861, + "à¥ĩहतर": 117862, + "åľĨ": 117863, + "ãģ¾ãģ£ãģŁ": 117864, + "çĶ¢åĵģ": 117865, + "ĠÑĸнÑĦоÑĢмаÑĨÑĸÑĹ": 117866, + "Ġtá»§": 117867, + "สมà¸ļ": 117868, + "ĠstÅĻ": 117869, + "Ġë°ľíijľ": 117870, + "аÑĢÑĮ": 117871, + "ĠCao": 117872, + "ΡÎĻ": 117873, + "à¸ģารà¸Ī": 117874, + "ĠподÑĥм": 117875, + "ä»ķäºĭ": 117876, + "ĠÐļÑĢоме": 117877, + "ĠìĹĶ": 117878, + "ĠÑĥда": 117879, + "ĠавÑĤомаÑĤи": 117880, + "Ġà¸Ħà¸ĵะ": 117881, + "ĠKiÅŁ": 117882, + "ĠÑģоÑģÑĤоÑıние": 117883, + "lisi": 117884, + "Ġëĸ¨ìĸ´": 117885, + "ootball": 117886, + "Ġíį¼": 117887, + "Ġлим": 117888, + "Ġçerç": 117889, + "ÙĪÙĦÙĬÙĪ": 117890, + "Ġslož": 117891, + "Ġ먼": 117892, + "รà¸Ńà¸ĩ": 117893, + "ÑĪее": 117894, + "â̦â̦â̦â̦â̦â̦â̦â̦â̦â̦â̦â̦â̦â̦â̦â̦": 117895, + "ãģĵãģ¡ãĤī": 117896, + "оÑĢÑĭ": 117897, + "çĥŁ": 117898, + "ÂłF": 117899, + "аного": 117900, + "Ø«ÛĮر": 117901, + "çıį": 117902, + "å¸Ĥåł´": 117903, + "vÄĽdom": 117904, + "첨ë¶Ģ": 117905, + "ĠìĤ¬ê±´": 117906, + "ï¾Į": 117907, + "à¹ĥà¸Ļว": 117908, + "Ġzvlášt": 117909, + "ÏĦεÏħ": 117910, + "Ġкакие": 117911, + "ÏĨοÏģά": 117912, + "åĦĦ": 117913, + "ĠzpÄĽt": 117914, + "íķľíħĮ": 117915, + "Ġzvol": 117916, + "ĠçĹ": 117917, + "ÑĢанениÑı": 117918, + "ĠسÛĮاست": 117919, + "ĠÐļоли": 117920, + "ĠоÑĢганизма": 117921, + "ĠÑıнваÑĢÑı": 117922, + "ĠدادÙĨ": 117923, + "пÑĢа": 117924, + "ï¼Įä»ĸ们": 117925, + "æijĺè¦ģ": 117926, + "Ġquần": 117927, + "ÙĬÙĪÙĨ": 117928, + "ĠвиÑħов": 117929, + "Âłà¹Ģà¸Ķ": 117930, + "Ġелем": 117931, + "ebilecek": 117932, + "ĠдоÑĩ": 117933, + "Ġблаг": 117934, + "ĠÑıй": 117935, + "adnÃŃ": 117936, + "ĠzároveÅĪ": 117937, + "enstvÃŃ": 117938, + "âĢĮاÙĨ": 117939, + "ãģķãĤĵãģ¯": 117940, + "/|": 117941, + "ĠاÙĦعاÙħØ©": 117942, + "éł¼": 117943, + "ĠخداÙĪÙĨد": 117944, + "нам": 117945, + "ĠÑģлиз": 117946, + "æ¶ī": 117947, + "รษ": 117948, + "eÅŁtir": 117949, + "ĠÙĨدار": 117950, + "ราà¸Ħ": 117951, + "è¨ĢãĤı": 117952, + "ĠèŃ": 117953, + "ĠкÑĢиÑĤ": 117954, + "ĠвоздÑĥÑħа": 117955, + "Ġà¤Ĺत": 117956, + "Ġprávo": 117957, + "à¥ĭषण": 117958, + "Ġsắp": 117959, + "íıŃ": 117960, + "ĠصرÙģ": 117961, + "ĠراÛĮگاÙĨ": 117962, + "ĠоÑĤк": 117963, + "ëĨĵ": 117964, + "ĠÑģекÑĢеÑĤ": 117965, + "İn": 117966, + "onavir": 117967, + "ĠVys": 117968, + "ĠbaÅŁlat": 117969, + "ĠMuham": 117970, + "ĠлиÑģÑĤоп": 117971, + "ĠTicaret": 117972, + "Ġadlandır": 117973, + "ĠÐĶмиÑĤ": 117974, + "ÏĥμοÏį": 117975, + "ä¾µ": 117976, + "ìĭľëĬĶ": 117977, + "à¹ģà¸Ľà¸¥à¸ĩ": 117978, + "ınıza": 117979, + "-г": 117980, + "иÑĩноÑĹ": 117981, + "ÑĥÑĢи": 117982, + "UZ": 117983, + "ìĽł": 117984, + "ĠتبدÛĮÙĦ": 117985, + "溫": 117986, + "ĠÑĢамкаÑħ": 117987, + "Ġnét": 117988, + "沿": 117989, + "ĠrozÅ¡ÃŃ": 117990, + "Ġसप": 117991, + "ĠÑĤаке": 117992, + "ÑĢаÑĩ": 117993, + "ĠاÙĦÙĤد": 117994, + "íķĻê³¼": 117995, + "ÑĥваннÑıм": 117996, + "Ġmám": 117997, + "롯": 117998, + "á½IJ": 117999, + "Ġetkili": 118000, + "ĠارتÙģ": 118001, + "Ġtechnolog": 118002, + "Ġì½ĺ": 118003, + "ĠتÙĥÙĬÙĬÙģ": 118004, + "ĠpÅĻece": 118005, + "å®¶åºŃ": 118006, + "Ġãģı": 118007, + "âĶ´": 118008, + "íģ¼": 118009, + "Ġξά": 118010, + "à¹Ģà¸ķร": 118011, + "ĠÑģÑĤановиÑĤÑģÑı": 118012, + "ç«ĭãģ¡": 118013, + "Ġéĸĭ": 118014, + "Ġİyi": 118015, + "ĠnÄĽkteré": 118016, + "ĠÑĢобоÑĤ": 118017, + "ĠÄIJưá»Ŀng": 118018, + "ĠاÙĦاج": 118019, + "Ġspeci": 118020, + "çī¹åĪ«": 118021, + "åŃĿ": 118022, + "âĢĮگذ": 118023, + "alıģı": 118024, + "ĠмиÑĢа": 118025, + "íİĺìĿ´ì§Ģ": 118026, + "Ø®Ùģ": 118027, + "ãĤªãĥª": 118028, + "ĠسÛĮÙħ": 118029, + "Ġìĸ´ëĬIJ": 118030, + "алÑĮнÑĥ": 118031, + "Ñĩний": 118032, + "ümüzde": 118033, + "æĻºèĥ½": 118034, + "ýn": 118035, + "ĠتÙĤÙĪÛĮت": 118036, + "ĠпÑĢиг": 118037, + "ĠгÑĢÑĥппÑĭ": 118038, + "amı": 118039, + "γοÏį": 118040, + "оÑĢÑĤÑĥ": 118041, + "ĠGiang": 118042, + "ÅĻen": 118043, + "ĠokolÃŃ": 118044, + "产ä¸ļ": 118045, + "Ġзм": 118046, + "Ġé¾": 118047, + "ÙĬار": 118048, + "ĠاÙĦØ´ÙĬØ®": 118049, + "иÑĤелÑĮнÑĭй": 118050, + "ĠاÙĩÙħ": 118051, + "ĠباÙĦرÙĬاض": 118052, + "ĠÙ¾ÛĮاÙħ": 118053, + "Ġkredi": 118054, + "ĠArap": 118055, + "ĠÑĢаб": 118056, + "ĠнекоÑĤоÑĢÑĭÑħ": 118057, + "ĠØŃاÙ쨏Ùĩ": 118058, + "иÑĤелÑĮного": 118059, + "Ġgerekmektedir": 118060, + "ĠDeniz": 118061, + "ĠتÙĦاش": 118062, + "stagram": 118063, + "ávky": 118064, + "åĬłåħ¥": 118065, + "ozor": 118066, + "Ġdurumunda": 118067, + "Ġíıīëĭ¹": 118068, + "Ġë´ī": 118069, + "ĠpenÄĽ": 118070, + "گاÙĨÛĮ": 118071, + "ĠKup": 118072, + "ĠÑĨеÑĢ": 118073, + "ulması": 118074, + "âijł": 118075, + "ĠÑģÑĸÑĩнÑı": 118076, + "ımıza": 118077, + "å®ļçļĦ": 118078, + "ÂłÑĤ": 118079, + "åĬŀåħ¬": 118080, + "ìľ¼ëĭĪ": 118081, + "ĠاÙĦØ¥ÙĨ": 118082, + "Ġçĥ": 118083, + "ãĢįï¼Į": 118084, + "ÑĹна": 118085, + "ĠпÑĢигоÑĤовлениÑı": 118086, + "Ðħ": 118087, + "ĠÑģолн": 118088, + "Ġë¶ĢìĤ°": 118089, + "æħ¶": 118090, + "ãĤ¾": 118091, + "voje": 118092, + "ÛĮدÙĨ": 118093, + "ìĥĿëĭĺ": 118094, + "ç¹ģ": 118095, + "ádu": 118096, + ":::::::::::::::": 118097, + "سÙĨÚ¯": 118098, + "éĶĭ": 118099, + "ĠзвиÑĩай": 118100, + "å§Ķåijĺä¼ļ": 118101, + "ĠμÎŃÏĥα": 118102, + "ĠÑĢождениÑı": 118103, + "æĪIJ人": 118104, + "ĠdÃŃl": 118105, + "ĠÐĶоб": 118106, + "Ġà¹ĥà¸Ĭ": 118107, + "ÏĢί": 118108, + "gamber": 118109, + "ĠÙĪÛĮÚĺÚ¯ÛĮ": 118110, + "ĠèĬ±": 118111, + "ĠbÃły": 118112, + "ĠжовÑĤнÑı": 118113, + "åħ¬å¼Ģ": 118114, + "ĠÑĤоÑĩки": 118115, + "ãģĤãģ®": 118116, + "алÑĸв": 118117, + "Ġcharakter": 118118, + "ĠÎĴα": 118119, + "ĠzkuÅ¡en": 118120, + "Ġà¤Ńà¤Ĺव": 118121, + "Ñĩика": 118122, + "à¥Ģà¤Ĥ।": 118123, + "è£ı": 118124, + "åijĬè¯ī": 118125, + "iyatı": 118126, + "ĠÑĨелÑĮ": 118127, + "ĠìĬĪ": 118128, + "аÑĢд": 118129, + "ĠÃľlke": 118130, + "Ġprosince": 118131, + "ĠÙĨگاÙĩ": 118132, + "ãĢĮãģĬ": 118133, + "ΣΤ": 118134, + "ìĦľëĬĶ": 118135, + "ÙĪگر": 118136, + "ضاÙĨ": 118137, + "Ġdůsled": 118138, + "çIJ´": 118139, + "à¸ķำà¹ģหà¸Ļ": 118140, + "кÑĤÑĸв": 118141, + "ládá": 118142, + "á¿Ĩ": 118143, + "ĠDoÄŁu": 118144, + "ãģijãĤĮãģ°": 118145, + "缮ãĤĴ": 118146, + "Ġ缴": 118147, + "æĽ°": 118148, + "ĠвÑĤоÑĢой": 118149, + "ĠглÑĥ": 118150, + "ĠìĿ½": 118151, + "기ì¤Ģ": 118152, + "Ġmadde": 118153, + "Ġjedné": 118154, + "ĠоÑĦÑĸ": 118155, + "ìĭĿìĿĦ": 118156, + "Ġchút": 118157, + "åĩºãģĹãģŁ": 118158, + "иÑĩеÑģкаÑı": 118159, + "Ġлок": 118160, + "Ġaltı": 118161, + "ëĵľëĬĶ": 118162, + "eygamber": 118163, + "ĠÑģвое": 118164, + "ĠtaÅŁÄ±m": 118165, + "ĠÑĤоÑīо": 118166, + "Ġgeçti": 118167, + "Ġpremi": 118168, + "ĠMehmet": 118169, + "ï¼ĮåĽłæŃ¤": 118170, + "ίκη": 118171, + "Ġönceki": 118172, + "Ġà¤ķन": 118173, + "ĠÑĤемпеÑĢаÑĤÑĥÑĢа": 118174, + "éĺ´": 118175, + "Ġìĸ¼ë§Ī": 118176, + "شب": 118177, + "áky": 118178, + "ãĢĢV": 118179, + "воÑĢеннÑı": 118180, + "lasyon": 118181, + "Ġдоказ": 118182, + "Ġëľ»": 118183, + "ĠоблиÑĩ": 118184, + "ÎĻÎijÎļ": 118185, + "ĠÑĢазд": 118186, + "ï¼Į为": 118187, + "宽": 118188, + "Ġkorum": 118189, + "åķĬåķĬ": 118190, + "ĠÅĻekla": 118191, + "ãĥĹãĥ¬": 118192, + "ĠваÑĢÑĤ": 118193, + "ĠпÑĢоблемÑĭ": 118194, + "Ġä½ł": 118195, + "ĠthÆ¡m": 118196, + "Ġtakové": 118197, + "ленÑĭ": 118198, + "Ġåζ": 118199, + "Ġjiných": 118200, + "ĠÙĨص": 118201, + "ĠгÑĢÑĥднÑı": 118202, + "ĠãģĹ": 118203, + "иÑĤелÑĮной": 118204, + "ĠاØŃتÙħ": 118205, + "ÑİÑĢ": 118206, + "ÏĨÏħ": 118207, + "ĠØ´ÙħاÙĦÛĮ": 118208, + "Ġì»´": 118209, + "acaģız": 118210, + "ì§Ģë§ī": 118211, + "ĠÑĦинанÑģов": 118212, + "Ġê·¹": 118213, + "ĠÚĨÛĮزÛĮ": 118214, + "à¥Ģà¤Ľ": 118215, + "صات": 118216, + "ानम": 118217, + "Ġвозможно": 118218, + "è¨İ": 118219, + "çĦ¦": 118220, + "ĠاÙĦبÙĦد": 118221, + "Ġçͳåįļ": 118222, + "祥": 118223, + "Ġë°ĶëĿ¼": 118224, + "Ú¯ÛĮر": 118225, + "ÛµÛ°": 118226, + "μιοÏħÏģγ": 118227, + "ĠpÅĻedsed": 118228, + "ç»ıèIJ¥": 118229, + "å§ij": 118230, + "emey": 118231, + "ĠÙĨÙĪÙģ": 118232, + "å¾½": 118233, + "Ġpráva": 118234, + "ĠвообÑīе": 118235, + "Ġíĭ°": 118236, + "ĠبأÙĨ": 118237, + "ĠFranti": 118238, + "ĠPaÅŁa": 118239, + "Ġپست": 118240, + "kân": 118241, + "ĠÑģигн": 118242, + "Ġdần": 118243, + "æIJľ": 118244, + "Ġroky": 118245, + "ÙĥÙĪØ±": 118246, + "ĠÎĶή": 118247, + "ализаÑĨии": 118248, + "ä¼łå¥ĩ": 118249, + "ıda": 118250, + "lÃŃb": 118251, + "ĠÑĢÑĸвнÑı": 118252, + "ĠноÑı": 118253, + "bÄĽhu": 118254, + "ิà¸ĩหาà¸Ħม": 118255, + "ï¼Įåį´": 118256, + "ĠÑĩеÑģ": 118257, + "lanmÄ±ÅŁtır": 118258, + "ĠÆ°á»Ľc": 118259, + "ávacÃŃ": 118260, + "ีฬา": 118261, + "δÎŃ": 118262, + "âĢĮØ´ÙĪÙĨد": 118263, + "ĠÑĢобÑĸÑĤ": 118264, + "Ġå·´": 118265, + "ĠMev": 118266, + "ĠÙħرØŃÙĦÙĩ": 118267, + "ĠвзÑĢоÑģ": 118268, + "ç½ļ": 118269, + "ĠباÙĦÙħ": 118270, + "ĠизгоÑĤов": 118271, + "ĠSpor": 118272, + "åĦĢ": 118273, + "ĠاÙĦØ£ÙĨ": 118274, + "à¹Īาà¸ĩà¸ģ": 118275, + "лаÑģÑĤи": 118276, + "ÎŁÎļ": 118277, + "ĠÚ©ÛĮ": 118278, + "åij½ä»¤": 118279, + "ØŃدث": 118280, + "ÙĬÙĥÙĬ": 118281, + "ĠпеÑĢвÑĭй": 118282, + "ãĤ¹ãĤ³": 118283, + "ĠÅ¡pat": 118284, + "Ġnikdo": 118285, + "ัà¸ĩม": 118286, + "赫": 118287, + "æĺ¨": 118288, + "ĠвÑĥли": 118289, + "ĠÐļа": 118290, + "à¹Īละ": 118291, + "Ġsamot": 118292, + "ĠобеÑģпе": 118293, + "ĠÙħعرÙģÛĮ": 118294, + "ĠÙħØŃصÙĪÙĦات": 118295, + "ванов": 118296, + "ĠÙħستÙĤÛĮÙħ": 118297, + "å¢Ļ": 118298, + "ÂłÐļ": 118299, + "ĠдоÑĤ": 118300, + "zim": 118301, + "ÙIJر": 118302, + "ĠØ´ÙĪ": 118303, + "åľ¨åľ°": 118304, + "Ġçݰ": 118305, + "ĠåĮĸ": 118306, + "زÙĪ": 118307, + "Ġyaygın": 118308, + "ĠоÑĢиг": 118309, + "ÙıÙĨ": 118310, + "Ġevrop": 118311, + "Ġï½ľ": 118312, + "Ġëħ¸ì¶ľëĵ±ë¡Ŀ": 118313, + "åĩĿ": 118314, + "леннÑĭÑħ": 118315, + "Ġjenom": 118316, + "ĠЧÑĤобÑĭ": 118317, + "ĠìĹĨëĭ¤": 118318, + "ĠìŬìĦ±": 118319, + "Ġresmi": 118320, + "imálnÃŃ": 118321, + "缮ãģ®": 118322, + "sian": 118323, + "-нибÑĥдÑĮ": 118324, + "οκ": 118325, + "çĭ¬ç«ĭ": 118326, + "ÅŁehir": 118327, + "åIJIJ": 118328, + "åζéĢł": 118329, + "ĠÎĶεν": 118330, + "ãĥĭãĥ¥": 118331, + "иÑĤелÑĮнÑĭÑħ": 118332, + "ĠÙĥاÙħ": 118333, + "Ïģκ": 118334, + "Ġrau": 118335, + "ĠÑģмеÑĢÑĤи": 118336, + "ĠÏĮÏĦαν": 118337, + "ĠTại": 118338, + "Ġرب": 118339, + "ενο": 118340, + "ردد": 118341, + "Ġà¸ģระ": 118342, + "Ïĥμο": 118343, + "Ġæ¼Ķ": 118344, + "ิà¸Īà¸ģรรม": 118345, + "ĠÑĢазви": 118346, + "ãĤ¹ãĥļ": 118347, + "ÑĸÑĩноÑĹ": 118348, + "lášenÃŃ": 118349, + "ابعة": 118350, + "ovými": 118351, + "анг": 118352, + "ĠкапÑĸÑĤ": 118353, + "ãĢģâĢĭ": 118354, + "íĸĪëįĺ": 118355, + "ĠÑĥÑģÑĸ": 118356, + "ยาว": 118357, + "Ø£Ùħ": 118358, + "ãĥ©ãĥĥãĤ¯": 118359, + "Ġëķ": 118360, + "ĠسÙĨÙĪØ§Øª": 118361, + "ĠÑģÑĤаÑĤÑĮи": 118362, + "ÑĹÑħ": 118363, + "ÏģοÏĩή": 118364, + "ĠØ£ÙĥتÙĪØ¨Ø±": 118365, + "lanma": 118366, + "Ġmalzem": 118367, + "磨": 118368, + "ĠбокÑĥ": 118369, + "åŃĹå¹ķ": 118370, + "ĠоÑĢганÑĸза": 118371, + "ãĥ©ãĤ¤ãĥ³": 118372, + "ĠÙħعدÙĨ": 118373, + "çĶ·åŃIJ": 118374, + "ĠæĤ": 118375, + "Ế": 118376, + "Ġmeziná": 118377, + "иваÑİÑĤ": 118378, + "ĠطبÛĮعÛĮ": 118379, + "èĻij": 118380, + "à¤Łà¤°": 118381, + "ĠподÑģ": 118382, + "ĠÅŁaÅŁ": 118383, + "à¸Ļà¹Ĩ": 118384, + "ĠÅ¡p": 118385, + "vÄĽÅĻ": 118386, + "зÑĮ": 118387, + "ëĿ¼ë§Ī": 118388, + "ุà¸ĺ": 118389, + "âĢ¦Ø·": 118390, + "리ì§Ģ": 118391, + "âĦĸâĦĸâĦĸâĦĸ": 118392, + "Ġbức": 118393, + "ĠSpoj": 118394, + "ĠиÑģполÑĮзовани": 118395, + "å·¦åı³": 118396, + "enler": 118397, + "ĠоÑīÑĥÑī": 118398, + "ĠоблÑĸ": 118399, + "ظËĨ": 118400, + "ÙĦÛĮس": 118401, + "æıIJåįĩ": 118402, + "ĠговоÑĢиÑĤÑĮ": 118403, + "Ġkür": 118404, + "ĠλειÏĦοÏħÏģγ": 118405, + "лага": 118406, + "ĠÑģÑĥдÑĥ": 118407, + "Ġ측": 118408, + "θεÏĥη": 118409, + "Ġнен": 118410, + "Ġbiçimde": 118411, + "ÑĨÑĸйноÑĹ": 118412, + "à¹Ģà¸Ħย": 118413, + "ĠDalÅ¡ÃŃ": 118414, + "ĠимеÑĤÑĮ": 118415, + "èĭĹ": 118416, + "ĠÙħعرÙĪÙģ": 118417, + "Ġtạp": 118418, + "ĠmeÅŁ": 118419, + "ÂłN": 118420, + "оÑĢони": 118421, + "عÙģ": 118422, + "à¹Ĥรà¸ĩà¹Ģร": 118423, + "âͬ": 118424, + "Ġà¹Ģà¸ŀราะ": 118425, + "Ġèı²å¾ĭ宾": 118426, + "ÑģÑĤвенное": 118427, + "ĠازدÙĪØ§Ø¬": 118428, + "ĠÑĦев": 118429, + "éł»": 118430, + "Ġสล": 118431, + "à¸ķà¸Ńà¸Ļ": 118432, + "Ġ기ê°Ħ": 118433, + "佩": 118434, + "ÏĦην": 118435, + "ëĤ¬ëĭ¤": 118436, + "ĠQuy": 118437, + "Ġë¶Ļ": 118438, + "ĠСÑĥд": 118439, + "иж": 118440, + "Ġà¹Ģà¸ģม": 118441, + "ĠÑģвÑıÑĤ": 118442, + "etooth": 118443, + "εÏģο": 118444, + "ÙĦÙħØ©": 118445, + "Ø´ÙĪØ±": 118446, + "Ġdomu": 118447, + "èįĴ": 118448, + "mî": 118449, + "ëıĦ를": 118450, + "ĠÑĢекомендÑĥеÑĤÑģÑı": 118451, + "Ġsonrasında": 118452, + "ĠднÑĸв": 118453, + "Ġçal": 118454, + "ãĤ«ãĥĨãĤ´ãĥª": 118455, + "Ġеж": 118456, + "Ġìķī": 118457, + "èī²çļĦ": 118458, + "âĢĻnde": 118459, + "ĠÏĢÏīÏĤ": 118460, + "ĠÑĩеÑĤвеÑĢ": 118461, + "kili": 118462, + "æĢ§èĥ½": 118463, + "ادÙĬØ©": 118464, + "纯": 118465, + "ĠاÙĦتش": 118466, + "ĠÑĤела": 118467, + "ĠобÑĬем": 118468, + "å²Ĺä½į": 118469, + "Ġkonkrét": 118470, + "Ġarada": 118471, + "ìĭľìĹIJ": 118472, + "Ġoranı": 118473, + "رÙĥ": 118474, + "ÐĽÐIJ": 118475, + "ĠménÄĽ": 118476, + "جÙĪÛĮ": 118477, + "Ġvợ": 118478, + "ĠAngiospermae": 118479, + "èĥİ": 118480, + "Ġhôn": 118481, + "äºĭæ¥Ń": 118482, + "ĠоÑĤвеÑĢ": 118483, + "Ġsrd": 118484, + "Å¡li": 118485, + "สà¸ģ": 118486, + "æ¼ı": 118487, + "ĠشرØŃ": 118488, + "ÑĨÑıми": 118489, + "Ġslav": 118490, + "Ġceny": 118491, + "à¸Ńà¹Ģร": 118492, + "ĠÙĪÙĦد": 118493, + "ĠкоÑĢа": 118494, + "ĠбÑĢон": 118495, + ":.:.:.:.:": 118496, + "Ġnemus": 118497, + "è¿Ļæł·çļĦ": 118498, + "ĠبرÙĨاÙħج": 118499, + "ĠúplnÄĽ": 118500, + "ีà¸Ļาà¸Ħม": 118501, + "Ġë°ĽìķĦ": 118502, + "μεÏģα": 118503, + "缩": 118504, + "Ġnắm": 118505, + "ĠобÑĬÑıÑģ": 118506, + "ĠконÑĤÑĢолÑİ": 118507, + "ávajÃŃcÃŃ": 118508, + "Ġkum": 118509, + "çĶ·äºº": 118510, + "ĠvnitÅĻ": 118511, + "ĠبدÙĩ": 118512, + "ĠأبرÙĬÙĦ": 118513, + "人æ°ijåħ±åĴĮåĽ½": 118514, + "Ġyapılır": 118515, + "ĠnaÅ¡ÃŃ": 118516, + "ãĥ¼ãĥŃ": 118517, + "Ġtạm": 118518, + "Ġhenüz": 118519, + "Ġzemi": 118520, + "Ġkháng": 118521, + "åħ¬åħ±": 118522, + "ĠèĢģ": 118523, + "ĠعÙĪØ§ÙħÙĦ": 118524, + "ÂłV": 118525, + "à¹īà¹ģà¸ģ": 118526, + "άνÏĦα": 118527, + "ĠÑĤÑĢавнÑı": 118528, + "ĠημÎŃ": 118529, + "è´¸": 118530, + "สà¸Ķ": 118531, + "ĠسÙħت": 118532, + "Ġخاک": 118533, + "ĠÑĤакий": 118534, + "Ġettik": 118535, + "ĠÏĮλ": 118536, + "Ġполи": 118537, + "Ġнож": 118538, + "غاÙĨ": 118539, + "ÙĨدÙĬ": 118540, + "ĠÄįtyÅĻi": 118541, + "ĠPhương": 118542, + "ĠÙĪØ±Ø²Ø´": 118543, + "ãģĦãģĭ": 118544, + "rvé": 118545, + "Ġतरफ": 118546, + "Ġनà¤Ĺर": 118547, + "masında": 118548, + "евиÑĩ": 118549, + "veÅĻej": 118550, + "ä¿ĿæĮģ": 118551, + "æĬĢèĥ½": 118552, + "æİ¨èįIJ": 118553, + "lâm": 118554, + "ĠÏį": 118555, + "å¢ŀéķ¿": 118556, + "ĠاصÙģÙĩ": 118557, + "ĠÐĹаконÑĥ": 118558, + "ĠÐŁÑĢез": 118559, + "Ġpodpor": 118560, + "기íĥĢ": 118561, + "ĠíıIJ": 118562, + "ĠëĭĪ": 118563, + "larınız": 118564, + "ãĥĸãĥŃ": 118565, + "ĠÑĦÑĢанÑĨÑĥз": 118566, + "ãĥĬãĥ¼": 118567, + "Ġbeled": 118568, + "ัà¸Ļวาà¸Ħม": 118569, + "ĠÙ쨱ÙĪ": 118570, + "ÑĦÑĢов": 118571, + "ĠìĿ´ë٬": 118572, + "ượu": 118573, + "Ġê³µìĭĿ": 118574, + "Ġbirden": 118575, + "Ġзелен": 118576, + "çĴĥ": 118577, + "Ġhá»ĵng": 118578, + "ĠÅ¡kola": 118579, + "ĠÑģамом": 118580, + "anlık": 118581, + "空éĹ´": 118582, + "åįĹçľģ": 118583, + "леÑĢг": 118584, + "ÑĸзнеÑģ": 118585, + "ÂłA": 118586, + "ãĢįãĤĴ": 118587, + "Ġkendine": 118588, + "ĠاÙĪÙĨ": 118589, + "ãĢĶ": 118590, + "ĠΣÏį": 118591, + "à¹Ģà¸Ħล": 118592, + "奶": 118593, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 118594, + "ĠúÄįet": 118595, + "Ñĥла": 118596, + "éĢļä¿¡": 118597, + "Ġì¦IJ": 118598, + ".čĊĊ": 118599, + "ĠÐľÐµÐ´": 118600, + "اعÙĬ": 118601, + "Ġjehož": 118602, + "ĠGüney": 118603, + "ĠÎijÏĢο": 118604, + "ĠполÑĸ": 118605, + "üme": 118606, + "hodob": 118607, + "ĠÎĿα": 118608, + "ĠØ¢ÙĦات": 118609, + "ĠpÅĻiz": 118610, + "Ġtavs": 118611, + "ĠتبÙĦÛĮ": 118612, + "ãĥ³ãĥĶ": 118613, + "خرج": 118614, + "ĠаккÑĥ": 118615, + "Ġúprav": 118616, + "ĠاØŃساس": 118617, + "ì¹´ëĿ¼": 118618, + "ımızı": 118619, + "ĠдокÑĥменÑĤ": 118620, + "ĠاصÙĦ": 118621, + "ظÙĩ": 118622, + "ĠìĿ¸ê°Ħ": 118623, + "ĠجرÛĮاÙĨ": 118624, + "Î¥ÎĿ": 118625, + "ÑĩеÑģкаÑı": 118626, + "ÙĬÙĨÙĬØ©": 118627, + "åĴ¨": 118628, + "æĹħ游": 118629, + "Ġà¸Īำà¸Ļวà¸Ļ": 118630, + "Ġанг": 118631, + "ÏħÏĩ": 118632, + "èĻ«": 118633, + "ĠÙħÙĤر": 118634, + "ĠÙħÙĪØ³ÛĮÙĤÛĮ": 118635, + "utut": 118636, + "ĠÐĽÐµ": 118637, + "ĠÐŁÑĸÑģлÑı": 118638, + "ãĤŃãĥ¼": 118639, + "ุลาà¸Ħม": 118640, + "åĩ¡": 118641, + "ÏĢοÏį": 118642, + "ĠÃĸdül": 118643, + "Ïĥκ": 118644, + "ĠÑĨÑİ": 118645, + "ÑĭваÑı": 118646, + "ï½ŀï½ŀ": 118647, + "ĠØ´ÙħاÙĦ": 118648, + "è¿ħ": 118649, + "ĠبÙĦÚ©Ùĩ": 118650, + "çİĽ": 118651, + "Ġì§ĢëĤĺ": 118652, + "ĠÙģکر": 118653, + "ĠÑģÑĤепени": 118654, + "ĠнаÑĥки": 118655, + "çī©çIJĨ": 118656, + "ÄĽle": 118657, + "ĠоÑģкÑĸлÑĮки": 118658, + "ĠкÑĥлÑĮÑĤÑĥÑĢи": 118659, + "èĢĥè¯ķ": 118660, + "Ġmateriál": 118661, + "ĠÑģÑĤвоÑĢеннÑı": 118662, + "Ġà¤ħद": 118663, + "æıIJåĩº": 118664, + "Ġè©ķ価": 118665, + "ÙĴد": 118666, + "Ġë§Įëĵ¤ìĸ´": 118667, + "duÄŁunu": 118668, + "ÙĬÙĨÙĩ": 118669, + "åĵ¦": 118670, + "оÑĩнÑĭÑħ": 118671, + "ĠÙħض": 118672, + "ismu": 118673, + "ĠÑĩай": 118674, + "ÙĪØ±ÙĪØ¨": 118675, + "Ġангл": 118676, + "oÄŁunluk": 118677, + "ĠпÑĢедпол": 118678, + "ĠÎŃÏīÏĤ": 118679, + "สà¸ĸ": 118680, + "ĠÎķλλάδα": 118681, + "ĠBilg": 118682, + "Ġبات": 118683, + "ĠÐĽÑĮвÑĸв": 118684, + "Ġyapılması": 118685, + "æ£ĢæŁ¥": 118686, + "æķ°åѦ": 118687, + "Ġ:.:": 118688, + "Ġçİ©": 118689, + "Îļα": 118690, + "à¹Ģà¸Ĺà¸Ħà¹Ĥà¸Ļà¹Ĥลย": 118691, + "ĠساختÙħاÙĨ": 118692, + "ĠìĨĮ리": 118693, + "é¼»": 118694, + "Ġsmr": 118695, + "Ġëĭ¤ìĸijíķľ": 118696, + "ĠjednánÃŃ": 118697, + "Ġservisi": 118698, + "Ġeylem": 118699, + "Ġмали": 118700, + "Ġvýhod": 118701, + "éϤäºĨ": 118702, + "ĠпоÑĢÑıдкÑĥ": 118703, + "Ġnový": 118704, + "å¤ķ": 118705, + "ĠнекоÑĤоÑĢÑĭе": 118706, + "Ġ^{}": 118707, + "γÏīγ": 118708, + "ÑĥÑĪки": 118709, + "Ġpsik": 118710, + "ĠíĶĦ리": 118711, + "شاء": 118712, + "Ġван": 118713, + "ĠسÙĥاÙĨ": 118714, + "碼": 118715, + "Ġξη": 118716, + "ĠÑĥÑĢовенÑĮ": 118717, + "ãĤµãĥ¼": 118718, + "ĠاÙĦبØŃر": 118719, + "ĠdnÃŃ": 118720, + "à¸ģารศ": 118721, + "ediÄŁi": 118722, + "Ġbelirli": 118723, + "ÙĭØĮ": 118724, + "ĠzamÄĽstnan": 118725, + "æŁ±": 118726, + "اÙģÙĬ": 118727, + "Ġhải": 118728, + "æĢĿæĥ³": 118729, + "Ġneler": 118730, + "ĠرسÙħÛĮ": 118731, + "ÑģеÑĢ": 118732, + "ãģĵãģ¨ãģ§": 118733, + "ĠZákladnÃŃ": 118734, + "лова": 118735, + "кÑĤÑĥ": 118736, + "ÙĪØ³Ùģ": 118737, + "ÑĸблÑĸ": 118738, + "ÌĤ": 118739, + "ÑĢд": 118740, + "éϳ": 118741, + "æį·": 118742, + "ĠyaÅŁayan": 118743, + "à¥ģà¤ļ": 118744, + "ÑĸÑĤÑĤÑı": 118745, + "Ġbá»ģ": 118746, + "ëĤĺëĿ¼": 118747, + "ĠмÑıÑģ": 118748, + "Ġ{[%": 118749, + "θα": 118750, + "ĠдозволÑı": 118751, + "ĠåIJĦ": 118752, + "ĠÐŁÐµÑĢв": 118753, + "ĠSaÄŁlık": 118754, + "ÑģÑĤоÑĢиÑı": 118755, + "Ġbunlar": 118756, + "Ġsá»ķ": 118757, + "़à¥į": 118758, + "ĠåĪ©": 118759, + "ĠÑģпоÑģ": 118760, + "Ġyaptır": 118761, + "Ġtưá»Ŀng": 118762, + "ÙĪÙĨØ©": 118763, + "Ġеп": 118764, + "ãģ§ãģįãģªãģĦ": 118765, + "ÙģØªÙħ": 118766, + "ĠÐĵол": 118767, + "íķĺì§Ģë§Į": 118768, + "Ġì§Ħì§ľ": 118769, + "Ġobjedn": 118770, + "ĠизменениÑı": 118771, + "女人": 118772, + "Ġплани": 118773, + "ĠFakült": 118774, + "Ġtzv": 118775, + "ĠобÑıзаÑĤелÑĮ": 118776, + "ĠблизÑĮко": 118777, + "rası": 118778, + "ĠεÏĢίÏĥηÏĤ": 118779, + "ĠÑĦакÑĤи": 118780, + "ĠÄIJặc": 118781, + "ĠAltın": 118782, + "лиÑĤ": 118783, + "ĠлÑĸÑģ": 118784, + "çī§": 118785, + "ĠпÑĥÑģÑĤ": 118786, + "ĠкомÑĸÑģ": 118787, + "ä¿Ŀéļľ": 118788, + "åħ·ä½ĵ": 118789, + "-ÑĤ": 118790, + "Ġtrhu": 118791, + "ĠâīĪ": 118792, + "ĠдекабÑĢÑı": 118793, + "ĠÑĦоÑĢмÑĭ": 118794, + "NgoÃłi": 118795, + "Ġdohod": 118796, + "رÙĬÙĥÙĬØ©": 118797, + "ĠØ¢ÙħÙĪØ²Ø´ÛĮ": 118798, + "ĠzajÃŃmav": 118799, + "Ġkatılım": 118800, + "ä¸ĺ": 118801, + "Ġkonum": 118802, + "ĠмоÑĩ": 118803, + "ãĥ³ãĥķ": 118804, + "дивидÑĥ": 118805, + "Ġäºļ": 118806, + "ĠæĴ": 118807, + "γÏģάÏĨ": 118808, + "ãĥIJãĤ¹": 118809, + "ĠпÑĥнк": 118810, + "ĠBirleÅŁik": 118811, + "Ġquen": 118812, + "Ġвказ": 118813, + "à¥ĩशà¤ķ": 118814, + "ĠYunan": 118815, + "ãģłãģ¨": 118816, + "Û±Û¹Û·": 118817, + "áty": 118818, + "ĠÙĪØµ": 118819, + "ĠнегаÑĤив": 118820, + "ãģ¤ãģ®": 118821, + "ĠåĬ¨": 118822, + "ãĥįãĥĥãĥĪ": 118823, + "ĠдÑĸй": 118824, + "ĠbaÅŁÄ±nda": 118825, + "Ġtrưng": 118826, + "Ġmakin": 118827, + "ĠæĦĽ": 118828, + "меÑĩ": 118829, + "Ġè¿ij": 118830, + "ÙĤدر": 118831, + "ĠاستاÙĨد": 118832, + "ĠinformacÃŃ": 118833, + "ारà¤ķ": 118834, + "è¬Ŀ": 118835, + "ÑĢабаÑĤ": 118836, + "ĠçŃĶ": 118837, + "Ġèĩ³": 118838, + "ĠполÑĮ": 118839, + "ĠÙĩÙĨر": 118840, + "ëĮĢë¹Ħ": 118841, + "ĠخارجÛĮ": 118842, + "ract": 118843, + "ãĢĤãģĵãĤĮ": 118844, + "ĠØ´ÙĪØ±Ø§ÛĮ": 118845, + "ленно": 118846, + "Ġhisset": 118847, + "ĠcÃłi": 118848, + "ĠÑĦоÑĤо": 118849, + "æģĴ": 118850, + "ĠмедиÑĨин": 118851, + "ÑģÑĤвÑĸ": 118852, + "ĠاÙĦعÙĦ": 118853, + "ĠпиÑģÑĮмен": 118854, + "ãĢĤãģ¾ãģŁ": 118855, + "ĠvlastnÄĽ": 118856, + "Ġпода": 118857, + "Ïģοι": 118858, + "ĠìĦĿ": 118859, + "ĠìĿ¼ìĿ´": 118860, + "ĠìĽĮ": 118861, + "окÑģи": 118862, + "Ġosoby": 118863, + "ÐŁÐ¾Ñģле": 118864, + "ĠÑĸÑģÑĤоÑĢÑĸÑĹ": 118865, + "عÙĦÙī": 118866, + "нка": 118867, + "تÙħبر": 118868, + "à¥ĩहर": 118869, + "ĠJana": 118870, + "ÙĦÙĬات": 118871, + "ĠмаÑĢÑĤа": 118872, + "ĠÐļиÑĶ": 118873, + "ĠÑĢобоÑĤÑĥ": 118874, + "Ġnhấn": 118875, + "иÑģлов": 118876, + "ëŁŃ": 118877, + "Ġodv": 118878, + "ĠTá»īnh": 118879, + "âĢľê·¸": 118880, + "ãģ»ãģĨ": 118881, + "é²ľ": 118882, + "меÑĨÑĮ": 118883, + "าศาสà¸ķร": 118884, + "à¥ģà¤ĵ": 118885, + "ิà¸Ļà¸Ĺ": 118886, + "mada": 118887, + "زاÙħ": 118888, + "ĠÙĥبÙĬر": 118889, + "å®ŀæĸ½": 118890, + "zeÅĪ": 118891, + "Ġlái": 118892, + "Ïĥμα": 118893, + "اسات": 118894, + "ÑĦÑĤ": 118895, + "è°±": 118896, + "çĮľ": 118897, + "ĠprobÃŃ": 118898, + "æľĢè¿ij": 118899, + "ÑĢад": 118900, + "ãĤ½ãĥ³": 118901, + "Ġклад": 118902, + "à¥ľà¤ķ": 118903, + "év": 118904, + "ลาย": 118905, + "èİİ": 118906, + "ĠμÎŃÏĩÏģι": 118907, + "ĠкÑĥÑģ": 118908, + "ĠíĻĺê²½": 118909, + "ÑĩоÑĹ": 118910, + "åıĺåĮĸ": 118911, + "ĠبتÙĪØ§ÙĨ": 118912, + "Ġtắt": 118913, + "Ġgösteren": 118914, + "алÑİ": 118915, + "Ġкоманди": 118916, + "Ġ컨": 118917, + "Ñĥнд": 118918, + "ĠجÙĦÙĪ": 118919, + "åŃIJçļĦ": 118920, + "ĠÑģб": 118921, + "ĠÐłÐ°Ñģ": 118922, + "PCP": 118923, + "ĠCumhurbaÅŁ": 118924, + "одаÑĤелÑĮ": 118925, + "ÃŃsto": 118926, + "Ġoznám": 118927, + "ãĥ¼ãĥĭ": 118928, + "Ġokuy": 118929, + "ophy": 118930, + "าà¸Ļà¸Ħร": 118931, + "ĠÎķθν": 118932, + "ayım": 118933, + "ÙİØ£": 118934, + "æİ¡": 118935, + "Ġfunkce": 118936, + "æļĸ": 118937, + "طار": 118938, + "ĠÐĿаг": 118939, + "Ġä¸ĩåĨĨ": 118940, + "ĠíĴį": 118941, + "Ġä½ı": 118942, + "Ġï¼İ": 118943, + "ÑĭваÑİÑĤÑģÑı": 118944, + "ĠPla": 118945, + "اÙĬÙĦ": 118946, + "Ġ무ìĹĩ": 118947, + "ĠконеÑĩно": 118948, + "км": 118949, + "à¤Ĥपर": 118950, + "Ġìłķë¶Ģ": 118951, + "ĠëĤ´ëł¤": 118952, + "ãĤ°ãĥ«": 118953, + "çģ°": 118954, + "Ġcyk": 118955, + "ĠжелÑĥд": 118956, + "ĠëĨĴìĿĢ": 118957, + "çĶŁåij½": 118958, + "æµ´": 118959, + "ĠartÄ±ÅŁ": 118960, + "ĠÐĩ": 118961, + "ï¼²": 118962, + "ekim": 118963, + "ĠÑĦедеÑĢа": 118964, + "ĠвеÑĢеÑģнÑı": 118965, + "ниÑĤе": 118966, + "ĠÄ°ÅŁte": 118967, + "ĠÙĪØ¶Ø¹ÛĮت": 118968, + "ãģķãģ¾": 118969, + "ĠtÅĻetÃŃ": 118970, + "uluÄŁ": 118971, + "ĠCumhuriyet": 118972, + "ä¼Ł": 118973, + "Ġë§Ŀ": 118974, + "Ġvermek": 118975, + "Ġnalez": 118976, + "çĵ¶": 118977, + "ĠdiÅŁ": 118978, + "ĠHá»ĵng": 118979, + "غÙĬرة": 118980, + "å©Ĩ": 118981, + "нив": 118982, + "Ġrút": 118983, + "'nda": 118984, + "Ġhroz": 118985, + "à¥īप": 118986, + "Ġзаконом": 118987, + "Ġjednu": 118988, + "ĠKadın": 118989, + "indir": 118990, + "سازÛĮ": 118991, + "åĮºåŁŁ": 118992, + "ĠkonuÅŁtu": 118993, + "ĠزÙĨد": 118994, + "ाĊĊ": 118995, + "ĠÐIJз": 118996, + "à¸ĩà¸Ĥà¸Ńà¸ĩ": 118997, + "ĠÑģвойÑģÑĤва": 118998, + "ĠìŀijíĴĪ": 118999, + "пеки": 119000, + "Ġå°±": 119001, + "евого": 119002, + "ĠtaÅŁÄ±y": 119003, + "ĠÙħÙĨØ·ÙĤØ©": 119004, + "ĠÃĩocuk": 119005, + "Û²Û·": 119006, + "ĠÏĥÏħμÏĢ": 119007, + "é£Łåĵģ": 119008, + "há": 119009, + "O": 119010, + "ÙĦÙħÙĩ": 119011, + "ãģ¨ãģªãģ£ãģŁ": 119012, + "оÑĢÑĸ": 119013, + "°}": 119014, + "ĠtaÅŁÄ±n": 119015, + "çŁ¿": 119016, + "ĠÑĩаÑģÑĤини": 119017, + "ĠدÙĬسÙħبر": 119018, + "Ġèī¯": 119019, + "stÅĻÃŃ": 119020, + "ĠÑĨик": 119021, + "âĢķâĢķâĢķâĢķ": 119022, + "Ġİngiltere": 119023, + "ĠÑģÑĤÑĢаÑĤег": 119024, + "ÃĦŸ": 119025, + "иÑĩного": 119026, + "ÃŃrk": 119027, + "ĠÎijÏģ": 119028, + "!âĢľĊĊ": 119029, + "Ġ깨": 119030, + "à¥ģà¤Ĩत": 119031, + "ĠدÙĨÛĮا": 119032, + "lÃŃn": 119033, + "Ġà¤ķड": 119034, + "ĠÙħبت": 119035, + "емÑĭÑħ": 119036, + "оби": 119037, + "ยà¸Ļà¸ķ": 119038, + "à¤Ĥधन": 119039, + "ÚĨÛĮ": 119040, + "ĠçŁ¥": 119041, + "ĠXuân": 119042, + "adaki": 119043, + "Ġorta": 119044, + "æł¹æľ¬": 119045, + "åħ±åIJĮ": 119046, + "нений": 119047, + "بÙĬرة": 119048, + "çŃĭ": 119049, + "ïºĶ": 119050, + "âĢĮÙĩاÙĬ": 119051, + "Ġödeme": 119052, + "ĠØ¢ÙĨÚĨÙĩ": 119053, + "ĠзаÑıви": 119054, + "ĠÙĨÙĤØ´Ùĩ": 119055, + "Ġç³»": 119056, + "à¥ĭ।": 119057, + "Ġì§Ģìłķ": 119058, + "Ġinsp": 119059, + "ĠÑĤен": 119060, + "Ġتط": 119061, + "Ġquảng": 119062, + "åī£": 119063, + "ãģıãģ®": 119064, + "ĠÑĨим": 119065, + "kovi": 119066, + "iyah": 119067, + "ĠëIJľëĭ¤": 119068, + "صÙĩ": 119069, + "ĠÄiju": 119070, + "Ġsuá»ijt": 119071, + "ıma": 119072, + "ì§Ģê³ł": 119073, + "Ìĥ": 119074, + "à¸ļาย": 119075, + "ĠCertif": 119076, + "ĠÑĥÑģÑĸÑħ": 119077, + "à¸ķะว": 119078, + "είÏĦε": 119079, + "Ġč": 119080, + "ĠможливÑĸÑģÑĤÑĮ": 119081, + "Ġ-âĢIJ": 119082, + "Ġíĺ¹": 119083, + "ìĤ¬ì§Ħ": 119084, + "ĠданиÑħ": 119085, + "Ġzaháj": 119086, + "주ëĬĶ": 119087, + "Ġгид": 119088, + "niž": 119089, + "Ġ^{°}": 119090, + "Ġkro": 119091, + "Äįen": 119092, + "ÏĨι": 119093, + "ımızda": 119094, + "Ġæ¹ĸ": 119095, + "ĠповÑĢежд": 119096, + "Ġì¡´ìŀ¬": 119097, + "à¸Ļาà¸Ļ": 119098, + "μÎŃνοÏĤ": 119099, + "æ½ľ": 119100, + "ï¼Į使": 119101, + "Ġdosp": 119102, + "Ġliá»ģn": 119103, + "ัà¸ļà¸Ħวาม": 119104, + "ĠÑĢабоÑĤе": 119105, + "ĠмайбÑĥÑĤ": 119106, + "à¹Ģà¸ģษ": 119107, + "BaÅŁ": 119108, + "ĠæĿ±äº¬": 119109, + "наÑĩала": 119110, + "δει": 119111, + "à¥Īप": 119112, + "ÑĸмÑĸ": 119113, + "Ġfizik": 119114, + "วล": 119115, + "ä¼į": 119116, + "Ġà¸Ĭà¸Ļะ": 119117, + "'ÑıÑĤ": 119118, + "нил": 119119, + "инов": 119120, + "ĠÄijoán": 119121, + "รวà¸Ī": 119122, + "fet": 119123, + "à¹Įà¹Ĥ": 119124, + "ĠмаÑĤи": 119125, + "é¨İ": 119126, + "ÐļТ": 119127, + "à¹Ģสà¸Ļà¸Ń": 119128, + "Ġмав": 119129, + "lıģına": 119130, + "ĠпоÑĩина": 119131, + "ูà¸ķร": 119132, + "ÑĨеÑĢ": 119133, + "ujete": 119134, + "Ġtahmin": 119135, + "Ġвимог": 119136, + "à¸²à¸Ł": 119137, + "едж": 119138, + "ÏĦεÏį": 119139, + "adla": 119140, + "ĠÄijương": 119141, + "ĠداستاÙĨ": 119142, + "Ġbasın": 119143, + "ĠÑħв": 119144, + "Ġreak": 119145, + "ĠоÑĤмеÑĤ": 119146, + "æ³¥": 119147, + "Ġmáte": 119148, + "Ġzorun": 119149, + "ã썿ĢĿãģĨ": 119150, + "Ġدرجة": 119151, + "ĠвÑĸдÑģÑĥÑĤ": 119152, + "ĠعاÙħÙĦ": 119153, + "è͵": 119154, + "Ġsonraki": 119155, + "Ġmohli": 119156, + "иваеÑĤ": 119157, + "ĠпÑĸдÑģÑĤав": 119158, + "Ġostrov": 119159, + "ानव": 119160, + "âĢŀP": 119161, + "ĠвизнаÑĩа": 119162, + "ĠpravdÄĽpodob": 119163, + "Ġzaz": 119164, + "ìĿ´ë¥¼": 119165, + "ĠджеÑĢ": 119166, + "ĠÐłÐ°Ð´": 119167, + "ĠÑģеÑĢÑĮез": 119168, + "Ġдем": 119169, + "ÏĢή": 119170, + "ĠÐĦвÑĢоп": 119171, + "ĠÄįeské": 119172, + "ï¾ı": 119173, + "ĠØŃÙĬ": 119174, + "ì¼ĢìĿ´": 119175, + "ĠØ®ÙĪÙĨ": 119176, + "ÂłL": 119177, + "ãģĦãģ«": 119178, + "изнеÑģ": 119179, + "ĠÙħÙĤاÙħ": 119180, + "ĠاÙĦØŃÙĦ": 119181, + "ëĨį": 119182, + "ĠØ¢ÛĮا": 119183, + "翼": 119184, + "ï¼½": 119185, + "æ¸IJ": 119186, + "ливÑĸ": 119187, + "ãģĦãģ¦ãģĦãĤĭ": 119188, + "ĠÎijÎł": 119189, + "ĠиÑģполÑĮзÑĥеÑĤÑģÑı": 119190, + "Ġmát": 119191, + "Ġμεγά": 119192, + "ëħ¼": 119193, + "æµ·éģĵ": 119194, + "ĠÙħØ´Ú©ÙĦات": 119195, + "Ñĩна": 119196, + "';';": 119197, + "Ġμία": 119198, + "ÏģÏİν": 119199, + "Ġbyste": 119200, + "ĠÑįлекÑĤÑĢи": 119201, + "ĠYardım": 119202, + "Ġhát": 119203, + "ĠÐĶеÑĢжав": 119204, + ".С": 119205, + "Ġorada": 119206, + "Ġalanı": 119207, + "åľ°åŁŁ": 119208, + "ĠدÙĩÙĨد": 119209, + "менÑĪ": 119210, + "ĠоÑĢганов": 119211, + "Ġعص": 119212, + "ูà¸ĩส": 119213, + "Ġشعر": 119214, + "Ġìĸ»": 119215, + "Ġάλλ": 119216, + "Ġgói": 119217, + "ĠÙĨاØŃ": 119218, + "å¼ĺ": 119219, + "à¥įथल": 119220, + "ilim": 119221, + "ëIJĺì§Ģ": 119222, + "ĠконÑĨе": 119223, + "ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł": 119224, + "Ġì¤Ģë¹Ħ": 119225, + "ĠostatnÃŃ": 119226, + "Ġvlády": 119227, + "ĠÑģобиÑĢа": 119228, + "ĠìĹŃìĤ¬": 119229, + "à¹ģà¸ģรม": 119230, + ".ï¼ı": 119231, + "ÙıÙĪÙĨ": 119232, + "پس": 119233, + "ĠWikip": 119234, + "Ġæ¾": 119235, + "ĠжаÑĢ": 119236, + "容æĺĵ": 119237, + "ĠprostÅĻednictvÃŃm": 119238, + "Ġženy": 119239, + "Ġèı²å¾ĭ宾çͳåįļ": 119240, + "аÑİÑĤÑģÑı": 119241, + "Ġmiêu": 119242, + "ĠpenÃŃze": 119243, + "διά": 119244, + "oldur": 119245, + "ĠпÑĢимеÑĢно": 119246, + "ĠìŀĪê³ł": 119247, + "à¸ĩà¸Ńย": 119248, + "ковий": 119249, + ".ÎŁ": 119250, + "à¹ĥà¸Ħร": 119251, + "çĭł": 119252, + "ĠÐŁÑĸв": 119253, + "æĶ¹éĿ©": 119254, + "ĠÐĿаÑģеление": 119255, + "Å¡etÅĻ": 119256, + "ÙĴب": 119257, + "ĠâĶĢ": 119258, + "غÙĬÙĦ": 119259, + "ĠдÑĸÑıлÑĮнÑĸÑģÑĤÑĮ": 119260, + "ĠÙĦÙĬس": 119261, + "Ġìĭľìŀ¥": 119262, + "ãĥŁãĥ¥": 119263, + "ĠÚ©ÙĪØª": 119264, + "ĠÎĵι": 119265, + "ิà¹Ģว": 119266, + "ektor": 119267, + "ĠбÑĥдÑĥ": 119268, + "новаж": 119269, + "ÑīаеÑĤÑģÑı": 119270, + "Ġngôn": 119271, + "ĠvÄĽc": 119272, + "å¾IJ": 119273, + "à¸Ńà¹Ģมร": 119274, + "ัà¸įà¸Ĭ": 119275, + "ĠиÑģполÑĮзÑĥÑİÑĤ": 119276, + "rubu": 119277, + "Ġnhá»±a": 119278, + "ãģĮãģĬ": 119279, + "ĠÐĵаÑĢ": 119280, + "оÑĢе": 119281, + "ĠзолоÑĤ": 119282, + "æŁ³": 119283, + "ĠÙĬØ´": 119284, + "ĠповиннÑĸ": 119285, + "اÙĤتص": 119286, + "ÙĦØŃ": 119287, + "ĠокÑĤÑıбÑĢÑı": 119288, + "ĠnÄĽkdy": 119289, + "ĠобÑĢа": 119290, + "ستگÛĮ": 119291, + "符åIJĪ": 119292, + "Ġthiá»ĥu": 119293, + "æĺ¯ä»Ģä¹Ī": 119294, + "Ġrozs": 119295, + "ì½ľê±¸": 119296, + "ĠкаÑĦ": 119297, + "åIJĮæŃ¥": 119298, + "ì¼ĵ": 119299, + "ÏĢÏĦÏħ": 119300, + "à¸łà¸²à¸¢à¹ĥà¸Ļ": 119301, + "ιÏĥÏĦή": 119302, + "ĠدÙĪÙĦار": 119303, + "ĠÙħاÙĬÙĪ": 119304, + "ĠpeÄį": 119305, + "ัà¸ļม": 119306, + "ÎĻÎĶ": 119307, + "ıydı": 119308, + "ัà¸ģà¸Ĺ": 119309, + "à¸Ľà¸£à¸°à¸ĸม": 119310, + "και": 119311, + "Ġprodej": 119312, + "ĠиÑİлÑı": 119313, + "ĠvÅ©": 119314, + "驱": 119315, + "ĠhvÄĽ": 119316, + "æĥ³è¦ģ": 119317, + "ç¯Ħ": 119318, + "çak": 119319, + "ĠмÑıг": 119320, + "ımın": 119321, + "Ġdispozici": 119322, + "Ġukaz": 119323, + "racak": 119324, + "Ġболезни": 119325, + "วà¹Ĥม": 119326, + "Ġзел": 119327, + "ĠÐĴики": 119328, + "ĠÐłÐ¾Ð´": 119329, + "ูà¸ģà¸Ħ": 119330, + "íij¸": 119331, + "Ġthải": 119332, + "Ġbaģımsız": 119333, + "ĠÑĢоÑģÑģий": 119334, + "ĠÐļам": 119335, + "ĠиÑģполÑĮзованиÑı": 119336, + "ĠØŃذ": 119337, + "³³³³³³³³³": 119338, + "ĠاÙĨتÙĤاÙĦ": 119339, + "ĠабÑģолÑİÑĤ": 119340, + "ĠÄ±ÅŁÄ±k": 119341, + "ÏĦογÏģαÏĨ": 119342, + "ĠболÑĮÑĪой": 119343, + "Ġعبارت": 119344, + "ÃŃž": 119345, + "Ġدرست": 119346, + "ĠÑģлово": 119347, + "à¥ĪĊ": 119348, + "بÙĪØ¨": 119349, + "ĠÐĴоÑĤ": 119350, + "วà¹Ħà¸Ľ": 119351, + "Ġbilinen": 119352, + "ĠÙĤÙĬ": 119353, + "Ġbunların": 119354, + "Ùijت": 119355, + "Ġbasit": 119356, + "릿": 119357, + "ائرة": 119358, + "Ġpů": 119359, + "ĠedilmiÅŁ": 119360, + "Ġä½IJ": 119361, + "ĠYönetim": 119362, + "ÙħÛĮر": 119363, + "Ġspou": 119364, + "æ·±åľ³": 119365, + "ĠвзаÑĶм": 119366, + "ÎĻÎĽ": 119367, + "Ðĥ": 119368, + "ĠдеÑĢжавноÑĹ": 119369, + "Ġmrt": 119370, + "ĠDemir": 119371, + "é»İ": 119372, + "ĠÑĢегÑĥлÑıÑĢ": 119373, + "Ġникогда": 119374, + "å¼¾": 119375, + "à¥īड": 119376, + "Ġглаз": 119377, + "ĠÙħÛĮÚ©ÙĨ": 119378, + "éĻIJå®ļ": 119379, + "Ġнавк": 119380, + "ĠподÑĤ": 119381, + "ĠتصÙĪÛĮر": 119382, + "ĠاÙĦØŃدÙĬØ«": 119383, + "ĠdoÅ¡lo": 119384, + "нÑİÑİ": 119385, + "ĠÑģÑħод": 119386, + "Ø·ÙĤØ©": 119387, + "ĠÑģенÑĤÑıбÑĢÑı": 119388, + "ç®Ĭ": 119389, + "à¸ģารà¹ģà¸Ĥ": 119390, + "ázd": 119391, + "ÑĶÑĤе": 119392, + "ĠΣε": 119393, + "ĠÙĦÙĥÙĦ": 119394, + "åIJįåŃĹ": 119395, + "اÙĨÛĮا": 119396, + "Ġcins": 119397, + "기ìĹħ": 119398, + "ĠéŁ³": 119399, + "éłĥ": 119400, + "ยาย": 119401, + "ìļķ": 119402, + "ĠvÃŃtÄĽz": 119403, + "à¥įरब": 119404, + "ĠشرÙĤÛĮ": 119405, + "ĠbezpeÄįnost": 119406, + "Ġçerçev": 119407, + "Ġë§Ľ": 119408, + "cky": 119409, + "ĵ¨": 119410, + "ĠÑĥмоваÑħ": 119411, + "лиÑħ": 119412, + "meniz": 119413, + "ĠبگÛĮر": 119414, + "ÙĨÙī": 119415, + "Ġà¸ģารà¹ģà¸Ĥ": 119416, + "ιÏĥε": 119417, + "â̳E": 119418, + "Ġdöneminde": 119419, + "리카": 119420, + "Ġåΰ": 119421, + "Ġhukuk": 119422, + "аÑĤоÑĢа": 119423, + "ĠاÙĦعÙĨ": 119424, + "ïºĺ": 119425, + "ünüz": 119426, + "ÑģоÑĤ": 119427, + "ุษ": 119428, + "Ġdương": 119429, + "ovny": 119430, + "ĠÑĦоÑĢма": 119431, + "ãģĹãģ®": 119432, + "زÙĬز": 119433, + "ĠاÙĦÙĨاس": 119434, + "ĠÑĩим": 119435, + "大人": 119436, + "Ú¯ÙĬ": 119437, + "ĠÐĵоÑģп": 119438, + "é¢Ĩ导": 119439, + "Ġninh": 119440, + "Ġราà¸Ħา": 119441, + "ÙĤاء": 119442, + "ìī¬": 119443, + "ĠìĿ´ìłĦ": 119444, + "ĠÃ¶ÄŁretmen": 119445, + "ĠÑĨвеÑĤа": 119446, + "енноÑģÑĤÑĮ": 119447, + "大ãģį": 119448, + "ĠмиÑģÑĤеÑĨÑĤ": 119449, + "رÙĪØª": 119450, + "poÅĪ": 119451, + "ĠÅŀirket": 119452, + "ĠкÑĢаÑģив": 119453, + "ĠÑĢеÑģÑĥÑĢÑģ": 119454, + "ä¹¾": 119455, + "ĠÙģÙĩ": 119456, + "ĠYÃĸ": 119457, + "èĬ³": 119458, + "μÏīÏĤ": 119459, + "ÄĽji": 119460, + "Ġвлаж": 119461, + "ĠÑĥвели": 119462, + "اذا": 119463, + "ãĢĤå¦Ĥæŀľ": 119464, + "ĠпÑĢиÑģÑĥÑĤÑģÑĤв": 119465, + "ĠẤn": 119466, + "æĢĸ": 119467, + "ĠÐľÐµÑĤ": 119468, + "Ġjedna": 119469, + "Ġcục": 119470, + "ĠاÙĨتشار": 119471, + "ĠзокÑĢема": 119472, + "иÑĩеÑģки": 119473, + "ĠкÑĢаÑĹни": 119474, + "иÑĢÑĥ": 119475, + "ĠÑĸнÑĤеÑĢ": 119476, + "Ġаналог": 119477, + "ÑĽ": 119478, + "ีà¸ĭ": 119479, + "нÑĥли": 119480, + "ĠNinh": 119481, + "еÑĢаÑĤоÑĢ": 119482, + "Ġruce": 119483, + "ĠÑĪкÑĸ": 119484, + "ترÙĨت": 119485, + "Ġsonrası": 119486, + "Ġæį": 119487, + "ÑĨенÑĤÑĢа": 119488, + "Ġà¸Ńำà¹Ģà¸ł": 119489, + "Ø·ÙĬ": 119490, + "ï¼Įå½ĵ": 119491, + "ĠÑĤÑĢеÑħ": 119492, + "ÂłH": 119493, + "æ´ª": 119494, + "ãĥ³ãĥĦ": 119495, + "ĠвÑĸдповÑĸдалÑĮ": 119496, + "âĢĻdaki": 119497, + "áÅĻi": 119498, + "ĠpÅĻem": 119499, + "tuk": 119500, + "ĠÙ쨱ÙħÙĪØ¯": 119501, + "ĠìĿ¸ì¦Ŀ": 119502, + "สำà¸Ļ": 119503, + "ìĥģìĿĺ": 119504, + "ÅĻÃŃm": 119505, + "澤": 119506, + "ĠÑĢей": 119507, + "ĠлÑİбой": 119508, + "ujte": 119509, + "ë³µì§Ģ": 119510, + "Ġدرس": 119511, + "ĠÐĴлади": 119512, + "ĠÑģвоим": 119513, + "ĠìĿ¸íĦ°ëĦ·": 119514, + "è±Ĭ": 119515, + "Ġналог": 119516, + "ãĤĪãģ³": 119517, + "Ġخاطر": 119518, + "ĠìŀħëĭĪëĭ¤": 119519, + "ãĢĤãģĹãģĭãģĹ": 119520, + "лаг": 119521, + "å°ĸ": 119522, + "ëĭ¥": 119523, + "ìĬ¤ëĬĶ": 119524, + "ìĭłì²Ń": 119525, + "ãĥĩãĥ¼ãĤ¿": 119526, + "ĠÑĥÑĢовнÑı": 119527, + "Ġ무ìĬ¨": 119528, + "ĠاÙĦأرض": 119529, + "à¹īà¸ķ": 119530, + "Ỽt": 119531, + "ĠÙĨÛĮرÙĪ": 119532, + "墨": 119533, + "ãĤ¶ãĥ¼": 119534, + "ruba": 119535, + "ĠÙĨشدÙĩ": 119536, + "илÑı": 119537, + "acÃŃm": 119538, + "ãĥ©ãĤ¯": 119539, + "XH": 119540, + "Ġسرد": 119541, + "Ġदस": 119542, + "tember": 119543, + "ĠDoÄŁum": 119544, + "ĠпÑĢоÑĢ": 119545, + "θοÏĤ": 119546, + "ĠiÅŁe": 119547, + "à¸Ńà¸Ł": 119548, + "лаÑĪ": 119549, + "اصÙĦÙĩ": 119550, + "livÄĽ": 119551, + "ë¶Ģë¶Ħ": 119552, + "нак": 119553, + "åįģä¸ī": 119554, + "สาห": 119555, + "à¸Ľà¸£à¸°à¹Ģà¸Ĺศà¹Ħà¸Ĺย": 119556, + "ãĤŃãĥ³ãĤ°": 119557, + "ĠмеÑĤоÑİ": 119558, + "Ġkullanarak": 119559, + "âij¡": 119560, + "ÛĮزات": 119561, + "ĠÙħÙĪØ¨Ø§ÛĮÙĦ": 119562, + "ĠзнаÑĩиÑĤ": 119563, + "Ġorganizace": 119564, + "ÑĢии": 119565, + "ovna": 119566, + "Ġê²½ìłľ": 119567, + "ãĢģå½¼": 119568, + "Ġमस": 119569, + "Ġà¹Ĥà¸Ľà¸£": 119570, + "LARI": 119571, + "æĩĤ": 119572, + "Ġва": 119573, + "ĠÙĥÙĨت": 119574, + "ĠÑĢабоÑĤа": 119575, + "ÂłĠÂłĠÂł": 119576, + "好äºĨ": 119577, + "ĠzamÄĽstn": 119578, + "женÑĮ": 119579, + "Ġukon": 119580, + "nÄĽné": 119581, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 119582, + "ĠاÙĦخاصة": 119583, + "ĠÄįasu": 119584, + "å°ı说": 119585, + "ĠØŃرکت": 119586, + "æijĦ": 119587, + "ÏĩÏī": 119588, + "ĠÑģвеж": 119589, + "æĸ°éĹ»": 119590, + "Ġìĭ±": 119591, + "ĠeÄŁer": 119592, + "Ġsituace": 119593, + "Ġç·¨": 119594, + "fik": 119595, + "ë§Īëĭ¤": 119596, + "ÎķÎļ": 119597, + "Ġê°ľìµľ": 119598, + "ĠcÃł": 119599, + "ادث": 119600, + "Ġsayıda": 119601, + "ĠØ£Ù쨶ÙĦ": 119602, + "æ³ķéĻ¢": 119603, + "Ġ.,": 119604, + "ĠThương": 119605, + "ÏģÏĮÏĤ": 119606, + "ãģĹãĤĪãģĨ": 119607, + "Çİ": 119608, + "æij¸": 119609, + "Ġéϳ": 119610, + "¥IJ": 119611, + "ฤà¸Ķ": 119612, + "Ġgiảng": 119613, + "ĠлÑİбов": 119614, + "Ġekran": 119615, + "опиÑģ": 119616, + "еждÑĥ": 119617, + "Ġназва": 119618, + "æĭĵ": 119619, + "ıf": 119620, + "à¹Īà¸ģ": 119621, + "иÑĩнÑĸ": 119622, + "Ġê³Ħíļį": 119623, + "à¸łà¸²à¸Ħม": 119624, + "Ġاپ": 119625, + "리ìĿĺ": 119626, + "ãģ§ãģĻãģĮ": 119627, + "Ġkonci": 119628, + "ĠکارخاÙĨÙĩ": 119629, + "Ġä½ķ": 119630, + "ĠÑĤва": 119631, + "ĠÐŁÐ¾ÑģÑĤ": 119632, + "ĠапÑĢелÑı": 119633, + "ĠاÙĦعراÙĤ": 119634, + "ä¸Ńåįİ": 119635, + "à¹ĩà¸Ńà¸ģ": 119636, + "à¥įतà¤ķ": 119637, + "Ġzájem": 119638, + "ĠدرجÙĩ": 119639, + "Ġà¤¬à¥ľ": 119640, + "ĠÑģÑĤÑĢан": 119641, + "èŃ¦å¯Ł": 119642, + "ĠyerleÅŁtir": 119643, + "ĠVÅ©": 119644, + "ç¾İåħĥ": 119645, + "Ġì¡°ê¸Ī": 119646, + "Ġรà¸Ńà¸ĩ": 119647, + "Ġakadem": 119648, + "à¸Ħà¸ĵะ": 119649, + "Ġpozit": 119650, + "ĠkoneÄį": 119651, + "è°ĥæŁ¥": 119652, + "Ġãģĭ": 119653, + "ĠÄįervence": 119654, + "ĠOdkazy": 119655, + "ĠëıĦìĭľ": 119656, + "ัสà¸Ķ": 119657, + "Ġgái": 119658, + "ĠÐłÐ¾Ð±": 119659, + "ĠбоÑı": 119660, + "æī©": 119661, + "å¼Ģå±ķ": 119662, + "anik": 119663, + "Ġvyž": 119664, + "ĠbaÅŁlay": 119665, + "ĠbakÄ±ÅŁ": 119666, + "ekce": 119667, + "ÑģÑĤика": 119668, + "еÑĢаÑĤÑĥÑĢа": 119669, + "Ġë¶Ħë¥ĺ": 119670, + "ĠPoÄįet": 119671, + "odáÅĻ": 119672, + "ëĭĺìĿĺ": 119673, + "Ġklid": 119674, + "Û²Û¹": 119675, + "ĠÚĨÛĮز": 119676, + "mür": 119677, + "Ġsứ": 119678, + "ÙĬاÙĨØ©": 119679, + "åĬ±": 119680, + "Ġoku": 119681, + "Ġводи": 119682, + "ĠزÛĮرا": 119683, + "大åĪ©": 119684, + "ĠÙĦÛĮÙĨÚ©": 119685, + "ĠÙĬجب": 119686, + "ÙħÛĮÙĦ": 119687, + "ĠÏĥÏĦÏģα": 119688, + "æĻĵ": 119689, + "ิสà¸ķ": 119690, + "ĠÅŁiddet": 119691, + "ĠÑĢекоменда": 119692, + "Ġpožadav": 119693, + "ĠпÑĸÑģ": 119694, + "åħ¬å¼ı": 119695, + "ĠÚ¯ÛĮرÛĮ": 119696, + "кÑĤа": 119697, + "ĠÙħÙĨاطÙĤ": 119698, + "Ġfirmy": 119699, + "Ġà¹Ħà¸Ľ": 119700, + "ĠÎŃÏģγ": 119701, + "å¿«éĢŁ": 119702, + "ãģĮãģªãģĦ": 119703, + "неÑģÑĤи": 119704, + "Ġç²¾": 119705, + "ÑĢади": 119706, + "ãĤĴãģĭ": 119707, + "ﺪ": 119708, + "kynÄĽ": 119709, + "Ġहत": 119710, + "tak": 119711, + "ĠÙĬÙĪÙĨÙĬÙĪ": 119712, + "Ã¶ÄŁ": 119713, + "ĠÑĢÑĥк": 119714, + "åľĭéļĽ": 119715, + "ÑİÑģÑĮ": 119716, + "Ġдавно": 119717, + "Ġpopis": 119718, + "ĠBİL": 119719, + "ĠÙĨÙĤد": 119720, + "ĠÑģпож": 119721, + "ÑĨионнÑĭÑħ": 119722, + "ĠÑĪп": 119723, + "ÑĥÑİÑīиÑħ": 119724, + "ĠвоздÑĥÑħ": 119725, + "ÑĤие": 119726, + "ĠUž": 119727, + "ÏĮδ": 119728, + "à¸ģราà¸Ħม": 119729, + "Ġalanında": 119730, + "Ġsắt": 119731, + "ãĥIJãĤ¤": 119732, + "NgÃły": 119733, + "Ġë¹Į": 119734, + "ï¼īãģ¯": 119735, + "Ġä¿¡": 119736, + "ÐķС": 119737, + "ĠTato": 119738, + "Ġúnora": 119739, + "erap": 119740, + "Äł": 119741, + "ĠTáºŃp": 119742, + "Ġкомпании": 119743, + "ãĥ©ãĤ¤ãĥĪ": 119744, + "éľĢæ±Ĥ": 119745, + "ĠتÙĪÙĤ": 119746, + "âĢĻâĢĻ": 119747, + "ëŀįëĭĪëĭ¤": 119748, + "ĠквÑĸÑĤнÑı": 119749, + "Ġoyuncu": 119750, + "ÂĢÂĢÂĢÂĢÂĢÂĢÂĢÂĢ": 119751, + "åĨĬ": 119752, + "ĠyapmÄ±ÅŁ": 119753, + "ัà¸ĩà¹Ħม": 119754, + "ĠзапаÑħ": 119755, + "ála": 119756, + "ĠÑĤеÑħниÑĩеÑģ": 119757, + "ĠØŃص": 119758, + "รà¸Ķ": 119759, + "å¼Ħ": 119760, + "ĠÚ¯ÛĮاÙĩ": 119761, + "اÙĩرة": 119762, + "Ġà¤ıड": 119763, + "нимаеÑĤ": 119764, + "ادÙĨ": 119765, + "ÎľÎij": 119766, + "Ġ社": 119767, + "аÑĢÑĩ": 119768, + "تز": 119769, + "润": 119770, + "inizin": 119771, + "Ġbeyaz": 119772, + "ĠبÙĪÙĦ": 119773, + "åĿ¡": 119774, + "ãģ®ãĤĪãģĨãģ«": 119775, + "Ġyaptıģ": 119776, + "Ġdaģı": 119777, + "ĠbaÅŁarı": 119778, + "ĠÏĢά": 119779, + "ĠпÑĢодаж": 119780, + "Bá»Ļ": 119781, + "Ġतत": 119782, + "Ġpodstat": 119783, + "Ġæµģ": 119784, + "ĠzdravÃŃ": 119785, + "Ġç¡": 119786, + "Ġopak": 119787, + "Ġhá»įa": 119788, + "æĭĶ": 119789, + "Ñĥжд": 119790, + "Ġtrứng": 119791, + "ÙĪØ±ÙĬØ©": 119792, + "Ñĭл": 119793, + "umsuz": 119794, + "Ġسبب": 119795, + "许å¤ļ": 119796, + "å®ŀéªĮ": 119797, + "Ġболи": 119798, + "Ġduyá»ĩt": 119799, + "áºŃc": 119800, + "ĠÐijез": 119801, + "ĠبÙĦÙĨد": 119802, + "мм": 119803, + "ÑĢел": 119804, + "Nİ": 119805, + "Ġãĥ¯": 119806, + "éĭ¼": 119807, + "ĠÑģвÑı": 119808, + "ĠåIJİ": 119809, + "Ġmuht": 119810, + "ĠпÑĢоблеми": 119811, + "ĠÑĤÑıжел": 119812, + "ĠСем": 119813, + "à¸¤à¸©à¸łà¸²à¸Ħม": 119814, + "à¹Īาà¸ķ": 119815, + "örü": 119816, + "üyorum": 119817, + "ĠاÙĦØ£ØŃ": 119818, + "ĠÑģÑĤÑĢаÑĪ": 119819, + "hoo": 119820, + "धर": 119821, + "Ġtlak": 119822, + "Ġsrpna": 119823, + "ifikace": 119824, + "Ġreh": 119825, + "ĠминÑĥ": 119826, + "ãĢĢj": 119827, + "ĠгÑĢÑĥпи": 119828, + "Ġάλ": 119829, + "Ġolursa": 119830, + "λογία": 119831, + "ĠÐĴик": 119832, + "Ġmücadel": 119833, + "ĠzávÄĽ": 119834, + "ĠÑĦевÑĢа": 119835, + "Äįná": 119836, + "à¹Įà¹Ģà¸ĭ": 119837, + "ĠÙĦÙĦØŃ": 119838, + "ÑĢип": 119839, + "ĠбÑĥк": 119840, + "ãģĪãģªãģĦ": 119841, + "Ġporad": 119842, + "Ġsamostat": 119843, + "Ġtesis": 119844, + "ابÙĤÙĩ": 119845, + "ĠجدÙĬدة": 119846, + "éĢĴ": 119847, + "âĶģâĶ": 119848, + "سÛĮÙĨ": 119849, + "ĠgerektiÄŁini": 119850, + "ียà¸Ļà¸ļ": 119851, + "è¨Ģãģ£ãģ¦": 119852, + "ĠÑĸнÑĤеÑĢеÑģ": 119853, + "ĠÑıким": 119854, + "ĠæĢ»": 119855, + "kovou": 119856, + "Ġdemek": 119857, + "اÙĨÙĬا": 119858, + "Ġdomů": 119859, + "Å¡nÃŃ": 119860, + "ateÅĻ": 119861, + "åĢ«": 119862, + "δοÏĥη": 119863, + "Ġ기ìĹħ": 119864, + "åĶĩ": 119865, + "ì¹ł": 119866, + "ÑĸдÑĥ": 119867, + "린ìĿ´": 119868, + "æľĢåĪĿ": 119869, + "è¸ı": 119870, + "æĥ³åΰ": 119871, + "à¥įबर": 119872, + "ĠìŀĶ": 119873, + "ĠÑĢазнÑĭÑħ": 119874, + "krom": 119875, + "ιαν": 119876, + "ĠдÑĢÑĥз": 119877, + "仿": 119878, + "Ġê·¸ëłĩ": 119879, + "ĠдалÑĸ": 119880, + "æķĪæŀľ": 119881, + "Ġहव": 119882, + "è¼Ŀ": 119883, + "Ġì°¸ê³ł": 119884, + "ĠìĨĶ": 119885, + "Ġznal": 119886, + "ĠпеÑĢÑģ": 119887, + "ÙIJÙij": 119888, + "ĠÑĤеж": 119889, + "åĭŁ": 119890, + "ιθ": 119891, + "Äįů": 119892, + "Ġekip": 119893, + "Ġkhung": 119894, + "éĹĺ": 119895, + "ĠتصÙħÛĮÙħ": 119896, + "оиÑĤ": 119897, + "ĠÑħол": 119898, + "æĬŀ": 119899, + "amam": 119900, + "Ġâĸ³": 119901, + "ãģĩ": 119902, + "ĠعÙĨÙĩ": 119903, + "Ġì°¸ê°Ģ": 119904, + "ĠÎļÏĮ": 119905, + "åı¤å±ĭ": 119906, + "ковоÑĹ": 119907, + "ศà¸Ī": 119908, + "ологиÑı": 119909, + "ĠÙħثبت": 119910, + "ĠÐļÑĢаÑĹна": 119911, + "ĠмеÑģÑıÑĨев": 119912, + "Ġalınan": 119913, + "ĠÏĢÏģαγμα": 119914, + "Ġìŀ¡ëĭ´": 119915, + "Ġплод": 119916, + "ĠÑĤкани": 119917, + "ÑģÑĭлки": 119918, + "سطس": 119919, + "ranÄĽ": 119920, + "каж": 119921, + "емаÑĤи": 119922, + "ĠزÛĮست": 119923, + "æ¿Ł": 119924, + "Ġpoplat": 119925, + "γÎŃν": 119926, + "íĨłíĨł": 119927, + "Ġtây": 119928, + "Ġìµľê·¼": 119929, + "ãĥ©ãĥ³ãĤ¹": 119930, + "ĠgüneÅŁ": 119931, + "ĠÙģÙĤ": 119932, + "ĠsaÄŁlayan": 119933, + "ĠØŃزب": 119934, + "à¥ģलन": 119935, + "ĠBilim": 119936, + "ĠBatı": 119937, + "æł·çļĦ": 119938, + "δικ": 119939, + "αÏģίοÏħ": 119940, + "ĠìĽĢ": 119941, + "Ġlá»Ńa": 119942, + "ÙĨÙĪØ¹": 119943, + "çݲ": 119944, + "аном": 119945, + "ĠstátnÃŃ": 119946, + "Ġäºİ": 119947, + "Ġmùi": 119948, + "ĠÄijá»Ļt": 119949, + "æ²ĥ": 119950, + "åħ¬åľĴ": 119951, + "ĠÑģÑĮогоднÑĸ": 119952, + "ноÑģи": 119953, + "Za": 119954, + "Ġдли": 119955, + "ĠÏĥÏħνÎŃ": 119956, + "ĠVá»ĭ": 119957, + "mav": 119958, + "ĠMüslüman": 119959, + "/ï¼ı": 119960, + "ĠзаÑīиÑĤ": 119961, + "éĸī": 119962, + "Ġçģ«": 119963, + "Ġå·Ŀ": 119964, + "Ġаж": 119965, + "è¿ĩæĿ¥": 119966, + "à¸Ĺาà¸Ļ": 119967, + "ĠAraÅŁtır": 119968, + "Õ¡Õ": 119969, + "ĠpomÄĽr": 119970, + "Ġdům": 119971, + "妮": 119972, + "ĠhlavnÄĽ": 119973, + "Ġfinans": 119974, + "ĠγνÏī": 119975, + "ÏĥÏĦημα": 119976, + "ï¼Įç͍": 119977, + "ìĭŃìĭľìĺ¤": 119978, + "ĠÙħثاÙĦ": 119979, + "-Ðij": 119980, + "ÑĨÑĸйнÑĸ": 119981, + "ĠدستÙĩ": 119982, + "à¥īस": 119983, + "ÑĢÑĸп": 119984, + "ĠpÅĻipom": 119985, + "ĠÙĪÙĦÙĬ": 119986, + "ĠÙĪØ²ÙĨ": 119987, + "Ġelektrik": 119988, + "ĠQuân": 119989, + "ivé": 119990, + "Ġlẽ": 119991, + "ç®Ģåįķ": 119992, + "Ġonlara": 119993, + "оÑģлав": 119994, + "ìĭľíĤ¤": 119995, + "몬": 119996, + "ĠÙħÙĤدار": 119997, + "ĠOrta": 119998, + "ĠSeç": 119999, + "ĠÙĨÙĪÙģÙħبر": 120000, + "ุà¸Ļายà¸Ļ": 120001, + "ĠÑĥмови": 120002, + "Ġपरम": 120003, + "Ġstrom": 120004, + "ĠкÑĢаÑīе": 120005, + "秦": 120006, + "缸æīĭ": 120007, + "鼻è¦ĸ": 120008, + "Ġuygulama": 120009, + "ĠÑĢиз": 120010, + "æĪ²": 120011, + "यर": 120012, + "ĠHlav": 120013, + "Ġìĭ¸": 120014, + "ĠлипнÑı": 120015, + "ÅĪujÃŃ": 120016, + "ÑĢиз": 120017, + "é«ĺéĢŁ": 120018, + "缸å½ĵ": 120019, + "kenin": 120020, + "ĠоÑģÑĤанов": 120021, + "Ġbitk": 120022, + "ovaného": 120023, + "ĠÐľÐ°ÑĢи": 120024, + "èµ¶": 120025, + "콩": 120026, + "Ġölçü": 120027, + "ĠСеÑĢед": 120028, + "ĠThá»Ŀi": 120029, + "Ïīνα": 120030, + "ÙĪØ¨Ø©": 120031, + "Ġchụp": 120032, + "âĢĮد": 120033, + "Ġcháy": 120034, + "ĠÐĴели": 120035, + "ĠобÑģÑĤ": 120036, + "Ġìĭľì¦Į": 120037, + "دÙħØ©": 120038, + "под": 120039, + "lue": 120040, + "ĠдÑĸлÑıн": 120041, + "ĠÙ¾ÙĪØ³Øª": 120042, + "ĠاÙĦÙĨس": 120043, + "èĤĮ": 120044, + "ìĪĺ를": 120045, + "Ġúrov": 120046, + "ĠÙħØ´Ú©ÙĦ": 120047, + "éĩįè¤ĩéĩįè¤ĩ": 120048, + "нез": 120049, + "ĠdoporuÄį": 120050, + "Ġtasarım": 120051, + "íģ¬ê¸°": 120052, + "ìĿ´ìħĺ": 120053, + "Ġdeset": 120054, + "ĠÙħرتبط": 120055, + "ัà¸Ĵà¸Ļา": 120056, + "'ı": 120057, + "Ñĩки": 120058, + "ĠìŀĪëįĺ": 120059, + "ÑĪка": 120060, + "nám": 120061, + "ÑģÑĤÑĢов": 120062, + "à¥įसर": 120063, + "нÑĥлаÑģÑĮ": 120064, + "ãģ¡ãĤĩãģ£ãģ¨": 120065, + "Ġå¦": 120066, + "γÏĮ": 120067, + "Ġé»ij": 120068, + "Xem": 120069, + "Ġtá»ĩ": 120070, + "ĠëĮĢíĨµëł¹": 120071, + "기ê´Ģ": 120072, + "æīįèĥ½": 120073, + "è¯Ńè¨Ģ": 120074, + "edeyse": 120075, + "ĠТÑĭ": 120076, + "ĠÑģоедин": 120077, + "ĠìĹĨìĬµëĭĪëĭ¤": 120078, + "ÑıÑİÑĤ": 120079, + "à¹ģหล": 120080, + "Ġì§Ģë°©": 120081, + "ĠosobnÃŃ": 120082, + "ÛĮÙĦÛĮ": 120083, + "ĠавгÑĥÑģÑĤа": 120084, + "Ñīик": 120085, + "Ġvýše": 120086, + "gth": 120087, + "ĠÏĢαν": 120088, + "جار": 120089, + "Ġвидов": 120090, + "ìĿ´ìĬĪ": 120091, + "ĠÐijаÑĢ": 120092, + "ĠÏĮÏĢοÏħ": 120093, + "æ¤ħ": 120094, + "ĠعاÙĦÛĮ": 120095, + "ĠQuyết": 120096, + "ÃľM": 120097, + "ãĥĿãĤ¤ãĥ³ãĥĪ": 120098, + "Ġê¹Į": 120099, + "Ġканди": 120100, + "kového": 120101, + "ĠMerkez": 120102, + "Ġyiy": 120103, + "ĠpÅĻÃŃspÄĽ": 120104, + "ĠÑĤемпеÑĢаÑĤÑĥÑĢÑĭ": 120105, + "ĠÙ¾ÙĬ": 120106, + "ฤศà¸Ī": 120107, + "è°ĥç͍": 120108, + "ĠÑģÑĤоÑĢонÑĥ": 120109, + "à¹īà¸Ĭ": 120110, + "好ãģį": 120111, + ".Åŀ": 120112, + "ĠпÑĢоз": 120113, + "ÙĨتاج": 120114, + "鼻åŃIJ": 120115, + ".:.:.": 120116, + "è¨ĵ": 120117, + "иÑĩеÑģкое": 120118, + "Ġноги": 120119, + "ĠλÎŃ": 120120, + "Ġsıkıntı": 120121, + "Ġê°Ģ족": 120122, + "ĠتÙĨظÙĬÙģ": 120123, + "Ġödül": 120124, + "ĠaÅŁaģıdaki": 120125, + "Ġželez": 120126, + "ĠاÙĦعدÙĬد": 120127, + "غÙĨ": 120128, + "ĠоконÑĩ": 120129, + "ÑĢемÑı": 120130, + "Lİ": 120131, + "Ġnejd": 120132, + "ĠÏĢλα": 120133, + "Ñģко": 120134, + "ĠìĪĻ": 120135, + "ĠÙ¾ÙĪÙĦ": 120136, + "θενήÏĤ": 120137, + "Ġ주ìļĶ": 120138, + "ĠæĬ¥": 120139, + "ĠÙħÙħا": 120140, + "ÐłÐ¡Ðł": 120141, + "ĠÑĢадÑĸ": 120142, + "ä¸Ģç§į": 120143, + "é¾Ħ": 120144, + "Ġsöyl": 120145, + "Ïģκεια": 120146, + "ĠземлÑĸ": 120147, + "ĠveÄįer": 120148, + "geç": 120149, + "ستÙħ": 120150, + "Ġsefer": 120151, + "ĠÑģвÑĸд": 120152, + "ï»Łï»": 120153, + "алов": 120154, + "ìĬ¤ë¥¼": 120155, + "âī¥": 120156, + "ĠتÙĦÙģÙĨ": 120157, + "åİ»äºĨ": 120158, + "़à¥ĭà¤Ĥ": 120159, + "ĠÑĦоÑĢме": 120160, + "düm": 120161, + "åħģ": 120162, + "ÑĢап": 120163, + "ĠVương": 120164, + "à¸Ńะà¹Ħร": 120165, + "ัà¸ģษà¸ĵ": 120166, + "Ġåį³": 120167, + "ĠاÙĦرÙħ": 120168, + "ĠзаÑħиÑģÑĤÑĥ": 120169, + "°E": 120170, + "odÃŃ": 120171, + "Ġवन": 120172, + "ĠÄijèn": 120173, + "ĠåıĹ": 120174, + "èIJ½ãģ¡": 120175, + "Ġzim": 120176, + "리ì¦Ī": 120177, + "èĪĴ": 120178, + "ĠзбÑĸÑĢ": 120179, + "Ġä»·æł¼": 120180, + "ĠлÑİдина": 120181, + "ĠÐŁÐ¾ÑģиланнÑı": 120182, + "иÑī": 120183, + "ĠΨ": 120184, + "ิà¸ģายà¸Ļ": 120185, + "Ġbudete": 120186, + "ĠзÑĢоÑģÑĤ": 120187, + "Ġvyk": 120188, + "ĠÐĹем": 120189, + "ĠиÑİнÑı": 120190, + "ĠmÄĽlo": 120191, + "ÙĦاÙģ": 120192, + "ĠÙĪØ´": 120193, + "ĠÑģпÑĢави": 120194, + "ãģĻãģİ": 120195, + "ĠгÑĢадÑĥ": 120196, + "Roz": 120197, + "ινή": 120198, + "Ġchá»ĵng": 120199, + "ä¸Ģåį·": 120200, + "ĠXem": 120201, + "ĠÑģимвол": 120202, + "ĠodmÃŃt": 120203, + "ĠÑĢÑıдом": 120204, + "ĠÑĩеÑĢвнÑı": 120205, + "à¸ģระà¸Ĺ": 120206, + "人人": 120207, + "æ°ĹæĮģãģ¡": 120208, + "undaki": 120209, + "åľĭå®¶": 120210, + "εÏģμαν": 120211, + "ĠлÑĮ": 120212, + "ĠNüfus": 120213, + "ĠмеÑĢе": 120214, + "براÙĬر": 120215, + "наннÑı": 120216, + "ĠнаÑĢ": 120217, + "Ġtấm": 120218, + "æĸ½å·¥": 120219, + "顯": 120220, + "Ġhè": 120221, + "æĺİçϽ": 120222, + "Ġдогов": 120223, + "ĠÙ쨱Ùħ": 120224, + "èĢĹ": 120225, + "ìĬ¤ìĿĺ": 120226, + "ìĦ¸ëĮĢ": 120227, + "è¯ļ": 120228, + "ĠнеболÑĮ": 120229, + "Ġà¸Ľà¸£à¸°à¸ģ": 120230, + "Ġì¹¼": 120231, + "Ġovliv": 120232, + "ĠNGC": 120233, + "ãĢĤä¸į": 120234, + "اÙĦÙī": 120235, + "æī£": 120236, + ".ÐIJ": 120237, + "ÑĢаÑģÑĤа": 120238, + "ĠÃĩev": 120239, + "ãģ£ãģ¡": 120240, + "ï¼Įéĥ½": 120241, + "ĠrovnÄĽÅ¾": 120242, + "ĠÏĩÏģÏĮνια": 120243, + "Ġì¡°ìĦł": 120244, + "Ġآباد": 120245, + "ĠÐľÐ°Ñģ": 120246, + "çϼå±ķ": 120247, + "ä»Ķ": 120248, + "Ġkendisini": 120249, + "à¹Īà¸Ńà¸ĩà¹Ģà¸Ĺ": 120250, + "ĠVÄĽ": 120251, + "Ġrượu": 120252, + "Ġmáme": 120253, + "ĠоÑĩеÑĢедÑĮ": 120254, + "ĠسبتÙħبر": 120255, + "Ġбок": 120256, + "ì§ĢìĹŃ": 120257, + "ĠتاثÛĮر": 120258, + "Ġlisans": 120259, + "Ġgerektir": 120260, + "Ġsizi": 120261, + "Ñĸно": 120262, + "ĠMÃ¼ÅŁ": 120263, + "ãģıãĤīãģĦ": 120264, + "ĠзаклÑİÑĩ": 120265, + "ãģĵãģ¨ãģ«": 120266, + "è¨ĢãģĦ": 120267, + "ãĢģå°ı": 120268, + "Ġetmektedir": 120269, + "åł±åijĬ": 120270, + "ĠkarÄ±ÅŁ": 120271, + "Ġоблад": 120272, + "å¥ij": 120273, + "racat": 120274, + "ĠارتÙģØ§Ø¹": 120275, + "μαι": 120276, + "íĶĪ": 120277, + "ĠÙĪÙĦÙħ": 120278, + "ëĬĶì§Ģ": 120279, + "lomou": 120280, + "ĠлиÑĨа": 120281, + "ĠìĿĮìķħ": 120282, + "ĠhodnÄĽ": 120283, + "èĭ±æĸĩ": 120284, + "ÂĦ": 120285, + "à¹īาà¸Ĥà¸Ńà¸ĩ": 120286, + "Ġê³Ħìķ½": 120287, + "åIJĦç§į": 120288, + "ĠÙħرگ": 120289, + "éĶģ": 120290, + "Ġनद": 120291, + "ãĥĭãĥ¡": 120292, + "Ġем": 120293, + "ĠeleÅŁtir": 120294, + "ĠíĬ¹ë³Ħ": 120295, + "ĠÎ¥ÏĢο": 120296, + "Å¡ker": 120297, + "LERİ": 120298, + "æ²Ī": 120299, + "likleri": 120300, + "ĠÙħÙĩÙĨدسÛĮ": 120301, + "Ġbaģır": 120302, + "dıģını": 120303, + "ĠاÙĦتد": 120304, + "à¸¸à¸Ľà¸ģรà¸ĵ": 120305, + "ĠÑģледÑĥÑİÑīие": 120306, + "Ġì§ģìłij": 120307, + "å°¤": 120308, + "ĠоÑģновÑĸ": 120309, + "ĠtÄĽla": 120310, + "Ġпак": 120311, + "izace": 120312, + "Ġnárod": 120313, + "aný": 120314, + "ĠÑįп": 120315, + "Ġüçüncü": 120316, + "ΥΡ": 120317, + "éĨ´éĨ´": 120318, + "à¹Ģà¸ģà¸Ńร": 120319, + "âĢĮاÙĨبار": 120320, + "ç¶Ļ": 120321, + "ÎijÎł": 120322, + "ılıģı": 120323, + "ĠÃľrün": 120324, + "Ġдозвол": 120325, + "ĠíĥĪ": 120326, + "Ġà¤ĵवर": 120327, + "諸": 120328, + "èĺĩ": 120329, + "ĠпÑĢоÑģÑĤÑĢан": 120330, + "éĿĴå¹´": 120331, + "ã쮿ĸ¹": 120332, + "ĠÚĨÚ¯ÙĪÙĨÙĩ": 120333, + "ÙĦØ·": 120334, + "âĢľæĪij": 120335, + "Ġëĭ¤ìļ´ë°Ľ": 120336, + "ा.Ċ": 120337, + "Ġmücadele": 120338, + "ĠcÃŃt": 120339, + "à¹Īวมà¸ģ": 120340, + "ģına": 120341, + "ê°ľë°ľ": 120342, + "ĠÏĢαιδ": 120343, + "ضاÛĮ": 120344, + "Ġborç": 120345, + "íĬľ": 120346, + "ĠخدÙħت": 120347, + "Ġudál": 120348, + "Ġвиг": 120349, + "Ġë°°ìĨ¡": 120350, + "å¹¾": 120351, + "ÙİØ¬": 120352, + "ĠìĹĺ": 120353, + "ç̬": 120354, + "ïĢ": 120355, + "ĠÎijθή": 120356, + "пÑĢиклад": 120357, + "ĠпÑĢиÑĩина": 120358, + "ĠÙģØ´Ø§Ø±": 120359, + "滿": 120360, + "Ġdostat": 120361, + "Ġ졸ìĹħ": 120362, + "Ġارز": 120363, + "ÙĪÙĦÙĪØ¬": 120364, + "سÙĪ": 120365, + "æĺłçĶ»": 120366, + "Ġthôi": 120367, + "Ġ³³³": 120368, + "à¹ģà¸Ļะ": 120369, + "è¨ŃåĤĻ": 120370, + "Ġмногие": 120371, + "ÑĤоÑĦ": 120372, + "iÅ¡tÄĽ": 120373, + "à¤Ĺढ": 120374, + "ĠиндивидÑĥ": 120375, + "ĠìĥĿíĻľ": 120376, + "ĠзовÑģÑĸм": 120377, + "íĥķ": 120378, + "çľł": 120379, + "ĠêµŃëĤ´": 120380, + "eptal": 120381, + "raci": 120382, + "è¡¡": 120383, + "ãĦ·": 120384, + "ĠStÅĻed": 120385, + "اÙĦÙĬا": 120386, + "ΣΤ": 120387, + "Ľ°": 120388, + "ãĥīãĥ«": 120389, + "ázÃŃ": 120390, + "ĠаÑģп": 120391, + "ĠdÄ±ÅŁarı": 120392, + "ĠвиÑĢобниÑĨÑĤва": 120393, + "eza": 120394, + "ï¼Įä¸įè¿ĩ": 120395, + "çĥ¦": 120396, + "ãĥ³ãĤ°ãĥ«": 120397, + "Ġrozvoj": 120398, + "ĠÙħÙĨتشر": 120399, + "ĠÑĥÑĤеп": 120400, + "ĠدÙĬÙĨ": 120401, + "ĠзаÑģобÑĸв": 120402, + "Ngưá»Ŀi": 120403, + "ãĤ·ãĥ¼": 120404, + "ĠFransız": 120405, + "ÎĻΤ": 120406, + "ائÙģ": 120407, + "ιÏĩ": 120408, + "ีà¹Ģม": 120409, + "à¥įमन": 120410, + "à¥įमà¤ļ": 120411, + "Ġسعر": 120412, + "ï¾Ŀ": 120413, + "ë°©ë²ķ": 120414, + "ĠСо": 120415, + "Ġà¤ĸबर": 120416, + "ìĨĮê°ľ": 120417, + "Ġslova": 120418, + "QPCP": 120419, + "ĠKız": 120420, + "Ø·Ù쨧ÙĦ": 120421, + "ĠкоÑĢм": 120422, + "ĠìĹħëį°ìĿ´íĬ¸": 120423, + "espoÅĪ": 120424, + "à¸Ķาว": 120425, + "оÑĢом": 120426, + "ĠгÑĢаÑĦ": 120427, + "ĠпÑĸÑĪ": 120428, + "Ġë¿IJ": 120429, + "ýv": 120430, + "Сам": 120431, + "Ġkrev": 120432, + "ĠBunu": 120433, + "Ġzobraz": 120434, + "ĠسخÙĨ": 120435, + "ĠæĶ¯": 120436, + "лÑİб": 120437, + "ÙİØ§ÙĨ": 120438, + "маÑĤÑĢива": 120439, + "λεÏį": 120440, + "ĠпоÑħод": 120441, + "ĠгÑĢе": 120442, + "çľĭçĿĢ": 120443, + "à¸Īำà¸ģ": 120444, + "ัà¸ĩà¸Ħม": 120445, + "Ġseçenek": 120446, + "İstanbul": 120447, + "ĠвÑĸдмов": 120448, + "miyor": 120449, + "Ġmụn": 120450, + "ìĿ´ìĹIJ": 120451, + "ĠNhư": 120452, + "Âłtom": 120453, + "lıkları": 120454, + "ÂłÄij": 120455, + "ãĥ»ãĥŀ": 120456, + "ĠÙģØª": 120457, + "ĠFakültesi": 120458, + "ìłĦíŀĪ": 120459, + "éªij": 120460, + "ĠìŀijìĿĢ": 120461, + "ç¼ĺ": 120462, + "ìºIJ": 120463, + "Ġmüzik": 120464, + "алÑĭ": 120465, + "Ġpozem": 120466, + "çĥ§": 120467, + "Ġ常": 120468, + "Å¡il": 120469, + "à¤Ĩप": 120470, + "à¸ģำหà¸Ļà¸Ķ": 120471, + "Ġگردش": 120472, + "λιά": 120473, + "Ġöden": 120474, + "åıªè¦ģ": 120475, + "ĠÄIJo": 120476, + "Ġstratej": 120477, + "ĠÙĩتÙĦ": 120478, + "ÙĤÙģ": 120479, + "Ġkullanılır": 120480, + "ĠÑģпоÑģÑĤ": 120481, + "ĠnÄĽho": 120482, + "ĠÐŁÐµÑĢед": 120483, + "ĠизмеÑĢ": 120484, + "]]>": 120485, + "ĠнÑĸколи": 120486, + "Ġhayal": 120487, + "ĠдодаÑĤков": 120488, + "Ġनà¤ķ": 120489, + "Ġinsanın": 120490, + "à¸¸à¸¡à¸łà¸²à¸ŀ": 120491, + "ografie": 120492, + "воб": 120493, + "ĠاÙĨساÙĨÛĮ": 120494, + "Ġmük": 120495, + "ĠÑĥмеÑĢ": 120496, + "оÑĩнÑĭе": 120497, + "ëıĦìĿĺ": 120498, + "Ġara": 120499, + "Ġ빨": 120500, + "ĠκÏį": 120501, + "лой": 120502, + "Ñģион": 120503, + "ĠrozdÃŃl": 120504, + "ayıf": 120505, + "ĠÙĪØ§ØŃدة": 120506, + "оÑĢалÑĮ": 120507, + "Ġpochop": 120508, + "éļ¨": 120509, + "à¹īà¸Ńà¸ĩà¸Ļ": 120510, + "ĠÙĪØ§ÙĨ": 120511, + "ξε": 120512, + "Ġμον": 120513, + "ÑĥÑĪка": 120514, + "ordum": 120515, + "æ¸ħæ¥ļ": 120516, + "ĠDeÄŁ": 120517, + "ÏĢÏģο": 120518, + "ĠÙĪØ§ÙĦتÙĬ": 120519, + "Ġpokus": 120520, + "íĽĦ기": 120521, + "饮": 120522, + "æĹħè¡Į": 120523, + "ĠженÑīин": 120524, + "ĠdoÄŁrudan": 120525, + "ĠÑıб": 120526, + "ĠzaÄįÃŃ": 120527, + "Ġë³´ìŬ": 120528, + "-CP": 120529, + "åIJ¨": 120530, + "à¥ĭà¤ĸ": 120531, + "ÑĢогÑĢа": 120532, + "lerdi": 120533, + "ìĬ´": 120534, + "ÙıÙĪØ§": 120535, + "ĠustanovenÃŃ": 120536, + "ĠдоÑģÑĤав": 120537, + "Ġfırsat": 120538, + "ĠاÙĦÙħÙĩÙĨØ©": 120539, + "ĠвеÑīеÑģÑĤва": 120540, + "ĠнеÑģп": 120541, + "ĠاÙĦکترÙĪÙĨ": 120542, + "taÅŁ": 120543, + "æĪĴ": 120544, + "Ġyurt": 120545, + "Ġgirdi": 120546, + "ĠÐļÑĥб": 120547, + "Ġ를": 120548, + "ุà¹Į": 120549, + "ãģĿãģĨãģª": 120550, + "à¹īĊ": 120551, + "ĠвÑĭбÑĢа": 120552, + "kovÄĽ": 120553, + "ĠSiz": 120554, + "ĠگاÙĩ": 120555, + "ĠЧаÑģ": 120556, + "ĠзгÑĸдно": 120557, + ".ÐŁ": 120558, + "å§Ĭ": 120559, + "ĠÐļÑĥÑĢ": 120560, + "ĠìĿĺíķ´": 120561, + "Ġetraf": 120562, + "ĠкаÑĪ": 120563, + "ĠØ·ÛĮ": 120564, + "ξει": 120565, + "ç²Ĵ": 120566, + "Ġآذ": 120567, + "Ġbölge": 120568, + "Ġà¤®à¤ľà¤¬": 120569, + "ÙIJÙĥ": 120570, + "Ġválky": 120571, + "ãģłãĤĪ": 120572, + "Ġmesaj": 120573, + "ĠpÅĻist": 120574, + "Ġtypu": 120575, + "ĠкиÑĪеÑĩ": 120576, + "ãĤīãģ®": 120577, + "Ġkendisi": 120578, + "ĠвÑĸдбÑĥва": 120579, + "侯": 120580, + "Ġдиза": 120581, + "ãĢĢĊ": 120582, + "ĠпÑĢоÑĨеÑģÑĥ": 120583, + "ĠÑįлекÑĤÑĢ": 120584, + "_PUS": 120585, + "ĠмногиÑħ": 120586, + "Ġkém": 120587, + "æŀª": 120588, + "çݰ代": 120589, + "Ġéħį": 120590, + "ë¡Ń": 120591, + "ÑĤиÑģÑı": 120592, + "Ġlục": 120593, + "ĠÙĪØ§ÙĦØŃ": 120594, + "ptal": 120595, + "ẵng": 120596, + "ÏĢλ": 120597, + "Ġdolu": 120598, + "Ġtòa": 120599, + "Ġиногда": 120600, + "ĠпоÑĢÑıдок": 120601, + "ЯкÑīо": 120602, + "âĶĺ": 120603, + "ĠغربÛĮ": 120604, + "ç§»åĬ¨": 120605, + "ยà¸Ļà¸ķร": 120606, + "HDATA": 120607, + "_PUSHDATA": 120608, + "Ġثابت": 120609, + "åĮħåIJ«": 120610, + "ĠÏĢÏģÎŃÏĢει": 120611, + "़à¥ĭ": 120612, + "åIJįåīį": 120613, + "ÑĤеÑĢи": 120614, + "ッ": 120615, + "ĠåħĪ": 120616, + "нед": 120617, + "ÏģοÏįν": 120618, + "вей": 120619, + "èĤĸ": 120620, + "ĠÅĻeditel": 120621, + "Ġthép": 120622, + "ĠÙĩÙģØªÙĩ": 120623, + "ĠдÑĢÑĥга": 120624, + "ERİ": 120625, + "ĠẢ": 120626, + "ĠпеÑĢеÑĢ": 120627, + "ĠжеÑģÑĤ": 120628, + "ĠÄijẳng": 120629, + "禮": 120630, + "алÑĮном": 120631, + "िषय": 120632, + "иденÑĤа": 120633, + "ĠآخرÛĮÙĨ": 120634, + "Ġæĵ": 120635, + "Ġมหาว": 120636, + "ĠлÑİÑĤого": 120637, + "ĠбÑĸзнеÑģ": 120638, + "gıç": 120639, + "Ġngá»ĵi": 120640, + "оÑĩнÑĭй": 120641, + "ĠoÄįek": 120642, + "ĠÙħرة": 120643, + "Ġtvar": 120644, + "ĠsamozÅĻejmÄĽ": 120645, + "ĠBelediye": 120646, + "Ġвода": 120647, + "ĠÚ¯ÛĮرد": 120648, + "ĠгодÑĭ": 120649, + "ãģ«è¡Į": 120650, + "æĺ¯æĪij": 120651, + "ÑĪили": 120652, + "ĠåĽ½äº§": 120653, + "á»§i": 120654, + "ĠбÑĥдÑĥÑĤÑĮ": 120655, + "ĠÑĢайонÑĥ": 120656, + "Ġìĵ": 120657, + "ĠÙĪØ§Ø³": 120658, + "ĠاÛĮشاÙĨ": 120659, + "ενοδο": 120660, + "Ġнезалеж": 120661, + "Ġپشت": 120662, + "ĠgiriÅŁim": 120663, + "Ġделе": 120664, + "ĠاصÙģÙĩاÙĨ": 120665, + "à¸Ķวà¸ģ": 120666, + "ĠاÙĦÙĤÙĬ": 120667, + "à¹Įà¸Ī": 120668, + "못": 120669, + "Ġdru": 120670, + "迹": 120671, + "адженнÑı": 120672, + "ÙģÙĨ": 120673, + "ÏĩοÏĤ": 120674, + "à¹Ĥà¸Ī": 120675, + "eyle": 120676, + "å¡ij": 120677, + "Ġuprav": 120678, + "ĠздаÑĤ": 120679, + "ĠvidÄĽt": 120680, + "Ġà¸Ľà¸£": 120681, + "ĠÑĦеÑĢ": 120682, + "ÐĨн": 120683, + "Ġìµľìĭł": 120684, + "loha": 120685, + "ĠиÑģпÑĭÑĤ": 120686, + "Ġavan": 120687, + "γοÏħ": 120688, + "ĠGiấy": 120689, + "ãĤ»ãĥ³ãĤ¿ãĥ¼": 120690, + "éģį": 120691, + "еÑĢаÑħ": 120692, + "Ġê°Ģì§Ģê³ł": 120693, + "Ġид": 120694, + "Ġmnohem": 120695, + "æ£Ģæµĭ": 120696, + "Ġetme": 120697, + "ĠتÙħر": 120698, + "ĠbaÅŁlayan": 120699, + "ãģıãĤĮ": 120700, + "à¹ĩà¸Ļà¸ģาร": 120701, + "ĠÑħаÑĢакÑĤеÑĢиз": 120702, + "Ġanlamına": 120703, + "ÙıÙĩ": 120704, + "ĠÑģеÑĢпнÑı": 120705, + "çķªçµĦ": 120706, + "Ġmsgid": 120707, + "ĠzvÃŃÅĻ": 120708, + "ĠíļĮìĽIJ": 120709, + "Ġyapar": 120710, + "ä¼ĺåĬ¿": 120711, + "еннÑĭми": 120712, + "Ġأث": 120713, + "ì²Ļ": 120714, + "Ġjiného": 120715, + "ĠدÙģØ§Ø¹": 120716, + "ĠØŃÚ©ÙĪÙħ": 120717, + "Ġrizik": 120718, + "άλι": 120719, + "à¸ĩà¸Ĥ": 120720, + "èµ¢": 120721, + "ĠÎķÎĽ": 120722, + "Ġokum": 120723, + "æĶ¶åħ¥": 120724, + "ĠÚĨÛĮÙĨ": 120725, + "æľīçļĦ": 120726, + "ÑĨами": 120727, + "dÄĽnÃŃ": 120728, + "ĠкоÑĢаб": 120729, + "Ġalanda": 120730, + "สà¸Ļาม": 120731, + "ï¼īãģ®": 120732, + "ısız": 120733, + "ÙĬÙĬر": 120734, + "ÙĥÙĬØ©": 120735, + "ĠneboÅ¥": 120736, + "Ġbitir": 120737, + "Ġãĥľ": 120738, + "Ùijا": 120739, + "ï¼Ĩ": 120740, + "ĠاÙĦتارÙĬØ®": 120741, + "มหาà¸Ļà¸Ħร": 120742, + "atürk": 120743, + "ãĤ¹ãĥĨãĥł": 120744, + "θήκη": 120745, + "Ġκαν": 120746, + "ĠSür": 120747, + "ĠdÄ±ÅŁÄ±": 120748, + "Ġkancel": 120749, + "Ġپخش": 120750, + "hPa": 120751, + "ĠÄįt": 120752, + "ĠпÑĢоÑħ": 120753, + "à¹īà¸Ī": 120754, + "Ġê±°ìķ¼": 120755, + "ĠдеÑĢжавного": 120756, + "èĤ¡ä¸ľ": 120757, + "ìĿ´íģ¬": 120758, + "ÙĥتÙĪØ±": 120759, + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ": 120760, + "診": 120761, + "ĠبÙħا": 120762, + "ĠноÑĢмаÑĤив": 120763, + "çiler": 120764, + "à¸ĩศ": 120765, + "éĽĨä¸Ń": 120766, + "ÑĢиÑģ": 120767, + "ÑĩаÑĶ": 120768, + "liÄŁin": 120769, + "ãĥ¼ãĤ¿ãĥ¼": 120770, + "аÑĢаÑĤ": 120771, + "åĬĽéĩı": 120772, + "ĠÑģÑħем": 120773, + "åħ¥åı£": 120774, + "离å¼Ģ": 120775, + "ÏģοÏĨοÏģίεÏĤ": 120776, + "ĠÐĹаÑĤем": 120777, + "ĠkarÅŁÄ±sında": 120778, + "ĠاÙĨتظ": 120779, + "ï½Ĭ": 120780, + "ĠeÅŁit": 120781, + "Ġyazılı": 120782, + "Ðļом": 120783, + "ازÙĬ": 120784, + "Ġkimse": 120785, + "ÑĢаÑīи": 120786, + "ัà¸ģส": 120787, + "Ġkanun": 120788, + "ĠëIJĺìĹĪ": 120789, + "ĠιÏĥÏĩ": 120790, + "Ġмеди": 120791, + "æ°§": 120792, + "ï¼Įåħ¶ä¸Ń": 120793, + "Ġyoktu": 120794, + "ĠãĤ½": 120795, + "ĠпÑĢиобÑĢеÑĤ": 120796, + "ÙĪÛĮØ´": 120797, + "ãħłãħł": 120798, + "ĠکردÙħ": 120799, + "Ġduvar": 120800, + "Ġç¸": 120801, + "ısır": 120802, + "Ġïºį": 120803, + "ĠÐłÐ¾ÑģÑģиÑı": 120804, + "à¹īà¹ĥà¸Ļ": 120805, + "ĠiÅŁi": 120806, + "dol": 120807, + "ĠÙħØŃÙħÙĪØ¯": 120808, + "ĠÑģамÑĭÑħ": 120809, + "ĠبÙĨابراÛĮÙĨ": 120810, + "ãĤĮãģ©": 120811, + "ุà¸ķสาห": 120812, + ".»": 120813, + "ูà¸Ĭ": 120814, + "ĠTep": 120815, + "ãģıãĤĵ": 120816, + "Ġå¸ĥ": 120817, + "Ġतल": 120818, + "Ġserm": 120819, + "λÏĮγ": 120820, + "ĠÅŀimdi": 120821, + "Ġà¤ľà¤¨à¤¤": 120822, + "-ÐĴ": 120823, + "訪": 120824, + "ĠвÑĸдпов": 120825, + "ิà¸Ļà¸Ķ": 120826, + "ιÏĥμÏĮÏĤ": 120827, + "ΩΤ": 120828, + "âĨĴâĨĴ": 120829, + "ικοί": 120830, + "ĠÑģпÑĢава": 120831, + "æľºåħ³": 120832, + "ĠÃĿ": 120833, + "Ġмова": 120834, + "Ġмогла": 120835, + "ĠдлиÑĤелÑĮ": 120836, + "ãģĹãģ¦ãĤĤ": 120837, + "ĠβÏģί": 120838, + "Ġжод": 120839, + "éĹª": 120840, + "ĠмÑĸÑģÑĮкоÑĹ": 120841, + "ηÏģε": 120842, + "çłĤ": 120843, + "Ġkterých": 120844, + "ĠÐĵолов": 120845, + "Ġhá»Ļp": 120846, + "ĠpanÃŃ": 120847, + "تÙħاد": 120848, + "Âľ": 120849, + "åįģåħŃ": 120850, + "κοÏĤ": 120851, + "евÑĭÑħ": 120852, + "æĭĴ": 120853, + "ĠÑģÑĤоÑĢон": 120854, + "Ġphóng": 120855, + "ĠÑĥлÑĥÑĩÑĪ": 120856, + "mrt": 120857, + "mpar": 120858, + "ĠSlav": 120859, + "Ġkov": 120860, + "ìĿ¸ìĿĢ": 120861, + "ĠåºĶ": 120862, + "ัà¸ļà¸Ħ": 120863, + "Ġkì": 120864, + "ĠaÅ¥": 120865, + "ÅĻÃŃt": 120866, + "ì°Į": 120867, + "ÙħÙĨت": 120868, + "ıyorlar": 120869, + "æŃ£å¸¸": 120870, + "нÑıÑĤÑĤÑı": 120871, + "racÃŃ": 120872, + "ĠпиÑĤаниÑı": 120873, + "à¸Īะà¹Ģà¸Ľ": 120874, + "ĠاÙĦÙĩÙĨد": 120875, + "ĠDost": 120876, + "ĠÐĴаÑģилÑĮ": 120877, + "ĠíĥĦ": 120878, + "Ġnạn": 120879, + "à¹Īà¸Ńà¹Ħà¸Ľ": 120880, + "رÙĪØ¶": 120881, + "±ظ": 120882, + "Ġbychom": 120883, + "à¸Ļวย": 120884, + "ãģłãģ£ãģ¦": 120885, + "ĠÐĺÑģп": 120886, + "à¸Ħรà¸ļ": 120887, + "Ġสà¸ĸาà¸Ļ": 120888, + "ĠëĤ®": 120889, + "jiÅ¡tÄĽ": 120890, + "ĠÙģÙĪØª": 120891, + "ĠChương": 120892, + "ĠìĿ´ë£¨": 120893, + "ĠpÅĻÃŃtom": 120894, + "tual": 120895, + "bette": 120896, + "Ġsabah": 120897, + "μί": 120898, + "Ġmá»ĩnh": 120899, + "ãģ®ãģłãĤįãģĨ": 120900, + "ĠzamÄĽÅĻ": 120901, + "åįģäºĶ": 120902, + "ĠìķĬìĿĦ": 120903, + "اÙĨÙĪ": 120904, + "енÑĥ": 120905, + "ĠÑĥгод": 120906, + "ĠVưá»Ŀn": 120907, + "Ġëĵ±ìĿĦ": 120908, + "Ġbelirtilen": 120909, + "æŁĦ": 120910, + "Ġteklif": 120911, + "¬Ĥ": 120912, + "ĠподаÑĤков": 120913, + "ĠاÙĦÙĨÙĩ": 120914, + "ï¼´": 120915, + "ìĽĥ": 120916, + "Ġहल": 120917, + "ĠимÑĥ": 120918, + "ĠкоÑĤоÑĢÑĭм": 120919, + "ï¼Į以åıĬ": 120920, + "ĠÑĤабли": 120921, + "ा:": 120922, + "Ġبرج": 120923, + "ĠÎŃναν": 120924, + "ĠÙĬÙĪÙĦÙĬÙĪ": 120925, + "ýš": 120926, + "ĠÙĬج": 120927, + "ĠÑĤÑĢоÑħи": 120928, + "æŀĿ": 120929, + "ĠdÃły": 120930, + "ĠBurada": 120931, + "ĠÏĥÏħμβ": 120932, + "ĠÎijÏģÏĩ": 120933, + "ĠsociálnÃŃ": 120934, + "ĠÚ¯ÙĪ": 120935, + "Ġyanıt": 120936, + "ãģ¯ãģªãģĦ": 120937, + "ãģ®ä¸Ĭ": 120938, + "Ġnúi": 120939, + "ĠرÙģØªØ§Ø±": 120940, + "ĠÙħرات": 120941, + "زÙħاÙĨ": 120942, + "าà¸Īารย": 120943, + "ĠÑĩиÑģлÑĸ": 120944, + "ĠسÙĨت": 120945, + "ĠÃĸzellikle": 120946, + "ìĩ¼": 120947, + "ĠÄįÃŃm": 120948, + "ADDE": 120949, + "ãģ®ãĤĪãģĨãģª": 120950, + "ÙĪÙĦÙĪÚĺÛĮ": 120951, + "ĠíĻľìļ©": 120952, + "ãĢģãģ©ãģĨ": 120953, + "ĠÎłÏģÏī": 120954, + "çĻ»åł´": 120955, + "ĠнаданнÑı": 120956, + "ĠмеÑĢеж": 120957, + "ĠìĿµ": 120958, + "jÃŃcÃŃch": 120959, + "itou": 120960, + "ÙĤÙĪÙĦ": 120961, + "Ùħج": 120962, + "ĠبÙĨد": 120963, + "Ġönüne": 120964, + "Ġï½°": 120965, + "зв": 120966, + "ĠеÑģÑĤе": 120967, + "ÐłÐĺ": 120968, + "ÑĢол": 120969, + "ayla": 120970, + "ĠклÑĥ": 120971, + "æİ¨èĸ¦": 120972, + "ĠÑĢозÑĢаÑħ": 120973, + "Ġìĥģëĭ´": 120974, + "ĠÙĨسÙħØ©": 120975, + "ĠвиÑħод": 120976, + "à¥Ģà¤Ĩà¤Ī": 120977, + "ĠпÑĢиÑģÑĤÑĥп": 120978, + "ÙĴع": 120979, + "ĠteÅŁekkür": 120980, + "дÑıки": 120981, + "Ġfikir": 120982, + "ัศà¸Ļ": 120983, + "ĠآزÙħاÛĮØ´": 120984, + "Ġbizi": 120985, + "ÏĨαÏģ": 120986, + "æľªæĿ¥": 120987, + "æIJº": 120988, + "ĠδÏħνα": 120989, + "ĠرÙĪÙħ": 120990, + "Ġbundan": 120991, + "ĠÙĤاÙĦب": 120992, + "Ġhaft": 120993, + "忽": 120994, + "ĠÐľÐ¾ÑĢ": 120995, + "Ġzápas": 120996, + "Ġë¹Ľ": 120997, + "å»·": 120998, + "äºĪç´Ħ": 120999, + "Ġkhuyến": 121000, + "ĠÎijÎĵ": 121001, + "ĠìŀijìĹħ": 121002, + "डर": 121003, + "Ġjednoduch": 121004, + "à¥īम": 121005, + "ĠdeÄŁildi": 121006, + "Ġkolo": 121007, + "ĠدÙĤÛĮ": 121008, + "лами": 121009, + "ĠHá»įc": 121010, + "Ġपस": 121011, + "ĠÎłÏģÏĮ": 121012, + "ĠâĹij": 121013, + "ĠнаÑģлÑĸд": 121014, + "Ġдиви": 121015, + "ĠpÅĻesnÄĽ": 121016, + "ĠТаким": 121017, + "Ġrukou": 121018, + "ä¸ĢåĪĩ": 121019, + "ĠÑģпÑĢи": 121020, + "enské": 121021, + "æĹ¦": 121022, + "ĠÙĤÙĨ": 121023, + "Ġústav": 121024, + "िशत": 121025, + "à¹Į)": 121026, + "ĠTrang": 121027, + "Ġmohla": 121028, + "ĠÎķλλην": 121029, + "Ġпоки": 121030, + "ĠØ¢Ùħار": 121031, + "åIJ¾": 121032, + "ĠÑĢеÑģп": 121033, + "Ġtakdir": 121034, + "Ġrahatsız": 121035, + "éŁ³ä¹IJ": 121036, + "ĠâĶĥ": 121037, + "ilis": 121038, + "ĠÙĪØ§ÙĦØ¥": 121039, + "å®Ļ": 121040, + "Ñĥмов": 121041, + "ĠÐĽÐ¸ÑĤ": 121042, + "::::|": 121043, + "åħ½": 121044, + "ĠÙĨزدÛĮÚ©": 121045, + "елÑĸв": 121046, + "θοÏįν": 121047, + "ìĹIJìĦľëıĦ": 121048, + "èµĦæł¼": 121049, + "çIJĨ论": 121050, + "ĠKemal": 121051, + "ĠкеÑĢ": 121052, + "ษายà¸Ļ": 121053, + "Ġåįİ": 121054, + ")ìĹIJ": 121055, + "ĠëĬĺ": 121056, + "ãĥĿãĥ¼ãĥĪ": 121057, + "ĠÐĹд": 121058, + "اصÙĬÙĦ": 121059, + "Ġkatı": 121060, + "ãĤĤãģĹãĤĮãģªãģĦ": 121061, + "Ġкаждого": 121062, + "ĠдÑĢ": 121063, + "Ġfutbol": 121064, + "ÙĦÙĬÙģ": 121065, + "Ġì§ĢëĤľ": 121066, + "ĠÙ¾ÛĮØ´ÙĨÙĩ": 121067, + "ülük": 121068, + "Ġà¸ķำà¸ļล": 121069, + "ĠbáºŃc": 121070, + "ĠåĽł": 121071, + "ikler": 121072, + "Ïģιά": 121073, + "Ġвважа": 121074, + "Ġvypl": 121075, + "Ġвниз": 121076, + "íĢ": 121077, + "çľ¾": 121078, + "ĠÑģила": 121079, + "ĠналиÑĩии": 121080, + "ĠعراÙĤ": 121081, + "ĠاÙĦÙħÙĥ": 121082, + "å°±ä¼ļ": 121083, + "ĠмÑĸг": 121084, + "ĠÎĮμιλοÏĤ": 121085, + "Ñīего": 121086, + "Ġíĸīìłķ": 121087, + "Âłmph": 121088, + "Ġmalé": 121089, + "ĠÛĮاÙģØªÙĩ": 121090, + "Ġmnoha": 121091, + "γά": 121092, + "ĠпоÑģÑĤÑĢо": 121093, + "ĠاÙĦÙħÙĪØ³": 121094, + "Ġolma": 121095, + "ëī´ìĬ¤": 121096, + "Ġtutar": 121097, + "ãĥ¼ãĥĵãĤ¹": 121098, + "à¥įथन": 121099, + "-либо": 121100, + "æ¥ŃåĭĻ": 121101, + "ĠоÑģобливо": 121102, + "è®Ģ": 121103, + "ÙģÙĩÙĪÙħ": 121104, + "Ġkẻ": 121105, + "ĠÅ¡tÄĽ": 121106, + "Ġcầm": 121107, + "ĠÄįlánky": 121108, + "ĠÄIJiá»ĩn": 121109, + "(=": 121110, + "OVÃģ": 121111, + "uldu": 121112, + "aft": 121113, + "Ġlãi": 121114, + "Ġdoldur": 121115, + "³³³³³³³³³³³": 121116, + "βι": 121117, + "ãģ£ãģ¦ãģįãģŁ": 121118, + "ì¶ľìŀ¥ìķĪë§Ī": 121119, + "å¯Ŀ": 121120, + "Ġë¶Ģíĥģ": 121121, + "ĠاÙĦاخ": 121122, + "ĠγÏħνα": 121123, + "à¤ıम": 121124, + "à¥Įल": 121125, + "عادة": 121126, + "ĠκοÏħ": 121127, + "ĠÙħطرØŃ": 121128, + "ĠÑĩеловеÑĩ": 121129, + "Ġnumar": 121130, + "Ġдина": 121131, + "ÏĦÏģÎŃ": 121132, + "λικ": 121133, + "Ġдолго": 121134, + "Ġnhiêu": 121135, + "ĠвоÑģÑģÑĤанов": 121136, + "apı": 121137, + "Ġkanı": 121138, + "ĠKế": 121139, + "ãĤīãģļ": 121140, + "Ġharek": 121141, + "ãģłãģijãģ§": 121142, + "æ»ħ": 121143, + "Ġohled": 121144, + "еÑĢим": 121145, + "ĠØŃÙĬÙĨ": 121146, + "ĠÙĤÙĩر": 121147, + "Ġबà¥Ŀ": 121148, + "اپÛĮÙħ": 121149, + "è¶ħè¿ĩ": 121150, + "Ġæħ": 121151, + "ĠتÙ쨳": 121152, + "asıyla": 121153, + "биÑĤ": 121154, + "ĠØŃاج": 121155, + "ĠÑĤÑĢебованиÑı": 121156, + "Ġæİ¨": 121157, + "Ġç±³": 121158, + "ãĤ³ãĥ¼ãĥī": 121159, + "ĠÑĥÑģи": 121160, + "ĠاخÙĦاÙĤ": 121161, + "Ġdostup": 121162, + "ĠعÙĦاÙĤ": 121163, + "िवस": 121164, + "Ġоди": 121165, + "tej": 121166, + "Ġthá»ıa": 121167, + "ัà¸ģษà¸ĵะ": 121168, + "ĠÑĢаÑģк": 121169, + "ĠÐĿаÑĢод": 121170, + "ĠзакÑĥп": 121171, + "ože": 121172, + "Ġاجرا": 121173, + "ê´ijê³ł": 121174, + "аÑĢÑĤам": 121175, + "ĠпеÑĢеж": 121176, + "èij£äºĭ": 121177, + "ĠÑıкоÑģÑĤÑĸ": 121178, + "ĠвÑĥл": 121179, + "мон": 121180, + "Ġchlap": 121181, + "ĠÑįÑĤомÑĥ": 121182, + "аÑĤÑĸ": 121183, + "ĠíĴĪ": 121184, + "è¡Ĺéģĵ": 121185, + "سد": 121186, + "ÙĪØ±Ùĩ": 121187, + "ĠزÛĮاد": 121188, + "åľ¨çº¿è§Ĩé¢ij": 121189, + "اÙĪÙĬØ©": 121190, + "ï¼Įå°±æĺ¯": 121191, + "elerinden": 121192, + "ÑĢажд": 121193, + "Ġпозд": 121194, + "ĠзнаÑĤÑĮ": 121195, + "ัà¸ļสà¸Ļ": 121196, + "à¥ĩà¤ĸत": 121197, + "ĠæĽ°": 121198, + "ê³¼ìłķ": 121199, + "é®®": 121200, + "ĠViá»ĩn": 121201, + "Ġdvoj": 121202, + "ίνεÏĦαι": 121203, + "ĠosobnÃŃch": 121204, + "ĠâĢª": 121205, + "éϵ": 121206, + "ĠØ®ÙĪØ¯Ø´": 121207, + "ĠاÙĨر": 121208, + "ĠпÑĢоÑĦеÑģÑģионалÑĮ": 121209, + "kám": 121210, + "ĠÙħÙĥاÙĨ": 121211, + "ĠاÙĦأد": 121212, + "Ġê³µë¶Ģ": 121213, + "ĠÄijức": 121214, + "ĠCumhuriyeti": 121215, + "åĩºãģĹ": 121216, + "дами": 121217, + "ĠìĪĺìĥģ": 121218, + "ĠÙģØ¨Ø±Ø§ÙĬر": 121219, + "Ġsüresi": 121220, + "Ġبج": 121221, + "ĠæĶ¾": 121222, + "ØŃÛĮ": 121223, + "çłĶç©¶æīĢ": 121224, + "åĩºçīĪ社": 121225, + "ĠÙħÙĪØªÙĪØ±": 121226, + "&&&&": 121227, + "ĠпеÑĢей": 121228, + "ĠìĦłê±°": 121229, + "ĠúspÄĽÅ¡": 121230, + "ارک": 121231, + "Ġettir": 121232, + "Ġì¶ľìŀ¥": 121233, + "ĠKanun": 121234, + "ĠÑĥменÑĮÑĪ": 121235, + "ĠзаÑĤвеÑĢдж": 121236, + "ĠاÙĦدÙĪÙĦÙĬ": 121237, + "Ġãĥĵ": 121238, + "ĠBazı": 121239, + "åŃIJãģ®": 121240, + "åĩ¯": 121241, + "Ġsebeb": 121242, + "Ġåħ±": 121243, + "Ġdnů": 121244, + "ä½įäºİ": 121245, + "ĠZd": 121246, + "æī±": 121247, + "ĠتجربÙĩ": 121248, + "ÃĶNG": 121249, + "Ġìĺ¬ëĿ¼": 121250, + "ÏīÏĦεÏģ": 121251, + "ĠÑģвид": 121252, + "æ¯ĶèµĽ": 121253, + "ãģ«åIJij": 121254, + "ìľĦ를": 121255, + "ãģĹãģ¾ãģĹãģŁ": 121256, + "Ġdá»ĭ": 121257, + "ĠÐłÑĥÑģ": 121258, + "Ġvá»ı": 121259, + "à¤Ĥडल": 121260, + "ĠпиÑī": 121261, + "Ġsmrti": 121262, + "à¸Īาà¸ģà¸ģาร": 121263, + "ĠÑģаÑħаÑĢ": 121264, + "Ġthoát": 121265, + "جÙħØ©": 121266, + "Ġпозвол": 121267, + "ĠاÙĦثاÙĨÙĬØ©": 121268, + "زادÙĩ": 121269, + "ãĢģä¸Ń": 121270, + "ήμεÏģα": 121271, + "æ¦ľ": 121272, + "lacaģı": 121273, + "ĠнаÑĪиÑħ": 121274, + "ìĶĢ": 121275, + "ĠÐĺÑģÑĤоÑĢиÑı": 121276, + "ündeki": 121277, + "ĠпеÑĢел": 121278, + "Ġ목ìĨĮ": 121279, + "ĠÑģÑĤаÑĤÑĥÑģ": 121280, + "овали": 121281, + "ÅĻaz": 121282, + "ĠдÑĢÑĥгого": 121283, + "ÙĥÙĪÙħØ©": 121284, + "ÑĩиÑģÑĤ": 121285, + "μμ": 121286, + "åıįåºĶ": 121287, + "icari": 121288, + "Ġپاک": 121289, + "алÑĮним": 121290, + "ĠBuna": 121291, + "иÑĤив": 121292, + "ÑĦÑĢа": 121293, + "ãĥ¼ãĥĸãĥ«": 121294, + "ĠÑĤобÑĤо": 121295, + "룬ìĬ¤": 121296, + "ĠاÙĦاع": 121297, + "åħ¬éĸĭ": 121298, + "å¥ī": 121299, + "ÙĪÙĦد": 121300, + "åIJįçĦ¡ãģĹ": 121301, + "æ°ij主": 121302, + "à¥ģà¤ľà¤°": 121303, + "ìĤ¬ë¬´": 121304, + "Ġöncelik": 121305, + "Ġå¨": 121306, + "Ñıб": 121307, + "çľī": 121308, + "à¥įवय": 121309, + "ĠHình": 121310, + "çļĦåľ°æĸ¹": 121311, + "ĠاÙĦتس": 121312, + "ä¸Ī夫": 121313, + "ĠпÑĥблÑĸ": 121314, + "ĠnÄĽjaké": 121315, + "ÄIJá»iji": 121316, + "ĠÑģоÑģÑĤоÑıниÑı": 121317, + "à¥Ģ)": 121318, + "ĠÄijáºŃu": 121319, + "jed": 121320, + "ê¶ģ": 121321, + "Ġsenin": 121322, + "ĠHóa": 121323, + "âĻł": 121324, + "лÑıÑİÑĤÑĮ": 121325, + "éĹ²": 121326, + "ìĿ¸íĬ¸": 121327, + "تبÙĩ": 121328, + "Ġरà¤ĸत": 121329, + "ĠÑģловами": 121330, + "ĠطبÙĤ": 121331, + "Ġuydu": 121332, + "ุà¸ĩà¹Ģà¸Ĺà¸ŀมหาà¸Ļà¸Ħร": 121333, + "ĠSanat": 121334, + "à¹īาà¸Ĭ": 121335, + "Ġкниж": 121336, + "Ìģc": 121337, + "اÙħج": 121338, + "δÏİ": 121339, + "Å®": 121340, + "Ġbinh": 121341, + "è¾Ĩ": 121342, + "neÄŁi": 121343, + "Ø·ÙĨ": 121344, + "å¸ķ": 121345, + "Ġìĩ¼": 121346, + "оÑģÑĢед": 121347, + "ĠοÏĢοίο": 121348, + "kır": 121349, + "à¥Īश": 121350, + "Ġà¸ĩาà¸Ļ": 121351, + "Ġdruž": 121352, + "ematik": 121353, + "adıģ": 121354, + "è¾ŀ": 121355, + "ĠpoužÃŃvá": 121356, + "Ġkurtar": 121357, + "ĠsaÄŁlan": 121358, + "ãĢıï¼Ī": 121359, + "Ġmůžeme": 121360, + "Ġباد": 121361, + "æľŁéĹ´": 121362, + "اتÙģ": 121363, + "Ġyazılım": 121364, + "ĠìĹ°ê²°": 121365, + "ÙĬÙ쨩": 121366, + "Ġemin": 121367, + "ĠнеÑģколÑĮкиÑħ": 121368, + "Û´Û°": 121369, + "寧": 121370, + "ίζει": 121371, + "Ġdél": 121372, + "veriÅŁ": 121373, + "ä¾¡æł¼": 121374, + "Ġاستاد": 121375, + "Ġалког": 121376, + ".HCM": 121377, + "ίοÏĤ": 121378, + "ακ": 121379, + "طع": 121380, + "ãģ£ãģį": 121381, + "ÑıеÑĤÑģÑı": 121382, + "лика": 121383, + "ĠÑĨÑı": 121384, + "Ġë§Īì§Ģë§ī": 121385, + "ĠаÑĢми": 121386, + "ĠγλÏİ": 121387, + "ENÃį": 121388, + "뮤": 121389, + "ŃIJï¸ı": 121390, + "Ġæ¯ı": 121391, + "Ġæĸ¼": 121392, + "ĠκαλÏį": 121393, + "ĠТом": 121394, + "ulur": 121395, + "Ġakce": 121396, + "ĠÙħÙĪØ¬Ø¨": 121397, + "esiz": 121398, + "нÑıв": 121399, + "алÑĮнÑĥÑİ": 121400, + "алÑĸÑģÑĤ": 121401, + "ĠваÑĢÑĸ": 121402, + "ĠÙħؤس": 121403, + "ĠÙħاÛĮÙĦ": 121404, + "ĠμεÏĦαξÏį": 121405, + "åĩºãģĻ": 121406, + "Ġvá»Ŀi": 121407, + "룴": 121408, + "ï¼ĭ": 121409, + "æ¯İ": 121410, + "Ġtabi": 121411, + "âĤĥ": 121412, + "æ£ĭçīĮ": 121413, + "ĠÃIJ": 121414, + "ĠпÑĢоÑĦеÑģÑĸй": 121415, + "ÑĥваннÑĸ": 121416, + "ξγ": 121417, + "Ġжил": 121418, + "ÚĺÙĨ": 121419, + "лÑĥÑĪ": 121420, + "á½´": 121421, + "овеÑĢ": 121422, + "è¾¼ãģ¿": 121423, + "ĠÐľÐ°ÐºÑģим": 121424, + "ĠвзглÑıд": 121425, + "ĠнаÑĤÑĥ": 121426, + "मà¤ķ": 121427, + "ĠÑħими": 121428, + "ĠÑĢозÑĤаÑĪ": 121429, + "ÙĪØ±Ø§ÙĨ": 121430, + "ĠØ´ÙĩرÙĩاÛĮ": 121431, + "æ©Łèĥ½": 121432, + "خذ": 121433, + "ĠÑģвоÑĶÑĹ": 121434, + "нÑıеÑĤ": 121435, + "Ġghế": 121436, + "ĠpÅĻedch": 121437, + "ÑĶÑĪ": 121438, + "огÑĢаÑĦÑĸÑı": 121439, + "Ġà¸Ĺำà¹ĥห": 121440, + "åĿĬ": 121441, + "ÏģÏīν": 121442, + "าระ": 121443, + "ĠKết": 121444, + "Ġchặt": 121445, + "ĠéĻĪ": 121446, + "ĠdÄĽlat": 121447, + "ĠбÑĥдÑĥÑī": 121448, + "ĠAçık": 121449, + "æłªå¼ıä¼ļ社": 121450, + "ĠÐŁÐ°ÑĢ": 121451, + "ĠKhu": 121452, + "ãĢģæĸ°": 121453, + "Ġбой": 121454, + "ë§ĪíĬ¸": 121455, + "ĠÑģопÑĢов": 121456, + "ساب": 121457, + "ниÑģÑĤ": 121458, + "å¼ĥ": 121459, + "ĠØ´ÙĨاس": 121460, + "енном": 121461, + "Ġ项": 121462, + "èīºæľ¯": 121463, + "озем": 121464, + "ĠÑĢеÑĪениÑı": 121465, + "lady": 121466, + "ĠвÑģей": 121467, + "æĶ»åĩ»": 121468, + "Ġê²°ìłķ": 121469, + "ãĢĢï¾ŀ": 121470, + "Ġê°IJëıħ": 121471, + "-ÐIJ": 121472, + "ĠmÃŃr": 121473, + "à¥ģपà¤ı": 121474, + "нÑĸÑĨип": 121475, + "бом": 121476, + "ĠÅ¡t": 121477, + "éľį": 121478, + "ĠÑĢеÑĪение": 121479, + "ĠдиагноÑģÑĤи": 121480, + "ipar": 121481, + "اÛĮز": 121482, + "ãng": 121483, + "ัวร": 121484, + "ĠÑĨаÑĢ": 121485, + "Ġsly": 121486, + "νÏİ": 121487, + "ĠKuzey": 121488, + "رÛĮب": 121489, + "Ġcenu": 121490, + "Ġcertif": 121491, + "ĠÑĤÑĢеÑĤÑĮ": 121492, + "ิà¸Ķà¸Ĥ": 121493, + "ĠпаÑĨÑĸÑĶн": 121494, + "ÅĻiv": 121495, + "èĦĤ": 121496, + "¢°": 121497, + "ĠPhần": 121498, + "ĠмеÑĤоди": 121499, + "Ấ": 121500, + "ìĨĶ": 121501, + "åIJĮåѦ": 121502, + "ĠåĢĭ": 121503, + "моÑĤÑĢÑı": 121504, + "Ġuvád": 121505, + "Û±Û¹Û¶": 121506, + "é쏿Ĭŀ": 121507, + "!»": 121508, + "ëĺIJ": 121509, + "ĠÛĮÙĪØªÛĮ": 121510, + "ĠاÙĦØŃرب": 121511, + "ологÑĸÑı": 121512, + "nila": 121513, + "ĠÄijảng": 121514, + "ázi": 121515, + "ÑĢоÑī": 121516, + "Ġortadan": 121517, + "Ġاخبار": 121518, + "Ġà¤ħà¤ľ": 121519, + "Ġ매ìļ°": 121520, + "Ġпой": 121521, + "ĠجÙĬ": 121522, + "кÑĥваÑĤи": 121523, + "Ġá»ŀ": 121524, + "Ġبشر": 121525, + "ĠÙĥÙĬÙĦ": 121526, + "ÑīеÑģÑĤво": 121527, + "ĠìŬíĸī": 121528, + "اÙħÙĬ": 121529, + "вÑĸлÑĮ": 121530, + "ĠPrvnÃŃ": 121531, + "ĠÙĪØ³ÛĮ": 121532, + "ĠÄIJá»": 121533, + "æĪ¿éĹ´": 121534, + "åľ¨çº¿éĺħ读": 121535, + "æķ·": 121536, + "Ġtrai": 121537, + "ä¿Ĺ": 121538, + "ĠÑģамоÑģÑĤоÑıÑĤелÑĮно": 121539, + "ĠÑĤÑĢебÑĥеÑĤÑģÑı": 121540, + "δÏģα": 121541, + "ĠÑĢеÑĩов": 121542, + "ĠвÑĸк": 121543, + "ĠÑĢÑĥÑĩ": 121544, + "奧": 121545, + "ĠolduÄŁuna": 121546, + "евÑĭе": 121547, + "Ġà¸Ħล": 121548, + "اÙĦÙĤ": 121549, + "ĠÑĸменÑĸ": 121550, + "æĶ»æĴĥ": 121551, + "ĠÑĥнивеÑĢÑģиÑĤ": 121552, + "ĠthÄĥm": 121553, + "ĠлиÑģÑĤопада": 121554, + "२०": 121555, + "Ø®ÙĬ": 121556, + "ÎķÎł": 121557, + "Ġarttır": 121558, + "Ġسخت": 121559, + "ï¼ĪæĺŃåĴĮ": 121560, + "ĠÎŁÏħ": 121561, + "иваниÑı": 121562, + "Ġstaveb": 121563, + "âħ¥": 121564, + "γÏīγή": 121565, + "Ù©": 121566, + "ĠиÑģÑģледованиÑı": 121567, + "åĢĭ人": 121568, + "Ġëĭ¤ìļ´ë°Ľê¸°": 121569, + "ĠÏĦελ": 121570, + "°N": 121571, + "ĠباÙĦÙĨ": 121572, + "à¹Įà¸ŀ": 121573, + "Ġnemůže": 121574, + "Ġголова": 121575, + "à¹Įà¹ģ": 121576, + "梯": 121577, + "Âĺ": 121578, + "δηÏĤ": 121579, + "ìĿ¸ì¦Ŀ": 121580, + "layın": 121581, + "á½·": 121582, + "ĠÙĨتاÛĮج": 121583, + "ĠÑģоблÑİд": 121584, + "ĠдвижениÑı": 121585, + "ìĮ": 121586, + "ĠpovÄĽ": 121587, + "ĠìłĦìĹIJ": 121588, + "å¦Ĥä¸ĭ": 121589, + "ĠاÙĦÙħدر": 121590, + "ï¼ĮæĪĸ": 121591, + "ارا": 121592, + "æ°ijæĹı": 121593, + "ĠبرÙĤ": 121594, + "ĠзапаÑģ": 121595, + "à¸Ļà¹ĥà¸Ī": 121596, + "éf": 121597, + "Ġà¸Łà¸£": 121598, + "Ġë³´ëĤ´": 121599, + "Ġ欧ç¾İ": 121600, + "-ÑĤаки": 121601, + "é©ļ": 121602, + "ÑĢÑĸÑı": 121603, + "æŁı": 121604, + "ĠповÑĸÑĤÑĢÑı": 121605, + "çµĦç¹Ķ": 121606, + "daÅŁ": 121607, + "Ġहमल": 121608, + "ĠÑĢеÑĶÑģÑĤÑĢа": 121609, + "άβ": 121610, + "ĠÎłÎ¿": 121611, + "Ġ그림": 121612, + "ÑĩаÑİÑĤ": 121613, + "à¸ĩà¸ķ": 121614, + "íĥĢìĿ´": 121615, + "æī¬": 121616, + "Ġpojist": 121617, + "ĠçłĶ": 121618, + "Ġåıĸ": 121619, + "Ġüzerindeki": 121620, + "jÅ¡ÃŃch": 121621, + "à¥Ģदव": 121622, + "檢": 121623, + "ĠмаÑĤеÑĢиалов": 121624, + "иваннÑı": 121625, + "Ġå°Ĩ": 121626, + "лл": 121627, + "ĠнаблÑİд": 121628, + "ĠGöz": 121629, + "ĠвзÑı": 121630, + "ç͵è§Ĩ": 121631, + "Ġвак": 121632, + "ç¿Ķ": 121633, + "Ġвзаим": 121634, + "Ġgitti": 121635, + "iteleri": 121636, + "ä»·å̼": 121637, + "ĠاÙĦتص": 121638, + "िनà¤ķ": 121639, + "éĢļãĤĬ": 121640, + "ĠÑģÑĦеÑĢ": 121641, + "çĻºå£²": 121642, + "âĿ¤": 121643, + "ĠÚ¯ÙĪØ´ÛĮ": 121644, + "агаÑĤо": 121645, + "ĠÏĥÏħγκ": 121646, + "авиÑģ": 121647, + "æĤ£èĢħ": 121648, + "ĠخاÙħ": 121649, + "ÎĻÎļÎĹΣ": 121650, + "ınızda": 121651, + "panÄĽl": 121652, + "ĠÄIJá»ĭa": 121653, + "à¹ģละส": 121654, + "ĠãĤĤ": 121655, + "Ġsonucunda": 121656, + "ìĿį": 121657, + "eless": 121658, + "ĠNha": 121659, + "Ġzakáz": 121660, + "ĠвоÑģÑĤ": 121661, + "ĠvzdÄĽlávánÃŃ": 121662, + "-ม": 121663, + "Ġmetrů": 121664, + "ĠپاÛĮÛĮÙĨ": 121665, + "ĠÑĢаÑģÑĤение": 121666, + "Ġmuá»iji": 121667, + "èµĦéĩij": 121668, + "ĠÅŁÃ¼ph": 121669, + "ÙĬÙĦÙħ": 121670, + "ĠdÃ¼ÅŁÃ¼nc": 121671, + "ĠкÑĸм": 121672, + "ĠÏĩÏīÏģίÏĤ": 121673, + "ázev": 121674, + "ĠDeÄŁer": 121675, + "å·¥æ¥Ń": 121676, + "ĠرÙħز": 121677, + "ĠalespoÅĪ": 121678, + "ĠпÑĢеÑģÑĤÑĥп": 121679, + "ĠعÙĦاÙĪÙĩ": 121680, + "Ġmerak": 121681, + "à¹Į:": 121682, + "çİ°åľº": 121683, + "ÑĨвеÑĤ": 121684, + "Ġà¤ªà¥ľ": 121685, + "Ġëĭ¤ìĿĮê³¼": 121686, + "udic": 121687, + "ĠLep": 121688, + "ĠоднÑĸ": 121689, + "Ġalarak": 121690, + "å®īæİĴ": 121691, + "Ġà¸Ĥà¸Ļาà¸Ķ": 121692, + "rezent": 121693, + "isinden": 121694, + "رÙĪÛĮ": 121695, + "Ġplu": 121696, + "ç«ĭãģ¦": 121697, + "ÑĭваниÑı": 121698, + "Ġrast": 121699, + "Ġdüzenlem": 121700, + "jezd": 121701, + "ĠвеÑīеÑģÑĤв": 121702, + "ĠдиÑĢекÑĤоÑĢ": 121703, + "ÑĦÑĦ": 121704, + "tainment": 121705, + "ĠاÙĦÙĪØ²": 121706, + "landa": 121707, + "ĠÙĨÚ¯Ùĩد": 121708, + "ĠпÑĢоÑĤивоп": 121709, + "ãģ£ãģı": 121710, + "ãģ¨ãģªãĤĬ": 121711, + "Ġë°ľê²¬": 121712, + "ictor": 121713, + "ãĤ¸ãĤª": 121714, + "ΣΦ": 121715, + "ĠÑģкладÑĸ": 121716, + "Ġobsahuje": 121717, + "ĠUkra": 121718, + "æķ¦": 121719, + "ĠÏĩαÏģα": 121720, + "ĠÑĢегÑĥли": 121721, + "俺ãģ¯": 121722, + "ัà¸ķว": 121723, + "éĦī": 121724, + "ĠباÛĮ": 121725, + "éĬ·": 121726, + "ĠNẵng": 121727, + "лод": 121728, + "ارÙģ": 121729, + "æ´ģ": 121730, + "ĠëıĻìĿ¼": 121731, + "ÑĤивного": 121732, + "âĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģ": 121733, + "Ġ-:-": 121734, + "컬": 121735, + "ĠÑĪаг": 121736, + "ìłĦìŀIJ": 121737, + "çļĦäºĭæĥħ": 121738, + "ĠÑĢегÑĸ": 121739, + "ियल": 121740, + "ĠÐĿаз": 121741, + "ĠÐĻого": 121742, + "ĠÐłÐ¾Ð¼": 121743, + "ĠÃĸrneÄŁin": 121744, + "ĠпÑĢеÑģ": 121745, + "uluÄŁu": 121746, + "Ġзадов": 121747, + "ÅĻeh": 121748, + "æ¯ķä¸ļ": 121749, + "ĠtháºŃp": 121750, + "ëĤ¸": 121751, + "Ġdlouhodob": 121752, + "дÑĸлÑĥ": 121753, + "alat": 121754, + "ä»°": 121755, + "оком": 121756, + "ĠÑĦÑĸлÑĮ": 121757, + "ĠNgân": 121758, + "ĠترÙĥ": 121759, + "ĠÑĤÑī": 121760, + "رÙĪØ¯": 121761, + "çuk": 121762, + "ranÃŃ": 121763, + "ĠdolaÅŁ": 121764, + "ĠQuang": 121765, + "ĠpÅĻedpok": 121766, + "ĠnámÄĽstÃŃ": 121767, + "ойÑĩив": 121768, + "çĭĢ": 121769, + "ĠбизнеÑģ": 121770, + "ãģŁãģı": 121771, + "ĠìĿ¸ì²ľ": 121772, + "оÑĢо": 121773, + "ĠKürt": 121774, + "ê·¸ëŁ¬": 121775, + "ÑĨаÑĤÑĮ": 121776, + "ĠBên": 121777, + "Ġacı": 121778, + "Ú©Ø´": 121779, + "ï¼Īå¹³æĪIJ": 121780, + "ĠèģĶ": 121781, + ")ãĢģ": 121782, + "diler": 121783, + "ÑĩиÑĤÑĮ": 121784, + "Ưá»": 121785, + "é϶": 121786, + "ileceÄŁini": 121787, + "ĠvÅ¡em": 121788, + "å¼Ģå¥ĸ": 121789, + "è§Ħ模": 121790, + "ulmuÅŁ": 121791, + "ĠåĪĺ": 121792, + "ео": 121793, + "ĠпеÑĢевÑĸÑĢ": 121794, + "åĪĨåĪ«": 121795, + "Ġjedná": 121796, + "liÄŁe": 121797, + "ĠرÙħضاÙĨ": 121798, + "ıklı": 121799, + "ÙĩÙĢ": 121800, + "éĩįçĤ¹": 121801, + "ÑĩиваеÑĤÑģÑı": 121802, + "ë¡ľìĦľ": 121803, + "ÏĦεÏģο": 121804, + "åľ°ä¸ĭ": 121805, + "днаннÑı": 121806, + "Ġngược": 121807, + "४": 121808, + "ĠÎijλ": 121809, + "Ġalacak": 121810, + "Ġà¹Ģà¸ĩ": 121811, + "اÛĮÙĨد": 121812, + "ĠhÃłi": 121813, + "ÑĢоиз": 121814, + "ĠЧи": 121815, + "ĠÑıÑģ": 121816, + "خرÛĮد": 121817, + "Ġhudeb": 121818, + "åľ§": 121819, + "ĠìĦ¼": 121820, + "å͝ä¸Ģ": 121821, + "ĠвÑĸлÑĮ": 121822, + "ĠباÙĦاتر": 121823, + "à¸Ńà¸ģาส": 121824, + "ĠTôi": 121825, + "มà¸Ĥ": 121826, + "omor": 121827, + "ĠOlomou": 121828, + "Ġxong": 121829, + "ĠdomácÃŃ": 121830, + "ĠاختÛĮ": 121831, + "ĠÑĤеÑħнÑĸÑĩ": 121832, + "ĠiÅŁte": 121833, + "à¥Įद": 121834, + "Ġнадеж": 121835, + "Ø®ÛĮص": 121836, + "åĬªåĬĽ": 121837, + "ĠتجÙĩÛĮزات": 121838, + "Ġvole": 121839, + "kinci": 121840, + "Ġhesab": 121841, + "ĠÑģеÑģÑĤ": 121842, + "کا": 121843, + "ÑĤеÑĢн": 121844, + "รรà¸Ħ": 121845, + "åıĤèĢĥ": 121846, + "ĠÐļаб": 121847, + "Ġİmpar": 121848, + "Ġnávrh": 121849, + "åĴ¨è¯¢": 121850, + "à¸ĸาม": 121851, + "Ġyerel": 121852, + "ĠÃĸl": 121853, + "çĮĽ": 121854, + "ĠاÙĦÙĪØ·ÙĨÙĬ": 121855, + "ĠìĿ´ìĸ´": 121856, + "ิà¸Ĺยาศาสà¸ķร": 121857, + "ĠAÅŁ": 121858, + "ĠземлÑİ": 121859, + "ĠдомаÑĪниÑħ": 121860, + "ĠÑĥвеÑĢ": 121861, + "ALI": 121862, + "ган": 121863, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 121864, + "Ġdostan": 121865, + "ezpe": 121866, + "ãģĭãģĦ": 121867, + "رÙģØªÙĩ": 121868, + "ĠмÑĥÑģ": 121869, + "à¹Įà¸Ł": 121870, + "覺": 121871, + "ализа": 121872, + "ĠÑĥÑĩÑĢежд": 121873, + "ĠکاÙĦ": 121874, + "Ġetkisi": 121875, + "ä½Ĩæĺ¯": 121876, + "Ġsouvis": 121877, + "ĠSavaÅŁÄ±": 121878, + "Ġبسبب": 121879, + "ÎŁÎ¹": 121880, + "èļ": 121881, + "Ġæ®": 121882, + "ĠìĺģêµŃ": 121883, + "اسÛĮÙĪÙĨ": 121884, + "ĠاÙĦاتØŃاد": 121885, + "ĠглÑı": 121886, + "à¹ĩà¸ģà¸ĭ": 121887, + "ĠجÙĪÙĨ": 121888, + "ĠاÙĦرسÙħÙĬ": 121889, + "ÂłG": 121890, + "ĠÑĤобÑĸ": 121891, + "Âĩ": 121892, + "ĠëĮĢíĸī": 121893, + "çĬ¶æħĭ": 121894, + "Ġê·¸ëĥ¥": 121895, + "Ġимп": 121896, + "ĠتÙĨظÛĮÙħ": 121897, + "ÙĦاÛĮÙĨ": 121898, + "ÑģÑĤвеннÑĭм": 121899, + "опол": 121900, + "رÙĪØ¬": 121901, + "Ġà¸ĩ": 121902, + "ĠçĤº": 121903, + "ĠUluslararası": 121904, + "à¥Įà¤Ĥ": 121905, + "ãĢģãģĿãģĨ": 121906, + "ĠسادÙĩ": 121907, + "ÎŃαÏĤ": 121908, + "Ġà¤Ĩल": 121909, + "-ÑĦ": 121910, + "ĠÎłÎ¿Î»Î¹": 121911, + "ĠноÑıбÑĢÑı": 121912, + "ÙĪÙĦÙĬ": 121913, + "æĽľæĹ¥": 121914, + "æĮģç»Ń": 121915, + "Ġê¼Ń": 121916, + "eceÄŁiz": 121917, + "ĠÛĮاÙģØª": 121918, + "Ġåı¸": 121919, + "ाà¤Ĺत": 121920, + "Ġæķħ": 121921, + "ĠаллеÑĢг": 121922, + "Ġtuz": 121923, + "еÑĢÑĤи": 121924, + "Ġthầu": 121925, + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢĠãĢĢ": 121926, + "-à¤ħ": 121927, + "ĠиммÑĥ": 121928, + "ÑĢай": 121929, + "主義": 121930, + "ĠbaÅŁlar": 121931, + "Ġä¸Ĭ涨": 121932, + "عا": 121933, + "ĠÎĻÏī": 121934, + "ียà¸ĩà¹ĥหม": 121935, + "ĠاÙĦÙħدÙĬÙĨØ©": 121936, + "ÑģÑĮко": 121937, + "ĠتارÛĮØ®ÛĮ": 121938, + "atÃŃm": 121939, + "âĢ嘆": 121940, + "آخر": 121941, + "ĠëĦ£": 121942, + "ĠÙĨÙħاÛĮد": 121943, + "ãģķãĤĵãģĮ": 121944, + "Ġbò": 121945, + "Ġà¸ķาม": 121946, + "ë³´ìķĺëĭ¤": 121947, + "аÑĤÑĸв": 121948, + "ĠÑĦил": 121949, + "Ġkısmı": 121950, + "iá»ĩng": 121951, + "Ġaydın": 121952, + "éģķãģĦ": 121953, + "еви": 121954, + "Ġå¾®": 121955, + "(íģ¬ê¸°": 121956, + "ĠÚ¯ÛĮر": 121957, + "ìķĦìĦľ": 121958, + "ĠδημιοÏħÏģγ": 121959, + "ãģ«ãģĬãģĦãģ¦": 121960, + "ĠÃľNİ": 121961, + "иÑĤом": 121962, + "عÙĦاÙħ": 121963, + "åIJİçļĦ": 121964, + "Ġplá": 121965, + "à¸Ľà¸£à¸°à¹Ĥย": 121966, + "ç¢İ": 121967, + "Ġéĺ²": 121968, + "ëĬĶëĭ¤": 121969, + "ĠæĹ¥æľŁ": 121970, + "Ġgeçerli": 121971, + "лаÑĤÑĭ": 121972, + "Ġmutlaka": 121973, + "ÙĪØº": 121974, + "à¹Ģฮ": 121975, + "Ġﻣ": 121976, + "edeki": 121977, + "à¹Įà¹Ģà¸Ļ": 121978, + "ĠнайбÑĸлÑĮÑĪ": 121979, + "ï¼Ĭ": 121980, + "Ġà¹Ĥรà¸ĩ": 121981, + "Ġfotbal": 121982, + "ĠéĢģ": 121983, + "âĢĮاÙĦÙħÙĦ": 121984, + "ÏīμάÏĦιο": 121985, + "Ġúkol": 121986, + "åįļ士": 121987, + "dub": 121988, + "ılıģ": 121989, + "ëĵľë¥¼": 121990, + "çĭIJ": 121991, + "αλλ": 121992, + "æŃ»äº¡": 121993, + "ĠпÑĢедпоÑĩ": 121994, + "çµµ": 121995, + "ĠмÑĥзÑĭ": 121996, + "еÑĢÑĤв": 121997, + "ĠÙĥÙĨد": 121998, + "Ġulož": 121999, + "ÎŁÎ¥ÎĽ": 122000, + "gili": 122001, + "üstü": 122002, + "нки": 122003, + "ĠÙĤÙĪØ§ÙĨ": 122004, + "ιακ": 122005, + "ĠÅŁer": 122006, + "ĠкиÑģл": 122007, + "Ù쨶ÙĦ": 122008, + "ĠÐIJÑĦ": 122009, + "γεν": 122010, + "Ġdostal": 122011, + "ĠsaÄŁlıklı": 122012, + "å®¶æĹı": 122013, + "ÄIJT": 122014, + "еÑĢин": 122015, + "ĠìĿ´ë٬íķľ": 122016, + "Ġdünyada": 122017, + "Ġnhắc": 122018, + "³³Ċ": 122019, + "νηÏĥη": 122020, + "γÏģαμμα": 122021, + "Ġtakson": 122022, + "ĠTürkçe": 122023, + "ĠÙģØ±Ø§ÙĨسÙĩ": 122024, + "天åłĤ": 122025, + "溶": 122026, + "Ġoto": 122027, + "èµµ": 122028, + "chyb": 122029, + "Ġå¾Ĵ": 122030, + "ÏĦÏį": 122031, + "áhnout": 122032, + "à¥įपर": 122033, + "Ġvlas": 122034, + "Ġíļ¨ê³¼": 122035, + "Ġthang": 122036, + "Ġolmasına": 122037, + "ĠпоÑĢÑĥÑĪеннÑı": 122038, + "Ġquỹ": 122039, + "ĠíĿIJ": 122040, + "Ġì΍": 122041, + "Ġë²Ī째": 122042, + "ẹn": 122043, + "Ġзгод": 122044, + "Ġتز": 122045, + "Ġاختص": 122046, + "ĠзÑĥÑģÑĤÑĢÑĸ": 122047, + "Ġtặng": 122048, + "ῶν": 122049, + "Ġì½ľ": 122050, + "ованиÑħ": 122051, + "âĢĮشد": 122052, + "Ġaraya": 122053, + "rové": 122054, + "ĠاختÙĦ": 122055, + "ливий": 122056, + "ĠاتØŃاد": 122057, + "ĠakÅŁam": 122058, + "ĠÚ©ÙĦاس": 122059, + "ãĤ¢ãĥĥãĥĹ": 122060, + "Ġzih": 122061, + "åĩĮ": 122062, + "å±±å¸Ĥ": 122063, + "Ġçevres": 122064, + "ĠогÑĢом": 122065, + "ĠآدÙħ": 122066, + "ĠtÄĽlo": 122067, + "ï¼Įæľ¬": 122068, + "ĠÚĺØ§ÙĨÙĪÛĮÙĩ": 122069, + "Ġkraje": 122070, + "μία": 122071, + "èħ¿": 122072, + "âĢŀTo": 122073, + "決å®ļ": 122074, + "ìĩ": 122075, + "ĠéĴ": 122076, + "ĠΣÏĦα": 122077, + "ĠجÙħÙĩÙĪØ±": 122078, + "ĠGenç": 122079, + "rám": 122080, + "ĠÐłÐµÐ·": 122081, + "Ġvytvá": 122082, + "ĠпÑĢоизводÑģÑĤва": 122083, + "ĠÙħذÙĩ": 122084, + "Ġihtiyac": 122085, + "ãĤ¯ãĤ»": 122086, + "Ġnêu": 122087, + "å¾³": 122088, + "ĠëĵĿ": 122089, + "наÑĩе": 122090, + "ĠÏĥÏħμμε": 122091, + "ÏĨÏīν": 122092, + "вавÑģÑı": 122093, + "ĠвиÑĤами": 122094, + "Ìģt": 122095, + "ĠfinanÄįnÃŃ": 122096, + "åıĬåħ¶": 122097, + "âĢħ": 122098, + "çĭ¼": 122099, + "ัà¸ļà¸ķ": 122100, + "ãģĽãĤĭ": 122101, + "ÎĻÎļÎŁ": 122102, + "λλι": 122103, + "ÑĤоÑİ": 122104, + "اعÙĬØ©": 122105, + "vÃŃce": 122106, + "онÑĸв": 122107, + "ì£Ħ": 122108, + "å»ł": 122109, + "ĠØ´ÙĬØ¡": 122110, + "ĠТем": 122111, + "Ġابزار": 122112, + "ĠTHPT": 122113, + "γγÏģαÏĨ": 122114, + "ĠëĮĢíķ´ìĦľ": 122115, + "ĠPhạm": 122116, + "ÑĨионной": 122117, + "|/": 122118, + "ĠãĤ¸ãĥ£": 122119, + "ÑĮÑİÑĤ": 122120, + "ÑĥзÑĭ": 122121, + "ĠÙħاد": 122122, + "ĠmÄĽly": 122123, + "Ġçα": 122124, + "Ġrád": 122125, + "à¸Ħวà¸ļà¸Ħ": 122126, + "à¥Ī?": 122127, + "Ġlidi": 122128, + "mamız": 122129, + "Ġà¹ģà¸ģ": 122130, + "ãĤ¯ãĤ·ãĥ§ãĥ³": 122131, + "à¸Ńำà¸Ļวย": 122132, + "esát": 122133, + "Ġviêm": 122134, + "è¡ĮåĬ¨": 122135, + "มาà¸ģà¸ģว": 122136, + "ĠØ®ÙĪØ§Ø¨": 122137, + "Ġserbest": 122138, + "ÅĻÃŃz": 122139, + "ĠíĺĦëĮĢ": 122140, + "ãĢĮãģĿãģĨ": 122141, + "çĤ¸": 122142, + "omik": 122143, + "Ġİran": 122144, + "ĠeriÅŁ": 122145, + "ĠÑģела": 122146, + "ĠارزÛĮ": 122147, + "ãĥĪãĥª": 122148, + "ĠBÄĽ": 122149, + "екÑĥ": 122150, + "ЧÑĤобÑĭ": 122151, + "Ġanlamda": 122152, + "ÎijÎĺ": 122153, + "ĠLINEAR": 122154, + "æľīçĤ¹": 122155, + "ÑĤаÑĢ": 122156, + "itler": 122157, + "ĠnÃŃž": 122158, + "ĠСÑģÑĭлки": 122159, + "å¶": 122160, + "Ġвпол": 122161, + "ĠدÙĤÛĮÙĤÙĩ": 122162, + "Ġä½ĵ": 122163, + "رÙī": 122164, + "ëͰ": 122165, + "Ġà¤ķव": 122166, + "ĠжиÑĢ": 122167, + "æijĨ": 122168, + "Ġì¤ijìĭ¬": 122169, + "ĠкÑĥб": 122170, + "Ġzlep": 122171, + "ĠÑĢÑĭб": 122172, + "é³´": 122173, + "à¹ģà¸ľà¸Ļ": 122174, + "ĠíĢ": 122175, + "ĠÐĿеÑĤ": 122176, + "žitÄĽ": 122177, + "ĠbÄĥng": 122178, + "ĠHava": 122179, + "Ġ모ëį¸": 122180, + "ĠHãy": 122181, + "ĠìĿ´ê²ĥ": 122182, + "ĠìĥģìĦ¸": 122183, + "memiÅŁ": 122184, + "ĠθÎŃÏĥη": 122185, + "णन": 122186, + "ĠskuteÄįnÄĽ": 122187, + "ĠTarihi": 122188, + "Ġtextu": 122189, + "ï¼ĮéĢĻ": 122190, + "ĠاÛĮÙĨترÙĨتÛĮ": 122191, + "Ġپاد": 122192, + "ิà¸Ļà¸ģาร": 122193, + "ĠNgá»įc": 122194, + "ĠÑĢобиÑĤи": 122195, + "íĸĪê³ł": 122196, + "Ġमण": 122197, + "ÐĽÐĺ": 122198, + "ĠпоÑĤеÑĢ": 122199, + "Ñģом": 122200, + "ĠاÙĪÙĦÛĮÙĩ": 122201, + "éĽij": 122202, + "ĠGiá": 122203, + "Ġkanal": 122204, + "Ġavantaj": 122205, + "Ġryb": 122206, + "ختÙĩ": 122207, + "ĠÙĪØ±ÙĪØ¯": 122208, + "ÐĴÑĤ": 122209, + "ÏīÏĥε": 122210, + "ê¸°ë¡ľ": 122211, + "ĠÐĽÑĸ": 122212, + "Ġtảng": 122213, + "ĠصÙĦÙī": 122214, + "ĠÑĥлÑĭ": 122215, + "Ġcuá»ijn": 122216, + "ĠÐIJнг": 122217, + "ĠداÙĪ": 122218, + "ĠÑĪлÑıÑħом": 122219, + "ĠÄįlovÄĽka": 122220, + "dete": 122221, + "ÑĬем": 122222, + "à¹Įà¹ĥà¸Ļ": 122223, + "à¤ķन": 122224, + "åΤæĸŃ": 122225, + "ĸìĹIJ": 122226, + "ÏĦÏīÏĥη": 122227, + "ĠÙģÙĨاÙĪØ±ÛĮ": 122228, + "ĠyaÅŁÄ±nda": 122229, + "ĠÏĥÏĩÎŃ": 122230, + "Ġyı": 122231, + "ĠpÅĻen": 122232, + "ĠÑĦоÑĢмÑĥваннÑı": 122233, + "ümÃ¼ÅŁ": 122234, + "Ġδο": 122235, + "ımızın": 122236, + "Ġé¢Ħ": 122237, + "оÑģÑĤÑĮÑİ": 122238, + "ĠоÑĤкÑĢÑĭÑĤ": 122239, + "Ġأغسطس": 122240, + "ĠAsp": 122241, + "ĠÑĥзн": 122242, + "ĠÙĪØ§Ø³Øª": 122243, + "elerle": 122244, + "èķī": 122245, + "ĠتکÙĨ": 122246, + "ÑĥмÑĥ": 122247, + "à¹Įà¸ĭ": 122248, + "ादन": 122249, + "ĠâĢĭâĢĭâĢĭ": 122250, + "Ġalıyor": 122251, + "Ġî¡": 122252, + "Ùħدة": 122253, + "ĠÏĥει": 122254, + "Ġè¿Ļ": 122255, + "ĠÅŀehir": 122256, + "енÑĤами": 122257, + "ãĤ¿ãĥ«": 122258, + "หาย": 122259, + "айÑĤ": 122260, + "Ġharc": 122261, + "ãĢĤãģĬ": 122262, + "ĠتأثÛĮر": 122263, + "าà¸Ĭà¸Ļ": 122264, + "ĠtháºŃm": 122265, + "Ġæ¿": 122266, + "ĠmÅ©i": 122267, + "ĠprvnÃŃm": 122268, + "ĠбагаÑĤÑĮ": 122269, + "ãģķãĤīãģ«": 122270, + "biên": 122271, + "åºĶå½ĵ": 122272, + "ìĿ´ë²Ħ": 122273, + "ĠpoužÃŃt": 122274, + "Ġokamž": 122275, + "esin": 122276, + "vÄĽl": 122277, + "ĠضÙĪ": 122278, + "è»Ł": 122279, + "-з": 122280, + "à¥Īत": 122281, + "è¨Īç®Ĺ": 122282, + "rabilir": 122283, + "ĠÐłÐ¾ÑģÑĸÑĹ": 122284, + "ĠplatÃŃ": 122285, + "ĠdospÄĽl": 122286, + "Ġرضا": 122287, + "Ġnového": 122288, + "ĠнаÑĨионалÑĮ": 122289, + "ĠÐIJб": 122290, + "ãģĮãģĤãģ£ãģŁ": 122291, + "Ġë¹Ī": 122292, + "âĢĮÙħ": 122293, + "å±ŀäºİ": 122294, + "Ġtane": 122295, + "ÙĬاÙĩ": 122296, + "Ġβο": 122297, + "ĠëĬ¥": 122298, + "ãĥĩãĤ£ãĥ¼ãĤ¹": 122299, + "ĠذÙĥر": 122300, + "Ġobvykle": 122301, + "Ġbirinci": 122302, + "ĠاÙĦزر": 122303, + "ìĿ´ë¹Ħ": 122304, + "Ġإد": 122305, + "ĠEkon": 122306, + "ÐŁÐ¾Ð»": 122307, + "ĠвеÑĢоÑıÑĤ": 122308, + "Ġyararlan": 122309, + "ĠаÑĢом": 122310, + "ĠéĦ": 122311, + "Ġiddi": 122312, + "iÄįka": 122313, + "strukce": 122314, + "mÃ¼ÅŁtür": 122315, + "ÏħÏĦÏĮ": 122316, + "롱": 122317, + "Ġalmaktadır": 122318, + "ениÑıми": 122319, + "ียà¸Ļร": 122320, + "à¹ĩà¸Ļว": 122321, + "икÑĥ": 122322, + "енка": 122323, + "âĢĻyi": 122324, + "Ġpohod": 122325, + "Ġزر": 122326, + "Ġxấu": 122327, + "Ġà¸łà¸²à¸©": 122328, + "ÂłÐŀ": 122329, + "Ġδικ": 122330, + "Ġназива": 122331, + "åıªèĥ½": 122332, + "大éĩı": 122333, + "ĠÄijế": 122334, + "Ġ第äºĮ": 122335, + "ĠkiÅŁilerin": 122336, + "Ġdobré": 122337, + "驾": 122338, + "Ġdůležité": 122339, + "롤": 122340, + "μÎŃνοÏħ": 122341, + "Ġtrú": 122342, + "Ġbiçim": 122343, + "ĠÐĿÐIJ": 122344, + "Ġå¾Į": 122345, + "Ġduyg": 122346, + "åŀĤ": 122347, + "ÐĨÐĨ": 122348, + "Ġetmeye": 122349, + "ĠÙĦباس": 122350, + "ĠдвÑĸ": 122351, + "Ġ긴": 122352, + "ÑĨÑĸйно": 122353, + "κÏĦή": 122354, + "ï½Ŀ": 122355, + "ĠÑĦевÑĢалÑı": 122356, + "寫": 122357, + "Ġ겨": 122358, + "Ġyıllarda": 122359, + "ĠзÑĥп": 122360, + "ĠobchodnÃŃ": 122361, + "ĠاضاÙģÙĩ": 122362, + "веÑĢж": 122363, + "Ġæłĩ": 122364, + "جاج": 122365, + "ĠرÙĪØ³ÛĮ": 122366, + "Ġstandart": 122367, + "éru": 122368, + ")ìĿĦ": 122369, + "декÑģ": 122370, + "ĠâĪļ": 122371, + "Ġİngilizce": 122372, + "èĬĿ": 122373, + "身ä¸Ĭ": 122374, + "ØŁØŁ": 122375, + "Ġmẽ": 122376, + "ÎijÎĶ": 122377, + "енÑģив": 122378, + "âĢĻta": 122379, + "à¹īาà¸ģ": 122380, + "ÎŁÎĽÎŁÎĵ": 122381, + "ä»ĺãģij": 122382, + "ĠsÃłng": 122383, + "Ġà¤¹à¤Ł": 122384, + "ÑĭÑĪлен": 122385, + "Ġخطر": 122386, + "ĠнайÑĤи": 122387, + "çĽ¸ä¿¡": 122388, + "Ïīδ": 122389, + "à¤Ķ": 122390, + "Ġdopad": 122391, + "à¹Ħà¸Łà¸¥": 122392, + "æģµ": 122393, + "íĤ¬": 122394, + "Ä±ÅŁma": 122395, + "ãģıãĤĮãģŁ": 122396, + "Ġnaprost": 122397, + "ĠÑģоÑģÑĤаве": 122398, + "ĠÙĪØ³Ø·": 122399, + "à¹ķ": 122400, + "éĸĭçĻº": 122401, + "ĠдеÑĢева": 122402, + "-ÐĶ": 122403, + "à¸ĩà¸Ĭ": 122404, + "ิà¸ķย": 122405, + "ĠاÙĦÙĤاÙĨÙĪÙĨ": 122406, + "ãĤ¹ãĤ«": 122407, + "lÃŃž": 122408, + "Ġанализ": 122409, + "Ġproblémy": 122410, + "æĸĩåѦ": 122411, + "çĹħéĻ¢": 122412, + "Ñģед": 122413, + "ï¼Įå°ı": 122414, + "ĠعشÙĤ": 122415, + "ãģ°ãģĭãĤĬ": 122416, + "ĠعÙĤد": 122417, + "ØŃÙĬØ©": 122418, + "Ġë°ĶëŀįëĭĪëĭ¤": 122419, + "inclu": 122420, + "Ġëĵľë¦½ëĭĪëĭ¤": 122421, + "åį«çĶŁ": 122422, + "ĠвидÑĥ": 122423, + "ุà¸ļาล": 122424, + "ÑĢÑĥкÑĤ": 122425, + "ĠоÑģвÑĸÑĤ": 122426, + "Ġvelký": 122427, + "ĠchtÄĽl": 122428, + "æīĵå¼Ģ": 122429, + "ĠзаконодаÑĤелÑĮ": 122430, + "анÑģи": 122431, + "ì¶ĺ": 122432, + "ĠÙħراج": 122433, + "åģľæŃ¢": 122434, + "Ġвоно": 122435, + "ìłķìĿ´": 122436, + "Ġrozsah": 122437, + "ĠæĻ´": 122438, + "Ġzajist": 122439, + "ÂłÐ¼": 122440, + "tıģını": 122441, + "Ġhizmeti": 122442, + ".Îij": 122443, + "ĠÙħعÙħÙĪÙĦا": 122444, + "Ġži": 122445, + "Ġgá»įn": 122446, + "èĮĤ": 122447, + "Ġhuz": 122448, + "ζει": 122449, + "à¥īà¤Ł": 122450, + "Ġиздел": 122451, + "ìŀĸ": 122452, + "ĠëĶ°ë¥¸": 122453, + "Ġkia": 122454, + "ĠznÄĽnÃŃ": 122455, + "ĠоÑĢганиза": 122456, + "ازات": 122457, + "Ġrežim": 122458, + "ĠвенÑĤи": 122459, + "bách": 122460, + "ĠодномÑĥ": 122461, + "Ġkitab": 122462, + "Ġfrancouz": 122463, + "ĠØ£ÙĦ": 122464, + "ĠسرÙĪ": 122465, + "ÙijÙĦ": 122466, + "Ġман": 122467, + "ë°į": 122468, + "ĠкÑĥда": 122469, + "Ùıس": 122470, + "ãĢĤæŃ¤": 122471, + "اشة": 122472, + "à¸Ĥà¸Ńà¸ĩà¸ľ": 122473, + "主任": 122474, + "ивÑĪи": 122475, + "Ġà¸ģรà¸ģ": 122476, + "екÑģи": 122477, + "иÑĤеÑĤ": 122478, + "ĠØ£ÙĦÙģ": 122479, + "аними": 122480, + "ãĥļãĥ¼ãĤ¸": 122481, + "ĠпÑĢавил": 122482, + "åªĴä½ĵ": 122483, + "ÑİÑīее": 122484, + "ä¸Ģ人": 122485, + "βο": 122486, + "ìĭ¸": 122487, + "озна": 122488, + "å¤īæĽ´": 122489, + "ĠÙħØ´Ùĩد": 122490, + "æ³ķ人": 122491, + "ĠBakanı": 122492, + "ĠÑħоÑĩа": 122493, + "Ġαξ": 122494, + "Ġverilm": 122495, + "Ġkonus": 122496, + "μενη": 122497, + "Ġ馬": 122498, + "Ġìĭ¤ìłľ": 122499, + "Ġjedno": 122500, + "Ġбаб": 122501, + "åĥį": 122502, + "æĺ¯ä¸Ģ个": 122503, + "-е": 122504, + "ĠpÅĻekvap": 122505, + "à¸Ńà¸ŀ": 122506, + "ĠYol": 122507, + "ĠÑĥÑģÑĤанавлива": 122508, + "ê²¼": 122509, + "Ġä»¶": 122510, + "اÙĦØ´": 122511, + "ĠобÑĥÑĩ": 122512, + "åĺĽ": 122513, + "ĠÑħоÑĩÑĥ": 122514, + "ĠÐķв": 122515, + "ÑĦоÑĢÑĤ": 122516, + "Ġरन": 122517, + "âĢŀV": 122518, + "èľľ": 122519, + "Ġdoma": 122520, + "æĶ¯æı´": 122521, + "Ġاخت": 122522, + "循": 122523, + "à¥Ĥà¤ļन": 122524, + "ाहन": 122525, + "Ġå¤ı": 122526, + "ĠاÙĦØ£Ùħر": 122527, + "ĠбеÑĢеменноÑģÑĤи": 122528, + "ĠThá»±c": 122529, + "é£İéĻ©": 122530, + "Ġülkemiz": 122531, + "çķªåı·": 122532, + "ÑģÑĤÑĢе": 122533, + "ÑĪло": 122534, + "ĠصاØŃب": 122535, + "ινε": 122536, + "ĠKıs": 122537, + "ĠPrahy": 122538, + "湿": 122539, + "Ġvým": 122540, + "çĽĴ": 122541, + "ÎŁÎĶ": 122542, + "ãģłãģª": 122543, + "ĠpÅĻÃŃležit": 122544, + "Ġìĸ¸ìłľ": 122545, + "ĠÑĪвидко": 122546, + "Ġsituaci": 122547, + "åħĥç´ł": 122548, + "İTESİ": 122549, + "ĠVak": 122550, + "Ġneredeyse": 122551, + "iiii": 122552, + "ÑĢазд": 122553, + "ĠполиÑĤ": 122554, + "Ġпогод": 122555, + "ĠпÑĢоÑĨеÑģÑģе": 122556, + "ĠменÑĪе": 122557, + "äºĮ人": 122558, + "ĠÙħÙĪØ§Ø·": 122559, + "ĠpÅĻik": 122560, + "è·¡": 122561, + "Ġserg": 122562, + "ĠÑĢаÑģÑģÑĤоÑı": 122563, + "иÑĩно": 122564, + "ĠÎĶÎĹÎľ": 122565, + "¨ط": 122566, + "صبØŃ": 122567, + "สะà¸Ķวà¸ģ": 122568, + "درÛĮ": 122569, + "kům": 122570, + "ç§ģãģ¯": 122571, + "Ġtvor": 122572, + "à¥įवव": 122573, + "ĠpÅĻiv": 122574, + "Ġíı´": 122575, + "Ġstátu": 122576, + "ĠedilmiÅŁtir": 122577, + "ØŃÙħ": 122578, + "ĠбÑĥÑħ": 122579, + "สำà¹Ģร": 122580, + "ĠتÙĪØ¶ÛĮ": 122581, + "ãģĿãĤĮãģ¯": 122582, + "Ġà¤ħवध": 122583, + "éŀĭ": 122584, + "âĤ¬Ċ": 122585, + "Ġéº": 122586, + "ĠÄĮes": 122587, + "Ġpoprvé": 122588, + "ï¼ĮåĽł": 122589, + "ĠalmÄ±ÅŁ": 122590, + "lal": 122591, + "ĠØ®ÙĪØ¨ÛĮ": 122592, + "ĠκοÏģ": 122593, + "ìļ´ëıĻ": 122594, + "mayın": 122595, + "Ġaktif": 122596, + "ĠاÙĨجÙħÙĨ": 122597, + "ĠÑģÑĤак": 122598, + "ĠÑģÑĤаÑĢа": 122599, + "ÙĦÙ쨩": 122600, + "Ġparçası": 122601, + "ĠкоÑĢпÑĥÑģ": 122602, + "ãĢģé«ĺ": 122603, + "!..": 122604, + "ĠÎłÎijÎĿ": 122605, + "ĠÙĩÙĨÙĪØ²": 122606, + "ionálnÃŃ": 122607, + "ĠprávnÃŃ": 122608, + "ÂĿ": 122609, + "ĠتÛĮر": 122610, + "ĠåŁİ": 122611, + "Ġзгад": 122612, + "Ġsaldırı": 122613, + "æŁ¥çľĭæijĺè¦ģ": 122614, + "髪": 122615, + "Ù쨵ÙĦ": 122616, + "ãģĻãģ¹ãģ¦": 122617, + "ево": 122618, + "ê´Ģ리ìŀIJ": 122619, + "ĠìĺĨ": 122620, + "udicots": 122621, + "ÙĪØ±ÙĨ": 122622, + "Ġcelkem": 122623, + "ãĤ¤ãĤº": 122624, + "ìĬ¤ê°Ģ": 122625, + "販売": 122626, + "ĠíĮĮìĿ¼ì²¨ë¶Ģ": 122627, + "뢰": 122628, + "Ġenergie": 122629, + "esidir": 122630, + "Ġmiá»ĩng": 122631, + "éĻ·": 122632, + "ĠгаÑĢа": 122633, + "Ġbiliyor": 122634, + "çį²å¾Ĺ": 122635, + "еÑĤеÑĢб": 122636, + "à¹Īาà¹Ģà¸Ľ": 122637, + "Ġμαζί": 122638, + "ĠzpracovánÃŃ": 122639, + "Ñģм": 122640, + "Ġhala": 122641, + "ĠزÙĪØ¬": 122642, + "ĠвÑĸднов": 122643, + "à¹Ģหมาะ": 122644, + "ĠÐłÐµÑģпÑĥбли": 122645, + "åĩºåĵģèĢħ": 122646, + "Ñīини": 122647, + "ัà¸Ļà¹Ģà¸Ľ": 122648, + "Ġtýden": 122649, + "ĠبÙĬت": 122650, + "ÑģкомÑĥ": 122651, + "ĠÙĩÙĪØ§Ù¾ÛĮÙħ": 122652, + "оÑģнов": 122653, + "鸣": 122654, + "Ġsoukrom": 122655, + "Ġfaiz": 122656, + "Ġdemok": 122657, + "Ġkterém": 122658, + "Ġëħ¹": 122659, + "лаÑĩ": 122660, + "ĠоÑĤвеÑĤÑģÑĤвен": 122661, + "Ġï¼¼:": 122662, + "Ġλο": 122663, + "ÄĮesk": 122664, + "ê°ĢìļĶ": 122665, + "ĠãĥĬ": 122666, + "ĠnhuáºŃn": 122667, + "ĠÑģили": 122668, + "ĠÐľÐ¾Ð½": 122669, + "Ġçap": 122670, + "ĠRowBox": 122671, + "ĠмаÑģÑĤ": 122672, + "ĠÐľÐ°": 122673, + "ĠдÑĢÑĥго": 122674, + "Ġأش": 122675, + "ë°©ìĨ¡": 122676, + "ĠпÑĸдпиÑģ": 122677, + "èĩ¨": 122678, + "åī©": 122679, + "Ġhiá»ĥn": 122680, + "ĠÙĤرارد": 122681, + "istrat": 122682, + "ÐŁÑĸд": 122683, + "ÏĦεÏģα": 122684, + "ĠpozdÄĽ": 122685, + "ĠbaÅŁta": 122686, + "夫人": 122687, + "лини": 122688, + "ĠкаÑĩеÑģÑĤва": 122689, + "Ġkurtul": 122690, + "Ġì¢Į": 122691, + "ãģ«ãģĬãģijãĤĭ": 122692, + "åľ°åįĢ": 122693, + "ĠÑĩаÑģом": 122694, + "ìµľê³ł": 122695, + "Ġngang": 122696, + "اÙĩد": 122697, + "ĠШев": 122698, + "ĠpÅĻitom": 122699, + "Ġchấm": 122700, + "ĠÐľÐµÑģÑĤо": 122701, + "ĠÑģовеÑĢÑĪенно": 122702, + "ÃŃcÃŃ": 122703, + "Ńå·ŀ": 122704, + "åĪĽæĸ°": 122705, + "äºĶæľĪ": 122706, + "ĠاعÙħاÙĦ": 122707, + "ĠвозможноÑģÑĤи": 122708, + "ĠпÑĢодовж": 122709, + "nÄĽt": 122710, + "ĠÐĿапÑĢимеÑĢ": 122711, + "ĠاÙĦدÙħ": 122712, + "Ġà¹ģà¸ļà¸ļ": 122713, + "çĶŁçļĦ": 122714, + "ĠÑħаÑĢÑĩ": 122715, + "ĠSonuç": 122716, + "Ġrůzné": 122717, + "Ġاذ": 122718, + "à¸ķà¸Ńà¸ļ": 122719, + "PÅĻed": 122720, + "ĠдеÑĢевÑıн": 122721, + "ë´IJ": 122722, + "ĠëĬIJëĤ": 122723, + "جÙħÙĬع": 122724, + "ĠBöylece": 122725, + "èµı": 122726, + "ĠبسÙĬ": 122727, + "ĠÃĩaÄŁ": 122728, + "ĠتاÛĮ": 122729, + "ĠnejvyššÃŃ": 122730, + "èĸ©": 122731, + "ÏĩεδÏĮν": 122732, + "Ġëĵ±ìĿĺ": 122733, + "eyh": 122734, + "æĸĻçIJĨ": 122735, + "اتÙĩ": 122736, + "æī«": 122737, + "Ġå©": 122738, + "ĠпÑĢивед": 122739, + "æī¶": 122740, + "Ġ견": 122741, + "ĠاÙħÛĮر": 122742, + "ायल": 122743, + "æ¡ij": 122744, + "à¸Ļà¹Ģà¸ķ": 122745, + "илакÑĤи": 122746, + "å®¶ä¼Ļ": 122747, + "Ġbulunuyor": 122748, + "ysa": 122749, + "ÂĨ": 122750, + "ĠBİR": 122751, + "íĨ¤": 122752, + "à¤Ĥà¤Ĺà¤łà¤¨": 122753, + "ÎĶεν": 122754, + "à¥Įà¤ķर": 122755, + "éĸĵãģ«": 122756, + "Ġмоб": 122757, + "ĠMorav": 122758, + "è§ĦåĪĴ": 122759, + "ĠÑģвÑĸÑĤÑĸ": 122760, + "ults": 122761, + "ĠzemÃŃ": 122762, + "ÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł": 122763, + "ĠÐŁÐ¾Ð¿": 122764, + "ãģĤãģĴ": 122765, + "Ġpomoci": 122766, + "ĠзмÑĸÑģÑĤ": 122767, + "主人": 122768, + "ĠSı": 122769, + "ãĥĽãĥĨãĥ«": 122770, + "ĠÑĥвагÑĥ": 122771, + "廳": 122772, + "à¹Ģมà¸ķร": 122773, + "estli": 122774, + "Ġloạt": 122775, + "ãĤ¢ãĥ¼": 122776, + "ĠÎĶε": 122777, + "Ġbunları": 122778, + "ĠçĤ¹åĩ»": 122779, + "ĠBÃłi": 122780, + "Ġä¸ĸ": 122781, + "Ġê³łê°ľë¥¼": 122782, + "ĠÐŃÑĤоÑĤ": 122783, + "Ġmemnun": 122784, + "Ġ।Ċ": 122785, + "ĠиÑģÑĤоÑĢии": 122786, + "Ġì°©": 122787, + "१९": 122788, + "ĠÐŀднак": 122789, + "Ġvede": 122790, + "ÏĨÎŃÏģει": 122791, + "âb": 122792, + "çĬ¶åĨµ": 122793, + "åįıè®®": 122794, + "Ġê°Ŀ": 122795, + "евид": 122796, + "jmu": 122797, + "ĠколиÑĩеÑģÑĤва": 122798, + "ÃĽ": 122799, + "iÄįe": 122800, + "Ġfirmalar": 122801, + "èĢĢ": 122802, + "кÑĸн": 122803, + "ĠêµŃ민": 122804, + "Ġ목ë¡Ŀ": 122805, + "ĠÎļαÏģ": 122806, + "Ġhissed": 122807, + "K": 122808, + "ĠTên": 122809, + "ĠÑĤÑĭÑģÑıÑĩ": 122810, + "ØŃÙĬØŃ": 122811, + "Ġвполне": 122812, + "ĠSınıf": 122813, + "Ġμην": 122814, + "Ġíij¸": 122815, + "ĠاÙĦطبÙĬ": 122816, + "ĠزÛĮب": 122817, + "ĠпÑĥ": 122818, + "Ġpraž": 122819, + "ìĹĨëĬĶ": 122820, + "θÏģÏī": 122821, + "Ġiçi": 122822, + "ĠбÑĸл": 122823, + "ÐłÑij": 122824, + "Ġì¶ķ구": 122825, + "Ġlạ": 122826, + "ĠãĥķãĤ¡": 122827, + "Ġèĸ": 122828, + "μαÏĦο": 122829, + "éĩijå±ŀ": 122830, + "áli": 122831, + "ĠÙ쨣": 122832, + "ĠKarlov": 122833, + "ĠZáp": 122834, + "ãĥªãĥ³ãĤ°": 122835, + "abilmek": 122836, + "ĠСи": 122837, + "ĠcÃŃrk": 122838, + "Ġká»ĭp": 122839, + "Ġà¤ijनल": 122840, + "ĠÙĪØŃØ¯Ø©": 122841, + "ãĥĭãĥĥãĤ¯": 122842, + "ĠnÆ°á»Ľng": 122843, + "ĠакÑĤÑĥ": 122844, + "å¸ĿåĽ½": 122845, + "Ġnázev": 122846, + "ĠÑĢемонÑĤ": 122847, + "ĠÑĢинкÑĥ": 122848, + "ĠÏĢάνÏī": 122849, + "ÏĦικο": 122850, + "ĠìĤ¼ìĦ±": 122851, + "ĠÑģимпÑĤомÑĭ": 122852, + "ĠÑĢанÑĸÑĪе": 122853, + "ĠJá": 122854, + "ĠÑģÑĩиÑĤаеÑĤÑģÑı": 122855, + "ĠпоÑĢÑĸв": 122856, + "ĠÐľÐ°Ð»": 122857, + "éĿ¢ç§¯": 122858, + "ĠÙĦغ": 122859, + "ĠجشÙĨ": 122860, + "Ġнедели": 122861, + "Ġì¦Ŀê°Ģ": 122862, + "ãĨįëıĻ": 122863, + "Ġlượt": 122864, + "ĠÄIJá»ĭnh": 122865, + "Ġà¸Ńà¸Ńà¸Ļà¹Ħลà¸Ļ": 122866, + "Ġyaparak": 122867, + "ĠÄijai": 122868, + "ĠоÑĦиÑĨи": 122869, + "ĠεμÏĢ": 122870, + "ξειÏĤ": 122871, + "ĠконÑĦеÑĢен": 122872, + "Ġarası": 122873, + "à¸ķา": 122874, + "Ġë´IJ": 122875, + "ована": 122876, + "ì§Ģê°Ģ": 122877, + "ĠVám": 122878, + "à¤¿à¤ľà¤¨": 122879, + "Ġç¼ĸè¾ij": 122880, + "ζÏĮ": 122881, + "ĠÏĦÏģÏĮ": 122882, + "Ġücretsiz": 122883, + "ĠکاÙħÙĦا": 122884, + ":::/": 122885, + "à¹ĮĊĊ": 122886, + "Ġéĸ¢éĢ£": 122887, + "Ġkara": 122888, + "Ġбезпеки": 122889, + "ĠzmÄĽny": 122890, + "Ġê¿Ī": 122891, + "vrd": 122892, + "liÄŁine": 122893, + "ĠاÙĨتخابات": 122894, + "ĠдоÑģвÑĸд": 122895, + "Ġkterého": 122896, + "енÑĤом": 122897, + "ê³µë¶Ģ": 122898, + "ìłĿ": 122899, + "Ġë§Į족": 122900, + "Ġæij": 122901, + "åĩºåı£": 122902, + "建议": 122903, + "оÑĤÑı": 122904, + "ĠÒij": 122905, + "íĶĦë¡ľ": 122906, + "Ġgió": 122907, + "ãĤ·ãĤ§": 122908, + "ĠλεÏĢ": 122909, + "íķĺ볤": 122910, + "Ġyoksa": 122911, + "Ġistih": 122912, + "ï¼¶": 122913, + "ĠاÙĦعÙħ": 122914, + "Ġکارگرد": 122915, + "à¹Ģà¸ŀราะ": 122916, + "Ġnových": 122917, + "ĠÑģна": 122918, + "Ġsana": 122919, + "वत": 122920, + "Ä±ÅŁman": 122921, + "åı¦å¤ĸ": 122922, + "ì¶ľìŀ¥ìĥµ": 122923, + "婦": 122924, + "ĠкоÑĪÑĤÑĸв": 122925, + "ĠÙĪØ§ÙĦÙĨ": 122926, + "ĠباÙĦØ¥": 122927, + "ĠæĬĢ": 122928, + "Ġмноже": 122929, + "à¥Ĥड": 122930, + "ĠCục": 122931, + "Ġevet": 122932, + "èģĶåIJĪ": 122933, + "Ġ³³Ġ³³Ġ³³Ġ³³": 122934, + "çļĦå¿ĥ": 122935, + "Ġdáng": 122936, + "اÛĮسÙĩ": 122937, + "Ġerken": 122938, + "泡": 122939, + "ائب": 122940, + "Ġyapıldı": 122941, + "ĠQuản": 122942, + "æĹ¶ä»£": 122943, + "ìĽ¨ìĸ´": 122944, + "ĠгÑĸÑĢ": 122945, + "okoj": 122946, + "Ùĥرة": 122947, + "Ñİк": 122948, + "Ġvýj": 122949, + "Ġhodiny": 122950, + "ĠелекÑĤÑĢон": 122951, + "mıyor": 122952, + "ĠìŀĪëĭ¤ëĬĶ": 122953, + "à¹īà¹ī": 122954, + "иÑĤелÑĮное": 122955, + "Ġyıllar": 122956, + "Äıte": 122957, + "ĠÄįinnost": 122958, + "ุà¸ĵà¸łà¸²à¸ŀ": 122959, + "íĵ¨": 122960, + "нг": 122961, + "ูรà¸ĵ": 122962, + "ĠпоÑĢÑıдке": 122963, + "Ġëĭ¹ìĭľ": 122964, + "ĠÐľÐ¾Ñģков": 122965, + "Ġkred": 122966, + "urum": 122967, + "ĠÑĤÑı": 122968, + "Ú©ÙĨاÙĨ": 122969, + "дии": 122970, + "ÑĢимÑĸн": 122971, + "ĠоÑĢганизм": 122972, + "ĠéĽĨ": 122973, + "ιÏĥÏĦο": 122974, + "ä¿¡ç͍": 122975, + "åįģåĽĽ": 122976, + "à¹Īà¹ĥà¸Ĭ": 122977, + "ĠÑĥвид": 122978, + "ัà¸ĩà¸ģล": 122979, + "åı¦ä¸Ģ": 122980, + "ãĥ«ãĥķ": 122981, + "ัà¸ļà¸Ľà¸£": 122982, + "ĠÃľst": 122983, + "説æĺİ": 122984, + "вай": 122985, + "аÑĩе": 122986, + "欣": 122987, + "Ġkatıl": 122988, + "ĠCem": 122989, + "ĠاÙĦجÙĩ": 122990, + "ĠгÑĢÑĥз": 122991, + "ĠзаÑģÑĤав": 122992, + "cılar": 122993, + "ĠÑħоÑĤел": 122994, + "ĠsnÃŃm": 122995, + "ï¼Į被": 122996, + "ĠвиÑī": 122997, + "Ġdemokrat": 122998, + "à¥ĩà¤Łà¤°": 122999, + "åij¨å¹´": 123000, + "Ġodpad": 123001, + "ĠdaÅĪ": 123002, + "Ġ代": 123003, + "à¹ĩà¸Ļà¸Ń": 123004, + "ĠÑģколÑĮко": 123005, + "ĠαÏĨ": 123006, + "ĠpÅĻesvÄĽd": 123007, + "Ġåĵģ": 123008, + "ĠинÑĦоÑĢмаÑĨии": 123009, + "çĽĹ": 123010, + "ãģ¾ãģ¨": 123011, + "ĠÑģамов": 123012, + "Ġpocit": 123013, + "Ġíݸì§ij": 123014, + "ĠÑģмеÑģÑĮ": 123015, + "ĠpojiÅ¡tÄĽnÃŃ": 123016, + "ãģ®ãĤĤ": 123017, + "à¹Īาà¸ģาร": 123018, + "ĠÛĮÙĪÙĨ": 123019, + "Ġ기ìĸµ": 123020, + "ickými": 123021, + "alace": 123022, + "éĽ»å½±": 123023, + "ÑİваннÑı": 123024, + "缸åIJĮ": 123025, + "ĠãĢĥ": 123026, + "ĠдокÑĥменÑĤÑĸв": 123027, + "ï¼¹": 123028, + "åΰåºķ": 123029, + "óz": 123030, + "ĠAhmet": 123031, + "ĠÙħساØŃت": 123032, + "Ġhlavou": 123033, + "ülebilir": 123034, + "ãĢĤä½ł": 123035, + "à¹ĩà¸ģà¸Ĭาย": 123036, + "¤¤": 123037, + "ĠæĦı": 123038, + "ĠcháºŃm": 123039, + ".д": 123040, + "Ġcca": 123041, + "Ġolumsuz": 123042, + "Âŀ": 123043, + "çĬ¬": 123044, + "ĠпоÑģÑĤоÑıнно": 123045, + "Ġ.**************Ċ": 123046, + "Ġاستر": 123047, + "ĠдалÑĮней": 123048, + "ůr": 123049, + "ä¿ĿèŃ·": 123050, + "боÑĢаÑĤоÑĢ": 123051, + "÷": 123052, + "ÏĥÏĦαν": 123053, + "ĠÙģÙĬÙĦÙħ": 123054, + "çek": 123055, + "ìŀIJ기": 123056, + "Ġæ¥Ń": 123057, + "нÑĸп": 123058, + "èīĩ": 123059, + "Ġmoci": 123060, + "ìľµ": 123061, + "리그": 123062, + "ĠÐļо": 123063, + "éĤ£éĩĮ": 123064, + "ĠСÑĤаÑĢ": 123065, + "ĠتÙĪØ§ÙĨÛĮد": 123066, + "Ġnguyá»ĩn": 123067, + "Ġสามารà¸ĸ": 123068, + "ÑĸÑĩна": 123069, + "Ġ被": 123070, + "ุà¸ķสาหà¸ģรรม": 123071, + "Ġعصر": 123072, + "ĠÃľNİVERS": 123073, + "Ġtehdy": 123074, + "ĠÙĪØµÙĦات": 123075, + "ä¿Ŀè¯ģ": 123076, + "ĠEudicots": 123077, + "ĠÎłÎŃ": 123078, + "建è¨Ń": 123079, + "ĠìłĦêµŃ": 123080, + "ĠØŃÛĮ": 123081, + "ãĤ¤ãĥĦ": 123082, + "ĠØŃاصÙĦ": 123083, + "ĠجÙĨÙĪØ¨ÛĮ": 123084, + "ãĢģæĹ¥æľ¬": 123085, + "ÃĻ": 123086, + "Ġà¸Ĺาà¸ĩ": 123087, + "ĠÙĨØŃÙĪ": 123088, + "اÙĩÙĬÙħ": 123089, + "å¾Įãģ«": 123090, + "à¸Īะà¹Ħà¸Ķ": 123091, + "åĩłä¸ª": 123092, + "à¥ģà¤ģ": 123093, + "ëĮĢìĿĺ": 123094, + "ĠlÃłn": 123095, + "ìĽĶë¶ĢíĦ°": 123096, + "Æł": 123097, + "Ġеди": 123098, + "Ġspis": 123099, + "æľīä»Ģä¹Ī": 123100, + "Ġnebyla": 123101, + "Ġíķ´ìϏ": 123102, + "ë¡ľë¶ĢíĦ°": 123103, + "аÑĢÑħ": 123104, + "lili": 123105, + "Ġíķĺ루": 123106, + "maması": 123107, + "ÑĩаеÑĤ": 123108, + "ĠØŃاÙĦØ©": 123109, + "ĠBölüm": 123110, + "缸éĹľ": 123111, + "ĠдÑĢÑĥгими": 123112, + "çĽ£çĿ£": 123113, + "à¥Īà¤ľ": 123114, + "ĠعبداÙĦÙĦÙĩ": 123115, + "Ġè¿ŀ": 123116, + "ĠÐľÐ¸Ð½": 123117, + "Ġ기ëĭ¤": 123118, + "Ġ공격": 123119, + "è¡Įåĭķ": 123120, + "ामà¤ķ": 123121, + "æ±Ĥè´Ń": 123122, + "模åŀĭ": 123123, + "ÑģоÑĢ": 123124, + "rane": 123125, + "à¹ĩà¸Īà¸ŀระ": 123126, + "ĠÙħسÛĮر": 123127, + "è£ħç½®": 123128, + "ìķ¤": 123129, + "nÄĽjÅ¡ÃŃch": 123130, + "αλÏįÏĦε": 123131, + "ĠHakk": 123132, + "访éĹ®": 123133, + "ĠÑĤеÑĩ": 123134, + "ĠLá»ĭch": 123135, + "ĠدشÙħÙĨ": 123136, + "ÎĮ": 123137, + "ĠÏĢε": 123138, + "Ġзамов": 123139, + "Ġbirim": 123140, + "ãĤ·ãĤ¹ãĥĨãĥł": 123141, + "ĠÏĢÏģοÏĬ": 123142, + "ĬìĿĢ": 123143, + "виг": 123144, + "ĠëıħìĿ¼": 123145, + "ĠÑĢеволÑİ": 123146, + "Ġé¦Ļ港": 123147, + "Ġlez": 123148, + "ĠبÛĮÙħار": 123149, + "Ġduygu": 123150, + "Ġ뼰": 123151, + "Ġamacı": 123152, + "à¥įयप": 123153, + "ĠìŀIJìĦ¸": 123154, + "اÙĪÛĮر": 123155, + "Ġspole": 123156, + "ÃĸL": 123157, + "Ġجع": 123158, + "ÙĦÛĮÙħ": 123159, + "ãģªãģ©ãģ®": 123160, + "à¸Ľà¸£à¸°à¸ªà¸ļ": 123161, + "ĠnaÅ¡ich": 123162, + "ĠпÑĢедÑģÑĤавлÑıеÑĤ": 123163, + "Ġздоб": 123164, + "Ġobou": 123165, + "Ø®ÙĪØ§ÙĨ": 123166, + "ãĥ¬ãĥĥãĥĪ": 123167, + "одейÑģÑĤв": 123168, + "کرÛĮ": 123169, + "ĠاتاÙĤ": 123170, + "ĠÑįкÑģплÑĥаÑĤа": 123171, + "ï½¢": 123172, + "ĠÙĦÙĦØ¥": 123173, + "ĠاÙĦÙĨظاÙħ": 123174, + "ĠíĶĦëŀijìĬ¤": 123175, + "ısıt": 123176, + "åŃĻ": 123177, + "Ġžádný": 123178, + "ÙĤÙī": 123179, + "ัà¸ģà¹Ģร": 123180, + "Ġë²łìĬ¤íĬ¸": 123181, + "Ġãĥ«": 123182, + "åıĶ": 123183, + "nické": 123184, + "ĠειÏĥ": 123185, + "ãĥ«ãĥī": 123186, + "ĠدارÙħ": 123187, + "Ġгем": 123188, + "ĠåѸ": 123189, + "ानसà¤Ń": 123190, + "ализи": 123191, + "ованÑĸ": 123192, + "Ġобо": 123193, + "ìłĦìĹIJ": 123194, + "ĠSinh": 123195, + "ĠÙĨع": 123196, + "ĠоблаÑģ": 123197, + "ÏħÏĢ": 123198, + "èĥ¶": 123199, + "Ġazalt": 123200, + "åħ¨éĿ¢": 123201, + "ĠKromÄĽ": 123202, + "ĠCz": 123203, + "æĬ¥åIJį": 123204, + "ĠnásledujÃŃcÃŃ": 123205, + "ĠнапÑĢиклад": 123206, + "ãģªãģijãĤĮãģ°": 123207, + "à¸Ńาย": 123208, + "çľĭçľĭ": 123209, + "Ġà¸ģรà¸ģà¸İ": 123210, + "ednou": 123211, + "ازÙĦ": 123212, + "ãĢģæľ¬": 123213, + "еÑģи": 123214, + "Ġtarz": 123215, + "ãĢĢï¾Ĭ": 123216, + "Ġrozum": 123217, + "ãĤ«ãĥ¼ãĥī": 123218, + "Ġà¤ĩà¤ķ": 123219, + "ĠprostÄĽ": 123220, + "ĠÎĵκ": 123221, + "ç©´": 123222, + "ĠHük": 123223, + "lavÃŃ": 123224, + "ê¿": 123225, + "鸡": 123226, + "ĠвозникаеÑĤ": 123227, + "ÑŁÑŁÑŁ": 123228, + "Ġпонима": 123229, + "ÐŁÐŀ": 123230, + "ãģĶãģĸãģĦãģ¾ãģĻ": 123231, + "ãģħ": 123232, + "Ġtrval": 123233, + "Ġдалеко": 123234, + "ĠÙĨÙĬز": 123235, + "ĠвÑĭÑıв": 123236, + "ิà¸Ĺยา": 123237, + "Ġlá»Ĺ": 123238, + "à¹Ģสà¸Ļ": 123239, + "ĠÑģÑĤенÑĭ": 123240, + "à¥įडल": 123241, + "Ġjednotlivých": 123242, + "ĠпÑĢиблиз": 123243, + "ikat": 123244, + "Ġподав": 123245, + "رÛĮز": 123246, + "ĠØ¢ÙĨجا": 123247, + "社æľĥ": 123248, + "Ġà¤ľà¤¨à¤µà¤°": 123249, + "Ġaile": 123250, + "à¸µà¸Ľ": 123251, + "Ġèħ": 123252, + "ãģ§ãģĹãĤĩãģĨ": 123253, + "СÐŀ": 123254, + "ãĢģãĢĬ": 123255, + "ìĿ¼ë³¸": 123256, + "ovanou": 123257, + "νÏĮ": 123258, + "å±¥": 123259, + "عÙĦÙĤ": 123260, + "Ġìī½": 123261, + "Ġглиб": 123262, + "Ġê²ĥìŀħëĭĪëĭ¤": 123263, + "ĠнеобÑħодимоÑģÑĤи": 123264, + "ĠتخصصÛĮ": 123265, + "اسر": 123266, + "ï¼Į说": 123267, + "ĠÐĿÑĸ": 123268, + "Ġvyrob": 123269, + "ÑĪÑĥÑİ": 123270, + "æĪ¿å±ĭ": 123271, + "ÂłÐĹ": 123272, + "à¹Ģà¸ŀล": 123273, + "åĨħéĥ¨": 123274, + "ĠدÙĦار": 123275, + "ĠпÑĤи": 123276, + "Å¡ti": 123277, + "ĠaraÅŁtırma": 123278, + "Ġзнаком": 123279, + "Ġελλην": 123280, + "Ġấm": 123281, + "ÑĢак": 123282, + "ãĤŃãĥ¥": 123283, + "ĠtháºŃn": 123284, + "èŃľ": 123285, + "ëªħìĿĺ": 123286, + "Ġyeter": 123287, + "ĠнаÑģлед": 123288, + "ĠÐļан": 123289, + "ĠвÑĭбиÑĢа": 123290, + "ĠΣÏĩ": 123291, + "ĠÑĤеÑĢмÑĸн": 123292, + "Ġæ´»": 123293, + "ĠاÙĦتÙģ": 123294, + "ĠJapon": 123295, + "éĤª": 123296, + "ë¶ĦìĦĿ": 123297, + "ĠлиÑĨо": 123298, + "Ġmê": 123299, + "à¸Ħวร": 123300, + "Ġà¤ħà¤Ĺल": 123301, + "ĠÙĩج": 123302, + "룬ìļ´": 123303, + "ĠвойнÑĭ": 123304, + "اÙĪØ±Ø²ÛĮ": 123305, + "ĠÑģпÑĢÑı": 123306, + "çĦ¼": 123307, + "è¢ĸ": 123308, + "Ġiçeren": 123309, + "Ġëħ¸ëŀĺ": 123310, + "ĠЧеÑĢез": 123311, + "ÙĪØ¬ÙĪØ¯": 123312, + "ÑıÑĤие": 123313, + "à¸Ńลลาร": 123314, + "è·¨": 123315, + "ĠMilli": 123316, + "ä»¶äºĭ": 123317, + "ĠæľĿ": 123318, + "βολή": 123319, + "Ġков": 123320, + "ĠØ´ÙĩÛĮد": 123321, + "ä¸ĭåİ»": 123322, + "Ġìłķìĭł": 123323, + "оÑĩкÑĥ": 123324, + "ï¼Į便": 123325, + "γκε": 123326, + "ĠÙħباش": 123327, + "Ġayında": 123328, + "Ġä»»": 123329, + "ÑģÑĤоÑĢÑĸÑı": 123330, + "ä¸ŃåѦ": 123331, + "縮": 123332, + "ĠÑĦÑĸл": 123333, + "ãĢģãĤĦ": 123334, + "Ġæĺ¥": 123335, + "Ġterör": 123336, + "Ġповинен": 123337, + "Ġmilionů": 123338, + "ĠÙģØ§Ø±Ø³": 123339, + "Ġввод": 123340, + "طاÙĦ": 123341, + "Ġê¶ģê¸Ī": 123342, + "Ġukáz": 123343, + "çĶľ": 123344, + "æļĤ": 123345, + "صت": 123346, + "Ðļогда": 123347, + "Ġमल": 123348, + "άνα": 123349, + "ĠдокÑĤоÑĢ": 123350, + "ĠкоммÑĥ": 123351, + "ĠпÑĸдÑģ": 123352, + "Ġà¸ģรà¸ģà¸İาà¸Ħม": 123353, + "ÂłÐ³": 123354, + "Ġöne": 123355, + "ĠÄIJá»ģ": 123356, + "äºĭåĭĻ": 123357, + "Ġsrov": 123358, + "Ġάν": 123359, + "ëıĦê°Ģ": 123360, + "acaģım": 123361, + "кол": 123362, + "Ġbá»ĵi": 123363, + "Ġپرداز": 123364, + "Ġä¸ļ": 123365, + "ëĭ¤ìļ´": 123366, + "ĠпÑĢедел": 123367, + "ĠÑĦедеÑĢалÑĮ": 123368, + "ĠاÙĦØ£Ùĥ": 123369, + "ãĢĢãĢĢãĢĢãĢĢĠãĢĢĠãĢĢ": 123370, + "Ġtrấn": 123371, + "Ġдлин": 123372, + "ĠÑĸмп": 123373, + "ĠsmÄĽrem": 123374, + "°ëĭ¤": 123375, + "Ġrừng": 123376, + "iciálnÃŃ": 123377, + "è¡Ĩ": 123378, + "μιο": 123379, + "ĠادارÙĩ": 123380, + "ĠÑĤÑĢÑĮ": 123381, + "Ġİli": 123382, + "มà¸Ļà¸ķร": 123383, + "à¥įवà¤ļ": 123384, + "еÑĢо": 123385, + "ĠKUR": 123386, + "skými": 123387, + "δί": 123388, + "utin": 123389, + "Ġveriler": 123390, + "สà¸ĸาà¸Ļà¸Ĺ": 123391, + "ĠзаÑħодÑĸв": 123392, + "ĠÙ쨱ÙĪØ¯Ú¯Ø§Ùĩ": 123393, + "Ġçͱ": 123394, + "ูà¹ģล": 123395, + "éĥij": 123396, + "ĠJako": 123397, + "ĠÑĢазвиÑĤие": 123398, + "à¤īन": 123399, + "ÙĬدا": 123400, + "Ġà¸ŀà¸¤à¸©à¸łà¸²à¸Ħม": 123401, + "물ìĿĦ": 123402, + "ëłĢ": 123403, + "-ÐĽ": 123404, + "ãĢĤãģĤ": 123405, + "Ġподв": 123406, + "ï¼īï¼ļ": 123407, + "论åĿĽ": 123408, + "ائع": 123409, + "ãĤĴãģĻãĤĭ": 123410, + "Ġأص": 123411, + "Ñĩики": 123412, + "ĠÑģÑĤил": 123413, + "leyici": 123414, + "ÑģилÑĮ": 123415, + "Ġbulundu": 123416, + "ĠÑģеÑĢедови": 123417, + "à¤Ĥर": 123418, + "ĠاÛĮÙĨجا": 123419, + "åľŃåľŃ": 123420, + "ĠmyÅ¡len": 123421, + "ĠÑĢозвиÑĤок": 123422, + "ĠiyileÅŁ": 123423, + "ĠвÑĸз": 123424, + "ëĤĺ무": 123425, + "æĦıè§ģ": 123426, + "ιÏĥÏĦη": 123427, + "ãĥĥãĥĦ": 123428, + "äºĭæķħ": 123429, + "madıģı": 123430, + "Ġà¤ħपर": 123431, + "ĠÚĨرخ": 123432, + "Ġплав": 123433, + "以æĿ¥": 123434, + "Ġë©Ģ": 123435, + "Tuy": 123436, + "ãĥ¼ãĥį": 123437, + "ĠизÑĥÑĩ": 123438, + "ĠstÅĻednÃŃ": 123439, + "课ç¨ĭ": 123440, + "Ġê·¸ëħĢëĬĶ": 123441, + "ĠдоговоÑĢÑĥ": 123442, + "ĠÄijá»ĭch": 123443, + "Ġkararı": 123444, + "åIJ´": 123445, + "ÙĥاÙħ": 123446, + "ĠпоÑĤол": 123447, + "вок": 123448, + "ĠDüz": 123449, + "Τα": 123450, + "åµ": 123451, + "âĢĻna": 123452, + "адж": 123453, + "ĠdÅĻÃŃve": 123454, + "梨": 123455, + "ĠAvust": 123456, + "åĬĽãĤĴ": 123457, + "à¹Ģà¸ģล": 123458, + "Ġпобед": 123459, + "ĠпÑĢиÑĩ": 123460, + "ĠÐijÑĸ": 123461, + "åѤ": 123462, + "ĠÐłÐµÐ³": 123463, + "ĠyetiÅŁ": 123464, + "ĠнеÑİ": 123465, + "ĠbÃŃl": 123466, + "ìĹĨìĿĮ": 123467, + "Ġİtalya": 123468, + "ÐĴÑģе": 123469, + "å¾Įãģ®": 123470, + "ĠjejÃŃm": 123471, + "ĠвиглÑıдÑĸ": 123472, + "огÑĢад": 123473, + "Ġbohat": 123474, + "Ġåħĭ": 123475, + "ĠдиÑĤини": 123476, + "лÑıÑĤоÑĢ": 123477, + "мага": 123478, + "ëĭĪìĬ¤": 123479, + "ĠÐłÐ°Ð´Ð¸": 123480, + "ÏĢοÏħÏģγ": 123481, + "&ZeroWidthSpace": 123482, + "Ġstruk": 123483, + "æIJŀ": 123484, + "ĠãģĿãģ®ä»ĸ": 123485, + "ìĿ¸ìĿĦ": 123486, + "ĠпÑĢовеÑģÑĤи": 123487, + "漫çĶ»": 123488, + "Ġçݩ家": 123489, + "ĠÙĪØ±Ø²": 123490, + "ĠÑģвоÑĹм": 123491, + "ĠLRV": 123492, + "ิà¸ķà¸ł": 123493, + "सत": 123494, + "ĠíĿĶ": 123495, + "âĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹı": 123496, + "ĠtvoÅĻÃŃ": 123497, + "ĠÐŁÐŀ": 123498, + "é«ĺ度": 123499, + ".hwp": 123500, + "à¸ķำà¸ļล": 123501, + "Ġدس": 123502, + "ìĪĺê°Ģ": 123503, + "ìĶ©": 123504, + "ï¼īãĢĤĊ": 123505, + "æĭ³": 123506, + "Ġlô": 123507, + "ĠKültür": 123508, + "اطعة": 123509, + "Ġkuchy": 123510, + "Ġstroj": 123511, + "μενο": 123512, + "ĠконÑģÑĤÑĢÑĥкÑĨии": 123513, + "å°ıåѦ": 123514, + "Ġåįļ": 123515, + "ĠèĢĥ": 123516, + "Ġasıl": 123517, + "æĪijåĢij": 123518, + "خراج": 123519, + "ĠOnun": 123520, + "Ġç¾İåĽ½": 123521, + "à¥Ĥबर": 123522, + "Ġmuži": 123523, + "å§«": 123524, + "Ġвб": 123525, + "Ġдоме": 123526, + "Ġам": 123527, + "Ġkuru": 123528, + "æ±Ĺ": 123529, + "lediÄŁi": 123530, + "Ġvẽ": 123531, + "å¾ĵ": 123532, + "ĠгÑĥбеÑĢ": 123533, + "ĠÑģÑĤановиÑĤÑĮ": 123534, + "ĠzemÄĽdÄĽl": 123535, + "ÙĦÙĦ": 123536, + "Ġramen": 123537, + "ĠprůbÄĽhu": 123538, + "Ġblok": 123539, + "ýval": 123540, + "vou": 123541, + "νά": 123542, + "ëĶĶìĭľ": 123543, + "ÑĨионнÑĭе": 123544, + "Ġê²ĮìĭľíĮIJ": 123545, + "ãĥ³ãĥĩãĤ£": 123546, + "ä¸Ģ级": 123547, + "иÑĩа": 123548, + "ĠسرÛĮاÙĦ": 123549, + "ilin": 123550, + "ायन": 123551, + "ÙĨÙĪÛĮس": 123552, + "ĠÐĶи": 123553, + "ĠادبÛĮ": 123554, + "ĠÑĥдов": 123555, + "ĠÐĹам": 123556, + "à¥ģà¤Ńव": 123557, + "Ñģок": 123558, + "ĠÑĢайоне": 123559, + "ĠEK": 123560, + "æĤī": 123561, + "Ġsorumlu": 123562, + "ĠzvyÅ¡": 123563, + "à¹Ģà¸ĭà¸Ńร": 123564, + "ináÅĻ": 123565, + "Ġudrž": 123566, + "новид": 123567, + "ĠspoleÄįnÄĽ": 123568, + "æĪIJäºĨ": 123569, + "D": 123570, + "ัà¸ŀà¸Ĺ": 123571, + "аÑĪа": 123572, + "ĠÙĨادÙĬ": 123573, + "à¹ĥà¸Ļà¸Ĺ": 123574, + "å¡ļ": 123575, + "Ġسک": 123576, + "ãĥģãĥ¥": 123577, + "ĠмаÑĢÑĪ": 123578, + "аленнÑı": 123579, + "ĠØŃÙħاÛĮت": 123580, + "ãĥ³ãĤ¸": 123581, + "รษà¸IJ": 123582, + "ĠкÑĢем": 123583, + "ĠKažd": 123584, + "ê½": 123585, + "Ġparlament": 123586, + "ĠÅŁun": 123587, + "Ġkys": 123588, + "ÏĦÏĤ": 123589, + "ê°ľìĿĺ": 123590, + "Ġvelice": 123591, + "Ġcestu": 123592, + "ظة": 123593, + "è¯Ĭ": 123594, + "Ġút": 123595, + "ĠØ®ÙĪØ±": 123596, + "ĠТе": 123597, + "ĠоблаÑģÑĤ": 123598, + "à¹Īà¸Ńà¸ķ": 123599, + "ĠAcadem": 123600, + "ãĢĤæľ¬": 123601, + "Ġ風": 123602, + "Ñģен": 123603, + "ãĥ¢ãĥĩãĥ«": 123604, + "ĠзавданнÑı": 123605, + "ãģ¾ãĤĮ": 123606, + "моÑĤÑĢеÑĤÑĮ": 123607, + "Ġkhá»ķ": 123608, + "à¹Īร": 123609, + "درس": 123610, + "ĠÄĮeskosloven": 123611, + "Ġ计": 123612, + "ĠÑĤаком": 123613, + "ĠÙĦاعب": 123614, + "ĠMuhammed": 123615, + "ĠÙħÙĦÙģ": 123616, + "ĠÙĪØ³ÙĦÙħ": 123617, + "ãĤ·ãĥ£ãĥ«": 123618, + "ĠокÑĢа": 123619, + "à¥ģमत": 123620, + "ĠëĪĦ구": 123621, + "Ġnedeni": 123622, + "ĠëĤłì§ľ": 123623, + "/km": 123624, + "Ġдемон": 123625, + "ĠصÙĨاÛĮع": 123626, + "masından": 123627, + "åīįãģ®": 123628, + "æĪIJ绩": 123629, + "लà¤Ĺ": 123630, + "ĠåĮħ": 123631, + "à¸Ńà¸ģà¸Īาà¸ģà¸Ļ": 123632, + "ادا": 123633, + "Ġaylık": 123634, + "ĠÙħÙĤد": 123635, + "Ġönemlidir": 123636, + "ĠìĪľê°Ħ": 123637, + "Ġdinh": 123638, + "Ġnákup": 123639, + "istické": 123640, + "åºŁ": 123641, + "ìĬ¤íĨł": 123642, + "Ġdny": 123643, + "ĠìŀĪëıĦë¡Ŀ": 123644, + "ìĽIJìĿĺ": 123645, + "ãĥķãĥ¬": 123646, + "poz": 123647, + "Ġев": 123648, + "ĠdÃ¼ÅŁÃ¼r": 123649, + "à¥įरà¤ļ": 123650, + "Ġê²°íĺ¼": 123651, + "ĠÑĨенÑĤÑĢа": 123652, + "åŁĭ": 123653, + "ï¿£ï½Ģ": 123654, + "æŃ¦åύ": 123655, + "à¹Īาà¸Ļมา": 123656, + "Ġरव": 123657, + "Ùijد": 123658, + "μÎŃνοι": 123659, + "Ġë§IJìĶĢ": 123660, + "ĠpoÅĻad": 123661, + "Ġبغ": 123662, + "ĠÏĮλα": 123663, + "à¹īà¹Ħà¸Ĥ": 123664, + "à¹Ģà¸ģาะ": 123665, + "Ġbạc": 123666, + "Ġdá": 123667, + "dÄĽla": 123668, + "Ġteb": 123669, + "Ġkèo": 123670, + "ãĤıãĤĮ": 123671, + "Ġistiyorum": 123672, + "λήÏĤ": 123673, + "ÐIJв": 123674, + "Ġasla": 123675, + "Ġperformans": 123676, + "ĠVáclav": 123677, + "ÏģίαÏĤ": 123678, + "ĠtÄĽl": 123679, + "æĮĻ": 123680, + "оба": 123681, + "ãģijãĤĮãģ©": 123682, + "Ġë͏": 123683, + "ÙĪØ§Ø¡": 123684, + "ĠÚ©ÙĪØ¯Ú©Ø§ÙĨ": 123685, + "ĠплиÑĤ": 123686, + "Ġbilir": 123687, + "Ñĥже": 123688, + "ÏĦÎŃλε": 123689, + "Ġà¤Ĩà¤ķर": 123690, + "ĠÑĤÑĢÑĥда": 123691, + "ĠدرÛĮا": 123692, + "̧": 123693, + "Ġngá»įt": 123694, + "ÙĨسا": 123695, + "аÑģÑĤи": 123696, + "ï½£": 123697, + "ÂłÐ½Ð°": 123698, + "емÑĭе": 123699, + "ĠسعÙĪØ¯": 123700, + "Ġalım": 123701, + "è´«": 123702, + "åΰçļĦ": 123703, + "Ġkesinlikle": 123704, + "Ġzásad": 123705, + "ĠìĬ¤íĬ¸": 123706, + "Ġdahi": 123707, + "té": 123708, + "åįģåħ«": 123709, + "Ġzayıf": 123710, + "ذار": 123711, + "ĠاÙĬراÙĨ": 123712, + "ĠhodnocenÃŃ": 123713, + "DST": 123714, + "Ġìĸĺ": 123715, + "æĺĩ": 123716, + "éĻ£": 123717, + "Ġкле": 123718, + "Ġuplat": 123719, + "ĠاÙĦتعÙĦÙĬÙħ": 123720, + "ÏĢοίηÏĥη": 123721, + "екÑĤоÑĢа": 123722, + "Ġë§IJìĿ´": 123723, + "ĠÙ쨱ÙĬÙĤ": 123724, + "帮åĬ©": 123725, + "çĶŁãģį": 123726, + "åĨħãģ®": 123727, + "èģĶ缣": 123728, + "гÑĢад": 123729, + "Ġchuyến": 123730, + "ãĤĤãĤĬ": 123731, + "ĠÑĩаÑģÑĤина": 123732, + "ãģªãģıãģª": 123733, + "ÑĶв": 123734, + "ĠÑĦаÑħ": 123735, + "kuk": 123736, + "çĶ·æĢ§": 123737, + "ĠÙħÛĮÙĦادÛĮ": 123738, + "Ġbeden": 123739, + "ê°Ģ를": 123740, + "मर": 123741, + "Ġìĸ´ë¨¸ëĭĪ": 123742, + "èģĶç½ij": 123743, + "Âłmi": 123744, + "Ġzahrn": 123745, + "æ²ĸ": 123746, + "Ġkhuẩn": 123747, + "Ġopráv": 123748, + "ाहà¤ķ": 123749, + "ĠÚ©ÙĪØªØ§Ùĩ": 123750, + "Ġобол": 123751, + "Ġphúc": 123752, + "ránÃŃ": 123753, + "à¥įरथ": 123754, + "æİªæĸ½": 123755, + "Ġволод": 123756, + "ĠspÃŃÅ¡e": 123757, + "ĠmÆ¡": 123758, + "ÑĬек": 123759, + "ngör": 123760, + "à¤īत": 123761, + "ksiyon": 123762, + "аÑĤе": 123763, + "Ġجزء": 123764, + "ávka": 123765, + "ÐĴС": 123766, + "laÅŁma": 123767, + "Ġç¿": 123768, + "à¸Ńาà¸Ĭ": 123769, + "ниÑĨÑĥ": 123770, + "Ġหาà¸ģ": 123771, + "ãģĭãģĹ": 123772, + "íı´": 123773, + "ĠгаÑĢан": 123774, + "ĠÏĥαν": 123775, + "ĠдобавиÑĤÑĮ": 123776, + "ĠÑĢазÑĢеÑĪ": 123777, + "á¾": 123778, + "æĺ¯ä¸ª": 123779, + "μÎŃÏĤ": 123780, + "Ġİmparator": 123781, + "æ¨Ļæºĸ": 123782, + "ÑģÑĤÑĭ": 123783, + "Ġgücü": 123784, + "ĠíĥĢìĿ´": 123785, + "Ġåħ¶ä»ĸ": 123786, + "Ġtông": 123787, + "ĠvedenÃŃ": 123788, + "ëĵľë¡ľ": 123789, + "Ġmesel": 123790, + "ĠÄįe": 123791, + "jde": 123792, + "Ïģεια": 123793, + "ãĤĪãģŃ": 123794, + "ÐłÐĿ": 123795, + "è·Ŀ离": 123796, + "ĠÙĤائÙħØ©": 123797, + "าà¸ļาล": 123798, + "ĠÑģайÑĤÑĸ": 123799, + "Ġरस": 123800, + "ĠÙĤرÙĨ": 123801, + "Ġnávr": 123802, + "Ú©Ùħ": 123803, + "çļĦæīĭ": 123804, + "Ġsorunu": 123805, + "/NÄIJ": 123806, + "nutÃŃm": 123807, + "ĠØ®ÙĪØ±Ø¯": 123808, + "Ġngá»Ŀ": 123809, + "Ġ:.|": 123810, + "Ġbudouc": 123811, + "iÄįky": 123812, + "Ġدرد": 123813, + "ÑĢониÑĩеÑģ": 123814, + "ç¾Ĭ": 123815, + "ĠìķĦë²Ħì§Ģ": 123816, + "ĠKanunu": 123817, + "ĠпÑĢиводиÑĤ": 123818, + "άλÏħÏĪηÏĤ": 123819, + "ĠVladim": 123820, + "Ġalıp": 123821, + "ĠеÑĤап": 123822, + "Ġà¤Ĺलत": 123823, + "ĠراÙĩÙĨÙħ": 123824, + "Ġpozisyon": 123825, + "Ġgöç": 123826, + "èµŀ": 123827, + "Ġмой": 123828, + "Ġγά": 123829, + "ĠìĪł": 123830, + "ĠØ¢ÛĮÙĨدÙĩ": 123831, + "aná": 123832, + "举çľģ": 123833, + "ĠÙħتعدد": 123834, + "ĠåįĬ": 123835, + "ãĢĢãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ": 123836, + "Ġthá»Ŀ": 123837, + "ĠвдÑĢÑĥг": 123838, + "паÑĤ": 123839, + "ĠпÑĢоведениÑı": 123840, + "ÙĨز": 123841, + "ĠاÙĦبØŃØ«": 123842, + "æģ¢": 123843, + "Ġbaktı": 123844, + "Ġè·¯": 123845, + "Ġзаболеваний": 123846, + "ĠÐķвÑĢоп": 123847, + "Ġtarihli": 123848, + "깨": 123849, + "ĠÚ©ÙĪÙĩ": 123850, + "Ġìĸ´ëł¤": 123851, + "Ġtitul": 123852, + "ĠvydánÃŃ": 123853, + "éĺ¶æ®µ": 123854, + "à¸Īะà¸ķ": 123855, + "ĠмоÑı": 123856, + "ĠкоÑĢол": 123857, + "Ġбанк": 123858, + "วรรà¸ĵ": 123859, + "ĠÙĥسارة": 123860, + "ĠKhoa": 123861, + "ĠÑĥнÑĸвеÑĢÑģиÑĤеÑĤ": 123862, + "ãģ«éĸ¢ãģĻãĤĭ": 123863, + "ruary": 123864, + "Ġà¸Ĥาย": 123865, + "Ġsvaz": 123866, + "ĠشرÙĤ": 123867, + "ĠдÑĭÑħ": 123868, + "Ġизбав": 123869, + "ĠÑıкÑĸй": 123870, + "ĠÎľÎ¿Î½": 123871, + "Ġgön": 123872, + "ĠUkraj": 123873, + "ัà¸Ļà¸Ńà¸Ńà¸ģ": 123874, + "Ġมà¸ģราà¸Ħม": 123875, + "иÑĤов": 123876, + "Ġanalý": 123877, + "ĠоÑĤмеÑĩ": 123878, + "ĠبراÙī": 123879, + "âĪı": 123880, + "ัà¸ģà¸ģ": 123881, + "æĭ¥æľī": 123882, + "ĠÑĸнÑĪого": 123883, + "ĠкомпанÑĸÑĹ": 123884, + "ĠkÅĻes": 123885, + "ĠÑĢабоÑĩ": 123886, + "adÃŃ": 123887, + "ìłł": 123888, + "à¹Ħหà¸Ļ": 123889, + "à¥ģबह": 123890, + "âĢĻdeki": 123891, + "çħ¤": 123892, + "ĠпаÑĢÑĥ": 123893, + "ìĦŃ": 123894, + "ĠнепоÑģÑĢед": 123895, + "Ġİb": 123896, + "Ġà¸ŀฤศà¸Ī": 123897, + "íĭ´": 123898, + "ĠëłĪìĿ´": 123899, + "ĠThá»ķ": 123900, + "ÑıеÑĤ": 123901, + "ائج": 123902, + "»çĴĥ": 123903, + "ÐĴÐŀ": 123904, + "åĸĬ": 123905, + "Ġ第ä¸ī": 123906, + "ĠвокÑĢÑĥг": 123907, + "ÑĩенÑĮ": 123908, + "Ġolanak": 123909, + "tura": 123910, + "ĠÙħÙĬÙĦ": 123911, + "eydi": 123912, + "ĠÙħدÙĬر": 123913, + "Ġnelze": 123914, + "ัวà¸Ńย": 123915, + "ìħľ": 123916, + "Ġhlavu": 123917, + "Ġkoruy": 123918, + "ÑĨин": 123919, + "ĠдиÑģÑĨип": 123920, + "ĠÙħاÙĨد": 123921, + "ĠподÑĢоб": 123922, + "ТÐŀ": 123923, + "ÙĤرار": 123924, + "à¹ģà¸Ļะà¸Ļำ": 123925, + "문ìĿĦ": 123926, + "æĮ¯ãĤĬ": 123927, + "PÅĻi": 123928, + "Ġyên": 123929, + "शà¤ķ": 123930, + "Âłje": 123931, + "ĠÐļонÑģÑĤиÑĤÑĥ": 123932, + "à¥ģह": 123933, + "Ġپا": 123934, + "ìĨĮ를": 123935, + "Ġдела": 123936, + "кид": 123937, + "à¹Ĥà¸Ĭ": 123938, + "커ìĬ¤": 123939, + "dÄĽlen": 123940, + "à¤Ķर": 123941, + "äºİæĺ¯": 123942, + "ĠÙĩÙħÛĮØ´Ùĩ": 123943, + "ĠbaÅŁlam": 123944, + "ĠìĽ¨": 123945, + "Ġdeneyim": 123946, + "Ġüye": 123947, + "ĠνÏĮ": 123948, + "Ġà¤ĸड": 123949, + "nÄĽl": 123950, + "ĠÑģÑĦеÑĢÑĸ": 123951, + "à¸Ńà¸Ķà¸ł": 123952, + "ä¸Ģå¹´": 123953, + "Ġvurgu": 123954, + "Äŀİ": 123955, + "âĢĻĊ": 123956, + "ĠÑĸнÑĪими": 123957, + "ĠзменÑĪ": 123958, + "Ġà¤ĭ": 123959, + "Ġвека": 123960, + "ĠØŃÚ©ÙĪÙħت": 123961, + "ĠتÙħاÙħÛĮ": 123962, + "Ġsmrt": 123963, + "Ġhá»§y": 123964, + "ĠyapılmÄ±ÅŁ": 123965, + "à¹īà¸ľ": 123966, + "ĠYen": 123967, + "ĠÑĥл": 123968, + "ĠSvÄĽt": 123969, + "ัà¸Ħ": 123970, + "ĠmÄĽsÃŃců": 123971, + "денÑĤи": 123972, + "Ġï¾ĺ": 123973, + "ĠполиÑĤи": 123974, + "skyt": 123975, + "ä¹Łæľī": 123976, + "Ġê°ĻìĬµëĭĪëĭ¤": 123977, + "Ġê·¸ëŀĺìĦľ": 123978, + "ÏĦεÏģη": 123979, + "ÑĩеÑĢ": 123980, + "ĠÃľNİVERSİTESİ": 123981, + "à¸ªà¸ł": 123982, + "Ġสร": 123983, + "ानद": 123984, + "ĠaÅŁÄ±rı": 123985, + "λίοÏħ": 123986, + "ĠÙĦÙģ": 123987, + "ÃŃnu": 123988, + "à¸Ńาร": 123989, + "ÑĤÑĥÑĢа": 123990, + "ĠÄįeských": 123991, + "Ġphức": 123992, + "以为": 123993, + "ÏģÏīÏĢα": 123994, + "ĠاÙĨرÚĺÛĮ": 123995, + "»)": 123996, + "alardan": 123997, + "ĠÑģÑĤвоÑĢÑİ": 123998, + "Ġtráv": 123999, + "६": 124000, + "ãģĬãĤĪãģ³": 124001, + "ïľĭ": 124002, + "adil": 124003, + "ĠΤι": 124004, + "ĠëIJ©ëĭĪëĭ¤": 124005, + "ĠεμÏĨ": 124006, + "Ġ구조": 124007, + "ìĹŃìĭľ": 124008, + "ĠاÙĦجاÙħ": 124009, + "主é¢ĺ": 124010, + "ãĤ¹ãĥĿ": 124011, + "ĠìĹŃìĭľ": 124012, + "ĠÚ©Ùħتر": 124013, + "ĠSpoleÄį": 124014, + "олоÑĪ": 124015, + "ĠSuriye": 124016, + "ЧеÑĢ": 124017, + "æĪĺæĸĹ": 124018, + "Ġzávis": 124019, + "æĽ¸é¤¨": 124020, + "Ġmusel": 124021, + "ĠçĿ": 124022, + "ÙħÙħ": 124023, + "ĠاÙĦخارج": 124024, + "ĠÐĵÐŀ": 124025, + "ĠваÑĢÑĤо": 124026, + "Ïģαβ": 124027, + "Ġपहà¤ļ": 124028, + "ublice": 124029, + "ÑĨионного": 124030, + "èĮ¨": 124031, + "ĠدÙģØªØ±": 124032, + "ĠÙ쨳": 124033, + "Ġà¤¨à¤ľà¤°": 124034, + "tarı": 124035, + "ĠобÑĢоб": 124036, + "ĠÐłÐ°": 124037, + "ĠاÙĦصÙĨ": 124038, + "شة": 124039, + "ĠìĹĨìĹĪ": 124040, + "ožná": 124041, + "æľĢçµĤ": 124042, + "Ù¥": 124043, + "rech": 124044, + "ĠاÙĦأسر": 124045, + "Ġмови": 124046, + "Ġì¡°êµIJ": 124047, + "ÑĸмеÑĩ": 124048, + "ãĥ¯ãĥ¼": 124049, + "бÑĥÑĢг": 124050, + "ĠسÙĦس": 124051, + "åѦä¼ļ": 124052, + "Ġë¦": 124053, + "åħĭæĸ¯": 124054, + "æĸĩçĮ®": 124055, + "Ġxương": 124056, + "Ġyolc": 124057, + "ĠìĤ¬ë¬´": 124058, + "ãĤıãģļ": 124059, + "ĠÑĢаÑģÑĤений": 124060, + "ĠÙģØ¶Ø§ÛĮ": 124061, + "Ġnaopak": 124062, + "ĠпÑĢивÑĭ": 124063, + "ĠدÛĮدÙĩ": 124064, + "à¸ģารà¹ĥà¸Ĭ": 124065, + "Ġåŀ": 124066, + "çijŁ": 124067, + "以åIJİ": 124068, + "ĠpÅĻibliž": 124069, + "ĠdÃ¼ÅŁman": 124070, + "Ġtemin": 124071, + "ĠÑĥÑģлÑĥг": 124072, + "Ġदब": 124073, + "ĠìĥĪê¸Ģ": 124074, + "ĠÑĥÑģÑĤÑĢойÑģÑĤва": 124075, + "ĠТÑĥÑĤ": 124076, + "ÏĦίοÏħ": 124077, + "Ġİslâm": 124078, + "Ù¤": 124079, + "åıĤä¸İ": 124080, + "ĠкÑĥÑģÑĤ": 124081, + "éĻIJåζ": 124082, + "تÙĬÙĨ": 124083, + "ĠоÑģÑĤаннÑĸ": 124084, + "ications": 124085, + "اکÛĮ": 124086, + "ноÑģÑı": 124087, + "ÄŁan": 124088, + "ãģıãĤĮãĤĭ": 124089, + "Ġyapıyor": 124090, + "Ġê°ķëĤ¨": 124091, + "ÙħÙĬÙħ": 124092, + "æŃIJ": 124093, + "Ġرع": 124094, + "ĠboÄŁ": 124095, + "ĠиÑģÑħод": 124096, + "èªł": 124097, + "æł·åŃIJ": 124098, + "Ġbudeme": 124099, + "ĠÑģеÑĤ": 124100, + "ιÏĥμοÏį": 124101, + "Ġå¾ĴæŃ©": 124102, + "uálnÃŃ": 124103, + "ĠاÙĦعÙĤ": 124104, + "Ġسبک": 124105, + "ĠاÙĦأخرÙī": 124106, + "EFA": 124107, + "åĽºå®ļ": 124108, + "ĠãĤ¬": 124109, + "ĠìŀIJìŰ": 124110, + "ยวà¸Ĥ": 124111, + "بس": 124112, + "unma": 124113, + "Ġзаним": 124114, + "à¹ĥà¸Ļร": 124115, + "èĢĥèĻij": 124116, + "æ··åIJĪ": 124117, + "å°ĭ": 124118, + "ĠçıkÄ±ÅŁ": 124119, + "Ġmaliyet": 124120, + "éľĬ": 124121, + "ãģŁãĤģãģ®": 124122, + "Ġپش": 124123, + "ĠзлоÑĩ": 124124, + "Ġvýši": 124125, + "Ġschvál": 124126, + "ĠÙĨÙħÙĪØ¯Ùĩ": 124127, + "ÎĨ": 124128, + "Ġzách": 124129, + "ĠÏĥκ": 124130, + "ãĤ¹ãĥŀ": 124131, + "ĠÙħسائÙĦ": 124132, + "ĠاÙĦاجتÙħاع": 124133, + "åľ°çĤ¹": 124134, + "اÛĮاÙĨ": 124135, + "ĠÐŀк": 124136, + "ê¸Ķ": 124137, + "elease": 124138, + "ĠطبÙĤÙĩ": 124139, + "éijij": 124140, + "Ġì½Ķë¡ľëĤĺ": 124141, + "é¼ł": 124142, + "大åħ¨": 124143, + "ĠпÑĢивеÑģÑĤи": 124144, + "Ġابتد": 124145, + "ë¦¬ë¡ľ": 124146, + "ĠÑģÑĤÑĢанÑĭ": 124147, + "ĠzatÃŃmco": 124148, + "Ġhuyết": 124149, + "سÛĮÙĪÙĨ": 124150, + "Ġsordu": 124151, + "âĢĮرس": 124152, + "ĠÑĦÑĢон": 124153, + "Ġedip": 124154, + "ÙĨÚ¯ÛĮ": 124155, + "ĠкиÑĢ": 124156, + "Ġíķ´ìķ¼": 124157, + "ì»´": 124158, + "ÑĨиклоп": 124159, + "ĠпÑĢименениÑı": 124160, + "Ġобл": 124161, + "éļª": 124162, + "ĠkromÄĽ": 124163, + "æł¸å¿ĥ": 124164, + "rahim": 124165, + "оÑĢд": 124166, + "ĠlÃłnh": 124167, + "ĠоÑģÑĤÑĢов": 124168, + ";|": 124169, + "buz": 124170, + "ĠÏĦÏģο": 124171, + "ĠÐĴаÑĢ": 124172, + "æīİ": 124173, + "ılÄ±ÅŁ": 124174, + "éĿ¢ç©į": 124175, + "身份": 124176, + "é¢ĨåŁŁ": 124177, + "ĠاÙĦÙĤرÙĨ": 124178, + "ĠпÑĢиклад": 124179, + "ãĥģãĥ¼ãĥł": 124180, + "Ġสà¸ŀà¸Ľ": 124181, + "ĠоÑĩиÑģÑĤ": 124182, + "Ġмилли": 124183, + "аÑĨÑĸÑĹ": 124184, + "ีà¹Ģà¸Ń": 124185, + "Ġtanın": 124186, + "çĪ¶äº²": 124187, + "Ġmsgstr": 124188, + "ĠØ´ÛĮÙħÛĮ": 124189, + "ĠÙģØ±Ø§ÙĩÙħ": 124190, + "Ġë§¥": 124191, + "ãĢĤå½ĵ": 124192, + "ĠконÑĨенÑĤÑĢа": 124193, + "êµIJíļĮ": 124194, + "ãĤīãĤĮãģ¦": 124195, + "Ġyasak": 124196, + "ĠÐijол": 124197, + "Ġæ¾³": 124198, + "çĩķ": 124199, + "Ġجا": 124200, + "ëijĺ": 124201, + "ĠدرخÙĪØ§Ø³Øª": 124202, + "ĠmÃŃstnÃŃ": 124203, + "ÂĤÃĮ": 124204, + "Ġbaskı": 124205, + "Ġuçak": 124206, + "ä»ĵ": 124207, + "Ġìľłì§Ģ": 124208, + "Ġпоба": 124209, + "Ġzeptal": 124210, + "ç»ĻæĪij": 124211, + "ĠAtatürk": 124212, + "ĠÙħÙĨاس": 124213, + "ÑĴ": 124214, + "Ġaracı": 124215, + "лÑİÑĶ": 124216, + "Ġnitelik": 124217, + "ĠMezi": 124218, + "ĠÎŃναÏĤ": 124219, + "ÏİνÏĦαÏĤ": 124220, + "važ": 124221, + "Ġkuzey": 124222, + "ĠÏİÏģα": 124223, + "ĠÑĢозпов": 124224, + "à¹Īาà¸ģ": 124225, + "ãĢģä¸ī": 124226, + "ĠÑģÑĤаÑĢи": 124227, + "Ġhakkı": 124228, + "ĠØ¢ÙħادÙĩ": 124229, + "íĮĶ": 124230, + "омÑĸ": 124231, + "ĠâĢł": 124232, + "ãģĭãĤı": 124233, + "ãĢĮä½ł": 124234, + "æ³ķåĽ½": 124235, + "ÙIJÙĬÙĨ": 124236, + "æīķ": 124237, + "нили": 124238, + "ĠÑĥÑģÑĤановки": 124239, + "Ġlông": 124240, + "तम": 124241, + "ÙĪÙĨÙĬØ©": 124242, + "ÙĬتÙĬ": 124243, + "Ġê²Įìĭľë¬¼": 124244, + "ĠveÅ¡ker": 124245, + "ÎŃÏģγ": 124246, + "ĠÑĥÑģе": 124247, + "Ġkıl": 124248, + "Ġilgi": 124249, + "μÏīν": 124250, + "ĠзвÑĸлÑĮ": 124251, + "Ġönlem": 124252, + "à¸ģà¸İหมาย": 124253, + "ĠHiá»ĩp": 124254, + "ĠгоÑĢм": 124255, + "лÑıÑİÑĤÑĮÑģÑı": 124256, + "lamaya": 124257, + "ĠÑģпоÑģобом": 124258, + "ãģ¸ãģ¨": 124259, + "ç¦ģæŃ¢": 124260, + "ĠÑĢаÑħÑĥнок": 124261, + "ĠоÑĤвеÑĢÑģÑĤи": 124262, + ".:.:.:.": 124263, + "Ġmüda": 124264, + "онаÑħ": 124265, + "Ì£c": 124266, + "Ġyapacak": 124267, + "Ġназвание": 124268, + "对æĸ¹": 124269, + "ëĮĢíijľ": 124270, + "çĪŃ": 124271, + "вана": 124272, + "हन": 124273, + "ĠпÑĢоблема": 124274, + "ĠженÑīинÑĭ": 124275, + "èŀº": 124276, + "ĠhospodáÅĻ": 124277, + "ĠСÑĤеп": 124278, + "ĠodpovÄĽd": 124279, + "ĠSá»Ń": 124280, + "eview": 124281, + "åĩłä¹İ": 124282, + "çŁ¢": 124283, + "æĿ¥ãģŁ": 124284, + "ĠполоÑģ": 124285, + "ĠÑģел": 124286, + "å±Ĩ": 124287, + "ĠпеÑĢвой": 124288, + "ĠпÑĢоÑĨеÑģÑģа": 124289, + "ãĢĢãĤĿ": 124290, + "تاÙħبر": 124291, + "илаÑģÑı": 124292, + "ï¼ĮæĹł": 124293, + "ĠвлаÑģноÑģÑĤÑĸ": 124294, + "íķĺìŀIJ": 124295, + "аÑĤки": 124296, + "ĠBÃł": 124297, + "ĠKarel": 124298, + "è·µ": 124299, + "رÛĮÙĩ": 124300, + "ĠëĤĺ를": 124301, + "ĠобеÑģпеÑĩива": 124302, + "à¥įरपत": 124303, + "ãģĹãĤĩ": 124304, + "åįĴ": 124305, + "Ġ奥": 124306, + "ĠпÑĢоÑĤе": 124307, + "ĠæĭĽ": 124308, + "ĠСÑĤÑĢана": 124309, + "ĠÑĢабоÑĤаÑĤÑĮ": 124310, + "ĠتشخÛĮص": 124311, + "екÑģÑĥ": 124312, + "Ġ리그": 124313, + "ĠصاÙĦØŃ": 124314, + "ĠbaÅŁlamÄ±ÅŁ": 124315, + "ĠÙ¾ÛĮاÙħبر": 124316, + "زا": 124317, + "ĠмаÑģÑģ": 124318, + "ĠγαÏģ": 124319, + "ëĿ¼íͼ": 124320, + "Ġyarı": 124321, + "ĠÑĤипÑĥ": 124322, + "Ðŀп": 124323, + "ãģijãģªãģĦ": 124324, + "emem": 124325, + "ĠnÄĽmu": 124326, + "ĠÙĨشر": 124327, + "ĠÎijθήνα": 124328, + "ÙģØ±Ø§ÙĨ": 124329, + "Ġç¶²": 124330, + "ĠпÑĢомиÑģлов": 124331, + "ĠBugün": 124332, + "ìŀĶ": 124333, + "ĠжÑĸнок": 124334, + "Ġà¸Ľà¸£à¸°à¹Ģà¸łà¸Ĺ": 124335, + "ĠвикоÑĢиÑģÑĤовÑĥваÑĤи": 124336, + "ĠТим": 124337, + ")를": 124338, + "ежаÑĤÑĮ": 124339, + "Ġsona": 124340, + "Ø´ÙĨبÙĩ": 124341, + "Ġnichž": 124342, + "åīĽ": 124343, + "ĠÙģØªØŃ": 124344, + "ĠÙħÙĤدÙħ": 124345, + "ĠGüvenlik": 124346, + "eum": 124347, + "ç»ıè¿ĩ": 124348, + "è·ĿéĽ¢": 124349, + "ÂłÐ½Ðµ": 124350, + "ĠاصÙĪÙĦ": 124351, + "ĠzaÄįátku": 124352, + "ิà¹Ģวà¸ĵ": 124353, + "Ġà¤ķà¤Ł": 124354, + "Ġkriz": 124355, + "Ġpán": 124356, + "ĠбоÑĢÑĮ": 124357, + "ظÙħØ©": 124358, + "Ġê²½ë¶ģ": 124359, + "ĠاÙĦÙĬÙħÙĨ": 124360, + "ĠاÙĦعربÙĬ": 124361, + "Ġhlub": 124362, + "Ġchá»Ŀ": 124363, + "襲": 124364, + "ëĵľë¦¬": 124365, + "ãĥĸãĥª": 124366, + "ĠÑģÑĤолÑĸÑĤÑĤÑı": 124367, + "ربÙĬØ©": 124368, + "Ġæ°¸": 124369, + "Ġê±°ìĿĺ": 124370, + "ĠβαÏĥ": 124371, + "Ġarz": 124372, + "ãĥ¢ãĥ³": 124373, + "ĠÑĢÑĸвенÑĮ": 124374, + "ä¸įçŁ¥": 124375, + "导èĩ´": 124376, + "اÙĬØ´": 124377, + "ĠпÑĢевÑĭÑĪ": 124378, + "Ġпн": 124379, + "ĠÎĴÏģοÏĩή": 124380, + "Ġ身": 124381, + "ĠÄIJầu": 124382, + "ĠÏĮμÏīÏĤ": 124383, + "jÃŃž": 124384, + "Ġλίγ": 124385, + "ĠÑĪколи": 124386, + "ãģ£ãģ±ãģĦ": 124387, + "zdy": 124388, + "Ġê³§": 124389, + "teÅŁ": 124390, + "ÑĢеÑī": 124391, + "κει": 124392, + "sahuje": 124393, + "Ġà¤īसस": 124394, + "ĠTanrı": 124395, + "ä¸į好": 124396, + "éĥŃ": 124397, + "ĠвÑĭглÑıд": 124398, + "ĠçoÄŁ": 124399, + "ĠинÑģÑĤÑĢÑĥменÑĤ": 124400, + "rej": 124401, + "èĪĮ": 124402, + "ãģĭãĤīãģªãģĦ": 124403, + "ĠнепÑĢиÑıÑĤ": 124404, + "ĠкÑĢоме": 124405, + "ζη": 124406, + "Ġлог": 124407, + "ावर": 124408, + "ëħķíķĺìĦ¸ìļĶ": 124409, + "ाहरण": 124410, + "Ġgüvenilir": 124411, + "Tại": 124412, + "ĠØ´Ùĩرد": 124413, + "ĠΤε": 124414, + "оÑĢаз": 124415, + "ĠlÃłng": 124416, + "I": 124417, + "æĬķæ³¨": 124418, + "Ġsiyaset": 124419, + "ÐĽÑİ": 124420, + "ĠtÅĻet": 124421, + "ĠÏĢÏģÏİÏĦη": 124422, + "ĠÑĥлÑĭб": 124423, + "ĠLâm": 124424, + "ÑĥлÑĮÑĤа": 124425, + "åŁºåľ°": 124426, + "Ġskupina": 124427, + "æ°¸ä¹ħ": 124428, + "лÑĥгов": 124429, + "ĠÑĨÑĸй": 124430, + "ĠPoh": 124431, + "iд": 124432, + "ĠTruy": 124433, + "çļĦä¸Ģ个": 124434, + "ë²ĦìłĦ": 124435, + "Ġxứ": 124436, + "à¸ĩà¹ģรà¸ģ": 124437, + "à¸Ħà¸Ńม": 124438, + "Ġelektronik": 124439, + "ĠaÄŁaç": 124440, + "Ġà¤ľà¤¯": 124441, + "ĠповеÑĢÑħноÑģÑĤÑĮ": 124442, + "ĠاÙĩÙħÛĮت": 124443, + "ливиÑħ": 124444, + "ĠolduÄŁundan": 124445, + "ï¼ī:": 124446, + "ÑĨиÑıÑħ": 124447, + "è£½ä½ľ": 124448, + "à¸Ĺรà¸ĩ": 124449, + "eyim": 124450, + "Ġnáklad": 124451, + "cilik": 124452, + "ĠÐĵлав": 124453, + "ĠUygu": 124454, + "ĠÑĢегÑĥлÑİ": 124455, + "à¤Ĥà¤ľà¤¨": 124456, + "Ġkaynaģı": 124457, + "à¹īาà¸Ń": 124458, + "Ġgörmek": 124459, + "ĠíĮ¬": 124460, + "Ġå®Į": 124461, + "Ø«ÙħاÙĨ": 124462, + "ĠÑĤакаÑı": 124463, + "Ġнеиз": 124464, + "Ġzprávy": 124465, + "ĠاÙĦشخص": 124466, + "Ġìĺ¤íĽĦ": 124467, + "ĠاÙĦطب": 124468, + "atırım": 124469, + "رÙĬر": 124470, + "ĠÙħعÙħارÛĮ": 124471, + "ÃľRK": 124472, + "ĠÒIJ": 124473, + "ĠìĦ¬": 124474, + "æīĭãģ«": 124475, + "Ġë³ĢíĻĶ": 124476, + "ulace": 124477, + "Ġsợ": 124478, + "ÑĢиÑĩ": 124479, + "มหาว": 124480, + "Ġkâ": 124481, + "ĠÑģпÑĢоб": 124482, + "ÙĩرÙĩ": 124483, + "ाधन": 124484, + "ĠÏĢαι": 124485, + "بعد": 124486, + "ĠاÙĦتÙĪ": 124487, + "ç»ıçIJĨ": 124488, + "působ": 124489, + "æ¬ł": 124490, + "ĠзаÑħвоÑĢÑİваннÑı": 124491, + "خة": 124492, + "ÚĨار": 124493, + "Ġbozuk": 124494, + "]âĢı": 124495, + "ĠSocorro": 124496, + "Ġhrad": 124497, + "надлеж": 124498, + "ĠÑĥÑĩаÑģÑĤие": 124499, + "å¤īãĤı": 124500, + "Ġyans": 124501, + "ĠØ¥ÙĦ": 124502, + "خبر": 124503, + "ÑĨиклопед": 124504, + "ιÏİν": 124505, + "ÏĥÏĦÏģο": 124506, + "Ġbanka": 124507, + "ĠsoÄŁuk": 124508, + "Ġünlü": 124509, + "é¢ľ": 124510, + "ĠرÙ쨹": 124511, + "çIJ³": 124512, + "ĠÑģоÑģÑĤоÑıнии": 124513, + "νονÏĦαÏĤ": 124514, + "ĠакÑĤи": 124515, + "ĠÏĢολÏħ": 124516, + "ĠмоÑĹ": 124517, + "Ġæł¼": 124518, + "ç²Ĺ": 124519, + "ĠÑģлÑĥÑĩай": 124520, + "ìĿ¼ìĹIJ": 124521, + "ĠÑĤÑĢебÑĥеÑĤ": 124522, + "ĠåıĤèĢĥ": 124523, + "angl": 124524, + "amik": 124525, + "ĠİÅŀ": 124526, + "湯": 124527, + "ĠÄijáo": 124528, + "ละà¸Ħร": 124529, + "Ñģо": 124530, + "Âłob": 124531, + "Ġklim": 124532, + "èĥĨ": 124533, + "ìĥĿíĻľ": 124534, + "ãĥijãĥ³": 124535, + "-ब": 124536, + "Ġкад": 124537, + "à¹Īสามารà¸ĸ": 124538, + "ĠÙħسÙĦÙħاÙĨ": 124539, + "ç¿°": 124540, + "ĠBütün": 124541, + "ĠKraj": 124542, + "ĠпеÑĢÑģп": 124543, + "Ġenerj": 124544, + "ãģķãģĽãĤĭ": 124545, + "è¾¾åΰ": 124546, + "ाà¤Ĭ": 124547, + "ĠگرÙģØªÙĨ": 124548, + "ÑĪкÑĥ": 124549, + "ĠÐŁÐ»Ð¾": 124550, + "ÃŃny": 124551, + "ĠHra": 124552, + "ĠÚĨÙĨاÙĨ": 124553, + "Ġà¹Ħà¸Ĺย": 124554, + "visejÃŃcÃŃ": 124555, + "Û³Û³": 124556, + "ĠÐľÑĸнÑĸÑģÑĤеÑĢ": 124557, + "à¹Ĥà¸Ń": 124558, + "ĠدÙĩÛĮد": 124559, + "æ¯Ķä¾ĭ": 124560, + "ÏĥιεÏį": 124561, + "ÇIJ": 124562, + "ãĢģãģª": 124563, + "Ġतस": 124564, + "Ġİt": 124565, + "ĠìłĦìŁģ": 124566, + "à¹Ģà¸Īร": 124567, + "Ġelektr": 124568, + "Ġdư": 124569, + "âĶĶ": 124570, + "Ġìĥ¤": 124571, + "ä»®": 124572, + "à¸ģารà¹Ģล": 124573, + "ĠмÑĥлÑĮ": 124574, + "Ġ度": 124575, + "ĠHuyá»ĩn": 124576, + "вен": 124577, + "ĠlÆ°á»Ľi": 124578, + "Ġprovozu": 124579, + "ÑĥÑĢÑĥ": 124580, + "ÑĢÑĸÑĹ": 124581, + "ĠçocuÄŁ": 124582, + "ัà¸IJà¸ļาล": 124583, + "ÙĦÙĬÙĩ": 124584, + "Ġ[â̦]...Ċ": 124585, + "åİŁå§ĭ": 124586, + "Ġsklad": 124587, + "ĠسپتاÙħبر": 124588, + "ĠTomáš": 124589, + "ĠسÙĪØ§ÙĦ": 124590, + "çģŃ": 124591, + "ãĤĵãģ©": 124592, + "назнаÑĩ": 124593, + "ĠÄijÄ©a": 124594, + "ĠudÄĽlat": 124595, + "Ġà¤Ĩदम": 124596, + "L": 124597, + "ινÏĮ": 124598, + "iÅŁleri": 124599, + "ÄIJây": 124600, + "ĠرساÙĨÙĩ": 124601, + "عاÙħ": 124602, + "ãĥ¼ãĥijãĥ¼": 124603, + "Ġdoprov": 124604, + "ĠмÑĸÑģÑĤо": 124605, + "ï¼¥": 124606, + "елÑĸг": 124607, + "ائز": 124608, + "ä¸įäºĨ": 124609, + "ĠÐIJлекÑģандÑĢ": 124610, + "ĠвÑĢемен": 124611, + "ĠdveÅĻe": 124612, + "Ġchảy": 124613, + "Ġotel": 124614, + "èĤ¯å®ļ": 124615, + "ĠÑĥÑĤвеÑĢжд": 124616, + "ĠÐļомп": 124617, + "ĠëĤĺëĿ¼": 124618, + "ĠвÑĸдбÑĥваÑĶÑĤÑĮÑģÑı": 124619, + "ãĢģãĢİ": 124620, + "ĠkarÅŁÄ±lık": 124621, + "Ġlẫn": 124622, + "çħĻ": 124623, + "عکس": 124624, + "å¼¥": 124625, + "Ġtecr": 124626, + "Ġneod": 124627, + "æĪIJçĤº": 124628, + "åħ¥ãĤĬ": 124629, + "ĠÐŁÑĢод": 124630, + "ĠÏĢÏģά": 124631, + "ืà¸Ńà¸Ķ": 124632, + "ÑģÑĤаÑĤи": 124633, + "еноÑĹ": 124634, + "ÑĩиÑģл": 124635, + "羣æŃ£": 124636, + "Ġราà¸Ħ": 124637, + "ÑĥÑĢе": 124638, + "ĠشاÙĩد": 124639, + "اعر": 124640, + "Ġê²½íĹĺ": 124641, + "à¸Ļà¸Ħ": 124642, + "ãĥįãĥ«": 124643, + "ÏĢοÏħλοÏĤ": 124644, + "Ġमà¤Ī": 124645, + "ìĬ¤ì½Ķ": 124646, + "itelné": 124647, + "å¼ĢæĶ¾": 124648, + "çį¨": 124649, + "ĠpÅĻech": 124650, + "úÄįast": 124651, + "å¢ĵ": 124652, + "Ġå½±": 124653, + "ÙĨساÙĨ": 124654, + "Ġдвад": 124655, + "ĠидеÑĤ": 124656, + "ĠподклÑİÑĩ": 124657, + "íĬ¹ë³Ħìĭľ": 124658, + "BÃłi": 124659, + "Å¡ku": 124660, + "ilerden": 124661, + "åıĺå¾Ĺ": 124662, + "ëıĻìķĪ": 124663, + "ĠpostupnÄĽ": 124664, + "ĠиÑĤог": 124665, + "Ġdůvodu": 124666, + "sizlik": 124667, + "ÙĦاÙĨ": 124668, + "éĤ£ç§į": 124669, + "ĠÑĩаÑģа": 124670, + "ä¸įæĸŃ": 124671, + "ĠØ®ÛĮاباÙĨ": 124672, + "ĠاÙĦداخ": 124673, + "ĠÑģÑĤоÑĢÑĸн": 124674, + "Ġì¶ľìŰ": 124675, + "æ²Ł": 124676, + "Ġhry": 124677, + "ĠGÃľ": 124678, + "ĠìĿ¸êµ¬": 124679, + "lied": 124680, + "ĠعاÙĦÙĬØ©": 124681, + "ĠпÑĢедваÑĢ": 124682, + "анной": 124683, + "åı¥è¯Ŀ": 124684, + "éłĵ": 124685, + "ë°ĶìĿ¼": 124686, + "ï¼ı/": 124687, + "ĠÙħختصات": 124688, + "ëŀ«": 124689, + "ĠçalÄ±ÅŁmaları": 124690, + "Ġrepublika": 124691, + "Ġì³": 124692, + "ा)": 124693, + "Ġê±´ê°ķ": 124694, + "Ġê³µëıĻ": 124695, + "èħ¦": 124696, + "ĠìĦľë¡ľ": 124697, + "ĠпÑĢоводиÑĤÑĮ": 124698, + "ĠдейÑģÑĤвиÑĤелÑĮно": 124699, + "veç": 124700, + "ثاÙĦ": 124701, + "Ġgösterir": 124702, + "ırlar": 124703, + "ĠÑģамÑĭм": 124704, + "álo": 124705, + "é¢ij次": 124706, + "à¥Īà¤Ĺ": 124707, + "ادÙħ": 124708, + "çĮª": 124709, + "ĠSản": 124710, + "Ġçı": 124711, + "Ġlety": 124712, + "Ġrepublice": 124713, + "æĿ¥èĩª": 124714, + "Ġvết": 124715, + "Ġbirik": 124716, + "Ġmekt": 124717, + "ĠاÙĦÙĪÙģ": 124718, + "Ġjich": 124719, + "ä¸Ģ覧": 124720, + "éľ²åĩº": 124721, + "ĠHiá»ĩn": 124722, + "Ġdiá»ĩt": 124723, + "ĠÑħÑĢиÑģÑĤи": 124724, + "åĪļæīį": 124725, + "kate": 124726, + "Ġbazen": 124727, + "ĠurÄįitÄĽ": 124728, + "ĠumožÅĪuje": 124729, + "é¡ĺãģĦ": 124730, + "/QÄIJ": 124731, + "ĠmenÅ¡ÃŃ": 124732, + "ÏĥκεÏħή": 124733, + "ĠÑĨеÑĢков": 124734, + "Ġè´Ń": 124735, + "окÑĢаÑĤи": 124736, + "ĠÑĢозк": 124737, + "ανοÏħ": 124738, + "Ġyönetic": 124739, + "Ġolmadan": 124740, + "åĨľä¸ļ": 124741, + "Ġë°ĶëŀĮ": 124742, + "çĵľ": 124743, + "ÑĪаеÑĤÑģÑı": 124744, + "ĠÐļоÑģÑĤ": 124745, + "ĠÙħعت": 124746, + "Ġà¸ŀล": 124747, + "ĠÙħتÙ쨧ÙĪØª": 124748, + "ãĤīãģı": 124749, + "èĪĹ": 124750, + "ĠتعرÛĮÙģ": 124751, + "éīĦéģĵ": 124752, + "ĠpéÄįe": 124753, + "컵": 124754, + "ĠподÑĢаз": 124755, + "ĠбанкÑĥ": 124756, + "İSİ": 124757, + "æ¡IJ": 124758, + "à¹Ĥรà¸Ħ": 124759, + "ĠØŃذÙģ": 124760, + "Ġë£": 124761, + "лиж": 124762, + "ĠìĤ°ìĹħ": 124763, + "ĠпÑĢиÑĩинÑĭ": 124764, + "Ġназна": 124765, + "ãĥªãĤ¹ãĥĪ": 124766, + "ìłķë¶Ģ": 124767, + "ÏĥÏĨα": 124768, + "å¦ĥ": 124769, + "Ġголови": 124770, + "ëIJĺìĹĪìĬµëĭĪëĭ¤": 124771, + "ĠενÏĮÏĤ": 124772, + "ãĤ¤ãĥ³ãĤ¿": 124773, + "Ġslun": 124774, + "ëł´": 124775, + "ĠÑģÑĥÑīеÑģÑĤвÑĥеÑĤ": 124776, + "заб": 124777, + "æĽ´åĬł": 124778, + "ĠблагодаÑĢÑı": 124779, + "ĠëĮĢ구": 124780, + "è¾ħ": 124781, + "หาà¸ģ": 124782, + "Ġæİ¥": 124783, + "ëĮĢ를": 124784, + "人类": 124785, + "jeme": 124786, + "åĪĨå¸ĥ": 124787, + "ìŀ¥ìĿĢ": 124788, + "Ġдопомоги": 124789, + "ìĻĦë£Į": 124790, + "osy": 124791, + "èĭ±éĽĦ": 124792, + "ĠÙĦس": 124793, + "मह": 124794, + "Ġà¸ģำ": 124795, + "ĠداشتÙĨ": 124796, + "Ńìłľ": 124797, + "İng": 124798, + "ĠThưá»Ŀng": 124799, + "íĻĢ": 124800, + "ÑįÑĦ": 124801, + "íķ´ìļĶ": 124802, + "ĠÐľÑĸж": 124803, + "еÑĢÑĸга": 124804, + "Ġεá¼": 124805, + "à¹ģสà¸ĩ": 124806, + "ãĥĢãĤ¤": 124807, + "Ġcesty": 124808, + "Ġprázd": 124809, + "第ä¸Ģ次": 124810, + "ĠÙĩÙħسر": 124811, + "Ġzev": 124812, + "ÂłE": 124813, + "ĠBelediyesi": 124814, + "ĠпÑĢопози": 124815, + "ĠanlayÄ±ÅŁ": 124816, + "ÂłÙħ": 124817, + "ĠÑĢаÑģÑģÑĩиÑĤ": 124818, + "ĠاÙĦØ£ÙħرÙĬÙĥÙĬØ©": 124819, + "Ġžena": 124820, + "deniz": 124821, + "Ġnoci": 124822, + "Ġstál": 124823, + "ุย": 124824, + "주ìĨĮ": 124825, + "ĠзеÑĢ": 124826, + "ĠìĨĮê°ľ": 124827, + "Ġkhẳng": 124828, + "atıcı": 124829, + "ÄĽÅ¾": 124830, + "ĠÑĩÑĥÑĤÑĮ": 124831, + "ĠcáºŃu": 124832, + "ĠاطÙĦاع": 124833, + "æµħ": 124834, + "Ġstrav": 124835, + "ĠSanayi": 124836, + "ĠطبÙĬ": 124837, + "Ġhızla": 124838, + "Ïİνα": 124839, + "à¤¿à¤ľà¤²": 124840, + "ÙħØŃÙħد": 124841, + "à¸ļà¸ģ": 124842, + "Ġvzdálen": 124843, + "ĠÑĤакими": 124844, + "ãĢĤãģĿãģĹãģ¦": 124845, + "Ġkalp": 124846, + "Ġкожного": 124847, + "ÐłÂµ": 124848, + "ÙĦعاب": 124849, + "ĠÙħÙĪÙĨ": 124850, + "ĠìĿ¼ìĿĦ": 124851, + "Ġë°ĶìĿ´": 124852, + "Ġmekan": 124853, + "ĠجاÙħع": 124854, + "ĠÙĨÙģØª": 124855, + "ĠاÙĦسÙħ": 124856, + "лÑĭÑħ": 124857, + "èĥĮæĻ¯": 124858, + "Ġê²ĥëıĦ": 124859, + "ĠìĤ´ìķĦ": 124860, + "ydı": 124861, + "ĠнавеÑĢ": 124862, + "åŃIJãģ¯": 124863, + "luluk": 124864, + "Ġhá»Ĺn": 124865, + "ĠØ´Ùģ": 124866, + "ĠعÙĦت": 124867, + "à¸Ħราม": 124868, + "ĠÎļÏįÏĢ": 124869, + "Ġà¹Ģมษายà¸Ļ": 124870, + "ÙĨدÙĤ": 124871, + "ĠÑĥÑģÑĤÑĢа": 124872, + "ĠÎĵεν": 124873, + "ĠÐĨван": 124874, + "ĠPhong": 124875, + "å®¶çļĦ": 124876, + "ĠÐIJлекÑģ": 124877, + "ĠзбеÑĢÑĸг": 124878, + "ĠÅŁarkı": 124879, + "ĠظرÙģÛĮت": 124880, + "ĠÙħعÙĨÛĮ": 124881, + "Ġлов": 124882, + "ĠìĤ¶": 124883, + "èħIJ": 124884, + "Ġå¯Į": 124885, + "ERG": 124886, + "ĠÑģÑĤоимоÑģÑĤÑĮ": 124887, + "ÅĻet": 124888, + "à¥īय": 124889, + "à¹Īาร": 124890, + "ĠارÙĪپا": 124891, + "ĠбÑĢоÑģ": 124892, + "ĠоÑĤноÑģÑıÑĤ": 124893, + "ĠÎŁÎº": 124894, + "ÑĨÑĮкий": 124895, + "ÏĬκ": 124896, + "ãģĤãĤĬãģ¾ãģĽãĤĵ": 124897, + "ĠÑĥник": 124898, + "ĠÄijiá»ĥn": 124899, + "Ġvýzkum": 124900, + "Ġhứ": 124901, + "ĠÙĪØ§Øª": 124902, + "Ġå¹³æĸ¹": 124903, + "Ïħμ": 124904, + "ãĤĴ使": 124905, + "είÏĦαι": 124906, + "两人": 124907, + "ĠåĮ»": 124908, + "ÑĢаÑĤиÑĤÑĮ": 124909, + "ĠاÙĦاÙĨت": 124910, + "ãģ®äºº": 124911, + "رش": 124912, + "ĠТÑĥÑĢ": 124913, + "rnÄĽ": 124914, + "天天": 124915, + "มาร": 124916, + "Ġortalama": 124917, + "ĠпеÑĢепиÑģ": 124918, + "ĠìĥĿìĤ°": 124919, + "å¿Ĩ": 124920, + "íĩ´": 124921, + "ï¼Į该": 124922, + "éĮ¢": 124923, + "ÏĢαίδ": 124924, + "ĠмеÑĢопÑĢи": 124925, + "ĠгÑĢав": 124926, + "ÃĶng": 124927, + "Ġæ¤": 124928, + "ĠاÙĦدÙĪÙĦØ©": 124929, + "ĠоÑģÑĮ": 124930, + "å¥Ķ": 124931, + "Ġgüvenli": 124932, + "íķĺìĭł": 124933, + "ĠéĬ": 124934, + "éŁ³æ¨Ĥ": 124935, + "Ġmedya": 124936, + "ĠبÙĨا": 124937, + "ама": 124938, + "ĠãĤŃãĥ£": 124939, + "èĹ¥": 124940, + "larım": 124941, + "ĠTiếng": 124942, + "iyorlar": 124943, + "ï¼¢": 124944, + "æĶĿ": 124945, + "ÑĸйÑģÑĮкоÑĹ": 124946, + "ĠyetiÅŁtir": 124947, + "Ġپسر": 124948, + "ãĤīãģĹ": 124949, + "Âļ": 124950, + "ìĥ¤": 124951, + "à¸Ķาห": 124952, + "ĠتØŃصÛĮÙĦ": 124953, + "Ġбенз": 124954, + "éģ£": 124955, + "ĠнаблÑİ": 124956, + "ä½ĵç³»": 124957, + "ãĥ¯ãĤ¤ãĥĪ": 124958, + "³³Ġ": 124959, + "书记": 124960, + "ĠMühendis": 124961, + "plor": 124962, + "laz": 124963, + "лÑıли": 124964, + "Ġpomáh": 124965, + "Ġближ": 124966, + "ĠÑĩиÑģла": 124967, + "ĠubytovánÃŃ": 124968, + "ÑĢаÑĤно": 124969, + "ĠtrÄĥm": 124970, + "ĠابراÙĩ": 124971, + "átka": 124972, + "Ġiçindeki": 124973, + "ัà¸ļà¸Ļ": 124974, + "ĠاÙħÛĮد": 124975, + "nave": 124976, + "ecut": 124977, + "å°±åľ¨": 124978, + "Ġtradi": 124979, + "Ø·ÙĦÙĤ": 124980, + "ãĤ¦ãĤ©": 124981, + "Ġkhuôn": 124982, + "ìĬ¤ë¡ľ": 124983, + "ÏĦÎŃÏģα": 124984, + "ĠÏĥκο": 124985, + "ë§Ľ": 124986, + "ĠÙģÙĨÛĮ": 124987, + "à¹Įà¹Ģà¸ŀ": 124988, + "ĠاÙĦعظ": 124989, + "Ġthôn": 124990, + "기ìĿĺ": 124991, + "Ġ฿": 124992, + "ÑĥÑİÑĤÑģÑı": 124993, + "ĠÙħکاÙĨ": 124994, + "ĠâĹİ": 124995, + "Ġçľģ": 124996, + "Ġåį¡": 124997, + "ĠпеÑĢÑĪий": 124998, + "ĠíĽĦë³´": 124999, + "ĠآراÙħ": 125000, + "ãģĮãģĦ": 125001, + "ยาà¸Ļ": 125002, + "μει": 125003, + "ĠMáy": 125004, + "Ġzů": 125005, + "Ġpodporu": 125006, + "컨": 125007, + "ÑģÑĤÑĢи": 125008, + "ÏĢÏĦÏīÏĥη": 125009, + "Ð¤ÐĽ": 125010, + "åĵªéĩĮ": 125011, + "ĠпеÑĢвÑĥÑİ": 125012, + "Ġyerinde": 125013, + "ĠزÛĮبا": 125014, + "Ġodstran": 125015, + "à¥Ģà¤Ĺ": 125016, + "ĠÑĢÑĸзнÑĸ": 125017, + "ÏģηÏĥη": 125018, + "âĢĮاÙĦÙħÙĦÙĦÛĮ": 125019, + "عاد": 125020, + "à¥įपष": 125021, + "ÑŁN": 125022, + "ï½Ľ": 125023, + "ãĥ¼ãĥľ": 125024, + "è´Ńä¹°": 125025, + "ĠìĿ¸ê¸°ê¸Ģ": 125026, + "ĠÙħÛĮØ´ÙĪØ¯": 125027, + "ĠбезопаÑģноÑģÑĤи": 125028, + "ĠνεÏĨοκ": 125029, + "ãģ«ãģ¨": 125030, + "ĠÑĨеÑĢкви": 125031, + "تÙĥ": 125032, + "ĠHÃłng": 125033, + "ĠÙĦÙĦس": 125034, + "ĠνεÏĨοκάλÏħÏĪηÏĤ": 125035, + "raman": 125036, + "Ġvyvol": 125037, + "niÄį": 125038, + "راÙĨÙĩ": 125039, + "ĠpeÅŁ": 125040, + "ãĥ«ãĤ¯": 125041, + "å´ĩ": 125042, + "Ġimkân": 125043, + "åĮ»çĸĹ": 125044, + "Ġपà¥Ŀ": 125045, + "άννηÏĤ": 125046, + "ĠجÛĮ": 125047, + "Ġproje": 125048, + "Ġülkenin": 125049, + "ĠKew": 125050, + "ĠاÙĦÙħÙģ": 125051, + "Ø£Ùĥ": 125052, + "çĻºè¡¨": 125053, + "ĠδÏħ": 125054, + "ĠåĽ½å®¶": 125055, + "ĠKiÅŁisel": 125056, + "ãĥ³ãĤ¬": 125057, + "Ġzpráva": 125058, + "Viá»ĩc": 125059, + "erif": 125060, + "Ġstránky": 125061, + "éļł": 125062, + "è¼ķ": 125063, + "коз": 125064, + "Ġà¤¸à¤ľ": 125065, + "ÙĩداÙģ": 125066, + "loub": 125067, + "à¸łà¸²à¸ŀยà¸Ļà¸ķร": 125068, + "ĠíķłìĿ¸": 125069, + "ĠÄIJÃło": 125070, + "ĠÙĨاØŃÛĮÙĩ": 125071, + "(=)": 125072, + "ĠÅŀampiyon": 125073, + "ĠpiÅŁ": 125074, + "ĠذÙĩ": 125075, + "९": 125076, + "ĠÑģÑĢедÑģÑĤво": 125077, + "Ġà¹Ģวลา": 125078, + "ĠÑĩÑĥж": 125079, + "Ġverileri": 125080, + "Ġکارت": 125081, + "ави": 125082, + "Ġà¤ķरव": 125083, + "Ġrestau": 125084, + "ê°ľìĽĶ": 125085, + "ĠмиÑĢов": 125086, + "ì°®": 125087, + "ĠnÄĽjaký": 125088, + "Ġsessiz": 125089, + "اءات": 125090, + "ĠÐĹаÑħ": 125091, + "ÑıÑīиÑħ": 125092, + "пÑĢ": 125093, + "ĠподалÑĮ": 125094, + "ĠопÑĢеделиÑĤÑĮ": 125095, + "à¥Ń": 125096, + "ĠرÙģ": 125097, + "幸ç¦ı": 125098, + "à»": 125099, + "ĠvÄĽdom": 125100, + "ĠÑģвидеÑĤелÑĮ": 125101, + "ĠÎĵοÏħ": 125102, + "ılıģıyla": 125103, + "çĻ»éĮ²": 125104, + "Ġä¸ĭè·Į": 125105, + "ĠплÑİ": 125106, + "нод": 125107, + "ĠأجÙĦ": 125108, + "Ġà¤ķथ": 125109, + "éĥ½ä¸į": 125110, + "Ġsene": 125111, + "ĠpÄĽ": 125112, + "è¨ĪåĬĥ": 125113, + "ĠаÑĥд": 125114, + "Ġодном": 125115, + "Ġä¸ĩåħĥ": 125116, + "ĠÙĪÙħا": 125117, + "ĠÐĶÑĢÑĥг": 125118, + "èµ·ãģĵ": 125119, + "ваÑİÑĤÑģÑı": 125120, + "лаÑĤÑĥ": 125121, + "ĠتÙĪÙĨ": 125122, + "ÑīаÑı": 125123, + "ήλ": 125124, + "ĠÐŁÑĢа": 125125, + "Ġاسترات": 125126, + "ิà¸Ļà¹Ģà¸Ķ": 125127, + "à¥įà¤Ĺत": 125128, + "ÂłÐ·": 125129, + "ĠполоÑĤ": 125130, + "æ®ĸ": 125131, + "æ¡Ĩ": 125132, + "ĠSistem": 125133, + "Ġruku": 125134, + "ãĥĥãĤ«ãĥ¼": 125135, + "ĠобÑıзан": 125136, + "ĠkÃ¶ÅŁ": 125137, + "Ġadını": 125138, + "Ø´ÙħاÙĦÛĮ": 125139, + "naÄįenÃŃ": 125140, + "Ġ.ï¼ı": 125141, + "Ġå®ĺ": 125142, + "Ġtoplumsal": 125143, + "誤": 125144, + "ĠبÙĩبÙĪØ¯": 125145, + "ÑģÑĤвеннаÑı": 125146, + "Ġآپ": 125147, + "ĠجÙĦسÙĩ": 125148, + "ãĢĢï½": 125149, + "åĵŃ": 125150, + "æīĢå±ŀ": 125151, + "æĴ®": 125152, + "ì¢Ģ": 125153, + "Ġει": 125154, + "ì¹ĺ를": 125155, + "Ġê³¼ìłķ": 125156, + "uuml": 125157, + "δά": 125158, + "Ġزد": 125159, + "ìĽIJìĿĦ": 125160, + "ĠvÄĽcÃŃ": 125161, + "دث": 125162, + "Ġsanki": 125163, + "åĥıæĺ¯": 125164, + "лаÑĢа": 125165, + "ìĤ¬ìĿ´": 125166, + "ãĤıãĤĮãģŁ": 125167, + "ĠÄijón": 125168, + "åIJ¯åĬ¨": 125169, + "ĠgiÃłnh": 125170, + "Ġkırmızı": 125171, + "Ø®Ùħ": 125172, + "æIJį": 125173, + "åĪĩãĤĬ": 125174, + "ãĤµãĥ¼ãĥĵãĤ¹": 125175, + "Ùĩار": 125176, + "ذÙĥر": 125177, + "оÑĢоз": 125178, + "à¥Īà¤Ĥ।ĊĊ": 125179, + "ĠíĻĪíİĺìĿ´ì§Ģ": 125180, + "ĠÙĥبÙĬرة": 125181, + "нина": 125182, + "íķĺìļ°": 125183, + "å¼ķç͍é¢ij次": 125184, + "८": 125185, + "ĠбаÑĤÑĮкÑĸв": 125186, + "à¸Łà¸Ńร": 125187, + "ี.": 125188, + "ìłĿíĬ¸": 125189, + "éĺħ读次æķ°": 125190, + "Ġitir": 125191, + "ÑĪин": 125192, + "ĠVáºŃy": 125193, + "çĤ®": 125194, + "лагод": 125195, + "Ø´ÙĨاس": 125196, + "á»IJ": 125197, + "ĠÑıгод": 125198, + "Ġì¤ijìķĻ": 125199, + "رÙĬØ·": 125200, + "ĠìĪĺíĸī": 125201, + "Ġä¸Ģèά": 125202, + "ĠÑħвилин": 125203, + "ĠÐľÐ¾Ð¶Ð½Ð¾": 125204, + "ĠнаÑĩале": 125205, + "Ġоднов": 125206, + "ĠÃľÃ§": 125207, + "ÑĨионнÑĭй": 125208, + "Ġìļķ": 125209, + "æ¼Ĥ": 125210, + "å²³": 125211, + "تدÙī": 125212, + "κηÏĤ": 125213, + "âĢĻnda": 125214, + "ï¼IJï¼IJ": 125215, + "èªī": 125216, + "é§ħå¾ĴæŃ©": 125217, + "ĠÙģØ±Ø²ÙĨد": 125218, + "åħ¬è·¯": 125219, + "αÏĥίαÏĤ": 125220, + "าà¸ĵาà¸Ī": 125221, + "ëij¥": 125222, + "ĠÏĢοι": 125223, + "ĠبداÙĨ": 125224, + "кап": 125225, + "ĠìŀĪëĬĶëį°": 125226, + "ï¼ĮæŃ¤": 125227, + "à¸Ľà¸£à¸°à¹Ĥยà¸Ĭà¸Ļ": 125228, + "ĠÚ©Ø´ÙĪØ±ÙĩاÛĮ": 125229, + "ุส": 125230, + "ãģ¹ãģį": 125231, + "ĠÑģамÑĭй": 125232, + "ĠплÑı": 125233, + "Ġбед": 125234, + "人æīį": 125235, + "สหร": 125236, + "ูà¸ķ": 125237, + "Ġkullanımı": 125238, + "íķĻëħĦ": 125239, + "æ²»çĸĹ": 125240, + "ãĢĤä¸įè¿ĩ": 125241, + "æ£ļ": 125242, + "ëĤ¨ëıĦ": 125243, + "Ġآتش": 125244, + "ÏĩÎŃÏĤ": 125245, + "Ġfunkci": 125246, + "нообÑĢаз": 125247, + "à¥ĭफ": 125248, + "Ġkaps": 125249, + "าษà¸İ": 125250, + "(ع": 125251, + "ï¼ĮåĬł": 125252, + "à¹Ĭà¸ģ": 125253, + "ĠÙĩØ´": 125254, + "ĠدرÙĪÙĨ": 125255, + "ĠмеÑĩ": 125256, + "ĠпÑĢежде": 125257, + "à¹Īย": 125258, + "Ġارشد": 125259, + "าà¹Ģล": 125260, + "æ¯Ķè¼ĥ": 125261, + "Ġذکر": 125262, + "ĠæĿ¡": 125263, + "ÐĬ": 125264, + "ÑĥкÑĢаÑĹн": 125265, + "ÙĬÙĨات": 125266, + "ì¢ĭ": 125267, + "диÑı": 125268, + "ÏĦÏģι": 125269, + "ĠÐļаз": 125270, + "ÙĤÙĦاÙĦ": 125271, + "_,,": 125272, + "ĠÚĨت": 125273, + "ĠìĿ¼ìłķ": 125274, + "ĠÐŁÑĢоÑĦ": 125275, + "æ³Ľ": 125276, + "Ġdruhý": 125277, + "ÑĩÑĥк": 125278, + "ledik": 125279, + "Ġheyec": 125280, + "Ñĭвал": 125281, + "ĠDüny": 125282, + "ĠçĻº": 125283, + "ĠpÅĻátel": 125284, + "βάλ": 125285, + "Ġغر": 125286, + "ëĭ¨ì²´": 125287, + "ìĽ¨ëĶĶìĭľ": 125288, + "ÑĢаÑīениÑı": 125289, + "нÑĨиклопед": 125290, + "Ġpodnikatel": 125291, + "Ġìĭłìŀħ": 125292, + "ĠÙģØ±Ø¢": 125293, + "илиÑģÑı": 125294, + "Ġolumlu": 125295, + "à¥įषमत": 125296, + "ĠÙħتخصص": 125297, + "йом": 125298, + "ؤاÙĦ": 125299, + "ĠÐĿаÑĤ": 125300, + "ìĺ¤ëĬĶ": 125301, + "ĠMüdürlÃ¼ÄŁÃ¼": 125302, + "ĠHÃłnh": 125303, + "ĠسابÙĤ": 125304, + "ï¼īçļĦ": 125305, + "ĠQuý": 125306, + "ládánÃŃ": 125307, + "Ġìļ´ëıĻ": 125308, + "ĠÐĺÑħ": 125309, + "諾": 125310, + "lıģının": 125311, + "lil": 125312, + "uÄį": 125313, + "ĠÑĩемпÑĸон": 125314, + "ÑĤож": 125315, + "Ġä½Ľ": 125316, + "ниÑĨе": 125317, + "ĠпеÑĢвого": 125318, + "ĠÑģом": 125319, + "ÏĩÏİ": 125320, + "ÅĻik": 125321, + "иÑĤелÑĮÑģÑĤва": 125322, + "Ġİki": 125323, + "Ġaskeri": 125324, + "cisi": 125325, + "ĠjednÃŃm": 125326, + "Ġstanice": 125327, + "èĤ¡ç¥¨": 125328, + "à¸ľà¸¡": 125329, + "Từ": 125330, + "Å¡ak": 125331, + "ÏĦία": 125332, + "мами": 125333, + "ãģĮåĩº": 125334, + "μοί": 125335, + "маÑĶ": 125336, + "ëł¥ìĿ´": 125337, + "ãĤĦãģ£ãģ¦": 125338, + "Ġå¼µ": 125339, + "ØĮĊ": 125340, + "Ġ»Ċ": 125341, + "اجات": 125342, + "á½³": 125343, + "æĻĤãģ®": 125344, + "Ġпокол": 125345, + "ÑĸÑĤеÑĤ": 125346, + "Ġíķ´ê²°": 125347, + "Ġdedim": 125348, + "ĠÑĤвеÑĢд": 125349, + "ĠженÑīина": 125350, + "едини": 125351, + "ĠÙ¾ÛĮÚ©": 125352, + "iversite": 125353, + "ĠآسÛĮاب": 125354, + "ĠÑħаÑĢакÑĤеÑĢиÑģÑĤики": 125355, + "ĠØ£ÙĨÙĩا": 125356, + "ĠÑĥкÑĢаÑĹнÑģÑĮкоÑĹ": 125357, + "ĠاختÙĦاÙģ": 125358, + "Ġtez": 125359, + "ÏģεÏħ": 125360, + "Ġkonumu": 125361, + "ĠÑĤеÑħнÑĸ": 125362, + "мÑĸв": 125363, + "èĬ¯": 125364, + "ĠÏĥελ": 125365, + "Ä¢": 125366, + "μιÏĥ": 125367, + "ีà¹īĊ": 125368, + "Ġmne": 125369, + "ĠоÑĤвеÑĩ": 125370, + "ĠÎī": 125371, + "Ġéĩİ": 125372, + "Ġgấp": 125373, + "ĠпÑĢодÑĥкÑĤÑĭ": 125374, + "ĠСÑĢед": 125375, + "ÑĸллÑı": 125376, + "à¸ļà¸Ńà¸ģ": 125377, + "ĠtÅĻÃŃdy": 125378, + "Ġthá»ķ": 125379, + "ãĥĩãĤ£ãĤ¢": 125380, + "ÏĢοιη": 125381, + "νει": 125382, + "æĪij们çļĦ": 125383, + "Ġprofesyonel": 125384, + "ĠRakou": 125385, + "Ġвидно": 125386, + "Ġzby": 125387, + "ĠØŃاÙĦÛĮ": 125388, + "Ġé£Ł": 125389, + "ĠLÃłm": 125390, + "Ġگست": 125391, + "ĠТип": 125392, + "θι": 125393, + "ávis": 125394, + "ÙIJب": 125395, + "åı¯èĥ½æĢ§": 125396, + "ĠÑģемей": 125397, + "ãĤīãĤĮãģ¦ãģĦãĤĭ": 125398, + "ìĥģíĴĪ": 125399, + "ĠοÏħ": 125400, + "Ġà¤ħà¤Ĺस": 125401, + "олом": 125402, + "γον": 125403, + "ĠÑģвÑıÑī": 125404, + "æĵ¦": 125405, + "ÏĥÏĦηκε": 125406, + "èĢħçļĦ": 125407, + "-à¤ķ": 125408, + "ÑĤии": 125409, + "ĠвизнаÑĩеннÑı": 125410, + "åıijåĩº": 125411, + "даÑħ": 125412, + "ĠмоÑĢÑı": 125413, + "æī¾åΰ": 125414, + "ÙĦÙĪØ¨": 125415, + "èĬĻ": 125416, + "ĠÑĦакÑĤ": 125417, + "æ¯į亲": 125418, + "idlo": 125419, + "ĠStad": 125420, + "Ñįй": 125421, + "ìĽIJìĿ´": 125422, + "à¤ıन": 125423, + "æķ´ä¸ª": 125424, + "Ġfık": 125425, + "ĠÙħات": 125426, + "ÏĢον": 125427, + "Ġ경기ëıĦ": 125428, + "Ġαδ": 125429, + "Ġvzpom": 125430, + "Ġná»ĵi": 125431, + "ĠÙĨÙĤاط": 125432, + "ождение": 125433, + "ĠзалÑĸз": 125434, + "Ġrá»§i": 125435, + "è¾°": 125436, + ".:.:.:.:.:.:.:.:.:.:.:.:.:.:.:.:": 125437, + "ĠMÃľ": 125438, + "Ġkari": 125439, + "ĠÑģобÑĭ": 125440, + "ìĸ´ì§Ħ": 125441, + "رÙĬس": 125442, + "ubu": 125443, + "ĠØ®ÙĦÙģ": 125444, + "ظٹط": 125445, + "æĿī": 125446, + "ĠæĻ®éĢļ": 125447, + "ĠÙħÙĪØ§Ø·ÙĨØ©": 125448, + "ĠÑģÑĤанÑĥ": 125449, + "Ġê·¸ëħĢìĿĺ": 125450, + "ĠÙĦÙĥرة": 125451, + "Ġosm": 125452, + "ĠÑĥÑĢож": 125453, + "ега": 125454, + "Ġfelse": 125455, + "æĢĿèĢĥ": 125456, + "ãĢĮãģĪ": 125457, + "ĠновиÑħ": 125458, + "à¹IJ": 125459, + "üml": 125460, + "Ġíͼíķ´": 125461, + "ìĿ¼ë°ĺ": 125462, + "Ġtürü": 125463, + "ĠмÑĸÑģÑĤÑĸ": 125464, + "Ġkaždé": 125465, + "ĠÙħسجد": 125466, + "ấc": 125467, + "ĠÙģÚ©ÛĮ": 125468, + "Ġyasal": 125469, + "å°±ç®Ĺ": 125470, + "ĠоблиÑĩÑĩÑı": 125471, + "ĠÙĦدÙĬ": 125472, + "ابات": 125473, + "ĠÑģпаÑģ": 125474, + "êµ°ìļĶ": 125475, + "Ġпад": 125476, + "ĠбÑĢаÑĤ": 125477, + "éĩį大": 125478, + "Ġdüzenlenen": 125479, + "Gün": 125480, + "Ġaplikace": 125481, + "à¸Ńห": 125482, + "Ġçħ": 125483, + "ĠÑģоÑģÑĤоиÑĤ": 125484, + "è¯Ħä»·": 125485, + "ĠDuy": 125486, + "طاÙĤ": 125487, + "ĠпÑĢидеÑĤÑģÑı": 125488, + "Ġtolik": 125489, + "Ġobrov": 125490, + "ĠpÅĻipoj": 125491, + "ĠÄ±ÅŁÄ±": 125492, + "Ú¯ÙĪÛĮ": 125493, + "æľŁå¾ħ": 125494, + "иплом": 125495, + "Ġince": 125496, + "ĠСоб": 125497, + "енÑĮÑİ": 125498, + "è§Ĵèī²": 125499, + "Ġà¸ķร": 125500, + "Ġbại": 125501, + "Ġê°ĢëĬ¥íķľ": 125502, + "ĠblÃŃzk": 125503, + "Ġtách": 125504, + "ĠвидÑĭ": 125505, + "иÑĩна": 125506, + "Ġvyžad": 125507, + "ĠìĨIJìĿĦ": 125508, + "ĠÐĿÑĸмеÑĩ": 125509, + "åŁºäºİ": 125510, + "ĠÐļÑĢи": 125511, + "ĠعزÛĮز": 125512, + "tiler": 125513, + "евÑĸ": 125514, + "Ġmožnosti": 125515, + "باز": 125516, + "ĠìĤ¬ë§Ŀ": 125517, + "ĠzÅĻejmÄĽ": 125518, + "íŤ": 125519, + "Ġürünleri": 125520, + "Ġγλη": 125521, + "аки": 125522, + "ãĤĴéĸĭ": 125523, + "anou": 125524, + "åĽ½ãģ®": 125525, + "ĠyaÅŁanan": 125526, + "ĠÑģевеÑĢ": 125527, + "Ġæ©Ł": 125528, + "มาà¸ģมาย": 125529, + "ĠíijľíĺĦ": 125530, + "รส": 125531, + "ĠضربÙĩ": 125532, + "ĠEvet": 125533, + "æĨ¶": 125534, + "ĠدÙĤÛĮÙĤ": 125535, + "Ġвозникнов": 125536, + "ìľłë¨¸": 125537, + "Ġíijľìĭľ": 125538, + "ÛĮØ´ÙĨ": 125539, + "ãĥĹãĥ©": 125540, + "ÑĤÑİ": 125541, + "ÙĪØ³ÛĮ": 125542, + ")ìĿ´": 125543, + "è¯ģæĺİ": 125544, + "ãģ§ãģįãģ¾ãģĻ": 125545, + "ìĪĺìĿĺ": 125546, + "çĸĨ": 125547, + "ĠÙħÙģÙĩÙĪÙħ": 125548, + "оÑĩаÑĤкÑĥ": 125549, + "ालà¤ķ": 125550, + "æ¡Ĥ": 125551, + "ĠоÑħоÑĢони": 125552, + "ĠارزÛĮابÛĮ": 125553, + "ĠìµľëĮĢ": 125554, + "Ġthoải": 125555, + "ĠЦенÑĤÑĢалÑĮ": 125556, + "ĠçķĻ": 125557, + "à¸Ľà¸£à¸°à¹Ģà¸łà¸Ĺ": 125558, + "æµ·å¤ĸ": 125559, + "ĠÅŀu": 125560, + "íĻľëıĻ": 125561, + "ĠdvÄĽma": 125562, + "istrovstvÃŃ": 125563, + "Ġaracılıģıyla": 125564, + "Ġtrá»Ļn": 125565, + "»:": 125566, + "íĭ±": 125567, + "ĠÙĦÛĮÚ¯": 125568, + ".Ðļ": 125569, + "ĠÙħÙĤاÛĮسÙĩ": 125570, + "ĠвмÑĸ": 125571, + "رÙĪØ¨": 125572, + "ĠاÙĦØ´Ùħ": 125573, + "ĠdennÄĽ": 125574, + "ÑĥÑĩа": 125575, + "åħ¹": 125576, + "Ñīим": 125577, + "ĠíĬ¹íŀĪ": 125578, + "ĠاستاÙĨدارد": 125579, + "à¥Ģध": 125580, + "ãĤ¸ãĤ¢": 125581, + "à¹ĩà¹ĩ": 125582, + "иÑģÑģ": 125583, + "Ġkazanç": 125584, + "ĠzÃŃskal": 125585, + "åĽŀæĿ¥": 125586, + "ĠпÑıÑĤÑĮ": 125587, + "ĠÄijãi": 125588, + "ĠÙĪØ±Ø¯": 125589, + "Ġìķķ": 125590, + "ุà¸Ĺร": 125591, + "åĬ¨çī©": 125592, + "Ġpublik": 125593, + "æĪIJæľ¬": 125594, + "æĪIJåijĺ": 125595, + "ãĤ¤ãĤ¯": 125596, + "شرÙĥØ©": 125597, + "á¿ĨÏĤ": 125598, + "Ġyola": 125599, + "üyoruz": 125600, + "ĠкÑĥÑĢи": 125601, + "ĠпоÑħож": 125602, + "Ġìłľê°Ģ": 125603, + "ियत": 125604, + "ائÙĦØ©": 125605, + "Ġãģ¾": 125606, + "़à¥ĩà¤Ĥ": 125607, + "ÑģÑĮкими": 125608, + "âĢľä½ł": 125609, + "imizde": 125610, + "ìµľìĭł": 125611, + "Ậ": 125612, + "èŁ": 125613, + "à¸Ħรà¸Ńà¸ļ": 125614, + "ãĢĢãĢĢãĢĢĠãĢĢĠãĢĢĠãĢĢ": 125615, + "تغ": 125616, + "ĠVÅ¡ech": 125617, + "à¸±à¸Ľà¸Ķาห": 125618, + "Ġatd": 125619, + "воÑİ": 125620, + "Ġyapım": 125621, + "ologické": 125622, + "Ġплен": 125623, + "Ġlazım": 125624, + "rung": 125625, + "ìĦľê´Ģ": 125626, + "Ġjiný": 125627, + "Ġtròn": 125628, + "ĠполÑĸÑĤики": 125629, + "اÙĥÙħ": 125630, + "دÛĮگر": 125631, + "à¥Īà¤Ĥ.Ċ": 125632, + "ĠاÙĩد": 125633, + "Ġãĥį": 125634, + "ĠпÑĢодÑĥкÑĤов": 125635, + "æĤŁ": 125636, + "ĠpÅĻÃŃpadech": 125637, + "ĠzaÄįala": 125638, + "åħ¥ãĤĮ": 125639, + "ĠÑĢÑĸвнÑĸ": 125640, + "æĦŁæĥħ": 125641, + "ĠΧα": 125642, + "죽": 125643, + "ิà¸Īารà¸ĵ": 125644, + "ÂłÐ±": 125645, + "ÑĸÑĹв": 125646, + "بش": 125647, + "çļĦéĹ®é¢ĺ": 125648, + "Ġzastup": 125649, + "볤ìļĶ": 125650, + "ãģ§ãģĻãģŃ": 125651, + "âĢĮداÙĨ": 125652, + "ï¼ĮæĤ¨": 125653, + "ĠuvÄĽdom": 125654, + "ãģ¦ãĤĭ": 125655, + "ìĤ¬ëŀĮ": 125656, + "lun": 125657, + "éĽĨåIJĪ": 125658, + "ë§¹": 125659, + "Ġžid": 125660, + "à¤Ĭ": 125661, + "Ġtrp": 125662, + "лениÑħ": 125663, + "___": 125664, + "ÐľÐŀ": 125665, + "å¼ĭ": 125666, + "λÎŃον": 125667, + "ĠÄijòi": 125668, + "ĠкÑĢок": 125669, + "layıcı": 125670, + "ì¶ľìŀ¥ë§ĪìĤ¬ì§Ģ": 125671, + "åijĪ": 125672, + "éľŀ": 125673, + "ĠпоглÑıд": 125674, + "ترÙĥ": 125675, + "ĠتÙ쨧ÙĪØª": 125676, + "Ġå®®": 125677, + "ĠدÙĪØ±Ø¨ÛĮÙĨ": 125678, + "æĶ¾åľ¨": 125679, + "ĠÑģлÑĥÑĩаев": 125680, + "ĠÏħÏĢηÏģε": 125681, + "ë§ŀ": 125682, + "ãģĻãģĻ": 125683, + "ê²łëĭ¤": 125684, + "รายà¸ģาร": 125685, + "ĠÏĢÏģιν": 125686, + "ĠÑģмеÑĪ": 125687, + "å§ī": 125688, + "Ġvýsledky": 125689, + "Ġpotvr": 125690, + "åıijè¡Į": 125691, + "Ġtúi": 125692, + "ĠìĤ¬ëĿ¼": 125693, + "ç«Ļåľ¨": 125694, + "Ġjaký": 125695, + "Ġà¸ļาà¸ĩ": 125696, + "Ġdikkate": 125697, + "ĠدرآÙħد": 125698, + "æİĴåIJį": 125699, + "rálnÃŃ": 125700, + "ê³¼ìĿĺ": 125701, + "ä½µ": 125702, + "олаг": 125703, + "isiyle": 125704, + "Ġæ½": 125705, + "Ġतम": 125706, + "Ġdij": 125707, + "Ġnhánh": 125708, + "ĠRek": 125709, + "设æĸ½": 125710, + "ĠpodmÃŃnek": 125711, + "å¹¶ä¸į": 125712, + "кÑĥÑĤ": 125713, + "Ġê³łëł¤": 125714, + "çļĦå£°éŁ³": 125715, + "æĪĺäºī": 125716, + "даÑı": 125717, + "Ġê´Ģìĭ¬": 125718, + "ĠÑĦÑĸнанÑģ": 125719, + "ĠKöy": 125720, + "Ġжал": 125721, + "ĠÑģлÑĥжби": 125722, + "мена": 125723, + "تÙĬار": 125724, + "ĠÑĩемпион": 125725, + "ÏĢιÏĥ": 125726, + "landırma": 125727, + "maktan": 125728, + "Ġ丶": 125729, + "à¹Īà¸Ńส": 125730, + "ĠmÃ¼ÅŁteri": 125731, + "ĠصÙĨد": 125732, + "Ġetmesi": 125733, + "ĠпоÑĢÑĤ": 125734, + "νονÏĦαι": 125735, + "Ġãħĭãħĭ": 125736, + "ĠKAR": 125737, + "Ġuch": 125738, + "ĠØ®ÙĦÙĤ": 125739, + "าษà¸İร": 125740, + "æŃ¡": 125741, + "Ġимени": 125742, + "ãģłãģijãģ©": 125743, + "Ġìĭ¤ìĭľ": 125744, + "ÏĥÏīÏĢ": 125745, + "Ġì£": 125746, + "tÄĽÅ¾": 125747, + "Ġözellikleri": 125748, + "Ġبپ": 125749, + "ĠизобÑĢаж": 125750, + "ÙĬÙħÙĥÙĨ": 125751, + "ĠãĥĶ": 125752, + "ĠÐĶив": 125753, + "ĠØ¥ÙĬ": 125754, + "ÙĥÙĬÙĦ": 125755, + "ĠÅŁik": 125756, + "Ġà¤Ĩà¤ĸ": 125757, + "larınızı": 125758, + "ĠвÑĸдÑĢÑĸз": 125759, + "ĠÑĢобоÑĤа": 125760, + "Ġtarif": 125761, + "ĠاÙĪØª": 125762, + "ınma": 125763, + "é£Łãģ¹": 125764, + "ĠuzavÅĻ": 125765, + "룸": 125766, + "çĽijçĿ£": 125767, + "Ġ:ï¼¼": 125768, + "θÏħν": 125769, + "à¸Ķร": 125770, + "alarından": 125771, + "èĩªæĭį": 125772, + "ĠroÄįnÃŃ": 125773, + "ाà¤ĩव": 125774, + "ĠÙĥÙĪØ±": 125775, + "ĠÏĦαιν": 125776, + "ĠÑĸндив": 125777, + "rve": 125778, + "ĠνεÏĨÏİÏĥειÏĤ": 125779, + "Ġbá»ijn": 125780, + "Ġå¿«": 125781, + "ĠÑģолÑĮ": 125782, + "liÄŁinde": 125783, + "à¤¿à¤¨à¤Ł": 125784, + "ahtar": 125785, + "ĠnebezpeÄį": 125786, + "æĹ¢çĦ¶": 125787, + "ĠëĮĢìłĦ": 125788, + "ĠÙĨÚ¯ÙĩدارÛĮ": 125789, + "ĠzÃŃskat": 125790, + "ĠналиÑĩие": 125791, + "Ġaks": 125792, + "ï¼īãĢĤĊĊ": 125793, + "Ġrodiny": 125794, + "ĠзаÑħÑĸд": 125795, + "å¾®ç¬ij": 125796, + "ÂłÐĶа": 125797, + "radu": 125798, + "īnh": 125799, + "ples": 125800, + "ĠKons": 125801, + "ิà¹Ĥล": 125802, + "ĠاÙĦÙĪØµ": 125803, + "åIJ¬åΰ": 125804, + "ĠÑģпоÑĢÑĤив": 125805, + "ĠÑģайÑĤе": 125806, + "Ġاظ": 125807, + "larındaki": 125808, + "Ġtá»ķn": 125809, + "ÐĿÐĨ": 125810, + "Ġnedost": 125811, + "ĠÑĤоÑĢгÑĸв": 125812, + "ĠاÛĮت": 125813, + "Ġاختصاص": 125814, + "ĠÃľy": 125815, + "ĠSadece": 125816, + "ĠÙħخرÙĪØ·": 125817, + "Äģn": 125818, + "çesi": 125819, + "ĠçĬ": 125820, + "ãĤĤãģ£ãģ¨": 125821, + "ĠéŁĵ": 125822, + "èµĸ": 125823, + "ĠполÑĥÑĩениÑı": 125824, + "Ġëĺ": 125825, + "âĢĻÑĹ": 125826, + "bÃŃr": 125827, + "ĠбÑĸблÑĸ": 125828, + "ĠDá»±": 125829, + "женеÑĢ": 125830, + "ç½ijåĪĬ": 125831, + "Ġà¤²à¥ľà¤ķ": 125832, + "ĠÑĥÑĩнÑĸв": 125833, + "èΰ": 125834, + "ĠÃĸÄŁren": 125835, + "Ġola": 125836, + "Ġ।âĢĿĊĊ": 125837, + "ระà¹Ģà¸ļ": 125838, + "á½²": 125839, + "Ġرز": 125840, + "еи": 125841, + "ÑıÑĩи": 125842, + "ØŃب": 125843, + "æĴ¤": 125844, + "ãģ¾ãģŁãģ¯": 125845, + "бина": 125846, + "ĠγεÏģ": 125847, + "ĠоÑĤноÑģиÑĤÑģÑı": 125848, + "åīįçļĦ": 125849, + "Ġšť": 125850, + "Ġyılda": 125851, + ":::::|": 125852, + "ustil": 125853, + "اÙĦØ¥": 125854, + "ĠsouÄįasné": 125855, + "ĠÙĨÛĮرÙĪÛĮ": 125856, + "ÑĩеÑģкое": 125857, + "ظÙģ": 125858, + "ĠÙ¾ÛĮØ´ÛĮÙĨÙĩ": 125859, + "ĠعÙ쨴": 125860, + "Ġrostlin": 125861, + "ç½ijåĪĬä¸ĭ载次æķ°": 125862, + "ĠпÑĢигоÑĤовиÑĤÑĮ": 125863, + "ãĥĮ": 125864, + "ĠÙĪÙħع": 125865, + "Ġbecer": 125866, + "ĠãĤ±": 125867, + "ÏĩήÏĤ": 125868, + "оÑģÑĤÑĥп": 125869, + "Ġ밾매": 125870, + "Ñĸйного": 125871, + "Ġhrd": 125872, + "ĠпÑĢепаÑĢаÑĤÑĭ": 125873, + "ĠÙģØ±Ø¶": 125874, + "ĠTyto": 125875, + "ĠкÑĢаÑĹн": 125876, + "Ġزاد": 125877, + "Ġiktidar": 125878, + "ì§ĵ": 125879, + "Ùijر": 125880, + "ÑĢÑıдÑĥ": 125881, + "кÑĸй": 125882, + "âĶ£": 125883, + "Ġкожи": 125884, + "ĠتازÙĩ": 125885, + "obec": 125886, + "inae": 125887, + "Ġvyjád": 125888, + "ĠرÙģØªÙĩ": 125889, + "Що": 125890, + "ĠBylo": 125891, + "оÑĤв": 125892, + "ĠденÑĮги": 125893, + "é§Ĩ": 125894, + "ĠмаÑĪин": 125895, + "Ġأج": 125896, + "ì´Īëĵ±íķĻêµIJ": 125897, + "dıģında": 125898, + "баÑģ": 125899, + "Ġæł¹": 125900, + "ÎijÎĿΤ": 125901, + "ÙĴØŃ": 125902, + "Ġjejichž": 125903, + "ìĹIJìĦľìĿĺ": 125904, + "Ġадже": 125905, + "Ġìı": 125906, + "ÏĥοÏħ": 125907, + "etleri": 125908, + "ĠبعدÛĮ": 125909, + "ĠìŀIJëıĻì°¨": 125910, + "ิà¸įà¸į": 125911, + "Ġtisk": 125912, + "ãĥ¼ãĤ¹ãĥĪ": 125913, + "Ġमतलब": 125914, + "ê³Ħíļį": 125915, + "ãĤ¦ãĥĪ": 125916, + "Ġà¹Ģมà¸ķร": 125917, + "Ġopsiyon": 125918, + "ĠÑĢавно": 125919, + "ĠبÛĮÙħÙĩ": 125920, + "Ġ먼ìłĢ": 125921, + "иÑĤелÑĮнÑĭм": 125922, + "ĠнÑĸби": 125923, + "ĠдеÑģÑıÑĤ": 125924, + "ĠÑģиÑĤÑĥаÑĨии": 125925, + "еÑĢÑĪе": 125926, + "ľ": 125927, + "ุà¸ķร": 125928, + "Ġyönetimi": 125929, + "éIJĺ": 125930, + "ĠÙħÛĮتÙĪØ§ÙĨ": 125931, + "ĠزÙĨدÙĩ": 125932, + "ãĥŃãĥ³": 125933, + "ĠKBS": 125934, + "ìĦľë¹ĦìĬ¤": 125935, + "ï»ł": 125936, + "eckého": 125937, + "ĠÙĤابÙĦÛĮت": 125938, + "ãĢĤä»Ĭ": 125939, + "ÃŃnÄĽ": 125940, + "ĠÑģмог": 125941, + "ĠÑģлÑĭÑĪ": 125942, + "ÙĴÙģ": 125943, + "poÅĻád": 125944, + "елÑĮно": 125945, + "ĠείÏĩαν": 125946, + "-ÐŁÐµÑĤеÑĢб": 125947, + "ĠChiến": 125948, + "éry": 125949, + "ĠÑĸнÑģÑĤиÑĤÑĥÑĤ": 125950, + "ç»Ĩèĥŀ": 125951, + "ÑĭÑŁN": 125952, + "Ġvua": 125953, + "Ġà¤ħश": 125954, + "ÑĢоÑģÑĤо": 125955, + "ĠvůÄįi": 125956, + "ë¿IJ": 125957, + "Ġliá»ĩt": 125958, + "Ġíķµ": 125959, + "ĠاÙ쨱": 125960, + "ĠTeknik": 125961, + "Ġroli": 125962, + "ĠпопÑĭÑĤ": 125963, + "аÑĤкÑĸв": 125964, + "Ġüniversit": 125965, + "аÑĤоÑĢÑĭ": 125966, + "ÑİÑīиÑħÑģÑı": 125967, + "Ġتض": 125968, + "лÑİÑĩаеÑĤÑģÑı": 125969, + "Ġíĸīë³µ": 125970, + "Ġayrıntılı": 125971, + "ĠкиÑĢп": 125972, + "æĭ¼": 125973, + "ëģĶ": 125974, + "лаÑĤа": 125975, + "Ġkhoán": 125976, + "Ġhâlâ": 125977, + "ÏĥÏħ": 125978, + "оглаÑģ": 125979, + "æİ¥çĿĢ": 125980, + "éĿ©åij½": 125981, + "ĠpÅĻeb": 125982, + "à¹Ģà¸īล": 125983, + "ĠاÙĦÙħÙĦÙĦÛĮ": 125984, + "åłĨ": 125985, + "íıIJ": 125986, + "à¸ķลà¸Ńà¸Ķ": 125987, + "°С": 125988, + "ìĤ¬ëŀij": 125989, + "Ġгиб": 125990, + "ë²Ī째": 125991, + "æĶ¹åıĺ": 125992, + "表çݰ": 125993, + "иÑĩеÑģким": 125994, + "สมà¹Ģà¸Ķ": 125995, + "å±ħæ°ij": 125996, + "ÂĽ": 125997, + "ĠìķĦìĿ´ëĶĶ": 125998, + "ĠмеждÑĥнаÑĢод": 125999, + "Ġyem": 126000, + "Ġmül": 126001, + "ĠاÛĮست": 126002, + "Ġãĥ´": 126003, + "ัà¸Ļà¹Ħà¸Ķ": 126004, + "à¥Ģण": 126005, + "åħ¶å®ŀ": 126006, + "Ġgelenek": 126007, + "ë¶ģëıĦ": 126008, + "à¹īาà¸ķ": 126009, + "Ġìī¬": 126010, + "ĠÏĢÎŃ": 126011, + "ĠÙĥاÙħÙĦ": 126012, + "ĠتعÙħÛĮر": 126013, + "訴": 126014, + "ë¹Ļ": 126015, + "iyim": 126016, + "å°¿": 126017, + "éĤ£æł·": 126018, + "êµŃìĿĺ": 126019, + "ãģĹãģ¦ãģĬãĤĬ": 126020, + "Ġniž": 126021, + "Ġκον": 126022, + "à¹Īาà¸Ń": 126023, + "Ġγε": 126024, + "ĠСевеÑĢ": 126025, + "ediálnÃŃ": 126026, + "ãģŁãģ¡ãģ®": 126027, + "mayacak": 126028, + "ÑĻ": 126029, + "ĠÑĥгл": 126030, + "Ġkapas": 126031, + "ÑĥвалиÑģÑı": 126032, + "ĠмеÑģÑıÑĨа": 126033, + "ữu": 126034, + "ิลล": 126035, + "ãĤĪãĤĬãĤĤ": 126036, + "à¥ĩण": 126037, + "Ġ客": 126038, + "ĠdeÄŁerli": 126039, + "ÙĪØ§Ø²": 126040, + "ีà¸Ńย": 126041, + "ĠåıĪ": 126042, + "Ġà¸Ķร": 126043, + "ĠÙĨاب": 126044, + "ĠتÙĦÙĪÛĮزÛĮÙĪÙĨ": 126045, + "Ġolanlar": 126046, + "ä¼ĺç§Ģ": 126047, + "ÙĥاÙĦ": 126048, + "ĠдеÑģÑıÑĤи": 126049, + "mán": 126050, + "ĠÑĢанÑĮ": 126051, + "Ġìłľì¶ľ": 126052, + "è³¢": 126053, + "або": 126054, + "Ġtechnik": 126055, + "ĠKiá»ĥm": 126056, + "teki": 126057, + "á¹": 126058, + "ĠmnÄĽ": 126059, + "Ġê³µê°Ħ": 126060, + "ĠMek": 126061, + "ĠاعتÙħاد": 126062, + "à¹Įà¹Ħà¸Ķ": 126063, + "εÏģÏĮ": 126064, + "ĠÑĥдаÑĢ": 126065, + "оÑĩÑĮ": 126066, + "æ¦Ĥ念": 126067, + "ÑĢал": 126068, + "алÑĮнÑĭми": 126069, + "à¥ģरस": 126070, + "ráci": 126071, + "ĠÙĤÙĪÙĦ": 126072, + "Ġदव": 126073, + "ĠпÑĢавда": 126074, + "Ġå¿ħ": 126075, + "Ġdosud": 126076, + "нÑĥÑĤÑĮÑģÑı": 126077, + "NÄĥm": 126078, + "à¸ĺà¸Ļ": 126079, + "Ġdokun": 126080, + "Ġåľ¨çº¿": 126081, + "ูà¹Ħ": 126082, + "ụy": 126083, + "ĠновÑĭÑħ": 126084, + "Ġmezun": 126085, + "ĠCần": 126086, + "à¸ģารà¸ŀ": 126087, + "ĠìĺĪìłķ": 126088, + "Ïĥή": 126089, + "à¹Īà¸Ļà¹Ģà¸ģม": 126090, + "ĠÙĪØ§ÙĦس": 126091, + "ãĥ³ãĥĨãĤ£": 126092, + "çľĭè§ģ": 126093, + "ĠساÙĦÙħ": 126094, + "ĠбагаÑĤÑĮоÑħ": 126095, + "ĠÄijÃłi": 126096, + "ĠدستÛĮ": 126097, + "à¸ŀà¸Ń": 126098, + "епÑĤи": 126099, + "ĠìłĦíĻĶ": 126100, + "æĻĤãģ«": 126101, + "ĠSeznam": 126102, + "мÑĸнÑĥ": 126103, + ";?#": 126104, + "à¥Ģसर": 126105, + "ĠÚĨÛĮست": 126106, + "νοια": 126107, + "ัà¸Ļà¸Ń": 126108, + "Ġà¸Ħำ": 126109, + "Ġë³´íĺ¸": 126110, + "Ġiddia": 126111, + "Ġβιβ": 126112, + "é«ĺä¸Ń": 126113, + "Ù¨": 126114, + "ÐĴаж": 126115, + "ĠиÑģполн": 126116, + "ÑĪÑĤов": 126117, + "ĠTaÅŁ": 126118, + "ìĽħ": 126119, + "åĬ¹": 126120, + "Ġåıĥ": 126121, + "Ġprostoru": 126122, + "ĠÑģпад": 126123, + "еÑĢина": 126124, + "ĠpÅĻeklad": 126125, + "Å¡ov": 126126, + "ĠÙģÙĩÙħ": 126127, + "æĬij": 126128, + "Ġابتدا": 126129, + "ãĤĴãģĬ": 126130, + "likler": 126131, + "ĠÙħاÙĥ": 126132, + "Ġkonut": 126133, + "ĠداÙĨشجÙĪÛĮ": 126134, + "ĠопÑĤим": 126135, + "ĠбÑĥма": 126136, + "ĠлÑİдÑıм": 126137, + "ĠлÑĸка": 126138, + "ĠÑĢозповÑĸд": 126139, + "nesenÃŃ": 126140, + "Ġà¸łà¸²à¸ŀ": 126141, + "иÑĩний": 126142, + "اطÙĦ": 126143, + "ÑİÑīими": 126144, + "ãģıãģ¨": 126145, + "éѝ": 126146, + "ĠجÙĨسÛĮ": 126147, + "ÐĺТ": 126148, + "रल": 126149, + "ĠÚ©ÙĪØ¯Ú©": 126150, + "олиÑĤ": 126151, + "ĠÑģÑĤÑĢÑĥкÑĤÑĥÑĢ": 126152, + "vekili": 126153, + "Ġबय": 126154, + "ĠgelmiÅŁ": 126155, + "िरफ": 126156, + "ĠнайкÑĢа": 126157, + "ĠÐĶжон": 126158, + "ĠãĥĹãĥŃ": 126159, + "ĠyaÅŁlı": 126160, + "ĠkarÄ±ÅŁtır": 126161, + "ĠvÄĽtÅ¡inou": 126162, + "Ġvazgeç": 126163, + "à¹īาà¸Ħ": 126164, + "lendirme": 126165, + "Ġç¨ĭ": 126166, + "说è¯Ŀ": 126167, + "ĠíķĦìļĶíķľ": 126168, + "aÅĻilo": 126169, + "ĠležÃŃ": 126170, + "ĠAmerikan": 126171, + "ãĤĦãģĻ": 126172, + "vajÃŃcÃŃ": 126173, + "ÐĿЯ": 126174, + "ĠìĹĦë§Ī": 126175, + "Ġåĥ": 126176, + "rál": 126177, + "Ġçay": 126178, + "tuÄŁ": 126179, + "ุà¸įาà¸ķ": 126180, + "ĠÑģлив": 126181, + "νοÏħ": 126182, + "ĠOv": 126183, + "ĠCHP": 126184, + "ĠZemÄĽ": 126185, + "ĠÄįeský": 126186, + "ĠThánh": 126187, + "иÑĤелÑĮноÑģÑĤÑĮ": 126188, + "æĦıä¹ī": 126189, + "à¥įरमण": 126190, + "ĠдиамеÑĤ": 126191, + "Ġklin": 126192, + "ĠکرÛĮ": 126193, + "ãģ§ãģ¯ãģªãģı": 126194, + "飯åºĹ": 126195, + "Ġkênh": 126196, + "ĠÑĢанÑĮÑĪе": 126197, + "ãĤĴãģĹãģŁ": 126198, + "ĠпÑĢибоÑĢ": 126199, + "Ġà¤ĸतर": 126200, + "Ġyu": 126201, + "é§IJ": 126202, + "ĠÑĢабо": 126203, + "ĠÐ¡ÐłÐ¡Ðł": 126204, + "èĬ¬": 126205, + "žila": 126206, + "еÑĢÑĤа": 126207, + "иÑģÑĤÑĢа": 126208, + "Ġкниги": 126209, + "ĠFrancie": 126210, + "ĠÚĺØ§Ù¾": 126211, + "ĠÎļοÏħ": 126212, + "ัวà¹Ģà¸Ńà¸ĩ": 126213, + "Ġlắng": 126214, + "Ġнами": 126215, + "Ġподой": 126216, + "дÑĢом": 126217, + "obus": 126218, + "ÐĴÑĸн": 126219, + "Ġstalo": 126220, + "Ġà¤ıà¤ľ": 126221, + "ĠLinh": 126222, + "ebiliriz": 126223, + "ĠзавÑĤÑĢа": 126224, + "μεÏģο": 126225, + "ĠÎŃν": 126226, + "ÑıÑĤно": 126227, + "ĠдоÑĢож": 126228, + "åıĤçħ§": 126229, + "Ïĥιο": 126230, + "à¹īà¹Ģà¸ģ": 126231, + "aných": 126232, + "ç·ł": 126233, + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ": 126234, + "åĬĽçļĦ": 126235, + "ĠSır": 126236, + "Ġì§ĢëıĦ": 126237, + "ç·Ĭ": 126238, + "ĠpoÄįtu": 126239, + "ï¼Įä¸İ": 126240, + "ä¸ĸç´Ģ": 126241, + "емого": 126242, + "Ġhusus": 126243, + "Ġölçüde": 126244, + "Ġtrục": 126245, + "à¸Ľà¸¥à¸Ńà¸Ķà¸ł": 126246, + "ÂłpÅĻÃŃ": 126247, + "ĠBölgesi": 126248, + "мом": 126249, + "ãģ«ãģ¦": 126250, + "Ġ쪽ì§Ģ": 126251, + "ÄĽtÅ¡": 126252, + "ĠìĦ±ê³µ": 126253, + "रत": 126254, + "urdu": 126255, + "ĠìĽĢì§ģ": 126256, + "ÑŁÐŃ": 126257, + "nÃŃkem": 126258, + "ĠskuteÄįnosti": 126259, + "ĠдаÑĤ": 126260, + "neum": 126261, + "ĠÑĤаблеÑĤ": 126262, + "jvu": 126263, + "Ġsedm": 126264, + "سÙĬØ©": 126265, + "ĠкоÑĢоб": 126266, + "emmel": 126267, + "ãģ¤ãģij": 126268, + "é¦Ļèķī": 126269, + "ĠشخصÛĮت": 126270, + "ä¸ĬäºĨ": 126271, + "ÙĪØ±Ø§": 126272, + "ĠаÑĤмоÑģ": 126273, + "Ġлей": 126274, + "Ġzprav": 126275, + "Ġëķħ": 126276, + "ูà¸Ĺ": 126277, + "Ġاسر": 126278, + "ĠAydın": 126279, + "ĠعÙħÙĦÙĬØ©": 126280, + "ĠдÑĸÑĶ": 126281, + "Ġdök": 126282, + "Ġफल": 126283, + "ĠìĤ¬ëŀĮëĵ¤ìĿ´": 126284, + "ĠнаÑĤÑĥÑĢалÑĮ": 126285, + "æŁľ": 126286, + "温度": 126287, + "Ġkles": 126288, + "ĠинвеÑģÑĤи": 126289, + "süz": 126290, + "æĴ°": 126291, + "ĠãĤ¢ãĥ«": 126292, + "ĠèĴ": 126293, + "адки": 126294, + "ĠklÃŃÄį": 126295, + "Ïĩεί": 126296, + "ĠThiết": 126297, + "ĠسرÛĮع": 126298, + "ĠÏĢεÏģιοÏĩή": 126299, + "ÙĪÙĤÙģ": 126300, + "ÏģÏīÏĥη": 126301, + "ĠسÙĦاÙħت": 126302, + "ëĵ¤ëıĦ": 126303, + "ĠveÅĻejné": 126304, + "Ġvitam": 126305, + "ĠبازÛĮگر": 126306, + "ĠÑĢеÑĨепÑĤ": 126307, + "ĠìľĦíķ´ìĦľ": 126308, + "ĠØ£Ùĥبر": 126309, + "Ġküt": 126310, + "민주": 126311, + "Ġtéž": 126312, + "Ġå¼ķ": 126313, + "ÑĩаÑģно": 126314, + "çļĦåľ°": 126315, + "Ġarchitekt": 126316, + "ĠбакÑĤеÑĢ": 126317, + "Ġãģį": 126318, + "ĠодеÑĢж": 126319, + "ĠتجارÛĮ": 126320, + "éĿĪ": 126321, + "Ġrecep": 126322, + "é©¶": 126323, + "ĠدÙĩÙĩ": 126324, + "è²Į": 126325, + "çµIJå©ļ": 126326, + "ılıç": 126327, + "ãģĭãĤīãģ¯": 126328, + "å¿ĥéĩĮ": 126329, + "æĬķè³ĩ": 126330, + "è²Ŀ": 126331, + "ĠкÑĥлÑĮÑĤÑĥÑĢÑĭ": 126332, + "Ġå°ij": 126333, + "à¹ģà¸ŀร": 126334, + "γκÏĮ": 126335, + "arım": 126336, + "ĠاساسÛĮ": 126337, + "ĠposlednÃŃch": 126338, + "ĠÙħÙħÙĨ": 126339, + "ĠпозиÑĤив": 126340, + "ìł¤": 126341, + "ÑĥвавÑģÑı": 126342, + "Ġجزئ": 126343, + "ìĿ´ìŀIJ": 126344, + "ĠинÑģÑĤÑĢÑĥк": 126345, + "Ġηλεκ": 126346, + "Ġdemir": 126347, + "ä¸ŃæĸĩåŃĹå¹ķ": 126348, + "ĠعاشÙĤ": 126349, + "ĠباÙĦÙĤ": 126350, + "Ġmaz": 126351, + "άνι": 126352, + "ĠdÃ¼ÄŁ": 126353, + "ĠκÏģα": 126354, + "ĠбÑĥдÑĤо": 126355, + "ç¦ıåĪ©": 126356, + "ĠпÑĢедназнаÑĩ": 126357, + "ÙħÙĦØ©": 126358, + "ĠбÑĥдинкÑĥ": 126359, + "Å¥an": 126360, + "íķĢ": 126361, + "ç´¹ä»ĭ": 126362, + "کز": 126363, + "ĠкаÑĦед": 126364, + "ãģ«è¦ĭ": 126365, + "าà¸ķรà¸IJาà¸Ļ": 126366, + "ë¡ľëĬĶ": 126367, + "ivÄĽ": 126368, + "èĥ½æºIJ": 126369, + "ï¼Įåħ¨": 126370, + "ĠÑĥдив": 126371, + "Ġë§ĮëĤĺ": 126372, + "ÐĴÐIJ": 126373, + "ĠGür": 126374, + "ĠдÑĢÑĥгим": 126375, + "ÏĥÏį": 126376, + "ĠoÄŁlu": 126377, + "Ġê°Ģê¹Į": 126378, + "ĠзнаÑĩиÑĤелÑĮно": 126379, + "озÑĸ": 126380, + "Ġmá»±c": 126381, + "ĠBeÅŁ": 126382, + "Ġjezd": 126383, + "ávÄĽ": 126384, + "ÏĦηÏĥε": 126385, + "ãģ¦ãģĦãģªãģĦ": 126386, + "ĠСвÑıÑĤ": 126387, + "Ġमश": 126388, + "ĠΤοÏħ": 126389, + "声ãĤĴ": 126390, + "ĠÑģамое": 126391, + "ĠåĮº": 126392, + "ĠìĤ¬ëŀĮìĿĢ": 126393, + "ĠÙħÙĦت": 126394, + "Ġjoker": 126395, + "Ġneob": 126396, + "ĠÑĤака": 126397, + "ĠÙĩÙģØª": 126398, + "Ġδεδο": 126399, + "ĠзаÑħоп": 126400, + "ĠاÙĦÙħخت": 126401, + "езда": 126402, + "Ġíķľë²Ī": 126403, + "ĠعاÙħØ©": 126404, + "Ġdostate": 126405, + "Ġplav": 126406, + "楽ãģĹ": 126407, + ".;.;.;.;": 126408, + "ваÑĶ": 126409, + "Ġbụi": 126410, + "ĠÄijỡ": 126411, + "ĠmyslÃŃ": 126412, + "ĠÙĨار": 126413, + "Ġnút": 126414, + "Ġмала": 126415, + "ΤΡ": 126416, + "ĠاÙĦرÙħزÙĬØ©": 126417, + "ladım": 126418, + "ä¸Ģç·Ĵ": 126419, + "ĠiÅŁÃ§": 126420, + "livé": 126421, + "르ê²Į": 126422, + "аннаÑı": 126423, + "ظËĨØ·": 126424, + "Ġdừng": 126425, + "ÙĦÙĥتر": 126426, + "çŃĶæ¡Ī": 126427, + "ĠÙħÙĪÙĤعÛĮت": 126428, + "ĠÑĸнозем": 126429, + "ĠиÑģÑĩ": 126430, + "ĠнепÑĢавилÑĮ": 126431, + "bakan": 126432, + "ĠçīĪ": 126433, + "еннÑİ": 126434, + "à¸ĩà¹Ģศ": 126435, + "à¸Ħวามà¸Ħ": 126436, + "%.Ċ": 126437, + "à¹Īà¹Ģà¸Ľ": 126438, + "ĠآبÛĮ": 126439, + "Ġstáty": 126440, + "ĠترتÛĮب": 126441, + "Äįemž": 126442, + "Ġé¹": 126443, + "ĠÙ쨧ÙĦ": 126444, + "Ġbelirlen": 126445, + "ĠâĨĺ": 126446, + "èĩ³å°ij": 126447, + "ĠBunlar": 126448, + "Ġä¸ĵ": 126449, + "ĠÙħØŃاس": 126450, + "ĠìĦľë²Ħ": 126451, + "Ġcanh": 126452, + "ĠпÑĢоÑĤÑıж": 126453, + "ĠнÑĸмеÑĨÑĮ": 126454, + "à¥Īà¤łà¤ķ": 126455, + "ëĭī": 126456, + "ĠнанеÑģ": 126457, + "ĠвозÑĢаÑģÑĤа": 126458, + "Ġ[â̦]Ċ": 126459, + ".à¸ŀ": 126460, + "ิศาสà¸ķร": 126461, + "çģ½": 126462, + "ê°ĻìĿĢ": 126463, + "ลà¸ĩà¸Ĺ": 126464, + "ãĤ±ãĥ¼ãĤ¹": 126465, + "ĠãĤ¢ãĤ¤": 126466, + "ÑģÑİ": 126467, + "ĠÙĦر": 126468, + "ãģĭãģ£ãģ¦": 126469, + "Ġ기ë°ĺ": 126470, + "Ġ!:": 126471, + "ĠÑģÑĬ": 126472, + "ĠØ´ÙĨاسÛĮ": 126473, + "ĠìķĦ침": 126474, + "Ġعباس": 126475, + "Ġà¸ķà¸Ńà¸Ļ": 126476, + "ĠмеÑĤалли": 126477, + "ÑĪила": 126478, + "Ġpodrob": 126479, + "ÑĸÑģно": 126480, + "Ġ赤": 126481, + "ciler": 126482, + "ozem": 126483, + "ĠоÑģновнÑĭÑħ": 126484, + "Âłà¤ķ": 126485, + "à¸ĸà¸Ļà¸Ļ": 126486, + "анÑĤаж": 126487, + "ĠDÃŃky": 126488, + "ĠگذارÛĮ": 126489, + "æľºä¼ļ": 126490, + "οÏħλίοÏħ": 126491, + "оÑĩек": 126492, + "ĠнапиÑĤ": 126493, + "ĠبÛĮشترÛĮ": 126494, + "ä¾į": 126495, + "ĠاÙĦÙħÙħ": 126496, + "ÙĪØ²ÙĬع": 126497, + "Ġgözlem": 126498, + "è°ĥæķ´": 126499, + "Âłmiles": 126500, + "Ġkoc": 126501, + "ัà¸įห": 126502, + "æ³³": 126503, + "ĠÎijγγ": 126504, + "ĠÙĨÙħاز": 126505, + "ุà¸Ĺ": 126506, + "ãĥıãĤ¤": 126507, + "Ġthù": 126508, + "кÑĥлÑı": 126509, + "ĠпÑĥÑĤем": 126510, + "èĩºçģ£": 126511, + "Ġvergi": 126512, + "åł´åIJĪãģ¯": 126513, + "ĠÑĤÑĢÑĮоÑħ": 126514, + "Ġë³´ë©´": 126515, + "âĸ²": 126516, + "Ïħγ": 126517, + "ĠдоÑĤÑĢим": 126518, + "æľµ": 126519, + "ĠumÄĽnÃŃ": 126520, + "èī¯ãģĦ": 126521, + "Âłà¸Ļาà¸ĩ": 126522, + "ÐİÑĭÑŁN": 126523, + "ä¸ī个": 126524, + "ียรà¸ķ": 126525, + "ï¼ĮåIJĮæĹ¶": 126526, + "ĠÑĢозÑĢаÑħÑĥн": 126527, + "ĠDers": 126528, + "ãģªãģ®": 126529, + "Ġ그를": 126530, + "dikleri": 126531, + "Ġhayata": 126532, + "è§ĦèĮĥ": 126533, + "ç»ĵåIJĪ": 126534, + "Ġscé": 126535, + "ĠcÆ¡m": 126536, + "åѸéĻ¢": 126537, + "ĠÐĦв": 126538, + "ĠÄįlánek": 126539, + "ĠдоÑģÑĤиг": 126540, + "ाà¤ĩस": 126541, + "εÏħÏĥη": 126542, + "éģ©ç͍": 126543, + "Ïĥον": 126544, + "ılmaktadır": 126545, + "ëªħìĿĦ": 126546, + "ıb": 126547, + "ĠstarÅ¡ÃŃ": 126548, + "ĠchÃŃn": 126549, + "ä¸Ģ个人": 126550, + "ĠFrantiÅ¡ek": 126551, + "nÄĽji": 126552, + "ﻨ": 126553, + "ĠÙĦÙĦد": 126554, + "Ġpokoj": 126555, + "Ġjih": 126556, + "ãĢįãĢĤ": 126557, + "ĠعبداÙĦ": 126558, + "ãĤĵãģ§ãģĦãĤĭ": 126559, + "ĠмоделÑĮ": 126560, + "ĠteÅŁkil": 126561, + "ĠÄĮer": 126562, + "à¹Ģà¸Ķà¸Ńร": 126563, + "'na": 126564, + "λογή": 126565, + "Ġkola": 126566, + "ãĥĢãĥ¼": 126567, + "иÑĤелем": 126568, + "ĠÏĥÏħνο": 126569, + "ĠKurum": 126570, + "Ġsnadno": 126571, + "ĠاÙĦÙĤرآÙĨ": 126572, + "ĠVá»ģ": 126573, + "é«ĺãģĦ": 126574, + "Ġyıldız": 126575, + "Ġbirisi": 126576, + "Ġkhúc": 126577, + "ÙĪÛĮÙĦ": 126578, + "æľĢä½³": 126579, + "Ġสาà¸Ĥ": 126580, + "ĠÐŁÐ¾Ðº": 126581, + "âīł": 126582, + "à¹Ĥà¸Ľà¸£à¹ģà¸ģรม": 126583, + "à¥įययन": 126584, + "èij¡": 126585, + "ĠnovÄĽ": 126586, + "ayıp": 126587, + "ĠSingap": 126588, + "è°ĵ": 126589, + "ãĤ¶ãĤ¤ãĥ³": 126590, + "ĠновÑĭе": 126591, + "Ġhảo": 126592, + "ĠèŤ": 126593, + "ãĥ³ãĥĸ": 126594, + "ÂłĊĊ": 126595, + "θεια": 126596, + "Ġпопада": 126597, + "ĠëĶĶìŀIJìĿ¸": 126598, + "ĠداشتÙĨد": 126599, + "ĠØ´ÙĨاختÙĩ": 126600, + "ÏĥμαÏĦα": 126601, + "å¹³æĸ¹åħ¬éĩĮ": 126602, + "Ġgöl": 126603, + "екоÑĤоÑĢ": 126604, + "Ġmálo": 126605, + "ĠاجازÙĩ": 126606, + "کاراÙĨ": 126607, + "ĠпÑĸдпÑĢиÑĶмÑģÑĤв": 126608, + "ä¸īå¹´": 126609, + "ĠسÙģÛĮد": 126610, + "ĠμÎŃÏģοÏĤ": 126611, + "ÐĻÐĻ": 126612, + "Ġhư": 126613, + "سÙĪØ¨": 126614, + "ĠÙĦذا": 126615, + "Ġnemovit": 126616, + "ĠdÃŃv": 126617, + "İs": 126618, + "¶¶": 126619, + "Ġphưá»Ŀng": 126620, + "ĠÙĨØŃÙĪÙĩ": 126621, + "Ðĭ": 126622, + "Ġzbyt": 126623, + "edii": 126624, + "nech": 126625, + "ĠадмÑĸнÑĸÑģÑĤÑĢаÑĤив": 126626, + "ĠnevÄĽ": 126627, + "Ġож": 126628, + "ĠÄIJó": 126629, + "à¸Ľà¸£à¸°à¸§": 126630, + "Ġvhodné": 126631, + "ĠumÄĽl": 126632, + "ĠÑĢазлиÑĩнÑĭе": 126633, + "ĠpÅĻiroz": 126634, + "ĠبخشÛĮ": 126635, + "ãģ®å¤§": 126636, + "ĠاÙĦÙĥÙĩ": 126637, + "ecká": 126638, + "Ġzorunlu": 126639, + "ĠÐľÐ¸ÐºÐ¾Ð»Ð°": 126640, + "Ġamel": 126641, + "ковÑĭе": 126642, + "::::/": 126643, + "ä¸įåIJĮçļĦ": 126644, + "ĠÙĪÙĥاÙĨت": 126645, + "à¸Ńà¸Ń": 126646, + "lásil": 126647, + "ĠпÑĢедполаг": 126648, + "ï½±": 126649, + "Ġνε": 126650, + "ĠновÑĭй": 126651, + "Ġìĺģíĸ¥ìĿĦ": 126652, + "Ġê°Ģì§Ħ": 126653, + "åĥħ": 126654, + "YD": 126655, + "Ġباغ": 126656, + "Ġشکست": 126657, + "Ġgüney": 126658, + "иÑģÑĮ": 126659, + "ãģĭãģªãģĦ": 126660, + "ĠTòa": 126661, + "ĠگردÛĮد": 126662, + "ØŃÙĦ": 126663, + "luvÃŃ": 126664, + "véd": 126665, + "Ġìĺ·": 126666, + "ĠεÏĢα": 126667, + "ĠÑĤиÑģÑıÑĩ": 126668, + "Ġê½ĥ": 126669, + "ĠPUS": 126670, + "ĠдÑĥмкÑĥ": 126671, + "ĠâĢĿĊ": 126672, + "ĠìĬ¤íı¬ì¸ł": 126673, + "ÙĩÙĩ": 126674, + "Ġgắng": 126675, + "à¸´à¸łà¸²à¸ŀ": 126676, + "éĩĮéĿ¢": 126677, + "brıs": 126678, + "Ġzáb": 126679, + "καÏĤ": 126680, + "ĠåıĮ线": 126681, + "ลล": 126682, + "ĠÄIJÃłi": 126683, + "åŃ¸æł¡": 126684, + "ĠÑĢаÑģпÑĢед": 126685, + "ĠÑģÑĤанеÑĤ": 126686, + "Ġлак": 126687, + "Ġподк": 126688, + "Ġgören": 126689, + "ë¥´ê³ł": 126690, + "ĠÑĦÑĢÑĥкÑĤ": 126691, + "íĵ¨íĦ°": 126692, + "ãģĻãĤĮãģ°": 126693, + "ãĤĴä½ľ": 126694, + "à¸Ńà¸Ńà¸ģà¹ģà¸ļà¸ļ": 126695, + "Ġkulak": 126696, + "ĠíĶĮëłĪìĿ´": 126697, + "ĠØŃدÙĬØ«": 126698, + "ãģĨãĤĵ": 126699, + "ĠмÑĸк": 126700, + "à¤ĩसà¤ķ": 126701, + "ĠÑĥÑĤоÑĩ": 126702, + "ĠÙĥØ«ÙĬر": 126703, + "ĠYine": 126704, + "ัวหà¸Ļ": 126705, + "нÑĸÑĹ": 126706, + "åį¢": 126707, + "ÑĥÑģлов": 126708, + "ìĽĮíģ¬": 126709, + "Ġà¤ħà¤ĸ": 126710, + "ĠÑĨÑĸка": 126711, + "ìĦłìĿĦ": 126712, + "Ġأر": 126713, + "галÑĤеÑĢ": 126714, + "anglicky": 126715, + "ĠÑģоÑģÑĥд": 126716, + "ĠÑĥÑıв": 126717, + "ĠпÑĢодÑĥкÑĨÑĸÑĹ": 126718, + "Ġchua": 126719, + "Ġdán": 126720, + "ामà¤Ĺ": 126721, + "ئت": 126722, + "ĠФед": 126723, + "Ġhrom": 126724, + "íķ´ë³´": 126725, + "ĠØ¢ÙĨÙĦاÛĮÙĨ": 126726, + "-пÑĢав": 126727, + "Ġì¤ijìļĶíķľ": 126728, + "ĠвкÑĥ": 126729, + "Ġ大éĺª": 126730, + "Ġterk": 126731, + "ĠподÑĸб": 126732, + "ĠвÑĸдвÑĸд": 126733, + "à¥Įà¤Ł": 126734, + "è³£": 126735, + "ĠبتÙĨ": 126736, + "ĠبعضÛĮ": 126737, + "ãģªãģĬ": 126738, + "ä»ĸåĢij": 126739, + "Ġtavsiye": 126740, + "ĠMısır": 126741, + "Ġإذ": 126742, + "ĠæIJ": 126743, + "íķĺëĤĺ": 126744, + "ĠÙĪØ®": 126745, + "ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ": 126746, + "Ġtakový": 126747, + "Ġबनन": 126748, + "ĠзÑĢениÑı": 126749, + "ĠÙĪÙģÙĤ": 126750, + "ë¹ĦìķĦ": 126751, + "ĠпоможеÑĤ": 126752, + "åĮĹå¸Ĥ": 126753, + "dıkları": 126754, + "Ġéĵģ": 126755, + "ĠaktuálnÃŃ": 126756, + "Ġвв": 126757, + "ãĤĤãģªãģĦ": 126758, + "íĨµìĭł": 126759, + "ÏĦαÏĥη": 126760, + "ĠìĥģëĮĢ": 126761, + "Ġæł¡": 126762, + "ãĢĤéĤ£": 126763, + "ĠرÙĪØ³ÛĮÙĩ": 126764, + "Ġtelevizyon": 126765, + "å¹´é¾Ħ": 126766, + "ĠÐijоÑĢиÑģ": 126767, + "리ìĸ´": 126768, + "ĠzveÅĻej": 126769, + "жно": 126770, + "ĠÐŀÑģÑĤ": 126771, + "ĠмÑĥжÑĩин": 126772, + "ĠyeÅŁil": 126773, + "ĠСовеÑĤ": 126774, + "ĠBÃĸL": 126775, + "ĠТакож": 126776, + "Ġobnov": 126777, + "ĠпÑĢинадлеж": 126778, + "ĠвиÑģнов": 126779, + "Ø·Ùħ": 126780, + "ĠìĹĨìĸ´": 126781, + "ĠMùa": 126782, + "ä½ıå®ħ": 126783, + "åĮ»åѦ": 126784, + "ĠнаÑĢез": 126785, + "ãĥĭï¾Ĩ": 126786, + "ĠMặt": 126787, + "Ġvuông": 126788, + "ä¸ĢåĮº": 126789, + "ĠẢnh": 126790, + "ÑĢиÑĦ": 126791, + "ä¿ĿéĻ©": 126792, + "ĠÏĩÏģήÏĥη": 126793, + "åIJĮæĦı": 126794, + "Ġæīĵ": 126795, + "etÄĽ": 126796, + "ĠÙĪØ°ÙĦÙĥ": 126797, + "ĠÑĤиж": 126798, + "ĠÎŁÎ¹ÎºÎ¿": 126799, + "ĠмÑĸÑģÑĨÑĸ": 126800, + "ĠÑĢебенок": 126801, + "ĠÅŀah": 126802, + "عÙĦÙĪÙħ": 126803, + "ladıģ": 126804, + "Ġgiden": 126805, + "ливоÑģÑĤÑĸ": 126806, + "ÙĴس": 126807, + "ĠTHB": 126808, + "Ġmeslek": 126809, + "ÂłÐĿе": 126810, + "μÏĨÏīνα": 126811, + "ĠÙĪØ§Ø¬": 126812, + "наÑģлÑĸд": 126813, + "æĺŁæľŁ": 126814, + "ÐĶж": 126815, + "ĠÑĢабоÑĤаеÑĤ": 126816, + "Ġsánh": 126817, + "ìļ°ë¦¬": 126818, + "ĠابÙĪ": 126819, + "çļĦæĥħ": 126820, + "ĠìϏêµŃ": 126821, + "Ġkabil": 126822, + "еÑĢвÑĭе": 126823, + "ĠgiÃłu": 126824, + "Ġtá»ı": 126825, + "ÂłÐij": 126826, + "å®Įæķ´": 126827, + "Ġmužů": 126828, + "ĠpomÄĽrnÄĽ": 126829, + "ĠÙħخصÙĪØµ": 126830, + "ĠÐĶем": 126831, + "ãĤıãĤĮãĤĭ": 126832, + "ĠпÑĢибÑĭ": 126833, + "ĠکاÙħÙ¾ÛĮ": 126834, + "ï¼Ń": 126835, + "Ġtrh": 126836, + "ĠÐijолÑĮÑĪ": 126837, + "´:": 126838, + "иваеÑĤÑģÑı": 126839, + "ĠìĤ¬íķŃ": 126840, + "è¿Ľä¸ĢæŃ¥": 126841, + "ÑĨей": 126842, + "ãģ¾ãģļ": 126843, + "аÑĤелем": 126844, + "éĮ¯": 126845, + "Ġžalob": 126846, + "ÑĨез": 126847, + "инÑĥв": 126848, + "Ġverze": 126849, + "åĽŀåΰ": 126850, + "Ġdược": 126851, + "ائÙĬÙĦ": 126852, + "stoupil": 126853, + "论æĸĩ": 126854, + "ĠÐŁÐ°ÑĢи": 126855, + "ĠдекоÑĢаÑĤив": 126856, + "اختÛĮ": 126857, + "ĠÑģÑĤÑĢем": 126858, + "ãĥ»âĶģãĥ»âĶģãĥ»âĶģãĥ»âĶģ": 126859, + "ĠÑģамой": 126860, + "ÑĩÑĤо": 126861, + "ìĥģëĭ´": 126862, + "âī¤": 126863, + "ÑĤого": 126864, + "ëIJ¨": 126865, + "ılacak": 126866, + "ä¸Ńãģ«": 126867, + "ĠÏħÏĢάÏģÏĩοÏħν": 126868, + "ĠвÑĸдбÑĥ": 126869, + "çİ»çĴĥ": 126870, + "ĠвпеÑĢед": 126871, + "ĠPlzeÅĪ": 126872, + "گاب": 126873, + "à¹Ģศรษà¸IJ": 126874, + "ï¼ĮæľĢ": 126875, + "ÙħÙĨÛĮ": 126876, + "çħ§çīĩ": 126877, + "缮å½ķ": 126878, + "ÑĢиÑĤÑĤÑı": 126879, + "âĢĮاش": 126880, + "ĠëĮĢíļĮ": 126881, + "ĠÅĻadu": 126882, + "-ÑĤеÑħ": 126883, + "ĠÙĬÙĪ": 126884, + "Ġà¹ģà¸ŀ": 126885, + "اÙĥÙĨ": 126886, + "Ġ기ìŀIJ": 126887, + "ĠгÑĸд": 126888, + "Ġìļ°ë¦¬ëĬĶ": 126889, + "Ø´ÙħارÛĮ": 126890, + "Ġticari": 126891, + "âij¢": 126892, + "ĠاÙĦبد": 126893, + "ĠÑĢаÑģÑĩ": 126894, + "ĠاÙĦÛĮ": 126895, + "Ġsürede": 126896, + "Ġاعتر": 126897, + "ĠпонÑıÑĤÑĮ": 126898, + "γκο": 126899, + "ï¼Įæ¯Ķ": 126900, + "ĠSeb": 126901, + "Ġìĭłê·ľ": 126902, + "æĶ¶çĽĬ": 126903, + "ĠÙ¾ÛĮØ´ÙĨÙĩاد": 126904, + "ÎľÎijΤ": 126905, + "ë°ĶìĿ´": 126906, + "ä¾ĽåºĶ": 126907, + "бин": 126908, + "人æ°Ĺ": 126909, + "ãģıãĤī": 126910, + "ĠskvÄĽl": 126911, + "Ġëĵ±ìŀ¥": 126912, + "æĭħå½ĵ": 126913, + "Ġimkan": 126914, + "æĻ¨": 126915, + "ï¼Įçİ°åľ¨": 126916, + "Ġsrdce": 126917, + "ìĤ°ìĹħ": 126918, + "Ġмодели": 126919, + "æľ¬å½ĵãģ«": 126920, + "анка": 126921, + "Ġyürüy": 126922, + "ĠоÑĩевид": 126923, + "ĠØŃسÙĬÙĨ": 126924, + "ÑīаÑİÑĤ": 126925, + "lédl": 126926, + "ÑĨо": 126927, + "ĠcÃŃsa": 126928, + "ãģĭãģij": 126929, + "èĹį": 126930, + "ĠØ®ÙĪØ§ÙĩÙĨد": 126931, + "Ġmuže": 126932, + "Ġнакоп": 126933, + "diÄŁini": 126934, + "erseniz": 126935, + "ĠпÑĢаÑĨÑĸвникÑĸв": 126936, + "длÑı": 126937, + "ĠαÏĥÏĦ": 126938, + "æ¶Īè´¹": 126939, + "Ġè¨Ģ": 126940, + "Ġbát": 126941, + "ĠØ´ÙĥÙĦ": 126942, + "ĠÑģпиÑĢ": 126943, + "ÏĢοÏĦε": 126944, + "ĠساÙĦÙĩ": 126945, + "ekil": 126946, + "à¹ģà¸Ĭม": 126947, + "ĠÏĥÏĦι": 126948, + "ĠÙħØ·ÙĦب": 126949, + "Ġìłķì±ħ": 126950, + "ê´Ģê³Ħ": 126951, + "å¹¹ç·ļ": 126952, + "Ġ京": 126953, + "éĢļéģİ": 126954, + "ĠدÛĮگراÙĨ": 126955, + "ĠØ£Ùħا": 126956, + "æĺ¯ä¸į": 126957, + "ĠëĮĢëĭµ": 126958, + "ĠErk": 126959, + "perty": 126960, + "ĠнаÑĩинаеÑĤ": 126961, + "Ġ그리": 126962, + "룡": 126963, + "ĠìĽ¹ìĤ¬ìĿ´íĬ¸": 126964, + "ारन": 126965, + "æĦıè¯Ĩ": 126966, + "ĠÐ¡ÐŁ": 126967, + "ĠباÙĬد": 126968, + "Ġbakımından": 126969, + "/TT": 126970, + "ĠÙģØ§ØµÙĦÙĩ": 126971, + "ĠÙħØ«ÙĦا": 126972, + "Ġквад": 126973, + "ĠشاÛĮد": 126974, + "ĠuÄįitel": 126975, + "çν": 126976, + "ĠعرضÙĩ": 126977, + "Ġ交": 126978, + "ĠÑĩеÑģÑĤÑĮ": 126979, + "à¥Ī?Ċ": 126980, + "ĠخاÙĨÙħ": 126981, + "etiyle": 126982, + "Ġεγκα": 126983, + "ĠÑģÑĥÑīе": 126984, + "ĠìĿ¼ìĸ´": 126985, + "ĠÐĽÐµÐ½Ð¸": 126986, + "Ġ声": 126987, + "álie": 126988, + "ãĥ¡ãĥ¼ãĤ¸": 126989, + "à¥Ģतर": 126990, + "галÑĸ": 126991, + "ĠмÑĸнÑĸм": 126992, + "ĠEÅŁ": 126993, + "ĠпÑĢоизоÑĪ": 126994, + "ÐĿаÑģ": 126995, + "ĠبÙĨÛĮ": 126996, + "让æĪij": 126997, + "ĠпоÑģÑĤеп": 126998, + "ĠìļĶ구": 126999, + "ılıp": 127000, + "ĠجÙĪØ±": 127001, + "ĠëĮĢë¶Ģë¶Ħ": 127002, + "à¹ĩà¸ķาม": 127003, + "ĠÑĦаÑģ": 127004, + "Ġìłķê·ľ": 127005, + "ламенÑĤ": 127006, + "ÄŁen": 127007, + "à¥ĩà¤ĤĊĊ": 127008, + "ĠÐĺванов": 127009, + "ĠØŃÚ©Ùħ": 127010, + "Ġï¾ļ": 127011, + "ï¼»": 127012, + "Ġnevid": 127013, + "ĠлабоÑĢаÑĤоÑĢ": 127014, + "à¸ŀยาà¸ļาล": 127015, + "Ġediyorum": 127016, + "Ġhlavy": 127017, + "ĠEvropské": 127018, + "Ġphái": 127019, + "ãĥĵãĥ¼": 127020, + "ê´ijìĹŃìĭľ": 127021, + "äºľ": 127022, + "ØŃداث": 127023, + "ĠпÑĢоÑĦилакÑĤи": 127024, + "rostÅĻed": 127025, + "ĠмалÑĮ": 127026, + "Ġmüdür": 127027, + "اساس": 127028, + "ĠгалÑĥзÑĸ": 127029, + "à¸µà¸Ł": 127030, + "ĠغذاÛĮÛĮ": 127031, + "åŃIJä¾Ľ": 127032, + "Ġbahsed": 127033, + "ĠKrálové": 127034, + "åį»": 127035, + "Ġ%,": 127036, + "ç½Ĺæĸ¯": 127037, + "ëļ": 127038, + "Ġçij": 127039, + "ĠξεÏĦα": 127040, + "ĠÐŃÑĤи": 127041, + "ĠíĨµíķ©": 127042, + "Ġاکتبر": 127043, + "ĠmÄĽsÃŃce": 127044, + "ìĪĺë¡ľ": 127045, + "ÑĦÑĸк": 127046, + "ĠÐĴоз": 127047, + "ÑĩеÑģким": 127048, + "ìļ´ëĵľ": 127049, + "Ġnáklady": 127050, + "ĠпоÑĤÑĢап": 127051, + "ĠÑĢÑĥкаÑħ": 127052, + "ιλο": 127053, + "ĠGül": 127054, + "ë©ĺ": 127055, + "à¹īย": 127056, + "makt": 127057, + "ãĥ³ãĥIJãĥ¼": 127058, + "ĠнÑĸÑı": 127059, + "ĠоÑĤÑĤен": 127060, + "mesinin": 127061, + "ĠвÑģпом": 127062, + "ĠìĿ´ëĬĶ": 127063, + "dyby": 127064, + "ãĤ¿ãĥ³": 127065, + "âĹİ": 127066, + "à¹īาหà¸Ļ": 127067, + "ادگÛĮ": 127068, + "Ïĩία": 127069, + "ĠsnažÃŃ": 127070, + "Ġà¤ļà¤ķ": 127071, + "μήμα": 127072, + "ĠÙĥر": 127073, + "Ġκοι": 127074, + "é̏": 127075, + "Ġneust": 127076, + "ĠÙĨظاÙħÛĮ": 127077, + "åįļçī©": 127078, + "Ġë²½": 127079, + "á½±": 127080, + "Ġì¶ľìĭľ": 127081, + "Ġarmá": 127082, + "ĠÙĩÙħکارÛĮ": 127083, + "çļĦæĥħåĨµ": 127084, + "ÙĤاÙħ": 127085, + "ÙĤب": 127086, + "ĠéĤ£": 127087, + "Ġë§¡": 127088, + "Ġolası": 127089, + "βÎŃÏģ": 127090, + "ä½ķãģĭ": 127091, + "ĠÑĥÑĩеб": 127092, + "ĠвÑĥз": 127093, + "Ġبرگز": 127094, + "'yi": 127095, + "ĠпÑĢазд": 127096, + "ĠÐŀÑĢг": 127097, + "Ġå¹¶": 127098, + "ĠÑģви": 127099, + "ĠÙħÛĮداÙĨ": 127100, + "ĠnaÅ¡eho": 127101, + "ĠBAÅŀ": 127102, + "å»Ĭ": 127103, + "ÌĪ": 127104, + "ãģĵãģĿ": 127105, + "à¹ĩà¸Ļà¸ŀ": 127106, + "οÏģειο": 127107, + "ĠбагаÑĤ": 127108, + "γει": 127109, + "μείο": 127110, + "à¹Īà¸ĩà¸Ĭาà¸ķ": 127111, + "ĠHizmetleri": 127112, + "ĠAfrika": 127113, + "Ġtedbir": 127114, + ",、": 127115, + "ä¸ī级": 127116, + "ÐİÑĭÑŁNÐİÑĭÑŁN": 127117, + "ĠÐļÑĢÑĸм": 127118, + "Ġaray": 127119, + "Ġböylece": 127120, + "коÑĤ": 127121, + "éϰ": 127122, + "åĽ½éļĽ": 127123, + "tÄĽl": 127124, + "Ġpolis": 127125, + "Ġuvol": 127126, + "ĠìĪĺê°ķ": 127127, + "ç͵èĦij": 127128, + "Ġsami": 127129, + "ĠشاخÙĩ": 127130, + "ĠвÑģÑĮого": 127131, + "ĠØŃداÙĤÙĦ": 127132, + "Ġiken": 127133, + "ãĤ¯ãĥ©ãĥĸ": 127134, + "Ġzávod": 127135, + "बल": 127136, + "ë°°ìĨ¡": 127137, + "éĩĩè´Ń": 127138, + "볬": 127139, + "Ġ।ĊĊ": 127140, + "Ġê°ģê°ģ": 127141, + "Ġмак": 127142, + "ÏģαÏĥη": 127143, + "ĠiÅŁlemi": 127144, + "ãģĹãģ¦ãģĦãģ¾ãģĻ": 127145, + "ĠPek": 127146, + "Ñİн": 127147, + "Ġvelkou": 127148, + "åĬŀçIJĨ": 127149, + "å®ĥ们": 127150, + "ĠèIJ¬": 127151, + "ĠнаÑĢодÑĥ": 127152, + "Ġchó": 127153, + "ĠHiç": 127154, + "Û³Ûµ": 127155, + "Ġรà¸Ńà¸ļ": 127156, + "Û³Û¶": 127157, + "à¸Ĥว": 127158, + "ä½įæĸ¼": 127159, + "ĠСÑĤа": 127160, + "ัà¸Ļม": 127161, + "ापà¤ķ": 127162, + "ĠÑĥÑĢок": 127163, + "ãĤ¢ãĥ¡ãĥªãĤ«": 127164, + "Ġзмож": 127165, + "skému": 127166, + "Ġè»Ĭ": 127167, + "ĠاختÛĮار": 127168, + "ĠPÅĺ": 127169, + "лÑıв": 127170, + "Ġмаз": 127171, + "ĠözelliÄŁi": 127172, + "åij¼ãģ°": 127173, + "Ġbirinin": 127174, + "Ġодне": 127175, + "ÌĨ": 127176, + "ä»ĸãģ®": 127177, + "建ç¯ī": 127178, + "поÑģеÑĢед": 127179, + "หลà¸Ķ": 127180, + "å¤ļãģĦ": 127181, + "ÏĦήÏĥειÏĤ": 127182, + "ĠرÙĪÙĨد": 127183, + "èģ½": 127184, + "ì¤ijìĹIJ": 127185, + "ìĬ¤íĭ°": 127186, + "ĠзвÑĸÑĤ": 127187, + "ĠаÑĢÑĤи": 127188, + "Ġcưá»Ŀi": 127189, + "ındır": 127190, + "Ġголод": 127191, + "ازد": 127192, + "à¹Īาวว": 127193, + "ãĥ¡ãĥ©": 127194, + "عÙĨÙĪØ§ÙĨ": 127195, + "%)Ċ": 127196, + "ĠÑħолодилÑĮ": 127197, + "人们": 127198, + "Cİ": 127199, + "ÐĹап": 127200, + "ĠpÅĻisp": 127201, + "Ġdurumlarda": 127202, + "ÑĢÑĸд": 127203, + "ÂłÐ£": 127204, + "ĠεÏĨαÏģ": 127205, + "Ġsprav": 127206, + "ĠоÑĤÑĢиманнÑı": 127207, + "ï¼Į没æľī": 127208, + "овала": 127209, + "Ġngại": 127210, + "ãĢĤ大": 127211, + "ĠдаеÑĤ": 127212, + "ĠpÃŃsem": 127213, + "ÑĨÑıÑĤÑĮ": 127214, + "ovnÄĽ": 127215, + "ë¦ī": 127216, + "Ġê²ģ": 127217, + "ÑģÑĤин": 127218, + "ĠSayı": 127219, + "ãĢĭçļĦ": 127220, + "Ġyoluyla": 127221, + "елеÑĦон": 127222, + "Ġráno": 127223, + "ĠíĸīëıĻ": 127224, + "ĠاÙĦخاÙħسة": 127225, + "Ġповинна": 127226, + "ÅĻila": 127227, + "Ġà¤ļरण": 127228, + "Ġبرگزار": 127229, + "ìļ´ëį°": 127230, + "à¹Ģà¸Ľà¸Ńร": 127231, + "Ġdaleko": 127232, + "lednÃŃ": 127233, + "åIJį稱": 127234, + "ливÑĸÑģÑĤÑĮ": 127235, + "Ġ몸ìĿĦ": 127236, + "оÑĢÑĸв": 127237, + "Це": 127238, + "بدأ": 127239, + "ë°ĺ기": 127240, + "krát": 127241, + "ä¸įè¶³": 127242, + "Ġoldukları": 127243, + "leniyor": 127244, + "Ġìĭľíĸī": 127245, + "ĠпÑĢинимаÑĤÑĮ": 127246, + "à¸Ĥà¸Ńà¸ĩร": 127247, + "ÏĪει": 127248, + "Ġẩn": 127249, + "تس": 127250, + "ĠÑĤай": 127251, + "Ġневозможно": 127252, + "åıĬãģ³": 127253, + "roti": 127254, + "ï½Ń": 127255, + "дом": 127256, + "ойно": 127257, + "å£Ĭ": 127258, + "说çļĦ": 127259, + "Ġskoro": 127260, + "niÄįnÃŃ": 127261, + "ĠProfes": 127262, + "ĠÑħÑĢониÑĩеÑģ": 127263, + "Ġ주문": 127264, + "ĠZn": 127265, + "ĠÑģлой": 127266, + "ÎłÏģο": 127267, + "æĮĩæķ°": 127268, + "ĠпеÑĢеÑĪ": 127269, + "à¥ģà¤ķस": 127270, + "Ġê°Ģìłķ": 127271, + "Ġíķĺë©´": 127272, + "Û±Û¹Û´": 127273, + "кÑĥл": 127274, + "ÙĬÙĦا": 127275, + "ĠدÙĪØ¨Ø§Ø±Ùĩ": 127276, + "|l": 127277, + "ĠÐľÑĥ": 127278, + "нила": 127279, + "ãģ¦ãģĦãģ¾ãģĻ": 127280, + "macı": 127281, + "ãģŁãģ¡ãģ¯": 127282, + "ĠاÙĦÙĥتاب": 127283, + "ç§»åĭķ": 127284, + "λμ": 127285, + "_ï¼ı": 127286, + "Ġê°Ģìŀħ": 127287, + "èħ¾": 127288, + "ĠпÑĢезиденÑĤ": 127289, + "Ġë¶Ħìķ¼": 127290, + "ahy": 127291, + "Å¡etÅĻenÃŃ": 127292, + "éĵº": 127293, + "ĠpÅĻÃŃro": 127294, + "ÐķТ": 127295, + "ĠìļĶì²Ń": 127296, + "Ġmohlo": 127297, + "å¿ĥçIJĨ": 127298, + "Ġvysoké": 127299, + "ü": 127300, + "ÏĦικα": 127301, + "ìĹħì²´": 127302, + "ãģ§ãģĤ": 127303, + "รายà¸ĩาà¸Ļ": 127304, + "ĠpÅĻÃŃspÄĽv": 127305, + "ĠetmiÅŁtir": 127306, + "她们": 127307, + "ÏĢλα": 127308, + "ứa": 127309, + "Ġ说": 127310, + "ĠÑģоÑģед": 127311, + "åĩī": 127312, + "ĠÐłÐµ": 127313, + "åİŁæĿ¥": 127314, + "ĠÐIJÑĢÑħ": 127315, + "بÙĬÙĨ": 127316, + "åľ°è¯´": 127317, + "Ġört": 127318, + "ĠΣεÏĢ": 127319, + "ÂŃÙĩاÛĮ": 127320, + "ĠاÙĦاÙĤتص": 127321, + "尽管": 127322, + "ÑĤÑĭй": 127323, + "tains": 127324, + "ÙĢÙĦ": 127325, + "ç§ijæĬĢæľīéĻIJåħ¬åı¸": 127326, + "æı®": 127327, + "ัà¸ķà¸ĸ": 127328, + "á»Ĺng": 127329, + "ลาà¸Ķ": 127330, + "æļ®": 127331, + "ĠÙĨÙ쨳Ùĩ": 127332, + "Ġçľĭ": 127333, + "Ġãģ¿": 127334, + "Ġtarım": 127335, + "Û±Û¹Ûµ": 127336, + "ĠÎĬ": 127337, + "Ġkomplex": 127338, + "ĠNhÄ©": 127339, + "è´¹ç͍": 127340, + "ĠکاربراÙĨ": 127341, + "ÅĪovánÃŃ": 127342, + "Ġků": 127343, + "дап": 127344, + "ÎķΧ": 127345, + "ê·¸ëŀĺ": 127346, + "Ġdöndü": 127347, + "人åĵ¡": 127348, + "ĠTiá»ĥu": 127349, + "ĠÙĪÛĮراÛĮØ´": 127350, + "Ġöngör": 127351, + "ĠÙĪØºÙĬر": 127352, + "ĠÑģкÑĢÑĭ": 127353, + "âĢIJ'": 127354, + "ĠнемÑĥ": 127355, + "ĠHá»ĩ": 127356, + "Ġdüzenli": 127357, + "ĠsoutÄĽÅ¾e": 127358, + "ãĢģãĥŀ": 127359, + "ÏĦομα": 127360, + "ÄĽlÃŃ": 127361, + "ĠØ£ÙĦÙħاÙĨ": 127362, + "çł²": 127363, + "ĠtrÃł": 127364, + "Ġä¸ĸçķĮ": 127365, + "ayız": 127366, + "ımlı": 127367, + "ĠاÙĦØ£Ùģ": 127368, + "íķĺëĬĶëį°": 127369, + "вано": 127370, + "ĠpÅĻiÄįemž": 127371, + "ÙĥÙĬب": 127372, + "ĠмаÑĤемаÑĤи": 127373, + "мени": 127374, + "ĠпÑĢоекÑĤÑĥ": 127375, + "ีà¹Ĥà¸Ń": 127376, + "оÑĥ": 127377, + "ĠاÙĦشرÙĥØ©": 127378, + "æ³£": 127379, + "ÙĪÙĤÙĬت": 127380, + "ÑĪив": 127381, + "Ġpersonel": 127382, + "شتر": 127383, + "à¸Ķา": 127384, + "Ġ몽": 127385, + "åĿIJåľ¨": 127386, + "оке": 127387, + "Ġë§Īë²ķ": 127388, + "ĠØ£ÙĨا": 127389, + "ëłµ": 127390, + "ĠÙħباÙĨÛĮ": 127391, + "èĭ¹æŀľ": 127392, + "Ġศร": 127393, + "ĠÐĽÑĥÑĩ": 127394, + "ÎŁÎ¥Î£": 127395, + "ĠÄįá": 127396, + "ãģĽãģ¦": 127397, + "ĠkÄ±ÅŁ": 127398, + "ÑĪев": 127399, + "æĮĩ导": 127400, + "à¹ģละม": 127401, + "Ġvoleb": 127402, + "ĠÑģилÑĭ": 127403, + "Ġdruhou": 127404, + "Ġì°¬": 127405, + "ĠìŀĪìĿĮ": 127406, + "ΥΣ": 127407, + "ä¸įå®ī": 127408, + "ĠìĹĨìĿĮ": 127409, + "Ġdeterm": 127410, + "ĠاÙĦÙħعÙĦÙĪÙħات": 127411, + "íĺ¹": 127412, + "âĻ¡": 127413, + "à¥įबन": 127414, + "Ġخشک": 127415, + "ĠNová": 127416, + "ĠÑĦÑĥндаменÑĤ": 127417, + "ĠпÑĢогÑĢами": 127418, + "ĠعÙĦÙĬÙĥ": 127419, + "।ĊĊ": 127420, + "Ġveriyor": 127421, + "ĠÑĶв": 127422, + "ĠìŀĪëĭ¤ê³ł": 127423, + "ĠاÙĦØ£ÙħرÙĬÙĥÙĬ": 127424, + "Ġå¤ĸéĥ¨ãĥªãĥ³ãĤ¯": 127425, + "Ġä¿®": 127426, + "ĠпÑĥÑĤи": 127427, + "ĠοÏģγ": 127428, + "ĠоÑģновном": 127429, + "ĠнаÑĢÑĥж": 127430, + "ĠмиÑĢе": 127431, + "ovÄĽt": 127432, + "ĠíĥIJ": 127433, + "Ġsokak": 127434, + "Ġspolupráci": 127435, + "ÐĶÐļ": 127436, + "Ġåĺ": 127437, + "âĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸį": 127438, + "Ġ³³³³": 127439, + "Ġhayır": 127440, + "ĠìĻĶ": 127441, + "æĤ¨çļĦ": 127442, + "æĮº": 127443, + "Ġ민주": 127444, + "Ġhotelu": 127445, + "à¸µà¸ľ": 127446, + "ìŀIJëıĻ": 127447, + "ä¼¼çļĦ": 127448, + "ÎŃνÏĦÏģο": 127449, + "Ø´ÙĪ": 127450, + "Ġé¤": 127451, + "Ġλι": 127452, + "Ġolmaktadır": 127453, + "ĠоÑģвеÑī": 127454, + "Ġвина": 127455, + "Ġخاصة": 127456, + "rana": 127457, + "γÏģαÏĨή": 127458, + "ÑĨеÑģ": 127459, + "ĠdoÄŁrult": 127460, + "ĠÙĤرارداد": 127461, + "ĠÐļал": 127462, + "ê²½ìłľ": 127463, + "ÏĩÏĮ": 127464, + "ÑĥÑİÑīий": 127465, + "ëĭĺìĿ´": 127466, + "ëĮ": 127467, + "лаз": 127468, + "Ġngừng": 127469, + "isku": 127470, + "ìĦłê±°": 127471, + "ĠÑįлекÑĤÑĢон": 127472, + "ĠVoj": 127473, + "нÑıми": 127474, + "ĠÙĪØ£ÙĨ": 127475, + "äºŃ": 127476, + "ç»Łè®¡": 127477, + "ĠÅŁiÅŁ": 127478, + "ãĢįçļĦ": 127479, + "æŃ¯": 127480, + "Ġколлек": 127481, + "Ġдвиж": 127482, + "Ġná»Ńa": 127483, + "ÄįasÃŃ": 127484, + "Ġsonu": 127485, + "ĠмеÑħанÑĸз": 127486, + "žený": 127487, + "ĠзаÑģÑĤÑĥп": 127488, + "ê´Ģ볨": 127489, + "ĠÑĤоваÑĢÑĸв": 127490, + "Ġì¼ĢìĿ´": 127491, + "à¥ģà¤Ĺत": 127492, + "Ġzásob": 127493, + "мовÑĸÑĢ": 127494, + "ufac": 127495, + "ůležit": 127496, + "ĠвигоÑĤов": 127497, + "ĠاÙĦÙĨÙĪ": 127498, + "ĠعاÙħا": 127499, + "æģ¨": 127500, + "ĠìĿ´ë¯¸ì§Ģ": 127501, + "ĠtvoÅĻ": 127502, + "ĠvyužitÃŃ": 127503, + "ĠgeliÅŁim": 127504, + "쳤ëĭ¤": 127505, + "หà¸Ļà¸Ńà¸ĩ": 127506, + "ĠìĿ¸ìłķ": 127507, + "à¥įदर": 127508, + "ĠпеÑĢеда": 127509, + "ĠздÑĸйÑģненнÑı": 127510, + "ÙĨع": 127511, + "è¡£æľį": 127512, + "Ġloa": 127513, + "íĻĪ": 127514, + "èĭ±åĽ½": 127515, + "ĠDruh": 127516, + "خاÙĨ": 127517, + "дам": 127518, + "аÑĤелÑĮнÑĭÑħ": 127519, + "θÏģÏİ": 127520, + "ĠØ£Ùħر": 127521, + "ĠÅĻada": 127522, + "ĠbuluÅŁ": 127523, + "ĠÑĤÑĢанÑģпоÑĢ": 127524, + "ĠÙĤتÙĦ": 127525, + "ĠTarif": 127526, + "Rus": 127527, + "ĠзаÑģÑĸд": 127528, + "Ġİh": 127529, + "leyin": 127530, + "Ġvyrá": 127531, + "ĠDÄĽ": 127532, + "ибли": 127533, + "avou": 127534, + "ĠÐĵеÑĢм": 127535, + "немÑĥ": 127536, + "ĠконÑĨеп": 127537, + "ĠÙĤادر": 127538, + "Ġsoubor": 127539, + "Ġlá»iji": 127540, + "ĠçµIJ": 127541, + "леннÑĭй": 127542, + "κÏħ": 127543, + "Ġдопомаг": 127544, + "à¸ŀวà¸ģà¹Ģà¸Ĥ": 127545, + "Ġquang": 127546, + "ĠØ·ÙĦا": 127547, + "ĠéĩĮ": 127548, + "ĠÙĨÙħÙĪØ¯Ø§Ø±": 127549, + "ĠÅŁar": 127550, + "ĠÑģпÑĸл": 127551, + "ÂŃn": 127552, + "ì§ĢìļĶ": 127553, + "åīįå¾Ģ": 127554, + "åħ³éĶ®": 127555, + "å®ŀåľ¨": 127556, + "éŁ³æ¥½": 127557, + "ĠÙħسئÙĦÙĩ": 127558, + "Ġyeme": 127559, + "ĠÑĪаÑħ": 127560, + "기ìĪł": 127561, + "Ġสำà¸Ļ": 127562, + "ĠÙĪØ±Ø²Ø´ÛĮ": 127563, + "ãģĹãģŁãĤī": 127564, + "ίÏĥÏī": 127565, + "окон": 127566, + "ãģŁãĤī": 127567, + "ĠØ¥ÙĦÙĬÙĩ": 127568, + "Ġآذرب": 127569, + "Ġrá»Ŀi": 127570, + "Ġodak": 127571, + "ĠмогÑĥ": 127572, + "ĠÚ¯ÙĨ": 127573, + "è²¼": 127574, + "edla": 127575, + "ĠопÑĭÑĤ": 127576, + "lamaktadır": 127577, + "å°¼äºļ": 127578, + "éĥ½ä¼ļ": 127579, + "ĠÎĺεÏĥÏĥα": 127580, + "Ġвог": 127581, + "ç»Īäºİ": 127582, + "ĠÑĥÑĢовне": 127583, + "Ġvlak": 127584, + "ĠØ¢ÙĦØ©": 127585, + "Ġειδ": 127586, + "âĩ": 127587, + "дÑĥÑĤ": 127588, + "Ñĸнг": 127589, + "ĠØ£ÙħرÙĬÙĥÙĬ": 127590, + "ازÙĨد": 127591, + "ĠباÙĦØ£": 127592, + "Ġतन": 127593, + "Ġkaydet": 127594, + "룬리": 127595, + "Ġdrž": 127596, + "ĠпенÑģ": 127597, + "ĠpÅĻÃŃÄį": 127598, + "ĠТолÑĮко": 127599, + "ĠбаÑĤаÑĢ": 127600, + "éĵģè·¯": 127601, + "ĠÙ¾ÛĮÚĨ": 127602, + "ĠÎĵεÏī": 127603, + "ĠαÏħÏĦά": 127604, + "ÄŀI": 127605, + "ĠакÑĤивно": 127606, + "ÎĹÎľÎij": 127607, + "Ġvarlık": 127608, + "Ġåıª": 127609, + "ĠзаÑīиÑĤÑĭ": 127610, + "лим": 127611, + "ĠÙħشاÙĩدة": 127612, + "иком": 127613, + "Ġì¡°ìĤ¬": 127614, + "оген": 127615, + "Ġmấy": 127616, + "gii": 127617, + "èĽĩ": 127618, + "ĠØ®ÙĪÛĮØ´": 127619, + "Ġnová": 127620, + "ковой": 127621, + "Ġkanıt": 127622, + "éĿ¢è®®": 127623, + "ĠرÙĪØ³ØªØ§": 127624, + "ìĸ´ê°Ģ": 127625, + "ĠоÑĤноÑĪениÑı": 127626, + "Ġhodnoty": 127627, + "ÙĪØ±Ø§Øª": 127628, + "ĠpÅĻÃŃst": 127629, + "Ġthá»į": 127630, + "Ġçıkart": 127631, + "ообÑĢаз": 127632, + "ĠnemÄĽl": 127633, + "Âłro": 127634, + "ĠدÙĪÙĦتÛĮ": 127635, + "ี,": 127636, + "ä¸Ģ度": 127637, + "iaomi": 127638, + "åĹİ": 127639, + "Ùıع": 127640, + "ĠваÑĢиан": 127641, + "ĠpodaÅĻilo": 127642, + "ĠëĤĺê°Ģ": 127643, + "èIJ¥ä¸ļ": 127644, + "ĠабÑģолÑİÑĤно": 127645, + "Ġë¸ĮëĿ¼": 127646, + "ĠгоÑĢиз": 127647, + "aģın": 127648, + "Ġyerini": 127649, + "à¹īาà¸Ļà¸Ķ": 127650, + "æIJ¬": 127651, + "Ġbalık": 127652, + "ĠÅŁans": 127653, + "认è¯Ĩ": 127654, + "ĠistediÄŁiniz": 127655, + "ĠjistÄĽ": 127656, + "ĠìĪĺê°Ģ": 127657, + "ï¼Įä¸Ĭ": 127658, + "à¤ľà¤¬": 127659, + "ĠвиÑıви": 127660, + "ë§¥": 127661, + "ãģĹãģ¦ãĤĭ": 127662, + "ÙĬÙĥا": 127663, + "ĠHüs": 127664, + "cının": 127665, + "Ġशत": 127666, + "ĠÑĢаÑģполаг": 127667, + "ĠÑģпÑĢавж": 127668, + "ืà¸Ńà¸ĸ": 127669, + "ĠвеÑĢÑĤик": 127670, + "Ġvystav": 127671, + "ĠÑĢеалÑĸзаÑĨÑĸÑĹ": 127672, + "вами": 127673, + "ãĤ¹ãĥĨãĤ£": 127674, + "ëħģ": 127675, + "ĠÑĢеÑĩÑĸ": 127676, + "Ù쨧ÙĦ": 127677, + "िà¤ķà¤Ł": 127678, + "ĠвозÑĢаÑģÑĤе": 127679, + "каÑģ": 127680, + "ĠÐĺÑģ": 127681, + "ĠлÑĸк": 127682, + "ĠÏĥημαν": 127683, + "менÑĤÑĥ": 127684, + "нÑıÑİÑĤ": 127685, + "æŁ´": 127686, + "ĠθεÏī": 127687, + "çĬ¯ç½ª": 127688, + "ĠÙĤطر": 127689, + "ÐĶÐIJ": 127690, + "-|": 127691, + "ĠÑģÑĤÑĸ": 127692, + "Ġuyum": 127693, + "ĠpotÅĻeba": 127694, + "ĠعÙħÙĦÛĮات": 127695, + "奪": 127696, + "اخر": 127697, + "ĠکساÙĨÛĮ": 127698, + "تÙħر": 127699, + "ÑĮеÑĢ": 127700, + "ĠNez": 127701, + "íļĮìĤ¬": 127702, + "ĠBankası": 127703, + "егÑĢа": 127704, + "à¸Ĥà¸ĵะà¸Ĺ": 127705, + "åIJĪæł¼": 127706, + "ĠìŬ룬ë¶Ħ": 127707, + "yasal": 127708, + "Ġè¡ĮæĶ¿": 127709, + "åĬī": 127710, + "dıktan": 127711, + "ãĤ¢ãĥ«ãĥIJ": 127712, + "ĠاÛĮÙĨÚĨ": 127713, + "Ġdijital": 127714, + "å°ĺ": 127715, + "ĠÑĢазмеÑī": 127716, + "ĠкÑĸлÑĮкоÑģÑĤÑĸ": 127717, + "ĠEvropy": 127718, + "ĠÑĢозви": 127719, + "ÑİÑīÑĥÑİ": 127720, + "Ġong": 127721, + "Ġhepsi": 127722, + "vailability": 127723, + "ĠتصÙħÙĬÙħ": 127724, + "ÑĥйÑĤе": 127725, + "हल": 127726, + "ĠÅ¡iro": 127727, + "Ġpás": 127728, + ";;;;;;": 127729, + "éħįåIJĪ": 127730, + "ĠاÙĦعاÙĦÙħÙĬØ©": 127731, + "ÐĴо": 127732, + "haf": 127733, + "láv": 127734, + "Ġbì": 127735, + "Ġmůj": 127736, + "ê»ĺìĦľ": 127737, + "ÂłBf": 127738, + "ĠÑģпÑĢоÑģил": 127739, + "âĢĮÚ©ÙĨÙĨدÙĩ": 127740, + "ÙĨدÙĬØ©": 127741, + "çī¹èī²": 127742, + "Ġìķ¨": 127743, + "ุษย": 127744, + "ĠФоÑĢ": 127745, + "пиÑģок": 127746, + "užel": 127747, + "ımlar": 127748, + "çĬ¶æ³ģ": 127749, + "Ġãĥ¬ãĥĩãĤ£ãĥ¼ãĤ¹": 127750, + "Ñħови": 127751, + "ÂłKÄį": 127752, + "Ñĩим": 127753, + "ĠتÙĪÙħ": 127754, + "à¹Ģà¸ģษà¸ķร": 127755, + "Ġìĭ±ê¸Ģ": 127756, + "Ùħارات": 127757, + "ênh": 127758, + "ĠÅĻid": 127759, + "æĬ¬": 127760, + "ÑģиÑİ": 127761, + "æħİ": 127762, + "Ġçevre": 127763, + "ãĥĪãĥ«": 127764, + "Ġyıldır": 127765, + "Ġzáznam": 127766, + "æľºåľº": 127767, + "ĠпоÑĶ": 127768, + "ĠвÑĭÑĢаÑīи": 127769, + "ĠÙ쨹": 127770, + "ë»": 127771, + "ĠدارÛĮÙħ": 127772, + "ï¼ĮæĽ´": 127773, + "Ġземли": 127774, + "ابÙĤات": 127775, + "Ġmá»Ŀi": 127776, + "kých": 127777, + "ÙĦاة": 127778, + "帽": 127779, + "براÙĩÙĬÙħ": 127780, + "ĠпобаÑĩ": 127781, + "ाà¤ĩम": 127782, + "à¹Īาà¸ĩà¸Ľà¸£à¸°à¹Ģà¸Ĺศ": 127783, + "ĠìĦ¸ìĥģ": 127784, + "ĠпомогаеÑĤ": 127785, + "ĠÏĦÏĮÏĥο": 127786, + "æĸ·": 127787, + "ĠÙģØ±Ø§ÙĪ": 127788, + "à¹Ħà¸Ľà¸¢": 127789, + "ergisi": 127790, + "ĠéĻIJ": 127791, + ".xz": 127792, + "ĠÑģлÑĥÑħ": 127793, + "економ": 127794, + "ĠNhất": 127795, + "±ط": 127796, + "ĠëĪĪìĿĦ": 127797, + "ĠíļĮìĤ¬": 127798, + "Ñĵ": 127799, + "ĠåIJįçĦ¡ãģĹ": 127800, + "Ġομάδα": 127801, + "ĩĮ": 127802, + "liÄŁinin": 127803, + "عاÙĨ": 127804, + "ĠزÙĨÛĮ": 127805, + "Tôi": 127806, + "Ġetki": 127807, + "ĠìŰëĿ½": 127808, + "ĠконÑĨа": 127809, + "è°ĭ": 127810, + "ĠземлÑı": 127811, + "íĻĺê²½": 127812, + "ĠÙħکاÙĨÛĮ": 127813, + "çĸ²": 127814, + "Ġç¢": 127815, + "Ġkurulan": 127816, + "ؤÙĪÙĦ": 127817, + "دÙī": 127818, + "ĠاÙĦÙħÙĨØ·ÙĤØ©": 127819, + "Ġnắng": 127820, + "ÐŁÐļ": 127821, + "олай": 127822, + "YK": 127823, + "åijĨ": 127824, + "λαν": 127825, + "西çľģ": 127826, + "ĠÎĴαÏĥ": 127827, + "ĠíĻķìĭ¤": 127828, + "ZD": 127829, + "пÑĸд": 127830, + "ĠнаÑĩе": 127831, + "ĠÏĦά": 127832, + "å½»": 127833, + "âĢŀD": 127834, + "Ġèĩº": 127835, + "ĠнаÑĪей": 127836, + "ĠtÃŃmto": 127837, + "ĠتسÙħ": 127838, + "ÏģθÏģο": 127839, + "令人": 127840, + "ĠPazar": 127841, + "ãĤĵãģ¨": 127842, + "ç«ĭåĪ»": 127843, + "Âģ@": 127844, + "Ġbắc": 127845, + "ìĬ¤íħĮ": 127846, + "Ġkadınlar": 127847, + "figur": 127848, + "ãģ¤ãģ¶": 127849, + "ĠæµĻæ±Ł": 127850, + "ĠдекÑĸлÑĮ": 127851, + "è¡Ŀ": 127852, + "ยà¸Ļà¹ģà¸Ľà¸¥à¸ĩ": 127853, + "olet": 127854, + "Ġnedok": 127855, + "namen": 127856, + "åħĦå¼Ł": 127857, + "ืà¸Ńà¸Ĥ": 127858, + "èĤĥ": 127859, + "Ġbüny": 127860, + "ĠÑĢадÑıн": 127861, + "ãĢģäºĮ": 127862, + "аннÑİ": 127863, + "Ġæīĭæľº": 127864, + "ĠоÑģлож": 127865, + "ĠоглÑı": 127866, + "Ġسبز": 127867, + "Ġaktivit": 127868, + "Ġà¤ıप": 127869, + "竾": 127870, + "Ġdiren": 127871, + "iв": 127872, + "ĠYatırım": 127873, + "ÑĨÑĸйна": 127874, + "Ġдомов": 127875, + "ẳn": 127876, + "ĠCoÄŁraf": 127877, + "ÙģÙĪ": 127878, + "æ°Ĺãģ«åħ¥": 127879, + "ç§ģãģ®": 127880, + "ï½į": 127881, + "à¥Įड": 127882, + "ĠÐĵÑĢигоÑĢ": 127883, + "ĠPeygamber": 127884, + "Ġαγα": 127885, + "Ġefekt": 127886, + "ĠìŀĪìĸ´ìĦľ": 127887, + "ĠплаÑĤеж": 127888, + "ĠTrab": 127889, + "overy": 127890, + "â̦â̦ãĢĤ": 127891, + "Ġyapmaya": 127892, + "ĠнайбÑĸлÑĮ": 127893, + "ĠÙħÙĨزÙĦ": 127894, + "ÙĪÙĬÙĥ": 127895, + "ıldıģında": 127896, + "ĠpÅĻÃŃpadnÄĽ": 127897, + "ĠμÏĢοÏģοÏį": 127898, + "ĠëĵľëĿ¼ë§Ī": 127899, + "Ġ방문": 127900, + "ĠСим": 127901, + "کات": 127902, + "еком": 127903, + "رÙĬع": 127904, + "ÙĩدÙģ": 127905, + "æĹıèĩªæ²»": 127906, + "ĠzmÄĽn": 127907, + "Ġвклад": 127908, + "ĠبÙĦغ": 127909, + "Ġç§ĭ": 127910, + "Ngh": 127911, + "ĠendiÅŁ": 127912, + "ĠCumhurbaÅŁkanı": 127913, + "ĠKaf": 127914, + "Ġà¹ģหล": 127915, + "Ġmutlu": 127916, + "ĠÑģиÑĢ": 127917, + "ĠгÑĥм": 127918, + "æ¿ĥ": 127919, + "çĤī": 127920, + "ĠBáo": 127921, + "à¥Ĥष": 127922, + "ĠìłķíĻķ": 127923, + "ानस": 127924, + "ﻤ": 127925, + "наÑģлÑĸдок": 127926, + "poÄįet": 127927, + "ë§ĮìĽIJìŀħëĭĪëĭ¤": 127928, + "ĠìĦľìļ¸íĬ¹ë³Ħìĭľ": 127929, + "ÎķÎĻΣ": 127930, + "ุมà¸Ĭà¸Ļ": 127931, + "ĠмÑĸлÑĮ": 127932, + "æħĮ": 127933, + "ÏĥκεÏĦαι": 127934, + "ĠãĢľ": 127935, + "Ġkaliteli": 127936, + "ĠÑģмеÑĢÑĤÑĮ": 127937, + "è¼Ķ": 127938, + "ĠбиÑĤ": 127939, + "ĠΣÏĦο": 127940, + "à¸ĩà¹Ģศส": 127941, + "åİŁæľ¬": 127942, + "ĠknÃŃ": 127943, + "äºĴèģĶç½ij": 127944, + "ĠÑĩеловеÑĩеÑģ": 127945, + "çŃĴ": 127946, + "à¸Īำหà¸Ļ": 127947, + "åĩºåİ»": 127948, + "ãĤ¢ãĥĭãĥ¡": 127949, + "å±ķ示": 127950, + "rych": 127951, + "à¤ħब": 127952, + "oÅĪ": 127953, + "jÃŃcÃŃm": 127954, + "اØŃØ«": 127955, + "ĠÙĪØ§ÙĤعÛĮ": 127956, + "ĠФедеÑĢалÑĮ": 127957, + "Ñģам": 127958, + "Ġìĺ¥": 127959, + "åľ°çIJĥ": 127960, + "Ġsuyu": 127961, + "seniz": 127962, + "à¥īफ": 127963, + "Ġê°Ļëĭ¤": 127964, + "ĠпÑĢизнаÑĩеннÑı": 127965, + "ĠSın": 127966, + "ĠاÙħÙĨÛĮت": 127967, + "Ġlátky": 127968, + "ĠÐijи": 127969, + "Ġsüreci": 127970, + "····": 127971, + "Ġ경찰": 127972, + "ĠкалÑĮ": 127973, + "ĠникÑĤо": 127974, + "ÙijÙħ": 127975, + "ĠدÙĬگر": 127976, + "Ġalınması": 127977, + "леннÑĸ": 127978, + "ิวà¹Ģà¸ķà¸Ńร": 127979, + "à¸Ľà¸ģà¸Ħรà¸Ńà¸ĩ": 127980, + "ĠзаконодавÑģÑĤва": 127981, + "ãĢĢãĤ¤": 127982, + "Ġëħ¸íķĺìļ°": 127983, + "ĠDÃ¼ÅŁ": 127984, + "ĠгÑĥÑģÑĤ": 127985, + "ĠÐĴаÑĪ": 127986, + "ĠاÙħتÛĮ": 127987, + "Ġparamet": 127988, + "ĠÎłÎ±Î½ÎµÏĢ": 127989, + "à¹Įà¸ģร": 127990, + "ζα": 127991, + "ĠëįĶìļ±": 127992, + "ÙĪÙĦات": 127993, + "ваÑĤиÑģÑı": 127994, + "Ġkök": 127995, + "ÙĨب": 127996, + "ĠвÑĭÑģокой": 127997, + "ãĥ¼ãĥ¼": 127998, + "éͦ": 127999 + }, + "merges": [ + "Ġ Ġ", + "Ġ ĠĠĠ", + "ĠĠ ĠĠ", + "ĠĠĠ Ġ", + "i n", + "Ġ t", + "Ġ ĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠ ĠĠ", + "e r", + "Ġ ĠĠ", + "ĠĠ Ġ", + "o n", + "Ġ a", + "r e", + "a t", + "s t", + "e n", + "o r", + "Ġ th", + "Ġt h", + "Ċ Ċ", + "Ġ c", + "l e", + "Ġ s", + "i t", + "a n", + "a r", + "a l", + "Ġ the", + "Ġt he", + "Ġth e", + "; Ċ", + "Ġ p", + "Ġ f", + "o u", + "Ġ =", + "i s", + "Ġ ĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠ", + "ĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠ Ġ", + "i ng", + "in g", + "e s", + "Ġ w", + "i on", + "io n", + "e d", + "i c", + "Ġ b", + "Ġ d", + "e t", + "Ġ m", + "Ġ o", + "ĉ ĉ", + "r o", + "a s", + "e l", + "c t", + "n d", + "Ġ in", + "Ġi n", + "Ġ h", + "e nt", + "en t", + "i d", + "Ġ n", + "a m", + "Ġ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġ to", + "Ġt o", + "Ġ re", + "Ġr e", + "- -", + "Ġ {", + "Ġ of", + "Ġo f", + "o m", + ") ;Ċ", + "); Ċ", + "i m", + "č Ċ", + "Ġ (", + "i l", + "/ /", + "Ġ and", + "Ġa nd", + "Ġan d", + "u r", + "s e", + "Ġ l", + "e x", + "Ġ S", + "a d", + "Ġ \"", + "c h", + "u t", + "i f", + "* *", + "Ġ }", + "e m", + "o l", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "t h", + ") Ċ", + "Ġ {Ċ", + "Ġ{ Ċ", + "Ġ g", + "i g", + "i v", + ", Ċ", + "c e", + "o d", + "Ġ v", + "a te", + "at e", + "Ġ T", + "a g", + "a y", + "Ġ *", + "o t", + "u s", + "Ġ C", + "Ġ st", + "Ġs t", + "Ġ I", + "u n", + "u l", + "u e", + "Ġ A", + "o w", + "Ġ '", + "e w", + "Ġ <", + "a tion", + "at ion", + "atio n", + "ati on", + "( )", + "Ġ for", + "Ġf or", + "Ġfo r", + "a b", + "o rt", + "or t", + "u m", + "a me", + "am e", + "Ġ is", + "Ġi s", + "p e", + "t r", + "c k", + "â Ģ", + "Ġ y", + "i st", + "is t", + "- ---", + "-- --", + "--- -", + ". ĊĊ", + ".Ċ Ċ", + "h e", + "Ġ e", + "l o", + "Ġ M", + "Ġ be", + "Ġb e", + "e rs", + "er s", + "Ġ on", + "Ġo n", + "Ġ con", + "Ġc on", + "Ġco n", + "a p", + "u b", + "Ġ P", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "a ss", + "as s", + "i nt", + "in t", + "> Ċ", + "l y", + "u rn", + "ur n", + "Ġ $", + "; ĊĊ", + ";Ċ Ċ", + "a v", + "p ort", + "por t", + "po rt", + "i r", + "- >", + "n t", + "c tion", + "ct ion", + "e nd", + "en d", + "Ġ de", + "Ġd e", + "0 0", + "i th", + "it h", + "o ut", + "ou t", + "t urn", + "tu rn", + "tur n", + "o ur", + "ou r", + "Ġ ĠĠĠĠ", + "ĠĠ ĠĠĠ", + "ĠĠĠĠ Ġ", + "ĠĠĠ ĠĠ", + "l ic", + "li c", + "r es", + "re s", + "p t", + "= =", + "Ġ this", + "Ġt his", + "Ġth is", + "Ġthi s", + "Ġ wh", + "Ġw h", + "Ġ if", + "Ġi f", + "Ġ D", + "v er", + "ve r", + "a ge", + "ag e", + "Ġ B", + "h t", + "e xt", + "ex t", + "= \"", + "Ġ that", + "Ġt hat", + "Ġth at", + "Ġtha t", + "* ***", + "** **", + "*** *", + "Ġ R", + "Ġ it", + "Ġi t", + "e ss", + "es s", + "Ġ F", + "Ġ r", + "o s", + "a nd", + "an d", + "Ġ as", + "Ġa s", + "e ct", + "ec t", + "k e", + "r om", + "ro m", + "Ġ //", + "Ġ/ /", + "c on", + "co n", + "Ġ L", + "( \"", + "q u", + "l ass", + "la ss", + "las s", + "Ġ with", + "Ġw ith", + "Ġwi th", + "Ġwit h", + "i z", + "d e", + "Ġ N", + "Ġ al", + "Ġa l", + "o p", + "u p", + "g et", + "ge t", + "Ġ }Ċ", + "Ġ} Ċ", + "i le", + "il e", + "Ġ an", + "Ġa n", + "a ta", + "at a", + "o re", + "or e", + "r i", + "Ġ pro", + "Ġp ro", + "Ġpr o", + "; čĊ", + "ĉ ĉĉĉ", + "ĉĉ ĉĉ", + "ĉĉĉ ĉ", + "t er", + "te r", + "a in", + "ai n", + "Ġ W", + "Ġ E", + "Ġ com", + "Ġc om", + "Ġco m", + "Ġ return", + "Ġre turn", + "Ġr eturn", + "Ġret urn", + "a rt", + "ar t", + "Ġ H", + "a ck", + "ac k", + "im port", + "imp ort", + "ub lic", + "ubl ic", + "Ġ or", + "Ġo r", + "e st", + "es t", + "m ent", + "me nt", + "men t", + "Ġ G", + "a ble", + "ab le", + "abl e", + "Ġ -", + "i ne", + "in e", + "i ll", + "il l", + "i nd", + "in d", + "e re", + "er e", + ": :", + "i ty", + "it y", + "Ġ +", + "Ġ tr", + "Ġt r", + "e lf", + "el f", + "i ght", + "ig ht", + "igh t", + "( '", + "o rm", + "or m", + "u lt", + "ul t", + "s tr", + "st r", + ". .", + "\" ,", + "Ġ you", + "Ġy ou", + "Ġyo u", + "y pe", + "yp e", + "p l", + "Ġ new", + "Ġn ew", + "Ġne w", + "Ġ j", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġ from", + "Ġf rom", + "Ġfr om", + "Ġfro m", + "Ġ ex", + "Ġe x", + "Ġ O", + "2 0", + "l d", + "Ġ [", + "o c", + ": Ċ", + "Ġ se", + "Ġs e", + "Ġ le", + "Ġl e", + "- -------", + "-- ------", + "---- ----", + "--- -----", + "----- ---", + "------ --", + "------- -", + ". s", + "{ Ċ", + "' ,", + "a nt", + "an t", + "Ġ at", + "Ġa t", + "a se", + "as e", + ". c", + "Ġ ch", + "Ġc h", + "< /", + "a ve", + "av e", + "a ng", + "an g", + "Ġ are", + "Ġa re", + "Ġar e", + "Ġ int", + "Ġin t", + "Ġi nt", + "âĢ Ļ", + "_ t", + "e rt", + "er t", + "i al", + "ia l", + "a ct", + "ac t", + "} Ċ", + "i ve", + "iv e", + "o de", + "od e", + "o st", + "os t", + "Ġ class", + "Ġc lass", + "Ġcl ass", + "Ġclas s", + "Ġcla ss", + "Ġ not", + "Ġn ot", + "Ġno t", + "o g", + "o rd", + "or d", + "a lue", + "al ue", + "alu e", + "a ll", + "al l", + "f f", + "( );Ċ", + "() ;Ċ", + "(); Ċ", + "o nt", + "on t", + "i me", + "im e", + "a re", + "ar e", + "Ġ U", + "Ġ pr", + "Ġp r", + "Ġ :", + "i es", + "ie s", + "i ze", + "iz e", + "u re", + "ur e", + "Ġ by", + "Ġb y", + "i re", + "ir e", + "Ġ }ĊĊ", + "Ġ} ĊĊ", + "Ġ}Ċ Ċ", + ". p", + "Ġ sh", + "Ġs h", + "i ce", + "ic e", + "a st", + "as t", + "p tion", + "pt ion", + "t ring", + "tr ing", + "tri ng", + "o k", + "_ _", + "c l", + "# #", + "Ġ he", + "Ġh e", + "a rd", + "ar d", + ") .", + "Ġ @", + "i ew", + "ie w", + "ĉ ĉĉ", + "ĉĉ ĉ", + "Ġ was", + "Ġw as", + "Ġwa s", + "i p", + "t his", + "th is", + "Ġ u", + "Ġ The", + "ĠT he", + "ĠTh e", + "i de", + "id e", + "a ce", + "ac e", + "i b", + "a c", + "r ou", + "ro u", + "Ġ we", + "Ġw e", + "j ect", + "je ct", + "jec t", + "Ġ public", + "Ġp ublic", + "Ġpub lic", + "Ġpubli c", + "a k", + "v e", + "a th", + "at h", + "o id", + "oi d", + "Ġ =>", + "Ġ= >", + "u st", + "us t", + "q ue", + "qu e", + "Ġ res", + "Ġre s", + "Ġr es", + ") )", + "' s", + "Ġ k", + "a ns", + "an s", + "y st", + "ys t", + "un ction", + "unc tion", + "unct ion", + "* *******", + "** ******", + "**** ****", + "****** **", + "*** *****", + "***** ***", + "******* *", + "Ġ i", + "Ġ us", + "Ġu s", + "p p", + "1 0", + "o ne", + "on e", + "a il", + "ai l", + "= ===", + "== ==", + "=== =", + "n ame", + "na me", + "nam e", + "Ġ str", + "Ġs tr", + "Ġst r", + "Ġ /", + "Ġ &", + "a ch", + "ac h", + "d iv", + "di v", + "y stem", + "yst em", + "ys tem", + "e ll", + "el l", + "Ġ have", + "Ġh ave", + "Ġha ve", + "Ġhav e", + "e rr", + "er r", + "o uld", + "ou ld", + "oul d", + "u ll", + "ul l", + "p on", + "po n", + "Ġ J", + "_ p", + "Ġ ==", + "Ġ= =", + "i gn", + "ig n", + "S t", + ". Ċ", + "Ġ pl", + "Ġp l", + ") ;ĊĊ", + ");Ċ Ċ", + "); ĊĊ", + "f orm", + "fo rm", + "for m", + "p ut", + "pu t", + "o unt", + "ou nt", + "oun t", + "} ĊĊ", + "}Ċ Ċ", + "d d", + "i te", + "it e", + "Ġ get", + "Ġg et", + "Ġge t", + "r r", + "o me", + "om e", + "Ġ âĢ", + "Ġâ Ģ", + "a ram", + "ar am", + "ara m", + "c c", + "Ġ */", + "Ġ* /", + "E R", + "I n", + "l es", + "le s", + "_ s", + "o ng", + "on g", + "i e", + "Ġ can", + "Ġc an", + "Ġca n", + "Ġ V", + "e rv", + "er v", + "p r", + "Ġ un", + "Ġu n", + "r ow", + "ro w", + "b er", + "be r", + "Ġ do", + "Ġd o", + "l l", + "Ġ el", + "Ġe l", + "Ġ self", + "Ġs elf", + "Ġse lf", + "Ġsel f", + "a ted", + "at ed", + "ate d", + "a ry", + "ar y", + "Ġ .", + "' ]", + "u d", + "Ġ en", + "Ġe n", + "Ġ Th", + "ĠT h", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "t e", + "_ c", + "u ct", + "uc t", + "Ġ ab", + "Ġa b", + "o rk", + "or k", + ". get", + ".g et", + ".ge t", + "Ġ #", + "a w", + "r ess", + "re ss", + "res s", + "o b", + "N ame", + "Na me", + "Nam e", + "2 01", + "20 1", + "a pp", + "ap p", + "[ '", + "Ġ all", + "Ġa ll", + "Ġal l", + "o ry", + "or y", + "i tion", + "it ion", + "iti on", + "a nce", + "an ce", + "anc e", + "e ar", + "ea r", + "Ġ cont", + "Ġc ont", + "Ġcon t", + "Ġco nt", + "v ent", + "ve nt", + "ven t", + "i a", + "Ġ will", + "Ġw ill", + "Ġwi ll", + "Ġwil l", + "I N", + "Ġ ĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠ", + "r eturn", + "re turn", + "ret urn", + "Ġ ", + "\" ,Ċ", + "\", Ċ", + "e c", + "Ġ In", + "ĠI n", + "p h", + "Ġ |", + "_ f", + "Ġ var", + "Ġv ar", + "Ġva r", + "e nce", + "en ce", + "enc e", + "I d", + "r ee", + "re e", + "i nk", + "in k", + "l ect", + "le ct", + "lec t", + "u g", + "e th", + "et h", + "Ġ else", + "Ġe lse", + "Ġel se", + "Ġels e", + "- ---------------", + "-- --------------", + "---- ------------", + "-------- --------", + "--- -------------", + "------------ ----", + "----- -----------", + "---------- ------", + "------ ----------", + "----------- -----", + "------------- ---", + "------- ---------", + "--------- -------", + "--------------- -", + "-------------- --", + "1 9", + "c ont", + "con t", + "co nt", + "Ġ so", + "Ġs o", + "a tic", + "at ic", + "ati c", + "Ġ lo", + "Ġl o", + "p ro", + "pr o", + "t on", + "to n", + "s s", + "o wn", + "ow n", + "a bel", + "ab el", + "abe l", + "o int", + "oin t", + "oi nt", + "o us", + "ou s", + "e ld", + "el d", + "S T", + "T he", + "Th e", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "R E", + "\" :", + "o lor", + "ol or", + "olo r", + "t p", + "e g", + "k ey", + "ke y", + "u de", + "ud e", + "Ġ St", + "ĠS t", + "o und", + "ou nd", + "oun d", + "Ġ ar", + "Ġa r", + "\" );Ċ", + "\") ;Ċ", + "\"); Ċ", + "e ner", + "en er", + "ene r", + "s er", + "se r", + "1 1", + "b ject", + "bj ect", + "es sage", + "ess age", + "essa ge", + "f er", + "fe r", + "Ġ more", + "Ġm ore", + "Ġmor e", + "Ġmo re", + "at ions", + "ation s", + "atio ns", + "ati ons", + "e nts", + "en ts", + "ent s", + "Ġ his", + "Ġh is", + "Ġhi s", + "Ġ they", + "Ġt hey", + "Ġth ey", + "Ġthe y", + ". S", + "Ġ Y", + "u se", + "us e", + "n e", + "i sh", + "is h", + "o ld", + "ol d", + "_ d", + "i o", + "i eld", + "ie ld", + "iel d", + "Ġ per", + "Ġp er", + "Ġpe r", + "C ont", + "Con t", + "Co nt", + "in gs", + "ing s", + "# ###", + "## ##", + "### #", + "Ġ data", + "Ġd ata", + "Ġda ta", + "Ġdat a", + "Ġ sa", + "Ġs a", + "e f", + "f o", + "Ġ one", + "Ġo ne", + "Ġon e", + "e ng", + "en g", + "Ġ dis", + "Ġd is", + "Ġdi s", + "A T", + "Ġ name", + "Ġn ame", + "Ġna me", + "Ġnam e", + "Ġ true", + "Ġtr ue", + "v al", + "va l", + "l ed", + "le d", + ". f", + "Ġ ne", + "Ġn e", + "Ġ end", + "Ġe nd", + "Ġen d", + "3 2", + ". T", + "1 6", + "c re", + "cr e", + "a rk", + "ar k", + "l og", + "lo g", + "E x", + "e rror", + "er ror", + "err or", + "erro r", + "_ id", + "_i d", + "ur re", + "urr e", + "a nge", + "an ge", + "ang e", + "Ġ null", + "Ġn ull", + "Ġnu ll", + "r ray", + "rr ay", + "Ġ my", + "Ġm y", + "p an", + "pa n", + "i ct", + "ic t", + "a tor", + "at or", + "ato r", + "V iew", + "Vi ew", + "L ist", + "Li st", + "ĉ return", + "ĉr eturn", + "ĉret urn", + "ĉre turn", + "âĢ Ŀ", + "Ġ pre", + "Ġp re", + "Ġpr e", + "Ġ x", + "c lude", + "cl ude", + "clud e", + "a rg", + "ar g", + "1 5", + "o v", + ". h", + "Ġ >", + "Ġ their", + "Ġthe ir", + "' )", + "i rst", + "ir st", + "irs t", + "i ck", + "ic k", + "g h", + "L E", + "O R", + "Ġ private", + "Ġpr ivate", + "Ġpriv ate", + "Ġprivat e", + "t em", + "te m", + "čĊ čĊ", + "u ser", + "us er", + "use r", + "Ġ )", + "c om", + "co m", + ". A", + "\" ;Ċ", + "\"; Ċ", + "Ġ id", + "Ġi d", + "r ead", + "re ad", + "rea d", + "Ġ who", + "Ġw ho", + "Ġwh o", + "_ b", + "\" >Ċ", + "\"> Ċ", + "Ġ time", + "Ġt ime", + "Ġtim e", + "Ġti me", + "Ġ man", + "Ġm an", + "Ġma n", + "r y", + "= =======", + "== ======", + "==== ====", + "=== =====", + "====== ==", + "===== ===", + "======= =", + "r oup", + "ro up", + "rou p", + "r op", + "ro p", + "p ublic", + "pub lic", + "v el", + "ve l", + "um ber", + "umb er", + "b le", + "bl e", + "Ġ which", + "Ġwh ich", + "** **************", + "**** ************", + "******** ********", + "************ ****", + "************** **", + "Ġ any", + "Ġa ny", + "Ġan y", + "Ġ false", + "Ġf alse", + "Ġfa lse", + "Ġfal se", + "Ġfals e", + "w e", + "Ġ value", + "Ġv alue", + "Ġval ue", + "Ġva lue", + "Ġvalu e", + "Ġ li", + "Ġl i", + "\" )", + "n der", + "nd er", + "nde r", + "g r", + "Ġ no", + "Ġn o", + "p aram", + "par am", + "pa ram", + "para m", + "2 5", + "f ig", + "fi g", + ". com", + ".c om", + ".co m", + "Ġ app", + "Ġa pp", + "Ġap p", + "_ l", + "i ons", + "ion s", + "io ns", + ". D", + "Ġ Ch", + "ĠC h", + "Ġ about", + "Ġa bout", + "Ġab out", + "Ġ add", + "Ġa dd", + "Ġad d", + "Ġ su", + "Ġs u", + "Ġ string", + "Ġs tring", + "Ġst ring", + "Ġstr ing", + "Ġstri ng", + "I D", + "Ġ over", + "Ġo ver", + "Ġov er", + "s tring", + "st ring", + "str ing", + "stri ng", + ". l", + "our ce", + "0 00", + "00 0", + "_ C", + "] Ċ", + "Ġ qu", + "Ġq u", + "Ġ String", + "ĠS tring", + "ĠSt ring", + "ĠStr ing", + "c a", + "S E", + "Ġ ro", + "Ġr o", + "s h", + "u al", + "ua l", + "T ype", + "Typ e", + "Ty pe", + "s on", + "so n", + "n ew", + "ne w", + "e rn", + "er n", + "Ġ ag", + "Ġa g", + "A R", + "] ;Ċ", + "]; Ċ", + "] .", + "Ġ ?", + "i cal", + "ic al", + "ica l", + "Ġ des", + "Ġd es", + "Ġde s", + "u th", + "ut h", + "i x", + "a ys", + "ay s", + "Ġ type", + "Ġt ype", + "Ġtyp e", + "Ġty pe", + "' t", + "a ult", + "au lt", + "aul t", + "Ġ inter", + "Ġin ter", + "Ġint er", + "Ġinte r", + "v ar", + "va r", + ". b", + "Ġ part", + "Ġp art", + "Ġpar t", + "Ġpa rt", + ". d", + "ur rent", + "urre nt", + "urr ent", + "I T", + "E N", + "3 0", + "e nc", + "en c", + "( f", + "r a", + "v alue", + "val ue", + "va lue", + "valu e", + "c ho", + "ch o", + "1 8", + "ut ton", + "utt on", + "utto n", + "o se", + "os e", + "1 4", + "Ġ !=", + "Ġ! =", + "a ter", + "at er", + "ate r", + "à ©", + "re ate", + "reat e", + "rea te", + "o ll", + "ol l", + "p os", + "po s", + "y le", + "yl e", + "n g", + "A L", + "u sing", + "us ing", + "usi ng", + "a mes", + "am es", + "ame s", + "Ġ {čĊ", + "Ġ{ čĊ", + "a tes", + "at es", + "ate s", + "e ly", + "el y", + "Ġ work", + "Ġw ork", + "Ġwor k", + "Ġwo rk", + "Ġ em", + "Ġe m", + "i nal", + "in al", + "ina l", + "Ġ sp", + "Ġs p", + "Ġ when", + "Ġw hen", + "Ġwh en", + "Ġwhe n", + ". set", + ".s et", + ".se t", + "Ġ ĠĠĠĠĠ", + "ĠĠ ĠĠĠĠ", + "ĠĠĠĠ ĠĠ", + "ĠĠĠ ĠĠĠ", + "ĠĠĠĠĠ Ġ", + ") :Ċ", + "): Ċ", + "t o", + "q uire", + "qu ire", + "quir e", + "qui re", + "ind ow", + "indo w", + "l ement", + "le ment", + "lem ent", + "lemen t", + "leme nt", + "p ect", + "pe ct", + "pec t", + "a sh", + "as h", + "[ i", + "Ġ use", + "Ġu se", + "Ġus e", + ". F", + "p ec", + "pe c", + "Ġ ad", + "Ġa d", + "o ve", + "ov e", + "ce ption", + "cept ion", + "cep tion", + "e ngth", + "en gth", + "eng th", + "in clude", + "inc lude", + "incl ude", + "inclu de", + "a der", + "ad er", + "ade r", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "at us", + "atu s", + "T h", + "i tle", + "it le", + "r it", + "ri t", + "v oid", + "vo id", + "( ).", + "() .", + "( Ċ", + "Ġ off", + "Ġo ff", + "Ġof f", + "Ġ other", + "Ġo ther", + "Ġot her", + "Ġ &&", + "Ġ& &", + "' ;Ċ", + "'; Ċ", + "m s", + "Ġ been", + "Ġb een", + "Ġbe en", + "Ġbee n", + "Ġ te", + "Ġt e", + "m l", + "c o", + "n c", + "1 3", + "er vice", + "erv ice", + "Ġ %", + "* *Ċ", + "** Ċ", + "a nn", + "an n", + "a de", + "ad e", + "Ċ ĊĊĊ", + "ĊĊ ĊĊ", + "ĊĊĊ Ċ", + "l ock", + "lo ck", + "loc k", + "con st", + "co nst", + "cons t", + "1 00", + "10 0", + "p onse", + "pon se", + "pons e", + "Ġ sup", + "Ġs up", + "Ġsu p", + "+ +", + "d ate", + "da te", + "dat e", + "Ġ acc", + "Ġa cc", + "Ġac c", + "Ġ had", + "Ġh ad", + "Ġha d", + "Ġ bu", + "Ġb u", + "2 00", + "20 0", + "Ġ Re", + "ĠR e", + "Ġ were", + "Ġw ere", + "Ġwe re", + "Ġwer e", + "Ġ file", + "Ġf ile", + "Ġfil e", + "Ġfi le", + "Ġ would", + "Ġw ould", + "Ġwo uld", + "Ġ âĢľ", + "ĠâĢ ľ", + "v en", + "ve n", + "i ss", + "is s", + "Ġ our", + "Ġo ur", + "Ġou r", + "c lass", + "cl ass", + "cla ss", + "clas s", + "r aw", + "ra w", + "Ġ year", + "Ġy ear", + "Ġye ar", + "D ata", + "Da ta", + "Dat a", + "Ġ val", + "Ġv al", + "Ġva l", + "Ġ some", + "Ġs ome", + "Ġso me", + "Ġsom e", + "f ter", + "ft er", + "fte r", + "y s", + "Ġ ///", + "Ġ// /", + "Ġ/ //", + "r ound", + "ro und", + "rou nd", + "v iew", + "vi ew", + "vie w", + "Ġ pe", + "Ġp e", + "Ġ there", + "Ġt here", + "Ġth ere", + "Ġthe re", + "Ġther e", + "Ġ said", + "Ġs aid", + "Ġsa id", + "Ġsai d", + "d u", + "o f", + "l ine", + "li ne", + "lin e", + "/ *", + "d uct", + "du ct", + "duc t", + "Ġ her", + "Ġh er", + "Ġhe r", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "R es", + "Re s", + "Ġ co", + "Ġc o", + "Ġ comm", + "Ġc omm", + "Ġcom m", + "Ġco mm", + "i se", + "is e", + "m in", + "mi n", + "Ġ ĠĠĠĊ", + "ĠĠ ĠĠĊ", + "ĠĠĠĠ Ċ", + "ĠĠĠ ĠĊ", + "# include", + "et hod", + "eth od", + ". P", + "u te", + "ut e", + "Ġ ass", + "Ġa ss", + "Ġas s", + "I nt", + "In t", + "a sk", + "as k", + "l oc", + "lo c", + "Ġ like", + "Ġl ike", + "Ġli ke", + "Ġlik e", + "o dy", + "od y", + "Ġ let", + "Ġl et", + "Ġle t", + "l oad", + "lo ad", + "Ġ am", + "Ġa m", + "r ol", + "ro l", + "Ġ gr", + "Ġg r", + "y p", + "Ġ also", + "Ġal so", + "Ġals o", + "Ġ It", + "ĠI t", + "u rl", + "ur l", + "i fic", + "if ic", + "ifi c", + "o rs", + "or s", + "_ P", + "_ n", + "i gh", + "ig h", + "Ġ than", + "Ġt han", + "Ġth an", + "Ġtha n", + "C om", + "Co m", + "A N", + "U L", + "a ting", + "at ing", + "ati ng", + "atin g", + "1 7", + "Ġ This", + "ĠT his", + "ĠTh is", + "ĠThi s", + "r ef", + "re f", + "_ S", + "Ġ static", + "Ġst atic", + "Ġstat ic", + "Ġsta tic", + "Ġstati c", + "r oll", + "ro ll", + "rol l", + "Ġ just", + "Ġj ust", + "Ġju st", + "Ġjus t", + "Ġ result", + "Ġres ult", + "i an", + "ia n", + "id th", + "Ġ them", + "Ġt hem", + "Ġth em", + "Ġthe m", + ") );Ċ", + ")) ;Ċ", + ")); Ċ", + "d er", + "de r", + "re ak", + "rea k", + "C on", + "Co n", + ": //", + ":/ /", + "u le", + "ul e", + ". ..", + ".. .", + "a rch", + "ar ch", + "arc h", + "e ment", + "em ent", + "eme nt", + "emen t", + "Ġ <<", + "Ġ< <", + "5 0", + "u sh", + "us h", + "en se", + "ens e", + "a rr", + "ar r", + "Ġ into", + "Ġin to", + "Ġint o", + "c ess", + "ce ss", + "ces s", + "a mp", + "am p", + "i ed", + "ie d", + "u ment", + "um ent", + "ume nt", + "umen t", + "Ġ \\", + "] ,", + "w o", + "a ls", + "al s", + "Ġ what", + "Ġw hat", + "Ġwh at", + "a nc", + "an c", + "V alue", + "Val ue", + "Va lue", + "= '", + "o lum", + "ol um", + "olu m", + "Ġ pos", + "Ġp os", + "Ġpo s", + "a ges", + "ag es", + "age s", + "a yer", + "ay er", + "aye r", + "Ġ sc", + "Ġs c", + "u es", + "ue s", + "\" )Ċ", + "\") Ċ", + "_ T", + "Ġ list", + "Ġl ist", + "Ġli st", + "Ġlis t", + "( s", + "Ġ case", + "Ġc ase", + "Ġca se", + "Ġcas e", + "C h", + "ĉ ĉĉĉĉ", + "ĉĉ ĉĉĉ", + "ĉĉĉĉ ĉ", + "ĉĉĉ ĉĉ", + "//// ////", + "/// /////", + "///// ///", + "p onent", + "pon ent", + "pone nt", + "Ġ z", + "Ġ kn", + "Ġk n", + "l et", + "le t", + "D E", + "r ed", + "re d", + "Ġ fe", + "Ġf e", + "Ġ },Ċ", + "Ġ} ,Ċ", + "Ġ}, Ċ", + "Ġ ,", + "( t", + "Ġ first", + "Ġf irst", + "Ġfi rst", + "Ġfir st", + "' );Ċ", + "') ;Ċ", + "'); Ċ", + "w ord", + "wo rd", + "wor d", + "Ġ import", + "Ġim port", + "Ġimp ort", + "Ġ act", + "Ġa ct", + "Ġac t", + "Ġ char", + "Ġc har", + "Ġch ar", + "Ġcha r", + "C T", + "Ġ Tr", + "ĠT r", + "o ple", + "op le", + "opl e", + "= {", + "ĉ f", + "2 4", + "i ent", + "ie nt", + "ien t", + "c ent", + "ce nt", + "cen t", + ". j", + "l ection", + "le ction", + "lect ion", + "lec tion", + ") )Ċ", + ")) Ċ", + "Ġ only", + "Ġon ly", + "Ġ print", + "Ġp rint", + "Ġpr int", + "Ġpri nt", + "Ġprin t", + "m er", + "me r", + ". W", + "o ck", + "oc k", + "Ġ --", + "Ġ- -", + "T ext", + "Te xt", + "Tex t", + "Ġ op", + "Ġo p", + "a nk", + "an k", + "Ġ its", + "Ġit s", + "Ġi ts", + "Ġ back", + "Ġb ack", + "Ġba ck", + "Ġbac k", + "[ \"", + "Ġ need", + "Ġn eed", + "Ġne ed", + "Ġ cl", + "Ġc l", + "Ġ sub", + "Ġs ub", + "Ġsu b", + "Ġ la", + "Ġl a", + "( (", + ". \"", + "O bject", + "Ob ject", + "Obj ect", + "Ġ start", + "Ġst art", + "Ġstar t", + "Ġsta rt", + "f ile", + "fi le", + "fil e", + "( self", + "(s elf", + "(se lf", + "(sel f", + "n er", + "ne r", + "e y", + "Ġ user", + "Ġu ser", + "Ġus er", + "Ġuse r", + "Ġ ent", + "Ġe nt", + "Ġen t", + "Ġ Com", + "ĠC om", + "ĠCo m", + "i ts", + "it s", + "Ġ Con", + "ĠC on", + "ĠCo n", + "o uble", + "ou ble", + "oub le", + "o wer", + "ow er", + "owe r", + "i tem", + "it em", + "ite m", + "v ery", + "ver y", + "ve ry", + "Ġ We", + "ĠW e", + "6 4", + "l ick", + "lic k", + "li ck", + "Ġ Q", + "p hp", + "ph p", + "t tp", + "tt p", + "' :", + "i cs", + "ic s", + "Ġ under", + "Ġu nder", + "Ġun der", + "Ġund er", + "Ġunde r", + "Ġ *Ċ", + "Ġ* Ċ", + ". L", + ") ;", + "i ces", + "ic es", + "ice s", + "Ġ reg", + "Ġre g", + "Ġr eg", + ") čĊ", + "ĉ public", + "ĉp ublic", + "ĉpub lic", + "S S", + "Ġ then", + "Ġt hen", + "Ġth en", + "Ġthe n", + "r eat", + "re at", + "rea t", + "i ous", + "io us", + "iou s", + ". G", + "e k", + "i rect", + "ir ect", + "ire ct", + "h eck", + "he ck", + "hec k", + "cri pt", + "cr ipt", + "n ing", + "ni ng", + "nin g", + "Ġ Un", + "ĠU n", + "Ġ may", + "Ġm ay", + "Ġma y", + "Ġ Wh", + "ĠW h", + "B o", + "I tem", + "It em", + "str uct", + "stru ct", + ". st", + ".s t", + "r eam", + "re am", + "rea m", + "i ble", + "ib le", + "lo at", + "Ġ org", + "Ġo rg", + "Ġor g", + "u nd", + "un d", + "s um", + "su m", + "_ in", + "_i n", + ". ./", + ".. /", + "_ M", + "Ġ how", + "Ġh ow", + "Ġho w", + "r ite", + "ri te", + "rit e", + "' Ċ", + "T o", + "4 0", + "w w", + "Ġ people", + "Ġpe ople", + "in dex", + "ind ex", + "inde x", + ". n", + "h ttp", + "ht tp", + "htt p", + "( m", + "e ctor", + "ect or", + "ec tor", + "Ġ ind", + "Ġin d", + "Ġi nd", + "Ġ jav", + "Ġj av", + "Ġja v", + "] ,Ċ", + "], Ċ", + "Ġ He", + "ĠH e", + "_ st", + "_s t", + "f ul", + "fu l", + "o le", + "ol e", + ") {Ċ", + "){ Ċ", + "Ġ should", + "Ġsh ould", + "Ġsho uld", + "o py", + "op y", + "e lp", + "el p", + "i er", + "ie r", + "_ name", + "_n ame", + "_na me", + "er son", + "ers on", + "I ON", + "IO N", + "o te", + "ot e", + "Ġ test", + "Ġt est", + "Ġte st", + "Ġtes t", + "Ġ bet", + "Ġb et", + "Ġbe t", + "r ror", + "rr or", + "u lar", + "ul ar", + "ula r", + "ã Ģ", + "Ġ Ð", + "b s", + "t ing", + "ti ng", + "tin g", + "Ġ make", + "Ġm ake", + "Ġma ke", + "Ġmak e", + "T r", + "Ġ after", + "Ġa fter", + "Ġaf ter", + "Ġaft er", + "ar get", + "arg et", + "arge t", + "R O", + "ol umn", + "olum n", + "olu mn", + "r c", + "_ re", + "_r e", + "de fine", + "def ine", + "2 2", + "Ġ right", + "Ġr ight", + "Ġrig ht", + "Ġri ght", + "r ight", + "ri ght", + "rig ht", + "d ay", + "da y", + "Ġ long", + "Ġl ong", + "Ġlo ng", + "Ġlon g", + "[ ]", + "( p", + "t d", + "c ond", + "con d", + "co nd", + "Ġ Pro", + "ĠP ro", + "ĠPr o", + "Ġ rem", + "Ġre m", + "Ġr em", + "pt ions", + "ption s", + "v id", + "vi d", + ". g", + "Ġ ext", + "Ġe xt", + "Ġex t", + "Ġ __", + "Ġ_ _", + "' )Ċ", + "') Ċ", + "p ace", + "pa ce", + "pac e", + "m p", + "Ġ min", + "Ġm in", + "Ġmi n", + "st ance", + "sta nce", + "stan ce", + "a ir", + "ai r", + "a ction", + "act ion", + "ac tion", + "w h", + "t ype", + "ty pe", + "typ e", + "u til", + "ut il", + "uti l", + "a it", + "ai t", + "< ?", + "I C", + "t ext", + "te xt", + "tex t", + "Ġ ph", + "Ġp h", + "Ġ fl", + "Ġf l", + ". M", + "c cess", + "cc ess", + "cce ss", + "b r", + "f ore", + "fo re", + "for e", + "ers ion", + ") ,Ċ", + "), Ċ", + ". re", + ".r e", + "a teg", + "at eg", + "ate g", + "Ġ loc", + "Ġl oc", + "Ġlo c", + "i ns", + "in s", + "- s", + "t rib", + "tr ib", + "tri b", + "Ġ Int", + "ĠI nt", + "ĠIn t", + "Ġ array", + "Ġa rray", + "Ġar ray", + "Ġarr ay", + ", \"", + "P ro", + "Pr o", + "( c", + "ess ion", + "> ĊĊ", + ">Ċ Ċ", + "Ġ she", + "Ġs he", + "Ġsh e", + "\" ]", + "a ph", + "ap h", + "Ġ exp", + "Ġe xp", + "Ġex p", + "er ty", + "ert y", + "Ġ Se", + "ĠS e", + "Ġ par", + "Ġp ar", + "Ġpa r", + "u nc", + "un c", + "E T", + "Ġ read", + "Ġre ad", + "Ġr ead", + "p rint", + "pr int", + "pri nt", + "Ġ rel", + "Ġre l", + "Ġr el", + "Ġ form", + "Ġf orm", + "Ġfor m", + "Ġfo rm", + "Ġ dr", + "Ġd r", + "Ex ception", + "Except ion", + "in put", + "inp ut", + "Ġ trans", + "Ġt rans", + "Ġtr ans", + "Ġtra ns", + "Ġtran s", + "# #######", + "## ######", + "#### ####", + "### #####", + "##### ###", + "###### ##", + "####### #", + "or der", + "ord er", + "orde r", + "B y", + "Ġ aw", + "Ġa w", + "i ties", + "it ies", + "iti es", + "u ff", + "uf f", + "p lay", + "pl ay", + "pla y", + ". add", + ".a dd", + ".ad d", + "Ġ âĢĵ", + "ĠâĢ ĵ", + "Ġ want", + "Ġw ant", + "Ġwa nt", + "Ġwan t", + "Ġ comp", + "Ġc omp", + "Ġcom p", + "Ġco mp", + "m ents", + "ment s", + "me nts", + "men ts", + "Ġ ||", + "Ġ| |", + "a z", + "b e", + "Ġ number", + "Ġn umber", + "Ġnum ber", + "Ġnumb er", + "Ġ require", + "Ġre quire", + "Ġreq uire", + "Ġrequ ire", + "Ġ Ex", + "ĠE x", + "6 0", + "Ġ col", + "Ġc ol", + "Ġco l", + "Ġ key", + "Ġk ey", + "Ġke y", + "em ber", + "emb er", + "Ġ two", + "Ġt wo", + "Ġtw o", + "Ġ size", + "Ġs ize", + "Ġsi ze", + "Ġsiz e", + "Ġ where", + "Ġw here", + "Ġwh ere", + "Ġwhe re", + "U T", + "res ult", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "o ugh", + "ou gh", + "oug h", + "or ld", + "o od", + "oo d", + "u ch", + "uc h", + "at ive", + "ati ve", + "ativ e", + "g er", + "ge r", + "a rent", + "ar ent", + "are nt", + "aren t", + "Ġ /*", + "Ġ/ *", + "Ġ arg", + "Ġa rg", + "Ġar g", + "Ġ while", + "Ġwh ile", + "2 3", + "( this", + "(t his", + "(th is", + "Ġ rec", + "Ġre c", + "Ġr ec", + "Ġ dif", + "Ġd if", + "Ġdi f", + "St ate", + "Stat e", + "Ġ spec", + "Ġs pec", + "Ġsp ec", + "Ġspe c", + "r ide", + "ri de", + "rid e", + "_ F", + "Ġ look", + "Ġl ook", + "Ġlo ok", + "A M", + "il ity", + "ilit y", + "ili ty", + "e ter", + "et er", + "ete r", + "âĢĻ t", + "Ċ ĊĊ", + "ĊĊ Ċ", + "ay out", + "ayo ut", + "-- ------------------------------", + "---- ----------------------------", + "---------------- ----------------", + "------------ --------------------", + "---------------------------- ----", + "------------------------------ --", + "-------------------- ------------", + "a ger", + "ag er", + "age r", + "Ġ could", + "Ġc ould", + "Ġco uld", + "Ġcou ld", + "Ġ br", + "Ġb r", + "e nds", + "en ds", + "end s", + "u res", + "ur es", + "ure s", + "Ġ know", + "Ġk now", + "Ġkn ow", + "e ts", + "et s", + "Ġ If", + "ĠI f", + "Ġ Sh", + "ĠS h", + ". w", + "b ack", + "ba ck", + "bac k", + "Ġ ser", + "Ġs er", + "Ġse r", + "Ġ +=", + "Ġ+ =", + "Ġ fr", + "Ġf r", + "( ));Ċ", + "() );Ċ", + "()) ;Ċ", + "()); Ċ", + "Ġ hand", + "Ġh and", + "Ġha nd", + "Ġhan d", + "I nd", + "In d", + "U LL", + "UL L", + "I m", + "( );ĊĊ", + "() ;ĊĊ", + "();Ċ Ċ", + "(); ĊĊ", + "Ġ most", + "Ġm ost", + "Ġmo st", + "Ġmos t", + "Ġ try", + "Ġt ry", + "Ġtr y", + "Ġ now", + "Ġn ow", + "Ġno w", + "r ough", + "ro ugh", + "rou gh", + "> čĊ", + "ack age", + "Ġ him", + "Ġh im", + "Ġhi m", + ". _", + "i fy", + "if y", + "Ġ break", + "Ġb reak", + "Ġbre ak", + "Ġ );Ċ", + "Ġ) ;Ċ", + "Ġ); Ċ", + "r en", + "re n", + "# define", + "i tt", + "it t", + "Ġ ap", + "Ġa p", + "ĉ c", + "( n", + "Ġ You", + "ĠY ou", + "ĠYo u", + ": ĊĊ", + ":Ċ Ċ", + "- m", + "Ġ every", + "Ġe very", + "Ġever y", + "Ġev ery", + "Ġeve ry", + "us tom", + "ust om", + "usto m", + "l ient", + "li ent", + "lie nt", + "lien t", + "oc ument", + "ocu ment", + "cri ption", + "cript ion", + "E rror", + "Err or", + "Er ror", + "Erro r", + "- b", + "Ð ¾", + "] [", + "9 9", + "t rans", + "tr ans", + "tra ns", + "tran s", + "Ġ point", + "Ġp oint", + "Ġpo int", + "Ġpoi nt", + "Ġ std", + "Ġs td", + "Ġst d", + "Ġ fil", + "Ġf il", + "Ġfi l", + "T ime", + "Tim e", + "Ti me", + "8 0", + "Ġ mod", + "Ġm od", + "Ġmo d", + "Ġ ->", + "Ġ- >", + "Ġ error", + "Ġe rror", + "Ġerr or", + "Ġer ror", + "Ġerro r", + "a h", + "Ġ text", + "Ġt ext", + "Ġte xt", + "Ġtex t", + "r oller", + "ro ller", + "rol ler", + "roll er", + "l ose", + "lo se", + "los e", + "q l", + "Ġ pol", + "Ġp ol", + "Ġpo l", + "> < /", + "Ġ show", + "Ġs how", + "Ġsh ow", + "Ġsho w", + "U ser", + "Us er", + "Use r", + "a sed", + "as ed", + "ase d", + "Ġ {ĊĊ", + "Ġ{ ĊĊ", + "Ġ{Ċ Ċ", + "Ġ find", + "Ġf ind", + "Ġfin d", + "Ġfi nd", + "Ð °", + "E D", + "s pan", + "sp an", + "spa n", + "e nu", + "en u", + "Ġ current", + "Ġc urrent", + "Ġcur rent", + "Ġcurr ent", + "Ġ used", + "Ġu sed", + "Ġus ed", + "Ġuse d", + "c ept", + "ce pt", + "cep t", + "cl ud", + "Ġ play", + "Ġp lay", + "Ġpl ay", + "Ġpla y", + "Ġ log", + "Ġl og", + "Ġlo g", + "u tion", + "ut ion", + "uti on", + "f l", + "Ġ see", + "Ġs ee", + "Ġse e", + "ind ows", + "indow s", + "indo ws", + "Ġ help", + "Ġh elp", + "Ġhe lp", + "Ġhel p", + "Ġ these", + "Ġth ese", + "Ġthe se", + "Ġ pass", + "Ġp ass", + "Ġpas s", + "Ġpa ss", + "Ġ down", + "Ġd own", + "Ġdo wn", + "Ġdow n", + "Ġ even", + "Ġe ven", + "Ġev en", + "Ġeve n", + "a son", + "as on", + "aso n", + "u ild", + "ui ld", + "uil d", + "f rom", + "fr om", + "( d", + "Ġ bl", + "Ġb l", + "l abel", + "la bel", + "lab el", + "e lse", + "el se", + "els e", + "Ð µ", + "Ġ (!", + "Ġ( !", + "i zed", + "iz ed", + "ize d", + "( ),", + "() ,", + "Ġ ob", + "Ġo b", + "Ġ item", + "Ġit em", + "Ġi tem", + "u mp", + "um p", + "U R", + "o rn", + "or n", + "Ġ don", + "Ġd on", + "Ġdo n", + "S e", + "m an", + "ma n", + "2 7", + "am ple", + "amp le", + "t n", + "= ===============", + "== ==============", + "==== ============", + "======== ========", + "=== =============", + "============ ====", + "============= ===", + "=========== =====", + "============== ==", + "========= =======", + "========== ======", + "=============== =", + "====== ==========", + "===== ===========", + "======= =========", + "H e", + "g ram", + "gr am", + "gra m", + "Ġ did", + "Ġd id", + "Ġdi d", + "w n", + "_ h", + "i ver", + "iv er", + "ive r", + "Ġ sm", + "Ġs m", + "Ġ through", + "Ġth rough", + "Ġthr ough", + "Ġthro ugh", + "Ġ An", + "ĠA n", + "c he", + "ch e", + "Ġ inv", + "Ġin v", + "Ġi nv", + "o use", + "ou se", + "ous e", + "Ġ es", + "Ġe s", + "Ġ New", + "ĠN ew", + "ĠNe w", + "ex port", + "exp ort", + "expo rt", + "m ary", + "ma ry", + "mar y", + "u to", + "ut o", + "l er", + "le r", + "Ġ last", + "Ġl ast", + "Ġla st", + "Ġlas t", + "Ġ event", + "Ġe vent", + "Ġeven t", + "Ġev ent", + "Ġeve nt", + "t ry", + "tr y", + "ï ¼", + "i ly", + "il y", + "ig ned", + "ign ed", + "igne d", + "i nes", + "in es", + "ine s", + "ol low", + "oll ow", + "ollo w", + "ic ense", + "icens e", + "s ole", + "so le", + "sol e", + "l ear", + "le ar", + "lea r", + "( int", + "(i nt", + "(in t", + "Ġ again", + "Ġa gain", + "Ġag ain", + "Ġ high", + "Ġh igh", + "Ġhi gh", + "h tml", + "ht ml", + "htm l", + "In dex", + "Ind ex", + "ut hor", + "uth or", + "Ġ /**Ċ", + "Ġ/ **Ċ", + "Ġ/* *Ċ", + "Ġ/** Ċ", + "Ġ line", + "Ġl ine", + "Ġli ne", + "Ġlin e", + "E vent", + "Even t", + "Ev ent", + "_ D", + "Ġ does", + "Ġd oes", + "Ġdo es", + "Ġdoe s", + "it ial", + "iti al", + "itia l", + "Ġ cr", + "Ġc r", + "a rs", + "ar s", + "2 8", + "Ġ tem", + "Ġt em", + "Ġte m", + "c ause", + "ca use", + "f ace", + "fa ce", + "fac e", + "Ġ `", + "_ A", + "B utton", + "But ton", + "a ture", + "at ure", + "atur e", + "atu re", + "ect ed", + "ec ted", + "E S", + "i ster", + "is ter", + "ist er", + "iste r", + "ĉ Ċ", + "Ġ before", + "Ġb efore", + "Ġbe fore", + "Ġbef ore", + "a le", + "al e", + "o ther", + "ot her", + "oth er", + "Ġ because", + "Ġb ecause", + "Ġbe cause", + "Ġbec ause", + "r oid", + "ro id", + "roi d", + "Ġ ed", + "Ġe d", + "i k", + "r eg", + "re g", + "Ġ De", + "ĠD e", + "Ġ dist", + "Ġd ist", + "Ġdis t", + "Ġdi st", + "} ,Ċ", + "}, Ċ", + "Ġ state", + "Ġst ate", + "Ġstat e", + "Ġsta te", + "Ġ cons", + "Ġc ons", + "Ġcon s", + "Ġco ns", + "r int", + "ri nt", + "rin t", + "a tt", + "at t", + "Ġ here", + "Ġh ere", + "Ġhe re", + "Ġher e", + "i ned", + "in ed", + "ine d", + "Ġ final", + "Ġf inal", + "Ġfin al", + "Ġfi nal", + "Ġ \"\"", + "Ġ\" \"", + "K ey", + "Ke y", + "L O", + "Ġ del", + "Ġd el", + "Ġde l", + "p ty", + "pt y", + "th ing", + "thin g", + "2 6", + "Ġ And", + "ĠA nd", + "ĠAn d", + "Ġ run", + "Ġr un", + "Ġru n", + "Ġ X", + "y m", + ". app", + ".ap p", + ".a pp", + "Ġ very", + "Ġv ery", + "Ġver y", + "Ġve ry", + "c es", + "ce s", + "_ N", + "a red", + "ar ed", + "are d", + "w ard", + "wa rd", + "war d", + "l ist", + "li st", + "lis t", + "i ted", + "it ed", + "ite d", + "o log", + "ol og", + "olo g", + "it ch", + "B ox", + "Bo x", + "i fe", + "if e", + "3 3", + "Ġ ac", + "Ġa c", + "Ġ model", + "Ġm odel", + "Ġmod el", + "Ġmode l", + "Ġmo del", + "Ġ mon", + "Ġm on", + "Ġmo n", + "Ġ way", + "Ġw ay", + "Ġwa y", + "l ete", + "le te", + "let e", + "Ġ call", + "Ġc all", + "Ġcal l", + "Ġca ll", + "Ġ att", + "Ġa tt", + "Ġat t", + "Ġ cal", + "Ġc al", + "Ġca l", + "v ert", + "ver t", + "ve rt", + "Ġ dec", + "Ġd ec", + "Ġde c", + "l ease", + "le ase", + "lea se", + "o un", + "ou n", + "Ġ });Ċ", + "Ġ} );Ċ", + "Ġ}) ;Ċ", + "Ġ}); Ċ", + "f r", + "form ation", + "format ion", + "forma tion", + "e tail", + "et ail", + "eta il", + "Ġ num", + "Ġn um", + "Ġnu m", + "a j", + "qu ery", + "que ry", + "quer y", + "Ġ well", + "Ġw ell", + "Ġwe ll", + "Ġwel l", + "Ġ object", + "Ġo bject", + "Ġob ject", + "Ġobj ect", + "Ġ As", + "ĠA s", + "Ġ years", + "Ġy ears", + "Ġyear s", + "Ġye ars", + "C olor", + "Col or", + "Co lor", + "I S", + "Ġ default", + "Ġd efault", + "Ġde fault", + "Ġdef ault", + "Ġdefa ult", + "W h", + "Ġ ins", + "Ġin s", + "Ġi ns", + "a int", + "ain t", + "ai nt", + "Ġ java", + "Ġj ava", + "Ġjav a", + "Ġja va", + "Ġ sim", + "Ġs im", + "Ġsi m", + "Ġ Ar", + "ĠA r", + "m on", + "mo n", + "t il", + "ti l", + "( );čĊ", + "() ;čĊ", + "(); čĊ", + ") :", + "S et", + "Se t", + "2 9", + "at ter", + "att er", + "atte r", + "Ġ view", + "Ġv iew", + "Ġvi ew", + "Ġvie w", + "Ġ pres", + "Ġp res", + "Ġpr es", + "Ġpre s", + "a rray", + "ar ray", + "arr ay", + "arra y", + "W e", + "A t", + "Ġ bel", + "Ġb el", + "Ġbe l", + "Ġ many", + "Ġm any", + "Ġman y", + "Ġma ny", + "2 1", + "M an", + "Ma n", + "e nder", + "en der", + "end er", + "ende r", + "Ġ being", + "Ġb eing", + "Ġbe ing", + "Ġbei ng", + "Ġ good", + "Ġg ood", + "Ġgo od", + "Ġgoo d", + "ĉ ĉĉĉĉĉ", + "ĉĉ ĉĉĉĉ", + "ĉĉĉĉ ĉĉ", + "ĉĉĉ ĉĉĉ", + "ĉĉĉĉĉ ĉ", + "at ional", + "ation al", + "atio nal", + "ati onal", + "w are", + "wa re", + "war e", + ". log", + ".l og", + ".lo g", + "{ čĊ", + "Ġ using", + "Ġu sing", + "Ġus ing", + "_ B", + "Ġ :=", + "Ġ: =", + "_ w", + "i sts", + "is ts", + "ist s", + "l ish", + "li sh", + "lis h", + "Ġ stud", + "Ġst ud", + "Ġstu d", + "Ġ Al", + "ĠA l", + "Ġ gu", + "Ġg u", + "con fig", + "conf ig", + "u ring", + "ur ing", + "uri ng", + "t ime", + "ti me", + "tim e", + "o ken", + "ok en", + "oke n", + "ame space", + "ames pace", + "Ġ request", + "Ġre quest", + "Ġreq uest", + "Ġrequ est", + "Ġ child", + "Ġch ild", + "Ġchi ld", + "Ġ Ã", + "l ob", + "lo b", + "Ġ param", + "Ġp aram", + "Ġpar am", + "Ġpara m", + "Ġpa ram", + "Ġ }čĊ", + "Ġ} čĊ", + "0 1", + "Ġ echo", + "Ġe cho", + "Ġec ho", + "Ġech o", + "f unction", + "func tion", + "fun ction", + "**** ****************************", + "******** ************************", + "**************** ****************", + "************************ ********", + "******************** ************", + "**************************** ****", + "************ ********************", + "p s", + "E lement", + "El ement", + "Elem ent", + "Ele ment", + "a lk", + "al k", + "l ication", + "lic ation", + "li cation", + "lica tion", + "b y", + "S ize", + "Si ze", + "ra wing", + "raw ing", + "Ġ person", + "Ġp erson", + "Ġper son", + "Ġpers on", + "Ġperso n", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "\\ n", + "o bject", + "ob ject", + "obj ect", + "i nce", + "in ce", + "inc e", + "E n", + "F ile", + "Fi le", + "Fil e", + "u f", + "f fect", + "ff ect", + "ffe ct", + "A C", + "Ġ style", + "Ġst yle", + "Ġsty le", + "Ġstyl e", + "sum mary", + "summ ary", + "Ġ que", + "Ġqu e", + "Ġq ue", + "_ r", + "Ġ ($", + "Ġ( $", + "M odel", + "Mode l", + "Mod el", + "Mo del", + "i dent", + "id ent", + "ide nt", + "iden t", + "Ġ method", + "Ġm ethod", + "Ġmet hod", + "Ġmeth od", + "I L", + "o tt", + "ot t", + "l ess", + "le ss", + "les s", + "I NG", + "IN G", + "Ġ ()", + "Ġ( )", + "Ġ expect", + "Ġex pect", + "Ġexp ect", + "y nc", + "yn c", + "p ackage", + "pack age", + "3 5", + "u rs", + "ur s", + "Ġ prot", + "Ġp rot", + "Ġpro t", + "Ġpr ot", + ". /", + "p re", + "pr e", + "Ġ )Ċ", + "Ġ) Ċ", + "m a", + "Ġ sur", + "Ġs ur", + "Ġsu r", + "Ġ found", + "Ġf ound", + "Ġfo und", + "Ġfou nd", + "In fo", + "Inf o", + "p ar", + "pa r", + "i mes", + "im es", + "ime s", + ". e", + "a ins", + "ain s", + "ai ns", + "Ġ post", + "Ġp ost", + "Ġpos t", + "Ġpo st", + "- d", + "4 5", + "o lean", + "ol ean", + "ole an", + "Ġ sl", + "Ġs l", + "P E", + "Ġ such", + "Ġs uch", + "Ġsu ch", + "Ġsuc h", + "s elect", + "se lect", + "sel ect", + "a iner", + "ain er", + "ai ner", + "aine r", + "Ġ think", + "Ġth ink", + "Ġthin k", + "Ġthi nk", + "Ġd iffer", + "Ġdif fer", + "Ġdi ffer", + "Ġdiff er", + ". r", + "/ **Ċ", + "/* *Ċ", + "/** Ċ", + "F F", + "o ol", + "oo l", + "p late", + "pl ate", + "plat e", + "pla te", + "q ual", + "qu al", + "qua l", + "Ġ For", + "ĠF or", + "ĠFo r", + "Ġ much", + "Ġm uch", + "Ġmu ch", + "Ġmuc h", + "u c", + "( new", + "(n ew", + "(ne w", + "od ule", + "odu le", + "Ġ som", + "Ġs om", + "Ġso m", + "Ġ http", + "Ġh ttp", + "Ġht tp", + "Ġhtt p", + "Ġ List", + "ĠL ist", + "ĠLi st", + "ĠLis t", + "Ġ count", + "Ġc ount", + "Ġco unt", + "Ġcoun t", + "Ġcou nt", + "Ġ inst", + "Ġin st", + "Ġi nst", + "Ġins t", + "c har", + "ch ar", + "cha r", + "m it", + "mi t", + ". id", + ".i d", + "a king", + "ak ing", + "aki ng", + "akin g", + "Ġ gener", + "Ġg ener", + "Ġge ner", + "Ġgen er", + "Ġgene r", + "p x", + "v ice", + "vi ce", + "vic e", + "3 7", + "_ data", + "_d ata", + "_dat a", + "_da ta", + "Ġ NULL", + "ĠN ULL", + "ĠNU LL", + "} čĊ", + "i dd", + "id d", + "ãĢ Ĥ", + "Ġ med", + "Ġm ed", + "Ġme d", + "o rg", + "or g", + "i der", + "id er", + "ide r", + "a che", + "ac he", + "ach e", + "w ork", + "wo rk", + "wor k", + "Ġ check", + "Ġc heck", + "Ġch eck", + "Ġche ck", + "w een", + "we en", + "Ġ ((", + "Ġ( (", + "t he", + "th e", + "a nts", + "an ts", + "ant s", + "> <", + ". B", + "- c", + "Ġ open", + "Ġo pen", + "Ġop en", + "Ġ est", + "Ġe st", + "Ġes t", + "Ġ ĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ Ċ", + "ĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĊ", + "Ġ next", + "Ġn ext", + "Ġne xt", + "Ġnex t", + "I M", + "Ñ Ĥ", + "O T", + "à ³", + "Ġ follow", + "Ġf ollow", + "Ġfol low", + "Ġfoll ow", + "c ontent", + "con tent", + "cont ent", + "conte nt", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "Ġin clud", + "Ġincl ud", + "Ġinclu d", + "H E", + "Ġ Res", + "ĠR es", + "ĠRe s", + "Ġ href", + "Ġh ref", + "Ġhr ef", + "Ð ¸", + "Ġ car", + "Ġc ar", + "Ġca r", + "y pes", + "ype s", + "yp es", + "i mage", + "im age", + "ima ge", + "imag e", + "U n", + "Ġ bool", + "Ġb ool", + "Ġbo ol", + "Ġboo l", + "A D", + "Ġ game", + "Ġg ame", + "Ġgam e", + "Ġga me", + ". Form", + ".F orm", + ".For m", + "r ows", + "ro ws", + "row s", + "* /", + "v elop", + "ve lop", + "vel op", + ". Drawing", + ".D rawing", + ".Draw ing", + "Ġ path", + "Ġp ath", + "Ġpat h", + "Ġpa th", + "is ion", + "isi on", + "Ġ each", + "Ġe ach", + "Ġea ch", + "Ġ Pl", + "ĠP l", + "_ type", + "_t ype", + "_typ e", + "_ty pe", + "P ath", + "Pa th", + "Pat h", + "n ection", + "ne ction", + "nect ion", + "Ġ av", + "Ġa v", + "' ).", + "') .", + "Ġ support", + "Ġs upport", + "Ġsup port", + "Ġsupp ort", + "E NT", + "EN T", + "r em", + "re m", + "\" ).", + "\") .", + "Ġ own", + "Ġo wn", + "Ġow n", + "Ġ cor", + "Ġc or", + "Ġco r", + "c ount", + "co unt", + "cou nt", + "m iss", + "mi ss", + "mis s", + "u ally", + "ual ly", + "Ġ mem", + "Ġm em", + "Ġme m", + "s td", + "st d", + "i ence", + "ie nce", + "ien ce", + "s earch", + "se arch", + "sea rch", + "\" ĊĊ", + "\"Ċ Ċ", + "F orm", + "For m", + "Fo rm", + "Ġ sex", + "Ġs ex", + "Ġse x", + "e name", + "en ame", + "ena me", + "Ġ sign", + "Ġs ign", + "Ġsi gn", + "Ġsig n", + "Ġ et", + "Ġe t", + "Ġ ĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠ ĠĠĠĠ", + "' ,'", + "', '", + "Ġ App", + "ĠA pp", + "ĠAp p", + "Ġ those", + "Ġth ose", + "Ġtho se", + "o ff", + "of f", + "Ġ err", + "Ġe rr", + "Ġer r", + "Ġ system", + "Ġs ystem", + "Ġsys tem", + "Ġsy stem", + "Ġsyst em", + "Ġ best", + "Ġb est", + "Ġbe st", + "Ġbes t", + "c ode", + "co de", + "cod e", + "Ġ same", + "Ġs ame", + "Ġsa me", + "Ġsam e", + "Ġ di", + "Ġd i", + "u ss", + "us s", + "Ġ create", + "Ġc reate", + "Ġcre ate", + "Ġcreat e", + "Ġcrea te", + "a ther", + "at her", + "ath er", + "athe r", + "A rray", + "Ar ray", + "Arr ay", + ". in", + ".i n", + "f e", + "S ervice", + "Ser vice", + "Serv ice", + "U N", + "a ts", + "at s", + "Ġ Z", + "al th", + "alt h", + "Ġ made", + "Ġm ade", + "Ġma de", + "Ġmad e", + "tr ue", + "tru e", + "A B", + "Ġ mark", + "Ġm ark", + "Ġmar k", + "Ġma rk", + "r id", + "ri d", + "if ied", + "ifi ed", + "ifie d", + ", čĊ", + "y n", + "p ress", + "pr ess", + "pre ss", + "pres s", + "Ġ group", + "Ġg roup", + "Ġgr oup", + "Ġgro up", + "Ġgrou p", + "Ġ fin", + "Ġf in", + "Ġfi n", + "Ġ License", + "ĠL icense", + "ĠLic ense", + "F ield", + "Fi eld", + "e ger", + "eg er", + "Ġ world", + "Ġw orld", + "Ġwor ld", + "i ness", + "in ess", + "ine ss", + "ines s", + "t y", + "Ġ process", + "Ġp rocess", + "Ġpro cess", + "Ġproc ess", + "Ġproces s", + "( b", + "Ġ cre", + "Ġc re", + "Ġcr e", + "a rn", + "ar n", + "i ves", + "iv es", + "ive s", + "Ġ main", + "Ġm ain", + "Ġma in", + "Ġmai n", + "i deo", + "id eo", + "ide o", + "3 6", + "_ g", + "A G", + "val id", + "va lid", + "i mg", + "im g", + "P I", + "Ġ color", + "Ġc olor", + "Ġco lor", + "Ġcol or", + "Ġ report", + "Ġre port", + "Ġrep ort", + "Ġrepo rt", + "Ġ take", + "Ġt ake", + "Ġta ke", + "Ġtak e", + "r ib", + "ri b", + "O M", + "Ġ day", + "Ġd ay", + "Ġda y", + "Re quest", + "Req uest", + "Ġ sk", + "Ġs k", + "b ers", + "ber s", + "be rs", + "ĉ s", + ". Add", + ".A dd", + ".Ad d", + "o ot", + "oo t", + "I mage", + "Im age", + "Ġcom ple", + "Ġcomp le", + "Ġcompl e", + "ol lection", + "oll ection", + "ollect ion", + "olle ction", + "Ġ top", + "Ġt op", + "Ġto p", + "Ġ free", + "Ġf ree", + "Ġfr ee", + "Ġfre e", + "A S", + "D e", + "Ġ On", + "ĠO n", + "I G", + "9 0", + "e ta", + "et a", + "D ate", + "Da te", + "Dat e", + "Ġ action", + "Ġa ction", + "Ġact ion", + "Ġac tion", + "3 4", + "O ver", + "i tor", + "it or", + "ito r", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "n ot", + "no t", + "Ġ index", + "Ġin dex", + "Ġind ex", + "Ġinde x", + "h er", + "he r", + "i con", + "ic on", + "ico n", + "O n", + "; čĊčĊ", + ";čĊ čĊ", + "iv ity", + "ivi ty", + "m and", + "man d", + "ma nd", + ". Windows", + ".W indows", + ".Window s", + "O L", + "Ġ real", + "Ġre al", + "Ġ max", + "Ġm ax", + "Ġma x", + "l and", + "la nd", + "lan d", + ". ...", + ".. ..", + "... .", + "r aph", + "ra ph", + "rap h", + "Ġ build", + "Ġb uild", + "Ġbu ild", + "l eg", + "le g", + "as sword", + "ass word", + "? ĊĊ", + "?Ċ Ċ", + "âĢ ¦", + "o ok", + "oo k", + "u ck", + "uc k", + "Ġ message", + "Ġm essage", + "Ġmess age", + "Ġmes sage", + "t est", + "te st", + "tes t", + "i vers", + "iv ers", + "ive rs", + "iver s", + "3 8", + "Ġ input", + "Ġin put", + "Ġinp ut", + "Ġ art", + "Ġa rt", + "Ġar t", + "Ġ between", + "Ġb etween", + "Ġbet ween", + "G et", + "Ge t", + "en ter", + "ent er", + "ente r", + "g round", + "gr ound", + "gro und", + "e ne", + "en e", + "à ¡", + ". length", + ".l ength", + ".len gth", + ".le ngth", + "N ode", + "No de", + "( i", + "C lass", + "Cl ass", + "Cla ss", + "f or", + "fo r", + "Ġ âĢĶ", + "ĠâĢ Ķ", + "t en", + "te n", + "o in", + "oi n", + "Ġ ke", + "Ġk e", + "u i", + "Ġ IN", + "ĠI N", + "Ġ table", + "Ġt able", + "Ġtab le", + "Ġta ble", + "s ub", + "su b", + "Ġ Le", + "ĠL e", + "Ġ head", + "Ġh ead", + "Ġhe ad", + "Ġ must", + "Ġm ust", + "Ġmus t", + "Ġmu st", + "//// ////////////", + "//////// ////////", + "//////////// ////", + ". util", + ".u til", + ".ut il", + "Cont ext", + "Con text", + "Ġ order", + "Ġor der", + "Ġord er", + "Ġ mov", + "Ġm ov", + "Ġmo v", + "o ver", + "ov er", + "ove r", + "Ġ contin", + "Ġcon tin", + "Ġcont in", + "Ġ say", + "Ġs ay", + "Ġsa y", + "st atic", + "stat ic", + "sta tic", + ". Text", + ".T ext", + ".Te xt", + "Ġ className", + "Ġclass Name", + "p any", + "pan y", + "pa ny", + "Ġ ter", + "Ġt er", + "Ġte r", + "h ead", + "he ad", + "hea d", + "r g", + "Ġ product", + "Ġpro duct", + "Ġprodu ct", + "Ġprod uct", + "T his", + "Th is", + ". âĢĿ", + "Ġ But", + "ĠB ut", + "ĠBu t", + "7 0", + "l oy", + "lo y", + "Ġ double", + "Ġd ouble", + "Ġdo uble", + "Ġdoub le", + "Ġdou ble", + "s g", + "Ġ place", + "Ġp lace", + "Ġpl ace", + "Ġplac e", + "Ġpla ce", + ". x", + "m essage", + "mes sage", + "mess age", + "Ġ information", + "Ġin formation", + "Ġinform ation", + "Ġinformat ion", + "pr ivate", + "priv ate", + "Ġ oper", + "Ġo per", + "Ġop er", + "c ed", + "ce d", + "d b", + "\" > < /", + "P aram", + "Par am", + "Pa ram", + "Para m", + "i cle", + "ic le", + "icl e", + "Ġ week", + "Ġwe ek", + "Ġwee k", + "Ġ prop", + "Ġp rop", + "Ġpro p", + "Ġpr op", + "t able", + "ta ble", + "tab le", + "tabl e", + "id get", + "idge t", + "p lace", + "pl ace", + "pla ce", + "P rop", + "Pro p", + "Pr op", + "Ġ All", + "ĠA ll", + "ĠAl l", + "e ls", + "el s", + "b ox", + "bo x", + ". ĊĊĊĊ", + ".ĊĊ ĊĊ", + ".Ċ ĊĊĊ", + ".ĊĊĊ Ċ", + ". R", + "Ġ To", + "ĠT o", + "i ter", + "it er", + "ite r", + "S h", + "u ration", + "ur ation", + "ura tion", + "urat ion", + "o lder", + "ol der", + "old er", + "_ list", + "_l ist", + "_li st", + "c ome", + "com e", + "co me", + "Ġ sw", + "Ġs w", + "iz ation", + "iza tion", + "ĉ for", + "ĉf or", + "b l", + "Ġ program", + "Ġp rogram", + "Ġpro gram", + "Ġpr ogram", + "Ġprog ram", + "( e", + "a pe", + "ap e", + "c heck", + "ch eck", + "che ck", + ". Forms", + ".Form s", + ".For ms", + "Ġ und", + "Ġu nd", + "Ġun d", + "ateg ory", + "ategor y", + "atego ry", + "7 5", + "a gs", + "ag s", + "Ġ response", + "Ġres ponse", + "Ġrespons e", + "Ġresp onse", + "U S", + "re quest", + "req uest", + "requ est", + "Ġ struct", + "Ġstr uct", + "Ġstru ct", + "e scription", + "es cription", + "Ġ code", + "Ġc ode", + "Ġco de", + "Ġcod e", + "_ H", + "u ffer", + "uff er", + "uf fer", + "Ġ without", + "Ġwith out", + "lo bal", + "lob al", + "M anager", + "Man ager", + "Manage r", + "Mana ger", + "il ter", + "ilt er", + "P O", + "ĉ this", + "ĉt his", + "ĉth is", + "o ption", + "op tion", + "opt ion", + "Ġ sol", + "Ġs ol", + "Ġso l", + "Ġ ===", + "Ġ= ==", + "Ġ== =", + "a kes", + "ak es", + "ake s", + "Cont roller", + "Control ler", + "Contr oller", + "4 4", + "M essage", + "Mes sage", + "Mess age", + "Ġ ref", + "Ġre f", + "Ġr ef", + "e ver", + "ev er", + "eve r", + "Ġ So", + "ĠS o", + "a ining", + "ain ing", + "ai ning", + ". append", + ".app end", + ".ap pend", + "Ġ still", + "Ġst ill", + "Ġstil l", + "Ġpro vid", + "Ġpr ovid", + "Ġprov id", + "Ġ assert", + "Ġas sert", + "Ġass ert", + "m ed", + "me d", + "Ġ cap", + "Ġc ap", + "Ġca p", + "us iness", + "usi ness", + "Ġ rep", + "Ġre p", + "Ġr ep", + "t ings", + "ting s", + "tin gs", + "v ed", + "ve d", + ". N", + "a pi", + "ap i", + "O D", + "Ġ field", + "Ġf ield", + "Ġfi eld", + "Ġfie ld", + "i ven", + "iv en", + "ive n", + "o to", + "ot o", + "âĢ ľ", + "c ol", + "co l", + "( x", + "g ht", + "gh t", + "Res ult", + "C ode", + "Co de", + "Cod e", + ". is", + ".i s", + "l ink", + "li nk", + "lin k", + "Ġ cour", + "Ġc our", + "Ġco ur", + "Ġcou r", + "A n", + "Ġ team", + "Ġt eam", + "Ġte am", + "Ġtea m", + "ĉ int", + "ĉi nt", + "ĉin t", + "i ft", + "if t", + "5 5", + "Ġ second", + "Ġse cond", + "Ġsec ond", + "Ġ going", + "Ġgo ing", + "Ġ range", + "Ġr ange", + "Ġran ge", + "Ġra nge", + "Ġrang e", + "_ E", + "n ess", + "ne ss", + "nes s", + "3 9", + "Ġf am", + "Ġfa m", + "Ġ nil", + "Ġn il", + "Ġni l", + "Ġ Cont", + "ĠC ont", + "ĠCon t", + "ĠCo nt", + "ail able", + "u tes", + "ut es", + "ute s", + "a tab", + "at ab", + "ata b", + "Ġ fact", + "Ġf act", + "Ġfa ct", + "Ġfac t", + "Ġ vis", + "Ġv is", + "Ġvi s", + "( &", + "Ġ AN", + "ĠA N", + "3 1", + "A l", + "t itle", + "ti tle", + "tit le", + "Ġ android", + "Ġand roid", + "C E", + "\\ \"", + "i rt", + "ir t", + "Ġw rit", + "Ġwr it", + "Ð ½", + "ĉ m", + "ft ware", + "o nd", + "on d", + "Ġ ret", + "Ġre t", + "Ġr et", + "os ition", + "osi tion", + "osit ion", + "Ġ home", + "Ġh ome", + "Ġhom e", + "Ġho me", + "Ġ left", + "Ġl eft", + "Ġle ft", + "ar gs", + "arg s", + "m eric", + "mer ic", + "me ric", + "4 8", + "Ġ direct", + "Ġd irect", + "Ġdi rect", + "Ġdir ect", + "Ġdire ct", + "o ci", + "oc i", + "P l", + "A s", + "r et", + "re t", + "a do", + "ad o", + "O f", + "c hn", + "ch n", + "Ġ Get", + "ĠG et", + "ĠGe t", + "e e", + "r oss", + "ro ss", + "ros s", + "( );", + "() ;", + "_ ___", + "__ __", + "___ _", + ". ph", + ".p h", + "I t", + "o ute", + "ou te", + "out e", + "Ġex per", + "Ġexp er", + "ch ool", + "cho ol", + "w ww", + "ww w", + "} ,", + "Ġ allow", + "Ġal low", + "Ġall ow", + "Ġallo w", + "Ġ Â", + "( ))", + "() )", + "s ize", + "si ze", + "siz e", + "i sm", + "is m", + "a i", + "t ract", + "tr act", + "tra ct", + "a ne", + "an e", + ". ..ĊĊ", + ".. .ĊĊ", + "... ĊĊ", + "...Ċ Ċ", + "con text", + "cont ext", + "conte xt", + "Ġ beg", + "Ġb eg", + "Ġbe g", + "C H", + "Ġ page", + "Ġp age", + "Ġpa ge", + "Ġpag e", + "h ip", + "hi p", + "n o", + "c ore", + "co re", + "cor e", + "s p", + "Ġ different", + "Ġd ifferent", + "Ġdiffer ent", + "i able", + "ia ble", + "Ġ Me", + "ĠM e", + "_ IN", + "_I N", + "b utton", + "but ton", + "butt on", + "Ġ Is", + "ĠI s", + "erv ices", + "ervice s", + "Ġ ca", + "Ġc a", + "Ġ around", + "Ġa round", + "Ġar ound", + "Ġarou nd", + "A pp", + "Ap p", + "r ation", + "ra tion", + "rat ion", + "ratio n", + "Ġ rece", + "Ġre ce", + "Ġr ece", + "Ġrec e", + "Ġ really", + "Ġre ally", + "Ġreal ly", + "Ġ image", + "Ġi mage", + "Ġim age", + "Ġimag e", + "Ġima ge", + "Ġ target", + "Ġt arget", + "Ġtar get", + "Ġtarg et", + "Ġ dep", + "Ġd ep", + "Ġde p", + "opy right", + "t ra", + "tr a", + "i ngle", + "in gle", + "ing le", + "i tal", + "it al", + "ita l", + "L ayout", + "Ġ both", + "Ġb oth", + "Ġbo th", + "Ġbot h", + "Over ride", + "a rm", + "ar m", + "= >", + "at erial", + "ate rial", + "ater ial", + "ateria l", + "i led", + "il ed", + "ile d", + "Ġ put", + "Ġp ut", + "Ġpu t", + "Q u", + "Ñ Ģ", + "u ng", + "un g", + "m ap", + "ma p", + "ĉ ĉĉĉĉĉĉĉ", + "ĉĉ ĉĉĉĉĉĉ", + "ĉĉĉĉ ĉĉĉĉ", + "ĉĉĉ ĉĉĉĉĉ", + "ĉĉĉĉĉ ĉĉĉ", + "ĉĉĉĉĉĉ ĉĉ", + "ĉĉĉĉĉĉĉ ĉ", + "Ġ level", + "Ġle vel", + "Ġlev el", + "Ġleve l", + "Com ponent", + "Comp onent", + "b ook", + "bo ok", + "boo k", + "c reen", + "cre en", + "cr een", + "_ RE", + "_R E", + "Ġ config", + "Ġcon fig", + "Ġconf ig", + "ã ģ", + "O r", + ". data", + ".d ata", + ".dat a", + ".da ta", + "Ġ document", + "Ġd ocument", + "Ġdoc ument", + "\" ,\"", + "\", \"", + "trib ute", + "u x", + "L og", + "Lo g", + "f erence", + "fer ence", + "fe rence", + "p ost", + "pos t", + "po st", + "_ e", + "Ġ local", + "Ġl ocal", + "Ġlo cal", + "Ġloc al", + "an dom", + "and om", + "ando m", + "as sert", + "ass ert", + "asse rt", + "asser t", + "V al", + "Va l", + "l ected", + "lect ed", + "lec ted", + "i na", + "in a", + "at abase", + "ata base", + "atab ase", + "A dd", + "Ad d", + "Ġ content", + "Ġc ontent", + "Ġcon tent", + "Ġcont ent", + "Ġconten t", + "Ġconte nt", + ". print", + ".p rint", + ".pr int", + "s igned", + "sign ed", + "sig ned", + "r ic", + "ri c", + ". \"ĊĊ", + ".\" ĊĊ", + ".\"Ċ Ċ", + "Ġ fa", + "Ġf a", + "! ĊĊ", + "!Ċ Ċ", + "- f", + "i ved", + "iv ed", + "ive d", + "Ġ quest", + "Ġqu est", + "Ġque st", + "Ġq uest", + "Ġques t", + ". ex", + ".e x", + "Ġ float", + "Ġf loat", + "Ġflo at", + "Ġ develop", + "Ġde velop", + "Ġdev elop", + "Ġdeve lop", + "Ġdevel op", + "о Ð", + "M ap", + "Ma p", + "a ding", + "ad ing", + "adi ng", + "adin g", + "Ġ poss", + "Ġp oss", + "Ġpos s", + "Ġpo ss", + "U E", + "n amespace", + "name space", + "names pace", + "_ O", + "ĉ b", + ". Get", + ".G et", + ".Ge t", + "> (", + "j son", + "js on", + "e tails", + "et ails", + "etail s", + "eta ils", + "6 6", + "Ġ too", + "Ġt oo", + "Ġto o", + "Ġ extends", + "Ġext ends", + "Ġextend s", + "Ġ None", + "ĠN one", + "ĠNo ne", + "ĠNon e", + "Ġ fore", + "Ġf ore", + "Ġfor e", + "Ġfo re", + "( String", + "(S tring", + "(Str ing", + "form at", + "for mat", + "forma t", + "Ġ great", + "Ġg reat", + "Ġgr eat", + "Ġgre at", + "in ter", + "int er", + "inte r", + "c ale", + "ca le", + "cal e", + "Ñ ģ", + "r on", + "ro n", + "i ving", + "iv ing", + "ivi ng", + "E nt", + "En t", + "e ncy", + "en cy", + "enc y", + "x t", + "o y", + "0 5", + "Ġ month", + "Ġm onth", + "Ġmon th", + "Ġmo nth", + "Ġmont h", + "Ġh app", + "Ġha pp", + "Ġhap p", + "Ġ super", + "Ġs uper", + "Ġsu per", + "Ġsup er", + "b ar", + "ba r", + "d efault", + "de fault", + "def ault", + "_ de", + "_d e", + "or ds", + "ord s", + "l n", + "( {Ċ", + "({ Ċ", + "Ġ Ind", + "ĠI nd", + "ĠIn d", + "a ses", + "as es", + "ase s", + "Ġ title", + "Ġt itle", + "Ġtit le", + "Ġti tle", + "Ġ context", + "Ġcon text", + "Ġcont ext", + "Ġconte xt", + "0 8", + "o h", + "- p", + "E m", + "Ġ met", + "Ġm et", + "Ġme t", + "T est", + "Te st", + "Tes t", + "Ġ life", + "Ġl ife", + "Ġli fe", + "Ġlif e", + "_ v", + "Ġ US", + "ĠU S", + "U I", + "o cation", + "oc ation", + "oca tion", + "m d", + "Ġ [Ċ", + "Ġ[ Ċ", + "Ġ ]", + "s w", + "Ġ incre", + "Ġin cre", + "Ġinc re", + "Ġincr e", + "s cript", + "scri pt", + "scr ipt", + "ent ial", + "enti al", + "w ays", + "way s", + "wa ys", + ". de", + ".d e", + "Ġ src", + "Ġs rc", + "Ġsr c", + "Ġ catch", + "Ġc atch", + "Ġcat ch", + "Ġ Americ", + "ĠA meric", + "ĠAm eric", + "ĠAmer ic", + "/ /Ċ", + "// Ċ", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "Ġ pay", + "Ġp ay", + "Ġpa y", + "p lit", + "pl it", + "âĢ Ķ", + "Ġc oun", + "Ġco un", + "Ġcou n", + "o bj", + "ob j", + ". php", + ".p hp", + ".ph p", + "Ġ change", + "Ġch ange", + "Ġchang e", + "Ġcha nge", + "Ġchan ge", + "e thing", + "eth ing", + "' re", + "'r e", + "a ster", + "as ter", + "ast er", + "aste r", + "l os", + "lo s", + "l ation", + "la tion", + "lat ion", + "Ġ ĠĊ", + "ĠĠ Ċ", + "L e", + "à ¤", + "( {", + "re ady", + "read y", + "rea dy", + "Ġ No", + "ĠN o", + "Ġ position", + "Ġp osition", + "Ġpos ition", + "Ġposit ion", + "Ġposi tion", + "Ġ old", + "Ġo ld", + "Ġol d", + "Ġ book", + "Ġb ook", + "Ġbo ok", + "Ġboo k", + "a bled", + "ab led", + "able d", + "abl ed", + "b ug", + "bu g", + "2 02", + "20 2", + "H and", + "Ha nd", + "Han d", + "} ;ĊĊ", + "};Ċ Ċ", + "}; ĊĊ", + "is play", + "isp lay", + "a ving", + "av ing", + "avi ng", + "avin g", + "0 4", + "Ġg over", + "Ġgo ver", + "Ġgov er", + "Ġ version", + "Ġv ersion", + "Ġvers ion", + "S ystem", + "Sys tem", + "Sy stem", + "n ect", + "ne ct", + "res ponse", + "resp onse", + "respons e", + "St yle", + "U p", + "an gu", + "ang u", + "Ġ three", + "Ġth ree", + "Ġthr ee", + "i nit", + "in it", + "ini t", + "e ro", + "er o", + "Ġ law", + "Ġl aw", + "Ġla w", + "en dif", + "end if", + "endi f", + "Ġ base", + "Ġb ase", + "Ġbas e", + "Ġba se", + "e mail", + "em ail", + "ema il", + "( l", + "_ V", + "Ġ conf", + "Ġcon f", + "Ġco nf", + "A TE", + "AT E", + "Ġ during", + "Ġd uring", + "Ġdu ring", + "Ġdur ing", + "t es", + "te s", + "Ġ console", + "Ġcon sole", + "Ġcons ole", + "Ġ Pr", + "ĠP r", + "Ġ spe", + "Ġs pe", + "Ġsp e", + "v es", + "ve s", + "6 5", + "p ath", + "pat h", + "pa th", + "i alog", + "ial og", + "ia log", + "d ition", + "di tion", + "dit ion", + "_ to", + "_t o", + "ar ds", + "ard s", + "Ġ against", + "Ġagain st", + "et work", + "Ġ Ph", + "ĠP h", + "_ L", + "c ur", + "cu r", + "i mit", + "im it", + "imi t", + "W ith", + "Wi th", + "Ġ power", + "Ġp ower", + "Ġpo wer", + "Ġpow er", + "i um", + "iu m", + "' ;ĊĊ", + "';Ċ Ċ", + "'; ĊĊ", + "Ġw om", + "Ġwo m", + "l eft", + "le ft", + "lef t", + "our ces", + "ource s", + "a tri", + "at ri", + "atr i", + "Ġ Im", + "ĠI m", + "Ġ Man", + "ĠM an", + "ĠMa n", + "or th", + "ort h", + "$ {", + "8 8", + "qu als", + "qual s", + "qua ls", + "e se", + "es e", + "_ size", + "_s ize", + "_si ze", + "Ġ iss", + "Ġis s", + "Ġi ss", + "o tal", + "ot al", + "ota l", + "- g", + "i que", + "iqu e", + "iq ue", + "r ame", + "ra me", + "ram e", + "Ġ width", + "Ġw idth", + "Ġwid th", + "e rg", + "er g", + ") (", + "it tle", + "itt le", + "T R", + "Ġ They", + "ĠT hey", + "ĠThe y", + "ĠTh ey", + "e nces", + "en ces", + "ence s", + "enc es", + "0 2", + "r l", + "o ns", + "on s", + "Ġ label", + "Ġl abel", + "Ġla bel", + "Ġlab el", + ". y", + "- t", + "up date", + "upd ate", + "a nel", + "an el", + "ane l", + "s c", + ". to", + ".t o", + "Ġ project", + "Ġpro ject", + "Ġproj ect", + "Ġproje ct", + "à ¼", + "Ġ element", + "Ġe lement", + "Ġel ement", + "Ġele ment", + "Ġelem ent", + "Ġ success", + "Ġs uccess", + "Ġsu ccess", + "Ġsuc cess", + "Ġsucc ess", + "Ġsucces s", + "ĉ ĉĊ", + "ĉĉ Ċ", + ". sh", + ".s h", + "r am", + "ra m", + "c hed", + "ch ed", + "che d", + "( ))Ċ", + "() )Ċ", + "()) Ċ", + "Ġ (Ċ", + "Ġ( Ċ", + "Ġ date", + "Ġd ate", + "Ġda te", + "Ġdat e", + "Ġ tot", + "Ġt ot", + "Ġto t", + "_ ST", + "_S T", + "A ll", + "Al l", + "if ication", + "ific ation", + "ifi cation", + "ifica tion", + "ĉ var", + "ĉv ar", + "ĉva r", + "Ġ tri", + "Ġt ri", + "Ġtr i", + "c hem", + "ch em", + "che m", + "m y", + "Ġ big", + "Ġb ig", + "Ġbi g", + "Ġ Ad", + "ĠA d", + "Ġ At", + "ĠA t", + "o ts", + "ot s", + "n um", + "nu m", + "A ct", + "Ac t", + "Ġ map", + "Ġm ap", + "Ġma p", + "e ra", + "er a", + "c ope", + "co pe", + "cop e", + ". $", + ", âĢĿ", + "Ġ pop", + "Ġp op", + "Ġpo p", + "Ġ few", + "Ġf ew", + "Ġfe w", + "Ġ len", + "Ġl en", + "Ġle n", + "u id", + "ui d", + "e ters", + "et ers", + "eter s", + "ete rs", + "u les", + "ul es", + "ule s", + "à Ń", + "s ource", + "ht tps", + "http s", + "htt ps", + "Ġ dem", + "Ġd em", + "Ġde m", + "Ġ ear", + "Ġe ar", + "Ġea r", + "#### ############", + "######## ########", + "############ ####", + "Ġ match", + "Ġm atch", + "Ġmat ch", + "o ries", + "or ies", + "ori es", + "orie s", + "4 9", + "a ces", + "ace s", + "ac es", + "Ġ Cl", + "ĠC l", + "Ġ node", + "Ġn ode", + "Ġno de", + "Ġnod e", + "7 8", + "i rc", + "ir c", + "l ocal", + "lo cal", + "loc al", + "un ity", + "unit y", + "uni ty", + "} ;Ċ", + "}; Ċ", + "Ġ another", + "Ġan other", + "Ġano ther", + "< <", + "o gle", + "og le", + "ogl e", + "Ġ sit", + "Ġs it", + "Ġsi t", + "e work", + "ew ork", + "T E", + ". I", + "N S", + "o logy", + "ol ogy", + "olog y", + "olo gy", + "o ught", + "ou ght", + "ough t", + "oug ht", + ". Cont", + ".C ont", + ".Con t", + ".Co nt", + "> >", + "Ġ care", + "Ġc are", + "Ġcar e", + "Ġca re", + "st ate", + "stat e", + "sta te", + "ĉ private", + "ĉpr ivate", + "ĉpriv ate", + "Ġ effect", + "Ġe ffect", + "Ġeff ect", + "Ġef fect", + "+ +)", + "++ )", + "_ file", + "_f ile", + "_fil e", + "en ding", + "end ing", + "endi ng", + "L ine", + "Li ne", + "Lin e", + "F or", + "Fo r", + "i or", + "io r", + "Ġ Sc", + "ĠS c", + "Ġ fun", + "Ġf un", + "Ġfu n", + ". Size", + ".S ize", + "ĉ else", + "ĉe lse", + "ĉel se", + "] )", + "st art", + "star t", + "sta rt", + "v ious", + "vi ous", + "vio us", + "Ġ },", + "Ġ} ,", + "o urs", + "ou rs", + "our s", + "Ġ leg", + "Ġl eg", + "Ġle g", + "Ġ service", + "Ġs ervice", + "Ġser vice", + "Ġserv ice", + "Ġservi ce", + "Ġservic e", + "Ġ since", + "Ġs ince", + "Ġsi nce", + "Ġsin ce", + "Ġsinc e", + "i ron", + "ir on", + "iro n", + "L abel", + "La bel", + "Lab el", + "Ġ non", + "Ġn on", + "Ġno n", + "Ġ los", + "Ġl os", + "Ġlo s", + "i ction", + "ic tion", + "ict ion", + "Ġ full", + "Ġf ull", + "Ġful l", + "Ġfu ll", + "a cter", + "act er", + "ac ter", + "b oard", + "bo ard", + "boa rd", + "g ress", + "gr ess", + "gre ss", + "gres s", + "Ġ turn", + "Ġt urn", + "Ġtu rn", + "Ġtur n", + "i ther", + "it her", + "ith er", + "ithe r", + "0 9", + ". size", + ".s ize", + ".si ze", + "Ġ body", + "Ġb ody", + "Ġbo dy", + "Ġbod y", + "r esh", + "re sh", + "res h", + "e turn", + "et urn", + "etur n", + "etu rn", + "1 99", + "19 9", + "( _", + "y les", + "yle s", + "yl es", + "or mal", + "orm al", + "p i", + "Ġ something", + "Ġs omething", + "Ġsome thing", + "Ġsom ething", + "! --", + "u int", + "ui nt", + "uin t", + "Ġ produ", + "Ġp rodu", + "Ġpro du", + "Ġpr odu", + "Ġprod u", + "Ġ stand", + "Ġst and", + "Ġsta nd", + "Ġstan d", + "Ġpro ble", + "Ġpr oble", + "Ġprob le", + "Ġprobl e", + "Ġ available", + "Ġa vailable", + "Ġav ailable", + "Ġavail able", + "m t", + "Ġ Bl", + "ĠB l", + "Ġ ...", + "Ġ. ..", + "Ġ.. .", + "Ġ block", + "Ġb lock", + "Ġbl ock", + "Ġblo ck", + "Ġbloc k", + "In put", + "Ġ keep", + "Ġke ep", + "C ount", + "Co unt", + "Cou nt", + "o pen", + "op en", + "ope n", + "Ġ ['", + "Ġ[ '", + "Ġ throw", + "Ġth row", + "Ġthr ow", + "Ġthro w", + "u ilder", + "uild er", + "ui lder", + "uil der", + "A ction", + "Act ion", + "Ac tion", + "Ġ things", + "Ġth ings", + "Ġthing s", + "Ġthin gs", + "Tr ue", + "Ġ url", + "Ġu rl", + "Ġur l", + "Ġ Bo", + "ĠB o", + "print f", + "Ġ red", + "Ġre d", + "Ġr ed", + "j s", + ". create", + ".c reate", + "Ġ Or", + "ĠO r", + "S tatus", + "St atus", + "Stat us", + "In stance", + "Inst ance", + "Ġ control", + "Ġc ontrol", + "Ġcont rol", + "Ġcontr ol", + "Ġcontro l", + "Ġ come", + "Ġc ome", + "Ġcom e", + "Ġco me", + "Ġ custom", + "Ġc ustom", + "Ġcust om", + "Ġcus tom", + "l ocation", + "lo cation", + "loc ation", + "0 7", + "m odel", + "mod el", + "mo del", + "mode l", + "Ġ čĊ", + "Ġč Ċ", + "Ġ source", + "Ġs ource", + "Ġsour ce", + "Ġe as", + "Ġea s", + ". out", + ".o ut", + "] ĊĊ", + "]Ċ Ċ", + "o ney", + "on ey", + "one y", + "Ġ await", + "Ġa wait", + "Ġaw ait", + "Ġp artic", + "Ġpart ic", + "Ġpar tic", + "Ġparti c", + "A P", + "ub lish", + "ubl ish", + "o des", + "od es", + "ode s", + "_ pro", + "_p ro", + "_pr o", + "p ly", + "pl y", + "r iter", + "ri ter", + "rit er", + "rite r", + "Ġ prov", + "Ġp rov", + "Ġpro v", + "Ġpr ov", + "Ġ mill", + "Ġm ill", + "Ġmil l", + "Ġmi ll", + "H T", + "] )Ċ", + "]) Ċ", + "Ġ chang", + "Ġc hang", + "Ġch ang", + "Ġcha ng", + "Ġchan g", + "Ġ ask", + "Ġa sk", + "Ġas k", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "Ġ output", + "Ġout put", + "Ġ email", + "Ġe mail", + "Ġem ail", + "6 8", + ". push", + ".p ush", + "Ġ }čĊčĊ", + "Ġ} čĊčĊ", + "Ġ}čĊ čĊ", + "i nation", + "in ation", + "ina tion", + "inati on", + "4 7", + "at rix", + "atri x", + "atr ix", + "T able", + "Tab le", + "Ta ble", + "u ccess", + "uc cess", + "ucc ess", + "] );Ċ", + "]) ;Ċ", + "]); Ċ", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġ disc", + "Ġd isc", + "Ġdis c", + "Ġdi sc", + "( [", + "Ġ business", + "Ġb usiness", + "Ġbus iness", + "h eight", + "he ight", + "hei ght", + ". html", + ".h tml", + ".ht ml", + ".htm l", + "t a", + "f ield", + "fi eld", + "Ġ required", + "Ġre quired", + "Ġrequire d", + "Ġrequ ired", + "_ R", + "Ġg overn", + "Ġgo vern", + "Ġgover n", + "Ġgov ern", + "} čĊčĊ", + "}čĊ čĊ", + "l ex", + "le x", + "5 00", + "50 0", + ". ,", + "Ġ Set", + "ĠS et", + "ĠSe t", + "u rch", + "ur ch", + "/ //", + "// /", + "t s", + "a f", + "Ġ might", + "Ġm ight", + "Ġmi ght", + "Ġmig ht", + "i story", + "ist ory", + "istor y", + "isto ry", + "S tr", + "St r", + "Ġ never", + "Ġn ever", + "Ġne ver", + "Ġnev er", + "Res ponse", + "Resp onse", + "Respons e", + "ar se", + "ars e", + "a da", + "ad a", + "Ġ How", + "ĠH ow", + "ĠHo w", + "Ġ *)", + "Ġ* )", + "Ġ ;", + "Ġ hard", + "Ġh ard", + "Ġhar d", + "Ġha rd", + "A d", + "Ġ intern", + "Ġin tern", + "Ġint ern", + "Ġinter n", + "Ġinte rn", + "u sed", + "us ed", + "use d", + "( data", + "(d ata", + "(dat a", + "(da ta", + "m od", + "mo d", + "an nel", + "ann el", + "anne l", + "Ġ np", + "Ġn p", + "u gg", + "ug g", + "Ġ />Ċ", + "Ġ/ >Ċ", + "Ġ/> Ċ", + "Ġ called", + "Ġc alled", + "Ġcall ed", + "Ġcal led", + "Ġcalle d", + "b ody", + "bo dy", + "Ġ cho", + "Ġc ho", + "Ġch o", + "( r", + "_ set", + "_s et", + "_se t", + "i rd", + "ir d", + "Ġ >=", + "Ġ> =", + "Ġ };Ċ", + "Ġ} ;Ċ", + "Ġ}; Ċ", + "Ġ options", + "Ġo ptions", + "Ġoption s", + "Ġopt ions", + "Ġ Gener", + "ĠG ener", + "ĠGe ner", + "ĠGen er", + "ĠGene r", + "Ġ height", + "Ġh eight", + "Ġhe ight", + "Ġhei ght", + "P oint", + "Po int", + "Y ou", + "Yo u", + "e ty", + "et y", + "C lick", + "Cl ick", + "Cli ck", + "Ġ small", + "Ġs mall", + "Ġsm all", + "Ġ ide", + "Ġi de", + "Ġid e", + "Ġ access", + "Ġa ccess", + "Ġacc ess", + "Ġac cess", + "Ġacces s", + "angu age", + "Ġ protected", + "Ġprot ected", + "Ġprotect ed", + "Ġ job", + "Ġj ob", + "Ġjo b", + "Ġ There", + "ĠT here", + "ĠThe re", + "ĠTh ere", + "ĠTher e", + "D ef", + "De f", + "Ġ address", + "Ġadd ress", + "Ġad dress", + "Ġaddr ess", + "Ġ uint", + "Ġu int", + "Ġui nt", + "N ot", + "No t", + "o o", + "a ps", + "ap s", + "< div", + "", + "() ->", + "()- >", + "ĉ ĠĠĠ", + "ĉĠ ĠĠ", + "ĉĠĠ Ġ", + "\" ))", + "\") )", + "C ontent", + "Cont ent", + "Con tent", + "_ W", + "p lement", + "pl ement", + "ple ment", + "Ġ won", + "Ġw on", + "Ġwo n", + "Ġ video", + "Ġv ideo", + "Ġvi deo", + "Ġvid eo", + "Ġvide o", + "a di", + "ad i", + "p oint", + "po int", + "poi nt", + "% %", + "0 3", + "Ġ gl", + "Ġg l", + "er ved", + "erv ed", + "erve d", + "v iron", + "vi ron", + "vir on", + "I F", + "u ted", + "ut ed", + "ute d", + "ã ĥ", + "' m", + "Ġ cert", + "Ġc ert", + "Ġce rt", + "Ġcer t", + "Ġ prof", + "Ġp rof", + "Ġpro f", + "Ġpr of", + "Ġ cell", + "Ġc ell", + "Ġce ll", + "Ġcel l", + "a ri", + "ar i", + "Ġ player", + "Ġp layer", + "Ġpl ayer", + "Ġplay er", + "Ġpla yer", + "a is", + "ai s", + "Ġ cost", + "Ġc ost", + "Ġco st", + "Ġcos t", + "Ġ hum", + "Ġh um", + "Ġhu m", + "( R", + "Ġo ffic", + "Ġof fic", + "Ġoff ic", + "k s", + ". text", + ".t ext", + ".te xt", + ".tex t", + "a tures", + "at ures", + "ature s", + "atur es", + "atu res", + "Ġ total", + "Ġt otal", + "Ġto tal", + "Ġtot al", + "Ġ */ĊĊ", + "Ġ* /ĊĊ", + "Ġ*/ ĊĊ", + "Ġ*/Ċ Ċ", + "o pe", + "op e", + "Ġ stat", + "Ġs tat", + "Ġst at", + "Ġsta t", + "U M", + "Ġ load", + "Ġl oad", + "Ġlo ad", + "Ġloa d", + "ight s", + "igh ts", + "Ġ clear", + "Ġc lear", + "Ġcl ear", + "Ġcle ar", + "u ro", + "ur o", + "Ġ techn", + "Ġt echn", + "Ġte chn", + "Ġtech n", + "Ġtec hn", + "up port", + "upp ort", + "I R", + "Ġ row", + "Ġr ow", + "Ġro w", + "Ġse em", + "Ġsee m", + "Ġ q", + "Ġ short", + "Ġs hort", + "Ġsh ort", + "Ġsho rt", + "Ġ Not", + "ĠN ot", + "ĠNo t", + "i pp", + "ip p", + "G roup", + "Gr oup", + "Gro up", + "s ection", + "se ction", + "sec tion", + "sect ion", + "m ax", + "ma x", + "i rl", + "ir l", + "Ġ override", + "Ġover ride", + "Ġ company", + "Ġcom pany", + "Ġcomp any", + "Ġcompan y", + "Ġ done", + "Ġd one", + "Ġdo ne", + "Ġdon e", + "\" );čĊ", + "\") ;čĊ", + "\"); čĊ", + "Ġ gre", + "Ġg re", + "Ġgr e", + ". Re", + ".R e", + "Ġ belie", + "Ġbe lie", + "Ġbel ie", + "r ist", + "ri st", + "ris t", + "Ġ health", + "Ġhe alth", + "Ġheal th", + "A NT", + "AN T", + "( )ĊĊ", + "() ĊĊ", + "()Ċ Ċ", + "Ġ Be", + "ĠB e", + ". value", + ".v alue", + ".val ue", + ".va lue", + "Ġ Gr", + "ĠG r", + "ot tom", + "ott om", + "otto m", + "Ġ args", + "Ġar gs", + "Ġarg s", + "P T", + "s tatus", + "st atus", + "stat us", + "f unc", + "fun c", + "fu nc", + "u ments", + "um ents", + "ument s", + "ume nts", + "umen ts", + "- h", + "N umber", + "Num ber", + ": čĊ", + "Ġ Log", + "ĠL og", + "ĠLo g", + "er ver", + "erv er", + "erve r", + "Ġ ),Ċ", + "Ġ) ,Ċ", + "Ġ), Ċ", + "a ment", + "am ent", + "ame nt", + "amen t", + "Ġ obj", + "Ġo bj", + "Ġob j", + "i nc", + "in c", + "Ġ children", + "Ġch ildren", + "Ġchild ren", + "i cy", + "ic y", + "I Z", + "a nds", + "an ds", + "and s", + "ab ly", + "abl y", + "Ġd istrib", + "Ġdis trib", + "Ġdist rib", + "Ġdistr ib", + "Ġ cur", + "Ġc ur", + "Ġcu r", + "e rial", + "er ial", + "eri al", + "eria l", + "Ġ days", + "Ġd ays", + "Ġday s", + "Ġda ys", + "r eated", + "re ated", + "reate d", + "reat ed", + "rea ted", + "r ect", + "re ct", + "rec t", + "- l", + "i rm", + "ir m", + "i dden", + "id den", + "idd en", + "o mb", + "om b", + "Ġ initial", + "Ġin itial", + "Ġinit ial", + "Ġiniti al", + ". js", + ".j s", + "Ġ â", + "Qu ery", + "Que ry", + "Ġ online", + "Ġon line", + "i mal", + "im al", + "ima l", + ". con", + ".c on", + ".co n", + "a u", + "U rl", + "Ur l", + "c ontrol", + "cont rol", + "contr ol", + "contro l", + "i rection", + "ir ection", + "ire ction", + "irect ion", + "Ġ instance", + "Ġin stance", + "Ġinst ance", + "O RT", + "OR T", + "Ġ Fr", + "ĠF r", + "w here", + "wh ere", + "Ġ javax", + "Ġj avax", + "Ġjav ax", + "Ġjava x", + "Ġ organ", + "Ġo rgan", + "Ġor gan", + "Ġorg an", + "a pter", + "ap ter", + "apt er", + "Ġ reason", + "Ġre ason", + "o ptions", + "option s", + "opt ions", + "5 9", + "Ġ Mar", + "ĠM ar", + "ĠMa r", + "( a", + "Ġ within", + "Ġwith in", + "Ġwi thin", + "Ġwit hin", + ". âĢĿĊĊ", + ".âĢĿ ĊĊ", + ".âĢĿĊ Ċ", + "O DE", + "OD E", + "_ DE", + "_D E", + "ad min", + "adm in", + "en ded", + "end ed", + "ende d", + "Ġ design", + "Ġd esign", + "Ġde sign", + "Ġdes ign", + "Ġdesi gn", + "Ġ Data", + "ĠD ata", + "ĠDa ta", + "ĠDat a", + "u ne", + "un e", + "Ġ File", + "ĠF ile", + "ĠFil e", + "ĠFi le", + "r oot", + "ro ot", + "Ġ cent", + "Ġc ent", + "Ġce nt", + "Ġcen t", + "Ġ arr", + "Ġa rr", + "Ġar r", + "_ add", + "_a dd", + "_ad d", + "l en", + "le n", + "p age", + "pa ge", + "pag e", + ", '", + "_ str", + "_s tr", + "_st r", + "Ġ bro", + "Ġb ro", + "Ġbr o", + "ab ility", + "abil ity", + "abilit y", + "o uth", + "ou th", + "out h", + "5 8", + "/ c", + "p ose", + "pos e", + "po se", + "ir tual", + "irt ual", + "e arch", + "ear ch", + "ea rch", + "_ url", + "_u rl", + "_ur l", + "ar gin", + "arg in", + "H ttp", + "Ġ school", + "Ġs chool", + "Ġsch ool", + "Ġscho ol", + "a va", + "av a", + "Ġ consider", + "Ġcons ider", + "Ġconsid er", + ". label", + ".l abel", + ".lab el", + "Ġ Array", + "ĠA rray", + "ĠAr ray", + "ĠArr ay", + "4 2", + "w eb", + "we b", + "o pt", + "op t", + ". println", + ".print ln", + "u lation", + "ul ation", + "ula tion", + "Ġ func", + "Ġf unc", + "Ġfun c", + "Ġfu nc", + "P L", + "Ġ \"\\", + "Ġ\" \\", + "Ġ Text", + "ĠT ext", + "ĠTe xt", + "ĠTex t", + "act ory", + "actor y", + "( function", + "(f unction", + "(func tion", + "(fun ction", + "n ull", + "nu ll", + "nul l", + "Ġ eng", + "Ġe ng", + "Ġen g", + "d own", + "do wn", + "Ġ include", + "Ġin clude", + "Ġinclud e", + "Ġinc lude", + "Ġincl ude", + "Ġinclu de", + "Ġ En", + "ĠE n", + "Ġ Dr", + "ĠD r", + "Ġ db", + "Ġd b", + "! !", + "s ide", + "si de", + "sid e", + "Ġ init", + "Ġin it", + "Ġi nit", + "Ġini t", + "qu ired", + "quire d", + "quir ed", + "qui red", + "Ġ She", + "ĠS he", + "ĠSh e", + "C olumn", + "Col umn", + "re act", + "rea ct", + "Ġ ann", + "Ġa nn", + "Ġan n", + "Ġ stop", + "Ġs top", + "Ġst op", + "Ġsto p", + "Ġ later", + "Ġl ater", + "Ġla ter", + "Ġlate r", + "Ġlat er", + "Ġ That", + "ĠT hat", + "ĠTh at", + "en tion", + "ent ion", + "enti on", + "d f", + "U G", + "I LE", + "IL E", + "Ġ client", + "Ġc lient", + "Ġcl ient", + "Ġcli ent", + "r aft", + "ra ft", + "raf t", + "f fer", + "ff er", + "ffe r", + "P OST", + "PO ST", + "POS T", + "el per", + "elp er", + "Ġ love", + "Ġl ove", + "Ġlo ve", + "Ġlov e", + "qu ote", + "quot e", + "quo te", + "o ud", + "ou d", + "Ġ json", + "Ġj son", + "Ġjs on", + "Ġ able", + "Ġa ble", + "Ġab le", + "Ġabl e", + "Ġ men", + "Ġm en", + "Ġme n", + "A X", + "Ġ Copyright", + "ĠC opyright", + "ĠCopy right", + "à ¶", + "a vig", + "av ig", + "avi g", + "r eq", + "re q", + "C lient", + "Cl ient", + "Cli ent", + "} );Ċ", + "}) ;Ċ", + "}); Ċ", + ". Com", + ".C om", + ".Co m", + "e rc", + "er c", + "i lt", + "il t", + "p ecial", + "pe cial", + "pec ial", + "pecia l", + "_ com", + "_c om", + "_co m", + "r oom", + "ro om", + ". Name", + ".N ame", + "Ġ give", + "Ġg ive", + "Ġgi ve", + "a mb", + "am b", + "i ke", + "ik e", + "Ġ condition", + "Ġcon dition", + "Ġcond ition", + "Ġcondi tion", + "c lient", + "cl ient", + "cli ent", + "a tors", + "at ors", + "ator s", + "ato rs", + ": \"", + "Ġ copy", + "Ġc opy", + "Ġco py", + "Ġcop y", + "u ture", + "ut ure", + "ivers ity", + "iversit y", + "er nal", + "ern al", + "erna l", + "{ {", + "Ġ Can", + "ĠC an", + "ĠCa n", + "o unc", + "ou nc", + "oun c", + "d o", + "Ġ occ", + "Ġo cc", + "Ġoc c", + "Ġ appro", + "Ġapp ro", + "Ġap pro", + "th ers", + "ther s", + "the rs", + "z e", + "Ġ either", + "Ġe ither", + "Ġei ther", + "Ġ Fl", + "ĠF l", + "Ġ important", + "Ġimport ant", + "Ġ lead", + "Ġl ead", + "Ġle ad", + "at tr", + "att r", + "A RT", + "AR T", + "E qual", + "Equ al", + "Eq ual", + "Ġ da", + "Ġd a", + "et ch", + "etc h", + "e ntity", + "ent ity", + "enti ty", + "Ġ family", + "Ġf amily", + "Ġfam ily", + "Ġfamil y", + "ad ding", + "add ing", + "addin g", + "Ġ option", + "Ġo ption", + "Ġop tion", + "Ġopt ion", + "Ġ exist", + "Ġex ist", + "i ca", + "ic a", + "Ġ Object", + "ĠO bject", + "ĠOb ject", + "ĠObj ect", + "6 9", + "' ve", + "v ers", + "ver s", + "ve rs", + "it ional", + "ition al", + "iti onal", + "6 7", + "out put", + "Ġ True", + "ĠTr ue", + "ĠTru e", + "Ġ OF", + "ĠO F", + "_ time", + "_t ime", + "_tim e", + "_ti me", + "Ġ offer", + "Ġo ffer", + "Ġof fer", + "Ġoff er", + "Ġ });ĊĊ", + "Ġ} );ĊĊ", + "Ġ});Ċ Ċ", + "Ġ}) ;ĊĊ", + "Ġ}); ĊĊ", + "H ER", + "HE R", + "e gin", + "eg in", + "\" \"", + "Ġ water", + "Ġw ater", + "Ġwa ter", + "Ġwat er", + "Ġ che", + "Ġc he", + "Ġch e", + "Ġ My", + "ĠM y", + "o red", + "or ed", + "ore d", + "Ġ step", + "Ġs tep", + "Ġst ep", + "Ġste p", + "a nces", + "an ces", + "ance s", + "anc es", + "C K", + "A Y", + "à ¸", + "str uction", + "struct ion", + "stru ction", + "( C", + "3 00", + "30 0", + "o uch", + "ou ch", + "St ream", + "Str eam", + "act ive", + "activ e", + "a ma", + "am a", + "E ntity", + "Ent ity", + "pro duct", + "produ ct", + "prod uct", + "( ){Ċ", + "() {Ċ", + "(){ Ċ", + "Ġ government", + "Ġg overnment", + "Ġgovern ment", + "Ġ ID", + "ĠI D", + "aj or", + "ajo r", + "A nd", + "An d", + "Ġ display", + "Ġd isplay", + "Ġdis play", + "Ġdisp lay", + "Ġdispl ay", + "Ð »", + "Ġ times", + "Ġt imes", + "Ġtime s", + "Ġtim es", + "Ġti mes", + "Ġ four", + "Ġf our", + "Ġfo ur", + "Ġfou r", + "Ġ far", + "Ġf ar", + "Ġfa r", + "Ġ present", + "Ġp resent", + "Ġpre sent", + "Ġpres ent", + "Ġ NS", + "ĠN S", + "Ġ \\Ċ", + "Ġ\\ Ċ", + "u est", + "ue st", + "ues t", + "Ġ bas", + "Ġb as", + "Ġba s", + "e cho", + "ec ho", + "ech o", + "ch ild", + "chi ld", + "if ier", + "ifi er", + "ifie r", + "H andler", + "Hand ler", + "Handle r", + "Ġ lib", + "Ġl ib", + "Ġli b", + "P roperty", + "Pro perty", + "Prop erty", + "trans lation", + "Ġ room", + "Ġr oom", + "Ġro om", + "Ġ once", + "Ġo nce", + "Ġon ce", + "Ġonc e", + "Ġ []", + "Ġ[ ]", + "c enter", + "cent er", + "cen ter", + "cente r", + "================ ================", + "Ġ results", + "Ġres ults", + "Ġresult s", + "Ġ continue", + "Ġcont inue", + "Ġcontin ue", + "Ġcontinu e", + "Ġ talk", + "Ġt alk", + "Ġtal k", + "Ġta lk", + "_ get", + "_g et", + "_ge t", + "Ġ grow", + "Ġg row", + "Ġgr ow", + "Ġgro w", + ". sw", + ".s w", + "e b", + "Ġ Public", + "ĠP ublic", + "ĠPub lic", + "O P", + "ec ute", + "ecut e", + "o ls", + "ol s", + "Ġ **", + "Ġ* *", + "\" );ĊĊ", + "\");Ċ Ċ", + "\") ;ĊĊ", + "\"); ĊĊ", + "Ġ mass", + "Ġm ass", + "Ġma ss", + "Ġmas s", + "u red", + "ur ed", + "ure d", + ". class", + ".c lass", + ".cl ass", + "o mic", + "om ic", + "omi c", + "Ġ mean", + "Ġm ean", + "Ġme an", + "i ps", + "ip s", + "Ġ aut", + "Ġa ut", + "Ġau t", + ") ;čĊčĊ", + ");čĊ čĊ", + "); čĊčĊ", + "Ġ until", + "Ġun til", + "Ġunt il", + "Ġ market", + "Ġm arket", + "Ġmark et", + "Ġmar ket", + "Ġ area", + "Ġa rea", + "Ġare a", + "Ġar ea", + "u it", + "ui t", + "Ġ length", + "Ġl ength", + "Ġle ngth", + "Ġlen gth", + "Ġleng th", + "Ġ With", + "ĠW ith", + "ĠWi th", + "ĠWit h", + "str uctor", + "struct or", + "stru ctor", + "e vent", + "ev ent", + "even t", + "eve nt", + "\" ><", + "\"> <", + "Ġ Sp", + "ĠS p", + "I V", + "Ġ mus", + "Ġm us", + "Ġmu s", + "i ff", + "if f", + "Ġ kind", + "Ġk ind", + "Ġki nd", + "Ġkin d", + "a uthor", + "aut hor", + "auth or", + "o unds", + "ou nds", + "ound s", + "oun ds", + "m b", + "_ key", + "_k ey", + "_ke y", + "4 1", + "w idth", + "wid th", + "pos itory", + "posit ory", + "positor y", + "Ġ light", + "Ġl ight", + "Ġli ght", + "Ġlig ht", + "u k", + "R ow", + "Ro w", + "o hn", + "oh n", + "a lf", + "al f", + "viron ment", + "a pper", + "ap per", + "app er", + "appe r", + "ol lections", + "oll ections", + "ollection s", + "ollect ions", + "olle ctions", + "Ġ side", + "Ġs ide", + "Ġsi de", + "Ġsid e", + "_ info", + "_in fo", + "_inf o", + "Ġ example", + "Ġex ample", + "Ġexam ple", + "i mary", + "im ary", + "ima ry", + "imar y", + "Ġ wr", + "Ġw r", + "Ġ camp", + "Ġc amp", + "Ġca mp", + "Ġcam p", + "cri be", + "cr ibe", + "2 55", + "25 5", + "\" /", + "Ġ miss", + "Ġm iss", + "Ġmis s", + "Ġmi ss", + "w ay", + "wa y", + "Ġ based", + "Ġb ased", + "Ġbase d", + "Ġbas ed", + "Ġba sed", + "Ġ plan", + "Ġp lan", + "Ġpl an", + "Ġpla n", + "V is", + "Vi s", + "o main", + "om ain", + "oma in", + "u nk", + "un k", + "Ġ away", + "Ġa way", + "Ġaw ay", + "U P", + "< T", + "O S", + "i od", + "io d", + "Ġ Mon", + "ĠM on", + "ĠMo n", + "âĢĻ re", + "Ġ lik", + "Ġl ik", + "Ġli k", + "à §", + "i vely", + "iv ely", + "ive ly", + "ivel y", + ". v", + "i mer", + "im er", + "ime r", + "i zer", + "iz er", + "ize r", + "S ub", + "Su b", + "Ġ button", + "Ġb utton", + "Ġbut ton", + "Ġbutt on", + "Ġbutto n", + "Ġ Up", + "ĠU p", + "Ġ experience", + "Ġex perience", + "Ġexper ience", + "Ġexperi ence", + "C L", + "Ġ render", + "Ġre nder", + "Ġr ender", + "Ġren der", + "Ġrend er", + "_ value", + "_v alue", + "_val ue", + "_va lue", + "Ġ near", + "Ġn ear", + "Ġne ar", + "U RL", + "UR L", + "a lt", + "al t", + "Ġ country", + "Ġc ountry", + "Ġcount ry", + "Ġcoun try", + "ib ility", + "ibil ity", + "ibilit y", + "ibili ty", + "5 7", + "( ),Ċ", + "() ,Ċ", + "(), Ċ", + "e ad", + "ea d", + "Ġ author", + "Ġa uthor", + "Ġaut hor", + "Ġauth or", + "Ġ specific", + "Ġs pecific", + "Ġspec ific", + "Ġspeci fic", + "b ase", + "ba se", + "bas e", + "( name", + "(n ame", + "o nes", + "on es", + "one s", + "Ġ Do", + "ĠD o", + "Ġ along", + "Ġa long", + "Ġal ong", + "Ġalo ng", + "y ear", + "ye ar", + "Ġ express", + "Ġex press", + "Ġexp ress", + "Ġexpr ess", + "Ġexpres s", + ". '", + "e nv", + "en v", + "Ġ begin", + "Ġb egin", + "Ġbe gin", + "Ġbeg in", + "Ġ software", + "Ġs oftware", + "Ġso ftware", + "Ġsoft ware", + "Ġ imp", + "Ġi mp", + "Ġim p", + "Ġ win", + "Ġw in", + "Ġwi n", + "ó n", + "Ġ thing", + "Ġth ing", + "Ġthin g", + "Ġthi ng", + "T rans", + "Tr ans", + "Tra ns", + "Ġ THE", + "ĠT HE", + "ĠTH E", + "Ġ ", + "Ġ? >", + "Ġ den", + "Ġd en", + "Ġde n", + "ob ile", + "obi le", + "obil e", + "ch ange", + "chan ge", + "cha nge", + "chang e", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "i ci", + "ic i", + "n a", + "Ġ Form", + "ĠF orm", + "ĠFor m", + "ĠFo rm", + "Ġ sort", + "Ġs ort", + "Ġso rt", + "Ġsor t", + "S elect", + "Se lect", + "Sel ect", + "Sele ct", + "p are", + "par e", + "pa re", + "Ġ thought", + "Ġth ought", + "Ġthough t", + "Ġthou ght", + "Ġtho ught", + "_ con", + "_c on", + "_co n", + "Ġ task", + "Ġt ask", + "Ġta sk", + "Ġtas k", + "o cus", + "oc us", + "ocu s", + "Ġ DE", + "ĠD E", + "Ġ Min", + "ĠM in", + "ĠMi n", + "Ġ opt", + "Ġo pt", + "Ġop t", + "ĉ break", + "ĉb reak", + "u mer", + "um er", + "ume r", + "K E", + "t hen", + "th en", + "the n", + "Ġ det", + "Ġd et", + "Ġde t", + "Ġ Test", + "ĠT est", + "ĠTe st", + "ĠTes t", + "p orts", + "port s", + "por ts", + "po rts", + "Ġ review", + "Ġre view", + "Ġr eview", + "Ġrev iew", + "( '/", + "(' /", + "m ove", + "mo ve", + "mov e", + "Ġ switch", + "Ġs witch", + "Ġsw itch", + "E RT", + "ER T", + "p atch", + "pat ch", + "an not", + "ann ot", + "anno t", + "ã Ĥ", + "Ġ above", + "Ġa bove", + "Ġab ove", + "it ive", + "iti ve", + "5 6", + "Ġ question", + "Ġqu estion", + "Ġquest ion", + "Ġq uestion", + "Ġquesti on", + "Ġques tion", + "Ġ Qu", + "ĠQ u", + "ãĢĤ ĊĊ", + "ãĢĤĊ Ċ", + "g le", + "gl e", + "Ġ word", + "Ġw ord", + "Ġwor d", + "Ġwo rd", + "Ġ provide", + "Ġpro vide", + "Ġprovid e", + "Ġprov ide", + "Ġ Return", + "ĠR eturn", + "ĠRe turn", + "ĠRet urn", + "Ġ research", + "Ġre search", + "Ġres earch", + "ã o", + "u str", + "us tr", + "ust r", + "Ġ publish", + "Ġp ublish", + "Ġpub lish", + "Ġpubli sh", + "ch ema", + "che ma", + "chem a", + "} }", + "Ġ CON", + "ĠC ON", + "ĠCO N", + "- in", + "-i n", + "all back", + "Ġ cover", + "Ġc over", + "Ġco ver", + "Ġcov er", + "\\ \\", + "c olor", + "co lor", + "col or", + "colo r", + "Ġ IS", + "ĠI S", + "Ġ whether", + "Ġwh ether", + "Ġwhe ther", + "i mate", + "im ate", + "ima te", + "imat e", + "i sc", + "is c", + "B ar", + "Ba r", + "Ġ div", + "Ġd iv", + "Ġdi v", + "B e", + "o urn", + "ou rn", + "our n", + "Ġ having", + "Ġh aving", + "Ġha ving", + "Ġhav ing", + "l em", + "le m", + "p layer", + "pl ayer", + "play er", + "pla yer", + "a bs", + "ab s", + "am era", + "ame ra", + "amer a", + "n ey", + "ne y", + "Ġ exc", + "Ġe xc", + "Ġex c", + "g ether", + "get her", + "ge ther", + "p lied", + "pl ied", + "a o", + "[ $", + "Ġ ++", + "Ġ+ +", + "i pe", + "ip e", + "s how", + "sh ow", + "/ d", + "[ :", + "a gement", + "ag ement", + "age ment", + "agem ent", + "l ev", + "le v", + "_ ID", + "_I D", + "9 7", + "r ary", + "ra ry", + "rar y", + "a des", + "ad es", + "ade s", + "_ se", + "_s e", + "a use", + "au se", + "aus e", + "Ġ employ", + "Ġe mploy", + "Ġem ploy", + "Ġemp loy", + "Ġ */čĊ", + "Ġ* /čĊ", + "Ġ*/ čĊ", + "Ġ fre", + "Ġf re", + "Ġfr e", + "Ġ' @", + "Ġcom plet", + "Ġcomp let", + "Ġcomple t", + "Ġcompl et", + "Ġ large", + "Ġl arge", + "Ġlarg e", + "Ġlar ge", + "r al", + "ra l", + "\\ x", + "Ġ fac", + "Ġf ac", + "Ġfa c", + "< String", + ">", + "Ġ> >", + "Ġ face", + "Ġf ace", + "Ġfa ce", + "Ġfac e", + "C TION", + "CT ION", + "Ġ save", + "Ġs ave", + "Ġsa ve", + "Ġsav e", + "Ġ typ", + "Ġt yp", + "Ġty p", + "d ev", + "de v", + "( \"#", + "(\" #", + "A GE", + "AG E", + "cont ainer", + "contain er", + "e dit", + "ed it", + "edi t", + "Q L", + "Ġ items", + "Ġit ems", + "Ġi tems", + "Ġitem s", + "Ġ social", + "Ġs ocial", + "Ġso cial", + "Ġsoc ial", + "Ġsoci al", + "i en", + "ie n", + "Ġ React", + "ĠRe act", + ") .ĊĊ", + "). ĊĊ", + ").Ċ Ċ", + "Ġ mar", + "Ġm ar", + "Ġma r", + "Ġre du", + "Ġr edu", + "Ġred u", + "Ġ RE", + "ĠR E", + ". put", + ".p ut", + "Ġ major", + "Ġm ajor", + "Ġmaj or", + "C ell", + "Ce ll", + "Cel l", + "n ext", + "ne xt", + "nex t", + "Ġ expected", + "Ġex pected", + "Ġexp ected", + "Ġexpect ed", + "Ġ yet", + "Ġy et", + "Ġye t", + "Ġin div", + "Ġind iv", + "trib utes", + "tribute s", + "at is", + "ati s", + "a med", + "am ed", + "ame d", + "Ġ food", + "Ġf ood", + "Ġfo od", + "Ġfoo d", + "S ource", + "( string", + "(s tring", + "(str ing", + "(st ring", + "Ġ +Ċ", + "Ġ+ Ċ", + "i tes", + "it es", + "ite s", + "d r", + "Ġ members", + "Ġm embers", + "Ġmem bers", + "Ġmember s", + "Ġmemb ers", + "Ġ comb", + "Ġc omb", + "Ġcom b", + "Ġco mb", + "i tems", + "it ems", + "ite ms", + "item s", + "Ġ Per", + "ĠP er", + "ĠPe r", + "T H", + "= True", + "Ġ bar", + "Ġb ar", + "Ġba r", + "_ SE", + "_S E", + "c omm", + "com m", + "co mm", + "( w", + ") ĊĊĊ", + ")Ċ ĊĊ", + ")ĊĊ Ċ", + "Ġ send", + "Ġs end", + "Ġse nd", + "Ġsen d", + "Ġ inc", + "Ġin c", + "Ġi nc", + "un signed", + "uns igned", + "F A", + "Ġ params", + "Ġpar ams", + "Ġparam s", + "Ġpara ms", + "Ġpa rams", + "a pping", + "ap ping", + "app ing", + "r os", + "ro s", + "u gin", + "ug in", + "ugi n", + "f a", + "Ġ connection", + "Ġcon nection", + "Ġconn ection", + "Ġconnect ion", + "Ġ };ĊĊ", + "Ġ} ;ĊĊ", + "Ġ};Ċ Ċ", + "Ġ}; ĊĊ", + "Ġb ecome", + "Ġbe come", + "Ġbec ome", + "M ode", + "Mod e", + "Mo de", + "Ġ ev", + "Ġe v", + "Ġ diff", + "Ġd iff", + "Ġdif f", + "Ġdi ff", + "Ġ United", + "ĠUn ited", + "ĠUnit ed", + "ĠUni ted", + "H eight", + "He ight", + "f ully", + "ful ly", + "full y", + "im ages", + "image s", + "ima ges", + "imag es", + "Ġ makes", + "Ġm akes", + "Ġmake s", + "Ġma kes", + "Ġmak es", + "Ġ global", + "Ġg lobal", + "Ġglob al", + "Ġglo bal", + "Ġ contact", + "Ġcont act", + "Ġconta ct", + "' :Ċ", + "': Ċ", + "Ġ abs", + "Ġa bs", + "Ġab s", + "а Ð", + "f loat", + "flo at", + "Ġ except", + "Ġex cept", + "Ġexc ept", + "Ġexce pt", + "Ġ Pol", + "ĠP ol", + "ĠPo l", + "Ch ild", + "Chi ld", + "t yp", + "ty p", + "Ġc ertain", + "Ġcert ain", + "Ġcer tain", + "i ón", + "ió n", + "O UT", + "OU T", + "Ġim pro", + "Ġimp ro", + "Ġimpr o", + "i les", + "il es", + "ile s", + "Ġ -->Ċ", + "Ġ- ->Ċ", + "Ġ-- >Ċ", + "Ġ--> Ċ", + "Ġ Part", + "ĠP art", + "ĠPar t", + "ĠPa rt", + "val ues", + "value s", + "valu es", + "o ss", + "os s", + "/ **", + "/* *", + "i lit", + "il it", + "ili t", + "Ġ Event", + "ĠE vent", + "ĠEven t", + "ĠEv ent", + "ĠEve nt", + "c urity", + "cur ity", + "s ter", + "st er", + "ste r", + "Ġ character", + "Ġchar acter", + "1 98", + "19 8", + "Ġ news", + "Ġn ews", + "Ġnew s", + "Ġne ws", + "Ġ \",", + "Ġ\" ,", + "Ġ device", + "Ġd evice", + "Ġde vice", + "Ġdev ice", + "c el", + "ce l", + "lo gin", + "log in", + "he et", + "hee t", + "D efault", + "De fault", + "Def ault", + "@ \"", + "ĉ Ġ", + "c lick", + "cl ick", + "cli ck", + "( value", + "(v alue", + "(val ue", + "(va lue", + "Ġ Ab", + "ĠA b", + "Ġ previous", + "Ġpre vious", + "Ġprev ious", + "ERR OR", + "o cal", + "oc al", + "oca l", + "Ġ material", + "Ġm aterial", + "Ġmat erial", + "Ġmate rial", + "Ġmateria l", + "Ġmater ial", + "Ġmateri al", + "Ġ below", + "Ġb elow", + "Ġbe low", + "Ġbel ow", + "Ġ Christ", + "ĠCh rist", + "ĠChris t", + "ĠChr ist", + "Ġ media", + "Ġm edia", + "Ġme dia", + "Ġmed ia", + "Ġmedi a", + "c over", + "co ver", + "cov er", + "Ġ UI", + "ĠU I", + "Ġ fail", + "Ġf ail", + "Ġfa il", + "Ġ black", + "Ġb lack", + "Ġbl ack", + "Ġbla ck", + "Ġ component", + "Ġcom ponent", + "Ġcomp onent", + "Ġ American", + "ĠA merican", + "ĠAmeric an", + "ĠAmerica n", + "ĠAmer ican", + "Ġ added", + "Ġadd ed", + "Ġad ded", + "Ġ buy", + "Ġb uy", + "Ġbu y", + "s tit", + "st it", + "sti t", + "Ġ came", + "Ġc ame", + "Ġca me", + "Ġcam e", + "Ġ delete", + "Ġde lete", + "Ġdel ete", + "Ġdelet e", + "Ġdele te", + "p roperty", + "pro perty", + "prop erty", + "proper ty", + "o ding", + "od ing", + "odi ng", + "Ġ card", + "Ġc ard", + "Ġcar d", + "Ġca rd", + "r ops", + "ro ps", + "rop s", + "Ġ https", + "Ġhttp s", + "Ġht tps", + "Ġhtt ps", + "Ġ root", + "Ġr oot", + "Ġro ot", + "Ġ handle", + "Ġh andle", + "Ġhand le", + "Ġhan dle", + "C C", + "B ack", + "Ba ck", + "em plate", + "emp late", + "empl ate", + "Ġ getting", + "Ġg etting", + "Ġget ting", + "_ by", + "_b y", + "m ail", + "ma il", + "mai l", + "_ sh", + "_s h", + ". assert", + ".as sert", + "Ġ Dec", + "ĠD ec", + "ĠDe c", + "( true", + "(tr ue", + "Ġ comput", + "Ġcom put", + "Ġcomp ut", + "Ġ claim", + "Ġcl aim", + "Ġcla im", + "' =>", + "'= >", + "Ġ Sub", + "ĠS ub", + "ĠSu b", + "Ġ air", + "Ġa ir", + "Ġai r", + "o ps", + "op s", + "n av", + "na v", + "e ments", + "em ents", + "ement s", + "eme nts", + "emen ts", + "( id", + "(i d", + "Ġ enter", + "Ġen ter", + "Ġent er", + "an ged", + "ang ed", + "ange d", + "E nd", + "En d", + "Ġ location", + "Ġl ocation", + "Ġlo cation", + "Ġloc ation", + "Ġ night", + "Ġn ight", + "Ġni ght", + "Ġnig ht", + "Ġ doing", + "Ġdo ing", + "Ġdoi ng", + "Ġ Red", + "ĠR ed", + "ĠRe d", + "l in", + "li n", + "} ĊĊĊ", + "}Ċ ĊĊ", + "}ĊĊ Ċ", + "v ider", + "vid er", + "vi der", + "vide r", + "Ġ pick", + "Ġp ick", + "Ġpi ck", + "Ġpic k", + "Ġ watch", + "Ġw atch", + "Ġwat ch", + "ess ages", + "essage s", + "essa ges", + "Ġ human", + "Ġh uman", + "Ġhum an", + "Ġhu man", + "Ġ dam", + "Ġd am", + "Ġda m", + "p end", + "pe nd", + "pen d", + "d ir", + "di r", + "Ġ tax", + "Ġt ax", + "Ġta x", + "Ġ girl", + "Ġg irl", + "Ġgi rl", + "Ġgir l", + "re et", + "ree t", + "Ġ box", + "Ġb ox", + "Ġbo x", + "Ġ strong", + "Ġst rong", + "Ġstr ong", + "Ġstro ng", + "Ġstron g", + "( v", + "r el", + "re l", + "Ġ interface", + "Ġinter face", + "Ġinterf ace", + "Ġ msg", + "Ġm sg", + "Ġms g", + "f ect", + "fe ct", + "fec t", + "_ at", + "_a t", + "Ġ house", + "Ġh ouse", + "Ġhous e", + "Ġho use", + "Ġ track", + "Ġt rack", + "Ġtr ack", + "Ġtra ck", + "' );ĊĊ", + "') ;ĊĊ", + "');Ċ Ċ", + "'); ĊĊ", + "j e", + "Ġ John", + "ĠJ ohn", + "ĠJo hn", + "ĠJoh n", + "i str", + "is tr", + "ist r", + "( S", + "u be", + "ub e", + "Ġ ce", + "Ġc e", + "it ted", + "itt ed", + "itte d", + "V ER", + "VE R", + "* )", + "p arent", + "par ent", + "pare nt", + "pa rent", + "paren t", + "Ġ application", + "Ġapp lication", + "Ġap plication", + "Ġapplic ation", + "Ġappl ication", + "a ny", + "an y", + ". swing", + ".s wing", + ".sw ing", + "Ġ pack", + "Ġp ack", + "Ġpa ck", + "Ġpac k", + "\\ u", + "Ġp ract", + "Ġpr act", + "Ġpra ct", + "Ġprac t", + "Ġ section", + "Ġs ection", + "Ġse ction", + "Ġsec tion", + "Ġsect ion", + "c tx", + "ct x", + "Ġ unsigned", + "Ġun signed", + "Ġuns igned", + ". Point", + ".P oint", + "Ġ One", + "ĠO ne", + "ĠOn e", + "Ä ±", + "i ple", + "ip le", + "ipl e", + "a id", + "ai d", + "Ñ ĥ", + "V ector", + "Vec tor", + "Ve ctor", + "Vect or", + "b yte", + "by te", + "byt e", + "Ġ wait", + "Ġw ait", + "Ġwa it", + "Ġ Ãł", + "Ġà ł", + "à ¥", + "Ġto gether", + "Ġtog ether", + "Ġ throws", + "Ġth rows", + "Ġthrow s", + "Ġthr ows", + "Ġthro ws", + "F O", + "' ))", + "') )", + "h ost", + "ho st", + "hos t", + "i sing", + "is ing", + "isi ng", + "isin g", + ". view", + ".v iew", + "Ġ terms", + "Ġte rms", + "Ġter ms", + "Ġterm s", + "f ramework", + "fr amework", + "frame work", + "fram ework", + "- r", + "Ġ apply", + "Ġapp ly", + "Ġap ply", + "Ġappl y", + "Ġ session", + "Ġs ession", + "Ġsess ion", + "O ptions", + "Option s", + "Opt ions", + "ug gest", + "ugg est", + "Ġ others", + "Ġo thers", + "Ġother s", + "w itter", + "wit ter", + "Ġ fund", + "Ġf und", + "Ġfun d", + "Ġfu nd", + "I nit", + "In it", + "Ini t", + "_ _(", + "__ (", + "ens or", + "enso r", + "G ET", + "GE T", + "Ġse veral", + "Ġsever al", + "Ġsev eral", + "i i", + "[ j", + "I O", + "Ġ template", + "Ġt emplate", + "Ġtem plate", + "Ġtemp late", + "Ġtempl ate", + "P osition", + "Pos ition", + "Ġe con", + "Ġec on", + "Ġeco n", + "a chine", + "ach ine", + "achi ne", + "Ġ il", + "Ġi l", + ". spring", + ".s pring", + ".sp ring", + "m ain", + "ma in", + "mai n", + "e lt", + "el t", + "i ment", + "im ent", + "ime nt", + "imen t", + "R ec", + "Re c", + "m m", + "Ġ University", + "ĠUn iversity", + "ĠUnivers ity", + "urs or", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "G L", + "ic ture", + "ict ure", + "it hub", + "ith ub", + "c er", + "ce r", + "c ast", + "ca st", + "cas t", + "F rom", + "Fr om", + "a les", + "al es", + "ale s", + "Ġ subject", + "Ġsu bject", + "Ġsub ject", + "Ġsubj ect", + "p assword", + "pass word", + "pas sword", + "n y", + "Ġ esc", + "Ġe sc", + "Ġes c", + ". write", + ".w rite", + ".writ e", + ".wr ite", + "ï¼ Į", + "W hat", + "Wh at", + ". H", + "Ġ history", + "Ġh istory", + "Ġhistor y", + "Ġhist ory", + "Ġhi story", + "Ġhisto ry", + "Ġ Fe", + "ĠF e", + "Ġ individual", + "Ġind ividual", + "Ġindiv idual", + "Ġindivid ual", + "u nit", + "un it", + "uni t", + "Ġ -->", + "Ġ- ->", + "Ġ-- >", + "Ġ du", + "Ġd u", + "I ST", + "IS T", + "Ġ users", + "Ġus ers", + "Ġuse rs", + "Ġuser s", + "f s", + "f alse", + "fa lse", + "fal se", + "u nt", + "un t", + "T itle", + "Tit le", + "Ti tle", + "Ġ mot", + "Ġm ot", + "Ġmo t", + "Ġ future", + "Ġf uture", + "Ġfut ure", + "Ġfu ture", + "a ched", + "ac hed", + "ach ed", + "ache d", + "Ġ started", + "Ġstart ed", + "Ġstar ted", + "Ġ mode", + "Ġm ode", + "Ġmod e", + "Ġmo de", + "Ġ '<", + "Ġ' <", + "_ array", + "_a rray", + "_arr ay", + "_ar ray", + "Ġ ax", + "Ġa x", + "' ];Ċ", + "'] ;Ċ", + "']; Ċ", + "i res", + "ir es", + "ire s", + "T here", + "The re", + "Th ere", + "u ght", + "ug ht", + "ugh t", + "t ml", + "tm l", + "p osed", + "pos ed", + "pose d", + "po sed", + "i cult", + "ic ult", + "Ġ took", + "Ġt ook", + "Ġto ok", + "Ġtoo k", + "Ġ games", + "Ġg ames", + "Ġgame s", + "Ġgam es", + "Ġga mes", + "Ġ }}", + "Ġ} }", + "Ġ ?>Ċ", + "Ġ? >Ċ", + "Ġ?> Ċ", + "Ġ products", + "Ġproduct s", + "Ġprodu cts", + "I s", + "Ġ bad", + "Ġb ad", + "Ġba d", + "Ġ Des", + "ĠD es", + "ĠDe s", + ". path", + ".p ath", + ".pa th", + ".pat h", + "' ĊĊ", + "'Ċ Ċ", + "Ġ Post", + "ĠP ost", + "ĠPo st", + "ĠPos t", + "a vel", + "av el", + "ave l", + "( :", + "1 50", + "15 0", + "Ġ needs", + "Ġne eds", + "Ġneed s", + "Ġ known", + "Ġk nown", + "Ġkn own", + "Ġknow n", + "F l", + "Ġ exec", + "Ġe xec", + "Ġex ec", + "Ġexe c", + "Ġ seen", + "Ġs een", + "Ġse en", + "Ġsee n", + "5 1", + "u me", + "um e", + "Ġ border", + "Ġb order", + "Ġbor der", + "Ġbord er", + "Ġ live", + "Ġl ive", + "Ġli ve", + "Ġliv e", + "t emp", + "te mp", + "tem p", + "P er", + "Pe r", + "Ġ variable", + "Ġvar iable", + "Ġvari able", + "i et", + "ie t", + "Ġ Def", + "ĠD ef", + "ĠDe f", + "Ġ ge", + "Ġg e", + "e me", + "em e", + "_ back", + "_b ack", + "f irst", + "fi rst", + "fir st", + "Ġ provided", + "Ġpro vided", + "Ġprovid ed", + "Ġprov ided", + "Ġprovide d", + "//////////////// ////////////////", + "Ġ filename", + "Ġf ilename", + "Ġfile name", + "Ġfil ename", + "Ġfi lename", + "Ġ hope", + "Ġh ope", + "Ġhop e", + "Ġho pe", + "u ly", + "ul y", + "a uto", + "aut o", + "au to", + "f ind", + "fin d", + "fi nd", + "_ string", + "_s tring", + "_st ring", + "_str ing", + "b tn", + "bt n", + "it ude", + "itud e", + "itu de", + "At tribute", + "Attrib ute", + "Ġ young", + "Ġyou ng", + "Ġyo ung", + ". txt", + ".t xt", + ".tx t", + "Ġ website", + "Ġwe bsite", + "Ġweb site", + "Ġwebs ite", + "Ġ Prop", + "ĠP rop", + "ĠPro p", + "ĠPr op", + "Ġ ey", + "Ġe y", + "> ();Ċ", + ">( );Ċ", + ">() ;Ċ", + ">(); Ċ", + "i onal", + "ion al", + "io nal", + "iona l", + "A RR", + "AR R", + "iction ary", + "ur ther", + "urt her", + ". ", + ")- >", + "t x", + "Ġ pur", + "Ġp ur", + "Ġpu r", + "u el", + "ue l", + "ym bol", + "ymb ol", + "u ation", + "ua tion", + "uat ion", + "a nger", + "an ger", + "ang er", + "ange r", + "Ġ background", + "Ġback ground", + "e cess", + "ec ess", + "ece ss", + "ef ined", + ". .......", + ".. ......", + "... .....", + ".... ....", + "..... ...", + "...... ..", + "....... .", + "Ġ description", + "Ġd escription", + "Ġde scription", + "Ġdes cription", + "Ġdescri ption", + "Ġ represent", + "Ġre present", + "Ġrep resent", + "\" ));Ċ", + "\") );Ċ", + "\")) ;Ċ", + "\")); Ċ", + "p ression", + "pr ession", + "press ion", + "row ser", + "rows er", + "rowse r", + "Ġ series", + "Ġs eries", + "Ġse ries", + "Ġser ies", + "Ġserie s", + "Ġseri es", + "w ards", + "ward s", + "war ds", + "5 2", + "( $_", + "($ _", + "a ise", + "ai se", + "ais e", + "Ġ hot", + "Ġh ot", + "Ġho t", + "a city", + "ac ity", + "aci ty", + "r ies", + "ri es", + "rie s", + "a ctions", + "act ions", + "action s", + "C reate", + "Cre ate", + "Creat e", + "a dio", + "ad io", + "adi o", + "am ples", + "amp les", + "ample s", + "Ġ original", + "Ġor iginal", + "Ġorig inal", + "Ġorigin al", + "ens ive", + "ensi ve", + "f ont", + "fo nt", + "fon t", + "st ream", + "str eam", + "stre am", + " using", + ".spring framework", + "0 01", + "00 1", + "s erver", + "ser ver", + "serve r", + "serv er", + "Ġ bill", + "Ġb ill", + "Ġbi ll", + "Ġbil l", + "A CK", + "AC K", + "i lename", + "il ename", + "ile name", + "ilen ame", + "Ġ frame", + "Ġf rame", + "Ġfr ame", + "Ġfra me", + "Ġfram e", + "Ġ =Ċ", + "Ġ= Ċ", + "E dit", + "Ed it", + "ad ius", + "adi us", + "Ġ draw", + "Ġd raw", + "Ġdr aw", + "Ġdra w", + "an ks", + "ank s", + "Ġd eter", + "Ġde ter", + "Ġdet er", + "Ġ comes", + "Ġc omes", + "Ġcom es", + "Ġco mes", + "Ġcome s", + "_ int", + "_in t", + "_i nt", + "Ġ foreach", + "Ġf oreach", + "Ġfor each", + "Ġfore ach", + "Ġfo reach", + "a ngle", + "an gle", + "ang le", + "angl e", + "Ġ elect", + "Ġe lect", + "Ġel ect", + "Ġele ct", + "p ected", + "pect ed", + "pec ted", + "He ader", + "Head er", + "i stration", + "ist ration", + "istr ation", + "istra tion", + "istrat ion", + "F alse", + "Fa lse", + "Fal se", + "Ġ Game", + "ĠG ame", + "ĠGa me", + "ĠGam e", + "Ġ filter", + "Ġf ilter", + "Ġfil ter", + "Ġfilt er", + "Act ivity", + "Activ ity", + "Ġ larg", + "Ġl arg", + "Ġla rg", + "Ġlar g", + "in ition", + "init ion", + "ini tion", + "Ġ \"<", + "Ġ\" <", + "2 56", + "25 6", + "i sed", + "is ed", + "ise d", + "Ġ remove", + "Ġre move", + "Ġrem ove", + "Ġ Trans", + "ĠT rans", + "ĠTr ans", + "ĠTra ns", + "ĠTran s", + "m et", + "me t", + "s ee", + "se e", + "Form at", + "For mat", + "Com mand", + "Comm and", + "Ġ EX", + "ĠE X", + "N one", + "No ne", + "Non e", + "Ġ front", + "Ġf ront", + "Ġfr ont", + "Ġfro nt", + "Ġfron t", + "A SE", + "AS E", + "Ġ Rec", + "ĠR ec", + "ĠRe c", + "ound ation", + "Ġ vo", + "Ġv o", + "9 6", + "= \\\"", + "=\\ \"", + "( *", + "Ch ange", + "Chan ge", + "Cha nge", + ". Write", + ".W rite", + "g roup", + "gr oup", + "gro up", + "i ents", + "ie nts", + "ient s", + "ien ts", + "u y", + "******** ********************************************************", + "**************** ************************************************", + "******************************** ********************************", + "************************ ****************************************", + "**************************************** ************************", + "************************************************ ****************", + "******************************************************** ********", + "Ġ dig", + "Ġd ig", + "Ġdi g", + "h r", + "( -", + "Ġ gen", + "Ġg en", + "Ġge n", + "n umber", + "num ber", + "v ec", + "ve c", + "ur ope", + "uro pe", + "en try", + "ent ry", + "entr y", + "L L", + "Ġ ste", + "Ġs te", + "Ġst e", + "Val id", + "Va lid", + "' ],", + "'] ,", + "_ param", + "_p aram", + "_par am", + "_para m", + "_pa ram", + "Ġ selected", + "Ġse lected", + "Ġselect ed", + "Ġsel ected", + "Ġ according", + "Ġa ccording", + "Ġacc ording", + "Ġaccord ing", + "Ġ Dis", + "ĠD is", + "ĠDi s", + "Ġ util", + "Ġu til", + "Ġut il", + "B uffer", + "Buf fer", + "Buff er", + "Bu ffer", + "_ error", + "_e rror", + "_err or", + "_er ror", + "Ġ associ", + "Ġass oci", + "Ġassoc i", + "_ SIZE", + "_S IZE", + "_SI ZE", + "Ġ wor", + "Ġw or", + "Ġwo r", + "Ġ printf", + "Ġprint f", + "Ġprin tf", + "r ag", + "ra g", + " ł", + "D D", + "Ġ Val", + "ĠV al", + "ĠVa l", + "Ġ activ", + "Ġact iv", + "Ġac tiv", + "E ng", + "En g", + "e time", + "et ime", + "eti me", + "etim e", + "Ġ virtual", + "Ġv irtual", + "Ġvir tual", + "Ġvirt ual", + "a ign", + "ai gn", + "a ur", + "au r", + "Ġ Pres", + "ĠP res", + "ĠPr es", + "ĠPre s", + "Ġ Exception", + "ĠEx ception", + "ĠExcept ion", + "Ġ anything", + "Ġany thing", + "Ġ Off", + "ĠO ff", + "ĠOf f", + "Ġ hours", + "Ġh ours", + "Ġhour s", + "Ġho urs", + "Ġ war", + "Ġw ar", + "Ġwa r", + "Arg s", + "Ar gs", + "a ging", + "ag ing", + "agi ng", + "Ġ models", + "Ġmod els", + "Ġmodel s", + "Ġmode ls", + "Ġ Time", + "ĠT ime", + "ĠTim e", + "ĠTi me", + "O b", + "a ms", + "am s", + "j oy", + "jo y", + "Ġ early", + "Ġear ly", + ". read", + ".re ad", + ".r ead", + "8 6", + "Ġ center", + "Ġc enter", + "Ġcent er", + "Ġcen ter", + "Ġ Initial", + "ĠIn itial", + "ĠInit ial", + "ĠIniti al", + "Ġ language", + "Ġl anguage", + "Ġlangu age", + "l ength", + "le ngth", + "len gth", + "x y", + "Ġ sn", + "Ġs n", + "Ġ inf", + "Ġin f", + "Ġi nf", + "P ost", + "Pos t", + "Po st", + "Ġ ago", + "Ġa go", + "Ġag o", + "Ġ easy", + "Ġe asy", + "Ġeas y", + "Ġea sy", + "_ code", + "_c ode", + "_co de", + "_cod e", + "Ġ ANY", + "ĠA NY", + "ĠAN Y", + "_ ch", + "_c h", + "Ġ download", + "Ġd ownload", + "Ġdown load", + "( T", + "a ved", + "av ed", + "ave d", + "âĢ ĵ", + "Ġ students", + "Ġst udents", + "Ġstud ents", + "Ġstudent s", + "Ġ fig", + "Ġf ig", + "Ġfi g", + "l ight", + "li ght", + "lig ht", + "x x", + "Ġ buffer", + "Ġb uffer", + "Ġbu ffer", + "Ġbuf fer", + "Ġbuff er", + "Ġ Dep", + "ĠD ep", + "ĠDe p", + "Ġ Math", + "ĠM ath", + "ĠMat h", + "ĠMa th", + "I TH", + "IT H", + "Ġ vari", + "Ġv ari", + "Ġvar i", + "Ġva ri", + "Ġ due", + "Ġd ue", + "Ġdu e", + "F actory", + "Fact ory", + "Factor y", + "Ġ por", + "Ġp or", + "Ġpo r", + "Ġ ep", + "Ġe p", + "o type", + "ot ype", + "otyp e", + "oty pe", + "Ġ cannot", + "Ġc annot", + "Ġcan not", + "Ġcann ot", + "Ġ white", + "Ġwh ite", + "Ġwhit e", + "< int", + "čĊ", + "\"> čĊ", + ". annot", + ".an not", + "Ġ collection", + "Ġc ollection", + "Ġcol lection", + "Ġcoll ection", + "Ġcollect ion", + "Ġcolle ction", + "' .", + "Ġ similar", + "Ġs imilar", + "Ġsim ilar", + "Ġsimil ar", + "Ġ taken", + "Ġt aken", + "Ġtake n", + "Ġta ken", + "Ġtak en", + "( \"%", + "(\" %", + "Or der", + "Ord er", + "' ]Ċ", + "'] Ċ", + "- md", + "-m d", + "Ġ TH", + "ĠT H", + "a ced", + "ace d", + "ac ed", + "Ġis n", + "Ġi sn", + "/ j", + "Ġ son", + "Ġs on", + "Ġso n", + "g raph", + "gr aph", + "gra ph", + "Ġ Integer", + "ĠInt eger", + "Ġn ecess", + "Ġne cess", + "Ġnec ess", + "Ġneces s", + "r een", + "re en", + "ree n", + "Ġ um", + "Ġu m", + "Ġ \\<", + "Ġ\\ <", + "Ġ moment", + "Ġm oment", + "Ġmom ent", + "Ġmo ment", + "Ġ bring", + "Ġb ring", + "Ġbr ing", + "Ġbri ng", + "Ġ indic", + "Ġin dic", + "Ġind ic", + "y sis", + "ys is", + "ysi s", + "Le vel", + "v erse", + "ver se", + "vers e", + "ur renc", + "urre nc", + "urr enc", + "_ test", + "_t est", + "_te st", + "Ġent ire", + "D own", + "Do wn", + "Ġ }ĊĊĊ", + "Ġ} ĊĊĊ", + "Ġ}Ċ ĊĊ", + "Ġ}ĊĊ Ċ", + "( result", + "(res ult", + "Ġ Read", + "ĠR ead", + "ĠRe ad", + "à ¨", + "M od", + "Mo d", + "Ġ trying", + "Ġt rying", + "Ġtr ying", + "Ġtry ing", + "\" ),Ċ", + "\") ,Ċ", + "\"), Ċ", + "Ġ member", + "Ġm ember", + "Ġmem ber", + "Ġmemb er", + "Ġ Cor", + "ĠC or", + "ĠCo r", + "O DO", + "OD O", + "- control", + "-c ontrol", + "-cont rol", + "un time", + "unt ime", + "Ġ Sim", + "ĠS im", + "ĠSi m", + "D ialog", + "Di alog", + "Dia log", + "p lot", + "pl ot", + "_ on", + "_o n", + "Ġ phys", + "Ġph ys", + "Ġphy s", + "} /", + "Ġ namespace", + "Ġn amespace", + "Ġname space", + "Ġnames pace", + "ĉ čĊ", + "a cc", + "ac c", + "P layer", + "Pl ayer", + "Play er", + "A RE", + "AR E", + "8 9", + "Ġ foot", + "Ġf oot", + "Ġfo ot", + "Ġfoo t", + "Ġ board", + "Ġb oard", + "Ġbo ard", + "Ġboa rd", + "p art", + "par t", + "pa rt", + "Ġ sus", + "Ġs us", + "Ġsu s", + "w ise", + "wi se", + "wis e", + "Ġ Mc", + "ĠM c", + "Ġ push", + "Ġp ush", + "Ġpu sh", + "Ġpus h", + "A TA", + "AT A", + "Ġ please", + "Ġp lease", + "Ġpl ease", + "Ġple ase", + "Ġplea se", + "Ġpleas e", + "r ied", + "ri ed", + "rie d", + "we et", + "b it", + "bi t", + "i ded", + "id ed", + "ide d", + "V E", + "Ġ Sw", + "ĠS w", + "U B", + "Ġ types", + "Ġt ypes", + "Ġtype s", + "Ġtyp es", + "Ġty pes", + "e dia", + "ed ia", + "edi a", + "Ġc los", + "Ġcl os", + "Ġclo s", + "ace book", + "W hen", + "Wh en", + "Ġ edit", + "Ġe dit", + "Ġed it", + "Ġedi t", + "i gger", + "ig ger", + "igg er", + "Ġe nerg", + "Ġen erg", + "Ġener g", + "Cont ainer", + "Contain er", + "Conta iner", + "Ġ phot", + "Ġp hot", + "Ġph ot", + "Ġ Count", + "ĠC ount", + "ĠCo unt", + "ĠCou nt", + "ĠCoun t", + "Ġ Europe", + "ĠE urope", + "ĠEuro pe", + "ĠEurop e", + "ĠEur ope", + ". Is", + ".I s", + "Ġ Russ", + "ĠR uss", + "ĠRu ss", + "ĠRus s", + "p eed", + "pe ed", + "pee d", + "Ġ Str", + "ĠS tr", + "ĠSt r", + "Ġ py", + "Ġp y", + "Ġ cult", + "Ġc ult", + "Ġcu lt", + "Ġcul t", + "Ġ defined", + "Ġd efined", + "Ġdef ined", + "Ġdefine d", + "Ġdefin ed", + "c count", + "cc ount", + "cco unt", + "Ġo bt", + "Ġob t", + ". Location", + ".L ocation", + ".Lo cation", + "Ġ thread", + "Ġt hread", + "Ġth read", + "Ġthr ead", + "i lle", + "il le", + "ill e", + "Ġ instead", + "Ġin stead", + "Ġinst ead", + "st rong", + "str ong", + "stro ng", + "Ġ Sec", + "ĠS ec", + "ĠSe c", + "U RE", + "UR E", + "Ġ idea", + "Ġi dea", + "Ġid ea", + "Ġide a", + ". se", + ".s e", + "e my", + "em y", + "se lected", + "select ed", + "sel ected", + "Con nection", + "Conn ection", + "Connect ion", + "a cing", + "ac ing", + "aci ng", + "acin g", + "t hread", + "th read", + "thr ead", + ". next", + ".n ext", + ".ne xt", + "Ġ coll", + "Ġc oll", + "Ġco ll", + "Ġcol l", + "Ġ film", + "Ġf ilm", + "Ġfil m", + "Ġfi lm", + "is tic", + "ist ic", + "isti c", + "Ġ compet", + "Ġcom pet", + "Ġcomp et", + "Ġ conn", + "Ġc onn", + "Ġcon n", + "Ġco nn", + "th ough", + "Ġ compan", + "Ġcom pan", + "Ġcomp an", + "o cket", + "oc ket", + "ock et", + "Ġt each", + "Ġte ach", + "Ġtea ch", + "= (", + "Ġ phone", + "Ġp hone", + "Ġph one", + "Ġphon e", + "Ġ active", + "Ġact ive", + "Ġactiv e", + "7 9", + "de lete", + "del ete", + "1 01", + "10 1", + "t ries", + "tr ies", + "trie s", + "tri es", + "Ġ mo", + "Ġm o", + "Ġ death", + "Ġde ath", + "} );ĊĊ", + "});Ċ Ċ", + "}) ;ĊĊ", + "}); ĊĊ", + "o col", + "oc ol", + "oco l", + "W idget", + "Ġ article", + "Ġart icle", + "Ġartic le", + "r odu", + "ro du", + "rod u", + "an did", + "and id", + "andi d", + "Ñ ĭ", + "Ġ Cr", + "ĠC r", + "k a", + "( ):", + "() :", + "l ood", + "lo od", + "loo d", + "ĉ ĉĉĊ", + "ĉĉ ĉĊ", + "ĉĉĉ Ċ", + "Ġ almost", + "Ġal most", + "Ġalm ost", + "Ġ sell", + "Ġs ell", + "Ġse ll", + "Ġsel l", + "erv let", + "r ip", + "ri p", + "U nit", + "Un it", + "Uni t", + "Ġapp lic", + "Ġappl ic", + "Ġ connect", + "Ġcon nect", + "Ġconn ect", + "Ġ feature", + "Ġf eature", + "Ġfe ature", + "Ġfeat ure", + "Ġ via", + "Ġv ia", + "Ġvi a", + "' ),", + "') ,", + "Ġ lim", + "Ġl im", + "Ġli m", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġ Gu", + "ĠG u", + "E ngine", + "Eng ine", + "Ġ ens", + "Ġe ns", + "Ġen s", + "Ġ environment", + "Ġen vironment", + "Ġenviron ment", + "b lock", + "bl ock", + "blo ck", + "H ERE", + "HE RE", + "HER E", + "N ULL", + "NU LL", + "g y", + "t ag", + "ta g", + ") ).", + ")) .", + "e xp", + "ex p", + "Ġcom pl", + "Ġco mpl", + "Ġcomp l", + "Ġ install", + "Ġinst all", + "Ġinstal l", + "Ġ complete", + "Ġcom plete", + "Ġcomp lete", + "Ġcomple te", + "Ġcomplet e", + "Ġcompl ete", + "q ueue", + "que ue", + "at ural", + "atur al", + "atura l", + "atu ral", + "Ġ general", + "Ġg eneral", + "Ġgener al", + "Ġgen eral", + "Ġgene ral", + "Ġgenera l", + "t hon", + "th on", + "Ġas ked", + "Ġask ed", + "o res", + "or es", + "ore s", + "( res", + "(r es", + "(re s", + "Ġ reserved", + "Ġres erved", + "Ġreserve d", + "Ġreserv ed", + "S P", + "Ġ â̦", + "ĠâĢ ¦", + "Å Ĥ", + "Ġsign ific", + "O ff", + "Of f", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġ Ag", + "ĠA g", + "Ġ Just", + "ĠJ ust", + "ĠJu st", + "Ġ Error", + "ĠE rror", + "ĠEr ror", + "ĠErr or", + "Ġin fl", + "Ġinf l", + "a data", + "ad ata", + "ada ta", + "Ġ icon", + "Ġi con", + "Ġic on", + "as ks", + "ask s", + "' '", + "_ LO", + "_L O", + "? .", + "a ccount", + "ac count", + "acc ount", + "acco unt", + "Ġ (*", + "Ġ( *", + "' )ĊĊ", + "') ĊĊ", + "')Ċ Ċ", + "r ap", + "ra p", + "_ var", + "_v ar", + "_va r", + "Ġ FOR", + "ĠF OR", + "ĠFO R", + "Ġ party", + "Ġp arty", + "Ġpart y", + "Ġpar ty", + "Ġ Your", + "ĠY our", + "ĠYou r", + "ĠYo ur", + "c at", + "ca t", + "s try", + "st ry", + "str y", + ". new", + ".n ew", + ".ne w", + "b oot", + "bo ot", + "boo t", + "Ġ Nov", + "ĠN ov", + "ĠNo v", + "Ġ vector", + "Ġv ector", + "Ġve ctor", + "Ġvec tor", + "Ġvect or", + "Ġ normal", + "Ġn ormal", + "Ġnor mal", + "Ġnorm al", + "Ġf urther", + "Ġfur ther", + "Re pository", + "8 00", + "80 0", + "Ġ database", + "Ġd atabase", + "Ġdata base", + "Ġdat abase", + "Ġdatab ase", + "at tle", + "att le", + "Ġ music", + "Ġm usic", + "Ġmus ic", + "Ġmu sic", + "Ġ speed", + "Ġs peed", + "Ġsp eed", + "Ġspe ed", + "Ġ doc", + "Ġd oc", + "Ġdo c", + "p rocess", + "pro cess", + "proc ess", + "IG HT", + "IGH T", + ". parse", + ".p arse", + ".par se", + "Ġ taking", + "Ġt aking", + "Ġta king", + "Ġtak ing", + "Ġ viol", + "Ġv iol", + "Ġvi ol", + "c eed", + "ce ed", + "cee d", + "Ġ After", + "ĠA fter", + "ĠAf ter", + "Ġ forward", + "Ġfor ward", + "Ġ crit", + "Ġc rit", + "Ġcr it", + "Ġcri t", + "\" />Ċ", + "\"/ >Ċ", + "\"/> Ċ", + "r ot", + "ro t", + "Ġ failed", + "Ġf ailed", + "Ġfa iled", + "Ġfail ed", + "e fore", + "ef ore", + "Ġcon cern", + "Ġconc ern", + "Ġconce rn", + "o e", + "b a", + "Ġ sender", + "Ġs ender", + "Ġse nder", + "Ġsend er", + "Ġsen der", + "Ġ term", + "Ġt erm", + "Ġte rm", + "Ġter m", + "h as", + "ha s", + "= \"#", + "=\" #", + "Ġ potential", + "Ġpot ential", + "Ġpotent ial", + "N um", + "Nu m", + "Ġ published", + "Ġp ublished", + "Ġpublish ed", + "Ġpubli shed", + ". close", + ".c lose", + ".cl ose", + "Ġ Image", + "ĠI mage", + "ĠIm age", + "ĠImag e", + "str aint", + "stra int", + "strain t", + "U D", + "Ġ Ob", + "ĠO b", + "Ġ probably", + "Ġprob ably", + "l im", + "li m", + "\" :Ċ", + "\": Ċ", + "ol ume", + "olum e", + "olu me", + "Ġ consum", + "Ġcon sum", + "Ġcons um", + "7 6", + "a gue", + "ag ue", + "agu e", + "ens ions", + "ension s", + "ensi ons", + "Ġinvest ig", + "- year", + "-y ear", + "' );", + "') ;", + "- sm", + "-s m", + "Ġen joy", + "Ġenjo y", + "o rig", + "or ig", + "ori g", + "e ring", + "er ing", + "eri ng", + "erin g", + "c p", + "le ased", + "lease d", + "lea sed", + "p lements", + "pl ements", + "ple ments", + "plement s", + "Ġ returns", + "Ġreturn s", + "p at", + "pa t", + "B O", + "Ġ House", + "ĠH ouse", + "ĠHo use", + "ĠHou se", + ". Label", + ".L abel", + "Ġ weight", + "Ġw eight", + "Ġwe ight", + "Ġweigh t", + "Ġwei ght", + "ig hb", + "igh b", + "Ġ conditions", + "Ġcondition s", + "Ġcond itions", + "Ġ exception", + "Ġex ception", + "Ġexcept ion", + "Ġexce ption", + "d escription", + "de scription", + "des cription", + "Ġ trad", + "Ġt rad", + "Ġtr ad", + "Ġtra d", + "- to", + "-t o", + "Ġ {}", + "Ġ{ }", + "Ġ module", + "Ġm odule", + "Ġmod ule", + "E ND", + "EN D", + ". ap", + ".a p", + ". props", + ".p rops", + ".pro ps", + ".pr ops", + ".prop s", + "Ġ constructor", + "Ġcon structor", + "Ġconstruct or", + "Ġconstr uctor", + "a ves", + "av es", + "ave s", + "Ġ favor", + "Ġf avor", + "Ġfa vor", + "Ġfav or", + "Ġ Now", + "ĠN ow", + "ĠNo w", + "; i", + "Ġ Main", + "ĠM ain", + "ĠMa in", + "ĠMai n", + "_ k", + "e ries", + "er ies", + "erie s", + "eri es", + "âĢĻ ll", + "âĢĻl l", + "trans form", + "ime stamp", + "imest amp", + "P re", + "Pr e", + "Ġ mer", + "Ġm er", + "Ġme r", + ". res", + ".re s", + ".r es", + "s tant", + "st ant", + "sta nt", + "stan t", + "L ocation", + "Lo cation", + "Loc ation", + "_ NAME", + "_N AME", + "Ġ loss", + "Ġl oss", + "Ġlo ss", + "Ġlos s", + "Ġ ĊĊ", + "ĠĊ Ċ", + "n et", + "ne t", + "Ġ engine", + "Ġe ngine", + "Ġeng ine", + "B lock", + "Bl ock", + "Bloc k", + "Blo ck", + "Ġ issues", + "Ġiss ues", + "Ġissue s", + "Ġissu es", + "Ġ parse", + "Ġp arse", + "Ġpar se", + "Ġpars e", + "Ġ Bar", + "ĠB ar", + "ĠBa r", + "Ġ stay", + "Ġst ay", + "Ġsta y", + "Ġ JSON", + "ĠJ SON", + "ĠJS ON", + "Ġ dom", + "Ġd om", + "Ġdo m", + "a irs", + "air s", + "ai rs", + "w ner", + "wn er", + "Ġ lower", + "Ġl ower", + "Ġlo wer", + "Ġlow er", + "\" ,čĊ", + "\", čĊ", + "Ġ Dem", + "ĠD em", + "ĠDe m", + "u fact", + "uf act", + "ufac t", + "Ġ ps", + "Ġp s", + "Ġ perfect", + "Ġper fect", + "Ġperf ect", + "R L", + "Ġ educ", + "Ġe duc", + "Ġed uc", + "Ġedu c", + "l s", + "em ory", + "emo ry", + "ARR ANT", + "u ge", + "ug e", + "Ġ exact", + "Ġex act", + ". key", + ".k ey", + ".ke y", + "al led", + "all ed", + "alle d", + "e ch", + "ec h", + "i ef", + "ie f", + "\\ /", + "o ke", + "ok e", + "Ġ former", + "Ġfor mer", + "Ġform er", + "Ġforme r", + "al loc", + "all oc", + "allo c", + "Ġ six", + "Ġs ix", + "Ġsi x", + "i da", + "id a", + "Ġ margin", + "Ġm argin", + "Ġmar gin", + "Ġmarg in", + "Ġ heart", + "Ġhe art", + "Ġhear t", + "a ld", + "al d", + "p ack", + "pa ck", + "pac k", + ".getElement ById", + "ĠW ARRANT", + "Ġ rather", + "Ġr ather", + "Ġrat her", + "Ġra ther", + "Ġ building", + "Ġbuild ing", + "er man", + "erm an", + "l ice", + "lic e", + "li ce", + "Ġ questions", + "Ġquest ions", + "Ġquestion s", + "Ġquesti ons", + "i zes", + "iz es", + "ize s", + "le ge", + "leg e", + "irect ory", + "irector y", + "Ġ je", + "Ġj e", + "Ġ cas", + "Ġc as", + "Ġca s", + "p rops", + "pr ops", + "pro ps", + "prop s", + "u tf", + "ut f", + "Ġ security", + "Ġs ecurity", + "Ġse curity", + "Ġsec urity", + "Ġ however", + "Ġhow ever", + "w eight", + "we ight", + "wei ght", + "weigh t", + "Ġ inside", + "Ġin side", + "Ġins ide", + "Ġp resident", + "Ġpres ident", + "C har", + "Ch ar", + "Cha r", + "Ġ WITH", + "ĠW ITH", + "ĠWI TH", + ". map", + ".m ap", + ".ma p", + "Ġ graph", + "Ġg raph", + "Ġgr aph", + "Ġgra ph", + "Ġgrap h", + "Ġ tag", + "Ġt ag", + "Ġta g", + "_ status", + "_s tatus", + "_st atus", + "_stat us", + "Ġ attempt", + "Ġat tempt", + "Ġatt empt", + "o pp", + "op p", + "u ses", + "us es", + "use s", + "ĉ const", + "ĉcon st", + "Ġ round", + "Ġr ound", + "Ġro und", + "Ġrou nd", + ", $", + "Ġ friends", + "Ġf riends", + "Ġfri ends", + "Ġfriend s", + "E mail", + "Em ail", + "? >", + "Re source", + "Res ource", + "K EY", + "KE Y", + "o sp", + "os p", + ". query", + ".qu ery", + "Ġ North", + "ĠN orth", + "ĠNor th", + "a bles", + "ab les", + "able s", + "abl es", + "is trib", + "ist rib", + "istr ib", + "_ class", + "_c lass", + "_cl ass", + "el lo", + "ell o", + "T hat", + "Th at", + "Ð º", + "pec ially", + "pecial ly", + "Ġ President", + "ĠP resident", + "ĠPres ident", + "Ġ campaign", + "Ġc ampaign", + "Ġcamp aign", + "Ġ alt", + "Ġa lt", + "Ġal t", + "a rea", + "ar ea", + "are a", + "Ġc hall", + "Ġch all", + "Ġcha ll", + "Ġop port", + "Ġopp ort", + ". Con", + ".C on", + ".Co n", + "Ġ energy", + "Ġe nergy", + "Ġen ergy", + "Ġenerg y", + "Ġener gy", + "l ike", + "li ke", + "lik e", + ". string", + ".s tring", + ".st ring", + ".str ing", + "ing ton", + "ingt on", + ") *", + "y y", + "Ġ profession", + "Ġprof ession", + "Ġprofess ion", + "ir th", + "irt h", + "Ġ seg", + "Ġs eg", + "Ġse g", + "æ ľ", + "Ġ hor", + "Ġh or", + "Ġho r", + "i ers", + "ie rs", + "ier s", + "c an", + "ca n", + "Ġbe hind", + "Ġbeh ind", + "Pro duct", + "Produ ct", + "Prod uct", + "f g", + "Ġ Sk", + "ĠS k", + ". jpg", + ".j pg", + ".jp g", + "? :", + "] ;ĊĊ", + "];Ċ Ċ", + "]; ĊĊ", + "Ġ callback", + "Ġc allback", + "Ġcall back", + "Ġ Http", + "ĠH ttp", + "Ñ Į", + "l ong", + "lo ng", + "lon g", + "M S", + "A TH", + "AT H", + "Ġ raise", + "Ġr aise", + "Ġrais e", + "Ġra ise", + "Ġ wanted", + "Ġw anted", + "Ġwant ed", + "Ġwan ted", + "r own", + "ro wn", + "row n", + "u tor", + "ut or", + "uto r", + "l t", + "] =", + "e line", + "el ine", + "eli ne", + "elin e", + "M A", + "Ġs epar", + "Ġse par", + "Ġsep ar", + "c s", + "s emb", + "se mb", + "sem b", + "D is", + "Di s", + "b serv", + "bs erv", + "Ġ Will", + "ĠW ill", + "ĠWil l", + "ĠWi ll", + "Ġ policy", + "Ġp olicy", + "Ġpol icy", + "Ġpolic y", + "Ġ third", + "Ġth ird", + "Ġthi rd", + "p hone", + "ph one", + "phon e", + "Ġ bed", + "Ġb ed", + "Ġbe d", + "/ g", + ". __", + "._ _", + "Ġ Inc", + "ĠI nc", + "ĠIn c", + "i zing", + "iz ing", + "izi ng", + "izin g", + ". remove", + ".re move", + ".rem ove", + "in stance", + "inst ance", + "instanc e", + ". type", + ".t ype", + ".typ e", + "Ġ serv", + "Ġs erv", + "Ġse rv", + "Ġser v", + "E ach", + "Ġ har", + "Ġh ar", + "Ġha r", + "Ġ Message", + "ĠM essage", + "ĠMess age", + "ĠMes sage", + "( key", + "(k ey", + "SE LECT", + "SEL ECT", + "P os", + "Po s", + ") );čĊ", + ")) ;čĊ", + ")); čĊ", + "Ġre comm", + "Ġrec omm", + "Ġrecom m", + "Ġreco mm", + "Ġ training", + "Ġtr aining", + "Ġtrain ing", + "Ġtra ining", + "Ġtrai ning", + "Ġ Ent", + "ĠE nt", + "ĠEn t", + "Ġ Char", + "ĠC har", + "ĠCh ar", + "ĠCha r", + "i cht", + "ic ht", + "ich t", + "( file", + "(f ile", + "(fi le", + "(fil e", + "Ġ prior", + "Ġp rior", + "Ġpr ior", + "Ġpri or", + "Ġprio r", + "G ame", + "Gam e", + "Ga me", + "Ġ exit", + "Ġe xit", + "Ġex it", + "Param s", + "Par ams", + "Pa rams", + "Para ms", + ". core", + ".c ore", + ".co re", + ".cor e", + "P C", + "n es", + "ne s", + "an ced", + "ance d", + "anc ed", + "( request", + "(re quest", + "(req uest", + "P assword", + "Pass word", + "Pas sword", + "} >Ċ", + "}> Ċ", + "Ġ mag", + "Ġm ag", + "Ġma g", + "Ġ release", + "Ġre lease", + "Ġr elease", + "Ġrel ease", + "Ġrele ase", + "Ġ shall", + "Ġs hall", + "Ġsh all", + "Ġsha ll", + "u dent", + "ud ent", + "ude nt", + "uden t", + "Ġ South", + "ĠS outh", + "ĠSo uth", + "ĠSou th", + "a ndo", + "an do", + "and o", + ": '", + ". TabIndex", + ".Tab Index", + "s k", + "an ner", + "ann er", + "anne r", + "is set", + "iss et", + "isse t", + "Ġ outside", + "Ġout side", + "Ġouts ide", + "l edge", + "le dge", + "led ge", + "Ġ å", + "Ġ Rob", + "ĠR ob", + "ĠRo b", + "Ġ imm", + "Ġi mm", + "Ġim m", + "! Ċ", + "Ġ Web", + "ĠW eb", + "ĠWe b", + "D es", + "De s", + "B C", + "an cial", + "anc ial", + "ancia l", + "R oute", + "Ro ute", + "D ec", + "De c", + "fer ences", + "ference s", + "Ġp urch", + "Ġpur ch", + "Ġpu rch", + "Ġ Model", + "ĠM odel", + "ĠMod el", + "ĠMo del", + "ĠMode l", + "c tor", + "ct or", + "g n", + "_ start", + "_st art", + "_star t", + "_sta rt", + "_ un", + "_u n", + ". *", + "i ses", + "is es", + "ise s", + "Ġ ground", + "Ġg round", + "Ġgr ound", + "Ġgro und", + "Ġgrou nd", + "Ġ unique", + "Ġun ique", + "Ġuniqu e", + "Ġuni que", + "Ġuniq ue", + "Ġbe aut", + "Ġbeau t", + "{ \"", + "Ġ pour", + "Ġp our", + "Ġpo ur", + "Ġpou r", + "Ġ Oct", + "ĠO ct", + "ĠOc t", + "Ġ tree", + "Ġt ree", + "Ġtr ee", + "Ġtre e", + "s ets", + "se ts", + "set s", + "_ res", + "_re s", + "_r es", + "' )->", + "') ->", + "_ reg", + "_re g", + "_r eg", + "( \"\\", + "(\" \\", + "Ġ byte", + "Ġb yte", + "Ġby te", + "Ġbyt e", + "B l", + "Ġ dating", + "Ġd ating", + "Ġda ting", + "Ġdat ing", + "Ġdati ng", + "Ġ matter", + "Ġm atter", + "Ġmat ter", + "Ġmatt er", + "Ġmatte r", + "Ġ Rem", + "ĠR em", + "ĠRe m", + "Ġ' ../", + "Ġ'. ./", + "Ġ'.. /", + "Ġ Aug", + "ĠA ug", + "ĠAu g", + "Ġ La", + "ĠL a", + "Ġ $(", + "Ġ$ (", + "o urnal", + "our nal", + "ourn al", + "1 11", + "11 1", + "i am", + "ia m", + "Ġ shows", + "Ġsh ows", + "Ġshow s", + "Ġsho ws", + "w rite", + "wr ite", + "Ġ ball", + "Ġb all", + "Ġbal l", + "Ġba ll", + "Ġsim ply", + "Ġsimp ly", + "Ġsimpl y", + "Ġ fast", + "Ġf ast", + "Ġfa st", + "Ġfas t", + "Ġ memory", + "Ġm emory", + "Ġmem ory", + "Ġmemor y", + "Ġmemo ry", + "A SS", + "AS S", + "Ġ Of", + "ĠO f", + "o ved", + "ov ed", + "ove d", + "a nte", + "an te", + "ant e", + "a ul", + "au l", + "i stry", + "is try", + "ist ry", + "istr y", + ") ));Ċ", + ")) );Ċ", + "))) ;Ċ", + "))); Ċ", + "Ġ fit", + "Ġf it", + "Ġfi t", + "< string", + "_", + "-> _", + "\" )ĊĊ", + "\") ĊĊ", + "\")Ċ Ċ", + "o x", + "ap plication", + "app lication", + "appl ication", + "Ġ ]Ċ", + "Ġ] Ċ", + "Ċ ĊĊĊĊĊ", + "ĊĊ ĊĊĊĊ", + "ĊĊĊĊ ĊĊ", + "ĊĊĊ ĊĊĊ", + "ĊĊĊĊĊ Ċ", + "1 80", + "18 0", + "Ġ soon", + "Ġs oon", + "Ġso on", + "Ġsoo n", + "ct ions", + "ction s", + "i nger", + "in ger", + "ing er", + "inge r", + "Ġ join", + "Ġj oin", + "Ġjo in", + "Ġ Pe", + "ĠP e", + "Ġ ë", + "Ġ las", + "Ġl as", + "Ġla s", + ". E", + "c ss", + "cs s", + "/ or", + "/o r", + "Ġ Start", + "ĠSt art", + "ĠStar t", + "ĠSta rt", + "Ġ TO", + "ĠT O", + "Ġ subs", + "Ġs ubs", + "Ġsu bs", + "Ġsub s", + "c onn", + "con n", + "co nn", + "com ponents", + "comp onents", + "component s", + "DE BUG", + "qu are", + "qua re", + "F unction", + "Func tion", + "Fun ction", + "en dar", + "end ar", + "enda r", + ". index", + ".in dex", + ".ind ex", + "Ġ fill", + "Ġf ill", + "Ġfil l", + "Ġfi ll", + "Ä Ļ", + "Ġ choose", + "Ġch oose", + "Ġcho ose", + "h ow", + "ho w", + "Ġ America", + "ĠAmeric a", + "ĠAmer ica", + "as sets", + "ass ets", + "asset s", + "asse ts", + "- -----------", + "-- ----------", + "---- --------", + "-------- ----", + "--- ---------", + "----- -------", + "---------- --", + "------ ------", + "----------- -", + "------- -----", + "--------- ---", + "Ġ Value", + "ĠV alue", + "ĠVal ue", + "ĠVa lue", + "Ġ office", + "Ġoff ice", + "Ġoffic e", + "Ġ veh", + "Ġv eh", + "Ġve h", + "Ġ transform", + "Ġtrans form", + "Ġtransf orm", + "Ġ Art", + "ĠA rt", + "ĠAr t", + "Ġ inde", + "Ġin de", + "Ġi nde", + "Ġind e", + "Ġ fn", + "Ġf n", + "Ġ implements", + "Ġim plements", + "Ġimp lements", + "Ġimplement s", + "Ġimpl ements", + "a ngo", + "an go", + "ang o", + "p lete", + "pl ete", + "ple te", + "plet e", + "+ \"", + "t mp", + "tm p", + "am ily", + "ami ly", + "amil y", + "Ġ hash", + "Ġh ash", + "Ġhas h", + "Ġha sh", + "m issions", + "miss ions", + "mission s", + "E ST", + "ES T", + "g t", + "Pro vider", + "Provid er", + "Provide r", + "Prov ider", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "Ġ flag", + "Ġf lag", + "Ġfl ag", + "Ġfla g", + "Ġpart icip", + "Ġpartic ip", + "Ġparti cip", + "d en", + "de n", + "Ġ Returns", + "ĠReturn s", + "Ġ note", + "Ġn ote", + "Ġnot e", + "Ġno te", + "ü r", + "p m", + "id eos", + "ide os", + "ideo s", + "Ġ specified", + "Ġs pecified", + "Ġspec ified", + "Ġ EN", + "ĠE N", + "e ster", + "es ter", + "est er", + "este r", + "o lid", + "ol id", + "oli d", + "Ġ upon", + "Ġu pon", + "Ġup on", + "( std", + "(s td", + "(st d", + "ĉ v", + "Ġ '\\", + "Ġ' \\", + "u z", + "Ġ vert", + "Ġv ert", + "Ġver t", + "Ġve rt", + "Ġv ict", + "Ġvi ct", + "Ġvic t", + "ĉ self", + "ĉs elf", + "ĉse lf", + "Ġ \"$", + "Ġ\" $", + "8 5", + ". k", + "Ġ groups", + "Ġg roups", + "Ġgroup s", + "Ġgro ups", + "Ġgrou ps", + "g ithub", + "git hub", + "l ang", + "la ng", + "lan g", + "Ġ mut", + "Ġm ut", + "Ġmu t", + "T O", + "Ġ ve", + "Ġv e", + "Ġ Please", + "ĠP lease", + "ĠPl ease", + "ĠPle ase", + "; ĊĊĊ", + ";Ċ ĊĊ", + ";ĊĊ Ċ", + "a ccess", + "ac cess", + "acc ess", + "Ġ {\"", + "Ġ{ \"", + "r ea", + "re a", + "Ġ risk", + "Ġr isk", + "Ġris k", + "Ġri sk", + "i cker", + "ic ker", + "ick er", + "og gle", + "ogg le", + "ĉ while", + "A NG", + "AN G", + ". send", + ".s end", + ".se nd", + "7 2", + "Ġ woman", + "Ġw oman", + "Ġwom an", + "Ġwo man", + "Ġ gets", + "Ġg ets", + "Ġget s", + "Ġge ts", + "Ġ ign", + "Ġi gn", + "Ġig n", + "Ġ Id", + "ĠI d", + "_ log", + "_l og", + "_lo g", + "O NE", + "ON E", + "Ġe vid", + "Ġev id", + "Ġ Har", + "ĠH ar", + "ĠHa r", + "_ sub", + "_s ub", + "_su b", + "Ġ endl", + "Ġe ndl", + "Ġen dl", + "Ġend l", + "Ġ included", + "Ġin cluded", + "Ġinclud ed", + "Ġinclude d", + "Ġincl uded", + "Ġinclu ded", + "( ));ĊĊ", + "() );ĊĊ", + "());Ċ Ċ", + "()) ;ĊĊ", + "()); ĊĊ", + "Ġ Ap", + "ĠA p", + "i gr", + "ig r", + "Ġ sem", + "Ġs em", + "Ġse m", + "Ġ Black", + "ĠB lack", + "ĠBl ack", + "d oc", + "do c", + "_ table", + "_t able", + "_tab le", + "_ta ble", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "- up", + "-u p", + "Ġ cause", + "Ġc ause", + "Ġca use", + "Ġcaus e", + "Ġ ..", + "Ġ. .", + "Ġ van", + "Ġv an", + "Ġva n", + "_ dict", + "_d ict", + "_di ct", + "_dic t", + "Ġ focus", + "Ġf ocus", + "Ġfoc us", + "Ġfo cus", + "I ND", + "IN D", + "C ESS", + "CE SS", + "CES S", + ". Log", + ".L og", + ".Lo g", + "Ġ multiple", + "Ġm ultiple", + "Ġmult iple", + "Ġmulti ple", + "Ġmultip le", + "i do", + "id o", + "Ġre gard", + "Ġreg ard", + "- M", + "and ler", + "andle r", + "o urse", + "our se", + "ours e", + "Ġ deg", + "Ġd eg", + "Ġde g", + ". U", + "Ġadd ition", + "Ġad dition", + "Ġv arious", + "Ġvar ious", + "Ġvari ous", + "Ġva rious", + "Ġ receive", + "Ġre ceive", + "Ġrece ive", + "е н", + "еР½", + "Ġ HT", + "ĠH T", + "O bj", + "Ob j", + "D F", + "Ġ increase", + "Ġin crease", + "Ġincre ase", + "Ġincr ease", + "Ġ Open", + "ĠO pen", + "ĠOp en", + "] ;", + "Ġ commit", + "Ġcom mit", + "Ġcomm it", + "? Ċ", + "ateg ories", + "ategor ies", + "ategori es", + "ategorie s", + "atego ries", + "at ory", + "ator y", + "ato ry", + "s hip", + "sh ip", + "shi p", + "Ġ Mich", + "ĠM ich", + "ĠMi ch", + "ĠMic h", + "Ġ html", + "Ġh tml", + "Ġht ml", + "ro mise", + "rom ise", + "Ġ leave", + "Ġle ave", + "Ġstr ateg", + "Ġstrat eg", + "Ġstra teg", + "Ġstrate g", + "a ven", + "av en", + "ave n", + "Ġ Console", + "ĠCon sole", + "ĠCons ole", + "k nown", + "kn own", + "know n", + "- n", + "_ LE", + "_L E", + ". component", + ".com ponent", + ".comp onent", + "Ġ bre", + "Ġb re", + "Ġbr e", + "S ession", + "i ance", + "ia nce", + "ian ce", + "Ġ align", + "Ġal ign", + "Ġali gn", + "type def", + "typ edef", + "typed ef", + "_ result", + "_res ult", + "Ġ WHERE", + "ĠW HERE", + "ĠWH ERE", + ". split", + ".s plit", + ".sp lit", + "Ġ reading", + "Ġre ading", + "Ġread ing", + "FA ULT", + "Ġ clo", + "Ġc lo", + "Ġcl o", + "Ġ notice", + "Ġnot ice", + "_ pr", + "_p r", + "ar ter", + "art er", + "arte r", + "Ġ lock", + "Ġl ock", + "Ġlo ck", + "Ġloc k", + "Ġ standard", + "Ġst andard", + "Ġstand ard", + "e tic", + "et ic", + "eti c", + "el low", + "ell ow", + "ello w", + "Ġ padding", + "Ġp adding", + "Ġpad ding", + "Ġpadd ing", + "Ġ His", + "ĠH is", + "ĠHi s", + "Ġ states", + "Ġst ates", + "Ġstate s", + "Ġstat es", + "Ġsta tes", + "_ cast", + "_c ast", + "_ca st", + "( P", + "a a", + "Ġ internal", + "Ġin ternal", + "Ġint ernal", + "Ġinter nal", + "Ġintern al", + "e an", + "ea n", + "Ġ PRO", + "ĠP RO", + "ĠPR O", + "Ġ Key", + "ĠK ey", + "ĠKe y", + "Ġ especially", + "Ġes pecially", + "Ġespecial ly", + "Ġespec ially", + "m ing", + "min g", + "mi ng", + "Ġ cross", + "Ġc ross", + "Ġcr oss", + "Ġcro ss", + "Ġ national", + "Ġn ational", + "Ġnation al", + "Ġnat ional", + "_ object", + "_obj ect", + "_o bject", + "_ob ject", + "f ilter", + "fil ter", + "filt er", + "Ġ script", + "Ġs cript", + "Ġscr ipt", + "Ġscri pt", + ". update", + ".up date", + "_ i", + "Ġ Assert", + "ĠAs sert", + "ĠAss ert", + "/ core", + "/c ore", + "/co re", + "% %%%", + "%% %%", + "%%% %", + "Ġ problems", + "Ġpro blems", + "Ġproble ms", + "Ġproblem s", + "Ġprob lems", + "Ġprobl ems", + "i stor", + "is tor", + "ist or", + "isto r", + "Ġ .=", + "Ġ. =", + "Ġ arch", + "Ġa rch", + "Ġar ch", + "Ġarc h", + "Ġ written", + "Ġw ritten", + "Ġwrit ten", + "Ġwr itten", + "Ġm ilit", + "Ġmil it", + "Ġmi lit", + "Ġmili t", + "M ENT", + "ME NT", + ". ch", + ".c h", + "c ape", + "ca pe", + "cap e", + "Ġ Mus", + "ĠM us", + "ĠMu s", + "_ config", + "_con fig", + "_conf ig", + "Ġ API", + "ĠA PI", + "ĠAP I", + "f oot", + "fo ot", + "foo t", + "Ġ images", + "Ġim ages", + "Ġimage s", + "Ġimag es", + "Ġima ges", + "e ndl", + "en dl", + "end l", + ". In", + ".I n", + "F irst", + "Fi rst", + "Ġ platform", + "Ġpl atform", + "Ġplat form", + ". prot", + ".p rot", + ".pro t", + ".pr ot", + "O ption", + "Op tion", + "Opt ion", + "s te", + "st e", + "Ġ TODO", + "ĠT ODO", + "ĠTO DO", + "ĠTOD O", + "Ġ force", + "Ġf orce", + "Ġfor ce", + "Ġforc e", + ". cont", + ".c ont", + ".con t", + ".co nt", + "ĉ echo", + "ĉe cho", + "ĠD av", + "ĠDa v", + "P tr", + "Pt r", + "( B", + "R T", + "Ġ Base", + "ĠB ase", + "ĠBa se", + "ĠBas e", + "] ['", + "][ '", + "Ġann ounc", + "Ġanno unc", + "con sole", + "cons ole", + "Ġ Py", + "ĠP y", + "d s", + ". as", + ".a s", + "Ġ prevent", + "Ġpr event", + "Ġpre vent", + "Ġprev ent", + "a pan", + "ap an", + "apa n", + "Ġ {'", + "Ġ{ '", + "} '", + "Ġ dead", + "Ġd ead", + "Ġde ad", + "V AL", + "VA L", + "Q UE", + "QU E", + "******** ****************************************************************", + "**************** ********************************************************", + "******************************** ****************************************", + "**************************************************************** ********", + "************************ ************************************************", + "**************************************** ********************************", + "************************************************ ************************", + "******************************************************** ****************", + "Ġ charg", + "Ġch arg", + "Ġchar g", + "Ġcha rg", + "R eturn", + "Re turn", + "Ret urn", + "Ġ ful", + "Ġf ul", + "Ġfu l", + "d om", + "do m", + "Ġ rules", + "Ġr ules", + "Ġrule s", + "Ġru les", + "Ġ modify", + "Ġmod ify", + "Ġ eval", + "Ġe val", + "Ġev al", + "h am", + "ha m", + "a tement", + "at ement", + "ate ment", + "atem ent", + "\\ <", + "u la", + "ul a", + "= False", + "=F alse", + "R A", + "Ġ contains", + "Ġcon tains", + "Ġcont ains", + "Ġcontain s", + "Ġconta ins", + "7 4", + "Ġ stack", + "Ġst ack", + "Ġsta ck", + "m ar", + "ma r", + "Ġ {}Ċ", + "Ġ{ }Ċ", + "Ġ{} Ċ", + "Ġ undefined", + "Ġun defined", + "Ġund efined", + "Ġundef ined", + "A ss", + "As s", + "Ġ China", + "ĠCh ina", + "ĠChi na", + "ĠChin a", + "v ey", + "ve y", + "* Ċ", + "Ġ playing", + "Ġpl aying", + "Ġplay ing", + "Ġpla ying", + ") /", + "a ctor", + "act or", + "ac tor", + "Ġ bottom", + "Ġb ottom", + "Ġbot tom", + "Ġbott om", + "l ier", + "li er", + "lie r", + "Ġ Number", + "ĠN umber", + "ĠNum ber", + "Ġc ouple", + "Ġco uple", + "Ġcou ple", + "Ġcoup le", + "D C", + "Ġ SO", + "ĠS O", + "g or", + "go r", + ". setText", + ".set Text", + "s uccess", + "su ccess", + "succ ess", + "com mand", + "comm and", + "comma nd", + "F ilter", + "Fil ter", + "Ġ Our", + "ĠO ur", + "ĠOu r", + "_ item", + "_i tem", + "_it em", + "Ġ ctx", + "Ġc tx", + "Ġct x", + "Ġ road", + "Ġr oad", + "Ġro ad", + "V ersion", + "Vers ion", + "c ase", + "ca se", + "cas e", + "u rt", + "ur t", + "av ior", + "avi or", + "y ch", + "yc h", + "semb ly", + "sembl y", + "Ġ Product", + "ĠPro duct", + "ĠProdu ct", + "ĠProd uct", + "Ġ held", + "Ġh eld", + "Ġhe ld", + "Ġhel d", + "a fe", + "af e", + "Ġ includes", + "Ġin cludes", + "Ġinclud es", + "Ġinclude s", + "Ġincl udes", + "Ġinclu des", + "< quote", + "Ġ avoid", + "Ġa void", + "Ġav oid", + "Ġ Fin", + "ĠF in", + "ĠFi n", + "Ġ Mod", + "ĠM od", + "ĠMo d", + "Ġ tab", + "Ġt ab", + "Ġta b", + "a no", + "an o", + "à ±", + "i pping", + "ip ping", + "ipp ing", + "ippi ng", + "- e", + "Ġ insert", + "Ġin sert", + "Ġins ert", + "Ġinser t", + "Ġinse rt", + "t arget", + "tar get", + "c han", + "ch an", + "cha n", + ". Model", + ".M odel", + ".Mod el", + ".Mode l", + "I ME", + "IM E", + "\\ Ċ", + "Ġ machine", + "Ġm achine", + "Ġma chine", + "Ġmach ine", + "a vy", + "av y", + "Ġ NO", + "ĠN O", + "Ġ Inter", + "ĠIn ter", + "ĠInt er", + "Ġ operation", + "Ġo peration", + "Ġop eration", + "Ġoper ation", + "Ġopera tion", + "m odal", + "mod al", + "mo dal", + "T ag", + "Ta g", + "] :", + "Ġ production", + "Ġp roduction", + "Ġpro duction", + "Ġproduct ion", + "Ġprodu ction", + "Ġprod uction", + "Ġ areas", + "Ġa reas", + "Ġare as", + "Ġarea s", + "Ġ ren", + "Ġre n", + "Ġr en", + "_ from", + "_f rom", + "_fr om", + "n bsp", + "nb sp", + "Ġ operator", + "Ġo perator", + "Ġop erator", + "Ġoper ator", + "Ġopera tor", + "m en", + "me n", + "a pped", + "ap ped", + "app ed", + "appe d", + "_ per", + "_p er", + "_pe r", + "z en", + "ze n", + "( \".", + "(\" .", + ". save", + ".s ave", + ".sa ve", + ".sav e", + "=\" {{", + "=\"{ {", + "Ġ tor", + "Ġt or", + "Ġto r", + "( response", + "(res ponse", + "(resp onse", + "Ġc andid", + "Ġcan did", + "Ġcand id", + "Ġ conv", + "Ġcon v", + "Ġco nv", + "a iled", + "ail ed", + "ai led", + "Ġ Lib", + "ĠL ib", + "ĠLi b", + "c omp", + "com p", + "co mp", + "u ra", + "ur a", + "ï¿ ½", + "Ġ Here", + "ĠH ere", + "ĠHe re", + "ĠHer e", + "Ġ argument", + "Ġarg ument", + "h ood", + "ho od", + "hoo d", + "Ġ establish", + "Ġest ablish", + "ograph y", + "ogra phy", + "Ġ onClick", + "Ġon Click", + "amb da", + "Ġ sch", + "Ġs ch", + "Ġsc h", + "Ġ movie", + "Ġm ovie", + "Ġmov ie", + "Ġmo vie", + "Ġ sec", + "Ġs ec", + "Ġse c", + "Ġ activity", + "Ġact ivity", + "Ġactiv ity", + "Ø §", + "Ġ sql", + "Ġs ql", + "Ġsq l", + "_ all", + "_a ll", + "_al l", + "in cip", + "inc ip", + "inci p", + "Ġpro vides", + "Ġprovid es", + "Ġprov ides", + "Ġprovide s", + "Ġ sys", + "Ġs ys", + "Ġsy s", + "a cket", + "ack et", + "ac ket", + "Ġw asn", + "Ġwas n", + "Ġwa sn", + "Ġ uses", + "Ġu ses", + "Ġus es", + "Ġuse s", + "Ġ Function", + "ĠF unction", + "ĠFun ction", + "ĠFunc tion", + ". google", + ".g oogle", + ".go ogle", + "Ġ Result", + "ĠRes ult", + "8 4", + "V isible", + "Vis ible", + "ag ma", + "el come", + "Ġ Sy", + "ĠS y", + "Ġ Cent", + "ĠC ent", + "ĠCe nt", + "AL SE", + "ALS E", + "a ción", + "ac ión", + "aci ón", + "E XT", + "EX T", + "Ġ license", + "Ġl icense", + "Ġlic ense", + "Ġlicens e", + "Ġ Long", + "ĠL ong", + "ĠLo ng", + "ĠLon g", + "Ġ accom", + "Ġacc om", + "Ġac com", + "Ġ ability", + "Ġab ility", + ". height", + ".h eight", + ".he ight", + "Act ive", + "Activ e", + "o logical", + "olog ical", + "ologic al", + "ologi cal", + "o ly", + "ol y", + ") ),", + ")) ,", + ". Se", + ".S e", + "Ġ parameter", + "Ġparam eter", + "Ġpara meter", + "Ġparamet er", + "p rite", + "pr ite", + "prit e", + "pri te", + "AB ILITY", + ". service", + ".s ervice", + ".serv ice", + ".ser vice", + "Ġ Group", + "ĠG roup", + "ĠGr oup", + "ĠGro up", + "_ query", + "_qu ery", + "_que ry", + "Ġ Item", + "ĠI tem", + "ĠIt em", + "i ning", + "in ing", + "ini ng", + "inin g", + "Ġ jud", + "Ġj ud", + "Ġju d", + "i ms", + "im s", + "f ix", + "fi x", + "i nder", + "in der", + "ind er", + "inde r", + "a gram", + "ag ram", + "agra m", + "agr am", + "Ġ functions", + "Ġfunction s", + "Ġfun ctions", + "Ġfunct ions", + "Ġex peri", + "Ġexp eri", + "Ġexper i", + "Ġ Em", + "ĠE m", + "Ġ rot", + "Ġr ot", + "Ġro t", + "Ġ pen", + "Ġp en", + "Ġpe n", + ". btn", + ".b tn", + ".bt n", + "Ġ AS", + "ĠA S", + "# ifdef", + "#if def", + "Ġ choice", + "Ġch oice", + "Ġcho ice", + "Ġ Page", + "ĠP age", + "ĠPa ge", + "ĠPag e", + "_ PRO", + "_P RO", + "_PR O", + "Q U", + "å ı", + "a ntity", + "ant ity", + "anti ty", + " Ń", + "w ords", + "word s", + "wor ds", + "Ġ readonly", + "Ġread only", + "Ġ flex", + "Ġf lex", + "Ġfl ex", + "Ġfle x", + "prot ected", + "protect ed", + "Ġ Any", + "ĠA ny", + "ĠAn y", + "Ġ characters", + "Ġchar acters", + "Ġcharacter s", + "en ced", + "ence d", + "enc ed", + "Ġ July", + "ĠJ uly", + "ĠJul y", + "ĠJu ly", + "i ler", + "il er", + "ile r", + "C ard", + "Car d", + "Ca rd", + "u rance", + "ur ance", + "ura nce", + "uran ce", + "Ġ rev", + "Ġre v", + "Ġr ev", + ". event", + ".e vent", + ".ev ent", + "a ly", + "al y", + "1 30", + "13 0", + "Ġw onder", + "Ġwon der", + "Ġwo nder", + "Ġ Port", + "ĠP ort", + "ĠPo rt", + "ĠPor t", + "Ġ legal", + "Ġl egal", + "Ġle gal", + "Ġleg al", + "r ole", + "ro le", + "rol e", + "Ġ ten", + "Ġt en", + "Ġte n", + "Ġg oes", + "Ġgo es", + "M P", + "wh ite", + ") :čĊ", + "): čĊ", + ") )čĊ", + ")) čĊ", + "Ġ reference", + "Ġre ference", + "Ġref erence", + "Ġrefer ence", + "Ġrefere nce", + "Ġ mis", + "Ġm is", + "Ġmi s", + "Ġ Project", + "ĠPro ject", + "ĠProj ect", + "i cks", + "ic ks", + "ick s", + "> &", + "C ON", + "CO N", + "Ġre pl", + "Ġrep l", + "Ġ regular", + "Ġreg ular", + "Ġregul ar", + "St orage", + "r amework", + "rame work", + "ram ework", + "Ġ goal", + "Ġgo al", + "Ġ touch", + "Ġt ouch", + "Ġto uch", + "Ġtou ch", + ". widget", + ".w idget", + "Ġ built", + "Ġb uilt", + "Ġbu ilt", + "d es", + "de s", + "P art", + "Par t", + "Pa rt", + "( re", + "(r e", + "Ġ worth", + "Ġw orth", + "Ġwor th", + "h ib", + "hi b", + "g ame", + "ga me", + "gam e", + "9 1", + "1 92", + "19 2", + "Ġ в", + "ĠÐ ²", + "a cion", + "ac ion", + "aci on", + "acio n", + "Ġ White", + "ĠWh ite", + "ĠWhit e", + "( type", + "(t ype", + "(typ e", + "( `", + "8 1", + "Ġ natural", + "Ġn atural", + "Ġnatur al", + "Ġnat ural", + "Ġin j", + "Ġi nj", + "Ġ calcul", + "Ġcal cul", + "Ġcalc ul", + "Ġ April", + "ĠApr il", + "ĠAp ril", + ". List", + ".L ist", + "Ġ associated", + "Ġassoci ated", + "Ġassociate d", + "Ġassoc iated", + "ĉ System", + "ĉS ystem", + "~ ~", + "= [", + "Ġ storage", + "Ġst orage", + "Ġstor age", + "Ġsto rage", + "Ġ bytes", + "Ġby tes", + "Ġbyte s", + "Ġbyt es", + "Ġ travel", + "Ġt ravel", + "Ġtr avel", + "Ġtra vel", + "Ġtrav el", + "Ġ sou", + "Ġs ou", + "Ġso u", + "Ġ passed", + "Ġp assed", + "Ġpass ed", + "Ġpas sed", + "Ġpasse d", + "! =", + "a script", + "as cript", + ". open", + ".op en", + ".o pen", + "Ġ grid", + "Ġg rid", + "Ġgr id", + "Ġgri d", + "Ġ bus", + "Ġb us", + "Ġbu s", + "Ġ recogn", + "Ġrec ogn", + "Ġreco gn", + "A b", + "Ġ hon", + "Ġh on", + "Ġho n", + "Ġ Center", + "ĠC enter", + "ĠCent er", + "Ġ prec", + "Ġp rec", + "Ġpr ec", + "Ġpre c", + "b uild", + "bu ild", + "7 3", + "HT ML", + "Ġ San", + "ĠS an", + "ĠSa n", + "Ġ countries", + "Ġc ountries", + "Ġcount ries", + "Ġcoun tries", + "a led", + "al ed", + "ale d", + "t oken", + "to ken", + "tok en", + "k t", + "Ġ qual", + "Ġqu al", + "Ġq ual", + "Ġqua l", + "L ast", + "La st", + "Las t", + "ad ow", + "ado w", + "Ġ manufact", + "Ġman ufact", + "i dad", + "id ad", + "ida d", + "j ango", + "ja ngo", + "jan go", + "jang o", + "N ext", + "Ne xt", + "x f", + ". a", + "Ġ porno", + "Ġp orno", + "Ġporn o", + "Ġpor no", + "Ġ PM", + "ĠP M", + "e rve", + "er ve", + "erv e", + "i ting", + "it ing", + "iti ng", + "itin g", + "_ th", + "_t h", + "c i", + "= None", + "=N one", + "g s", + "Ġ login", + "Ġlo gin", + "Ġlog in", + "at ives", + "ative s", + "ati ves", + "ativ es", + "' ]);Ċ", + "'] );Ċ", + "']) ;Ċ", + "']); Ċ", + "Ä ħ", + "Ġ ill", + "Ġi ll", + "Ġil l", + "I A", + "ch ildren", + "child ren", + "D O", + "Ġ levels", + "Ġlevel s", + "Ġlev els", + "Ġleve ls", + "Ġ {{", + "Ġ{ {", + "Ġ looks", + "Ġl ooks", + "Ġlo oks", + "Ġlook s", + "Ġ \"#", + "Ġ\" #", + "To String", + "ToStr ing", + "Ġ necessary", + "Ġn ecessary", + "Ġnecess ary", + "Ġ ĠĠĊ", + "ĠĠ ĠĊ", + "ĠĠĠ Ċ", + "c ell", + "ce ll", + "cel l", + "En try", + "Ent ry", + "Entr y", + "Ġ '#", + "Ġ' #", + "Ġext rem", + "Ġextr em", + "Se lector", + "Select or", + "Sel ector", + "Sele ctor", + "Ġ placeholder", + "Ġplace holder", + "L oad", + "Lo ad", + "Ġ released", + "Ġre leased", + "Ġrelease d", + "Ġrele ased", + "O RE", + "OR E", + "E numer", + "En umer", + "Enum er", + "Ġ TV", + "ĠT V", + "S ET", + "SE T", + "in q", + "P ress", + "Pr ess", + "Pre ss", + "Pres s", + "Ġ Department", + "ĠDe partment", + "ĠDep artment", + "ĠDepart ment", + "Ġ properties", + "Ġp roperties", + "Ġprop erties", + "Ġproper ties", + "Ġ respond", + "Ġres pond", + "Ġresp ond", + "S earch", + "Se arch", + "Sea rch", + "a el", + "ae l", + "Ġ requ", + "Ġre qu", + "Ġr equ", + "Ġreq u", + "Ġ Book", + "ĠB ook", + "ĠBo ok", + "ĠBoo k", + "/ Ċ", + "( st", + "(s t", + "Ġ financial", + "Ġfin ancial", + "Ġfinanc ial", + "Ġfinan cial", + "i cket", + "ic ket", + "ick et", + "_ input", + "_in put", + "_inp ut", + "Ġ threat", + "Ġth reat", + "Ġthr eat", + "( in", + "(i n", + "S trip", + "St rip", + "Str ip", + "ì Ŀ", + "ç ão", + "7 1", + "Ġe vidence", + "Ġev idence", + "Ġevid ence", + ") );", + ")) ;", + "Ġ Bro", + "ĠB ro", + "ĠBr o", + "Ġ [];Ċ", + "Ġ[ ];Ċ", + "Ġ[] ;Ċ", + "Ġ[]; Ċ", + "Ġ ou", + "Ġo u", + "b uf", + "bu f", + "S cript", + "Scr ipt", + "d at", + "da t", + "Ġ rule", + "Ġr ule", + "Ġru le", + "# import", + "= \"/", + "=\" /", + "S erial", + "Se rial", + "Ser ial", + "Ġ starting", + "Ġstart ing", + "Ġstar ting", + "[ index", + "[in dex", + "[ind ex", + "a e", + "Ġ contrib", + "Ġcon trib", + "Ġcont rib", + "Ġcontr ib", + "s ession", + "sess ion", + "_ new", + "_n ew", + "_ne w", + "u table", + "ut able", + "uta ble", + "o ber", + "ob er", + "obe r", + "Ġ \"./", + "Ġ\" ./", + "Ġ\". /", + "Ġ logger", + "Ġlo gger", + "Ġlog ger", + "Ġrec ently", + "Ġrecent ly", + "Ġ returned", + "Ġre turned", + "Ġreturn ed", + "č čĊ", + ") ))Ċ", + ")) )Ċ", + "))) Ċ", + "it ions", + "ition s", + "iti ons", + "Ġ seek", + "Ġse ek", + "Ġsee k", + "Ġ communic", + "Ġcomm unic", + "Ġcommun ic", + "Ġ \".", + "Ġ\" .", + "Ġ username", + "Ġuser name", + "Ġusern ame", + "E CT", + "EC T", + "D S", + "Ġ otherwise", + "Ġother wise", + "Ġ German", + "ĠG erman", + "ĠGer man", + "ĠGerm an", + ". aw", + ".a w", + "Ad apter", + "Ada pter", + "ix el", + "ixe l", + "Ġ systems", + "Ġs ystems", + "Ġsystem s", + "Ġsys tems", + "Ġsyst ems", + "Ġ drop", + "Ġd rop", + "Ġdr op", + "Ġdro p", + "8 3", + "Ġ structure", + "Ġstruct ure", + "Ġ $(\"#", + "Ġ$ (\"#", + "Ġ$( \"#", + "Ġ$(\" #", + "en cies", + "enc ies", + "enci es", + "an ning", + "ann ing", + "anni ng", + "Ġ Link", + "ĠL ink", + "ĠLin k", + "ĠLi nk", + "Ġ Response", + "ĠRes ponse", + "ĠRespons e", + "ĠResp onse", + "Ġ stri", + "Ġs tri", + "Ġst ri", + "Ġstr i", + "Å ¼", + "Ġ DB", + "ĠD B", + "æ Ĺ", + "and roid", + "andro id", + "andr oid", + "sub mit", + "o tion", + "ot ion", + "oti on", + "9 2", + "( @", + ". test", + ".t est", + ".te st", + "8 2", + "Ċ ĊĊĊĊĊĊĊ", + "ĊĊ ĊĊĊĊĊĊ", + "ĊĊĊĊ ĊĊĊĊ", + "ĊĊĊ ĊĊĊĊĊ", + "ĊĊĊĊĊĊ ĊĊ", + "ĊĊĊĊĊ ĊĊĊ", + "ĊĊĊĊĊĊĊ Ċ", + "] ;čĊ", + "]; čĊ", + "Ġdirect ly", + "Ġ \"%", + "Ġ\" %", + "r is", + "ri s", + "el ta", + "elt a", + "A IL", + "AI L", + ") {čĊ", + "){ čĊ", + "m ine", + "min e", + "mi ne", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "( k", + "b on", + "bo n", + "a sic", + "as ic", + "asi c", + "p ite", + "pi te", + "pit e", + "_ __", + "__ _", + "M ax", + "Ma x", + "Ġ errors", + "Ġerror s", + "Ġerr ors", + "Ġer rors", + "Ġerro rs", + "Ġ While", + "ĠWh ile", + "Ġ arguments", + "Ġarg uments", + "Ġargument s", + "Ġ ensure", + "Ġen sure", + "Ġens ure", + "R ight", + "- based", + "-b ased", + "-base d", + "W eb", + "We b", + "Ġ -=", + "Ġ- =", + "Ġint rodu", + "Ġintr odu", + "Ġintro du", + "Ġ Inst", + "ĠI nst", + "ĠIn st", + "ĠIns t", + "ĠW ash", + "ĠWas h", + "ĠWa sh", + "or din", + "ord in", + "j oin", + "jo in", + "D atabase", + "Data base", + "Dat abase", + "Ġ grad", + "Ġg rad", + "Ġgr ad", + "Ġgra d", + "Ġ usually", + "Ġus ually", + "Ġusual ly", + "Ġusu ally", + "I TE", + "IT E", + "P rops", + "Pro ps", + "Prop s", + "Pr ops", + "? >Ċ", + "?> Ċ", + "Ġ Go", + "ĠG o", + "@ Override", + "R EF", + "RE F", + "Ġ ip", + "Ġi p", + "ĠA ustral", + "ĠAust ral", + "ĠAu stral", + "ĠAustr al", + "Ġ ist", + "Ġis t", + "Ġi st", + "View ById", + "Ġ serious", + "Ġse rious", + "Ġser ious", + "Ġseri ous", + "Ġ customer", + "Ġc ustomer", + "Ġcustom er", + "Ġcust omer", + ". prototype", + ".prot otype", + ".proto type", + "o do", + "od o", + "c or", + "co r", + "Ġ door", + "Ġd oor", + "Ġdo or", + "Ġ WITHOUT", + "ĠWITH OUT", + "Ġ plant", + "Ġp lant", + "Ġpl ant", + "Ġplan t", + "Ġpla nt", + "Ġb egan", + "Ġbe gan", + "Ġbeg an", + "Ġ distance", + "Ġd istance", + "Ġdist ance", + "Ġdi stance", + "( )).", + "() ).", + "()) .", + "Ġch ance", + "Ġcha nce", + "Ġchan ce", + "Ġ ord", + "Ġo rd", + "Ġor d", + "c ame", + "ca me", + "cam e", + "pr agma", + "Ġ protect", + "Ġprot ect", + "Ġprote ct", + "r agment", + "ra gment", + "rag ment", + "Ġ Node", + "ĠN ode", + "ĠNo de", + "e ning", + "en ing", + "eni ng", + "enin g", + "Ñ ĩ", + "Ġ route", + "Ġr oute", + "Ġro ute", + "Ġrout e", + "Ġrou te", + "Ġ School", + "ĠS chool", + "ĠSch ool", + "ĠScho ol", + "h i", + "Ġne ighb", + "Ġneigh b", + "A fter", + "Af ter", + "l icit", + "lic it", + "li cit", + "Ġ contr", + "Ġcon tr", + "Ġcont r", + "Ġ primary", + "Ġpr imary", + "Ġprim ary", + "Ġpri mary", + "Ġprima ry", + "A A", + ".Write Line", + "ut ils", + "util s", + "uti ls", + "Ġ bi", + "Ġb i", + "R ed", + "Re d", + ".L inq", + ". object", + ".o bject", + ".obj ect", + ".ob ject", + "Ġ leaders", + "Ġle aders", + "Ġlead ers", + "Ġleader s", + "un ities", + "unit ies", + "uni ties", + "Ġ gun", + "Ġg un", + "Ġgu n", + "o nth", + "on th", + "ont h", + "Ġ Dev", + "ĠD ev", + "ĠDe v", + "F ILE", + "FI LE", + "Ġ comments", + "Ġcom ments", + "Ġcomm ents", + "Ġcomment s", + "Ġcomme nts", + "_ len", + "_l en", + "_le n", + "ar row", + "arr ow", + "arro w", + "a mount", + "am ount", + "amo unt", + "R ange", + "Ra nge", + "s ert", + "se rt", + "ser t", + "Grid View", + "Ġ updated", + "Ġup dated", + "Ġupdate d", + "Ġupd ated", + "Ġ Mo", + "ĠM o", + "Ġ inform", + "Ġin form", + "Ġinfo rm", + "Ġinf orm", + "oci ety", + "a la", + "al a", + "A ccess", + "Ac cess", + "Acc ess", + "Ġ hab", + "Ġh ab", + "Ġha b", + "Ġ creat", + "Ġc reat", + "Ġcr eat", + "Ġcre at", + "Ġcrea t", + "_ arg", + "_a rg", + "_ar g", + "Ġ January", + "ĠJan uary", + "Ġ Day", + "ĠD ay", + "ĠDa y", + "\" )čĊ", + "\") čĊ", + "u ple", + "up le", + "d ocument", + "doc ument", + "gor ith", + "gorit h", + "m enu", + "me nu", + "men u", + "Ġ Over", + "ĠO ver", + "ĠOv er", + "b b", + ". title", + ".t itle", + "_ out", + "_o ut", + "Ġ led", + "Ġl ed", + "Ġle d", + "u ri", + "ur i", + "Ġ ?> < /", + "g l", + "Ġ bank", + "Ġb ank", + "Ġban k", + "Ġba nk", + "ay ment", + "ĉ printf", + "ĉprint f", + "M D", + "Ġ sample", + "Ġs ample", + "Ġsam ple", + "Ġsamp le", + "Ġ hands", + "Ġh ands", + "Ġhand s", + "Ġha nds", + "Ġhan ds", + "Ġ Version", + "ĠV ersion", + "ĠVers ion", + "u ario", + "ua rio", + "uar io", + "Ġ offers", + "Ġof fers", + "Ġoff ers", + "Ġoffer s", + "ity Engine", + "Ġ shape", + "Ġs hape", + "Ġsh ape", + "Ġsha pe", + "Ġ sleep", + "Ġs leep", + "Ġsle ep", + "Ġslee p", + "_ point", + "_p oint", + "_po int", + "S ettings", + "Set tings", + "Setting s", + "Ġ achie", + "Ġa chie", + "Ġach ie", + "Ġ sold", + "Ġs old", + "Ġso ld", + "Ġsol d", + "o ta", + "ot a", + ". bind", + ".b ind", + ".bin d", + ".bi nd", + "A m", + "Ġ safe", + "Ġs afe", + "Ġsa fe", + "Ġsaf e", + "St ore", + "Ġ shared", + "Ġsh ared", + "Ġshare d", + "Ġsha red", + "Ġshar ed", + "Ġ priv", + "Ġp riv", + "Ġpr iv", + "Ġpri v", + "_ VAL", + "_V AL", + "Ġs ens", + "Ġse ns", + "Ġsen s", + ") {", + "Ġ remember", + "Ġre member", + "Ġrem ember", + "sh ared", + "sha red", + "share d", + "e lement", + "el ement", + "ele ment", + "elem ent", + "Ġ shoot", + "Ġs hoot", + "Ġsh oot", + "Ġsho ot", + "V ert", + "Ver t", + "Ve rt", + "c out", + "co ut", + "cou t", + "Ġ env", + "Ġe nv", + "Ġen v", + "_ label", + "_l abel", + "_lab el", + "_la bel", + "Ġ >Ċ", + "Ġ> Ċ", + "r un", + "ru n", + "Ġ scene", + "Ġs cene", + "Ġsc ene", + "Ġscen e", + "Ġsce ne", + "( array", + "(a rray", + "(arr ay", + "(ar ray", + "d evice", + "de vice", + "dev ice", + "_ title", + "_t itle", + "_ti tle", + "a gon", + "ag on", + "ago n", + "] čĊ", + "a by", + "ab y", + "Ġbe came", + "Ġbec ame", + "bo olean", + "bool ean", + "boo lean", + "Ġ park", + "Ġp ark", + "Ġpar k", + "Ġpa rk", + "Ġ Code", + "ĠC ode", + "ĠCo de", + "ĠCod e", + "up load", + "r iday", + "ri day", + "rid ay", + "Ġ September", + "ĠSept ember", + "ĠSep tember", + "F e", + "Ġ sen", + "Ġs en", + "Ġse n", + "c ing", + "ci ng", + "cin g", + "F L", + "C ol", + "Co l", + "u ts", + "ut s", + "_ page", + "_p age", + "_pag e", + "_pa ge", + "i nn", + "in n", + "Ġim plied", + "Ġimp lied", + "Ġimpl ied", + "a ling", + "al ing", + "ali ng", + "alin g", + "Ġyour self", + "Ġyours elf", + ". Count", + ".C ount", + ".Co unt", + "con f", + "co nf", + "Ġ aud", + "Ġa ud", + "Ġau d", + "_ init", + "_in it", + "_i nit", + "_ini t", + ". )", + "Ġw rote", + "Ġwr ote", + "0 03", + "00 3", + "N G", + ". Error", + ".E rror", + ".Err or", + "ä »", + ". for", + ".f or", + "Ġ equal", + "Ġe qual", + "Ġequ al", + "Ġeq ual", + "Ġ Request", + "ĠRe quest", + "ĠReq uest", + "Ġ serial", + "Ġs erial", + "Ġse rial", + "Ġser ial", + "Ġseria l", + "Ġseri al", + "Ġ allows", + "Ġall ows", + "Ġallow s", + "Ġallo ws", + "X X", + "Ġ middle", + "Ġm iddle", + "Ġmid dle", + "Ġmidd le", + "c hor", + "ch or", + "cho r", + "1 95", + "19 5", + "9 4", + "à ¸", + "er val", + "erv al", + "erva l", + ". Column", + ".C olumn", + ".Col umn", + "re ading", + "read ing", + "rea ding", + "Ġ escort", + "Ġesc ort", + "Ġ August", + "ĠAug ust", + "Ġquick ly", + "Ġwe ap", + "Ġ CG", + "ĠC G", + "ro pri", + "rop ri", + "h o", + "Ġ cop", + "Ġc op", + "Ġco p", + "( struct", + "(str uct", + "Ġ Big", + "ĠB ig", + "ĠBi g", + "Ġ vs", + "Ġv s", + "Ġf requ", + "Ġfr equ", + "Ġfre qu", + "Ġfreq u", + ". Value", + ".V alue", + ".Val ue", + "Ġ actions", + "Ġa ctions", + "Ġact ions", + "Ġaction s", + "Ġ proper", + "Ġpro per", + "Ġpr oper", + "Ġprop er", + "Ġ inn", + "Ġin n", + "Ġi nn", + "Ġ objects", + "Ġobject s", + "Ġobj ects", + "Ġ matrix", + "Ġm atrix", + "Ġmat rix", + "av ascript", + "ava script", + "Ġ ones", + "Ġo nes", + "Ġon es", + "Ġone s", + ". group", + ".g roup", + ".gr oup", + "Ġ green", + "Ġg reen", + "Ġgr een", + "Ġgre en", + "Ġ paint", + "Ġp aint", + "Ġpain t", + "Ġpa int", + "Ġpai nt", + "o ols", + "ool s", + "oo ls", + "y cl", + "yc l", + "en code", + "enc ode", + "enco de", + "o lt", + "ol t", + "com ment", + "comm ent", + ". api", + ".ap i", + ".a pi", + "D ir", + "Di r", + "Ġ une", + "Ġu ne", + "Ġun e", + "iz ont", + "izon t", + "izo nt", + ". position", + ".p osition", + ".pos ition", + "Ġde signed", + "Ġdes igned", + "Ġdesign ed", + "_ val", + "_v al", + "_va l", + "a vi", + "av i", + "i ring", + "ir ing", + "iri ng", + "t ab", + "ta b", + "Ġ layer", + "Ġl ayer", + "Ġla yer", + "Ġlay er", + "Ġ views", + "Ġview s", + "Ġvi ews", + "Ġvie ws", + "Ġ reve", + "Ġre ve", + "Ġr eve", + "Ġrev e", + "r ael", + "ra el", + "Ġ ON", + "ĠO N", + "r ics", + "ri cs", + "ric s", + "1 60", + "16 0", + "n p", + "Ġ core", + "Ġc ore", + "Ġco re", + "Ġcor e", + "( ));čĊ", + "() );čĊ", + "()) ;čĊ", + "()); čĊ", + "M ain", + "Ma in", + "Ġ expert", + "Ġex pert", + "Ġexp ert", + "Ġexper t", + "ĉ ĉčĊ", + "ĉĉ čĊ", + "_ en", + "_e n", + "Ġ />", + "Ġ/ >", + "ut ter", + "utt er", + "I AL", + "IA L", + "a ils", + "ail s", + "ai ls", + "Ġ King", + "ĠK ing", + "ĠKi ng", + "ĠKin g", + "* /ĊĊ", + "*/ ĊĊ", + "*/Ċ Ċ", + "Ġ Met", + "ĠM et", + "ĠMe t", + "_ end", + "_e nd", + "_en d", + "ad dr", + "add r", + "o ra", + "or a", + "Ġ ir", + "Ġi r", + "M in", + "Mi n", + "Ġsur pr", + "Ġre pe", + "Ġrep e", + "Ġ directory", + "Ġd irectory", + "Ġdirect ory", + "Ġdirector y", + "P UT", + "PU T", + "- S", + "Ġ election", + "Ġe lection", + "Ġel ection", + "Ġelect ion", + "Ġele ction", + "h aps", + "ha ps", + "hap s", + ". pre", + ".p re", + ".pr e", + "c m", + "Value s", + "Val ues", + "Ġ \"Ċ", + "Ġ\" Ċ", + "c olumn", + "col umn", + "i vil", + "iv il", + "ivi l", + "Log in", + "Lo gin", + "in ue", + "inu e", + "9 3", + "Ġ beautiful", + "Ġbe autiful", + "Ġbeaut iful", + "Ġ secret", + "Ġs ecret", + "Ġse cret", + "Ġsec ret", + "Ġsecre t", + "( event", + "(e vent", + "(ev ent", + "Ġ chat", + "Ġc hat", + "Ġch at", + "Ġcha t", + "u ms", + "um s", + "Ġ origin", + "Ġor igin", + "Ġorig in", + "Ġori gin", + "Ġ effects", + "Ġe ffects", + "Ġeffect s", + "Ġeff ects", + "Ġ management", + "Ġman agement", + "Ġmanage ment", + "Ġmana gement", + "i lla", + "il la", + "ill a", + "t k", + "Ġ setting", + "Ġs etting", + "Ġset ting", + "Ġsett ing", + "Ġ Cour", + "ĠC our", + "ĠCo ur", + "ĠCou r", + "Ġ massage", + "Ġm assage", + "Ġmass age", + "Ġmas sage", + "Ġmassa ge", + "ĉ end", + "ĉe nd", + "ĉen d", + "Ġ happy", + "Ġh appy", + "Ġhapp y", + "Ġha ppy", + "Ġhap py", + "Ġ finish", + "Ġf inish", + "Ġfin ish", + "Ġfi nish", + "Ġ camera", + "Ġc amera", + "Ġcame ra", + "Ġcam era", + "Ġcamer a", + "Ġ Ver", + "ĠV er", + "ĠVe r", + "ĠDem ocr", + "ĠDemo cr", + "Ġ Her", + "ĠH er", + "ĠHe r", + "( Q", + "c ons", + "con s", + "co ns", + "i ta", + "it a", + "Ġ '.", + "Ġ' .", + "{ }", + "ĉ C", + "Ġ stuff", + "Ġst uff", + "Ġstu ff", + "1 94", + "19 4", + "Ġ :Ċ", + "Ġ: Ċ", + "Ġ AR", + "ĠA R", + "T ask", + "Ta sk", + "h idden", + "hi dden", + "hid den", + "e ros", + "er os", + "ero s", + "I GN", + "IG N", + "at io", + "ati o", + "Ġ Health", + "ĠHe alth", + "ĠHeal th", + "ol ute", + "olut e", + "olu te", + "En ter", + "Ent er", + "' >", + "Ġ Twitter", + "ĠT witter", + "ĠTw itter", + "Ġ County", + "ĠC ounty", + "ĠCount y", + "ĠCou nty", + "ĠCoun ty", + "s cribe", + "scri be", + "scr ibe", + "Ġ= >Ċ", + "Ġ=> Ċ", + "Ġ hy", + "Ġh y", + "f it", + "fi t", + "Ġm ilitary", + "Ġmilit ary", + "Ġmil itary", + "Ġmilitar y", + "Ġ sale", + "Ġs ale", + "Ġsa le", + "Ġsal e", + "re quired", + "require d", + "requ ired", + "n on", + "no n", + "boot strap", + "h old", + "ho ld", + "hol d", + "r im", + "ri m", + "- old", + "-o ld", + "Ġ Down", + "ĠD own", + "ĠDo wn", + "ĠDow n", + "Ġ mention", + "Ġm ention", + "Ġmen tion", + "Ġment ion", + "cont act", + "_ group", + "_g roup", + "_gr oup", + "o day", + "od ay", + "oda y", + "Ġ town", + "Ġt own", + "Ġto wn", + "Ġtow n", + "Ġ solution", + "Ġs olution", + "Ġsol ution", + "u ate", + "ua te", + "uat e", + "el ling", + "ell ing", + "elli ng", + "] ->", + "]- >", + "o tes", + "ot es", + "ote s", + "en tal", + "ent al", + "enta l", + "o men", + "om en", + "ome n", + "osp ital", + "Ġ Sup", + "ĠS up", + "ĠSu p", + "_ EN", + "_E N", + "Ġ slow", + "Ġs low", + "Ġsl ow", + "Ġslo w", + "SE SSION", + "SES SION", + "Ġ blue", + "Ġb lue", + "Ġbl ue", + "a go", + "ag o", + "Ġl ives", + "Ġli ves", + "Ġlive s", + "Ġliv es", + "Ġ ^", + ". un", + ".u n", + "i nst", + "in st", + "ins t", + "e nge", + "en ge", + "eng e", + "Ġ customers", + "Ġcustom ers", + "Ġcustomer s", + "Ġcust omers", + "Ġ cast", + "Ġc ast", + "Ġca st", + "Ġcas t", + "ud get", + "udge t", + "ï¼ ģ", + "ic ens", + "ice ns", + "Ġd etermin", + "Ġde termin", + "Ġdeter min", + "Ġdeterm in", + "Se lected", + "Select ed", + "Sel ected", + "_ pl", + "_p l", + "ue ue", + "Ġ dark", + "Ġd ark", + "Ġda rk", + "Ġdar k", + "/ /ĊĊ", + "// ĊĊ", + "//Ċ Ċ", + "s i", + "th ern", + "ther n", + "the rn", + "Ġ Japan", + "ĠJ apan", + "ĠJa pan", + "ĠJap an", + "/ w", + "P U", + "Ġ East", + "ĠE ast", + "ĠEa st", + "o vie", + "ov ie", + "ovi e", + "Ġ package", + "Ġp ackage", + "Ġpack age", + "Ġ nor", + "Ġn or", + "Ġno r", + "Ġ api", + "Ġa pi", + "Ġap i", + "b ot", + "bo t", + "\" ];Ċ", + "\"] ;Ċ", + "\"]; Ċ", + "_ post", + "_p ost", + "_pos t", + "_po st", + "u late", + "ul ate", + "ula te", + "Ġ club", + "Ġc lub", + "Ġcl ub", + "' ));Ċ", + "') );Ċ", + "')) ;Ċ", + "')); Ċ", + "Ġ loop", + "Ġl oop", + "Ġlo op", + "P IO", + "PI O", + "i one", + "ion e", + "io ne", + "s hot", + "sh ot", + "In itial", + "Init ial", + "Ġ played", + "Ġpl ayed", + "Ġplay ed", + "reg ister", + "regist er", + "r ought", + "ro ught", + "rou ght", + "rough t", + "_ max", + "_m ax", + "_ma x", + "ace ment", + "ac ement", + "m atch", + "mat ch", + "raph ics", + "raphic s", + "A ST", + "AS T", + "Ġ existing", + "Ġex isting", + "Ġexist ing", + "Ġ complex", + "Ġcom plex", + "Ġcomp lex", + "Ġcomple x", + "Ġcompl ex", + "D A", + ". Ch", + ".C h", + ". common", + ".com mon", + ".comm on", + "m o", + "Ġ' ../../", + "Ġ'../ ../", + "Ġ'.. /../", + "i to", + "it o", + "Ġ analysis", + "Ġan alysis", + "Ġanal ysis", + "Ġanaly sis", + "Ġanalys is", + "Ġ deliver", + "Ġdel iver", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "i dx", + "id x", + "à ł", + "o ngo", + "on go", + "ong o", + "Ġ English", + "ĠEng lish", + "ĠEngl ish", + "< !--", + " \";Ċ", + ">\" ;Ċ", + ">\"; Ċ", + "_ UN", + "_U N", + "ĉ std", + "ĉs td", + "ĉst d", + "o ded", + "od ed", + "ode d", + "Ġ calls", + "Ġc alls", + "Ġcall s", + "Ġcal ls", + "h ere", + "he re", + "her e", + "R el", + "Re l", + "Ġ brand", + "Ġb rand", + "Ġbr and", + "Ġbra nd", + "Ġbran d", + "back ground", + "g a", + "_ address", + "_add ress", + "_addr ess", + "_ad dress", + "_ params", + "_param s", + "_par ams", + "_para ms", + "_pa rams", + "C ategory", + "1 03", + "10 3", + "Ġ India", + "ĠIn dia", + "ĠInd ia", + "ĠIndi a", + "_ event", + "_e vent", + "_ev ent", + "_even t", + "Ġ ing", + "Ġin g", + "Ġi ng", + "R ender", + "Re nder", + "Ren der", + ". cl", + ".c l", + "um py", + "ump y", + "Ġ pet", + "Ġp et", + "Ġpe t", + "F C", + "Ġ Ant", + "ĠA nt", + "ĠAn t", + "E xt", + "Ex t", + "Ġ charge", + "Ġch arge", + "Ġchar ge", + "Ġcharg e", + "e ned", + "en ed", + "ene d", + "g rad", + "gr ad", + "gra d", + "E O", + "Ġ depend", + "Ġd epend", + "Ġde pend", + "Ġdep end", + "Ġ .ĊĊ", + "Ġ. ĊĊ", + "Ġ.Ċ Ċ", + "f rame", + "fr ame", + "fra me", + "fram e", + "Ġ df", + "Ġd f", + "Ġ huge", + "Ġh uge", + "Ġhug e", + "Ġhu ge", + "Ġ PART", + "ĠP ART", + "ĠPA RT", + "ĠPAR T", + "e ds", + "ed s", + "; ;", + "Ġ AM", + "ĠA M", + "Ġ basic", + "Ġb asic", + "Ġbas ic", + "Ġba sic", + "Ġ Let", + "ĠL et", + "ĠLe t", + "l ich", + "lic h", + "li ch", + "Ġ arm", + "Ġa rm", + "Ġar m", + "Ġ star", + "Ġs tar", + "Ġst ar", + "Ġsta r", + "Ġf ederal", + "Ġfed eral", + "Ġfeder al", + "W ork", + "Wo rk", + "Ġ carry", + "Ġc arry", + "Ġcar ry", + "Ġcarr y", + "Ġ Israel", + "ĠIs rael", + "( obj", + "(o bj", + "(ob j", + "= {{", + "={ {", + "Ġ saved", + "Ġs aved", + "Ġsa ved", + "Ġsave d", + "Ġsav ed", + "Ġ syn", + "Ġs yn", + "Ġsy n", + "Ġ constant", + "Ġcon stant", + "Ġconst ant", + "Ġcons tant", + "V ENT", + "VE NT", + "VEN T", + "Ġ positive", + "Ġpos itive", + "Ġposit ive", + "Ġ conduct", + "Ġcon duct", + "Ġcond uct", + "Ġconduc t", + "Ġcondu ct", + "Ġ skin", + "Ġs kin", + "Ġsk in", + "Ġski n", + "Ġear lier", + "Ġ layout", + "Ġl ayout", + "Ġlay out", + "Ġ IP", + "ĠI P", + "O UR", + "OU R", + "Ġ tim", + "Ġt im", + "Ġti m", + "style sheet", + "styles heet", + "_ cl", + "_c l", + "Ġ Card", + "ĠC ard", + "ĠCar d", + "ĠCa rd", + "++ ){Ċ", + "++) {Ċ", + "++){ Ċ", + "Ġtem per", + "Ġtemp er", + "Ġ David", + "ĠD avid", + "ĠDav id", + "ĠDa vid", + "ĉ try", + "ĉt ry", + "ĉtr y", + ". dart", + ".d art", + ".da rt", + "Ġw ants", + "Ġwant s", + "Ġwa nts", + "Ġwan ts", + "Ġ picture", + "Ġp icture", + "Ġpic ture", + "Ġpict ure", + "Ġ videos", + "Ġv ideos", + "Ġvideo s", + "Ġvid eos", + "Ġvide os", + "Ġ Comm", + "ĠC omm", + "ĠCom m", + "ĠCo mm", + "is ions", + "ision s", + "isi ons", + "_ MAX", + "_M AX", + "_MA X", + "M apping", + "Map ping", + "Ma pping", + "- content", + "-c ontent", + "-con tent", + "-cont ent", + "Ġ Ear", + "ĠE ar", + "ĠEa r", + "- de", + "-d e", + "Ġp rem", + "Ġpr em", + "Ġpre m", + "b ruary", + "br uary", + "bru ary", + "bruar y", + "Ġ components", + "Ġcom ponents", + "Ġcomp onents", + "Ġcomponent s", + "Ġthrough out", + "Ġ pull", + "Ġp ull", + "Ġpul l", + "Ġpu ll", + "Ġ pages", + "Ġp ages", + "Ġpage s", + "Ġpa ges", + "Ġpag es", + "e nte", + "en te", + "ent e", + "res pond", + "resp ond", + "Ġ gas", + "Ġg as", + "Ġga s", + "cript or", + "Ġ edge", + "Ġe dge", + "Ġed ge", + "Ġ bound", + "Ġb ound", + "Ġbo und", + "Ġbou nd", + "A CT", + "AC T", + "* *****", + "** ****", + "**** **", + "*** ***", + "***** *", + "Ġ creating", + "Ġc reating", + "Ġcr eating", + "Ġcre ating", + "Ġcreat ing", + "Ġcrea ting", + "Ġ CH", + "ĠC H", + "Ġ nullptr", + "Ġnull ptr", + "B r", + "+ '", + ". co", + ".c o", + "> ::", + ">: :", + "Ġ learning", + "Ġl earning", + "Ġle arning", + "Ġlearn ing", + "Ġlear ning", + ". Length", + ".L ength", + ".Le ngth", + ".Len gth", + "_ SH", + "_S H", + "Ġ patients", + "Ġpat ients", + "Ġpatient s", + "A IN", + "AI N", + "Ġ kids", + "Ġk ids", + "Ġkid s", + "Ġki ds", + "Ġ comfort", + "Ġcom fort", + "Ġ shown", + "Ġsh own", + "Ġshow n", + "Ġsho wn", + "ug ins", + "ugin s", + "ugi ns", + "Ġ Back", + "ĠB ack", + "ĠBa ck", + "ĠBac k", + "e lla", + "el la", + "ell a", + "_ CL", + "_C L", + "Ġ lat", + "Ġl at", + "Ġla t", + "Ġ dispatch", + "Ġdis patch", + "Ġdisp atch", + "Ġ classes", + "Ġc lasses", + "Ġclass es", + "Ġcl asses", + "Ġclasse s", + "Ġclas ses", + ". at", + ".a t", + ". begin", + ".b egin", + ".be gin", + "Ġ successful", + "Ġsuccess ful", + "b an", + "ba n", + "Ġob tain", + "Ġobt ain", + "Ġ Sl", + "ĠS l", + "Ġ lack", + "Ġl ack", + "Ġla ck", + "Ġlac k", + "it erator", + "iter ator", + "T hread", + "Th read", + "Thr ead", + "( size", + "(s ize", + "(si ze", + "Ġ none", + "Ġn one", + "Ġno ne", + "Ġnon e", + ". has", + ".h as", + "_ X", + "s ort", + "so rt", + "n ap", + "na p", + "p et", + "pe t", + "b in", + "bi n", + "7 00", + "70 0", + "Ġ Canada", + "ĠCan ada", + "T hey", + "The y", + "Th ey", + "Ġd ans", + "Ġda ns", + "Ġdan s", + "Ġ Mat", + "ĠM at", + "ĠMa t", + "< td", + "'", + "'=> '", + "'= >'", + "Ġ Paul", + "ĠP aul", + "ĠPa ul", + "m as", + "ma s", + "ĉ print", + "ĉp rint", + "ĉpr int", + "( len", + "(l en", + "(le n", + "f d", + "Ġ );", + "Ġ) ;", + ". Event", + ".E vent", + "q li", + "ql i", + "i rit", + "ir it", + "iri t", + "ie lds", + "ield s", + "iel ds", + "o man", + "om an", + "oma n", + "Ġ Top", + "ĠT op", + "ĠTo p", + "Ġ vote", + "Ġv ote", + "Ġvo te", + "Ġvot e", + "Ġ mask", + "Ġm ask", + "Ġma sk", + "Ġmas k", + "Ġ theme", + "Ġth eme", + "Ġthe me", + "Ġthem e", + "- Ċ", + "Ġ props", + "Ġp rops", + "Ġpro ps", + "Ġpr ops", + "Ġprop s", + "Ġ fine", + "Ġf ine", + "Ġfin e", + "Ġfi ne", + "Ġ writer", + "Ġw riter", + "Ġwrit er", + "Ġwr iter", + "Ġwrite r", + "_ offset", + "_off set", + "_o ffset", + "c ar", + "ca r", + "Ġ altern", + "Ġal tern", + "Ġalt ern", + "Ġalter n", + "Ġalte rn", + "Ġ copyright", + "Ġc opyright", + "Ġcopy right", + "Ġ destroy", + "Ġd estroy", + "Ġde stroy", + "Ġdest roy", + "p per", + "pp er", + "ppe r", + "Ġ generate", + "Ġg enerate", + "Ġgener ate", + "Ġgen erate", + "Ġgene rate", + "Ġgenera te", + "p ped", + "pp ed", + "ppe d", + "âĢĻ d", + "Ġ ĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĊ", + "ĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠĠ Ċ", + "m ake", + "ma ke", + "mak e", + "Ġ Show", + "ĠS how", + "ĠSh ow", + "ĠSho w", + "Ġ browser", + "Ġb rowser", + "Ġbrows er", + "Ġbrowse r", + "Ġbrow ser", + "Ġ favorite", + "Ġf avorite", + "Ġfavor ite", + "Ġ career", + "Ġcar eer", + "Ġcare er", + "Ġhapp ened", + "Ġhappen ed", + "( char", + "(c har", + "(ch ar", + "Ġ recommend", + "Ġre commend", + "Ġrecomm end", + "Ġ liter", + "Ġl iter", + "Ġli ter", + "Ġlit er", + "Ġlite r", + ". filter", + ".f ilter", + ".fil ter", + "g rade", + "gr ade", + "grad e", + "gra de", + "Ġ £", + "Ġ £", + "P hone", + "Ph one", + "o ms", + "om s", + "Ġ named", + "Ġn amed", + "Ġname d", + "Ġna med", + "Ġnam ed", + "- label", + "-l abel", + "-la bel", + "i po", + "ip o", + "Ġ Other", + "ĠO ther", + "ĠOt her", + "Ġ panel", + "Ġp anel", + "Ġpa nel", + "Ġpan el", + "Ġpane l", + "Ġ rock", + "Ġr ock", + "Ġro ck", + "Ġroc k", + "S cale", + "Sc ale", + "ĉ assert", + "ĉas sert", + "Ð ´", + "Ġ trust", + "Ġt rust", + "Ġtr ust", + "f ront", + "fr ont", + "Ġd emon", + "Ġde mon", + "Ġdem on", + "Ġdemo n", + "A r", + "N et", + "Ne t", + "Ġ economic", + "Ġe conomic", + "Ġecon omic", + "Ġeconom ic", + "Ġec onomic", + "f ooter", + "fo oter", + "foot er", + "foo ter", + "Ġ race", + "Ġr ace", + "Ġrac e", + "Ġra ce", + "( node", + "(n ode", + "(no de", + "Ġ Option", + "ĠO ption", + "ĠOp tion", + "ĠOpt ion", + "s plit", + "sp lit", + "spl it", + "Ġ physical", + "Ġph ysical", + "Ġphys ical", + "Ġphysic al", + "i fest", + "if est", + "ife st", + "ifes t", + "Ġ removed", + "Ġre moved", + "Ġrem oved", + "Ġremove d", + ". http", + ".h ttp", + ".ht tp", + ") ),Ċ", + ")) ,Ċ", + ")), Ċ", + "Ġlo oked", + "Ġlook ed", + "' ;", + "d ing", + "di ng", + "din g", + "g est", + "ge st", + "ges t", + "atur day", + "/ licenses", + "/lic enses", + "/license s", + "P rice", + "Pr ice", + "Pri ce", + "Ġ dro", + "Ġd ro", + "Ġdr o", + "Ġt owards", + "Ġto wards", + "Ġtoward s", + "Ġtow ards", + "Ġ uns", + "Ġu ns", + "Ġun s", + "Ġ CL", + "ĠC L", + "ĉ static", + "ĉst atic", + "ĉstat ic", + "Ġ rows", + "Ġr ows", + "Ġro ws", + "Ġrow s", + "Ġ define", + "Ġde fine", + "Ġdef ine", + "Ġdefin e", + ". replace", + ".re place", + ".rep lace", + "Ġ father", + "Ġf ather", + "Ġfa ther", + "Ġfat her", + "Ġ Design", + "ĠD esign", + "ĠDe sign", + "ĠDes ign", + "as sign", + "ass ign", + "assi gn", + "m ut", + "mu t", + "D evice", + "De vice", + "Dev ice", + "D id", + "Di d", + "' ))Ċ", + "') )Ċ", + "')) Ċ", + "o metry", + "om etry", + "ome try", + "omet ry", + "ometr y", + "ay load", + "Ġ histor", + "Ġh istor", + "Ġhis tor", + "Ġhist or", + "Ġhi stor", + "Ġhisto r", + "Ġ Param", + "ĠP aram", + "ĠPar am", + "ĠPa ram", + "ĠPara m", + "Ġ Boolean", + "ĠBo olean", + "ĠBool ean", + "ĠBoo lean", + "Ġ nature", + "Ġn ature", + "Ġna ture", + "Ġnatur e", + "Ġnat ure", + "Ġ js", + "Ġj s", + "Ġ nation", + "Ġn ation", + "Ġna tion", + "Ġnat ion", + "i h", + "Ġ discover", + "Ġdis cover", + "Ġdisc over", + "Ġdisco ver", + "s em", + "se m", + "H andle", + "Hand le", + "Han dle", + "ĉ r", + "Ġ Techn", + "ĠT echn", + "ĠTe chn", + "ĠTech n", + "ĠTec hn", + "Ġ wall", + "Ġw all", + "Ġwa ll", + "Ġwal l", + "{ $", + "@ property", + "Ġ\" ../", + "Ġ\". ./", + "Ġ\".. /", + "Ġ exam", + "Ġex am", + ". draw", + ".d raw", + ".dr aw", + "o pping", + "op ping", + "opp ing", + "Ġn early", + "Ġnear ly", + "Ġ cool", + "Ġc ool", + "Ġco ol", + "Ġin depend", + "Ġind epend", + "Ġinde pend", + "R ES", + "RE S", + "Ġ handler", + "Ġh andler", + "Ġhand ler", + "Ġhandle r", + "Ġ Monday", + "ĠMon day", + "ĠMond ay", + "Ġ sun", + "Ġs un", + "Ġsu n", + "St yles", + "Style s", + "ous ly", + "Ġ ĉ", + "v est", + "ve st", + "ves t", + "D isplay", + "Dis play", + "Disp lay", + "( y", + "at ically", + "atic ally", + "atical ly", + "Ġ predict", + "Ġp redict", + "Ġpre dict", + "Ġpred ict", + "Ġpredic t", + "y ing", + "yi ng", + "Ġ sometimes", + "Ġs ometimes", + "Ġsome times", + "Ġsom etimes", + "Ġsometime s", + "\" ]Ċ", + "\"] Ċ", + "Ġ drink", + "Ġd rink", + "Ġdr ink", + "Ġdri nk", + "Ġ bul", + "Ġb ul", + "Ġbu l", + "if ications", + "ific ations", + "ification s", + ". insert", + ".in sert", + ".ins ert", + ". reg", + ".re g", + ".r eg", + "Ġ tests", + "Ġt ests", + "Ġte sts", + "Ġtest s", + "Ġtes ts", + "Al ignment", + "Align ment", + "Ġal leg", + "Ġall eg", + "Ġalle g", + "Ġ attribute", + "Ġat tribute", + "Ġattrib ute", + "Ġ Note", + "ĠN ote", + "ĠNo te", + "ĠNot e", + "Ġmy self", + "Ġmys elf", + "a rts", + "ar ts", + "art s", + "N ow", + "No w", + "Ġ interesting", + "Ġinter esting", + "Ġinterest ing", + "Ġinteres ting", + "l ients", + "li ents", + "lient s", + "lie nts", + "lien ts", + "Ġ population", + "Ġpop ulation", + "Ġpopul ation", + "Ġ California", + "ĠCal ifornia", + "ĠCaliforn ia", + "\" I", + "å ¹", + "Ġ greater", + "Ġg reater", + "Ġgreat er", + "Ġgre ater", + "ues day", + "Ġth ous", + "Ġthou s", + "Ġtho us", + "Ġco sts", + "Ġcost s", + "Ġcos ts", + "Ġ launch", + "Ġl aunch", + "Ġla unch", + "\\ Http", + "k er", + "ke r", + "b and", + "ba nd", + "ban d", + "Ġ Play", + "ĠP lay", + "ĠPl ay", + "ĠPla y", + "Ġ band", + "Ġb and", + "Ġban d", + "Ġba nd", + ". shape", + ".s hape", + ".sh ape", + ".sha pe", + "e some", + "es ome", + "eso me", + "art icle", + "arti cle", + "artic le", + ". rf", + ".r f", + "Ġ wer", + "Ġw er", + "Ġwe r", + "á s", + "em bers", + "ember s", + "emb ers", + "u sr", + "us r", + "B A", + "i can", + "ic an", + "ica n", + "e tt", + "et t", + "valid ate", + "ul ti", + "ult i", + "Ġim mediately", + "Ġimmedi ately", + "Ġimmediate ly", + "z er", + "ze r", + "Ġ figure", + "Ġf igure", + "Ġfig ure", + "Ġfigur e", + "o es", + "oe s", + "e ller", + "el ler", + "ell er", + "elle r", + "ir cle", + "irc le", + "Ġ Sign", + "ĠS ign", + "ĠSi gn", + "ĠSig n", + ". db", + ".d b", + "Ġ rank", + "Ġr ank", + "Ġran k", + "Ġra nk", + "By tes", + "Byte s", + "Ġ projects", + "Ġproject s", + "Ġproj ects", + "Ġproje cts", + "_ rec", + "_re c", + "_r ec", + "U LAR", + "UL AR", + "ULA R", + "A PI", + "AP I", + "Ġ Line", + "ĠL ine", + "ĠLin e", + "ĠLi ne", + "P ort", + "Por t", + "Po rt", + "Ġ poll", + "Ġp oll", + "Ġpol l", + "Ġpo ll", + "Ġg iving", + "Ġgi ving", + "id ence", + "ide nce", + "iden ce", + "- -Ċ", + "-- Ċ", + "Ġ plot", + "Ġp lot", + "Ġpl ot", + "Ġplo t", + "i cial", + "ic ial", + "ici al", + "icia l", + "Ġw arrant", + "Ġwar rant", + "I TION", + "IT ION", + "Ġ Double", + "ĠD ouble", + "ĠDo uble", + "ĠDou ble", + "ĠDoub le", + "Ġb illion", + "Ġbill ion", + "Ġbil lion", + "gorith m", + "gorit hm", + "Ġ equipment", + "Ġe quipment", + "Ġequ ipment", + "Ġequip ment", + "D ATE", + "DA TE", + "DAT E", + "Ġ @\"", + "Ġ@ \"", + "E E", + "Ġ ple", + "Ġp le", + "Ġpl e", + "i ation", + "ia tion", + "iat ion", + "Ġ headers", + "Ġhe aders", + "Ġhead ers", + "Ġheader s", + "Ġpro ced", + "Ġproc ed", + ".Component Model", + "Ġ Obama", + "ĠOb ama", + "Ġ pa", + "Ġp a", + "Ġ Best", + "ĠB est", + "ĠBe st", + "ĠBes t", + "im ately", + "imate ly", + "imat ely", + ". getString", + ".get String", + ".getS tring", + ". \\", + "m ploy", + "mp loy", + "mpl oy", + "Ġ raw", + "Ġr aw", + "Ġra w", + "_ block", + "_b lock", + "_bl ock", + "_bloc k", + "und red", + "\" },Ċ", + "\"} ,Ċ", + "\"}, Ċ", + "1 12", + "11 2", + ".Group Layout", + "Ġb rought", + "Ġbr ought", + "Ġbro ught", + "NS String", + "NSS tring", + "th row", + "thr ow", + "thro w", + "c reated", + "cre ated", + "create d", + "cr eated", + "creat ed", + ". New", + ".N ew", + "_ view", + "_v iew", + "_vi ew", + "C P", + "e ps", + "ep s", + "O p", + "Ġ gratis", + "Ġgr atis", + "Ġgrat is", + "Ġ '\"", + "Ġ' \"", + "Ġint erview", + "Ġinter view", + "Ġinterv iew", + "\" \"\"Ċ", + "\"\" \"Ċ", + "\"\"\" Ċ", + "Ġ partial", + "Ġp artial", + "Ġpart ial", + "Ġparti al", + "Ġ aria", + "Ġa ria", + "Ġar ia", + "b ing", + "bin g", + "bi ng", + "A uthor", + "Auth or", + "Aut hor", + "B ook", + "Bo ok", + "Ġ Pat", + "ĠP at", + "ĠPa t", + "u man", + "um an", + "uma n", + "User s", + "Us ers", + "Use rs", + "p lus", + "pl us", + "1 93", + "19 3", + "Ġ Direct", + "ĠD irect", + "ĠDi rect", + "ĠDir ect", + "ĠDire ct", + "ven ue", + "al pha", + "alph a", + "UC CESS", + "Ġ Call", + "ĠC all", + "ĠCal l", + "ĠCa ll", + "Ġ );čĊ", + "Ġ) ;čĊ", + "Ġ); čĊ", + "im ated", + "imate d", + "ima ted", + "imat ed", + "Ġ remain", + "Ġre main", + "Ġr emain", + "Ġrem ain", + "Ġ anti", + "Ġan ti", + "Ġant i", + "Ġ London", + "ĠL ondon", + "ĠLo ndon", + "ĠLon don", + "ĠLond on", + "Ġs afety", + "Ġsaf ety", + "Ġsafe ty", + "P OSE", + "PO SE", + "POS E", + "o les", + "ol es", + "ole s", + "cont roller", + "control ler", + "contr oller", + "contro ller", + "B yte", + "By te", + "Ġ Court", + "ĠC ourt", + "ĠCo urt", + "ĠCour t", + "ĠCou rt", + "Ġ Phil", + "ĠP hil", + "ĠPh il", + "ĠPhi l", + "Ġ Associ", + "ĠAss oci", + "ĠAssoc i", + "e na", + "en a", + "å IJ", + "_ STR", + "_S TR", + "_ST R", + "c oin", + "co in", + "res hold", + "resh old", + "Ġ batch", + "Ġb atch", + "Ġbat ch", + "_ Click", + "_C lick", + "_Cl ick", + "ent ication", + "entic ation", + "enti cation", + "> ';Ċ", + ">' ;Ċ", + ">'; Ċ", + "e nty", + "en ty", + "ent y", + "Ġbeg inning", + "Ġbegin ning", + "Ġ zero", + "Ġz ero", + "Ġze ro", + "Ġzer o", + "Ġ Convert", + "ĠCon vert", + "ĠConv ert", + "Ġ terr", + "Ġt err", + "Ġte rr", + "Ġter r", + "Ġ paid", + "Ġp aid", + "Ġpa id", + "Ġpai d", + "Ġincre ased", + "Ġincrease d", + "c atch", + "cat ch", + "- size", + "-s ize", + "1 15", + "11 5", + "act ivity", + "activ ity", + "e quals", + "equ als", + "equal s", + "Ġ queue", + "Ġque ue", + "Ġq ueue", + "Ġ \"'", + "Ġ\" '", + "Ġ International", + "ĠInt ernational", + "ĠIntern ational", + "ĠInter national", + "Ġf ür", + "urs day", + "Ġ scient", + "Ġs cient", + "Ġsc ient", + "Ġsci ent", + "al low", + "all ow", + "allo w", + "a xis", + "ax is", + "Ġ appropri", + "Ġapp ropri", + "Ġap propri", + "Ġappro pri", + "e dge", + "ed ge", + "Ġ idx", + "Ġi dx", + "Ġid x", + "S uccess", + "Su ccess", + "Suc cess", + "ent ifier", + ": \\", + "x is", + "xi s", + "Ġ maximum", + "Ġmax imum", + "Ġmaxim um", + "ar ks", + "ark s", + "Ġ birth", + "Ġb irth", + "Ġbir th", + "( index", + "(in dex", + "(ind ex", + "Ġ maybe", + "Ġm aybe", + "Ġmay be", + ". py", + ".p y", + "f iles", + "file s", + "fi les", + "fil es", + "Ġ limited", + "Ġl imited", + "Ġlimit ed", + "Ġlim ited", + "Ġlimite d", + "_ check", + "_c heck", + "_ch eck", + "_che ck", + "l ook", + "lo ok", + "loo k", + "p lies", + "pl ies", + "Ġ movement", + "Ġm ovement", + "Ġmov ement", + "Ġmove ment", + "Ġmo vement", + "' ].", + "'] .", + "Ġb road", + "Ġbr oad", + "Ġbro ad", + "Ġ BE", + "ĠB E", + "Ġ UnityEngine", + "ĠUn ityEngine", + "ĠUnity Engine", + ". cpp", + ".c pp", + ".cp p", + "Ġ Every", + "ĠE very", + "ĠEv ery", + "ĠEver y", + "ĠEve ry", + "Ad min", + "Ġ fans", + "Ġf ans", + "Ġfa ns", + "Ġfan s", + "p ared", + "par ed", + "pare d", + "pa red", + "Ċ ĠĠĠĠĊ", + "Ġ foreign", + "Ġfore ign", + "Ġ pan", + "Ġp an", + "Ġpa n", + "Ġ tour", + "Ġt our", + "Ġto ur", + "Ġtou r", + "Ġ Order", + "ĠOr der", + "ĠOrd er", + "Ġ moving", + "Ġm oving", + "Ġmov ing", + "Ġmo ving", + "Ġ auf", + "Ġa uf", + "Ġau f", + "C all", + "Cal l", + "Ca ll", + "c b", + "Å Ł", + "vent ory", + "Ġ Sql", + "ĠS ql", + "ĠSq l", + "Ġ fully", + "Ġf ully", + "Ġfull y", + "Ġful ly", + "Click Listener", + "W ORD", + "WO RD", + "Ġann ounced", + "Ġannounc ed", + "Ġannounce d", + ") čĊčĊ", + ")čĊ čĊ", + "Ġag reed", + "Ġagre ed", + "Ġagree d", + "Ġagr eed", + "r ie", + "ri e", + "Ġ earn", + "Ġe arn", + "Ġear n", + "Ġea rn", + "_ link", + "_l ink", + "_lin k", + "_li nk", + ". array", + ".a rray", + ".ar ray", + ".arr ay", + "( text", + "(t ext", + "(te xt", + "(tex t", + "Ġ materials", + "Ġmaterial s", + "Ġmateria ls", + "Ġmater ials", + "Ġmateri als", + ", p", + "f fff", + "ff ff", + "fff f", + "v g", + "Ġ ©", + "Ġ ©", + "Ġ unless", + "Ġun less", + "Ġunle ss", + "Ġunl ess", + "a jax", + "aj ax", + "aja x", + "L OG", + "LO G", + "Ġ sexual", + "Ġs exual", + "Ġsex ual", + "Ġ \\\"", + "Ġ\\ \"", + "- time", + "-t ime", + "Ġ coach", + "Ġco ach", + "Ġ supported", + "Ġs upported", + "Ġsup ported", + "Ġsupport ed", + "Ġsupp orted", + "Ġ photos", + "Ġph otos", + "Ġphot os", + "Ġphoto s", + "i form", + "if orm", + "ifo rm", + ". Create", + ".C reate", + ") ]", + "r ier", + "ri er", + "rie r", + "Ġ dialog", + "Ġd ialog", + "Ġdi alog", + "Ġdia log", + "Ġdial og", + "a ver", + "av er", + "ave r", + "i ge", + "ig e", + ") +", + "_ idx", + "_id x", + "_i dx", + ": [", + "_ min", + "_m in", + "_mi n", + "Ġ Cong", + "ĠC ong", + "ĠCon g", + "ĠCo ng", + "Ġ pressure", + "Ġpres sure", + "Ġpress ure", + "Ġ teams", + "Ġte ams", + "Ġteam s", + "Ġtea ms", + "S ign", + "Si gn", + "Sig n", + "b egin", + "be gin", + "beg in", + "r ian", + "ri an", + "ria n", + "N ESS", + "NE SS", + "NES S", + "L S", + "Ġim prove", + "Ġimp rove", + "Ġimpro ve", + "Ġimpr ove", + "Ġimprov e", + "Ġ Sunday", + "ĠS unday", + "ĠSun day", + "ĠSund ay", + "Ġ definition", + "Ġdef inition", + "Ġdefinit ion", + "Ġdefin ition", + "i ger", + "ig er", + "ige r", + "rol lers", + "roll ers", + "roller s", + "Ġ thinking", + "Ġth inking", + "Ġthink ing", + "Ġthin king", + "T emplate", + "Temp late", + "Tem plate", + "- F", + "Ġem erg", + "p lates", + "pl ates", + "plate s", + "plat es", + "pla tes", + "Ġ USA", + "ĠU SA", + "ĠUS A", + ". setState", + ".set State", + "Ġ Also", + "ĠAl so", + "ĠAls o", + "r ev", + "re v", + "Ġ enable", + "Ġe nable", + "Ġen able", + "Ġ CO", + "ĠC O", + "P ECT", + "PE CT", + "PEC T", + "Ġ concept", + "Ġcon cept", + "Ġconc ept", + "Ġconce pt", + ") -", + "Ġ âĢ¢", + "ĠâĢ ¢", + "Ġ sets", + "Ġs ets", + "Ġse ts", + "Ġset s", + "Ġ meaning", + "Ġme aning", + "Ġmean ing", + "e mon", + "em on", + "emo n", + "Ġ Cons", + "ĠC ons", + "ĠCon s", + "ĠCo ns", + "c mp", + "cm p", + "e der", + "ed er", + "ede r", + "an ned", + "ann ed", + "anne d", + "ic ensed", + "icense d", + "icens ed", + "Ġ Super", + "ĠS uper", + "ĠSup er", + "ĠSu per", + "Ġ daily", + "Ġd aily", + "Ġda ily", + "Ġdai ly", + "Ġ multi", + "Ġm ulti", + "Ġmult i", + "Ġmul ti", + "_ u", + "Ġch alleng", + "Ġchall eng", + "_ mode", + "_m ode", + "_mod e", + "_mo de", + "Ġ Promise", + "ĠP romise", + "ĠPro mise", + "ĠProm ise", + "Ġ strict", + "Ġstr ict", + "Ġstri ct", + "j o", + "i nton", + "in ton", + "int on", + "into n", + "( list", + "(l ist", + "(li st", + "On ly", + "> {", + "Ġ vehicle", + "Ġv ehicle", + "Ġveh icle", + "í ķ", + "Ġ Player", + "ĠP layer", + "ĠPl ayer", + "ĠPlay er", + "ĠPla yer", + "1 06", + "10 6", + "Ġ Del", + "ĠD el", + "ĠDe l", + "Ġ pool", + "Ġp ool", + "Ġpo ol", + "Ġpoo l", + ". url", + ".u rl", + ".ur l", + "nes day", + "( );čĊčĊ", + "() ;čĊčĊ", + "();čĊ čĊ", + "(); čĊčĊ", + "9 00", + "90 0", + "Ġ \");Ċ", + "Ġ\" );Ċ", + "Ġ\") ;Ċ", + "Ġ\"); Ċ", + "L ocal", + "Lo cal", + "Loc al", + ". \");Ċ", + ".\" );Ċ", + ".\") ;Ċ", + ".\"); Ċ", + "Ġ organization", + "Ġo rganization", + "Ġorgan ization", + "Ġorganiz ation", + "r ender", + "re nder", + "ren der", + "rend er", + "rende r", + "Ġ Application", + "ĠApp lication", + "ĠAp plication", + "ĠAppl ication", + "Ġ summer", + "Ġs ummer", + "Ġsum mer", + "Ġsumm er", + "ex pected", + "exp ected", + "expect ed", + "N A", + "Ġ rap", + "Ġr ap", + "Ġra p", + "_ obj", + "_o bj", + "_ob j", + "Ġ surface", + "Ġs urface", + "Ġsur face", + "Ġsurf ace", + "Ġ PUR", + "ĠP UR", + "ĠPU R", + "Ġ },ĊĊ", + "Ġ} ,ĊĊ", + "Ġ},Ċ Ċ", + "Ġ}, ĊĊ", + "Ġ variables", + "Ġvariable s", + "Ġvari ables", + "( message", + "(m essage", + "Ġo pin", + "Ġop in", + "Ġopi n", + ". back", + ".b ack", + ".ba ck", + "а н", + "аР½", + "Ġ workers", + "Ġwork ers", + "Ġwor kers", + "Ġworker s", + "v m", + "C o", + "ught er", + "ugh ter", + "Ġ master", + "Ġm aster", + "Ġma ster", + "Ġmas ter", + "Ġmast er", + "Ġ \"\",", + "Ġ\" \",", + "Ġ\"\" ,", + "Ġ stories", + "Ġst ories", + "Ġstor ies", + "Ġsto ries", + ". User", + ".U ser", + ".Use r", + "Ġcele br", + "in ese", + "ine se", + "ines e", + "B S", + "Ġ Command", + "ĠCom mand", + "ĠComm and", + "ash board", + "Ġ og", + "Ġo g", + "k g", + ". image", + ".i mage", + ".im age", + ".imag e", + ". style", + ".st yle", + "Ġ steps", + "Ġst eps", + "Ġstep s", + "Ġste ps", + "Ġ Ben", + "ĠB en", + "ĠBe n", + "( args", + "(arg s", + "(ar gs", + "4 04", + "40 4", + "Ġ Person", + "ĠP erson", + "ĠPer son", + "ĠPers on", + ", y", + "Ġoffic ials", + "Ġofficial s", + "| Ċ", + "Ġ skills", + "Ġs kills", + "Ġsk ills", + "Ġskill s", + "v c", + "Ġ builder", + "Ġb uilder", + "Ġbu ilder", + "Ġbuild er", + "Ġ gar", + "Ġg ar", + "Ġga r", + "A ccount", + "Ac count", + "Acc ount", + "Ġ Auth", + "ĠA uth", + "ĠAut h", + "ĠAu th", + "ç Ķ", + "' ])Ċ", + "'] )Ċ", + "']) Ċ", + "Ġ AT", + "ĠA T", + "n n", + ". Int", + ".I nt", + ".In t", + "SS ERT", + "Ġ effective", + "Ġe ffective", + "Ġeffect ive", + "Ġeff ective", + "LE TE", + "LET E", + "Ġ tools", + "Ġt ools", + "Ġto ols", + "Ġtoo ls", + "Ġtool s", + "A RD", + "AR D", + "Ġ digital", + "Ġd igital", + "Ġdig ital", + "Ġdigit al", + "1 91", + "19 1", + "D ouble", + "Do uble", + "Dou ble", + "Ġ Find", + "ĠF ind", + "ĠFin d", + "ĠFi nd", + "R C", + "Ġ inline", + "Ġin line", + "/ r", + "A RAM", + "AR AM", + "ARA M", + "A SK", + "AS K", + "Ġ intent", + "Ġin tent", + "Ġint ent", + "Ġinte nt", + "a ight", + "ai ght", + "_ addr", + "_add r", + "_ad dr", + "Ġ requests", + "Ġre quests", + "Ġrequest s", + "Ġrequ ests", + ". first", + ".f irst", + ".fi rst", + "Ġ debug", + "Ġde bug", + "Ġdeb ug", + "Ġ spent", + "Ġs pent", + "Ġsp ent", + "Ġspe nt", + "( )));Ċ", + "() ));Ċ", + "()) );Ċ", + "())) ;Ċ", + "())); Ċ", + "Å Ľ", + "Ġpr incip", + "Ġprin cip", + "Ġprinc ip", + "Log ger", + "Lo gger", + "cl udes", + "clude s", + "clud es", + ". use", + ".u se", + ".us e", + "Ġs urv", + "Ġsu rv", + "Ġsur v", + "m edia", + "med ia", + "me dia", + "medi a", + "Ġ February", + "ĠFe bruary", + "ĠFeb ruary", + "Ġ Mac", + "ĠM ac", + "ĠMa c", + "Ġ missing", + "Ġm issing", + "Ġmiss ing", + "Ġmis sing", + "Ġ wife", + "Ġw ife", + "Ġwi fe", + "Ġt alking", + "Ġtalk ing", + "Ġtal king", + "Ġ Make", + "ĠM ake", + "ĠMa ke", + "ĠMak e", + "Ġ cart", + "Ġc art", + "Ġcar t", + "Ġca rt", + "Ġ located", + "Ġloc ated", + "Ġlocate d", + "E nc", + "En c", + "- a", + "ch ron", + "chr on", + "Ġ cards", + "Ġc ards", + "Ġcar ds", + "Ġcard s", + "Ġg uy", + "Ġgu y", + "Ġ pers", + "Ġp ers", + "Ġper s", + "Ġpe rs", + "Ġ Yes", + "ĠY es", + "ĠYe s", + "at ever", + "ate ver", + "Ġ Ang", + "ĠA ng", + "ĠAn g", + "o lar", + "ol ar", + "ola r", + "Ġ Even", + "ĠE ven", + "ĠEv en", + "ĠEve n", + "Ġ accur", + "Ġacc ur", + "Ġac cur", + "Ġ Power", + "ĠP ower", + "ĠPo wer", + "ĠPow er", + "Ġ Gold", + "ĠG old", + "ĠGo ld", + "ĠGol d", + "c lear", + "cl ear", + "cle ar", + "P rocess", + "Pro cess", + "Proc ess", + "Ġ records", + "Ġrec ords", + "Ġrecord s", + "Ġk illed", + "Ġkill ed", + "Ġkil led", + ". clear", + ".c lear", + ".cl ear", + "ĠWARRANT IES", + "Ġ purpose", + "Ġp urpose", + "Ġpur pose", + "Ġpurpos e", + "p anel", + "pan el", + "pa nel", + "pane l", + "J ECT", + "JE CT", + "ÃŃ a", + "Ġex erc", + "Ġexe rc", + "W S", + "/ L", + ". exports", + ".ex ports", + ".exp orts", + ".export s", + "Ġ ___", + "Ġ_ __", + "Ġ__ _", + "Ġ sin", + "Ġs in", + "Ġsi n", + "S ervlet", + "Serv let", + "Ġd é", + ". delete", + ".de lete", + ".del ete", + "r oke", + "ro ke", + "rok e", + "S l", + "u gh", + "ug h", + "e ars", + "ear s", + "ea rs", + "Ġ pointer", + "Ġpoint er", + "Ġpo inter", + "Ġ hop", + "Ġh op", + "Ġho p", + "all ery", + "alle ry", + "aller y", + "Ġ obs", + "Ġo bs", + "Ġob s", + "c overy", + "co very", + "cover y", + "cov ery", + "ĉ char", + "ĉc har", + "ĉch ar", + "ĉ ĉĉĉĉĉĉĉĉĉ", + "ĉĉ ĉĉĉĉĉĉĉĉ", + "ĉĉĉĉ ĉĉĉĉĉĉ", + "ĉĉĉ ĉĉĉĉĉĉĉ", + "ĉĉĉĉĉ ĉĉĉĉĉ", + "ĉĉĉĉĉĉ ĉĉĉĉ", + "ĉĉĉĉĉĉĉĉ ĉĉ", + "ĉĉĉĉĉĉĉ ĉĉĉ", + "ĉĉĉĉĉĉĉĉĉ ĉ", + "ĉ def", + "ĉd ef", + "ĉde f", + "o city", + "oc ity", + "oci ty", + "it chen", + "itch en", + "u lations", + "ul ations", + "ulation s", + "Ġ FIT", + "ĠF IT", + "ĠFI T", + "Ġ ).", + "Ġ) .", + "straint s", + "stra ints", + "strain ts", + "v ention", + "vent ion", + "ven tion", + "Ġ requires", + "Ġre quires", + "Ġrequire s", + "Ġrequ ires", + "Ġ Oper", + "ĠO per", + "ĠOp er", + "M E", + "O UNT", + "OUN T", + "OU NT", + "al let", + "all et", + "alle t", + "Ġ norm", + "Ġn orm", + "Ġno rm", + "Ġnor m", + "I RE", + "IR E", + "ex as", + "Ġ programs", + "Ġpro grams", + "Ġpr ograms", + "Ġprogram s", + "Ġprog rams", + "Ġ weak", + "Ġwe ak", + "' .$", + "'. $", + "u ing", + "ui ng", + "uin g", + "ĉ ĠĠĠĠĠĠĠ", + "ĉĠĠĠ ĠĠĠĠ", + "ĉĠ ĠĠĠĠĠĠ", + "ĉĠĠ ĠĠĠĠĠ", + "ĉĠĠĠĠĠ ĠĠ", + "ĉĠĠĠĠ ĠĠĠ", + "ĉĠĠĠĠĠĠ Ġ", + "Ġ mil", + "Ġm il", + "Ġmi l", + "Ġ firm", + "Ġf irm", + "Ġfi rm", + "Ġfir m", + "init ely", + "inite ly", + "_ VALUE", + "_VAL UE", + "ap se", + "aps e", + "atis f", + "ati sf", + "Ġ demand", + "Ġd emand", + "Ġde mand", + "Ġdem and", + "_ mod", + "_m od", + "_mo d", + "Ġde scribed", + "Ġdes cribed", + "Ġdescri bed", + "Ġdescribe d", + "Ġ places", + "Ġp laces", + "Ġpl aces", + "Ġplace s", + "Ġplac es", + "Ġpla ces", + "V ID", + "VI D", + "Ġ alone", + "Ġal one", + "Ġalo ne", + "Ġ export", + "Ġex port", + "Ġexp ort", + "Ġexpo rt", + "Ġ vec", + "Ġv ec", + "Ġve c", + "Ġ Max", + "ĠM ax", + "ĠMa x", + "Ġ activities", + "Ġact ivities", + "Ġactiv ities", + "ic tures", + "ict ures", + "icture s", + "g ener", + "ge ner", + "gen er", + "gene r", + "Ġ ma", + "Ġm a", + "Ĥ ¬", + "Ġ expression", + "Ġex pression", + "Ġexp ression", + "Ġexpress ion", + "Ġexpr ession", + "C allback", + "Call back", + "_ content", + "_c ontent", + "_con tent", + "_cont ent", + "Ġ Most", + "ĠM ost", + "ĠMo st", + "ĠMos t", + "Ġ testing", + "Ġt esting", + "Ġtest ing", + "Ġtes ting", + "E C", + "CH ANT", + "CHA NT", + "CHAN T", + "Ġ adjust", + "Ġad just", + "Ġadj ust", + ".Th reading", + ".Thread ing", + "( ctx", + "(c tx", + "(ct x", + "Ġ agree", + "Ġa gree", + "Ġag ree", + "Ġagre e", + "Ġagr ee", + "i ghest", + "ig hest", + "igh est", + "Ġ ui", + "Ġu i", + "Ġ Law", + "ĠL aw", + "ĠLa w", + ". Y", + "> < ?", + "Ġ pod", + "Ġp od", + "Ġpo d", + "- lg", + "-l g", + "âĢĿ ĊĊ", + "âĢĿĊ Ċ", + "Ġ describe", + "Ġde scribe", + "Ġdes cribe", + "Ġdescri be", + "Ġdescr ibe", + "Ġ European", + "ĠE uropean", + "ĠEurope an", + "ĠEurop ean", + "- sh", + "-s h", + "ĠPUR POSE", + "O RY", + "OR Y", + "Ġcon vers", + "Ġconv ers", + "Ġconver s", + "Ġ Illuminate", + "ĠI lluminate", + "ĠIllum inate", + "Ġ Av", + "ĠA v", + "( ch", + "(c h", + "? \"", + "c hen", + "ch en", + "che n", + "i ma", + "im a", + "D ocument", + "Doc ument", + "Ġ operations", + "Ġoper ations", + "Ġoperation s", + "w in", + "wi n", + "ĉ function", + "ĉf unction", + "ĉfunc tion", + "ĉfun ction", + ". Image", + ".I mage", + ".Im age", + "Ġs cen", + "Ġsc en", + "Ġsce n", + "/ h", + "Ġ SC", + "ĠS C", + "Ġ explo", + "Ġexp lo", + "Ġexpl o", + ": %", + "/ **čĊ", + "/* *čĊ", + "/** čĊ", + "N AME", + "NA ME", + "æ Ī", + "( var", + "(v ar", + "(va r", + "Ġ director", + "Ġd irector", + "Ġdirect or", + "Ġdir ector", + "Ġdire ctor", + "O NG", + "ON G", + "Ġ yield", + "Ġy ield", + "Ġyi eld", + "Ġfe et", + "Ġfee t", + "Ġ Search", + "ĠS earch", + "ĠSe arch", + "ĠSea rch", + "Ġ Il", + "ĠI l", + "Ġrest aur", + "Ġresta ur", + "Ġrestau r", + "d uc", + "du c", + "Ġ integer", + "Ġint eger", + "Ġinteg er", + "Ġinte ger", + "1 07", + "10 7", + "Ġ' ';Ċ", + "Ġ'' ;Ċ", + "Ġ''; Ċ", + "Ġhigh ly", + "check ed", + "ĠPART IC", + "ER CHANT", + "ï¼ ī", + "Ġ optim", + "Ġop tim", + "Ġopt im", + "Q ueue", + "Que ue", + "Ġ LI", + "ĠL I", + "it ation", + "ita tion", + "itat ion", + "Ġ transport", + "Ġtrans port", + "Ġtran sport", + "iss ion", + "f ill", + "fi ll", + "fil l", + "us ion", + "usi on", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĉ bool", + "ĉb ool", + "- th", + "-t h", + "u pt", + "up t", + "Ġ essential", + "Ġess ential", + "an ted", + "ant ed", + "ante d", + "Ġbenef its", + "Ġbenefit s", + "Ġbene fits", + "ĉ S", + "' ;čĊ", + "'; čĊ", + "i ki", + "ik i", + "Ġ girls", + "Ġgirl s", + "Ġgir ls", + "i ced", + "ic ed", + "ice d", + "b uffer", + "buf fer", + "bu ffer", + "buff er", + "] +", + "Ġ socket", + "Ġs ocket", + "Ġso cket", + "Ġsock et", + "Ġsoc ket", + "Ġ prices", + "Ġp rices", + "Ġpr ices", + "Ġprice s", + "Ġpri ces", + "Ġ Fre", + "ĠF re", + "ĠFr e", + "Ġ sat", + "Ġs at", + "Ġsa t", + "Ġ wood", + "Ġw ood", + "Ġwo od", + "Ġwoo d", + "Menu Item", + "A RG", + "AR G", + "Ġ Admin", + "ĠAd min", + "O WN", + "OW N", + "d k", + "Ġ reset", + "Ġre set", + "Ġres et", + "Ġ forms", + "Ġfor ms", + "Ġform s", + "Ġfo rms", + "Ġ и", + "ĠÐ ¸", + "æ ĸ", + "Ġ Tuesday", + "ĠT uesday", + "ĠTues day", + "1 09", + "10 9", + "Ġ Initialized", + "ĠInitial ized", + "ĠInitialize d", + "ĠInit ialized", + "_ train", + "_t rain", + "_tr ain", + "_tra in", + "o rary", + "or ary", + "ora ry", + "ate gor", + "ateg or", + "atego r", + "Ġ dt", + "Ġd t", + "T otal", + "To tal", + "Tot al", + "con struct", + "i lies", + "il ies", + "ili es", + "Ġgu ys", + "Ġguy s", + "е ÑĢ", + "Ġ instruction", + "Ġin struction", + "Ġinstr uction", + "Ġinstruct ion", + "0 10", + "01 0", + "y led", + "yle d", + "yl ed", + "Ġ internet", + "Ġin ternet", + "Ġint ernet", + "Ġinter net", + "Ġintern et", + "et adata", + "eta data", + "a dy", + "ad y", + "f aces", + "face s", + "fa ces", + "fac es", + "j ection", + "ject ion", + "je ction", + "jec tion", + "Ġ Jack", + "ĠJ ack", + "ĠJac k", + "ĠJa ck", + "Ġ rect", + "Ġre ct", + "Ġr ect", + "Ġrec t", + "[ -", + "Ġ Leg", + "ĠL eg", + "ĠLe g", + "Ġ devices", + "Ġdev ices", + "Ġdevice s", + "O C", + "Ġ *čĊ", + "Ġ* čĊ", + "o ration", + "or ation", + "ora tion", + "er tain", + "ert ain", + "erta in", + "Ġ guard", + "Ġg uard", + "Ġgu ard", + "Ġguar d", + "o stream", + "ost ream", + "Ġ enum", + "Ġe num", + "Ġen um", + ". layout", + ".l ayout", + "Ġ \";Ċ", + "Ġ\" ;Ċ", + "Ġ\"; Ċ", + "v oke", + "vo ke", + "Ġ Ok", + "ĠO k", + "H ome", + "Ho me", + "Hom e", + "( tr", + "(t r", + "E TH", + "ET H", + "Ġ delay", + "Ġd elay", + "Ġde lay", + "Ġdel ay", + "Ġdela y", + "Ġ purchase", + "Ġp urchase", + "Ġpurch ase", + "d c", + "Ġ aren", + "Ġa ren", + "Ġare n", + "Ġar en", + "_ once", + "_on ce", + "_o nce", + "ĉ ĉĉĉĊ", + "ĉĉ ĉĉĊ", + "ĉĉĉĉ Ċ", + "ĉĉĉ ĉĊ", + "r or", + "ro r", + "d raw", + "dr aw", + "dra w", + ". run", + ".r un", + ".ru n", + "( model", + "(m odel", + "(mod el", + "(mode l", + "Time out", + "l ik", + "li k", + "Ġ Arg", + "ĠA rg", + "ĠAr g", + ". en", + ".e n", + "Ġ fish", + "Ġf ish", + "Ġfi sh", + "Ġfis h", + "c py", + "cp y", + "_ fe", + "_f e", + "ERCHANT ABILITY", + "( X", + "_ output", + "_out put", + "? ?", + "Ġ jo", + "Ġj o", + "and ard", + "anda rd", + "Ġ doll", + "Ġd oll", + "Ġdo ll", + "Ġdol l", + "er rors", + "err ors", + "error s", + "erro rs", + "_ base", + "_b ase", + "ĠPARTIC ULAR", + "Ġ leader", + "Ġle ader", + "Ġlead er", + "Ġcom par", + "Ġco mpar", + "Ġcomp ar", + "Ġd oub", + "Ġdo ub", + "Ġdou b", + "Ġ Vis", + "ĠV is", + "ĠVi s", + "Stack Trace", + "- C", + "ĠSt ud", + "stit ute", + "M ore", + "Mo re", + "Mor e", + "Ġ Description", + "ĠD escription", + "ĠDe scription", + "ĠDes cription", + "W ARE", + "WA RE", + "WAR E", + "a ds", + "ad s", + "Ġ к", + "ĠÐ º", + "b ind", + "bin d", + "bi nd", + "= self", + "=s elf", + "e mploy", + "em ploy", + "emp loy", + "empl oy", + "emplo y", + "[ n", + ". all", + ".a ll", + ".al l", + "- B", + "& &", + "a lm", + "al m", + "Ġ culture", + "Ġc ulture", + "Ġcult ure", + "Ġcul ture", + "h ouse", + "ho use", + "hou se", + "Ġs uffer", + "Ġsu ffer", + "Ġsuff er", + "Ġsuf fer", + "Ġ '%", + "Ġ' %", + "Ġ straight", + "Ġstr aight", + "Ġstra ight", + "Ġ Star", + "ĠS tar", + "ĠSt ar", + "ĠSta r", + "u do", + "ud o", + "Ġ ded", + "Ġd ed", + "Ġde d", + "Ġ COM", + "ĠC OM", + "ĠCO M", + "Ġ confirm", + "Ġcon firm", + "Ġconf irm", + "Ġ Good", + "ĠG ood", + "ĠGo od", + ". sc", + ".s c", + "____ ____________", + "________ ________", + "____________ ____", + "D R", + "Config uration", + "Date Time", + "Ġ advert", + "Ġad vert", + "Ġadv ert", + "Ġ couldn", + "Ġcould n", + "a sync", + "as ync", + "asy nc", + "st ack", + "sta ck", + "' )čĊ", + "') čĊ", + "K it", + "Ki t", + "Ġh ous", + "Ġho us", + "Ġm echan", + "Ġme chan", + "Ġmec han", + "Ġmech an", + "r ate", + "ra te", + "rat e", + "2 04", + "20 4", + "Ġ audio", + "Ġa udio", + "Ġaud io", + "Ġau dio", + "Ġaudi o", + "ĉ cout", + "ĉc out", + "c ores", + "co res", + "core s", + "cor es", + "Ġ spot", + "Ġs pot", + "Ġsp ot", + "Ġspo t", + "Ġin creasing", + "Ġincre asing", + "Ġ ##", + "Ġ# #", + ") ))", + ")) )", + "p oints", + "point s", + "po ints", + "poi nts", + "Ġcom pared", + "Ġcomp ared", + "Ġcompar ed", + "Ġcompare d", + "l ig", + "li g", + "Ġ behavior", + "Ġbeh avior", + "Ġ BY", + "ĠB Y", + "Ġ Att", + "ĠA tt", + "ĠAt t", + "c raft", + "cr aft", + "he aders", + "head ers", + "header s", + "hea ders", + "e te", + "et e", + "end region", + "Ġ detail", + "Ġd etail", + "Ġde tail", + "Ġdet ail", + "U LE", + "UL E", + "Ġ Common", + "ĠCom mon", + "ĠComm on", + "ĉ protected", + "s ton", + "st on", + "sto n", + "ĠFIT NESS", + "Ġ fresh", + "Ġf resh", + "Ġfr esh", + "Ġfre sh", + "Ġfres h", + "\" >ĊĊ", + "\"> ĊĊ", + "\">Ċ Ċ", + ". example", + ".ex ample", + ".exam ple", + "b erg", + "ber g", + "be rg", + "Ġ moved", + "Ġm oved", + "Ġmov ed", + "Ġmove d", + "Ġmo ved", + "ĉ e", + "Ġ Saturday", + "ĠS aturday", + "Ġ payload", + "Ġp ayload", + "Ġpay load", + "Ä ĩ", + ") :ĊĊ", + "):Ċ Ċ", + "): ĊĊ", + "Ġb ey", + "Ġbe y", + "u rer", + "ur er", + "ure r", + "< script", + " ,", + "\" > < ?", + "( num", + "(n um", + "ĉ inline", + "ĉin line", + "Trans action", + ". On", + ".O n", + "Ġ mail", + "Ġm ail", + "Ġma il", + "Ġmai l", + "r ey", + "re y", + "res ults", + "result s", + "Ġ nav", + "Ġn av", + "Ġna v", + "I MIT", + "IM IT", + "_ ids", + "_id s", + "_i ds", + "M ake", + "Ma ke", + "å Ĭ", + "M odal", + "Mod al", + "Mo dal", + "Ġ LOG", + "ĠL OG", + "ĠLO G", + "Ġ Sur", + "ĠS ur", + "ĠSu r", + "Ġinstance of", + "Ġ overall", + "Ġover all", + "Ġ Information", + "ĠIn formation", + "ĠInform ation", + "Ġ construction", + "Ġcon struction", + "Ġconstruct ion", + "Ġconstr uction", + "_ FILE", + "_F ILE", + "b ut", + "bu t", + "Ġm edic", + "Ġme dic", + "Ġmed ic", + "Ġmedi c", + "Ġ duration", + "Ġd uration", + "Ġdu ration", + "Ġdur ation", + "it ness", + "a gent", + "ag ent", + "age nt", + "agen t", + "A V", + "Ġ seven", + "Ġs even", + "Ġse ven", + "Ġsev en", + "o lf", + "ol f", + "Ġ }}Ċ", + "Ġ} }Ċ", + "Ġ}} Ċ", + "\" ],Ċ", + "\"] ,Ċ", + "\"], Ċ", + "1 70", + "17 0", + "1 22", + "12 2", + "Ġ calling", + "Ġc alling", + "Ġcall ing", + "Ġcal ling", + "Ġ ans", + "Ġa ns", + "Ġan s", + "th rows", + "throw s", + "thr ows", + "thro ws", + "or izontal", + "Ġ useState", + "Ġuse State", + ". fl", + ".f l", + "Ġ Status", + "ĠS tatus", + "ĠSt atus", + "ĠStat us", + "Ġ Online", + "ĠOn line", + "R R", + "Ġ Rich", + "ĠR ich", + "ĠRic h", + "ĠRi ch", + "ĠH ill", + "ĠHi ll", + "ĠHil l", + "Ġ brain", + "Ġb rain", + "Ġbr ain", + "Ġbra in", + "Ġfollow ed", + "Ġfoll owed", + "2 40", + "24 0", + "e mic", + "em ic", + "emi c", + "Ġs light", + "Ġsl ight", + "Ġ insurance", + "Ġins urance", + ". Array", + ".A rray", + ".Ar ray", + "Ġ abstract", + "Ġa bstract", + "Ġab stract", + "Ġabs tract", + "Ġabst ract", + "Ġ Sum", + "ĠS um", + "ĠSu m", + "re direct", + "red irect", + "redi rect", + "o wner", + "ow ner", + "own er", + "( msg", + "(m sg", + "(ms g", + "Ġ Clinton", + "ĠCl inton", + "ĠClin ton", + "ĠClint on", + "ĠCli nton", + "N on", + "No n", + "ĉ ex", + "ĉe x", + "Ġ volume", + "Ġv olume", + "Ġvol ume", + "Ġvolum e", + "Ġ EventArgs", + "ĠEvent Args", + "- L", + "Ġ Dim", + "ĠD im", + "ĠDi m", + "Ġ Mart", + "ĠM art", + "ĠMar t", + "ĠMa rt", + "Ġ cursor", + "Ġc ursor", + "Ġcurs or", + "Ġcurso r", + "Ġ implementation", + "Ġim plementation", + "Ġimplement ation", + "ur red", + "urre d", + "urr ed", + "Ġl arger", + "Ġlarge r", + "Ġlarg er", + "Ġlar ger", + ") ;ĊĊĊ", + ");Ċ ĊĊ", + ");ĊĊ Ċ", + "); ĊĊĊ", + "' +", + ". transform", + ".trans form", + "Ġ upload", + "Ġup load", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "D raw", + "Dr aw", + "n el", + "ne l", + "ĉ float", + "ĉf loat", + "q rt", + "qr t", + "Ġ Network", + "ĠN etwork", + "ĠNet work", + "Ġ tit", + "Ġt it", + "Ġti t", + "A xis", + "Ax is", + ". android", + ".and roid", + "Ġ completed", + "Ġcom pleted", + "Ġcomp leted", + "Ġcomple ted", + "Ġcomplet ed", + "Ġcompl eted", + "Ġcomplete d", + "Ġ mur", + "Ġm ur", + "Ġmu r", + "Ġ columns", + "Ġcolumn s", + "Ġcolum ns", + "x c", + "Ġ supply", + "Ġs upply", + "Ġsup ply", + "Ġsuppl y", + "Ġsupp ly", + "im inal", + "imi nal", + "imin al", + "Ġ spr", + "Ġs pr", + "Ġsp r", + "================ ================================================", + "================================ ================================", + "================================================ ================", + "Ġ units", + "Ġun its", + "Ġunit s", + "Ġuni ts", + "( u", + "m i", + "re place", + "rep lace", + "[ key", + "[k ey", + "à ¹", + "an tic", + "ant ic", + "anti c", + "Ġ payment", + "Ġp ayment", + "Ġpay ment", + ", B", + "Ġ Apple", + "ĠApp le", + "ĠAp ple", + "ĠAppl e", + "g in", + "gi n", + "Re quired", + "Require d", + "# +", + "l ands", + "land s", + "la nds", + "lan ds", + "Ġ squ", + "Ġs qu", + "Ġsq u", + "Ġ factor", + "Ġf actor", + "Ġfact or", + "Ġfa ctor", + "Ġfac tor", + "Ġfacto r", + "d ec", + "de c", + "Ġ strength", + "Ġst rength", + "Ġstr ength", + "Ġstre ngth", + "Ġstren gth", + "Ġ boy", + "Ġb oy", + "Ġbo y", + "Ġ balance", + "Ġb alance", + "Ġbal ance", + "Ġ sources", + "Ġs ources", + "Ġsource s", + "Ġsour ces", + "s creen", + "sc reen", + "scr een", + "- top", + "-t op", + "-to p", + "Ġ Amazon", + "ĠA mazon", + "ĠAm azon", + "ĠAma zon", + "Ġ hidden", + "Ġh idden", + "Ġhi dden", + "Ġhid den", + "е ÑĤ", + "_ client", + "_c lient", + "_cl ient", + "_cli ent", + "Ġ eat", + "Ġe at", + "Ġea t", + ". display", + ".d isplay", + ".dis play", + "Ġ »", + "Ġ »", + "Ġ trigger", + "Ġtr igger", + "Ġtri gger", + "Ġtrig ger", + "an ager", + "ana ger", + "Ġ tro", + "Ġt ro", + "Ġtr o", + "Ġ claims", + "Ġcl aims", + "Ġclaim s", + "Ġcla ims", + "f ord", + "fo rd", + "for d", + "Ġ Company", + "ĠCom pany", + "ĠComp any", + "Ġ gift", + "Ġg ift", + "Ġgi ft", + "Ġgif t", + ", :", + "_ app", + "_a pp", + "_ap p", + "h andle", + "han dle", + "hand le", + "Ġ produce", + "Ġp roduce", + "Ġpro duce", + "Ġprodu ce", + "Ġprod uce", + "/ lib", + "/l ib", + "/li b", + "5 12", + "51 2", + "Ġ -*", + "Ġ- *", + "ĉ set", + "ĉs et", + "ĉse t", + "' ];", + "'] ;", + "a rc", + "ar c", + "a nder", + "an der", + "and er", + "ande r", + "Ġ Engine", + "ĠE ngine", + "ĠEng ine", + "Ġ attributes", + "Ġat tributes", + "Ġattribute s", + "Ġattrib utes", + "t ask", + "ta sk", + "tas k", + "< =", + "( N", + "Ġ warm", + "Ġw arm", + "Ġwar m", + "Ġwa rm", + "wh ich", + "Ġ Fore", + "ĠF ore", + "ĠFor e", + "ĠFo re", + "ag nost", + "agn ost", + "m ys", + "my s", + "Ġ tal", + "Ġt al", + "Ġta l", + "Ġ Sal", + "ĠS al", + "ĠSa l", + "g i", + "Ġ Print", + "ĠP rint", + "ĠPr int", + "ĠPri nt", + "Ġ TRUE", + "ĠTR UE", + "Ġ о", + "ĠÐ ¾", + ". UI", + ".U I", + "Ġ flash", + "Ġf lash", + "Ġfl ash", + "Ġfla sh", + "ro perty", + "rop erty", + ". location", + ".l ocation", + ".loc ation", + ".lo cation", + "Ġ Mill", + "ĠM ill", + "ĠMil l", + "ĠMi ll", + "b i", + "con tr", + "cont r", + ". request", + ".re quest", + ".req uest", + "Ġ Sam", + "ĠS am", + "ĠSa m", + "Ġ negative", + "Ġn egative", + "Ġneg ative", + "k it", + "ki t", + "Ġ sett", + "Ġs ett", + "Ġse tt", + "Ġset t", + ".print StackTrace", + "a be", + "ab e", + "ĉ i", + "Ġ burn", + "Ġb urn", + "Ġbu rn", + "Ġbur n", + "Ġs ociety", + "Ġsoci ety", + "C ache", + "Ca che", + "Ġ Security", + "ĠS ecurity", + "ĠSe curity", + "ĠSec urity", + ". models", + ".model s", + ".mod els", + ".mode ls", + "ĠWARRANT Y", + "_ up", + "_u p", + "ce ive", + "Ġ clients", + "Ġc lients", + "Ġcl ients", + "Ġclient s", + "Ġcli ents", + ". Tr", + ".T r", + "Ġprovid ing", + "Ġprov iding", + "Ġr out", + "Ġro ut", + "Ġrou t", + "m aterial", + "mat erial", + "mate rial", + "Ġ ||Ċ", + "Ġ| |Ċ", + "Ġ|| Ċ", + "Ġ Ser", + "ĠS er", + "ĠSe r", + "Ġ Office", + "ĠOff ice", + "FT WARE", + "Ġ '$", + "Ġ' $", + "Ġf oc", + "Ġfo c", + "Ġex cell", + "Ġexc ell", + "Ġexcel l", + "Ġexce ll", + "Ġ cat", + "Ġc at", + "Ġca t", + "n ormal", + "norm al", + "nor mal", + "Ġd etermine", + "Ġdeter mine", + "Ġdetermin e", + "Ġdeterm ine", + "ĉ uint", + "ĉu int", + "ĉui nt", + "P ane", + "Pa ne", + "Pan e", + "Ġ employees", + "Ġemploy ees", + "Ġemployee s", + "Ġ Texas", + "ĠT exas", + "ĠTex as", + "Ġtr aff", + "Ġtra ff", + "Ġtraf f", + "Ġ Report", + "ĠRe port", + "ĠRep ort", + "ĠRepo rt", + "an ta", + "ant a", + "Ġ Box", + "ĠB ox", + "ĠBo x", + "Ġ django", + "Ġd jango", + "Ġdj ango", + "Ġ partner", + "Ġp artner", + "Ġpart ner", + "E B", + "L INE", + "LI NE", + "LIN E", + "Ġfe eling", + "Ġfeel ing", + "Ġfee ling", + "Ġ civil", + "Ġc ivil", + "Ġci vil", + "Ġciv il", + "( float", + "(f loat", + "S ql", + "Sq l", + "Ġwould n", + ". init", + ".in it", + ".i nit", + ".ini t", + ". left", + ".l eft", + ".le ft", + "- v", + "_ level", + "_le vel", + "' }", + "A F", + "Ġ loading", + "Ġlo ading", + "Ġload ing", + "Ġloa ding", + "Ġ Only", + "ĠOn ly", + "Ġ cookies", + "Ġc ookies", + "Ġco okies", + "Ġcook ies", + "Ġcookie s", + "Ġ Gl", + "ĠG l", + "C O", + "Ġ strategy", + "Ġstr ategy", + "Ġstrateg y", + "Ġstrate gy", + "(' ./", + "('. /", + "Ġ ship", + "Ġs hip", + "Ġsh ip", + "p oses", + "pos es", + "pose s", + "po ses", + "Ġ signal", + "Ġs ignal", + "Ġsign al", + "Ġsig nal", + "Ġ alpha", + "Ġal pha", + "Ġalph a", + ". pop", + ".p op", + ".po p", + "R adius", + "Rad ius", + "Radi us", + "Ġ replace", + "Ġre place", + "Ġrep lace", + "Ġrepl ace", + "_ DIR", + "_D IR", + "_DI R", + "c ounter", + "co unter", + "count er", + "bserv able", + "e la", + "el a", + "W eight", + "We ight", + "Wei ght", + "h ash", + "ha sh", + "has h", + "b ose", + "bo se", + "bos e", + "f x", + "Ġ Email", + "ĠE mail", + "ĠEm ail", + "Ġ refer", + "Ġre fer", + "Ġref er", + "local host", + "_ RO", + "_R O", + "i ques", + "ique s", + "iqu es", + "iq ues", + "S tep", + "St ep", + "Ste p", + "Ġ ahead", + "Ġa head", + "Ġah ead", + "( View", + "(V iew", + "Ġ Services", + "ĠS ervices", + "ĠService s", + "ĠServ ices", + "Ġ Json", + "ĠJ son", + "ĠJs on", + "ess or", + "esso r", + "Ġ pun", + "Ġp un", + "Ġpu n", + "Ġ appropriate", + "Ġapp ropriate", + "Ġappropri ate", + "a kers", + "ak ers", + "ake rs", + "aker s", + "o sen", + "os en", + "ose n", + "p osing", + "pos ing", + "po sing", + "Ġ agent", + "Ġa gent", + "Ġag ent", + "Ġage nt", + "f c", + "Ġ transfer", + "Ġtrans fer", + "Ġtransf er", + "Ġ invalid", + "Ġin valid", + "Ġinval id", + "Ġ Research", + "ĠRe search", + "ĠRes earch", + "Vert ex", + "Ver tex", + "Ġ gay", + "Ġg ay", + "Ġga y", + "Ġ journal", + "Ġj ournal", + "Ġjo urnal", + "Ġjour nal", + "[ x", + "Ġ \"\",Ċ", + "Ġ\" \",Ċ", + "Ġ\"\" ,Ċ", + "Ġ\"\", Ċ", + "Ġ Well", + "ĠW ell", + "ĠWe ll", + "ĠWel l", + ". Tasks", + ".T asks", + ".Task s", + "S pec", + "Sp ec", + "Spe c", + "Ġ ol", + "Ġo l", + "Ġs pend", + "Ġsp end", + "Ġspe nd", + "Ġ Australia", + "ĠA ustralia", + "ĠAustral ia", + "ĠAustr alia", + "M atch", + "Mat ch", + ".j unit", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġ MAX", + "ĠM AX", + "ĠMA X", + "iz able", + "iza ble", + "cl usive", + "clus ive", + "_ valid", + "_val id", + "_va lid", + "Ġ quarter", + "Ġqu arter", + "Ġquar ter", + "Ġquart er", + "y an", + "ya n", + "0 05", + "00 5", + "Ġ Edit", + "ĠE dit", + "ĠEd it", + "ar den", + "ard en", + "arde n", + "= new", + "=n ew", + "Ġ frag", + "Ġf rag", + "Ġfr ag", + "Ġfra g", + "B it", + "Bi t", + "z i", + "a ine", + "ain e", + "ai ne", + "u dd", + "ud d", + ". Object", + ".O bject", + ".Obj ect", + "de bug", + "deb ug", + "Ġ cash", + "Ġc ash", + "Ġca sh", + "Ġcas h", + "_ IM", + "_I M", + "Ġ een", + "Ġe en", + "Ġee n", + "Ġ commercial", + "Ġcom mercial", + "Ġcomm ercial", + "Ġcommerc ial", + "Ġ Video", + "ĠV ideo", + "ĠVi deo", + "ĠVid eo", + "ĠVide o", + "l oader", + "lo ader", + "load er", + "Ġ fixed", + "Ġf ixed", + "Ġfix ed", + "Ġfi xed", + "Ġ applications", + "Ġapp lications", + "Ġapplication s", + "Ġapplic ations", + "Ġappl ications", + "Ġ _,", + "Ġ_ ,", + "Ġ Russia", + "ĠR ussia", + "ĠRuss ia", + "it ect", + "ite ct", + "_ (", + "Ġ Block", + "ĠB lock", + "ĠBl ock", + "ĠBlo ck", + "ĠBloc k", + "Ġ san", + "Ġs an", + "Ġsa n", + "Ġ Tom", + "ĠT om", + "ĠTo m", + "Ġ perhaps", + "Ġper haps", + "Ġ sig", + "Ġs ig", + "Ġsi g", + "le vant", + "lev ant", + "Ġc orpor", + "Ġcor por", + "Ġcorp or", + "Ġcorpo r", + "at aset", + "ata set", + "atas et", + "r onic", + "ro nic", + "ron ic", + "x e", + "Ġ eth", + "Ġe th", + "Ġet h", + "S ome", + "So me", + "Som e", + "p op", + "po p", + "_ OK", + "_O K", + "Ġt end", + "Ġte nd", + "Ġten d", + ". Res", + ".R es", + ".Re s", + "_ and", + "_a nd", + "_an d", + "Ġ reviews", + "Ġre views", + "Ġreview s", + "Ġ wild", + "Ġw ild", + "Ġwi ld", + "Ġwil d", + "1 17", + "11 7", + "Ġ degree", + "Ġd egree", + "Ġde gree", + "Ġdeg ree", + ". O", + ". objects", + ".object s", + ".obj ects", + "_ args", + "_arg s", + "_ar gs", + "n il", + "ni l", + "Ġ disabled", + "Ġdis abled", + "Ġdisable d", + "P arent", + "Par ent", + "Pa rent", + "Paren t", + "Ġ notes", + "Ġn otes", + "Ġnot es", + "Ġno tes", + "Ġnote s", + "Ġ \"\"Ċ", + "Ġ\" \"Ċ", + "Ġ\"\" Ċ", + "( state", + "(st ate", + "(stat e", + "i strict", + "istr ict", + "Ġ logging", + "Ġlog ging", + ". IO", + ".I O", + "Ġ Mal", + "ĠM al", + "ĠMa l", + "D M", + "Ġ xml", + "Ġx ml", + "Ġxm l", + "Ġ Robert", + "ĠRob ert", + "ĠRo bert", + "e len", + "el en", + "ele n", + "l ayout", + "lay out", + "f ol", + "fo l", + "' ]))", + "'] ))", + "']) )", + ", b", + "Ġ Jer", + "ĠJ er", + "ĠJe r", + "f ilename", + "file name", + "fi lename", + "fil ename", + "Ġ fan", + "Ġf an", + "Ġfa n", + "Ġ Custom", + "ĠC ustom", + "ĠCust om", + "= \"\"", + "=\" \"", + "Ġ Die", + "ĠD ie", + "ĠDi e", + "B undle", + ". utils", + ".util s", + ".ut ils", + "Ġ trip", + "Ġt rip", + "Ġtr ip", + "Ġtri p", + "M B", + "Ġ soft", + "Ġs oft", + "Ġso ft", + "Ġsof t", + "_ MODE", + "_M ODE", + "_MO DE", + "_MOD E", + "Ġapp licable", + "Ġapplic able", + "Ġappl icable", + "Ġ upper", + "Ġu pper", + "Ġup per", + "Ġupp er", + "ER VER", + "ERV ER", + "ERVE R", + "_ al", + "_a l", + "_ LOG", + "_L OG", + "_LO G", + "H ere", + "He re", + "Her e", + "w p", + "Ġ Server", + "ĠS erver", + "ĠSer ver", + "ĠServ er", + "ĠServe r", + "Ġ Client", + "ĠC lient", + "ĠCl ient", + "ĠCli ent", + "Ġ chem", + "Ġc hem", + "Ġch em", + "Ġche m", + "S croll", + "Sc roll", + "Scr oll", + "Ġ highest", + "Ġh ighest", + "Ġhigh est", + "Ġhi ghest", + "Ġ Select", + "ĠS elect", + "ĠSe lect", + "ĠSel ect", + "ĠSele ct", + "Ġ \"@", + "Ġ\" @", + "Ġ Why", + "ĠW hy", + "ĠWh y", + "S ec", + "Se c", + "h eel", + "he el", + "hee l", + "O peration", + "Oper ation", + "Op eration", + "Opera tion", + "Ġ connected", + "Ġconn ected", + "Ġconnect ed", + "ir med", + "irm ed", + "Ġcit iz", + "Ġ Che", + "ĠC he", + "ĠCh e", + "Ġ forces", + "Ġfor ces", + "Ġforce s", + "Ġforc es", + "Ġ www", + "Ġw ww", + "Ġww w", + "R oot", + "Ro ot", + "AN CE", + "ANC E", + "M any", + "Man y", + "Ma ny", + "i cip", + "ic ip", + "ici p", + "r gan", + "rg an", + "2 20", + "22 0", + "Ġ Tor", + "ĠT or", + "ĠTo r", + "Ġ Press", + "ĠP ress", + "ĠPr ess", + "ĠPres s", + "ĠPre ss", + "Ġ Mor", + "ĠM or", + "ĠMo r", + "- line", + "-l ine", + "-li ne", + "u led", + "ul ed", + "ule d", + "> \\", + "Ġ thus", + "Ġt hus", + "Ġth us", + "Ġthu s", + "Ġ Register", + "ĠReg ister", + "h ol", + "ho l", + "Ġ Chinese", + "ĠCh inese", + "ĠChin ese", + "Ġ posted", + "Ġpos ted", + "Ġpost ed", + "Ġpo sted", + "Ġposte d", + "Ġm agn", + "Ġmag n", + "Ġma gn", + "ab ilities", + "abil ities", + "abilit ies", + "Ġd isease", + "Ġdis ease", + "Ġdise ase", + "Ġrem ains", + "Ġremain s", + "Ġ Prof", + "ĠP rof", + "ĠPro f", + "ĠPr of", + "- form", + "-f orm", + "-for m", + "Ġ cin", + "Ġc in", + "Ġci n", + "o rgan", + "or gan", + "org an", + "i cate", + "ic ate", + "ica te", + "Ġ stress", + "Ġst ress", + "Ġstr ess", + "Ġstre ss", + "] *", + "Ġ ----------------------------------------------------------------", + "Ġ---------------- ------------------------------------------------", + "Ġ------------------------------------------------ ----------------", + "Ġ-------------------------------- --------------------------------", + "Ġ------------------------------------------------------------ ----", + "_ context", + "_con text", + "_cont ext", + "or ry", + "orr y", + "Ġd ied", + "Ġdi ed", + "Ġdie d", + "m at", + "ma t", + "Ġ starts", + "Ġst arts", + "Ġstart s", + "Ġstar ts", + "Ġsta rts", + ". Message", + ".M essage", + "Ġ runs", + "Ġr uns", + "Ġrun s", + "Ġru ns", + "Ġ guide", + "Ġg uide", + "Ġgu ide", + "Ġguid e", + "Ġgui de", + "Ġw arranty", + "Ġwarrant y", + "ent ials", + "ential s", + "enti als", + "d ict", + "di ct", + "dic t", + "Ġ Size", + "ĠS ize", + "ĠSi ze", + "ĠSiz e", + "u ler", + "ul er", + "ule r", + "Ġres ponsible", + "Ġrespons ible", + "_ SET", + "_S ET", + "_SE T", + "Ġcont aining", + "Ġcontain ing", + "Ġconta ining", + "Ġ Price", + "ĠP rice", + "ĠPr ice", + "ĠPri ce", + "| |", + "3 50", + "35 0", + "F S", + "Ġ emp", + "Ġe mp", + "Ġem p", + "_ button", + "_b utton", + "_but ton", + "( uint", + "(u int", + "(ui nt", + "Ġs uff", + "Ġsu ff", + "Ġsuf f", + "p th", + "pt h", + "Ġdef initely", + "Ġdefinit ely", + "Ġdefinite ly", + "p ute", + "put e", + "pu te", + "Ġ marketing", + "Ġmark eting", + "Ġmarket ing", + "Ġ WH", + "ĠW H", + "Ġ Sie", + "ĠS ie", + "ĠSi e", + "+ =", + "OL OR", + "Ġ consult", + "Ġcons ult", + "Ġconsul t", + "Ġ signed", + "Ġs igned", + "Ġsign ed", + "Ġsig ned", + "Ġ sequence", + "Ġse quence", + "Ġsequ ence", + "l ee", + "le e", + "Ġ requirements", + "Ġrequire ments", + "Ġrequirement s", + "h y", + "Ex press", + "Exp ress", + "Expr ess", + "M T", + "s ey", + "se y", + "Ġ ult", + "Ġu lt", + "Ġul t", + "å ®", + "ellig ence", + "elli gence", + "Ġ analy", + "Ġan aly", + "Ġanal y", + "Ġana ly", + "Ġ dress", + "Ġd ress", + "Ġdr ess", + "Ġdre ss", + "e ngine", + "eng ine", + "engin e", + "Ġ Great", + "ĠG reat", + "ĠGr eat", + "ĠGre at", + "Ġ Android", + "ĠAnd roid", + "ĠAndr oid", + "Ġ Alex", + "ĠA lex", + "ĠAl ex", + "ĠAle x", + "m ode", + "mod e", + "mo de", + "D ictionary", + ". Date", + ".D ate", + "ä ½", + "V ICE", + "VI CE", + "VIC E", + "Ġf amilies", + "Ġfam ilies", + "Ġfamil ies", + "Ġ Russian", + "ĠR ussian", + "ĠRuss ian", + "ĠRussia n", + "ĠRus sian", + "Ġ Times", + "ĠT imes", + "ĠTime s", + "ĠTim es", + "ĠTi mes", + ". call", + ".c all", + ".ca ll", + ".cal l", + "$ (", + "Pro file", + "Pr ofile", + "Prof ile", + "Ġ folder", + "Ġf older", + "Ġfol der", + "Ġfold er", + "Ġfo lder", + "c hes", + "ch es", + "che s", + "Ġl egis", + "Ġle gis", + "Ġleg is", + "_ row", + "_r ow", + "_ro w", + "u nes", + "un es", + "une s", + "Ù Ħ", + "Ġ }).", + "Ġ} ).", + "Ġ}) .", + "As sert", + "Ass ert", + "a gen", + "ag en", + "age n", + "Ġ Hand", + "ĠH and", + "ĠHa nd", + "ĠHan d", + "I ter", + "It er", + "Ġbig gest", + "o reach", + "or each", + "ore ach", + "orea ch", + "Ġp olic", + "Ġpol ic", + "Ġpo lic", + "Ġ permissions", + "Ġper missions", + "Ġpermission s", + "Ġperm issions", + "Ġsh owed", + "Ġshow ed", + "Ġsho wed", + "Ġ Element", + "ĠE lement", + "ĠEl ement", + "ĠEle ment", + "ĠElem ent", + "Ġ topic", + "Ġt opic", + "Ġto pic", + "Ġtop ic", + "âĢĶ âĢĶ", + "r oad", + "ro ad", + "Ġ Bank", + "ĠB ank", + "ĠBa nk", + "ĠBan k", + "re cord", + "rec ord", + "Ġ partners", + "Ġpart ners", + "Ġpartner s", + "Ġ Ref", + "ĠR ef", + "ĠRe f", + "ess ions", + "ession s", + "Ġas sess", + "Ġass ess", + "Ġasses s", + "U ST", + "US T", + "Ġ Party", + "ĠP arty", + "ĠPart y", + "ĠPar ty", + "p rodu", + "pr odu", + "pro du", + "prod u", + "L C", + "Ġ ul", + "Ġu l", + ". form", + ".f orm", + ".for m", + "h ide", + "hi de", + "hid e", + "c opy", + "co py", + "cop y", + "U TF", + "UT F", + "Ġ SOFTWARE", + "ĠSO FTWARE", + "čĊ čĊčĊ", + "čĊčĊ čĊ", + "Ġ Lin", + "ĠL in", + "ĠLi n", + "u na", + "un a", + "u gar", + "ug ar", + "uga r", + "Ġ administration", + "Ġadmin istration", + "Ġadministr ation", + "Ġ opening", + "Ġop ening", + "Ġopen ing", + "Ġ scan", + "Ġs can", + "Ġsc an", + "Ġsca n", + "Ġ continued", + "Ġcontin ued", + "Ġcontinue d", + "Ġcontinu ed", + "com ponent", + "comp onent", + ". sp", + ".s p", + "Ġhapp ens", + "Ġhappen s", + "um my", + "umm y", + "Ġ PR", + "ĠP R", + ". File", + ".F ile", + "Ġ Download", + "ĠD ownload", + "ĠDown load", + "Lo ading", + "Load ing", + "d i", + "Ġ waiting", + "Ġwait ing", + "Ġwa iting", + "_ ADD", + "_A DD", + "_AD D", + "T ab", + "Ta b", + ". querySelector", + ".query Selector", + "Ġe conomy", + "Ġecon omy", + "Ġeconom y", + "Ġec onomy", + "Ġ French", + "ĠF rench", + "ĠFr ench", + "t xt", + "tx t", + "Ġ fant", + "Ġf ant", + "Ġfa nt", + "Ġfan t", + "_ ;Ċ", + "_; Ċ", + "H older", + "Hold er", + "Ho lder", + "Hol der", + "S H", + "0 04", + "00 4", + "Ġ numpy", + "Ġn umpy", + "Ġnum py", + "Ġ street", + "Ġst reet", + "Ġstre et", + "Ġ male", + "Ġm ale", + "Ġma le", + "Ġmal e", + "\\ Model", + "\\M odel", + "an ging", + "ang ing", + "angi ng", + "3 33", + "33 3", + "Ġ Bill", + "ĠB ill", + "ĠBi ll", + "ĠBil l", + "Ġpre viously", + "Ġprevious ly", + "Ġprev iously", + "B I", + "Ġ Secret", + "ĠS ecret", + "ĠSe cret", + "ĠSec ret", + "Ġ mist", + "Ġm ist", + "Ġmis t", + "Ġmi st", + "Ġ Field", + "ĠF ield", + "ĠFi eld", + "u ps", + "up s", + "Ġ Process", + "ĠP rocess", + "ĠPro cess", + "ĠProc ess", + "Ġ kept", + "Ġk ept", + "Ġke pt", + "Ġkep t", + "Ġ OT", + "ĠO T", + "Ġ traditional", + "Ġtrad itional", + "Ġtradition al", + ". i", + "a min", + "am in", + "ami n", + "Ġh elps", + "Ġhelp s", + "Ġhel ps", + "A ny", + "An y", + "or igin", + "orig in", + "ori gin", + "il ters", + "ilter s", + "ilt ers", + "j u", + "d esc", + "de sc", + "des c", + "Ġ Account", + "ĠA ccount", + "ĠAc count", + "ĠAcc ount", + "Ġ )čĊ", + "Ġ) čĊ", + "k top", + "kt op", + "ol ly", + "oll y", + "Ġ fs", + "Ġf s", + "Ġ ê", + "Ġ ut", + "Ġu t", + "Ġ central", + "Ġc entral", + "Ġcent ral", + "Ġcentr al", + "( test", + "(t est", + "(te st", + ". An", + ".A n", + "Ġs atisf", + "G R", + "Ġ Full", + "ĠF ull", + "ĠFu ll", + "ĠFul l", + "Ġ heat", + "Ġh eat", + "Ġhe at", + "i ber", + "ib er", + "ibe r", + "Ġ onto", + "Ġon to", + "Ġont o", + "m os", + "mo s", + "S chema", + "Sch ema", + "Ġ factory", + "Ġf actory", + "Ġfact ory", + "Ġfactor y", + "Ġfacto ry", + "\" .$", + "\". $", + "a ws", + "aw s", + "St atement", + "State ment", + "Stat ement", + "( target", + "(t arget", + "ĉ new", + "ĉn ew", + ". be", + ".b e", + "Ġ guest", + "Ġg uest", + "Ġgu est", + "Ġ mal", + "Ġm al", + "Ġma l", + "A RY", + "AR Y", + "Ġre ached", + "Ġreach ed", + "Ġ mouse", + "Ġm ouse", + "Ġmo use", + "Ġmou se", + "Ġ challenge", + "Ġch allenge", + "Ġchall enge", + "Ġchalleng e", + "ĉ double", + "ĉd ouble", + "ĉdo uble", + "Ġ Tem", + "ĠT em", + "ĠTe m", + "Ġ terror", + "Ġt error", + "Ġte rror", + "Ġter ror", + "Ġterr or", + "Ġ extract", + "Ġex tract", + "Ġext ract", + "Ġextra ct", + "Ġextr act", + "_ TO", + "_T O", + "Ġse parate", + "Ġsepar ate", + "Ġseparat e", + "Ġ mir", + "Ġm ir", + "Ġmi r", + "h elp", + "he lp", + "hel p", + "Ġ capacity", + "Ġcap acity", + "Ġcapac ity", + "Ġcapacit y", + "Ġ Property", + "ĠP roperty", + "ĠPro perty", + "ĠProp erty", + "ĠProper ty", + "k an", + "ka n", + "_ create", + "_c reate", + "_cre ate", + "Ġ Light", + "ĠL ight", + "ĠLi ght", + "ĠLig ht", + ". parent", + ".p arent", + ".par ent", + ".pa rent", + "Ġunder standing", + "Ġunderstand ing", + "Ġunderst anding", + "Ġe asier", + "Ġeas ier", + "Ġ |=", + "Ġ| =", + "Ġ enh", + "Ġe nh", + "Ġen h", + "Ġ fat", + "Ġf at", + "Ġfa t", + "Ġpro test", + "Ġprot est", + "Ġprote st", + "a mm", + "am m", + "_ AT", + "_A T", + "- of", + "-o f", + "i ls", + "il s", + "Ġ Oh", + "ĠO h", + "Ġ psych", + "Ġps ych", + "Ġpsy ch", + "Ġ $.", + "Ġ$ .", + "i nds", + "in ds", + "ind s", + "Ġ relative", + "Ġrel ative", + "Ġrelativ e", + "Ġrelat ive", + "s hop", + "sh op", + "s hort", + "sh ort", + "Ġ Sand", + "ĠS and", + "ĠSan d", + "ĠSa nd", + "2 10", + "21 0", + "u estion", + "ues tion", + "uest ion", + "Ġf ear", + "Ġfe ar", + "/ ĊĊ", + "/Ċ Ċ", + ". context", + ".con text", + ".cont ext", + "Ġ schools", + "Ġschool s", + "Ġsch ools", + "Ġscho ols", + "Ġ serve", + "Ġs erve", + "Ġse rve", + "Ġser ve", + "Ġserv e", + "z one", + "zo ne", + "zon e", + "_ db", + "_d b", + "Ġmajor ity", + "ex ample", + "exam ple", + "Ġ lang", + "Ġl ang", + "Ġla ng", + "Ġlan g", + "ĉ ĠĠ", + "ĉĠ Ġ", + "Reg ister", + "e ndo", + "en do", + "end o", + "Ġ processing", + "Ġp rocessing", + "Ġprocess ing", + "Ġproces sing", + "_ template", + "_t emplate", + "_temp late", + "_tem plate", + "- user", + "-use r", + "-us er", + "-u ser", + "Ġ eg", + "Ġe g", + "C OM", + "CO M", + "Ġ Blue", + "ĠB lue", + "ĠBl ue", + "ĠBlu e", + "i ro", + "ir o", + "Ġ remote", + "Ġrem ote", + "Ġremot e", + "Ġ IT", + "ĠI T", + "# !/", + "#! /", + "Ġred istrib", + "Ġredis trib", + "1 24", + "12 4", + "r az", + "ra z", + "Ġ Since", + "ĠS ince", + "ĠSi nce", + "ĠSin ce", + "Ġ Tur", + "ĠT ur", + "ĠTu r", + "1 35", + "13 5", + "Back ground", + "= ==", + "== =", + "Ġ reflect", + "Ġref lect", + "Ġrefl ect", + "Ġp ros", + "Ġpro s", + "Ġpr os", + "c md", + "cm d", + "Ġw hom", + "Ġwh om", + "Ġwho m", + "Com pat", + "Comp at", + "Ġ Are", + "ĠA re", + "ĠAr e", + "Id entifier", + "Ident ifier", + "ĠT hom", + "ĠTh om", + "_ port", + "_p ort", + "_po rt", + "_por t", + "g u", + "Ġ monitor", + "Ġm onitor", + "Ġmon itor", + "r m", + "Ġ patient", + "Ġp atient", + "Ġpat ient", + "ver ter", + "vert er", + "verte r", + "Ġ gain", + "Ġg ain", + "Ġga in", + "- ui", + "-u i", + "I nst", + "In st", + "Ins t", + "Ġd ies", + "Ġdi es", + "Ġdie s", + "1 18", + "11 8", + "A rea", + "Ar ea", + "Are a", + "_ filter", + "_f ilter", + "_fil ter", + "_filt er", + "Ġg rat", + "Ġgr at", + "Ġgra t", + "Ġre ality", + "Ġreal ity", + "ord inate", + "ordin ate", + "ol ved", + "olve d", + "olv ed", + "Cont act", + "Conta ct", + "Ġcom pliance", + "Ġcompl iance", + "_ or", + "_o r", + "Ġ Var", + "ĠV ar", + "ĠVa r", + "d l", + "Ġ append", + "Ġapp end", + "Ġap pend", + "Ġappe nd", + "G ER", + "GE R", + "( max", + "(m ax", + ". render", + ".re nder", + ".r ender", + "Ġ dynamic", + "Ġd ynamic", + "Ġdynam ic", + "Ġdyn amic", + "ordin ates", + "ordinate s", + "_ options", + "_option s", + "_o ptions", + "_opt ions", + "_ column", + "_c olumn", + "_col umn", + "Ġb atter", + "Ġbatt er", + "Ġbat ter", + "s pace", + "sp ace", + "spa ce", + "L a", + "Ġ Source", + "ĠS ource", + "ĠSour ce", + "/ bin", + "/b in", + "Ġ dos", + "Ġd os", + "Ġdo s", + "Ġ Board", + "ĠB oard", + "ĠBo ard", + "Ġ Thread", + "ĠT hread", + "ĠTh read", + "ĠThr ead", + "Ġ AL", + "ĠA L", + "( config", + "(con fig", + "(conf ig", + "1 44", + "14 4", + "Ġ Mer", + "ĠM er", + "ĠMe r", + "Ġm iles", + "Ġmil es", + "Ġmi les", + "Ġmile s", + "_ header", + "_head er", + "_he ader", + "ETH OD", + "i zz", + "iz z", + "Ġb enefit", + "Ġbenef it", + "Ġbene fit", + "Ġ integr", + "Ġint egr", + "Ġinteg r", + "Ġinte gr", + "( current", + "(c urrent", + "(cur rent", + "(curr ent", + "u lo", + "ul o", + ". default", + ".d efault", + ".de fault", + ".def ault", + "Ġ Div", + "ĠD iv", + "ĠDi v", + "Ġ ton", + "Ġt on", + "Ġto n", + "o th", + "ot h", + "er vation", + "erv ation", + "erva tion", + "e dom", + "ed om", + "edo m", + "Ġ baby", + "Ġb aby", + "Ġba by", + "Ġbab y", + "ce ived", + "ceive d", + ". top", + ".t op", + ".to p", + "rior ity", + "Ġ Local", + "ĠL ocal", + "ĠLo cal", + "ĠLoc al", + "r iage", + "ri age", + "ria ge", + "Ġ attacks", + "Ġatt acks", + "Ġattack s", + "Ġ hospital", + "Ġh ospital", + "Ġhosp ital", + "1 68", + "16 8", + "Ġ female", + "Ġf emale", + "Ġfe male", + "Ġfem ale", + "Ġ Login", + "ĠLog in", + "ĠLo gin", + "ĠF lor", + "ĠFl or", + "ĠFlo r", + "Ġ chain", + "Ġch ain", + "Ġcha in", + "Ġchai n", + "ash ion", + "ashi on", + "Text ure", + "Tex ture", + "S ave", + "Sa ve", + "Ġ farm", + "Ġf arm", + "Ġfa rm", + "Ġfar m", + ". contains", + ".con tains", + ".cont ains", + ". Test", + ".T est", + ".Te st", + "Ġkn ows", + "Ġknow s", + "Ġgener ally", + "Ġgeneral ly", + "ip eline", + "ipe line", + "ipel ine", + "Ġme ant", + "Ġmean t", + "e ncia", + "en cia", + "enc ia", + "enci a", + "Ġn icht", + "Ġni cht", + "Ġnic ht", + "Ġnich t", + "Ġ contents", + "Ġcont ents", + "Ġcontent s", + "Ġconten ts", + "Ġconte nts", + "P M", + "ched ule", + "( line", + "(l ine", + "(li ne", + "C G", + "j ob", + "jo b", + "Ġ Real", + "ĠRe al", + "u er", + "ue r", + "f irm", + "fi rm", + "fir m", + "Ġ Ø", + "e tro", + "et ro", + "etr o", + "\" `Ċ", + "\"` Ċ", + "Ġ speech", + "Ġs peech", + "Ġspe ech", + "Ġ thr", + "Ġt hr", + "Ġth r", + "f oreach", + "fo reach", + "fore ach", + "for each", + "Ġ warn", + "Ġw arn", + "Ġwar n", + "Ġwa rn", + "ĉ l", + "Ġ heavy", + "Ġhe avy", + "Ġheav y", + "< li", + " )", + "_ char", + "_c har", + "_ch ar", + "re source", + "res ource", + "Ġ episode", + "Ġep isode", + "Ġepis ode", + "Ġ '_", + "Ġ' _", + "Ġ Es", + "ĠE s", + "Ġ Earth", + "ĠE arth", + "ĠEar th", + "Âł Âł", + "UP DATE", + "1 33", + "13 3", + "Ġ Sou", + "ĠS ou", + "ĠSo u", + "u is", + "ui s", + "t ypes", + "type s", + "ty pes", + "typ es", + "Ġ mas", + "Ġm as", + "Ġma s", + "Ġ fav", + "Ġf av", + "Ġfa v", + "Ġ construct", + "Ġcon struct", + "Ġconstr uct", + "_ rate", + "_r ate", + "_ra te", + "_rat e", + "e ras", + "er as", + "era s", + "Ġ |Ċ", + "Ġ| Ċ", + "rop erties", + "Ġ external", + "Ġex ternal", + "Ġext ernal", + "Ġextern al", + "Ġexter nal", + "Ġapp lied", + "Ġap plied", + "Ġappl ied", + "Ġ prefix", + "Ġp refix", + "Ġpre fix", + "Ġpref ix", + "o ted", + "ot ed", + "ote d", + "l ers", + "le rs", + "ler s", + "Ġ cold", + "Ġc old", + "Ġco ld", + "Ġcol d", + "Ġ SP", + "ĠS P", + "Ġ Church", + "ĠCh urch", + "ĠChu rch", + "Ġ Output", + "ĠOut put", + "l osed", + "lo sed", + "lose d", + "los ed", + "ç ļ", + "if icate", + "ific ate", + "ifi cate", + "ifica te", + "o peration", + "op eration", + "ope ration", + "oper ation", + "he rit", + "her it", + "x FF", + "xF F", + ". env", + ".e nv", + ".en v", + "_ err", + "_e rr", + "_er r", + "o sh", + "os h", + "D irection", + "Dir ection", + "Direct ion", + "Di rection", + "Dire ction", + "C ancel", + "Can cel", + "Ġ Frank", + "ĠF rank", + "ĠFr ank", + "ĠFra nk", + "ĠFran k", + "Ġ finding", + "Ġf inding", + "Ġfind ing", + "Ġfin ding", + ". )ĊĊ", + ".) ĊĊ", + ".)Ċ Ċ", + "Ġ router", + "Ġr outer", + "Ġro uter", + "Ġroute r", + "Ġrout er", + "Ġrou ter", + "ãĥ »", + "s es", + "se s", + "Ġ crow", + "Ġc row", + "Ġcr ow", + "Ġcro w", + "= ='", + "== '", + "Ġ sand", + "Ġs and", + "Ġsa nd", + "Ġsan d", + "Ġ rid", + "Ġr id", + "Ġri d", + "i ture", + "it ure", + "itu re", + "itur e", + "Ġ entre", + "Ġen tre", + "Ġent re", + "Ġentr e", + "Ġ observ", + "Ġo bserv", + "Ġob serv", + "Ġobs erv", + "Ġ vac", + "Ġv ac", + "Ġva c", + "ð Ł", + "- T", + "A rt", + "Ar t", + "n ight", + "ni ght", + ". search", + ".s earch", + ".se arch", + "Ġ exchange", + "Ġex change", + "Ġ district", + "Ġd istrict", + "Ġdi strict", + "Ġdistr ict", + ". os", + ".o s", + "Ġ department", + "Ġde partment", + "Ġdep artment", + "Ġdepart ment", + "Ġ documents", + "Ġdocument s", + "Ġdoc uments", + "Ġcent ury", + "Ġ Next", + "ĠN ext", + "ĠNe xt", + "ĠNex t", + "H ost", + "Ho st", + "ĠK IND", + "Ġs usp", + "Ġsu sp", + "Ġsus p", + "- P", + "r end", + "re nd", + "ren d", + ". em", + ".e m", + "u ite", + "ui te", + "uit e", + "i sters", + "is ters", + "ist ers", + "ister s", + "iste rs", + "( json", + "(j son", + "(js on", + "Ġ Ann", + "ĠA nn", + "ĠAn n", + "w t", + "a ti", + "at i", + "Ġ HTML", + "ĠHT ML", + "w hen", + "wh en", + "D irectory", + "Direct ory", + "Director y", + "Ġsh ut", + "< a", + "e dy", + "ed y", + "Ġ healthy", + "Ġhealth y", + "Ġheal thy", + "Ġ temperature", + "Ġt emperature", + "Ġtem perature", + "Ġtemper ature", + "Ġ Gen", + "ĠG en", + "ĠGe n", + "Ġ metal", + "Ġm etal", + "Ġme tal", + "Ġmet al", + "Ġmeta l", + "Ġ submit", + "Ġsub mit", + "Ġ DO", + "ĠD O", + "Ġat tract", + "Ġatt ract", + "Ġattr act", + "Ġ {};Ċ", + "Ġ{ };Ċ", + "Ġ{} ;Ċ", + "Ġ{}; Ċ", + "Ġ Word", + "ĠW ord", + "ĠWo rd", + "ĠWor d", + "Ġ ll", + "Ġl l", + "Ġse emed", + "Ġsee med", + "Ġseem ed", + "k o", + "I ED", + "IE D", + "Ġl abor", + "Ġla bor", + "Ġlab or", + ". Context", + ".Cont ext", + ".Con text", + "Ġ asset", + "Ġas set", + "Ġass et", + "y ou", + "yo u", + "Ġ cars", + "Ġc ars", + "Ġcar s", + "Ġca rs", + "Ġ Column", + "ĠC olumn", + "ĠCol umn", + "ĠColum n", + "Ġ ré", + "Ġr é", + "Ġ square", + "Ġs quare", + "Ġsqu are", + "Ġ NSString", + "ĠNS String", + "ĠNSS tring", + "âĢĿ ,", + "a pes", + "ap es", + "ape s", + ". ..Ċ", + ".. .Ċ", + "... Ċ", + "Ġ thanks", + "Ġth anks", + "Ġthan ks", + "Ġthank s", + "( props", + "(p rops", + "(pro ps", + "(pr ops", + "(prop s", + "Ġ tick", + "Ġt ick", + "Ġti ck", + "Ġtic k", + "Ġ experiment", + "Ġex periment", + "Ġexper iment", + "Ġexperi ment", + "Ġpr ison", + "Ġpri son", + "Ġpris on", + "t ree", + "tr ee", + "tre e", + "- text", + "-t ext", + "-te xt", + "Ġ IOException", + "ĠIO Exception", + "- width", + "-w idth", + "_ STATUS", + "_ST ATUS", + "_STAT US", + "f ast", + "fa st", + "fas t", + "- body", + "-b ody", + "-bo dy", + "- header", + "-head er", + "-he ader", + "Ġg uar", + "Ġgu ar", + "c rete", + "cre te", + "cret e", + "cr ete", + "Ġ Tim", + "ĠT im", + "ĠTi m", + "Ġcl early", + "Ġclear ly", + "Ġ Republican", + "ĠRepublic an", + "Ġ justify", + "Ġjust ify", + "и ÑĤ", + "ĉ ĠĠĠĠ", + "ĉĠĠĠ Ġ", + "ĉĠ ĠĠĠ", + "ĉĠĠ ĠĠ", + "c ache", + "ca che", + "cac he", + "; //", + ";/ /", + "Ġ presence", + "Ġpres ence", + "Ġf actors", + "Ġfact ors", + "Ġfa ctors", + "Ġfac tors", + "Ġfactor s", + "Ġfacto rs", + "Ġ employee", + "Ġe mployee", + "Ġemploy ee", + "] ))", + "]) )", + "M ember", + "Mem ber", + "Ġ selector", + "Ġse lector", + "Ġselect or", + "Ġsel ector", + "Ġsele ctor", + "b or", + "bo r", + "Ġ Mex", + "ĠM ex", + "ĠMe x", + "çļ Ħ", + "u tex", + "ut ex", + "ute x", + "_ tag", + "_t ag", + "_ta g", + "ail ure", + "Ġ Net", + "ĠN et", + "ĠNe t", + "Ġre li", + "Ġr eli", + "Ġrel i", + "E G", + "Ġ fprintf", + "Ġf printf", + "Ġ teen", + "Ġt een", + "Ġte en", + "Ġtee n", + "l oss", + "lo ss", + "los s", + "Ġle aving", + "1 34", + "13 4", + "De legate", + "Ġ beat", + "Ġb eat", + "Ġbe at", + "Ġ minute", + "Ġmin ute", + "Ġminut e", + "sub scribe", + "subs cribe", + "Ġred istribute", + "Ġredistrib ute", + "Ġredis tribute", + "Con stants", + "Constant s", + "Const ants", + "Ġc ancer", + "Ġcan cer", + "Ġcanc er", + "/ {", + "B L", + "Ġ span", + "Ġs pan", + "Ġsp an", + "Ġspa n", + "Ġ Child", + "ĠCh ild", + "ĠChi ld", + "C enter", + "Cent er", + "Ġ earth", + "Ġe arth", + "Ġear th", + "Y S", + "Ġ Level", + "ĠLe vel", + "ĠLev el", + "Ġ sea", + "Ġs ea", + "Ġse a", + ". support", + ".s upport", + ".sup port", + ". inner", + ".in ner", + ". Item", + ".I tem", + ".It em", + "il ling", + "ill ing", + "illi ng", + "illin g", + "Ġ ĠĠĠĊĠĠĠĠĊ", + "ĠĠ ĠĠĊĠĠĠĠĊ", + "ĠĠĠĠ ĊĠĠĠĠĊ", + "ĠĠĠ ĠĊĠĠĠĠĊ", + "ĠĠĠĠĊ ĠĠĠĠĊ", + "Ġ Label", + "ĠL abel", + "ĠLa bel", + "ĠLab el", + "3 20", + "32 0", + "Ġ Est", + "ĠE st", + "ĠEs t", + "( arg", + "(a rg", + "(ar g", + "1 45", + "14 5", + "bo Box", + "ĉ foreach", + "ĉf oreach", + "ĉfor each", + "c os", + "co s", + "F ailed", + "Fail ed", + "Fa iled", + "s wers", + "sw ers", + "swer s", + "E ditor", + "Ed itor", + "Edit or", + "r ont", + "ro nt", + "ron t", + "Ġ MP", + "ĠM P", + "ex pr", + "exp r", + "Ġ Life", + "ĠL ife", + "ĠLi fe", + "ĠLif e", + "Ġ ??", + "Ġ? ?", + "ö r", + "Ġ attend", + "Ġatt end", + "Ġatte nd", + "Ġ Que", + "ĠQ ue", + "ĠQu e", + "Ġ species", + "Ġs pecies", + "Ġsp ecies", + "Ġspec ies", + "Ġspe cies", + "Ġspeci es", + "- D", + "Ġ aus", + "Ġa us", + "Ġau s", + "Str uct", + "Ġadv antage", + "Ġadvant age", + "o ston", + "os ton", + "ost on", + "osto n", + "- block", + "-b lock", + "-bl ock", + "in itial", + "init ial", + "C RE", + "CR E", + "Ġtr uly", + "Ġ compare", + "Ġcom pare", + "Ġcomp are", + "Ġcompar e", + "or ney", + "orn ey", + "orne y", + "Ġ spect", + "Ġs pect", + "Ġsp ect", + "Ġspec t", + "Ġspe ct", + "F ull", + "Fu ll", + "b es", + "be s", + "Ġ visible", + "Ġv isible", + "Ġvis ible", + "Ġ mess", + "Ġm ess", + "Ġme ss", + "Ġmes s", + "st ances", + "stance s", + "sta nces", + "stan ces", + "Ġ cloud", + "Ġc loud", + "Ġcl oud", + "Ġclo ud", + "_ version", + "_v ersion", + "Ġf urn", + "Ġfur n", + "Ġfu rn", + "ic ago", + "ica go", + "L OW", + "LO W", + "Ġ traffic", + "Ġtraff ic", + "Ġtra ffic", + "Ġtraf fic", + "Ġ fol", + "Ġf ol", + "Ġfo l", + "ry pto", + "rypt o", + "Ġ declar", + "Ġde clar", + "Ġdec lar", + "Ġdecl ar", + "Ġ slot", + "Ġs lot", + "Ġsl ot", + "Ġslo t", + "Ġ Ext", + "ĠE xt", + "ĠEx t", + "Ġ England", + "ĠEng land", + "ĠEngl and", + "Ġ Under", + "ĠU nder", + "ĠUn der", + "ĠUnd er", + "Ġ ta", + "Ġt a", + "l etter", + "let ter", + "lette r", + "lett er", + "2 03", + "20 3", + "Ġoff icer", + "Ġoffic er", + "Ġoffice r", + "Ġ Donald", + "ĠD onald", + "ĠDon ald", + "Y es", + "Ye s", + "_ json", + "_j son", + "_js on", + "I TableView", + "IT ableView", + "Ġ USE", + "ĠU SE", + "ĠUS E", + "mploy ee", + "Ġop inion", + "Ġopin ion", + "Ġ Aut", + "ĠA ut", + "ĠAu t", + "b order", + "bor der", + "Ġad vice", + "Ġadv ice", + "Ġautom atically", + "Ġautomatic ally", + "Ġautomat ically", + "is co", + "isc o", + "Ġ mm", + "Ġm m", + ". vis", + ".v is", + "a ml", + "am l", + "Ġ initialize", + "Ġinitial ize", + "Ġ ({", + "Ġ( {", + "Ġ ;ĊĊ", + "Ġ; ĊĊ", + "Ġ;Ċ Ċ", + "Ġ generation", + "Ġg eneration", + "Ġgener ation", + "Ġgen eration", + "Ġgene ration", + "Ġgenera tion", + "Ġ bits", + "Ġb its", + "Ġbit s", + "Ġbi ts", + "cl ipse", + "clip se", + "Ġu nf", + "Ġun f", + "u tors", + "ut ors", + "uto rs", + "utor s", + "p lt", + "pl t", + "Ġ delta", + "Ġd elta", + "Ġdel ta", + "Ġdelt a", + "e stroy", + "est roy", + "estr oy", + "estro y", + "i sis", + "is is", + "isi s", + "< br", + "Ċ", + "'> Ċ", + "a pers", + "ap ers", + "ape rs", + "aper s", + "] (", + "cont inue", + "contin ue", + "s pec", + "sp ec", + "spe c", + "Ġ Road", + "ĠR oad", + "ĠRo ad", + "A SH", + "AS H", + "il iar", + "ili ar", + "ilia r", + "Ġcontin ues", + "Ġcontinue s", + "Ġcontinu es", + "Ġ appoint", + "Ġapp oint", + "Ġap point", + "Ġ #Ċ", + "Ġ# Ċ", + "Ġ Vir", + "ĠV ir", + "ĠVi r", + "Ġ ?>\"", + "Ġ? >\"", + "Ġ?> \"", + "Ġ bin", + "Ġb in", + "Ġbi n", + "} \",", + "}\" ,", + "go ing", + "e ach", + "ea ch", + "B D", + "1 85", + "18 5", + "Ġ Access", + "ĠA ccess", + "ĠAc cess", + "ĠAcc ess", + "D oc", + "Do c", + "Ġ Management", + "ĠMan agement", + "ĠManage ment", + "ĠMana gement", + "B ER", + "BE R", + "as ket", + "ask et", + ". getInstance", + ".get Instance", + ".getIn stance", + "1 29", + "12 9", + "Ġestablish ed", + "s ocket", + "so cket", + "sock et", + "soc ket", + "I NS", + "IN S", + "ĉ virtual", + "ĉv irtual", + "ĉ result", + "ĉres ult", + "RE AD", + "REA D", + "_ height", + "_h eight", + "_he ight", + "1 52", + "15 2", + "Ġ Font", + "ĠF ont", + "ĠFo nt", + "ĠFon t", + "Ġ ();Ċ", + "Ġ( );Ċ", + "Ġ() ;Ċ", + "Ġ(); Ċ", + "_ html", + "_h tml", + "_ht ml", + "Ġ neighbor", + "Ġne ighbor", + "Ġneighb or", + "Ġneigh bor", + "l or", + "lo r", + "Ġ gather", + "Ġg ather", + "Ġga ther", + "Ġ })ĊĊ", + "Ġ} )ĊĊ", + "Ġ})Ċ Ċ", + "Ġ}) ĊĊ", + "Ġ identity", + "Ġid entity", + "Ġide ntity", + "Ġident ity", + "Ġ fab", + "Ġf ab", + "Ġfa b", + "p adding", + "pad ding", + "Ġ Route", + "ĠR oute", + "ĠRo ute", + "ĠRou te", + "ĠRout e", + "Enumer able", + "Enum erable", + "à ´", + "Ġ forced", + "Ġfor ced", + "Ġforce d", + "Ġforc ed", + "/ jquery", + "/j query", + ". ĊĊĊĊĊĊ", + ".ĊĊ ĊĊĊĊ", + ".Ċ ĊĊĊĊĊ", + ".ĊĊĊĊ ĊĊ", + ".ĊĊĊ ĊĊĊ", + ".ĊĊĊĊĊ Ċ", + "res ents", + "resent s", + "rese nts", + "_ left", + "_l eft", + "_le ft", + ". Param", + ".P aram", + ".Par am", + "ĉ throw", + "ĉth row", + "Ġ Ham", + "ĠH am", + "ĠHa m", + "Ġevent ually", + "Ġeventual ly", + "a cer", + "ace r", + "ac er", + "p ub", + "pu b", + "Ġ tra", + "Ġt ra", + "Ġtr a", + "un ique", + "uni que", + "uniq ue", + "d el", + "de l", + "Ġ Florida", + "ĠFl orida", + "ĠFlor ida", + "Ġ Clean", + "ĠC lean", + "ĠCl ean", + "ĠCle an", + "x a", + "Ġ ·", + "Ġ ·", + "Ġ validate", + "Ġvalid ate", + "Ġvalida te", + "Vis ual", + "Ex pression", + "Exp ression", + "Express ion", + "Expr ession", + "_ func", + "_f unc", + "_fun c", + "_fu nc", + "m ember", + "mem ber", + "ĉ h", + "t rl", + "tr l", + "1 36", + "13 6", + "ĉ G", + "nap shot", + "Ġ PropTypes", + "ĠProp Types", + "v in", + "vi n", + "1 53", + "15 3", + "] )ĊĊ", + "]) ĊĊ", + "])Ċ Ċ", + "o wl", + "ow l", + "if ies", + "ifi es", + "ifie s", + "Ġ $('.", + "Ġ$ ('.", + "Ġ$( '.", + "Ġ$(' .", + "Ġ Context", + "ĠCon text", + "ĠCont ext", + "ĠConte xt", + "Ġ Toast", + "ĠTo ast", + ". Key", + ".K ey", + "Ġoff icers", + "Ġoffic ers", + "Ġoffice rs", + "Ġofficer s", + "/ n", + "s n", + "un defined", + "und efined", + "undef ined", + ". items", + ".i tems", + ".item s", + ".it ems", + "ut ow", + "uto w", + "a mage", + "am age", + "ama ge", + "Ġ accounts", + "Ġac counts", + "Ġaccount s", + "o okie", + "ook ie", + "oo kie", + "S ection", + "Se ction", + "Sec tion", + "ic ians", + "ici ans", + "ician s", + "icia ns", + "Ġad vis", + "Ġadv is", + "( is", + "(i s", + "[ :,", + "[: ,", + "Ġ France", + "ĠF rance", + "ĠFr ance", + "ĠFranc e", + "ĠFra nce", + "ĠFran ce", + "F unc", + "Fun c", + "Fu nc", + "ic ious", + "ici ous", + "icio us", + "Ġ tok", + "Ġt ok", + "Ġto k", + "Ch annel", + "Chan nel", + "Ġ AD", + "ĠA D", + "_ NUM", + "_N UM", + "Ġ timeout", + "Ġtime out", + "l emma", + "le mma", + "lem ma", + "r eme", + "re me", + "rem e", + "u j", + ". Al", + ".A l", + "u clear", + "uc lear", + "ucle ar", + "( os", + "(o s", + "( \"<", + "(\" <", + "[ Ċ", + "f etch", + "fet ch", + "Ġ bal", + "Ġb al", + "Ġba l", + "Ġ guid", + "Ġg uid", + "Ġgu id", + "Ġgui d", + "- align", + "-al ign", + "Ġ Write", + "ĠW rite", + "ĠWr ite", + "Ġ Once", + "ĠO nce", + "ĠOn ce", + "ĠOnc e", + "utow ired", + "OD ULE", + "Ġ pitch", + "Ġp itch", + "Ġpit ch", + "C F", + "by tes", + "byte s", + "byt es", + "Ġ Commission", + "ĠCom mission", + "ĠComm ission", + "Ġin cred", + "Ġincre d", + "Ġinc red", + "Ġincr ed", + "P ER", + "PE R", + "_ response", + "_res ponse", + "_resp onse", + "Ġ Los", + "ĠL os", + "ĠLo s", + "p arser", + "par ser", + "parse r", + "pars er", + "Ġ assume", + "Ġas sume", + "Ġass ume", + "Ġassum e", + ". Request", + ".Re quest", + "Ġ Token", + "ĠT oken", + "ĠTo ken", + "ĠTok en", + "_ position", + "_p osition", + "_pos ition", + "Ġ nom", + "Ġn om", + "Ġno m", + "- term", + "-t erm", + "-te rm", + "Ġ remaining", + "Ġrem aining", + "Ġremain ing", + "i ostream", + "io stream", + "Ġ pieces", + "Ġp ieces", + "Ġpie ces", + "Ġpiece s", + "a py", + "ap y", + "Ġ Less", + "ĠL ess", + "ĠLe ss", + "ĠLes s", + "r ange", + "ra nge", + "ran ge", + "rang e", + "um bn", + "umb n", + "p rise", + "pr ise", + "pri se", + "_ option", + "_op tion", + "_o ption", + "_opt ion", + "2 30", + "23 0", + "I mpl", + "Im pl", + "Imp l", + "k wargs", + "kw args", + "Ġbusiness es", + "Al ert", + "Ale rt", + "Ġpart ies", + "Ġpar ties", + "Ġpartie s", + "Ġparti es", + "Ġ Container", + "ĠCont ainer", + "Ġ Private", + "ĠPr ivate", + "ĠPriv ate", + "Ġ Plan", + "ĠP lan", + "ĠPl an", + "ĠPla n", + "Ġ registered", + "Ġregister ed", + "Ġregist ered", + "Ġ jour", + "Ġj our", + "Ġjo ur", + "Ġjou r", + "a cker", + "ack er", + "ac ker", + "е ни", + "ен и", + "/ >", + "c hat", + "ch at", + "cha t", + "s ect", + "se ct", + "sec t", + "Ġ creation", + "Ġc reation", + "Ġcre ation", + "Ġcreat ion", + "Ġcrea tion", + "ol utely", + "olute ly", + "olut ely", + "Ġ instant", + "Ġin stant", + "Ġins tant", + "Ġinst ant", + "Ġ delivery", + "Ġd elivery", + "Ġdel ivery", + "Ġdeliver y", + "i cken", + "ic ken", + "ick en", + "y es", + "ye s", + "1 63", + "16 3", + "Ġ Franc", + "ĠFr anc", + "ĠFra nc", + "ĠFran c", + "b ling", + "bl ing", + "e nda", + "en da", + "end a", + "[ (", + "_ range", + "_r ange", + "_ra nge", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "Ġ schedule", + "Ġs chedule", + "Ġsched ule", + "C onn", + "Con n", + "Co nn", + "Ġ thank", + "Ġth ank", + "Ġthan k", + "Ġtha nk", + "x d", + "Ġ hook", + "Ġh ook", + "Ġho ok", + "Ġ documentation", + "Ġdocument ation", + "Param eters", + "Parameter s", + "H ello", + "Hel lo", + "Hell o", + "v t", + "Ġ articles", + "Ġart icles", + "Ġarticle s", + "Ġartic les", + "Ġ west", + "Ġw est", + "Ġwe st", + "Ġwes t", + "d efined", + "def ined", + "define d", + ". select", + ".s elect", + ".se lect", + ".sel ect", + "ok ens", + "oken s", + "oke ns", + "Ġ VAL", + "ĠV AL", + "ĠVA L", + ". file", + ".f ile", + ".fi le", + ".fil e", + "re set", + "res et", + "rese t", + "Ġ mys", + "Ġm ys", + "Ġmy s", + "Ġ MA", + "ĠM A", + "] ),", + "]) ,", + "Ġ cities", + "Ġc ities", + "Ġcit ies", + "Ġci ties", + "re lated", + "rel ated", + "å Ľ", + "Ġ appeared", + "Ġappe ared", + "Ġappear ed", + "Ġ wid", + "Ġw id", + "Ġwi d", + ". panel", + ".p anel", + ".pa nel", + ".pan el", + "Ġ Ins", + "ĠI ns", + "ĠIn s", + ". entity", + ".e ntity", + ".ent ity", + "Ġde cre", + "Ġdec re", + "Ġ Lou", + "ĠL ou", + "ĠLo u", + "( time", + "(t ime", + "(ti me", + "Ġ Thank", + "ĠTh ank", + "ĠThan k", + ". createElement", + ".create Element", + "Ġ mentioned", + "Ġmention ed", + "Ġment ioned", + "o unce", + "ou nce", + "oun ce", + "ounc e", + "Ġ Try", + "ĠT ry", + "ĠTr y", + "Ġ Wall", + "ĠW all", + "ĠWal l", + "ĠWa ll", + "/ images", + "/image s", + "/im ages", + "Ġ Menu", + "ĠM enu", + "ĠMe nu", + "ĠMen u", + "' čĊ", + "Ġ Er", + "ĠE r", + "Ġc ritic", + "Ġcr itic", + "Ġcrit ic", + "Ġcri tic", + "Ġ Year", + "ĠY ear", + "ĠYe ar", + "( param", + "(p aram", + "(par am", + "(pa ram", + "(para m", + "Ġ flo", + "Ġf lo", + "Ġfl o", + "N N", + "o oter", + "oot er", + "oo ter", + "Ġ ];Ċ", + "Ġ] ;Ċ", + "Ġ]; Ċ", + "Ġ Aff", + "ĠA ff", + "ĠAf f", + "\" github", + "\"g ithub", + "ro oms", + "room s", + "Ġ hyp", + "Ġh yp", + "Ġhy p", + "g lobal", + "glob al", + "Ġ avec", + "Ġa vec", + "Ġav ec", + "Ġave c", + "æľ Ī", + "Ġ completion", + "Ġcom pletion", + "Ġcomp letion", + "Ġcomple tion", + "Ġcomplet ion", + "Ġ cond", + "Ġc ond", + "Ġcon d", + "Ġco nd", + "on ymous", + "onym ous", + "( temp", + "(t emp", + "(te mp", + "Ġ stars", + "Ġst ars", + "Ġstar s", + "Ġsta rs", + "Ġ relevant", + "Ġre levant", + "Ġrele vant", + "Ġrelev ant", + "Ġ covered", + "Ġcover ed", + "Ġcov ered", + "Ġ elim", + "Ġe lim", + "Ġel im", + "_ types", + "_t ypes", + "_type s", + "_typ es", + "_ty pes", + "( bool", + "(b ool", + "Ġ tu", + "Ġt u", + "_ exists", + "_ex ists", + "_exist s", + "Ġ secure", + "Ġs ecure", + "Ġsec ure", + "Ġ stored", + "Ġst ored", + "Ġstore d", + "Ġstor ed", + "Ġsto red", + "] /", + "x F", + "Ġ Controller", + "ĠCont roller", + "ĠControl ler", + "ĠContr oller", + "Ġm igr", + "Ġmi gr", + "Ġmig r", + "M I", + "Ġ Den", + "ĠD en", + "ĠDe n", + "Ġ annual", + "Ġann ual", + "U IL", + "UI L", + "- and", + "-a nd", + "-an d", + "Ġ crime", + "Ġcr ime", + "Ġcri me", + "Ġcrim e", + "b el", + "be l", + "Ġk itchen", + "Ġkit chen", + "@ g", + "_ ph", + "_p h", + "ourn ament", + "Ġ Social", + "ĠS ocial", + "ĠSo cial", + "ĠSoc ial", + "ĠSoci al", + "Ġ Special", + "ĠS pecial", + "ĠSp ecial", + "ĠSpec ial", + "ĠSpe cial", + "lo gger", + "log ger", + "logg er", + "Ġ tail", + "Ġt ail", + "Ġta il", + "Ġtai l", + "Ġ unknown", + "Ġun known", + "Ġunk nown", + "Ġunknow n", + "d ed", + "de d", + "Ġapp rec", + "Ġap prec", + "( db", + "(d b", + "c f", + "1 55", + "15 5", + "Ġ assign", + "Ġas sign", + "Ġass ign", + "- out", + "-o ut", + "Ġ Mont", + "ĠM ont", + "ĠMon t", + "ĠMo nt", + "d p", + "w idget", + "wid get", + "Ġ stone", + "Ġs tone", + "Ġst one", + "Ġsto ne", + "- primary", + "-pr imary", + ". grid", + ".g rid", + ".gr id", + "Res ults", + "Result s", + "a zz", + "az z", + "Ġ daughter", + "Ġda ughter", + "Ġ curr", + "Ġc urr", + "Ġcur r", + "Ġcu rr", + "1 75", + "17 5", + "Ġ lin", + "Ġl in", + "Ġli n", + "Ġ south", + "Ġs outh", + "Ġso uth", + "Ġsou th", + "Ġsout h", + "form s", + "fo rms", + "for ms", + "Ġ OUT", + "ĠO UT", + "ĠOU T", + "l ette", + "le tte", + "let te", + "lett e", + "a ks", + "ak s", + "ig ure", + "igu re", + "Ġ EU", + "ĠE U", + "var iable", + "vari able", + "Ġ brief", + "Ġb rief", + "Ġbr ief", + "Ġbri ef", + "Ġ Scott", + "ĠS cott", + "ĠSc ott", + "ĠScot t", + "ĠSco tt", + "Ġ conference", + "Ġcon ference", + "Ġconf erence", + "Ġconfer ence", + "a nda", + "an da", + "and a", + "_ lock", + "_l ock", + "_lo ck", + "_loc k", + "o ral", + "or al", + "ora l", + "Ġe ine", + "Ġein e", + "Ġei ne", + "O RS", + "OR S", + "//// ////////////////////////////////////////////////////////////", + "//////// ////////////////////////////////////////////////////////", + "//////////////// ////////////////////////////////////////////////", + "//////////////////////////////// ////////////////////////////////", + "//////////// ////////////////////////////////////////////////////", + "//////////////////////////////////////////////// ////////////////", + "//////////////////////////////////////////////////////// ////////", + "//////////////////////////////////////////////////////////// ////", + "//////////////////////////////////////////////////// ////////////", + "es so", + "ess o", + "Ġ ris", + "Ġr is", + "Ġri s", + "Ġ gender", + "Ġg ender", + "Ġge nder", + "Ġgen der", + "es tic", + "est ic", + "esti c", + "L icense", + "Lic ense", + "( out", + "(o ut", + "Ġ ms", + "Ġm s", + "S ee", + "Se e", + "Ġw illing", + "Ġwill ing", + "Ġwil ling", + "a ze", + "az e", + "Ġ sports", + "Ġs ports", + "Ġsp orts", + "Ġsport s", + "Ġspo rts", + "Ġspor ts", + "Ġ yes", + "Ġy es", + "Ġye s", + "l u", + "Ġp urs", + "Ġpur s", + "Ġpu rs", + "/ javascript", + "/j avascript", + "/java script", + "/jav ascript", + "- pro", + "-p ro", + "-pr o", + "nav bar", + "_ product", + "_pro duct", + "_prod uct", + "/ bootstrap", + "/boot strap", + "Ġdr iving", + "Ġdriv ing", + "Ġdri ving", + "Ġ Ä", + "Ġpro pos", + "Ġprop os", + "ul tip", + "ult ip", + "ulti p", + "up lic", + ". email", + ".e mail", + ".em ail", + "Ġ approx", + "Ġapp rox", + "Ġap prox", + "Ġappro x", + "( cl", + "(c l", + "Ġ wear", + "Ġw ear", + "Ġwe ar", + "Ġ reply", + "Ġre ply", + "Ġrep ly", + "Ġrepl y", + "as set", + "ass et", + "asse t", + "Ġ ice", + "Ġi ce", + "Ġic e", + "Ġ tx", + "Ġt x", + "k r", + "Ġ Germany", + "ĠGerman y", + "ĠGer many", + "ĠGerm any", + "Ġ George", + "ĠGe orge", + "ĠGeorg e", + "Ġ cb", + "Ġc b", + "ĉ err", + "ĉe rr", + "M ove", + "Mo ve", + "Mov e", + "Ġ poly", + "Ġp oly", + "Ġpol y", + "Ġpo ly", + "v oice", + "vo ice", + "} \"", + "Ġ animal", + "Ġan imal", + "Ġanim al", + "Ġani mal", + "A v", + "Ġ Location", + "ĠL ocation", + "ĠLo cation", + "ĠLoc ation", + "Ġ native", + "Ġn ative", + "Ġnat ive", + "] [\"", + "][ \"", + "< double", + " \"", + "s tat", + "st at", + "sta t", + "Ġ },čĊ", + "Ġ} ,čĊ", + "Ġ}, čĊ", + "< span", + " =", + "Ð ±", + "1 39", + "13 9", + "i va", + "iv a", + ". AutoSize", + ".Auto Size", + "Ġ Lat", + "ĠL at", + "ĠLa t", + "_ ext", + "_e xt", + "_ex t", + "Initial ize", + ". register", + ".reg ister", + "1 56", + "15 6", + "O PY", + "OP Y", + "Ġ reverse", + "Ġre verse", + "Ġrev erse", + "Ġrevers e", + "Ġrever se", + "_ dis", + "_d is", + "_di s", + "' ][", + "'] [", + "Ġ prompt", + "Ġp rompt", + "Ġprom pt", + "on to", + "ont o", + "Ġ Journal", + "ĠJ ournal", + "ĠJo urnal", + "r outer", + "ro uter", + "rou ter", + "route r", + "Ġ mysqli", + "Ġm ysqli", + "Ġmys qli", + "Ġmysql i", + "# else", + ") \"", + "- xs", + "-x s", + "l ets", + "le ts", + "let s", + "p han", + "ph an", + "pha n", + ". LE", + ".L E", + "1 37", + "13 7", + "W ill", + "Wil l", + "Wi ll", + "Ġaff ord", + "Ġaf ford", + "Ġ skill", + "Ġs kill", + "Ġsk ill", + "Ġski ll", + "- toggle", + "-t oggle", + "N C", + "B ind", + "Bin d", + "Bi nd", + "T S", + "J ust", + "Ju st", + "it eral", + "ite ral", + "iter al", + "Y P", + "ĉ unsigned", + "ĉun signed", + "Ġ wind", + "Ġw ind", + "Ġwin d", + "Ġwi nd", + "1 49", + "14 9", + ") ):Ċ", + ")) :Ċ", + ")): Ċ", + "Ġ warning", + "Ġw arning", + "Ġwar ning", + "Ġwarn ing", + "Ġ Water", + "ĠW ater", + "ĠWat er", + "ĠWa ter", + "Ġ draft", + "Ġd raft", + "Ġdr aft", + "Ġdra ft", + "Ġ cm", + "Ġc m", + "Ġ sam", + "Ġs am", + "Ġsa m", + "Ġ holding", + "Ġh olding", + "Ġhold ing", + "Ġhol ding", + "z ip", + "zi p", + "Ġ Science", + "ĠSc ience", + "ĠSci ence", + "Ġsup posed", + "Ġsuppose d", + "Ġsupp osed", + "G en", + "Ge n", + "Ġ diet", + "Ġd iet", + "Ġdi et", + "Ġdie t", + "< h", + "Ġ Pass", + "ĠP ass", + "ĠPa ss", + "ĠPas s", + "v i", + "Ġh usband", + "Ġhus band", + "� �", + "n ote", + "not e", + "no te", + "Ġ About", + "ĠA bout", + "ĠAb out", + "ĠIn stitute", + "ĠInstit ute", + "ĠInstitut e", + "Ġ climate", + "Ġcl imate", + "Ġclim ate", + "Ġcli mate", + ". Format", + ".Form at", + ".For mat", + "Ġ nut", + "Ġn ut", + "Ġnu t", + "e sted", + "es ted", + "est ed", + "este d", + "Ġapp arent", + "Ġap parent", + "Ġappar ent", + "Ġappare nt", + "Ġ holds", + "Ġh olds", + "Ġhold s", + "Ġho lds", + "Ġhol ds", + "f i", + "n ews", + "ne ws", + "new s", + "C M", + "v ideo", + "vid eo", + "vi deo", + "vide o", + "' :'", + "': '", + "D ITION", + "DI TION", + "p ing", + "pi ng", + "pin g", + "Ġsen ior", + "Ġseni or", + "w a", + "- ->Ċ", + "-- >Ċ", + "--> Ċ", + "_ default", + "_d efault", + "_de fault", + "_def ault", + "Ġ Database", + "ĠD atabase", + "ĠData base", + "ĠDat abase", + "r ep", + "re p", + "E SS", + "ES S", + "n ergy", + "ner gy", + "nerg y", + ". Find", + ".F ind", + "_ mask", + "_m ask", + "_ma sk", + "_mas k", + "Ġ rise", + "Ġr ise", + "Ġris e", + "Ġri se", + "Ġ kernel", + "Ġk ernel", + "Ġker nel", + "Ġkern el", + ": :$", + ":: $", + ". Q", + "Ġoff ering", + "Ġoffer ing", + "de cl", + "dec l", + "Ġ CS", + "ĠC S", + "Ġ listed", + "Ġl isted", + "Ġli sted", + "Ġlist ed", + "Ġliste d", + "Ġlis ted", + "Ġ mostly", + "Ġmost ly", + "e nger", + "en ger", + "eng er", + "enge r", + "Ġ blocks", + "Ġb locks", + "Ġbl ocks", + "Ġblock s", + "Ġblo cks", + "Ġbloc ks", + "o lo", + "ol o", + "Ġgover ning", + "Ġgovern ing", + "\\ F", + "Ġcon cent", + "Ġconc ent", + "Ġconce nt", + ". getText", + ".get Text", + "Ġ mb", + "Ġm b", + "Ġocc urred", + "Ġoccur red", + "Ġ changing", + "Ġch anging", + "Ġchang ing", + "Ġchan ging", + "S cene", + "Sc ene", + "_ CODE", + "_C ODE", + "_CO DE", + "_COD E", + "B eh", + "Be h", + "\" The", + "\"T he", + "Ġ tile", + "Ġt ile", + "Ġti le", + "Ġtil e", + "Ġ Association", + "ĠAssoci ation", + "ĠAssoc iation", + "ĉ P", + "al ty", + "alt y", + "_ ad", + "_a d", + "od ies", + "odi es", + "odie s", + "i ated", + "ia ted", + "iate d", + "iat ed", + "Ġ prepared", + "Ġpre pared", + "Ġprepar ed", + "Ġprepare d", + "Ġprep ared", + "p ossible", + "poss ible", + "Ġ mort", + "Ġm ort", + "Ġmor t", + "Ġmo rt", + "T EST", + "TE ST", + "TES T", + "1 42", + "14 2", + "Ġ ignore", + "Ġi gnore", + "Ġign ore", + "Ġig nore", + "Ġignor e", + "Ġ calc", + "Ġc alc", + "Ġcal c", + "Ġca lc", + "Ġ rs", + "Ġr s", + "Ġ assertEquals", + "Ġassert Equals", + "Ġ sz", + "Ġs z", + "Ġ THIS", + "ĠTH IS", + ". \"Ċ", + ".\" Ċ", + "Ġ canvas", + "Ġc anvas", + "Ġcan vas", + "Ġcanv as", + "j ava", + "ja va", + "jav a", + "Ġd ut", + "Ġdu t", + "VAL ID", + ". sql", + ".s ql", + ". input", + ".in put", + "Ġ aux", + "Ġa ux", + "Ġau x", + "S up", + "Su p", + "Ġ artist", + "Ġart ist", + "V ec", + "Ve c", + "_ TIME", + "_T IME", + "_TIM E", + "_TI ME", + ".string ify", + "et ween", + "Ġ Category", + "ĠC ategory", + "Ġ [-", + "Ġ[ -", + "Ġ DevExpress", + "ĠDev Express", + "Ġ Jul", + "ĠJ ul", + "ĠJu l", + "Ġ ring", + "Ġr ing", + "Ġri ng", + "Ġrin g", + ". ed", + ".e d", + "Y Y", + "L et", + "Le t", + "T extField", + "Text Field", + "Ġ flat", + "Ġf lat", + "Ġfl at", + "Ġfla t", + "_ print", + "_p rint", + "_pr int", + "_pri nt", + "Ġ OTHER", + "ĠOT HER", + "ad ian", + "adi an", + "adia n", + "Ġ checked", + "Ġcheck ed", + "e le", + "el e", + "Al ign", + "Ali gn", + "st anding", + "stand ing", + "stan ding", + "Ġ [],", + "Ġ[ ],", + "Ġ[] ,", + "Ġ lab", + "Ġl ab", + "Ġla b", + "u cky", + "uc ky", + "uck y", + "Ġ Christmas", + "ĠChrist mas", + "( image", + "(i mage", + "(im age", + ". module", + ".m odule", + ".mod ule", + "Ġ lots", + "Ġl ots", + "Ġlo ts", + "Ġlot s", + "Ġs lightly", + "Ġsl ightly", + "Ġslight ly", + "( final", + "(f inal", + "(fin al", + "(fi nal", + "er ge", + "erg e", + "è ¿", + "1 47", + "14 7", + "Ġ Police", + "ĠPol ice", + "ĠPo lice", + "ĠPolic e", + "1 43", + "14 3", + "Ġ Right", + "ĠR ight", + "ĠRig ht", + "ĠRi ght", + "Ġ award", + "Ġa ward", + "Ġaw ard", + "Ġ OS", + "ĠO S", + "Ġ {}ĊĊ", + "Ġ{ }ĊĊ", + "Ġ{} ĊĊ", + "Ġ{}Ċ Ċ", + "Ġ ptr", + "Ġp tr", + "Ġpt r", + "o ves", + "ov es", + "ove s", + "ic ated", + "ica ted", + "icate d", + "е м", + "еР¼", + "Ġ manage", + "Ġman age", + "Ġma nage", + "Ġmana ge", + "ol iday", + "olid ay", + "oli day", + "A mount", + "Am ount", + "ool Strip", + "t body", + "tb ody", + "N av", + "Na v", + "w rap", + "wr ap", + "B B", + "Ġw atching", + "Ġwatch ing", + "Ġwat ching", + "a rios", + "ar ios", + "ari os", + "ario s", + "Ġ optional", + "Ġoption al", + "Ġopt ional", + "_ K", + "Ġ Licensed", + "ĠL icensed", + "ĠLicense d", + "ĠLic ensed", + ". Map", + ".M ap", + ".Ma p", + "T imer", + "Time r", + "Tim er", + "Ti mer", + "Ġ AP", + "ĠA P", + "Ġ Rev", + "ĠR ev", + "ĠRe v", + "( o", + ", c", + "u min", + "um in", + "umi n", + "et ailed", + "etail ed", + "eta iled", + "Ġ Hy", + "ĠH y", + "Ġ blank", + "Ġbl ank", + "Ġbla nk", + "a gger", + "ag ger", + "agg er", + "Ġ Self", + "ĠS elf", + "ĠSe lf", + "ĠSel f", + "( )[", + "() [", + ". make", + ".m ake", + ".ma ke", + "e arn", + "ear n", + "ea rn", + "ch annel", + "chan nel", + "< pre", + "

;Ċ", + ">; Ċ", + "W orld", + "Ġ python", + "Ġp ython", + "Ġpy thon", + "Ġpyt hon", + "Ġ lif", + "Ġl if", + "Ġli f", + "Ġt rav", + "Ġtr av", + "Ġtra v", + "Ġcon ven", + "Ġconv en", + "com pany", + "comp any", + "compan y", + "Ġ Club", + "ĠC lub", + "ĠCl ub", + "1 38", + "13 8", + "V er", + "Ve r", + "B tn", + "Ġ zone", + "Ġz one", + "Ġzo ne", + "product s", + "produ cts", + "Ġ Educ", + "ĠE duc", + "ĠEd uc", + "ĠEdu c", + "Ġ verify", + "Ġver ify", + "Ġveri fy", + "Ġ Mil", + "ĠM il", + "ĠMi l", + "o no", + "on o", + "] );ĊĊ", + "]) ;ĊĊ", + "]);Ċ Ċ", + "]); ĊĊ", + "EN CE", + "ENC E", + "Ġ packet", + "Ġp acket", + "Ġpack et", + "Ġpa cket", + "Ġpac ket", + "Ġ cer", + "Ġc er", + "Ġce r", + "Ġ enumer", + "Ġe numer", + "Ġen umer", + "Ġenum er", + "Ġ pars", + "Ġp ars", + "Ġpar s", + "Ġpa rs", + "form ed", + "for med", + "forme d", + "Ġ occup", + "Ġocc up", + "Ġoc cup", + "t re", + "tr e", + "Ġ exercise", + "Ġex ercise", + "Ġexerc ise", + "D ay", + "Da y", + "_ sum", + "_s um", + "_su m", + "Ġ asking", + "Ġas king", + "Ġask ing", + "a ption", + "ap tion", + "apt ion", + "Ġ orders", + "Ġor ders", + "Ġorder s", + "Ġord ers", + "Ġs pending", + "Ġsp ending", + "Ġspend ing", + "Ġ ERR", + "ĠE RR", + "ĠER R", + ". Dis", + ".D is", + ".Di s", + "Ġ Util", + "ĠU til", + "ĠUt il", + "âĢľ I", + "\\ '", + "? )", + "/ >Ċ", + "/> Ċ", + "Ġe mot", + "Ġem ot", + "Ġemo t", + "Ġin fluence", + "Ġinflu ence", + "Ġ Africa", + "ĠA frica", + "ĠAfr ica", + "ĠAf rica", + "at ters", + "att ers", + "atter s", + "atte rs", + "Ù ħ", + ". session", + ".s ession", + ".sess ion", + "Ġ chief", + "Ġch ief", + "Ġchi ef", + "ĉ ĉĉĉĉĉĉĉĉĉĉ", + "ĉĉ ĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉ ĉĉĉĉĉĉĉ", + "ĉĉĉ ĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉ ĉĉĉĉĉĉ", + "ĉĉĉĉĉĉ ĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉ ĉĉĉ", + "ĉĉĉĉĉĉĉ ĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉ ĉĉ", + "ĉĉĉĉĉĉĉĉĉĉ ĉ", + "Ġ tom", + "Ġt om", + "Ġto m", + "cl uded", + "clude d", + "clud ed", + "s erial", + "se rial", + "ser ial", + "_ handler", + "_h andler", + "_handle r", + "_hand ler", + ". Type", + ".T ype", + "a ped", + "ap ed", + "ape d", + "Ġp olicies", + "Ġpol icies", + "Ġpolic ies", + "- ex", + "-e x", + "- tr", + "-t r", + "bl ank", + "bla nk", + "m erce", + "mer ce", + "merc e", + "Ġ coverage", + "Ġco verage", + "Ġcover age", + "Ġ rc", + "Ġr c", + "_ matrix", + "_m atrix", + "_mat rix", + "_ box", + "_b ox", + "_bo x", + "Ġ charges", + "Ġch arges", + "Ġchar ges", + "Ġcharg es", + "Ġcharge s", + "Ġ Boston", + "ĠB oston", + "ĠBo ston", + "ĠBos ton", + "P e", + "Ġcirc um", + "Ġcir cum", + "Ġ filled", + "Ġf illed", + "Ġfil led", + "Ġfill ed", + "Ġfille d", + "1 48", + "14 8", + "Ġ north", + "Ġn orth", + "Ġnor th", + "icture Box", + "ĉ res", + "ĉr es", + "ĉre s", + "è ®", + "Ġ termin", + "Ġter min", + "Ġterm in", + "Ġ [â̦", + "Ġ[ â̦", + "I RECT", + "IR ECT", + "IRE CT", + "Ġ ber", + "Ġb er", + "Ġbe r", + "Ġ\" ../../", + "Ġ\"../ ../", + "Ġ\".. /../", + "r etch", + "ret ch", + ". code", + ".c ode", + ".co de", + ".cod e", + "_ col", + "_c ol", + "_co l", + "Ġ Government", + "ĠG overnment", + "ĠGovern ment", + "Ġ argv", + "Ġar gv", + "Ġarg v", + "Ġ Lord", + "ĠL ord", + "ĠLo rd", + "ĠLor d", + "a si", + "as i", + "E xec", + "Ex ec", + "ĉ let", + "ĉl et", + "vert is", + "Ġ discussion", + "Ġdisc ussion", + "Ġdiscuss ion", + "en ance", + "ena nce", + "enan ce", + "ou tube", + "out ube", + "outu be", + "type of", + "typ eof", + "Ġs erved", + "Ġser ved", + "Ġserv ed", + "Ġserve d", + "Ġ Put", + "ĠP ut", + "ĠPu t", + "ĉ x", + "Ġ sweet", + "Ġs weet", + "Ġswe et", + "B efore", + "Be fore", + "ate gy", + "ateg y", + ". of", + ".o f", + "Ġ Material", + "ĠM aterial", + "ĠMat erial", + "ĠMate rial", + "ĠMater ial", + "S ort", + "So rt", + "O NT", + "ON T", + "ig ital", + "igit al", + "igi tal", + "W hy", + "Wh y", + "Ġs ust", + "Ġsu st", + "Ġsus t", + "Ġ ç", + "a bet", + "ab et", + "abe t", + "Ġ segment", + "Ġs egment", + "Ġse gment", + "Ġseg ment", + "Ġ [],Ċ", + "Ġ[ ],Ċ", + "Ġ[] ,Ċ", + "Ġ[], Ċ", + "Ġ Muslim", + "ĠM uslim", + "ĠMus lim", + "Ġ findViewById", + "Ġfind ViewById", + "c ut", + "cu t", + "_ TEXT", + "_T EXT", + "_TE XT", + "_TEX T", + "Ġ Mary", + "ĠM ary", + "ĠMar y", + "ĠMa ry", + "Ġl oved", + "Ġlo ved", + "Ġlove d", + "Ġlov ed", + "Ġ lie", + "Ġl ie", + "Ġli e", + "Ġ JO", + "ĠJ O", + "Ġ isset", + "Ġis set", + "Ġiss et", + "m onth", + "mon th", + "mo nth", + "mont h", + "Ġ prime", + "Ġpr ime", + "Ġprim e", + "Ġpri me", + "t i", + "Ġ Carol", + "ĠCar ol", + "ĠCa rol", + "U se", + "Us e", + "1 46", + "14 6", + "Ġ Pop", + "ĠP op", + "ĠPo p", + "Ġ Save", + "ĠS ave", + "ĠSa ve", + "ĠSav e", + "Int erval", + "Inter val", + "ex ecute", + "exec ute", + "d y", + "Ġ Iran", + "ĠI ran", + "ĠIr an", + "_ cont", + "_c ont", + "_con t", + "_co nt", + "ĉ T", + "Ġ phase", + "Ġph ase", + "Ġpha se", + "check box", + "we ek", + "Ġ hide", + "Ġh ide", + "Ġhi de", + "Ġhid e", + "Ġ til", + "Ġt il", + "Ġti l", + "Ġ ju", + "Ġj u", + "C ustom", + "b urg", + "bur g", + "bu rg", + "/ M", + "T ON", + "TO N", + "Ġ quant", + "Ġqu ant", + "Ġq uant", + "Ġqua nt", + "Ġquan t", + "Ġ rub", + "Ġr ub", + "Ġru b", + "ix els", + "ixel s", + "ixe ls", + "Ġ installed", + "Ġinst alled", + "Ġinstall ed", + "Ġinstal led", + "Ġ dump", + "Ġd ump", + "Ġdu mp", + "Ġdum p", + "Ġproper ly", + "( List", + "(L ist", + "Ġdec ide", + "Ġdecid e", + "ap ply", + "app ly", + "appl y", + "H as", + "Ha s", + "Ġ keeping", + "Ġke eping", + "Ġkeep ing", + "Ġcit izens", + "Ġcitiz ens", + "Ġcitizen s", + "Ġ joint", + "Ġj oint", + "Ġjoin t", + "Ġjo int", + "p ool", + "po ol", + "S ocket", + "So cket", + "Sock et", + "_ op", + "_o p", + "Ġ weapon", + "Ġwe apon", + "Ġweap on", + "g nore", + "gn ore", + "Ġ Exec", + "ĠE xec", + "ĠEx ec", + "ot ten", + "ott en", + "otte n", + "Ġ MS", + "ĠM S", + "Ġ (-", + "Ġ( -", + "Ġ Review", + "ĠR eview", + "ĠRe view", + "ĠRev iew", + "Ġ examples", + "Ġex amples", + "Ġexample s", + "Ġexam ples", + "Ġ tight", + "Ġt ight", + "Ġti ght", + "! (", + "D P", + "Ġ MessageBox", + "ĠMessage Box", + "Ġphot ograph", + "Ġphoto graph", + "1 64", + "16 4", + "U RI", + "UR I", + "é t", + "l ow", + "lo w", + "Ġ Grand", + "ĠG rand", + "ĠGr and", + "ĠGran d", + "ĠGra nd", + ".p ersistence", + ".persist ence", + "Ġmain tain", + "Ġmaint ain", + "Ġ nums", + "Ġn ums", + "Ġnum s", + "Ġnu ms", + "Ġ zip", + "Ġz ip", + "Ġzi p", + "i als", + "ial s", + "ia ls", + "Ġ Gets", + "ĠG ets", + "ĠGet s", + "ĠGe ts", + "p eg", + "pe g", + "Ġ Buffer", + "ĠB uffer", + "ĠBuff er", + "ĠBu ffer", + "ĠBuf fer", + "~~ ~~", + "ra structure", + "Ġ PL", + "ĠP L", + "u en", + "ue n", + "ob by", + "obb y", + "size of", + "siz eof", + "Ġ pic", + "Ġp ic", + "Ġpi c", + "Ġ seed", + "Ġs eed", + "Ġse ed", + "Ġsee d", + "Ġex perienced", + "Ġexperience d", + "Ġexperi enced", + "Ġ odd", + "Ġo dd", + "Ġod d", + "Ġ kick", + "Ġk ick", + "Ġki ck", + "Ġ procedure", + "Ġpro cedure", + "Ġproced ure", + "av igator", + "avig ator", + "- on", + "-o n", + ", j", + "Ġ Although", + "ĠAl though", + "Ġ userId", + "Ġuser Id", + "ac cept", + "acc ept", + "B lue", + "Bl ue", + "I Color", + "IC olor", + "l ayer", + "la yer", + "lay er", + "a vailable", + "av ailable", + "avail able", + "Ġ ends", + "Ġe nds", + "Ġen ds", + "Ġend s", + ". table", + ".t able", + ".tab le", + ".ta ble", + "Ġ dataset", + "Ġd ataset", + "Ġdata set", + "Ġdat aset", + "Ġdatas et", + "b us", + "bu s", + "Ġ explain", + "Ġex plain", + "Ġexp lain", + "Ġexpl ain", + "( pro", + "(p ro", + "(pr o", + "ĠCommit tee", + "Ġn oted", + "Ġnot ed", + "Ġno ted", + "Ġnote d", + "] :Ċ", + "]: Ċ", + "D im", + "Di m", + "st dio", + "std io", + "1 54", + "15 4", + ". \",Ċ", + ".\" ,Ċ", + ".\", Ċ", + "_ source", + "_s ource", + "1 81", + "18 1", + "Ġ Week", + "ĠWe ek", + "Ġ Edge", + "ĠE dge", + "ĠEd ge", + "Ġoper ating", + "Ġopera ting", + "Ġ este", + "Ġe ste", + "Ġes te", + "Ġest e", + "i pl", + "ip l", + "3 30", + "33 0", + "ag ination", + "agi nation", + "agina tion", + "Ġpro ceed", + "Ġproc eed", + "Ġ animation", + "Ġan imation", + "Ġanim ation", + ". Models", + ".Model s", + ".Mod els", + ".Mode ls", + "Ġ Watch", + "ĠW atch", + "ĠWat ch", + "i at", + "ia t", + "Ġop pon", + "Ġopp on", + "/ A", + "Re port", + "Rep ort", + "Repo rt", + "Ġ sounds", + "Ġs ounds", + "Ġso unds", + "Ġsound s", + "Ġsou nds", + "_ buf", + "_b uf", + "IE LD", + "IEL D", + "Ġb und", + "Ġbu nd", + "Ġbun d", + "ĉ get", + "ĉg et", + ". pr", + ".p r", + "( tmp", + "(t mp", + "(tm p", + "Ġ kid", + "Ġk id", + "Ġki d", + "> ĊĊĊ", + ">Ċ ĊĊ", + ">ĊĊ Ċ", + "Ġ yang", + "Ġy ang", + "Ġya ng", + "Ġyan g", + "Not Found", + "Ñ Ĩ", + "m ath", + "ma th", + "mat h", + "@ gmail", + "@g mail", + "Ġ LIMIT", + "ĠL IMIT", + "ĠLI MIT", + "red ients", + "redient s", + "redi ents", + "Ġ vent", + "Ġv ent", + "Ġve nt", + "Ġven t", + "av igate", + "avig ate", + "avi gate", + "L ook", + "Lo ok", + "Ġ religious", + "Ġrel igious", + "Ġrelig ious", + "Ġ rand", + "Ġr and", + "Ġran d", + "Ġra nd", + "r io", + "ri o", + "( GL", + "(G L", + "_ ip", + "_i p", + "u an", + "ua n", + "ici ency", + "icie ncy", + "Ġ Change", + "ĠCh ange", + "ĠCha nge", + "ĠChan ge", + "ĠChang e", + "> čĊčĊ", + ">čĊ čĊ", + "Ġ Entity", + "ĠE ntity", + "ĠEnt ity", + "Ġren contre", + "Ġrencont re", + "Ġrencontr e", + "Ġ Ret", + "ĠR et", + "ĠRe t", + "p lan", + "pl an", + "pla n", + "é n", + "BO OL", + "u ries", + "ur ies", + "uri es", + "t rain", + "tr ain", + "tra in", + "Def inition", + "= ===========", + "== ==========", + "==== ========", + "======== ====", + "=== =========", + "=========== =", + "========= ===", + "========== ==", + "====== ======", + "===== =======", + "======= =====", + "z z", + "4 50", + "45 0", + "An imation", + "Anim ation", + "Ġ OK", + "ĠO K", + "_ menu", + "_m enu", + "_me nu", + ". bl", + ".b l", + "_ score", + "_s core", + "_sc ore", + "Ġ acad", + "Ġa cad", + "Ġac ad", + "( System", + "(S ystem", + "Ġ refresh", + "Ġre fresh", + "Ġref resh", + "Ġrefr esh", + "' =>$", + "'=> $", + "'= >$", + ". Graphics", + ".G raphics", + ".Graph ics", + "am ento", + "ament o", + "amen to", + "p id", + "pi d", + "t c", + "Ġ tips", + "Ġt ips", + "Ġti ps", + "Ġtip s", + "Ġ homes", + "Ġh omes", + "Ġhome s", + "Ġhom es", + "Ġho mes", + "Ġ fuel", + "Ġf uel", + "Ġfu el", + "Ġfue l", + "â ĸ", + "_ helper", + "_h elper", + "_help er", + "Ġ ĠčĊ", + "ĠĠ čĊ", + "Ġ Room", + "ĠR oom", + "ĠRo om", + "ĠRoo m", + ". Close", + ".C lose", + ".Cl ose", + "_ attr", + "_at tr", + "_att r", + "Ġ Mount", + "ĠM ount", + "ĠMo unt", + "ĠMou nt", + "Ġ Ev", + "ĠE v", + "ar ser", + "ars er", + "arse r", + "_ top", + "_t op", + "_to p", + "e ah", + "ea h", + "Ġ Delete", + "ĠDe lete", + "ĠDel ete", + "ãĢ į", + "u ke", + "uk e", + "Ġ usage", + "Ġu sage", + "Ġus age", + "Ġusa ge", + "a ria", + "ar ia", + "ari a", + "_ dev", + "_d ev", + "_de v", + "Ġ texture", + "Ġtext ure", + "Ġtex ture", + "Ġtextu re", + "Ġ conversation", + "Ġcon versation", + "Ġconvers ation", + "e per", + "ep er", + "B ean", + "Be an", + "d one", + "do ne", + "don e", + "non atomic", + "Ġ Second", + "ĠSe cond", + "ĠSec ond", + "Ġsh ooting", + "Ġshoot ing", + "Ġsho oting", + "_ pre", + "_p re", + "_pr e", + "Com ponents", + "Component s", + "Comp onents", + "Ġ ]ĊĊ", + "Ġ] ĊĊ", + "Ġ]Ċ Ċ", + "_ _,", + "__ ,", + "st itution", + "stit ution", + ". Char", + ".C har", + ".Ch ar", + "> ();ĊĊ", + ">( );ĊĊ", + ">();Ċ Ċ", + ">() ;ĊĊ", + ">(); ĊĊ", + "Ġpres ented", + "Ġpresent ed", + "Ġpresente d", + "Ġ wa", + "Ġw a", + "o ker", + "ok er", + "oke r", + "- ĊĊ", + "-Ċ Ċ", + "i ner", + "in er", + "ine r", + "Ġbe coming", + "Ġbec oming", + "Ġ incident", + "Ġinc ident", + "Ġincid ent", + "A tt", + "At t", + "1 62", + "16 2", + "Ġreve aled", + "Ġreveal ed", + "f orc", + "fo rc", + "for c", + "Ġ boot", + "Ġb oot", + "Ġbo ot", + "Ġboo t", + ". page", + ".p age", + ".pa ge", + ".pag e", + "En umerator", + "Enumer ator", + "Enum erator", + "1 65", + "16 5", + "_ ->", + "_- >", + "Ph oto", + "Phot o", + "Ġ spring", + "Ġs pring", + "Ġsp ring", + "Ġspr ing", + ". \",", + ".\" ,", + "Ġ Dictionary", + "ĠD ictionary", + "B JECT", + "BJ ECT", + "Ġ locations", + "Ġl ocations", + "Ġloc ations", + "Ġlocation s", + "Ġ samples", + "Ġs amples", + "Ġsample s", + "Ġsam ples", + "Ġsamp les", + "Input Stream", + "Ġ Brown", + "ĠB rown", + "ĠBr own", + "ĠBro wn", + "ĠBrow n", + "Ġ stats", + "Ġst ats", + "Ġstat s", + "Ġsta ts", + "q uality", + "qu ality", + "qual ity", + "Ñ ħ", + "- dis", + "-d is", + "-di s", + "Ġhelp ing", + "Ġhel ping", + "Ġ ped", + "Ġp ed", + "Ġpe d", + "2 24", + "22 4", + "( se", + "(s e", + "Ġ Who", + "ĠW ho", + "ĠWh o", + "a lian", + "al ian", + "ali an", + "alia n", + "in ternal", + "int ernal", + "inter nal", + "intern al", + "Ġ ft", + "Ġf t", + "> ().", + ">( ).", + ">() .", + "- >{", + "-> {", + "Ġ mine", + "Ġm ine", + "Ġmin e", + "Ġmi ne", + "Ġ sector", + "Ġs ector", + "Ġse ctor", + "Ġsec tor", + "Ġsect or", + "Ġ gro", + "Ġg ro", + "Ġgr o", + "Ġopport unities", + "Ġopportun ities", + "Ġ ü", + "Ġà ¼", + "Ġ mp", + "Ġm p", + "Ġalleg ed", + "Ġalle ged", + "Ġallege d", + "Ġdoub t", + "Ġdou bt", + "M ouse", + "Mo use", + "A bout", + "Ab out", + "_ part", + "_p art", + "_par t", + "_pa rt", + "Ġ chair", + "Ġc hair", + "Ġch air", + "Ġcha ir", + "Ġchai r", + "Ġ stopped", + "Ġst opped", + "Ġstop ped", + "Ġsto pped", + "1 61", + "16 1", + "l oop", + "lo op", + "loo p", + "ent ities", + "enti ties", + "Ġ apps", + "Ġa pps", + "Ġapp s", + "Ġap ps", + "ans ion", + "ansi on", + "Ġ mental", + "Ġm ental", + "Ġmen tal", + "Ġment al", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "F R", + "Ġdef end", + "Ġdefe nd", + "c are", + "ca re", + "car e", + "Ġ ideal", + "Ġi deal", + "Ġide al", + "Ġidea l", + "/ api", + "/a pi", + "/ap i", + "ur face", + "urf ace", + "0 11", + "01 1", + "Ġ ele", + "Ġe le", + "Ġel e", + "u lator", + "ul ator", + "ula tor", + "Ġ Rights", + "ĠR ights", + "ĠRight s", + "angu ages", + "anguage s", + "Ġf unds", + "Ġfun ds", + "Ġfund s", + "Ġfu nds", + "Ġ adapt", + "Ġad apt", + "Ġada pt", + "Ġadap t", + "At tributes", + "Attribute s", + "Attrib utes", + "Ġ deploy", + "Ġde ploy", + "Ġdep loy", + "o pts", + "op ts", + "opt s", + "Ġ validation", + "Ġvalid ation", + "Ġvalida tion", + "Ġconcern s", + "u ce", + "uc e", + ". num", + ".n um", + "ul ture", + "ult ure", + "ultur e", + "i la", + "il a", + "Ġ cup", + "Ġc up", + "Ġcu p", + "Ġ pure", + "Ġp ure", + "Ġpur e", + "Ġpu re", + ". Fore", + ".F ore", + ".For e", + "1 83", + "18 3", + "Ġ HashMap", + "ĠHash Map", + ". valueOf", + ".value Of", + "a sm", + "as m", + "M O", + "Ġ cs", + "Ġc s", + "Ġ stores", + "Ġst ores", + "Ġstore s", + "Ġstor es", + "Ġsto res", + "Ġ ************************************************************************", + "Ġ**************************************************************** ********", + "Ġ******************************** ****************************************", + "Ġ******** ****************************************************************", + "Ġ**************** ********************************************************", + "Ġ************************ ************************************************", + "Ġ**************************************** ********************************", + "Ġ******************************************************** ****************", + "Ġ************************************************ ************************", + "Ġ communication", + "Ġcomm unication", + "Ġcommunic ation", + "Ġcommun ication", + "m em", + "me m", + ". EventHandler", + ".Event Handler", + ". Status", + ".S tatus", + ".St atus", + ".Stat us", + "_ right", + "_r ight", + ".set On", + "S heet", + "She et", + "Ġ identify", + "Ġident ify", + "ener ated", + "ene rated", + "enerate d", + "ord ered", + "order ed", + "orde red", + "Ġ \"[", + "Ġ\" [", + "Ġs we", + "Ġsw e", + "Con dition", + "Cond ition", + "Ġ According", + "ĠA ccording", + "ĠAcc ording", + "ĠAccord ing", + "Ġ prepare", + "Ġpre pare", + "Ġprepar e", + "Ġprep are", + "Ġ rob", + "Ġr ob", + "Ġro b", + "P ool", + "Po ol", + "Ġ sport", + "Ġs port", + "Ġsp ort", + "Ġspo rt", + "Ġspor t", + "r v", + "Ġ Router", + "ĠR outer", + "ĠRoute r", + "ĠRo uter", + "ĠRou ter", + "ĠRout er", + "Ġ alternative", + "Ġaltern ative", + "Ġalter native", + "( []", + "([ ]", + "Ġ Chicago", + "ĠCh icago", + "ĠChic ago", + "i pher", + "ip her", + "iph er", + "is che", + "isc he", + "isch e", + "Ġ Director", + "ĠD irector", + "ĠDirect or", + "ĠDir ector", + "ĠDire ctor", + "k l", + "Ġ Wil", + "ĠW il", + "ĠWi l", + "ke ys", + "key s", + "Ġ mysql", + "Ġm ysql", + "Ġmy sql", + "Ġmys ql", + "Ġ welcome", + "Ġw elcome", + "Ġwel come", + "k ing", + "ki ng", + "kin g", + "Ġ Manager", + "ĠM anager", + "ĠMan ager", + "ĠManage r", + "ĠMana ger", + "Ġ caught", + "Ġca ught", + ") }Ċ", + ")} Ċ", + "S core", + "Sc ore", + "_ PR", + "_P R", + "Ġ survey", + "Ġs urvey", + "Ġsur vey", + "Ġsurv ey", + "Ġsurve y", + "h ab", + "ha b", + "He aders", + "Header s", + "Head ers", + "A DER", + "AD ER", + "ADE R", + "Ġ decor", + "Ġde cor", + "Ġdec or", + "Ġdeco r", + "Ġturn s", + "Ġtur ns", + "Ġ radius", + "Ġr adius", + "Ġrad ius", + "Ġradi us", + "er rupt", + "err upt", + "C or", + "Co r", + "Ġ mel", + "Ġm el", + "Ġme l", + "Ġ intr", + "Ġin tr", + "Ġint r", + "( q", + "Ġ AC", + "ĠA C", + "a mos", + "am os", + "amo s", + "M AX", + "MA X", + "Ġ Grid", + "ĠG rid", + "ĠGr id", + "ĠGri d", + "Ġ Jesus", + "ĠJ esus", + "ĠJes us", + "ĠJe sus", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + ". DE", + ".D E", + "Ġ ts", + "Ġt s", + "Ġ linked", + "Ġlink ed", + "Ġlin ked", + "f ree", + "fr ee", + "fre e", + "Ġ Qt", + "ĠQ t", + "Ġ /**čĊ", + "Ġ/ **čĊ", + "Ġ/* *čĊ", + "Ġ/** čĊ", + "Ġf aster", + "Ġfa ster", + "Ġfast er", + "Ġfas ter", + "c tr", + "ct r", + "_ J", + "D T", + ". Check", + ".C heck", + ".Ch eck", + "Ġ combination", + "Ġcomb ination", + "Ġcombin ation", + "Ġint ended", + "Ġintend ed", + "- the", + "-t he", + "-th e", + "- type", + "-t ype", + "1 82", + "18 2", + "e ctors", + "ect ors", + "ec tors", + "ector s", + "a mi", + "am i", + "u ting", + "ut ing", + "uti ng", + "utin g", + "Ġ uma", + "Ġu ma", + "Ġum a", + "X ML", + "XM L", + "U CT", + "UC T", + "A p", + "Ġ Random", + "ĠR andom", + "ĠRand om", + "ĠRan dom", + "Ġ ran", + "Ġr an", + "Ġra n", + ". sort", + ".s ort", + ".so rt", + "Ġ sorted", + "Ġs orted", + "Ġsort ed", + "Ġsor ted", + "Ġsorte d", + ". Un", + ".U n", + "4 01", + "40 1", + "_ PER", + "_P ER", + "_PE R", + "it ory", + "itor y", + "ito ry", + "Ġ priority", + "Ġp riority", + "Ġprior ity", + "Ġpriorit y", + "Ġ Gal", + "ĠG al", + "ĠGa l", + "Ġ Old", + "ĠO ld", + "ĠOl d", + "h ot", + "ho t", + "Ġ Display", + "ĠD isplay", + "ĠDis play", + "ĠDisp lay", + "( sub", + "(s ub", + "_ TH", + "_T H", + "_ Y", + "Ġ Care", + "ĠC are", + "ĠCar e", + "ĠCa re", + "lo ading", + "load ing", + "K ind", + "Kin d", + "Ki nd", + "_ handle", + "_h andle", + "_hand le", + ", ,", + "r ase", + "ra se", + "ras e", + "_ replace", + "_re place", + "_rep lace", + ". addEventListener", + ".add EventListener", + "Ġ RT", + "ĠR T", + "1 72", + "17 2", + "Ġ entered", + "Ġen tered", + "Ġent ered", + "Ġenter ed", + "g ers", + "ge rs", + "ger s", + "Ġ ich", + "Ġi ch", + "Ġic h", + "( start", + "(st art", + "2 05", + "20 5", + "/ app", + "/a pp", + "/ap p", + "Ġbr other", + "Ġbro ther", + "Ġbroth er", + "M emory", + "Mem ory", + "Memo ry", + "Out let", + "Ġ utf", + "Ġu tf", + "Ġut f", + "p rec", + "pr ec", + "pre c", + "Ġ navigation", + "Ġn avigation", + "Ġnav igation", + "Ġnavig ation", + "O RK", + "OR K", + "Ġ dst", + "Ġd st", + "Ġds t", + "D etail", + "De tail", + "Det ail", + "Ġaud ience", + "Ġaudi ence", + "Ġ dur", + "Ġd ur", + "Ġdu r", + "Ġ cluster", + "Ġcl uster", + "un ched", + "unc hed", + "unch ed", + "Ġ ],", + "Ġ] ,", + "Ġcomfort able", + ". values", + ".value s", + ".val ues", + "Ġ Total", + "ĠT otal", + "ĠTo tal", + "ĠTot al", + "Ġ snap", + "Ġs nap", + "Ġsn ap", + "Ġsna p", + "Ġstand ards", + "Ġstandard s", + "Ġper formed", + "Ġperform ed", + "Ġperfor med", + "h and", + "ha nd", + "han d", + "( \"@", + "(\" @", + "å Ń", + "Ġ phil", + "Ġp hil", + "Ġph il", + "Ġphi l", + "i br", + "ib r", + "t rim", + "tr im", + "tri m", + "Ġ forget", + "Ġf orget", + "Ġfor get", + "Ġforg et", + "Ġforge t", + "1 57", + "15 7", + "Ġ doctor", + "Ġdo ctor", + "Ġdoc tor", + ". TextBox", + ".Text Box", + "3 77", + "37 7", + "i cons", + "ic ons", + "icon s", + "ico ns", + ", s", + "Ġ Op", + "ĠO p", + "S m", + "S top", + "St op", + "ĉ List", + "ĉL ist", + "ĉ u", + "Com ment", + "Comm ent", + "_ VERSION", + "_V ERSION", + "_VER SION", + ".X tra", + "P erson", + "Per son", + "Pers on", + "r b", + "L OB", + "LO B", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "Ġ Central", + "ĠC entral", + "ĠCent ral", + "2 70", + "27 0", + "I CK", + "IC K", + "r aq", + "ra q", + "Ġp utting", + "Ġput ting", + "Ġputt ing", + "Ġ md", + "Ġm d", + "Ġ Love", + "ĠL ove", + "ĠLo ve", + "ĠLov e", + "P rogram", + "Pro gram", + "Pr ogram", + "Prog ram", + "B order", + "o or", + "oo r", + "Ġall owing", + "Ġallow ing", + "Ġallo wing", + "a fter", + "af ter", + "aft er", + "Ġ entries", + "Ġen tries", + "Ġent ries", + "Ġentr ies", + "Ġ Maybe", + "ĠM aybe", + "ĠMay be", + "] ).", + "]) .", + "Ġ Short", + "ĠS hort", + "ĠSh ort", + "ĠSho rt", + ") \\", + ". now", + ".n ow", + ".no w", + "f riend", + "Ġ prefer", + "Ġp refer", + "Ġpre fer", + "Ġpref er", + "Ġ GPIO", + "ĠG PIO", + "ĠGP IO", + "ĠGPI O", + "o sis", + "os is", + "osi s", + "Ġ GameObject", + "ĠGame Object", + "Ġ skip", + "Ġs kip", + "Ġsk ip", + "Ġski p", + "Ġ competition", + "Ġcom petition", + "Ġcompet ition", + "Ġcompetit ion", + "_ match", + "_m atch", + "_mat ch", + "l ications", + "lic ations", + "lication s", + "_ CONT", + "_C ONT", + "_CON T", + "_CO NT", + ". groupBox", + ".group Box", + "Ġ als", + "Ġa ls", + "Ġal s", + "6 66", + "66 6", + "\" We", + "\"W e", + "_ eq", + "_e q", + "l an", + "la n", + "_ search", + "_s earch", + "_se arch", + "Ġ Music", + "ĠM usic", + "ĠMus ic", + "ĠMu sic", + "a sis", + "as is", + "asi s", + "Ġ bind", + "Ġb ind", + "Ġbi nd", + "Ġbin d", + "ĠIs land", + "ĠIsl and", + "r um", + "ru m", + "( E", + "Ġ seat", + "Ġs eat", + "Ġse at", + "Ġsea t", + "V ideo", + "Vi deo", + "Ġ ack", + "Ġa ck", + "Ġac k", + "re ek", + "ree k", + "={ ()", + "={( )", + "Ġ rating", + "Ġr ating", + "Ġrat ing", + "Ġra ting", + "Ġ restaurant", + "Ġrest aurant", + "Ġrestaur ant", + "Ġrestau rant", + "4 56", + "45 6", + "D EX", + "DE X", + "( buf", + "(b uf", + "p ping", + "pp ing", + "u ality", + "ual ity", + "uali ty", + "Ġ league", + "Ġle ague", + "1 76", + "17 6", + "Ġ focused", + "Ġf ocused", + "Ġfocus ed", + "Ġfoc used", + "a pon", + "ap on", + "apo n", + "$ data", + "$d ata", + "CL UD", + "CLU D", + "CLUD ING", + "Ġ absolute", + "Ġa bsolute", + "Ġabs olute", + "Ġabsolut e", + "Ġabsol ute", + "( query", + "(qu ery", + "Ġt ells", + "Ġtell s", + "Ġtel ls", + "A ng", + "An g", + "Ġcomm unities", + "Ġcommun ities", + "Ġh onest", + "Ġhon est", + "Ġho nest", + "Ġhone st", + "o king", + "ok ing", + "oki ng", + "okin g", + "Ġa part", + "Ġap art", + "Ġapar t", + "Ġapa rt", + "ar ity", + "ari ty", + "/ $", + "_ module", + "_m odule", + "_mod ule", + "Ġ Enc", + "ĠE nc", + "ĠEn c", + ". an", + ".a n", + ". Config", + ".Con fig", + "C re", + "Cr e", + "Ġsh ock", + "Ġsho ck", + "ĠA rab", + "ĠAr ab", + "ĠAra b", + "I ENT", + "IE NT", + "/ re", + "/r e", + "Ġre trie", + "Ġret rie", + "Ġretr ie", + "yc ler", + "ycle r", + "ycl er", + "i sa", + "is a", + "Ġ Organ", + "ĠO rgan", + "ĠOr gan", + "ĠOrg an", + ". graph", + ".g raph", + ".gr aph", + "Ġ í", + "ĠB AS", + "ĠBA S", + "E num", + "En um", + "Ġ possibly", + "Ġposs ibly", + "ÑĢ Ð°Ð", + "ÑĢа Ð", + "Ġ Japanese", + "ĠJ apanese", + "ĠJapan ese", + "Ġ craft", + "Ġc raft", + "Ġcr aft", + "Ġcra ft", + "Ġ Place", + "ĠP lace", + "ĠPl ace", + "ĠPla ce", + "Ġt alent", + "Ġtal ent", + "Ġtale nt", + "Ġf unding", + "Ġfun ding", + "Ġfund ing", + "Ġ confirmed", + "Ġconf irmed", + "Ġconfirm ed", + "Ġ cycle", + "Ġc ycle", + "Ġcy cle", + "Ġcycl e", + "Ġcyc le", + "/ x", + "G E", + "Ġh earing", + "Ġhe aring", + "Ġhear ing", + "Ġ plants", + "Ġpl ants", + "Ġplan ts", + "Ġplant s", + "Ġpla nts", + "Ġ mouth", + "Ġm outh", + "Ġmo uth", + "Ġmou th", + "p ages", + "page s", + "pa ges", + "pag es", + "o ria", + "or ia", + "ori a", + "Ġ Remove", + "ĠRe move", + "ĠRem ove", + "_ total", + "_t otal", + "_to tal", + "_tot al", + "Ġ od", + "Ġo d", + "oll apse", + "d oor", + "do or", + "Ġb ought", + "Ġbo ught", + "Ġbou ght", + "Ġ addr", + "Ġadd r", + "Ġad dr", + "AR CH", + "ARC H", + "_ dim", + "_d im", + "_di m", + "d den", + "dd en", + "dde n", + "Ġdec ades", + "Ġdecade s", + "Ġdecad es", + "RE QUEST", + "REQ UEST", + "Ġ versions", + "Ġv ersions", + "Ġversion s", + "Ġvers ions", + "f ire", + "fi re", + "fir e", + "0 06", + "00 6", + "Ġ moves", + "Ġm oves", + "Ġmov es", + "Ġmove s", + "Ġmo ves", + "f b", + "Ġ coffee", + "Ġc offee", + "Ġco ffee", + "Ġcoff ee", + "Ġcof fee", + ". connect", + ".con nect", + ".conn ect", + "Ġ Row", + "ĠR ow", + "ĠRo w", + "Ġ schema", + "Ġs chema", + "Ġsch ema", + "Ġschem a", + "Ġsche ma", + "S cope", + "Sc ope", + "- Type", + "-T ype", + "Ġf ighting", + "Ġfight ing", + "Ġre tail", + "Ġr etail", + "Ġret ail", + "Ġ modified", + "Ġmod ified", + "T F", + "F iles", + "File s", + "Fi les", + "Fil es", + "n ie", + "ni e", + "_ command", + "_com mand", + "_comm and", + "s tone", + "st one", + "ston e", + "sto ne", + "Ġ ÑĤ", + "ĠÑ Ĥ", + "_ thread", + "_t hread", + "_th read", + "_thr ead", + "Ġ bond", + "Ġb ond", + "Ġbo nd", + "Ġbon d", + "Ġ Development", + "ĠDe velopment", + "ĠDev elopment", + "ĠDevelop ment", + "Ġ pt", + "Ġp t", + "F ORM", + "FO RM", + "FOR M", + "p let", + "pl et", + "ple t", + "Ġ identified", + "Ġident ified", + "c pp", + "cp p", + "2 06", + "20 6", + "2 25", + "22 5", + "Ġ coding", + "Ġc oding", + "Ġco ding", + "Ġcod ing", + "o ked", + "ok ed", + "oke d", + "Ġ Master", + "ĠM aster", + "ĠMa ster", + "ĠMas ter", + "ĠMast er", + "ID TH", + "Ġres idents", + "Ġresident s", + "Ġresid ents", + "Ġreside nts", + "r edit", + "re dit", + "red it", + "redi t", + "Ġ Photo", + "ĠPh oto", + "ĠPhot o", + "= -", + "u nte", + "un te", + "unt e", + "at eur", + "ate ur", + "1 59", + "15 9", + "_ STATE", + "_ST ATE", + "_STAT E", + "_STA TE", + "Ġ Sing", + "ĠS ing", + "ĠSi ng", + "ĠSin g", + "Ġ sheet", + "Ġs heet", + "Ġshe et", + ". val", + ".v al", + ".va l", + "or se", + "ors e", + "Ġh ers", + "Ġhe rs", + "Ġher s", + "Ġd etermined", + "Ġdetermin ed", + "Ġdetermine d", + "Ġdeterm ined", + "Com mon", + "Comm on", + "Ġ wed", + "Ġw ed", + "Ġwe d", + "_ queue", + "_q ueue", + "_que ue", + "P H", + "Ġ Atl", + "ĠA tl", + "ĠAt l", + "c red", + "cre d", + "cr ed", + "/ LICENSE", + "/L ICENSE", + "Ġ mes", + "Ġm es", + "Ġme s", + "Ġ advanced", + "Ġad vanced", + "Ġadv anced", + "Ġadvance d", + ". java", + ".j ava", + ".jav a", + ". Sh", + ".S h", + "G o", + "k ill", + "ki ll", + "kil l", + "f p", + "_ settings", + "_s ettings", + "_set tings", + "_setting s", + "Ġ pal", + "Ġp al", + "Ġpa l", + "Ġ truck", + "Ġtr uck", + "Ġ combined", + "Ġcomb ined", + "Ġcombine d", + "Ġcombin ed", + "Ġ \"${", + "Ġ\" ${", + "Ġ\"$ {", + "ĠC orpor", + "ĠCor por", + "ĠCorp or", + "Ġ joined", + "Ġj oined", + "Ġjoin ed", + "Ġjo ined", + "Ġ Jose", + "ĠJ ose", + "ĠJo se", + "ĠJos e", + "ĠC up", + "ĠCu p", + "u ns", + "un s", + "est ival", + "esti val", + "le vision", + "lev ision", + "Ġ broken", + "Ġb roken", + "Ġbr oken", + "Ġbro ken", + "Ġbroke n", + "Ġmar riage", + "Ġ Western", + "ĠWest ern", + "ĠWes tern", + "Ġrep resents", + "Ġrepresent s", + "Ġ Title", + "ĠT itle", + "ĠTi tle", + "ĠTit le", + "Ġ ss", + "Ġs s", + ". Ass", + ".A ss", + ".As s", + "ong oose", + "ongo ose", + "i ento", + "ient o", + "ien to", + "< >();Ċ", + "<>( );Ċ", + "<> ();Ċ", + "Ġabs olutely", + "Ġabsolute ly", + "Ġabsolut ely", + "Ġabsol utely", + "Ġ smooth", + "Ġsm ooth", + "Ġsmo oth", + "T ERN", + "TE RN", + "TER N", + "Ġ Unless", + "ĠUn less", + "W ord", + "Wo rd", + "Ġ merge", + "Ġm erge", + "Ġmer ge", + "Ġmerg e", + "i gan", + "ig an", + "iga n", + "Ġ Vol", + "ĠV ol", + "ĠVo l", + "Ġ nn", + "Ġn n", + ". getId", + ".get Id", + "Ġ з", + "ĠÐ ·", + "1 71", + "17 1", + "Ġ sexy", + "Ġse xy", + "Ġsex y", + "Ġse eking", + "Ġsee king", + "Ġseek ing", + "S ingle", + "Si ngle", + "Sin gle", + "Sing le", + ". this", + ".t his", + ".th is", + "1 79", + "17 9", + "Ġ kom", + "Ġk om", + "Ġko m", + "b ound", + "bo und", + "bou nd", + "; \"", + "Ġ fontSize", + "Ġfont Size", + "_ df", + "_d f", + "Ġin jury", + "Ġinj ury", + "( H", + "Ġ issued", + "Ġiss ued", + "Ġissue d", + "Ġissu ed", + "_ END", + "_E ND", + "_EN D", + ": self", + ":s elf", + "0 20", + "02 0", + "Ġ patch", + "Ġp atch", + "Ġpat ch", + "Ġle aves", + "Ġleave s", + "Ġ adopt", + "Ġad opt", + "Ġado pt", + "File Name", + "ãĢ IJ", + "Ġexec utive", + "Ġexecut ive", + "Ġ Byte", + "ĠB yte", + "ĠBy te", + "] ))Ċ", + "]) )Ċ", + "])) Ċ", + "Ġ nu", + "Ġn u", + "o uting", + "ou ting", + "out ing", + "cl uding", + "clud ing", + "- R", + ". options", + ".o ptions", + ".opt ions", + ".option s", + "Ġsub stant", + "Ġsubs tant", + "Ġsubst ant", + "av ax", + "ava x", + "ĠB UT", + "ĠBU T", + "Ġ technical", + "Ġtechn ical", + "Ġtw ice", + "Ġm ás", + "Ġmá s", + "Ġun ivers", + "Ġuni vers", + "y r", + "Ġ drag", + "Ġd rag", + "Ġdr ag", + "Ġdra g", + "Ġ DC", + "ĠD C", + "Ġ sed", + "Ġs ed", + "Ġse d", + "Ġ bot", + "Ġb ot", + "Ġbo t", + "Ġ Pal", + "ĠP al", + "ĠPa l", + "Ġ Hall", + "ĠH all", + "ĠHa ll", + "ĠHal l", + "force ment", + "forc ement", + "Ġa uch", + "Ġau ch", + "Ġauc h", + ". mod", + ".m od", + ".mo d", + "n otation", + "not ation", + "nota tion", + "_ files", + "_f iles", + "_file s", + "_fil es", + ". line", + ".l ine", + ".li ne", + ".lin e", + "_ flag", + "_f lag", + "_fl ag", + "[ name", + "[n ame", + "Ġ resolution", + "Ġre solution", + "Ġres olution", + "Ġb ott", + "Ġbo tt", + "Ġbot t", + "( \"[", + "(\" [", + "e nde", + "en de", + "end e", + "( arr", + "(a rr", + "(ar r", + "F ree", + "Fr ee", + "Fre e", + "( @\"", + "(@ \"", + "Ġ District", + "ĠD istrict", + "ĠDi strict", + "P EC", + "PE C", + ": -", + "P icker", + "Pic ker", + "Pi cker", + "Pick er", + "Ġ Jo", + "ĠJ o", + "Ġ ĠĠĠĠĊ", + "ĠĠ ĠĠĠĊ", + "ĠĠĠĠ ĠĊ", + "ĠĠĠ ĠĠĊ", + "ĠĠĠĠĠ Ċ", + "Ġ River", + "ĠR iver", + "ĠRiv er", + "ĠRi ver", + "_ rows", + "_r ows", + "_row s", + "_ro ws", + "Ġhelp ful", + "Ġmass ive", + "- --Ċ", + "-- -Ċ", + "--- Ċ", + "Ġme asures", + "Ġmeasure s", + "Ġmeas ures", + "0 07", + "00 7", + "Ġ Runtime", + "ĠR untime", + "ĠRun time", + "Ġw orry", + "Ġwor ry", + "Ġ Spec", + "ĠS pec", + "ĠSp ec", + "ĠSpe c", + "ĉ D", + "ãĢ ij", + "Ġ ){Ċ", + "Ġ) {Ċ", + "Ġ){ Ċ", + "Ġw orse", + "Ġwor se", + "Ġwors e", + "( filename", + "(f ilename", + "(file name", + "(fi lename", + "(fil ename", + "Ġ lay", + "Ġl ay", + "Ġla y", + "Ġ magic", + "Ġm agic", + "Ġmag ic", + "Ġ Their", + "ĠThe ir", + "o ul", + "ou l", + "st roy", + "str oy", + "stro y", + "Ġ Where", + "ĠW here", + "ĠWh ere", + "ĠWhe re", + "2 80", + "28 0", + "Ġs udden", + "Ġsu dden", + "Ġsud den", + "Ġd efe", + "Ġde fe", + "Ġdef e", + "Ġ binding", + "Ġb inding", + "Ġbin ding", + "Ġbind ing", + "Ġ flight", + "Ġf light", + "Ġfl ight", + "Ġ OnInit", + "ĠOn Init", + "Ġ Women", + "ĠW omen", + "ĠWo men", + "Ġ Policy", + "ĠP olicy", + "ĠPol icy", + "ĠPolic y", + "Ġdr ugs", + "Ġdrug s", + "Ġdru gs", + "ish ing", + "ishi ng", + "(' ../", + "('. ./", + "Ġ Mel", + "ĠM el", + "ĠMe l", + "p eat", + "pe at", + "t or", + "to r", + "Ġpro posed", + "Ġprop osed", + "Ġpropos ed", + "Ġpropose d", + "Ġst ated", + "Ġstate d", + "Ġstat ed", + "Ġsta ted", + "_ RES", + "_RE S", + "_R ES", + "Ġ east", + "Ġe ast", + "Ġeas t", + "Ġea st", + "2 12", + "21 2", + "Ġ CONDITION", + "ĠCON DITION", + "_ desc", + "_d esc", + "_de sc", + "_des c", + "Ġw inning", + "Ġwin ning", + "f olio", + "fo lio", + "fol io", + "M apper", + "Map per", + "Ma pper", + "Ġ Pan", + "ĠP an", + "ĠPa n", + "ĠA nge", + "ĠAn ge", + "ĠAng e", + ".s ervlet", + ".serv let", + "Ġ copies", + "Ġc opies", + "Ġco pies", + "Ġcop ies", + "L M", + "Ġ vm", + "Ġv m", + "å į", + "Ġ dictionary", + "Ġd ictionary", + "S eg", + "Se g", + "1 77", + "17 7", + "e lines", + "el ines", + "eline s", + "eli nes", + "elin es", + "Ġ Send", + "ĠS end", + "ĠSe nd", + "ĠSen d", + "Ġ iron", + "Ġi ron", + "Ġir on", + "Ġ Fort", + "ĠF ort", + "ĠFor t", + "ĠFo rt", + "1 66", + "16 6", + ". domain", + ".d omain", + ".do main", + ".dom ain", + "Ġde bate", + "Ġdeb ate", + "Not Null", + "e q", + "a cher", + "ac her", + "ach er", + "ache r", + "l f", + "ĉ fmt", + "ĉf mt", + "Ġl awy", + "Ġla wy", + "Ġlaw y", + "1 78", + "17 8", + "Ä Ł", + "Ġ Men", + "ĠM en", + "ĠMe n", + "Ġ trim", + "Ġt rim", + "Ġtr im", + "Ġtri m", + "( NULL", + "(N ULL", + "Ġ !!", + "Ġ! !", + "Ġ pad", + "Ġp ad", + "Ġpa d", + "Ġfollow s", + "Ġfoll ows", + "\" ][\"", + "\"] [\"", + "\"][ \"", + "r equ", + "re qu", + "req u", + "Ġ Ep", + "ĠE p", + ". github", + ".g ithub", + ".git hub", + "( img", + "(i mg", + "(im g", + "e to", + "et o", + "( '\\", + "(' \\", + "S ervices", + "Service s", + "Serv ices", + "umbn ail", + "_ main", + "_m ain", + "_ma in", + "p leted", + "pl eted", + "ple ted", + "plete d", + "plet ed", + "fort unately", + "fortunate ly", + "Ġ windows", + "Ġw indows", + "Ġwindow s", + "Ġwind ows", + "Ġ plane", + "Ġp lane", + "Ġpl ane", + "Ġplan e", + "Ġpla ne", + "Ġ Connection", + "ĠCon nection", + "ĠConnect ion", + "ĠConn ection", + ". local", + ".l ocal", + ".loc al", + ".lo cal", + "u ard", + "ua rd", + "uar d", + "} \\", + "= =\"", + "== \"", + "a ndon", + "an don", + "and on", + "ando n", + "Ġ Roy", + "ĠR oy", + "ĠRo y", + "w est", + "we st", + "1 58", + "15 8", + "ig inal", + "igin al", + "igi nal", + "em ies", + "emi es", + "emie s", + "i tz", + "it z", + "' ):Ċ", + "') :Ċ", + "'): Ċ", + "Ġ Peter", + "ĠP eter", + "ĠPe ter", + "ĠPet er", + "ĠPete r", + "Ġt ough", + "Ġto ugh", + "Ġtou gh", + "Ġre duced", + "Ġred uced", + "Ġredu ced", + "Ġreduce d", + "Ġ calculate", + "Ġc alculate", + "Ġcal culate", + "Ġcalcul ate", + "Ġcalc ulate", + "Ġ rapid", + "Ġr apid", + "Ġrap id", + "Ġra pid", + "c ustomer", + "custom er", + "cust omer", + "Ġ efficient", + "Ġeff icient", + "Ġeffic ient", + "Ġ medium", + "Ġm edium", + "Ġmed ium", + "Ġmedi um", + "Ġ fell", + "Ġf ell", + "Ġfe ll", + "Ġfel l", + ". ref", + ".re f", + ".r ef", + "Ġ Cas", + "ĠC as", + "ĠCa s", + "Ġ feedback", + "Ġfe edback", + "Ġfeed back", + "S peed", + "Sp eed", + "Spe ed", + "( output", + "(out put", + "a je", + "aj e", + "Ġ categories", + "Ġc ategories", + "Ġcategor ies", + "Ġcategorie s", + "Ġ fee", + "Ġf ee", + "Ġfe e", + "} ;", + "Ġ deleted", + "Ġde leted", + "Ġdel eted", + "Ġdelete d", + "Ġdelet ed", + "Ġdele ted", + "r eh", + "re h", + "Ġ proof", + "Ġp roof", + "Ġpro of", + "D esc", + "De sc", + "Des c", + "B uild", + "Bu ild", + "Ġs ides", + "Ġside s", + "Ġsi des", + "Ġsid es", + ". ArrayList", + ".Array List", + "- %", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "Ø ±", + ". match", + ".m atch", + ".mat ch", + "л и", + "Ġfe els", + "Ġfeel s", + "Ġfee ls", + "Ġachie ve", + "Ġach ieve", + "Ġc lim", + "Ġcl im", + "Ġcli m", + "_ ON", + "_O N", + "Ġ CD", + "ĠC D", + "Ġ teacher", + "Ġt eacher", + "Ġte acher", + "Ġteach er", + "Ġtea cher", + "_ current", + "_c urrent", + "_cur rent", + "_curr ent", + "b n", + "_ PL", + "_P L", + "is ting", + "ist ing", + "isti ng", + "E nable", + "En able", + "G EN", + "GE N", + "Ġ tv", + "Ġt v", + "Ġ sock", + "Ġs ock", + "Ġso ck", + "Ġsoc k", + "Ġ plays", + "Ġp lays", + "Ġpl ays", + "Ġplay s", + "Ġpla ys", + "Ġ discount", + "Ġdis count", + "Ġdisc ount", + "Ġdisco unt", + "Ġ KE", + "ĠK E", + "Ġ Debug", + "ĠDe bug", + "ĠDeb ug", + "F ore", + "For e", + "Fo re", + "Ġ Iraq", + "ĠI raq", + "ĠIr aq", + "Ġ appearance", + "Ġap pearance", + "Ġappear ance", + "M on", + "Mo n", + "Ġ styled", + "Ġst yled", + "Ġstyle d", + "Ġsty led", + "Ġstyl ed", + "Ġ Human", + "ĠH uman", + "ĠHum an", + "ĠHu man", + "i ot", + "io t", + "Ġ History", + "ĠH istory", + "ĠHi story", + "ĠHistor y", + "ĠHist ory", + "Ġs ac", + "Ġsa c", + "Ġ Collection", + "ĠC ollection", + "ĠCol lection", + "ĠColl ection", + "ĠCollect ion", + "Ġ recommended", + "Ġre commended", + "Ġrecomm ended", + "Ġrecommend ed", + ". Selected", + ".Se lected", + ".Select ed", + "Ġ organizations", + "Ġorgan izations", + "Ġorganization s", + "Ġorganiz ations", + "Ġdis covered", + "Ġdiscover ed", + "co hol", + "coh ol", + "a das", + "ad as", + "ada s", + "Ġ Thomas", + "ĠTh omas", + "ĠThom as", + "M ay", + "Ma y", + "Ġcon serv", + "Ġcons erv", + "Ġconse rv", + "Ġd omin", + "Ġdo min", + "Ġdom in", + "Ġ Follow", + "ĠF ollow", + "ĠFol low", + "Ġ Section", + "ĠS ection", + "ĠSe ction", + "ĠSec tion", + "ĠSect ion", + "Ġ Thanks", + "ĠTh anks", + "ĠThank s", + "ĠThan ks", + "User name", + "Ġ recipe", + "Ġrec ipe", + "Ġrecip e", + "Ġwonder ful", + ". sleep", + ".s leep", + "_ if", + "_i f", + "ĉ ĊĉĊ", + "ĉĊ ĉĊ", + "or no", + "orn o", + "Ġ ru", + "Ġr u", + "_ target", + "_t arget", + "_tar get", + ". \"\"", + ".\" \"", + "à ¦", + "Event Args", + "Ġ inputs", + "Ġin puts", + "Ġinput s", + "Ġinp uts", + "Ġf if", + "Ġfi f", + "Ġ vision", + "Ġv ision", + "Ġvis ion", + "c y", + "Ġ Series", + "ĠS eries", + "ĠSe ries", + "ĠSer ies", + "ĠSerie s", + ") (((", + ")( ((", + ")(( (", + "Ġtr ading", + "Ġtrad ing", + "Ġtra ding", + "Ġtradi ng", + "Ġ marker", + "Ġm arker", + "Ġmark er", + "Ġmar ker", + "B egin", + "Be gin", + "Ġ typically", + "Ġtyp ically", + "Ġtypical ly", + "Ġc auses", + "Ġca uses", + "Ġcause s", + "Ġcaus es", + "d ropdown", + "drop down", + "_ DEBUG", + "_DE BUG", + "2 60", + "26 0", + "Ġ detect", + "Ġd etect", + "Ġdet ect", + "c ountry", + "count ry", + "! \");Ċ", + "!\" );Ċ", + "!\"); Ċ", + "!\") ;Ċ", + "ĉ R", + "a ppy", + "ap py", + "app y", + "Ġc ref", + "Ġcr ef", + "Ġcre f", + "( '<", + "(' <", + "\" =>", + "Ġ LE", + "ĠL E", + "re ader", + "read er", + "rea der", + "Ġ administr", + "Ġadmin istr", + "à µ", + "u cket", + "uc ket", + "uck et", + "Ġf ashion", + ". char", + ".c har", + ".ch ar", + "i zar", + "iz ar", + "iza r", + "Ġ disable", + "Ġd isable", + "Ġdis able", + "Ġs uc", + "Ġsu c", + "Ġ Live", + "ĠL ive", + "ĠLi ve", + "ĠLiv e", + "i ssue", + "iss ue", + "Ġ metadata", + "Ġm etadata", + "Ġmet adata", + "Ġmeta data", + "f lags", + "fl ags", + "flag s", + "Ġ ðŁ", + "Ġð Ł", + "Ġ committed", + "Ġcom mitted", + "Ġcomm itted", + "Ġcommit ted", + "Ġ va", + "Ġv a", + "Ġ rough", + "Ġr ough", + "Ġro ugh", + "Ġrou gh", + "Ġ '''Ċ", + "Ġ' ''Ċ", + "Ġ'' 'Ċ", + "Ġ''' Ċ", + "Ġ highlight", + "Ġhigh light", + "_ vars", + "_v ars", + "_var s", + "_va rs", + "V O", + "Ġ encoding", + "Ġen coding", + "Ġenc oding", + "- Z", + "_ sign", + "_s ign", + "_sig n", + "_si gn", + "$ (\"#", + "$( \"#", + "$(\" #", + "Ġ rain", + "Ġr ain", + "Ġra in", + "re atest", + "reate st", + "reat est", + "rea test", + "Ġ END", + "ĠE ND", + "ĠEN D", + "S election", + "Se lection", + "Select ion", + "Sel ection", + "Sele ction", + "Ġ candidates", + "Ġc andidates", + "Ġcandid ates", + "Ġcandidate s", + "Ġ sav", + "Ġs av", + "Ġsa v", + ". Empty", + "Ġdec isions", + "Ġdecision s", + "Ġdecis ions", + "Ġcoll abor", + "r idge", + "ri dge", + "rid ge", + "f eed", + "fe ed", + "fee d", + "r ession", + "ress ion", + "Ġ persons", + "Ġper sons", + "Ġperson s", + "Ġpers ons", + "Ġperso ns", + "V M", + "0 08", + "00 8", + "e ga", + "eg a", + "_ BIT", + "_B IT", + "A ccording", + "Acc ording", + "ack ed", + "ac ked", + "Ġdoll ars", + "Ġdollar s", + "_ loss", + "_l oss", + "_lo ss", + "Ġ Cost", + "ĠC ost", + "ĠCo st", + "ĠCos t", + "} \"Ċ", + "}\" Ċ", + "Not ification", + "Ġpro stit", + "Ġpros tit", + "Ġprost it", + "Ġ authority", + "Ġauthor ity", + ". rec", + ".re c", + ".r ec", + "Ġsp okes", + "Ġspoke s", + "Ġspo kes", + "Ġ Today", + "ĠT oday", + "ĠTo day", + "ĠTod ay", + "i stant", + "is tant", + "ist ant", + "istan t", + "ista nt", + "Ġ Head", + "ĠH ead", + "ĠHe ad", + "âĢĿ .", + "er tainment", + "ert ainment", + "ertain ment", + "c ean", + "ce an", + "cea n", + "c ulate", + "cul ate", + "cu late", + "Ġ ven", + "Ġv en", + "Ġve n", + "How ever", + "_ arr", + "_a rr", + "_ar r", + "Ġ tokens", + "Ġt okens", + "Ġtoken s", + "Ġtok ens", + "G raph", + "Gr aph", + "Ġ Jud", + "ĠJ ud", + "ĠJu d", + "Ġ Virgin", + "ĠVir gin", + "Ġ Serial", + "ĠS erial", + "ĠSe rial", + "ĠSer ial", + "un ning", + "unn ing", + "M utable", + "Mu table", + "Mut able", + "a gers", + "ag ers", + "age rs", + "ager s", + ". csv", + ".c sv", + ".cs v", + "Ġdevelop ing", + "Ġdevel oping", + "Ġ instructions", + "Ġin structions", + "Ġinstruction s", + "Ġinstr uctions", + "Ġinstruct ions", + "Ġ promise", + "Ġp romise", + "Ġpro mise", + "Ġprom ise", + "Ġ requested", + "Ġrequest ed", + "Ġrequ ested", + "_ encode", + "_en code", + "_enc ode", + "/ \"", + "Ġ Icon", + "ĠI con", + "u ilt", + "ui lt", + "uil t", + "- day", + "-d ay", + "-da y", + "Ġ intelligence", + "Ġint elligence", + "Ġintellig ence", + ". IS", + ".I S", + "Ġ Observable", + "ĠO bservable", + "ĠObserv able", + "Ġ Hard", + "ĠH ard", + "ĠHar d", + "ĠHa rd", + "B ool", + "Bo ol", + "2 11", + "21 1", + "id ential", + "ident ial", + ". Anchor", + ".An chor", + "Ġ selling", + "Ġs elling", + "Ġsell ing", + "Ġsel ling", + "C I", + "A GES", + "AG ES", + "AGE S", + "t le", + "tl e", + "b ur", + "bu r", + "UFF ER", + "UF FER", + "R Y", + "Ġb igger", + "Ġbig ger", + "Ġbi gger", + "Ġ rat", + "Ġr at", + "Ġra t", + "Ġf amous", + "Ġfam ous", + "Ġ typename", + "Ġtype name", + "Ġtyp ename", + "Ġ explained", + "Ġexpl ained", + "Ġexplain ed", + "} }Ċ", + "}} Ċ", + "Ġn uclear", + "Ġnu clear", + "Ġnucle ar", + "- N", + "Ġcr isis", + "Ġcri sis", + "Ġcris is", + "Ġ Enter", + "ĠEn ter", + "ĠEnt er", + "Ġ answers", + "Ġan swers", + "Ġanswer s", + "Ġans wers", + "/ ${", + "/$ {", + "/ pl", + "/p l", + "Ġ sequ", + "Ġs equ", + "Ġse qu", + "Ġseq u", + "_ next", + "_n ext", + "_ne xt", + "m ask", + "ma sk", + "mas k", + "Ġ standing", + "Ġst anding", + "Ġstand ing", + "Ġstan ding", + "Ġpl enty", + "Ġple nty", + "Ġ Cross", + "ĠC ross", + "ĠCr oss", + "ĠCro ss", + "ĠCros s", + "ĉ ret", + "ĉr et", + "ĉre t", + "d ro", + "dr o", + "Ġ Cast", + "ĠC ast", + "ĠCas t", + "ĠCa st", + "1 67", + "16 7", + "= true", + "Ġ Chris", + "ĠCh ris", + "ĠChr is", + "i cio", + "ic io", + "ici o", + "Ġ Mike", + "ĠM ike", + "ĠMi ke", + "ĠMik e", + "D ecimal", + "De cimal", + "Dec imal", + "add Component", + "L en", + "Le n", + "Ġ cock", + "Ġc ock", + "Ġco ck", + "Ġcoc k", + "Ġ #{", + "Ġ# {", + "U RN", + "UR N", + "< tr", + "", + "\\\" >", + "Ġ *=", + "Ġ* =", + "Ġ PS", + "ĠP S", + "Ġdanger ous", + "[ p", + "O ME", + "OM E", + "O ther", + "Ot her", + "Ġ StringBuilder", + "ĠString Builder", + "P oints", + "Point s", + "Po ints", + "he ading", + "head ing", + "hea ding", + "Ġ currency", + "Ġc urrency", + "Ġcurr ency", + "Ġ percentage", + "Ġper centage", + "Ġpercent age", + "_ API", + "_A PI", + "_AP I", + "Ġ classic", + "Ġclass ic", + "Ġcl assic", + "Ġclas sic", + "t head", + "th ead", + "the ad", + "Ġ MO", + "ĠM O", + "F E", + "I dx", + "Id x", + "a wait", + "aw ait", + "awa it", + "awai t", + "Ġ è", + "Ġà ¨", + "Ġacc ident", + "Ġ variant", + "Ġv ariant", + "Ġvar iant", + "Ġvari ant", + "Ġm yst", + "Ġmy st", + "Ġmys t", + "Ġ Land", + "ĠL and", + "ĠLa nd", + "ĠLan d", + "Ġ Bre", + "ĠB re", + "ĠBr e", + "Ġh arm", + "Ġhar m", + "Ġha rm", + "Ġ Acc", + "ĠA cc", + "ĠAc c", + "Ġ charged", + "Ġch arged", + "Ġchar ged", + "Ġcharg ed", + "Ġcharge d", + "i ones", + "ion es", + "io nes", + "ione s", + "Vis ibility", + "ar ry", + "arr y", + "Ġ Language", + "ĠL anguage", + "Ġ walking", + "Ġw alking", + "Ġwalk ing", + "Ġwal king", + "\" .ĊĊ", + "\". ĊĊ", + "\".Ċ Ċ", + "i fer", + "if er", + "ife r", + "Ġleaders hip", + "Ġleader ship", + ". From", + ".F rom", + "y nam", + "yn am", + "yna m", + "Ġ timestamp", + "Ġt imestamp", + "Ġtime stamp", + "i pt", + "ip t", + "Ġ Has", + "ĠH as", + "ĠHa s", + "RE FER", + "REF ER", + "Ġ Its", + "ĠI ts", + "ĠIt s", + "Ġ listener", + "Ġlist ener", + "Ġlisten er", + "Ġliste ner", + "Ġlis tener", + "U TE", + "UT E", + "2 13", + "21 3", + "_ description", + "_d escription", + "_de scription", + "_des cription", + "Ġex periences", + "Ġexper iences", + "Ġexperience s", + "Ġexperi ences", + "Ġ creates", + "Ġcreate s", + "Ġcre ates", + "Ġcreat es", + "Ġcrea tes", + "R S", + "c art", + "ca rt", + "car t", + "b lack", + "bl ack", + "bla ck", + "Ġ choices", + "Ġcho ices", + "Ġchoice s", + "w ar", + "wa r", + "7 50", + "75 0", + "Ġ '''", + "Ġ' ''", + "Ġ'' '", + "Ġ ordered", + "Ġorder ed", + "Ġord ered", + "Ġeven ing", + "Ġev ening", + "Ġeve ning", + "Ġp il", + "Ġpi l", + "Ġt un", + "Ġtu n", + "Ġ Bad", + "ĠB ad", + "ĠBa d", + "( app", + "(a pp", + "(ap p", + "r andom", + "ran dom", + "rand om", + "Ġ explicit", + "Ġexp licit", + "Ġexpl icit", + "Ġexplic it", + "Ġarr ived", + "Ġarrive d", + "Ġarriv ed", + "Ġ fly", + "Ġf ly", + "Ġfl y", + "Ġe conom", + "Ġecon om", + "Ġec onom", + "Ġeco nom", + "- mail", + "-m ail", + "Ġ lists", + "Ġl ists", + "Ġli sts", + "Ġlist s", + "Ġlis ts", + "Ġarch itect", + "Ġarchit ect", + "2 34", + "23 4", + "Ġ Pay", + "ĠP ay", + "ĠPa y", + "Ġ ds", + "Ġd s", + "Ġ Sol", + "ĠS ol", + "ĠSo l", + "Ġ vehicles", + "Ġv ehicles", + "Ġveh icles", + "Ġvehicle s", + "H z", + "- com", + "-c om", + "-co m", + "Ġ king", + "Ġk ing", + "Ġki ng", + "Ġkin g", + "_ equal", + "_e qual", + "_eq ual", + "_equ al", + "Ġ Help", + "ĠH elp", + "ĠHe lp", + "ĠHel p", + "Ġab use", + "4 80", + "48 0", + "1 69", + "16 9", + "-- ;Ċ", + "--; Ċ", + "Ġ extr", + "Ġex tr", + "Ġext r", + "Ġ chemical", + "Ġchem ical", + "ä ¿", + "Ġ orient", + "Ġo rient", + "Ġor ient", + "Ġori ent", + "Ġbre ath", + "Ġbreat h", + "Ġ Space", + "ĠS pace", + "ĠSp ace", + "ĠSpa ce", + "( element", + "(e lement", + "(el ement", + "(elem ent", + "(ele ment", + "w ait", + "wa it", + "D ED", + "DE D", + "ig ma", + "igm a", + "Ġ entr", + "Ġen tr", + "Ġent r", + "Ġ sob", + "Ġs ob", + "Ġso b", + "- name", + "-n ame", + "-na me", + "Ġ affected", + "Ġaff ected", + "Ġaffect ed", + "i ka", + "ik a", + "Ġ coal", + "Ġco al", + "_ work", + "_w ork", + "_wo rk", + "Ġh undreds", + "Ġhundred s", + "Ġpol itics", + "Ġpolit ics", + "Ġpolitic s", + "sub ject", + "su bject", + "subj ect", + "Ġ consumer", + "Ġcon sumer", + "Ġcons umer", + "Ġconsum er", + "Ġconsume r", + "AN GE", + "ANG E", + "Ġre peated", + "Ġrep eated", + "Ġrepe ated", + "Ġrepeat ed", + "S end", + "Se nd", + "Sen d", + "Ġ #[", + "Ġ# [", + "Ġ protocol", + "Ġprot ocol", + "Ġproto col", + "Ġ leads", + "Ġle ads", + "Ġlead s", + "us eum", + "use um", + "E very", + "Ev ery", + "Ever y", + "8 08", + "80 8", + "1 74", + "17 4", + "Im port", + "Imp ort", + "( count", + "(c ount", + "(co unt", + "Ġch allenges", + "Ġchalleng es", + "Ġchallenge s", + "Ġn ovel", + "Ġno vel", + "Ġnov el", + "Ġ depart", + "Ġde part", + "Ġdep art", + "b its", + "bit s", + "bi ts", + ". Current", + ".C urrent", + "Ġ `${", + "Ġ` ${", + "Ġ`$ {", + "o ting", + "ot ing", + "oti ng", + "( \\", + "Ġ creative", + "Ġc reative", + "Ġcre ative", + "Ġcreat ive", + "Ġ buff", + "Ġb uff", + "Ġbu ff", + "Ġbuf f", + "Ġint roduced", + "Ġintrodu ced", + "Ġintroduce d", + "Ġintro duced", + "u sic", + "us ic", + "usi c", + "mod ules", + "module s", + "A re", + "Ar e", + "- doc", + "-d oc", + "-do c", + "l anguage", + "_ cache", + "_c ache", + "_ca che", + "Ġ tod", + "Ġt od", + "Ġto d", + "? > < /", + "om ething", + "ome thing", + "Ġh un", + "Ġhu n", + "å º", + "a ters", + "at ers", + "ate rs", + "ater s", + "In tent", + "Int ent", + "Ġ implemented", + "Ġim plemented", + "Ġimplement ed", + "Ġ Case", + "ĠC ase", + "ĠCas e", + "ĠCa se", + "Ch ildren", + "Child ren", + "Ġ notification", + "Ġnot ification", + "Render er", + "W rapper", + "Wrap per", + "Wr apper", + "Object s", + "Obj ects", + "t l", + ". Contains", + ".Cont ains", + ".Con tains", + "Pl ugin", + "Plug in", + ". row", + ".r ow", + ".ro w", + "Ġ forg", + "Ġf org", + "Ġfor g", + "Ġfo rg", + "Ġ permit", + "Ġper mit", + "Ġperm it", + "Ġ targets", + "Ġtarget s", + "Ġtar gets", + "Ġtarg ets", + "Ġ IF", + "ĠI F", + "Ġ tip", + "Ġt ip", + "Ġti p", + "s ex", + "se x", + "Ġ supports", + "Ġsup ports", + "Ġsupport s", + "Ġsupp orts", + "Ġ fold", + "Ġf old", + "Ġfol d", + "Ġfo ld", + "ph oto", + "phot o", + "} ,čĊ", + "}, čĊ", + "Ġ google", + "Ġg oogle", + "Ġgo ogle", + "Ġgoog le", + "Ġgoo gle", + "$ ('#", + "$( '#", + "$(' #", + "Ġ sharing", + "Ġsh aring", + "Ġsha ring", + "Ġshar ing", + "Ġ goods", + "Ġg oods", + "Ġgo ods", + "Ġgood s", + "Ġgoo ds", + "v s", + "Ġ Dan", + "ĠD an", + "ĠDa n", + "R ate", + "Ra te", + "Ġ Martin", + "ĠM artin", + "ĠMar tin", + "ĠMart in", + "Ġm anner", + "Ġman ner", + "Ġmann er", + "l ie", + "li e", + ". The", + ".T he", + ".Th e", + "In ternal", + "Int ernal", + "Inter nal", + "Intern al", + "ĠCON TR", + "ĠCONT R", + "M ock", + "Mo ck", + "R IGHT", + "Ġ '{", + "Ġ' {", + "Ġ controls", + "Ġcontrol s", + "Ġcontr ols", + "Ġcontro ls", + "M at", + "Ma t", + "Ġ mand", + "Ġm and", + "Ġman d", + "Ġma nd", + "Ġ extended", + "Ġext ended", + "Ġextend ed", + "O k", + "Ġ embed", + "Ġem bed", + "Ġemb ed", + "Ġ planet", + "Ġplan et", + "Ġplane t", + "Ġpla net", + "Ġ Non", + "ĠN on", + "ĠNo n", + "- ch", + "-c h", + ") \",", + ")\" ,", + "e par", + "ep ar", + "Ġbel ieved", + "Ġbelie ved", + "Ġbelieve d", + "Ġ Environment", + "ĠEn vironment", + "Ġ Friend", + "ĠF riend", + "ĠFri end", + "- res", + "-r es", + "-re s", + "Ġ handling", + "Ġhand ling", + "Ġhan dling", + "n ic", + "ni c", + "- level", + "-le vel", + "s cri", + "sc ri", + "scr i", + "X ml", + "B E", + "u ngen", + "un gen", + "ung en", + "unge n", + "Ġ alter", + "Ġal ter", + "Ġalt er", + "Ġalte r", + "[ idx", + "[i dx", + "[id x", + "P op", + "Po p", + "c am", + "ca m", + "Ġ (((", + "Ġ( ((", + "Ġ(( (", + "Ġ shipping", + "Ġsh ipping", + "Ġship ping", + "Ġ battery", + "Ġb attery", + "Ġbatter y", + "Ġbatt ery", + "Ġbat tery", + "iddle ware", + "M C", + "Ġ impl", + "Ġi mpl", + "Ġim pl", + "Ġimp l", + "ot ation", + "ota tion", + "Ġ Lab", + "ĠL ab", + "ĠLa b", + "< form", + " {{", + ">{ {", + "Ġ Resource", + "ĠRe source", + "ĠRes ource", + "Ġ Standard", + "ĠSt andard", + "ĠStand ard", + "Ġ Prem", + "ĠP rem", + "ĠPr em", + "ĠPre m", + "up dated", + "update d", + "upd ated", + "iv alent", + "ival ent", + "Ġ assets", + "Ġas sets", + "Ġass ets", + "Ġasset s", + "_ temp", + "_t emp", + "_tem p", + "_te mp", + "Ġinter ests", + "Ġinterest s", + "Ġinteres ts", + "Ġ hardware", + "Ġh ardware", + "Ġhard ware", + "Ġ Rom", + "ĠR om", + "ĠRo m", + "Ġ Share", + "ĠS hare", + "ĠSh are", + "ĠSha re", + "ĠShar e", + "Ġ ''Ċ", + "Ġ' 'Ċ", + "Ġ'' Ċ", + "Ġ *,", + "Ġ* ,", + "Ġ Take", + "ĠT ake", + "ĠTa ke", + "ĠTak e", + "Ġ Images", + "ĠIm ages", + "ĠImage s", + "ĠImag es", + "_ CHECK", + "_C HECK", + "( typeof", + "(type of", + "(typ eof", + "Ġ Jun", + "ĠJ un", + "ĠJu n", + "\\< ^", + "Ġ liqu", + "Ġl iqu", + "Ġli qu", + "Ġw orst", + "Ġwor st", + "Ġwo rst", + "Ġwors t", + "ymb ols", + "ymbol s", + "ĉ ĉĉĠĠĠ", + "ĉĉ ĉĠĠĠ", + "ĉĉĉ ĠĠĠ", + "ĉĉĉĠ ĠĠ", + "ĉĉĉĠĠ Ġ", + "Ġ drivers", + "Ġdr ivers", + "Ġdriver s", + "Ġdrive rs", + "Ġdriv ers", + "Ġdri vers", + "Ġ Document", + "ĠD ocument", + "ĠDoc ument", + "e no", + "en o", + "Ġ Technology", + "ĠTechn ology", + "Ġ approved", + "Ġap proved", + "Ġappro ved", + "Ġapprove d", + "u mps", + "um ps", + "ump s", + "Ġ snow", + "Ġs now", + "Ġsn ow", + "Ġsno w", + "form ance", + "forma nce", + "forman ce", + "_ ASSERT", + "_A SSERT", + "_ASS ERT", + "u its", + "ui ts", + "uit s", + "2 07", + "20 7", + "Ù Ĩ", + "Ġd ifferences", + "Ġdif ferences", + "Ġdiffer ences", + "Ġdifference s", + ". Visible", + ".V isible", + "ĉ ĉĉčĊ", + "ĉĉ ĉčĊ", + "ĉĉĉ čĊ", + "Ġ Ps", + "ĠP s", + "_ fetch", + "_f etch", + "Ġ todo", + "Ġt odo", + "Ġto do", + "Ġtod o", + ". ',Ċ", + ".' ,Ċ", + ".', Ċ", + "Ġ sel", + "Ġs el", + "Ġse l", + "ur ers", + "ure rs", + "urer s", + "in valid", + "Ġ tweet", + "Ġt weet", + "Ġtwe et", + "Ġtwee t", + "V EL", + "VE L", + "Ġresearch ers", + "Ġresearcher s", + "Ġ sprintf", + "Ġs printf", + "Ġsprint f", + "Ġ RO", + "ĠR O", + "Ġ pel", + "Ġp el", + "Ġpe l", + ". Trans", + ".T rans", + ".Tr ans", + "Ġ illegal", + "Ġil legal", + "Ġill egal", + "Ġilleg al", + "d ialog", + "di alog", + "dia log", + "sm arty", + "smart y", + "l g", + "_ MIN", + "_M IN", + "_MI N", + "Ġ hero", + "Ġh ero", + "Ġhe ro", + "Ġher o", + "f inal", + "fin al", + "fi nal", + "Ġ pp", + "Ġp p", + ". Le", + ".L e", + "Ġ ci", + "Ġc i", + "ĉ RT", + "ĉR T", + "Ġs uggested", + "Ġsuggest ed", + "p df", + "pd f", + "a ching", + "ach ing", + "achi ng", + "Ġ Ro", + "ĠR o", + "Ġ Properties", + "ĠP roperties", + "ĠProp erties", + "ĠProper ties", + "Ġ Si", + "ĠS i", + "Ġbu ying", + "Ġbuy ing", + "Ġ mu", + "Ġm u", + "Ġ lands", + "Ġl ands", + "Ġla nds", + "Ġland s", + "Ġlan ds", + "if iers", + "ifier s", + "ifi ers", + "ifie rs", + "Ġ FILE", + "ĠF ILE", + "ĠFI LE", + "ĠFIL E", + "RO UP", + "Ġ holder", + "Ġh older", + "Ġhold er", + "Ġho lder", + "Ġhol der", + "Ġ Son", + "ĠS on", + "ĠSo n", + "Ġsym pt", + "Ġsymp t", + ". route", + ".r oute", + ".ro ute", + ") ?", + "Ġ argc", + "Ġar gc", + "Ġarg c", + "Ġ fort", + "Ġf ort", + "Ġfor t", + "Ġfo rt", + "Ġcas ino", + "Ġcasi no", + "_ category", + "_c ategory", + "Ġ forum", + "Ġf orum", + "Ġfor um", + "Ġfo rum", + "2 15", + "21 5", + "p refix", + "pre fix", + "pref ix", + "ap ture", + "apt ure", + "T ube", + "Tu be", + "e ms", + "em s", + "im ize", + "imi ze", + "imiz e", + "Ġn ue", + "Ġnu e", + "a us", + "au s", + "c ourse", + "co urse", + "cour se", + "A TOR", + "AT OR", + "ATO R", + "( )),", + "() ),", + "()) ,", + "Ad vertis", + "IN GS", + "ING S", + "Ġac know", + "Ġack now", + "ĠK orea", + "ĠKore a", + "ĠKo rea", + "ĠKor ea", + "p ling", + "pl ing", + "Ġ worker", + "Ġwork er", + "Ġwor ker", + "PL IED", + "h al", + "ha l", + "Ġ Richard", + "ĠRich ard", + "ĠRic hard", + "E lements", + "Element s", + "El ements", + "Elem ents", + "Ele ments", + "ĉ ĉĉĠ", + "ĉĉ ĉĠ", + "ĉĉĉ Ġ", + "s tar", + "st ar", + "sta r", + "Ġ relationships", + "Ġrelations hips", + "Ġrelationship s", + "Ġrelation ships", + "Ġ cheap", + "Ġc heap", + "Ġche ap", + "A CH", + "AC H", + "Ġ XML", + "ĠX ML", + "ĠXM L", + ", &", + "Ġ Louis", + "ĠL ouis", + "ĠLo uis", + "ĠLou is", + "Ġ ride", + "Ġr ide", + "Ġrid e", + "Ġri de", + "_ FAIL", + "_F AIL", + "_FA IL", + "Ġ chunk", + "Ġch unk", + "Ġchu nk", + "[ s", + "_ OUT", + "_O UT", + "Ġ chosen", + "Ġch osen", + "Ġcho sen", + "Ġchose n", + "_ [", + "/ (", + "Ġ Jeff", + "ĠJ eff", + "ĠJe ff", + "_ sl", + "_s l", + "p riv", + "pr iv", + "pri v", + "Ġ Canadian", + "ĠCan adian", + "Ġ unable", + "Ġu nable", + "Ġun able", + "Ġuna ble", + "Ġunab le", + "_ FLAG", + "_F LAG", + "_FL AG", + "Ġ nos", + "Ġn os", + "Ġno s", + "h igh", + "hi gh", + "Ġ lift", + "Ġl ift", + "Ġli ft", + "Ġlif t", + "f un", + "fu n", + "( ){", + "() {", + "el ly", + "ell y", + "ycler View", + "_ as", + "_a s", + "_ LIST", + "_L IST", + "Ġ radi", + "Ġr adi", + "Ġrad i", + "Ġra di", + ". getValue", + ".get Value", + "3 04", + "30 4", + "ĠAnge les", + "ĠAngel es", + "Ġ Span", + "ĠS pan", + "ĠSp an", + "ĠSpa n", + "_ instance", + "_in stance", + "_inst ance", + "i tors", + "it ors", + "itor s", + "ito rs", + "2 08", + "20 8", + "Ġ migration", + "Ġm igration", + "Ġmigr ation", + "Ġmig ration", + "A K", + "O h", + " ®", + ". selected", + ".se lected", + ".select ed", + ".sel ected", + "Ġ GT", + "ĠG T", + "Ġ advance", + "Ġadv ance", + "Ġ Style", + "ĠSt yle", + "ĠSty le", + ". DataGridView", + ".Data GridView", + "e ction", + "ect ion", + "ec tion", + "Ñ İ", + "p io", + "pi o", + "r og", + "ro g", + "Ġ shopping", + "Ġsh opping", + "Ġshop ping", + "Ġsho pping", + "Ġ Rect", + "ĠR ect", + "ĠRe ct", + "ĠRec t", + "I lluminate", + "O U", + "ĉ array", + "ĉa rray", + "ĉarr ay", + "ĉar ray", + "Ġsub stantial", + "Ġsubstant ial", + "Ġp regn", + "Ġpre gn", + "Ġpreg n", + "Ġprom ote", + "Ġpromot e", + "Ġpromo te", + "I EW", + "IE W", + ". Layout", + ".L ayout", + "Ġsign s", + "Ġsig ns", + "/ .", + "Ġ letters", + "Ġlet ters", + "Ġletter s", + "Ġlett ers", + "B oard", + "Bo ard", + "c trl", + "ct rl", + "ctr l", + "\" \\", + "Ġ Jones", + "ĠJ ones", + "ĠJo nes", + "ĠJon es", + "Ġ vertex", + "Ġver tex", + "Ġvert ex", + "Ġverte x", + "Ġ ja", + "Ġj a", + "Ġaff ili", + "Ġ wealth", + "Ġwe alth", + "ĉ default", + "ĉd efault", + "ĉdef ault", + "ĉde fault", + "Ġsign ificantly", + "Ġsignific antly", + "Ġsignificant ly", + "Ġ ec", + "Ġe c", + "Ġ xs", + "Ġx s", + "act ual", + "ac tual", + ". per", + ".p er", + ".pe r", + "_ step", + "_s tep", + "_st ep", + "_ste p", + "an vas", + "m ac", + "ma c", + "Ġtrans l", + "Ġtran sl", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "It erator", + "Iter ator", + "Ġ och", + "Ġo ch", + "Ġoc h", + "ag nostic", + "agnost ic", + "Ġ During", + "ĠD uring", + "ĠDu ring", + "ĠDur ing", + "Ġ DEFAULT", + "ĠD EFAULT", + "ĠDE FAULT", + "Ġt ill", + "Ġti ll", + "Ġtil l", + "Ġ signature", + "Ġsign ature", + "Ġsig nature", + "Ġ bird", + "Ġb ird", + "Ġbi rd", + "Ġbir d", + "Ġ Ol", + "ĠO l", + "3 10", + "31 0", + "Ġ Ir", + "ĠI r", + "H S", + "av atar", + "ava tar", + "ESS AGE", + "Ġe lev", + "Ġel ev", + "Ġele v", + "Ġ mt", + "Ġm t", + "Ġ Nav", + "ĠN av", + "ĠNa v", + "Ġrel ax", + "Ġ plate", + "Ġp late", + "Ġpl ate", + "Ġpla te", + "Ġplat e", + "I TEM", + "IT EM", + "ITE M", + "( date", + "(d ate", + "(dat e", + "(da te", + ". not", + ".n ot", + ".no t", + "Ġ grade", + "Ġg rade", + "Ġgr ade", + "Ġgrad e", + "Ġgra de", + "Ġ }),Ċ", + "Ġ} ),Ċ", + "Ġ}) ,Ċ", + "Ġ}), Ċ", + "? \"ĊĊ", + "?\" ĊĊ", + "?\"Ċ Ċ", + "i ences", + "ie nces", + "ience s", + "ien ces", + "H igh", + "Hi gh", + "Ġ DIS", + "ĠD IS", + "ĠDI S", + "2 31", + "23 1", + "dis abled", + "disable d", + "Q UI", + "QU I", + "Ġ noise", + "Ġn oise", + "Ġno ise", + "Ġnoi se", + "a ux", + "au x", + "Ġ UP", + "ĠU P", + "8 88", + "88 8", + "o sa", + "os a", + "Ġv oc", + "Ġvo c", + "Ġ ))", + "Ġ) )", + "o com", + "oc om", + "oco m", + "_ OFF", + "_O FF", + "_OF F", + "Ġ Db", + "ĠD b", + "L ock", + "Lo ck", + "Loc k", + ".e clipse", + ", d", + "Ġ Draw", + "ĠD raw", + "ĠDr aw", + "ĠDra w", + "Ġ \"(", + "Ġ\" (", + "Ġ visited", + "Ġvis ited", + "Ġvisit ed", + "Ġvisite d", + "Ġ âĪ", + "Ġâ Ī", + "Ġs ucceed", + "Ġsuc ceed", + "Ġsucc eed", + "Ġim possible", + "Ġimp ossible", + "Ġimposs ible", + "a ire", + "air e", + "ai re", + "Ġ Turn", + "ĠT urn", + "ĠTur n", + "ĠTu rn", + "Ġ dish", + "Ġd ish", + "Ġdis h", + "Ġdi sh", + "F G", + "Ġ sensor", + "Ġs ensor", + "Ġsens or", + "A NN", + "AN N", + "a ba", + "ab a", + "Ġs urg", + "Ġsu rg", + "Ġsur g", + "] );čĊ", + "]) ;čĊ", + "]); čĊ", + "Ġ fp", + "Ġf p", + "_ an", + "_a n", + "- J", + "- G", + "Ġ Job", + "ĠJ ob", + "ĠJo b", + "Con vert", + "Conv ert", + "Ġ KEY", + "ĠK EY", + "ĠKE Y", + "Ġ authors", + "Ġauthor s", + "Ġauth ors", + "_ server", + "_s erver", + "_serv er", + "_ser ver", + "\\ r", + "Ġ -*-", + "Ġ- *-", + "Ġ-* -", + "f lex", + "fl ex", + "Ġ soc", + "Ġs oc", + "Ġso c", + "R et", + "Re t", + "Ġ salt", + "Ġs alt", + "Ġsa lt", + "Ġsal t", + "Ġ â̦ĊĊ", + "Ġâ̦ ĊĊ", + "Ġâ̦Ċ Ċ", + "Ġ Clear", + "ĠC lear", + "ĠCl ear", + "ĠCle ar", + "( page", + "(p age", + "(pa ge", + "- danger", + "-d anger", + "-da nger", + "Ġ rooms", + "Ġro oms", + "Ġroom s", + "con v", + "co nv", + "# {", + ". op", + ".o p", + "Ġ Area", + "ĠA rea", + "ĠAr ea", + "ĠAre a", + "_ SC", + "_S C", + "h en", + "he n", + "Ġbeg ins", + "Ġbegin s", + "- y", + "Ġexc ited", + "Ġexcit ed", + "Ġ ignored", + "Ġign ored", + "Ġignore d", + "Ġignor ed", + "Ġ bonus", + "Ġb onus", + "Ġbon us", + "st udent", + "stu dent", + "stud ent", + "Ġ Member", + "ĠM ember", + "ĠMem ber", + "Ġrel atively", + "Ġrelative ly", + "Ġrelativ ely", + "Ġrelat ively", + "Ġ Low", + "ĠL ow", + "ĠLo w", + "Ġ Produ", + "ĠP rodu", + "ĠPro du", + "ĠPr odu", + "ĠProd u", + "at eway", + "ate way", + "pos ure", + "po sure", + "Ġth ick", + "Ġthi ck", + "an iel", + "ani el", + "anie l", + "( view", + "(v iew", + "ĠC rush", + "ĠCr ush", + "ĠCru sh", + "ĠCrus h", + "Ext ension", + "I l", + "e ed", + "ee d", + "L OC", + "LO C", + ". im", + ".i m", + ". Items", + ".I tems", + ".Item s", + ".It ems", + "Ġconf lict", + "Ġconflic t", + "Ġconfl ict", + ". prevent", + ".pre vent", + ".pr event", + ".prev ent", + "2 52", + "25 2", + "Ġon Create", + "u v", + "i ser", + "is er", + "ise r", + "Ġ wave", + "Ġw ave", + "Ġwa ve", + "Ġwav e", + "M ar", + "Ma r", + "Ġ Community", + "ĠComm unity", + "ĠCommun ity", + "i che", + "ic he", + "ich e", + "Ġ Nothing", + "ĠNo thing", + "[ m", + "Ġ Lee", + "ĠL ee", + "ĠLe e", + "ri ends", + "riend s", + "rie nds", + "rien ds", + "2 32", + "23 2", + "è re", + "! !!", + "!! !", + "a nz", + "an z", + ". result", + ".res ult", + "Ġ SK", + "ĠS K", + "_ PARAM", + "_P ARAM", + "_PA RAM", + "_PAR AM", + "Ġdem ocr", + "Ġdemo cr", + "Back Color", + ". exists", + ".ex ists", + ".exist s", + "\" It", + "\"I t", + "( options", + "(o ptions", + "(opt ions", + "(option s", + "r azy", + "ra zy", + "raz y", + "a ser", + "as er", + "ase r", + "\\ Database", + "\\Data base", + "\\D atabase", + "al endar", + "alen dar", + "_ ass", + "_a ss", + "_as s", + "; }Ċ", + ";} Ċ", + "ver tex", + "vert ex", + "verte x", + "ine craft", + "W arning", + "War ning", + "Warn ing", + "ar go", + "arg o", + "Ġ actor", + "Ġa ctor", + "Ġact or", + "Ġac tor", + "Ġ Instead", + "ĠIn stead", + "ĠInst ead", + "Ġ Using", + "ĠU sing", + "ĠUs ing", + "S elf", + "Se lf", + "Sel f", + "@ interface", + "Ġspe aking", + "Ġspeak ing", + "Ġ Paris", + "ĠP aris", + "ĠPar is", + "ĠPa ris", + "Ġ LICENSE", + "ĠL ICENSE", + "ĠLIC ENSE", + ". node", + ".n ode", + ".no de", + "Ġ Food", + "ĠF ood", + "ĠFo od", + "ĠFoo d", + "E IF", + "EI F", + "Ġ Bi", + "ĠB i", + ". Start", + ".St art", + "Ġ IB", + "ĠI B", + "Ġun iversity", + "Ġunivers ity", + "2 54", + "25 4", + "Ġ Header", + "ĠHe ader", + "ĠHead er", + ". product", + ".pro duct", + ".prod uct", + "4 09", + "40 9", + "C opy", + "Co py", + "Cop y", + "e tc", + "et c", + "r ical", + "ri cal", + "ric al", + "rica l", + "Ġ >>>", + "Ġ> >>", + "Ġ>> >", + "b ooks", + "bo oks", + "book s", + "boo ks", + "Ġ algorithm", + "Ġal gorithm", + "Ġ' __", + "Ġ'_ _", + "( javax", + "(j avax", + "(java x", + "Ġnumer ous", + "Ġnumero us", + "S hare", + "Sh are", + "Shar e", + "Sha re", + "H ave", + "Ha ve", + "Ġrec ru", + "Ġ prove", + "Ġp rove", + "Ġpro ve", + "Ġpr ove", + "Ġprov e", + ". substring", + ".sub string", + ".substr ing", + "he alth", + "е л", + "еР»", + "Ġ decimal", + "Ġd ecimal", + "Ġde cimal", + "Ġdec imal", + "Ġ commission", + "Ġcom mission", + "Ġcomm ission", + "s cription", + "script ion", + "scri ption", + "x C", + "Ġ summary", + "Ġsum mary", + "Ġsummar y", + "Ġsumm ary", + "at ted", + "att ed", + "atte d", + "Ġc loser", + "Ġcl oser", + "Ġclose r", + "Ġclos er", + "Ġclo ser", + "f inished", + "fin ished", + "finish ed", + "( )){Ċ", + "() ){Ċ", + "()) {Ċ", + "()){ Ċ", + "Ġ Wood", + "ĠW ood", + "ĠWo od", + "ĠWoo d", + "3 01", + "30 1", + "_ fields", + "_f ields", + "_field s", + "k u", + "_ items", + "_i tems", + "_item s", + "_it ems", + "F lag", + "Fl ag", + "Ġ confidence", + "Ġconf idence", + "Ġ Federal", + "ĠF ederal", + "ĠFeder al", + "ĠFed eral", + "d ux", + "du x", + "Ġ compat", + "Ġcom pat", + "Ġcomp at", + "Ġ vertical", + "Ġver tical", + "Ġvert ical", + "Ð ¹", + "è s", + "; \">Ċ", + ";\" >Ċ", + ";\"> Ċ", + "_ manager", + "_m anager", + "_man ager", + "_manage r", + "( )))Ċ", + "() ))Ċ", + "()) )Ċ", + "())) Ċ", + "I DE", + "ID E", + ": \",", + ":\" ,", + "2 35", + "23 5", + "_ _Ċ", + "__ Ċ", + "Ġ Way", + "ĠW ay", + "ĠWa y", + "2 21", + "22 1", + "Ñ Ī", + "T emp", + "Te mp", + "Tem p", + "Ġ STR", + "ĠS TR", + "ĠST R", + "r itten", + "rit ten", + "ritt en", + "ritte n", + "S ync", + "Sy nc", + "Syn c", + "Ġ AV", + "ĠA V", + "Ġ CEO", + "ĠC EO", + "ĠCE O", + "Ġ Guid", + "ĠG uid", + "ĠGu id", + "ĠGui d", + "Ġenvironment al", + "Ġenviron mental", + "Ġcorrespond ing", + "ĉ console", + "ĉcon sole", + "Ġ justice", + "Ġjust ice", + "Ġju stice", + "Ġ JS", + "ĠJ S", + "Ġl ived", + "Ġli ved", + "Ġlive d", + "Ġliv ed", + "g ar", + "ga r", + "Ġ Graph", + "ĠG raph", + "ĠGr aph", + "ĠGra ph", + "Ġ Stat", + "ĠS tat", + "ĠSt at", + "ĠSta t", + "Ġ iPhone", + "Ġi Phone", + "ĠiP hone", + ". al", + ".a l", + "Ġ HD", + "ĠH D", + "Ġocc ur", + "Ġoc cur", + "Ġ threshold", + "Ġth reshold", + "Ġthresh old", + "5 09", + "50 9", + "Ġ onclick", + "Ġon click", + "Ġonc lick", + "R EG", + "RE G", + ".Graphics Unit", + "M eta", + "Me ta", + "Met a", + "Å ¾", + "Ġ cum", + "Ġc um", + "Ġcu m", + ". gnu", + ".g nu", + "à «", + "Ġobt ained", + "Ġobtain ed", + "Ġcom plaint", + "Ġcompl aint", + "Ġcomplain t", + "Ġ eating", + "Ġe ating", + "Ġeat ing", + "Ġea ting", + "Ġ tar", + "Ġt ar", + "Ġta r", + "_ task", + "_t ask", + "_ta sk", + "Ġ opts", + "Ġo pts", + "Ġop ts", + "Ġopt s", + "2 16", + "21 6", + "( to", + "(t o", + "P ass", + "Pa ss", + "Pas s", + "Ġp lastic", + "Ġpl astic", + "Ġplast ic", + "t ility", + "til ity", + "Ġ Win", + "ĠW in", + "ĠWi n", + ".prevent Default", + "p ile", + "pi le", + "Ġ Gar", + "ĠG ar", + "ĠGa r", + "Ġ quantity", + "Ġqu antity", + "Ġquant ity", + "Ġqua ntity", + "_ last", + "_l ast", + "_la st", + "Ġg reatest", + "Ġgreat est", + "Ġgre atest", + "D ao", + "Da o", + "_ DIS", + "_D IS", + "_DI S", + "Ġ Used", + "ĠU sed", + "ĠUs ed", + "ĠUse d", + "Ġ HP", + "ĠH P", + "r iting", + "ri ting", + "rit ing", + "S ION", + "SI ON", + "b lue", + "bl ue", + "d omain", + "do main", + "dom ain", + "Ġ scores", + "Ġs cores", + "Ġsc ores", + "Ġscore s", + "Ġsco res", + "Ġscor es", + "N ormal", + "Norm al", + "Nor mal", + "_ admin", + "_ad min", + "Ġ ASSERT", + "ĠA SSERT", + "ĠASS ERT", + "T hen", + "The n", + "Th en", + "* **", + "** *", + "d ist", + "dis t", + "di st", + "l on", + "lo n", + "Ġh ate", + "Ġha te", + "Ġhat e", + "s hal", + "sh al", + "sha l", + "Image View", + "d atabase", + "data base", + "dat abase", + "Ġp and", + "Ġpa nd", + "Ġpan d", + "Ġ logic", + "Ġlog ic", + "= false", + "=f alse", + "b g", + "Ġ Configuration", + "ĠConfig uration", + "Ġn ur", + "Ġnu r", + "O G", + "Ġ married", + "Ġmar ried", + ": +", + "Ġd ropped", + "Ġdr opped", + "Ġdrop ped", + "Ġdro pped", + "0 40", + "04 0", + "Ġ registration", + "Ġreg istration", + "Ġregistr ation", + "Ġregist ration", + "о м", + "оР¼", + "ult iple", + "ulti ple", + "ultip le", + "i zers", + "iz ers", + "ize rs", + "izer s", + "s hape", + "sh ape", + "sha pe", + ". copy", + ".c opy", + ".co py", + "Ġw earing", + "Ġwe aring", + "Ġwear ing", + "ĠC ath", + "ĠCa th", + "ĠCat h", + "Ġded icated", + "Ġdedic ated", + "Ġdedicate d", + "Ġ ...Ċ", + "Ġ. ..Ċ", + "Ġ... Ċ", + "Ġ.. .Ċ", + "Ġadv oc", + "Ġ Family", + "ĠF amily", + "ĠFam ily", + "ĠFamil y", + "Ġ statements", + "Ġstate ments", + "Ġstat ements", + "Ġstatement s", + "e matic", + "em atic", + "ema tic", + "emat ic", + "ampions hip", + "ampion ship", + "Ġmot iv", + "Ġmo tiv", + "Ġ Have", + "ĠH ave", + "ĠHa ve", + "ĠHav e", + "Ġb low", + "Ġbl ow", + "Ġblo w", + "J ob", + "Jo b", + "c ert", + "ce rt", + "cer t", + "_ vector", + "_v ector", + "_vec tor", + "_vect or", + "_ve ctor", + "inst all", + "Ġ COPY", + "ĠC OPY", + "ĠCO PY", + "ĠCOP Y", + "em bed", + "emb ed", + "D IR", + "DI R", + "Ġ Spring", + "ĠS pring", + "ĠSp ring", + "ĠSpr ing", + "Ġex hib", + "Ġexh ib", + "2 23", + "22 3", + "c dn", + "cd n", + "Ġ Comment", + "ĠCom ment", + "ĠComm ent", + "Ġ Optional", + "ĠOption al", + "ĠOpt ional", + ". player", + ".p layer", + ".pl ayer", + ".play er", + "Ġ Dark", + "ĠD ark", + "ĠDa rk", + "ĠDar k", + "( pos", + "(p os", + "(po s", + "Ġ Should", + "ĠSh ould", + "ĠSho uld", + "Ġ centre", + "Ġc entre", + "Ġcent re", + "Ġcentr e", + "Ġcen tre", + "Ġ Guard", + "ĠG uard", + "ĠGu ard", + "ĠGuar d", + "ó w", + "Ġtr ouble", + "Ġtro uble", + "Ġtroub le", + "Ġtrou ble", + "E NER", + "EN ER", + "ENE R", + "( unsigned", + "(un signed", + "_ service", + "_s ervice", + "_serv ice", + "_ser vice", + "Ġ ns", + "Ġn s", + "u ling", + "ul ing", + "ulin g", + "uli ng", + "Ġ Mexico", + "ĠMe xico", + "ĠMex ico", + "Ġ NY", + "ĠN Y", + "m ysql", + "my sql", + "mys ql", + "Ġ lic", + "Ġl ic", + "Ġli c", + "å ľ", + "M r", + "- fl", + "-f l", + "Ġ Customer", + "ĠC ustomer", + "ĠCustom er", + "ĠCust omer", + "i di", + "id i", + "Ġ ?>ĊĊ", + "Ġ? >ĊĊ", + "Ġ?> ĊĊ", + "Ġ?>Ċ Ċ", + "r ible", + "ri ble", + "rib le", + "Ġ пÑĢ", + "Ġп ÑĢ", + "Ġ sizes", + "Ġs izes", + "Ġsize s", + "Ġsi zes", + "Ġsiz es", + "_ STRING", + "_ST RING", + "_STR ING", + "valid ation", + "Ġ Jon", + "ĠJ on", + "ĠJo n", + "( Http", + "(H ttp", + "add Class", + "N odes", + "Node s", + "No des", + "Ġ fragment", + "Ġf ragment", + "Ġfr agment", + "Ġfra gment", + "Ġfrag ment", + "Ġs poke", + "Ġsp oke", + "Ġspo ke", + "Ġw aste", + "Ġwas te", + "Ġwa ste", + "Ġwast e", + "J oin", + "Jo in", + "Ġ illustr", + "Ġill ustr", + "Ġillust r", + "e li", + "el i", + "c ient", + "ci ent", + "cie nt", + "Ġ aid", + "Ġa id", + "Ġai d", + "Ġpro sec", + "Ġpros ec", + "Ġprose c", + "' ){Ċ", + "') {Ċ", + "'){ Ċ", + "Ġp assing", + "Ġpass ing", + "Ġpas sing", + "Ġ faces", + "Ġf aces", + "Ġfa ces", + "Ġfac es", + "Ġface s", + "S hape", + "Sh ape", + "Sha pe", + "_ Z", + "i ti", + "it i", + "Ġ alle", + "Ġa lle", + "Ġal le", + "Ġall e", + "Ġ robot", + "Ġr obot", + "Ġro bot", + "Ġrob ot", + "Ġ ĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ Ċ", + "ĠĠĠĠĠ ĠĠĊ", + "ĠĠĠĠĠĠ ĠĊ", + "Ġ Spe", + "ĠS pe", + "ĠSp e", + "Ġre ceiving", + "Ġrece iving", + "Ġ Details", + "ĠD etails", + "ĠDe tails", + "ĠDet ails", + "ĠDetail s", + "Ġ \")", + "Ġ\" )", + "m g", + "_ REF", + "_RE F", + "_R EF", + "Ġ comparison", + "Ġcom parison", + "Ġcompar ison", + "* ,", + "Ġ Found", + "ĠF ound", + "ĠFo und", + "ĠFou nd", + "_ session", + "_s ession", + "_sess ion", + "( U", + "/ F", + "Ġ xxx", + "Ġx xx", + "Ġxx x", + "N etwork", + "Net work", + "d ers", + "de rs", + "der s", + "Ġ capture", + "Ġc apture", + "Ġcap ture", + "Ġcapt ure", + "Ġc orre", + "Ġcor re", + "Ġcorr e", + "Ġ Ltd", + "ĠL td", + "ĠLt d", + "Ġ Adv", + "ĠA dv", + "ĠAd v", + "[ @", + "Ġ clip", + "Ġc lip", + "Ġcl ip", + "Ġcli p", + "M ill", + "Mi ll", + "Mil l", + "Ġ Profile", + "ĠPro file", + "ĠPr ofile", + "ĠProf ile", + "Ġ endif", + "Ġen dif", + "Ġend if", + "Ġob lig", + "Ġobl ig", + "de scribe", + "des cribe", + "descr ibe", + ". element", + ".e lement", + ".el ement", + ".elem ent", + "riter ion", + "L D", + "e red", + "er ed", + "ere d", + "Ġf avour", + "Ġfav our", + "s core", + "sc ore", + "Ġ Filter", + "ĠF ilter", + "ĠFil ter", + "at tributes", + "attribute s", + "attrib utes", + "Ġ checks", + "Ġcheck s", + "Ġche cks", + "In flater", + "Inf later", + "Ġ Plus", + "ĠP lus", + "ĠPl us", + "Ġ scientific", + "Ġscient ific", + "Ġ privacy", + "Ġpriv acy", + "H ead", + "He ad", + "Ġ feat", + "Ġf eat", + "Ġfe at", + "Ġ degrees", + "Ġdeg rees", + "Ġdegree s", + "Ġ Pale", + "ĠP ale", + "ĠPal e", + "ĠPa le", + "; \">", + ";\" >", + "Ġ films", + "Ġfil ms", + "Ġfilm s", + "Ġ Audio", + "ĠA udio", + "ĠAud io", + "ĠAu dio", + "ĠAudi o", + "Ġ Tag", + "ĠT ag", + "ĠTa g", + "Ġ Energy", + "ĠE nergy", + "ĠEn ergy", + "ĠEnerg y", + "i tar", + "it ar", + "ita r", + "par ator", + "para tor", + "Ġf ellow", + "Ġfell ow", + "Ġfel low", + "Ġ evt", + "Ġe vt", + "Ġev t", + "Ġ Tri", + "ĠT ri", + "ĠTr i", + "ĠD AM", + "ĠDA M", + "c loud", + "cl oud", + "clo ud", + "Ġ Password", + "ĠP assword", + "ĠPass word", + "ĠPas sword", + "Ġ Democrats", + "ĠDem ocrats", + "ĠDemocr ats", + "ĠDemocrat s", + "ĠA cad", + "ĠAc ad", + "$ lang", + "$l ang", + "Ġ reb", + "Ġre b", + "Ġr eb", + "( ))ĊĊ", + "() )ĊĊ", + "()) ĊĊ", + "())Ċ Ċ", + "н Ñĭ", + "Ġ Bur", + "ĠB ur", + "ĠBu r", + "read cr", + "Ġ hex", + "Ġh ex", + "Ġhe x", + "2 09", + "20 9", + "Con sole", + "Cons ole", + "c tl", + "ct l", + "ou sel", + "ous el", + "ouse l", + "Ġ William", + "ĠWill iam", + "ĠWilli am", + "Ġ az", + "Ġa z", + "_ PORT", + "_P ORT", + "_PO RT", + "Ġpr actices", + "Ġpract ices", + "Ġpractice s", + "Ġany where", + "Ġ Position", + "ĠP osition", + "ĠPos ition", + "Ġ ->Ċ", + "Ġ- >Ċ", + "Ġ-> Ċ", + "i ams", + "ia ms", + "iam s", + ". username", + ".user name", + "place holder", + "Ġ oder", + "Ġo der", + "Ġod er", + "Ġode r", + "Ġ Secretary", + "ĠSecret ary", + "Ġ iT", + "Ġi T", + "m ond", + "mon d", + "mo nd", + "e vents", + "event s", + "ev ents", + "even ts", + "eve nts", + "? âĢĿ", + ". Sub", + ".S ub", + "Ġ attached", + "Ġatt ached", + "Ġattach ed", + "Ġn ão", + "Ġ estate", + "Ġe state", + "Ġest ate", + "Ġesta te", + "3 65", + "36 5", + ". action", + ".a ction", + ".ac tion", + ".act ion", + "Ġ figures", + "Ġfig ures", + "Ġfigure s", + "Ġfigur es", + "Ġ });čĊ", + "Ġ} );čĊ", + "Ġ}) ;čĊ", + "Ġ}); čĊ", + "Ġsub scri", + "Ġsubs cri", + ". tag", + ".t ag", + ".ta g", + "n am", + "na m", + ". plot", + ".p lot", + ".pl ot", + "n oon", + "no on", + "li ament", + "lia ment", + "Char acter", + ". tab", + ".t ab", + ".ta b", + "Ġ winter", + "Ġw inter", + "Ġwin ter", + "Ġ Variable", + "ĠVar iable", + "ĠVari able", + "Ġ trees", + "Ġt rees", + "Ġtr ees", + "Ġtre es", + "Ġtree s", + "Ġp roud", + "Ġpro ud", + "Ġpr oud", + "( V", + "_ load", + "_l oad", + "_lo ad", + "Ġh ier", + "Ġhi er", + "ĠE con", + "ĠEc on", + "ĠEco n", + "Ġ fd", + "Ġf d", + "Ġvict ims", + "Ġvictim s", + "R est", + "Re st", + "Res t", + "i ana", + "ia na", + "ian a", + "Ġ fake", + "Ġf ake", + "Ġfa ke", + "Ġfak e", + ".Print ln", + "Ġ strlen", + "Ġst rlen", + "Ġstr len", + "Ġ sad", + "Ġs ad", + "Ġsa d", + "Ġ ble", + "Ġb le", + "Ġbl e", + "P rot", + "Pro t", + "Pr ot", + "Ġ buttons", + "Ġbut tons", + "Ġbutton s", + "Ġbutt ons", + "Ġbutto ns", + "Ġte levision", + "Ġtele vision", + "Ġtelevis ion", + "Ġtelev ision", + "Ġ logo", + "Ġl ogo", + "Ġlo go", + "Ġlog o", + "ext ension", + "ĉ j", + "s tein", + "st ein", + "ste in", + "ac iones", + "acion es", + "aci ones", + "acio nes", + "Ġ \"\"\"ĊĊ", + "Ġ\"\" \"ĊĊ", + "Ġ\"\"\"Ċ Ċ", + "Ġ\"\"\" ĊĊ", + "Ġ simp", + "Ġs imp", + "Ġsim p", + "Ġsi mp", + "Ġrecord ed", + "Ġbr ings", + "Ġbring s", + "Ġ principal", + "Ġpr incipal", + "Ġprincip al", + "Ġf ees", + "Ġfe es", + "Ġfee s", + "( source", + "(s ource", + "k dir", + "kd ir", + "Ġ utils", + "Ġutil s", + "Ġut ils", + "Ġcorrect ly", + "f il", + "fi l", + "Ġ wel", + "Ġw el", + "Ġwe l", + "P air", + "Pa ir", + "- button", + "-b utton", + "-but ton", + "s cale", + "sc ale", + "scal e", + "ver ify", + "[ c", + "Ġ ---", + "Ġ- --", + "Ġ-- -", + "Ġ escape", + "Ġe scape", + "Ġes cape", + "Ġesc ape", + "Ġescap e", + "i kes", + "ik es", + "ike s", + "Lower Case", + "ic ian", + "ici an", + "icia n", + "Ġ chapter", + "Ġch apter", + "Ġcha pter", + "Ġchap ter", + "Ġ TYPE", + "ĠT YPE", + "ĠTY PE", + "Ġ shadow", + "Ġsh adow", + "Ġ awesome", + "Ġaw esome", + "Ġawe some", + "W E", + "e lif", + "el if", + "eli f", + "Ġ lambda", + "Ġl ambda", + "Ġlamb da", + "Ġ distinct", + "Ġdist inct", + "Ġ bare", + "Ġb are", + "Ġbar e", + "Ġba re", + "- off", + "-of f", + "-o ff", + "Ġ colour", + "Ġcol our", + ". appendChild", + ".append Child", + "o lec", + "ol ec", + "ole c", + "a ga", + "ag a", + ". fill", + ".f ill", + ".fi ll", + ".fil l", + "ĉ super", + "ĉs uper", + "Ġ adj", + "Ġa dj", + "Ġad j", + "( position", + "(p osition", + "(pos ition", + ". getItem", + ".get Item", + "2 42", + "24 2", + "S hort", + "Sh ort", + "Ġtot ally", + "Ġtotal ly", + "V D", + "Ġ Tre", + "ĠT re", + "ĠTr e", + "_ ep", + "_e p", + "v ements", + "ve ments", + "vement s", + "vem ents", + "Ġ Solution", + "ĠS olution", + "ĠSol ution", + "Ġfund ament", + "F ollow", + "Ġ facility", + "Ġfac ility", + "Ġfacilit y", + "Ġfacil ity", + "Ġhapp ening", + "Ġhappen ing", + "O F", + ". textBox", + ".text Box", + "S pan", + "Sp an", + "Ġ «", + "Ġ «", + "i den", + "id en", + "ide n", + "Ġex ceed", + "Ġexc eed", + "Ġexce ed", + "( parent", + "(p arent", + "(par ent", + "(paren t", + "(pa rent", + "Ġ cp", + "Ġc p", + "ç »", + "Ġh asn", + "Ġhas n", + "Ġha sn", + "Ġ pri", + "Ġp ri", + "Ġpr i", + "Ġcon sequ", + "Ġcons equ", + "Ġconse qu", + "n en", + "ne n", + "ĠIN TO", + "ĠINT O", + "I gnore", + "Ign ore", + "Ġ Future", + "ĠF uture", + "ĠFu ture", + "ĠFut ure", + "Ġ carbon", + "Ġc arbon", + "Ġcar bon", + "Ġcarb on", + "Ġ Steel", + "ĠSt eel", + "ĠSte el", + "f mt", + "fm t", + "o kie", + "ok ie", + "oki e", + "Ġ spl", + "Ġs pl", + "Ġsp l", + "( title", + "(t itle", + "(ti tle", + "- info", + "-in fo", + "-inf o", + "Ġde als", + "Ġdeal s", + "Ġ fixture", + "Ġf ixture", + "Ġfix ture", + "e a", + "D iv", + "Di v", + "Ġ tested", + "Ġt ested", + "Ġte sted", + "Ġtest ed", + "Ġtes ted", + "Ġteste d", + "_ return", + "_re turn", + "_r eturn", + "_ret urn", + ") ĊĊĊĊ", + ")Ċ ĊĊĊ", + ")ĊĊ ĊĊ", + ")ĊĊĊ Ċ", + "up ported", + "upport ed", + "upp orted", + "Ġ Cook", + "ĠC ook", + "ĠCo ok", + "Ġp aying", + "Ġpay ing", + "Ġpa ying", + "Ġ Ill", + "ĠI ll", + "ĠIl l", + "Ġarr ested", + "Ġarrest ed", + "Ġ Prime", + "ĠPr ime", + "ĠPri me", + "ĠPrim e", + "_ callback", + "_c allback", + "_call back", + "> ,Ċ", + ">, Ċ", + "d river", + "dr iver", + "drive r", + "O nce", + "On ce", + "a bb", + "ab b", + "_ bytes", + "_by tes", + "_byte s", + "Ġ Sets", + "ĠS ets", + "ĠSe ts", + "ĠSet s", + "( Object", + "(O bject", + "Ġ cc", + "Ġc c", + "Ġ shell", + "Ġs hell", + "Ġsh ell", + "Ġshe ll", + "Ġshel l", + "a lo", + "al o", + ") ;//", + "); //", + "( log", + "(l og", + "(lo g", + "2 64", + "26 4", + "c tors", + "ct ors", + "ctor s", + ") ", + "2 18", + "21 8", + "Ġ $(\".", + "Ġ$ (\".", + "Ġ$( \".", + "Ġ$(\" .", + ". pos", + ".p os", + ".po s", + "Ġ boys", + "Ġbo ys", + "Ġboy s", + "Ġwed ding", + "Ġ agents", + "Ġag ents", + "Ġage nts", + "Ġagent s", + "= \"_", + "=\" _", + "Ġ Army", + "ĠAr my", + "ĠArm y", + "Ġ hint", + "Ġh int", + "Ġhi nt", + "Ġhin t", + "v ision", + "vis ion", + "Ġ tech", + "Ġt ech", + "Ġte ch", + "Ġtec h", + "Ġ Connect", + "ĠCon nect", + "ĠConn ect", + "Ġ legend", + "Ġl egend", + "Ġle gend", + "Ġleg end", + "Ġ Bet", + "ĠB et", + "ĠBe t", + ". Base", + ".B ase", + "Sub ject", + "Su bject", + "Ġ lit", + "Ġl it", + "Ġli t", + "Re move", + "Rem ove", + "Ġ \":", + "Ġ\" :", + "Ġ Final", + "ĠF inal", + "ĠFin al", + "ĠFi nal", + "pear ance", + "ĠiT unes", + "Ġ participants", + "Ġpart icipants", + "Ġparticip ants", + "Ġparticipant s", + "Ġ Python", + "ĠP ython", + "ĠPy thon", + "Ġ busy", + "Ġbu sy", + "Ġbus y", + "i el", + "ie l", + "vert ices", + "Ġtemplate Url", + "Ġ Close", + "ĠC lose", + "ĠCl ose", + "ĠClo se", + "I mg", + "Im g", + "ĠCorpor ation", + "ĠCorp oration", + "t imestamp", + "time stamp", + "Ġ extend", + "Ġext end", + "Ġwe bsites", + "Ġweb sites", + "Ġwebsite s", + "Ġwebs ites", + "Ġposs ibility", + "Ġpossibilit y", + "о ÑĤ", + "Ġ kö", + "Ġk ö", + "Ġm eat", + "Ġme at", + "Ġ representation", + "Ġre presentation", + "Ġrep resentation", + "Ġrepresent ation", + "Ġrepresenta tion", + "2 41", + "24 1", + "Ġ ĉĉ", + "Ġĉ ĉ", + "_ START", + "_ST ART", + "_STAR T", + "_STA RT", + ". apply", + ".app ly", + ".ap ply", + "ĠV alley", + "ĠVal ley", + "ĠValle y", + "ĠVall ey", + "Ġ Success", + "ĠS uccess", + "ĠSu ccess", + "ĠSuc cess", + "ĠSucc ess", + "H i", + "Ġ nob", + "Ġn ob", + "Ġno b", + "Ġ IEnumerable", + "ĠI Enumerable", + "_ select", + "_s elect", + "_se lect", + "_sel ect", + "g eo", + "ge o", + ". \")Ċ", + ".\" )Ċ", + ".\") Ċ", + "Ġt urning", + "Ġturn ing", + "Ġtur ning", + "Ġ fabric", + "Ġf abric", + "Ġfab ric", + "(\" \");Ċ", + "(\"\" );Ċ", + "(\"\") ;Ċ", + "(\"\"); Ċ", + "Ġp erspective", + "Ġpers pective", + "é Ĺ", + "Ġ Sn", + "ĠS n", + "Th ank", + "Than k", + "; j", + ". Parameters", + ".Param eters", + ".Parameter s", + "ĉ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĉĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĉĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĉĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġ facts", + "Ġf acts", + "Ġfact s", + "Ġfa cts", + "Ġfac ts", + "3 05", + "30 5", + "Ġ unt", + "Ġu nt", + "Ġun t", + ". instance", + ".in stance", + ".inst ance", + "#### ############################################################", + "######## ########################################################", + "################ ################################################", + "################################ ################################", + "################################################ ################", + "######################################## ########################", + "######################## ########################################", + "######################################################## ########", + "############################################################ ####", + "- end", + "-e nd", + "-en d", + "Ġ JOIN", + "ĠJO IN", + "Ġ Hen", + "ĠH en", + "ĠHe n", + "Ġ uri", + "Ġu ri", + "Ġur i", + "åIJ į", + "Ġ на", + "Ġн а", + "Ġ Info", + "ĠIn fo", + "ĠInf o", + "Ġcon ducted", + "Ġconduct ed", + "Ġconduc ted", + "Ġ Ã¥", + "Ġà ¥", + "OUR CE", + "Ġ wine", + "Ġw ine", + "Ġwin e", + "Ġwi ne", + "J ohn", + "Jo hn", + ".Error f", + ".Err orf", + "Ġ Age", + "ĠA ge", + "ĠAg e", + "o unded", + "ound ed", + "oun ded", + "Ġreal ize", + "Ġrealiz e", + "3 12", + "31 2", + "Ġ ];", + "Ġ] ;", + "Ġsub sequ", + "Ġsubs equ", + ", m", + "( User", + "(U ser", + "i ano", + "ia no", + "ian o", + "Ġaccom pl", + "Ġaccomp l", + "i sp", + "is p", + ". std", + ".s td", + ".st d", + "é ĩ", + "Ġ Bed", + "ĠB ed", + "ĠBe d", + ". setAttribute", + ".set Attribute", + "B R", + "ke ep", + "kee p", + "Ġ ALL", + "ĠA LL", + "ĠAL L", + "Ġ isol", + "Ġis ol", + "Ġi sol", + "Ġiso l", + "a mma", + "am ma", + "amm a", + "P ackage", + "Pack age", + "Ġ occasion", + "Ġocc asion", + "Ġoccas ion", + "- success", + "-s uccess", + "-su ccess", + "е д", + "еР´", + "ĠLIMIT ED", + "s trip", + "st rip", + "str ip", + "stri p", + "( )ĊĊĊ", + "() ĊĊĊ", + "()Ċ ĊĊ", + "()ĊĊ Ċ", + "is tribution", + "istrib ution", + "Color s", + "Col ors", + "Ġ+ :+", + "Did Load", + "a ler", + "al er", + "ale r", + "Ġ tid", + "Ġt id", + "Ġti d", + "Ġ LED", + "ĠL ED", + "ĠLE D", + "Ġ Linked", + "ĠLink ed", + "ĠLin ked", + "Ġ Cart", + "ĠC art", + "ĠCar t", + "ĠCa rt", + "( ))čĊ", + "() )čĊ", + "()) čĊ", + "_ READ", + "_RE AD", + "Ġk illing", + "Ġkill ing", + "Ġkil ling", + "Ġ PHP", + "ĠP HP", + "ĠPH P", + "f ection", + "fe ction", + "fect ion", + "fec tion", + "Ġ instances", + "Ġin stances", + "Ġinst ances", + "Ġinstance s", + "c v", + "\" />", + "\"/ >", + "Ġ sf", + "Ġs f", + "Ġt axes", + "Ġtax es", + "Ġta xes", + "_ location", + "_l ocation", + "_lo cation", + "_loc ation", + "Ġ Bitcoin", + "ĠBit coin", + "u able", + "ua ble", + "r ank", + "ra nk", + "ran k", + "i gnore", + "ig nore", + "ign ore", + "t rack", + "tr ack", + "tra ck", + "к а", + "Ġshould n", + "Ġ OP", + "ĠO P", + "= >{Ċ", + "=> {Ċ", + "Ġ km", + "Ġk m", + "Ġ helper", + "Ġh elper", + "Ġhelp er", + "Ġhel per", + "_ head", + "_h ead", + "_he ad", + "Ġ Whether", + "ĠWh ether", + "ĠWhe ther", + "o co", + "oc o", + "_ bl", + "_b l", + "Ġ statistics", + "Ġstat istics", + "Ġstatist ics", + "Ġstatistic s", + "Ġbe auty", + "Ġbeaut y", + "Ġbeau ty", + "Ġ tog", + "Ġt og", + "Ġto g", + "t ip", + "ti p", + "ëĭ ¤", + "Ġ csv", + "Ġc sv", + "Ġcs v", + "( sql", + "(s ql", + "(sq l", + "std lib", + "we ak", + "Ġ likes", + "Ġl ikes", + "Ġli kes", + "Ġlike s", + "Ġlik es", + "Ä į", + "Ġ repeat", + "Ġre peat", + "Ġrep eat", + "Ġrepe at", + "Ġa partment", + "Ġap artment", + "Ġapart ment", + "Ġe mph", + "Ġem ph", + "Ġemp h", + "_ edit", + "_e dit", + "_ed it", + "Ġ vit", + "Ġv it", + "Ġvi t", + "ĉ type", + "ĉt ype", + "ĉtyp e", + "2 17", + "21 7", + "E ven", + "Ev en", + "u ten", + "ut en", + "ute n", + "Ġcircum stances", + "Ġcircumstance s", + "b ian", + "bi an", + "bia n", + "Ġs ugar", + "Ġsu gar", + "Ġsug ar", + "W indows", + "Window s", + "Wind ows", + "ì ŀ", + "Ġobs erved", + "Ġobserv ed", + "Ġobserve d", + "/ data", + "/d ata", + "/dat a", + "Ġ calendar", + "Ġc alendar", + "Ġcal endar", + "Ġcalend ar", + "Ġ strike", + "Ġst rike", + "Ġstr ike", + "Ġstri ke", + "Ġ RES", + "ĠR ES", + "ĠRE S", + "_ sc", + "_s c", + "f ony", + "fo ny", + "fon y", + "o rem", + "or em", + "ore m", + "( z", + "p ower", + "po wer", + "pow er", + "et ect", + "ete ct", + "Ġ Sat", + "ĠS at", + "ĠSa t", + ". description", + ".d escription", + ".de scription", + ".des cription", + "Ġ gang", + "Ġg ang", + "Ġga ng", + "Ġgan g", + "Ġ Sports", + "ĠS ports", + "ĠSp orts", + "ĠSport s", + "ĠSpo rts", + "ĠSpor ts", + "on gs", + "ong s", + "Ġ Bundle", + "ĠB undle", + "ĠBund le", + "ĠBun dle", + ". sum", + ".s um", + "o nce", + "on ce", + "Ġacc used", + "Ġaccus ed", + "Ġaccuse d", + "Ġexp lore", + "Ġexpl ore", + "Ġexplo re", + "Ġexplor e", + "Ġ approximately", + "Ġapprox imately", + "Ġapproximate ly", + "Ġ losing", + "Ġl osing", + "Ġlo sing", + "Ġlos ing", + "th esis", + "the sis", + "thes is", + "Ġ Fund", + "ĠF und", + "ĠFun d", + "ĠFu nd", + "Ġdi agn", + "Ġdia gn", + "Ġdiag n", + "A utowired", + "p roperties", + "prop erties", + "proper ties", + "Ġ _.", + "Ġ_ .", + "Ġ cnt", + "Ġc nt", + "Ġcn t", + "ced ure", + "Ġ yy", + "Ġy y", + "Ġ grant", + "Ġg rant", + "Ġgr ant", + "Ġgran t", + "Ġgra nt", + "s ock", + "so ck", + "soc k", + ". innerHTML", + ".inner HTML", + "Ġ ]);Ċ", + "Ġ] );Ċ", + "Ġ]) ;Ċ", + "Ġ]); Ċ", + "Ġ CONFIG", + "ĠCON FIG", + "ĠCONF IG", + "= '$", + "=' $", + "5 50", + "55 0", + "] ];Ċ", + "]] ;Ċ", + "]]; Ċ", + "U ND", + "UN D", + "Ġ glob", + "Ġg lob", + "Ġgl ob", + "Ġglo b", + "Ġ dire", + "Ġd ire", + "Ġdi re", + "Ġdir e", + "uff le", + "_ MEM", + "_M EM", + "_ME M", + "Ġauth entic", + "> (\"", + ">( \"", + "Ġde cade", + "Ġdec ade", + "Ġdecad e", + "Ġ Import", + "ĠIm port", + "ĠImp ort", + "Ġorig inally", + "Ġoriginal ly", + "Ġorigin ally", + "Ġ jQuery", + "Ġj Query", + "Ġind icate", + "Ġindic ate", + "Ġindica te", + "Ġours elves", + "S w", + ". lbl", + ".l bl", + ".lb l", + "en erate", + "ener ate", + "ene rate", + "Ġbas ically", + "Ġbasic ally", + "Ġ Hom", + "ĠH om", + "ĠHo m", + "Ġ+ #+", + "Ġ+# +", + "Ġ Britain", + "ĠBrit ain", + "ĠBri tain", + "Ġ Kar", + "ĠK ar", + "ĠKa r", + "to Equal", + ". stop", + ".s top", + ".st op", + "Ġ modal", + "Ġm odal", + "Ġmod al", + "Ġmo dal", + "Ġmoda l", + "i si", + "is i", + "Ġsuggest s", + "Ġ dtype", + "Ġd type", + "Ġdt ype", + "Ġ tur", + "Ġt ur", + "Ġtu r", + "b f", + "Ġ connections", + "Ġconnection s", + "Ġconn ections", + "Ġconnect ions", + "Ġ Before", + "ĠB efore", + "ĠBe fore", + "i sted", + "is ted", + "ist ed", + "iste d", + "m ouse", + "mo use", + "Ġp ulled", + "Ġpull ed", + "Ġpul led", + ". build", + ".b uild", + "Ġleg islation", + "Ġlegis lation", + "Ġlegisl ation", + "Ġ forth", + "Ġf orth", + "Ġfor th", + "Ġfort h", + "p ad", + "pa d", + "e go", + "eg o", + ". Now", + ".N ow", + ".No w", + "Ġexc iting", + "Ġexcit ing", + "} ĊĊĊĊ", + "}Ċ ĊĊĊ", + "}ĊĊ ĊĊ", + "}ĊĊĊ Ċ", + "Ġcom pr", + "Ġco mpr", + "Ġcomp r", + "Ġ shares", + "Ġsh ares", + "Ġshare s", + "Ġsha res", + "Ġshar es", + "Ġ rig", + "Ġr ig", + "Ġri g", + "g reen", + "gr een", + "gre en", + "gree n", + "_ vec", + "_v ec", + "_ve c", + "Ġ enumerate", + "Ġenum erate", + "Ġenumer ate", + "A uto", + "Aut o", + "Au to", + "ic ator", + "ica tor", + "Ġ Ray", + "ĠR ay", + "ĠRa y", + "a sse", + "as se", + "ass e", + "Ġ holiday", + "Ġh oliday", + "Ġhol iday", + "Ġ nullable", + "Ġnull able", + "Ġnulla ble", + "g un", + "gu n", + "_ details", + "_d etails", + "_de tails", + "_detail s", + "_det ails", + "Ġ wrapper", + "Ġw rapper", + "Ġwr apper", + "Ġwrap per", + "s eq", + "se q", + "Ġ Young", + "ĠYou ng", + "ĠYo ung", + "ju ana", + "juan a", + "Ġ\" __", + "Ġ\"_ _", + "l icense", + "lic ense", + "s erve", + "se rve", + "ser ve", + "serv e", + "^ (", + "i ders", + "id ers", + "ide rs", + "ider s", + ". Remove", + ".Re move", + ".Rem ove", + "rop down", + "' S", + "p in", + "pi n", + "( token", + "(t oken", + "(to ken", + "(tok en", + ". Default", + ".D efault", + ".De fault", + ".Def ault", + "Ġ reasonable", + "Ġreason able", + "amp ion", + "ĠS ociety", + "ĠSoci ety", + "Ġ bei", + "Ġb ei", + "Ġbe i", + "er ves", + "erv es", + "erve s", + "r ad", + "ra d", + "Ġ Fox", + "ĠF ox", + "ĠFo x", + "_ images", + "_image s", + "_im ages", + "_imag es", + "Ġ wheel", + "Ġw heel", + "Ġwh eel", + "Ġwhe el", + "' )[", + "') [", + "Ġ cfg", + "Ġc fg", + "Ġcf g", + "( By", + "(B y", + "Con structor", + "Construct or", + "Ġ vary", + "Ġv ary", + "Ġvar y", + "Ġva ry", + ". swift", + ".sw ift", + "Ġ proxy", + "Ġpro xy", + "Ġpr oxy", + "Ġprox y", + "ĉ H", + "Ġ Another", + "ĠAn other", + "Ġ Pen", + "ĠP en", + "ĠPe n", + "Ġ checking", + "Ġcheck ing", + "Ġ jest", + "Ġj est", + "Ġje st", + "Ġjes t", + "m anager", + "man ager", + "manage r", + "mana ger", + "Or igin", + "Orig in", + "u gs", + "ug s", + "o ir", + "oi r", + "> čĊ", + "Ġ-- >čĊ", + "Ġ--> čĊ", + "Ġrel ief", + "Ġreli ef", + "Ġrelie f", + "l ap", + "la p", + "q uer", + "qu er", + "que r", + "_ parent", + "_p arent", + "_par ent", + "_pa rent", + "he ap", + "hea p", + "L OSE", + "LO SE", + "LOS E", + "Ġ combine", + "Ġc ombine", + "Ġcom bine", + "Ġcomb ine", + "Ġcombin e", + "Ġ Rose", + "ĠR ose", + "ĠRo se", + "ĠRos e", + "o wers", + "ow ers", + "ower s", + "owe rs", + "Ġpro cedures", + "Ġproced ures", + "Ġprocedure s", + "Ġ Sort", + "ĠS ort", + "ĠSo rt", + "ĠSor t", + "a nim", + "an im", + "ani m", + "v ariant", + "var iant", + "vari ant", + "eh icle", + "Ġsign ing", + "Ġsig ning", + "Ġsignin g", + "Pr imary", + "Prim ary", + "Pri mary", + "c urrency", + "curr ency", + "Ġs exe", + "Ġse xe", + "Ġsex e", + "o en", + "oe n", + "th eta", + "the ta", + "e man", + "em an", + "ema n", + "Ġim pressive", + "Ġimp ressive", + "Ġimpress ive", + "( '_", + "(' _", + "ĉ U", + "Ġ TextStyle", + "ĠText Style", + "_ cnt", + "_c nt", + "_cn t", + "Ġ slice", + "Ġs lice", + "Ġsl ice", + "Ġslic e", + "( ':", + "(' :", + "Ġunder stood", + "Ġunderst ood", + "H is", + "Hi s", + "2 77", + "27 7", + "0 13", + "01 3", + "Ġin formed", + "Ġinform ed", + "Ġ nick", + "Ġn ick", + "Ġni ck", + "Ġnic k", + "4 29", + "42 9", + "( TAG", + "(T AG", + "h d", + "Ġe lections", + "Ġel ections", + "Ġelect ions", + "Ġelection s", + "Ġele ctions", + "es ture", + "est ure", + "Ġ Santa", + "ĠS anta", + "ĠSan ta", + "ĠSant a", + "ĠCo ast", + ". pdf", + ".p df", + "inc iple", + "incip le", + "inci ple", + ". clone", + ".cl one", + "b orn", + "bo rn", + "bor n", + "u ta", + "ut a", + "Ġ licensed", + "Ġl icensed", + "Ġlicense d", + "Ġlic ensed", + "Ġlicens ed", + "C r", + "Ġ bread", + "Ġb read", + "Ġbr ead", + "Ġbre ad", + "Ġ Houston", + "ĠH ouston", + "ĠHou ston", + "Ġ nod", + "Ġn od", + "Ġno d", + "Ġh opes", + "Ġhope s", + "Ġhop es", + "Ġho pes", + "Ġ CGRect", + "ĠCG Rect", + "Ġgu ilty", + "Ġguilt y", + ". gif", + ".g if", + "Ġ rose", + "Ġr ose", + "Ġro se", + "Ġros e", + ". Common", + ".Com mon", + ".Comm on", + "T ip", + "Ti p", + "A NK", + "AN K", + "Ġ FC", + "ĠF C", + "D uring", + "Du ring", + "Dur ing", + "Ġ Symfony", + "ĠSym fony", + "Ġdef ensive", + "k m", + ") >", + "a rchive", + "arch ive", + "arc hive", + "Ġ URI", + "ĠU RI", + "ĠUR I", + "y cling", + "yc ling", + "ycl ing", + "- o", + "Ġ Website", + "ĠWe bsite", + "ĠWeb site", + "A MP", + "AM P", + "4 05", + "40 5", + "ish ment", + "Ġdo ctors", + "Ġdoc tors", + "Ġdoctor s", + "D irect", + "Dir ect", + "Di rect", + "Dire ct", + "A RI", + "AR I", + "Ġ Redirect", + "ĠRe direct", + "ĠRed irect", + "i eren", + "ie ren", + "ier en", + "iere n", + "9 60", + "96 0", + "_ dist", + "_d ist", + "_dis t", + "_di st", + "y o", + "Ġ Progress", + "ĠPro gress", + "Ġz um", + "Ġzu m", + "Ġme mor", + "Ġmem or", + "Ġmemo r", + "Ġ ED", + "ĠE D", + "Ġ jur", + "Ġj ur", + "Ġju r", + "æį ®", + "_ TABLE", + "_T ABLE", + "_TAB LE", + "_TA BLE", + "Ġ uuid", + "Ġu uid", + "Ġuu id", + "Ex pr", + "Exp r", + ". head", + ".h ead", + ".he ad", + "( '%", + "(' %", + "point er", + "po inter", + "Ġ estimate", + "Ġest imate", + "Ġestim ate", + "Ġ Greg", + "ĠG reg", + "ĠGr eg", + "ĠGre g", + "Ġ loader", + "Ġl oader", + "Ġlo ader", + "Ġload er", + "Ġloa der", + "Ġ iOS", + "Ġi OS", + "Ġ mens", + "Ġm ens", + "Ġme ns", + "Ġmen s", + "[ y", + "Ġref used", + "Ġrefuse d", + "Ġ precision", + "Ġp recision", + "Ġpre cision", + "Ġprec ision", + "Ġprecis ion", + "i sch", + "is ch", + "isc h", + "Ġ ACTION", + "ĠA CTION", + "ĠAC TION", + "ĠACT ION", + "C loud", + "Cl oud", + "Clo ud", + "s With", + "( ret", + "(r et", + "(re t", + "2 92", + "29 2", + "_ ADDR", + "_A DDR", + "_ADD R", + "_AD DR", + "_ conf", + "_con f", + "_co nf", + "( df", + "(d f", + "Ġ locked", + "Ġl ocked", + "Ġloc ked", + "Ġlock ed", + "Ġ rising", + "Ġr ising", + "Ġris ing", + "Ġri sing", + "ãĥ» ãĥ»", + "Ġ Ms", + "ĠM s", + "Ġ scenes", + "Ġsc enes", + "Ġscene s", + "Ġscen es", + "Ġsce nes", + "_ EXT", + "_E XT", + "_EX T", + "_ raw", + "_r aw", + "_ra w", + "_ the", + "_t he", + "_th e", + "pe ople", + "Ġre con", + "Ġrec on", + "Ġreco n", + "Ġ Fun", + "ĠF un", + "ĠFu n", + "Ġb less", + "Ġbl ess", + "Ġble ss", + "Ġ Updated", + "ĠUp dated", + "ĠUpdate d", + "4 22", + "42 2", + "ü n", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠčĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠčĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠčĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ čĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠčĊ", + "p ection", + "pe ction", + "pect ion", + "pec tion", + "R elease", + "Re lease", + "Rel ease", + ". logger", + ".log ger", + ".lo gger", + "Ġ SY", + "ĠS Y", + "Ġc ounsel", + "Ġcoun sel", + "u rd", + "ur d", + "_ true", + "_tr ue", + "Ġevery body", + "iv ot", + "ivo t", + "Ġh ence", + "Ġhe nce", + "Ġhen ce", + "Ġ NAS", + "ĠN AS", + "ĠNA S", + "7 89", + "78 9", + "Ġop posed", + "Ġopp osed", + "Ġoppos ed", + "Ġoppose d", + "un known", + "unk nown", + "Ġ DESC", + "ĠD ESC", + "ĠDE SC", + "ĠDES C", + "Ġ Chair", + "ĠC hair", + "ĠCh air", + "ĠCha ir", + "f ailed", + "fa iled", + "fail ed", + "Ġ INCLUDING", + "ĠIN CLUDING", + "3 86", + "38 6", + "3 52", + "35 2", + "Ġ writers", + "Ġw riters", + "Ġwrit ers", + "Ġwrite rs", + "Ġwriter s", + "{ }Ċ", + "{} Ċ", + "ÃŃ t", + "_ copy", + "_c opy", + "_co py", + "} :", + "Ġ Bat", + "ĠB at", + "ĠBa t", + "Ġ converted", + "Ġcon verted", + "Ġconvert ed", + "Ġconver ted", + "e ding", + "ed ing", + "edi ng", + "edin g", + "pl acement", + "place ment", + "Ġ Host", + "ĠH ost", + "ĠHo st", + "ĠHos t", + "S ound", + "So und", + "Sou nd", + "и м", + "Ġs ought", + "Ġso ught", + "Ġsou ght", + "4 02", + "40 2", + "m id", + "mi d", + "Ġ salary", + "Ġs alary", + "Ġsal ary", + "Ġsala ry", + "o gg", + "og g", + "âĦ ¢", + "b ul", + "bu l", + "Ġw ir", + "Ġwi r", + "valid ator", + "_ STAT", + "_ST AT", + "_STA T", + ". store", + ".st ore", + "Ġ Battle", + "ĠB attle", + "ĠBat tle", + "ĠBatt le", + "ı n", + "Ġ -->ĊĊ", + "Ġ-- >ĊĊ", + "Ġ-->Ċ Ċ", + "Ġ--> ĊĊ", + "Tr ump", + "d ot", + "do t", + "Ġ CONT", + "ĠC ONT", + "ĠCON T", + "ĠCO NT", + ". fetch", + ".f etch", + "Ġcont inu", + "Ġcontin u", + "w as", + "wa s", + "Ġf raud", + "Ġfr aud", + "Ġfra ud", + "Ġfrau d", + "_ tmp", + "_t mp", + "_tm p", + "m itter", + "mit ter", + "mitt er", + ". pictureBox", + ".p ictureBox", + ".picture Box", + "G A", + "Ġ tournament", + "Ġt ournament", + ". Input", + ".In put", + "3 43", + "34 3", + "[ r", + "ex ion", + "cent age", + "ĠK orean", + "ĠKore an", + "ĠKorea n", + "ĠKor ean", + "u ndef", + "un def", + "und ef", + "unde f", + "Ġ Available", + "ĠA vailable", + "ĠAv ailable", + "re shape", + "res hape", + "resh ape", + "Ġ kit", + "Ġk it", + "Ġki t", + "Ġ Struct", + "ĠStr uct", + "Ġ SUB", + "ĠS UB", + "ĠSU B", + "An swer", + "Ans wer", + "_ lib", + "_l ib", + "_li b", + ". twitter", + ".t witter", + ".tw itter", + "Ġ ore", + "Ġo re", + "Ġor e", + "Ġ Dragon", + "ĠD ragon", + "ĠDr agon", + "ĠDrag on", + "ĠDra gon", + ". Ext", + ".Ex t", + ".E xt", + ", k", + "Ġex planation", + "Ġexplan ation", + "r efs", + "re fs", + "ref s", + "Ġ Drive", + "ĠD rive", + "ĠDr ive", + "Ġ Training", + "ĠTr aining", + "ĠTra ining", + "ĠTrain ing", + "2 82", + "28 2", + ". Has", + ".H as", + "3 41", + "34 1", + "int age", + "inta ge", + "b ig", + "bi g", + "olog ist", + "olo gist", + "ologi st", + "en nis", + "enn is", + "4 60", + "46 0", + "Ù ĩ", + "Ġch icken", + "Ġchi cken", + "Ġchick en", + "Ġchic ken", + "Ġ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ Ċ", + "ç Ľ", + "ãģ §", + "Ġ peak", + "Ġpe ak", + "Ġpea k", + "Ġdr inking", + "Ġdrink ing", + "Ġ encode", + "Ġen code", + "Ġenc ode", + "Ġ NEW", + "ĠN EW", + "ĠNE W", + "m alloc", + "mal loc", + "mall oc", + "ĉ fprintf", + "ĉf printf", + "Ġ= ================================================================", + "Ġ================= ================================================", + "Ġ================================================= ================", + "Ġ================================= ================================", + "Ġ============================================================== ===", + "in cluding", + "incl uding", + "inclu ding", + "Ġprincip les", + "Ġprinciple s", + "Ġprinc iples", + "Ġ Mah", + "ĠM ah", + "ĠMa h", + "2 67", + "26 7", + "st orage", + "sto rage", + "stor age", + "- key", + "-k ey", + "Ġ keyword", + "Ġkey word", + "% ;", + "Ġ trained", + "Ġtr ained", + "Ġtrain ed", + "Ġtra ined", + "Ġtrai ned", + ". contrib", + ".con trib", + ".cont rib", + "Ġ kv", + "Ġk v", + "__ ':Ċ", + "Ġ Boy", + "ĠB oy", + "ĠBo y", + "param eter", + "para meter", + "Ġ suite", + "Ġs uite", + "Ġsu ite", + "Ġsuit e", + "Ġsui te", + "Ġth ousand", + "Ġthous and", + "Ġthou sand", + "Ġ coordinate", + "Ġco ordinate", + "Ġcoord inate", + "Ġcoordin ate", + "- generated", + "-g enerated", + "íķ ĺ", + "g enerated", + "gener ated", + "generate d", + "gene rated", + "Ġad mitted", + "Ġadm itted", + "Ġadmit ted", + "Ġp ussy", + "Ġpus sy", + "Ġpuss y", + "# w", + "Ġsw im", + "un ion", + "uni on", + "N a", + "2 74", + "27 4", + "Ġ Royal", + "ĠR oyal", + "ĠRoy al", + "ĠRo yal", + ". channel", + ".ch annel", + "Up dated", + "Update d", + "_ ROOT", + "_R OOT", + "_RO OT", + "Ġv ital", + "Ġvi tal", + "Ġvit al", + "Ġvita l", + "3 35", + "33 5", + "r action", + "ra ction", + "rac tion", + "ract ion", + "ĠCr usher", + "ĠCrush er", + "ĠCru sher", + "ĠCrus her", + "Ġ preced", + "Ġpr eced", + "Ġpre ced", + "Ġprec ed", + "Ġ horizontal", + "Ġh orizontal", + "Ġhor izontal", + "Ġhorizon tal", + "Blue print", + "Ġ attrs", + "Ġat trs", + "Ġatt rs", + "Ġattr s", + "Ġsm oke", + "Ġsmo ke", + "Ð Ĵ", + ". Equals", + ".E quals", + ".Equal s", + "F B", + "Ġ Resources", + "ĠRe sources", + "ĠRes ources", + "ĠResource s", + "rol ling", + "roll ing", + "Ġ passes", + "Ġp asses", + "Ġpass es", + "Ġpas ses", + "Ġpasse s", + "Ġ Num", + "ĠN um", + "ĠNu m", + "r otate", + "rot ate", + "e type", + "et ype", + "ety pe", + "\\ \",", + "\\\" ,", + "Ġs ensitive", + "Ġsens itive", + "Ġsensit ive", + "Ġt all", + "Ġtal l", + "Ġta ll", + "? âĢĿĊĊ", + "?âĢĿ ĊĊ", + "Pro xy", + "Pr oxy", + "i y", + "_ section", + "_s ection", + "_se ction", + "_sec tion", + "âĢĶâĢĶ âĢĶâĢĶ", + "b rid", + "br id", + "Ġc ircuit", + "Ġcirc uit", + "a tan", + "at an", + "ata n", + "E NC", + "EN C", + "Ġdr iven", + "Ġdrive n", + "Ġdriv en", + "Ġdri ven", + "Ġv oted", + "Ġvo ted", + "Ġvot ed", + "Ġvote d", + "Ġeduc ational", + "Ġeducation al", + "Ġ interaction", + "Ġinter action", + "Ġinteract ion", + "Ġinte raction", + "ab etes", + "abe tes", + "abet es", + "Ġ tone", + "Ġt one", + "Ġto ne", + "Ġton e", + "ĠInitialize Component", + "Ġmer ely", + "Ġmere ly", + "Ġ ìŀ", + "Ġì ŀ", + "c ookie", + "co okie", + "cook ie", + "_ div", + "_d iv", + "_di v", + "Ġ UILabel", + "ĠUI Label", + "ĠUIL abel", + "v ely", + "ve ly", + "vel y", + "} );čĊ", + "}) ;čĊ", + "}); čĊ", + "_ ENT", + "_E NT", + "_EN T", + "#+ #+", + "art icles", + "article s", + "arti cles", + "artic les", + "Ġ Southern", + "ĠSouth ern", + "ĠSou thern", + "Ġstrong er", + "Ġstro nger", + "Ġstron ger", + "Ġ Given", + "ĠG iven", + "ĠGi ven", + "ĠGive n", + "Ġ Eric", + "ĠE ric", + "ĠEr ic", + "Ġ IR", + "ĠI R", + "a bstract", + "ab stract", + "abs tract", + "U nder", + "Un der", + "Und er", + "n able", + "na ble", + "Ġ increment", + "Ġin crement", + "Ġincre ment", + "Ġinc rement", + "Ġincr ement", + "o ven", + "ov en", + "ove n", + "Ġ coin", + "Ġc oin", + "Ġco in", + "Ġcoi n", + "_ timer", + "_t imer", + "_time r", + "_tim er", + "_ti mer", + "Ġsuffer ed", + "Ġsuff ered", + "Ġ FREE", + "ĠF REE", + "ĠFR EE", + "ĠFRE E", + "' ].\"", + "'] .\"", + "']. \"", + "Ġ Queen", + "ĠQu een", + "ĠQue en", + "st ats", + "stat s", + "sta ts", + "Ġmeet ings", + "Ġmeeting s", + "Ġmee tings", + "2 76", + "27 6", + "Ġen tering", + "Ġent ering", + "Ġenter ing", + "Ġalong side", + "( session", + "(s ession", + "(sess ion", + "it als", + "ital s", + "ita ls", + "Ġ foundation", + "Ġf oundation", + "Ġfound ation", + "Ġ Credit", + "ĠC redit", + "ĠCr edit", + "ĠCre dit", + ". div", + ".d iv", + ".di v", + "_ ALL", + "_A LL", + "_AL L", + "p cion", + "pc ion", + "pci on", + "_ stat", + "_s tat", + "_st at", + "_sta t", + "ic king", + "ick ing", + "Default s", + "_ src", + "_s rc", + "_sr c", + "Ġ outputs", + "Ġout puts", + "Ġoutput s", + "/ B", + "Ġen thus", + "Ġent hus", + "Ġenth us", + "- bl", + "-b l", + ". ForeColor", + ".Fore Color", + "ĉ temp", + "ĉt emp", + "F ace", + "Fac e", + "Fa ce", + "Ġinter act", + "Ġinte ract", + "Ġwe ird", + "Ġwei rd", + "Ġweir d", + "M ount", + "Mo unt", + "r ell", + "re ll", + "rel l", + "ud ents", + "ude nts", + "udent s", + "uden ts", + "Ġrequire ment", + "Ġrequ irement", + "Ġ Sus", + "ĠS us", + "ĠSu s", + "I ER", + "IE R", + "Ġe lected", + "Ġel ected", + "Ġelect ed", + "re ference", + "ref erence", + "refer ence", + "Ġ ME", + "ĠM E", + "Ġ servers", + "Ġs ervers", + "Ġser vers", + "Ġserver s", + "Ġserv ers", + "Ġserve rs", + ". wait", + ".w ait", + "Ġ snapshot", + "Ġs napshot", + "Ġsnap shot", + "Ġsnaps hot", + "il ton", + "ilt on", + "Ġ tries", + "Ġt ries", + "Ġtr ies", + "Ġtri es", + "Ġtrie s", + "Ġ tipo", + "Ġt ipo", + "Ġti po", + "Ġtip o", + ". Time", + ".T ime", + "> w", + "Ġm ountain", + "Ġmount ain", + "Ġp ounds", + "Ġpo unds", + "Ġpou nds", + "Ġpound s", + "Ġ[ ...", + "Ġ[. ..", + "ex ists", + "exist s", + "Ġng On", + "_ MAP", + "_M AP", + "_MA P", + "Ġf lying", + "Ġfl ying", + "Ġfly ing", + "3 31", + "33 1", + "xi ety", + "ĉ value", + "ĉv alue", + "ĉval ue", + "ĉva lue", + "_ DB", + "_D B", + "u no", + "un o", + "Ġse ats", + "Ġsea ts", + "Ġseat s", + "T URN", + "TU RN", + ". author", + ".a uthor", + ".auth or", + ".aut hor", + "! )", + "or ce", + "orc e", + "Ġind icated", + "Ġindic ated", + "Ġindicate d", + "Ġindica ted", + "3 17", + "31 7", + ". sin", + ".s in", + ".si n", + "Ġ assignment", + "Ġass ignment", + "Ġassign ment", + "im iento", + "imi ento", + "Ġ Frame", + "ĠF rame", + "ĠFr ame", + "ĠFra me", + "ĠFram e", + "3 24", + "32 4", + "_ gen", + "_g en", + "_ge n", + "in ery", + "ine ry", + "iner y", + "_ )", + "m essages", + "message s", + "mess ages", + ". settings", + ".s ettings", + ".set tings", + ".setting s", + "Ġ Mean", + "ĠM ean", + "ĠMe an", + "ĠM useum", + "ĠMus eum", + "ĠMuse um", + "i rq", + "ir q", + "at tach", + "att ach", + "atta ch", + "ĠPale stin", + "ĠPalest in", + "_ QU", + "_Q U", + "_ tags", + "_t ags", + "_tag s", + "_ta gs", + "Ġcas ual", + "e men", + "em en", + "eme n", + "ASS WORD", + "4 32", + "43 2", + "$ s", + "ĠC irc", + "ĠCi rc", + "ĠCir c", + "о й", + "оР¹", + "et ric", + "etr ic", + "etri c", + "/ P", + "0 18", + "01 8", + "Ġ epoch", + "Ġep och", + "< head", + " The", + ">T he", + "Ġ Ak", + "ĠA k", + "Ġ grass", + "Ġgr ass", + "Ġgra ss", + "Ġgras s", + "/ *čĊ", + "/* čĊ", + "( dis", + "(d is", + "(di s", + "Ġ guns", + "Ġg uns", + "Ġgu ns", + "Ġgun s", + "Ġ tb", + "Ġt b", + "Ġ Kevin", + "ĠK evin", + "ĠKe vin", + ". args", + ".ar gs", + ".arg s", + "Ġ Ah", + "ĠA h", + "o ped", + "op ed", + "ope d", + "( J", + "column s", + "arg uments", + "argument s", + "ĠWith Events", + "_ full", + "_f ull", + "_fu ll", + "Ġ Defense", + "ĠDef ense", + "S imple", + "Sim ple", + "Ġde aths", + "Ġdeath s", + "2 95", + "29 5", + "Ġext ensive", + "Ġ Still", + "ĠSt ill", + "Ġ Expression", + "ĠEx pression", + "ĠExp ression", + "ĠExpress ion", + "ĠExpr ession", + "Ġ Agency", + "ĠA gency", + "ĠAg ency", + "ĠAge ncy", + "Ġper forming", + "Ġperform ing", + "Ġperfor ming", + "F X", + "Ġ usuario", + "Ġus uario", + "Ġusu ario", + "U AL", + "UA L", + "S ide", + "Si de", + "Sid e", + "o dos", + "od os", + "odo s", + "ap top", + "apt op", + "Ġ credentials", + "Ġc redentials", + "Ġcred entials", + "Ġcredential s", + "_ cap", + "_c ap", + "_ca p", + "at ient", + "ati ent", + "atie nt", + "Ġ Disney", + "ĠDis ney", + "Ġ ai", + "Ġa i", + "Ġ chip", + "Ġc hip", + "Ġch ip", + "Ġchi p", + "Ġ volt", + "Ġv olt", + "Ġvo lt", + "Ġvol t", + ".make Text", + "%%%%%%%% %%%%%%%%", + "Ġ belief", + "Ġbel ief", + "Ġbelie f", + "_ LOC", + "_L OC", + "_LO C", + "Ġ Civil", + "ĠC ivil", + "ĠCi vil", + "ĠCiv il", + "N avigation", + "Nav igation", + "Navig ation", + "Ġ reveal", + "Ġre veal", + "Ġreve al", + "Ġ violent", + "Ġviol ent", + "Ġ Fil", + "ĠF il", + "ĠFi l", + "Ġ catalog", + "Ġc atalog", + "Ġcat alog", + "Ġcata log", + "Ġcatal og", + "e med", + "em ed", + "eme d", + "s can", + "sc an", + ". control", + ".c ontrol", + ".cont rol", + "Ġ constitution", + "Ġcon stitution", + "Ġconst itution", + "Ġconstit ution", + "Ġconstitu tion", + "C ountry", + "Count ry", + "S eparator", + "Se parator", + "Separ ator", + "_ APP", + "_A PP", + "_AP P", + "t opic", + "to pic", + "top ic", + "u etooth", + "uet ooth", + "M IN", + "MI N", + "Ġ descriptor", + "Ġdes criptor", + "y t", + "ET HER", + "ETH ER", + "Ġd istribute", + "Ġdis tribute", + "Ġdistrib ute", + "' }Ċ", + "'} Ċ", + ". trim", + ".t rim", + ".tr im", + ". Line", + ".L ine", + "Ġ lbl", + "Ġl bl", + "Ġlb l", + "assert Equals", + "Ġ Det", + "ĠD et", + "ĠDe t", + "omb ok", + "ombo k", + "( width", + "(w idth", + "Ġt ort", + "Ġto rt", + "Ġtor t", + "ĠEX PRESS", + "ĠEXP RESS", + "a co", + "ac o", + "U sing", + "Us ing", + "Ġ Brand", + "ĠB rand", + "ĠBr and", + "ĠBra nd", + "ĠBran d", + "w all", + "wa ll", + "wal l", + "E MENT", + "EM ENT", + "Ġ Communic", + "ĠComm unic", + "ĠCommun ic", + "< uint", + " (Ċ", + ">( Ċ", + "? >\"", + "?> \"", + "Ġ ///Ċ", + "Ġ// /Ċ", + "Ġ/ //Ċ", + "Ġ/// Ċ", + "Ġe iner", + "Ġein er", + "Ġeine r", + "Ġei ner", + "Ġ weekly", + "Ġweek ly", + "ĉ logger", + "ĉlog ger", + "_ pop", + "_p op", + "_po p", + "_ man", + "_m an", + "_ma n", + "Ġm igrations", + "Ġmigr ations", + "Ġmigration s", + "Ġ asks", + "Ġas ks", + "Ġask s", + "Ġ bs", + "Ġb s", + "Ġ falls", + "Ġf alls", + "Ġfall s", + "Ġfal ls", + ". Where", + ".W here", + ".Wh ere", + "- height", + "-h eight", + "-he ight", + "_ feature", + "_f eature", + "_fe ature", + "_feat ure", + ". Min", + ".M in", + "Ġ hyper", + "Ġh yper", + "Ġhy per", + "Ġhyp er", + "Ġhype r", + "Ġ volatile", + "Ġv olatile", + "Ġvol atile", + "Ġ twenty", + "Ġtw enty", + "Ġtwe nty", + "Typ ography", + "U nable", + "Un able", + "Una ble", + "D et", + "De t", + ", f", + "- mod", + "-m od", + "Ġset tlement", + "Ġsett lement", + "Ġsettle ment", + "Ġ contracts", + "Ġcon tracts", + "Ġcontract s", + "Ġcontr acts", + "Ġcontra cts", + "n ome", + "no me", + "nom e", + "B ad", + "Ba d", + "Ġ Brian", + "ĠB rian", + "ĠBr ian", + "ĠBri an", + "7 68", + "76 8", + "( username", + "(user name", + "! !!!", + "!! !!", + "!!! !", + "Ġ hack", + "Ġh ack", + "Ġha ck", + "Ġhac k", + ". Field", + ".F ield", + "H R", + "Ġ Jordan", + "ĠJ ordan", + "ĠJord an", + "i za", + "iz a", + "Ġ Âł", + "Ġ ł", + "Ġ Sher", + "ĠS her", + "ĠSh er", + "ĠShe r", + ". header", + ".head er", + ".he ader", + "( other", + "(o ther", + "Ġ Dub", + "ĠD ub", + "ĠDu b", + "( op", + "(o p", + "Ġ Round", + "ĠR ound", + "ĠRo und", + "ĠRou nd", + "Ġ vie", + "Ġv ie", + "Ġvi e", + "Ġ appl", + "Ġapp l", + "Ġap pl", + "ĉ J", + "Ġ Insert", + "ĠIn sert", + "ĠIns ert", + "Ġ LP", + "ĠL P", + "re gon", + "reg on", + "rego n", + "Ġ MPI", + "ĠM PI", + "ĠMP I", + "Ġ anchor", + "Ġan chor", + "Ġanch or", + "Ġanc hor", + "a ca", + "ac a", + "ø r", + "Ġ ade", + "Ġa de", + "Ġad e", + "an chor", + "anc hor", + "anch or", + "qu ee", + "que e", + "Ġ TreeNode", + "ĠT reeNode", + "ĠTree Node", + "Ġtarget ed", + "Ġtarg eted", + "Ġl aid", + "Ġla id", + "Ġlai d", + "A BEL", + "AB EL", + "v et", + "ve t", + "Ġ Origin", + "ĠOr igin", + "ĠOri gin", + "ĠOrig in", + "A nt", + "An t", + ". ');Ċ", + ".' );Ċ", + ".') ;Ċ", + ".'); Ċ", + "ex pect", + "exp ect", + "ed Reader", + "Ġ Major", + "ĠM ajor", + "ĠMaj or", + "Ġ inch", + "Ġin ch", + "Ġinc h", + "Com par", + "Co mpar", + "Comp ar", + "Ġ preview", + "Ġp review", + "Ġpr eview", + "Ġpre view", + "Ġprev iew", + "Ġill ness", + "ĠCON TRACT", + "ĠCONTR ACT", + "ĠCONT RACT", + "Ġ Independ", + "ĠIn depend", + "ĠInd epend", + "u uid", + "uu id", + "Ġ nome", + "Ġn ome", + "Ġno me", + "Ġnom e", + "Ġ tc", + "Ġt c", + "ĠA venue", + "i san", + "is an", + "isa n", + "Ġ phrase", + "Ġph rase", + "_ move", + "_m ove", + "_mov e", + "_mo ve", + "\" )[", + "\") [", + "4 12", + "41 2", + "Ġpro vision", + "Ġprov ision", + "Ġconc entr", + "Ġconcent r", + "_ IR", + "_I R", + "Ġ Ut", + "ĠU t", + "( )+", + "() +", + "Ġ nas", + "Ġn as", + "Ġna s", + "! ,", + "Ġ Robin", + "ĠRob in", + "ĠRo bin", + "i ations", + "iation s", + "iat ions", + "at itude", + "Ġ px", + "Ġp x", + "Ġ Without", + "ĠWith out", + "/ bash", + "/b ash", + "e kt", + "ek t", + "re ement", + "ree ment", + "3 42", + "34 2", + "Ob server", + "Observ er", + "Obs erver", + "3 18", + "31 8", + "Ġ Region", + "ĠReg ion", + "UB LIC", + "UBL IC", + "Ġ {//", + "Ġ{ //", + "K N", + "å ·", + "Game Object", + "å ¾", + "en coding", + "enc oding", + "enco ding", + "Ġ ***", + "Ġ* **", + "Ġ** *", + "project s", + "proj ects", + "Ġ tk", + "Ġt k", + "Ġche ese", + "Ġchees e", + "EM PL", + "EMP L", + "a ro", + "ar o", + "Ġ اÙĦ", + "Ġا ÙĦ", + "6 10", + "61 0", + "3 37", + "33 7", + "Ġcons ists", + "Ġconsist s", + "re fresh", + "ref resh", + "u reau", + "ure au", + "Ġ Scanner", + "ĠSc anner", + "ĠScan ner", + "Ġs oil", + "Ġso il", + "Ġfl avor", + "Ġflav or", + "Ġfla vor", + "Data Source", + "Ex ecute", + "Exec ute", + "е ние", + "ен ие", + "ени е", + "Ġ shit", + "Ġs hit", + "Ġsh it", + "åĪ Ĩ", + "< any", + " < /", + "Qu antity", + "Quant ity", + "qu iry", + "quir y", + "qui ry", + "_ tab", + "_t ab", + "_ta b", + "Ġ alg", + "Ġa lg", + "Ġal g", + "To ast", + "re size", + "res ize", + "resi ze", + "quest ions", + "question s", + "s chema", + "sch ema", + "L iteral", + "Lite ral", + "Lit eral", + "Liter al", + "( entity", + "(e ntity", + "(ent ity", + "NE CTION", + "NECT ION", + "ch anged", + "change d", + "chan ged", + "chang ed", + "_ FIELD", + "_F IELD", + "_ HEIGHT", + "_HE IGHT", + "Ġ organic", + "Ġorg anic", + "Ġorgan ic", + "P RE", + "PR E", + "Ġ Cat", + "ĠC at", + "ĠCa t", + ". Draw", + ".D raw", + "E s", + "Ġ loud", + "Ġl oud", + "Ġlo ud", + "Ġlou d", + "6 80", + "68 0", + "Ġ ĠĠĠĠĠĠĠĉ", + "ĠĠ ĠĠĠĠĠĠĉ", + "ĠĠĠĠ ĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠ ĉ", + "ĠĠĠ ĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠ Ġĉ", + "ĠĠĠĠĠ ĠĠĠĉ", + "ĠĠĠĠĠĠ ĠĠĉ", + "Ġ Kat", + "ĠK at", + "ĠKa t", + "Ġ heap", + "Ġhe ap", + "âĢľ It", + "âĢľI t", + "0 70", + "07 0", + "e tr", + "et r", + "Ġ unlikely", + "Ġun likely", + "Ġunlike ly", + "er als", + "era ls", + "eral s", + "/ auth", + "/a uth", + "5 02", + "50 2", + "t odo", + "to do", + "tod o", + "P lace", + "Pl ace", + "Post ed", + "Pos ted", + "Po sted", + "Com ments", + "Comment s", + "Comm ents", + "Ġ Tech", + "ĠT ech", + "ĠTe ch", + "ĠTec h", + "Ġ Finally", + "ĠF inally", + "ĠFin ally", + "ĠFinal ly", + "eg ration", + "egr ation", + "egra tion", + "Ġ minimal", + "Ġmin imal", + "Ġmini mal", + "Ġminim al", + "Ġ Files", + "ĠF iles", + "ĠFile s", + "ĠFil es", + "ĠFi les", + "Ġt amb", + "Ġta mb", + "Ġtam b", + "ë¡ ľ", + "Ġ Release", + "ĠR elease", + "ĠRe lease", + "ĠRel ease", + "4 25", + "42 5", + ". resize", + ".re size", + ".res ize", + "Ġ Ï", + "c ollect", + "col lect", + "coll ect", + "= p", + "ĠLI ABLE", + "Ġp roducing", + "Ġprodu cing", + "Ġprod ucing", + "- wrapper", + "-w rapper", + "-wrap per", + "Ġs ingles", + "Ġsingle s", + "Ġsin gles", + "Ġsing les", + "ĠN BA", + "ĠNB A", + "o rr", + "or r", + "e ren", + "er en", + "ere n", + ". addAction", + ".add Action", + "Ġ thesis", + "Ġth esis", + "Ġthe sis", + "d n", + "P TY", + "PT Y", + ". des", + ".d es", + ".de s", + "Ġb acter", + "Ġba cter", + "Ġbac ter", + "Ġ Express", + "ĠEx press", + "ĠExp ress", + "ĠExpr ess", + "Ġ *)Ċ", + "Ġ* )Ċ", + "Ġ*) Ċ", + "å ij", + "/ admin", + "/ad min", + "se conds", + "sec onds", + "second s", + "åĬ Ł", + "uss ion", + "a beth", + "ab eth", + "abe th", + "abet h", + "Ġ Computer", + "ĠCom puter", + "ĠComp uter", + "ĠCompute r", + "ĠComput er", + "Ġr uling", + "Ġru ling", + "(\" ../", + "(\". ./", + "(\".. /", + ". GET", + ".G ET", + "ĠMe dal", + "ĠMed al", + "ition ally", + "itional ly", + "com mit", + "comm it", + "f ocus", + "fo cus", + "_ LEVEL", + "_LE VEL", + "i nda", + "in da", + "ind a", + "F act", + "Fac t", + "Fa ct", + "= np", + "=n p", + "=\" \">Ċ", + "=\"\" >Ċ", + "=\"\"> Ċ", + "Ġsub sequent", + "Ġsubsequ ent", + "pos able", + "- fluid", + "-fl uid", + "Ġth orough", + "Ġtho rough", + "Ġthor ough", + "Ġpublic ly", + "Ġpubli cly", + "ap ters", + "apt ers", + "apter s", + "Ġ Wilson", + "ĠWil son", + "_ PRE", + "_P RE", + "_PR E", + "y ard", + "ya rd", + "yar d", + "ä ¼", + "ĉ in", + "ĉi n", + "3 39", + "33 9", + "Ġre vers", + "Ġrev ers", + "Ġreve rs", + "Ġrever s", + "Ġ bullet", + "Ġb ullet", + "Ġbul let", + "Ġbull et", + "cri bed", + "cribe d", + "nes ota", + "Ġ ($_", + "Ġ( $_", + "Ġ($ _", + "an non", + "ann on", + "anno n", + "c ursor", + "curso r", + "Ġclo thing", + "Ġcloth ing", + "Ġ Multi", + "ĠM ulti", + "ĠMult i", + "ĠMul ti", + "2 87", + "28 7", + ": ',", + ":' ,", + "Ġv ess", + "Ġve ss", + "Ġves s", + "ord inator", + "ordin ator", + "Ġe inem", + "Ġein em", + "Ġeine m", + "Ġei nem", + "C annot", + "Can not", + "Ġ armed", + "Ġar med", + "Ġarm ed", + "ĉ V", + "ä¸ Ĭ", + ". Flat", + ".F lat", + ".Fl at", + "Ġ Sep", + "ĠS ep", + "ĠSe p", + "Ġ Subject", + "ĠSub ject", + "ĠSu bject", + "_ font", + "_f ont", + "Ġcharacter istics", + "Ġcharacteristic s", + "D one", + "Do ne", + "Don e", + "e ln", + "el n", + "#### ########", + "######## ####", + "##### #######", + "###### ######", + "####### #####", + "P OS", + "PO S", + "Ġ density", + "Ġd ensity", + "Ġdens ity", + "Ġ Platform", + "ĠPl atform", + "ĠPlat form", + "- items", + "-item s", + "-i tems", + "-it ems", + "Ġ overs", + "Ġo vers", + "Ġover s", + "Ġov ers", + "Ġp ushing", + "Ġpush ing", + "ç ¤", + ". Connection", + ".Con nection", + ".Connect ion", + ".Conn ection", + "_ term", + "_t erm", + "_te rm", + "_ter m", + "Ġinitial ization", + "________________ ________________", + "ç ¬", + ". document", + ".d ocument", + ".doc ument", + "l esh", + "le sh", + "les h", + "ĉ document", + "ĉd ocument", + "ĉdoc ument", + "Ġ Pin", + "ĠP in", + "ĠPi n", + "ç a", + "Ġ definitions", + "Ġdefinition s", + "Ġdefinit ions", + "Ġdefin itions", + ". Path", + ".P ath", + "_ WRITE", + "_W RITE", + "_WR ITE", + "Ġ ĉĊ", + "Ġĉ Ċ", + "? >ĊĊ", + "?> ĊĊ", + "?>Ċ Ċ", + "Ġter rible", + "Ġterr ible", + "b ean", + "be an", + "ick ets", + "icket s", + "Ġ SV", + "ĠS V", + "B uy", + "Bu y", + "( task", + "(t ask", + "Ġreg ime", + "g oogle", + "go ogle", + "goog le", + "goo gle", + "Ġc rack", + "Ġcr ack", + "Ġcra ck", + ". visit", + ".vis it", + "N UM", + "NU M", + "e nergy", + "en ergy", + "ener gy", + "Ġs truck", + "Ġstr uck", + "Ġstru ck", + "_ sample", + "_s ample", + ". payload", + ".p ayload", + ".pay load", + "Ġre vis", + "Ġrev is", + "Ġ Scene", + "ĠS cene", + "ĠSc ene", + "Ġ pg", + "Ġp g", + "Ġbreak fast", + "URRE NT", + ". charAt", + ".char At", + "_ exception", + "_ex ception", + "_except ion", + "ĠA nton", + "ĠAn ton", + "ĠAnt on", + "Ġguide lines", + "Ġguid elines", + "Ġguideline s", + "Ġex haust", + "Ġ Financial", + "ĠFin ancial", + "Ġ indent", + "Ġin dent", + "Ġind ent", + "Ġinde nt", + "Ġ desktop", + "Ġd esktop", + "Ġdes ktop", + "Ġdesk top", + "H idden", + "Hi dden", + "F ailure", + "Fail ure", + "Ġpr inciple", + "Ġprincip le", + "Ġprinc iple", + "Ġ iv", + "Ġi v", + "Ġs eks", + "Ġse ks", + "Ġsek s", + "n etwork", + "net work", + "Ġ numberOf", + "Ġnumber Of", + "Ġ Albert", + "ĠAl bert", + "ĠAlb ert", + "ĉ long", + "ĉl ong", + "8 01", + "80 1", + ", .", + "Ġ zeros", + "Ġz eros", + "Ġzero s", + "Ġze ros", + "Ġzer os", + "f ade", + "fa de", + "fad e", + "Ġ Typ", + "ĠT yp", + "ĠTy p", + "Ġ Term", + "ĠT erm", + "ĠTe rm", + "ĠTer m", + "ĠA rts", + "ĠAr ts", + "ĠArt s", + ". Application", + ".App lication", + ".Ap plication", + "Ġbe half", + "Ġbeh alf", + "æĪ ·", + "Ġ mere", + "Ġm ere", + "Ġme re", + "Ġmer e", + "( `${", + "(` ${", + "Ġaware ness", + "el pers", + "elp ers", + "elper s", + "f lix", + "fl ix", + "Ġ weigh", + "Ġwe igh", + "Ġwei gh", + "Ġest imates", + "Ġestim ates", + "Ġestimate s", + ". child", + ".ch ild", + "/ O", + "Ġ Bitmap", + "ĠB itmap", + "ĠBit map", + ". bottom", + ".b ottom", + ".bot tom", + "Ġ** ************************************************************************", + "Ġ************************************************************************ **", + "Ex pect", + "Exp ect", + "en to", + "ent o", + "Ġ Forum", + "ĠF orum", + "ĠFor um", + "ĠFo rum", + "v eral", + "ver al", + "ve ral", + "Ġj ail", + "Ġja il", + "Ġ abilities", + "Ġab ilities", + "ĠH OLD", + "ĠHO LD", + "ĠHOL D", + "Ġ Cit", + "ĠC it", + "ĠCi t", + "Ġd ynam", + "Ġdy nam", + "Ġdyn am", + "Ġ gray", + "Ġg ray", + "Ġgr ay", + "Ġgra y", + "ĉ ĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉ ĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉ ĉĉĉĉĉĉĉĉĉ", + "ĉĉĉ ĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉ ĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉ ĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉ ĉĉĉĉĉ", + "ĉĉĉĉĉĉĉ ĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉ ĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉ ĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉ ĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉ ĉ", + ". nextInt", + ".next Int", + "ant ly", + "ĠAR ISING", + "( private", + "(pr ivate", + "(priv ate", + "Ġ rejected", + "Ġre jected", + "Ġreject ed", + "Ġrej ected", + "Ġ Nic", + "ĠN ic", + "ĠNi c", + "Ġle ather", + "= {Ċ", + "={ Ċ", + "aly tics", + "t hetic", + "th etic", + "the tic", + ". Top", + ".T op", + ".To p", + "3 73", + "37 3", + ". Page", + ".P age", + "={ `", + "Ġ ;čĊ", + "Ġ; čĊ", + "de pth", + "dep th", + "dept h", + "m ann", + "man n", + "ma nn", + "W D", + "Ġ Som", + "ĠS om", + "ĠSo m", + ". Right", + ".R ight", + "Ġ )}Ċ", + "Ġ) }Ċ", + "Ġ trait", + "Ġt rait", + "Ġtr ait", + "Ġtra it", + "Ġtrai t", + "à Ĺ", + "i ac", + "ia c", + "Ġ rv", + "Ġr v", + "S ample", + "Sam ple", + ". Xml", + ".X ml", + "o pped", + "op ped", + "opp ed", + "Ġ ÑĦ", + "ĠÑ Ħ", + "l ists", + "li sts", + "list s", + "lis ts", + "Ġt ear", + "Ġte ar", + "Ġtea r", + "ivers ary", + ". collection", + ".c ollection", + ".col lection", + ".collect ion", + ".coll ection", + "ĠCon stitution", + "ĠConst itution", + "ĠConstit ution", + "Ġ HttpResponse", + "ĠHttp Response", + "Ġbr ill", + "Ġbri ll", + "Ġ Prom", + "ĠP rom", + "ĠPro m", + "ĠPr om", + "h over", + "ho ver", + "3 66", + "36 6", + "Ġ Miami", + "ĠM iami", + "ĠMi ami", + "ĠMia mi", + "Ġar gue", + "Ġarg ue", + "_ float", + "_f loat", + "5 04", + "50 4", + "Ġ ãĤ", + "Ġ nat", + "Ġn at", + "Ġna t", + "ĠT al", + "ĠTa l", + "Ġ integration", + "Ġint egration", + "Ġinteg ration", + "Ġintegr ation", + "( cur", + "(c ur", + "Ġre moving", + "Ġrem oving", + "Ġ coeff", + "Ġc oeff", + "Ġco eff", + "Ġcoef f", + "Ġ Though", + "ĠTh ough", + "ĠThou gh", + "Ġ forecast", + "Ġfor ecast", + "Ġfore cast", + "4 08", + "40 8", + "ĠV egas", + "ĠVe gas", + "ĠVega s", + "ĠVeg as", + "S ite", + "Si te", + "Sit e", + "3 46", + "34 6", + "Ġt rab", + "Ġtr ab", + "Ġtra b", + "Ġ Henry", + "ĠHen ry", + "- i", + "Ġinv olves", + "Ġinvol ves", + "Ġinvolve s", + "B T", + "Ġs lo", + "Ġsl o", + "In voke", + "Inv oke", + "Ġl ucky", + "Ġluck y", + "Ġlu cky", + "Ġluc ky", + "0 25", + "02 5", + "r at", + "ra t", + "Ġ ?Ċ", + "Ġ? Ċ", + "Ġ handled", + "Ġhand led", + "Ġhandle d", + "( fd", + "(f d", + "cont ents", + "content s", + "conte nts", + "Ġ OFF", + "ĠO FF", + "ĠOF F", + "R F", + "Ġ sty", + "Ġs ty", + "Ġst y", + "Ġ Motor", + "ĠM otor", + "ĠMo tor", + "ĠMot or", + "ĠMoto r", + "t ery", + "ter y", + "te ry", + "t ax", + "ta x", + "M AP", + "MA P", + "Ġ Mrs", + "ĠM rs", + "ĠMr s", + "Ġ phones", + "Ġph ones", + "Ġphone s", + "Ġphon es", + "Ġ UIView", + "ĠUI View", + "\" )));Ċ", + "\") ));Ċ", + "\")) );Ċ", + "\"))) ;Ċ", + "\"))); Ċ", + "( dev", + "(d ev", + "(de v", + "ĠI rish", + "ĠIr ish", + "ĠIris h", + "0 19", + "01 9", + "Ġ ws", + "Ġw s", + "D I", + "_ OFFSET", + "_OFF SET", + "Ġ Events", + "ĠE vents", + "ĠEvent s", + "ĠEven ts", + "ĠEv ents", + "ĠEve nts", + "Ġst ages", + "Ġstage s", + "Ġsta ges", + "Ġstag es", + "Ġ }//", + "Ġ} //", + "Ġh aben", + "Ġhab en", + "Ġha ben", + "Ġhabe n", + "ST ANCE", + "Ġ Sin", + "ĠS in", + "ĠSi n", + "Ġ Money", + "ĠM oney", + "ĠMon ey", + "ĠMo ney", + "( top", + "(t op", + "(to p", + "Ġ appointment", + "Ġapp ointment", + "Ġappoint ment", + "V ERSION", + "VER SION", + "VERS ION", + "m etadata", + "met adata", + "meta data", + "_ comment", + "_com ment", + "_comm ent", + "Ġcolle agues", + "Ġcolleague s", + "m aps", + "ma ps", + "map s", + "â ĺ", + "Ċ ĉĊ", + "( al", + "(a l", + "_ req", + "_re q", + "_r eq", + "Ġf ut", + "Ġfu t", + "Ġ architecture", + "Ġarch itecture", + "Ġarchitect ure", + "Ġarchit ecture", + "3 51", + "35 1", + "ĠWH ETHER", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "_ screen", + "_s creen", + "_sc reen", + "_scr een", + "Ġstyle Urls", + "Ġ monster", + "Ġmon ster", + ". up", + ".u p", + "ph ia", + "phi a", + "Ġ processor", + "Ġprocess or", + "Ġproc essor", + "Ġprocesso r", + "Ġ Terr", + "ĠT err", + "ĠTe rr", + "ĠTer r", + "= ',", + "=' ,", + "Ġ Manufact", + "ĠMan ufact", + "Ġ NT", + "ĠN T", + "k el", + "ke l", + "i bern", + "ib ern", + "iber n", + "ibe rn", + "ĉ file", + "ĉf ile", + "ĉfi le", + "A li", + "Al i", + "rient ation", + "Ġ //!", + "Ġ// !", + "ap ore", + "apor e", + "apo re", + "an eous", + "ane ous", + "Ġ Creat", + "ĠC reat", + "ĠCr eat", + "ĠCre at", + "f older", + "fo lder", + "fol der", + "fold er", + "4 15", + "41 5", + "Ġ hay", + "Ġh ay", + "Ġha y", + "Sup press", + "( left", + "(l eft", + "(le ft", + "Ġe uro", + "Ġeu ro", + "Ġdis claimer", + "u stry", + "us try", + "ust ry", + "ustr y", + "s hips", + "sh ips", + "ship s", + "shi ps", + "_ fd", + "_f d", + "Ġ Fa", + "ĠF a", + "_ insert", + "_in sert", + "_ins ert", + "Ġ rol", + "Ġr ol", + "Ġro l", + "if ting", + "ift ing", + "Ġ Comments", + "ĠCom ments", + "ĠComm ents", + "ĠComment s", + "_ br", + "_b r", + "Ġlos ses", + "Ġloss es", + "Ġ Added", + "ĠAd ded", + "ĠAdd ed", + "ch arg", + "char g", + "cha rg", + "Ġ по", + "Ġп о", + "_ system", + "_s ystem", + "_sys tem", + "_sy stem", + "Ġ Sometimes", + "ĠS ometimes", + "ĠSome times", + "ĠSom etimes", + "Ġ Spain", + "ĠS pain", + "ĠSp ain", + "ĠSpa in", + "( group", + "(g roup", + "(gr oup", + "i alis", + "ial is", + "ia lis", + "iali s", + "Ġd ollar", + "Ġdoll ar", + "Ġdol lar", + "Ġ Args", + "ĠAr gs", + "ĠArg s", + "4 99", + "49 9", + "2 97", + "29 7", + "qu ires", + "quire s", + "quir es", + "qui res", + "Ġ Ten", + "ĠT en", + "ĠTe n", + ". scss", + ".s css", + ".sc ss", + "Ġsurv ive", + "Ġsurviv e", + "u sage", + "us age", + "usa ge", + "Ġ jun", + "Ġj un", + "Ġju n", + "im iter", + "imit er", + "imi ter", + "ï¼ģ ĊĊ", + "ï¼ģĊ Ċ", + "Ġf ifth", + "Ġfif th", + "t oggle", + "tog gle", + "Ġde cline", + "Ġdec line", + "Ġdecl ine", + "( $\"", + "($ \"", + "( Long", + "(L ong", + "i nge", + "in ge", + "ing e", + "Ġp ilot", + "Ġpi lot", + "Ġpil ot", + "- light", + "-l ight", + "-li ght", + "- radius", + "-r adius", + "-rad ius", + "Ġp odcast", + "Ġpod cast", + "Ġn aturally", + "Ġnatural ly", + "Ġnatur ally", + "Ġnat urally", + "P ages", + "Page s", + "Pa ges", + "Pag es", + "ä¸ º", + "Ġ Despite", + "ĠDes pite", + "Ġl ighting", + "Ġlight ing", + "Ġ crate", + "Ġc rate", + "Ġcr ate", + "Ġcra te", + "Ġ Binary", + "ĠB inary", + "ĠBin ary", + "Ġred ucing", + "Ġredu cing", + "Ġe leg", + "Ġel eg", + "Ġele g", + "Ġ Mouse", + "ĠM ouse", + "ĠMo use", + "ĠMou se", + "ĠTest Bed", + "Ġbefore Each", + "_ ARRAY", + "_AR RAY", + "_ARR AY", + "Re direct", + "Red irect", + "3 29", + "32 9", + "Ġf lood", + "Ġfl ood", + "Ġflo od", + "Ġ ships", + "Ġs hips", + "Ġsh ips", + "Ġship s", + "3 63", + "36 3", + "Ġelectric ity", + "Ġelectr icity", + ") *(", + ")* (", + "ê ¸", + "Ġ Viet", + "ĠV iet", + "ĠVi et", + "ĠVie t", + "h ero", + "he ro", + "her o", + "Ġ dia", + "Ġd ia", + "Ġdi a", + "Ġ Kent", + "ĠK ent", + "ĠKe nt", + "ĠKen t", + "he art", + "hea rt", + "hear t", + "Ġthreat s", + "_ acc", + "_a cc", + "_ac c", + "Ġ symbols", + "Ġs ymbols", + "Ġsymbol s", + "Ġsymb ols", + "is chen", + "isc hen", + "ische n", + "isch en", + "_ inst", + "_in st", + "_i nst", + "_ins t", + "C riterion", + "Ġ TIM", + "ĠT IM", + "ĠTI M", + ". Height", + ".H eight", + ".He ight", + "5 80", + "58 0", + "Ġ âĢĻ", + "ĠâĢ Ļ", + "( );ĊĊĊ", + "() ;ĊĊĊ", + "();Ċ ĊĊ", + "();ĊĊ Ċ", + "(); ĊĊĊ", + "Product s", + "Produ cts", + "_ SP", + "_S P", + "Ġ Cy", + "ĠC y", + "Ġ dependent", + "Ġdep endent", + "Ġdepend ent", + "e ste", + "es te", + "est e", + "Ġ datos", + "Ġd atos", + "Ġda tos", + "Ġdat os", + "Ġdato s", + "d it", + "di t", + "а в", + "аР²", + "IG NAL", + "IGN AL", + "Ġ lesson", + "Ġl esson", + "Ġle sson", + "Ġless on", + "Ġles son", + "\" >'", + "\"> '", + "Ġ Cover", + "ĠC over", + "ĠCo ver", + "ĠCov er", + "ĠCove r", + "Ġ Hope", + "ĠH ope", + "ĠHo pe", + "ĠHop e", + "Ġ Timer", + "ĠT imer", + "ĠTime r", + "ĠTim er", + "ĠTi mer", + "Ġ dad", + "Ġd ad", + "Ġda d", + "v iders", + "vid ers", + "vider s", + "vi ders", + "vide rs", + "Ġ Phot", + "ĠP hot", + "ĠPh ot", + "/ ?", + "r opy", + "ro py", + "rop y", + "o ming", + "om ing", + "omin g", + "omi ng", + "as ion", + "asi on", + "asio n", + "Ġ \\(", + "Ġ\\ (", + "Ġ ET", + "ĠE T", + "Ġ Reading", + "ĠRe ading", + "ĠRead ing", + "Ġep isodes", + "Ġepisode s", + "Ġepis odes", + "l m", + "4 21", + "42 1", + "e cha", + "ec ha", + "ech a", + "Ġne uro", + "Ġneu ro", + "Ġneur o", + "8 20", + "82 0", + "Ġhar mon", + "Ġharm on", + "Ġlib eral", + "Ġliber al", + "- ind", + "-in d", + "-i nd", + "3 93", + "39 3", + "D ATA", + "DA TA", + "DAT A", + "Ġevery day", + "Ġdi vided", + "Ġdiv ided", + "Ġdivide d", + "Ġdivid ed", + "ĠActive Record", + "f igure", + "fig ure", + "figur e", + "U A", + "ä ¹", + "riend ly", + "t ech", + "te ch", + "tec h", + "6 01", + "60 1", + ". gameObject", + ".game Object", + "и ÑĤÑĮ", + "иÑĤ ÑĮ", + "3 74", + "37 4", + "Ġ moon", + "Ġm oon", + "Ġmo on", + "Ġmoo n", + "f time", + "ft ime", + "Ġ noch", + "Ġn och", + "Ġno ch", + "Ġnoc h", + "ĠT ORT", + "ĠTO RT", + "ĠTOR T", + "Ġ VM", + "ĠV M", + ". initial", + ".in itial", + ".init ial", + "( child", + "(ch ild", + "Ġmus ical", + "Ġmusic al", + "Ġmusica l", + "Ġ oc", + "Ġo c", + "b as", + "ba s", + "Ġ Hay", + "ĠH ay", + "ĠHa y", + "3 61", + "36 1", + "_ long", + "_l ong", + "_lo ng", + "_lon g", + "Ġ memset", + "Ġmem set", + "i ley", + "il ey", + "ile y", + "adel phia", + "S V", + "ro at", + "_ tx", + "_t x", + "Ġ lon", + "Ġl on", + "Ġlo n", + "Ġng OnInit", + "ĠngOn Init", + "b p", + "Ġ Golden", + "ĠGold en", + "ĠGol den", + "A CHE", + "AC HE", + "ACH E", + "Ġwor ried", + "a zi", + "az i", + "E ar", + "T ake", + "Ta ke", + "Tak e", + "( fp", + "(f p", + "burg h", + "bur gh", + "_ Data", + "_D ata", + "g res", + "gr es", + "gre s", + "Ġ Ont", + "ĠO nt", + "ĠOn t", + "p us", + "pu s", + "Ġ transparent", + "Ġtrans parent", + "Ġp ocket", + "Ġpo cket", + "Ġpoc ket", + "Ġ ram", + "Ġr am", + "Ġra m", + "igration s", + "igr ations", + ". čĊčĊ", + ".čĊ čĊ", + "Ġ [(", + "Ġ[ (", + "Ġadopt ed", + "Ġreport edly", + "Ġreported ly", + "Ġ Dream", + "ĠD ream", + "ĠDr eam", + "ĠDre am", + "Ġ }));Ċ", + "Ġ} ));Ċ", + "Ġ}) );Ċ", + "Ġ})) ;Ċ", + "l osing", + "lo sing", + "los ing", + "Ġte eth", + "Ġtee th", + "Ġ Books", + "ĠB ooks", + "ĠBo oks", + "ĠBook s", + "ĠBoo ks", + "\" ,&", + "\", &", + "en ny", + "enn y", + "L EMENT", + "LE MENT", + "LEM ENT", + "Ġ gel", + "Ġg el", + "Ġge l", + "Ġ Plant", + "ĠP lant", + "ĠPl ant", + "ĠPlan t", + "ĠPla nt", + "4 37", + "43 7", + "! âĢĿ", + ". host", + ".h ost", + "Ġ Reply", + "ĠRe ply", + "ĠRep ly", + "3 76", + "37 6", + "r ength", + "re ngth", + "ren gth", + "Ġrec ognition", + "Ġrecogn ition", + "Ġ }}>Ċ", + "Ġ} }>Ċ", + "Ġ}} >Ċ", + "Ġ}}> Ċ", + "L A", + "Ġ mirror", + "Ġm irror", + "Ġmir ror", + "Ġmi rror", + "Ġ assistant", + "Ġass istant", + "Ġassist ant", + "( device", + "(d evice", + "(de vice", + "(dev ice", + "Ġspirit ual", + "b uilder", + "build er", + "bu ilder", + " §", + "Ġo utr", + "Ġout r", + "Ġou tr", + "Ġ tt", + "Ġt t", + "Ġ PER", + "ĠP ER", + "ĠPE R", + "Ġrad ical", + "Ġradi cal", + "Method s", + "Ġ pace", + "Ġp ace", + "Ġpa ce", + "Ġpac e", + "u dy", + "ud y", + "Ġg ut", + "Ġgu t", + "Ġ Greek", + "ĠG reek", + "ĠGre ek", + "ĠGree k", + "Ġ nonatomic", + "Ġnon atomic", + "Ġ Paper", + "ĠP aper", + "ĠPa per", + "ĠPap er", + "_ GPIO", + "_G PIO", + "_GP IO", + "Ġo bst", + "Ġob st", + "Ġobs t", + ". Ad", + ".A d", + "viron ments", + "vironment s", + "ĠS ov", + "ĠSo v", + "3 56", + "35 6", + "( con", + "(c on", + "(co n", + "Ġ Transaction", + "ĠTrans action", + ". assign", + ".as sign", + "ĉ catch", + "ĉc atch", + "ĉcat ch", + "el ter", + "elt er", + "Ġ bitcoin", + "Ġbit coin", + "_ GR", + "_G R", + "Ġ čĊ", + "Ġ/ >čĊ", + "Ġ/> čĊ", + "m etic", + "me tic", + "met ic", + "Ġtrans formation", + "Ġtransform ation", + "åı ·", + "Ġ rgb", + "Ġr gb", + "Ġrg b", + "istrib utions", + "istribution s", + "Ġ implicit", + "Ġimp licit", + "Ġimpl icit", + "Ġimplic it", + "/ in", + "/i n", + "d estination", + "dest ination", + "а ÑĤÑĮ", + "аÑĤ ÑĮ", + "Z ero", + "Ze ro", + "Ġ unset", + "Ġun set", + "Ġuns et", + "9 20", + "92 0", + ". where", + ".w here", + ".wh ere", + ". go", + ".g o", + "Ġ formation", + "Ġform ation", + "Ġformat ion", + "Ġforma tion", + "Ġ declaration", + "Ġde claration", + "Ġdeclar ation", + "( )čĊčĊ", + "() čĊčĊ", + "()čĊ čĊ", + "Ġ Expl", + "ĠEx pl", + "ĠExp l", + "ĉ ĉĉĠĠ", + "ĉĉ ĉĠĠ", + "ĉĉĉ ĠĠ", + "ĉĉĉĠ Ġ", + "/ pro", + "/p ro", + "/pr o", + ". JSON", + ".J SON", + "4 41", + "44 1", + "Ġ desk", + "Ġd esk", + "Ġde sk", + "Ġdes k", + ". substr", + ".sub str", + "// ----------------------------------------------------------------------------", + "//---------------------------------------------------------------- ------------", + "//------------------------------------------------ ----------------------------", + "l yn", + "ly n", + "p son", + "ps on", + "4 07", + "40 7", + "d isable", + "dis able", + "Ġ Func", + "ĠF unc", + "ĠFun c", + "ĠFu nc", + "ĉ Assert", + "Ġ MARK", + "ĠM ARK", + "ĠMA RK", + "ĠMAR K", + "Ġde feat", + "Ġdef eat", + "Ġdefe at", + "Ġ blind", + "Ġbl ind", + "Ġbli nd", + "Ġ constants", + "Ġcon stants", + "Ġconst ants", + "Ġconstant s", + "3 62", + "36 2", + ". headers", + ".head ers", + ".header s", + ".he aders", + "U ILD", + "UI LD", + "UIL D", + "Ġ expenses", + "Ġexp enses", + "Ġexpense s", + "P ixel", + "Pix el", + "Ġ hr", + "Ġh r", + "Ġ fel", + "Ġf el", + "Ġfe l", + "Ġ Eastern", + "ĠEast ern", + "ĠEaster n", + "4 24", + "42 4", + "4 90", + "49 0", + "_ del", + "_d el", + "_de l", + "3 57", + "35 7", + "ĠC ub", + "ĠCu b", + "Ġ sq", + "Ġs q", + "ĉ count", + "ĉc ount", + "Ġ Directory", + "ĠD irectory", + "ĠDirect ory", + "ĠDirector y", + "Ġex clus", + "Ġexc lus", + "Ġexcl us", + "Ġ historic", + "Ġhistor ic", + "Ġhist oric", + "Ġhisto ric", + "Ġ ------------------------------------------------", + "Ġ---------------- --------------------------------", + "Ġ-------------------------------- ----------------", + "Ġ-------------------- ----------------------------", + "Ġ composition", + "Ġcom position", + "Ġcomp osition", + "Ġcompos ition", + "Ġ dataGridView", + "Ġdata GridView", + "Ġ Burn", + "ĠB urn", + "ĠBur n", + "ĠBu rn", + "Ġ BC", + "ĠB C", + "M aster", + "Ma ster", + "Mas ter", + "Ġ spawn", + "Ġs pawn", + "Ġsp awn", + "Ġspa wn", + "Ġ bearing", + "Ġb earing", + "Ġbe aring", + "Ġbear ing", + ". SetActive", + ".Set Active", + "i lo", + "il o", + "Ġ gallery", + "Ġg allery", + "Ġgall ery", + "Ġf ounded", + "Ġfound ed", + "Ġfo unded", + "Ġ availability", + "Ġa vailability", + "Ġav ailability", + "Ġavail ability", + ". sqrt", + ".s qrt", + "Ġ pes", + "Ġp es", + "Ġpe s", + "Ġ DOM", + "ĠD OM", + "ĠDO M", + "m ate", + "ma te", + "mat e", + "O ct", + "Ġ matched", + "Ġm atched", + "Ġmatch ed", + "Ġmat ched", + "it ivity", + "Ġan xiety", + ". price", + ".p rice", + ".pr ice", + "Ġ Instant", + "ĠIn stant", + "ĠInst ant", + "ĠIns tant", + "ì Ĭ", + "Ġt ut", + "Ġtu t", + "I Collection", + "IC ollection", + ". shared", + ".sh ared", + ".share d", + ".sha red", + "_ sql", + "_s ql", + "_sq l", + "t bl", + "tb l", + "l ibrary", + "lib rary", + "_ destroy", + "_d estroy", + "_de stroy", + "_dest roy", + "er mal", + "erm al", + "Ġ Notes", + "ĠN otes", + "ĠNo tes", + "ĠNot es", + "ĠNote s", + "Ġ Ein", + "ĠE in", + "Ġsou thern", + "Ġsouth ern", + "ĠOTHER WISE", + "Ġ macro", + "Ġm acro", + "Ġma cro", + "Ġmac ro", + ". lower", + ".l ower", + ".lo wer", + ".low er", + "c ls", + "cl s", + "Content View", + ". link", + ".l ink", + ".li nk", + ".lin k", + "con stant", + "const ant", + "cons tant", + "Ġ Bes", + "ĠB es", + "ĠBe s", + "Ġsome body", + "n b", + "3 99", + "39 9", + "\" >{", + "\"> {", + "( local", + "(l ocal", + "(loc al", + "(lo cal", + ". ....", + ".. ...", + "... ..", + ".... .", + "Ġ Null", + "ĠN ull", + "ĠNu ll", + "m x", + "Ġ ç", + "Ġà §", + "Ġ pause", + "Ġp ause", + "Ġpa use", + "Ġpau se", + "- ----------", + "-- ---------", + "---- -------", + "-------- ---", + "--- --------", + "----- ------", + "---------- -", + "------ -----", + "------- ----", + "--------- --", + "_ MO", + "_M O", + "Ġ CM", + "ĠC M", + "Ġfor Key", + "Ġ DVD", + "ĠD VD", + "ĠDV D", + "Ġ closest", + "Ġclose st", + "Ġclos est", + "Ġcloses t", + "_ DEVICE", + "_DE VICE", + "_DEV ICE", + "Ġ Stephen", + "ĠSte phen", + "ĠStep hen", + "ĠSteph en", + "Ġ BBC", + "ĠB BC", + "ĠBB C", + "Ġ Travel", + "ĠT ravel", + "ĠTr avel", + "ĠTra vel", + "ĠTrav el", + "P aint", + "Pa int", + "Ġ Results", + "ĠRes ults", + "ĠResult s", + "Ġ Rule", + "ĠR ule", + "ĠRu le", + "Ġ tp", + "Ġt p", + "Ġ ratings", + "Ġr atings", + "Ġrating s", + "Ġrat ings", + "Ġra tings", + "c in", + "ci n", + "c sv", + "cs v", + "> /", + "Ġ GOP", + "ĠG OP", + "ĠGO P", + "l ad", + "la d", + "Ġ ÑĢ", + "ĠÑ Ģ", + "Ġ indexPath", + "Ġindex Path", + "m atrix", + "mat rix", + "= f", + "ar sed", + "ars ed", + "arse d", + "Ġ });", + "Ġ} );", + "Ġ}) ;", + "Ġ Cos", + "ĠC os", + "ĠCo s", + "Ġ Score", + "ĠS core", + "ĠSc ore", + "ĠSco re", + "ĠScor e", + "Ġ tak", + "Ġt ak", + "Ġta k", + "Ġ ESP", + "ĠE SP", + "ĠES P", + "Ġ INC", + "ĠI NC", + "ĠIN C", + "_ NULL", + "_N ULL", + "- flex", + "-f lex", + "-fl ex", + "\" ][", + "\"] [", + "in to", + "int o", + "e land", + "el and", + "ela nd", + "elan d", + "Author ization", + "_ FALSE", + "_F ALSE", + "Ġ gate", + "Ġg ate", + "Ġga te", + "Ġ vid", + "Ġv id", + "Ġvi d", + "is tent", + "ist ent", + "iste nt", + "isten t", + "T IME", + "TI ME", + "TIM E", + "Ġ rewrite", + "Ġre write", + "Ġrew rite", + "Ġ tie", + "Ġt ie", + "Ġti e", + "Ġ archive", + "Ġa rchive", + "Ġarch ive", + "Ġarc hive", + "5 11", + "51 1", + ". events", + ".e vents", + ".event s", + ".ev ents", + ". getParameter", + ".get Parameter", + ".getParam eter", + "Ġ Permission", + "ĠPer mission", + "ĠPerm ission", + "Ġprogram me", + "Ġprogramm e", + "Ġ é", + "j ud", + "ju d", + "Ġcame ras", + "Ġcamera s", + "Ġcam eras", + "Ġcamer as", + "3 38", + "33 8", + "3 49", + "34 9", + "( sys", + "(s ys", + "ĠSy rian", + "ĠSyria n", + "Ġimpro vements", + "Ġimprove ments", + "Ġimprovement s", + "Ġimprov ements", + "Ġ hip", + "Ġh ip", + "Ġhi p", + "Ġsu icide", + "Ġsuic ide", + "Ġsch olar", + "Ġscho lar", + "Ġ compatible", + "Ġcom patible", + "Ġcompat ible", + "0 22", + "02 2", + "rem ote", + ". down", + ".d own", + ".do wn", + "F UNCTION", + "FUNC TION", + "FUN CTION", + "Ġman aging", + "Ġmana ging", + "Ġ UIKit", + "ĠUI Kit", + ". raw", + ".r aw", + ".ra w", + "> >>>", + ">> >>", + ">>> >", + "3 71", + "37 1", + "Ġdem ands", + "Ġdemand s", + "el lite", + "ell ite", + "elli te", + "Ġ dent", + "Ġd ent", + "Ġde nt", + "Ġden t", + "Ġ Micro", + "ĠM icro", + "ĠMi cro", + "ĠMic ro", + "åı ĸ", + "' ][$", + "'] [$", + "'][ $", + "Ġ IE", + "ĠI E", + "im ension", + "imens ion", + "Ġt rem", + "Ġtr em", + "Ġtre m", + "6 30", + "63 0", + "Ġg ained", + "Ġgain ed", + "Ġga ined", + ". with", + ".w ith", + ". ok", + ".o k", + "h ou", + "ho u", + "Ġb om", + "Ġbo m", + "amp aign", + "ampa ign", + "Ġ joining", + "Ġjoin ing", + "Ġjo ining", + "f ish", + "fi sh", + "Ġadd Subview", + "8 60", + "86 0", + "Ġnor thern", + "Ġnorth ern", + ". cor", + ".c or", + ".co r", + "o ret", + "or et", + "ore t", + "D ie", + "Di e", + "i nish", + "in ish", + "ini sh", + "inis h", + "_ comp", + "_c omp", + "_com p", + "_co mp", + "Ġ attended", + "Ġatt ended", + "Ġattend ed", + "Ġ collapse", + "Ġc ollapse", + "Ġcoll apse", + "Ġcollaps e", + "Ġ SS", + "ĠS S", + "a cent", + "ace nt", + "ac ent", + "acen t", + "_ EQUAL", + "_E QUAL", + "_EQ UAL", + "Ġ Deep", + "ĠDe ep", + "ĠDee p", + "R GB", + "RG B", + "ĉ test", + "ĉt est", + "ol ves", + "olve s", + "olv es", + "u set", + "us et", + "use t", + "Un ityEngine", + "Unity Engine", + "w riter", + "write r", + "wr iter", + "Re solver", + "Res olver", + "Resolve r", + ", %", + "if ference", + "iff erence", + "iffer ence", + "iffe rence", + "_ remove", + "_re move", + "_rem ove", + "o nda", + "on da", + "ond a", + "Ġf emme", + "Ġfem me", + "3 85", + "38 5", + "de code", + "dec ode", + "Br anch", + "Ġ flush", + "Ġf lush", + "Ġfl ush", + "Ġflu sh", + "Ġinnov ative", + "T ests", + "Test s", + "Te sts", + "Tes ts", + "Ġ[' ./", + "Ġ['. /", + "Ġ covering", + "Ġcover ing", + "Ġcov ering", + ". admin", + ".ad min", + "ulti part", + "ultip art", + "( lambda", + "(l ambda", + " namespace", + "Ġ Sport", + "ĠS port", + "ĠSp ort", + "ĠSpo rt", + "ĠSpor t", + "Ġ !(", + "Ġ! (", + "a cles", + "ac les", + "acle s", + "acl es", + "Ġde pression", + "Ġdep ression", + "Ġdepr ession", + "Ġdepress ion", + "ĠK ong", + "ĠKon g", + "ĠKo ng", + "5 70", + "57 0", + "Ġ pert", + "Ġp ert", + "Ġper t", + "Ġpe rt", + "Ġ Conn", + "ĠC onn", + "ĠCon n", + "ĠCo nn", + "Ġ Otherwise", + "ĠOther wise", + "/ home", + "/h ome", + "s upported", + "sup ported", + "support ed", + "Ġ pink", + "Ġp ink", + "Ġpi nk", + "Ġpin k", + "Ġinv ited", + "Ġinvite d", + "Ġinvit ed", + "ñ os", + "ño s", + "_ enabled", + "_en abled", + "_enable d", + "Ġ -Ċ", + "Ġ- Ċ", + "F W", + "e ners", + "en ers", + "ener s", + "ene rs", + "Ġ MY", + "ĠM Y", + "Ġs uggestions", + "Ġsuggest ions", + "Ġsuggestion s", + "C anvas", + "Can vas", + "Ġ fer", + "Ġf er", + "Ġfe r", + "Ġ Marketing", + "ĠMark eting", + "ĠMarket ing", + "@ Test", + "un tu", + "unt u", + "Ġ Ven", + "ĠV en", + "ĠVe n", + "Ġ Cou", + "ĠC ou", + "ĠCo u", + "i vals", + "iv als", + "ival s", + "iva ls", + "D onald", + "Don ald", + "l imited", + "lim ited", + "limit ed", + "ĉ ĉĉĉĉĉĊ", + "ĉĉ ĉĉĉĉĊ", + "ĉĉĉĉ ĉĉĊ", + "ĉĉĉ ĉĉĉĊ", + "ĉĉĉĉĉ ĉĊ", + "ĉĉĉĉĉĉ Ċ", + "Ġanal yst", + "Ġanaly st", + "Ġanalys t", + "( entry", + "(en try", + "(ent ry", + "Ġrepresent ative", + "_ attributes", + "_at tributes", + "_attribute s", + "_attrib utes", + "Ġ fur", + "Ġf ur", + "Ġfu r", + ". hide", + ".h ide", + "r esp", + "re sp", + "res p", + "ad ores", + "ado res", + "ador es", + "r ides", + "ri des", + "ride s", + "rid es", + "Ġ Josh", + "ĠJ osh", + "ĠJo sh", + "ĠJos h", + "r obot", + "ro bot", + "rob ot", + "ĠN AT", + "ĠNA T", + "Ġs esso", + "Ġses so", + "Ġsess o", + "Ġint egrated", + "Ġinteg rated", + "Ġintegr ated", + "Ġintegrate d", + ": true", + "p arts", + "par ts", + "part s", + "pa rts", + "Ġst upid", + "Ġstu pid", + "Ġstup id", + ": event", + ":e vent", + "@end section", + "Ġ pu", + "Ġp u", + ". Table", + ".T able", + ".Tab le", + "Ġ Yii", + "ĠY ii", + "ĠYi i", + "` ;ĊĊ", + "`;Ċ Ċ", + "`; ĊĊ", + "Ġ clang", + "Ġc lang", + "Ġcl ang", + "Ġclan g", + "Ġcla ng", + "=\" \">", + "=\"\" >", + "en gan", + "eng an", + "enga n", + "_ parameters", + "_param eters", + "_parameter s", + ". internal", + ".in ternal", + ".int ernal", + ".inter nal", + "Ġ Modern", + "ĠMod ern", + "ĠMode rn", + "ĠModer n", + "Ġ metric", + "Ġm etric", + "Ġmet ric", + "Ġ semi", + "Ġs emi", + "Ġse mi", + "Ġsem i", + "={ {Ċ", + "={{ Ċ", + "7 07", + "70 7", + ". amazon", + ".a mazon", + ".am azon", + "Ġ BB", + "ĠB B", + "ain ty", + "aint y", + "ai nty", + "view port", + "3 67", + "36 7", + "Ġstart Activity", + "dis patch", + "disp atch", + "* ****", + "** ***", + "**** *", + "*** **", + "Ġf lav", + "Ġfl av", + "Ġfla v", + "iffer ent", + "iffe rent", + "3 82", + "38 2", + "[ this", + "[t his", + "Ġs take", + "Ġst ake", + "Ġsta ke", + "Ġarg ued", + "Ġargue d", + "v iously", + "vious ly", + "vi ously", + ". work", + ".w ork", + "Ġ Oak", + "ĠO ak", + "O ld", + "Ol d", + "( async", + "(a sync", + "(as ync", + "n otes", + "not es", + "no tes", + "note s", + "Ġ flip", + "Ġf lip", + "Ġfl ip", + "Ġdis ag", + "Ġ TE", + "ĠT E", + "ĉ error", + "ĉe rror", + "ĉerr or", + "< '", + "Ġ »ĊĊ", + "Ġ» ĊĊ", + "Ġ»Ċ Ċ", + "Ġ filtered", + "Ġfil tered", + "Ġfilter ed", + "Ġfilt ered", + "ĠM ach", + "ĠMac h", + "ĠMa ch", + "Ġ hung", + "Ġh ung", + "Ġhun g", + "Ġhu ng", + "_ dump", + "_d ump", + "_ samples", + "_s amples", + "_sample s", + "- dismiss", + "-dis miss", + "Ġ ray", + "Ġr ay", + "Ġra y", + "Im plemented", + "Implement ed", + "D K", + "Ġ jed", + "Ġj ed", + "Ġje d", + "0 90", + "09 0", + "Ġbreak s", + "Ġbre aks", + "Ġ fits", + "Ġf its", + "Ġfit s", + "Ġfi ts", + ". gr", + ".g r", + "Ġ Zero", + "ĠZ ero", + "ĠZe ro", + "o ro", + "or o", + "Ġequ ally", + "Ġequal ly", + "Ġeq ually", + "Ġ '[", + "Ġ' [", + "Ġconcern ing", + "< meta", + "<", + "'> <", + "Ġpro mot", + "Ġprom ot", + "Ġpromo t", + "Ġ incl", + "Ġin cl", + "Ġinc l", + "_ only", + "_on ly", + "ë¥ ¼", + "ĠAtt orney", + "- date", + "-d ate", + "-da te", + "-dat e", + "Ġ landscape", + "Ġl andscape", + "Ġland scape", + "Ġlands cape", + "Ġlandsc ape", + "Ġ fu", + "Ġf u", + "S Y", + ". prop", + ".p rop", + ".pro p", + ".pr op", + "Ġ Arr", + "ĠA rr", + "ĠAr r", + "p ag", + "pa g", + "Parallel Group", + "' :čĊ", + "': čĊ", + "Ġ logs", + "Ġl ogs", + "Ġlo gs", + "Ġlog s", + "a unch", + "un ci", + "unc i", + "n ama", + "na ma", + "nam a", + "Table Cell", + "iss ues", + "issue s", + ". {", + "e curity", + "ec urity", + "_ exec", + "_e xec", + "_ex ec", + "_exe c", + "o lds", + "ol ds", + "old s", + "Ġ hosts", + "Ġhost s", + "Ġho sts", + "Ġhos ts", + "Ġ proto", + "Ġpro to", + "Ġpr oto", + "Ġprot o", + "_ import", + "_im port", + "_imp ort", + "_ sort", + "_s ort", + "_so rt", + "Ġ Bow", + "ĠB ow", + "ĠBo w", + "Ġ Normal", + "ĠN ormal", + "ĠNor mal", + "ĠNorm al", + "Ġ Farm", + "ĠF arm", + "ĠFar m", + "ĠFa rm", + ".create ParallelGroup", + "R otation", + "Rot ation", + ". err", + ".e rr", + ".er r", + "Ġp leased", + "Ġplease d", + "Ġple ased", + "Ġplea sed", + "Ġpleas ed", + "it age", + "ita ge", + "itag e", + ". Wh", + ".W h", + "ĉ ĉĠĠĠĠ", + "ĉĉ ĠĠĠĠ", + "ĉĉĠĠĠ Ġ", + "ĉĉĠ ĠĠĠ", + "ĉĉĠĠ ĠĠ", + "M R", + "Ġ MORE", + "ĠM ORE", + "ĠMO RE", + "ĠMOR E", + "Ġ Natural", + "ĠN atural", + "ĠNat ural", + "ĠNatur al", + "_ transform", + "_trans form", + "B ASE", + "BA SE", + "en eral", + "ener al", + "ene ral", + "u tdown", + "ut down", + ". commons", + ".com mons", + ".common s", + ".comm ons", + "W T", + "Ġ aan", + "Ġa an", + "Ġaa n", + ". Result", + ".Res ult", + "d og", + "do g", + "Ġcl icking", + "Ġclick ing", + "Ġclic king", + ") ,ĊĊ", + "), ĊĊ", + "),Ċ Ċ", + "# line", + "O perator", + "Oper ator", + "Op erator", + "Opera tor", + "Ġc iv", + "Ġci v", + "Ġm erg", + "Ġme rg", + "Ġmer g", + "o buf", + "ob uf", + "ng then", + "ngth en", + "Ġ [{", + "Ġ[ {", + "Ġc ancell", + "Ġcan cell", + "Ġcancel l", + "Ġcanc ell", + "tr igger", + "tri gger", + ". :", + "W ORK", + "WO RK", + "de clare", + "decl are", + "declar e", + "Ġde crease", + "Ġdecre ase", + "ÅĽ ci", + "l oom", + "lo om", + "loo m", + ". None", + ".N one", + ".No ne", + ".Non e", + "Ġ MI", + "ĠM I", + "Ġ Jason", + "ĠJ ason", + "ĠJa son", + "ĠJas on", + "Ġhealth care", + "ia mond", + "iam ond", + "iamo nd", + "s ylvania", + "* x", + "Ġ Ra", + "ĠR a", + "[ b", + "Ġ printing", + "Ġprint ing", + "Ġprin ting", + "ph abet", + "pha bet", + "Ġ Labour", + "ĠLa bour", + "ĠLab our", + "o pper", + "op per", + "opp er", + "Ġz ijn", + "Ġzi jn", + "Ġzij n", + "- target", + "-t arget", + "_ FUNCTION", + "_F UNCTION", + "_FUNC TION", + "_FUN CTION", + "Ġ oct", + "Ġo ct", + "Ġoc t", + "е ниÑı", + "ен иÑı", + "ени Ñı", + "åľ ¨", + "Ġ western", + "Ġwest ern", + "Ġwes tern", + "Ġcomp uters", + "Ġcomput ers", + "Ġcomputer s", + "Ġcompute rs", + "Ġ RET", + "ĠR ET", + "ĠRE T", + "Hash Map", + "[ String", + "[S tring", + "get Value", + "_ DATE", + "_D ATE", + "_DAT E", + "_DA TE", + ". Next", + ".N ext", + "ĠF if", + "ĠFi f", + "é l", + "ic ked", + "ick ed", + "æ İ", + "- MM", + "-M M", + "Ġ {ĊĊĊ", + "Ġ{ ĊĊĊ", + "Ġ{Ċ ĊĊ", + "Ġ{ĊĊ Ċ", + "Ġ contacts", + "Ġcont acts", + "Ġcontact s", + "Ġconta cts", + "Ġ digits", + "Ġd igits", + "Ġdig its", + "Ġdigit s", + "P rodu", + "Pro du", + "Pr odu", + "Prod u", + "Ġun usual", + "Ġunus ual", + "Ġrapid ly", + "t ures", + "ture s", + "tu res", + "tur es", + "Ġang ry", + "c ancel", + "can cel", + "x xxx", + "xx xx", + "xxx x", + "_ parser", + "_p arser", + "_parse r", + "_par ser", + "_pars er", + "id ity", + "idi ty", + "_ PREFIX", + "_P REFIX", + "_PRE FIX", + "_PREF IX", + "7 10", + "71 0", + "Ġm ehr", + "Ġme hr", + "Ġrare ly", + "Ġrar ely", + "e the", + "et he", + "eth e", + "o pes", + "op es", + "ope s", + "Ġ %.", + "Ġ% .", + "w orks", + "work s", + "wor ks", + "Ġ theta", + "Ġth eta", + "Ġthe ta", + "Ġcon tribution", + "Ġcontrib ution", + "Ġ Tony", + "ĠT ony", + "ĠTo ny", + "ĠTon y", + "Ġs quad", + "Ġsqu ad", + "5 37", + "53 7", + "а й", + "аР¹", + "Ġî n", + "t here", + "th ere", + "ther e", + "the re", + "o uted", + "ou ted", + "out ed", + "oute d", + "ĉ q", + "Ļ Ĥ", + "g ood", + "go od", + "goo d", + "L I", + "é¡ µ", + "Ġ Living", + "ĠL iving", + "ĠLi ving", + "ĠLiv ing", + "iz abeth", + "iza beth", + "Ġ kt", + "Ġk t", + "Ġ Dallas", + "ĠD allas", + "ĠDal las", + "] ],Ċ", + "]] ,Ċ", + "]], Ċ", + "Ġ />ĊĊ", + "Ġ/ >ĊĊ", + "Ġ/>Ċ Ċ", + "Ġ/> ĊĊ", + "Ġ raising", + "Ġr aising", + "Ġrais ing", + "Ġra ising", + "/ router", + "/r outer", + "_ game", + "_g ame", + "3 68", + "36 8", + "Ġ CUR", + "ĠC UR", + "ĠCU R", + "z ens", + "ze ns", + "zen s", + ". es", + ".e s", + "Ġ fontWeight", + "Ġfont Weight", + "( func", + "(f unc", + "(fun c", + "not ification", + "notif ication", + "Ġ' ../../../", + "Ġ'../ ../../", + "Ġ'../../ ../", + "Ġbl ame", + "Ġbla me", + "ãĢĤ ĊĊĊĊ", + "ãĢĤĊĊ ĊĊ", + "ãĢĤĊ ĊĊĊ", + "an co", + "anc o", + "9 80", + "98 0", + "Id entity", + "Ident ity", + "Ide ntity", + "f ollow", + "fol low", + "Ġ arts", + "Ġa rts", + "Ġar ts", + "Ġart s", + "x s", + "Ġoffic ially", + "Ġofficial ly", + "Ġ Studio", + "ĠSt udio", + "ĠStud io", + "ĠStudi o", + "Ġrecommend ations", + "Ġrecommendation s", + "Ġ locale", + "Ġl ocale", + "Ġlo cale", + "Ġloc ale", + "Ġlocal e", + "Ġam ateur", + "Ġamat eur", + "Ġ Enable", + "ĠE nable", + "ĠEn able", + "Ġ caps", + "Ġc aps", + "Ġcap s", + "Ġca ps", + ". End", + ".E nd", + ".En d", + "3 88", + "38 8", + "- add", + "-a dd", + "-ad d", + "_g shared", + "Ġ CT", + "ĠC T", + "F orce", + "For ce", + "Ċ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "Ġ orange", + "Ġo range", + "Ġor ange", + "Ġorang e", + "Ġora nge", + "Ġoran ge", + "Ġ lp", + "Ġl p", + "Ġ answered", + "Ġanswer ed", + ". Grid", + ".G rid", + ".Gr id", + "Ġd ual", + "Ġdu al", + "Ġdua l", + "Ġstr ategic", + "Ġstrateg ic", + "Ġn obody", + "Ġno body", + "Ġnob ody", + "Ġ fatal", + "Ġf atal", + "Ġfa tal", + "Ġfat al", + "_ est", + "_e st", + "_es t", + "( el", + "(e l", + "Ġ ìł", + "Ġì ł", + "ĠB udd", + "ĠBu dd", + "ĠBud d", + "A IT", + "AI T", + "_ factor", + "_f actor", + "_fac tor", + "_fact or", + "_fa ctor", + "- one", + "-on e", + "-o ne", + "Ġ HAVE", + "ĠH AVE", + "ĠHA VE", + "\" čĊčĊ", + "\"čĊ čĊ", + "7 60", + "76 0", + "P rof", + "Pro f", + "Pr of", + "Ġ är", + "Ġä r", + "str ings", + "string s", + "Ġ dirty", + "Ġd irty", + "Ġdir ty", + "Ġdirt y", + "Ġ Face", + "ĠF ace", + "ĠFac e", + "ĠFa ce", + "Ġ Begin", + "ĠB egin", + "ĠBe gin", + "ĠBeg in", + "Ġ Bus", + "ĠB us", + "ĠBu s", + "Ġ wis", + "Ġw is", + "Ġwi s", + "åŃ Ĺ", + "Ġ speaker", + "Ġs peaker", + "Ġspe aker", + "Ġspeak er", + "Ġ carrier", + "Ġcar rier", + "Ġcarr ier", + "Ġ Om", + "ĠO m", + "Ġhad n", + "Ġha dn", + "Al low", + "All ow", + ":: __", + "::_ _", + "Ġ verb", + "Ġv erb", + "Ġver b", + "Ġve rb", + "Ġ Complete", + "ĠCom plete", + "ĠComp lete", + "ĠComple te", + "Ġ Easy", + "ĠE asy", + "ĠEa sy", + "Ġb ills", + "Ġbill s", + "Ġbil ls", + "Ġ ĠĊĊ", + "ĠĠ ĊĊ", + "ĠĠĊ Ċ", + "Vert ical", + "Ver tical", + "Ġ pron", + "Ġp ron", + "Ġpro n", + "Ġpr on", + "Ġ Define", + "ĠDe fine", + "ĠDef ine", + "Ġ lookup", + "Ġlook up", + "variable s", + "vari ables", + "Ġp andas", + "Ġpan das", + "Ġpand as", + "Ġpanda s", + "u mes", + "um es", + "ume s", + "Ġin noc", + "Ġinn oc", + "Ġ setUp", + "Ġset Up", + "ĠCh ampionship", + "ĠChampions hip", + "ĠChampion ship", + "art ist", + "arti st", + "ĠC Type", + "ĠCT ype", + "F oundation", + "Found ation", + "๠Ī", + "Ġ Setup", + "ĠSet up", + "4 28", + "42 8", + "Ġ recipes", + "Ġrec ipes", + "Ġrecipe s", + "Ġrecip es", + "Ġ UIColor", + "ĠU IColor", + "ĠUI Color", + "Ġ Fight", + "ĠF ight", + "ĠFig ht", + "ĠFi ght", + "Ġ authorized", + "Ġauthor ized", + "Ġauthorize d", + "_ click", + "_c lick", + "_cl ick", + "_cli ck", + "9 90", + "99 0", + "_ success", + "_s uccess", + "_succ ess", + "_su ccess", + "an gan", + "ang an", + "anga n", + "Ġ Mountain", + "ĠM ountain", + "ĠMount ain", + "Ġ Doctor", + "ĠDo ctor", + "ĠDoc tor", + "Ġ egg", + "Ġe gg", + "Ġeg g", + "ĠM edicine", + "ĠMed icine", + "ĠMedic ine", + "c les", + "cl es", + "cle s", + "` .Ċ", + "`. Ċ", + "[ int", + "[i nt", + "[in t", + "d ashboard", + "dash board", + "Ġ Appro", + "ĠApp ro", + "ĠAp pro", + "- dr", + "-d r", + "Ġprodu ces", + "Ġproduce s", + "Ġprod uces", + "Ġr ental", + "Ġren tal", + "Ġrent al", + "Ġ reload", + "Ġre load", + "Ġr eload", + "Ġrel oad", + "3 81", + "38 1", + "Ġ arrival", + "Ġarr ival", + "Ġarriv al", + "s pot", + "sp ot", + "spo t", + "Ġunder t", + "Ġund ert", + "Ġunde rt", + "3 78", + "37 8", + "Ġequ ipped", + "Ġequip ped", + "Ġ proved", + "Ġpro ved", + "Ġpr oved", + "Ġprov ed", + "Ġprove d", + "Ġ centers", + "Ġcent ers", + "Ġcenter s", + "Ġcen ters", + "Ġ defines", + "Ġdef ines", + "Ġdefine s", + "Ġdefin es", + "al so", + "als o", + "Ġ opacity", + "Ġop acity", + "Ġ Unfortunately", + "ĠUn fortunately", + "ĠIll inois", + "Ġ не", + "Ġн е", + "ĠT emple", + "ĠTem ple", + "ĠTemp le", + "ĠTempl e", + "Ġ Trail", + "ĠT rail", + "ĠTr ail", + "ĠTra il", + "Ġ Kelly", + "ĠK elly", + "ĠKel ly", + "Ġ measurement", + "Ġme asurement", + "Ġmeasure ment", + "Ġmeas urement", + "Ġse parated", + "Ġsepar ated", + "Ġseparate d", + "Ġseparat ed", + "- circle", + "-c ircle", + "H ey", + "He y", + "Ġ READ", + "ĠRE AD", + "ig its", + "igit s", + "igi ts", + "Ġ ib", + "Ġi b", + "Ġ MOD", + "ĠM OD", + "ĠMO D", + "at tery", + "att ery", + "atter y", + "atte ry", + "а з", + "аР·", + "Ġv end", + "Ġve nd", + "Ġven d", + "е нÑĤ", + "ен ÑĤ", + "Ġ HttpClient", + "ĠHttp Client", + "3 59", + "35 9", + "s afe", + "sa fe", + "_ ASS", + "_A SS", + "_AS S", + "i cit", + "ic it", + "ici t", + "Ġ Construct", + "ĠCon struct", + "ĠConstr uct", + "Ġ Clo", + "ĠC lo", + "ĠCl o", + "Ġ Six", + "ĠS ix", + "ĠSi x", + "_ TOKEN", + "_T OKEN", + "_TO KEN", + "( block", + "(b lock", + "(bl ock", + "Ġwar ned", + "Ġwarn ed", + "/* !", + "! Ċ", + "}/ >Ċ", + "}/> Ċ", + "Ġin novation", + "Ġinn ovation", + "Ġinnov ation", + "_ \"", + "Ġ );čĊčĊ", + "Ġ) ;čĊčĊ", + "Ġ); čĊčĊ", + "Ġ);čĊ čĊ", + "Ġ spots", + "Ġsp ots", + "Ġspot s", + "Ġspo ts", + "Ġcho osing", + ". cs", + ".c s", + "Ġf lexible", + "Ġflex ible", + "U Int", + "UI nt", + "4 35", + "43 5", + "9 30", + "93 0", + "Ġ scratch", + "Ġs cratch", + "Ġscr atch", + "- al", + "-a l", + "Ġf estival", + "Ġfest ival", + "Ġout standing", + "================ ================================", + "================================ ================", + "M ean", + "Me an", + "Ġ Oregon", + "ĠO regon", + "ĠOre gon", + "s ymbol", + "sym bol", + ". account", + ".a ccount", + ".ac count", + ".acc ount", + "d ney", + "dn ey", + "' ''", + "'' '", + "! \",", + "!\" ,", + "9 01", + "90 1", + "Ġ particle", + "Ġp article", + "Ġpart icle", + "Ġpartic le", + "Ġparti cle", + "à ĥ", + "[ MAX", + "[M AX", + "I VER", + "IV ER", + "IVE R", + "ER ENCE", + "NS Mutable", + "ĠC olumbia", + "ĠColum bia", + "_ ĊĊ", + "_Ċ Ċ", + ". fr", + ".f r", + "Ġc ogn", + "Ġco gn", + "Ġcog n", + "V R", + "Ġ Methods", + "ĠMethod s", + "ĠMeth ods", + "Ġ Made", + "ĠM ade", + "ĠMad e", + "ĠMa de", + "Ġ BR", + "ĠB R", + "Ġ Else", + "ĠE lse", + "ĠEl se", + "Ġeg gs", + "Ġegg s", + "Ġ swing", + "Ġs wing", + "Ġsw ing", + "Ġ Inv", + "ĠI nv", + "ĠIn v", + "Ġdise ases", + "Ġdisease s", + "Ġf irms", + "Ġfirm s", + "Ġfi rms", + "Ġfir ms", + "Ġ lemma", + "Ġl emma", + "Ġle mma", + "Ġlem ma", + "} `);Ċ", + "}` );Ċ", + "l ings", + "ling s", + "lin gs", + "Ġg ym", + "Ġgy m", + "umin um", + "umi num", + ". Trim", + ".T rim", + ".Tr im", + "M em", + "Me m", + "Ġcrit icism", + "Ġcritic ism", + "ibern ate", + "_ TX", + "_T X", + "i oni", + "ion i", + "io ni", + "Ġguid ance", + "Ġgui dance", + "Ġrepeated ly", + "Ġrepeat edly", + "Ġ supplier", + "Ġs upplier", + "Ġsup plier", + "Ġsuppl ier", + "Ġsupp lier", + "Ġp ainting", + "Ġpaint ing", + "Ġpain ting", + "8 64", + "86 4", + ". Fragment", + ".F ragment", + "ed Exception", + "Ġw iring", + "Ġwir ing", + "Ġwi ring", + "Ġcour ts", + "Ġcou rts", + "Ġcourt s", + "W EB", + "WE B", + "æľ ī", + "\\ .", + "ill ance", + "illa nce", + "Ġb rows", + "Ġbr ows", + "Ġbro ws", + "Ġbrow s", + "Ġ Pattern", + "ĠP attern", + "ĠPat tern", + "ĠPatt ern", + "PL ICATION", + "PLIC ATION", + "Ġ Summer", + "ĠS ummer", + "ĠSum mer", + "Ch ain", + "Cha in", + "Ġc ute", + "Ġcut e", + "Ġcu te", + "m ercial", + "mer cial", + "merc ial", + "Ġd il", + "Ġdi l", + "ĠFrank lin", + "ĉ global", + "ĉg lobal", + "IN CLUDING", + "h istory", + "hi story", + "hist ory", + "histor y", + "Ġ lst", + "Ġl st", + "Ġls t", + "Q t", + "S DL", + "SD L", + "a lia", + "al ia", + "ali a", + "i ere", + "ie re", + "ier e", + "( ...", + "(. ..", + "(.. .", + "ĉ cin", + "ĉc in", + "if fs", + "iff s", + "v elope", + "ve lope", + "vel ope", + "velop e", + "Ġ Root", + "ĠR oot", + "ĠRo ot", + "ĠRoo t", + "cl uster", + "clus ter", + "User Name", + "i gne", + "ig ne", + "ign e", + "< S", + "Ġ fest", + "Ġf est", + "Ġfe st", + "4 19", + "41 9", + "Ġindic ating", + "Ġindica ting", + "k eeper", + "ke eper", + "keep er", + "kee per", + "Ġc ada", + "Ġca da", + "Ġcad a", + "é g", + "con sin", + "cons in", + "Ġ GB", + "ĠG B", + "Ġ lb", + "Ġl b", + "e mony", + "em ony", + "emo ny", + "emon y", + "- icons", + "-icon s", + "-i cons", + "_ doc", + "_d oc", + "_do c", + "A ctor", + "Act or", + "Ac tor", + "e lem", + "el em", + "ele m", + ". Delete", + ".De lete", + "Ġin fection", + "Ġinf ection", + "Ġinfect ion", + "Ġ Privacy", + "ĠPriv acy", + "Ġgreat ly", + "Ġ Pos", + "ĠP os", + "ĠPo s", + "ĠT reat", + "ĠTr eat", + "ĠTre at", + "F low", + "Fl ow", + "Flo w", + "Ġat tractive", + "Ġattr active", + "Ġattract ive", + "Ġ Marc", + "ĠM arc", + "ĠMar c", + "ĠMa rc", + "s udo", + "su do", + "t esy", + "te sy", + "tes y", + "- an", + "-a n", + "9 98", + "99 8", + "ab ama", + "aba ma", + "Ġ Would", + "ĠW ould", + "ĠWo uld", + "Ġs uck", + "Ġsu ck", + "Ġsuc k", + "index Path", + "Ġ Et", + "ĠE t", + "T imes", + "Time s", + "Tim es", + "Ti mes", + "7 80", + "78 0", + "Ġ clubs", + "Ġcl ubs", + "Ġclub s", + "_ assoc", + "_as soc", + "_ass oc", + "Ġac quired", + "Ġacqu ired", + "Ġacquire d", + "( \":", + "(\" :", + "Ġint ense", + "Ġintens e", + ". maps", + ".m aps", + ".map s", + ".ma ps", + "Ex pected", + "Exp ected", + "Expect ed", + "T oggle", + "Ġ ay", + "Ġa y", + "Ġl ifestyle", + "Ġlife style", + "Ġlif estyle", + "- called", + "-c alled", + "-cal led", + "-call ed", + "Ġ Snow", + "ĠS now", + "ĠSn ow", + "ĠSno w", + "V olume", + "Vol ume", + "Ġcann abis", + "Ġ Direction", + "ĠD irection", + "ĠDirect ion", + "ĠDi rection", + "ĠDir ection", + "ĠDire ction", + "Ġ Limited", + "ĠL imited", + "ĠLim ited", + "ĠLimit ed", + "- specific", + "-s pecific", + "-spec ific", + "Ġd owntown", + "Ġdown town", + "Ġdownt own", + "/ icons", + "/i cons", + "/icon s", + "/ic ons", + "Ġre ven", + "Ġr even", + "Ġrev en", + "Ġreve n", + "L eg", + "Le g", + "8 85", + "88 5", + "= null", + "=n ull", + "4 96", + "49 6", + "Key board", + "' )).", + "') ).", + "')) .", + "Ġ\" \";čĊ", + "Ġ\"\" ;čĊ", + "Ġ\"\"; čĊ", + "Ġatt itude", + ". navigate", + ".n avigate", + ".nav igate", + "- error", + "-e rror", + "AM PLE", + "AMP LE", + "AMPL E", + "Ġ Jay", + "ĠJ ay", + "ĠJa y", + "v r", + "c ow", + "co w", + ". compile", + ".com pile", + ".comp ile", + "Ġmem ories", + "Ġmemor ies", + "Ġmemo ries", + "_ mark", + "_m ark", + "_mar k", + "_ma rk", + "Ġ Minnesota", + "ĠMin nesota", + "Ġk osten", + "Ġko sten", + "Ġkos ten", + "Ġkost en", + "Ġ probability", + "Ġprob ability", + "Ġprobabil ity", + "w arning", + "war ning", + "warn ing", + "Ġgen etic", + "Ġgene tic", + "F ixture", + "Fix ture", + "Ġ HashSet", + "ĠHash Set", + "N ombre", + "Nom bre", + "_ month", + "_m onth", + "_mon th", + "_mo nth", + "Æ °", + "- start", + "-st art", + "-star t", + "xy gen", + "ĉ ft", + "ĉf t", + "i agnostics", + "Ġ Matthew", + "ĠMat thew", + "ĠMatth ew", + "Ġcon cepts", + "Ġconcept s", + "Ġconce pts", + "Ġcon str", + "Ġconst r", + "Ġcons tr", + ". State", + ".St ate", + ".Stat e", + "и н", + "N ov", + "No v", + "Î ±", + "Ġ Panel", + "ĠP anel", + "ĠPan el", + "ĠPa nel", + "ĠPane l", + "ä¸ ª", + "com pare", + "comp are", + "> ()Ċ", + ">( )Ċ", + ">() Ċ", + "Ġapp lying", + "Ġapply ing", + "Ġappl ying", + "Ġprom ised", + "Ġpromise d", + "Ġ ox", + "Ġo x", + "n cia", + "nc ia", + "Ġ Validation", + "ĠValid ation", + "o rts", + "or ts", + "ort s", + "_ cur", + "_c ur", + "_cu r", + "e lect", + "el ect", + "ele ct", + "e ye", + "ey e", + "( Data", + "(D ata", + "Ġre porter", + "Ġreport er", + "Ġ Buff", + "ĠB uff", + "ĠBu ff", + "ĠBuf f", + "3 95", + "39 5", + "Ġ sr", + "Ġs r", + "Ġ \";", + "Ġ\" ;", + "i cky", + "ic ky", + "ick y", + "Ġt empor", + "Ġtem por", + "Ġtemp or", + "Ġtempo r", + "S N", + "Ġ resident", + "Ġres ident", + "Ġresid ent", + "Ġreside nt", + "p ires", + "pi res", + "pir es", + "pire s", + "ys ical", + "ysi cal", + "Ġend orse", + "Ġendors e", + "Ġ Song", + "ĠS ong", + "ĠSo ng", + "ĠSon g", + "is Empty", + "le et", + "lee t", + "_ util", + "_u til", + "_ut il", + "Ġd istingu", + "Ġdist ingu", + "Ġ Talk", + "ĠT alk", + "ĠTal k", + "ĠTa lk", + "Ġ Mot", + "ĠM ot", + "ĠMo t", + "( default", + "(d efault", + "(de fault", + "(def ault", + ". Arg", + ".A rg", + ".Ar g", + "gorith ms", + "gorithm s", + "_ words", + "_w ords", + "_word s", + "im mer", + "imm er", + "_ reset", + "_re set", + "_res et", + "f amily", + "W W", + "Ġs avings", + "Ġsav ings", + "Ġsaving s", + "Ġ âĢĿ", + "ĠâĢ Ŀ", + "_ enable", + "_e nable", + "_en able", + "s idebar", + "side bar", + "R unning", + "Run ning", + "Ġ ali", + "Ġa li", + "Ġal i", + "Ġte stim", + "Ġtest im", + "Ġtes tim", + "Ġ warnings", + "Ġw arnings", + "Ġwar nings", + "Ġwarn ings", + "Ġwarning s", + "Ġ Chem", + "ĠC hem", + "ĠCh em", + "ĠChe m", + "Ġ Exit", + "ĠE xit", + "ĠEx it", + "Ġf ounder", + "Ġfound er", + "Ġfo under", + "Ġfou nder", + "p ector", + "pe ctor", + "pect or", + "pec tor", + "Ġ rm", + "Ġr m", + "_ dataset", + "_d ataset", + "_data set", + "_dat aset", + "_datas et", + "Ġ Das", + "ĠD as", + "ĠDa s", + "Ġ han", + "Ġh an", + "Ġha n", + "G etty", + "Get ty", + "Ge tty", + "á l", + "Ġ ny", + "Ġn y", + "Ġpo verty", + "Ġpov erty", + "Ġresult ed", + ". by", + ".b y", + "Ġ Visit", + "ĠVis it", + "ĠVi sit", + "Ġobt aining", + "Ġobtain ing", + "/ '.$", + "/' .$", + "/'. $", + "Ġ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "s hall", + "sh all", + "shal l", + "sha ll", + "_ LEFT", + "_LE FT", + "UI Image", + "_ Name", + "_N ame", + "h ave", + "ha ve", + "ĠN ob", + "ĠNo b", + "l r", + "- footer", + "-f ooter", + "-foot er", + "Ġn aked", + "Ġna ked", + "Ġnak ed", + "ĠG arden", + "ĠGar den", + "ĠGard en", + "\\F acades", + "Ġ graduate", + "Ġgrad uate", + "Ġgradu ate", + "4 17", + "41 7", + "Ġfr anchise", + "Ġfranch ise", + "p lane", + "pl ane", + "plan e", + "pla ne", + "Ġcontrib utions", + "Ġcontribution s", + "Ġstring With", + "Ġ crypto", + "Ġc rypto", + "Ġcrypt o", + "Ġcry pto", + "Ġmov ements", + "Ġmove ments", + "Ġmo vements", + "Ġmovement s", + "a thers", + "ath ers", + "ather s", + "athe rs", + "Ġ lifetime", + "Ġl ifetime", + "Ġlife time", + "Ġlif etime", + "Ġcommunic ate", + "Ġcommun icate", + "j ar", + "ja r", + "Ġ Fragment", + "ĠF ragment", + "ĠFr agment", + "ĠFra gment", + "ĠFrag ment", + "_ IF", + "_I F", + "ĠN avy", + "ĠNav y", + "ĠNa vy", + "Ġ Figure", + "ĠF igure", + "ĠFig ure", + "Ġ simulation", + "Ġs imulation", + "Ġsim ulation", + "Ġsimul ation", + "_ stop", + "_s top", + "_st op", + "Ġreport ers", + "Ġreporter s", + "Ġver sus", + "Ġvers us", + "a ja", + "aj a", + "Ġ α", + "ĠÎ ±", + "Ġgover nor", + "Ġgovern or", + "Ġgoverno r", + "List Item", + "Ġ sealed", + "Ġse aled", + "Ġsea led", + "Ġseal ed", + ". Background", + ".Back ground", + "e di", + "ed i", + "ash ing", + "ashi ng", + "Ġ lip", + "Ġl ip", + "Ġli p", + "ĠI h", + "m erge", + "mer ge", + "Ġn ec", + "Ġne c", + "0 24", + "02 4", + "el ocity", + "elo city", + "AT EG", + "ATE G", + "Ġse eds", + "Ġsee ds", + "Ġseed s", + "Ġ floating", + "Ġf loating", + "Ġfloat ing", + "Ġflo ating", + "7 01", + "70 1", + "_ FA", + "_F A", + "w alk", + "wa lk", + "wal k", + "ĉ user", + "ĉu ser", + "ĉuse r", + "ĉus er", + "_ depth", + "_de pth", + "_dep th", + "_dept h", + "Ġw age", + "Ġwa ge", + "Ġwag e", + "@ app", + "@a pp", + "N il", + "Ni l", + "( [\"", + "([ \"", + "( vector", + "(v ector", + "(vec tor", + "Ġsecret ary", + "4 61", + "46 1", + "Ġj Panel", + "v ez", + "ve z", + "Âł ³³³", + "³³ ³³", + "³³³ Âł", + "d irection", + "dir ection", + "di rection", + "direct ion", + "dire ction", + "Ġ EP", + "ĠE P", + "Ġ hunt", + "Ġh unt", + "Ġhun t", + "Ġhu nt", + "3 96", + "39 6", + "Json Property", + "Ġ PORT", + "ĠP ORT", + "ĠPO RT", + "ĠPOR T", + "] \",", + "]\" ,", + "а п", + "аР¿", + "Ġ Foreign", + "ĠFore ign", + "p anic", + "pan ic", + "pa nic", + "Ġtr ials", + "Ġtri als", + "Ġtrial s", + "Ġ Ale", + "ĠA le", + "ĠAl e", + "Ġr ural", + "Ġru ral", + "- value", + "-v alue", + "-val ue", + "-valu e", + "author ized", + "authorize d", + "Ġ Scotland", + "ĠSc otland", + "ĠScot land", + ". drop", + ".d rop", + ".dr op", + "Ġ MT", + "ĠM T", + "ç ±", + "3 91", + "39 1", + "row th", + "5 15", + "51 5", + "File Path", + "Ġ recall", + "Ġre call", + "Ġrec all", + "Ġrecal l", + "if le", + "Ġ cel", + "Ġc el", + "Ġce l", + "Ġ SELECT", + "ĠSE LECT", + "ĠSEL ECT", + "k n", + "_ case", + "_c ase", + "_ca se", + "Ġ crop", + "Ġc rop", + "Ġcr op", + "Ġcro p", + "5 43", + "54 3", + "s ure", + "sur e", + "su re", + "p ot", + "po t", + "I CS", + "IC S", + "Ġ stem", + "Ġs tem", + "Ġst em", + "Ġste m", + "Ġindust ries", + "Ġindustri es", + "P ut", + "Pu t", + "Ġ aber", + "Ġa ber", + "Ġab er", + "road cast", + "I cons", + "Icon s", + ") \")Ċ", + ")\" )Ċ", + ")\") Ċ", + "æĪIJ åĬŁ", + "g ui", + "gu i", + "Ġass umed", + "Ġassum ed", + "Ġassume d", + "Ġ rx", + "Ġr x", + "E A", + "è §", + "E LL", + "EL L", + "Ġd ose", + "Ġdo se", + "Ġdos e", + "Ġ ine", + "Ġin e", + "Ġi ne", + "Ġd eeper", + "Ġde eper", + "Ġdeep er", + "Ġdee per", + "l ider", + "li der", + "lide r", + "lid er", + "Ġ ordinary", + "Ġord inary", + "Ġordin ary", + "Ġg olf", + "Ġgo lf", + "Ġgol f", + "6 05", + "60 5", + "_ IMAGE", + "_IM AGE", + "Ġ NAME", + "ĠN AME", + "ĠNA ME", + "( module", + "(m odule", + "(mod ule", + "Ġ atom", + "Ġa tom", + "Ġat om", + "Ġ belt", + "Ġb elt", + "Ġbe lt", + "Ġbel t", + "Ġoff ices", + "Ġoffic es", + "Ġoffice s", + "5 06", + "50 6", + "b eta", + "be ta", + "bet a", + "Ġphilosoph y", + "( JSON", + "(J SON", + "(JS ON", + "- field", + "-f ield", + "-fi eld", + "Ġint roduce", + "Ġintrodu ce", + "Ġintro duce", + "Ġcon venience", + "Ġconven ience", + "op tim", + "opt im", + "> \"Ċ", + ">\" Ċ", + "a thy", + "at hy", + "ath y", + "Ġ employer", + "Ġemploy er", + "q uate", + "qu ate", + "qua te", + "quat e", + "Ġ edited", + "Ġed ited", + "Ġedit ed", + "Ġedi ted", + "Arg uments", + "Argument s", + "ĠN ations", + "ĠNation s", + "ĠNat ions", + "_ _)", + "__ )", + "Ġn ose", + "Ġno se", + "Ġnos e", + "Ġ Sample", + "ĠS ample", + "ĠSam ple", + "ĠSamp le", + "' )ĊĊĊ", + "') ĊĊĊ", + "')Ċ ĊĊ", + "')ĊĊ Ċ", + "Ġ cake", + "Ġc ake", + "Ġca ke", + ". getAttribute", + ".get Attribute", + "H D", + "3 92", + "39 2", + "Mod ified", + "4 45", + "44 5", + "Ġ predicted", + "Ġpred icted", + "Ġpredict ed", + "Ġpredic ted", + "Å Ħ", + "a nie", + "an ie", + "ani e", + "S orry", + "( doc", + "(d oc", + "(do c", + "w ind", + "win d", + "wi nd", + "i eve", + "ie ve", + "iev e", + "Ġpro visions", + "Ġprov isions", + "Ġprovision s", + "A TER", + "AT ER", + "ATE R", + "O TE", + "OT E", + "M Y", + ". Autowired", + ".A utowired", + "ĠB ath", + "ĠBa th", + "ĠBat h", + "4 23", + "42 3", + ". Boolean", + ".Bool ean", + "Ġ backend", + "Ġback end", + ". Mouse", + ".M ouse", + "at eral", + "ate ral", + "ater al", + "p aper", + "pa per", + "Con st", + "Co nst", + "Cons t", + "Ġ VR", + "ĠV R", + "_ entity", + "_e ntity", + "_ent ity", + "_ CTRL", + "_C TRL", + "_CT RL", + "Ġ Protection", + "ĠPro tection", + "ĠProt ection", + "ĠProte ction", + "ĠProtect ion", + "Ġ GM", + "ĠG M", + "Ġ Study", + "ĠSt udy", + "ĠStud y", + "Ġ soup", + "Ġs oup", + "Ġso up", + "Ġsou p", + "o time", + "ot ime", + "oti me", + "' use", + "'u se", + "] \"", + "/ users", + "/user s", + "/use rs", + "/us ers", + "a ug", + "au g", + "Ġ Hong", + "ĠH ong", + "ĠHon g", + "ĠHo ng", + "_ norm", + "_n orm", + "_no rm", + "ãģ ¨", + "Ġse cre", + "Ġsec re", + "( Build", + "(B uild", + "Ġ Contract", + "ĠCon tract", + "ĠCont ract", + "ĠContr act", + "o las", + "ol as", + "ola s", + "Ġs auce", + "Ġsa uce", + "Ġsau ce", + "Ġag gressive", + "Ġaggress ive", + "Ġagg ressive", + "Ġ racial", + "Ġr acial", + "Ġrac ial", + "Ġra cial", + "char acter", + "@ @", + "Ġ compile", + "Ġcom pile", + "Ġcomp ile", + "Ġcompil e", + "Ġ Void", + "ĠV oid", + "ĠVo id", + "_ rem", + "_re m", + "_r em", + "_ memory", + "_m emory", + "_mem ory", + "3 48", + "34 8", + "k k", + "Ġ mic", + "Ġm ic", + "Ġmi c", + "S ame", + "Sam e", + "Sa me", + "U tility", + "Util ity", + "Ut ility", + "Ġ Html", + "ĠH tml", + "Ġ Xml", + "ĠX ml", + "ĠXm l", + "Re ady", + "Read y", + "Ġg all", + "Ġga ll", + "Ġgal l", + "Ġalleg edly", + "Ġalleged ly", + "ĉ ĉĉĉĠĠĠ", + "ĉĉ ĉĉĠĠĠ", + "ĉĉĉĉ ĠĠĠ", + "ĉĉĉ ĉĠĠĠ", + "ĉĉĉĉĠ ĠĠ", + "ĉĉĉĉĠĠ Ġ", + "Ġ Metal", + "ĠM etal", + "ĠMe tal", + "ĠMet al", + "ĠMeta l", + "Ġ Personal", + "ĠPerson al", + "ĠPers onal", + "ĠPersona l", + "Ġborder Radius", + "rx js", + "object s", + "obj ects", + "Ġwant ing", + "Ġwan ting", + "Ġb owl", + "Ġbo wl", + "Ġbow l", + "v endor", + "offset of", + "Ġ Rs", + "ĠR s", + "Ġ Rating", + "ĠR ating", + "ĠRa ting", + "ĠRat ing", + "Ġr ally", + "Ġrall y", + "_ NODE", + "_N ODE", + "_NO DE", + "4 18", + "41 8", + "Ġ Mix", + "ĠM ix", + "ĠMi x", + "Ġad vertis", + "Ġadvert is", + "4 85", + "48 5", + "6 67", + "66 7", + "Ġnarr ative", + "s al", + "sa l", + "Ġ mc", + "Ġm c", + "S Error", + "SE rror", + "Ġf ingers", + "Ġfin gers", + "Ġfinger s", + "Ġfing ers", + "Ġac company", + "Ġaccom pany", + "Ġaccomp any", + "Ġt ired", + "Ġti red", + "Ġtire d", + "Ġtir ed", + "Ġ stride", + "Ġst ride", + "Ġstr ide", + "Ġstri de", + "Ġ gui", + "Ġg ui", + "Ġgu i", + "e list", + "el ist", + "eli st", + "L ocale", + "Lo cale", + "Local e", + "Loc ale", + "Ġre leases", + "Ġrelease s", + "Ġrele ases", + "i king", + "ik ing", + "iki ng", + "Ġ anger", + "Ġa nger", + "Ġan ger", + "Ġang er", + "Ġange r", + ") ))ĊĊ", + ")) )ĊĊ", + ")))Ċ Ċ", + "))) ĊĊ", + "al lest", + "all est", + "alle st", + "alles t", + "Sum mary", + "( O", + "( for", + "(f or", + "Ġbasket ball", + "Ġ roads", + "Ġro ads", + "Ġroad s", + "Ġ Install", + "ĠInst all", + "Ġ Fab", + "ĠF ab", + "ĠFa b", + "it map", + "itm ap", + "4 75", + "47 5", + "Ġ ))Ċ", + "Ġ) )Ċ", + "Ġ)) Ċ", + "Ġ intersection", + "Ġinter section", + "Ġintersect ion", + "Ġinters ection", + "igh bor", + "ighb or", + "ĠB ry", + "ĠBr y", + "Ġ HERE", + "ĠH ERE", + "ĠHE RE", + "ĠHER E", + "S oftware", + "So ftware", + "Soft ware", + "el fare", + "elf are", + "a cs", + "ac s", + "6 22", + "62 2", + "Ġtr ailer", + "Ġtrail er", + "Ġtra iler", + "Ġtrai ler", + ". getClass", + ".get Class", + ".getC lass", + "ch ars", + "char s", + "cha rs", + "Ġreg ulation", + "Ġregul ation", + "Ġre fers", + "Ġref ers", + "Ġrefer s", + "Ġd estruction", + "Ġde struction", + "Ġdestruct ion", + "Ġ continuous", + "Ġcontin uous", + "Ġcontinu ous", + "Ġ Austin", + "ĠA ustin", + "ĠAust in", + "ĠAus tin", + "ĠAu stin", + "é ¢", + "a kan", + "ak an", + "aka n", + ". window", + ".w indow", + ".wind ow", + "Ġ Templates", + "ĠT emplates", + "ĠTem plates", + "ĠTemplate s", + "ĠTemp lates", + "ĠTempl ates", + "Ġabs ence", + ": n", + "Ġdis order", + "f lash", + "fl ash", + "Ġde let", + "Ġdel et", + "Ġdele t", + "bo ards", + "board s", + "Ġ Ġĉ", + "ĠĠ ĉ", + "R OP", + "RO P", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġac qu", + "Ġlaw suit", + "Ġlaws uit", + "Ġ Reviews", + "ĠRe views", + "ĠReview s", + "Ġgar age", + "Ġga rage", + "t imer", + "time r", + "ti mer", + "tim er", + "Ġ ej", + "Ġe j", + "Ġ Rectangle", + "ĠRect angle", + "Ġ flowers", + "Ġfl owers", + "Ġflow ers", + "Ġflo wers", + "Ġflower s", + "3 98", + "39 8", + "i lst", + "il st", + "ils t", + "Ġ Instance", + "ĠIn stance", + "ĠInst ance", + "S uper", + "Sup er", + "Su per", + "d et", + "de t", + "dis posing", + "disp osing", + "Ġ ES", + "ĠE S", + "Ġ IC", + "ĠI C", + "v ere", + "ver e", + "ve re", + "S k", + "_ channels", + "_ch annels", + "_channel s", + "_chan nels", + "p uted", + "put ed", + "pu ted", + "pute d", + "/ null", + "/n ull", + "n nen", + "nn en", + "4 31", + "43 1", + "Ġ Gallery", + "ĠG allery", + "ĠGall ery", + "_ global", + "_g lobal", + "_glob al", + "Auth entication", + "Ġ Rank", + "ĠR ank", + "ĠRa nk", + "ĠRan k", + "Ġ blocked", + "Ġb locked", + "Ġbl ocked", + "Ġblock ed", + "Ġbloc ked", + "Ġc alm", + "Ġcal m", + "Ġca lm", + "m arket", + "mark et", + "mar ket", + "ĉ val", + "ĉv al", + "ĉva l", + "Ġ aug", + "Ġa ug", + "Ġau g", + "p eriod", + "per iod", + "peri od", + "Ġ Constant", + "ĠCon stant", + "ĠCons tant", + "ĠConst ant", + "Ġ ?>\">Ċ", + "Ġ?> \">Ċ", + "Ġ?>\" >Ċ", + "Ġ?>\"> Ċ", + "Ġ lobby", + "Ġl obby", + "Ġlob by", + "p al", + "pa l", + "3 79", + "37 9", + "Ġ sink", + "Ġs ink", + "Ġsi nk", + "Ġsin k", + "5 08", + "50 8", + "i ah", + "ia h", + "Ð ¡", + "ur name", + "urn ame", + "Ġcon ver", + "Ġconv er", + "Ġinvest igate", + "Ġinvestig ate", + "Ch rist", + "Chris t", + "Chr ist", + "H ub", + "Hu b", + "Ġ IND", + "ĠI ND", + "ĠIN D", + "Ġ Ped", + "ĠP ed", + "ĠPe d", + "u ras", + "ur as", + "ura s", + "ĉ url", + "ĉu rl", + "Ġ Tro", + "ĠT ro", + "ĠTr o", + "Ġ preferences", + "Ġp references", + "Ġpre ferences", + "Ġprefer ences", + "Ġpreference s", + "Ġguar anteed", + "Ġguarante ed", + "Ġguarantee d", + "` ĊĊ", + "`Ċ Ċ", + "Ġport ions", + "Ġportion s", + "Ġe valu", + "Ġev alu", + "Ġeval u", + "' > < /", + "( ){ĊĊ", + "() {ĊĊ", + "(){Ċ Ċ", + "(){ ĊĊ", + "en coded", + "enc oded", + "encode d", + "enco ded", + "z illa", + "zi lla", + ". Class", + ".C lass", + ".Cl ass", + "Ġ *_", + "Ġ* _", + "_ '", + "Ġview ed", + "Ġvi ewed", + "Ġvie wed", + "Ġ Philadelphia", + "ĠPhil adelphia", + ". rows", + ".r ows", + ".row s", + ".ro ws", + "Add ed", + "Ad ded", + "Ġ Touch", + "ĠT ouch", + "ĠTo uch", + "ĠTou ch", + "8 40", + "84 0", + ". delegate", + ".de legate", + "quee ze", + "s lide", + "sl ide", + "Ġ Senior", + "ĠSen ior", + "( tag", + "(t ag", + "Ġinter views", + "Ġinterview s", + "Ġs ua", + "Ġsu a", + "a tas", + "at as", + "ata s", + "@ ĊĊ", + "@Ċ Ċ", + "d istance", + "di stance", + "dist ance", + "Ġ sein", + "Ġs ein", + "Ġse in", + "Ġsei n", + "l atest", + "la test", + "late st", + "lat est", + "lates t", + "Ġ Prince", + "ĠPr ince", + "ĠPri nce", + "Ġlux ury", + "Ġre fr", + "Ġref r", + "Ġ Kitchen", + "ĠK itchen", + "ĠKit chen", + "Ñ Ħ", + "( at", + "(a t", + "F inal", + "Fin al", + "Fi nal", + "ü ck", + "üc k", + "_ zero", + "_z ero", + "Ġ ABC", + "ĠA BC", + "ĠAB C", + "Ġ Manchester", + "ĠMan chester", + "Ġ cow", + "Ġc ow", + "Ġco w", + "C OL", + "CO L", + "_ NUMBER", + "_NUM BER", + "ch anges", + "change s", + "chan ges", + "chang es", + "g enerate", + "gen erate", + "gener ate", + "gene rate", + ". Printf", + ".Print f", + "3 69", + "36 9", + "s hare", + "sh are", + "sha re", + "St ock", + "Ġ PT", + "ĠP T", + "A nim", + "An im", + "a nga", + "an ga", + "ang a", + "Ġ ig", + "Ġi g", + "up loads", + "upload s", + "Ġ packed", + "Ġp acked", + "Ġpack ed", + "Ġpac ked", + "Ġ }];Ċ", + "Ġ} ];Ċ", + "Ġ}] ;Ċ", + "( sender", + "(s ender", + "(se nder", + "(send er", + "Ġ Wire", + "ĠW ire", + "ĠWi re", + "ĠWir e", + "i sons", + "is ons", + "ison s", + "iso ns", + "Ġplay off", + "\\ E", + "6 08", + "60 8", + "/ R", + "Ġ headed", + "Ġhe aded", + "Ġhead ed", + "Al pha", + "( order", + "(ord er", + "(or der", + "Ġop ponents", + "Ġopp onents", + "Ġoppon ents", + "Ġopponent s", + "ack son", + "acks on", + "_ member", + "_m ember", + "_mem ber", + "T urn", + "Tur n", + "Tu rn", + "ĠSov iet", + "ìĹ IJ", + "a uge", + "au ge", + "aug e", + "4 48", + "44 8", + "Ġ incoming", + "Ġin coming", + "Ġinc oming", + "Ġincom ing", + "Ġ jak", + "Ġj ak", + "Ġja k", + "- game", + "-g ame", + "Ġ Male", + "ĠM ale", + "ĠMal e", + "ĠMa le", + "Ġ Month", + "ĠM onth", + "ĠMon th", + "ĠMo nth", + "ĠMont h", + "St age", + ". exe", + ".e xe", + ".ex e", + "Own Property", + ". setItem", + ".set Item", + "Ġ dc", + "Ġd c", + "ä½ ľ", + "Ġb rut", + "Ġbr ut", + "Ġbru t", + "Ġattempt ing", + ". len", + ".l en", + ".le n", + "Ġjud gment", + "Ġs ab", + "Ġsa b", + "Ġ cad", + "Ġc ad", + "Ġca d", + "Ġ Items", + "ĠI tems", + "ĠIt ems", + "ĠItem s", + "com fort", + "el ize", + "eli ze", + "/ log", + "/l og", + "/lo g", + "Ġentre prene", + "Ġ compiler", + "Ġc ompiler", + "Ġcom piler", + "Ġcomp iler", + "Ġcompile r", + "Ġcompil er", + "_ validation", + "_valid ation", + "r eview", + "re view", + "rev iew", + "Ġ textBox", + "Ġtext Box", + "Ġ fraction", + "Ġf raction", + "Ġfr action", + "Ġfra ction", + "Ġfract ion", + "Ġfrac tion", + "Ġ Bal", + "ĠB al", + "ĠBa l", + "> ;ĊĊ", + ">;Ċ Ċ", + ">; ĊĊ", + ".AutoScale Mode", + "Ġ cats", + "Ġc ats", + "Ġca ts", + "Ġcat s", + "4 65", + "46 5", + "Ġ registry", + "Ġreg istry", + "Ġregistr y", + "Ġregist ry", + "u lus", + "ul us", + "ulu s", + "F I", + "p ayload", + "pay load", + "- search", + "-s earch", + "-se arch", + "Ġst aying", + "Ġstay ing", + "Ġsta ying", + "ac ious", + "aci ous", + "acio us", + "De coration", + "Dec oration", + "Decor ation", + "R eview", + "Re view", + "Rev iew", + "I nf", + "In f", + "Ke ep", + "it is", + "iti s", + ", String", + ",S tring", + "C oord", + "Co ord", + "Ġp ero", + "Ġper o", + "Ġpe ro", + "S ex", + "Se x", + "Ġ Atlanta", + "ĠAtl anta", + "u esta", + "ue sta", + "ues ta", + "uest a", + "A rgb", + "Arg b", + "Ar gb", + "> *", + "} _", + "F ooter", + "Foo ter", + "Foot er", + "Fo oter", + "Ġ employed", + "Ġemploy ed", + "_ bound", + "_b ound", + "_bo und", + "v ide", + "vid e", + "vi de", + ". func", + ".f unc", + ".fun c", + "$ scope", + "$s cope", + "Ġ spo", + "Ġs po", + "Ġsp o", + "Ġ Anal", + "ĠA nal", + "ĠAn al", + "ĠAna l", + "oun ced", + "ounc ed", + "ounce d", + "a round", + "ar ound", + "aro und", + "Ġ restriction", + "Ġre striction", + "Ġrestrict ion", + "Ġrestr iction", + "Ġ shops", + "Ġsh ops", + "Ġshop s", + "Ġsho ps", + "å Ģ", + "Ġ Latin", + "ĠL atin", + "ĠLa tin", + "ĠLat in", + "- col", + "-c ol", + "-co l", + "Ġbar ely", + "Ġbare ly", + "Ġ Euro", + "ĠE uro", + "ĠEu ro", + "ĠEur o", + "E r", + "Ġf aire", + "Ġfa ire", + "Ġfair e", + "_ distance", + "_d istance", + "_dist ance", + "_di stance", + "_ unlock", + "_un lock", + "Qu ote", + "IV ATE", + "IVA TE", + "Ġ åĪ", + "Ġå Ī", + "Ġa imed", + "Ġaim ed", + "Ġai med", + "Ġaime d", + "ĠRe trie", + "ĠRet rie", + ". iter", + ".i ter", + ".it er", + "Ġ wrapped", + "Ġw rapped", + "Ġwr apped", + "Ġwrap ped", + "Ġag reements", + "Ġagre ements", + "Ġagree ments", + "Ġagreement s", + "str ument", + "stru ment", + "( product", + "(pro duct", + "(prod uct", + "Ġstud ied", + "Ġstudi ed", + ". setValue", + ".set Value", + "Ġ ye", + "Ġy e", + "Ġ Cache", + "ĠC ache", + "ĠCa che", + "MB OL", + "Ġquarter back", + "Ġ syntax", + "Ġs yntax", + "Ġsy ntax", + "Ġsyn tax", + "Ġsynt ax", + ".get ElementsBy", + ".getElements By", + ". version", + ".v ersion", + "we bsite", + "web site", + "webs ite", + "R unner", + "Run ner", + "_ single", + "_s ingle", + "_si ngle", + "_sin gle", + "a tiv", + "at iv", + "ati v", + "Ġ Altern", + "ĠAl tern", + "ĠAlt ern", + "ĠAlter n", + "Ġ Beautiful", + "ĠBe autiful", + "ĠBeaut iful", + "right arrow", + "Ġd iversity", + "Ġdivers ity", + "p lash", + "pl ash", + "pla sh", + "( co", + "(c o", + ". Fill", + ".F ill", + "Ġ typing", + "Ġtyp ing", + "Ġty ping", + "3 87", + "38 7", + "0 23", + "02 3", + "Ġ clar", + "Ġc lar", + "Ġcl ar", + "Ġcla r", + "H it", + "Hi t", + "O O", + "a cco", + "ac co", + "acc o", + "5 07", + "50 7", + "w orth", + "wort h", + "wor th", + "Ġ scripts", + "Ġs cripts", + "Ġscript s", + "Ġscri pts", + "ĠMuslim s", + "Ġ LL", + "ĠL L", + "er ving", + "erv ing", + "( boolean", + "(bool ean", + "Ġbase ball", + "Ġ CAN", + "ĠC AN", + "ĠCA N", + "3 94", + "39 4", + "0 44", + "04 4", + "M AIL", + "MA IL", + "d epend", + "de pend", + "dep end", + "Ġres pective", + "Ġrespect ive", + "Ġresp ective", + "Ġ constexpr", + "Ġconst expr", + ".* ;ĊĊ", + ".*;Ċ Ċ", + "' ]))Ċ", + "'] ))Ċ", + "']) )Ċ", + "'])) Ċ", + "Ġ yard", + "Ġy ard", + "Ġya rd", + "Ġyar d", + "Ġident ical", + "if ecycle", + "ife cycle", + "U SH", + "US H", + "up iter", + ". validate", + ".valid ate", + "c li", + "cl i", + "I STER", + "IS TER", + "IST ER", + "Ind icator", + "F ail", + "Fa il", + "Ġdem ocracy", + "Ġdemocr acy", + ". var", + ".v ar", + ".va r", + "Ġs atisfied", + "Ġsatisf ied", + "- ------------", + "-- -----------", + "---- ---------", + "-------- -----", + "--- ----------", + "------------ -", + "----- --------", + "---------- ---", + "------ -------", + "----------- --", + "------- ------", + "--------- ----", + "en cer", + "ence r", + "enc er", + "h or", + "ho r", + "Ġr ounds", + "Ġro unds", + "Ġround s", + "Ġrou nds", + "D AO", + "DA O", + "o a", + "Ġfl ask", + "Ġfla sk", + "= c", + "[ ]Ċ", + "[] Ċ", + "/ dist", + "/d ist", + "/dis t", + "Ġp arte", + "Ġpart e", + "Ġpar te", + "Ġ confirmation", + "Ġconfirm ation", + "e ron", + "er on", + "ero n", + "a ware", + "aw are", + "awa re", + "< ?>", + "", + "Ġ dependencies", + "Ġdep endencies", + "Ġdepend encies", + "Ġ Videos", + "ĠV ideos", + "ĠVideo s", + "ĠVid eos", + "ĠVide os", + "- row", + "-r ow", + "-ro w", + "Ġ **/Ċ", + "Ġ* */Ċ", + "Ġ** /Ċ", + "Ġ nou", + "Ġn ou", + "Ġno u", + "Ġ hover", + "Ġh over", + "Ġho ver", + "æ ŀ", + "Ġ nin", + "Ġn in", + "Ġni n", + "Ġ USD", + "ĠU SD", + "ĠUS D", + "M ac", + "Ma c", + "_ Load", + "_L oad", + "Ġout comes", + "Ġoutcome s", + "_ socket", + "_s ocket", + "_sock et", + "_so cket", + "_soc ket", + "Ġ queries", + "Ġqu eries", + "Ġque ries", + "Ġquer ies", + "w m", + "5 92", + "59 2", + "Ġh itting", + "Ġhit ting", + "in ux", + "inu x", + "M ich", + "Mi ch", + "Mic h", + "u dge", + "ud ge", + "A TAB", + "AT AB", + "ATA B", + "Ġv ulnerable", + "Ġvulner able", + "ä ¾", + "Ġ portfolio", + "Ġport folio", + ": YES", + "ĉ map", + "ĉm ap", + "B ound", + "Bo und", + "Ġ iteration", + "Ġit eration", + "Ġiter ation", + "in cess", + "ince ss", + "inc ess", + "inces s", + "Ġ actors", + "Ġa ctors", + "Ġact ors", + "Ġac tors", + "Ġactor s", + "Ġ Qual", + "ĠQ ual", + "ĠQu al", + "_ clean", + "_c lean", + "_cl ean", + "ãĢij ãĢIJ", + "M SG", + "MS G", + "G reen", + "Gr een", + "Gre en", + "ĠOff icer", + "ĠOffice r", + "Ġsm oking", + "Ġsmo king", + "> ',", + ">' ,", + "Ġ Flo", + "ĠF lo", + "ĠFl o", + "++ ;", + "4 33", + "43 3", + "oly gon", + "Ġ bulk", + "Ġb ulk", + "Ġbu lk", + "Ġbul k", + "Ġd rama", + "Ġdr ama", + "Ġdram a", + "Ġdra ma", + "Ġ exceptions", + "Ġex ceptions", + "Ġexcept ions", + "Ġexception s", + "Ġexce ptions", + "o sed", + "os ed", + "ose d", + "Ġ+ čĊ", + "Ġ legacy", + "Ġleg acy", + "C V", + "Ġcontrib uted", + "Ġcontribute d", + "Ġ Terms", + "ĠTe rms", + "ĠTer ms", + "ĠTerm s", + "Ġ bt", + "Ġb t", + "4 34", + "43 4", + "Ġun tuk", + "Ġunt uk", + "Ġ alien", + "Ġa lien", + "Ġal ien", + "Ġali en", + "= ==Ċ", + "== =Ċ", + "=== Ċ", + "ĉ Vector", + "ĉV ector", + "ĉVec tor", + "Ġ ls", + "Ġl s", + "On line", + ". facebook", + ".f acebook", + ".face book", + "n umeric", + "num eric", + "nu meric", + "numer ic", + "ock ets", + "ocket s", + "A ut", + "Au t", + "b ury", + "bur y", + "bu ry", + "- redux", + "-re dux", + "-red ux", + "ĠRed istributions", + "ĠRedistribution s", + "GLOBAL S", + "urrenc ies", + "urr encies", + "Ġ tons", + "Ġt ons", + "Ġto ns", + "Ġton s", + "âĢĻ ,", + "Ġ ê", + "Ġà ª", + "( col", + "(c ol", + "(co l", + "Ġ Symbol", + "ĠS ymbol", + "ĠSym bol", + "Ġst ayed", + "Ġstay ed", + "Ġ ML", + "ĠM L", + "Ġm unicip", + "Ġmun icip", + "Ġ sexo", + "Ġs exo", + "Ġse xo", + "Ġsex o", + "S en", + "Se n", + "n r", + "Ġg ains", + "Ġgain s", + "Ġga ins", + "Ġshort ly", + ". Menu", + ".M enu", + ".Me nu", + "à ½", + "KN OWN", + "Ġ operators", + "Ġoper ators", + "Ġoperator s", + "Ġopera tors", + "- V", + "Ġ Patrick", + "ĠPat rick", + "ĠPatri ck", + "/ add", + "/a dd", + "/ad d", + "_ CO", + "_C O", + "i ration", + "ir ation", + "ira tion", + "( post", + "(p ost", + "(pos t", + "(po st", + "Post s", + "Pos ts", + "Po sts", + "/ _", + "Ġ plug", + "Ġp lug", + "Ġpl ug", + "Ġplu g", + "Ġintel lectual", + "Ġintellect ual", + "Ġme tab", + "Ġmet ab", + "Ġmeta b", + "Ġpregn ancy", + "ĠPrem ier", + "ĠPremi er", + "n m", + "Ġ prediction", + "Ġpred iction", + "Ġpredict ion", + "Ġpredic tion", + "6 06", + "60 6", + "ĠMin istry", + "ĠMini stry", + "ĠMinist ry", + "Th ree", + "Thr ee", + "val uate", + "valu ate", + "Ġ Mini", + "ĠM ini", + "ĠMin i", + "ĠMi ni", + "b u", + "о з", + "оР·", + "< ul", + " \";čĊ", + ">\" ;čĊ", + ">\"; čĊ", + "ĠS av", + "ĠSa v", + ". Bold", + ".B old", + "Ġen ables", + "Ġenable s", + "ĉ tmp", + "ĉt mp", + "Ġman ually", + "Ġmanual ly", + "ĠS qu", + "ĠSq u", + "use rid", + "user id", + ". function", + ".f unction", + ".func tion", + ".fun ction", + ". cache", + ".c ache", + ".ca che", + "L OPT", + "LO PT", + ". Services", + ".S ervices", + ".Service s", + "5 88", + "58 8", + "d dit", + "dd it", + "t im", + "ti m", + "< img", + " >>", + ">> >", + "st ation", + "stat ion", + "sta tion", + "l ore", + "lo re", + "lor e", + "a type", + "at ype", + "aty pe", + "i shop", + "is hop", + "ish op", + "/ ****************************************************************", + "/******************************** ********************************", + "/************************ ****************************************", + "/******************************************************** ********", + "/******** ********************************************************", + "/**************** ************************************************", + "/**************************************** ************************", + "/************************************************ ****************", + "5 21", + "52 1", + "Com boBox", + "Combo Box", + "Ġvac ation", + "Ġva cation", + "Ġinit iative", + "Ġiniti ative", + "Ġ defaultValue", + "Ġdefault Value", + "7 70", + "77 0", + "con cat", + "conc at", + "Ġ Kh", + "ĠK h", + "6 32", + "63 2", + "Ġ Welcome", + "ĠW elcome", + "ĠWel come", + "ized Name", + "M igration", + "Ġ gradient", + "Ġg radient", + "Ġgrad ient", + "H ot", + "Ho t", + "Ġhard ly", + "e lo", + "el o", + "Ġ Students", + "ĠSt udents", + "ĠStud ents", + "ĠStudent s", + "Ġl oose", + "Ġlo ose", + "Ġloos e", + "7 30", + "73 0", + "a tz", + "at z", + ". Send", + ".S end", + ".Se nd", + "' /", + "Ġ universal", + "Ġun iversal", + "Ġunivers al", + "Ġ enterprise", + "Ġenter prise", + "Ġ regex", + "Ġreg ex", + "Ġ visitor", + "Ġvis itor", + "Ġvisit or", + "Ġ Fly", + "ĠF ly", + "ĠFl y", + "S eq", + "Se q", + "ภĻ", + "Ġ Visual", + "ĠVis ual", + "Ġ libraries", + "Ġl ibraries", + "Ġlib raries", + "Ġlibr aries", + "at oes", + "ato es", + "P ayment", + "Pay ment", + "4 47", + "44 7", + "Ġ pent", + "Ġp ent", + "Ġpe nt", + "Ġpen t", + "Ġgather ed", + "VR TX", + "VRT X", + "Ġ DM", + "ĠD M", + "S plit", + "Sp lit", + "Spl it", + "Ġl etting", + "Ġlet ting", + "Ġlett ing", + "Ð Ŀ", + "_ errors", + "_error s", + "_err ors", + "_er rors", + "ep och", + "P ARAM", + "PA RAM", + "PAR AM", + "c u", + "ÑģÑĤ в", + "ol utions", + "olution s", + "olut ions", + "Ed iting", + "Edit ing", + "fo nts", + "font s", + "fon ts", + "Ġ allocated", + "Ġal located", + "Ġalloc ated", + "Ġallocate d", + "Ġ Based", + "ĠB ased", + "ĠBase d", + "ĠBa sed", + "ĠBas ed", + "( Y", + "Ġ Judge", + "ĠJ udge", + "ĠJud ge", + "ĠJu dge", + "Ġbr others", + "Ġbro thers", + "Ġbrother s", + "Ġbroth ers", + "F ILES", + "FILE S", + "FI LES", + "ç o", + "5 31", + "53 1", + "w b", + "_ PI", + "_P I", + "' ^", + "Ġ sword", + "Ġs word", + "Ġsw ord", + "Ġswo rd", + ". services", + ".s ervices", + ".service s", + ".serv ices", + "Ġ nl", + "Ġn l", + "T im", + "Ti m", + "i gg", + "ig g", + "ĠMo ore", + "ĠMoo re", + "ĠMoor e", + "Ġcrypt oc", + "Ġcrypto c", + "åĩ º", + "_ posts", + "_post s", + "_pos ts", + "_po sts", + "ot ate", + "ota te", + "? '", + ". ...ĊĊ", + ".. ..ĊĊ", + "... .ĊĊ", + ".... ĊĊ", + "....Ċ Ċ", + "Ġ kl", + "Ġk l", + "= \"$", + "=\" $", + "Ġde coration", + "Ġdec oration", + "Ġdecor ation", + "Ġdeco ration", + "Ạ¡", + "Ġ DIRECT", + "ĠD IRECT", + "ĠDI RECT", + "ĠDIR ECT", + "G UI", + "GU I", + ") =>{Ċ", + ")= >{Ċ", + ")=> {Ċ", + "Ġ newsletter", + "Ġnews letter", + "Ġpre cis", + "Ġprec is", + "( point", + "(p oint", + "(po int", + "Ġ Equipment", + "ĠE quipment", + "ĠEqu ipment", + "ĠEquip ment", + "u ty", + "ut y", + "Ġ Dave", + "ĠD ave", + "ĠDav e", + "ĠDa ve", + "Ġpart icipation", + "Ġpartic ipation", + "Ġparticip ation", + "u arios", + "ua rios", + "uario s", + "uar ios", + "x it", + "xi t", + ". As", + ".A s", + "E TER", + "ET ER", + "o rous", + "or ous", + "oro us", + "Ġ shield", + "Ġsh ield", + "[ ]>", + "[] >", + "il itary", + "ilit ary", + ". origin", + ".or igin", + ".orig in", + "Ġ promotion", + "Ġpro motion", + "Ġprom otion", + "Ġpromot ion", + "Ġpromo tion", + "U nt", + "Un t", + "Ġ ct", + "Ġc t", + "T RA", + "TR A", + "5 56", + "55 6", + "View Holder", + "Ġ sigma", + "Ġs igma", + "Ġsig ma", + "d elta", + "del ta", + "are house", + "con tract", + "cont ract", + "contr act", + "contra ct", + "( Vector", + "(V ector", + "(Vec tor", + "7 21", + "72 1", + "Ġcomp ete", + "Ġcompet e", + "/ form", + "/f orm", + "/ components", + "/com ponents", + "/component s", + "Ġ nr", + "Ġn r", + "ĠInd ones", + "ĠIndo nes", + "Ġ оÑĤ", + "Ġо ÑĤ", + "Ġ Volume", + "ĠV olume", + "ĠVol ume", + ". files", + ".f iles", + ".file s", + ".fi les", + ".fil es", + "( resp", + "(r esp", + "(res p", + "(re sp", + "/ models", + "/model s", + "/mod els", + "Ġ surf", + "Ġs urf", + "Ġsu rf", + "Ġsur f", + "st andard", + "stand ard", + "/ o", + "ĠXCT Assert", + "V ICES", + "VICE S", + "VI CES", + "VIC ES", + ". Code", + ".C ode", + ".Co de", + "S ED", + "SE D", + "Ġ activate", + "Ġact ivate", + "Ġactiv ate", + "D elta", + "Del ta", + "Ġlimit ation", + "Ġlim itation", + "r ij", + "ri j", + "Ġpregn ant", + "Ġpreg nant", + ": ^(", + ":^ (", + "Ġs our", + "Ġso ur", + "Ġsou r", + "p ie", + "pi e", + "8 03", + "80 3", + "Ġ expense", + "Ġexp ense", + "i cation", + "ic ation", + "ica tion", + "Ġ Large", + "ĠL arge", + "ĠLar ge", + "Ġ ±", + "Ġ ±", + "ĠB owl", + "ĠBo wl", + "ĠBow l", + "( models", + "(model s", + "(mod els", + "(mode ls", + "/ N", + "8 57", + "85 7", + "P a", + ". reload", + ".re load", + ".r eload", + ".rel oad", + "Ġwonder ing", + "4 62", + "46 2", + "Exec ution", + "ĉ ĠĠĠĠĠĠ", + "ĉĠĠĠ ĠĠĠ", + "ĉĠ ĠĠĠĠĠ", + "ĉĠĠ ĠĠĠĠ", + "ĉĠĠĠĠĠ Ġ", + "ĉĠĠĠĠ ĠĠ", + "Ġ Graphics", + "ĠG raphics", + "ĠGraph ics", + "ĠGraphic s", + "Ġ Contin", + "ĠCon tin", + "ĠCont in", + "_ job", + "_j ob", + "Ġ getName", + "Ġget Name", + "Ġ Magn", + "ĠM agn", + "ĠMag n", + "ĠMa gn", + "Ġ DWORD", + "ĠD WORD", + "ĠDW ORD", + "m ad", + "ma d", + "Ġ nh", + "Ġn h", + "f eatures", + "fe atures", + "feature s", + "feat ures", + "fea tures", + "} \");Ċ", + "}\" );Ċ", + "}\") ;Ċ", + "he ets", + "heet s", + "hee ts", + "( train", + "(t rain", + "(tr ain", + "z n", + "Ġrec ruit", + "Ġrecru it", + ". connection", + ".con nection", + ".connect ion", + ".conn ection", + "Ġbar rel", + "Ġbarr el", + "Ġ steam", + "Ġs team", + "Ġst eam", + "Ġste am", + "_ setting", + "_s etting", + "_set ting", + "Ġ angular", + "Ġang ular", + "ane ously", + "aneous ly", + "Ġ bil", + "Ġb il", + "Ġbi l", + "Ġ Norm", + "ĠN orm", + "ĠNo rm", + "ĠNor m", + "5 22", + "52 2", + "(! $", + "i bt", + "ib t", + "% (", + "Ġ posit", + "Ġp osit", + "Ġpos it", + "Ġpo sit", + "Ġposi t", + "Ġ Father", + "ĠF ather", + "ĠFa ther", + "ĠFat her", + "int endo", + "inte ndo", + "5 65", + "56 5", + "L ive", + "Li ve", + "Liv e", + "0 41", + "04 1", + "Ġ ports", + "Ġp orts", + "Ġport s", + "Ġpo rts", + "Ġpor ts", + "Ġm ej", + "Ġme j", + "Ġ landing", + "Ġl anding", + "Ġland ing", + "Ġlan ding", + "p onder", + "pon der", + "pond er", + "po nder", + "ponde r", + "Ġ cod", + "Ġc od", + "Ġco d", + "_ HEADER", + "_HE ADER", + "_HEAD ER", + ". Margin", + ".M argin", + ".Mar gin", + "Ġ balls", + "Ġb alls", + "Ġball s", + "Ġbal ls", + "Ġdisc ussions", + "Ġdiscuss ions", + "Ġdiscussion s", + "Ġ blend", + "Ġbl end", + "Ġble nd", + "H ex", + "He x", + "Ġfar mers", + "Ġfarm ers", + "Ġfarmer s", + "Ġmaint aining", + "Ġmaintain ing", + "Ġ ĠĠčĊ", + "ĠĠ ĠčĊ", + "ĠĠĠ čĊ", + "s yn", + "sy n", + "[ T", + "r us", + "ru s", + "4 39", + "43 9", + "uff ers", + "uf fers", + "uffer s", + "Ġ contributors", + "Ġcontrib utors", + "Ġcontributor s", + "_ sys", + "_s ys", + "_sy s", + ". Debug", + ".De bug", + "Ġ constructed", + "Ġconstruct ed", + "o mes", + "om es", + "ome s", + "? id", + "s lider", + "sl ider", + "slide r", + "Ġsup pliers", + "Ġsupplier s", + "Ġsuppl iers", + "Ġsupp liers", + "6 11", + "61 1", + "scribe r", + "scri ber", + "scr iber", + "p es", + "pe s", + "Ð ŀ", + "\" :čĊ", + "\": čĊ", + "\\ Controller", + ") )ĊĊĊ", + ")) ĊĊĊ", + "))Ċ ĊĊ", + "))ĊĊ Ċ", + "Ġ lua", + "Ġl ua", + "Ġlu a", + "M ulti", + "Mult i", + "Mul ti", + "E NS", + "EN S", + "S rc", + "Sr c", + "Ġ petition", + "Ġpet ition", + "Ġpetit ion", + "Ġ slave", + "Ġsl ave", + "Ġsla ve", + "Ġslav e", + "lo oking", + "look ing", + "loo king", + "V ERT", + "VER T", + "VE RT", + "ĉ vector", + "ĉv ector", + "ĉvec tor", + "S pecial", + "Sp ecial", + "Spec ial", + "Spe cial", + "h h", + "an ne", + "ann e", + "ĠN iger", + "ĠNi ger", + "/ views", + "/view s", + "z ing", + "zi ng", + "zin g", + "end ant", + "enda nt", + "< C", + "s peed", + "sp eed", + "spe ed", + "5 14", + "51 4", + "Ġ{ };ĊĊ", + "Ġ{} ;ĊĊ", + "Ġ{};Ċ Ċ", + "Ġ{}; ĊĊ", + "Begin Init", + "Ġf open", + "Ġfo pen", + "@ RequestMapping", + "End Init", + "Ġp unch", + "Ġpun ch", + "S ender", + "Se nder", + "Send er", + "Sen der", + "6 03", + "60 3", + "é Ķ", + "get Message", + "/ types", + "/t ypes", + "/type s", + ". PI", + ".P I", + "(' ');Ċ", + "oc used", + "ocus ed", + "ocu sed", + "( all", + "(a ll", + "(al l", + "Ġ dropdown", + "Ġd ropdown", + "Ġdrop down", + ") .__", + "). __", + ")._ _", + "Ġ Vin", + "ĠV in", + "ĠVi n", + ". ForeignKey", + ".Fore ignKey", + "6 12", + "61 2", + "ca nf", + "can f", + "o ured", + "ou red", + "our ed", + "oure d", + "Ġ Organization", + "ĠO rganization", + "ĠOrgan ization", + "Ġ а", + "ĠÐ °", + "Ġ Culture", + "ĠC ulture", + "ĠCult ure", + "ĠCul ture", + "( cls", + "(c ls", + "(cl s", + ", _", + "9 02", + "90 2", + "r gba", + "rg ba", + "rgb a", + "ìĿ ĺ", + ". dataGridView", + ".data GridView", + "Ġdo zen", + "Ġdoz en", + "ĠG es", + "ĠGe s", + "8 05", + "80 5", + "4 64", + "46 4", + "_ shared", + "_sh ared", + "_share d", + "_sha red", + "n ick", + "ni ck", + "nic k", + "Ġh osp", + "Ġho sp", + "Ġhos p", + "o meter", + "om eter", + "ome ter", + "omet er", + "4 95", + "49 5", + "Ġclaim ing", + "Ġcla iming", + "0 32", + "03 2", + "i bles", + "ib les", + "ible s", + "r ik", + "ri k", + "æĺ ¯", + "en ario", + "ena rio", + "Ġd engan", + "Ġden gan", + "o bb", + "ob b", + "m ont", + "mon t", + "mo nt", + "_ rank", + "_r ank", + "_ra nk", + "(' /',", + "('/ ',", + "Ġap olog", + "Ġapo log", + "P s", + "_ power", + "_p ower", + "_pow er", + "_po wer", + "ĠG ree", + "ĠGr ee", + "ĠGre e", + "Ġf ulfill", + "Ġful fill", + "Ġfulfil l", + "Ġ firebase", + "Ġf irebase", + "Ġfire base", + "9 10", + "91 0", + "Ġ fare", + "Ġf are", + "Ġfa re", + "Ġfar e", + "ĠH im", + "ĠHi m", + "Ġ bean", + "Ġb ean", + "Ġbe an", + "â̦ .", + "Ġ SPI", + "ĠS PI", + "ĠSP I", + "_ RX", + "_R X", + "Ġper ception", + "Ġperce ption", + "Ġpercept ion", + "rel ative", + "com pile", + "comp ile", + "u um", + "uu m", + "u tos", + "ut os", + "uto s", + "a uc", + "au c", + "Ġ Ask", + "ĠA sk", + "ĠAs k", + "Ġ indicator", + "Ġind icator", + "Ġindic ator", + "Ġindica tor", + "/ th", + "/t h", + ".set String", + "ĠWis consin", + ". Domain", + ".D omain", + ".Do main", + ".Dom ain", + "Ġart ificial", + "De velop", + "Dev elop", + "Ġ Sarah", + "ĠS arah", + "ĠSar ah", + "ĠSa rah", + "ĠSara h", + "Ġ lying", + "Ġl ying", + "Ġly ing", + "( search", + "(s earch", + "(se arch", + "ĠEm pire", + "ĠEmp ire", + "ur ring", + "urr ing", + "æĹ¶ éĹ´", + "= \"${", + "=\" ${", + "=\"$ {", + "Ġ getId", + "Ġget Id", + "Ġ Payment", + "ĠP ayment", + "ĠPay ment", + "t ransition", + "trans ition", + "Ġ ].", + "Ġ] .", + "i xin", + "ix in", + "V T", + "- select", + "-s elect", + "-se lect", + "Ġdemonstr ated", + "Ġdemonstrate d", + "Ġ lastName", + "Ġlast Name", + "em ployment", + "emp loyment", + "employ ment", + ". getProperty", + ".get Property", + ".getP roperty", + "Ġf ought", + "Ġfo ught", + "Ġfou ght", + "file Name", + "Ġ Pers", + "ĠP ers", + "ĠPer s", + "ĠPe rs", + "4 52", + "45 2", + "- card", + "-c ard", + "-car d", + "-ca rd", + "a str", + "as tr", + "ast r", + "at trs", + "att rs", + "attr s", + "Ġpro minent", + "Ġprom inent", + "Ġpromin ent", + "D esign", + "De sign", + "Des ign", + "anc ouver", + "ãģĹ ãģ", + "ar do", + "ard o", + "s ecret", + "se cret", + "sec ret", + "Ġ rag", + "Ġr ag", + "Ġra g", + "Ġpo ison", + "Ġpoi son", + "Ġpois on", + "- man", + "-m an", + ", omitempty", + "7 40", + "74 0", + "ĉ un", + "ĉu n", + "it zer", + "itz er", + "ĠCas ino", + "Ġ Ross", + "ĠR oss", + "ĠRo ss", + "ĠRos s", + "- foot", + "-f oot", + "( results", + "(result s", + "(res ults", + "P lan", + "Pl an", + "Ġl aser", + "Ġla ser", + "Ġlas er", + "ê¸ °", + "_ DR", + "_D R", + "5 23", + "52 3", + "F acebook", + "Face book", + "4 49", + "44 9", + "Ġ boards", + "Ġbo ards", + "Ġboard s", + "s ta", + "st a", + "] ],", + "]] ,", + "6 75", + "67 5", + "Ġ tiles", + "Ġt iles", + "Ġti les", + "Ġtile s", + "Ġtil es", + "S IZE", + "SI ZE", + "Ġ =~", + "Ġ= ~", + "9 70", + "97 0", + "Ġprem ier", + "Ġpremi er", + "o cab", + "oc ab", + "oca b", + "Ġ encoded", + "Ġen coded", + "Ġenc oded", + "Ġencode d", + "Ġ reserve", + "Ġre serve", + "Ġres erve", + "Ġreserv e", + "6 09", + "60 9", + "ĠAfghan istan", + "Ġ ListNode", + "ĠList Node", + "ur ls", + "url s", + "Ġ submission", + "Ġsub mission", + "Ġn eu", + "Ġne u", + "4 77", + "47 7", + "Ġ# +#", + "_ POST", + "_P OST", + "_PO ST", + "_POS T", + "Ġmo ist", + "Ġmoi st", + "Ġmois t", + "e lli", + "el li", + "ell i", + "ellig ent", + "elli gent", + ". alert", + ".al ert", + "ó d", + "b re", + "br e", + "Ġ Collect", + "ĠC ollect", + "ĠCol lect", + "ĠColl ect", + "Ġ graphic", + "Ġg raphic", + "Ġgraph ic", + "Ġgrap hic", + "Ġ longitude", + "Ġlong itude", + "Ġlongitud e", + "Ġ Provid", + "ĠPro vid", + "ĠPr ovid", + "ĠProv id", + "Ġ Calculate", + "ĠC alculate", + "ĠCal culate", + "ĠCalcul ate", + "ĠCalc ulate", + "x ffff", + "xf fff", + "xff ff", + "xfff f", + "c riteria", + "crit eria", + "Ġ waters", + "Ġw aters", + "Ġwater s", + "Ġwa ters", + "Ġwat ers", + "r ock", + "ro ck", + "roc k", + "lo quent", + "ĠT rib", + "ĠTr ib", + "ĠTri b", + "5 13", + "51 3", + "Ġ burst", + "Ġb urst", + "Ġbu rst", + "Ġbur st", + "Ġ suffix", + "Ġs uffix", + "Ġsuff ix", + "Ġsuf fix", + ". Extensions", + ".Ext ensions", + ".Extension s", + "is hes", + "ish es", + "i vel", + "iv el", + "ive l", + "Ġ LIKE", + "ĠL IKE", + "ĠLI KE", + "Ġ Getty", + "ĠG etty", + "ĠGet ty", + "ĠGe tty", + ".Action Event", + ".s lf", + ".sl f", + "Ġ HAL", + "ĠH AL", + "ĠHA L", + "u pal", + "up al", + "upa l", + "E AR", + "EA R", + "5 24", + "52 4", + "u di", + "ud i", + "_ timeout", + "_time out", + "U F", + "Ġ Singapore", + "ĠSing apore", + "ĠSingap ore", + "ĠAd vent", + "ĠAdv ent", + "_ interval", + "_int erval", + "_inter val", + "c haft", + "ch aft", + "cha ft", + "Ġ Emer", + "ĠE mer", + "ĠEm er", + "Ġ telephone", + "Ġtele phone", + "ĠTur k", + "ĠTu rk", + "_ interface", + "_inter face", + "Ġ Own", + "ĠO wn", + "ĠOw n", + "Ġencour aged", + "Ġencourage d", + "< Object", + "(", + "<> (", + "5 44", + "54 4", + ". Product", + ".Pro duct", + ".Produ ct", + "Form s", + "For ms", + "Fo rms", + "N EW", + "NE W", + "P ay", + "Pa y", + "ĉ boolean", + "ĉbool ean", + "_ contact", + "_cont act", + "Ġ Electric", + "ĠE lectric", + "ĠElect ric", + "s kip", + "sk ip", + "ski p", + "Ġw ur", + "Ġch ronic", + "Ġchron ic", + "Ġchr onic", + "_ driver", + "_d river", + "_dr iver", + "_drive r", + "9 40", + "94 0", + "Ġ Sab", + "ĠS ab", + "ĠSa b", + "Ġ Ult", + "ĠU lt", + "ĠUl t", + "Ġ Rad", + "ĠR ad", + "ĠRa d", + "ST ATUS", + "STAT US", + "Ġ Lewis", + "ĠL ewis", + "ĠLe wis", + "ĠLew is", + "O B", + "Ġgift s", + "Ġgi fts", + "Ġgif ts", + ". Rec", + ".R ec", + ".Re c", + "TR UE", + "Ġint ensity", + "Ġintens ity", + "M arker", + "Mark er", + "Mar ker", + ". compare", + ".com pare", + ".comp are", + "f fic", + "ff ic", + "ffi c", + "C ookie", + "Co okie", + "Cook ie", + "Ġ Baby", + "ĠB aby", + "ĠBa by", + "ĠBab y", + "Ġ BigDecimal", + "ĠB igDecimal", + "ĠBig Decimal", + "i let", + "il et", + "ile t", + "ĠHOLD ERS", + "ĠHOLDER S", + "Ġ Lady", + "ĠL ady", + "ĠLa dy", + "ĠLad y", + "Ġ lung", + "Ġl ung", + "Ġlu ng", + "Ġlun g", + "Ġ Alabama", + "ĠAl abama", + "Ġ dess", + "Ġd ess", + "Ġde ss", + "Ġdes s", + "` );Ċ", + "`) ;Ċ", + "Ġ Builder", + "ĠB uilder", + "ĠBuild er", + "ĠBu ilder", + "_ region", + "_reg ion", + "Ġ neutral", + "Ġne utral", + "Ġneut ral", + "Ġneutr al", + "9 09", + "90 9", + "B oth", + "Bo th", + "Bot h", + "Ġ hp", + "Ġh p", + "Ġ horn", + "Ġh orn", + "Ġhor n", + "Ġho rn", + "Ġ segments", + "Ġse gments", + "Ġseg ments", + "Ġsegment s", + "Ġ EC", + "ĠE C", + "\" =>\"", + "\"=> \"", + "( rec", + "(r ec", + "(re c", + "Ġ Pi", + "ĠP i", + "G M", + "Ġl aptop", + "Ġlap top", + "S calar", + "Sc alar", + "Scala r", + "4 63", + "46 3", + "i sd", + "is d", + "- dialog", + "-d ialog", + "-di alog", + "Ġ Anderson", + "ĠAnd erson", + "ĠAnders on", + "Ġmis takes", + "Ġmist akes", + "Ġmi stakes", + "Ġmistake s", + "7 08", + "70 8", + "Ġ Han", + "ĠH an", + "ĠHa n", + "j es", + "je s", + "est ination", + "esti nation", + "4 36", + "43 6", + "Ġprom ises", + "Ġpromise s", + "b id", + "bi d", + "Ġ Scient", + "ĠS cient", + "ĠSc ient", + "ĠSci ent", + "G IN", + "GI N", + "Ġ Performance", + "ĠPer formance", + "ĠPerform ance", + "b age", + "ba ge", + "bag e", + ". users", + ".user s", + ".use rs", + ".us ers", + "le ading", + "lead ing", + "lea ding", + "Ġ oral", + "Ġo ral", + "Ġor al", + "Ġora l", + "G raphics", + "Graph ics", + "Graphic s", + "4 88", + "48 8", + "_ PTR", + "_P TR", + "_PT R", + "5 18", + "51 8", + "h ang", + "ha ng", + "han g", + "Ġin ev", + "Ġi nev", + "Ġine v", + "p rocessing", + "process ing", + "F actor", + "Fact or", + "Fac tor", + "Fa ctor", + "Ġ NA", + "ĠN A", + "$ string", + "$s tring", + "$str ing", + "Ġ grounds", + "Ġgr ounds", + "Ġground s", + "Ġgro unds", + "Ġgrou nds", + ".Save Changes", + "c lock", + "cl ock", + "clo ck", + "9 41", + "94 1", + "cri pcion", + "Ġ Newton", + "ĠNew ton", + "g c", + ". includes", + ".in cludes", + ".include s", + "Ġ blast", + "Ġb last", + "Ġbl ast", + "Ġblas t", + "Ġbla st", + "Ġ' -'", + "Ġ'- '", + "Ġp uede", + "Ġpued e", + "Ġpu ede", + "4 69", + "46 9", + ". Session", + ".S ession", + "Ġ grep", + "Ġg rep", + "Ġgr ep", + "Ġgre p", + "_ final", + "_f inal", + "_fin al", + "Ġ Gay", + "ĠG ay", + "ĠGa y", + "Ġ Give", + "ĠG ive", + "ĠGi ve", + "i ri", + "ir i", + "- star", + "-s tar", + "-st ar", + "Ġ UIImage", + "ĠUI Image", + "_ epoch", + "_ep och", + "u bb", + "ub b", + "e nth", + "en th", + "ent h", + "Ġ elite", + "Ġe lite", + "Ġel ite", + "Ġelit e", + "Ġcampaign s", + "Ġ Porno", + "ĠP orno", + "ĠPorn o", + "ĠPor no", + "_ assign", + "_as sign", + "_ass ign", + "Prot ocol", + "Proto col", + "Ġ Being", + "ĠB eing", + "ĠBe ing", + "ĠBei ng", + "Ġ Airport", + "ĠAir port", + "Ġcon ventional", + "Ġconvent ional", + "Ġconvention al", + "Ġ Wat", + "ĠW at", + "ĠWa t", + "Ġ CI", + "ĠC I", + "E TA", + "ET A", + "Ġ Anthony", + "ĠAnth ony", + "Ġ tablet", + "Ġtable t", + "Ġtab let", + "( format", + "(form at", + "(for mat", + "Ġconsist ently", + "Ġconsistent ly", + "ĠI owa", + "ĠIo wa", + "4 74", + "47 4", + "Ġ avatar", + "Ġav atar", + "Ġava tar", + "0 27", + "02 7", + ". cursor", + ".c ursor", + "! [", + "Ġh anging", + "Ġhang ing", + "Ġhan ging", + "Ġhangi ng", + "H er", + "He r", + "S uch", + "Su ch", + "Suc h", + "' ;ĊĊĊ", + "';Ċ ĊĊ", + "';ĊĊ Ċ", + "'; ĊĊĊ", + "org eous", + "orge ous", + "( )==", + "() ==", + "Ġ viewModel", + "Ġview Model", + "Ġ ãĥ", + "Ġ els", + "Ġe ls", + "Ġel s", + "Ġ Agent", + "ĠA gent", + "ĠAg ent", + "ĠAge nt", + "F etch", + "a por", + "ap or", + "apo r", + "Ġ cx", + "Ġc x", + "p read", + "pr ead", + "pre ad", + "ĠP ier", + "ĠPi er", + "ĠPie r", + "o eff", + "oe ff", + "6 16", + "61 6", + "S n", + "8 90", + "89 0", + "Ġ Virtual", + "ĠV irtual", + "ĠVir tual", + "ĠVirt ual", + "A pr", + "Ap r", + ". White", + ".Wh ite", + "6 15", + "61 5", + "_ MOD", + "_M OD", + "_MO D", + "Ġ Points", + "ĠP oints", + "ĠPoint s", + "ĠPo ints", + "å¤ ±", + "Ġ genes", + "Ġg enes", + "Ġge nes", + "Ġgen es", + "Ġgene s", + "Ġ vendor", + "Ġv endor", + "Ġvend or", + "Ġmain stream", + "< src", + "Ċ", + "Ġ< >Ċ", + "Ġ<> Ċ", + "F ilename", + "File name", + "Fi lename", + "Fil ename", + "Ġs ne", + "Ġsn e", + "Ġ Football", + "ĠF ootball", + "ĠFoot ball", + "Ġr ival", + "Ġri val", + "Ġriv al", + "Ġdis aster", + "i onic", + "ion ic", + "io nic", + "ioni c", + "Ġ Damage", + "ĠD amage", + "ĠDa mage", + "ĠDam age", + ". Resource", + ".Re source", + ".Res ource", + "- en", + "-e n", + "Ġ Types", + "ĠT ypes", + "ĠType s", + "ĠTy pes", + "ĠTyp es", + "get String", + "( board", + "(b oard", + "Ġ bol", + "Ġb ol", + "Ġbo l", + "p lain", + "pl ain", + "pla in", + "z ym", + "zy m", + "ภ²", + "Ġ scanner", + "Ġsc anner", + "Ġscan ner", + "i lder", + "il der", + "ild er", + "ilde r", + "_ msgs", + "_msg s", + "_ms gs", + "æ ı", + "( intent", + "(int ent", + "(in tent", + "Ġ destruct", + "Ġd estruct", + "Ġde struct", + "Ġb ust", + "Ġbu st", + "Ġbus t", + "Ġ Employ", + "ĠE mploy", + "ĠEm ploy", + "ĠEmp loy", + "o ni", + "on i", + "Ġ UIViewController", + "ĠUI ViewController", + "ĠUIView Controller", + "Ġo dds", + "Ġodd s", + "Ġod ds", + "e arer", + "ear er", + "ea rer", + "Ge ometry", + "Geo metry", + "Geom etry", + "Ġ yii", + "Ġy ii", + "Ġyi i", + "_ EXPORT", + "_EX PORT", + "_EXP ORT", + "Ġ Attack", + "ĠAtt ack", + "Ġn iet", + "Ġnie t", + "Ġni et", + "Ġim pression", + "Ġimp ression", + "Ġimpress ion", + "Ġimpr ession", + "Ġ Gil", + "ĠG il", + "ĠGi l", + "_ prob", + "_p rob", + "_pro b", + "_pr ob", + "5 28", + "52 8", + "Ġ CF", + "ĠC F", + "Ġ Experience", + "ĠEx perience", + "/ plugins", + "/pl ugins", + "/plugin s", + ". Method", + ".M ethod", + "Ġbel iefs", + "Ġbelie fs", + "Ġbelief s", + "N ative", + "Nat ive", + "_ build", + "_b uild", + "Ġ vig", + "Ġv ig", + "Ġvi g", + "Ġr anks", + "Ġrank s", + "Ġran ks", + "cover ed", + "cov ered", + "7 05", + "70 5", + "s uch", + "su ch", + "G uard", + "Gu ard", + ". pack", + ".p ack", + ".pa ck", + "ad der", + "add er", + "8 09", + "80 9", + "i via", + "iv ia", + "ivi a", + "l ng", + "ln g", + "Ġ вÑĭ", + "Ġв Ñĭ", + "5 52", + "55 2", + "T imestamp", + "Time stamp", + "_ now", + "_n ow", + "_no w", + "Ġp oker", + "Ġpo ker", + "Ġpok er", + "Ġpoke r", + "Ġ unc", + "Ġu nc", + "Ġun c", + "Ġ shapes", + "Ġsh apes", + "Ġshape s", + "Ġsha pes", + "- types", + "-t ypes", + "-type s", + "_ period", + "_p eriod", + "_per iod", + "p k", + "Ġveter an", + "Ġ sono", + "Ġs ono", + "Ġso no", + "Ġson o", + "Ġ appointed", + "Ġapp ointed", + "Ġappoint ed", + "over flow", + ". driver", + ".d river", + ".dr iver", + ".drive r", + "_ cat", + "_c at", + "_ca t", + "u tt", + "ut t", + "p lant", + "pl ant", + "plan t", + "pla nt", + "i mb", + "im b", + "Ġ Accept", + "ĠAc cept", + "ĠAcc ept", + "Ġ concert", + "Ġcon cert", + "Ġconc ert", + "Ġconce rt", + "ĉ node", + "ĉn ode", + "ĉno de", + "ĉ z", + "? >čĊ", + "?> čĊ", + "Ġb anned", + "Ġban ned", + "ĉ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĉĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĉĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġt oxic", + "Ġto xic", + "Ġtox ic", + "Ġdis appe", + "Ġdisap pe", + "4 73", + "47 3", + "È Ľ", + "Ġg race", + "Ġgr ace", + "Ġgra ce", + "Ġgrac e", + "at eful", + "ate ful", + "Re ply", + "Rep ly", + "ĠC ruz", + "ĠCr uz", + "ĠCru z", + "4 86", + "48 6", + "Ġs crap", + "Ġsc rap", + "Ġscr ap", + "Ġ keywords", + "Ġkey words", + "Ġkeyword s", + "s imp", + "si mp", + "sim p", + "Ġmort gage", + "Ġcy ber", + "Ġ Execute", + "ĠEx ecute", + "ĠExec ute", + "Ġ latitude", + "Ġl atitude", + "Ġlat itude", + "i fu", + "if u", + ". COM", + ".C OM", + ".CO M", + "d bo", + "db o", + "Ġs orts", + "Ġso rts", + "Ġsort s", + "Ġsor ts", + "Ġ Gas", + "ĠG as", + "ĠGa s", + "om ial", + "omi al", + ". Local", + ".L ocal", + ".Lo cal", + "C ells", + "Cell s", + "Cel ls", + ". Replace", + ".Re place", + "String s", + "Str ings", + ". fit", + ".f it", + ".fi t", + "Ġ Third", + "ĠTh ird", + "ĠThi rd", + "% \",Ċ", + "%\" ,Ċ", + "%\", Ċ", + "Ġ {}\".", + "Ġ{ }\".", + "Ġ{} \".", + "Ġ Sony", + "ĠS ony", + "ĠSo ny", + "ĠSon y", + "Ġ [:", + "Ġ[ :", + "5 85", + "58 5", + "Ġf allen", + "Ġfa llen", + "Ġfall en", + "Ġfal len", + ". ')Ċ", + ".' )Ċ", + ".') Ċ", + "i nh", + "in h", + "Ġ MC", + "ĠM C", + "Ġ redis", + "Ġre dis", + "Ġr edis", + "Ġred is", + "C odes", + "Code s", + "Co des", + "Cod es", + "Ġ profiles", + "Ġpro files", + "Ġprof iles", + "Ġprofile s", + "Ġprofil es", + "h ook", + "ho ok", + "hoo k", + "Re ducer", + "Red ucer", + "Reduc er", + "Reduce r", + "_ FUNC", + "_F UNC", + "_FUN C", + "Ġ navigate", + "Ġn avigate", + "Ġnav igate", + "Ġnavig ate", + "st rlen", + "str len", + "Ġh orm", + "Ġhor m", + "Ġho rm", + "á ŀ", + "Ġ SR", + "ĠS R", + ". boot", + ".b oot", + ".bo ot", + "Ġ digest", + "Ġd igest", + "Ġdi gest", + "Ġdig est", + "ĉ header", + "ĉhead er", + ". findOne", + ".find One", + "æ ģ", + "Db Type", + "n ia", + "ni a", + "_ merge", + "_m erge", + "Ġd onne", + "Ġdon ne", + "Ġdonn e", + "/ Getty", + "/G etty", + "_ CHAR", + "_CH AR", + "Ġ bands", + "Ġb ands", + "Ġband s", + "Ġban ds", + "Ġba nds", + ". URL", + ".U RL", + ".UR L", + "art ial", + "arti al", + "Ġ freq", + "Ġf req", + "Ġfr eq", + "Ġfre q", + "Ġs ist", + "Ġsi st", + "Ġsis t", + "N g", + "Ġrender ing", + "Ġrend ering", + "\\ Core", + "\\C ore", + "Widget s", + "Ġ VA", + "ĠV A", + "Ġactiv ists", + "Ġactivist s", + "S te", + "St e", + "= _", + "a lla", + "al la", + "all a", + "St amp", + "Ġ loads", + "Ġlo ads", + "Ġload s", + "Ġloa ds", + "Ġ xx", + "Ġx x", + "Ġ Learning", + "ĠL earning", + "ĠLe arning", + "ĠLearn ing", + "ĠLear ning", + ". Mvc", + ".M vc", + "u ir", + "ui r", + "( \"$", + "(\" $", + "Ġ connecting", + "Ġconnect ing", + "Read Only", + "u ru", + "ur u", + "ĠE ag", + "ĠEa g", + "B IT", + "BI T", + "_ DEL", + "_D EL", + "_DE L", + "å §", + "arr ass", + "arra ss", + "ex ternal", + "ext ernal", + "extern al", + "exter nal", + "Ġ YOUR", + "ĠY OUR", + "ĠYOU R", + "ĠB rew", + "ĠBr ew", + "ĠBre w", + "Ġ Five", + "ĠF ive", + "ĠFi ve", + "Ġ resize", + "Ġre size", + "Ġres ize", + "i gid", + "ig id", + "igi d", + "e ration", + "er ation", + "era tion", + "6 53", + "65 3", + "Ġ Ñį", + "ĠÑ į", + "5 36", + "53 6", + "åĬ ł", + "0 39", + "03 9", + "Ġ Catch", + "ĠC atch", + "ĠCat ch", + "Ù ģ", + "Ġ Leon", + "ĠL eon", + "ĠLe on", + "ĠLeo n", + "a mil", + "am il", + "ami l", + ". Body", + ".B ody", + "C lip", + "Cl ip", + "Cli p", + "/ list", + "/l ist", + "/li st", + ". br", + ".b r", + "Edit Text", + "ĉ db", + "ĉd b", + ". Game", + ".G ame", + "( BuildContext", + "(Build Context", + "back end", + ". Red", + ".R ed", + ".Re d", + "f acebook", + "face book", + "5 29", + "52 9", + ". urls", + ".url s", + ".ur ls", + "m r", + "rol led", + "roll ed", + "- ------", + "-- -----", + "---- ---", + "--- ----", + "----- --", + "------ -", + "Ġint ervention", + "Ġinter vention", + "Ġinterven tion", + "Ġinterv ention", + "Ġret irement", + "Ġretire ment", + "Ġretir ement", + "Ġ Kit", + "ĠK it", + "ĠKi t", + "Ġ PRE", + "ĠP RE", + "ĠPR E", + "Upper Case", + "Ġ Socket", + "ĠS ocket", + "ĠSo cket", + "ĠSoc ket", + "Ġ :-", + "Ġ: -", + "Ġstud ying", + "Ġstudy ing", + "Ġ Metro", + "ĠM etro", + "ĠMe tro", + "ĠMet ro", + "ar ded", + "ard ed", + "arde d", + "Ġcon versations", + "Ġconvers ations", + "Ġconversation s", + "C alled", + "Call ed", + "Cal led", + "Ġex amine", + "Ġexam ine", + "ert ificate", + ". gz", + ".g z", + "- responsive", + "-res ponsive", + "Ġ refund", + "Ġre fund", + "Ġref und", + "_ network", + "_n etwork", + "_net work", + "0 26", + "02 6", + "all owed", + "allow ed", + "allo wed", + "em pt", + "emp t", + "Ġme als", + "Ġmeal s", + "C ategories", + "Ġtravel ing", + "Ġtrav eling", + "Ġ kg", + "Ġk g", + "Ġsh ame", + "Ġsha me", + "Ġsham e", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġexplicit ly", + "Ġmath ematic", + "Ġ Suite", + "ĠS uite", + "ĠSu ite", + "ĠSuit e", + "Ġ RGB", + "ĠR GB", + "ĠRG B", + "****** /", + "***** */", + "Ġm ixture", + "Ġmix ture", + "l earning", + "le arning", + "lear ning", + "learn ing", + ". template", + ".t emplate", + ".temp late", + ".tem plate", + "at ts", + "att s", + "w x", + "ĉ ctx", + "ĉc tx", + "ĉct x", + ". properties", + ".p roperties", + ".prop erties", + "Ġdr inks", + "Ġdrink s", + "Ġ Either", + "ĠE ither", + "set Text", + ". getData", + ".get Data", + ".getD ata", + ". zip", + ".z ip", + "Ġreve als", + "Ġreveal s", + "< table", + ".Ċ", + "/> .Ċ", + "/>. Ċ", + "Ġr anked", + "Ġrank ed", + "Ġran ked", + "_ impl", + "_i mpl", + "_im pl", + "_imp l", + "Ġ Handles", + "ĠH andles", + "ĠHand les", + "ĠHandle s", + "Ġhost ed", + "Ġho sted", + "Ġhos ted", + "Ġ updating", + "Ġup dating", + "Ġupd ating", + "al bum", + "é Ŀ", + "Ġ shader", + "Ġsh ader", + "Ġsha der", + "Ġshade r", + "Ed itors", + "Edit ors", + "Editor s", + "- round", + "-r ound", + "-ro und", + "[ ]{", + "[] {", + "Ġ sep", + "Ġs ep", + "Ġse p", + "Ġ Hi", + "ĠH i", + "T EM", + "TE M", + "look up", + "loo kup", + ". man", + ".m an", + ".ma n", + "_ INPUT", + "_IN PUT", + "Ġthreat ened", + "Ġthreaten ed", + "_ IMPORT", + "_IM PORT", + "_IMP ORT", + "Ġ drops", + "Ġd rops", + "Ġdr ops", + "Ġdrop s", + "Ġdro ps", + "r uit", + "ru it", + "s id", + "si d", + "b oth", + "bo th", + "bot h", + "Ġ Excel", + "ĠEx cel", + "ĠExc el", + "Ġ jer", + "Ġj er", + "Ġje r", + "ord inary", + "ordin ary", + "е й", + "еР¹", + "V IEW", + "VI EW", + "re ply", + "rep ly", + "Ġ ):Ċ", + "Ġ) :Ċ", + "Ġ): Ċ", + "col ors", + "color s", + "colo rs", + "ver ified", + "_ Tr", + "_T r", + "_ parse", + "_p arse", + "_par se", + "_pars e", + "Ġcon gress", + "Ġcongr ess", + "Ġcong ress", + "6 17", + "61 7", + "P romise", + "Pro mise", + "Prom ise", + "i nts", + "in ts", + "int s", + "Ġ Mother", + "ĠM other", + "ĠMo ther", + "ĠMot her", + ". Api", + ".A pi", + ".Ap i", + "Ġ Duration", + "ĠD uration", + "ĠDu ration", + "ĠDur ation", + "Ġ firstName", + "Ġfirst Name", + "inherit doc", + "ĠM ars", + "ĠMar s", + "ĠMa rs", + "Ġ apr", + "Ġa pr", + "Ġap r", + "O DY", + "OD Y", + "Ġvis its", + "Ġvisit s", + "6 31", + "63 1", + "Ġhe aling", + "Ġheal ing", + "let ters", + "letter s", + "lette rs", + "lett ers", + ") ));čĊ", + ")) );čĊ", + "))) ;čĊ", + "))); čĊ", + "f uture", + "fu ture", + ". Framework", + ".F ramework", + ".Frame work", + "Ġk iss", + "Ġki ss", + "Ġinv olve", + "Ġinvol ve", + "Ġ silent", + "Ġs ilent", + "Ġsil ent", + "ad ows", + "ado ws", + "adow s", + "Ġany body", + "s ch", + "sc h", + "6 90", + "69 0", + "Ġsol ely", + "Ġsole ly", + "- img", + "-i mg", + "-im g", + "Ġ propri", + "Ġp ropri", + "Ġpro pri", + "Ġprop ri", + "Ġin struct", + "Ġinstr uct", + "Ġ licenses", + "Ġlicense s", + "Ġlic enses", + "Ġlicens es", + "Ġ meth", + "Ġm eth", + "Ġme th", + "Ġmet h", + "Ġcon dem", + "Ġcond em", + "Ġ Domain", + "ĠD omain", + "ĠDo main", + "ĠDom ain", + "ĠH arris", + "ĠHar ris", + "ĠHarr is", + "Ġs Ã¥", + "CE PT", + "B atch", + "Bat ch", + "@ extends", + "ĠCONTR IBUT", + ". DataFrame", + ".Data Frame", + "4 72", + "47 2", + "_ packet", + "_p acket", + "_pack et", + "_pa cket", + "re cision", + "rec ision", + "Ġf ocusing", + "Ġfocus ing", + "Ġfoc using", + ". ht", + ".h t", + "__ \":Ċ", + ": Get", + "Ġ KC", + "ĠK C", + "Ġp assage", + "Ġpass age", + "Ġpas sage", + "S egment", + "Se gment", + "Seg ment", + "_ center", + "_c enter", + "_cent er", + "-z A", + "_ BL", + "_B L", + "Ġcon vin", + "Ġconv in", + "Ġ classified", + "Ġclass ified", + "Ġ NSMutable", + "ĠNS Mutable", + "_ ap", + "_a p", + "t ile", + "til e", + "ti le", + "Rect angle", + "4 92", + "49 2", + "( nums", + "(n ums", + "(num s", + "v ens", + "ve ns", + "ven s", + "Ġ UIButton", + "ĠUI Button", + "ĠUIB utton", + "ĠF eder", + "ĠFe der", + "ĠFed er", + "a mo", + "am o", + "Ġ outline", + "Ġout line", + "Ġ Parser", + "ĠP arser", + "ĠPar ser", + "ĠParse r", + "ĠPars er", + "Ġ âī", + "Ġâ ī", + "Ġ Works", + "ĠW orks", + "ĠWork s", + "ĠWor ks", + ". Schema", + ".S chema", + "Ġeng ines", + "Ġengine s", + "6 37", + "63 7", + "5 63", + "56 3", + "_ common", + "_com mon", + "_comm on", + "5 42", + "54 2", + "_ old", + "_o ld", + "Ġset ContentView", + "ĠsetContent View", + "Ġ ///<", + "Ġ// /<", + "Ġ/// <", + "Ġ BT", + "ĠB T", + "f m", + "Ġd ivers", + "Ġdi vers", + "Ġdiv ers", + "Ġdive rs", + "Ġdiver s", + "_ weights", + "_weight s", + "_we ights", + "e mark", + "em ark", + "ema rk", + "Ġ ACT", + "ĠA CT", + "ĠAC T", + "Ġpro portion", + "Ġprop ortion", + "Ġproport ion", + "Ġpropor tion", + "over lay", + ". dirname", + ".dir name", + "Ġ Git", + "ĠG it", + "ĠGi t", + "_ REFERENCE", + "_REF ERENCE", + "_REFER ENCE", + "< >", + "l b", + "_ rule", + "_r ule", + "_ru le", + "è´ ¥", + "Ġ Putin", + "ĠP utin", + "ĠPut in", + "ĠPu tin", + "Ġsleep ing", + "Ġsle eping", + "Ġslee ping", + "( ):čĊ", + "() :čĊ", + "(): čĊ", + "Ġ preserve", + "Ġp reserve", + "Ġpre serve", + "Ġpres erve", + "Ġpar liament", + "Ġ Looking", + "ĠLo oking", + "ĠLook ing", + "Ġp icking", + "Ġpick ing", + "Ġpic king", + "Ġ Dispatch", + "ĠDis patch", + "ĠDisp atch", + "Ġs lip", + "Ġsl ip", + "ë ĵ", + "ĠL yn", + "ĠLy n", + "_ signal", + "_s ignal", + "_sign al", + "_sig nal", + "config uration", + "ĠP itt", + "ĠPi tt", + "ĠPit t", + "4 91", + "49 1", + "a den", + "ad en", + "ade n", + "pro cedure", + "Ġenthus i", + "Ġenth usi", + "f ight", + "fig ht", + "fi ght", + "Ġ Consider", + "ĠCons ider", + "Ġt orn", + "Ġto rn", + "Ġtor n", + "Conn ected", + "Connect ed", + ". cos", + ".c os", + ".co s", + "_ groups", + "_g roups", + "_group s", + "Ġ Think", + "ĠTh ink", + "ĠThi nk", + "ĠThin k", + "Ġdel iber", + "Ġre sid", + "Ġres id", + "work ing", + "wor king", + ". columns", + ".column s", + "Ġ Called", + "ĠC alled", + "ĠCal led", + "ĠCall ed", + "Ġ eslint", + "Ġes lint", + "Ġesl int", + "> \",", + ">\" ,", + "_ DOWN", + "_D OWN", + "_DO WN", + "h ist", + "hi st", + "his t", + "Ġ Advanced", + "ĠAd vanced", + "ĠAdv anced", + "ĠAdvance d", + "Ġre wards", + "Ġreward s", + "Ġrew ards", + "a ctors", + "act ors", + "ac tors", + "actor s", + "Ġsil ence", + "4 79", + "47 9", + "Ġm yth", + "Ġmy th", + "Ġn eur", + "Ġne ur", + "Ġneu r", + "5 19", + "51 9", + "Ġ auction", + "Ġa uction", + "Ġau ction", + "Ġauc tion", + ". GetString", + ".Get String", + "e ks", + "ek s", + "( project", + "(pro ject", + "(proj ect", + "5 98", + "59 8", + "ĉ msg", + "ĉm sg", + "ĉms g", + "ĉ output", + "ĉout put", + "Ġcomplaint s", + "Ġcomplain ts", + "5 51", + "55 1", + ", S", + "Ġ tbl", + "Ġt bl", + "Ġtb l", + "Ġ ,ĊĊ", + "Ġ, ĊĊ", + "Ġ,Ċ Ċ", + "r iors", + "ri ors", + "rior s", + "rio rs", + "ah ren", + "ahr en", + "Ġlaw yers", + "Ġlawy ers", + "Ġlawyer s", + "re dux", + "red ux", + "_ symbol", + "_s ymbol", + "_sym bol", + "o ffee", + "of fee", + "off ee", + "_ RESULT", + "_RES ULT", + "( Name", + "(N ame", + "U TC", + "UT C", + ". currentTime", + ".current Time", + "Ġorgan is", + ". arg", + ".a rg", + ".ar g", + "5 33", + "53 3", + "Ġmin im", + "Ġmi nim", + "Ġmini m", + "w ick", + "wi ck", + "Ġrece ives", + "Ġreceive s", + "B alance", + "Bal ance", + "Ġspe aks", + "Ġspeak s", + "Ġ Days", + "ĠD ays", + "ĠDay s", + "ĠDa ys", + "Ġ Below", + "ĠB elow", + "ĠBe low", + "ĠBel ow", + "4 83", + "48 3", + "t ipo", + "ti po", + "tip o", + "P resent", + "Pre sent", + "Pres ent", + "Ġre serv", + "Ġres erv", + "h p", + "Ġ rit", + "Ġr it", + "Ġri t", + "_ RIGHT", + "_R IGHT", + "- -)", + "-- )", + "Ġchair man", + "7 81", + "78 1", + "D IS", + "DI S", + "Ġ BOOST", + "ĠBO OST", + "Ġex periments", + "Ġexper iments", + "Ġexperi ments", + "Ġexperiment s", + "6 87", + "68 7", + "_ _);Ċ", + "__ );Ċ", + "__) ;Ċ", + "__); Ċ", + "Ġ stamp", + "Ġst amp", + "Ġsta mp", + "Ġf ert", + "Ġfe rt", + "Ġfer t", + "Ġf ond", + "Ġfo nd", + "Ġfon d", + "T er", + "Te r", + "el ve", + "u ren", + "ur en", + "ure n", + "+ i", + "end ency", + "ende ncy", + "enden cy", + "Ġvirtual ly", + "Ġvirt ually", + ". ..\"", + ".. .\"", + "... \"", + "ï½ ŀ", + "9 25", + "92 5", + "- cent", + "-c ent", + "-ce nt", + "_ unique", + "_un ique", + "Ġ pricing", + "Ġp ricing", + "Ġpr icing", + "Ġpri cing", + "m ic", + "mi c", + "R ESH", + "RE SH", + "RES H", + "Ġ :::", + "Ġ: ::", + "Ġ:: :", + "Ġ annotation", + "Ġan notation", + "Ġann otation", + "Ġannot ation", + "Ġ Circle", + "ĠC ircle", + "ĠCirc le", + "ĠCir cle", + "ong odb", + "ongo db", + "i tas", + "it as", + "ita s", + "Ġ %(", + "Ġ% (", + "( component", + "(com ponent", + "(comp onent", + "Ġ об", + "Ġо б", + "( port", + "(p ort", + "(po rt", + "- hour", + "-h our", + ". obj", + ".o bj", + ".ob j", + "L BL", + "LB L", + "Ġ jury", + "Ġj ury", + "Ġju ry", + "Ġjur y", + "G BT", + "GB T", + "Ġ spy", + "Ġs py", + "Ġsp y", + "Ġ Professional", + "ĠProf essional", + "ĠProfession al", + "Ġ\" \";ĊĊ", + "Ġ\"\" ;ĊĊ", + "Ġ\"\";Ċ Ċ", + "Ġ\"\"; ĊĊ", + "Ġstr iking", + "Ġstri king", + "Ġd iscrimination", + "Ġdiscrim ination", + "Ġdiscrimin ation", + "Ġp ays", + "Ġpay s", + "Ġpa ys", + "9 37", + "93 7", + "l ict", + "lic t", + "li ct", + "en tes", + "ent es", + "ente s", + "Ġth rowing", + "Ġthrow ing", + "Ġthr owing", + "Ġthro wing", + "Ġ Plugin", + "ĠPl ugin", + "ĠPlug in", + "( def", + "(d ef", + "(de f", + "Ġ RuntimeException", + "ĠRuntime Exception", + "Ġ Migration", + "ĠM igration", + "ĠMig ration", + "5 99", + "59 9", + "Ġ dic", + "Ġd ic", + "Ġdi c", + "b ag", + "ba g", + "o nia", + "on ia", + "oni a", + "Ġcor ruption", + "Ġcorrupt ion", + "7 04", + "70 4", + "( Map", + "(M ap", + "Ġp rz", + "Ġpr z", + ". dto", + ".d to", + ".dt o", + "Ġac quire", + "Ġacqu ire", + "State ToProps", + "Ġl oving", + "Ġlo ving", + "Ġlov ing", + "о ж", + "оР¶", + "_ pattern", + "_p attern", + "_pat tern", + "Ġem otions", + "Ġemot ions", + "Ġemotion s", + "Ġ publisher", + "Ġp ublisher", + "Ġpublish er", + "Ġpubli sher", + "_ be", + "_b e", + "Ġc ouples", + "Ġco uples", + "Ġcou ples", + "Ġcouple s", + "Ġcoup les", + "4 98", + "49 8", + "o j", + "Ġ Chart", + "ĠC hart", + "ĠCh art", + "ĠChar t", + "ĠCha rt", + "Ġt rop", + "Ġtr op", + "Ġtro p", + ". tool", + ".t ool", + ".to ol", + "Ġestablish ment", + "Ġ dol", + "Ġd ol", + "Ġdo l", + "6 54", + "65 4", + "Ġ tower", + "Ġt ower", + "Ġto wer", + "Ġtow er", + "Ġ lane", + "Ġl ane", + "Ġla ne", + "Ġlan e", + "ĠSy dney", + "Ġf illing", + "Ġfil ling", + "Ġfill ing", + "claim ed", + "cla imed", + "6 44", + "64 4", + "Ġdialog ue", + "Ġdia logue", + "Ġdial ogue", + "Ġcon vention", + "Ġconv ention", + "Ġconven tion", + "Ġconvent ion", + "bo oking", + "book ing", + "boo king", + "par ency", + "pare ncy", + "paren cy", + "æ ±", + "Ġ Generic", + "ĠG eneric", + "ĠGener ic", + "ĠGen eric", + "ĠGene ric", + "7 18", + "71 8", + "\\ Schema", + "\\S chema", + "4 82", + "48 2", + "6 18", + "61 8", + "Ġ ranges", + "Ġr anges", + "Ġrange s", + "Ġran ges", + "Ġrang es", + "/ ch", + "/c h", + "Ġ panels", + "Ġpanel s", + "Ġpa nels", + "Ġpan els", + "Ġpane ls", + "Ġr uled", + "Ġrule d", + "Ġru led", + "çĶ Ł", + ". ts", + ".t s", + "_ sets", + "_s ets", + "_set s", + "_se ts", + "Ġ cleanup", + "Ġc leanup", + "Ġclean up", + "Pre vious", + "Prev ious", + "Ġ Animal", + "ĠAn imal", + "ĠAnim al", + "6 07", + "60 7", + "( $(", + "($ (", + "ĠA ve", + "ĠAv e", + "ol lar", + "oll ar", + "olla r", + "0 28", + "02 8", + "_ eval", + "_e val", + "_ev al", + "ĉ Name", + "ĉN ame", + "( tree", + "(t ree", + "(tr ee", + "Ġ \"]", + "Ġ\" ]", + "5 71", + "57 1", + "Ġdu ties", + "Ġdut ies", + "= '/", + "=' /", + "Click ed", + "Cl icked", + "Ġdiffer ently", + "Ġdifferent ly", + "Ġ Clark", + "ĠCl ark", + "ĠClar k", + "ĠCla rk", + "Ġ dit", + "Ġd it", + "Ġdi t", + "olog ists", + "ologist s", + "ologi sts", + "Ġsy nd", + "Ġsyn d", + "Ġs ends", + "Ġse nds", + "Ġsend s", + "Ġsen ds", + "- known", + "-k nown", + "-know n", + "k b", + "Ġ Modal", + "ĠM odal", + "ĠMod al", + "ĠMo dal", + "it ative", + "itat ive", + "Ġr acing", + "Ġrac ing", + "Ġra cing", + "Ġhigh lights", + "Ġhighlight s", + "Ġ Simon", + "ĠS imon", + "ĠSim on", + "ĠSi mon", + "Ġ Captain", + "ĠCap tain", + "ĠCapt ain", + "ä¿ ¡", + "Ġ CB", + "ĠC B", + "con tin", + "cont in", + "conti n", + "a ran", + "ar an", + "ara n", + "Ġ physics", + "Ġph ysics", + "Ġphys ics", + "Ġphysic s", + "r etty", + "re tty", + "ret ty", + "rett y", + "e tal", + "et al", + "eta l", + ". md", + ".m d", + "ax ios", + "Ġspe akers", + "Ġspeak ers", + "Ġspeaker s", + "Ġ prep", + "Ġp rep", + "Ġpr ep", + "Ġpre p", + "Ġaw arded", + "Ġaward ed", + "ì§ Ģ", + "Ġ Corn", + "ĠC orn", + "ĠCo rn", + "ĠCor n", + "Ġ Nature", + "ĠN ature", + "ĠNa ture", + "ĠNat ure", + "ĠNatur e", + "UD IO", + "7 37", + "73 7", + "Ġ proj", + "Ġp roj", + "Ġpro j", + "Ġpr oj", + "- pre", + "-p re", + "-pr e", + "[ u", + "F eatures", + "Fe atures", + "Feature s", + "Feat ures", + "Ġ isEqual", + "Ġis Equal", + "B inary", + "Bin ary", + "s ig", + "si g", + "Ġcon fusion", + "Ġconf usion", + "5 46", + "54 6", + "5 68", + "56 8", + "Ġ Hat", + "ĠH at", + "ĠHa t", + "Ġkt ó", + ". configure", + ".con figure", + ".config ure", + ".conf igure", + "M ON", + "MO N", + "4 94", + "49 4", + "/ edit", + "/e dit", + "_ Add", + "_A dd", + "_Ad d", + ", true", + ",tr ue", + "5 41", + "54 1", + "Ġ cli", + "Ġc li", + "Ġcl i", + "Error Message", + "- loader", + "-l oader", + "-lo ader", + "-load er", + "Dim ensions", + "Dimension s", + "ulti ply", + "ultip ly", + "Ġ {!!", + "Ġ{ !!", + "Ġ{! !", + "Ġ SqlCommand", + "ĠSql Command", + "Ġ spoken", + "Ġsp oken", + "Ġspoke n", + "Ġspo ken", + "Ġ pics", + "Ġp ics", + "Ġpi cs", + "Ġpic s", + "Ġ toy", + "Ġt oy", + "Ġto y", + "( Key", + "(K ey", + "Ġ Loop", + "ĠL oop", + "ĠLo op", + "Ø ¨", + "E ATURE", + "EA TURE", + "in ction", + "inc tion", + "inct ion", + "_ setup", + "_set up", + "w rapper", + "wrap per", + "wr apper", + "Ġt ong", + "Ġto ng", + "Ġton g", + "c ular", + "cul ar", + "cu lar", + "O pt", + "Op t", + ". Pl", + ".P l", + "= \",", + "=\" ,", + "( length", + "(l ength", + "(len gth", + "(le ngth", + "u mn", + "um n", + "Ġ chrom", + "Ġch rom", + "Ġchr om", + "Ġs event", + "Ġse vent", + "Ġseven t", + "Ġsev ent", + "Ġ IllegalArgumentException", + "ĠIl legalArgumentException", + "ĠIllegal ArgumentException", + "4 78", + "47 8", + "ĉ start", + "ĉst art", + "Ġbe gun", + "Ġbeg un", + "CE PTION", + "CEPT ION", + "d ataset", + "data set", + "dat aset", + "datas et", + "8 25", + "82 5", + "Ġ Failed", + "ĠF ailed", + "ĠFa iled", + "ĠFail ed", + "c ols", + "co ls", + "col s", + "4 59", + "45 9", + "Ġk nee", + "Ġkn ee", + "Ġkne e", + "i more", + "im ore", + "imo re", + ". splice", + ".sp lice", + "s hell", + "sh ell", + "she ll", + "ig gers", + "igger s", + "igg ers", + "Ġ themes", + "Ġth emes", + "Ġthe mes", + "Ġthem es", + "Ġtheme s", + "9 95", + "99 5", + "Ġ DJ", + "ĠD J", + "Ġ Assistant", + "ĠAss istant", + "ĠAssist ant", + "- $", + "M aybe", + "May be", + "Ġ ordering", + "Ġorder ing", + "Ġord ering", + "ĠInt elligence", + "ĠIntelli gence", + "ĠMass achusetts", + "Ġf ailing", + "Ġfa iling", + "Ġfail ing", + "el son", + "els on", + "G reat", + "Gr eat", + "Gre at", + "= i", + ". rest", + ".re st", + ".r est", + ".res t", + "Ġ invite", + "Ġinv ite", + "Ġinvit e", + "- disable", + "-d isable", + "-dis able", + ". GroupBox", + ".Group Box", + "âĢĻ est", + "âĢĻe st", + "âĢĻes t", + "Ġt ackle", + "Ġtack le", + "Ġtac kle", + "g v", + "et ter", + "ette r", + "ett er", + "Ġ ),čĊ", + "Ġ) ,čĊ", + "Ġ), čĊ", + "_ rules", + "_r ules", + "_rule s", + "_ru les", + ". warn", + ".w arn", + "function s", + "fun ctions", + "ĠChrist ians", + "ĠChristian s", + "Ġb acked", + "Ġback ed", + "Ġbac ked", + "Ġ slider", + "Ġs lider", + "Ġsl ider", + "Ġslide r", + "Ġslid er", + "Ġenjoy ing", + "Ġenjo ying", + "n est", + "ne st", + "nes t", + "Ġh ij", + "Ġhi j", + "_ ms", + "_m s", + "/ /*", + "// *", + "An notations", + "Annotation s", + "Ġ Variables", + "ĠVariable s", + "ĠVari ables", + "< V", + "( server", + "(s erver", + "(serv er", + "Ġ Oracle", + "ĠOr acle", + "e lements", + "el ements", + "element s", + "ele ments", + "elem ents", + "Ġ organisation", + "Ġorgan isation", + "Ġorganis ation", + "_ pointer", + "_point er", + "_po inter", + "Ġ Headers", + "ĠHe aders", + "ĠHead ers", + "ĠHeader s", + "[ d", + "Ġ deadline", + "Ġdead line", + "i ssa", + "is sa", + "iss a", + "Ġ knife", + "Ġkn ife", + "Ġ NASA", + "ĠN ASA", + "ĠNAS A", + "ĠNA SA", + "Ġ Height", + "ĠH eight", + "ĠHe ight", + "7 84", + "78 4", + "Ġ Async", + "ĠA sync", + "ĠAs ync", + "Ġ venue", + "Ġven ue", + ". dom", + ".d om", + ".do m", + "bour ne", + "bou rne", + "ĠH awai", + "ĠHaw ai", + "Ġ memo", + "Ġm emo", + "Ġme mo", + "Ġmem o", + "i ctions", + "ict ions", + "iction s", + "Ġsur veillance", + "Ġsurve illance", + "o mi", + "om i", + "/ assets", + "/as sets", + "5 87", + "58 7", + "Ġ edu", + "Ġe du", + "Ġed u", + "Ä Ľ", + "Ġr oster", + "Ġro ster", + "Ġros ter", + "Ġrost er", + "Ġh ired", + "Ġhi red", + "Ġhire d", + "Ġ Tok", + "ĠT ok", + "ĠTo k", + "Ġ placement", + "Ġpl acement", + "Ġplace ment", + "Ġplac ement", + "ur ations", + "uration s", + "urat ions", + "Ġ setState", + "Ġset State", + "ĠMag azine", + "Ġhor ror", + "Ġho rror", + "Ġhorr or", + "T ry", + "Tr y", + "Ġ lag", + "Ġl ag", + "Ġla g", + "Ġ Everyone", + "ĠEvery one", + "t hur", + "th ur", + ") );čĊčĊ", + ")) ;čĊčĊ", + "));čĊ čĊ", + ")); čĊčĊ", + ". return", + ".re turn", + ".r eturn", + ".ret urn", + "Ġsy mp", + "Ġsym p", + "âĸĪ âĸĪ", + "Ġn ights", + "Ġnight s", + "work er", + "wor ker", + "Ġ ale", + "Ġa le", + "Ġal e", + "ennes see", + ". step", + ".s tep", + ".st ep", + "Ġs ynchronized", + "Ġsynchron ized", + "Ġsynchronize d", + "4 87", + "48 7", + "o uri", + "ou ri", + "our i", + "D oes", + "Do es", + ". change", + ".ch ange", + "f on", + "fo n", + ". setBackground", + ".set Background", + "ir cular", + "irc ular", + "4 76", + "47 6", + "+ -", + "ĠC IA", + "ĠCI A", + "7 29", + "72 9", + "Ġ Jane", + "ĠJ ane", + "ĠJan e", + "ĠJa ne", + "Ġ Similar", + "ĠS imilar", + "ĠSim ilar", + "- I", + "level and", + "lev eland", + "Ġpro spect", + "Ġpros pect", + "_ found", + "_f ound", + "ĉ color", + "ĉc olor", + "ĉcol or", + ".D iagnostics", + ".Di agnostics", + "Ġ announce", + "Ġann ounce", + "Ġannounc e", + "Ġanno unce", + "Ġass umes", + "Ġassum es", + "Ġassume s", + "/ tr", + "/t r", + "Ġ bd", + "Ġb d", + "9 87", + "98 7", + "Ġ Carbon", + "ĠC arbon", + "ĠCar bon", + "ĠCarb on", + "Ġanal ys", + "Ġanaly s", + "Ġana lys", + "5 64", + "56 4", + ". dest", + ".d est", + ".de st", + ".des t", + "n ik", + "ni k", + "Ġ Lie", + "ĠL ie", + "ĠLi e", + "- index", + "-in dex", + "-ind ex", + "Draw able", + "Ġ TAG", + "ĠT AG", + "ĠTA G", + "Ġ triangle", + "Ġt riangle", + "Ġtr iangle", + "Ġtri angle", + "Ġtriang le", + "_ FLOAT", + "_F LOAT", + "ĉ ĉĠĠĠĠĠ", + "ĉĉ ĠĠĠĠĠ", + "ĉĉĠĠĠ ĠĠ", + "ĉĉĠ ĠĠĠĠ", + "ĉĉĠĠ ĠĠĠ", + "ĉĉĠĠĠĠ Ġ", + ". black", + ".b lack", + ".bl ack", + "v ue", + "vu e", + "c uracy", + "cur acy", + "cura cy", + "Ġa ffects", + "Ġaff ects", + "Ġaffect s", + "9 06", + "90 6", + "Ġsur ely", + "Ġsure ly", + "S lider", + "Sl ider", + "Slide r", + "u ki", + "uk i", + "c ery", + "ce ry", + "cer y", + "Ġ unter", + "Ġun ter", + "Ġunt er", + ". profile", + ".pro file", + ".pr ofile", + ".prof ile", + "or don", + "ord on", + "ordo n", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "le ave", + "lea ve", + "Ġsmart phone", + "g ie", + "gi e", + "Ġcon spir", + "Ġcons pir", + "Ġ tutorial", + "Ġt utorial", + "Ġtut orial", + "Ġtutor ial", + "Ġtuto rial", + "ç± »", + "Ġ cab", + "Ġc ab", + "Ġca b", + "7 65", + "76 5", + "Ġ Summary", + "ĠSum mary", + "* ĊĊ", + "*Ċ Ċ", + "ä h", + "\" This", + "\"T his", + "Ġ slides", + "Ġsl ides", + "Ġslide s", + "Ġslid es", + "\" ", + "() >", + "c ycle", + "cy cle", + "cycl e", + "ĠB ull", + "ĠBul l", + "ĠBu ll", + "p aths", + "path s", + "pat hs", + "pa ths", + "Ġu np", + "Ġun p", + "Ġview DidLoad", + "_ Model", + "_M odel", + "_Mode l", + "_Mod el", + "Ġ assertTrue", + "Ġassert True", + "Ġ rated", + "Ġr ated", + "Ġrate d", + "Ġrat ed", + "Ġra ted", + "De cl", + "Dec l", + "ver ted", + "vert ed", + "verte d", + "Ġ Dat", + "ĠD at", + "ĠDa t", + "b rew", + "br ew", + "bre w", + "Ġpoint ing", + "M s", + "Ġ Pointer", + "ĠPoint er", + "ĠPo inter", + ") '", + "_ non", + "_n on", + "_no n", + "5 27", + "52 7", + "Ġ SEC", + "ĠS EC", + "ĠSE C", + "Ġ yeah", + "Ġy eah", + "Ġye ah", + "g ency", + "ge ncy", + "gen cy", + "initial ize", + "f ly", + "fl y", + "7 11", + "71 1", + "[ pos", + "[p os", + ", g", + "T ele", + "Te le", + "Tel e", + "0 34", + "03 4", + "Ġj oke", + "Ġjo ke", + "Ġ clause", + "Ġcl ause", + "Ġcla use", + ". findById", + ".find ById", + ".findBy Id", + "e nes", + "en es", + "ene s", + "( instance", + "(in stance", + "(inst ance", + "6 26", + "62 6", + " £", + "9 15", + "91 5", + "Ġs lic", + "Ġsl ic", + "_ home", + "_h ome", + "_hom e", + "Ġ */}Ċ", + "Ġ*/ }Ċ", + "_ pages", + "_p ages", + "_page s", + "_pag es", + "_pa ges", + "( service", + "(s ervice", + "(serv ice", + "9 05", + "90 5", + "R P", + "Ġ Among", + "ĠA mong", + "ĠAm ong", + ". getCurrent", + ".get Current", + ".getC urrent", + "8 06", + "80 6", + "ã Ĥ¹", + "ãĤ ¹", + "Ġs lee", + "Ġsl ee", + "Ġsle e", + "= [Ċ", + ">[ Ċ", + "o ler", + "ol er", + "ole r", + "Ġli bert", + "Ġlib ert", + "Ġliber t", + "Ġ `Ċ", + "Ġ` Ċ", + "Ġw enn", + "Ġwe nn", + "Ġwen n", + "l ated", + "la ted", + "late d", + "lat ed", + "Ġ immune", + "Ġimm une", + "Ġimmun e", + "( Node", + "(N ode", + "Ġ Problem", + "ĠPro blem", + "ĠProb lem", + "ĠProble m", + "Ġ Abs", + "ĠA bs", + "ĠAb s", + "l ogs", + "lo gs", + "log s", + "Ġ ../", + "Ġ. ./", + "Ġ.. /", + "Ġ ADC", + "ĠA DC", + "ĠAD C", + "Ġ }}\">Ċ", + "Ġ} }\">Ċ", + "Ġ}} \">Ċ", + "Ġ}}\" >Ċ", + "Ġ}}\"> Ċ", + "> ');Ċ", + ">' );Ċ", + ">') ;Ċ", + ">'); Ċ", + "= b", + "Ġ Wind", + "ĠW ind", + "ĠWin d", + "ĠWi nd", + "l ahoma", + "lah oma", + "Ġ allocate", + "Ġal locate", + "Ġall ocate", + "Ġalloc ate", + "Ġallo cate", + "o rian", + "or ian", + "oria n", + "ori an", + "Ġpr escription", + "Ġpre scription", + "Ġpres cription", + "- quality", + "-q uality", + "-qu ality", + "Ġ Mayor", + "ĠMay or", + "ĠMa yor", + "ĠMayo r", + "8 55", + "85 5", + "in ely", + "ine ly", + "inel y", + "end foreach", + "Ġ Complex", + "ĠCom plex", + "ĠComp lex", + "ĠComple x", + "k om", + "ko m", + "7 09", + "70 9", + "T Y", + "7 90", + "79 0", + "] ].", + "]] .", + ". Style", + ".St yle", + "_ many", + "_m any", + "_man y", + "_ma ny", + "', '$", + "',' $", + "Ġbar rier", + "Ġbarr ier", + "Ġ Fetch", + "ĠF etch", + "ĠFet ch", + "Ġ Marvel", + "ĠMar vel", + "Ġres ist", + "о го", + "ог о", + "b idden", + "bi dden", + "bid den", + "Ġ Runnable", + "ĠR unnable", + "ĠRun nable", + ": false", + ":f alse", + "8 99", + "89 9", + "Ġbuild s", + "Ġ Stage", + "ĠSt age", + "ĠSta ge", + "Ġ dub", + "Ġd ub", + "Ġdu b", + "em po", + "emp o", + ". site", + ".s ite", + ".si te", + "5 58", + "55 8", + "; ĊĊĊĊ", + ";Ċ ĊĊĊ", + ";ĊĊ ĊĊ", + ";ĊĊĊ Ċ", + "9 94", + "99 4", + "Ġ Denver", + "ĠDen ver", + "Ġre vel", + "Ġrev el", + "Ġreve l", + "Ġtrigger ed", + "Ġ dice", + "Ġd ice", + "Ġdi ce", + "Ġdic e", + "_ fail", + "_f ail", + "_fa il", + "Ġ gc", + "Ġg c", + "8 33", + "83 3", + "5 89", + "58 9", + "ĉ X", + "Ġ Throwable", + "ĠTh rowable", + "ĠThrow able", + "7 75", + "77 5", + ". router", + ".r outer", + ".route r", + ".ro uter", + "ĠRe volution", + "ĠRev olution", + "ÑĢ Ð°", + "_ NON", + "_N ON", + "_NO N", + "0 55", + "05 5", + "Ł ¥", + "5 78", + "57 8", + "Ġ elder", + "Ġe lder", + "Ġel der", + "Ġelde r", + "Ġab road", + "Ġ е", + "ĠÐ µ", + "Ġ Adult", + "ĠAd ult", + "b lr", + "bl r", + "g lyphicon", + "glyph icon", + "6 13", + "61 3", + "Ġprom oting", + "Ġpromot ing", + "Ġpromo ting", + "Ġ iz", + "Ġi z", + "Ġ Solid", + "ĠS olid", + "ĠSo lid", + "ĠSol id", + "6 45", + "64 5", + "_ loader", + "_l oader", + "_lo ader", + "_load er", + "ear ly", + ". enabled", + ".en abled", + ".enable d", + "- edit", + "-e dit", + "-ed it", + "Ġ UL", + "ĠU L", + "_ play", + "_p lay", + "_pl ay", + "Ġ Interrupt", + "ĠInt errupt", + "ĠInter rupt", + "ĠInterr upt", + "Ġadv antages", + "Ġadvant ages", + "Ġadvantage s", + "u cle", + "uc le", + "Ġmechan ical", + "Ġmechanic al", + "Ġmech anical", + ".table LayoutPanel", + "Ġ Working", + "ĠWork ing", + "ĠWor king", + "Ġ anonymous", + "Ġan onymous", + "Ġanonym ous", + "Ġanon ymous", + "R ating", + "Ra ting", + "ig ious", + "igi ous", + "_ phone", + "_p hone", + "_ph one", + ".addAction Listener", + "Ġf ran", + "Ġfr an", + "Ġfra n", + "un den", + "und en", + "unde n", + "Ġ *)&", + "Ġ* )&", + "Ġ*) &", + "_ bool", + "_b ool", + "_bo ol", + "ul ative", + "Ġ cone", + "Ġc one", + "Ġcon e", + "Ġco ne", + "Ġ Mult", + "ĠM ult", + "ĠMu lt", + "ĠMul t", + "Ġm ö", + "Ġ Forward", + "ĠFor ward", + "] ):Ċ", + "]) :Ċ", + "]): Ċ", + "Ġconvin ced", + "Ġconvince d", + "Ġconvinc ed", + "act ed", + "ac ted", + "6 43", + "64 3", + "ãģ ĵ", + "Ġ Configure", + "ĠCon figure", + "ĠConfig ure", + "ĠConf igure", + "Ġce iling", + "Ġceil ing", + "D er", + "De r", + "Ġpass engers", + "Ġpassenger s", + "G roups", + "Group s", + "Gro ups", + "Ġs occer", + "Ġsoc cer", + "/ W", + "av iors", + "avior s", + "avi ors", + "s with", + "sw ith", + "Ġ Zone", + "ĠZ one", + "ĠZo ne", + ". Options", + ".O ptions", + ".Option s", + "Ġ Mom", + "ĠM om", + "ĠMo m", + "i eder", + "ie der", + "ied er", + "Array s", + "Ar rays", + "Arr ays", + "Ġtreat ments", + "Ġtreatment s", + "Ġprotect ing", + "f ac", + "fa c", + "Ġ pickle", + "Ġp ickle", + "Ġpick le", + "Ġpic kle", + "Button Item", + "7 13", + "71 3", + "Ġ blocking", + "Ġb locking", + "Ġbl ocking", + "Ġblock ing", + "Ġbloc king", + "st rar", + "str ar", + "stra r", + "à ²", + "Ġ Export", + "ĠEx port", + "ĠExp ort", + "ĠExpo rt", + "Ġth rew", + "Ġthr ew", + "ot ta", + "ott a", + "Ġ BASE", + "ĠB ASE", + "ĠBAS E", + "ĠBA SE", + ". ws", + ".w s", + ".LE ADING", + "order By", + "_ delay", + "_d elay", + "_de lay", + "_del ay", + "Ġ Pu", + "ĠP u", + ". dll", + ".d ll", + "Ġ Choose", + "ĠCh oose", + "ĠCho ose", + "9 92", + "99 2", + "Pol ice", + "Po lice", + "Ġ BEGIN", + "ĠB EGIN", + "ĠBE GIN", + "bo xes", + "box es", + "Ġ diamond", + "Ġd iamond", + "Ġdiam ond", + "Ġdia mond", + ", l", + "Ġ ĉĉĉ", + "Ġĉ ĉĉ", + "Ġĉĉ ĉ", + "Ġc urious", + "Ġcur ious", + "Ġcu rious", + "6 24", + "62 4", + "t v", + "Ġerot ische", + "Ġerotisch e", + "ack ages", + "ackage s", + "ĉ Set", + "ĉS et", + "T ick", + "Ti ck", + ". border", + ".b order", + "static method", + "Ġ cher", + "Ġc her", + "Ġch er", + "Ġche r", + "in voice", + "inv oice", + "Ġc ru", + "Ġcr u", + "Ġde fect", + "Ġdef ect", + "Ġdefe ct", + "_ metadata", + "_m etadata", + "_meta data", + "_met adata", + "re lation", + "rel ation", + "i kan", + "ik an", + "ika n", + "[ N", + "( Qt", + "(Q t", + "( Base", + "(B ase", + "æģ ¯", + "b eat", + "be at", + "Ġ Empty", + "ĠEm pty", + "ĠEmp ty", + "ĉ o", + "_ shift", + "_s hift", + "_sh ift", + "Ġreg ret", + "7 22", + "72 2", + "Th ose", + "Tho se", + "C ent", + "Ce nt", + "ĠPort ug", + "ĠIs lands", + "ĠIsl ands", + "ĠIsland s", + "Ġ TIME", + "ĠT IME", + "ĠTIM E", + "ĠTI ME", + "Man agement", + "Manage ment", + "Mana gement", + "9 96", + "99 6", + "- sp", + "-s p", + "5 39", + "53 9", + "ê me", + "êm e", + "Ġn otion", + "Ġnot ion", + "Ġno tion", + "un ifu", + "uni fu", + "P K", + "8 26", + "82 6", + "è¡ Į", + "ĠC URLOPT", + "ĠCUR LOPT", + "ĠCURL OPT", + "\\ \"\\", + "\\\" \\", + "U V", + "ç º", + "d ra", + "dr a", + "c ou", + "co u", + "= `", + "Ġ Destroy", + "ĠD estroy", + "ĠDe stroy", + "ĠDest roy", + "r p", + ". cancel", + ".c ancel", + ".can cel", + "G G", + "r untime", + "run time", + "Ġ Vue", + "ĠV ue", + "ĠVu e", + "Ġpro gressive", + "Ġprogress ive", + "Ġprog ressive", + "/ services", + "/s ervices", + "/service s", + "Ġ runner", + "Ġr unner", + "Ġrun ner", + "_ FRAME", + "_FR AME", + ". ToolStripMenuItem", + ".ToolStrip MenuItem", + "Ġ ','", + "Ġ' ,'", + "Ġ', '", + "d elay", + "de lay", + "del ay", + "= utf", + "=u tf", + "Ġscreen ing", + "Ġscre ening", + "Ġp ulling", + "Ġpull ing", + "Ġpul ling", + "o mas", + "om as", + "oma s", + "Ġ anth", + "Ġa nth", + "Ġan th", + "Ġant h", + "- new", + "-n ew", + "-ne w", + "/ local", + "/l ocal", + "/lo cal", + "Ġ iPad", + "Ġi Pad", + "ĠiP ad", + "Ġ twitter", + "Ġt witter", + "Ġtw itter", + "Ġd ying", + "Ġdy ing", + "Ġhe aven", + "Ġheav en", + "Ġ UInt", + "ĠU Int", + "ĠUI nt", + "Ġ Senator", + "ĠSen ator", + "Ġpre sum", + "Ġpres um", + "Ġ Walker", + "ĠW alker", + "ĠWalk er", + "ĠWal ker", + "Ġover come", + "e tection", + "et ection", + "ete ction", + "etect ion", + "Ġemb arrass", + "Ch ina", + "Chi na", + "6 39", + "63 9", + "In clude", + "Inc lude", + "R OLL", + "RO LL", + "ROL L", + "Ġ dataType", + "Ġdata Type", + "D avid", + "Da vid", + "ภ£", + "l op", + "lo p", + "- month", + "-m onth", + "-mon th", + "Ġ scar", + "Ġs car", + "Ġsc ar", + "Ġsca r", + "Ġ Safe", + "ĠS afe", + "ĠSaf e", + "ĠSa fe", + "Ġ ****************************************************************", + "Ġ******************************** ********************************", + "Ġ******** ********************************************************", + "Ġ**************** ************************************************", + "Ġ************************ ****************************************", + "Ġ**************************************** ************************", + "Ġ******************************************************** ********", + "Ġ************************************************ ****************", + "Ġaccess ories", + "Ġaccessor ies", + "Ġr amp", + "Ġra mp", + "Ġram p", + "_ USE", + "_U SE", + "_US E", + "Ġcon trad", + "Ġcont rad", + "Ġcontr ad", + "Ġcontra d", + ") )]Ċ", + ")) ]Ċ", + "))] Ċ", + "Ġp rest", + "Ġpr est", + "Ġpre st", + "Ġpres t", + "Ġ HR", + "ĠH R", + "ĠR ap", + "ĠRa p", + "Ġ usize", + "Ġu size", + "Ġus ize", + "Ġ capability", + "Ġcap ability", + "Ġc ort", + "Ġco rt", + "Ġcor t", + "- next", + "-n ext", + "-ne xt", + "0 77", + "07 7", + "6 27", + "62 7", + "Ġbur den", + "8 22", + "82 2", + "_ reader", + "_re ader", + "_read er", + "Ġ @@", + "Ġ@ @", + "reg ular", + "Ġ Ka", + "ĠK a", + "0 36", + "03 6", + "M AN", + "MA N", + "Ġ astr", + "Ġa str", + "Ġas tr", + "Ġast r", + "Ġ' ')Ċ", + "Ġ'' )Ċ", + "Ġ'') Ċ", + "Ġ fed", + "Ġf ed", + "Ġfe d", + "Ġp arsing", + "Ġpar sing", + "Ġpars ing", + "Ġ Years", + "ĠY ears", + "ĠYear s", + "ĠYe ars", + "Ġ broker", + "Ġb roker", + "Ġbr oker", + "Ġbro ker", + "Ġbroke r", + "\": {\"", + "Ġ akt", + "Ġa kt", + "Ġak t", + "In ventory", + "ab eled", + "abel ed", + "abe led", + "Ġarg parse", + "* ******Ċ", + "** *****Ċ", + "**** ***Ċ", + "****** *Ċ", + "*** ****Ċ", + "***** **Ċ", + "******* Ċ", + "vers ation", + "Ġ cord", + "Ġc ord", + "Ġco rd", + "Ġcor d", + "Ġ Ti", + "ĠT i", + "Ġ hopefully", + "Ġhope fully", + "Ġhop efully", + "Ġhopeful ly", + "Ġ ah", + "Ġa h", + "v erb", + "ver b", + "ve rb", + "Ġst olen", + "Ġstole n", + "Ġsto len", + "Ġstol en", + ". Entry", + ".En try", + ".Ent ry", + "Ġex pecting", + "Ġexpect ing", + "O rientation", + "Ġ powered", + "Ġp owered", + "Ġpower ed", + "Ġpow ered", + "Ġ persist", + "Ġp ersist", + "Ġpers ist", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "' ]);", + "'] );", + "']) ;", + "' )),Ċ", + "') ),Ċ", + "')) ,Ċ", + "')), Ċ", + "Ġ Cash", + "ĠC ash", + "ĠCas h", + "ĠCa sh", + "ĉ item", + "ĉi tem", + "ĉit em", + "8 18", + "81 8", + "g rades", + "gr ades", + "grad es", + "grade s", + "gra des", + "r opol", + "ro pol", + "rop ol", + "b asic", + "ba sic", + "bas ic", + "Ġ \");čĊ", + "Ġ\" );čĊ", + "Ġ\") ;čĊ", + "Ġ\"); čĊ", + "Ġa wards", + "Ġaw ards", + "Ġaward s", + "( range", + "(r ange", + "(ra nge", + "- all", + "-a ll", + "-al l", + "Ġ IBOutlet", + "ĠIB Outlet", + "Ġ Indeed", + "ĠInd eed", + "---------------------------------------------------------------- ------------", + "------------ ----------------------------------------------------------------", + "------------------------------------------------ ----------------------------", + "------ ----------------------------------------------------------------------", + "---------------------------- ------------------------------------------------", + "---------------------------------------------------------------------- ------", + "Ġstom ach", + "Ġsto mach", + "Ġ flower", + "Ġf lower", + "Ġfl ower", + "Ġflow er", + "Ġflo wer", + "Ġs ew", + "Ġse w", + "_ times", + "_t imes", + "_time s", + "_tim es", + "_ti mes", + "a vis", + "av is", + "avi s", + "Q String", + "QS tring", + "Ġ Routes", + "ĠR outes", + "ĠRoute s", + "ĠRo utes", + "ĠRou tes", + "ĠRout es", + "_ prot", + "_p rot", + "_pro t", + "_pr ot", + "Ġcom edy", + "Ġcome dy", + "Ġcomed y", + "Ġ logout", + "Ġlog out", + "Ġlogo ut", + "Ġwood en", + "Ġwo oden", + "Ġwoo den", + "Ġ poster", + "Ġp oster", + "Ġpos ter", + "Ġpost er", + "Ġpo ster", + "Ġposte r", + "p iece", + "pi ece", + "pie ce", + ". Join", + ".J oin", + "Ġ Pok", + "ĠP ok", + "ĠPo k", + "cel ona", + "m utex", + "mut ex", + "mu tex", + "mute x", + "; čĊčĊčĊ", + ";čĊ čĊčĊ", + ";čĊčĊ čĊ", + "Ġst rikes", + "Ġstr ikes", + "Ġstri kes", + "Ġstrike s", + "7 87", + "78 7", + "Lo aded", + "Load ed", + ") arg", + ")a rg", + "e sa", + "es a", + "Un ited", + "Unit ed", + "Uni ted", + "E p", + "P ELL", + "PE LL", + "8 07", + "80 7", + "Ġ Atlantic", + "ĠAtl antic", + "ul let", + "ull et", + "ulle t", + "6 52", + "65 2", + "ap ple", + "app le", + "appl e", + "Ġsett led", + "Ġsettle d", + "a con", + "ac on", + "aco n", + "Ġ printer", + "Ġpr inter", + "Ġprint er", + "Ġprin ter", + "Ġ GC", + "ĠG C", + "å® ļ", + "Ġrender ed", + "Ġrend ered", + ", âĢĻ", + "he it", + "hei t", + "s ocial", + "so cial", + "soc ial", + ". ge", + ".g e", + "7 14", + "71 4", + "Ġ Rick", + "ĠR ick", + "ĠRic k", + "ĠRi ck", + "ĠU tah", + "ĠUt ah", + "g ot", + "go t", + "on ical", + "onic al", + "oni cal", + "onica l", + "Ġ Scroll", + "ĠS croll", + "ĠSc roll", + "ĠScr oll", + "ĠSc iences", + "ĠScience s", + "ĠSci ences", + "Ġ jug", + "Ġj ug", + "Ġju g", + "Ġa mpl", + "Ġam pl", + "Ġamp l", + "en ti", + "ent i", + "LE FT", + "Ġ tabs", + "Ġt abs", + "Ġtab s", + "Ġta bs", + "Ġenorm ous", + ". getKey", + ".get Key", + "l ocate", + "lo cate", + "loc ate", + ". EX", + ".E X", + ". storage", + ".st orage", + ". We", + ".W e", + "Ġ toast", + "Ġto ast", + "Ġ Additionally", + "ĠAdd itionally", + "ĠAdditional ly", + "ĠAddition ally", + "8 82", + "88 2", + "Ġ NOW", + "ĠN OW", + "ĠNO W", + "5 47", + "54 7", + "_ UPDATE", + "_UP DATE", + "Ġtrans ferred", + "Ġtransfer red", + "t ha", + "th a", + ". Display", + ".D isplay", + ".Dis play", + "_ ui", + "_u i", + "ID EO", + "IDE O", + "Ġmeaning ful", + "ĠMos cow", + ", this", + ",t his", + "Ġ Victoria", + "ĠVict oria", + "ĠVictor ia", + "æĶ ¹", + "Ġ ÐŁ", + "ĠÐ Ł", + ". stack", + ".st ack", + "ĠB arn", + "ĠBar n", + "ĠBa rn", + "pared Statement", + ": string", + ":s tring", + ":str ing", + "Ġ bij", + "Ġb ij", + "Ġbi j", + "Ġ STATE", + "ĠST ATE", + "ĠSTAT E", + "ĠSTA TE", + "Ġemploy ers", + "Ġemployer s", + "ĉ input", + "ĉin put", + "( |", + "Ġ lex", + "Ġl ex", + "Ġle x", + "in voke", + "inv oke", + "ĉ num", + "ĉn um", + "+ +,", + "++ ,", + "at ial", + "ati al", + "or ses", + "ors es", + "orse s", + "Ġ fork", + "Ġf ork", + "Ġfor k", + "Ġfo rk", + "_ txt", + "_t xt", + "_tx t", + "ĠAnt onio", + "ĠAnton io", + "Ġ (<", + "Ġ( <", + "a verse", + "av erse", + "aver se", + "avers e", + "Ġdev ast", + "ãĢ Ģ", + ". Dec", + ".D ec", + ".De c", + "ĠG ard", + "ĠGar d", + "ĠGa rd", + "/ ui", + "/u i", + ". %", + "t ri", + "tr i", + "Ġ rolled", + "Ġroll ed", + "Ġrol led", + "Value Pair", + "it ten", + "itt en", + "itte n", + "ĠT her", + "ĠThe r", + "ĠTh er", + "Ġv rou", + "Ġvr ou", + "Ġ Flow", + "ĠF low", + "ĠFl ow", + "ĠFlo w", + "Ġ Finance", + "ĠF inance", + "ĠFin ance", + "Ġ Comb", + "ĠC omb", + "ĠCom b", + "ĠCo mb", + "H C", + ". setVisible", + ".set Visible", + "i sl", + "is l", + "Ġ pk", + "Ġp k", + "7 73", + "77 3", + "Ġup set", + "Ġups et", + "( raw", + "(r aw", + "(ra w", + "ĠV ice", + "ĠVi ce", + "ĠVic e", + "e atures", + "ea tures", + "eature s", + "eat ures", + "Ġ Lang", + "ĠL ang", + "ĠLa ng", + "ĠLan g", + "0 29", + "02 9", + "Lo oking", + "Look ing", + "7 67", + "76 7", + "Ġ AST", + "ĠA ST", + "ĠAS T", + "Ġt rips", + "Ġtr ips", + "Ġtri ps", + "Ġtrip s", + "Ġ Justin", + "ĠJ ustin", + "ĠJust in", + "ĠJu stin", + "b rowser", + "browse r", + "=\" '.$", + "=\"' .$", + "=\"'. $", + ". vertices", + ".vert ices", + "8 21", + "82 1", + "- co", + "-c o", + "} /{", + "}/ {", + "Ġ ?,", + "Ġ? ,", + "Ġ Domin", + "ĠD omin", + "ĠDo min", + "ĠDom in", + "ĠBe lg", + "ĠBel g", + "\" <", + "Ġsup pose", + "Ġsupp ose", + "a ddy", + "ad dy", + "add y", + "Ġwalk s", + "Ġwal ks", + "6 88", + "68 8", + "ER RU", + "ERR U", + "_ filters", + "_f ilters", + "_filter s", + "_fil ters", + "_filt ers", + "Pre ferred", + "s cene", + "sc ene", + "е Ñģ", + "ĠAff airs", + "Ġ\" #{", + "Ġ\"# {", + "Ġon Submit", + "Ġ stocks", + "Ġst ocks", + "Ġstock s", + "Ġsto cks", + "/ view", + "/v iew", + "g ree", + "gr ee", + "gre e", + "- get", + "-g et", + "9 03", + "90 3", + "h it", + "hi t", + "J o", + ". getC", + ".get C", + "7 25", + "72 5", + "Init ialized", + "Initial ized", + "Initialize d", + "ÑĤ и", + "c uts", + "cut s", + "cu ts", + "( Type", + "(T ype", + "ĠAg reement", + "ĠAgree ment", + "ĠViet nam", + "Ġ /*!", + "Ġ/* !", + "Ġ pizza", + "Ġp izza", + "Ġpi zza", + "- view", + "-v iew", + "_ em", + "_e m", + "Ġ lhs", + "Ġl hs", + "Ġlh s", + "Ġm uy", + "Ġmu y", + "Ġ Ident", + "ĠI dent", + "ĠId ent", + "ĠIde nt", + "Ġ Friends", + "ĠF riends", + "ĠFriend s", + "ĠFri ends", + "0 61", + "06 1", + "Ġab und", + "_ AD", + "_A D", + ". timestamp", + ".t imestamp", + ".time stamp", + "- '", + "Ġ duplicate", + "Ġd uplicate", + "Ġdup licate", + "Ġduplic ate", + "Ġh unting", + "Ġhun ting", + "Ġhunt ing", + "Ġreg ulatory", + "Ġregul atory", + "Ġregulator y", + "i ao", + "ia o", + "am ous", + "amo us", + "ĠEnt ertainment", + "ĠEnter tainment", + "[ A", + "iat ric", + "_ CLIENT", + "_CL IENT", + "_CLI ENT", + "Ġ Kids", + "ĠK ids", + "ĠKi ds", + "ĠKid s", + "/ pkg", + "/p kg", + "B reak", + "Bre ak", + ") ));ĊĊ", + ")) );ĊĊ", + ")));Ċ Ċ", + "))) ;ĊĊ", + "))); ĊĊ", + "Ġ Shape", + "ĠS hape", + "ĠSh ape", + "ĠSha pe", + "Ġrel ating", + "Ġrelat ing", + "Int errupt", + "Inter rupt", + "able Opacity", + "em bre", + "emb re", + "embr e", + "Ġm ystery", + "Ġmy stery", + "Ġmys tery", + "Ġmyst ery", + "Ġmyster y", + "Ġjournal ists", + "Ġjournalist s", + "r itable", + "ri table", + "rit able", + "rita ble", + ". Link", + ".L ink", + "Ġst opping", + "Ġstop ping", + "Ġsto pping", + "C RET", + "CR ET", + "CRE T", + ". DB", + ".D B", + "Ġpop ularity", + "Ġpopular ity", + "Ġpopul arity", + "Ġ gew", + "Ġg ew", + "Ġge w", + "Ġi mpr", + "Ġim pr", + "Ġimp r", + "set Value", + "F LAG", + "FL AG", + "ĉ max", + "ĉm ax", + "Ġb ake", + "Ġba ke", + "Ġbak e", + "w y", + "ĠE conomic", + "ĠEcon omic", + "ĠEc onomic", + "ĠEconom ic", + "Ġen contr", + "Ġ fname", + "Ġf name", + "Ġfn ame", + "/ de", + "/d e", + "R ank", + "Ra nk", + "Ġ bugs", + "Ġb ugs", + "Ġbu gs", + "Ġbug s", + ". sm", + ".s m", + "Ġ median", + "Ġm edian", + "Ġmed ian", + "Ġmedia n", + "Ġmedi an", + "D OWN", + "DO WN", + "Ġ Sure", + "ĠS ure", + "ĠSur e", + "ĠSu re", + "At Index", + "Ġ Dick", + "ĠD ick", + "ĠDi ck", + "Ġ (__", + "Ġ( __", + "Ġ(_ _", + ". delta", + ".d elta", + ".del ta", + "F r", + "Ġsuggest ing", + "Ġ RecyclerView", + "ĠRec yclerView", + ", e", + "ST ART", + "STAR T", + "STA RT", + "/ ****************************************************************************", + "/************************************************************************ ****", + "/**************************************************************** ************", + "/******************************************************** ********************", + "/************************************************ ****************************", + "x ford", + "xf ord", + "Ġ receipt", + "Ġre ceipt", + "Ġrece ipt", + "CL AIM", + "CLA IM", + "read only", + "9 68", + "96 8", + "Ġeng aging", + "6 19", + "61 9", + "C a", + "as ma", + "asm a", + "Ġens uring", + "Eng lish", + "ĠV ancouver", + "h yth", + "hy th", + "Ġpurch asing", + "Ġ PI", + "ĠP I", + ". word", + ".w ord", + "( sp", + "(s p", + ". home", + ".h ome", + ".hom e", + ": def", + ":d ef", + "Ġg ig", + "Ġgi g", + "5 74", + "57 4", + "6 71", + "67 1", + "Ġ Ve", + "ĠV e", + "f orum", + "fo rum", + "for um", + "Ġ Mitch", + "ĠM itch", + "ĠMit ch", + "B ay", + "Ba y", + "_ FL", + "_F L", + "6 51", + "65 1", + "Ġs oll", + "Ġso ll", + "Ġsol l", + "5 77", + "57 7", + "_ columns", + "_column s", + "Ġminor ity", + "b ird", + "bi rd", + "bir d", + "Ġh anded", + "Ġhand ed", + "Ġhan ded", + "S SL", + "SS L", + "ST AT", + "STA T", + "Ġnerv ous", + "Ġner vous", + "ĥ ½", + "Ġ filePath", + "Ġfile Path", + "C REATE", + "CRE ATE", + "A w", + "Ġp ens", + "Ġpe ns", + "Ġpen s", + "8 35", + "83 5", + "s eed", + "se ed", + "see d", + "Ġ Compute", + "ĠCom pute", + "ĠComp ute", + "ĠComput e", + "o lk", + "ol k", + "5 94", + "59 4", + "Ġ Asset", + "ĠAs set", + "ĠAss et", + "r each", + "re ach", + "rea ch", + "' ),čĊ", + "') ,čĊ", + "'), čĊ", + "n avigation", + "nav igation", + "L F", + "/ util", + "/u til", + "Ġ Pub", + "ĠP ub", + "ĠPu b", + "Ġ âĶ", + "Ġâ Ķ", + "c ion", + "ci on", + "cio n", + "# #Ċ", + "## Ċ", + "0 72", + "07 2", + "I II", + "II I", + "Tag Name", + "Ġa mid", + "Ġam id", + "Ġami d", + "per mission", + "perm ission", + "if iable", + "ifi able", + "x FFFFFFFF", + "xFF FFFFFF", + "xFFFF FFFF", + "xFFFFFF FF", + "н и", + ". Buffer", + ".B uffer", + "_ irq", + "_i rq", + "_ir q", + "d ark", + "da rk", + "dar k", + "Ġ retval", + "Ġret val", + ". fire", + ".f ire", + ".fi re", + "p roduction", + "pro duction", + "product ion", + "produ ction", + "prod uction", + ". listen", + ".l isten", + ".list en", + ".li sten", + "Ġ Weather", + "ĠWe ather", + "Ġbu yers", + "Ġbuy ers", + "Ġbuyer s", + ". ne", + ".n e", + "e rp", + "er p", + "ĠP ent", + "ĠPe nt", + "ĠPen t", + "6 99", + "69 9", + "Ġw elfare", + "Ġwel fare", + "Ġ pageSize", + "Ġpage Size", + "ĠSt adium", + "ĠStad ium", + "er ta", + "ert a", + "Ġ lev", + "Ġl ev", + "Ġle v", + "am pa", + "amp a", + "P ager", + "Page r", + "Pa ger", + "Pag er", + "6 65", + "66 5", + "Ġ charging", + "Ġch arging", + "Ġchar ging", + "Ġcharg ing", + "Ġ Netflix", + "ĠNet flix", + "| null", + "_ random", + "_r andom", + "_rand om", + ". xpath", + ".x path", + "Ġs tere", + "Ġst ere", + "Ġste re", + "Ġster e", + "Ġ ISIS", + "ĠIS IS", + "ĠISI S", + "pon ses", + "ponse s", + "pons es", + "( loc", + "(l oc", + "(lo c", + "5 66", + "56 6", + "ey ond", + "Ġ Official", + "ĠOff icial", + "6 57", + "65 7", + "ĠMary land", + "Data Type", + "_ par", + "_p ar", + "_pa r", + "{ },", + "{} ,", + "Ġ Enjoy", + "ĠEn joy", + "7 27", + "72 7", + "_ SHIFT", + "_SH IFT", + "ĠA wards", + "ĠAward s", + "ĠAw ards", + "_ ENTRY", + "_EN TRY", + "_ENT RY", + "Ġseem ingly", + "Ġseeming ly", + "ent icate", + "entic ate", + "enti cate", + "Ġhe arts", + "Ġheart s", + "Ġhear ts", + "5 83", + "58 3", + "_ ;ĊĊ", + "_;Ċ Ċ", + "_; ĊĊ", + "ĠH IV", + "ĠHI V", + "Ġin divid", + "Ġind ivid", + "Ġindiv id", + "Ġ Flag", + "ĠF lag", + "ĠFl ag", + "ĠFla g", + "_ ctrl", + "_c trl", + "_ct rl", + "_ctr l", + "Ġ Callback", + "ĠC allback", + "ĠCall back", + ", z", + "Ġ GPU", + "ĠG PU", + "ĠGP U", + "ĉ obj", + "ĉo bj", + "ĉob j", + "Ġ Phoenix", + "ĠPh oenix", + "Ġ BUS", + "ĠB US", + "ĠBU S", + "9 07", + "90 7", + "Ġr ubber", + "Ġrub ber", + "_ AUTH", + "_A UTH", + "_AUT H", + "ĠS olutions", + "ĠSol utions", + "ĠSolution s", + "( location", + "(l ocation", + "(loc ation", + "(lo cation", + "Variable s", + "Vari ables", + ". setEnabled", + ".set Enabled", + "_ high", + "_h igh", + "_hi gh", + "W O", + "G esture", + "Ġ retry", + "Ġre try", + "Ġr etry", + "Ġret ry", + "Ġretr y", + "Ġobject ForKey", + "allow een", + "allo ween", + "Ġ mos", + "Ġm os", + "Ġmo s", + "Ġ Cele", + "ĠC ele", + "ĠCe le", + "ĠCel e", + "Ġi kke", + "Ġik ke", + "( cell", + "(c ell", + "Ġ MODE", + "ĠM ODE", + "ĠMO DE", + "ĠMOD E", + "r ena", + "re na", + "ren a", + "Ġdes cribing", + "Ġdescri bing", + "6 41", + "64 1", + "Ġ phi", + "Ġp hi", + "Ġph i", + "Ġ rd", + "Ġr d", + "Ġde serve", + "Ġdes erve", + "Ġdese rve", + "Ġdeser ve", + "Ġw heels", + "Ġwheel s", + "Ġwhe els", + "å¸ Ĥ", + "Ġcr itics", + "Ġcrit ics", + "Ġcritic s", + "Ġcri tics", + "7 55", + "75 5", + "N amespace", + "Name space", + "Names pace", + "Ġ Fra", + "ĠF ra", + "ĠFr a", + "Ġ ĊĊĊĊ", + "ĠĊ ĊĊĊ", + "ĠĊĊ ĊĊ", + "ĠĊĊĊ Ċ", + "Ġ alla", + "Ġa lla", + "Ġal la", + "Ġall a", + "Ġre quiring", + "Ġrequ iring", + "æľ Ł", + "ut ation", + "uta tion", + "Ġdel ayed", + "Ġdelay ed", + "Ġadministr ative", + "Ġ bay", + "Ġb ay", + "Ġba y", + ". hidden", + ".h idden", + "T ex", + "Te x", + "0 51", + "05 1", + "Ġbound aries", + "Ġ ]);ĊĊ", + "Ġ] );ĊĊ", + "Ġ]);Ċ Ċ", + "Ġ]) ;ĊĊ", + "Ġ]); ĊĊ", + "Ġ Following", + "ĠFollow ing", + "~ /", + "F i", + "_ conv", + "_con v", + "_co nv", + "_ TITLE", + "_T ITLE", + "Ġdes de", + "I CollectionView", + "ICollection View", + "A lias", + "Al ias", + "Ali as", + "Ġ bite", + "Ġb ite", + "Ġbit e", + "Ġbi te", + "p atient", + "pat ient", + "_ COMMAND", + "_COM MAND", + "_COMM AND", + "Com pleted", + "Complete d", + "Comp leted", + "Comple ted", + "ĉ elif", + "ĉe lif", + "ĉel if", + "( <", + "B usiness", + "Bus iness", + "Ġ Pool", + "ĠP ool", + "ĠPo ol", + "Ġpurs ue", + "Ġ Ban", + "ĠB an", + "ĠBa n", + "_ steps", + "_st eps", + "_step s", + "_ste ps", + "_ DECL", + "_DE CL", + "_DEC L", + "um ble", + "umb le", + "Ġ combo", + "Ġc ombo", + "Ġcom bo", + "Ġcomb o", + "Ġ Layer", + "ĠL ayer", + "ĠLa yer", + "ĠLay er", + ". xr", + ".x r", + "Ġ dup", + "Ġd up", + "Ġdu p", + "- --------", + "-- -------", + "---- -----", + "-------- -", + "--- ------", + "----- ----", + "------ ---", + "------- --", + "6 28", + "62 8", + "Ġ modifier", + "Ġmod ifier", + "r ob", + "ro b", + "r ez", + "re z", + "6 96", + "69 6", + "Ġath letes", + "Ġathlete s", + "U sed", + "Us ed", + "Use d", + "w ear", + "we ar", + "8 15", + "81 5", + "Ġleg itimate", + "Ġlegit imate", + "Ġlegitim ate", + "Ġ \"ĊĊ", + "Ġ\" ĊĊ", + "Ġ\"Ċ Ċ", + "Ġ hv", + "Ġh v", + "S td", + "St d", + "0 37", + "03 7", + "Ġ Hold", + "ĠH old", + "ĠHol d", + "ĠHo ld", + "Ġsurv iv", + "ĠAll iance", + "Ġ Early", + "ĠEar ly", + "ĠEarl y", + "7 78", + "77 8", + "Beh avior", + "( font", + "(f ont", + "/ libs", + "/lib s", + "/l ibs", + "/li bs", + "Ġ rectangle", + "Ġrect angle", + "Ġs inger", + "Ġsi nger", + "Ġsin ger", + "Ġsing er", + "Ġ amp", + "Ġa mp", + "Ġam p", + "Equal To", + "Ġ \".\"", + "Ġ\" .\"", + "Ġ\". \"", + "Ġgirl friend", + "å ±", + "l inear", + "li near", + "line ar", + "lin ear", + "o bserv", + "ob serv", + "obs erv", + "Ġpi ù", + "Ġcom plement", + "Ġcomp lement", + "Ġcomple ment", + "Ġcompl ement", + "With Value", + "( password", + "(p assword", + "(pass word", + "t ake", + "ta ke", + "tak e", + "Bl ank", + "Ġ Compar", + "ĠCom par", + "ĠCo mpar", + "ĠComp ar", + "' \",", + "'\" ,", + "_ policy", + "_p olicy", + "_pol icy", + "m ongoose", + "mongo ose", + "mong oose", + "_ FAILED", + "_FAIL ED", + "_FA ILED", + ". report", + ".re port", + ".repo rt", + ".rep ort", + "R atio", + ".Perform Layout", + "7 47", + "74 7", + "us able", + "usa ble", + "m ers", + "mer s", + "me rs", + "_ render", + "_re nder", + "_r ender", + "PE ED", + "7 72", + "77 2", + "Ġle sb", + "Ġles b", + "ĉ E", + "_ tool", + "_t ool", + "_to ol", + "Ġl adies", + "Ġlad ies", + "9 08", + "90 8", + "о Ñģ", + ") )))Ċ", + ")) ))Ċ", + "))) )Ċ", + ")))) Ċ", + "; ;;;", + ";; ;;", + ";;; ;", + ". dot", + ".d ot", + ".do t", + "Ġ nest", + "Ġn est", + "Ġne st", + "Ġnes t", + "pe ak", + "uk kit", + "e ca", + "ec a", + "_ SW", + "_S W", + "Ġ &(", + "Ġ& (", + "ĠOk lahoma", + "Ġb anking", + "Ġbank ing", + "Ġban king", + "5 69", + "56 9", + "Ġ Nintendo", + "ĠN intendo", + "7 52", + "75 2", + "Ġre produce", + "Ġrep roduce", + "Ġreprodu ce", + "Ġrepro duce", + "_ elements", + "_e lements", + "_element s", + "_el ements", + "_elem ents", + "_ele ments", + "_ mac", + "_m ac", + "_ma c", + "pr oxy", + "pro xy", + "prox y", + "Ġremark able", + "} /${", + "}/ ${", + "Ġ outs", + "Ġo uts", + "Ġout s", + "Ġou ts", + ".has Next", + "M ODE", + "MO DE", + "MOD E", + "6 58", + "65 8", + "Ġ anime", + "Ġan ime", + "Ġanim e", + "Ġani me", + ". conn", + ".c onn", + ".con n", + ".co nn", + "Un ique", + "Uni que", + "D om", + "Do m", + "Ġimport antly", + "Ġimportant ly", + "i tty", + "it ty", + "itt y", + "Ġju ice", + "T w", + "ĠPart ners", + "ĠPartner s", + "Ġatt acking", + "Ġattack ing", + "Ġport able", + "Ġpor table", + "Ġporta ble", + "am iento", + "ami ento", + "amient o", + ". PictureBox", + ".P ictureBox", + ". gen", + ".g en", + ".ge n", + "Ġopt imal", + "Ġoptim al", + "5 82", + "58 2", + "Ġre cre", + "Ġrec re", + "Ġjournal ist", + "Ġ Extract", + "ĠEx tract", + "ĠExt ract", + "ĠExtra ct", + "ĠExtr act", + "Ġ Moreover", + "ĠMore over", + "Ġ marginTop", + "Ġmargin Top", + ". Ap", + ".A p", + "Ġf iring", + "Ġfi ring", + "Ġfir ing", + "N aN", + "Na N", + "ĉ template", + "ĉt emplate", + "ĉtemp late", + "а д", + "аР´", + ". En", + ".E n", + "Ġdef ence", + "Ġdefe nce", + "Ġ Tel", + "ĠT el", + "ĠTe l", + "i len", + "il en", + "ile n", + "j an", + "ja n", + "= data", + "=d ata", + "Ġ Url", + "ĠU rl", + "ĠUr l", + "Ġ Reuters", + "ĠRe uters", + "( total", + "(t otal", + "(to tal", + "ĠF ifth", + "ĠFif th", + "Ġes says", + "Ġess ays", + "Ġessay s", + "Ġessa ys", + "Ġinterpret ation", + "Ġch arity", + "Ġchar ity", + "Ġ Rules", + "ĠR ules", + "ĠRule s", + "ĠRu les", + "Ġ subsection", + "Ġsub section", + "Ġsubs ection", + "st yled", + "style d", + "sty led", + "styl ed", + "a zer", + "az er", + "aze r", + "l ags", + "la gs", + "lag s", + "L IST", + "LI ST", + "Ġ uploaded", + "Ġup loaded", + "Ġupload ed", + "Ġ trash", + "Ġtr ash", + "Ġtra sh", + "Ġtras h", + "Ġ registr", + "Ġreg istr", + "Ġregist r", + "Ġ seller", + "Ġs eller", + "Ġse ller", + "Ġsell er", + "Ġsel ler", + "> ';čĊ", + ">' ;čĊ", + ">'; čĊ", + "Ġ startTime", + "Ġstart Time", + "ç Ļ", + "s y", + "( HttpServletRequest", + "(Http ServletRequest", + "Ġ trap", + "Ġt rap", + "Ġtr ap", + "Ġtra p", + "G C", + "Ġ embedded", + "Ġembed ded", + "Ġsur rounded", + "Ġsurround ed", + "8 16", + "81 6", + "i mits", + "im its", + "imit s", + "imi ts", + "T X", + "yl inder", + "6 85", + "68 5", + "Ġ Fal", + "ĠF al", + "ĠFa l", + "Ġsent ences", + "Ġsentence s", + "Ġ Ja", + "ĠJ a", + "IF ICATION", + "IFIC ATION", + "we apon", + "o vation", + "ov ation", + "ova tion", + "ovat ion", + "Ġ coat", + "Ġco at", + "Ġinter pol", + "Ġinterp ol", + "Ġl ips", + "Ġli ps", + "Ġlip s", + "Ġ Ky", + "ĠK y", + "Ġv ectors", + "Ġvector s", + "Ġve ctors", + "Ġvec tors", + "Ġvect ors", + "_ am", + "_a m", + "Ġin take", + "Ġint ake", + ". world", + ".w orld", + "Ġ inbox", + "Ġin box", + "Ġ MAC", + "ĠM AC", + "ĠMA C", + "_ ab", + "_a b", + "( nameof", + "(name of", + "6 33", + "63 3", + "Ġent ert", + "Ġenter t", + "Ġg athering", + "Ġgather ing", + "Ġ SIM", + "ĠS IM", + "ĠSI M", + "+ +.", + "++ .", + "n ya", + "ny a", + "' }}", + "'} }", + "Ġ UPDATE", + "ĠUP DATE", + "Ġ pac", + "Ġp ac", + "Ġpa c", + "( html", + "(h tml", + "(ht ml", + "ĠS ant", + "ĠSan t", + "ĠSa nt", + "i ating", + "ia ting", + "iat ing", + "ĠIde as", + "ĠIdea s", + "Ġs pray", + "Ġsp ray", + "Ġspr ay", + "ĠH art", + "ĠHar t", + "ĠHa rt", + "Ġ verification", + "Ġver ification", + "Ġverifica tion", + "ad esh", + "ade sh", + "ades h", + "/ modules", + "/mod ules", + "/module s", + "Ġ Mind", + "ĠM ind", + "ĠMin d", + "ĠMi nd", + "ĠSized Box", + "Ġsh elter", + "Ġshel ter", + "Ġ heroes", + "Ġher oes", + "Ġhero es", + "a tty", + "at ty", + "att y", + "Ġcert ified", + "Ġcertif ied", + "s j", + "Ġ être", + "Ġê tre", + "ÅĤ o", + "Ġpublish ing", + "ĠMal ays", + "ĠMa lays", + "ĠMalay s", + ". getUser", + ".get User", + "Ġ Provider", + "ĠPro vider", + "ĠProvid er", + "ĠProvide r", + "ĠProv ider", + "Ġ LinkedList", + "ĠLink edList", + "ĠLinked List", + "ĠB or", + "ĠBo r", + "R OUND", + "RO UND", + "d id", + "di d", + "t ain", + "ta in", + "p ire", + "pi re", + "pir e", + "ĠJ enn", + "ĠJe nn", + "ĠJen n", + "t el", + "te l", + "a nde", + "an de", + "and e", + "7 57", + "75 7", + "_ front", + "_f ront", + "_fr ont", + "ĠMc G", + "Test Method", + "ภŃ", + "Ġocc asionally", + "Ġoccasion ally", + "Ġoccasional ly", + "ĠW ales", + "ĠWal es", + "ĠWa les", + "Ġex ercises", + "Ġexerc ises", + "Ġexercise s", + "Ġ ÐĴ", + "ĠÐ Ĵ", + "0 45", + "04 5", + "- plus", + "-p lus", + "-pl us", + "Ġ validator", + "Ġvalid ator", + "Ġvalida tor", + "Ġpr ayer", + "Ġpray er", + "Ġpra yer", + "L ATED", + "LA TED", + "LAT ED", + "_ author", + "_a uthor", + "_auth or", + "_aut hor", + "Ġla bour", + "Ġlab our", + "+ +Ċ", + "++ Ċ", + "- equiv", + "-e quiv", + "-equ iv", + "Ġ GPL", + "ĠG PL", + "ĠGP L", + "Ġ facebook", + "Ġf acebook", + "Ġface book", + "s imple", + "sim ple", + "simp le", + "g ly", + "gl y", + "Process or", + "Proc essor", + "i py", + "ip y", + "7 44", + "74 4", + "Ġ *>", + "Ġ* >", + "6 48", + "64 8", + "Ġc leared", + "Ġclear ed", + "Ġcle ared", + "Ġ Push", + "ĠP ush", + "ĠPu sh", + "8 58", + "85 8", + "Ġp enis", + "Ġpe nis", + "Ġpen is", + "Struct ure", + "l ij", + "li j", + "ĠM organ", + "ĠMo rgan", + "ĠMor gan", + "ĠMorg an", + "Ġhand ful", + "\" .Ċ", + "\". Ċ", + "9 84", + "98 4", + "| \\", + "Ġ ********************************", + "Ġ**** ****************************", + "Ġ******** ************************", + "Ġ**************** ****************", + "Ġ************************ ********", + "Ġ Aqu", + "ĠA qu", + "5 84", + "58 4", + "_ IC", + "_I C", + ". loads", + ".load s", + ".lo ads", + "Ġ meter", + "Ġm eter", + "Ġme ter", + "Ġmet er", + "ĠM arine", + "ĠMar ine", + "ĠMa rine", + "ĠMari ne", + "ĠMarin e", + ": :{", + ":: {", + "Ġ TS", + "ĠT S", + "7 76", + "77 6", + "Ġ Arrays", + "ĠAr rays", + "ĠArray s", + "ĠArr ays", + ". Title", + ".T itle", + "G RAM", + "GR AM", + "GRA M", + "ter min", + "term in", + "Ġco inc", + "Ġcoin c", + "Ġcoi nc", + "E lse", + "El se", + "_ states", + "_st ates", + "_state s", + "_stat es", + "_sta tes", + "- run", + "-r un", + "m embers", + "member s", + "mem bers", + "7 82", + "78 2", + "a stro", + "as tro", + "ast ro", + "astr o", + "0 66", + "06 6", + "Ġon Press", + "Ġbe ings", + "Ġbeing s", + "Ġab andoned", + "Ġabandon ed", + "Ġtax p", + "Ġta xp", + "ow ners", + "own ers", + "owner s", + ". mode", + ".m ode", + ".mod e", + ".mo de", + "Ġdi agnosis", + "Ġdiagn osis", + "Ġdiag nosis", + "Ġ _Ċ", + "Ġ_ Ċ", + "Ġ Knight", + "ĠK night", + "ĠKn ight", + "ĉ A", + "Ġ observe", + "Ġob serve", + "Ġobs erve", + "Ġobserv e", + ") ,'", + "), '", + "8 23", + "82 3", + "! \")Ċ", + "!\" )Ċ", + "!\") Ċ", + "Ġ Para", + "ĠP ara", + "ĠPar a", + "ĠPa ra", + "Ġ variation", + "Ġvar iation", + "Ġvari ation", + "( False", + "(F alse", + "Ġ Anti", + "ĠAn ti", + "ĠAnt i", + "Ġg ri", + "Ġgr i", + "Ġhome less", + "Ġhom eless", + "? v", + "Ġb ez", + "Ġbe z", + ". Server", + ".S erver", + ".Serve r", + "r elease", + "re lease", + "rel ease", + "ĠP atri", + "ĠPat ri", + "ĠPa tri", + "Ġ chars", + "Ġch ars", + "Ġchar s", + "Ġcha rs", + "Ġ ranking", + "Ġr anking", + "Ġrank ing", + "Ġran king", + "act ivation", + "activ ation", + "5 81", + "58 1", + "Ġw ides", + "Ġwide s", + "Ġwid es", + "Ġwi des", + "q r", + ". Sql", + ".S ql", + "a cular", + "ac ular", + "acula r", + "Ġ Bot", + "ĠB ot", + "ĠBo t", + "_ sync", + "_s ync", + "_syn c", + "_sy nc", + "Ġh appiness", + "Ġhapp iness", + "Ġvol unteers", + "Ġvolunte ers", + "Ġvolunteer s", + "8 77", + "87 7", + "Ġs its", + "Ġsit s", + "Ġsi ts", + "/ <", + "[ e", + "( fileName", + "(file Name", + "Ġcap ac", + "Ġca pac", + "8 32", + "83 2", + "Ġ Maria", + "ĠM aria", + "ĠMar ia", + "ĠMa ria", + "ĠMari a", + "f ather", + "fa ther", + "fat her", + "Ġ gram", + "Ġg ram", + "Ġgr am", + "Ġgra m", + "* i", + "Ġc aso", + "Ġca so", + "Ġcas o", + "_ draw", + "_d raw", + "_dr aw", + "Ġ Raw", + "ĠR aw", + "ĠRa w", + "Ġ Iterator", + "ĠIt erator", + "ĠIter ator", + "6 64", + "66 4", + "Ġ Padding", + "ĠP adding", + "ĠPad ding", + "9 24", + "92 4", + "P D", + "B OX", + "BO X", + "ĠS PECIAL", + "ĠSPEC IAL", + "Ġ fecha", + "Ġf echa", + "Ġfe cha", + "Ġfec ha", + "Ġ vide", + "Ġv ide", + "Ġvi de", + "Ġvid e", + "Ġ Leader", + "ĠLe ader", + "ĠLead er", + "ä» ¥", + "$ (\".", + "$( \".", + "$(\" .", + "Ġd iameter", + "Ġdiam eter", + "Ġdia meter", + "Ġm ild", + "Ġmil d", + "Ġmi ld", + "7 45", + "74 5", + "Ġr ocks", + "Ġro cks", + "Ġrock s", + "Ġroc ks", + "app ings", + "apping s", + "0 48", + "04 8", + "d irectory", + "direct ory", + "director y", + "5 57", + "55 7", + ". flush", + ".f lush", + ".fl ush", + "Ġ Jess", + "ĠJ ess", + "ĠJes s", + "ĠJe ss", + "UN IT", + "Ġ Pear", + "ĠP ear", + "ĠPe ar", + "Ġ mandatory", + "Ġm andatory", + "Ġmand atory", + "S ur", + "Su r", + "q t", + "Ġ streams", + "Ġstream s", + "Ġstre ams", + "Ġco operation", + "Ġcooper ation", + "Ġcoop eration", + "Ġ Sac", + "ĠS ac", + "ĠSa c", + "Ġche aper", + "Ġcheap er", + "ĉ ch", + "ĉc h", + "an imation", + "anim ation", + "f are", + "fa re", + "far e", + "( height", + "(h eight", + "( True", + "N Y", + "Ġw rest", + "Ġwr est", + "Ġwre st", + "Ġp olls", + "Ġpol ls", + "Ġpoll s", + "Ġencounter ed", + "Ġencount ered", + "ĠMark etable", + "ĠMarket able", + "_ PASSWORD", + "_P ASSWORD", + "_PASS WORD", + "7 16", + "71 6", + "_ SELECT", + "_SE LECT", + "_SEL ECT", + "ĠArab ia", + "ĠAra bia", + "_ clock", + "_c lock", + "_cl ock", + "Ġ voy", + "Ġv oy", + "Ġvo y", + "Ġ из", + "Ġи з", + "Ġs tir", + "Ġst ir", + "is ible", + "isi ble", + "- effect", + "-e ffect", + "-eff ect", + ". created", + ".c reated", + ".create d", + ".cr eated", + "Ġto ys", + "Ġtoy s", + "ĠTrad able", + "Ġ rust", + "Ġr ust", + "Ġru st", + "Ġrus t", + "Ġ strcpy", + "Ġstr cpy", + "_ timestamp", + "_t imestamp", + "_time stamp", + "Ġtal ented", + "Ġtalent ed", + ", null", + ",n ull", + "Ġ Jobs", + "ĠJ obs", + "ĠJo bs", + "ĠJob s", + "Ġ Portland", + "ĠPort land", + "Ġweak ness", + "Th row", + "Thr ow", + "Ġ Angel", + "ĠAn gel", + "ĠAng el", + "ĠAnge l", + "ä¿ ®", + "7 54", + "75 4", + "Ġun cert", + "Ġunc ert", + "ï¼ī Ċ", + "Ġ ìĿ´", + "ĠìĿ ´", + "Wh ich", + "Ġ[- ]:", + "S omething", + "Some thing", + "Som ething", + "Ġconv icted", + "Ġconvict ed", + "k le", + "kl e", + "ed ium", + "edi um", + "Ġ branches", + "Ġbr anches", + "Ġbranch es", + "Ġbran ches", + "Ġ bases", + "Ġb ases", + "Ġbase s", + "Ġbas es", + "Ġba ses", + "ç ®", + "Ġcomplex ity", + "Ġ Fig", + "ĠF ig", + "ĠFi g", + ". reshape", + ".re shape", + ".res hape", + "$ db", + "$d b", + "7 36", + "73 6", + "_ CONST", + "_CON ST", + "_CO NST", + "Ġ Tes", + "ĠT es", + "ĠTe s", + ". runtime", + ".r untime", + ".run time", + "Ġ deny", + "Ġd eny", + "Ġde ny", + "Ġden y", + "Ġ BSD", + "ĠB SD", + "ĠBS D", + "Ġ kr", + "Ġk r", + "h att", + "ha tt", + "hat t", + "Ġ Static", + "ĠSt atic", + "ĠStat ic", + "ĠSta tic", + "Ġunivers ities", + "Re place", + "Rep lace", + "Ġd rove", + "Ġdr ove", + "Ġdro ve", + "Ġad oles", + "Ġado les", + "_ plugin", + "_pl ugin", + "ĠL GBT", + "ĠLG BT", + "Ġ tex", + "Ġt ex", + "Ġte x", + "d uction", + "du ction", + "duct ion", + "duc tion", + "7 51", + "75 1", + "7 99", + "79 9", + "E DI", + "ED I", + "Ġ Ted", + "ĠT ed", + "ĠTe d", + "_ URI", + "_U RI", + "Ġre ception", + "Ġrece ption", + "Ġrecept ion", + "Ġrecep tion", + "ar ten", + "art en", + "arte n", + ". Single", + ".S ingle", + ".Sin gle", + "r ice", + "ri ce", + "ric e", + "sc ious", + "sci ous", + "8 43", + "84 3", + "_ bg", + "_b g", + "Ġw ages", + "Ġwa ges", + "Ġwage s", + "Ġwag es", + "Ġ Servlet", + "ĠS ervlet", + "ĠServ let", + "UI Layout", + "UIL ayout", + "Ġ formatted", + "Ġform atted", + "Ġformat ted", + ". Mod", + ".M od", + "< class", + " ',Ċ", + ">' ,Ċ", + ">', Ċ", + "Ġexp anding", + "Ġexpand ing", + "Ġ Hamilton", + "ĠHam ilton", + "Ġ Contrib", + "ĠCon trib", + "ĠCont rib", + "ĠContr ib", + ". Tables", + ".T ables", + ".Tab les", + ".Table s", + "7 28", + "72 8", + "Act iv", + "Ac tiv", + "H H", + "o commerce", + "ocom merce", + "_ ;", + "Ġamong st", + "o wing", + "ow ing", + "owi ng", + "8 59", + "85 9", + "Ġ Cold", + "ĠC old", + "ĠCo ld", + "ĠCol d", + "A PH", + "AP H", + "Ġpsych ological", + "Ġpsycho logical", + "_ tensor", + "_t ensor", + "Ġpack aging", + "Ġ Sweden", + "ĠSw eden", + "ĠSwe den", + "Ġ pare", + "Ġp are", + "Ġpar e", + "Ġpa re", + "Ġ aggregate", + "Ġag gregate", + "Ġaggreg ate", + "Ġmod erate", + "Ġmode rate", + "Ġmoder ate", + "8 62", + "86 2", + "_ hand", + "_h and", + "Ġdesign ated", + "Ġdesignate d", + "Ġd rum", + "Ġdr um", + "Ġdru m", + "Ġ getUser", + "Ġget User", + "ĠC reek", + "ĠCre ek", + "ĠCree k", + "_ scope", + "_s cope", + "_sc ope", + "Ġ Transfer", + "ĠTrans fer", + "Ġ Marg", + "ĠM arg", + "ĠMar g", + "ĠMa rg", + "Ġ fighters", + "Ġfight ers", + "Ġfighter s", + "W nd", + "Ġ Sel", + "ĠS el", + "ĠSe l", + "Ġ Launch", + "ĠL aunch", + "ĠLa unch", + "Ġem erging", + "Ġemerg ing", + "i frame", + "if rame", + "ifr ame", + "Ġ Additional", + "ĠAdd itional", + "ĠAddition al", + "Ġf ears", + "Ġfe ars", + "Ġfear s", + "Ġsat ellite", + "_ :", + "Ġ disposing", + "Ġdis posing", + "Ġdisp osing", + "Ġdispos ing", + "Get Value", + "Http Post", + "AT IVE", + "ul ary", + "ular y", + "ula ry", + "View s", + "Vi ews", + "Ġatt ending", + "Ġattend ing", + "ĠT ennessee", + "Ġ Mission", + "ĠM ission", + "ĠMiss ion", + "Ġmed ication", + "Ġmedic ation", + "Ġmedi cation", + "Ġ Wy", + "ĠW y", + "Ġ Anna", + "ĠAn na", + "ĠAnn a", + "Ø ¹", + "Ġ Vertex", + "ĠVer tex", + "ĠVert ex", + ". types", + ".t ypes", + ".type s", + ".typ es", + "O rgan", + "Or gan", + "Org an", + ". DataGridViewTextBoxColumn", + ".DataGridView TextBoxColumn", + "Ġ RS", + "ĠR S", + "Ġt empo", + "Ġtem po", + "Ġtemp o", + "( App", + "(A pp", + "8 92", + "89 2", + "Version UID", + ". point", + ".p oint", + ".po int", + ".poi nt", + "ĠD utch", + "ĠDut ch", + "H ours", + "Hour s", + "Ho urs", + "L U", + "Ġ quoted", + "Ġqu oted", + "Ġquote d", + "Ġquot ed", + "Ġquo ted", + ". builder", + ".b uilder", + ".build er", + "Ġ Perfect", + "ĠPer fect", + "ĠPerf ect", + "Ġ Always", + "ĠAl ways", + "_ two", + "_t wo", + "_tw o", + "Ġexclusive ly", + "Ġexclus ively", + "ĠC ra", + "ĠCr a", + "ific ar", + "ifi car", + "ifica r", + "Ġ AWS", + "ĠA WS", + "ĠAW S", + "ing ham", + "com plex", + "comp lex", + "k ernel", + "ker nel", + "Ġ gravity", + "Ġgr avity", + "Ġgrav ity", + "Ġ wi", + "Ġw i", + "0 52", + "05 2", + "Ġ overview", + "Ġover view", + "Ġov erview", + "6 61", + "66 1", + "Ġ Want", + "ĠW ant", + "ĠWa nt", + "ĠWan t", + "Ġ WP", + "ĠW P", + "( sh", + "(s h", + ". rotation", + ".r otation", + ".rot ation", + "St ates", + "State s", + "Stat es", + "Ġ Teen", + "ĠT een", + "ĠTe en", + "ĠTee n", + "_ components", + "_com ponents", + "_comp onents", + "_component s", + "ì Īĺ", + "ìĪ ĺ", + "Re ceived", + "Receive d", + "Ġly rics", + "Ġlyric s", + "Ġlyr ics", + "r ites", + "ri tes", + "rit es", + "rite s", + "ĉ ĉĉĉĉĠ", + "ĉĉ ĉĉĉĠ", + "ĉĉĉĉ ĉĠ", + "ĉĉĉ ĉĉĠ", + "ĉĉĉĉĉ Ġ", + "- American", + "-A merican", + "-Americ an", + "[ num", + "[n um", + "/ python", + "/p ython", + "/py thon", + "Ġ UART", + "ĠU ART", + "ĠUA RT", + "Ġ apple", + "Ġapp le", + "Ġap ple", + "Ġappl e", + "Ġ Jonathan", + "ĠJon athan", + "Ġm omentum", + "Ġmoment um", + "ภ±", + "Ĥ ¹", + "Ġm ich", + "Ġmi ch", + "Ġmic h", + "an dra", + "and ra", + "andr a", + "Ġb iological", + "Ġbi ological", + "Ġbio logical", + "ĠM ens", + "ĠMe ns", + "ĠMen s", + "Ġ %%", + "Ġ% %", + "el sea", + "else a", + "els ea", + "ĠMex ican", + ".rand int", + "Ġt ale", + "Ġtal e", + "Ġta le", + "Ġ Validate", + "ĠValid ate", + "Ġdef eated", + "Ġdefe ated", + "Ġdefeat ed", + ". htm", + ".h tm", + ".ht m", + "Ġc opper", + "Ġco pper", + "Ġcop per", + "Ġcopp er", + "= /", + "co system", + "cos ystem", + "Ġ rip", + "Ġr ip", + "Ġri p", + "d ecimal", + "de cimal", + "dec imal", + ". VISIBLE", + ".V ISIBLE", + "Ġ Ta", + "ĠT a", + "ĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉ", + "Ġdown loaded", + "Ġdownload ed", + "en vironment", + "Ġno mine", + "Ġnom ine", + "Ġnomin e", + "build ing", + "Ġ Spot", + "ĠS pot", + "ĠSp ot", + "ĠSpo t", + "ipher al", + "iph eral", + "Ġ alto", + "Ġal to", + "Ġalt o", + "q uet", + "qu et", + "que t", + "Ġ FT", + "ĠF T", + "/ get", + "/g et", + "/ge t", + "/ master", + "/m aster", + "W IN", + "WI N", + "åħ ĥ", + "6 76", + "67 6", + "W est", + "We st", + "ar gc", + "arg c", + "Ġpro ducers", + "Ġprodu cers", + "Ġproduce rs", + "Ġproducer s", + "Ġ Much", + "ĠM uch", + "ĠMu ch", + "_ storage", + "_st orage", + "c redit", + "cre dit", + "cr edit", + "cred it", + "C ONT", + "CON T", + "CO NT", + "Ġ vet", + "Ġv et", + "Ġve t", + "Ġ voices", + "Ġvo ices", + "Ġvoice s", + "Ġvoi ces", + "( '',", + "(' ',", + "Ġin struments", + "Ġinstr uments", + "Ġinstrument s", + "6 62", + "66 2", + "Ġ MSG", + "ĠM SG", + "ĠMS G", + "e sse", + "es se", + "ess e", + "re pository", + "repos itory", + "om ics", + "omic s", + "omi cs", + "Ġ dealer", + "Ġde aler", + "Ġdeal er", + "St ill", + "Ġ banner", + "Ġb anner", + "Ġban ner", + "asc ii", + "Ġ remarks", + "Ġre marks", + "Ġr emarks", + "Ġrem arks", + "Ġremark s", + "Ġremar ks", + "[ js", + "[j s", + "Ġshort er", + "g ulp", + "gu lp", + "Ġm yster", + "Ġmy ster", + "Ġmys ter", + "Ġmyst er", + "Ġk un", + "Ġku n", + "Ġ Bird", + "ĠB ird", + "ĠBi rd", + "ĠBir d", + "Ġt iene", + "Ġti ene", + "Ġtie ne", + "7 88", + "78 8", + "n ut", + "nu t", + "Ġ Um", + "ĠU m", + "Ġ wise", + "Ġw ise", + "Ġwis e", + "Ġwi se", + "Y eah", + "Ye ah", + "I NESS", + "IN ESS", + "INE SS", + "INES S", + "0 46", + "04 6", + "_ begin", + "_b egin", + "_be gin", + "_beg in", + "- heading", + "-head ing", + "-he ading", + "C ourse", + "Co urse", + "Cour se", + "Ġ čĊčĊ", + "ĠčĊ čĊ", + "om bie", + "omb ie", + "gr aded", + "grad ed", + "grade d", + "gra ded", + "Ġ GPS", + "ĠG PS", + "ĠGP S", + "Ġ że", + "Ġż e", + "F it", + "Fi t", + "c aption", + "ca ption", + "cap tion", + "capt ion", + "ö n", + "/ image", + "/i mage", + "/im age", + "l ia", + "li a", + "( mod", + "(m od", + "Ġle ak", + "en za", + "enz a", + "6 29", + "62 9", + "/ H", + "Ġ Happy", + "ĠH appy", + "ĠHa ppy", + "ĠHapp y", + "9 93", + "99 3", + "D ist", + "Dis t", + "Di st", + "n x", + "ĠGovern or", + "ĠGover nor", + "( last", + "(l ast", + "t eacher", + "te acher", + "tea cher", + "Ġ Sent", + "ĠS ent", + "ĠSe nt", + "ĠSen t", + "s upport", + "sup port", + "8 38", + "83 8", + "ject ory", + "Ġ Ùħ", + "ĠÙ ħ", + "Reg istration", + "Registr ation", + "0 63", + "06 3", + "Ġ Gray", + "ĠG ray", + "ĠGr ay", + "ĠGra y", + ", false", + ",f alse", + "Ġ adjusted", + "Ġadjust ed", + "Ġadj usted", + "( settings", + "(s ettings", + "(set tings", + "(setting s", + "< R", + "Ġ Mage", + "ĠM age", + "ĠMag e", + "ĠMa ge", + "Ġ plaint", + "Ġpl aint", + "Ġplain t", + "Ġpla int", + "_ )Ċ", + "_) Ċ", + "ĉ it", + "ĉi t", + "o metric", + "om etric", + "omet ric", + "ometr ic", + ". bootstrap", + ".boot strap", + "Ġcar ries", + "Ġcarr ies", + "I p", + "Ġ! $", + "Ġsw imming", + "Ġswim ming", + "Ġ Mario", + "ĠM ario", + "ĠMar io", + "ĠMa rio", + "ĠMari o", + "Ġ Questions", + "ĠQuest ions", + "ĠQuestion s", + "P ACE", + "PA CE", + "æĸ ¹", + "e or", + "eo r", + "} }\"", + "}} \"", + "Ġ oven", + "Ġo ven", + "Ġov en", + "Ġ Kon", + "ĠK on", + "ĠKo n", + "Ġwis dom", + "Ġac quisition", + "ess ment", + "ag ine", + "agi ne", + "Ġex pressions", + "Ġexpress ions", + "Ġexpression s", + "Ġexpr essions", + "Sequential Group", + "F ront", + "Fr ont", + "ul pt", + "ulp t", + "a wk", + "aw k", + "' ])ĊĊ", + "'] )ĊĊ", + "']) ĊĊ", + "'])Ċ Ċ", + "8 13", + "81 3", + "7 32", + "73 2", + "_ AR", + "_A R", + "Ġan alog", + "Ġanal og", + "Ġana log", + "u lin", + "ul in", + "uli n", + "_ PRINT", + "_PR INT", + "_PRI NT", + "Ġ LG", + "ĠL G", + "Ġ blob", + "Ġb lob", + "Ġbl ob", + "Ġblo b", + "Ġ Furthermore", + "ĠFurther more", + "_ component", + "_com ponent", + "_comp onent", + "Ġ Cole", + "ĠC ole", + "ĠCo le", + "ĠCol e", + "L AN", + "LA N", + "SC RIPTION", + "SCRI PTION", + "SCRIPT ION", + "Ġ lap", + "Ġl ap", + "Ġla p", + "ic ensing", + "icens ing", + "_TIME OUT", + "ĠF ro", + "ĠFr o", + "Ġl iability", + "Ġli ability", + "Ġ composed", + "Ġcom posed", + "Ġcomp osed", + "Ġcompose d", + "Ġcompos ed", + "6 34", + "63 4", + ".create SequentialGroup", + "_ person", + "_p erson", + "_per son", + "Ġ beam", + "Ġb eam", + "Ġbe am", + "ĉ ĠĠĠĠĠĠĠĠ", + "ĉĠĠĠ ĠĠĠĠĠ", + "ĉĠ ĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠ Ġ", + "ĉĠĠ ĠĠĠĠĠĠ", + "ĉĠĠĠĠĠ ĠĠĠ", + "ĉĠĠĠĠ ĠĠĠĠ", + "ĉĠĠĠĠĠĠ ĠĠ", + "Ġ NotFound", + "ĠNot Found", + "6 84", + "68 4", + ". 'Ċ", + ".' Ċ", + "ÃŃ s", + ". TextView", + ".T extView", + ".Text View", + "P DF", + "PD F", + "Ġ kar", + "Ġk ar", + "Ġka r", + "_ _('", + "__ ('", + "__( '", + "Ġ \":\"", + "Ġ\" :\"", + "Ġ\": \"", + "_ messages", + "_m essages", + "_message s", + "Ġhar vest", + ". history", + ".h istory", + ".hist ory", + "> 'Ċ", + ">' Ċ", + "- fold", + "-f old", + "æ Ĭ", + "Ġ Better", + "ĠB etter", + "ĠBet ter", + "ĠBett er", + "Ġ\" \\<", + "Ġ\"\\ <", + "sp acing", + "spa cing", + "Ġf urnished", + "Ġfurn ished", + "Ġfurnish ed", + "9 13", + "91 3", + "o ser", + "os er", + "ose r", + "] }Ċ", + "]} Ċ", + "Ġ $\"", + "Ġ$ \"", + "p ull", + "pu ll", + ". Post", + ".P ost", + ".Pos t", + "9 19", + "91 9", + "( ip", + "(i p", + "Ĺ ı", + ". front", + ".f ront", + ".fr ont", + "n te", + "nt e", + "Ġ FM", + "ĠF M", + "g uid", + "gu id", + "gui d", + "8 44", + "84 4", + "Ġnegot iations", + "Ġnegotiation s", + "ag onal", + "agon al", + "ago nal", + "9 34", + "93 4", + "Ġtrem end", + "ung eon", + "unge on", + "A dv", + "Ad v", + "car ousel", + "ÃŁ e", + "_ DESC", + "_D ESC", + "_DE SC", + "Ġ hammer", + "Ġh ammer", + "Ġham mer", + "Ġhamm er", + "ẠŃ", + "Ġ ĠĠĠĠĠĠĠĊĊ", + "ĠĠ ĠĠĠĠĠĠĊĊ", + "ĠĠĠĠ ĠĠĠĠĊĊ", + "ĠĠĠĠĠĠĠĠ ĊĊ", + "ĠĠĠ ĠĠĠĠĠĊĊ", + "ĠĠĠĠĠĠĠ ĠĊĊ", + "ĠĠĠĠĠ ĠĠĠĊĊ", + "ĠĠĠĠĠĠ ĠĠĊĊ", + "ĠĠĠĠĠĠĠĠĊ Ċ", + "- core", + "-c ore", + "-co re", + "-cor e", + "- service", + "-s ervice", + "-ser vice", + "Ġc orners", + "Ġcor ners", + "Ġcorner s", + "Ġcorn ers", + "Ġ SF", + "ĠS F", + "p red", + "pr ed", + "pre d", + "> A", + "ĠJ Label", + "ĠJL abel", + "Ġrom antic", + "Ġroman tic", + "Ġromant ic", + "Ġtest imony", + "Ġtestim ony", + "Ġtestimon y", + "o sc", + "os c", + "Ġ Generation", + "ĠG eneration", + "ĠGener ation", + "ĠGen eration", + "ĠGene ration", + "as ures", + "asure s", + "asu res", + "_ internal", + "_in ternal", + "_int ernal", + "_inter nal", + "Ġ prints", + "Ġpr ints", + "Ġprint s", + "Ġpri nts", + "Ġprin ts", + "Ġ ])Ċ", + "Ġ] )Ċ", + "Ġ]) Ċ", + "ĠC leveland", + "re po", + "rep o", + "D isc", + "Dis c", + "Di sc", + "6 77", + "67 7", + "7 62", + "76 2", + "Ġ \">Ċ", + "Ġ\" >Ċ", + "Ġ\"> Ċ", + "� ���", + "�� ��", + "��� �", + "Ġ nearest", + "Ġne arest", + "Ġnear est", + "5 91", + "59 1", + "_ tb", + "_t b", + "( require", + "(re quire", + "(req uire", + "E OF", + "EO F", + "- child", + "-ch ild", + "Ġb udd", + "Ġbu dd", + "Ġbud d", + ".Xtra Editors", + "al ties", + "alt ies", + "7 23", + "72 3", + "\\\" :\\\"", + "\\\": \\\"", + "W ords", + "Word s", + "9 17", + "91 7", + "Ġloc ally", + "Ġlocal ly", + "Ġp urchases", + "Ġpurch ases", + "Ġpurchase s", + "6 95", + "69 5", + "D rawer", + "Draw er", + "ex tract", + "ext ract", + "extra ct", + "extr act", + "Ġex ecut", + "Ġexec ut", + "Ġexe cut", + "} '.", + "}' .", + "user data", + "Ġfocus es", + "Ġfoc uses", + "- minute", + "-min ute", + "7 64", + "76 4", + "Ġ Publish", + "ĠP ublish", + "ĠPub lish", + "o go", + "og o", + "Ġm ountains", + "Ġmount ains", + "Ġmountain s", + "B ot", + "Bo t", + "} >{", + "}> {", + "Ġt ension", + "Ġtens ion", + "r od", + "ro d", + "m esh", + "me sh", + "mes h", + "Ġtrans formed", + "Ġtransform ed", + ", R", + "( )}Ċ", + "() }Ċ", + "()} Ċ", + ". long", + ".l ong", + ".lo ng", + ".lon g", + "Ġg orgeous", + "Ġgorge ous", + "Ġ Schedule", + "ĠS chedule", + "Ġold est", + "Ġol dest", + "Ġsub process", + "( IN", + "(I N", + "y ect", + "ye ct", + "ĠCo oper", + "ar ness", + "arn ess", + "Ġ Monitor", + "ĠM onitor", + "ĠMon itor", + ". part", + ".p art", + ".par t", + ".pa rt", + "9 72", + "97 2", + "Ġ NBC", + "ĠN BC", + "ĠNB C", + "6 68", + "66 8", + "Ġc otton", + "Ġcot ton", + "Ġcott on", + "Ġ hol", + "Ġh ol", + "Ġho l", + "7 26", + "72 6", + "Ġ rgba", + "Ġr gba", + "Ġrgb a", + "Ġrg ba", + "Ġ Bio", + "ĠB io", + "ĠBi o", + "Cont inue", + "Contin ue", + "P od", + "Po d", + "Ġparticip ating", + "cl usions", + "clus ions", + "clusion s", + "(By Val", + "7 34", + "73 4", + "à ¬", + "Ġ HOW", + "ĠH OW", + "ĠHO W", + "_set opt", + "Ġaccompany ing", + "0 91", + "09 1", + "a ton", + "at on", + "ato n", + "Ġ /\\", + "Ġ/ \\", + "Ġ Authentication", + "ĠAuth entication", + "ĠAuthentic ation", + "i én", + "ĠBar ack", + "ĠBa rack", + "/ *.", + "/* .", + "Ġe ager", + "Ġea ger", + "Ġeag er", + "Ġ Cancel", + "ĠC ancel", + "ĠCan cel", + "ĠCanc el", + "< lemma", + " $", + "O LEAN", + "OLE AN", + "OK IE", + "IB ILITY", + "U AGE", + "UA GE", + "Ġ Survey", + "ĠS urvey", + "ĠSur vey", + "ĠSurv ey", + "0 71", + "07 1", + "Ġre sign", + "Ġr esign", + "Ġres ign", + "w ing", + "win g", + "wi ng", + "Ġse crets", + "Ġsec rets", + "Ġsecret s", + "Ġsecre ts", + "Ġc hips", + "Ġch ips", + "Ġchip s", + "Ġchi ps", + "JSON Object", + "D esktop", + "Des ktop", + "Desk top", + "5 96", + "59 6", + "_SY MBOL", + "( resource", + "(res ource", + "(re source", + "Ġ< />Ċ", + "ĠĊ", + "Ġnew est", + "Ġne west", + "u li", + "ul i", + "Ġde sert", + "Ġdes ert", + "Ġdese rt", + "Ġdeser t", + "Ġd ip", + "Ġdi p", + "Ġ Pow", + "ĠP ow", + "ĠPo w", + "Ġequ ation", + "Ġeq uation", + "Ġposs ibilities", + "Ġpossibilit ies", + "Ġ Fed", + "ĠF ed", + "ĠFe d", + "os ph", + "osp h", + "Ġ [%", + "Ġ[ %", + "Ġ bubble", + "Ġb ubble", + "Ġbu bble", + "Ġbub ble", + "Ġbubb le", + "ether lands", + "7 93", + "79 3", + "Ġc ement", + "Ġce ment", + ". auto", + ".a uto", + ".au to", + ".aut o", + "_ AN", + "_A N", + "âĢĻ .", + "s election", + "se lection", + "select ion", + "sel ection", + "Ġ Bond", + "ĠB ond", + "ĠBo nd", + "ĠBon d", + "9 88", + "98 8", + "D en", + "De n", + "- O", + ". getType", + ".get Type", + "8 96", + "89 6", + ". Window", + ".W indow", + "p res", + "pr es", + "pre s", + "Ġsw inger", + "Ġswing er", + "\" })Ċ", + "\"} )Ċ", + "\"}) Ċ", + "Ġ pip", + "Ġp ip", + "Ġpi p", + "Ġm ice", + "Ġmi ce", + "Ġmic e", + "Ġ compound", + "Ġcomp ound", + "- plugin", + "-pl ugin", + "i ko", + "ik o", + "Ġcent uries", + "i cular", + "ic ular", + "- inline", + "-in line", + "ĉ key", + "ĉk ey", + "> \\<", + ">\\ <", + "EN SION", + "ENS ION", + "Ġ[ čĊ", + "Ġprecis ely", + "Ġprecise ly", + "Ġ été", + "Ġé té", + "Ġét é", + "Ġ Past", + "ĠP ast", + "ĠPa st", + "ĠPas t", + "ĠCam bridge", + "ĠCamb ridge", + "- full", + "-f ull", + "Ġ analyze", + "Ġan alyze", + "Ġanaly ze", + "Ġ Steven", + "ĠSt even", + "ĠSte ven", + "ĠSteve n", + "Ġ nem", + "Ġn em", + "Ġne m", + "d ue", + "du e", + "o ren", + "or en", + "ore n", + "Ġmus cles", + "Ġmuscle s", + "i jing", + "ij ing", + "iji ng", + "8 52", + "85 2", + "/ -", + "ĠKenn edy", + "5 97", + "59 7", + "R M", + "oss ible", + "Ġact ress", + "Ġd olor", + "Ġdo lor", + "Ġdol or", + "9 14", + "91 4", + "å½ ķ", + "N eed", + "Ne ed", + ". toggle", + ".t oggle", + "Ġ Race", + "ĠR ace", + "ĠRa ce", + "ĠRac e", + "w ers", + "we rs", + "wer s", + ". material", + ".m aterial", + ".mat erial", + "Ġ Due", + "ĠD ue", + "ĠDu e", + "Ġ Pel", + "ĠP el", + "ĠPe l", + "# print", + "Ġin dependence", + "Ġindepend ence", + "ex us", + "Sh adow", + "Ġ encoder", + "Ġe ncoder", + "Ġen coder", + "Ġenc oder", + "Ġencode r", + "( level", + "(le vel", + "Ġ Swift", + "ĠSw ift", + ". doc", + ".d oc", + ".do c", + "_ selection", + "_s election", + "_se lection", + "_select ion", + "_sel ection", + "9 52", + "95 2", + "Ġserial VersionUID", + "9 45", + "94 5", + "Label s", + "Lab els", + "Ġperform ances", + "Ġperformance s", + "Ġperforman ces", + ". Tag", + ".T ag", + "ĠN HL", + "ĠNH L", + "i zen", + "iz en", + "ize n", + "/ UIKit", + "/UI Kit", + "9 91", + "99 1", + "_ CONTROL", + "_CONT ROL", + "Ġe arnings", + "Ġear nings", + "Ġearn ings", + "Ġearning s", + "9 75", + "97 5", + "Ġ Alt", + "ĠA lt", + "ĠAl t", + "_ HANDLE", + "_H ANDLE", + "_HAND LE", + "C tx", + "Ġper su", + "Ġpers u", + "Ġ tran", + "Ġt ran", + "Ġtr an", + "Ġtra n", + "ç ¨", + "_ CHANNEL", + "_CH ANNEL", + "_CHAN NEL", + "Ġs atisfaction", + "Ġsatisf action", + "Ġ GP", + "ĠG P", + "7 69", + "76 9", + "i ox", + "io x", + "m itt", + "mit t", + "mi tt", + "l ando", + "land o", + "la ndo", + "lan do", + "Ġ pig", + "Ġp ig", + "Ġpi g", + "in als", + "inal s", + "ina ls", + "ê ncia", + "ên cia", + "7 31", + "73 1", + "S urface", + "Sur face", + "Ġ UUID", + "ĠU UID", + "Ġbenef icial", + "Ġbenefici al", + "Ġ sequences", + "Ġse quences", + "Ġsequence s", + "Ġsequ ences", + "ĉ memset", + "ĉmem set", + "Ġmag ical", + "Ġmagic al", + " «", + "Ġw orn", + "Ġwor n", + "Ġwo rn", + "A SC", + "AS C", + "p opup", + "pop up", + "C OMP", + "CO MP", + "COM P", + "_ before", + "_b efore", + "_be fore", + "e ness", + "en ess", + "ene ss", + "enes s", + "U i", + "L es", + "Le s", + ". require", + ".re quire", + ".req uire", + ". Serializable", + ".Serial izable", + "add Gap", + "Ġ authorization", + "Ġauthor ization", + "0 85", + "08 5", + ".py plot", + "u rray", + "ur ray", + "urr ay", + "l atitude", + "lat itude", + "8 45", + "84 5", + "f rames", + "fr ames", + "frame s", + "fra mes", + "fram es", + "a js", + "aj s", + "Ġ compass", + "Ġcom pass", + "Ġcomp ass", + "Ġ observations", + "Ġobs ervations", + "Ġobserv ations", + "Ġobservation s", + "_ sup", + "_s up", + "_su p", + ".en viron", + ".env iron", + "Ġtr iple", + "Ġtri ple", + "Ġtrip le", + "Ġ Ruby", + "ĠR uby", + "ĠRub y", + "ĠRu by", + "Ġd rain", + "Ġdr ain", + "Ġdra in", + "_ FILTER", + "_F ILTER", + "S an", + "Sa n", + "U MP", + "UM P", + "Null Exception", + "Ġ Gab", + "ĠG ab", + "ĠGa b", + "o we", + "ow e", + "ĠTur kish", + "ĠTurk ish", + "_ sequence", + "_se quence", + "Ġ Grant", + "ĠG rant", + "ĠGr ant", + "ĠGran t", + "ĠGra nt", + "u ela", + "ue la", + "uel a", + "Ġ wo", + "Ġw o", + "Ġ cube", + "Ġc ube", + "Ġcu be", + "Ġcub e", + "i q", + "Ġdis orders", + "Ġdisorder s", + "Ġextra ordinary", + "Ġextraordin ary", + "Ġ ctrl", + "Ġc trl", + "Ġct rl", + "Ġctr l", + "Ġ Seq", + "ĠS eq", + "ĠSe q", + "en tr", + "ent r", + "8 65", + "86 5", + "Ġsan ctions", + "Ġsanct ions", + "Ġsanction s", + "9 49", + "94 9", + "ut sch", + "uts ch", + "Re ports", + "Report s", + "Rep orts", + "Repo rts", + "Ġ inherit", + "Ġin herit", + "Ġinher it", + "P eriod", + "Per iod", + "Ġphot ography", + "Ġphotograph y", + "Ġ Framework", + "ĠF ramework", + "ĠFr amework", + "ĠFrame work", + "ĠFram ework", + "Ġspecial ist", + "Ġspeci alist", + "Ġ ?ĊĊ", + "Ġ? ĊĊ", + "Ġ?Ċ Ċ", + "_ selected", + "_se lected", + "_select ed", + "_sel ected", + ". Player", + ".P layer", + ".Pl ayer", + ".Play er", + "Ġ allocation", + "Ġal location", + "Ġall ocation", + "Ġalloc ation", + "Ġallo cation", + "( account", + "(a ccount", + "(ac count", + "(acc ount", + "Ġ structural", + "Ġstruct ural", + "v able", + "va ble", + "- offset", + "-off set", + "-o ffset", + "-offs et", + ".App CompatActivity", + "а м", + "аР¼", + ".Add WithValue", + "Ġ icons", + "Ġi cons", + "Ġicon s", + "Ġic ons", + "Ġ shutdown", + "Ġsh utdown", + "Ġshut down", + "_ low", + "_l ow", + "_lo w", + "Ġ Compare", + "ĠCom pare", + "ĠComp are", + "ĠCompar e", + "Ġ Ce", + "ĠC e", + "= head", + "=h ead", + "l am", + "la m", + ". predict", + ".p redict", + ".pre dict", + ".pred ict", + "_ DEC", + "_D EC", + "_DE C", + "Ġ Sleep", + "ĠS leep", + "ĠSlee p", + "ĠSle ep", + "Ġ Gratis", + "ĠGr atis", + "ĠGrat is", + "Ġs uggestion", + "Ġsuggest ion", + "Ġ DEL", + "ĠD EL", + "ĠDE L", + "c aff", + "ca ff", + "caf f", + "av irus", + "avi rus", + "avir us", + "No thing", + "ŀ ĭ", + "Ġwide spread", + "Ġwides pread", + "Ġmechan isms", + "Ġmechanism s", + "Ġ textAlign", + "Ġtext Align", + "oc cup", + "occ up", + "Ġ Rail", + "ĠR ail", + "ĠRa il", + "ĠRai l", + ": NS", + ":N S", + "Ġ fiber", + "Ġf iber", + "Ġfi ber", + "Ġfib er", + "Ġ mk", + "Ġm k", + "Ġv intage", + "- long", + "-l ong", + "-lo ng", + ". reduce", + ".re duce", + ".red uce", + ". Entities", + ".Ent ities", + "( record", + "(re cord", + "(rec ord", + "Ġ pleasant", + "Ġple asant", + "Ġpleas ant", + "F RING", + "FR ING", + ". Cells", + ".C ells", + ".Cell s", + "O TT", + "OT T", + "ĉ elseif", + "ĉelse if", + "6 49", + "64 9", + "7 24", + "72 4", + "_ confirm", + "_con firm", + "_conf irm", + "ĠView Group", + "s ym", + "sy m", + "Ġ pray", + "Ġp ray", + "Ġpr ay", + "Ġpra y", + "Ġsus pected", + "Ġsusp ected", + "Ġsuspect ed", + "Cont ains", + "Con tains", + "Contain s", + "Conta ins", + "9 83", + "98 3", + "Ġb orders", + "Ġborder s", + "Ġbor ders", + "Ġbord ers", + "Ġcomponent Did", + "A SSERT", + "ASS ERT", + "Ġin finite", + "Ġinf inite", + "Ġinfinit e", + "- order", + "-or der", + "Ġ hello", + "Ġh ello", + "Ġhel lo", + "Ġhell o", + "Ġ Grade", + "ĠG rade", + "ĠGr ade", + "ĠGrad e", + "ĠGra de", + ".currentTime Millis", + "ap olis", + "apol is", + "apo lis", + "z h", + "ĉ Object", + "ĉO bject", + ": \\\\", + ":\\ \\", + "H O", + "val uation", + "valu ation", + "Ġ vocab", + "Ġv ocab", + "Ġvo cab", + "Ġvoc ab", + "7 19", + "71 9", + "Ġ coupon", + "Ġc oupon", + "Ġco upon", + "Ġcou pon", + "Ġcoup on", + "ata bases", + "atab ases", + "atabase s", + ". GetType", + ".Get Type", + "L earn", + "Le arn", + "7 92", + "79 2", + "] =\"", + "]= \"", + "Ġ Gary", + "ĠG ary", + "ĠGar y", + "ĠGa ry", + "ot ive", + "oti ve", + "Ġ ash", + "Ġa sh", + "Ġas h", + "Ġ bib", + "Ġb ib", + "Ġbi b", + "X XXX", + "XX XX", + "XXX X", + "Ġ balanced", + "Ġbalance d", + "Ġbal anced", + "VAL UE", + "Ġ Nat", + "ĠN at", + "ĠNa t", + "_ Ad", + "_A d", + "< E", + "åĮ º", + "Ġ MethodInfo", + "ĠMethod Info", + "8 97", + "89 7", + "L IB", + "LI B", + "Ġconsider able", + "Ġconsid erable", + "Ġ Industry", + "ĠInd ustry", + "ĠIndust ry", + "t ests", + "te sts", + "test s", + "tes ts", + ". setTitle", + ".set Title", + "Ġ Bluetooth", + "ĠB luetooth", + "ĠBl uetooth", + "ĠBlu etooth", + "Ġ mapped", + "Ġm apped", + "Ġmap ped", + "Ġma pped", + "Ġ Bruce", + "ĠBr uce", + "ĠBru ce", + "Ġ MainWindow", + "ĠMain Window", + "ĉ status", + "ĉs tatus", + "ĉst atus", + "ĉstat us", + "Ġ raz", + "Ġr az", + "Ġra z", + "ĠM and", + "ĠMan d", + "ĠMa nd", + "Ġ classification", + "Ġclass ification", + "Per missions", + "Permission s", + "Perm issions", + "9 69", + "96 9", + "Ġ ----------------------------------------------------------------------------", + "Ġ---------------------------------------------------------------- ------------", + "Ġ------------------------------------------------ ----------------------------", + "Ġ------------ ----------------------------------------------------------------", + "Ġ------ ----------------------------------------------------------------------", + "Ġ------------------------------------------------------------ ----------------", + "Ġ------------------------------------------------------------------------- ---", + "Ġ containers", + "Ġcont ainers", + "Ġcontainer s", + "Ġcontain ers", + "Ġconta iners", + ": set", + ":s et", + "_ xml", + "_x ml", + "Ġwh ilst", + "Th rough", + "Thr ough", + "Ġv align", + "Ġval ign", + "Ġworld s", + "Ġwor lds", + "C ORD", + "CO RD", + "COR D", + "ED IA", + "EDI A", + "ÑĢ Ð¾Ð²", + "ÑĢо в", + "Ġs pare", + "Ġsp are", + "Ġspa re", + "Ġspar e", + "Ġ Had", + "ĠH ad", + "ĠHa d", + "Ġ DEF", + "ĠD EF", + "ĠDE F", + "( ptr", + "(p tr", + "(pt r", + "Ġw arming", + "Ġwar ming", + "Ġwarm ing", + "8 98", + "89 8", + "ठ¾", + "Ġcons ensus", + "a gne", + "ag ne", + "agn e", + "C TL", + "CT L", + "Ġ ìķ", + "Ġì ķ", + ". Main", + ".M ain", + ".Ma in", + "web Element", + "Ġp ist", + "Ġpi st", + "Ġpis t", + "F lash", + "Fl ash", + "App end", + "Ap pend", + "Appe nd", + ".tw img", + "T ap", + "Ta p", + "Ġveget ables", + "Ġvegetable s", + "a lg", + "al g", + "0 58", + "05 8", + ". sample", + ".s ample", + ".sam ple", + "Ġco aching", + "Ġcoach ing", + "( ind", + "(i nd", + "(in d", + "Cell Value", + "Check Box", + "Ġ Hell", + "ĠH ell", + "ĠHe ll", + "ĠHel l", + "R OOT", + "RO OT", + "7 96", + "79 6", + "Ġst adium", + "Ġstad ium", + "Ġinvestig ating", + ") %", + "s ted", + "st ed", + "ste d", + "9 65", + "96 5", + "Ġ Writing", + "ĠW riting", + "ĠWr iting", + "Ġ ê²", + "Ġê ²", + "Ġ uno", + "Ġu no", + "Ġun o", + "Ġ {{--", + "Ġ{{ --", + "Ġ coords", + "Ġco ords", + "Ġcoord s", + "Ġun ser", + "Ġuns er", + "o rganization", + "organ ization", + "Ġ Crime", + "ĠCr ime", + "ĠCri me", + "ĠDem ocrat", + "ĠDemocr at", + "5 79", + "57 9", + "Ġ vin", + "Ġv in", + "Ġvi n", + "/ file", + "/f ile", + "0 78", + "07 8", + "- api", + "-a pi", + "-ap i", + "Ġ Ay", + "ĠA y", + "Ġf unded", + "Ġfun ded", + "Ġfund ed", + "ĠBr exit", + "ĠBre xit", + "ĠG h", + "ent ina", + "enti na", + "entin a", + "c ases", + "ca ses", + "case s", + "cas es", + "Ġ dash", + "Ġd ash", + "Ġda sh", + "Ġdas h", + "Ġ!! }Ċ", + "Ġ!!} Ċ", + "H I", + "Off ice", + "Ġcap tain", + "Ġcapt ain", + "Ġwor ship", + "Ġwors hip", + "Ġworsh ip", + "\\ C", + "7 33", + "73 3", + "8 51", + "85 1", + "Ġg lobe", + "Ġgl obe", + "Ġglob e", + "Ġglo be", + "_ board", + "_b oard", + "_bo ard", + "Ġb abies", + "Ġba bies", + "Ġbab ies", + "8 76", + "87 6", + "Ġcon secutive", + "Ġconsec utive", + "Ġenh anced", + "Ġenhance d", + "er eum", + "ere um", + "ĠAd vis", + "ĠAdv is", + "Ġg rain", + "Ġgr ain", + "Ġgra in", + "7 71", + "77 1", + "Ġc raw", + "Ġcr aw", + "Ġcra w", + "ancell ationToken", + "ancellation Token", + ". alpha", + ".al pha", + "_ WITH", + "_W ITH", + "ĠO tt", + "ĠOt t", + "Ġ Cool", + "ĠC ool", + "ĠCo ol", + ". batch", + ".b atch", + ".bat ch", + "Ġ verified", + "Ġver ified", + "( callback", + "(c allback", + "(call back", + "Ġreg ards", + "Ġregard s", + "6 83", + "68 3", + "Ġ IntPtr", + "ĠInt Ptr", + "o ucher", + "ou cher", + "ouch er", + "Ġ kin", + "Ġk in", + "Ġki n", + "Ġt ouched", + "Ġtouch ed", + "Ġtou ched", + "it Ãł", + "a thon", + "at hon", + "ath on", + "Ġadj acent", + "Ġaccom panied", + "L EAR", + "LE AR", + "Ġim plies", + "Ġimp lies", + "Ġimpl ies", + "Ġ hill", + "Ġh ill", + "Ġhi ll", + "Ġhil l", + "ĠB altimore", + "ĠBalt imore", + "= \"-", + "=\" -", + "F inally", + "Fin ally", + "Final ly", + "8 83", + "88 3", + "S am", + "Sa m", + "ic opt", + "ico pt", + "Ġs od", + "Ġso d", + "Ġ maj", + "Ġm aj", + "Ġma j", + "Ġ Shipping", + "ĠSh ipping", + "ĠShip ping", + "ĠShi pping", + "Ġ getAll", + "Ġget All", + "Ġco aches", + "Ġcoach es", + "Ġdon ations", + "Ġdonation s", + "i lot", + "il ot", + "ilo t", + "Ġ Tar", + "ĠT ar", + "ĠTa r", + "c err", + "ce rr", + "cer r", + "Ġ badge", + "Ġb adge", + "Ġbad ge", + "Ġba dge", + "Ġ markers", + "Ġm arkers", + "Ġmark ers", + "Ġmar kers", + "Ġmarker s", + "Ġ Rand", + "ĠR and", + "ĠRa nd", + "ĠRan d", + "a ised", + "ai sed", + "ais ed", + "aise d", + "iss ance", + "issa nce", + "issan ce", + "Ġexpl oring", + "Ġexplo ring", + "Ġexplor ing", + "8 27", + "82 7", + "u ced", + "uc ed", + "uce d", + "ĠInd onesia", + "ĠIndones ia", + "ĠIndo nesia", + "Ġbe neath", + "Ġbene ath", + "Ġm agnetic", + "Ġmagn etic", + "Ġmagnet ic", + "Ġm useum", + "Ġmus eum", + "Ġmuse um", + "match Condition", + "Ġdis rupt", + "Ġre mind", + "Ġrem ind", + "Ġremin d", + "Ġ TM", + "ĠT M", + "Ġ /><", + "Ġ/ ><", + "Ġ/> <", + "Ġf ool", + "Ġfo ol", + "Ġfoo l", + "Ġ esk", + "Ġe sk", + "Ġes k", + ". Null", + ".N ull", + "Ġ Dies", + "ĠD ies", + "ĠDi es", + "ĠDie s", + "_ OUTPUT", + "_OUT PUT", + "_TYPE D", + "_TYP ED", + "Ġp ainted", + "Ġpaint ed", + "Ġpain ted", + "6 73", + "67 3", + "7 35", + "73 5", + "Ġsoph istic", + "Ġ Bear", + "ĠB ear", + "ĠBe ar", + "ĠBea r", + "* n", + "_ PACK", + "_P ACK", + "_PA CK", + "Ġdel ivering", + "Ġdeliver ing", + "Ġ COUNT", + "ĠC OUNT", + "ĠCO UNT", + "åį ķ", + "Ġj eg", + "Ġje g", + "- car", + "-c ar", + "-ca r", + "f name", + "fn ame", + "Ġr anging", + "Ġran ging", + "Ġrang ing", + "8 48", + "84 8", + "Ġ Neg", + "ĠN eg", + "ĠNe g", + "/ ******/", + "Ġ CHAR", + "ĠCH AR", + "Ġu ltra", + "Ġult ra", + "Ġul tra", + "Ġultr a", + "G rad", + "Gr ad", + "= t", + "Ġjud ges", + "Ġjudge s", + "ĠD ise", + "ĠDis e", + "ĠDi se", + "an ners", + "ann ers", + "anner s", + "anne rs", + "9 85", + "98 5", + "8 91", + "89 1", + "8 61", + "86 1", + "Ġ scal", + "Ġs cal", + "Ġsc al", + "Ġsca l", + "_ cal", + "_c al", + "_ca l", + "ĠCON NECTION", + "ĠCONNECT ION", + "_ embed", + "_em bed", + "_emb ed", + "( fn", + "(f n", + "Ġ Craft", + "ĠC raft", + "ĠCr aft", + "ĠCra ft", + "0 47", + "04 7", + "Ġ Pas", + "ĠP as", + "ĠPa s", + "\" )->", + "\") ->", + ". convert", + ".con vert", + ".conv ert", + ". resource", + ".re source", + ".res ource", + "Ġ STATUS", + "ĠST ATUS", + "ĠSTAT US", + "ô ng", + "ôn g", + "Ġ Tit", + "ĠT it", + "ĠTi t", + "Ġclass room", + "ĠArch itect", + "ĠK ings", + "ĠKing s", + "ĠKin gs", + "Ġ steady", + "Ġste ady", + "Ġstead y", + "/* !Ċ", + "/*! Ċ", + "Ġ Gene", + "ĠG ene", + "ĠGe ne", + "ĠGen e", + ") \";Ċ", + ")\" ;Ċ", + "i cia", + "ic ia", + "ici a", + "s tan", + "st an", + "sta n", + "Ġ Construction", + "ĠCon struction", + "ĠConstruct ion", + "ĠConstr uction", + "um per", + "ump er", + "9 51", + "95 1", + "w c", + "Ġ CBS", + "ĠC BS", + "ĠCB S", + "in ging", + "ing ing", + "- party", + "-p arty", + "-part y", + "-par ty", + "( driver", + "(d river", + "(dr iver", + "M ARK", + "MA RK", + "MAR K", + "0 82", + "08 2", + "Ġ nested", + "Ġn ested", + "Ġne sted", + "Ġnest ed", + "Ġneste d", + "Ġnes ted", + "e ward", + "ew ard", + "Ġ dependency", + "Ġd ependency", + "Ġdep endency", + "Ġdepend ency", + "Ġm ales", + "Ġma les", + "Ġmale s", + "Ġmal es", + "9 28", + "92 8", + "Ġ ONE", + "ĠO NE", + "ĠON E", + "Ġ Production", + "ĠP roduction", + "ĠPro duction", + "ĠProduct ion", + "ĠProdu ction", + "ĠProd uction", + "] [$", + "][ $", + "ãĥ¼ ãĥ", + "_ LOAD", + "_L OAD", + "_LO AD", + "ĠB ol", + "ĠBo l", + "el ry", + "8 31", + "83 1", + "ł éϤ", + "Ġ Require", + "ĠRe quire", + "ĠReq uire", + "Ġ placing", + "Ġpl acing", + "Ġplac ing", + "Ġpla cing", + "x xx", + "xx x", + "C ALE", + "CA LE", + "CAL E", + "Ġ thumb", + "Ġth umb", + "Ġthu mb", + "8 24", + "82 4", + "Ch oose", + "Cho ose", + "Ġ prototype", + "Ġprot otype", + "Ġproto type", + "V OID", + "VO ID", + "Ġles bian", + "Ġlesb ian", + "Ġlesbi an", + "7 41", + "74 1", + "Ġ traits", + "Ġt raits", + "Ġtr aits", + "Ġtra its", + "Ġtrait s", + "Ġtrai ts", + "Sh arp", + "Shar p", + "Sha rp", + "Ġ consume", + "Ġcon sume", + "Ġcons ume", + "Ġconsum e", + "Tr uth", + "Ġaction Performed", + "Ġ Environmental", + "ĠEnvironment al", + "Ġ Dean", + "ĠD ean", + "ĠDe an", + "Ġ estado", + "Ġest ado", + "Ġesta do", + "Ġestad o", + "s ame", + "sa me", + "sam e", + "Ġ numeric", + "Ġn umeric", + "Ġnum eric", + "Ġnumer ic", + "Ġnu meric", + "Ġtrans it", + "Ġtran sit", + ". Email", + ".E mail", + "- side", + "-s ide", + "_ RUN", + "_R UN", + "ĠV illage", + "ĠVill age", + "ĠVilla ge", + "ĠVil lage", + "_ OPEN", + "_OP EN", + "è ¦", + ". rem", + ".re m", + ".r em", + "- warning", + "-w arning", + "-war ning", + "a nya", + "an ya", + "any a", + "Property Changed", + "Ġ (!_", + "Ġ(! _", + "( check", + "(c heck", + "(ch eck", + "i lia", + "il ia", + "ili a", + "Ġ Soft", + "ĠS oft", + "ĠSo ft", + "ĠSof t", + "st eps", + "ste ps", + "step s", + "ĠMad rid", + "Memory Warning", + "Ġ handlers", + "Ġhand lers", + "Ġhandle rs", + "Ġhandler s", + "Ġexperi encing", + "Ġ inspect", + "Ġin spect", + "Ġins pect", + "Ġinsp ect", + "button s", + "but tons", + "butt ons", + "Receive MemoryWarning", + "ch emy", + "che my", + "chem y", + "L inks", + "Link s", + "Lin ks", + "Ġurl lib", + "Ġur llib", + ".System Colors", + "Ġ Eigen", + "ĠE igen", + "ĠEig en", + "Ġpun ishment", + "Ġpunish ment", + ":UI Control", + "b ara", + "bar a", + "ba ra", + "- set", + "-s et", + "-se t", + "Ġ }čĊčĊčĊ", + "Ġ} čĊčĊčĊ", + "Ġ}čĊ čĊčĊ", + "Ġ}čĊčĊ čĊ", + "Ġt olerance", + "Ġtoler ance", + "Ġ interfaces", + "Ġinter faces", + "Ġinterface s", + "Ġinterf aces", + ". redirect", + ".re direct", + ".red irect", + "ighb ors", + "ighbor s", + "cs rf", + "csr f", + "_ background", + "_back ground", + ". Utils", + ".Util s", + "_ HT", + "_H T", + "6 92", + "69 2", + "Ġ Interest", + "ĠInter est", + "i mos", + "im os", + "imo s", + "Ġgr ants", + "Ġgrant s", + "Ġgran ts", + "Ġgra nts", + "0 83", + "08 3", + "Ġexam ined", + "Ġexamine d", + "Ð Ķ", + "Ġ cf", + "Ġc f", + "f orge", + "for ge", + "forg e", + "b acks", + "back s", + "ba cks", + "bac ks", + "Ġ Objects", + "ĠObject s", + "ĠObj ects", + "_ sent", + "_s ent", + "_se nt", + ". entry", + ".en try", + ".ent ry", + "Ġ THEN", + "ĠT HEN", + "ĠTHE N", + "ĠTH EN", + "ell ido", + "elli do", + "c ia", + "ci a", + ", res", + ",r es", + ",re s", + "6 59", + "65 9", + "6 81", + "68 1", + "/st dc", + "/std c", + ". nd", + ".n d", + "( Int", + "(I nt", + "(In t", + "Ġ Authors", + "ĠAuthor s", + "ĠAuth ors", + "ĠApp CompatActivity", + "' {", + "Ġ medi", + "Ġm edi", + "Ġme di", + "Ġmed i", + "M usic", + "Mu sic", + "Mus ic", + "i gm", + "ig m", + "ce ipt", + "Ġ auss", + "Ġa uss", + "Ġau ss", + "Ġaus s", + "Ġtarget ing", + "Ġtarg eting", + "Ġ Keys", + "ĠKey s", + "ĠKe ys", + "h n", + ": ]Ċ", + ":] Ċ", + "Ġmin eral", + "Ġmine ral", + "Ġminer al", + "à ®", + ". ca", + ".c a", + "7 61", + "76 1", + "o med", + "om ed", + "ome d", + "Ġ sheets", + "Ġs heets", + "Ġshe ets", + "Ġsheet s", + "Ġc amb", + "Ġca mb", + "Ġcam b", + "Ġdead ly", + ". inject", + ".in ject", + "( unit", + "(u nit", + "(un it", + "Ġ Selection", + "ĠS election", + "ĠSe lection", + "ĠSelect ion", + "ĠSel ection", + "ĠSele ction", + ".g ms", + "( connection", + "(con nection", + "(conn ection", + "(connect ion", + "Ġ $(\"", + "Ġ$ (\"", + "Ġ$( \"", + "é mon", + "ém on", + "Ġ Currently", + "ĠCurrent ly", + "p te", + "pt e", + "_ paths", + "_p aths", + "_path s", + "_pa ths", + "_pat hs", + "8 47", + "84 7", + "le af", + "lea f", + "Ġimp lications", + "Ġimpl ications", + "Ġimplication s", + "Ġimplic ations", + "p osal", + "pos al", + "po sal", + "ä½ į", + "[ /", + "a ncia", + "an cia", + "anc ia", + "é Ľ", + "m ul", + "mu l", + "c ie", + "ci e", + "Ġge ile", + "Ġgeil e", + "6 79", + "67 9", + "im als", + "imal s", + "ima ls", + "UI View", + "Ġs urre", + "Ġsur re", + "s erialize", + "serial ize", + "I SO", + "IS O", + "Ġar bitrary", + "Ġarbit rary", + "Ġarbitr ary", + "Ġsock addr", + ". fn", + ".f n", + "Ġ Merc", + "ĠM erc", + "ĠMe rc", + "ĠMer c", + "Ġ casting", + "Ġc asting", + "Ġcas ting", + "Ġcast ing", + "Key Down", + "Ġ newValue", + "Ġnew Value", + "ĠnewVal ue", + "op ens", + "open s", + "ope ns", + "7 17", + "71 7", + "T odo", + "To do", + "Ġflex ibility", + "ĉ ĉĉĉĠĠ", + "ĉĉ ĉĉĠĠ", + "ĉĉĉĉ ĠĠ", + "ĉĉĉ ĉĠĠ", + "ĉĉĉĉĠ Ġ", + "V elocity", + "Vel ocity", + "ú n", + "r owing", + "ro wing", + "row ing", + "Ġ computed", + "Ġcom puted", + "Ġcomp uted", + "Ġcomput ed", + "Ġcompute d", + "` )Ċ", + "`) Ċ", + "st atement", + "state ment", + "stat ement", + "sta tement", + "Ġ ri", + "Ġr i", + "_ cart", + "_c art", + "_car t", + "_ca rt", + "L ow", + "Lo w", + "trans fer", + ". nav", + ".n av", + "Ġ grave", + "Ġgr ave", + "Ġgra ve", + "Ġgrav e", + "Ġ Door", + "ĠD oor", + "ĠDo or", + "ĉ alert", + "ĉal ert", + "6 91", + "69 1", + "6 98", + "69 8", + ". subscribe", + ".sub scribe", + "- profile", + "-pro file", + "-pr ofile", + "-prof ile", + "ĉ base", + "ĉb ase", + "Ġ âĪĴ", + "ĠâĪ Ĵ", + "_ _ĊĊ", + "__ ĊĊ", + "__Ċ Ċ", + "Ġengine ers", + "Ġengineer s", + "Ġexp losion", + "Ġexplos ion", + "Ġd ari", + "Ġda ri", + "Ġdar i", + "6 82", + "68 2", + "ĉ Log", + "ĉL og", + "o nal", + "on al", + "ona l", + "Ġis olated", + "Ġisol ated", + "Ġiso lated", + "Ġisolate d", + "{ i", + "Ġ Msg", + "ĠM sg", + "ĠMs g", + "F uture", + "Fu ture", + "Ġr acist", + "Ġrac ist", + "- wrap", + "-w rap", + "Ġ Vers", + "ĠV ers", + "ĠVer s", + "ĠVe rs", + "b org", + "bo rg", + "bor g", + "I SION", + "IS ION", + "Ġ ÑĢаÐ", + "ĠÑĢ Ð°Ð", + "ĠÑĢа Ð", + "ĠY an", + "ĠYa n", + "8 36", + "83 6", + "init With", + "Ġn omin", + "Ġno min", + "Ġnom in", + "( empty", + "(em pty", + "(emp ty", + "ÃŃ n", + "ã Ĥ¤", + "ãĤ ¤", + "ĉ width", + "ĉw idth", + "Ġch amber", + "Ġcham ber", + "/ ajax", + "/a jax", + "E MP", + "EM P", + "0 93", + "09 3", + "Ġne ces", + "Ġnec es", + "i vos", + "iv os", + "ivo s", + "log ic", + "* )&", + "*) &", + "cri pts", + "cript s", + "9 76", + "97 6", + "Row At", + "0 53", + "05 3", + "i blings", + "ib lings", + "ibling s", + "Ġ ears", + "Ġe ars", + "Ġear s", + "Ġea rs", + "Ġcomp uting", + "Ġcomput ing", + "Ġ maker", + "Ġm aker", + "Ġmake r", + "Ġma ker", + "Ġmak er", + "Ġ Neither", + "ĠN either", + "ĠNe ither", + "b readcrumb", + "Ġ serialize", + "Ġs erialize", + "Ġserial ize", + "Ġ Within", + "ĠWith in", + "ĠWi thin", + "ĠWit hin", + "Ġd ell", + "Ġde ll", + "Ġdel l", + "_ TRACE", + "_TR ACE", + "_TRA CE", + "0 92", + "09 2", + "= a", + "Ġw ishes", + "Ġwish es", + "Ġwis hes", + "- inch", + "-in ch", + "-inc h", + "ĠD or", + "ĠDo r", + "Ġinnoc ent", + "ĠD ol", + "ĠDo l", + "Ġint ens", + "Ġinte ns", + "for ced", + "force d", + "forc ed", + "0 54", + "05 4", + "Ġ BIT", + "ĠB IT", + "ĠBI T", + "Ġphot ographs", + "Ġphoto graphs", + "Ġphotograph s", + "Ġc asa", + "Ġca sa", + "Ġcas a", + "Ġ Len", + "ĠL en", + "ĠLe n", + "\\ Framework", + "\\F ramework", + ". Simple", + ".S imple", + "Ġd ear", + "Ġde ar", + "8 95", + "89 5", + ") /(", + ")/ (", + "ip pi", + "ipp i", + "Ġ owns", + "Ġown s", + "Ġow ns", + "P layers", + "Pl ayers", + "Player s", + "Play ers", + "Ġprop osals", + "Ġpropos als", + "Ġproposal s", + ". pi", + ".p i", + "us alem", + "usa lem", + "usal em", + "D amage", + "Da mage", + "Dam age", + "Ġcal ories", + "Ġcalorie s", + "Ġcalor ies", + "Ġ Creative", + "ĠC reative", + "ĠCre ative", + "ĠCreat ive", + "Ġ [$", + "Ġ[ $", + "Ġ //čĊ", + "Ġ// čĊ", + "Ġ/ /čĊ", + "7 86", + "78 6", + "And View", + "è me", + "èm e", + ". custom", + ".c ustom", + "_ factory", + "_f actory", + "_factor y", + "_fact ory", + "comm ands", + "command s", + "comma nds", + "_ look", + "_l ook", + "_lo ok", + "Ġ strcmp", + "Ġstr cmp", + "Y N", + "a ired", + "air ed", + "ai red", + "aire d", + "Ġ audit", + "Ġa udit", + "Ġaud it", + "Ġau dit", + "Ġaudi t", + "о ÑģÑĤ", + "оÑģ ÑĤ", + "Ġ Reverse", + "ĠRe verse", + "ĠRev erse", + "ĠRever se", + "ropri ate", + "e tics", + "et ics", + "etic s", + "eti cs", + "< vector", + "';Ċ", + "\"> ';Ċ", + "\">' ;Ċ", + "Ġpe pper", + "Ġpepp er", + "Ġpep per", + "9 89", + "98 9", + "Ġ shed", + "Ġs hed", + "Ġsh ed", + "Ġshe d", + "Ġ Medium", + "ĠM edium", + "ĠMed ium", + "ĠMedi um", + "Ġ Cookie", + "ĠC ookie", + "ĠCo okie", + "ĠCook ie", + "8 89", + "88 9", + "Ġoverse as", + "ed or", + "edo r", + "as urement", + "asure ment", + "asu rement", + "7 66", + "76 6", + "åŃ ĺ", + "Ġ' .'", + "Ġ'. '", + "Ġ php", + "Ġp hp", + "Ġph p", + "Ġ PROC", + "ĠP ROC", + "ĠPRO C", + "ĠPR OC", + "Ġexcept ional", + "Ġexception al", + "( th", + "(t h", + "Ġ Jet", + "ĠJ et", + "ĠJe t", + "Ġ occupied", + "Ġoccup ied", + ". setImage", + ".set Image", + "Ġ Related", + "ĠRe lated", + "ĠRel ated", + "u cker", + "uc ker", + "uck er", + "M embers", + "Member s", + "Mem bers", + "PR INT", + "PRI NT", + "ĠG lo", + "ĠGl o", + "_ VIEW", + "_V IEW", + "} \",Ċ", + "}\", Ċ", + "}\" ,Ċ", + "Ġad option", + "Ġadopt ion", + "Ġado ption", + "[ ])Ċ", + "[] )Ċ", + "[]) Ċ", + "8 42", + "84 2", + "ĠMiss ouri", + "ĠLin coln", + "er ald", + "era ld", + "eral d", + "P opup", + "Pop up", + "Ġf ate", + "Ġfa te", + "Ġfat e", + "- bootstrap", + "-boot strap", + "f ections", + "fe ctions", + "fect ions", + "fection s", + "Ġ Poll", + "ĠP oll", + "ĠPol l", + "ĠPo ll", + "_ ARGS", + "_ARG S", + "_AR GS", + "in ance", + "ina nce", + "inan ce", + "6 97", + "69 7", + "- home", + "-h ome", + ". ),", + ".) ,", + "_ done", + "_d one", + "_do ne", + "_don e", + "6 94", + "69 4", + ": ĊĊĊ", + ":Ċ ĊĊ", + ":ĊĊ Ċ", + "Ġdiscuss ing", + "Ġ SQLException", + "ĠSQL Exception", + "Ġelect ro", + "Ġelectr o", + "ĉ req", + "ĉr eq", + "ĉre q", + "Ġ zw", + "Ġz w", + "8 86", + "88 6", + "Ġl ui", + "Ġlu i", + "9 32", + "93 2", + "Ġover night", + "$ user", + "Ġ WAY", + "ĠW AY", + "ĠWA Y", + "Ġall erg", + "Ġalle rg", + "Ġaller g", + "Ġdis appointed", + "Ġdisappoint ed", + "Ġrad iation", + "Ġradi ation", + "Ġim pressed", + "Ġimp ressed", + "Ġimpress ed", + "Ġimpr essed", + "Ġimpres sed", + "if icates", + "ific ates", + "ificate s", + "ifica tes", + "Ġt ob", + "Ġto b", + "CL ASS", + "CLA SS", + "Ġ cuda", + "Ġc uda", + "Ġcu da", + "Ġcud a", + "_ det", + "_d et", + "_de t", + "- post", + "-p ost", + "-pos t", + "-po st", + "u lu", + "ul u", + "Trans lation", + "- hand", + "-h and", + ". year", + ".y ear", + "Ġ Mongo", + "ĠM ongo", + "ĠMon go", + "ĠMo ngo", + "ĠMong o", + "Ġun clear", + "Ġunc lear", + "Ġuncle ar", + ". engine", + ".e ngine", + ".eng ine", + "WEB PACK", + "r ices", + "ri ces", + "ric es", + "rice s", + "_ ACCESS", + "_AC CESS", + "_ACC ESS", + "Ġh olidays", + "Ġholiday s", + "per cent", + "perc ent", + ". Identity", + ".Id entity", + "Ġ Gov", + "ĠG ov", + "ĠGo v", + "Ġpass ionate", + "Ġpassion ate", + "! !.", + "!! .", + "ĠG reece", + "ĠGre ece", + "ĠGree ce", + "plus plus", + "' ));", + "') );", + "')) ;", + "G P", + "Ġex cit", + "Ġexc it", + ".tab Page", + "_ cond", + "_c ond", + "_con d", + "_co nd", + "Ġ sponsor", + "Ġs ponsor", + "Ġspons or", + "M ODULE", + "MOD ULE", + "_ proc", + "_p roc", + "_pro c", + "_pr oc", + "Ġ $Ċ", + "Ġ$ Ċ", + "Ġr ational", + "Ġrat ional", + "Ġratio nal", + "Ġration al", + ". Tool", + ".T ool", + ".To ol", + "Ġi hr", + "Ġih r", + "c ca", + "cc a", + "åĵ ģ", + "ĠE state", + "ĠEst ate", + "ĠEsta te", + "IB UTE", + "IBUT E", + "Action Performed", + "Ġ Solar", + "ĠS olar", + "ĠSo lar", + "ĠSol ar", + "¦ Ĥ", + "Ġequ ity", + "Ġeq uity", + "t id", + "ti d", + "9 38", + "93 8", + "Ġre cip", + "Ġrec ip", + ". simple", + ".s imple", + ".sim ple", + "m k", + "6 89", + "68 9", + "Ġ Luke", + "ĠL uke", + "ĠLu ke", + "ĠLuk e", + "ĠGuard ian", + "Ġ encrypted", + "Ġenc rypted", + "Ġencrypt ed", + "Ġdom inant", + "Ġdomin ant", + "Ġdomina nt", + ". place", + ".p lace", + ".pl ace", + "Ġ NV", + "ĠN V", + "8 39", + "83 9", + "Ġton gue", + "Ġtong ue", + "( Get", + "(G et", + "Ġst ainless", + "Ġstain less", + ". Play", + ".P lay", + ".Pl ay", + "Ġ eb", + "Ġe b", + "a ci", + "ac i", + ". buffer", + ".b uffer", + ".buf fer", + "readcr umbs", + "readcrumb s", + "Ġv accine", + "Ġvacc ine", + "p rom", + "pr om", + "pro m", + "9 79", + "97 9", + "Ġ userInfo", + "Ġuser Info", + "Ġ slug", + "Ġs lug", + "Ġsl ug", + "Ġslu g", + "Serial izedName", + "Serialized Name", + "- wide", + "-w ide", + "Ġre actions", + "Ġreaction s", + "Ġreact ions", + "Ġ Yang", + "ĠY ang", + "ĠYan g", + "ĠYa ng", + "Ġ Adds", + "ĠA dds", + "ĠAd ds", + "ĠAdd s", + "( userId", + "(user Id", + "Ġ plates", + "Ġp lates", + "Ġpl ates", + "Ġplate s", + "Ġpla tes", + "Ġplat es", + "Ġ MEM", + "ĠM EM", + "ĠME M", + "Ġb ail", + "Ġba il", + "In side", + "Ins ide", + "e ted", + "et ed", + "ete d", + "Ġ elsif", + "Ġels if", + "Ġs ake", + "Ġsa ke", + "Ġsak e", + "Ġ cycles", + "Ġc ycles", + "Ġcy cles", + "Ġcycle s", + "Ġcycl es", + "Ġcyc les", + "Ġ ìĹ", + "Ġì Ĺ", + "ĉ I", + "- collapse", + "-c ollapse", + "8 41", + "84 1", + "Ġ GMT", + "ĠG MT", + "ĠGM T", + "8 14", + "81 4", + "De claration", + "Ġg ros", + "Ġgr os", + "Ġgro s", + "Ġre aches", + "Ġreach es", + "Ġcust ody", + "Un til", + "Unt il", + "7 53", + "75 3", + "8 56", + "85 6", + "t u", + "ĠC hen", + "ĠCh en", + "ĠChe n", + "Ġ nx", + "Ġn x", + "( addr", + "(add r", + "(ad dr", + "Ġ Offer", + "ĠO ffer", + "ĠOff er", + "ĠOf fer", + "Ġcol leg", + "Ġcoll eg", + "Ġcolle g", + "ass ador", + "6 74", + "67 4", + "Ġ mapper", + "Ġm apper", + "Ġmap per", + "Ġma pper", + "8 54", + "85 4", + "ĠS IGNAL", + "ĠSIG NAL", + "ĠSIGN AL", + "ĠB loom", + "ĠBl oom", + "ĠBlo om", + "ĠH oll", + "ĠHol l", + "ĠHo ll", + "ĠIm per", + "ĠImp er", + "- des", + "-d es", + "-de s", + "_ site", + "_s ite", + "_si te", + "P roc", + "Pro c", + "Pr oc", + "E qu", + "Eq u", + "Ġ atomic", + "Ġat omic", + "Ġatom ic", + "Ġ Woman", + "ĠW oman", + "ĠWo man", + "s ent", + "se nt", + "sen t", + "7 38", + "73 8", + "8 17", + "81 7", + "s car", + "sc ar", + "Ġint elligent", + "Ġintellig ent", + "Ġ Getting", + "ĠG etting", + "ĠGet ting", + "Ġ Registration", + "ĠReg istration", + "ĠRegistr ation", + "Ġ Phill", + "ĠP hill", + "ĠPh ill", + "ĠPhil l", + "ĠPhi ll", + "Ġ killer", + "Ġk iller", + "Ġkill er", + "Ġkil ler", + "Ġki ller", + "un icode", + "unic ode", + "uni code", + "Ċ ĉĉĊ", + "Ġ Jacob", + "ĠJ acob", + "ĠJac ob", + "ĠJa cob", + "Ġ Const", + "ĠCon st", + "ĠCo nst", + "ĠCons t", + "Ġ locate", + "Ġl ocate", + "Ġlo cate", + "Ġloc ate", + "Ġc aus", + "Ġca us", + "7 49", + "74 9", + "ĠSch olar", + "ĠScho lar", + "Ġ constitutional", + "Ġconstitution al", + "Ġin flation", + "Ġinf lation", + "Ġinfl ation", + "Ġ Got", + "ĠG ot", + "ĠGo t", + "= array", + "=a rray", + "en dum", + "end um", + "Ġ translated", + "Ġtrans lated", + "Ġtransl ated", + "Ġtranslate d", + "Ġdiv orce", + "Ġdivor ce", + "En tries", + "Ent ries", + "Entr ies", + "Ġs or", + "Ġso r", + "Ġ Quote", + "ĠQu ote", + "ir lines", + "irl ines", + "U K", + "Ġ excel", + "Ġex cel", + "Ġexc el", + "Ġexce l", + "( opt", + "(o pt", + "(op t", + "Ġ ADV", + "ĠA DV", + "ĠAD V", + ", :,", + ",: ,", + "Ġcont acted", + "Ġcontact ed", + "7 42", + "74 2", + "Ġ DA", + "ĠD A", + "Ġr ings", + "Ġring s", + "Ġrin gs", + "Ġ Industrial", + "ĠInd ustrial", + "ĠIndust rial", + ". getContext", + ".get Context", + "Ġforg otten", + "Ġforgot ten", + "Ġ Tan", + "ĠT an", + "ĠTa n", + "Ġ pants", + "Ġp ants", + "Ġpa nts", + "Ġpan ts", + "Ġpant s", + "Ġ ov", + "Ġo v", + "Ġ decoder", + "Ġde coder", + "Ġdec oder", + "Ġdecode r", + "Ġdeco der", + "Ġ Partial", + "ĠP artial", + "ĠPart ial", + "ĠParti al", + "Ġ vc", + "Ġv c", + "Ġb attles", + "Ġbattle s", + "Ġbatt les", + "A rial", + "Ar ial", + "FRING EMENT", + "i rates", + "ir ates", + "ira tes", + "irate s", + ", w", + "aint enance", + "Ġ Od", + "ĠO d", + "ĠTechn ologies", + "åī į", + "ĠC arter", + "ĠCar ter", + "ĠCart er", + ". findAll", + ".find All", + "N ome", + "No me", + "Nom e", + "B en", + "Be n", + "Ġ Usage", + "ĠU sage", + "ĠUs age", + "ĠUsa ge", + "Ġ Picture", + "ĠP icture", + "ĠPic ture", + "Ġbad ly", + "_ panel", + "_p anel", + "_pa nel", + "_pan el", + "Ġpat ent", + "Ġpa tent", + "Ġ Protocol", + "ĠProt ocol", + "ĠProto col", + "l otte", + "lo tte", + "lot te", + "ĉ player", + "ĉp layer", + "ĉpl ayer", + "ĉplay er", + "j ections", + "ject ions", + "je ctions", + "jection s", + "7 46", + "74 6", + "Ġ dou", + "Ġd ou", + "Ġdo u", + "_ release", + "_re lease", + "_r elease", + "_rel ease", + "urn iture", + "_ tax", + "_t ax", + "_ta x", + "Ġ Fields", + "ĠF ields", + "ĠField s", + ". dataset", + ".d ataset", + ".data set", + ".dat aset", + ".datas et", + "_ master", + "_m aster", + "_ma ster", + "_mas ter", + "CLUD E", + "CLU DE", + "ĠPh arm", + "ĠPhar m", + "b st", + "bs t", + "Ġoper ational", + "Ġoperation al", + ". cell", + ".c ell", + ".ce ll", + "Ġident ifying", + "Ġidentify ing", + "Ġ jwt", + "Ġj wt", + "t uple", + "tu ple", + "Ġ TC", + "ĠT C", + "Ġ Cro", + "ĠC ro", + "ĠCr o", + "9 36", + "93 6", + "ix map", + "- components", + "-com ponents", + "-component s", + "-comp onents", + "g eneral", + "gen eral", + "gener al", + "gene ral", + "Ġ oz", + "Ġo z", + "_ De", + "_D e", + "_ double", + "_d ouble", + "_do uble", + "Ġ Too", + "ĠT oo", + "ĠTo o", + "0 88", + "08 8", + ".View Group", + "8 79", + "87 9", + "g ate", + "ga te", + "d ings", + "ding s", + "din gs", + "ph otos", + "photo s", + "phot os", + "Ġgr ande", + "Ġgrand e", + "Ġgran de", + "Ġgra nde", + "ol lect", + "oll ect", + "olle ct", + "_ lin", + "_l in", + "_li n", + "Ġaw ful", + "f ilters", + "filter s", + "fil ters", + "filt ers", + "Ġ alternate", + "Ġaltern ate", + "e sp", + "es p", + "Ġ compress", + "Ġcom press", + "Ġcomp ress", + "Ġcompr ess", + "e o", + "Ġ Scale", + "ĠS cale", + "ĠSc ale", + "ĠScal e", + "Ġin direct", + "Ġind irect", + "Ġindir ect", + "Ġ invoice", + "Ġin voice", + "Ġinv oice", + "Ġinvo ice", + "ĊĊ ĊĊĊĊĊĊĊĊĊĊĊĊĊĊ", + "ĊĊĊĊ ĊĊĊĊĊĊĊĊĊĊĊĊ", + "ĊĊĊĊĊĊ ĊĊĊĊĊĊĊĊĊĊ", + "ĊĊĊĊĊĊĊĊ ĊĊĊĊĊĊĊĊ", + "ĊĊĊĊĊ ĊĊĊĊĊĊĊĊĊĊĊ", + "ĊĊĊĊĊĊĊĊĊĊ ĊĊĊĊĊĊ", + "ĊĊĊĊĊĊĊ ĊĊĊĊĊĊĊĊĊ", + "ĊĊĊĊĊĊĊĊĊĊĊĊ ĊĊĊĊ", + "ĊĊĊĊĊĊĊĊĊ ĊĊĊĊĊĊĊ", + "ĊĊĊĊĊĊĊĊĊĊĊĊĊĊ ĊĊ", + "ĊĊĊĊĊĊĊĊĊĊĊ ĊĊĊĊĊ", + "Start ing", + "Star ting", + "Ġ Players", + "ĠP layers", + "ĠPl ayers", + "ĠPlay ers", + "ĠPlayer s", + "ĠPla yers", + "i ele", + "ie le", + "iel e", + ". then", + ".t hen", + ".th en", + ".the n", + "9 81", + "98 1", + "O rd", + "Or d", + "Ġ Tuple", + "ĠT uple", + "ĠTu ple", + "ĠTup le", + "Ġ bout", + "Ġb out", + "Ġbo ut", + "Ġbou t", + "Ġ Statistics", + "ĠStat istics", + "P review", + "Pr eview", + "Pre view", + "Prev iew", + "Ġp uzzle", + "Ġpu zzle", + "Ġpuzz le", + "Ġ Width", + "ĠW idth", + "ĠWid th", + "ST ATE", + "STAT E", + "STA TE", + "Ġ overlay", + "Ġover lay", + "Ġoverl ay", + "ĉ on", + "ĉo n", + "Ġin fr", + "Ġinf r", + "Ġsm allest", + "Ġsmall est", + "l ocked", + "lock ed", + "loc ked", + "ÑĤ о", + "s sl", + "ss l", + "7 79", + "77 9", + "Ġde emed", + "Ġdee med", + "Ġdeem ed", + "Ġs co", + "Ġsc o", + "r eck", + "re ck", + "rec k", + "Ġj Button", + "Ġ missions", + "Ġm issions", + "Ġmiss ions", + "Ġmission s", + "8 71", + "87 1", + "ç§ °", + ".Selected Index", + "T ABLE", + "TA BLE", + "TAB LE", + "S ept", + "Se pt", + "Sep t", + "Ġac knowledge", + "Ġack nowledge", + "Ġacknow ledge", + "Ġacknowled ge", + "Ġ strtotime", + "Ġstrt otime", + "Ġ Tell", + "ĠT ell", + "ĠTe ll", + "ĠTel l", + "ĠD ak", + "ĠDa k", + "Ġal uminum", + "Ġf ence", + "Ġfe nce", + "Ġfen ce", + "Ġ Stars", + "ĠSt ars", + "ĠStar s", + "ĠSta rs", + "CON FIG", + "CONF IG", + "Ġr etrofit", + "Ġretro fit", + "Ġ emphasis", + "Ġem phasis", + "Ġemph asis", + "Ġemphas is", + "/ header", + "/head er", + "/he ader", + "Ġ Something", + "ĠS omething", + "ĠSome thing", + "ĠSom ething", + "in ished", + "ini shed", + "inish ed", + "inis hed", + "=' \".$", + "='\" .$", + "='\". $", + "Ġ Validators", + "ĠValid ators", + "ĠValidator s", + "Ġp olar", + "Ġpol ar", + "Ġpo lar", + "s ections", + "se ctions", + "section s", + "sect ions", + "9 44", + "94 4", + ".as px", + ".asp x", + "Ġa spir", + "Ġas pir", + "Ġasp ir", + ". Mock", + ".M ock", + "Code Gen", + "Ġp eut", + "Ġpe ut", + "Ġpeu t", + "9 71", + "97 1", + "Ġaccept ing", + "Ġb acking", + "Ġback ing", + "Ġbac king", + "P icture", + "Pic ture", + "/ ap", + "/a p", + "е г", + "еР³", + "_ SEC", + "_S EC", + "_SE C", + "- use", + "-us e", + "-u se", + "an notation", + "ann otation", + "annot ation", + "Ġc ognitive", + "Ġcogn itive", + "Ġg rip", + "Ġgr ip", + "Ġgri p", + "h our", + "ho ur", + "hou r", + "Ġ Legal", + "ĠL egal", + "ĠLe gal", + "ĠLeg al", + "Ġe pic", + "Ġep ic", + ". toolStrip", + ".t oolStrip", + ".tool Strip", + ". notify", + ".n otify", + ".not ify", + ". Last", + ".L ast", + "OR IZ", + "M iddleware", + "Middle ware", + "cri ptions", + "cript ions", + "cription s", + "l ash", + "la sh", + "las h", + "_ FOUND", + "_F OUND", + "Ġ Liverpool", + "ĠLiver pool", + "Ġ {}\",", + "Ġ{ }\",", + "Ġ{} \",", + "9 31", + "93 1", + "Inst all", + "Ġ nit", + "Ġn it", + "Ġni t", + "Ġfig ured", + "Ġfigure d", + "Ġfigur ed", + "[ len", + "[l en", + ". Win", + ".W in", + ". platform", + ".pl atform", + "8 53", + "85 3", + "Ġgam bling", + "Ġgamb ling", + "( dt", + "(d t", + "a very", + "av ery", + "ave ry", + "aver y", + "ĉ include", + "ĉin clude", + "Wh ether", + "R outing", + "Ro uting", + "Ġth erap", + "Ġthe rap", + "Ġther ap", + "Rem ote", + "Ġ Loss", + "ĠL oss", + "ĠLo ss", + "ĠLos s", + "y ll", + "yl l", + "Ġappro ached", + "Ġapproach ed", + "Ġ Vehicle", + "ĠV ehicle", + "Ġ Alpha", + "ĠAl pha", + "Ġv ocê", + "Ġvoc ê", + "an swers", + "ans wers", + "answer s", + "NS Dictionary", + "9 54", + "95 4", + "cons ider", + "un used", + "unu sed", + "Ġ Fan", + "ĠF an", + "ĠFa n", + "or able", + "ora ble", + "f re", + "fr e", + "8 73", + "87 3", + "ĠDIS CLAIM", + "Ġ Actor", + "ĠA ctor", + "ĠAct or", + "ĠAc tor", + ". ]", + "to Have", + ". userId", + ".user Id", + "Ġspe eds", + "Ġspeed s", + "e way", + "ew ay", + "Ġrec urs", + "Ġrecur s", + "Ġ г", + "ĠÐ ³", + "_ priv", + "_p riv", + "_pr iv", + "_pri v", + "! âĢĿĊĊ", + "!âĢĿ ĊĊ", + "Ch oice", + "Cho ice", + "Ġs ettle", + "Ġset tle", + "Ġsett le", + "Ġ planes", + "Ġpl anes", + "Ġplan es", + "Ġplane s", + "Ġpla nes", + "' },", + "'} ,", + "T om", + "To m", + "I TER", + "IT ER", + "ITE R", + "! \"Ċ", + "!\" Ċ", + "å »", + "ach elor", + "ache lor", + "achel or", + "Ġse paration", + "Ġsepar ation", + "Ġseparat ion", + "Ġ dal", + "Ġd al", + "Ġda l", + "a dj", + "ad j", + "Ġ registers", + "Ġreg isters", + "Ġregister s", + "Ġregist ers", + "r iz", + "ri z", + "Ġ Notice", + "ĠNot ice", + "Ġ lu", + "Ġl u", + "Ġc ourage", + "Ġcour age", + "Ġcou rage", + "Ġ axes", + "Ġa xes", + "Ġax es", + "Ġaxe s", + "cell ent", + ". async", + ".as ync", + ".a sync", + "0 73", + "07 3", + "Ġcom patibility", + "Ġcompat ibility", + "ç «", + "Ġ !ĊĊ", + "Ġ! ĊĊ", + "Ġ!Ċ Ċ", + "ĉ title", + "ĉt itle", + "ĉti tle", + "Y LE", + "YL E", + "ĉ message", + "ĉm essage", + "U UID", + "UU ID", + "OL DER", + "OLD ER", + "Ġ HH", + "ĠH H", + "Ġ StyleSheet", + "ĠStyle Sheet", + "Ġacc essed", + "Ġaccess ed", + "Ġacces sed", + ". validation", + ".valid ation", + "t asks", + "task s", + "tas ks", + "Ġpoll ution", + "Ġpollut ion", + ". canvas", + ".c anvas", + ".can vas", + "Ġ ingredient", + "Ġing redient", + "ĠC abin", + "ĠCa bin", + "ĠCab in", + "A h", + "ol down", + "old own", + "ĠN OI", + "ĠNO I", + "Ġ ÃĹ", + "Ġà Ĺ", + "[ f", + "e duc", + "ed uc", + "edu c", + "y alty", + "yal ty", + "( not", + "(n ot", + "(no t", + "_ State", + "_St ate", + "9 33", + "93 3", + "a men", + "am en", + "ame n", + "7 95", + "79 5", + "7 39", + "73 9", + "Ġ dao", + "Ġd ao", + "Ġda o", + "u dad", + "ud ad", + "uda d", + "el lers", + "ell ers", + "elle rs", + "eller s", + "} &", + "l icity", + "lic ity", + "li city", + "licit y", + "_ WINDOW", + "_W INDOW", + "Ġt atto", + "Ġtat to", + "val or", + "va lor", + ". Range", + ".R ange", + "Ġreference d", + "Ġrefer enced", + "ĠRe serve", + "ĠRes erve", + "M oney", + "Mon ey", + "Mo ney", + "8 74", + "87 4", + "SC RIPT", + "SCRI PT", + "/ product", + "/pro duct", + "cho ices", + "choice s", + "Ġ tin", + "Ġt in", + "Ġti n", + "ãĤ ĵ", + "9 18", + "91 8", + "Ġ separator", + "Ġs eparator", + "Ġse parator", + "Ġsepar ator", + "Ġseparat or", + "Ġ pkg", + "Ġp kg", + "Ġpk g", + "am med", + "amm ed", + "Ġ MAT", + "ĠM AT", + "ĠMA T", + "! !ĊĊ", + "!! ĊĊ", + "!!Ċ Ċ", + "Ġ raid", + "Ġr aid", + "Ġra id", + "Ġmot ivation", + "Ġmotiv ation", + "Ġ XP", + "ĠX P", + "Ġ Background", + "ĠBack ground", + "Ġ Quaternion", + "ĠQu aternion", + ".define Property", + "i ker", + "ik er", + "ike r", + "ĉ parent", + "ĉp arent", + "Ġ Originally", + "ĠOrigin ally", + "ĠOriginal ly", + "ĠOrig inally", + "ant age", + "anta ge", + "ĠH ans", + "ĠHa ns", + "ĠHan s", + "Ġ timeline", + "Ġt imeline", + "Ġtime line", + "Ġtim eline", + ". cur", + ".c ur", + "o pic", + "op ic", + "opi c", + "ĠS equ", + "ĠSe qu", + "ĠSeq u", + "m ust", + "mu st", + "mus t", + "Ġ Coal", + "ĠCo al", + "Ġ formatter", + "Ġfor matter", + "Ġform atter", + "Ġformat ter", + "_ RGB", + "_R GB", + "_RG B", + "Ġ _(\"", + "Ġ_ (\"", + "Ġ_( \"", + "' }),Ċ", + "'} ),Ċ", + "'}) ,Ċ", + "Ġ= ================", + "Ġ== ===============", + "Ġ=== ==============", + "Ġ===== ============", + "Ġ==== =============", + "Ġ========== =======", + "Ġ======= ==========", + "Ġ FUNCTION", + "ĠF UNCTION", + "ĠFUN CTION", + "ĠFUNC TION", + "ĠFUNCT ION", + "Ġ lng", + "Ġl ng", + "Ġln g", + "ic ates", + "ica tes", + "icate s", + "l ive", + "li ve", + "liv e", + "_ engine", + "_e ngine", + "_eng ine", + "Ġt owns", + "Ġtown s", + "Ġtow ns", + "8 68", + "86 8", + "' ))ĊĊ", + "') )ĊĊ", + "')) ĊĊ", + "'))Ċ Ċ", + "Ġ PK", + "ĠP K", + "( api", + "(a pi", + "(ap i", + "ĉ scanf", + "ĉs canf", + "0 89", + "08 9", + "p acket", + "pack et", + "pa cket", + "pac ket", + ". phone", + ".p hone", + ".ph one", + "á Ģ", + "Ġ Andy", + "ĠAn dy", + "ĠAnd y", + "_N AMES", + "_NAME S", + "9 82", + "98 2", + "P LY", + "PL Y", + "9 55", + "95 5", + "Ġ mins", + "Ġm ins", + "Ġmin s", + "Ġmi ns", + "i mi", + "im i", + "Ġ brick", + "Ġb rick", + "Ġbr ick", + "Ġbri ck", + "Ġ blade", + "Ġbl ade", + "Ġbla de", + ". stdout", + ".std out", + "} `;Ċ", + "}` ;Ċ", + "S hift", + "Sh ift", + "ĉ sb", + "ĉs b", + "Ġ Checks", + "ĠCheck s", + "ĠChe cks", + "Ġphenomen on", + "Av atar", + "Ġmin istry", + "Ġmini stry", + "Ġminist ry", + "r ose", + "ro se", + "ros e", + "ĉ File", + "ĉF ile", + "8 78", + "87 8", + "Ġt itled", + "Ġtitle d", + "Ġtit led", + "( LOG", + "(L OG", + "Ġ gan", + "Ġg an", + "Ġga n", + "d esign", + "de sign", + "des ign", + "( ),čĊ", + "() ,čĊ", + "(), čĊ", + "Ġ bones", + "Ġb ones", + "Ġbo nes", + "Ġbon es", + "Ġbone s", + "s tm", + "st m", + "ÅĽ Äĩ", + "Ġ InputStream", + "ĠInput Stream", + "Ġvol unt", + "Ġ Serializable", + "ĠSerial izable", + "Ġ fighter", + "Ġf ighter", + "Ġfight er", + "Ġ Drag", + "ĠD rag", + "ĠDr ag", + "ĠDra g", + "T witter", + "Tw itter", + "Ġsub sid", + "Ġsubs id", + "ç ¼", + "Ġ forums", + "Ġfor ums", + "Ġforum s", + ". loading", + ".load ing", + ".lo ading", + "log ged", + "logg ed", + "_ this", + "_t his", + "_th is", + "Ġ terrain", + "Ġter rain", + "Ġterr ain", + "Ġterra in", + "Ġir re", + "Ġirr e", + "Ġ Ing", + "ĠI ng", + "ĠIn g", + "Ġ CN", + "ĠC N", + "_ objects", + "_object s", + "_obj ects", + ". uid", + ".ui d", + ".u id", + "Ġconscious ness", + "T INGS", + "TING S", + "ĠG all", + "ĠGal l", + "ĠGa ll", + "Ġport ray", + "0 56", + "05 6", + "Ġ Developer", + "ĠDe veloper", + "ĠDevelop er", + "Ġ participant", + "Ġpart icipant", + "Ġparticip ant", + "Ġ \";čĊ", + "Ġ\" ;čĊ", + "Ġ\"; čĊ", + "/ model", + "/m odel", + "/mod el", + "7 94", + "79 4", + "Ġ Operations", + "ĠOper ations", + "ĠOperation s", + "^ \\", + "Ġ Later", + "ĠL ater", + "ĠLa ter", + "ĠLat er", + "ĠLate r", + "Ġ raises", + "Ġr aises", + "Ġraise s", + "Ġrais es", + "Ġra ises", + "- none", + "-n one", + "-no ne", + "-non e", + ". meta", + ".m eta", + ".me ta", + ".met a", + "= '.$", + "=' .$", + "='. $", + "F inished", + "Fin ished", + "Finish ed", + "Ġre placing", + "Ġrepl acing", + "Ġ sampling", + "Ġs ampling", + "Ġsam pling", + "Ġsamp ling", + "ĠJ en", + "ĠJe n", + "\" There", + "\"The re", + "\"T here", + "RE AL", + "REA L", + "A LE", + "AL E", + "ìĬ ¤", + "Or ders", + "Order s", + "Ord ers", + "_ parameter", + "_param eter", + "_para meter", + "ĠOlymp ic", + "Ġtr ès", + "Ġ arena", + "Ġa rena", + "Ġare na", + "Ġar ena", + "Ġaren a", + "i ol", + "io l", + "; ?>", + "Ġimp acts", + "Ġimpact s", + "Ġ WS", + "ĠW S", + ": get", + ":g et", + "Ġf lights", + "Ġfl ights", + "Ġflight s", + "ĠRuss ell", + "ĠRus sell", + "c amera", + "came ra", + "cam era", + "F n", + "s igma", + "sig ma", + "Ġ forcing", + "Ġfor cing", + "Ġforc ing", + "Ġ locals", + "Ġloc als", + "Ġlocal s", + "Ġ departure", + "Ġdepart ure", + "Ġcelebr ation", + "Ġ Say", + "ĠS ay", + "ĠSa y", + "8 84", + "88 4", + "ï¼ Ĵ", + "ĠH ills", + "ĠHill s", + "ĠHil ls", + ".has OwnProperty", + "Ġ typings", + "Ġtyp ings", + "Ġtyping s", + ". API", + ".A PI", + ".AP I", + "Ġd onation", + "Ġdo nation", + "Ġdon ation", + "Operation Exception", + ". Activity", + ".Act ivity", + "c plusplus", + "Ġ Charlie", + "ĠChar lie", + "ĠCharl ie", + "Ġim ported", + "Ġimport ed", + "Ġimp orted", + "Ġd ann", + "Ġda nn", + "Ġdan n", + "Ġocc asions", + "Ġoccas ions", + "Ġoccasion s", + "Ġimplement ing", + "Ġ purple", + "Ġp urple", + "Ġpur ple", + ". dialog", + ".d ialog", + ".di alog", + "SQL Exception", + "er no", + "ern o", + "Ġw ars", + "Ġwar s", + "Ġwa rs", + "Ġ paste", + "Ġp aste", + "Ġpast e", + "Ġpas te", + "Ġpa ste", + "Ġdecre ased", + "Ġdecrease d", + "Ġhar sh", + "Ġel abor", + "Ġela bor", + "in puts", + "input s", + "inp uts", + "Ġ Views", + "ĠView s", + "ĠVi ews", + "ĠVie ws", + "Ġ errorMessage", + "Ġerror Message", + "_ mul", + "_m ul", + "_mu l", + "ĉ write", + "ĉw rite", + "Ġ Cop", + "ĠC op", + "ĠCo p", + "Ġ Annual", + "ĠAnn ual", + "( button", + "(b utton", + "Ġ vida", + "Ġv ida", + "Ġvi da", + "Ġvid a", + "b ars", + "bar s", + "ba rs", + "ĠHar vard", + "ĉ expect", + "ĉex pect", + "ĉexp ect", + "Ġ indexes", + "Ġindex es", + "Ġinde xes", + "Ġdocument ary", + "Ġf lesh", + "Ġfl esh", + "Ġfle sh", + "OR LD", + "Ġ Delta", + "ĠD elta", + "ĠDel ta", + "M AND", + "MA ND", + "MAN D", + "B rush", + "Br ush", + "Bru sh", + "- column", + "-c olumn", + "-col umn", + "Ġdevelop ments", + "Ġdevelopment s", + "9 74", + "97 4", + "7 83", + "78 3", + "method Visitor", + "s lice", + "sl ice", + "Ġ PDO", + "ĠP DO", + "ĠPD O", + "Ġinv esting", + "Ġinvest ing", + "8 67", + "86 7", + "ir able", + "ira ble", + "Ġ xmlns", + "Ġxml ns", + "ï¼ Ľ", + "ar ta", + "art a", + "Ġthe ories", + "Ġtheor ies", + "Ġtheo ries", + "_ city", + "_c ity", + "_ci ty", + "Ġ $__", + "Ġ$ __", + "Ġ$_ _", + "C reating", + "Cre ating", + "Cr eating", + "Creat ing", + "( pr", + "(p r", + "D ropdown", + "Drop down", + "is match", + "ism atch", + "Ġ NET", + "ĠN ET", + "ĠNE T", + "9 26", + "92 6", + "' ])){Ċ", + "'] )){Ċ", + "']) ){Ċ", + "'])) {Ċ", + "'])){ Ċ", + "Ġ Values", + "ĠVal ues", + "ĠValue s", + "Ġ SEO", + "ĠS EO", + "ĠSE O", + "Ġ STAT", + "ĠST AT", + "ĠSTA T", + "Ġe cosystem", + "Ġeco system", + "Ġ tempt", + "Ġt empt", + "Ġtem pt", + "Ġtemp t", + "Ġ \\\\", + "Ġ\\ \\", + "Ġ //{Ċ", + "Ġ// {Ċ", + "Ġ//{ Ċ", + "Ġ Christopher", + "ĠChrist opher", + "ĠChristoph er", + "ĠKent ucky", + "ĠHttp ServletResponse", + "ĠHttpServlet Response", + "Ġh ybrid", + "Ġhy brid", + "y on", + "yo n", + "Ġ feeding", + "Ġfe eding", + "Ġfeed ing", + "Ġfee ding", + "Ġ Extra", + "ĠEx tra", + "ĠExt ra", + "ĠExtr a", + "N orm", + "No rm", + "Nor m", + "IT CH", + "Ġ Sean", + "ĠS ean", + "ĠSe an", + "ĠSea n", + "Ġ Upload", + "ĠUp load", + "m un", + "mu n", + "p ur", + "pu r", + "Ġ persistent", + "Ġp ersistent", + "Ġpers istent", + "Ġpersist ent", + "ĠI DC", + "ĠID C", + "Ġ Perform", + "ĠPer form", + "ĠPerf orm", + "8 63", + "86 3", + ". merge", + ".m erge", + "_ room", + "_r oom", + "_ro om", + "Mean while", + "! ='", + "!= '", + "Ġ Wel", + "ĠW el", + "ĠWe l", + "Args Constructor", + "8 87", + "88 7", + ". Database", + ".D atabase", + ".Data base", + "Ġco unting", + "Ġcount ing", + "Ġcoun ting", + "( )*", + "() *", + "Ķ åĽŀ", + "Ġ TOP", + "ĠT OP", + "ĠTO P", + "m ill", + "mi ll", + "mil l", + "Ġ DT", + "ĠD T", + "IGN ED", + "9 56", + "95 6", + "Ġ KB", + "ĠK B", + "Ġcom ply", + "Ġcomp ly", + "Ġcompl y", + "S outh", + "So uth", + "Sou th", + "_ collection", + "_c ollection", + "_col lection", + "_coll ection", + "_collect ion", + "Ch apter", + "Cha pter", + "Ġexpl aining", + "Ġexplain ing", + "_ AM", + "_A M", + "_ ts", + "_t s", + "c ards", + "card s", + "car ds", + "Ġ quel", + "Ġqu el", + "Ġque l", + "Ġq uel", + "Ġ pole", + "Ġp ole", + "Ġpol e", + "Ġpo le", + "Ġtouch down", + "Ġ Others", + "ĠO thers", + "ĠOther s", + "Ġpe ers", + "Ġpeer s", + "Ġpee rs", + "Ġ TypeError", + "ĠType Error", + "7 63", + "76 3", + "Ġsix th", + "Ġch eer", + "Ġche er", + "Ġdis pute", + "Ġdisp ute", + "Ġdisput e", + "9 63", + "96 3", + "8 93", + "89 3", + "u sc", + "us c", + ") ],", + ")] ,", + "th umb", + "Ġh iding", + "Ġhi ding", + "Ġhid ing", + "Ġ SIG", + "ĠS IG", + "ĠSI G", + "l ikes", + "li kes", + "like s", + "lik es", + "Ġ PAGE", + "ĠP AGE", + "ĠPA GE", + ". Reflection", + ".Ref lection", + "Ġhead quarters", + "T ING", + "TI NG", + "Ġ Ghost", + "ĠG host", + "ĠGh ost", + "M LE", + "ML E", + "$ Ċ", + "Ġcont rary", + "Ġcontr ary", + "Ġcontra ry", + "ext end", + "' ]).", + "'] ).", + "']) .", + "FF ECT", + "FFE CT", + "Ġ Pinterest", + "ĠP interest", + "úmer o", + "ric ane", + "rica ne", + "ĉ session", + "ĉs ession", + "Ġcr ystal", + "Ġcry stal", + "Ġcryst al", + "- Control", + "-C ontrol", + "overn ment", + "o graf", + "og raf", + "ogr af", + "ogra f", + "9 61", + "96 1", + "- action", + "-a ction", + "-ac tion", + "v olume", + "vol ume", + "f ten", + "ft en", + "fte n", + "Ġun con", + "Ġunc on", + "Ġ animate", + "Ġan imate", + "Ġanim ate", + "Ġani mate", + "Ġ lease", + "Ġl ease", + "Ġle ase", + "s cr", + "sc r", + "Ġre fuse", + "Ġref use", + "ãĢ ĭ", + "f tp", + "ft p", + "in formation", + "inform ation", + "Ġeval uated", + "Ġevaluate d", + "Ġevalu ated", + "Ġin jection", + "Ġinj ection", + "Ġinject ion", + "Ġ jack", + "Ġj ack", + "Ġja ck", + "Ġjac k", + "Ġwork shop", + "Ġworks hop", + "æ³ ¨", + "P TH", + "PT H", + "Ġ Ts", + "ĠT s", + "o ffer", + "of fer", + "off er", + "ĉ os", + "ĉo s", + "Ġking dom", + "M issing", + "Miss ing", + "Mis sing", + "Ġlaw makers", + "Ġlawmaker s", + "ext Field", + "Ġs inging", + "Ġsin ging", + "Ġsing ing", + "a bi", + "ab i", + "/ client", + "/c lient", + "/cl ient", + "/cli ent", + ". media", + ".m edia", + ".me dia", + ".med ia", + "ATEG ORY", + "Sign ature", + "Sig nature", + "% ',Ċ", + "%' ,Ċ", + "%', Ċ", + "Ġ Fuck", + "ĠF uck", + "ĠFu ck", + "] [:", + "][ :", + "Ġs ensors", + "Ġsens ors", + "Ġsensor s", + "/ com", + "/c om", + "/co m", + "Ġ Primary", + "ĠPr imary", + "ĠPri mary", + "ĠPrim ary", + ". SQL", + ".S QL", + "_ program", + "_p rogram", + "_pro gram", + "_pr ogram", + "_prog ram", + "Ġp ills", + "Ġpil ls", + "Ġpill s", + "Ġ integral", + "Ġint egral", + "Ġinteg ral", + "Ġintegr al", + "Ġ fleet", + "Ġf leet", + "Ġfle et", + "Ġflee t", + "Ġd ropping", + "Ġdr opping", + "Ġdrop ping", + "Ġdro pping", + ". sl", + ".s l", + "B een", + "Be en", + "Ġ pets", + "Ġp ets", + "Ġpe ts", + "Ġpet s", + "Ġad vised", + "Ġadv ised", + "Ġadvis ed", + "Ġadvise d", + "Ġ dragon", + "Ġd ragon", + "Ġdr agon", + "Ġdrag on", + "Ġdra gon", + "_ EDIT", + "_ED IT", + "( im", + "(i m", + "9 39", + "93 9", + "F ER", + "FE R", + "Ġ Drug", + "ĠD rug", + "ĠDr ug", + "( random", + "(r andom", + "(rand om", + "Ġ compression", + "Ġcom pression", + "Ġcomp ression", + "Ġcompr ession", + "Ġcompress ion", + "o ust", + "ou st", + "ous t", + "[ %", + "Ġ buyer", + "Ġbu yer", + "Ġbuy er", + "h op", + "ho p", + "R oles", + "Role s", + "Ro les", + "Rol es", + "man age", + "ma nage", + "mana ge", + "Ġpain ful", + "Ġ Branch", + "ĠBr anch", + "ĠBran ch", + "- modal", + "-m odal", + "-mod al", + "e nant", + "en ant", + "ena nt", + "enan t", + "Ġ Mesh", + "ĠM esh", + "ĠMe sh", + "ĠMes h", + "/ font", + "/f ont", + "ĠG raham", + "ĠGra ham", + "Ġ âĺ", + "Ġâ ĺ", + "Ġ nc", + "Ġn c", + "ĠFranc is", + "ĠFran cis", + "Ġspec ification", + "Ġspecific ation", + "Ġdam ages", + "Ġdamage s", + "- config", + "-con fig", + "-conf ig", + "Ġthe oret", + "Ġtheor et", + "Ġtheo ret", + "s ecure", + "sec ure", + "_ multi", + "_m ulti", + "_mul ti", + "_mult i", + "aceut ical", + "Ġdem anding", + "Ġdemand ing", + "en ne", + "enn e", + "I STS", + "IS TS", + "IST S", + "0 94", + "09 4", + "( )));ĊĊ", + "() ));ĊĊ", + "()) );ĊĊ", + "()));Ċ Ċ", + "())) ;ĊĊ", + "())); ĊĊ", + "Re ason", + "Re cent", + "Rec ent", + "ph ase", + "pha se", + "phas e", + "Ġ psy", + "Ġp sy", + "Ġps y", + "_ MAN", + "_M AN", + "_MA N", + "Ġvol unteer", + "Ġvolunte er", + "Ġvolunt eer", + "å ¿", + "istrib uted", + "istribute d", + "l io", + "li o", + "Ġproduct ivity", + "_ comm", + "_c omm", + "_com m", + "_co mm", + "S pring", + "Sp ring", + "Spr ing", + "n is", + "ni s", + ". weight", + ".w eight", + ".we ight", + "ĠC ancer", + "ĠCan cer", + "ĠCanc er", + "Al loc", + "All oc", + "Ġ Tweet", + "ĠT weet", + "ĠTwe et", + "Ġsepar ately", + "Ġseparate ly", + "Ġseparat ely", + "ĉ check", + "ĉc heck", + "ĉch eck", + "_ properties", + "_p roperties", + "_prop erties", + ". Unit", + ".U nit", + ".Un it", + "8 29", + "82 9", + "_ CLK", + "_C LK", + "_CL K", + "Ġ gt", + "Ġg t", + "Ġ ();ĊĊ", + "Ġ( );ĊĊ", + "Ġ() ;ĊĊ", + "Ġ();Ċ Ċ", + "Ġ(); ĊĊ", + "Ġh andy", + "Ġhand y", + "Ġhan dy", + "8 34", + "83 4", + "ĠTh ompson", + "ĠThom pson", + "Ġun necessary", + "Ġunn ecessary", + "Ġ Reader", + "ĠRe ader", + "ĠRead er", + "8 94", + "89 4", + "G N", + "= request", + "=re quest", + "=req uest", + "Ġ Utility", + "ĠU tility", + "ĠUtil ity", + "ĠUt ility", + ". Repository", + ".Re pository", + "Ġ Ax", + "ĠA x", + "hy dr", + "7 91", + "79 1", + "i eu", + "ie u", + "Ġ thy", + "Ġt hy", + "Ġth y", + "Ġ lt", + "Ġl t", + "_ mail", + "_m ail", + "_ma il", + "ä¿® æĶ¹", + "a iland", + "ail and", + "ai land", + "Ġ Philip", + "ĠPh ilip", + "ĠPhil ip", + "ĠPhi lip", + "Ġb itter", + "Ġbit ter", + "Ġbitte r", + "Ġb etting", + "Ġbet ting", + "8 37", + "83 7", + "Ġt imed", + "Ġtime d", + "Ġtim ed", + "Ġti med", + "o cks", + "oc ks", + "ock s", + "0 76", + "07 6", + "' a", + "Ġal gorithms", + "Ġalgorithm s", + "Ġ reinterpret", + "Ġre interpret", + "Ġt oss", + "Ġto ss", + "r ogen", + "ro gen", + "rog en", + "Ġh oped", + "Ġhope d", + "Ġhop ed", + "Ġho ped", + "( selected", + "(se lected", + "(select ed", + "(sel ected", + "Ġ venture", + "Ġvent ure", + "Ġven ture", + "T EX", + "TE X", + "Ġ Leave", + "ĠLe ave", + ". Substring", + ".Sub string", + "Ġgr ateful", + "Ġgrat eful", + "Ġgrate ful", + "7 43", + "74 3", + "u ka", + "uk a", + "Ġ Consumer", + "ĠCon sumer", + "ĠCons umer", + "ĠConsum er", + "Ġag greg", + "Ġagg reg", + "C ircle", + "ภģ", + "_ blocks", + "_b locks", + "_block s", + "_bl ocks", + "_bloc ks", + "Ġleg ally", + "Ġlegal ly", + "Ġ \"|", + "Ġ\" |", + "ãĥ ĥ", + ". board", + ".b oard", + ".bo ard", + ". Ab", + ".A b", + "Function s", + "Fun ctions", + "rec ipe", + "è ĩ", + "ĠO xford", + "ĠOx ford", + "Ġw holes", + "Ġwh oles", + "Ġwho les", + "Ġwhole s", + ". Build", + ".B uild", + "_ changed", + "_ch anged", + "_change d", + "_chan ged", + "h ai", + "ha i", + "Ġ departments", + "Ġdepartment s", + "Ġdepart ments", + "9 64", + "96 4", + "I mp", + "Im p", + "Ġcoal ition", + "IN FRINGEMENT", + "Ġem power", + "Ġemp ower", + "it ches", + "itch es", + "N orth", + "Nor th", + "Ġin flamm", + "Ġinfl amm", + "O NSE", + "ON SE", + "ONS E", + "Ġmiss ile", + "ĠR aj", + "ĠRa j", + "Ġ Issue", + "ĠI ssue", + "ĠIss ue", + "Ġ atoi", + "Ġa toi", + "Ġat oi", + "c aled", + "ca led", + "cale d", + "cal ed", + ". Controllers", + ".Cont rollers", + ".Control lers", + ".Controller s", + "Ġ Wolf", + "ĠW olf", + "ĠWo lf", + "ĠWol f", + "Ġcrush ers", + "Ġcrusher s", + "á» ĩ", + ". Auth", + ".A uth", + ".add Attribute", + "h is", + "hi s", + "Ġbo ots", + "Ġboot s", + "Ġboo ts", + ". clean", + ".c lean", + ".cl ean", + "c amp", + "ca mp", + "cam p", + "Ġ tenant", + "Ġt enant", + "Ġte nant", + "Ġten ant", + "Ġt une", + "Ġtu ne", + "Ġtun e", + "Ġ {}'.", + "Ġ{ }'.", + "Ġ{} '.", + "Ġwork out", + "Re po", + "Rep o", + "Ġpart ially", + "Ġpartial ly", + "Ġparti ally", + "MI SSION", + "MISS ION", + "j amin", + "ja min", + "jam in", + "Ġ SB", + "ĠS B", + "Ġd etermination", + "Ġde termination", + "Ġdeter mination", + "Ġdetermin ation", + "Ġdeterm ination", + "Ġ' ');Ċ", + "Ġ'' );Ċ", + "Ġ'') ;Ċ", + "Ġ''); Ċ", + "ĠB eng", + "ĠBe ng", + "ĠBen g", + "Ġ vos", + "Ġv os", + "Ġvo s", + "Ġin hab", + "Ġinh ab", + "/ lang", + "/l ang", + "s burgh", + "sburg h", + "Exec utor", + "h one", + "ho ne", + "hon e", + "Ġ Challenge", + "ĠCh allenge", + "ĠChall enge", + "_ links", + "_l inks", + "_link s", + "_lin ks", + ". Level", + ".Le vel", + "Ġunder ground", + "- code", + "-c ode", + "-co de", + "9 59", + "95 9", + "Ġopt imization", + "Ġoptim ization", + "log ging", + "logg ing", + "_ dest", + "_d est", + "_de st", + "_des t", + "Ġ snake", + "Ġsn ake", + "Ġsna ke", + "Ġchem icals", + "Ġchemical s", + "_IMPORT ED", + "ad oop", + "ado op", + "adoo p", + "ĠTH AT", + "man aged", + "manage d", + "mana ged", + "Ġred uces", + "Ġredu ces", + "Ġreduce s", + "Ġ REAL", + "ĠRE AL", + "Ġ Guy", + "ĠG uy", + "ĠGu y", + "_GENER IC", + "_GEN ERIC", + "/ ********************************", + "/************************ ********", + "/******** ************************", + "/**************** ****************", + ". amount", + ".a mount", + ".am ount", + "Ġ dere", + "Ġd ere", + "Ġde re", + "Ġder e", + "get Time", + "Ġp ant", + "Ġpa nt", + "Ġpan t", + "an onymous", + "anon ymous", + "Ġhar mony", + "Ġharm ony", + "Ġharmon y", + "Ġ Alan", + "ĠA lan", + "ĠAl an", + "ĠAla n", + "Ġsc enarios", + "Ġscen arios", + "Ġscenario s", + "Ġd irt", + "Ġdi rt", + "Ġdir t", + "h tags", + "ht ags", + "htag s", + "hta gs", + "M c", + "S hell", + "Sh ell", + "She ll", + "r in", + "ri n", + "{ čĊčĊ", + "{čĊ čĊ", + ". pow", + ".p ow", + ".po w", + "ĉ client", + "ĉc lient", + "ĉcl ient", + "ĉcli ent", + "Ġcon spiracy", + "Ġconspir acy", + "Ġad mission", + "Ġadm ission", + "Ġ Regional", + "ĠReg ional", + "ĠRegion al", + "Ġ ViewController", + "ĠView Controller", + "ĠPhil ippines", + "ĠPhilipp ines", + "ĠPhilippine s", + "Ġde pos", + "Ġdep os", + "Ġp ap", + "Ġpa p", + "9 62", + "96 2", + "Ġ Pad", + "ĠP ad", + "ĠPa d", + "P aul", + "Pa ul", + ". ComboBox", + ".Com boBox", + "Ġt utor", + "Ġtu tor", + "Ġtut or", + "Ġtuto r", + "Ġ Recipe", + "ĠRec ipe", + "w riting", + "wr iting", + "Ġcontrib utor", + "O TH", + "OT H", + "S mall", + "Sm all", + "V I", + "Ġh acer", + "Ġha cer", + "Ġhace r", + "Ġhac er", + "e qu", + "eq u", + "Ġ Examples", + "ĠEx amples", + "ĠExample s", + "ĠExam ples", + "h uman", + "hu man", + "hum an", + ". messages", + ".m essages", + ".message s", + "ĉ typ", + "ĉt yp", + "Ġ (čĊ", + "Ġ( čĊ", + "Ġ SSL", + "ĠS SL", + "ĠSS L", + "L EN", + "LE N", + "ĠRom ney", + "( grid", + "(g rid", + "(gr id", + "ĉ min", + "ĉm in", + "Ġ >ĊĊ", + "Ġ> ĊĊ", + "Ġ>Ċ Ċ", + "Ġf ruits", + "Ġfr uits", + "Ġfruit s", + "Ġv oter", + "Ġvo ter", + "Ġvot er", + "Ġvote r", + "In line", + "p ane", + "pan e", + "pa ne", + "Ġ Collections", + "ĠC ollections", + "ĠCol lections", + "ĠCollection s", + "ĠColl ections", + "ĠCollect ions", + "char set", + "chars et", + "Ġ spam", + "Ġsp am", + "Ġspa m", + "z b", + "it emap", + "ite map", + "item ap", + "Ġs ucceeded", + "Ġsuc ceeded", + "Ġsucceed ed", + "_ COL", + "_C OL", + "_CO L", + "Ġ elapsed", + "Ġel apsed", + "i meter", + "im eter", + "ime ter", + "imet er", + "Ġre covered", + "Ġrecover ed", + "T ensor", + "hat tan", + "hatt an", + ". setup", + ".set up", + "i sto", + "is to", + "ist o", + "( head", + "(h ead", + "9 77", + "97 7", + "Ġ SIZE", + "ĠS IZE", + "ĠSI ZE", + "Ġt actics", + "Ġtact ics", + "Ġtactic s", + "Ġtac tics", + "Ġdis tur", + "Ġdist ur", + "Ġpr eval", + "Ġpre val", + "Ġprev al", + "ic ios", + "ici os", + "icio s", + "( Value", + "(V alue", + "_ cols", + "_c ols", + "_col s", + "_co ls", + "Ġ Fat", + "ĠF at", + "ĠFa t", + "Ġse al", + "Ġsea l", + "Ġ sons", + "Ġs ons", + "Ġso ns", + "Ġson s", + "Ġens ures", + "Ġensure s", + "0 95", + "09 5", + "Ġp ressing", + "Ġpres sing", + "Ġpress ing", + "= &", + "igen ous", + "Ġharass ment", + "_ JSON", + "_J SON", + "_JS ON", + "Ġign or", + "Ġig nor", + "yn omial", + "ynom ial", + "o mer", + "om er", + "ome r", + "_ static", + "_st atic", + "_stat ic", + "_sta tic", + "Ġsign ificance", + "Ġsignific ance", + "Ġsignifica nce", + "Ġc ircles", + "Ġcirc les", + "Ġcircle s", + "Ġcir cles", + "_ System", + "_S ystem", + "Ġdisc ipline", + "Ġdiscipl ine", + "Ġd ressed", + "Ġdr essed", + "Ġdress ed", + "Ġ sphere", + "Ġs phere", + "Ġsp here", + "Ġsph ere", + "9 27", + "92 7", + "Ġcl imb", + "Ġclim b", + "Ġcli mb", + "7 59", + "75 9", + "_ actions", + "_a ctions", + "_action s", + "_act ions", + "ĠB ab", + "ĠBa b", + "Ġ' =',", + "Ġ'=' ,", + "Ġ'= ',", + "_ schema", + "_s chema", + "\" use", + "Ġ unders", + "Ġun ders", + "Ġunder s", + "Ġund ers", + "Ġunde rs", + "Ġc ups", + "Ġcu ps", + "Ġcup s", + ". screen", + ".s creen", + ".sc reen", + "/ new", + "/n ew", + "/ne w", + "Ġapp earing", + "Ġappe aring", + "Ġappear ing", + "T OP", + "TO P", + "v ised", + "vis ed", + "vi sed", + "vise d", + "c lang", + "cl ang", + "cla ng", + "Ġinvest igators", + "Ġinvestig ators", + "Ġinvestigator s", + "Ġm ysterious", + "Ġmyster ious", + "Ġprom ising", + "Ġqual ify", + "Ġqua lify", + "Ġquali fy", + "Ġc ave", + "Ġca ve", + "Ġcav e", + "Ġ equip", + "Ġe quip", + "Ġequ ip", + "= x", + "G T", + "( link", + "(l ink", + "(li nk", + ". velocity", + ".v elocity", + ".vel ocity", + ". erase", + ".e rase", + ".er ase", + "o ter", + "ot er", + "ote r", + "++++ ++++", + "pro fit", + "prof it", + "Ġ zones", + "Ġz ones", + "Ġzone s", + "Ġzo nes", + "_ uid", + "_u id", + "_ui d", + "- ser", + "-s er", + "-se r", + "Ġob jectives", + "Ġobject ives", + "Ġobjective s", + "Ġmil f", + "Ġmi lf", + "web kit", + "( match", + "(m atch", + "(mat ch", + "n eh", + "ne h", + "Ġ Associated", + "ĠAssoci ated", + "ĠAssociate d", + "ĠAssoc iated", + "Ġ Todo", + "ĠT odo", + "ĠTo do", + "ĠTod o", + "= d", + "0 65", + "06 5", + "C am", + "Ca m", + "Ġv ocal", + "Ġvo cal", + "Ġvoc al", + "Ġ sudo", + "Ġs udo", + "Ġsu do", + "Ġsud o", + "( EX", + "(E X", + "Ġt rou", + "Ġtr ou", + "Ġtro u", + "A BC", + "AB C", + ". bean", + ".b ean", + ".be an", + "Ġ Ground", + "ĠG round", + "ĠGr ound", + "ĠGro und", + "Ġ REST", + "ĠR EST", + "ĠRE ST", + "ĠRES T", + "we ets", + "weet s", + "I ng", + "In g", + "i mon", + "im on", + "imo n", + "9 46", + "94 6", + "_ bus", + "_b us", + "Ġ COLOR", + "ĠC OLOR", + "ĠCOL OR", + "un to", + "unt o", + "Ġf oss", + "Ġfo ss", + "Ġfos s", + "Ġ Links", + "ĠL inks", + "ĠLink s", + "ĠLin ks", + "8 69", + "86 9", + "ä ng", + "än g", + "/ forms", + "/form s", + "pr ises", + "prise s", + "pri ses", + "Ġ achievement", + "Ġachie vement", + "Ġachieve ment", + "C ALL", + "CA LL", + "CAL L", + "е лÑĮ", + "ел ÑĮ", + "Ġ Verify", + "ĠVer ify", + "_ SOURCE", + "_S OURCE", + "apt cha", + "I DD", + "ID D", + "_ reference", + "_re ference", + "_ref erence", + "_refer ence", + "G old", + "Go ld", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "9 47", + "94 7", + "Re ceiver", + "Receive r", + "0 99", + "09 9", + "Ġ aj", + "Ġa j", + "_ direction", + "_d irection", + "_dir ection", + "_di rection", + "_direct ion", + "} ]", + "Ġ Compet", + "ĠCom pet", + "ĠComp et", + "Ġ bang", + "Ġb ang", + "Ġban g", + "Ġba ng", + "7 98", + "79 8", + "ĠC ass", + "ĠCas s", + "ĠCa ss", + "- url", + "-u rl", + "t echn", + "te chn", + "tech n", + "tec hn", + "ĠJer usalem", + "long itude", + "' );čĊčĊ", + "') ;čĊčĊ", + "'); čĊčĊ", + "');čĊ čĊ", + "Ġwin ners", + "Ġwinner s", + "T asks", + "Task s", + "Ġ DMA", + "ĠD MA", + "ĠDM A", + "Ġ tooltip", + "Ġto oltip", + "Ġtool tip", + "İ ·", + "ĠB ra", + "ĠBr a", + "_ duration", + "_d uration", + "_dur ation", + "c ury", + "cur y", + "cu ry", + "par ents", + "pare nts", + "parent s", + "paren ts", + "- --- >(", + ">> (", + "Ġ Kir", + "ĠK ir", + "ĠKi r", + "Ġ intros", + "Ġint ros", + "Ġintr os", + "Ġintro s", + "Ġsk etch", + "Ġsk illed", + "Ġskill ed", + "Ġ immer", + "Ġim mer", + "Ġimm er", + "Ġade quate", + "Ġadequ ate", + "_ rep", + "_re p", + "_r ep", + "( header", + "(head er", + "_ like", + "_l ike", + "_li ke", + "Ġper ceived", + "Ġperceive d", + "Ġperce ived", + "s sh", + "ss h", + "Ġ assuming", + "Ġas suming", + "Ġass uming", + "Ġassum ing", + "Ġ ff", + "Ġf f", + "_ uuid", + "_u uid", + "u las", + "ul as", + "ula s", + "Ġdem ocratic", + "Ġdemocr atic", + "Ġdemocrat ic", + ". entities", + ".ent ities", + "S eries", + "Se ries", + "Ser ies", + "aph ore", + "Ġnew er", + "Ġne wer", + "} (", + "S EC", + "SE C", + "a iro", + "air o", + "ai ro", + "Ġcom mod", + "Ġcomm od", + "Ġpriv ilege", + "Ġprivile ge", + "Ġde ux", + "Ġ Hop", + "ĠH op", + "ĠHo p", + ". '/", + ".' /", + "c tic", + "ct ic", + ". ';Ċ", + ".' ;Ċ", + "< ?=", + " C", + "ĠWar ren", + "Ġ optimizer", + "Ġopt imizer", + "Ġoptim izer", + "Ġoptimize r", + "ĠSER VICES", + "ĠSERVICE S", + "_ oper", + "_op er", + "_o per", + "get Attribute", + "ĠMc K", + "_ self", + "_s elf", + "_se lf", + "_sel f", + "0 84", + "08 4", + ". rs", + ".r s", + "\" )ĊĊĊ", + "\") ĊĊĊ", + "\")Ċ ĊĊ", + "\")ĊĊ Ċ", + "Get Component", + "er ce", + "erc e", + "Ġt ous", + "Ġto us", + "Ġtou s", + "un its", + "unit s", + "uni ts", + "' ]);čĊ", + "'] );čĊ", + "']) ;čĊ", + "']); čĊ", + "Z oom", + "/ E", + "Ġob sc", + "Ġobs c", + "Ġfast est", + "Ġfas test", + "on line", + "Ġpeace ful", + "f fen", + "ff en", + "ffe n", + "Ġ cargo", + "Ġc argo", + "Ġcar go", + "Ġcarg o", + "ĉ pr", + "ĉp r", + "Ġse eks", + "Ġsee ks", + "Ġseek s", + "z u", + "0 74", + "07 4", + "T rim", + "Tr im", + "Tri m", + "Ġ ward", + "Ġw ard", + "Ġwar d", + "Ġwa rd", + "Ġv erd", + "Ġver d", + "Ġve rd", + "Ġ blogs", + "Ġb logs", + "Ġbl ogs", + "Ġblog s", + "Ġblo gs", + ". exceptions", + ".ex ceptions", + ".exception s", + "Ġ Premium", + "ĠP remium", + "ĠPre mium", + "ĠPrem ium", + "ĠPremi um", + "ĠN etherlands", + "S afe", + "Sa fe", + "F inish", + "Fin ish", + "Fi nish", + "Ġ Album", + "ĠAl bum", + "ĠAlb um", + "_ ACC", + "_A CC", + "_AC C", + "= this", + "=t his", + "v irtual", + "vir tual", + "virt ual", + "] >", + "_ LABEL", + "_L ABEL", + "_LA BEL", + "Ġ Nich", + "ĠN ich", + "ĠNic h", + "ĠNi ch", + "_ win", + "_w in", + "Ġ Aaron", + "ĠA aron", + "W P", + "; $", + "a ims", + "ai ms", + "aim s", + "Ġ ImageView", + "ĠImage View", + "Ġend less", + "Ġendl ess", + "E RA", + "ER A", + "_ DISABLE", + "_DIS ABLE", + "Ġ cancelled", + "Ġcancel led", + "Ġcancell ed", + "Ġcanc elled", + "- us", + "-u s", + "Ġ inspection", + "Ġins pection", + "Ġinspect ion", + "Ġinsp ection", + "e min", + "em in", + "emi n", + "Ġ Grey", + "ĠG rey", + "ĠGr ey", + "ĠGre y", + "- open", + "-o pen", + "-op en", + "Ġ iterations", + "Ġiter ations", + "Ġiteration s", + ". owner", + ".o wner", + "Ġk eras", + "Ġke ras", + "Ġker as", + ". Password", + ".P assword", + ".Pass word", + "ĠR y", + "Ġ INS", + "ĠI NS", + "ĠIN S", + "A ir", + "Ai r", + "Ġ Several", + "ĠSe veral", + "ĠSever al", + "ĠSev eral", + ".Tab Stop", + "IN GLE", + "ING LE", + "Ġ Hair", + "ĠH air", + "ĠHa ir", + "ĠHai r", + "Ġ Canvas", + "ĠC anvas", + "ĠCan vas", + "A AAA", + "AA AA", + "AAA A", + "Ġf law", + "Ġfl aw", + "Ġfla w", + "c edes", + "ce des", + "ced es", + "cede s", + ". Report", + ".Re port", + "í Ĭ", + "Ġ Tips", + "ĠT ips", + "ĠTi ps", + "ĠTip s", + "cript ors", + "criptor s", + ". transaction", + ".trans action", + ". Spring", + ".S pring", + ".Sp ring", + "Ġ viewer", + "Ġview er", + "Ġvie wer", + "Ġins ights", + "Ġinsight s", + "è¾ ĵ", + "ord ion", + "U INT", + "UI NT", + "se ek", + "see k", + "Ġ Auf", + "ĠA uf", + "ĠAu f", + "ìŀ IJ", + "Ġ strain", + "Ġs train", + "Ġst rain", + "Ġstr ain", + "Ġstra in", + "To oltip", + "Tool tip", + "Ġ dz", + "Ġd z", + "ig nal", + "ign al", + "a dt", + "ad t", + "Ġ uc", + "Ġu c", + "f inite", + "fin ite", + "fi nite", + "Ġ nm", + "Ġn m", + ". cmd", + ".c md", + ".cm d", + "ĠMy Sql", + "[ data", + "[d ata", + ".j ackson", + ". tree", + ".t ree", + ".tr ee", + "Request Param", + "_ agent", + "_a gent", + "_ag ent", + "_age nt", + "\" )]čĊ", + "\") ]čĊ", + "\")] čĊ", + "Ġas sass", + "Ġass ass", + "( Constants", + "(Constant s", + "(Const ants", + ": ss", + ":s s", + "Ġ MAN", + "ĠM AN", + "ĠMA N", + "+- +-", + "Ġ Bottom", + "ĠB ottom", + "ĠBot tom", + "ĠBott om", + "pr ints", + "print s", + "pri nts", + "Ġ Same", + "ĠS ame", + "ĠSam e", + "ĠSa me", + "@ Autowired", + "s wap", + "sw ap", + "i ción", + "ic ión", + "ici ón", + "Ġprot esters", + "Ġprote sters", + "Ġprotest ers", + "Ġprotester s", + "Ġh oney", + "Ġhon ey", + "Ġho ney", + "Ġhone y", + "Ġ Veter", + "ĠV eter", + "ĠVe ter", + "ĠVet er", + "( Calendar", + "(C alendar", + "- ad", + "-a d", + "ĠBro oklyn", + "ĠBrook lyn", + "L ife", + "Li fe", + "_ VAR", + "_V AR", + "z ech", + "ze ch", + "Ġ CALL", + "ĠC ALL", + "ĠCA LL", + "ĠCAL L", + "_ CAST", + "_C AST", + "_CA ST", + "ĠE lection", + "ĠEl ection", + "ĠElect ion", + "ĠEle ction", + "Ġ thickness", + "Ġth ickness", + "Ġthick ness", + "V ery", + "Ver y", + "Ve ry", + "_ INTEGER", + "_IN TEGER", + "- dev", + "-d ev", + "-de v", + ") )))", + ")) ))", + "))) )", + "a pat", + "ap at", + "apa t", + "o ooo", + "oo oo", + "ooo o", + "d emo", + "de mo", + "dem o", + "Ġ parseFloat", + "Ġparse Float", + "Ġ Rather", + "ĠR ather", + "ĠRa ther", + "ĠRat her", + "ĠRath er", + "ST IT", + "m aker", + "ma ker", + "make r", + "mak er", + "[ current", + "[c urrent", + "[cur rent", + "[curr ent", + "chron o", + "chr ono", + "Ġ christ", + "Ġch rist", + "Ġchr ist", + "ãģ ª", + "Ġ Detail", + "ĠD etail", + "ĠDe tail", + "ĠDet ail", + "ư á»", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "Ġs ul", + "Ġsu l", + "id ency", + "ide ncy", + "iden cy", + "Q ue", + "Qu e", + "Ġe legant", + "Ġeleg ant", + "a pons", + "ap ons", + "apon s", + "apo ns", + "Ġd ishes", + "Ġdis hes", + "Ġdish es", + "Ġint egers", + "Ġinteg ers", + "Ġinteger s", + "Ġinte gers", + "( read", + "(r ead", + "(re ad", + "0 57", + "05 7", + "find ViewById", + "Ġ Amount", + "ĠA mount", + "ĠAm ount", + "Ġ Skip", + "ĠS kip", + "ĠSk ip", + "ĠSki p", + "Ġhab its", + "Ġha bits", + "Ġhabit s", + "* )(", + "*) (", + "Ġmon sters", + "Ġmonster s", + "M AC", + "MA C", + ": end", + ":e nd", + "Ġf rank", + "Ġfr ank", + "Ġfra nk", + "Ġfran k", + "As sembly", + "Ġ dfs", + "Ġd fs", + "Ġdf s", + "Ġn eut", + "Ġne ut", + "Ġneu t", + "_ TYPES", + "_T YPES", + "_TYPE S", + "_TYP ES", + "e qual", + "eq ual", + "equ al", + "lo yd", + "loy d", + "( uri", + "(u ri", + "(ur i", + "Ġ chi", + "Ġc hi", + "Ġch i", + "Ġdef endant", + "Ġdefend ant", + "Ġconf licts", + "Ġconflic ts", + "Ġconflict s", + "Ġconfl icts", + "Ġ vil", + "Ġv il", + "Ġvi l", + "- js", + "-j s", + "Ġ Peace", + "ĠPe ace", + "Ġ mutable", + "Ġm utable", + "Ġmut able", + "Ġmu table", + ") sender", + ")s ender", + "Ġ Focus", + "ĠF ocus", + "ĠFo cus", + "å» º", + "Ġapprec iated", + "Ġappreciate d", + "s leep", + "Ġ RED", + "ĠR ED", + "ĠRE D", + "C ulture", + "Ġdesign ers", + "Ġdesigner s", + "_ generator", + "_g enerator", + "_gen erator", + "_gener ator", + "c odes", + "co des", + "code s", + "cod es", + "/ ex", + "/e x", + ". GetValue", + ".Get Value", + "um bled", + "umb led", + "umble d", + ".scal ajs", + ".scala js", + "pe ror", + "per or", + "Ġveter ans", + "Ġveteran s", + "Ġ })čĊ", + "Ġ} )čĊ", + "Ġ}) čĊ", + "Ġun fortunately", + "Ġunfortunate ly", + "_ CREATE", + "_C REATE", + "_CRE ATE", + "_CREAT E", + "M ass", + "Ma ss", + "Mas s", + "Ġ CLAIM", + "ĠCL AIM", + "Ġ Meet", + "ĠMe et", + "_ support", + "_s upport", + "_sup port", + "_supp ort", + "B ank", + "Ban k", + "Ba nk", + "( ).Ċ", + "() .Ċ", + "(). Ċ", + "D ark", + "Da rk", + "Dar k", + "_ LOW", + "_L OW", + "_LO W", + "Ġ Mining", + "ĠM ining", + "ĠMin ing", + "ĠMini ng", + "ĠMi ning", + "Ġ Owner", + "ĠO wner", + "ĠOwn er", + "ĠOw ner", + "i era", + "ie ra", + "ier a", + "Client e", + "Cl iente", + "Cli ente", + "Ġencour aging", + "> S", + "Ġboy friend", + "Ġ Half", + "ĠH alf", + "ĠHa lf", + "ĠHal f", + "Ġ ACC", + "ĠA CC", + "ĠAC C", + "A ff", + "Af f", + "_ ar", + "_a r", + "- life", + "-l ife", + "-li fe", + "c x", + ".J Button", + "iz ado", + "iza do", + ". zero", + ".z ero", + ".open qa", + "o ton", + "ot on", + "oto n", + ". textContent", + ".text Content", + "Ġt oll", + "Ġto ll", + "Ġtol l", + "a tie", + "at ie", + "ati e", + "Ġball ot", + "Ġbal lot", + "Ġballo t", + "- number", + "-n umber", + "-num ber", + ". Exception", + ".Ex ception", + "ĉ params", + "ĉparam s", + "c ircle", + "circ le", + "cir cle", + "- map", + "-m ap", + "Ġ nap", + "Ġn ap", + "Ġna p", + "Ġ Robot", + "ĠR obot", + "ĠRob ot", + "ĠRo bot", + "Ġ Ich", + "ĠI ch", + "reg istration", + "registr ation", + "regist ration", + "A mazon", + "Am azon", + "roll ment", + "( exp", + "(e xp", + "(ex p", + "Ġt anks", + "Ġtank s", + "Ġtan ks", + "ĠG ordon", + "ĠGor don", + "ĠGord on", + "Ġm achinery", + "Ġmachine ry", + "Ġmach inery", + "Ġ baseline", + "Ġb aseline", + "Ġbase line", + "Ġbas eline", + "æ ĭ", + "0 86", + "08 6", + "Ø ©", + "Ġ Convention", + "ĠCon vention", + "ĠConv ention", + "ĉ config", + "ĉcon fig", + "ĉconf ig", + "o okies", + "ook ies", + "ookie s", + "m ult", + "mu lt", + "mul t", + "Rec ords", + "Record s", + "Ġ EST", + "ĠE ST", + "ĠES T", + "Ġgar bage", + "Ġcon form", + "Ġconf orm", + "i dal", + "id al", + "ida l", + "Ġb arg", + "Ġbar g", + "Ġba rg", + "Ġsurv ived", + "Ġsurvive d", + "Ġsurviv ed", + "Ġinvestig ations", + "Ġinvestigation s", + "9 35", + "93 5", + ".contains Key", + "---- ----------------------------------------------------------------------Ċ", + "---------------------------------------------------------------- ----------Ċ", + "---------------------------------------------------------------------- ----Ċ", + "or tion", + "ort ion", + "Ġh orr", + "Ġhor r", + "Ġho rr", + "_ http", + "_h ttp", + "_ht tp", + "Ġ mant", + "Ġm ant", + "Ġman t", + "Ġma nt", + "] ;čĊčĊ", + "]; čĊčĊ", + "];čĊ čĊ", + "b inary", + "bin ary", + "9 48", + "94 8", + "e mpl", + "em pl", + "emp l", + "Ġin quiry", + "Ġ Meanwhile", + "ĠMean while", + "0 98", + "09 8", + "Ġcollect ing", + ".Entity Framework", + "\" ,ĊĊ", + "\", ĊĊ", + "\",Ċ Ċ", + "Ġ Pic", + "ĠP ic", + "ĠPi c", + "@ Inject", + "ick ness", + "Ġ Binding", + "ĠB inding", + "ĠBind ing", + "ĠBin ding", + "Ġcont rolling", + "Ġcontrol ling", + "re verse", + "rev erse", + "Ġch airs", + "Ġchair s", + "Ġcha irs", + "Ġchai rs", + "semb led", + "sem bled", + "semble d", + "sembl ed", + "( add", + "(a dd", + "(ad d", + "Dis abled", + "Disable d", + "a nas", + "an as", + "ana s", + ". translate", + ".trans late", + "- ----------Ċ", + "-- ---------Ċ", + "---- -------Ċ", + "-------- ---Ċ", + "--- --------Ċ", + "----- ------Ċ", + "---------- -Ċ", + "------ -----Ċ", + "----------- Ċ", + "------- ----Ċ", + "--------- --Ċ", + "Ġref lected", + "Ġreflect ed", + "Ġrefl ected", + "\" ]ĊĊ", + "\"] ĊĊ", + "\"]Ċ Ċ", + "Ex ternal", + "Ext ernal", + "Extern al", + "Ar row", + "Arr ow", + "S ingleton", + "Single ton", + "Sing leton", + "% x", + "Ġ Å", + "Ġan cest", + "Ġance st", + "Ġanc est", + "ĠOr leans", + "ĉ cmd", + "ĉc md", + "ĉcm d", + "Ġpro hibited", + "Ġprohib ited", + "Ġprohibit ed", + "ith metic", + "( channel", + "(ch annel", + "(chan nel", + "_ css", + "_c ss", + "_cs s", + "For ward", + ". socket", + ".s ocket", + ".so cket", + ".sock et", + "Ġl uc", + "Ġlu c", + "â Ĩ", + "Ġ Firefox", + "ĠFire fox", + "Ġ Movies", + "ĠM ovies", + "ĠMovie s", + "ĠMov ies", + ") _", + ". ends", + ".e nds", + ".end s", + ".en ds", + "( shape", + "(s hape", + "(sh ape", + "Ġde alt", + "Ġdeal t", + "Ġs aves", + "Ġsa ves", + "Ġsave s", + "Ġsav es", + "Ġgl ory", + "Ġglo ry", + "Ġglor y", + "Ġmej or", + "Ġbre athing", + "Ġbreath ing", + "Ġ eller", + "Ġe ller", + "Ġel ler", + "Ġell er", + "Ġelle r", + "get Data", + "Ġ angles", + "Ġan gles", + "Ġang les", + "Ġangle s", + "Ġangl es", + "Ġ toolbar", + "Ġtool bar", + "Ġ spacing", + "Ġsp acing", + "Ġspa cing", + "Ġspac ing", + "0 59", + "05 9", + "I PS", + "IP S", + "Ġfloor s", + "Ġflo ors", + "_ ACTIVE", + "_ACT IVE", + "_ACTIV E", + "Ġ shuffle", + "Ġsh uffle", + "/ shared", + "/sh ared", + "/share d", + "Ġ Ele", + "ĠE le", + "ĠEl e", + "e dish", + "ed ish", + "edi sh", + "edis h", + "Ġweb cam", + ". expect", + ".ex pect", + ".exp ect", + "i loc", + "il oc", + "ilo c", + "Ġ Includes", + "ĠIn cludes", + "ĠInclude s", + "Ġt weeted", + "Ġtweet ed", + "Ġtwe eted", + "Ġtwee ted", + "Ġ :)", + "Ġ: )", + "Ġ Essay", + "ĠEs say", + "ĠEss ay", + "F ix", + "Fi x", + "- between", + "-b etween", + "_ web", + "_w eb", + "_we b", + ". conv", + ".con v", + ".co nv", + "Ġrac ism", + "Ġreflect s", + "Ġrefl ects", + "u mm", + "um m", + "и ÑĤе", + "иÑĤ е", + "_ footer", + "_f ooter", + "_foot er", + "/ docs", + "/d ocs", + "/doc s", + "/do cs", + "Ġ Pour", + "ĠP our", + "ĠPo ur", + "ĠPou r", + "Ng Module", + ". initialize", + ".initial ize", + "pattern s", + "_ In", + "_I n", + "Ġ Abb", + "ĠA bb", + "ĠAb b", + "* čĊ", + "Ġsent iment", + "b uff", + "buf f", + "bu ff", + "_ counts", + "_count s", + "_co unts", + "_cou nts", + "Ġ reuse", + "Ġre use", + "ch unk", + "chu nk", + "Ġim posed", + "Ġimp osed", + "Ġimpose d", + "Primary Key", + "Fore ground", + "Ġcons umed", + "Ġconsum ed", + "Ġconsume d", + "? !", + "Ġd ick", + "Ġdi ck", + "Ġdic k", + "Ġ chron", + "Ġch ron", + "Ġchr on", + "ĠF ern", + "ĠFe rn", + "ĠFer n", + "Ġ responsive", + "Ġres ponsive", + "Ġrespons ive", + "9 58", + "95 8", + "Ġin sect", + "Ġins ect", + "Ġinse ct", + "ic ulty", + "icult y", + "Ġ rw", + "Ġr w", + "Ġa like", + "Ġal ike", + "Ġali ke", + "Ġ subset", + "Ġsub set", + "Ġsubs et", + "Ġ Cookies", + "ĠC ookies", + "ĠCo okies", + "ĠCook ies", + "ĠCookie s", + "Ġ Pair", + "ĠP air", + "ĠPa ir", + "ĠPai r", + "Ġ tier", + "Ġt ier", + "Ġti er", + "Ġtie r", + "I FO", + "IF O", + "av our", + "avo ur", + "avou r", + "Ġ QU", + "ĠQ U", + ", sizeof", + ",size of", + "Ġ merged", + "Ġm erged", + "Ġmer ged", + "Ġmerge d", + "Ġmerg ed", + "m v", + "i tol", + "it ol", + "ito l", + "y lon", + "yl on", + "Ġj umped", + "Ġjump ed", + ". role", + ".r ole", + ".ro le", + "ens aje", + "ensa je", + "R ules", + "Rule s", + "Ru les", + "Ġ browse", + "Ġb rowse", + "Ġbrows e", + "Ġbrow se", + "An imator", + "Anim ator", + "Ġy oga", + "Ġyo ga", + "Ġyog a", + "Ġ variants", + "Ġvar iants", + "Ġvari ants", + "Ġvariant s", + "Ġcour tesy", + "Ġcourt esy", + "Ġcourte sy", + "u ran", + "ur an", + "ura n", + "p bs", + "pb s", + "else if", + "A lt", + "Al t", + "Ġ Lane", + "ĠL ane", + "ĠLa ne", + "ĠLan e", + "C LK", + "CL K", + "I MARY", + "IM ARY", + "IMA RY", + "_ PROPERTY", + "_P ROPERTY", + "_PRO PERTY", + "ï¼ IJ", + "Ġ chan", + "Ġc han", + "Ġch an", + "Ġcha n", + "Ġgrad ually", + "Ġgradu ally", + "Ġgradual ly", + "Ġ shake", + "Ġsh ake", + "Ġsha ke", + "Ġbl onde", + "Ġblo nde", + "Ġblond e", + ".. .\");Ċ", + "... \");Ċ", + "...\" );Ċ", + "- sex", + "-s ex", + "-se x", + "Ġgame play", + "a cies", + "ac ies", + "aci es", + "acie s", + ". refresh", + ".re fresh", + ".ref resh", + "U SB", + "US B", + "Ġ Plot", + "ĠP lot", + "ĠPl ot", + "W as", + "Wa s", + "iss ippi", + "Ġ Tensor", + "ĠT ensor", + "Ġcrypt ocurrency", + "Ġcrypto currency", + "Ġcryptoc urrency", + "Ġdifficult ies", + "De leted", + "Delete d", + "Del eted", + "With out", + "_ append", + "_app end", + "_ap pend", + "_ ver", + "_v er", + "_ve r", + "9 67", + "96 7", + "\" ))čĊ", + "\") )čĊ", + "\")) čĊ", + "Ġh onestly", + "Ġhonest ly", + "Ġ pivot", + "Ġp ivot", + "Ġpiv ot", + "Ġ temps", + "Ġte mps", + "Ġtem ps", + "Ġtemp s", + "_ ps", + "_p s", + "Ġ Unlike", + "ĠUn like", + "[ :-", + "[: -", + "V S", + "_ inf", + "_in f", + "_i nf", + "Ġjun ior", + "Ġjuni or", + "Ġ animations", + "Ġan imations", + "Ġanim ations", + "Ġanimation s", + "Ġ filepath", + "Ġfile path", + "? {{$", + ">{ {$", + ">{{ $", + "Ġ unicode", + "Ġun icode", + "Ġuni code", + "Ġunic ode", + "p laces", + "pl aces", + "place s", + "pla ces", + "Ġ Coffee", + "ĠC offee", + "ĠCo ffee", + "ĠCoff ee", + ". SE", + ".S E", + "Ġ PAR", + "ĠP AR", + "ĠPA R", + "( txt", + "(t xt", + "(tx t", + "g ebra", + "ge bra", + "geb ra", + "Ġ fires", + "Ġf ires", + "Ġfire s", + "Ġfi res", + "Ġfir es", + "Main Window", + "m edium", + "med ium", + "medi um", + "Ġ( âĢľ", + "Ġ lg", + "Ġl g", + "Ġ cmp", + "Ġc mp", + "Ġcm p", + "/ base", + "/b ase", + "_ layers", + "_l ayers", + "_layer s", + "_la yers", + "_ entries", + "_en tries", + "_ent ries", + "Ġadmin ister", + "ĠS UCH", + "ĠSU CH", + "B P", + "ĠScott ish", + "ĉ čĊĉčĊ", + "ĉčĊ ĉčĊ", + "g uard", + "gu ard", + "gua rd", + "Ġ Strong", + "ĠSt rong", + "ĠStr ong", + "In sn", + "Ins n", + "Ġ CAP", + "ĠC AP", + "ĠCA P", + "as ury", + "asu ry", + "Ġ SEE", + "ĠS EE", + "ĠSE E", + "C lock", + "Cl ock", + "Clo ck", + "e rie", + "er ie", + "eri e", + "\\ models", + "\\model s", + "Ġ $$", + "Ġ$ $", + "Ġ Cab", + "ĠC ab", + "ĠCa b", + "Ġwur de", + "Ġsold ier", + "Ġcl ips", + "Ġclip s", + "Ġcli ps", + "Ġarr angement", + "Ġarrang ement", + "Ġarrange ment", + "Ġ Wonder", + "ĠW onder", + "ĠWo nder", + "ĠWon der", + "ĠH orn", + "ĠHor n", + "ĠHo rn", + "Ġsc ared", + "Ġsca red", + "Ġscar ed", + "Ġscare d", + "Ġc ure", + "Ġcur e", + "Ġcu re", + "m kdir", + "mk dir", + "Ġ aligned", + "Ġal igned", + "Ġalign ed", + "Ġ Pink", + "ĠP ink", + "ĠPin k", + "ĠPi nk", + "Ġl anded", + "Ġland ed", + "Ġlan ded", + "D imension", + "Dim ension", + "Scroll Pane", + ". chat", + ".c hat", + ".ch at", + ". With", + ".W ith", + "Ġ Train", + "ĠT rain", + "ĠTr ain", + "ĠTra in", + "] .Ċ", + "]. Ċ", + "Ġth irty", + "Ġd urable", + "Ġdur able", + "Ġ ld", + "Ġl d", + "Ġlate init", + "Ġ charts", + "Ġch arts", + "Ġchar ts", + "Ġchart s", + "Ġcha rts", + "Ġins ult", + ". Fatal", + ".F atal", + ".Fat al", + "_ ct", + "_c t", + "Ġm asks", + "Ġmask s", + "Ġmas ks", + "CLUD ED", + "CLU DED", + "CLUDE D", + "P resident", + "Pres ident", + "Ġcol ours", + "Ġcolour s", + "g ments", + "gment s", + "gm ents", + ". attributes", + ".at tributes", + ".attribute s", + ".attrib utes", + "Ġ Flex", + "ĠF lex", + "ĠFl ex", + "ĠFle x", + "Ġ Clock", + "ĠC lock", + "ĠCl ock", + "ĠClo ck", + "ÃŃ cul", + "ÃŃc ul", + "i men", + "im en", + "ime n", + "J O", + "Ġ Regex", + "ĠReg ex", + "_ LINK", + "_L INK", + "Ġc ouch", + "Ġco uch", + "Ġcou ch", + "Ġ INPUT", + "ĠIN PUT", + "Ġb eating", + "Ġbe ating", + "Ġbeat ing", + "b usiness", + "bus iness", + "pr eced", + "pre ced", + "prec ed", + ". unit", + ".un it", + ".u nit", + ".uni t", + "Ġ Fel", + "ĠF el", + "ĠFe l", + "N ever", + "Ne ver", + "os pel", + "osp el", + ". startswith", + ".start swith", + "ĠE PA", + "ĠEP A", + ". only", + ".on ly", + "Ġpre venting", + "Ġprevent ing", + "Ġprev enting", + "y er", + "ye r", + "Column Name", + "Ġe levation", + "Ġele vation", + "Ġelev ation", + "f lu", + "fl u", + "i cycle", + "ic ycle", + "icy cle", + "Ġ offline", + "Ġoff line", + "Tool bar", + "Ġcomp eting", + "Ġcompet ing", + ") ].", + ")] .", + "Ġm og", + "Ġmo g", + "Ġ isValid", + "Ġis Valid", + "A sk", + "As k", + "_ av", + "_a v", + "_ lat", + "_l at", + "_la t", + "A NC", + "AN C", + "ĠJ oh", + "ĠJo h", + "k ers", + "ke rs", + "ker s", + "Ġ guards", + "Ġg uards", + "Ġgu ards", + "Ġguard s", + "Ġguar ds", + "Ġ chains", + "Ġch ains", + "Ġchain s", + "Ġcha ins", + "Ġchai ns", + "ĠSimple DateFormat", + ". static", + ".st atic", + ".stat ic", + "Ġv essel", + "Ġve ssel", + "Ġvess el", + "Ġves sel", + "Ġm ud", + "Ġmu d", + "Ġst abil", + "Ġstab il", + "Ġsta bil", + "Ġst ret", + "Ġstr et", + "Ġstre t", + "g m", + "am ation", + "ama tion", + "amat ion", + "ç ľ", + "- with", + "-w ith", + "Ġ ros", + "Ġr os", + "Ġro s", + "_ PA", + "_P A", + "Ġ resultado", + "Ġresult ado", + "Ġconf idential", + "Ġconfident ial", + "ĠTok yo", + "ĉ using", + "ĉu sing", + "ĉus ing", + "Ġ Mathf", + "ĠMath f", + "ĠMat hf", + "om bine", + "omb ine", + "Ġ ESPN", + "ĠESP N", + "ĠES PN", + "Ġde alers", + "Ġdeal ers", + "Ġdealer s", + "Ġdismiss ed", + "T RY", + "TR Y", + "Ġte ens", + "Ġteen s", + "Ġtee ns", + "rec ords", + "record s", + "Ġw ings", + "Ġwin gs", + "Ġwing s", + "g allery", + "ac counts", + "account s", + "acco unts", + "_ LIB", + "_L IB", + "Ġj acket", + "Ġja cket", + "Ġjack et", + "Ġjac ket", + "Ġ NSObject", + "ĠNS Object", + "Ġ stones", + "Ġs tones", + "Ġst ones", + "Ġstone s", + "Ġsto nes", + "Ġ Delivery", + "ĠD elivery", + "ĠDel ivery", + "ĠDeliver y", + "ĠD iet", + "ĠDi et", + "ĠDie t", + "/ watch", + "/w atch", + "Ġto ilet", + "Ġtoile t", + "Ġtoi let", + "Ġ Guest", + "ĠG uest", + "ĠGu est", + ". day", + ".d ay", + ".da y", + "0 67", + "06 7", + "Ġ intval", + "Ġint val", + "0 87", + "08 7", + "Vis it", + "Vi sit", + "Ġinvest igated", + "Ġinvestig ated", + "Ġinvestigate d", + "Ġpen tru", + "Ġpent ru", + "ĠThe atre", + "andid ates", + "andidate s", + "andi dates", + "L ang", + "La ng", + "Ġ Serv", + "ĠS erv", + "ĠSe rv", + "ĠSer v", + "Ġ controllers", + "Ġcont rollers", + "Ġcontrol lers", + "Ġcontroller s", + "Ġ setTitle", + "Ġset Title", + "N P", + "a my", + "am y", + "f lat", + "fl at", + "( ui", + "(u i", + "0 69", + "06 9", + "_ document", + "_d ocument", + "_doc ument", + "è ĥ½", + "èĥ ½", + "Ġ Coin", + "ĠC oin", + "ĠCo in", + "ĠAd ams", + "ĠAdam s", + "ĠAda ms", + "p tic", + "pt ic", + "Ġ productive", + "Ġpro ductive", + "Ġproduct ive", + "Ġprod uctive", + "Ġaccompl ished", + "Ġaccomplish ed", + "čĊ čĊčĊčĊ", + "čĊčĊ čĊčĊ", + "čĊčĊčĊ čĊ", + "Ġde ferred", + "Ġdefer red", + "i entes", + "ient es", + "ien tes", + "iente s", + "Ġs inc", + "Ġsi nc", + "Ġsin c", + "ol ars", + "olar s", + "ola rs", + "Right arrow", + "Ġvar iations", + "Ġvari ations", + "Ġvariation s", + "( offset", + "(o ffset", + "(off set", + "9 57", + "95 7", + ". LayoutInflater", + ".Layout Inflater", + "Ġ suspend", + "Ġs uspend", + "Ġsus pend", + "Ġsusp end", + "Ġpre vention", + "Ġprevent ion", + "Ġprev ention", + "_ private", + "_pr ivate", + "_priv ate", + "_ js", + "_j s", + "â ĺħ", + "âĺ ħ", + "Ġw ieder", + "Ġwie der", + "Ġwi eder", + "at um", + "atu m", + "Ĵ Į", + "Ġappear ances", + "Ġappearance s", + ". Document", + ".D ocument", + ".Doc ument", + "Ġvalid ates", + "Ġvalidate s", + "Ġvalida tes", + "c alendar", + "cal endar", + "} \";Ċ", + "}\" ;Ċ", + ". demo", + ".d emo", + ".de mo", + "con ut", + "co nut", + "Ġcor rection", + "Ġcorrect ion", + "Ġcorre ction", + "Ġcorr ection", + "Ġ Deal", + "ĠDe al", + "Ġbatter ies", + "Ġbatt eries", + ". duration", + ".d uration", + ", \\", + "_ marker", + "_m arker", + "_mark er", + "_mar ker", + "m ulti", + "mul ti", + "mult i", + "Ġ halt", + "Ġh alt", + "Ġha lt", + "Ġhal t", + "Ġ cms", + "Ġc ms", + "Ġcm s", + "Ġsh aped", + "Ġshape d", + "Ġsha ped", + "B ro", + "Br o", + "re duce", + "red uce", + "Ġ ####", + "Ġ# ###", + "Ġ## ##", + "Ġ### #", + "C TOR", + "CT OR", + "Ġ Benef", + "ĠB enef", + "ĠBen ef", + "ĠBene f", + "Ġicon ic", + "Ġic onic", + "Ġp iano", + "Ġpi ano", + "Ġpian o", + "Ġeffect iveness", + "Ġeffective ness", + "| .Ċ", + "|. Ċ", + "Ġ ajax", + "Ġa jax", + "Ġaj ax", + "Ġv olumes", + "Ġvol umes", + "Ġvolume s", + "Ġvolum es", + "ภ¡", + "Ġ cljs", + "Ġcl js", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "a ths", + "at hs", + "ath s", + "r aits", + "ra its", + "rait s", + "rai ts", + "å¤ §", + "Ñ ĸ", + "_ mult", + "_m ult", + "_mul t", + "_mu lt", + "Ġfasc inating", + "A verage", + "Ġp ré", + "Ġpr é", + "ĠChair man", + ".find Element", + "_ pin", + "_p in", + "_pi n", + "Ġcom paring", + "Ġcomp aring", + "Ġcompar ing", + "Ġdark ness", + "- Fi", + "-F i", + "- server", + "-s erver", + "-ser ver", + "Ġselect ing", + "s terdam", + "ster dam", + "Ġ Parts", + "ĠP arts", + "ĠPart s", + "ĠPar ts", + "ĠPa rts", + "FORM ATION", + "FORMAT ION", + "Ġn oting", + "Ġnot ing", + "Ġno ting", + "Ġ pile", + "Ġp ile", + "Ġpi le", + "Ġpil e", + "o gs", + "og s", + "Ġ palette", + "Ġp alette", + "Ġpa lette", + "Ġpal ette", + "Ġpale tte", + "_ do", + "_d o", + "it ize", + "iti ze", + "0 79", + "07 9", + "( )(", + "() (", + "Ġdef ining", + "Ġdefin ing", + "Ġ remainder", + "Ġremain der", + "Un its", + "Unit s", + "Uni ts", + "_ TASK", + "_T ASK", + "_TA SK", + "Http Client", + "S ocial", + "So cial", + "Ġf undra", + "Ġfun dra", + "Ġfund ra", + "N R", + "c hest", + "ch est", + "che st", + "ches t", + "C urrency", + "Curr ency", + ". adapter", + ".ad apter", + "Ġd op", + "Ġdo p", + "un ting", + "unt ing", + "ANG UAGE", + "\" He", + "\"H e", + "ĉ index", + "ĉin dex", + "_ package", + "_p ackage", + "_pack age", + ". Icon", + ".I con", + "Ġre pet", + "Ġrep et", + "Ġrepe t", + "m ass", + "ma ss", + "mas s", + "= \".$", + "=\" .$", + "=\". $", + "ĠS ud", + "ĠSu d", + "Ġ lid", + "Ġl id", + "Ġli d", + "pro vince", + "prov ince", + "ì ľ", + "G PIO", + "GP IO", + "Ð ļ", + "Ġ MySQL", + "ĠMy SQL", + "Ġ docs", + "Ġd ocs", + "Ġdo cs", + "Ġdoc s", + "Ġ GA", + "ĠG A", + "Ġip sum", + "Ġips um", + "K ernel", + "Ġac cepts", + "Ġaccept s", + "Ġf itting", + "Ġfit ting", + "Ġcu ando", + "Ġd uplic", + "Ġdup lic", + "ĠBr other", + "ĠBro ther", + "ĠK le", + "ĠKl e", + "n ums", + "num s", + "nu ms", + "Ġ morph", + "Ġm orph", + "Ġmor ph", + "Ġ ########", + "Ġ# #######", + "Ġ## ######", + "Ġ### #####", + "Ġ#### ####", + "Ġ##### ###", + "Ġ CGPoint", + "ĠCG Point", + "< unsigned", + "ä¾ ĭ", + "ĠD uke", + "ĠDu ke", + ".set Bounds", + "q s", + "o ric", + "or ic", + "ori c", + "j er", + "je r", + "Ġreg arded", + "Ġregard ed", + "Http Request", + "Ġb onds", + "Ġbo nds", + "Ġbon ds", + "Ġbond s", + "Ġthorough ly", + "en cent", + "ence nt", + "enc ent", + "Ġhighlight ed", + "Ġac res", + "Ġacre s", + "Ġwork place", + "Ġ Lux", + "ĠL ux", + "ĠLu x", + "Ġ quot", + "Ġqu ot", + "Ġquo t", + "9 86", + "98 6", + ". inflate", + ".in flate", + ".inf late", + "Ġd ocumented", + "Ġdocument ed", + "Ġadd iction", + "Ġaddict ion", + "Ġ mutation", + "Ġm utation", + "Ġmut ation", + ". city", + ".c ity", + ".ci ty", + "Ġbott les", + "Ġbottle s", + "Ġ Repository", + "ĠRe pository", + "ĠRepos itory", + "o nn", + "on n", + "err no", + "ARI ABLE", + "åº ¦", + "_ BEGIN", + "_B EGIN", + "_BE GIN", + "g las", + "gl as", + "' })Ċ", + "'} )Ċ", + "'}) Ċ", + "Ġ Massage", + "ĠM assage", + "ĠMass age", + "ĠMas sage", + "ĠW hit", + "ĠWh it", + "reg ex", + "W A", + "Ġout let", + "- head", + "-h ead", + "-he ad", + "Ġ expired", + "Ġex pired", + "Ġexp ired", + "Ġexpire d", + "Ġ Thai", + "ĠT hai", + "ĠTh ai", + "/ include", + "/in clude", + "/inc lude", + "g radient", + "grad ient", + "s canf", + "scan f", + "Ġs eam", + "Ġse am", + "Ġsea m", + "w al", + "wa l", + "ĉ buf", + "ĉb uf", + "B earer", + "Be arer", + "Bear er", + "Ġprec ious", + "Ġprecio us", + "i facts", + "if acts", + "ifact s", + "ifa cts", + "c oord", + "co ord", + "Ġexpl oration", + "Ġexplo ration", + "Ġexplor ation", + ". getY", + ".get Y", + "( handle", + "(h andle", + "(hand le", + "T opic", + "To pic", + "Top ic", + "Ġ Vent", + "ĠV ent", + "ĠVen t", + "ĠVe nt", + "r hs", + "rh s", + "- -----Ċ", + "-- ----Ċ", + "---- --Ċ", + "--- ---Ċ", + "----- -Ċ", + "------ Ċ", + "Ġ Bright", + "ĠB right", + "ĠBr ight", + "ĠBrig ht", + "ĠBri ght", + "Ġ guild", + "Ġg uild", + "Ġgu ild", + "Ġgui ld", + "m other", + "mo ther", + "mot her", + "moth er", + "st orm", + "sto rm", + "stor m", + "Ġmunicip al", + "Ġ ink", + "Ġin k", + "Ġi nk", + ". TYPE", + ".T YPE", + "w l", + ".. . < /", + "_ ro", + "_r o", + "( (*", + "(( *", + "? ???", + "?? ??", + "??? ?", + "_ vertex", + "_ver tex", + "_vert ex", + "ke it", + "ĠH alloween", + "T I", + "Ġ Va", + "ĠV a", + "_ car", + "_c ar", + "_ca r", + "=\" {{$", + "=\"{{ $", + "=\"{ {$", + "Ġrandom ly", + "а ние", + "ан ие", + "ани е", + "Ġsh ocked", + "Ġshock ed", + "ĠPok émon", + "s ignal", + "sign al", + "sig nal", + "Ġ SDK", + "ĠS DK", + "ĠSD K", + "m iddleware", + "middle ware", + "Ġt reating", + "Ġtr eating", + "Ġtreat ing", + "Ġtre ating", + "Ġbur ned", + "Ġburn ed", + "De partment", + "Dep artment", + "Depart ment", + "ĠS pect", + "ĠSp ect", + "ĠSpec t", + "ĠSpe ct", + "Ġ cliente", + "Ġcl iente", + "Ġclient e", + "Ġcli ente", + "Ġ Reddit", + "ĠRe ddit", + "ĠRed dit", + "_ avg", + "_a vg", + "_av g", + "Ġinst alling", + "Ġinstall ing", + "Ġinstal ling", + "_ alpha", + "_al pha", + ", data", + ",d ata", + "Ġ setId", + "Ġset Id", + "Ġ ListView", + "ĠList View", + "( property", + "(p roperty", + "(pro perty", + "(prop erty", + "Ġcross ing", + "Ġ Obj", + "ĠO bj", + "ĠOb j", + "ĠW ard", + "ĠWar d", + "ĠWa rd", + "ĠRedirect To", + "Ġ Present", + "ĠP resent", + "ĠPres ent", + "ĠPre sent", + "Ġdr aws", + "Ġdraw s", + "Ġdra ws", + "ched uled", + "chedule d", + "Ġlegisl ative", + "Ġtw ist", + "Ġ Stra", + "ĠS tra", + "ĠSt ra", + "ĠStr a", + "Ġ AFP", + "ĠA FP", + "ĠAF P", + "ĠC hap", + "ĠCh ap", + "ĠCha p", + "- pr", + "-p r", + ": CGRect", + "Ġ ces", + "Ġc es", + "Ġce s", + "R outes", + "Route s", + "Ro utes", + "n of", + "no f", + "Ġ visa", + "Ġv isa", + "Ġvis a", + "Ġvi sa", + "Ġ TCP", + "ĠT CP", + "ĠTC P", + "ĠE VEN", + "ĠEV EN", + "ĠEVE N", + "iv ial", + "ivia l", + "ivi al", + "Ġ Letter", + "ĠL etter", + "ĠLet ter", + "R AY", + "RA Y", + "Ġ implode", + "Ġim plode", + "Ġimpl ode", + ". eq", + ".e q", + "= '+", + "=' +", + "Ġmot ivated", + "Ġmotiv ated", + "Ġmotivate d", + ". visible", + ".v isible", + ".vis ible", + ". short", + ".s hort", + ".sh ort", + "> manual", + "Ġ Technical", + "ĠTechn ical", + "Ġcorpor ation", + "Ġcorp oration", + "Ġcorpo ration", + "Ġ HW", + "ĠH W", + "an ka", + "ank a", + "T AIL", + "TA IL", + "is tas", + "ist as", + "ista s", + "Ġper forms", + "Ġperform s", + "Ġperfor ms", + "Ġ Behavior", + "ĠBeh avior", + ". For", + ".F or", + "_ ORDER", + "_OR DER", + "_ORD ER", + "Ġ Kick", + "ĠK ick", + "ĠKi ck", + "Ġ callbacks", + "Ġcall backs", + "Ġcallback s", + "_ dr", + "_d r", + "u ego", + "ue go", + "h ub", + "hu b", + "uff icient", + "s ky", + "sk y", + "Ġ bp", + "Ġb p", + "h table", + "ht able", + "hta ble", + "Ġ ONLY", + "ĠON LY", + "ĠAUTH ORS", + "ĠAUTHOR S", + ". Argument", + ".Arg ument", + "\" };Ċ", + "\"} ;Ċ", + "Ġ Thunder", + "ĠTh under", + "ĠThu nder", + "Ġ Kom", + "ĠK om", + "ĠKo m", + ". Should", + ".Sh ould", + "A UTH", + "AU TH", + "AUT H", + "a hu", + "ah u", + "_ payment", + "_p ayment", + "_pay ment", + "Ġ starter", + "Ġst arter", + "Ġstart er", + "Ġstar ter", + "ìĦ ľ", + "ìļ ©", + "B log", + "Bl og", + "Blo g", + ". patch", + ".p atch", + ".pat ch", + "Ġgover ned", + "Ġgovern ed", + "as sy", + "ass y", + "- found", + "-f ound", + "Ġthe ater", + "Ġtheat er", + "ĠFont Weight", + "Ġ Batman", + "ĠBat man", + "\" If", + "\"I f", + ". Random", + ".R andom", + "_ delta", + "_d elta", + "_del ta", + "Ġ CE", + "ĠC E", + "Auth enticated", + "Authenticate d", + "Ġd rone", + "Ġdr one", + "Ġdro ne", + "Ġc ous", + "Ġco us", + "Ġcou s", + "r adius", + "rad ius", + "radi us", + "M er", + "Me r", + "( None", + "(N one", + "Ġ NJ", + "ĠN J", + "_ headers", + "_header s", + "_head ers", + "_he aders", + "Ġ amer", + "Ġa mer", + "Ġam er", + "py test", + "Ġ Actions", + "ĠA ctions", + "ĠAct ions", + "ĠAction s", + "ĉ ĉĉĠĠĠĠ", + "ĉĉ ĉĠĠĠĠ", + "ĉĉĉ ĠĠĠĠ", + "ĉĉĉĠĠĠ Ġ", + "ĉĉĉĠ ĠĠĠ", + "ĉĉĉĠĠ ĠĠ", + "Ġ ett", + "Ġe tt", + "Ġet t", + "Ġh oly", + "Ġho ly", + "Ġhol y", + "Ġun comfort", + "ĠN in", + "ĠNi n", + "Ġ Decimal", + "ĠD ecimal", + "ĠDe cimal", + "ĠDec imal", + "Ġ Messages", + "ĠM essages", + "ĠMessage s", + "ĠMess ages", + ". sender", + ".s ender", + ".se nder", + ".send er", + "] ])Ċ", + "]] )Ċ", + "]]) Ċ", + "Ġem brace", + "Ġemb race", + "Ġembr ace", + "Th ough", + "Tho ugh", + "/ sp", + "/s p", + "Ġcult ures", + "Ġculture s", + "Ġcul tures", + "Ġhigh way", + "t ar", + "ta r", + ". fail", + ".f ail", + ".fa il", + "_ hidden", + "_h idden", + "_hi dden", + "_hid den", + "ĠcomponentDid Mount", + "ĠW right", + "ĠWr ight", + "Ġj ag", + "Ġja g", + "_ il", + "_i l", + "../ ../../", + "../../ ../", + "i gu", + "ig u", + "F ood", + "Foo d", + "Fo od", + "Ġ ace", + "Ġa ce", + "Ġac e", + "Ġa ños", + "Ġaño s", + "Ġañ os", + "U SD", + "US D", + "Ġmut ual", + "Ġmu tual", + "Log ic", + "Ġt emple", + "Ġtem ple", + "Ġtemp le", + "Ġtempl e", + "Ġbrief ly", + "Ġ Trip", + "ĠT rip", + "ĠTr ip", + "ĠTri p", + "class method", + "default s", + "Ġ chunks", + "Ġch unks", + "Ġchunk s", + ", ,,,", + ",, ,,", + ",,, ,", + "Ġ Reason", + "ĠRe ason", + "$ id", + "$i d", + "- ups", + "-up s", + "-u ps", + "Ġ damn", + "Ġda mn", + "Ġdam n", + "Ġtr ucks", + "Ġtruck s", + "Ġun limited", + "Ġunl imited", + "Ġsc ulpt", + "Ġ Cards", + "ĠC ards", + "ĠCar ds", + "ĠCard s", + "Ġ autor", + "Ġa utor", + "Ġaut or", + "Ġauto r", + "Ġau tor", + "Ġ Testing", + "ĠT esting", + "ĠTest ing", + "ĠTes ting", + "Ġd iese", + "Ġdi ese", + "Ġdie se", + "Ġdies e", + "sh ops", + "shop s", + "ç ´", + "( payload", + "(p ayload", + "Ġ PATH", + "ĠP ATH", + "ĠPA TH", + "ĠPAT H", + "ĠMem orial", + "ĠMemo rial", + "ĠMemor ial", + "Ġridic ulous", + "e gree", + "eg ree", + "egr ee", + "-w inning", + "-win ning", + "Ġre hab", + "Ġreh ab", + "Ġsophistic ated", + "w pdb", + "wp db", + "ĉ path", + "ĉp ath", + "! \";Ċ", + "!\" ;Ċ", + "_ SYS", + "_S YS", + "_SY S", + ". speed", + ".s peed", + ".sp eed", + "Ġ soap", + "Ġso ap", + "s uffix", + "W rap", + "Wr ap", + "Ġenh ancement", + "Ġenhance ment", + "à ī", + "ú b", + "Ġ playlist", + "Ġplay list", + "Ġmix ing", + "Ġmi xing", + "Ġmixin g", + "ant idad", + "anti dad", + "=\" \";Ċ", + "=\"\" ;Ċ", + "Ġ Revision", + "ĠRe vision", + "ĠRev ision", + "Ġ Beat", + "ĠB eat", + "ĠBe at", + "ĠBea t", + ". inc", + ".in c", + ".i nc", + "- way", + "-w ay", + "e ncias", + "enc ias", + "encia s", + "enci as", + "u lers", + "ul ers", + "ule rs", + "uler s", + "C at", + "Ca t", + "i del", + "id el", + "ide l", + "Ġ Ship", + "ĠS hip", + "ĠSh ip", + "ĠShi p", + ". setColor", + ".set Color", + "Ġthreat ening", + "Ġthreaten ing", + ". modules", + ".module s", + ".mod ules", + "Ġafter wards", + "Ġafterward s", + "Ġ Dashboard", + "ĠD ashboard", + "ĠDash board", + "Ċ ĠĊ", + "S ignal", + "Sign al", + "Sig nal", + "Ġ primer", + "Ġpr imer", + "Ġprim er", + "Ġprime r", + "Ġpri mer", + "or neys", + "orney s", + "orne ys", + "ici ary", + "icia ry", + "iciar y", + "Ġ ligne", + "Ġl igne", + "Ġli gne", + "Ġlig ne", + "Ġlign e", + "_ predict", + "_p redict", + "_pre dict", + "_pred ict", + "Ġa est", + "Ġae st", + "Ġaes t", + "_ https", + "_http s", + "_ht tps", + "> :", + "Ġ Lex", + "ĠL ex", + "ĠLe x", + "Ġren contres", + "Ġrencont res", + "Ġrencontre s", + "Ġrencontr es", + "eg ral", + "egr al", + "egra l", + "s cala", + "sc ala", + "scal a", + "_ family", + "_f amily", + "ÃŁ en", + "ÃŁe n", + "_ sym", + "_s ym", + "_sy m", + "Ġunc ertainty", + "Ġuncert ainty", + "Ġuncertain ty", + "Ġ VALUE", + "ĠVAL UE", + "Ġ };čĊčĊ", + "Ġ} ;čĊčĊ", + "Ġ};čĊ čĊ", + "Ġ}; čĊčĊ", + "Ġbr oader", + "Ġbro ader", + "Ġbroad er", + "Ġh orses", + "Ġhor ses", + "Ġhorse s", + "Ġhors es", + "ãģ Ŀ", + "Ġ Kal", + "ĠK al", + "ĠKa l", + "o ba", + "ob a", + "_ INET", + "_IN ET", + "_I NET", + "Ġ Kill", + "ĠK ill", + "ĠKi ll", + "ĠKil l", + "j query", + "a mination", + "am ination", + "amin ation", + "ami nation", + "amina tion", + "[ @\"", + "[@ \"", + "Ġm uj", + "Ġmu j", + "# ##Ċ", + "## #Ċ", + "### Ċ", + "First OrDefault", + "then Return", + "C he", + "Ch e", + "/ footer", + "/f ooter", + "/foo ter", + "Ġp arks", + "Ġpar ks", + "Ġpark s", + "as je", + "ĠG ulf", + "ĠGu lf", + "ĠGul f", + "Ġmod est", + "Ġmode st", + "Ġmo dest", + "Ġmodes t", + ". Init", + ".I nit", + ".In it", + "ï¼Ł ĊĊ", + "ï¼ŁĊ Ċ", + "Ġpros pects", + "Ġprospect s", + "Ġ svg", + "Ġs vg", + "Ġsv g", + "Ġ åı", + "Ġå ı", + ". Dialog", + ".D ialog", + ".Di alog", + ".Dial og", + "_ NET", + "_N ET", + "_NE T", + "Ġ (($", + "Ġ( ($", + "Ġ(( $", + "Ġ ek", + "Ġe k", + "Ġ Warning", + "ĠW arning", + "ĠWar ning", + "ĠWarn ing", + "Ġ MK", + "ĠM K", + "< LM", + "", + ")= >", + "Ġ Repair", + "ĠRe pair", + "ĠRep air", + "_ BE", + "_B E", + "B rand", + "Br and", + "u art", + "ua rt", + "uar t", + "p review", + "pr eview", + "pre view", + "prev iew", + "Ġiniti atives", + "Ġinitiative s", + "r unning", + "run ning", + "b ang", + "ba ng", + "ban g", + "ĉ update", + "ĉup date", + "Ġ Coach", + "ĠCo ach", + "R ich", + "Ġ youtube", + "Ġy outube", + "Ġyou tube", + "Ġrit ual", + "Ġri tual", + "ap pa", + "app a", + "ĠRob inson", + "ĠRobin son", + "p recision", + "pre cision", + "prec ision", + "//// ////////////////////////////////////////////////////////////////////////", + "//////// ////////////////////////////////////////////////////////////////////", + "//////////////// ////////////////////////////////////////////////////////////", + "//////////////////////////////////////////////////////////////// ////////////", + "//////////// ////////////////////////////////////////////////////////////////", + "//////////////////////////////////////////////////////////////////////// ////", + "//////////////////////////////////////////////////////////////////// ////////", + "//////////////////////////////////////////////////////////// ////////////////", + "= []Ċ", + "=[ ]Ċ", + "=[] Ċ", + "Ġcelebr ated", + "Ġcelebrate d", + "O TO", + "OT O", + "Ġin clusion", + "Ġincl usion", + "Ġinclus ion", + "J P", + "' ;čĊčĊ", + "'; čĊčĊ", + "';čĊ čĊ", + "Ġnot able", + "Ġno table", + "Ġnota ble", + "( _.", + "(_ .", + "Man aged", + "Manage d", + "Mana ged", + "Ġgu ides", + "Ġguide s", + "Ġguid es", + "Ġgui des", + "& nbsp", + "ated Route", + "Ġ Adjust", + "ĠAd just", + "ĠAdj ust", + "Ġcol ored", + "Ġcolor ed", + "Ġcolore d", + "_ scores", + "_s cores", + "_score s", + "_sc ores", + "Ġ Tesla", + "ĠTe sla", + "ĠTes la", + "_ progress", + "_pro gress", + "_prog ress", + ". inst", + ".in st", + ".i nst", + ".ins t", + "[ '_", + "[' _", + ". flags", + ".f lags", + ".fl ags", + ".flag s", + "Ġ fclose", + "Ġf close", + "Ġfc lose", + "_ OPER", + "_O PER", + "_OP ER", + "ż y", + "_ note", + "_n ote", + "_no te", + "_not e", + "Ġtrans gender", + "å ķ", + "RI PT", + "Ġab sent", + "Ġabs ent", + "Ġ amet", + "Ġa met", + "Ġam et", + "Ġ operand", + "Ġoper and", + "Ġopera nd", + "ë ©", + "Ġ hood", + "Ġh ood", + "Ġho od", + "to LowerCase", + "a vo", + "av o", + "ĠC ircuit", + "ĠCirc uit", + "ĠL ind", + "ĠLin d", + "ĠLi nd", + "-- }}Ċ", + "= m", + "Ġ suppress", + "Ġsup press", + "Ġsupp ress", + "Ġ MAP", + "ĠM AP", + "ĠMA P", + "i ang", + "ia ng", + "ian g", + "- admin", + "-ad min", + "Ġ sidebar", + "Ġs idebar", + "Ġside bar", + "Ġ Bu", + "ĠB u", + "Ġ Hex", + "ĠH ex", + "ĠHe x", + ", F", + "Ġ Signal", + "ĠS ignal", + "ĠSign al", + "ĠSig nal", + "Ġtrans parency", + "ĠF ederation", + "ĠFeder ation", + "ĠFed eration", + "/ V", + "R eq", + "Re q", + "Ġ pulse", + "Ġp ulse", + "Ġpul se", + "Ġpu lse", + "Ġpuls e", + "Ġt ends", + "Ġte nds", + "Ġten ds", + "Ġtend s", + "Number s", + "Num bers", + "% '", + "Ġde port", + "Ġdep ort", + "d atas", + "data s", + "da tas", + "dat as", + "_ UINT", + "_U INT", + "_UI NT", + "_ tra", + "_t ra", + "_tr a", + "o ko", + "ok o", + "Ġ \"?", + "Ġ\" ?", + "com pet", + "comp et", + "so lete", + "sole te", + "sol ete", + "un dry", + "und ry", + "Ġ overlap", + "Ġover lap", + "Ġoverl ap", + "} `,Ċ", + "}` ,Ċ", + "}`, Ċ", + ". ly", + ".l y", + "_ summary", + "_sum mary", + "Ġ Lost", + "ĠL ost", + "ĠLo st", + "ĠLos t", + ". Center", + ".C enter", + "Ġdis ability", + ". Serialization", + ".S erialization", + ".Serial ization", + "Ġ geom", + "Ġge om", + "Ġgeo m", + "Ġ ?:", + "Ġ? :", + "Ġ Wo", + "ĠW o", + "Ġsh ipped", + "Ġship ped", + "Ĥ æķ°", + "Ġu gly", + "Ġug ly", + "Ġugl y", + "Ġexcit ement", + "Ġex terior", + "Ġext erior", + "Ġexter ior", + "Ġ checkout", + "Ġcheck out", + "Ġ kur", + "Ġk ur", + "Ġku r", + ", D", + "ĠAl aska", + "ĠAla ska", + "Ġsyn thetic", + "Ġsynth etic", + "Ġsynt hetic", + "Ġ Budget", + "ĠB udget", + "ĠBud get", + "Ġ Subscribe", + "ĠSub scribe", + "Ġ &Ċ", + "Ġ& Ċ", + "ÈĻ i", + "Ġ Yu", + "ĠY u", + "ĉ query", + "} .Ċ", + "}. Ċ", + "Ġtr aged", + "Ġtra ged", + "Ġtrag ed", + "as sen", + "ass en", + "asse n", + "Ġaccom modation", + "Ġaccommod ation", + "Ġphys ician", + "Ġphysic ian", + "Ġre named", + "Ġren amed", + "Ġrename d", + "Ġt idak", + "Ġtid ak", + "z Äħ", + "Ġ minus", + "Ġm inus", + "Ġmin us", + "n ych", + "ny ch", + "0 97", + "09 7", + "_EX CEPTION", + "th reads", + "thread s", + "Ġt ire", + "Ġti re", + "Ġtir e", + "_ created", + "_c reated", + "_create d", + "_cr eated", + "_cre ated", + "en sure", + "ens ure", + "Ġ worthy", + "Ġw orthy", + "Ġwor thy", + "Ġworth y", + "Ġexc use", + "Ġ cloth", + "Ġc loth", + "Ġcl oth", + "Ġclo th", + "Ġclot h", + ". parentNode", + ".parent Node", + "/ platform", + "/pl atform", + "ĠU FC", + "ĠUF C", + "Ġ Gtk", + "ĠG tk", + "un ny", + "unn y", + "Ġg ibt", + "Ġgi bt", + "Ġgib t", + "ke ley", + "kel ey", + "h um", + "hu m", + "( tx", + "(t x", + "ĉ dev", + "ĉd ev", + "ĉde v", + "Ġout fit", + "Ġoutf it", + "do ors", + "door s", + "Ġ fon", + "Ġf on", + "Ġfo n", + "i cut", + "ic ut", + "v olatile", + "vol atile", + "Ġhom osex", + "Ġhomo sex", + "Max imum", + "Ġex pend", + "Ġexp end", + "Ġ });ĊĊĊ", + "Ġ} );ĊĊĊ", + "Ġ});Ċ ĊĊ", + "Ġ});ĊĊ Ċ", + "Ġ}) ;ĊĊĊ", + "Ġ}); ĊĊĊ", + "E q", + "on ders", + "ond ers", + "onder s", + "onde rs", + "de partment", + "dep artment", + "depart ment", + "Ġ Physics", + "ĠPh ysics", + "ĠPhys ics", + "\" });Ċ", + "\"} );Ċ", + "\"}) ;Ċ", + "Ġpar ad", + "Ġpara d", + "Ġpa rad", + ". Str", + ".S tr", + ".St r", + "Ġs ele", + "Ġse le", + "Ġsel e", + "IF IED", + "IFI ED", + "Ġdel ivers", + "Ġdeliver s", + "i van", + "iv an", + "iva n", + "Ġrespons ibilities", + "Ġadvoc ates", + "Ġadvocate s", + "è µ", + "Ġ RID", + "ĠR ID", + "ĠRI D", + ". parameters", + ".param eters", + ".parameter s", + "M etrics", + "Met rics", + "Metric s", + "ron ics", + "ronic s", + "Ġ UITableViewCell", + "ĠUI TableViewCell", + "ĠUITableView Cell", + "A bsolute", + "Abs olute", + "ip se", + "ips e", + "y lum", + "yl um", + "ML Element", + "MLE lement", + "_ VALID", + "_VAL ID", + "< title", + " \\<^", + ">\\< ^", + "Ġ ios", + "Ġi os", + "Ġio s", + "s ound", + "so und", + "sou nd", + "\" ];", + "\"] ;", + "Ġf reed", + "Ġfr eed", + "Ġfree d", + "Ġfre ed", + "r ottle", + "rot tle", + "rott le", + "Ġ Lower", + "ĠL ower", + "ĠLo wer", + "ĠLow er", + "ĠLowe r", + "[ count", + "[c ount", + "å Ŀ", + "Ġp ale", + "Ġpa le", + "Ġpal e", + "ĠW ayne", + "ĠWay ne", + "ĠWa yne", + "e arth", + "ear th", + "_ categories", + "_c ategories", + "U CK", + "UC K", + ". metadata", + ".m etadata", + ".meta data", + ".met adata", + "Ġsum mon", + "Ġsumm on", + "H OME", + "HO ME", + "олÑĮ з", + "Ġmanufact ured", + "Ġmanufacture d", + "Ġ dock", + "Ġd ock", + "Ġdo ck", + "Ġdoc k", + "Ġcompet itors", + "Ġcompetitor s", + "Ġcompetit ors", + "_ MODEL", + "_MODE L", + "_MO DEL", + "_MOD EL", + "ok ia", + "oki a", + "Ġ Hey", + "ĠH ey", + "ĠHe y", + "Î ¿", + "Ġ backward", + "Ġback ward", + "ĠPO SS", + "ĠPOS S", + "r opa", + "ro pa", + "rop a", + "Ġ cri", + "Ġc ri", + "Ġcr i", + "_ OBJ", + "_O BJ", + "Trans port", + "- high", + "-h igh", + "Ġerot ik", + "Ġero tik", + "_ slot", + "_s lot", + "_sl ot", + "Ġ artic", + "Ġar tic", + "Ġart ic", + "_ framework", + "_f ramework", + "_frame work", + "_fr amework", + "-s erif", + "-se rif", + "-ser if", + "ĠSql DbType", + "' )(", + "') (", + "+ \"/", + "+\" /", + "Ġw ore", + "Ġwor e", + "Ġwo re", + "S il", + "Si l", + "Ġst oring", + "Ġstor ing", + "Ġsto ring", + "Ġ Phase", + "ĠPh ase", + "u ant", + "ua nt", + "uan t", + "Ġb ump", + "Ġbu mp", + "Ġbum p", + "in ho", + "inh o", + "Ġd ign", + "Ġdi gn", + "Ġdig n", + "Ġ backs", + "Ġb acks", + "Ġback s", + "Ġba cks", + "Ġbac ks", + "q q", + "( hash", + "(h ash", + "(has h", + "Ġ geo", + "Ġg eo", + "Ġge o", + "Ġt ender", + "Ġte nder", + "Ġten der", + "Ġtend er", + "L ogo", + "Log o", + "Lo go", + "! )Ċ", + "!) Ċ", + "Ġ MX", + "ĠM X", + "Ġ Arthur", + "ĠAr thur", + "ĠArt hur", + "ĠArth ur", + "ess oa", + "esso a", + "_ Ch", + "_C h", + "Ġbed rooms", + "Ġbedroom s", + "=\"# \"><", + "=\"#\" ><", + "=\"#\"> <", + "Ġ throat", + "Ġth roat", + "Ġthro at", + "i nsic", + "in sic", + "ins ic", + "insi c", + ". integer", + ".int eger", + "Ġ primitive", + "Ġpr imitive", + "Ġprim itive", + "Truth y", + "Ġfacilit ate", + "Ġfacil itate", + "Ġcre ativity", + "Ġcreat ivity", + "Ġ DNS", + "ĠD NS", + "ĠDN S", + "Ġ gra", + "Ġg ra", + "Ġgr a", + "u ez", + "ue z", + "Ġcount less", + "ĠP oland", + "ĠPol and", + "ĠPo land", + "' M", + "Ġ Dist", + "ĠD ist", + "ĠDis t", + "ĠDi st", + "Ġ vest", + "Ġv est", + "Ġve st", + "Ġves t", + "Ġcert ification", + "Ġcertif ication", + "á» ij", + "h eld", + "he ld", + "hel d", + "ext ensions", + "extension s", + "( static", + "(st atic", + "(stat ic", + "Ġ grades", + "Ġg rades", + "Ġgr ades", + "Ġgrad es", + "Ġgrade s", + "Ġgra des", + "Ġ Uber", + "ĠU ber", + "ĠUb er", + "ãģ Ł", + "Ġ [])Ċ", + "Ġ[ ])Ċ", + "Ġ[] )Ċ", + "Ġ[]) Ċ", + "d atos", + "da tos", + "dat os", + "dato s", + "Ġ getData", + "Ġget Data", + "ĠCh arg", + "ĠChar g", + "ĠCha rg", + "Ġ BS", + "ĠB S", + ".m icrosoft", + ".micro soft", + ". video", + ".v ideo", + ". direction", + ".d irection", + ".dir ection", + ".di rection", + ".direct ion", + "-> {'", + "->{ '", + "l ua", + "lu a", + "a pest", + "ap est", + "ape st", + "apes t", + "Ġbo iler", + "Ġboil er", + "e rek", + "er ek", + "ere k", + "Ġdec ides", + "Ġdecide s", + "Ġdecid es", + ". jar", + ".j ar", + "I SC", + "IS C", + "Ġ Words", + "ĠW ords", + "ĠWord s", + "ĠWor ds", + "( CON", + "(C ON", + "EMPL ATE", + "ree ze", + "s hots", + "sh ots", + "shot s", + "a pps", + "ap ps", + "app s", + "un ted", + "unt ed", + "unte d", + ". setName", + ".set Name", + ": :<", + ":: <", + "- bold", + "-b old", + "-bo ld", + "ê ²", + "å¯ Ĩ", + "Long rightarrow", + "Ġun fair", + "Ġunf air", + "Ġ earning", + "Ġe arning", + "Ġear ning", + "Ġearn ing", + "Ġ shelf", + "Ġsh elf", + "Ġshe lf", + "Ġshel f", + "UR EMENT", + "URE MENT", + "Ġ idle", + "Ġi dle", + "Ġid le", + "_ MENU", + "_M ENU", + "_ME NU", + ". Custom", + ".C ustom", + "A GER", + "AG ER", + "AGE R", + "- \"", + "_ switch", + "_s witch", + "_sw itch", + "b ecause", + "be cause", + "bec ause", + ") view", + ")v iew", + "m are", + "ma re", + "mar e", + "_ condition", + "_con dition", + "_cond ition", + "Ġ Starting", + "ĠStart ing", + "ĠStar ting", + "M vc", + "( pre", + "(p re", + "(pr e", + "d ump", + "du mp", + "dum p", + "_ LOCK", + "_L OCK", + "_LO CK", + "_LOC K", + "at etime", + "ate time", + ". callback", + ".c allback", + ".call back", + "ĠC er", + "ĠCe r", + "o pol", + "op ol", + "opo l", + "ib rary", + "ibr ary", + "Ġ reservation", + "Ġres ervation", + "Ġreserv ation", + "Ġreserva tion", + "ĉ ĉĉĉĉĉĉĊ", + "ĉĉ ĉĉĉĉĉĊ", + "ĉĉĉĉ ĉĉĉĊ", + "ĉĉĉ ĉĉĉĉĊ", + "ĉĉĉĉĉ ĉĉĊ", + "ĉĉĉĉĉĉ ĉĊ", + "ĉĉĉĉĉĉĉ Ċ", + "l ector", + "le ctor", + "lect or", + "lec tor", + "grad uate", + "Ġgener ous", + "Ġgene rous", + "Ġ ion", + "Ġi on", + "Ġio n", + "r icao", + "ri cao", + "ric ao", + "rica o", + "m q", + "_ complete", + "_com plete", + "_comp lete", + "( cursor", + "(c ursor", + "Ġ FormControl", + "ĠForm Control", + ": center", + ":c enter", + "Ġsub stitute", + "Ġsubstit ute", + "Ġ Planning", + "ĠPl anning", + "ĠPlan ning", + "Ġp ension", + "Ġpens ion", + "Ġrecommend ation", + "Ġ Tags", + "ĠT ags", + "ĠTag s", + "ĠTa gs", + "Ġg ef", + "Ġge f", + "Ġ albums", + "Ġalbum s", + "Ġalb ums", + "Ġ washing", + "Ġw ashing", + "Ġwash ing", + "r oc", + "ro c", + "Ġtr ains", + "Ġtrain s", + "Ġtra ins", + "Ġtrai ns", + "a tings", + "at ings", + "ating s", + "atin gs", + "Ġex ponent", + "Ġexp onent", + "ack bar", + "- ln", + "-l n", + "á g", + ".Data Annotations", + "Ġ EIF", + "ĠE IF", + "ĠEI F", + "ĠMal aysia", + "ĠMalays ia", + "ĉ PORT", + "ĉP ORT", + "on us", + "onu s", + "Ġc lever", + "Ġcl ever", + "Ġcle ver", + "Ġp eu", + "Ġpe u", + "> ĊĊĊĊ", + ">Ċ ĊĊĊ", + ">ĊĊ ĊĊ", + ">ĊĊĊ Ċ", + "Ġ Arguments", + "ĠArg uments", + "ĠArgument s", + "Ġdeb ugging", + "Ġdebug ging", + "( right", + "(r ight", + "' D", + "com pute", + "comp ute", + "comput e", + "Ġfin est", + "Ġfine st", + "Ġfi nest", + "Ġfines t", + "OR AGE", + "ORA GE", + "Ġspect acular", + "ph rase", + "Ġin dia", + "Ġind ia", + "Ġlegend ary", + "b irth", + "bir th", + "Ġ composite", + "Ġcom posite", + "Ġcomp osite", + "Ġcompos ite", + "Ġg rows", + "Ġgr ows", + "Ġgrow s", + "Ġgro ws", + "Ġ TD", + "ĠT D", + "Ġe pid", + "Ġep id", + "Ġlaunch ing", + "] ][", + "]] [", + "Min utes", + "Minute s", + "Ġ Cha", + "ĠC ha", + "ĠCh a", + "Ġclean ed", + "Ġcle aned", + "Ġwitness es", + "u kan", + "uk an", + "uka n", + "ĉ Type", + "ĉT ype", + "Ġh abe", + "Ġhab e", + "Ġha be", + "par agraph", + "para graph", + "ĠJ Panel", + "ĠJP anel", + "ĠH ann", + "ĠHa nn", + "ĠHan n", + "Ġvar ied", + "Ġvari ed", + "Ġva ried", + "Ġ Pokemon", + "ĠP okemon", + "ĠPok emon", + "ĠPoke mon", + "ĠM UST", + "ĠMU ST", + "åĬ ¨", + ". visibility", + ".vis ibility", + "op up", + "^ [", + ". expand", + ".exp and", + "Ġ \"',", + "Ġ\" ',", + "Ġ\"' ,", + ".f asterxml", + "_ auto", + "_a uto", + "_aut o", + "Ġ Sheet", + "ĠS heet", + "ĠShe et", + "m arker", + "mark er", + "mar ker", + "Par cel", + "e ws", + "ew s", + "Ġ Strategy", + "ĠStr ategy", + "ĠStrateg y", + "- making", + "-m aking", + "Ġun ve", + "Ġtr ailing", + "Ġtrail ing", + "Ġtra iling", + "Ġtrai ling", + "Ġcl icks", + "Ġclick s", + "Ġcli cks", + "Ġclic ks", + "Ġ GetComponent", + "ĠGet Component", + "ĉ content", + "ĉc ontent", + "ĉcon tent", + "ĉcont ent", + "IG ENCE", + "ER NEL", + "ERN EL", + "NSMutable Array", + "Ġb reat", + "Ġbr eat", + "Ġbre at", + "Ġharm ful", + "¶ Ī", + "Ġbes ides", + "Ġbeside s", + "Ġb oring", + "Ġbo ring", + "Ġbor ing", + "Ġbrut al", + "Ġbru tal", + "v ang", + "va ng", + "van g", + "( parse", + "(p arse", + "(par se", + "qu ick", + "qui ck", + "Ġ pytest", + "Ġpy test", + "Ġpyt est", + "Ġswitch ing", + "( )]Ċ", + "() ]Ċ", + "()] Ċ", + "Ġ ìĦ", + "Ġì Ħ", + "L ER", + "LE R", + "ĉ font", + "ĉf ont", + "Ġ nett", + "Ġn ett", + "Ġne tt", + "Ġnet t", + ") ]ĊĊ", + ")]Ċ Ċ", + ")] ĊĊ", + "( /\\", + "(/ \\", + "æŀ ľ", + "to Array", + "Ġb reed", + "Ġbr eed", + "Ġbre ed", + "Ġbree d", + "Ġ CAR", + "ĠC AR", + "ĠCA R", + "Ġ Weapon", + "ĠWe apon", + "A bs", + "Ab s", + "t ot", + "to t", + "Ġ setName", + "Ġset Name", + "a ptive", + "apt ive", + "Ġ :,", + "Ġ: ,", + "Ġ escaped", + "Ġesc aped", + "Ġescape d", + "Ġescap ed", + "or den", + "ord en", + "orde n", + "Ġ Pri", + "ĠP ri", + "ĠPr i", + "th umbnail", + "Ġde scriptions", + "Ġdes criptions", + "Ġdescription s", + "Ġdescri ptions", + "/ styles", + "/st yles", + "/style s", + "Ġ PCI", + "ĠP CI", + "ĠPC I", + "Ġ alphabet", + "Ġal phabet", + "Ġalpha bet", + "Ġalph abet", + "astic search", + "astics earch", + "N OTE", + "NO TE", + "NOT E", + "Ġc ialis", + "Ġci alis", + "ĠGr iff", + "ĠGri ff", + "Ġp orque", + "Ġpor que", + "Ġprote ins", + "Ġprotein s", + "p lays", + "pl ays", + "play s", + "pla ys", + "Ġst ating", + "Ġstat ing", + "Ġsta ting", + "Ġstati ng", + "Ġim agination", + "Ġimag ination", + "Ġimagin ation", + "Ġf acial", + "Ġfa cial", + "Ġfac ial", + "ĠM echan", + "ĠMe chan", + "ĠMech an", + "ĠMec han", + "Ġarr anged", + "Ġarrang ed", + "Ġarrange d", + "_ used", + "_u sed", + "_us ed", + "_use d", + "Ġarrang ements", + "Ġarrangement s", + "Ġarrange ments", + "Ġ Pipe", + "ĠP ipe", + "ĠPi pe", + "ĠPip e", + "host name", + "Ġpro vinc", + "Ġprov inc", + "T it", + "Ti t", + ".Flat Style", + "Ġ Split", + "ĠS plit", + "ĠSp lit", + "ĠSpl it", + "Ġ Loader", + "ĠL oader", + "ĠLo ader", + "ĠLoad er", + ". cc", + ".c c", + "Ġ clinic", + "Ġcl inic", + "Ġclin ic", + "Ġcli nic", + "-------- --------------------", + "---------------- ------------", + "------------ ----------------", + "------------- ---------------", + "--------------- -------------", + "-------------- --------------", + "-------------------- --------", + "Ġb aking", + "Ġba king", + "Ġbak ing", + "Ġ ENT", + "ĠE NT", + "ĠEN T", + "ne ath", + "nea th", + "ãĢģ ĊĊ", + "ãĢģĊ Ċ", + "A NE", + "AN E", + ".EntityFramework Core", + "a ppers", + "ap pers", + "app ers", + "apper s", + "appe rs", + ". ic", + ".i c", + "Ġ NgModule", + "ĠNg Module", + "Ġ FORM", + "ĠF ORM", + "ĠFOR M", + "ĠFO RM", + "Ġ ';", + "Ġ' ;", + "- profit", + "-pro fit", + "-prof it", + "h w", + "en emy", + "ene my", + "Ġ Eye", + "ĠE ye", + "ĠEy e", + "Ġca ution", + "Ġcaut ion", + "t own", + "to wn", + "Ġur ged", + "Ġurge d", + "Ġurg ed", + "Ġ Jimmy", + "ĠJim my", + "ynchron ous", + "-s ized", + "-size d", + "m aking", + "ma king", + "mak ing", + ", {", + "] ',", + "]' ,", + "_ Object", + "_O bject", + "_Obj ect", + "ah oma", + "aho ma", + "Ġact ivist", + "Ġactiv ist", + "IN VAL", + "INV AL", + "Ġ Commercial", + "ĠCom mercial", + "ĠComm ercial", + "ĠOr lando", + "( tab", + "(t ab", + "Ġ ب", + "ĠØ ¨", + "Al gorithm", + "Ġher itage", + "Get Mapping", + "Ġfail ures", + "Ġfailure s", + "r ios", + "ri os", + "rio s", + "at iva", + "ati va", + "ativ a", + "Ġ tet", + "Ġt et", + "Ġte t", + "Ġcar pet", + "Ġcarp et", + "( Z", + "th ree", + "thr ee", + "Ġdis closure", + "Ġdisc losure", + ". ERROR", + ".ERR OR", + "_ called", + "_c alled", + "_call ed", + "_cal led", + "Ġd ial", + "Ġdi al", + "Ġdia l", + "Ġoccas ional", + "Ġoccasion al", + ". Err", + ".E rr", + "Ġfun cion", + "Ġfunc ion", + "caff old", + "caf fold", + "Ġre leasing", + "Ġrele asing", + "ï¼ī ĊĊ", + "ï¼īĊ Ċ", + "_ Value", + "_V alue", + "_Val ue", + "Ġ Vari", + "ĠV ari", + "ĠVar i", + "ĠVa ri", + "y ellow", + "Ġstrugg les", + "Ġstruggle s", + ". cal", + ".c al", + ".ca l", + "ĠDak ota", + "ĉ close", + "ĉc lose", + "ĉcl ose", + "Ġsand wich", + "Ġ analytics", + "Ġan alytics", + "Ġanaly tics", + "Ġanalytic s", + "Ġ **)", + "Ġ* *)", + "Ġ** )", + "& #", + "Ġ Jos", + "ĠJ os", + "ĠJo s", + "Ġpass ive", + "AT TR", + "ATT R", + "Th rowable", + "Throw able", + "ĠM un", + "ĠMu n", + "Ġ Uint", + "ĠU int", + "ĠUi nt", + "( disposing", + "(dis posing", + "a rak", + "ar ak", + "ara k", + "Ġ Leaders", + "ĠLe aders", + "ĠLeader s", + "ĠLead ers", + "Ġaffect ing", + "Ġitem View", + "Ġe conomics", + "Ġecon omics", + "Ġeconomic s", + "Ġeconom ics", + "f v", + "๠Ģ", + ". rb", + ".r b", + "Ġ Overall", + "ĠOver all", + "Ġwealth y", + "Ġev olved", + "Ġevolve d", + "n da", + "nd a", + "ĠH us", + "ĠHu s", + "re strict", + "u men", + "um en", + "ume n", + "ĠA gricult", + "ĠAgr icult", + "! ĊĊĊ", + "!ĊĊ Ċ", + "!Ċ ĊĊ", + "Ġ expires", + "Ġex pires", + "Ġexp ires", + "Ġexpire s", + "Ġspokes person", + "int erval", + "inter val", + "Ġ â", + "Ġà ¢", + "Ġ queen", + "Ġqu een", + "Ġque en", + "( nil", + "(n il", + "i ngo", + "in go", + "ing o", + "He ap", + "Ù İ", + "Ġcom plain", + "Ġcomp lain", + "Ġcompl ain", + "S ym", + "Sy m", + "Ġ Clone", + "ĠCl one", + "ĠClo ne", + "Ġ Ru", + "ĠR u", + "ĠW ILL", + "ĠWI LL", + "Ġ Crystal", + "ĠCr ystal", + "ĠCry stal", + "/ content", + "/c ontent", + "/con tent", + "i ngen", + "in gen", + "ing en", + "inge n", + "oint ment", + "Last Name", + "av icon", + "avi con", + "avic on", + "Ġ IBM", + "ĠI BM", + "ĠIB M", + "Ġ Dimension", + "ĠD imension", + "ĠDim ension", + "a nh", + "an h", + "ici pants", + "icip ants", + "icipant s", + "Ġ Anne", + "ĠAn ne", + "ĠAnn e", + ". progress", + ".pro gress", + "Ġ algo", + "Ġal go", + "Ġalg o", + "o bil", + "ob il", + "obi l", + "Ġ Voice", + "ĠV oice", + "ĠVo ice", + "Ġ FE", + "ĠF E", + "Ġ gli", + "Ġg li", + "Ġgl i", + "Ġ ved", + "Ġv ed", + "Ġve d", + "Ġpr events", + "Ġpre vents", + "Ġprevent s", + "Ġprev ents", + "\\ Column", + "\\C olumn", + "Ġ folk", + "Ġf olk", + "Ġfol k", + "Ġfo lk", + "e tti", + "et ti", + "ett i", + "Ġ mn", + "Ġm n", + "Ġ CLASS", + "ĠCL ASS", + "Ġdis playing", + "Ġdisplay ing", + "Ġdispl aying", + "ĠK l", + "ĠF err", + "ĠFe rr", + "ĠFer r", + "d uto", + "du to", + ". ib", + ".i b", + "Ġ dados", + "Ġd ados", + "Ġda dos", + "Ġdad os", + "Ġdado s", + "' name", + "'n ame", + "'na me", + "- space", + "-s pace", + "-sp ace", + "Ġit alian", + "Ġitalia n", + "Ġ inverse", + "Ġin verse", + "Ġinv erse", + "Ġinvers e", + "Ġ dense", + "Ġd ense", + "Ġden se", + "Ġdens e", + "u ter", + "ut er", + "ute r", + "Ġ IEnumerator", + "ĠI Enumerator", + "- sign", + "-s ign", + "Ġnation wide", + "Ġ persona", + "Ġperson a", + "Ġpers ona", + "Ġperso na", + "Ġs olved", + "Ġsol ved", + "Ġsolve d", + "Ġdram atically", + "Ġdramatic ally", + "Log out", + "Logo ut", + "Ġ grav", + "Ġg rav", + "Ġgr av", + "Ġgra v", + "Ġanal yses", + "Ġanaly ses", + "Ġanalys es", + "Ġanalyse s", + "ol lo", + "oll o", + "Ġ lamp", + "Ġl amp", + "Ġla mp", + "Ġlam p", + ". team", + ".t eam", + ".te am", + "Ġ Erot", + "ĠE rot", + "ĠEr ot", + "= [\"", + "=[ \"", + "Ġd ancing", + "Ġdan cing", + "Ġ ?>/", + "Ġ? >/", + "Ġ?> /", + "Ġc ater", + "Ġca ter", + "Ġcat er", + "Ġcate r", + "f fe", + "ff e", + "Ġ Sha", + "ĠS ha", + "ĠSh a", + "ĠB os", + "ĠBo s", + "ĠRE QUIRE", + "Ġ Monster", + "ĠMon ster", + "ĠMons ter", + "Ġ RB", + "ĠR B", + "Ġ IDE", + "ĠI DE", + "ĠID E", + "Ġs uits", + "Ġsu its", + "Ġsuit s", + "Ġsui ts", + "Ġ formData", + "Ġform Data", + "( theta", + "(th eta", + "(the ta", + "Ġs patial", + "Ġsp atial", + "Ġspat ial", + "= NULL", + "=N ULL", + "Ġ SqlConnection", + "ĠSql Connection", + "Ġ à", + "ĠV enez", + "ĠVen ez", + "ĠVe nez", + "Ġ Morning", + "ĠM orning", + "ĠMor ning", + "Ġpublic ations", + "Ġpub lications", + "Ġpublication s", + "ĠNON INFRINGEMENT", + "first Name", + "u ds", + "ud s", + "W ould", + "Wo uld", + "_ HEAD", + "_HE AD", + "Ġinv ested", + "Ġinvest ed", + "Ġinve sted", + "s table", + "st able", + "sta ble", + "stab le", + "f red", + "fr ed", + "fre d", + "Ġcomm ander", + "Ġcommand er", + "Ġcomma nder", + "Ġcommande r", + "S ES", + "SE S", + "âĢĶ a", + "an che", + "anc he", + "anch e", + "Ġ Movement", + "ĠM ovement", + "ĠMo vement", + "ĠMove ment", + "ĠMov ement", + "ë ³", + "S uite", + "Su ite", + "Suit e", + "Ġjur isdiction", + "ë ¦¬", + "ë¦ ¬", + "Ġ Beth", + "ĠB eth", + "ĠBe th", + "ĠBet h", + "j Query", + "ĠI sa", + "ĠIs a", + "Ġd ental", + "Ġden tal", + "Ġdent al", + ", *", + "Ġ Limit", + "ĠL imit", + "ĠLim it", + "ĠLi mit", + "il iation", + "ili ation", + "ilia tion", + "= \"{", + "=\" {", + "b ast", + "ba st", + "bas t", + "Ġt urb", + "Ġtu rb", + "Ġtur b", + "i sy", + "is y", + "O OK", + "OO K", + "Ġadv ocate", + "Ġadvoc ate", + "i mag", + "im ag", + "ima g", + "LE CTION", + "LECT ION", + "LEC TION", + "л ÑĮ", + "( category", + "(c ategory", + ". dec", + ".d ec", + ".de c", + "Ġun iqu", + "Ġuni qu", + "Ġuniq u", + "_ sn", + "_s n", + "Ġat tracted", + "Ġattr acted", + "Ġattract ed", + "Ġ Ãī", + "Ġà ī", + "Ġ Running", + "ĠR unning", + "ĠRun ning", + "_ edges", + "_edge s", + "_ed ges", + "Ġ Disable", + "ĠD isable", + "ĠDis able", + "_ AS", + "_A S", + "åĽ ¾", + "Ġnetwork ing", + "Ġnet working", + "_ branch", + "_br anch", + "H aving", + "Ha ving", + "toBe Truthy", + "G I", + "Ġc amps", + "Ġca mps", + "Ġcamp s", + "Ġcam ps", + "s ep", + "se p", + "- part", + "-p art", + "-par t", + "Ġ )ĊĊĊĊĊĊĊĊ", + "Ġ) ĊĊĊĊĊĊĊĊ", + "Ġ)Ċ ĊĊĊĊĊĊĊ", + "Ġ)ĊĊ ĊĊĊĊĊĊ", + "Ġ)ĊĊĊ ĊĊĊĊĊ", + "ustr alia", + "ustral ia", + "Ġ Reports", + "ĠRe ports", + "ĠRep orts", + "ĠReport s", + "ĠRepo rts", + "r ito", + "ri to", + "rit o", + "Ġwa ist", + "_ plus", + "_p lus", + "_pl us", + "Ġ WW", + "ĠW W", + "- person", + "-p erson", + "-per son", + "Ap ril", + "Apr il", + "Ġ sar", + "Ġs ar", + "Ġsa r", + ". tar", + ".t ar", + ".ta r", + "Ġagricult ural", + "Ġagr icultural", + "t ic", + "ti c", + "Ġ tcp", + "Ġt cp", + "Ġtc p", + "Ġ setValue", + "Ġset Value", + "ag ento", + "agent o", + "agen to", + "Ġ Appe", + "ĠA ppe", + "ĠApp e", + "ĠAp pe", + "p iler", + "pi ler", + "pile r", + "C ADE", + "CA DE", + "CAD E", + "Ġ anche", + "Ġan che", + "Ġanch e", + "Ġanc he", + "at cher", + "atch er", + "Ġc omics", + "Ġcom ics", + "Ġcomic s", + "Ġ lbs", + "Ġl bs", + "Ġlb s", + "_ segment", + "_s egment", + "_se gment", + "_seg ment", + "' ]=$", + "'] =$", + "']= $", + "it ters", + "itt ers", + "itter s", + "itte rs", + "i cher", + "ic her", + "ich er", + "iche r", + "G INE", + "GIN E", + "GI NE", + "Ġutil ize", + "Ġutiliz e", + "Ġ Cursor", + "ĠC ursor", + "ĠCurso r", + "_ expression", + "_ex pression", + "_exp ression", + "_expr ession", + "Ġ dag", + "Ġd ag", + "Ġda g", + "< long", + " < ?=", + "> x", + ". Task", + ".T ask", + "m oney", + "mon ey", + "mo ney", + "ib aba", + "iba ba", + "' });Ċ", + "'} );Ċ", + "'}) ;Ċ", + "Ġ Specific", + "ĠS pecific", + "ĠSpec ific", + "Ġ Linear", + "ĠL inear", + "ĠLine ar", + "ĠLin ear", + "ĠLi near", + "_ OPT", + "_O PT", + "_OP T", + "Hash Code", + "( Player", + "(P layer", + ".Contains Key", + "Ġ collapsed", + "Ġc ollapsed", + "Ġcoll apsed", + "Ġcollapse d", + "Ġcollaps ed", + "trans parent", + "_R ANGE", + "View er", + "( cfg", + "(c fg", + "(cf g", + "Ġ sorting", + "Ġs orting", + "Ġsort ing", + "Ġsor ting", + "Ġinf ected", + "Ġinfect ed", + "Ġ Nach", + "ĠN ach", + "ĠNa ch", + "Ġaccommod ate", + ". elements", + ".e lements", + ".element s", + ".el ements", + ".elem ents", + "_ PART", + "_P ART", + "_PA RT", + "_PAR T", + "Ġ Sexy", + "ĠSe xy", + "ĠSex y", + "= get", + "=g et", + "( year", + "(y ear", + "Ġ xhr", + "Ġx hr", + ": ]", + "ow ski", + "ows ki", + "Ġsum mar", + "Ġsumm ar", + "Ġ ¿", + "Ġ ¿", + "Ġ inte", + "Ġin te", + "Ġint e", + "Ġi nte", + "Ġ workflow", + "Ġwork flow", + "ĠTai wan", + "v ersions", + "vers ions", + "version s", + "åı ij", + "Ġsur prisingly", + "Ġsurprising ly", + "Ġop tical", + "Ġopt ical", + "Ġoptic al", + "Ġpro ces", + "Ġproc es", + "Ġdis agree", + "Ġdisag ree", + "Ġn uevo", + "Ġnue vo", + "Ġ CAM", + "ĠC AM", + "ĠCA M", + "s orted", + "sort ed", + "le ases", + "lease s", + "lea ses", + "is tle", + "ist le", + "I dent", + "Id ent", + "Ide nt", + "ĉ event", + "ĉe vent", + "ĉev ent", + "j ected", + "ject ed", + "jec ted", + "Ch unk", + "V ars", + "Var s", + "Va rs", + ". provider", + ".pro vider", + "Ġproceed ings", + "Ġproceeding s", + "Ġ inclusive", + "Ġin clusive", + "Ġincl usive", + "Ġinclus ive", + "Ġart work", + "end ants", + "enda nts", + "endant s", + "ï¼ļ Ċ", + "s een", + "se en", + "see n", + "Ġ lig", + "Ġl ig", + "Ġli g", + "Ġ makers", + "Ġm akers", + "Ġmake rs", + "Ġma kers", + "Ġmaker s", + "Ġmak ers", + "_ fun", + "_f un", + "_fu n", + "Ġlength s", + "Ġleng ths", + "Path Variable", + "[ item", + "[i tem", + "[it em", + "ภµ", + "D ead", + "De ad", + "FF FFFF", + "FFFF FF", + "FFF FFF", + "Ġ Urban", + "ĠUr ban", + "ĠUrb an", + "u ples", + "up les", + "uple s", + "i chen", + "ic hen", + "ich en", + "iche n", + "( nullptr", + "(null ptr", + ". spec", + ".s pec", + ".sp ec", + ", System", + ",S ystem", + "U RATION", + "UR ATION", + "URA TION", + "( job", + "(j ob", + "å¼ ı", + "Ġ tracker", + "Ġtr acker", + "Ġtrack er", + "Ġtra cker", + "Å Ļ", + "Ġ MR", + "ĠM R", + "Ġ SQLite", + "ĠSQL ite", + "ĠSQ Lite", + "Ġ dto", + "Ġd to", + "Ġdt o", + "Ġ ;;Ċ", + "Ġ; ;Ċ", + "Ġ;; Ċ", + "Ġ mint", + "Ġm int", + "Ġmin t", + "Ġmi nt", + "Ġ Introduction", + "ĠInt roduction", + "ĠIntro duction", + "c ao", + "ca o", + "Ġquest ioned", + "Ġquestion ed", + "Ġquesti oned", + "Ġf itted", + "Ġfit ted", + "Ġfitte d", + "re vision", + "rev ision", + "s q", + "Ġm ig", + "Ġmi g", + "_ units", + "_un its", + "_unit s", + "_ async", + "_a sync", + "_as ync", + "Ġf lick", + "Ġfl ick", + "} );ĊĊĊ", + "});Ċ ĊĊ", + "});ĊĊ Ċ", + "}) ;ĊĊĊ", + "}); ĊĊĊ", + "Ġn otre", + "Ġnot re", + "Ġno tre", + "} `,", + "}` ,", + "F ilters", + "Filter s", + "Fil ters", + "Ġm undo", + "Ġmu ndo", + "Ġmund o", + "Ġmun do", + "_ days", + "_d ays", + "_day s", + "_da ys", + "Ġ frm", + "Ġf rm", + "Ġfr m", + "u tc", + "ut c", + "Ġ vals", + "Ġv als", + "Ġval s", + "Ġva ls", + "e width", + "ew idth", + "Ġ Generator", + "ĠG enerator", + "ĠGener ator", + "ĠGen erator", + "Ġ Artist", + "ĠArt ist", + "Ġ IDs", + "ĠI Ds", + "ĠID s", + "Ġ Articles", + "ĠArt icles", + "ĠArticle s", + "re ater", + "reate r", + "reat er", + "rea ter", + "ĠComponent Fixture", + ". =", + "Ġ rou", + "Ġr ou", + "Ġro u", + "- no", + "-n o", + ".b ukkit", + "e gg", + "eg g", + "Ġ Diff", + "ĠD iff", + "ĠDi ff", + "a tics", + "at ics", + "atic s", + "ati cs", + "Ñĥ Ñĩ", + "âĢĶ ĊĊ", + "Ġ Charlotte", + "ĠChar lotte", + "ĠCharl otte", + "b ye", + "by e", + "Ġ });čĊčĊ", + "Ġ} );čĊčĊ", + "Ġ}) ;čĊčĊ", + "Ġ});čĊ čĊ", + "Ġ}); čĊčĊ", + "ĠV ik", + "ĠVi k", + "ĠB row", + "ĠBr ow", + "ĠBro w", + "Ġ lv", + "Ġl v", + "ĠG ib", + "ĠGi b", + "- wing", + "-w ing", + "-win g", + "GL IGENCE", + "( Il", + "(I l", + "ĠEngine er", + ". Wait", + ".W ait", + "Ġ Pictures", + "ĠP ictures", + "ĠPicture s", + "ĠPic tures", + "Ġr het", + "Ġrh et", + "Ġrhe t", + "Ġ thermal", + "Ġth ermal", + "Ġther mal", + "Ġtherm al", + "Ġp raise", + "Ġpr aise", + "Ġpra ise", + "< >();ĊĊ", + "<>();Ċ Ċ", + "<>( );ĊĊ", + "<> ();ĊĊ", + "Ġ Spider", + "ĠSp ider", + "ĠSpi der", + "P ause", + "Pa use", + "ĠB aker", + "ĠBa ker", + "ĠBak er", + "ĠBake r", + "Ġs lower", + "Ġsl ower", + "Ġslow er", + "Ġslo wer", + "Ġ }]Ċ", + "Ġ} ]Ċ", + "Ġ}] Ċ", + "_ enqueue", + "_en queue", + "Ġdis appeared", + "Ġdisappe ared", + "Ġdisappear ed", + "Ġ Ticket", + "ĠT icket", + "ĠTi cket", + "ĠTick et", + "ĠTic ket", + "IN UX", + "INU X", + "_ LOCAL", + "_LO CAL", + "_LOC AL", + "аÑģ Ñģ", + "@Inject able", + "comm unity", + "G estureRecognizer", + "Gesture Recognizer", + "åĽ ½", + "Ġs cales", + "Ġsc ales", + "Ġscale s", + "Ġsca les", + "Ġscal es", + "Ġ -(", + "Ġ- (", + "/ '+", + "/' +", + "Ġ Sit", + "ĠS it", + "ĠSi t", + "Ġexecutive s", + "Ġexecut ives", + "ar ding", + "ard ing", + "ardi ng", + "ardin g", + "Ġad vers", + "Ġadv ers", + "Ġback wards", + "Ġbackward s", + "ĉ context", + "ĉcon text", + "ĉcont ext", + "ĠH amp", + "ĠHam p", + "ĠHa mp", + "Ġ PF", + "ĠP F", + "Ġ Deck", + "ĠD eck", + "ĠDe ck", + "ĠDec k", + "Ġ Craig", + "ĠC raig", + "ĠCra ig", + "A merican", + "Americ an", + "America n", + "Ġ bell", + "Ġb ell", + "Ġbe ll", + "Ġbel l", + "Ġp rol", + "Ġpro l", + "Ġpr ol", + "u fen", + "uf en", + "ufe n", + "Ġ rng", + "Ġr ng", + "Ġrn g", + "ar shal", + "ars hal", + "Ġ Simply", + "ĠSim ply", + "ĠSimpl y", + "first name", + "sh ore", + "J uly", + "Jul y", + "Ju ly", + "Ġm ortality", + "Ġmort ality", + "Ġmortal ity", + "ĠâĨĴ ĊĊ", + "H elpers", + "Helper s", + "Help ers", + "Hel pers", + "Ġ benchmark", + "Ġb enchmark", + "Ġbench mark", + "e made", + "em ade", + "ema de", + "Ġorgan isations", + "Ġorganis ations", + "Ġorganisation s", + ".g son", + ".gs on", + "Ġ TextField", + "ĠT extField", + "ĠText Field", + "Ġcivil ians", + "Ġciv ilians", + "Ġcivilian s", + ". Arrays", + ".Array s", + ".Ar rays", + "ĠMiss issippi", + "Ġinter mediate", + "Ġintermedi ate", + "get User", + "_ cluster", + "_cl uster", + "Rel ative", + "fore ign", + ".querySelector All", + "Fore ignKey", + "Foreign Key", + "Ġreason ably", + "- --------Ċ", + "-- -------Ċ", + "---- -----Ċ", + "-------- -Ċ", + "--- ------Ċ", + "----- ----Ċ", + "------ ---Ċ", + "------- --Ċ", + "--------- Ċ", + "C ards", + "Card s", + "Car ds", + "ĠK am", + "ĠKa m", + "Ġ Thor", + "ĠT hor", + "ĠTh or", + "Ġ roller", + "Ġr oller", + "Ġro ller", + "Ġroll er", + "Ġrol ler", + "- element", + "-e lement", + "-el ement", + "Ġ Currency", + "ĠC urrency", + "d die", + "dd ie", + "AL LY", + "ALL Y", + "Ġ RA", + "ĠR A", + "Ġper met", + "Ġperm et", + "Ġperme t", + "a aaa", + "aa aa", + "aaa a", + "Ġhome work", + "Ġhom ework", + "ĠV it", + "ĠVi t", + "Ġm old", + "Ġmo ld", + "Ġmol d", + "ĠF er", + "ĠFe r", + "[ start", + "Ġstat istical", + "Ġstatist ical", + "Ġstatistic al", + "Ġsc ary", + "Ġsca ry", + "Ġscar y", + "_ HOME", + "_H OME", + ". Begin", + ".B egin", + ".Be gin", + "Con struct", + "o genic", + "og enic", + "ogen ic", + "oge nic", + "ĠDEAL INGS", + "Ġtamb ién", + "i xon", + "ix on", + "ixo n", + ". ind", + ".in d", + ".i nd", + "a cre", + "ac re", + "acr e", + "Ġ transforms", + "Ġtrans forms", + "Ġtransform s", + "ĠN ap", + "ĠNa p", + ". Block", + ".B lock", + ".Bl ock", + "uss ia", + "p iration", + "pi ration", + "pir ation", + "ul ent", + "ule nt", + "ulen t", + "Ġ ceil", + "Ġc eil", + "Ġce il", + "Cl ause", + "Cla use", + "n aire", + "na ire", + "T ES", + "TE S", + "Ġn eat", + "Ġne at", + "S TD", + "ST D", + "Ġ RegExp", + "ĠReg Exp", + "per form", + "perf orm", + ": )", + "Ġun ions", + "Ġunion s", + "Ġuni ons", + "Ġs ublic", + "Ġsub lic", + "Ġw inds", + "Ġwin ds", + "Ġwind s", + "Ġwi nds", + "lo ating", + "loat ing", + "g lich", + "gl ich", + "gli ch", + "Ġ pagination", + "Ġp agination", + "Ġpag ination", + "Ġpagina tion", + "S kill", + "Sk ill", + "App ly", + "Ap ply", + "Ġ Operator", + "ĠO perator", + "ĠOper ator", + "ĠOp erator", + "ĠOpera tor", + "ist ogram", + "isto gram", + "Ġ qualities", + "Ġqual ities", + "Ġquali ties", + "C ross", + "Cr oss", + "Cro ss", + "Ġd ecom", + "Ġde com", + "Ġdec om", + "Ġdeco m", + "] ,\"", + "], \"", + "Ġ Juan", + "ĠJ uan", + "ĠJu an", + ". modal", + ".m odal", + ".mod al", + ".mo dal", + ". Child", + ".Ch ild", + "Ġ Roger", + "ĠR oger", + "ĠRo ger", + "ĠRog er", + "STIT UTE", + ":CGRect Make", + "a lette", + "al ette", + "ale tte", + "alet te", + "Ġ sta", + "Ġs ta", + "Ġst a", + "a side", + "as ide", + "asi de", + "Ġ blur", + "Ġbl ur", + "Ġ Wa", + "ĠW a", + "if etime", + "ife time", + "r eed", + "re ed", + "ree d", + "control s", + "contr ols", + "contro ls", + "Ġ bins", + "Ġb ins", + "Ġbi ns", + "Ġbin s", + "Ġ пол", + "Ġп ол", + "Ġпо л", + "* /,Ċ", + "*/ ,Ċ", + "*/, Ċ", + "U IS", + "UI S", + "ĠR ou", + "ĠRo u", + "Ġ Demo", + "ĠD emo", + "ĠDe mo", + "ĠDem o", + "- awesome", + "Ġ Chain", + "ĠCh ain", + "ĠCha in", + "Ġh asta", + "Ġhas ta", + "Ġha sta", + "Ġhast a", + "ĠB art", + "ĠBar t", + "ĠBa rt", + ". KEY", + ".K EY", + "Ġ vendors", + "Ġv endors", + "Ġvend ors", + "Ġvendor s", + "no follow", + "nof ollow", + "Ġ Dest", + "ĠD est", + "ĠDe st", + "ĠDes t", + "_ builder", + "_b uilder", + "_build er", + "Ġarg ues", + "Ġargue s", + "_ answer", + "_an swer", + "_ans wer", + "g oto", + "go to", + "got o", + "Ġ RESULT", + "ĠRES ULT", + "Ġ MON", + "ĠM ON", + "ĠMO N", + "Ġp oder", + "Ġpo der", + "Ġpod er", + "Ġpode r", + "o ons", + "oo ns", + "oon s", + "_ CASE", + "_C ASE", + "_CA SE", + "Ġrep lic", + "Ġrepl ic", + "Ġfin ancing", + "Ġfinanc ing", + "Ġfinan cing", + "Ġ DATE", + "ĠD ATE", + "ĠDA TE", + "ĠDAT E", + "c ern", + "ce rn", + "cer n", + "_ track", + "_t rack", + "_tr ack", + "_tra ck", + "t ies", + "ti es", + "tie s", + "/ logo", + "/l ogo", + "/log o", + "/lo go", + "ĠNE GLIGENCE", + "get Type", + "> T", + "b et", + "be t", + "g irl", + "gi rl", + "ĠINCIDENT AL", + "- site", + "-s ite", + ". trigger", + ".tr igger", + "Ġ Lisa", + "ĠL isa", + "ĠLi sa", + "ĠLis a", + "_ inputs", + "_in puts", + "_input s", + "_inp uts", + "Ġrel atives", + "Ġrelative s", + "Ġrelativ es", + "Ġrelat ives", + "Logged In", + "Con figure", + "Config ure", + "Conf igure", + "I K", + ". accept", + ".ac cept", + ".acc ept", + "Re sume", + "Res ume", + "Ġ Draft", + "ĠD raft", + "ĠDr aft", + "ĠDra ft", + "Ġ *>(", + "Ġ* >(", + "Ġ*> (", + "Ġ WA", + "ĠW A", + "ed ian", + "edia n", + "edi an", + "er ness", + "ern ess", + "erne ss", + "ernes s", + "Ġ LayoutInflater", + "ĠLayout Inflater", + "* /čĊčĊ", + "*/ čĊčĊ", + "*/čĊ čĊ", + "o thy", + "ot hy", + "oth y", + "Ġoblig ation", + "Ġobl igation", + "Sub scribe", + "Ġ thumbnail", + "Ġth umbnail", + "ex ist", + "Ġins isted", + "Ġinsist ed", + "Ġ UICollectionView", + "ĠU ICollectionView", + "ĠUI CollectionView", + "Ġ Angular", + "ĠAng ular", + "Ġtable ts", + "Ġtab lets", + "Ġtablet s", + "Ġ Impact", + "ĠImp act", + "ãĢį ĊĊ", + "ãĢįĊ Ċ", + "a ho", + "ah o", + "Ġcharacter istic", + "g d", + "Ġ= ================================================", + "Ġ================= ================================", + "Ġ================================= ================", + "o urt", + "ou rt", + "our t", + "` .", + "App ro", + "Ap pro", + "Co ordinate", + "Coord inate", + "Re member", + "Rem ember", + "Ġ marine", + "Ġm arine", + "Ġmar ine", + "Ġma rine", + "Ġmari ne", + "Ġmarin e", + "] =='", + "]= ='", + "]== '", + "Ġ Administrator", + "ĠAdmin istrator", + "ĠAdministr ator", + ". getDefault", + ".get Default", + ".getD efault", + "Ġ forgot", + "Ġf orgot", + "Ġfor got", + "Ġforg ot", + "Ġ Structure", + "ĠStruct ure", + "V ue", + "Vu e", + "ar sing", + "ars ing", + "arsi ng", + "m oment", + "mo ment", + "mom ent", + "k w", + "_ cursor", + "_c ursor", + "Att ack", + "Ġath letic", + "Ġdiagn osed", + "Ġdiagnose d", + "Ġ ende", + "Ġe nde", + "Ġen de", + "Ġend e", + "åĪ łéϤ", + "H ouse", + "Ho use", + "Ġ PARAM", + "ĠP ARAM", + "ĠPA RAM", + "ĠPAR AM", + "ĠPARA M", + "Ġ wiki", + "Ġw iki", + "Ġwi ki", + "Ġwik i", + "Ġ Opp", + "ĠO pp", + "ĠOp p", + "Ġcons ervation", + "Ġconserv ation", + "Ġ snd", + "Ġs nd", + "Ġsn d", + "_ tem", + "_t em", + "_te m", + "sub str", + "subst r", + "subs tr", + "ĠC ape", + "ĠCap e", + "ĠCa pe", + ". sim", + ".s im", + ".si m", + "U TION", + "UT ION", + "a nan", + "an an", + "ana n", + "âĢĻ un", + "Ġ gy", + "Ġg y", + "- work", + "-w ork", + "Ġcomp elling", + "Ġcompel ling", + "= '#", + "=' #", + "ĉ sub", + "ĉs ub", + "Ġ directories", + "Ġdirect ories", + "Ġdirector ies", + "íĬ ¸", + "Ġ touches", + "Ġtouch es", + "Ġtou ches", + "out ines", + "outine s", + ". Collection", + ".C ollection", + ".Col lection", + "s chedule", + "sched ule", + ". lat", + ".l at", + "Ġ Doctrine", + "ĠDo ctrine", + "C AA", + "CA A", + "Ġ Refer", + "ĠRe fer", + "ĠRef er", + "Ġshift s", + "Ġ likelihood", + "Ġlik elihood", + "pr eter", + "pre ter", + "pret er", + "Ġ Female", + "ĠF emale", + "ĠFe male", + "ĠFem ale", + "Ġinter cept", + "Ġ lou", + "Ġl ou", + "Ġlo u", + "çĻ »", + "Ġ rug", + "Ġr ug", + "Ġru g", + "ĠC rown", + "ĠCr own", + "ĠCro wn", + "ĠCrow n", + "Ġ ****************************************************************************", + "Ġ************************************************************************ ****", + "Ġ************************************************************************** **", + "Ġ**************************************************************** ************", + "Ġ**** ************************************************************************", + "Ġ******************************************************** ********************", + "Ġ************************************************ ****************************", + "- product", + "-pro duct", + "-produ ct", + "Ġprompt ed", + "u ngle", + "un gle", + "ung le", + "d ocker", + "do cker", + "doc ker", + "dock er", + "Ġ Tu", + "ĠT u", + "Ġ Unique", + "ĠUn ique", + "ĠUni que", + "_ Error", + "_E rror", + "_Err or", + "u los", + "ul os", + "ulo s", + "Ġ âĦ", + "Ġâ Ħ", + "Ġ (`", + "Ġ( `", + "G etting", + "Get ting", + "_ scal", + "_s cal", + "_sc al", + "Ġ Enh", + "ĠE nh", + "ĠEn h", + "ü t", + "Ġsust ained", + "Ġsustain ed", + "Ġ patches", + "Ġp atches", + "Ġpat ches", + "Ġpatch es", + "Ġpros per", + "ĠG aza", + "ĠGa za", + "ĠGaz a", + "_ light", + "_l ight", + "_li ght", + "Ġin cons", + "Ġinc ons", + "Ġincon s", + "- -------Ċ", + "-- ------Ċ", + "---- ----Ċ", + "-------- Ċ", + "--- -----Ċ", + "----- ---Ċ", + "------ --Ċ", + "------- -Ċ", + "ĉ ĉĠĠĠĠĠĠ", + "ĉĉ ĠĠĠĠĠĠ", + "ĉĉĠĠĠ ĠĠĠ", + "ĉĉĠ ĠĠĠĠĠ", + "ĉĉĠĠ ĠĠĠĠ", + "ĉĉĠĠĠĠ ĠĠ", + "ĉĉĠĠĠĠĠ Ġ", + "S F", + "C N", + ": \";Ċ", + ":\" ;Ċ", + "ĠColl ins", + "( *)", + "(* )", + "Ġcomp ilation", + "Ġcompil ation", + "' ]čĊ", + "'] čĊ", + "Ġcon sequence", + "Ġconsequ ence", + "Ġconse quence", + ", ...", + ",. ..", + "Ġ dm", + "Ġd m", + "Ġ BLOCK", + "ĠB LOCK", + "ĠBL OCK", + "Cl uster", + "Ġ ski", + "Ġs ki", + "Ġsk i", + "( argc", + "(arg c", + "(ar gc", + "T uple", + "Tu ple", + "Ġj oins", + "Ġjoin s", + "Ġjo ins", + "ĠSher iff", + "W ar", + "Wa r", + "in di", + "ind i", + "Ġcom mented", + "Ġcomm ented", + "Ġcomment ed", + "H OST", + "HO ST", + "Ġ invitation", + "Ġinv itation", + "Ġinvit ation", + "apan ese", + "Ġper mits", + "Ġpermit s", + "Ġperm its", + "preced ented", + "_ zone", + "_z one", + "Ġ Amy", + "ĠA my", + "ĠAm y", + "_ RD", + "_R D", + "Min imum", + "Ġinv ocation", + "Ġinvo cation", + ". enable", + ".e nable", + ".en able", + "i chten", + "ich ten", + "icht en", + "ichte n", + "- owned", + "\" id", + "_PO INTER", + "_POINT ER", + "F ac", + "Fa c", + "Ġspec ifications", + "Ġspecific ations", + "Ġspecification s", + "Ġn omination", + "Ġno mination", + "Ġnom ination", + "Ġnomin ation", + "Ġ gp", + "Ġg p", + "< (", + "Ġ robots", + "Ġro bots", + "Ġrob ots", + "Ġrobot s", + "Ġ Jerry", + "ĠJ erry", + "ĠJer ry", + "Ġ holders", + "Ġh olders", + "Ġhold ers", + "Ġholder s", + "Ġhol ders", + "Ġ wand", + "Ġw and", + "Ġwa nd", + "Ġwan d", + "c ms", + "cm s", + "Ġ }))Ċ", + "Ġ} ))Ċ", + "Ġ}) )Ċ", + "Ġ})) Ċ", + ". Toast", + ".To ast", + "ĠI List", + "ĠIL ist", + "B ased", + "Base d", + "Bas ed", + "Ba sed", + "z oom", + "zo om", + "/ style", + "/st yle", + "ĠB eck", + "ĠBe ck", + "ĠBec k", + "M en", + "Me n", + "Ġcontrib uting", + "Ġ undo", + "Ġu ndo", + "Ġun do", + "Ġund o", + "Ġ OH", + "ĠO H", + "Ġadd Object", + "Ġe igen", + "Ġei gen", + "Ġeig en", + "sign up", + "éĶ Ļ", + "Ġd istant", + "Ġdis tant", + "Ġdist ant", + "Ġdi stant", + "PAR ATOR", + "Ġ Mari", + "ĠM ari", + "ĠMar i", + "ĠMa ri", + "Ġ má", + "Ġm á", + "E mp", + "Em p", + "ó s", + "Ġ ìĪĺ", + "Ġì Īĺ", + "ĠìĪ ĺ", + "e vt", + "ev t", + "+ j", + "p ark", + "par k", + "pa rk", + "Ġ Stay", + "ĠSt ay", + "ĠSta y", + "ĠD un", + "ĠDu n", + "Ġs oy", + "Ġso y", + "> %", + "az ines", + "azine s", + "azi nes", + "Ġti empo", + "( me", + "(m e", + "p resent", + "pre sent", + "pres ent", + ". This", + ".T his", + ".Th is", + "Ġed itors", + "Ġedit ors", + "Ġeditor s", + "Ġedi tors", + "F IELD", + ". Work", + ".W ork", + "ĠUn iverse", + "ĠUnivers e", + "ĠUni verse", + "ĠUniv erse", + "Ġdr unk", + "Ġdru nk", + ". timer", + ".t imer", + ".time r", + ".tim er", + "Ġal tered", + "Ġalt ered", + "Ġalter ed", + "Ġalte red", + "ĠN ar", + "ĠNa r", + "ëł ¥", + ". Active", + ".Act ive", + "id or", + "ido r", + "ç Ń", + ".delta Time", + "Ġawk ward", + "& quot", + "ĠS afari", + "ĠSaf ari", + "Ġt ricks", + "Ġtr icks", + "Ġtri cks", + "Ġtrick s", + "M ENTS", + "MENT S", + "div ision", + "di vision", + "Ġvar ying", + "Ġva rying", + "Ġvary ing", + "ĠHigh way", + "Ġphot ographer", + "Ġphotograph er", + "ĠSt ewart", + "ĠSte wart", + "Ġ lasting", + "Ġl asting", + "Ġlast ing", + "Ġlas ting", + ". Pre", + ".P re", + ".Pr e", + ".amazon aws", + "Ġ Luck", + "ĠL uck", + "ĠLuc k", + "ĠLu ck", + ". Description", + ".D escription", + ".De scription", + ".Des cription", + "Ġ Naz", + "ĠN az", + "ĠNa z", + "n eg", + "ne g", + "Ġc ó", + "<< \"\\", + "<<\" \\", + "Ġ Surv", + "ĠS urv", + "ĠSur v", + "ĠSu rv", + "Ġ Unc", + "ĠU nc", + "ĠUn c", + "Rec ipe", + ". BorderStyle", + ".Border Style", + "Ġmod ifications", + "Ġmodification s", + "Ġmodific ations", + "- at", + "-a t", + "AT FORM", + "h dr", + "hd r", + "a ko", + "ak o", + "Ġsub license", + "Ġsublic ense", + "Ġ Jump", + "ĠJ ump", + "ĠJu mp", + "Ġbe im", + "Ġbei m", + "ĠMan hattan", + ". bool", + ".b ool", + ".bo ol", + "_ hw", + "_h w", + "ÑĤ ÑĮ", + "B in", + "Bi n", + "Ġ gateway", + "Ġg ateway", + "Ġgate way", + "\" \":", + "\"\" :", + "Ġ UIS", + "ĠU IS", + "ĠUI S", + ": \"+", + ":\" +", + "- def", + "-d ef", + "-de f", + "Ġ Regular", + "ĠReg ular", + "/ testing", + "/t esting", + "/test ing", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "string stream", + "Ġdis par", + "Ġdi spar", + "Ġdisp ar", + "Ġm obil", + "Ġmo bil", + "Ġmob il", + "- read", + "-r ead", + "-re ad", + "Ġ Adapter", + "ĠAd apter", + "ĠAda pter", + "ĠAdapt er", + "ĠCh ampions", + "ĠChampion s", + "ĠChamp ions", + "Ġ scheduler", + "Ġs cheduler", + "Ġsched uler", + "Ġschedule r", + "Ġ kills", + "Ġk ills", + "Ġkill s", + "Ġkil ls", + "Ġ Multiple", + "ĠM ultiple", + "ĠMulti ple", + "ĠMult iple", + "ĠMultip le", + "i rror", + "ir ror", + "Ġg ods", + "Ġgo ds", + "Ġgod s", + "A DO", + "AD O", + "a kte", + "ak te", + "akt e", + "Ġ Usuario", + "ĠUs uario", + ".c ircular", + "Ġre cept", + "Ġrec ept", + "Ġrece pt", + "Ġrecep t", + "Ġ Expr", + "ĠEx pr", + "ĠExp r", + "Ġelder ly", + "Ġnice ly", + "Ġnic ely", + "Ġb este", + "Ġbe ste", + "Ġbest e", + "Ġbes te", + "W ant", + "Wa nt", + "Ġclass ical", + "Ġclassic al", + ". sprite", + ".s prite", + ".sp rite", + "ob jc", + "obj c", + "ĠM ason", + "ĠMa son", + "ĠMas on", + "Ġs istema", + "Ġsist ema", + "Ġsistem a", + ". Black", + ".B lack", + ".Bl ack", + "e so", + "es o", + "ĠZe it", + "Ġ divid", + "Ġd ivid", + "Ġdi vid", + "Ġdiv id", + "Ġen ters", + "Ġent ers", + "Ġenter s", + "_ subject", + "_sub ject", + "_su bject", + "Ġ Planet", + "ĠPlan et", + "ĠPlane t", + "ĠPla net", + ". warning", + ".w arning", + ".warn ing", + "Ġ Gram", + "ĠG ram", + "ĠGr am", + "ĠGra m", + "_ tokens", + "_t okens", + "_token s", + "_tok ens", + "Ġhouse holds", + "Ġhousehold s", + "_ customer", + "_c ustomer", + "_custom er", + "_cust omer", + "user Name", + "c ross", + "cr oss", + "cro ss", + "Ġp ione", + "Ġpi one", + "Ġass ists", + "Ġassist s", + "_ SM", + "_S M", + "i bo", + "ib o", + "Ġl oyal", + "Ġlo yal", + "Ġus eless", + "Ġuse less", + "# elif", + "ĠUlt imate", + "C ome", + "Com e", + "Co me", + "g el", + "ge l", + "Ġd ich", + "Ġdi ch", + "Ġdic h", + "x yz", + "xy z", + "i kel", + "ik el", + "ike l", + "o bra", + "ob ra", + "_ scan", + "_s can", + "_sc an", + "Ġ Interior", + "ĠIn terior", + "ĠInt erior", + "ĠInter ior", + "Ġ Nice", + "ĠN ice", + "ĠNic e", + "ĠNi ce", + "Ġp lac", + "Ġpl ac", + "Ġpla c", + "ĉ target", + "ĉt arget", + "Ġv iral", + "Ġvi ral", + "Ġvir al", + "as so", + "ass o", + "( )/", + "() /", + "u nde", + "un de", + "und e", + "Ġ Adobe", + "ĠAd obe", + "O s", + "vis ited", + "visit ed", + "Ġ OW", + "ĠO W", + "Ġ Feed", + "ĠF eed", + "ĠFe ed", + "ĠFee d", + "Ġ Sequence", + "ĠSe quence", + "ĠSequ ence", + "Ġman ages", + "Ġmanage s", + "Ġmana ges", + "in son", + "ins on", + "ĠLouis iana", + "{ })", + "{} )", + "ĠH ab", + "ĠHa b", + "Ġ LD", + "ĠL D", + "Ġb ip", + "Ġbi p", + "p rites", + "pr ites", + "prite s", + "prit es", + "pri tes", + "( elem", + "(e lem", + "(el em", + "(ele m", + ".h ibernate", + "é lé", + "él é", + "Ġoh ne", + "_ transaction", + "_trans action", + "Ġann unci", + "P ublished", + "Publish ed", + "Ġ Honda", + "ĠH onda", + "ĠHon da", + "ĠHo nda", + "ĠHond a", + "Ġ Tam", + "ĠT am", + "ĠTa m", + "Ġ Packet", + "ĠP acket", + "ĠPac ket", + "ĠPack et", + "ĠPa cket", + "_ selector", + "_se lector", + "_select or", + "_sel ector", + "Ġchalleng ed", + "Ġchallenge d", + "P rocessing", + "Process ing", + "- hover", + "-h over", + "Ġ trainer", + "Ġtr ainer", + "Ġtrain er", + "Ġtra iner", + "Ġtrai ner", + "_ cancel", + "_c ancel", + "_can cel", + "Ġ NSDictionary", + "ĠNS Dictionary", + "ab ric", + "abr ic", + "Ġ MLS", + "ĠM LS", + "ĠML S", + "_ sensor", + "_s ensor", + "Ġsh rink", + "Ġshr ink", + "Ġshri nk", + "Ġ FX", + "ĠF X", + "th reshold", + "thresh old", + "ĉ HX", + "ĉH X", + "- mark", + "-m ark", + "-mar k", + "` .`", + "`. `", + "S cheme", + "Sch eme", + "( full", + "(f ull", + "_ writer", + "_w riter", + "_write r", + "_wr iter", + "Ġ Sys", + "ĠS ys", + "ĠSy s", + "Ġf led", + "Ġfl ed", + "Ġfle d", + "ĠC in", + "ĠCi n", + "- widget", + "-w idget", + "Ġ Previous", + "ĠPre vious", + "ĠPrev ious", + "G ender", + "Ge nder", + "Gen der", + "_ question", + "_q uestion", + "_qu estion", + "_quest ion", + "F eed", + "Fe ed", + "Fee d", + "Ġsc rut", + "Ġscr ut", + "( prefix", + "(p refix", + "(pre fix", + "(pref ix", + "ãĢĤ ãĢĤ", + "Ġin fections", + "Ġinf ections", + "Ġinfection s", + "Ġinfect ions", + "P arts", + "Par ts", + "Part s", + "Pa rts", + "Ġh ierarchy", + "Ġhier archy", + "_ DELETE", + "_DE LETE", + "Ġ Patient", + "ĠP atient", + "ĠPat ient", + "_ pay", + "_p ay", + "_pa y", + "Ġprom oted", + "Ġpromote d", + "Ġpromot ed", + "Ġpromo ted", + "Ġ ìĭ", + "Ġì ĭ", + "Ġcivil ian", + "Ġciv ilian", + "Ġagricult ure", + "Ġagr iculture", + "Ġ Piece", + "ĠP iece", + "ĠPi ece", + "ĠPie ce", + "Ġ stance", + "Ġst ance", + "Ġsta nce", + "Ġstan ce", + "uts che", + "utsch e", + "As sign", + "Ass ign", + ". ACTION", + ".A CTION", + ".AC TION", + ".ACT ION", + "F ig", + "Fi g", + "_ radius", + "_r adius", + "_rad ius", + "_radi us", + "Ġ Sync", + "ĠS ync", + "ĠSy nc", + "ĠSyn c", + "d ucer", + "du cer", + "duc er", + "duce r", + "f ailure", + "fail ure", + "en sed", + "ens ed", + "ense d", + "p time", + "pt ime", + "B M", + "_ datetime", + "_d atetime", + "_date time", + "_dat etime", + "qu ivo", + "quiv o", + "qui vo", + "QUE UE", + "èĢ ħ", + "App ear", + "Ap pear", + "Appe ar", + "Ġsum mit", + "Ġsumm it", + ": void", + ":v oid", + "Ġ vine", + "Ġv ine", + "Ġvi ne", + "Ġvin e", + "è ®¤", + "è® ¤", + "on ne", + "onn e", + "_ TRANS", + "_TR ANS", + "_TRAN S", + "_TRA NS", + ". green", + ".g reen", + ".gr een", + "_ cc", + "_c c", + "Ġhung ry", + "Ġ \">", + "Ġ\" >", + "( ));čĊčĊ", + "() );čĊčĊ", + "()) ;čĊčĊ", + "());čĊ čĊ", + "()); čĊčĊ", + "Ex tract", + "Ext ract", + "Extra ct", + "i zens", + "iz ens", + "ize ns", + "izen s", + "Ġ solver", + "Ġs olver", + "Ġsol ver", + "Ġsolve r", + "N otify", + "Not ify", + "Ġ english", + "Ġeng lish", + "Ġ Shopping", + "ĠSh opping", + "ĠShop ping", + "ĠSho pping", + "inter faces", + "interface s", + "R EQ", + "RE Q", + "Ġil leg", + "Ġill eg", + "Ġ UIImageView", + "ĠUI ImageView", + "ĠUIImage View", + "Ġ disconnect", + "Ġdis connect", + "Ġ Until", + "ĠUn til", + "ĠUnt il", + "ĠCons ervative", + "ĠConserv ative", + "@ Column", + "Ġshift ed", + "Ġ :čĊ", + "Ġ: čĊ", + "Ġf ich", + "Ġfi ch", + "Ġfic h", + "Ġd la", + "Ġdl a", + "Ġs hoe", + "Ġsh oe", + "Ġsho e", + "\" ),čĊ", + "\") ,čĊ", + "\"), čĊ", + "ul arity", + "ular ity", + "_ RESP", + "_RE SP", + "_R ESP", + "_RES P", + "We ather", + "UI Application", + ". iterator", + ".it erator", + ".iter ator", + "Ġ aging", + "Ġa ging", + "Ġag ing", + ". Parent", + ".P arent", + ".Par ent", + "o wie", + "ow ie", + "owi e", + "( equal", + "(e qual", + "(eq ual", + "Ġ Conv", + "ĠCon v", + "ĠCo nv", + "/ default", + "/d efault", + "/de fault", + "Ġme asuring", + "Ġmeas uring", + ". prev", + ".p rev", + ".pre v", + ".pr ev", + ". IsValid", + ".Is Valid", + ". Fat", + ".F at", + "Ġs Äĥ", + "key words", + "keyword s", + "with out", + "Ġs overe", + "Ġso vere", + "Ġex changes", + "Ġexchange s", + "Ġm elt", + "Ġme lt", + "Ġmel t", + "Ġis lands", + "Ġisland s", + "Ġisl ands", + "ĠInt egr", + "Ġj umping", + "Ġjump ing", + "Ġ gle", + "Ġg le", + "Ġgl e", + "Ġjournal ism", + "Ġ dated", + "Ġd ated", + "Ġdate d", + "Ġda ted", + "Ġdat ed", + "Local ized", + "Ġ Refresh", + "ĠRe fresh", + "ĠRef resh", + "P article", + "Part icle", + "Ġ aa", + "Ġa a", + "ĠST RICT", + "ĠSTR ICT", + "Ġb od", + "Ġbo d", + ". Process", + ".P rocess", + ".Pro cess", + "_ AUTO", + "_A UTO", + "_AUT O", + "Ġ Published", + "ĠP ublished", + "ĠPublish ed", + "e very", + "ever y", + "ev ery", + "eve ry", + "Ġtechn ological", + "Ġtechno logical", + "Ġtechnolog ical", + "l sx", + "ls x", + "Ġir rit", + "Ġirr it", + "Add itional", + "Ġ delimiter", + "Ġdel imiter", + "Ġdelim iter", + "_ language", + "_l anguage", + "- area", + "-a rea", + "-ar ea", + "bo ys", + "boy s", + "Ġ Tube", + "ĠT ube", + "ĠTu be", + "ĠTub e", + "Ġ wat", + "Ġw at", + "Ġwa t", + "Ġmechan ics", + "Ġmechanic s", + "_ owner", + "_o wner", + "_own er", + "S pell", + "Sp ell", + "Spe ll", + "Ġ Stories", + "ĠSt ories", + "ĠSto ries", + ".Append Line", + "T ableView", + "Table View", + "h em", + "he m", + "s tick", + "st ick", + "sti ck", + "ol lower", + "oll ower", + "ollow er", + "ollo wer", + "I FF", + "IF F", + "Ġ UV", + "ĠU V", + "oll ision", + "S UB", + "SU B", + "Ġcom parable", + "Ġcompar able", + "Ġd onde", + "Ġdo nde", + "Ġdon de", + "s ales", + "sa les", + "sal es", + "sale s", + "ll vm", + "Ġ }],Ċ", + "Ġ} ],Ċ", + "Ġ}] ,Ċ", + "OTT OM", + "Ġ Purpose", + "ĠP urpose", + "ĠPur pose", + "L ab", + "La b", + "Ġinterview ed", + "o is", + "oi s", + "a sil", + "as il", + "asi l", + ". setId", + ".set Id", + "Ġ Instruction", + "ĠIn struction", + "- ->", + "-- >", + "Ġ Modified", + "ĠMod ified", + "ation ally", + "ational ly", + "Ġ Meeting", + "ĠMe eting", + "ĠMeet ing", + "è¯ ¯", + "# region", + "Ġ routing", + "Ġr outing", + "Ġro uting", + "Ġrout ing", + "Ġrou ting", + ". focus", + ".f ocus", + "ĠY outh", + "ĠYou th", + "ĠYo uth", + "< D", + "ĠN ag", + "ĠNa g", + "cont acts", + "contact s", + "Ġ forming", + "Ġfor ming", + "Ġform ing", + "Ġ mie", + "Ġm ie", + "Ġmi e", + "',[' ../", + "Ġ BP", + "ĠB P", + "Ġapp et", + "Ġap pet", + "Ġappe t", + "Ġ Teacher", + "ĠT eacher", + "ĠTe acher", + "ĠTea cher", + "ĠTeach er", + "Ġ TP", + "ĠT P", + "Ġann ually", + "Ġannual ly", + "outed EventArgs", + "Ġ Speaker", + "ĠS peaker", + "ĠSpe aker", + "ĠSpeak er", + "Ġ rename", + "Ġre name", + "Ġr ename", + "Ġren ame", + "C FG", + "CF G", + "(\" //", + "(\"/ /", + "æİ ¥", + "/ pages", + "/p ages", + "/page s", + "Ġpr és", + "Ġpré s", + "Ġ Spell", + "ĠS pell", + "ĠSp ell", + "ĠSpe ll", + ". Allow", + ".Al low", + ".All ow", + "ĠINT ERRU", + "ĠINTER RU", + "Ġ (#", + "Ġ( #", + "âĢĻ ĊĊ", + "âĢĻĊ Ċ", + "_ Generic", + "_G eneric", + ". imshow", + ".im show", + "_ tim", + "_t im", + "_ti m", + "- face", + "-f ace", + "( &(", + "(& (", + "ati num", + "atin um", + "Ġrevolution ary", + "Ġ Hours", + "ĠH ours", + "ĠHo urs", + "ĠHour s", + "ĠHou rs", + "r ain", + "ra in", + "rai n", + "Ġany time", + "Ġ abb", + "Ġa bb", + "Ġab b", + ". jsp", + ".j sp", + ".js p", + "S crollView", + "Scroll View", + "Ġ Truth", + "ĠTr uth", + "ĠTru th", + "Ġ anticipated", + "Ġanticip ated", + "Ġanticipate d", + "Ġantic ipated", + "Ġ accent", + "Ġacc ent", + "Ġac cent", + ". checked", + ".check ed", + "Ġspec ifies", + "Ġ caf", + "Ġc af", + "Ġca f", + "Ġcell padding", + "Ġ cooked", + "Ġco oked", + "Ġcook ed", + "Ġ Hugh", + "ĠH ugh", + "ĠHu gh", + "pe ek", + "pee k", + "_ RATE", + "_R ATE", + "_RA TE", + "Ġd orm", + "Ġdo rm", + "Ġdor m", + "/ čĊ", + "IV ITY", + ". Controller", + ".Cont roller", + ".Control ler", + "( part", + "(p art", + "(par t", + "(pa rt", + ". constraint", + ".con straint", + "Ġin vasion", + "Ġinv asion", + "M OVE", + "MO VE", + "MOV E", + "Ġgl uc", + "Ġglu c", + "l ename", + "le name", + "len ame", + "lena me", + "Ġ amen", + "Ġa men", + "Ġam en", + "eng lish", + "engl ish", + "ĠSw itzerland", + "\" ;ĊĊĊ", + "\";Ċ ĊĊ", + "\";ĊĊ Ċ", + "\"; ĊĊĊ", + "p est", + "pe st", + "pes t", + ". collect", + ".c ollect", + ".col lect", + ".coll ect", + "N ib", + "Ni b", + "Ġ Dict", + "ĠD ict", + "ĠDi ct", + "Ġ Emb", + "ĠE mb", + "ĠEm b", + "( subject", + "(sub ject", + "Ġout rage", + "Ġoutr age", + "Ġoutra ge", + "Ġdec iding", + "Ġdecid ing", + "Ġsent enced", + "Ġsentence d", + "F echa", + "Fe cha", + "\" A", + "Ġ quer", + "Ġqu er", + "Ġque r", + "Ġq uer", + "Ġfont Family", + "Ġqu adr", + "Ġquad r", + "Ġqua dr", + "- Y", + "_ CACHE", + "_C ACHE", + "_CA CHE", + "Ġan alyzed", + "Ġanaly zed", + "Ġanalyze d", + "Ġg aining", + "Ġgain ing", + "Ġga ining", + "Ġ Against", + "ĠAgain st", + "ĠS oul", + "ĠSo ul", + "ĠSou l", + "t au", + "ta u", + "Ġlight weight", + "Ġ TF", + "ĠT F", + "Ġ Effects", + "ĠE ffects", + "ĠEffect s", + "ĠEff ects", + ". Types", + ".T ypes", + ".Type s", + ". addClass", + ".add Class", + "Ġv egan", + "Ġve gan", + "Ġveg an", + "é ģ", + ". '\"", + ".' \"", + "Ġ Explorer", + "ĠEx plorer", + "ĠExpl orer", + "ĠExplore r", + ". detect", + ".d etect", + ".det ect", + ". shift", + ".s hift", + ".sh ift", + "Ġoblig ations", + "Ġobligation s", + "last Name", + "Ġassoci ations", + "Ġassociation s", + "Ġassoc iations", + "ĠTime Span", + "un ter", + "unt er", + "unte r", + "Ġ Fresh", + "ĠF resh", + "ĠFr esh", + "ĠFre sh", + "ĠFres h", + "Com patible", + "Compat ible", + "P ub", + "Pu b", + "id ges", + "idge s", + ". option", + ".op tion", + ".o ption", + ".opt ion", + "v ari", + "var i", + "va ri", + ". hashCode", + ".hash Code", + "Ġ geb", + "Ġg eb", + "Ġge b", + ". section", + ".s ection", + ".se ction", + ".sec tion", + "- not", + "-n ot", + "-no t", + "Ġ Submit", + "ĠSub mit", + "T N", + "reg istry", + "registr y", + "regist ry", + "_ media", + "_m edia", + "_me dia", + "_med ia", + "Ġn aj", + "Ġna j", + "f ft", + "ff t", + "Ġ mate", + "Ġm ate", + "Ġmat e", + "Ġma te", + "- third", + "-th ird", + "Ġp ockets", + "Ġpocket s", + "e sta", + "es ta", + "est a", + "Ġb ent", + "Ġbe nt", + "Ġben t", + "ĠN ord", + "ĠNo rd", + "ĠNor d", + "Ġretail ers", + "Ġretailer s", + "ĠM orris", + "ĠMor ris", + "ĠMorr is", + ". \"\"\"ĊĊ", + ".\"\" \"ĊĊ", + ".\"\"\"Ċ Ċ", + ".\"\"\" ĊĊ", + "W rong", + "Wr ong", + "Ġ ÅĽ", + "ĠÅ Ľ", + "R ay", + "Ra y", + ". ec", + ".e c", + "Ġ Bind", + "ĠB ind", + "ĠBi nd", + "ĠBin d", + "_ HAND", + "_H AND", + "( non", + "(n on", + "(no n", + "is Valid", + "Ġsimilar ly", + "_ LIMIT", + "_L IMIT", + "Ġd ynamics", + "Ġdynamic s", + "Ġdynam ics", + "Ġdyn amics", + "Ġdist inction", + "Ġdistinct ion", + "ãģ Ĩ", + "< N", + "Ġ orth", + "Ġor th", + "Ġort h", + "Ġ Toyota", + "ĠToy ota", + "Ġ Kate", + "ĠK ate", + "ĠKat e", + "ĠKa te", + "Ġ LS", + "ĠL S", + "o rie", + "or ie", + "ori e", + "ĠSpring s", + "ĠSpr ings", + "Ġf reak", + "Ġfre ak", + "last name", + "_ MULT", + "_M ULT", + "_MUL T", + "- step", + "-s tep", + "-st ep", + "-ste p", + "\" (", + "A DDR", + "AD DR", + "ADD R", + "Ġentert aining", + "Ġentertain ing", + "_ CONF", + "_CON F", + "_CO NF", + "Ġ decoded", + "Ġde coded", + "Ġdec oded", + "Ġdecode d", + "Ġdeco ded", + "Ġst reak", + "Ġstre ak", + "Ġwait ed", + "Ġwa ited", + "Ġnot ified", + "ro duced", + "rodu ced", + "rod uced", + "roduce d", + "vis ual", + ". LayoutParams", + ".Layout Params", + "æ °", + "e sian", + "es ian", + "esi an", + "f its", + "fit s", + "fi ts", + "s pring", + "sp ring", + "spr ing", + "ĠBer nie", + "ĠBern ie", + "User Defaults", + "Ġpe dest", + "Ġped est", + "Ap pearance", + "Appear ance", + "Ġ Wiki", + "ĠW iki", + "ĠWi ki", + "ĠWik i", + "ĠNOT ICE", + "Ġ ssh", + "Ġs sh", + "Ġss h", + "Ġdur ante", + "Ġ Zip", + "ĠZ ip", + "ĠZi p", + "ı r", + "ĠN ATO", + "ĠNAT O", + "ĠNA TO", + "Ġtw elve", + "Ġr oyal", + "Ġro yal", + "Ġroy al", + "ï ¸", + "Ġ merchant", + "Ġm erchant", + "Ġmer chant", + "Ġmerch ant", + "ĠF urniture", + "ĠFurn iture", + "' ]),Ċ", + "'] ),Ċ", + "']) ,Ċ", + "']), Ċ", + ", X", + "Ġ folders", + "Ġf olders", + "Ġfolder s", + "Ġfol ders", + "Ġfold ers", + "Ġ Gate", + "ĠG ate", + "ĠGa te", + "ĠGat e", + "ĉ func", + "ĉf unc", + "ĉfun c", + "p ick", + "pi ck", + "pic k", + "_ usuario", + "_us uario", + "ĠV erm", + "ĠVer m", + "ĠVe rm", + "m ention", + "ment ion", + "men tion", + "ur pose", + "Ġ alerts", + "Ġal erts", + "Ġalert s", + "Ġale rts", + "x ious", + "xi ous", + "_ sig", + "_s ig", + "_si g", + "Ġ Fu", + "ĠF u", + "Ġ (:", + "Ġ( :", + "Ġd umb", + "Ġdu mb", + "Ġdum b", + "åħ ³", + "Ġaccur ately", + "Ġaccurate ly", + "éĩ į", + "R B", + "- screen", + "-s creen", + "-sc reen", + "Ġ VER", + "ĠV ER", + "ĠVE R", + "j our", + "jo ur", + "Ġrom ance", + "Ġroman ce", + "Ġroma nce", + "uc ceed", + "ucc eed", + ". choice", + ".ch oice", + "Ġad ip", + "_ dims", + "_d ims", + "_dim s", + "_di ms", + "Serial izable", + "ãĤ ĭ", + ". job", + ".j ob", + "Ġ prog", + "Ġp rog", + "Ġpro g", + "Ġpr og", + "u char", + "uch ar", + "uc har", + "ucha r", + "Ġg ently", + "Ġgent ly", + "Ġ RSS", + "ĠR SS", + "ĠRS S", + "ict ured", + "icture d", + "_ENABLE D", + "ĉ label", + "ĉl abel", + "aw ks", + "awk s", + "Ġ Ensure", + "ĠEn sure", + "ĠEns ure", + "re member", + "rem ember", + "ìł ķ", + "Ġtrans mit", + "{ {$", + "{{ $", + ". Transaction", + ".Trans action", + "ur se", + "urs e", + "_ relative", + "_rel ative", + "Ġs ized", + "Ġsize d", + "Ġsi zed", + "Ġsiz ed", + "Ġ XX", + "ĠX X", + "ĠPr incess", + "ĠPrince ss", + "Ġ Larry", + "ĠL arry", + "ĠLar ry", + "Ġp ró", + "Ġpr ó", + "Ġ ÑģÑĤÑĢ", + "ĠÑģ ÑĤÑĢ", + "ĠÑģÑĤ ÑĢ", + "Ġs isters", + "Ġsi sters", + "Ġsister s", + "Ġsist ers", + "Ġsis ters", + "e struct", + "estr uct", + "Ġ checkpoint", + "Ġcheck point", + ": length", + ":len gth", + ":l ength", + "Ġ Carlos", + "ĠCar los", + "ĠCarl os", + "ĠCarlo s", + "/ icon", + "/i con", + "/ic on", + "_ TARGET", + "_T ARGET", + "T okens", + "Token s", + "Tok ens", + "Ġpat ience", + "Ġ Selected", + "ĠSe lected", + "ĠSelect ed", + "ĠSel ected", + "q ty", + "qt y", + ".show Message", + "Ġwild life", + "Ġ Props", + "ĠP rops", + "ĠPro ps", + "ĠPr ops", + "ĠProp s", + "b m", + "- arrow", + "-ar row", + "Ġ parcel", + "Ġpar cel", + "Ġparc el", + "Ġparce l", + "f irebase", + "fire base", + "ĠBen jamin", + "c esso", + "cess o", + "ces so", + ". tim", + ".t im", + "ĠG arc", + "ĠGar c", + "ĠGa rc", + ". any", + ".a ny", + ".an y", + "ĠHOW EVER", + "ĠK o", + "Ġgrab bed", + "_ frames", + "_f rames", + "_frame s", + "_fr ames", + "Ġobject AtIndex", + "ĠADV ISED", + "Ġsu bur", + "Ġsub ur", + "ĉ GL", + "ĉG L", + "Ġ })}Ċ", + "Ġ} )}Ċ", + "Ġ}) }Ċ", + "- length", + "-l ength", + "-le ngth", + "-len gth", + "ìĭ ľ", + "ĠPot ter", + "_ buff", + "_b uff", + "_buf f", + ". gui", + ".g ui", + "Ġ Encoding", + "ĠEn coding", + "ĠEnc oding", + "E lect", + "El ect", + "Ele ct", + "- message", + "-m essage", + "Ġ �", + "Ġ ÈĻi", + "Ġ ArgumentNullException", + "ĠArgument NullException", + "а ÑĨи", + "Ġmin imize", + "Ġminim ize", + "Ġrespond ing", + "$_ ['", + "Ġ Individual", + "ĠInd ividual", + "á c", + "Ġ INTER", + "ĠIN TER", + "ĠINT ER", + "Ġmast urb", + "Ġmastur b", + "Ġ Bin", + "ĠB in", + "ĠBi n", + "( '$", + "(' $", + "ëĵ ľ", + "Ġopen ly", + "Ġ ><", + "Ġ> <", + "Ġ unto", + "Ġun to", + "Ġunt o", + "olog ically", + "ological ly", + "ologic ally", + "Ġ Mul", + "ĠM ul", + "ĠMu l", + "VID IA", + "Ġs lim", + "Ġsl im", + "ĠCommission er", + "( on", + "(o n", + "Ġunder neath", + "/ db", + "/d b", + "v ote", + "vo te", + "( Message", + "(M essage", + "ĠP ope", + "ĠPop e", + "ĠPo pe", + "D efined", + "Def ined", + "Define d", + "Ġ swift", + "Ġsw ift", + "u rf", + "ur f", + "Ġadapt ed", + "Ġadap ted", + "S EL", + "SE L", + "Ġre venues", + "Ġrevenue s", + "Ġreven ues", + "Ġdi vine", + "Ġdiv ine", + "= y", + "G radient", + "Grad ient", + "_ act", + "_a ct", + "_ac t", + "Ġ/* !<", + "Ġ/*! <", + "Ġ polygon", + "Ġp olygon", + "Ġpoly gon", + "Ġ FDA", + "ĠF DA", + "ĠFD A", + "ĠC arr", + "ĠCar r", + "ĠCa rr", + "a tables", + "at ables", + "ata bles", + "atab les", + "atable s", + "( stdout", + "(std out", + "Ġref riger", + "Ġrefr iger", + "Ġco ordin", + "Ġcoord in", + "avor ites", + "avorite s", + "avo rites", + "ÑĪ Ð¸", + "Ġcompass ion", + "ĠPOSS IBILITY", + "- secondary", + "-second ary", + "ur acy", + "ura cy", + "Ġcom promise", + "Ġcomp romise", + "Ġcomprom ise", + "_ AV", + "_A V", + "_ os", + "_o s", + "Ġbe side", + "Ġbes ide", + "ĥ Ŀ", + "Ġ ln", + "Ġl n", + ". plugins", + ".pl ugins", + ".plugin s", + "Cap acity", + "a lah", + "al ah", + "ala h", + ". bin", + ".b in", + ".bi n", + "Ġ CRC", + "ĠC RC", + "ĠCR C", + "_ balance", + "_b alance", + "_bal ance", + "Ġflex Direction", + "Ġam bit", + "Ġamb it", + "Ġ nickname", + "Ġn ickname", + "Ġnick name", + "ĠFor ces", + "ĠForce s", + "C LE", + "CL E", + "Ġ Shell", + "ĠS hell", + "ĠSh ell", + "ĠShe ll", + "ĠShel l", + "Ġs ail", + "Ġsa il", + "Ġsai l", + "Ġ Writer", + "ĠW riter", + "ĠWrite r", + "ĠWr iter", + "Ġ Alice", + "ĠA lice", + "ĠAl ice", + "ĠAli ce", + "ĠAlic e", + "d w", + "ĠInd ians", + "ĠIndia ns", + "ĠIndian s", + "ĠIndi ans", + "ĠMar shall", + "ĠMars hall", + "ĠMarshal l", + "ĠMarsh all", + "_ SRC", + "_S RC", + "_SR C", + "Ġ normalized", + "Ġnormal ized", + "Ġnormalize d", + "ĠJ ag", + "ĠJa g", + "ãĤ Ĵ", + "ze it", + "r pc", + "rp c", + "ÃŃ c", + ". inline", + ".in line", + "Ġtr avers", + "Ġtra vers", + "Ġtrav ers", + "_ numeric", + "_n umeric", + "_num eric", + "_numer ic", + "Ġ utilities", + "Ġutil ities", + "Ġut ilities", + "Ġe vac", + "Ġev ac", + "IN PUT", + "ĉ register", + "ĉreg ister", + "M X", + "ĠCamp bell", + "Ġ datasets", + "Ġd atasets", + "Ġdata sets", + "Ġdataset s", + "Ġdatas ets", + "Ġdem anded", + "Ġdemand ed", + "Ġdemande d", + "Ġinitial State", + "g an", + "ga n", + "Ġ ei", + "Ġe i", + "Un expected", + "- web", + "-w eb", + "-we b", + "t rait", + "tr ait", + "tra it", + ", Y", + "Ġ Todd", + "ĠT odd", + "ĠTo dd", + "ĠTod d", + "Ġs keleton", + "Ġske leton", + "Ġ optimize", + "Ġopt imize", + "Ġoptim ize", + "ç ¬¬", + "ç¬ ¬", + "Ġ Upon", + "ĠU pon", + "ĠUp on", + "ĠSt Object", + "Ġap lic", + "Ġapl ic", + ". ' P", + "v ron", + "vr on", + "vro n", + ". UN", + ".U N", + "Ġp ainter", + "Ġpaint er", + "Ġpain ter", + "Ġpa inter", + "izar re", + "Ġ lav", + "Ġl av", + "Ġla v", + "Ġ pom", + "Ġp om", + "Ġpo m", + "p reg", + "pr eg", + "pre g", + "= function", + "=f unction", + "( serial", + "(s erial", + "(se rial", + "if ica", + "ific a", + "ifi ca", + "u ming", + "um ing", + "umin g", + "umi ng", + "åľ °", + "ãģ Ĥ", + "- op", + "-o p", + "U CH", + "UC H", + "ĠH end", + "ĠHe nd", + "ĠHen d", + ". propTypes", + ".prop Types", + "Ġ yo", + "Ġy o", + "Ġr outines", + "Ġrout ines", + "Ġroutine s", + "Ġc aring", + "Ġcar ing", + "Ġca ring", + "S em", + "Se m", + "Ġres erves", + "Ġreserve s", + "Ġreserv es", + "Ġprior ities", + "Ġpriorit ies", + "red its", + "redit s", + "redi ts", + "I STR", + "IS TR", + "IST R", + "Content Type", + "ĠS chw", + "ĠSc hw", + "ĠSch w", + "/ media", + "/m edia", + "/me dia", + "Ġ estr", + "Ġe str", + "Ġes tr", + "Ġest r", + "Ġclim bing", + "Ġclimb ing", + "- week", + "-we ek", + "cher che", + "s ensor", + "To Array", + "ĠMont real", + "Ġclo uds", + "Ġcloud s", + "ĠInject able", + "ĠR ice", + "ĠRic e", + "ĠRi ce", + "Ġpropag anda", + "_ provider", + "_pro vider", + "_prov ider", + "Ġin door", + "Ġind oor", + "Ġindo or", + "Ġin aug", + "Ġdipl om", + "Ġdip lom", + "Ġm essaging", + "Ġmess aging", + "_ mut", + "_m ut", + "_mu t", + "å ¦Ĥ", + "å¦ Ĥ", + "Ġ kw", + "Ġk w", + "O NS", + "ON S", + "a rians", + "ar ians", + "ari ans", + "arian s", + "aria ns", + "R PC", + "RP C", + ") ]čĊ", + ")] čĊ", + "- ray", + "-r ay", + "-ra y", + "ĠS or", + "ĠSo r", + "m all", + "ma ll", + "mal l", + "Ġmarket place", + "Ġ vtk", + "Ġv tk", + "Ġvt k", + "M a", + "o gan", + "og an", + "oga n", + "i gi", + "ig i", + "Ġs ponsored", + "Ġspons ored", + "Ġsponsor ed", + "Ġ Dani", + "ĠD ani", + "ĠDan i", + "ĠDa ni", + ".S EVER", + ".SE VER", + "> '.$", + ">' .$", + ">'. $", + "m ultipart", + "multi part", + "multip art", + "ĠW ol", + "ĠWo l", + "Ġ tableName", + "Ġtable Name", + "Ġ Username", + "ĠUser name", + "Back groundColor", + "Background Color", + "Ġf right", + "Ġfr ight", + "Ġfri ght", + "_ EMAIL", + "_E MAIL", + "_EM AIL", + "Sept ember", + "Sep tember", + "_ vals", + "_v als", + "_val s", + "_va ls", + "op ia", + "opi a", + "Ġsp otted", + "Ġspot ted", + "- Ch", + "-C h", + "Ġ dataSource", + "Ġdata Source", + "/ \"Ċ", + "/\" Ċ", + "е кÑĤ", + "ек ÑĤ", + "Ġ RequestMethod", + "ĠRequest Method", + "Ġ Replace", + "ĠRe place", + "ĠRep lace", + "- do", + "-d o", + "a hn", + "ah n", + "ĠPh D", + "] .ĊĊ", + "]. ĊĊ", + "].Ċ Ċ", + "N ON", + "NO N", + "g ement", + "ge ment", + "gem ent", + "geme nt", + "Ġ Thr", + "ĠT hr", + "ĠTh r", + "Ġquiet ly", + "Ġtor ture", + "Ġtort ure", + "Ġte as", + "Ġtea s", + "Ġ CY", + "ĠC Y", + "Ġ atr", + "Ġa tr", + "Ġat r", + "de velopment", + "dev elopment", + "develop ment", + "- detail", + "-d etail", + "-de tail", + "-det ail", + "Ġl ighter", + "Ġlight er", + "Ġarg uing", + "Ġdes erves", + "Ġdeserve s", + "Ġdeser ves", + "Ġcur riculum", + "_ CONTEXT", + "_CON TEXT", + "_CONT EXT", + "ÅĤ y", + "H ITE", + "HI TE", + "ĉ ID", + "ĉI D", + "/ uploads", + "/upload s", + "/up loads", + "Ġt its", + "Ġtit s", + "Ġti ts", + "r eo", + "re o", + "_ drop", + "_d rop", + "_dr op", + ". UTF", + ".U TF", + "Ġ pickup", + "Ġpick up", + "Ġpic kup", + "Ġgro cery", + "Ġ Pure", + "ĠP ure", + "ĠPur e", + "ĠPu re", + "Ġeas iest", + "P hil", + "Ph il", + "Phi l", + ". feature", + ".f eature", + ".fe ature", + "( \"*", + "(\" *", + "Ġinvest or", + "Ġinve stor", + "t ok", + "to k", + "Ġ jar", + "Ġj ar", + "Ġja r", + "L os", + "Lo s", + "âĢĶâĢĶâĢĶâĢĶ âĢĶâĢĶâĢĶâĢĶ", + ". queue", + ".q ueue", + "- speed", + "-s peed", + "-sp eed", + "-spe ed", + "M al", + "Ma l", + "um blr", + "umb lr", + "Ġ CONST", + "ĠCON ST", + "ĠCO NST", + "ĠCONS T", + "Ġ HRESULT", + "ĠH RESULT", + "ĠD ance", + "ĠDan ce", + "ĠDa nce", + "( filePath", + "(file Path", + "Ġattribute d", + "Ġattrib uted", + "ॠį", + "ĠB und", + "ĠBu nd", + "ĠBun d", + "c oins", + "co ins", + "coin s", + "Ġs ão", + "Ġ pir", + "Ġp ir", + "Ġpi r", + "person al", + "pers onal", + "persona l", + "Ġpr elim", + "Ġpre lim", + "Ġpro pose", + "Ġprop ose", + "Ġpropos e", + "Ġ TL", + "ĠT L", + "] ])", + "]] )", + "Ġ Subscription", + "ĠSub scription", + "ĠK re", + "ĠKr e", + ", len", + ",l en", + ". FirstOrDefault", + ".First OrDefault", + ") --", + ")- -", + "_ products", + "_product s", + ".Get Bytes", + "S hip", + "Sh ip", + "Ġ encrypt", + "Ġen crypt", + "Ġenc rypt", + "Ġ SG", + "ĠS G", + "ĠM yst", + "ĠMy st", + "h ir", + "hi r", + "Ġ iterate", + "Ġit erate", + "Ġiter ate", + "Ġint end", + "Ġinte nd", + ".mock ito", + "Ġch apters", + "Ġchapter s", + "Ġchap ters", + "( angle", + "(a ngle", + "(an gle", + "(ang le", + "ĠV lad", + "è® ¾", + "' .ĊĊ", + "'. ĊĊ", + "'.Ċ Ċ", + "Response Body", + "ĠA bd", + "ĠAb d", + "de al", + "dea l", + "Ġbar riers", + "Ġbarrier s", + "Ġbarr iers", + "- outline", + "-out line", + "b ill", + "bi ll", + "bil l", + "ĠF alls", + "ĠFall s", + "ĠFal ls", + "_ second", + "_se cond", + "_sec ond", + ". include", + ".in clude", + ".inc lude", + ". ceil", + ".c eil", + ".ce il", + "Ġ occupation", + "Ġoccup ation", + "ph ony", + "phon y", + ".move To", + "Ġ Jennifer", + "ĠJ ennifer", + "ĠJenn ifer", + "A STER", + "AS TER", + "AST ER", + "ASTE R", + "; \"><", + ";\" ><", + ";\"> <", + "Ġ Enabled", + "ĠEn abled", + "ĠEnable d", + "Ġ terminate", + "Ġter minate", + "Ġterm inate", + "Ġtermin ate", + "Ġ Io", + "ĠI o", + "l ations", + "lation s", + "lat ions", + "ĠTHE ORY", + "Ġear liest", + "Ġ rack", + "Ġr ack", + "Ġrac k", + "Ġra ck", + "Ġ Scar", + "ĠS car", + "ĠSc ar", + "sh ake", + "sha ke", + "c hip", + "ch ip", + "chi p", + "Ġ uv", + "Ġu v", + "Ġall iance", + "п иÑģ", + "пи Ñģ", + "ĠGOOD S", + "z ione", + "zi one", + "zion e", + "Ġ VI", + "ĠV I", + "Ġ {-", + "Ġ{ -", + "Ġfil tering", + "Ġfilter ing", + "Ġfilt ering", + "Ġmis con", + "Ġmisc on", + ".Dock Style", + "Ġb ush", + "Ġbu sh", + "Ġbus h", + "Ġj unk", + "Ġju nk", + "Ġjun k", + "æ Į", + "Ġ QUE", + "ĠQ UE", + "ĠQU E", + "Ġ hooks", + "Ġh ooks", + "Ġhook s", + "Ġho oks", + "Ġf irmware", + "Ġfirm ware", + "Ġ middleware", + "Ġm iddleware", + "Ġmiddle ware", + "d ic", + "di c", + "ĠOak land", + "Ġarr ives", + "Ġarrive s", + "Ġarriv es", + "P ayload", + "Pay load", + "p ixel", + "pix el", + "] |", + "Ġ startDate", + "Ġstart Date", + ". PRO", + ".P RO", + ".PR O", + "_ audio", + "_a udio", + "Ġmid field", + "igid body", + "ĠSw iss", + "Ġ Clip", + "ĠC lip", + "ĠCl ip", + "ĠCli p", + "Ġ Dump", + "ĠD ump", + "ĠDu mp", + "ĠDum p", + "Ġ TextBox", + "ĠText Box", + "Ġ geh", + "Ġg eh", + "Ġge h", + "y ield", + "yi eld", + "o ds", + "od s", + "Ġrefer endum", + "Back end", + "Ġ Cream", + "ĠC ream", + "ĠCr eam", + "ĠCre am", + "Ġd ominated", + "Ġdo minated", + "Ġdom inated", + "Ġdomin ated", + "Ġdominate d", + "Ġdomina ted", + "Ġ Archive", + "ĠA rchive", + "ĠArch ive", + "ĠArc hive", + "Ġr iders", + "Ġrid ers", + "Ġride rs", + "Ġri ders", + "Ġrider s", + ".prepare Statement", + "Ġqu ando", + "Ġquand o", + "Ġqua ndo", + "Ġquan do", + "Ġ chef", + "Ġch ef", + "Ġche f", + "w iki", + "wi ki", + "wik i", + "i nel", + "in el", + "ine l", + "am pling", + "amp ling", + "(\" \\\\", + "(\"\\ \\", + "Ġs ag", + "Ġsa g", + "_ proxy", + "_pro xy", + "_pr oxy", + "ãģ ķ", + "p do", + "pd o", + ". getElementsByTagName", + ".get ElementsByTagName", + ".getElementsBy TagName", + "Ġdemon stration", + "Ġdemonstr ation", + "Ġ NPC", + "ĠN PC", + "ĠNP C", + "Ġ archivo", + "Ġarch ivo", + "en dance", + "end ance", + "enda nce", + "Ġefficient ly", + "( actual", + "(ac tual", + "(act ual", + ". tableView", + ".t ableView", + ".table View", + "Ġm ush", + "Ġmus h", + "Ġmu sh", + "Ġb ears", + "Ġbe ars", + "Ġbear s", + "_ threads", + "_th reads", + "_thread s", + "j as", + "ja s", + "ah un", + "ahu n", + "Ġne ural", + "Ġneu ral", + "Ġneur al", + "Ġdesign ing", + "ĠG DP", + "ĠGD P", + "Ġlif ted", + "Ġlift ed", + "çĽ ®", + "Ġ Joint", + "ĠJ oint", + "ĠJo int", + "ĠJoin t", + "ĠJoi nt", + "Ġ Include", + "ĠIn clude", + "ĠInc lude", + "ĠG iants", + "ĠGi ants", + "ĠGiant s", + "ĠGian ts", + "ĠGia nts", + "Ġwithdraw al", + "Ġ Rent", + "ĠR ent", + "ĠRe nt", + "ĠRen t", + "n ative", + "nat ive", + "Ġ Seek", + "ĠSe ek", + "ĠSee k", + "g ression", + "gr ession", + "gress ion", + "_ CPU", + "_C PU", + "_CP U", + "\\ S", + "Ġ Shield", + "ĠSh ield", + "ĠShi eld", + "Ġs olic", + "Ġso lic", + "Ġsol ic", + "Ġ boom", + "Ġb oom", + "Ġbo om", + "Ġboo m", + "yect o", + "Ġmanufact ure", + "Ġ âĢĭ", + "ĠâĢ ĭ", + "Ġ bbox", + "Ġb box", + "Ġbb ox", + "Ġearth qu", + "oll ectors", + "ollect ors", + "olle ctors", + ":@\" %", + ":@ \"%", + "Ġ loops", + "Ġl oops", + "Ġlo ops", + "Ġloop s", + "J e", + "al king", + "alk ing", + "Ġ Whats", + "ĠWh ats", + "ĠWhat s", + "ĠBo ys", + "ĠBoy s", + ". book", + ".b ook", + ".bo ok", + "AR GE", + "ARG E", + "_ pixel", + "_p ixel", + "_pix el", + "Ġsus pects", + "Ġsusp ects", + "Ġsuspect s", + "Î ¹", + "u sp", + "us p", + "Ġ BMW", + "ĠB MW", + "ĠBM W", + "ie ces", + "iece s", + "iec es", + "( person", + "(p erson", + "(per son", + "å¼ Ģ", + "é »", + "ĠP odcast", + "ĠPod cast", + "Ġ bou", + "Ġb ou", + "Ġbo u", + "( Item", + "(I tem", + "(It em", + "à »", + "( Input", + "(In put", + "Http Get", + "Ġ burg", + "Ġb urg", + "Ġbu rg", + "Ġbur g", + ") ^", + "BO ARD", + "* /,", + "*/ ,", + "Ġ gulp", + "Ġg ulp", + "Ġgu lp", + "Ġgul p", + "ĠB enn", + "ĠBe nn", + "ĠBen n", + "Ġde cks", + "Ġdec ks", + "Ġdeck s", + ". statusCode", + ".status Code", + "Ġ acute", + "Ġac ute", + "Ġh ug", + "Ġhu g", + "u gu", + "ug u", + "Ġ pled", + "Ġp led", + "Ġpl ed", + "Ġple d", + ", \"%", + ",\" %", + "h ape", + "ha pe", + "hap e", + "Ġз ап", + "Ġза п", + "ĠM aine", + "ĠMain e", + "ĠMa ine", + "ĠMai ne", + ". real", + ".re al", + "Ġd alam", + "Ġda lam", + "Ġdal am", + "Ġ Minor", + "ĠMin or", + "ĠMi nor", + ". Float", + ".F loat", + "d isp", + "dis p", + "di sp", + "Ġ tl", + "Ġt l", + "Ġen count", + "Ġenc ount", + "= >$", + "=> $", + "Ġ fg", + "Ġf g", + "t ees", + "te es", + "tee s", + "ĠRe comm", + "ĠRec omm", + "ĠReco mm", + "ä l", + "Ġ chemistry", + "Ġchem istry", + "B locks", + "Block s", + "Bl ocks", + "Bloc ks", + "Blo cks", + "O ID", + "OI D", + "Ġf orex", + "Ġfor ex", + "Ġfore x", + "Ġfo rex", + "Ġ Append", + "ĠApp end", + "ĠAp pend", + "ĠAppe nd", + "Ġ {*", + "Ġ{ *", + "Ġ Supply", + "ĠS upply", + "ĠSup ply", + "CG Float", + "( bl", + "(b l", + "Ġ ate", + "Ġa te", + "Ġat e", + "ad ora", + "ado ra", + "ador a", + "Ġg ust", + "Ġgu st", + "Ass oci", + "Assoc i", + "> .Ċ", + ">. Ċ", + "F ETCH", + ". serial", + ".s erial", + ".se rial", + ".ser ial", + "widget s", + "wid gets", + "ard less", + "i efs", + "ie fs", + "ief s", + "_ FULL", + "_F ULL", + "ern etes", + "ernet es", + "erne tes", + "Ġ Pred", + "ĠP red", + "ĠPr ed", + "ĠPre d", + "Ø Ń", + "äº ĭ", + "ub ernetes", + "ubern etes", + "Ġ Laura", + "ĠL aura", + "ĠLa ura", + "ĠLaur a", + "ĠLau ra", + "Ġl abeled", + "Ġlabel ed", + "Ġlab eled", + "High light", + "Ġanno ying", + "Ġannoy ing", + "/ update", + "/up date", + "( description", + "(d escription", + "(de scription", + "(des cription", + "Ġint imid", + "Ġintim id", + "$ c", + "\" )))Ċ", + "\") ))Ċ", + "\")) )Ċ", + "\"))) Ċ", + ". AP", + ".A P", + "Ġ[ ]*", + "Ġ[] *", + "Ġ EXIT", + "ĠEX IT", + ". Host", + ".H ost", + "Ġ OPEN", + "ĠOP EN", + ". sendMessage", + ".send Message", + "_ camera", + "_c amera", + "_cam era", + "_ tile", + "_t ile", + "_ti le", + "Ġth erm", + "Ġthe rm", + "Ġther m", + "onom ous", + "Ġdis adv", + "Ġn aar", + "Ġna ar", + "index Of", + "Ġ PP", + "ĠP P", + ". protocol", + ".prot ocol", + ".proto col", + "A FE", + "AF E", + "Ġ textures", + "Ġtext ures", + "Ġtexture s", + "Ġtex tures", + "Ġtextu res", + "######## ########################################", + "################ ################################", + "################################ ################", + "######################################## ########", + "######################## ########################", + "um bai", + "umb ai", + "umba i", + ". stats", + ".st ats", + ".stat s", + "Ġ GE", + "ĠG E", + "Ġ ie", + "Ġi e", + "Ġ STD", + "ĠS TD", + "ĠST D", + "ĠM ann", + "ĠMan n", + "ĠMa nn", + ". reflect", + ".ref lect", + "K B", + "Ġd ive", + "Ġdi ve", + "Ġdiv e", + ". wav", + ".w av", + "/* ----------------------------------------------------------------", + "/*------------------------------------------------ ----------------", + "/ settings", + "/s ettings", + "/set tings", + ".l ifecycle", + ".life cycle", + "Ġda ughters", + "Ġdaughter s", + "o rus", + "or us", + "oru s", + "u ber", + "ub er", + "ube r", + "N ING", + "NI NG", + "s tri", + "st ri", + "str i", + "Ġ Tip", + "ĠT ip", + "ĠTi p", + "Ġ zn", + "Ġz n", + "Ġsw itched", + "Ġswitch ed", + "i net", + "in et", + "ine t", + "uff y", + "uf fy", + "ĠTransport ation", + "( conf", + "(con f", + "(co nf", + "f rica", + "fr ica", + "Ġ XL", + "ĠX L", + "Ġ Lead", + "ĠL ead", + "ĠLe ad", + "_ percent", + "_per cent", + "_perc ent", + "< Map", + " __", + "->_ _", + "per missions", + "perm issions", + "permission s", + "ĠD etermine", + "ĠDetermin e", + ". Man", + ".M an", + ".Ma n", + "Ġadv ances", + "Ġadvance s", + ". InputStream", + ".Input Stream", + "Ġstrong est", + "Ġstron gest", + "Ġe Bay", + "Ġ# -", + "Ġ dirname", + "Ġdir name", + "Ġ SMS", + "ĠS MS", + "ĠSM S", + "Ġmed ications", + "Ġmedic ations", + "Ġmedication s", + "Ġam ended", + "Ġamen ded", + "Ġamend ed", + "Ġchurch es", + "ĠIm perial", + "ĠImp erial", + "ĠImper ial", + "$ row", + "$r ow", + "ĠMad ison", + "Ġ Insp", + "ĠIn sp", + "ĠIns p", + "Ġaff air", + "Ġaf fair", + "Ġpsych ology", + "Ġpsycho logy", + "v h", + "Ġ severity", + "Ġse verity", + "Ġsever ity", + "âĢ IJ", + "Ġst rips", + "Ġstr ips", + "Ġstri ps", + "Ġstrip s", + "A H", + "vert ising", + "vertis ing", + "Ġc onse", + "Ġcon se", + "Ġcons e", + "IM AGE", + "IMA GE", + "Ġ Stats", + "ĠSt ats", + "ĠStat s", + "ĠSta ts", + "ĉ sc", + "ĉs c", + ". Cursor", + ".C ursor", + "Ġ freeze", + "Ġf reeze", + "Ġfree ze", + "s son", + "ss on", + "( xml", + "(x ml", + "Ġ Susan", + "ĠS usan", + "ĠSus an", + "ĠSu san", + ". tile", + ".t ile", + "e ded", + "ed ed", + "ede d", + "ĠĠ ĠĠĉĉĉ", + "ĠĠĠĠ ĉĉĉ", + "ĠĠĠ Ġĉĉĉ", + "ĠĠĠĠĉ ĉĉ", + "ĠĠĠĠĉĉ ĉ", + "u elle", + "ue lle", + "uel le", + "uell e", + "ĠMitch ell", + "b ased", + "base d", + "ba sed", + "bas ed", + "Oper and", + "Opera nd", + "½ æķ°", + "Ġ FF", + "ĠF F", + "ĉ strcpy", + "ĉstr cpy", + "ou nces", + "oun ces", + "ounc es", + "ounce s", + "il do", + "ild o", + ".execute Query", + "Ġappro aching", + "Ġapproach ing", + "Ġ Seven", + "ĠS even", + "ĠSe ven", + "ĠSev en", + "Ġ nuts", + "Ġn uts", + "Ġnut s", + "Ġnu ts", + "Ġ ric", + "Ġr ic", + "Ġri c", + "ass ignment", + "assign ment", + "Ġ calculator", + "Ġcal culator", + "Ġcalcul ator", + "Ġcalc ulator", + "ĠMur phy", + "ĠB ou", + "ĠBo u", + "í Ħ", + "Ġ butt", + "Ġb utt", + "Ġbut t", + "Ġbu tt", + "Ġ ticks", + "Ġt icks", + "Ġti cks", + "Ġtick s", + "Ġtic ks", + "Project s", + "Proj ects", + "i lib", + "il ib", + "ili b", + ".text Color", + "m ov", + "mo v", + "_ logo", + "_l ogo", + "_log o", + "_lo go", + "( template", + "(t emplate", + "(temp late", + "Ġ INIT", + "ĠIN IT", + "Ġ imageView", + "Ġimage View", + "s criptions", + "script ions", + "scri ptions", + "scription s", + "OR ITY", + "Con sumer", + "Cons umer", + "Consum er", + "Ġun precedented", + "Ġtour ist", + "Ġtou rist", + "Ġ bron", + "Ġb ron", + "Ġbr on", + "Ġbro n", + "Ġcon tractor", + "Ġcontract or", + "Ġcontr actor", + "Ġcontra ctor", + "Ġ licence", + "Ġli cence", + "Ġlic ence", + "Ġ Nam", + "ĠN am", + "ĠNa m", + "æ ¯", + "( transform", + "(trans form", + "_ ATT", + "_A TT", + "_AT T", + "P ref", + "Pr ef", + "Pre f", + "Ġ Gam", + "ĠG am", + "ĠGa m", + "Ġvess els", + "Ġvessel s", + "Ġh av", + "Ġha v", + "L ater", + "La ter", + "Lat er", + "Late r", + ". ToLower", + ".To Lower", + "Ġ urls", + "Ġurl s", + "Ġur ls", + "Ġbreak down", + "Ġpen alties", + "Ġpenal ties", + "Ġf oster", + "Ġfo ster", + "Ġfost er", + "Ġfos ter", + "Ġ UE", + "ĠU E", + "Ġc lue", + "Ġcl ue", + "c omed", + "com ed", + "co med", + "come d", + "åIJį ç§°", + "- main", + "-m ain", + "Ġ pts", + "Ġp ts", + "Ġpt s", + "Ġco unted", + "Ġcount ed", + "Ġcoun ted", + "i cts", + "ic ts", + "ict s", + "/ post", + "/p ost", + "Ġ getattr", + "Ġget attr", + "Ġ ping", + "Ġp ing", + "Ġpi ng", + "Ġpin g", + "AN CEL", + "ANCE L", + "ANC EL", + "Ġ pec", + "Ġp ec", + "Ġpe c", + "Ñħ од", + "Ñħо д", + "an tom", + "ant om", + "anto m", + "Ġ Blueprint", + "ĠBlue print", + "ĠEvent Emitter", + "Ġ lä", + "Ġl ä", + "æ ²", + "Ġst raw", + "Ġstr aw", + "Ġstra w", + "( comp", + "(c omp", + "(com p", + "(co mp", + "' une", + "'un e", + "'u ne", + "> N", + "- client", + "-c lient", + "-cl ient", + "-cli ent", + "es Module", + "- base", + "-b ase", + "Ġret reat", + "Ġretr eat", + "_ simple", + "_s imple", + "_sim ple", + "ĉ ĉĉĉĉĉĠ", + "ĉĉ ĉĉĉĉĠ", + "ĉĉĉĉ ĉĉĠ", + "ĉĉĉ ĉĉĉĠ", + "ĉĉĉĉĉ ĉĠ", + "ĉĉĉĉĉĉ Ġ", + "f ee", + "fe e", + "' )čĊčĊ", + "') čĊčĊ", + "')čĊ čĊ", + "Control Item", + "Ġsub scribers", + "Ġsubscri bers", + "Ġsubscribe rs", + "Ġsubscriber s", + "p lease", + "pl ease", + "ple ase", + "Ġ Eff", + "ĠE ff", + "ĠEf f", + "Ġp ound", + "Ġpo und", + "Ġpou nd", + "Ġ Bytes", + "ĠBy tes", + "ĠByte s", + "ĠT ea", + "ĠTe a", + "_ activity", + "_act ivity", + "_activ ity", + "Ġmax im", + "Ġmaxi m", + "Ġ opcode", + "Ġop code", + "Ġopc ode", + "B SD", + "BS D", + ". constant", + ".con stant", + ".const ant", + ".cons tant", + "; }", + "omb res", + "ombre s", + "Ġcare ers", + "Ġcareer s", + ") .ĊĊĊĊ", + "). ĊĊĊĊ", + ").ĊĊ ĊĊ", + ").Ċ ĊĊĊ", + ").ĊĊĊ Ċ", + "Ġsp reading", + "Ġspread ing", + "Ġspre ading", + "- expanded", + "-exp anded", + "-expand ed", + "Ġ Ord", + "ĠO rd", + "ĠOr d", + "am arin", + "ama rin", + "amar in", + "Ġmob ility", + "Ġmobil ity", + "Un fortunately", + "a kk", + "ak k", + "N L", + "_ redirect", + "_re direct", + "_red irect", + "Ġ PG", + "ĠP G", + "Ġ Sensor", + "ĠS ensor", + "ĠSens or", + "b ol", + "bo l", + "t ap", + "ta p", + "_ MEMORY", + "_MEM ORY", + "Ġ UIAlert", + "ĠUI Alert", + "pl itude", + "plit ude", + "We bsite", + "Web site", + "Ġ Logo", + "ĠL ogo", + "ĠLog o", + "ĠLo go", + "l ove", + "lo ve", + "lov e", + "[ ind", + "[i nd", + "[in d", + "Ġalto gether", + "Ġwonder ed", + "Ġ esper", + "Ġes per", + "Ġesp er", + "ĠLib eral", + "ĠLiber al", + "Ġ oss", + "Ġo ss", + "Ġos s", + "Ġe lit", + "Ġel it", + "Ġst iff", + "Ġstif f", + "od ox", + "odo x", + "_ mentions", + "_m entions", + "_ment ions", + "ĠDou glas", + "ĠDoug las", + "_ pid", + "_p id", + "_pi d", + "Ġ CK", + "ĠC K", + "ĠinitWith Frame", + ". blog", + ".b log", + ".bl og", + "p kg", + "pk g", + "ang hai", + "QUI RED", + "QUIRE D", + "u u", + "Ġ mkdir", + "Ġm kdir", + "Ġmk dir", + "AT AL", + "ATA L", + "Ġu nh", + "Ġun h", + "i nces", + "in ces", + "ince s", + "inc es", + "s th", + "st h", + "Ġhypo thesis", + "Ġhypoth esis", + "Ġc ata", + "Ġca ta", + "Ġcat a", + "Ġ TB", + "ĠT B", + "Ġ Clar", + "ĠC lar", + "ĠCl ar", + "ĠCla r", + "Ġpre decess", + "Ġpred ecess", + "Ġsit uated", + "Ġsitu ated", + "- world", + "-w orld", + ") )/", + ")) /", + "Ġhead lines", + "Ġheadline s", + ". stat", + ".s tat", + ".st at", + "Ġout break", + "s path", + "sp ath", + "spa th", + "_ FLAGS", + "_FLAG S", + "ĠServlet Exception", + "S un", + "Su n", + "F ROM", + "FR OM", + "Ġ Dir", + "ĠD ir", + "ĠDi r", + "ãĥ» ãĥ»ãĥ»", + "ãĥ»ãĥ» ãĥ»", + "_ coord", + "_c oord", + "_co ord", + "ĠOp tim", + "ĠOpt im", + "M onitor", + "Mon itor", + ". bit", + ".b it", + ".bi t", + "X XX", + "XX X", + "Ġto das", + "Ġtod as", + "Ġtoda s", + "f eld", + "fe ld", + "fel d", + "ÑĢ Ð¸", + "i mir", + "im ir", + "imi r", + "Ġpolit ically", + "Ġpolitical ly", + "Ġpolitic ally", + "Ġm olecular", + "Ġmolec ular", + "Ġmole cular", + "Ġtr aded", + "Ġtrad ed", + "Ġtrade d", + "Ġtra ded", + "Ġ {{$", + "Ġ{ {$", + "Ġ{{ $", + "ĠSw edish", + "ĠSwe dish", + "Ġ'@ /", + "_ REAL", + "_RE AL", + "Ġ warehouse", + "Ġw arehouse", + "Ġware house", + "t oday", + "to day", + "tod ay", + ", L", + "o rp", + "or p", + "< section", + " false", + ">f alse", + "Ġ spa", + "Ġs pa", + "Ġsp a", + "Ġ Near", + "ĠN ear", + "ĠNe ar", + "ì ķ", + "Ġint rig", + "Ġintr ig", + "_ members", + "_m embers", + "_mem bers", + "_member s", + "w ave", + "wa ve", + "wav e", + "Ġanal ysts", + "Ġanaly sts", + "Ġanalyst s", + "Ġanalys ts", + "_ OS", + "_O S", + "e din", + "ed in", + "edi n", + "Ġ Fri", + "ĠF ri", + "ĠFr i", + "Ġret rieved", + "Ġretrie ved", + "Ġretrieve d", + "Ġretr ieved", + "Reg ular", + "_ obs", + "_o bs", + "_ob s", + "EX PORT", + "EXP ORT", + "' )}}\"", + "') }}\"", + "')}} \"", + "')} }\"", + "\" class", + "\"c lass", + "__ ((", + "__( (", + "b ucket", + "bu cket", + "Ġ stro", + "Ġs tro", + "Ġst ro", + "Ġstr o", + "Ġ Patch", + "ĠP atch", + "ĠPat ch", + "y stick", + "yst ick", + "ys tick", + "ful ness", + "a pos", + "ap os", + "apo s", + "D a", + "ĉ ĉĉĉĉĠĠĠ", + "ĉĉ ĉĉĉĠĠĠ", + "ĉĉĉĉ ĉĠĠĠ", + "ĉĉĉ ĉĉĠĠĠ", + "ĉĉĉĉĉ ĠĠĠ", + "ĉĉĉĉĉĠ ĠĠ", + "ĉĉĉĉĉĠĠ Ġ", + "Ġen rich", + "Ġenr ich", + "un ordered", + "h ole", + "ho le", + "hol e", + "C ong", + "Con g", + "Co ng", + "< Product", + "ĠC urt", + "ĠCur t", + "ĠCu rt", + "( the", + "(t he", + "(th e", + "_ lower", + "_l ower", + "_lo wer", + "_low er", + "Ġavoid ing", + "Ġ buzz", + "Ġb uzz", + "Ġbu zz", + "Ġbuz z", + "Ġv iable", + "Ġvi able", + "Ġvia ble", + "u ba", + "ub a", + "- is", + "-i s", + "a rel", + "ar el", + "are l", + "Ġ acted", + "Ġact ed", + "Ġac ted", + "- details", + "-d etails", + "-de tails", + "-detail s", + "-det ails", + "ภĩ", + "Ġ Theory", + "ĠThe ory", + "ĠTheo ry", + "ĠP un", + "ĠPu n", + "Ġ Anonymous", + "ĠAn onymous", + ".. .\"Ċ", + "... \"Ċ", + "...\" Ċ", + "è res", + "ère s", + "åı ¯", + "Ġ Vision", + "ĠV ision", + "ĠVis ion", + "_ sem", + "_s em", + "_se m", + "a sha", + "as ha", + "ash a", + "Ġcelebr ity", + "Ġ endDate", + "Ġend Date", + "Ġ populate", + "Ġpop ulate", + "Ġpopul ate", + "Ġc uis", + "Ġcu is", + "Ġcui s", + "q uant", + "qu ant", + "qua nt", + "quan t", + "f loor", + "fl oor", + "flo or", + "Ġglobal ly", + "Ġglob ally", + "Ġc ruise", + "Ġcru ise", + "Ġcruis e", + "ĠStan ley", + "Ġb ikes", + "Ġbi kes", + "Ġbike s", + "Ġbik es", + ". getConnection", + ".get Connection", + "Ġpoor ly", + "_ other", + "_o ther", + "_ot her", + "am ping", + "amp ing", + ". \");ĊĊ", + ".\" );ĊĊ", + ".\");Ċ Ċ", + ".\") ;ĊĊ", + ".\"); ĊĊ", + "o di", + "od i", + "_ ADMIN", + "_A DMIN", + "_AD MIN", + ". colors", + ".color s", + ".col ors", + "ĠG aming", + "ĠGa ming", + "ĠGam ing", + "> ';ĊĊ", + ">' ;ĊĊ", + ">';Ċ Ċ", + ">'; ĊĊ", + "STR UCT", + "STRU CT", + "Q R", + "I Ds", + "ID s", + "( arguments", + "(arg uments", + "(argument s", + "_ aux", + "_a ux", + "( Event", + "(E vent", + "_ PRIVATE", + "_PR IVATE", + "_PRIV ATE", + "ĠT rek", + "ĠTr ek", + "ĠTre k", + "Ġ downloads", + "Ġdown loads", + "Ġdownload s", + "m utable", + "mut able", + "mu table", + "_ STRUCT", + "_STR UCT", + "( wx", + "(w x", + "Ġ domains", + "Ġdom ains", + "Ġdomain s", + "Ġdoma ins", + "js px", + "jsp x", + "ĠVi agra", + "ĠVia gra", + "Command s", + "Comm ands", + "J s", + ". cfg", + ".c fg", + ".cf g", + "Content Pane", + "Ġ EditText", + "ĠEdit Text", + "à¥į à¤", + "At tach", + "Att ach", + "Ġ ARM", + "ĠA RM", + "ĠAR M", + "pos itive", + "posit ive", + "Ġ Generated", + "ĠG enerated", + "ĠGener ated", + "ĠGenerate d", + "ĠGene rated", + "Ġse ized", + "Ġseiz ed", + "Ġsei zed", + "Ġseize d", + "= :", + "Ġ electronics", + "Ġelect ronics", + "Ġelectronic s", + "Ġelectron ics", + "Ġ AppComponent", + "ĠApp Component", + "/ ',Ċ", + "/' ,Ċ", + "/', Ċ", + ". equalsIgnoreCase", + ".equals IgnoreCase", + "Do ctrine", + "d isk", + "dis k", + "di sk", + "Ġ Political", + "ĠPol itical", + "ĠPolit ical", + "C HO", + "CH O", + "< F", + "ĉ height", + "ĉh eight", + "Ġ Bug", + "ĠB ug", + "ĠBu g", + ". le", + ".l e", + "i kh", + "ik h", + "Ġ milliseconds", + "Ġm illiseconds", + "Ġmill iseconds", + "Ġmilli seconds", + "Ġconst itu", + "Ġconstit u", + "m ag", + "ma g", + ". nl", + ".n l", + "- range", + "-r ange", + "-ra nge", + "ang gal", + "' ,[", + "', [", + "r opolitan", + "ropol itan", + "Ġ Ãľ", + "Ġà ľ", + "Ġ UC", + "ĠU C", + ". desc", + ".d esc", + ".de sc", + ".des c", + "- LAST", + "-L AST", + "f stream", + "fst ream", + "i bil", + "ib il", + "ibi l", + "Ġf ier", + "Ġfi er", + "Ġfie r", + "V ERY", + "VER Y", + "VE RY", + "Ġ ë³", + "Ġë ³", + "I RT", + "IR T", + "_ UI", + "_U I", + "( abs", + "(a bs", + "(ab s", + "Ġk nees", + "Ġkn ees", + "Ġkne es", + "Ġknee s", + "Ġr ookie", + "Ġro okie", + "Ġ Vac", + "ĠV ac", + "ĠVa c", + "a rena", + "ar ena", + "are na", + "aren a", + "comm end", + "- \\", + "ĠSUB STITUTE", + "S oft", + "So ft", + "Ġpart ir", + "Ġpar tir", + "Ġparti r", + "we alth", + "è¦ ģ", + "( dataset", + "(d ataset", + "(data set", + "(dat aset", + "(datas et", + "Ġ Climate", + "ĠCl imate", + "ĠClim ate", + "ĠCli mate", + "- show", + "-s how", + "-sh ow", + "Ġrel iability", + "Ġreli ability", + "_ chunk", + "_ch unk", + "ä» £", + "_ stock", + "_st ock", + "ĠEX EMPLARY", + "ï ¸ı", + "ï¸ ı", + "Ġ vÃŃ", + "Ġv ÃŃ", + "Ġsm iled", + "Ġsmile d", + "Ġdr ill", + "Ġdri ll", + ". Function", + ".F unction", + ".Func tion", + "Ġ SI", + "ĠS I", + "Ġre gression", + "Ġreg ression", + "Ġregress ion", + "- X", + "Ġ Jar", + "ĠJ ar", + "ĠJa r", + "p ref", + "pr ef", + "pre f", + "ĉ success", + "ĉs uccess", + "ĠH itler", + "ĠHit ler", + "Ġinst inct", + "Ġfem mes", + "Ġfemme s", + "Ġ lover", + "Ġl over", + "Ġlo ver", + "Ġlove r", + "Ġlov er", + "< Ċ", + "Ġmulti plier", + "Ġmultip lier", + "r il", + "ri l", + "Re size", + "Res ize", + "Ġ Authorization", + "ĠAuthor ization", + "ĠK an", + "ĠKa n", + "Dispatch ToProps", + "Ġc rops", + "Ġcr ops", + "Ġcro ps", + "Ġcrop s", + "t okens", + "token s", + "tok ens", + "e cn", + "ec n", + "ent ially", + "ential ly", + "enti ally", + "ĠINTERRU PTION", + "f ake", + "fa ke", + "fak e", + "Un defined", + "Und efined", + "Ġ AK", + "ĠA K", + "Ġ TestCase", + "ĠTest Case", + "Ġ rab", + "Ġr ab", + "Ġra b", + "Ġ torrent", + "Ġt orrent", + "Ġtor rent", + "Ġ Ot", + "ĠO t", + "B ars", + "Bar s", + "Ba rs", + "Ġ lecture", + "Ġl ecture", + "Ġlect ure", + "Ġen jo", + "Ġrespond s", + "Ġresp onds", + "Ġ indexed", + "Ġindex ed", + "Ġinde xed", + "Of Work", + "_ chain", + "_ch ain", + ") )->", + ")) ->", + "))- >", + "Ġ Beauty", + "ĠBe auty", + "ĠBeaut y", + "ĠBea uty", + "ĠBeau ty", + "Ġ` <", + "Ġtouch ing", + "Ġtou ching", + "Ġ |--", + "Ġ| --", + "Ġ|- -", + "ĉ flag", + "ĉf lag", + "normal ize", + "Ġt rapped", + "Ġtr apped", + "Ġtra pped", + "Ġtrap ped", + "Ġestablish ing", + "/ build", + "/b uild", + "A J", + "f y", + "- react", + "-re act", + "a vn", + "av n", + "RI PTION", + "RIPT ION", + "Ġk ut", + "Ġku t", + "Ġ Fashion", + "ĠF ashion", + "Ġ Inform", + "ĠIn form", + "ĠInfo rm", + "ĠInf orm", + "c urities", + "cur ities", + "< byte", + "{Ċ", + "Ġ= >{Ċ", + "Ġ=> {Ċ", + "Ġgar lic", + "Ġ repr", + "Ġre pr", + "Ġrep r", + "Ġre plies", + "Ġrep lies", + "Ġrepl ies", + "( prop", + "(p rop", + "(pro p", + "(pr op", + "Ġspirit s", + "Ġspir its", + "Ġins pire", + "Ġinspir e", + "Ġinsp ire", + "Ġbase ment", + "Ġbas ement", + ". reject", + ".re ject", + "Ġ hints", + "Ġh ints", + "Ġhint s", + "Ġhi nts", + "Ġhin ts", + "Ġpol ling", + "Ġpoll ing", + "ĉ ĠĊ", + "ĉĠ Ċ", + "_ rating", + "_r ating", + "_ra ting", + "_rat ing", + "Ġc ath", + "Ġca th", + "Ġcat h", + "a vier", + "av ier", + "avi er", + "Ġ compressed", + "Ġcom pressed", + "Ġcomp ressed", + "Ġcompr essed", + "Ġcompress ed", + "Ġ VS", + "ĠV S", + "] '", + "Ġjud icial", + "ĠT rend", + "ĠTr end", + "ĠTre nd", + "tr aining", + "tra ining", + "train ing", + "EST AMP", + "ogn ition", + "Ä ģ", + "S ENT", + "SE NT", + "SEN T", + "v entions", + "vent ions", + "vention s", + "Ġconsult ant", + "Ġconsulta nt", + "Ġconsul tant", + "u mph", + "um ph", + "ump h", + "Ġ userService", + "Ġuser Service", + ", NULL", + ",N ULL", + "k h", + "D ear", + "De ar", + "_ BAD", + "_B AD", + "it ations", + "itation s", + "itat ions", + "Ġmet aph", + "Ġmeta ph", + "' é", + "and ise", + "andi se", + "- font", + "-f ont", + ". chart", + ".c hart", + ".ch art", + ".char t", + "Ġ sg", + "Ġs g", + "_ Controller", + "_Control ler", + ". jpeg", + ".j peg", + ".jp eg", + "Ġ ULONG", + "ĠU LONG", + "ĠUL ONG", + "ĉ game", + "ĉg ame", + "( ss", + "(s s", + "ĠM aj", + "ĠMa j", + "ĉ go", + "ĉg o", + "Ġ Sad", + "ĠS ad", + "ĠSa d", + "ĠB erg", + "ĠBe rg", + "ĠBer g", + "Ġ Mine", + "ĠM ine", + "ĠMin e", + "ĠMi ne", + "P ack", + "Pa ck", + "Ġres istant", + "Ġresist ant", + "Ġ ROM", + "ĠR OM", + "ĠRO M", + "Ġ peg", + "Ġp eg", + "Ġpe g", + "ĠSt anford", + "ĠStan ford", + "Ġ Yahoo", + "ĠY ahoo", + "ĠYa hoo", + "ĠYah oo", + "Ġ scaled", + "Ġs caled", + "Ġsc aled", + "Ġscale d", + "Ġsca led", + "Ġscal ed", + "Ġ lan", + "Ġl an", + "Ġla n", + "= []", + "=[ ]", + "\" /> < /", + "Ġ plots", + "Ġp lots", + "Ġpl ots", + "Ġplot s", + "Ġplo ts", + ". *Ċ", + ".* Ċ", + "Ġtr aveled", + "Ġtravel ed", + "Ġtra veled", + "Ġtrav eled", + "ĠO scar", + "ĠOs car", + "ĠOsc ar", + "V L", + "Ġl inking", + "Ġlink ing", + "Ġlin king", + "Ġt ires", + "Ġti res", + "Ġtire s", + "Ġtir es", + "Ġ' *'", + "Ġ'* '", + "ĠBuffer ed", + "ĠBuff ered", + "e ri", + "er i", + "Ġ ****", + "Ġ* ***", + "Ġ** **", + "Ġ*** *", + "Ġover look", + "Ġoverl ook", + ". Non", + ".N on", + ".No n", + "Ġr és", + "Ġré s", + "Ġe gy", + "Ġeg y", + "å° ı", + "Ġatt acker", + "Ġattack er", + "ĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉ", + ". sync", + ".s ync", + ".syn c", + ".sy nc", + "AS CADE", + "ASC ADE", + "G round", + "Gr ound", + "Gro und", + "Ġ decay", + "Ġdec ay", + "Ġ Ton", + "ĠT on", + "ĠTo n", + "Ġjew elry", + "Ġjewel ry", + "Ġb ypass", + "Ġby pass", + "Ġm embr", + "Ġmem br", + "Ġmemb r", + "R NA", + "RN A", + "< System", + " ččĊ", + "Ġs ud", + "Ġsu d", + "ĉ background", + "ĉback ground", + "Ġsch olars", + "Ġscholar s", + "-m uted", + "a rá", + "ar á", + "Ġ =====", + "Ġ= ====", + "Ġ== ===", + "Ġ=== ==", + "Ġ==== =", + "Ġ ____", + "Ġ_ ___", + "Ġ__ __", + "Ġ___ _", + "C reat", + "Cre at", + "Cr eat", + "e never", + "en ever", + "ene ver", + "/ wp", + "/w p", + "Ġ VPN", + "ĠV PN", + "ĠVP N", + "Error Code", + ") ],Ċ", + ")] ,Ċ", + ")], Ċ", + "( builder", + "(b uilder", + "(build er", + "Ġ Enemy", + "ĠEn emy", + "S ensor", + "u sa", + "us a", + "Ġtr iggers", + "Ġtrigger s", + "Ġtrig gers", + "Ġplay offs", + "Ġplayoff s", + "_ REQ", + "_RE Q", + "_R EQ", + "Ġ (~", + "Ġ( ~", + "ĠB arry", + "ĠBar ry", + "ĠBarr y", + "Ġperman ently", + "Ġpermanent ly", + "Ġ RUN", + "ĠR UN", + "ĠRU N", + "Ġb ure", + "Ġbu re", + "Ġbur e", + ".Fatal f", + ".Fat alf", + "Ġch ick", + "Ġchi ck", + "Ġchic k", + "ĉ panic", + "ĉp anic", + "p si", + "ps i", + "o ka", + "ok a", + "éĢ ī", + "> [", + "Ġunder stands", + "Ġunderstand s", + "Ġunderst ands", + "Ġ Junior", + "ĠJun ior", + "ĠJuni or", + "Ġ INFO", + "ĠIN FO", + "ĠINF O", + "= mysqli", + "=m ysqli", + "=mysql i", + "us tain", + "ust ain", + "usta in", + "- source", + "-s ource", + "s erv", + "se rv", + "ser v", + "Ġ CREATE", + "ĠC REATE", + "ĠCRE ATE", + ". au", + ".a u", + "Ġs ells", + "Ġsell s", + "Ġsel ls", + "Ġ ĠĊĠĠĊ", + "ĠĠ ĊĠĠĊ", + "ĠĠĊ ĠĠĊ", + "E urope", + "Euro pe", + "z w", + "p reh", + "pr eh", + "pre h", + "ĠN SA", + "ĠNS A", + "Ġ xy", + "Ġx y", + "ภ´", + "Ġ Beyond", + "ĠB eyond", + "ĠBey ond", + "In stead", + "Inst ead", + "Non Query", + "Ġa rise", + "Ġar ise", + "Ġavoid ed", + ". emplace", + ".em place", + ".emp lace", + "_ models", + "_model s", + "_mode ls", + "_mod els", + "} ),Ċ", + "}) ,Ċ", + "}), Ċ", + "Ġ hid", + "Ġh id", + "Ġhi d", + "Ġ &_", + "Ġ& _", + ". points", + ".p oints", + ".point s", + ".po ints", + ".poi nts", + ". getWidth", + ".get Width", + ". Exec", + ".Ex ec", + ".E xec", + "Ġ ////", + "Ġ// //", + "Ġ/ ///", + "Ġ/// /", + "Ġ Sessions", + "ĠS essions", + "ĠSession s", + ". ..\\", + ".. .\\", + "... \\", + "ĠCol omb", + "ĠColo mb", + "Ġacceler ation", + "Ġaccel eration", + "re store", + "rest ore", + "Ġ ile", + "Ġi le", + "Ġil e", + "o bic", + "ob ic", + "obi c", + "< Node", + " }Ċ", + ">} Ċ", + "pl aint", + "plain t", + "pla int", + "get Text", + "Ġindividual ly", + "Ġindivid ually", + "Ġ checkbox", + "Ġcheck box", + "U Y", + "ĠL amb", + "ĠLa mb", + "ĠLam b", + "Ġdys function", + "ĠL ar", + "ĠLa r", + "à °", + "Ġ Creating", + "ĠC reating", + "ĠCr eating", + "ĠCre ating", + "ĠCreat ing", + "' );ĊĊĊ", + "') ;ĊĊĊ", + "');Ċ ĊĊ", + "');ĊĊ Ċ", + "'); ĊĊĊ", + "\" They", + "\"The y", + "\"T hey", + "l ocations", + "loc ations", + "location s", + "_ CORE", + "_C ORE", + "_CO RE", + "_COR E", + "Inter action", + "umbn ails", + "umbnail s", + "Ġ Partner", + "ĠP artner", + "ĠPart ner", + "b rit", + "br it", + "Ġl esser", + "Ġless er", + "Ġles ser", + "Ġ Slot", + "ĠS lot", + "ĠSl ot", + "ĠSlo t", + "set Attribute", + "Ġ Wave", + "ĠW ave", + "ĠWa ve", + ". po", + ".p o", + "/ store", + "/st ore", + "Ġb rowsing", + "Ġbrows ing", + "Ġbrow sing", + "_ pd", + "_p d", + "s ume", + "sum e", + "su me", + "s ed", + "se d", + "C urve", + "Cur ve", + "Cu rve", + "Ġpl asma", + "Ġsusp icious", + "ìĿ ¸", + "Ġ Bah", + "ĠB ah", + "ĠBa h", + "Ġ Explicit", + "ĠExp licit", + "ĠExpl icit", + "_ CC", + "_C C", + ".Client Size", + "\\ View", + "\\V iew", + "Ġsub stit", + "Ġsubs tit", + "Ġsubst it", + "l oon", + "lo on", + "loo n", + "Ġ GAME", + "ĠG AME", + "ĠGA ME", + "ĠGAM E", + "ĠB rid", + "ĠBr id", + "ĠBri d", + "Ľ 建", + "_ User", + "_U ser", + "Ġs quares", + "Ġsqu ares", + "Ġsquare s", + "f one", + "fo ne", + "fon e", + "Ġsa cred", + "Ġsac red", + "Ġsacr ed", + "ug hs", + "ugh s", + "] interface", + "Ġ Throw", + "ĠTh row", + "ĠThr ow", + "ĠK irk", + "ĠKir k", + "ĠKi rk", + "Ġem pire", + "Ġemp ire", + "Ġempir e", + "Ġass essed", + "Ġassess ed", + "Ġasses sed", + "T ax", + "Ta x", + "ĠHe aven", + "- buffer", + "-b uffer", + "_ STATIC", + "_ST ATIC", + "_STAT IC", + "é né", + "én é", + "-b ordered", + "-border ed", + "Ġp unct", + "Ġpun ct", + "( mode", + "(m ode", + "(mod e", + "Ġke ine", + "Ġkein e", + "S ent", + "Se nt", + "Sen t", + "Ġ Calcul", + "ĠCal cul", + "ĠCalc ul", + "ĠE ve", + "ĠEv e", + "Ġsty lish", + "Ġstyl ish", + "Ġo ils", + "Ġoil s", + "Ġoi ls", + ". TestCase", + ".Test Case", + "Ġtrad emark", + "Ġtrade mark", + "Ġliter ary", + "Ġlite rary", + "Ġconcentr ations", + "Ġconcentration s", + "Ġ Relations", + "ĠRe lations", + "ĠRel ations", + "ĠRelation s", + "( Class", + "(C lass", + "(Cl ass", + "Ġ stdin", + "Ġst din", + "Ġstd in", + "Ġv æ", + "back up", + "bac kup", + ". VERSION", + ".V ERSION", + ".AutoScale Dimensions", + "st arter", + "start er", + "star ter", + "Transaction al", + "- panel", + "-p anel", + "-pane l", + "St udio", + "k c", + "ĠCh amber", + "ĠCham ber", + "ĠS piel", + "ĠSp iel", + "ĠSpi el", + "Ġ rho", + "Ġr ho", + "Ġrh o", + "ا ÙĦ", + "ا٠Ħ", + "! '", + ". Attributes", + ".At tributes", + ".Attribute s", + "Ġmurder ed", + "apeut ic", + "Ġint imate", + "Ġintim ate", + "Ġ textField", + "Ġt extField", + "Ġtext Field", + "ĠBuff alo", + "d ummy", + "dum my", + "\" %", + "ĠLib erty", + "ĠLibert y", + "ĠLiber ty", + "o bar", + "ob ar", + "oba r", + "Ġ Tank", + "ĠT ank", + "ĠTa nk", + "ĠTan k", + "Ġ Popular", + "ĠPop ular", + "er visor", + "erv isor", + "ĠIn iti", + "ĠInit i", + "ĠIni ti", + "ĠM all", + "ĠMal l", + "ĠMa ll", + "Ġ Prior", + "ĠP rior", + "ĠPr ior", + "ĠPri or", + "C AP", + "CA P", + "ĠC lay", + "ĠCl ay", + "ĠCla y", + "Ġ Certificate", + "ĠC ertificate", + "ĠCert ificate", + "ĠCertif icate", + ". Lock", + ".L ock", + ".Lo ck", + "- strip", + "-s trip", + "-st rip", + "-str ip", + "-dr iven", + "-drive n", + "/ all", + "/a ll", + "/al l", + "ĠMessageBox Buttons", + "ĠMessageBoxButton s", + "_ SECRET", + "_SE CRET", + "_SEC RET", + "_ pb", + "_p b", + "Ġ rats", + "Ġr ats", + "Ġrat s", + "Ġra ts", + "ा à¤", + "Ġ nt", + "Ġn t", + ". Router", + ".R outer", + ".Route r", + "_ topic", + "_t opic", + "_to pic", + "_top ic", + "Ġt ennis", + "Ġten nis", + "Ġ PUBLIC", + "ĠP UBLIC", + "ĠPUB LIC", + "ĠActiv atedRoute", + "Ġ ',Ċ", + "Ġ' ,Ċ", + "Ġ', Ċ", + "Ġcost ume", + "Ġj okes", + "Ġjo kes", + "Ġjoke s", + ". Handle", + ".H andle", + ".Hand le", + "ĉ byte", + "ĉb yte", + "Ġfl avors", + "Ġflavor s", + "Ġflav ors", + "( cc", + "(c c", + "Ġperson as", + "Ġpers onas", + "Ġpersona s", + "Ġperso nas", + "ĉ image", + "ĉi mage", + "ĉim age", + "ĠN azi", + "ĠNa zi", + "ĠNaz i", + "Ġ grammar", + "Ġgram mar", + "Ġgramm ar", + "Ġú lt", + "Ġval ve", + "Ġ vic", + "Ġv ic", + "Ġvi c", + "Ġ Rachel", + "ĠR achel", + "ĠRac hel", + "ĠRach el", + "_ invalid", + "_in valid", + "P refs", + "Pr efs", + "Pre fs", + "Pref s", + "std int", + "stdin t", + "( route", + "(r oute", + "(ro ute", + "Ġ htmlspecialchars", + "Ġhtml specialchars", + "Ġpe oples", + "Ġpeople s", + "p line", + "pl ine", + "Ġ nv", + "Ġn v", + "Ġ Quant", + "ĠQ uant", + "ĠQu ant", + "o ppers", + "op pers", + "opp ers", + "opper s", + "Ġ currentUser", + "Ġcurrent User", + "ĠC atal", + "ĠCa tal", + "ĠCat al", + "ĠCata l", + "Ġre conc", + "Ġrecon c", + "Ġreco nc", + "Ġcon junction", + "Ġconj unction", + "l x", + "am burg", + "amb urg", + "Ġinflu ential", + "d anger", + "da nger", + "dan ger", + "in ders", + "ind ers", + "inder s", + "inde rs", + "Ġ %@\",", + "Ġ% @\",", + "Ġ%@ \",", + ". configuration", + ".config uration", + "o some", + "os ome", + "oso me", + ". identity", + ".id entity", + ".ident ity", + ".ide ntity", + "Ġ picker", + "Ġp icker", + "Ġpick er", + "Ġpi cker", + "Ġpic ker", + "n ost", + "no st", + "nos t", + "ĠDI Y", + "Aug ust", + "a blo", + "ab lo", + "abl o", + "Le af", + "ĠR eco", + "ĠRe co", + "ĠRec o", + "c ko", + "ck o", + "D OC", + "DO C", + "ĠH erm", + "ĠHe rm", + "ĠHer m", + ": any", + ":a ny", + "Ġ Interview", + "ĠInt erview", + "ĠInter view", + "Ġ Tex", + "ĠT ex", + "ĠTe x", + "x fe", + "xf e", + "( work", + "(w ork", + "Ġle ap", + "He ading", + "Head ing", + "Ġ quarters", + "Ġqu arters", + "Ġquarter s", + "Ġquar ters", + "Ġquart ers", + "\\ Bundle", + "r eb", + "re b", + "Per haps", + "ĠG mbH", + "B irth", + "Bir th", + "ĉ sum", + "ĉs um", + "ĠWat son", + ". nil", + ".n il", + "ç ¡", + "{ }ĊĊ", + "{} ĊĊ", + "{}Ċ Ċ", + "ic aid", + "ica id", + "G etter", + "Get ter", + "\" name", + "Ġ \"čĊ", + "Ġ\" čĊ", + "_ none", + "_n one", + "_no ne", + "_non e", + "z m", + "ac ute", + "u esto", + "ue sto", + "ues to", + "uest o", + "Ġs ous", + "Ġso us", + "Ġsou s", + "Ġre build", + "Ġreb uild", + "Ġnews papers", + "Ġnewsp apers", + "Ġnewspaper s", + "Ġ Haz", + "ĠH az", + "ĠHa z", + "Ġ kits", + "Ġk its", + "Ġkit s", + "Ġki ts", + "i fo", + "if o", + "Bl ur", + "Ġsu ited", + "Ġsuit ed", + "Ġsuite d", + "Ġsui ted", + "- In", + "-I n", + "à ¯", + "Ġ Keith", + "ĠKe ith", + "ĠNor way", + "IN IT", + "INI T", + "ire ccion", + "i eties", + "ie ties", + "iet ies", + "_ usage", + "_u sage", + "_us age", + "Ġ Doug", + "ĠD oug", + "ĠDo ug", + "ĠDou g", + "r ise", + "ri se", + "ris e", + "Ġtr illion", + "im ited", + "imit ed", + "imi ted", + "Ġ REL", + "ĠR EL", + "ĠRE L", + "a lic", + "al ic", + "ali c", + "Ġcritic ized", + "Ġcriticize d", + "the orem", + "Ġc ease", + "Ġce ase", + "Ġside w", + "Ġsid ew", + "ĠT erry", + "ĠTer ry", + "ĠTerr y", + "Ġsubs idi", + "Ġsubsid i", + "Ġfirm ly", + "Ġ aws", + "Ġa ws", + "Ġaw s", + "Ġh ott", + "Ġhot t", + "Ġho tt", + "Ġd ressing", + "Ġdress ing", + "b adge", + "ba dge", + "bad ge", + "Ġ Applications", + "ĠApp lications", + "ĠApplication s", + "ĠAppl ications", + "è¿ ĶåĽŀ", + "è¿Ķ åĽŀ", + "Ġlaugh ed", + "Ġh obby", + "Ġhob by", + "Ġmus icians", + "Ġmusic ians", + "Ġmusician s", + "Ġ *.", + "Ġ* .", + ". placeholder", + ".place holder", + "Ġc ounters", + "Ġcount ers", + "Ġcoun ters", + "Ġcounter s", + "ĠCap itol", + "S DK", + "SD K", + "Ġh elmet", + "Ġhel met", + "Ġhelm et", + "and box", + "q uit", + "qu it", + "qui t", + "Ġcriminal s", + "Ġcrim inals", + "Ġteen ager", + "Ġteenage r", + "( update", + "(up date", + "G l", + ". selection", + ".s election", + ".se lection", + ".select ion", + ".sel ection", + "Ġdis charge", + "Ġpres enting", + "Ġpresent ing", + "ufact urer", + "_ UNKNOWN", + "_UN KNOWN", + "Ġst ressed", + "Ġstr essed", + "Ġstress ed", + "å ύ", + "åĻ ¨", + "Pro to", + "Pr oto", + "Prot o", + "_ correct", + "_c orrect", + "_cor rect", + "_corr ect", + "h aus", + "ha us", + "Ġre nov", + "Ġren ov", + "Ġfire arms", + "Ġfirearm s", + "Ġtechn ically", + "Ġtechnical ly", + "- browser", + "-b rowser", + "Ġc andy", + "Ġcan dy", + "Ġcand y", + "St roke", + "Str oke", + "Ġ executor", + "Ġexec utor", + "Ġexecut or", + "Ġocc urrence", + "Ġoccur rence", + "Ġ IPv", + "ĠIP v", + "_ INTERFACE", + "_INTER FACE", + "Ġ Retrieve", + "ĠRe trieve", + "ĠRet rieve", + "ĠRetrie ve", + ". bad", + ".b ad", + ".ba d", + "Ex change", + "Nav bar", + "Ġ Kid", + "ĠK id", + "ĠKi d", + "(get ApplicationContext", + "_ STOP", + "_S TOP", + "_ST OP", + "Ġ Boss", + "ĠB oss", + "ĠBo ss", + "ĠBos s", + "List eners", + "Listener s", + "Listen ers", + "Ġsh ooter", + "Ġshoot er", + "Ġsho oter", + "ĠA lb", + "ĠAl b", + "ä ch", + "Ġ pix", + "Ġp ix", + "Ġpi x", + ". keyCode", + ".key Code", + "al one", + "alo ne", + "alon e", + "Ġabs urd", + "Ġ Cum", + "ĠC um", + "ĠCu m", + "ĠNewton soft", + "i kt", + "ik t", + "Ġlaugh ing", + "Ġcapital ism", + "ree Node", + "T x", + "_ QUERY", + "_QU ERY", + ". Sleep", + ".S leep", + "( login", + "(log in", + "(lo gin", + "Web Element", + "Ġcelebr ating", + "Ġ deprecated", + "Ġde precated", + "Ġdep recated", + "Ġm aar", + "Ġma ar", + "Ġart istic", + "Ġartist ic", + "_ASS OC", + "_AS SOC", + "ĠBorder Radius", + "ĉ wp", + "ĉw p", + "Ġsurv ivors", + "Ġsurviv ors", + "Ġsurvivor s", + "In ner", + "- red", + "-r ed", + "-re d", + "Ġprosec ution", + "_ pp", + "_p p", + "( \"$", + "\"=> $", + "Ġ comma", + "Ġcom ma", + "Ġco mma", + "Ġcomm a", + "un checked", + "g raphics", + "graph ics", + "graphic s", + "r ors", + "ro rs", + "ror s", + "G ROUND", + "GR OUND", + "( public", + "(p ublic", + "(pub lic", + "Ġcustom ized", + "Ġcustomize d", + "ĠArk ansas", + "Ġ Rew", + "ĠR ew", + "ĠRe w", + "Ġ expiration", + "Ġex piration", + "Ġexp iration", + "× ķ", + "ĠC ul", + "ĠCu l", + "Ġn ons", + "Ġno ns", + "Ġnon s", + ". Filter", + ".F ilter", + "Ġsen ator", + "_ definition", + "_def inition", + "ash ington", + "ashing ton", + "y mph", + "ym ph", + "/ J", + "Ġ fuse", + "Ġf use", + "Ġfu se", + "Ġfus e", + "ra mid", + "ram id", + "Ġ Supplier", + "ĠS upplier", + "ĠSup plier", + "Ġ autocomplete", + "Ġaut ocomplete", + "Ġauto complete", + "Ġ }),", + "Ġ} ),", + "Ġ}) ,", + ". \"ĊĊĊ", + ".\" ĊĊĊ", + ".\"ĊĊ Ċ", + ".\"Ċ ĊĊ", + "_ functions", + "_function s", + "_fun ctions", + "ĉ to", + "ĉt o", + ". eval", + ".e val", + ".ev al", + "ĠT Object", + "ĠTO bject", + "Re ferences", + "Reference s", + "Refer ences", + "Ġh eated", + "Ġhe ated", + "Ġheat ed", + "H AL", + "HA L", + "Ġ ))}Ċ", + "Ġ) )}Ċ", + "Ġ)) }Ċ", + "} $", + "ĠB arr", + "ĠBar r", + "ĠBa rr", + "_ UNIT", + "_UN IT", + "+ $", + "Ġ getValue", + "Ġget Value", + "i ped", + "ip ed", + "ipe d", + "ch ied", + "chie d", + "chi ed", + "( vm", + "(v m", + "c ue", + "cu e", + "_ integer", + "_int eger", + "_ course", + "_c ourse", + "_co urse", + "th ird", + "Ġre vised", + "Ġrev ised", + "Ġrevis ed", + "Ġrevise d", + "* */Ċ", + "** /Ċ", + "_ DIRECT", + "_D IRECT", + "_DIR ECT", + "_DI RECT", + "Out Of", + "( \"(", + "(\" (", + "Ġ Feel", + "ĠF eel", + "ĠFe el", + "ĠFee l", + "Ġre ass", + "Ġ subtitle", + "Ġsub title", + "Ġsubt itle", + "p eri", + "pe ri", + "per i", + "n f", + "Ġenjoy s", + "Ġenjo ys", + "Ġtreat s", + "Ġtre ats", + ") this", + ")t his", + "- tabs", + "-t abs", + "-tab s", + "an cers", + "ance rs", + "anc ers", + "ancer s", + "Ġ continent", + "Ġcont inent", + "Ġcontin ent", + "Ġcar dio", + "Ġcard io", + "Ġcardi o", + "S er", + "Se r", + ". question", + ".q uestion", + ".qu estion", + ".quest ion", + "Ġph rases", + "Ġphrase s", + "Valid ators", + "Validator s", + "Ġpop ul", + "Ġ lÃŃ", + "Ġl ÃŃ", + "s ong", + "so ng", + "son g", + "_ INTERNAL", + "_IN TERNAL", + "_INTER NAL", + "Ġadv iser", + "Ġadvis er", + "Ġadvise r", + "Ġp uzz", + "Ġpu zz", + "Ġamb itious", + "Ġambit ious", + "ĠT ob", + "ĠTo b", + "Ġ DP", + "ĠD P", + "Ġpres idency", + "Ġsur render", + "Ġsurre nder", + "Ġw atches", + "Ġwatch es", + "Ġwat ches", + "_ binary", + "_b inary", + "_bin ary", + "Ġ Soon", + "ĠS oon", + "ĠSo on", + "Ġcan ada", + "(\" \")Ċ", + "(\"\" )Ċ", + "(\"\") Ċ", + "] ='", + "]= '", + "Ġ Brandon", + "ĠBr andon", + "ĠBrand on", + "ĠBra ndon", + "ĠBran don", + "e psilon", + "eps ilon", + "r w", + ". addChild", + ".add Child", + ". Copy", + ".C opy", + ".Co py", + "Pr incipal", + "Ph otos", + "Photo s", + "Phot os", + "Ġmargin al", + "Ġmarg inal", + "Ġb asics", + "Ġbas ics", + "Ġbasic s", + "e ing", + "ei ng", + "ein g", + "M ust", + "Mu st", + "Mus t", + "_ String", + "_S tring", + "_Str ing", + "_St ring", + "Ġ ole", + "Ġo le", + "Ġol e", + "M agento", + "Mag ento", + ". customer", + ".c ustomer", + ".custom er", + "( prev", + "(p rev", + "(pr ev", + "(pre v", + "ภ¥", + "Ġlo yalty", + "Ġloyal ty", + "C og", + "Co g", + "Ġ protocols", + "Ġprot ocols", + "Ġprotocol s", + "Ġproto cols", + "Ġ Companies", + "ĠCom panies", + "Ġthe oretical", + "Ġtheoret ical", + "Ġtheor etical", + "Ġaccess ing", + "Ġacces sing", + "Ġ Zen", + "ĠZ en", + "ĠZe n", + ". ones", + ".on es", + ".o nes", + ".one s", + "att ice", + "atti ce", + "_ world", + "_w orld", + "z es", + "ze s", + "Ġtatto o", + "Ġtat too", + "Ġm enos", + "Ġme nos", + "Ġmen os", + "Ġmeno s", + "Ġ intersect", + "Ġinter sect", + "Ġinters ect", + "\" ];ĊĊ", + "\"] ;ĊĊ", + "\"];Ċ Ċ", + "\"]; ĊĊ", + "be lie", + "bel ie", + "Ġ inactive", + "Ġin active", + ".read line", + "-label led", + ". done", + ".d one", + ".do ne", + "lic kr", + "lick r", + "Ġ WORK", + "ĠW ORK", + "Ġder ivative", + "Ġderiv ative", + "Ġd atabases", + "Ġdata bases", + "Ġdatabase s", + "Ġdatab ases", + "âĤ Ĥ", + "Ġ sx", + "Ġs x", + ". isArray", + ".is Array", + "Ġ ys", + "Ġy s", + "Ġp ada", + "Ġpa da", + "Ġpad a", + "Ġ Bullet", + "ĠB ullet", + "ĠBul let", + "ĠBull et", + "(` /", + "is Active", + "Ġ CGSize", + "ĠCG Size", + "( equalTo", + "(equal To", + "ĠColum bus", + "Ġm arry", + "Ġmar ry", + "D EV", + "DE V", + "_ limits", + "_l imits", + "_limit s", + "_li mits", + "_lim its", + "r ones", + "ro nes", + "ron es", + "rone s", + "I AS", + "IA S", + "Ġ tau", + "Ġt au", + "Ġta u", + "m ino", + "min o", + "mi no", + "_ Write", + "_W rite", + "ĠW ine", + "ĠWin e", + "ĠWi ne", + "Ġ [['", + "Ġ[ ['", + "Ġ[[ '", + "Ġ Pull", + "ĠP ull", + "ĠPu ll", + "ĠPul l", + "ri ters", + "rit ers", + "rite rs", + "riter s", + "r ients", + "ri ents", + "rie nts", + "rient s", + "rien ts", + "Ġsh ifting", + "Ġshift ing", + "u pp", + "up p", + "_ TIMER", + "_T IMER", + "_TIME R", + "_TIM ER", + "_TI MER", + "Ġ Conditions", + "ĠCondition s", + "ĠCond itions", + "Ạ¥", + "Ġ Orders", + "ĠOr ders", + "ĠOrder s", + "ĠOrd ers", + "Ġ Strength", + "ĠSt rength", + "ĠStr ength", + "ĠStre ngth", + "æī Ģ", + "Ġval idity", + "Ġvalid ity", + "Ġf ot", + "Ġfo t", + "e tur", + "et ur", + "etu r", + "Ġ bolt", + "Ġb olt", + "Ġbo lt", + "Ġbol t", + "åĨ ħ", + "Ġ Along", + "ĠA long", + "ĠAl ong", + "ĠAlo ng", + "o shi", + "os hi", + "osh i", + "Ġassum ptions", + "Ġassumption s", + "Ġmag azines", + "Ġmagazine s", + "_ SPI", + "_S PI", + "_SP I", + "Ġp unt", + "Ġpun t", + "Ġpu nt", + "_ PRODUCT", + "_PRO DUCT", + "_PROD UCT", + "Ġ relay", + "Ġre lay", + "Ġr elay", + "Ġrel ay", + "Ġ Javascript", + "ĠJ avascript", + "ĠJava script", + ". te", + ".t e", + "- es", + "-e s", + "Ġ widgets", + "Ġwidget s", + "Ġwid gets", + "( fs", + "(f s", + "< Item", + " \";", + ">\" ;", + "at ching", + "atch ing", + "Ġ Knowledge", + "ĠK nowledge", + "ĠKnow ledge", + "ĉ The", + "ĉT he", + "; margin", + ";m argin", + "less ness", + "o pard", + "op ard", + "opa rd", + "u matic", + "um atic", + "uma tic", + "umat ic", + "( )));čĊ", + "() ));čĊ", + "()) );čĊ", + "())) ;čĊ", + "())); čĊ", + "Ġf als", + "Ġfa ls", + "Ġfal s", + "( cache", + "(c ache", + "(ca che", + "Type Id", + "éĢ ļ", + "_ choice", + "_ch oice", + "ĠG oth", + "ĠGo th", + "ĠGot h", + "Ġ Sites", + "ĠS ites", + "ĠSi tes", + "ĠSite s", + "ĠSit es", + "M G", + "_ border", + "_b order", + "Ind ices", + "Com parer", + "Comp arer", + "Compar er", + "Compare r", + "ĠRe distribution", + "ĠRed istribution", + "ĠRedis tribution", + "Ġclose t", + "Ġclos et", + "Ġclo set", + "Ġvers atile", + "Ġversa tile", + "In puts", + "Input s", + "**** ****************", + "******** ************", + "**************** ****", + "****** **************", + "************ ********", + "************** ******", + "Ġob esity", + "qu iz", + "qui z", + "g ra", + "gr a", + "( global", + "(g lobal", + "åĬ ¡", + "Ġ collector", + "Ġcol lector", + "Ġcoll ector", + "Ġcollect or", + "Ġcolle ctor", + "Ġ kor", + "Ġk or", + "Ġko r", + "o vable", + "ov able", + "ova ble", + "A DC", + "AD C", + "Ġ EventHandler", + "ĠEvent Handler", + ". nc", + ".n c", + "Ġplay back", + "ient os", + "ien tos", + "iento s", + "_ perm", + "_p erm", + "_per m", + "_pe rm", + "_ WARNING", + "_W ARNING", + "_WARN ING", + "ĠOlymp ics", + "ĠOlympic s", + ". norm", + ".n orm", + ".no rm", + "Ġ Broadcast", + "ĠB roadcast", + "ĠBroad cast", + "_ small", + "_s mall", + "_sm all", + "d rive", + "dr ive", + ". iloc", + ".i loc", + ".il oc", + "Ġ typed", + "Ġt yped", + "Ġtype d", + "Ġtyp ed", + "Ġty ped", + "M EM", + "ME M", + "_ cons", + "_c ons", + "_con s", + "_co ns", + "D METHOD", + "DM ETHOD", + "Ġ lun", + "Ġl un", + "Ġlu n", + ". distance", + ".d istance", + ".di stance", + ".dist ance", + "( par", + "(p ar", + "(pa r", + "p oon", + "po on", + "Ġ bast", + "Ġb ast", + "Ġbas t", + "Ġba st", + "act ivities", + "activ ities", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + ": čĊčĊ", + ":čĊ čĊ", + "S ER", + "SE R", + ") &&", + ")& &", + "_ lst", + "_l st", + "_ls t", + "ĠPol ish", + "ĠPo lish", + "Ġkn ocked", + "Ġknock ed", + "Ġfrustr ation", + "au kee", + "Ġph osph", + "iqu id", + "iq uid", + "_ coeff", + "_c oeff", + "_co eff", + "_coef f", + "æŃ ¤", + "L atest", + "La test", + "Lat est", + "Late st", + "ĠD ust", + "ĠDu st", + "T ipo", + "Tip o", + "Ti po", + "Ġmain tains", + "Ġmaint ains", + "Ġmaintain s", + "Ġ marsh", + "Ġmar sh", + "Ġmars h", + "inc inn", + "inci nn", + "l bl", + "lb l", + "C are", + "Car e", + "Ca re", + "Ġneighborhood s", + "_ gpio", + "_g pio", + "_gp io", + "ĠAr senal", + "ĠArs enal", + "D em", + "De m", + "ĠW he", + "ĠWh e", + "_ hook", + "_h ook", + "Ġl dc", + "Ġld c", + "ĠHar per", + "ĠBer keley", + "Ġgrad uated", + "Ġgraduate d", + "Ġgradu ated", + "Per cent", + "Ġarr iving", + "Ġarriv ing", + "Ġ Adventure", + "ĠAd venture", + "ĠAdvent ure", + "( scope", + "(s cope", + "(sc ope", + "( '*", + "(' *", + "qu arter", + "ĠM arie", + "ĠMar ie", + "ĠMa rie", + "ĠMari e", + "Spe aking", + "Speak ing", + "_ codegen", + "_code gen", + "_cod egen", + "Ġim mun", + "Ġimm un", + "c aster", + "ca ster", + "cast er", + "cas ter", + "ãĤ Į", + "åķ Ĩ", + "Ġ Dimensions", + "ĠDim ensions", + "ĠDimension s", + ". record", + ".re cord", + ".rec ord", + "Ġ texto", + "Ġtext o", + "Ġtex to", + "Ġ Michelle", + "ĠMich elle", + "ĠMichel le", + "ĠMiche lle", + "P ending", + "Pen ding", + "( by", + "(b y", + "_ PAR", + "_P AR", + "_PA R", + "u cht", + "uch t", + "uc ht", + "b ee", + "be e", + ". Thread", + ".T hread", + ".Th read", + "am pire", + "amp ire", + "k now", + "kn ow", + "Ġ Clinical", + "ĠClin ical", + "ĠClinic al", + "Ġmargin Bottom", + "Ġd istinguish", + "Ġdistingu ish", + ". Full", + ".F ull", + ". undefined", + ".un defined", + "ĠSequ elize", + "#### ########################################################################", + "################ ############################################################", + "################################################################ ############", + "############ ################################################################", + "################################################ ############################", + "######################################################################## ####", + "############################ ################################################", + "############################################################ ################", + "Ġ educated", + "Ġeduc ated", + "Ġeducate d", + "_ OVER", + "_O VER", + "åº ı", + "Ġ ÂłĠÂł", + "ĠÂł ĠÂł", + "ĠÂłĠ Âł", + "_ each", + "_e ach", + "Ġ urge", + "Ġur ge", + "Ġurg e", + "de part", + "dep art", + "Ġdon ors", + "Ġdonor s", + "Ġ Au", + "ĠA u", + "Ġb illions", + "Ġbill ions", + "Ġbillion s", + "Ġbelong ing", + "_ age", + "_a ge", + "_ag e", + "_ Int", + "_I nt", + "_In t", + "Ġsub stances", + "Ġsubstance s", + "Ġsubst ances", + "m achine", + "ma chine", + "mach ine", + "! !!ĊĊ", + "!! !ĊĊ", + "!!! ĊĊ", + "!!!Ċ Ċ", + "Ġjson ify", + "ib bean", + "Ġ Cad", + "ĠC ad", + "ĠCa d", + "Ġ endTime", + "Ġend Time", + "Ġc ycling", + "Ġcy cling", + "Ġcycl ing", + "Ġcyc ling", + "Ġ UITextField", + "ĠUI TextField", + "ĠUIT extField", + "Ġle verage", + "Ġlever age", + "Ġleve rage", + "Ġvan illa", + "e at", + "ea t", + "L aunch", + "La unch", + "( pt", + "(p t", + "st ates", + "state s", + "stat es", + "sta tes", + "Ġ Controls", + "ĠControl s", + "ĠContr ols", + "Ġ Respons", + "ĠRes pons", + "ĠResp ons", + "Ġ Jake", + "ĠJ ake", + "ĠJa ke", + "ĠJak e", + "Ġa sleep", + "Ġas leep", + "fort unate", + ".next Line", + "Size Mode", + "ì Ŀ¼", + "ìĿ ¼", + "Testing Module", + "G erman", + "Ger man", + "ĠInvest ig", + ". reverse", + ".re verse", + ".rev erse", + "Ġ BACK", + "ĠB ACK", + "ĠBA CK", + "( DateTime", + "(Date Time", + "Ġnon profit", + "Ġ Expect", + "ĠEx pect", + "ĠExp ect", + "Ġt anto", + "Ġtan to", + "Ġtant o", + "' ]),", + "'] ),", + "']) ,", + "ĉ the", + "ĉt he", + "ĉth e", + "M ultiple", + "Multi ple", + "Mult iple", + "Multip le", + "(get Activity", + "_ WAIT", + "_W AIT", + "Ġj á", + "de cor", + "dec or", + "lev ance", + "Ġ GitHub", + "ĠGit Hub", + "m ination", + "min ation", + "mi nation", + "mina tion", + "_ quantity", + "_qu antity", + "_quant ity", + ". Scanner", + ".Sc anner", + ".Scan ner", + "ĠL ion", + "ĠLi on", + "éĶĻ è¯¯", + "Ġ dre", + "Ġd re", + "Ġdr e", + "Ġtan tra", + "Ġtant ra", + "Ġtantr a", + "Ġ contentType", + "Ġcontent Type", + "Ġ fid", + "Ġf id", + "Ġfi d", + "_ alt", + "_a lt", + "_al t", + "NS IndexPath", + "- pl", + "-p l", + "åĮ ĸ", + "Ġantib iot", + "t ables", + "table s", + "ta bles", + "tab les", + "tabl es", + "a cial", + "ac ial", + "aci al", + "acia l", + "Ġ Registry", + "ĠReg istry", + "ĠRegistr y", + "Ġo live", + "Ġol ive", + "Ġoli ve", + "i gers", + "ig ers", + "ige rs", + "iger s", + "Ġ subscriber", + "Ġsub scriber", + "Ġsubscri ber", + "Ġsubscribe r", + "_ pres", + "_p res", + "_pr es", + "_pre s", + "Ġ Syntax", + "ĠS yntax", + "ĠSy ntax", + "ĠSyn tax", + "Ġl overs", + "Ġlo vers", + "Ġlove rs", + "Ġlover s", + "Ġlov ers", + ". Byte", + ".B yte", + ".By te", + "ol ders", + "old ers", + "older s", + "_ forward", + "_for ward", + "al ways", + "C aption", + "Cap tion", + "Ca ption", + "Capt ion", + "P riv", + "Pr iv", + "Pri v", + "ĠT ampa", + "ĠTam pa", + "is ateur", + "-labelled by", + "Ġ ToString", + "ĠTo String", + "Ġ ìĤ¬", + "Ġì Ĥ¬", + "ĠìĤ ¬", + "Ġinit iated", + "Ġiniti ated", + "Ġinitiate d", + "W F", + "Ġinstitution al", + "in ject", + "Ġ Scr", + "ĠS cr", + "ĠSc r", + "Ġ doctrine", + "Ġdo ctrine", + "Ġdoctr ine", + "Ġsp acious", + "Ġspac ious", + "i sure", + "is ure", + "isu re", + "Ġ Ana", + "ĠA na", + "ĠAn a", + "\" time", + "ess aging", + "essa ging", + "Ġ cid", + "Ġc id", + "Ġci d", + "ĠN an", + "ĠNa n", + "Ġin complete", + "Ġincom plete", + "T AG", + "TA G", + "- build", + "-b uild", + "Dec ember", + "Ġres idual", + "Ġresid ual", + "( PDO", + "(P DO", + "Ġ Listen", + "ĠL isten", + "ĠList en", + "ĠLi sten", + "ĠLis ten", + "ĠListe n", + "Ġ glyph", + "Ġg lyph", + "Ġgly ph", + "Ġg aps", + "Ġgap s", + "Ġga ps", + "n ea", + "ne a", + ". Rect", + ".R ect", + ".Re ct", + ".Rec t", + "Ġs au", + "Ġsa u", + "ĠPhoto graph", + "ĠPhot ograph", + "Ġ executable", + "Ġexec utable", + "Ġexecut able", + "Ġ Expert", + "ĠEx pert", + "ĠExp ert", + "Co routine", + "Cor outine", + "_ sizes", + "_s izes", + "_size s", + "_si zes", + "Ġ NL", + "ĠN L", + ". isValid", + ".is Valid", + ") ;}Ċ", + "); }Ċ", + ");} Ċ", + "- reg", + "-r eg", + "-re g", + "Ġc iting", + "Ġcit ing", + "Ġci ting", + "c wd", + "cw d", + "ĠOtt awa", + "ĠB att", + "ĠBa tt", + "ĠBat t", + "Ġrenew able", + "Ġprelim inary", + "Ġas ylum", + "Ġw rist", + "Ġwr ist", + "Ġutil iz", + "Ġut iliz", + "Ġdet ention", + "F ast", + "Fa st", + "Ġ ange", + "Ġa nge", + "Ġan ge", + "Ġang e", + "incinn ati", + "Ġste ering", + "Ġsteer ing", + "Ġ NaN", + "ĠN aN", + "ĠNa N", + "i osity", + "ios ity", + "/ page", + "/p age", + "Ġ è¿", + "Ġè ¿", + "ster ol", + "ste rol", + "Ġdis g", + "Ġdi sg", + "( DB", + "(D B", + "Ġ DESCRIPTION", + "ĠDE SCRIPTION", + "ĠDESC RIPTION", + "Ġ _$", + "Ġ_ $", + "Ġob stacle", + "Ġobst acle", + "Ġb izarre", + "Ġex traction", + "Ġext raction", + "Ġextra ction", + "Ġextract ion", + "Ġextr action", + "_ expected", + "_ex pected", + "_exp ected", + "_expect ed", + "Ġ loses", + "Ġl oses", + "Ġlo ses", + "Ġlos es", + "Ġlose s", + "Ġ Celebr", + "ĠCele br", + "Ġhtml For", + "Ġexp loit", + "Ġexpl oit", + "Ġexplo it", + "олÑĮз ов", + "X YZ", + "XY Z", + "Ġm agnet", + "Ġmag net", + "Ġmagn et", + "am ped", + "amp ed", + "Ġ atoms", + "Ġat oms", + "Ġatom s", + "S ources", + "Source s", + "pect ives", + "pective s", + "Ñģ ли", + "Ñģл и", + "Ġ= čĊ", + "Ġd are", + "Ġda re", + "Ġdar e", + "ĠW alter", + "ĠWal ter", + "ĠWalt er", + "Ġ brightness", + "Ġb rightness", + "Ġbright ness", + "Ġ annotations", + "Ġan notations", + "Ġannotation s", + "Ġannot ations", + "ë ı", + "is ke", + "isk e", + "S chedule", + ". images", + ".image s", + ".im ages", + ".imag es", + "ross o", + "ros so", + "Ġ \"..", + "Ġ\" ..", + "Ġ\". .", + "g amma", + "ga mma", + "gam ma", + "Ġin structor", + "Ġinstr uctor", + "Ġinstruct or", + "Ġ overwrite", + "Ġover write", + "- am", + "-a m", + "Ġdevast ating", + "ĠSaint s", + "ĠSa ints", + "ĠSai nts", + "Ġ hs", + "Ġh s", + "Ġbon uses", + "Ġbonus es", + "$ output", + "$out put", + "i jd", + "ij d", + "(Action Event", + "m onitor", + "mon itor", + "Ġmatt ress", + "Jan uary", + ". jp", + ".j p", + "Ġcar acter", + "Ġcara cter", + "Ġcaract er", + "Ġim pose", + "Ġimp ose", + "_ rest", + "_re st", + "_r est", + "_res t", + "Ġ Signature", + "ĠSign ature", + "ĠSig nature", + "Ġcoron avirus", + "ãģ Ĭ", + "_ compare", + "_com pare", + "_comp are", + "Me asure", + "it ated", + "ita ted", + "itate d", + "itat ed", + "e lijk", + "el ijk", + "eli jk", + "i gos", + "ig os", + "igo s", + "e sar", + "es ar", + "esa r", + "Ġr ushed", + "Ġru shed", + "Ġrush ed", + "Ġrus hed", + "m etry", + "me try", + "met ry", + "_SE PARATOR", + "_ WE", + "_W E", + "_ ATTRIBUTE", + "_ATTR IBUTE", + "_ATTRIB UTE", + "Ġ yaml", + "Ġy aml", + "Ġya ml", + "Ġ specs", + "Ġsp ecs", + "Ġspec s", + "Ġspe cs", + "ĠR ah", + "ĠRa h", + "ph eric", + "pher ic", + "phe ric", + "ĠIn vestment", + "ĠInvest ment", + "ä ll", + "äl l", + "Ġappe aling", + "Ġappeal ing", + "Ġ viewport", + "Ġview port", + "ç ©", + "Ġ marginLeft", + "Ġmargin Left", + "Ġ subtract", + "Ġsub tract", + "Ġsubt ract", + "Ġ EDIT", + "ĠED IT", + "ĉ ArrayList", + "ĉArray List", + "gr ading", + "grad ing", + "gra ding", + "Ġ Failure", + "ĠF ailure", + "ĠFail ure", + "as per", + "asp er", + "E EK", + "EE K", + "( now", + "(n ow", + "(no w", + "< object", + "Ġ Alignment", + "ĠAl ignment", + "ĠAlign ment", + "ple ado", + "q tt", + "qt t", + "( ERROR", + "(ERR OR", + "Ġ INVALID", + "ĠIN VALID", + "Ġ userid", + "Ġuse rid", + "Ġuser id", + "r aises", + "ra ises", + "raise s", + "rais es", + "rai ses", + "I DI", + "ID I", + "Ġv ariance", + "Ġvar iance", + "Ġvari ance", + "Ġ Nil", + "ĠN il", + "ĠNi l", + "/ delete", + "/de lete", + "_ MAIN", + "_M AIN", + "_MA IN", + ". Token", + ".T oken", + ".To ken", + ". Category", + ".C ategory", + "> )Ċ", + ">) Ċ", + "C ollision", + "Coll ision", + "Ġ Greater", + "ĠG reater", + "ĠGreat er", + "ĠGre ater", + "ĠR acing", + "ĠRa cing", + "ĠRac ing", + "a lan", + "al an", + "ala n", + "Ġmon etary", + "Ġmonet ary", + ", new", + ",n ew", + "Ġ Sorry", + "ĠS orry", + "ĠSor ry", + ". Enable", + ".E nable", + ".En able", + "Ġ Instantiate", + "ĠIn stantiate", + "ĠInstant iate", + "o llen", + "ol len", + "oll en", + "olle n", + "ë© ´", + "Ġ Calling", + "ĠC alling", + "ĠCal ling", + "ĠCall ing", + "_ hour", + "_h our", + "A DA", + "AD A", + "Ġs hy", + "Ġsh y", + ") **", + ")* *", + "Ġ ==>", + "Ġ= =>", + "Ġ== >", + "Ġe special", + "Ġes pecial", + "Ġesp ecial", + "Ġespec ial", + "Ġ interpreted", + "Ġinterpret ed", + "Ġinterpre ted", + "! =\"", + "!= \"", + "Ġph armacy", + "Ġpharm acy", + "Ġpharmac y", + ". single", + ".s ingle", + ".sin gle", + ".si ngle", + "ĠC ialis", + "ĠCi alis", + "Ġp aras", + "Ġpar as", + "Ġpara s", + "Ġpa ras", + ". toUpperCase", + ".to UpperCase", + "Ġ Demon", + "ĠD emon", + "ĠDe mon", + "ĠDem on", + "ĠDemo n", + "Pr ime", + "Prim e", + "Pri me", + "Ġrank ings", + "Ġranking s", + "Add ing", + "Ad ding", + "_ HASH", + "_H ASH", + "_HAS H", + "Ġ Exam", + "ĠEx am", + "Ú ©", + "ĠV ictor", + "ĠVi ctor", + "ĠVict or", + "ĠVic tor", + "Ok ay", + "\" ];čĊ", + "\"] ;čĊ", + "\"]; čĊ", + "Ġ fortune", + "Ġfort une", + "Ġ FETCH", + "ĠF ETCH", + "exp and", + ". Interop", + ".Inter op", + "Ġb arn", + "Ġbar n", + "Ġba rn", + "æ ¶Ī", + "æ¶ Ī", + "ue vo", + "Ġspec ulation", + "âĶĢâĶĢ âĶĢâĶĢ", + "Ġ Nu", + "ĠN u", + "ĠBl ues", + "ĠBlue s", + "ĠBlu es", + "( fname", + "(f name", + "(fn ame", + "Ġin habit", + "Ġinhab it", + "Ġinh abit", + "Ġ\\ \"%", + "Ġ\\\" %", + "C ES", + "CE S", + "ul ario", + "ular io", + "ula rio", + "_ cr", + "_c r", + "Ġ validated", + "Ġvalid ated", + "Ġvalidate d", + "Ġvalida ted", + "Ġmid night", + "an king", + "ank ing", + "anki ng", + "Ġincor porate", + "Ġincorpor ate", + "Ġpur suit", + "Ġpurs uit", + "E XP", + "EX P", + "pr ime", + "prim e", + "pri me", + "P id", + "Pi d", + "- US", + "-U S", + "ĠN urs", + "ĠNu rs", + "ĠNur s", + "Ġ Wheel", + "ĠW heel", + "ĠWh eel", + "ĠWhe el", + "é ĺ", + "Ġ inp", + "Ġin p", + "Ġi np", + "Ġsupport ive", + ". member", + ".m ember", + ".mem ber", + "Ġ Shot", + "ĠS hot", + "ĠSh ot", + "ĠSho t", + ". CheckBox", + ".Check Box", + "Ġaff irm", + "Ġaf firm", + "T or", + "To r", + "Full Year", + "Ġconsider ably", + "c redentials", + "cred entials", + "credential s", + "_ opts", + "_op ts", + "_o pts", + "_opt s", + "R oll", + "Ro ll", + "Rol l", + "( round", + "(r ound", + "(ro und", + "Ġc oment", + "Ġcom ent", + "Ġco ment", + "Ġcome nt", + "_ UART", + "_U ART", + "Ġext ending", + "Ġextend ing", + "R G", + "result ado", + "i tu", + "it u", + ". getSession", + ".get Session", + ".getS ession", + "Ġat traction", + "Ġatt raction", + "Ġattr action", + "Ġattract ion", + "& D", + "$ html", + "$h tml", + "Ġ Jessica", + "ĠJess ica", + "Ġ Associate", + "ĠAssoci ate", + "ĠAssoc iate", + "a ñ", + "_ ed", + "_e d", + "ĠL ag", + "ĠLa g", + "Ġorig ins", + "Ġorigin s", + "( ))->", + "() )->", + "()) ->", + "add EventListener", + "IA LOG", + "IAL OG", + "åIJ ¦", + ". Compare", + ".Com pare", + ".Comp are", + "Al bum", + "ĠK u", + "< Q", + "ar gest", + "arg est", + "arge st", + "arges t", + "Ġpro long", + "Ġprol ong", + "Ġconfig urations", + "Ġconfiguration s", + "Ġconfigur ations", + "Ġacc identally", + "Ġaccident ally", + "Ġaccidental ly", + "_ photo", + "_ph oto", + "Ġ' ';čĊ", + "Ġ'' ;čĊ", + "Ġ''; čĊ", + "Ġ verse", + "Ġv erse", + "Ġver se", + "Ġvers e", + "B ob", + "Bo b", + "Ġf arming", + "Ġfar ming", + "Ġfarm ing", + "d elivery", + "del ivery", + "deliver y", + "ĠM ack", + "ĠMac k", + "ĠMa ck", + "Ġuse Selector", + ".bootstrap cdn", + "ke eping", + "keep ing", + "kee ping", + "e ny", + "en y", + ". upload", + ".up load", + "Ġ METHOD", + "ĠM ETHOD", + "ĠMETH OD", + "c reator", + "cre ator", + "creat or", + "< _", + "ĠE aster", + "ĠEast er", + "ĠEa ster", + ". --", + ".- -", + "UI Button", + "ãĤ ī", + "om eters", + "ome ters", + "omet ers", + "ometer s", + "Ġ shine", + "Ġsh ine", + "Ġshin e", + "Ġh ogy", + "Ġho gy", + "Ġhog y", + "\\ s", + "Ġh arness", + "Ġhar ness", + ". Cell", + ".C ell", + "Ġ lifting", + "Ġl ifting", + "Ġlif ting", + "Ġlift ing", + "Ġcomb ines", + "Ġcombine s", + "Ġcombin es", + "Ġ Occup", + "ĠOcc up", + "ĠOc cup", + "ex clude", + "exc lude", + "p atial", + "pat ial", + "Ġre spir", + "Ġres pir", + "Ġresp ir", + "_ fit", + "_f it", + "Ġf ifty", + "Ġfi fty", + "Ġfif ty", + "ĠM ol", + "ĠMo l", + "Ġt uned", + "Ġtu ned", + "Ġtun ed", + "Ġtune d", + "-d imensional", + "Ġ qs", + "Ġq s", + "Ġt ops", + "Ġto ps", + "Ġtop s", + "> \";ĊĊ", + ">\";Ċ Ċ", + ">\" ;ĊĊ", + ">\"; ĊĊ", + "quis ite", + "qui site", + "ch annels", + "chan nels", + "channel s", + "/ res", + "/r es", + "/re s", + "Ġ Analytics", + "ĠAn alytics", + "ĠAnaly tics", + ".app compat", + "/ to", + "/t o", + "Ġon Error", + "( attr", + "(at tr", + "(att r", + "I RM", + "IR M", + "Ġrag az", + "- as", + "-a s", + ". Second", + ".Se cond", + "ori ented", + "orient ed", + "Ġd onn", + "Ġdo nn", + "Ġdon n", + "Ġlight ning", + "f id", + "fi d", + "ĠP le", + "ĠPl e", + "ãģ¾ ãģĻ", + "t ro", + "tr o", + ". True", + ".Tr ue", + "O bservable", + "Observ able", + "× Ļ", + "um bing", + "umb ing", + "Ġpros pective", + "Ġprospect ive", + "- filter", + "-f ilter", + "Ġpurs uant", + "( points", + "(p oints", + "(point s", + "(po ints", + ". Bind", + ".B ind", + "Ġp alm", + "Ġpa lm", + "Ġpal m", + "clear fix", + "ö s", + "ĠG onz", + "ĠGo nz", + "ĠGon z", + "Ġwe aken", + "Ġweak en", + "D rive", + "Dr ive", + "en ido", + "eni do", + "l ld", + "ll d", + "o box", + "ob ox", + "obo x", + "an ean", + "ane an", + "G ot", + "Go t", + "ä¿ Ŀ", + "Reg ex", + "æ ĥ", + "Ġsa lad", + "Ġsal ad", + "Ġsala d", + "as sis", + "ass is", + "assi s", + "\" net", + "inherit Doc", + "Ġ RV", + "ĠR V", + "qu ier", + "qui er", + "Ġ clazz", + "Ġcl azz", + "Ġcla zz", + "ı ÅŁ", + "oster one", + "oste rone", + "Ġair line", + "Ġairl ine", + ".list dir", + "Ġdown loading", + "Ġdownload ing", + "ĠP alm", + "ĠPal m", + "ĠPa lm", + "w aukee", + "& lt", + ". BL", + ".B L", + "_ INLINE", + "_IN LINE", + "of fs", + "off s", + "< <(", + "<< (", + "_ news", + "_n ews", + "_new s", + "_ne ws", + "Ġch ase", + "Ġcha se", + "/ ><", + "/> <", + "Ġe uros", + "Ġeu ros", + "Ġeuro s", + "ĠEgypt ian", + "ĠSt ainless", + "_ BOOL", + "_BO OL", + "Ġ Guild", + "ĠG uild", + "ĠGu ild", + "ĠGui ld", + "ĠGuil d", + "ĠD ynam", + "ĠDy nam", + "ĠDyn am", + "[ indexPath", + "[index Path", + "Ġ ï", + "Ġmem orable", + "Ġmemor able", + "ĠCh ampion", + "ĠChamp ion", + "Resource Manager", + ". Login", + ".Log in", + ".Lo gin", + "Ġ Former", + "ĠFor mer", + "ĠForm er", + "y ped", + "ype d", + "yp ed", + "Ġl leg", + "Ġll eg", + "Ġlle g", + "; \",", + ";\" ,", + "D WORD", + "DW ORD", + "Ġtax i", + "Ġta xi", + "Ġb ombs", + "Ġbomb s", + "Ġbom bs", + "r ah", + "ra h", + ". tags", + ".t ags", + ".tag s", + ".ta gs", + "_ tests", + "_t ests", + "_test s", + "_te sts", + "s tones", + "st ones", + "ston es", + "stone s", + "sto nes", + "âĢĿ )", + "[ g", + "r type", + "rt ype", + "Ġ vu", + "Ġv u", + "Ġhost ile", + "Ġho stile", + "Ġhos tile", + "Ch ars", + "Char s", + "Cha rs", + "ĠPatri ots", + "ĠPatriot s", + "/ status", + "/s tatus", + "/st atus", + "/stat us", + "< B", + "Ġ Income", + "ĠIn come", + "ĠInc ome", + "ĠD ad", + "ĠDa d", + "Ġpat rol", + "_ CHANGE", + "_CH ANGE", + "_CHAN GE", + "Ġup graded", + "Ġupgrade d", + "Ġ china", + "Ġch ina", + "Ġchi na", + "Ġchin a", + "set q", + "Start ed", + "Star ted", + ".U ndef", + ".Un def", + "Ġ checksum", + "Ġcheck sum", + "Ġchecks um", + "Ġfrustr ated", + "{ o", + "Ġe nf", + "Ġen f", + "Ġ woods", + "Ġw oods", + "Ġwood s", + "Ġwo ods", + "Ġwoo ds", + "Ġ Anyone", + "ĠAny one", + "En code", + "Enc ode", + "ĠQt Widgets", + "a reas", + "are as", + "area s", + "Ġsh eer", + "Ġshe er", + "s ki", + "sk i", + "end point", + "_ Test", + "_T est", + "S oup", + "So up", + "Sou p", + "~~~~~~~~ ~~~~~~~~", + "( files", + "(f iles", + "(file s", + "(fi les", + "(fil es", + "ĉ ĉĉĉĉčĊ", + "ĉĉ ĉĉĉčĊ", + "ĉĉĉĉ ĉčĊ", + "ĉĉĉ ĉĉčĊ", + "ĉĉĉĉĉ čĊ", + ". spark", + ".s park", + ".sp ark", + "Ġvalue d", + "Ġval ued", + "Ġvalu ed", + "Ġ %Ċ", + "Ġ% Ċ", + ". controls", + ".control s", + "ĠXCTAssert Equal", + "Ġf ame", + "Ġfam e", + "Ġfa me", + "ĠR ic", + "ĠRi c", + "D OT", + "DO T", + "ĠAlbert a", + "ĠAlb erta", + "ä½ ¿", + "o sal", + "os al", + "osa l", + ".Web Controls", + "Ġ ------------", + "Ġ- -----------", + "Ġ-- ----------", + "Ġ---- --------", + "Ġ--- ---------", + "Ġ----- -------", + "Ġ---------- --", + "Ġ------ ------", + "Ġ-------- ----", + "Ġ------- -----", + "Ġ--------- ---", + "Ġ----------- -", + "Ġ Mis", + "ĠM is", + "ĠMi s", + "Ġ SYS", + "ĠS YS", + "ĠSY S", + "Non null", + "= item", + "=i tem", + "Ġ expire", + "Ġex pire", + "Ġexp ire", + "De code", + "Dec ode", + "_ operation", + "_op eration", + "_o peration", + "_oper ation", + "Ġ Validator", + "ĠValid ator", + ". CENTER", + ".C ENTER", + "uff s", + "uf fs", + "* m", + "Ġa vant", + "Ġav ant", + "Ġava nt", + "Ġavan t", + "æ¬ ¡", + "âĢľ You", + ". permission", + ".per mission", + ".perm ission", + ".. .)", + "... )", + "Ġ Lic", + "ĠL ic", + "ĠLi c", + "_ coords", + "_co ords", + "_coord s", + ". nombre", + ".n ombre", + ".nom bre", + "c lo", + "cl o", + ". Internal", + ".In ternal", + ".Int ernal", + ".Inter nal", + "Ġ Cho", + "ĠC ho", + "ĠCh o", + "_ sw", + "_s w", + "ĉ Il", + "ĉI l", + "c lk", + "cl k", + "Ġ castle", + "Ġc astle", + "Ġcas tle", + "Ġcast le", + "( layer", + "(l ayer", + "p it", + "pi t", + "Ġ guided", + "Ġgu ided", + "Ġguide d", + "Ġguid ed", + "Ġgui ded", + "Ġ âĸĪ", + "Ġâĸ Ī", + "Ġsup erb", + "Ġsuper b", + "Ġsup plements", + "Ġsupplement s", + "Ġsuppl ements", + "Ġsupp lements", + "_ cent", + "_c ent", + "_ce nt", + "Ġ peek", + "Ġpe ek", + "Ġpee k", + "IN ARY", + "INA RY", + ". ContentAlignment", + ".Content Alignment", + "f alls", + "fall s", + "fal ls", + "\" ));", + "\") );", + "\")) ;", + "W all", + "Wal l", + "Wa ll", + ") .čĊ", + "). čĊ", + "Ġ Danny", + "ĠD anny", + "ĠDan ny", + "ĠDann y", + "irm ingham", + "IAL IZ", + "( create", + "(c reate", + "\" In", + "\"I n", + "Service Provider", + "Ġpr iced", + "Ġprice d", + "Ġpri ced", + "m acro", + "ma cro", + "mac ro", + "a mac", + "am ac", + "ama c", + ". box", + ".b ox", + ".bo x", + "- ---Ċ", + "-- --Ċ", + "---- Ċ", + "--- -Ċ", + "ãĥ «", + "Ġ Suit", + "ĠS uit", + "ĠSu it", + "u rst", + "ur st", + "urs t", + "b ru", + "br u", + "ourn als", + "ournal s", + "num ero", + "numer o", + "_ _()Ċ", + "__ ()Ċ", + "__( )Ċ", + "__() Ċ", + "D as", + "Da s", + "ĠM itt", + "ĠMi tt", + "ĠMit t", + "u der", + "ud er", + "ude r", + "? \\", + "f u", + "[ B", + "Ġ: )ĊĊ", + "Ġ:) ĊĊ", + "Ġ:)Ċ Ċ", + "( inter", + "(int er", + "(in ter", + "br ains", + "bra ins", + "brain s", + "Ġatt itudes", + "Ġattitude s", + "Ver ify", + "Ġsign atures", + "Ġsignature s", + "ack Bar", + "Ġ gd", + "Ġg d", + "J ack", + "Ja ck", + "Jac k", + ". cat", + ".c at", + ".ca t", + "Ġ zz", + "Ġz z", + "w arf", + "wa rf", + "war f", + "F TER", + "FT ER", + "\" );ĊĊĊ", + "\");Ċ ĊĊ", + "\") ;ĊĊĊ", + "\");ĊĊ Ċ", + "\"); ĊĊĊ", + "A live", + "Al ive", + "Ali ve", + "I CLE", + "IC LE", + "Ġ Whatever", + "ĠWh atever", + "ĠWhat ever", + "Ġ outlined", + "Ġout lined", + "Ġoutline d", + "s prite", + "sp rite", + "spr ite", + "е в", + "еР²", + "_ AB", + "_A B", + "_ DEPTH", + "_DE PTH", + "Ġcr ushed", + "Ġcrush ed", + "Ġcru shed", + "Ġcrus hed", + "a aa", + "aa a", + "( ev", + "(e v", + "æľ º", + "An ti", + "Ant i", + "I CO", + "IC O", + "is EqualTo", + "isEqual To", + ". sun", + ".s un", + "i culo", + "ic ulo", + "s ale", + "sa le", + "sal e", + "_ hex", + "_h ex", + "_he x", + "Ġ Vk", + "ĠV k", + "ap tor", + "apt or", + "Un ion", + "Uni on", + "Ġ Discount", + "ĠDis count", + "ĠDisc ount", + "ĠDisco unt", + "l ista", + "li sta", + "list a", + "lis ta", + ".Undef Or", + "Ġ automation", + "Ġa utomation", + "Ġautom ation", + "Ġautomat ion", + "N or", + "No r", + "å¯ ¹", + "åı Ĥæķ°", + "åıĤ æķ°", + "Ġre flex", + "Ġref lex", + "Ġrefl ex", + "ĠLa ure", + "ĠLaur e", + "ĠLau re", + ".showMessage Dialog", + ". temp", + ".t emp", + ".te mp", + ".tem p", + "Ġ akan", + "Ġa kan", + "Ġak an", + "Ġaka n", + "Ġ_ _____", + "Ġ__ ____", + "Ġ___ ___", + "Ġ____ __", + "Ġ_____ _", + ".Is True", + "A RED", + "AR ED", + "ARE D", + "a gle", + "ag le", + "E nergy", + "En ergy", + "Ġquant ities", + "âĢĻ Ã©", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "Ġcitizens hip", + "Ġcitizen ship", + "m outh", + "mo uth", + "Ġin appropriate", + "Ġ Outdoor", + "ĠOut door", + "White Space", + "An onymous", + "lo ads", + "load s", + "webElement Properties", + "T en", + "Te n", + "Ġacc idents", + "Ġaccident s", + "Ġ advertisement", + "Ġad vertisement", + "Ġadvertis ement", + "Ġadvertise ment", + "ĠY emen", + "ĠYe men", + "( call", + "(c all", + "(cal l", + "(ca ll", + "Ġsl avery", + "Ġslave ry", + "Ġsla very", + "Ġslav ery", + "Ñģ п", + "ĠL am", + "ĠLa m", + "_ BITS", + "_B ITS", + "_BIT S", + "o mega", + "om ega", + "ome ga", + "ĠO le", + "ĠOl e", + "Ġkid n", + "Ġki dn", + "_ An", + "_A n", + "ĠR aid", + "ĠRa id", + "ĠRai d", + "C reation", + "Cre ation", + "Creat ion", + "s aved", + "save d", + "sa ved", + "sav ed", + "Ġpro port", + "Ġprop ort", + "Ġpropor t", + "W ARNING", + "WAR NING", + "WARN ING", + "\\ P", + "Ġ pwd", + "Ġp wd", + "Ġpw d", + "Data Reader", + "is cher", + "isc her", + "ische r", + "isch er", + "ad eon", + "ade on", + "Ġ Predict", + "ĠP redict", + "ĠPre dict", + "ĠPred ict", + "Ġreason ing", + "Ġdestroy ing", + "H el", + "He l", + "* d", + "ĠLeg isl", + "_ Pr", + "_P r", + "ĉ ĉĉĠĠĠĠĠĠĠ", + "ĉĉ ĉĠĠĠĠĠĠĠ", + "ĉĉĉ ĠĠĠĠĠĠĠ", + "ĉĉĉĠĠĠ ĠĠĠĠ", + "ĉĉĉĠ ĠĠĠĠĠĠ", + "ĉĉĉĠĠ ĠĠĠĠĠ", + "ĉĉĉĠĠĠĠ ĠĠĠ", + "ĉĉĉĠĠĠĠĠ ĠĠ", + "ĉĉĉĠĠĠĠĠĠ Ġ", + "Ġsym path", + "Ġsymp ath", + "Ġch ess", + "Ġche ss", + "Ġ mam", + "Ġm am", + "Ġma m", + ": hover", + ":h over", + "Ġcon verts", + "Ġconvert s", + "Ġconv erts", + "Ġconver ts", + "Ġp ela", + "Ġpe la", + "Ġpel a", + "Ġpro gression", + "Ġprogress ion", + "Ġprog ression", + "Ġ\" _\"", + "Ġ\"_ \"", + "ĠG ill", + "ĠGi ll", + "ĠGil l", + "ĉ show", + "ĉs how", + "ĉsh ow", + "Ġsupposed ly", + "ac curacy", + "acc uracy", + "accur acy", + "e lin", + "el in", + "eli n", + "Ġunf olding", + "Ġunfold ing", + "Ġ Hyper", + "ĠH yper", + "ĠHy per", + "ĠHyp er", + "Ġw anna", + "Ġwann a", + "Ġwan na", + "Ġ ups", + "Ġu ps", + "Ġup s", + "( #", + "ĠC riminal", + "ĠCr iminal", + "( Point", + "(P oint", + "at Lng", + "act ly", + "Ġcontract ors", + "Ġcontr actors", + "Ġcontractor s", + "Ġcontra ctors", + "' ]}", + "'] }", + "draul ic", + "ód igo", + "Ġ TT", + "ĠT T", + "Ġ Wide", + "ĠW ide", + "ĠWi de", + "ĠWid e", + "Ġ ARG", + "ĠA RG", + "ĠAR G", + "_ ic", + "_i c", + "FLAG S", + "S chool", + "Sch ool", + "Ġcl earing", + "Ġclear ing", + "Ġcle aring", + "- being", + "-b eing", + "-be ing", + "={ [", + ", const", + "man ent", + "Over lay", + "( '\"", + "(' \"", + "éĩ ı", + "Ġ Timestamp", + "ĠT imestamp", + "ĠTime stamp", + "Ġm ailing", + "Ġma iling", + "Ġmail ing", + "Ġmai ling", + "Ġ Cake", + "ĠC ake", + "ĠCa ke", + ". That", + ".T hat", + ".Th at", + "Ġmed itation", + "q p", + "Ġ empresa", + "Ġemp resa", + "Ġempres a", + "ĠL ions", + "ĠLi ons", + "ĠLion s", + "Ġw eld", + "Ġwe ld", + "Ġwel d", + "Ġ LinkedIn", + "ĠLinked In", + "Ġc ush", + "Ġcu sh", + "Ġcus h", + "Ġ genome", + "Ġge nome", + "Ġgen ome", + "Ġgenom e", + ". IndexOf", + ".Index Of", + "a gain", + "ag ain", + "aga in", + "Ġ fallback", + "Ġf allback", + "Ġfall back", + "Ġc amping", + "Ġcamp ing", + "Ġcam ping", + "r edd", + "re dd", + "red d", + "-strip ed", + "-str iped", + "Ġ dv", + "Ġd v", + "Fe bruary", + "Feb ruary", + "Ġ Proxy", + "ĠPro xy", + "ĠPr oxy", + "u sk", + "us k", + "Ġd iesel", + "Ġdi esel", + "Ġdie sel", + "Ġdies el", + "Ġdiese l", + "W RITE", + "WR ITE", + "RE AK", + "REA K", + "L orem", + "Lo rem", + ". Invoke", + ".In voke", + ".Inv oke", + "- div", + "-d iv", + "-di v", + "Inter ceptor", + "Ġ DH", + "ĠD H", + "i ales", + "ial es", + "ia les", + "iale s", + "Ġvill ages", + "Ġvillage s", + "Ġvilla ges", + "Ø ´", + "Ġ ENV", + "ĠE NV", + "ĠEN V", + "S ys", + "Sy s", + ". XR", + ".X R", + "Ġpo em", + "à Ĥ", + "c ade", + "ca de", + "cad e", + "p lots", + "pl ots", + "plot s", + "Ġ {(", + "Ġ{ (", + ". git", + ".g it", + "/ svg", + "/s vg", + "n cmp", + "nc mp", + "Ġ Äį", + "ĠÄ į", + "a ines", + "ain es", + "ai nes", + "aine s", + "åĩ ½æķ°", + "åĩ½ æķ°", + "Ġ ()ĊĊ", + "Ġ( )ĊĊ", + "Ġ() ĊĊ", + "Ġ()Ċ Ċ", + "op sis", + "ops is", + "Ġ Relationship", + "ĠRel ationship", + "ĠRelations hip", + "ĠRelation ship", + "_ aut", + "_a ut", + "Ġ Bomb", + "ĠB omb", + "ĠBo mb", + "ĠBom b", + "ĉ com", + "ĉc om", + "* sizeof", + "*size of", + "off icial", + "_ payload", + "_p ayload", + "_pay load", + "ĉ ĉĉĉĉĠĠ", + "ĉĉ ĉĉĉĠĠ", + "ĉĉĉĉ ĉĠĠ", + "ĉĉĉ ĉĉĠĠ", + "ĉĉĉĉĉ ĠĠ", + "ĉĉĉĉĉĠ Ġ", + ". manager", + ".m anager", + ".man ager", + ".manage r", + "Ġ Around", + "ĠA round", + "ĠAr ound", + "ĉ send", + "ĉs end", + "ĉse nd", + "Ġ Exercise", + "ĠEx ercise", + "Ġ Billy", + "ĠB illy", + "ĠBill y", + "ĠBil ly", + "i vi", + "iv i", + "Ġne eding", + "Ġneed ing", + "_ urls", + "_url s", + "_ur ls", + "_ tasks", + "_t asks", + "_task s", + "ĠH em", + "ĠHe m", + "Ġ tearDown", + "Ġte arDown", + "Ġtear Down", + "en crypt", + "enc rypt", + ". tie", + ".t ie", + "Ġ asm", + "Ġa sm", + "Ġas m", + "I CH", + "IC H", + "ĠCGRect Make", + "ìĦ ±", + "u long", + "ul ong", + "ulo ng", + "Ġ itr", + "Ġit r", + "Ġi tr", + "Ġ GST", + "ĠG ST", + "ĠGS T", + "Ġoffer ings", + "Ġoffering s", + "r obe", + "ro be", + "rob e", + "E EE", + "EE E", + "oper ators", + "operator s", + "_ PROP", + "_P ROP", + "_PRO P", + "_PR OP", + "in dent", + "ind ent", + "inde nt", + "inden t", + "A DE", + "AD E", + "o rf", + "or f", + "ë IJ", + "Ġbl essed", + "Ġbless ed", + "v ascular", + "vas cular", + "Ġcon oc", + "Ġco noc", + "H appy", + "Ha ppy", + "B ridge", + "Br idge", + "il itation", + "ilit ation", + "j oint", + "join t", + "jo int", + "Ġ Administr", + "ĠAdmin istr", + "- transform", + "-trans form", + "Ġmean time", + "Ġmeant ime", + "/ K", + "ĠBed room", + "Ġr igid", + "Ġrig id", + "Ġri gid", + "Ġb rowsers", + "Ġbrowser s", + "Ġbrows ers", + "Ġbrowse rs", + "EM PTY", + "EMP TY", + ". Serialize", + ".S erialize", + ".Serial ize", + "_ ED", + "_E D", + "Ġst itch", + "Ġ jan", + "Ġj an", + "Ġja n", + "el lt", + "ell t", + "Ġ brace", + "Ġb race", + "Ġbr ace", + "Ġbra ce", + "Ġt rails", + "Ġtr ails", + "Ġtrail s", + "Ġtra ils", + "Ġtrai ls", + "p ublished", + "publish ed", + "å¯Ĩ çłģ", + "} ')Ċ", + "}' )Ċ", + "}') Ċ", + "Ġac ids", + "Ġacid s", + "Ġ !!!", + "Ġ! !!", + "Ġ!! !", + "_ direct", + "_d irect", + "_dir ect", + "_di rect", + "> ());Ċ", + ">( ));Ċ", + ">() );Ċ", + ">()) ;Ċ", + "a jÄħ", + "aj Äħ", + "_O CC", + "_OC C", + "Ġplan ets", + "Ġplane ts", + "Ġplanet s", + "Ġpla nets", + "æ Ł¥", + "æŁ ¥", + "ĠDub lin", + "Ġ serie", + "Ġs erie", + "Ġse rie", + "Ġser ie", + "Ġseri e", + ". printf", + ".print f", + "de ep", + "dee p", + "` )", + "Ġ \\$", + "Ġ\\ $", + "Ġ μ", + "ĠÎ ¼", + "_ VIDEO", + "_V IDEO", + "end ors", + "endor s", + "endo rs", + "Ġ Crypto", + "ĠC rypto", + "ĠCrypt o", + "ĠCry pto", + "F ar", + "Fa r", + ". Transparent", + ".Trans parent", + ". TR", + ".T R", + "i asm", + "ia sm", + "ias m", + "_ training", + "_tr aining", + "_train ing", + "_tra ining", + "Ġte aches", + "Ġteach es", + "Ġtea ches", + "ĠB elt", + "ĠBe lt", + "ĠBel t", + "Ġlimit ing", + "Ġlim iting", + "ĠK ath", + "ĠKat h", + "ĠKa th", + "Ġ IndexPath", + "ĠIndex Path", + "Ġachie vements", + "Ġachieve ments", + "Ġachievement s", + "Ġse rá", + "Ġser á", + "interop Require", + "Ġd isse", + "Ġdis se", + "Ġdi sse", + "Ġdiss e", + ". If", + ".I f", + "ar ming", + "arm ing", + "uls ion", + "P o", + "_ DETAIL", + "_DE TAIL", + "_DET AIL", + "Prot otype", + "Proto type", + "Ġ CAL", + "ĠC AL", + "ĠCA L", + "Ġag rees", + "Ġagre es", + "Ġagree s", + "Ġagr ees", + ". vo", + ".v o", + ".Execute NonQuery", + "Ġ Topic", + "ĠT opic", + "ĠTo pic", + "ĠTop ic", + "Ġ' {}", + "Ġ'{ }", + "A rm", + "Ar m", + "Ġ ecc", + "Ġe cc", + "Ġec c", + "M ag", + "Ma g", + "Ġ serialized", + "Ġs erialized", + "Ġser ialized", + "Ġserial ized", + "Ġserialize d", + "ĉ conn", + "ĉc onn", + "ĉcon n", + "c ached", + "ca ched", + "cache d", + "cac hed", + "= tf", + "=t f", + "Ġ ByteArray", + "ĠByte Array", + "prot obuf", + "proto buf", + "var char", + "ĉ ASSERT", + "ĉA SSERT", + "Ġ liste", + "Ġl iste", + "Ġli ste", + "Ġlist e", + "Ġlis te", + "_ trigger", + "_tr igger", + "_tri gger", + "· ¸", + "F eel", + "Fe el", + "Fee l", + "T ahoma", + "Ġ Lik", + "ĠL ik", + "ĠLi k", + "Ġ structured", + "Ġstruct ured", + "Ġstructure d", + "erg us", + ". Initial", + ".In itial", + ".Init ial", + "_ ge", + "_g e", + "cl js", + ". contact", + ".cont act", + "Ġand ere", + "Ġan dere", + "Ġander e", + "$ stmt", + "_ CURRENT", + "_C URRENT", + "Ġ Discover", + "ĠDis cover", + "ĠDisc over", + "ĠDisco ver", + "$ res", + "$r es", + "form atter", + "for matter", + "format ter", + "H a", + "van gst", + "vang st", + "Ġe merge", + "Ġem erge", + "Ġemerg e", + "ãĢĤ âĢĿ", + "ĠC abinet", + "ĠCabin et", + "ĠCab inet", + "- square", + "-s quare", + "éĥ ¨", + "Ġ rage", + "Ġr age", + "Ġra ge", + "Ġrag e", + "Ġ AJ", + "ĠA J", + "Ġ VT", + "ĠV T", + "sh adow", + "ĠFa ith", + "e names", + "en ames", + "ename s", + "ena mes", + "p retty", + "pr etty", + "pre tty", + "pret ty", + "h asil", + "ha sil", + "has il", + "p arty", + "par ty", + "part y", + "Ġ varchar", + "Ġvar char", + "Ġf otos", + "Ġfo tos", + "Ġfoto s", + "Ġfot os", + "Ġa lum", + "Ġal um", + "ĠBel gium", + "ĠBelg ium", + ". ylabel", + ".y label", + "Ġ dej", + "Ġd ej", + "Ġde j", + "_ numbers", + "_num bers", + "_number s", + "Ġ hu", + "Ġh u", + ".set Adapter", + "Ġ Usually", + "ĠUs ually", + "( sample", + "(s ample", + ". Shared", + ".Sh ared", + "Ġbo oked", + "Ġbook ed", + "Ġboo ked", + "Ġ> >=", + "Ġ>> =", + "Ġmin erals", + "Ġmineral s", + "Ġminer als", + "\" > < ?=", + "\">", + "'] )->", + "']) ->", + "p rog", + "pr og", + "pro g", + "b oo", + "bo o", + "_ md", + "_m d", + "_ pack", + "_p ack", + "_pa ck", + "( express", + "(ex press", + "(exp ress", + "(expr ess", + "u tz", + "ut z", + "\\ Auth", + ", id", + ",i d", + "ĠCh ile", + "ĠChi le", + "act ice", + "actic e", + "Ġrec ruitment", + "Ġrecruit ment", + "Ġ poses", + "Ġp oses", + "Ġpos es", + "Ġpo ses", + "Ġpose s", + "Ġvulner ability", + "inst anc", + "o rum", + "or um", + "oru m", + "d ess", + "de ss", + "des s", + "Ġ xl", + "Ġx l", + "%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%", + "( fig", + "(f ig", + "(fi g", + "Ġde leting", + "Ġdel eting", + "Ġdelet ing", + "Ġdele ting", + ". del", + ".d el", + ".de l", + ") ')Ċ", + ")' )Ċ", + "Ġ Weekly", + "ĠWeek ly", + "? ??", + "?? ?", + "( strcmp", + "(str cmp", + "s mith", + "sm ith", + "Ġpurs uing", + "- so", + "-s o", + "Ġ Apps", + "ĠA pps", + "ĠApp s", + "ĠAp ps", + "/ 'Ċ", + "/' Ċ", + "Ġde cis", + "Ġdec is", + "F ORE", + "FO RE", + "FOR E", + "Every one", + "Ġl anes", + "Ġla nes", + "Ġlane s", + "Ġlan es", + "V irtual", + "Vir tual", + ". attach", + ".at tach", + ".att ach", + "( Log", + "(L og", + "ĠMed icaid", + "ĠMedic aid", + "( Path", + "(P ath", + "ĠTur ner", + "ĠTurn er", + "/ application", + "/app lication", + "/ap plication", + "Ġ portrait", + "Ġport rait", + "Ġpor trait", + "Ġop pose", + "Ġopp ose", + "Ġoppos e", + "check out", + "Ġfin ishes", + "Ġfinish es", + "_ ME", + "_M E", + "Bar rier", + "S ong", + "So ng", + "Son g", + "V AR", + "VA R", + "Ear lier", + "r ella", + "re lla", + "rel la", + "rell a", + "Ġh ast", + "Ġhas t", + "Ġha st", + "a zar", + "az ar", + "aza r", + "Ġp ulls", + "Ġpull s", + "Ġpul ls", + "n gx", + "ng x", + "Ġins piring", + "Ġinspir ing", + "Ġinsp iring", + "Ñĥ Ñİ", + "- direction", + "-d irection", + "-direct ion", + "-dir ection", + "-di rection", + "Ġexplos ive", + "Ġ createdAt", + "Ġcreated At", + "s to", + "st o", + "Ġw heat", + "Ġwh eat", + "Ġwhe at", + "Ġ Built", + "ĠB uilt", + "ĠBu ilt", + "' ai", + "'a i", + "Ġ tracked", + "Ġtr acked", + "Ġtrack ed", + "h ammad", + "ham mad", + "RowAt IndexPath", + "_ heap", + "_he ap", + "D ue", + "Du e", + "Ġconn ects", + "Ġconnect s", + ". publish", + ".p ublish", + ".pub lish", + "e mu", + "em u", + "Ġb ullets", + "Ġbul lets", + "Ġbull ets", + "Ġbullet s", + "B AR", + "BA R", + "o late", + "ol ate", + "ola te", + "Ġintern ally", + "Ġinternal ly", + "Ġc atching", + "Ġcatch ing", + "Ġcat ching", + "- password", + "-p assword", + "-pass word", + "ou ched", + "ouch ed", + "æĢ §", + "e ous", + "eo us", + "Ġx range", + "Ġxr ange", + "Q uality", + "Qu ality", + "Qual ity", + "v v", + "Man age", + "Ma nage", + "Mana ge", + "( ($", + "(( $", + "ace ments", + "ac ements", + "acement s", + "ĠBr others", + "ĠBro thers", + "ĠBrother s", + "Ġ HEAD", + "ĠHE AD", + "Ġ Unsupported", + "ĠUn supported", + "ĠUns upported", + "s an", + "sa n", + "e si", + "es i", + "* **Ċ", + "** *Ċ", + "*** Ċ", + "Ġadapt ation", + "Ġ Worker", + "ĠWork er", + "ĠWor ker", + "' ]/", + "'] /", + ".save fig", + "( trans", + "(t rans", + "(tr ans", + "Ø ¬", + "n ee", + "ne e", + "C orrect", + "Cor rect", + ".. .\")Ċ", + "... \")Ċ", + "...\" )Ċ", + "Ġsubmit ting", + "- path", + "-p ath", + "ĉ last", + "ĉl ast", + "is san", + "iss an", + "issa n", + ". xlabel", + ".x label", + "Ġ Separ", + "ĠS epar", + "ĠSe par", + "ĠSep ar", + "/ no", + "/n o", + "_ best", + "_b est", + "_be st", + "ĠM ills", + "ĠMill s", + "ĠMil ls", + "_ sock", + "_s ock", + "_so ck", + "_soc k", + "( flag", + "(f lag", + "(fl ag", + "Ġdest inations", + "Ġdestination s", + "Ġdestin ations", + "em ption", + "emp tion", + "empt ion", + "Ġ FAIL", + "ĠF AIL", + "ĠFA IL", + "å ĴĮ", + "åĴ Į", + "Ġ rp", + "Ġr p", + "f act", + "fa ct", + "fac t", + "ĉ len", + "ĉl en", + "D AY", + "DA Y", + "Ġse iz", + "Ġsei z", + "_ dst", + "_d st", + "_ds t", + "l ip", + "li p", + ". Linear", + ".L inear", + ".Line ar", + "Ġ Basket", + "ĠB asket", + "ĠBas ket", + "$ t", + "$ i", + "- brand", + "-b rand", + "-br and", + "Ġ Neil", + "ĠN eil", + "ĠNe il", + "Ġ Eq", + "ĠE q", + "Ġt hou", + "Ġth ou", + "Ġtho u", + "o gene", + "og ene", + "ogen e", + "oge ne", + "Ġscholar ship", + "Ġscholars hip", + "æĽ ´", + "Ġs wo", + "Ġsw o", + "ag inator", + "agina tor", + "e ni", + "en i", + "( book", + "(b ook", + "Ġ blink", + "Ġb link", + "Ġbl ink", + "Ġbli nk", + "t hus", + "th us", + "Ġ cancellationToken", + "Ġc ancellationToken", + "Ġcancell ationToken", + "Ġcancellation Token", + "ĠPalestin ians", + "ĠPalestinian s", + "Ġprof itable", + "Ġprofit able", + "Ġback pack", + "en son", + "ens on", + "enso n", + "< Long", + " < /", + "_ WORD", + "_W ORD", + "\\M igrations", + "\\Migration s", + "Ġ ENABLE", + "ĠEN ABLE", + "_PARAM ETER", + "ĠB ishop", + "ĠBi shop", + "ĠBis hop", + ". subject", + ".sub ject", + "il las", + "ill as", + "illa s", + ". matrix", + ".m atrix", + ".mat rix", + "urre nces", + "urrenc es", + "urr ences", + "urrence s", + "* y", + "Ġcost ly", + "Ġ Chuck", + "ĠCh uck", + "ĠChu ck", + "Ġc loses", + "Ġcl oses", + "Ġclose s", + "Ġclos es", + "Ġclo ses", + "ĠM ight", + "ĠMi ght", + "ĠMig ht", + "- store", + "-st ore", + "Ġ mall", + "Ġm all", + "Ġma ll", + "Ġmal l", + "i eten", + "ie ten", + "iet en", + "iete n", + ". Abs", + ".A bs", + ".Ab s", + "Ġcou pled", + "Ġcouple d", + "Ġcoup led", + ". basic", + ".b asic", + ".ba sic", + "Ġ ::::::::", + "Ġ: :::::::", + "Ġ:: ::::::", + "Ġ::: :::::", + "M aker", + "Make r", + "Ma ker", + "c annot", + "can not", + "Ġ ach", + "Ġa ch", + "Ġac h", + "ĠE li", + "ĠEl i", + "âĪ Ĵ", + "o rna", + "or na", + "orn a", + "Ġ cps", + "Ġc ps", + "Ġcp s", + "Ġthere of", + "Ġther eof", + "Ġ@ {", + "Ġ NSMutableArray", + "ĠNSMutable Array", + "Î ½", + "pro ductive", + "product ive", + "prod uctive", + "S quare", + "tem pts", + "temp ts", + "tempt s", + "Ġelim inated", + "Ġeliminate d", + "Ġelimin ated", + "< M", + "Ġcons ervatives", + "Ġconserv atives", + "Ġconservative s", + "ĠS urg", + "ĠSur g", + "ĠSu rg", + ". par", + ".p ar", + ".pa r", + "ĠB uch", + "ĠBu ch", + "* b", + "F ort", + "For t", + "Fo rt", + "Col our", + "Ġ Chi", + "ĠC hi", + "ĠCh i", + "e dic", + "ed ic", + "edi c", + "> true", + "ĠN YC", + "ĠNY C", + "Ġb ored", + "Ġbo red", + "Ġbor ed", + "Ġbore d", + "Ġ Detect", + "ĠD etect", + "ĠDet ect", + "Ġapp ar", + "Ġap par", + "Ġje ans", + "Ġjean s", + "Ġ Tak", + "ĠT ak", + "ĠTa k", + "I OD", + "IO D", + "ĠH orse", + "ĠHor se", + "( FILE", + "(F ILE", + "( ?", + "r ique", + "ri que", + "opt imizer", + "optim izer", + "optimize r", + "n at", + "na t", + "lo ys", + "loy s", + "ĉ Token", + "ĉT oken", + "oub ted", + "u ess", + "ue ss", + "ues s", + "oc oa", + "oco a", + "Data Member", + "_ POWER", + "_P OWER", + "_PO WER", + "class List", + "Push Button", + "Ġ WiFi", + "ĠWi Fi", + ". Stream", + ".St ream", + ".Str eam", + ". guild", + ".g uild", + ".gui ld", + "Ġn og", + "Ġno g", + "ĠPort ugal", + "ĠPortug al", + "ĠUn ter", + "ĠUnt er", + "Pr imitive", + "Prim itive", + "b oss", + "bo ss", + "bos s", + "ĠDe utsch", + "Ġer otic", + "Ġerot ic", + "Ġero tic", + "Ġ strconv", + "Ġstr conv", + ".Try Parse", + "Ġ grams", + "Ġg rams", + "Ġgr ams", + "Ġgram s", + "Ġgra ms", + ". Success", + ".S uccess", + "_ pk", + "_p k", + "ĠHar vey", + "-m inded", + "-min ded", + ". country", + ".c ountry", + ".count ry", + "[ ]\"", + "[] \"", + "Ġ angel", + "Ġan gel", + "Ġang el", + "Ġange l", + "Ġbe ats", + "Ġbeat s", + "ĠV or", + "ĠVo r", + "i lio", + "il io", + "ili o", + ". master", + ".m aster", + ".mas ter", + ".ma ster", + "s omething", + "some thing", + "som ething", + "Ġ PACK", + "ĠP ACK", + "ĠPA CK", + "ĠPAC K", + "( if", + "(i f", + "Request Body", + "Ġ antes", + "Ġan tes", + "Ġant es", + "Ġante s", + "/ widget", + "/w idget", + "Ġ modo", + "Ġm odo", + "Ġmod o", + "Ġmo do", + "Ġ AW", + "ĠA W", + "f inder", + "find er", + "fin der", + "fi nder", + "Ġ optimized", + "Ġopt imized", + "Ġoptim ized", + "Ġoptimize d", + "Ġmiss iles", + "Ġmissile s", + "N B", + "ĉ internal", + "ĉint ernal", + "ĉin ternal", + "ĉinter nal", + "t ex", + "te x", + "ĠS ri", + "ĠSr i", + "Ġdam aging", + "Ġ Mais", + "ĠM ais", + "ĠMa is", + "ĠMai s", + "- Allow", + "-Al low", + "Ġ Zh", + "ĠZ h", + "- alt", + "-a lt", + "-al t", + "Ġ ));ĊĊ", + "Ġ) );ĊĊ", + "Ġ)) ;ĊĊ", + "Ġ));Ċ Ċ", + "Ġ)); ĊĊ", + "è ī", + "Ġinflu ences", + "Ġinfluence s", + "Ġc atal", + "Ġca tal", + "Ġcat al", + "Ġcata l", + "_ REGISTER", + "_REG ISTER", + "ĠAPI s", + "ĠAP Is", + "-cent ury", + "Ġ biology", + "Ġb iology", + "Ġbi ology", + "Ġbio logy", + "Ġ Actual", + "ĠAct ual", + "ĠAc tual", + "Ġ heels", + "Ġhe els", + "Ġheel s", + "TR ACE", + "TRA CE", + "_ DIG", + "_D IG", + "_DI G", + "D ataset", + "Data set", + "Dat aset", + "Datas et", + "ĠM atter", + "ĠMat ter", + "ĠMatt er", + "ĠMatte r", + "Ġ classifier", + "Ġclass ifier", + ".w ikipedia", + "ĠRo gers", + "ĠRog ers", + "ĠRoger s", + "Ġdon ated", + "Ġdonate d", + "raw ler", + "rawl er", + "e nen", + "en en", + "ene n", + "Ġcas inos", + "Ġcasino s", + "Ġcasi nos", + "or tal", + "ort al", + "orta l", + "Ġp rive", + "Ġpr ive", + "Ġpriv e", + "Ġpri ve", + "s pe", + "sp e", + "du cers", + "duc ers", + "duce rs", + "ducer s", + ". ep", + ".e p", + "Ġgr asp", + "Ġgra sp", + "Ġgras p", + "ac ji", + "Ġd airy", + "Ġda iry", + "Ġdai ry", + "Ġdair y", + "Ġb uses", + "Ġbu ses", + "Ġbus es", + ". comm", + ".c omm", + ".com m", + ".co mm", + ". ins", + ".in s", + ".i ns", + "Ġ IRS", + "ĠI RS", + "ĠIR S", + "Ġ Beer", + "ĠB eer", + "ĠBe er", + "ĠBee r", + "a dc", + "ad c", + "o ard", + "oa rd", + "_ MET", + "_M ET", + "_ME T", + "Ġ' +'", + "Ġ'+ '", + "r ans", + "ra ns", + "ran s", + "Ġk inda", + "Ġkind a", + "Ġki nda", + "Ġkin da", + "Ġ âĶĤ", + "ĠâĶ Ĥ", + "ĠM aur", + "ĠMa ur", + "а г", + "аР³", + "Ġband width", + "i bus", + "ib us", + "ibu s", + "Ġ Different", + "ĠD ifferent", + "( mat", + "(m at", + "Ġ Resume", + "ĠRe sume", + "ĠRes ume", + "_ UNS", + "_U NS", + "_UN S", + "est ablish", + "Ġfon ction", + "Sub scription", + "_ company", + "_com pany", + "_comp any", + "Ġ lightly", + "Ġl ightly", + "Ġlight ly", + ". confirm", + ".con firm", + ".conf irm", + ". yaml", + ".y aml", + "Ġ Boost", + "ĠBo ost", + "ĠBoo st", + "Com merce", + "Comm erce", + "- template", + "-t emplate", + "-temp late", + "_ DELAY", + "_DE LAY", + "_DEL AY", + "Ġ HI", + "ĠH I", + "Ġn avig", + "Ġna vig", + "Ġnav ig", + "( Sender", + "(S ender", + "Ġ HS", + "ĠH S", + "_ \"+", + "_\" +", + "Ġ REQUEST", + "ĠRE QUEST", + "ĠREQ UEST", + "Ġ wifi", + "Ġw ifi", + "Ġwi fi", + "= \"\"Ċ", + "=\" \"Ċ", + "=\"\" Ċ", + "] )->", + "]) ->", + "])- >", + "Ġr ope", + "Ġro pe", + "Ġrop e", + "Ġvi olated", + "Ġviol ated", + "Ġviolate d", + "Ġgl ance", + "ĠK urd", + "ĠKur d", + "ĠKu rd", + "Ġ è®", + "Ġè ®", + "d eck", + "de ck", + "dec k", + "Ġ ISBN", + "ĠIS BN", + "Ġin fect", + "Ġinf ect", + "Ġ Foo", + "ĠF oo", + "ĠFo o", + "Ġ getter", + "Ġg etter", + "Ġget ter", + "Ġ tener", + "Ġt ener", + "Ġte ner", + "Ġten er", + "a ppe", + "ap pe", + "app e", + ". hh", + ".h h", + "_ hot", + "_h ot", + "< AM", + " \".$", + ">\" .$", + ">\". $", + "Ġre lies", + "Ġrel ies", + "Ġreli es", + "Ġrelie s", + "( Console", + "Int ernational", + "Inter national", + "Intern ational", + "- >{$", + "-> {$", + "->{ $", + "M id", + "Mi d", + "Ġdis sert", + "Ġdiss ert", + "Ġdisse rt", + "d ds", + "dd s", + "Ġdeposit s", + "Ġdepos its", + "ĉ driver", + "ĉd river", + "# ga", + "#g a", + "p rising", + "pr ising", + "pri sing", + "print ln", + "Ġp resenter", + "Ġpres enter", + "Ġpresent er", + "Ġpresente r", + "Ġm ines", + "Ġmin es", + "Ġmi nes", + "Ġmine s", + "C SS", + "CS S", + "Ġ Dual", + "ĠD ual", + "ĠDu al", + "( !(", + "(! (", + "Ġk am", + "Ġka m", + "Ġ isLoading", + "Ġis Loading", + "Ġ Protect", + "ĠProt ect", + "ĠProte ct", + ". upper", + ".u pper", + ".up per", + "a rium", + "ar ium", + "ari um", + "] :ĊĊĊ", + "]: ĊĊĊ", + "]:Ċ ĊĊ", + "]:ĊĊ Ċ", + "Y ii", + "- shirt", + "-sh irt", + "Ġ IMAGE", + "ĠIM AGE", + "_ colors", + "_color s", + "_col ors", + "Ġ urgent", + "Ġur gent", + "Ġurge nt", + "Ġurg ent", + ". Container", + ".Cont ainer", + "! (Ċ", + "!( Ċ", + "S aturday", + "Ġsoc ieties", + "Ġsoci eties", + "Ġ Than", + "ĠT han", + "ĠTh an", + "Ġ Cod", + "ĠC od", + "ĠCo d", + "= @", + "Ġ attachments", + "Ġattach ments", + "Ġattachment s", + ". mobile", + ".m obile", + ".mob ile", + "Ġs pite", + "Ġsp ite", + "Ġspi te", + "Ġspit e", + "Ġ bounce", + "Ġb ounce", + "Ġbo unce", + "Ġbou nce", + "r awl", + "ra wl", + "raw l", + "instance type", + "instanc etype", + "ĠTr uck", + "ĠTru ck", + "Ġmanip ulation", + "( Config", + "- inst", + "-in st", + "-i nst", + "-ins t", + "Ġ stor", + "Ġs tor", + "Ġst or", + "Ġsto r", + "it ution", + "itu tion", + "Preferred Gap", + "Ġmain AxisAlignment", + "Ġlist ened", + "Ġlisten ed", + "Ġliste ned", + "'' 'ĊĊ", + "'''Ċ Ċ", + "''' ĊĊ", + "ott age", + "otta ge", + "- project", + "-pro ject", + ". APPLICATION", + ".AP PLICATION", + "ĉ root", + "ĉr oot", + "Ġw hit", + "Ġwh it", + "Ġ bilder", + "Ġb ilder", + "Ġbi lder", + "Ġbil der", + "Ġbild er", + "Ġ ker", + "Ġk er", + "Ġke r", + "Ġappl iances", + "Ġappliance s", + "ro wave", + "row ave", + "ìĿ Ģ", + "em atics", + "ema tics", + "ematic s", + "emat ics", + "Ġ Org", + "ĠO rg", + "ĠOr g", + "o ping", + "op ing", + "opi ng", + "_ SEARCH", + "_SE ARCH", + "Ġc ham", + "Ġch am", + "Ġcha m", + "add ContainerGap", + "Ġ ().", + "Ġ( ).", + "Ġ() .", + "Ġ Arrow", + "ĠAr row", + "ĠArr ow", + "Il legal", + "Ill egal", + "Current ly", + "Curr ently", + "Ġ usa", + "Ġu sa", + "Ġus a", + "Ġpass words", + "Ġpassword s", + "Ġre nown", + "Ġren own", + "a vern", + "av ern", + "ave rn", + "aver n", + "ĠE vil", + "ĠEv il", + "Ġ concat", + "Ġcon cat", + "Ġconc at", + "Ġd uo", + "Ġdu o", + "Ġ vale", + "Ġv ale", + "Ġval e", + "Ġva le", + "Ġ Bean", + "ĠB ean", + "ĠBe an", + "ĠBea n", + "Ġind icators", + "Ġindic ators", + "Ġindicator s", + "Ġindica tors", + "c math", + "cm ath", + "ĠP ump", + "ĠPu mp", + "Nov ember", + "ific ant", + "ifi cant", + "ifica nt", + "_ DOMAIN", + "_DO MAIN", + "_DOM AIN", + "re gar", + "reg ar", + "rega r", + "Ġ Portal", + "ĠP ortal", + "ĠPort al", + "ĠPor tal", + "\" $", + "Ġ formerly", + "Ġformer ly", + "\" ]:Ċ", + "\"] :Ċ", + "\"]: Ċ", + "Ġ Visibility", + "ĠVis ibility", + ".getElementsBy ClassName", + "_ RED", + "_RE D", + "_R ED", + "Ġch ampions", + "Ġchampion s", + "Ġchamp ions", + "à ´", + "Val or", + "Va lor", + "_ es", + "_e s", + "* a", + "- repeat", + "-re peat", + "B and", + "Ban d", + "Ba nd", + ". stage", + ".st age", + "Ġbure auc", + "Ġbureau c", + "C nt", + "e ten", + "et en", + "ete n", + "- function", + "-f unction", + "Ġm uito", + "Ġmu ito", + "Ġmuit o", + "P ID", + "PI D", + "_ editor", + "_e ditor", + "_edit or", + "_ed itor", + "Ġcr ashed", + "Ġcrash ed", + "Ġcra shed", + "d ead", + "de ad", + "dea d", + "k at", + "ka t", + "a gh", + "ag h", + "Ġ EXT", + "ĠE XT", + "ĠEX T", + "as ser", + "ass er", + "asse r", + "- small", + "-s mall", + "-sm all", + "Ġre aliz", + "Ġreal iz", + "( Entity", + "(E ntity", + "ú s", + "Ġ Actually", + "ĠAct ually", + "ĠActual ly", + "Ġ Elite", + "ĠE lite", + "ĠEl ite", + "ĠEli te", + "Ġ helm", + "Ġh elm", + "Ġhe lm", + "Ġhel m", + "( nonatomic", + "(non atomic", + "a sher", + "as her", + "ash er", + "Comm unity", + "all eng", + "alle ng", + "allen g", + "i ry", + "ir y", + "ĠG rowth", + "ĠGrow th", + "Ġs ue", + "Ġsu e", + "Ġf requencies", + "Ġfrequ encies", + "_ descriptor", + "_des criptor", + ". Attribute", + ".At tribute", + "Ġrec ipients", + "Ġrecipient s", + "Ġrecip ients", + "_ NS", + "_N S", + "/ \"+", + "/\" +", + "i ban", + "ib an", + "iba n", + "Ġ athlete", + "Ġath lete", + "Ġ Ign", + "ĠI gn", + "ĠIg n", + "_ DMA", + "_D MA", + "_DM A", + "( ds", + "(d s", + "Ġ Requirements", + "ĠRequire ments", + "ĠRequirement s", + "A DI", + "AD I", + "e rez", + "er ez", + "ere z", + "\\ Admin", + "br aska", + "bra ska", + "bras ka", + "ĠR ust", + "ĠRu st", + "ĠRus t", + "Re lation", + "Rel ation", + "C OD", + "CO D", + "Ġ VERSION", + "ĠV ERSION", + "ĠVER SION", + "e mma", + "em ma", + "emm a", + ") ){", + ")) {", + ". Duration", + ".D uration", + "Ġ Camb", + "ĠC amb", + "ĠCam b", + "ĠCa mb", + "- logo", + "-l ogo", + "-lo go", + "-log o", + "Ġread able", + "Ġcre ators", + "Ġcreat ors", + "Ġcreator s", + "Ġcrea tors", + "( )];Ċ", + "() ];Ċ", + "()] ;Ċ", + "Up Down", + "- half", + "-h alf", + ".get Month", + ".getM onth", + "( sf", + "(s f", + "P ic", + "Pi c", + "Ġh unger", + "Ġhun ger", + "Ġhung er", + "Ġhu nger", + ". tx", + ".t x", + "Ġex ceeded", + "Ġexceed ed", + "Ġexce eded", + "_ seed", + "_s eed", + "_se ed", + "( ^", + "_ sk", + "_s k", + ". perform", + ".per form", + "Ġ >::", + "Ġ> ::", + "Ġ mongo", + "Ġm ongo", + "Ġmon go", + "Ġmo ngo", + "Ġmong o", + "= float", + "=f loat", + "bind Param", + "S mart", + "Sm art", + "i fa", + "if a", + "Ġse curities", + "Ġsec urities", + "Ġpre jud", + "Ġ ,\"", + "Ġ, \"", + "Ġcor ps", + "Ġcorp s", + "Ġv ra", + "Ġvr a", + "ama care", + "amac are", + "i terr", + "it err", + "ite rr", + "iter r", + "( Media", + "(M edia", + "(Me dia", + "u che", + "uch e", + "uc he", + "Ġ cob", + "Ġc ob", + "Ġco b", + "Ġl iber", + "Ġli ber", + "Ġlib er", + ". geometry", + ".ge ometry", + ".geom etry", + ".geo metry", + "L ocator", + "Loc ator", + "Ġsl iding", + "Ġslid ing", + "Ġs urgical", + "Ġsurg ical", + "_ CUR", + "_C UR", + "Ġcon sect", + "Ġcons ect", + "Ġconsec t", + "Ġconse ct", + "[ *", + "ĠRe sort", + "ĠRes ort", + "St ub", + "_ DOUBLE", + "_DO UBLE", + "Ġ Soph", + "ĠS oph", + "ĠSo ph", + "Ġelect oral", + "_ disable", + "_d isable", + "_dis able", + "Ġ Ñģо", + "ĠÑģ о", + "ĠLight ning", + "Ġ mentions", + "Ġm entions", + "Ġmention s", + "Ġment ions", + "o cy", + "oc y", + "Ġle aked", + "Ġleak ed", + "Ġrelax ing", + "P resenter", + "Pres enter", + "Present er", + "v sp", + "vs p", + "Ġg uilt", + "Ġgu ilt", + "Ġgui lt", + "=- =-", + ". reply", + ".re ply", + ".rep ly", + "Ġ Mirror", + "ĠM irror", + "ĠMir ror", + "ĠMi rror", + "C amp", + "Ca mp", + "Cam p", + "Ġ+#+ #+#+", + "Ġ+#+#+#+ #+#+", + ". Author", + ".A uthor", + ".Auth or", + "Ġ directive", + "Ġdirect ive", + "Ġdir ective", + "- hook", + "-h ook", + "íĦ °", + "} ĊĊĊĊĊ", + "}Ċ ĊĊĊĊ", + "}ĊĊ ĊĊĊ", + "}ĊĊĊ ĊĊ", + "}ĊĊĊĊ Ċ", + "@ pytest", + "_ rand", + "_r and", + "_ra nd", + "m is", + "mi s", + "Ġcolor ful", + "u je", + "uj e", + "l asses", + "lass es", + "las ses", + "Ġ Classes", + "ĠC lasses", + "ĠCl asses", + "ĠClass es", + "ĠClasse s", + ". have", + ".h ave", + "% ),", + "%) ,", + "é¢ ĺ", + "Ġdistur bing", + "Ġdisturb ing", + "sub string", + "substr ing", + "subst ring", + "subs tring", + "ĠK oh", + "ĠKo h", + "In vest", + "Inv est", + "p urchase", + "Ġrec ycling", + "Ġrecycl ing", + "Ġ ART", + "ĠA RT", + "ĠAR T", + "ier archy", + "Ġ fps", + "Ġf ps", + "Ġfp s", + ". checkBox", + ".check Box", + "íķ ´", + "_ material", + "_m aterial", + "_mat erial", + "du cation", + "duc ation", + "Ġ fw", + "Ġf w", + "u dit", + "ud it", + "udi t", + "Ġreview ing", + "Ġ Sid", + "ĠS id", + "ĠSi d", + "S yntax", + "Sy ntax", + "Syn tax", + "Ġ Written", + "ĠW ritten", + "ĠWr itten", + "ar gar", + "arg ar", + "arga r", + "U ME", + "UM E", + "/ q", + "Class ifier", + "Off icial", + "Ġj azz", + "Ġja zz", + "Ġjaz z", + "Ġ omega", + "Ġo mega", + "Ġom ega", + "Ph ysics", + "Phys ics", + "Ġl ugar", + "Ġlu gar", + "Ġlug ar", + "_access or", + "_acc essor", + ". commands", + ".command s", + ".comm ands", + "Ab ility", + "Ġ Batch", + "ĠB atch", + "ĠBat ch", + "R AM", + "RA M", + "Ġenc ounters", + "Ġencounter s", + "Ġencount ers", + ". Qu", + ".Q u", + "B YTE", + "BY TE", + "Ġ Distribution", + "ĠD istribution", + "ĠDis tribution", + "ĠDistrib ution", + "Ġ uso", + "Ġu so", + "Ġus o", + "ĠRe covery", + "ĠRec overy", + "ĠReco very", + "ĠRecover y", + "ap proved", + "appro ved", + "approve d", + "Ġden ial", + "/ share", + "/s hare", + "/sh are", + "Link edList", + "Linked List", + ") čĊčĊčĊ", + ")čĊ čĊčĊ", + ")čĊčĊ čĊ", + "u ddy", + "ud dy", + "udd y", + "Ġf ines", + "Ġfin es", + "Ġfine s", + "Ġfi nes", + "Ġ ry", + "Ġr y", + "Un icode", + "Uni code", + "ĉ render", + "ĉr ender", + "ĉre nder", + "Ġprem ises", + "Ġpremise s", + "Ġpremi ses", + "Ġ pon", + "Ġp on", + "Ġpo n", + "ali ases", + "alias es", + "alia ses", + "/ Foundation", + "/F oundation", + "c uda", + "cu da", + "ĠC ock", + "ĠCo ck", + "ĠCoc k", + ", :)", + ",: )", + "( folder", + "(f older", + "Ġm éd", + "Ġmé d", + "d rag", + "dr ag", + "dra g", + "Ġtal ents", + "Ġtalent s", + "Ġtale nts", + "Ġ ĠĠĊĊ", + "ĠĠ ĠĊĊ", + "ĠĠĠ ĊĊ", + "ĠĠĠĊ Ċ", + "е ÑģÑĤв", + "еÑģÑĤ в", + "m ob", + "mo b", + ".y ml", + "Ġ aster", + "Ġa ster", + "Ġas ter", + "Ġast er", + "Ġdis cre", + "Ġdisc re", + "go al", + "ĠG TX", + "ĠGT X", + "Ġ SUCCESS", + "ĠS UCCESS", + "Ġ LONG", + "ĠL ONG", + "ĠLO NG", + "( find", + "(f ind", + "(fin d", + "(fi nd", + "Ġ singular", + "Ġs ingular", + "Ġsing ular", + "_ sz", + "_s z", + "ĠEth ereum", + "ĠEther eum", + ". .Ċ", + ".. Ċ", + "Ġir res", + "Ġirre s", + "Ġirr es", + "' )){Ċ", + "') ){Ċ", + "')) {Ċ", + "Ġmin isters", + "Ġminister s", + "Ġmini sters", + "Ġminist ers", + "St eps", + "Step s", + "Ste ps", + "iver sal", + "ivers al", + "Ġ Nevertheless", + "ĠNever theless", + "- led", + "-l ed", + "-le d", + "Ġ( %)", + "Ġ(% )", + "ç¡ ®", + "Ġ timezone", + "Ġtime zone", + "Ġstr anger", + "Ġstrange r", + "Ġstrang er", + "Ġstran ger", + "Ġstra nger", + "( render", + "(r ender", + "(re nder", + "Ġsh util", + "Ġshut il", + "Ġ mph", + "Ġm ph", + "Ġmp h", + "Ġt rio", + "Ġtr io", + "Ġtri o", + "p py", + "pp y", + "Ġpred omin", + "Ġ endors", + "Ġend ors", + "ĠRuss ians", + "ĠRussia ns", + "ĠRussian s", + "ĉ row", + "ĉr ow", + "Ġ wizard", + "Ġw izard", + ". serialize", + ".s erialize", + ".serial ize", + "Ġcompl ained", + "Ġcomplain ed", + "Ġs ido", + "Ġsi do", + "Ġsid o", + "Ġdel ighted", + "Ġdelight ed", + "- me", + "-m e", + "ĠR av", + "ĠRa v", + "H uman", + "Hum an", + "Hu man", + "a days", + "ad ays", + "ada ys", + "aday s", + "re cv", + "rec v", + "Work ing", + "J ump", + "Ju mp", + "Ġ Ã¥r", + "ĠÃ¥ r", + "Ġ Automatic", + "ĠAuto matic", + "ĠAut omatic", + "ĠAutom atic", + "_ Base", + "_B ase", + "æł ¼", + "aur ants", + "aurant s", + "aura nts", + " ¯", + "æ ¸", + "(C Type", + "I FI", + "IF I", + "( amount", + "(a mount", + "(am ount", + "Ġbel ieving", + "Ġbelie ving", + "= mysql", + "=m ysql", + "=my sql", + "Ġ fir", + "Ġf ir", + "Ġfi r", + "Ġrest oration", + "Ġresto ration", + "er eco", + "ere co", + "Ð ¢", + "_ '+", + "_' +", + "Ġe book", + "Ġeb ook", + "Ġde bris", + "Ġdeb ris", + "( inputs", + "(input s", + "(in puts", + "(inp uts", + "AY OUT", + "Ġscre aming", + "Ġscream ing", + "a via", + "av ia", + "avi a", + "l ander", + "land er", + "la nder", + "lan der", + "Ġdist ress", + "Ġdi stress", + "Ġdistr ess", + "Ġas sembled", + "Ġassemble d", + "Ġ Avoid", + "ĠA void", + "ĠAv oid", + "( thread", + "(t hread", + "(th read", + "Ġ RPC", + "ĠR PC", + "ĠRP C", + "_ EXIT", + "_EX IT", + "( queue", + "(q ueue", + "и ÑģÑĤ", + "иÑģ ÑĤ", + "D ll", + "Ġsk ull", + "Ġsku ll", + "_ pub", + "_p ub", + "ch ez", + "che z", + "m inate", + "min ate", + "mina te", + "en sen", + "ens en", + "ense n", + "Ġins ane", + "Ġinsan e", + "b ounds", + "bo unds", + "bound s", + "bou nds", + "ĠR osen", + "ĠRo sen", + "ĠRose n", + "ĠRos en", + "Ġcondition ing", + "process ed", + "proc essed", + "v ideos", + "vid eos", + "video s", + "vide os", + "f our", + "fo ur", + ". Conv", + ".Con v", + ".Co nv", + "| ;Ċ", + "Person al", + "Pers onal", + "Persona l", + "cer pt", + ":UIControlState Normal", + "Ġd oses", + "Ġdo ses", + "Ġdos es", + "Ġdose s", + "ĠK arl", + "ĠKar l", + "ĠKa rl", + "ĠF requ", + "ĠFr equ", + "ĠFre qu", + ". BASE", + ".B ASE", + "Ġ Vote", + "ĠV ote", + "ĠVo te", + "Ġcon current", + "Ġconc urrent", + "ĠMessageBox Icon", + "Ġ Ãĸ", + "Ġà ĸ", + "ĠDu bai", + "ĠDub ai", + "Ġ Retail", + "ĠR etail", + "ĠRe tail", + "ĠRet ail", + ": number", + ":n umber", + ":num ber", + "Ġ Observer", + "ĠOb server", + "ĠObserv er", + "ĠObs erver", + "Ġ BigInteger", + "ĠB igInteger", + "ĠBig Integer", + "ĠBigInt eger", + "_ origin", + "_or igin", + "_orig in", + "_ori gin", + "_ WORK", + "_W ORK", + "F rames", + "Frame s", + "Fr ames", + "Fra mes", + "Ġnot ably", + ". âĢľ", + "Ġt ropical", + "Ġtrop ical", + "Ġn iche", + "Ġni che", + "Ġnic he", + "Ġnich e", + "a mina", + "am ina", + "amin a", + "ami na", + ". sys", + ".s ys", + ".sy s", + "( tokens", + "(t okens", + "(token s", + "(tok ens", + "mod ify", + "o sit", + "os it", + "osi t", + "st rom", + "str om", + "stro m", + "ĠC omics", + "ĠCom ics", + "ĠComic s", + "O PTION", + "OP TION", + "OPT ION", + "T icket", + "Tick et", + "Ti cket", + "Ġf actories", + "Ġfact ories", + "Ġfactor ies", + "Ġfacto ries", + "Ġdis put", + "Ġdisp ut", + "_ File", + "_F ile", + "ĠF inn", + "ĠFin n", + "ĠFi nn", + "e ee", + "ee e", + "ĠDis cord", + "ĠDisc ord", + "ĠDisco rd", + "_ money", + "_m oney", + "_mon ey", + "_mo ney", + ". tpl", + ".t pl", + ".tp l", + "_ safe", + "_s afe", + "_sa fe", + "L B", + "Ġg lut", + "Ġgl ut", + "Ġglu t", + "J K", + ". flow", + ".f low", + ".fl ow", + "- cont", + "-c ont", + "-con t", + "-co nt", + "g os", + "go s", + "Ġhor izon", + "ĠR ush", + "ĠRu sh", + "ĠRus h", + ": :*", + ":: *", + "P ipe", + "Pi pe", + "u lla", + "ul la", + "ull a", + "b orough", + "bo rough", + "bor ough", + "boro ugh", + "he imer", + "heim er", + "hei mer", + "( move", + "(m ove", + "( Text", + "(T ext", + "} );čĊčĊ", + "}) ;čĊčĊ", + "}); čĊčĊ", + "});čĊ čĊ", + "w elcome", + "wel come", + "Ġ Components", + "ĠCom ponents", + "ĠComponent s", + "ĠComp onents", + "Ġgovern ance", + "c losed", + "cl osed", + "close d", + "clo sed", + "ĉ margin", + "ĉm argin", + "Ġla undry", + "Ġ Terminal", + "ĠTerm inal", + "ĠTermin al", + "iz ards", + "izar ds", + "izard s", + ". âĢĶ", + ". remote", + ".rem ote", + ". radius", + ".r adius", + ".rad ius", + "ĠQue bec", + "Ġ dh", + "Ġd h", + "T ech", + "Te ch", + "ĠM ist", + "ĠMi st", + "ĠMis t", + "s eller", + "se ller", + "sel ler", + "sell er", + "_ literal", + "_l iteral", + "_lite ral", + "_lit eral", + "Ġgen ius", + "Ġ brains", + "Ġbr ains", + "Ġbrain s", + "Ġbra ins", + "g em", + "ge m", + "Ġ Measure", + "ĠMe asure", + "Ġcat ast", + "Ġcata st", + "r ance", + "ra nce", + "ran ce", + ". TextField", + ".T extField", + ".Text Field", + "Ġcon suming", + "Ġcons uming", + "Ġconsum ing", + "Ġ'\\ ''", + "Ġ'\\' '", + "oubted ly", + "Ġ Certain", + "ĠC ertain", + "ĠCert ain", + "ĠCer tain", + "E v", + "er ti", + "ert i", + "b eing", + "be ing", + "bei ng", + "Ex perience", + "Ġ //[", + "Ġ// [", + "Ġ/ /[", + "ĠAr abic", + "ĠArab ic", + "ĠAra bic", + "ĠC rist", + "ĠCr ist", + "ĠCri st", + "Ġ Azure", + "ĠA zure", + "ĠAz ure", + "Ġ hora", + "Ġh ora", + "Ġhor a", + "Ġho ra", + "l adesh", + "lad esh", + "\\ Blueprint", + "d ar", + "da r", + ". rel", + ".re l", + ".r el", + "Ġsup rem", + "ĠRe agan", + "Ġ Attributes", + "ĠAt tributes", + "ĠAttribute s", + "- sidebar", + "-s idebar", + "-side bar", + "Ġuse Styles", + "ĠA irlines", + "ĠAir lines", + "Ġh ills", + "Ġhill s", + "Ġhil ls", + "/x html", + "v inc", + "vin c", + "vi nc", + "_ mock", + "_m ock", + "_mo ck", + "Ċ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠP ill", + "ĠPi ll", + "ĠPil l", + ".Layout Style", + "ĠComm ander", + "ĠCommand er", + "] <", + "sign ature", + "sig nature", + "Ġ{ }čĊ", + "Ġ{} čĊ", + "Ġhat red", + "Ġ ëĭ", + "Ġë ĭ", + "ole sterol", + "Ġ ********", + "Ġ* *******", + "Ġ** ******", + "Ġ*** *****", + "Ġ**** ****", + "Ġ***** ***", + "ancel lor", + "ancell or", + "c rop", + "cr op", + "cro p", + "T IM", + "TI M", + "ĉ ĉĊĊ", + "ĉĉ ĊĊ", + "ĉĉĊ Ċ", + "ys qli", + "ysql i", + "u itive", + "uit ive", + "ĉ unset", + "ĉun set", + "_ sel", + "_s el", + "_se l", + "Ġ menus", + "Ġm enus", + "Ġmen us", + "Ġmenu s", + "t ick", + "ti ck", + "tic k", + "Ġcon stitute", + "Ġconstit ute", + "Ġconstitu te", + "Ġ Elements", + "ĠE lements", + "ĠEl ements", + "ĠElement s", + "ĠEle ments", + "ĠElem ents", + "Ġ Redis", + "ĠR edis", + "ĠRe dis", + "ĠRed is", + "ag gio", + "agg io", + "aggi o", + "_ fp", + "_f p", + "_ depend", + "_d epend", + "_de pend", + "_dep end", + "e mas", + "em as", + "ema s", + "C AST", + "CA ST", + "CAS T", + "o range", + "or ange", + "ora nge", + "oran ge", + "orang e", + "j on", + "jo n", + "Ġ Emily", + "ĠEm ily", + "ĠEmil y", + "Ġpot atoes", + "Ġpotato es", + "Ġre ceptor", + "Ġrecept or", + "Ġrecep tor", + "Ġ Electronic", + "ĠElect ronic", + "ĠElectro nic", + "ĠElectron ic", + "Ġ Lights", + "ĠL ights", + "ĠLight s", + "Ġcomb ining", + "Ġcombin ing", + "Ġ Someone", + "ĠSome one", + "Ġ######## .", + "ĠT OD", + "ĠTO D", + "/ show", + "/s how", + "/sh ow", + "X d", + ". \"'", + ".\" '", + "a fx", + "af x", + "Ġtr agic", + "Ġtrag ic", + "St yled", + "Style d", + "Ġ Marco", + "ĠMar co", + "ĠMarc o", + "G allery", + "d ale", + "da le", + "dal e", + ".âĢĿ ĊĊĊĊ", + ".âĢĿĊĊ ĊĊ", + ".âĢĿĊ ĊĊĊ", + "é rie", + "ér ie", + "éri e", + "/ service", + "/s ervice", + "äº Ĩ", + "Ġ ambient", + "Ġamb ient", + "_ SETTINGS", + "_SET TINGS", + "_SETTING S", + ". Adapter", + ".Ad apter", + "l ene", + "le ne", + "len e", + "Ġtravel s", + "Ġtrav els", + "Not ice", + "Ġc leans", + "Ġclean s", + "Ġcle ans", + "ĠF em", + "ĠFe m", + "c hair", + "ch air", + "cha ir", + "chai r", + "Ñĥ н", + "/ my", + "/m y", + "_ bad", + "_b ad", + "ĠE conomics", + "ĠEcon omics", + "ĠEconomic s", + "ĠEconom ics", + "I SA", + "IS A", + "_ CNT", + "_C NT", + "_CN T", + "( Menu", + "(M enu", + "(Me nu", + "äº İ", + "ĠR idge", + "ĠRid ge", + "ĠRi dge", + "Ġlength y", + "Ġleng thy", + "D ot", + "Do t", + "Ġj umps", + "Ġjump s", + "Ġju mps", + "Ġ hey", + "Ġh ey", + "Ġhe y", + "$ pdf", + "$p df", + "Ġ worm", + "Ġw orm", + "Ġwor m", + "Ġwo rm", + "Ġ sut", + "Ġs ut", + "Ġsu t", + "Ġ sher", + "Ġs her", + "Ġsh er", + "Ġshe r", + "i amo", + "ia mo", + "iam o", + "Ġ Calc", + "ĠC alc", + "ĠCal c", + "ĠCa lc", + "t rieve", + "tr ieve", + "trie ve", + "tri eve", + "Ġc ops", + "Ġco ps", + "Ġcop s", + "ĠCh rom", + "ĠChr om", + "Ġ regulated", + "Ġreg ulated", + "Ġregul ated", + "Ġregulate d", + "reat ment", + "Ġ Higher", + "ĠHigh er", + "o ks", + "ok s", + "Ġde ze", + "Ġdez e", + "LOC ATION", + "ongs To", + "Ġ finite", + "Ġf inite", + "Ġfin ite", + "Ġfi nite", + "Ġv aries", + "Ġvar ies", + "Ġvari es", + "Ġva ries", + "Ġposition ed", + "Ġposit ioned", + "' il", + "'i l", + "éĩ ij", + "Ġh ike", + "Ġhi ke", + "Ġhik e", + "( done", + "(d one", + "(do ne", + "play list", + "Ġ ada", + "Ġa da", + "Ġad a", + "Ġcoast al", + "ĠN ancy", + "ĠNa ncy", + "ĠNan cy", + ".DateTime Field", + "Cpp CodeGen", + "Ġ Similarly", + "ĠSimilar ly", + "r eur", + "re ur", + "reu r", + "Ġ Contr", + "ĠCon tr", + "ĠCont r", + "Ġ Hidden", + "ĠH idden", + "ĠHi dden", + "Ġ Beta", + "ĠB eta", + "ĠBe ta", + "ĠBet a", + "at ched", + "atch ed", + "_ install", + "_inst all", + ". Output", + ".Out put", + "Look up", + "ĠRich mond", + "qu ared", + "quare d", + "qua red", + "Ġm anga", + "Ġman ga", + "Ġma nga", + "Ġmang a", + "- controls", + "-control s", + "ĠBer nard", + "ĠBern ard", + "L arge", + "Ġs lices", + "Ġsl ices", + "Ġslice s", + "Ġslic es", + "Ġoff ence", + "Ġoffen ce", + "ĠM ega", + "ĠMe ga", + "ĠMeg a", + "Ġ estar", + "Ġe star", + "Ġes tar", + "Ġest ar", + "Ġesta r", + "Ġj oints", + "Ġjoin ts", + "Ġjo ints", + "Ġjoint s", + "Ġ summ", + "Ġs umm", + "Ġsu mm", + "Ġsum m", + "_ platform", + "_pl atform", + "B uff", + "Buf f", + "Bu ff", + ".add Subview", + "Ġret ained", + "Ġretain ed", + "L etter", + "Let ter", + ". dim", + ".d im", + ".di m", + "Ġess ere", + "Ġesse re", + "ĠS caffold", + "EX PECT", + "EXP ECT", + "ĉ RE", + "ĉR E", + ". longitude", + ".long itude", + "ü nd", + "ün d", + "Ġstat ue", + ". addWidget", + ".add Widget", + "ĠCar ibbean", + "add PreferredGap", + "il de", + "ild e", + "UI Label", + "UIL abel", + "ĠOp port", + "ĠOpp ort", + "Ġim perial", + "Ġimp erial", + "Ġimper ial", + "Ġimpe rial", + "urs ion", + "Ġman date", + "Ġmand ate", + "Ġprom otional", + "Ġpromot ional", + "Ġpromotion al", + "Ġ vk", + "Ġv k", + "ia ÅĤ", + "Ġp yl", + "Ġpy l", + "Ġ Creation", + "ĠC reation", + "ĠCre ation", + "ĠCreat ion", + "о зд", + "оз д", + "Ġsim pler", + "Ġsimple r", + "Ġsimp ler", + "Ġsimpl er", + ". what", + ".w hat", + ".wh at", + "Ġ Recent", + "ĠRe cent", + "ĠRec ent", + "ĠRece nt", + "St orm", + ". quantity", + ".qu antity", + ".quant ity", + "Ġ Lov", + "ĠL ov", + "ĠLo v", + "\" -", + "ub bles", + "ubble s", + "ubb les", + "_ notification", + "_not ification", + "( world", + "(w orld", + "ur ger", + "urg er", + "urge r", + "* (-", + "*( -", + ": \"Ċ", + ":\" Ċ", + "h m", + "an ship", + "ans hip", + "Ġ Almost", + "ĠAl most", + "Ġmotor cycle", + "_ fee", + "_f ee", + "_fe e", + "Ġabs orb", + "Ġabsor b", + "ĠVin cent", + "ĠVince nt", + "Ġs ounded", + "Ġso unded", + "Ġsound ed", + "ÃŃ st", + "ÃŃs t", + "Ġpharm aceutical", + "h tag", + "ht ag", + "hta g", + "ĠK indle", + "ĠKind le", + "ĠKin dle", + "ital ize", + "ĠEm peror", + "ous tic", + "oust ic", + "Ġspecial ists", + "Ġspecialist s", + "åħ ¬", + "Border Style", + "/ \\", + "RE LATED", + "REL ATED", + "(' ,',", + "(', ',", + "(',' ,", + "( expr", + "(ex pr", + "(exp r", + "Ġ ht", + "Ġh t", + "åį Ī", + "_ Create", + "_C reate", + "Ġs pecially", + "Ġspec ially", + "Ġspecial ly", + "Ġspeci ally", + "Ġ [];čĊ", + "Ġ[ ];čĊ", + "Ġ[] ;čĊ", + "Ġ[]; čĊ", + "Ġ heel", + "Ġh eel", + "Ġhe el", + "Ġs ept", + "Ġse pt", + "Ġsep t", + "_ arch", + "_a rch", + "_ar ch", + "_arc h", + "( initial", + "(in itial", + "(init ial", + "% .ĊĊ", + "%. ĊĊ", + "%.Ċ Ċ", + "\\\" ,\\\"", + "\\\", \\\"", + "\\\",\\ \"", + "Ġdisc usses", + "Ġdiscuss es", + "Ġ upt", + "Ġu pt", + "Ġup t", + "Ġ[ &", + "Ġm anus", + "Ġman us", + ". hand", + ".h and", + "Ġ MAIN", + "ĠM AIN", + "ĠMA IN", + "ĠDen mark", + "Ġ ],čĊ", + "Ġ] ,čĊ", + "Ġ], čĊ", + "Ġcr yst", + "Ġcry st", + "Ġn ack", + "Ġna ck", + "Co ords", + "Coord s", + "_ inner", + "_in ner", + "Ġmid st", + "Ġmi dst", + "Ġa wake", + "Ġaw ake", + "Ġ Ðŀ", + "ĠÐ ŀ", + "- break", + "-b reak", + "-bre ak", + "ÃŃ vel", + "ÃŃv el", + "_ PASS", + "_P ASS", + "_PA SS", + "Ġ Params", + "ĠPar ams", + "ĠParam s", + "ĠPa rams", + "ĠPara ms", + "Ġd etr", + "Ġde tr", + "Ġdet r", + "Ġsp ider", + "Ġspi der", + "Ġ Concept", + "ĠCon cept", + "ĠConc ept", + "ĠConce pt", + "Ġ prend", + "Ġp rend", + "Ġpr end", + "Ġpre nd", + "CH ED", + "CHE D", + ". Exit", + ".Ex it", + ".E xit", + "Ġpop ulated", + "Ġpopulate d", + "Ġpopul ated", + "Ġvirt ue", + "_ SESSION", + "_SE SSION", + "Ġnou vel", + "Ġnouve l", + "o auth", + "oa uth", + "Ġд аннÑĭ", + "Ġдан нÑĭ", + "r ink", + "ri nk", + "rin k", + ". HeaderText", + ".Header Text", + "atur ated", + "atura ted", + "atu rated", + "Ġe rst", + "Ġer st", + "Ġers t", + "Ġ åħ", + "Ġå ħ", + "ॠĩ", + "_ visible", + "_v isible", + "_vis ible", + "e yer", + "ey er", + "eye r", + "Ġ liable", + "Ġl iable", + "Ġli able", + "Ġlia ble", + "Ġd ebe", + "Ġde be", + "Ġdeb e", + "Ġ bw", + "Ġb w", + "{- #", + "_ WIN", + "_W IN", + "d fs", + "df s", + "H over", + "Ho ver", + "Ġ PUT", + "ĠP UT", + "ĠPU T", + "- angle", + "-a ngle", + "-an gle", + "Ġn oble", + "Ġno ble", + "Ġnob le", + "Ġtr aces", + "Ġtra ces", + "Ġtrace s", + "en cv", + "enc v", + "Ġ userData", + "Ġuser Data", + "_ ins", + "_in s", + "_i ns", + "ĠS uz", + "ĠSu z", + "Ġnews letters", + "Ġnewsletter s", + "ĠM odi", + "ĠMod i", + "ĠMo di", + "Ġentreprene urs", + "Ġentrepreneur s", + "Ġ tribute", + "Ġtrib ute", + "Ġrum ors", + "Ġrumor s", + "Ġ rr", + "Ġr r", + "Ġ Quarter", + "ĠQu arter", + "ĠQuart er", + "ĠQuar ter", + "ê³ ł", + "Ġ feeds", + "Ġfe eds", + "Ġfeed s", + "Ġfee ds", + "ó g", + "Ġen velope", + "Ġenv elope", + "Ġenvelop e", + "Ġ lear", + "Ġl ear", + "Ġle ar", + "Ġk ø", + "de veloper", + "develop er", + "S imilar", + "Sim ilar", + ": \")Ċ", + ":\" )Ċ", + ":\") Ċ", + "sub scription", + "subs cription", + "Mod ifier", + "it alic", + "ital ic", + "ita lic", + "Ġn asty", + "Ġna sty", + "Ġnas ty", + "Ġnast y", + "Ġ termination", + "Ġter mination", + "Ġterm ination", + "Ġtermin ation", + "Ġch arming", + "Ġchar ming", + "Ġcharm ing", + "Ġ âŁ", + "Ġâ Ł", + "t ons", + "ton s", + "to ns", + ". trace", + ".t race", + ".tr ace", + "h ots", + "ho ts", + "hot s", + "Ġ UR", + "ĠU R", + "M ont", + "Mon t", + "Mo nt", + "Ġjust ified", + "ĠG ang", + "ĠGa ng", + "ĠGan g", + "i nea", + "in ea", + "ine a", + "Ġb og", + "Ġbo g", + "( ap", + "(a p", + "_ $", + "Ġcont amin", + "Ġconta min", + ". Dot", + ".D ot", + ".Do t", + "ĉ Debug", + "( exports", + "(ex ports", + "(exp orts", + "Ġ paired", + "Ġp aired", + "Ġpair ed", + "Ġpa ired", + "Ġpai red", + "Ġ Assignment", + "ĠAss ignment", + "ĠAssign ment", + "Ġauto mobile", + "Ġautom obile", + "ĵ į", + "Ġph ases", + "Ġphase s", + "Ġpha ses", + "v w", + "@ SuppressWarnings", + "= \\", + "r ant", + "ra nt", + "ran t", + "- ed", + "-e d", + "ĉ await", + "ĉa wait", + "Ġcert ificates", + "Ġcertificate s", + "Ġcertif icates", + "' >\"", + "'> \"", + "Ġint act", + "C TRL", + "CT RL", + "CTR L", + "M ike", + "Mi ke", + "g regation", + "greg ation", + "AT TERN", + "ATT ERN", + "ATTER N", + "Ġre public", + "Ġrep ublic", + "_ upper", + "_u pper", + "_up per", + "ili ary", + "iliar y", + "ilia ry", + "Ġcom putation", + "Ġcomp utation", + "Ġcomput ation", + "h ire", + "hi re", + "hir e", + "ĠS hin", + "ĠSh in", + "ĠShi n", + "_ ANY", + "_A NY", + "_AN Y", + "Ġ Manufacturer", + "ĠMan ufacturer", + "ĠManufact urer", + "ĠC arm", + "ĠCar m", + "ĠCa rm", + "Ġbear ings", + "Ġbearing s", + "_ comb", + "_c omb", + "_com b", + "_co mb", + "c ad", + "ca d", + "ur istic", + "Ġwh olesale", + "Ġwhole sale", + "Ġwholes ale", + "Ġd onor", + "Ġdo nor", + "Ġdon or", + ". interfaces", + ".inter faces", + ".interface s", + "pr esso", + "press o", + "pres so", + "Ġ Brun", + "ĠB run", + "ĠBr un", + "ĠBru n", + "- close", + "-c lose", + "-cl ose", + "p rove", + "pr ove", + "pro ve", + "prov e", + "_ SK", + "_S K", + "ĉ frame", + "ĉf rame", + "ĉfr ame", + "et ros", + "etro s", + "etr os", + "ĠP ain", + "ĠPa in", + "ĠPai n", + "_ EXP", + "_E XP", + "_EX P", + "Ġ LT", + "ĠL T", + "_ fs", + "_f s", + ". datas", + ".d atas", + ".data s", + ".dat as", + ".da tas", + "ĉ ss", + "ĉs s", + "v oir", + "vo ir", + "Ġ Axis", + "ĠA xis", + "ĠAx is", + "M ajor", + "= \"<", + "=\" <", + "[ h", + "Ġprof ess", + "Ġprofes s", + "ig rate", + "igr ate", + "( score", + "(s core", + "(sc ore", + "Key word", + "\" os", + "ĠĠ ĠĠĉĊ", + "ĠĠĠĠ ĉĊ", + "ĠĠĠ ĠĉĊ", + "ĠĠĠĠĉ Ċ", + "an alysis", + "analy sis", + "anal ysis", + "Ġre play", + "Ġrep lay", + "Ġrepl ay", + ". pass", + ".p ass", + ".pa ss", + "\\ d", + "t ls", + "tl s", + "Ġsan ct", + ". light", + ".l ight", + ".li ght", + "_ mobile", + "_m obile", + "_mob ile", + "Ñģ ÑĤÑĮ", + "ÑģÑĤ ÑĮ", + "ĉ total", + "ĉt otal", + "ĉto tal", + "u ity", + "ui ty", + "uit y", + "Ġ paused", + "Ġpa used", + "Ġpause d", + "Ġpau sed", + "N AS", + "NA S", + "Ġen core", + "Ġenc ore", + "l oe", + "lo e", + "Ġ-* -ĊĊ", + "Ġ-*- ĊĊ", + "Ġ-*-Ċ Ċ", + ". high", + ".h igh", + "am pler", + "amp ler", + "ample r", + "Ġ Secure", + "ĠS ecure", + "ĠSec ure", + "Ġf ragments", + "Ġfra gments", + "Ġfrag ments", + "Ġfragment s", + "_ vel", + "_v el", + "_ve l", + "ill ary", + "illa ry", + "ĠS tein", + "ĠSt ein", + "ĠSte in", + "ĠD awn", + "ĠDa wn", + "ĠDaw n", + "Ġmax imize", + "Ġmaxim ize", + "ภ¢", + "Ġ /^", + "Ġ/ ^", + "Ġcontin ually", + "Ġcontinu ally", + "Ġcontinual ly", + "Ġsh adows", + "Ġshadow s", + "ĉ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĉĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠI ActionResult", + "Ġinform ación", + "C HECK", + "CHE CK", + ". SelectedItem", + ".Selected Item", + "b undle", + "ol ley", + "oll ey", + "olle y", + "< Int", + "<", + "\\\" ><", + "\\\"> <", + "Ġ trajectory", + "Ġtra jectory", + "_ ring", + "_r ing", + "Ġhydro gen", + "Ġhydr ogen", + "t ron", + "tr on", + "tro n", + "Ġstat ute", + "Ġ conditional", + "Ġcondition al", + "Ġcond itional", + "Ġt ray", + "Ġtr ay", + "Ġtra y", + "- school", + "-s chool", + "( widget", + "(w idget", + "$ config", + "$con fig", + "Ġrequest ing", + "Ġrequ esting", + ". uint", + ".ui nt", + ".u int", + "e ton", + "et on", + "eto n", + "br ities", + "brit ies", + "Of Type", + "A DMIN", + "AD MIN", + "ADM IN", + "p redict", + "pre dict", + "pred ict", + "Ġg egen", + "Ġge gen", + "Ġgeg en", + "ĠH app", + "ĠHa pp", + "OC UMENT", + "Ġ Apart", + "ĠA part", + "ĠAp art", + "Ġ -----", + "Ġ- ----", + "Ġ-- ---", + "Ġ---- -", + "Ġ--- --", + "r oe", + "ro e", + "u ide", + "ui de", + "uid e", + "just ify", + "ĠS quad", + "ĠSqu ad", + "Ġprof es", + ". bot", + ".b ot", + ".bo t", + "_ currency", + "_c urrency", + "_curr ency", + "i nnen", + "in nen", + "inn en", + "inne n", + "ĠM umbai", + "ĠMum bai", + "Ġ Numbers", + "ĠNumber s", + "ĠNum bers", + "avana ugh", + "agn itude", + "âĢľ There", + "âĢľThe re", + "= http", + "=h ttp", + "çī ĩ", + "Ġ vb", + "Ġv b", + "+ '{{$", + "\"> {{$", + "\">{{ $", + "\">{ {$", + "Ġ inode", + "Ġin ode", + "Ġi node", + "s il", + "si l", + "Ġh ace", + "Ġha ce", + "Ġhac e", + "Ġsever ely", + "Ġsevere ly", + "Ġ Overview", + "ĠOver view", + "ĠOv erview", + "Ġsp raw", + "Ġspr aw", + "Ġbe aches", + "Ġbeach es", + ": left", + ":l eft", + "· »", + "( ${", + "($ {", + "Ġ FIRST", + "ĠF IRST", + "ĠFIR ST", + "ĠS pa", + "ĠSp a", + "- ass", + "-a ss", + "-as s", + "Ġb aise", + "Ġba ise", + "Ġbais e", + "Ġ NODE", + "ĠN ODE", + "ĠNO DE", + "Ġ Pizza", + "ĠP izza", + "ĠPi zza", + "P et", + "Pe t", + "( seq", + "(s eq", + "(se q", + "\\ \">Ċ", + "\\\" >Ċ", + "\\\"> Ċ", + "CppMethod Pointer", + "Ġ vp", + "Ġv p", + "Ġ ia", + "Ġi a", + "_ seconds", + "_se conds", + "_sec onds", + "_second s", + "e met", + "em et", + "eme t", + "/ blob", + "/b lob", + "/bl ob", + "_TH RESH", + ".. .čĊ", + "... čĊ", + "D est", + "De st", + "Des t", + "Ġ NH", + "ĠN H", + ". dataSource", + ".data Source", + "it és", + "ité s", + "Ġ Jak", + "ĠJ ak", + "ĠJa k", + "s ell", + "se ll", + "sel l", + "Ġwork shops", + "Ġworkshop s", + "< u", + "Ġr ivals", + "Ġrival s", + "Ġri vals", + "Ġriv als", + "ĠEX ISTS", + "h om", + "ho m", + "- token", + "-t oken", + "-to ken", + "com patible", + "compat ible", + ".J Panel", + "Ġphys icians", + "Ġphysician s", + "Ġphysic ians", + "ar tin", + "art in", + "arti n", + "Ġdes irable", + "Ġdistinct ive", + ". Dep", + ".D ep", + ".De p", + "g id", + "gi d", + "il iate", + "ili ate", + "ilia te", + ", max", + ",m ax", + "Ġprem iere", + "Ġpremier e", + "Ġpremi ere", + "Ġq Debug", + "Ġadvoc acy", + "Ġwh isper", + "P t", + "Ġun changed", + "_ qty", + "_q ty", + "请 æ±Ĥ", + "Se ason", + "Sea son", + "ave length", + "avel ength", + "ĠP ul", + "ĠPu l", + "Ġd ÃŃa", + "ĠdÃŃ a", + "'] ]],Ċ", + "']] ],Ċ", + "a lis", + "al is", + "ali s", + "( \"&", + "(\" &", + "b oro", + "bo ro", + "bor o", + "Ġ bm", + "Ġb m", + "Ġ Radi", + "ĠR adi", + "ĠRa di", + "ĠRad i", + "w rong", + "wr ong", + "Ġ Going", + "ĠGo ing", + "ime Type", + "i ji", + "ij i", + "- feedback", + "-fe edback", + "-feed back", + "Ġ Names", + "ĠN ames", + "ĠName s", + "ĠNa mes", + "ĠNam es", + "ĠB apt", + "ĠBa pt", + "Ġpro bable", + "Ġprob able", + "Ġ Ether", + "ĠE ther", + "ĠEth er", + "ĠEt her", + "Ġ Politics", + "ĠPol itics", + "ĠPolit ics", + "_ protocol", + "_prot ocol", + "_proto col", + "l ining", + "li ning", + "lin ing", + "S at", + "Sa t", + "Ġcor rel", + "Ġcorre l", + "Ġcorr el", + ". Primary", + ".Pr imary", + "( nullable", + "(null able", + "RI ORITY", + "Ġcol oring", + "Ġcolor ing", + "Ġutil izing", + "Ġutiliz ing", + "d as", + "da s", + "Ġex ported", + "Ġexp orted", + "Ġexport ed", + "Ġcar riers", + "Ġcarrier s", + "Ġcarr iers", + "Con v", + "Co nv", + ". editor", + ".e ditor", + ".ed itor", + ".edit or", + "i ó", + "( handles", + "(h andles", + "(handle s", + "(hand les", + "Ġapprec iation", + ". import", + ".im port", + ".imp ort", + "ĠA ustria", + "ĠAust ria", + "ĠAustr ia", + "Ġ Strip", + "ĠS trip", + "ĠSt rip", + "ĠStr ip", + "i light", + "il ight", + "ili ght", + "ilig ht", + "Ġappropri ately", + "Ġappropriate ly", + "ĠP rest", + "ĠPr est", + "ĠPres t", + "ĠPre st", + "Ġ Wir", + "ĠW ir", + "ĠWi r", + "Ġ UIApplication", + "ĠUI Application", + "al chemy", + "Ġ Mob", + "ĠM ob", + "ĠMo b", + "Ġ Determin", + "ĠD etermin", + "ĠDe termin", + "ergus on", + "register ed", + "regist ered", + "_ convert", + "_con vert", + "_conv ert", + "ĠVlad imir", + "ĠVladim ir", + ".Show Dialog", + "ref lect", + "Ġs hook", + "Ġsh ook", + "Ġsho ok", + "Ġas sure", + "Ġass ure", + "Ġ Often", + "ĠO ften", + "ĠOf ten", + "Ġcivil ization", + "Ġv ocabulary", + "Ġvocab ulary", + "fore ground", + "Ġ Scope", + "ĠS cope", + "ĠSc ope", + "ĠSco pe", + "Ġun wanted", + "Ġunw anted", + "act ing", + "ac ting", + "Ġ ([]", + "Ġ( []", + "Ġ([ ]", + "Ġm arking", + "Ġmark ing", + "Ġmar king", + ". original", + ".origin al", + ".or iginal", + ".orig inal", + "Ġ MOVE", + "ĠM OVE", + "ĠMO VE", + "ĠMOV E", + "Ġsp orting", + "Ġsport ing", + "Ġspor ting", + "ce ptions", + "ception s", + "cept ions", + "NS Number", + "S izes", + "Size s", + "Si zes", + "Ġpro vincial", + "Ġprovinc ial", + "Ġprovincia l", + "_ Trans", + "_T rans", + "_Tr ans", + "Ġproble matic", + "Ġproblem atic", + "Ġproblema tic", + "Ġprobl ematic", + "d igit", + "di git", + "dig it", + "Ġ Emma", + "ĠE mma", + "ĠEm ma", + "ĠEmm a", + "l ocks", + "lo cks", + "lock s", + "loc ks", + "ĠC rew", + "ĠCr ew", + "ĠCre w", + "i ba", + "ib a", + "' ):", + "') :", + "i sha", + "is ha", + "ish a", + "Ġm amm", + "Ġma mm", + "Ġmam m", + "Ġocc ured", + "Ġoccur ed", + "w cs", + "wc s", + "( rule", + "(r ule", + "Ġmerch andise", + "es pecially", + "ĠT win", + "ĠTw in", + "Ġn aming", + "Ġna ming", + "Ġnam ing", + "Ġs log", + "Ġsl og", + "Ġslo g", + "Ġimpro ves", + "Ġimprove s", + "Ġimpr oves", + "Ġimprov es", + "Ġad her", + ": text", + ":t ext", + ".h adoop", + "_ HTTP", + "_HT TP", + ". toList", + ".to List", + ". disabled", + ".dis abled", + ".disable d", + "Ġl enses", + "Ġlen ses", + "Ġlens es", + ". ini", + ".in i", + ".i ni", + "Ġ Rare", + "ĠR are", + "ĠRa re", + "Ġ Ubuntu", + "ĠUb untu", + "Ġsc ram", + "Ġscr am", + "o lation", + "ol ation", + "ola tion", + "t itulo", + "tit ulo", + "Every thing", + "Ġnod ded", + "icht ig", + "_ constant", + "_con stant", + "_const ant", + "_cons tant", + "z c", + "l ift", + "li ft", + "lif t", + "Ġ Notify", + "ĠN otify", + "ĠNot ify", + "o ndo", + "on do", + "ond o", + "Ġ INF", + "ĠI NF", + "ĠIN F", + "( \"+", + "(\" +", + "ĠK az", + "ĠKa z", + "Ġd read", + "Ġdr ead", + "Ġdre ad", + ". mapper", + ".m apper", + ".map per", + ".ma pper", + "l eur", + "le ur", + "ĠCom ey", + "ĠCo mey", + "ĠCome y", + "Ġ NB", + "ĠN B", + "i cers", + "ic ers", + "ice rs", + "icer s", + ". Push", + ".P ush", + "Ġ Hack", + "ĠH ack", + "ĠHa ck", + "ĠBrazil ian", + "ĠBraz ilian", + "_ prod", + "_p rod", + "_pro d", + "_pr od", + "Ġ //ĊĊ", + "Ġ// ĊĊ", + "Ġ/ /ĊĊ", + "Ġ//Ċ Ċ", + "Ġb icycle", + "Ġbi cycle", + "Ġbicy cle", + "Ġbic ycle", + "Ġun available", + "Ġuna vailable", + "Ġadoles cent", + "b lk", + "bl k", + "Ġmit ig", + "_ blue", + "_b lue", + "_bl ue", + "ì ĺ", + "fade In", + "Ġ Utilities", + "ĠUtil ities", + "ĠUt ilities", + "Ġ MN", + "ĠM N", + "; k", + "< style", + "- status", + "-s tatus", + "-st atus", + "-stat us", + "i ndo", + "in do", + "ind o", + "Ġin nings", + "Ġinn ings", + "Ġinning s", + "Ġg j", + "Ġ| |=", + "Ġ|| =", + ". eu", + ".e u", + ": Number", + ":N umber", + "Ġc uisine", + "Ġcu isine", + "Ġcuis ine", + "ĠURL s", + "i ek", + "ie k", + "Ġw ires", + "Ġwire s", + "Ġwir es", + "Ġwi res", + "ĉ ps", + "ĉp s", + "i eg", + "ie g", + ". mk", + ".m k", + "so ap", + "Ġsome time", + "Ġsom etime", + "Ġs tap", + "Ġst ap", + "Ġsta p", + "_ series", + "_s eries", + "_se ries", + "_ser ies", + ". Target", + ".T arget", + "æ º", + ". destination", + ".d estination", + ".dest ination", + "OUN TER", + "OUNT ER", + "R aises", + "Ra ises", + "Raise s", + "& A", + "Ġsmart phones", + "Ġsmartphone s", + "NI Env", + ". sdk", + ".s dk", + ".sd k", + "Ġhel icopter", + "Ġhelicopt er", + "Ġim pe", + "Ġimp e", + "Ġ Birth", + "ĠB irth", + "ĠBir th", + "A U", + "b readcrumbs", + "breadcrumb s", + "co ords", + "coord s", + "Ġexpl ored", + "Ġexplo red", + "Ġexplore d", + "Ġexplor ed", + "Ġ lod", + "Ġl od", + "Ġlo d", + "Ġ Ip", + "ĠI p", + "g able", + "ga ble", + "i ane", + "ia ne", + "ian e", + "Ġart ifacts", + "Ġartifact s", + "Box Layout", + "ا ر", + "Ø§Ø ±", + "list ener", + "listen er", + "lis tener", + "liste ner", + ". cart", + ".c art", + ".ca rt", + ".car t", + "ĠH uff", + "ĠHu ff", + "ĠHind u", + "ĠHin du", + "ĠData Types", + "ĠDataType s", + "Ġ Drupal", + "ĠDr upal", + "IGN ORE", + "Ġoff sets", + "Ġoffset s", + "Ġoffs ets", + "Ġ RTC", + "ĠR TC", + "ĠRT C", + "- login", + "-lo gin", + "-log in", + "æ ®", + "Ġ QObject", + "ĠQ Object", + "Ġprosec utor", + "R ock", + "Ro ck", + "_ chat", + "_c hat", + "_ch at", + "W ay", + "Wa y", + "ì ²", + "Ġneg lig", + "Ġd ude", + "Ġdu de", + "; <", + "Ġde legates", + "Ġdelegate s", + "Ġdeleg ates", + "_ failed", + "_f ailed", + "_fail ed", + "_fa iled", + "/ dev", + "/d ev", + "/de v", + "/ work", + "/w ork", + "( New", + "(N ew", + "e table", + "et able", + "eta ble", + "( )\"", + "() \"", + "( Icons", + "(I cons", + "Ġp ork", + "Ġpo rk", + "Ġpor k", + "ĠModel AndView", + "Ġ VIP", + "ĠV IP", + "ĠVI P", + "ĠK or", + "ĠKo r", + "m ix", + "mi x", + "Ġ oxid", + "Ġox id", + "Ġ SCREEN", + "ĠS CREEN", + "ĠSC REEN", + "Ġ Fourth", + "ĠFour th", + "/ \",Ċ", + "/\" ,Ċ", + "/\", Ċ", + "Ġ tee", + "Ġt ee", + "Ġte e", + "ĠSte vens", + "ĠSteve ns", + "ĠSteven s", + "t icks", + "ti cks", + "tic ks", + "tick s", + "Ġp ledge", + "Ġpl edge", + "Ġple dge", + "Ġpled ge", + "ib bon", + "Ġ Loan", + "ĠLo an", + "Ġ neo", + "Ġn eo", + "Ġne o", + "n umpy", + "num py", + "Ġ SharedPreferences", + "ĠShared Preferences", + "- oriented", + "ĠLogger Factory", + "Ġ GraphQL", + "ĠGraph QL", + "z enia", + "ze nia", + "zen ia", + "\" _", + "W omen", + "Wo men", + ". cast", + ".c ast", + ".ca st", + "Ġdeliber ately", + "Ġdeliberate ly", + "+ b", + "Ġ Arn", + "ĠA rn", + "ĠAr n", + "font Size", + "Ġ maze", + "Ġm aze", + "Ġma ze", + "Ġmaz e", + "Ġbl amed", + "Ġblame d", + "Ġbla med", + ". mas", + ".m as", + ".ma s", + "} )čĊ", + "}) čĊ", + "eler ik", + "ele rik", + "eleri k", + "Ġsc anning", + "Ġscan ning", + "ĠWork shop", + "ĠWorks hop", + "Ġf inden", + "Ġfind en", + "Ġfin den", + "Ġfinde n", + "Ġc aut", + "Ġca ut", + "UI Font", + "( return", + "(r eturn", + "(re turn", + "(ret urn", + "a lin", + "al in", + "ali n", + "c astle", + "cast le", + "cas tle", + "//// ////////////////////////////////////////////////////////////////////", + "//////// ////////////////////////////////////////////////////////////////", + "//////////////// ////////////////////////////////////////////////////////", + "//////////////////////////////////////////////////////////////// ////////", + "//////////// ////////////////////////////////////////////////////////////", + "//////////////////////////////////////////////////////////////////// ////", + "//////////////////////////////////////////////////////// ////////////////", + "//////////////////////////////////////////////////////////// ////////////", + "Ġincent ive", + "Ġincentiv e", + "o path", + "op ath", + "opa th", + "b lob", + "bl ob", + "blo b", + "Ġcigaret te", + "Ġcigar ette", + "Ġf ertil", + "Ġfer til", + "Ġfert il", + "* /ĊĊĊ", + "*/ ĊĊĊ", + "*/Ċ ĊĊ", + "*/ĊĊ Ċ", + "Ġ Shar", + "ĠS har", + "ĠSh ar", + "ĠSha r", + "Ċ ĠĠĠĠĠĠĊ", + "Ġunc ertain", + "Ġuncert ain", + "ĠS ton", + "ĠSt on", + "ĠSto n", + "Oper ations", + "Operation s", + "ĠSp encer", + "Ġde fin", + "Ġdef in", + "Ġ Solo", + "ĠS olo", + "ĠSo lo", + "ĠSol o", + "o nest", + "on est", + "one st", + "ones t", + "·» åĬł", + "Ġu omo", + "Ġuom o", + "G ive", + "Gi ve", + "Ġden tro", + "Ġdent ro", + "; padding", + ";p adding", + "ent ai", + "enta i", + "Ġ Cars", + "ĠC ars", + "ĠCar s", + "ĠCa rs", + "Ġenthus iasm", + "Ġenthusi asm", + "Ġ Operating", + "ĠOper ating", + "ĠOpera ting", + "S kip", + "Sk ip", + "par ation", + "pa ration", + "para tion", + "Ġprot ects", + "Ġprote cts", + "Ġprotect s", + "Ġre ver", + "Ġr ever", + "Ġrev er", + "Ġreve r", + "d g", + "ĠC incinnati", + "Ġconsect etur", + "Ġm uss", + "Ġmus s", + "Ġmu ss", + "employ ed", + "a uses", + "au ses", + "ause s", + "aus es", + "in kle", + "ink le", + ". Values", + ".Value s", + ".Val ues", + "£ ¼", + "l ov", + "lo v", + "_ WARN", + "_W ARN", + "Ġ bookmark", + "Ġbook mark", + "Ġ Apollo", + "ĠA pollo", + "ĠAp ollo", + ". axis", + ".a xis", + ".ax is", + "Ġm ét", + "Ġmé t", + "Ġop ener", + "Ġopen er", + "Ġt umor", + "Ġtu mor", + "Ġtum or", + "d an", + "da n", + "Ġelement ary", + "Ġsk ipped", + "Ġskip ped", + "Ġski pped", + "ĠK er", + "ĠKe r", + "as ia", + "asi a", + "_ resp", + "_re sp", + "_r esp", + "_res p", + "Ġde mol", + "Ġdem ol", + "Ġdemo l", + "ĠCan adians", + "ĠCanadian s", + "Ġt astes", + "Ġtaste s", + "Ġtas tes", + "Ġtast es", + "U Integer", + "UInt eger", + "Ġ' ${", + "Ġ'$ {", + ". aws", + ".a ws", + ".aw s", + "R OID", + "RO ID", + "ROI D", + "r ians", + "ri ans", + "ria ns", + "rian s", + "M Q", + "ord able", + "orda ble", + "Ġcou sin", + "Ġcous in", + "Prop agation", + "( Session", + "(S ession", + "p halt", + "ph alt", + "pha lt", + "U LD", + "UL D", + "Ġ Scalar", + "ĠS calar", + "ĠSc alar", + "ĠScala r", + "ĠScal ar", + "Ġblood y", + "Ġblo ody", + "Ġ à¦", + "Ġà ¦", + ". mask", + ".m ask", + ".mas k", + ".ma sk", + ", q", + "Ġ Units", + "ĠUn its", + "ĠUnit s", + "ĠUni ts", + "Ġcent res", + "Ġcentre s", + "Ġcentr es", + "Ġcen tres", + "Ġ Prim", + "ĠP rim", + "ĠPr im", + "ĠPri m", + ". ]ĊĊ", + ".] ĊĊ", + "ĠSh aw", + "ĠSha w", + "P rom", + "Pro m", + "Pr om", + "Ġ Thought", + "ĠTh ought", + "ĠThough t", + "ĠThou ght", + "Check er", + "Che cker", + "_ outputs", + "_out puts", + "_output s", + "( chan", + "(c han", + "(ch an", + "E INVAL", + "Ġ bob", + "Ġb ob", + "Ġbo b", + "_ cmp", + "_c mp", + "_cm p", + "P ed", + "Pe d", + "Ġmat rices", + "Ġvrou wen", + "Ġvrouw en", + "Ġgenu inely", + "Ġgenuine ly", + "high light", + "( display", + "(d isplay", + "(dis play", + ") !=", + ")! =", + "Ġde licate", + "Ġdel icate", + "Ġdelic ate", + "ĠL uther", + "ĠLu ther", + "ĠM iles", + "ĠMil es", + "ĠMi les", + "ĠMile s", + "Ġ userID", + "Ġuser ID", + "% =", + "at eurs", + "ate urs", + "ateur s", + "_ BUF", + "_B UF", + "_BU F", + "- ------Ċ", + "-- -----Ċ", + "---- ---Ċ", + "--- ----Ċ", + "----- --Ċ", + "------ -Ċ", + "------- Ċ", + "im itives", + "imit ives", + "imitive s", + "Ġsh elves", + "Ġshel ves", + "s low", + "sl ow", + "_ information", + "_in formation", + "L EG", + "LE G", + "W r", + ". forms", + ".for ms", + ".form s", + "c eland", + "ce land", + "cel and", + "cela nd", + "/ un", + "/u n", + ": &", + ". âĢĻĊĊ", + ".âĢĻ ĊĊ", + "= \"%", + "=\" %", + "Ġp rost", + "Ġpro st", + "Ġpr ost", + "Ġpros t", + "Ġ fontsize", + "Ġfont size", + "Ġfonts ize", + "u ción", + "uc ión", + "uci ón", + "g etic", + "get ic", + "ge tic", + "a mt", + "am t", + "= \".", + "=\" .", + "De cor", + "Dec or", + "B rit", + "Br it", + "Ġ\" \").", + "Ġ\"\" ).", + "Ġ\"\") .", + "Ġf ounding", + "Ġfound ing", + "Ġfo unding", + ". FileName", + ".File Name", + "Ġ Tier", + "ĠT ier", + "ĠTi er", + "ĠTie r", + "Ġdis close", + "Ġdisc lose", + "á m", + ". syn", + ".s yn", + ".sy n", + ". ViewHolder", + ".View Holder", + "lic ant", + "li cant", + "lica nt", + "_ stage", + "_st age", + "_sta ge", + "Mon day", + "Ġ deserialize", + "Ġde serialize", + "Ġdes erialize", + "t alk", + "ta lk", + "tal k", + "Ġtrad itionally", + "Ġtraditional ly", + "Ġtradition ally", + "æĢ ģ", + "Ø ®", + "L EX", + "LE X", + "Ġ eh", + "Ġe h", + "ĉ ROM", + "ĉR OM", + "Ġ {})Ċ", + "Ġ{ })Ċ", + "Ġ{} )Ċ", + "Ġ{}) Ċ", + "Question s", + "Quest ions", + "n cpy", + "nc py", + "Ġfix ing", + "Ġfi xing", + "к Ñĥ", + "_ Key", + "_K ey", + ": x", + "Ġ STRING", + "ĠST RING", + "ĠSTR ING", + "ĠÑĦ ай", + "ĉ left", + "ĉl eft", + "ĠB ench", + "ĠBen ch", + "el lij", + "ell ij", + "elli j", + "UR RED", + "URRE D", + "Ġ Diagram", + "ĠDi agram", + "ĠDia gram", + "} catch", + "/ time", + "/t ime", + "Ġ Missing", + "ĠM issing", + "ĠMiss ing", + "ĠMis sing", + "db name", + "Ġs ore", + "Ġso re", + "Ġsor e", + "ĠW alt", + "ĠWal t", + "ĠWa lt", + "ug ging", + "ugg ing", + "re present", + "rep resent", + "Ġ GS", + "ĠG S", + "ne ys", + "ney s", + "ĉ page", + "ĉp age", + "Ġvol can", + "( btn", + "(b tn", + "(bt n", + "Ġexceed s", + "Ġexce eds", + "Ġ erg", + "Ġe rg", + "Ġer g", + "Ġpi lots", + "Ġpil ots", + "Ġpilot s", + "ĠS ed", + "ĠSe d", + "ers ions", + "ersion s", + "Ġp atron", + "Ġpat ron", + "Ġpa tron", + "R V", + "/ top", + "/t op", + "/to p", + ". asset", + ".as set", + "_ cross", + "_c ross", + "_cr oss", + ". Editor", + ".E ditor", + ".Edit or", + ".Ed itor", + ". tb", + ".t b", + "Ġwel coming", + "S CREEN", + "SC REEN", + ") findViewById", + "C oder", + "Code r", + "Co der", + "Cod er", + " \",Ċ", + ">\" ,Ċ", + ">\", Ċ", + "_ Pin", + "_P in", + "u ese", + "ue se", + "ues e", + "Ġ overrides", + "Ġover rides", + "Ġoverride s", + "_ ready", + "_re ady", + "_read y", + "Ad vanced", + "Adv anced", + "Advance d", + "Ġ opi", + "Ġo pi", + "Ġop i", + "- cart", + "-c art", + "-car t", + "-ca rt", + "(\" /\",", + "(\"/ \",", + "ĠD eb", + "ĠDe b", + "C RY", + "CR Y", + "Ġ Vertical", + "ĠVer tical", + "ĠVert ical", + "Ġ OVER", + "ĠO VER", + "ĠOV ER", + "Ġ Corporate", + "ĠCor porate", + "ĠCorpor ate", + "ĠCorp orate", + "Ġ\" \";", + "Ġ\"\" ;", + "Ġstep ping", + "Ġste pping", + "e j", + "Ġaccus ations", + "Ġaccusation s", + "Ġo raz", + "Ġor az", + "Ġora z", + "_ tail", + "_t ail", + "_ta il", + "Ġin duced", + "Ġind uced", + "Ġindu ced", + "Ġinduce d", + "Ġ elastic", + "Ġe lastic", + "Ġel astic", + "Ġelast ic", + "Ġbl own", + "Ġblow n", + "Ġblo wn", + ", //", + ",/ /", + "Ġback grounds", + "Ġbackground s", + "âĢĻ une", + "âĢĻun e", + "- sdk", + "-s dk", + "Ġset Interval", + "Ġincent ives", + "Ġincentive s", + "Ġincentiv es", + "Ġveget able", + "Ġveg etable", + "_ On", + "_O n", + "exp anded", + "expand ed", + "p ix", + "pi x", + "_ shader", + "_sh ader", + "_sha der", + "ĠSP DX", + "ĠSPD X", + "@ example", + "Ġ Wrapper", + "ĠW rapper", + "ĠWr apper", + "ĠWrap per", + ". Zero", + ".Z ero", + "Pos itive", + "Ġ spinner", + "Ġsp inner", + "Ġspin ner", + "Ġin vented", + "Ġinv ented", + "Ġinvent ed", + "ĠG ates", + "ĠGa tes", + "ĠGate s", + "ĠGat es", + "о ÑĤоÑĢ", + "оÑĤ оÑĢ", + "оÑĤо ÑĢ", + "Ġcompar isons", + "Ġcomparison s", + "è ·", + ". primary", + ".pr imary", + "data Provider", + "add itional", + "ĉ options", + "ĉo ptions", + "ĉopt ions", + "ĉoption s", + "s napshot", + "snap shot", + ".set Horizontal", + "Ġ\" {}", + "Ġ\"{ }", + "ĠF isher", + "ĠFish er", + "ĠFi sher", + "h alten", + "hal ten", + "halt en", + "< Type", + "", + "Ġ) ->", + "Ġ Registered", + "ĠRegister ed", + "IN ED", + "INE D", + "k al", + "ka l", + "par ison", + "Ġobj eto", + "Ġobjet o", + "V i", + "m anda", + "man da", + "ma nda", + "mand a", + "Ġren ewed", + "Ġrenew ed", + "ĠS of", + "ĠSo f", + "e ssel", + "es sel", + "ess el", + "esse l", + ".nd array", + "Ġ crap", + "Ġc rap", + "Ġcr ap", + "Ġcra p", + "ç® ¡", + ".abs path", + ".ab spath", + "( up", + "(u p", + "Ġclear ance", + "Ġ TW", + "ĠT W", + "_ COPY", + "_C OPY", + "_CO PY", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĉ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠĠĠ Ġĉ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĉ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĉ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĉ", + "Ġfor ests", + "Ġfore sts", + "Ġforest s", + "Ġfores ts", + "Ġarg uably", + "Ġ ASS", + "ĠA SS", + "ĠAS S", + "h ey", + "he y", + "a mel", + "am el", + "ame l", + "_ fore", + "_f ore", + "_for e", + "ĠSouth east", + "ĠSou theast", + "Ġab used", + "Ġabuse d", + "Ġpract icing", + "ake dirs", + "aked irs", + "ä¸ »", + "_ resources", + "_re sources", + "_res ources", + "_resource s", + "Ġ pond", + "Ġp ond", + "Ġpo nd", + "Ġpon d", + ". Fixed", + ".F ixed", + "Last Error", + "ĠPsych ology", + "ĠPsycho logy", + "Ġ\" //", + "Ġ\"/ /", + "! :", + "Re usable", + "Ġ mensaje", + "Ġm ensaje", + "Ġmens aje", + "Ġro spy", + "Ġros py", + "Ġ bour", + "Ġb our", + "Ġbo ur", + "Ġbou r", + "Ġvar ieties", + "Ġvari eties", + "Ġem path", + "Ġemp ath", + "( ({", + "(( {", + "_ org", + "_or g", + "_o rg", + "Ġ Mes", + "ĠM es", + "ĠMe s", + "Ġ Magento", + "ĠM agento", + "ĠMag ento", + "IST ORY", + "Un less", + "Ġh j", + "ĠD uty", + "ĠDu ty", + "ĠDut y", + "J un", + "Ju n", + ", size", + ",s ize", + "Ġpaint ings", + "Ġpain tings", + "Ġpainting s", + "Ġd ispens", + "Ġdisp ens", + "d art", + "da rt", + "dar t", + "Ġbehavior al", + "Ġ rpc", + "Ġr pc", + "Ġrp c", + "c alculate", + "cal culate", + "calc ulate", + "calcul ate", + "f ruit", + "fr uit", + "_ mm", + "_m m", + "ĉ pthread", + "ĉp thread", + "ĉpt hread", + "Max Length", + "Ġc urrencies", + "Ġcurr encies", + "_ capacity", + "_cap acity", + "ĠO z", + "Ġfire arm", + "Ġco efficient", + "Ġcoeff icient", + "Ġbank ruptcy", + "Ġbankrupt cy", + "w art", + "wa rt", + "war t", + "Ġfat igue", + "A VA", + "AV A", + "Ġe spa", + "Ġes pa", + "Ġesp a", + "_ pc", + "_p c", + "Ġ Quotes", + "ĠQu otes", + "ĠQuote s", + "_ LIGHT", + "_L IGHT", + "Ġ Tickets", + "ĠT ickets", + "ĠTicket s", + "ĠTick ets", + "Ġre lates", + "Ġrel ates", + "Ġrelate s", + "Ġrelat es", + "Ġpublish ers", + "Ġpublisher s", + "Ġun locked", + "Ġunlock ed", + "Ġunl ocked", + "Ġ //----------------------------------------------------------------", + "Ġ// ----------------------------------------------------------------", + "Ġ//------------------------------------------------ ----------------", + "Ġ//-------------------------------- --------------------------------", + "Ġ//---------------- ------------------------------------------------", + "Ġ InterruptedException", + "ĠInterrupt edException", + "Ġout look", + "r n", + "Ġreb els", + "Ġrebel s", + "W ritten", + "Wr itten", + "Ġa sian", + "Ġas ian", + "Ġasi an", + "Ġasia n", + "ot to", + "ott o", + "Ġ ĉĉĉĉ", + "Ġĉ ĉĉĉ", + "Ġĉĉ ĉĉ", + "Ġĉĉĉ ĉ", + "_ gpu", + "_g pu", + "_gp u", + "T xt", + "Tx t", + ". ImageView", + ".Image View", + "Ġs uis", + "Ġsu is", + "Ġsui s", + "_ tables", + "_t ables", + "_table s", + "_tab les", + "_ta bles", + ". RecyclerView", + ".Rec yclerView", + "Ġwhat soever", + "è ģ", + "] ++;Ċ", + "assert True", + "_ verify", + "_ver ify", + "ĠR ivers", + "ĠRiver s", + "ĠRiv ers", + "ĠRi vers", + "Ġ ][", + "Ġ] [", + "J et", + "Je t", + "id ian", + "idi an", + "idia n", + "S ibling", + "Si bling", + "Ġ genres", + "Ġgen res", + "Ġgenre s", + ". Access", + ".A ccess", + ".Ac cess", + ".Acc ess", + "O PS", + "OP S", + "Ġtr ivial", + "Ġtrivia l", + "ภª", + "a len", + "al en", + "ale n", + "в ед", + "ве д", + "ĠS word", + "ĠSw ord", + "Ġscrut iny", + "Ġscrutin y", + "( cb", + "(c b", + "Ġ commerce", + "Ġcom merce", + "Ġcomm erce", + "Ġcommerc e", + "Ġguarante es", + "Ġguarantee s", + "_ adv", + "_a dv", + "_ad v", + "Ġ LET", + "ĠL ET", + "ĠLE T", + "re cio", + "rec io", + "Ġh ilar", + "Ġhi lar", + "Ġhil ar", + "Ġback yard", + "ãĢ ı", + "Ġillustr ated", + "Ġillustrate d", + "Ġillust rated", + "/ vendor", + "/v endor", + ". Util", + ".U til", + "Ġ wow", + "Ġw ow", + "Ġwo w", + "LO Y", + "Ġ Marshal", + "ĠM arshal", + "ĠMar shal", + "ĠMars hal", + "ĠMarsh al", + "\" >'.$", + "\"> '.$", + "\">' .$", + "\">'. $", + "ĠB ak", + "ĠBa k", + "Ġ modifiers", + "Ġmod ifiers", + "Ġmodifier s", + "d ictionary", + "ĠS tre", + "ĠSt re", + "ĠStr e", + "m ultiple", + "mult iple", + "multi ple", + "multip le", + "\" )),", + "\") ),", + "\")) ,", + "ĠC ort", + "ĠCo rt", + "ĠCor t", + "' ]\").", + "'] \").", + "( admin", + "(ad min", + "Ġ Creator", + "ĠC reator", + "ĠCre ator", + "ĠCreat or", + "In ternet", + "Int ernet", + "Inter net", + "Intern et", + "( ms", + "(m s", + "l ogy", + "lo gy", + "log y", + "DECL ARE", + "Ġ Marcus", + "ĠMar cus", + "ĠMarc us", + "< <<<", + "<< <<", + "<<< <", + "ãģ ł", + "_ my", + "_m y", + "( inst", + "(i nst", + "(in st", + "(ins t", + "Ġsc iences", + "Ġscience s", + "Ġsci ences", + "N DER", + "ND ER", + ". enter", + ".en ter", + ".ent er", + "Ġ itu", + "Ġit u", + "Ġi tu", + "Ġbe have", + "Ġbeh ave", + "P an", + "Pa n", + "om bies", + "omb ies", + "ombie s", + "= '<", + "=' <", + "' ));čĊ", + "') );čĊ", + "')) ;čĊ", + "')); čĊ", + "Ġ MENU", + "ĠM ENU", + "ĠME NU", + "ĠMEN U", + "Ġ Workers", + "ĠWork ers", + "ĠWorker s", + "ĠWor kers", + ".No Error", + "Ġ bindings", + "Ġbin dings", + "Ġbind ings", + "Ġbinding s", + "Ġdis abilities", + "{ \\", + "ĠM unicip", + "ĠMun icip", + "Ġ cores", + "Ġc ores", + "Ġco res", + "Ġcor es", + "Ġcore s", + "ur ple", + "ĠN okia", + "us ions", + "usion s", + "usi ons", + "Ġ Fitness", + "ĠF itness", + "ĠFit ness", + ". handleChange", + ".handle Change", + "Ġ javascript", + "Ġj avascript", + "Ġjav ascript", + "Ġjava script", + "ìļ Ķ", + "( dec", + "(d ec", + "(de c", + "Ġ packing", + "Ġp acking", + "Ġpack ing", + "Ġpac king", + "- depend", + "-d epend", + "-de pend", + "Ġtrans cript", + "Ġtran script", + "z eros", + "ze ros", + "zer os", + "zero s", + "_ alert", + "_al ert", + "? \",Ċ", + "?\" ,Ċ", + "?\", Ċ", + "l ibs", + "li bs", + "lib s", + "± оÑĤ", + "Ġ |ĊĊ", + "Ġ| ĊĊ", + "Ġ|Ċ Ċ", + "tr ained", + "tra ined", + "train ed", + "ĠG ent", + "ĠGe nt", + "ĠGen t", + "ĠR ab", + "ĠRa b", + "x p", + "_ configuration", + "_config uration", + "å¤ ©", + "_ accept", + "_ac cept", + "_acc ept", + ".rec yclerview", + ": url", + "ĠMu hammad", + "ĠMuham mad", + "Ġpriv ileges", + "Ġprivile ges", + "Ġprivilege s", + "_ bank", + "_b ank", + "u ku", + "uk u", + "w allet", + "wall et", + "wal let", + "Ġ ROOT", + "ĠR OOT", + "ĠRO OT", + "Ġenc uent", + "? family", + "?f amily", + "ĉ position", + "ĉp osition", + "ĉpos ition", + "Ġ cg", + "Ġc g", + "Ġpre cip", + "Ġprec ip", + "method s", + "meth ods", + "_ fast", + "_f ast", + "_fa st", + "in crement", + "inc rement", + "incre ment", + "incr ement", + "ĠT iger", + "ĠTi ger", + "ĠTig er", + "_OCC URRED", + "qu ip", + "qui p", + "Ġ HAS", + "ĠH AS", + "ĠHA S", + "_ dom", + "_d om", + "_do m", + "Ġw reck", + "Ġwr eck", + "Ġwre ck", + "b j", + "Ġd ern", + "Ġde rn", + "Ġder n", + "Ġorg ans", + "Ġorgan s", + ". entries", + ".en tries", + ".ent ries", + "Ġ _('", + "Ġ_ ('", + "Ġ_( '", + "r amento", + "ram ento", + "Ġ Jamie", + "ĠJam ie", + "ĠJa mie", + "Ġ punk", + "Ġp unk", + "Ġpun k", + "Ġpu nk", + "I PP", + "IP P", + "Ġprogram a", + "Ġprog rama", + "Ġat tain", + "Ġatt ain", + "Ġpro ves", + "Ġpr oves", + "Ġprov es", + "Ġprove s", + "/ sign", + "/s ign", + "Ġanswer ing", + "Ġl adder", + "Ġlad der", + "**** ************************", + "******** ********************", + "**************** ************", + "************************ ****", + "******************** ********", + "************ ****************", + "************** **************", + "ĠW almart", + "ĠWal mart", + "Ġ CONTENT", + "ĠCONT ENT", + "d uctor", + "du ctor", + "duct or", + "duc tor", + "Ġver bal", + "Ġverb al", + "Ġ PID", + "ĠP ID", + "ĠPI D", + "c rypto", + "crypt o", + "cry pto", + "_CALL BACK", + "Ġ= ================================", + "Ġ================= ================", + "Ġp otent", + "Ġpo tent", + "Ġpot ent", + "Ġsh orts", + "Ġshort s", + "Ġsho rts", + ". Uri", + ".U ri", + ". uniform", + ".un iform", + ".uni form", + "; border", + ";b order", + "Ġ Wer", + "ĠW er", + "ĠWe r", + "Ġher ein", + "Ġhere in", + "l la", + "ll a", + "ĠI hr", + "ĠIh r", + "P ixmap", + "Pix map", + "l iteral", + "lit eral", + "lite ral", + "liter al", + "! )ĊĊ", + "!) ĊĊ", + "!)Ċ Ċ", + "g eneric", + "gen eric", + "gener ic", + "gene ric", + "r ust", + "ru st", + "rus t", + "_ scripts", + "_s cripts", + "_script s", + "o sto", + "os to", + "ost o", + "it us", + "itu s", + "ĠCoal ition", + "Ġre mot", + "Ġrem ot", + "de ploy", + "dep loy", + "ĠE agle", + "ĠEag le", + "ĠEa gle", + "ãĢģ ãĢĮ", + "Ġimport ante", + "Ġimportant e", + "ĉ object", + "ĉo bject", + "ĉobj ect", + "ĉob ject", + "Ġseason al", + "Ġseas onal", + "n ej", + "ne j", + "ai du", + "aid u", + "Bind View", + "ĠSi erra", + "- bg", + "-b g", + "Ġmake Styles", + "[ offset", + "[o ffset", + "G ames", + "Game s", + "Gam es", + "Ga mes", + "Ġhorm one", + "AR IO", + "ARI O", + "he ads", + "head s", + "hea ds", + "( select", + "(s elect", + "(se lect", + "(sel ect", + "Ġ Started", + "ĠStart ed", + "ĠStar ted", + "@ param", + "_ decl", + "_de cl", + "_dec l", + "_ blog", + "_b log", + "_bl og", + "Ġa ño", + "Ġañ o", + "\\ Api", + "ĠMil waukee", + "Pro vid", + "Pr ovid", + "Prov id", + "An imated", + "Anim ated", + "Animate d", + "Ġco oler", + "Ġcool er", + "Ġ Seed", + "ĠS eed", + "ĠSe ed", + "ĠSee d", + ". Edit", + ".E dit", + ".Ed it", + "Ï Ħ", + "Ġ Taking", + "ĠT aking", + "ĠTa king", + "ĠTak ing", + "Ġborder Color", + "-f ounder", + "-found er", + ".Logger Factory", + "Ġ\" \"ĊĊ", + "Ġ\"\" ĊĊ", + "Ġ\"\"Ċ Ċ", + "A LT", + "AL T", + "Ġ Late", + "ĠL ate", + "ĠLa te", + "ĠLat e", + "EDI ATE", + "EDIA TE", + "Ġ );ĊĊĊ", + "Ġ) ;ĊĊĊ", + "Ġ);Ċ ĊĊ", + "Ġ);ĊĊ Ċ", + "Ġ); ĊĊĊ", + "a fa", + "af a", + "Ġc ancellation", + "Ġcancel lation", + "Ġcancell ation", + "Ġcanc ellation", + "A tom", + "At om", + "ĠB irmingham", + "emp resa", + "empre sa", + "H EMA", + "HE MA", + "a scal", + "as cal", + "asc al", + "asca l", + "Ġup side", + "Ġups ide", + ". Version", + ".V ersion", + "Ġ Folder", + "ĠF older", + "ĠFo lder", + "ĠFol der", + "ĠFold er", + "Ġ Eight", + "ĠE ight", + "ĠEig ht", + "Ġ Vintage", + "ĠV intage", + "Ġ AppDelegate", + "ĠApp Delegate", + "ĠPre vention", + "ĠPrevent ion", + "ĠPrev ention", + ". separator", + ".s eparator", + ".se parator", + "S TM", + "ST M", + "( room", + "(r oom", + "(ro om", + "g enerator", + "gen erator", + "gener ator", + "Ġc attle", + "Ġcat tle", + "ĉ Z", + "Ġ Particle", + "ĠP article", + "ĠPart icle", + "ĠParti cle", + "' };Ċ", + "'} ;Ċ", + "Ġne ighbours", + "Ġneighb ours", + "Ġneighbour s", + "ĠState less", + "ĠStat eless", + "Ġ altitude", + "Ġalt itude", + "Ġs aint", + "Ġsa int", + "Ġsai nt", + "о бав", + "об ав", + "оба в", + "Ġcon vinc", + "Ġconv inc", + "Ġconvin c", + "Ġ Contents", + "ĠCont ents", + "ĠContent s", + "ĠConte nts", + "Ġje une", + "Ġjeu ne", + "( ts", + "(t s", + "S erialization", + "Serial ization", + "( collection", + "(c ollection", + "(col lection", + "(coll ection", + "ĠJ azz", + "ĠJa zz", + "Ġ Dod", + "ĠD od", + "ĠDo d", + "ĠR och", + "ĠRo ch", + "ĠRoc h", + "a cio", + "ac io", + "aci o", + "comm ended", + "commend ed", + "DE FINE", + "DEF INE", + ".on load", + "Ġspecial ty", + "Ġspeci alty", + "PL ACE", + "_ MOVE", + "_M OVE", + "_MO VE", + "_MOV E", + "Ġaccount able", + "Re uters", + "Ġf icken", + "Ġfi cken", + "Ġfic ken", + "Ġfick en", + "Ġde pr", + "Ġdep r", + "W ow", + "Wo w", + "V oid", + "Vo id", + ". space", + ".s pace", + ".sp ace", + "ภĹ", + "Ġt q", + "Ġ Pets", + "ĠP ets", + "ĠPe ts", + "ĠPet s", + "< $", + "( Current", + "(C urrent", + "ber ries", + "plan ation", + "pla nation", + "Ġlist Of", + "Ġ Thu", + "ĠT hu", + "ĠTh u", + "Ġ PRINT", + "ĠPR INT", + "ĠPRI NT", + "Ġm ismo", + "Ġmis mo", + "Ġmism o", + "Ġ doi", + "Ġd oi", + "Ġdo i", + "c hk", + "ch k", + "Ġ Unicode", + "ĠUn icode", + "ĠUni code", + "( role", + "(r ole", + "(ro le", + "Ġvir gin", + "< Point", + "

-->Ċ", + ">- ->Ċ", + ">-- >Ċ", + "V ol", + "Vo l", + "ĠS SD", + "ĠSS D", + ") )),", + ")) ),", + "))) ,", + ". Optional", + ".Option al", + "Ġn urses", + "Ġnur ses", + "Ġnurs es", + "Ġnurse s", + "Ġ orb", + "Ġo rb", + "Ġor b", + "_ pe", + "_p e", + ") ;čĊčĊčĊ", + ");čĊ čĊčĊ", + "); čĊčĊčĊ", + ");čĊčĊ čĊ", + "pl aced", + "place d", + "pla ced", + "es ser", + "ess er", + "esse r", + "Ġther apeutic", + "Ġwh itespace", + "Ġwhite space", + "Ġwhites pace", + "Ġ aston", + "Ġa ston", + "Ġas ton", + "Ġast on", + "Success ful", + "Ġp raised", + "Ġpr aised", + "Ġpraise d", + "Ġpra ised", + "ĠW es", + "ĠWe s", + "Ġe ighth", + "Ġeight h", + "i ral", + "ir al", + "ira l", + "Ġv rouw", + "Ġvrou w", + "Ġ faction", + "Ġf action", + "Ġfact ion", + "Ġfa ction", + "Ġfac tion", + "_ bias", + "_b ias", + "_bi as", + "Ġ witch", + "Ġw itch", + "Ġwit ch", + "Ġ npc", + "Ġn pc", + "Ġnp c", + "( sb", + "(s b", + "ĠRod rig", + "ĠRodr ig", + "_ big", + "_b ig", + "_bi g", + "D ependency", + "Dep endency", + "ĠAb raham", + "ar di", + "ard i", + "C AR", + "CA R", + "n os", + "no s", + "Ġab undance", + "Ġabund ance", + "Ġnut rients", + "Ġnutrient s", + "in stein", + "ins tein", + "inst ein", + ". Vert", + ".V ert", + ".Ver t", + "Ġ ISS", + "ĠI SS", + "ĠIS S", + "< U", + "Ġs ums", + "Ġsu ms", + "Ġsum s", + "_ hist", + "_h ist", + "_hi st", + "Ġfar mer", + "Ġfarm er", + "Ġ Abr", + "ĠA br", + "ĠAb r", + "S hot", + "Sh ot", + "Ġ BadRequest", + "ĠBad Request", + "Ġh ass", + "Ġhas s", + "Ġha ss", + "Ġ Rails", + "ĠR ails", + "ĠRa ils", + "ĠRail s", + "ĠRai ls", + "Ġaff iliated", + "Ġaffili ated", + "Ġaffiliate d", + "æĿ ¥", + "Ġe rf", + "Ġer f", + "I NF", + "IN F", + "Ġ ViewHolder", + "ĠView Holder", + "m ini", + "min i", + "mi ni", + "ĠR oth", + "ĠRo th", + "ĠRot h", + "Ġfaith ful", + "ĠPhill ips", + "ĠPhillip s", + "AN DOM", + "AND OM", + "] .[", + "]. [", + "_ PAY", + "_P AY", + "_PA Y", + "ĠAr ctic", + "ĠArc tic", + "f aker", + "fa ker", + "fake r", + "fak er", + "D igit", + "Di git", + "Dig it", + "M ale", + "Ma le", + "Mal e", + "std err", + "se ys", + "sey s", + "Ġ Å¡", + "ĠÅ ¡", + "_ remote", + "_rem ote", + "l ique", + "li que", + "liqu e", + "Ġin def", + "Ġi ndef", + "Ġind ef", + "Ġinde f", + "ĠIndust ries", + "i tra", + "it ra", + "itr a", + "_ pairs", + "_p airs", + "_pair s", + "_pa irs", + "< iostream", + " D", + "Ġs ervlet", + "Ġserv let", + "bast ian", + "Ġ >&", + "Ġ> &", + "S ID", + "SI D", + "_ clk", + "_c lk", + "_cl k", + "Ġdi visions", + "Ġdiv isions", + "Ġdivision s", + "Ġdivis ions", + "} ',Ċ", + "}' ,Ċ", + "}', Ċ", + "Ġd ildo", + "Ġdil do", + "Ġpar ade", + "Ġpara de", + "Ġpa rade", + "Ġparad e", + "m ajor", + "maj or", + "Ġa board", + "Ġab oard", + "; ++", + "Ġ fusion", + "Ġf usion", + "Ġfus ion", + "\" },{\"", + "\"} ,{\"", + "\"}, {\"", + "ĠDialog Result", + "ĉ arr", + "ĉa rr", + "ĉar r", + "- em", + "-e m", + "_ nr", + "_n r", + "( handler", + "(h andler", + "(handle r", + "(hand ler", + ". NET", + ".N ET", + ".Xtra Reports", + "ĠSh ah", + "ĠSha h", + "Ġ Brief", + "ĠB rief", + "ĠBr ief", + "ĠBri ef", + "- ,", + "Ġ precio", + "Ġp recio", + "Ġpre cio", + "Ġprec io", + "ĉ ĉĉĠĠĠĠĠĠ", + "ĉĉ ĉĠĠĠĠĠĠ", + "ĉĉĉ ĠĠĠĠĠĠ", + "ĉĉĉĠĠĠ ĠĠĠ", + "ĉĉĉĠ ĠĠĠĠĠ", + "ĉĉĉĠĠ ĠĠĠĠ", + "ĉĉĉĠĠĠĠ ĠĠ", + "ĉĉĉĠĠĠĠĠ Ġ", + "Ġ tant", + "Ġt ant", + "Ġta nt", + "Ġtan t", + "ĠGr ande", + "ĠGrand e", + "ĠGran de", + "ĠGra nde", + "/ xml", + "/x ml", + "_ ICON", + "_I CON", + "_IC ON", + "ĠR etro", + "ĠRe tro", + "ĠRet ro", + "un que", + "Ġn ag", + "Ġna g", + "to Fixed", + "X L", + "Ġ declaring", + "Ġdecl aring", + "Ġdeclar ing", + "Ġ Concrete", + "ĠCon crete", + "ĠConc rete", + "Ġ Amazing", + "ĠAm azing", + "ĠAma zing", + "ĉprint k", + "Ġdeb ates", + "Ġdebate s", + "D ATED", + "DA TED", + "DATE D", + "DAT ED", + "Ġa esthetic", + "Ġaest hetic", + "Ġaes thetic", + "eme tery", + "emet ery", + "Routing Module", + "ĠNash ville", + "W AYS", + "WA YS", + "WAY S", + "Ġ wolf", + "Ġw olf", + "Ġwo lf", + "Ġwol f", + "Ġob servers", + "Ġobs ervers", + "Ġobserv ers", + "Ġobserver s", + "Ġobserve rs", + "O TA", + "OT A", + "an son", + "ans on", + "Ġ ea", + "Ġe a", + "Ġgreen house", + "ĵį ä½ľ", + "Ġst air", + "Ġsta ir", + "Ġimm igrant", + "Ġimmigr ant", + "_ apply", + "_app ly", + "_ap ply", + "pe are", + "pear e", + "ĠB loomberg", + "ĠBloom berg", + "_ PLAYER", + "_PL AYER", + "_PLAY ER", + "R esp", + "Re sp", + "Res p", + "æŃ £", + "Choose r", + "Cho oser", + "Ġ ICollection", + "ĠI Collection", + "ĠIC ollection", + "P eter", + "Pe ter", + "Pet er", + "Err o", + "Er ro", + ".detect Changes", + "M aps", + "Map s", + "Ma ps", + "Ġ squeeze", + "Ġs queeze", + "Ġsqueez e", + "ĠH omes", + "ĠHome s", + "ĠHom es", + "ĠHo mes", + "weg ian", + "Ġformat ting", + "Ġnegot iate", + "u ld", + "ul d", + "ĠN ep", + "ĠNe p", + "Ġ QB", + "ĠQ B", + "Ġeconom ies", + "Ġec onomies", + "Ġ */,", + "Ġ* /,", + "Ġ*/ ,", + "Ġred und", + "Ġredu nd", + "ĠA ber", + "ĠAb er", + "ĠAbe r", + ".IsNullOr WhiteSpace", + "yc led", + "ycle d", + "ycl ed", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "_ Sh", + "_S h", + "Ġs kept", + "Ġsk ept", + "Ġske pt", + "Ġre created", + "Ġrec reated", + "Ġrecre ated", + "Ġrecreate d", + "Ġ getType", + "Ġget Type", + "Ġm argins", + "Ġmargin s", + "Ġmarg ins", + "Ġcolon ial", + "ch arts", + "char ts", + "cha rts", + "chart s", + "/ /@", + "// @", + "Ġ processors", + "Ġprocess ors", + "Ġprocessor s", + "Ġprocesso rs", + "è¯ ´", + "b atis", + "bat is", + "æĦ ı", + "at orio", + "ator io", + "ato rio", + "atori o", + "ment ioned", + "mention ed", + "P atient", + "Pat ient", + "Ġp rey", + "Ġpr ey", + "Ġpre y", + "Check box", + "_ xpath", + "_x path", + ". skip", + ".s kip", + ".sk ip", + "ĠMor mon", + "ĠMorm on", + "ĠMemory Stream", + "CR EMENT", + "CRE MENT", + "Ġ ku", + "Ġk u", + "m eld", + "me ld", + "mel d", + "\\ Data", + "\\D ata", + "Ġ Kernel", + "ĠK ernel", + "ĠKer nel", + "ĠKern el", + "i ltr", + "il tr", + "ilt r", + "éĢ ģ", + "( profile", + "(pro file", + "(pr ofile", + "C arbon", + "Car bon", + "R OLE", + "RO LE", + "ROL E", + "( pl", + "(p l", + "] *(", + "]* (", + ". memory", + ".m emory", + ".mem ory", + ".memo ry", + "Ġme dal", + "Ġmed al", + "Ġ advisor", + "Ġad visor", + "Ġadv isor", + "Ġadvis or", + "it ät", + "itä t", + "Ġ hdr", + "Ġh dr", + "Ġhd r", + "ie rung", + "ier ung", + "Ġ Provides", + "ĠPro vides", + "ĠProvid es", + "ĠProvide s", + "ĠProv ides", + "( alpha", + "(al pha", + "Ġteen agers", + "Ġteenager s", + "Ġteenage rs", + "- parser", + "-p arser", + "-par ser", + "-parse r", + ". LatLng", + ".L atLng", + "] ()Ċ", + "]( )Ċ", + "]() Ċ", + "Ġfel ony", + "Ġfelon y", + "ĉĉĉ ĊĉĉĉĊ", + "ĉĉĉĊ ĉĉĉĊ", + "B OOK", + "BO OK", + "Ġ slash", + "Ġs lash", + "Ġsl ash", + "Ġsla sh", + "Ġ clearfix", + "Ġclear fix", + "ĠPro phet", + "ĠProp het", + "å® ¹", + "right ness", + "- fi", + "-f i", + ". kind", + ".k ind", + "er ton", + "ert on", + "erto n", + "J im", + "Ġmanip ulate", + "Ġ worksheet", + "Ġwork sheet", + "Ġworks heet", + "o lin", + "ol in", + "oli n", + "st ars", + "star s", + "sta rs", + "Ġ artifact", + "Ġart ifact", + "_ EMPTY", + "_EM PTY", + "_EMP TY", + "ĉ main", + "ĉm ain", + "--- ---------- ';", + ">' ;", + "Ġexp ressing", + "Ġexpress ing", + "Ġexpres sing", + "Ġ IQ", + "ĠI Q", + "Ġ Fact", + "ĠF act", + "ĠFac t", + "ĠFa ct", + "/************************************************************************ *******Ċ", + "/**************************************************************************** ***Ċ", + "_ mass", + "_m ass", + "_ma ss", + "_mas s", + ") ):", + ")) :", + "Ġcon dom", + "Ġcond om", + "Ġcondo m", + "Ġcreate State", + "ome town", + "omet own", + "Ġi rr", + "Ġir r", + "Ġ >(", + "Ġ> (", + "> B", + "it eration", + "ite ration", + "iter ation", + "ãĥ ª", + "Ġsh irts", + "Ġshirt s", + "ou nty", + "ount y", + "oun ty", + "- >$", + "-> $", + "_ SIGN", + "_S IGN", + "_SIG N", + "_SI GN", + "ĠD ale", + "ĠDa le", + "ĠDal e", + "Ġ jj", + "Ġj j", + "E asy", + "F re", + "Fr e", + "Ġ Ny", + "ĠN y", + "Ġ chlor", + "Ġch lor", + "m atched", + "match ed", + "mat ched", + "ĠG erm", + "ĠGe rm", + "ĠGer m", + "- UA", + "-U A", + "ĠN athan", + "ĠNa than", + "ĠNat han", + "ĠNath an", + "e ducation", + "educ ation", + "edu cation", + "- yard", + "-y ard", + "- che", + "-c he", + "-ch e", + "h ouses", + "ho uses", + "house s", + "hou ses", + "r itional", + "rit ional", + "rition al", + "Ġpro ximity", + "Ġprox imity", + "Ġdie sem", + "Ġdies em", + "Ġdiese m", + "áºŃ p", + "Ġd rought", + "Ġdr ought", + "Ġdro ught", + ". audio", + ".a udio", + ".au dio", + "Ġ Leo", + "ĠL eo", + "ĠLe o", + "Ġfavor able", + "Ġfav orable", + "in ch", + "inc h", + "ĠD aw", + "ĠDa w", + "r ibly", + "rib ly", + "_ student", + "_st udent", + "id able", + "ida ble", + "O VE", + "OV E", + "Ġl acks", + "Ġla cks", + "Ġlack s", + "Ġlac ks", + "oun cing", + "ounc ing", + ". business", + ".b usiness", + ".bus iness", + "Ġ reopen", + "Ġre open", + "m aybe", + "may be", + "_ GLOBAL", + "_G LOBAL", + "Ġd resses", + "Ġdr esses", + "Ġdress es", + "ĠEd wards", + "ĠEdward s", + "ens ible", + "ensi ble", + "Ġ Hardware", + "ĠH ardware", + "ĠHard ware", + "Ġ Excellent", + "ĠEx cellent", + "ĠExcell ent", + "ĠTime Unit", + "CT IONS", + "CTION S", + "Ġs chedules", + "Ġsched ules", + "Ġschedule s", + "Ġ segue", + "Ġse gue", + "Ġseg ue", + "Ġsegu e", + "Open s", + "Op ens", + "am men", + "amm en", + "- Identifier", + "Ġst aring", + "Ġstar ing", + "Ġsta ring", + "Ġhapp ily", + "ĠH ob", + "ĠHo b", + "' _", + "Ġ \");", + "Ġ\" );", + "Ġ\") ;", + "ament os", + "amento s", + "amen tos", + "et ched", + "etch ed", + "etc hed", + "Ġ/ >}Ċ", + "Ġ/> }Ċ", + "Ġ/>} Ċ", + ". Users", + ".User s", + ".Use rs", + "Ġint errupted", + "Ġinter rupted", + "Ġinterrupt ed", + "Cont acts", + "Contact s", + "Conta cts", + "Ġ registro", + "Ġreg istro", + "Ġregistr o", + "Ġregist ro", + "in burgh", + "C HA", + "CH A", + "_ imp", + "_i mp", + "_im p", + "p his", + "ph is", + "phi s", + "s ay", + "sa y", + "Ġret ailer", + "Ġretail er", + ". NODE", + ".N ODE", + ".NO DE", + "/ maps", + "/m aps", + "/map s", + "_ LAST", + "_L AST", + "_LA ST", + "Ġ Charge", + "ĠCh arge", + "ĠChar ge", + "ĠCharg e", + "_ guard", + "_g uard", + "C ollider", + "Col lider", + "Coll ider", + "ĠStateless Widget", + "\" :[\"", + "\": [\"", + "\":[ \"", + "(\" ../../", + "(\"../ ../", + "(\".. /../", + "i oxide", + "iox ide", + "ioxid e", + "ĠS und", + "ĠSun d", + "ĠSu nd", + "Ġ' ';", + "Ġ'' ;", + "un set", + "uns et", + "add Widget", + "л Ñİ", + "el les", + "ell es", + "elle s", + "al ker", + "alk er", + "A rc", + "Ar c", + "Ġd educt", + "Ġde duct", + "Ġded uct", + "G UILayout", + "GUI Layout", + "ĠV illa", + "ĠVi lla", + "ĠVill a", + "ĠVil la", + "Ġfor bidden", + "Ġforb idden", + "Ġforbid den", + "_ where", + "_w here", + "_wh ere", + "Ġ \\/", + "Ġ\\ /", + "ĠT ib", + "ĠTi b", + "_ AX", + "_A X", + "] čĊčĊ", + "]čĊ čĊ", + "Ġ Bir", + "ĠB ir", + "ĠBi r", + "Ġb end", + "Ġbe nd", + "Ġben d", + "Ġ MAKE", + "ĠM AKE", + "ĠMA KE", + "ĠMAK E", + "Ġ MET", + "ĠM ET", + "ĠME T", + "Ġf utures", + "Ġfuture s", + "Ġfut ures", + "Ġfu tures", + "Ġ weighted", + "Ġwe ighted", + "Ġweight ed", + "Ġweigh ted", + "\"\" \"čĊ", + "\"\"\" čĊ", + "Ġ authorize", + "Ġauthor ize", + "( program", + "(p rogram", + "(pro gram", + "(pr ogram", + "(prog ram", + "} ,{\"", + "}, {\"", + "},{ \"", + "Ġcoeff icients", + "Ġcoefficient s", + "ê s", + "Per Page", + "ĠB athroom", + "ĠBath room", + "ĠPublish ing", + "G PL", + "GP L", + "Ġsub missions", + "Ġsubmission s", + "Ġ NUMBER", + "ĠNUM BER", + "ĠNU MBER", + "j Äħ", + "Ġadd itionally", + "Ġadditional ly", + "Ġaddition ally", + "em pre", + "emp re", + "ĠS hel", + "ĠSh el", + "ĠShe l", + "o typ", + "ot yp", + "oty p", + "S olution", + "Sol ution", + "Ġth under", + "Ġthu nder", + "_ ec", + "_e c", + "Ġ ĊĠĠĠĠĊ", + "ĠĊ ĠĠĠĠĊ", + "ĠF ellow", + "ĠFel low", + "ĠFell ow", + "Ġk ay", + "Ġka y", + "Ġnew State", + "ONT AL", + "Im plementation", + "Implement ation", + ". Look", + ".L ook", + ".Lo ok", + "Ġ ents", + "Ġe nts", + "Ġen ts", + "Ġent s", + "Ġl ors", + "Ġlo rs", + "Ġlor s", + "Ġ BIG", + "ĠB IG", + "ĠBI G", + "f ab", + "fa b", + "Ġaverage d", + "Ġaver aged", + "Ġ Feedback", + "ĠFe edback", + "ĠFeed back", + "ĠW ells", + "ĠWell s", + "ĠWel ls", + "Ġm artial", + "Ġmart ial", + "Ġind ul", + "Ġindu l", + "ĠComm unist", + "ĠCommun ist", + "ĠF orex", + "ĠFor ex", + "ĠFore x", + "ĠFo rex", + "ĠAgricult ure", + "ĠAgr iculture", + "\" [", + "Ġqu ar", + "Ġq uar", + "Ġqua r", + "ĠK ont", + "ĠKon t", + "ĠKo nt", + "ĉ view", + "ĉv iew", + ". Bytes", + ".Byte s", + ".By tes", + "d esktop", + "des ktop", + "desk top", + "Ġ Makes", + "ĠM akes", + "ĠMake s", + "ĠMa kes", + "ĠMak es", + "akes peare", + ". Nullable", + ".Null able", + "Ġspot light", + "V B", + "o wy", + "ow y", + "( torch", + "(t orch", + "(to rch", + "t ridge", + "tr idge", + "tri dge", + "_ bounds", + "_b ounds", + "_bound s", + "_bo unds", + "Ġapolog ize", + ". addItem", + ".add Item", + "an td", + "ant d", + "* );Ċ", + "*) ;Ċ", + ", u", + "( gen", + "(g en", + "ç» ĵ", + "re ator", + "reat or", + "rea tor", + "ĠC ord", + "ĠCo rd", + "ĠCor d", + "o upper", + "ou pper", + "oup per", + ". metro", + ".m etro", + ".me tro", + ".met ro", + "Ġ ew", + "Ġe w", + "Ġ WORD", + "ĠW ORD", + ". After", + ".A fter", + "Ġdet ained", + "Ġdetain ed", + "ĠH ammer", + "ĠHam mer", + "ĠHamm er", + "ex isting", + "exist ing", + "Ġ ost", + "Ġo st", + "Ġos t", + "Ġmon ument", + "- custom", + "-c ustom", + "User ID", + "Ġ Nom", + "ĠN om", + "ĠNo m", + "Ġre jection", + "Ġreject ion", + "Ġrej ection", + "( dim", + "(d im", + "(di m", + "Ġ singleton", + "Ġs ingleton", + "Ġsingle ton", + "Ġsing leton", + "ĉ die", + "ĉd ie", + "ar iance", + "ari ance", + "arian ce", + "aria nce", + "re ports", + "rep orts", + "report s", + "repo rts", + "] !=", + "e lda", + "el da", + "eld a", + "Ġpreval ence", + "_ regs", + "_re gs", + "_reg s", + ". \".", + ".\" .", + "Ġfemin ist", + "Code c", + "Co dec", + "Cod ec", + "Ġ **Ċ", + "Ġ* *Ċ", + "Ġ** Ċ", + "( labels", + "(label s", + "_ MARK", + "_M ARK", + "_MA RK", + "FA ILED", + "FAIL ED", + "Ġadminister ed", + "W N", + "ĠĠ ĠĠĠĠĠĠĉĉ", + "ĠĠĠĠ ĠĠĠĠĉĉ", + "ĠĠĠĠĠĠĠĠ ĉĉ", + "ĠĠĠĠĠĠĠ Ġĉĉ", + "ĠĠĠĠĠ ĠĠĠĉĉ", + "ĠĠĠĠĠĠ ĠĠĉĉ", + "ĠĠĠĠĠĠĠĠĉ ĉ", + "Ġ noun", + "Ġn oun", + "Ġno un", + "Ġnou n", + "w ig", + "wi g", + "Ġg otta", + "Ġgot ta", + "Ġ rif", + "Ġr if", + "Ġri f", + "- im", + "-i m", + "ĠPaul o", + "ĠPa ulo", + "ĠCommand Type", + "] ))ĊĊ", + "]) )ĊĊ", + "])) ĊĊ", + "]))Ċ Ċ", + "- zero", + "-z ero", + "Tr aining", + "Train ing", + "Tra ining", + "Ġ lord", + "Ġl ord", + "Ġlo rd", + "Ġlor d", + "_ art", + "_a rt", + "_ar t", + "re ddit", + "red dit", + "redd it", + "C ert", + "Ce rt", + "Ġp eso", + "Ġpe so", + "Ġpes o", + "R ot", + "Ro t", + "Ġen danger", + "Ġend anger", + ". dr", + ".d r", + "user Info", + "u nts", + "un ts", + "unt s", + "n v", + "ĠTr ailer", + "ĠTra iler", + "ĠTrail er", + "- first", + "-f irst", + "-fi rst", + "( make", + "(m ake", + "Ġbenef ici", + "- black", + "-b lack", + "-bl ack", + "i ÃŁ", + "Ġund oubtedly", + "Ġm ex", + "Ġme x", + "ĠAn cient", + "ĠAnc ient", + "( as", + "(a s", + "Ġdes cent", + "Ġdesc ent", + "P ick", + "Pic k", + "Pi ck", + "Ġrep lica", + "Ġrepl ica", + "Ġreplic a", + "$ obj", + "$o bj", + "ä hr", + "äh r", + "Ġar rows", + "Ġarr ows", + "Ġarrow s", + "f ty", + "ft y", + "ĠLib ya", + "u ga", + "ug a", + "ch arged", + "char ged", + "charge d", + "charg ed", + "T ur", + "Tu r", + "Ġh omic", + "Ġhom ic", + "Ġho mic", + "is sen", + "iss en", + "isse n", + "Ġ Fake", + "ĠF ake", + "ĠFa ke", + "ĠFak e", + "Ġbe ers", + "Ġbeer s", + "Ġbee rs", + "Ġsc attered", + "Ġscatter ed", + "( Time", + "(T ime", + "UT IL", + "Ġbureauc r", + "Ġbureau cr", + "/ plain", + "/p lain", + "/pl ain", + "Ġst icking", + "Ġstick ing", + "F AIL", + "FA IL", + "ĠC ovid", + "ĠCo vid", + "ĠCov id", + "Th ird", + "_ present", + "_p resent", + "_pre sent", + "_pres ent", + "ĠP ierre", + "ĠPi erre", + "ĠPier re", + "Ġ ëª", + "Ġë ª", + "Ġ[ ...]ĊĊ", + "Ġ[... ]ĊĊ", + "Ġ[...] ĊĊ", + "P rob", + "Pro b", + "Pr ob", + "Ġ Traffic", + "ĠTra ffic", + "ĠTraff ic", + "i cao", + "ic ao", + "ica o", + "do ctor", + "doc tor", + "Ġ ),ĊĊ", + "Ġ) ,ĊĊ", + "Ġ),Ċ Ċ", + "Ġ), ĊĊ", + "T abs", + "Tab s", + "Ta bs", + "a lu", + "al u", + "ï¼ļ âĢľ", + "Ġin herent", + "Ġinher ent", + "_ No", + "_N o", + "r itis", + "rit is", + "Ġ Proof", + "ĠP roof", + "ĠPro of", + ". basename", + ".b asename", + ".base name", + "ä¼ ļ", + "Ġc him", + "Ġch im", + "Ġchi m", + "Ġ Protected", + "ĠProt ected", + "ĠProtect ed", + "c rit", + "cri t", + "cr it", + "Ġp rone", + "Ġpro ne", + "Ġpr one", + "Ġpron e", + "Ġ кон", + "Ġк он", + "Ġко н", + "Ġ Heroes", + "ĠHer oes", + "ĠHero es", + "Ġan xious", + "Ġanx ious", + "Ġ anos", + "Ġa nos", + "Ġan os", + "Ġano s", + "Ġweek ends", + "Ġweekend s", + "Ġs ext", + "Ġse xt", + "Ġsex t", + "Ġre ducer", + "Ġred ucer", + "Ġredu cer", + "Ġreduce r", + "= UTF", + "h alf", + "ha lf", + "hal f", + "ĠS aw", + "ĠSa w", + ". mm", + ".m m", + "Ġn ueva", + "Ġnu eva", + "Ġnue va", + ".current Target", + ". lua", + ".l ua", + ".lu a", + "_EXT ENSION", + "ĉ reg", + "ĉr eg", + "ĉre g", + "Ġ Ctrl", + "ĠC trl", + "ĠCt rl", + "_ align", + "_al ign", + "accept able", + "Ġr ushing", + "Ġrush ing", + "f rac", + "fr ac", + "fra c", + "Ġbo asts", + "Ġboast s", + "Ġboa sts", + "F ive", + "Fi ve", + " ±", + "Ġ Temperature", + "ĠT emperature", + "ĠTem perature", + "ĠTemper ature", + "> ):", + ">) :", + "Ġch arter", + "Ġchar ter", + "Ġchart er", + "RE ATED", + "REATE D", + "REAT ED", + "REA TED", + "Ġsub jected", + "Ġsubject ed", + "Ġsubj ected", + "Ġ opc", + "Ġo pc", + "Ġop c", + "health y", + "使 ç͍", + "ĠScient ific", + "Ġ frau", + "Ġfr au", + "Ġfra u", + "ri ages", + "ria ges", + "riage s", + "ภĶ", + ". inventory", + ".in ventory", + "at ionale", + "ation ale", + "ational e", + "M ad", + "Ma d", + "min utes", + "minute s", + "> >();Ċ", + ">> ();Ċ", + ">>( );Ċ", + ">>() ;Ċ", + "Ġ Env", + "ĠE nv", + "ĠEn v", + "Ġrecord ings", + "Ġrecording s", + "Ġsusp icion", + "sql ite", + "sq lite", + "ĉ read", + "ĉr ead", + "ĉre ad", + "ãģ ¦", + "Ġwor ries", + ".put String", + "ĠSh anghai", + "( uid", + "(u id", + "(ui d", + "r er", + "re r", + "ĠvÃŃ de", + "\" ):", + "\") :", + "Ġmethod ology", + "Ġк оÑĤоÑĢ", + "Ġко ÑĤоÑĢ", + "ĠкоÑĤ оÑĢ", + "c cc", + "cc c", + "av ad", + "ava d", + "Ġin duction", + "Ġind uction", + "Ġindu ction", + "ĉ Thread", + "ĉT hread", + ", string", + ",s tring", + ",str ing", + ",st ring", + "ạ i", + "neh men", + "u ition", + "ui tion", + "uit ion", + "Ġ* __", + "Ġ*_ _", + ".e mf", + ".em f", + "Ġ ìľ", + "Ġì ľ", + "/ themes", + "/th emes", + "/theme s", + "/the mes", + "Ġ Nine", + "ĠN ine", + "ĠNi ne", + "ĠNin e", + ". One", + ".On e", + ".O ne", + "Ġ Embed", + "ĠEm bed", + "ĠEmb ed", + "Ġf az", + "Ġfa z", + "u ations", + "uation s", + "uat ions", + "Ġprivate ly", + "Ġpriv ately", + "Ġprivat ely", + "Ġ ling", + "Ġl ing", + "Ġli ng", + "Ġlin g", + "[ F", + "u shi", + "us hi", + "ush i", + "Ġlaunch es", + "( KEY", + "(K EY", + "G MT", + "GM T", + "Ġa iming", + "Ġaim ing", + "Ġai ming", + "pat ible", + "ĠB iden", + "ĠBi den", + "ĠBid en", + "i w", + "Ġ Degree", + "ĠD egree", + "ĠDe gree", + "ĠDeg ree", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "Ġ$ ('<", + "Ġ$( '<", + "Ġ$(' <", + "á rios", + "ário s", + "ár ios", + "to UpperCase", + "ìł ľ", + "Ġ EUR", + "ĠE UR", + "ĠEU R", + "Ġovers ight", + "Ġtable sp", + "Ġtables p", + "Up dates", + "Update s", + ".m akedirs", + ".make dirs", + "Ġ humidity", + "Ġh umidity", + "Ġhum idity", + "Ġhumid ity", + "/ template", + "/t emplate", + "/temp late", + "Al ways", + "( IS", + "(I S", + "_ cert", + "_c ert", + "_ce rt", + "D ig", + "Di g", + "Ġunder way", + "or ton", + "ort on", + "ĠHur ricane", + "Ġsp ends", + "Ġspe nds", + "Ġspend s", + "Ġ Segment", + "ĠS egment", + "ĠSe gment", + "ĠSeg ment", + "Ġ flies", + "Ġf lies", + "Ġfl ies", + "Ġ Toggle", + "ĠT oggle", + "ĠL ynch", + "ĠLyn ch", + "Ġs enses", + "Ġsense s", + "Ġsens es", + "Ġsen ses", + "ĠK os", + "ĠKo s", + "set Enabled", + "ist ically", + "istic ally", + "istical ly", + "Ġ tester", + "Ġt ester", + "Ġte ster", + "Ġtest er", + "Ġtes ter", + "Ġteste r", + "Ġadministr ators", + "Ġadministrator s", + "Ġt agged", + "Ġtag ged", + "Ð ĵ", + "Ġ shortcut", + "Ġshort cut", + "Ġ Resolution", + "ĠRe solution", + "ĠRes olution", + "Ġsuper vision", + "Ġsuperv ision", + "ĠAsh ley", + "Tr acking", + "Track ing", + "ul atory", + "ulator y", + "an del", + "and el", + "ande l", + "i sten", + "is ten", + "ist en", + "iste n", + "Ġun re", + "Ġunr e", + "( diff", + "(d iff", + "(di ff", + "AN TS", + "ANT S", + "Ġr ider", + "Ġrid er", + "Ġride r", + "Ġri der", + "Ġs Äħ", + ". Series", + ".S eries", + ".Se ries", + "_ orders", + "_order s", + "_or ders", + "_ord ers", + "ORIZ ONTAL", + "Ġret ention", + "ãĢĤ čĊčĊ", + "\"> čĊčĊ", + "\">čĊ čĊ", + "Ġdi agonal", + "Ġdiag onal", + "Ġdiagon al", + "ĠC ancellationToken", + "_ Internal", + "_In ternal", + "_Int ernal", + "_Inter nal", + "Ġr uin", + "Ġru in", + ". Qt", + ".Q t", + "ocr atic", + "ocrat ic", + "T el", + "Te l", + "Ġ Answers", + "ĠAn swers", + "ĠAnswer s", + "ĠAns wers", + "m atic", + "ma tic", + "mat ic", + "Ġ xp", + "Ġx p", + "a tem", + "at em", + "ate m", + "_ jobs", + "_j obs", + "_job s", + "_ any", + "_a ny", + "_an y", + "Ġsen iors", + "Ġsenior s", + "Ġseni ors", + "Ġland mark", + "ĠQ List", + "Ġman eu", + "Ġmane u", + "ot ify", + "oti fy", + "/ \";Ċ", + "/\" ;Ċ", + "/ server", + "/s erver", + "ĠPhil osoph", + "u tenant", + "ut enant", + "ute nant", + "uten ant", + "( io", + "(i o", + "h z", + "Ġ authenticated", + "Ġauth enticated", + "Ġauthentic ated", + "Ġauthenticate d", + "d v", + "- Compatible", + "Origin ally", + "Original ly", + "Orig inally", + ", function", + ",f unction", + "ãĢĤ čĊ", + "ĠRepresent ative", + "as ily", + "asi ly", + "asil y", + "irc uit", + ". dt", + ".d t", + "( math", + "(m ath", + "(mat h", + ". Marshal", + ".M arshal", + ".Mar shal", + "[ ,", + "Ġ Cities", + "ĠC ities", + "ĠCit ies", + "ĠCi ties", + "_ turn", + "_t urn", + "| )Ċ", + "Ġ cantidad", + "Ġc antidad", + "Ġcant idad", + "al ter", + "alt er", + "alte r", + "ĉ ui", + "ĉu i", + "ĠNe braska", + "Ġsk irt", + "Ġski rt", + ". bg", + ".b g", + "Shared Preferences", + "( style", + "(st yle", + "Ġg rief", + "Ġgr ief", + "Ġgri ef", + "g ew", + "ge w", + "Ġsaf eg", + "Ġsafe g", + "o lang", + "ol ang", + "ola ng", + "olan g", + "_ lists", + "_l ists", + "_list s", + "_li sts", + "ì Ľ", + "Ġgran ite", + "Ġgra nite", + "Ġhot test", + "Ġhott est", + ". jdbc", + ".j dbc", + ".jd bc", + ". Customer", + ".C ustomer", + ".Custom er", + "Ġ âī¤", + "Ġâī ¤", + "Ġw aar", + "Ġwa ar", + "_ scene", + "_s cene", + "_sc ene", + "+ '/", + "+' /", + "ĠJ TextField", + "ĠJText Field", + "ĠJT extField", + "Ġs eating", + "Ġse ating", + "Ġsea ting", + "Ġseat ing", + "Ġw ears", + "Ġwe ars", + "Ġwear s", + "Ġ` /", + "C ases", + "Case s", + "Ca ses", + "Cas es", + "Ġ Youtube", + "ĠY outube", + "ĠYou tube", + "ı m", + "Ġb alcon", + "Ġbal con", + ", G", + "Meta Data", + "Met aData", + "- price", + "-p rice", + "-pr ice", + "S CR", + "SC R", + "Un ity", + "Unit y", + "Uni ty", + "Ġtr unk", + "={ `${", + "={` ${", + "Ġearth quake", + "Ġearthqu ake", + "P artial", + "Part ial", + "Ġ subst", + "Ġsu bst", + "Ġsub st", + "Ġsubs t", + "Ġel imin", + "Ġelim in", + "=\" '.", + "=\"' .", + "//* [@", + "//*[ @", + "Ġsup ervisor", + "Ġsuper visor", + "Ġsuperv isor", + "vr olet", + "vro let", + "_ article", + "_art icle", + "Ġ pane", + "Ġp ane", + "Ġpa ne", + "Ġpan e", + "b io", + "bi o", + "Ġmot ors", + "Ġmo tors", + "Ġmotor s", + "Ġmoto rs", + "N M", + "F rank", + "Fr ank", + "Fran k", + "Fra nk", + "Ġon ion", + "- word", + "-w ord", + "Item ClickListener", + "ItemClick Listener", + "Ġ brit", + "Ġb rit", + "Ġbr it", + "Ġbri t", + "end encies", + "enden cies", + "Com puter", + "Comp uter", + "Compute r", + "Comput er", + "_ running", + "_r unning", + "_run ning", + "( day", + "(d ay", + "(da y", + "- he", + "-h e", + "( named", + "(n amed", + "(name d", + "ĠS ach", + "ĠSa ch", + "ĠSac h", + "о Ñĩ", + "c ampaign", + "camp aign", + ". Abstract", + ".A bstract", + ".Ab stract", + ".Abs tract", + "( wrapper", + "(w rapper", + ". pay", + ".p ay", + ".pa y", + "Ġ uw", + "Ġu w", + "G eo", + "Ge o", + "r ails", + "ra ils", + "rai ls", + "rail s", + "/ select", + "/s elect", + "/se lect", + "i chte", + "ic hte", + "ich te", + "icht e", + "s ons", + "so ns", + "son s", + "E VENT", + "EV ENT", + "Ġal iment", + "Ġali ment", + "Pro viders", + "Provider s", + "Provid ers", + "Provide rs", + "Prov iders", + "A wait", + "Aw ait", + "_INTER VAL", + ". off", + ".of f", + ".o ff", + "Ġgl uten", + "Ġglut en", + "Ġglu ten", + "_ cloud", + "_c loud", + "_cl oud", + "Ġ wen", + "Ġw en", + "Ġwe n", + ". extract", + ".ex tract", + ".ext ract", + ".extra ct", + "ĉ button", + "ĉb utton", + "/ MM", + "/M M", + "P arty", + "Par ty", + "Part y", + "Ġdem ographic", + "Ġdemo graphic", + "_ errno", + "_err no", + "Ġh iking", + "Ġhi king", + "Ġhik ing", + "(' ')Ċ", + "\", @\"", + "Ġ wit", + "Ġw it", + "Ġwi t", + "r á", + "ol ogie", + "olog ie", + "olo gie", + "ologi e", + "Ġ Styles", + "ĠSt yles", + "ĠStyle s", + "ĠSty les", + "ĠBrowser Module", + ". RequestMapping", + ".Request Mapping", + "ic ans", + "ica ns", + "ican s", + "P AGE", + "PA GE", + "c reation", + "cre ation", + "creat ion", + "ĠF erguson", + "u ded", + "ud ed", + "ude d", + "num bers", + "number s", + "Ġ GTK", + "ĠG TK", + "ĠGT K", + "Ġpresent ations", + "Ġpresentation s", + "ĠB obby", + "ĠBob by", + "_ span", + "_s pan", + "_sp an", + "e style", + "est yle", + "esty le", + "Ġillegal ly", + "Ġilleg ally", + "ab ela", + "abel a", + "abe la", + "Ġbattle field", + "cap acity", + "t error", + "ter ror", + "te rror", + "terr or", + "] \");Ċ", + "]\" );Ċ", + "]\") ;Ċ", + "Ġwar rior", + "le ader", + "lead er", + "lea der", + "Ġ DBG", + "ĠD BG", + "ĠDB G", + "Ġ Revenue", + "ĠRe venue", + "Ġvi gil", + "Ġvig il", + "Ġcounter parts", + "Ġcounterpart s", + "( Error", + "(E rror", + "AC TER", + "ACT ER", + "Ġhe eft", + "Ġse lections", + "Ġselect ions", + "Ġselection s", + "Ġsel ections", + "Ġsele ctions", + "ze ug", + "t om", + "to m", + "- two", + "-t wo", + "-tw o", + ". ;Ċ", + ".; Ċ", + "_ statement", + "_st atement", + "_state ment", + "_stat ement", + "_sta tement", + "ĠA id", + "ĠAi d", + "ĠV ul", + "ĠVu l", + "_ rgb", + "_r gb", + "_rg b", + "Ġpr izes", + "Ġpri zes", + "Ġprize s", + "Ġ editable", + "Ġed itable", + "Ġedit able", + "Ġedi table", + "ĉ form", + "ĉf orm", + "ĉfor m", + "ın ı", + ". decor", + ".de cor", + ".dec or", + "D emo", + "De mo", + "Dem o", + "l ices", + "lic es", + "li ces", + "lice s", + "Ġen ctype", + "Ġenc type", + "rat ulations", + "Ġ ROS", + "ĠR OS", + "ĠRO S", + "_ chars", + "_ch ars", + "_char s", + "ĠJ ahr", + "ĠJa hr", + "ĠJah r", + "p artial", + "part ial", + "Ñĥ ÑĤ", + "Ġ Receive", + "ĠRe ceive", + "ĠRece ive", + "ĠL ands", + "ĠLa nds", + "ĠLand s", + "ĠLan ds", + "AP TER", + "APT ER", + "Ġch opped", + "Ġcho pped", + "Ġchop ped", + ". .\"", + ".. \"", + "Ġ Analy", + "ĠAn aly", + "ĠAnal y", + "ĠAna ly", + "Ġ UID", + "ĠU ID", + "ĠUI D", + "ĠR adeon", + "ĠRad eon", + "ĠB ee", + "ĠBe e", + "Ġu nm", + "Ġun m", + "> M", + ".find all", + "Token izer", + "Ġ WHAT", + "ĠWH AT", + "Ġ sj", + "Ġs j", + "D rawing", + "Draw ing", + "E ss", + "Es s", + "O ND", + "ON D", + "Ĭ ¶", + "( packet", + "(p acket", + "(pa cket", + "(pack et", + "âĢĶ but", + "Inv ocation", + "ĠN uclear", + "ĠNu clear", + "? ;Ċ", + "Ġgr andes", + "Ġgrand es", + "Ġgran des", + "Ġgrande s", + "Ġ Crypt", + "ĠC rypt", + "ĠCry pt", + "r emark", + "re mark", + "rem ark", + "rema rk", + "Ġ' ../../../../", + "Ġ'../ ../../../", + "Ġ'../../ ../../", + "Ġ'../../../ ../", + "Ġin ability", + "m agic", + "mag ic", + "c ats", + "ca ts", + "cat s", + "Ġ simulate", + "Ġsim ulate", + "Ġsimul ate", + ": ${", + ":$ {", + "in flate", + "inf late", + "Ġ ener", + "Ġe ner", + "Ġen er", + ": NO", + ":N O", + "i ples", + "ip les", + "iple s", + "ipl es", + "Ġme rit", + "Ġmer it", + "Ġ Rated", + "ĠR ated", + "ĠRa ted", + "ĠRate d", + "ĠRat ed", + "Ġg lue", + "Ġgl ue", + "Ġglu e", + "/ blog", + "/b log", + "/bl og", + "Ġ gren", + "Ġg ren", + "Ġgr en", + "Ġgre n", + "Ġthr illed", + "Ġthrill ed", + ". CH", + ".C H", + "un can", + "unc an", + "unca n", + "Ġ PRIMARY", + "ĠPR IMARY", + "ĠPRI MARY", + "Ġper sec", + "Ġpers ec", + "Ġperse c", + "Ġfe ared", + "Ġfear ed", + ". MIN", + ".M IN", + "ĠThe ater", + "é Ĵ", + "ateg orie", + "ategor ie", + "ategori e", + "atego rie", + "æ® µ", + "Ġappet ite", + "s quare", + "squ are", + "ĠAlex and", + "ĠAlexa nd", + ". UserId", + ".User Id", + "_ gt", + "_g t", + "_ enter", + "_en ter", + "_ent er", + "Ġgrad uates", + "Ġgraduate s", + "Ġgradu ates", + "Fragment Manager", + "Author ize", + "-N LS", + "( My", + "(M y", + "Ġtri umph", + "Ġtrium ph", + "us ting", + "ust ing", + "ustin g", + "_PARAM S", + "_PAR AMS", + "Char acters", + "Character s", + "(: ,:,", + "(:, :,", + "_ BUILD", + "_B UILD", + "_BU ILD", + "M Hz", + "MH z", + "Ġw ashed", + "Ġwas hed", + "Ġwa shed", + "Ġwash ed", + "Ġun cle", + "Ġunc le", + "St eve", + "Ste ve", + "ar down", + "ard own", + "ardo wn", + "< stdio", + " ${", + ">$ {", + "_ confirmation", + "_confirm ation", + "Ġt rophy", + "Ġtr ophy", + "Ġtro phy", + "Ġtrop hy", + "W orks", + "Work s", + "ĠElect ronics", + "ĠElectronic s", + "ĠElectron ics", + "ĠMediterr anean", + "_ metrics", + "_m etrics", + "_metric s", + "_met rics", + "Ġann ouncing", + "Ġannounc ing", + "Ġ DAY", + "ĠD AY", + "ĠDA Y", + "_ proto", + "_pro to", + "_pr oto", + "_prot o", + "Ġ pear", + "Ġp ear", + "Ġpe ar", + "Ġpea r", + "base Url", + "ĉ ĉĉĉĉĉĉĉĊ", + "ĉĉ ĉĉĉĉĉĉĊ", + "ĉĉĉĉ ĉĉĉĉĊ", + "ĉĉĉ ĉĉĉĉĉĊ", + "ĉĉĉĉĉ ĉĉĉĊ", + "ĉĉĉĉĉĉ ĉĉĊ", + "ĉĉĉĉĉĉĉĉ Ċ", + "ĉĉĉĉĉĉĉ ĉĊ", + "Ġco ordination", + "Ġcoord ination", + "Ġcoordin ation", + ": N", + ". animate", + ".an imate", + ".anim ate", + "ĠC otton", + "ĠCot ton", + "_ hit", + "_h it", + "_hi t", + "â ľ", + "Ġj etzt", + "Ġjet zt", + "i fter", + "if ter", + "ift er", + "( fields", + "(f ields", + "(field s", + "own load", + "ific acion", + "ifica cion", + ". cuda", + ".c uda", + "ĠL iu", + "ĠLi u", + "> equals", + ">e quals", + "Ġ Ace", + "ĠA ce", + "ĠAc e", + "ÑĢ Ð°Ð¼", + "ÑĢаР¼", + "ÑĢа м", + "ĠSup erman", + "ĠSuper man", + "ĠGar cia", + "ĠGarc ia", + "Ġarr ests", + "Ġarrest s", + "a gar", + "ag ar", + "aga r", + "Ġ {})", + "Ġ{ })", + "Ġ{} )", + "Ġ macros", + "Ġmac ros", + "Ġmacro s", + "ro upe", + "rou pe", + "roup e", + "ê tre", + "êt re", + "Ġtw isted", + "Ġtwist ed", + "str uments", + "strument s", + "stru ments", + "_ (\"", + "_( \"", + "_ vertices", + "_vert ices", + "Ġ Transition", + "ĠT ransition", + "ĠTrans ition", + "ĠTransit ion", + "и к", + "[ max", + "[m ax", + "m ind", + "min d", + "mi nd", + "Ġ accessToken", + "Ġaccess Token", + "Ġun le", + "Ġunl e", + "m us", + "mu s", + "c op", + "co p", + "Ġ Factor", + "ĠF actor", + "ĠFac tor", + "ĠFa ctor", + "ĠFact or", + "Ġcon ced", + "Ġconc ed", + "Ġconce d", + "Ġre tr", + "Ġr etr", + "Ġret r", + ".l inalg", + ".lin alg", + "- slider", + "-s lider", + "-slide r", + "-sl ider", + "o bl", + "ob l", + "_Static Fields", + "Ġz ombie", + "s elling", + "sel ling", + "sell ing", + "Ġ chap", + "Ġc hap", + "Ġch ap", + "Ġcha p", + "Ġsh aking", + "Ġsha king", + "Ġ Translate", + "ĠTrans late", + "ĠAm sterdam", + "Ġ ETH", + "ĠE TH", + "ĠET H", + "_ EXTERN", + "_EX TERN", + "_EXT ERN", + "k d", + "_ disc", + "_d isc", + "_dis c", + "_di sc", + "Ġprec eding", + "Ġpreced ing", + "Ġ prix", + "Ġp rix", + "Ġpr ix", + "Ġpri x", + "Object Name", + "_ modified", + "_mod ified", + "ard ware", + "Ġ?> \">", + "Ġ?>\" >", + "Ġ DW", + "ĠD W", + "` ${", + "Ġ?> \">\" >\"> \">< ?", + "u yen", + "uy en", + "uye n", + "Ġd onna", + "Ġdon na", + "Ġdonn a", + "Ġx si", + "Ġxs i", + "Ġ$ \"{", + "Ġ$\" {", + "Ġ Drawing", + "ĠD rawing", + "ĠDraw ing", + "ĠDra wing", + ", nil", + ",n il", + "Ġ onder", + "Ġo nder", + "Ġon der", + "Ġonde r", + "B G", + "O bserv", + "Ob serv", + "Obs erv", + "Ġconsider ations", + "Ġconsideration s", + "bo at", + "boa t", + "ĠB anks", + "ĠBank s", + "ĠBan ks", + "Ġin dict", + "Ġind ict", + "Ġindic t", + ", I", + "ĠB lu", + "ĠBl u", + "( version", + "(v ersion", + "cl iente", + "client e", + "cli ente", + "o lan", + "ol an", + "ola n", + "L ESS", + "LE SS", + "LES S", + "assert Same", + "_ void", + "_v oid", + "ĠW AS", + "ĠWA S", + "ĉ enum", + "ĉe num", + "ĉen um", + "Ġm ixer", + "Ġmix er", + "E W", + "a ffe", + "af fe", + "aff e", + "Ġblow job", + "t extField", + "text Field", + "Ġimm ense", + "_ repo", + "_re po", + "_rep o", + "Ġ globals", + "Ġg lobals", + "Ġglobal s", + "Ġglob als", + "ant ages", + "anta ges", + "antage s", + ". today", + ".t oday", + ".to day", + "Th ursday", + "ĠB rig", + "ĠBr ig", + "ĠBri g", + "{ })Ċ", + "{} )Ċ", + "{}) Ċ", + "Ġ Imagine", + "ĠIm agine", + "ĠImag ine", + "( GPIO", + "(G PIO", + "Ġ esto", + "Ġe sto", + "Ġes to", + "Ġest o", + "Ġ Province", + "ĠPro vince", + "ĠProv ince", + "ĠM ental", + "ĠMen tal", + "ĠMent al", + "_ cells", + "_c ells", + "_cell s", + "ĠJul ian", + "ĠJu lian", + "ĠJulia n", + "ĠJuli an", + ". Screen", + ".S creen", + ".Sc reen", + "Ġc andle", + "Ġcan dle", + "Ġcand le", + "Ġm onde", + "Ġmon de", + "Ġmo nde", + "Ġmond e", + "Ġv erg", + "Ġver g", + "Ġve rg", + "it erals", + "iter als", + "iteral s", + "- layout", + "-l ayout", + "G uest", + "Gu est", + "Ġv ind", + "Ġvi nd", + "Ġvin d", + "Ġ Echo", + "ĠE cho", + "ĠEc ho", + "' )}", + "') }", + "Ġ mann", + "Ġm ann", + "Ġman n", + "Ġma nn", + "_ BOOLEAN", + "_BO OLEAN", + "h ap", + "ha p", + "Ġnight mare", + "U GH", + "UG H", + "Ġnon etheless", + "Ġnone theless", + "Ġ athe", + "Ġa the", + "Ġat he", + "Ġath e", + "ĠH olland", + "ĠHol land", + "ĠHo lland", + "ĠHoll and", + "Ġ Born", + "ĠB orn", + "ĠBo rn", + "ĠBor n", + "\\ ORM", + "a nut", + "an ut", + "_ levels", + "_level s", + "Ġpet ite", + "Ġpetit e", + "- art", + "-a rt", + "-ar t", + "_ SHOW", + "_S HOW", + "_SH OW", + "number Of", + "_ thumbnail", + "_th umbnail", + "a mins", + "am ins", + "amin s", + "ami ns", + "Ġ Defines", + "ĠDef ines", + "ĠDefine s", + "Ġ\" =", + ". StatusCode", + ".Status Code", + "Ġdign ity", + "ĠB ike", + "ĠBi ke", + "ĠBik e", + ".New Line", + "ĠG las", + "ĠGl as", + "( logger", + "(log ger", + "(lo gger", + "Ġc atches", + "Ġcatch es", + "Ġcat ches", + "v otes", + "vo tes", + "vote s", + "Ġexam ining", + "/ register", + "/reg ister", + "Ġspec ifying", + "Ġspecify ing", + "_ fixed", + "_f ixed", + "_fix ed", + "Ġdraw ings", + "Ġdrawing s", + "Th reshold", + "A x", + "Ġ Architecture", + "ĠArch itecture", + "ĠArchitect ure", + "( pid", + "(p id", + "(pi d", + "W ire", + "Wir e", + "Wi re", + "( cont", + "(c ont", + "(con t", + "(co nt", + "l ane", + "la ne", + "lan e", + "L ists", + "List s", + "Li sts", + "Ġs print", + "Ġsp rint", + "Ġspr int", + "Ġgrand father", + "_ AG", + "_A G", + "Ġs cheduling", + "Ġsched uling", + "CL US", + "CLU S", + "at urity", + "atur ity", + "Ġ locking", + "Ġl ocking", + "Ġloc king", + "Ġlock ing", + "[ size", + "[s ize", + "_ styles", + "_st yles", + "_style s", + "Ġ wb", + "Ġw b", + "-- >ĊĊ", + "-->Ċ Ċ", + "--> ĊĊ", + "Ġsp inning", + "Ġspin ning", + "_ pending", + "_p ending", + "_pen ding", + "Match ers", + "Mat chers", + "Matcher s", + ". Keys", + ".Key s", + "Ġ PV", + "ĠP V", + "en us", + "enu s", + "ant is", + "anti s", + "Ġ discard", + "Ġd iscard", + "Ġdis card", + "Ġdisc ard", + "Ġ haul", + "Ġh aul", + "Ġha ul", + "Ġem pir", + "Ġemp ir", + "Ġpath way", + "Ġo ak", + "Ġoa k", + "м ен", + "ме н", + "-in duced", + "-ind uced", + "Ġim pair", + "Ġimp air", + "ĠCal gary", + ".is Hidden", + "d z", + "_ include", + "_in clude", + "_inc lude", + "Ġ gm", + "Ġg m", + "Ġ' ('", + "Ġ'( '", + "P Y", + "uggest ions", + "uggestion s", + "Ġcom modity", + "Ġcommod ity", + "c ro", + "cr o", + "/ sub", + "/s ub", + "Ġ getInstance", + "Ġget Instance", + "Ġ Legacy", + "ĠLeg acy", + "ĠK il", + "ĠKi l", + "B al", + "Ba l", + "( short", + "(s hort", + "(sh ort", + "In form", + "Info rm", + "Inf orm", + "+ x", + "* r", + "Ġ Hopefully", + "ĠHope fully", + "ĠHop efully", + "o rate", + "or ate", + "ora te", + "Ġm achen", + "Ġma chen", + "Ġmach en", + "Ġmac hen", + "Ġtreat y", + "Ġtre aty", + "ĠO ri", + "ĠOr i", + ". public", + ".p ublic", + ".pub lic", + "- horizontal", + "-h orizontal", + "Ġt actic", + "Ġta ctic", + "Ġtact ic", + "Ġtac tic", + "Ġb ord", + "Ġbo rd", + "Ġbor d", + "w ares", + "ware s", + "wa res", + "war es", + "Ġ ammo", + "Ġa mmo", + "Ġam mo", + "Ġ Lists", + "ĠL ists", + "ĠList s", + "ĠLi sts", + "ĠLis ts", + "Ġequ ations", + "Ġeq uations", + "Ġequation s", + "/ her", + "/h er", + "/he r", + "ĠN SW", + "ĠNS W", + "B ounding", + "Bo unding", + "Bound ing", + "_ Collections", + "_C ollections", + "Ġ avail", + "Ġa vail", + "Ġav ail", + "Ġava il", + ". DropDown", + ".Drop Down", + "è °", + "Ġ hh", + "Ġh h", + "Ġl Ãł", + ". pb", + ".p b", + "Ġmem orial", + "Ġmemor ial", + "Ġmemo rial", + "Ġmemoria l", + "Ġ ATTR", + "ĠAT TR", + "ĠATT R", + "Ġexhaust ed", + "Ġt sp", + "Ġts p", + "ĉ redirect", + "ĉre direct", + "Ġlike wise", + "Ġlik ewise", + "S TER", + "ST ER", + "STE R", + "L java", + "Ġcondem ned", + "Ġcondemn ed", + "oca ust", + "( strict", + "(str ict", + "Ġex empt", + "Ġexem pt", + "Ġexemp t", + "Ġ sms", + "Ġs ms", + "Ġsm s", + "Ġex agger", + "S YS", + "SY S", + "Ġl ounge", + "Ġlo unge", + "Ġlou nge", + "Ġloung e", + ": ^", + "Ġt odd", + "Ġto dd", + "Ġtod d", + "d eb", + "de b", + "at orial", + "ator ial", + "ato rial", + "atori al", + "atoria l", + "ĠPort er", + "ĠPor ter", + "Ġt uition", + "Ġtu ition", + "Ġex empl", + "Ġexem pl", + "Ġexe mpl", + "Ġexemp l", + "Ġ paren", + "Ġp aren", + "Ġpar en", + "Ġpa ren", + "Ġpare n", + ".line To", + "Ġkid ney", + "Ġki dney", + "Ġkidn ey", + "Ġ ça", + "Ġç a", + "Ġc ui", + "Ġcu i", + "ï¼Į 请", + "X C", + "Ġmo ż", + "Ġn ominated", + "Ġno minated", + "Ġnom inated", + "Ġnomin ated", + "Ġnominate d", + "l ung", + "lu ng", + "lun g", + "Im Gui", + "Ġ Buzz", + "ĠB uzz", + "ĠBu zz", + "Ġst ereo", + "Ġste reo", + "Ġster eo", + "Ġstere o", + "p ortal", + "port al", + "por tal", + "res as", + "resa s", + "Ġ klass", + "Ġk lass", + "Ġkl ass", + "Ġkla ss", + "Ġklas s", + "Ġd rafted", + "Ġdraft ed", + "Ġproject ile", + "/g pl", + "( parameters", + "(param eters", + "(parameter s", + "* )Ċ", + "*) Ċ", + "Ġass isted", + "Ġassist ed", + "Ġ NSInteger", + "ĠNS Integer", + "s itemap", + "site map", + "sit emap", + ": nth", + ":n th", + ". Views", + ".View s", + ".Argument Parser", + "Ġ meer", + "Ġm eer", + "Ġme er", + "Ġmee r", + "z ier", + "zi er", + "zie r", + "Ġ Dig", + "ĠD ig", + "ĠDi g", + "Ċ", + ")} >Ċ", + ")}> Ċ", + "Ġp lag", + "Ġpl ag", + "Ġpla g", + "p ine", + "pi ne", + "pin e", + "Ġblank et", + "Ġ : -", + "Ġ lcd", + "Ġl cd", + "Ġlc d", + "- --------------", + "-- -------------", + "---- -----------", + "-------- -------", + "--- ------------", + "------------ ---", + "----- ----------", + "---------- -----", + "------ ---------", + "----------- ----", + "------------- --", + "------- --------", + "--------- ------", + "-------------- -", + "( \"\"", + "(\" \"", + "Ġt actical", + "Ġtact ical", + "Ġtactic al", + "Ġtac tical", + "ĠR onald", + "ĠRon ald", + "ex tr", + "ext r", + "ĠF est", + "ĠFe st", + "Ġf uer", + "Ġfu er", + "Ġfue r", + "- navigation", + "-n avigation", + "-nav igation", + "Ġ kb", + "Ġk b", + "g host", + "gh ost", + "Ġ handleChange", + "Ġhandle Change", + "_ cls", + "_c ls", + "_cl s", + "( )!=", + "() !=", + "Com parator", + "Compar ator", + ". vm", + ".v m", + "ĠC ox", + "ĠCo x", + "_ review", + "_re view", + "_r eview", + "_rev iew", + "/ @", + "_ cookie", + "_c ookie", + "_co okie", + "Ġrecogn ised", + "Ġrecognise d", + "l dap", + "ld ap", + "lda p", + "Th reads", + "Thread s", + "ĠS exual", + "ĠSex ual", + "ĠB earing", + "ĠBe aring", + "ĠBear ing", + "ĠBea ring", + "( SQL", + "(S QL", + "Ġ xr", + "Ġx r", + "Ġt high", + "Ġth igh", + "Ġthi gh", + "URL Connection", + "ĠS UV", + "ĠSU V", + "Ġm Context", + "Ġinc idence", + "Ġincid ence", + "Ġ Este", + "ĠE ste", + "ĠEs te", + "ĠEst e", + ". sup", + ".s up", + "_ te", + "_t e", + "( EXIT", + "(EX IT", + "C MD", + "CM D", + "/ \">", + "/\" >", + "Al most", + "Ġ Une", + "ĠU ne", + "ĠUn e", + "Ġand eren", + "Ġandere n", + "Ġander en", + "Ġ Singleton", + "ĠS ingleton", + "ĠSing leton", + "ĠSingle ton", + "Ġb ore", + "Ġbo re", + "Ġbor e", + "Th ink", + "Thin k", + "Ġn arc", + "Ġna rc", + "Ġnar c", + "] initWith", + "]init With", + "_ shop", + "_s hop", + "_sh op", + "( strategy", + "(str ategy", + "! ',", + "!' ,", + "her its", + "herit s", + "Ġ Desk", + "ĠD esk", + "ĠDe sk", + "ĠDes k", + "_ machine", + "_m achine", + "_ma chine", + ".n etty", + ".net ty", + ".ne tty", + "ı nda", + "ın da", + "ınd a", + "= <", + "Ġ QR", + "ĠQ R", + "Ġ Sidebar", + "ĠS idebar", + "ĠSide bar", + ".split Container", + "Ġon Success", + "Ġ monkey", + "Ġmon key", + "Ġmonk ey", + "En joy", + "( nodes", + "(n odes", + "(node s", + "(no des", + "pect rum", + "Ġ (*(", + "Ġ( *(", + "Ġ(* (", + "ĉ UINT", + "ĉU INT", + "ĉUI NT", + ", height", + ",h eight", + "ĠNetwork s", + "ĠNet works", + ". tail", + ".t ail", + ".ta il", + ".l inspace", + ".lin space", + "Ġ \"...", + "Ġ\" ...", + "Ġ\". ..", + "Ġ\".. .", + "L isten", + "List en", + "Li sten", + "Æ ¡", + ". Channel", + ".Ch annel", + "- defined", + "-d efined", + "-def ined", + "Re peat", + "Rep eat", + "ad just", + "adj ust", + "E RM", + "ER M", + "_ application", + "_app lication", + "_ap plication", + ".assert NotNull", + ".assertNot Null", + "- stream", + "-st ream", + "-str eam", + "Ġ rabbit", + "Ġr abbit", + "Ġrab bit", + "Ġposition ing", + "Ġ woke", + "Ġw oke", + "Ġwo ke", + "Ġf ing", + "Ġfin g", + "Ġfi ng", + "Ġmulti player", + "Ġmultip layer", + "Ġregister ing", + "Ġregist ering", + "un til", + "unt il", + "Ã¥ n", + "( ::", + "(: :", + "uss ions", + "ussion s", + "Ġpot ato", + "Ġ Equals", + "ĠE quals", + "ĠEqu als", + "ĠEqual s", + ". Sup", + ".S up", + "/ apache", + "/ap ache", + "Ġ (=", + "Ġ( =", + ". \")", + ".\" )", + ". ptr", + ".p tr", + ".pt r", + "Ġ Speech", + "ĠS peech", + "ĠSpe ech", + ". clip", + ".c lip", + ".cl ip", + ".cli p", + "ĠGab riel", + "ĠGabri el", + "Ġmus ician", + "Ġmusic ian", + "/ issues", + ". shop", + ".s hop", + ".sh op", + "Ġ Hier", + "ĠH ier", + "ĠHi er", + "_ RET", + "_RE T", + "_R ET", + "_ bucket", + "_b ucket", + "ãĥ ¡", + "a vs", + "av s", + "Ġ roz", + "Ġr oz", + "Ġro z", + "f lower", + "fl ower", + "flow er", + "flo wer", + "Write Barrier", + "ĠM ilan", + "ĠMil an", + "ĠMi lan", + "Ġlegisl ature", + "ĠD oll", + "ĠDo ll", + "ĠDol l", + "Ġpro ving", + "Ġpr oving", + "Ġprov ing", + ".concat enate", + "âķ IJ", + "Ġg char", + "Ġgc har", + "cdn js", + "b les", + "ble s", + "bl es", + "Ġ Listing", + "ĠL isting", + "ĠList ing", + "ĠLis ting", + "л о", + ".xr Label", + "ĠS ak", + "ĠSa k", + "just ice", + "ju stice", + "ĠVal entine", + "ĠValent ine", + "un less", + "Ġp iger", + "Ġpi ger", + "Ġpig er", + "Ġpige r", + "( run", + "(r un", + "Ġtest ified", + "A NA", + "AN A", + "ĠRe moves", + "ĠRem oves", + "ĠRemove s", + ") )));Ċ", + ")) ));Ċ", + "))) );Ċ", + ")))) ;Ċ", + "rec ated", + "ĠRuntime Method", + "Ġcon qu", + "ãĤ ¢", + "Ġt issues", + "Ġtissue s", + "a iler", + "ail er", + "ai ler", + "é té", + "ét é", + "- Star", + "-S tar", + "-St ar", + "Ġfl ames", + "Ġflame s", + "Ġflam es", + "Ġfla mes", + ". setIcon", + ".set Icon", + "Ġsup ern", + "Ġsuper n", + "Ġv agina", + "Ġvag ina", + "- variable", + "-var iable", + "Ġwell ness", + "C UR", + "CU R", + "Ġb elle", + "Ġbe lle", + "Ġbel le", + "Ġbell e", + ". getRequest", + ".get Request", + "Ġp oco", + "Ġpo co", + "Ġpoc o", + "b enh", + "be nh", + "ben h", + "a gens", + "ag ens", + "age ns", + "agen s", + "Ġs pill", + "Ġsp ill", + "Ġspi ll", + "Ġ Jur", + "ĠJ ur", + "ĠJu r", + "Ġ dispatcher", + "Ġdispatch er", + "Ġdisp atcher", + "н ого", + "но го", + "ног о", + "e monic", + "em onic", + "emo nic", + "emon ic", + "( dirname", + "(dir name", + "Ġ ÐĶ", + "ĠÐ Ķ", + "Ġp asse", + "Ġpass e", + "Ġpas se", + "Ġpa sse", + "Ġg anz", + "Ġga nz", + "Ġgan z", + "r icing", + "ri cing", + "ric ing", + "E U", + "Ġmuj eres", + "Ġmujer es", + "es sen", + "ess en", + "esse n", + ". attribute", + ".at tribute", + ".attrib ute", + "j j", + "ĉ ĉĠĊ", + "ĉĉ ĠĊ", + "ĉĉĠ Ċ", + "[ ^", + "Ġ strtolower", + "Ġstr tolower", + "Ġstrtol ower", + "lex er", + "ect ar", + "ec tar", + "ecta r", + "h otel", + "ho tel", + "hot el", + ". square", + ".s quare", + "Ġr all", + "Ġra ll", + "Ġl owered", + "Ġlow ered", + "Ġlower ed", + "handle d", + "hand led", + "M arket", + "Mark et", + "Mar ket", + "Ġ Uses", + "ĠU ses", + "ĠUs es", + "ĠUse s", + "i vas", + "iv as", + "iva s", + ". Business", + ".B usiness", + ".Bus iness", + "ãģĹ ãģ¦", + "ãģĹãģ ¦", + "D IV", + "DI V", + "Ġw asted", + "Ġwas ted", + "Ġwa sted", + "Ġwaste d", + "Ġwast ed", + "Ġa voir", + "Ġav oir", + "ê m", + "_ ACCOUNT", + "_AC COUNT", + "_ACC OUNT", + ". et", + ".e t", + "ĉ SDL", + "ĉS DL", + "k ap", + "ka p", + "Ġ fox", + "Ġf ox", + "Ġfo x", + "up pet", + "upp et", + "uppe t", + "{ },Ċ", + "{} ,Ċ", + "{}, Ċ", + "\" ,'", + "\", '", + "F avorite", + "P END", + "PE ND", + "Ġ AES", + "ĠA ES", + "ĠAE S", + "} ),", + "}) ,", + "Ġde duction", + "Ġded uction", + "Ġdeduct ion", + "Ġpol ÃŃt", + "Ġcomponent Will", + "ĠT elerik", + "ĠTele rik", + "_ SELF", + "_SE LF", + "_SEL F", + "Ġm use", + "Ġmus e", + "Ġmu se", + "C raft", + "Cr aft", + "Ġ dens", + "Ġd ens", + "Ġde ns", + "Ġden s", + "ठ¿", + "( tp", + "(t p", + "Ġt asty", + "Ġta sty", + "Ġtas ty", + "Ġtast y", + "Ġ balances", + "Ġbalance s", + "Ġbal ances", + "Ġded ication", + "Ġdedic ation", + "Ġdedi cation", + "ĠWall ace", + "ĠWal lace", + "Ġun law", + "Ġunl aw", + "\\ \">\\", + "\\\" >\\", + "\\\"> \\", + "Ġm um", + "Ġmu m", + "- update", + "-up date", + "e mente", + "em ente", + "ement e", + "eme nte", + "emen te", + "Ġs oda", + "Ġso da", + "Ġsod a", + "Re public", + "Rep ublic", + "as mine", + "asm ine", + "é ric", + "ér ic", + "éri c", + "( Status", + "(S tatus", + "ĠJson Convert", + "Ġ Disk", + "ĠD isk", + "ĠDis k", + "ĠDi sk", + ". Redirect", + ".Re direct", + ".Red irect", + "Ġfil ming", + "Ġfilm ing", + "/ mol", + "/m ol", + "R o", + "Ġ ville", + "Ġv ille", + "Ġvi lle", + "Ġvill e", + "Ġvil le", + "Ġtr abaj", + "Ġtrab aj", + "Ġs ynthesis", + "Ġsyn thesis", + "Ġsynth esis", + "Ġsynthes is", + "r ega", + "re ga", + "reg a", + "Ġ rl", + "Ġr l", + "S cheduler", + "Schedule r", + "ISH ED", + "current User", + "( errors", + "(err ors", + "(error s", + "(er rors", + "' h", + "_ bot", + "_b ot", + "_bo t", + "x imo", + "xi mo", + "Ġ USART", + "ĠUS ART", + "ĠUSA RT", + "_ super", + "_s uper", + "_sup er", + "_su per", + "_ DECREF", + "_DEC REF", + "н ой", + "но й", + "_ ROW", + "_R OW", + "_RO W", + "Ġprom otes", + "Ġpromote s", + "Ġpromot es", + "Ġpromo tes", + "Ġ TA", + "ĠT A", + "Ġh oras", + "Ġhor as", + "Ġho ras", + "Ġhora s", + "ĠRep resents", + "ĠRepresent s", + "Ġ nameof", + "Ġname of", + "Ġnam eof", + "Ġ Exc", + "ĠE xc", + "ĠEx c", + "ĠGar age", + "ĠGa rage", + "Ġse ine", + "Ġsein e", + "Ġsei ne", + ", #", + "Ġh erb", + "Ġhe rb", + "Ġher b", + "/ resources", + "/re sources", + "/res ources", + "/resource s", + "Ġple aded", + "Ġplea ded", + "Ġplead ed", + ".r adioButton", + ".radio Button", + "Ġ æĺ", + "Ġæ ĺ", + "O ps", + "Op s", + "ĠN est", + "ĠNe st", + "ĠNes t", + "c string", + "cs tring", + "ĠDef ence", + "Ġref ere", + "Ġrefer e", + "_ leaf", + "_le af", + "Ġreve lation", + "Ġrevel ation", + "ë §", + ".execute Update", + "_W ORLD", + "Ġexp ans", + "(\" \\\"", + "(\"\\ \"", + "j ab", + "ja b", + "Ġdoub ts", + "Ġdoubt s", + "Ġ Geometry", + "ĠGe ometry", + "ĠGeo metry", + "Ġintrodu ces", + "Ġintroduce s", + "Ġsen ators", + "Ġsenator s", + "Ġc anal", + "Ġcan al", + "Ġca nal", + ". helper", + ".h elper", + ".help er", + "ĠB iology", + "ĠBi ology", + "ĠBio logy", + "ĠBiol ogy", + "_ SENS", + "_S ENS", + "_SE NS", + ". previous", + ".pre vious", + ".prev ious", + "- touch", + "-t ouch", + "-to uch", + "a bit", + "ab it", + "abi t", + "Ġimp acted", + "Ġimpact ed", + "Ġbr ackets", + "Ġbracket s", + ". direct", + ".d irect", + ".dir ect", + ".di rect", + "ac cum", + "acc um", + "Ġtest osterone", + "ĉ action", + "ĉa ction", + "ĉac tion", + "ĉact ion", + "Ġ Chance", + "ĠCh ance", + "ĠCha nce", + "ĠChan ce", + "Ġpe aks", + "Ġpeak s", + "Ġpea ks", + "CppCodeGen WriteBarrier", + "Ġun belie", + "Ġunbe lie", + "_ press", + "_p ress", + "_pr ess", + "_pre ss", + "_pres s", + ". Rel", + ".R el", + ".Re l", + "ang led", + "angle d", + "angl ed", + "/ templates", + "/t emplates", + "/template s", + "/temp lates", + "-- >čĊ", + "--> čĊ", + "l ime", + "li me", + "lim e", + "Ġsufficient ly", + "_ nt", + "_n t", + "Exp and", + ".is file", + "Ġ isEmpty", + "Ġis Empty", + "Ġ qt", + "Ġq t", + "Ġmul her", + "a cob", + "ac ob", + "aco b", + "Ge orge", + "å¸ ¸", + "Ġas sim", + "Ġass im", + "a so", + "as o", + "Ġcompr ised", + "Ġcomprise d", + "O V", + "( CONFIG", + "(CON FIG", + "ĉ writer", + "ĉw riter", + "ĉwrite r", + "Ġd esp", + "Ġde sp", + "Ġdes p", + "Ġten ure", + "( cr", + "(c r", + ". pool", + ".p ool", + ".po ol", + "ĠB rend", + "ĠBr end", + "ĠBre nd", + "ĠBren d", + "Ġc ensor", + "( timeout", + "(time out", + "Ġp lea", + "Ġpl ea", + "Ġple a", + ". Wrap", + ".W rap", + "Ġt ightly", + "Ġtight ly", + "Ġ Were", + "ĠW ere", + "ĠWe re", + "ĠWer e", + "Ġ Ignore", + "ĠI gnore", + "ĠIgn ore", + "ĠIg nore", + "a bei", + "ab ei", + "abe i", + "Ġbr idges", + "Ġbridge s", + "Ġbrid ges", + "Ġcondem n", + "Ġsimp licity", + "Ġsimpl icity", + "Ġrout inely", + "Ġroutine ly", + "Ġbl acks", + "Ġblack s", + "Ġbla cks", + "j b", + "ĠP it", + "ĠPi t", + "U tf", + "Ut f", + "Ġ /Ċ", + "Ġ/ Ċ", + "r eload", + "re load", + "rel oad", + "Ġset Object", + "/ global", + "/g lobal", + "Ġf atty", + "Ġfa tty", + "Ġfat ty", + "Ġfatt y", + "Ġs ocks", + "Ġso cks", + "Ġsock s", + "Ġsoc ks", + "Could n", + "Ġerot isk", + "æĿ ¡", + "Ġ Pressure", + "ĠPres sure", + "ĠPress ure", + "ĠM az", + "ĠMa z", + "n pos", + "np os", + "to lower", + "tol ower", + "Ġ EQ", + "ĠE Q", + "ut eur", + "ute ur", + "Ġ Moment", + "ĠM oment", + "ĠMo ment", + "ĠMom ent", + "Ġ eta", + "Ġe ta", + "Ġet a", + "{{ --", + "Ġ graphs", + "Ġgraph s", + "Ġgrap hs", + "ĠG uar", + "ĠGu ar", + "r ine", + "ri ne", + "rin e", + "( --", + "(- -", + "Ġ HttpStatus", + "ĠHttp Status", + "( student", + "(st udent", + "* np", + "*n p", + "Ġrail way", + "Ġas ynchronous", + "_ vm", + "_v m", + "' ],'", + "'] ,'", + "'], '", + ", text", + ",t ext", + "m erchant", + "mer chant", + "( Guid", + "(G uid", + "ĠG ra", + "ĠGr a", + "ix er", + "ixe r", + "fetch All", + ". addListener", + ".add Listener", + "f lip", + "fl ip", + "* $", + "> (),", + ">( ),", + ">() ,", + "Ġsun light", + "as signed", + "ass igned", + "assign ed", + "Ġ abc", + "Ġa bc", + "Ġab c", + "Ġ COLUMN", + "ĠC OLUMN", + "ĠðŁĻĤ ĊĊ", + ") ...", + "). ..", + ").. .", + "Ġ ensemble", + "Ġen semble", + "Ġens emble", + "Ġ newline", + "Ġnew line", + "_S INGLE", + "i edad", + "ie dad", + "ied ad", + "Ġd arker", + "Ġdark er", + "Ġdar ker", + "or map", + "orm ap", + "Ġ lion", + "Ġl ion", + "Ġli on", + "pl its", + "plit s", + "Ġillustr ation", + "Ġillust ration", + "Ġ IEEE", + "ĠI EEE", + "ĠIE EE", + "Ġv ista", + "Ġvis ta", + "Ġvi sta", + "ous ands", + "ousand s", + "* ******", + "** *****", + "**** ***", + "****** *", + "*** ****", + "***** **", + "ĠTom my", + "Ġ hue", + "Ġh ue", + "Ġhu e", + "S el", + "Se l", + "Ġ aura", + "Ġa ura", + "Ġau ra", + "Ġaur a", + "ĠThe rapy", + "ĠTher apy", + "Ġan imator", + "Ġanim ator", + ". constraints", + ".con straints", + ".constraint s", + "Ġv ague", + "Ġva gue", + "Ġvag ue", + "(\" \")", + "(\"\" )", + "Ġvill ain", + "Ġvil lain", + "Ġvilla in", + "Ġbless ing", + "Ġstring Builder", + "Ġ Misc", + "ĠM isc", + "ĠMi sc", + "ĠMis c", + "Ġ DIR", + "ĠD IR", + "ĠDI R", + "f ax", + "fa x", + "- node", + "-n ode", + "-no de", + "Ġ Walking", + "ĠW alking", + "ĠWalk ing", + "ĠWal king", + "Ġ AU", + "ĠA U", + "s ess", + "se ss", + "ses s", + "Ġgr ill", + "Ġgri ll", + "VERT ISE", + "ĠF oods", + "ĠFood s", + "ĠFo ods", + "ĠFoo ds", + "Ġt ournaments", + "Ġtour naments", + "Ġtournament s", + "à ĵ", + "Ġ Marsh", + "ĠMar sh", + "ĠMars h", + "Ġw onders", + "Ġwon ders", + "Ġwonder s", + "Long itude", + ".Command Text", + "= input", + "=in put", + "_ encoder", + "_e ncoder", + "_en coder", + "_encode r", + "_enc oder", + "page Size", + "Ġ getState", + "Ġget State", + "> >Ċ", + ">> Ċ", + ". grey", + ".g rey", + ".gr ey", + "p od", + "po d", + "Ġread ings", + "Ġreading s", + "Ġre consider", + "Start up", + "Ġex cer", + "Ġexc er", + "Ġexce r", + ". balance", + ".b alance", + "_ cycle", + "_c ycle", + "_ Time", + "_T ime", + "LO CAL", + "LOC AL", + "Ġ EFI", + "ĠE FI", + "ĠEF I", + "ĠR eyn", + "ĠRe yn", + "ĠRey n", + ".set Foreground", + "b yn", + "by n", + "Ġdis connected", + "Ġdisconnect ed", + "ACT IVE", + "Ġ embedding", + "Ġembed ding", + "ic kers", + "ick ers", + "icker s", + "Ġsurround ings", + "Ġsurrounding s", + "* c", + "Ġgar ant", + "Ġga rant", + "Ġ bf", + "Ġb f", + "Ġ wipe", + "Ġw ipe", + "Ġwi pe", + "Ġ ä¸ĭ", + "Ġä¸ ĭ", + "_ TRA", + "_T RA", + "_TR A", + "ad ox", + "ado x", + "ç ķ", + "Ġs ucks", + "Ġsu cks", + "Ġsuc ks", + "Ġsuck s", + "Ġ Songs", + "ĠS ongs", + "ĠSon gs", + "ĠSong s", + "ĠAssoci ates", + "ĠAssociate s", + "ĠAssoc iates", + "ĠB ald", + "ĠBa ld", + "ĠBal d", + "ĠB rett", + "ĠBr ett", + "ĠBre tt", + "ĠBret t", + "ven ile", + "Ġ vt", + "Ġv t", + "Ġin ade", + "Ġre signed", + "Ġres igned", + "Ġresign ed", + "ĠGl enn", + "ĠGlen n", + "ĠGle nn", + ". pattern", + ".p attern", + ".pat tern", + ".Data Bind", + "Ñĥ м", + "Layout Inflater", + "c het", + "ch et", + "che t", + "ĠTest ament", + ". ms", + ".m s", + "Ġp av", + "Ġpa v", + "Ġ ReactDOM", + "ĠReact DOM", + "ur dy", + "urd y", + "A DATA", + "AD ATA", + "ADA TA", + "M u", + "/ actions", + "/a ctions", + "/action s", + "Ġ Js", + "ĠJ s", + "_ extract", + "_ex tract", + "_ext ract", + "_extra ct", + "Ġ Bring", + "ĠB ring", + "ĠBr ing", + "ĠBri ng", + ": id", + ":i d", + "st rt", + "str t", + "i vation", + "iv ation", + "iva tion", + "Ġout right", + "Ġou tright", + "Ġoutr ight", + "a zu", + "az u", + "loy ment", + "и Ñı", + "al do", + "ald o", + "Ġ Publisher", + "ĠP ublisher", + "ĠPublish er", + "E ducation", + "Educ ation", + "P alette", + "Pal ette", + "Pa lette", + "Pale tte", + "_ drv", + "_d rv", + "_dr v", + "Ġ ($(", + "Ġ( $(", + "Ġ($ (", + "ĠA nda", + "ĠAn da", + "ĠAnd a", + "Ġrem edy", + "Ġremed y", + "Ġin consistent", + "Ġincons istent", + "Ġinconsist ent", + "t ection", + "te ction", + "tec tion", + "Ġreg ulators", + "Ġregul ators", + "Ġregulator s", + "Ġshort est", + "( pair", + "(p air", + "(pa ir", + "Ġ Installation", + "ĠInstall ation", + "Ġdef endants", + "Ġdefend ants", + "Ġdefendant s", + "Ġ ();", + "Ġ( );", + "Ġ() ;", + "- large", + "-l arge", + "M el", + "Me l", + "Ġthreat en", + "н Ñı", + "Ġfet ish", + "ot ine", + "oti ne", + "_ dic", + "_d ic", + "_di c", + "Ġ <$", + "Ġ< $", + "Ġst agger", + "Ġsta gger", + "Ġstag ger", + "s pi", + "sp i", + "$ response", + "$res ponse", + "S erv", + "Se rv", + "Ser v", + "- born", + "-b orn", + "-bo rn", + "j os", + "jo s", + "ĉ img", + "ĉi mg", + "ĉim g", + "ĉ WHERE", + "ĉW HERE", + "_ lt", + "_l t", + "å½ ĵ", + ". cost", + ".c ost", + ".co st", + ".cos t", + "Ġ Tue", + "ĠT ue", + "ĠTu e", + ". labels", + ".label s", + ".lab els", + "Ġ LV", + "ĠL V", + "wcs store", + "ĠJ esse", + "ĠJes se", + "ĠJe sse", + "ĠJess e", + "ภ«", + "T rade", + "Tr ade", + "Trad e", + "Tra de", + "Ġpredecess or", + "ë Ĥ", + "f inally", + "fin ally", + "final ly", + "_ general", + "_g eneral", + "_gen eral", + "_gene ral", + "_gener al", + "oggle r", + "ogg ler", + "_ REGION", + "_REG ION", + "n ement", + "ne ment", + "nem ent", + "Ġb logger", + "Ġblog ger", + "Ġblo gger", + "ĠHar bor", + "Ġ Dataset", + "ĠD ataset", + "ĠData set", + "ĠDat aset", + "[ w", + "Ġattend ees", + "Ġattendee s", + ". ico", + ".i co", + ".ic o", + "max imum", + ". Unlock", + ".Un lock", + "_ SYNC", + "_S YNC", + "_SY NC", + "_SYN C", + "ág ina", + "Ġd owns", + "Ġdown s", + "Ġdow ns", + "ĠW ii", + "ĠWi i", + "] )/", + "]) /", + "Ġk icking", + "Ġkick ing", + "un ication", + "unic ation", + "uni cation", + "Ġ DAC", + "ĠD AC", + "ĠDA C", + "Ġ IDS", + "ĠI DS", + "ĠID S", + "ĠR ental", + "ĠRen tal", + "ĠRent al", + "Ġ currentTime", + "Ġcurrent Time", + "Ġvacc ines", + "Ġvaccine s", + "ĠD evil", + "ĠDe vil", + "ĠDev il", + "Ġn ors", + "Ġno rs", + "Ġnor s", + "_ mouse", + "_m ouse", + "_mo use", + "ur rection", + "urre ction", + "urr ection", + "urrect ion", + "( no", + "(n o", + "Ġ >čĊ", + "Ġ> čĊ", + "Ġag gression", + "Ġaggress ion", + "Ġagg ression", + "Ġbre eding", + "Ġbreed ing", + "Ġbree ding", + ". symbol", + ".s ymbol", + ".sym bol", + "i man", + "im an", + "ima n", + "Absolute Path", + "Ġ WHO", + "ĠW HO", + "ĠWH O", + "_ flush", + "_f lush", + "_fl ush", + "- root", + "-r oot", + "-ro ot", + "a rna", + "ar na", + "arn a", + "& M", + "Ġf athers", + "Ġfa thers", + "Ġfather s", + "Ġ Rocket", + "ĠR ocket", + "ĠRock et", + "ĠRo cket", + "ĠRoc ket", + "i veau", + "ive au", + "Ġw ander", + "Ġwa nder", + "Ġwand er", + "Ġwan der", + "Ġcom pos", + "Ġcomp os", + "ĠWar rior", + "Ġ Seat", + "ĠS eat", + "ĠSe at", + "ĠSea t", + "ĠCl inic", + "ĠClin ic", + "ĠCli nic", + "_ invoice", + "_in voice", + "_inv oice", + "( dispatch", + "(dis patch", + "Product o", + "at uring", + "atur ing", + "atu ring", + "oss ier", + "ĠM AY", + "ĠMA Y", + "Ġd agger", + "Ġda gger", + "Ġdag ger", + "Ġsan itized", + "Ġsanit ized", + "Ġsanitize d", + "Ġ RFC", + "ĠR FC", + "ĠRF C", + "Ġp roph", + "Ġpro ph", + "Ġpr oph", + "Ġprop h", + "Ġu rine", + "Ġur ine", + "Ġuri ne", + "Ġgr ind", + "Ġgri nd", + "Ġgrin d", + "Ġ Expanded", + "ĠExp anded", + "ĠExpand ed", + "des cripcion", + "- fw", + "-f w", + "ĠK erry", + "ĠKer ry", + "ĠKerr y", + "= name", + "=n ame", + "Ġ chk", + "Ġc hk", + "Ġch k", + "Ġn ationally", + "Ġnational ly", + "Ġnation ally", + "Ġt hee", + "Ġth ee", + "Ġthe e", + "I nc", + "In c", + "Ġ ?>>", + "Ġ? >>", + "Ġ?> >", + ". RadioButton", + ".R adioButton", + ".Http ServletResponse", + ".HttpServlet Response", + "/ Y", + "ĉ field", + "ĉf ield", + "ĉfi eld", + "Ġ homme", + "Ġhom me", + "y per", + "ype r", + "yp er", + "Ph ysical", + "Phys ical", + "= v", + "Ġd riv", + "Ġdr iv", + "Ġdri v", + "Ġ Errors", + "ĠError s", + "ĠEr rors", + "ĠErr ors", + "Ġc Äĥ", + "De ath", + "Ġ WINDOW", + "ĠW INDOW", + "Ġpo et", + "Ġ Sharp", + "ĠSh arp", + "ĠSha rp", + "ĠShar p", + "Ġ Immutable", + "ĠIm mutable", + "ĠImm utable", + "ĉ create", + "ĉc reate", + "Ġge ht", + "Ġgeh t", + "ĠRe form", + "ĠRef orm", + "a iser", + "ai ser", + "ais er", + "aise r", + "Ġ Initialization", + "ĠInitial ization", + "Ġimm unity", + "Ġimmun ity", + ". compose", + ".com pose", + ".comp ose", + "Ġlate ncy", + "Ġlat ency", + "Ġlaten cy", + "ĠLeban on", + "ĠPar ad", + "ĠPa rad", + "ĠPara d", + "Ġf uels", + "Ġfuel s", + "Ġfu els", + "Ġfue ls", + "ĠEx hib", + "c oh", + "co h", + "% \">Ċ", + "%\" >Ċ", + "%\"> Ċ", + "Ġ CLI", + "ĠC LI", + "ĠCL I", + ") initWith", + ")init With", + "- Za", + "-Z a", + "_ CLEAR", + "_C LEAR", + "_CL EAR", + "re gn", + "reg n", + "Ġfin ances", + "Ġfinance s", + "Ġfinanc es", + "Ġfinan ces", + ". standard", + ".st andard", + "_ CATEGORY", + "_C ATEGORY", + ". library", + ".l ibrary", + ".lib rary", + "Ġtravel ers", + "Ġtraveler s", + "_ wp", + "_w p", + "Ġ Evaluation", + "ĠE valuation", + "ĠEval uation", + "ĠEvalu ation", + "start ing", + "star ting", + "Ġ )),Ċ", + "Ġ) ),Ċ", + "Ġ)) ,Ċ", + "ep isode", + "Ġ Variant", + "ĠV ariant", + "ĠVar iant", + "ĠVari ant", + "Ġ daemon", + "Ġda emon", + "ĠJ ulia", + "ĠJul ia", + "ĠJu lia", + "ĠJuli a", + "Ġ NR", + "ĠN R", + "Ġd oubles", + "Ġdouble s", + "Ġdoub les", + "Ġdou bles", + "< v", + "/ runtime", + "/r untime", + "/run time", + "Ġ interpreter", + "Ġinter preter", + "Ġinterpret er", + "Ġinterpre ter", + "Ġ INDEX", + "ĠIN DEX", + "ĠIND EX", + "ĠHol mes", + "_ DIM", + "_D IM", + "_DI M", + "Ġp addle", + "Ġpad dle", + "Ġpadd le", + "_ example", + "_ex ample", + "_exam ple", + "Ġ foreground", + "Ġfore ground", + ". routes", + ".r outes", + ".route s", + ".ro utes", + "Ġs owie", + "Ġso wie", + "Ġsow ie", + "S UCCESS", + "Ġ CDC", + "ĠC DC", + "ĠCD C", + "Ġ BD", + "ĠB D", + "_ -", + "as ured", + "asure d", + "asu red", + "W riting", + "Wr iting", + "Ġ currentPage", + "Ġcurrent Page", + "( answer", + "(ans wer", + "(an swer", + "Ġ ASCII", + "ĠA SCII", + "ĠASC II", + "à ¨", + "Ġsocial ly", + "Ġsoc ially", + "Ġsoci ally", + "y yy", + "yy y", + "ĠSpecial ist", + "( customer", + "(c ustomer", + "(custom er", + "ist ani", + "istan i", + "ista ni", + "k est", + "ke st", + "kes t", + "ĠM ak", + "ĠMa k", + "Ġt ho", + "Ġth o", + ". pt", + ".p t", + "( comment", + "(com ment", + "(comm ent", + "Ġ Converter", + "ĠCon verter", + "ĠConvert er", + "g am", + "ga m", + "b ins", + "bin s", + "bi ns", + ". tele", + ".t ele", + ".te le", + ".tel e", + "ĠVeter ans", + "ĠVeteran s", + "_ ALLOC", + "_AL LOC", + "_ALL OC", + "олÑĮзов аÑĤ", + "inn amon", + "; width", + "o hl", + "oh l", + "Ġf antas", + "Ġfan tas", + "Ġfant as", + "Ġs ung", + "Ġsu ng", + "Ġsun g", + "ĉ K", + "( Json", + "(J son", + "Ġneighbour hood", + "Ġv ow", + "Ġvo w", + "Ġs ins", + "Ġsi ns", + "Ġsin s", + "on acci", + "ona cci", + "Ġ epochs", + "Ġepoch s", + "im agen", + "image n", + "ima gen", + "imag en", + ". Change", + ".Ch ange", + ".my batis", + "Se ek", + "See k", + "W ER", + "WE R", + "管 çIJĨ", + "Ġinter ess", + "Ġinte ress", + "Ġinteres s", + "_ Event", + "_E vent", + "ed erland", + "eder land", + "Ġterr itor", + "Ġci udad", + "uc ked", + "uck ed", + "Ġsn ack", + "Ġsna ck", + "Ġtrans ported", + "Ġtransport ed", + "Ġtransporte d", + "Ġ Manifest", + "ĠMan ifest", + "Ġ DAT", + "ĠD AT", + "ĠDA T", + "_ theta", + "_th eta", + "_the ta", + "Ġw ont", + "Ġwon t", + "Ġwo nt", + ". ĊĊĊĊĊĊĊĊĊĊ", + ".ĊĊ ĊĊĊĊĊĊĊĊ", + ".Ċ ĊĊĊĊĊĊĊĊĊ", + ".ĊĊĊĊ ĊĊĊĊĊĊ", + ".ĊĊĊ ĊĊĊĊĊĊĊ", + ".ĊĊĊĊĊĊ ĊĊĊĊ", + ".ĊĊĊĊĊĊĊĊ ĊĊ", + ".ĊĊĊĊĊ ĊĊĊĊĊ", + "Ĭ¶ æĢģ", + "ĠE pic", + "ĠEp ic", + "D eck", + "De ck", + "Dec k", + "l tra", + "lt ra", + "ltr a", + "_ ZERO", + "_Z ERO", + "Ġ[ ];", + "Ġ[] ;", + "/ scripts", + "/s cripts", + "/script s", + "Ġ --------------------------------------------------------------------------------", + "Ġ---------------------------------------------------------------- ----------------", + "Ġ---- ----------------------------------------------------------------------------", + "Ġ---------------- ----------------------------------------------------------------", + "Ġ------------------------------------------------ --------------------------------", + "Ġ-------------------------------- ------------------------------------------------", + "Ġ---------------------------------------------------------------------------- ----", + "Ġ---------- ----------------------------------------------------------------------", + "Ġ------------------------------------------------------------ --------------------", + "Ġ------------------------------------------------------------------------- -------", + "æĥ ħ", + "Ġ weed", + "Ġw eed", + "Ġwe ed", + "Ġwee d", + "N BC", + "NB C", + "Ġr aped", + "Ġrap ed", + "Ġra ped", + "Ġrape d", + "Ġ Gateway", + "ĠG ateway", + "ĠGate way", + "ĠGat eway", + "[ M", + "Ġ Timeout", + "ĠTime out", + "ench mark", + ". ViewModel", + ".View Model", + "Ġporn os", + "Ġpor nos", + "Ġporno s", + "Ġ Ya", + "ĠY a", + "th ritis", + "thr itis", + "ĠFl ynn", + "ĠFly nn", + "Ġ mega", + "Ġm ega", + "Ġme ga", + "Ġmeg a", + "a cin", + "ac in", + "aci n", + "Ġtr ibal", + "Ġtri bal", + "Ġtrib al", + ". apple", + ".app le", + ".ap ple", + "Ġ Blo", + "ĠB lo", + "ĠBl o", + "â n", + "i bi", + "ib i", + "r ov", + "ro v", + "ĠL ives", + "ĠLive s", + "ĠLi ves", + "ĠLiv es", + "^ .", + "get Request", + "Ġ Establish", + "ĠEst ablish", + "cont ainers", + "container s", + "contain ers", + "Ġst arring", + "Ġstar ring", + "Ġcele brities", + "Ġcelebr ities", + "Ġ Relative", + "ĠRel ative", + "ĠHe ights", + "ĠHeight s", + "Ġtq dm", + "ĠNorth west", + "i vic", + "iv ic", + "ivi c", + "ĉ cl", + "ĉc l", + "Ġautom otive", + "ent ric", + "entr ic", + "Ġ fortunate", + "Ġfort unate", + "Ġfire place", + "Ġfi replace", + "se ud", + "n ickname", + "nick name", + "; s", + "_ CAL", + "_C AL", + "_CA L", + "h alt", + "ha lt", + "hal t", + "( ns", + "(n s", + "_ deleted", + "_de leted", + "_delete d", + "_del eted", + "De velopment", + "Dev elopment", + "Develop ment", + "m ovies", + "movie s", + "mov ies", + "Ġid entities", + "Ġident ities", + "Ġprompt ly", + "ا ÙĨ", + "ا٠Ĩ", + "Ġ ante", + "Ġa nte", + "Ġan te", + "Ġant e", + "Ġ\" ','", + "Ġ\"' ,'", + "Ġ\"', '", + "åı £", + "imp se", + "imps e", + "Ġy ap", + "Ġya p", + "Type Name", + "Ġb itch", + "Ġbit ch", + "Ġassoci ates", + "Ġassociate s", + "Ġassoc iates", + "HE ME", + "- empty", + "-em pty", + "Ġ ت", + "ĠØ ª", + "ol vers", + "olve rs", + "olver s", + "olv ers", + "Ġp istol", + "Ġpist ol", + "Ġpis tol", + "Sc oped", + "Scope d", + "ag ner", + "agn er", + "agne r", + "' ]=='", + "'] =='", + "']= ='", + "']== '", + "Ġ IMP", + "ĠI MP", + "ĠIM P", + "e xc", + "ex c", + "Ġo mitted", + "Ġom itted", + "Ġomit ted", + "Ġmind set", + "Ġminds et", + "Ġ [](", + "Ġ[ ](", + "Ġ[] (", + "Ġ orn", + "Ġo rn", + "Ġor n", + "_ CAM", + "_C AM", + "_CA M", + "A vg", + "Av g", + "Localized String", + "ĠN atur", + "ĠNa tur", + "ĠNat ur", + "Ġ composer", + "Ġcom poser", + "Ġcomp oser", + "Ġcompose r", + "Ġcompos er", + "Ġ Playing", + "ĠPl aying", + "ĠPlay ing", + "ĠPla ying", + "Ġover d", + "Ġov erd", + "_ utf", + "_u tf", + "_ut f", + ". sk", + ".s k", + "ĠF ol", + "ĠFo l", + "$ page", + "$p age", + ", Object", + ",O bject", + "Ġb ees", + "Ġbe es", + "Ġbee s", + "al ary", + "ala ry", + "alar y", + "b ullet", + "bul let", + "bull et", + "_ library", + "_l ibrary", + "_lib rary", + "O ffer", + "Of fer", + "Off er", + "loc ated", + "locate d", + "Ġ (_,", + "Ġ( _,", + "Ġ(_ ,", + "âĢľ He", + "Ġ Owners", + "ĠOwn ers", + "ĠOwner s", + "ĠOw ners", + ") ).Ċ", + ")) .Ċ", + ")). Ċ", + "Ġb ri", + "Ġbr i", + ". Admin", + ".Ad min", + "k tion", + "kt ion", + "лÑİ Ñĩ", + "Ġerot ici", + "Ġerotic i", + "Cancel led", + "Ġ agr", + "Ġa gr", + "Ġag r", + "re views", + "review s", + "_ dma", + "_d ma", + "_dm a", + "R ICT", + "RI CT", + "RIC T", + "Ġ gfx", + "Ġg fx", + "Ġgf x", + "m pi", + "mp i", + "p po", + "pp o", + "Ġ //@", + "Ġ// @", + "Ġ/ /@", + "Ġ uppercase", + "Ġupper case", + "Ġcomm itting", + "Ġcommit ting", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "User Data", + "Ġv ai", + "Ġva i", + "ĉ sort", + "ĉs ort", + "Ġcongr at", + "Ġcong rat", + "Ġd ioxide", + "Ġdi oxide", + "д а", + ". area", + ".a rea", + ".ar ea", + ".are a", + "ĠJosh ua", + "ĠJos hua", + "ĠK och", + "ĠKo ch", + "_ break", + "_b reak", + "a zure", + "az ure", + "azu re", + "is tical", + "ist ical", + "istic al", + "isti cal", + "istica l", + "_AL PHA", + "_ views", + "_view s", + "_vi ews", + "Ġelim inating", + "Ġelimin ating", + "O MB", + "OM B", + "e numer", + "en umer", + "enu mer", + "enum er", + "ĠH ydro", + "ĠHy dro", + "( *(", + "(* (", + "ERT ICAL", + "Ġinev itably", + "Ġst ole", + "Ġsto le", + "Ġstol e", + "- east", + "-e ast", + "i eron", + "ie ron", + "ier on", + "iero n", + "Ġ linger", + "Ġl inger", + "Ġli nger", + "Ġlin ger", + "Ġling er", + "/ doc", + "/d oc", + "/do c", + "Å º", + "Ġ Already", + "ĠAl ready", + "as io", + "asi o", + "Ġ --Ċ", + "Ġ- -Ċ", + "Ġ-- Ċ", + "Ġ abbrev", + "Ġabb rev", + "Ġ Atom", + "ĠA tom", + "ĠAt om", + "h im", + "hi m", + "Ġ INSERT", + "ĠINS ERT", + "s un", + "su n", + "âĻ ª", + "CON NECT", + "CONN ECT", + "er ator", + "era tor", + "ĠM anning", + "ĠMan ning", + "ĠMann ing", + "Ġ :(", + "Ġ: (", + "g as", + "ga s", + "= >'", + "=> '", + "Ġquery set", + "; }čĊ", + ";} čĊ", + "Ġ Population", + "ĠPop ulation", + "uted String", + "res ident", + "resi dent", + "_ FONT", + "_F ONT", + "Ġ Respond", + "ĠRes pond", + "ĠResp ond", + "Ġobsc ure", + "Ġ observable", + "Ġo bservable", + "Ġobserv able", + "ĠContrib utors", + "ĠContributor s", + "k on", + "ko n", + "ĠM usk", + "ĠMus k", + "ĠMu sk", + "ex ao", + "ĠT ub", + "ĠTu b", + "Boot Application", + "S OR", + "SO R", + ". Horizontal", + ".H orizontal", + ". findBy", + ".find By", + ". power", + ".p ower", + ".pow er", + ".po wer", + "Ġpositive ly", + "Ġposit ively", + "ven ience", + "ĠJ ong", + "ĠJo ng", + "ĠJon g", + "Ġwh istle", + "Ġ знаÑĩ", + "Ġз наÑĩ", + "Ġзна Ñĩ", + "Ġзн аÑĩ", + "Ġl ending", + "Ġlen ding", + "Ġlend ing", + "Ġdestruct ive", + "Ġ onDelete", + "Ġon Delete", + "author ization", + "() ;?>", + "(); ?>", + "_ original", + "_or iginal", + "_origin al", + "_orig inal", + "sc ience", + "sci ence", + "a tra", + "at ra", + "atr a", + "?, ?,", + "Ġ Asc", + "ĠA sc", + "ĠAs c", + "Ġconvin cing", + "Ġconvinc ing", + "$ a", + "or gen", + "org en", + "orge n", + "_ Date", + "_D ate", + "Ġ Provide", + "ĠPro vide", + "ĠProvid e", + "ĠProv ide", + "Ġlon ely", + "Ġlone ly", + ") 'Ċ", + ")' Ċ", + "ex change", + "; ?>Ċ", + ";?> Ċ", + ". fast", + ".f ast", + ".fa st", + "S amples", + "Sample s", + "Sam ples", + "L ondon", + "Lo ndon", + "Lon don", + "' ])čĊ", + "'] )čĊ", + "']) čĊ", + "Ġ Ionic", + "ĠI onic", + "ĠIo nic", + "ĠIon ic", + "Ġp esso", + "Ġpes so", + "ĠKn ights", + "ĠKnight s", + "ĠR af", + "ĠRa f", + "_ attrs", + "_at trs", + "_attr s", + "_att rs", + "Ġrepe al", + "> Main", + ">M ain", + "Ġ Ordered", + "ĠOrder ed", + "ĠOrd ered", + "_ New", + "_N ew", + "=\" \"> < /", + "url patterns", + "ATION AL", + "ATIO NAL", + "pe ech", + "pee ch", + "ĠId aho", + "Ġpr incess", + "Ġprince ss", + "Ġprin cess", + "Ġprinc ess", + "Ġprinces s", + "Ġ Customers", + "ĠCustom ers", + "ĠCustomer s", + "ĠCust omers", + "a ways", + "aw ays", + "away s", + "awa ys", + "a db", + "ad b", + "ĠBry ant", + "ĠBryan t", + "n once", + "no nce", + "non ce", + "Ġad ul", + "Ġ` `(", + "Ġ`` (", + "Ġafter math", + "= dict", + "=d ict", + "text Box", + "Ġs perm", + "Ġsp erm", + "Ġspe rm", + "Ġsper m", + "Ġc ough", + "Ġco ugh", + "Ġcou gh", + "H or", + "Ho r", + "âĢĻ S", + ".Component ResourceManager", + "Ġreg ulator", + "Ġregul ator", + "Ġpartner ships", + "Ġpartners hips", + "Ġpartnership s", + "/ projects", + "/project s", + "t rys", + "tr ys", + "try s", + "ĠL aser", + "ĠLa ser", + "ĠLas er", + "⣠©", + "ĠF unk", + "ĠFun k", + "ĠFu nk", + "Ġun conscious", + "Ġuncon scious", + "Ġc rust", + "Ġcr ust", + "Ġcru st", + "Ġcrus t", + "Ġ Teams", + "ĠTe ams", + "ĠTeam s", + "ĠTea ms", + "Ġ Banner", + "ĠB anner", + "ĠBan ner", + "ĠH oney", + "ĠHon ey", + "ĠHo ney", + "l ems", + "le ms", + "lem s", + "Ġmax Width", + "Pointer Exception", + "fade Out", + "- St", + "-S t", + "Ġstr angers", + "Ġstrange rs", + "Ġstranger s", + "Ġstrang ers", + "Ġstran gers", + "_ GO", + "_G O", + "W ritable", + "Wr itable", + "_ Info", + "_In fo", + ". NonNull", + ".Non Null", + "an notations", + "annot ations", + "annotation s", + "Ġ GD", + "ĠG D", + "Ġendorse d", + "Ġendors ed", + "ĉToken Name", + "Ġ Depending", + "ĠDe pending", + "ĠDep ending", + "ĠDepend ing", + "YN AM", + "Ġ Meteor", + "ĠM eteor", + "ĠMet eor", + "Ġ Increase", + "ĠIn crease", + "ĠIncre ase", + ". Many", + ".M any", + ".Man y", + ".Ma ny", + "= =(", + "== (", + ". UUID", + ".U UID", + "_ KERNEL", + "_K ERNEL", + "Ġvid é", + "Ġ pq", + "Ġp q", + "ĠQt Gui", + "Ġ Various", + "ĠV arious", + "ĠVar ious", + "ĠVa rious", + "ĠVari ous", + "Ġ john", + "Ġj ohn", + "Ġjo hn", + "_ patch", + "_p atch", + "_pat ch", + "Ġt outes", + "Ġto utes", + "Ġtou tes", + "Ġtout es", + "Ġtoute s", + "Ġ Fail", + "ĠF ail", + "ĠFa il", + "Ġsurv iving", + "Ġsurviv ing", + "( \"${", + "(\" ${", + "(\"$ {", + "Ġ ĠĠĠĠĠĠčĊ", + "ĠĠ ĠĠĠĠĠčĊ", + "ĠĠĠĠ ĠĠĠčĊ", + "ĠĠĠ ĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠ čĊ", + "ĠĠĠĠĠ ĠĠčĊ", + "ĠĠĠĠĠĠ ĠčĊ", + "Ġ imageUrl", + "Ġimage Url", + ". wordpress", + ".word press", + "s ources", + "source s", + "ĉgl Vertex", + "âĢĻ a", + "Ġes col", + "Ġesc ol", + "R ARY", + "RA RY", + "RAR Y", + "Ġ Snake", + "ĠSn ake", + "Ġqu int", + "Ġq uint", + "Ġqui nt", + "Ġl asts", + "Ġla sts", + "Ġlast s", + "Ġlas ts", + "ĠHar mon", + "ĠHarm on", + "Ġ coil", + "Ġc oil", + "Ġco il", + "Ġcoi l", + "Ġexplo itation", + "Ġexploit ation", + "l een", + "le en", + "lee n", + "' >\";Ċ", + "'> \";Ċ", + "'>\" ;Ċ", + "Ġ SERVER", + "ĠS ERVER", + "ĠSER VER", + "Ġ HEADER", + "ĠHE ADER", + "ĠHEAD ER", + "_ velocity", + "_v elocity", + "_vel ocity", + "Ġ Invoke", + "ĠIn voke", + "ĠInv oke", + ". timestamps", + ".timestamp s", + "Ġs ulf", + "Ġsu lf", + "Ġsul f", + "I QUE", + "IQ UE", + "Ġinhabit ants", + "ph ins", + "phi ns", + "phin s", + "a zzo", + "az zo", + "azz o", + "Ġ mono", + "Ġm ono", + "Ġmon o", + "Ġmo no", + "L egend", + "Le gend", + "Leg end", + "Ġ nonce", + "Ġn once", + "Ġno nce", + "Ġnon ce", + "I FE", + "IF E", + "; \";Ċ", + ";\" ;Ċ", + "- create", + "-c reate", + "\" \",Ċ", + "\"\" ,Ċ", + "\"\", Ċ", + "per mit", + "perm it", + "ĠIm migration", + "ĠImm igration", + "Ġ pathname", + "Ġpath name", + "ff ective", + "ffect ive", + "âĻĢ âĻĢ", + "Ġex ams", + "Ġexam s", + "- event", + "-e vent", + "-ev ent", + "-even t", + "ĠT ill", + "ĠTi ll", + "ĠTil l", + "[ mid", + "[m id", + "F IX", + "FI X", + "; color", + ";c olor", + "( Order", + "_ traits", + "_t raits", + "_tr aits", + "_tra its", + "_trait s", + "Ġ orderBy", + "Ġorder By", + "Ġs unt", + "Ġsu nt", + "Ġsun t", + "ĠNich olas", + "Ø ²", + "Ġs unny", + "Ġsun ny", + "i ners", + "in ers", + "ine rs", + "iner s", + "Ġaccess ibility", + "Ġ HB", + "ĠH B", + ". comp", + ".c omp", + ".com p", + ".co mp", + "ĉ op", + "ĉo p", + "Ġminor ities", + "eth eus", + "ethe us", + "Ġcollabor ative", + "p rit", + "pr it", + "pri t", + "H IR", + "HI R", + "Ġwr aps", + "Ġwrap s", + "ĉ draw", + "ĉd raw", + "g od", + "go d", + "Ġ IX", + "ĠI X", + ". apps", + ".app s", + ".ap ps", + ".a pps", + "Ġ NM", + "ĠN M", + "Ġir relevant", + "Ġirre levant", + "ĠT igers", + "ĠTi gers", + "ĠTiger s", + "ĠTig ers", + "Ġ diag", + "Ġd iag", + "Ġdi ag", + "Ġdia g", + "G V", + "ĠAccess ories", + "k ont", + "ko nt", + "kon t", + "Ġs implify", + "Ġsimp lify", + "Ġsimpl ify", + "Ġ Favorite", + "ĠF avorite", + "ĠFavor ite", + "_ tools", + "_t ools", + "_to ols", + "_tool s", + "( []);Ċ", + "([ ]);Ċ", + "([] );Ċ", + "Ġt owers", + "Ġto wers", + "Ġtow ers", + "Ġtower s", + "B es", + "Be s", + "Ġ hunter", + "Ġh unter", + "Ġhun ter", + "Ġhunt er", + "Ġs alon", + "Ġsa lon", + "Ġsal on", + "( buff", + "(b uff", + "(buf f", + "ĉ debug", + "ĉde bug", + "Ġmal ware", + "M oving", + "Mo ving", + "Mov ing", + "- options", + "-o ptions", + "-option s", + "-opt ions", + ") +'", + ")+ '", + "ĠL OVE", + "ĠLO VE", + "_S OCKET", + "_SO CKET", + "_ fin", + "_f in", + "ĠDel aware", + "Ġsher iff", + "- invalid", + "-in valid", + "Ġ FULL", + "ĠF ULL", + "ĠFU LL", + "Ġ под", + "Ġп од", + "Ġпо д", + "e las", + "el as", + "ela s", + "\" strings", + "ĠRepresent atives", + "ĠRepresentative s", + "s urface", + "sur face", + "surf ace", + "res olved", + "resolve d", + "ht docs", + ") ):čĊ", + ")) :čĊ", + ")): čĊ", + "Ġpress ures", + "Ġpressure s", + "Ġno rms", + "Ġnor ms", + "Ġnorm s", + "Ġ pla", + "Ġp la", + "Ġpl a", + "Ġ surname", + "Ġs urname", + "Ġsur name", + "Ġ postal", + "Ġpos tal", + "Ġpost al", + "Ġpo stal", + "Ġ Depart", + "ĠDe part", + "ĠDep art", + "Ġs laughter", + "Ġsla ughter", + "or ida", + "ori da", + "Ġhe bben", + "Ġheb ben", + "Ġd esar", + "Ġde sar", + "Ġdes ar", + "comp act", + "_ LANG", + "_L ANG", + "_LA NG", + "åIJ Ī", + "o poly", + "op oly", + "opol y", + "opo ly", + "_ rad", + "_r ad", + "_ra d", + "ĠST DMETHOD", + "ĠSTD METHOD", + "L azy", + "La zy", + "Ġ ĠĠĉ", + "ĠĠ Ġĉ", + "ĠĠĠ ĉ", + ".. .,", + "... ,", + "( web", + "(w eb", + "Ġ Pont", + "ĠP ont", + "ĠPo nt", + "ĠPon t", + "Ġet was", + "Ġetwa s", + "Ġup ward", + "_ hat", + "_h at", + "Ġ ],ĊĊ", + "Ġ] ,ĊĊ", + "Ġ],Ċ Ċ", + "Ġ], ĊĊ", + "Ġ baseUrl", + "Ġbase Url", + "Ġwor rying", + "Ġworry ing", + "- addon", + "-add on", + "-ad don", + "( getClass", + "(get Class", + "S PI", + "SP I", + "Ġcapt uring", + ") },Ċ", + ")} ,Ċ", + ")}, Ċ", + "E ffects", + "Effect s", + "Eff ects", + "Ġcompet ent", + "Ġcompete nt", + "Ġf oul", + "Ġfo ul", + "Ġfou l", + "Ġsubs cribing", + "Ġsubscri bing", + "Ġ OBJECT", + "ĠO BJECT", + "ĠOBJ ECT", + "ĠOB JECT", + "IX EL", + "b ucks", + "bu cks", + "( edge", + "(e dge", + "(ed ge", + "( pass", + "(p ass", + "(pa ss", + "ĠPeter son", + "ĠPet erson", + "ĠPeters on", + "Ġbo obs", + "Ġboo bs", + "Ġboob s", + "Ġ Delay", + "ĠD elay", + "ĠDe lay", + "ĠDel ay", + "_ square", + "_s quare", + "e lim", + "el im", + "eli m", + "o ters", + "ot ers", + "ote rs", + "oter s", + "_ PC", + "_P C", + "% E", + "on click", + "Ġ SVG", + "ĠS VG", + "ĠSV G", + "Ġt opped", + "Ġto pped", + "Ġtop ped", + "Ġtopp ed", + "Ġf ist", + "Ġfi st", + "Ġfis t", + "s mart", + "sm art", + "ĠR alph", + "( owner", + "(o wner", + "j ours", + "jo urs", + "jour s", + "Ġbro nze", + "Ġbron ze", + "Ġ ArgumentException", + "ĠArgument Exception", + "( original", + "(origin al", + "(orig inal", + "(or iginal", + "_ SCALE", + "_S CALE", + "_SC ALE", + "_ cp", + "_c p", + "Ġrecomm ends", + "Ġrecommend s", + ".set Style", + "S ure", + "Sur e", + "Su re", + "L AND", + "LA ND", + "LAN D", + "Ġre peating", + "Ġrep eating", + "Ġrepe ating", + "Ġrepeat ing", + "M att", + "Mat t", + "Ma tt", + ". Visibility", + "Ġenter prises", + "Ġenterprise s", + ". Setup", + ".Set up", + "( scene", + "(s cene", + "(sc ene", + "ĠRe active", + "ĠReact ive", + "ur ge", + "urg e", + "b w", + ". Put", + ".P ut", + "p ersist", + "pers ist", + ". cookie", + ".c ookie", + ".co okie", + "ĠA udi", + "ĠAud i", + "ĠAu di", + "` s", + "s upplier", + "sup plier", + "( Form", + "(F orm", + " ¡", + "_ so", + "_s o", + "Į Ģ", + "ĠLeg ion", + "t te", + "tt e", + "N d", + "L oss", + "Lo ss", + "Los s", + "( attrs", + "(at trs", + "(attr s", + "(att rs", + ". scatter", + ".sc atter", + "Ġg room", + "Ġgr oom", + "Ġgro om", + "Ġgl impse", + "Ġglimps e", + "Ġn ails", + "Ġna ils", + "Ġnail s", + "Ġcum ulative", + "Ġf azer", + "Ġfa zer", + "Ġfaz er", + "_ services", + "_s ervices", + "_service s", + "_serv ices", + ". Num", + ".N um", + "ib ilit", + "ibil it", + "ibi lit", + "ibili t", + "_ resolution", + "_re solution", + "_res olution", + "Ġ Tx", + "ĠT x", + "um inium", + "umin ium", + "o pa", + "op a", + ". schedule", + ".s chedule", + "sm tp", + "ภķ", + "ur ry", + "urr y", + "ü k", + "g oog", + "go og", + "goo g", + "_ signature", + "_sign ature", + "_sig nature", + ". into", + ".in to", + ".int o", + "Ġ Steps", + "ĠSt eps", + "ĠSte ps", + "ĠStep s", + "Ġhome owners", + "Ġhomeowner s", + "Ġ NSURL", + "ĠNS URL", + "ĠP AC", + "ĠPA C", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĊĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĊĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĊĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĊĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĊĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĊĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĊĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĊĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĊĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĊ Ċ", + "> ')Ċ", + ">' )Ċ", + ">') Ċ", + "e nh", + "en h", + "Ġin cap", + "Ġinc ap", + "$ MESS", + "Ġm oins", + "Ġmo ins", + "Ġmoi ns", + "Ġ Fi", + "ĠF i", + "Ġoff season", + "pr essions", + "press ions", + "pression s", + "> .. < /", + "Ġpro vinces", + "Ġprov inces", + "Ġprovince s", + "Ġprovinc es", + "_ RAW", + "_R AW", + "_RA W", + "\\ App", + "Ġprostit uer", + "Ġprostitu er", + "_ gain", + "_g ain", + ".t encent", + "ff ects", + "ffect s", + "ffe cts", + "( pk", + "(p k", + "s ku", + "sk u", + "Ġ usable", + "Ġus able", + "Ġusa ble", + "ER VED", + "ERV ED", + "ERVE D", + "Ġant enna", + "Ġantenn a", + "h ea", + "he a", + "p list", + "pl ist", + "_ PLUGIN", + "_PL UGIN", + "Ñģ л", + ". lookup", + ".look up", + "á» ģ", + "Ġen larg", + "Ġp iss", + "Ġpi ss", + "Ġpis s", + "H am", + "Ha m", + "i map", + "im ap", + "ima p", + "Ġ invalidate", + "Ġin validate", + "Ġinvalid ate", + "Ġs ilk", + "Ġsi lk", + "Ġsil k", + "=\"# \">Ċ", + "=\"#\" >Ċ", + "=\"#\"> Ċ", + "ĠGr ass", + "ĠGra ss", + "Ġ Goal", + "ĠGo al", + "ĠGoa l", + "_ pdf", + "_p df", + "_pd f", + "Hand lers", + "Handler s", + "Handle rs", + "Ġst acks", + "Ġstack s", + "Ġsta cks", + ". getFullYear", + ".get FullYear", + "= [];Ċ", + "=[ ];Ċ", + "=[] ;Ċ", + "è½ ¦", + ", V", + "( split", + "(s plit", + "(sp lit", + "Ñĥн к", + "Ġbake ca", + "Ġbak eca", + "Ġ~ /.", + "Ġ~/ .", + "p ez", + "pe z", + "t ails", + "ta ils", + "tail s", + "ĠG len", + "ĠGl en", + "ĠGle n", + "Ġ setImage", + "Ġset Image", + "Ġ Comic", + "ĠC omic", + "ĠCom ic", + "ĠCo mic", + "B LOCK", + "BL OCK", + "ĉ This", + "ĉT his", + "o ader", + "oad er", + "oa der", + "Ġcapital ist", + "Ġcapita list", + "Ġcapit alist", + "_ STEP", + "_ST EP", + "( Boolean", + "Ġ Correct", + "ĠC orrect", + "ĠCor rect", + "r ina", + "ri na", + "rin a", + "Ġconc aten", + "Ġconcat en", + "å® ŀ", + "( ):ĊĊ", + "() :ĊĊ", + "():Ċ Ċ", + "(): ĊĊ", + "Ġun anim", + "Ġuna nim", + "l li", + "ll i", + "al ars", + "ala rs", + "alar s", + "- ne", + "-n e", + "Ġd ivor", + "Ġdi vor", + "Ġdiv or", + "ĠKick starter", + "] ._", + "]. _", + "< number", + " * * < /", + ": d", + "m di", + "md i", + "bind Value", + "Ġ Decision", + "ĠDe cision", + "ĠDec ision", + "Return Value", + ", index", + ",in dex", + "x fc", + "xf c", + "Ġse rum", + "Ġser um", + "get Field", + "Connection String", + "- object", + "-o bject", + "-ob ject", + ". recv", + ".re cv", + ".rec v", + "Ġunder graduate", + "Ġundergrad uate", + ". Infrastructure", + ".Inf rastructure", + "ĠK ab", + "ĠKa b", + "Ġadv isory", + "Ġadvis ory", + "Ġadvisor y", + "- tree", + "-t ree", + "-tr ee", + "Ġ mue", + "Ġm ue", + "Ġmu e", + "in form", + "info rm", + "inf orm", + ". embed", + ".em bed", + "Ġ errorCode", + "Ġerror Code", + "m icro", + "mi cro", + "mic ro", + "Ġsp arked", + "Ġspark ed", + "Ġspar ked", + "Ġimage ry", + "Ġimag ery", + "con c", + "co nc", + "_ missing", + "_m issing", + "_miss ing", + "Ġsur plus", + "K S", + "ĉR THOOK", + "ĉRT HOOK", + "T ell", + "Te ll", + "Tel l", + "r ium", + "ri um", + "Ġ Radius", + "ĠR adius", + "ĠRad ius", + "ĠRadi us", + "r ika", + "ri ka", + "rik a", + "los ion", + "ĠH ern", + "ĠHe rn", + "ĠHer n", + "G amma", + "Gam ma", + "Ga mma", + "Ġ Fee", + "ĠF ee", + "ĠFe e", + "Ġ Named", + "ĠN amed", + "ĠName d", + "ĠNa med", + "ĠNam ed", + "ĠCan yon", + "Ġ JSONArray", + "ĠJSON Array", + "Ġz wei", + "Ġzw ei", + "Ġzwe i", + "Ġ SSH", + "ĠS SH", + "ĠSS H", + "Ġser vant", + "Ġserv ant", + "co al", + "Ġden ying", + "Ġdeny ing", + "Ġs plits", + "Ġsplit s", + "Ġspl its", + "In correct", + "Inc orrect", + "Ġt ox", + "Ġto x", + "ĠAnal yst", + "ĠAnaly st", + "Ġacc red", + "Ġac cred", + "Ġaccr ed", + "u ble", + "ub le", + "ubl e", + "Ġ wt", + "Ġw t", + "Ġ Trial", + "ĠT rial", + "ĠTr ial", + "ĠTri al", + ". extension", + ".ext ension", + "Ġ Career", + "ĠCar eer", + "ĠCare er", + "Ġsec uring", + "ĠL il", + "ĠLi l", + "Ġpro jections", + "Ġproject ions", + "Ġproj ections", + "Ġprojection s", + "Ġproje ctions", + "Ġy east", + "Ġye ast", + "M ade", + "Ma de", + "Mad e", + "Ġfound ations", + "Ġfoundation s", + "ac ific", + "aci fic", + ". volume", + ".v olume", + ".vol ume", + "Ġmir rors", + "Ġmirror s", + "#### ############################################################################", + "######## ########################################################################", + "################ ################################################################", + "################################ ################################################", + "################################################################ ################", + "################################################ ################################", + "############################################################################ ####", + "######################################################################## ########", + "######################################## ########################################", + "######################## ########################################################", + "######################################################## ########################", + "Ġvi olate", + "Ġviol ate", + "ars ers", + "arse rs", + "arser s", + "Ġs ocio", + "Ġso cio", + "Ġsoc io", + "Ġsoci o", + "Ġtk inter", + "Ġ LINK", + "ĠL INK", + "ĠLI NK", + "ĠLIN K", + ". getSize", + ".get Size", + ".getS ize", + "Ġ Whole", + "ĠW hole", + "ĠWh ole", + "ĠWho le", + ")view DidLoad", + "ĉ done", + "ĉd one", + "ĉdo ne", + "ude au", + "\\ \"> < /", + "And rew", + "Andre w", + "e rb", + "er b", + "Ġf ö", + ". cluster", + ".cl uster", + "Ġdis course", + "Ġdisc ourse", + "Ġdiscour se", + "Ġdisco urse", + "_DE FIN", + "_DEF IN", + "Ġpued en", + "Ġpu eden", + "Ġpuede n", + "Ġ LOW", + "ĠL OW", + "ĠLO W", + ". av", + ".a v", + "Ġpr eca", + "Ġpre ca", + "Ġprec a", + "Ġ quo", + "Ġqu o", + "Ġq uo", + "Ġve loc", + "Ġvel oc", + ", ''", + ",' '", + "Ġ xyz", + "Ġx yz", + "Ġxy z", + "ĉ padding", + "ĉp adding", + "Ġtom atoes", + "Ġtomato es", + "ĠB ent", + "ĠBe nt", + "ĠBen t", + "_ curr", + "_c urr", + "_cur r", + "_cu rr", + "NS Date", + "Ġ getCurrent", + "Ġget Current", + "ĠgetC urrent", + "Ġ [`", + "Ġ[ `", + "Wed nesday", + ". Bar", + ".B ar", + "Ġ Vous", + "ĠV ous", + "ĠVo us", + "i nz", + "in z", + "ĠQu inn", + "ĠQui nn", + "ex cel", + "exc el", + "d os", + "do s", + "Ġout dated", + "O UTH", + "OUT H", + "OU TH", + "Ġ Maker", + "ĠM aker", + "ĠMake r", + "ĠMa ker", + "ĠMak er", + "ep endency", + "epend ency", + "Ġd ull", + "Ġdu ll", + "Ġdul l", + "ĠW inn", + "ĠWin n", + "ĠWi nn", + "o ge", + "og e", + "cl ave", + "cla ve", + "Ġ nova", + "Ġn ova", + "Ġno va", + "Ġnov a", + "Ġ aval", + "Ġa val", + "Ġav al", + "Ġava l", + "C apt", + "Cap t", + "Ca pt", + "ĠSp otify", + "ĠSpot ify", + "Ġj ul", + "Ġju l", + ") tableView", + ")t ableView", + "Ġf ilenames", + "Ġfile names", + "Ġfil enames", + "Ġfilename s", + "Ġesk ort", + "åij ¨", + "Ġsk ew", + "Ġske w", + "t erior", + "ter ior", + "te rior", + "teri or", + "Ġfin anc", + "Ġfinan c", + "Ġ tabla", + "Ġtab la", + "Ġta bla", + "ĠU IB", + "ĠUI B", + "Ġ ():", + "Ġ( ):", + "Ġ() :", + "ĠD ocker", + "ĠDo cker", + "ĠDoc ker", + "ĠDock er", + "per centage", + "percent age", + "Me et", + "i chi", + "ic hi", + "ich i", + "Ġinter im", + "Ġinte rim", + "Ġ' ='", + "Ġ'= '", + ". JSONObject", + ".JSON Object", + "( fid", + "(f id", + "(fi d", + "Ġd ownt", + "Ġdown t", + "Ġdow nt", + "Ġtrans ient", + "ĠSt eph", + "ĠSte ph", + "ĠStep h", + "Ġignor ance", + "Ġ Codes", + "ĠC odes", + "ĠCo des", + "ĠCode s", + "ĠCod es", + "= '',", + "=' ',", + "='' ,", + "Ġ ICE", + "ĠI CE", + "ĠIC E", + "Ġtran qu", + "Ġ Extended", + "ĠExt ended", + "ĠExtend ed", + "Ġ mund", + "Ġm und", + "Ġmu nd", + "Ġmun d", + "Ġ HOME", + "ĠH OME", + "ĠHO ME", + "Ġkil ometers", + "Ġkilomet ers", + "Ġ imagen", + "Ġim agen", + "Ġimage n", + "Ġimag en", + "Ġima gen", + "o ux", + "ou x", + "( sz", + "(s z", + "You ng", + "Yo ung", + "uff ed", + "uf fed", + "Ġ Wake", + "ĠW ake", + "ĠWa ke", + "ĠWak e", + "Ġa ide", + "Ġaid e", + "Ġai de", + "P ROC", + "PR OC", + "PRO C", + "ĠR at", + "ĠRa t", + "ĠL ith", + "ĠLi th", + "ĠLit h", + "b art", + "bar t", + "ba rt", + "Ġ Arrange", + "ĠAr range", + "ĠArr ange", + "p rompt", + "prom pt", + "Ð £", + "( ct", + "(c t", + "Ġ Interval", + "ĠInt erval", + "ĠInter val", + "d ept", + "de pt", + "dep t", + "D aniel", + "Dan iel", + "Dani el", + "Ġ fills", + "Ġf ills", + "Ġfil ls", + "Ġfill s", + ". tensor", + ".t ensor", + "( trim", + "(t rim", + "(tr im", + "Ġje alous", + "F eb", + "Fe b", + "\\ Common", + "Ġamendment s", + "Ġamend ments", + "_ operator", + "_op erator", + "_o perator", + "_oper ator", + "_ customize", + "_custom ize", + "Ġ ]]", + "Ġ] ]", + "Ġ bn", + "Ġb n", + "Ġdis appointment", + "Ġdisappoint ment", + "Ġmill enn", + ". when", + ".w hen", + ".wh en", + "Ġob ey", + "Ġobe y", + "Ġoff enders", + "Ġoffender s", + "Ġoffend ers", + "Ġoffen ders", + "W ild", + "Wil d", + "Wi ld", + "Ġcell For", + "Ġappar atus", + ". after", + ".a fter", + ".af ter", + "Ġ EPS", + "ĠE PS", + "ĠEP S", + "Ġad orable", + "ope rand", + "oper and", + "( listener", + "(list ener", + "ve al", + "Ġ )(", + "Ġ) (", + "Ġcardio vascular", + "uplic ates", + "uplicate s", + "r istol", + "rist ol", + "ris tol", + "Ġref uses", + "Ġrefuse s", + "( QWidget", + "(Q Widget", + "Ġel emento", + "Ġelement o", + "Ġelem ento", + "Number Of", + ". delay", + ".d elay", + ".de lay", + ".del ay", + ". groups", + ".g roups", + ".group s", + "\" >'+", + "\"> '+", + "\">' +", + "åĿ Ģ", + "ace ncy", + "ac ency", + "acen cy", + "( URL", + "(U RL", + "_ half", + "_h alf", + "_hal f", + "= l", + "Ġlist View", + "( section", + "(s ection", + "(se ction", + "(sec tion", + ". toArray", + ".to Array", + "+ /", + "ĠRodrig uez", + "i stream", + "ist ream", + "istr eam", + "Ġelig ibility", + ": :-", + ":: -", + ". newInstance", + ".new Instance", + "P B", + "Ġ Assets", + "ĠAs sets", + "ĠAss ets", + "ĠAsset s", + "Ġ Composite", + "ĠCom posite", + "ĠComp osite", + "ĠL abs", + "ĠLa bs", + "ĠLab s", + "ĠH amas", + "ĠHam as", + "ĠHa mas", + "++ );Ċ", + "++) ;Ċ", + "Ġ blk", + "Ġb lk", + "Ġbl k", + "Ġ Neo", + "ĠN eo", + "ĠNe o", + "L uc", + "Lu c", + "@ login", + "Ġun aware", + "Ġuna ware", + ". met", + ".m et", + ".me t", + "_ RELEASE", + "_RE LEASE", + "( ST", + "(S T", + "AM IL", + "AMI L", + "r ike", + "ri ke", + "rik e", + "Ġ (){Ċ", + "Ġ( ){Ċ", + "Ġ() {Ċ", + "Ġ(){ Ċ", + "( sprintf", + "(s printf", + "Ġ Accounts", + "ĠAc counts", + "ĠAccount s", + "Ġ VIEW", + "ĠV IEW", + "ĠVI EW", + "Ġ Aj", + "ĠA j", + "ãĤ °", + "Ġwh isk", + "Ġ idi", + "Ġi di", + "Ġid i", + "Ġr ode", + "Ġro de", + "Ġrod e", + "Ġ ihn", + "Ġi hn", + "Ġih n", + "ĠElement ary", + "Q ty", + "Qt y", + "Ġintrig uing", + "Ġ å¤", + "Ġå ¤", + "J obs", + "Job s", + "Jo bs", + "ĉ offset", + "ĉo ffset", + "ĠAh med", + "ĠTal iban", + "Ġ èİ·åıĸ", + "Ġè İ·åıĸ", + "Ġin jected", + "Ġinj ected", + "Ġinject ed", + ". Authentication", + ".Auth entication", + "_ linear", + "_l inear", + "_line ar", + "_lin ear", + "_li near", + ". Decimal", + ".D ecimal", + ".De cimal", + ".Dec imal", + "Ġapp les", + "Ġap ples", + "Ġappl es", + "Ġapple s", + "Ġshare holders", + "Ġshareholder s", + "Ġb aked", + "Ġba ked", + "Ġbake d", + "Ġbak ed", + ". diff", + ".d iff", + ".di ff", + "ĠE ddie", + "ĠEd die", + "o kers", + "ok ers", + "oke rs", + "oker s", + "Ġconfront ed", + "vo ices", + "voice s", + "Ġt us", + "Ġtu s", + "Ġ Spin", + "ĠS pin", + "ĠSp in", + "ĠSpi n", + "N ODE", + "NO DE", + "_ Un", + "_U n", + "C TX", + "CT X", + "/ google", + "/g oogle", + "/go ogle", + "T emperature", + "Tem perature", + "Ġ' ').", + "Ġ'' ).", + "Ġ'') .", + "Ġmagn ificent", + "Ġ startIndex", + "Ġstart Index", + "semb les", + "sem bles", + "semble s", + "sembl es", + "Any one", + "z k", + "e hen", + "eh en", + "ĠD ame", + "ĠDa me", + "ĠDam e", + ". strict", + ".str ict", + "Ġre places", + "Ġrep laces", + "Ġrepl aces", + "Ġreplace s", + "Ġline back", + "Ġpush es", + "Ġpus hes", + "Ġche ek", + "ĠS hi", + "ĠSh i", + "_ BYTES", + "_BY TES", + "_BYTE S", + "R EA", + "RE A", + "ả n", + "_CON NECTION", + "_CONNECT ION", + "G ateway", + "Gate way", + "ĠTr avis", + "ĠTra vis", + "ĠTrav is", + "Ġ AX", + "ĠA X", + "Ġ Basically", + "ĠBasic ally", + "ĠBas ically", + "Ġ Upgrade", + "ĠUp grade", + "à ª", + "th emes", + "the mes", + "theme s", + "them es", + "er mo", + "erm o", + "k or", + "ko r", + "F emale", + "Fe male", + "_ attach", + "_at tach", + "_att ach", + "ĠìĤ¬ ìļ©", + "Ġ poz", + "Ġp oz", + "Ġpo z", + "= =============Ċ", + "== ============Ċ", + "==== ==========Ċ", + "======== ======Ċ", + "=== ===========Ċ", + "============ ==Ċ", + "============= =Ċ", + "=========== ===Ċ", + "============== Ċ", + "========= =====Ċ", + "========== ====Ċ", + "====== ========Ċ", + "===== =========Ċ", + "======= =======Ċ", + "( symbol", + "(s ymbol", + "(sym bol", + "Ġ Sector", + "ĠS ector", + "ĠSe ctor", + "ĠSec tor", + "ĠSect or", + "__ )ĊĊ", + "__) ĊĊ", + "__)Ċ Ċ", + "_ padding", + "_p adding", + "_pad ding", + "ï¼ļ \"", + "Ġ fabs", + "Ġf abs", + "Ġfa bs", + "Ġfab s", + "Ġr anged", + "Ġrange d", + "Ġran ged", + "Ġrang ed", + "set Name", + "Ġp error", + "Ġper ror", + "Ġpe rror", + "â Ĺ", + "ĠFile Reader", + "Ġf ulfilled", + "Ġful filled", + "Ġfulfill ed", + "Ġfulfil led", + "_ Current", + "_C urrent", + "Ġdo minate", + "Ġdom inate", + "Ġdomin ate", + "Ġdomina te", + "Ġsm ugg", + "Post Mapping", + "_ force", + "_f orce", + "_for ce", + "Ġb loc", + "Ġbl oc", + "Ġblo c", + "ĠG iant", + "ĠGi ant", + "ĠGian t", + "ĠGia nt", + "( video", + "(v ideo", + "Ġ CU", + "ĠC U", + "System Service", + "Ġ elf", + "Ġe lf", + "Ġel f", + "Ġkont akt", + "ë ª", + "k ees", + "ke es", + "kee s", + "g tk", + "gt k", + "Ġparam Int", + "Ġ markup", + "Ġmark up", + "Ġmar kup", + "u ales", + "ual es", + "ua les", + "uale s", + "Ġaccount ed", + "Ġgang bang", + "RY PT", + "Ġ Wrong", + "ĠW rong", + "ĠWr ong", + "Ġ credited", + "Ġcr edited", + "Ġcred ited", + "Ġcredit ed", + "Ġ MESSAGE", + "ĠM ESSAGE", + "Ġf laws", + "Ġfl aws", + "Ġflaw s", + "Ġfla ws", + "Ġb bw", + "Ġbb w", + "Ġmet abolic", + "Ġmetab olic", + "Ġmetabol ic", + "ĠO EM", + "ĠOE M", + "/ event", + "/e vent", + "(C ollectors", + "mon ton", + "mo nton", + "mont on", + "monto n", + "ap pear", + "app ear", + "appe ar", + "Ġop ted", + "Ġopt ed", + "Ġc heat", + "Ġch eat", + "Ġche at", + "Ġd av", + "Ġda v", + "Ġ Proceed", + "ĠPro ceed", + "ĠProc eed", + "Ġ ê¸", + "Ġê ¸", + "an ked", + "ank ed", + "anke d", + "и з", + "an sk", + "ans k", + "Ġ Hang", + "ĠH ang", + "ĠHa ng", + "ĠHan g", + "ĠC ler", + "ĠCl er", + "ĠCle r", + "Ġdis gu", + "Ġdisg u", + "Ġc map", + "Ġcm ap", + ". cljs", + ".cl js", + "Ġa ument", + "Ġau ment", + "l ez", + "le z", + "Ġ Joined", + "ĠJ oined", + "ĠJo ined", + "ĠJoin ed", + "ĠJoi ned", + "_ received", + "_re ceived", + "_receive d", + "Ġa erial", + "Ġaer ial", + "Ġae rial", + "o tel", + "ot el", + "ote l", + "Ġg reet", + "Ġgre et", + "\" s", + "Ġ Genesis", + "ĠGen esis", + "ĠGene sis", + "ĠCal if", + "ĠCa lif", + "pan ion", + "Ġtail ored", + "Ġtailor ed", + "m apping", + "ma pping", + "map ping", + "and Expect", + ". track", + ".t rack", + ".tr ack", + "at omy", + "ato my", + "atom y", + "ĠO w", + "ul lah", + "ull ah", + "ulla h", + ". Yes", + ".Y es", + "Ġ SimpleName", + "ĠSimple Name", + "d bh", + "db h", + "' en", + "'e n", + "Ġn onsense", + "Ġnon sense", + "Ġnons ense", + "Ġphilosoph ical", + "( getContext", + "(get Context", + "Ġis so", + "Ġiss o", + "Ġ ACE", + "ĠA CE", + "ĠAC E", + "start Date", + "Ġb ÄĻd", + "ĠAUTH OR", + "ĠG lobe", + "ĠGl obe", + "ĠGlo be", + "ĠGlob e", + "Ġin sects", + "Ġins ects", + "Ġinsect s", + "Ġinse cts", + "_ Al", + "_A l", + "ush ing", + "ushi ng", + "è® °", + "/ Home", + "/H ome", + "ĠLocal Date", + "ne eded", + "need ed", + "nee ded", + "hes ive", + "Ġ illusion", + "Ġill usion", + "äº Į", + "Ġt rat", + "Ġtr at", + "Ġtra t", + "x o", + "/ detail", + "/d etail", + "/de tail", + "_ MATCH", + "_M ATCH", + "_MAT CH", + "Ġbroad band", + "Ġ wal", + "Ġw al", + "Ġwa l", + "ĠIllegal StateException", + "IRE CTION", + "IRECT ION", + "Ġnor theast", + "Ġnorth east", + "es ium", + "esi um", + "Ġ Cliente", + "ĠCl iente", + "ĠClient e", + "ĠCli ente", + "ul ance", + "ula nce", + "ulan ce", + "n ty", + "nt y", + "Ġt ecn", + "Ġte cn", + "Ġtec n", + "Device s", + "Dev ices", + "Ġgr ains", + "Ġgrain s", + "Ġgra ins", + "ĠO g", + "Ġ SEL", + "ĠS EL", + "ĠSE L", + "ud iant", + "udi ant", + "Ġ ++;Ċ", + "Ġ++ ;Ċ", + "Ġexplan ations", + "Ġexplanation s", + "o cco", + "oc co", + "occ o", + "Ġd iets", + "Ġdi ets", + "Ġdie ts", + "Ġdiet s", + "Ġco hort", + "Ġcoh ort", + "( controller", + "(cont roller", + "(control ler", + ". Iterator", + ".It erator", + ".Iter ator", + "- rich", + "-r ich", + "ro cess", + "roc ess", + "G D", + "Ġcar bohydr", + "Ġ fried", + "Ġf ried", + "Ġfr ied", + "Ġfri ed", + "ĠEm ployment", + "ĠEmp loyment", + "ĠEmploy ment", + "ìŀ ¥", + "ĠLeon ard", + "ĠLeo nard", + "_ ${", + "_$ {", + "qu ares", + "quare s", + "qua res", + "Ġcompan ions", + "Ġcompanion s", + "Ġp aris", + "Ġpar is", + "Ġpa ris", + "Ġpari s", + "Ġst imulation", + "Ġstim ulation", + "ĠZ oo", + "ĠZo o", + "Ġre levance", + "Ġrelev ance", + "Ġ Colour", + "ĠCol our", + "ĠColo ur", + "Ġs pear", + "Ġsp ear", + "Ġspe ar", + "ot ional", + "otion al", + "oti onal", + "Ġ Lite", + "ĠL ite", + "ĠLi te", + "ĠLit e", + "ĠK osten", + "ĠKo sten", + "ĠKos ten", + "Ġ ó", + "Ġà ³", + "_ attachment", + "_att achment", + "_attach ment", + "orph ic", + "orp hic", + "Ġda mit", + "Ġdam it", + "Ġ dlg", + "Ġd lg", + "Ġdl g", + "Ġth rive", + "Ġthr ive", + "CH ANGE", + "CHAN GE", + "Ġ Apparently", + "ĠApp arently", + "Ġa tual", + "Ġat ual", + "Ġro oted", + "Ġroot ed", + "( images", + "(image s", + "(im ages", + "a wi", + "aw i", + "ar iat", + "ari at", + "aria t", + "Ġch erry", + "Ġcher ry", + "ST ATIC", + "STAT IC", + "m nt", + "mn t", + "Ġ UserId", + "ĠUser Id", + "il let", + "ill et", + "ille t", + "ĠHis panic", + "ĠHispan ic", + "Ġ nak", + "Ġn ak", + "Ġna k", + "Ġcent ro", + "Ġcentr o", + "Ġcen tro", + "Ġ dims", + "Ġd ims", + "Ġdi ms", + "Ġdim s", + "_ initialize", + "_initial ize", + "ı k", + "ĠCent ers", + "ĠCenter s", + "R EN", + "RE N", + "Ġevolution ary", + "Ġ Topics", + "ĠTo pics", + "ĠTop ics", + "ĠTopic s", + "_ damage", + "_d amage", + "_da mage", + "e mer", + "em er", + "eme r", + "Ġr und", + "Ġrun d", + "Ġru nd", + "Ġpun ished", + "Ġpunish ed", + "Ġc ubic", + "Ġcu bic", + "Ġcub ic", + "f air", + "fa ir", + "[ ];ĊĊ", + "[] ;ĊĊ", + "[];Ċ Ċ", + "Ġin stantiate", + "Ġinstant iate", + "Ġover see", + "Ġovers ee", + "Ġoverse e", + "- delete", + "-de lete", + "-del ete", + "unt eer", + "unte er", + "start Time", + "Ġ Pipeline", + "ĠP ipeline", + "ĠPipe line", + "ĠPip eline", + "_ GAME", + "_G AME", + "ĠC ir", + "ĠCi r", + "ĉ Null", + "ĉN ull", + ". Formatting", + ".Format ting", + "uc umber", + "ĠR ide", + "ĠRid e", + "ĠRi de", + "Ġz oo", + "Ġzo o", + "Ġ checker", + "Ġcheck er", + "Ġche cker", + "åIJ Į", + "= C", + "Ġg rit", + "Ġgr it", + "Ġgri t", + "\" );//", + "\") ;//", + "\"); //", + "_ xy", + "_x y", + "Ġ Declaration", + "ĠDe claration", + "Ġ callable", + "Ġcall able", + "F oo", + "Fo o", + "Ġ ListItem", + "ĠList Item", + "Ġin accur", + "m lin", + "ml in", + "ĉ Data", + "ĉD ata", + "Ġev olving", + "a wan", + "aw an", + "awa n", + "Ġc afe", + "Ġca fe", + "Ġcaf e", + "f olk", + "fo lk", + "fol k", + "_ IDX", + "_ID X", + "_I DX", + "Ġ Anything", + "ĠAny thing", + "ĠPalest ine", + "ĠPalestin e", + "Ġ GridView", + "ĠGrid View", + "Ġcol ony", + "Ġcolon y", + "ĠGerman s", + "ĠGer mans", + "ĠGerm ans", + "( +", + ". pid", + ".p id", + ".pi d", + ". jsx", + ".j sx", + ".js x", + "ĠSup erior", + "ĠSuper ior", + "Christ ian", + "ĠL ect", + "ĠLe ct", + "ĉ Game", + "ĉG ame", + "Ġinstrument al", + "An imations", + "Animation s", + "Anim ations", + "д ал", + "да л", + "ĠM oses", + "ĠMo ses", + "ĠMos es", + "ĉĉ čĊĉĉčĊ", + "ĉĉčĊ ĉĉčĊ", + "z s", + "k te", + "kt e", + "ä¸ ļ", + "_ DIST", + "_D IST", + "_DIS T", + "_DI ST", + "b itmap", + "bit map", + "d B", + "Ġp ersistence", + "Ġpers istence", + "Ġpersist ence", + "ÑĢ Ð¾Ñģ", + "ÑĢо Ñģ", + "$ l", + "B ron", + "Br on", + "Bro n", + "Ġ {|", + "Ġ{ |", + "_ chart", + "_c hart", + "_ch art", + "_char t", + "Ġ Consum", + "ĠCon sum", + "ĠCons um", + "Ġh emp", + "Ġhe mp", + "Ġhem p", + "Ġ \"))Ċ", + "Ġ\" ))Ċ", + "Ġ\") )Ċ", + "Ġ\")) Ċ", + "Ġatt ackers", + "Ġattack ers", + "Ġattacker s", + "Ġknowledge able", + "Ġc et", + "Ġce t", + "Ġvir uses", + "Ġvirus es", + "' I", + "Ġpitch er", + "Ġpit cher", + "Ġswe eping", + "Ġsweep ing", + "= list", + "=l ist", + "apt ops", + "aptop s", + ". depth", + ".de pth", + ".dep th", + "Ġinstruct ed", + "Ġ Rus", + "ĠR us", + "ĠRu s", + "benh avn", + "Ġ ин", + "Ġи н", + "S ports", + "Sp orts", + "Sport s", + "Spo rts", + "Ġon set", + "Ġons et", + "æĿ ĥ", + ". RED", + ".R ED", + ".RE D", + "_ si", + "_s i", + "ĠP ST", + "ĠPS T", + ". onChange", + ".on Change", + "> tag", + ">t ag", + "ĠR oh", + "ĠRo h", + "_ character", + "_char acter", + "ĠL aws", + "ĠLa ws", + "ĠLaw s", + "Ġ Bachelor", + "ĠB achelor", + "ĠBach elor", + "_ swap", + "_s wap", + "_sw ap", + ".re activex", + "Ġreward ing", + "Ġrew arding", + "M edium", + "Med ium", + "- [", + "Ġ Recently", + "ĠRec ently", + "ĠRecent ly", + "J oint", + "Join t", + "Jo int", + "part ition", + "Ġ Minutes", + "ĠMin utes", + "ĠMinute s", + "Ġ indo", + "Ġin do", + "Ġi ndo", + "Ġind o", + "Ġabsor bed", + "Ġabsorb ed", + "Ġ GN", + "ĠG N", + "_ IND", + "_IN D", + "_I ND", + "Ġs aber", + "Ġsa ber", + "Ġsab er", + "Ġsabe r", + "S pawn", + "Sp awn", + "out puts", + "output s", + "ĠJeff rey", + "Ġmed ieval", + "Ġmedi eval", + "h ed", + "he d", + "G uide", + "Gui de", + "Guid e", + "Gu ide", + "Ġpsych o", + "Ġpsy cho", + "Ġg lam", + "Ġgl am", + "E lim", + "El im", + "äd chen", + "_ plain", + "_p lain", + "_pl ain", + "Ġ Sau", + "ĠS au", + "ĠSa u", + "- four", + "-f our", + "Ġanaly zing", + "QUE RY", + "QU ERY", + "Ġtom ato", + "_ buttons", + "_button s", + "_but tons", + "V EN", + "VE N", + ". setStatus", + ".set Status", + ". Url", + ".U rl", + "+ ĊĊ", + "+Ċ Ċ", + "Ġcompl aining", + "Ġcomplain ing", + "d egree", + "de gree", + "deg ree", + "conf irmed", + "confirm ed", + "Ġsu bt", + "Ġsub t", + "p arsed", + "par sed", + "parse d", + "pars ed", + "Ġt orque", + "Ġtor que", + "Ġtrouble d", + "Ġtroub led", + "Ġtrou bled", + "Ġ TARGET", + "ĠT ARGET", + "ĠTAR GET", + "Ġtrad emarks", + "Ġtrade marks", + "Ġtrademark s", + "Ġ Coordinate", + "ĠCo ordinate", + "ĠCoord inate", + "ĠV iv", + "ĠVi v", + "Ġ //}ĊĊ", + "Ġ// }ĊĊ", + "Ġ//}Ċ Ċ", + "Ġapr ès", + ". getPosition", + ".get Position", + ".getP osition", + "( KeyCode", + "(Key Code", + "ĠSil va", + "Ġ meteor", + "Ġm eteor", + "Ġmet eor", + "Ġendorse ment", + "Ġendors ement", + "Over view", + "Ġ Poss", + "ĠP oss", + "ĠPo ss", + "ĠPos s", + ". Inject", + ".In ject", + "Ġeven ly", + "Ġ visualization", + "Ġvisual ization", + "Ġ wchar", + "Ġw char", + "Ġwc har", + "ĠH DMI", + "ĠHD MI", + "Ġf unct", + "Ġfun ct", + "Ġfunc t", + "ick name", + "',' ','", + "','', '", + "Ġfor wards", + "Ġforward s", + "Managed Object", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĉ server", + "ĉs erver", + "ĠOut look", + "ĠChron icle", + "ĠChronic le", + "Ġdub bed", + "Ġd ok", + "Ġdo k", + "ĠW ear", + "ĠWe ar", + ". AL", + ".A L", + "p aren", + "par en", + "pare n", + "pa ren", + ". Interface", + ".Inter face", + "Inter faces", + "Interface s", + ". cod", + ".c od", + ".co d", + "Ġd ib", + "Ġdi b", + ".Global ization", + "ĠAc ademic", + "ĠAcad emic", + "ĠAcadem ic", + "Ġas sms", + "Ġass ms", + "A utom", + "Auto m", + "Aut om", + "Au tom", + "Ġ lw", + "Ġl w", + "Ġ NW", + "ĠN W", + "Ġ&& čĊ", + "Ġproble ma", + "Ġproblem a", + "Ġprobl ema", + "ĠManufact uring", + "l imits", + "li mits", + "lim its", + "limit s", + "- mobile", + "-m obile", + "Ġ filme", + "Ġfil me", + "Ġfilm e", + "/ map", + "/m ap", + "Ġd oit", + "Ġdo it", + "Ġdoi t", + "ĠI nk", + "ĠIn k", + "Ġs ued", + "Ġsu ed", + "Ġsue d", + ". arr", + ".a rr", + ".ar r", + "Ġunder min", + "Ġ Proc", + "ĠP roc", + "ĠPro c", + "ĠPr oc", + "croll View", + "_ _$", + "__ $", + "Ġside walk", + "Ġsidew alk", + "( that", + "(t hat", + "(th at", + "ภ·", + "[ q", + "gram mar", + "Ġt ë", + "q uito", + "qu ito", + "quit o", + "qui to", + "Ġsp iral", + "Ġspir al", + "Ġspi ral", + "ext ended", + "extend ed", + "Ġf ocal", + "Ġfoc al", + "Ġfo cal", + "Ġdig ging", + "p as", + "pa s", + "ĠT all", + "ĠTal l", + "ĠTa ll", + ". proxy", + ".pro xy", + ".pr oxy", + "i tures", + "it ures", + "iture s", + "itu res", + "itur es", + "T RACT", + "TR ACT", + "TRA CT", + "Ġ Realm", + "ĠRe alm", + "ĠReal m", + "Ġf eder", + "Ġfe der", + "Ġfed er", + "Ġ oriented", + "Ġorient ed", + "Ġori ented", + "Ġ Alternative", + "ĠAltern ative", + "ĠAlter native", + "Ġ owe", + "Ġo we", + "Ġow e", + "Ġs ourced", + "Ġsource d", + "Ġsour ced", + "in ker", + "ink er", + "inke r", + ". det", + ".d et", + ".de t", + "S ep", + "Se p", + "Ġ Qui", + "ĠQ ui", + "ĠQu i", + "ĠPal mer", + "ĠPalm er", + "( _,", + "(_ ,", + "s amples", + "sample s", + "sam ples", + "samp les", + "o yer", + "oy er", + "ul lan", + "ull an", + "ulla n", + "q uez", + "qu ez", + "que z", + "Ed ges", + "Edge s", + "Ġsh out", + "Ġsho ut", + "Ġ Achie", + "ĠA chie", + "ĠAch ie", + "Ġ haar", + "Ġh aar", + "Ġha ar", + "_ Construct", + "_Con struct", + "Ġprem ature", + "Ġre vert", + "Ġrev ert", + "Ġreve rt", + "Ġrever t", + "' ).Ċ", + "') .Ċ", + "'). Ċ", + "Ġs chn", + "Ġsc hn", + "Ġsch n", + "filter ed", + "fil tered", + "filt ered", + "null ptr", + "S aved", + "Save d", + "Sa ved", + "it ecture", + "itect ure", + "C LA", + "CL A", + "Ġ vl", + "Ġv l", + "s tell", + "st ell", + "ste ll", + "ĉ Me", + "ĉM e", + "ĠL ip", + "ĠLi p", + "n ational", + "nat ional", + "nation al", + "Ġwh olly", + "Ġspr ings", + "Ġspring s", + ". Timer", + ".T imer", + ".Time r", + "ĉ src", + "ĉs rc", + "e lsen", + "el sen", + "else n", + "els en", + "åħ ¶", + "Ġcommunic ating", + "Ġ Quiz", + "ĠQu iz", + "ĠQui z", + "Ġt eng", + "Ġte ng", + "Ġten g", + "Ġg ez", + "Ġge z", + "Ġ Outside", + "ĠOut side", + "ĠOuts ide", + ". Sign", + ".S ign", + "( cs", + "(c s", + "Ġdisp utes", + "Ġdispute s", + "Ġdisput es", + "ĠWe iss", + "ĠWei ss", + "an nes", + "ann es", + "anne s", + "> No", + ">N o", + "ĠB ach", + "ĠBa ch", + "ĠBac h", + ".remove All", + "re fer", + "ref er", + "/ dashboard", + "/d ashboard", + "Ġ Ajax", + "ĠA jax", + "ĠAj ax", + "Index Changed", + "Ġ Weak", + "ĠWe ak", + "' \"Ċ", + "'\" Ċ", + "Ġs ights", + "Ġsight s", + "Ġsigh ts", + "access Token", + "ĠJ oi", + "ĠJo i", + "( domain", + "(d omain", + "(dom ain", + "(do main", + "ĉ cv", + "ĉc v", + "Ġcontin uation", + "Ġcontinu ation", + "Ġcontinua tion", + "Ġp lum", + "Ġpl um", + "Ġplu m", + "a dir", + "ad ir", + "adi r", + ". setMessage", + ".set Message", + "Ġ ï¼Į", + "Ġï¼ Į", + "Ġsw allow", + "Ġswal low", + "ĠL amp", + "ĠLa mp", + "ĠLam p", + "Ġ qw", + "Ġq w", + "Ġ uu", + "Ġu u", + "C oin", + "Co in", + "u bic", + "ub ic", + "ubi c", + "ĠDe als", + "ĠDeal s", + "r ace", + "ra ce", + "rac e", + "Ġdict ator", + "Ġm eme", + "Ġme me", + "Ġmem e", + "turn ed", + "tur ned", + "ĠJul ie", + "ĠJu lie", + "ĠJuli e", + ".grid Column", + "Ġp uppy", + "Ġpup py", + "Ġpu ppy", + "Ġp am", + "Ġpa m", + "Ġ ){čĊ", + "Ġ) {čĊ", + "Ġ){ čĊ", + "Ġinv iting", + "Ġinvit ing", + "Ġf rench", + "Ġfr ench", + "Ġfren ch", + "v im", + "vi m", + "Ġwr apping", + "Ġwrap ping", + "Ġ#- }Ċ", + "( [-", + "([ -", + "Ear ly", + "Ġsh iny", + "Ġshin y", + ". faces", + ".f aces", + ".face s", + ".fac es", + ".fa ces", + "Ġre bell", + "Ġreb ell", + "Ġrebel l", + "abc def", + "abcd ef", + "ä lt", + "äl t", + "Ġest imation", + "Ġestim ation", + "ph ys", + "phy s", + "los ures", + "losure s", + "_ REL", + "_RE L", + "_R EL", + "Ġex clusion", + "Ġexclus ion", + "Ġexcl usion", + "ĠSk ype", + "ĠSky pe", + "we ise", + "wei se", + "weis e", + "- stop", + "-s top", + "-st op", + "no thing", + "ĠE gg", + "ĠEg g", + "is ors", + "iso rs", + "isor s", + "Rich ard", + "Ġcounsel ing", + "Ġcom mem", + "Ġcomm em", + "Ġcomme m", + "ĠQ MessageBox", + "ĠSy nd", + "ĠSyn d", + "ĠF rost", + "ĠFr ost", + "ĠFro st", + "ĠCom petition", + "ĠCompet ition", + "ĠA wake", + "ĠAw ake", + "Ġ ted", + "Ġt ed", + "Ġte d", + "ic iones", + "ici ones", + "icio nes", + "icion es", + "ĠDev Components", + "VERTISE MENT", + "o tti", + "ot ti", + "ott i", + ". runner", + ".r unner", + ".run ner", + "Ġunique ly", + "Ġuniqu ely", + "Ġuniq uely", + ". flag", + ".f lag", + ".fl ag", + "ĉ rs", + "ĉr s", + "_ generic", + "_g eneric", + "_gen eric", + "_gene ric", + "_gener ic", + "Ġ` ``Ċ", + "Ġ`` `Ċ", + "Ġ``` Ċ", + "ACH INE", + "ACHI NE", + "Ġm ein", + "Ġme in", + "( Application", + "(App lication", + "( br", + "(b r", + "Ġrat ios", + "Ġratio s", + ": ,", + "ĠX CTest", + "ĠXCT est", + "ĠXC Test", + "ustain able", + "- www", + "-w ww", + "it les", + "itle s", + "_ TEMP", + "_T EMP", + "_TE MP", + "_TEM P", + "Ġs yst", + "Ġsys t", + "Ġsy st", + "umeric UpDown", + "ĉ assertTrue", + "ĉassert True", + "Ġ wf", + "Ġw f", + ". peek", + ".pe ek", + "ĠB ulg", + "ĠBul g", + "ĠBu lg", + "Ġterr ifying", + ". MODE", + ".M ODE", + ".MOD E", + "Ġ GW", + "ĠG W", + "á r", + "Ġ fic", + "Ġf ic", + "Ġfi c", + "Ġcommit ments", + "Ġcommitment s", + "- tech", + "-t ech", + "-te ch", + "Ġ Liquid", + "ĠL iquid", + "ĠLiqu id", + "o pez", + "op ez", + "ope z", + "z heimer", + "a ña", + "añ a", + "- media", + "-m edia", + "-me dia", + "-med ia", + "( animated", + "(an imated", + "_ goal", + "_go al", + "Ġg um", + "Ġgu m", + "y stone", + "yst one", + "ys tone", + ". SET", + ".S ET", + ".SE T", + "ĠW end", + "ĠWe nd", + "ĠWen d", + "set CellValue", + "Ġ msgs", + "Ġmsg s", + "Ġms gs", + "c ash", + "ca sh", + "cas h", + "AL LOC", + "ALL OC", + "/ aws", + "/a ws", + "Ġmicro wave", + "Ġmic rowave", + ". Pointer", + ".Point er", + "ĉ Console", + "ĉCon sole", + "_ sorted", + "_s orted", + "_sort ed", + "ĠF ilip", + "ĠFil ip", + "ĠFi lip", + "P rod", + "Pro d", + "Pr od", + "Ġ// !<", + "Ġ//! <", + "in group", + "ing roup", + "Ġ ks", + "Ġk s", + "_T RI", + "_TR I", + "Ġteas poon", + "Ġ ATT", + "ĠA TT", + "ĠAT T", + "Ġre covering", + "Ġrecover ing", + "Ġ GLOBAL", + "ĠG LOBAL", + ". Par", + ".P ar", + "Ġ/ >;Ċ", + "Ġ/> ;Ċ", + "Ġmar ble", + "ul ators", + "ula tors", + "ulator s", + "Ġ Cycle", + "ĠC ycle", + "ĠCy cle", + "ĠCycl e", + "ĠCyc le", + "Ġher bs", + "Ġherb s", + "_ metric", + "_m etric", + "_met ric", + ") !", + "_C LOCK", + "_CL OCK", + "_ Button", + "_B utton", + "H arry", + "Har ry", + "è¿ Ľ", + "Ġstr ains", + "Ġstrain s", + "Ġstra ins", + "Ġ AppBar", + "ĠApp Bar", + "Ġ Chan", + "ĠC han", + "ĠCh an", + "ĠCha n", + "/ video", + "/v ideo", + "Ġ bam", + "Ġb am", + "Ġba m", + ". Progress", + ".Pro gress", + "$ f", + "l emen", + "le men", + "lem en", + "leme n", + "Ġir regular", + "ĠD uncan", + "ĠDun can", + "ĠM int", + "ĠMin t", + "ĠMi nt", + "- video", + "-v ideo", + "ঠ¾", + "ó wn", + "ów n", + "Ġ EMPTY", + "ĠEM PTY", + "ĠEMP TY", + "Ġst acked", + "Ġstack ed", + "Ġ HA", + "ĠH A", + "_ cut", + "_c ut", + "_cu t", + "Ġwhere in", + "ĠW ays", + "ĠWay s", + "ĠWa ys", + "( counter", + "(c ounter", + "(count er", + "(co unter", + "è¯ ķ", + "Form Group", + "Ġb lew", + "Ġbl ew", + "Ġble w", + "c ourses", + "co urses", + "course s", + "cour ses", + "Ġ productos", + "Ġproduct os", + "Ġproducto s", + "r ys", + "ry s", + "Ġ Restr", + "ĠR estr", + "ĠRe str", + "ĠRes tr", + "ĠRest r", + "Ġst yling", + "Ġsty ling", + "Ġstyl ing", + "> s", + "Ġp iv", + "Ġpi v", + "Ġit ertools", + "Ġiter tools", + "get Repository", + "Ġ Ik", + "ĠI k", + "_ devices", + "_device s", + "_dev ices", + "lay ui", + "Ġhalf way", + "Ġfran ç", + "Ġt uning", + "Ġtu ning", + "Ġtun ing", + "O A", + "_ Node", + "_N ode", + "_No de", + "ar de", + "ard e", + "Ġf ierce", + "Ġfi erce", + "Ġfier ce", + "Ġfierc e", + "l icted", + "lic ted", + "lict ed", + "# čĊ", + "Ġbreak through", + "ĠE rik", + "ĠEr ik", + "Ġb ride", + "Ġbr ide", + "Ġbri de", + "Ġbrid e", + "Ġ .\"", + "Ġ. \"", + "c ulus", + "cul us", + "cu lus", + "in side", + "ins ide", + "insi de", + "ĠIndian apolis", + "Ġ EE", + "ĠE E", + "Ġy og", + "Ġyo g", + "ur ret", + "urre t", + "urr et", + ". fs", + ".f s", + ". grad", + ".g rad", + ".gr ad", + "_ cards", + "_c ards", + "_card s", + "_car ds", + "_ accuracy", + "_ac curacy", + "_acc uracy", + "_e pi", + "_ep i", + "qu eda", + "que da", + "/ org", + "/or g", + "/o rg", + "é ªĮ", + "éª Į", + "Ġcom pte", + "Ġcomp te", + "Ġcompt e", + ") )[", + ")) [", + "Out side", + "G reater", + "Great er", + "Gre ater", + "Ġ Renderer", + "ĠRender er", + ". actor", + ".a ctor", + ".ac tor", + ".act or", + "Account s", + "Ac counts", + "I dle", + "Id le", + "_ hours", + "_h ours", + "_hour s", + "er ner", + "ern er", + "erne r", + "J oined", + "Join ed", + "Jo ined", + "Ġme nj", + "Ġmen j", + "re quires", + "require s", + "requ ires", + "Ġ OPER", + "ĠO PER", + "ĠOP ER", + ".remove Child", + "ĉ sp", + "ĉs p", + "Ġ esse", + "Ġe sse", + "Ġes se", + "Ġess e", + "r ift", + "ri ft", + "rif t", + "x FE", + "xF E", + "ĠSh akespeare", + "____ ________", + "________ ____", + "Ġbudget s", + "Ġbud gets", + "Model State", + "fill able", + "- component", + "-com ponent", + "-comp onent", + "o cos", + "oc os", + "oco s", + "Ġ BUTTON", + "ĠB UTTON", + "ĠBUT TON", + "/ io", + "/i o", + ", out", + ",o ut", + "s ms", + "sm s", + "Th omas", + "Tho mas", + "ĠAr med", + "ĠArm ed", + "re sume", + "res ume", + "Ġrot ating", + "Ġ Vault", + "ĠV ault", + "ĠVa ult", + "Ġs eus", + "Ġse us", + "Ġseu s", + ". (*", + ".( *", + "Ġa mino", + "Ġam ino", + "Ġami no", + "Ġ[ ]);ĊĊ", + "Ġ[] );ĊĊ", + "Ġ[]) ;ĊĊ", + "Ġ[]);Ċ Ċ", + "Ġprov oc", + "n ox", + "no x", + ". GetEnumerator", + ".Get Enumerator", + "= ======Ċ", + "== =====Ċ", + "==== ===Ċ", + "=== ====Ċ", + "====== =Ċ", + "===== ==Ċ", + "======= Ċ", + "æĸ Ļ", + "_ scroll", + "_s croll", + "_sc roll", + "_scr oll", + "Ġfil med", + "Ġfilm ed", + "Ġfilme d", + "ĠS oci", + "ĠSo ci", + "ĠSoc i", + "g ap", + "ga p", + "g ro", + "gr o", + "V ote", + "Vo te", + "\" But", + "\"B ut", + "_ RC", + "_R C", + "An imal", + "Anim al", + " Ģ", + "ib ile", + "ibil e", + "ibi le", + "Ġaw aken", + "Ġawake n", + "o rest", + "or est", + "ore st", + "ores t", + "in ja", + "ĠI van", + "ĠIv an", + "( Command", + "Ġ *****", + "Ġ* ****", + "Ġ** ***", + "Ġ*** **", + "Ġ**** *", + "Î ·", + "Ġkv inder", + "Ġkvin der", + "Ġkvinde r", + "/ helpers", + "/h elpers", + "/help ers", + "/helper s", + "_ cases", + "_c ases", + "_case s", + "_ca ses", + "t g", + "ìĦ ¸", + "Register ed", + "ĉ pass", + "ĉp ass", + "_ digits", + "_d igits", + "_digit s", + "Ġcon tour", + "Ġcont our", + "Ġinf ants", + "Ġinfant s", + "Ġjust ification", + "Ġ Fortunately", + "ĠFort unately", + "Cont r", + "Con tr", + "ĠonCreate View", + "_ SAMPLE", + "_S AMPLE", + "_SAMPL E", + "Ġallow Null", + "Ġn ud", + "Ġnu d", + "Ġf etched", + "Ġfetch ed", + "Ġfet ched", + "_ equ", + "_e qu", + "_eq u", + "Ġ Unable", + "ĠU nable", + "ĠUn able", + "ĠUna ble", + "= \\\"\"", + "=\\\" \"", + "=\\ \"\"", + "> {Ċ", + ">{ Ċ", + "Ġcommit tees", + "Ġcommittee s", + "ist ema", + "iste ma", + "istem a", + "+ \".", + "+\" .", + "ÃŃ an", + "ÃŃa n", + "m ant", + "man t", + "ma nt", + "Ġsou theast", + "Ġsouth east", + "ï¼Į Ċ", + "dialog s", + "dia logs", + "PRO JECT", + "ch arger", + "char ger", + "charge r", + "charg er", + "- port", + "-p ort", + "-po rt", + "( uuid", + "(u uid", + ". export", + ".ex port", + ".exp ort", + "S ix", + "Si x", + "Ġ RP", + "ĠR P", + "P rem", + "Pr em", + "Pre m", + "Ġcon science", + "Ġconsc ience", + "Ġmargin Right", + "_ distribution", + "_d istribution", + "_dis tribution", + "y aml", + "ya ml", + "res izing", + "resi zing", + "D ock", + "Do ck", + "Doc k", + "Ġ Locations", + "ĠL ocations", + "ĠLocation s", + "ĠLoc ations", + "G Y", + "S eed", + "Se ed", + "See d", + "B UFFER", + "BUF FER", + "BUFF ER", + "os sip", + "oss ip", + "u llen", + "ul len", + "ull en", + "ulle n", + "Th ings", + "Thing s", + "Thin gs", + "- self", + "-s elf", + "-se lf", + ". poll", + ".p oll", + ".po ll", + ".pol l", + "PL AYER", + "PLAY ER", + "Ġ å®", + "Ġå ®", + "G ROUP", + "Ġ Away", + "ĠA way", + "ĠAw ay", + "Ġg ospel", + "x fd", + "xf d", + "M ary", + "Mar y", + "Ma ry", + "Ġ Portable", + "ĠPort able", + "ĠPor table", + "T URE", + "TU RE", + "Ġutil is", + "Ġut ilis", + "Ġse it", + "Ġsei t", + "Ġ strand", + "Ġs trand", + "Ġst rand", + "Ġstr and", + "Ġstran d", + "Ġstra nd", + "Ġtrans c", + "Ġtran sc", + "Ġ (^", + "Ġ( ^", + "ĠAl fred", + "ĠAlf red", + ". mem", + ".m em", + ".me m", + ". circle", + ".c ircle", + "Ġ ~/", + "Ġ~ /", + "for cing", + "forc ing", + "Ġ riot", + "Ġr iot", + "Ġri ot", + "Ġrio t", + "p rox", + "pr ox", + "pro x", + "TH ON", + "iz ación", + "iza ción", + "Ġ NI", + "ĠN I", + "r ost", + "ro st", + "ros t", + "Ġdis pro", + "Ġdisp ro", + "_ instances", + "_in stances", + "_instance s", + "_inst ances", + "ï¼Į âĢľ", + "ograph er", + "ogra pher", + "en das", + "end as", + "enda s", + "ĠIs aac", + "ĠIsa ac", + "ĠP ine", + "ĠPin e", + "ĠPi ne", + "/ dis", + "/d is", + "Ġcolor With", + "it erate", + "ite rate", + "iter ate", + "_ stride", + "_st ride", + "_str ide", + "Ġp unto", + "Ġpun to", + "Ġpunt o", + ". EventArgs", + ".Event Args", + "( center", + "(c enter", + "Ġneighb oring", + "Ġneighbor ing", + "ĠPr ison", + "ĠPri son", + "Ġ Messenger", + "ĠM essenger", + "ĠMess enger", + "Ġepid emic", + "Ġepidemi c", + "d ao", + "da o", + "_ complex", + "_com plex", + "_comp lex", + "Ġg ravel", + "Ġgr avel", + "Ġgrave l", + "Ġgra vel", + "Ġgrav el", + "_D IP", + "_DI P", + "é ment", + "ém ent", + "ĠA ri", + "ĠAr i", + "_ bitmap", + "_b itmap", + "_bit map", + ". quit", + ".q uit", + ".qu it", + "( valid", + "(val id", + "(va lid", + "Ġ pend", + "Ġp end", + "Ġpe nd", + "Ġpen d", + "Ġrespir atory", + "Ġre bound", + "Ġreb ound", + "Default Value", + "ãĥ Ń", + "Ġcom mits", + "Ġcomm its", + "Ġcommit s", + ". tests", + ".t ests", + ".test s", + ".te sts", + "_ fr", + "_f r", + "i tet", + "it et", + "ite t", + ". sf", + ".s f", + "Ġspace craft", + "c ritical", + "cri tical", + "cr itical", + "crit ical", + "Ġde pressed", + "Ġdep ressed", + "Ġdepr essed", + "Ġdepress ed", + "ĠAny Object", + "Ġu nb", + "Ġun b", + "Ġdis cern", + "Ġdisc ern", + "( mysql", + "(m ysql", + "(my sql", + "L atin", + "La tin", + "Lat in", + "ĠB og", + "ĠBo g", + "ĠWild life", + "To File", + "ToF ile", + "i oxid", + "iox id", + "@ RestController", + "Ġ\" $(", + "Ġ\"$ (", + "Ġ <<\"", + "Ġ< <\"", + "Ġ<< \"", + "Ġdef ects", + "Ġdefe cts", + "Ġdefect s", + "Ġ datum", + "Ġd atum", + "Ġdat um", + "h in", + "hi n", + "Ġreal izar", + "Ġrealiz ar", + "Ġrealiza r", + "any ahu", + "anya hu", + "Ġ Sig", + "ĠS ig", + "ĠSi g", + "@ Data", + "ad aptive", + "ada ptive", + "adapt ive", + "ĠC atherine", + ". cr", + ".c r", + "Ġ COOKIE", + "ĠCO OKIE", + "Ġ pictured", + "Ġp ictured", + "Ġpicture d", + "Ġpict ured", + "ĠF ighter", + "ĠFight er", + "Query able", + "Ġ Anyway", + "ĠAny way", + "ĠGL FW", + "_ namespace", + "_n amespace", + "_name space", + "_names pace", + "_ ft", + "_f t", + "Ġ ])", + "Ġ] )", + "O rganization", + "Organ ization", + "Ġconstit utes", + "Ġconstitu tes", + "Ġconstitute s", + "Ġqu and", + "Ġqua nd", + "Ġquan d", + "( chunk", + "(ch unk", + "\" />čĊ", + "\"/ >čĊ", + "\"/> čĊ", + "ĠL akes", + "ĠLa kes", + "ĠLake s", + "ĠLak es", + "main window", + "Car thy", + "Cart hy", + "s pin", + "sp in", + "spi n", + "( csv", + "(c sv", + "(cs v", + ": red", + ":r ed", + "- commerce", + "-com merce", + "-comm erce", + "ภ¹", + "Ġdis covering", + "Ġdiscover ing", + "Ġ eco", + "Ġe co", + "Ġec o", + "_ fac", + "_f ac", + "_fa c", + "ince ton", + "inc eton", + "ĠGreen s", + "ĠGre ens", + "ĠGree ns", + "j wt", + "Ø µ", + "ĠBron cos", + "Ġ Goods", + "ĠG oods", + "ĠGo ods", + "ĠGood s", + "( GTK", + "(G TK", + "Ġ returnValue", + "Ġreturn Value", + "Ġsi empre", + "Ġne utr", + "Ġneu tr", + "Ġneut r", + "w ent", + "we nt", + "wen t", + "ĠN atal", + "ĠNa tal", + "ĠNat al", + "Ġenthusi astic", + "Ġenthusiast ic", + "á» į", + "F N", + "/ database", + "/d atabase", + "/data base", + "/dat abase", + "C atalog", + "Cat alog", + "Ġb run", + "Ġbr un", + "Ġbru n", + "ĠK ash", + "ĠKa sh", + "ĠKas h", + "_ Pl", + "_P l", + "isc rim", + ", width", + ",w idth", + "Ġin mates", + "Ġinmate s", + "Ass ignment", + "Assign ment", + "ĠH aven", + "ĠHave n", + "ĠHa ven", + "ĠHav en", + "Ġplay ground", + "ex am", + "@ Controller", + "ul iar", + "uli ar", + "ulia r", + ". getParent", + ".get Parent", + ".getP arent", + "Ġ \";ĊĊ", + "Ġ\" ;ĊĊ", + "Ġ\";Ċ Ċ", + "Ġ\"; ĊĊ", + ": size", + ":s ize", + "iss ors", + "issor s", + "Ġf is", + "Ġfi s", + "Ġ alc", + "Ġa lc", + "Ġal c", + "ens ation", + "ensa tion", + "ĠN ixon", + "ĠNi xon", + "Ġ mighty", + "Ġmight y", + "- str", + "-s tr", + "-st r", + "_ special", + "_s pecial", + "_sp ecial", + "_spec ial", + "_ ADC", + "_A DC", + "_AD C", + "Ġ Twig", + "ĠT wig", + "ĠTw ig", + "um bling", + "umb ling", + "- address", + "-add ress", + "-ad dress", + "Ġher oin", + "Ġhero in", + "Y TE", + "YT E", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "F riend", + "Fri end", + "Ġ ave", + "Ġa ve", + "Ġav e", + "Ġ PNG", + "ĠP NG", + "ĠPN G", + "ĠKur dish", + "ĠKurd ish", + "DataSet Changed", + "Ġbl ades", + "Ġblade s", + "Ġbla des", + "b ral", + "br al", + "bra l", + "S team", + "St eam", + "Ste am", + "Ġs igu", + "Ġsi gu", + "Ġsig u", + "IRT UAL", + "a cos", + "ac os", + "aco s", + "U DP", + "UD P", + "( database", + "(d atabase", + "(data base", + "(dat abase", + "h ec", + "he c", + "Ġ Strings", + "ĠString s", + "ĠStr ings", + "_ scalar", + "_s calar", + "_sc alar", + "_scal ar", + "ĉ desc", + "ĉd esc", + "ĉdes c", + "ĉde sc", + "Ġ TLS", + "ĠT LS", + "ĠTL S", + "; \"Ċ", + ";\" Ċ", + "ĠCor byn", + "Simple Name", + "u ell", + "ue ll", + "uel l", + "Ġ Entre", + "ĠEn tre", + "ĠEnt re", + "ĠEntr e", + "ell ites", + "ellite s", + "elli tes", + "- place", + "-p lace", + "-pl ace", + "Ġfrank ly", + "ĠE rf", + "ĠEr f", + "C EL", + "CE L", + "Ġpa ÃŃs", + "Ġh edge", + "Ġhe dge", + "Ġhed ge", + "Ġ latent", + "Ġla tent", + "Ġlate nt", + "Ġlat ent", + "Ġlaten t", + "Ġ IRQ", + "ĠIR Q", + "ĠH erald", + "ĠHer ald", + "ĠHera ld", + "Ġ Prec", + "ĠP rec", + "ĠPr ec", + "ĠPre c", + "ë³ ´", + ". TEXT", + ".T EXT", + "S alary", + "Sal ary", + "Ġaut umn", + "Ġtr avail", + "Ġtra vail", + "Ġtrav ail", + "Ġtrava il", + ". Sum", + ".S um", + "Ġc ared", + "Ġcar ed", + "Ġca red", + "Ġcare d", + "M or", + "Mo r", + "Ġint uitive", + "Ġintuit ive", + "Ġj ournals", + "Ġjournal s", + "_ IT", + "_I T", + "Ġ Trou", + "ĠT rou", + "ĠTr ou", + "ĠTro u", + "ä¼ ł", + "Has ColumnName", + "Com posite", + "Comp osite", + "Ġsp ice", + "Ġspi ce", + "_ disk", + "_d isk", + "_dis k", + "_di sk", + "_CODE S", + "_CO DES", + "_COD ES", + "Ġ Introduced", + "ĠInt roduced", + "ĠIntro duced", + "i ona", + "ion a", + "io na", + "Ġn uestra", + "Ġnue stra", + "Ġnuest ra", + "Ġnues tra", + "o ct", + "oc t", + "ĠĠĠĠ ĊĠĠĠĠĊĠĠĠĠĊ", + "ĠĠĠĠĊ ĠĠĠĠĊĠĠĠĠĊ", + "ĠĠĠĠĊĠĠĠĠĊ ĠĠĠĠĊ", + "( parameter", + "(param eter", + "(para meter", + "Ġst udios", + "Ġstud ios", + "Ġstudio s", + "Ġstudi os", + "Ġ projectId", + "Ġproject Id", + "Ġbd sm", + ".Sql Client", + "im izer", + "imize r", + "imi zer", + "imiz er", + "Ġ CARD", + "ĠC ARD", + "ĠCA RD", + "ĠCAR D", + "+ t", + "a an", + "aa n", + ". sol", + ".s ol", + ".so l", + "_ Adjust", + "_Ad just", + "Ġright eous", + "Ġ Logging", + "ĠLog ging", + ". filters", + ".f ilters", + ".filter s", + ".fil ters", + "_ TAB", + "_T AB", + "_TA B", + "ĉ sys", + "ĉs ys", + "rop hic", + "roph ic", + "o therapy", + "other apy", + "Ġ Browse", + "ĠB rowse", + "ĠBrow se", + "key board", + "R ON", + "RO N", + "+ \\", + "r opped", + "ro pped", + "rop ped", + "ropp ed", + "Ġext ensively", + "Ġextensive ly", + "f k", + "Ġ lime", + "Ġl ime", + "Ġli me", + "Ġlim e", + "y ears", + "year s", + "ye ars", + "E xc", + "Ex c", + "Ġs ph", + "Ġsp h", + "Ġch eating", + "Ġche ating", + "Ġcheat ing", + "an dro", + "and ro", + "andr o", + "ÃŃ o", + "Ġpr ince", + "Ġpri nce", + "Ġprin ce", + "Ġprinc e", + "o ire", + "oi re", + "oir e", + "Ġ Destination", + "ĠD estination", + "ĠDest ination", + "ĠCon verts", + "ĠConvert s", + "ĠConv erts", + "Ġup stream", + "o led", + "ol ed", + "ole d", + "Ġserv ants", + "Ġservant s", + "Ġ semantic", + "Ġsem antic", + "Ġcr unch", + "Ġeven tual", + "Ġevent ual", + "r unner", + "run ner", + "/ error", + "/e rror", + "S pin", + "Sp in", + "Spi n", + "Ġsecret ly", + "Ġ assemble", + "Ġas semble", + "Ġass emble", + ". Person", + ".P erson", + ".Per son", + "end error", + "ender ror", + "ende rror", + "_ <", + "Ġp endant", + "Ġpend ant", + "S leep", + "ĠChem istry", + "Ġboss es", + "Ġbos ses", + "l k", + ") )),Ċ", + ")) ),Ċ", + "))) ,Ċ", + "))), Ċ", + "Block ly", + "DE VICE", + "DEV ICE", + "Ġreflect ing", + "Ġ ample", + "Ġam ple", + "Ġampl e", + "Ġamp le", + "M illiseconds", + "Mill iseconds", + "ĠPres idential", + "ĠPresident ial", + "Ġ usuarios", + "Ġus uarios", + "Ġusuario s", + "Ġusu arios", + "Ġ NZ", + "ĠN Z", + "Ġ Salary", + "ĠS alary", + "ĠSal ary", + "ĠSala ry", + "ĠA manda", + "ĠAm anda", + "ĠAma nda", + "_ np", + "_n p", + "j ury", + "ju ry", + "jur y", + "Ġk ön", + "Ġkö n", + "Ġther apist", + "Ġtherap ist", + "Ġhom osexual", + "Ġhomosex ual", + "Ġhomo sexual", + "ĠDr ake", + "ĠDra ke", + "- window", + "-w indow", + "Ġ Located", + "ĠLoc ated", + "ĠLocate d", + ". Driver", + ".D river", + "Ġ VIDEO", + "ĠV IDEO", + "ĠVID EO", + "Ġmer chants", + "Ġmerch ants", + "Ġmerchant s", + "ĠC hest", + "ĠCh est", + "ĠChe st", + "ĠChes t", + "- lock", + "-l ock", + "-lo ck", + "/ php", + "/p hp", + "/ph p", + "Ġmil ano", + "Ġmilan o", + "_ STYLE", + "_ST YLE", + "ar ger", + "arg er", + "arge r", + "i dea", + "id ea", + "ide a", + "G UID", + "GUI D", + "GU ID", + "ad vanced", + "adv anced", + "advance d", + "me al", + "Options ItemSelected", + "= '%", + "=' %", + "ĠC ham", + "ĠCh am", + "ĠCha m", + ": data", + ":d ata", + "( stat", + "(s tat", + "(st at", + "Will Appear", + "Ġinf ormal", + "Ġinform al", + "a ji", + "aj i", + "Ġre productive", + "Ġrepro ductive", + "Ġ CAS", + "ĠC AS", + "ĠCA S", + "ãģ £", + "F UNC", + "FUN C", + "FU NC", + "ĠR uth", + "ĠRu th", + "ĠRut h", + ") +(", + ")+ (", + "CON ST", + "CO NST", + "CONS T", + "Ġ Fans", + "ĠF ans", + "ĠFa ns", + "ĠFan s", + "Ġ groupId", + "Ġgroup Id", + "x ffffffff", + "xf fffffff", + "xff ffffff", + "xffff ffff", + "xffffff ff", + "Ġs ampler", + "Ġsample r", + "Ġsam pler", + "Ġsamp ler", + "Ġ}} \">", + "Ġ}}\" >", + ". the", + ".t he", + ".th e", + "Ġh ollow", + "Ġhol low", + "W AY", + "WA Y", + "Ġ Faculty", + "ĠFac ulty", + "Attrib utedString", + "Ġ Looks", + "ĠL ooks", + "ĠLo oks", + "ĠLook s", + "ĠR ex", + "ĠRe x", + "j k", + "ĠM IL", + "ĠMI L", + "Ġ bard", + "Ġb ard", + "Ġbar d", + "Ġba rd", + ". Long", + ".L ong", + ".Lo ng", + "Ġli vest", + "Ġlive st", + "Ġlives t", + "Ġliv est", + "Ġs kal", + "Ġsk al", + "Ġska l", + "ic ism", + "ici sm", + "M AIN", + "MA IN", + "Ġmuch o", + "Ġmu cho", + "Ġmuc ho", + "B ODY", + "BO DY", + "Ġ ese", + "Ġe se", + "Ġes e", + "ĉ use", + "ĉu se", + "ĉus e", + "F oot", + "Foo t", + "Fo ot", + ". SQLException", + ".SQL Exception", + "Ġin heritance", + "Ġinherit ance", + "re ceived", + "receive d", + "rece ived", + "Ġp utas", + "Ġput as", + "Ġpu tas", + "Ġputa s", + "e dis", + "ed is", + "edi s", + "a lsa", + "al sa", + "als a", + "Ġ ErrorMessage", + "ĠError Message", + "Bo oking", + "Book ing", + "Ġ tract", + "Ġt ract", + "Ġtr act", + "Ġtra ct", + "a cz", + "ac z", + "ĠC ant", + "ĠCan t", + "ĠCa nt", + "_ regex", + "_reg ex", + "Ġide ological", + "Ġj ihad", + "Ġji had", + "Ġjih ad", + "h os", + "ho s", + "/ sys", + "/s ys", + "co lm", + "col m", + "( pool", + "(p ool", + "(po ol", + "Ġest án", + "Ġestá n", + "Ġ Pending", + "ĠP ending", + "ĠPen ding", + "ĠPend ing", + "em ás", + "Ġktó ry", + ") );ĊĊĊ", + ")) ;ĊĊĊ", + "));Ċ ĊĊ", + "));ĊĊ Ċ", + ")); ĊĊĊ", + "trans actions", + "transaction s", + "Ġw ield", + "Ġwie ld", + "Ġwi eld", + "Ġwiel d", + "i tere", + "it ere", + "ite re", + "iter e", + "er ture", + "ert ure", + "_ ss", + "_s s", + "Ġstretch ing", + "Ġstret ching", + "Ġpr isoner", + "Ġprison er", + "Ġpris oner", + ".Read All", + "Ġb esch", + "Ġbe sch", + "Ġbes ch", + "-- ;čĊ", + "--; čĊ", + "Ġcr isp", + "Ġcri sp", + "Ġcris p", + "_ SCAN", + "_S CAN", + "_SC AN", + "Ġ ae", + "Ġa e", + "Str ict", + "ĠMin neapolis", + "ĠBo eing", + "a ris", + "ar is", + "ari s", + "r ek", + "re k", + "_ pipe", + "_p ipe", + "_pi pe", + "Ġpri ests", + "Ġpriest s", + "( EIF", + "(E IF", + "eh icles", + "ehicle s", + "Ġ Interactive", + "ĠInter active", + "b etween", + "bet ween", + "ĉNull Check", + "ĠBl air", + "Ġ Lt", + "ĠL t", + "_ inline", + "_in line", + "eth yl", + " ¼", + "_ packages", + "_p ackages", + "_package s", + "_pack ages", + "Ġbar rels", + "Ġbarrel s", + "Ġbarr els", + "_ he", + "_h e", + "Ġ regexp", + "Ġreg exp", + "Ġregex p", + "_ pts", + "_p ts", + "_pt s", + "_ Handler", + "_H andler", + "_Handle r", + "ing ular", + "ingu lar", + "ĠN issan", + "ĠR anch", + "ĠRan ch", + "Ġper ch", + "Ġpe rch", + "Ġperc h", + "Un supported", + "S mith", + "Sm ith", + "ĠLeg ends", + "ĠLegend s", + "M i", + "Ġ gf", + "Ġg f", + "st eder", + "ste der", + "sted er", + "Ġac quiring", + "Ġacqu iring", + "Ġs imulator", + "Ġsim ulator", + "Ġsimul ator", + "( ),\"", + "() ,\"", + "(), \"", + "re ceive", + "rece ive", + "Ġin place", + "Ġinp lace", + "A CTION", + "AC TION", + "ACT ION", + "Ġ WebDriver", + "ĠWeb Driver", + "file system", + "files ystem", + "< Order", + "l open", + "lo pen", + "lop en", + "lope n", + "Ġ HEIGHT", + "ĠHE IGHT", + ".set Border", + "į °", + "__ [\"", + "__[ \"", + "Ġ clamp", + "Ġc lamp", + "Ġcl amp", + "Ġclam p", + "Ġcla mp", + "Seg oe", + "b ands", + "ba nds", + "ban ds", + "band s", + "to List", + "am ba", + "amb a", + "> '+Ċ", + ">' +Ċ", + ">'+ Ċ", + "Ġ credible", + "Ġcred ible", + "a mat", + "am at", + "ama t", + "pl aying", + "play ing", + "pla ying", + ".setImage Resource", + "q uel", + "qu el", + "que l", + "Ġpo dr", + "Ġpod r", + "ge om", + "geo m", + "E k", + "ĠQ atar", + "Ġg eld", + "Ġge ld", + "Ġgel d", + "? ',Ċ", + "?' ,Ċ", + "?', Ċ", + "Ġc yl", + "Ġcy l", + "( ax", + "(a x", + "Ġ WI", + "ĠW I", + "ur ally", + "ural ly", + "ĠBr asil", + "ĠBra sil", + "ĠBras il", + "Ġs enza", + "Ġsen za", + "a ley", + "al ey", + "ale y", + "o nen", + "on en", + "one n", + "Ġ bah", + "Ġb ah", + "Ġba h", + "Ġm olecule", + "Ġmolec ule", + "R ad", + "Ra d", + "è¿ °", + "AN CH", + "ANC H", + "- background", + "-back ground", + "- agent", + "-a gent", + "-ag ent", + "-age nt", + "Ġprol ifer", + ": boolean", + "Ġt ide", + "Ġti de", + "Ġtid e", + "erial izer", + "erialize r", + "_ ;čĊ", + "_; čĊ", + "F ee", + "Fe e", + "* *)", + "** )", + "er gy", + "erg y", + "ĠH onor", + "ĠHon or", + "ĠHo nor", + ". Logging", + ".Log ging", + "i ris", + "ir is", + "iri s", + "Ġunder mine", + "Ġundermin e", + "ĠD y", + "Ġt yr", + "Ġty r", + "Ġ deque", + "Ġde que", + "Ġd amer", + "Ġda mer", + "Ġdam er", + "Ġdame r", + "( [])Ċ", + "([ ])Ċ", + "([] )Ċ", + ".layout ControlItem", + ".layoutControl Item", + "p eated", + "pe ated", + "peat ed", + "C AN", + "CA N", + "ra gments", + "rag ments", + "ragment s", + "L and", + "La nd", + ") ]);Ċ", + ")] );Ċ", + ")]) ;Ċ", + "ĠS ah", + "ĠSa h", + "Ġ DECL", + "ĠDE CL", + "ĠDEC L", + "With in", + "Wi thin", + "Ġ Namespace", + "ĠN amespace", + "ĠName space", + "ĠNames pace", + "an other", + "ano ther", + "semb ling", + "sem bling", + "sembl ing", + ". describe", + ".de scribe", + ".des cribe", + "Con sum", + "Cons um", + "Ġ Fear", + "ĠF ear", + "ĠFe ar", + "g iven", + "gi ven", + "give n", + "O range", + "Or ange", + "< boolean", + " This", + ">T his", + "Ġdata Index", + "Ġprint able", + "Ġprin table", + "ĠE yes", + "ĠEye s", + "ĠEy es", + "_ targets", + "_target s", + "_tar gets", + "( Py", + "(P y", + ". over", + ".o ver", + ".ov er", + "Ġ bru", + "Ġb ru", + "Ġbr u", + "am pton", + "amp ton", + "Ġplaint iff", + "< Key", + " );Ċ", + ">) ;Ċ", + "in vest", + "inv est", + ". *ĊĊ", + ".* ĊĊ", + ".*Ċ Ċ", + "Ġt élé", + "Ġté lé", + "Ġsu perf", + "Ġsuper f", + "Ġ cascade", + "Ġc ascade", + "Ġcas cade", + "Ġcasc ade", + "D TD", + "DT D", + "Ġv ivid", + "Ġvi vid", + "Ġviv id", + "Ġsubsid ies", + "Ġsubsidi es", + "ĠH ass", + "ĠHas s", + "ĠHa ss", + "Ġcol laps", + "Ġcoll aps", + "Ġcer amic", + "{ }\".", + "{} \".", + "ĠLeak age", + "- trash", + "-tr ash", + "-tra sh", + "c ollapsed", + "coll apsed", + "collapse d", + "- social", + "-s ocial", + "-so cial", + "ĠC had", + "ĠCh ad", + "ĠCha d", + "Ġinc lined", + "Ġincl ined", + "Ġ sto", + "Ġs to", + "Ġst o", + "Ġstory board", + ". payment", + ".p ayment", + ".pay ment", + "stack overflow", + "ĠRa iders", + "ĠRaid ers", + "ĠRaider s", + "ĠRai ders", + "Ġ #'", + "Ġ# '", + "ol icies", + "olic ies", + "oli cies", + "ìľ¼ ë¡ľ", + "e map", + "em ap", + "ema p", + "Ġ kj", + "Ġk j", + "Ġ quota", + "Ġqu ota", + "Ġquot a", + "Ġquo ta", + "ĠGar dens", + "ĠGarden s", + "ĠGard ens", + "ë² Ī", + "ĠAng els", + "ĠAnge ls", + "ĠAngel s", + "Ġ oft", + "Ġo ft", + "Ġof t", + "Ġlower case", + "Ġ iParam", + "Ġi Param", + "ĠiP aram", + "Ġche apest", + "Ġcheap est", + "un ta", + "unt a", + "_ pkt", + "_p kt", + "_pk t", + "ic ators", + "ica tors", + "icator s", + "Ġ leurs", + "Ġl eurs", + "Ġle urs", + "Ġleur s", + "Ġdecre ases", + "Ġdecrease s", + "ĉ define", + "ĉdef ine", + "ĉde fine", + "P REC", + "PR EC", + "PRE C", + "am mers", + "amm ers", + "ammer s", + "Ġ PreparedStatement", + "ĠPre paredStatement", + "ĠPrepared Statement", + "( direction", + "(d irection", + "(dir ection", + "(di rection", + "Ġcr ews", + "Ġcre ws", + "Ġcrew s", + "ar ked", + "ark ed", + "ĠMem phis", + "Ġ Sell", + "ĠS ell", + "ĠSe ll", + "ĠSel l", + "G TK", + "GT K", + "Ġ maid", + "Ġm aid", + "Ġma id", + "Ġmai d", + ": disable", + ":d isable", + "éĽ Ĩ", + "ĠP f", + "Ġal beit", + "op enh", + "open h", + "ope nh", + "?> \">Ċ", + "?>\" >Ċ", + ". getSource", + ".get Source", + ".getS ource", + "( scale", + "(s cale", + "(sc ale", + "D u", + "ĠP IL", + "ĠPI L", + "_ refresh", + "_re fresh", + "_ref resh", + "Ġb ets", + "Ġbe ts", + "Ġbet s", + "( car", + "(c ar", + "(ca r", + "ĠV on", + "ĠVo n", + "| --------------------------------------------------------------------------Ċ", + "ĠG rat", + "ĠGr at", + "ĠGra t", + "M uch", + "Mu ch", + "( Dialog", + "(D ialog", + ".stop Propagation", + "Ġ tek", + "Ġt ek", + "Ġte k", + "Ġex its", + "Ġexit s", + "' ],$", + "'] ,$", + "'], $", + "Ġ phoneNumber", + "Ġphone Number", + "u cs", + "uc s", + "e cimal", + "ec imal", + "eci mal", + "- -------------", + "-- ------------", + "---- ----------", + "-------- ------", + "--- -----------", + "------------ --", + "----- ---------", + "---------- ----", + "------ --------", + "----------- ---", + "------------- -", + "------- -------", + "--------- -----", + "i np", + "in p", + ".po jo", + "Ġcor pus", + "Ġcorp us", + "Ġpractition ers", + "Ġpractitioner s", + ". pic", + ".p ic", + ".pi c", + "\" testing", + "Ġstring By", + ". NotNull", + ".Not Null", + "Ġ rang", + "Ġr ang", + "Ġran g", + "Ġra ng", + ". Dynamic", + ".D ynamic", + "_ Render", + "_R ender", + "_Re nder", + "а ÑĤа", + "аÑĤ а", + "Wait ing", + "Wa iting", + "Ġ Wik", + "ĠW ik", + "ĠWi k", + "Ġoverwhel med", + "Ġoverwhelm ed", + "% \">", + "%\" >", + "Ġ AE", + "ĠA E", + "} }>Ċ", + "}} >Ċ", + "}}> Ċ", + "u w", + "_ typ", + "_t yp", + "_ty p", + "Ġ buckets", + "Ġb uckets", + "Ġbucket s", + "Ġbuck ets", + "Ġg reeting", + "Ġgre eting", + "Ġgreet ing", + "Ġ laughter", + "Ġla ughter", + "Ġlaugh ter", + "Ġant agon", + "ugg estion", + "uggest ion", + "- email", + "-e mail", + "-em ail", + "ĉ top", + "ĉt op", + "ĉto p", + "Ġ eros", + "Ġe ros", + "Ġer os", + "Ġero s", + "_ tri", + "_t ri", + "_tr i", + "Ġiss uing", + "Ġissu ing", + "Ġ há", + "Ġh á", + "Ġis olate", + "Ġisol ate", + "Ġiso late", + "Over flow", + ", E", + "Ġnut ritional", + "Ġnutrition al", + "Ġnutrit ional", + "ĠAbb ott", + "Ġ nf", + "Ġn f", + ". touch", + ".t ouch", + ".to uch", + ".fetch all", + "_ zip", + "_z ip", + "\" )}Ċ", + "\") }Ċ", + "\")} Ċ", + "Ġ amat", + "Ġa mat", + "Ġam at", + "Ġama t", + "Ġ Cisco", + "ĠC isco", + "Ġn Ã¥", + "P LEX", + "PL EX", + "PLE X", + "Ġ sei", + "Ġs ei", + "Ġse i", + "f oto", + "fo to", + ". toJson", + ".to Json", + "å¤ ļ", + "ĠK lein", + "ĠKle in", + "ĠKl ein", + "Ġ libc", + "Ġli bc", + "Ġlib c", + "Ġm iners", + "Ġmin ers", + "Ġmi ners", + "Ġmine rs", + "Ġminer s", + "å ¢", + "- print", + "-p rint", + "-pr int", + "ĠP ride", + "ĠPr ide", + "ĠPri de", + "T odos", + "To dos", + "Todo s", + "Ġ masked", + "Ġmask ed", + "Ġmas ked", + "Ġ setData", + "Ġset Data", + "Ġtele fon", + "Ġtel efon", + "Ġun happy", + "Ġunh appy", + "Ġ Tables", + "ĠT ables", + "ĠTable s", + "ĠTab les", + "ĠTa bles", + "g eb", + "ge b", + "( debug", + "(de bug", + "_ allowed", + "_all owed", + "_allow ed", + "- access", + "-a ccess", + "-ac cess", + "Ġlog istics", + "Ġlogistic s", + "Ġ gems", + "Ġg ems", + "Ġge ms", + "Ġgem s", + "ĠM ature", + "ĠMat ure", + "ĠMa ture", + "Ġ rsp", + "Ġr sp", + "Ġrs p", + "Ġ Alle", + "ĠA lle", + "ĠAl le", + "ĠAll e", + ". getBytes", + ".get Bytes", + ".getBy tes", + "\\ web", + "ynchron ized", + "ynchronize d", + "Par agraph", + "Para graph", + "Ġth rottle", + "Ġthr ottle", + "Ġthrott le", + ". sqlite", + ".sql ite", + "cons ulta", + "consult a", + "ĠS eah", + "ĠSe ah", + "ĠSea h", + "C e", + "Ġsub mar", + "E RE", + "ER E", + "V ous", + "Vo us", + "Ġ reddit", + "Ġre ddit", + "Ġred dit", + "Ġredd it", + "Ġsql alchemy", + "- mile", + "-m ile", + "oc ide", + "oci de", + "P our", + "Po ur", + "} }\">Ċ", + "}} \">Ċ", + "}}\" >Ċ", + "st ead", + "ste ad", + "Ġ @(", + "Ġ@ (", + "Ġ [])", + "Ġ[ ])", + "Ġ[] )", + "Ġ Ads", + "ĠA ds", + "ĠAd s", + "Ġover load", + "Ġoverl oad", + "r idden", + "ri dden", + "rid den", + "ĠDe sert", + "ĠDes ert", + "Ġ Wrap", + "ĠW rap", + "ĠWr ap", + "ĠPortug uese", + "e tz", + "et z", + "ĉ first", + "ĉf irst", + "ĉfi rst", + "Ġm ilestone", + "Ġmil estone", + "Ġmiles tone", + "Ġmile stone", + "æĹ ł", + "Ñĥ Ñī", + "( success", + "(s uccess", + "< Vector", + " \")Ċ", + ">\" )Ċ", + ">\") Ċ", + "ĠD ollar", + "ĠDol lar", + "ĠDoll ar", + "Ġ emoji", + "Ġem oji", + "Ġemo ji", + "Car ousel", + "- player", + "-p layer", + "-play er", + "-pl ayer", + "Ġadjust ing", + "Ġadj usting", + "Ġj uga", + "Ġju ga", + "Ġjug a", + "allenge s", + "alleng es", + "allen ges", + "g ene", + "ge ne", + "gen e", + "(body Parser", + "lo pedia", + "lop edia", + "lope dia", + "Ġ Behind", + "ĠBe hind", + "ĠBeh ind", + "Ġslee ves", + "Ġsleeve s", + "Ġdrag ging", + "ĠChe vrolet", + "Ġ biz", + "Ġb iz", + "Ġbi z", + "iv ities", + "ivi ties", + "Ġ Frequency", + "ĠF requency", + "ĠFrequ ency", + ", char", + ",c har", + ",ch ar", + ". WHITE", + ".W HITE", + "_ preview", + "_p review", + "_pr eview", + "_pre view", + "_prev iew", + ") ';Ċ", + ")' ;Ċ", + "_ ax", + "_a x", + "I ONS", + "ION S", + "IO NS", + ". cpu", + ".c pu", + ".cp u", + ". inputs", + ".in puts", + ".input s", + "U BE", + "UB E", + "_ feed", + "_f eed", + "_fe ed", + "_fee d", + "ĠSup plement", + "! ).", + "!) .", + "e sus", + "es us", + "Ġ UDP", + "ĠU DP", + "ĠUD P", + "Ġmicro phone", + "Ġconf irms", + "Ġconfirm s", + ".is NotEmpty", + "\" :\"\",Ċ", + "\": \"\",Ċ", + "\":\" \",Ċ", + "\":\"\" ,Ċ", + "_ SCREEN", + "_S CREEN", + "_SC REEN", + "ĉ expected", + "ĉex pected", + "ĉexpect ed", + "ĉexp ected", + "+-+- +-+-", + "ĠH ait", + "ĠHa it", + "ĠHai t", + "fast call", + "Ġdep ict", + "v b", + "_ picture", + "_p icture", + "_pic ture", + "ĉ description", + "ĉd escription", + "ĉdes cription", + "ĉde scription", + "ĠW ife", + "ĠWi fe", + "u ci", + "uc i", + "Ġv icious", + "Ġvic ious", + "ä» ĸ", + "u eba", + "ue ba", + "Ġset User", + "ãģ ¡", + "Ġd iving", + "Ġdi ving", + "Ġdiv ing", + "Ġop era", + "Ġoper a", + "user content", + "a rah", + "ar ah", + "ara h", + ") },", + ")} ,", + "y un", + "yu n", + "v elt", + "ve lt", + "vel t", + "Ġun covered", + "Ġuncover ed", + "Ġ hips", + "Ġh ips", + "Ġhi ps", + "Ġhip s", + "Ġosc ill", + "Ġassert ing", + "Ġ Xi", + "ĠX i", + ". restore", + ".re store", + ".rest ore", + "k ea", + "ke a", + "Ġsp elling", + "Ġspell ing", + "Ġspel ling", + "Ġ derive", + "Ġde rive", + "Ġder ive", + "Ġderiv e", + "ab we", + "ĠD ow", + "ĠDo w", + ". setType", + ".set Type", + "_ vs", + "_v s", + "Ġc ozy", + "Ġco zy", + "Ġcoz y", + ". categories", + ".c ategories", + "O rg", + "Or g", + "_ mgr", + "_m gr", + "Ġd ungeon", + "Ġdung eon", + "collection View", + "Ġ Blank", + "ĠBl ank", + "ac ias", + "aci as", + "acia s", + "ä ä", + "_ cleanup", + "_c leanup", + "_clean up", + "_ACT IVITY", + "_ACTIV ITY", + "Ġtri angles", + "Ġtriangle s", + "Ġtriang les", + ". MenuItem", + ".Menu Item", + "Ġ iphone", + "Ġi phone", + "Ġip hone", + "Ġ Won", + "ĠW on", + "ĠWo n", + "] ]ĊĊ", + "]] ĊĊ", + "]]Ċ Ċ", + "Ġ Comparison", + "ĠCom parison", + "ĠCompar ison", + ". Doc", + ".D oc", + ".Do c", + "Ġ canonical", + "Ġcan onical", + "Ġcanon ical", + "ĠSu dan", + "ĠSud an", + "' ){", + "') {", + "Up Inside", + "b uiltin", + "built in", + "E NCY", + "EN CY", + "ENC Y", + "x be", + "xb e", + "Ġch uck", + "Ġchu ck", + "Ġcontrad ict", + "Ġcontra dict", + "Ġnu estro", + "Ġnue stro", + "Ġnuest ro", + "Ġnues tro", + "Ġarchitect ural", + "ĠF ib", + "ĠFi b", + "Ġcomp ares", + "Ġcompar es", + "Ġcompare s", + "* k", + "C fg", + "çĦ ¡", + "n ten", + "nt en", + "nte n", + "M atches", + "Match es", + "Mat ches", + "Ġ DOWNLOAD", + "ĠDOWN LOAD", + "_HANDLE R", + "_HAND LER", + "man agement", + "manage ment", + "mana gement", + "[ S", + "E NG", + "EN G", + "ÂĢ Â", + "f ang", + "fa ng", + "fan g", + "Ġsl ipped", + "Ġslip ped", + "ĠL anka", + "ĠLan ka", + "esc aping", + "Ġtack les", + "Ġtackle s", + "ĠPe dro", + "ĠPed ro", + ". Prop", + ".P rop", + ".Pro p", + ".Pr op", + ". ''", + ".' '", + ". Generated", + ".G enerated", + ".Generate d", + ".New Guid", + "at rigesimal", + "il lon", + "ill on", + "illo n", + "Ġstat istic", + "Ġstatist ic", + "s pecies", + "sp ecies", + "spec ies", + "spe cies", + "h olding", + "hold ing", + "hol ding", + "Dr upal", + "Ġfundament ally", + "Ġfundamental ly", + "Ġbond age", + "Ġres olutions", + "Ġresolution s", + "Inline Data", + "\\ Type", + "es tion", + "est ion", + "esti on", + ". wrap", + ".w rap", + ".wr ap", + "Ġwar riors", + "Ġwarrior s", + "Ġ LOCAL", + "ĠLO CAL", + "ĠLOC AL", + "A rchive", + "Arch ive", + "Arc hive", + "Ġembr aced", + "Ġembrace d", + "á» §", + ". Ver", + ".V er", + "ĠAff ordable", + "ole sale", + "oles ale", + "Ġ Applied", + "ĠApp lied", + "ĠAp plied", + "ĠAppl ied", + "Ġ Conversion", + "ĠCon version", + "ĠConv ersion", + "ĠConvers ion", + "m ega", + "me ga", + "meg a", + "_ cam", + "_c am", + "_ca m", + "Ġcer emon", + "Ġcere mon", + "a urus", + "au rus", + "aur us", + "ĠV olk", + "ĠVol k", + "ĠVo lk", + ". opens", + ".open s", + ".op ens", + "/ about", + "/a bout", + "Ġ Std", + "ĠS td", + "ĠSt d", + "j ournal", + "jo urnal", + "jour nal", + "( )){čĊ", + "() ){čĊ", + "()) {čĊ", + "()){ čĊ", + ", \"\\", + ",\" \\", + "( Arrays", + "(Array s", + "ĠD ense", + "ĠDen se", + "ase ña", + "än ner", + "änn er", + "/ stat", + "/s tat", + "/st at", + "user Data", + "Ġg erman", + "Ġger man", + "Ġgerm an", + "Ġ tz", + "Ġt z", + "w orthy", + "worth y", + "wort hy", + "wor thy", + "Format Exception", + "ph erd", + "pher d", + "phe rd", + "Ġsm iles", + "Ġsmile s", + "Ġ Whenever", + "ĠWh enever", + "ĠWhen ever", + "ĠWhe never", + "( adapter", + "(ad apter", + ".bad logic", + "Ġbrief ing", + ". GridColumn", + ".Grid Column", + "- char", + "-c har", + "-ch ar", + "d imension", + "dim ension", + "ĠC opper", + "ĠCo pper", + "ĠCop per", + "ĠCopp er", + "Ġn inth", + "Ġni nth", + "Ġnin th", + "Ġ' {{", + "Ġ'{ {", + "Ġ rav", + "Ġr av", + "Ġra v", + "_ Table", + "_T able", + "_Tab le", + "Ġderiv atives", + "Ġderivative s", + "Ġ Raise", + "ĠR aise", + "ĠRa ise", + "ĠRai se", + "ĠF ut", + "ĠFu t", + "ar mor", + "arm or", + "- padding", + "-p adding", + "-pad ding", + "Ġre min", + "Ġr emin", + "Ġrem in", + "ĉ style", + "ĉst yle", + "Ġ Membership", + "ĠMember ship", + "ĠMembers hip", + "Ġsp reads", + "Ġspread s", + "Ġspre ads", + "Ġg alleries", + "Ġgall eries", + "ĠClark e", + "ĠClar ke", + "Ġcon ception", + "Ġconcept ion", + "Ġconce ption", + "min ute", + "Ġab usive", + "_ adj", + "_a dj", + "_ad j", + "Ġterr ific", + "Ġo vert", + "Ġover t", + "Ġov ert", + "our cing", + "Ġ entrada", + "Ġent rada", + "Ġentr ada", + "Ġentra da", + "level s", + "lev els", + "Ġcrit ique", + "Ġres pects", + "Ġrespect s", + "Ġresp ects", + "ĠM MA", + "ĠMM A", + "i ene", + "ie ne", + "ien e", + "Ġen caps", + "Ġenc aps", + "ĠRay mond", + "Div ider", + "Di vider", + "i vable", + "iv able", + "iva ble", + "b az", + "ba z", + "Ġ@ _;Ċ", + "Ġ@_ ;Ċ", + "ĠCl aire", + "ĠCla ire", + "ĠClair e", + "Ġur ging", + "Ġurg ing", + "C EE", + "CE E", + "Ġtrans former", + "Ġtransform er", + "dis cord", + "disc ord", + "ĠJ ourney", + "t os", + "to s", + "Ġcompet itions", + "Ġcompetition s", + "Ġcompetit ions", + "Ġ OBJ", + "ĠO BJ", + "ĠOB J", + "ĠB is", + "ĠBi s", + "Ġrelax ation", + "i dy", + "id y", + "_ INSTANCE", + "_IN STANCE", + "_INST ANCE", + "Ġ Pref", + "ĠP ref", + "ĠPr ef", + "ĠPre f", + "d ados", + "da dos", + "dad os", + "ici encies", + "ĠMedia Query", + "Ġ Cube", + "ĠC ube", + "ĠCub e", + "ĠCu be", + "Ġ Strange", + "ĠSt range", + "ĠStr ange", + "ĠStra nge", + "g pu", + "gp u", + "( days", + "(d ays", + "(day s", + "(da ys", + "_ InitStruct", + "_Init Struct", + "Ġf ingerprint", + "Ġfinger print", + "e mat", + "em at", + "ema t", + "ĠG ecko", + "ĠGe cko", + "Ġ rails", + "Ġr ails", + "Ġrail s", + "Ġra ils", + "ĠL um", + "ĠLu m", + "s traction", + "st raction", + "str action", + "stract ion", + "stra ction", + "ig ung", + "igu ng", + "( movie", + "(m ovie", + "_ dictionary", + "_d ictionary", + "_ interrupt", + "_int errupt", + "_inter rupt", + "Ġ QC", + "ĠQ C", + "i ked", + "ik ed", + "ike d", + "append Child", + "rec ipient", + "r é", + "V e", + "Ġt owel", + "Ġto wel", + "Ġtow el", + ".last IndexOf", + "Ġplace bo", + "Ġplac ebo", + "Ġ Wie", + "ĠW ie", + "ĠWi e", + ". esp", + ".e sp", + ".es p", + "( Debug", + "oper ative", + "Ġde ceased", + "Ġdece ased", + "& id", + "ĉ mutex", + "ĉm utex", + "e lic", + "el ic", + "eli c", + "Ġb apt", + "Ġba pt", + "ĉ čĊčĊ", + "ĉčĊ čĊ", + "Ġfar ther", + "Ġfart her", + "H alf", + "Ha lf", + "Hal f", + ". disable", + ".d isable", + ".dis able", + ".menu Strip", + "le ccion", + "lec cion", + "Ġ resultCode", + "Ġresult Code", + "Ġc ans", + "Ġcan s", + "Ġca ns", + "- election", + "-e lection", + "-elect ion", + "-el ection", + "f emale", + "fe male", + "_ FIX", + "_F IX", + "aus ible", + "Ġ POWER", + "ĠP OWER", + "ĠPO WER", + "ĠPOW ER", + "Ġre construction", + "Ġrecon struction", + "Ġreconstruct ion", + "Ġsc ans", + "Ġscan s", + "Ġsca ns", + ".Xtra Bars", + "âĢĺ s", + "Re moved", + "Rem oved", + "Remove d", + "Ġpara graphs", + "Ġparagraph s", + "_ margin", + "_m argin", + "_mar gin", + "Ġl ymph", + "Ġly mph", + "Ġ bos", + "Ġb os", + "Ġbo s", + "l ington", + "ling ton", + "ĠBapt ist", + "Ġadvertis ements", + "Ġadvertisement s", + "Ġadvertise ments", + "Ġ Manage", + "ĠMan age", + "ĠMa nage", + "ĠMana ge", + "/ yyyy", + "/y yyy", + "I OUS", + "IO US", + "EN CES", + "ENCE S", + "ENC ES", + "ĠF iction", + "ĠFi ction", + "ĉ menu", + "ĉm enu", + "ĉme nu", + "ĠFile OutputStream", + "o van", + "ov an", + "ova n", + "ĠF eng", + "ĠFe ng", + "ĠFen g", + "Ġsk ipping", + "Ġskip ping", + "Ġski pping", + "get Class", + "getC lass", + "an ni", + "ann i", + "Ġre bounds", + "Ġreb ounds", + "Ġrebound s", + "Ġpublic ity", + "Ġpub licity", + "Ġpubli city", + "Ġin gres", + "Ġing res", + "Ġingr es", + "us ement", + "use ment", + "Ġthought ful", + ". Chart", + ".C hart", + ".Ch art", + ".Char t", + "Ġh atte", + "Ġha tte", + "Ġhat te", + "pass port", + "pas sport", + "Ġhook ed", + "Ġho oked", + "Ġ Lens", + "ĠL ens", + "ĠLe ns", + "ĠLen s", + "Ġflag ship", + "Ġflags hip", + "Ġs tip", + "Ġst ip", + "Ġ GEN", + "ĠG EN", + "ĠGE N", + "Ġcl ues", + "Ġclue s", + "i pv", + "ip v", + "ĠR ise", + "ĠRi se", + "ĠRis e", + "ĠG ew", + "ĠGe w", + "table name", + "tab lename", + "tabl ename", + "Ġfore most", + "_ validate", + "_valid ate", + "_ analysis", + "_an alysis", + "o lla", + "ol la", + "oll a", + "Ġqual ifications", + "Ġqualification s", + "Ġd istributions", + "Ġdistrib utions", + "Ġdistribution s", + "ĠF lower", + "ĠFl ower", + "ĠFlo wer", + "ĠFlow er", + "Ġt ense", + "Ġten se", + "Ġtens e", + "Ġthank ful", + "Ġcl utch", + "Ġun ified", + "ro ads", + "road s", + "Ġs iti", + "Ġsit i", + "Ġsi ti", + "Ġst all", + "Ġsta ll", + "Ġstal l", + "_P RIORITY", + "_PRI ORITY", + "c stdlib", + "_ USERNAME", + "_USER NAME", + ". bytes", + ".by tes", + ".byte s", + "? page", + "?p age", + "er malink", + "erm alink", + "ermal ink", + "ĠVe get", + "ĠVeg et", + "/v nd", + "- author", + "-a uthor", + "-auth or", + "-aut hor", + ". NONE", + ".N ONE", + ".NO NE", + "ĠCon current", + "ĠConc urrent", + "ĠC ry", + "ĠCr y", + "Ġst arters", + "Ġstart ers", + "Ġstar ters", + "Ġstarter s", + "Ġ Interaction", + "ĠInter action", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "Ġ LEVEL", + "ĠLE VEL", + "E ll", + "El l", + "Ġ comboBox", + "Ġcom boBox", + "Ġcombo Box", + "ĠThe resa", + "ĠTh eresa", + "ĠThere sa", + "ĠTher esa", + "t ek", + "te k", + "_ Handle", + "_H andle", + "Ġ aby", + "Ġa by", + "Ġab y", + ".g dx", + ", end", + ",e nd", + ",en d", + "( Local", + "(L ocal", + "O l", + "kn ife", + "a rial", + "ar ial", + "ari al", + "aria l", + "ĠH off", + "ĠHo ff", + "ĠHof f", + "Ġprostituer ade", + "Do ctor", + "Doc tor", + "In stances", + "Instance s", + "Inst ances", + ". SetValue", + ".Set Value", + "ĉ from", + "ĉf rom", + "ĉfr om", + "Ġlux urious", + "In dent", + "Ind ent", + "Al locator", + "All ocator", + "Alloc ator", + "_ DRAW", + "_D RAW", + "_DR AW", + "(\" ,\",", + "(\", \",", + "(\",\" ,", + "ĠF rances", + "ĠFr ances", + "ĠFrance s", + "ĠFranc es", + "ĠFra nces", + "ĠFran ces", + "Ġ groupBox", + "Ġgroup Box", + "( schema", + "(s chema", + "Print f", + "O RIES", + "OR IES", + "- gradient", + "-g radient", + "Ġre put", + "Ġrep ut", + "a rin", + "ar in", + "ari n", + "_ DONE", + "_D ONE", + "_DO NE", + "in cre", + "inc re", + "incr e", + "ig nty", + "ign ty", + "Ġex ert", + "Ġexe rt", + "Ġ -.", + "Ġ- .", + "/ App", + "/A pp", + "- through", + "-th rough", + "Ġdec lining", + "Ġdecl ining", + "Ġdes sert", + "Ġdess ert", + "Ġinc umb", + "Ġ designation", + "Ġdesign ation", + ". PORT", + ".P ORT", + ".PO RT", + ", strong", + ",str ong", + ",st rong", + "Ġ sandbox", + "Ġs andbox", + "Ġsand box", + "Ġw ines", + "Ġwin es", + "Ġwine s", + "Ġwi nes", + "ĠP av", + "ĠPa v", + "$ str", + "$s tr", + "ask ell", + "Ġh ö", + "Ġ PY", + "ĠP Y", + "Get Instance", + "Text Input", + "game Object", + "/ events", + "/e vents", + "/event s", + "created At", + "Ġlocal Var", + "Ġ WHITE", + "ĠW HITE", + "ĠWH ITE", + "p ered", + "pe red", + "per ed", + "i lege", + "ile ge", + "eff icient", + ", color", + ",c olor", + ",col or", + "c ate", + "ca te", + "cat e", + "ĠC afe", + "ĠCa fe", + "ĠCaf e", + "Ġsimilar ities", + "Ġp umps", + "Ġpump s", + "Ġpu mps", + "ĠHun gary", + "ĠHung ary", + ". Username", + ".User name", + "Ġs kate", + "Ġsk ate", + "Ġska te", + "Ġtouchdown s", + "Ġacceler ate", + "Ġaccel erate", + "ĠH elen", + "ĠHe len", + "ĠHel en", + "O MEM", + "OM EM", + "OME M", + "ĠK un", + "ĠKu n", + "_ vol", + "_v ol", + "Ġ findAll", + "Ġfind All", + "ĠMens chen", + "a head", + "ah ead", + ") ;\"", + "); \"", + "k ommen", + "kom men", + "Ġposs essed", + "Ġpossess ed", + ".arg max", + ". transition", + ".t ransition", + ".trans ition", + "A RP", + "AR P", + "OL UME", + "OLUM E", + "( script", + "(s cript", + "Ġ Ðĺ", + "ĠÐ ĺ", + "Ġ Finding", + "ĠF inding", + "ĠFin ding", + "ĠFind ing", + "o nces", + "on ces", + "once s", + "I o", + "B old", + "Bo ld", + "Ġrenew al", + "_D IALOG", + "Ġdis reg", + "IN TERN", + "INT ERN", + "INTER N", + "Ġt oute", + "Ġto ute", + "Ġtou te", + "Ġtout e", + "Ġelect r", + "Ġele ctr", + "ĠG ross", + "ĠGr oss", + "ĠGro ss", + "ĠGros s", + "ĉ true", + "ĉtr ue", + ". Fields", + ".F ields", + ".Field s", + "Ġ WIDTH", + "ĠW IDTH", + "ĠD ent", + "ĠDe nt", + "ĠDen t", + "Ġ Ãģ", + "Ġà ģ", + "NS Notification", + "Ġ aos", + "Ġa os", + "Ġao s", + "Ġme lee", + "Ġmel ee", + ". Validation", + ".Valid ation", + "Ġ DEC", + "ĠD EC", + "ĠDE C", + "- dependent", + "-depend ent", + "Ġsu ic", + "Ġsui c", + "T raits", + "Tr aits", + "Tra its", + "Trait s", + "$ message", + "$m essage", + "Ġ Dear", + "ĠD ear", + "ĠDe ar", + "ĉ FILE", + "ĉF ILE", + "l anguages", + "language s", + ". Prot", + ".P rot", + ".Pro t", + ".Pr ot", + ". addr", + ".add r", + ".ad dr", + "- generation", + "-g eneration", + "-gen eration", + "I CON", + "IC ON", + "ICO N", + "Ġtrans plant", + "- description", + "-d escription", + "-de scription", + "-des cription", + "Ġch asing", + "Ġcha sing", + "Ġch ees", + "Ġche es", + "Ġ }*/Ċ", + "Ġ} */Ċ", + "T rad", + "Tr ad", + "Tra d", + "qu eries", + "que ries", + "quer ies", + "/ widgets", + "/widget s", + "sub package", + "Ġe spec", + "Ġes pec", + "Ġesp ec", + "Ġcr acked", + "Ġcrack ed", + "Ġcompet itor", + "Ġcompetit or", + "P urchase", + "- team", + "-t eam", + "-te am", + "ole cular", + "olec ular", + "or Thunk", + "& P", + "Ġrel ent", + "Ġrele nt", + "/ #{", + "/# {", + "Ġ productId", + "Ġproduct Id", + "Ġ è¾", + "Ġè ¾", + "ĠL av", + "ĠLa v", + "Ġ Alter", + "ĠAl ter", + "ĠAlt er", + ". Mode", + ".M ode", + ".Mod e", + "AD IO", + "ADI O", + "g rp", + "gr p", + "æ ·»åĬł", + "æ·» åĬł", + "Q uit", + "Qu it", + "Qui t", + "Ġdep ths", + "Ġdepth s", + "Ġdept hs", + "- category", + "-c ategory", + "Ġ DATABASE", + "ĠD ATABASE", + "ĠDATA BASE", + "S PELL", + "SP ELL", + "ĠF alcon", + "ĠFal con", + "ĠQString List", + "Ġ ''.", + "Ġ' '.", + "Ġ'' .", + "ĠIn stitution", + "ĠInst itution", + "ĠInstit ution", + "ĠInstitut ion", + "d amage", + "da mage", + "dam age", + "az or", + "azo r", + "bel ongsTo", + "belongs To", + "ver ages", + "verage s", + "Ġ NONE", + "ĠN ONE", + "ĠNO NE", + "ĠNON E", + "ip pets", + "ipp ets", + "ippet s", + ", \\Ċ", + ",\\ Ċ", + "Ġfoot print", + "_ archive", + "_a rchive", + "_arch ive", + "_arc hive", + "n ak", + "na k", + ". getField", + ".get Field", + "Ġ Reflection", + "ĠRef lection", + "ĠReflect ion", + "Ġ ']", + "Ġ' ]", + "ĠH BO", + "ĠHB O", + "_ discount", + "_dis count", + "_disc ount", + "Ġin cest", + "Ġinc est", + "Ġince st", + "ĠD odge", + "ĠDo dge", + "ĠDod ge", + "ĠW ade", + "ĠWa de", + ". NO", + ".N O", + "\" encoding", + "Ġ Blockchain", + "ĠBlock chain", + "Ġlaws uits", + "Ġlawsuit s", + "Ġ Maint", + "ĠM aint", + "ĠMain t", + "ĠMa int", + "ĠMai nt", + "ch ten", + "cht en", + "chte n", + "Ġét ait", + "Ġktó re", + "_ ctl", + "_c tl", + "_ct l", + "( timer", + "(t imer", + "(time r", + "(ti mer", + "B attle", + "Bat tle", + "i zo", + "iz o", + "ay ed", + "aye d", + "I OR", + "IO R", + "ĠGlas gow", + "Ġs ynth", + "Ġsy nth", + "Ġsyn th", + "Ġsynt h", + "_ logs", + "_l ogs", + "_log s", + "_lo gs", + ". pose", + ".p ose", + ".pos e", + ".po se", + "_Adjust orThunk", + "( (&", + "(( &", + "Ġun sure", + "Ġuns ure", + "Ġunsur e", + "y state", + "yst ate", + "íķĺ ëĬĶ", + "O ULD", + "OU LD", + ". ng", + ".n g", + "Ġdefault dict", + "work space", + "works pace", + "Ġselect ive", + "Ġsel ective", + "Picker Controller", + "YNAM IC", + ". methods", + ".method s", + "Ġpath ways", + "Ġpathway s", + "Ġ Few", + "ĠF ew", + "ĠFe w", + "K G", + "C RYPT", + "CRY PT", + "follow ing", + "ĠD LC", + "ĠDL C", + "ĠS ara", + "ĠSar a", + "ĠSa ra", + "Ġ preset", + "Ġp reset", + "Ġpre set", + "Ġpres et", + "e structor", + "estr uctor", + "estruct or", + "ĠK urt", + "ĠKur t", + "ĠKu rt", + "Ġair plane", + "Ġ omp", + "Ġo mp", + "Ġom p", + "Ġ Parents", + "ĠPar ents", + "ĠParent s", + "ĠParen ts", + "ĠPare nts", + "ĠMart inez", + "ĠMartin ez", + ". complete", + ".com plete", + ".comp lete", + "Ġbroad ly", + "Ġs care", + "Ġsc are", + "Ġsca re", + "Ġscar e", + "ĠM é", + "Ġelim ination", + "Ġelimin ation", + "Ġp oured", + "Ġpo ured", + "Ġpour ed", + "Ġpou red", + "/ sw", + "/s w", + "Ġcom un", + "Ġco mun", + "Ġm asc", + "Ġma sc", + "Ġmas c", + "ĠOrgan ic", + "ĠOrg anic", + "Ġ StringUtils", + "ĠString Utils", + "ĠStringUtil s", + "il ateral", + "ilate ral", + "ilater al", + "Ġreluct ant", + "- age", + "-a ge", + "-ag e", + "Ġ nz", + "Ġn z", + ". \"\\", + ".\" \\", + "Ġpast or", + "Ġpas tor", + "Ġpa stor", + "a lez", + "al ez", + "ale z", + "Ġe fect", + "Ġef ect", + "p rov", + "pr ov", + "pro v", + "/ init", + "/i nit", + "/in it", + "Ġp enn", + "Ġpe nn", + "Ġpen n", + "u nds", + "un ds", + "und s", + "Ġ ssize", + "Ġs size", + "Ġss ize", + "Ġ Proj", + "ĠP roj", + "ĠPro j", + "ĠPr oj", + "b asename", + "base name", + "bas ename", + "Ġsh ells", + "Ġshell s", + "Ġshel ls", + "ĠN eck", + "ĠNe ck", + "ĠNec k", + "ĠEn forcement", + "v ided", + "vid ed", + "vi ded", + "vide d", + "s town", + "st own", + "sto wn", + "S phere", + "Sp here", + "$ r", + "us sen", + "uss en", + "a fil", + "af il", + "afi l", + "Ġ Telegram", + "ĠTele gram", + "Ġanaly tical", + "Ġanalytic al", + "н Ñĭе", + "нÑĭ е", + "us ually", + "usu ally", + "usual ly", + "x n", + "Ġhistor ian", + "Ġhist orian", + "Ġhistoria n", + "Ġhisto rian", + "ĠGreg ory", + "ol ph", + "Ġ Una", + "ĠU na", + "ĠUn a", + "Ġcon tributes", + "Ġcontrib utes", + "Ġcontribute s", + "% -", + "anti ago", + "ÑĢ ÐµÐ´", + "ÑĢе д", + ". region", + ".reg ion", + "Ġab rupt", + "ĠUnsupported OperationException", + "Ġ TASK", + "ĠT ASK", + "ĠTA SK", + "ĠTAS K", + "_ finish", + "_f inish", + "_fin ish", + "Ġnot orious", + "Ġ Vs", + "ĠV s", + "Ġ MQ", + "ĠM Q", + "Ġs unset", + "Ġsun set", + "Ġun acceptable", + "ar cer", + "arc er", + "Ġill umin", + "Ġillum in", + "ĠO rb", + "ĠOr b", + "Ġ bh", + "Ġb h", + "E ste", + "Est e", + "Es te", + "_ dispatch", + "_dis patch", + "_disp atch", + "Ġr ipped", + "Ġrip ped", + "Ġri pped", + "Ġtou jours", + "Ġ Parcel", + "ĠPar cel", + "_ ll", + "_l l", + ". userName", + ".user Name", + ". classes", + ".c lasses", + ".class es", + ".cl asses", + "S OURCE", + "( Number", + "(N umber", + "е лÑı", + "ел Ñı", + "Ġhead phones", + "Ġheadphone s", + "( side", + "(s ide", + "(si de", + "(sid e", + "con stitution", + "const itution", + "an nah", + "ann ah", + "anna h", + "čĊ ĠĠĠĠĠĠĠĠčĊ", + "Ġcl iff", + "Ġcli ff", + "- ref", + "-r ef", + "-re f", + "Ġmost rar", + "Ġmo strar", + "Ġmostr ar", + "Ġmostra r", + "ĠP owell", + "ĠPo well", + "ĠPow ell", + "+ y", + "Ġ BG", + "ĠB G", + "_ fragment", + "_f ragment", + "_fr agment", + "_frag ment", + ". Port", + ".P ort", + "Ġreal izing", + "Ġrealiz ing", + "param ref", + "Ġh ometown", + "Ġhome town", + "@ Table", + "+ \" --}}Ċ", + ">-- }}Ċ", + "F rench", + "Fr ench", + "Entity Manager", + "Ġ Plain", + "ĠP lain", + "ĠPl ain", + "ĠPla in", + "//// ////////////////////////////////////////////////////////////////", + "//////// ////////////////////////////////////////////////////////////", + "//////////////// ////////////////////////////////////////////////////", + "//////////////////////////////////////////////////////////////// ////", + "//////////// ////////////////////////////////////////////////////////", + "//////////////////////////////////////////////////////// ////////////", + "//////////////////////////////////////////////////////////// ////////", + "//////////////////////////////////////////////////// ////////////////", + " ³", + "( RE", + "(R E", + "c apt", + "ca pt", + "cap t", + "Ġ organisms", + "Ġorgan isms", + "Ġorganis ms", + "Ġorganism s", + "Ġ jets", + "Ġj ets", + "Ġje ts", + "Ġjet s", + "o location", + "ol ocation", + "olo cation", + "ĠApp RoutingModule", + "Ġgl orious", + "Ġglo rious", + "Ġglor ious", + "æľ į", + "Ġdisc arded", + "Ġdiscard ed", + "ĉ ĉĉĉĠĠĠĠĠ", + "ĉĉ ĉĉĠĠĠĠĠ", + "ĉĉĉĉ ĠĠĠĠĠ", + "ĉĉĉ ĉĠĠĠĠĠ", + "ĉĉĉĉĠ ĠĠĠĠ", + "ĉĉĉĉĠĠĠ ĠĠ", + "ĉĉĉĉĠĠ ĠĠĠ", + "ĉĉĉĉĠĠĠĠ Ġ", + "ĠArn old", + "l ug", + "lu g", + "Ġp arl", + "Ġpar l", + "Ġpa rl", + "Ġhorm ones", + "Ġhormone s", + "Ġ mah", + "Ġm ah", + "Ġma h", + "ĠS onic", + "ĠSo nic", + "ĠSon ic", + "Ġorgan izers", + "Ġorganiz ers", + "Ġorganize rs", + "Ġorganizer s", + "_ PLATFORM", + "_PL ATFORM", + ". inv", + ".in v", + ".i nv", + "Ġch ord", + "Ġcho rd", + "Ġchor d", + "vent ional", + "vention al", + "ĉ of", + "ĉo f", + "Ep isode", + ". Enum", + ".E num", + ".En um", + "un kt", + "unk t", + "ĠD h", + "ĠJ ared", + "ĠJa red", + "ĠJar ed", + "ĠN ak", + "ĠNa k", + "Ġint ends", + "Ġinte nds", + "Ġintend s", + "End ian", + "Ġa ustralia", + "_ cv", + "_c v", + "( resolve", + "(res olve", + "(re solve", + "Ġclin ics", + "Ġclinic s", + "l iked", + "li ked", + "like d", + "lik ed", + "ASH INGTON", + "in ha", + "inh a", + "' *", + "Ġ NP", + "ĠN P", + "_ beh", + "_b eh", + "_be h", + "Ġ hf", + "Ġh f", + "Ġw ür", + "c ategoria", + "$ form", + "$f orm", + "Ġsub way", + "Ġ isActive", + "Ġis Active", + "pop ular", + "C our", + "Co ur", + "Cou r", + "Ġ cooldown", + "Ġco oldown", + "Ġcool down", + "Ġa insi", + "Ġain si", + "Ġ GLuint", + "ĠGL uint", + "e real", + "ere al", + "erea l", + "Ġarray Of", + "Ġh atch", + "Ġhat ch", + "= =========", + "== ========", + "==== ======", + "======== ==", + "=== =======", + "========= =", + "====== ====", + "===== =====", + "======= ===", + "r esses", + "res ses", + "ress es", + "resse s", + "_ PP", + "_P P", + ". ^", + "_ decay", + "_dec ay", + "ĠB less", + "ĠBl ess", + "ĠBle ss", + "m etrics", + "met rics", + "metric s", + "ĠCOPY ING", + "ĠDump ster", + "ĠJos é", + "ĠDesign s", + "< Void", + "<", + "Ġ? ><", + "Ġ?> <", + "Ġ \"}Ċ", + "Ġ\" }Ċ", + "Ġ\"} Ċ", + "time zone", + "Ġ eer", + "Ġe er", + "Ġee r", + "max cdn", + "Ġ ESC", + "ĠE SC", + "ĠES C", + "ig aret", + "iga ret", + "igar et", + "_ connected", + "_connect ed", + "_conn ected", + "_ reverse", + "_re verse", + "_rev erse", + "Ġquestion able", + "ĠU SC", + "ĠUS C", + "Ġtu tti", + "Ġtut ti", + "Ġ dropout", + "Ġdrop out", + "Ġ Activities", + "ĠAct ivities", + "ĠActiv ities", + "ĠW inds", + "ĠWin ds", + "ĠWi nds", + "ĠWind s", + "' )));Ċ", + "') ));Ċ", + "')) );Ċ", + "'))) ;Ċ", + "Ġcon gest", + "Ġcong est", + "ÄŁ ı", + "Ġprolong ed", + "è¿ Ļ", + "ĠCross AxisAlignment", + "L EEP", + "LE EP", + "LEE P", + "Ġ VALID", + "ĠVAL ID", + "ĠG az", + "ĠGa z", + "Ġ dependence", + "Ġdepend ence", + "ĠP rix", + "ĠPr ix", + "ĠPri x", + ".Compiler Services", + "j ump", + "ju mp", + "Ġst rat", + "Ġstr at", + "Ġstra t", + "c irc", + "ci rc", + "cir c", + "Ġ CUSTOM", + "ĠC USTOM", + "x aa", + "xa a", + "Ġ bmp", + "Ġb mp", + "Ġbm p", + "Ġb ureau", + "Ġbu reau", + "Ġbure au", + "Ġw aren", + "Ġwar en", + "Ġwa ren", + "Ġware n", + "N X", + "( Window", + "(W indow", + "ĠChrist ie", + "ĠChris tie", + "_ FE", + "_F E", + "Ġ tn", + "Ġt n", + "Ġ Omega", + "ĠO mega", + "ĠOm ega", + "communic ations", + "communication s", + "Home Page", + "com pletion", + "comp letion", + "Ġsupply ing", + "Ġsuppl ying", + "Ġsupp lying", + "YPE S", + "YP ES", + "á vel", + "áv el", + "åĪ ¶", + "( click", + "(c lick", + "(cl ick", + "(cli ck", + "\\ Contracts", + "/ questions", + "/question s", + "Ġ ez", + "Ġe z", + "A MS", + "AM S", + ". mesh", + ".m esh", + ".me sh", + "Ġ' \\Ċ", + ">\\ Ċ", + "R obot", + "Rob ot", + "Ro bot", + "Json Object", + "Ġ DF", + "ĠD F", + "Ġ Processor", + "ĠProcess or", + "ĠProc essor", + "_ should", + "_sh ould", + ". protobuf", + ".prot obuf", + ".proto buf", + "- users", + "-user s", + "-use rs", + "-us ers", + "Ġemb ry", + "Ġembr y", + "F ONT", + "FO NT", + "Ġstart ups", + "Ġstartup s", + "Ġ DataSource", + "ĠData Source", + ") #", + "u ros", + "ur os", + "uro s", + "_ Color", + "_C olor", + "Ġst andalone", + "Ġstand alone", + "} [", + "j d", + "Ġfor give", + "Ġforg ive", + "Ġ ngx", + "Ġn gx", + "Ġng x", + "Ġ Generally", + "ĠGener ally", + "ĠGeneral ly", + "Ġconfig urable", + "Ġconfigur able", + "/ order", + "/or der", + "Ġ vas", + "Ġv as", + "Ġva s", + "' )\";Ċ", + "') \";Ċ", + "')\" ;Ċ", + "Ġ RR", + "ĠR R", + "ĠT roy", + "ĠTr oy", + "ĠTro y", + "Ġcomprom ised", + "Ġcompromise d", + "ĠS wan", + "ĠSw an", + "int endent", + "C entral", + "Cent ral", + "_ keeper", + "_k eeper", + "_ke eper", + "_keep er", + "Ġar quivo", + "Ġ ReadOnly", + "ĠRead Only", + "_ curve", + "_c urve", + "_cur ve", + "_cu rve", + "k v", + "en tin", + "ent in", + "enti n", + "è ±", + "Ġ Ey", + "ĠE y", + ".im read", + "ĠP am", + "ĠPa m", + "i ffe", + "if fe", + "iff e", + "at ivity", + "ativ ity", + "x bc", + "xb c", + "Ġ grim", + "Ġg rim", + "Ġgr im", + "Ġgri m", + "- filled", + "-f illed", + "-fill ed", + "name se", + "names e", + "nam ese", + "' ]:", + "'] :", + "Ġ aur", + "Ġa ur", + "Ġau r", + "ĠGi bson", + "ĠGib son", + ". MouseEvent", + ".Mouse Event", + "Ġl ado", + "Ġla do", + "Ġlad o", + "ava doc", + "avad oc", + "Ġf amil", + "Ġfam il", + "Ġfa mil", + "Ġ Moder", + "ĠM oder", + "ĠMod er", + "ĠMo der", + "ĠMode r", + "f ps", + "fp s", + "ãĢĢ ãĢĢ", + "- example", + "-ex ample", + "ĠAl zheimer", + "Ġ Utf", + "ĠU tf", + "ĠUt f", + "_ arguments", + "_arg uments", + "_argument s", + "Con clusion", + "text Content", + "rem aining", + "remain ing", + "rema ining", + "Ġinterrupt s", + "Ġ Backup", + "ĠBack up", + "ĠBac kup", + "ĠM ong", + "ĠMon g", + "ĠMo ng", + "Ġre ceptors", + "Ġrecept ors", + "Ġreceptor s", + "Ġrecep tors", + "h istor", + "hi stor", + "hist or", + "his tor", + ".cor outines", + "Ġsh outed", + "Ġshout ed", + "Ġsho uted", + "Al arm", + "Ġcomb ust", + "Ġg rote", + "Ġgr ote", + "Ġgro te", + "ult ural", + "ultur al", + "( ids", + "(i ds", + "(id s", + "---- ----------------------------------------------------------------------------", + "---------------- ----------------------------------------------------------------", + "-------------------------------- ------------------------------------------------", + "---------------------------------------------------------------- ----------------", + "------------------------------------------------ --------------------------------", + "---------- ----------------------------------------------------------------------", + "---------------------------------------------------------------------------- ----", + "---------------------------------------------------------------------- ----------", + "ipl inary", + "iplina ry", + "O pts", + "Op ts", + "Opt s", + "ĠY ale", + "ĠYa le", + "local Storage", + "Ġequ ival", + "Ġequiv al", + "ĠF leet", + "ĠFle et", + "\\ b", + "* pi", + "*p i", + "ĠQ Label", + "æ ¡", + "Ġ vx", + "Ġv x", + "Ġ ACL", + "ĠA CL", + "ĠAC L", + "Ġsu cesso", + "Ġsuc esso", + "Ġsucess o", + "Ġ perc", + "Ġp erc", + "Ġper c", + "Ġpe rc", + "ĠN otre", + "ĠNo tre", + "ĠNot re", + "Ġan arch", + "Ġana rch", + "R ing", + "s pb", + "sp b", + "Ġ strpos", + "Ġstr pos", + "st ores", + "store s", + "sto res", + "stor es", + "ĠMap le", + "ĠMa ple", + "( MainActivity", + "(Main Activity", + "(\" \"))", + "(\"\" ))", + "(\"\") )", + "Ġview Holder", + "Qu ad", + "Ġig ual", + "ors che", + "orsch e", + ". margin", + ".m argin", + ".mar gin", + "Ġin die", + "Ġind ie", + "Ġfr anc", + "Ġfra nc", + "Ġfran c", + "ĠForm Builder", + "ĠPart icip", + "ĠParti cip", + ". flash", + ".f lash", + ".fl ash", + "Ġ storms", + "Ġstorm s", + "Ġstor ms", + "Ġsto rms", + "U lt", + "Ul t", + "Ġ fen", + "Ġf en", + "Ġfe n", + "[ new", + "[n ew", + "E ver", + "Ev er", + "= \"Ċ", + "=\" Ċ", + "Ġ localized", + "Ġlocal ized", + "Ġlocalize d", + "_ follow", + "_f ollow", + "Ġ nave", + "Ġn ave", + "Ġna ve", + "Ġnav e", + "Ġdom inance", + "Ġdomin ance", + "Ġdomina nce", + "( tile", + "(t ile", + "(ti le", + "J ournal", + "Jo urnal", + "Ġ VC", + "ĠV C", + "Ġpen etration", + "Ġpenet ration", + "Ġpenetr ation", + "ï¼ ķ", + "Ġcom partment", + "Ġcomp artment", + "Ġcompart ment", + "Ġb ids", + "Ġbi ds", + "Ġbid s", + "Form atted", + "Format ted", + "**** **/ĊĊ", + "****** /ĊĊ", + "*** ***/ĊĊ", + "***** */ĊĊ", + "******/ ĊĊ", + "******/Ċ Ċ", + "( city", + "(c ity", + "(ci ty", + "âĢĶ it", + "[ C", + "Ġuse Callback", + "a ub", + "au b", + ") ?.", + ")? .", + "Ġ VAR", + "ĠV AR", + "ĠVA R", + "ĠSe bastian", + "ĠSebast ian", + "ĠM oss", + "ĠMo ss", + "ĠMos s", + "Ġabund ant", + "G reg", + "Gr eg", + "Gre g", + "ÑĤ а", + "_ ci", + "_c i", + "Ġb ibli", + "Ġbib li", + "C RM", + "CR M", + "Ġ Attempt", + "ĠAt tempt", + "ĠAtt empt", + "is me", + "ism e", + "d ash", + "da sh", + "das h", + "ãĢ İ", + "_ mu", + "_m u", + ".Formatting Enabled", + "Ind eed", + "- direct", + "-d irect", + "-dir ect", + "-di rect", + "Ġs ucking", + "Ġsuc king", + "Ġsuck ing", + "Ġp ne", + "Ġpn e", + "ocab ulary", + "ĠP ackers", + "ĠPac kers", + "ĠPack ers", + ". Navigation", + ".N avigation", + ".Nav igation", + "Ġp ied", + "Ġpie d", + "Ġpi ed", + "cri bing", + "ĠSt uart", + ".To Double", + "Ġ Secondary", + "ĠSecond ary", + "S aving", + "Sa ving", + "ĠD ut", + "ĠDu t", + "ĠM add", + "ĠMad d", + "ĠMa dd", + "M agic", + "Mag ic", + ", H", + ".document Element", + "Ġ BST", + "ĠB ST", + "ĠBS T", + "Ġdif fers", + "Ġdiffer s", + "Ġdiff ers", + "Ġmore over", + "_ nd", + "_n d", + "SE ARCH", + "п ÑĢав", + "пÑĢа в", + "пÑĢ Ð°Ð²", + "æ ´", + "to Match", + "Ġde creasing", + "Ġdecre asing", + "- member", + "-m ember", + "am pus", + "amp us", + "( boost", + "D aily", + "Da ily", + "Data GridView", + "Ġ HttpContext", + "ĠHttp Context", + "Ġh ipp", + "Ġhi pp", + "Ġhip p", + "_ workers", + "_work ers", + "_worker s", + "- language", + "-l anguage", + "é ĵ", + "Ġcons isted", + "Ġconsist ed", + "a thing", + "ath ing", + "athi ng", + "ĠMer cury", + "ĠMerc ury", + "$ content", + "$c ontent", + "$con tent", + "Ġpract iced", + "Ġpractice d", + "Ġ Modules", + "ĠMod ules", + "ĠModule s", + "_ DAY", + "_D AY", + "_DA Y", + "Ġweakness es", + "ĠL odge", + "ĠLo dge", + "ĠLod ge", + "Ġ nar", + "Ġn ar", + "Ġna r", + "Ġ Mate", + "ĠM ate", + "ĠMat e", + "ĠMa te", + "Ġ jp", + "Ġj p", + "ĠHttp Headers", + "Ġs mo", + "Ġsm o", + "Ġ TOKEN", + "ĠT OKEN", + "ĠTO KEN", + "ĠTOK EN", + "] )(", + "]) (", + "Ġa qui", + "Ġaqu i", + "sw agen", + "Ġ srv", + "Ġs rv", + "Ġsr v", + "ĉ ans", + "ĉa ns", + "ĉan s", + "A round", + "Ar ound", + "ĠMan uel", + "Ġfiction al", + "Ġfict ional", + "Ġ IMG", + "ĠI MG", + "ĠIM G", + "Ġ .'", + "Ġ. '", + "Ġ Berry", + "ĠB erry", + "ĠBer ry", + "Ġwall paper", + "s exual", + "sex ual", + "i ero", + "ie ro", + "ier o", + "Ġ çļĦ", + "ìĨ Į", + "Backing Field", + "ĠAd rian", + "ĠAdri an", + "BASE PATH", + "Ġre peats", + "Ġrepe ats", + "Ġrepeat s", + "Ġbl ues", + "Ġblue s", + "Ġun predict", + "Ġunp redict", + "_ coll", + "_c oll", + "_col l", + "_co ll", + "st acle", + "sta cle", + "Ġ Tumblr", + "ĠT umblr", + "Ġ Elf", + "ĠE lf", + "ĠEl f", + "Ġass urance", + "Ġc ensus", + "Ġcen sus", + "Ġ IMPORT", + "ĠIM PORT", + "ĠIMP ORT", + "E NDER", + "EN DER", + "END ER", + "a nos", + "an os", + "ano s", + "Ġ =(", + "Ġ= (", + "ĠEl lis", + "ĠEll is", + "ĠElli s", + "\" ĊĊĊĊ", + "\"Ċ ĊĊĊ", + "\"ĊĊ ĊĊ", + "\"ĊĊĊ Ċ", + ". win", + ".w in", + "Ġ Above", + "ĠA bove", + "ĠAb ove", + "a lon", + "al on", + "alo n", + "_ tick", + "_t ick", + "_ti ck", + "Ġrepresent ations", + "Ġrepresentation s", + "Ġ æķ", + "Ġæ ķ", + "w id", + "wi d", + "ĠA rms", + "ĠAr ms", + "ĠArm s", + "L ista", + "List a", + "Li sta", + "_ failure", + "_f ailure", + "_fail ure", + "_ cm", + "_c m", + ".Flat Appearance", + "Ġth rone", + "Ġthr one", + "Ġthro ne", + "P atch", + "Pat ch", + "ĠV oy", + "ĠVo y", + "en gl", + "eng l", + "Ġnegot iating", + "> `", + "Ġshoot s", + "Ġsho ots", + "Ġ FPS", + "ĠF PS", + "ĠFP S", + ". Year", + ".Y ear", + "ĠK iss", + "ĠKi ss", + "ĠKis s", + "en ción", + "enc ión", + "enci ón", + "re eting", + "ree ting", + "reet ing", + "From File", + "Ġresign ation", + "Ø ·", + "Ġt wins", + "Ġtw ins", + "Ġtwin s", + "ư ợ", + "ưỠ£", + "Ġge bru", + "Ġgeb ru", + ". getContent", + ".get Content", + ".getC ontent", + ". Tree", + ".T ree", + ".Tr ee", + "Ġ Employees", + "ĠEmployee s", + "ĠEmploy ees", + "ĠF IFA", + "ĠFI FA", + "Ġc ertainty", + "Ġcert ainty", + "Ġcertain ty", + "( Cl", + "(C l", + "Ġ totals", + "Ġtot als", + "Ġtotal s", + "ed itable", + "edit able", + "edi table", + "ॠĢ", + ". Reporting", + ".Report ing", + "M as", + "Ma s", + "qu iet", + "qui et", + ". rules", + ".r ules", + ".ru les", + ".rule s", + "Ġ VO", + "ĠV O", + "con exion", + ", K", + "Ġ allocator", + "Ġal locator", + "Ġall ocator", + "Ġalloc ator", + "ĠPow der", + "\\ Repository", + "B eat", + "Be at", + "_ tipo", + "_t ipo", + "_tip o", + "_ti po", + "Ġ[ '',", + "Ġ[' ',", + "_ INTR", + "_IN TR", + "_INT R", + "Ġ <<<", + "Ġ< <<", + "Ġ<< <", + "< hr", + " \");čĊ", + ">\" );čĊ", + ">\") ;čĊ", + "drop IfExists", + "ĠB eg", + "ĠBe g", + "_ HAL", + "_H AL", + "Ġcross AxisAlignment", + "Ġ Evidence", + "ĠE vidence", + "ĠEv idence", + "Ġpec uliar", + "Ġin stitute", + "Ġinstit ute", + "ve is", + "Ġ fft", + "Ġf ft", + "Ġff t", + "à ģ", + "Ġzo ekt", + "Ġzoek t", + "an aly", + "ana ly", + "anal y", + "ĠHome land", + "ĠHom eland", + "Ġpen etr", + "Ġpenet r", + "udden ly", + "ĉ element", + "ĉe lement", + "ĉel ement", + "ĉelem ent", + "ĠB ren", + "ĠBr en", + "ĠBre n", + "ĠTr udeau", + "ĠCub an", + "ĠCu ban", + "ĠCuba n", + "j am", + "ja m", + "us lim", + "_ ev", + "_e v", + "Ġs tems", + "Ġst ems", + "Ġste ms", + "Ġstem s", + "} %", + "Ŀ å§ĭ", + "Ġbr anding", + "Ġbrand ing", + "Ġbran ding", + "Ġcorrespond ence", + ". jquery", + ".j query", + "¢ åįķ", + "ĠRe ads", + "ĠRead s", + "(Http StatusCode", + "(HttpStatus Code", + "as sin", + "ass in", + "assi n", + "( slot", + "(s lot", + "(sl ot", + "ĠGrad uate", + "// /<", + "/// <", + "Ġinformation s", + "Ġinform ations", + "Ġinformat ions", + "EN ABLE", + "ENA BLE", + "Ġp uis", + "Ġpu is", + "Ġ finder", + "Ġf inder", + "Ġfind er", + "Ġfin der", + "Ġfi nder", + "Ġfinde r", + "ĠB ris", + "ĠBr is", + "ĠBri s", + "Ġnett steder", + "_ mid", + "_m id", + "_mi d", + "Ġ ogs", + "Ġo gs", + "Ġog s", + "ĠSter ling", + "Ġar rog", + "Ġarr og", + "str ftime", + "| ĊĊ", + "|Ċ Ċ", + "Ġ vox", + "Ġv ox", + "Ġvo x", + "Ġ Regardless", + "ĠReg ardless", + "Ġ eso", + "Ġe so", + "Ġes o", + "Ġ Comfort", + "ĠCom fort", + ".Boolean Field", + "Ġ uh", + "Ġu h", + "A CY", + "AC Y", + "Ġsque ez", + "ĠV ic", + "ĠVi c", + "con tro", + "cont ro", + "contr o", + ". lo", + ".l o", + "Ġ ire", + "Ġi re", + "Ġir e", + "ĠCom edy", + "ĠCome dy", + "ë ¶", + "Ġorig inated", + "Ġorigin ated", + "Ġoriginate d", + "Ġ shipment", + "Ġsh ipment", + "Ġship ment", + "| max", + "|m ax", + "_ guid", + "_g uid", + "_gui d", + "le vation", + "lev ation", + "н аÑı", + "на Ñı", + "( undefined", + "(un defined", + "Ġ DDR", + "ĠD DR", + "ĠDD R", + "Ġshoot ings", + "Ġshooting s", + "ĠLat ino", + "ĠLatin o", + "END OR", + "Ġaver aging", + "Ġgre eted", + "Ġgreet ed", + "Ġthe aters", + "Ġtheater s", + "Ġtheat ers", + "о е", + "оРµ", + "Ġ dB", + "Ġd B", + "Ġ gst", + "Ġg st", + "Ġgs t", + "Ġde finite", + "Ġdef inite", + "Ġdefinit e", + "Ġdefin ite", + ". Storage", + ".St orage", + ". her", + ".h er", + ".he r", + "Ġa fore", + "Ġaf ore", + "Ġ Reality", + "ĠRe ality", + "ĠReal ity", + "ĠG ods", + "ĠGod s", + "ĠGo ds", + "v ersed", + "ver sed", + "vers ed", + "verse d", + "Ġhand some", + "Ġhands ome", + "Ġ excluding", + "Ġex cluding", + "Ġexcl uding", + "( ad", + "(a d", + "Qu otes", + "Quote s", + "Ġ Scheme", + "ĠS cheme", + "ĠSch eme", + "ĠSche me", + "? q", + "ĠT amil", + "ĠTa mil", + "ĠTam il", + "T icks", + "Tick s", + "Ti cks", + "Ġ pest", + "Ġp est", + "Ġpe st", + "Ġpes t", + "' n", + "Ġporn ography", + "_ modal", + "_m odal", + "_mod al", + "_mo dal", + "Ġ ----------", + "Ġ- ---------", + "Ġ-- --------", + "Ġ---- ------", + "Ġ--- -------", + "Ġ----- -----", + "Ġ------ ----", + "Ġ-------- --", + "Ġ------- ---", + "Ġ--------- -", + "Ġd isposable", + "Ġdis posable", + "Ġdispos able", + "F REE", + "FR EE", + "Ġsh ark", + "Ġsha rk", + "Ġshar k", + "C HE", + "CH E", + "Ġdep icted", + "Ġdepict ed", + "Ġdemonstr ations", + "Ġdemonstration s", + "ĠK illed", + "ĠKill ed", + "ĠKil led", + "Ġ RULE", + "ĠR ULE", + "ĠRU LE", + "Ġobs essed", + "Ġobsess ed", + "Ġs implified", + "Ġsimpl ified", + "Post al", + "Pos tal", + "Po stal", + "Ġconcept ual", + "Ġ pst", + "Ġp st", + "Ġps t", + "L as", + "La s", + "_ PROJECT", + "_PRO JECT", + "uc ceeded", + "ucceed ed", + "o lu", + "ol u", + "ÄŁ i", + "Ġpersonal ities", + "Ġ reshape", + "Ġre shape", + "Ġres hape", + "Ġresh ape", + "Ġen closed", + "Ġenc losed", + "ĉ ptr", + "ĉp tr", + "ĉpt r", + "Ġt utorials", + "Ġtutorial s", + "Ġtutor ials", + "Ġexpl oded", + "Ġexplo ded", + "Ġexplode d", + "_ DIRECTORY", + "_DIRECT ORY", + "åĨħ 容", + "Ġc anon", + "Ġcan on", + "Ġca non", + "Ġrecogn ise", + "P AD", + "PA D", + "Ġ Approx", + "ĠApp rox", + "ĠAp prox", + "ĠAppro x", + "Ġ Restore", + "ĠRe store", + "ĠRest ore", + "Ġ Important", + "ĠImport ant", + "Ġhe avier", + "Ġheav ier", + ". Sequential", + ".Se quential", + "E arth", + "Ear th", + "ĠM ilk", + "ĠMil k", + "ĠMi lk", + ".set Request", + ". tem", + ".t em", + ".te m", + "Ġre construct", + "Ġrecon struct", + "Ġskept ical", + "Ġskeptic al", + "_ Private", + "_Pr ivate", + "B UF", + "BU F", + "q ua", + "qu a", + ": a", + "Ġ sek", + "Ġs ek", + "Ġse k", + "Ġd well", + "Ġdw ell", + "o ssa", + "os sa", + "oss a", + "Ġreward ed", + "Ġrew arded", + "и й", + "( topic", + "(t opic", + "(to pic", + "(top ic", + "_ partition", + "_part ition", + "Ġ__ ________________", + "Ġ______ ____________", + "Key words", + "Keyword s", + "ĠFr anco", + "ĠFranc o", + "ĠFran co", + "L ite", + "Li te", + "Lit e", + "Ġn aken", + "Ġna ken", + "Ġnak en", + "Ġ за", + "Ġз а", + "O BJECT", + "OB JECT", + "OBJ ECT", + "Ġcraft s", + "Ġcra fts", + "Ġ Swap", + "ĠS wap", + "ĠSw ap", + ".X na", + ". Connect", + ".Con nect", + ".Conn ect", + "Ġbalcon y", + "( real", + "(re al", + "ĠBar nes", + "ĠBarn es", + "b ir", + "bi r", + "Ġ Twenty", + "ĠTw enty", + "ĠTwe nty", + "a yan", + "ay an", + "aya n", + "at ars", + "ata rs", + "atar s", + "ĠPro pel", + "ĠProp el", + "ĠIh nen", + "Up grade", + "Ġc urb", + "Ġcur b", + "Ġcu rb", + "- second", + "-se cond", + "Ġn eph", + "Ġne ph", + "Ġnep h", + ". pres", + ".p res", + ".pre s", + ".pr es", + "ìŀ ħ", + ". seq", + ".s eq", + ".se q", + "Ġp added", + "Ġpad ded", + "Ġpadd ed", + "\" ?", + "j l", + "ãĥ ¬", + "' ) a", + "Co ordinates", + "Coordinate s", + "Ġen acted", + "Ġenact ed", + "EN TS", + "ENT S", + "Ġ lac", + "Ġl ac", + "Ġla c", + ". final", + ".f inal", + ".fi nal", + ".fin al", + "ĠPhp Storm", + "c alled", + "cal led", + "call ed", + "Ġin quiries", + ". middleware", + ".m iddleware", + ".middle ware", + "ĠD owntown", + "ĠDown town", + "/ ';Ċ", + "/' ;Ċ", + "Ġkil omet", + "ac cel", + "acc el", + "Ġqu ien", + "Ġq uien", + "Ġqui en", + "w string", + "ws tring", + "set Data", + "Ġman era", + "Ġmane ra", + "Ġmod ular", + "r imp", + "ri mp", + "rim p", + "Ġtar iffs", + "Ġtariff s", + "Ġtarif fs", + "âĢĻ il", + "âĢĻi l", + "_TH ROW", + "/ color", + "/c olor", + "/co lor", + "Ġ HTMLElement", + "ĠHT MLElement", + "ĠHTML Element", + "Ġc arro", + "Ġcar ro", + "Ġcarr o", + "Ġpr ere", + "Ġpre re", + "Ġprer e", + "Ġplot ting", + "Ġ Positive", + "ĠPos itive", + "ĠM achines", + "ĠMachine s", + "ĠMach ines", + "O TES", + "OT ES", + "OTE S", + "á» Ľ", + "ple asant", + "Ġ alte", + "Ġa lte", + "Ġal te", + "Ġalt e", + "Ġa inda", + "Ġai nda", + "Ġain da", + "th ese", + "the se", + "thes e", + "Ġ cors", + "Ġc ors", + "Ġco rs", + "Ġcor s", + "i pay", + "ip ay", + "ipa y", + "ĠAdv isory", + "ĠAdvis ory", + "ĠAdvisor y", + "ĠRub io", + "ĠRu bio", + "j q", + "Ġl imestone", + "Ġlim estone", + "Ġlime stone", + "Ġdet ached", + "Ġdetach ed", + "设 ç½®", + "t enant", + "te nant", + "ten ant", + "Ġ Depth", + "ĠDe pth", + "ĠDep th", + "ĠDept h", + "a lore", + "al ore", + "alo re", + "ĠÑģÑĤ ÑĢок", + "ĠÑģÑĤÑĢ Ð¾Ðº", + "ĠÑģÑĤÑĢо к", + "Ġ FORE", + "ĠF ORE", + "ĠFOR E", + "ĠFO RE", + "ĠL ay", + "ĠLa y", + "p resentation", + "present ation", + ") ');Ċ", + ")' );Ċ", + ".sub plots", + ".subplot s", + "Ï ĥ", + "N OW", + "NO W", + "G ar", + "Ga r", + "h andles", + "handle s", + "hand les", + "a bra", + "ab ra", + "abr a", + "put ies", + "pu ties", + "ĠElect rical", + "ĠElectric al", + "M iddle", + "Mid dle", + "r opic", + "ro pic", + "rop ic", + "Ġ JD", + "ĠJ D", + "Ġ Dyn", + "ĠD yn", + "ĠDy n", + "ĠB ristol", + "ĠBr istol", + "ĠBris tol", + "ĠMc Carthy", + "ĠMcCart hy", + "Ġstr iker", + "Ġstri ker", + "Ġstrike r", + "Ġenum erable", + "Ġenumer able", + "ĠE van", + "ĠEv an", + "ĠEva n", + ". defaults", + ".default s", + "qu ences", + "que nces", + "quence s", + ") ||", + ")| |", + "ĉ token", + "ĉt oken", + "ĉto ken", + "â Ĺı", + "âĹ ı", + "- dropdown", + "-d ropdown", + "-drop down", + "ST ORE", + "Ġ Graphic", + "ĠG raphic", + "ĠGraph ic", + "( pp", + "(p p", + "Ex pl", + "Exp l", + "Ġup wards", + "Ġupward s", + "ĠD istributed", + "ĠDistrib uted", + "Ġ WEB", + "ĠW EB", + "ĠWE B", + "J er", + "Je r", + "is NaN", + "çĶŁ æĪIJ", + "> R", + "üss en", + "üs sen", + "e fs", + "ef s", + "Ġun cover", + "Ġunc over", + "Ġl ud", + "Ġlu d", + ". calculate", + ".c alculate", + ".cal culate", + ".calc ulate", + "Ġ intptr", + "Ġint ptr", + "Ġmidfield er", + ". Headers", + ".Header s", + ".He aders", + ".Head ers", + "Ġ mf", + "Ġm f", + "e ref", + "er ef", + "ere f", + ". Metro", + ".M etro", + ".Me tro", + "Ġ Speaking", + "ĠSpe aking", + "ĠSpeak ing", + ": b", + "Ġcryptoc urrencies", + "Ġd emons", + "Ġde mons", + "Ġdem ons", + "Ġdemon s", + "Ġdemo ns", + "ĉ EXPECT", + "Ġw icked", + "y outube", + "you tube", + "youtu be", + ": Int", + ":I nt", + "ĠH indi", + "ĠHind i", + "ĠHin di", + "Ġ CAT", + "ĠC AT", + "ĠCA T", + "Ġ ع", + "ĠØ ¹", + "r ar", + "ra r", + "o more", + "om ore", + "omo re", + "omor e", + "/ per", + "/p er", + "/ license", + "/lic ense", + "/l icense", + "Ġre im", + "Ġa waiting", + "Ġawait ing", + "Ġle thal", + "Ġlet hal", + "Ġleth al", + "Ġ EF", + "ĠE F", + "r ounded", + "ro unded", + "round ed", + "ĠPl atinum", + "Ġв Ñģе", + "ĠвÑģ е", + ". coords", + ".co ords", + ".coord s", + ". Device", + ".D evice", + ".De vice", + ".Dev ice", + "/ item", + "/i tem", + "Ġ Wenn", + "ĠW enn", + "ĠWe nn", + "ĠWen n", + "compile Components", + "ĠK inder", + "ĠKind er", + "ĠKi nder", + "ĠKin der", + ".remove Item", + "Ġ anda", + "Ġa nda", + "Ġand a", + "Ġan da", + "b nb", + "bn b", + "Ġ pra", + "Ġp ra", + "Ġpr a", + "( transaction", + "(trans action", + "Ġembarrass ing", + "ĉ BOOL", + ".content View", + "Ġevent data", + "at ore", + "ator e", + "ato re", + "Ġprovided In", + "ir ma", + "irm a", + "Ġz ona", + "Ġzo na", + "_ HW", + "_H W", + "æ Ļ", + "Ġst ove", + "Ġsto ve", + "Ġcounter part", + "_ Product", + "_Pro duct", + "_MAN AGER", + "Ġinf ring", + "Ġinfr ing", + "Ġ ERA", + "ĠE RA", + "ĠER A", + "_ party", + "_p arty", + "_part y", + "_par ty", + "Ñ ij", + "Ġin ici", + "Ġi nici", + "Ġini ci", + "_ Request", + "_Re quest", + "Ġmir acle", + "Ġmirac le", + "Ġcancel Button", + "S py", + "Sp y", + "at ó", + "Ġpol ish", + "Ġpo lish", + "Ġpolis h", + "ĠNic ole", + "ĠNi cole", + "ĠNico le", + "ĠNicol e", + ". displayName", + ".display Name", + "\\ Requests", + "\\Request s", + "Ġuse History", + "Router Module", + "Ġst ared", + "Ġstar ed", + "Ġsta red", + "Ġstare d", + "I DER", + "ID ER", + "IDE R", + "Ñĥнк ÑĨи", + "Ġ nota", + "Ġn ota", + "Ġnot a", + "Ġno ta", + "$ arr", + "$a rr", + "$ar r", + "pec ified", + "Ġt opp", + "Ġto pp", + "Ġtop p", + "_DR IVER", + "_DRIVE R", + "/ ng", + "/n g", + "å ł", + "_ tm", + "_t m", + "% timeout", + "< s", + "Ġ (*)", + "Ġ( *)", + "Ġ(* )", + "Ġ HttpRequest", + "ĠHttp Request", + "_ TRACK", + "_TR ACK", + "_TRA CK", + "( note", + "(n ote", + "(not e", + "(no te", + "Ġ Explore", + "ĠExp lore", + "ĠExpl ore", + "_ serv", + "_s erv", + "_se rv", + "_ser v", + "Ġ ç»", + "Ġç »", + "B inder", + "Bind er", + "Bin der", + "Bi nder", + "+ \",", + "+\" ,", + ". att", + ".a tt", + ".at t", + "ĠEth i", + "ĠEt hi", + "Ġc ódigo", + "= '\\", + "=' \\", + ". lines", + ".l ines", + ".line s", + ".li nes", + ".lin es", + "( Of", + "(O f", + "å° Ĩ", + "miss ible", + "Ġ vé", + "Ġv é", + "Ġac oustic", + "Ġcraft ing", + "n it", + "ni t", + ". ba", + ".b a", + "ĠLuc y", + "ĠLu cy", + "Ġi Pod", + "ĠiP od", + "Ġpup ils", + "Ġpupil s", + "- max", + "-m ax", + "_ wr", + "_w r", + "( cp", + "(c p", + "Ġ REPORT", + "ĠRE PORT", + "ĠREP ORT", + "Ġ dns", + "Ġd ns", + "Ġdn s", + "Ġ References", + "ĠRe ferences", + "ĠReference s", + "ĠRefer ences", + "Ġunder taken", + "Ġundert aken", + "Ġundertake n", + "Ġkø benhavn", + "Ġ chai", + "Ġc hai", + "Ġch ai", + "Ġcha i", + "ĠC roat", + "ĠCro at", + "_ Log", + "_L og", + "r owned", + "row ned", + "rown ed", + "_ med", + "_m ed", + "_me d", + "ĉ date", + "ĉd ate", + "# __", + "Ġcost umes", + "Ġcostume s", + "Ġ Requires", + "ĠRe quires", + "ĠRequire s", + "aff le", + "ç Ĭ¶æĢģ", + "çĬ¶ æĢģ", + "-S emit", + "-Se mit", + "ela ide", + "еÑĤ од", + "Ġp estic", + "Ġpes tic", + "Ġpest ic", + "Ġ dra", + "Ġd ra", + "Ġdr a", + "D OCUMENT", + "DOC UMENT", + "Ġ ...čĊ", + "Ġ... čĊ", + "Ġ.. .čĊ", + "} `}Ċ", + "}` }Ċ", + "}`} Ċ", + "ĠA uction", + "ĠAu ction", + "Ġ Dock", + "ĠD ock", + "ĠDo ck", + "ĠDoc k", + "xxxx xxxx", + "( getString", + "(get String", + "ħ į", + "Ġborder Width", + "ĠM achinery", + "ĠMachine ry", + "ĠMach inery", + "Ġpredict able", + "Ġpredic table", + ". SH", + ".S H", + "Ġam plitude", + "Ġampl itude", + ".for Root", + "I Navigation", + "IN avigation", + "Table Model", + "at trib", + "att rib", + "attr ib", + "Ġmaneu ver", + "Ġexc av", + "B ERS", + "BER S", + "BE RS", + "Ġd apat", + "Ġda pat", + "Ġdap at", + "Ġinstall ations", + "Ġinstallation s", + "Ġinstal lations", + ". Async", + ".A sync", + ".As ync", + "Ġ rays", + "Ġr ays", + "Ġra ys", + "Ġray s", + "= âĢĿ", + "; ččĊ", + ". crypto", + ".c rypto", + "_ dbg", + "_d bg", + "_db g", + "Ġ Enumerable", + "ĠEnum erable", + "Of Size", + "_ epochs", + "_epoch s", + "m w", + "M ENU", + "ME NU", + "out line", + "ĠP apers", + "ĠPa pers", + "ĠPaper s", + "ĠPap ers", + "= ===========Ċ", + "== ==========Ċ", + "==== ========Ċ", + "======== ====Ċ", + "=== =========Ċ", + "============ Ċ", + "=========== =Ċ", + "========= ===Ċ", + "========== ==Ċ", + "====== ======Ċ", + "===== =======Ċ", + "======= =====Ċ", + "Ġuniform s", + "Ġuni forms", + "ĠG ig", + "ĠGi g", + "- package", + "-p ackage", + "-pack age", + "ĠJ enkins", + "ĠJen kins", + "Ġ HomePage", + "ĠHome Page", + ". isSelected", + ".is Selected", + "Ġmechan ic", + "Ġmech anic", + "M K", + "Ġ Sounds", + "ĠS ounds", + "ĠSo unds", + "ĠSou nds", + "ĠSound s", + "//---------------------------------------------------------------- -------------Ċ", + "//---------------------------------------------------------------------------- -Ċ", + "Ġresearch ing", + "Ġ infos", + "Ġin fos", + "Ġinfo s", + "Ġinf os", + "o graphics", + "og raphics", + "ograph ics", + "ographic s", + "er set", + "ers et", + "erse t", + "([ '/", + "([' /", + "ĠTim ber", + ". agent", + ".a gent", + ".ag ent", + ".age nt", + ".to JSON", + "_ commands", + "_command s", + "_comm ands", + "p aring", + "par ing", + "pa ring", + "_ adjust", + "_ad just", + "_adj ust", + ". nome", + ".n ome", + ".no me", + ".nom e", + "( glm", + "(g lm", + "(gl m", + "Status Bar", + "file path", + "? âĢĻ", + "Ġdet ective", + "Ġdetect ive", + "Ġuns erer", + "Ġunser er", + "Ġunsere r", + "ĠTi bet", + "ĠTib et", + "EN DED", + "END ED", + "( seed", + "(s eed", + "(se ed", + "Ġsne ak", + "Ġa mor", + "Ġam or", + "Ġamo r", + "=\" //", + "=\"/ /", + "ĠPan thers", + "ĠPanther s", + "all ax", + "alla x", + "ĠL IVE", + "ĠLI VE", + "ĉ DWORD", + "ĉD WORD", + "] =-", + "]= -", + "Ġt ornado", + "Ġtorn ado", + "/ min", + "/m in", + "Ġl ungs", + "Ġlung s", + "Ġlun gs", + "- current", + "-c urrent", + "-cur rent", + "Ġ Booking", + "ĠBo oking", + "ĠBook ing", + "ĠBoo king", + "åĪĹ è¡¨", + "Ġenjoy ment", + "ठ°", + "J A", + "t yped", + "type d", + "ty ped", + "typ ed", + ". Btn", + ".B tn", + "f at", + "fa t", + "u gal", + "ug al", + "uga l", + "Ġ Shares", + "ĠSh ares", + "ĠShare s", + "ĠSha res", + "ĠShar es", + "Ġdis gr", + "Ġdisg r", + "Ġ BAR", + "ĠB AR", + "ĠBA R", + "Ġ FOX", + "ĠF OX", + "ĠFO X", + "Op code", + "Ġ Sz", + "ĠS z", + "key down", + "iction aries", + "Ġdet ailing", + "Ġdetail ing", + "} ))Ċ", + "}) )Ċ", + "})) Ċ", + "Ġ pok", + "Ġp ok", + "Ġpo k", + "Ġdemonstr ating", + "Ġ notation", + "Ġn otation", + "Ġnot ation", + "Ġnota tion", + "l ayers", + "la yers", + "lay ers", + "layer s", + "@ if", + "ĠN PR", + "ĠNP R", + ".strict Equal", + "Ġ Recipes", + "ĠRec ipes", + "ĠRecipe s", + ". Tensor", + ".T ensor", + "Ġliqu or", + "Ġdeb ts", + "Ġdebt s", + ". endsWith", + ".end sWith", + ".ends With", + "W heel", + "Wh eel", + ". Pos", + ".P os", + "C SV", + "CS V", + "$ arity", + "$ar ity", + "Ġun stable", + "Ġuns table", + "Ġunst able", + "( loss", + "(l oss", + "(lo ss", + "EN SOR", + "ENS OR", + "Ġel even", + "Ġele ven", + "Ġelev en", + "ĠL opez", + "ĠLo pez", + "ĠHop kins", + "c onom", + "con om", + "co nom", + "cono m", + "ĠS eth", + "ĠSe th", + "ĠSet h", + "Ġpo ems", + "Ġpoem s", + "Q uant", + "Qu ant", + "Ġg sl", + "Ġgs l", + "Ġsy rup", + "Ġs ibling", + "Ġsi bling", + "Ġc ass", + "Ġca ss", + "Ġcas s", + "- vous", + "-v ous", + "ö t", + "_P ATTERN", + "_ SECTION", + "_SE CTION", + "_SEC TION", + "est imated", + "estimate d", + "up grade", + ". mongodb", + ".m ongodb", + ".mongo db", + "ĠBo at", + "_ CTX", + "_C TX", + "_CT X", + "Ġfetch ing", + "Ġfet ching", + "u stin", + "us tin", + "ust in", + "p iel", + "pi el", + "pie l", + "M arg", + "Mar g", + "Ma rg", + "Ref lection", + "Reflect ion", + "Ġ duct", + "Ġd uct", + "Ġdu ct", + "ĠMunicip al", + "Ġ bx", + "Ġb x", + ". GetCurrent", + ".Get Current", + "m link", + "ml ink", + "mlin k", + "ĠAccount ing", + "ĠGen eva", + "ĠGene va", + "_ Pos", + "_P os", + "Ġp asser", + "Ġpass er", + "Ġpas ser", + "Ġpasse r", + "Ġhear ings", + "Ġhearing s", + "com pan", + "comp an", + "Ġfrag ile", + "Initial izer", + "Initialize r", + "w alker", + "walk er", + "wal ker", + ". Material", + ".M aterial", + "ĠH unting", + "ĠHun ting", + "ĠHunt ing", + "try side", + "trys ide", + "Ġ kat", + "Ġk at", + "Ġka t", + "Ġcl erk", + "Ġcle rk", + "Ġcler k", + "á Ł", + "do ing", + "doi ng", + "ĉ group", + "ĉg roup", + "ĉgr oup", + "Ġsan ction", + "Ġsanct ion", + ". lb", + ".l b", + "Ġ Lazy", + "ĠL azy", + "ĠLa zy", + "ĠLaz y", + "Ġ Constraint", + "ĠCon straint", + "ĠConstr aint", + "P agination", + "Pag ination", + "Ġpou vez", + "ĠInd icates", + "M ER", + "ME R", + "Ġc ours", + "Ġco urs", + "Ġcour s", + "Ġcou rs", + "Ġy early", + "Ġyear ly", + "Ġg rosse", + "Ġgro sse", + "Ġgross e", + "Ġgros se", + "abb rev", + "abbr ev", + "Ġ DON", + "ĠD ON", + "ĠDO N", + "Ġpro ceeded", + "Ġproceed ed", + "ent lich", + "Ġ propertyName", + "Ġproperty Name", + "ĠTe aching", + "ĠTea ching", + "ĠTeach ing", + "st adt", + "sta dt", + "stad t", + "Ġc utoff", + "Ġcut off", + "or ners", + "orn ers", + "orne rs", + "Ġa frica", + "Ġaf rica", + "Ġafr ica", + "Ġ renders", + "Ġr enders", + "Ġrender s", + "Ġren ders", + "Ġrend ers", + "ĠYan kees", + "ĠYankee s", + "Ġ Toolbar", + "ĠTool bar", + "s paces", + "sp aces", + "space s", + "spa ces", + ".fill Style", + "Ġseg undo", + "Ġsegu ndo", + "_ strlen", + "_st rlen", + "_str len", + ". Firebase", + ".F irebase", + ".Fire base", + "å¤ Ħ", + "Ġmention ing", + "\\ (", + "ĠVal ve", + "S etter", + "Set ter", + "Ġsp ans", + "Ġspan s", + "Ġspa ns", + "ĠAl cohol", + "Ġ Letters", + "ĠLet ters", + "ĠLetter s", + "\\ xe", + "\\x e", + "Ġ TK", + "ĠT K", + "_ BLE", + "_B LE", + "_BL E", + ". getResult", + ".get Result", + "< Player", + "

\"", + "=> \"", + "t lement", + "tle ment", + "tl ement", + "$ (\"", + "$( \"", + "From String", + "ĠB ild", + "ĠBi ld", + "ĠBil d", + "Ġcon ventions", + "Ġconv entions", + "Ġconvent ions", + "Ġconvention s", + "_ native", + "_n ative", + "_nat ive", + "Ġ Inspector", + "ĠIns pector", + "ĠInsp ector", + "ĠP ist", + "ĠPi st", + "ĠPis t", + "u bar", + "ub ar", + "uba r", + "Ġ regs", + "Ġre gs", + "Ġreg s", + "ĠP ilot", + "ĠPi lot", + "ĠPil ot", + "T hus", + "Th us", + "Thu s", + "> '+", + ">' +", + "Ġ cela", + "Ġc ela", + "Ġce la", + "Ġcel a", + ". news", + ".n ews", + ".new s", + ".ne ws", + "( Product", + "L iving", + "Li ving", + "Liv ing", + "R ussia", + "Russ ia", + "Ġ facet", + "Ġf acet", + "Ġfac et", + "Ġface t", + "e tical", + "et ical", + "etic al", + "eti cal", + "Ġ[ '$", + "Ġ[' $", + "/ [", + "Ġ Dire", + "ĠD ire", + "ĠDi re", + "ĠDir e", + "Ġg ases", + "Ġgas es", + "Ġga ses", + "ĠIN FORMATION", + "Ġ Eat", + "ĠE at", + "ĠEa t", + "ĠFor ums", + "ĠForum s", + "Ġ Characters", + "ĠChar acters", + "ĠCharacter s", + "_ met", + "_m et", + "_me t", + "Ġ ìĭľ", + "Ġìĭ ľ", + "Ġk ings", + "Ġking s", + "Ġkin gs", + "a chie", + "ach ie", + "achi e", + "Ġ Lambda", + "ĠL ambda", + "ĠLamb da", + "Ġt imers", + "Ġtime rs", + "Ġtim ers", + "Ġti mers", + "Ġtimer s", + "ĠL ighting", + "ĠLight ing", + "ĠCas ey", + "ĠCase y", + "ĠCa sey", + "ad dir", + "add ir", + "an dex", + "and ex", + "ande x", + ". answer", + ".an swer", + "Ġ Hip", + "ĠH ip", + "ĠHi p", + "ĠPr incip", + "Start Date", + "Ġ ãĢĮ", + "ĠãĢ Į", + "t res", + "tr es", + "tre s", + "Ġ &#", + "Ġ& #", + ".Max Value", + "ĠPro blems", + "ĠProblem s", + "ĠProb lems", + "ĠProble ms", + "Ġ latex", + "Ġla tex", + "Ġlate x", + "Ġlat ex", + "Of Class", + "ĠL ynn", + "ĠLy nn", + "ĠLyn n", + "/ /'", + "// '", + "Ġvoy age", + "Ġsh uttle", + "Ġshut tle", + "ĠR oller", + "ĠRo ller", + "ĠRoll er", + "ĠRol ler", + "ĠRuntime Error", + "u ya", + "uy a", + "D ic", + "Di c", + "ĉ builder", + "ĉb uilder", + "ĉbuild er", + "Ġbul lying", + "Ġbull ying", + "Ġbully ing", + "Ġsimple st", + "Ġsimp lest", + "Ġsimpl est", + "Ġsimples t", + ". called", + ".c alled", + ".call ed", + ".cal led", + "Ġ LR", + "ĠL R", + "Ġmor ality", + "Ġmoral ity", + "Ġst urdy", + "tr acking", + "track ing", + ". swagger", + ".sw agger", + "_ BIND", + "_B IND", + "_BIN D", + "I TOR", + "IT OR", + "ITO R", + "-url encoded", + "Ġ Ñħ", + "ĠÑ ħ", + "ĠTr inity", + "Ġtr aps", + "Ġtra ps", + "Ġtrap s", + "Ġ |-", + "Ġ| -", + "Ġ setText", + "Ġset Text", + "Ġbar gain", + "Ġbarg ain", + "Ġbr akes", + "Ġbra kes", + "Ġbrake s", + ". getCode", + ".get Code", + ".g etCode", + ".getC ode", + "Ġm igrate", + "Ġmigr ate", + "Ġmig rate", + "Ġ ribbon", + "Ġr ibbon", + "Ġrib bon", + ") return", + ")r eturn", + "Ġ charger", + "Ġch arger", + "Ġchar ger", + "Ġcharg er", + "Ġcharge r", + "a com", + "ac om", + "aco m", + "ADI US", + "ĠAmb assador", + "- after", + "-a fter", + "Ġ anni", + "Ġan ni", + "Ġann i", + "ĉ spin", + "ĉs pin", + "ĉsp in", + "Con cept", + "ĠHend erson", + "Ġ HOST", + "ĠH OST", + "ĠHO ST", + ". rank", + ".r ank", + ".ra nk", + "ĠNorth east", + "ĠNor theast", + "Ġber lin", + "Ġre quis", + "Ġreq uis", + "Ġrequ is", + ". feed", + ".f eed", + ".fe ed", + "Ġsource Mapping", + "ĠRen contre", + ". ajax", + ".a jax", + "nest js", + "Ġt rek", + "Ġtr ek", + "Ġtre k", + "ĠN acional", + "Ġ& [", + "Ġpay able", + "or tex", + "ort ex", + "orte x", + "Ġ dept", + "Ġd ept", + "Ġde pt", + "Ġdep t", + "field Name", + "Ġcomp letes", + "Ġcomple tes", + "Ġcomplet es", + "Ġcompl etes", + "Ġcomplete s", + "ĠR VA", + "ĠRV A", + "Ġon ions", + "Ġonion s", + "al ignment", + "align ment", + "Form ats", + "Format s", + "Ġ' {$", + "Ġ'{ $", + "Hash Set", + "ĠB od", + "ĠBo d", + ".Invariant Culture", + "Ġsett lements", + "Ġsettlement s", + "Ġsettle ments", + "Ġ hydr", + "Ġhy dr", + ". updated", + ".update d", + ".up dated", + "v enth", + "ve nth", + "vent h", + "ven th", + "( seconds", + "(se conds", + "(second s", + "(sec onds", + "=\" /\"", + "=\"/ \"", + "Ġweb page", + "( ĊĊ", + "(Ċ Ċ", + "Ġ tir", + "Ġt ir", + "Ġti r", + "Ġt oes", + "Ġto es", + "Ġtoe s", + "ĠB rick", + "ĠBr ick", + "ĠBri ck", + "Ġamb ition", + "Ġambit ion", + "P ot", + "Po t", + "= max", + "=m ax", + "E TIME", + "ET IME", + "Ġde pot", + "Ġdep ot", + "c alls", + "cal ls", + "call s", + "ĠNor wegian", + "` :", + "Ġ burger", + "Ġb urger", + "Ġbur ger", + "Ġburg er", + "Ġburge r", + "Ġprofessor s", + "Ġprofess ors", + "Ġ Allocate", + "ĠAl locate", + "ĠAll ocate", + "ĠAlloc ate", + "-third s", + "- chart", + "-c hart", + "-ch art", + "-char t", + "Ġ ford", + "Ġf ord", + "Ġfor d", + "Ġfo rd", + "* N", + ".k otlin", + "Ġpaper work", + "Ġ DEVICE", + "ĠDE VICE", + "ĠDEV ICE", + "% @\",", + "%@ \",", + "re spect", + "res pect", + "resp ect", + "( mp", + "(m p", + "é «ĺ", + "é« ĺ", + "- if", + "-i f", + "Ġcush ion", + "o bot", + "ob ot", + "obo t", + "Ġp arc", + "Ġpar c", + "Ġpa rc", + "S PACE", + "SP ACE", + "SPA CE", + "ĠNet anyahu", + "Ġself ish", + "Ġsel fish", + "f eat", + "fe at", + "fea t", + "Ġ clientes", + "Ġcl ientes", + "Ġclient es", + "Ġcli entes", + "Ġcliente s", + "- tools", + "-t ools", + "-to ols", + "-tool s", + "-too ls", + "Ġp orch", + "Ġpo rch", + "Ġpor ch", + "Ġ jq", + "Ġj q", + ". verbose", + ".ver bose", + "Ġlib erals", + "Ġliberal s", + "Ġliber als", + "] )ĊĊĊ", + "]) ĊĊĊ", + "])Ċ ĊĊ", + "])ĊĊ Ċ", + "p ies", + "pi es", + "pie s", + "Not Blank", + "( term", + "(t erm", + "(te rm", + "È Ľi", + "ÈĽ i", + "_ Params", + "_Param s", + ". normalize", + ".normal ize", + "B ullet", + "AS IC", + "ASI C", + "( hex", + "(h ex", + "_ cliente", + "_cl iente", + "_client e", + "_cli ente", + "+ ,", + "_ DI", + "_D I", + "Ġforth coming", + "} \")]Ċ", + "}\" )]Ċ", + "}\") ]Ċ", + "s eo", + "se o", + "U m", + "> Name", + ">N ame", + "Ġcomfort ably", + "irect ional", + "irection al", + "W ITH", + "WI TH", + "/ pr", + "/p r", + "Ġ Poor", + "ĠP oor", + "ĠPo or", + "ĠV itamin", + "ĠVit amin", + "ĠVita min", + "v ic", + "vi c", + "G H", + "Ġprior it", + "Ġprio rit", + "Ġ NN", + "ĠN N", + "Ġ Closed", + "ĠC losed", + "ĠCl osed", + "ĠClose d", + "ĠClo sed", + "¤ í", + "Ġ isOpen", + "Ġis Open", + "\\ Console", + "And Feel", + ". SUCCESS", + ".S UCCESS", + "_OPER ATION", + "p olation", + "po lation", + "pol ation", + "ĠT as", + "ĠTa s", + "p sz", + "ps z", + "> '.", + ">' .", + "C URRENT", + "V endor", + "host s", + "ho sts", + "hos ts", + "ĠE rd", + "ĠEr d", + ">tag ger", + ">t agger", + "ĠsourceMapping URL", + "Ġmar athon", + "_ closed", + "_c losed", + "_cl osed", + "_close d", + "Ġex emption", + "Ġexem ption", + "Ġexempt ion", + "Ġexemp tion", + "Ġrecogn izes", + "Ġrecognize s", + "ide show", + "ides how", + "' $", + "(' /');Ċ", + "('/ ');Ċ", + "('/') ;Ċ", + "m its", + "mit s", + "mi ts", + "wa rz", + "war z", + "ĠCh erry", + "ĠCher ry", + "µ ¬", + "n or", + "no r", + "p orte", + "port e", + "por te", + "Ġ wl", + "Ġw l", + "_ backup", + "_back up", + ".get Boolean", + ". getResource", + ".get Resource", + "Ġdefinit ive", + "Ġdefin itive", + ". EditText", + ".Edit Text", + "Ġ sÃŃ", + "Ġs ÃŃ", + ". CONT", + ".C ONT", + ".CON T", + ".CO NT", + "Ġ PLAYER", + "ĠPL AYER", + "ĠPLAY ER", + ". cards", + ".c ards", + ".card s", + ".car ds", + "ĠSh ore", + "ĠSho re", + "(' /')Ċ", + "('/ ')Ċ", + "('/') Ċ", + "cl uir", + "Web Driver", + "( month", + "(m onth", + "(mon th", + "- release", + "-r elease", + "-re lease", + "-rel ease", + "Ġins pector", + "Ġinspect or", + "Ġinsp ector", + "å £", + "Ġ NF", + "ĠN F", + "_ clip", + "_c lip", + "_cl ip", + "_cli p", + "å ŃIJ", + "åŃ IJ", + "Ġinter acting", + "Ġinteract ing", + ". tmp", + ".t mp", + ".tm p", + "Ġ '''ĊĊ", + "Ġ'' 'ĊĊ", + "Ġ'''Ċ Ċ", + "Ġ''' ĊĊ", + "Ġ dee", + "Ġd ee", + "Ġde e", + "Ġf rost", + "Ġfr ost", + "Ġfro st", + "\" ]))Ċ", + "\"] ))Ċ", + "\"]) )Ċ", + "\"])) Ċ", + "Ġ Places", + "ĠP laces", + "ĠPl aces", + "ĠPlace s", + "ĠPla ces", + "Th rows", + "Throw s", + "Thr ows", + "f ork", + "fo rk", + "for k", + "/ day", + "/d ay", + "i Phone", + "Ġ MIC", + "ĠM IC", + "ĠMI C", + "Ġf olding", + "Ġfol ding", + "Ġfold ing", + "Ġcr ore", + "Ġcro re", + "ĠCh iefs", + "ĠChief s", + "ĠChi efs", + "pher ical", + "pheric al", + "phe rical", + "( price", + "(p rice", + "(pr ice", + ".Write String", + "Ġex iting", + "Ġexit ing", + "] ',Ċ", + "]', Ċ", + "]' ,Ċ", + "ight ing", + "igh ting", + "Ing redient", + "( vertex", + "(ver tex", + "Ġ scrollView", + "Ġs crollView", + "Ġscroll View", + "h f", + ": new", + ":n ew", + "S EN", + "SE N", + "s ector", + "se ctor", + "sec tor", + "sect or", + "Ġs pins", + "Ġsp ins", + "Ġspin s", + "Ġspi ns", + "Ġ Scheduler", + "ĠS cheduler", + "ĠSchedule r", + "o techn", + "ot echn", + "ote chn", + "otech n", + "otec hn", + "sem icolon", + "semi colon", + "Font OfSize", + "ĠSpecific ally", + "fl amm", + ". ObjectId", + ".Object Id", + "Ġc onta", + "Ġcon ta", + "Ġcont a", + "_ permissions", + "_per missions", + "_perm issions", + "_permission s", + "ĉ FROM", + "ĉF ROM", + "I CODE", + "IC ODE", + "ICO DE", + "/ kg", + "/k g", + "ĠHot els", + "ĠHotel s", + "- med", + "-m ed", + "-me d", + "ĠD in", + "ĠDi n", + "Ġn avy", + "Ġna vy", + "Ġnav y", + "get Param", + "Ġm end", + "Ġme nd", + "Ġmen d", + "Ġportray ed", + "ĠMet ropolitan", + "P ainter", + "Paint er", + "Pa inter", + "Ġref erral", + "Ġrefer ral", + "_ good", + "_g ood", + "_go od", + "Ġmar vel", + "os aic", + "osa ic", + "> (&", + ">( &", + ". ur", + ".u r", + "Ġes tos", + "Ġest os", + "Ġesto s", + "Will iam", + "Ġtim ber", + "Ġquel ques", + "Ġquelque s", + "Ġ Documents", + "ĠDocument s", + "ĠDoc uments", + ".X aml", + "Ġb atches", + "Ġbatch es", + "Ġbat ches", + "éģ ĵ", + "Ġ Released", + "ĠRe leased", + "ĠRelease d", + "T ail", + "Ta il", + "Tai l", + "CO OKIE", + "h eid", + "he id", + "hei d", + "_ station", + "_st ation", + "_stat ion", + "_sta tion", + "Ġ Via", + "ĠV ia", + "ĠVi a", + "S ale", + "Sal e", + "Sa le", + "Ġ Repeat", + "ĠRe peat", + "ĠRep eat", + "Ġpro min", + "Ġpr omin", + "Ġprom in", + "ĠZ o", + "- forward", + "-for ward", + "Ġ Ion", + "ĠI on", + "ĠIo n", + "it ary", + "ita ry", + "itar y", + "Ġj us", + "Ġju s", + "- request", + "-re quest", + "Ġproud ly", + "Ġ Streaming", + "ĠStream ing", + "ĠStre aming", + "( MouseEvent", + "(Mouse Event", + "ĠS print", + "ĠSp rint", + "ĠSpr int", + "_ rotation", + "_r otation", + "_rot ation", + "Re positories", + "Ġt art", + "Ġta rt", + "Ġtar t", + "ĠÑģ в", + "Ġm appings", + "Ġmapping s", + "è ª", + "C u", + "C ycle", + "Cy cle", + "Ġb un", + "Ġbu n", + "ĉ lua", + "ĉl ua", + "ãĥ ī", + "Ġ( (!", + "Ġ(( !", + "Ġcollect ively", + "Ġcollective ly", + "Ġ Cond", + "ĠC ond", + "ĠCon d", + "ĠCo nd", + "Ġws zyst", + "Ġwsz yst", + "( lib", + "(l ib", + "(li b", + "openh agen", + "_ skip", + "_s kip", + "_sk ip", + ".Column Header", + "é Ĥ", + "perience d", + "peri enced", + "ı è¿°", + "_ props", + "_p rops", + "_pro ps", + "_pr ops", + "_prop s", + "Ġcon trace", + "Ġcont race", + "Ġcontr ace", + "Ġcontra ce", + "Ġmatch up", + "ab etic", + "abe tic", + "abet ic", + ". members", + ".m embers", + ".member s", + ".mem bers", + "R ECT", + "RE CT", + "REC T", + "( dat", + "(d at", + "(da t", + "Ġs og", + "Ġso g", + "re nom", + "ren om", + "reno m", + "_ Method", + "_M ethod", + "Custom ers", + "Customer s", + "ful lname", + "full name", + "Z N", + "r etry", + "re try", + "ret ry", + "Ġ kap", + "Ġk ap", + "Ġka p", + "ĠN eu", + "ĠNe u", + "è Ĭ", + "add Child", + "will Return", + "_ permalink", + "_p ermalink", + "_per malink", + "_perm alink", + "Ġenerg etic", + "Ġener getic", + "ĠW et", + "ĠWe t", + "ĠM orr", + "ĠMo rr", + "ĠMor r", + "Ġ gcd", + "Ġg cd", + "Ġgc d", + "co unts", + "count s", + "cou nts", + ", type", + ",t ype", + "d ig", + "di g", + "( Login", + "(Log in", + "Ġcr acks", + "Ġcrack s", + "Ġcra cks", + "Ġb acterial", + "Ġbacter ial", + "Ġbacteria l", + "ĠM eat", + "ĠMe at", + "ĠArm strong", + "ĠBro nze", + "ĠBron ze", + "Ġapprox imate", + "_ dirs", + "_d irs", + "_dir s", + "_di rs", + "l iga", + "li ga", + "lig a", + "ÅĤ ad", + "ÅĤa d", + "Ġkind ness", + "Ġ contre", + "Ġcon tre", + "Ġcont re", + "Ġcontr e", + "ĠE VERY", + "ĠEV ERY", + "ĠEVER Y", + "ĠEVE RY", + "M ET", + "ME T", + "Ġann ouncements", + "Ġannounc ements", + "Ġannouncement s", + "Ġannounce ments", + "g pio", + "gp io", + "ĠWaitFor Seconds", + "ĠPhoto shop", + "ĠPhotos hop", + "Ġdis contin", + "/ dd", + "/d d", + "Ġtop ology", + "Ġtopo logy", + "an ical", + "ani cal", + "anic al", + ". interface", + ".inter face", + "auc oup", + ". HashSet", + ".Hash Set", + "ARI ANT", + "( routes", + "(r outes", + "(route s", + "(ro utes", + "ĠT eh", + "ĠTe h", + "Ġh ype", + "Ġhy pe", + "Ġhyp e", + "] \").", + "]\" ).", + "]\") .", + "Ġs lam", + "Ġsl am", + "Ġsla m", + "Ġbr oth", + "Ġbro th", + "- inter", + "-in ter", + "-int er", + "ĠR id", + "ĠRi d", + "- manager", + "-m anager", + "-man ager", + "Cancel ar", + "Ġ Pagination", + "ĠP agination", + "ĠPag ination", + "Ġsound track", + "Ġpos terior", + "Ġpost erior", + "Ġposter ior", + "Ġposte rior", + "Ġsc rub", + "Ġscr ub", + "c reating", + "cre ating", + "cr eating", + "creat ing", + "- *", + "ir teen", + "irt een", + ". dy", + ".d y", + ".s ymmetric", + ".sym metric", + "Ġ \"\".", + "Ġ\" \".", + "Ġ\"\" .", + "= ==============", + "== =============", + "==== ===========", + "======== =======", + "=== ============", + "============ ===", + "============= ==", + "=========== ====", + "============== =", + "========= ======", + "========== =====", + "====== =========", + "===== ==========", + "======= ========", + "Ġch assis", + "ĠnumberOf Rows", + "De veloper", + "Develop er", + "_ bins", + "_b ins", + "_bin s", + "_bi ns", + "Ġ OUR", + "ĠO UR", + "ĠOU R", + "ri eb", + "rie b", + "P ros", + "Pro s", + "Pr os", + "Ġ wiÄĻ", + "Ġw iÄĻ", + "Ġwi ÄĻ", + "\" d", + "Ġasync io", + "ze igen", + "_ spi", + "_s pi", + "_sp i", + ". ALL", + ".A LL", + ".AL L", + "Ġscre ws", + "Ġscr ews", + "Ġscrew s", + "Ch inese", + "Ġ apiKey", + "Ġapi Key", + "Ġun successful", + "ĠSea hawks", + "ĠSeah awks", + "O RG", + "OR G", + "ç« ł", + "Ġprofession ally", + "Ġprofessional ly", + "Ġ Coupon", + "ĠC oupon", + "ĠCo upon", + "ĠCou pon", + "åŃĹ æ®µ", + "Con vention", + "Conv ention", + "Ġpol ym", + "Ġpoly m", + "æī ĭ", + "Ġsal vation", + "Ġsalv ation", + "Ġengine ered", + "Ġengineer ed", + "ĠW rest", + "ĠWr est", + "Ġ GCC", + "ĠG CC", + "ĠGC C", + "Ġwar mer", + "Ġwarm er", + "Layout Constraint", + "Ġag grav", + "Ġagg rav", + "S cripts", + "Script s", + "vent ure", + "ven ture", + "Ġrefriger ator", + "Ġinnov ations", + "Ġinnovation s", + "Ġ Runner", + "ĠR unner", + "ĠRun ner", + "N IC", + "NI C", + "ĠRoll ing", + "ĠRol ling", + "Control Events", + "Ġlo os", + "p ac", + "pa c", + "ĉ panel", + "ĉp anel", + "e fe", + "ef e", + "ĠBudd ha", + "ĠBuddh a", + "- -------------Ċ", + "-- ------------Ċ", + "---- ----------Ċ", + "-------- ------Ċ", + "--- -----------Ċ", + "------------ --Ċ", + "----- ---------Ċ", + "---------- ----Ċ", + "------ --------Ċ", + "----------- ---Ċ", + "------------- -Ċ", + "------- -------Ċ", + "--------- -----Ċ", + "-------------- Ċ", + "åº ĵ", + "(for Key", + "Ġl umin", + "Ġlu min", + "Ġlum in", + "Ġ (?", + "Ġ( ?", + "ĠA IDS", + "ĠAI DS", + ", user", + ",u ser", + "im ientos", + "imiento s", + "content Type", + "ant lr", + "é ¦", + "ĠW elt", + "ĠWe lt", + "ĠWel t", + "P roduction", + "Pro duction", + "Product ion", + "Produ ction", + "Prod uction", + "m ight", + "mi ght", + "ĠV II", + "ĠVI I", + "\" ,(", + "\", (", + "Ġobs erving", + "Ġobserv ing", + "Ġdeliber ate", + "( control", + "(c ontrol", + "(cont rol", + "Ġwith d", + "Ġwit hd", + "Ġse mana", + "Ġsem ana", + "ST ACK", + "STA CK", + "u chen", + "uch en", + "uc hen", + "uche n", + "N ice", + "Ni ce", + "Nic e", + "ĠDeutsch land", + "Ġ Specifies", + "ĠSpec ifies", + "d ma", + "dm a", + "iz io", + "izi o", + "ĠF acts", + "ĠFac ts", + "ĠFa cts", + "ĠFact s", + "_ popup", + "_p opup", + "_pop up", + "ĠDirect ors", + "ĠDirector s", + "ĠDir ectors", + "ĠDire ctors", + "{ :", + "[ R", + "ĠÑį леменÑĤ", + "ĠÑįлем енÑĤ", + "Ġ plat", + "Ġp lat", + "Ġpl at", + "Ġpla t", + "Ġdirect ing", + "ä¸ ī", + "ĠGil bert", + "â̦ .ĊĊ", + "â̦. ĊĊ", + ". qml", + ".q ml", + "Ġthere after", + "Ġdis position", + "Ġdisp osition", + "Ġdispos ition", + "Ġdisposit ion", + "d raft", + "dr aft", + "dra ft", + "Ġs urgeon", + "Ġsurg eon", + "Ġsurge on", + "ĠIns ider", + "ĠInside r", + "Bl end", + "ĠT rev", + "ĠTr ev", + "ĠTre v", + "tr insic", + "tri nsic", + "To pics", + "Top ics", + "Topic s", + "r ieve", + "ri eve", + "rie ve", + "_ FILENAME", + "_FILE NAME", + "Ġaut res", + "Ġau tres", + "Ġautre s", + "J ose", + "Jo se", + "Jos e", + "Pro ducer", + "Produ cer", + "Prod ucer", + "e rus", + "er us", + "eru s", + "Ġpe tit", + "Ġpet it", + "Ġ NEXT", + "ĠN EXT", + "ĠNE XT", + "Ġ Filters", + "ĠF ilters", + "ĠFilter s", + "ĠFil ters", + "Ġrep licate", + "Ġrepl icate", + "Ġreplic ate", + "Ġreplica te", + "\" ]).", + "\"] ).", + "\"]) .", + "Ġl enders", + "Ġlen ders", + "Ġlend ers", + "Ġlender s", + "] \",Ċ", + "]\", Ċ", + "]\" ,Ċ", + "; charset", + "Cpp Object", + "Ġfl oral", + "Ġflo ral", + "Ġflor al", + "Ġflora l", + "Ġ Tipo", + "ĠT ipo", + "ĠTi po", + "ĠTip o", + "Ġcirc uits", + "Ġcircuit s", + "e asy", + "ea sy", + "(& $", + "it ta", + "itt a", + "er yl", + "ery l", + "_ COMMON", + "_COM MON", + "_COMM ON", + "' }}>Ċ", + "'} }>Ċ", + "'}} >Ċ", + "'}}> Ċ", + "-b acked", + "-back ed", + "( variable", + "(var iable", + "( Index", + "(In dex", + "Ġ voir", + "Ġv oir", + "Ġvo ir", + "Ġvoi r", + "_ locations", + "_l ocations", + "_location s", + "_loc ations", + "++ ){", + "++) {", + "ĠLouis ville", + "Ġgr atitude", + "Ġgrat itude", + ".Mock ito", + "ĠP owers", + "ĠPower s", + "ĠPo wers", + "ĠPow ers", + "i eurs", + "ie urs", + "ieu rs", + "ieur s", + "Ġge ographic", + "Ġgeo graphic", + "r ale", + "ra le", + "ral e", + "Ġc ra", + "Ġcr a", + "ĠSp urs", + "ipher text", + "iph ertext", + "AC ION", + "- common", + "-com mon", + "-comm on", + "Ġvict ories", + "ĠF inals", + "ĠFin als", + "ĠFinal s", + ". shuffle", + ".sh uffle", + "- million", + "-m illion", + "_ PROC", + "_P ROC", + "_PRO C", + "_PR OC", + "as sume", + "ass ume", + "Ġ ils", + "Ġi ls", + "Ġil s", + "D BC", + "DB C", + "Boot Test", + "Ġl avor", + "Ġla vor", + "Ġlav or", + ". testing", + ".t esting", + ".test ing", + ". ast", + ".as t", + ".a st", + "\" ]/", + "\"] /", + "m oid", + "mo id", + "Ġ qualification", + "Ġqual ification", + "g esch", + "ge sch", + "ges ch", + "ĉ put", + "ĉp ut", + "Ġair ports", + "Ġairport s", + "J I", + "T eacher", + "Te acher", + "_ uniform", + "_un iform", + "Ġ nama", + "Ġn ama", + "Ġna ma", + "Ġnam a", + "ĠB ast", + "ĠBa st", + "ĠBas t", + "e rtype", + "er type", + "ert ype", + "erty pe", + "c apture", + "cap ture", + "capt ure", + "get All", + "ĠReyn olds", + "o oled", + "ool ed", + "oo led", + ". comments", + ".com ments", + ".comment s", + ".comm ents", + "Ġ chin", + "Ġc hin", + "Ġch in", + "Ġchi n", + ") .*", + "). *", + "Ġ или", + "Ġи ли", + "t gl", + "tg l", + "u dos", + "ud os", + "udo s", + "Ġd ÃŃas", + "ĠdÃŃa s", + "ĠdÃŃ as", + "c hai", + "ch ai", + "cha i", + ". program", + ".p rogram", + ".pro gram", + ".pr ogram", + "Ġ psz", + "Ġp sz", + "Ġps z", + "ĉ icon", + "ĉi con", + "p hil", + "ph il", + "phi l", + "ent ral", + "entr al", + "_W RAP", + "_WR AP", + "o vi", + "ov i", + "Ġnost alg", + "In finity", + "Inf inity", + "ĉ yield", + "ĉy ield", + "Ġvit amins", + "Ġvitamin s", + "Ġvita mins", + "Ġvitam ins", + "Qu aternion", + "S ink", + "Si nk", + "Sin k", + "_ goods", + "_g oods", + "_go ods", + "_good s", + "Ġ ........", + "Ġ. .......", + "Ġ... .....", + "Ġ.. ......", + "Ġ.... ....", + "Ġ..... ...", + "Ġ...... ..", + "ĠW ings", + "ĠWin gs", + "ĠWing s", + "ur idad", + "uri dad", + "- story", + "-st ory", + "\" ])ĊĊ", + "\"] )ĊĊ", + "\"]) ĊĊ", + "\"])Ċ Ċ", + "idel ity", + "Type Def", + "G tk", + "Ġ íĮ", + "Ġí Į", + "_ Main", + "_M ain", + "Ġ chez", + "Ġch ez", + "Ġche z", + "ĠR aven", + "ĠRa ven", + "ĠRav en", + "Ġpay roll", + "Ġfreel ance", + "L LU", + "LL U", + "ĠM end", + "ĠMe nd", + "ĠMen d", + "e day", + "ed ay", + "eda y", + "Api ModelProperty", + ".Form BorderStyle", + "Ġeconom ist", + "stan bul", + "Ġfr eight", + "Ġfre ight", + "Ġfrei ght", + "- Agent", + "-A gent", + "( meta", + "(m eta", + "(me ta", + "Ġsym metry", + "Ġ' ..", + "Ġ'. .", + ". Calendar", + ".C alendar", + "- aut", + "-a ut", + "-au t", + "g f", + "p ent", + "pe nt", + "pen t", + "yc lopedia", + "Ġw ishing", + "Ġwish ing", + "Ċ ĊĊĊĊĊĊĊĊĊĊĊ", + "ĊĊ ĊĊĊĊĊĊĊĊĊĊ", + "ĊĊĊĊ ĊĊĊĊĊĊĊĊ", + "ĊĊĊ ĊĊĊĊĊĊĊĊĊ", + "ĊĊĊĊĊĊ ĊĊĊĊĊĊ", + "ĊĊĊĊĊĊĊĊ ĊĊĊĊ", + "ĊĊĊĊĊ ĊĊĊĊĊĊĊ", + "ĊĊĊĊĊĊĊĊĊĊ ĊĊ", + "ĊĊĊĊĊĊĊ ĊĊĊĊĊ", + "ĊĊĊĊĊĊĊĊĊ ĊĊĊ", + "ĊĊĊĊĊĊĊĊĊĊĊ Ċ", + "Ġgentle man", + "Ġ ê³", + "Ġê ³", + "= #", + "Ġlect ures", + "Ġlecture s", + "âĢľ In", + "âĢľI n", + "Ġ! _", + "Ġ hb", + "Ġh b", + "Ġ Vendor", + "ĠV endor", + "ĠVend or", + "Rec ently", + "Recent ly", + "_ notes", + "_n otes", + "_no tes", + "_not es", + "_note s", + "æıIJ 示", + "\" My", + "\"M y", + "Headers Height", + "_ SO", + "_S O", + "Ġunw illing", + "Ġsuper hero", + "g io", + "gi o", + "p sy", + "ps y", + "Ġ Peer", + "ĠP eer", + "ĠPe er", + "ĠPee r", + "j avax", + "java x", + "jav ax", + "& apos", + "&a pos", + "ĠCr isis", + "ĠCri sis", + "ord inal", + "ordin al", + "Mem cpy", + "++++++++ ++++++++", + "- val", + "-v al", + "Ġwork book", + "- ap", + "-a p", + "= k", + "Ġmetal lic", + "Ġmetall ic", + "_ peer", + "_p eer", + "_pe er", + "By PrimaryKey", + "_ SD", + "_S D", + "u ator", + "ua tor", + "uat or", + "_SH ADER", + "_SHA DER", + ") Math", + ". Transform", + ".Trans form", + "Ġc ows", + "Ġco ws", + "Ġcow s", + "P hi", + "Ph i", + "ĠC lem", + "ĠCl em", + "ĠCle m", + "( _(\"", + "(_ (\"", + "ĠL ud", + "ĠLu d", + "- delay", + "-d elay", + "-de lay", + "-del ay", + "ĠSe curities", + "ĠSec urities", + "ĠOrth odox", + "Sym fony", + "( report", + "(re port", + "(repo rt", + "(rep ort", + "Ġent ertain", + "Ġenter tain", + "Ġentert ain", + "E PS", + "EP S", + "iz oph", + "izo ph", + "ex ual", + "I RD", + "IR D", + "ä» İ", + "Ġl ith", + "Ġli th", + "Ġlit h", + "Ġ sanitize", + "Ġs anitize", + "Ġsan itize", + "Ġsanit ize", + "Ġfem inine", + "Ġfemin ine", + "IS BN", + ". authentication", + ".auth entication", + "_ pipeline", + "_p ipeline", + "_pipe line", + "/ constants", + "/con stants", + "Ġ CONF", + "ĠCON F", + "ĠCO NF", + "Ġlu cr", + "Ġluc r", + "r icia", + "ri cia", + "ric ia", + ".t tf", + ".tt f", + ". setContent", + ".set Content", + "Ġ stan", + "Ġs tan", + "Ġst an", + "Ġsta n", + "or ean", + "ore an", + "orea n", + "ĠL loyd", + ".raw Value", + "Ġ gor", + "Ġg or", + "Ġgo r", + "ĠBr owns", + "ĠBrown s", + "ĠBrow ns", + "Re gression", + "Reg ression", + "Ġl owering", + "Ġlow ering", + "Ġlower ing", + "na issance", + "Ġbl ows", + "Ġblow s", + "Ġblo ws", + "Ġam azed", + "Ġama zed", + "Ġun related", + "Ġunre lated", + "Re views", + "Review s", + "Ġ ruby", + "Ġr uby", + "Ġrub y", + "Ġru by", + "Ġ Modifier", + "ĠMod ifier", + "Ġg iants", + "Ġgi ants", + "Ġgiant s", + "Ġgia nts", + "Ġgian ts", + ". thread", + ".t hread", + ".th read", + "Ġcon tainment", + "Ġcont ainment", + "Ġcontain ment", + "ĠStart Coroutine", + "u mat", + "um at", + "uma t", + "o release", + "or elease", + "ore lease", + "ĠR andy", + "ĠRand y", + "ĠRan dy", + "@ endif", + "@end if", + "D igest", + "Di gest", + "Dig est", + "Ġsub urban", + "Ġsubur ban", + "Ġsuburb an", + "= \");Ċ", + "=\" );Ċ", + "Ġ annonce", + "Ġan nonce", + "Ġann once", + "Ġanno nce", + "Ġannon ce", + ". variable", + ".var iable", + "\\ Foundation", + "\\F oundation", + "Ġ acre", + "Ġa cre", + "Ġac re", + "V an", + "Va n", + "Ġt uples", + "Ġtu ples", + "Ġtuple s", + "Ġtup les", + "d ns", + "dn s", + "Ġ Standing", + "ĠSt anding", + "ĠStan ding", + "ĠStand ing", + "_ large", + "_l arge", + "Ġ boxing", + "Ġbo xing", + "Ġbox ing", + "Support ActionBar", + "ĠFort une", + "ĠR um", + "ĠRu m", + "_ multiple", + "_m ultiple", + "_multi ple", + "_mult iple", + "_multip le", + "arch ical", + "Ġ fwrite", + "Ġf write", + "Ġfw rite", + "_ quote", + "_qu ote", + "Ġfoo lish", + "Ġfool ish", + "Ġcom prising", + "Ġcomp rising", + "Ġcompr ising", + "Ġ оп", + "Ġо п", + "- selected", + "-se lected", + "-select ed", + "v f", + "m aid", + "ma id", + "mai d", + "N ama", + "Na ma", + "Nam a", + "( datetime", + "(d atetime", + "(date time", + "(dat etime", + "Ġindirect ly", + "g art", + "ga rt", + "gar t", + "fix tures", + "fixture s", + "c hos", + "ch os", + "cho s", + "ĠH alo", + "ĠHa lo", + "ĠHal o", + "Ġre curring", + "Ġrec urring", + "Ġrecur ring", + "- news", + "-n ews", + "-new s", + "-ne ws", + "v il", + "vi l", + "ĠNurs ing", + "ĠNur sing", + "- produ", + "-p rodu", + "-pro du", + "-pr odu", + "Ġ HQ", + "ĠH Q", + "\\Http Foundation", + "en ci", + "enc i", + "a uen", + "au en", + "Ġ vy", + "Ġv y", + "ocr acy", + "Ġde legation", + "Ġdeleg ation", + "Ġas phalt", + "Ġasp halt", + "Ġset Selected", + "k ok", + "ko k", + "/ rest", + "/r est", + "/re st", + "/res t", + "m etics", + "me tics", + "met ics", + "metic s", + "Ġ NSDate", + "ĠNS Date", + "Ġtravel led", + "Ġtrav elled", + "Ġrec ib", + "Ġ mime", + "Ġm ime", + "Ġmi me", + "Ġmim e", + "CL IENT", + "CLI ENT", + "Ġ GU", + "ĠG U", + "Ġ HANDLE", + "ĠH ANDLE", + "ĠHAND LE", + "/ Q", + "[ z", + "Ġboth ered", + "Ġbother ed", + "ĠBB Q", + "ç as", + "ça s", + "_ examples", + "_ex amples", + "_example s", + "_exam ples", + "_ FIN", + "_F IN", + "Ġwhite Color", + "Ġastr onom", + "Ġastro nom", + "- dir", + "-d ir", + "-di r", + "Ġsovere ign", + "Ġb reeze", + "Ġbree ze", + "Ġ inning", + "Ġin ning", + "Ġinn ing", + "ĠEd monton", + "g li", + "gl i", + ".blog spot", + "j sx", + "js x", + "Ġver sa", + "Ġve rsa", + "Ġvers a", + "ĠMoh ammed", + ". Job", + ".J ob", + "-t oggler", + "-toggle r", + "Ġп олÑĮзоваÑĤ", + "ar don", + "ard on", + "ardo n", + "Ġnew born", + "Ġn aval", + "Ġna val", + "Ġnav al", + "not eq", + "note q", + "Ġt umblr", + "Ġtum blr", + "Ġh entai", + "ĠTyp ically", + "ĠTypical ly", + "Ġl oot", + "Ġlo ot", + ". Sprite", + ".S prite", + ".Sp rite", + "F light", + "Fl ight", + "Ġw avelength", + "Ġwave length", + "- sk", + "-s k", + "ĠE lle", + "ĠEl le", + "ĠEll e", + "_ exports", + "_ex ports", + "_exp orts", + "_export s", + "Ġ Ñı", + "ĠÑ ı", + "Ġ IH", + "ĠI H", + "izoph ren", + "Ġ íģ", + "Ġí ģ", + "_ primary", + "_pr imary", + "_pri mary", + "_prim ary", + "Ġm ois", + "Ġmo is", + "Ġmoi s", + "Ġ BN", + "ĠB N", + "Ġsystem ic", + "Ġsyst emic", + "Ġdifer entes", + "Ġdiferente s", + "IN CT", + "INC T", + "Ġ' 'ĊĊ", + "Ġ'' ĊĊ", + "Ġ''Ċ Ċ", + "$ q", + "Widget Item", + "c lide", + "cl ide", + "cli de", + "clid e", + "$ file", + "$f ile", + "L emma", + "Le mma", + "/ table", + "/t able", + "/tab le", + "a grid", + "ag rid", + "agr id", + "ĠMongo DB", + "i nte", + "in te", + "int e", + "Ġapp rent", + "ÂŃ ing", + "ÂŃi ng", + ". Db", + ".D b", + "Ġ ÃĤ", + "Ġà Ĥ", + "h ammer", + "ham mer", + "=' ';Ċ", + "='' ;Ċ", + "Ġbr okers", + "Ġbro kers", + "Ġbroke rs", + "Ġbroker s", + "i tlement", + "it lement", + "itle ment", + "semb lies", + "sembl ies", + "E le", + "El e", + "{ x", + "Ġ lastname", + "Ġlast name", + "< -", + "Ġ flatten", + "Ġfl atten", + "Ġflat ten", + "Ġflatt en", + "_ band", + "_b and", + ". Root", + ".R oot", + ".read FileSync", + ".readFile Sync", + "= =====", + "== ====", + "==== ==", + "=== ===", + "===== =", + ". rx", + ".r x", + "? čĊ", + "Ġmetaph or", + "T i", + "c onte", + "con te", + "cont e", + "co nte", + "Ġ debit", + "Ġde bit", + "Ġdeb it", + "Ġcon tempt", + "Ġcont empt", + "Cpp Type", + "æĶ ¯", + "Form Field", + "r atio", + "rat io", + "os opher", + "osoph er", + "oso pher", + "Ġim plant", + "Ġimp lant", + "Ġimpl ant", + "P URE", + "PU RE", + "PUR E", + "Ġ alta", + "Ġal ta", + "Ġalt a", + "_ management", + "_man agement", + "_manage ment", + "Ġre fine", + "Ġref ine", + "Ġrefin e", + "Ġ CheckBox", + "ĠCheck Box", + "ĠCh arl", + "ĠChar l", + "ĠCha rl", + "- version", + "-v ersion", + "-vers ion", + "cond itional", + "condition al", + "ven ues", + "venue s", + "Ġrifle s", + "Ġrif les", + "Ġoff spring", + "Ġoffs pring", + "Ġm illing", + "Ġmill ing", + "Ġmil ling", + "Ġmilli ng", + "Ġsharp ly", + "Ġshar ply", + "Ġunder water", + "( origin", + "(orig in", + "(or igin", + "_ Control", + "_C ontrol", + "Ġ .$", + "Ġ. $", + "Pl ugins", + "Plugin s", + "Plug ins", + "Ġd rying", + "Ġdr ying", + "Ġdry ing", + "Ġillustr ates", + "Ġillustrate s", + "Ġillust rates", + "- u", + "Ġveget arian", + "n pc", + "np c", + "He art", + "; ',Ċ", + ";' ,Ċ", + ";', Ċ", + "com ma", + "co mma", + "comm a", + "t eenth", + "te enth", + "tee nth", + "teen th", + "a san", + "as an", + "asa n", + "/ spec", + "/s pec", + "/sp ec", + "_ moves", + "_m oves", + "_move s", + "_mov es", + "_mo ves", + "- margin", + "-m argin", + "-mar gin", + "Ġ ingen", + "Ġin gen", + "Ġi ngen", + "Ġing en", + "Âł ³³", + "³³ Âł", + "Ġpro jet", + "Ġproj et", + "Ġproje t", + "Ġo tra", + "Ġot ra", + "Ġ bras", + "Ġb ras", + "Ġbr as", + "Ġbra s", + ". utc", + ".u tc", + ".ut c", + "Ġsl ept", + "Ġsle pt", + "= sub", + "=s ub", + "ab ilit", + "abil it", + "abi lit", + "p oster", + "pos ter", + "post er", + "po ster", + "Ġ sdk", + "Ġs dk", + "Ġsd k", + "ounc ill", + "ouncil l", + "Ġ wd", + "Ġw d", + "Pre paredStatement", + "ĠD rum", + "ĠDr um", + "( attribute", + "(at tribute", + "Ġ Ethernet", + "ĠEth ernet", + "ĠEther net", + "ĉ DB", + "ĉD B", + "Cal ifornia", + "c ube", + "cu be", + "[ I", + ". Created", + ".C reated", + ".Create d", + "Ġ HM", + "ĠH M", + "Ġtr acing", + "Ġtra cing", + "Forms Module", + "- you", + "-y ou", + ". currency", + ".c urrency", + ".curr ency", + "fe eding", + "feed ing", + "fee ding", + "Ġ tbody", + "Ġt body", + "Ġtb ody", + "L i", + "a ccion", + "ac cion", + "acc ion", + "acci on", + "n as", + "na s", + "Ġtr ouver", + "Ġtrou ver", + "Ġtrouve r", + "N ONE", + "NO NE", + "NON E", + "\" },čĊ", + "\"} ,čĊ", + "\"}, čĊ", + "Ġ ftp", + "Ġf tp", + "Ġft p", + "With Identifier", + "p olate", + "po late", + "pol ate", + "File Info", + "Ġpurs ued", + "Ġpursue d", + "ĠĠĠĠ čĊĠĠĠĠčĊ", + "ĠĠĠĠčĊ ĠĠĠĠčĊ", + "DE SCRIPTION", + "DESC RIPTION", + "} */Ċ", + "}* /Ċ", + "From Nib", + "Ġdec orative", + "Ġdecor ative", + "_ SSL", + "_S SL", + "_SS L", + "( chat", + "(c hat", + "(ch at", + "T LS", + "TL S", + "Ġsur prises", + "Ġsurpr ises", + "Ġsurprise s", + "al culate", + "alc ulate", + "Ġ Splash", + "ĠS plash", + "ĠSp lash", + "ĠSpl ash", + "( Configuration", + "(Config uration", + "Ġ SEM", + "ĠS EM", + "ĠSE M", + "im son", + "ims on", + "/ library", + "/lib rary", + "/l ibrary", + "< Double", + "", + "Ġ} }>", + "Ġ}} >", + "G ED", + "GE D", + "f aq", + "fa q", + "Ġoption ally", + "Ġoptional ly", + "_ Dis", + "_D is", + "Ġ Successful", + "ĠSuccess ful", + "ĠC ensus", + "Ġinc arcer", + "_ CARD", + "_C ARD", + "_CA RD", + "_CAR D", + "Ġav iation", + "Ġavi ation", + "ĠG ym", + "ĠGy m", + "Author ity", + ". Bean", + ".B ean", + ".Be an", + "sh ader", + "sha der", + "shade r", + "Not Exist", + "_ TextChanged", + "_Text Changed", + "Ġ STOP", + "ĠS TOP", + "ĠST OP", + "( team", + "(t eam", + "(te am", + "\" H", + "w g", + "Ġgr inder", + "Ġgri nder", + "Ġgrind er", + "Ġgrin der", + "Ġ stripe", + "Ġst ripe", + "Ġstr ipe", + "Ġstri pe", + "Ġstrip e", + "Ġp reservation", + "Ġpres ervation", + "Cl aim", + "Cla im", + "aver sal", + "avers al", + "w arehouse", + "ware house", + "target s", + "tar gets", + "T rust", + "Tr ust", + "Ġal lev", + "Ġall ev", + "Ġalle v", + ", www", + ",w ww", + "ou sse", + "ous se", + "_ chan", + "_c han", + "_ch an", + "_ Size", + "_S ize", + "s ystems", + "sys tems", + "system s", + "Ġob jection", + "Ġobject ion", + "Ġobj ection", + "ĠK ane", + "ĠKa ne", + "ĠKan e", + "Ġcor ros", + "Ġcorr os", + "Ġcorro s", + "Ġ DSL", + "ĠD SL", + "ĠDS L", + "Ġ ua", + "Ġu a", + "Ġ MH", + "ĠM H", + "ĠStr ategic", + "ĠStrateg ic", + "_ tcp", + "_t cp", + "_tc p", + "Ġ ê°Ĵ", + "Ġê° Ĵ", + "Ġborrow ed", + "Ġborr owed", + "ĠA ch", + "ĠAc h", + "ĉ command", + "ĉcom mand", + "Ġ gps", + "Ġg ps", + "Ġgp s", + "le ston", + "les ton", + "lest on", + "ich ever", + "iche ver", + "Ġ UA", + "ĠU A", + "Ġassault ed", + "Ġspecial izes", + "Ġspecialize s", + "ĉ search", + "ĉs earch", + "ĉse arch", + "H otel", + "Hot el", + "Ho tel", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠčĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠčĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠčĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ čĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠčĊ", + "Ġ Pitch", + "ĠP itch", + "ĠPit ch", + "Ġ Ùģ", + "ĠÙ ģ", + "READ Y", + "REA DY", + "Ġpar ental", + "Ġparent al", + "Ġparen tal", + "Ġg éné", + "Ġgé né", + "Ġgén é", + "Ġdonn ées", + "Ġde tain", + "Ġdet ain", + "T ARGET", + "Ġprotagon ist", + "Ġclear Interval", + "Ġ IconButton", + "ĠIcon Button", + "ĠGet All", + "Type Info", + "E H", + "âĢľ They", + "âĢľThe y", + "Ġ{ [", + "Ġg ag", + "Ġga g", + "Ġ Ú©", + "Ġ Dropdown", + "ĠD ropdown", + "ĠDrop down", + ". free", + ".f ree", + ".fr ee", + ".fre e", + "g one", + "go ne", + "gon e", + "i mens", + "im ens", + "ime ns", + "imen s", + "Ġin stal", + "Ġins tal", + "Ġinst al", + "ĉ curl", + "ĉc url", + "ĉcur l", + "_ CAN", + "_C AN", + "_CA N", + "Ġ Bone", + "ĠB one", + "ĠBo ne", + "ĠBon e", + "ï¼ Ķ", + "on yms", + "ony ms", + "onym s", + "- government", + "-g overnment", + ".binding Navigator", + "Ġ Dans", + "ĠD ans", + "ĠDan s", + "ĠDa ns", + "ĠMc L", + "( en", + "(e n", + "> (_", + ">( _", + "ÐĴ Ñĭ", + ".* ;čĊ", + "= j", + "- cor", + "-c or", + "-co r", + "S on", + "So n", + ".ToolStrip Item", + "- around", + "-a round", + "-ar ound", + "_ XML", + "_X ML", + "end Date", + "Ġ slack", + "Ġs lack", + "Ġsl ack", + "Ġsla ck", + "Ġrot ated", + "Ġrotate d", + "Ġno qa", + "Ġc ottage", + "Ġcott age", + "Ġencontr ar", + "_ skill", + "_s kill", + "_sk ill", + "hou ette", + "! čĊ", + ". weather", + ".we ather", + "Ġemphas ized", + "Ġemphasize d", + "å® ¶", + "ĠÑģ пиÑģ", + "ĠÑģп иÑģ", + "Ġ Compiler", + "ĠC ompiler", + "ĠCom piler", + "ĠComp iler", + "ĠCompile r", + "( android", + "(and roid", + "Ġ âĢº", + "ĠâĢ º", + ". turn", + ".t urn", + "Ġsup pression", + "Ġsuppress ion", + "Ġsupp ression", + "_ calls", + "_c alls", + "_call s", + "_cal ls", + "Ġ *@", + "Ġ* @", + "( strlen", + "(str len", + "(st rlen", + ". hex", + ".h ex", + ".he x", + "ĠB ills", + "ĠBill s", + "ĠBil ls", + "Ġ RSA", + "ĠR SA", + "ĠRS A", + "Ï Ĥ", + "Ġ Escape", + "ĠE scape", + "ĠEs cape", + "ĠEsc ape", + "ement ia", + "Ġ frontend", + "Ġfront end", + "Ġp int", + "Ġpi nt", + "Ġpin t", + "_ exc", + "_e xc", + "_ex c", + "z zo", + "zz o", + "[ ],Ċ", + "[] ,Ċ", + "[], Ċ", + "Ġ\"' ,'\"", + "Ġ\"', '\"", + "Ġ\"',' \"", + ". Environment", + ".En vironment", + "Ġafore mentioned", + "Ġend ure", + "prot otype", + "proto type", + "ther apy", + "the rapy", + "s si", + "ss i", + "D eg", + "De g", + "_ plugins", + "_pl ugins", + "_plugin s", + ". userInfo", + ".user Info", + "Pr inter", + "Print er", + "Ġ PROGRAM", + "ĠPRO GRAM", + "Ġru ins", + "Ġruin s", + "Ġemp irical", + "Ġempir ical", + "Ġ crawl", + "Ġc rawl", + "Ġcr awl", + "Ġcraw l", + "Ġcra wl", + "ĠBo iler", + "- comment", + "-com ment", + "-comm ent", + ". subplot", + ".sub plot", + "_ et", + "_e t", + "Ġ' .',", + "Ġ'. ',", + "Ġ'.' ,", + "min or", + "mi nor", + "mino r", + "ĠCustom s", + "ĠCust oms", + "Ġ yaw", + "Ġy aw", + "Ġya w", + "under line", + "Ġ Como", + "ĠC omo", + "ĠCom o", + "ĠCo mo", + "( ('", + "(( '", + "( mean", + "(m ean", + "(me an", + "Ġch aque", + "Ġcha que", + "Ġ Blocks", + "ĠB locks", + "ĠBl ocks", + "ĠBlock s", + "ĠBlo cks", + "ĠBloc ks", + ". rad", + ".r ad", + ".ra d", + "ilib rium", + "Ġ webdriver", + "Ġweb driver", + "Ġmel hor", + "d ana", + "da na", + "dan a", + "ĠAb use", + "ĠAbu se", + "ĠSouth west", + "Ġ Paren", + "ĠP aren", + "ĠPar en", + "ĠPa ren", + "ĠPare n", + "PERT IES", + "ĉ IL", + "ĉI L", + "Ġs cream", + "Ġsc ream", + "Ġscre am", + "Ġscr eam", + "v u", + "Ġin comes", + "Ġinc omes", + "Ġincome s", + "Ġincom es", + "Ġ nim", + "Ġn im", + "Ġni m", + "Ġ lace", + "Ġl ace", + "Ġla ce", + "Ġlac e", + "Ġcompens ate", + "Re verse", + "Rev erse", + "D at", + "Da t", + "_ attack", + "_att ack", + "Ġn our", + "Ġno ur", + "Ġnou r", + "a chen", + "ac hen", + "ach en", + "ache n", + "c ek", + "ce k", + "< Func", + " \"+", + ">\" +", + "Ġ tokenizer", + "Ġtoken izer", + "Ġtokenize r", + "Ġsovere ignty", + "Ġsovereign ty", + "ĠP ence", + "ĠPe nce", + "ĠPen ce", + "( )\");Ċ", + "() \");Ċ", + "()\" );Ċ", + "Ġpesso as", + "Ġpessoa s", + ". Ge", + ".G e", + "Ġ Included", + "ĠIn cluded", + "ĠInclude d", + "Ġ pagina", + "Ġp agina", + "Ġpag ina", + "Ġex posing", + "Ġexp osing", + "Ġexpos ing", + "Ġexpo sing", + "е ÑĪ", + "_ SCRIPT", + "_SC RIPT", + "/ $',", + "/$ ',", + "Th umbnail", + "× Ķ", + "webElement X", + "webElementX paths", + "press ure", + "pres sure", + "ĠC urry", + "ĠCur ry", + "_ CP", + "_C P", + "OL UTION", + "I LES", + "IL ES", + "ILE S", + "prot ect", + "o ola", + "ool a", + "oo la", + "Work space", + "Works pace", + "{ };Ċ", + "{} ;Ċ", + "Ġ UNS", + "ĠU NS", + "ĠUN S", + "Ġsymp athy", + "Ġsympath y", + "r oker", + "ro ker", + "roke r", + "rok er", + "Ġre model", + "Ġr emodel", + "Ġrem odel", + "ĉ cell", + "ĉc ell", + "Ġa top", + "Ġat op", + ". FullName", + ".Full Name", + "Ġf aut", + "Ġfa ut", + "ĠE asily", + "_ dynamic", + "_d ynamic", + "_dyn amic", + "Ġfr amed", + "Ġframe d", + "Ġfra med", + "Ġfram ed", + "Ġm otive", + "Ġmot ive", + "Ġmotiv e", + "è· ¯", + "s am", + "sa m", + "Ġ marca", + "Ġmar ca", + "Ġmarc a", + "ĠText EditingController", + "Ġd estructor", + "Ġde structor", + "Ġdestruct or", + "c ream", + "cre am", + "cr eam", + "Ġr ude", + "Ġru de", + "Ġrud e", + "Ġ Bold", + "ĠB old", + "ĠBo ld", + "ĠBol d", + "ĠInd igenous", + "Ġ gens", + "Ġg ens", + "Ġge ns", + "Ġgen s", + "Ġrel acion", + "( system", + "(s ystem", + "(sys tem", + "Ġ UIFont", + "ĠUI Font", + "ĠUIF ont", + "_ charge", + "_ch arge", + "_char ge", + "U STER", + "US TER", + "UST ER", + "E V", + ". Namespace", + ".N amespace", + ".Name space", + ".Names pace", + "Ġmer ger", + "Ġmerge r", + "Ġmerg er", + "Ġ calloc", + "Ġc alloc", + "Ġcall oc", + "Ġcal loc", + "g ang", + "ga ng", + "gan g", + "Bad Request", + "Ġs per", + "Ġsp er", + "Ġspe r", + "- design", + "-d esign", + "-de sign", + "-des ign", + "Ġ âĩ", + "Ġâ ĩ", + "C han", + "Ch an", + "Cha n", + "Ġorg anism", + "Ġorgan ism", + "Ġorganis m", + ", )", + "= id", + "=i d", + "_ plane", + "_p lane", + "_pl ane", + "_plan e", + "Ġ Cases", + "ĠC ases", + "ĠCas es", + "ĠCase s", + "ĠCa ses", + "el fast", + "elf ast", + "ĠLegisl ature", + "ĠF aker", + "ĠFa ker", + "ĠFake r", + "ĠFak er", + "Ġinv oking", + "Ġinvo king", + "- utils", + "-util s", + "( ).'", + "() .'", + "(). '", + ". face", + ".f ace", + ".fac e", + ".fa ce", + "Ġguard ian", + "my Modal", + "Ġ clipboard", + "Ġclip board", + "ĠA TM", + "ĠAT M", + "Ġpe as", + "Ġpea s", + "ĠS ylv", + "ĠSy lv", + ". calc", + ".c alc", + ".ca lc", + ".cal c", + "Ġ Contacts", + "ĠCont acts", + "ĠContact s", + "int Value", + "Ġmod ifying", + "Ġmodify ing", + "ĠB arb", + "ĠBar b", + "ĠBa rb", + ". loss", + ".l oss", + ".lo ss", + "_ percentage", + "_per centage", + "_percent age", + "As ked", + "Ask ed", + "( lst", + "(l st", + "(ls t", + "ateg orical", + "ategor ical", + "ategori cal", + "atego rical", + "- files", + "-f iles", + "-file s", + "-fi les", + "ĠRom ania", + "ĠRo mania", + "ĠRoman ia", + "ĠRoma nia", + ". Ac", + ".A c", + "Ġ hai", + "Ġh ai", + "Ġha i", + "Ġ Flying", + "ĠF lying", + "ĠFl ying", + "ĠFly ing", + "Ġ ż", + "ĠÅ ¼", + "j p", + "ĠTr ainer", + "ĠTra iner", + "ĠTrain er", + ". arc", + ".a rc", + ".ar c", + "_ deg", + "_d eg", + "_de g", + "Ġtrace back", + "Or Fail", + "F LOW", + "FL OW", + ". old", + ".o ld", + ".ol d", + "o ya", + "oy a", + "g mt", + "gm t", + "is empty", + "Ġvacc ination", + "Ġ obsolete", + "Ġob solete", + "recogn ized", + "Ġru ined", + "Ġruin ed", + "ĠR ein", + "ĠRe in", + "ĠRei n", + "Ġ Tracking", + "ĠTr acking", + "ĠTrack ing", + "x fb", + "xf b", + "ا ÛĮ", + "Ġv ære", + "Ġvæ re", + "Ġbr yster", + "Ġ ITS", + "ĠI TS", + "ĠIT S", + "Ġdes tiny", + "Ġdest iny", + "Ġdestin y", + "Ġs wear", + "Ġsw ear", + "Ġswe ar", + "Ġre des", + "Ġr edes", + "Ġred es", + "Ġrede s", + "Ġ clf", + "Ġc lf", + "Ġcl f", + "Ġfl ipped", + "Ġflip ped", + "ĉ head", + "ĉh ead", + "B luetooth", + "Bl uetooth", + "Ġ Overrides", + "ĠOver rides", + "ĠOverride s", + ": Boolean", + "_ =", + "_ lr", + "_l r", + "s pawn", + "sp awn", + "spa wn", + ": index", + "VAL UES", + "VALUE S", + "is key", + "isk ey", + "iske y", + "? \");Ċ", + "?\" );Ċ", + ".syn thetic", + "Ġ Checking", + "ĠCheck ing", + "struct ures", + "structure s", + "i ping", + "ip ing", + "ipi ng", + "Ġvoc als", + "Ġvocal s", + "- Up", + "-U p", + "ĠManufact urers", + "ĠManufacturer s", + "ĠMar riage", + "ĠMarr iage", + "代 çłģ", + "Ġgar ner", + "Ġgarn er", + "_ Client", + "_C lient", + "_Cl ient", + "par allel", + "paralle l", + "RI END", + "Ġvine gar", + "se gue", + "seg ue", + "J B", + "Ġcont acting", + "Ġcontact ing", + "ĠCar roll", + "ĠCarr oll", + "Ġout reach", + "Ġoutr each", + "t ensor", + "_ variant", + "_v ariant", + "_var iant", + "Ġt heat", + "Ġth eat", + "Ġthe at", + "l icable", + "lic able", + "lica ble", + "{ |", + "t iny", + "ti ny", + "tin y", + "_ letter", + "_l etter", + "Ġp encil", + "Ġpen cil", + "Ġpenc il", + "HeadersHeight SizeMode", + "il tro", + "ilt ro", + "iltr o", + ".auto configure", + ". drag", + ".d rag", + ".dr ag", + ". useState", + ".use State", + "Ġ BMI", + "ĠB MI", + "ĠBM I", + "h int", + "hi nt", + "hin t", + "Com pile", + "Comp ile", + "* \\", + "en ary", + "ena ry", + "Ġ lvl", + "Ġl vl", + "Ġlv l", + ". Cache", + ".C ache", + "+ =\"", + "+= \"", + "_ tv", + "_t v", + "ruit ment", + "Ġf read", + "Ġfr ead", + "Ġfre ad", + "Art icles", + "Article s", + "f ila", + "fi la", + "fil a", + "Ġpack aged", + "Ġpackage d", + "âĺ Ĩ", + "AT HER", + "ATH ER", + "ĠPl anned", + "ĠPlan ned", + "s cheme", + "sch eme", + "Ġdi ary", + "Ġdia ry", + "Ġoff enses", + "Ġoffense s", + "Ġoffen ses", + "/ F", + "Ġ Stick", + "ĠS tick", + "ĠSt ick", + "Ġc erc", + "Ġce rc", + "Ġcer c", + "ĠS lee", + "ĠSl ee", + "ĠSle e", + "ĉ ĉĠĠĠĠĠĠĠĠ", + "ĉĉ ĠĠĠĠĠĠĠĠ", + "ĉĉĠĠĠ ĠĠĠĠĠ", + "ĉĉĠ ĠĠĠĠĠĠĠ", + "ĉĉĠĠ ĠĠĠĠĠĠ", + "ĉĉĠĠĠĠĠĠĠ Ġ", + "ĉĉĠĠĠĠ ĠĠĠĠ", + "ĉĉĠĠĠĠĠ ĠĠĠ", + "ĉĉĠĠĠĠĠĠ ĠĠ", + "< Image", + "", + ";' >", + "ĉ col", + "ĉc ol", + "V G", + "_ boolean", + "_bool ean", + "_bo olean", + "re cent", + "rec ent", + "rece nt", + "Ġ *)ĊĊ", + "Ġ* )ĊĊ", + "Ġ*) ĊĊ", + "Ġ*)Ċ Ċ", + "ĠRain bow", + "om men", + "omm en", + "Ġl ur", + "Ġlu r", + "Ġop pression", + "Ġopp ression", + "Ġoppress ion", + "(\" ,\");Ċ", + "(\", \");Ċ", + "(\",\" );Ċ", + "ĠFac ility", + "DEF INED", + "DEFINE D", + "Ġn eon", + "Ġne on", + "Ġneo n", + "Ġoff ender", + "Ġoffend er", + "Ġoffen der", + "A FP", + "AF P", + "Ġ Cleaning", + "ĠC leaning", + "ĠClean ing", + "ĠCle aning", + "[ ]):", + "[] ):", + "[]) :", + "Ġund ocumented", + ". Repositories", + ".Re positories", + "ĠG uitar", + "ĠGu itar", + "ĠGui tar", + "аÑģÑģ ив", + "S kills", + "Sk ills", + "Skill s", + "Ġtest imon", + "Ġtestim on", + "rypt ography", + "ĠAm ber", + "ĠAmb er", + "ĠSt alin", + "ĠSta lin", + "Ġl one", + "Ġlo ne", + "Ġlon e", + "Ġap enas", + "Ġape nas", + "Ġdi eses", + "Ġdie ses", + "Ġdies es", + "Ġdiese s", + "Ġ Arduino", + "ĠAr duino", + "è½ ¬", + "= =-", + "== -", + "_ Act", + "_A ct", + "Ġ coded", + "Ġc oded", + "Ġco ded", + "Ġcode d", + "Ġcod ed", + "âĸ ł", + "am burger", + "amb urger", + "amburg er", + "- links", + "-l inks", + "-link s", + "Ġar mour", + "Ġarm our", + ". High", + ".H igh", + "get Content", + "getC ontent", + "s tag", + "st ag", + "sta g", + "Ġ heck", + "Ġh eck", + "Ġhe ck", + "Ġ ìĹĨ", + "ĠìĹ Ĩ", + "ĠMc Connell", + "ĠCon cert", + "ĠConc ert", + "ĠConce rt", + "Ġ Alloc", + "ĠAl loc", + "ĠAll oc", + "ä re", + "är e", + ". replaceAll", + ".replace All", + "Ġpart itions", + "Ġpartition s", + "r ott", + "ro tt", + "rot t", + "ĠF le", + "ĠFl e", + "_ TREE", + "_T REE", + "_TR EE", + "reason able", + "Ġ Reporting", + "ĠRep orting", + "ĠReport ing", + "Ġbillion aire", + "s cores", + "sc ores", + "score s", + "m ins", + "min s", + "mi ns", + "- eye", + "-e ye", + "M ORE", + "MO RE", + "ab ort", + "abor t", + "abo rt", + "ĠS WT", + "ĠSW T", + "Ġin verted", + "Ġinvert ed", + "Ġ Teachers", + "ĠTe achers", + "ĠTeacher s", + "ĠTea chers", + "ĠTeach ers", + "; n", + "Ġ astro", + "Ġa stro", + "Ġas tro", + "Ġast ro", + "Ġastr o", + "н ов", + "но в", + "а ниÑĨ", + "ан иÑĨ", + "ани ÑĨ", + "product o", + "c ountries", + "count ries", + "ĠO wen", + "ĠOw en", + "Ġcont amination", + "Ġcontamin ation", + "Ġconta mination", + "Ġv ibe", + "Ġvi be", + "Ġvib e", + "ĠE lli", + "ĠEl li", + "ĠEll i", + ". script", + ".s cript", + "ĠO live", + "ĠOl ive", + "ĠOliv e", + "D MA", + "DM A", + "v ier", + "vi er", + "vie r", + ": semicolon", + "- module", + "-m odule", + "-mod ule", + "g ressive", + "gress ive", + "a gu", + "ag u", + "_ players", + "_p layers", + "_pl ayers", + "_player s", + "_play ers", + "Ġresult ados", + "Ġresultado s", + "start ed", + "star ted", + "scroll Top", + "= ====", + "== ===", + "==== =", + "=== ==", + "Ġweigh ing", + "Ġ[ [[", + "Ġ[[ [", + "z ahl", + "za hl", + "( NS", + "(N S", + "Ġ Assertion", + "ĠAssert ion", + "le ague", + "lea gue", + ".set TextColor", + ".setText Color", + "ĉ Message", + "ĉM essage", + "Ġm oms", + "Ġmom s", + "Ġmo ms", + "_ AF", + "_A F", + ". wh", + ".w h", + "A LS", + "AL S", + "Ġaut re", + "Ġau tre", + "] ĊĊĊĊ", + "]Ċ ĊĊĊ", + "]ĊĊ ĊĊ", + "]ĊĊĊ Ċ", + ". opacity", + ".op acity", + "ĠBudd hist", + "ĠBuddh ist", + "Ġde af", + "ĠOrgan isation", + "( Global", + "(G lobal", + "en sch", + "ens ch", + "Ġhead ache", + "ĠA lien", + "ĠAl ien", + "ĠAli en", + "_ inode", + "_in ode", + "_i node", + "ĠSt ark", + "ĠStar k", + "ĠSta rk", + "Ġ æī", + "Ġæ ī", + "-l nd", + "-ln d", + "o ref", + "or ef", + "ore f", + "_ feat", + "_f eat", + "_fe at", + "Ġpedest rian", + "Ġnom inal", + "Ġnomin al", + "Ġball oon", + "Ġbal loon", + "Ġballo on", + "Ġ sprites", + "Ġs prites", + "Ġsp rites", + "Ġspr ites", + "Ġsprite s", + "Prototype Of", + "ĠA post", + "ĠAp ost", + "Ġ FEATURE", + "ĠF EATURE", + "ĠFE ATURE", + "O H", + "Ġre cess", + "Ġr ecess", + "Ġrec ess", + "Ġrece ss", + "ĠD onna", + "ĠDon na", + "con sumer", + "cons umer", + "consum er", + "consume r", + "$ GLOBALS", + "ĠG IF", + "ĠGI F", + "- frame", + "-f rame", + "-fr ame", + "In icio", + "Ini cio", + "Ġpass ages", + "Ġpassage s", + "Date String", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + ". byte", + ".b yte", + ".by te", + "B ug", + "Bu g", + "initial izer", + "initialize r", + "p kt", + "pk t", + "od ium", + "odi um", + "Ġ DER", + "ĠD ER", + "ĠDE R", + ". ops", + ".op s", + ".o ps", + "l eri", + "le ri", + "ler i", + "Ġgift ed", + "Ġgif ted", + "Ġ detach", + "Ġde tach", + "Ġdet ach", + "ter rain", + "terra in", + "terr ain", + "el ters", + "elt ers", + "elter s", + "ãģ ı", + ". loader", + ".l oader", + ".load er", + ".lo ader", + "ĠN GO", + "ĠNG O", + "str ncmp", + "K h", + "( fontSize", + "(font Size", + "r ocket", + "ro cket", + "rock et", + "roc ket", + "Ġpreced ent", + "ĠAur ora", + "Ġ Experiment", + "ĠEx periment", + "i sphere", + "is phere", + "isp here", + "En coded", + "Enc oded", + "Encode d", + "Ġ âĢĵĊĊ", + "ĠâĢĵ ĊĊ", + "ĠâĢĵĊ Ċ", + "Ġpy ramid", + "ĠAnn iversary", + "o fil", + "of il", + "ofi l", + "ë Ł", + "( plugin", + "(pl ugin", + "C oeff", + "Co eff", + "Ġco operate", + "Ġcooper ate", + "Ġcoop erate", + "Ġpredomin antly", + "Ġpredominant ly", + "I SM", + "IS M", + "Ph rase", + "_ DEFINE", + "_DE FINE", + "_DEF INE", + "_DEFIN E", + "F lip", + "Fl ip", + "AMIL Y", + "AMI LY", + "ĠMark ets", + "ĠMarket s", + "Ġ StreamReader", + "ĠStream Reader", + "Ġ Combine", + "ĠC ombine", + "ĠCom bine", + "ĠComb ine", + "Ġmanus cript", + "z za", + "zz a", + ", tp", + ",t p", + "Wh atever", + "What ever", + "IT ICAL", + "igh bour", + "ighb our", + "Data Provider", + ". Texture", + ".Text ure", + "priv acy", + ". SDK", + ".S DK", + "Ġre charge", + "Ġ cpp", + "Ġc pp", + "Ġcp p", + "Ġ CFG", + "ĠC FG", + "ĠCF G", + "( holder", + "(h older", + "( py", + "(p y", + "m ot", + "mo t", + "Ġsa voir", + "Ġsav oir", + "ĠR osa", + "ĠRo sa", + "ĠRos a", + "ĠP Cs", + "ĠPC s", + "Ġ íĻ", + "Ġí Ļ", + ".her oku", + ".hero ku", + "Ġf ren", + "Ġfr en", + "Ġfre n", + "ĠR iley", + "ĠRi ley", + "a gate", + "ag ate", + "aga te", + "Ġs ond", + "Ġso nd", + "Ġson d", + ". xlsx", + ".x lsx", + ".xls x", + "Ġh acked", + "Ġhack ed", + "Ġhac ked", + "st ad", + "sta d", + "G i", + "Ġs anity", + "Ġsan ity", + "Ġsanit y", + "ĠSql DataAdapter", + ".. .\",", + "... \",", + "...\" ,", + "ĠP ussy", + "Ġ ****************", + "Ġ** **************", + "Ġ**** ************", + "Ġ******** ********", + "Ġhass le", + "_P ARENT", + "_PAR ENT", + "ĠU AE", + "ĠUA E", + "Ġbegin ners", + "Ġbeginner s", + "( Client", + "(C lient", + "(Cl ient", + "Ġstat istically", + "Ġstatist ically", + "Ġstatistical ly", + "Ġstatistic ally", + ". hour", + ".h our", + "e delta", + "ed elta", + "Ġ traction", + "Ġt raction", + "Ġtr action", + "Ġtra ction", + "Ġtract ion", + "u elve", + "uel ve", + "a rat", + "ar at", + "ara t", + "Ġsa una", + "Ġsau na", + "IN VALID", + "INVAL ID", + "Ġindict ment", + "AL LE", + "ALL E", + "Ġd issent", + "Ġdis sent", + "Ġdiss ent", + "Ġdisse nt", + "Ġ Typography", + "ĠTyp ography", + "Ġintent ional", + "Ġintention al", + "s it", + "si t", + "ĠAn imals", + "ĠAnimal s", + "ĠAnim als", + "Ġcoun tryside", + "Ġcountry side", + "Ġ uart", + "Ġu art", + "Ġua rt", + "} \\\"", + "}\\ \"", + "Ġseam less", + "¾ 示", + "Ġ autos", + "Ġa utos", + "Ġaut os", + "Ġauto s", + "Ġau tos", + "Ġ\" '\";Ċ", + "Ġ\"' \";Ċ", + "Ġ\"'\" ;Ċ", + "F lush", + "Fl ush", + "AN NOT", + "ANN OT", + "Ġal gebra", + "Ġalg ebra", + "as soc", + "ass oc", + "asso c", + "ĠW aters", + "ĠWater s", + "ĠWat ers", + "ĠWa ters", + "Ġprepar ations", + "Ġpreparation s", + "r onym", + "ro nym", + "ron ym", + "[, ]", + "S ans", + "San s", + "Sa ns", + "Ġarm ies", + "i peg", + "ip eg", + "ipe g", + "Ġcre amy", + "Ġcream y", + "Ġcrea my", + ". art", + ".a rt", + ".ar t", + "e tre", + "et re", + "etr e", + "Ġ Animated", + "ĠAn imated", + "ĠAnim ated", + "Ġun pleasant", + "e mean", + "em ean", + "eme an", + "g reat", + "gr eat", + "gre at", + "i Äħ", + "Ġ Earlier", + "ĠEar lier", + "ĠEarl ier", + "Ġc hic", + "Ġch ic", + "Ġchi c", + "Ġpres erving", + "( exec", + "(e xec", + "(ex ec", + "ĠInvest igation", + "ĠInvestig ation", + "ĉ GPIO", + "ĉG PIO", + "Ġrig orous", + "Ġrigor ous", + "i jo", + "ij o", + "= num", + "=n um", + "Ġ toolStrip", + "Ġt oolStrip", + "Ġtool Strip", + ") set", + ")s et", + "+ \"&", + "+\" &", + "Ġ Acceler", + "ĠAcc eler", + "Ġdevelop mental", + "Ġdevelopment al", + "is posable", + "Ġflaw ed", + "Ġfla wed", + "r ene", + "re ne", + "ren e", + "Up dating", + "Ġwatch dog", + "Ġden ominator", + "Ġdenom inator", + "Ġdenomin ator", + "Ġsubur bs", + "Ġsuburb s", + "Ġ ...)", + "Ġ... )", + "Ġ.. .)", + "Ġconv ictions", + "Ġconviction s", + "Ġconvict ions", + "c losure", + "clo sure", + ". IP", + ".I P", + "Ġtrans lates", + "Ġtransl ates", + "Ġtranslate s", + ".s wt", + ".sw t", + ". Trace", + ".T race", + ".Tr ace", + "Ġmet tre", + ". isEnabled", + ".is Enabled", + "Ġ Effective", + "ĠE ffective", + "ĠEffect ive", + "ĠEff ective", + ". toInt", + ".to Int", + "Ġen chant", + "Ġench ant", + "Ġst unned", + "Ġstun ned", + "Ġ poi", + "Ġp oi", + "Ġpo i", + "/ code", + "/c ode", + "/co de", + "a dm", + "ad m", + ".data binding", + ".datab inding", + ".databind ing", + "Ġ Lorem", + "ĠL orem", + "ĠLo rem", + "ĠLore m", + "ĠLor em", + "________________________________ ________________________________", + "Ġ ledger", + "Ġled ger", + "Ġledge r", + "Ġc ara", + "Ġcar a", + "Ġca ra", + "ĠG ir", + "ĠGi r", + "Ġw aits", + "Ġwait s", + "Ġwa its", + "U no", + "Un o", + "Ġ cwd", + "Ġc wd", + "Ġcw d", + "è¾ ij", + "ĠT Result", + "Ġre jo", + "Ġrej o", + "Ġe mitted", + "Ġem itted", + "Ġemit ted", + "ĠWest minster", + "ä¸Ģ 个", + "n ek", + "ne k", + "_T is", + "Ġen act", + "ĉ with", + "ĉw ith", + "or gia", + "org ia", + "Ġj ue", + "Ġju e", + "Per form", + "S PATH", + "SP ATH", + "SPA TH", + ". topic", + ".t opic", + ".to pic", + ".top ic", + "ĠD aten", + "ĠDate n", + "ĠDa ten", + "ĠDat en", + "Ạ§", + "Ġsit io", + "Ġsiti o", + "_ MM", + "_M M", + "\" So", + "\"S o", + "b ial", + "bi al", + "bia l", + "Ġ scoped", + "Ġsc oped", + "Ġscope d", + "Ġsco ped", + "Ġscop ed", + "Re quires", + "Require s", + "Ġ TOTAL", + "ĠT OTAL", + "ĠCh ancellor", + "( contents", + "(content s", + "(cont ents", + "Ġste alth", + "Ġsteal th", + "dev ices", + "device s", + "- pass", + "-p ass", + "il ih", + "ili h", + "ĠMal colm", + "ĠDe pot", + "ĠDep ot", + "Ġcon figur", + "Ġconfig ur", + "a ussian", + "aus sian", + "auss ian", + "_ constraint", + "_con straint", + "в еÑĤ", + "ве ÑĤ", + "G RA", + "GR A", + "Ġ Rates", + "ĠR ates", + "ĠRa tes", + "ĠRate s", + "ĠRat es", + ".dataGridView TextBoxColumn", + "ĠN obel", + "ĠNo bel", + "ĠNob el", + "i tics", + "it ics", + "iti cs", + "itic s", + "Ġignor ant", + "Ġ Reporter", + "ĠRe porter", + "ĠReport er", + "ĠEb ola", + "Ġ Shock", + "ĠSh ock", + "ĠSho ck", + "_ relation", + "_re lation", + "_rel ation", + "ĠN inja", + "ĠNin ja", + ") c", + "Ġ ticker", + "Ġt icker", + "Ġti cker", + "Ġtick er", + "Ġtic ker", + ". isChecked", + ".is Checked", + "ĠSup pliers", + "ĠSupplier s", + "ĠR apid", + "ĠRa pid", + "ĠRap id", + "Level s", + "âĤ¬ âĦ¢", + "ĉ queue", + "ĉq ueue", + "Ġ chop", + "Ġc hop", + "Ġch op", + "Ġcho p", + "Ġ Unix", + "ĠUn ix", + "ĠUni x", + "re ject", + "rej ect", + "- calendar", + "-c alendar", + "-cal endar", + "( sort", + "(s ort", + "(so rt", + "è ne", + "èn e", + "erc icio", + "Ġh ect", + "Ġhe ct", + "CALL TYPE", + "r oupon", + "ro upon", + "rou pon", + "roup on", + "Ġrent als", + "Ġrental s", + "author s", + "auth ors", + "{ name", + "{n ame", + "ĠF IFO", + "ĠFI FO", + "Ġ lassen", + "Ġl assen", + "Ġlas sen", + "Ġ Nous", + "ĠN ous", + "ĠNo us", + "ĠNou s", + "Ġsn apped", + "Ġsnap ped", + "Ġsna pped", + "Ġf ertility", + "Ġfer tility", + "Ġfert ility", + "Ġfertil ity", + "\" log", + "cl icked", + "click ed", + "Ġplan ting", + "Ġplant ing", + "Ġ gb", + "Ġg b", + "/ output", + "/out put", + "PE AT", + "Ġ categoria", + "Ġc ategoria", + "Ġcategor ia", + "Ġ bach", + "Ġb ach", + "Ġba ch", + "Ġbac h", + "Prof essor", + "i nth", + "in th", + "int h", + "\" ]čĊ", + "\"] čĊ", + "Rec order", + "Record er", + "s erde", + "ser de", + "Ġ Transmission", + "ĠTrans mission", + "t rad", + "tr ad", + "tra d", + "Ġtur bo", + "Ġturb o", + "_ VERTEX", + "_VER TEX", + "\\ Event", + "\\E vent", + "il ver", + "Ġbod ily", + "Ġ Sources", + "ĠS ources", + "ĠSource s", + "ĠSour ces", + "Ġkill ings", + "Ġkilling s", + "Ġkil lings", + ".xr TableCell", + "Ġfol ded", + "Ġfold ed", + "/ legal", + "/l egal", + "u ner", + "un er", + "une r", + "ĠR ifle", + "ĠRif le", + "ĠM IDI", + "ĠMI DI", + "ĠMID I", + "_Selected IndexChanged", + ".Size Type", + "Ġ WebSocket", + "ĠWeb Socket", + "Ġse leccion", + "Ġsele ccion", + "S and", + "San d", + "Sa nd", + "ot ros", + "otr os", + "Ġen vision", + "Ġenv ision", + "Ġenvis ion", + "/ etc", + "/e tc", + "ĠMel issa", + "S pot", + "Sp ot", + "Spo t", + "н ое", + "но е", + "_ ARM", + "_A RM", + "_AR M", + "At tempt", + "Att empt", + "Ġ BI", + "ĠB I", + "ãģ Ķ", + "Ġ DU", + "ĠD U", + "Ġback lash", + "st ride", + "str ide", + "stri de", + "/ classes", + "/c lasses", + "/class es", + "/cl asses", + "Ġtext Color", + "_ staff", + "_st aff", + "_sta ff", + "ob lin", + "obl in", + "ag enta", + "agent a", + "agen ta", + ". collections", + ".c ollections", + ".col lections", + ".collection s", + ".collect ions", + ".coll ections", + "il lage", + "ill age", + "illa ge", + "' čĊčĊ", + "'čĊ čĊ", + "fl atten", + "flat ten", + "_ sales", + "_s ales", + "_sale s", + "_sal es", + "_sa les", + "_ MASTER", + "_M ASTER", + "_MA STER", + "T W", + "_ da", + "_d a", + "P itch", + "ph ies", + "phi es", + "Ġz ombies", + "Ġzombie s", + "Ġ VERY", + "ĠV ERY", + "ĠVER Y", + "ĠVE RY", + "ĠPh armacy", + "ĠPharm acy", + "ĠPharmac y", + "ĠPharma cy", + "Ġprogress Bar", + "Ġhas htag", + "Ġhash tag", + "S idebar", + "Side bar", + "@ stop", + "@s top", + "( pc", + "(p c", + "ол ж", + "M AKE", + "MA KE", + "ĠC oron", + "ĠCo ron", + "ĠCor on", + "Ġkv inner", + "Ġkvin ner", + "Ġkvinn er", + "Ġkvinne r", + "ĠM aid", + "ĠMa id", + "ĠMai d", + "b ob", + "bo b", + ". titleLabel", + ".title Label", + "Ġsuccess es", + "Ġsucc esses", + "Ġsucces ses", + "ĠDem ocracy", + "ĠDemocr acy", + "ĠS urgery", + "ĠSurg ery", + "ĠSurge ry", + "Ġco ugar", + "Ġcou gar", + "Ġ curso", + "Ġcur so", + "Ġcurs o", + "Ġl oro", + "Ġlo ro", + "Ġlor o", + "ist ency", + "iste ncy", + "isten cy", + "Sen ior", + "æ k", + "Ġ AAA", + "ĠA AA", + "ĠAA A", + "Ġ BOOK", + "ĠB OOK", + "ĠBO OK", + "к о", + "W STR", + "WS TR", + "Ġ */,Ċ", + "Ġ* /,Ċ", + "Ġ*/ ,Ċ", + "Ġ*/, Ċ", + "o yal", + "oy al", + "oya l", + ". vector", + ".v ector", + ".vec tor", + "Ġ SPEC", + "ĠS PEC", + "ĠSP EC", + "ĠSPE C", + "S SF", + "SS F", + "Ġcomp uls", + "ĠAppe als", + "ĠAppeal s", + "ĠW inston", + "ĠWin ston", + "ĠWins ton", + "ĠMock ito", + "con trib", + "cont rib", + "contr ib", + "contri b", + ". available", + ".a vailable", + ".av ailable", + "entity Manager", + "a rias", + "ar ias", + "ari as", + "aria s", + "_ sale", + "_s ale", + "_sal e", + "_sa le", + "_ rs", + "_r s", + "Ġde coding", + "Ġdec oding", + "Ġdeco ding", + "Ġ locator", + "Ġl ocator", + "Ġloc ator", + "ol ith", + "oli th", + "olit h", + "Ġ kol", + "Ġk ol", + "Ġko l", + "Ġ ascii", + "Ġasc ii", + "ĠR ut", + "ĠRu t", + "/ interface", + "ĉ ĉĉĉĉĉĠĠĠ", + "ĉĉ ĉĉĉĉĠĠĠ", + "ĉĉĉĉ ĉĉĠĠĠ", + "ĉĉĉ ĉĉĉĠĠĠ", + "ĉĉĉĉĉ ĉĠĠĠ", + "ĉĉĉĉĉĉ ĠĠĠ", + "ĉĉĉĉĉĉĠ ĠĠ", + "ĉĉĉĉĉĉĠĠ Ġ", + "Ġ Numer", + "ĠN umer", + "ĠNum er", + "ĠNu mer", + ". flip", + ".f lip", + ".fl ip", + "- del", + "-d el", + "-de l", + "Ġbol ster", + "Ġbols ter", + "on omic", + "ono mic", + "onom ic", + "Ġ zm", + "Ġz m", + "L G", + "Find By", + "Ġ adaptive", + "Ġad aptive", + "Ġadapt ive", + "Ġada ptive", + "l oo", + "lo o", + "Ġ vue", + "Ġv ue", + "Ġvu e", + "( reverse", + "(re verse", + "_ canvas", + "_c anvas", + "_can vas", + ". roles", + ".r oles", + ".role s", + ".ro les", + "ific ado", + "ifica do", + "ven ient", + "\" As", + "\"A s", + "Ġ Entr", + "ĠEn tr", + "ĠEnt r", + "al igned", + "align ed", + "Ġbere its", + "/ //ĊĊ", + "// /ĊĊ", + "/// ĊĊ", + "///Ċ Ċ", + ".g wt", + ". employee", + ".e mployee", + "_ cli", + "_c li", + "_cl i", + "Ġanticip ate", + "éĻ IJ", + "Ġp ik", + "Ġpi k", + "Ġmush rooms", + "Ġmushroom s", + "( tt", + "(t t", + "Ġ oma", + "Ġo ma", + "Ġom a", + "ĠSan chez", + "_ google", + "_g oogle", + "_go ogle", + ". Valid", + ".Val id", + "Ġ FileName", + "ĠFile Name", + "iv ative", + "k ed", + "ke d", + "- war", + "-w ar", + "Ġm aturity", + "Ġmat urity", + "и д", + "Ġ miner", + "Ġm iner", + "Ġmin er", + "Ġmi ner", + "Ġmine r", + "Re ducers", + "Reduc ers", + "Reducer s", + "Reduce rs", + "Ġ LatLng", + "ĠL atLng", + "ĠLat Lng", + "_ STD", + "_S TD", + "_ST D", + "D igits", + "Digit s", + "Dig its", + "C alc", + "Cal c", + "Ca lc", + "- upload", + "-up load", + "Ġhand ic", + "Ġhan dic", + "ี à¹Ī", + "eg rated", + "egr ated", + "egrate d", + "egra ted", + "Ġ STM", + "ĠS TM", + "ĠST M", + "C lients", + "Client s", + "Cl ients", + "Cli ents", + "ĠTur bo", + "S YNC", + "SY NC", + "Ġphot ographers", + "Ġphotograph ers", + "Ġphotographer s", + ". Out", + ".O ut", + ". character", + ".char acter", + "B UILD", + "BU ILD", + ". unlock", + ".un lock", + "Ġar ises", + "Ġarise s", + "Ġ Commands", + "ĠComm ands", + "ĠCommand s", + "(\" \");čĊ", + "(\"\" );čĊ", + "(\"\") ;čĊ", + "(\"\"); čĊ", + "_ FORE", + "_F ORE", + "_FOR E", + "; ',", + ";' ,", + "+ \"'", + "+\" '", + ". Images", + ".Image s", + ".Im ages", + "\" ){", + "\") {", + "ĠM eyer", + "ĠMe yer", + "ĠMey er", + "Ġneg atively", + "Ġnegative ly", + "Ġ DLL", + "ĠD LL", + "ĠDL L", + "Ġ exe", + "Ġe xe", + "Ġex e", + "Ġdef iciency", + "Ġwild ly", + "- switch", + "-s witch", + "-sw itch", + "con struction", + "construct ion", + "Ġexception ally", + "Ġexceptional ly", + "ĠL iz", + "ĠLi z", + "/ java", + "/j ava", + "/jav a", + "Ġthe irs", + "Ġtheir s", + "ĠCon temporary", + "ĠCont emporary", + "l is", + "li s", + ".fill Rect", + "ĠN FC", + "ĠNF C", + "Ġre he", + "Ġreh e", + "( numbers", + "(num bers", + "(number s", + "Ġr aster", + "Ġra ster", + "Ġras ter", + "Ġrast er", + "Ġfig uring", + "Ġfigur ing", + "Ġshow c", + "Ġsho wc", + "ĠJ ill", + "ĠJi ll", + "Ġar cade", + "Ġarc ade", + "ĠConstruct s", + "m dl", + "md l", + "( '|", + "(' |", + "Ġident ifiers", + "Ġidentifier s", + "Ġ stellar", + "Ġst ellar", + "( Connection", + "Ġ\" {{", + "Ġ\"{ {", + "y or", + "yo r", + "( mysqli", + "(m ysqli", + "(mysql i", + "Ġd ove", + "Ġdo ve", + "Ġdov e", + "Of Birth", + ". disconnect", + ".dis connect", + "_ hi", + "_h i", + "Ġzw ischen", + "ĠGr und", + "i ros", + "ir os", + "iro s", + "_ Array", + "_A rray", + ". onclick", + ".on click", + "an som", + "ans om", + "An swers", + "Answer s", + "Ans wers", + "ĉ remove", + "ĉre move", + "F a", + "Ġh urry", + "Ġhur ry", + "- inf", + "-in f", + "-i nf", + "Ġ getClass", + "Ġget Class", + "ĠgetC lass", + "ĠReg ulation", + "Ġ FLAGS", + "ĠFLAG S", + "m isc", + "mi sc", + "mis c", + "K en", + "Ke n", + "_ heading", + "_head ing", + "_he ading", + "G Hz", + "GH z", + "- entry", + "-en try", + "Ġbi ography", + "S ig", + "Si g", + "- mf", + "-m f", + "W atcher", + "Watch er", + "Wat cher", + "âĢľ A", + "} px", + "Ġsp icy", + "Ġspi cy", + "_ sq", + "_s q", + "L ost", + "Lo st", + "Los t", + "( track", + "(t rack", + "(tr ack", + "а ли", + "ал и", + "Desc ending", + "< bits", + " ((", + ">( (", + "s urvey", + "sur vey", + "Ġ íĺ", + "Ġí ĺ", + ".. .')Ċ", + "... ')Ċ", + "...' )Ċ", + "Ġ Divider", + "ĠDi vider", + "ĠDiv ider", + "ĠDivide r", + "o sl", + "os l", + "_ CANCEL", + "_C ANCEL", + "_CAN CEL", + "_ prepare", + "_pre pare", + "_prep are", + "s tin", + "st in", + "sti n", + "ĠHe ath", + "ĠHeat h", + ". PrimaryKey", + ".Primary Key", + "Ġ âĨIJ", + "ĠâĨ IJ", + "ĠLocal DateTime", + "ĠLocalDate Time", + "Ġco operative", + "Ġcooper ative", + "L earning", + "Le arning", + "Learn ing", + ". enqueue", + ".en queue", + "Ġ goog", + "Ġg oog", + "Ġgo og", + "Ġgoo g", + "Ġ Regression", + "ĠRe gression", + "ĠReg ression", + "i mates", + "im ates", + "imate s", + "ima tes", + "imat es", + "Ġvoy eur", + "Ġ Drink", + "ĠD rink", + "ĠDr ink", + "p lug", + "pl ug", + "Ġl ender", + "Ġle nder", + "Ġlen der", + "Ġlend er", + "m ana", + "man a", + "ma na", + "Ġperson nes", + "Ġpersonne s", + "Ġpersonn es", + "yp se", + "yps e", + "Ġ unlink", + "Ġun link", + "Ġunl ink", + "ĠRa vens", + "ĠRav ens", + "ĠRaven s", + "Ġh urd", + "Ġhur d", + "Ġhu rd", + "Ġperiod ically", + "Ġperiodic ally", + "AR GS", + "ARG S", + "Ġ GH", + "ĠG H", + "char acters", + "character s", + ".. .\"ĊĊ", + "... \"ĊĊ", + "...\" ĊĊ", + "...\"Ċ Ċ", + "- establish", + "Ġ dn", + "Ġd n", + "( condition", + "(con dition", + "(cond ition", + "Ġ Gravity", + "ĠGr avity", + "Ġes tas", + "Ġest as", + "Ġesta s", + "_ focus", + "_f ocus", + "C reature", + "Cre ature", + "Cr eature", + "Creat ure", + "( site", + "(s ite", + "(si te", + "Ġc arr", + "Ġcar r", + "Ġca rr", + "Ġ RL", + "ĠR L", + "Ġ RI", + "ĠR I", + "ĠM oto", + "ĠMo to", + "ĠMot o", + "A SF", + "AS F", + "Ġ Luckily", + "ĠLuck ily", + "ĉ Route", + "ĉR oute", + "Ġ entropy", + "Ġent ropy", + "Ġentr opy", + "( \",\"", + "(\" ,\"", + "(\", \"", + "C ollect", + "Col lect", + "Coll ect", + "( contact", + "(cont act", + "ĠFlor ence", + "ĠFlo rence", + "Ġpremium s", + "Ġpremi ums", + "Ġl ifecycle", + "Ġlife cycle", + "Ġlif ecycle", + "Ġb ans", + "Ġban s", + "Ġba ns", + "x ef", + "xe f", + "Web Kit", + "Ġ Floating", + "ĠF loating", + "ĠFloat ing", + "ĠFlo ating", + "Ġ cosa", + "Ġc osa", + "Ġco sa", + "Ġcos a", + "S pecific", + "Spec ific", + "ĠLo ans", + "ĠLoan s", + "b read", + "br ead", + "bre ad", + "Ġdes criptors", + "Ġdescriptor s", + "Ġ{ :.", + "Ġ{: .", + "TH READ", + "ĠT rent", + "ĠTr ent", + "ĠTre nt", + "Ġs cop", + "Ġsc op", + "Ġsco p", + "Q A", + "ĠAn tar", + "ĠAnt ar", + "p el", + "pe l", + "_ difference", + "_d ifference", + "_diff erence", + "_ changes", + "_ch anges", + "_change s", + "_chan ges", + "( ...)", + "(... )", + "(.. .)", + "Ġ Rotation", + "ĠR otation", + "ĠRot ation", + "ĠL GPL", + "ĠLG PL", + "Ġ JUST", + "ĠJ UST", + "( Task", + "(T ask", + "_ subset", + "_sub set", + "_subs et", + "Ġ TRANS", + "ĠTR ANS", + "ĠTRAN S", + "åĬ Ľ", + "ĠS cout", + "ĠSc out", + "ĠSco ut", + "- popup", + "-p opup", + "-pop up", + "Ġsm oked", + "Ġsmoke d", + "Ġsmo ked", + "_ Class", + "_C lass", + "_Cl ass", + "Ġturn over", + "Ġturno ver", + "br akk", + "bra kk", + "ĠRock y", + "ĠRo cky", + "ĠRoc ky", + "t as", + "ta s", + ".Regular Expressions", + "ĠElli ott", + "ĠElliot t", + "Ġ Spinner", + "ĠSp inner", + "ĠSpin ner", + "DUCT ION", + "DU CTION", + "Ġl ibre", + "Ġli bre", + "Ġlib re", + "Ġlibr e", + "Ġmol to", + "Ġmolt o", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠ", + "Ġ FTP", + "ĠF TP", + "ĠFT P", + "m peg", + "mp eg", + "( features", + "(f eatures", + "(feature s", + "(fe atures", + "Ġb ald", + "Ġbal d", + "Ġba ld", + "ĠV id", + "ĠVi d", + "Ġsh outing", + "Ġshout ing", + "Ġsho uting", + "L int", + "Li nt", + "Lin t", + "Ġ sockets", + "Ġs ockets", + "Ġsocket s", + "Ġsock ets", + "Ġp row", + "Ġpro w", + "Ġpr ow", + "Ġnou velle", + "Ġnouvel le", + "Ġnouve lle", + "is card", + "isc ard", + "ĠS ponsor", + "Ġ consulta", + "Ġcons ulta", + "Ġconsult a", + "Ġconsul ta", + ") ));", + ")) );", + "))) ;", + "Ind ian", + "India n", + "ĠR aspberry", + "Ġteam mate", + "Ġ JWT", + "ĠJ WT", + "ĠJW T", + "ĠG hana", + "ĠGh ana", + "Ġ cakes", + "Ġc akes", + "Ġca kes", + "Ġcake s", + "pr imer", + "prim er", + "prime r", + "pri mer", + "form a", + "for ma", + "erg arten", + "_ Manager", + "_M anager", + "_Man ager", + "Ġpre season", + "G AME", + "GA ME", + "| \"", + "ĠB rock", + "ĠBr ock", + "ĠBro ck", + "Ġocc upy", + "Ġoccup y", + "Ġdecor ations", + "Ġdecoration s", + "á nd", + "án d", + "Ġ cot", + "Ġc ot", + "Ġco t", + "Ġp aran", + "Ġpar an", + "Ġpara n", + "Ġpa ran", + "D isk", + "Dis k", + "Di sk", + "r emain", + "re main", + "rem ain", + "rema in", + "> ?", + "St rong", + "Str ong", + "Ġf rance", + "Ġfr ance", + "Ġfra nce", + "Ġfran ce", + "Ġfranc e", + "ĠE ra", + "ĠEr a", + "- cr", + "-c r", + ".Buffer edReader", + ".Buffered Reader", + "ĠParad ise", + "ĠV AT", + "ĠVA T", + "ĠAn ders", + "ĠAnd ers", + "Ġl imb", + "Ġli mb", + "Ġlim b", + "amp oo", + "ampo o", + "Ġimper ative", + "UT ILITY", + "UTIL ITY", + "Ġ Recognition", + "ĠRec ognition", + "ĠRecogn ition", + "Ġragaz ze", + "Ġp ops", + "Ġpop s", + "Ġpo ps", + "y press", + "yp ress", + "Ġemb argo", + "Ġembar go", + "// {Ċ", + "Ġs yll", + "Ġsy ll", + "P TR", + "PT R", + "åŃĺ åľ¨", + "Ġdid nt", + "Ġdidn t", + "M ailer", + "Mail er", + "Ma iler", + "Ġacad emics", + "Ġacademic s", + "ĠFr auen", + "ĠFra uen", + "ĠFrau en", + "ne ider", + "- rel", + "-r el", + "-re l", + "Ġrain bow", + "( In", + "(I n", + "Ġs liced", + "Ġsl iced", + "Ġslice d", + "Ġslic ed", + "= ============Ċ", + "== ===========Ċ", + "==== =========Ċ", + "======== =====Ċ", + "=== ==========Ċ", + "============ =Ċ", + "============= Ċ", + "=========== ==Ċ", + "========= ====Ċ", + "========== ===Ċ", + "====== =======Ċ", + "===== ========Ċ", + "======= ======Ċ", + "( send", + "(s end", + "(se nd", + "NSMutable Dictionary", + "v os", + "vo s", + "( package", + "(p ackage", + "(pack age", + "Ġord inance", + "Ġordin ance", + "view er", + "vie wer", + "ĠSan tos", + "ĠSant os", + "ĠSanto s", + "- selling", + "-s elling", + "Ġ gov", + "Ġg ov", + "Ġgo v", + "et tle", + "ett le", + "Ġfound ers", + "Ġfo unders", + "Ġfounder s", + "Ġw aking", + "Ġwa king", + "s lashes", + "sl ashes", + "slash es", + "-p ound", + "-po und", + "re cht", + "rec ht", + "rech t", + "ا ت", + "Ø§Ø ª", + ". onClick", + ".on Click", + "Ġn ord", + "Ġno rd", + "Ġnor d", + "st änd", + "_ when", + "_w hen", + "_wh en", + "U TERS", + "UT ERS", + "UTE RS", + "i cc", + "ic c", + "Ġcaps ule", + "ĠW id", + "ĠWi d", + "M arc", + "Mar c", + "Ma rc", + "ภ¸", + "r ored", + "ro red", + "ror ed", + "U GE", + "UG E", + "LO UD", + "Ġ Audit", + "ĠA udit", + "ĠAud it", + "ĠAu dit", + "ĠAudi t", + "ip ients", + "ipient s", + "ipi ents", + "op ian", + "opia n", + "opi an", + "ĠS ue", + "ĠSu e", + "Ġwur den", + "Ġwurde n", + ". Helpers", + ".H elpers", + ".Helper s", + ".Help ers", + "Ġf actions", + "Ġfact ions", + "Ġfa ctions", + "Ġfaction s", + "[ np", + "[n p", + "- than", + "-t han", + "-th an", + "Ġre co", + "Ġr eco", + "Ġrec o", + "Ġ kas", + "Ġk as", + "Ġka s", + "Ġ cmds", + "Ġcmd s", + "Ġcm ds", + "/ network", + "/n etwork", + "/net work", + "x bf", + "xb f", + "get Color", + "getC olor", + "Ġ biased", + "Ġbi ased", + "Ġbias ed", + "ĠL ak", + "ĠLa k", + "D atas", + "Data s", + "Da tas", + "Dat as", + "v ents", + "ve nts", + "vent s", + "ven ts", + "Ġ ë²", + "Ġë ²", + "_ PS", + "_P S", + ". Validate", + ".Valid ate", + "Inv oker", + "Invoke r", + "Ġne uen", + "Ġneu en", + "Ġneue n", + "Ġju venile", + "Ġjuven ile", + "V ISION", + "VI SION", + "VIS ION", + "Ġde vote", + "Ġdev ote", + "Ġ linha", + "Ġl inha", + "Ġlin ha", + "Ġlinh a", + "Ġdiscount ed", + "Ġdisco unted", + "\\ Config", + "Ġworth while", + "Ġskin ny", + "Ġ Courses", + "ĠC ourses", + "ĠCo urses", + "ĠCour ses", + "ĠCourse s", + "le ys", + "ley s", + "ĠMort gage", + "K evin", + "Ke vin", + "Ġann ounces", + "Ġannounc es", + "Ġannounce s", + "] )*", + "]) *", + "res ervation", + "Ġ æķ°", + "Ġæķ °", + "Ġprejud ice", + "ĠString Comparison", + "Ġbe ard", + "Ġbear d", + "- win", + "-w in", + "ĠS ão", + "ĉ ms", + "ĉm s", + "j al", + "ja l", + "Ġ Earn", + "ĠE arn", + "ĠEar n", + "ĠEa rn", + "_ ports", + "_p orts", + "_port s", + "_po rts", + "_por ts", + "Ġ Nombre", + "ĠN ombre", + "ĠNom bre", + "_ COR", + "_C OR", + "_CO R", + "Ġ BUILD", + "ĠB UILD", + "ĠBU ILD", + ". sound", + ".s ound", + ".so und", + "Y ellow", + "Ġlineback er", + "Ġchar itable", + "Ġcha ritable", + "j ug", + "ju g", + "_NON NULL", + "ĠD ental", + "ĠDen tal", + "ĠDent al", + "\" >${", + "\"> ${", + "\">$ {", + "ĉ match", + "ĉm atch", + "ĉmat ch", + "R ussian", + "Russia n", + "Russ ian", + "Rus sian", + "Ġver sch", + "Ġvers ch", + "Ġp inned", + "Ġpin ned", + "Ġadopt ing", + "Options Menu", + "P ag", + "Pa g", + "Ġpair ing", + "Ġpa iring", + "Ġpai ring", + "Ġt read", + "Ġtr ead", + "Ġtre ad", + "erc ises", + "ercise s", + "Ġ Spread", + "ĠS pread", + "ĠSp read", + "ĠSpr ead", + ") i", + "Ġ BAD", + "ĠB AD", + "ĠBA D", + "_ tf", + "_t f", + "UI ImageView", + "UIImage View", + "pop ulate", + "b ab", + "ba b", + "Ġ Ïĥ", + "ĠÏ ĥ", + "[ ++", + "Ġopi oid", + "Ġ ##Ċ", + "Ġ# #Ċ", + "Ġ## Ċ", + "d type", + "dt ype", + "ĠSt arts", + "ĠStart s", + "ĠStar ts", + "ĠSta rts", + "(' /')", + "('/ ')", + "Ġperson als", + "Ġpersonal s", + "Ġpersona ls", + "- market", + "-m arket", + "-mark et", + "-mar ket", + "Ġredund ant", + "ĠEss ential", + "Ġsc rapy", + "Ġscr apy", + "Ġscrap y", + "Ġ им", + "Ġи м", + "a cl", + "ac l", + "Ġ crear", + "Ġc rear", + "Ġcr ear", + "Ġcre ar", + "Ġcrea r", + "ĠB end", + "ĠBe nd", + "ĠBen d", + "Ġrel ieve", + "Ġreli eve", + "Ġrelie ve", + "- room", + "-r oom", + "-ro om", + "w ife", + "wi fe", + "Ġv Ãł", + "ĠQ Point", + "Ġqu asi", + "Ġqua si", + "Ġ methodName", + "Ġmethod Name", + "\\ xc", + "\\x c", + "ĠP eru", + "ĠPer u", + "ĠPe ru", + "/ The", + "/T he", + ". orm", + ".o rm", + ".or m", + "Ġ viz", + "Ġv iz", + "Ġvi z", + "/ pdf", + "/p df", + "Loc ated", + "Ġconfront ation", + "ĠChampionship s", + "ĠChampions hips", + "ĠChampion ships", + "Ġhy pert", + "Ġhyp ert", + "Ġhyper t", + "Ġhype rt", + "Ġ dj", + "Ġd j", + "Ġ UserInfo", + "ĠUser Info", + "Ġ åĪĽå»º", + "ĠåĪ Ľå»º", + "\\ xb", + "\\x b", + "( sim", + "(s im", + "(si m", + "Ġ ==Ċ", + "Ġ= =Ċ", + "Ġ== Ċ", + "Ġst aging", + "Ġsta ging", + "Ġstag ing", + "Ġdr astically", + "Ġdrastic ally", + "åŃ ¦", + "l ords", + "lor ds", + "lord s", + ". less", + ".l ess", + ".le ss", + "вед иÑĤе", + "Ġ Bucket", + "ĠB ucket", + "ĠBuck et", + "ĠBu cket", + "ĠM am", + "ĠMa m", + ". term", + ".t erm", + ".te rm", + "_ pi", + "_p i", + "c zy", + "cz y", + ". pub", + ".p ub", + "p recio", + "pre cio", + "prec io", + "preci o", + "ĠV irt", + "ĠVir t", + "ĠVi rt", + "Ġ roman", + "Ġr oman", + "Ġro man", + "Ġrom an", + "Ġroma n", + "i tat", + "it at", + "ita t", + "L ex", + "Le x", + "_ infos", + "_in fos", + "_info s", + "_inf os", + "Ä °", + ". other", + ".o ther", + ".ot her", + "VE LO", + "VEL O", + "Ġ ponder", + "Ġp onder", + "Ġpo nder", + "Ġpon der", + "Ġpond er", + "Ġh anno", + "Ġhan no", + "Ġhann o", + "( Page", + "(P age", + "d oi", + "do i", + "Ġpol ite", + "Ġpo lite", + "Ġpolit e", + "Ġprogram mer", + "Ġprogramme r", + "Ġprogramm er", + "D ies", + "Die s", + "Di es", + "$ d", + "Ġre plication", + "Ġrep lication", + "Ġrepl ication", + "Ġreplic ation", + "Ġreplica tion", + "add Column", + "fr ican", + "frica n", + "Ġl eng", + "Ġle ng", + "Ġlen g", + "b eer", + "be er", + "bee r", + "o it", + "oi t", + "Ġw asting", + "Ġwas ting", + "Ġwast ing", + "y lim", + "yl im", + "me asure", + "N eg", + "Ne g", + "Ġpart ie", + "Ġpar tie", + "Ġparti e", + ". console", + ".con sole", + ".cons ole", + "ĠGu inea", + "ĠGui nea", + "T EL", + "TE L", + "_ fact", + "_f act", + "_fac t", + "_fa ct", + ". chunk", + ".ch unk", + "Ġl ent", + "Ġle nt", + "Ġlen t", + "Ġ aller", + "Ġa ller", + "Ġal ler", + "Ġall er", + "Ġalle r", + "Ġ à¤ķ", + "Ġठķ", + "_ idle", + "_id le", + "_i dle", + "Ġad missions", + "Ġadm issions", + "Ġadmission s", + "JSON Array", + "Ġv ibration", + "Ġvibr ation", + "Ġvib ration", + ". helpers", + ".h elpers", + ".helper s", + ".help ers", + "å¤ ĸ", + "Ġ hen", + "Ġh en", + "Ġhe n", + "j ohn", + "jo hn", + "Ġ ìĥĿ", + "Ġì ĥĿ", + "Ġìĥ Ŀ", + "Ġjud gement", + "Ġjudge ment", + "Ġg een", + "Ġge en", + "Ġgee n", + "t erra", + "ter ra", + "terr a", + "^ {", + "ĠI z", + "Ġc â", + "in stances", + "instance s", + "inst ances", + "instanc es", + "Ġthreat ens", + "Ġthreaten s", + "Ġm üssen", + "Kind OfClass", + "Ġstoryt elling", + "_ demo", + "_d emo", + "_de mo", + "_dem o", + "r ias", + "ri as", + "ria s", + "Priv acy", + "h ift", + "hi ft", + "ĠY i", + "es or", + "eso r", + "íķ ł", + "ens itivity", + ". Writer", + ".W riter", + ".Write r", + "ภĤ", + "D istrict", + "Di strict", + ".get JSONObject", + "Im pro", + "Imp ro", + "(get Resources", + "Ġ SPELL", + "ĠS PELL", + "ĠSP ELL", + "ĠSPE LL", + "ro duce", + "rodu ce", + "rod uce", + "Ġsl owed", + "Ġslow ed", + "Ġslo wed", + "Ġ linewidth", + "Ġline width", + "Ġlin ewidth", + "Ġhon esty", + "Ġhonest y", + "Ġho nesty", + "Ġhone sty", + "Ġ Coord", + "ĠC oord", + "ĠCo ord", + "ĠF ork", + "ĠFor k", + "ĠFo rk", + "ĠDispatch Queue", + "ĠCl iff", + "ĠCli ff", + "ĠW iring", + "ĠWi ring", + "ĠWir ing", + "_TIM ESTAMP", + "ol lah", + "oll ah", + "olla h", + "a void", + "av oid", + "avo id", + "++ ];Ċ", + "++] ;Ċ", + "sem antic", + "- css", + "-c ss", + "Ġv eto", + "Ġve to", + "Ġvet o", + "ĠM err", + "ĠMe rr", + "ĠMer r", + "Ġlegisl ators", + "C EEDED", + "CEE DED", + "CEED ED", + "Ġquestion naire", + "ĠP ills", + "ĠPill s", + "ĠPil ls", + "C alculate", + "Cal culate", + "Calc ulate", + "Calcul ate", + "( core", + "(c ore", + "(co re", + "(cor e", + "' e", + "Ġdis like", + "Ġ Preferences", + "ĠP references", + "ĠPre ferences", + "ĠPreference s", + "ĠPrefer ences", + "_ EXTERNAL", + "_EX TERNAL", + "_EXTERN AL", + "è° ĥ", + "Ġd odge", + "Ġdo dge", + "Ġdod ge", + "æľį åĬ¡", + ". names", + ".n ames", + ".name s", + ".draw Image", + "_ prom", + "_p rom", + "_pro m", + "_pr om", + "uck land", + "Ġ<$ >", + "ı z", + "/ site", + "/s ite", + "é¡ ¹", + "r ophe", + "ro phe", + "rop he", + "roph e", + "Ġcomp elled", + "Ġcompel led", + "Ġl aptops", + "Ġlaptop s", + "Ġ uni", + "Ġu ni", + "Ġun i", + "C LOSE", + "CL OSE", + "Ġcasual ties", + "Ġ Uniform", + "ĠUn iform", + "ĠUni form", + "Term inal", + ". \",\"", + ".\" ,\"", + ".\", \"", + "D AT", + "DA T", + "( TreeNode", + "(T reeNode", + "(Tree Node", + "ĠGand hi", + "( stmt", + "(st mt", + "A XB", + "AX B", + "* M", + "Ġumb rella", + "an imal", + "ani mal", + "anim al", + "Ġ grpc", + "Ġg rpc", + "Ġgr pc", + "Ġgrp c", + "Ġwhere by", + "Ġfloat s", + "Ġflo ats", + "ĉ arg", + "ĉa rg", + "ĉar g", + "Ġ dbg", + "Ġd bg", + "Ġdb g", + "Ġexceed ing", + "Ġexce eding", + "Event Type", + ".SaveChanges Async", + "Ġ {{{", + "Ġ{ {{", + "Ġ{{ {", + "Ġ owed", + "Ġo wed", + "Ġow ed", + "Ġowe d", + "ahren heit", + "Ġ ì§", + "Ġì §", + "Ġequ ipo", + "Ġequip o", + "u rai", + "ur ai", + "ura i", + "Ġi dol", + "Ġid ol", + "] \")Ċ", + "]\" )Ċ", + "]\") Ċ", + "_ major", + "_m ajor", + "Ġentire ty", + "inger print", + "ç os", + "ço s", + "/ account", + "/a ccount", + "/ac count", + "ĉ right", + "ĉr ight", + "urs os", + "ĠE DT", + "ĠED T", + "_ INSERT", + "_INS ERT", + "Ġsh ining", + "Ġshin ing", + "Ġ< :", + "Edge Insets", + "Ġcolon ies", + ". IM", + ".I M", + "ĉ Ġĉ", + "ĉĠ ĉ", + "R OAD", + "RO AD", + "C CCC", + "CC CC", + "CCC C", + "pl acing", + "pla cing", + "Ġget Activity", + "em acs", + "ema cs", + "' %(", + "'% (", + ". clicked", + ".cl icked", + ".click ed", + "Ġ Them", + "ĠT hem", + "ĠThe m", + "ĠTh em", + "is ia", + "isi a", + "Bus car", + "Bu scar", + ". rename", + ".re name", + ".r ename", + "Ġo ath", + "Ġoat h", + "Ġoa th", + "Ġafter ward", + "ĠU FO", + "ĠUF O", + "A PS", + "AP S", + "ĠJackson ville", + ". some", + ".s ome", + ".so me", + "Conf irmed", + "Confirm ed", + ". scan", + ".s can", + ".sc an", + "ig Integer", + "Decor ator", + "sh ield", + "shi eld", + "ress ive", + ". did", + ".d id", + ".di d", + "请 è¾ĵåħ¥", + "Ġsh utter", + "Ġshut ter", + "D am", + "Da m", + "Ġpar enting", + "Ġparent ing", + "Ġparen ting", + "ey ed", + "eye d", + "$ item", + "$i tem", + "- develop", + "-de velop", + "-dev elop", + "-devel op", + "Ġex tracts", + "Ġextra cts", + "Ġextract s", + "Ġextr acts", + "Ġdecentral ized", + "ĠE lsa", + "ĠEl sa", + "_ spin", + "_s pin", + "_sp in", + "_spi n", + "] )+", + "]) +", + "- initial", + "-in itial", + "-init ial", + "Ġmult itude", + "Ġmultit ude", + "Ġsens ory", + "Ġsensor y", + "Ġ MODEL", + "ĠMO DEL", + "ĠMOD EL", + "ĠMODE L", + "Ġsaf eguard", + "Ġsafe guard", + "Ġsafeg uard", + "ì ¹", + "Ġhun ters", + "Ġhunt ers", + "Ġhunter s", + "Ġ Tiny", + "ĠT iny", + "ĠTi ny", + "ĠTin y", + "I NO", + "IN O", + "dec orate", + "decor ate", + "Ġ NoSuch", + "ĠNo Such", + "H o", + "( Response", + "Ġr uler", + "Ġrule r", + "Ġru ler", + "ĉ short", + "ĉs hort", + "ĉsh ort", + "Ġ caster", + "Ġc aster", + "Ġca ster", + "Ġcas ter", + "Ġcast er", + "Ġcaste r", + "Ġ clientId", + "Ġclient Id", + "Ġ pdb", + "Ġp db", + "Ġpd b", + "ëı Ħ", + "i tic", + "it ic", + "iti c", + "Ġ GameState", + "ĠGame State", + "Ġnew Item", + ") ĊĊĊĊĊĊ", + ")Ċ ĊĊĊĊĊ", + ")ĊĊ ĊĊĊĊ", + ")ĊĊĊ ĊĊĊ", + ")ĊĊĊĊ ĊĊ", + ")ĊĊĊĊĊ Ċ", + "o uis", + "ou is", + "oui s", + "n oc", + "no c", + ". BLACK", + ".BL ACK", + "_ VECTOR", + "_V ECTOR", + "_VEC TOR", + "_VE CTOR", + "---------- ();", + ">( );", + ">() ;", + ".get P", + "an ye", + "any e", + "Ġne uron", + "Ġneuro n", + "Ġneu ron", + "Ġneur on", + "i fold", + "if old", + "ifo ld", + "Ġ Known", + "ĠK nown", + "ĠKn own", + "ĠKnow n", + "Bit coin", + "Any way", + "ay ette", + "aye tte", + "ayet te", + "Ġ' ['", + "Ġ'[ '", + "Ãł nh", + "Ãłn h", + "m gr", + "mg r", + "Ġcor related", + "Ġcorre lated", + "Ġcorrel ated", + "Ġcorrelate d", + "Ġn ause", + "Ġna use", + "Ġnau se", + "Ġmental ity", + "Ġment ality", + "has Many", + "Ġ FG", + "ĠF G", + "am pie", + "amp ie", + "I TU", + "IT U", + "F s", + ". Sp", + ".S p", + "_ between", + "_b etween", + "_bet ween", + "Dep endencies", + "o ug", + "ou g", + "Place holder", + "= text", + "=t ext", + "Ġ Managing", + "ĠMan aging", + "ĠMana ging", + "ocal ypse", + "åĮ Ĺ", + "_ mag", + "_m ag", + "_ma g", + "f ld", + "fl d", + "â ij", + "C AM", + "CA M", + "Ġ Helpers", + "ĠH elpers", + "ĠHelp ers", + "ĠHelper s", + "ĠHel pers", + "Ġd ost", + "Ġdo st", + "Ġdos t", + "/ out", + "/o ut", + "Ġassass ination", + "Ġassassin ation", + ". getImage", + ".get Image", + "ĠK enny", + "ĠKen ny", + "ĠKenn y", + ". ')ĊĊ", + ".' )ĊĊ", + ".')Ċ Ċ", + ".') ĊĊ", + ") {//", + "){ //", + "ĠR anger", + "ĠRange r", + "ĠRa nger", + "ĠRan ger", + "Ġg ek", + "Ġge k", + "Ġsince re", + "Ġsinc ere", + "Ġsincer e", + "< Value", + "čĊ", + "/> čĊ", + ".get Resources", + ".getResource s", + "Ġl ump", + "Ġlu mp", + "Ġlum p", + "_ consts", + "_con sts", + "_const s", + "_cons ts", + "( ext", + "(e xt", + "(ex t", + "ĉ dir", + "ĉd ir", + "â Ŀ", + "Ġpadding Top", + "Ġob session", + "Ġobs ession", + "Ġobsess ion", + "Ġb anning", + "Ġban ning", + "ĠApp Module", + "Ġp artisan", + "Ġpart isan", + "Ġparti san", + "Ġcatalog ue", + "Ġcata logue", + "Ġcatal ogue", + "Ġmin ors", + "Ġminor s", + "Ġp itches", + "Ġpitch es", + "Ġpit ches", + "we ep", + "Ġunder take", + "Ġundert ake", + "Ġth emed", + "Ġthe med", + "Ġthem ed", + "Ġtheme d", + "a udit", + "au dit", + "aud it", + "audi t", + ". scrollTop", + ".scroll Top", + ".scrollTo p", + "Ġ rer", + "Ġre r", + "Ġr er", + "Ġsym ptom", + "Ġsympt om", + "Ġsymp tom", + "Ġopen ings", + "Ġopening s", + ". blocks", + ".b locks", + ".bl ocks", + ".block s", + "open id", + "ope nid", + "Ġa ssh", + "Ġas sh", + "Ġass h", + "- save", + "-s ave", + "ĠP ig", + "ĠPi g", + "Ġre gain", + "Ġreg ain", + "Ġin icial", + "Ġini cial", + "Ġinici al", + "/ favicon", + "/f avicon", + "ĉ exp", + "ĉe xp", + "ĉex p", + "Ġsp ices", + "Ġspi ces", + "Ġspice s", + "i ska", + "is ka", + "isk a", + "cl aims", + "claim s", + "cla ims", + "m ak", + "ma k", + "definition s", + "Ġcorrespond ent", + "ĠCann abis", + "_ _,Ċ", + "__ ,Ċ", + "__, Ċ", + "ĠL ucky", + "ĠLuc ky", + "ĠLu cky", + "ĠLuck y", + "ĠG aussian", + "ĠGa ussian", + "ĠGauss ian", + "Ġ Nearly", + "ĠN early", + "ĠNear ly", + "C AD", + "CA D", + "' ]]Ċ", + "'] ]Ċ", + "']] Ċ", + "Ġadequate ly", + "Ġadequ ately", + "Ġ TITLE", + "ĠT ITLE", + "constitution al", + "- mm", + "-m m", + "_ override", + "_over ride", + "Ġ blas", + "Ġb las", + "Ġbl as", + "Ġbla s", + ".ready State", + "Ġrem inis", + "Ġremin is", + "Ġrein forced", + "Ġreinforce d", + "ĠColl abor", + "Ġdecor ating", + "Ġdeco rating", + "Ġb achelor", + "Ġbach elor", + "ERRU PT", + "Ġup right", + "ip ation", + "ipa tion", + "ĠN oble", + "ĠNo ble", + "ĠNob le", + "Ġvalue ForKey", + "Ġset Loading", + ". Ignore", + ".I gnore", + "å ģ", + "G lobals", + "Global s", + "ĠM ent", + "ĠMe nt", + "ĠMen t", + "AS SES", + "ASS ES", + "Ġlim bs", + "Ġlimb s", + "Ġ HUD", + "ĠH UD", + "in ci", + "inc i", + ". iv", + ".i v", + "ĠQ ModelIndex", + "F use", + "Fu se", + "Ġpe dal", + "Ġped al", + "_F REQ", + "_FR EQ", + "_FRE Q", + "( verbose", + "(ver bose", + "Ġlong itud", + "ĠCh arter", + "ĠChar ter", + "ĠChart er", + "ê ·¸", + "ê· ¸", + "Ġ bundles", + "Ġb undles", + "Ġbund les", + "Ġbundle s", + ". ignore", + ".i gnore", + "um bo", + "umb o", + "E MA", + "EM A", + ". ......", + ".. .....", + "... ....", + ".... ...", + "..... ..", + "...... .", + "s x", + ". Card", + ".C ard", + ".Car d", + "Ġhe ute", + "Ġst eer", + "Ġste er", + "j umlah", + "Ġ {_", + "Ġ{ _", + "_ Checked", + "_Check ed", + "Ġ fax", + "Ġf ax", + "Ġfa x", + "ĠG ust", + "ĠGu st", + "ĠGus t", + "itch ens", + "itchen s", + "Ġ ))ĊĊ", + "Ġ) )ĊĊ", + "Ġ)) ĊĊ", + "Ġ))Ċ Ċ", + "Ġremark ably", + "/ XML", + "/X ML", + "- remove", + "-re move", + "_ bt", + "_b t", + "Ġinc ub", + ". package", + ".p ackage", + ".pack age", + ".current Thread", + "ĠHigh lander", + "ĠHighland er", + ". side", + ".s ide", + ".sid e", + ".si de", + "s plash", + "sp lash", + "spl ash", + "Ġ ici", + "Ġi ci", + "Ġic i", + "= D", + "Ġp uck", + "Ġpu ck", + "Ġball ots", + "Ġbal lots", + "Ġballot s", + "Ġballo ts", + "Ġhuge ly", + "Ġhug ely", + "c oeff", + "co eff", + "coef f", + "coe ff", + "Ġ pData", + "Ġp Data", + ". COLUMN", + ".C OLUMN", + "ĠHe aling", + "ĠHeal ing", + "Ġ ordin", + "Ġor din", + "Ġord in", + "! ),", + "!) ,", + "Ġ' ',čĊ", + "Ġ'' ,čĊ", + "Ġ'', čĊ", + "( md", + "(m d", + "ĠS ask", + "ĠSa sk", + "ĠSas k", + "< strong", + "Ġsurv ivor", + "Ġsurviv or", + ". series", + ".s eries", + ".se ries", + ".ser ies", + "Ġcaffe ine", + "Ġ `(", + "Ġ` (", + ".TRA ILING", + "_ Input", + "_In put", + "( \"^", + "(\" ^", + "z d", + "& );Ċ", + "&) ;Ċ", + "Ġ Ping", + "ĠP ing", + "ĠPin g", + "ĠPi ng", + "Ġ voucher", + "Ġv oucher", + "Ġvo ucher", + "Ġvou cher", + ". rating", + ".r ating", + ".ra ting", + "-sh irts", + "-shirt s", + "ĠRetrie ves", + "ĠRetrieve s", + ".al ibaba", + "Or acle", + "_ MOV", + "_M OV", + "_MO V", + "Old Data", + "Ġ /*čĊ", + "Ġ/ *čĊ", + "Ġ/* čĊ", + "Ġ gboolean", + "Ġg boolean", + "Ġ= >čĊ", + "Ġ=> čĊ", + "Ġ rá", + "Ġr á", + "Ġbl unt", + "ĠImage Icon", + "i fik", + "if ik", + "ifi k", + "R TC", + "RT C", + "Ġfi bers", + "Ġfib ers", + "Ġfiber s", + "Ġto ile", + "Ġtoi le", + ". sent", + ".s ent", + ".se nt", + "ĠPy Qt", + "$ app", + "$a pp", + "Ġm edio", + "Ġme dio", + "Ġmed io", + "Ġmedi o", + "Ġgrant ing", + "Ġgran ting", + "Ġts lint", + "Ġtsl int", + "ĠM ö", + "(fig size", + "Ġhur ricane", + "Ġl ifes", + "Ġlife s", + "Ġlif es", + "Ġ ÃĦ", + "Ġà Ħ", + "rocess ing", + "_ standard", + "_st andard", + "_stand ard", + "- option", + "-o ption", + "-op tion", + "-opt ion", + "' )))", + "') ))", + "')) )", + "Ġvac ant", + "Ġva cant", + "å· ¥", + "ĠH ollow", + "ĠHol low", + "ĠHoll ow", + "handle Change", + "Ġ divider", + "Ġdi vider", + "Ġdiv ider", + "Ġdivide r", + "Ġdivid er", + "ĠEngine ers", + "ĠEngineer s", + "Ġs vens", + "Ġsv ens", + "Ġsve ns", + "Ġcom pliant", + "Ġcompl iant", + "t anggal", + "Ġ Credits", + "ĠC redits", + "ĠCredit s", + "ĠEm irates", + "Rule Context", + "Ġreal ization", + "Ġrealiz ation", + "Ġrealiza tion", + "Ġdis tracted", + "Ġdistr acted", + "Ġdistract ed", + "] +=", + "]+ =", + "Ġau gment", + "Ġaug ment", + "ĠD w", + "o tp", + "ot p", + "or rent", + "orr ent", + "orre nt", + "Ed itar", + "Edit ar", + ". stock", + ".st ock", + "St udy", + "p ections", + "pe ctions", + "pect ions", + "pection s", + "Ġ GameManager", + "ĠGame Manager", + "= cut", + "=c ut", + "Ġf lock", + "Ġfl ock", + "Ġflo ck", + "ĠRom ans", + "ĠRo mans", + "ĠRoman s", + "ĠRoma ns", + "t hem", + "th em", + "the m", + "- hop", + "-h op", + "Ġscreen shots", + "Ġscreens hots", + "Ġscreenshot s", + "Ġ /*!Ċ", + "Ġ/* !Ċ", + "Ġ/*! Ċ", + "Ġcon versions", + "Ġconv ersions", + "Ġconvers ions", + "Ġconversion s", + "Ġnormal ization", + "( configuration", + "(config uration", + "Ġa eros", + "Ġaer os", + "Ġae ros", + "_ security", + "_s ecurity", + "_se curity", + "_sec urity", + "! 'Ċ", + "!' Ċ", + "B onus", + "Bon us", + "ĠDR IVER", + "ĠDRIVE R", + "ĉ Date", + "ĉD ate", + "t ie", + "ti e", + "ĠWy oming", + "St and", + "Stan d", + "i tre", + "it re", + "itr e", + "Ġsh oppers", + "Ġshop pers", + "Ġsho ppers", + "Ġshopper s", + "Ġdisadv antage", + "Ġl iking", + "Ġli king", + "Ġlik ing", + "ç¬ ij", + "Ġunderstand able", + "S EE", + "SE E", + "Ġh oy", + "Ġho y", + "Ġnine te", + "Ġni nete", + "Ġnin ete", + "Ġcon fer", + "Ġconf er", + "Ġ nowrap", + "Ġno wrap", + "Ġnow rap", + "ĠV ern", + "ĠVer n", + "ĠVe rn", + ", čĊčĊ", + ",čĊ čĊ", + "ime step", + "imes tep", + "imest ep", + "Layout Manager", + "à ·", + "ĉ wait", + "ĉw ait", + "P LETED", + "PLE TED", + "J apan", + "Ja pan", + "Ġin duce", + "Ġind uce", + "Ġindu ce", + "Ġ å¯", + "Ġå ¯", + "о зв", + "оз в", + "_END POINT", + ". horizontal", + ".h orizontal", + "Ġacceler ated", + "Ġaccelerate d", + "r imon", + "ri mon", + "rim on", + "I VES", + "IV ES", + "IVE S", + "Trans actions", + "Transaction s", + "L ean", + "Le an", + "ĠS OUR", + "ĠSO UR", + "wh ether", + "y g", + "Ġ oid", + "Ġo id", + "Ġoi d", + "Ġ EntityManager", + "ĠEntity Manager", + "OUN TRY", + "OUNT RY", + "Ġ fila", + "Ġf ila", + "Ġfil a", + "Ġfi la", + "OLUM NS", + "OLUMN S", + "IN UE", + "INU E", + "Ġ Anchor", + "ĠAn chor", + "ĠAnc hor", + "ĠAnch or", + "TR AN", + "TRA N", + "w oo", + "wo o", + "block quote", + "ĠN urse", + "ĠNurs e", + "ĠNur se", + "ĠC arp", + "ĠCar p", + "ĠCa rp", + "Ġrede em", + ". try", + ".t ry", + ".tr y", + "Ġ JP", + "ĠJ P", + "Ġ timestamps", + "Ġtimestamp s", + "Ġ?> \"><", + "Ġ?>\" ><", + "Ġ?>\"> <", + "Ġ REMOVE", + "ĠRE MOVE", + "ĠREM OVE", + "ĠStar bucks", + "Re ally", + "Real ly", + "Ġflo oded", + "Ġflood ed", + ". Callback", + ".C allback", + ".Call back", + "Drop Down", + "i pro", + "ip ro", + "Ġt ended", + "Ġten ded", + "Ġtend ed", + "l te", + "lt e", + "Ġproportion s", + "Ġproport ions", + "- te", + "-t e", + "ĠR ena", + "ĠRe na", + "ĠRen a", + "l icate", + "lic ate", + "li cate", + "lica te", + "for ces", + "force s", + "forc es", + ". extra", + ".ex tra", + ".ext ra", + ". authenticate", + ".auth enticate", + "в од", + "во д", + "¡ °", + "Ġfor ControlEvents", + "Ġ senha", + "Ġs enha", + "Ġsen ha", + "Ġk ein", + "Ġke in", + "Ġmin ist", + "Ġmi nist", + "Ġmini st", + "Ġ Preference", + "ĠP reference", + "ĠPre ference", + "ĠPref erence", + "ĠPrefer ence", + "ĠTele graph", + "Ñĥ п", + "str pos", + "Ġillness es", + "Ġp igs", + "Ġpi gs", + "Ġpig s", + "Ġget Intent", + "ĠgetInt ent", + "S ol", + "So l", + "Ġ ¡", + "Ġ ¡", + "( cpu", + "(c pu", + "(cp u", + "[ prop", + "[p rop", + "s creens", + "screen s", + "') ;?>", + "'); ?>", + "Ġ Acts", + "ĠA cts", + "ĠAct s", + "ĠAc ts", + "Ġstr dup", + "Ġa verages", + "Ġaverage s", + "Ġaver ages", + "a nal", + "an al", + "ana l", + "ĠCas ual", + "Group Box", + "ĠHand book", + "/ comments", + "/com ments", + "/comment s", + "Ġnumber ed", + "Ġnumb ered", + "Ġbroad casting", + "Ġbroadcast ing", + "çĽ ij", + ".native Element", + ". mu", + ".m u", + "Ġ updatedAt", + "Ġupdated At", + "ĠDoes n", + "ĠDoe sn", + ". AC", + ".A C", + ". coll", + ".c oll", + ".co ll", + ".col l", + "Ġrec order", + "Ġrecord er", + "_ sha", + "_s ha", + "_sh a", + "B g", + "b il", + "bi l", + "Ġbol ts", + "Ġbolt s", + "Ġ ç¬", + "Ġç ¬", + "Ġim posing", + "Ġimp osing", + "ĠInformation en", + "_ flashdata", + "_flash data", + "e conomic", + "ec onomic", + "R emark", + "Re mark", + "Rem ark", + "u cas", + "uc as", + "Ġ Officers", + "ĠOff icers", + "ĠOffice rs", + "ĠOfficer s", + "Ġ TER", + "ĠT ER", + "ĠTE R", + "W alk", + "Wal k", + "Wa lk", + "Ġmerc ado", + "_ generate", + "_g enerate", + "_gen erate", + "_gene rate", + "_gener ate", + "H Y", + "C alling", + "Call ing", + "Cal ling", + "s nap", + "sn ap", + "script Id", + ". operation", + ".op eration", + ".o peration", + ".oper ation", + "ĠFl ame", + "ĠFla me", + "ĠFlam e", + "l iness", + "li ness", + "line ss", + "lin ess", + "lines s", + "Ġr ented", + "Ġren ted", + "Ġrent ed", + "_ toggle", + "_t oggle", + "- changing", + "-ch anging", + "-chan ging", + "Ġ TY", + "ĠT Y", + "' util", + "'u til", + "E EP", + "EE P", + "Ġ graphql", + "Ġgraph ql", + "Ġ Uni", + "ĠU ni", + "ĠUn i", + "Ġim pulse", + "Ġimp ulse", + "Ġimpuls e", + ". Basic", + ".B asic", + "Ġenerg ies", + "Ġener gies", + "Ġenergie s", + "M ARY", + "MA RY", + "MAR Y", + "ĠMar cel", + "ĠMarc el", + "Ġm ortal", + "Ġmor tal", + "Ġmort al", + "Ġf res", + "Ġfr es", + "Ġfre s", + "m ens", + "me ns", + "men s", + "m otion", + "mo tion", + "mot ion", + "Ġs ampled", + "Ġsample d", + "Ġsam pled", + "Ġsamp led", + "âĢľ That", + "i day", + "id ay", + "ida y", + "qu ipment", + "quip ment", + "get Int", + "Ġ Absolute", + "ĠA bsolute", + "ĠAbs olute", + ", '\"", + ",' \"", + "u ned", + "un ed", + "une d", + ". share", + ".s hare", + ".sh are", + ".sha re", + "Ġ })(", + "Ġ} )(", + "Ġ}) (", + "m mm", + "mm m", + "ĠR ising", + "ĠRi sing", + "ĠRis ing", + "ä» »", + "Ġun employed", + "x fa", + "xf a", + ". follow", + ".f ollow", + "ĉ ĉĉĉĠĠĠĠĠĠ", + "ĉĉ ĉĉĠĠĠĠĠĠ", + "ĉĉĉĉ ĠĠĠĠĠĠ", + "ĉĉĉ ĉĠĠĠĠĠĠ", + "ĉĉĉĉĠ ĠĠĠĠĠ", + "ĉĉĉĉĠĠĠ ĠĠĠ", + "ĉĉĉĉĠĠ ĠĠĠĠ", + "ĉĉĉĉĠĠĠĠ ĠĠ", + "ĉĉĉĉĠĠĠĠĠ Ġ", + "s lt", + "sl t", + ". Phone", + ".P hone", + ".Ph one", + "Ġkn ives", + "Ġ eve", + "Ġe ve", + "Ġev e", + "on Click", + "] ))čĊ", + "]) )čĊ", + "])) čĊ", + "Ġ Witness", + "ĠW itness", + "ĠWit ness", + "ĉ NS", + "ĉN S", + "Ġ EOS", + "ĠE OS", + "ĠEO S", + "ĠSte fan", + "ĠStef an", + "ĠPr iest", + "ĠPri est", + "âĢĶ which", + "Get String", + ". By", + ".B y", + "Ġup stairs", + "Ġdetr iment", + "b roken", + "br oken", + "bro ken", + "em bro", + "emb ro", + "embr o", + "Ġnic otine", + "i lion", + "il ion", + "ili on", + "ilio n", + "Ġaston ishing", + "_ aff", + "_a ff", + "_af f", + "Ġ Lesson", + "ĠL esson", + "ĠLe sson", + "ĠLess on", + "ĠLes son", + "Ġacc idental", + "Ġaccident al", + "od or", + "odo r", + "Ġde cir", + "Ġdec ir", + "Ġnew Name", + "+ .", + "çĽ ¸", + "igs list", + "Ġ Github", + "ĠG ithub", + "ĠGit hub", + "Ġsuccess ive", + "Ġsuc cessive", + "r acial", + "ra cial", + "rac ial", + "raci al", + "Ġen viron", + "Ġenv iron", + "Ġenvi ron", + "éªĮ è¯ģ", + "Ġred irected", + "Ġredirect ed", + "T OTAL", + "TOT AL", + "Ġgrab bing", + "Ġgra bbing", + "ĠL ance", + "ĠLa nce", + "ĠLan ce", + "ĠLanc e", + "Ġfor fe", + "_ CB", + "_C B", + "å¾ ®", + "El apsed", + "_ way", + "_w ay", + "(Dialog Interface", + "_ measure", + "_me asure", + "_meas ure", + "x bb", + "xb b", + "D og", + "Do g", + "De part", + "Dep art", + "- src", + "-s rc", + "re solver", + "res olver", + "resolve r", + "with standing", + "_ shell", + "_s hell", + "_sh ell", + "Ġ LastName", + "ĠLast Name", + "ĠAv iation", + "Ġbeg inner", + "Ġbegin ner", + "(\" %.", + "(\"% .", + "( tool", + "(t ool", + "(to ol", + "Ġ нов", + "Ġн ов", + "Ġно в", + ": init", + ":i nit", + "( API", + "(A PI", + "(AP I", + "ĠMorris on", + "ĠMorr ison", + "vt Color", + "Ġsta ple", + "Ġstap le", + "/ INFO", + "Ġsuper natural", + "Ġsupern atural", + "Ġste ak", + "t imeline", + "time line", + "tim eline", + "zz le", + "\" `ĊĊ", + "\"`Ċ Ċ", + "\"` ĊĊ", + "Second ary", + "ĠNe pal", + "ĠNep al", + ". StringUtils", + ".String Utils", + "Ġ adam", + "Ġa dam", + "Ġad am", + "Ġada m", + "Ġ (...", + "Ġ( ...", + "Ġ(. ..", + "Ġsub stitution", + "Ġsubstit ution", + "Ġsubst itution", + "Ġ boarding", + "Ġbo arding", + "Ġboard ing", + "Ġ Keyword", + "ĠKey word", + "ĠAss ault", + "dbc Template", + "Ġ orderId", + "Ġorder Id", + "( engine", + "(e ngine", + ".assert That", + "ĠV enus", + "ĠVen us", + "Ġhom icide", + "Ġhomic ide", + "ĠA val", + "ĠAv al", + "ĠAva l", + "Ġg utter", + "Ġgut ter", + "Ġ Supported", + "ĠS upported", + "ĠSup ported", + "ĠSupport ed", + "/ part", + "/p art", + "Ġac claimed", + "Ġacclaim ed", + "H istor", + "Hi stor", + "His tor", + "Hist or", + "Ġm eses", + "Ġme ses", + "Ġmes es", + "ü ber", + "üb er", + "ĠRe new", + "ĠRen ew", + "ĠRene w", + "Ġg ras", + "Ġgr as", + "Ġgra s", + "Ġ Ek", + "ĠE k", + "Ġ infile", + "Ġin file", + "Ġinf ile", + "in dy", + "ind y", + ". music", + ".m usic", + ".mu sic", + ". Scroll", + ".S croll", + ".Sc roll", + "ĠA ges", + "ĠAg es", + "ĠAge s", + "ĠNar uto", + "ĠG ather", + "ĠGa ther", + "ĠGat her", + "Ġconfirm ing", + "= (\"", + "=( \"", + "Ġp itched", + "Ġpitch ed", + "Ġpit ched", + "o ley", + "ol ey", + "ole y", + "F rance", + "Fr ance", + "Fran ce", + "Fra nce", + "Franc e", + "+ '\"", + "+' \"", + "$ total", + "$t otal", + "Ġ onde", + "Ġo nde", + "Ġon de", + "Ġd itch", + "Ġdit ch", + "_ sigma", + "_s igma", + "_sig ma", + "Ġcontin uity", + "Ġcontinu ity", + "r eward", + "re ward", + "rew ard", + "- load", + "-l oad", + "-lo ad", + "Ġpro ceso", + "Ġproc eso", + "Ġproces o", + "L ocked", + "Loc ked", + "Lock ed", + "st aw", + "sta w", + "Ġsp inal", + "Ġspin al", + "Ġspi nal", + "l azy", + "la zy", + "laz y", + "! ==", + "!= =", + "j est", + "je st", + "jes t", + "Ġd un", + "Ġdu n", + "ĠRod gers", + "ĉ grid", + "ĉg rid", + "ĉgr id", + "Ġlo gos", + "Ġlog os", + "Ġlogo s", + "ĠBen gal", + "ĠBeng al", + ". super", + ".s uper", + ".sup er", + "Pro vides", + "Provid es", + "Provide s", + "Prov ides", + "Ġnut rient", + ". Timestamp", + ".T imestamp", + ".Time stamp", + "IZ ATION", + "åĨ Į", + "Ġf ats", + "Ġfa ts", + "Ġfat s", + "ĠX xx", + "c tica", + "ct ica", + "ctic a", + "Target s", + "Tar gets", + "Ġcont ours", + "Ġcontour s", + "Ġre ordered", + "Ġreorder ed", + ": Array", + ":A rray", + "Ġtoler ate", + "Ġtol erate", + "V ir", + "Vi r", + "Ġter ribly", + "Ġterr ibly", + "Ġb ricks", + "Ġbr icks", + "Ġbrick s", + "Ġbri cks", + "( &_", + "(& _", + "h b", + "P ortal", + "Port al", + "Por tal", + "ĠB read", + "ĠBr ead", + "ĠBre ad", + ". which", + ".wh ich", + "ÂŃ t", + "as InstanceOf", + "Ġj object", + "Ġjob ject", + "Ġjo bject", + "ĉ length", + "ĉl ength", + "ĉlen gth", + "_ MT", + "_M T", + "; \">čĊ", + ";\" >čĊ", + ";\"> čĊ", + "_ EXIST", + "_EX IST", + "Ġmat ernal", + "Ġma ternal", + "Ġmater nal", + "R EL", + "RE L", + "Ġê²½ ìļ°", + "h ee", + "he e", + "Ġ layouts", + "Ġlayout s", + "Ġlay outs", + "ĠL ap", + "ĠLa p", + "a isy", + "ai sy", + "ais y", + "Ġst umbled", + "Ġstumble d", + "ĠU IG", + "ĠUI G", + "ĠS co", + "ĠSc o", + "Ġim paired", + "Ġimp aired", + "Ġimpair ed", + "RES SED", + "RESS ED", + "Ġab uses", + "Ġabuse s", + "V F", + "A RB", + "AR B", + ". NAME", + ".N AME", + "r ch", + "rc h", + "pr imir", + "prim ir", + "pri mir", + "_ completed", + "_com pleted", + "_comp leted", + "_complete d", + "Ġp enny", + "Ġpen ny", + "Ġpenn y", + "Ch rome", + "Chr ome", + "( begin", + "(b egin", + "(be gin", + "er nen", + "ern en", + "erne n", + "- checkbox", + "-check box", + "Plain OldData", + "ĠL PC", + "ĠLP C", + "r ade", + "ra de", + "rad e", + "s pir", + "sp ir", + "spi r", + "Ġcon ceived", + "Ġconce ived", + "Ġconceive d", + "T ips", + "Tip s", + "Ti ps", + "ĠIo T", + "ĠG an", + "ĠGa n", + "èģ Ķ", + "Ġbi ases", + "Ġbias es", + "Ġconsult ants", + "Ġconsultant s", + "Ġconsulta nts", + "p led", + "pl ed", + "ple d", + "_ ht", + "_h t", + "associ ated", + "assoc iated", + "associate d", + "] ,ĊĊ", + "], ĊĊ", + "],Ċ Ċ", + "Ġdelight ful", + "ĠÑĤ ек", + "ĠÑĤе к", + "Hel vetica", + "( load", + "(l oad", + "(lo ad", + "- expand", + "-exp and", + "_W IDGET", + "t oa", + "to a", + "Ġ Akt", + "ĠA kt", + "ĠAk t", + "Ġo mn", + "Ġom n", + "Ġcl auses", + "Ġclause s", + "Ġcla uses", + "In tel", + "Int el", + "*/ }Ċ", + "_ registration", + "_reg istration", + "Ġold Value", + "Ġrest oring", + "Ġresto ring", + "Ġun real", + "Ġunre al", + "O VER", + "OVE R", + "OV ER", + "ĉĊ ĉĊĉĊ", + "ĉĊĉĊ ĉĊ", + "A TS", + "AT S", + "_ probe", + "_p robe", + "_pro be", + "_pr obe", + "_prob e", + "Ġdi visor", + "Ġdiv isor", + "Ġdivis or", + ".update Dynamic", + "å¹ ³", + "Produ ces", + "Prod uces", + "st amp", + "sta mp", + ".j boss", + "ĉ task", + "ĉt ask", + "! (:", + "!( :", + "Ġpsych ic", + "@ class", + "@c lass", + "M artin", + "Mar tin", + "Mart in", + "Ġ Passed", + "ĠP assed", + "ĠPass ed", + "ĠPas sed", + "clar ations", + "claration s", + "h el", + "he l", + "а Ñĩ", + "ĉ copy", + "ĉc opy", + "- bin", + "-b in", + "z an", + "za n", + "i gram", + "ig ram", + "igr am", + "া à¦", + "( sig", + "(s ig", + "(si g", + "ĠC aval", + "ĠCa val", + "ĠCav al", + "_ ##", + "Ġ %=", + "Ġ% =", + "out lined", + "outline d", + "ĠA cid", + "ĠAc id", + "Ġunpredict able", + "- dashboard", + "-d ashboard", + "Hex String", + "+ c", + ". Public", + ".P ublic", + "Ạ©", + "Ġcon veyor", + "Ġconvey or", + "Ġ EB", + "ĠE B", + "Ġselect s", + "Ġsel ects", + "Ġsele cts", + "Ġkn ocking", + "Ġknock ing", + "ĠC ec", + "ĠCe c", + "IB UTES", + "IBUT ES", + "IBUTE S", + "ow aÄĩ", + "owa Äĩ", + "g atsby", + "* v", + "ent ropy", + "entr opy", + "Ġdispatch ed", + "Ġdisp atched", + "Ġ camel", + "Ġc amel", + "Ġca mel", + "Ġcame l", + "Ġcam el", + "ĠSat urn", + "ĠSa turn", + "Ġover weight", + "( phone", + "(p hone", + "(ph one", + "par able", + "para ble", + "% B", + "_v ectors", + "_vector s", + "_vec tors", + "_vect ors", + "_ve ctors", + "Ġbr ewing", + "Ġbre wing", + "Ġbrew ing", + "Ġ Tk", + "ĠT k", + "Ġ Downloads", + "ĠDown loads", + "ĠDownload s", + "Ġ Saved", + "ĠS aved", + "ĠSave d", + "ĠSa ved", + "ĠSav ed", + ". Price", + ".P rice", + ".Pr ice", + "Ġc urved", + "Ġcur ved", + "Ġcurve d", + "ĠParent hood", + "ĠParen thood", + "è ¶", + ".p nl", + "plete ly", + "plet ely", + ". Day", + ".D ay", + "Ġadvert isers", + "Ġadvertis ers", + "Ġadvertise rs", + "Ġadvertiser s", + "Ġe jec", + "Ġej ec", + "Ġpr zed", + "Ġprz ed", + "Ġprze d", + "ë ¯", + "! ';Ċ", + "!' ;Ċ", + "ĠK ush", + "ĠKu sh", + "Ġ TAB", + "ĠT AB", + "ĠTA B", + "Ġ quests", + "Ġqu ests", + "Ġque sts", + "Ġquest s", + "Ġques ts", + "Ġcoinc idence", + "Ġcoincide nce", + "umm ies", + "ĠKash mir", + "ĠEth ics", + "ĠEthi cs", + "_ growth", + "_g rowth", + "Ġ aktiv", + "Ġak tiv", + "Ġakt iv", + "Ġgroup ing", + "Ġgrou ping", + "å¢ ŀ", + "_ truth", + "_tr uth", + "åIJ ¬", + "t odos", + "to dos", + "todo s", + "tod os", + "i set", + "is et", + "ise t", + "Tex Coord", + "ä tt", + "ät t", + "ĠZ ur", + "ĠZu r", + "ro ys", + "roy s", + "_M AGIC", + "_MAG IC", + "Ġbrew ery", + "( State", + "ĠSM ALL", + "ĠSMA LL", + "ĠPl ants", + "ĠPlan ts", + "ĠPlant s", + "ĠPla nts", + "it bart", + "e acher", + "each er", + "ea cher", + "ĠAd elaide", + "L u", + "Ġf ick", + "Ġfi ck", + "Ġfic k", + "und les", + "undle s", + "_ loaded", + "_lo aded", + "_load ed", + "и е", + "P oll", + "Pol l", + "Po ll", + "r itic", + "ri tic", + "rit ic", + "E LY", + "EL Y", + "Ġ +'", + "Ġ+ '", + "ĠProf ession", + "Ġst amps", + "Ġstamp s", + "Ġsta mps", + "ĠS ew", + "ĠSe w", + "s crollView", + "scroll View", + "Ġcomm unist", + "Ġcommun ist", + "/ problems", + "/pro blems", + "/problem s", + "} čĊčĊčĊčĊ", + "}čĊ čĊčĊčĊ", + "}čĊčĊ čĊčĊ", + "}čĊčĊčĊ čĊ", + ", o", + "Ġ udp", + "Ġu dp", + "Ġud p", + "Ġob ese", + "Ġobe se", + "ap prove", + "app rove", + "appro ve", + "anc ellation", + "ancel lation", + "ancell ation", + "_ Game", + "_G ame", + "Ġ Hashtable", + "ĠHash table", + "ĠHas htable", + "adaptive Styles", + "Ġposs esses", + "Ġpossess es", + ". matcher", + ".m atcher", + ".match er", + ".mat cher", + "function al", + "M rs", + "Mr s", + "ĉ save", + "ĉs ave", + "Ġ DbType", + "ĠDb Type", + "Ġ ken", + "Ġk en", + "Ġke n", + "get Context", + "Ġ mans", + "Ġm ans", + "Ġman s", + "Ġma ns", + "( rel", + "(r el", + "(re l", + "ĠBrother hood", + ") `Ċ", + ")` Ċ", + "è§ £", + ". Information", + ".In formation", + "OutOfRange Exception", + "ĠS ek", + "ĠSe k", + "C as", + "Ca s", + "Ġblog gers", + "Ġblogger s", + "E ither", + "( \"\"\"", + "(\" \"\"", + "(\"\" \"", + "Ġp inch", + "Ġpin ch", + "Ġco arse", + ") p", + "ĠP ulse", + "ĠPu lse", + "ĠPul se", + "Ġlearn t", + "Ġlear nt", + "Ġdent ist", + "Ġon change", + "Ġdirect ives", + "Ġdirective s", + "( actions", + "(a ctions", + "(action s", + "(act ions", + "ny der", + "ĠS hir", + "ĠSh ir", + "ĠShi r", + "T rait", + "Tr ait", + "Tra it", + "_ dep", + "_d ep", + "_de p", + "Ġ PET", + "ĠP ET", + "ĠPE T", + "Ġ REP", + "ĠR EP", + "ĠRE P", + ".App Settings", + "cu ador", + "ide nav", + "iden av", + "Ġen vi", + "Ġenv i", + "Ġsl ammed", + "Ġslam med", + "Ġ Shoot", + "ĠS hoot", + "ĠSh oot", + "ĠSho ot", + "Ġ dateFormat", + "Ġdate Format", + ".j oda", + "ve ys", + "vey s", + "Ġ ).ĊĊ", + "Ġ) .ĊĊ", + "Ġ). ĊĊ", + "Ġ).Ċ Ċ", + "Ġcar eg", + "Ġca reg", + "Ġcare g", + "Ġ Parallel", + "ĠPar allel", + "_ translation", + "_trans lation", + ". functions", + ".function s", + ".fun ctions", + ". obs", + ".o bs", + ".ob s", + "Runtime Exception", + "[ ]=", + "[] =", + "ov erview", + "over view", + "ĠS chl", + "ĠSc hl", + "ĠSch l", + "Ġno isy", + "Ġnoi sy", + "ĠOn PropertyChanged", + "S ending", + "Send ing", + "Sen ding", + "Ġunf amiliar", + "U pon", + "Up on", + "ĠPr ints", + "ĠPrint s", + "ĠPri nts", + ". typ", + ".t yp", + "Ġfle eing", + "Ġflee ing", + "ĉ move", + "ĉm ove", + "ĉmov e", + "( Un", + "(U n", + "Ġ qr", + "Ġq r", + "× ľ", + "_ beta", + "_b eta", + "_be ta", + "_bet a", + "Ġsk ies", + "Ġski es", + "ĉ me", + "ĉm e", + "W ND", + "WN D", + "Ġst ickers", + "Ġstick ers", + "Ġsticker s", + "b las", + "bl as", + "bla s", + "Ġins erts", + "Ġinsert s", + "Ġinser ts", + "Ġinse rts", + "Ġver ses", + "Ġvers es", + "Ġverse s", + "ĠD ew", + "ĠDe w", + "Ġt angible", + "Ġtang ible", + "Ġh echo", + "Ġhe cho", + "P OL", + "PO L", + "Ġte ardown", + "Ġtear down", + "om nia", + "I BE", + "IB E", + ". cover", + ".c over", + ".co ver", + "_ strategy", + "_str ategy", + "^ -", + "set Position", + "u ale", + "ual e", + "ua le", + "S igned", + "Sign ed", + "Sig ned", + "Ġ iface", + "Ġif ace", + "Ġi face", + "as eline", + "ase line", + "asel ine", + ".set Time", + "ĠMin eral", + "ĠMine ral", + "ĠMiner al", + "ĠF ighting", + "ĠFight ing", + "s kins", + "sk ins", + "ski ns", + "skin s", + "Ġdiscrim in", + "Ġd ansk", + "Ġdans k", + "Ġdan sk", + "ĠPr inceton", + "ĠPrince ton", + "ac ist", + "aci st", + "Ġ ());Ċ", + "Ġ( ));Ċ", + "Ġ() );Ċ", + "Ġ()) ;Ċ", + "tr acks", + "tra cks", + "track s", + "imon ial", + "a decimal", + "ad ecimal", + "ade cimal", + "EP ROM", + "ug gle", + "ugg le", + ". Notification", + ".Not ification", + "$ mail", + "$m ail", + "c antidad", + "cant idad", + "ĠJ ung", + "ĠJun g", + "ĠJu ng", + "Ġsee kers", + "Ġseek ers", + "Ġseeker s", + "Ġpl ausible", + "t ier", + "ti er", + "tie r", + "е ж", + "еР¶", + "Ġ rapper", + "Ġr apper", + "Ġrap per", + "Ġra pper", + "Ġrapp er", + "Ġ Mana", + "ĠM ana", + "ĠMan a", + "ĠMa na", + "ĠHttp StatusCode", + "ĠHttpStatus Code", + "Ġbur nt", + "Ġburn t", + "l oses", + "lo ses", + "lose s", + "los es", + "Ġ Foto", + "ĠF oto", + "ĠFo to", + "ĠFot o", + "Ġ JsonObject", + "ĠJson Object", + "In stagram", + "Inst agram", + "Ġ syscall", + "Ġsys call", + "Ġreal ities", + "ĠMAT LAB", + ":^ {Ċ", + "T ERM", + "TE RM", + "TER M", + "ĠC bd", + "Ġ Paragraph", + "ĠPar agraph", + "ĠPara graph", + "Ġtrav és", + "Ġconstruct ing", + "Ġs wal", + "Ġsw al", + "Ġp ige", + "Ġpi ge", + "Ġpig e", + "L LLL", + "LL LL", + "LLL L", + "- existing", + "-ex isting", + "G ets", + "Get s", + "Ge ts", + "Ġmel ted", + "Ġmelt ed", + "Ġmit igate", + "Ġmitig ate", + "H en", + "He n", + "Ġ hm", + "Ġh m", + "i mas", + "im as", + "ima s", + "Ġ Ao", + "ĠA o", + "ĠP erez", + "ĠPer ez", + "ĠPe rez", + "ĠPere z", + "Ġ DAL", + "ĠD AL", + "ĠDA L", + "Ġ ëĭ¤", + "Ġëĭ ¤", + "Ġdi vis", + "Ġdiv is", + "Storyboard Segue", + "Ġ Modify", + "ĠMod ify", + "ĠModi fy", + "ĠÃľ ber", + "_O VERRIDE", + ".p em", + ".pe m", + "un tos", + "unt os", + "unto s", + "Ġesp añ", + "Ġespa ñ", + "Ġ{ ?", + "Ġ PAY", + "ĠP AY", + "ĠPA Y", + "_ ipv", + "_i pv", + "_ip v", + "ĠF ury", + "ĠFu ry", + "ĠFur y", + "__ .__", + "__. __", + "e low", + "el ow", + "elo w", + "-c entered", + "-center ed", + "-cent ered", + "che cks", + "check s", + "_ Reg", + "_R eg", + "_Re g", + "-J avadoc", + "ĉ load", + "ĉl oad", + "ĠLike wise", + "ĠLik ewise", + "ا Ùħ", + "ا٠ħ", + "U NE", + "UN E", + ". sem", + ".s em", + ".se m", + "x cb", + "xc b", + "ĠC ave", + "ĠCa ve", + "ĠCav e", + "_ sleep", + "_s leep", + "Ġsil ently", + "Ġsilent ly", + "Ġ Extreme", + "ĠExt reme", + "ĠExtr eme", + ". ToUpper", + ".To Upper", + "ĉ CHECK", + "ĉC HECK", + "Ġ cue", + "Ġc ue", + "Ġcu e", + "ĠQ ByteArray", + "Ġcor rupted", + "Ġcorrupt ed", + "Ġ Dé", + "ĠD é", + "Ġim ped", + "Ġimp ed", + "Ġimpe d", + "Get Name", + "Ġinaccur ate", + "Ġs ober", + "Ġso ber", + "Ġsob er", + "е е", + "еРµ", + "Ġ barcode", + "Ġbar code", + "Ġba rcode", + "-- ){Ċ", + "--) {Ċ", + "in ki", + "ink i", + "Ġ ép", + "Ġé p", + "Ġd ri", + "Ġdr i", + "Ġ ALT", + "ĠA LT", + "ĠAL T", + "> >>>>>>>", + ">>>> >>>>", + ">>>>>>> >", + "on ta", + "ont a", + "[ L", + "Ġint eres", + "Ġinter es", + "Ġinte res", + "ver ting", + "vert ing", + "Ġd iagnostics", + "Ġdi agnostics", + "Ġdiagnostic s", + "p dev", + "pd ev", + "è ©", + "Ġ Integrated", + "ĠInt egrated", + "ĠIntegr ated", + ") .'", + "). '", + "_ gc", + "_g c", + "$ text", + "$t ext", + ". games", + ".g ames", + ".game s", + ".ga mes", + "ĠT erra", + "ĠTer ra", + "ĠTerr a", + "' Re", + "'R e", + ". transfer", + ".trans fer", + "_F IFO", + "get Model", + "Ġb land", + "Ġbl and", + "Ġbla nd", + "ĠCol eman", + "ĠCole man", + "Ġpr imes", + "Ġprim es", + "Ġprime s", + "Ġpri mes", + "Ġ æĪ", + "Ġæ Ī", + "Ġcross es", + "n k", + "G ING", + "GIN G", + "GI NG", + "Ġ '^", + "Ġ' ^", + "Ġ Blob", + "ĠB lob", + "ĠBl ob", + "ĠBlo b", + "Ġinter course", + "ĠBl vd", + "Ġweigh s", + "_ regular", + "_reg ular", + "ĠPer th", + "ĠPert h", + "Ġsepar ating", + "Ġseparat ing", + "Ġb illed", + "Ġbill ed", + "Ġbil led", + ".tab Control", + "Ġp uppet", + "Ġpup pet", + "Ġutil ization", + "Ġutiliz ation", + "Ġutiliza tion", + "Ġ âĸł", + "Ġâĸ ł", + "Ġsuc ces", + "Ġsucc es", + "Ġl amps", + "Ġla mps", + "Ġlamp s", + "Ġlam ps", + "_ proj", + "_p roj", + "_pro j", + "_pr oj", + "E ric", + "Er ic", + "Ġre novation", + "Ġren ovation", + "Ġrenov ation", + "ĠF amilies", + "ĠFam ilies", + "ĠFamil ies", + "ĠFamilie s", + "Ġ Bits", + "ĠB its", + "ĠBit s", + "ĠBi ts", + "part ials", + "partial s", + "- Men", + "-M en", + "s olution", + "sol ution", + "Ġd warf", + "Ġdw arf", + "Ġdwar f", + ". INTEGER", + ".IN TEGER", + "Ġ LOCK", + "ĠL OCK", + "ĠLO CK", + "ĠLOC K", + ". ct", + ".c t", + "Ġ excerpt", + "Ġex cerpt", + "Ġexcer pt", + "Ġ Pix", + "ĠP ix", + "ĠPi x", + "Ġ FirstName", + "ĠFirst Name", + "AN TED", + "ANT ED", + "ANTE D", + "ĠAd mir", + "- help", + "-h elp", + "-he lp", + "P rior", + "Pr ior", + "Pri or", + "Ġ Align", + "ĠAl ign", + "ĠAli gn", + ". INSTANCE", + ".IN STANCE", + "Line Edit", + "(' /:", + "('/ :", + "Ġ inet", + "Ġin et", + "Ġi net", + "Ġine t", + "od us", + "odu s", + ".p kl", + ".pk l", + "Ġ KY", + "ĠK Y", + "u pert", + "up ert", + "uper t", + "upe rt", + "Ġn erves", + "Ġnerv es", + "Ġnerve s", + "Ġner ves", + "_ gradient", + "_g radient", + "_grad ient", + "} ','", + "}' ,'", + "}', '", + "_un ref", + "Ġs aturated", + "Ġsatu rated", + "Ġsatur ated", + "Ġ Connected", + "ĠConnect ed", + "ĠConn ected", + "Ġ FN", + "ĠF N", + "EX IT", + "Ġtele port", + "Ġav ait", + "Ġava it", + "Page Route", + "Ġdivorce d", + "Ġdivor ced", + "( lang", + "(l ang", + "f st", + "fs t", + "ĠT yr", + "ĠTy r", + "Ġm essenger", + "Ġmess enger", + "i fstream", + "if stream", + "X S", + "ĠB anking", + "ĠBank ing", + "ĠBan king", + "Ġinfect ious", + "ĠM ons", + "ĠMon s", + "ĠMo ns", + "_ LOOP", + "_LO OP", + "Ġzur ück", + "Ġob tener", + "Ġobt ener", + "Ġobten er", + "/ repos", + "/re pos", + "V el", + "Ve l", + "a cro", + "ac ro", + "acr o", + "Ġ userRepository", + "Ġuser Repository", + "style Type", + "Ġ SRC", + "ĠS RC", + "ĠSR C", + "VML INUX", + "rec ursive", + "/ bar", + "/b ar", + "_ chip", + "_c hip", + "_ch ip", + "_chi p", + "o minated", + "om inated", + "omin ated", + "Ġ Nit", + "ĠN it", + "ĠNi t", + "âĢĶ to", + "ĠBudd h", + "ĠBud dh", + "о меÑĢ", + "ом еÑĢ", + "ĠM AG", + "ĠMA G", + "Ġ CHE", + "ĠC HE", + "ĠCH E", + "_ den", + "_d en", + "_de n", + ". raises", + ".r aises", + ".raise s", + ".ra ises", + "_ degree", + "_d egree", + "_de gree", + "_deg ree", + "Ġpump kin", + "_ templates", + "_t emplates", + "_template s", + "_temp lates", + "_tem plates", + "_ MEDIA", + "_M EDIA", + "_MED IA", + "Ġ Timeline", + "ĠT imeline", + "ĠTime line", + "ĠTim eline", + "Ġ bots", + "Ġb ots", + "Ġbo ts", + "Ġbot s", + "Object Type", + "Ġbu ys", + "Ġbuy s", + ". posts", + ".post s", + ".pos ts", + ".po sts", + "C AL", + "CA L", + "wa iting", + "wait ing", + "ĠDaniel s", + "ĠDani els", + "Ġd abei", + "Ġda bei", + "Ġdab ei", + "Ġ Sigma", + "ĠS igma", + "ĠSig ma", + "i lor", + "il or", + "ilo r", + "i gel", + "ig el", + "ige l", + ", W", + "A DS", + "AD S", + "( panel", + "(p anel", + "(pa nel", + "ì² ´", + "it ating", + "ita ting", + "itat ing", + ". palette", + ".p alette", + ".pa lette", + "Ġmos quito", + "Ġt ego", + "Ġte go", + "Ġteg o", + "( parseInt", + "(parse Int", + "Ġdes pués", + "p romise", + "pro mise", + "prom ise", + "Ġ wij", + "Ġw ij", + "Ġwi j", + "type script", + "types cript", + "Ġ Tv", + "ĠT v", + "_IDENT IFIER", + ") .ĊĊĊ", + "). ĊĊĊ", + ").ĊĊ Ċ", + ").Ċ ĊĊ", + "_ flat", + "_f lat", + "_fl at", + "it su", + "its u", + "U SR", + "US R", + "ex perience", + "- fit", + "-f it", + "-fi t", + "ph inx", + "phi nx", + "phin x", + "_ thresh", + "_th resh", + "_thr esh", + "Ġide ally", + "Ġideal ly", + "ĠFree man", + "ĠFre eman", + "ĠFreem an", + ", DB", + ",D B", + "_ rw", + "_r w", + "çŃ ī", + "U b", + "_ statistics", + "_stat istics", + "=\" \"><", + "=\"\" ><", + "=\"\"> <", + "Ġch ore", + "Ġcho re", + "Ġchor e", + "Ġy ork", + "Ġyo rk", + "inst alled", + "install ed", + "Add itionally", + "Additional ly", + "Ġp stmt", + "Ġpst mt", + "yl ko", + ": :Ċ", + ":: Ċ", + "F orest", + "For est", + "Fore st", + "Fo rest", + "Ġhead set", + "Ġheads et", + "Ġg allon", + "Ġgal lon", + "Ġgall on", + "ÑĢ ÐµÐ¼", + "ÑĢе м", + "Ġwithdraw n", + "Ġwithd rawn", + "Ġ Candidate", + "ĠC andidate", + "ĠCandid ate", + "Ġmel ting", + "Ġmelt ing", + "Ġfree zer", + "Ġfreeze r", + "Ġ hl", + "Ġh l", + "_ HELP", + "_HE LP", + "_HEL P", + "m ime", + "mi me", + "( /*", + "(/ *", + "Ġth irst", + "Ġthi rst", + "$ return", + "$r eturn", + "$ret urn", + "member of", + "е б", + "еР±", + "Ġ HttpServletRequest", + "ĠHttp ServletRequest", + "ĠHttpServlet Request", + "( ob", + "(o b", + "_ Result", + "_Res ult", + "Ġassert ed", + "Ġfulfill ing", + "Ġfulfil ling", + "Ġstretch es", + "Ġstret ches", + "par ated", + "pa rated", + "para ted", + "parate d", + "-f unded", + "Ġ åĽ", + "Ġå Ľ", + "in gles", + "ing les", + "ingle s", + "_ ca", + "_c a", + ". condition", + ".con dition", + ".cond ition", + "Ġ Displays", + "ĠDis plays", + "ĠDisplay s", + "ĠDisp lays", + "Ġ orang", + "Ġo rang", + "Ġor ang", + "Ġora ng", + "Ġoran g", + "Ġ CRE", + "ĠC RE", + "ĠCR E", + "Ġgl Bind", + "Ġ Selector", + "ĠSe lector", + "ĠSelect or", + "ĠSel ector", + "ĠSele ctor", + "/ type", + "/t ype", + "ĠAlex a", + "ĠAle xa", + "ched ules", + "chedule s", + "ĠPen insula", + "Ġ parity", + "Ġp arity", + "Ġpar ity", + "Ġpari ty", + "ĉ dest", + "ĉd est", + "ĉdes t", + "ĉde st", + "ĠDo ors", + "ĠDoor s", + "čĊ ĉčĊ", + "_ dimension", + "_d imension", + "_dim ension", + "Ġ aload", + "Ġa load", + "Ġal oad", + "Ġalo ad", + ".St oredProcedure", + "( paren", + "(p aren", + "(par en", + "(pa ren", + "ĠBur ke", + "ĠBurk e", + "' )]Ċ", + "') ]Ċ", + "')] Ċ", + "- engine", + "-e ngine", + "-eng ine", + "Ġ quir", + "Ġqu ir", + "Ġq uir", + "Ġqui r", + "ĠH ybrid", + "ĠHy brid", + "ĠD oe", + "ĠDo e", + "Ġout lines", + "Ġoutline s", + "ĠT rends", + "ĠTr ends", + "ĠTre nds", + "ĠTrend s", + "_ NV", + "_N V", + "per iments", + "periment s", + "peri ments", + "ĠH in", + "ĠHi n", + "? ',", + "?' ,", + "ĉ Text", + "ĉT ext", + "F UL", + "FU L", + "Ġsm ells", + "Ġsmell s", + "Ġ slick", + "Ġs lick", + "Ġsl ick", + "Ġslic k", + "Ġmis erable", + "Ġmiser able", + "ĠArray Adapter", + "Ġparam String", + "H om", + "Ho m", + "_l iterals", + "_literal s", + "_lit erals", + "us uarios", + "usuario s", + "usu arios", + "Ġprompt ing", + "_ lazy", + "_l azy", + "_la zy", + "Ġ Activation", + "ĠAct ivation", + "ĠActiv ation", + "_ oc", + "_o c", + "We ak", + "Ġan ecd", + "ĠU CLA", + "ĠUC LA", + "= re", + "=r e", + "iss ement", + "isse ment", + "ĠEsc orts", + "ĠEscort s", + "Ex cellent", + "Ġ Pause", + "ĠP ause", + "ĠPa use", + "Ġ repositories", + "Ġre positories", + "Ġrepos itories", + "T OR", + "TO R", + "ar iate", + "ari ate", + "aria te", + "ariat e", + "_ iso", + "_i so", + "_is o", + "up dates", + "update s", + "upd ates", + "ha lb", + "hal b", + "udi ante", + "udiant e", + "ë¡ Ŀ", + "Ġna ive", + "ĠP eg", + "ĠPe g", + "ĠL ounge", + "ĠLo unge", + "ĠLou nge", + "AR GIN", + "ARG IN", + "( bin", + "(b in", + "On ClickListener", + "OnClick Listener", + "Ġ FAILED", + "ĠFA ILED", + "ĠFAIL ED", + "Ġ lite", + "Ġl ite", + "Ġli te", + "Ġlit e", + "Ġd zie", + "Ġdz ie", + "Ġdzi e", + "Ġ Literal", + "ĠL iteral", + "ĠLiter al", + "ĠLit eral", + "ĠLite ral", + "i vor", + "iv or", + "ivo r", + "f cntl", + "fc ntl", + "fcn tl", + "Ġe ats", + "Ġeat s", + "Ġea ts", + "Ġ qed", + "Ġq ed", + "Un lock", + "r iding", + "ri ding", + "rid ing", + "und ai", + "unda i", + "= M", + "AT TER", + "ATT ER", + "Configure Await", + "ic ias", + "ici as", + "icia s", + "ust omed", + "ustom ed", + "usto med", + "Ġsuccess ion", + "Ġsuc cession", + "Ġsucc ession", + "end Time", + "ĠJ upiter", + "Ġj udging", + "Ġjud ging", + "d ration", + "dr ation", + "dra tion", + "_ docs", + "_d ocs", + "_doc s", + "_do cs", + ". mo", + ".m o", + "Ġeduc ators", + "Ġeducator s", + "ĠV ine", + "ĠVi ne", + "ĠVin e", + "C ond", + "Con d", + "Co nd", + "[ out", + "[o ut", + "q b", + "\\ Validator", + "Ġmean ings", + "Ġmeaning s", + "Ġpres ently", + "Ġpresent ly", + "Ġdiv iding", + "Ġdivid ing", + "otten ham", + "as cular", + "asc ular", + "Ġtrail ers", + "Ġtra ilers", + "Ġtrailer s", + "Ġtrai lers", + "Ġ CLOSE", + "ĠC LOSE", + "ĠCL OSE", + "а ми", + "ам и", + "âĢĻ ai", + "âĢĻa i", + "Ġ Gain", + "ĠG ain", + "ĠGa in", + "w or", + "wo r", + "Ġpl anner", + "Ġplan ner", + "Ġdistrib uting", + "v at", + "va t", + "mon ths", + "month s", + "mont hs", + "x label", + "xl abel", + "H F", + "V iol", + "Vi ol", + ".BASE LINE", + "еÑĤ ÑģÑı", + "Ġ Rotate", + "ĠR otate", + "ĠRot ate", + "Ġ txn", + "Ġt xn", + "Ġtx n", + ": bold", + ":b old", + "Ġb loss", + "Ġbl oss", + "Ġblo ss", + "Forg ery", + "Forge ry", + "( embed", + "(em bed", + "Ġj ako", + "Ġja ko", + "Ġjak o", + "s printf", + "the ir", + "Ġexhib its", + "Ġexhibit s", + "- static", + "-st atic", + "-stat ic", + "he cy", + "hec y", + "get ActiveSheet", + ". clients", + ".c lients", + ".client s", + ".cl ients", + ".cli ents", + "ãģ į", + "_ hide", + "_h ide", + "_hi de", + "_hid e", + "[ word", + "[w ord", + "C b", + "add Item", + "a xe", + "ax e", + "_ radio", + "_r adio", + "_rad io", + "_ra dio", + "_radi o", + "a lion", + "al ion", + "ali on", + "mod ifier", + "Ġsat uration", + "Ġsatu ration", + "Ġsatur ation", + "Ġde nom", + "Ġden om", + "_ pixels", + "_p ixels", + "_pixel s", + "_pix els", + "m ess", + "me ss", + "mes s", + "( fl", + "(f l", + "a tif", + "at if", + "ati f", + "Ġ secs", + "Ġs ecs", + "Ġse cs", + "Ġsec s", + "Ġpro stitution", + "Ġprostit ution", + "Ġprost itution", + "Ġprostitu tion", + "Ġprostitut ion", + "Ġgrand children", + "Ġparad ise", + "ĠF eld", + "ĠFe ld", + "ĠFel d", + "_B INARY", + "_BIN ARY", + "it ous", + "ito us", + "itou s", + "à ¹Ħ", + "๠Ħ", + "Ġfl ashing", + "Ġflash ing", + "-s ided", + "-side d", + "Ġcontrad iction", + "Ġcontradict ion", + "/ *ĊĊ", + "/* ĊĊ", + "/*Ċ Ċ", + "y label", + "yl abel", + "yla bel", + "ĠT et", + "ĠTe t", + "Ġadm ire", + "Ġadmir e", + "r eso", + "re so", + "res o", + "Ġl etz", + "Ġle tz", + "Ġlet z", + "Ġ SEARCH", + "ĠSE ARCH", + "s lots", + "sl ots", + "slot s", + "ĠRe wards", + "ĠRew ards", + "ĠReward s", + "ĠH og", + "ĠHo g", + "Ġ NSData", + "ĠNS Data", + "st ash", + "sta sh", + "F all", + "Fa ll", + "Fal l", + "ĠA mer", + "ĠAm er", + "Line arLayout", + "Linear Layout", + "/ photos", + "/photo s", + "/ph otos", + "Ġfe ather", + "Ġfeat her", + "Ġ |čĊ", + "Ġ| čĊ", + "Down loads", + "Download s", + ".Start sWith", + "Ġ //#", + "Ġ// #", + "Ġ/ /#", + "ine Transform", + "Ġaff id", + "Ġaf fid", + "V tbl", + "ĠR ogue", + "ĠRo gue", + "ĠRog ue", + "s cribed", + "scribe d", + "scri bed", + "Ġf auc", + "Ġfa uc", + "ĠMon roe", + "Ġdecl ares", + "Ġdeclar es", + "Ġdeclare s", + "mod ern", + "mode rn", + "r eon", + "re on", + "reo n", + "ay be", + "P ASS", + "PA SS", + "f ers", + "fer s", + "fe rs", + "_MULT I", + "_MUL TI", + "ĠMath ematics", + "ĠMathematic s", + "Ġsud ah", + "_ATT ACH", + "Ġnumber With", + "ĠSol omon", + "ĠSolo mon", + "j in", + "ji n", + "ograf ia", + "ogr afia", + "ö l", + "_ design", + "_d esign", + "_de sign", + "_des ign", + "c ulated", + "cul ated", + "culate d", + "cu lated", + "ĠL una", + "ĠLu na", + "ĠLun a", + "i esz", + "ies z", + "ie sz", + "Ġ =>'", + "Ġ= >'", + "Ġ=> '", + "Ġreve lations", + "Ġrevel ations", + "Ġrevelation s", + "A long", + "Al ong", + "( ed", + "(e d", + "Ġ Filename", + "ĠF ilename", + "ĠFile name", + "ĠFil ename", + "ĠFi lename", + "Ġ ylabel", + "Ġy label", + "S ecure", + "Sec ure", + "Ġbus ca", + "Ġbusc a", + "ag nosis", + "agn osis", + "_RE CE", + "_REC E", + "Ġover lapping", + "Ġoverlap ping", + "Ġoverl apping", + "Ex tent", + "Ext ent", + "Ġant icipation", + "Ġanticip ation", + "Ġantic ipation", + "Check s", + "Che cks", + "ĠAL SO", + "ĠALS O", + "o rc", + "or c", + "iling ual", + "it ational", + "itation al", + "itat ional", + "Ġadv ancement", + "Ġadvance ment", + "o uro", + "ou ro", + "our o", + "Ġ Predicate", + "ĠP redicate", + "ĠPred icate", + "å¾ Ĺ", + "e ria", + "er ia", + "eri a", + "ĠP ierce", + "ĠPi erce", + "ĠPier ce", + "o rio", + "or io", + "ori o", + "Ġmer its", + "Ġmerit s", + "Ġpe anut", + "Ġpea nut", + ". Package", + ".P ackage", + "ĠCon duct", + "ĠCond uct", + "_ SENSOR", + "_S ENSOR", + "_SENS OR", + "Ġbo iling", + "Ġboil ing", + "Ġin tra", + "Ġint ra", + "Ġintr a", + "Ġ IGN", + "ĠI GN", + "ĠIG N", + "ĠF ur", + "ĠFu r", + ". Refresh", + ".Re fresh", + ".Ref resh", + "Ġ Reach", + "ĠR each", + "ĠRe ach", + "_ decoder", + "_de coder", + "_dec oder", + "_decode r", + ". Exp", + ".Ex p", + ".E xp", + "Ġ ÑĤак", + "ĠÑĤ ак", + "ĠÑĤа к", + "p ill", + "pi ll", + ", Q", + "ĠGr ill", + "ĠGri ll", + "Ġp opping", + "Ġpop ping", + "Ġpo pping", + ". Ag", + ".A g", + "Ġpro yecto", + "Ġmile age", + "Ġec ological", + "Ġeco logical", + "] ]);Ċ", + "]] );Ċ", + "]]) ;Ċ", + "Ġ ÂŃ", + "Ġ Ń", + "sub plot", + "a cad", + "ac ad", + "aca d", + "Ġ Trying", + "ĠT rying", + "ĠTr ying", + "ĠTry ing", + "rec ipes", + "recipe s", + "$ criteria", + "$c riteria", + "ĠPer sian", + "ĠPers ian", + "- bound", + "-b ound", + "-bo und", + "M ASK", + "MA SK", + "MAS K", + "Ġ Gesture", + "ĠG esture", + "ĠGes ture", + "ĠGest ure", + "Ġ kk", + "Ġk k", + "ĠP VC", + "ĠPV C", + "Ġpro hibition", + "Ġprohib ition", + "Ġprohibit ion", + "Ġcom ando", + "Ġco mando", + "Ġcoma ndo", + "Ġ LOOK", + "ĠL OOK", + "ĠLO OK", + "Sh opping", + "Shop ping", + "Ġdist ortion", + "Ġdistort ion", + "< Boolean", + ".Get Length", + "um pt", + "ump t", + "\\ Product", + "ell ery", + "elle ry", + "eller y", + "Ġfire wall", + "form atted", + "format ted", + ". redis", + ".re dis", + ".r edis", + ".red is", + "Ġ esa", + "Ġe sa", + "Ġes a", + "ĠRh ode", + "S om", + "So m", + ". non", + ".n on", + ".no n", + "Ġ ').", + "Ġ' ).", + "Ġ') .", + "Ġ getView", + "Ġget View", + "ạ n", + "p rus", + "pr us", + "Mat thew", + "Ġs ia", + "Ġsi a", + "ĠF ors", + "ĠFor s", + "ĠFo rs", + "G PU", + "GP U", + "ient ras", + "ien tras", + "_ INST", + "_IN ST", + "_I NST", + "_INS T", + "Ġo larak", + "Ġol arak", + "Ġola rak", + "Ġimport ing", + "Ġimp orting", + "T CP", + "TC P", + "/ \");Ċ", + "/\" );Ċ", + "/\") ;Ċ", + "e ither", + "ei ther", + "Ġfresh ly", + "c ascade", + "cas cade", + "( character", + "(char acter", + "ĠJe ep", + "o tics", + "ot ics", + "otic s", + "oti cs", + "_ UTIL", + "_UT IL", + ".Xtra Printing", + ".first Child", + "ĠEx cell", + "ĠExcel l", + "ĠExc ell", + "Ġd vd", + "Ġdv d", + "Ġt aller", + "Ġtal ler", + "Ġta ller", + "Ġtall er", + "Ġ ras", + "Ġr as", + "Ġra s", + "y pass", + "yp ass", + "Ġassign s", + "Ġgr iev", + "Ġgri ev", + "- more", + "-m ore", + "J D", + "ĠBur ns", + "ĠBurn s", + "' >čĊ", + "'> čĊ", + ". Dependency", + ".D ependency", + ".Dep endency", + ". QueryString", + ".Query String", + ". Owner", + ".O wner", + "Ġ expiry", + "Ġex piry", + "Ġexp iry", + "T hu", + "Th u", + "( Vec", + "(V ec", + "Ġhazard ous", + "Ġ rpm", + "Ġr pm", + "Ġrp m", + "AP ON", + "APO N", + "Ġadd Target", + "s ville", + "sv ille", + "p Net", + "Ġ Img", + "ĠI mg", + "ĠIm g", + "Ġ TIMER", + "ĠT IMER", + "ĠTIM ER", + "ĠTIME R", + "ĠTI MER", + ". Animation", + ".An imation", + "Ġ bek", + "Ġb ek", + "Ġbe k", + "Ġas sort", + "Ġass ort", + "Ġle bih", + "Ġbody Parser", + "Ġvibr ating", + "Ġvib rating", + "I DL", + "ID L", + "Ġbutter knife", + "in ters", + "int ers", + "inter s", + "inte rs", + "Ġpersu ade", + "ĠLGBT Q", + "è ĭ", + ". soft", + ".s oft", + ".so ft", + "Ġbe ams", + "Ġbeam s", + "_ sur", + "_s ur", + "_su r", + ". Def", + ".D ef", + ".De f", + "Ġ labs", + "Ġl abs", + "Ġla bs", + "Ġlab s", + "ĉ plt", + "ĉp lt", + "ĉpl t", + "Ġ skins", + "Ġs kins", + "Ġsk ins", + "Ġskin s", + "Ġski ns", + "Ġtransfer ring", + "Ġtransf erring", + "Ġimag inary", + "Ġimagin ary", + "_ End", + "_E nd", + "; background", + "Ġ laps", + "Ġl aps", + "Ġla ps", + "Ġlap s", + "_ COMMENT", + "_COM MENT", + "_COMM ENT", + "( SDL", + "(S DL", + "o nds", + "on ds", + "ond s", + ". Record", + ".Re cord", + ".Rec ord", + "ĠIm plements", + "ĠImp lements", + "ĠImplement s", + "ĠImpl ements", + "_ ticks", + "_t icks", + "_tick s", + "_ti cks", + "( )))ĊĊ", + "() ))ĊĊ", + "()) )ĊĊ", + "())) ĊĊ", + "()))Ċ Ċ", + "Ġa rose", + "Ġar ose", + "] ?", + "Ġ Mp", + "ĠM p", + "ĠI Command", + "Ġsculpt ure", + "Ġcon tracted", + "Ġcontract ed", + "Ġcontr acted", + "< HTML", + "Ġcal end", + "a ty", + "at y", + "/ Sub", + "/S ub", + "Ġkv inn", + "Ġkvin n", + "_ IGNORE", + "ĠSh ane", + "ĠSha ne", + "ĠShan e", + "M LS", + "ML S", + "Ġstim ulate", + "Part ition", + "Ġ mun", + "Ġm un", + "Ġmu n", + "ó m", + "er ala", + "era la", + "eral a", + "- account", + "-a ccount", + "-ac count", + ". Binary", + ".B inary", + "c é", + "Ġse ize", + "Ġseiz e", + "Ġsei ze", + "conn ections", + "connect ions", + "connection s", + "Ġ ĊĠĠĠĠĠĠĠĠĊ", + "ĠĊ ĠĠĠĠĠĠĠĠĊ", + "Ġ Diagnostic", + "ĠDi agnostic", + "V ISIBLE", + "VIS IBLE", + "Ġ Runs", + "ĠR uns", + "ĠRun s", + "ĠRu ns", + "Ġim pressions", + "Ġimpress ions", + "Ġimpression s", + "Ġimpr essions", + "s uite", + "su ite", + "suit e", + "o ble", + "ob le", + "obl e", + "~ -", + "ak ukan", + "aku kan", + "< Person", + "

\">\" >\"> \">< /", + "_ indexes", + "_index es", + "Ġ valuation", + "Ġval uation", + "Ġvalu ation", + "Ġlife long", + "Ġlif elong", + "Ġexp edition", + "Ġexped ition", + "( Yii", + "(Y ii", + "Ġp ains", + "Ġpain s", + "Ġpa ins", + "Ġpai ns", + "Ġ PRI", + "ĠP RI", + "ĠPR I", + "Ġ Mixed", + "ĠM ixed", + "ĠMix ed", + "ĠMi xed", + "Ġ Changing", + "ĠCh anging", + "ĠChan ging", + "ĠChang ing", + "German y", + "Ger many", + "comm unication", + "communic ation", + ". organ", + ".org an", + ".o rgan", + ".or gan", + "ĠMar athon", + "ĠMara thon", + "get Path", + "Ġ Accuracy", + "ĠAc curacy", + "ĠAcc uracy", + "Ġ Globals", + "ĠG lobals", + "ĠGlobal s", + "ĠGlob als", + "') }}'", + "Ġ'\" >'", + "Ġ'\"> '", + "k inson", + "kin son", + "kins on", + "Ġ кол", + "Ġк ол", + "Ġко л", + "ogn itive", + "_ li", + "_l i", + "Ġim minent", + "Ġimm inent", + "Ġaff inity", + "Ġaf finity", + ". signal", + ".s ignal", + ".sign al", + ".sig nal", + "Ġn otch", + "Ġnot ch", + "ĠSteel ers", + "ĠSteele rs", + "max length", + "K K", + "ĠEu gene", + "ĠEug ene", + "_ PWM", + "_P WM", + "_PW M", + "r oi", + "ro i", + "Ġ âĹı", + "Ġâ Ĺı", + "ĠâĹ ı", + "ĠH amburg", + "ĠHam burg", + ". Must", + ".M ust", + "Ġ axe", + "Ġa xe", + "Ġax e", + "en ef", + "ene f", + "Ġamb itions", + "Ġambit ions", + "Ġambition s", + "Ġ Species", + "ĠS pecies", + "ĠSp ecies", + "ĠSpec ies", + "ĠSpe cies", + "ĠSt ress", + "ĠStr ess", + "ĠStre ss", + "Ġa while", + "Ġ бÑĥд", + "Ġб Ñĥд", + "ĠбÑĥ д", + "Ġwith stand", + "Ġ Decoder", + "ĠDe coder", + "ĠDec oder", + "ĠDecode r", + "_ inventory", + "_in ventory", + "Ġ{ ččĊ", + "Ġ tgt", + "Ġt gt", + "Ġtg t", + "Ġrail road", + "W ASHINGTON", + "Ġnegot iated", + "Ġnegotiate d", + "N ST", + "NS T", + "- phone", + "-p hone", + "-ph one", + ", U", + "Ġexerc ising", + "á» ¥", + "_P IXEL", + "_PIX EL", + "av ors", + "avor s", + "avo rs", + "ite rated", + "iter ated", + "iterate d", + "Ġv ampire", + "Ġvamp ire", + "a dal", + "ad al", + "ada l", + "In grese", + "Ing rese", + "Ġ ung", + "Ġu ng", + "Ġun g", + "j ective", + "ject ive", + ". cells", + ".c ells", + ".cell s", + "Ġ nano", + "Ġn ano", + "Ġna no", + "Ġnan o", + "Ġ markdown", + "Ġmark down", + "_ RULE", + "_R ULE", + "( events", + "(e vents", + "(event s", + "(ev ents", + "Ġl uggage", + "Ġlug gage", + "M ESSAGE", + "MESS AGE", + "ig keit", + "$ count", + "$c ount", + "Attribute Name", + "IG INAL", + "IGIN AL", + "_ Ent", + "_E nt", + "Ġ BF", + "ĠB F", + "Ġ COMMENT", + "ĠCOM MENT", + "ĠCOMM ENT", + "_ ini", + "_in i", + "_i ni", + "ĠEurope ans", + "ĠEuropean s", + "ĠB elle", + "ĠBe lle", + "ĠBel le", + "ĠBell e", + "åij ½", + ") ['", + ")[ '", + "åº Ķ", + "ĠUs eful", + "ĠUse ful", + ". reference", + ".re ference", + ".ref erence", + "( )\",", + "() \",", + "()\" ,", + "_ grade", + "_g rade", + "_gr ade", + "_grad e", + "ĠK aw", + "ĠKa w", + "Ġsent encing", + "Ġsocial ism", + "mon ster", + "mons ter", + "_L AYER", + "Ġdeep est", + "Ġdee pest", + "w k", + "Ġ Noise", + "ĠN oise", + "ĠNo ise", + "# ##ĊĊ", + "## #ĊĊ", + "### ĊĊ", + "###Ċ Ċ", + "Ġpr éc", + "Ġpré c", + "o tle", + "ot le", + "ÑĤ е", + "a uf", + "au f", + "i bal", + "ib al", + "iba l", + "Ġcon quer", + "Ġconqu er", + "> Email", + ">E mail", + "Ġamb ulance", + "O AD", + "OA D", + "Ġ (\"%", + "Ġ( \"%", + "Ġ(\" %", + "Ġ FI", + "ĠF I", + ". fixture", + ".f ixture", + ".fix ture", + "Ġt erse", + "Ġter se", + "Ġters e", + "ĠĠ ĠĠĉĉĉĉ", + "ĠĠĠĠ ĉĉĉĉ", + "ĠĠĠ Ġĉĉĉĉ", + "ĠĠĠĠĉ ĉĉĉ", + "ĠĠĠĠĉĉ ĉĉ", + "ĠĠĠĠĉĉĉ ĉ", + "Ġsanct uary", + "u gi", + "ug i", + "Ġ Comparator", + "ĠCom parator", + "ĠCompar ator", + "Definition s", + "Ġast hma", + "Ġl act", + "Ġla ct", + "Ġlac t", + "Ġhard wood", + ". clock", + ".c lock", + ".cl ock", + "Ġattr acting", + "Ġattract ing", + "ĠM our", + "ĠMo ur", + "ĠMou r", + "( distance", + "(d istance", + "(dist ance", + "(di stance", + "ic its", + "ici ts", + "icit s", + "Ġb onne", + "Ġbon ne", + "Ġ ACCESS", + "ĠAC CESS", + "ĠACC ESS", + ".Deserialize Object", + "Ġ Typed", + "ĠT yped", + "ĠType d", + "ĠTy ped", + "ĠTyp ed", + "Ġj eu", + "Ġje u", + "Ġ appId", + "Ġapp Id", + "ĠC lara", + "ĠCl ara", + "ĠClar a", + "ĠCla ra", + "Ġ HF", + "ĠH F", + "ĠRe ich", + "ĠRei ch", + "ip ples", + "ipp les", + "ipple s", + "// --------------------------------------------------------------------------------", + "//---------------------------------------------------------------- ----------------", + "//---------------------------------------------------------------------------- ----", + "//------------------------------------------------ --------------------------------", + "//-------------------------------- ------------------------------------------------", + "//---------------- ----------------------------------------------------------------", + "_ delivery", + "_d elivery", + "_del ivery", + "erial ization", + "Ġplaint iffs", + "Ġplaintiff s", + "S cient", + "Sc ient", + "Sci ent", + "sh opping", + "shop ping", + "Ġ Dummy", + "ĠD ummy", + "ĠDum my", + "ĠW ald", + "ĠWal d", + "ĠWa ld", + "Group Name", + "Ġ inscription", + "Ġin scription", + "Ġins cription", + "e log", + "el og", + "elo g", + ": :::::::", + ":: ::::::", + ":::: ::::", + ":::::: ::", + "::: :::::", + "::::: :::", + "::::::: :", + "_ ld", + "_l d", + "Back Pressed", + ". Raw", + ".R aw", + "ĠOn Trigger", + "Ġmuseum s", + "Ġmuse ums", + "Ġ Been", + "ĠB een", + "ĠBe en", + "ĠBee n", + "ĠAdvent ures", + "ĠAdventure s", + "Ġs late", + "Ġsl ate", + "Ġsla te", + "Ġ lett", + "Ġl ett", + "Ġle tt", + "Ġlet t", + "Ġs und", + "Ġsu nd", + "Ġsun d", + "ĠG in", + "ĠGi n", + "ĠMechan ical", + "ĠMech anical", + ". ship", + ".s hip", + ".sh ip", + "App Component", + "Ġdest ined", + "Ġdestin ed", + "Ġdw elling", + "Ġdwell ing", + "Pro filer", + "Profile r", + "Prof iler", + "Pre pare", + "ze ich", + "Ġsil icon", + "( has", + "(h as", + "Ġ# %", + "V IDEO", + "VID EO", + "Ġcollabor ate", + "L in", + "Li n", + "Ġ scopes", + "Ġsc opes", + "Ġscope s", + "Ġsco pes", + "Ġscop es", + "( className", + "(class Name", + "( sd", + "(s d", + "an din", + "and in", + "andi n", + ". ham", + ".h am", + "Service Impl", + "-de scribed", + "-des cribed", + "Ġir ony", + "Ġiron y", + "st ial", + "sti al", + "ĠHu awei", + "( repo", + "(re po", + "(rep o", + "Ġunexpected ly", + "ĠK ai", + "ĠKa i", + ". install", + ".inst all", + "\\ xf", + "\\x f", + "Ġex hibited", + "Ġexhib ited", + "Ġexhibit ed", + "_ TCP", + "_T CP", + "_TC P", + "ĠO x", + "_ CHO", + "_C HO", + "_CH O", + "Ġprostitu erte", + "Ġprostituer te", + "Ġ vä", + "Ġv ä", + "Ġs ito", + "Ġsit o", + "Ġsi to", + "Ġconstitu ents", + "Ġconstituent s", + "ĠContinue d", + "ĠContin ued", + "Ġ SAVE", + "ĠS AVE", + "ĠSA VE", + "r ss", + "rs s", + "/ message", + "/m essage", + "u bes", + "ub es", + "ube s", + "Ġmisd emean", + "Ġtax ation", + "Ġtaxa tion", + "Ġstory line", + "h air", + "ha ir", + "hai r", + "ĠF inds", + "ĠFin ds", + "ĠFind s", + "ĠFi nds", + "S IG", + "SI G", + "ver ification", + "~ =", + ". hp", + ".h p", + "It erable", + "Iter able", + "Ñĭ е", + "at ori", + "ator i", + "ato ri", + "Ġ ctr", + "Ġc tr", + "Ġct r", + "R x", + "_ );ĊĊ", + "_);Ċ Ċ", + "_) ;ĊĊ", + "d ag", + "da g", + ". pin", + ".p in", + ".pi n", + "Ġp seud", + "Ġin vo", + "Ġinv o", + "Ñģ ÑĤÑĢ", + "ÑģÑĤ ÑĢ", + "_ pix", + "_p ix", + "_pi x", + "为 空", + "Ġsw orn", + "Ġswo rn", + "âĢĶ or", + "_ registry", + "_reg istry", + "Ġdis asters", + "Ġdisaster s", + "Ġ ROI", + "ĠR OI", + "ĠRO I", + "Ġ âĢķ", + "ĠâĢ ķ", + "ak tu", + "akt u", + "f orest", + "fo rest", + "fore st", + "for est", + "be iten", + "beit en", + "bei ten", + "âĢĶ I", + "u eva", + "ue va", + "e gt", + "eg t", + "Ġsp ikes", + "Ġspi kes", + "Ġspike s", + "U RES", + "UR ES", + "URE S", + "Ġ Recommended", + "ĠRe commended", + "ĠRecomm ended", + "ĠRecommend ed", + "Ġexplo ited", + "Ġexploit ed", + "ĠFreder ick", + "_ COMPLETE", + "_COMP LETE", + "ĠDr ugs", + "ĠDrug s", + "!!! !!!!!", + "!!!! !!!!", + "!!!!! !!!", + "ĠR iv", + "ĠRi v", + "S TOP", + "ST OP", + "R OOM", + "RO OM", + "Ġ PASSWORD", + "ĠP ASSWORD", + "ĠPASS WORD", + "C ookies", + "Co okies", + "Cookie s", + "Cook ies", + ". El", + ".E l", + "á» Ń", + "ĠB ert", + "ĠBe rt", + "ĠBer t", + "Ġ hashed", + "Ġh ashed", + "Ġhas hed", + "Ġhash ed", + "Ġha shed", + "ic ester", + "ice ster", + "ices ter", + "Ġdecor ator", + "Ġ queryString", + "Ġquery String", + ": ;Ċ", + "Ġ\" [\"", + "Ġ\"[ \"", + "ot ope", + "oto pe", + "- Americ", + "-A meric", + "-Am eric", + "ĠMatthew s", + "ĠMatth ews", + "U RAL", + "UR AL", + "URA L", + "âĢľ ,", + "S ummer", + "Sum mer", + "f os", + "fo s", + "_CONT AINER", + "_ ACK", + "_A CK", + "_AC K", + "Ġ filtr", + "Ġf iltr", + "Ġfil tr", + "Ġfi ltr", + "Ġfilt r", + "_ disp", + "_d isp", + "_dis p", + "_di sp", + "_ Re", + "_R e", + "Ġfac ile", + "Ġfacil e", + "а ÑĪ", + "Ġìķ Ĭ", + "Ġe ben", + "Ġeb en", + "Ġsp rink", + "Ġspr ink", + "ĠQ uint", + "ĠQu int", + "ĠQui nt", + "> V", + "Ġhistor ians", + "Ġhistorian s", + "Ġhistoria ns", + "Ġhisto rians", + "our met", + "Ġ Monitoring", + "ĠMonitor ing", + "led ger", + "ledge r", + "c ott", + "co tt", + "cot t", + "Ġ ware", + "Ġw are", + "Ġwar e", + "Ġwa re", + "G GLE", + "GG LE", + "c ars", + "ca rs", + "car s", + "ĠM EDIATEK", + "Ġvol upt", + "_ View", + "_V iew", + "H EL", + "HE L", + "( copy", + "(c opy", + "(co py", + "( stats", + "(st ats", + "(stat s", + "Ġch romosome", + "Ġchrom osome", + "ĠCurt is", + "- conf", + "-con f", + "-co nf", + "( asset", + "(as set", + "Ġh vor", + "Ġhv or", + "File System", + "< >();čĊ", + "<>( );čĊ", + "<> ();čĊ", + "o coder", + "oc oder", + "oco der", + "ocode r", + "ĠC annon", + "ĠCan non", + "ĠCann on", + ") x", + "Ġ Smooth", + "ĠSm ooth", + "ĠS AS", + "ĠSA S", + "_ ce", + "_c e", + "ĉ prev", + "ĉp rev", + "ĉpr ev", + "ĉpre v", + "_ movie", + "_m ovie", + "_mov ie", + "_mo vie", + "E c", + "_ wall", + "_w all", + "< Button", + ".ĊĊ", + "/> .ĊĊ", + "/>.Ċ Ċ", + "/>. ĊĊ", + "o genesis", + "ogen esis", + "ogene sis", + "Ġ OPTIONS", + "ĠOPTION S", + "ĠOPT IONS", + "up tools", + "upt ools", + "Ġmilit ant", + "Ġmil itant", + "Ġmili tant", + "Ġex ited", + "Ġexit ed", + "i gar", + "ig ar", + "iga r", + "Ġ COMM", + "ĠCO MM", + "ĠCOM M", + "Ġ Disposable", + "ĠD isposable", + "ĠDis posable", + "ay cast", + "Ġrow span", + "Ġrows pan", + "Ġsyn thes", + "Ġsynth es", + "Ġsynt hes", + "Ġso ndern", + "Ġsond ern", + "Ġ Ċ", + "]- ->Ċ", + "ĠJ acket", + "ĠJack et", + "ĠJac ket", + "ĠJa cket", + "R ATION", + "RA TION", + ".get SelectedItem", + ".getSelected Item", + "- init", + "-in it", + "-i nit", + "Ġ Registers", + "ĠReg isters", + "ĠRegister s", + "_ sep", + "_s ep", + "_se p", + "Ġ Toolkit", + "ĠTool kit", + ". dict", + ".d ict", + ".di ct", + "Ġ xlabel", + "Ġx label", + "Ġxl abel", + "\\ Table", + "t oc", + "to c", + "_ combo", + "_c ombo", + "_com bo", + "_comb o", + "Ġ Compact", + "ĠComp act", + "Ġr ugged", + "Ġrug ged", + "à¥ĩ à¤", + "- management", + "-man agement", + "') }}\">Ċ", + "')}} \">Ċ", + "')}}\" >Ċ", + "')} }\">Ċ", + "')}}\"> Ċ", + "Ġ Stamp", + "ĠSt amp", + "ĠSta mp", + "ĠStam p", + "ı l", + "r ox", + "ro x", + "Ġlandscape s", + "Ġlandsc apes", + "_ NOTE", + "_N OTE", + "_NO TE", + "_NOT E", + "mon ary", + "c ab", + "ca b", + "Ġmo et", + "x af", + "xa f", + "r code", + "rc ode", + "- cli", + "-c li", + "-cl i", + "_ gate", + "_g ate", + "[ event", + "[e vent", + "S PORT", + "SP ORT", + "g ia", + "gi a", + "Ġ SUPER", + "ĠS UPER", + "ĠSU PER", + "ĠSUP ER", + "/ Login", + "_ shutdown", + "_sh utdown", + "int errupt", + "inter rupt", + "Ġpret ending", + "Ġpretend ing", + "Ġf ringe", + "Ġfr inge", + "Ġfri nge", + "ĠR eds", + "ĠRe ds", + "ĠRed s", + "Ġ CUDA", + "ĠC UDA", + "ĠCU DA", + "Ġ UNIX", + "ĠUN IX", + "v it", + "vi t", + "Ġ brig", + "Ġb rig", + "Ġbr ig", + "Ġbri g", + "d rv", + "dr v", + "Ġ Connector", + "ĠConnect or", + "ĠConn ector", + "There fore", + "Ġ lia", + "Ġl ia", + "Ġli a", + "D etection", + "De tection", + "Det ection", + "Detect ion", + "_ actor", + "_a ctor", + "_ac tor", + "_act or", + "Ġtemp file", + "Ġecc entric", + "- role", + "-r ole", + "-ro le", + "Ġp adx", + "Ġpa dx", + "Ġpad x", + "d ent", + "de nt", + "den t", + "West ern", + "Ġ ê·¸", + "Ġê ·¸", + "Ġê· ¸", + "ĠApplication Record", + "Ġcampaign ing", + "_ runner", + "_r unner", + "_run ner", + "ĠC ivic", + "ĠCi vic", + "ĠCiv ic", + "a leigh", + "ale igh", + "Ġdir ekt", + "Ġdire kt", + ".s ul", + "Ġ Ġĉĉĉ", + "ĠĠ ĉĉĉ", + "ĠĠĉ ĉĉ", + "ĠĠĉĉ ĉ", + "a nten", + "an ten", + "ant en", + "ante n", + "Ġ issuer", + "Ġiss uer", + "Ġissue r", + "Ġissu er", + "Ġassert ions", + "Ġassertion s", + "( orig", + "(o rig", + "(or ig", + "AT IO", + "Ġle aned", + "Ġlean ed", + "ä s", + ". DTO", + ".D TO", + "ex plode", + "expl ode", + "explo de", + ". Observable", + ".O bservable", + "Ġstagger ing", + "Ġkidn apped", + "Ġprogram mers", + "Ġprogramme rs", + "Ġprogrammer s", + "Ġprogramm ers", + "ĠIn nov", + "ĠInn ov", + ". parameter", + ".param eter", + "Ġd omination", + "Ġdo mination", + "Ġdom ination", + "Ġdomin ation", + "Ġdomina tion", + "Ġske ptic", + "Ġskept ic", + "Ġ æĺ¯", + "Ġæĺ ¯", + "Ġav oids", + "Ġavoid s", + ". Verify", + ".Ver ify", + "ub by", + "ubb y", + "Ġ ASN", + "ĠA SN", + "ĠAS N", + "Ġform ato", + "Ġformat o", + "Ġforma to", + "ĠBeat les", + "_ brand", + "_b rand", + "_br and", + "Ġin set", + "Ġins et", + "Ġinse t", + "y outu", + "you tu", + "Ġ toc", + "Ġt oc", + "Ġto c", + "- final", + "-f inal", + "-fi nal", + "-fin al", + "Sh owing", + "Show ing", + "ĠD oub", + "ĠDo ub", + "ĠDou b", + "ĠM esa", + "ĠMe sa", + "ĠMes a", + "A dj", + "Ad j", + "_ medium", + "_m edium", + "_med ium", + "Create s", + "Cre ates", + "Creat es", + "( endpoint", + "(end point", + "ĉ UP", + "ĉU P", + "b bie", + "bb ie", + "Ġ stalk", + "Ġs talk", + "Ġst alk", + "Ġsta lk", + "Ġstal k", + ".data bind", + ".datab ind", + ". Scan", + ".S can", + ".Sc an", + "ag ents", + "age nts", + "agent s", + "agen ts", + "$ ,", + "ind ividual", + "+ )/", + "+) /", + "ĉ vm", + "ĉv m", + "( notification", + "(not ification", + "Ġin ex", + "Ġi nex", + "Ġine x", + "Ġ Classification", + "ĠClass ification", + "r eno", + "re no", + "ren o", + "Ġo lig", + "Ġol ig", + "Ġoli g", + "- rated", + "-r ated", + "-rate d", + "-ra ted", + "Ġform ulation", + "Ġformula tion", + "Ġformul ation", + "' ,{", + "', {", + "Ġa cept", + "Ġac ept", + "Ġace pt", + "_ unpack", + "_un pack", + "_ CA", + "_C A", + ". Pow", + ".P ow", + "ĉ im", + "ĉi m", + "Ġal uminium", + "Ġalum inium", + "A NO", + "AN O", + "Ġ xn", + "Ġx n", + "Ġc ómo", + "Ġcó mo", + "Ġ Ingredient", + "ĠIng redient", + "Ġseiz ures", + "Ġseizure s", + "åħ ±", + "ific ador", + "ificado r", + "Ġs iguiente", + "Ġsigu iente", + "ĠIn fragistics", + "Ġd uplicated", + "Ġduplicate d", + "Ġdup licated", + "Ġduplic ated", + "ĠD ee", + "ĠDe e", + "Ġn ø", + "Ġ ACCEPT", + "ĠAC CEPT", + "( crate", + "(c rate", + "(cr ate", + "иÑĤ елÑĮ", + "иÑĤе лÑĮ", + "- less", + "-l ess", + "-le ss", + "Ġ infinity", + "Ġin finity", + "Ġinf inity", + "Ġinfinit y", + "An alyzer", + "Analy zer", + "- Day", + "-D ay", + "r itt", + "ri tt", + "rit t", + "( cin", + "(c in", + "(ci n", + "ĠG y", + "Ġmulti plied", + "Ġmultip lied", + "u chi", + "uch i", + "uc hi", + "ĠBald win", + "/ ip", + "/i p", + "Ġshort cuts", + "Ġshortcut s", + ". ADD", + ".A DD", + ".AD D", + "Ġv igor", + "Ġvi gor", + "Ġvig or", + "_ instruction", + "_in struction", + "_instr uction", + "( ;", + "_ eta", + "_e ta", + "_et a", + "è¿ ŀ", + "utor ials", + "utorial s", + "Ġboost ing", + "b v", + "Ġacknowled ges", + "Ġacknowledge s", + "List ening", + "Listen ing", + "F AQ", + "FA Q", + "; b", + "( (-", + "(( -", + "Ġarchitect s", + "Ġarchit ects", + "Ġz we", + "Ġzw e", + "Ġp uls", + "Ġpul s", + "Ġpu ls", + "Ġget Count", + "ĠgetC ount", + "ver bs", + "verb s", + "ãĢ ľ", + "( Collection", + "(C ollection", + "k re", + "kr e", + "Ġjurisdiction s", + "Ġjuris dictions", + "_ bridge", + "_b ridge", + "_br idge", + "ĠC rack", + "ĠCr ack", + "ĠCra ck", + "Ġ Difficulty", + "ĠDiff iculty", + "K O", + "Res ervation", + "_ requires", + "_re quires", + "_require s", + "T our", + "To ur", + "ãģĹ ãģŁ", + "ãģĹãģ Ł", + ". setCurrent", + ".set Current", + "Ġ ky", + "Ġk y", + "ĠAlb any", + "ĠAlban y", + "Ġ è§", + "Ġè §", + "l ler", + "ll er", + "lle r", + "ag na", + "agn a", + "work ers", + "worker s", + "wor kers", + ". blank", + ".bl ank", + "ĠPr ayer", + "ĠPra yer", + "M IC", + "MI C", + "Ġresil ience", + "Te X", + "Ġ Languages", + "ĠL anguages", + "ĠLanguage s", + "st udy", + "stu dy", + "stud y", + "ĉ curr", + "ĉc urr", + "ĉcur r", + "Ġenzym es", + "Ġenzyme s", + "S lug", + "Sl ug", + "Ġ íĮĮ", + "ĠíĮ Į", + "st ral", + "str al", + "stra l", + "Ġtum ors", + "Ġtumor s", + "Ġseg unda", + "Ġsegu nda", + "= '{", + "=' {", + "in struction", + "instr uction", + "ĠL isp", + "ĠLi sp", + "ĠLis p", + "/ info", + "/in fo", + "Ġ\" {$", + "Ġ\"{ $", + ",: ),", + ",:) ,", + "Ġ gv", + "Ġg v", + "( ErrorMessage", + "(Error Message", + "Ġ '=", + "Ġ' =", + "} -${", + "}- ${", + ". Documents", + ".Document s", + ".Doc uments", + "\" Well", + "\"We ll", + "\"W ell", + "Ġreminis cent", + "Ġg az", + "Ġga z", + "ir opr", + "iro pr", + "e hr", + "eh r", + "Ġsup pressed", + "Ġsuppress ed", + "Ġsupp ressed", + "er sh", + "ers h", + ".scroll To", + "Ġ cadena", + "Ġc adena", + "Ġcad ena", + "Ġcade na", + "Ġgame State", + "ÃŃ m", + "( conv", + "(con v", + "(co nv", + "Ġ Tomorrow", + "ĠTom orrow", + "ĠC CT", + "ĠCC T", + "M ongo", + "Mon go", + "Mo ngo", + "u lg", + "ul g", + ". Camera", + ".C amera", + ". handlers", + ".handle rs", + ".handler s", + ".hand lers", + "m ph", + "mp h", + "Ġ stk", + "Ġs tk", + "Ġst k", + "Ġgen etics", + "Ġgene tics", + "Ġgenetic s", + "AC ING", + "Tr ivia", + "Tri via", + "ĠB am", + "ĠBa m", + "( marker", + "(m arker", + "(mark er", + ". Stretch", + ".St retch", + ".Str etch", + "ĠSun ni", + "ĠB etty", + "ĠBe tty", + "ĠBet ty", + "ĠBett y", + ". tolist", + ".t olist", + ".to list", + "un likely", + ". Rectangle", + ".Rect angle", + "ob solete", + "IL ON", + "inner Text", + "em bourg", + "emb ourg", + "a N", + "ĠV ehicles", + "ĠVehicle s", + "un lock", + ": utf", + "n ob", + "no b", + "Ġ Seeing", + "ĠSe eing", + "ĠSee ing", + "ĠN EVER", + "ĠNE VER", + "Ġ tls", + "Ġt ls", + "Ġtl s", + "Ġf illes", + "Ġfil les", + "Ġfill es", + "Ġfille s", + "Ġbenef ited", + "Ġbenefit ed", + "ĠC lint", + "ĠCl int", + "ĠClin t", + "ĠCli nt", + "*/ ),", + "*/) ,", + ". fold", + ".f old", + "Ġpos ible", + "Ġposi ble", + "A DED", + "AD ED", + "ADE D", + "t house", + "th ouse", + ". DAL", + ".D AL", + "Ġ Odd", + "ĠO dd", + "ĠOd d", + "r okes", + "ro kes", + "roke s", + "rok es", + "ĠS unny", + "ĠSun ny", + "ĠPartial Eq", + "_ Buffer", + "_B uffer", + "ĠL evi", + "ĠLe vi", + "ĠLev i", + "long rightarrow", + "el don", + "eld on", + "eldo n", + "g ages", + "ga ges", + "gage s", + "_ warn", + "_w arn", + "_war n", + ".Create Table", + "ĠD ip", + "ĠDi p", + "_ questions", + "_question s", + "_quest ions", + ". logic", + ".log ic", + "Ġ #\"", + "Ġ# \"", + "={ ()=>", + "={() =>", + "={( )=>", + "Ġ tep", + "Ġt ep", + "Ġte p", + "Ġju icy", + "ì Ĥ¬", + "ìĤ ¬", + "en ko", + "enk o", + "ial ect", + "ia lect", + "iale ct", + "Ù ī", + "Ġon board", + "Ġ æı", + "Ġæ ı", + "ĉ rt", + "ĉr t", + "_ UTF", + "_U TF", + "_UT F", + "ĠQ Action", + "ĠQA ction", + "âĢ ŀ", + "( Component", + "( audio", + "(a udio", + ". hit", + ".h it", + "g te", + "gt e", + "Ġprogram med", + "Ġprogramme d", + "Ġprogramm ed", + "state Params", + "Ġpoly ester", + "f ires", + "fi res", + "fire s", + "fir es", + "by ss", + "] =(", + "]= (", + "_ quality", + "_q uality", + "_qu ality", + "_qual ity", + "Of Day", + "ĠF airy", + "ĠFair y", + "ĠFa iry", + "Ġy elled", + "Ġyell ed", + "o pl", + "op l", + "( userName", + "(user Name", + "Ġ Difference", + "ĠD ifference", + "ĠDiff erence", + "Ġeval uations", + "Ġevaluation s", + "Ġevalu ations", + "iff any", + "Ġcycl ists", + "Ġcyc lists", + "Ġcyclist s", + "Ġ cidade", + "Ġc idade", + "Ġcid ade", + "Ġtext book", + "Ġprof iling", + "Ġprofil ing", + "_ _),", + "__ ),", + "__) ,", + "d ea", + "de a", + ". activate", + ".act ivate", + ".activ ate", + "Ġind ications", + "Ġindic ations", + "Ġindication s", + "Ð ķ", + "Touch UpInside", + "Ġinval uable", + "Ġ MASK", + "ĠM ASK", + "ĠMA SK", + "ĠMAS K", + "Ġcont end", + "Ġconten d", + "Ġconte nd", + "F req", + "Fr eq", + "Fre q", + "Ġrec ruits", + "Ġrecru its", + "Ġrecruit s", + "( interval", + "(int erval", + "(inter val", + "Ġ UserProfile", + "ĠUser Profile", + "Ġ'./ ../", + "Ġ'. /../", + "e du", + "ed u", + "_ Callback", + "_C allback", + "_Call back", + "Ġan alogy", + "Ġanal ogy", + "Ġanalog y", + "Ġana logy", + "ĠT rophy", + "ĠTr ophy", + "ĠTro phy", + "app hire", + "V ideos", + "Video s", + "ĠC her", + "ĠCh er", + "ĠChe r", + "ĠH av", + "ĠHa v", + "â̦ \"", + ". validator", + ".valid ator", + "g fx", + "gf x", + "ĠU Object", + "class names", + "classname s", + "t riangle", + "tr iangle", + "tri angle", + "Ġ Encoder", + "ĠE ncoder", + "ĠEn coder", + "ĠEnc oder", + "ĠEncode r", + ". spy", + ".s py", + ".sp y", + "Ġpred ators", + "Ġpredator s", + "= status", + "=s tatus", + "- safe", + "-s afe", + ": \",Ċ", + ":\" ,Ċ", + ":\", Ċ", + "Ġ Including", + "ĠIn cluding", + "Ġ{ };čĊ", + "Ġ{} ;čĊ", + "Ġ{}; čĊ", + "* cos", + "*c os", + "Ġend ured", + "Ġendure d", + ".sul ake", + "Ġnurs ery", + "Ġnurse ry", + "Ġfrag rance", + "Ġre building", + "Ġrebuild ing", + "Ġ nth", + "Ġn th", + "Ġnt h", + "ĠFr aser", + "ĠFra ser", + ".set Date", + "ĠV ince", + "ĠVi nce", + "ĠVin ce", + "_ REST", + "_RE ST", + "_R EST", + "_RES T", + "Ġvent ilation", + "Ġventil ation", + "æµ ·", + "cri bes", + "cribe s", + ". asm", + ".as m", + ".a sm", + "lp Vtbl", + "ĠA be", + "ĠAb e", + "u isine", + "uis ine", + ", array", + ",a rray", + ",arr ay", + "ĉ className", + "ĉclass Name", + "err als", + "erra ls", + "erral s", + "Ġ 'ĊĊ", + "Ġ' ĊĊ", + "Ġ'Ċ Ċ", + "Check out", + "Ġs olicit", + "Ġso licit", + "Ġsol icit", + "Ġsolic it", + "A ux", + "Au x", + "_ capture", + "_c apture", + "_cap ture", + "Ġr ibs", + "Ġrib s", + "Ġri bs", + "r agon", + "ra gon", + "rag on", + "v iol", + "vi ol", + "vio l", + "to pics", + "top ics", + "topic s", + "Function Flags", + "ĠM arty", + "ĠMar ty", + "ĠMart y", + "b ike", + "bi ke", + "ĠT ucker", + "ĠTu cker", + "( kernel", + "(k ernel", + "Ġ Ops", + "ĠO ps", + "ĠOp s", + "Close Operation", + "/ demo", + "/d emo", + "/de mo", + "i lda", + "il da", + "ild a", + "ĠlÃŃ nea", + "AP PING", + "APP ING", + "Ġsu ites", + "Ġsuit es", + "Ġsuite s", + "Ġsui tes", + ".visit VarInsn", + "u rus", + "ur us", + "uru s", + "Ġ Minute", + "ĠMin ute", + "( manager", + "(m anager", + "(man ager", + "Ġbutter fly", + "Ġa pare", + "Ġap are", + "Ġapar e", + "Ġapa re", + "Ġw olves", + "Ġwol ves", + "J WT", + "ĠS alon", + "ĠSal on", + "ĠSa lon", + "ĉ delay", + "ĉd elay", + "ĉde lay", + "ĉdel ay", + "- eslint", + "-es lint", + "is ations", + "isation s", + ". rpc", + ".r pc", + ") |(", + ")| (", + "ĠSnap chat", + "/ mm", + "/m m", + "M N", + "c eries", + "ce ries", + "cer ies", + ".t extAlignment", + ".text Alignment", + "ĠFrank furt", + "Ġ ado", + "Ġa do", + "Ġad o", + "( newValue", + "(new Value", + "( access", + "(a ccess", + "(ac cess", + "(acc ess", + "( Expression", + "Ġ SignIn", + "ĠSign In", + "ĠHa iti", + "ĠHait i", + "ĠHai ti", + "_ tp", + "_t p", + ". setParameter", + ".set Parameter", + "Min ute", + "Ġmanual s", + "ric anes", + "ricane s", + "rica nes", + "Ġ PTR", + "ĠP TR", + "ĠPT R", + "Ġ Outer", + "ĠO uter", + "ĠOut er", + "ĠOu ter", + "Ġ getline", + "Ġget line", + "oc ations", + "ocation s", + "_ CD", + "_C D", + "ĠL yon", + "ĠLy on", + "/ gui", + "/g ui", + "_ live", + "_l ive", + "_li ve", + "i dan", + "id an", + "ida n", + ". geom", + ".ge om", + ".geo m", + "Ġborder Bottom", + "im uth", + "imu th", + "_ checkpoint", + "_check point", + "Ġm eu", + "Ġme u", + "ĠIr ving", + "Ġpeu vent", + "( MAX", + "(M AX", + "Ġ ARCH", + "ĠAR CH", + "ĠARC H", + "Ġp ov", + "Ġpo v", + ".source forge", + "Ġjam ais", + "Ġ ark", + "Ġa rk", + "Ġar k", + "ĠBaghd ad", + "Ġ CLEAR", + "ĠC LEAR", + "ĠCL EAR", + "Menu Bar", + "Ġtr ois", + "Ġtro is", + "CHED ULE", + "Ġ #čĊ", + "Ġ# čĊ", + "( Call", + "(C all", + "$ order", + "( Material", + "(M aterial", + "(Mat erial", + "Ġencontr ado", + "$ list", + "$l ist", + "ĠMETHOD S", + ". beginTransaction", + ".begin Transaction", + "_M AG", + "_MA G", + "Style Sheet", + "Ġmajor s", + "Ġmaj ors", + "Ġindef initely", + "Ġindefinite ly", + "c leanup", + "clean up", + "Ġhome land", + "Ġhom eland", + "( dto", + "(d to", + "(dt o", + "D ates", + "Date s", + "Da tes", + "Dat es", + "P resentation", + "Present ation", + "Ġ DK", + "ĠD K", + "={` /", + "ĉ Key", + "ĉK ey", + "( Block", + "(B lock", + "_ checkbox", + "_check box", + "ne eds", + "need s", + "nee ds", + "Ġon Complete", + "r ico", + "ri co", + "ric o", + "Ġg leich", + "Ġgle ich", + "Ġ xm", + "Ġx m", + "O OD", + "OO D", + "B etter", + "Bet ter", + "ĠSQL ITE", + ". Book", + ".B ook", + "x ad", + "xa d", + "ĠG one", + "ĠGo ne", + "ĠGon e", + "ĉ dp", + "ĉd p", + "Ġdev otion", + "Ġ stm", + "Ġs tm", + "Ġst m", + "Ġob sess", + "Ġobs ess", + "Ġ Backend", + "ĠBack end", + "Qu eries", + "Que ries", + "I k", + "/ /****************************************************************", + "// ****************************************************************", + "Ġdivide nds", + "Ġdivid ends", + "Ġdividend s", + ".parent Element", + "} \")ĊĊ", + "}\" )ĊĊ", + "}\")Ċ Ċ", + "}\") ĊĊ", + "ĠMaterial PageRoute", + ": num", + ":n um", + "Ġexp lic", + "Ġexpl ic", + "Ġ OL", + "ĠO L", + "l east", + "le ast", + "lea st", + "O ops", + "iment os", + "imento s", + "imen tos", + "Ġins urers", + "Ġinsure rs", + "Ġinsurer s", + "Ġhero ic", + "ĉ fields", + "ĉf ields", + "ĉfield s", + ".img ur", + ".btn Cancel", + "ĠDet ective", + "ĠDetect ive", + "( sm", + "(s m", + "ĠMutable LiveData", + ". lab", + ".l ab", + "( ([", + "(( [", + "Ġha irst", + "Ġhair st", + "Ġhai rst", + "Ġhairs t", + "Ġ Transactions", + "ĠTrans actions", + "ĠTransaction s", + "å¼Ģ å§ĭ", + "Ġ stdClass", + "Ġstd Class", + "u ento", + "uen to", + "uent o", + "G IS", + "GI S", + "_ cod", + "_c od", + "_co d", + "In structions", + "Instruction s", + "Instr uctions", + "C alls", + "Call s", + "Cal ls", + "Pointer Type", + "ĠR w", + "Ġassort ment", + "Ġ DIG", + "ĠD IG", + "ĠDI G", + "+ r", + "_ CERT", + "_C ERT", + "_CE RT", + "Ġinst ability", + "Ġv ib", + "Ġvi b", + "o nas", + "on as", + "ona s", + "Ġr oku", + "Ġro ku", + "Ġrok u", + "ap ellido", + "Ġ angl", + "Ġan gl", + "Ġang l", + "prene ur", + "Ġfl uids", + "Ġfluid s", + "Ġflu ids", + "is ease", + "ise ase", + "Ġd eed", + "Ġde ed", + "Ġdee d", + "qu ist", + "quis t", + "qui st", + "_CONST ANT", + "Ġequ ilibrium", + "_ delegate", + "_de legate", + "ĠQuant um", + "r ei", + "re i", + "Cap abilities", + "rect angle", + "? ><", + "?> <", + "a lien", + "al ien", + "ali en", + "alie n", + "ĠJ ug", + "ĠJu g", + "D NA", + "DN A", + "T ickets", + "Tick ets", + "Ticket s", + "Occ urs", + "ĠH awk", + "ĠHaw k", + "ĠHa wk", + ".setHorizontal Group", + "\\ Collection", + "\\C ollection", + "ff iti", + "ffi ti", + "Ġre arr", + "Ġrear r", + ".setVertical Group", + "Ġc avity", + "Ġcav ity", + "Ġadult e", + "Ġadul te", + "Fac ade", + "Fa cade", + "- wh", + "-w h", + "ĠL OL", + "ĠLO L", + "Ø °", + "Ġgrand parents", + "Sw ift", + "ĉ wx", + "ĉw x", + "æīĢ æľī", + "i fen", + "if en", + "ife n", + "ff set", + "B eyond", + "// }ĊĊ", + "//}Ċ Ċ", + "Ġw ager", + "Ġwa ger", + "Ġwage r", + "Ġwag er", + "Ġ bury", + "Ġb ury", + "Ġbu ry", + "Ġbur y", + "Ġcomm ence", + "Ġcomme nce", + "Ġcommenc e", + "reg istro", + "registr o", + "regist ro", + "s cient", + "sc ient", + "sci ent", + "Ġ Percent", + "ĠPer cent", + "ĠPerc ent", + "Ġд олж", + "Ġдол ж", + "( identifier", + "(id entifier", + "(ident ifier", + ".set Model", + "Ġs eldom", + "Ġsel dom", + "n ton", + "nt on", + "Ġap pliance", + "Ġappl iance", + "a mus", + "am us", + "amu s", + "rys ler", + "Ġpan ties", + "Ġpant ies", + "engu ins", + "enguin s", + "Ġmi mic", + "Ġmim ic", + "Ġon Changed", + "ĠonChange d", + "Ġal coholic", + "Ġalcohol ic", + ".reload Data", + "Ch arge", + "Char ge", + "Ġ Fax", + "ĠF ax", + "ĠFa x", + "Ġj ScrollPane", + "Emp resa", + "Ġsh attered", + "x ba", + "xb a", + "Font s", + "Fo nts", + "? s", + "Ġpost season", + "re tain", + "ret ain", + "reta in", + "_ rates", + "_r ates", + "_rate s", + "_ra tes", + "_rat es", + "Ġ requestCode", + "Ġrequest Code", + ". todo", + ".t odo", + ".to do", + "´ s", + "C HK", + "CH K", + "Ġ Keeping", + "ĠKe eping", + "ĠKeep ing", + "ĠKee ping", + "enge ance", + "Ġvs code", + "IP PING", + "IPP ING", + "Default CloseOperation", + "_ raise", + "_r aise", + "_ra ise", + "ĠO culus", + "ĠOc ulus", + "o grams", + "og rams", + "ogram s", + "ogr ams", + "ogra ms", + "r aj", + "ra j", + "p ci", + "pc i", + "Ġcorros ion", + ". handleSubmit", + ".handle Submit", + "Access ible", + "ĠP iano", + "ĠPi ano", + "l ittle", + "lit tle", + "A CL", + "AC L", + "Äĩ e", + ". unwrap", + ".un wrap", + "ĠCon vers", + "ĠConv ers", + "ĠLe ben", + "ion eer", + "ione er", + "Ġ Merchant", + "ĠM erchant", + "ĠMer chant", + "ĠMerch ant", + "ĠJ orge", + "Ġembr acing", + "Ġ venta", + "Ġv enta", + "Ġvent a", + "Ġven ta", + "á st", + "ás t", + "Ġv iene", + "Ġvi ene", + "Ġvie ne", + "< QString", + "Ċ", + "-g rowing", + "-gr owing", + "-grow ing", + "Ġdeep copy", + "A ck", + "Ac k", + "eg gies", + "egg ies", + "Ġ __(\"", + "Ġ_ _(\"", + "Ġ__ (\"", + "Ġ__( \"", + "Ġn oir", + "Ġno ir", + "Ġnoi r", + "terror ism", + "Ġan them", + "Ġant hem", + "Ġanth em", + "a gency", + "ag ency", + "age ncy", + "agen cy", + "_ PACKAGE", + "_PACK AGE", + "Ġ Closure", + "ĠC losure", + "ĠClo sure", + ". registry", + ".reg istry", + "Ġmamm als", + "Ġmamma ls", + "< L", + "U ICollectionView", + "UI CollectionView", + "ĠLE Ds", + "ĠLED s", + "Ġv olley", + "Ġvol ley", + "Ġvoll ey", + "( Buffer", + "(B uffer", + "_N ATIVE", + "li bc", + "lib c", + "im plode", + "impl ode", + "Scroll Bar", + "ĠMar ion", + "ĠMario n", + "ĠMari on", + ". Contracts", + ".Con tracts", + ".Contract s", + "_ At", + "_A t", + "ĠWe instein", + "ĠWein stein", + "compare To", + "ĠH ose", + "ĠHo se", + "ĠHos e", + "en ity", + "eni ty", + ". createQuery", + ".create Query", + "_ router", + "_r outer", + "_ro uter", + "_route r", + "Ġstim uli", + "Ġ ++)", + "Ġ+ +)", + "Ġ++ )", + "ĠCh amp", + "ĠCha mp", + "ĠCham p", + "ĠBay ern", + "ĠBayer n", + "a ssa", + "as sa", + "ass a", + ". va", + ".v a", + "Ġdistrib utors", + "Ġdistributor s", + "Ġfile private", + "Ġdepart ed", + "c ccc", + "cc cc", + "ccc c", + "@ click", + "@c lick", + "ĠL unch", + "ĠLun ch", + "> L", + "Ġb luetooth", + "Ġbl uetooth", + ". Deep", + ".De ep", + "- standing", + "-st anding", + "á cil", + "ác il", + "áci l", + "Ġro oft", + "Ġroof t", + "Ġ Paths", + "ĠP aths", + "ĠPat hs", + "ĠPath s", + "ĠPa ths", + "_ iterations", + "_iter ations", + "_iteration s", + "Invalid ArgumentException", + ". spi", + ".s pi", + ".sp i", + "Ġ UIAlertAction", + "ĠUIAlert Action", + "u ye", + "uy e", + "sign in", + "sig nin", + ". priority", + ".p riority", + "ĠEs says", + "ĠEss ays", + "ĠEssay s", + "=' {$", + "='{ $", + "Ġ è¿ĶåĽŀ", + "Ġè¿ ĶåĽŀ", + "_ signed", + "_s igned", + "_sign ed", + "_sig ned", + ". persist", + ".p ersist", + "Ġre design", + "Ġred esign", + "Ġrede sign", + "Ġredes ign", + "To Lower", + "ĠNew man", + "= start", + "ĠIsrael is", + "ĠIsraeli s", + "as iswa", + "asis wa", + "S peech", + "Spe ech", + "Ġnum eros", + "Ġnumer os", + "Ġnumero s", + "handle rs", + "hand lers", + "handler s", + "ĠW ong", + "ĠWo ng", + "ĠWon g", + "Ġм еÑĤод", + "ĠмеÑĤ од", + "We ights", + "Weight s", + "ĠGu jar", + "t eil", + "te il", + "ĠNone theless", + "ĠNon etheless", + "_E FFECT", + "Ġ vect", + "Ġv ect", + "Ġve ct", + "Ġvec t", + "ĠO sc", + "ĠOs c", + "Ġco ats", + "Ġcoat s", + "ĠW heat", + "ĠWh eat", + "ĠWhe at", + "Ġge ek", + "Ġgee k", + "Ġ PROPERTY", + "ĠP ROPERTY", + "ĠPRO PERTY", + "w orm", + "wo rm", + "wor m", + "_ constants", + "_con stants", + "_const ants", + "_constant s", + "ĠB oulder", + "ĠBou lder", + "Ġ Parm", + "ĠP arm", + "ĠPar m", + "ĠPa rm", + "c ole", + "co le", + "col e", + "Ġdefault Center", + "ĠRo uge", + "ĠRou ge", + ": A", + "x cf", + "xc f", + "ĠVen ice", + "ĠVe nice", + "m edian", + "med ian", + "medi an", + "media n", + "Ġred emption", + "F resh", + "Fr esh", + "Fre sh", + "Ġco sm", + "Ġcos m", + "Ġ figur", + "Ġfig ur", + "Ġref urb", + "CO PE", + ". cd", + ".c d", + "Ġch ords", + "Ġchord s", + "Ġchor ds", + "ĠS gt", + "Å į", + "V PN", + "VP N", + "Ġ SEND", + "ĠS END", + "ĠSE ND", + "ĠSEN D", + "a inen", + "ain en", + "ai nen", + "aine n", + "_ accounts", + "_account s", + "_ac counts", + "Ġt enth", + "Ġte nth", + "Ġten th", + "Ġtent h", + "Ġdiss olved", + "Ġdissolve d", + "< App", + "", + "Ġ' >", + "Ġlegitim acy", + "Ġ oo", + "Ġo o", + "S linky", + "Sl inky", + "Ġnational s", + "Ġnation als", + ". words", + ".w ords", + ".word s", + "; p", + "t rap", + "tr ap", + "tra p", + "oman ip", + "oma nip", + "Ġc ues", + "Ġcu es", + "Ġcue s", + "Ġgrad uating", + "Ġgradu ating", + "Ġsem aphore", + "\" ]);ĊĊ", + "\"] );ĊĊ", + "\"]) ;ĊĊ", + "\"]);Ċ Ċ", + "\"]); ĊĊ", + "ace y", + "ac ey", + "RE ET", + "REE T", + "G rab", + "Gr ab", + "ĠF elix", + "ĠFe lix", + "ĠFel ix", + "( Id", + "(I d", + "_ neighbors", + "_ne ighbors", + "_neighbor s", + "Ġmeaning less", + "( del", + "(d el", + "(de l", + "Ġj eder", + "Ġje der", + "Ġjed er", + "Ġjede r", + "ĠContent Values", + ". absolute", + ".a bsolute", + ".abs olute", + "/ cl", + "/c l", + "Ġ xb", + "Ġx b", + "d atum", + "dat um", + "Ġtort ured", + "Ġtorture d", + "Ġrub bing", + "Ġru bbing", + "S cores", + "Sc ores", + "Score s", + "ĠðŁĺ ī", + "Ġav ons", + "Ġam sterdam", + "E OS", + "EO S", + "H al", + "Ha l", + "Ġtrust worthy", + "# =", + ".EX TRA", + "Ġm ano", + "Ġman o", + "Ġma no", + "is icing", + "isi cing", + "- support", + "-s upport", + "-sup port", + "ĉ cursor", + "ĉc ursor", + "Ġ Spo", + "ĠS po", + "ĠSp o", + "ai massage", + "aim assage", + "M ission", + "Miss ion", + "[] {\"", + "[]{ \"", + "Ġpr inters", + "Ġprint ers", + "Ġprinter s", + "Ġprin ters", + "G REEN", + "GRE EN", + "GREE N", + "Ġ teg", + "Ġt eg", + "Ġte g", + "Ġabdom inal", + "! ĊĊĊĊĊĊ", + "!ĊĊ ĊĊĊĊ", + "!Ċ ĊĊĊĊĊ", + "!ĊĊĊĊ ĊĊ", + "!ĊĊĊ ĊĊĊ", + ". Short", + ".S hort", + ".Sh ort", + "а зв", + "аз в", + "ĠGi fts", + "ĠGift s", + "} \")", + "}\" )", + "( binding", + "(b inding", + "(bin ding", + "(bind ing", + "x ce", + "xc e", + "âĢ ij", + "in fos", + "info s", + "inf os", + "Form Data", + "Ġ dart", + "Ġd art", + "Ġda rt", + "Ġdar t", + "Ġ elems", + "Ġe lems", + "Ġel ems", + "Ġele ms", + "Ġelem s", + "( inv", + "(i nv", + "(in v", + "Y L", + "t in", + "ti n", + "G ENER", + "GE NER", + "GEN ER", + "á» ¯", + "Ġ Taken", + "ĠT aken", + "ĠTake n", + "ĠTa ken", + "ĠTak en", + "uc kle", + "uck le", + ": e", + "Ġs pectral", + "Ġspect ral", + "Ġspectra l", + ".b aidu", + "/ ');Ċ", + "/' );Ċ", + "/') ;Ċ", + "Ġgre edy", + "Ġgreed y", + "es ion", + "esi on", + ",,,, ,,,,", + "Ġ/ >,Ċ", + "Ġ/> ,Ċ", + "Ġ/>, Ċ", + "Internal ServerError", + "NS NotificationCenter", + "NSNotification Center", + "Ġ Ai", + "ĠA i", + "Ġs pit", + "Ġsp it", + "Ġspi t", + "Ġaug mented", + "Ġaugment ed", + "Ġstandard UserDefaults", + "FIN ITY", + "R ace", + "Ra ce", + ": C", + "ĠRE CORD", + "ĠREC ORD", + "Ġ Highlight", + "ĠHigh light", + "Ġ' `", + "Ġdef icits", + "Ġdeficit s", + "Ġn ei", + "Ġne i", + "Ġresearch ed", + "T a", + "Ġc opp", + "Ġco pp", + "Ġcop p", + ".Get HashCode", + ") :čĊčĊ", + "): čĊčĊ", + "):čĊ čĊ", + "On Click", + "ĠWell ington", + "ĠWel lington", + "Ġrev ival", + "æ¯ Ķ", + "éĹ ®", + "Ġ NSS", + "ĠN SS", + "ĠNS S", + "Ġf orn", + "Ġfor n", + "Ġfo rn", + "Ġin té", + "Ġint é", + "ĠKu wait", + "_ flip", + "_f lip", + "_fl ip", + "_ bo", + "_b o", + "_ \\", + "Ġocc urrences", + "Ġoccurrence s", + "Ġ Scientists", + "ĠScient ists", + "ĠScientist s", + "S RC", + "SR C", + "o gens", + "og ens", + "ogen s", + "oge ns", + "i grant", + "ig rant", + "igr ant", + "RE MOTE", + "REM OTE", + "Ġ SID", + "ĠS ID", + "ĠSI D", + ". opts", + ".op ts", + ".o pts", + ".opt s", + "u ve", + "uv e", + "( )])Ċ", + "() ])Ċ", + "()] )Ċ", + "Ġlibert arian", + "ĠG lide", + "ĠGl ide", + "l esen", + "le sen", + "les en", + "Ġ forme", + "Ġfor me", + "Ġform e", + "ow ania", + "owa nia", + "owan ia", + "Ġannoy ed", + "D efs", + "De fs", + "Def s", + "Ġ Executor", + "ĠExec utor", + "Ġ casts", + "Ġc asts", + "Ġca sts", + "Ġcas ts", + "Ġcast s", + ". setChecked", + ".set Checked", + "Ġ Sharing", + "ĠSh aring", + "ĠSha ring", + "ĠShar ing", + ".Serialize Object", + "Ġ selectors", + "Ġselect ors", + "Ġselector s", + "Ġsel ectors", + "Ġsele ctors", + "_ OTHER", + "_OT HER", + "ë ¯¸", + "ë¯ ¸", + "( super", + "(s uper", + "( OS", + "(O S", + "_ VERIFY", + "_VER IFY", + "id unt", + "< header", + "';Ċ", + "Ġ/> ';Ċ", + "Ġ/>' ;Ċ", + "Ġvid éo", + "Ġvidé o", + "ĠNe gro", + "ĠNeg ro", + "ĠL ords", + "ĠLord s", + "ĠLor ds", + "ĠT ours", + "ĠTo urs", + "ĠTour s", + "ĠTou rs", + "Ġsoft ly", + ". receive", + ".re ceive", + "Ġ ERC", + "ĠE RC", + "ĠER C", + "Ġdata Set", + "B adge", + "Bad ge", + "Ba dge", + "ĉ Event", + "ĉE vent", + "Ġ perl", + "Ġper l", + "Ġpe rl", + "Ġ {}\\", + "Ġ{ }\\", + "Ġ{} \\", + "( sentence", + "(s entence", + "(sent ence", + "Or Update", + "Ġdim inish", + "Ġdimin ish", + "P IN", + "PI N", + "( draw", + "(d raw", + "(dr aw", + ".To DateTime", + ". EqualTo", + ".Equal To", + "( pin", + "(p in", + "(pi n", + "-p encil", + "l uent", + "lu ent", + "lue nt", + "Ġ Caller", + "ĠC aller", + "ĠCal ler", + "ĠCall er", + "ĠCa ller", + "Ġplay ful", + "- '+", + "-' +", + "x ca", + "xc a", + "s wick", + "sw ick", + ") {}Ċ", + "){ }Ċ", + "} :${", + "}: ${", + "ĠM eth", + "ĠMe th", + "ĠMet h", + ". getCell", + ".get Cell", + ".getC ell", + ". break", + ".b reak", + "Ġ ymax", + "Ġy max", + "=' Ċ", + "}`} >Ċ", + "ĠH iro", + "ĠHi ro", + "ĠHir o", + "( TRUE", + "(TR UE", + "as urer", + "asure r", + "asu rer", + "Ġc uer", + "Ġcu er", + "Ġcue r", + "U ber", + "Ub er", + ". Operation", + ".O peration", + ".Op eration", + "Ġ olan", + "Ġo lan", + "Ġol an", + "Ġola n", + "Ġthr illing", + "Ġthrill ing", + "< Response", + "ĠF emin", + "ĠFe min", + "ĠFem in", + "Ġtr aversal", + "Ġtravers al", + "Ġp oc", + "Ġpo c", + "Ġ setStatus", + "Ġset Status", + "de clar", + "dec lar", + "decl ar", + "std afx", + "Ġaddict ive", + "Ġ Btn", + "ĠB tn", + "Ġexplos ives", + "Ġexplosive s", + "ĠCo oking", + "ĠCook ing", + "ĠPl aint", + "ĠPlain t", + "ĠPla int", + "Ġ accumulator", + "Ġaccum ulator", + "Ġ Appointment", + "ĠApp ointment", + ", password", + ",p assword", + "ĠF AR", + "ĠFA R", + "l uet", + "lu et", + "lue t", + "Further more", + "decl spec", + "_ Statics", + "_Static s", + "_St atics", + ". Dictionary", + ".D ictionary", + "\" >'.", + "\"> '.", + "\">' .", + "ĉ valid", + "ĉval id", + "ĉva lid", + "\" \",", + "\"\" ,", + "In strument", + "Instr ument", + "> J", + "Ġno str", + "Ġnos tr", + "Ġnost r", + "ĠR ift", + "ĠRi ft", + "ĠRif t", + "_ Port", + "_P ort", + "Ġve ces", + "Ġvec es", + "[ ['", + "[[ '", + "Ġrall ies", + "- series", + "-s eries", + "-se ries", + "-ser ies", + "Ġ vv", + "Ġv v", + ". uc", + ".u c", + "Ġr tn", + "Ġrt n", + "State Changed", + "( ins", + "(i ns", + "(in s", + "Ġ Cla", + "ĠC la", + "ĠCl a", + "- -----------Ċ", + "-- ----------Ċ", + "---- --------Ċ", + "-------- ----Ċ", + "--- ---------Ċ", + "------------ Ċ", + "----- -------Ċ", + "---------- --Ċ", + "------ ------Ċ", + "----------- -Ċ", + "------- -----Ċ", + "--------- ---Ċ", + "c us", + "cu s", + "Ġ Reload", + "ĠR eload", + "ĠRe load", + "ĠRel oad", + "// ------------------------------------------------------------------------------------------------", + "//---------------------------------------------------------------- --------------------------------", + "//---------------------------------------------------------------------------- --------------------", + "//------------------------------------------------ ------------------------------------------------", + "//-------------------------------- ----------------------------------------------------------------", + "//-------------------------------------------------------------------------------- ----------------", + "//---------------- --------------------------------------------------------------------------------", + ". seconds", + ".se conds", + ".second s", + ".sec onds", + "_ destination", + "_d estination", + "_dest ination", + "Ġscre wed", + "Ġscr ewed", + "Ġscrew ed", + "> c", + "Th ickness", + "Des igner", + "Design er", + "Ġgr ids", + "Ġgrid s", + "Ġgri ds", + "n Äħ", + "( cookie", + "(c ookie", + "(co okie", + "T rip", + "Tr ip", + "Tri p", + "- Mobile", + "-M obile", + "Ġv oll", + "Ġvo ll", + "Ġvol l", + "Ġgen ital", + "Ġconf isc", + "ĠConfeder ate", + "Ġ webView", + "Ġweb View", + "Ġ mise", + "Ġm ise", + "Ġmis e", + "Ġmi se", + "Ġc ler", + "Ġcl er", + "Ġcle r", + "( selection", + "(s election", + "(se lection", + "(select ion", + "(sel ection", + "$ date", + "$d ate", + "Ġsharp en", + "Ġshar pen", + "r agen", + "ra gen", + "rag en", + "rage n", + "And Update", + "Ġre mix", + "Ġrem ix", + "Ġh tons", + "Ġht ons", + "Ġhton s", + "R W", + "M PI", + "MP I", + "Ġretrie val", + "Ġretr ieval", + "Ġrich est", + "Ġri chest", + "Ġric hest", + "Ġriches t", + ". Decode", + ".De code", + ".Dec ode", + ":init Components", + "ĠT Value", + "ĠTV alue", + "S aint", + "Sa int", + "@ include", + "Ġ PERSON", + "ĠPER SON", + ". sep", + ".s ep", + ".se p", + "Ġ LDAP", + "ĠLD AP", + "g ba", + "gb a", + "Ġgro ÃŁe", + "ĠgroÃŁ e", + "Ġreli ably", + "Ġ DFS", + "ĠD FS", + "ĠDF S", + ".get ItemId", + ".getItem Id", + "Ġpré sent", + "Ġprés ent", + ". getToken", + ".get Token", + "Ġch inese", + "Ġchin ese", + "Ġ Meal", + "ĠMe al", + "Y OU", + "YO U", + "\" > >ĊĊ", + "Ġ> >ĊĊ", + "Ġ>> ĊĊ", + "b ower", + "bo wer", + "bow er", + "Ġsw apped", + "Ġswap ped", + "/ install", + "Ġs inks", + "Ġsin ks", + "Ġsink s", + "etr ize", + "etri ze", + "Ġdec lines", + "Ġdecl ines", + "Ġdecline s", + "ĉ mysql", + "ĉm ysql", + "ĉmy sql", + "Ġ CString", + "ĠC String", + "ĠCS tring", + "ĠM otionEvent", + "ĠMotion Event", + ". Language", + ".L anguage", + "R oad", + "Ro ad", + "ÑĤ еÑĢ", + "ÑĤе ÑĢ", + "asc imento", + "' ))->", + "') )->", + "')) ->", + ". about", + ".a bout", + ".ab out", + "( editor", + "(e ditor", + "(ed itor", + "(edit or", + "ĠR atings", + "ĠRa tings", + "ĠRating s", + "ĠRat ings", + "in come", + "inc ome", + "Å¡ e", + ".de queueReusableCell", + "ĠAust rian", + "ĠAustria n", + "ĠAustr ian", + "Ġs ulla", + "Ġsu lla", + "Ġsul la", + "ĠTrib unal", + "Ġ Didn", + "ĠDi dn", + "ĠDid n", + "о ваÑĢ", + "ов аÑĢ", + "ова ÑĢ", + "Ġins pections", + "Ġinspect ions", + "Ġinspection s", + "Ġinsp ections", + "B oss", + "Bo ss", + "Ġcock tails", + "Ġcocktail s", + "Ġapolog ized", + "Ġapologize d", + "_ subplot", + "_sub plot", + "o pal", + "op al", + "opa l", + "+ =(", + "+= (", + "Ġreson ance", + "i bu", + "ib u", + "Ġ 리", + "Ġë ¦¬", + "Ġë¦ ¬", + "r oma", + "ro ma", + "rom a", + "re serve", + "res erve", + "rese rve", + "p ls", + "pl s", + "ĠT ah", + "ĠTa h", + "a xies", + "ax ies", + "O PLE", + "OP LE", + "ĠDar ren", + "ĠZ ombie", + "_ Map", + "_M ap", + "Ġ ])ĊĊ", + "Ġ] )ĊĊ", + "Ġ])Ċ Ċ", + "Ġ]) ĊĊ", + "Ġ Qi", + "ĠQ i", + "ĠS ail", + "ĠSa il", + "ĠSai l", + "Ġrestrict ive", + "Ġeros ion", + "- par", + "-p ar", + "W HITE", + "WH ITE", + "Ġold u", + "Ġol du", + "Ġap erture", + "Ġbit coins", + "Ġbitcoin s", + "text o", + "tex to", + "ĠCom cast", + "Ġtime less", + "Ġtim eless", + "en kins", + "enk ins", + "Ġfe eder", + "Ġfeed er", + "Ġfee der", + "/ tmp", + "/t mp", + "res den", + "+ '_", + "+' _", + ". Destroy", + ".D estroy", + ".De stroy", + "Ġ çok", + "Ġç ok", + "Ġ DOCUMENT", + "ĠD OCUMENT", + "ĠDOC UMENT", + ". lng", + ".l ng", + ". tagName", + ".tag Name", + "Ġk ullan", + "Ġkul lan", + "eg rate", + "egr ate", + "egra te", + "Ġ( *.", + "Ġ(* .", + "ç¼ĸ è¾ij", + "Ġhand shake", + "s oc", + "so c", + "_ geometry", + "_ge ometry", + "_geo metry", + "_geom etry", + "ĠDam ascus", + "Min or", + "Mi nor", + "ĠK afka", + "ĠKaf ka", + "ìĹ ¬", + "Fl orida", + "_ compute", + "_com pute", + "_comp ute", + ". expr", + ".ex pr", + ".exp r", + "Ġ paralle", + "Ġpar alle", + "Ġpara lle", + "ĠD iaz", + "ĠDi az", + "ĠDia z", + "c ir", + "ci r", + "[ target", + "[t arget", + "Ġj oking", + "Ġjo king", + "Ġg lor", + "Ġgl or", + "Ġglo r", + "( setq", + "(set q", + "_ handlers", + "_handler s", + "_handle rs", + "_hand lers", + "H ang", + "Ha ng", + "Han g", + "Ġf err", + "Ġfe rr", + "Ġfer r", + "r iminal", + "rim inal", + "ĉ ĠĠĠĠĉĉ", + "ĉĠĠĠ Ġĉĉ", + "ĉĠ ĠĠĠĉĉ", + "ĉĠĠ ĠĠĉĉ", + "ĉĠĠĠĠ ĉĉ", + "ĉĠĠĠĠĉ ĉ", + "en ties", + "ent ies", + "enti es", + "def ines", + "define s", + "- tax", + "-t ax", + "json p", + "Ġ UPS", + "ĠU PS", + "ĠUP S", + "m etro", + "me tro", + "met ro", + "_ _;Ċ", + "__ ;Ċ", + "__; Ċ", + "ĠUg anda", + "] )):Ċ", + "]) ):Ċ", + "])) :Ċ", + "_ td", + "_t d", + "x ae", + "xa e", + "l w", + ". OS", + ".O S", + "Ġ Logged", + "ĠLog ged", + "a cid", + "ac id", + "aci d", + "ĠM ayo", + "ĠMay o", + "ĠMa yo", + "a spect", + "as pect", + "asp ect", + "Ġvag inal", + "Ġvagina l", + "Ġinitial izing", + "Ġste roids", + "Ġster oids", + "Ġsteroid s", + "f iction", + "fi ction", + "fic tion", + "G RE", + "GR E", + "g end", + "ge nd", + "gen d", + "Ġli abilities", + "Ġ Lets", + "ĠL ets", + "ĠLe ts", + "ĠLet s", + "M ech", + "Me ch", + "( nc", + "(n c", + "( change", + "(ch ange", + "(chan ge", + "Ġconn ectors", + "Ġconnect ors", + "Ġconnector s", + ": k", + "Ġt ast", + "Ġta st", + "Ġtas t", + "! \");ĊĊ", + "!\" );ĊĊ", + "!\");Ċ Ċ", + "!\"); ĊĊ", + "!\") ;ĊĊ", + "th ings", + "thing s", + "thin gs", + "r ophy", + "ro phy", + "rop hy", + "roph y", + "l uetooth", + "lu etooth", + "luet ooth", + "Ġ SignUp", + "ĠSign Up", + ". ctrl", + ".c trl", + ".ct rl", + "Ġthere in", + "Ġther ein", + "or da", + "ord a", + ". escape", + ".e scape", + ".es cape", + "ig ator", + "iga tor", + "Ġpet rol", + "Ġspec imen", + "Ġspeci men", + "Ġdeb uted", + "Ġdebut ed", + "- Pro", + "-P ro", + "Ġcr ises", + "Ġcri ses", + "Ġcris es", + ".add View", + "ëı Ļ", + "- door", + "-d oor", + "-do or", + "Ġm onet", + "Ġmon et", + "Ġmo net", + "Ġm illis", + "Ġmill is", + "Ġmil lis", + "Ġmilli s", + "Ġ vier", + "Ġv ier", + "Ġvi er", + "Ġvie r", + "Internal Enumerator", + "Ġ admins", + "Ġad mins", + "Ġadmin s", + "Ġadm ins", + "ĠL air", + "ĠLa ir", + "z in", + "zi n", + "get Query", + "um bles", + "umb les", + "umble s", + "L IMIT", + "LI MIT", + "ĠV ig", + "ĠVi g", + "_ song", + "_s ong", + "_so ng", + "< Character", + ": :.", + ":: .", + "_ hom", + "_h om", + "_ bp", + "_b p", + "ĠSup ervisor", + "ĠSuper visor", + "ĠSuperv isor", + "sub mission", + "ab ile", + "abil e", + "abi le", + "Ġn oi", + "Ġno i", + "Or Create", + "Ġp eel", + "Ġpe el", + "Ġpee l", + "Ġon Start", + "Ġsent iments", + "Ġsentiment s", + "v ehicles", + "veh icles", + "vehicle s", + "Ġclass rooms", + "Ġclassroom s", + "Ġs zer", + "Ġsz er", + "Ġb ending", + "Ġben ding", + "Ġbend ing", + "Ġlong evity", + "Ġ acl", + "Ġa cl", + "Ġac l", + "ĠAle ppo", + "Ġ UM", + "ĠU M", + "ĠR icht", + "ĠRich t", + "ĠRic ht", + "ĠRi cht", + "Ġmulti processing", + "Ġmultip rocessing", + "DO MAIN", + "DOM AIN", + "\", \"+", + "\",\" +", + "_ YEAR", + "_Y EAR", + "Ġsc rape", + "Ġscr ape", + "Ġscrap e", + "Ġsol itary", + "Ġ\" ]\";Ċ", + "Ġ\"] \";Ċ", + "Ġ\"]\" ;Ċ", + "/ errors", + "/error s", + "ìŀ ¬", + "ľ ëł¥", + "b etter", + "bet ter", + "bett er", + "bette r", + "ĉ number", + "ĉn umber", + "ĉnum ber", + "Ġ LF", + "ĠL F", + "Ġ Across", + "ĠA cross", + "ĠAc ross", + "Pub Med", + "\\ \"\"", + "\\\" \"", + "ĠExcell ence", + "Ġus ando", + "Ġusa ndo", + "ĠU IP", + "ĠUI P", + "Activity Indicator", + "_ VOID", + "_V OID", + "_VO ID", + "Ġbre eds", + "Ġbreed s", + "Ġbree ds", + "ï½ ¥", + "ues tas", + "uest as", + "uesta s", + "ĠTre asure", + "ustr alian", + "ustral ian", + "ustralia n", + "( face", + "(f ace", + "ĠT ennis", + "ĠTen nis", + "ĠTenn is", + "ĉ Int", + "ĉI nt", + "ĉIn t", + "ĠH ansen", + "ĠHan sen", + "ĠHans en", + "ç µ", + ": I", + "Ġ âľĶ", + "Ġâľ Ķ", + "G RAY", + "GR AY", + "GRA Y", + "O USE", + "OU SE", + "OUS E", + "Ġhe pat", + "Ġhep at", + "ł í", + "A IR", + "AI R", + "ó ż", + "Ġ queued", + "Ġque ued", + "Ġqueue d", + "vin cia", + "vi ncia", + "vinc ia", + "ĠCh romium", + "ĠChrom ium", + "Ġcompet ence", + "Ġcompete nce", + "un gal", + "ung al", + "unga l", + "i lli", + "il li", + "ill i", + "Ġget By", + "Ġ Finder", + "ĠF inder", + "ĠFin der", + "ĠFind er", + "ĠFi nder", + "Ġincap able", + "Ġs add", + "Ġsa dd", + "Ġsad d", + "Ġc ites", + "Ġcit es", + "Ġci tes", + "Ġcite s", + "ĠChurch ill", + "S dk", + "More over", + "A spNet", + "As pNet", + "( Float", + "(F loat", + "$ password", + "$p assword", + "Ġ Connor", + "ĠCon nor", + "ĠConn or", + "- session", + "-s ession", + "_ dm", + "_d m", + "* ))", + "*) )", + "Ġde utsch", + "Ġdeut sch", + "Ġ NX", + "ĠN X", + "Ġper ks", + "Ġperk s", + "_ SORT", + "_S ORT", + "_SO RT", + "_TO OL", + "_TOO L", + "_ VISIBLE", + "_V ISIBLE", + "_VIS IBLE", + ". asp", + ".as p", + ".a sp", + "æĪ ĸ", + "ĠBre ath", + "D etect", + "Det ect", + "ĠD uel", + "ĠDu el", + "ĠDue l", + ". cmb", + ".c mb", + ".cm b", + "[ it", + "[i t", + ".Set Bool", + "Ġnarc iss", + "Ġab ide", + "Ġabi de", + "Ġej emplo", + "ĠâĦ ķ", + "Ġm ornings", + "Ġmor nings", + "Ġmorning s", + "Ġcomp utes", + "Ġcomput es", + "Ġcompute s", + ". ssl", + ".s sl", + ".ss l", + "j t", + "Ġm uchos", + "Ġmuch os", + "Ġmu chos", + "Ġmucho s", + "Ġmuc hos", + "_ SS", + "_S S", + "[ end", + "[e nd", + "Ġb asin", + "Ġbas in", + "Ġba sin", + "Ġalg unos", + "Ġalgun os", + "ĠCroat ia", + "line width", + "lin ewidth", + "( tags", + "(t ags", + "(tag s", + "( hidden", + "(h idden", + "ÃŃ cio", + "ÃŃc io", + "Ġa par", + "Ġap ar", + "Ġapa r", + "Ġ ж", + "ĠÐ ¶", + "ä¸ İ", + ". food", + ".f ood", + ".foo d", + "ĠR ural", + "ĠRu ral", + "Ġbread th", + "å½ ±", + "( sess", + "(s ess", + "(se ss", + "+ \")", + "+\" )", + "Ġ Paste", + "ĠP aste", + "ĠPa ste", + "ĠPast e", + "ĠPas te", + "Ġserv idor", + "ĠBit Set", + "ĠT ran", + "ĠTr an", + "ĠTra n", + "l aus", + "la us", + "v ette", + "ve tte", + "vet te", + "e yes", + "ey es", + "eye s", + "Ġ CLICK", + "ĠCL ICK", + "ĠCLI CK", + "ĠV III", + "ĠVI II", + "ĠVII I", + "ĠTur ns", + "ĠTurn s", + "ĠLe Bron", + "ĠM uj", + "ĠMu j", + "Ġ Deg", + "ĠD eg", + "ĠDe g", + "ĠAd ults", + "ĠAdult s", + "_ suite", + "_s uite", + "_su ite", + "process able", + "Ġ PHY", + "ĠP HY", + "ĠPH Y", + "g hest", + "gh est", + ". Fail", + ".F ail", + "ĠS lack", + "ĠSl ack", + "c ej", + "ce j", + "\\ Carbon", + "\\C arbon", + "Ġsuper star", + "Ġsupers tar", + "Ġsuperst ar", + "Ġhold ings", + "Ġholding s", + "Ġhol dings", + "( forms", + "(form s", + "(for ms", + "Ġ' #'", + "Ġ'# '", + "M ultip", + "Multi p", + "Mult ip", + "Mul tip", + "(\" [%", + "(\"[ %", + "- solid", + "-s olid", + "-so lid", + "/ url", + "/u rl", + "- tier", + "-t ier", + "[ length", + "[l ength", + "[len gth", + "Ġ StreamWriter", + "ĠStream Writer", + "ĠMarket place", + "get text", + "gett ext", + "_T ICK", + "_TI CK", + "Ġ Forge", + "ĠF orge", + "ĠFor ge", + "ĠForg e", + "Ġblack jack", + "ĠDO ES", + "ĠDOE S", + "ĠM atters", + "ĠMat ters", + "ĠMatt ers", + "ĠMatter s", + "ĠMatte rs", + "w aves", + "wa ves", + "wave s", + "wav es", + "Ġwhisper ed", + "Ġ lush", + "Ġl ush", + "Ġlu sh", + "ìĺ ¤", + "d igital", + "digit al", + "dig ital", + "Ġw rink", + "Ġwr ink", + "ĠH ogan", + "ĠHo gan", + "ĠHog an", + "Ġrust ic", + "Ġrus tic", + ".Apply Resources", + "ĠH ardy", + "ĠHar dy", + "ĠHard y", + "os omes", + "oso mes", + "osome s", + "A UT", + "AU T", + ". STATE", + ".ST ATE", + "Ġnarr atives", + "Ġnarrative s", + "ĉ store", + "ĉst ore", + "b ib", + "bi b", + "ĉ Scanner", + "ĠC ody", + "ĠCo dy", + "ĠCod y", + "\\ Repositories", + "Ġre union", + "Ġreun ion", + "an dum", + "and um", + "âĢĻ h", + "Ġsn iff", + "NS Bundle", + "Ġcompreh end", + "_ USAGE", + "_US AGE", + "_ occ", + "_o cc", + "_oc c", + "URRE NCY", + "J NI", + "Ġspecial izing", + "Ġ visions", + "Ġv isions", + "Ġvis ions", + "Ġvision s", + "Ġdo lore", + "Ġdol ore", + "Ġdolor e", + "Ġ vá", + "Ġv á", + "ĠChe vy", + "Ġ Styled", + "ĠSt yled", + "ĠStyle d", + "ĠSty led", + "imp act", + "a llen", + "al len", + "all en", + "alle n", + "Ġ kart", + "Ġk art", + "Ġka rt", + "Ġkar t", + "ĠTable t", + "ĠTab let", + "st uff", + "stu ff", + "re esome", + "ree some", + "rees ome", + "а ÑĤоÑĢ", + "аÑĤ оÑĢ", + "аÑĤо ÑĢ", + "//---------------------------------------------------------------- -----------Ċ", + "//- --------------------------------------------------------------------------Ċ", + "_ Admin", + "_Ad min", + "Ġcell phone", + "Ġ autoplay", + "Ġaut oplay", + "Ġauto play", + "Ġautop lay", + "Ġc ambio", + "Ġcam bio", + "Ġcamb io", + "Ġcambi o", + "Ġmar itime", + "Ġmari time", + "_ BOOT", + "_B OOT", + "_BO OT", + "- quarter", + "-qu arter", + "Ġlat ina", + "Ġlatin a", + "ĠAJ AX", + "e quiv", + "equ iv", + "ĠFront ier", + "Ġ XY", + "ĠX Y", + "} ]Ċ", + "}] Ċ", + "ĠR ough", + "ĠRo ugh", + "ĠRou gh", + ". proto", + ".pro to", + ".prot o", + ".pr oto", + "Ġcorrect ness", + "Ġfa cil", + "Ġfac il", + "Ġ Reached", + "ĠRe ached", + "ĠReach ed", + "ãģĿ ãģ®", + "V IS", + "VI S", + ". ps", + ".p s", + "Ġstr ncpy", + "Ġdif fusion", + "Ġdiff usion", + ".start Activity", + "� ��", + "�� �", + "Ġacc omp", + "Ġac comp", + "Ġaccom p", + "AME SPACE", + "AMES PACE", + "imon ials", + "imonial s", + "ĠB last", + "ĠBl ast", + "aby rin", + "Ġd ome", + "Ġdo me", + "Ġdom e", + "Ġext rav", + "Ġextra v", + "Ġextr av", + "Ġ yen", + "Ġy en", + "Ġye n", + "Ġcul inary", + "P RI", + "PR I", + "ĠComm unities", + "ĠCommun ities", + "n id", + "ni d", + "_ operations", + "_oper ations", + "_operation s", + ". hs", + ".h s", + "ĠM ilton", + "ĠMil ton", + "Ġno ises", + "Ġnoise s", + "Ġnoi ses", + "Autoresizing Mask", + "( cid", + "(c id", + "(ci d", + "} ĊĊĊĊĊĊ", + "}Ċ ĊĊĊĊĊ", + "}ĊĊ ĊĊĊĊ", + "}ĊĊĊ ĊĊĊ", + "}ĊĊĊĊ ĊĊ", + "}ĊĊĊĊĊ Ċ", + "] },Ċ", + "]} ,Ċ", + "]}, Ċ", + "Ġ Detection", + "ĠD etection", + "ĠDe tection", + "ĠDet ection", + "ĠDetect ion", + "ta bla", + "tab la", + "tabl a", + "Ġlib erties", + "Ġlibert ies", + "Ġliber ties", + "_D YNAMIC", + "w get", + "wg et", + "ĠT ür", + "ĠP ascal", + "ĠPa scal", + "ĠPas cal", + "Trans parent", + "Del ayed", + "Delay ed", + "] ()", + "]( )", + "ĠHer bert", + "ĠHerb ert", + "< ActionResult", + "", + "}- >", + "Ġpas ado", + "Ġpasa do", + "th ank", + "tha nk", + "than k", + "_ Delete", + "_De lete", + "ĠBr ighton", + "ĠBright on", + "ĠBrig hton", + ", unsigned", + "ä½ľ èĢħ", + "Ġaspir ations", + "Ġaspiration s", + "- how", + "-h ow", + "R ose", + "Ro se", + "Ros e", + "= ((", + "=( (", + "_ needed", + "_ne eded", + "_need ed", + "_ plural", + "_pl ural", + "< Application", + " >ĊĊ", + ">> ĊĊ", + ">>Ċ Ċ", + "Ġsurface d", + "Ġsurf aced", + "Ġìł Ģìŀ¥", + "ĠìłĢ ìŀ¥", + "pl atz", + "plat z", + "pla tz", + "ĉ email", + "ĉe mail", + "ĉem ail", + "cept ors", + "ceptor s", + "cep tors", + "\" >(", + "\"> (", + "Ġe pile", + "Ġep ile", + "è¯ »", + "ĠDe bt", + "ĠDeb t", + "åij Ĭ", + "N OP", + "NO P", + "\" https", + "\"http s", + ": j", + "Form Item", + "_ LICENSE", + "_L ICENSE", + ".get Double", + ".getD ouble", + "ĠAg enda", + "ĠAge nda", + "ĉ finally", + "ĉf inally", + "ĉfinal ly", + "( filters", + "(f ilters", + "(filter s", + "(fil ters", + "( av", + "(a v", + "ç¾ İ", + "A PER", + "AP ER", + "APE R", + "Ġ lava", + "Ġl ava", + "Ġla va", + "Ġlav a", + "еÑĢ Ð¶", + ") )))ĊĊ", + ")) ))ĊĊ", + "))) )ĊĊ", + "))))Ċ Ċ", + ")))) ĊĊ", + "Ġfa ulty", + "Ġfault y", + "_ nm", + "_n m", + "Ġt rava", + "Ġtr ava", + "Ġtra va", + "Ġtrav a", + "( Bitmap", + "(B itmap", + "(Bit map", + "Ġspe eding", + "Ġspeed ing", + "> ').", + ">' ).", + ">') .", + "Ġscreen ed", + "Ġscre ened", + "_ roll", + "_r oll", + "_ro ll", + "ĠMac Book", + "Ġ AUD", + "ĠA UD", + "ĠAU D", + "Ġdiagn ose", + ". Generate", + ".G enerate", + ".Gen erate", + "Ġ ^^", + "Ġ^ ^", + "Ġs trs", + "Ġst rs", + "Ġstr s", + "[ Test", + "[T est", + "Ġr ansom", + "Ġran som", + "ĠDH CP", + "el den", + "eld en", + "Ġinterpret ations", + "Ġinterpretation s", + "( )].", + "() ].", + "()] .", + "flat Map", + "Ġline Height", + "_ mount", + "_m ount", + "_mo unt", + "ĠW izards", + "ĠWizard s", + "Ġsl uts", + "Ġslut s", + "Ġslu ts", + "eh ler", + "o dal", + "od al", + "oda l", + "Ġmilit ia", + "Ġmil itia", + "å ²", + "ear ned", + "earn ed", + "Ġmis ery", + "Ġmise ry", + "Ġmiser y", + "int val", + "f und", + "fun d", + "fu nd", + "Ġh ides", + "Ġhide s", + "Ġhi des", + "Ġhid es", + "Ġdi arr", + "Ġdia rr", + "ĠWes ley", + "Ġ xmm", + "Ġx mm", + "Ġxm m", + "Ġqu em", + "Ġque m", + "Ġq uem", + "ĠAr abs", + "ĠArab s", + "ĠAra bs", + "if th", + "ift h", + "ategor ized", + "ategori zed", + "D isposable", + "Dis posable", + "P ure", + "Pu re", + "_NOT IFY", + "sn ippet", + "ĠGar rett", + "ĠGarr ett", + ". running", + ".r unning", + ".run ning", + ". weights", + ".weight s", + ".we ights", + "Ġ (--", + "Ġ( --", + "Ġ(- -", + "Ġin variant", + "Ġinv ariant", + "äºĭ ä»¶", + "Ġ Allowed", + "ĠAll owed", + "ĠAllow ed", + "d irs", + "dir s", + "di rs", + "Ġpass ions", + "Ġpassion s", + "Ġ lad", + "Ġl ad", + "Ġla d", + "Ġ Flush", + "ĠF lush", + "ĠFl ush", + "ĠFlu sh", + "m enus", + "men us", + "menu s", + ": block", + ":b lock", + "Ġcom pra", + "Ġcomp ra", + "Ġcompr a", + ".ch omp", + "al locator", + "all ocator", + "alloc ator", + "alloca tor", + "Ġcur ated", + "Ġcu rated", + "Ġ Knowing", + "ĠKn owing", + "ĠKnow ing", + "ĠPatt erson", + "Ġt elah", + "Ġte lah", + "Ġtel ah", + "Ġtela h", + "' ex", + "'e x", + "Ġdo omed", + "Ġdoom ed", + "Ġphil anth", + "o tty", + "ot ty", + "ott y", + ". styles", + ".st yles", + ".style s", + "Own ed", + "Ġallerg ies", + "Ġaller gies", + "= params", + "oc ese", + "oce se", + "it elist", + "ite list", + "itel ist", + "iteli st", + "Ġ Sending", + "ĠS ending", + "ĠSen ding", + "ĠSend ing", + "b ef", + "be f", + "or rar", + "orr ar", + "orra r", + "Ġ Não", + "ĠN ão", + "ĠF argo", + "ĠFar go", + "ĠL ub", + "ĠLu b", + "Ġ Combined", + "ĠComb ined", + "ĠCombine d", + "_ given", + "_g iven", + "ĉ ĉĉĉĉĠĠĠĠ", + "ĉĉ ĉĉĉĠĠĠĠ", + "ĉĉĉĉ ĉĠĠĠĠ", + "ĉĉĉ ĉĉĠĠĠĠ", + "ĉĉĉĉĉ ĠĠĠĠ", + "ĉĉĉĉĉĠ ĠĠĠ", + "ĉĉĉĉĉĠĠĠ Ġ", + "ĉĉĉĉĉĠĠ ĠĠ", + "Ġre conciliation", + "Ġreconc iliation", + "Pattern s", + "az ard", + "aza rd", + "azar d", + "Ġbio mass", + "Ġbiom ass", + "ĠH ouses", + "ĠHouse s", + "ĠHo uses", + "ĠHou ses", + "resp uesta", + "c co", + "cc o", + "/ topics", + "/to pics", + "/top ics", + "/topic s", + "ĠY uk", + "ĠYu k", + "Ġweak ened", + "Ġweaken ed", + "_ calendar", + "_c alendar", + "_cal endar", + "Ġmulher es", + "ĠM arl", + "ĠMar l", + "ĠMa rl", + "Ġs ine", + "Ġsi ne", + "Ġsin e", + "ĠT il", + "ĠTi l", + "ĠSo uls", + "ĠSou ls", + "ĠSoul s", + "ĠDe utsche", + "ĠDeutsch e", + "ĠF OLLOW", + "Ġp ipelines", + "Ġpipe lines", + "Ġpipeline s", + "Ġpip elines", + "ĠBever ly", + "_DIP SETTING", + "\" #", + "Ġ Proto", + "ĠPro to", + "ĠPr oto", + "ĠProt o", + ". big", + ".b ig", + ".bi g", + "ĠS avings", + "ĠSav ings", + "ĠSaving s", + "ĠT anz", + "ĠTa nz", + "ĠTan z", + "j un", + "ju n", + "Ġ Gamma", + "ĠG amma", + "ĠGa mma", + "ĠGam ma", + "ĠS add", + "ĠSa dd", + "ĠSad d", + "Ġadv isors", + "Ġadvis ors", + "Ġadvisor s", + "Ġro ast", + "Ġun ters", + "Ġunt ers", + "Ġunter s", + "ud ies", + "udi es", + "_ lon", + "_l on", + "_lo n", + "- pointer", + "-point er", + "-po inter", + "ĠElement Ref", + "\\ Builder", + "example Input", + ". webdriver", + ".web driver", + "data Type", + "Ġ Quite", + "ĠQ uite", + "ĠQu ite", + "ĠQui te", + "ĠQuit e", + "ĠCelt ics", + "ĠCel tics", + "ĠCeltic s", + "u il", + "ui l", + "- defense", + "-def ense", + "b ish", + "bi sh", + "bis h", + "ĠUI Window", + "Ġ Suddenly", + "ĠS uddenly", + ". hot", + ".h ot", + ". reason", + ".re ason", + "Ġg ör", + "Ġgö r", + "A MD", + "AM D", + ". Multi", + ".M ulti", + ".Mult i", + "auth enticated", + "authenticate d", + "reg ions", + "region s", + "; (", + "а ÑĢам", + "аÑĢ Ð°Ð¼", + "аÑĢа м", + "ĠKir by", + "$ route", + "$r oute", + "PREC ATED", + "ĠDur ham", + "o wo", + "ow o", + "ĠPer forms", + "ĠPerform s", + "Ġdisreg ard", + "n st", + "ns t", + "ĠP ols", + "ĠPol s", + "ĠPo ls", + "Ġget P", + "\" ]:", + "\"] :", + "-color ed", + "-col ored", + "( Keys", + "(Key s", + "ĠAl leg", + "ĠAll eg", + "ĠAlle g", + "_ modify", + "_mod ify", + "_ loading", + "_lo ading", + "_load ing", + "s trained", + "str ained", + "stra ined", + "strain ed", + "Ġat roc", + "Ġatr oc", + "_p hr", + "_ph r", + "< Sprite", + "", + "c eph", + "ce ph", + "cep h", + ".DateTime Picker", + ". \";ĊĊ", + ".\" ;ĊĊ", + ".\";Ċ Ċ", + ".\"; ĊĊ", + "ĠT ie", + "ĠTi e", + ", item", + ",i tem", + ",it em", + "Ġm enn", + "Ġme nn", + "Ġmen n", + "G as", + "Ga s", + "o cha", + "oc ha", + "och a", + "_ virtual", + "_v irtual", + "Ġmaster piece", + "_ sequences", + "_se quences", + "_sequence s", + "L TE", + "LT E", + "Ġ Submission", + "ĠSub mission", + "C aller", + "Call er", + "Cal ler", + "Ca ller", + "$ \\", + "S port", + "Sp ort", + "Spo rt", + "ag us", + "agu s", + "Constraint Maker", + "Ġco loc", + "Ġcol oc", + "Ġ wig", + "Ġw ig", + "Ġwi g", + "Ġ У", + "ĠÐ £", + "ĉ Array", + "ĉA rray", + "L ooks", + "Lo oks", + "Look s", + "ĠG TA", + "ĠGT A", + ". steps", + ".st eps", + ".step s", + "atch ewan", + "_ ranges", + "_r anges", + "_range s", + "ext Alignment", + "ĠBren nan", + "Ġab straction", + "Ġabs traction", + "Ġabstract ion", + "Ġabst raction", + "uler Angles", + ". misc", + ".m isc", + ".mi sc", + "Ġantib odies", + "Ġex ponential", + "Ġexponent ial", + "Ġ CHANNEL", + "ĠCH ANNEL", + "exp ense", + "' y", + "Ġdetect ives", + "Ġdetective s", + "Ġpur ported", + "Y STEM", + "YS TEM", + "YST EM", + "Ġradio active", + "ĠLat ina", + "ĠLatin a", + ". Encoding", + ".En coding", + ".Enc oding", + ". TAG", + ".T AG", + "x in", + "xi n", + "D egree", + "De gree", + "Deg ree", + "ur acion", + "ura cion", + "p rices", + "pr ices", + "price s", + "pri ces", + "ĠRefer entialAction", + "Ġr arity", + "Ġrar ity", + "Ġp iles", + "Ġpi les", + "Ġpil es", + "Ġpile s", + "g ende", + "ge nde", + "gen de", + "gend e", + "_ projects", + "_project s", + "_proj ects", + "_ globals", + "_g lobals", + "_global s", + "_glob als", + ". startTime", + ".start Time", + "Ġ 구", + "Ġê µ¬", + "Ġêµ ¬", + "SE CTION", + "SEC TION", + "_ publish", + "_p ublish", + "_pub lish", + "F ault", + "Fa ult", + "D DL", + "DD L", + "_ prior", + "_p rior", + "_pr ior", + "_pri or", + "M om", + "Mo m", + "Ġth icker", + "Ġthick er", + "Ġthi cker", + "Ġ sequelize", + "Ġsequ elize", + "Ġsequel ize", + "Ġess entials", + "Ġessential s", + "s tras", + "st ras", + "str as", + "stra s", + "in tr", + "int r", + "> (()", + ">( ()", + ">(( )", + ". management", + ".man agement", + ".manage ment", + "e il", + "ei l", + "éĹ Ń", + "A ware", + "Aw are", + ". City", + ".C ity", + "ĠAr bit", + "ĠArb it", + "_ DM", + "_D M", + "_ keyboard", + "_key board", + "L Object", + "LO bject", + "- webpack", + "-web pack", + "ĠNew port", + "Ġprincipal Column", + "leg ant", + "Ġp allet", + "Ġpal let", + "Ġpall et", + "Ġfract ure", + "Ġfrac ture", + "Ġ gmail", + "Ġg mail", + "Ġgm ail", + ". Meta", + ".M eta", + ".Me ta", + "A bove", + "Ab ove", + ". KeyEvent", + ".Key Event", + "j it", + "ji t", + "_ macro", + "_m acro", + "_mac ro", + "_ma cro", + "_P USH", + "_PUS H", + "á» ©", + "/ controller", + "/control ler", + "åĬł è½½", + "Ġsuperf icial", + "exter ity", + "Ġ mensagem", + "Ġm ensagem", + "Ġmens agem", + "W ind", + "Win d", + "Wi nd", + "i ston", + "is ton", + "ist on", + "isto n", + ".open api", + "и ÑĢов", + "иÑĢ Ð¾Ð²", + "Ġ Serializer", + "ĠS erializer", + "ĠSerial izer", + "ĠSerialize r", + "uct ive", + "Ġ zar", + "Ġz ar", + "Ġza r", + "P laces", + "Pl aces", + "Place s", + ". Static", + ".St atic", + ".Stat ic", + "B a", + "Ġin advert", + "ĠIndones ian", + "ĠIndonesia n", + "_I PV", + "_IP V", + "( horizontal", + "(h orizontal", + "Ġ getTitle", + "Ġget Title", + "ide press", + "ĠConsole Color", + "i pers", + "ip ers", + "ipe rs", + "iper s", + "$ out", + "$o ut", + "Ġfest ive", + "Ġeven ings", + "Ġevening s", + "Ġeve nings", + ". GetData", + ".Get Data", + "uit ka", + "ĠManual s", + "us sed", + "uss ed", + "_ Max", + "_M ax", + ". Chat", + ".C hat", + ".Ch at", + "ĠA ircraft", + "ĠAir craft", + "= com", + "=c om", + "F OUND", + "FO UND", + "a pro", + "ap ro", + "apr o", + "Ġtre asures", + "Ġtreasure s", + "_ alive", + "_a live", + "_al ive", + "Ġg adget", + "Ġgad get", + "e king", + "ek ing", + "eki ng", + "Button Down", + "B rowsable", + ".PER MISSION", + "P ASSWORD", + "PASS WORD", + "Ġ HASH", + "ĠH ASH", + "ĠHAS H", + "ĠHA SH", + "f é", + "\\ TestCase", + "\\Test Case", + "LO SS", + "LOS S", + "o thers", + "other s", + "oth ers", + ", J", + "Ġass hole", + "Ġassh ole", + "w erk", + "we rk", + "wer k", + "Ġm ã", + ". ie", + ".i e", + "e vil", + "ev il", + "evi l", + "kont akte", + "/ ///////////////////////////////////////////////////////////////////////////////Ċ", + "/// /////////////////////////////////////////////////////////////////////////////Ċ", + "//////////////////////////////////////////////////////////////////////////// ////Ċ", + "//////////////////////////////////////////////////////////////////////////////// Ċ", + "= sys", + "=s ys", + "ĉ lock", + "ĉl ock", + "ĉloc k", + "-- ;ĊĊ", + "--;Ċ Ċ", + "--; ĊĊ", + "_ FUN", + "_F UN", + "Fill Color", + "ó a", + "p rend", + "pr end", + "pre nd", + "Ġcom pressor", + "Ġcompr essor", + "Ġcompress or", + "M other", + "Mo ther", + "Mot her", + "ĠAr cher", + "ĠArch er", + "ĠArc her", + ". goto", + ".g oto", + ".go to", + "Ġwür de", + "Ġbam boo", + "Ġbamb oo", + "ï¼ İ", + "Ġ Trees", + "ĠT rees", + "ĠTr ees", + "ĠTree s", + "ĠTre es", + "Ġb umper", + "Ġbump er", + "Ġbum per", + "Ġsa usage", + "Ġsau sage", + "ĠEl asticsearch", + "ĠElastic search", + "Ġhor izontally", + "Ġhorizontal ly", + "ĠG ul", + "ĠGu l", + "Im mutable", + "Imm utable", + "Ġ loser", + "Ġl oser", + "Ġlo ser", + "Ġlos er", + "Ġlose r", + "Ġab orted", + "Ġabort ed", + "- demo", + "-d emo", + "-de mo", + "-dem o", + "ĠH atch", + "ĠHat ch", + "Ġ unde", + "Ġu nde", + "Ġun de", + "Ġund e", + "Ġpro cesso", + "Ġprocess o", + "Ġproc esso", + "Ġproces so", + "- call", + "-c all", + "-cal l", + "-ca ll", + "In come", + "Inc ome", + "å ĥ", + "_ returns", + "_return s", + "'] .\"'", + "']. \"'", + "'].\" '", + "( sw", + "(s w", + "C BS", + "CB S", + "am ilies", + "ami lies", + "amil ies", + "ĠYour self", + "ĠYours elf", + "ĠH olt", + "ĠHol t", + "ĠHo lt", + ". MON", + ".M ON", + "à§ ĩ", + "ÑĪ Ðµ", + "a non", + "an on", + "ano n", + "Ġ FontAwesome", + "ĠFont Awesome", + "pro ducer", + "produ cer", + "prod ucer", + "produce r", + "j r", + "Ġm au", + "Ġma u", + "ĉ inter", + "ĉint er", + "ĉin ter", + "Ġdish onest", + "Ġm agna", + "Ġmag na", + "Ġmagn a", + "ĠColl ective", + "ĠCollect ive", + "Ġvra iment", + "Ġvrai ment", + "Ġcho ix", + "st ay", + "sta y", + "Ġwel ding", + "Ġweld ing", + "r ising", + "ri sing", + "ris ing", + ", min", + ",m in", + "ĠF ate", + "ĠFa te", + "ĠFat e", + "g lob", + "gl ob", + "RGB A", + "RG BA", + "Ġd ette", + "Ġde tte", + "Ġdet te", + "V en", + "Ve n", + "Ġembarrass ment", + ". DELETE", + ".DE LETE", + "g regar", + "greg ar", + "gre gar", + "- render", + "-r ender", + "-re nder", + "-ren der", + "( bucket", + "(b ucket", + "\" >ĊĊĊ", + "\"> ĊĊĊ", + "\">Ċ ĊĊ", + "\">ĊĊ Ċ", + ".wait Key", + "Bus y", + "Bu sy", + "Ġdifferent iation", + "ĠC ST", + "ĠCS T", + ". Constant", + ".Con stant", + ".Cons tant", + "Ġline Number", + "( matches", + "(m atches", + "(match es", + "(mat ches", + "Ġ websocket", + "Ġweb socket", + "Ġwebs ocket", + "Ġbar red", + "Ġbarr ed", + "Ġpued es", + "Ġpu edes", + "Ġpuede s", + "M ono", + "Mon o", + "Mo no", + "C ORE", + "CO RE", + "COR E", + "I ID", + "II D", + "ĠĠ ĠĠčĊčĊ", + "ĠĠĠĠ čĊčĊ", + "ĠĠĠ ĠčĊčĊ", + "ĠĠĠĠčĊ čĊ", + "Ġpúb lico", + "le aning", + "lean ing", + "lea ning", + "Ġclean sing", + "Ġcleans ing", + "Ġc ris", + "Ġcr is", + "Ġcri s", + "ĠDev ils", + "ĠDevil s", + "_ SETTING", + "_SET TING", + "unt ary", + "unta ry", + ". );Ċ", + ".) ;Ċ", + "Ċ ĠĠĠĊ", + "[ curr", + "[c urr", + "[cur r", + "t sy", + "ts y", + "ĠAlex is", + "ĠAle xis", + "r itel", + "ri tel", + "rit el", + "rite l", + "Ġpet roleum", + "Ġpetrol eum", + ".pre processing", + "m atter", + "mat ter", + "For Result", + "- license", + "-l icense", + "Ġtravel lers", + "Ġtrav ellers", + "Ġtraveller s", + "Ġ Dispatcher", + "ĠDispatch er", + "ĠDisp atcher", + "enn ifer", + "Ġdigest ive", + "P ED", + "PE D", + "hib ition", + "hibit ion", + "MAS ConstraintMaker", + "ĠW att", + "ĠWat t", + "ĠWa tt", + "B enef", + "Ben ef", + ".set View", + "d to", + "dt o", + "T EE", + "TE E", + "ĠPel osi", + "_EX TRA", + "_EXT RA", + "Ġmed als", + "Ġmedal s", + "x hr", + "fore cast", + "for ecast", + "Ġn argin", + "Ġnar gin", + "o uns", + "ou ns", + "oun s", + "- fill", + "-f ill", + "-fi ll", + "_CUR SOR", + "Ġsup ervised", + "Ġsuper vised", + "Ġsuperv ised", + "Ġsupervise d", + "Ġt urf", + "Ġtu rf", + "Ġtur f", + "ĠEd gar", + "POS ITION", + "POSIT ION", + "Ġ categoryId", + "Ġcategory Id", + "â ī", + "_ ER", + "_E R", + "á»§ a", + "Sh own", + "Show n", + ". ll", + ".l l", + "_POL ICY", + "( ),'", + "() ,'", + "(), '", + "Ġ Prev", + "ĠP rev", + "ĠPr ev", + "ĠPre v", + "ĠString Field", + "ĉ Global", + "ĉG lobal", + "as sed", + "ass ed", + "asse d", + "Through out", + "o stringstream", + ".awt extra", + "Ġsl opes", + "Ġslo pes", + "Ġslope s", + "Ġ Sequential", + "ĠSe quential", + "ĠSequ ential", + "Ġgi orn", + "Ġgio rn", + "Ġ zelf", + "Ġz elf", + "Ġze lf", + "Ġzel f", + "Ġvers atility", + "Ġversa tility", + "le neck", + "len eck", + "lene ck", + ". cgi", + ".c gi", + ".cg i", + "Ġdoub ling", + "Ġdou bling", + "ĠBang kok", + "Ġbu urt", + "Ġusu ário", + "st udio", + "stu dio", + "stud io", + "Ġje unes", + "Ġjeune s", + "Ġjeu nes", + "Ġm uted", + "Ġmut ed", + "Ġmu ted", + "Ġmute d", + "Ġ ips", + "Ġi ps", + "Ġip s", + "_ fraction", + "_f raction", + "_fr action", + "_frac tion", + "& &(", + "&& (", + "Ġst unt", + "Ġstu nt", + "Ġstun t", + "') ;?> čĊ", + "}> čĊ", + "Ġev apor", + "b able", + "ba ble", + "bab le", + "Ġ PRICE", + "ĠPR ICE", + "ĠPRI CE", + "Ġ æ³", + "Ġæ ³", + "lu cent", + "Ġv amp", + "Ġva mp", + "ĠTechn ician", + "Ġunique ness", + "Ġuniqu eness", + "M es", + "Me s", + "ur ban", + "urb an", + ".param etrize", + "ĠRe play", + "ĠRep lay", + "S essions", + "Session s", + "em br", + "emb r", + "- Americans", + "-American s", + "-Americ ans", + "_PRO XY", + "Ġp ian", + "Ġpi an", + "Ġ trie", + "Ġt rie", + "Ġtr ie", + "Ġtri e", + "Ġ Destructor", + "ĠD estructor", + "ĠDe structor", + "Game State", + "ĠI MF", + "ĠIM F", + "c hin", + "ch in", + "chi n", + "Ġ porte", + "Ġp orte", + "Ġport e", + "Ġpor te", + "ĠS wal", + "ĠSw al", + "åŁ İ", + "Sub string", + "i ming", + "im ing", + "imi ng", + "imin g", + "/ Library", + "/L ibrary", + "Ġfright ened", + "w rites", + "write s", + "wr ites", + "Ġrec ursos", + "Ġrecurs os", + "ar Result", + "_INIT IALIZ", + "_INITIAL IZ", + "Ġ Badge", + "ĠB adge", + "ĠBad ge", + "ĠBa dge", + "_ crc", + "_c rc", + "_cr c", + "E ight", + "ĠDIST INCT", + "Ġ thro", + "Ġth ro", + "Ġthr o", + "@ Xml", + "Ġ Legendary", + "ĠLegend ary", + "- twitter", + "-t witter", + "-tw itter", + "_ easy", + "_e asy", + "Ġ +++", + "Ġ+ ++", + "Ġ++ +", + "( DATA", + "(D ATA", + ". Locale", + ".L ocale", + ".Local e", + ".Lo cale", + "Ġk ä", + "Ġn urt", + "Ġnu rt", + "Ġnur t", + "Ġcr uis", + "Ġcru is", + "_ ios", + "_i os", + "_io s", + "Ġs ensing", + "Ġsens ing", + "Ġsen sing", + "_ Line", + "_L ine", + "Ċ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "p ong", + "pon g", + "po ng", + "o leon", + "ol eon", + "ole on", + "Ġwild card", + "ç͍æĪ· åIJį", + "Ġbeg ging", + "R od", + "Ro d", + "Ġ Ãİ", + "Ġà İ", + "_ CELL", + "_C ELL", + "_CE LL", + "Research ers", + ". selector", + ".se lector", + ".select or", + ".sel ector", + "_ ing", + "_in g", + "_i ng", + "Ġas piring", + "Ġaspir ing", + "Ġasp iring", + "Ġimm ortal", + "Ġy min", + "_ robot", + "_r obot", + "_ro bot", + "Ġpl ur", + "Ġplu r", + "B TC", + "BT C", + "ĠD ID", + "ĠDI D", + "Ġpier cing", + "* u", + "_ DEFINED", + "_DEF INED", + "_DEFIN ED", + "_DEFINE D", + "ĠT hi", + "ĠTh i", + "i taire", + "it aire", + "ita ire", + "( media", + "(m edia", + "(me dia", + "- ons", + "-on s", + "-o ns", + "Ġch efs", + "Ġche fs", + "Ġchef s", + "Ġ\" *.", + "Ġ\"* .", + "/ AP", + "/A P", + "Ġr azor", + "Ġraz or", + "Ġsearch Data", + "Ġ =&", + "Ġ= &", + "Ġ ãĢĤ", + "ĠãĢ Ĥ", + "Ġm ourn", + "Ġmo urn", + "Ġmou rn", + "Ġmour n", + "t ingham", + "ting ham", + "Ġ oli", + "Ġo li", + "Ġol i", + "ĠVer non", + "ĠVern on", + "_ RS", + "_R S", + "ŀ æĢ§", + "Ġf ácil", + "a ngen", + "an gen", + "ang en", + "ange n", + "ce lain", + "cel ain", + "cela in", + "Ġ ail", + "Ġa il", + "Ġai l", + "l est", + "le st", + "les t", + "ĠQ COMPARE", + "g ain", + "ga in", + "Ġ ε", + "ĠÎ µ", + "ĠK ob", + "ĠKo b", + "Ġ Fault", + "ĠF ault", + "ĠFa ult", + "ĠFaul t", + "_ configs", + "_config s", + "_conf igs", + "ç»ĵ æŀľ", + ". +", + "c alar", + "ca lar", + "cal ar", + "cala r", + "( colors", + "(color s", + "(col ors", + "M ul", + "Mu l", + "_ ART", + "_A RT", + "_AR T", + "Ġexperiment ing", + "er men", + "erm en", + "ĠAng lo", + ".Fixed Single", + "S ea", + "Se a", + "Ġ ctxt", + "Ġc txt", + "Ġctx t", + "Ġct xt", + ". slider", + ".s lider", + ".sl ider", + ".slide r", + "C ollapse", + "Coll apse", + "G rey", + "Gr ey", + "Gre y", + "Ġ fld", + "Ġf ld", + "Ġfl d", + "- proof", + "-p roof", + "-pro of", + ". capacity", + ".cap acity", + "get Parent", + "ĠCom pliance", + "Ġbur gl", + "Ġburg l", + "- rec", + "-r ec", + "-re c", + "Ġover written", + "M U", + "Ġr outers", + "Ġro uters", + "Ġroute rs", + "Ġrout ers", + "Ġrouter s", + "Ġrou ters", + "ĉ Model", + "ĉM odel", + "Ġfantas ies", + "av ian", + "avi an", + "avia n", + "_ prec", + "_p rec", + "_pr ec", + "_pre c", + "ĠSc andin", + "ĠScan din", + "Ġ// <", + "Ġ/ /<", + "/ oct", + "/o ct", + "Ġceremon ies", + "Mon ths", + "Month s", + "Mont hs", + "un dy", + "und y", + "Ġqu ed", + "Ġque d", + "Ġq ued", + "ĠN ou", + "ĠNo u", + "ĠV ibr", + "ĠVi br", + "ĠVib r", + ". rgb", + ".r gb", + "Ġcit rus", + "Ġbr aces", + "Ġbra ces", + "Ġbrace s", + "- uppercase", + "-upper case", + "get Table", + "Ġd opo", + "Ġdo po", + "Ġdop o", + "ĠK err", + "ĠKe rr", + "ĠKer r", + "_ CHILD", + "_CH ILD", + "- cloud", + "-c loud", + "-cl oud", + "ĉ Matrix", + "ĉM atrix", + "ĉMat rix", + "Ġgarden ing", + "Ġgard ening", + "S ing", + "Si ng", + "Sin g", + "al most", + "alm ost", + "Require ments", + "Requirement s", + "ugu ay", + "( Property", + "(P roperty", + "sub scriber", + "subscribe r", + "F AST", + "FA ST", + "re action", + "react ion", + "rea ction", + "( lp", + "(l p", + ") })Ċ", + ")} )Ċ", + ")}) Ċ", + "` ).", + "`) .", + ". wallet", + ".w allet", + ".wall et", + "_ exchange", + "_ex change", + ". Maximum", + ".Max imum", + "Ġ Verb", + "ĠV erb", + "ĠVer b", + "ĠVe rb", + "âĶ ģ", + "( )<", + "() <", + "ï¼Ľ Ċ", + "R OT", + "RO T", + "C ARD", + "CA RD", + "CAR D", + "u bit", + "ub it", + "ubi t", + "{ @", + "_ kel", + "_k el", + "_ke l", + "Ġ Tooltip", + "ĠTo oltip", + "ĠTool tip", + "My SQL", + "Main Activity", + "a rf", + "ar f", + "Ġm align", + "Ġmal ign", + "Ġse inen", + "Ġsein en", + "Ġseine n", + "Ġsei nen", + "ap ist", + "api st", + "apis t", + "Ġ< %", + "Method Impl", + "M il", + "Mi l", + "ĠM ick", + "ĠMi ck", + "ĠMic k", + ". depend", + ".d epend", + ".de pend", + ".dep end", + "< ID", + " >&", + ">> &", + "ĉ ok", + "ĉo k", + "- low", + "-l ow", + "-lo w", + ". usuario", + ".us uario", + "n ested", + "ne sted", + "nes ted", + "nest ed", + "X B", + "OUR S", + "OU RS", + ". BorderColor", + ".Border Color", + "Ġb row", + "Ġbr ow", + "Ġbro w", + "Ġ Ðķ", + "ĠÐ ķ", + "c orr", + "co rr", + "cor r", + "ĠRed skins", + "ĠReds kins", + ".get Tag", + ".get Transaction", + "Ġst igma", + "har dt", + "hard t", + "ĠPlayer Prefs", + "al sy", + "als y", + "uc son", + "ucs on", + "L anguages", + "Language s", + "ĠOl ivia", + "ĠOliv ia", + "Ġt ac", + "Ġta c", + "Ġb li", + "Ġbl i", + "Ġc aval", + "Ġca val", + "Ġcav al", + "Ġconsolid ated", + "Ġconsolidate d", + "Ġper il", + "Ġpe ril", + "Ġperi l", + "Ġd ele", + "Ġde le", + "Ġdel e", + "Ġform ulated", + "Ġformula ted", + "Ġformul ated", + "Ġformulate d", + "Ġhigh ways", + "Ġhighway s", + ". spawn", + ".s pawn", + ".sp awn", + "= =$", + "== $", + "ĠN iet", + "ĠNi et", + "ĠNie t", + "Ġv eggies", + "Ġveg gies", + "y po", + "yp o", + "- rule", + "-r ule", + "ĠV ie", + "ĠVi e", + "/e pl", + "Ġenf ants", + "string Literal", + "Ġtough est", + "Ġtou ghest", + "bu yer", + "buy er", + "Ġcov ariance", + "Ġ ili", + "Ġi li", + "Ġil i", + "ĠSoph ie", + "Ġ BAB", + "ĠB AB", + "ĠBA B", + "Ġ \"),", + "Ġ\" ),", + "Ġ\") ,", + "ĠU k", + "current Index", + "_ userdata", + "_user data", + ". codec", + ".co dec", + ".code c", + ".cod ec", + "ĠPun jab", + "ĠS NP", + "ĠSN P", + "l ol", + "lo l", + "adv ance", + "Ġcom fy", + "Json Ignore", + "Ġfashion able", + "Ġ ICON", + "ĠI CON", + "ĠIC ON", + "ĠICO N", + "Ġ ora", + "Ġo ra", + "Ġor a", + "ĠP ricing", + "ĠPr icing", + "ĠPri cing", + "< num", + " E", + "t ering", + "ter ing", + "te ring", + "teri ng", + "/ screens", + "/s creens", + "/screen s", + "Ġheight ened", + "аÑĢ ÑĤ", + "Author ities", + "_ bbox", + "_b box", + "_bb ox", + "ü nst", + "ün st", + "üns t", + ". fontSize", + ".font Size", + "Ġ BOOLEAN", + "ĠBO OLEAN", + "div ide", + "di vide", + "divid e", + "ĠS loven", + "ĠSl oven", + "ĠSlo ven", + "ĠSlov en", + "u cer", + "uc er", + "uce r", + "Ù Ĵ", + "st ub", + "stu b", + "Ġnavig ating", + ": animated", + "_ NOW", + "_N OW", + "_NO W", + "_ vect", + "_v ect", + "_vec t", + "_ve ct", + "} {Ċ", + "}{ Ċ", + "@ (", + "Ġtele com", + "Ġtel ecom", + "Ġcontract ing", + "Ġcontr acting", + "ĠAss ange", + "Ġextract ing", + "Ġextr acting", + "Ġgr ö", + "c obra", + "co bra", + "cob ra", + ". DIS", + ".D IS", + "Ġc rab", + "Ġcr ab", + "Ġcra b", + "Ġt witch", + "Ġtw itch", + "Ġ verts", + "Ġv erts", + "Ġver ts", + "Ġvert s", + "Ġve rts", + "Ġreject s", + "Ġrej ects", + "ĉ format", + "ĉfor mat", + "ĉform at", + "Ġre generation", + "Ġreg eneration", + ". Sys", + ".S ys", + "s olve", + "sol ve", + "ĉ dialog", + "ĉd ialog", + "s hi", + "sh i", + "m eter", + "me ter", + "met er", + "( best", + "(b est", + "(be st", + "valid ators", + "validator s", + "Ġon wards", + "Ġonward s", + "Ġg uru", + "Ġgu ru", + "Ġmod erator", + "Ġmoder ator", + "ow ied", + "owie d", + "owi ed", + "ex periment", + "r ub", + "ru b", + "Ġ mqtt", + "Ġm qtt", + "Ġmq tt", + "ĠCa ucas", + "Ġnational ism", + "Ġm ange", + "Ġman ge", + "Ġma nge", + "Ġmang e", + "ĉ ImGui", + "/ Edit", + "/E dit", + "Ġ inh", + "Ġin h", + "Ġi nh", + "Ġint ellig", + "Ġintel lig", + "ero kee", + "ĉ export", + "ĉex port", + "ĉexp ort", + "Ġdiscrim inate", + "Ġdiscrimin ate", + "sub tract", + "ĠM oodle", + "ĠMoo dle", + "ĠMood le", + "en ser", + "ens er", + "ense r", + "ĠGu ides", + "ĠGuid es", + "ĠGuide s", + "ĠGui des", + "R AP", + "RA P", + "- hot", + "-h ot", + "_ grp", + "_g rp", + "_gr p", + ". picture", + ".p icture", + ".pic ture", + "X A", + "Ġinit View", + "_ Comm", + "_C omm", + "_Com m", + "Ġoverd ose", + "Ġ +ĊĊ", + "Ġ+ ĊĊ", + "Ġ+Ċ Ċ", + "ĠS ilent", + "ĠSil ent", + "sh ows", + "show s", + "Ġinter polate", + "Ġinterpol ate", + "Ġinterp olate", + "Form ation", + "Format ion", + "Ġb isc", + "Ġbi sc", + "Ġbis c", + "mark ets", + "market s", + "( SC", + "(S C", + "Z e", + "Ġ Networking", + "ĠNetwork ing", + "ĠNet working", + "Ġad renal", + "Ġadr enal", + "ĠG uns", + "ĠGu ns", + "ĠGun s", + "et eor", + "ete or", + "De clared", + "Decl ared", + "Declare d", + "orge town", + "orget own", + "Ġk arena", + "Ġka rena", + "Ġkar ena", + "/ password", + "/p assword", + "/pass word", + "_ addresses", + "_add resses", + "_address es", + "_addr esses", + "IT ERAL", + "ITE RAL", + "ITER AL", + "B uzz", + "Bu zz", + "ĠCon way", + "( case", + "(c ase", + "(ca se", + "P WD", + "PW D", + "he iro", + "hei ro", + "( act", + "(a ct", + "(ac t", + "* *čĊ", + "** čĊ", + "( ));ĊĊĊ", + "() );ĊĊĊ", + "());Ċ ĊĊ", + "()) ;ĊĊĊ", + "());ĊĊ Ċ", + "()); ĊĊĊ", + "Ġa nv", + "Ġan v", + "Ġ ..ĊĊ", + "Ġ. .ĊĊ", + "Ġ.. ĊĊ", + "Ġ..Ċ Ċ", + "( MenuItem", + "(Menu Item", + "( mail", + "(m ail", + "_ sections", + "_s ections", + "_se ctions", + "_section s", + "ĉ net", + "ĉn et", + "Ġp lut", + "Ġpl ut", + "Ġplu t", + "Ġw rench", + "Ġwr ench", + "/ object", + "/o bject", + "ĠI st", + "ĠIs t", + "Ġ VIS", + "ĠV IS", + "ĠVI S", + "/ pub", + "/p ub", + "al ten", + "alt en", + "alte n", + "Ġguitar s", + "Ġguit ars", + "Ġantib iotic", + "Ġantibiot ic", + "ï¼ ĸ", + " ¹", + "Ġ \"+\"", + "Ġ\" +\"", + "Ġ\"+ \"", + "form ula", + "Ġba bes", + "Ġbab es", + "Ġbabe s", + "Ġ Prompt", + "ĠP rompt", + "ĠProm pt", + "Ġe nim", + "Ġen im", + "/ player", + "/p layer", + "/pl ayer", + "/play er", + "ĉ ref", + "ĉr ef", + "ĉre f", + "Ġby Äĩ", + "Ġcons umes", + "Ġconsum es", + "Ġconsume s", + "ĠH ast", + "ĠHas t", + "ĠHa st", + "ĠT ao", + "ĠTa o", + "Ġ '))Ċ", + "Ġ' ))Ċ", + "Ġ') )Ċ", + "Ġc lam", + "Ġcl am", + "Ġcla m", + "Ġthigh s", + "Ġmot if", + "Ġmo tif", + "Api Operation", + "Ġ WL", + "ĠW L", + "get C", + "ĉ flags", + "ĉf lags", + "ĉflag s", + "oint ments", + "ointment s", + "Ġeconomic al", + "Ġeconom ical", + "need le", + "nee dle", + "x ls", + "xl s", + "pr actice", + "ut zer", + "utz er", + "time ofday", + "- output", + "-out put", + "Ġ findById", + "Ġfind ById", + "ĠfindBy Id", + "ĠB uddy", + "ĠBudd y", + "ĠBu ddy", + "ĠBud dy", + "Ðŀ ÑĤ", + "S even", + "Se ven", + "ĠB ark", + "ĠBar k", + "ĠBa rk", + "Ġen voy", + "Ġenv oy", + "_ algorithm", + "_al gorithm", + "åĪ ©", + "Ġball istic", + "ç§ »", + "r ades", + "ra des", + "rad es", + "rade s", + "ĉ doc", + "ĉd oc", + "ĉdo c", + "rodu cing", + "rod ucing", + "ĠE ating", + "ĠEat ing", + "ĠEa ting", + "Un mount", + "/data Tables", + "_ bonus", + "_b onus", + "Ġl itt", + "Ġli tt", + "Ġlit t", + "p ps", + "pp s", + ") localObject", + "pe rf", + "per f", + "Ġ Helvetica", + "ĠHel vetica", + "sh utdown", + "/ ml", + "/m l", + ". tokens", + ".t okens", + ".token s", + "ĠHard core", + ", row", + ",r ow", + "/ bg", + "/b g", + "S caler", + "Sc aler", + "Scale r", + "âĢĶ as", + "âĢĶa s", + "_log its", + "âĢĻ int", + "âĢĻin t", + "âĢĻi nt", + "ĉ App", + "ĉA pp", + "Impl icit", + "Imp licit", + ".F printf", + "E TO", + "ET O", + "Ġ terra", + "Ġt erra", + "Ġter ra", + "Ġterr a", + "Ġpossess ing", + ". rstrip", + ".r strip", + ".rs trip", + ", ),", + ",) ,", + "= yes", + "=y es", + "Ġ Stripe", + "ĠSt ripe", + "ĠStr ipe", + "ĠStrip e", + "? =", + "ne utral", + ". good", + ".g ood", + ".go od", + "Ġk ennen", + "Ġke nnen", + "Ġken nen", + "Ġkenn en", + "ĠS ung", + "ĠSun g", + "ĠSu ng", + "f ault", + "fa ult", + "ystate change", + "Can adian", + "',' \".$", + "ĠM its", + "ĠMi ts", + "ĠMit s", + "æ nd", + "Ġ STRUCT", + "ĠSTR UCT", + "ĠURL WithString", + "ĠCom pass", + "ĠComp ass", + "Ġ --ĊĊ", + "Ġ- -ĊĊ", + "Ġ-- ĊĊ", + "Ġ--Ċ Ċ", + "ĠNS LayoutConstraint", + "| min", + "|m in", + "- adjust", + "-ad just", + "Ġre built", + "Ġreb uilt", + "L IGHT", + "/ se", + "/s e", + "- mount", + "-m ount", + "v pn", + "vp n", + "valid ated", + "validate d", + "( QObject", + "(Q Object", + "Ġign ition", + "ĠChar gers", + "ĠCharg ers", + "ĠCharge rs", + "ĠCharger s", + "RYPT O", + "]initWith Frame", + "Ġ Fluid", + "ĠFl uid", + "ĠFlu id", + "Ġca dre", + "Ġcad re", + "Ġnom inations", + "Ġnomin ations", + "Ġnomination s", + "Ne ill", + "Neil l", + "ĠH ou", + "ĠHo u", + "Ġcurrent s", + "Ġcurr ents", + "_ gene", + "_g ene", + "_gen e", + "_ge ne", + "( inp", + "(i np", + "(in p", + "P aris", + "Par is", + "Pa ris", + "z ÄĻ", + "ag gregate", + "Ġ assoc", + "Ġas soc", + "Ġass oc", + "we eted", + "weet ed", + "er rat", + "err at", + "erra t", + "âĢĵ ĊĊ", + "Ġ' /',Ċ", + "Ġ'/ ',Ċ", + "Ġ'/' ,Ċ", + "Ġ'/', Ċ", + "f ixture", + "fix ture", + "Ġ Highest", + "ĠH ighest", + "ĠHigh est", + "ĠHi ghest", + "amb ient", + "ambi ent", + "Ġ chmod", + "Ġch mod", + "Ġ conte", + "Ġc onte", + "Ġcon te", + "Ġcont e", + "Ġco nte", + "Ġs ensual", + "Ġsens ual", + "Ġgar ment", + "z ers", + "ze rs", + "zer s", + "Ġ Powered", + "ĠP owered", + "ĠPower ed", + "ĠPow ered", + "dom ains", + "domain s", + "R eward", + "Re ward", + "Rew ard", + "i omanip", + "Ġcock pit", + "out file", + "Ġ builtin", + "Ġb uiltin", + "Ġbuilt in", + "Ġins isting", + "Ġinsist ing", + ". vars", + ".v ars", + ".var s", + ".va rs", + "zip code", + "Ġ ����", + "Ġ� ���", + "f ails", + "fa ils", + "fail s", + "Ġconsolid ation", + "_ oid", + "_o id", + "Plan et", + "Plane t", + "Ġ =\",", + "Ġ= \",", + "Ġ=\" ,", + "ĉ el", + "ĉe l", + "U ILT", + "UI LT", + "UIL T", + "ä tz", + "ät z", + "af ari", + "afa ri", + "ĠMc Cl", + "ĠMcC l", + "T imeline", + "Time line", + "Tim eline", + "E sta", + "Est a", + "Es ta", + "Ġ fram", + "Ġf ram", + "Ġfr am", + "Ġfra m", + "Y E", + "Ġcere bral", + "Of Month", + "ĠP regn", + "ĠPre gn", + "Ġкл аÑģÑģ", + "ĠклаÑģ Ñģ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠF res", + "ĠFr es", + "ĠFre s", + "Ap proved", + "Appro ved", + ". Special", + ".S pecial", + ".Spec ial", + ".Sp ecial", + "ĠProte stant", + "ĠProtest ant", + "Ġall ergy", + "Ġallerg y", + "Ġaller gy", + "_ pcm", + "_p cm", + "_pc m", + "ĉ Copyright", + "ĉC opyright", + "Ġsuper Class", + "\" strconv", + "ĠMoh amed", + "Ġ' //", + "Ġ'/ /", + "Fore Color", + "Ar thur", + "Art hur", + "ĠJ ungle", + "ĠJun gle", + "ĠJu ngle", + "ĠJung le", + "Ġve ins", + "Ġvein s", + "S ad", + "Sa d", + "Ġback ups", + "Ġbackup s", + "ĠOp inion", + "û t", + "Ġinter mitt", + "o dyn", + "od yn", + "ody n", + "ĠChrist ina", + "Ġ andre", + "Ġand re", + "Ġan dre", + "Ġevac uation", + "p alette", + "pa lette", + "pal ette", + "h orse", + "hor se", + "ĠRes ident", + "ĠHas san", + "ĠHass an", + ". Nil", + ".N il", + "Ġa isle", + "Ġais le", + "Ġ Growing", + "ĠG rowing", + "ĠGr owing", + "ĠGro wing", + "ĠGrow ing", + "Ġblog info", + "/ sql", + "/s ql", + "_ ioctl", + "_io ctl", + "S caling", + "Sc aling", + "Ġ Monad", + "ĠMon ad", + "ĠMo nad", + "ĠMona d", + "_ cpp", + "_c pp", + "_cp p", + "ĠH utch", + "ĠHut ch", + "ĠApple WebKit", + "Exp ense", + "_ JOB", + "_J OB", + "_JO B", + "Ġpoint less", + "From Body", + "an tal", + "ant al", + "anta l", + "Ġdepict ing", + "Ġ CELL", + "ĠC ELL", + "ĠCE LL", + "ĠCEL L", + "Ġre fin", + "Ġref in", + "ĠC NC", + "ĠCN C", + "ì¹ ĺ", + "_ dimensions", + "_dim ensions", + "_dimension s", + "Ġ SAN", + "ĠS AN", + "ĠSA N", + "Ġ aft", + "Ġa ft", + "Ġaf t", + "Ġfoot steps", + "c coli", + "cc oli", + "cco li", + "_ PHONE", + "_P HONE", + "_PH ONE", + "/ math", + "/m ath", + "/mat h", + "- kind", + "-k ind", + "Ġ Means", + "ĠMe ans", + "ĠMean s", + "ich ael", + "icha el", + ". guna", + ".g una", + "Ġinaug uration", + "Ġinaugur ation", + "-dr iving", + "( delete", + "(de lete", + "(del ete", + "Ġ totalCount", + "Ġtotal Count", + "_ MC", + "_M C", + ". Extension", + ".Ext ension", + "Com mercial", + "Comm ercial", + "Ġz Index", + "< Customer", + "$", + "\"> $", + "Ġe bay", + "Ġeb ay", + "Ġc aptive", + "Ġca ptive", + "Ġcapt ive", + "pl iant", + "ĠCalculate s", + "ĠCalcul ates", + "ĠCalc ulates", + "ol ta", + "olt a", + "es ting", + "est ing", + "esti ng", + "_ revision", + "_re vision", + "_rev ision", + "Ġm ús", + "Ġmú s", + "+ m", + "\",\" \",\"", + "\",\"\", \"", + "WH AT", + "Ġcompass ionate", + "Ġcompassion ate", + "h arga", + "har ga", + "[ random", + "[r andom", + "[rand om", + "Ġ modulo", + "Ġmod ulo", + "( sn", + "(s n", + "Ġoccup ations", + "Ġoccupation s", + "/ ///Ċ", + "// //Ċ", + "//// Ċ", + "/// /Ċ", + "ĉ board", + "ĉb oard", + "ĠB alk", + "ĠBa lk", + "ĠBal k", + "w iÄħ", + "wi Äħ", + "Ġ Wifi", + "ĠW ifi", + "ĠWi fi", + ". Profile", + ".Pro file", + ".Pr ofile", + ": maj", + ":m aj", + "ĉ mat", + "ĉm at", + "LOCK S", + "LOC KS", + "(j Button", + "Ġ ('$", + "Ġ( '$", + "Ġ(' $", + "M ur", + "Mu r", + "æĮ ī", + "b ble", + "bb le", + "Ġ frog", + "Ġf rog", + "Ġfr og", + "Ġfro g", + "- hide", + "-h ide", + "Ġbroad caster", + "Ġbroadcast er", + "ภŀ", + "h aled", + "ha led", + "hal ed", + "Ġam using", + "_ predictions", + "_pre dictions", + "_pred ictions", + "_predict ions", + "_prediction s", + "_ intr", + "_in tr", + "_int r", + "Ġe agle", + "Ġea gle", + "Ġeag le", + "аÑĤ елÑĮ", + "аÑĤе лÑĮ", + "Ġ getList", + "Ġget List", + "ps ilon", + "psi lon", + "Ġcharacter ization", + "AR DS", + "ARD S", + "Ġre location", + "Ġrel ocation", + "Ġreloc ation", + "Ġr ulers", + "Ġrule rs", + "Ġru lers", + "Ġruler s", + "P AY", + "PA Y", + "ĠDef initely", + "_ Action", + "_A ction", + "_Act ion", + "Ġc losures", + "Ġclos ures", + "Ġclosure s", + "Ġf actual", + "Ġfact ual", + "Ġfac tual", + "o dynamic", + "od ynamic", + "odyn amic", + "odynam ic", + "Ġpreca utions", + "Ġprecaution s", + "n iej", + "ni ej", + "nie j", + "ĠPart ies", + "ĠPar ties", + "ĠParti es", + "ĠSub aru", + "ĠSu baru", + "Ġcous ins", + "Ġcousin s", + "ar beit", + ". money", + ".m oney", + ".mo ney", + ".mon ey", + "g unta", + "gun ta", + "( and", + "(a nd", + "(an d", + "get item", + ".Style Priority", + "Ġs lid", + "Ġsl id", + "s ingleton", + "single ton", + "sing leton", + "Ġg arn", + "Ġgar n", + "Ġga rn", + "ĠP AS", + "ĠPA S", + "Ġd azz", + "Ġda zz", + "a ż", + "Ġbog us", + "ĠM og", + "ĠMo g", + "Ġrival ry", + "i sol", + "is ol", + "iso l", + "Ġland marks", + "Ġlandmark s", + "ñ as", + "ña s", + "B ern", + "Be rn", + "Ber n", + "ĠS achs", + "ĠSa chs", + "ĠSac hs", + "ĠSach s", + "Ġ \")ĊĊ", + "Ġ\" )ĊĊ", + "Ġ\") ĊĊ", + "Ġ\")Ċ Ċ", + "Ġhost ility", + "Ġhos tility", + "_m ex", + "_me x", + "m ere", + "mer e", + "me re", + "M ot", + "Mo t", + "p ictureBox", + "picture Box", + "Def ense", + "Ġaffid avit", + "other wise", + ". directory", + ".d irectory", + ".direct ory", + "_ UnityEngine", + "_Un ityEngine", + "- blog", + "-b log", + "-bl og", + ". skin", + ".s kin", + ".sk in", + "p hem", + "ph em", + "phe m", + "Ap ellido", + "er chant", + "[ class", + "[c lass", + "Ġ wart", + "Ġw art", + "Ġwar t", + "Ġwa rt", + ". \"[", + ".\" [", + "a leur", + "al eur", + "ale ur", + "/ back", + "/b ack", + "ĠĠĠĠ ĉĠĠĠ", + "ĠĠĠ ĠĉĠĠĠ", + "ĠĠĠĠĉ ĠĠĠ", + "ĠĠĠĠĉĠ ĠĠ", + "Ġprecip itation", + "Ġob struction", + "Ġobstruct ion", + "Ġp Obj", + "Ġ rupt", + "Ġr upt", + "Ġru pt", + "U CKET", + "UCK ET", + "a ye", + "ay e", + "æİ Ĵ", + "g x", + "Ġe cl", + "Ġec l", + "Ġsecre cy", + "/ Header", + "ĠLe sb", + "ĠLes b", + "Ġ lei", + "Ġl ei", + "Ġle i", + "Ġ Bulletin", + "ĠBull etin", + "ĠBullet in", + "Ġgive away", + ". Home", + ".H ome", + "_ ROOM", + "_R OOM", + "_RO OM", + "\" W", + "Ġco work", + "Ġcow ork", + "_ ra", + "_r a", + "ĠC ycling", + "ĠCy cling", + "ĠCycl ing", + "ĠCyc ling", + "ĠP aw", + "ĠPa w", + "Ġp upil", + "Ġpup il", + "/ arch", + "/a rch", + "/ar ch", + "ĠFile Utils", + "é¦ ĸ", + "r sp", + "rs p", + "Ġfreedom s", + "Ġfreed oms", + "ĠL ear", + "ĠLe ar", + "} `).", + "}` ).", + "Ġbow ls", + "Ġbowl s", + "/ block", + "/b lock", + "/bl ock", + "_ logging", + "_log ging", + "Ġme thane", + "Ġmeth ane", + "Ġh orns", + "Ġhor ns", + "Ġhorn s", + "Ġwonder fully", + "Ġwonderful ly", + "Ġalter ations", + "Ġalteration s", + "Ġex ile", + "l sen", + "ls en", + "lse n", + "_ pause", + "_p ause", + "_pa use", + "_ LANGUAGE", + "_L ANGUAGE", + "_LANG UAGE", + "ĠUS DA", + "ĠUSD A", + "_ mysql", + "_m ysql", + "_my sql", + "_AM OUNT", + "ĠL IFE", + "ĠLI FE", + "Ġyoung sters", + "Ġyoungster s", + "Ġri ots", + "Ġriot s", + "Ġrio ts", + "[ E", + "Ġun forgettable", + ", },Ċ", + "Dis posed", + "Dispose d", + "Disp osed", + "ĠAss assin", + "ĠAssass in", + "U NG", + "UN G", + "ĠNew sp", + "ĠNews p", + "User Service", + ": aload", + ":a load", + "+ ',", + "+' ,", + "Ġsett lers", + "Ġsettle rs", + "Ġscre ams", + "Ġscream s", + "Ġincon venience", + ". Rotate", + ".R otate", + "Ġj ars", + "Ġja rs", + "Ġjar s", + "ĠP uzzle", + "ĠPu zzle", + "Ġm est", + "Ġme st", + "Ġmes t", + "ar si", + "ars i", + "ĠS harma", + "ĠSh arma", + "ĠShar ma", + "| (", + ". ds", + ".d s", + "ĠSa cred", + "ĠSac red", + "ĠSacr ed", + "_ evt", + "_e vt", + "_ev t", + "Ġexp resses", + "Ġexpress es", + "Ġexpr esses", + "Ġexpres ses", + "Ġh och", + "Ġho ch", + "Ġhoc h", + "ĠD uch", + "ĠDu ch", + "ĠDuc h", + ". calls", + ".c alls", + ".call s", + ".cal ls", + "t hr", + "th r", + "ĠShe ffield", + ". AlertDialog", + ".Alert Dialog", + "Ġrad ically", + "Ġradical ly", + "Ġt rous", + "Ġtr ous", + "Ġtro us", + "Ġtrou s", + "Ġprev ailing", + "Ġprevail ing", + "ĠWW II", + "âĢĻ n", + "ens ely", + "ense ly", + "Ġ Yesterday", + "ĠY esterday", + "ĠSir ius", + "ĠSiri us", + "Ġkill ers", + "Ġkil lers", + "Ġkiller s", + "Ġ FFT", + "ĠF FT", + "ĠFF T", + "Ġ oval", + "Ġo val", + "Ġov al", + "' ):čĊ", + "') :čĊ", + "'): čĊ", + "Ġ ìłķë³´", + "Ġìłķ ë³´", + "ou rage", + "our age", + "Ġ Checkbox", + "ĠCheck box", + "Work book", + ". defer", + ".de fer", + ".def er", + "_ floor", + "_f loor", + "_fl oor", + "Ġc ouncill", + "Ġcouncil l", + "Ġnors ke", + "Ġnorsk e", + "m oil", + "mo il", + "o rea", + "or ea", + "ore a", + "Ġmark eted", + "Ġmarket ed", + "_ SUR", + "_S UR", + "_SU R", + "x AA", + "xA A", + "Ġst ained", + "Ġsta ined", + "Ġstain ed", + "e ut", + "eu t", + "ĠM eng", + "ĠMe ng", + "ĠMen g", + "Ġ ieee", + "Ġi eee", + "Ġie ee", + ". extern", + ".ex tern", + ".ext ern", + "e gie", + "eg ie", + "Ġr app", + "Ġrap p", + "Ġra pp", + "ĠPy ongyang", + "' class", + "M ob", + "Mo b", + "Ġinitial Value", + "_ wave", + "_w ave", + "Ġ jab", + "Ġj ab", + "Ġja b", + "Ġmascul ine", + "Ġampl ifier", + "Ġ tty", + "Ġt ty", + "Ġtt y", + "Path Component", + "_ xt", + "_x t", + "ĠG FP", + "ĠGF P", + "/ sec", + "/s ec", + "/se c", + "ĉ dispatch", + "ĉdis patch", + "mark down", + "ĠS chn", + "ĠSc hn", + "ĠSch n", + "b ole", + "bo le", + "bol e", + "· ·", + "mouse move", + "Ġ errMsg", + "Ġerr Msg", + "Ġa sign", + "Ġas ign", + "Ġasi gn", + "_ mono", + "_m ono", + "_mon o", + "_mo no", + "To Selector", + "ĠZ u", + "( Rect", + "(R ect", + "Ġ ErrorCode", + "ĠError Code", + "l atin", + "la tin", + "lat in", + "ang ible", + "angi ble", + "v tk", + "vt k", + "CG Size", + "P okemon", + "Pok emon", + "Ġclass mates", + "Ġat tracts", + "Ġattr acts", + "Ġattract s", + "ĠT atto", + "ĠTat to", + "ul tan", + "ult an", + "ulta n", + "ol óg", + "Ġh alted", + "Ġhal ted", + "Ġhalt ed", + "ठ¨", + "ĠK art", + "ĠKar t", + "ĠKa rt", + "Ġ ue", + "Ġu e", + "_Init Structure", + "_InitStruct ure", + "Test Class", + "ĠAir bnb", + "_ \",", + "_\" ,", + "Ġchar coal", + "Ġ ipc", + "Ġi pc", + "Ġip c", + "Ġ Stretch", + "ĠSt retch", + "ĠStr etch", + ".g lide", + ".gl ide", + "lates AutoresizingMaskIntoConstraints", + "Ġp otion", + "Ġpo tion", + "Ġpot ion", + "ITT LE", + "Ġcount ert", + "Ġcounter t", + "_ hd", + "_h d", + "pre pared", + "prepare d", + "prep ared", + "A ds", + "Ad s", + "ĠV ampire", + "ro bots", + "robot s", + "rob ots", + ".Create Index", + "Status Label", + "Ġt ucked", + "af ür", + "U t", + "Ġswe ater", + "Ġsweat er", + "_ FN", + "_F N", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĉ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġĉ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĉ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĉ", + "at aka", + "ata ka", + "atak a", + "Ġeyeb rows", + "Ġeyebrow s", + "a coes", + "ac oes", + "aco es", + "u den", + "ud en", + "ude n", + ".Linear LayoutManager", + ".LinearLayout Manager", + "Ġs way", + "Ġsw ay", + "Ġmult in", + "Ġmulti n", + "Ġmul tin", + "( ))))Ċ", + "() )))Ċ", + "()) ))Ċ", + "())) )Ċ", + "()))) Ċ", + "Ġ NSUInteger", + "ĠNS UInteger", + "ĠMy Base", + "P artner", + "Part ner", + "uts chen", + "utsch en", + "utsche n", + "ĠC ater", + "ĠCa ter", + "ĠCat er", + ".set BackgroundColor", + ".setBackground Color", + "Ġaccompl ishment", + "Ġaccomplish ment", + "_ problem", + "_pro blem", + "_prob lem", + ".d td", + ".dt d", + "Ġ pageNumber", + "Ġpage Number", + "ĠpageNum ber", + "Ġj ackets", + "Ġjack ets", + "Ġjacket s", + "Ġc ropped", + "Ġcr opped", + "Ġcro pped", + "Ġcrop ped", + "u els", + "ue ls", + "uel s", + "ĠH ep", + "ĠHe p", + "Ġc apped", + "Ġcap ped", + "Ġca pped", + "* Math", + "*M ath", + "_ callbacks", + "_callback s", + "_call backs", + "Ġp ubb", + "Ġpub b", + "Ġpu bb", + "ĠBrun swick", + ". respond", + ".res pond", + ".resp ond", + "[ \"_", + "[\" _", + "Ġbed ding", + "hyth m", + "O X", + "( speed", + "(s peed", + "(sp eed", + "Ġpest icides", + "Ġpestic ides", + "Ġpesticide s", + "Ġ -------", + "Ġ- ------", + "Ġ-- -----", + "Ġ---- ---", + "Ġ--- ----", + "Ġ----- --", + "Ġ------ -", + ". Blue", + ".B lue", + ".Bl ue", + "Ġn oodles", + "Ġnood les", + "ĠG oes", + "ĠGo es", + "Ġs aver", + "Ġsa ver", + "Ġsave r", + "Ġsav er", + "o xy", + "ox y", + "_ completion", + "_com pletion", + "_comp letion", + "ĠSw inger", + "ĠSwing er", + "Ġ getDate", + "Ġget Date", + "Ġm inded", + "Ġmin ded", + "Ġmind ed", + "int egration", + "integr ation", + "ĠLot us", + "( stop", + "(s top", + "(st op", + "(', ');Ċ", + "(',' );Ċ", + "(',') ;Ċ", + "Ġfl oods", + "Ġflo ods", + "Ġflood s", + "Ġ Workflow", + "ĠWork flow", + "Ġe rupted", + "Ġerupt ed", + "M acro", + "Mac ro", + "Ma cro", + "ĠS auce", + "ĠSa uce", + "ĠSau ce", + "Ġ eventName", + "Ġevent Name", + "\\ Input", + "Break ing", + "Bre aking", + "ĉ when", + "ĉw hen", + "_ pw", + "_p w", + "I NDER", + "IN DER", + "IND ER", + "ĠWell ness", + "Ġv oxel", + "Ġvox el", + "ĠM ell", + "ĠMe ll", + "ĠMel l", + "Ġ MEDIA", + "ĠM EDIA", + "ĠMED IA", + "S ENS", + "SE NS", + "SEN S", + "ĠF unds", + "ĠFund s", + "ĠFun ds", + "ĠFu nds", + "ĠM ild", + "ĠMil d", + "ĠMi ld", + "< Array", + "Ċ", + "') ;?>Ċ", + "'); ?>Ċ", + "');?> Ċ", + "Ġtemp ting", + "Ġtempt ing", + "Ġtest ament", + "Ġb ible", + "Ġbi ble", + "Ġbib le", + "Ġconsult ed", + "Ġconsul ted", + "ĠIndex Error", + "è¨ ĺ", + "Ġkey pad", + "Ġke ypad", + "i zzo", + "iz zo", + "izz o", + "( ok", + "(o k", + "Ġwh atsapp", + "Ġwhats app", + "ĠRemote Exception", + "Ġte amed", + "Ġteam ed", + "Ġtea med", + "âĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶ âĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶâĢĶ", + "» ,", + "Ġ getTime", + "Ġget Time", + "d iag", + "di ag", + "dia g", + "is sy", + "iss y", + "Ġ hed", + "Ġh ed", + "Ġhe d", + "Ġkn ots", + "Ġknot s", + "j om", + "jo m", + "Ġf unnel", + "Ġfun nel", + "-m ails", + "-mail s", + "Ġexp orting", + "Ġexport ing", + "Ġ VL", + "ĠV L", + "ĠK arn", + "ĠKar n", + "ĠKa rn", + "ĠBuddh ism", + "ĠAl lan", + "ĠAll an", + "ĠAlla n", + "_R ADIUS", + "Ġw ording", + "Ġword ing", + "Ġwor ding", + "Ġ Forget", + "ĠF orget", + "ĠFor get", + "ĠForge t", + "ĠForg et", + "ĠCor ona", + "ĠCoron a", + "i phy", + "ip hy", + "iph y", + "Ġlim burg", + "Ġlimb urg", + "ug gy", + "ugg y", + "ĠUser Repository", + "i min", + "im in", + "imi n", + "( ele", + "(e le", + "(el e", + "Ġlabel led", + "Ġlab elled", + "ç¤ ¾", + "ĠH erman", + "ĠHer man", + "ĠHerm an", + ". qq", + ".q q", + "Ġ \"));Ċ", + "Ġ\" ));Ċ", + "Ġ\") );Ċ", + "Ġ\")) ;Ċ", + "ie ber", + ". Translate", + ".Trans late", + "r yn", + "ry n", + "Ġdes env", + "Ġdese nv", + "u md", + "um d", + "Sim ply", + "ĉ mode", + "ĉm ode", + "ĉmod e", + "R pc", + "Rp c", + "ĠVal encia", + "ĠVale ncia", + "Ġstaff ers", + "Ġstaffer s", + "Ġse lv", + "Ġsel v", + "ĠS pike", + "ĠSp ike", + "ĠSpi ke", + "Ġd elic", + "Ġde lic", + "Ġdel ic", + "Ġ eru", + "Ġe ru", + "Ġer u", + "_ DT", + "_D T", + "J udge", + "Jud ge", + "Ju dge", + "á» ķ", + "ĠB asin", + "ĠBa sin", + "ĠBas in", + ". mutable", + ".m utable", + ".mu table", + "\" url", + "Ġtar iff", + "Ġtarif f", + "ĠSlee ve", + "ĠSle eve", + "Ġ flare", + "Ġfl are", + "Ġfla re", + ". dropout", + ".drop out", + "Ġb rides", + "Ġbr ides", + "Ġbri des", + "Ġbride s", + "Ġbrid es", + ") ),čĊ", + ")) ,čĊ", + ")), čĊ", + "_ constraints", + "_con straints", + "_constraint s", + "d estruct", + "de struct", + "Out line", + "Ġdisappe ars", + "Ġdisappear s", + "_ locked", + "_l ocked", + "_lock ed", + "_loc ked", + "ĠNS LocalizedString", + "c ke", + "ck e", + "ĉ null", + "ĉn ull", + "ad resse", + "adr esse", + "adress e", + "Ġt opping", + "Ġto pping", + "Ġtop ping", + "Ġtopp ing", + "ĠJ oker", + "ĠJo ker", + "b ishop", + "bi shop", + "bis hop", + "bish op", + "н оÑģÑĤÑĮ", + "но ÑģÑĤÑĮ", + "ноÑģÑĤ ÑĮ", + "ноÑģ ÑĤÑĮ", + "and ering", + "ander ing", + "ande ring", + "_ amp", + "_a mp", + "_am p", + "= time", + "=t ime", + "_ Space", + "_S pace", + "_P ULL", + "' =", + "Ġant iqu", + "Ġanti qu", + "Ġc ach", + "Ġca ch", + "Ġcac h", + "_ __ĊĊ", + "__ _ĊĊ", + "___ ĊĊ", + "O NES", + "ON ES", + "ONE S", + "о Ñı", + "Ġ unread", + "Ġun read", + "Ġunre ad", + "Ġunr ead", + ". policy", + ".p olicy", + ".pol icy", + "oooo oooo", + "ëŁ ¬", + "Ġ usted", + "Ġu sted", + "Ġus ted", + "Ġust ed", + "ĠR ece", + "ĠRe ce", + "ĠRec e", + "Ġal lem", + "Ġall em", + "Ġalle m", + "ãĥ¼ ãĤ¹", + "ãĥ¼ãĤ ¹", + "ĠThough ts", + "ĠThought s", + "ve illance", + "i strate", + "ist rate", + "istr ate", + "istra te", + "istrat e", + "_ lane", + "_l ane", + "_la ne", + "Ġf amed", + "Ġfam ed", + "Ġfa med", + "Ġfame d", + ". GetName", + ".Get Name", + "Ġsmooth er", + "Ġsmo other", + "Ġ Qualified", + "ĠQual ified", + "a zers", + "az ers", + "aze rs", + "azer s", + "_ geo", + "_g eo", + "_ge o", + "F ax", + "Fa x", + "ĠM inds", + "ĠMin ds", + "ĠMi nds", + "ĠMind s", + "Ġ Raises", + "ĠR aises", + "ĠRa ises", + "ĠRaise s", + "ĠRai ses", + "Ġtrans cripts", + "Ġtran scripts", + "Ġtranscript s", + "Con versation", + "Ġre marked", + "Ġrem arked", + "Ġremark ed", + "Ġremar ked", + "ëĤ ĺ", + "d ling", + "dl ing", + "Ġdeploy ing", + "Ġshared Application", + "Ġ kp", + "Ġk p", + "FontAwesome Icon", + "_ dummy", + "_d ummy", + "re iben", + "reib en", + "rei ben", + "ĠJane iro", + "Dir ections", + "Direction s", + "Direct ions", + "Di rections", + "Dire ctions", + ".get Bean", + ".getB ean", + "s ass", + "sa ss", + "Ġcomm anders", + "Ġcommand ers", + "Ġcommander s", + "Ġcommande rs", + "v ation", + "va tion", + "vat ion", + "error Code", + "ĠAl loy", + "ĠAll oy", + ". localized", + ".local ized", + "Ð ij", + "Ġdish washer", + "Ġ Soup", + "ĠS oup", + "ĠSo up", + "ĠSou p", + "N u", + "_ Default", + "_D efault", + "_De fault", + "_Def ault", + "Ġun even", + "Ġune ven", + "Ġ />\";Ċ", + "Ġ/ >\";Ċ", + "Ġ/> \";Ċ", + "- Based", + "-B ased", + "Ġseam lessly", + "Ġseamless ly", + "- null", + "-n ull", + "Ġ XC", + "ĠX C", + "Ġst ew", + "Ġste w", + "( delay", + "(d elay", + "(de lay", + "(del ay", + "AT ORS", + "ATOR S", + "ATO RS", + "ĠWhe eler", + "ĠWheel er", + "\" H", + "e ast", + "ea st", + ". air", + ".a ir", + ".ai r", + "âĢľ But", + "Object Context", + "success fully", + "successful ly", + "_ land", + "_l and", + "_la nd", + "Ġf olds", + "Ġfol ds", + "Ġfold s", + "Ġfo lds", + "_ COORD", + "_CO ORD", + "Ġsub po", + ".get Address", + ".g etAddress", + "in str", + "ins tr", + "inst r", + "Material s", + "Ñĥ ÑģÑĤ", + "ÑĥÑģ ÑĤ", + "de posit", + "dep osit", + "- last", + "-l ast", + "-la st", + "_ GRAY", + "_G RAY", + "_GR AY", + "_GRA Y", + "= find", + "=f ind", + "Ġmut ant", + "Ġmu tant", + "Ġlesb ienne", + "Ġlesbi enne", + "let cher", + "R OUGH", + "RO UGH", + "ur eka", + "ure ka", + ". capture", + ".c apture", + ".cap ture", + "Ġ enn", + "Ġe nn", + "Ġen n", + "Ġ ([[", + "Ġ( [[", + "Ġ([ [", + "ĠF lu", + "ĠFl u", + "Ġ taskId", + "Ġtask Id", + "ĠHus sein", + "ĠHuss ein", + ". folder", + ".f older", + ".fold er", + "Ġa usterity", + "IST RATION", + "ISTR ATION", + "_ Impl", + "_I mpl", + "注 æĦı", + "Ġdec ree", + "Ġdecre e", + "- chat", + "-c hat", + "-ch at", + "Ġim plication", + "Ġimp lication", + "Ġimpl ication", + "Ġimplic ation", + "Ġgu esses", + "Ġguess es", + "ul kan", + "ulk an", + "An alytics", + "Analy tics", + ". plus", + ".p lus", + ".pl us", + "COM MAND", + "COMM AND", + "е ли", + "ел и", + "» ĊĊ", + "»Ċ Ċ", + "_ SITE", + "_S ITE", + "_SI TE", + "Ġ equalTo", + "Ġequal To", + "Support FragmentManager", + "Ġ Recording", + "ĠRec ording", + "ĠRecord ing", + "å®Į æĪIJ", + "Ġbag gage", + "Ġpitch ers", + "Ġpit chers", + "Ġpitcher s", + "ĠE h", + "o que", + "oq ue", + "ĉ cnt", + "ĉc nt", + "Ġ =>$", + "Ġ= >$", + "Ġ=> $", + "/ foo", + "/f oo", + "I RA", + "IR A", + "ĠSat ellite", + "bo rah", + "bor ah", + "Ġ }}\"Ċ", + "Ġ} }\"Ċ", + "Ġ}} \"Ċ", + "Ġ}}\" Ċ", + "ĠE nds", + "ĠEn ds", + "ĠEnd s", + "ĠS pray", + "ĠSp ray", + "ĠSpr ay", + ", param", + ",p aram", + ". Chrome", + ".Ch rome", + "* q", + "th ought", + "though t", + "ib rated", + "ibr ated", + "ibrate d", + "Ġth ieves", + "Ġbenefici aries", + "En tered", + "Ent ered", + "Enter ed", + "ottes ville", + "otte sville", + "Ġveter in", + "Ġvet erin", + "By ID", + "qu ipe", + "quip e", + "qui pe", + "um ption", + "ump tion", + "umpt ion", + "- unit", + "-un it", + "-u nit", + "Execution Context", + "@ s", + "ĠG iov", + "ĠGi ov", + "ĠGio v", + ". ToolTip", + ".Tool Tip", + "_ friend", + "_f riend", + "( attributes", + "(at tributes", + "(attribute s", + "Ġd umping", + "Ġdump ing", + "Ġdum ping", + "Ġ JC", + "ĠJ C", + "_ DOCUMENT", + "_D OCUMENT", + "_DOC UMENT", + "ĠAr mour", + "ĠArm our", + "( insert", + "(in sert", + "(ins ert", + ". HorizontalAlignment", + ".Horizontal Alignment", + "Ġ Qed", + "ĠQ ed", + "ãģĦ ãģ¾ãģĻ", + "/ git", + "/g it", + "Ġ YYYY", + "ĠY YYY", + "ĠYY YY", + "ĠCar diff", + "ĠCard iff", + "Ġ apa", + "Ġa pa", + "Ġap a", + "org anic", + "organ ic", + "ĠWhere as", + "ĠWhe reas", + "Ġ æĿ", + "Ġæ Ŀ", + "ĠM ia", + "ĠMi a", + "Ġdemol ition", + "Ġs cars", + "Ġsc ars", + "Ġsca rs", + "Ġscar s", + "Ġ pai", + "Ġp ai", + "Ġpa i", + "Ġre tries", + "Ġret ries", + "Ġretrie s", + "Ġretr ies", + "Ġ rq", + "Ġr q", + "ĠD enis", + "ĠDe nis", + "ĠDen is", + "( Utils", + "(Util s", + "Ġallev iate", + "Ġ PIC", + "ĠP IC", + "ĠPI C", + "i due", + "id ue", + "Ġacknowled ging", + "Ġ// ////////////////////////////////", + "Ġ////////////////// ////////////////", + "ç¡® å®ļ", + "Ä «", + "\\ Json", + ". binary", + ".b inary", + ".bin ary", + "Ġx type", + "Ġxt ype", + "sign als", + "signal s", + "Ġ Appearance", + "ĠAp pearance", + "& r", + "} s", + "C i", + "ĠI llum", + "ĠIl lum", + "ĠIll um", + "p orate", + "por ate", + "po rate", + "pora te", + "h og", + "ho g", + "Ġ indexOf", + "Ġindex Of", + "\\ Command", + "_ parallel", + "_par allel", + "ĠSher lock", + "í ĥ", + "Ġ\" \")čĊ", + "Ġ\"\" )čĊ", + "Ġ\"\") čĊ", + "//////////////// ////////////////////////////////////////////////////////////////////////////////", + "//////////////////////////////// ////////////////////////////////////////////////////////////////", + "//////////////////////////////////////////////////////////////// ////////////////////////////////", + "//////////////////////////////////////////////// ////////////////////////////////////////////////", + "//////////////////////////////////////////////////////////////////////////////// ////////////////", + "Ġcritic ize", + "Ġ Soap", + "ĠSo ap", + "Ġ Matcher", + "ĠM atcher", + "ĠMat cher", + "ĠMatch er", + "Ġgr illed", + "Ġgrill ed", + "Ġgrille d", + "* T", + "Ġad ore", + "Ġado re", + "ul ling", + "ull ing", + "Ġje doch", + "Ġjed och", + "_ refs", + "_re fs", + "_r efs", + "_ref s", + "lean up", + "ĠJ AXB", + "ĠJA XB", + "Ġr oses", + "Ġro ses", + "Ġrose s", + "Ġros es", + "ĠL iam", + "ĠLi am", + "ĠLia m", + "size i", + "siz ei", + "Ġget char", + "Ġgetch ar", + "Ġt arde", + "Ġtar de", + "Ġtard e", + "- tooltip", + "-to oltip", + "-tool tip", + "Ġqual ifier", + "Ġ Intermediate", + "ĠInter mediate", + "_ Window", + "_W indow", + "ĠM alta", + "ĠMal ta", + "Dis connect", + "e where", + "ew here", + "C ampo", + "Cam po", + "Camp o", + "Ġirr ational", + "l edo", + "le do", + "led o", + "Ġ DN", + "ĠD N", + "AR GV", + "ARG V", + "Ġout ro", + "Ġou tro", + "Ġoutr o", + "Ġth irteen", + "Jose ph", + "Jos eph", + "M AR", + "MA R", + "/ gl", + "/g l", + "J ess", + "Je ss", + "ĠPsych iat", + "Ġpadding Bottom", + "- loop", + "-l oop", + "-lo op", + "/ fonts", + "/font s", + "_ seen", + "_s een", + "_se en", + "Te ams", + "Team s", + "React DOM", + "( man", + "(m an", + "( xpath", + "(x path", + ". getSimpleName", + ".get SimpleName", + "> (*", + ">( *", + "ĠP vt", + "ĠPv t", + "Ġel ders", + "Ġelder s", + "Ġelde rs", + "Ġ pies", + "Ġp ies", + "Ġpie s", + "Ġpi es", + ".user Agent", + "- region", + "-reg ion", + "ĠGre eks", + "ĠGreek s", + "ĠGree ks", + "( fragment", + "(f ragment", + "(fr agment", + "s tu", + "st u", + "Ġcouncil s", + "Ġst amina", + "Ġsta mina", + "ĠGod dess", + "è ¥¿", + "è¥ ¿", + "Ġphilosoph ers", + "Ġphilosopher s", + "Ġperson e", + "Ġpers one", + "Ġperso ne", + "ĠL ose", + "ĠLo se", + "ĠLos e", + "Ġ CLR", + "ĠC LR", + "ĠCL R", + "Ġ Docs", + "ĠD ocs", + "ĠDo cs", + "ĠDoc s", + "Ġso ak", + "Ġ HOLDER", + "ĠH OLDER", + "ĠHOLD ER", + "ĠHOL DER", + "Ġb ells", + "Ġbel ls", + "Ġbell s", + "hash Code", + "R ATE", + "RA TE", + "_WE IGHT", + "in ous", + "ino us", + "inou s", + "en dra", + "end ra", + "oph obic", + "Ġp rose", + "Ġpro se", + "Ġpr ose", + "Ġpros e", + "Ġf inely", + "Ġfin ely", + "Ġfine ly", + "/ oauth", + "/o auth", + "( space", + "(s pace", + "(sp ace", + "a dge", + "ad ge", + "ĠM ama", + "ĠMa ma", + "ĠMam a", + "Ġstring Buffer", + "Ġst int", + "Ġm isma", + "Ġmis ma", + "Ġmism a", + "Ġvill ains", + "Ġvillain s", + "Ġvilla ins", + "ĠCrime a", + "Ġdipl oma", + "Ġdiplom a", + "Ġпо Ñģл", + "ĠпоÑģ л", + "ĠB ea", + "ĠBe a", + "( join", + "(j oin", + "Ġ íķ´", + "Ġíķ ´", + "CH AT", + "CHA T", + "p ering", + "pe ring", + "per ing", + "peri ng", + "ĠC ros", + "ĠCr os", + "ĠCro s", + "Ġmon keys", + "Ġmonkey s", + "Ġp reds", + "Ġpr eds", + "Ġpre ds", + "Ġpred s", + "y la", + "yl a", + ", ,,", + ",, ,", + "Ġv ibrator", + "Ġvibr ator", + "Ġ NU", + "ĠN U", + "åħ Ī", + "f ant", + "fa nt", + "fan t", + "z et", + "ze t", + "Ġb ietet", + "un ft", + "s worth", + "sw orth", + ". Flow", + ".F low", + ".Fl ow", + "Ġpsych ed", + "Ġpsy ched", + "Ġpsyche d", + "ĠContin ental", + "ĠContinent al", + "> t", + "Ġqu ilt", + "Ġq uilt", + "Ġqui lt", + "Ġquil t", + ". UP", + ".U P", + "Ġexpans ive", + "Dis pose", + "Disp ose", + "( language", + "(l anguage", + "C aps", + "Cap s", + "Ca ps", + "_ ZONE", + "_Z ONE", + "Ġre cycle", + "Ġr ecycle", + "Ġrec ycle", + "Ġrecycl e", + "Ġ Managed", + "ĠMan aged", + "ĠManage d", + "ĠMana ged", + "current Color", + ". broadcast", + ".b roadcast", + "sign In", + ". prom", + ".p rom", + ".pro m", + ".pr om", + "l lu", + "ll u", + "ue blo", + "Ġpun ches", + "Ġpunch es", + "Ġaut omat", + "Ġauto mat", + "Ġautom at", + "Ġassign ing", + "Ġcreate User", + "ĠAl lied", + "ĠAll ied", + "Ġcon ductor", + "Ġconduct or", + "Ġcond uctor", + "Ġconduc tor", + "Ġcondu ctor", + "Ĥ ¨", + "Ġs addle", + "Ġsad dle", + "Ġsadd le", + "Ġ dni", + "Ġd ni", + "Ġdn i", + "o medical", + "omed ical", + "- West", + "-W est", + "Positive Button", + "Ġ italic", + "Ġit alic", + "? [", + "( trigger", + "(tr igger", + "Ġele phants", + "Ġelephant s", + "\":\" \",\"", + "\":\"\" ,\"", + "Ġcal iber", + "raft ed", + "raf ted", + "d igits", + "digit s", + "dig its", + "Ġ marshal", + "Ġm arshal", + "Ġmar shal", + "Ġmarsh al", + "Ġmars hal", + "m illiseconds", + "mill iseconds", + "m arkers", + "mark ers", + "mar kers", + "marker s", + "m om", + "mo m", + "/ place", + "/p lace", + "/pl ace", + "Ġhol istic", + ": t", + "# ,", + "Ġb oto", + "Ġbo to", + "Ġbot o", + "Ġnause a", + "Ġnau sea", + "ĠSh ooting", + "ĠShoot ing", + "ĠSho oting", + "i tech", + "it ech", + "ite ch", + "Ġtext Status", + "< Class", + " ())Ċ", + ">( ))Ċ", + ">() )Ċ", + ">()) Ċ", + "ADD RESS", + "ADDR ESS", + "B ST", + "BS T", + "et zt", + "etz t", + "ĠQ gs", + "S ense", + "Sen se", + "Exception Handler", + "ĠC hu", + "ĠCh u", + ".get OwnProperty", + "Ġexerc ised", + "Ġexercise d", + "i otic", + "io tic", + "iot ic", + "ĠRe leases", + "ĠRelease s", + "Ġp interest", + "o lie", + "ol ie", + "oli e", + "i soft", + "is oft", + "iso ft", + "Ġsequ encing", + "Ġpa dre", + "Ġpad re", + "Ġpadr e", + "] ));čĊ", + "]) );čĊ", + "])) ;čĊ", + "])); čĊ", + "( radius", + "(r adius", + "(rad ius", + ". med", + ".m ed", + ".me d", + "ain ties", + "aint ies", + ".Object Model", + "Ġ emple", + "Ġem ple", + "Ġemp le", + "Ġseg uro", + "Ġsegu ro", + "St ars", + "Star s", + "Ġqual itative", + "le mn", + "lem n", + "á» ±", + "> \").", + ">\" ).", + ">\") .", + "Ġ gx", + "Ġg x", + "- cert", + "-c ert", + "-ce rt", + "ĠA STM", + "ĠAS TM", + "ĠAST M", + "Ġ fullname", + "Ġfull name", + "Ġful lname", + "Ġte lemetry", + "Ġtele metry", + "ĠCamb odia", + "_ ul", + "_u l", + "ĠCl are", + "ĠClar e", + "ĠCla re", + "C USTOM", + "Q C", + "ĠU ns", + "ĠUn s", + "Ġ HTTPS", + "ĠHTTP S", + "ĠPar kinson", + "ĠPark inson", + "ancy box", + "', '.", + "',' .", + "T ue", + "Tu e", + ". getLast", + ".get Last", + "Ġ abi", + "Ġa bi", + "Ġab i", + "Äħ d", + "A st", + "As t", + "Ġ Editing", + "ĠEd iting", + "ĠEdit ing", + ". Unity", + ".Un ity", + ".Unit y", + "j mp", + "jm p", + "Ġm ats", + "Ġmat s", + "Ġma ts", + "Ġshared Preferences", + "Cap tain", + "Capt ain", + ". pageSize", + ".page Size", + "Ġ rtl", + "Ġr tl", + "Ġrt l", + "Ġan meld", + "Runtime Object", + "Ġdem ande", + "Ġdemand e", + "( \";", + "(\" ;", + "se ite", + "sei te", + "- headed", + "-head ed", + "-he aded", + "ĠK ra", + "ĠKr a", + "Ġ FONT", + "ĠF ONT", + "ĠFO NT", + "` \\", + "Class NotFoundException", + ". avg", + ".a vg", + ".av g", + "a tical", + "at ical", + "atic al", + "ati cal", + "atica l", + "A j", + "Ġpermit ting", + "Ġperm itting", + "P roj", + "Pro j", + "Pr oj", + "ERR Q", + "Ġcre ampie", + "Ġcream pie", + "ĠBuy er", + "ĠBu yer", + "- modules", + "-mod ules", + "-module s", + "ĠSunday s", + "ĠSun days", + "ĠSund ays", + "| `Ċ", + "Ġday time", + "Ġ +(", + "Ġ+ (", + "Ġgl itch", + "Ġ Operand", + "ĠOper and", + "ĠOpera nd", + "Ġtox ins", + "Ġtoxin s", + "i nya", + "in ya", + "iny a", + "D NS", + "DN S", + "ĠS as", + "ĠSa s", + "C ake", + "Ca ke", + "ĠNational s", + "ĠNation als", + ". addTo", + ".add To", + "Ġs inking", + "Ġsin king", + "Ġsink ing", + "Ġcompreh ension", + "Ġs cor", + "Ġsc or", + "Ġsco r", + "a gements", + "ag ements", + "age ments", + "agement s", + "agem ents", + "Ġt ard", + "Ġta rd", + "Ġtar d", + "Ġm arching", + "Ġmar ching", + "Ġmarch ing", + "ĠM TV", + "ĠMT V", + "Ġs ane", + "Ġsa ne", + "Ġsan e", + "Create Info", + "Ạ¯", + "Ġend Index", + "ĉ layout", + "ĉl ayout", + "Ġ åIJį", + "ĠåIJ į", + "S ITE", + "SI TE", + "ĠT HERE", + "ĠTHE RE", + "ĠTH ERE", + "Ġ[ {'", + "Ġ[{ '", + "opath ic", + "opa thic", + "Ġtrans mitter", + "Ġtransmit ter", + "/ body", + "/b ody", + "Ġp und", + "Ġpun d", + "Ġpu nd", + "Ġ Closing", + "ĠC losing", + "ĠCl osing", + "ĠClo sing", + "Ġ setattr", + "Ġset attr", + "Ġ bounded", + "Ġb ounded", + "Ġbo unded", + "Ġbound ed", + "At las", + "Atl as", + "s uming", + "sum ing", + "su ming", + "( times", + "(t imes", + "(time s", + "(ti mes", + "p arer", + "par er", + "pare r", + "pa rer", + "y nom", + "yn om", + "fe it", + "Ġf rem", + "Ġfr em", + "Ġfre m", + "- leg", + "-l eg", + "-le g", + "ĠB ras", + "ĠBr as", + "ĠBra s", + "> #", + "Ġì¶ ľëł¥", + "Ġì¶ľ ëł¥", + "Ġ INSTANCE", + "ĠIN STANCE", + "ĠINST ANCE", + "ĠC ouch", + "ĠCo uch", + "ĠCou ch", + "_ hosts", + "_host s", + "lik elihood", + ". Marker", + ".M arker", + ".Mark er", + ".Mar ker", + "ĠM asks", + "ĠMas ks", + "ĠMask s", + "Ġc ereal", + "Ġce real", + "Ġcere al", + "ut ilities", + "util ities", + "Ġelement al", + "Ġele mental", + "Ġelem ental", + "Ġdist orted", + "Ġdistort ed", + "in active", + "c ry", + "cr y", + "W L", + "UPPORT ED", + ". Throws", + ".Th rows", + ".Throw s", + "/ schema", + "/s chema", + "s erie", + "se rie", + "ser ie", + ". \"',", + ".\" ',", + ".\"' ,", + "ĠBened ict", + "ĠBene dict", + "- picker", + "-p icker", + "-pic ker", + "ig gs", + "igg s", + "ĠP irate", + "ĠPi rate", + "ĠPir ate", + "åij¨ æľŁ", + "ĠThe ma", + "ĠTh ema", + "ĠThem a", + "ĠSouth ampton", + "Ġarray With", + "ĠPaul a", + "ĠPa ula", + "Ġpred ictor", + "Ġpredict or", + "Ġpredic tor", + "- Ass", + "-A ss", + ". userid", + ".user id", + ".use rid", + "Ġ peri", + "Ġp eri", + "Ġper i", + "Ġpe ri", + "Ġexagger ated", + "u rate", + "ur ate", + "ura te", + "urat e", + "arse ille", + "ĠCon cent", + "ĠConc ent", + "ĠConce nt", + "ĠP ik", + "ĠPi k", + "Ġ@ _;ĊĊ", + "Ġ@_;Ċ Ċ", + "Ġ@_ ;ĊĊ", + "Ġform ations", + "Ġformat ions", + "Ġformation s", + "Ġden omin", + "Ġdenom in", + "\" />.Ċ", + "\"/ >.Ċ", + "\"/> .Ċ", + "end edor", + "ended or", + "Ġpan cre", + "Ġpanc re", + "Ġ amt", + "Ġa mt", + "Ġam t", + "Ġon Resume", + "on Delete", + "ĠB CH", + "ĠBC H", + ") (\"", + ")( \"", + "m ovement", + "move ment", + "mo vement", + "mov ement", + "Ġpot assium", + "", + "Ġ-- ->", + "Ġ--- >", + "ĠP PC", + "ĠPP C", + "i sz", + "is z", + "ake FromNib", + "Ġ Disp", + "ĠD isp", + "ĠDis p", + "ĠDi sp", + "ĠAth letics", + "ĠAthletic s", + "Ġnight club", + "G OOD", + "GO OD", + ".set Geometry", + "+ [", + "/ send", + "/s end", + "/se nd", + "Ġbin aries", + "Ġr áp", + "Ġrá p", + ": req", + ":r eq", + "-con suming", + "-cons uming", + "er time", + "ert ime", + "erti me", + "UP DATED", + "UPDATE D", + "_ nullable", + "_null able", + "V IN", + "VI N", + "u lia", + "ul ia", + "uli a", + "c yan", + "cy an", + "Ġmisunder standing", + "Ġmisunderstand ing", + "o rical", + "or ical", + "ori cal", + "oric al", + "deg rees", + "degree s", + "Le ading", + "Lead ing", + ". AR", + ".A R", + "ic kest", + "ick est", + "N uevo", + "uf oria", + "Ġgo odies", + "Ġgood ies", + "Ġf ores", + "Ġfor es", + "Ġfore s", + "Ġfo res", + "() <<\"", + "()<< \"", + "()< <\"", + "ad emic", + "ade mic", + "adem ic", + "Action Creators", + "server name", + "( nt", + "(n t", + "db Context", + "Ġair borne", + "Ġexhib itions", + "Ġexhibition s", + "Ġexhibit ions", + "c ele", + "ce le", + "cel e", + "Ġt ela", + "Ġte la", + "Ġtel a", + "< Movie", + "", + "() \">", + "()\" >", + ".set PreferredSize", + "ĠM ID", + "ĠMI D", + "ĠA less", + "ĠAl ess", + "ĠAle ss", + "Ġhorse power", + "Ġa tm", + "Ġat m", + "ĠPack aging", + "Ġc iphertext", + "Ġcipher text", + "Request Method", + "Ġbe iden", + "Ġbei den", + "Ġbeide n", + "è £", + "ĠP OW", + "ĠPO W", + ".Write Header", + "d irector", + "dir ector", + "direct or", + "dire ctor", + "- but", + "-b ut", + "ãģł ãģķãģĦ", + "in cer", + "ince r", + "inc er", + "_ dn", + "_d n", + "! !!!!", + "!! !!!", + "!!! !!", + "!!!! !", + "Ġmanufact ures", + "Ġmanufacture s", + ". TextUtils", + ".Text Utils", + "Ġcon sciously", + "Ġconsc iously", + "Ġconscious ly", + "Ġb ounced", + "Ġbounce d", + "c ulture", + "cul ture", + "cult ure", + "ĠS par", + "ĠSp ar", + "ĠSpa r", + "ĠP iper", + "ĠPi per", + "ĠPipe r", + "ĠPip er", + ". press", + ".p ress", + ".pre ss", + ".pr ess", + ".pres s", + "- owner", + "-o wner", + "Ġe valuator", + "Ġeval uator", + "Ġevalu ator", + "Ġ STREAM", + "ĠST REAM", + ".PictureBox SizeMode", + "Ġsu gars", + "Ġsugar s", + "Ġsug ars", + "Screen Width", + "Ġnext State", + "Ġiv ory", + "Ġbr unch", + "Ġbrun ch", + "d ensity", + "dens ity", + "_ OW", + "_O W", + "ĠCoron avirus", + "ĠC FR", + "ĠCF R", + "b ak", + "ba k", + "\\ Category", + "\\C ategory", + "æķ° ç»Ħ", + "Ġinvoke virtual", + "} ()Ċ", + "}( )Ċ", + "Ġs ujet", + "Ġsu jet", + "- marker", + "-m arker", + "-mark er", + "-mar ker", + "is digit", + "isd igit", + "ĠM obil", + "ĠMo bil", + "ĠMob il", + "ĠJsonRequest Behavior", + "_ REMOTE", + "_RE MOTE", + ".exists Sync", + "Ġrich es", + "Ġri ches", + "Ġric hes", + ".p resenter", + ".present er", + ".pres enter", + "Ġgl Color", + "Ġh anya", + "Ġha nya", + "Ġhan ya", + "Ġfort ress", + "Ġfl ashed", + "Ġflash ed", + "Ġfla shed", + "v iz", + "vi z", + "requ ently", + "requent ly", + "b uat", + "bu at", + "$ con", + "$c on", + "> |", + ". Func", + ".F unc", + "Ġhum orous", + "Ġhumor ous", + "u em", + "ue m", + ". ZERO", + ".Z ERO", + "ĠS TL", + "ĠST L", + "ĠB uk", + "ĠBu k", + "/ sample", + "/s ample", + "ĠG ros", + "ĠGr os", + "ĠGro s", + "Rec ipes", + "Recipe s", + "Ġinf lated", + "Ġinfl ated", + "Ġinflate d", + "Ġsw ung", + ": F", + "F acing", + "Fac ing", + "Fa cing", + ". Theme", + ".Th eme", + ".The me", + "н ик", + "ни к", + "Ġspl endid", + "Ġrequest Id", + ".Center Screen", + "/ autoload", + "/auto load", + "embed ded", + "_ depart", + "_de part", + "_dep art", + "Ġ Ports", + "ĠP orts", + "ĠPort s", + "ĠPo rts", + "ĠPor ts", + "๠ĥ", + "ай д", + "disc ussion", + "_ consum", + "_con sum", + "_cons um", + "Ġsc outs", + "Ġsco uts", + "Ġscout s", + "Ġcol abor", + "Ġcola bor", + ". Stage", + ".St age", + ". nano", + ".n ano", + ".nan o", + "el dorf", + "eld orf", + "eldo rf", + "Ġgem acht", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "Ġpolicy makers", + "Ġpolicym akers", + "_P KT", + "_PK T", + ", Th", + ",T h", + "o ky", + "ok y", + "_ UID", + "_U ID", + "_UI D", + "P ing", + "Pin g", + "Pi ng", + "Ġor chest", + "Ġorch est", + "Ġorc hest", + "Ġop tics", + "Ġopt ics", + "Ġoptic s", + "u han", + "uh an", + "ĠX OR", + "ĠXO R", + "Ġespañ ol", + "ĠAd idas", + "r ng", + "rn g", + "m ans", + "man s", + "ma ns", + ".v stack", + "Ġget away", + "Ġh ierarchical", + "Ġhier archical", + "ano ia", + "anoi a", + "ĠBitmap Factory", + "re alm", + "rea lm", + "real m", + "ĉ ap", + "ĉa p", + "_ apps", + "_a pps", + "_app s", + "_ap ps", + "- divider", + "-div ider", + "-di vider", + ". drawer", + ".d rawer", + ".draw er", + "ĠH ARD", + "ĠHA RD", + "ĠHAR D", + "'] ;?>Ċ", + "']; ?>Ċ", + "'];?> Ċ", + "- packed", + "-p acked", + "-pack ed", + "æ² »", + "_STRUCT URE", + "[ Y", + "i Param", + "( eq", + "(e q", + "Ġencompass es", + "Ġ\\ ĊĊ", + "Ġ\\Ċ Ċ", + "- >[", + "-> [", + "& utm", + "g roupon", + "gr oupon", + "group on", + "gro upon", + "st rate", + "str ate", + "stra te", + "D Y", + "om orphic", + "' :[", + "': [", + "Ġgrav itational", + "ĠM icha", + "ĠMich a", + "ĠMi cha", + "ĠMic ha", + "ĠT encent", + "ĠTen cent", + "Ġco ached", + "Ġcoach ed", + "ì¶ ľ", + "Ñĥ менÑĤ", + "Ñĥм енÑĤ", + "/ mobile", + "/m obile", + "Mouse Down", + "b ud", + "bu d", + "ĠY as", + "ĠYa s", + "Ġ Providers", + "ĠPro viders", + "ĠProvid ers", + "ĠProvider s", + "ĠProvide rs", + "ĠProv iders", + "N Z", + "ĉ report", + "ĉre port", + "ĉrep ort", + "err msg", + "Ġimage Path", + "act erial", + "acter ial", + "acteria l", + "ĠM anga", + "ĠMan ga", + "ĠMa nga", + "ĠMang a", + "wick lung", + "( usuario", + "(us uario", + "\" ));čĊčĊ", + "\") );čĊčĊ", + "\")) ;čĊčĊ", + "\"));čĊ čĊ", + "\")); čĊčĊ", + "/ ***", + "/* **", + "/** *", + "Ġorgan ise", + "Ġorganis e", + "Index ed", + "_ QUAL", + "_Q UAL", + "_QU AL", + "( PyObject", + "(Py Object", + "Ġsurrender ed", + "PO CH", + "ĠN OTES", + "ĠNOT ES", + "ĠNO TES", + "ĠNOTE S", + "\\ \\\"", + "\\\\ \"", + "- job", + "-j ob", + "Ġseven ty", + "Ġsevent y", + "Ġsev enty", + "# ###Ċ", + "## ##Ċ", + "#### Ċ", + "### #Ċ", + "ĠMan or", + "ĠMa nor", + "Ġdown right", + "Ġtime frame", + "ins urance", + "che cker", + "check er", + "Ġ SECRET", + "ĠSE CRET", + "ĠSEC RET", + "Ġecho es", + "Ġech oes", + "ĠCar men", + "ĠCarm en", + ".set HorizontalAlignment", + ".setHorizontal Alignment", + "Ġ isChecked", + "Ġis Checked", + "Ġ TOR", + "ĠT OR", + "ĠTO R", + "_ nn", + "_n n", + "( '(", + "(' (", + "Fetch Request", + "ĠPrint ed", + "Fl uid", + "Ġ STACK", + "ĠST ACK", + "ĠSTA CK", + "G ES", + "GE S", + "a igned", + "aign ed", + "i gor", + "ig or", + "igo r", + ". Unknown", + ".Un known", + "C BC", + "CB C", + "ĠCarl son", + ". URI", + ".U RI", + ".UR I", + "Ġp light", + "Ġpl ight", + "/ start", + "/st art", + "/star t", + "ĠPerson nel", + "Ġ PREFIX", + "ĠP REFIX", + "ĠPRE FIX", + "ĠPREF IX", + ", **", + ",* *", + "Ġli mite", + "Ġlimit e", + "Ġlim ite", + "_ heat", + "_h eat", + "_he at", + "% ï¼Į", + "ĠD onne", + "ĠDon ne", + "get Node", + "ĠScient ology", + "Ġc omet", + "Ġcom et", + "Ġco met", + "Ġcome t", + "Ġwen ig", + "A side", + "As ide", + "ĠM PEG", + "ĠMP EG", + "' ?", + "vari ably", + ". endDate", + ".end Date", + "Ġun cont", + "Ġunc ont", + "Ġuncon t", + "Ġ Scores", + "ĠS cores", + "ĠSc ores", + "ĠScore s", + "ĠSco res", + "ĠScor es", + "Ġ LoginForm", + "ĠLogin Form", + ". generated", + ".g enerated", + ".generate d", + ".gener ated", + ", ch", + ",c h", + "- mar", + "-m ar", + "ĠN ed", + "ĠNe d", + "Ġ eventId", + "Ġevent Id", + "+ p", + "ĠS IN", + "ĠSI N", + "/ reset", + "/re set", + "/res et", + ".RE ACT", + "ĠMe ssi", + "ĠMess i", + "ĠMes si", + "_R ANK", + "_RA NK", + ".write File", + "Ġc ripp", + "Ġcr ipp", + "Ġcri pp", + "es thetic", + "est hetic", + "ERS IST", + "Ġreim bursement", + "Ġreimburse ment", + "Current Value", + "Ġu nin", + "Ġun in", + "Ġuni n", + "Down Latch", + "Ġpadding Right", + "Ġst ocked", + "Ġstock ed", + "/ '.", + "/' .", + "Ġre payment", + "Ġrep ayment", + "Ġrepay ment", + "t rak", + "tr ak", + "tra k", + "/ backend", + "/back end", + "Ġиз мен", + "C SR", + "CS R", + "Ġprevent ive", + "Ġpant alla", + "_ trim", + "_t rim", + "_tr im", + "_tri m", + "P edido", + "Ped ido", + "h ospital", + "Ġmanage able", + "route Params", + "text ures", + "texture s", + "tex tures", + ". .....ĊĊ", + ".. ....ĊĊ", + "... ...ĊĊ", + ".... ..ĊĊ", + "..... .ĊĊ", + "...... ĊĊ", + "Ġsé lection", + "Name ValuePair", + "Ġpol lut", + "Ġpoll ut", + "M odes", + "Mode s", + "Mod es", + "Mo des", + "ĠL aud", + "ĠLa ud", + "ĠLau d", + "j ay", + "ja y", + "ĠU rs", + "ĠUr s", + "Ġs igner", + "Ġsign er", + "Ġsig ner", + "Ġ JJ", + "ĠJ J", + "ĠCh erokee", + "_EX ISTS", + "_EXIST S", + "Ġd war", + "Ġdw ar", + "Ġ ($('#", + "Ġ( $('#", + "Ġ($ ('#", + "Ġ($( '#", + "Ġre ef", + "> {$", + ">{ $", + "ĠB aylor", + "ĠBay lor", + "Ġ ModelState", + "ĠModel State", + "- _", + "ĠStruct ures", + "ĠStructure s", + "Ġsou vent", + "Spec ify", + "( pipe", + "(p ipe", + "(pi pe", + "Ġfr acking", + "Ġfrac king", + "ĠG PA", + "ĠGP A", + "Ġb ele", + "Ġbe le", + "Ġbel e", + "ĉ ĉĉĉĉĉĉĠĠĠ", + "ĉĉ ĉĉĉĉĉĠĠĠ", + "ĉĉĉĉ ĉĉĉĠĠĠ", + "ĉĉĉ ĉĉĉĉĠĠĠ", + "ĉĉĉĉĉ ĉĉĠĠĠ", + "ĉĉĉĉĉĉ ĉĠĠĠ", + "ĉĉĉĉĉĉĉ ĠĠĠ", + "ĉĉĉĉĉĉĉĠ ĠĠ", + "ĉĉĉĉĉĉĉĠĠ Ġ", + "ĠMinor ity", + "Ġt ud", + "Ġtu d", + "Ġopen ness", + "ĠIllustr ated", + "Ġoxid ation", + "Ġ NK", + "ĠN K", + "ĉ Update", + "Ġ EMS", + "ĠE MS", + "ĠEM S", + "ĠTe ddy", + "ĠTed dy", + "Ġgener als", + "Ġgen erals", + "Ġgeneral s", + "Ġgenera ls", + "ĉ Mat", + "ĉM at", + "Ġrad ios", + "Ġradio s", + "Ġradi os", + "ĠAnt ique", + "ĠAnti que", + "c onomy", + "con omy", + "conom y", + "cono my", + "ĠSquad ron", + ") ','", + ")', '", + ")' ,'", + "å£ °", + "Ġy oure", + "Ġyou re", + "Ġyour e", + "Ġyo ure", + "ĠMain Page", + "Ġbeh aviours", + "Ġbehaviour s", + "en ght", + "eng ht", + "(@\" %@\",", + "Ġtest case", + "Ġ Compilation", + "ĠComp ilation", + "Ġflav ours", + "Ġflavour s", + "Ġ Extend", + "ĠExt end", + "il lator", + "ill ator", + "illa tor", + "Ġ coh", + "Ġc oh", + "Ġco h", + "Ġs pline", + "Ġsp line", + "Ġspl ine", + "Ġ KG", + "ĠK G", + "- pay", + "-p ay", + "Ġcommun ism", + "ĠBusiness es", + "oc king", + "ock ing", + ". MaxLength", + ".Max Length", + "ass andra", + "qu iring", + "quir ing", + "qui ring", + "a dden", + "ad den", + "add en", + "ĠJ eb", + "ĠJe b", + "_ fault", + "_f ault", + "_fa ult", + "[ file", + "[f ile", + "Ġpromin ence", + "disc iplinary", + "âĢĶ they", + "âĢĶthe y", + "_ extent", + "_ex tent", + "_ext ent", + "Ġ VIC", + "ĠV IC", + "ĠVI C", + "Ġen tails", + "Ġent ails", + "Ġentail s", + ". partner", + ".p artner", + ".part ner", + "Ġhipp oc", + "Le ague", + "çĶ ·", + "w ipe", + "wi pe", + "- spinner", + "-sp inner", + "-spin ner", + "Ġsal ute", + "ĠS urgical", + "ĠSurg ical", + "( outputs", + "(out puts", + "(output s", + "work ed", + "wor ked", + "[ strlen", + "[str len", + "app ointed", + "appoint ed", + "ĠH eg", + "ĠHe g", + "ĠAC PI", + "( [^", + "([ ^", + "u ala", + "ual a", + "ua la", + "_ tol", + "_t ol", + "_to l", + "ĠR it", + "ĠRi t", + ". Payment", + ".P ayment", + ".Pay ment", + "k owski", + "Ġw almart", + "Ġwal mart", + "require ments", + "ĠFIN SEQ", + "_ BACKGROUND", + "_BACK GROUND", + "ĠOs borne", + "( errorMessage", + "(error Message", + "Report ing", + "Rep orting", + "Ġa uctions", + "Ġau ctions", + "Ġauction s", + "Ġcom bos", + "Ġcomb os", + "Ġcombo s", + "ĠNot iced", + "ĠNotice d", + "_ oct", + "_o ct", + "_oc t", + "Ġprim ero", + "Ġprime ro", + "Ġprimer o", + "t aire", + "ta ire", + "_ hr", + "_h r", + "Ġм од", + "Ġмо д", + "Ġcontrad ictory", + "Ġcontradict ory", + "= \"@", + "=\" @", + "ach ines", + "achine s", + "achi nes", + "(opt arg", + "ĠP enguin", + "ĠPeng uin", + "ĠAb bas", + "ĠAbb as", + "Ġsub lime", + "Ġpage able", + "ĠDef ensive", + "Ġdistinct ly", + "ĠAutom atically", + "ĠAutomatic ally", + "Under standing", + "Equality Comparer", + "g ota", + "go ta", + "got a", + "Ġ\" ::", + "Ġ\": :", + "Ġpul ver", + "ĠB attles", + "ĠBattle s", + "ĠBatt les", + "Ġun paralleled", + "T CHA", + "TC HA", + "Ġconstr ued", + "- aff", + "-a ff", + "Ġpre cursor", + "Ġprec ursor", + "-l fs", + "Ġmad uras", + "ĠD aisy", + "ĠDa isy", + "ĠDai sy", + "ĠAr beits", + "ĠArbeit s", + ". Management", + ".Man agement", + "ĉ In", + "ĉI n", + "Ġro bes", + "Ġrob es", + "Ġrobe s", + "Ġsp éc", + "âĢľ (", + "Ġm aternity", + "Ġmat ernity", + "ex tent", + "ext ent", + "Ġ Spacer", + "ĠSp acer", + "ĠSpace r", + "ĠSpa cer", + "Did Appear", + "ĉ us", + "ĉu s", + ".getRequest Dispatcher", + "( cols", + "(c ols", + "(co ls", + "(col s", + "Ġplum met", + "ì ħ", + "Ġ{ ĊĊĊĊ", + "Ġ{Ċ ĊĊĊ", + "Ġ{ĊĊ ĊĊ", + "Ġ{ĊĊĊ Ċ", + "é rica", + "ér ica", + "éri ca", + "éric a", + "Ġ Sizes", + "ĠS izes", + "ĠSize s", + "ĠSi zes", + "ĠSiz es", + ". enum", + ".e num", + ".en um", + ". Highlight", + ".High light", + "Ġ!! }ĊĊĊ", + "Ġ? >ĊĊĊ", + "Ġ?> ĊĊĊ", + "Ġ?>Ċ ĊĊ", + "Ġ?>ĊĊ Ċ", + "W enn", + "We nn", + "Ġcl imax", + "Ġclim ax", + "Ġcli max", + "Ġc rem", + "Ġcr em", + "Ġcre m", + "_ that", + "_t hat", + "_th at", + "[ â̦", + "_ domains", + "_domain s", + "_dom ains", + "_RE PLY", + "Ġcomp leta", + "Ġcomple ta", + "Ġcomplet a", + "Ġcompl eta", + "V EST", + "VE ST", + "VES T", + "_ particle", + "_p article", + "_part icle", + "Ġs op", + "Ġso p", + "Ġfatal ities", + "impl ify", + "imp lify", + "ĠS KF", + "ĠSK F", + "Ġin fusion", + "Ġinf usion", + "ĠJ avier", + "ĠJa vier", + "Ġb allet", + "Ġball et", + "Ġbal let", + "Ġam igo", + "Ġami go", + ". want", + ".w ant", + "Ġcol lagen", + "Ġcoll agen", + "Ġcollage n", + "ĠLaw yer", + ". Statement", + ".St atement", + ".State ment", + ".Stat ement", + ". rt", + ".r t", + "b aar", + "ba ar", + "End Point", + "ĠB ek", + "ĠBe k", + "S HIP", + "SH IP", + "Ġpatri arch", + "ĠA unt", + "ĠAu nt", + "_ TM", + "_T M", + "Ġ mÃŃn", + "Ġm ÃŃn", + "ĠmÃŃ n", + "Ġm astered", + "Ġmaster ed", + "Ġma stered", + "Ġmas tered", + "Ġmast ered", + "W XYZ", + "WX YZ", + "Ġes pos", + "Ġesp os", + "= logging", + "=log ging", + "Ġrighteous ness", + "t orrent", + "tor rent", + "Ġ bst", + "Ġb st", + "Ġbs t", + "_ CHAIN", + "_CH AIN", + "Ġout skirts", + "( rotation", + "(r otation", + "(rot ation", + "Ġ' .')", + "Ġ'. ')", + "Ġ'.' )", + "igr ants", + "igrant s", + "+ lsi", + "+l si", + "ĠCC TV", + "ĠCCT V", + "_PH ASE", + ". azure", + ".a zure", + "_ Process", + "_P rocess", + "_Pro cess", + "v ae", + "va e", + "ĠT ropical", + "ĠAn kara", + "ĠAnk ara", + "image View", + "_RUN NING", + "Ġ* )__", + "Ġ*) __", + "ế n", + "( cli", + "(c li", + "(cl i", + "sc atter", + "Ġs che", + "Ġsc he", + "Ġsch e", + "Reg istrar", + "Registr ar", + "Ġa iring", + "Ġair ing", + "Ġai ring", + "Ġpy plot", + "is ión", + "isi ón", + "/ customer", + "/c ustomer", + "/custom er", + "Ġs implement", + "Ġsim plement", + "Ġsimple ment", + "Ġsimp lement", + "Ġsimpl ement", + "Ġclass y", + "Ġcl assy", + "Ġclas sy", + "ĠD WC", + "ĠDW C", + "ĠBas har", + "ĠBash ar", + "ĠDE VELO", + "ĠV ick", + "ĠVi ck", + "ĠVic k", + "a vail", + "av ail", + "ava il", + "ĠH ö", + "_ extend", + "_ext end", + "dr Fc", + ".is NotBlank", + "Ġpl ais", + "Ġpla is", + "| }Ċ", + "Ġporn ofil", + "Ġporno fil", + "l abs", + "la bs", + "lab s", + "Ġ haus", + "Ġh aus", + "Ġha us", + "Ġorig inating", + "Ġorigin ating", + "Ġsurround s", + "Ġ QUAL", + "ĠQ UAL", + "ĠQU AL", + "m eg", + "me g", + "/ logger", + "/log ger", + "/lo gger", + "[ obj", + "[o bj", + "Ġirres ponsible", + "Ġ PublicKey", + "ĠPublic Key", + "H ONE", + "HO NE", + ": '/", + ":' /", + "i box", + "ib ox", + "ibo x", + "ĠF Vector", + "| {Ċ", + "ata loader", + "atal oader", + "h awks", + "hawk s", + "H DR", + "HD R", + "Ġescal ation", + "ĠPods Dummy", + "e lite", + "el ite", + "eli te", + "Ġpre sup", + "Ġpres up", + "C ached", + "Cache d", + "Ca ched", + "> G", + ". optimizer", + ".opt imizer", + ".optim izer", + ".optimize r", + "Ġ Visible", + "ĠV isible", + "ĠVis ible", + "´ Ģ", + "Ġ nen", + "Ġn en", + "Ġne n", + "Ġ pcs", + "Ġp cs", + "Ġpc s", + "Ġ Idle", + "ĠI dle", + "ĠId le", + "[ Any", + "[A ny", + "Ġkey boards", + "Ġkeyboard s", + "ĠCOMP ONENT", + "Ġtit anium", + "Ġtitan ium", + "( mut", + "(m ut", + "(mu t", + "ĠLed ger", + "Ġprosper ous", + "etro fit", + "_ LL", + "_L L", + "_ patient", + "_p atient", + "_pat ient", + "Ġ pdata", + "Ġp data", + "Ġpd ata", + "Ġ kontakte", + "Ġkont akte", + "Ġkontakt e", + "S wipe", + "Sw ipe", + "Ġcheer ful", + "ĠHond uras", + "\" ][$", + "\"] [$", + "\"][ $", + "Ġhem orrh", + "\" :\"+", + "\": \"+", + "\":\" +", + "Ġ leasing", + "Ġle asing", + "Ġinst alls", + "Ġinstall s", + "Ġinstal ls", + "ĠP ax", + "ĠPa x", + "ĠLog istics", + "ĠLogistic s", + "Ġkin etic", + "ĠP hon", + "ĠPh on", + "_ movement", + "_m ovement", + "_move ment", + "_mov ement", + "_mo vement", + "ĉ bytes", + "ĉbyte s", + "Ġcin co", + "ĠMad ness", + "\" )+", + "\") +", + "Ġ JE", + "ĠJ E", + "_ ij", + "_i j", + "Scene Manager", + "ĠB ust", + "ĠBus t", + "ĠBu st", + "p test", + "pt est", + "pte st", + "a ea", + "ae a", + "Ġb esser", + "Ġbes ser", + "ÃŃ g", + "д ин", + "ди н", + "( tasks", + "(t asks", + "(task s", + "(\" (\"", + "(\"( \"", + "set Type", + "( outfile", + "(out file", + "ĉ reset", + "ĉres et", + "ĉre set", + "Ġ ARC", + "ĠA RC", + "ĠAR C", + "Ġmús ica", + "ĠSh elf", + "ĠShe lf", + "ĠShel f", + "Ġmin Y", + "p ch", + "pc h", + "Ġwe iber", + "Ġwei ber", + "iss or", + "Ġtr ouve", + "Ġtro uve", + "Ġtrou ve", + "ĉ Button", + "ĉB utton", + "Ġre generated", + "Ġreg enerated", + "Ġregenerate d", + "Å £i", + "Å£ i", + "im achinery", + "b locking", + "bl ocking", + "block ing", + ".data Tables", + "_ frac", + "_f rac", + "_fr ac", + "ĠAdv antage", + ".visit Method", + "éĩį æĸ°", + "Ġextra pol", + "Ġextr apol", + "Ġte asing", + "Ġtea sing", + "Ġteas ing", + "ĠH itch", + "ĠHit ch", + "ĠGe ek", + "ĠGee k", + "E SCO", + "ES CO", + "ESC O", + "Ġ wich", + "Ġw ich", + "Ġwi ch", + "ĉ ax", + "ĉa x", + "_ decor", + "_de cor", + "_dec or", + "Ġscreen Width", + "ĠSo phia", + "ĠSoph ia", + "F orgot", + "For got", + "Forg ot", + ". uni", + ".un i", + ".u ni", + "ĠVen ture", + "ĠVent ure", + "_ collision", + "_c ollision", + "_coll ision", + "Ġlaw maker", + "( Edit", + "(E dit", + "b lers", + "ble rs", + "bl ers", + "bler s", + "Ġ getNext", + "Ġget Next", + "âĢĶ you", + "Media Player", + "ĠH orde", + "ĠHor de", + "ĠCongress man", + "obs ervations", + "observ ations", + "observation s", + "ĉ property", + "ĉp roperty", + "ĉprop erty", + "Ġ< --", + "Ġ<- -", + "Created At", + "u byte", + "ub yte", + "uby te", + "Ġquar antine", + "Ġdist ressed", + "Ġdistr essed", + "Ġdistress ed", + "_A PB", + "_AP B", + "ĠGood man", + "ãĤ «", + "Ġrecom end", + "_ PRINTF", + "_PRINT F", + "D ONE", + "DO NE", + "DON E", + "Bind able", + "r strip", + "rs trip", + "rst rip", + "cent aje", + "Ġ Unexpected", + "ĠUn expected", + "ĠS CHOOL", + "ĠProfessional s", + "ĠProfession als", + "ĠGPU s", + "ĠGP Us", + "L esson", + "Le sson", + "Les son", + "Less on", + "Ex clusive", + "Ġat rav", + "Ġatr av", + "ĠD ank", + "ĠDan k", + "ĠDa nk", + "ĠLaw yers", + "ĠLawyer s", + "ĠWal ton", + "ĠWalt on", + "> []", + ">[ ]", + "Ġa loud", + "Ġal oud", + "Ġalo ud", + "=\" ../../../", + "=\"../ ../../", + "=\"../../ ../", + "Ġdeb ating", + "ĠA VG", + "ĠAV G", + "_V OL", + "_VO L", + "/ cgi", + "/c gi", + ". deg", + ".d eg", + ".de g", + ": g", + ".Info f", + ".Inf of", + "Measure Spec", + ". song", + ".s ong", + ".so ng", + ".son g", + "m tree", + "mt ree", + "ul ls", + "ull s", + "J ordan", + "ĠC overs", + "ĠCo vers", + "ĠCover s", + "ĠCov ers", + "ĠCove rs", + "Ġattrib utable", + "Ġj edis", + "Ġje dis", + "Ġjed is", + "iat rics", + "iatric s", + "Ġrot terdam", + "Ġ meld", + "Ġm eld", + "Ġme ld", + "Ġmel d", + "Ġ ContentType", + "ĠContent Type", + "Ġman tle", + "Ġmant le", + "Ġ alice", + "Ġa lice", + "Ġal ice", + "Ġali ce", + "_ duplicate", + "_d uplicate", + "_dup licate", + "/ Internal", + "Ġ filesize", + "Ġfile size", + "Ġfiles ize", + "ĉ fire", + "ĉf ire", + "ĉfi re", + "r ese", + "re se", + "res e", + "on dere", + "ond ere", + "onder e", + "onde re", + "Ġfamiliar ity", + "ĠC rest", + "ĠCr est", + "ĠCre st", + "ĠCres t", + "Ġk arma", + "Ġkar ma", + "Ġtor ino", + "Ġm esa", + "Ġme sa", + "Ġmes a", + "/ temp", + "/t emp", + "Ġc hir", + "Ġch ir", + "Ġchi r", + "Ġ Overflow", + "ĠOver flow", + "Ġten emos", + "u nik", + "un ik", + "uni k", + "N EXT", + "NE XT", + "A lle", + "Al le", + "All e", + "Ġn xt", + "Ġnx t", + "M art", + "Mar t", + "Ma rt", + "Ġ atl", + "Ġa tl", + "Ġat l", + "Ġperiod o", + "Ġperi odo", + "_ you", + "_y ou", + "Ġ} )).", + "Ġ}) ).", + "Ġ})) .", + "int estinal", + ".Adapter View", + "Ġhes itant", + "Ġcompar atively", + "Ġcomparative ly", + ". UInt", + ".U Int", + ".UI nt", + "( viewModel", + "(view Model", + "Ġsang at", + "Ġ Responsive", + "ĠRes ponsive", + "ĠRespons ive", + "ĠZ ack", + "ĠZa ck", + "ĠZac k", + "â ħ", + "J AVA", + "JA VA", + "ĠFull er", + "ĠFu ller", + "ĠFul ler", + "Ġ âĿ¤", + "ĠâĿ ¤", + ". Consumer", + ".Con sumer", + ".Cons umer", + "Ġ ank", + "Ġa nk", + "Ġan k", + "Ġre actors", + "Ġreact ors", + "Ġreactor s", + "f uck", + "fu ck", + "_ rat", + "_r at", + "_ra t", + "Ġsession Factory", + "_ backward", + "_back ward", + "Ġscram bled", + "Ġscramble d", + "ĉ th", + "ĉt h", + "Ġins ensitive", + "Ġch amps", + "Ġcha mps", + "Ġcham ps", + "Ġchamp s", + "Ġ nginx", + "Ġng inx", + "Ġcon hec", + "Ġconhe c", + "ĠJ asper", + "ĠJas per", + ". fm", + ".f m", + "Strict Equal", + "ach sen", + "achs en", + "- Nov", + "-N ov", + "-No v", + "l assen", + "lass en", + "las sen", + ". integration", + ".int egration", + "( lbl", + "(l bl", + "Com pose", + "Comp ose", + "ĠF on", + "ĠFo n", + "à ļ", + "Gr atis", + "ĠL ime", + "ĠLim e", + "ĠLi me", + "ĠAdapter View", + "Ġpoison ed", + "Ġpois oned", + "anch ors", + "anchor s", + "设 计", + "'] ?>\"", + "']?> \"", + "Ġpro cur", + "Ġproc ur", + "It aly", + ". MONTH", + ".MON TH", + "ĠL UA", + "ĠLU A", + "ĠLith uania", + "ĠHe ads", + "ĠHead s", + "_CH UNK", + "ĠP USH", + "ĠPU SH", + "ĠPUS H", + "Aspect Ratio", + "Ġ weg", + "Ġw eg", + "Ġwe g", + "Ġv ids", + "Ġvi ds", + "Ġvid s", + "ĠW ein", + "ĠWe in", + "ĠWei n", + "ĉ INT", + "ĉI NT", + "ĉIN T", + "session Id", + "Ind ustry", + "Ġden ounced", + "JK LM", + "ĠVan essa", + ". Identifier", + ".Id entifier", + "p ropri", + "pro pri", + "prop ri", + "Ġ иг", + "Ġи г", + "Ġté cn", + "Ġtéc n", + "Ġm osaic", + "Ġmos aic", + "Stream Reader", + "- Th", + "-T h", + "f orth", + "for th", + "fort h", + "Ġad herence", + "Ġadher ence", + "Ġadhere nce", + "b ate", + "ba te", + "bat e", + "Ġkn ights", + "Ġknight s", + "s ounds", + "so unds", + "sound s", + "sou nds", + "Ġs alle", + "Ġsa lle", + "Ġsal le", + "O MET", + "OM ET", + "OME T", + "ãĤ¹ ãĥĪ", + "- tm", + "-t m", + "ĠR he", + "ĠRh e", + ".File OutputStream", + "åĪĨ ç±»", + "Ġ ENG", + "ĠE NG", + "ĠEN G", + "h oliday", + "hol iday", + "Ġ Congratulations", + "ĠCong ratulations", + ") (Ċ", + ")( Ċ", + "Ġaggregate s", + "Ġaggreg ates", + "H OOK", + "HO OK", + "e wire", + "ew ire", + "Sen ator", + "Ġembed dings", + "Ġembedding s", + "e py", + "ep y", + "( COM", + "(C OM", + "Ġrob ber", + "ä ter", + "ät er", + "w ang", + "wa ng", + "wan g", + "_ teacher", + "_t eacher", + "_te acher", + "Ġresent ment", + "Ġlett uce", + "er reur", + "err eur", + "erre ur", + "( ic", + "(i c", + "ĠT actical", + "ĠTac tical", + "Ġ Contracts", + "ĠCon tracts", + "ĠContract s", + "ĠContr acts", + "Ġm ænd", + "Ġsit ios", + "Ġsiti os", + "Ġsitio s", + "Ġbast ante", + "Ġnue vos", + "Ġnuevo s", + "ĉN drFc", + "Ġprivate Key", + "uc ch", + "ucc h", + "MM dd", + "Ġ è¾ĵåĩº", + "Ġè¾ĵ åĩº", + "um ba", + "umb a", + "@ foreach", + ": \");ĊĊ", + ":\" );ĊĊ", + ":\");Ċ Ċ", + ":\") ;ĊĊ", + "Ġslip pery", + "ĠKey stone", + "ĠKe ystone", + "ĠKeys tone", + "Ġpione ering", + "Ġpioneer ing", + "_ triangle", + "_t riangle", + "_tr iangle", + "_tri angle", + "( \"Ċ", + "(\" Ċ", + "ĉ ĉĉĉĉĉĉĉĠĠ", + "ĉĉ ĉĉĉĉĉĉĠĠ", + "ĉĉĉĉ ĉĉĉĉĠĠ", + "ĉĉĉ ĉĉĉĉĉĠĠ", + "ĉĉĉĉĉ ĉĉĉĠĠ", + "ĉĉĉĉĉĉ ĉĉĠĠ", + "ĉĉĉĉĉĉĉĉ ĠĠ", + "ĉĉĉĉĉĉĉ ĉĠĠ", + "ĉĉĉĉĉĉĉĉĠ Ġ", + "ĠInt ervention", + "ĠInter vention", + "S CI", + "SC I", + "Ġc JSON", + "Ġter minating", + "Ġterm inating", + "Ġtermin ating", + "ë ¹Ħ", + "ë¹ Ħ", + "Ġbaby s", + "Ġbab ys", + "Sub set", + "Ġ ë¡", + "Ġë ¡", + "Ġseu lement", + "Ġseul ement", + "Ġseule ment", + "Ġm uestra", + "Ġmue stra", + "En tre", + "Ent re", + "Entr e", + "以 ä¸Ĭ", + "n go", + "ng o", + "\" bytes", + "QR ST", + "QRS T", + "Ġy pos", + "Ġyp os", + "person a", + "pers ona", + "Ġ Deploy", + "ĠDe ploy", + "ĠDep loy", + "c ee", + "ce e", + "Ġ à®", + "Ġà ®", + ". goal", + ".go al", + "Ġhabit ats", + "Ġhabitat s", + "Ġ isAdmin", + "Ġis Admin", + "Ġexplo iting", + "Ġexploit ing", + "Ġvent il", + "Ġven til", + "ĠB alls", + "ĠBall s", + "ĠBal ls", + "ا ب", + "Ø§Ø ¨", + "Ġmind fulness", + "Ġmindful ness", + "( kwargs", + "(k wargs", + "Ġre sembling", + "Ġresembl ing", + "Ġch oir", + "Ġcho ir", + "Ġon BackPressed", + "ĠSEC URITY", + "/ gtest", + "/g test", + "Ġjust ices", + "Ġjustice s", + "Ġinteger Value", + "b lah", + "bl ah", + "bla h", + "ĠA im", + "ĠAi m", + "_ finalize", + "_final ize", + "k eh", + "ke h", + "ĠComplex ity", + "Ġaug ust", + "get ElementsByTagName", + "Ġp reach", + "Ġpr each", + "Ġpre ach", + "Ġpron unciation", + "Ġ Trash", + "ĠTr ash", + "ĠTra sh", + "- percent", + "-per cent", + "_PR IV", + "_PRI V", + "ĠH unts", + "ĠHun ts", + "ĠHu nts", + "ĠHunt s", + "ĠC urse", + "ĠCur se", + "u ellen", + "ue llen", + "uel len", + "uelle n", + "uell en", + "Ġheavy weight", + "X i", + "ĉ selected", + "ĉselect ed", + "ĉse lected", + "ĠMcC oy", + "å¼Ĥ 常", + "| =Ċ", + "|= Ċ", + "ĠBattle field", + "Item Image", + "Ġded uctions", + "Ġdeduct ions", + "Ġdeduction s", + "ĠElement al", + "ĠEle mental", + "ĠElem ental", + "( ));//", + "() );//", + "()) ;//", + "()); //", + "ĠBur k", + "ĠBu rk", + "} )čĊčĊ", + "}) čĊčĊ", + "})čĊ čĊ", + "sw ift", + "/ function", + "/f unction", + "Us ually", + "Usu ally", + "_ St", + "_S t", + "_fe ats", + "_feat s", + "Ġ IsValid", + "ĠIs Valid", + "Ġz ad", + "Ġza d", + "Image Context", + "Ġ classname", + "Ġclass name", + "Ġdon ner", + "Ġdonne r", + "Ġdonn er", + "Ġ-- >ĊĊĊ", + "Ġ-->Ċ ĊĊ", + "Ġ--> ĊĊĊ", + "Ġ-->ĊĊ Ċ", + "Ġmotor cycles", + "Ġmotorcycle s", + "+' /'+", + "+'/ '+", + "Ġ setBackground", + "Ġset Background", + "\\ CMS", + "\\C MS", + ". AllArgsConstructor", + ".All ArgsConstructor", + "ĠLex ington", + ". examples", + ".ex amples", + ".example s", + ".exam ples", + "ĠP urs", + "ĠPur s", + "ĠPu rs", + "Push Matrix", + "Ġ================================================= =============", + ".add Target", + "p ora", + "por a", + "po ra", + "Full screen", + "Ġgo of", + "Ġgoo f", + "h len", + "hl en", + "hle n", + "ä ge", + "ĠC URL", + "ĠCUR L", + "ĠCU RL", + "Ġ Interesting", + "ĠInter esting", + "ĠInterest ing", + "Ġretrie ves", + "Ġretrieve s", + "Ġretr ieves", + "_ Obj", + "_O bj", + "in ness", + "inn ess", + "inne ss", + "- ----ĊĊ", + "-- ---ĊĊ", + "---- -ĊĊ", + "--- --ĊĊ", + "----- ĊĊ", + "-----Ċ Ċ", + ".t sv", + ".ts v", + "( IM", + "(I M", + "ĠBr aves", + "ĠBra ves", + "ĠBrave s", + "_ ISR", + "_I SR", + "_IS R", + "o sti", + "os ti", + "ost i", + "á» ĵ", + "ĠEx terior", + "ĠExt erior", + "ĠCourt ney", + "Ġresid ues", + "Ġresidue s", + "T ier", + "Ti er", + ".* ;čĊčĊ", + ".*;čĊ čĊ", + ": black", + ":b lack", + "web View", + "\" path", + "Ġm asa", + "Ġma sa", + "Ġmas a", + "] !='", + "]!= '", + "Ġ Matching", + "ĠM atching", + "ĠMat ching", + "ĠMatch ing", + "d ur", + "du r", + "J vm", + "= context", + "_ RING", + "_R ING", + "Ġpro ponents", + "Ġprop onents", + "ĠQString Literal", + "Ġ inflate", + "Ġin flate", + "Ġinf late", + "Ġinfl ate", + "< Float", + " \">čĊ", + "Ġ?>\" >čĊ", + "Ġ?>\"> čĊ", + "_C OST", + "_CO ST", + "i linear", + "il inear", + "ili near", + "iline ar", + "ilin ear", + "Ġ Workspace", + "ĠWork space", + "ĠWorks pace", + "Ġs pel", + "Ġsp el", + "Ġspe l", + "ag ogue", + "ago gue", + "agog ue", + "ĠMillenn ium", + "ĠPop ulate", + "Ġ nid", + "Ġn id", + "Ġni d", + ".parse Color", + "S olar", + "So lar", + "Sol ar", + "ĠG ad", + "ĠGa d", + "Ġ ì¤ij", + "Ġì ¤ij", + "Ġì¤ ij", + "ĠK amp", + "ĠKa mp", + "ĠKam p", + "ĉ rm", + "ĉr m", + "Ġb enz", + "Ġbe nz", + "Ġben z", + "Ġ Honestly", + "ĠH onestly", + "ĠHonest ly", + "Ġelectro de", + "Ġelectr ode", + "ĠPr airie", + "ĠPra irie", + "Ġ PROFILE", + "ĠPRO FILE", + "ĠPROF ILE", + "ĠOri ental", + "ĠOrient al", + "ĠO LED", + "ĠOL ED", + "/cop yleft", + "awa ii", + "awai i", + "( products", + "(product s", + ") \\<", + ")\\ <", + "- created", + "-c reated", + "-create d", + "-cr eated", + ".Many ToMany", + "\" How", + "\"H ow", + "Ġв Ñĭп", + "ĠвÑĭ п", + "Ġmitochond rial", + "_ testing", + "_t esting", + "_test ing", + "( created", + "(c reated", + "(create d", + "(cr eated", + "Ġ getField", + "Ġget Field", + "_E VAL", + "_EV AL", + "] .\"", + "]. \"", + "ĠF SM", + "ĠFS M", + "ĠR ita", + "ĠRi ta", + "ĠRit a", + "Ġ åıĤæķ°", + "Ġåı Ĥæķ°", + "ĠåıĤ æķ°", + "Ġc ôt", + "Ġcô t", + "ĠIns ight", + "ĉ mysqli", + "ĉm ysqli", + "ĉmysql i", + "_ timing", + "_t iming", + "_tim ing", + "_ti ming", + "I DO", + "ID O", + ") ))))Ċ", + ")) )))Ċ", + "))) ))Ċ", + ")))) )Ċ", + "CO VERY", + "COVER Y", + ". imag", + ".i mag", + ".im ag", + "C DF", + "CD F", + "l ust", + "lu st", + "lus t", + "i ckt", + "ic kt", + "ick t", + "_ FP", + "_F P", + ". ','", + ".' ,'", + ".', '", + "g cc", + "gc c", + "Ġkur z", + "Ġku rz", + "_p wm", + "_pw m", + "Ġodp owied", + "Ġ Barrier", + "ĠBar rier", + "ĠBarr ier", + "/************************************************************************ ***Ċ", + "p ak", + "pa k", + "- Israel", + "ĠRut gers", + "Ġselected Item", + "ĠRam irez", + "F arm", + "Far m", + "Fa rm", + "Ġcal endars", + "Ġcalendar s", + "Ġcalend ars", + "g zip", + "gz ip", + "Ġblock buster", + "ĠPly mouth", + "çľ Į", + "res ponses", + "response s", + "respons es", + ".Dialog Interface", + "- grand", + "-g rand", + "-gr and", + "Ġ getSource", + "Ġget Source", + "ĠgetS ource", + "Ġdej tings", + "Ġdejting s", + "Ġt ieten", + "Ġti eten", + "Ġtie ten", + "Ġcondem nation", + "Ġcondemn ation", + "Ġcontin uar", + "Ġcontinu ar", + "Ġcontinua r", + ".Mock Mvc", + "/ english", + "Ġ MediaPlayer", + "ĠMedia Player", + "com puted", + "comp uted", + "compute d", + "comput ed", + "ĠCl ippers", + "ĠClip pers", + "ĠCli ppers", + "( delegate", + "(de legate", + ". Slf", + ".S lf", + "Ġ ë¡ľ", + "Ġë¡ ľ", + "ĠT ide", + "ĠTi de", + "Ġih rem", + "Ġihr em", + "Ġihre m", + "ĠW an", + "ĠWa n", + "Ñĥ ÑİÑī", + "ÑĥÑİ Ñī", + "} ><", + "}> <", + "Disc ussion", + "Discuss ion", + "Ġw atts", + "Ġwat ts", + "Ġwatt s", + "- minus", + "-m inus", + "-min us", + "ĠJul iet", + "ĠJulie t", + "ĠJuli et", + "éĽ ħ", + "Ġcon cluding", + "Ġconcl uding", + "and scape", + "ands cape", + "Ġúlt ima", + "ĠD ERP", + "ĠDE RP", + "ĠDER P", + "Ġsign Up", + "ĠSecond ly", + "W AIT", + "WA IT", + "l ds", + "ld s", + ". callbacks", + ".call backs", + ".callback s", + "( hour", + "(h our", + "im ators", + "ima tors", + "imator s", + "imat ors", + "vol ent", + "A AF", + "AA F", + "e driver", + "ed river", + "ĠMath ematic", + "< Tuple", + "'", + "Ġ/> '", + "{ j", + "_AB ORT", + "E ther", + "Et her", + "Eth er", + "Ġeduc ator", + "Ġpreca ution", + "Ġfinger tips", + "Ġfingert ips", + "get Var", + "cam atan", + "- debug", + "-de bug", + "ĠR AF", + "ĠRA F", + "[ arg", + "[a rg", + "Ġr aced", + "Ġrace d", + "Ġrac ed", + "Ġra ced", + "Ġts unami", + ".f link", + ".fl ink", + "Ġgl yc", + "Ġgly c", + "u ko", + "uk o", + "Ġ Multiply", + "ĠM ultiply", + "ĠMulti ply", + "ĠMultip ly", + "Ġre distribution", + "Ġred istribution", + "Ġredistrib ution", + "Ġredis tribution", + "A GO", + "AG O", + "Ġ Routine", + "ĠR outine", + "ĠRout ine", + "Ġ opr", + "Ġo pr", + "Ġop r", + "( lower", + "(l ower", + "(low er", + "(lo wer", + "ĠFun ktion", + "ĠFunk tion", + ". dk", + ".d k", + "Ġ egt", + "Ġe gt", + "Ġeg t", + "_B ASIC", + "sys call", + "ĠL SD", + "ĠLS D", + "Ġ Duplicate", + "ĠD uplicate", + "ĠDup licate", + "_ sell", + "_s ell", + "_se ll", + "_sel l", + "Ġerror Handler", + "_ ips", + "_i ps", + "_ip s", + "Ġ erv", + "Ġe rv", + "Ġer v", + "an nie", + "ann ie", + "anni e", + "(resource Name", + "Ġbott led", + "Ġbottle d", + "Ġcraw ling", + "Ġcrawl ing", + "e gment", + "eg ment", + ".set Tag", + "Ġ rss", + "Ġr ss", + "Ġrs s", + "ĠQu arry", + "ĠQuar ry", + "_ exact", + "_ex act", + ". jwt", + ".j wt", + "ĠBo ards", + "ĠBoard s", + "o pi", + "op i", + "Ġn asal", + "Ġna sal", + "Ġnas al", + "Ġ XYZ", + "ĠX YZ", + "ĠXY Z", + ". ud", + ".u d", + "North ern", + "Nor thern", + "Ġact ivating", + "Ġactiv ating", + "e dx", + "ed x", + "ov ah", + "ova h", + "Ġ indx", + "Ġin dx", + "Ġi ndx", + "Ġind x", + "Alert Dialog", + "Ġt ienes", + "Ġti enes", + "Ġtie nes", + "Ġtiene s", + "an nya", + "ann ya", + "anny a", + "_ pan", + "_p an", + "_pa n", + "( decimal", + "(d ecimal", + "(de cimal", + "(dec imal", + ". Dict", + ".D ict", + ".Di ct", + "Ġsubsidi aries", + "Product Name", + "F ew", + "Fe w", + "d ato", + "da to", + "dat o", + "od ied", + "odi ed", + "odie d", + "- under", + "-un der", + "-u nder", + "Ġ ê²ĥ", + "Ġê² ĥ", + "çīĪ æľ¬", + "at ism", + "atis m", + "ati sm", + "[ Math", + "[M ath", + ". '<", + ".' <", + "( infile", + "(in file", + "Ġde notes", + "Ġden otes", + "Ġdenote s", + "$ class", + "$c lass", + "_SEC URITY", + "Ġsew age", + "m elon", + "me lon", + "mel on", + "( Character", + "(Char acter", + "/ github", + "/g ithub", + "/git hub", + "Ġgl aring", + ". Guid", + ".G uid", + "_ sparse", + "_s parse", + "_sp arse", + "Ġ Margin", + "ĠM argin", + "ĠMar gin", + "ĠMarg in", + "_ dns", + "_d ns", + "_dn s", + "Ġme iner", + "Ġmein er", + "Ġmeine r", + "Ġleft ist", + "ĉ loc", + "ĉl oc", + "a bytes", + "aby tes", + "abyte s", + "Ġequipment s", + "Ġequip ments", + "ex po", + "exp o", + "ĠSom erset", + "E K", + "æį ¢", + "Ġlect urer", + "Ġlecture r", + "Ġmem iliki", + "æł ¸", + "ç´ ł", + "p ron", + "pr on", + "pro n", + ": pointer", + "b orrow", + "bor row", + "ĠProt ective", + "ĠProtect ive", + "_ cf", + "_c f", + "Ġ ÐķÑģли", + "ĠÐķ Ñģли", + "b pp", + "bp p", + "' ;ĊĊĊĊ", + "';Ċ ĊĊĊ", + "';ĊĊ ĊĊ", + "'; ĊĊĊĊ", + "';ĊĊĊ Ċ", + "at urally", + "atur ally", + "atural ly", + "_ NAV", + "_N AV", + "Ġpe ptide", + "> d", + "Ġ ifstream", + "Ġif stream", + "Ġi fstream", + "_FACT ORY", + "_FACTOR Y", + "' );//", + "') ;//", + "'); //", + "j oined", + "join ed", + "jo ined", + "m ong", + "mon g", + "mo ng", + "Ġtime spec", + "Ġtimes pec", + "Ġdest abil", + "Ġdesta bil", + "Ġ autop", + "Ġaut op", + "Ġauto p", + "Ġau top", + "- limit", + "-l imit", + "-li mit", + "public ation", + "pub lication", + "ĠD enn", + "ĠDe nn", + "ĠDen n", + ". Memory", + ".M emory", + "( skb", + "(s kb", + "(sk b", + "ĠAna heim", + "_RETURN TRANSFER", + "o ueur", + "ou eur", + "( _('", + "(_ ('", + "l egt", + "le gt", + "leg t", + "ist ingu", + "isting u", + "ĉ priv", + "ĉp riv", + "ĉpr iv", + "Ġredirect s", + "M t", + "Ġal leen", + "Ġall een", + "Ġalle en", + "Ġ PointF", + "ĠPoint F", + "Ġ omin", + "Ġo min", + "Ġom in", + "Ġc itt", + "Ġcit t", + "Ġci tt", + "ĠT age", + "ĠTag e", + "ĠTa ge", + "ĠW alls", + "ĠWall s", + "ĠWal ls", + "á» ī", + "Ġoccup ying", + "Ġoccupy ing", + "x BF", + "xB F", + "r angle", + "ra ngle", + "ran gle", + "rang le", + "Ġrel ational", + "Ġrelation al", + "Ġrelat ional", + "- org", + "-o rg", + "-or g", + "Ġ jpg", + "Ġj pg", + "Ġjp g", + "- derived", + "Ġmal function", + "ĠB enson", + "ĠBen son", + "( scroll", + "(s croll", + "(sc roll", + "Ġ XD", + "ĠX D", + "H oly", + "Ho ly", + "Hol y", + "( commands", + "(command s", + "(comm ands", + "Ġt ipping", + "Ġti pping", + "Ġtip ping", + "Ġpr imitives", + "Ġprim itives", + "Ġprimitive s", + "Ġsex le", + "Call Check", + "Ġ MASTER", + "ĠM ASTER", + "ĠMA STER", + "ĠMAS TER", + "_ TEAM", + "_TE AM", + ".setRequest Header", + "_ specs", + "_sp ecs", + "_spec s", + "Ġs erge", + "Ġser ge", + "Ġserg e", + ". Master", + ".M aster", + ".Ma ster", + "Ġ ims", + "Ġi ms", + "Ġim s", + ".Spring BootTest", + "pay pal", + "ĠW ANT", + "ĠWA NT", + "ĠWAN T", + ". Inst", + ".I nst", + ".In st", + "ĠCar pet", + "ĠCarp et", + "Ġwrong ly", + "( $('.", + "($ ('.", + "($( '.", + "($(' .", + "Ġ bild", + "Ġb ild", + "Ġbi ld", + "Ġbil d", + ". Roll", + ".R oll", + "ĠU rb", + "ĠUr b", + "- can", + "-c an", + "-ca n", + "ãģı ãģłãģķãģĦ", + "ãģıãģł ãģķãģĦ", + "olib eral", + " čĊčĊ", + "Ġ-->čĊ čĊ", + "ĠMa hm", + "ĠMah m", + "} \";ĊĊ", + "}\" ;ĊĊ", + "}\";Ċ Ċ", + "Ġ dq", + "Ġd q", + "ĠPublish ers", + "ĠPublisher s", + "ĠA mpl", + "ĠAm pl", + "ĠAmp l", + "ĠDaniel le", + "ĠDani elle", + "Ġ tern", + "Ġt ern", + "Ġte rn", + "Ġter n", + "èµ ·", + "no ÅĽÄĩ", + "e in", + "ei n", + "ĠAsync Storage", + "u nger", + "un ger", + "ung er", + "unge r", + "ro uw", + "rou w", + "Ġsc issors", + "/ assert", + "/as sert", + ". bucket", + ".b ucket", + "/ archive", + "/a rchive", + "/arch ive", + "_ Man", + "_M an", + "Ġint oler", + "Ġinto ler", + "Ġ ()=>", + "Ġ( )=>", + "Ġ() =>", + "Ġ ÐĴÑĭ", + "ĠÐĴ Ñĭ", + "Ġs ai", + "Ġsa i", + ". xy", + ".x y", + ". \"čĊ", + ".\" čĊ", + "Ġur inary", + "e sub", + "es ub", + "IST ICS", + "ISTIC S", + "Ġ κ", + "ĠÎ º", + "Ġcompl iments", + "Ġcompliment s", + "Ġtypings Japgolly", + "i har", + "ih ar", + "Exp ansion", + "ĠS erving", + "ĠSer ving", + "ĠServ ing", + "_ students", + "_st udents", + "_student s", + "ĠX BOOLE", + "( il", + "(i l", + "Ġ ì²ĺ", + "Ġì² ĺ", + "Ġj ó", + "( tol", + "(t ol", + "(to l", + "( JS", + "(J S", + "ĉ CG", + "ĉC G", + "Ġ DRAW", + "ĠD RAW", + "ĠDR AW", + "t wig", + "tw ig", + "Ġo at", + "Ġoa t", + "_ smooth", + "_sm ooth", + "ĠC SL", + "ĠCS L", + "Ġo sob", + "Ġos ob", + "Ġens uing", + "Ġb anker", + "Ġbank er", + "Ġban ker", + "ĠBack pack", + "_ ping", + "_p ing", + "_pin g", + "_pi ng", + "Ġ wishlist", + "Ġw ishlist", + "Ġwish list", + "= ax", + "=a x", + "ĉ ĠĠĠĊ", + "ĉĠĠĠ Ċ", + "ĉĠ ĠĠĊ", + "ĉĠĠ ĠĊ", + "Dis ney", + "ste ady", + "stead y", + "\" >%", + "\"> %", + "Ġproph ets", + "Ġprophet s", + "Ġ ZX", + "ĠZ X", + "Ġminimal ist", + "Ġminim alist", + ". PLAIN", + ".PL AIN", + "Se attle", + "Seat tle", + ". ordinal", + "Ġ PIPE", + "ĠPI PE", + "Ġret orna", + "Ġretorn a", + "Ġj ugador", + "Ġjug ador", + "ĠB ret", + "ĠBr et", + "ĠBre t", + "ĠâĶ ľ", + "Ġp lush", + "Ġpl ush", + "Ġplus h", + "Ġplu sh", + "UL ATOR", + "ULA TOR", + "S orting", + "Sort ing", + ".grid y", + ".gr idy", + "ect omy", + "_ activ", + "_ac tiv", + "_act iv", + "r ack", + "ra ck", + "rac k", + "Inter active", + "ĠAntar ctica", + "ĠAntarctic a", + "Ġv engeance", + "en so", + "ens o", + "_ known", + "_k nown", + "up plier", + "upp lier", + ". Modules", + ".Mod ules", + ".Module s", + "ĠConnection State", + "éļ IJèĹı", + "éļIJ èĹı", + "@ FindBy", + "Ġ placer", + "Ġpl acer", + "Ġplace r", + "Ġplac er", + "Ġpla cer", + "\\ model", + "< ()>", + "<( )>", + ".is Successful", + ".isSuccess ful", + "- good", + "-g ood", + "-go od", + "b z", + "ĠDr aco", + "ĠDra co", + "Ass istant", + "- extra", + "-ex tra", + "-ext ra", + "аб лиÑĨ", + "Ġhyp ocrisy", + "Ġt st", + "Ġts t", + "ĠA gr", + "ĠAg r", + "$ txt", + "$t xt", + "Ġlog istic", + "l icensed", + "lic ensed", + "license d", + "ĠH of", + "ĠHo f", + "Ġ tat", + "Ġt at", + "Ġta t", + "( iv", + "(i v", + "Ġint oxic", + "Ġinto xic", + "Ġintox ic", + "post Id", + "_ strike", + "_st rike", + "_str ike", + "Ġhum iliation", + "Ġhumili ation", + "p codes", + "pc odes", + "\" sync", + "\"s ync", + "( recipe", + "(rec ipe", + "+ N", + "r ente", + "re nte", + "ren te", + "rent e", + "ĉ Client", + "ĉC lient", + "ycop g", + "ĠZur ich", + "ĠZu rich", + "Ġ Profiles", + "ĠPro files", + "ĠProf iles", + "ĠProfile s", + "C ountries", + "Count ries", + "Ġp ict", + "Ġpi ct", + "Ġpic t", + "Ġroll out", + "requ encies", + "Ġp atched", + "Ġpat ched", + "Ġpatch ed", + "Ġcar tridges", + "Ġcartridge s", + "Ġsh ading", + "Ġsha ding", + "J ar", + "Ja r", + "Ġsalv age", + "ĠT axes", + "ĠTax es", + "ĠTa xes", + "Ġstand by", + "ap oran", + "apor an", + "apo ran", + "E igen", + ". angular", + "Ġ Nested", + "ĠN ested", + "ĠNe sted", + "ĠNest ed", + "ĠNes ted", + "ä º«", + "äº «", + "Ġ isVisible", + "Ġis Visible", + "ĠDw ight", + "_BR ANCH", + ". Delay", + ".D elay", + ".De lay", + "Ġk end", + "Ġke nd", + "Ġken d", + "Ġfacilit ated", + "Ġfacilitate d", + "Ġfacil itated", + ". flatMap", + ".flat Map", + "Ġs anta", + "Ġsan ta", + "Ġsant a", + "ĉ Send", + "ĉS end", + "/ messages", + "/m essages", + "/message s", + "Ġof Type", + "ĉ swap", + "ĉs wap", + "ĉsw ap", + "# plt", + "ĠTur ks", + "ĠTurk s", + "N ES", + "NE S", + "Ġprogress ively", + "Ġprogressive ly", + "ĠRes idence", + "Ġ TREE", + "ĠT REE", + "ĠTR EE", + "ĠTRE E", + "Ġn oen", + "Ġno en", + "Ġnoe n", + "d io", + "di o", + "Ġ nelle", + "Ġn elle", + "Ġne lle", + "Ġnel le", + "Ġnell e", + "Ġso gar", + "Ġsog ar", + "i tti", + "it ti", + "itt i", + "week ly", + "Ġambigu ity", + "_ Settings", + "_S ettings", + "_Set tings", + "W are", + "War e", + "Wa re", + ". neo", + ".n eo", + ".ne o", + "_ DST", + "_D ST", + "_DS T", + "Ġ æĸ¹", + "Ġæĸ ¹", + "p rep", + "pr ep", + "pre p", + "l obby", + "lob by", + "@ email", + "/ movie", + "/m ovie", + "Ġfun kc", + "Ġfunk c", + "Ġ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ċ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĠĠĠĠĊ", + "ĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠĊ", + "ÂŃ s", + "Ġguard ians", + "Ġguardian s", + "- pos", + "-p os", + "-po s", + "Ġconfig uring", + "Ġconfigur ing", + "ĠC PS", + "ĠCP S", + "ĠD eus", + "ĠDe us", + "Ġvidé os", + "Ġvidéo s", + "_ empresa", + "_emp resa", + "Ġsl apped", + "Ġsla pped", + "Ġslap ped", + "< Model", + "',Ċ", + "\"> ',Ċ", + "\">' ,Ċ", + "\">', Ċ", + "_X DECREF", + "ĠBuzz Feed", + "_M ARGIN", + "P LOY", + ". small", + ".s mall", + ".sm all", + "Ġm imeType", + "Ġmime Type", + "Ġh olog", + "Ġho log", + "Ġhol og", + "ĉ camera", + "ĉc amera", + "l ias", + "li as", + "lia s", + "Ġsusp ense", + "od ynam", + "ody nam", + "odyn am", + "b au", + "ba u", + "Ġgrave yard", + "_ named", + "_n amed", + "_name d", + "_na med", + "\": \"'", + "\":\" '", + "Ġ ************************************************", + "Ġ******************************** ****************", + "Ġ******** ****************************************", + "Ġ**************** ********************************", + "Ġ************************ ************************", + "Ġ**************************************** ********", + "Ġgame Over", + "Ġ LENGTH", + "ĠLE NGTH", + "ĠLENG TH", + "ĉ screen", + "ĉs creen", + "ĉsc reen", + "Ġdo InBackground", + "_ dependencies", + "_depend encies", + "_dep endencies", + "Ġ rtc", + "Ġr tc", + "Ġrt c", + "/ up", + "/u p", + "_ ROM", + "_R OM", + "_RO M", + "H all", + "Ha ll", + "Hal l", + "Ġdef iciencies", + "( te", + "(t e", + "' #", + "_ equiv", + "_e quiv", + "_equ iv", + "Ġpre order", + "ĠA xe", + "ĠAx e", + "о мÑĥ", + "ом Ñĥ", + ".send File", + "Ġ filt", + "Ġf ilt", + "Ġfil t", + "Ġfi lt", + "Ġ Limits", + "ĠL imits", + "ĠLim its", + "ĠLi mits", + "ĠLimit s", + "ĠCaval iers", + ". discount", + ".dis count", + ".disc ount", + "âĨ IJ", + "ĠW it", + "ĠWi t", + "QRST UV", + "Ġ ij", + "Ġi j", + "Ġt egen", + "Ġte gen", + "Ġteg en", + "Ġ :\",", + "Ġ: \",", + "Ġ:\" ,", + "diff iculty", + "p unkt", + "pun kt", + "punk t", + "ĠEm ails", + "ĠEmail s", + "ch lor", + "chl or", + "( fun", + "(f un", + ". Uint", + ".U int", + ".Ui nt", + "ĠSt all", + "ĠSta ll", + "_ verified", + "_ver ified", + "u D", + "File Type", + "Ġple asures", + "Ġpleasure s", + "Ġpleas ures", + "Ġjud iciary", + "Ġs ham", + "Ġsh am", + "Ġsha m", + "i pur", + "ip ur", + "_ PLUS", + "_PL US", + "of fers", + "off ers", + "offer s", + "( foo", + "(f oo", + "_ GT", + "_G T", + "ĉ core", + "ĉc ore", + "EN TION", + "ENT ION", + "ĠLib eration", + "ĠLiber ation", + "Command Line", + "_ department", + "_de partment", + "_dep artment", + "_depart ment", + ". Ar", + ".A r", + "_ neighbor", + "_ne ighbor", + "Ġ Submitted", + "ĠSub mitted", + "ĠSubmit ted", + "Ġ Ċ", + "\"> -->Ċ", + "Ġdro its", + "Ġdroit s", + "Ġhomosexual s", + "Ġab duction", + "ĉ widget", + "ĉw idget", + "$ headers", + "$header s", + "ĠD AR", + "ĠDA R", + "Ġf la", + "Ġfl a", + "th reat", + "thr eat", + "Ġl ouis", + "Ġlo uis", + "Ġlou is", + ". GetProperty", + ".Get Property", + "\" Just", + "( frames", + "(f rames", + "(frame s", + "(fr ames", + "r yo", + "ry o", + "prof ession", + "| i", + "íķ´ ìĦľ", + "( sv", + "(s v", + "Ġun recognized", + "I onic", + "Io nic", + "Ion ic", + "F ashion", + "Screen State", + "Ġ Incoming", + "ĠIn coming", + "ĠInc oming", + "Not Nil", + "Ġsyn cing", + "Ġsync ing", + "e mie", + "em ie", + "emi e", + "Ġth ermo", + "Ġther mo", + "Ġtherm o", + "_ procs", + "_pro cs", + "_pr ocs", + "_proc s", + "Ġincons istency", + "Ġinconsist ency", + "rel igious", + ". mj", + ".m j", + "Ġperson n", + "Ġpers onn", + "Ġperso nn", + "Ġmoment os", + "Ġmomento s", + "or arily", + "Ġ æĬ", + "Ġæ Ĭ", + "_ne urons", + "Ill ustr", + "im oto", + "imo to", + "i lik", + "il ik", + "ili k", + "ĠW oj", + "ĠWo j", + "Tr ading", + "Trad ing", + "Tra ding", + "Ġapp are", + "Ġap pare", + "Ġappar e", + "Ġentre prises", + "Ġentreprise s", + "a chat", + "ac hat", + "ach at", + "acha t", + "Ġ ¬", + "Ġ ¬", + "Ġne igh", + "Ġnei gh", + "BUTTON DOWN", + "ĠMa her", + "ĠMah er", + "a ghan", + "ag han", + "agh an", + "- hash", + "-h ash", + "-has h", + "\" f", + "Ġclient ele", + "Ġcliente le", + ".add Button", + "ĉ SP", + "ĉS P", + "Q i", + "Ġg rated", + "Ġgr ated", + "Ġgrat ed", + "Ġgra ted", + "Ġgrate d", + "PO SITE", + "POS ITE", + "POSIT E", + ": >", + "ĠH owell", + "ĠHow ell", + "ĠHo well", + "ĠHowe ll", + "ĠCompar ative", + "Ġ ISC", + "ĠI SC", + "ĠIS C", + "ÂŃ i", + "O cean", + "D avis", + "Da vis", + "ĠFil me", + "ĠFilm e", + "W ins", + "Win s", + "Wi ns", + "ĠJ IT", + "oc cer", + "occ er", + "ĠC orm", + "ĠCo rm", + "ĠCor m", + "ENCH MARK", + "rc hive", + "rch ive", + "i cação", + "ic ação", + "ica ção", + "Ġm ata", + "Ġmat a", + "Ġma ta", + "Ġchild birth", + "ĠOption ally", + "ĠOptional ly", + "E ns", + "En s", + "Ġx http", + "Ġel ucid", + "_Osc InitStruct", + ") )):Ċ", + ")) ):Ċ", + "))) :Ċ", + "Ġint uit", + "Ġ Donate", + "ĠDon ate", + "Ġcorre lates", + "Ġcorrel ates", + "Ġcorrelate s", + "> Delete", + "Ġe quipe", + "Ġequ ipe", + "Ġequip e", + "Ġb oca", + "Ġbo ca", + "Ġinf latable", + "Ġinfl atable", + "e rah", + "er ah", + "era h", + "ĠDateTime Kind", + "Ġcal ves", + "\\ Lib", + "\\L ib", + "Ġem lrt", + "ĠTr ilogy", + "ĠTri logy", + "ĠP anc", + "ĠPan c", + "ĠPa nc", + "ĠD uis", + "ĠDu is", + "ĠpelÃŃcul a", + "W ARDS", + "WARD S", + "WAR DS", + "_DE TECT", + "_DET ECT", + "-section al", + "d hcp", + "dh cp", + "For Row", + "- destruct", + "-d estruct", + "-de struct", + "Ġ Presenter", + "ĠP resenter", + "ĠPres enter", + "ĠPresent er", + "/ slick", + "/s lick", + "/sl ick", + ", on", + ",o n", + "ĠCit adel", + "logged in", + "logg edin", + "_ subtype", + "_sub type", + "Ġs igue", + "Ġsi gue", + "Ġsig ue", + "Ġsigu e", + "Ġc uring", + "Ġcur ing", + "Ġcu ring", + "ĠFire wall", + "Ġfluores cence", + "ĠItalian s", + "ĠItalia ns", + "ĠItal ians", + "иÑĤ ÑģÑı", + ". getStyle", + ".get Style", + "In Seconds", + "j ie", + "ji e", + "- Smith", + "-S mith", + "Ġx link", + "Ġxl ink", + "Ġsub missive", + "о нÑĤ", + "он ÑĤ", + "arbon ate", + "ĠF aul", + "ĠFa ul", + "_ goals", + "_go als", + "_goal s", + "ĠCommission ers", + "ĠCommissioner s", + "chart Instance", + "_POST FIELDS", + "Ġmed ial", + "Ġmedia l", + "Ġmedi al", + "Ġm anos", + "Ġman os", + "Ġma nos", + "Ġmano s", + "Ġd elt", + "Ġde lt", + "Ġdel t", + "s vm", + "sv m", + ". Apis", + ".A pis", + ".Api s", + ".Ap is", + "e phy", + "ep hy", + "eph y", + "Ġasym pt", + "Ġapp Delegate", + "Ġimpro bable", + "c ka", + "ck a", + "s imd", + "si md", + "sim d", + "/ Error", + "/E rror", + ". âĢĵ", + "Ġ PTS", + "ĠP TS", + "ĠPT S", + "d eer", + "de er", + "dee r", + "Ġs ina", + "Ġsi na", + "Ġsin a", + "m agnitude", + "ID ADE", + "IDA DE", + "IDAD E", + "'] }'", + "']} '", + "Ġmay ores", + "Ġmayor es", + "Ġmayo res", + "ĉ comment", + "ĉcom ment", + "/ console", + "/con sole", + "\" @", + "v olt", + "vo lt", + "vol t", + ". sell", + ".s ell", + ".se ll", + ".sel l", + "ĠM acy", + "ĠMac y", + "ĠMa cy", + "Ġme lod", + "Ġmel od", + "Ġim ágenes", + "_ chg", + "_c hg", + "_ch g", + "Ġin out", + "Ġi nout", + "id ente", + "ide nte", + "ident e", + "iden te", + ") '),Ċ", + ")' ),Ċ", + ")'), Ċ", + "d ni", + "dn i", + ". blob", + ".b lob", + ".bl ob", + "Ġtyp ography", + "Ġe erie", + "Ġee rie", + "Ġeer ie", + "_ OID", + "_O ID", + "p esan", + "pe san", + "pes an", + "a jan", + "aj an", + "aja n", + "Ġch opping", + "Ġcho pping", + "Ġchop ping", + "Ġbl uff", + "a df", + "ad f", + "_ bases", + "_b ases", + "_base s", + ". Formatter", + ".Form atter", + ".Format ter", + ".For matter", + "Ġ\\ %", + "ĠPage Info", + "Car rier", + "ĠCal ibration", + "c omo", + "com o", + "co mo", + "-b odied", + "Ġfinanc ier", + "Ġ INA", + "ĠI NA", + "ĠIN A", + ". ERR", + ".E RR", + "Ġho odie", + "Ġhood ie", + "ĠS anity", + "ĠSan ity", + "gu arded", + "guard ed", + ".opend aylight", + "IS MATCH", + "ISM ATCH", + "High lights", + "Highlight s", + "ü nk", + "ün k", + "an iem", + "ani em", + "anie m", + "ang ered", + "ange red", + "anger ed", + "assign ments", + "assignment s", + "Ġregistr ado", + "Ġregist rado", + "ĠU PPER", + "ĠUP PER", + "ampil kan", + "a shire", + "as hire", + "ash ire", + "ashi re", + "ĠNik ola", + "ĠNi kola", + "ĠNikol a", + "ĠC FL", + "ĠCF L", + "ĠH DC", + "ĠHD C", + "Ġp oids", + "Ġpo ids", + "Ġpoi ds", + "ĠI Ps", + "ĠIP s", + "Ġprevent ative", + "ips oid", + "i fix", + "if ix", + "ifi x", + ". camel", + ".c amel", + ".ca mel", + ".cam el", + ". ga", + ".g a", + "V olumes", + "Volume s", + "Vol umes", + "- ste", + "-s te", + "-st e", + "Y ahoo", + "Ya hoo", + "_s ibling", + "_si bling", + "H ighest", + "High est", + "Hi ghest", + "opt group", + "Ġkvin na", + "Ġkvinn a", + "âĢĿ ãĢĤĊĊ", + "âĢĿãĢĤ ĊĊ", + "ĠAppl iances", + "Ġ \"><", + "Ġ\" ><", + "Ġ\"> <", + "' )\")Ċ", + "') \")Ċ", + "')\" )Ċ", + "h tt", + "ht t", + "ĠIdent ified", + "Ġpencil s", + "Ġpenc ils", + "Ġmember Id", + "Ġappend String", + ".load Data", + "Ġmock Mvc", + "Ġj ub", + "Ġju b", + "ĠS lut", + "ĠSl ut", + "ĠTai pei", + "st att", + "stat t", + "sta tt", + "P olit", + "Pol it", + "Po lit", + "Ġpart ager", + "Did Change", + "Incre ases", + "Increase s", + ") }.", + ")} .", + "ĠB aba", + "ĠBa ba", + "ĠBab a", + "_CL IP", + "_CLI P", + "[ unit", + "[u nit", + "Ġ клÑİÑĩ", + "Ġк лÑİÑĩ", + "Ġalc uni", + "ĠL ola", + "ĠLo la", + "ĠLol a", + "Ġcl inging", + "Ġclin ging", + "Ġcling ing", + "@ PostMapping", + "( concat", + "(con cat", + "Ġ ssid", + "Ġs sid", + "Ġss id", + "ĠF auc", + "ĠFa uc", + "o kit", + "ok it", + "oki t", + "ĠRecord ed", + "á lez", + "ál ez", + "ále z", + "($ ('<", + "($( '<", + "($(' <", + ".assertIs Not", + "Ġk ali", + "Ġka li", + "Ġkal i", + "V olt", + "Vo lt", + "Vol t", + "Ġwarm ly", + "Ġsc ares", + "Ġsca res", + "Ġscar es", + "Ġscare s", + "g etti", + "get ti", + "ge tti", + "gett i", + "füh rt", + "führ t", + "_ does", + "_d oes", + "_do es", + ". EMAIL", + ".E MAIL", + "im ations", + "imation s", + "imat ions", + "Ġspring fox", + "ĠD ecom", + "ĠDe com", + "ĠDec om", + "ar cy", + "arc y", + "Ġgl itches", + "Ġglitch es", + "ĠM off", + "ĠMo ff", + "ĠV oll", + "ĠVol l", + "ĠVo ll", + ". between", + ".b etween", + "Ġco orden", + "Ġcoord en", + "ĠPart icularly", + "G BP", + "GB P", + "Ġ semble", + "Ġs emble", + "Ġsem ble", + "Ġsembl e", + "East ern", + "_M SB", + "_MS B", + "] ){čĊ", + "]) {čĊ", + "]){ čĊ", + "m organ", + "mo rgan", + "mor gan", + "ĠE VAL", + "ĠEV AL", + "d ere", + "de re", + "der e", + "H OUSE", + "HO USE", + "m oire", + "mo ire", + "ist ique", + "isti que", + "_l stm", + "_lst m", + "_ls tm", + "- commit", + "-com mit", + "-comm it", + "yster ious", + "Ġtw ink", + "Ġtwin k", + "- thumbnails", + "-th umbnails", + "-thumbnail s", + "e nÃŃ", + "en ÃŃ", + ": '',", + ":' ',", + ":'' ,", + "Ġblack out", + "ĠFloor s", + "ĠFlo ors", + "Ġso fas", + "Ġsofa s", + "Ġsof as", + "Ġ oui", + "Ġo ui", + "Ġou i", + "le shoot", + "les hoot", + "lesh oot", + "ĠR aq", + "ĠRa q", + "- abs", + "-a bs", + "-ab s", + "Ġk ra", + "Ġkr a", + "M ining", + "Min ing", + "Mi ning", + "Mini ng", + "s haft", + "sh aft", + "sha ft", + ".set Columns", + ".setColumn s", + "Cl azz", + "Cla zz", + "PRE TTY", + ". playlist", + ".play list", + "éĸ ¢", + "-Sah aran", + "M ING", + "MI NG", + "MIN G", + "ĉ bl", + "ĉb l", + "è® ®", + "j f", + "DO CKER", + "DOC KER", + "hop efully", + "hope fully", + "( ignore", + "(i gnore", + "ĠUsers Controller", + "ĠMitar beiter", + "Ġ LES", + "ĠL ES", + "ĠLE S", + "Ham ilton", + "- metadata", + "-m etadata", + "-meta data", + "Ġ KK", + "ĠK K", + "ikt ig", + "Ġwoll te", + "Ġwol lte", + "egr ator", + "egra tor", + "] bool", + ", current", + ",c urrent", + "Ġvalue Type", + "Ġexcav ation", + "o land", + "ol and", + "ola nd", + "olan d", + "Ġv erv", + "Ġver v", + "Ġve rv", + "/ filepath", + "/file path", + "Auth Provider", + "Ġpro crast", + "ĉ ULONG", + "ĉU LONG", + "_MEM BERS", + "_MEMBER S", + "Ġup lift", + "ĠAut onomous", + "Ġart works", + "Ġartwork s", + "ĠOut reach", + "Ġp ore", + "Ġpo re", + "Ġpor e", + "Home page", + "Dialog Title", + "Ġ Generating", + "ĠG enerating", + "ĠGener ating", + "ĠGene rating", + "P ARSE", + "PAR SE", + "Ġsem anas", + "Ġsemana s", + "Ġhum ano", + "Ġhuman o", + "JSGlobal Scope", + "Ġvo lte", + "Ġvol te", + "Ġvolt e", + "Ġb ella", + "Ġbe lla", + "Ġbel la", + "Ġbell a", + "(is instance", + "Ġp lc", + "Ġpl c", + "\\ Catalog", + "\\C atalog", + "Ġeste emed", + "Ġesteem ed", + "éĽ ·", + "( suffix", + "(s uffix", + "Ġswe eps", + "Ġsweep s", + "ĉ ORDER", + "Ġdo ivent", + "Ġdoi vent", + "ĠS warm", + "ĠSw arm", + "Ġ Compiled", + "ĠComp iled", + "ĠCompile d", + "get Page", + "A DR", + "AD R", + ".R ichTextBox", + "Ġ Naming", + "ĠN aming", + "ĠNa ming", + "ĠNam ing", + "ag ged", + "agg ed", + "ĠG ANG", + "ĠGA NG", + "r asing", + "ra sing", + "ras ing", + "od eled", + "ode led", + "odel ed", + "Ġg ala", + "Ġga la", + "Ġgal a", + "ĠJS Name", + "d df", + "dd f", + "Ġil lust", + "Ġill ust", + "ĠLan sing", + "ĠLans ing", + "[ port", + "[p ort", + "- death", + "-de ath", + "Ġdin heiro", + "ĠE ighth", + "ĠEight h", + "Ġ bian", + "Ġb ian", + "Ġbi an", + "st Ã¥", + "Ġvers ión", + "ĠLinear Gradient", + "ĠH arding", + "ĠHar ding", + "ĠHard ing", + ". *)", + ".* )", + "e czy", + "ec zy", + "ecz y", + "$ header", + "Ġv Ã¥r", + "ĠvÃ¥ r", + "Un checked", + "Ġk oje", + "Ġko je", + "ĠPal adin", + "( ))),", + "() )),", + "()) ),", + "())) ,", + "G iving", + "Gi ving", + "( )})Ċ", + "() })Ċ", + "()} )Ċ", + "Ġd ips", + "Ġdi ps", + "Ġdip s", + "F riendly", + "Friend ly", + "Ġport rays", + "Ġportray s", + "Ġhel ium", + "Ġinsurg ency", + "_ expiry", + "_ex piry", + "_exp iry", + "ĠstringByAppending String", + "Ġa antal", + "Ġaan tal", + "s lope", + "sl ope", + "m ast", + "ma st", + "mas t", + ".get Integer", + ".getInt eger", + "Ġ ########################", + "Ġ######## ################", + "Ġ################ ########", + "Ġ############ ############", + "_PIPE LINE", + "Ġd ensely", + "Ġdense ly", + "Ġdens ely", + "Ġmut ating", + "m idi", + "mi di", + "mid i", + "ĠSe it", + "a yne", + "ay ne", + "NOW LED", + "ĠDes mond", + "ĠF Name", + "ĠFN ame", + "ĠN airobi", + "\\ Context", + "Ġcal cular", + "Ġcalcul ar", + "Ġcalc ular", + "- den", + "-d en", + "-de n", + "Ġ cott", + "Ġc ott", + "Ġco tt", + "Ġcot t", + "] ):čĊ", + "]) :čĊ", + "]): čĊ", + "ĠRecommend ation", + "ĠRo lex", + "ĠRole x", + "ĠRol ex", + "Ġvalidation Result", + ". pat", + ".p at", + ".pa t", + "Ġn Ãły", + "ĠRest Client", + "ĠG PI", + "ĠGP I", + "ĠAshe ville", + "Ġ OSP", + "ĠO SP", + "ĠOS P", + "ĠPER MISSION", + "ÐĶ Ð°ÑĤа", + "/ notification", + "/not ification", + "K night", + "Kn ight", + "_ Word", + "_W ord", + "ĠB ender", + "ĠBe nder", + "ĠBen der", + "ĠBend er", + "r anking", + "ran king", + "rank ing", + "Ġpart ida", + "Ġparti da", + "_ reservation", + "_res ervation", + "Ì Ģ", + "Ġm Name", + "Ġg etch", + "Ġget ch", + "Ġb orr", + "Ġbo rr", + "Ġbor r", + "Ġdilig ent", + "Disc uss", + "æŃ£ åľ¨", + "ape ake", + "i oned", + "ion ed", + "io ned", + "ione d", + "-N azi", + ". cum", + ".c um", + "ĠK ron", + "ĠKr on", + "ĠKro n", + "= $('#", + "=$ ('#", + "=$( '#", + "/ single", + "/s ingle", + "Ġerot isch", + "ĠV ib", + "ĠVi b", + "Ġrat ified", + "Ġconcert ed", + "ĠREG ARD", + "Ġdo br", + "Ġdob r", + ".Driver Manager", + "' r", + "Port able", + "Por table", + "ĉ suite", + "ĉs uite", + "Ġrel aciones", + "Ġrelacion es", + "ĠD op", + "ĠDo p", + "emp loi", + "empl oi", + "emplo i", + "D OB", + "DO B", + "Ġcr umbs", + "Ġ xls", + "Ġx ls", + "Ġxl s", + "_ Application", + "_App lication", + "(' :',", + "(': ',", + "Ġ-- ----------------------------------------------------------------------Ċ", + "Ġ---------------------------------------------------------------- --------Ċ", + "Ġ------------------------------------------------------------ ------------Ċ", + "m se", + "ms e", + "Ġb erk", + "Ġbe rk", + "Ġber k", + "Ġ ReturnValue", + "ĠReturn Value", + "ĠB elly", + "ĠBel ly", + "ĠBell y", + "Ġc amar", + "Ġca mar", + "Ġcam ar", + "ĠPe ek", + "ĠPee k", + "el sing", + "els ing", + "Ġnot ifies", + "ĠTr istan", + "ĠTri stan", + "ĠG AR", + "ĠGA R", + "em me", + "emm e", + "ĠElev ated", + "_ CSV", + "_C SV", + "_CS V", + "( chalk", + "(ch alk", + "Ġtw enties", + "ĠSearch Result", + "= search", + "=s earch", + "ĠMix ing", + "ĠMi xing", + "ý t", + "Ġrecru iter", + "Ġrecruit er", + "ĠIDE OGRAPH", + "ĠA go", + "ĠAg o", + "( Operation", + "(O peration", + "(Op eration", + "$ values", + "$value s", + "$val ues", + "Ġworld ly", + "ĠRos enberg", + "ĠRosen berg", + "ĠConfigure Services", + "> ** Ċ", + "...\" >Ċ", + "Ġsn ork", + "Ġsno rk", + "_ opacity", + "_op acity", + "ĠinitWith NibName", + "i ado", + "ia do", + "iad o", + "A AC", + "AA C", + "Ġ ]).", + "Ġ] ).", + "Ġ]) .", + "; z", + "_ paragraph", + "_par agraph", + "_para graph", + "Ġn oses", + "Ġno ses", + "Ġnos es", + "Ġnose s", + "st ands", + "stand s", + "sta nds", + "stan ds", + "i fr", + "if r", + "_m E", + "I raq", + "Ir aq", + ". Predicate", + ".P redicate", + "e naire", + "en aire", + "ena ire", + "] ]];Ċ", + "]] ];Ċ", + "Ġ unidad", + "Ġun idad", + "Ġuni dad", + "Ġretire es", + "Ġretir ees", + "_ hello", + "_h ello", + "Ġ modele", + "Ġmod ele", + "Ġmodel e", + "Ġmode le", + "ĠUITableView Controller", + "ĠUIT ableViewController", + "f write", + "fw rite", + "_ numero", + "_num ero", + "_numer o", + "_ visited", + "_vis ited", + "_visit ed", + "Ġrec ebe", + "Ġrece be", + "( Notification", + "Fant astic", + "_ submenu", + "_sub menu", + "ĠP EM", + "ĠPE M", + "ĠC upertino", + "ĠCup ertino", + "approx imately", + "cl assed", + "class ed", + "clas sed", + ".Read String", + "Ġdomic ile", + "_ PW", + "_P W", + "Ġball park", + "ĠK ale", + "ĠKa le", + "ĠKal e", + "con tra", + "cont ra", + "contr a", + "_ favorite", + "_f avorite", + "/ of", + "/o f", + "Q uite", + "Qu ite", + "Quit e", + "Qui te", + "Ġ OTA", + "ĠO TA", + "ĠOT A", + "Ġacceler ometer", + "di dn", + "did n", + "| ^", + "ĠRohing ya", + "ivi crm", + "ivic rm", + "ann abin", + "anna bin", + "обÑĭ ÑĤи", + "o rado", + "or ado", + "ora do", + "' )+", + "') +", + "Ha unted", + ", ID", + ",I D", + "( UIAlertAction", + "u rv", + "ur v", + "_ bel", + "_b el", + "_be l", + "ĠMex icans", + "ĠMexican s", + "/ terms", + "Ġ Painter", + "ĠP ainter", + "ĠPa inter", + "ĠPaint er", + "ĠPain ter", + "Input Label", + "ĠV inci", + "ĠVin ci", + "ĠRo sie", + "ĠRos ie", + "\\ uc", + "\\u c", + "< Menu", + "", + "Ġ'\" >", + "_ gs", + "_g s", + "Ġcomp il", + "n ard", + "na rd", + "nar d", + "- exc", + "-e xc", + "-ex c", + "Ġrh yme", + "Ġb utto", + "Ġbut to", + "Ġbutt o", + "s ays", + "sa ys", + "say s", + "ant asy", + "anta sy", + "antas y", + "ë ¸", + "Ġcitt Ãł", + "Ġch eg", + "Ġche g", + "Time String", + "Ġpos itivity", + "Ġposit ivity", + "ĠD abei", + "ĠDa bei", + "Ġ wang", + "Ġw ang", + "Ġwa ng", + "Ġwan g", + "Ġes cre", + "Ġesc re", + "\" c", + "ĉ video", + "ĉv ideo", + "Ġ Ranked", + "ĠR anked", + "ĠRank ed", + "ĠRan ked", + ". strings", + ".string s", + ".str ings", + "> >>(", + ">> >(", + ">>> (", + "Ġин ÑĤеÑĢ", + "ĠинÑĤ еÑĢ", + "Ġre sta", + "Ġr esta", + "Ġres ta", + "Ġrest a", + "[: ,:", + "[:, :", + "Ġren dre", + "Ġrend re", + "Ġde ser", + "Ġdes er", + "Ġdese r", + "J os", + "Jo s", + "Ġdis ruptions", + "Ġdisrupt ions", + "Ġdisruption s", + "Ġо пеÑĢ", + "Ġоп еÑĢ", + "s ampling", + "sam pling", + "samp ling", + "sup press", + "Ġcontainer View", + "ĠSeam less", + "Ġ airy", + "Ġa iry", + "Ġair y", + "Ġai ry", + "Ġon load", + ".Window Manager", + "ĠP LA", + "ĠPL A", + "br aco", + "bra co", + ".set PositiveButton", + "Ġp du", + "Ġpd u", + "Ġg si", + "Ġgs i", + "Ġ Cli", + "ĠC li", + "ĠCl i", + "_gr adients", + "_grad ients", + "_gradient s", + "Ñı д", + "ĠWh isper", + "c stdint", + "Ġl äng", + "Ġlä ng", + "Ġform ulations", + "Ġformulation s", + "Ġformul ations", + "é nom", + "én om", + "ourn emouth", + "[ $_", + "[$ _", + "Ġordin arily", + ".set Username", + ".setUser name", + "Ġfacult ies", + "MIT TED", + "/ values", + "/value s", + "Ġwe ir", + "Ġwei r", + "ĠA pt", + "ĠAp t", + "M Z", + "ĉ cf", + "ĉc f", + "u cken", + "uc ken", + "uck en", + "ĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉĉ", + "ĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉĉ ĉ", + "def ense", + "[ iVar", + "[i Var", + "ĠBusiness Exception", + "Select ors", + "Selector s", + "Sel ectors", + "Sele ctors", + "( coordinates", + "(co ordinates", + "ĠRe sets", + "ĠRes ets", + "ĠReset s", + "ĠDr inks", + "ĠDrink s", + "o leans", + "ole ans", + "olean s", + "(st ypy", + "_ IOC", + "_I OC", + "_IO C", + ". xxx", + ".x xx", + ".xx x", + "ĠS later", + "ĠSl ater", + "ĠSlate r", + "ĠB elize", + "ĠBel ize", + "Ġ /************************************************************************", + "Ġ/ ************************************************************************", + "Ġ/**************************************************************** ********", + "ad din", + "add in", + "_ep isodes", + "_episode s", + "Ġis chem", + "Ġisc hem", + "legal ArgumentException", + "D anny", + "Dan ny", + "Ġ pared", + "Ġp ared", + "Ġpar ed", + "Ġpa red", + "Ġpare d", + ".code haus", + "ĠAs sy", + "ĠAss y", + "ĉ Rect", + "ĉR ect", + "â ŀ", + ". lista", + ".l ista", + ".list a", + ".li sta", + "Ġв аÑĪ", + "Ġва ÑĪ", + "Ġv ets", + "Ġve ts", + "Ġvet s", + "H WND", + "HW ND", + "is oner", + "ison er", + "iso ner", + "Ġ xo", + "Ġx o", + "Ġor ally", + "Ġoral ly", + "Ġ Stmt", + "ĠSt mt", + ".r nn", + "ĠD PI", + "ĠDP I", + "ĠSt rikes", + "ĠStr ikes", + "ĠStrike s", + ".setViewport View", + "Ġèĩª åĬ¨çĶŁæĪIJ", + "Y ELLOW", + "GL enum", + "part ners", + "partner s", + "Ġ Implicit", + "ĠImp licit", + "ĠImpl icit", + "Ġt ako", + "Ġta ko", + "Ġtak o", + "âĢĻ elle", + "âĢĻe lle", + "Ġerm ög", + "total Count", + "G il", + "Gi l", + "ĉ work", + "ĉw ork", + "Ġpr atic", + "Ġpra tic", + "Ġprat ic", + "in ati", + "ina ti", + "a bies", + "ab ies", + "abi es", + "ĠSk inner", + "ĠSkin ner", + "Ġspirit ed", + "Ġspir ited", + "Ġpancre atic", + "Ġh df", + "Ġhd f", + "' em", + "'e m", + "Ġpsych osis", + "Ġpsycho sis", + "o licit", + "ol icit", + "olic it", + "oli cit", + "Ġ\" {\"", + "Ġ\"{ \"", + "_at ual", + "_a tual", + "Ġé lect", + "Ġél ect", + "TE AM", + "Ġd ak", + "Ġda k", + "ĠSW AT", + ". FragmentManager", + ".Fragment Manager", + "Ġprovision ing", + "l ifetime", + "life time", + "lif etime", + "_EXT ENSIONS", + "_EXTENSION S", + "Ġ CASCADE", + "ĠC ASCADE", + "ĠCAS CADE", + "Ġ ![", + "Ġ! [", + "( KP", + "(K P", + "Ġ vem", + "Ġv em", + "Ġve m", + "ĠInter racial", + "ĠInterr acial", + "' ]},Ċ", + "'] },Ċ", + "']} ,Ċ", + "sp acer", + "space r", + "spa cer", + "_ kv", + "_k v", + "W arehouse", + "Ware house", + "R DD", + "RD D", + "_f sm", + "_fs m", + ".Stretch Image", + ", Yes", + ",Y es", + "ĠRefuge e", + "ĠBr inging", + "ĠBring ing", + "Ġv álido", + "Ġvál ido", + ". intersection", + ".inter section", + "Ġsp ooky", + "Ġspo oky", + "_ portal", + "_p ortal", + "_port al", + "_por tal", + "Ġ moth", + "Ġm oth", + "Ġmot h", + "Ġmo th", + "ĠZ odiac", + "ĠSOC IAL", + "M imeType", + "'] }}", + "Ġ----- ->", + "Ġ------ >", + "_ Blue", + "_B lue", + "_Bl ue", + "Ġbot anical", + "Ġfr ags", + "Ġfra gs", + "Ġfrag s", + "Ġfamil ial", + "Ġfamilia l", + "- du", + "-d u", + "Ġse izing", + "Ġseiz ing", + "Ġsei zing", + "( blocks", + "(b locks", + "(block s", + "(bl ocks", + ". rd", + ".r d", + ".check NotNull", + "Ġm iser", + "Ġmis er", + "Ġmi ser", + "Ġmise r", + "Ġmax x", + "Ġma xx", + "ĠK nee", + "ĠKn ee", + "View Item", + "Inner HTML", + "D anger", + "Da nger", + "Dan ger", + "( (__", + "(( __", + "((_ _", + "Ġprz ypad", + "Ġprzy pad", + "create Url", + "* *,", + "** ,", + "ĠDecor ating", + "ATE GY", + "ATEG Y", + "? >/", + "?> /", + ". Designer", + ".Des igner", + ".Design er", + "hex digest", + "ĠEvery where", + "all eries", + "alle ries", + "aller ies", + ".TEXT URE", + ". Blocks", + ".B locks", + ".Bl ocks", + ".Block s", + "z ell", + "ze ll", + "zel l", + "Ġpre ço", + "S uddenly", + "input Email", + "( sync", + "(s ync", + ". bd", + ".b d", + "gold en", + "> ');", + ">' );", + ">') ;", + "ĠDick inson", + "> >(Ċ", + ">> (Ċ", + ">>( Ċ", + "Ġ QUEUE", + "ĠQUE UE", + "Ġ getColumn", + "Ġget Column", + "ĠgetC olumn", + "ĠS AND", + "ĠSA ND", + "ĠSAN D", + ". piece", + ".p iece", + ".pi ece", + "l icer", + "lic er", + "li cer", + "lice r", + "Fl utter", + "Ġget Version", + "Ġresource Id", + "o gl", + "og l", + "ÅĤ aw", + "ÅĤa w", + ". Branch", + ".Br anch", + "ĉ web", + "ĉw eb", + "Ġfr amerate", + "Ġframe rate", + "Ġfram erate", + "P PP", + "PP P", + "Ġf ray", + "Ġfr ay", + "Ġfra y", + "C NT", + "CN T", + "Ġinform atie", + "Ġinformat ie", + "' ]čĊčĊ", + "'] čĊčĊ", + "']čĊ čĊ", + "ne as", + "nea s", + "Header Code", + "Ġ æ¸", + "Ġæ ¸", + "Ġt rg", + "Ġtr g", + "raw types", + "H onda", + "Ho nda", + "Hon da", + "Ġmark eter", + "Ġmarket er", + "Ġ requestData", + "Ġrequest Data", + "Ġ Pg", + "ĠP g", + "ĉ not", + "ĉn ot", + "ĉno t", + "Ġpage Info", + "Ġakt uellen", + "Ġaktu ellen", + "ãģ ķãĤĵ", + "ãģķ ãĤĵ", + "Ġ AMS", + "ĠA MS", + "ĠAM S", + "push ViewController", + "ĉ AL", + "ĉA L", + "Ġv ests", + "Ġve sts", + "Ġvest s", + "Ġves ts", + "p roduce", + "pro duce", + "produ ce", + "prod uce", + "-m ême", + "ĠRah man", + "F unny", + "Fun ny", + "E Z", + "_ Valid", + "_Val id", + "Ġsquad ron", + "Ġ lash", + "Ġl ash", + "Ġla sh", + "Ġlas h", + "Ġ irm", + "Ġi rm", + "Ġir m", + "i asco", + "ias co", + "ĠP aran", + "ĠPar an", + "ĠPa ran", + "ĠPara n", + "Ġpet ites", + "Ġpetite s", + "Ġpetit es", + "ĠDec ay", + "Ġun initialized", + "priv ileged", + "Ġm bedtls", + "å¤ĩ 注", + "Ġ ^.", + "Ġ^ .", + "Ġec static", + "D etroit", + "Det roit", + "Ġp arten", + "Ġpart en", + "Ġpar ten", + "Ġparte n", + "Ġsou venir", + ".get Login", + ".getLog in", + "моÑĤ ÑĢ", + "мо ÑĤÑĢ", + "en ção", + "ĠmÃŃn imo", + "ĠAccess ed", + "ĠAcc essed", + "r ió", + "ri ó", + "M ic", + "Mi c", + "ĠV ocal", + "ĠVo cal", + "ĠVoc al", + ".Set String", + "Ġmens ajes", + "Ġmensaje s", + "åĢ į", + "Ġattr avers", + "ĠA ph", + "ĠAp h", + "Ġ ');čĊ", + "Ġ' );čĊ", + "Ġ') ;čĊ", + "Ġ'); čĊ", + "ü nde", + "ün de", + "ünd e", + "Ġenchant ed", + "Ġench anted", + "ĠRoot State", + "ĠCLOSE D", + "ĉ ĉĉĉĉĉĉĉčĊ", + "ĉĉ ĉĉĉĉĉĉčĊ", + "ĉĉĉĉ ĉĉĉĉčĊ", + "ĉĉĉ ĉĉĉĉĉčĊ", + "ĉĉĉĉĉ ĉĉĉčĊ", + "ĉĉĉĉĉĉ ĉĉčĊ", + "ĉĉĉĉĉĉĉĉ čĊ", + "ĉĉĉĉĉĉĉ ĉčĊ", + "Ġcal iente", + "or ris", + "orr is", + "Ġphysic ists", + "Ġphysicist s", + "h wnd", + "hw nd", + "_ vi", + "_v i", + "Ġráp ido", + "Ġcapital ized", + "Ġcapitalize d", + "ed By", + "Ġmach ining", + "Ġh ubby", + "Ġhub by", + "ĠSt acy", + "ĠSta cy", + ". Bus", + ".B us", + "d rink", + "dr ink", + "H ur", + "Hu r", + "Ġpr opia", + "Ġprop ia", + "Unit Test", + "Ġmiscon ception", + "_ _));Ċ", + "__ ));Ċ", + "__) );Ċ", + "__)) ;Ċ", + "/ dc", + "/d c", + "ĠMay weather", + "_m C", + ". createFrom", + ".create From", + "ĠQ Painter", + "ro psych", + "rops ych", + "inn itus", + "a yas", + "ay as", + "aya s", + "Ġg eg", + "Ġge g", + "( dw", + "(d w", + "Ġus ado", + "Ġusa do", + "Ġtr ickle", + "Ġtrick le", + "Ġann ihil", + "Ġanni hil", + "ĠP asta", + "ĠPa sta", + "ĠPast a", + "ĠPas ta", + "Ġ ++Ċ", + "Ġ+ +Ċ", + "Ġ++ Ċ", + "(Expected Conditions", + ".post Value", + "i cap", + "ic ap", + "ica p", + "ĠDon etsk", + "_ soup", + "_s oup", + "_so up", + "- publish", + "-p ublish", + "ĠP b", + "m entions", + "ment ions", + "mention s", + "AC CEPT", + ". Pull", + ".P ull", + ", âĢĻâĢĻ", + ",âĢĻ âĢĻ", + "Ġret arded", + "Ġretard ed", + "_ ATOM", + "_AT OM", + "ĠTerm inator", + "ĠTermin ator", + "- court", + "-c ourt", + "-co urt", + "ĠCLLocation Coordinate", + "Ġrev erence", + "Ġreve rence", + "Ġrever ence", + "ĠS SC", + "ĠSS C", + "ut ely", + "ute ly", + "ĠW ON", + "ĠG SL", + "ĠGS L", + "f rei", + "fr ei", + "fre i", + ".get Longitude", + ".getLong itude", + "Ġopen FileDialog", + ".B utter", + ".But ter", + "- important", + "-import ant", + "_M ANY", + "_MAN Y", + "_MA NY", + "ĠG ong", + "ĠGo ng", + "ĠGon g", + "âĢľ How", + "Ġg orge", + "Ġgor ge", + "= msg", + "=m sg", + "ĠE zek", + "ĠEz ek", + "create Command", + ": checked", + "Ġinfo graphic", + "Ġinf ographic", + ". WEST", + ".W EST", + "D irs", + "Dir s", + "Di rs", + "Ġgu arda", + "Ġguard a", + "Ġguar da", + "Ġbee tle", + "Ġbeet le", + "< small", + " Loading", + "_ mA", + "_m A", + ".get Random", + "b lings", + "bl ings", + "bling s", + "Ġche eses", + "Ġcheese s", + "Ġchees es", + "t ti", + "tt i", + ". âĢ¢", + "ĠBurg ess", + "ender it", + "ende rit", + ". ',čĊ", + ".' ,čĊ", + ".', čĊ", + "(\" \"+", + "(\"\" +", + "a cb", + "ac b", + "% p", + "index ed", + "inde xed", + "_ predicate", + "_p redicate", + "_pred icate", + "nes ia", + "Ġb ied", + "Ġbi ed", + "ĠC IT", + "ĠCI T", + "( Pos", + "(P os", + "_ radi", + "_r adi", + "_rad i", + "_ra di", + "ä»· æł¼", + "B iz", + "Bi z", + "ĠAdoles cent", + "Ġv iên", + "Ġvi ên", + "c ycl", + "cy cl", + "_ Cancel", + "_C ancel", + "Ġcon clusive", + "Ġconclus ive", + "Ġconcl usive", + "Ġappell ate", + "Ġappel late", + "inform atics", + "S J", + "Ġel ective", + "Ġelect ive", + "role Id", + "Fetch er", + "ĉ Command", + "(\" (%", + "(\"( %", + "Ġf art", + "Ġfa rt", + "Ġfar t", + "I LA", + "IL A", + "get Block", + "A USE", + "AU SE", + "Ġ дан", + "Ġд ан", + "Ġда н", + "ĠAr te", + "ĠArt e", + "Ġnot ifying", + "Ġnotify ing", + "Ġg ele", + "Ġge le", + "Ġgel e", + ". same", + ".s ame", + ".sa me", + ".sam e", + "ĠRe gel", + "ĠReg el", + "Ġ BaÅŁ", + "ĠB aÅŁ", + "ĠBa ÅŁ", + ". creation", + ".c reation", + "Ġ VN", + "ĠV N", + "_ community", + "_comm unity", + "Ġuns ustainable", + "S EX", + "SE X", + "Ġgrid Size", + "res cia", + "avers able", + "(', ')[", + "(',' )[", + "(',') [", + "ĠPh elps", + "á»ķ i", + "ANCE LED", + "ANCEL ED", + "- IS", + "-I S", + ".run ners", + ".runner s", + "ĠSt okes", + "ĠSto kes", + "ĠStoke s", + ". Produ", + ".P rodu", + ".Pro du", + ".Pr odu", + "Ġwh ipping", + "Ġwhip ping", + "_ac quire", + "Ġinvestig ación", + "f ried", + "fr ied", + ".copy With", + "ĠHard cover", + "- Se", + "-S e", + "áŀ¶ áŀ", + "inv itation", + "les ai", + "ĠD orm", + "ĠDo rm", + "ĠDor m", + "ĠÑģпиÑģ ка", + "Ġconcaten ated", + "Ġconcatenate d", + "o phil", + "op hil", + "oph il", + "Ġth inker", + "Ġthink er", + "Ġthin ker", + "/font awesome", + "ĠLe opard", + "ĠLeo pard", + "Ġ\" /\");Ċ", + "Ġ\"/ \");Ċ", + "Ġ\"/\" );Ċ", + "Ġresidual s", + "ĠMicro wave", + "ĠMic rowave", + "Ġcon forme", + "Ġconform e", + "th rop", + "thr op", + "thro p", + "Ġdis emb", + "Ġdi semb", + "Ġdise mb", + "ĠO MG", + "ĠOM G", + "ĠDisc ipline", + "ĠAc robat", + "/ repository", + "/re pository", + "/repos itory", + "d fa", + "df a", + "_ MED", + "_M ED", + "_ME D", + "buf io", + "Ġméth ode", + "_H OLD", + "i asi", + "ia si", + "ias i", + "_ legacy", + "_leg acy", + ") ččĊ", + "æ£ Ģ", + "Get ProcAddress", + "Ġy ay", + "Ġya y", + "ot ence", + "ote nce", + "oten ce", + "order id", + "orde rid", + "- tw", + "-t w", + "Ġd early", + "Ġdear ly", + "In coming", + "Inc oming", + "/ il", + "/i l", + "Ġneuro p", + "Ġneu rop", + "Ġneur op", + "u cz", + "uc z", + ") ;čččĊ", + "); čččĊ", + "ĠInnov ative", + "Ġpro fund", + "Ġprof und", + "ig mat", + "igma t", + "igm at", + "Selection Mode", + "re levant", + ". GO", + ".G O", + "Ġbru ises", + "Ġs ach", + "Ġsa ch", + "Ġsac h", + "o def", + "od ef", + "ode f", + "Ġre imb", + "Ġreim b", + "/ desktop", + "/d esktop", + "- spot", + "-s pot", + "-sp ot", + "un dance", + "und ance", + "unda nce", + "undan ce", + "Ent ropy", + "Entr opy", + "\\ core", + "Ġs uger", + "Ġsu ger", + "Ġsug er", + "Ġ Mvc", + "ĠM vc", + "ĠGN OME", + "_ indx", + "_in dx", + "_i ndx", + "_ind x", + "ĠYY STYPE", + "ĠYYS TYPE", + "ĠMat lab", + "ĠC IF", + "ĠCI F", + "Ġ *))", + "Ġ* ))", + "Ġ*) )", + "Ġproduct List", + "Ġ Alright", + "ĠAl right", + "ace mark", + "ac emark", + "ÑĤ ив", + "ÑĤи в", + "mod ification", + "int ernational", + "inter national", + "intern ational", + "Ġh omers", + "Ġhome rs", + "Ġhom ers", + "Ġho mers", + "Ġhomer s", + "Ġd icts", + "Ġdi cts", + "Ġdict s", + "Ġdic ts", + "ĠQ Font", + ". SQLite", + ".SQL ite", + "Ġtransplant ation", + "ĠMessageBox Button", + "ĠEl ves", + "' ]])Ċ", + "'] ])Ċ", + "']] )Ċ", + "(Q Icon", + "Ġcin emas", + "Ġcinema s", + "Ġcine mas", + "CO ORD", + "- China", + "-Ch ina", + "Ġkh ẩu", + "æĪij çļĦ", + "Ġsk ulls", + "Ġskull s", + "Ġpain staking", + "Ġpains taking", + "f ce", + "fc e", + ".XR Label", + "Ġ specifier", + "Ġspec ifier", + "Ġprefer ring", + "Ġpref erring", + "/ activity", + "( Photo", + "á lt", + "ál t", + ". lot", + ".l ot", + ".lo t", + "' '.", + "'' .", + "an nonce", + "ann once", + "annon ce", + "anno nce", + ".google code", + "- pdf", + "-p df", + "ĠP oke", + "ĠPo ke", + "ĠPok e", + "_ ACL", + "_A CL", + "_AC L", + "Ġend owed", + "dis cover", + "disc over", + ".o mg", + ".om g", + "Ġwood land", + ". Magic", + ".M agic", + "Ġvol ont", + "Not Allowed", + "Ġc have", + "Ġch ave", + "Ġcha ve", + "B MW", + "BM W", + "',' =',", + "','= ',", + "ĠS IX", + "ĠSI X", + "æĪij 们", + "Ġko sher", + "Ġkos her", + "Ġas piration", + "Ġaspir ation", + "Ġasp iration", + "i ntl", + "in tl", + "int l", + "_ref ptr", + "' +Ċ", + "'+ Ċ", + "ment or", + "men tor", + ". club", + ".c lub", + ".cl ub", + "Window State", + ". ARR", + ".A RR", + ".AR R", + "Ġ zza", + "Ġz za", + "Ġzz a", + "Ġmessage Type", + ". equ", + ".e qu", + ".eq u", + "T hor", + "Th or", + "Tho r", + "Ġin just", + "Ġinj ust", + "Ġg ums", + "Ġgu ms", + "Ġgum s", + "Ġborder Side", + "/ ////", + "// ///", + "//// /", + "/// //", + "ĠTrans mit", + "Ġbuf size", + "Ġh ak", + "Ġha k", + "Ġ ellas", + "Ġel las", + "Ġell as", + "Ġella s", + "R ANDOM", + "RAND OM", + "ĉ mc", + "ĉm c", + "Ġp ea", + "Ġpe a", + "e ko", + "ek o", + "document o", + "Ġhyster ia", + "Ġare nas", + "Ġar enas", + "Ġaren as", + "Ġarena s", + "Ġgun men", + "Ġm ike", + "Ġmi ke", + "Ġmik e", + "Ġimp unity", + "at isation", + "atis ation", + "_ Zero", + "_Z ero", + "_COMP ANY", + "ĠG ors", + "ĠGo rs", + "ĠGor s", + "Ġuse Class", + "( redis", + "(r edis", + "(re dis", + "(red is", + "ĠRUN NING", + "ĠB air", + "ĠBa ir", + "ĠBai r", + "ve lte", + "vel te", + "velt e", + "Ġ ','.", + "Ġ', '.", + "Ġ',' .", + "а ÑĤÑĮÑģÑı", + "аÑĤÑĮ ÑģÑı", + "ö st", + "ös t", + "encode URIComponent", + "_ restrict", + "_re strict", + "Ġdec als", + "Ġ Pedido", + "ĠP edido", + "ĠPed ido", + "Ġalter cation", + "Dis plays", + "Display s", + "Disp lays", + "ĠApp licants", + "ĠApplicant s", + "C US", + "CU S", + "Text area", + "ĠAng ola", + ". future", + ".f uture", + "ĠU SHORT", + "ĠUS HORT", + "Ġsuppress ing", + "Ġsupp ressing", + "Ġset zen", + "AP olynomial", + "Ġt och", + "Ġto ch", + "Ġtoc h", + "Ġhall mark", + "Ġ $$$", + "Ġ$ $$", + "Ġ$$ $", + "ĠCHAR SET", + ". rpm", + ".r pm", + "ĠD ich", + "ĠDi ch", + "---- ----------------", + "-------- ------------", + "---------------- ----", + "------------ --------", + "----- ---------------", + "---------- ----------", + "------ --------------", + "----------- ---------", + "------------- -------", + "------- -------------", + "--------- -----------", + "--------------- -----", + "-------------- ------", + "_ parm", + "_p arm", + "_par m", + "_pa rm", + "è¿ ĺ", + "a cciones", + "acc iones", + "acci ones", + "accion es", + "h ait", + "ha it", + "hai t", + "WARD ED", + "WAR DED", + "_ routing", + "_r outing", + "_ro uting", + "ĠN OM", + "ĠNO M", + "Ġen clave", + "ĠL otto", + "ĠLot to", + "ĉ fr", + "ĉf r", + "complex Content", + "ĠBall ard", + "k ube", + "ku be", + "/ win", + "/w in", + ".getColumn Model", + "_RE PLACE", + "Header Value", + "Ġest udiantes", + "Ġ apis", + "Ġa pis", + "Ġap is", + "Ġapi s", + "Ġb pm", + "Ġbp m", + "Ġ TypeName", + "ĠType Name", + "And Get", + "r ita", + "ri ta", + "rit a", + "Pl ans", + "Plan s", + "> Note", + ">N ote", + ">No te", + "Ġfet isch", + "Ġt oned", + "Ġto ned", + "Ġton ed", + "Ġtone d", + "_ goto", + "_g oto", + "_go to", + "on sense", + "ons ense", + "Ġm olds", + "Ġmo lds", + "Ġmol ds", + "Ġmold s", + "Ġinfiltr ation", + "ĠGuerr ero", + "ub bo", + "ubb o", + "c ki", + "ck i", + "( $(\".", + "($ (\".", + "($( \".", + "_ activities", + "_act ivities", + "_activ ities", + "( changes", + "(ch anges", + "(chan ges", + "(change s", + "Ġof App", + "ĠKe pler", + "ĠD emp", + "ĠDe mp", + "ĠDem p", + "ĠCont inent", + "ĠContin ent", + ". Ticks", + ".T icks", + ".Tick s", + "Ġ Unsigned", + "ĠUn signed", + "ĠUns igned", + "ĠJah res", + "ĠJahr es", + "ĠJahre s", + "Ġfresh men", + "ĠArch ived", + "ĠArchive d", + "ĠкоÑĤоÑĢ Ñĭй", + "Ġ' ::", + "Ġ': :", + "T utorial", + "C c", + "Ġtable LayoutPanel", + "from Json", + ". levels", + ".level s", + "_trans ient", + "Ġendors ing", + "Ġ DIC", + "ĠD IC", + "ĠDI C", + "l auf", + "la uf", + "Ġsh red", + "Ġshr ed", + "_E MIT", + "_EM IT", + "ific antly", + "ificant ly", + "A LA", + "AL A", + "/ proto", + "/pro to", + "/pr oto", + "Ġnarr owing", + "Ġnarrow ing", + "Ġnar rowing", + "U tc", + "Ut c", + "F actors", + "Fact ors", + "Factor s", + "Fac tors", + "Fa ctors", + "Ġsent ient", + "æŀ IJ", + "lix ir", + "ĠC ROSS", + "m eteor", + "met eor", + "Ġgr oin", + "Ġgro in", + "Ġ mdb", + "Ġm db", + "Ġmd b", + "ĠRot terdam", + "Ġcom ida", + "ĠOp Code", + "Ġ DefaultValue", + "ĠDefault Value", + "Permissions Result", + "Ġheter ogeneous", + "Ġm oot", + "Ġmo ot", + "Ġmoo t", + "Ġde ceived", + "Ġdece ived", + "Ġdeceive d", + "-in dependent", + "ĠObject OutputStream", + "Ġover power", + ". dup", + ".d up", + "Ġ ldb", + "Ġl db", + "Ġld b", + "Ġdomestic ally", + "Ġdomest ically", + "Ġbe stellen", + "Ġbest ellen", + "Ġbeste llen", + "Ġ lov", + "Ġl ov", + "Ġlo v", + "ĠContract ors", + "ĠContr actors", + "ĠContractor s", + "Tri angles", + "Triangle s", + "Ġfod der", + "Ġfil mes", + "Ġfilm es", + "Ġfilme s", + "ä¼ ģ", + "Ġrev olver", + "Startup Script", + "/ validation", + "ĠResource Type", + "i ÅŁ", + "ĠL az", + "ĠLa z", + "f ef", + "fe f", + "Ġl stm", + "Ġlst m", + "Ġls tm", + "{ *", + ". attachment", + ".attach ment", + ".att achment", + ". hits", + ".h its", + ".hit s", + "e with", + "ew ith", + "D OG", + "DO G", + "Al abama", + "Ġmedium s", + "Ġmedi ums", + ".m Context", + "- cols", + "-c ols", + "-col s", + "-co ls", + "åı ĭ", + ". notice", + ".not ice", + "Ġat tn", + "Ġatt n", + "ĠP acking", + "ĠPac king", + "ĠPack ing", + "Ġ Ln", + "ĠL n", + "_COM PLEX", + "_COMP LEX", + "/ Users", + "/User s", + ".save txt", + ".sav etxt", + "ĠR ounds", + "ĠRo unds", + "ĠRound s", + "ĠRou nds", + "?,?, ?,?,", + "Ġin gl", + "Ġing l", + "Ġ ROC", + "ĠR OC", + "ĠRO C", + "_ female", + "_f emale", + "_fe male", + "ĠSt ard", + "ĠStar d", + "ĠSta rd", + "] ];", + "]] ;", + "Ġwrest lers", + "Ġwrestler s", + "Ġtorrent s", + "Ġs inh", + "Ġsi nh", + "Ġsin h", + " ĊĊ", + "Ċ Ċ", + "ë³ µ", + "s ense", + "sen se", + "how ever", + ". Physics", + ".Ph ysics", + "Inf rastructure", + "ĠS acr", + "ĠSa cr", + "ĠSac r", + "F el", + "Fe l", + "ĠD ISTRIBUT", + "é ments", + "ém ents", + "ément s", + "ĠValid ates", + "ĠValidate s", + "#### ########################################################", + "################################ ############################", + "############ ################################################", + "################################################ ############", + "############################ ################################", + "######################################################## ####", + "Ġ |/", + "Ġ| /", + "Ġe sl", + "Ġes l", + "Ġré seau", + "ĠB ip", + "ĠBi p", + "BY TES", + "BYTE S", + "_W ATER", + "T urning", + "Turn ing", + "Tur ning", + "E LS", + "EL S", + "Ġj uxtap", + "Ġlesb ische", + "ý ch", + "( Unknown", + "(Un known", + "N eo", + "Ne o", + "@ JsonProperty", + "@Json Property", + "Ġal umnos", + "Ġalum nos", + "Ġalumno s", + "ĠRaq qa", + "im ei", + "ime i", + ".get Bounds", + ".getB ounds", + ".Mouse EventHandler", + ".MouseEvent Handler", + "# ######", + "## #####", + "#### ###", + "### ####", + "##### ##", + "###### #", + "Generic Type", + "/ cms", + "/c ms", + "/cm s", + "Ġturn o", + "Ġtur no", + "Ġ мин", + "Ġм ин", + "Ġми н", + "Ġfolk lore", + "ĠE vo", + "ĠEv o", + "Ġconduct ivity", + "Ġle ben", + "Ġgear box", + "- vs", + "-v s", + "Ġ ÏĨ", + "ĠÏ Ĩ", + "Ġdrink ers", + "Ġ conexao", + "Ġcon exao", + "Ġconex ao", + "ĠTe eth", + "ĠTee th", + "Ġget Arguments", + "ĠR AT", + "ĠRA T", + "ent ious", + "enti ous", + "E duc", + "Ed uc", + "+ W", + "ĠInstitution al", + "ĠInstitut ional", + "ĠB ord", + "ĠBo rd", + "ĠBor d", + "is Equal", + "( pwd", + "(p wd", + "Ġign ited", + "Ġignite d", + "ĠR ousse", + "ĠRou sse", + "Ġimpact ful", + "ĠM alk", + "ĠMal k", + "ĠMa lk", + "Ġg eral", + "Ġge ral", + "Ġger al", + "ĠP ivot", + "Ġa zt", + "Ġaz t", + "Ġcsv file", + "ĠR ope", + "ĠRo pe", + "ĠS OLUTION", + "ĠSOL UTION", + "ĠAr bitrary", + "ĠArbit rary", + "Ġl etto", + "Ġlet to", + "Ġlett o", + ".Mouse Adapter", + "Ġ }}}", + "Ġ} }}", + "Ġ}} }", + "ĠSa ilor", + "ĠSail or", + "ĠSai lor", + "d era", + "de ra", + "der a", + "P utting", + "Put ting", + "Ġconcent rates", + "Ġconcentr ates", + "Ġconcentrate s", + "Ġauth Domain", + "âĢĿ çļĦ", + "-f inals", + "-final s", + "-fin als", + ", strlen", + ",str len", + ",st rlen", + "Mu on", + "ĠOrd inary", + "fire fox", + "ĠLa TeX", + "ĠH und", + "ĠHun d", + "ĠHu nd", + "engine ering", + "/ blue", + "/b lue", + "/bl ue", + "ed TextBox", + "(\" \");", + "(\"\" );", + "(\"\") ;", + "ĠC DDL", + "ĠCD DL", + "k ept", + "ke pt", + "Ġ GetString", + "ĠGet String", + "K ir", + "Ki r", + "() ='", + "ĠO CD", + "ĠOC D", + "ant ium", + "anti um", + "$ menu", + "$m enu", + "ĠAppalach ian", + "Secret ary", + "ë¥ ĺ", + "ี ย", + "Sem antic", + "Ġ *[", + "Ġ* [", + "e stone", + "es tone", + "est one", + "esto ne", + "ung kin", + "Max Y", + "- tone", + "-t one", + "-to ne", + "-ton e", + "\" };čĊ", + "\"} ;čĊ", + "_ Part", + "_P art", + "< Member", + "ĊĊ", + "'> ĊĊ", + "'>Ċ Ċ", + "L ic", + "Li c", + "ĠMir age", + "ĠMi rage", + "ĠAssembly FileVersion", + "Te V", + "ĠValue EventListener", + "-s olving", + "T ho", + "Th o", + "rou lette", + "_ WP", + "_W P", + "Ġunint errupted", + "Ġfield Type", + ". Typed", + ".T yped", + ".Type d", + "Ġa mour", + "Ġam our", + "Ġamo ur", + "Ġmock ery", + "Ġmocker y", + "( vol", + "(v ol", + "(vo l", + "ĠSub committee", + "ĠR uf", + "ĠRu f", + "e rox", + "er ox", + "ero x", + ":UIButtonType Custom", + "Ġ Blur", + "ĠBl ur", + "ĠBlu r", + "Ġwy kon", + "n ces", + "nc es", + "nce s", + "ASH BOARD", + "! !\");Ċ", + "!! \");Ċ", + "Ġmurder ers", + "Ġmurderer s", + ". daily", + ".d aily", + ".da ily", + "ĠDI AG", + "j ing", + "ji ng", + "jin g", + "Ġdol phin", + "Ġl òng", + "Ġb ö", + "ĠV ocabulary", + ".St Object", + "' )\">", + "') \">", + "')\" >", + "Ġz un", + "Ġzu n", + "Ġscrim mage", + "tr éal", + "ĠL ig", + "ĠLi g", + "[ vi", + "[v i", + "C ole", + "Col e", + "Co le", + "Ġfrost ing", + ". Players", + ".P layers", + ".Pl ayers", + ".Player s", + ".Play ers", + "- translate", + "-trans late", + "Fe els", + "Feel s", + "Fee ls", + "=\\\" /", + "=\\ \"/", + ".Butter Knife", + "Ġ? >;Ċ", + "Ġ?> ;Ċ", + "Ġ avi", + "Ġa vi", + "Ġav i", + "in nie", + "inn ie", + ". Failure", + ".F ailure", + ".Fail ure", + "Ġsp indle", + "Ġspin dle", + "Configuration Exception", + "_ hop", + "_h op", + "Ġpos ição", + "Ġposi ção", + "Ġ Await", + "ĠA wait", + "ĠAw ait", + "UIImage PickerController", + "ĉ day", + "ĉd ay", + "Ġge nom", + "Ġgen om", + "C ab", + "Ca b", + "ĠÑĢ ÐµÐ·ÑĥлÑĮÑĤаÑĤ", + "ĠÑĢезÑĥлÑĮÑĤ аÑĤ", + "OR IGINAL", + "Ġejac ulation", + "( tcp", + "(t cp", + "(tc p", + "SE COND", + "SEC OND", + "Ġt onic", + "Ġto nic", + "Ġton ic", + "Ġ ListBox", + "ĠList Box", + "Ġ ĉĉĊ", + "Ġĉ ĉĊ", + "Ġĉĉ Ċ", + "( )>Ċ", + "() >Ċ", + "()> Ċ", + "Ġqu atre", + "Ġquat re", + "Ġqua tre", + "ượ ng", + "with Errors", + ". Maybe", + ".M aybe", + ", â̦", + "token Id", + "_UN DEF", + "Ġfresh ness", + "ĠAmendment s", + "ĠAmend ments", + ".map box", + ". CV", + ".C V", + "( blog", + "(b log", + "(bl og", + "_get time", + ". quest", + ".q uest", + ".qu est", + "s parse", + "sp arse", + "spar se", + "Ġre sale", + "Ġres ale", + "Ġenthusi astically", + "Ġenthusiastic ally", + "Ġenthusiast ically", + "ĠProstit utas", + "W a", + "C argo", + "Car go", + ". Parcelable", + ".Parcel able", + "S ENSOR", + "SEN SOR", + "SENS OR", + "ĠR yu", + "ĠRy u", + "La ughs", + "Laugh s", + "_ Native", + "_N ative", + "/ pg", + "/p g", + "y sts", + "yst s", + "ys ts", + "Ġphot oc", + "Ġphoto c", + "ç® Ģ", + "ad opt", + "ado pt", + ". species", + ".s pecies", + ".sp ecies", + ".spec ies", + "conc iliation", + "Adjust ed", + "Adj usted", + ".Firebase Auth", + "ut tle", + "utt le", + "ord ination", + "ordin ation", + "Ġm unch", + "Ġmun ch", + "ĠS take", + "ĠSt ake", + "ĠSta ke", + ". ping", + ".p ing", + ".pi ng", + ".pin g", + "an ker", + "ank er", + "anke r", + "(QString Literal", + "Ġsub script", + "Ġsubs cript", + "Ġsubscri pt", + "Ġ ĠĉĊ", + "ĠĠ ĉĊ", + "ĠĠĉ Ċ", + "ĠM CC", + "ĠMC C", + "_ Cmd", + "_C md", + "se xy", + "sex y", + "i ou", + "io u", + "ĠM ANY", + "ĠMA NY", + "ĠMAN Y", + "Ġn anny", + "Ġnan ny", + "T RAIN", + "TR AIN", + "TRA IN", + "Ġflour ishing", + "Ġflourish ing", + "ĠW atches", + "ĠWatch es", + "ĠWat ches", + "ĠQ Map", + "ĠF erm", + "ĠFe rm", + "ĠFer m", + "Ġw asm", + "Ġwas m", + "Ġwa sm", + "ĠA bed", + "ĠAb ed", + "ĠAbe d", + "_ UD", + "_U D", + "ĠG lasses", + "ĠGl asses", + "ĠGlass es", + "ĠGlas ses", + "+ v", + "Att end", + ". Chain", + ".Ch ain", + "Ġdec ency", + "Ġdece ncy", + "ĠSup plementary", + "ĠSupplement ary", + "h unter", + "hunt er", + "- txt", + "-t xt", + "Ġ\" }\";Ċ", + "Ġ\"} \";Ċ", + ".set WindowTitle", + "( \"", + "Ġmasc ara", + "( Profile", + "åĬ Łèĥ½", + "åĬŁ èĥ½", + "im ité", + "imit é", + "imi té", + "Ġwild fires", + "Ġwildfire s", + "- ROM", + "-R OM", + ".is On", + "( groupId", + "(group Id", + "Re pair", + "Rep air", + "accum ulate", + "Ġ< \",", + "Ġhand written", + "Ġach eter", + "Ġache ter", + "ĠM GM", + "ĠMG M", + "ĠIr ma", + "-> {_", + "->{ _", + "g ee", + "ge e", + "c riminal", + "cr iminal", + "Ġèĭ¥ è¦ģ", + "Ġmoment arily", + "\" )!=", + "\") !=", + "_ lit", + "_l it", + "_li t", + "Ġexpires In", + ". \").", + ".\" ).", + ".\") .", + "éķ¿ åº¦", + "Ġfr ække", + "v lc", + "vl c", + "Ġor bs", + "Ġorb s", + ") ,$", + "), $", + "Ġvent ured", + "Ġventure d", + "/ >\\", + "/> \\", + "ch arm", + "char m", + "cha rm", + "N uitka", + "el dig", + "eld ig", + "ato nin", + "aton in", + "W itness", + "- lat", + "-l at", + "-la t", + "Ġset Hidden", + "Ġrel ics", + "Ġreli cs", + "Ġrelic s", + "Ġcons ulate", + "Ġconsul ate", + ". IGNORE", + "\" After", + "\"A fter", + "Ġs etAddress", + "Ġset Address", + "Ġbeste ht", + "Ġ' ')ĊĊ", + "Ġ'' )ĊĊ", + "Ġ'') ĊĊ", + "Ġ'')Ċ Ċ", + ".x axis", + "Ġser ão", + "Ġmis led", + "Ġmi sled", + "_UN IFORM", + "ĠV IA", + "ĠVI A", + "in cr", + "inc r", + "Ġzen ith", + "Ġvis cosity", + "Ġvisc osity", + "Ġthin ly", + ".get SharedPreferences", + ". ErrorCode", + ".Error Code", + "\" ),\"", + "\") ,\"", + "\"), \"", + "ĠMillion en", + "ĠMilli onen", + "Ġ/ >)Ċ", + "Ġ/> )Ċ", + "Scroll Indicator", + "-se eking", + "ĠPOLIT ICO", + "as ca", + "asc a", + "_ rl", + "_r l", + "N avig", + "Nav ig", + "Na vig", + "(full file", + "Ġsol itude", + "Ġ juven", + "Ġju ven", + "Ġha uling", + "Ġhaul ing", + "ĠMac ros", + "ĠMacro s", + "ĠG ry", + "ĠGr y", + "Ġexerc itation", + "ĠATT ACK", + "Tick Count", + "Ġ rites", + "Ġr ites", + "Ġrit es", + "Ġri tes", + "Ġd oe", + "Ġdo e", + "Particle System", + "Ġ slu", + "Ġs lu", + "Ġsl u", + "Window Text", + "Ġ ClassName", + "ĠClass Name", + "Ġs lander", + "Ġsl ander", + "Ġsla nder", + "ĉ Port", + "ĉP ort", + "j ong", + "jo ng", + "jon g", + "? a", + ".D ial", + ".Di al", + "âĢĶ at", + "âĢĶa t", + "$ objPHPExcel", + "$obj PHPExcel", + "Ġso ar", + "E NN", + "EN N", + "appe ared", + "appear ed", + "Ġquot id", + "Ġquo tid", + "e machine", + "em achine", + "ema chine", + "Ġ nip", + "Ġn ip", + "Ġni p", + "Ġmicro time", + "ĠAl ma", + "; !", + "---------------- --------------------------------------------------------------------------------", + "-------------------------------- ----------------------------------------------------------------", + "---------------------------------------------------------------- --------------------------------", + "------------------------------------------------ ------------------------------------------------", + "---------------------------------------------------------------------------- --------------------", + "-------------------------------------------------------------------------------- ----------------", + "-------------------- ----------------------------------------------------------------------------", + "ĠP assage", + "ĠPass age", + "ĠPas sage", + "Ġdump sters", + "Ġdumpster s", + "Ġdumps ters", + "Ġ Exclude", + "ĠEx clude", + "ĠExc lude", + "Ġsuggest ive", + "ĠCircularProgress Indicator", + "_ clr", + "_c lr", + "_cl r", + "Array Type", + "IL LA", + "ILL A", + "Elapsed Time", + "Dr iven", + "Drive n", + "Ġresource Name", + "ĠG arrison", + "ĠGarr ison", + "se rir", + "ser ir", + "- ahead", + "-a head", + "Ġp innacle", + "ĠEs presso", + "S parse", + "Sp arse", + "Ġas says", + "Ġass ays", + "Ġassay s", + "ĠGirl friend", + "i mid", + "im id", + "imi d", + "] ='\\", + "]= '\\", + "]=' \\", + "ONG LONG", + "ONGL ONG", + "Ġportray ing", + "L ane", + "La ne", + "Ġb úsqueda", + "Ġrein forcements", + "Ġreinforce ments", + "Ġreinforcement s", + "ĠSpread sheet", + "ĠArray Collection", + ", arr", + ",a rr", + "light box", + "ic ana", + "ica na", + "ican a", + "< \"", + "build ers", + "builder s", + "K id", + "Ki d", + "ĠMat SnackBar", + "EX PR", + "EXP R", + "od cast", + "ĠFoundation s", + "ĠFound ations", + "Ġ inds", + "Ġin ds", + "Ġi nds", + "Ġind s", + "=' ${", + "='$ {", + "F izz", + "Fi zz", + "- functional", + "-function al", + "( workspace", + "(work space", + "Ġstem med", + "_ patches", + "_p atches", + "_patch es", + "_pat ches", + "ĠJar vis", + "RE ADING", + "READ ING", + "Ġdisrespect ful", + "ĠQ Dom", + "Ġ$ {Ċ", + "Ġ${ Ċ", + "e status", + "es tatus", + "est atus", + "Re ached", + "Reach ed", + "! .ĊĊ", + "!. ĊĊ", + "I LT", + "IL T", + "ĠN DEBUG", + "ĠC ourage", + "ĠCour age", + "ĠCou rage", + "birth date", + "ĠT ing", + "ĠTi ng", + "ĠTin g", + "Ġutil izado", + "Ġutiliz ado", + "Ġutiliza do", + "án chez", + "Out door", + "Ġhand guns", + "Ġhandgun s", + "Ref Count", + "É Ļ", + "r omo", + "ro mo", + "rom o", + "Ġt ts", + "Ġtt s", + ". She", + ".S he", + ".Sh e", + "Ġ Pane", + "ĠP ane", + "ĠPan e", + "ĠPa ne", + "ãĢij, ãĢIJ", + "ĠIO CTL", + "ĠIOC TL", + "/ black", + "/b lack", + "/bl ack", + "in scription", + "ins cription", + "Ġbi opsy", + "Ġbio psy", + "Ġ TimeInterval", + "ĠT imeInterval", + "ĠTime Interval", + ".Test Check", + "ĠGUI Style", + "Ġ Capability", + "ĠCap ability", + "ĠBei trag", + "ĠBeit rag", + "don nees", + "T reatment", + ". backup", + ".back up", + "Ġsign ings", + "Ġsig nings", + "Ġsigning s", + "Ġsignin gs", + "ĠB oca", + "ĠBo ca", + "d rm", + "dr m", + ". MAIN", + ".M AIN", + "Ġgo ede", + "Ġgoed e", + "Ġ Markup", + "ĠMar kup", + "ĠMark up", + "G REE", + "GR EE", + "GRE E", + "ĠBase Service", + ". Creator", + ".C reator", + "Ġj ails", + "Ġja ils", + "Ġjail s", + "ĠK ahn", + "ĠKa hn", + "ĠKah n", + "Ip Address", + "AC HI", + "ACH I", + "Ġin hibited", + "Ġinhib ited", + "Ġinhibit ed", + "Ġ@ $_", + "Ġ@$ _", + "ĠAs sass", + "ĠAss ass", + "Ġenv iado", + "Ġenvi ado", + "Her oes", + "Hero es", + "ÐŁ еÑĢ", + "ĠM aven", + "ĠMa ven", + ". ls", + ".l s", + "Ġ ive", + "Ġi ve", + "Ġiv e", + "| RF", + "|R F", + "Ġresize Mode", + "Ġrum pe", + "_ attachments", + "_attach ments", + "_attachment s", + "T U", + "Ġtact ile", + "Ġtac tile", + "Attempt ing", + "Ġro bin", + "Ġrob in", + "y aw", + "ya w", + "Ġmerc enaries", + "ĠHab itat", + "ĠHabit at", + "end date", + "Ġ oxy", + "Ġo xy", + "Ġox y", + "ĉ Random", + "ĉR andom", + "o hon", + "oh on", + "oho n", + "Is Null", + "ĠValidation Result", + "ãĥ ļ", + "um bed", + "umb ed", + "p pv", + "pp v", + "Ġ arp", + "Ġa rp", + "Ġar p", + "ich ick", + "ichi ck", + "_r nn", + "ĠT FT", + "ĠTF T", + "Tex Image", + "\" On", + "Ġ Sampler", + "ĠS ampler", + "ĠSam pler", + "ĠSample r", + "ĠSamp ler", + "t opl", + "to pl", + "top l", + "Ġj ane", + "Ġja ne", + "Ġjan e", + "y ling", + "yl ing", + "ĠUN ICODE", + "Tab Index", + "< {Ċ", + "<{ Ċ", + "s uspend", + "sus pend", + "uv ian", + ", application", + "ол иÑĩеÑģÑĤво", + "y at", + "ya t", + "e zier", + "ez ier", + "ezi er", + "ĠCH UNK", + "ĠAd ler", + "/ Add", + "/A dd", + "Ġ KeyValue", + "ĠKey Value", + "Ġspos ób", + "S ampling", + "Sam pling", + "ch ers", + "che rs", + "cher s", + "_ AMD", + "_A MD", + "_AM D", + "R u", + ".Must Compile", + "N ation", + "Na tion", + "Nat ion", + "As soc", + "Ass oc", + "Man aging", + "Mana ging", + "ĠEn gl", + "ĠEng l", + "_ GB", + "_G B", + "Ġsucc inct", + "Ġdis liked", + "Ġdislike d", + "ĠI ke", + "ĠIk e", + "Bullet in", + "_ARCH IVE", + "Pro posal", + "Prop osal", + "Ġjog ging", + ".C REATED", + ".CREATE D", + "Ġc hol", + "Ġch ol", + "Ġcho l", + "è£ ħ", + "Į ¨", + "- push", + "-p ush", + "Ġres erva", + "Ġreserv a", + "co rev", + "core v", + "cor ev", + "è tre", + "T HR", + "TH R", + "Ġincompet ence", + "Ġchar isma", + "æĦ Ł", + "Ġ\" ==", + "Ġ\"= =", + "B TN", + "BT N", + "Ġ Locator", + "ĠL ocator", + "ĠLoc ator", + "i vet", + "iv et", + "ive t", + "(' .')Ċ", + "('. ')Ċ", + "('.') Ċ", + "('.' )Ċ", + "Ġfor IndexPath", + "ô me", + "ôm e", + "Ġcapac it", + "w aters", + "wa ters", + "water s", + "wat ers", + "ĠWR ONG", + "h oa", + "ho a", + "ĠM IPS", + "ĠMI PS", + "Ġe miss", + "Ġem iss", + "ĠJacqu eline", + "( cmp", + "(c mp", + "(cm p", + "Ġe ens", + "Ġeen s", + "Ġee ns", + "L eo", + "Le o", + ". timing", + ".t iming", + ".tim ing", + "CLU SION", + "CLUS ION", + "Ġ (\"-", + "Ġ( \"-", + "Ġ(\" -", + "åĵ Ī", + ". kode", + ".k ode", + "ĠUnder t", + "ĠUnd ert", + "Ġbe wild", + "Ġbew ild", + "ĠEs sen", + "ĠEss en", + ". hd", + ".h d", + "Ġren egot", + "Ġm ower", + "Ġmo wer", + "Ġl sp", + "Ġls p", + "Ġpen chant", + "Ġman oe", + "Ġmano e", + "Ġ agli", + "Ġa gli", + "Ġag li", + "Ġre cal", + "Ġr ecal", + "Ġrec al", + "ĠOPER ATION", + "(^ )(", + "Ġ ν", + "ĠÎ ½", + "Ġ Scoped", + "ĠSc oped", + "ĠScope d", + "ĠSco ped", + "Ġ @\"Ċ", + "Ġ@ \"Ċ", + "Ġ@\" Ċ", + "= label", + "=l abel", + "[ loc", + "[l oc", + "I ntl", + "In tl", + "Int l", + "ĠN z", + "table t", + "tab let", + "tabl et", + ". ColumnName", + ".Column Name", + "Ġscreen Size", + "D Bus", + "DB us", + "co oked", + "cook ed", + "- registration", + "-reg istration", + "âĢľ One", + "- non", + "-n on", + "-no n", + "ĠwiÄĻ c", + "Ġc osta", + "Ġco sta", + "Ġcost a", + "Ġcos ta", + ".add Tab", + ". conditions", + ".condition s", + ".cond itions", + "ĠH ess", + "ĠHe ss", + "MEM ORY", + "ĠAval anche", + "() }}Ċ", + "()} }Ċ", + "Ġtri plet", + "Ġtrip let", + "Ġtriple t", + "Ġl abyrinth", + "ĠNode List", + "ĠN YT", + "ĠNY T", + "Ġy eni", + "Ġye ni", + "Ġyen i", + "d ff", + "df f", + ".Html Controls", + "A VIS", + "AV IS", + "/ Math", + "/M ath", + "Ġ memcmp", + "Ġmem cmp", + "ا Ø¡", + "Ø§Ø ¡", + "о ÑģÑĮ", + "оÑģ ÑĮ", + "c rap", + "cr ap", + "( pages", + "(p ages", + "(page s", + "(pa ges", + "Ġl xml", + "Ġlx ml", + "ĠQ DateTime", + "_t cb", + "_tc b", + "Ġ openid", + "Ġopen id", + "Ġsyn aptic", + "ĠM DMA", + "ĠMD MA", + "( slug", + "(s lug", + "(sl ug", + "ig matic", + "igma tic", + "igm atic", + "igmat ic", + "e nor", + "en or", + "eno r", + "Ġcr amped", + "Ġcram ped", + "G OP", + "GO P", + "Ń IJ", + ".is File", + "ĠD ifferential", + "ĠDifferent ial", + "Ġ =\"\";Ċ", + "Ġ=\" \";Ċ", + "ĉ ĉĉĠĠĠĠĉ", + "ĉĉ ĉĠĠĠĠĉ", + "ĉĉĉ ĠĠĠĠĉ", + "ĉĉĉĠĠĠ Ġĉ", + "ĉĉĉĠ ĠĠĠĉ", + "ĉĉĉĠĠ ĠĠĉ", + "ĉĉĉĠĠĠĠ ĉ", + "ĠC ooke", + "ĠCo oke", + "ĠCook e", + "ĉU FUNCTION", + "Ġpersever ance", + "Relative Layout", + "IMPORT ANT", + "Ġe xon", + "Ġex on", + "Ġ он", + "Ġо н", + "i base", + "ib ase", + "iba se", + "( CONT", + "(C ONT", + "(CON T", + "n ovation", + "no vation", + "nov ation", + "nova tion", + "ä½ ķ", + "[ sub", + "[s ub", + "Admin Controller", + "HTTP Header", + "c rear", + "cre ar", + "cr ear", + "ĠN IR", + "ĠNI R", + "ĠDrop DownList", + "Ġval ide", + "Ġvalid e", + "Ġva lide", + "Ġde hydration", + ". ']", + ".' ]", + "( WIN", + "(W IN", + "Ġ ...\\", + "Ġ. ..\\", + "Ġ... \\", + "Ġ.. .\\", + "Ġphoto shop", + "Ġphotos hop", + "ĉ Init", + "ĉI nit", + "ĉIn it", + "_ cou", + "_c ou", + "_co u", + "Ġtime Zone", + "dar win", + "r omatic", + "ro matic", + "rom atic", + "roma tic", + "Navigation ItemSelectedListener", + "b rates", + "br ates", + "bra tes", + "brate s", + "] --;Ċ", + "Ġtraged ies", + "ĠPed iatrics", + "ĠPediatric s", + "SM ART", + "- API", + "-A PI", + "ĠMessage Lookup", + "ĉ vo", + "ĉv o", + "Ġprejud ices", + "Ġprejudice s", + "Ġ mA", + "Ġm A", + "U ps", + "Up s", + "ĠMISS ING", + "ĉ ad", + "ĉa d", + "C ream", + "Cre am", + "Cr eam", + "ĠT b", + "ĠM ona", + "ĠMon a", + "ĠMo na", + "_ ghost", + "_g host", + "ĉ types", + "ĉt ypes", + "ĉtype s", + "ĉtyp es", + "E mb", + "Em b", + "ĠDocument ary", + "' );ĊĊĊĊ", + "') ;ĊĊĊĊ", + "');Ċ ĊĊĊ", + "');ĊĊ ĊĊ", + "'); ĊĊĊĊ", + "');ĊĊĊ Ċ", + "Ġl up", + "Ġlu p", + "_ Reference", + "_Re ference", + "_Ref erence", + "ĠB ATCH", + "ĠBAT CH", + "Ġintertw ined", + "< Cell", + "", + "Ġf oyer", + "Ġfo yer", + "'util isation", + "ĠMü ller", + "ĠFet ish", + "Ġdefault Manager", + "Ġback track", + "B ah", + "Ba h", + "Exp licit", + "Expl icit", + "_ ASCII", + "_A SCII", + "_ASC II", + "Ġm Activity", + "( Msg", + "(M sg", + "Ġ ê²Į", + "Ġê² Į", + "ĠTER MS", + "ĠTERM S", + "ĠAn gie", + "ĠAng ie", + "H SV", + "HS V", + "ĠMos que", + ". Names", + ".N ames", + ".Name s", + "íĬ ¼", + "r este", + "re ste", + "res te", + "rest e", + "_ parms", + "_p arms", + "_par ms", + "_pa rms", + "_parm s", + "Ġg aping", + "Ġgap ing", + "Ġga ping", + "Ġc ropping", + "Ġcr opping", + "Ġcro pping", + "Ġcrop ping", + "Data Frame", + "Ġrespons iveness", + "Ġresponsive ness", + "_ undo", + "_un do", + "_u ndo", + "_ tran", + "_t ran", + "_tr an", + "_tra n", + ". terminate", + ".term inate", + "Ġitalian e", + "Ġitalia ne", + "Ġwalk through", + "Ġattract iveness", + "Ġattractive ness", + "д е", + "_ STS", + "_S TS", + "_ST S", + "_ learn", + "_l earn", + "_le arn", + "Ġchocolate s", + "Ġchocol ates", + "ier archical", + "- thinking", + "-th inking", + "Ġ )))", + "Ġ) ))", + "Ġ)) )", + "ish ments", + "ishment s", + ".Log f", + ".Lo gf", + "ĠT MZ", + "ĠTM Z", + "ĠCan ary", + "f oil", + "fo il", + "ĠV accine", + "ĠVacc ine", + ". vx", + ".v x", + "ĠSur round", + "Inter mediate", + "Ġ iov", + "Ġi ov", + "Ġio v", + "v ais", + "va is", + "' ;\";Ċ", + "'; \";Ċ", + "ï½ŀ ĊĊ", + "éĢģ æĸĻ", + "â̦ it", + "Se ats", + "Sea ts", + "Seat s", + "C lar", + "Cl ar", + "Cla r", + "W ars", + "War s", + "Wa rs", + "ĠHutch inson", + "ĠH asan", + "ĠHas an", + "ĠHa san", + "! ')ĊĊ", + "!' )ĊĊ", + "!')Ċ Ċ", + "ĠRich ie", + "ĠRi chie", + "che iden", + "cheid en", + "( $('", + "($ ('", + "($( '", + "Y ork", + "Yo rk", + "Ġl ids", + "Ġli ds", + "Ġlid s", + "Ġal phanumeric", + "Ġalpha numeric", + "ĠG lock", + "ĠGl ock", + "ĠGlo ck", + ". shapes", + ".sh apes", + ".shape s", + ".sha pes", + "Ġsp arking", + "Ġspark ing", + "Ġspar king", + "_ epsilon", + "_e psilon", + "_eps ilon", + "up licated", + "uplic ated", + "uplicate d", + ". dirty", + ".d irty", + ".dir ty", + "] )==", + "]) ==", + "ĠìľĦ ì¹ĺ", + "Ġs cn", + "Ġsc n", + "Ġ /****************************************************************", + "Ġ/ ****************************************************************", + "_PRE VIEW", + "_ HC", + "_H C", + "ield ing", + "iel ding", + "f gets", + "fg ets", + "ĠAdd ison", + "Ġproduct Service", + "- figure", + "-f igure", + "( retval", + "(ret val", + "z ano", + "za no", + "zan o", + "Ġaut ob", + "Ġauto b", + "ĉ sd", + "ĉs d", + "_ numer", + "_n umer", + "_num er", + "ĠSet LastError", + "ĠF ior", + "ĠFi or", + "ific ance", + "ifica nce", + "Unt itled", + "Ġin field", + "Ġinf ield", + "Ġ{ }));Ċ", + "Ġ{} ));Ċ", + "Ġ{}) );Ċ", + "Ġs pac", + "Ġsp ac", + "Ġspa c", + "Ġr ookies", + "Ġro okies", + "Ġrookie s", + "(des cribing", + "n gen", + "ng en", + "nge n", + "ி à®", + ". rdf", + ".r df", + ".rd f", + ". Mutex", + ".M utex", + "Ġkne eling", + "Ġknee ling", + "Ġ QE", + "ĠQ E", + "set Max", + "Read Stream", + "Ġ ventas", + "Ġvent as", + "Ġven tas", + "Ġventa s", + "s ut", + "su t", + "cm peq", + "cmp eq", + ".WriteAll Text", + "ĠEx perienced", + "ĠExperience d", + "$ __", + "$_ _", + "Ġka um", + "ĠL IS", + "ĠLI S", + "Ġdocument os", + "Ġdocumento s", + "_HE ALTH", + "i contains", + "icon tains", + "icont ains", + "Ġart isans", + "Ġartisan s", + "OW NER", + "OWN ER", + "Ġb linked", + "Ġblink ed", + "get Display", + "Ġt oen", + "Ġto en", + "Ġtoe n", + "Ġrow Num", + "Ġav ril", + "Ġin vis", + "Ġinv is", + "ĠK ear", + "ĠKe ar", + "toBe InTheDocument", + "a pur", + "ap ur", + "Ġr acked", + "Ġrac ked", + "Ġrack ed", + "ĠMc Master", + "ĠMcM aster", + "_ATTR IB", + "H az", + "Ha z", + "Ġfact ura", + "Ġfac tura", + "/ ts", + "/t s", + "ĠÑĢаз меÑĢ", + "ĠÑĢазм еÑĢ", + "Ġ zf", + "Ġz f", + "Ġshort fall", + ". fasta", + ".f asta", + ".fast a", + ".fa sta", + "ĠCONST ANT", + ". managed", + ".man aged", + ".manage d", + "g ems", + "ge ms", + "gem s", + "Shared Pointer", + "Ġbl urry", + "Ġblur ry", + "b rightness", + "bright ness", + "( components", + "(com ponents", + "(component s", + "(comp onents", + "Ġ ...\"ĊĊ", + "Ġ... \"ĊĊ", + "Ġ.. .\"ĊĊ", + "Ġ...\" ĊĊ", + "Ġ...\"Ċ Ċ", + "S ELL", + "SE LL", + "SEL L", + "ĠIllustr ator", + ".get Channel", + "Ġtrou vé", + "y sters", + "yst ers", + "ys ters", + "yster s", + "Ġv ois", + "Ġvo is", + "Ġvoi s", + "ĠL inden", + "ĠLin den", + "ĠLind en", + "Ġem ojis", + "Ġemoji s", + "Ġemo jis", + "Ġb rawl", + "Ġbr awl", + "Ġbra wl", + "ĠM SR", + "ĠMS R", + "ĠE lo", + "ĠEl o", + "ĠCroat ian", + "ĠCroatia n", + "Popup Menu", + "L ewis", + "Le wis", + ". JWT", + ".J WT", + "Ġaston ished", + "B ush", + "Bus h", + "Bu sh", + "( itemId", + "(item Id", + "Ġdet achment", + "Ġdetach ment", + "ĠEn core", + "ĠEnc ore", + "å° Ķ", + "Ġre kl", + "Ġr ekl", + "Ġrek l", + "Ġc ram", + "Ġcr am", + "Ġcra m", + ") $/", + ")$ /", + ".get Host", + "_ recommend", + "_re commend", + "- HT", + "-H T", + "_cal ibration", + "Auth enticate", + ".firebase app", + "UN IX", + "ĉ Camera", + "ĉC amera", + "ĠHE AP", + "I deal", + "Ide al", + ". office", + ".off ice", + "Ġgoof y", + "Ġgoo fy", + "( Symbol", + "(S ymbol", + "Ġjo uer", + "Ġjou er", + "_part itions", + "_partition s", + "Ġrapid ement", + "Ġrapide ment", + "ĠGNU NET", + "ĠGN UNET", + "id User", + "Ġsuper vise", + "Ġsuperv ise", + "( Contact", + "A WN", + "AW N", + "ãģ ĺ", + "Ġna am", + "Ġa ust", + "Ġau st", + "Ġaus t", + "åľ¨ 线", + "_ softmax", + "_soft max", + "Allow Anonymous", + "amm able", + "amma ble", + "RO UTE", + "ROUT E", + "* D", + "Ġ aden", + "Ġa den", + "Ġad en", + "Ġade n", + "ĠCrist ina", + "ĠCrist iano", + "Ġblood stream", + "sub class", + "_ persona", + "_person a", + "CH ILD", + "- know", + "-k now", + "Ġnavigation Options", + "ĠZuk unft", + "ĠPix ar", + "Ty ler", + "Ġunder world", + "Ġsincer ity", + "Ġdisp enser", + "Ġdispens er", + "Ġk ter", + "Ġkt er", + "id ders", + "idd ers", + ".add Node", + "- checked", + "-check ed", + "Ġkey st", + "Ġke yst", + "Ġkeys t", + "ĠW TO", + "ĠWT O", + ". signals", + ".sign als", + ".signal s", + "Ġadvent urer", + "Ġadventure r", + "ĠP ang", + "ĠPan g", + "ĠPa ng", + "\\ R", + "= pos", + "=p os", + "Ġdispens aries", + "ĠClose t", + "ĠClo set", + "(\" {\\\"", + "(\"{ \\\"", + "id eon", + "ide on", + "ideo n", + "Ġnécess aire", + "( )\"Ċ", + "() \"Ċ", + "()\" Ċ", + "_RECE IVED", + "Ġrésult ats", + "Ġm oden", + "Ġmod en", + "Ġmode n", + "Ġmo den", + "ĠIceland ic", + "; d", + ". allowed", + ".all owed", + ".allow ed", + "(new User", + "Ġmerc iless", + ".Wait For", + "Ġday care", + "ĠCon veyor", + "Ġ Ù", + "ا Ù", + "า à¸", + "Ñ Ł", + "ÑŁ ÑŁ", + "Ġ à¸", + "Ġà ¸", + "à¹Ģ à¸", + "i á»", + "ãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢ", + "Ġ اØ", + "Ġا Ø", + "ॠĪ", + "Ġ ãĢĢ", + "ĠãĢ Ģ", + "Ñ Ĺ", + "i á»ĩ", + "iá» ĩ", + "ÑŁ ÑŁÑŁÑŁ", + "ÑŁÑŁ ÑŁÑŁ", + "ÑŁÑŁÑŁ ÑŁ", + "à¥ĩ à¤Ĥ", + "à¥ĩठĤ", + "Ñĸ д", + "ा र", + "ाठ°", + "ÙĨ د", + "Ñĸ в", + "Ġ ब", + "Ġठ¬", + "Ġ à¤ľ", + "Ġठľ", + "à ¥¤", + "ॠ¤", + "н Ñĸ", + "ठĹ", + "Ġ Ø¢", + "ĠØ ¢", + "Ġ न", + "Ġठ¨", + "Ñ Ķ", + "Ġ ÑĢа", + "ĠÑĢ Ð°", + "Ġ à¤ħ", + "Ġठħ", + "Ñģ ÑĮ", + "Ġ व", + "Ġठµ", + "ÑĨ Ñĸ", + "Ġv á»", + "³ ت", + "Ġ द", + "Ġठ¦", + "n ÄĽ", + "Ġ ल", + "Ġठ²", + "Ġ ãĢĢĠãĢĢ", + "ĠãĢĢ ĠãĢĢ", + "ĠãĢĢĠ ãĢĢ", + "ॠĤ", + "ठ¦", + "à¸Ń à¸ĩ", + "ÙĪ ÙĨ", + "ठµ", + "a ÅŁ", + "๠Ĥ", + "ι κ", + "Ġ र", + "Ġठ°", + "Ġ ви", + "Ġв и", + "à¥į य", + "à¥įठ¯", + "ा न", + "ाठ¨", + "Ġ از", + "Ġا ز", + "ĠØ§Ø ²", + "ا Ùĩ", + "ا٠ĩ", + "Ľ i", + "Ġh á»", + "à¥ĭ à¤Ĥ", + "i ế", + "ĠÄij á»", + "ठ¯", + "Ï į", + "Ġc á»§", + "Ġ بر", + "Ġب ر", + "Ġ ÙħÛĮ", + "ĠÙħ ÛĮ", + "Ġ اÛĮ", + "Ġا ÛĮ", + "Ġ à¤Ĩ", + "ĠठĨ", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ि य", + "िठ¯", + "ÑŁÑŁÑŁÑŁ ÑŁÑŁÑŁÑŁ", + "в и", + "ر د", + "н Ñĥ", + "ÙĬ ÙĨ", + "ι α", + "Ġ त", + "Ġठ¤", + "Ñĩ и", + "Ġ à¤ķर", + "Ġà¤ķ र", + "ا ز", + "Ø§Ø ²", + "a ÄŁ", + "Ġ à¤ī", + "Ġठī", + "ठ¬", + "ÏĦ α", + "ت ر", + "Ùĩ ا", + "ร ะ", + "j ÃŃ", + "Î ij", + "а ÑĤи", + "аÑĤ и", + "Ġ à¤Ĺ", + "ĠठĹ", + "Ġ ÑĤа", + "ĠÑĤ а", + "Ú Ĩ", + "ठľ", + "า à¸Ļ", + "าภĻ", + "Ġ à¤Ń", + "ĠठŃ", + "ि à¤ķ", + "िठķ", + "á v", + "Ġ Ú¯", + "Ï İ", + "า ย", + "าภ¢", + "Ġ à¤Ķ", + "ĠठĶ", + "ÅĻ ÃŃ", + "ا ÙĪ", + "ا٠Ī", + "Ġ Ñī", + "ĠÑ ī", + "Ġ à¤Ķर", + "Ġà¤Ķ र", + "ен нÑı", + "Ġ Ú©Ùĩ", + "ĠÚ© Ùĩ", + "ठ¡", + "ÏĦ ο", + "ε ι", + "Ġ à¤ĩ", + "Ġठĩ", + "à¥į त", + "à¥įठ¤", + "ठŁ", + "Û ±", + "Ġ ØĮ", + "ĠØ Į", + "Ïģ ο", + "η ÏĤ", + "ë ¬", + "Ñĸ н", + "i á»ģ", + "iá» ģ", + "i ên", + "iê n", + "Ġ вÑĸд", + "Ġв Ñĸд", + "ĠвÑĸ д", + "d ı", + "ÙĦ ÛĮ", + "Ġ ز", + "ĠØ ²", + "Ïģ α", + "Ġ ÛĮ", + "า à¸ĩ", + "าภĩ", + "Ġth á»", + "Ġ à¹Ģà¸", + "Ġà¹Ģ à¸", + "i á»ĩn", + "iá»ĩ n", + "ا ÙĬ", + "ا٠Ĭ", + "ан нÑı", + "ÑĢ Ðµ", + "Î Ł", + "å Ĵ", + "ا Ø´", + "Ø§Ø ´", + "ा ल", + "ाठ²", + "ëħ Ħ", + "Ġ य", + "Ġठ¯", + "Ġ را", + "Ġر ا", + "ठ¼", + "Ñĥ в", + "ÙĪ Ùħ", + "Ġ عÙĦ", + "Ġع ÙĦ", + "ί α", + "à¥Ī à¤Ĥ", + "à¥ģ à¤", + "า ม", + "าภ¡", + "Ġm á»Ļt", + "Ġ à¤ı", + "Ġठı", + "ãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢ", + "Ġ पर", + "Ġप र", + "Ġ اÙĨ", + "Ġا ÙĨ", + "Ġ اÛĮÙĨ", + "Ġا ÛĮÙĨ", + "ĠاÛĮ ÙĨ", + "Ġv Ỽi", + "Ġvá» Ľi", + "Î £", + "ठļ", + "Û °", + "i á»ĥ", + "iá» ĥ", + "า à¸ģ", + "าภģ", + "Î Ļ", + "ا ع", + "Ø§Ø ¹", + "Ñĸ й", + "à¹ģ ล", + "Ùĩ اÛĮ", + "Ùĩا ÛĮ", + "Ñĩ а", + ". :.:", + ".: .:", + ".:. :", + "ÏĦ η", + "Ġ Îij", + "ĠÎ ij", + "ر ÛĮ", + "Ġn gh", + "Ġng h", + "ν α", + "à¹ĥ à¸Ļ", + "ि त", + "िठ¤", + "Ġ και", + "Ġκ αι", + "Ġκα ι", + "ÏĦ ε", + "à¥į à¤Ł", + "à¥įठŁ", + "μ α", + "л Ñĥ", + "ý m", + "ÏĢ Î¿", + "à¥Ī ।", + "ï¼ ¼", + "ر ÙĬ", + "н иÑħ", + "ни Ñħ", + "Ïģ ι", + "Ù Ģ", + "ÑĢ Ð¾", + "Ġ à¤ļ", + "Ġठļ", + "ा त", + "ाठ¤", + "ا ÙĤ", + "ا٠Ĥ", + "Ġ श", + "Ġठ¶", + "ĠÄij á»Ļ", + "ĠÄijá» Ļ", + "é ho", + "iá»ģ u", + "ภ¨", + "Ñĸ лÑĮ", + "Ñĸл ÑĮ", + "uy á»", + "Û ²", + "Ġn Äĥ", + "Ïī ν", + "Ġ ÏĦοÏħ", + "ĠÏĦ οÏħ", + "ĠÏĦο Ïħ", + "к ий", + "ки й", + "í ĸ", + "Ġ Ñīо", + "ĠÑī о", + "à¥į व", + "à¥įठµ", + "Ġ اÙĦØ£", + "ĠاÙĦ Ø£", + "ا ئ", + "Ø§Ø ¦", + "t ı", + "Ġ ÏĦο", + "ĠÏĦ ο", + "¬ ¬", + "Ġ Ø·", + "ĠØ ·", + "Ùħ اÙĨ", + "Ùħا ÙĨ", + "Ġ Îł", + "ĠÎ ł", + "д и", + "ภ¶", + "ि à¤ı", + "िठı", + "ãģ£ ãģŁ", + "ãģ£ãģ Ł", + "ÛĮ Ùħ", + "ÃŃ nh", + "ÃŃn h", + "r av", + "ra v", + "ÄĽ t", + "Î ķ", + "Ġ Ñıк", + "ĠÑı к", + "ç Ĥ", + "à¸Ń à¸Ļ", + "ãģ¦ ãģĦ", + "ि ल", + "िठ²", + "Ñĸ ÑĤ", + "з а", + "á p", + "ठ§", + "Ġ êµ", + "Ġê µ", + "à¹ģ ละ", + "à¹ģล ะ", + "ÃŃ ch", + "ÃŃc h", + "Ġ Ø¢ÙĨ", + "ĠØ¢ ÙĨ", + "ت Ùĩ", + "Ġ Ùħع", + "ĠÙħ ع", + "н ий", + "ни й", + "Æ°á»Ľ c", + "Ġ اÙĦع", + "Ġا ÙĦع", + "ĠاÙĦ ع", + "ر ب", + "ा म", + "ाठ®", + "Ġ رÙĪ", + "Ġر ÙĪ", + "é «", + "ı y", + "Ġh á»į", + "Ġhá» į", + "ÑĤÑĮ ÑģÑı", + "Ġ Îļ", + "ĠÎ ļ", + "Ġ à¤ĩस", + "Ġà¤ĩ स", + "ï¼ ¿", + "Ġ ÚĨ", + "Ġ ÙĪØ§ÙĦ", + "ĠÙĪ Ø§ÙĦ", + "ĠÙĪØ§ ÙĦ", + "íķ Ļ", + "ÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁ ÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁ", + "Ġ vý", + "Ġv ý", + "ि स", + "िठ¸", + "ữ ng", + "س ÛĮ", + "Ġ ìĥ", + "Ġì ĥ", + "ा à¤Ĥ", + "ाठĤ", + "ï½ ¤", + "à¹ĩ à¸Ļ", + "Ġ थ", + "Ġठ¥", + "l arak", + "la rak", + "lar ak", + "lara k", + "â y", + "t ÄĽ", + "ν ο", + "Ġ ÙħÙĪ", + "ĠÙħ ÙĪ", + "Ġng ưá»Ŀi", + "å ¦", + "ÙĬ د", + "il ir", + "ili r", + "ا ØŃ", + "Ø§Ø Ń", + "Ġ ãĢ", + "Ù ĭ", + "Ġ ÑĢоз", + "ĠÑĢ Ð¾Ð·", + "Ġ й", + "ĠÐ ¹", + "Ġd ụ", + "à¹Ģ à¸Ľ", + "à¹ĢภĽ", + "ั à¸ĩ", + "л е", + "ा य", + "ाठ¯", + "ï¿ £", + "ÙĪ Ø§ÙĨ", + "ÙĪØ§ ÙĨ", + "Ġth á»ĥ", + "Ġthá» ĥ", + "ã ĥ½", + "ãĥ ½", + "ü ÅŁ", + "ç Ł", + "Ġ ο", + "ĠÎ ¿", + "Ġ Σ", + "ĠÎ £", + "ÛĮ ت", + "ั à¸ģ", + "Î ¤", + "Ġ à¤ıà¤ķ", + "Ġà¤ı à¤ķ", + "Ġ ÙĩÙħ", + "ĠÙĩ Ùħ", + "ìĽ Ķ", + "Ġ Îľ", + "ĠÎ ľ", + "Ġ à¸Ħ", + "ĠภĦ", + "¯ ¸", + "ا رÛĮ", + "ار ÛĮ", + "ि न", + "िठ¨", + "Ġnh ững", + "Ġnh ư", + "и ÑĤи", + "иÑĤ и", + "ãĥ³ ãĥ", + "à¹Ģ ร", + "à¹Ģภ£", + "Ġ ÐĽ", + "ĠÐ Ľ", + "ÑĢ Ñĸ", + "á d", + "ü y", + "i ye", + "iy e", + "Ġ Îķ", + "ĠÎ ķ", + "Ġ ส", + "Ġภª", + "Ïĥ η", + "Ġ ë¬", + "Ġë ¬", + "ï »", + "ठ£", + "Î Ĺ", + "ठ¶", + "Ġ ÙħØŃ", + "ĠÙħ ØŃ", + "ÙĦ ÙĬ", + "Ġ με", + "Ġμ ε", + "Ġp ÅĻÃŃ", + "ĠpÅĻ ÃŃ", + "Î Ŀ", + "à¥į ष", + "à¥įठ·", + "t ir", + "ti r", + "ر اÙĨ", + "را ÙĨ", + "ĠÄij á»ĭ", + "ĠÄijá» ĭ", + "Ġ коÑĤ", + "Ġк оÑĤ", + "Ġко ÑĤ", + "к ÑĢа", + "λ ο", + "Ġ ÏĦη", + "ĠÏĦ η", + "Ñī е", + "ÏĦ ικ", + "ÏĦι κ", + "ั à¹ī", + "i ết", + "iế t", + "α ν", + "í Ķ", + "к иÑħ", + "ки Ñħ", + "Ġ поÑģ", + "Ġп оÑģ", + "Ġпо Ñģ", + "t ır", + "tı r", + "à¥į म", + "à¥įठ®", + "ر Ùģ", + "ÄĽ l", + "ठŃ", + "o vé", + "ov é", + "Ġl á»", + "à¹Ħ à¸Ķ", + "ãģª ãģĦ", + "ภ©", + "i á»ĩu", + "iá»ĩ u", + "Î ¾", + "Ġ عÙĦÙī", + "Ġع ÙĦÙī", + "ĠعÙĦ Ùī", + "д Ñĥ", + "Ġdụ ng", + "а ÑĢа", + "аÑĢ Ð°", + "ा द", + "ाठ¦", + "o ž", + "ÙĦ Ùĩ", + "ÙĦ Ùħ", + "н оÑĹ", + "но ÑĹ", + "Û± Û", + "à¸Ĥ à¸Ńà¸ĩ", + "Î ¡", + "à¥Ģ à¤Ĥ", + "Ġ пÑĸд", + "Ġп Ñĸд", + "Ġ फ", + "Ġठ«", + "ภĺ", + "ε ÏĤ", + "ा स", + "ाठ¸", + "à¹ĥ ห", + "о ва", + "ов а", + "ت ÛĮ", + "à¸Ń ย", + "ภį", + "Ġn Äĥm", + "ĠnÄĥ m", + "ÏĦ ι", + "ÙĪ ÛĮ", + "Ġ мÑĸ", + "Ġм Ñĸ", + "Ġ اÙħ", + "Ġا Ùħ", + "ÏĢ ÏĮ", + "Ġ zá", + "Ġz á", + "ठĪ", + "Ġ à¤ĸ", + "Ġठĸ", + "Ġ nÄĽ", + "Ġn ÄĽ", + "c ÃŃ", + "ÙĨ Ú¯", + "Ñģ и", + "Î ¶", + "n á", + "Ŀ i", + "Å ©", + "Ø ¦", + "Ġ اÙĦس", + "Ġا ÙĦس", + "ĠاÙĦ س", + "á»ij c", + "Ạ½", + "ا ج", + "Ø§Ø ¬", + "Ùħ ا", + "êµ Ń", + "о Ñİ", + "د ر", + "à¹Ģ à¸ģ", + "à¹Ģภģ", + "ภł", + "à ¡ng", + "á ng", + "án g", + "íķ ©", + "Ġ ÏĦηÏĤ", + "ĠÏĦ ηÏĤ", + "ĠÏĦη ÏĤ", + "Ġ Ñĸн", + "ĠÑĸ н", + "о ÑĹ", + "à¥ĩ श", + "à¥ĩठ¶", + "ภĭ", + "à¥ĭ à¤Ĺ", + "л Ñĸ", + "Ġp ÅĻed", + "ĠpÅĻ ed", + "ĠpÅĻe d", + "Äį nÃŃ", + "Ġ ка", + "Ġк а", + "Ġ Τ", + "ĠÎ ¤", + "á»Ļ i", + "v ÃŃ", + "ÑĢ Ñı", + "ा à¤ľ", + "ाठľ", + "а Ñħ", + "ि र", + "िठ°", + "า ส", + "าภª", + "d ır", + "dı r", + "Ø ¢", + "Î ļ", + "Ġ ÎŃ", + "ĠÎ Ń", + "Ġt ại", + "iá»ĩ c", + "i ến", + "iế n", + "Ġ غ", + "ĠØ º", + "ا Ø®", + "Ø§Ø ®", + "Ġ اÙĦØŃ", + "Ġا ÙĦØŃ", + "ĠاÙĦ ØŃ", + "Ġ бÑĥ", + "Ġб Ñĥ", + "Ġv á»ģ", + "Ġvá» ģ", + "м Ñĸ", + "Ùħ ÙĦ", + "m Ä±ÅŁ", + "à¸Ľ ระ", + "à¸Ľà¸£ ะ", + "ο Ïį", + "ε ί", + "Ġर ह", + "н им", + "ни м", + "ع د", + "Ġ باÙĦ", + "Ġب اÙĦ", + "Ġبا ÙĦ", + "¤ ij", + "ç ł", + "Ġo lm", + "Ġol m", + "Ïİ Î½", + "Ġh á»įc", + "Ġhá»į c", + "ا ست", + "Ø§Ø ³Øª", + "اس ت", + "า ว", + "าภ§", + "ÙĪ Ø¨", + "Ñĸ Ñı", + "Ġ ÙĩاÛĮ", + "ĠÙĩ اÛĮ", + "ĠÙĩا ÛĮ", + "ë§ Ī", + "ॠĮ", + "Ġ ÄĮ", + "ĠÄ Į", + "ठı", + "ا دÙĩ", + "اد Ùĩ", + "Ġ اÙĪ", + "Ġا ÙĪ", + "н Ñĭм", + "нÑĭ м", + "Ạ±", + "Ùħ ÙĨ", + "iá»ĩ t", + "l aÅŁ", + "la ÅŁ", + "Ñĸ з", + "ÙĪ Ø³", + "Ġl Ãłm", + "ĠlÃł m", + "ĠÄij ến", + "ĠÄijế n", + "प न", + "Ġ ÛĮÚ©", + "ĠÛĮ Ú©", + "Ġ ÙĦÙĦ", + "ĠÙĦ ÙĦ", + "Ġ mÄĽ", + "Ġm ÄĽ", + "Ġ براÛĮ", + "Ġبر اÛĮ", + "ा ह", + "ाठ¹", + "Ġ Ùħر", + "ĠÙħ ر", + "e ç", + "à¸Ń ร", + "ε Ïģ", + "ั à¸Ķ", + "к он", + "ко н", + "n ou", + "no u", + "Ġ год", + "Ġг од", + "ู à¹ī", + "à¹Ģ ล", + "à¹Ģภ¥", + "Ú ĺ", + "ĠÄij á»ĭnh", + "ĠÄijá»ĭ nh", + "ĠÄij ó", + "а нов", + "ан ов", + "ано в", + "Ġ Ù쨱", + "ĠÙģ Ø±", + "ا رد", + "ار د", + "Ñĸ ÑĹ", + "à¸Ħ ร", + "à¥į थ", + "à¥įठ¥", + "c ak", + "ca k", + "ÑĨ ÑĸÑĹ", + "ÑĨÑĸ ÑĹ", + "Ġ ãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ĠãĢĢĠ ãĢĢĠãĢĢĠãĢĢ", + "Ùĩ ر", + "ॠī", + "Ġg iá»", + "Ġgi á»", + "í Ĩ", + "âĢĮ ÙĩاÛĮ", + "âĢĮÙĩا ÛĮ", + "à¥ģ र", + "à¥ģठ°", + "Ġ à¸ģ", + "Ġภģ", + "Å Ī", + "æ ¨", + "ÎŁ Î", + "า à¸Ħ", + "าภĦ", + "кÑĢа ÑĹ", + "ả o", + "o ÄŁ", + "Ġ सम", + "Ġस म", + "Ġv iá»ĩc", + "Ġs ẽ", + "Ġ ná", + "Ġn á", + "ÙĬ Ùħ", + "£ p", + "ö y", + "ÙĪ Ø²", + "Ġ κα", + "Ġκ α", + "Ùħ د", + "n ÃŃm", + "nÃŃ m", + "o vá", + "ov á", + "ा व", + "ाठµ", + "ा ।", + "à¥į स", + "à¥įठ¸", + "ç ·", + "ặ c", + "Ġ à¸ŀ", + "Ġภŀ", + "ï½ Ģ", + "ô i", + "Ġ ợ", + "Ġá» Ł", + "ο ÏĤ", + "Ġtr ên", + "м Ñĥ", + "ÑģÑĮ к", + "ภŁ", + "o vat", + "ov at", + "ova t", + "Ġm á»", + "í ı", + "Ġ во", + "Ġв о", + "ε ν", + "à¥Ĥ र", + "Ú¯ اÙĩ", + "ĠÄij á»Ļng", + "ĠÄijá»Ļ ng", + "Ú© ÙĨ", + "Ñī и", + "Ġ пÑĢа", + "Ġп ÑĢа", + "ĠпÑĢ Ð°", + "ü rk", + "ür k", + "ÙĪ Ø¹", + "ấ p", + "n ý", + "Ġ quan", + "Ġqu an", + "Ġq uan", + "Ġqua n", + "Ñĸ Ñĩ", + "Ġ να", + "Ġν α", + "Ġन ह", + "Ġ Ú©ÙĨ", + "ĠÚ© ÙĨ", + "c ı", + "çĿ Ģ", + "б о", + "Ġ اس", + "Ġا س", + "ĠØ§Ø ³", + "è »", + "ا ÙĨÛĮ", + "اÙĨ ÛĮ", + "à¸ķ ร", + "ÏĦ ά", + "Ġ Ø£ÙĨ", + "ĠØ£ ÙĨ", + "éĤ £", + "Ġ ม", + "Ġภ¡", + "к ÑĤ", + "i ê", + "Ġhá» £p", + "ت Ùħ", + "Ġ بÙĨ", + "Ġب ÙĨ", + "h od", + "ho d", + "ι Ïĥ", + "ห à¸Ļ", + "Ġ ÑĹ", + "ĠÑ Ĺ", + "л ив", + "ли в", + "Ġ کرد", + "ĠÚ© رد", + "Ġکر د", + "Ġ ÙħØ´", + "ĠÙħ Ø´", + "ا Ø·", + "Ø§Ø ·", + "ب ÙĬ", + "Ġ ร", + "Ġภ£", + "د Ùħ", + "ÙĦ اÙħ", + "ÙĦا Ùħ", + "à¹Ī ว", + "Ġ ÙĨÙħ", + "ĠÙĨ Ùħ", + "Ġ æĹ", + "Ġæ Ĺ", + "é ħ", + "н оÑģÑĤ", + "но ÑģÑĤ", + "ноÑģ ÑĤ", + "i á»ĥm", + "iá»ĥ m", + "êµ IJ", + "a yı", + "ay ı", + "Ġ بÙĪØ¯", + "Ġب ÙĪØ¯", + "ĠبÙĪ Ø¯", + "Ú¯ ر", + "Ġh iá»ĩn", + "Ġhi á»ĩn", + "ç ³", + "ÑģÑĤ вен", + "ÑģÑĤв ен", + "ÑģÑĤве н", + "Ġà¤ķर न", + "Ġ ÏĦην", + "ĠÏĦ ην", + "ĠÏĦη ν", + "Ġ à¸Ń", + "ĠภŃ", + "Ġ Ùħت", + "ĠÙħ ت", + "ģ n", + "ج Ùħ", + "λ λ", + "Ġ ÑĢе", + "ĠÑĢ Ðµ", + "ิ à¸Ķ", + "Ġ اÙĦÙĤ", + "Ġا ÙĦÙĤ", + "ĠاÙĦ ÙĤ", + "α Ïģ", + "Ġ यह", + "Ġय ह", + "n ÃŃch", + "nÃŃ ch", + "ÑĶ ÑĤÑĮÑģÑı", + "Ġ à¸Ĺ", + "ĠภĹ", + "ÛĮ Ø´", + "ÅĻ e", + "Ġn ebo", + "Ġne bo", + "Ġneb o", + "Ġ Ñĩа", + "ĠÑĩ а", + "l ou", + "lo u", + "ÑģÑĤ во", + "ÑģÑĤв о", + "Ġ Ч", + "ĠÐ §", + "à¸Ħ ว", + "Ùĩ Ùħ", + "à¹Ģ à¸Ķ", + "à¹ĢภĶ", + "Ġ à¹ģ", + "Ġ à¹Ĥ", + "Û ³", + "Å© ng", + "Ġ nej", + "Ġn ej", + "Ġne j", + "ÛĮ Ú©", + "Ġs á»Ń", + "Ùģ Ø±", + "Î ł", + "Ġп ок", + "Ġпо к", + "ĠاÙĦ ÙĨ", + "Ġv Å¡", + "á º«", + "Ạ«", + "Ġnh Ãł", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ή ÏĤ", + "ο Ïģ", + "Ġ Ïĩ", + "ĠÏ ĩ", + "à¹Ģ à¸Ĺ", + "à¹ĢภĹ", + "Ñĥ лÑĮ", + "Ñĥл ÑĮ", + "ãħ ĩ", + "Ġ yıl", + "Ġy ıl", + "Ġyı l", + "ÑĢ Ð¾Ð´", + "ÑĢо д", + "ί ν", + "ìĹ Īëĭ¤", + "ìĹĪ ëĭ¤", + "ا ص", + "Ø§Ø µ", + "ĠÄij ầu", + "à¥ĩ à¤ķ", + "à¥ĩठķ", + "ÑĢ Ð¾Ð¼", + "ÑĢо м", + "ãģĵ ãģ¨", + "Ġ ار", + "Ġا ر", + "ĠØ§Ø ±", + "å¥ ¹", + "Ġ تØŃ", + "Ġت ØŃ", + "Å¡ tÄĽ", + "Å¡t ÄĽ", + "à¥į ल", + "à¥įठ²", + "à¥į à¤ķ", + "à¥įठķ", + "Ġ کار", + "ĠÚ© ار", + "u jÃŃ", + "uj ÃŃ", + "Ġ à¤īन", + "Ġà¤ī न", + "Ġ αÏĢÏĮ", + "Ġα ÏĢÏĮ", + "ĠαÏĢ ÏĮ", + "Ġm Ãł", + "ž ÃŃ", + "Ġ à¸Ī", + "ĠภĪ", + "a lı", + "al ı", + "ठ«", + "Ñĩ еÑģ", + "Ñĩе Ñģ", + "Ġ عÙĨ", + "Ġع ÙĨ", + "æķ Ļ", + "ï¾ Ĩ", + "ि à¤Ĥ", + "िठĤ", + "Ġs á»±", + "в оÑĢ", + "во ÑĢ", + "Ġth á»±c", + "ë į°", + "ëį °", + "ãģ¦ ãģĦãĤĭ", + "ãģ¦ãģĦ ãĤĭ", + "à¹Ī à¸ĩ", + "ت ب", + "Ġnh iá»ģu", + "ĥ n", + "ĠÄij á»ĵ", + "ĠÄijá» ĵ", + "Ġ ห", + "Ġภ«", + "Û µ", + "m ÄĽ", + "ạ t", + "Ġch ÃŃnh", + "ĠchÃŃ nh", + "ĠchÃŃn h", + "μ ÎŃ", + "an ı", + "Ġb á»ĭ", + "ằ ng", + "ÅĻ ed", + "ÅĻe d", + "é Ł", + "á nh", + "án h", + "ÙĢ ÙĢ", + "Ġ Ùħس", + "ĠÙħ س", + "á»ĭ ch", + "Ä ĥn", + "Äĥ n", + "o vánÃŃ", + "ov ánÃŃ", + "ová nÃŃ", + "ován ÃŃ", + "à¹Ī าà¸ĩ", + "à¹Īา à¸ĩ", + "Ġ à¸Ľ", + "ĠภĽ", + "Ġn Æ°á»Ľc", + "Ð ±Ð¾ÑĤ", + "б оÑĤ", + "бо ÑĤ", + "ı yor", + "ıy or", + "ĠØ® ÙĪØ¯", + "ĠØ®ÙĪ Ø¯", + "Û ¹", + "Ġ Ùħد", + "ĠÙħ د", + "Ġ üz", + "Ġü z", + "ì ½", + "ÙĪ ÙĤ", + "ë¥ ´", + "л ек", + "ле к", + "Ġc ả", + "ол ог", + "оло г", + "à¹ī à¸Ńà¸ĩ", + "à¹īà¸Ń à¸ĩ", + "m iÅŁ", + "mi ÅŁ", + "à¹ī ว", + "Ä ©", + "Î ľ", + "à¸Ń à¸ģ", + "_ _", + "ठĸ", + "Ġ Я", + "ĠÐ ¯", + "ë ¬´", + "ë¬ ´", + "اÛĮ ÛĮ", + "s ké", + "sk é", + "uy ên", + "e ÅŁ", + "á i", + "ú ng", + "ún g", + "Ãł o", + "Ñĸ Ñģ", + "ç ¶", + "Ġ à¤Ĩप", + "Ġà¤Ĩ प", + "ï º", + "Î Ľ", + "Ġ ê³µ", + "Ġê³ µ", + "Ġ ÐĨ", + "ĠÐ Ĩ", + "Ġà¤ħ पन", + "Ġà¤ħप न", + "ứ ng", + "ÏĮ ÏĤ", + "Ġngh iá»ĩ", + "Ġnghi á»ĩ", + "Ġ اÙĦب", + "Ġا ÙĦب", + "ĠاÙĦ ب", + "à¥ĭ न", + "Ġ à¤Ł", + "ĠठŁ", + "Ġ ìľł", + "Ġìľ ł", + "Ġc Å©ng", + "ĠcÅ© ng", + "Ġà¤ī स", + "Ġ ड", + "Ġठ¡", + "ĠØ´ دÙĩ", + "Ġشد Ùĩ", + "ี à¹ī", + "Û ´", + "ặ t", + "æĸ ¯", + "Ġ ëį", + "Ġë į", + "Ġп л", + "б и", + "ê³ Ħ", + "ο ν", + "Ġç ık", + "Ġçı k", + "Ġbu lun", + "Ġbul un", + "س Ùħ", + "a ç", + "ا ÙĨÙĩ", + "اÙĨ Ùĩ", + "ÛĮ ز", + "l eÅŁ", + "le ÅŁ", + "ắ c", + "ا Ú©", + "Ġस à¤ķ", + "Ġ оÑĢг", + "Ġо ÑĢг", + "ĠоÑĢ Ð³", + "Ġ à¸Ļ", + "ĠภĻ", + "ा थ", + "ाठ¥", + "Ġ ÙħÙĤ", + "ĠÙħ ÙĤ", + "ĠÎĶ E", + "Ñİ ÑĤÑĮ", + "ÑİÑĤ ÑĮ", + "á»Ļ c", + "Ġ η", + "ĠÎ ·", + "s ob", + "so b", + "Ġth eo", + "Ġthe o", + "å ŀ", + "Ġ اÙĦØ´", + "ĠاÙĦ Ø´", + "à¹Ģ à¸ŀ", + "à¹Ģภŀ", + "ÎŃ ÏĤ", + "à¹Ģ à¸Ĥ", + "à¹ĢภĤ", + "å Ļ", + "ि श", + "िठ¶", + "Ġ باز", + "Ġب از", + "Ġبا ز", + "ÑĢ Ð¾Ð±", + "ÑĢо б", + "Ġγ ια", + "μ ε", + "Ġ باش", + "Ġب اش", + "Ġبا Ø´", + "ा à¤ĩ", + "ाठĩ", + "Ġqu y", + "Ġq uy", + "λ ε", + "ا Ùĥ", + "ا٠ĥ", + "Ġ ÑĢок", + "ĠÑĢ Ð¾Ðº", + "Ġ Türk", + "ĠT ürk", + "ĠTür k", + "Ġ Ð¥", + "ĠÐ ¥", + "ÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁ ÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁÑŁ", + "æ ©", + "Ġph ải", + "à¸Ħ วาม", + "à¸Ħว าม", + ": ::", + ":: :", + "l ÃŃ", + "Ġj sou", + "Ġjs ou", + "ÛĮ ÙĦ", + "ál nÃŃ", + "áln ÃŃ", + "Ķ Ķ", + "í ĸī", + "íĸ ī", + "æĥ ³", + "l á", + "Ġ ÏĥÏħ", + "ĠÏĥ Ïħ", + "Ñĭ ва", + "Ñĭв а", + "Ġnh ất", + "à¸Ń ม", + "Û ¸", + "e cek", + "ec ek", + "ece k", + "Ñĸ ÑĢ", + "ÙĪ Ø´", + "λ α", + "Ġ ÎĴ", + "ĠÎ Ĵ", + "о ÑĢа", + "оÑĢ Ð°", + "Ùģ Øª", + "e dir", + "ed ir", + "edi r", + "Ñĥ Ñħ", + "ä¸ ĸ", + "ĠУ кÑĢаÑĹ", + "ĠУкÑĢа ÑĹ", + "Ġ íĶ", + "Ġí Ķ", + "ά ν", + "Ġ شر", + "ĠØ´ ر", + "ĠاÙĦ ج", + "е ÑĢед", + "еÑĢ ÐµÐ´", + "еÑĢе д", + "ìĺ ģ", + "Ġh Ãłnh", + "ï¿£ ï¿£", + "м е", + "ÑİÑĤ ÑģÑı", + "ĠØ¥ ÙĦÙī", + "ĠØ¥ÙĦ Ùī", + "ìĹ ħ", + "Ġ تر", + "Ġت ر", + "к ом", + "ко м", + "Ġ شد", + "ĠØ´ د", + "Ġ اÙĦÙĥ", + "Ġا ÙĦÙĥ", + "ĠاÙĦ Ùĥ", + "Ġ ÏĥÏĦο", + "ĠÏĥ ÏĦο", + "à¥į द", + "à¥įठ¦", + "ëł ¤", + "Ñĥ ваннÑı", + "Ñĥв аннÑı", + "Ġth ì", + "ê ´Ģ", + "ê´ Ģ", + "κ ε", + "س ب", + "íĥ Ģ", + "Ġ ï¼ı", + "Ġï¼ ı", + "Ġ à¹ģละ", + "Ġà¹ģ ละ", + "Ġà¹ģล ะ", + "Ġ ÏĮ", + "ĠÏ Į", + "н иÑĨ", + "ни ÑĨ", + "Ġ ÐĿа", + "ĠÐĿ а", + "Ñı в", + "l ü", + "ι ο", + "ÙĨ دÙĩ", + "ÙĨد Ùĩ", + "ÙĦ Ùĥ", + "Ġng Ãły", + "Ġnh ân", + "Ġ ^{", + "Ġ^ {", + "ॠĥ", + "Ġg erek", + "Ġge rek", + "Ġger ek", + "Ġgere k", + "ا رÙĩ", + "ار Ùĩ", + "Ġc Æ¡", + "Ġ à¸ķ", + "Ġภķ", + "æ Ĥ", + "çĶ °", + "à¥Īà¤Ĥ ।", + "ั ว", + "v ÄĽ", + "ö z", + "и ли", + "ил и", + "Ġph áp", + "Ġphá p", + "ê¸ Ī", + "Ġ ÎŁ", + "ĠÎ Ł", + "Ġp ÅĻi", + "ĠpÅĻ i", + "Ġ ìĸ´", + "Ġìĸ ´", + "Ġд ол", + "Ġдо л", + "ÙĪ Ø±Ø¯", + "ÙĪØ± د", + "à¹Ģ ม", + "à¹Ģภ¡", + "Ïĥ ε", + "า à¸Ĺ", + "าภĹ", + "o Ãłi", + "ร ม", + "Û ¶", + "Ġ à¸ļ", + "Ġภļ", + "i yet", + "iy et", + "iye t", + "ÏĦ αι", + "ÏĦα ι", + "ìĦ ł", + "Ġ εÏĢ", + "Ġε ÏĢ", + "ि व", + "िठµ", + "ê¹ Į", + "г а", + "ĠÑģ лÑĥ", + "ĠÑģл Ñĥ", + "Ġh ình", + "Ġ داÙĨ", + "Ġد اÙĨ", + "Ġà¤Ĺ य", + "ÙĬ ا", + "è ij", + "à¤Ĥ त", + "Ġ ساÙĦ", + "Ġس اÙĦ", + "ëł Ī", + "l erin", + "le rin", + "ler in", + "leri n", + "à¥ĩ त", + "à¥ĩठ¤", + ".: .:.:.:", + ".:.: .:.:", + ".:. :.:.:", + ".:.:.: .:", + ".:.:. :.:", + ".:.:.:. :", + "Ġ ëħ", + "Ġë ħ", + "Ġ اÙĦØ¥", + "ĠاÙĦ Ø¥", + "ả ng", + "ản g", + "è Ħ", + "ο λ", + "п ов", + "по в", + "Ġ θ", + "ĠÎ ¸", + "Û ·", + "Ġn ó", + "Ġd Ã¼ÅŁ", + "Ġdü ÅŁ", + "Ġt iế", + "Ġti ế", + "ÙĪ Ø¬", + "Ġj sem", + "Ġjs em", + "Ạ¡ng", + "ạ ng", + "ạn g", + "ãģĤ ãĤĭ", + "à¸Ń à¸ļ", + "ÙĪ ÙĬ", + "à¤ķ र", + "Ġ де", + "Ġд е", + "¯ ¼", + "Ġ но", + "Ġн о", + "ÑĨ Ñĸй", + "ÑĨÑĸ й", + "Ïĥ ÏĦ", + "к ие", + "ки е", + "Ïĥ ει", + "Ïĥε ι", + "ìķ Ī", + "Ġh Æ¡n", + "Ġà¤ķ ह", + "ا ض", + "Ø§Ø ¶", + "ì ¸", + "ãĥ Ł", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ãĤĪ ãģĨ", + "ा ,", + "е ÑĢи", + "еÑĢ Ð¸", + "ë© °", + "í ĶĦ", + "íĶ Ħ", + "Ġп оÑģÑĤ", + "Ġпо ÑģÑĤ", + "ĠпоÑģ ÑĤ", + "Ø® ر", + "à¥ĭ त", + "â u", + "к ой", + "ко й", + "d aki", + "da ki", + "í ħ", + ": :::::::::::::::", + ":: ::::::::::::::", + ":::: ::::::::::::", + ":::::: ::::::::::", + ":::::::: ::::::::", + "::: :::::::::::::", + "::::: :::::::::::", + "::::::: :::::::::", + "::::::::: :::::::", + ":::::::::: ::::::", + "::::::::::: :::::", + ":::::::::::: ::::", + "::::::::::::: :::", + ":::::::::::::: ::", + "::::::::::::::: :", + "Ġ öz", + "Ġö z", + "ÑĢ Ð°Ð¶", + "ÑĢаР¶", + "ÑĢа ж", + "nÃŃ ho", + "ห ล", + "Ġ ÏĥÏĦη", + "ĠÏĥ ÏĦη", + "ĠÄij á»ģ", + "ĠÄijá» ģ", + "Ġk á»", + "i á»ĥn", + "iá» ĥn", + "iá»ĥ n", + "ÅĻ i", + "Ġkter é", + "¢ ħ", + "ü ç", + "ÙĬ Ùģ", + "Ġ lý", + "Ġl ý", + "Ġth á»Ŀi", + "Ġthá» Ŀi", + "Ġthá»Ŀ i", + "Ġ ìĨĮ", + "ĠìĨ Į", + "н ÑĮ", + "Ð Ĩ", + "ÑĤ ÑĢ", + "à¸ĩ าà¸Ļ", + "к оÑĹ", + "ко ÑĹ", + "μ ο", + "Ġs ür", + "Ġsü r", + "uy á»ģn", + "uyá» ģn", + "Ġ Ùħا", + "ĠÙħ ا", + "à¤Ĥ à¤Ĺ", + "ĠÄij á»ĵng", + "ĠÄijá»ĵ ng", + "ò n", + "à¥ģ ल", + "à¥ģठ²", + "à¥į प", + "à¥įठª", + "λ η", + "Ùħ ر", + "п ÑĢи", + "пÑĢ Ð¸", + "i yle", + "iy le", + "ा प", + "ाठª", + "Ġà¤ħ न", + "Ġ ÑĶ", + "ĠÑ Ķ", + "Ġy ön", + "Ġyö n", + "ÙĦ Ùģ", + "a dır", + "ad ır", + "adı r", + "á ½", + "Ġ ê³ł", + "Ġê³ ł", + "Ø® ص", + "im iz", + "imi z", + "åľ ĭ", + "Ġ над", + "Ġн ад", + "Ġна д", + "Ġ ÅĻ", + "ĠÅ Ļ", + "н оÑģÑĤÑĸ", + "но ÑģÑĤÑĸ", + "ноÑģÑĤ Ñĸ", + "ноÑģ ÑĤÑĸ", + "Ġ اÙģ", + "Ġا Ùģ", + "а нÑĸ", + "ан Ñĸ", + "à¥ĩ à¤Ł", + "à¥ĩठŁ", + "Ġ ë§IJ", + "Ġë§ IJ", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "Ġ ìĬ¤", + "ĠìĬ ¤", + "ิ à¸ķ", + "å Ħ", + "ÛĮ Ùĩ", + "о ÑĪ", + "ž it", + "ži t", + "ìĭ ¤", + "à¥Ģ न", + "Ġ î", + "æ¥ Ń", + "à¥ĩ न", + "à¥ĩठ¨", + "Ġ ذ", + "ĠØ °", + "Ġl oại", + "Ġlo ại", + "à¹Ħ à¸Ľ", + "Ñĸ к", + "Ġ кÑĢа", + "Ġк ÑĢа", + "à¥ĭ र", + "ุ à¸Ķ", + "ĠاÙĦ ر", + "ĠÑģ об", + "ĠÑģо б", + "า à¸Ĭ", + "าภĬ", + "Ġसà¤ķ त", + "Ġ ÎĿ", + "ĠÎ Ŀ", + "ا ÙħÙĩ", + "اÙħ Ùĩ", + "à¹ī าà¸Ļ", + "à¹īา à¸Ļ", + "Ġtr ình", + "Ġtrì nh", + "Ġ اÙĦÙģ", + "Ġا ÙĦÙģ", + "ĠاÙĦ Ùģ", + "Ġ اÙĦد", + "ĠاÙĦ د", + "u nun", + "un un", + "unu n", + "о ÑĤов", + "оÑĤ ов", + "оÑĤо в", + "ư ợ", + "ưỠŁ", + "ĠÑģ во", + "ĠÑģв о", + "ί αÏĤ", + "ία ÏĤ", + "ấ n", + "ог да", + "à¸Ĺ ย", + "Ġb yl", + "Ġby l", + "ØŃ د", + "à¸ģ ล", + "ب Ùĩ", + "Ġ vÄĽ", + "Ġv ÄĽ", + "è¢ «", + "Ġ Ø¢Ùħ", + "ĠØ¢ Ùħ", + "ĠÄij iá»ģu", + "å ¨", + "Ġk dy", + "Ġkd y", + "Ġ بÙĪ", + "Ġب ÙĪ", + "ẫ n", + "ìľ ł", + "ा à¤ķ", + "ाठķ", + "k ů", + "Ġtr ưá»Ŀng", + "ic ké", + "ick é", + "н иÑı", + "ни Ñı", + "Ġ ÏĢοÏħ", + "ĠÏĢ Î¿Ïħ", + "ĠÏĢο Ïħ", + "Æ°á»Ł ng", + "н омÑĥ", + "но мÑĥ", + "ном Ñĥ", + "à¹Ī à¸Ļ", + "ู à¹Ī", + "Ġk ết", + "Ġkế t", + "Ġ ï¼¼", + "Ġï¼ ¼", + "Ġ ìĭł", + "Ġìĭ ł", + "i ç", + "Ġn Äĥng", + "ĠnÄĥ ng", + "Äį ÃŃ", + "ÑĤ Ñı", + "ÑĢ ÐµÐ±", + "ÑĢе б", + "Ùĭ ا", + "Ú¯ ÛĮ", + "ãĥ İ", + "Ġkar ÅŁ", + "в Ñĸ", + "Ġph ần", + "à¸Ī ะ", + "ắ t", + "ر Ø©", + "ิ à¸ĩ", + "ิ à¹Ī", + "ा à¤Ī", + "ाठĪ", + "า à¸ŀ", + "าภŀ", + "ÙĨ ÛĮ", + "ìĹ °", + "b ÄĽ", + "Ġ اÙĦص", + "ĠاÙĦ ص", + "í Ĺ", + "Ġ سر", + "Ġس ر", + "l ara", + "la ra", + "lar a", + "ëĭ ¨", + "Ġ ÙĤر", + "ĠÙĤ ر", + "è İ", + "ب د", + "Ġй ого", + "à¥į ह", + "à¥įठ¹", + "Ġc ách", + "Ġcá ch", + "Ġcác h", + "íķĺ ê³ł", + "Ġ ÏĢÏģο", + "ĠÏĢ Ïģο", + "Ġ تع", + "Ġت ع", + "Ĵ Ī", + "Ġ вод", + "Ġв од", + "Ġво д", + "ç¥ ŀ", + "к им", + "ки м", + "Ġd á»±", + "à¹Ģ ห", + "à¹Ģภ«", + "а на", + "ан а", + "Ġ ï½", + "Ġï ½", + "Ġb aÄŁ", + "Ġba ÄŁ", + "Ġप ह", + "Ġ cao", + "Ġc ao", + "Ġca o", + "Ïģ ÏĮ", + "ÙĨ ج", + "ा à¤ı", + "ाठı", + "Ġ å¹´", + "Ġå¹ ´", + "Ġngh iá»ĩp", + "Ġnghiá»ĩ p", + "Û² Û°", + "к аÑı", + "ка Ñı", + "Ïģ ί", + "Ġ бол", + "Ġб ол", + "Ġбо л", + "Ġgi á", + "Ġ зд", + "Ġз д", + "à¥ĩ ल", + "à¥ĩठ²", + "Ġc ấp", + "à¹Ģ ส", + "à¹Ģภª", + "Ïģ γ", + "Ġ ìĤ", + "Ġì Ĥ", + "d ÄĽ", + "à¥ģ न", + "à¥ģठ¨", + "ì Ī", + "ı lan", + "ıl an", + "л аÑģ", + "ла Ñģ", + "Ġ ว", + "Ġภ§", + "Ġ Ïĥε", + "ĠÏĥ ε", + "Ġ Ø«", + "ĠØ «", + "Ġ Ц", + "ĠÐ ¦", + "çĤ º", + "Ġb üy", + "Ġbü y", + "е ÑĨ", + "å¤ ª", + "Ġब न", + "о гÑĢа", + "ог ÑĢа", + "Ġп ÑĢоÑĤ", + "ĠпÑĢ Ð¾ÑĤ", + "ĠпÑĢо ÑĤ", + "Ġl ượng", + "Ġd ön", + "Ġdö n", + "ร à¸ĩ", + "а ло", + "ал о", + "Ġ جÙħ", + "Ġج Ùħ", + "à¥Ī ,", + "Ġ 미", + "Ġë ¯¸", + "Ġ ê¹", + "Ġê ¹", + "ÙĪ Øª", + "à¥Ģ य", + "à¸Ī าà¸ģ", + "Ġch ất", + "Î ©", + "Ġkh ác", + "Ġkhá c", + "Ġth áng", + "j Å¡ÃŃ", + "ĠÂłĠÂł ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł", + "ĠÂłĠÂłĠÂłĠÂł ĠÂłĠÂłĠÂłĠÂł", + "ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł ĠÂłĠÂł", + "á»ij t", + "ห ร", + "Ñĸ л", + "åħ ī", + "å Ĥ", + "ÙĦ Ø©", + "Ġ ê±°", + "Ġê± °", + "о воÑĢ", + "ов оÑĢ", + "ово ÑĢ", + "iá»ĥ u", + "Ġ меÑĤ", + "Ġм еÑĤ", + "а ÑĶ", + "Ġ ÑĩаÑģ", + "ĠÑĩ аÑģ", + "ĠÑĩа Ñģ", + "Ïģ ε", + "ì¹ ´", + "âĢĮ Ø´", + "ë¬ ¼", + "ú c", + "âĢĮ Ùĩا", + "i á»ģn", + "iá» ģn", + "iá»ģ n", + "st av", + "sta v", + "í ŀ", + "ĠÙĨ ظ", + "Ĩ Ĵ", + "Ġ ÏĦα", + "ĠÏĦ α", + "Ġ заб", + "Ġз аб", + "Ġза б", + "Ùĥ Ø©", + "Ġг ÑĢÑĥ", + "ĠгÑĢ Ñĥ", + "в о", + "Ġ Ùħج", + "ĠÙħ ج", + "Ġ sah", + "Ġs ah", + "Ġsa h", + "ب ÙĦ", + "ع Ø©", + "Ñĥ ÑĪ", + "ĠÑĤ ем", + "ĠÑĤе м", + "í ĭ", + "e ck", + "ec k", + "Ïī ÏĤ", + "ÙĬ ت", + "ìĹ Ī", + "ç ĭ", + "ذ ا", + "ì łĢ", + "ìł Ģ", + "Ġн аÑģ", + "Ġна Ñģ", + "Ġ поÑĩ", + "Ġп оÑĩ", + "Ġпо Ñĩ", + "æł ¡", + "Ï Ī", + "Ñģ кой", + "Ñģк ой", + "Ñģко й", + "ü c", + "ÙĤ ÙĦ", + "Ġп оз", + "Ġпо з", + "Ġ оÑģоб", + "ĠоÑģ об", + "า ล", + "าภ¥", + "н Ñĭми", + "нÑĭ ми", + "нÑĭм и", + "о лод", + "ол од", + "оло д", + "è ¼", + "Ġ دÛĮ", + "Ġد ÛĮ", + "Ġ ÑĥÑģÑĤ", + "ĠÑĥ ÑģÑĤ", + "ĠÑĥÑģ ÑĤ", + "Ġ 무", + "Ġë ¬´", + "Ġë¬ ´", + "ÙĬ س", + "ë° ©", + "à¥į à¤ļ", + "à¥įठļ", + "и ла", + "ил а", + "Ġn ên", + "н ие", + "ни е", + "ι ν", + "lar ını", + "ların ı", + "à¹Ģ à¸Ļ", + "à¹ĢภĻ", + "ÙĨ ت", + "a ģı", + "aÄŁ ı", + "ım ız", + "ımı z", + "ĠاÙĦ Ø®", + "à¹Ģ ว", + "à¹Ģภ§", + "à¥į न", + "à¥įठ¨", + "Ġ Ïħ", + "ĠÏ ħ", + "Ġ íĨ", + "Ġí Ĩ", + "Ạ»", + "ิ à¹Ĥ", + "α ÏĤ", + "м еÑĤ", + "ме ÑĤ", + "Ġ zp", + "Ġz p", + "Ġje ho", + "ี ยà¸Ļ", + "ีย à¸Ļ", + "ÑĦ оÑĢ", + "ın ız", + "ını z", + "k lad", + "kl ad", + "kla d", + "íĮ Į", + "uy á»ĩ", + "uyá» ĩ", + "ι ά", + "Ġ ãĢģ", + "ĠãĢ ģ", + "Ø´ ر", + "æ© Ł", + "Ġ تا", + "Ġت ا", + "Ġ зна", + "Ġз на", + "Ġзн а", + "س تاÙĨ", + "ست اÙĨ", + "à¥ĩ र", + "à¥ĩठ°", + "ë§ ¤", + "ç ĥ", + "Ġ же", + "Ġж е", + "า à¸Ķ", + "าภĶ", + "Ġ ض", + "ĠØ ¶", + "é Ń", + "Ġн аз", + "Ġна з", + "Ġ ÛĮا", + "ĠÛĮ ا", + "e né", + "en é", + "ั ย", + "íĸ Īëĭ¤", + "íĸĪ ëĭ¤", + "Ġ بد", + "Ġب د", + "à¥ģ à¤ķ", + "à¥ģठķ", + "ÑĤ ов", + "ÑĤо в", + "ì° ¨", + "Ùĩ د", + "à¸Ķ ย", + "Ġho ặc", + "Ġ ÐŁÑĢи", + "ĠÐŁ ÑĢи", + "ĠÐŁÑĢ Ð¸", + "ÙĨ ا", + "çİ ĭ", + "Ñĥ ваÑĤи", + "Ñĥв аÑĤи", + "Ñĥва ÑĤи", + "à¸ļ ร", + "Ġà¤ķ रत", + "Ġà¤ķर त", + "Ïĥ ηÏĤ", + "Ïĥη ÏĤ", + "Ø ¤", + "éķ ·", + "åħ ĭ", + "Ġ دار", + "Ġد ار", + "ั à¹Ī", + "Æ¡ i", + "า à¸Ī", + "าภĪ", + "ý mi", + "ým i", + "ấ u", + "Ġد ست", + "Ġدس ت", + "k em", + "ke m", + "Ġ оÑģнов", + "ĠоÑģ нов", + "ëª ¨", + "Ïģ ά", + "æ ħ", + "Ġ اب", + "Ġا ب", + "ĠØ§Ø ¨", + "å£ «", + "Ħ ĸ", + "Î Ķ", + "ÙĬ Ùĥ", + "í İ", + "Ġy üz", + "a dı", + "ad ı", + "า à¸ķ", + "าภķ", + "ä» Ģ", + "ìĿ´ ëĭ¤", + "Ġ zv", + "Ġz v", + "Ġ tÄĽ", + "Ġt ÄĽ", + "Ġ íĸ", + "Ġí ĸ", + "ठ¥", + "Ġ लà¤Ĺ", + "Ġल à¤Ĺ", + "ìĺ Ģ", + "Ġ ан", + "Ġа н", + "ç Ĺ", + "ìĹ Ń", + "н ÑĸÑģÑĤÑĮ", + "нÑĸ ÑģÑĤÑĮ", + "нÑĸÑģÑĤ ÑĮ", + "Å ŀ", + "Ġph át", + "Ġphá t", + "ÙĤ Ø©", + "Ġth ế", + "Ġ ï¾", + "Ġï ¾", + "ì² ľ", + "Ġ ìĦł", + "ĠìĦ ł", + "à¹ĥ à¸Ĭ", + "i êu", + "iê u", + "ÄŁ ini", + "ÄŁi ni", + "ÄŁin i", + "ÙĤ د", + "Ġkter ý", + "Ñģ кий", + "Ñģк ий", + "Ñģки й", + "à¥į ड", + "à¥įठ¡", + "t adır", + "ta dır", + "Ġ Ñģм", + "ĠÑģ м", + "ÙĪ Ùģ", + "ا رÙĬ", + "ار ÙĬ", + "å¾ ·", + "ิ ม", + "Ø® ت", + "å¾ Ī", + "Ġ гоÑĢ", + "Ġг оÑĢ", + "ï¼Į æĪij", + "Ġ ìĺģ", + "Ġìĺ ģ", + "Ġ ëıĻ", + "Ġëı Ļ", + "Ñģ а", + "à¹Ģ à¸Ħ", + "à¹ĢภĦ", + "ë ¯¼", + "ë¯ ¼", + "ึ à¹Ī", + "Ġl iên", + "Ġli ên", + "Ġ Ùĩا", + "ĠÙĩ ا", + "ler ini", + "leri ni", + "lerin i", + "Ġ ÑĨе", + "ĠÑĨ е", + "ا ÙĦÛĮ", + "اÙĦ ÛĮ", + "Ġ मह", + "Ġम ह", + "Ġv ụ", + "Ġvá» ¥", + "Ġxu ất", + "ิ à¸ģ", + "ĠпÑĢо ÑĨ", + "Ġ αν", + "Ġα ν", + "ÑĢ Ð¸Ð¼", + "ÑĢи м", + "Ġc ần", + "Ġ иÑħ", + "Ġи Ñħ", + "н оÑİ", + "но Ñİ", + "Ġt ÃŃnh", + "ĠtÃŃ nh", + "ĠtÃŃn h", + "Ġb á»Ļ", + "Ñĸ м", + "Ġnh áºŃn", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ÙĬ Ùĩ", + "äº ļ", + "Ġоб ла", + "Ġобл а", + "Ġ à¤ĺ", + "Ġठĺ", + "n ých", + "ný ch", + "æĿ ij", + "ÙĦ س", + "Ġне об", + "ا بة", + "اب Ø©", + "v á", + "ο Ïħν", + "οÏħ ν", + "ÑĢ ÐµÑĤ", + "ÑĢе ÑĤ", + "a sında", + "as ında", + "ası nda", + "Ġ yar", + "Ġy ar", + "Ġya r", + "ĠÄij iá»ĥm", + "ĠÄiji á»ĥm", + "н Ñİ", + "ा à¤Ĺ", + "ाठĹ", + "Ġ Ú©Ø´", + "ĠÚ© Ø´", + "Ñĥ з", + "Ġ à¸Ķ", + "ĠภĶ", + "ả m", + "к ами", + "ка ми", + "кам и", + "Ġ ÎĻ", + "ĠÎ Ļ", + "à¹Ģ à¸ķ", + "à¹Ģภķ", + "Ġl Ỽ", + "Ġlá» Ľ", + "ÙĤ ÛĮ", + "k ou", + "ko u", + "ÙĦ ب", + "и ва", + "ив а", + "æ ĵ", + "Ạ¹", + "κ α", + "ë² ķ", + "èĤ ²", + "á»ij n", + "Ġbel ir", + "íĨ ł", + "ÏĦ ή", + "Ñĭ ÑĪ", + "ãĤ ĥ", + "Ġ або", + "Ġа бо", + "Ġаб о", + "s ký", + "sk ý", + "à¥Ī स", + "Ġп ÑĢоÑģÑĤ", + "ĠпÑĢ Ð¾ÑģÑĤ", + "ĠпÑĢо ÑģÑĤ", + "ĠпÑĢоÑģ ÑĤ", + "ekt edir", + "ekte dir", + "a ž", + "à¹Ī à¸Ń", + "Ġ оÑģÑĤ", + "Ġо ÑģÑĤ", + "ĠоÑģ ÑĤ", + "Ġb ảo", + "Ġ 大", + "Ġå¤ §", + "Ñĭ м", + "Ġm ů", + "Æ°á»Ľ ng", + "åı Ĺ", + "ÙĪ Ùĩ", + "Ġ Ñĥп", + "ĠÑĥ п", + "Ùĥ ÙĨ", + "Ġ ÏĦÏīν", + "ĠÏĦ Ïīν", + "ëħ ¸", + "Ġ à¸Ĭ", + "ĠภĬ", + "Ġ ÑĤого", + "ĠÑĤ ого", + "ĠÑĤо го", + "Ġ Ш", + "ĠÐ ¨", + "ìĿ´ íĬ¸", + "à¹Ģ à¸Ń", + "à¹ĢภŃ", + "и нÑĥ", + "ин Ñĥ", + "ĺ ħ", + "uy á»ĥn", + "uyá» ĥn", + "í ĴĪ", + "íĴ Ī", + "ạ nh", + "ạn h", + "Ġ ãĥ½", + "Ġãĥ ½", + "ÑĤ обÑĭ", + "ÑĤо бÑĭ", + "Ġt ạo", + "å· Ŀ", + "ĠÄij á»iji", + "Ġ ëıĦ", + "Ġëı Ħ", + "ä¹ ħ", + "Ġ تÙħ", + "Ġت Ùħ", + "а ÑĢи", + "аÑĢ Ð¸", + "st vÃŃ", + "Ġc ùng", + "íŀ Ī", + "Ġt arih", + "Ġtar ih", + "ì ¤ij", + "ì¤ ij", + "í Ĥ", + "Ġ دÙĪ", + "Ġد ÙĪ", + "ì ¡", + "а лÑĸ", + "ал Ñĸ", + "ภIJ", + "Ġc òn", + "и ÑĤÑĮÑģÑı", + "иÑĤÑĮ ÑģÑı", + "Ġव ह", + "ÅĻ eb", + "ÅĻe b", + "éĽ »", + "Ġ ми", + "Ġм и", + "o vÄĽ", + "ov ÄĽ", + "Ġd ân", + "ÑĨ ÑĸÑı", + "ÑĨÑĸ Ñı", + "ÛĮ ست", + "ÛĮس ت", + "åŃ ¸", + "Ġ ür", + "Ġü r", + "ص ÙĦ", + "ÑĢ Ð¸ÑĤ", + "ÑĢи ÑĤ", + "า ห", + "าภ«", + "ãģ¦ ãģĦãģŁ", + "ãģ¦ãģĦ ãģŁ", + "θ η", + "ç ĸ", + "Ø Ł", + "i ÅŁtir", + "iÅŁ tir", + "iÅŁti r", + "ĠУкÑĢаÑĹ Ð½Ð¸", + "ĠУкÑĢаÑĹн и", + "ë° ĺ", + "à¥ĩ à¤ĸ", + "à¥ĩठĸ", + "Ġv á»ĭ", + "Ġvá» ĭ", + "Î ¥", + "Ġ ãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢ ĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢ ĠãĢĢ", + "ĠãĢĢĠ ãĢĢĠãĢĢ", + "Ġb ằng", + "Ġt á»ķ", + "Ġtá» ķ", + "о ли", + "ол и", + "๠Ĩ", + "e zi", + "ez i", + "Ġ ни", + "Ġн и", + "Ġ ÎĽ", + "ĠÎ Ľ", + "Ġr ất", + "μ ÏĢ", + "ж д", + "ा रत", + "ार त", + "Ġu ž", + "à¥ĩ स", + "à¥ĩठ¸", + "ا ÙĨد", + "اÙĨ د", + "Ġb ý", + "à¥ĭ ल", + "d ÄĽl", + "dÄĽ l", + "ìķ ĺ", + "Ġ جد", + "Ġج د", + "å ³", + "ื à¹ī", + "Ġb ản", + "ạ ch", + "ạc h", + "ĠÅŁ ey", + "Ġ Ùĩر", + "ĠÙĩ ر", + "Ġ jen", + "Ġj en", + "Ġje n", + "Ġв Ñĸн", + "ĠвÑĸ н", + "es inde", + "esi nde", + "esin de", + "Ġ हम", + "Ġह म", + "çł Ķ", + "à¸ļ à¸ļ", + "Ġch ức", + "Ġchứ c", + "ึ à¸ĩ", + "m alar", + "ma lar", + "mal ar", + "ĠdeÄŁ il", + "æĿ ±", + "Ġt ác", + "Ġtá c", + "Ġk iÅŁ", + "Ġki ÅŁ", + "Ġt á»±", + "Ġtá» ±", + "à¥į ध", + "à¥įठ§", + "à¸Ļ à¸Ĺ", + "ÎŁ Î¥", + "ÎŁÎ ¥", + "ÑģÑĮ кого", + "ÑģÑĮк ого", + "ÑģÑĮко го", + "Ġ ध", + "Ġठ§", + "Ġ ìĿĺ", + "ĠìĿ ĺ", + "ÙĨ Ø©", + "ü s", + "è «", + "Ġtaraf ından", + "ħ n", + "Ġk inh", + "Ġki nh", + "Ġkin h", + "Ïĥ ι", + "à¥Ģ à¤ķ", + "íı ¬", + "ا ÙħÙĦ", + "اÙħ ÙĦ", + "ĠV iá»ĩt", + "Ġ ÏĦον", + "ĠÏĦ ον", + "ĠÏĦο ν", + "Ġ تÙĨ", + "Ġت ÙĨ", + "Ġà¤ħ ध", + "à¹Ī าà¸Ļ", + "à¹Īา à¸Ļ", + "r ı", + "à¤Ĥ द", + "é ª", + "Ġch úng", + "Ġchú ng", + "г и", + "ÏĦ αν", + "ÏĦα ν", + "Ġд оп", + "Ġдо п", + "н Ñĸй", + "нÑĸ й", + "он алÑĮ", + "она лÑĮ", + "Î ĵ", + "Ġb üyük", + "Ġbü yük", + "Ġbüy ük", + "á ¼", + "à¥Ģ र", + "ذ Ùĩ", + "Ġ ìķĦìĿ´", + "ĠìķĦ ìĿ´", + "Ġdo anh", + "Ġ ÅĻÃŃ", + "ĠÅĻ ÃŃ", + "ÑĨ Ñı", + "Ġt ư", + "Ġ सर", + "Ġस र", + "Ġm ÃŃst", + "ĠmÃŃ st", + "Ġë° ı", + "Ø´ ÙĨ", + "Ñĸ б", + "Ġ ãĢĢãĢĢ", + "ĠãĢĢ ãĢĢ", + "çĻ ½", + "о Ñģп", + "оÑģ п", + "к Ñĸв", + "кÑĸ в", + "Ġt ế", + "ãģ Ń", + "Ġt Ỽi", + "Ġtá» Ľi", + "Ġ ìļ°", + "Ġìļ °", + "æľ ĥ", + "ا ÛĮد", + "اÛĮ د", + "æ §", + "ìł IJ", + "Ġd urum", + "Ġdu rum", + "Ġdur um", + "à¹Ģ à¸Ĭ", + "à¹ĢภĬ", + "à¥Ģ त", + "ĠÙĩ ÙĪ", + "à¥Ĥ प", + "Ġgö re", + "Ġgör e", + "Ġ ÑĢоб", + "ĠÑĢ Ð¾Ð±", + "Ġth iết", + "Ġthi ết", + "a jÃŃ", + "aj ÃŃ", + "ĠاÛĮ راÙĨ", + "âĢ ı", + "ÑģÑĮ коÑĹ", + "ÑģÑĮк оÑĹ", + "ÑģÑĮко ÑĹ", + "ç ħ", + "Ġ ìĦ¸", + "ĠìĦ ¸", + "á» «", + "Ġ à¸Ĥ", + "ĠภĤ", + "ů m", + "ëŀ Į", + "ι κή", + "ικ ή", + "Ġм ог", + "Ġмо г", + "ÙĨ ÙĬ", + "ãģ ļ", + "ा ब", + "ाठ¬", + "æ ¢", + "ع Ùĩ", + "ÑĶ Ð¼", + "Ġ ά", + "ĠÎ ¬", + "οÏħ ÏĤ", + "ز ار", + "زا ر", + "ê± ´", + "s ká", + "sk á", + "Ġ اÙĬ", + "Ġا ÙĬ", + "Ġi lg", + "Ġil g", + "Ġ sı", + "Ġs ı", + "e leri", + "el eri", + "eler i", + "ele ri", + "Ġ ÎĹ", + "ĠÎ Ĺ", + "u yor", + "uy or", + "uyo r", + "ठ·", + "ि म", + "िठ®", + "е ва", + "ев а", + "ä»Ģ ä¹Ī", + "ุ à¹Ī", + "à¹ī าà¸ĩ", + "à¹īา à¸ĩ", + "Ġh iá»ĩu", + "Ġhi á»ĩu", + "Ġ اع", + "Ġا ع", + "ĠØ§Ø ¹", + "Ġö zel", + "Ġöz el", + "ν η", + "ëĦ ¤", + "Ġto Ãłn", + "Ġm oh", + "Ġmo h", + "ĠÑı кÑĸ", + "ĠÑıк Ñĸ", + "ç Ĭ", + "mak tadır", + "makta dır", + "makt adır", + "ت اب", + "تا ب", + "Ġ ÑģÑĥ", + "ĠÑģ Ñĥ", + "Ġ yük", + "Ġy ük", + "Ġ Χ", + "ĠÎ §", + "з на", + "зн а", + "о Ñħ", + "ư u", + "à¸Ĺ ร", + "ãħ ĭ", + "Ġkar ÅŁÄ±", + "ĠkarÅŁ ı", + "Ùħ ÛĮ", + "Ġ ÑĨÑĸ", + "ĠÑĨ Ñĸ", + "ا دÛĮ", + "اد ÛĮ", + "à¥Ģ ।", + "Ïģ η", + "л ов", + "ло в", + "å¤ «", + "Ġph ân", + "Ġп оп", + "Ġпо п", + "ç· ļ", + "Ñı н", + "ุ à¸ĵ", + "ÑģÑĤ Ñĥп", + "ίν αι", + "ίνα ι", + "ĠÑĢ Ð¾ÐºÑĥ", + "ĠÑĢок Ñĥ", + "l arda", + "lar da", + "è» Ĭ", + "Ïģ Ïī", + "ÙĪ Ø§Ùĩ", + "ÙĪØ§ Ùĩ", + "è ħ", + "à¥į रत", + "à¥įर त", + "å· ±", + "Ġ ÑĢÑĥ", + "ĠÑĢ Ñĥ", + "Ġth á»ĭ", + "Ġthá» ĭ", + "ĠÄij iá»ĩn", + "ĠÄiji á»ĩn", + "ìĸ ij", + "n ého", + "né ho", + "ส ม", + "ê° ģ", + "a cÃŃ", + "ac ÃŃ", + "Ġг ода", + "Ġгод а", + "k az", + "ka z", + "Ġb öl", + "Ġbö l", + "Ġg ian", + "Ġgi an", + "Ġgia n", + "à¸Ľ ร", + "ï¾ ŀ", + "ั à¸ķ", + "Ġg erç", + "Ġger ç", + "Ġ اج", + "Ġا ج", + "ĠØ§Ø ¬", + "Ġ ή", + "ĠÎ ®", + "Ùij Ùİ", + "Ñģ кого", + "Ñģк ого", + "Ñģко го", + "ÑĢ Ð°Ñħ", + "ÑĢа Ñħ", + "Ġ Åł", + "ĠÅ ł", + "Ġ à¤Ľ", + "ĠठĽ", + "о ÑģÑĤÑĸ", + "оÑģ ÑĤÑĸ", + "оÑģÑĤ Ñĸ", + "ë³ ¸", + "ÑģÑĮ кий", + "ÑģÑĮк ий", + "Û± Û¹", + "Û±Û ¹", + "Ñĥ ва", + "Ñĥв а", + "ا ÙĦÙħ", + "اÙĦ Ùħ", + "ĠÙħ ص", + "ëį ĺ", + "b ÃŃ", + "Ġ ÙĪØ¬", + "ĠÙĪ Ø¬", + "ÏĦ ÏĮ", + "e bilir", + "eb ilir", + "Ġt iếp", + "Ġti ếp", + "Ġtiế p", + "é ¤", + "Ġ ä¸Ģ", + "Ġä¸ Ģ", + "ĠÑģ ÑĢед", + "ë Ĥ¨", + "ëĤ ¨", + "ε Ïģι", + "εÏģ ι", + "ا Ø«", + "Ø§Ø «", + "Ñģ ов", + "Ñģо в", + "Ïĩ ε", + "Ġ ë¶Ħ", + "Ġë¶ Ħ", + "Ġta ké", + "Ġtak é", + "Ġd üz", + "Ġdü z", + "Ġ íıī", + "Ġíı ī", + "Ġ اص", + "Ġا ص", + "ĠØ§Ø µ", + "ĠÏĥ ÏĦην", + "ĠÏĥÏĦη ν", + "ë° Ķ", + "Ġh á»Ļi", + "Ġhá»Ļ i", + "ر Ùĩ", + "ب ÛĮ", + "в е", + "Ġا ÙĦØ·", + "ĠاÙĦ Ø·", + "Ġ ÑĢез", + "ĠÑĢ ÐµÐ·", + "ĠÑĢе з", + "ب ار", + "با ر", + "Ġgi ải", + "Ġgiả i", + "ãģ« ãģª", + "ol eÄį", + "ole Äį", + "ठł", + "; :", + "ä½ ı", + "Ú© Ùĩ", + "Ġ Φ", + "ĠÎ ¦", + "Ġ ÑĥÑĩ", + "ĠÑĥ Ñĩ", + "âĹı âĹı", + "ู à¸ģ", + "à¥ĩ व", + "à¥ĩठµ", + "Ïĥ α", + "Ġ اÙĨت", + "Ġا ÙĨت", + "ĠاÙĨ ت", + "Ġв п", + "Ġqu ả", + "e nin", + "en in", + "eni n", + "Ġ êµIJ", + "Ġêµ IJ", + "μ ά", + "Ú© ت", + "ÙĤ Ùĩ", + "Ġ Türkiye", + "ĠTür kiye", + "ĠTürk iye", + "Ġth ức", + "Ġthứ c", + "íĹ ĺ", + "iá»ĩ m", + "Ġत à¤ķ", + "Ġ éĩ", + "Ġé ĩ", + "़ ा", + "ĠØ£ ÙĪ", + "á le", + "ál e", + "ç© ¶", + "ĠÅŁ ekil", + "ĠÅŁek il", + "к ого", + "ко го", + "ког о", + "ÑĪ Ð¸Ñħ", + "ÑĪи Ñħ", + "ا ÛĮØ´", + "اÛĮ Ø´", + "ت ÙĨ", + "н ей", + "не й", + "à¸Ĺ ำ", + "Ġ Ñıв", + "ĠÑı в", + "ر Ùħ", + "Ġm áy", + "Ġmá y", + "ห ม", + "ı yla", + "ıy la", + "Ġc ầu", + "Ġд об", + "Ġдо б", + "Ġ ìŀ¥", + "Ġìŀ ¥", + "o vý", + "ov ý", + "ι κÏĮ", + "ικ ÏĮ", + "Ġ ãħĩ", + "Ġãħ ĩ", + "Ġ ÑĤеÑĢ", + "ĠÑĤ еÑĢ", + "ĠÑĤе ÑĢ", + "Į Ĵ", + "س ÙĬ", + "Ġol uÅŁ", + "Ġb yla", + "Ġby la", + "Ġbyl a", + "ع ÙĦ", + "Ġ ÙĥاÙĨ", + "ĠÙĥ اÙĨ", + "б оÑĢ", + "бо ÑĢ", + "ì² Ń", + "ãĥ ı", + "u bl", + "ub l", + "Ġ اخ", + "Ġا Ø®", + "ĠØ§Ø ®", + "ÙĦ ÙĪØ¯", + "ÙĦÙĪ Ø¯", + "ت ÙĬ", + "l adı", + "la dı", + "lad ı", + "Ġ Ã¶ÄŁ", + "Ġö ÄŁ", + "r uh", + "ru h", + "ç ¿", + "Ġ بعد", + "Ġب عد", + "Ġبع د", + "ÎĻ Îij", + "i dir", + "id ir", + "idi r", + "ãģ« ãģ¯", + "Ġs öy", + "Ġsö y", + "Ġkh ách", + "Ġkhác h", + "Ġkhá ch", + "ÑĨ е", + "Ġ Ø´ÙĪØ¯", + "ĠØ´ ÙĪØ¯", + "ĠØ´ÙĪ Ø¯", + "ç ¸", + "Ġ ëħ¸", + "Ġëħ ¸", + "ú p", + "Ġn eden", + "Ġne den", + "Ġned en", + "Ġh óa", + "Ġà¤ī प", + "Ïĥ ειÏĤ", + "Ïĥει ÏĤ", + "æĪ ¿", + "Ġ ³³", + "ĠÂł Âł", + "Ġ ìķĮ", + "Ġì ķĮ", + "Ġìķ Į", + "à¥Ģ ,", + "´ ij", + "ê u", + "ÑĢ Ð¾Ðº", + "ÑĢо к", + "à¹Ģ à¸Ī", + "à¹ĢภĪ", + "Ġε ίναι", + "Ġ بÙĦ", + "Ġب ÙĦ", + "Ġ Ñģов", + "ĠÑģ ов", + "ĠÑģо в", + "Ġö nem", + "Ġön em", + "Ġöne m", + "Ġ à¸ĭ", + "Ġภĭ", + "ì§Ģ ë§Į", + "å® ĺ", + "ê² ©", + "ìĦ Ŀ", + "Ġ až", + "Ġa ž", + "Ġd uy", + "Ġdu y", + "ãģ¨ ãģĦ", + "Ø Ľ", + "δ ο", + "θ ε", + "Ùĥ اÙĨ", + "ठ¢", + "ा à¤ĵ", + "ाठĵ", + "Ġd á»ĭch", + "Ġdá»ĭ ch", + "á»Ļ ng", + "á»Ļn g", + "ส ำ", + "Ä ı", + "Ġ ÑĹÑħ", + "ĠÑĹ Ñħ", + "α λ", + "e Äį", + "ç² ¾", + "Ġ зв", + "Ġз в", + "èĩª å·±", + "Ġ اÙĦÙĦÙĩ", + "ĠاÙĦ ÙĦÙĩ", + "ĠاÙĦÙĦ Ùĩ", + "Ġ СÑĤ", + "ĠС ÑĤ", + "Ġ سÙĨÚ¯", + "Ġس ÙĨÚ¯", + "ĠسÙĨ Ú¯", + "Ġ дом", + "Ġд ом", + "Ġдо м", + "г оÑĤов", + "го ÑĤов", + "гоÑĤ ов", + "п овÑĸд", + "пов Ñĸд", + "по вÑĸд", + "Ġ Bá»Ļ", + "ĠB á»Ļ", + "à¥įय à¤ķ", + "Ø· Ø©", + "м ов", + "мо в", + "à¸Ĺ าà¸ĩ", + "ึ à¸ģ", + "Ġ Ñĸз", + "ĠÑĸ з", + "à¥ĭ à¤ľ", + "Ġgö ster", + "Ġ باشد", + "Ġبا شد", + "Ġباش د", + "i leri", + "il eri", + "ile ri", + "iler i", + "ĠÑģ еб", + "Ñī о", + "Ġãħĩ ãħĩ", + "ب ت", + "Ñģ е", + "à¥ĩ à¤ľ", + "à¥ĩठľ", + "Ġl ên", + "Ġ تÙĪ", + "Ġت ÙĪ", + "Ñĸ ÑģÑĤÑĮ", + "ÑĸÑģ ÑĤÑĮ", + "ÑĸÑģÑĤ ÑĮ", + "ï¾Ĩ ï¾Ĩ", + "Ġth ưá»Ŀng", + "Ġol duÄŁu", + "Ġoldu ÄŁu", + "ĠolduÄŁ u", + "v ÄĽt", + "vÄĽ t", + "ìĨ į", + "ãģĿ ãģĨ", + "Ġ ìĦ±", + "ĠìĦ ±", + "ë° ľ", + "Ġ à¸ģาร", + "Ġà¸ģ าร", + "Ġ Ø´Ùĩر", + "ĠØ´ Ùĩر", + "ĠØ´Ùĩ ر", + "s led", + "sl ed", + "ả nh", + "ản h", + "æŀ Ĺ", + "l acak", + "la cak", + "lac ak", + "Ġm ình", + "Ú© ÛĮ", + "Ġ à¹ĥà¸Ļ", + "Ġd ùng", + "Ġdù ng", + "Ġм аÑģ", + "Ġма Ñģ", + "ÑĦ ек", + "æ° Ķ", + "é §", + "Ġ اØŃ", + "Ġا ØŃ", + "ĠØ§Ø Ń", + "èµ °", + "ÎĻ Îļ", + "à¥ĩ ।", + "ÑģÑĮ ка", + "ÑģÑĮк а", + "Ġ ÑĩаÑģÑĤ", + "ĠÑĩ аÑģÑĤ", + "ĠÑĩа ÑģÑĤ", + "ĠÑĩаÑģ ÑĤ", + "lar ının", + "ların ın", + "larını n", + "Ġ ê¹Ģ", + "Ġê¹ Ģ", + "ì¸ µ", + "н ими", + "ни ми", + "ним и", + "èª ŀ", + "åĢ ĭ", + "Ġ êµŃ", + "Ġêµ Ń", + "к оÑĢ", + "ко ÑĢ", + "m aya", + "ma ya", + "may a", + "ิ à¹Ĥà¸Ļ", + "ิà¹Ĥ à¸Ļ", + ". ศ", + "Ġh á»ĩ", + "Ġhá» ĩ", + "Ġ تÙĤ", + "Ġت ÙĤ", + "γ κ", + "Ġà¤Ĩप à¤ķ", + "Ñģ ÑĤоÑĢ", + "ÑģÑĤ оÑĢ", + "ĠÄij o", + "Ġch á»§", + "ا ÛĮت", + "اÛĮ ت", + "ĠQu á»ijc", + "г лÑı", + "гл Ñı", + "ãĢĤ ãĢįĊĊ", + "ãĢĤãĢį ĊĊ", + "Ġn Ãło", + "à¸Ń ล", + "æĬ Ĭ", + "ÙĪ Ø±Øª", + "ÙĪØ± ت", + "Ġb ude", + "Ġbu de", + "Ġbud e", + "æĽ ¸", + "e lik", + "el ik", + "eli k", + "Ġ جÙĩ", + "Ġج Ùĩ", + "ĠبÙĪ Ø§Ø¨Ø©", + "èĬ ±", + "د ار", + "دا ر", + "Ġb ýt", + "Ġbý t", + "Ñĩ е", + "ãĤĵ ãģł", + "ĠÙħ Ø·", + "l ere", + "le re", + "ler e", + "ÎĹ Î£", + "íĺ ķ", + "âĸ į", + "ÄŁ u", + "Ġв з", + "ÙĬ ز", + "ĠÐł оÑģ", + "íĭ °", + "Ġد اش", + "ì§ ij", + "a tı", + "at ı", + "m esi", + "me si", + "mes i", + "ãĤī ãĤĮ", + "ů v", + "r át", + "rá t", + "оÑģ об", + "åIJ Ħ", + "uy á»ĩn", + "uyá»ĩ n", + "åģ ļ", + "ü st", + "üs t", + "éĩ İ", + "α Ïĥ", + "Ġm ặt", + "е лов", + "ел ов", + "ело в", + "åį ļ", + "д ж", + "Ġد ارد", + "Ġدار د", + "Ġf ark", + "Ġfa rk", + "Ġfar k", + "à¹ī วย", + "à¹īว ย", + "о ни", + "он и", + "Ġب Ø®", + "à¥ģ त", + "à¥ģठ¤", + "ĠÄij ây", + "α Ïģα", + "αÏģ α", + "Ġ δια", + "Ġδ ια", + "Ġδι α", + "Ġ è¯", + "Ġè ¯", + "к аÑħ", + "ка Ñħ", + "ch áz", + "z enÃŃ", + "ze nÃŃ", + "zen ÃŃ", + "ÑĢ Ð¾Ð¿", + "ÑĢо п", + "à¥Ģ म", + "í Ĩµ", + "íĨ µ", + "d ü", + "à¸ł าà¸ŀ", + "Ġ íĬ", + "Ġí Ĭ", + "ÙĪ Ø§", + "Ġt á»ijt", + "Ġtá»ij t", + "ï¼Ł ãĢįĊĊ", + "ï¼ŁãĢį ĊĊ", + "Ġ æľĪ", + "Ġnh ưng", + "Ġnhư ng", + "Ġne ž", + "à¥ĭ ड", + "ìĹIJ ê²Į", + "à¤Ĥ ड", + "¶ Į", + "Ġ меÑģÑĤ", + "Ġм еÑģÑĤ", + "ा à¤ģ", + "ाठģ", + "ì¦ Ŀ", + "ĠÄij ang", + "ĠÄija ng", + "à¸Ń à¸Ķ", + "í ĽĦ", + "á»į i", + "sk ého", + "ské ho", + "Ġд ок", + "Ġдо к", + "Ġ تص", + "Ġت ص", + "Ġph òng", + "Ġ ê°ķ", + "Ġê° ķ", + "Ġtr Æ°á»Ľc", + "í ijľ", + "Ù Ķ", + "Ġph ÃŃ", + "Ġch á»įn", + "ä¹ IJ", + "ĠÅŁek ilde", + "ĠÅŁekil de", + "Ġ íİ", + "Ġí İ", + "é º", + "ë £¨", + "ë£ ¨", + "à¥Ī ।Ċ", + "à¥Ī। Ċ", + "ÙĪ Ø±ÛĮ", + "ÙĪØ± ÛĮ", + "Ñģ ÑĤÑĢа", + "ÑģÑĤ ÑĢа", + "ÑģÑĤÑĢ Ð°", + "il di", + "ild i", + "Ġα Ïħ", + "в аннÑı", + "ван нÑı", + "ìļ ¸", + ". âĢľĊĊ", + ".âĢľ ĊĊ", + "ĠÑĤак же", + "ëĵ ±", + "е ка", + "ек а", + "æī į", + "Ùħ Ø©", + "Ġph ương", + "é© ¬", + "ãĢĢ ĠãĢĢ", + "ãĢĢĠ ãĢĢ", + "ov ých", + "ový ch", + "ี ยà¸ĩ", + "ีย à¸ĩ", + "ĠT ru", + "ĠTr u", + "е Ñģп", + "еÑģ п", + "st up", + "stu p", + "Ä Į", + "Ġdal Å¡ÃŃ", + "ز ÛĮ", + "Ġ 매", + "Ġë§ ¤", + "Ġ обÑĢаз", + "Ġоб ÑĢаз", + "ĠобÑĢа з", + "Ġaç ık", + "Ġaçı k", + "ê° ķ", + "Ùģ Ø§Ø¯Ùĩ", + "Ú¯ اÙĨ", + "à¹ī à¸Ļ", + "ẩ n", + "å·¥ ä½ľ", + "Ġ तर", + "Ġत र", + "ÙĬ ع", + "Ġ ãĢĬ", + "ĠãĢ Ĭ", + ", âĢľ", + "Ġ nev", + "Ġn ev", + "Ġne v", + "ั à¸į", + "ÄŁ ını", + "ģın ı", + "Ġ jin", + "Ġj in", + "Ġji n", + "ا خت", + "اخ ت", + "س ر", + "Ġt Ãłi", + "Ġkter á", + "Ġا ÙĦÙĦ", + "ĠاÙĦ ÙĦ", + "ठħ", + "iz met", + "izm et", + "à¥ģ म", + "à¥ģठ®", + "า ะ", + "าภ°", + "Ġ ê·", + "Ġê ·", + "l ıģı", + "lı ģı", + "lıģ ı", + "çı ¾", + "li ÄŁi", + "liÄŁ i", + "êµ °", + "a lık", + "al ık", + "alı k", + "Ġد ÙĪØ±", + "ĠدÙĪ Ø±", + "Ġ ìĭ¤", + "Ġìĭ ¤", + "Ġз аÑģ", + "Ġза Ñģ", + "ÙĤ ÙĬ", + "Ġ ứng", + "Ġ ÙĥÙĩ", + "ĠÙĥ Ùĩ", + "ÎŁ Σ", + "ÎŁÎ £", + "è¨ Ń", + "ç Į", + "ãģĦ ãģŁ", + "íĺ Ħ", + "Ġ ÑĤе", + "ĠÑĤ е", + "е ÑĢÑĸ", + "еÑĢ Ñĸ", + "s ız", + "sı z", + "Ġ ý", + "Ġà ½", + "д ов", + "до в", + "Ġ à¤ĩसà¤ķ", + "Ġà¤ĩस à¤ķ", + "г од", + "го д", + "Ġby lo", + "Ġbyl o", + "าà¸Ħ ม", + "е нием", + "ен ием", + "ени ем", + "ение м", + "Ð ¨", + "æľ ¯", + "Ġप हल", + "Ġपह ल", + "Ġ aÅŁ", + "Ġa ÅŁ", + "ि à¤ľ", + "िठľ", + "åĵ ¡", + "в аÑĢ", + "ва ÑĢ", + "à¹ī ำ", + "â ĮĴ", + "ov án", + "ová n", + "Ġgi úp", + "Ð ¥", + "ĠÑģ Ñĥд", + "ĠÑģÑĥ д", + "Ġà¤ķ म", + "ạ m", + "ر س", + "Ġ 人", + "Ġ بÛĮ", + "Ġب ÛĮ", + "Ġà¤īन à¤ķ", + "ë¦ ½", + "áºŃ y", + "Ġv áºŃt", + "л ÑıеÑĤÑģÑı", + "лÑı еÑĤÑģÑı", + "лÑıеÑĤ ÑģÑı", + "Ġs eç", + "Ġse ç", + "Ġ ì½", + "Ġì ½", + "ÑĢ Ñĥж", + "ÑĢÑĥ ж", + "ت ص", + "| :", + "Ġ ëł", + "Ġë ł", + "и ми", + "им и", + "Ġ лÑİб", + "ĠлÑİ Ð±", + "Ġ à¸ľ", + "Ġภľ", + "ï¼Į ä½Ĩ", + "Ġ нав", + "Ġн ав", + "Ġна в", + "âĢ ¬", + "à¹Ī าย", + "à¹Īา ย", + "Ġ رس", + "Ġر س", + "s iniz", + "sin iz", + "ë ¨", + "е ниÑİ", + "ен иÑİ", + "ени Ñİ", + "Ġ ล", + "Ġภ¥", + "ا سÛĮ", + "اس ÛĮ", + "ॠľ", + "ĠÙ¾ ÛĮØ´", + "ĠÙ¾ÛĮ Ø´", + "ί δ", + "Ġ Ù¾ÛĮ", + "ĠÙ¾ ÛĮ", + "еÑĢж ав", + "ठĨ", + "ĠdÃ¼ÅŁ ün", + "å¿ «", + "ÑĢ ÐµÑģ", + "ÑĢе Ñģ", + "åħ «", + "ÑĤ Ñĸ", + "ि à¤Ł", + "िठŁ", + "Ġ ÑĤеÑħ", + "ĠÑĤ еÑħ", + "ĠÑĤе Ñħ", + "ú t", + "ÙĨ Ùĩ", + "Ġ ÙĨØ´", + "ĠÙĨ Ø´", + "çĻ º", + "Ġ ê°¤", + "Ġê° ¤", + "л ед", + "ле д", + "Ġ ëĵ¤", + "Ġëĵ ¤", + "Ġbi lg", + "Ġbil g", + "Ġsp oleÄį", + "Ġspol eÄį", + "Ġspole Äį", + "ĠÄij Æ¡n", + "Ġ à¤īत", + "Ġà¤ī त", + "Ġtr á»ĭ", + "Ġ عÙħ", + "Ġع Ùħ", + "Ġ ।", + "Ġà ¥¤", + "Ġॠ¤", + "Ġú Äį", + "ãģ ¸", + "ว à¸ģ", + "ĠÑģл ÑĥÑĩа", + "ĠÑģлÑĥÑĩ а", + "ĠÑģлÑĥ Ñĩа", + "á» įng", + "á»į ng", + "á»įn g", + "åı Ī", + "и ÑĤÑĥ", + "иÑĤ Ñĥ", + "æľī éĻIJ", + "ë¦ °", + "ëĭ ĺ", + "Ġho ạt", + "ĠìĿ´ ëıĻ", + "з наÑĩ", + "зна Ñĩ", + "зн аÑĩ", + "Ġاست ÙģØ§Ø¯Ùĩ", + "ĠпÑĢо ÑĨеÑģ", + "ĠпÑĢоÑĨ еÑģ", + "an ın", + "anı n", + "г Ñĥ", + "Ġ اÙĦØ«", + "ĠاÙĦ Ø«", + "æĹ¥ æľ¬", + "ι κά", + "ικ ά", + "ĠÑĹ ÑĹ", + "ì§ ģ", + "i nu", + "in u", + "Ġس از", + "ãĤ ¡", + "ï¾ ī", + "Ġ اÙĤ", + "Ġا ÙĤ", + "Ġk ế", + "ů sob", + "à¹ĩ à¸ģ", + "åIJ §", + "æ¼ Ķ", + "Ñī ие", + "Ñīи е", + "ç Ĩ", + "ÑĮ ого", + "à¥ĭ à¤Ł", + "ا Ù¾", + "ا٠¾", + "å ®¤", + "å® ¤", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "Ġtr iá»ĥn", + "Ġtri á»ĥn", + "Ġt áºŃp", + "é£ Ł", + "ë ¹", + "ĠÑĩеÑĢ ÐµÐ·", + "Ġ ÑĨи", + "ĠÑĨ и", + "Ñģ Ñĥ", + "Ġ нем", + "Ġн ем", + "Ġне м", + "Ġ аÑĢ", + "Ġа ÑĢ", + "Ġ ÙĦا", + "ĠÙĦ ا", + "Ġ ì§Ħ", + "Ġì§ Ħ", + "ç Ł³", + "çŁ ³", + "Ġп ÑĢоб", + "ĠпÑĢ Ð¾Ð±", + "ĠпÑĢо б", + "Ġ ìĽIJ", + "ĠìĽ IJ", + "ÛĮ ÙĨÛĮ", + "ÛĮÙĨ ÛĮ", + "Ñİ Ñĩи", + "âĢ į", + "Û± Û³", + "Û±Û ³", + "ã Ĥ¬", + "ãĤ ¬", + "çłĶ ç©¶", + "í Ĥ¤", + "íĤ ¤", + "Ġger çek", + "Ġgerç ek", + "ĠØŃ س", + "íĶ ¼", + "èĤ ¡", + "Ġ ÏĦι", + "ĠÏĦ ι", + "ĠvÅ¡ ech", + "ĠvÅ¡e ch", + "Ġv ì", + "ا ÙĨÙĬ", + "اÙĨ ÙĬ", + "ĠÙĩ ست", + "Ġ ëĤ¨", + "Ġë Ĥ¨", + "ĠëĤ ¨", + "ÅĻ ej", + "ÅĻe j", + "е ÑĢг", + "еÑĢ Ð³", + "Ġs öz", + "Ġsö z", + "ĠاÙĦ Ùħت", + "ĠاÙĦÙħ ت", + "Ġch ế", + "á»ĵ i", + "åı ¤", + "âĸį âĸį", + "á»ĵ ng", + "á»ĵn g", + "ãĥ ¢", + "Ġ ди", + "Ġд и", + "ε λ", + "Ġ она", + "Ġо на", + "Ġон а", + "Ġ най", + "Ġн ай", + "Ġна й", + "Ġ _{", + "Ġ_ {", + "п ол", + "по л", + "al iz", + "ali z", + "Ġt Äĥng", + "Ġ dÃŃ", + "Ġd ÃŃ", + "é p", + "Ġ ÙĦÙħ", + "ĠÙĦ Ùħ", + "Ġm ož", + "Ġmo ž", + "Ġng oÃłi", + "è Ĺ", + "Ġ Ñĩем", + "ĠÑĩ ем", + "ĠÄij á»ķ", + "ĠÄijá» ķ", + "е ÑĤа", + "еÑĤ а", + "åı ²", + "ĠÑģ каз", + "ĠÑģк аз", + "ĠÑģка з", + "ãĤ¿ ãĥ¼", + "а нÑĮ", + "ан ÑĮ", + "Ġg öz", + "Ġgö z", + "ë³ Ħ", + "ãģĭ ãģ£ãģŁ", + "Ġ ëįĶ", + "Ġëį Ķ", + "ĠÙĨ ÙĤ", + "Ġ ÑĥÑĩа", + "ĠÑĥ Ñĩа", + "ĠÑĥÑĩ а", + "Ġsa hip", + "Ġsah ip", + "ĠÑģ пе", + "ĠÑģп е", + "ί οÏħ", + "ίο Ïħ", + "ì ½Ķ", + "ì½ Ķ", + "Ġ ëĪ", + "Ġë Ī", + "m am", + "ma m", + "Ġr oce", + "Ġro ce", + "Ġroc e", + "Ġ ÙĨاÙħ", + "ĠÙĨ اÙħ", + "еÑĢ Ð°ÑĤÑĥ", + "еÑĢа ÑĤÑĥ", + "ı p", + "ãģĦ ãģ¦", + "Ġ íķĻ", + "Ġíķ Ļ", + "Ġ à¤ĩन", + "Ġà¤ĩ न", + "å ©", + "Ġnh iên", + "a tır", + "at ır", + "atı r", + "ÅĻ enÃŃ", + "ÅĻe nÃŃ", + "ÅĻen ÃŃ", + "د Ø©", + "ãĥª ãĥ¼", + "ล à¸ĩ", + "Ġ éĢ", + "Ġé Ģ", + "Ġ à¹Ģà¸Ľ", + "Ġà¹Ģ à¸Ľ", + "Ġà¹ĢภĽ", + "д Ñĸ", + "ÎŃ Ïģ", + "ìĦ ¤", + "г ÑĢа", + "es ine", + "esi ne", + "esin e", + "Ġ ее", + "Ġе е", + "Ġ iki", + "Ġi ki", + "Ġik i", + "Ġت ج", + "lar ına", + "ları na", + "ların a", + "d ür", + "dü r", + "ĠاÙĦ ذ", + "Ùħ ت", + "ĠठIJ", + "ि द", + "िठ¦", + "Ġ ë¹", + "Ġë ¹", + "ÑĦоÑĢм а", + "ÑĦоÑĢ Ð¼Ð°", + "Ġ они", + "Ġо ни", + "Ġон и", + "г оÑĢ", + "го ÑĢ", + "н еÑģ", + "не Ñģ", + "ìĺĢ ëĭ¤", + "ıl dı", + "Ġ çek", + "Ġç ek", + "Ġ дов", + "Ġд ов", + "Ġдо в", + "د ÛĮ", + "Ġ ÄĮesk", + "ĠÄĮ esk", + "ĠÄĮes k", + "ÑĪ Ð°", + "Ġ ات", + "Ġا ت", + "ĠØ§Ø ª", + "å± ĭ", + "æĸ ¼", + "Ġ práv", + "Ġp ráv", + "Ġpr áv", + "Ġprá v", + "é mu", + "ém u", + "å¸ Ī", + "ãħĭ ãħĭ", + "Ġil gili", + "Ġilg ili", + "Ġilgi li", + "ห ว", + "ठĩ", + "ा ष", + "ाठ·", + "ëŀ ij", + "as yon", + "asy on", + "ÑĨ ÑĮ", + "à¹ģ à¸ķ", + "ợ i", + "Ġв ÑĭÑģ", + "ĠвÑĭ Ñģ", + "ÑĸлÑĮ ки", + "ĠкоÑĤоÑĢ Ñĭе", + "н ики", + "ни ки", + "ник и", + "Ġ اد", + "Ġا د", + "ĠØ§Ø ¯", + "Ġ živ", + "Ġž iv", + "Ġži v", + "Ġα ÏĢο", + "ĠαÏĢ Î¿", + "ر ض", + "ا Ø©", + "Ø§Ø ©", + "Ġk dyž", + "Ġkdy ž", + "ữ a", + "Ġ ëĮĢíķľ", + "ĠëĮĢ íķľ", + "Ġt ôi", + "Ġtô i", + "Ñĥ ÑĶ", + "ز ر", + "Ġ å¥", + "Ġå ¥", + "ãĥĭ ãĥĭ", + "ب Ø©", + "ÏĦ οÏĤ", + "ÏĦο ÏĤ", + "ÑĨи он", + "Ġ ÙħÙĬ", + "ĠÙħ ÙĬ", + "Ġ Äĥn", + "ĠÄ ĥn", + "à¥ĩ à¤Ĺ", + "à¥ĩठĹ", + "Ġ ÑĢег", + "ĠÑĢ ÐµÐ³", + "ĠÑĢе г", + "ĠlỼ n", + "ì¤ Ģ", + "ìĭ ¬", + "Ġb iết", + "Ġbi ết", + "a ları", + "al arı", + "ala rı", + "alar ı", + "Ùģ ÙĬ", + "ä¸ĸ çķĮ", + "Ġне обÑħодим", + "Ġнеоб Ñħодим", + "à¸Ļ ว", + "ν ÏĦ", + "Ġ ảnh", + "íĸ Ī", + "Ġ वर", + "Ġव र", + "h led", + "hl ed", + "hle d", + "ิ à¸Ī", + "æŃ »", + "ĠاÙĦ تÙĬ", + "ĠاÙĦت ÙĬ", + "н оÑģ", + "но Ñģ", + "p rav", + "pr av", + "pra v", + "Ñı ÑĤи", + "ÑıÑĤ и", + "Ñī а", + "ÙĪ ÙĨÙĩ", + "ÙĪÙĨ Ùĩ", + "Ġ aÄŁ", + "Ġa ÄŁ", + "à¸ŀ ระ", + "à¸ŀร ะ", + "Ġth á»ijng", + "Ġthá» ijng", + "ÑĦ и", + "Ġг олов", + "Ġгол ов", + "Ġk hoa", + "Ġkh oa", + "Ġkho a", + "Ġ ëłĪ", + "Ġëł Ī", + "ãģ Ĵ", + "Ġget ir", + "Ġge tir", + "Ø´ ت", + "ж еннÑı", + "жен нÑı", + "е нÑĸ", + "ен Ñĸ", + "Ġgi ữ", + "Ġgiá» ¯", + "ler inin", + "leri nin", + "lerin in", + "lerini n", + "à¥Ģ व", + "éģ ¸", + "स र", + "ĠÑĩ елов", + "à¥į à¤ľ", + "à¥įठľ", + "ĠбÑĥ ло", + "Ġ اÙĨد", + "Ġا ÙĨد", + "ĠاÙĨ د", + "ั à¸Ļà¸Ĺ", + "ัà¸Ļ à¸Ĺ", + "è® ©", + "Ġq uyá»ģn", + "Ġquy á»ģn", + "ĠØŃ اÙĦ", + "ì² ĺ", + "Ġ лÑİд", + "ĠлÑİ Ð´", + "Ïģ Ïĩ", + "алÑĮ но", + "ãĢĢ ãĥ½", + "ê¸ ī", + "ãĤ ±", + "ĠÙħ رد", + "ĠÙħر د", + "Ġ ông", + "Ġô ng", + "Ġ اش", + "Ġا Ø´", + "ĠØ§Ø ´", + "大 åѦ", + "ì¦ Ī", + "æĪ ¦", + "e yi", + "ey i", + "Ġ ÐIJн", + "ĠÐIJ н", + "ि प", + "िठª", + "Ġt iêu", + "Ġti êu", + "Ø´ ÛĮ", + "ắ n", + "é ŃĶ", + "éŃ Ķ", + "ãģ¨ ãģĦãģĨ", + "ãģ¨ãģĦ ãģĨ", + "Ġ ìłĢ", + "Ġì łĢ", + "Ġìł Ģ", + "к ÑĤи", + "кÑĤ и", + "Ġ ÙħØŃÙħد", + "ĠÙħØŃ Ùħد", + "Ġ íĨµ", + "Ġí Ĩµ", + "ĠíĨ µ", + "ุ ม", + "åį ¡", + "о ÑĢов", + "оÑĢ Ð¾Ð²", + "оÑĢо в", + "к оÑİ", + "ко Ñİ", + "Ġl á»±c", + "å³ ¶", + "Ġ رÙĪØ²", + "Ġر ÙĪØ²", + "ĠرÙĪ Ø²", + "Ñħ Ñĸд", + "Ġh á»ĵ", + "Ġhá» ĵ", + "Ġ ül", + "Ġü l", + "Ġ Ø´Ùħ", + "ĠØ´ Ùħ", + "ÙĨ س", + "ب ÙĪ", + "Ġth êm", + "ạ c", + "åº ľ", + "e chn", + "ec hn", + "ech n", + "Ġ Îļα", + "ĠÎļ α", + "èij Ĺ", + "çľ ¼", + "á h", + "Ġ ι", + "ĠÎ ¹", + "ê¹Į ì§Ģ", + "m az", + "ma z", + "λο γ", + "Ġjs me", + "Ġ á¼", + "Ġá ¼", + "Ġп ÑĢави", + "ĠпÑĢ Ð°Ð²Ð¸", + "ĠпÑĢав и", + "ĠпÑĢа ви", + "к лад", + "Ġth á»§", + "Ġthá» §", + "s ah", + "sa h", + "ÄŁ it", + "ÄŁi t", + "Ġ ÙģÛĮ", + "ĠÙģ ÛĮ", + "ен но", + "à¥ģ à¤Ľ", + "à¥ģठĽ", + "ãģ »", + "çĻ ¾", + "и ÑĤа", + "иÑĤ а", + "ĠбÑĭ ло", + "ĠбÑĭл о", + "Ġv ys", + "Ġvy s", + "Ġ ì¶ľ", + "Ġì¶ ľ", + "ắ ng", + "ắn g", + "ĠÄij ại", + "ĠÙħ ÙĪØ±Ø¯", + "ĠÙħÙĪ Ø±Ø¯", + "ĠÙħÙĪØ± د", + "е ла", + "ел а", + "Ñĸ ÑĪ", + "л еннÑı", + "лен нÑı", + "æ IJ", + "Ġ нед", + "Ġн ед", + "Ġне д", + "i yat", + "iy at", + "iya t", + "ì ¼", + "Ġol duÄŁunu", + "ĠolduÄŁ unu", + "ĠolduÄŁu nu", + "د اÙĨ", + "دا ÙĨ", + "í Ŀ", + "Ġ سÛĮ", + "Ġس ÛĮ", + "ี à¸ģ", + "ÄĽ st", + "ım ı", + "ä¸ī ä¸ī", + "ãĤ ½", + "ĠÑĤ еп", + "ĠÑĤе п", + "Ġ ÑĢай", + "ĠÑĢ Ð°Ð¹", + "ĠÑĢаР¹", + "ĠÑĢа й", + "ा ध", + "ाठ§", + "Ġ ìĤ¬ëŀĮ", + "ĠìĤ¬ ëŀĮ", + "ĠT rung", + "ĠTr ung", + "ĠTru ng", + "ï¼ı ï¼ı", + "Ġt âm", + "Å¡ enÃŃ", + "Å¡e nÃŃ", + "Å¡en ÃŃ", + "ãĥ į", + "Ġ ÏĦοÏħÏĤ", + "ĠÏĦ οÏħÏĤ", + "ĠÏĦοÏħ ÏĤ", + "Ġ нÑĸ", + "Ġн Ñĸ", + "в ид", + "ви д", + "æ ¿", + "Ġ ظ", + "ĠØ ¸", + "ãĥ ¯", + "ì ¢ħ", + "ì¢ ħ", + "в аÑĤи", + "ва ÑĤи", + "ваÑĤ и", + "Ġqu á", + "ภ¤", + "ĠÄij ưá»Ŀng", + "à¥ģ द", + "à¥ģठ¦", + "r oj", + "ro j", + "Ġ ÑĥÑģ", + "ĠÑĥ Ñģ", + "é¦ Ļ", + "ì½ ĺ", + "Ġ ÙĪØª", + "ĠÙĪ Øª", + "ม าà¸ģ", + "มา à¸ģ", + "åĪ ĩ", + "Ġ án", + "Ġá n", + "Ġм ед", + "ìĹIJ ëĬĶ", + "Ġh lav", + "Ġhl av", + "ر ت", + "à¹ĥ à¸Ī", + "æ´ ²", + "Ġ лÑĸ", + "Ġл Ñĸ", + "æ Īĺ", + "æĪ ĺ", + "ÙĪ ÙĨد", + "ÙĪÙĨ د", + "è¶ ³", + "åĭ Ļ", + "çĶ ³", + "Ġ ì±", + "Ġì ±", + "ĠìĿ´ëıĻ íķ©ëĭĪëĭ¤", + "Ñī еÑģÑĤв", + "Ñīе ÑģÑĤв", + "Ġ ë¶Ī", + "Ġë ¶Ī", + "Ġë¶ Ī", + "ÙĦ ÙĪ", + "ü ven", + "èĪ ĩ", + "Ġgi Ỽi", + "Ġgiá» Ľi", + "Ġ ÙĪÙĤ", + "ĠÙĪ ÙĤ", + "Ġê°¤ ë¡ľê·¸", + "Ġ عاÙħ", + "Ġع اÙħ", + "ĺ IJ", + ": ::::", + ":: :::", + ":::: :", + "::: ::", + "Ġ Ñĥд", + "ĠÑĥ д", + "- ÑĤо", + "-ÑĤ о", + "Ġ ÑĦоÑĢ", + "ĠÑĦ оÑĢ", + "и ни", + "ин и", + "ãģĹ ãģĦ", + "ãģĹãģ Ħ", + "Ġê°¤ë¡ľê·¸ ë¡ľ", + "ãģ ³", + "ãĥ© ãĤ¤", + "e ná", + "en á", + "Ġ nez", + "Ġn ez", + "Ġne z", + "Ġönem li", + "Ġ ниÑħ", + "Ġн иÑħ", + "Ġни Ñħ", + "à¤Ĥ स", + "Ġà¤īस à¤ķ", + "à¥įर द", + "Ġn ói", + "Ġnó i", + "Ùĥ ÙĦ", + "ิ ว", + "κ ο", + "à¥ģ à¤ĸ", + "à¥ģठĸ", + "ö yle", + "öy le", + "ά λ", + "ó ng", + "ón g", + "ĠداÙĨ Ø´", + "Ġз б", + "ì »", + "à¸ľ ล", + "ëĵ¤ ìĿ´", + "Ġe tk", + "Ġet k", + "ر ات", + "را ت", + "Ġ εκ", + "Ġε κ", + "ÑĤ ÑĢа", + "ÑĤÑĢ Ð°", + "à¥į तर", + "à¥įत र", + "à¤Ĥ ब", + "Ġм ÑĸÑģ", + "ĠмÑĸ Ñģ", + "æł ¹", + "ãĥ Ļ", + "Ġt á»ī", + "Ġtá» ī", + "à¹Ģ à¸ĭ", + "à¹Ģภĭ", + "ìĪ ł", + "ï¼Į ä¸į", + "ìĺ ¨", + "Ġm ÄĽst", + "ĠmÄĽ st", + "ģ µ", + "a zı", + "az ı", + "r ada", + "ra da", + "rad a", + "ÏĢ Î±", + "m é", + "ÙĨ اÙħÙĩ", + "ÙĨا ÙħÙĩ", + "ÙĨاÙħ Ùĩ", + "ا ÛĮÙĦ", + "اÛĮ ÙĦ", + "μ η", + "l uk", + "lu k", + "Ùĥ ÙĬ", + "Ġ ï¼ī", + "Ġï¼ ī", + "Ġ деÑĤ", + "Ġд еÑĤ", + "Ġде ÑĤ", + "Ġiç inde", + "Ġiçin de", + "Ġiçi nde", + "Ñı м", + "Ġd ưá»", + "Ġdư á»", + "ĠпÑĢед ÑģÑĤав", + "ü re", + "ür e", + "åķ Ĭ", + "ĠÑĤ ÑĢÑĥ", + "ĠÑĤÑĢ Ñĥ", + "es ini", + "esi ni", + "esin i", + "Ġ але", + "Ġа ле", + "Ġал е", + "ãĥ³ ãĥī", + "ãĥ³ãĥ ī", + "à¥ĥ त", + "ε Ïħ", + "à¥ģ à¤Ĩ", + "à¥ģठĨ", + "Ġh iç", + "Ġhi ç", + "çĶ º", + "Ġ Ðĸ", + "ĠÐ ĸ", + "ç ħ§", + "çħ §", + "k á", + "Ġtr á»įng", + "Ġ تش", + "Ġت Ø´", + "ा श", + "ाठ¶", + "ĠÙħ Ø«", + "e tim", + "et im", + "eti m", + "Ġth ấy", + "Ġब ह", + "ع ت", + "ึ à¹ī", + "Ġs ev", + "Ġse v", + "Ñģ ÑĤа", + "ÑģÑĤ а", + "Ġc ứ", + "Ġt iá»ģn", + "Ġti á»ģn", + "à¥Ģ à¤ľ", + "Ñı г", + "ĠоÑĢг ани", + "ĠоÑĢган и", + "Ġб Ñĭл", + "ĠбÑĭ л", + "t ür", + "tü r", + "Ġب ازÛĮ", + "Ġبا زÛĮ", + "Ġباز ÛĮ", + "Ġ ìŀ¬", + "Ġìŀ ¬", + "व र", + "æľīéĻIJ åħ¬åı¸", + "k up", + "ku p", + "Ġ iyi", + "Ġi yi", + "Ġiy i", + "íķĺ ê²Į", + "ãĢĢ l", + "ãĤ· ãĥ§", + "ا رة", + "ار Ø©", + "ส ร", + "Ġt ÃŃch", + "ĠtÃŃ ch", + "Ġ каÑĢ", + "Ġк аÑĢ", + "Ġка ÑĢ", + "и б", + "ĠвÑĸд повÑĸд", + "ĠвÑĸдпов Ñĸд", + "Ġpo dle", + "Ġpod le", + "à¥įर à¤ķ", + "i yon", + "iy on", + "к оном", + "ко ном", + "кон ом", + "Ġ μÎŃ", + "Ġμ ÎŃ", + "Ġп ÑĢоиз", + "ĠпÑĢо из", + "Ġ âĢı", + "ĠâĢ ı", + "m ektedir", + "mekte dir", + "Ω ÎĿ", + "Ġb áo", + "à¸Ī ำ", + "ëį Ķ", + "ë¸ Į", + "Ġs ợ", + "ÛĮ رÛĮ", + "ÛĮر ÛĮ", + "о нÑĥ", + "он Ñĥ", + "ın daki", + "ında ki", + "ınd aki", + "алÑĮ ного", + "алÑĮно го", + "μ β", + "л из", + "ли з", + "Ġjej ich", + "æĸ ½", + "ä¾ ¿", + "l eÅŁtir", + "le ÅŁtir", + "leÅŁ tir", + "ĠÙĪ Ø£", + "Ġस ब", + "l erde", + "ler de", + "Ġ ÚĨÙĩ", + "ĠÚĨ Ùĩ", + "ÏĦ ÎŃ", + "Ġg ì", + "Ġ Ãļ", + "Ġà ļ", + "ĠÑĢаÑģ п", + "ĠÑĢа Ñģп", + "Ġt üm", + "à¹Ģ à¸ĩ", + "à¹Ģภĩ", + "èIJ ½", + "ìĨ ¡", + "à¹Ħ à¸Ĺย", + "m Ä±ÅŁtır", + "mÄ±ÅŁ tır", + "mÄ±ÅŁtı r", + "Ġ ÙĤرار", + "ĠÙĤر ار", + "Ġ à¸Ħาส", + "Ġà¸Ħ าส", + "Ġk ıs", + "Ġkı s", + "о ваниÑı", + "ов аниÑı", + "ова ниÑı", + "овани Ñı", + "ован иÑı", + "ãĤĤ ãģ®", + "د اÙħ", + "دا Ùħ", + "ìľ ¡", + "ol oj", + "olo j", + "ĠпоÑģл е", + "ĠпоÑģ ле", + "Ġ Так", + "ĠТ ак", + "ĠТа к", + "Ġб олее", + "Ġбол ее", + "ĠÄij á»ķi", + "ĠÄijá»ķ i", + "l ak", + "la k", + "í ħĮ", + "íħ Į", + "Ġa yn", + "Ġay n", + "Ñı Ñģ", + "Ġп ог", + "Ġпо г", + "Ġar asında", + "Ġaras ında", + "Ġara sında", + "Ġarası nda", + "Ī ¬", + "à¥Ĥ ल", + "Ġ ανα", + "Ġα να", + "Ġαν α", + "Ġq uyết", + "Ġquy ết", + "Ġthu á»Ļc", + "Ġd ün", + "Ġdü n", + "Ġp ÅĻes", + "ĠpÅĻ es", + "ĠpÅĻe s", + "ÑĦ Ñĸ", + "Ġ å¸", + "Ġå ¸", + "ا ÙĦÙĬ", + "اÙĦ ÙĬ", + "Ġп овеÑĢ", + "Ġпо веÑĢ", + "Ġпов еÑĢ", + "Ñĩ ина", + "Ñĩи на", + "Ñĩин а", + "s ko", + "sk o", + "çµ IJ", + "Ø ¡", + "Ġ гÑĢа", + "Ġг ÑĢа", + "ĠгÑĢ Ð°", + "о ÑĤи", + "оÑĤ и", + "Ġqu á»ijc", + "ÑĨ Ñĸв", + "ÑĨÑĸ в", + "l endir", + "len dir", + "lendi r", + "в Ñĸд", + "вÑĸ д", + "Ġж иÑĤ", + "ü yor", + "üy or", + "ï¼Į ä»ĸ", + "lar ında", + "ları nda", + "ların da", + "Ġu yg", + "Ġuy g", + "Ġtr ÃŃ", + "Ġ Ø´ÙĨ", + "ĠØ´ ÙĨ", + "ا بÙĦ", + "اب ÙĦ", + "æ· ±", + "Âł p", + "Ñģ каÑı", + "Ñģк аÑı", + "Ñģка Ñı", + "о ÑĤа", + "оÑĤ а", + "ÙĪ Ø·", + "Ġ اط", + "Ġا Ø·", + "ĠØ§Ø ·", + "ä¾ Ĩ", + "Ġз аÑĤ", + "Ġза ÑĤ", + "Ġ име", + "Ġи ме", + "Ġим е", + "à¹Ģà¸Ĺ ศ", + "ëĭ ´", + "n ÄĽnÃŃ", + "nÄĽ nÃŃ", + "nÄĽn ÃŃ", + "Ñĥ лÑı", + "Ñĥл Ñı", + "- п", + "å ĺ", + "Ġв ип", + "Ġви п", + "аÑĢа кÑĤ", + "à¹Ģ à¸ļ", + "à¹Ģภļ", + "ç¦ ı", + "Ïģ Ïİ", + "س Ùĩ", + "à¥Į र", + "Ġdi ÄŁer", + "à¹Ĥ à¸Ķย", + "à¹Ĥà¸Ķ ย", + "ĠÑģп оÑģоб", + "ĠÑģпоÑģ об", + "åį ·", + "è ĸ", + "а нÑĤ", + "ан ÑĤ", + "Ñİ ÑĤÑĮÑģÑı", + "ÑİÑĤÑĮ ÑģÑı", + "ĠÑį ÑĤом", + "ĠÑįÑĤ ом", + "ĠÑįÑĤо м", + "Ġ ï½Ģ", + "Ġï½ Ģ", + "ส าม", + "ì m", + "ĠÑĪ Ðº", + "Ġ à¸Ľà¸£à¸°", + "Ġà¸Ľ ระ", + "Ġà¸Ľà¸£ ะ", + "़ à¥Ģ", + "e kl", + "ek l", + "m uÅŁ", + "mu ÅŁ", + "ĠÑĤак ож", + "ÙĪ Ø³Ø·", + "ÙĪØ³ Ø·", + "Ġ Äįi", + "ĠÄį i", + "ี à¸Ļ", + "ÛĮ ÙĨÙĩ", + "ÛĮÙĨ Ùĩ", + "ÄĽ k", + "å½ ¼", + "le rine", + "ler ine", + "leri ne", + "lerin e", + "ĠÄij ất", + "à¥ģ à¤ı", + "à¥ģठı", + "ол оÑģ", + "оло Ñģ", + "Ġ å°ı", + "Ġå° ı", + "ز ÙĬØ©", + "زÙĬ Ø©", + "Ġв ла", + "à¥Ģ ल", + "Ġ etti", + "Ġe tti", + "Ġet ti", + "Ġett i", + "ĠÑģ оÑģÑĤав", + "ĠÑģо ÑģÑĤав", + "ĠÑģоÑģÑĤ ав", + "ÙĦ اÙĦ", + "ÙĦا ÙĦ", + "Ġ çİ", + "Ġç İ", + "ĠpÅĻÃŃ pad", + "ëŁ °", + "ุ à¸ģ", + "Ġ Ñĩи", + "ĠÑĩ и", + "å ħį", + "åħ į", + "n ÄĽjÅ¡ÃŃ", + "nÄĽ jÅ¡ÃŃ", + "ิ ล", + "åį Ģ", + "s kých", + "sk ých", + "ský ch", + "า ศ", + "าภ¨", + "åIJ Ĺ", + "Ġ íĺĦ", + "Ġíĺ Ħ", + "Ġal ın", + "å§ Ķ", + "à¸ŀ ร", + "až d", + "Ġб ÑĸлÑĮ", + "ĠбÑĸ лÑĮ", + "ĠбÑĸл ÑĮ", + "à¹Ī วà¸Ļ", + "à¹Īว à¸Ļ", + "o og", + "oo g", + "a cı", + "ac ı", + "l ıģ", + "lı ÄŁ", + "Ġk hu", + "Ġkh u", + "Ġh izmet", + "Ġ éĽ", + "Ġé Ľ", + "Ġ Îĺ", + "ĠÎ ĺ", + "Ġde ÄŁer", + "ĠdeÄŁ er", + "åħ Ń", + "Ġ دÙĩ", + "Ġد Ùĩ", + "Ġn ÄĽk", + "ĠnÄĽ k", + "à¸Ħ à¸Ļ", + "е ÑĤÑĮ", + "еÑĤ ÑĮ", + "ب اÙĨ", + "با ÙĨ", + "ÏĦ ική", + "ÏĦικ ή", + "ÏĦι κή", + "ĠÄij á»ĭa", + "ĠÄijá»ĭ a", + "Ġ Công", + "ĠC ông", + "íĮ IJ", + "Ġк огда", + "ĠÚ© ÙĨد", + "ĠÚ©ÙĨ د", + "ãģ§ ãģį", + "ĠÏĢ ÎµÏģι", + "ĠÏĢεÏģ ι", + "ĠÏĢε Ïģι", + "lar dan", + "larda n", + "Ġ зем", + "Ġз ем", + "ت ÙĪØ§ÙĨ", + "تÙĪ Ø§ÙĨ", + "è³ ĩ", + "li kle", + "lik le", + "Ġt ụ", + "Ġtá» ¥", + "Ġd ẫn", + "Ġn ay", + "Ġna y", + "Ġ ÑģÑĤоÑĢ", + "ĠÑģ ÑĤоÑĢ", + "ĠÑģÑĤ оÑĢ", + "ĠÑģÑĤо ÑĢ", + "ĠØ´ Ùħا", + "ĠØ´Ùħ ا", + "Ø« ر", + "Ġd edi", + "Ġde di", + "Ġded i", + "к ое", + "ко е", + "ë ijIJ", + "ëij IJ", + "ÑĨ ев", + "ÑĨе в", + "ج Ùĩ", + "Ġm ůže", + "Ġmů že", + "Ġmůž e", + "à¥ģ प", + "à¥ģठª", + "à¥įर म", + "Ġ taÅŁ", + "Ġt aÅŁ", + "Ġta ÅŁ", + "оÑĢ ÑĤ", + "γ Ïģα", + "çĻ ¼", + "า à¸ļ", + "าภļ", + "iá» ħn", + "iá»ħ n", + "ĠÙħ ست", + "ĠÙħس ت", + "л екÑģ", + "ле кÑģ", + "лек Ñģ", + "Ġ prav", + "Ġp rav", + "Ġpr av", + "Ġpra v", + "Ġд оÑģ", + "Ġдо Ñģ", + "Ġd Ä±ÅŁ", + "Ġ zem", + "Ġz em", + "Ġze m", + "Ġg iao", + "Ġgi ao", + "Ġgia o", + "Ġv last", + "Ġvl ast", + "Ġvlas t", + "ĠÑį ÑĤого", + "ĠÑįÑĤ ого", + "ĠÑįÑĤо го", + "ï½ °", + "ว à¸ĩ", + "ÑĢ Ð¾Ð¹", + "ÑĢо й", + "Ġbir lik", + "e ný", + "en ý", + "Ġ ëĭ¨", + "Ġëĭ ¨", + "ов ани", + "ова ни", + "ован и", + "é£ İ", + "íı ī", + "Ġz ah", + "Ġza h", + "б а", + "åĬ ©", + "éĢ ²", + "ê ¶Į", + "Ġd iye", + "Ġdi ye", + "Ġdiy e", + "à¤Ĥ à¤ķ", + "Ġch uyá»ĥn", + "Ġ ìĹŃ", + "ĠìĹ Ń", + "Ġ ÑĤÑĢи", + "ĠÑĤ ÑĢи", + "ĠÑĤÑĢ Ð¸", + "Ġö nce", + "Ġön ce", + "Ġönc e", + "ï¼Į è¿Ļ", + "o ại", + "л еÑĤ", + "ле ÑĤ", + "ĠÏĥ Ïħν", + "ĠÏĥÏħ ν", + "l ád", + "lá d", + "ç e", + "t ü", + "Ġ Äįást", + "ĠÄį ást", + "ĠÄįá st", + "Ġ εν", + "Ġε ν", + "Ġb iá»ĩt", + "Ġ é«", + "Ġé «", + "à¥ĭ à¤ķ", + "ÙĦ ات", + "ÙĦا ت", + "ب اÙĦ", + "با ÙĦ", + "e cies", + "ec ies", + "eci es", + "Ġ ëĭ¹", + "Ġëĭ ¹", + "à¸Ĭ à¸Ļ", + "ÏĦ αÏĤ", + "ÏĦα ÏĤ", + "à¥į ण", + "à¥įठ£", + "u jÃŃcÃŃ", + "uj ÃŃcÃŃ", + "ujÃŃ cÃŃ", + "Äį et", + "Äįe t", + "Ġп об", + "Ġпо б", + "ÙĪ Ø§Ø±", + "ÙĪØ§ ر", + "i yas", + "iy as", + "iya s", + "Ġd ruh", + "Ġdr uh", + "Ġdru h", + "د د", + "ÏĮ ν", + "ÑĢ ÐµÐ½", + "ÑĢе н", + "า รà¸ĸ", + "าร à¸ĸ", + "ä½ İ", + "ìķ ½", + "ÑĢ Ð¾Ð·", + "ÑĢо з", + "ëĬĶ ëį°", + "ãĤĵ ãģª", + "Äį enÃŃ", + "Äįe nÃŃ", + "Äįen ÃŃ", + "**** ********", + "******** ****", + "****** ******", + "***** *******", + "******* *****", + "Ġ Ρ", + "ĠÎ ¡", + "ĠÑĤ омÑĥ", + "ĠÑĤо мÑĥ", + "ĠÑĤом Ñĥ", + "ร à¸ģ", + "à¥ģ स", + "à¥ģठ¸", + "ä¹ Ŀ", + "å°± æĺ¯", + "£ i", + "éĺ ²", + "Ùĥ ر", + "ĠÑį ÑĤи", + "ĠÑįÑĤ и", + "ĠÚ© Ø´ÙĪØ±", + "ĠÚ©Ø´ ÙĪØ±", + "Ġ ê°IJ", + "Ġê° IJ", + "Ġ ад", + "Ġа д", + "Ġ داد", + "Ġد اد", + "éģ İ", + "Ù «", + "Ġl áºŃp", + "Ġ اÙĦÙĩ", + "Ġا ÙĦÙĩ", + "ĠاÙĦ Ùĩ", + "æľ Ľ", + "Ġ تÙĩ", + "Ġت Ùĩ", + "ì§ Ī", + "ãģ§ ãģĤãĤĭ", + "ãģ§ãģĤ ãĤĭ", + "Ġ меж", + "Ġм еж", + "ĠÑĢ ÐµÐ·ÑĥлÑĮÑĤ", + "ĠÑĢез ÑĥлÑĮÑĤ", + "ç į", + "е мÑĥ", + "ем Ñĥ", + "Ġ تÙĪØ§ÙĨ", + "Ġت ÙĪØ§ÙĨ", + "ĠتÙĪ Ø§ÙĨ", + "Ġ راÙĩ", + "Ġر اÙĩ", + "Ġرا Ùĩ", + "ãĥ¼ ãĥł", + "ãĥ¼ãĥ ł", + "åĦ ¿", + "å± ŀ", + "б Ñĭ", + "á ¿", + "à¸Ħ ล", + "à¥ĭ à¤Ī", + "üt ün", + "à¤Ĺ र", + "ìķĺ ëĭ¤", + "âĪ §", + "Ġ ì°¨", + "Ġì° ¨", + "çµ Ħ", + "μα ÏĦα", + "ุ à¸Ļ", + "Ġ ÑĤом", + "ĠÑĤ ом", + "ĠÑĤо м", + "еÑĢ Ð²", + "Îij Σ", + "ĠiÅŁ lem", + "ع Ùħ", + "ë ĥ", + "ãĥ Ħ", + "ا ÙģØª", + "اÙģ Øª", + "åĬ ŀ", + "Ġ nes", + "Ġn es", + "Ġne s", + "av aÅŁ", + "ava ÅŁ", + "ĠÙĨ ÛĮز", + "ĠÙĨÛĮ ز", + "å¼ º", + "Ġ éĻ", + "Ġé Ļ", + "Ñĸн нÑı", + "æ² ³", + "á ÅĻ", + "æĿ IJ", + "ĠØ£ ÙĬ", + "Ġ ì¹´", + "Ġì¹ ´", + "Ġn enÃŃ", + "Ġne nÃŃ", + "Ġnen ÃŃ", + "Ġ ÙĪÙħ", + "ĠÙĪ Ùħ", + "Ġ Ú©Ùħ", + "ĠÚ© Ùħ", + "i ếu", + "iế u", + "Ġ æ°", + "Ġæ °", + "åĮ »", + "Ġz or", + "Ġzo r", + "ί Ïĥ", + "ि ध", + "िठ§", + "Ġп оказ", + "Ġпо каз", + "Ġпок аз", + "Ġпока з", + "ह र", + "Ġiç er", + "ØŃ Ø©", + "ि à¤ĸ", + "िठĸ", + "а да", + "ад а", + "تر ÛĮÙĨ", + "ترÛĮ ÙĨ", + "Ġ bao", + "Ġb ao", + "Ġba o", + "Ġx ã", + "à¹Ģ à¸Ħร", + "à¹Ģà¸Ħ ร", + "Ġngh Ä©", + "à¹ģ à¸ļà¸ļ", + "à¹ģà¸ļ à¸ļ", + "ĠdoÄŁ ru", + "ĠdoÄŁr u", + "Ñĸ ÑĤи", + "ÑĸÑĤ и", + "Ġ بÙĬÙĨ", + "Ġب ÙĬÙĨ", + "ĠبÙĬ ÙĨ", + "Ġ леÑĤ", + "Ġл еÑĤ", + "ا غ", + "Ø§Ø º", + "ÛĮ Ú©ÛĮ", + "ÛĮÚ© ÛĮ", + "r áv", + "rá v", + "à¥į âĢį", + "âĢĻ nin", + "âĢĻn in", + "Ġ ย", + "Ġภ¢", + "åį Ĭ", + "Ġк оли", + "Ġкол и", + "Ġко ли", + "Ġtr ợ", + "éĿ Ĵ", + "ëŀ Ģ", + "Ġ ë¨", + "Ġë ¨", + "Ġ ÙĪØ±", + "ĠÙĪ Ø±", + "ï¾ Ĭ", + "è§ Ĥ", + "Ġ пи", + "Ġп и", + "н Ñĥв", + "нÑĥ в", + "il mesi", + "ilm esi", + "س تÙĩ", + "ست Ùĩ", + "Ġд еÑĢжав", + "ĠдеÑĢж ав", + "å® ĥ", + "åĪ ¥", + "ëħ Ģ", + "л ÑģÑı", + "à¤Ĥ ध", + "Ġ ÑĤи", + "ĠÑĤ и", + "ĠpÅĻ ip", + "ĠpÅĻi p", + "п и", + "á» ĵn", + "á»ĵ n", + "о ваÑĤÑĮ", + "ов аÑĤÑĮ", + "ова ÑĤÑĮ", + "ìĿ´ ëĿ¼", + "æľ Ŀ", + "Ġ ëĺIJ", + "Ġë ĺIJ", + "Ġëĺ IJ", + "ĠÎŃ Î½Î±", + "ĠÎŃν α", + "ãģ¾ ãģ§", + "ج اÙħ", + "جا Ùħ", + "Ġ ëĬ", + "Ġë Ĭ", + "н Ñĸв", + "нÑĸ в", + "ÏĢ Î¿Ïħ", + "ÏĢο Ïħ", + "Ġ زÙħاÙĨ", + "Ġز ÙħاÙĨ", + "ĠزÙħ اÙĨ", + "æĽ ²", + "Ġ ÙħÙĩ", + "ĠÙħ Ùĩ", + "ëł ¨", + "ä¸ ĥ", + "ãģ¨ ãģĹãģ¦", + "l abilir", + "la bilir", + "lab ilir", + "о же", + "ож е", + "å¤ ľ", + "ĠнÑĥж но", + "å½ ©", + "çĪ ±", + "Ġho Ãłn", + "ün ü", + "Ġ ëĦ¤", + "ĠëĦ ¤", + "Ġ جÙĨ", + "Ġج ÙĨ", + "Ġn ÄĽj", + "ĠnÄĽ j", + "к ими", + "ки ми", + "ким и", + "Ġa ynı", + "Ġayn ı", + "Ġ ÙĥÙĦ", + "ĠÙĥ ÙĦ", + "Ġnh au", + "Ạ³", + "ÙĬ ات", + "ÙĬا ت", + "Ġm ezi", + "Ġme zi", + "Ġmez i", + "Ġ ÑĢек", + "ĠÑĢ ÐµÐº", + "ĠÑĢе к", + "Ġ tür", + "Ġt ür", + "Ġ говоÑĢ", + "Ġг овоÑĢ", + "Ġfaz la", + "åĩ Ĩ", + "ÑĪ Ð¸Ð¹", + "ÑĪи й", + "ÐŁ ÑĢи", + "ÐŁÑĢ Ð¸", + "ÑĢ Ð¾ÑģÑĤ", + "ÑĢоÑģ ÑĤ", + "ÑĢо ÑģÑĤ", + "ĠоÑĢг ан", + "ĠоÑĢ Ð³Ð°Ð½", + "n ým", + "ný m", + "Ġ ÑĢод", + "ĠÑĢ Ð¾Ð´", + "Ġ ÙĪÛĮ", + "ĠÙĪ ÛĮ", + "ic ký", + "ick ý", + "ë¦ ¼", + "ï½ ²", + "æĢ İ", + "ĠÙĩ ذا", + "ĠÑĩ аÑģÑĤи", + "ĠÑĩа ÑģÑĤи", + "ĠÑĩаÑģ ÑĤи", + "ĠÑĩаÑģÑĤ и", + "ÃŃ r", + "á»ĩ nh", + "á»ĩn h", + "Ġ íĹ", + "Ġí Ĺ", + "ê »", + "lu ž", + "ÃŃ l", + "c ÃŃch", + "cÃŃ ch", + "å® Ł", + "ãģł ãģ£ãģŁ", + "ÙĬ رة", + "ÙĬر Ø©", + "Ġv Äĥn", + "æ¸ ¯", + "Ġ ÏĦιÏĤ", + "ĠÏĦι ÏĤ", + "ا رت", + "ار ت", + "Ġv ấn", + "âĶģâĶģ âĶģâĶģ", + "å¯ ¾", + "Ïģ ÎŃ", + "Ġг одÑĥ", + "Ġгод Ñĥ", + "Ġ سب", + "Ġس ب", + "ا رات", + "ار ات", + "ارا ت", + "е лей", + "ел ей", + "еле й", + "Ġз аÑħ", + "Ġза Ñħ", + "Ġ важ", + "Ġв аж", + "Ġва ж", + "Ġt á»īnh", + "Ġtá» īnh", + "Ġtá»ī nh", + "ا بع", + "اب ع", + "Ġ à¤ľà¤¬", + "Ġà¤ľ ब", + "Ġà¤IJ स", + "Ġ дÑĥ", + "Ġд Ñĥ", + "Ġ é«ĺ", + "Ġé «ĺ", + "Ġé« ĺ", + "ê² ł", + "н ее", + "не е", + "ï½ Į", + "Ġм ал", + "Ġма л", + "è¾ ¹", + "ãģł ãģij", + "à¹ī ร", + "ÙĤ Ø·", + "Ġb ên", + "Ġs eb", + "Ġse b", + "ĠØ® ÙĪØ§Ùĩ", + "ĠØ®ÙĪ Ø§Ùĩ", + "s iz", + "si z", + "Ġol ur", + "Ġ ëͰ", + "ĠëĶ °", + "Ġ ì¢ĭ", + "Ġì¢ ĭ", + "Ġs vÄĽt", + "Ġsv ÄĽt", + "ĠsvÄĽ t", + "ic ká", + "ick á", + "á» ¹", + "Ġqu ản", + "Ġquả n", + "Ġ иÑģ", + "Ġи Ñģ", + "Ġz aÄį", + "Ġza Äį", + "ื à¸Ńà¸Ļ", + "ืà¸Ń à¸Ļ", + "ÑĶ Ñİ", + "ि ष", + "िठ·", + "ç Ĭ¶", + "çĬ ¶", + "Ïĥ μ", + "ั ส", + "ó c", + "Ġ беÑĢ", + "Ġб еÑĢ", + "Ġ íĿ", + "Ġí Ŀ", + ";: ;:", + "Ġ پس", + "ĠÙ¾ س", + "Ġ ëijIJ", + "Ġë ijIJ", + "Ġëij IJ", + "н иÑĩ", + "ни Ñĩ", + "Ġо ÑĩенÑĮ", + "ĠоÑĩ енÑĮ", + "ĠìķĦìĿ´ ì½ĺ", + "Ġ θα", + "Ġθ α", + "Ġв ÑģÑĤ", + "ĠвÑģ ÑĤ", + "ا دة", + "اد Ø©", + "Ġdev am", + "ื à¸Ńà¸ĩ", + "ืà¸Ń à¸ĩ", + "ĠлÑİ Ð´Ð¸", + "ĠлÑİд и", + "ìĺ Ī", + "á»± a", + "Ñı Ñħ", + "âĢĮ اÛĮ", + "Ġ سÙĪ", + "Ġس ÙĪ", + "å° ¼", + "Ġth ứ", + "Ġthá» ©", + "m eye", + "me ye", + "mey e", + "Ġ èµ", + "Ġè µ", + "èī ¯", + "ĠdeÄŁ iÅŁ", + "ÑĪ Ñĸ", + "Ġtr ợ", + "ĠâĢİ #", + "çĹ ħ", + "ìĽ Į", + "Ġk de", + "Ġkd e", + "Î §", + "æ ¤", + "ĠÑħ аÑĢакÑĤ", + "æ ĩ", + "Ġb iến", + "Ġbi ến", + "ÙĤ ع", + "åŁ Ł", + "Ġн еп", + "Ġне п", + "Ġd ů", + "Ġп иÑĤ", + "Ġпи ÑĤ", + "ĠÑĤ ÑĢеб", + "ĠÑĤÑĢ ÐµÐ±", + "ا زÛĮ", + "از ÛĮ", + "Ġ طر", + "ĠØ· ر", + "Ġ ÙħÙĦ", + "ĠÙħ ÙĦ", + "Ġt ham", + "Ġth am", + "Ġtha m", + "Ġ ÙĪØ¬ÙĪØ¯", + "ĠÙĪØ¬ ÙĪØ¯", + "Ġs vé", + "Ġsv é", + "é§ ħ", + "ا ÛĮÙĨ", + "اÛĮ ÙĨ", + "Ġt iên", + "Ġti ên", + "s tru", + "st ru", + "str u", + "Ġv áºŃy", + "ü ne", + "ün e", + "Ġ à¹Ģม", + "Ġà¹Ģ ม", + "Ġà¹Ģภ¡", + "Ġr ằng", + "а ÑĤÑĥ", + "аÑĤ Ñĥ", + "äº ij", + "н иÑĤ", + "ни ÑĤ", + "ä¼ Ĭ", + "ÙĪ Øµ", + "Ġ éĿ", + "Ġé Ŀ", + "ĠпÑĢоб лем", + "d eki", + "de ki", + "dek i", + "** ************", + "******** ******", + "****** ********", + "******* *******", + "************ **", + "ò a", + "ĠÄijá»ģ u", + "ãĤĮ ãģŁ", + "ا رس", + "ار س", + "ãģª ãģı", + "ا ÙĤع", + "اÙĤ ع", + "è» į", + "Ùĥ Ùħ", + "Äį as", + "Ġk ỳ", + "Ġká» ³", + "Ø´ Ùħ", + "à¥ĩ ड", + "à¥ĩठ¡", + "éĺ ¿", + "Ġje jÃŃ", + "Ġjej ÃŃ", + "Ġ æĻ", + "Ġæ Ļ", + "Ġ Ä°ÅŁ", + "Ġİ ÅŁ", + "ar dım", + "ard ım", + "Ġसम य", + "Ġ ÐĿо", + "ĠÐĿ о", + "i lerin", + "il erin", + "ile rin", + "iler in", + "ileri n", + "Ġع بد", + "Ġعب د", + "n ÃŃk", + "nÃŃ k", + "ĠØ´ Ú©ÙĨ", + "ĠØ´Ú© ÙĨ", + "ิ à¸Ĺย", + "ิà¸Ĺ ย", + "á» ħ", + "ÑĢ ÐµÐ·", + "ÑĢе з", + "Ġch ứng", + "Ġchứ ng", + "Ġ :.", + "Ġ: .", + "Ġ पत", + "Ġप त", + "Ġž ivot", + "Ġživ ot", + "å¢ ĥ", + "« a", + "Ġt rung", + "Ġtr ung", + "ни кÑĸв", + "ник Ñĸв", + "ĠاÙĦ ÙħÙĨ", + "ĠاÙĦÙħ ÙĨ", + "ĠÑĢ Ð°ÑģÑģ", + "ĠÑĢаÑģ Ñģ", + "Ġ жив", + "Ġж ив", + "Ġз акон", + "Ġза кон", + "Ġзак он", + "Ġзако н", + "Ġ 목", + "Ġëª ©", + "Ġz áv", + "Ġzá v", + "Ġh akk", + "Ġha kk", + "Ġhak k", + "ä» ¤", + "ĠÑı кий", + "ĠÑıк ий", + "Ġ بÙĬ", + "Ġب ÙĬ", + "λ ÎŃ", + "oc uk", + "ocu k", + "Ġ Ñİ", + "ĠÑ İ", + "à¸ģ ว", + "Ġ اÙĨÚ¯", + "Ġا ÙĨÚ¯", + "ĠاÙĨ Ú¯", + "à¥ģ à¤Ĥ", + "à¥ģठĤ", + "Ġ nám", + "Ġn ám", + "Ġná m", + "á»ķ ng", + "Ġж ел", + "Ġже л", + "ĠÄij ặc", + "Äį it", + "Äįi t", + "Ġ ê±´", + "Ġê± ´", + "Ġب ÛĮØ´", + "ĠبÛĮ Ø´", + "кÑĢаÑĹ Ð½", + "Ġ ÙĪÙĩ", + "ĠÙĪ Ùĩ", + "н еннÑı", + "нен нÑı", + "Ġ à¹Ģà¸ŀ", + "Ġà¹Ģ à¸ŀ", + "Ġà¹Ģภŀ", + "о мен", + "ом ен", + "Ġl ần", + "Ġ عÙħÙĦ", + "Ġع ÙħÙĦ", + "ĠعÙħ ÙĦ", + "Ġî ģµ", + "Ä ŀ", + "ÑĸÑģ лÑı", + "ư ng", + "ा फ", + "ाठ«", + "à¸Ĺ à¸ĺ", + "д ен", + "де н", + "ĠÑī об", + "ĠÑīо б", + "Ñĩ ив", + "Ñĩи в", + "ılı r", + "ıl ır", + "ا عات", + "اع ات", + "j ÃŃcÃŃ", + "jÃŃ cÃŃ", + "ë² ¨", + "ÚĨ Ùĩ", + "ا رج", + "ار ج", + "ĠÙ¾ رÙĪ", + "Ġپر ÙĪ", + "Ġо дин", + "Ġод ин", + "Ġоди н", + "л ин", + "ли н", + "б Ñĥ", + "Ġसर à¤ķ", + "åĢ Ļ", + "ë¶Ģ íĦ°", + "à¥Īà¤Ĥ ,", + "å ´", + "à¹Ĥ ล", + "Ġv Å¡ak", + "ĠvÅ¡ ak", + "Ġоп ÑĢед", + "ì ±", + "æ ½", + "Ġdá»± ng", + "p ráv", + "pr áv", + "ิ ส", + "Ġnh iá»ĩm", + "Ġil iÅŁ", + "Ġili ÅŁ", + "Ġе Ñīе", + "Ġje Å¡tÄĽ", + "Ġ ÑĢаÑģÑĤ", + "ĠÑĢ Ð°ÑģÑĤ", + "ĠÑĢаÑģ ÑĤ", + "ĠÑĢа ÑģÑĤ", + "ภ®", + "à¤Ĥ à¤Ł", + "âĢĮ Ú©", + "Ġ بÛĮÙĨ", + "Ġب ÛĮÙĨ", + "ĠبÛĮ ÙĨ", + "o vou", + "ov ou", + "ovo u", + "æĻ ®", + "ί εÏĤ", + "о ÑĢоÑĪ", + "оÑĢ Ð¾ÑĪ", + "оÑĢо ÑĪ", + "Ġol mak", + "Ġolm ak", + "Ġolma k", + "Ġst át", + "di ÄŁi", + "Ġt ình", + "Ġ dÄĽ", + "Ġd ÄĽ", + "ĠÚ¯ رÙģ", + "Ġگر Ùģ", + "Ïĥ ο", + "Ġ ÑĥÑĤ", + "ĠÑĥ ÑĤ", + "íķĻ êµIJ", + "ั à¸IJ", + "า à¸Ń", + "าภŃ", + "ĠÄij ặt", + "Ġмог ÑĥÑĤ", + "ĠмогÑĥ ÑĤ", + "ë° °", + "t ik", + "ti k", + "ª ½", + "li ÄŁ", + "ÏĢ Îµ", + "Ġ èĢ", + "Ġè Ģ", + "k ü", + "ad ece", + "ade ce", + "κ ÏĮ", + "Ġ дÑĸ", + "Ġд Ñĸ", + "ầ m", + "çĦ¡ ãģĹ", + "Û²Û° Û±", + "èµ Ľ", + "оÑģ Ñĥд", + "Ġ ìķĪëĤ´", + "ĠìķĪ ëĤ´", + "Ġ ÐĶж", + "ĠÐĶ Ð¶", + "åº §", + "ic kých", + "ick ých", + "ický ch", + "Ġ ìłģ", + "Ġì łģ", + "Ġìł ģ", + "à¥ĩ ,", + "ov ého", + "ové ho", + "Ġv ẫn", + "Ġbirlik te", + "Ġर à¤ĸ", + "Ġ ÙĨÙĩ", + "ĠÙĨ Ùĩ", + "ÙĤ ر", + "प र", + "e tÃŃ", + "et ÃŃ", + "Ġ ÑĤÑĭ", + "ĠÑĤ Ñĭ", + "Ģ ìĿ´", + "Ġà¤ħ ल", + "Ġм оже", + "Ġмож е", + "Ġмо же", + "ãĤ ´", + "Ġs tran", + "Ġst ran", + "Ġstr an", + "Ġstra n", + "Ø· ر", + "è¿Ļ 个", + "Ġ بع", + "Ġب ع", + "åĨ Ľ", + "ek tir", + "ekt ir", + "Ġh Æ°á»Ľng", + "ÙĨ اÙĨ", + "ÙĨا ÙĨ", + "Ġठij", + "Ġà ¤ij", + "ÏĮ ÏĦη", + "о Ñģк", + "оÑģ к", + "åį ĥ", + "as ına", + "ası na", + "Ġ Ø´Ùĩ", + "ĠØ´ Ùĩ", + "Ġ деÑĢ", + "Ġд еÑĢ", + "Ġде ÑĢ", + "ĠÙħ خت", + "ĠÙħØ® ت", + "Ġ ØŃÙĤ", + "ĠØŃ ÙĤ", + "ãĥ ¾", + "س اÙĨ", + "Ġc ung", + "Ġcu ng", + "ко ÑĢиÑģÑĤ", + "коÑĢ Ð¸ÑģÑĤ", + "ÏĦ ικά", + "ÏĦικ ά", + "ÏĦι κά", + "Ġв она", + "Ġво на", + "ب ا", + "ãģķ ãĤĮãģŁ", + "ãģķãĤĮ ãģŁ", + "n out", + "no ut", + "nou t", + "Ġ ı", + "ĠÄ ±", + "è§ ī", + "ĠÃ¶ÄŁ ren", + "Ġ ì½Ķ", + "Ġì ½Ķ", + "Ġì½ Ķ", + "å¸ ¦", + "Ñģ лов", + "Ñģл ов", + "Ġε ÏĢι", + "ĠεÏĢ Î¹", + "ê° IJ", + "ĠÙħ رب", + "ĠÙħر ب", + "ĠÙģÛĮ ÙĦÙħ", + "Ġк ÑĢов", + "Ġ ëį°", + "Ġë į°", + "Ġëį °", + "ा ण", + "ाठ£", + "Ġel ekt", + "Ġele kt", + "Ġelek t", + "Ġ наÑĢод", + "Ġн аÑĢод", + "Ġна ÑĢод", + "ĠнаÑĢ Ð¾Ð´", + "ÛĮ دÙĩ", + "ÛĮد Ùĩ", + "ç´ Ħ", + "Ġп ÑĢоÑĦ", + "ĠпÑĢ Ð¾ÑĦ", + "ĠпÑĢо ÑĦ", + "Ïģ οÏĤ", + "Ïģο ÏĤ", + "Ġ ãħ", + "ä¸į æĺ¯", + "Ġ à¤ľà¤¨", + "Ġà¤ľ न", + "ั ล", + "Ġص ÙĪØ±Øª", + "ĠصÙĪØ± ت", + "ãĥ ľ", + "Ġà¤Ĺ à¤Ī", + "ÄŁi tim", + "ÄŁit im", + "ÑģÑĮ киÑħ", + "ÑģÑĮк иÑħ", + "Ġ лег", + "Ġл ег", + "Ġت ÙĪÙĦ", + "ĠتÙĪ ÙĦ", + "Ġ ìļ´", + "Ġìļ ´", + "ع ر", + "Ġm Ãłu", + "ĠmÃł u", + "г ов", + "го в", + "æ³ ¢", + "in deki", + "ind eki", + "inde ki", + "ìłģ ìĿ¸", + "ấ m", + "Ġ íĻķ", + "ĠíĻ ķ", + "Ġب اÛĮد", + "Ġبا ÛĮد", + "ĠباÛĮ د", + "à¹Į à¸Ĺ", + "Ġk endi", + "Ġken di", + "Ġkend i", + "ี ว", + "ิ à¸ģาร", + "ิà¸ģ าร", + "ิà¸ģา ร", + "ĠÚ© ردÙĩ", + "Ġکرد Ùĩ", + "Ġکر دÙĩ", + "å· ´", + "ठģ", + "ร าà¸Ĭ", + "à¥į श", + "à¥įठ¶", + "Ġ ÐĶлÑı", + "ĠÐĶ Ð»Ñı", + "å¥ ĩ", + "ĠÑĥ ÑģÑĤанов", + "ĠÑĥÑģÑĤ анов", + "ĠÑĥÑģÑĤан ов", + "й ÑĤе", + "ãĤ ĩ", + "ά Ïģ", + "Ġ Ю", + "ĠÐ ®", + "Ġlu áºŃt", + "ãĢ ī", + "è´ ¨", + "د ا", + "Ġdü zen", + "Ġdüz en", + "ส à¸Ļ", + "ÑĢ Ð¾Ð½", + "ÑĢо н", + "d ıģı", + "dı ģı", + "dıģ ı", + "âĢĻ da", + "âĢĻd a", + "Ġfark lı", + "Ñħ ов", + "Ñħо в", + "l án", + "lá n", + "Ñĩ аÑģ", + "Ñĩа Ñģ", + "Ñĩ ин", + "Ñĩи н", + "Ġ ì°¸", + "Ġì° ¸", + "ì ´Ī", + "ì´ Ī", + "ÑĨ ип", + "ÑĨи п", + "ç ¹", + "éĸ Ģ", + "ж а", + "ÑĢ Ð¾Ð²Ð°Ð½", + "ÑĢов ан", + "ÑĢо ван", + "ÑĢова н", + "à¸ĵ ะ", + "ÙĦÙĬ زÙĬØ©", + "Ïĩ ει", + "Ïĩε ι", + "à¥Ī .", + "к Ñģп", + "кÑģ п", + "ا ÙĪØ±", + "اÙĪ Ø±", + "Ġng uyên", + "Ġnguy ên", + "ãģ« ãĤĪ", + "à¥ĩ म", + "à¥ĩठ®", + "Ïĥ ÏĦε", + "ÏĥÏĦ ε", + "ت ÙĪ", + "Äį ek", + "Äįe k", + "ÑĨ Ñĭ", + "Ġ 물", + "Ġë¬ ¼", + "Ñį ÑĤ", + "Ġka zan", + "Ġkaz an", + "Ùģ Ø³", + "e hir", + "eh ir", + "в ÑĸÑĤ", + "вÑĸ ÑĤ", + "Ġد ÙĪÙĦ", + "ĠدÙĪ ÙĦ", + "Ġ ëĵľ", + "Ġëĵ ľ", + "Ġà¤ļ ल", + "е ÑģÑĤва", + "еÑģÑĤв а", + "еÑģÑĤ ва", + "δ α", + "Ġб Ñĥв", + "ĠбÑĥ в", + "Ġ ÐĿе", + "ĠÐĿ е", + "ØŃ ر", + "огÑĢа ÑĦ", + "Ġroz hod", + "Ġrozh od", + "Ġви коÑĢиÑģÑĤ", + "Ġвико ÑĢиÑģÑĤ", + "Ġy êu", + "λ οÏĤ", + "λο ÏĤ", + "Ú© س", + "Ġ شب", + "ĠØ´ ب", + "ิ ษ", + "æ¯ į", + "Ġд оÑĢ", + "Ġдо ÑĢ", + "Ġngh á»ĩ", + "Ġt rang", + "Ġtr ang", + "Ġtra ng", + "Ġtran g", + "à¥ĩ द", + "à¥ĩठ¦", + "Ġt ìm", + "Ñĩ но", + "Ġ اÙħا", + "Ġا Ùħا", + "ĠاÙħ ا", + "éģ ĭ", + "Ú© ر", + "k é", + "Ġ vÄĽt", + "Ġv ÄĽt", + "ĠvÄĽ t", + "Ġн аÑģÑĤ", + "Ġна ÑģÑĤ", + "ĠнаÑģ ÑĤ", + "Ġ æ±", + "Ġæ ±", + "Ġ åĽ½", + "ĠåĽ ½", + "Ġgi ảm", + "Ġgiả m", + "ا دÙĬ", + "اد ÙĬ", + "ëĤ ľ", + "ë¡ ł", + "Ġ 、", + "Ġï½ ¤", + "Ġд енÑĮ", + "Ġде нÑĮ", + "Ġден ÑĮ", + "ÑĨ ÑĸÑİ", + "ÑĨÑĸ Ñİ", + "Ġh ạn", + "Ġhạ n", + "ẳ ng", + "ẳn g", + "λ ή", + "e yen", + "ey en", + "eye n", + "ä¸ Ķ", + "æŃ ¦", + "ĠÑĦ ак", + "à¹Ī à¸Ńà¸Ļ", + "à¹Īà¸Ń à¸Ļ", + "Ġ οι", + "Ġο ι", + "ز Ùħ", + "ãģĹ ãģ¦ãģĦãĤĭ", + "ãģĹãģ¦ ãģĦãĤĭ", + "ãģĹãģ¦ãģĦ ãĤĭ", + "л ива", + "ли ва", + "лив а", + "âĢķ âĢķ", + "Ġ öl", + "Ġö l", + "Ġ à¤ĵ", + "Ġठĵ", + "Ñģ ÑĤÑĸ", + "ÑģÑĤ Ñĸ", + "à¸ģ รรม", + "à¸ģร รม", + "Ġt ục", + "Ġtụ c", + "Ġgö rün", + "Ġgör ün", + "ãģĹ ãģ¾", + "ãģĹãģ ¾", + "Ġ ì¦", + "Ġì ¦", + "é ¦¬", + "é¦ ¬", + "Ġмож на", + "Ġ Ú©ÙĦ", + "ĠÚ© ÙĦ", + "Ġ ÑĨенÑĤ", + "ĠÑĨ енÑĤ", + "ĠÑĨе нÑĤ", + "ĠÑĨен ÑĤ", + "Ġ ìϏ", + "ĠìĻ ¸", + "Î ĺ", + "ç ĩ", + "Ġg elen", + "Ġge len", + "Ġgel en", + "Ġgele n", + "Ġ اÙĬÙĨ", + "Ġا ÙĬÙĨ", + "ĠاÙĬ ÙĨ", + "ĠØ¢ ب", + "Ġà¤Ĩ य", + "ัà¸ģ ษ", + "Ñģ им", + "Ñģи м", + "Ġб олÑĮÑĪ", + "ĠболÑĮ ÑĪ", + "Ġм н", + "о ди", + "од и", + "Ġİ l", + "Ġ à¤Ĩर", + "Ġà¤Ĩ र", + "е ÑĤе", + "еÑĤ е", + "ÑĨ иÑİ", + "ÑĨи Ñİ", + "áºŃ u", + "Ġt iếng", + "Ġtiế ng", + "Ġtiến g", + "ë ¶ģ", + "ë¶ ģ", + "æ§ ĺ", + "Ġн аÑĪ", + "Ġна ÑĪ", + "ม า", + "âĢĻ Ä±n", + "âĢĻı n", + "ãĥĥ ãĥĹ", + "ÙĪ Ø¬Ùĩ", + "ÙĪØ¬ Ùĩ", + "Ġ ØŃد", + "ĠØŃ د", + "á vá", + "áv á", + "ر ÙĪØ´", + "رÙĪ Ø´", + "Ġ дейÑģÑĤв", + "Ġд ейÑģÑĤв", + "ãģ£ ãģ¦ãģĦãĤĭ", + "ãģ£ãģ¦ ãģĦãĤĭ", + "ãģ£ãģ¦ãģĦ ãĤĭ", + "Ïģ ή", + "Ġ üst", + "Ġü st", + "Ġt iết", + "Ġti ết", + "Ġtiế t", + "ac aÄŁ", + "aca ÄŁ", + "Ġ ÐŁÐ¾", + "ĠÐŁ о", + "é Ĭ", + "ë¨ ¸", + "c hod", + "ch od", + "cho d", + "ĠØ¢Ùħ ÙĪØ²", + "ãģŁ ãĤģ", + "Ġch uyên", + "Ġuy gu", + "Ġuyg u", + "н ÑĸÑģÑĤ", + "нÑĸ ÑģÑĤ", + "ë ´", + "æİ §", + "Ñĥ ÑİÑĤÑĮ", + "ÑĥÑİ ÑĤÑĮ", + "ÑĥÑİÑĤ ÑĮ", + "Äį i", + "ãģ ¹", + "à¥Ĥ न", + "æĹ ©", + "ãĥĩ ãĤ£", + "è Ĵ", + "ĠØ´ خص", + "ĠÑħ оÑĤ", + "ĠÚ©ÙĨ ÛĮد", + "г л", + "à¸Ń à¸Ńà¸ģ", + "à¸Ńà¸Ń à¸ģ", + "éĢ Ļ", + "Ġز ÛĮر", + "ĠزÛĮ ر", + "íķ Ń", + "ĠÃĸ z", + "åij ³", + "ØŃ دة", + "ØŃد Ø©", + "Ġk ažd", + "Ġ ÑĨвеÑĤ", + "ĠÑĨ веÑĤ", + "Ġ ç¾", + "Ġç ¾", + "Ġк ож", + "Ġко ж", + "Ġ ÐŃÑĤо", + "ĠÐŃ ÑĤо", + "ÑıÑĤ елÑĮ", + "ла ÑģÑĮ", + "лаÑģ ÑĮ", + "âĢĮ Ø´ÙĪØ¯", + "âĢĮØ´ ÙĪØ¯", + "μ ι", + "Ġ æ²", + "Ġæ ²", + "Ġs üre", + "Ġsü re", + "Ġsür e", + "ล ะ", + "éħ Ĵ", + "ึà¸ģ ษ", + "λ λά", + "λλ ά", + "ç ij", + "Ġ ìĥĪ", + "Ġìĥ Ī", + "Ġस ह", + "ĠH Ãł", + "리 ê³ł", + "ص ر", + "Ġ æĬķ", + "ĠæĬ ķ", + "éł Ń", + "Ġb á»ĩnh", + "ĠìĥĿ ê°ģ", + "Ġà¤ħ à¤Ń", + "ê³µ ì§Ģ", + "ì Ķ", + "á» Ŀi", + "á»Ŀ i", + "ç ŃĶ", + "çŃ Ķ", + "Ġb Ãłi", + "ĠbÃł i", + "о дÑĸ", + "од Ñĸ", + "า à¸Ĥ", + "าภĤ", + "ни ков", + "ник ов", + "Ġdön em", + "Ġdö nem", + "ว ม", + "ãĥĨ ãĤ£", + "ा रण", + "ार ण", + "о ги", + "ог и", + "Ġk iá»ĥm", + "Ġki á»ĥm", + "о ÑĦ", + "äº Ī", + "åĨ ³", + "ا ÙĦات", + "اÙĦ ات", + "اÙĦا ت", + "Ġn ếu", + "Ġ cest", + "Ġc est", + "Ġce st", + "Ġces t", + "ز Ø´", + "Ùİ ÙĦ", + "Ġت Ø£", + "ĠÄij ạo", + "Ïį ν", + "Ġв нÑĥ", + "Ġ جاÙħ", + "Ġج اÙħ", + "Ġجا Ùħ", + "i vnÃŃ", + "iv nÃŃ", + "Ġìŀ ĪìĬµëĭĪëĭ¤", + "ĠìŀĪ ìĬµëĭĪëĭ¤", + "Ï Ĭ", + "æĦ Ľ", + "ãĥ Ľ", + "м Ñĸн", + "мÑĸ н", + "Ġt ÃŃm", + "ĠtÃŃ m", + "ằ m", + "ê· ł", + "äº ķ", + "Ġx ây", + "Ġ ìĽĶ", + "ĠìĽ Ķ", + "е лен", + "ел ен", + "еле н", + "Ġ à¹Ĥà¸Ķย", + "Ġà¹Ĥ à¸Ķย", + "ا ÙĦÙĩ", + "اÙĦ Ùĩ", + "Ġb ất", + "á»ĵ m", + "âĢĮ Ú¯", + "ÙĪ Ø±Ø©", + "ÙĪØ± Ø©", + "ب ات", + "با ت", + "Ġb án", + "ẫ u", + "اÙĨ ÙĪÙĨ", + "اÙĨÙĪ ÙĨ", + "Ġzá kon", + "á ž", + "ì¶ Ķ", + "à¹ģ à¸ģ", + "ãĤį ãģĨ", + "ÑĢ Ð¾ÑĤ", + "ÑĢо ÑĤ", + "ç ĵ", + "Ġв они", + "Ġво ни", + "Ġx ác", + "Ġ دÛĮگر", + "ĠدÛĮ گر", + "ÏĢ Î¿Î¹", + "ÏĢο ι", + "Ġне Ñģк", + "ĠнеÑģ к", + "ر سÛĮ", + "رس ÛĮ", + "Ġ ëĿ¼", + "Ġë Ŀ¼", + "ت ÙĦ", + "λ ά", + "ĠÑıв лÑıеÑĤÑģÑı", + "ä¾ Ŀ", + "Ġ åħ¬", + "Ġåħ ¬", + "Ĺ i", + "Ġ íĬ¹", + "ĠíĬ ¹", + "Ùĥ ÙĪÙĨ", + "ÙĥÙĪ ÙĨ", + "ắ p", + "جÙħ ÙĪØ¹", + "ÏĨ οÏģ", + "ÏĨο Ïģ", + "е ло", + "ел о", + "Ġg üven", + "Ġgü ven", + "Ġм ай", + "Ġма й", + "ĠÑģ оз", + "ĠÑģо з", + "à¸ģ ระ", + "à¸ģร ะ", + "Ġا سÙĦاÙħ", + "Ġاس ÙĦاÙħ", + "Ġ Ñīе", + "ĠÑī е", + "Ġs á»ijng", + "Ġsá»ij ng", + "à¥į ब", + "à¥įठ¬", + "Ú© ار", + "کا ر", + "Ġthu áºŃt", + "Ġ nÃŃ", + "Ġn ÃŃ", + "第 ä¸Ģ", + "è¦ ĸ", + "à¹Ģà¸ģ ม", + "ا ÙĬØ©", + "اÙĬ Ø©", + "Ġ ÎĪ", + "ĠÎ Ī", + "ãĤ ¶", + "ĠÙħ ÙĪÙĤع", + "ĠÙħÙĪ ÙĤع", + "Ġ åĴ", + "Ġå Ĵ", + "è¡ ĵ", + "Ġ Ðŀд", + "ĠÐŀ д", + "Ġ ä¸ī", + "Ġä¸ ī", + "ler inde", + "leri nde", + "lerin de", + "ĠÑģв оÑĹ", + "ĠÑģво ÑĹ", + "à¥Ģ à¤ı", + "Ġth ương", + "Ïĥ ÏĦο", + "ÏĥÏĦ ο", + "Ġ غÙĬر", + "Ġغ ÙĬر", + "Ġ پر", + "ĠÙ¾ ر", + "ĠÑģеб е", + "Ġв к", + "Ġk hai", + "Ġkh ai", + "ãĤ Ģ", + "ĠÙĨ ظر", + "ĠÙĨظ ر", + "Ġдок Ñĥм", + "à¹ĩ à¸ļ", + "Ġ íķľêµŃ", + "Ġíķľ êµŃ", + "ï½ ī", + "å·¥ ç¨ĭ", + "Ġ ÙĪÙĦ", + "ĠÙĪ ÙĦ", + "ØŃ ÙĬ", + "Ġп ла", + "Ġпл а", + "Ġ İstanbul", + "Ġİ stanbul", + "âĢĻ de", + "âĢĻd e", + "а лÑģÑı", + "ал ÑģÑı", + "ĠØ¢ÙĨ Ùĩا", + "Ġ اÙĩ", + "Ġا Ùĩ", + "Ġ ê´Ģ리", + "Ġê´Ģ 리", + "Ġ anh", + "Ġa nh", + "Ġan h", + "Å¡ ÃŃm", + "Å¡ÃŃ m", + "lar la", + "ï¼ Ŀ", + "n ostÃŃ", + "no stÃŃ", + "nost ÃŃ", + "nos tÃŃ", + "ÑģÑĤ ве", + "ÑģÑĤв е", + "ÛĮ Ùģ", + "Ġ گرد", + "ĠÚ¯ رد", + "Ġگر د", + "ãĤĮ ãĤĭ", + "Ġv á»±", + "Ġvá» ±", + "ÄĽ nÃŃ", + "ÄĽn ÃŃ", + "Ġgö rev", + "Ġgör ev", + "Ġgöre v", + "Ġyıl ında", + "Ġyılı nda", + "Ġyı lında", + "Ġl ợi", + "Ġlá» £i", + "Ġan lam", + "Ġп ÑĢовод", + "ĠпÑĢо вод", + "ĠпÑĢов од", + "ÑĨ Ñİ", + "Ġ åī", + "Ġå ī", + "Ġë§ İ", + "ÑĢ Ð°Ñģ", + "ÑĢа Ñģ", + "Ġ Ž", + "ĠÅ ½", + "Ú© اÙĨ", + "کا ÙĨ", + "Ð Ļ", + "ãģ£ ãģ¨", + "ãģ£ãģ ¨", + "Ú© ÙĦ", + "า ยà¸Ļ", + "าย à¸Ļ", + "ع اÙĦ", + "عا ÙĦ", + "Ġ ký", + "Ġk ý", + "ĠмаÑĤ еÑĢи", + "Ġма ÑĤеÑĢи", + "ê» ĺ", + "ıl ması", + "μ ÎŃν", + "μÎŃ Î½", + "ĠÙĨ ÙħÛĮ", + "ĠÙĨÙħ ÛĮ", + "Ġcu á»Ļc", + "Ġδ εν", + "Ġδε ν", + "å¹ ²", + "_ ___", + "__ __", + "___ _", + "à¥Ģ à¤Ł", + "Ġçık ar", + "Ġçı kar", + "Ġkon uÅŁ", + "Ġkonu ÅŁ", + "иÑĤ елÑĮно", + "иÑĤелÑĮ но", + "lan tı", + "lant ı", + "à¹Ħ ล", + "å¾ ĭ", + "Ġ íͼ", + "ĠíĶ ¼", + "ìĻ ¸", + "Ġs áng", + "éģ Ķ", + "о жд", + "ож д", + "Ġ آخر", + "ĠØ¢ خر", + "il ece", + "ile ce", + "à¥Ī न", + "Ġ jedn", + "Ġj edn", + "Ġje dn", + "Ġjed n", + "ĠÑģпе ÑĨи", + "´ Ŀ", + "Ġ Úĺ", + "Ġ ãĢĤĊ", + "ĠãĢĤ Ċ", + "èģ Į", + "Ġ ÙĨÛĮ", + "ĠÙĨ ÛĮ", + "ÑĤ оÑĢа", + "ÑĤо ÑĢа", + "ÑĤоÑĢ Ð°", + "λ ι", + "Ġ ÙĪØ¨", + "ĠÙĪ Ø¨", + "iÅŁ im", + "iÅŁi m", + "ç» ´", + "ãĢĢ i", + "Ġm ua", + "Ġmu a", + "Ġj iž", + "Ġji ž", + "è¶ Ĭ", + "ãĤĴ è¦ĭ", + "Ġn á»Ļi", + "à¥į à¤Ĺ", + "à¥įठĹ", + "ç¨ ®", + "Ġ ãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢ", + "à¹ĥ หม", + "à¹ĥห ม", + "Ġ ÎĨ", + "ĠÎ Ĩ", + "ÙĨ دÛĮ", + "ÙĨد ÛĮ", + "ĠÑģ Ñĩ", + "Ġl á»ĩ", + "Ġlá» ĩ", + "l ub", + "lu b", + "еÑĢ ÑĤ", + "Ġ اطÙĦ", + "Ġا Ø·ÙĦ", + "Ġاط ÙĦ", + "ĠÑģ еÑĢед", + "ĠÑģеÑĢ ÐµÐ´", + "Ġ éģ", + "Ġé ģ", + "Ġз ал", + "Ġза л", + "ÙĨ ÛĮÙĨ", + "ÙĨÛĮ ÙĨ", + "çŁ¥ éģĵ", + "Ø¢ ÙĨ", + "Ġ кап", + "Ġк ап", + "Ġка п", + "Ġ à¹Ħม", + "Ġà¹Ħ ม", + "ů vod", + "ův od", + "ĠÙ¾ اÛĮ", + "Ġپا ÛĮ", + "ÑĤ ÑĢи", + "ÑĤÑĢ Ð¸", + "Ġi ht", + "Ġih t", + "๠Ĭ", + "Ġв ÑģÑĸ", + "ĠвÑģ Ñĸ", + "Ġt hay", + "Ġth ay", + "Ġtha y", + "å Ĩµ", + "åĨ µ", + "Ġ عÙĨÙĪØ§ÙĨ", + "ĠعÙĨ ÙĪØ§ÙĨ", + "Ġ Î¥", + "ĠÎ ¥", + "ภĿ", + "ε ÏĦαι", + "εÏĦ αι", + "iyor du", + "ï¼Į èĢĮ", + "çļĦ 人", + "Ġ सà¤Ń", + "Ġस à¤Ń", + "à¹ī à¸Ńย", + "à¹īà¸Ń ย", + "ι κο", + "ικ ο", + "ãĤĵ ãģ§", + "ì¡ ±", + "ÙĨج ÙĦÙĬزÙĬØ©", + "Ġž ád", + "ÑĢ Ð°Ð²Ð¸", + "ÑĢа ви", + "ÑĢав и", + "γ γ", + "æµ ĭ", + "о ÑĨÑĸ", + "ãĢĢ ãĢĢĠãĢĢ", + "ãĢĢãĢĢ ĠãĢĢ", + "ãĢĢãĢĢĠ ãĢĢ", + "Ġतर ह", + "Ġ ëĨ", + "Ġë Ĩ", + "à¥Ģ à¤ļ", + "à¹Ī ม", + "Ġg á»ĵm", + "Ġk iá»ĩn", + "Ġki á»ĩn", + "è· Ł", + "Î ¦", + "es inin", + "esi nin", + "esini n", + "esin in", + "é ¥", + "é« Ķ", + "о Ñĩно", + "оÑĩ но", + "र ण", + "æĺ ¥", + "ç¶ ĵ", + "Ġ بار", + "Ġب ار", + "Ġبا ر", + "ê· ¼", + "éĻ ħ", + "Ġ سÙĬ", + "Ġس ÙĬ", + "Ñģ ÑĥÑĤ", + "ÑģÑĥ ÑĤ", + "ì µľ", + "å± ħ", + "ĠÄį esk", + "ĠÄįe sk", + "Îij ÎĿ", + "Ġd iá»ĩn", + "Ġdi á»ĩn", + "Ġ εί", + "Ġε ί", + "à¸ĩ à¸Ĺ", + "ãĤ ©", + "Ġv á»±c", + "Ġvá»± c", + "в ав", + "ва в", + "t ıģı", + "tı ģı", + "tıģ ı", + "Ġ ëªħ", + "Ġëª ħ", + "η ν", + "в иÑĤ", + "ви ÑĤ", + "Ġ Ø£Ùĥ", + "ĠØ£ Ùĥ", + "Ġп ÑĢоп", + "ĠпÑĢ Ð¾Ð¿", + "ĠпÑĢо п", + "r ak", + "ra k", + "ÑĢ Ð°ÑĤи", + "ÑĢа ÑĤи", + "ÑĢаÑĤ и", + "ĠÄij ánh", + "ĠÄijá nh", + "ÑĢ ÐµÐ¿", + "ÑĢе п", + "ê ´ij", + "ê´ ij", + "е ÑĨÑĮ", + "еÑĨ ÑĮ", + "Ġब त", + "Ġ åĮĹ", + "ĠåĮ Ĺ", + "Ġs át", + "l edi", + "le di", + "led i", + "ìłģ ìľ¼ë¡ľ", + "ů j", + "Û° Û°", + "Ġnas ıl", + "Ġ ÙĪØ³", + "ĠÙĪ Ø³", + "Ġ εξ", + "Ġε ξ", + "в Ñĭ", + "ç½ Ĺ", + "ارÛĮ Ø®", + "à¸Ľ ล", + "ί κ", + "Ġ ê¸Ī", + "Ġê¸ Ī", + "åĩ ł", + "å¼ ·", + "è¿ Ķ", + "Ġnh á»ı", + "å¾ Ģ", + "Ġда же", + "Ġç ev", + "к Ñĸ", + "Ġ Ø£Ùħ", + "ĠØ£ Ùħ", + "ี ส", + "ส ามารà¸ĸ", + "สาม ารà¸ĸ", + "Ġ ÐĦ", + "ĠÐ Ħ", + "Ñħод иÑĤ", + "ë ĸ", + "Ġtr uyá»ģn", + "Ġtruy á»ģn", + "Ġ ÑģÑĤан", + "ĠÑģÑĤ ан", + "ĠÑģÑĤа н", + "ëĵ¤ ìĿĢ", + "ا ÙĦت", + "اÙĦ ت", + "़ à¥ĩ", + "Ġ à¤ħब", + "Ġà¤ħ ब", + "æķ ¸", + "Ġд ÑĸÑı", + "ĠдÑĸ Ñı", + "ĠÙħ تر", + "ĠÙħت ر", + "Ġ ë¸", + "Ġë ¸", + "ï¾ į", + "Ġ ê³¼", + "Ġê³ ¼", + "Ġ زÛĮ", + "Ġز ÛĮ", + "ëŁ ¼", + "Ġ ÐŁÐµÑĢ", + "ĠÐŁ еÑĢ", + "Ġs ık", + "Ġsı k", + "н оÑģÑĤÑĮÑİ", + "ноÑģÑĤÑĮ Ñİ", + "ноÑģÑĤ ÑĮÑİ", + "Ġ eden", + "Ġe den", + "Ġed en", + "ا در", + "اد ر", + "ã Ħ", + "Ġ леÑĩ", + "Ġл еÑĩ", + "ĠÙĩ ذÙĩ", + "ض ÙĪØ¹", + "ضÙĪ Ø¹", + "ĠìķĦ ëĭĪ", + "ĠìķĦëĭ Ī", + "ir ket", + "irk et", + "Ġ اگر", + "Ġا گر", + "ĠÑħ оÑĩ", + "Ġб ан", + "Ġба н", + "íĶ Į", + "æĢİ ä¹Ī", + "è Ľ", + "Ġब à¤ļ", + "ĠÚ© تاب", + "çī Į", + "Ġд ва", + "Ġдв а", + "ج ر", + "Ġп ÑĢоÑģÑĤо", + "ĠпÑĢоÑģÑĤ о", + "ĠпÑĢоÑģ ÑĤо", + "Ġà¤Ĩ व", + "Ġm ức", + "į ¼", + "Ġ jÃŃ", + "Ġj ÃŃ", + "íİ ĺ", + "Ġt amam", + "Ġta mam", + "Ġtam am", + "åĪ Ľ", + "ภĴ", + "п еÑĩ", + "пе Ñĩ", + "à¥ĭ स", + "Ġ Ñģем", + "ĠÑģ ем", + "Ġt ương", + "ä¸ ģ", + "ī ´", + "Ġ ÑĢоÑģ", + "ĠÑĢ Ð¾Ñģ", + "Ġ маÑĶ", + "Ġм аÑĶ", + "Ġма ÑĶ", + "æŃ Į", + "Ġ داÙĨÙĦÙĪØ¯", + "ĠداÙĨ ÙĦÙĪØ¯", + "ĠL oÃłi", + "ĠLo Ãłi", + "Ġed ilm", + "Ġedi lm", + "Ġedil m", + "Ġk onu", + "Ġko nu", + "Ġkon u", + "ĠاÙĦ Ùħر", + "ĠاÙĦÙħ ر", + "Ġu laÅŁ", + "Ġul aÅŁ", + "Ġyük sek", + "ο ι", + "Ùİ ÙĨ", + "Ġ bÄĽ", + "Ġb ÄĽ", + "ãĤ·ãĥ§ ãĥ³", + "ï¿£  ̄ ̄ ̄", + " ̄ ̄  ̄ ̄", + " ̄ ̄ ̄ ï¿£", + "Ġg üç", + "Ġgü ç", + "Ġ اÙĪÙĦ", + "Ġا ÙĪÙĦ", + "ĠاÙĪ ÙĦ", + "Ġ ма", + "Ġм а", + "Ġب خش", + "Ġبخ Ø´", + "ा à¤ĸ", + "ाठĸ", + "Ġв иÑģ", + "Ġви Ñģ", + "ž enÃŃ", + "že nÃŃ", + "žen ÃŃ", + "Ġz působ", + "Ġzp ůsob", + "z nam", + "zn am", + "Ġ رÙĪÛĮ", + "Ġر ÙĪÛĮ", + "ĠرÙĪ ÛĮ", + "åĭ Ŀ", + "। Ċ", + "ÙĦ ÙĤ", + "Ġж из", + "ÑĢ Ñĸв", + "ÑĢÑĸ в", + "ĠÑĥ пÑĢав", + "ĠÑĥп ÑĢав", + "Ġph á»ij", + "ic ros", + "icro s", + "Ġ à¹ģà¸ķ", + "Ġà¹ģ à¸ķ", + "Ġ ë°ķ", + "Ġë° ķ", + "ÙĪ Ø§Øª", + "ÙĪØ§ ت", + "ï¼Į ä¸Ģ", + "ан Ñģ", + "ç´ ļ", + "ย à¸Ļ", + "à¹ģ à¸Ĥ", + "Ġgi áo", + "Ġgiá o", + "äºĮ äºĮ", + "Ġ İs", + "Ġİ s", + "ìĬ ¹", + "Ġo lacak", + "Ġol acak", + "Ġola cak", + "Ġ Các", + "ĠC ác", + "Ġ ÑĢÑĥб", + "ĠÑĢ Ñĥб", + "ĠÑĢÑĥ б", + "ẹ p", + "ÄŁ iniz", + "ÄŁini z", + "ÄŁin iz", + "ãģª ãģ©", + "Ġ моÑĢ", + "Ġм оÑĢ", + "Ġмо ÑĢ", + "ĠÑģ дел", + "ÙĦ ÙħاÙĨ", + "ÙĦÙħ اÙĨ", + "n ém", + "né m", + "å° į", + "Ġd ne", + "Ġdn e", + "ì¶ľ ìŀ¥", + "ع ب", + ": ::::::", + ":: :::::", + ":::: :::", + ":::::: :", + "::: ::::", + "::::: ::", + "Î Ĵ", + "e ket", + "ek et", + "Ġ ÑĢеÑĪ", + "ĠÑĢ ÐµÑĪ", + "ĠÑĢе ÑĪ", + "è ά", + "èĪ ¬", + "Ġ íĻĶ", + "ĠíĻ Ķ", + "ص د", + "Ġ маÑĢ", + "Ġм аÑĢ", + "Ġма ÑĢ", + "Ñı ж", + "Ø´ ار", + "ãģ ²", + "Ġ اÙĦÙĬ", + "Ġا ÙĦÙĬ", + "ĠاÙĦ ÙĬ", + "Ù į", + "à¤Ĥ à¤ľ", + "м Ñĭ", + "Ġka rar", + "Ġkar ar", + "Ġkara r", + "ÙĦÛĮ سÛĮ", + "ÙĦÛĮس ÛĮ", + "า à¸ĵ", + "าภĵ", + "ç¾ ¤", + "Ġol ması", + "Ġolm ası", + "Ġolma sı", + "Ġhaz ır", + "γÏģα ÏĨ", + "¯ u", + "в ол", + "во л", + "ĠÑģ ÑĤаÑĢ", + "ĠÑģÑĤ аÑĢ", + "ĠÑģÑĤа ÑĢ", + "o vala", + "ov ala", + "ova la", + "oval a", + "Ġв озмож", + "Ġвоз мож", + "Ġ дав", + "Ġд ав", + "Ġда в", + "é¢ ¨", + "ر ا", + "Ġдоп ом", + "ê² ĥ", + "Ġ ìĺ¬", + "Ġìĺ ¬", + "Ġ åİ", + "Ġå İ", + "Ġ 못", + "Ġëª »", + "u ç", + "í ļ", + "l ük", + "lü k", + "ä¸Ń å¿ĥ", + "Ġ दर", + "Ġद र", + "Ġ âĹĨ", + "ĠâĹ Ĩ", + "Ġt ay", + "Ġta y", + "Ġب سÛĮ", + "Ġبس ÛĮ", + "Ġ ÏĥÏĦα", + "ĠÏĥ ÏĦα", + "ĠÙħ Ø®", + "Ñı Ñī", + "å· ®", + "ภī", + "ëł ¹", + "à¹ĥà¸Ļ à¸ģาร", + "Ġ ÙĩÙĨ", + "ĠÙĩ ÙĨ", + "ãģ ¶", + "л Ñĸд", + "лÑĸ д", + "å į°", + "åį °", + "Ġs ao", + "Ġsa o", + "ÅĻ ad", + "리 ëĬĶ", + "Ñģ лед", + "Ñģл ед", + "åĶ ®", + "Ġ |:", + "Ġ| :", + "æķĻ èĤ²", + "Ġм ол", + "Ġмо л", + "ĠÙĩ ÙĬ", + "ë ģ", + "Ġ кÑĥлÑĮ", + "Ġк ÑĥлÑĮ", + "ĠкÑĥ лÑĮ", + "' nin", + "'n in", + "Ġ خر", + "ĠØ® ر", + "Ġge nel", + "Ġgen el", + "Ġgene l", + "Ġt á»Ń", + "Ġtá» Ń", + "Ġkur ul", + "Ġkuru l", + "ен ÑĤи", + "енÑĤ и", + "à¥ĭ à¤ľà¤¨", + "à¥ĭà¤ľ न", + "è¿Ļ æł·", + "Ġм Ñĸж", + "ĠмÑĸ ж", + "Ġngh iá»ĩm", + "Ġnghiá»ĩ m", + "ĠÏĢ Î¿Î»", + "ĠÏĢο λ", + "æĭ Ľ", + "Ġà¤Ĺ à¤ı", + "ầ y", + "Ġc ảm", + "Ġcả m", + "ç´ °", + "rı ca", + "Ġ عÙĦÛĮ", + "Ġع ÙĦÛĮ", + "ĠعÙĦ ÛĮ", + "ิ à¹ī", + "h ur", + "hu r", + "Ġch ưa", + "Ñĥ ÑĶÑĤÑĮÑģÑı", + "ÑĥÑĶ ÑĤÑĮÑģÑı", + "ãģ© ãģĨ", + "Ñĥ л", + "ิ ร", + "Ġ æľī", + "ä¼ ¼", + "ÑĦ еÑĢ", + "ÑįÑĤ омÑĥ", + "æĹ ħ", + "ĠÙħ ÙĪØ¬", + "ĠÙħÙĪ Ø¬", + "Ġ 본", + "Ġë³ ¸", + "Ġgi á»Ŀ", + "Ġgiá» Ŀ", + "Ġk iến", + "Ġki ến", + "à¹Ī วย", + "à¹Īว ย", + "Ġd üny", + "Ġdü ny", + "Ġdün y", + "Ġ زÙħ", + "Ġز Ùħ", + "о вÑĸ", + "ов Ñĸ", + "ĠÑĨ ÑĮого", + "ิ à¸ļ", + "Ġ ìĨIJ", + "ĠìĨ IJ", + "èIJ ¥", + "Ġ ÑĢÑĸз", + "ĠÑĢ Ñĸз", + "Ġh á»Ĺ", + "Ġhá» Ĺ", + "ÑĢ Ñĸб", + "ÑĢÑĸ б", + "Ġ ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ĠãĢĢĠ ãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ìľ¼ ë©°", + "äºĨ ä¸Ģ", + "ĠÙĤ بÙĦ", + "ĠÙĤب ÙĦ", + "é¾ Ļ", + "Ġ گذ", + "ĠÚ¯ ذ", + "Ġ ÙĤد", + "ĠÙĤ د", + "ãģª ãģĭãģ£ãģŁ", + "Ġ à¹Ģร", + "Ġà¹Ģ ร", + "Ġà¹Ģภ£", + "å¸ Į", + "ĠÑģ Ñħ", + "Ġг ÑĢом", + "ĠгÑĢ Ð¾Ð¼", + "ĠгÑĢо м", + "åĽ ¢", + "Ġ ì§ij", + "Ġì§ ij", + "Ġ лÑĥÑĩ", + "Ġл ÑĥÑĩ", + "åħ µ", + "Ġ ÐŀÑĤ", + "ĠÐŀ ÑĤ", + "Ġmu á»ijn", + "ãģĺ ãĤĥ", + "o vnÃŃ", + "ov nÃŃ", + "ë©´ ìĦľ", + "ë³ Ģ", + "Ġн еб", + "Ġне б", + "Ñģ ии", + "Ñģи и", + "ÙĨ Ùħ", + "ÄŁ in", + "ÄŁi n", + "Ġt oho", + "Ġto ho", + "Ġtoh o", + "en iz", + "eni z", + "ب اش", + "با Ø´", + "ĠÑģ лÑĥж", + "ĠÑģл Ñĥж", + "ĠÑģлÑĥ ж", + "Ġb ợi", + "Ġüzer e", + "Ġüz ere", + "Ġs adece", + "Ġsad ece", + "ĠÏĢ Î±Ïģ", + "ĠÏĢα Ïģ", + "³³³³³³³³ ³³³³³³³³", + "³³³³³³³ ³³³³³³³³³", + "³³³³³ ³³³³³³³³³³³", + "³³³³³³³³³ ³³³³³³³", + "³³³³³³³³³³³ ³³³³³", + "èĮ ĥ", + "ÏĦ ικÏĮ", + "ÏĦικ ÏĮ", + "ÏĦι κÏĮ", + "Ġ äºĮ", + "ãĤĪãģĨ ãģ«", + "è ŀ", + "ãģ® ãģ¯", + "Ġ ÑĥкÑĢаÑĹн", + "ĠÑĥ кÑĢаÑĹн", + "Ġb ắt", + "в ан", + "ва н", + "Ġ ÑģÑĤÑĢа", + "ĠÑģ ÑĤÑĢа", + "ĠÑģÑĤ ÑĢа", + "ĠÑģÑĤÑĢ Ð°", + "è¡ Ģ", + "nu tÃŃ", + "nut ÃŃ", + "o kt", + "ok t", + "รà¸ĩ à¹Ģร", + "Ġ صÙģ", + "Ġص Ùģ", + "åħ ļ", + "ÏĦ ί", + "ï¼ģ ãĢįĊĊ", + "ï¼ģãĢį ĊĊ", + "ĠÑĤем п", + "ĠÑĤе мп", + "é¡ Į", + "Ġs luž", + "Ġslu ž", + "Ñĥ ков", + "Ñĥк ов", + "Ġngh Ä©a", + "ĠnghÄ© a", + "çĶ ²", + "Ġd á»ħ", + "о ви", + "ов и", + "ÏĦ Ïħ", + "ر ÛĮÚ©", + "رÛĮ Ú©", + "ĠA nh", + "ĠAn h", + "ĠвÑģ его", + "ĠвÑģе го", + "âĢĮ Ú©ÙĨ", + "âĢĮÚ© ÙĨ", + "te ÅĻÃŃ", + "Ġm ục", + "Ùĩ ÙĨÚ¯", + "ÙĩÙĨ Ú¯", + "Ġ ÐŁÐ¾Ñģ", + "ĠÐŁ оÑģ", + "ĠÐŁÐ¾ Ñģ", + "Úĺ Ùĩ", + "ĠاÙĦ غ", + "æĿ ¾", + "y sl", + "ys l", + "Ġyap ılan", + "Ġyapı lan", + "Ġyapıl an", + "çĪ ¶", + "Ġm ạnh", + "ر اÙĩ", + "را Ùĩ", + "à¸Ķ à¸ĩ", + "o Äį", + "ë§ IJ", + "åł Ĥ", + "м аÑĤ", + "ма ÑĤ", + "Ġ eÅŁ", + "Ġe ÅŁ", + "ÙĪÙħ ات", + "Ġس اخت", + "åĽł 为", + "Ġп ÑĢий", + "ĠпÑĢ Ð¸Ð¹", + "ĠпÑĢи й", + "ıl mÄ±ÅŁ", + "é¤ ¨", + "ุ à¸ĩ", + "Ġ ëģ", + "Ġë ģ", + "à¸ķ าม", + "à¸ķา ม", + "åIJ ī", + "μ ή", + "Ġ æľ¬", + "Ġzá klad", + "ت ØŃ", + "è¾ ¼", + "Ġв Ñĸй", + "ĠвÑĸ й", + "ĠÙħÙĨ Ø·", + "Ġto án", + "к аÑĢ", + "ка ÑĢ", + "Ġ ÐĹа", + "ĠÐĹ Ð°", + "ĠпÑĢи мен", + "ĠпÑĢим ен", + "ãĤĭ ãģ¨", + "ั à¸Ĺ", + "ÛĮ س", + "ĠاÙĨ جاÙħ", + "ĠاÙĨج اÙħ", + "Ġع ÙĦÙĬ", + "ĠعÙĦ ÙĬ", + "़ ि", + "e ných", + "en ých", + "ený ch", + "ĠL iên", + "ĠLi ên", + "Ġ па", + "Ġп а", + "éļ Ĭ", + "Ġmo hou", + "Ġmoh ou", + "Ġк ÑĸлÑĮ", + "Ġ Το", + "ĠΤ ο", + "ا ÙĦب", + "اÙĦ ب", + "ÎŃ Î½", + "Ġna bÃŃ", + "Ġnab ÃŃ", + "ç i", + "ler den", + "lerde n", + "Ġth anh", + "Ġthan h", + "Ġtha nh", + "Ġb ütün", + "Ġ åŁ", + "Ġå Ł", + "ì¸ ł", + "Ġz at", + "Ġza t", + "ÙĬ ÙĪ", + "Ġμ ια", + "uy ết", + "Ñij н", + "åĪ Ĵ", + "ли во", + "лив о", + "à¹Ī à¸Ńà¸ĩ", + "à¹Īà¸Ń à¸ĩ", + "ä»ĸ 们", + "Ġб аг", + "Ġба г", + "ि à¤Ń", + "िठŃ", + "ĠÑĤ ам", + "ĠÑĤа м", + "Ġп ÑĢеп", + "ĠпÑĢ ÐµÐ¿", + "ĠпÑĢе п", + "ิ à¸Ĭ", + "âĢĻ Ñıз", + "âĢĻÑı з", + "ĠPh ân", + "ж ен", + "же н", + "à¥Ī à¤ķ", + "ĠÑģлÑĥÑĩа е", + "Ġ .:", + "Ġ. :", + "åѦ æł¡", + "İ N", + "ç¾ ©", + "ĠÑģ ÑĤо", + "ĠÑģÑĤ о", + "Ġ हर", + "Ġह र", + "Ïħ ν", + "Ġx em", + "Ġxe m", + "Ġб ÑĥÑĤи", + "ĠбÑĥ ÑĤи", + "Ñģ иÑĤ", + "Ñģи ÑĤ", + "çª ģ", + "à¥į à¤Ľ", + "à¥įठĽ", + "åij ¢", + "ï¼Į ä¹Ł", + "e nÄĽ", + "en ÄĽ", + "Ġ κά", + "Ġκ ά", + "iy orum", + "iyor um", + "ĠÚ¯ ÙģØª", + "âĹıâĹı âĹıâĹı", + "ั ม", + "Ġ Ðļон", + "ĠÐļ он", + "ĠÐļо н", + "н оÑĪ", + "но ÑĪ", + "ниÑĨ ÑĤ", + "ü zel", + "üz el", + "s ÃŃ", + "å¸ «", + "ص ÙĪÙĦ", + "çĥ Ń", + "ĠÄij á»§", + "ĠÄijá» §", + "ãĤ ®", + "æķ ħ", + "ĠÅ¡ kol", + "ĠÅ¡k ol", + "Ñĩ ен", + "Ñĩе н", + "à¹Ģ ย", + "à¹Ģภ¢", + "à¸Ļ à¸Ļ", + "ÙĢ ÙĢÙĢÙĢ", + "ÙĢÙĢ ÙĢÙĢ", + "ÙĢÙĢÙĢ ÙĢ", + "Ġ üç", + "Ġü ç", + "å¿ µ", + "ãĥª ãĤ¢", + "Ġ íĻĺ", + "ĠíĻ ĺ", + "Ġ éĩij", + "Ġéĩ ij", + "çı Ń", + "Ġ Ñģклад", + "ĠÑģ клад", + "ĠÑģк лад", + "Ñı ми", + "Ñıм и", + "ü f", + "Ġh ã", + "ĠÄIJ ại", + " Ĥ", + "åĦ ª", + "Ġbul unan", + "Ġbulun an", + "ĠاÙĦ ÙħØŃ", + "ĠاÙĦÙħ ØŃ", + "æĪ ı", + "Ġ è©", + "Ġè ©", + "Ġн оÑĢм", + "ĠноÑĢ Ð¼", + "Ġchu ẩn", + "Ġз аÑģÑĤ", + "Ġза ÑģÑĤ", + "ĠзаÑģ ÑĤ", + "Ġ vÃŃce", + "ĠvÃŃ ce", + "ĠvÃŃc e", + "Ð ĸ", + "Ġà¤Ĩ ध", + "Ġ Äįas", + "ĠÄį as", + "Ġ боÑĢ", + "Ġб оÑĢ", + "Ġбо ÑĢ", + "Ïģ ια", + "Ïģι α", + "ĠÙħ اÙĩ", + "ĠÙħا Ùĩ", + "Ġ íħ", + "Ġí ħ", + "ÅĻ el", + "ÅĻe l", + "Ñı ви", + "Ñıв и", + "ÏĦ εÏĤ", + "ÏĦε ÏĤ", + "i nÄĽ", + "in ÄĽ", + "Ġп еÑĢе", + "ĠпеÑĢ Ðµ", + "éķ ĩ", + "à¥įठŀ", + "Ġ éĺ", + "Ġé ĺ", + "à¹Ī าว", + "à¹Īา ว", + "ร ร", + "Ġ سÙĩ", + "Ġس Ùĩ", + "в али", + "ва ли", + "вал и", + "çķ Ļ", + "ĠÑĦ Ñĥнк", + "ĠÑĦÑĥн к", + "Ġ íĸī", + "Ġí ĸī", + "Ġíĸ ī", + "Ùģ Ùĩ", + "çĶŁ æ´»", + "èģ ŀ", + "o kud", + "ok ud", + "oku d", + "Ġ ìĤ´", + "ĠìĤ ´", + "ı zı", + "ız ı", + "Ġпо лÑĥ", + "Ġпол Ñĥ", + "ï¼Į ä½ł", + "Ø´ اÙĨ", + "æ± º", + "б ÑĢÑı", + "оÑģÑĥд аÑĢ", + "Ġo yun", + "Ġoy un", + "а нии", + "ан ии", + "ани и", + "Ġp rů", + "Ġpr ů", + "Ġn áv", + "Ġná v", + "Ġм енÑı", + "Ġмен Ñı", + "Ġìŀ ĺ", + "Ġ İn", + "Ġİ n", + "Ġth ÃŃch", + "ĠthÃŃ ch", + "ĠÄij ảm", + "åľ Ĵ", + "Ġв же", + "Ġl oÃłi", + "Ġlo Ãłi", + "Ġ Ðŀн", + "ĠÐŀ н", + "м еÑģÑĤ", + "ме ÑģÑĤ", + "Ġ ξ", + "ĠÎ ¾", + "ãĢ ħ", + "Ġch iế", + "Ġchi ế", + "Ñĩ Ñĸ", + "Ġ íijľ", + "Ġí ijľ", + "ëĭ ¬", + "Ġ ëĭ¬", + "Ġëĭ ¬", + "à¥Ģ ड", + "ÑĢ Ð°Ð»ÑĮ", + "ÑĢа лÑĮ", + "ÑĢал ÑĮ", + "d ik", + "di k", + "Ġ íĨł", + "ĠíĨ ł", + "ëŁ ī", + "Ġ صÙĨ", + "Ġص ÙĨ", + "Ġs tej", + "Ġst ej", + "Ġste j", + "Ġа кÑĤив", + "Ġак ÑĤив", + "ĠакÑĤ ив", + "ĠакÑĤи в", + "Ġ é¦", + "Ġé ¦", + "Ġ à¹Ħà¸Ķ", + "Ġà¹Ħ à¸Ķ", + "æĬĢ æľ¯", + "Ġp rostÅĻed", + "Ġpro stÅĻed", + "Ġprost ÅĻed", + "å® ³", + "ãģ IJ", + "Ġol uÅŁtur", + "ĠoluÅŁ tur", + "e lop", + "el op", + "elo p", + "ãģ¡ ãĤĥ", + "éĥ İ", + "ض ا", + "Ġ خط", + "ĠØ® Ø·", + "ë° ķ", + "е ÑģÑı", + "еÑģ Ñı", + "ĠÙĩ ÛĮ", + "н ад", + "на д", + "Ġng Ãłnh", + "ÑĢ ÑĥÑĪ", + "ÑĢÑĥ ÑĪ", + "ãģĦ ãģĦ", + "Ġü rün", + "Ġür ün", + "à¸Ń à¸ķ", + "à¥ĭ प", + "Ġs ayı", + "Ġsa yı", + "Ġsay ı", + "à¥Ģ स", + "е ниÑħ", + "ен иÑħ", + "ени Ñħ", + "Ġ Ñģим", + "ĠÑģ им", + "ĠÑģи м", + "à¥Ģ द", + "å¤ ī", + "à¹Ī วม", + "à¹Īว ม", + "Ġ à¹Ģà¸Ĥ", + "Ġà¹Ģ à¸Ĥ", + "Ġà¹ĢภĤ", + "å·² ç»ı", + "а ÑĤо", + "аÑĤ о", + "ĠÑĢай он", + "í ĥĿ", + "íĥ Ŀ", + "Ġ ÑĤÑĢа", + "ĠÑĤ ÑĢа", + "ĠÑĤÑĢ Ð°", + "l ayan", + "la yan", + "lay an", + "ế p", + "ा à¤Ł", + "ाठŁ", + "Ø® اب", + "人 æ°ij", + "å® Ŀ", + "è Ĩ", + "èª į", + "n aÄį", + "na Äį", + "Ġî ł", + "ĠÐļ и", + "ĠbaÅŁ ka", + "ĠbaÅŁk a", + "c ů", + "ض ع", + "èĪ ª", + "ี ม", + "Ñĭ ми", + "Ñĭм и", + "ÎĻ Î£", + "Ġشر کت", + "ย ว", + "Ġmus ÃŃ", + "Ġmu sÃŃ", + "Ġн ал", + "Ġна л", + "ี à¸Ĺ", + "Ġ áp", + "Ġá p", + "ร าย", + "æ² ¹", + "l eme", + "le me", + "lem e", + "Ġ मन", + "Ġम न", + "à¹Ħ à¸Ł", + "а ÑĤив", + "аÑĤ ив", + "аÑĤи в", + "¸ ı", + "èŃ °", + "Ïĥ ÏĦα", + "ÏĥÏĦ α", + "íĸ ¥", + "е ÑĤÑĥ", + "еÑĤ Ñĥ", + "ĠÑģв Ñıз", + "ĠÑģвÑı з", + "ед еÑĢа", + "ĠØ® ارج", + "า ษ", + "าภ©", + "âĢĮ Ù¾", + "Ñĸ г", + "é¡ ŀ", + "Ġkh ả", + "ĠÑģ пÑĢав", + "ĠÑģп ÑĢав", + "è¡ Ĺ", + "ãĥķ ãĤ¡", + "ãĥķãĤ ¡", + "Ġм еждÑĥ", + "Ġмеж дÑĥ", + "Ñĥ ли", + "Ñĥл и", + "Ġب زر", + "ÑĨ ен", + "ÑĨе н", + "Ġek onom", + "د ÙĨ", + "ا ÙħÛĮ", + "اÙħ ÛĮ", + "าส à¸ķร", + "ĠnÄĽ kol", + "ĠnÄĽk ol", + "g ün", + "з и", + "ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł", + "ç¦ »", + "Ġtr Æ°á»Łng", + "ı i", + "íİ ¸", + "Ġ ÑĢеб", + "ĠÑĢ ÐµÐ±", + "ĠÑĢе б", + "åº ķ", + "Ġت ارÛĮØ®", + "н има", + "ни ма", + "ним а", + "Ġth ân", + "аÑĤ елÑĮно", + "аÑĤелÑĮ но", + "ĠاÙĦ ذÙĬ", + "ĠاÙĦذ ÙĬ", + "ÙĪ ÙĨÛĮ", + "ÙĪÙĨ ÛĮ", + "Ġ éĥ", + "Ġé ĥ", + "Ġb ình", + "Ġbì nh", + "ικ ήÏĤ", + "ική ÏĤ", + "à¸ŀ ล", + "تÙħ اع", + "ĠPr aha", + "ĠPra ha", + "Ġ ÑģÑĤав", + "ĠÑģÑĤ ав", + "ĠÑģÑĤа в", + "د ÙĬد", + "دÙĬ د", + "Ġgi ữa", + "Ġgiữ a", + "ĠпÑĢо вед", + "ĠпÑĢов ед", + "Âł k", + "ÙĨد Ú¯ÛĮ", + "ÑĨ ий", + "ÑĨи й", + "ç Ĵ", + "ĠاÙĦ Ø£Ùħ", + "ĠاÙĦØ£ Ùħ", + "Ġ è´", + "Ġè ´", + "Ø¥ ÙĨجÙĦÙĬزÙĬØ©", + "ĠìŀĪ ìĹĪëĭ¤", + "ĠìŀĪìĹĪ ëĭ¤", + "ç ·¨", + "ç· ¨", + "ัà¸Ļ à¸ĺ", + "ĠÑĢок Ñĸв", + "Ġc áo", + "Ġcá o", + "Ġkh ó", + "Ġ ÙĨÙĪØ¹", + "ĠÙĨ ÙĪØ¹", + "ĠÙĨÙĪ Ø¹", + "س ÙĦ", + "Ġ ÑĥÑģлов", + "ĠÑĥ Ñģлов", + "ĠÑĥÑģл ов", + "ĠÑĥÑģ лов", + "Ġcứ u", + "ов ого", + "ово го", + "ि à¤Ĺ", + "िठĹ", + "Ķ ëĭ¤", + "æĿ İ", + "Ġbö lg", + "Ġböl g", + "Ġn gu", + "Ġng u", + "Ġh ữu", + "Ġhá» ¯u", + "н ии", + "ни и", + "ìł Ī", + "Ġп ÑĢом", + "ĠпÑĢ Ð¾Ð¼", + "ĠпÑĢо м", + "åı Į", + "Ġd Æ°á»Ľi", + "ĠdưỠĽi", + "Ġdư Ỽi", + "Ð ®", + "ÙĬ Ø´", + "æ¸ ©", + "ëı ħ", + "Ġз мÑĸ", + "Ġзм Ñĸ", + "θη κε", + "ĠbaÄŁ lı", + "Ġüzer inde", + "Ġ تغ", + "Ġت غ", + "Ġп ÑĢогÑĢа", + "ĠпÑĢ Ð¾Ð³ÑĢа", + "ĠпÑĢо гÑĢа", + "ĠпÑĢог ÑĢа", + "i ž", + "Ġ ç¥", + "Ġç ¥", + "Ġy ardım", + "Ġyard ım", + "Ġyar dım", + "ÂĢ ÂĢ", + "ÂĢ Ģ", + "Ġ Ñĥв", + "ĠÑĥ в", + "Ġ rů", + "Ġr ů", + "Ġch iến", + "Ġchi ến", + "Ġchiế n", + "ν οÏĤ", + "νο ÏĤ", + "ãģ¨ ãģª", + "ا ÙĨت", + "اÙĨ ت", + "è° ·", + "ÃŃ sk", + "ÃŃs k", + "is inde", + "isi nde", + "isin de", + "Ġд ог", + "Ġдо г", + "è¿ ½", + "Ġп ÑĢоÑĤив", + "ĠпÑĢо ÑĤив", + "ĠпÑĢоÑĤ ив", + "ĠпÑĢоÑĤи в", + "Ïģ οÏħ", + "Ïģο Ïħ", + "ãģ® ãģĭ", + "Ġb azı", + "Ġba zı", + "Ġbaz ı", + "ı rak", + "ır ak", + "à¥ĩ ष", + "à¥ĩठ·", + "ĠÙħ شار", + "ĠÙħØ´ ار", + "Ġ ìĸij", + "Ġìĸ ij", + "Ġ нез", + "Ġн ез", + "Ġне з", + "Ġ ذÙĦÙĥ", + "Ġذ ÙĦÙĥ", + "èª ¿", + "åĤ Ļ", + "ĠÑĤ ÑĢан", + "ĠÑĤÑĢ Ð°Ð½", + "ĠÑĤÑĢа н", + "ĠÏĢ Î±Ïģα", + "ĠÏĢαÏģ α", + "ĠÏĢα Ïģα", + "ÛĮ Ùħت", + "ÛĮÙħ ت", + "Ġt iến", + "Ġti ến", + "Ġtiế n", + "ĠÙĩ ÙħÙĩ", + "ĠÙĩÙħ Ùĩ", + "e fon", + "ef on", + "» .ĊĊ", + "». ĊĊ", + "».Ċ Ċ", + "Ġ ÙĨد", + "ĠÙĨ د", + "ج ÙĦ", + "Ġد ادÙĩ", + "Ġداد Ùĩ", + "Ġ вед", + "Ġв ед", + "Ġве д", + "Ġ sın", + "Ġs ın", + "Ġsı n", + "ĠÑģ вÑĸÑĤ", + "ĠÑģв ÑĸÑĤ", + "e lerin", + "el erin", + "eler in", + "ele rin", + "eleri n", + "âĪ ¨", + "Ġy ür", + "д ан", + "да н", + "Ġ ÐŀÑģ", + "ĠÐŀ Ñģ", + "Ġh ạng", + "Ġhạn g", + "Ġhạ ng", + "è® ¸", + "Ïĥ ÏĦη", + "ÏĥÏĦ η", + "uy ến", + "Ġн аб", + "Ġна б", + "Ġ оÑħ", + "Ġо Ñħ", + "Ïĥ Ïī", + "Ġby ly", + "Ġbyl y", + "Ñģ киÑħ", + "Ñģк иÑħ", + "Ñģки Ñħ", + "l amak", + "la mak", + "lam ak", + "lama k", + "и ÑĤоÑĢ", + "иÑĤ оÑĢ", + "Ġy atır", + "Ġya tır", + "Ġyat ır", + "ĠпÑĢоиз вод", + "Ġ جÙħع", + "Ġج Ùħع", + "ĠجÙħ ع", + "Å ł", + "æıIJ ä¾Ľ", + "Ġpr vnÃŃ", + "Ġprv nÃŃ", + "Ġα ÏĢ", + "íĻ ©", + "ĠпÑĢа кÑĤи", + "ler inden", + "lerin den", + "lerinde n", + "ĠнеобÑħодим о", + "åº ·", + "Ùİ Ø§", + "Ġ سÙĨ", + "Ġس ÙĨ", + "İ L", + "Ġ ê´ij", + "Ġê ´ij", + "Ġê´ ij", + "Ġ PÅĻ", + "ĠP ÅĻ", + "ç ŀ", + "ĠÑĤемп еÑĢаÑĤÑĥ", + "Ġka bul", + "Ġkab ul", + "Ġbu dou", + "Ġbud ou", + "ÑĨÑĸ оналÑĮ", + "ÑĨÑĸон алÑĮ", + "ï½ ľ", + "Ġç ocuk", + "Ġçocu k", + "ĠÑĤ ÑĸлÑĮки", + "b yt", + "by t", + "ãĥ ¤", + "ĠÑģÑĤ аÑĤ", + "ĠÑģÑĤа ÑĤ", + "Ġ æĿ±", + "ĠæĿ ±", + "le žit", + "اس طة", + "ุ ร", + "i êm", + "iê m", + "ĠкÑĥлÑĮ ÑĤÑĥ", + "Ġ пон", + "Ġп он", + "Ġпо н", + "Ä© nh", + "åĸ ľ", + "н ев", + "не в", + "ÑĶ Ð½", + "ĠÑģо оÑĤ", + "ë Ŀ", + "çĪ ¾", + "Ġtu á»ķi", + "k anı", + "kan ı", + "สำ หร", + "ا عت", + "اع ت", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "д еÑĢж", + "деÑĢ Ð¶", + "Ġоб лаÑģÑĤи", + "Ġобла ÑģÑĤи", + "ĠоблаÑģ ÑĤи", + "ĠоблаÑģÑĤ и", + "Ġобл аÑģÑĤи", + "Ġv ừa", + "Ġvá» «a", + "Ġ ÙħÙħ", + "ĠÙħ Ùħ", + "à¸ģ ำ", + "à¹ģ ม", + "iver sit", + "ivers it", + "à¹ģ ส", + "æ¬ §", + "l anan", + "la nan", + "lan an", + "ÙĬ ÙĨØ©", + "ÙĬÙĨ Ø©", + "س Ø©", + "ĠлÑİд ей", + "ร รม", + "รร ม", + "Ġ ì±Ħ", + "Ġì± Ħ", + "Ġ 天", + "Ġå¤ ©", + "ен нÑĭÑħ", + "à¹ģ ห", + "Ġs práv", + "Ġsp ráv", + "Ġspr áv", + "èŃ ¦", + "ï¼ ľ", + "ั à¸Ĵ", + "il ecek", + "ile cek", + "ilece k", + "Ġ æŁ", + "Ġæ Ł", + "Ġ èĭ±", + "Ġèĭ ±", + "ĠÑħ оÑĢоÑĪ", + "ëł ĩ", + "Û² Û°Û°", + "Û²Û° Û°", + "æĬ ¤", + "Ġl ã", + "ÅĻÃŃ zenÃŃ", + "ÅĻÃŃz enÃŃ", + "ĠتÙĪÙĦ ÛĮد", + "éļ Ľ", + "ãĤĮ ãģ°", + "á Å¡", + "ارÙĬ Ø®", + "æĶ »", + "Ġkho ảng", + "Ġkhoản g", + "éĻ į", + "о ван", + "ов ан", + "ова н", + "Ġg ây", + "âĢĻn ın", + "Ø£ ÙĨ", + "m iÅŁtir", + "mi ÅŁtir", + "miÅŁ tir", + "miÅŁti r", + "Ġs ức", + "Ġsứ c", + "к ÑĥÑģ", + "кÑĥ Ñģ", + "Ġüzer ine", + "ÄŁ ü", + "ا بر", + "اب ر", + "ï¼Į å°±", + "Ì £", + "Ġ ëıĮ", + "Ġëı Į", + "Ġtr á»±c", + "æĶ¶ å½ķ", + "æī ¿", + "ĠN á»Ļi", + "Ġ çϾ", + "ĠçĻ ¾", + "ÑĪ ÑĮ", + "ج Ø©", + "ë² ł", + "ठī", + "à ¸ı", + "ภı", + "Ġü lk", + "Ġül k", + "ĠÙĩست ÙĨد", + "ัà¸ļ à¸ģาร", + "ĠÑı ка", + "ĠÑıк а", + "ã İ", + "Ġ Як", + "ĠЯ к", + "Ġг де", + "t iv", + "ti v", + "ãĢ Ī", + "лÑİ Ñĩа", + "лÑİÑĩ а", + "ा ।Ċ", + "ा। Ċ", + "Ġ ÙħاÙĨ", + "ĠÙħ اÙĨ", + "ĠÙħا ÙĨ", + "Ġd lou", + "Ġdl ou", + "Ġ ãĥķ", + "Ġãĥ ķ", + "ठĽ", + "Ġph ục", + "Ġphụ c", + "a kat", + "ak at", + "aka t", + "Ð ¬", + "as ını", + "ĠæĬķ 稿", + "ÑĢ ÐµÐ²", + "ÑĢе в", + "Ġv yt", + "Ġvy t", + "Ġz mÄĽ", + "Ġzm ÄĽ", + "ÏĦ Ïī", + "è ¬", + "Ġ Ñĥм", + "ĠÑĥ м", + "Ġuz un", + "Ġp roti", + "Ġpro ti", + "Ġpr oti", + "Ġprot i", + "ĠÑģо ÑģÑĤоÑı", + "ĠÑģоÑģÑĤ оÑı", + "ัà¸Ĵ à¸Ļ", + "a tik", + "at ik", + "ati k", + "Ġ à¸ł", + "Ġภł", + "Ġà¤Ĩ द", + "lar ından", + "ların dan", + "larında n", + "æĢ ¥", + "ãĥ¼ ãĤ¯", + "ãĥ¼ãĤ ¯", + "ĠÙĦ ÙĦÙħ", + "ĠÙĦÙĦ Ùħ", + "Ùģ ØªÙĩ", + "ÙģØª Ùĩ", + ". :.", + ".: .", + "üç ük", + "ол ева", + "à¹Į Ċ", + "ĠпеÑĢ ÐµÐ²", + "ĠпеÑĢе в", + "ĠÙĨ سب", + "ĠÙĨس ب", + "е леннÑı", + "ел еннÑı", + "елен нÑı", + "' ın", + "'ı n", + "ν Ïī", + "è¡ £", + "Ġ دÙĬ", + "Ġد ÙĬ", + "åį ĩ", + "Ġbel irt", + "Ġbelir t", + "Ġ /:", + "Ġ/ :", + "èij ī", + "Ġv yh", + "Ġvy h", + "çļĦ ä¸Ģ", + "èĥ Į", + "Ġ ìĹ´", + "ĠìĹ ´", + "о ла", + "ол а", + "Ġ تب", + "Ġت ب", + "á ci", + "ác i", + "ा à¤ī", + "ाठī", + "ภİ", + "çĶ ¢", + "à¥Ī ल", + "Ġ ÙĤØ·", + "ĠÙĤ Ø·", + "ëĦ Ī", + "ắ m", + "ÑĢ Ñıд", + "ÑĢÑı д", + "Ġph ụ", + "ĠÙĪ Ø§ÙĤع", + "ĠÙĪØ§ ÙĤع", + "Ġm erk", + "Ġme rk", + "Ġmer k", + "Ġch á»ijng", + "å¯ Ł", + "ا بط", + "اب Ø·", + "us unda", + "usu nda", + "Ġод на", + "ž el", + "že l", + "ĠÑģ Ñĥм", + "ĠÑģÑĥ м", + "Ġph ù", + "Ġ ζ", + "ĠÎ ¶", + "Ġz av", + "Ġza v", + "e dn", + "ed n", + "Ġp otÅĻeb", + "Ġpot ÅĻeb", + "ĠÚ©ÙĨ ÙĨد", + "ĠÑĢ Ð°Ð·Ð²", + "ĠÑĢаз в", + "ĠÑĢа зв", + "¿ ł", + "ĠاÙĦ ز", + "Ġm ÄĽl", + "ĠmÄĽ l", + "Ġ ÑģÑĤанов", + "ĠÑģÑĤ анов", + "ĠÑģÑĤан ов", + "ĠÑģÑĤа нов", + "Ġ درÛĮ", + "Ġد رÛĮ", + "Ġدر ÛĮ", + "Ġt ượng", + "ã ģµ", + "ãģ µ", + "Ġд ви", + "Ġдв и", + "ÑĮ Ñı", + "è £½", + "è£ ½", + "Ġ تÙĦ", + "Ġت ÙĦ", + "Å¡ Å¥", + "ãģª ãĤī", + "Ġà¤ķ à¤Ī", + "Å¡ i", + "âĢĮ است", + "Ġk ỹ", + "Ġká» ¹", + "ë§ Ŀ", + "Ġà¤Ĩ à¤ľ", + "ãĥ ´", + "Ġb á»ı", + "du ÄŁu", + "duÄŁ u", + "Ġ æ¯", + "Ġæ ¯", + "п еÑĢ", + "пе ÑĢ", + "ا ÙĦÙĬØ©", + "اÙĦ ÙĬØ©", + "اÙĦÙĬ Ø©", + "æīĢ ä»¥", + "åħ °", + "Ġ oran", + "Ġo ran", + "Ġor an", + "Ġora n", + "Ġ íŀ", + "Ġí ŀ", + "Ïĥ ία", + "Ïĥί α", + "Ġph á»§", + "ĠбÑĭ ла", + "ĠбÑĭл а", + "Ñĩ ива", + "Ñĩи ва", + "Ñĩив а", + "Ġ ê°Ħ", + "Ġê° Ħ", + "о лÑĸ", + "ол Ñĸ", + "Ùĥ ت", + "å ħ§", + "åħ §", + "à¥Ĥ à¤Ł", + "Ġ ëĸ", + "Ġë ĸ", + "Ġ ÙĦÙĩ", + "ĠÙĦ Ùĩ", + "ëłĪ ìĿ´", + "Ġh ız", + "å¤ ı", + "ĠæĬķ稿 æĹ¥", + "éļ ¾", + "ĵ °", + "г лÑıд", + "глÑı д", + "гл Ñıд", + "ì n", + "Ġ меÑĢ", + "Ġм еÑĢ", + "Ġ ãĢij", + "ĠãĢ ij", + "Ġ обÑī", + "Ġоб Ñī", + "um hur", + "çł ´", + "л иÑģÑĮ", + "ли ÑģÑĮ", + "sp ÄĽ", + "ر ÙĬÙĤ", + "رÙĬ ÙĤ", + "Ġ تÙģ", + "Ġت Ùģ", + "Ġا ÙĦÙĪ", + "ĠاÙĦ ÙĪ", + "çµ ±", + "а лоÑģÑĮ", + "ал оÑģÑĮ", + "ало ÑģÑĮ", + "Ġm ô", + "Ġv á»ĩ", + "Ġvá» ĩ", + "Ġ δι", + "Ġδ ι", + "Ġ зн", + "Ġз н", + "Ġ بØŃ", + "Ġب ØŃ", + "ت Ùī", + "Ġ ì§ģ", + "Ġì§ ģ", + "Ġvel mi", + "uyá» ħn", + "Ġph ạm", + "ÑģÑĤв ом", + "ÑģÑĤво м", + "ĠÙĪ Ø§ÙĦÙħ", + "ĠÙĪØ§ÙĦ Ùħ", + "ĠÙĪØ§ ÙĦÙħ", + "ĠбÑĭ ли", + "ĠбÑĭл и", + "ا ذ", + "Ø§Ø °", + "ÄĽ ÅĻ", + "â Ħĸ", + "âĦ ĸ", + "Ġп олож", + "Ġпо лож", + "Ġпол ож", + "า à¸ģาร", + "าà¸ģ าร", + "ĠÄį lán", + "Îķ Ρ", + "Ġ ìĤ°", + "ĠìĤ °", + "β α", + "Ġ æĹ¥æľ¬", + "ĠæĹ¥ æľ¬", + "ز د", + "ĠÙĨ ÛĮست", + "ĠÙĨÛĮ ست", + "Ġha yat", + "Ġhay at", + "Ġhaya t", + "ç¢ º", + "à¹Ģ วล", + "à¹Ģว ล", + "ĠCh ÃŃnh", + "ĠChÃŃ nh", + "ï¼Į æĺ¯", + "ĠÙĪ Ø§ØŃ", + "ĠÙĪØ§ ØŃ", + "èı ¯", + "Ġή ÏĦαν", + "Ġx á»Ń", + "ĠÄį erv", + "ĠÄįer v", + "ĠÄįe rv", + "ĠÙħد ÛĮر", + "é Ĩ", + "ĠëĪ Ī", + "ç» Ń", + "Ġt ên", + "ìĸ ¸", + "Ġort aya", + "Ġorta ya", + "Ġ жен", + "Ġж ен", + "Ġже н", + "Ġn Æ¡i", + "ен нÑĭе", + "ÑĦ екÑĤив", + "ÑĦек ÑĤив", + "íĿ ¬", + "Ġkh á»ı", + "ĠÄij a", + "os yal", + "osy al", + "à¸Ľà¸£à¸° à¹Ģà¸Ĺศ", + "Ġo dst", + "Ġod st", + "Ġ à¸ĸ", + "Ġภĸ", + "Ġο ÏĢο", + "æĶ¿ åºľ", + "Ġb Ãłn", + "ĠbÃł n", + "ĠG iá»", + "ĠGi á»", + "Ġold uk", + "Ġol duk", + "Ġoldu k", + "о вание", + "ов ание", + "ова ние", + "овани е", + "ован ие", + "à¸Ń ส", + "Ġ нев", + "Ġн ев", + "Ġне в", + "ÏĦ Ïģο", + "ÏĦÏģ ο", + "Ġ ìĨį", + "ĠìĨ į", + "k ı", + "Ġब ड", + "Ġ ÏħÏĢ", + "ĠÏħ ÏĢ", + "Ġ Vý", + "ĠV ý", + "ï¾ Ħ", + "çŃ ĸ", + "ε ÏĨ", + "Ġ åħ¨", + "Ġåħ ¨", + "ĠÙģ Ø±ÙĪØ´", + "ĠÙ쨱 ÙĪØ´", + "ĠÙ쨱ÙĪ Ø´", + "ÙĤÛĮ ÙĤ", + "ä¼ģ ä¸ļ", + "ε Ïį", + "èĻ Ł", + "Ġa yr", + "Ġay r", + "ض ÙĪ", + "Å¡ el", + "Å¡e l", + "Ġп ÑĸÑģлÑı", + "ĠпÑĸÑģ лÑı", + "Ñĸй Ñģ", + "é¢ Ĩ", + "Ú© تر", + "کت ر", + "л Ñĥб", + "лÑĥ б", + "è« ĸ", + "æ° ¸", + "ез пеÑĩ", + "Ġ кам", + "Ġк ам", + "Ġка м", + "ع داد", + "عد اد", + "ê±° ëŀĺ", + "ู à¸ĩ", + "ĠتÙĩ راÙĨ", + "Ġ ëĦĪ", + "ĠëĦ Ī", + "ÑĢ Ð¸Ð²", + "ÑĢи в", + "Ġ ÑĤоÑĢ", + "ĠÑĤ оÑĢ", + "ĠÑĤо ÑĢ", + "ا Ùī", + "ا٠ī", + "' Ñıз", + "'Ñı з", + "ÙIJ ÙĬ", + "Ġkh ÃŃ", + "Ġ ÑĪÑĤ", + "ĠÑĪ ÑĤ", + "Ġ ξε", + "ĠÎľ ε", + "Ġb iri", + "Ġbi ri", + "Ġbir i", + "è ĩ´", + "èĩ ´", + "Ñĥ вав", + "Ñĥв ав", + "Ñĥва в", + "ãģĪ ãĤĭ", + "Ġд иÑģ", + "Ġди Ñģ", + "а ÑİÑĤ", + "аÑİ ÑĤ", + "ص ب", + "åĿ ĩ", + "о лÑİ", + "ол Ñİ", + "èĭ ¥", + "Ġ اث", + "Ġا Ø«", + "ĠØ§Ø «", + "s ou", + "so u", + "åIJ ĥ", + "ãģ® ãģł", + "ub lik", + "ubl ik", + "л ей", + "ле й", + "Âł m", + "Ġíıī ê·ł", + "ạ y", + "ε ÏĢ", + "t ık", + "tı k", + "Ġv yu", + "Ġvy u", + "ع ÙĪØ¯", + "Ġд оз", + "Ġдо з", + "Ġl á»ĭch", + "è³ ª", + "à¥ģ à¤Ī", + "à¥ģठĪ", + "ั à¸ŀ", + "Ġt ém", + "Ġté m", + "Ġ kaç", + "Ġk aç", + "Ġka ç", + "Ġc ái", + "Ġcá i", + "Ġ μα", + "Ġμ α", + "â̦â̦ ãĢįĊĊ", + "í ά", + "ر ÙĪÙĩ", + "رÙĪ Ùĩ", + "Ġ rych", + "Ġr ych", + "Ġry ch", + "Îij Τ", + "Ġ ÑĢÑĸв", + "ĠÑĢ Ñĸв", + "ë³ ij", + "åģ ¥", + "Ġzd rav", + "Ġ عدد", + "Ġع دد", + "Ġعد د", + "èį ī", + "δ ια", + "δι α", + "Ġv áºŃn", + "Ñĭ ÑĤ", + "Ġкол иÑĩ", + "Ġко лиÑĩ", + "Ġколи Ñĩ", + "ÏĮ ÏĦε", + "Ġb ırak", + "Ġ ØŃÙħ", + "ĠØŃ Ùħ", + "Ġch á»ĭ", + "é» Ħ", + "ĠاÙĦÙħت ØŃدة", + "ื à¸Ńà¸ģ", + "ืà¸Ń à¸ģ", + "Ġз али", + "Ġза ли", + "Ġзал и", + "Ġnh anh", + "âĢĮ تÙĪØ§ÙĨ", + "ëĿ ½", + "Ġت ÙĪØ³Ø·", + "ĠتÙĪ Ø³Ø·", + "ĠتÙĪØ³ Ø·", + "è¦ģ æ±Ĥ", + "а лÑĥ", + "ал Ñĥ", + "ün kü", + "ünk ü", + "ãģª ãĤĵ", + "Ġ Trong", + "ĠT rong", + "ĠTr ong", + "ĠTro ng", + "à¸Ļ ะ", + "åij ¼", + "Ġ ÙĬÙħ", + "ĠÙĬ Ùħ", + "и ки", + "ик и", + "ĠÑĤ ÑĥÑĤ", + "ĠÑĤÑĥ ÑĤ", + "Ġya ÅŁam", + "ĠyaÅŁ am", + "Ġm á»įi", + "é ĽĦ", + "éĽ Ħ", + "ĠØŃ ض", + "Ġав ÑĤом", + "ĠавÑĤ ом", + "Ġसब स", + "Ġy ếu", + "ãĤ¹ ãĤ¿", + "Ïĩ ή", + "Ñĸ Ñİ", + "è ĺ", + "ิ ย", + "Ġm ev", + "Ġme v", + "ick ého", + "ické ho", + "ि ह", + "िठ¹", + "åŃ £", + "θ ή", + "Ġब ढ", + "ĠاÙĦ Ùħس", + "ĠاÙĦÙħ س", + "ÏĦ οÏħ", + "ÏĦο Ïħ", + "ek li", + "ekl i", + "Ġде ÑĢев", + "ĠдеÑĢ ÐµÐ²", + "å¸ Ń", + "æ² Ļ", + "ãģ« ãĤĤ", + "Ġo blast", + "Ġob last", + "Ġobl ast", + "Ġh á»Ļ", + "Ġhá» Ļ", + "Ġ å¹³", + "Ġå¹ ³", + ".:.:.:.: .:.:.:.:", + ".:.:.:. :.:.:.:.:", + "Ġ éĸ", + "Ġé ĸ", + "Ġ جز", + "Ġج ز", + "ĠÙĩÙħ ÚĨ", + "ä¸ ¦", + "ÑĨ еп", + "ÑĨе п", + "ा Ċ", + "ä¸Ń çļĦ", + "'n ın", + "Ġ íķĺëĬĶ", + "Ġíķĺ ëĬĶ", + "ÑĶ ÑĹ", + "Ġ بش", + "Ġب Ø´", + "åį ´", + "ä¹ ł", + "ĠاطÙĦ اعات", + "ĠاطÙĦاع ات", + "Ġ ë²ł", + "Ġë² ł", + "Ġکرد ÙĨ", + "Ġکر دÙĨ", + "ा ड", + "ाठ¡", + "Ġà¤ħ र", + "ĠH á»į", + "ĠHá» į", + "ĠгÑĢом ад", + "Ġ ست", + "ĠØ ³Øª", + "Ġس ت", + "ÏĦι ÏĤ", + "Ġan cak", + "Ġanc ak", + "Ġ ог", + "Ġо г", + "Ġk teÅĻÃŃ", + "Ġ æ¬", + "Ġæ ¬", + "Ġ Ngh", + "ĠN gh", + "ĠNg h", + "Ġt edy", + "Ġte dy", + "Ġted y", + "Ġ ÏĢο", + "ĠÏĢ Î¿", + "Ġqu ân", + "Ġб Ñĥли", + "ĠбÑĥ ли", + "è¯ Ĩ", + "Ġt ừng", + "Ġtá» «ng", + "Ġtừ ng", + "人 çļĦ", + "ี à¸ģาร", + "ีà¸ģ าร", + "Ġκα ÏĦα", + "Ġpo uze", + "Ġpou ze", + "¡ ng", + "ĠØ¢ ر", + "Ġ ÑĤÑĥ", + "ĠÑĤ Ñĥ", + "Ġt á»·", + "Ġtá» ·", + "ĠD anh", + "ĠDan h", + "ĠDa nh", + "о ном", + "он ом", + "Ñģ ий", + "Ñģи й", + "Ġ à¹Ģà¸Ķ", + "Ġà¹Ģ à¸Ķ", + "Ġà¹ĢภĶ", + "£ ¨", + "Å¡ k", + "ãĥĥ ãĥī", + "ar dır", + "ard ır", + "Ġyö net", + "Ġyön et", + "Ñĥ вали", + "Ñĥв али", + "Ñĥва ли", + "åħĪ çĶŁ", + "Ġ ÐIJÑĢ", + "ĠÐIJ ÑĢ", + "Ġprot ože", + "Ġproto že", + "Ġ íģ¬", + "Ġíģ ¬", + "Ġjed not", + "Ġjedn ot", + "Ġjedno t", + "Ġt ý", + "éĩ ĩ", + "Ġ หร", + "Ġห ร", + "Ġ åľ°", + "Ġåľ °", + "çº ¢", + "Ġм олод", + "Ġмол од", + "Ġмо лод", + "iên g", + "iê ng", + "ĠÏĮ ÏĦι", + "Ġد اشتÙĩ", + "Ġداش تÙĩ", + "Ġداشت Ùĩ", + "Ġuy gun", + "Ġuyg un", + "Ġuygu n", + "Ġоп еÑĢа", + "ĠопеÑĢ Ð°", + "åı «", + "Ġ ап", + "Ġа п", + "Ġ кÑĥÑĢ", + "Ġк ÑĥÑĢ", + "ĠкÑĥ ÑĢ", + "ا عة", + "اع Ø©", + "un uz", + "unu z", + "Ġ ìĤ¬ì§Ħ", + "ĠìĤ¬ ì§Ħ", + "Ġv ô", + "ç ok", + "ço k", + "Ġ èģ", + "Ġè ģ", + "ÑĤе ÑĢеÑģ", + "ÑĤеÑĢ ÐµÑģ", + "Ġ استاÙĨ", + "Ġا ستاÙĨ", + "Ġاست اÙĨ", + "Ġاس تاÙĨ", + "а лаÑģÑĮ", + "ала ÑģÑĮ", + "à¥ģ व", + "à¥ģठµ", + "á» ³", + "Ġl ưu", + "Ġ Та", + "ĠТ а", + "Ġl á»±a", + "' ÑĶ", + "Ġ üy", + "Ġü y", + "Ġ ÛĮÚ©ÛĮ", + "ĠÛĮ Ú©ÛĮ", + "ĠÛĮÚ© ÛĮ", + "æ ¾", + "н ем", + "не м", + "Ġ خاÙĨ", + "ĠØ® اÙĨ", + "ĠÑį лек", + "ÙĤ اÙĦ", + "л ок", + "ло к", + "ĠÄij ẹp", + "à¥ī ल", + "Ġm ůž", + "Ġmů ž", + "ëĭ¤ ëĬĶ", + "Ġ íķĺëĤĺ", + "Ġíķĺ ëĤĺ", + "ÙĦ ت", + "çݰ åľ¨", + "м о", + "Ïħ Ïĥ", + "ãģŁ ãģ¡", + "ĠìłĦ ìĦ¸", + "à¥į à¤Łà¤°", + "à¥įà¤Ł र", + "ع ات", + "عا ت", + "د ÙĪ", + "ä¿ º", + "æ¥ ½", + "æ£ ®", + "Ġл иÑģÑĤ", + "Ġли ÑģÑĤ", + "δ ι", + "å¯ Į", + "ĠÄij ưa", + "в еÑģÑĤи", + "ве ÑģÑĤи", + "веÑģÑĤ и", + "д о", + "ан нÑĸ", + "Ġü ret", + "Ġür et", + "Ġg á»įi", + "ĠÑģ воÑİ", + "ĠÑģв оÑİ", + "ĠÑģво Ñİ", + "á» «ng", + "ừ ng", + "Ġt ất", + "äºļ æ´²", + "á ce", + "ác e", + "N Ãį", + "Ġ ÑĢÑĭ", + "ĠÑĢ Ñĭ", + "æ» ¡", + "Ïģ εÏĤ", + "Ïģε ÏĤ", + "åħį è´¹", + "л оÑĤ", + "ло ÑĤ", + "æĻ º", + "Ġα γ", + "Ġà¤ħ म", + "Ġ ç´", + "Ġç ´", + "о до", + "од о", + "Ñħ и", + "Ġngu á»ĵn", + "éĥ¨ åĪĨ", + "в аÑĤ", + "ва ÑĤ", + "ĠÑĤ еб", + "ĠÑĤе б", + "з аÑĨÑĸÑĹ", + "за ÑĨÑĸÑĹ", + "Ġ ÐŁÑĢо", + "ĠÐŁ ÑĢо", + "ĠÐŁÑĢ Ð¾", + "ع ÛĮ", + "Ġ ÙĪÙĬ", + "ĠÙĪ ÙĬ", + "ëŀ ľ", + "Ġne by", + "Ġneb y", + "Ġج دÛĮد", + "Ġجد ÛĮد", + "ÄŁ imiz", + "ÄŁim iz", + "£ ½", + "Ġà¤Ĩ त", + "Ġà¤Ń र", + "æī ĺ", + "å®ī åħ¨", + "Ġëĵ¤ ìĸ´", + "ب رد", + "بر د", + "Ġê²ĥ ìĿ´", + "äº ²", + "æ° ı", + "ал Ñĸз", + "алÑĸ з", + "l ack", + "la ck", + "lac k", + "ĠÙħخت ÙĦÙģ", + "ا ÙĨÙĬØ©", + "اÙĨ ÙĬØ©", + "اÙĨÙĬ Ø©", + "Ġ ì²Ń", + "Ġì² Ń", + "Ġ виÑĤ", + "Ġв иÑĤ", + "Ġви ÑĤ", + "Ġhar eket", + "Ġhare ket", + "Ġharek et", + "é ¨", + "à¸Ļ ำ", + "Ġب رخ", + "Ġبر Ø®", + "å£ ²", + "Ñĩ ай", + "Ñĩа й", + "Ġan lat", + "Ġà¤ħ व", + "ĠاÙģ Ø²", + "Ġh ết", + "ĠÚĨ ÙĨد", + "éĹ ľ", + "пÑĢи ÑĶм", + "g ı", + "Ġk omp", + "Ġkom p", + "Ġko mp", + "Ġl Ỽp", + "ĠlỼ p", + "Ġm á»Ĺi", + "Ġmá» Ĺi", + "à¸Ľà¸£à¸° à¸ģ", + "Ġ haf", + "Ġh af", + "Ġha f", + "Ġ eder", + "Ġe der", + "Ġed er", + "Ġзд оÑĢов", + "à¥Ĥ म", + "ëł ¸", + "Ġo nun", + "Ġon un", + "Ġonu n", + "ĠÙħر دÙħ", + "ĠÙħرد Ùħ", + "ĠÐľ аÑĢ", + "ĠÐľÐ° ÑĢ", + "Ġìĸ´ ëĸ", + "м ан", + "ма н", + "Ġ ÑģилÑĮ", + "ĠÑģ илÑĮ", + "ĠÑģи лÑĮ", + "ĠÑģил ÑĮ", + "ç¶ ²", + "ë¸ Ķ", + "л ÑıеÑĤ", + "лÑı еÑĤ", + "ĠнеÑģк олÑĮко", + "ĠнеÑģколÑĮ ко", + "l andır", + "land ır", + "lan dır", + "landı r", + "Ġв д", + "ĠÙĨ ÙĪ", + "ãģ İ", + "ÑĤ ин", + "ÑĤи н", + "ت Ø´", + "а ний", + "ан ий", + "ани й", + "Ġt ÅĻ", + "Ñģ иÑħ", + "Ñģи Ñħ", + "л ом", + "ло м", + "æŃ ©", + "ãİ ¡", + "Ġ ØŃر", + "ĠØŃ ر", + "æĭ į", + "e nou", + "en ou", + "eno u", + "Ġв ели", + "Ġвел и", + "Ġве ли", + "Ġ δη", + "Ġδ η", + "s ka", + "sk a", + "主 è¦ģ", + "ا Ù쨩", + "اÙģ Ø©", + "ĠболÑĮ ÑĪе", + "ĠболÑĮÑĪ Ðµ", + "ิ ศ", + "çĽ Ĭ", + "ĠÙģ ÙĤØ·", + "ĠÙģÙĤ Ø·", + "å¨ ģ", + "Ġh Æ°á»Łng", + "ĠD oÄŁ", + "ĠDo ÄŁ", + "Ġd Ãłi", + "Ġ гоÑĤов", + "Ġг оÑĤов", + "ĠгоÑĤ ов", + "Ġв ам", + "Ġва м", + "âĢ ī", + "ा à¤ļ", + "ाठļ", + "åħ ¸", + "à¹ĥ หà¸į", + "à¹ĥห à¸į", + "Ġ ç«", + "Ġç «", + "ekt ör", + "Ġв ел", + "Ġве л", + "Ġ ÙĦÙĪ", + "ĠÙĦ ÙĪ", + "Ø´ تÙĩ", + "شت Ùĩ", + "æĺ ¾", + "ả y", + "à¹Ĥ ม", + "Ġt á»ķng", + "Ġtá»ķ ng", + "Ġtá»ķn g", + "ĠповеÑĢ Ñħ", + "ÑĹ Ð²", + "Ġph ép", + "çļ ĩ", + "Ġп оÑĢÑıд", + "Ġпо ÑĢÑıд", + "ĠпоÑĢ Ñıд", + "ĠÑģооÑĤ веÑĤ", + "ठĿ", + "ĠÑģеб Ñı", + "Ġ ëĤł", + "ĠëĤ ł", + "Ġб Ñĥла", + "ĠбÑĥ ла", + "à¹ī าย", + "à¹īา ย", + "Ġ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢ", + "ĠÙħ جÙħÙĪØ¹", + "ï¼Į 以", + "Ġب ÙĪØ¯Ùĩ", + "ĠبÙĪØ¯ Ùĩ", + "ĠبÙĪ Ø¯Ùĩ", + "μ ÏĮ", + "Ġ íݸ", + "Ġíİ ¸", + "eÅŁ it", + "Ñİ Ñīие", + "ÑİÑī ие", + "Ñİ ÑīиÑħ", + "ÑİÑī иÑħ", + "åŁº éĩij", + "Ġت ØŃت", + "ĠتØŃ ت", + "Ġв лаÑģ", + "Ġвла Ñģ", + "ler le", + "ãĤ ²", + "ëĬ ĺ", + "è ĵ", + "m anın", + "man ın", + "manı n", + "ìŀ Ī", + "Ġz ast", + "Ġza st", + "Ġzas t", + "ĠÑĩелов ек", + "à¥ĩ ब", + "à¥ĩठ¬", + "p eÄį", + "pe Äį", + "Ġبر ÙĨاÙħÙĩ", + "Ġs lov", + "Ġsl ov", + "Ġslo v", + "ĠnÄĽ jak", + "ĠnÄĽj ak", + "ê· ľ", + "à¥ĩ ह", + "à¥ĩठ¹", + "èĹ ¤", + "ĠبÛĮ شتر", + "ĠبÛĮØ´ تر", + "il iz", + "ili z", + "Ġ ëĶĶ", + "Ġë ĶĶ", + "ĠëĶ Ķ", + "ا زÙĩ", + "از Ùĩ", + "ت د", + "Ġe tm", + "Ġet m", + "Ġëĭ¤ 른", + "Ġ vů", + "Ġv ů", + "å° Ħ", + "Ġк лаÑģ", + "Ġкл аÑģ", + "Ġкла Ñģ", + "в ÑĢоп", + "æ´ ¾", + "ĠÄij ình", + "Ñĥ ÑİÑĤ", + "ÑĥÑİ ÑĤ", + "Ñĥ еÑĤÑģÑı", + "ÑĥеÑĤ ÑģÑı", + "éľ ²", + "Ġ ÑģкоÑĢ", + "ĠÑģ коÑĢ", + "ĠÑģк оÑĢ", + "Ġв аÑģ", + "Ġва Ñģ", + "íķĺ ìĺĢëĭ¤", + "íķĺìĺĢ ëĭ¤", + "Ġ داشت", + "Ġد اشت", + "Ġداش ت", + "Ġ çĦ", + "Ġç Ħ", + "Ġ 西", + "Ġè ¥¿", + "Ġκα ÏĦά", + "ॠ¦", + "ìĹ Ĩ", + "Ġ خدÙħ", + "ĠØ® دÙħ", + "Ġخد Ùħ", + "ا سÙħ", + "اس Ùħ", + "Îij Ρ", + "ĠA ma", + "ĠAm a", + "å¥ ¥", + "Ġبزر Ú¯", + "Ġ ÐĴÑĸн", + "ĠÐĴ Ñĸн", + "Ġ Åĺ", + "ĠÅ ĺ", + "Ġ à¸Īาà¸ģ", + "Ġà¸Ī าà¸ģ", + "ĠÑħаÑĢакÑĤ еÑĢ", + "ĠÄij á»Ļi", + "ĠÄijá»Ļ i", + "ĠÑĢоз виÑĤ", + "ĠÑĢозви ÑĤ", + "ĠпÑĢоÑĦ еÑģ", + "Ġкон ÑĤÑĢ", + "ĠконÑĤ ÑĢ", + "ÎŁ ÎĽ", + "ÎŁÎ Ľ", + "Ġm inh", + "Ġmin h", + "Ġmi nh", + "ä¼ ij", + "ì ª½", + "Ġch Æ¡i", + "з аÑĨии", + "за ÑĨии", + "ĠдÑĸÑı лÑĮ", + "ë Ĩ", + "Ġn gay", + "Ġng ay", + "Ġnga y", + "à¥Ĥ à¤Ĥ", + "Ġiht iy", + "éĽ ª", + "Ġ ê´Ģ리ìŀIJ", + "Ġê´Ģ리 ìŀIJ", + "Ġc ụ", + "Ġ ì§Ī", + "Ġì§ Ī", + "ÙĬ Ø«", + "ặ p", + "ÙĪ Ø§Ø¹", + "ÙĪØ§ ع", + "ãģĤ ãģ£ãģŁ", + "Ġ çľ", + "Ġç ľ", + "Ġ ìļ°ë¦¬", + "Ġìļ° ë¦¬", + "à¹Ī à¸ĩà¸Ĥ", + "à¹Īà¸ĩ à¸Ĥ", + "Ġ çŃ", + "Ġç Ń", + ") ØĮ", + "Ãł m", + "ÙĦ ÛĮÙĦ", + "ÙĦÛĮ ÙĦ", + "Ġ 걸", + "Ġê± ¸", + "алÑĮ ниÑħ", + "æĹ¶ åĢĻ", + "un dan", + "und an", + "unda n", + "Ġ Gün", + "ĠG ün", + "ĠGü n", + "Ġ topl", + "Ġt opl", + "Ġto pl", + "Ġtop l", + "ĠÑĢек омен", + "ĠاÙĨت خاب", + "Ãł u", + "Äį ka", + "ë° Ģ", + "Ġк ÑĢаÑģ", + "ĠкÑĢа Ñģ", + "л оп", + "ло п", + "å¼ µ", + "ĠاÙĦ Ùħع", + "ĠاÙĦÙħ ع", + "m ÃŃn", + "mÃŃ n", + "Ġv iết", + "Ġvi ết", + "Ġ ê°ĻìĿĢ", + "Ġê°Ļ ìĿĢ", + "ut eÄį", + "ute Äį", + "Ġ nech", + "Ġn ech", + "Ġne ch", + "Ġnec h", + "çµ Ĥ", + "ãģª ãģĮ", + "ay ın", + "ayı n", + "Ġ Äįin", + "ĠÄį in", + "ĠÄįi n", + "ch ázÃŃ", + "cház ÃŃ", + "اÙģ Ø¸", + "ÑĢ Ð¾Ð²Ð°ÑĤÑĮ", + "ÑĢов аÑĤÑĮ", + "ÑĢо ваÑĤÑĮ", + "ÑĢова ÑĤÑĮ", + "à¹Ħ ร", + "Ġ ãĤ¤", + "ĠãĤ ¤", + "Ġзаб олева", + "Ġ å±±", + "Ġå± ±", + "Ġka dın", + "Ġkad ın", + "ÏĦ ηÏĤ", + "ÏĦη ÏĤ", + "а лиÑģÑĮ", + "ал иÑģÑĮ", + "али ÑģÑĮ", + "Ġh ük", + "åĵ ¥", + "Ġп еÑĢи", + "ĠпеÑĢ Ð¸", + "ÅĻ Ã¡d", + "Ġà¤ħ स", + "Ġ ÑģÑĤвоÑĢ", + "ĠÑģÑĤ воÑĢ", + "ĠÙĪ ÛĮÚ©ÛĮ", + "ĠÙĪÛĮ Ú©ÛĮ", + "Ġ ì¡", + "Ġì ¡", + "Ġc á»Ńa", + "Ġcá»Ń a", + "Ġh iá»ĥu", + "游 æĪı", + "ÑĮ омÑĥ", + "Ġg ó", + "Ġt oh", + "Ġto h", + "Ġб ла", + "Ġбл а", + "Ġ åij", + "Ġå ij", + "Ġп ло", + "Ġпл о", + "и ÑĪ", + "ĠÄij ấu", + "s kou", + "sk ou", + "sko u", + "ãĤĪ ãĤĬ", + "ู à¸Ľ", + "Ġr á»ĵi", + "оп ÑĢоÑģ", + "н олог", + "ĠÑĤ ÑĢав", + "ĠÑĤÑĢ Ð°Ð²", + "ĠÑĤÑĢа в", + "ĠWay back", + "Ġ à¹Ĩ", + "ĠÑĥ ÑĩаÑģÑĤ", + "ĠÑĥÑĩ аÑģÑĤ", + "ĠÑĥÑĩа ÑģÑĤ", + "ĠÑĥÑĩаÑģ ÑĤ", + "ĠпÑĢеп аÑĢа", + "Ġd ạng", + "ĠÃľ n", + "à¹Ħล à¸Ļ", + "Ġد اخ", + "Ġs Æ¡", + "Ġk oy", + "Ġko y", + "ëĿ¼ ê³ł", + "ĠÄij úng", + "à¥ĩà¤Ĥ ,", + "Ġgeç ir", + "ĠÑıк Ñīо", + "Ñģ ÑĤÑĢо", + "ÑģÑĤ ÑĢо", + "ÑģÑĤÑĢ Ð¾", + "ен ÑĤов", + "енÑĤ ов", + "Ñĸ ж", + "к ÑĥÑİ", + "кÑĥ Ñİ", + "Ġe ÄŁitim", + "ĠeÄŁit im", + "à¥įर स", + "Ġ Сп", + "ĠС п", + "ا تÛĮ", + "ات ÛĮ", + "ãģij ãĤĭ", + "ÏĦ Ïīν", + "ÏĦÏī ν", + "Ġ км", + "Ġк м", + "âĸįâĸį âĸįâĸį", + "j ist", + "ji st", + "jis t", + "ÑĤ ак", + "ÑĤа к", + "Ġ åIJįåīį", + "ĠåIJį åīį", + "é¡ Ķ", + "л Ñĭ", + "Ġkh ảo", + "Ġkhả o", + "âĢĻ Ñı", + "ĠÙħ ÙĦÛĮ", + "ĠÙħÙĦ ÛĮ", + "l ož", + "lo ž", + "Ġ ìĸ¸", + "Ġìĸ ¸", + "Ġg ần", + "Ġ à¤ľà¤°", + "Ġà¤ľ र", + "ब र", + "Îķ Σ", + "า à¸Ľ", + "าภĽ", + "Ġn ás", + "Ġná s", + "form ace", + "forma ce", + "Ġet mek", + "Ġetm ek", + "Ġetme k", + "в еÑģÑĤ", + "ве ÑģÑĤ", + "ìĸ´ ìļĶ", + "Ġत थ", + "ĠÑģ ек", + "ξ η", + "æ¯ Ľ", + "B ir", + "Bi r", + "Ġ ìŀĦ", + "Ġìŀ Ħ", + "Ġv ardır", + "Ġvar dır", + "Ġvardı r", + "ÙĪ Ø§ÙĦ", + "ÙĪØ§ ÙĦ", + "İ R", + "ov ané", + "ova né", + "ovan é", + "н аÑĢод", + "на ÑĢод", + "наÑĢ Ð¾Ð´", + "à¸Ħ ำ", + "e mek", + "em ek", + "eme k", + "ĠÎķ ÏĢ", + "Ġ ÅĻe", + "ĠÅĻ e", + "ãģ¾ ãģĽ", + "uyá»ĩ t", + "Ġ ìĸ¼", + "Ġìĸ ¼", + "r ů", + "Ġ onu", + "Ġo nu", + "Ġon u", + "à¹Ģà¸ķ à¸Ńร", + "од аÑĢ", + "ода ÑĢ", + "ز Ùĩ", + "Ġk av", + "Ġka v", + "о нÑĭ", + "он Ñĭ", + "Ġв еÑģ", + "Ġве Ñģ", + "ìĤ¬ ì§Ģ", + "Ġг ла", + "à Ŀ", + "ĠÙĤ ÛĮÙħت", + "çķ ¥", + "à¸ĸ าà¸Ļ", + "Äį il", + "Äįi l", + "Ġ ä¸ĩ", + "Ġä¸ ĩ", + "è¾ ĥ", + "åħ ħ", + "Ġ ÑĢед", + "ĠÑĢ ÐµÐ´", + "ĠÑĢе д", + "ม ห", + "am ilia", + "ami lia", + "amil ia", + "à¥ĩ à¤ķर", + "à¥ĩà¤ķ र", + "Ġt á»iji", + "Ġtá»ij i", + "Ùģ ÛĮ", + "ÑĢ ÑĸÑĪ", + "ÑĢÑĸ ÑĪ", + "ìķ ł", + "à¸Ļ ส", + "à¸Ī ร", + "à¥ĩ शन", + "à¥ĩश न", + "ĠÙħÙĪ Ø¶ÙĪØ¹", + "æī ¹", + "Ġob sah", + "Ġobs ah", + "Ġнав Ñĩ", + "Ġdes tek", + "Ġdest ek", + "Ġdeste k", + "Ġ zas", + "Ġz as", + "Ġza s", + "å ĵį", + "åĵ į", + "üm üz", + "ümü z", + "Ġ çŁ", + "Ġç Ł", + "Ġ è¨", + "Ġè ¨", + "Ù ¬", + "ç» Ī", + "Ġz de", + "Ġzd e", + "Ġz áp", + "Ġzá p", + "à¥Ĥ सर", + "à¥Ĥस र", + "ìĿ´ ì§Ģ", + "çļ ®", + "l om", + "lo m", + "ॠ§", + "ÙĦ اÙĤ", + "ÙĦا ÙĤ", + "à¸Ļ à¸ķ", + "íĮ ħ", + "л ада", + "ла да", + "лад а", + "m asına", + "mas ına", + "ması na", + "ãģ® ãģ§", + "ëĵ¤ ìĿĦ", + "Ġн аг", + "Ġна г", + "m asını", + "mas ını", + "ãĤ Ŀ", + "ın ıf", + "ını f", + "åĽ ´", + "Ġböl üm", + "å¥ ĸ", + "æ¨ Ļ", + "ÙĦ اØŃ", + "ÙĦا ØŃ", + "Ġг оÑģÑĥдаÑĢ", + "داÙĨ ÙĦÙĪØ¯", + "Ġп оÑĤÑĢеб", + "ĠпоÑĤ ÑĢеб", + "ĠÑĢ Ð¾ÑĨÑĸ", + "о га", + "ог а", + "ĠÑģлед ÑĥеÑĤ", + "Ġп аÑĢа", + "ĠпаÑĢ Ð°", + "Ġпа ÑĢа", + "é ¼", + "ãģį ãģŁ", + "ί ζ", + "Ġb á»ij", + "ÑĤ Ñĸв", + "ÑĤÑĸ в", + "ï¼Į 她", + "f amilia", + "éł ħ", + "Ġد ÙĦ", + "Ġs kup", + "Ġsk up", + "Ġsku p", + "еÑĩ ение", + "ãģĵãģ¨ ãģĮ", + "à¥Ģ ब", + "ุ ล", + "¨ ë¶Ģ", + "ĠاÙĦع رب", + "Ġ ç¾İ", + "Ġç¾ İ", + "ĠاÙĦ ÙħÙĪ", + "ĠاÙĦÙħ ÙĪ", + "Ġ Ø¥ÙĨ", + "ĠØ¥ ÙĨ", + "Ġná sled", + "Ġnás led", + "Ġt omu", + "Ġto mu", + "Ġtom u", + "Î Ħ", + "Ġз ави", + "Ġза ви", + "Ġзав и", + "Ġn hu", + "Ġnh u", + "ĠpÅĻed stav", + "ìłķ ë³´", + "o kol", + "ok ol", + "oko l", + "Ġк ÑĢи", + "a du", + "ad u", + "Ġ каÑĤ", + "Ġк аÑĤ", + "Ġка ÑĤ", + "Ġ ÑįÑĦ", + "ĠÑį ÑĦ", + "в ал", + "ва л", + "m ayı", + "ma yı", + "may ı", + "ĠÑĩаÑģ ÑĤо", + "ĠÑĩаÑģÑĤ о", + "Ġtr anh", + "Ġtra nh", + "Ġtran h", + "ائ ÙĦ", + "ãĤĪãģĨ ãģª", + "Ġp oh", + "Ġpo h", + "ìĥģ ìľĦ", + "Ġs ắc", + "Ùĥ س", + "Ġ мÑĥ", + "Ġм Ñĥ", + ". ::", + ".: :", + "ë Ī", + "» Ċ", + "Ġ ÙĨÚ¯", + "ĠÙĨ Ú¯", + "ÙIJ ÙĨ", + "н иком", + "ни ком", + "ник ом", + "Ñħ а", + "Ġ μοÏħ", + "Ġμ οÏħ", + "Ġμο Ïħ", + "ĠNg uyá»ħn", + "ĠвÑĭ Ñģок", + "ĠвÑĭÑģ ок", + "Ġ ÐŁÐ¾Ð´", + "ĠÐŁ од", + "ĠÐŁÐ¾ д", + "ĠпÑĢи ÑĢод", + "à¥ĭ ध", + "िà¤ķ ल", + "и ÑĢа", + "иÑĢ Ð°", + "ëĭ¤ ê³ł", + "Ġm ajÃŃ", + "Ġma jÃŃ", + "Ġmaj ÃŃ", + "Ġv ùng", + "Ġtarih inde", + "Ġtarihi nde", + "Ġ ваÑĢ", + "Ġв аÑĢ", + "Ġва ÑĢ", + "н иÑĤÑĮ", + "ни ÑĤÑĮ", + "ниÑĤ ÑĮ", + "ει ÏĤ", + "Ġ åĩº", + "Ġåĩ º", + "dy ž", + "ÏĦ Ïİν", + "ÏĦÏİ Î½", + "ä½ĵ èĤ²", + "Ġ à¹Ģว", + "Ġà¹Ģ ว", + "Ġà¹Ģภ§", + "Ġà¤ħ à¤ļ", + "Ġ اÙĨÚ¯ÙĦÛĮسÛĮ", + "ĠاÙĨÚ¯ ÙĦÛĮسÛĮ", + "à¥įय म", + "Ġgel iÅŁ", + "æ¹ ĸ", + "Ġ اک", + "Ġا Ú©", + "Ġп лан", + "Ġпл ан", + "Ġпла н", + "k yt", + "ky t", + "ا بÛĮ", + "اب ÛĮ", + "κ ι", + "Ġc hung", + "Ġch ung", + "Ġchu ng", + "ान à¤ķ", + "s ı", + "Ġt inh", + "Ġti nh", + "Ġtin h", + "ĠÑģÑĤ ол", + "ĠÑģÑĤо л", + "ÑģÑĤ ÑĢÑĥ", + "ÑģÑĤÑĢ Ñĥ", + "Ġли ÑĪе", + "ĠлиÑĪ Ðµ", + "Ġви ÑĢоб", + "il miÅŁ", + "ilm iÅŁ", + "Ġ зÑĸ", + "Ġз Ñĸ", + "ç» Ĩ", + "åĢ Ĵ", + "ãĤ· ãĥ£", + "åŃ ©", + "Ġ à¹Ĥรà¸ĩà¹Ģร", + "Ġà¹Ĥ รà¸ĩà¹Ģร", + "Ġà¹Ĥรà¸ĩ à¹Ģร", + "íĻ ľ", + "ĠбÑĥд е", + "ĠбÑĥ де", + "Ġyak laÅŁ", + "èĩª åĪĨ", + "Ġ ÙģÙĪ", + "ĠÙģ ÙĪ", + "С Т", + "Ġso run", + "Ġsor un", + "Ġsoru n", + "à¹Ģ à¸ł", + "à¹Ģภł", + "Ġc ô", + "в иÑĩ", + "ви Ñĩ", + "ëĵ¤ ìĿĺ", + "Ġtr iá»ĩu", + "Ġtri á»ĩu", + "Ġr õ", + "Ġ ãģ«", + "ÄŁ im", + "ÄŁi m", + "iyor uz", + "è ľ", + "à¥įर व", + "Ġس Ù¾", + "Ġ ìĦľìļ¸", + "ĠìĦľ ìļ¸", + "δ ε", + "еÑĢ ÑĪ", + "Ġ أس", + "ĠØ£ س", + "äº ŀ", + "è¯ į", + "п ÑĤом", + "ฤ ษ", + "Ġساز ÙħاÙĨ", + "Ġlu ôn", + "Ùĩ ÙĪØ±", + "c ü", + "аÑĤ кÑĥ", + "Ġo labilir", + "Ġol abilir", + "Ġolab ilir", + "Ġola bilir", + "Ġ ìĹ°êµ¬", + "ĠìŰ 구", + "ен ной", + "енно й", + "Ġ æĪij", + "ĠæĪ ij", + "Ġ него", + "Ġн его", + "Ġне го", + "Ġнег о", + "Ġ. **************", + "ิ à¸ĺ", + "Ġ ãĤ·", + "ĠãĤ ·", + "ت Ùģ", + "ÐŁ ÑĢо", + "ÐŁÑĢ Ð¾", + "Ġhakk ında", + "Ġhakkı nda", + "Äį nÄĽ", + "ĠM ỹ", + "é ½", + "ĠÏĥ ÏĦον", + "ĠÏĥÏĦο ν", + "Ġ âm", + "Ġâ m", + "§ ظ", + "ĠÅŁ irket", + "æĥħ åĨµ", + "ĠØ¢ÙħÙĪØ² Ø´", + "λ εÏħ", + "λε Ïħ", + "Ùħ Ùĩ", + "è¦ ı", + "ãģ¨ æĢĿ", + "Ġ ÙĪØ¹", + "ĠÙĪ Ø¹", + "ÏĪ Î·", + "Ïģ οÏį", + "Ïģο Ïį", + "Ġ ÂłĊ", + "ĠÂł Ċ", + "δ η", + "ÑĪ Ð¾Ð²", + "åĪ ¤", + "Ġm ắt", + "æĭ ¿", + "à¸Ļ à¸Ķ", + "éĻ Ħ", + "à¹ī ม", + "ĠÄij ạt", + "Ġg üzel", + "Ġgü zel", + "m Ã¼ÅŁ", + "Ðŀ ÐĴ", + "çĭ ¬", + "리 를", + "Ġп лаÑĤ", + "Ġпл аÑĤ", + "Ġпла ÑĤ", + "Ġngh á»ĭ", + "ĠÑĤак иÑħ", + "ĠÑĤа киÑħ", + "б иÑĢа", + "би ÑĢа", + "Ġн ек", + "Ġне к", + "ÑģÑĮ кÑĸ", + "ÑģÑĮк Ñĸ", + "رÙĬ اض", + "o nu", + "on u", + "à¥ĭ म", + "ĠGi Ỽi", + "ĠGiá» Ľi", + "èŀ į", + "é ²", + "ĠGe nel", + "ĠGen el", + "ĠGene l", + "åĬ ¿", + "Ġ вÑĸ", + "Ġв Ñĸ", + "å§ IJ", + "è© ¦", + "ĠжиÑĤ ÑĤÑı", + "Ġ ìĺ¨", + "Ġìĺ ¨", + "åĩº æĿ¥", + "Ġt á»ij", + "Ġtá» ij", + "Ġl ao", + "Ġla o", + "ί ο", + "ĠÎł α", + "н иÑĤелÑĮ", + "ниÑĤ елÑĮ", + "ниÑĤе лÑĮ", + "éļ İ", + "Ġви кон", + "Ġвик он", + "Ġвико н", + "ĠÙģ Ø¹Ø§ÙĦ", + "ĠÙ쨹 اÙĦ", + "à¹Ģ ศ", + "à¹Ģภ¨", + "ÏĮ γ", + "ĠоÑĢгани з", + "ĠоÑĢган из", + "Ġ емÑĥ", + "Ġе мÑĥ", + "Ġем Ñĥ", + "Ġ ÙĬع", + "ĠÙĬ ع", + "ĠÙħ ب", + "ाल य", + "ĠÎľ ÏĢ", + "é ¸", + "ù a", + "ê¸ ¸", + "Ġ ÄIJiá»ģu", + "ĠÄIJ iá»ģu", + "ε ίο", + "εί ο", + "äº ī", + "ượ t", + "ÑĢа зÑĥ", + "ÑĢаз Ñĥ", + "ĠоÑĤ ÑĢим", + "ĠоÑĤÑĢи м", + "Ġ طب", + "ĠØ· ب", + "Ġ 以", + "æĸ Ĺ", + "ë° ±", + "à¤ĩ स", + "ë§Į ìĽIJ", + "ãĢģ ãģĿãģ®", + "ĠëķĮ 문", + "ĠØ¢ ÛĮ", + "С Ðł", + "ض ÙĦ", + "æ ĵį", + "æĵ į", + "k azy", + "ka zy", + "kaz y", + "ส ว", + "â ng", + "ân g", + "à¤Ĥ à¤Ń", + "н ÑĸÑĩ", + "нÑĸ Ñĩ", + "ั à¸ĩà¸ģ", + "ัà¸ĩ à¸ģ", + "Ġبر رسÛĮ", + "ر دÙĩ", + "رد Ùĩ", + "Ġm ẫu", + "à¹Ī วà¸ĩ", + "à¹Īว à¸ĩ", + "ĠداÙĨØ´ گاÙĩ", + "d ıģ", + "dı ÄŁ", + "ĠT á»ķng", + "ĠTá»ķ ng", + "第 äºĮ", + "c ÃŃm", + "cÃŃ m", + "Ġb öyle", + "Ġbö yle", + "ë ¶Ī", + "ë¶ Ī", + "ĠÙħÙĨ ابع", + "à¥ĥ ष", + "е ÑĤÑĭ", + "еÑĤ Ñĭ", + "åĨ ·", + "åĽ Ń", + "Ġت ÙĪØ¬Ùĩ", + "ĠتÙĪ Ø¬Ùĩ", + "åĪ »", + "æŀ ģ", + "à¤Ł न", + "л ан", + "ла н", + "Ġ íĥĢ", + "Ġíĥ Ģ", + "ä½ IJ", + "Ġ обÑĭ", + "Ġо бÑĭ", + "Ġоб Ñĭ", + "å¸ Ŀ", + "ì» ¤", + "å® Ī", + "èµ· æĿ¥", + "Ġ ãĥ¬", + "Ġãĥ ¬", + "çİ ī", + "à¹Ģ หล", + "à¹Ģห ล", + "и не", + "ин е", + "ห าร", + "หา ร", + "éļ ı", + "Ġг аз", + "ĠاÙĦ عÙħÙĦ", + "ĠاÙĦع ÙħÙĦ", + "ĠاÙĦعÙħ ÙĦ", + "à¥ģ à¤Ŀ", + "à¥ģठĿ", + "Ïģ ιο", + "Ïģι ο", + "Ġv ám", + "Ġvá m", + "Ġع ÙĨد", + "ĠعÙĨ د", + "ÙĨد گاÙĨ", + "ï¼Į éĤ£", + "Ġна Ñħод", + "á no", + "án o", + "ÛĮ اÙĨ", + "ÛĮا ÙĨ", + "ĠØ£ ع", + "Ġ ÑĢади", + "ĠÑĢ Ð°Ð´Ð¸", + "ĠÑĢа ди", + "ĠÑĢад и", + "Ġм ене", + "Ġмен е", + "Ġú da", + "Ïĩ ν", + "ÑĥлÑı ÑĢ", + "à¥Ģ प", + "Ġpou žÃŃ", + "Ġ ä¸", + "ĠÙĤ اÙĨÙĪÙĨ", + "ι κοÏį", + "ικ οÏį", + "ικο Ïį", + "á y", + "Ġç öz", + "ÏĦ Ïģ", + "ÙĨ اÙħ", + "ÙĨا Ùħ", + "ุ à¸ķ", + "åĵ ª", + "ÙĬ ب", + "ä¹ °", + "ÐĶ Ð»Ñı", + "Ġ ëłĪ벨", + "ĠëłĪ 벨", + "ุ à¸ļ", + "н ÑĥÑĤи", + "нÑĥ ÑĤи", + "нÑĥÑĤ и", + "è½ »", + "ĠÎľ α", + "Ġ è¦", + "Ġè ¦", + "аÑĤ ков", + "Ġ ëĪĦ", + "ĠëĪ Ħ", + "Ġt uyá»ĥn", + "Ġtuy á»ĥn", + "Ùİ Ùħ", + "ĠвÑĭ пол", + "ĠвÑĭп ол", + "Ġst udi", + "Ġstud i", + "Ġstu di", + "ĠpÅĻ ek", + "ĠpÅĻe k", + "Ġз ам", + "Ġза м", + "Ġmat eri", + "Ġma teri", + "Ġmate ri", + "Ġmater i", + "åİ ĭ", + "Ġ ал", + "Ġа л", + "Ġ à¸ļร", + "Ġà¸ļ ร", + "Ø· ØŃ", + "ĠÙħر Ú©", + "Ġ ìĭ¬", + "Ġìĭ ¬", + "ĠÙĤ ابÙĦ", + "ĠÙĤاب ÙĦ", + "ĠÐIJ ле", + "ĠÐIJл е", + "ın tı", + "Ġ å»", + "Ġå »", + "İ K", + "ëħĦ ëıĦ", + "Ñĭ ваÑĤÑĮ", + "Ñĭв аÑĤÑĮ", + "Ñĭва ÑĤÑĮ", + "Ġdev let", + "社 ä¼ļ", + "ëĤ ł", + "Ġko lay", + "Ġkol ay", + "Ġkola y", + "ĠÑĢазв иÑĤи", + "ĠÑĢазви ÑĤи", + "а ди", + "ад и", + "ئ ÙĬس", + "a dıģı", + "ad ıģı", + "adı ģı", + "adıģ ı", + "Îij ÎĽ", + "Ġ hoa", + "Ġh oa", + "Ġho a", + "Ġ ศ", + "Ġภ¨", + "ı ÅŁtır", + "Ä±ÅŁ tır", + "ÑĢ Ñİ", + "Ġк аÑĩе", + "Ġка Ñĩе", + "¼ åIJĪ", + "åħ ´", + "Ġ ê·¸ëŁ¬", + "Ġê·¸ 룬", + "Ġм ÑĸÑģÑĤ", + "ĠмÑĸ ÑģÑĤ", + "ĠмÑĸÑģ ÑĤ", + "Ġм не", + "Ġмн е", + "ãĥ¼ ãĤº", + "ãĥ¼ãĤ º", + "ç§ Ģ", + "Ġع ÙĦÙĬÙĩ", + "ĠعÙĦ ÙĬÙĩ", + "ĠعÙĦÙĬ Ùĩ", + "Ġ ìĭľê°Ħ", + "Ġìĭľ ê°Ħ", + "Ġà¤ĺ र", + "Ġ Ñĥг", + "ĠÑĥ г", + "åıij å±ķ", + "ı ÅŁÄ±", + "Ä±ÅŁ ı", + "Ġ ìĪľ", + "ĠìĪ ľ", + "Ġ íĻľ", + "ĠíĻ ľ", + "æ¡ £", + "Ġn okt", + "Ġno kt", + "Ġnok t", + "l ém", + "lé m", + "ен нÑĭй", + "Ġب Ùħ", + "à¥ĩ य", + "à¥ĩठ¯", + "о дав", + "од ав", + "ода в", + "à¹Ĥ ร", + "ï¼Į æľī", + "ا ÙĬات", + "اÙĬ ات", + "اÙĬا ت", + "ا ÛĮÙĩ", + "اÛĮ Ùĩ", + "Ġà¤īप य", + "Ġs mÄĽ", + "Ġsm ÄĽ", + "Ø´ د", + "Ш ÐIJ", + "Ġا ÙħاÙħ", + "ĠاÙħ اÙħ", + "ĠاÙħا Ùħ", + "æ¿ Ģ", + "Ġho ạch", + "об ÑĢаз", + "обÑĢаР·", + "à¥ĭ ह", + "ĠÑĢеб ен", + "иÑĤ елÑı", + "иÑĤе лÑı", + "ãģªãģĮ ãĤī", + "س اÙĦ", + "Ġ à¸Īำ", + "Ġà¸Ī ำ", + "Ġ خاص", + "ĠØ® اص", + "Ġg eri", + "Ġge ri", + "Ġger i", + "ठĺ", + "Ġ ìº", + "Ġì º", + "à¹ģ à¸Ĺ", + "âĢĮ ÛĮ", + "Ú¯ رÛĮ", + "گر ÛĮ", + "ا Ùħبر", + "اÙħ بر", + "ÑĪ Ñĥ", + "Ġp hong", + "Ġph ong", + "Ġphon g", + "и мо", + "им о", + "п а", + "Ġ ìµľê³ł", + "Ġìµľ ê³ł", + "Ġ нам", + "Ġн ам", + "Ġна м", + "o stÃŃ", + "os tÃŃ", + "ost ÃŃ", + "is ini", + "isi ni", + "isin i", + "Ġд Ñĥже", + "ĠдÑĥ же", + "Ñģ ком", + "Ñģк ом", + "Ñģко м", + "ĠпÑĢод Ñĥк", + "ÏĮ ÏĦηÏĦα", + "ÏĮÏĦη ÏĦα", + "a ln", + "al n", + "is ine", + "isi ne", + "isin e", + "è¿ ľ", + "алÑĮ ной", + "алÑĮно й", + "त र", + "t ıģ", + "tı ÄŁ", + "Ġë Ĵ", + "è¿ĺ æĺ¯", + "ĠÙħ Ø«ÙĦ", + "ĠÙħØ« ÙĦ", + "ìľ ¨", + "ï¾ ĺ", + "åĪ ¸", + "ç ¶ļ", + "ç¶ ļ", + "ج اد", + "جا د", + "Ġ кÑĥ", + "Ġк Ñĥ", + "åĢ ij", + "o vu", + "ov u", + "Ġs Ä©", + "Ġ ìłIJ", + "Ġìł IJ", + "ĠÑĥ ÑĢов", + "ि à¤ļ", + "िठļ", + "ov ali", + "ova li", + "oval i", + "Ġ ÙĪÙĨ", + "ĠÙĪ ÙĨ", + "Ġ ìĿĮ", + "ĠìĿ Į", + "Ġк г", + "า à¸ĺ", + "าภĺ", + "ÏĦ Ïģα", + "ÏĦÏģ α", + "ž dy", + "à¹Į à¸ķ", + "Ġ nÄĽm", + "ĠnÄĽ m", + "Ġ Це", + "ĠЦ е", + "n oho", + "no ho", + "Ġëĭ¤ ìĭľ", + "Ġté to", + "Ġb iá»ĥu", + "ĠY ön", + "Ġpr áce", + "Ġprá ce", + "à¥ī र", + "Ġch ÃŃ", + "ов ой", + "ово й", + "Ġm ợ", + "Ġmá» Ł", + "èª ª", + "Ïİ ÏĤ", + "в олÑı", + "во лÑı", + "вол Ñı", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "å¯ ¦", + "é» ŀ", + "Ġà¤ı व", + "Ïħ να", + "Ïħν α", + "å² ¡", + "kh ông", + "ĠpÅĻÃŃpad ÄĽ", + "å Ĺ", + "Ġبد ÙĪÙĨ", + "Ïĥ κε", + "Ïĥκ ε", + "Ġdik kat", + "ĠAn cak", + "ĠAnc ak", + "Ġt iá»ĩn", + "Ġti á»ĩn", + "éĿ Ļ", + "Ġ ìĿ¼ë°ĺ", + "ĠìĿ¼ ë°ĺ", + "ĠÄį len", + "ìķ ħ", + "ा à¤ĩन", + "ाà¤ĩ न", + "ãģ£ ãģ¦ãģĦãģŁ", + "ãģ£ãģ¦ ãģĦãģŁ", + "ãģ£ãģ¦ãģĦ ãģŁ", + "ĠìĿ´ ìļ©", + "ÙĪ ÙħÛĮ", + "ÙĪÙħ ÛĮ", + "i ná", + "in á", + "ặ ng", + "ặn g", + "Ïİ Ïģα", + "ÙĨ ÙĬØ©", + "ÙĨÙĬ Ø©", + "в аж", + "ва ж", + "è İ·", + "èİ ·", + "å© ļ", + "ĠÅŁ u", + "Ġ ãģĬ", + "Ġد رب", + "Ġدر ب", + "Ġd iá»ħn", + "ÅĻ eba", + "ÅĻe ba", + "ÅĻeb a", + "as ının", + "asını n", + "ç½ij ç«Ļ", + "н ÑĮого", + "нÑĮ ого", + "нÑĮо го", + "ĠاÙĦØ£ ÙĪÙĦ", + "ικ ÎŃÏĤ", + "Ġz ÃŃsk", + "о ло", + "ол о", + "ĠÑį ÑĤоÑĤ", + "ĠÑįÑĤ оÑĤ", + "ĠÑįÑĤо ÑĤ", + "Ġp okud", + "Ġpo kud", + "Ġpok ud", + "è² »", + "е ÑĢÑĸв", + "еÑĢ Ñĸв", + "еÑĢÑĸ в", + "ãĥķ ãĤ£", + "ãĥķãĤ £", + "иÑĤÑĥ а", + "Ġv yd", + "Ġvy d", + "о лож", + "ол ож", + "оло ж", + "л ÑıÑĤÑĮ", + "лÑı ÑĤÑĮ", + "ÙĤ Ùħ", + "æ´ ĭ", + "æ§ ĭ", + "Ġغ ÛĮر", + "Ġ stÅĻed", + "Ġst ÅĻed", + "ĠstÅĻ ed", + "ظ ر", + "Ġhiç bir", + "θ εί", + "θε ί", + "z nik", + "zn ik", + "д Ñĭ", + "l uv", + "lu v", + "ĠÙħ ؤ", + "ĠÚ¯ رÙĪÙĩ", + "Ġگر ÙĪÙĩ", + "Ġ ï¼īĊ", + "Ġï¼ī Ċ", + "t eri", + "ter i", + "te ri", + "ĠÏħ ÏĢο", + "ĠÏħÏĢ Î¿", + "v oj", + "vo j", + "Ġبع ض", + "Ġb ilin", + "Ġbi lin", + "Ġbil in", + "Ġ رÙĪØ´", + "Ġر ÙĪØ´", + "ĠرÙĪ Ø´", + "Ġоб Ñıз", + "Ġ ï»", + "Ġï »", + "س ÙĨ", + "Ġ ÏĢα", + "ĠÏĢ Î±", + "í į¼", + "Ġt ÃŃn", + "ĠtÃŃ n", + "Ġ ´", + "Ġ ´", + "ìĤ¬ ìĿ´íĬ¸", + "ìĤ¬ìĿ´ íĬ¸", + "Ġ podob", + "Ġpo dob", + "Ġpod ob", + "Ñī ее", + "Ñīе е", + "Ġ åįĹ", + "Ġåį Ĺ", + "Ġb ych", + "Ġby ch", + "о зи", + "оз и", + "ĠV Äĥn", + "ØŃ Ùĩ", + "åѦ éĻ¢", + "ĠÅĻ ekl", + "ĠÅĻe kl", + "ĠÅĻek l", + "립 ëĭĪëĭ¤", + "Ġп ÑĢоÑģ", + "ĠпÑĢ Ð¾Ñģ", + "ĠпÑĢо Ñģ", + "κ ά", + "ĠbaÅŁ ladı", + "á»§ y", + "Ñİ Ð´Ð¶", + "ाà¤ı à¤Ĺ", + "à¤Ĥ à¤ļ", + "Ġ ê´Ģ볨", + "Ġê´Ģ 볨", + "Ġв опÑĢоÑģ", + "ĠÑģÑĤ аÑĤÑĮ", + "ĠÑģÑĤаÑĤ ÑĮ", + "ĠÑģÑĤа ÑĤÑĮ", + "Ġy atırım", + "Ġyatır ım", + "н Ñĥла", + "нÑĥ ла", + "нÑĥл а", + "ر اÙģ", + "را Ùģ", + "Ġç eÅŁit", + "Ġà¤ī द", + "å¤ ®", + "Ġпо Ñıв", + "åĽ½ å®¶", + "ĠÑģооÑĤвеÑĤ ÑģÑĤв", + "ìķ ¡", + "ĠØ® ÙĪØ§Ùĩد", + "ĠØ®ÙĪØ§Ùĩ د", + "ĠØ®ÙĪ Ø§Ùĩد", + "Å¡ Å¡ÃŃ", + "Âł п", + "ĠNh Ãł", + "' '''", + "'' ''", + "''' '", + "ï½ ¨", + "à ħ", + "Ġ ïº", + "Ġï º", + "ĠØ¢Ùħ رÛĮÚ©", + "lar ımız", + "larım ız", + "ج ا", + "Ùģ ÙĤ", + "Ġ á»", + "Ġá »", + "Ġ ìķł", + "Ġìķ ł", + "Ġز باÙĨ", + "ĠÑĤ воÑĢ", + "ĠÑĤв оÑĢ", + "н иÑĩеÑģ", + "ни ÑĩеÑģ", + "ниÑĩ еÑģ", + "Ġк ни", + "Ø® داÙħ", + "à¸Ł ร", + "Ġ ì¹ĺ", + "Ġì¹ ĺ", + "ว าม", + "ĠÙħ ÙĩÙħ", + "ĠÙħÙĩ Ùħ", + "Ġs tol", + "Ġst ol", + "Ġsto l", + "Ġed ilen", + "Ġedi len", + "Ġedil en", + "Ġ pek", + "Ġp ek", + "Ġpe k", + "اÙĨ ات", + "اÙĨا ت", + "алÑĮ нÑĸ", + "Ġнеоб ÑħÑĸд", + "à¹Ħ ว", + "Ġश र", + "Ġ íĮIJ", + "ĠíĮ IJ", + "Ò ij", + "Ġ ним", + "Ġн им", + "Ġни м", + "Ġ à¸ĺ", + "Ġภĺ", + "æĺ ł", + "äº Ĵ", + "ĠbaÅŁ ar", + "ž i", + "Ġм ног", + "Ġмн ог", + "l endi", + "len di", + "á vajÃŃ", + "áv ajÃŃ", + "n ict", + "ni ct", + "nic t", + "Ġд Ñĥм", + "ĠдÑĥ м", + "éĻ ©", + "Ïĥ Ïĥ", + "i ky", + "ik y", + "алÑĮ нÑĭй", + "Ġ ÙħÙĨت", + "ĠÙħ ÙĨت", + "ĠÙħÙĨ ت", + "å® ®", + "- за", + "-з а", + "еÑĢ Ðº", + "å¡ Ķ", + "Ġμε ÏĦα", + "oÄŁ un", + "oÄŁu n", + "ÎĹ Îľ", + "à¥Īà¤Ĥ ।Ċ", + "à¥Īà¤Ĥ। Ċ", + "Äį ky", + "å¹³ åı°", + "à¥ĭ श", + "Ġ ona", + "Ġo na", + "Ġon a", + "Ġ bec", + "Ġb ec", + "Ġbe c", + "ì ¢", + "Ġc ây", + "Ġcâ y", + "k ün", + "kü n", + "Ġ à¤Ī", + "ĠठĪ", + "Ġr á»Ļng", + "еÑĢ Ð±", + "å¹ ¸", + "ï¾ IJ", + "ĠпÑĸд пÑĢиÑĶм", + "çĶ £", + "Ġ ÏĦε", + "ĠÏĦ ε", + "ĠÙĨÙĤ Ø´", + "о виÑħ", + "ов иÑħ", + "ови Ñħ", + "ĠÙģ Ùī", + "Ðļ ак", + "Ùİ Ø±", + "Ġ Щ", + "ĠÐ ©", + "алÑĮ нÑĭÑħ", + "Ġk üçük", + "èŃ ·", + "æĭ ħ", + "i caret", + "ic aret", + "ica ret", + "icare t", + "Ġ رÙģØª", + "Ġر ÙģØª", + "ĠرÙģ Øª", + "Ġод ного", + "Ġодно го", + "ÑĪ Ð¸Ð¼", + "ÑĪи м", + "Ġ бÑĸ", + "Ġб Ñĸ", + "Ġuygu lam", + "Ġ æĭ", + "Ġæ ĭ", + "ä½ Ľ", + "u cu", + "uc u", + "d ÃŃ", + "Å ĺ", + "ئ Ø©", + "ê± ¸", + "Ù Į", + "Ġ ÎłÏģο", + "ĠÎł Ïģο", + "Ġye rine", + "Ġyer ine", + "Ġyeri ne", + "ĠÑĸн ÑĦоÑĢма", + "Ġ å¤ĸ", + "Ġå¤ ĸ", + "ä» ķ", + "н ав", + "на в", + "a rası", + "ar ası", + "ara sı", + "aras ı", + "à¸Ńà¸Ļ à¹Ħลà¸Ļ", + "ا شت", + "اش ت", + "ز ÙĬ", + "æ© ĭ", + "Ġ ãĤ«", + "ĠãĤ «", + "èĥ½ åĬĽ", + "å¥ Ĺ", + "Ġpro h", + "Ġpr oh", + "Ġп ÑĢава", + "ĠпÑĢ Ð°Ð²Ð°", + "ĠпÑĢав а", + "ĠпÑĢа ва", + "Ỽ p", + "Ġ à¸Ĥà¸Ńà¸ĩ", + "Ġà¸Ĥ à¸Ńà¸ĩ", + "Ġ ë´", + "Ġë ´", + "Ġl úc", + "Ġ éķ", + "Ġé ķ", + "ب ÙĪØ¯", + "بÙĪ Ø¯", + "r upa", + "ru pa", + "rup a", + "ا زÙħ", + "از Ùħ", + "Ġ кан", + "Ġк ан", + "Ġка н", + "ılı m", + "ıl ım", + "Ġ Ùĩد", + "ĠÙĩ د", + "ãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢ ĠãĢĢ", + "ãĢĢĠ ãĢĢĠãĢĢ", + "Ñĭ ваеÑĤ", + "Ñĭв аеÑĤ", + "Ñĭва еÑĤ", + "Ø® اÙĨÙĩ", + "خاÙĨ Ùĩ", + "Ñĥ кÑĤ", + "Ñĥк ÑĤ", + "ĠçϾ 度", + "ĠnÄĽ co", + "е мон", + "ем он", + "емо н", + "Ġà¤ħ प", + "Ġ ÎĮ", + "ĠÎ Į", + "ün ün", + "ünü n", + "æĸĩ åĮĸ", + "ä¹ İ", + "ä¸Ĭ çļĦ", + "ÙĦ ÙĬÙħ", + "ÙĦÙĬ Ùħ", + "ĠtÄĽ ch", + "ا سب", + "اس ب", + "âĢĻ ÑĶ", + "Ġ Ú¯ÛĮ", + "ĠÚ¯ ÛĮ", + "Ġ ê·¼", + "Ġê· ¼", + "Ġtr ẻ", + "μÎŃ Î½Î¿", + "μÎŃν ο", + "ãģĵãģ¨ ãĤĴ", + "ìĿ´ ëĤĺ", + "åĸ Ħ", + "Ġtr ả", + "åĪĨ æŀIJ", + "Ġ dÄĽl", + "Ġd ÄĽl", + "ĠdÄĽ l", + "Ñĥ Ñģка", + "ÑĥÑģ ка", + "ÑĥÑģк а", + "Ġм ного", + "Ġмн ого", + "Ġмног о", + "à¥Ī र", + "μα ÏĦοÏĤ", + "μαÏĦο ÏĤ", + "Ġm ÃŃsto", + "ĠmÃŃ sto", + "ĠmÃŃst o", + "Ġ ê°ģ", + "Ġê° ģ", + "Ġп ÑĢог", + "ĠпÑĢ Ð¾Ð³", + "ĠпÑĢо г", + "b aÅŁ", + "ba ÅŁ", + "а йÑĤе", + "ай ÑĤе", + "айÑĤ е", + "Ġc á»ķ", + "å¿ ľ", + "ï¼ģ Ċ", + "ç ı", + "Ġbir çok", + "Ġ íĺķ", + "Ġíĺ ķ", + "çµ Į", + "ĠEv rop", + "ĠÑģ оÑĨÑĸ", + "ĠÑģо ÑĨÑĸ", + "ä»ĸ çļĦ", + "Ġ μÏĢο", + "Ġμ ÏĢο", + "ĠμÏĢ Î¿", + "å¥ Ī", + "Ġ Ú¯ÙĦ", + "ĠÚ¯ ÙĦ", + "ÙĪ ÙĦØ©", + "ÙĪÙĦ Ø©", + "æµ İ", + "Ġ Ú©ÙĪ", + "ĠÚ© ÙĪ", + "± ä¹IJ", + "ãģĹ ãģı", + "ãģĹãģ ı", + "çº ³", + "ÑģÑĤв енно", + "ÑģÑĤвен но", + "éĽ ¢", + "ा .", + "Ġgerçek leÅŁtir", + "ĠgerçekleÅŁ tir", + "Ġ kır", + "Ġk ır", + "Ġkı r", + "ì ³", + "Ġг оÑģп", + "å¹ ķ", + "ìĦ ¼", + "» .Ċ", + "». Ċ", + "к ÑĥÑĢ", + "кÑĥ ÑĢ", + "Ġ رÛĮ", + "Ġر ÛĮ", + "æĽ ¾", + "ÙĪ Ø±ÙĬ", + "ÙĪØ± ÙĬ", + "лекÑģ анд", + "ص Ùģ", + "Ġc ảnh", + "Ġcả nh", + "å± Ĥ", + "ãĤ Ĩ", + "Ġ تس", + "Ġت س", + "ì° ½", + "기 를", + "Ġ à¹Ģà¸Ħ", + "Ġà¹Ģ à¸Ħ", + "Ġà¹ĢภĦ", + "çŁ Ń", + "Ġ ÑģÑĤÑĢо", + "ĠÑģ ÑĤÑĢо", + "ĠÑģÑĤ ÑĢо", + "ĠÑģÑĤÑĢ Ð¾", + "ĠÏĥ ÏĦιÏĤ", + "ĠÏĥÏĦι ÏĤ", + "à¥įय व", + "Ġع ÙĦÙħ", + "ĠعÙĦ Ùħ", + "ĠÑģ иÑĤÑĥа", + "ĠÑī одо", + "ĠÑīо до", + "åIJ Ľ", + "Ùħ س", + "ĠоÑĤ кÑĢÑĭ", + "ĠоÑĤк ÑĢÑĭ", + "Ġsp oj", + "Ġspo j", + "ĠÄij Äĥng", + "Ġs avaÅŁ", + "Ġsav aÅŁ", + "ี ร", + "sk ém", + "ské m", + "Ġ è¡Į", + "Ġè¡ Į", + "é ¹", + "Ġ ÙĬÙħÙĥÙĨ", + "ĠÙĬÙħ ÙĥÙĨ", + "о вано", + "ов ано", + "ова но", + "ован о", + "Ġп ÑĢавилÑĮ", + "ĠпÑĢав илÑĮ", + "ĠпÑĢави лÑĮ", + "ĠпÑĢавил ÑĮ", + "Ġchiế c", + "èĪ ¹", + "éĵ ¶", + "ĠоÑĤ д", + "Ġ ìĿĢ", + "ĠìĿ Ģ", + "íħ Ķ", + "Ġ Nej", + "ĠN ej", + "ĠNe j", + "о не", + "он е", + "Ġk ız", + "Ġkı z", + "олог иÑĩеÑģ", + "Ġ кÑĢаÑĹ", + "ĠкÑĢа ÑĹ", + "à¸ļ à¸Ńล", + "æ¥ ¼", + "Ġت ÙħاÙħ", + "ĠتÙħ اÙħ", + "Ġب ÛĮÙħ", + "ĠبÛĮ Ùħ", + "ĠÑģ Ñĥб", + "ĠÑģÑĥ б", + "v ý", + "Ñģ кие", + "Ñģк ие", + "Ñģки е", + "ëĮĢ ë¡ľ", + "ëĮ Ģë¡ľ", + "???? ????", + "abilir siniz", + "ан Ñģов", + "анÑģ ов", + "代 表", + "Ġ매 매", + "олог ÑĸÑĩ", + "μ αν", + "μα ν", + "ак Ñģим", + "акÑģ им", + "ãĤ¤ ãĥ«", + "Ġt ải", + "Ġtả i", + "Ùħ ÙĪ", + "å® Ĺ", + "n em", + "ne m", + "Ġkho ản", + "Ġ паÑĤ", + "Ġп аÑĤ", + "Ġпа ÑĤ", + "ан ÑĤа", + "анÑĤ а", + "Ġпом оÑī", + "Ġ vod", + "Ġv od", + "Ġvo d", + "Ġkay nak", + "Ġkayn ak", + "Ïĥ ÏĨ", + "à¥Ĥ त", + "du ÄŁ", + "а ÑĤиÑģÑı", + "аÑĤи ÑģÑı", + "Ġ ç¥ŀ", + "Ġç¥ ŀ", + "ĠÑģ лова", + "ĠÑģл ова", + "ĠÑģлов а", + "ĠÑģло ва", + "ÑĢÑĥ кÑĤÑĥ", + "ÑĢÑĥк ÑĤÑĥ", + "ÑĢÑĥкÑĤ Ñĥ", + "ĠmÄĽ sÃŃ", + "Ùı Ùħ", + "зна Ñĩа", + "знаÑĩ а", + "Ġ èī", + "Ġè ī", + "åѦ çĶŁ", + "æ´ ¥", + "Ùİ ÙĬ", + "è§ Ī", + "Ġ å®ī", + "Ġå® ī", + "Ġgör Ã¼ÅŁ", + "ál nÄĽ", + "áln ÄĽ", + "ĠëͰ ëĿ¼", + "ĠÙħ ÙĪØ¬ÙĪØ¯", + "ĠÙħÙĪØ¬ ÙĪØ¯", + "ĠÄij ứ", + "ĠÄijá» ©", + "ĠçalÄ±ÅŁ malar", + "ĠçalÄ±ÅŁma lar", + "ĠÑı киÑħ", + "ĠÑıк иÑħ", + "Ġاج تÙħاع", + "μ εν", + "με ν", + "èİ ī", + "ç§ ¯", + "ì¶ ķ", + "à¥į शन", + "à¥įश न", + "Ġx ét", + "Ġв ÑĤоÑĢ", + "ĠвÑĤ оÑĢ", + "çİ ©", + "Âł ÐĿ", + "ÑĪ Ð¸Ðµ", + "ÑĪи е", + "о ÑĢи", + "оÑĢ Ð¸", + "Ø£ س", + "Ġthu á»ijc", + "ëĭĪ ê¹Į", + "ë ķĮ", + "ÑĢ Ñĥп", + "ÑĢÑĥ п", + "Ñģ ÑıÑĤ", + "ÑģÑı ÑĤ", + "з Ñĭ", + "ĠÑģ меÑĢ", + "ĠÑģм еÑĢ", + "Ġv yb", + "Ġvy b", + "ĠìĿ´ ìĥģ", + "à¤ļ न", + "Ġgel di", + "Ġgeld i", + "Û± Û°", + "Û±Û °", + "ικ Ïİν", + "ĠÄIJ ức", + "Ġд оÑģÑĤаÑĤ", + "ĠдоÑģÑĤ аÑĤ", + "Ġö nc", + "Ġön c", + "è¦ ª", + "Ġ adı", + "Ġa dı", + "Ġad ı", + "un ca", + "unc a", + "ĠاÙĦ تر", + "ĠاÙĦت ر", + "çķ ¶", + "ĠФ едеÑĢа", + "ĠФед еÑĢа", + "лÑı ÑİÑĤÑģÑı", + "лÑıÑİÑĤ ÑģÑı", + "ĠÙĥ اÙĨت", + "ĠÙĥاÙĨ ت", + "æİ ¢", + "Ġ Ñĥб", + "ĠÑĥ б", + "Ġ κο", + "Ġκ ο", + "ाà¤ĩ à¤Ł", + "з н", + "Ġm ôi", + "Ġmô i", + "Ġ ãĤµ", + "ĠãĤ µ", + "Ġна вÑĸ", + "Ġнав Ñĸ", + "ç» ¼åIJĪ", + "Ġмин ÑĥÑĤ", + "Ġми нÑĥÑĤ", + "ĠминÑĥ ÑĤ", + "d ık", + "dı k", + "ÑĢ Ñĥд", + "ÑĢÑĥ д", + "åľ ĸ", + "ê° ¤", + "ĠÄijo Ãłn", + "è ¤", + "à¥į वर", + "à¥įव र", + "ĠÃľn iversit", + "а но", + "ан о", + "éĽ ¨", + "ĠvÅ¡ech ny", + "Ġëĭ¤ ìĿĮ", + "ĠC umhur", + "ĠCum hur", + "Ġм Ñĥз", + "ĠмÑĥ з", + "a ÅŁtır", + "aÅŁ tır", + "Ġ ê±°ëŀĺ", + "Ġê±° ëŀĺ", + "Ġ é¡", + "Ġé ¡", + "žit ÃŃ", + "ži tÃŃ", + "Ġ à¸Ł", + "ĠภŁ", + "Ġthu ế", + "Ġм Ñĥж", + "ĠмÑĥ ж", + "ĠÎij ν", + "Ġد ÙĪÙħ", + "ĠدÙĪ Ùħ", + "ĠÑģ ин", + "ĠÑģи н", + "Ġ ÏīÏĤ", + "ĠÏī ÏĤ", + "m eler", + "me ler", + "mel er", + "Ġ poÄį", + "Ġp oÄį", + "Ġpo Äį", + "Ġколи Ñĩе", + "ĠколиÑĩ е", + "ĠK Äį", + "è³ ½", + "ĠоÑģ Ñĸб", + "åı ¥", + "ĠB öl", + "à¸ĺ รรม", + "Ġc ạnh", + "å° ĩ", + "Ġ ноÑģ", + "Ġн оÑģ", + "Ġно Ñģ", + "èĦ ¸", + "Ġgel ir", + "о ÑĢон", + "оÑĢ Ð¾Ð½", + "оÑĢо н", + "à¥įर à¤Ń", + "ç» ĩ", + "ุ à¹ī", + "ाम ल", + "Ġc âu", + "Ġcâ u", + "Ñij ÑĤ", + "Ġ :|", + "Ġ: |", + "ãĤĮ ãģ¦", + "Ġpos led", + "Ġpo sled", + "ãĤ¹ ãĥĨ", + "ÑĸлÑĮ ÑĪ", + "ен ÑĤÑĭ", + "енÑĤ Ñĭ", + "Ø® دÙħ", + "Ġباش گاÙĩ", + "Ġth ư", + "á vánÃŃ", + "áv ánÃŃ", + "ává nÃŃ", + "ëĬ IJ", + "ĠØ£ ØŃ", + "ر اد", + "را د", + "ĠبسÛĮ ار", + "åΰ äºĨ", + "\" ;\"", + "\"; \"", + "å° İ", + "Ġ ör", + "Ġö r", + "à¸Ĭ าà¸ķ", + "g enus", + "gen us", + "Ġya kın", + "Ġyak ın", + "Ġ ÃŃt", + "ĠÃŃ t", + "reg num", + "regn um", + "Ġf iyat", + "Ġfi yat", + "н ÑĸÑħ", + "нÑĸ Ñħ", + "åľ° æĸ¹", + "Ġbil gi", + "Ġbilg i", + "к ам", + "ка м", + "Ġs pol", + "Ġsp ol", + "Ġspo l", + "ائ ÙĬ", + "Ġ ÙĬÙĨ", + "ĠÙĬ ÙĨ", + "า หาร", + "าห าร", + "Ġب Ú¯", + "é ĺħ", + "éĺ ħ", + "ĠاÙĦ شر", + "ĠاÙĦØ´ ر", + " ģ", + "ĠÑĸн ÑĪиÑħ", + "ĠÑĸнÑĪ Ð¸Ñħ", + "Ġtr ạng", + "çģ £", + "Ġc á»±c", + "к ан", + "ка н", + "èĭ ı", + "à Ķ", + "Ġl á»Ŀi", + "Ġlá» Ŀi", + "Ñı Ñĩ", + "Ġ ÙĪØŃ", + "ĠÙĪ ØŃ", + "ìĪ ľ", + "Å ¸", + "Ġв оÑģп", + "Ġво Ñģп", + "ĠвоÑģ п", + "ì¡ Į", + "Äį nÃŃch", + "ÄįnÃŃ ch", + "Ø® رÙī", + "خر Ùī", + "ائ ÙĬØ©", + "ائÙĬ Ø©", + "Ġsu ất", + "æĩ ī", + "ا ØŃÛĮ", + "اØŃ ÛĮ", + "Ġn áz", + "Ġná z", + "è¿Ļ ç§į", + "Ġзаб езпеÑĩ", + "Ġ ЧеÑĢ", + "ĠЧ еÑĢ", + "Ġзд ÑĸйÑģ", + "åı ¦", + "æĭ ¬", + "à¥ģ ष", + "à¥ģठ·", + "μ ÏĨ", + "ëĥ IJ", + "Ðķ Ñģли", + "é ¬", + "Ġ íĥľ", + "Ġíĥ ľ", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "Ġм л", + "å´ İ", + "Ùģ Ø¹", + "Ġ ÙĤدر", + "ĠÙĤ در", + "ĠÙĤد ر", + "Ġv á»ijn", + "å¦ ¹", + "Ġ ÐĿаÑģ", + "ĠÐĿ аÑģ", + "ĠÐĿа Ñģ", + "à¥į फ", + "à¥įठ«", + "ãĤ¸ ãĥ£", + "Ġm ı", + "ен Ñģ", + "б Ñĥд", + "бÑĥ д", + "ĠØŃ تÙī", + "Ġ ì²´", + "Ġì² ´", + "ĠÑĸ ÑģÑĤоÑĢ", + "ĠÑĸÑģ ÑĤоÑĢ", + "Ġgi ấy", + "γ οÏģ", + "γο Ïģ", + "ëIJĺ ìĸ´", + "Ġ íĤ", + "Ġí Ĥ", + "ĠÐŀд на", + "ĠÙĨ ÙħÙĪØ¯", + "ĠÙĨÙħ ÙĪØ¯", + "Ġвип ад", + "ĠìŀIJ ìĭł", + "Ġj ste", + "Ġjs te", + "Ġ ëĵ±ë¡Ŀ", + "Ġëĵ± ë¡Ŀ", + "ek ten", + "ekt en", + "ekte n", + "ĠÑĢ ÐµÑĩ", + "ĠÑĢе Ñĩ", + "r odnÃŃ", + "rod nÃŃ", + "س تر", + "ست ر", + "ı t", + "ä¹ħ ä¹ħ", + "ĠØ® ÙĦاÙĦ", + "ĠØ®ÙĦ اÙĦ", + "Ġ ç¦", + "Ġç ¦", + "u luk", + "ul uk", + "ulu k", + "l enen", + "le nen", + "len en", + "lene n", + "i lip", + "il ip", + "ili p", + "è´ ¢", + "Ġà¤ħ à¤ķ", + "ĠY ıl", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "Ġ à¤Ŀ", + "ĠठĿ", + "ĠB ình", + "Ġol muÅŁ", + "Ġolm uÅŁ", + "اÙĦ Ø¥ÙĨجÙĦÙĬزÙĬØ©", + "اÙĦØ¥ ÙĨجÙĦÙĬزÙĬØ©", + "м енно", + "мен но", + "aln ız", + "Ġ شرÙĥØ©", + "Ġشر ÙĥØ©", + "Ġس ÙĨØ©", + "ĠسÙĨ Ø©", + "è´ Ł", + "ä½ľ åĵģ", + "Ġ ìķ½", + "Ġìķ ½", + "ĠдÑĢÑĥг иÑħ", + "ĠbaÄŁ lantı", + "о дÑĥ", + "од Ñĥ", + "çļĦ æĺ¯", + "ั à¸Ļà¸Ķ", + "ัà¸Ļ à¸Ķ", + "ĠкоÑĤоÑĢ ÑĭÑħ", + "ĠاÙĦ ÙĪÙĦ", + "ĠاÙĦÙĪ ÙĦ", + "ê¸Ģ ìĥģìľĦ", + "ĠÏĢ ÎµÏģ", + "ĠÏĢε Ïģ", + "리 ìķĦ", + "i bar", + "ib ar", + "iba r", + "Ġ èĥ", + "Ġè ĥ", + "ãģŁ ãģĦ", + "á j", + "ĠìľĦ íķ´", + "? âĢľĊĊ", + "?âĢľ ĊĊ", + "Ġ íİĺ", + "Ġíİ ĺ", + "Ġ ней", + "Ġн ей", + "Ġне й", + "ĠÐĹ Ð°Ðº", + "ĠÐĹа к", + "Ġ ÐĴÑĸд", + "ĠÐĴ Ñĸд", + "е лÑĸ", + "ел Ñĸ", + "è¯ ¾", + "åī ¯", + "m adan", + "ma dan", + "mad an", + "mada n", + "æľ «", + "ĠÏĢ ÏģÏĮ", + "Ġп ÑģиÑħ", + "Ġ ÑĤÑĸ", + "ĠÑĤ Ñĸ", + "Ùĥ ات", + "Ġvys ok", + "ê´Ģ 리", + "ül tür", + "ült ür", + "Ġ à¹Ģà¸Ń", + "Ġà¹Ģ à¸Ń", + "Ġà¹ĢภŃ", + "Ġ íķ©", + "Ġíķ ©", + "çĿ £", + "Ġ ÑĢиÑģ", + "ĠÑĢ Ð¸Ñģ", + "е ÑĢÑĮ", + "еÑĢ ÑĮ", + "ĠÚ© ÙĦÛĮ", + "ĠÚ©ÙĦ ÛĮ", + "Ġ ãĥŀ", + "Ġãĥ ŀ", + "Ġph ÃŃa", + "ĠphÃŃ a", + "å «", + "ا Ú¯", + "Ġ é¢", + "Ġé ¢", + "ĠÙĨ Ù쨱", + "ĠÙĨÙģ Ø±", + "Ġ جاÙĨ", + "Ġج اÙĨ", + "Ġجا ÙĨ", + "Ġ yas", + "Ġy as", + "Ġya s", + "ж ениÑı", + "же ниÑı", + "жен иÑı", + "ĠлÑĥÑĩ ÑĪе", + "Ġ çº", + "Ġç º", + "Ġ мон", + "Ġм он", + "Ġмо н", + "Ġت Ø®", + "Ġ Ø´ÛĮ", + "ĠØ´ ÛĮ", + "Ġн екоÑĤоÑĢ", + "Ġнек оÑĤоÑĢ", + "алÑĮ нÑĭе", + "Ġob chod", + "Ġíķ¨ ê»ĺ", + "Ġr iêng", + "ãģķ ãĤĮãĤĭ", + "ãģķãĤĮ ãĤĭ", + "о кÑĥ", + "ок Ñĥ", + "ĠС ШÐIJ", + "ë§ ģ", + "Ġ Nếu", + "ĠN ếu", + "ĠA ÄŁ", + "Ġд веÑĢ", + "Ġдв еÑĢ", + "Ġдве ÑĢ", + "à¥ĭ ष", + "Ġkh iến", + "Ġkhi ến", + "н его", + "не го", + "ì± ħ", + "ั à¸ķร", + "ัà¸ķ ร", + "m alı", + "ma lı", + "mal ı", + "Ġ ÙĬا", + "ĠÙĬ ا", + "ç§ij æĬĢ", + "ื à¸Ļ", + "ห มาย", + "หม าย", + "Ġ خص", + "ĠØ® ص", + "åĨ ľ", + "ÃŃ me", + "ÃŃm e", + "ĠÑįÑĤ ой", + "ĠÑįÑĤо й", + "Ġ ìĹħ", + "ĠìĹ ħ", + "Ġ ä¹", + "ä¼ ¯", + "' ´", + "Ùħ ÙĬÙĦ", + "ÙħÙĬ ÙĦ", + "à¸Ń à¸ĩà¸Ħ", + "à¸Ńà¸ĩ à¸Ħ", + "k ová", + "ko vá", + "kov á", + "è¿Ļ ä¹Ī", + "ãĢĤ æĪij", + "ìĹIJ ìĦľëĬĶ", + "ìĹIJìĦľ ëĬĶ", + "Ġ ìļ©", + "Ġìļ ©", + "ë¹Ħ ìĬ¤", + "Ġ ì¦Ŀ", + "Ġì¦ Ŀ", + "IT TE", + "ITT E", + "Ġ모 ëĵł", + "ĠspoleÄį nosti", + "ĠspoleÄįnost i", + "Ġв ик", + "Ġви к", + "Ġt ÅĻÃŃ", + "ĠtÅĻ ÃŃ", + "é ³", + "Ġ Ø®ÛĮ", + "ĠØ® ÛĮ", + "Ġp ož", + "Ġpo ž", + "Ġиме еÑĤ", + "Ġd ÄĽt", + "ĠdÄĽ t", + "ĠÙħد ÙĦ", + "Ġ мо", + "Ġм о", + "åį ı", + "e nÃŃm", + "en ÃŃm", + "enÃŃ m", + "é ī", + "ا ظ", + "Ø§Ø ¸", + "Ġ teÅŁ", + "Ġt eÅŁ", + "Ġte ÅŁ", + "Ġ veÅĻej", + "Ġve ÅĻej", + "L IC", + "LI C", + "ì§Ģ ëĬĶ", + "Ñĭ ваÑİÑĤ", + "Ñĭв аÑİÑĤ", + "Ñĭва ÑİÑĤ", + "ĠоÑĢг анÑĸ", + "ĠоÑĢган Ñĸ", + "nÃŃ mi", + "nÃŃm i", + "θ ÎŃ", + "ãĤ¯ ãĥ©", + "ãĥ¼ ãĥ³", + "ãĥ¼ãĥ ³", + "ли ÑģÑı", + "i mdi", + "im di", + "imd i", + "æ Ĩ", + "ïº İ", + "Ġìļ´ ìĺģ", + "κ αν", + "κα ν", + "Ġ ë³µ", + "Ġë³ µ", + "Ġ ÐĨн", + "ĠÐĨ н", + "p lication", + "pl ication", + "t ah", + "ta h", + "Ġ ÐIJв", + "ĠÐIJ в", + "Ġc á»Ļng", + "алÑĮ ноÑĹ", + "алÑĮно ÑĹ", + "Ġد ÙĪØ±Ùĩ", + "ĠدÙĪ Ø±Ùĩ", + "ĠدÙĪØ± Ùĩ", + "à¥įर य", + "Ġ Ø®ÙĪ", + "ĠØ® ÙĪ", + "Ġв ÑĢа", + "Ø¥ ÙĨ", + "èĤ ī", + "Ġo yn", + "Ġoy n", + "ĠT ư", + "ĠÙĩ ÙħاÙĨ", + "ĠÙĩÙħ اÙĨ", + "ĠбÑĸлÑĮ ÑĪе", + "ĠбÑĸлÑĮÑĪ Ðµ", + "æĮ ¯", + "ا ÙħØ©", + "اÙħ Ø©", + "å º«", + "åº «", + "Ġ ÑĢеж", + "ĠÑĢ ÐµÐ¶", + "ĠÑĢе ж", + "Ġدار ÙĨد", + "ÑĢ Ð¸Ð¹", + "ÑĢи й", + "Ġ æĮ", + "Ġæ Į", + "Ġson uç", + "Ġsonu ç", + "Ġt ả", + "ั à¸ĩà¸Ħ", + "ัà¸ĩ à¸Ħ", + "ë° Ľ", + "Ġ мом", + "Ġм ом", + "Ġмо м", + "ви Ñĩай", + "виÑĩ ай", + ". à¸Ħ", + "Ġ à¤Ĩà¤Ī", + "Ġà¤Ĩ à¤Ī", + "åģ ĩ", + "Ġpos kyt", + "Ġpo skyt", + "ĠÑģ Ñĥп", + "ĠÑģÑĥ п", + "ıyor du", + "а ле", + "ал е", + "и ÑĨ", + "Ġ θÎŃ", + "Ġθ ÎŃ", + "ãĤĩ ãģĨ", + "ĠÑģв ой", + "ĠÑģво й", + "ม à¸Ļ", + "Ġn ữa", + "Ġnữ a", + "v oÅĻ", + "vo ÅĻ", + "ا سÙĬ", + "اس ÙĬ", + "éĴ ±", + "ãģĹ ãģ¦ãģĦãģŁ", + "ãģĹãģ¦ ãģĦãģŁ", + "ãģĹãģ¦ãģĦ ãģŁ", + "ĠÄij ầy", + "ا ÙĬر", + "اÙĬ ر", + "Ġar aÅŁtır", + "Ġara ÅŁtır", + "ì £", + "ãģ¨ ãģ¯", + "ĠÑģ поÑĢ", + "ĠÑģп оÑĢ", + "Ġê° Ģìŀ¥", + "Ġê°Ģ ìŀ¥", + "è¼ ī", + "âĸ ¡", + "Ġ ìĻĦ", + "ĠìĻ Ħ", + "оÑĢ Ð°Ñı", + "оÑĢа Ñı", + "Ïģ εί", + "Ïģε ί", + "ĠÑį ÑĤа", + "ĠÑįÑĤ а", + "ë©´ ìłģ", + "ìĿ´ ìĬ¤", + "ä½ ³", + "æĻ ļ", + "Ġk val", + "Ġkv al", + "Ġn á»ķi", + "ÑĤ ами", + "ÑĤа ми", + "Ġпол ÑĸÑĤи", + "ĠполÑĸ ÑĤи", + "Ġ İng", + "Ġİ ng", + "Ġİn g", + "нÑĸ ÑģÑĤÑİ", + "нÑĸÑģÑĤ Ñİ", + "Ġ à¹Ģà¸ģ", + "Ġà¹Ģ à¸ģ", + "Ġà¹Ģภģ", + "Ġ 민", + "Ġë ¯¼", + "è Ķ", + "Ïģ ία", + "Ïģί α", + "æİ Ī", + "Ġ çĤ", + "Ġç Ĥ", + "ĠÙĨÙħ اÛĮ", + "Ġ ìŀ¡", + "Ġìŀ ¡", + "æŀ ¶", + "اب ÙĤ", + "Ñģ он", + "Ñģо н", + "ен ного", + "енно го", + "ĠÙħ ÛĮÙĦÛĮ", + "ĠÙħÛĮ ÙĦÛĮ", + "ĠÙħÛĮÙĦ ÛĮ", + "Ġk urum", + "Ġkur um", + "Ġku rum", + "Ġkuru m", + "à¹Į ส", + "Ġ ì´Ŀ", + "Ġì ´Ŀ", + "Ġì´ Ŀ", + "ĠnÄĽk olik", + "ĠnÄĽkol ik", + "Ġ ÙĢ", + "ĠÙ Ģ", + "ĠзаÑģÑĤ оÑģ", + "à¸Ķ à¸Ļ", + "ÙĨ داÙĨ", + "ÙĨد اÙĨ", + "ÙĨدا ÙĨ", + "ĠJ ap", + "ĠJa p", + "éĥ ¡", + "à¥į à¤Ń", + "à¥įठŃ", + "Ġ à¹Ģà¸Ĭ", + "Ġà¹Ģ à¸Ĭ", + "Ġà¹ĢภĬ", + "Ġ âĢ«", + "ĠâĢ «", + "é£ ŀ", + "o vatel", + "ov atel", + "ova tel", + "ovat el", + "ĠÑĩа ÑģÑĤÑĮ", + "ĠÑĩаÑģ ÑĤÑĮ", + "ĠÑĩаÑģÑĤ ÑĮ", + "Ġb á»ķ", + "ãĤ¯ ãĥª", + "ิ à¹Į", + "Ġвид е", + "Ġви де", + "v ail", + "va il", + "Ì ī", + "ÄŁ inde", + "ÄŁi nde", + "ÄŁin de", + "ãģ¨ ãĤĤ", + "âĢĮÚ© ÙĨد", + "âĢĮÚ©ÙĨ د", + "Ġ ëħĦ", + "Ġëħ Ħ", + "Ġ اÙĤتص", + "ĠاÙĤ تص", + "ï½ Ĺ", + "Ïģ ιÏĥ", + "Ïģι Ïĥ", + "з д", + "èĻ ½", + "Ġth oại", + "Ġtho ại", + "Ġ ÙĪØ²", + "ĠÙĪ Ø²", + "Ġ mÃŃt", + "Ġm ÃŃt", + "ĠmÃŃ t", + "ĠÑħ олод", + "ĠÑħол од", + "Ġ кÑĥп", + "Ġк Ñĥп", + "ĠкÑĥ п", + "а ниÑħ", + "ан иÑħ", + "ани Ñħ", + "Ġnh ìn", + "ãģĭ ãģª", + "Ġ Ðļом", + "ĠÐļ ом", + "ĠÐļо м", + "ÏĦ εÏģ", + "ÏĦε Ïģ", + "ï¼Į åıª", + "Ġol up", + "Ġhá» ıi", + "ë ij", + "ĠnÄĽk ter", + "i sÃŃ", + "is ÃŃ", + "ĠвикоÑĢиÑģÑĤ ов", + "ìŀ ¡", + "Ġà¤ķ ल", + "Ġìľł ìłĢ", + "ĠпÑĢ Ð¸Ð±", + "ĠпÑĢи б", + "èĭ ¦", + "Ġ мов", + "Ġм ов", + "Ġмо в", + "Ġ หà¸Ļ", + "Ġห à¸Ļ", + "ëIJĺ ëĬĶ", + "о ко", + "ок о", + "Ġоб еÑģп", + "Ġk ez", + "Ġke z", + "л ÑıÑħ", + "лÑı Ñħ", + "ĠпÑĢо иÑģ", + "Ġпо вин", + "Ġпов ин", + "ĠÐļ оÑĢ", + "ĠÐļо ÑĢ", + "ì¼ Ģ", + "Ġ Ñģи", + "ĠÑģ и", + "Ġ ä¹ĭ", + "Ġä¹ ĭ", + "ĠâĢĶ Ċ", + "ÑģÑĥÑĤ ÑģÑĤв", + "ç °", + "Ġ à¤ł", + "Ġठł", + "н аÑĤ", + "на ÑĤ", + "Ġs uy", + "Ġsu y", + "Ġ ÑģÑĭ", + "ĠÑģ Ñĭ", + "ĠÙĨ شاÙĨ", + "ĠÙĨØ´ اÙĨ", + "Ġна пÑĢав", + "Ġнап ÑĢав", + "ĠÑĨ ÑĮомÑĥ", + "æĺ¯ ä¸Ģ", + "Ġm üm", + "Ġmü m", + "ÑĶ Ð¼Ð¾", + "ÑĶм о", + "ĠاسÙĦاÙħ ÛĮ", + "Ġza manda", + "Ġzam anda", + "Ġzaman da", + "ÙĪ ÙħاÙĨ", + "ÙĪÙħ اÙĨ", + "ا ÙĦØŃ", + "اÙĦ ØŃ", + "Å¡t ÄĽnÃŃ", + "Å¡tÄĽ nÃŃ", + "Ġ Ðļак", + "ĠÐļ ак", + "ĠÐļа к", + "¤ íĶĦ", + "¤í ĶĦ", + "ĠÙ¾ رد", + "Ġپر د", + "C ác", + "ε ια", + "ει α", + "Ġ جÙĪ", + "Ġج ÙĪ", + "ĠÄijo ạn", + "Ġà¤ĩ त", + "Ġз ан", + "Ġза н", + "ĠÙħÙĨØ· ÙĤÙĩ", + "ĠÙħ عÙĦ", + "ĠÙħع ÙĦ", + "Ġdo kon", + "Ġdok on", + "åIJ ¸", + "ic kou", + "ick ou", + "å° ģ", + "Ġк иÑģ", + "Ġки Ñģ", + "ัà¸ĩ หว", + "i species", + "is pecies", + "isp ecies", + "Ġнап ÑĢÑı", + "æº ĸ", + "Ġà¤ľ ल", + "à¹Ģ à¸ī", + "à¹Ģภī", + "L AR", + "LA R", + "ĠÑĥÑģлов иÑı", + "ĠWiki species", + "ĠWik ispecies", + "ระ à¸Ķ", + "Ġ mey", + "Ġm ey", + "Ġme y", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "à¹ĩ à¸Ī", + "å¾ Ĵ", + "t ach", + "ta ch", + "u muz", + "um uz", + "umu z", + "κ η", + "à Ĭ", + "Ġ ün", + "Ġü n", + "ĠB ITTE", + "ĠBIT TE", + "ĠÙħ ربع", + "ĠÙħر بع", + "ĠÙħرب ع", + "ãĤ· ãĥ¥", + "िस à¤ķ", + "Ø· ÙĪØ±", + "Ġв оÑģ", + "Ġво Ñģ", + "ï¾ Ł", + "Ġy ayın", + "Ġyay ın", + "ãģĭ ãĤĬ", + "л иÑı", + "ли Ñı", + "Ġп ÑĢин", + "ĠпÑĢ Ð¸Ð½", + "ĠпÑĢи н", + "ij ng", + "ĠÙĨ Ø®", + "Ġl ze", + "Ġlz e", + "à¥įष ण", + "Ġ бо", + "Ġб о", + "Ġ ê¸Ģ", + "Ġê¸ Ģ", + "Ġgel iÅŁtir", + "ĠgeliÅŁ tir", + "à¸Ľà¸£à¸° à¸Ĭ", + "å½ ¡", + "Ġ ãĤª", + "ĠãĤ ª", + "ãģĪ ãģ¦", + "н ÑĥÑĤÑĮ", + "нÑĥ ÑĤÑĮ", + "нÑĥÑĤ ÑĮ", + "Ġ ç½", + "Ġç ½", + "Ġ маг", + "Ġм аг", + "Ġма г", + "ãģ« ãģ¤", + "н оÑģÑĤей", + "ноÑģÑĤ ей", + "Ġ ÙĦÙĬ", + "ĠÙĦ ÙĬ", + "æĢ ª", + "ÑıÑĤ ÑģÑı", + "ภij", + "िय म", + "Ġ ãĢİ", + "ĠãĢ İ", + "ÑĢ ÑĮ", + "Ġm ạng", + "t ım", + "tı m", + "ĠпеÑĢи од", + "о гÑĥ", + "ог Ñĥ", + "ĠкоÑĤоÑĢ Ð°Ñı", + "ĠкоÑĤ оÑĢаÑı", + "리 ê°Ģ", + "Ġãħ ¡", + "Ġج اÛĮ", + "Ġجا ÛĮ", + "ĠпоÑĤ ÑĢÑĸб", + "Å¡ en", + "Å¡e n", + "à¸Ń ะ", + "ب ع", + "ØŁ Ċ", + "Ġ ë°©ë²ķ", + "Ġë°© ë²ķ", + "Ġ гоÑĢод", + "Ġг оÑĢод", + "ĠгоÑĢ Ð¾Ð´", + "Ġ Ðĺн", + "ĠÐĺ н", + "Ġ оказ", + "Ġо каз", + "Ġок аз", + "ر ÙĪØ²", + "رÙĪ Ø²", + "Ġili ÅŁk", + "ĠiliÅŁ k", + "å® £", + "f orman", + "form an", + "for man", + "forma n", + "a daÅŁ", + "ad aÅŁ", + "ada ÅŁ", + "ÙĬ ÙĦØ©", + "ÙĬÙĦ Ø©", + "ĠÐļ аÑĢ", + "ĠÐļа ÑĢ", + "Ġm ất", + "æħ ĭ", + "м п", + "à¹Ĥ à¸Ļ", + "ĠØŃÙĤ ÙĪÙĤ", + "Ġд нÑı", + "ĠëĴ ¤", + "ा à¤ķर", + "ाà¤ķ र", + "ì²ĺ ëŁ¼", + "âĢĮ Ø¢", + "h angi", + "han gi", + "hang i", + "è¡Į æĶ¿", + "al iyet", + "ali yet", + "Ġ ì²ľ", + "Ġì² ľ", + "ĠY ap", + "ĠYa p", + "à¹Ĥ รà¸ĩ", + "à¹Ĥร à¸ĩ", + "ì§Ģ ëħ¸", + "Ùİ Ùij", + "Îij ÎĻ", + "á na", + "án a", + "an dır", + "and ır", + "ระ à¸ļà¸ļ", + "ระà¸ļ à¸ļ", + "oÄŁ lu", + "า à¸Īะ", + "าà¸Ī ะ", + "ẩ y", + "ا ÙĪÙĦ", + "اÙĪ ÙĦ", + "ĠмаÑĤ еÑĢÑĸ", + "ÎŁ ÎĿ", + "ÎŁÎ Ŀ", + "Ġin formace", + "Ġinform ace", + "ت ع", + "à¸ļ à¸Ļ", + "ĠÄĮesk é", + "ĠÄĮes ké", + "Ġte mel", + "Ġtem el", + ":::::::::::::::: ::::::::::::::::", + "Ġ chia", + "Ġch ia", + "Ġchi a", + "- Ñģ", + "н еÑĢг", + "не ÑĢг", + "неÑĢ Ð³", + "Ġì° ¾", + "ÑĢ Ð¸Ð´", + "ÑĢи д", + "л оÑģÑĮ", + "ло ÑģÑĮ", + "ز ÙĦ", + "ê°Ģ ëĬĶ", + "a né", + "an é", + "Ġнав ÑĸÑĤÑĮ", + "ĠнавÑĸ ÑĤÑĮ", + "ä¸ĵ ä¸ļ", + "Ġ 경기", + "Ġê²½ 기", + "Ġp ÅĻev", + "ĠpÅĻ ev", + "ĠpÅĻe v", + "е ÑĤи", + "еÑĤ и", + "Ġ íĶĮ", + "ĠíĶ Į", + "н ÑıÑĤ", + "нÑı ÑĤ", + "à¥ģ श", + "à¥ģठ¶", + "лÑİ Ð´", + "в иÑī", + "ви Ñī", + "å° ¾", + "çļĦ äºĭ", + "Ġ ëIJľ", + "Ġë IJľ", + "ĠëIJ ľ", + "ر ÙĪÙģ", + "رÙĪ Ùģ", + "Ġ 女", + "Ġå¥ ³", + "κ ή", + "Ġ Tuy", + "ĠT uy", + "ĠTu y", + "Ġê²ĥ ìĿĦ", + "Ġb unu", + "Ġbu nu", + "Ġbun u", + "ĠÑĢаз лиÑĩ", + "ĠD ün", + "ãĤŃ ãĥ£", + "ÑĢ ÑĥÑģ", + "ÑĢÑĥ Ñģ", + "Ġ мм", + "Ġм м", + "l oven", + "lo ven", + "love n", + "lov en", + "Ġot ev", + "n oloj", + "ES İ", + "ü p", + "Ġ èĤ", + "Ġè Ĥ", + "ικ ÏĮÏĤ", + "ικÏĮ ÏĤ", + "ض اء", + "ضا Ø¡", + "Ġ пеÑĩ", + "Ġп еÑĩ", + "ÅĻÃŃ klad", + "ãģĵ ãĤį", + "Å¡ tÃŃ", + "Å¡t ÃŃ", + "Ġبر Ú¯", + "ãģĮ ãģĤãĤĭ", + "Ñĸ ÑģÑĤ", + "ÑĸÑģ ÑĤ", + "à¥ī à¤ķ", + "ÏĢ Î·", + "ĠاÙĦÙħ ست", + "ĠاÙĦÙħس ت", + "Ġз ай", + "Ġза й", + "Ġch ương", + "о ÑĤÑĥ", + "оÑĤ Ñĥ", + "Ġ Сам", + "ĠС ам", + "Å¡ et", + "Å¡e t", + "ĠìŀĪ ìĹĪ", + "ĠÙģ Ø§Ø±", + "Ñĸ он", + "ãĥĹ ãĥŃ", + "Ġnh iá»ĩt", + "in izi", + "ini zi", + "iniz i", + "Ġc ož", + "Ġco ž", + "Ġà¤Ĩ न", + "Ġsyst ém", + "ر ÙĪØ¹", + "رÙĪ Ø¹", + "a yet", + "ay et", + "aye t", + "ĠÙ쨱 ÙĩÙĨÚ¯", + "Ġ è¶", + "Ġè ¶", + "èģ ·", + "è§Ĥ çľĭ", + "н ок", + "но к", + "à¸IJ าà¸Ļ", + "êµIJ ìľ¡", + "k la", + "kl a", + "ãĤģ ãģ¦", + "Îķ ÎĻ", + "åĿ Ĺ", + "Ġsk uteÄį", + "à¥Ĥ à¤ľ", + "ãģij ãģ¦", + "N GC", + "NG C", + "Ġ åĢ", + "Ġå Ģ", + "ĠÑĢоз п", + "nÃŃ ků", + "nÃŃk ů", + "ãĥ³ ãĤ¹", + "ĠÐĴ еÑĢ", + "Ġyüz de", + "Ġ미 êµŃ", + "ĠÙħ Ùī", + "д еÑĢ", + "де ÑĢ", + "а ва", + "ав а", + "Ġmerk ez", + "į ng", + "Ġ ìĤ¼", + "ĠìĤ ¼", + "ĠÑĢоб оÑĤи", + "ĠÑĢобоÑĤ и", + "Ġ нÑĮого", + "Ġн ÑĮого", + "Ġ економ", + "Ġе коном", + "Ġек оном", + "ĠÑĩелов ека", + "ĠÑĩеловек а", + "Ġ à¸ŀระ", + "Ġà¸ŀ ระ", + "Ġà¸ŀร ะ", + "ãĥ Ĵ", + "ãģ£ ãģ¦ãģĦ", + "ãģ£ãģ¦ ãģĦ", + "ä¼ Ĺ", + "ĠпÑĢод ÑĥкÑĤ", + "ĠпÑĢодÑĥк ÑĤ", + "Ġy anı", + "Ġyan ı", + "à¥Ģव न", + "Ġc áºŃp", + "ĠAv rupa", + "ा à¤Ń", + "ाठŃ", + "ĠìłĦ ìļ©", + "æķ £", + "ĠìľĦ íķľ", + "Ñħод иÑĤÑĮ", + "ÑħодиÑĤ ÑĮ", + "Ġsın ır", + "ü cret", + "üc ret", + "s uz", + "su z", + "æ¨ Ĥ", + "Ġ ì°½", + "Ġì° ½", + "Ïģ ίοÏħ", + "Ïģί οÏħ", + "åĪ ļ", + "Ø® ÙĦ", + "ëłĩ ê²Į", + "ج د", + "Ġμ αÏĤ", + "Ġμα ÏĤ", + "áºŃ m", + "k ara", + "ka ra", + "kar a", + "ãĤ« ãĥ¼", + "Ġkter ou", + "ìĽ ¨", + "ÑĦи ÑĨи", + "oÄŁ raf", + "Ġна пÑĢи", + "Ġнап ÑĢи", + "ãģij ãģ©", + "Ġ éļ", + "Ġé ļ", + "ت باÙĦ", + "تب اÙĦ", + "ëŁ ½", + "ìĶ ¨", + "íĮĮ ìĿ¼", + "Ïĩ α", + "Ġuz ak", + "Ġd òng", + "Ġг олоÑģ", + "Ġгол оÑģ", + "Ïĥ ÏĦή", + "ÏĥÏĦ ή", + "ι λ", + "Ø· Ùģ", + "Ġê·¸ ëħĢ", + "ãĤ¿ ãĤ¤", + "ا ÙĨÚ¯", + "اÙĨ Ú¯", + "i nou", + "in ou", + "ino u", + "л он", + "ло н", + "à¹ĩ ม", + "Ġब द", + "Ġkon usunda", + "Ġkonusu nda", + "Ġkonus unda", + "Ġn âng", + "ãģ¾ãģĽ ãĤĵ", + "Ñĥ ÑİÑĤÑĮÑģÑı", + "ÑĥÑİ ÑĤÑĮÑģÑı", + "ÑĥÑİÑĤÑĮ ÑģÑı", + "åŁ ¹", + "ен ко", + "ìł ij", + "Ġ ÑĤов", + "ĠÑĤ ов", + "ĠÑĤо в", + "Ġt ÅĻeba", + "ĠtÅĻ eba", + "ز اÙĨ", + "زا ÙĨ", + "is yon", + "isy on", + "Ġ ген", + "Ġг ен", + "Ġге н", + "Ġ Pokud", + "ĠP okud", + "ĠPo kud", + "ĠPok ud", + "âĢĮ اÙĨد", + "âĢĮاÙĨ د", + "Ġг ÑĢÑĥд", + "ĠгÑĢÑĥ д", + "ĠгÑĢ Ñĥд", + "Ġ خرÛĮد", + "Ġخر ÛĮد", + "λ λα", + "λλ α", + "Ġp ÅĻÃŃm", + "ĠpÅĻ ÃŃm", + "ĠpÅĻÃŃ m", + "Ġ æ³ķ", + "Ġæ³ ķ", + "Ġز ÙĨدگÛĮ", + "ĠزÙĨد Ú¯ÛĮ", + "ạ p", + "Ġ íĬ¸", + "ĠíĬ ¸", + "ĠÄij á»Ļc", + "ĠÄijá»Ļ c", + "Ġê·¸ ë¦¬ê³ł", + "Ġ그리 ê³ł", + "н из", + "ни з", + "Ġ ÙĬÙĤ", + "ĠÙĬ ÙĤ", + "l aÅŁtır", + "la ÅŁtır", + "laÅŁ tır", + "ĠпÑĢав о", + "ĠпÑĢа во", + "Ñĥ Ñģк", + "ÑĥÑģ к", + "å° ½", + "Ġप ड", + "éĵ ģ", + "Ġ ì·¨", + "Ġì ·¨", + "ĠاÙĦ بÙĬ", + "ĠاÙĦب ÙĬ", + " ¸", + "ิม à¸ŀ", + "Ġs vÄĽ", + "Ġsv ÄĽ", + "Ġб ал", + "Ġба л", + "Ġm ôn", + "Ġmô n", + "ĠD ữ", + "ĠØ´ دÙĨ", + "Ġشد ÙĨ", + "Ġ ÙģÙĦ", + "ĠÙģ ÙĦ", + "Ġv znik", + "Ġvz nik", + "Ġch ứ", + "ĠÑģÑĤ ÑĢÑĥкÑĤÑĥ", + "ç¸ £", + "ĠH oa", + "ĠHo a", + "í ĮĢ", + "íĮ Ģ", + "Ġ ÑĢÑĸÑĪ", + "ĠÑĢ ÑĸÑĪ", + "Ġвоз дÑĥ", + "олÑĮ ÑĪ", + "οÏħ με", + "ู à¸Ļ", + "Ġп ÑĢид", + "ĠпÑĢ Ð¸Ð´", + "ĠпÑĢи д", + "il mek", + "ilm ek", + "ĠاÙĦ ÙĤر", + "ĠاÙĦÙĤ ر", + "Į ĵ", + "Ġ uç", + "Ġu ç", + "å¨ ĺ", + "ec ektir", + "ecek tir", + "Ġ íħĮ", + "Ġí ħĮ", + "Ġíħ Į", + "Ġ εÏħ", + "Ġε Ïħ", + "Ġh òa", + "Ïģ Ïħ", + "ึà¸ģษ า", + "ĠÑĤеÑħ нолог", + "ú i", + "Ġbilg iler", + "Ġbilgi ler", + "Ġ ÙĤاÙĦ", + "ĠÙĤ اÙĦ", + "e dl", + "ed l", + "z nám", + "zn ám", + "á ly", + "ál y", + "åºĶ 该", + "алÑĮ ний", + "аÑĤ елÑı", + "аÑĤе лÑı", + "à¸Ļ วà¸Ļ", + "à¸Ļว à¸Ļ", + "Ġ ÐŁÐ¾Ð»", + "ĠÐŁ ол", + "ĠÐŁÐ¾ л", + "à¸ŀ à¸Ļ", + "ç¤ ¼", + "Ġt asar", + "Ġta sar", + "Ġtas ar", + "ĠÑĤ ой", + "ĠÑĤо й", + "Ġм еÑģÑı", + "Ġ иÑģк", + "Ġи Ñģк", + "ĠиÑģ к", + "Ġप द", + "γ ή", + "ا ختÙĩ", + "اخ تÙĩ", + "اخت Ùĩ", + "è¿Ļ éĩĮ", + "Ġch á»īnh", + "Ġchá»ī nh", + "ĠÙĤ سÙħ", + "Ùİ Ùĩ", + "er li", + "åĽ½ éĻħ", + "il iyor", + "ili yor", + "ĠØ´Ùĩر ستاÙĨ", + "Ġve lk", + "Ġvel k", + "åĽ º", + "Ġб ÑĸлÑĮÑĪ", + "ĠбÑĸлÑĮ ÑĪ", + "ãĥ¼ ãĥĹ", + "ãĥ¼ãĥ Ĺ", + "æŁ IJ", + "ì§ ľ", + "ĠÄĮ R", + "Ġд ек", + "Ġде к", + "ر بÛĮ", + "رب ÛĮ", + "о виÑĩ", + "ов иÑĩ", + "ови Ñĩ", + "Ġkap sam", + "Ġkaps am", + "ĠÙĦ Ø£", + "Ġ анÑĤи", + "Ġан ÑĤи", + "Ġ ücret", + "Ġü cret", + "ê² ¬", + "о ÑĢож", + "оÑĢ Ð¾Ð¶", + "оÑĢо ж", + "ÛĮ ÙħÛĮ", + "ÛĮÙħ ÛĮ", + "è© ķ", + "Ġ ë§ŀ", + "Ġë§ ŀ", + "Ġ ÑĢÑıд", + "ĠÑĢ Ñıд", + "ĠÑĢÑı д", + "ĠÙĩÙħ راÙĩ", + "â r", + "ا بت", + "اب ت", + "ĠиÑģполÑĮзов аÑĤÑĮ", + "ĠиÑģполÑĮз оваÑĤÑĮ", + "к Ñģ", + "âī ¡", + "Ġo lay", + "Ġol ay", + "Ġola y", + "èį ¯", + "Ġo prav", + "Ġop rav", + "Ġopr av", + "Ġدرب ارÙĩ", + "Ġ ä¸ŃåĽ½", + "Ġä¸Ń åĽ½", + "и лÑģÑı", + "ил ÑģÑı", + "åį «", + "ĠاÙĦ است", + "ĠاÙĦاس ت", + "ÙĪÛĮ ÛĮ", + "ÑĢ ÐµÑĪ", + "ÑĢе ÑĪ", + "Ġ ÙĨس", + "ĠÙĨ س", + "ãĢĤ åľ¨", + "Ġ ÙĦØŃ", + "ĠÙĦ ØŃ", + "Ġko run", + "Ġkor un", + "ĠÙģ Ø±Ø¯", + "ĠÙ쨱 د", + "Ġо боÑĢ", + "Ġоб оÑĢ", + "Ġобо ÑĢ", + "е ÑĪÑĮ", + "еÑĪ ÑĮ", + "Ġpod mÃŃn", + "Ġ ë¬¸ìłľ", + "Ġ문 ìłľ", + "ĠdeÄŁer lendir", + "ä¸į åIJĮ", + "æ¶ ²", + "ा हर", + "ाह र", + "íļ į", + "à¥į à¤ł", + "à¥įठł", + "и ÑĤиÑģÑı", + "иÑĤи ÑģÑı", + "ا ÙĦع", + "اÙĦ ع", + "Ġd vÄĽ", + "Ġdv ÄĽ", + "ĠпеÑĢ ÐµÐº", + "ĠпеÑĢе к", + "Ġ åħĥ", + "Ġåħ ĥ", + "Ġ aras", + "Ġa ras", + "Ġar as", + "Ġara s", + "Ġalt ında", + "Ġaltın da", + "Ġaltı nda", + "Ġв за", + "Ġвз а", + "æĴ ĥ", + "Ġmil yon", + "Ġ åѦ", + "ĠåŃ ¦", + "Ġв аÑĢи", + "ĠваÑĢ Ð¸", + "Ġва ÑĢи", + "ĠاÙĦع اÙĦÙħ", + "' Ñı", + "ÙĪ ÛĮس", + "ÙĪÛĮ س", + "Ġмож ÑĥÑĤÑĮ", + "ãģij ãģŁ", + "ìĿ´ ìĹĪëĭ¤", + "ìĿ´ìĹĪ ëĭ¤", + "ο Ïįν", + "οÏį ν", + "Ġ éŁ", + "Ġé Ł", + "Ġpost up", + "Ġpo stup", + "ü yük", + "üy ük", + "åĪ Ĭ", + "Ġ ÙĤب", + "ĠÙĤ ب", + "Ġاص ÙĦÛĮ", + "ĠاصÙĦ ÛĮ", + "ÙĪ Ùī", + "Ġrep ublik", + "Ġ ÐĻ", + "ĠÐ Ļ", + "ģ m", + "Ġб ел", + "ा -", + "Ñģ кое", + "Ñģк ое", + "Ñģко е", + "Ġcu á»iji", + "è² ·", + "ี ยว", + "ีย ว", + "éĩį è¦ģ", + "ู ม", + "ĠÑĢозвиÑĤ кÑĥ", + "Ġ ë°±", + "Ġë° ±", + "åĥ ¹", + "Ġ åīį", + "Ġåī į", + "à¹Ħ à¸ĭ", + "ãĢĮ â̦â̦", + "à¥Į त", + "Ú© رد", + "کر د", + "Ġza ÅĻÃŃzenÃŃ", + "ส าร", + "Ġle tech", + "Ġlet ech", + "l emek", + "le mek", + "lem ek", + "leme k", + "人 ãģ®", + "Ġd ưỡng", + "ĠdưỠ¡ng", + "ت ÙĤ", + "Ġ åĵ", + "Ġå ĵ", + "åħ »", + "Ġ ëıħ", + "Ġëı ħ", + "Ġ 루", + "Ġë £¨", + "Ġë£ ¨", + "ذ ÙĦÙĥ", + "Ġ ìĿ¼ë³¸", + "ĠìĿ¼ 본", + "ĠAy rıca", + "ĠÙ¾ Úĺ", + "is inin", + "isi nin", + "isin in", + "isini n", + "Ġìĭ ¶", + "Ú¯ ÛĮرÛĮ", + "Ú¯ÛĮ رÛĮ", + "Ú¯ÛĮر ÛĮ", + "خص ص", + "³ ç´°", + "ĠмаÑĤеÑĢи ал", + "k ové", + "ko vé", + "kov é", + "ë§ ī", + "ãģķ ãģĽ", + "ĠÑĤак ой", + "ĠÑĤа кой", + "Ġtr áºŃn", + "Ġ лиÑĨ", + "Ġл иÑĨ", + "Ġли ÑĨ", + "Ġ åĽĽ", + "ĠåĽ Ľ", + "Ñĩ Ñĥ", + "Ġ æ°´", + "Ġæ° ´", + "Ġdo lay", + "Ġdol ay", + "å½ ¹", + "ÑĢ Ð¸Ð²Ð°", + "ÑĢи ва", + "ÑĢив а", + "Ġг ÑĢÑĥпп", + "ĠгÑĢÑĥ пп", + "ĠгÑĢÑĥп п", + "Ġmüm kün", + "л ена", + "лен а", + "ле на", + "ëĿ¼ ëĬĶ", + "åĪ© ç͍", + "Ġr ahat", + "Ġra hat", + "ï¼ıï¼ı ï¼ıï¼ı", + "æģ ©", + "Ġ íķŃ", + "Ġíķ Ń", + "Ġ íĴ", + "Ġí Ĵ", + "Ġ ìĬ¹", + "ĠìĬ ¹", + "Ġch ân", + "Ġ ãĤ¨", + "ĠãĤ ¨", + "Ġжиз ни", + "çĸ ij", + "ãĢĤ ä»ĸ", + "리 ìĬ¤", + "Ñĩ иÑħ", + "Ñĩи Ñħ", + "Ġ é¦ĸ", + "Ġé¦ ĸ", + "ÄĽ r", + "Ġй омÑĥ", + "Ġth áºŃt", + "Ġìķ ŀ", + "c ih", + "ci h", + "س ÙĦاÙħ", + "سÙĦ اÙħ", + "Ġs iyas", + "Ġsi yas", + "Ġ íĸĪ", + "Ġíĸ Ī", + "Ġк оÑĪ", + "Ġко ÑĪ", + "Ïĥ αν", + "Ïĥα ν", + "ÙĬ اÙĨ", + "ÙĬا ÙĨ", + "Ġd ö", + "ाह त", + "о ÑĢод", + "оÑĢ Ð¾Ð´", + "оÑĢо д", + "о ваÑı", + "ов аÑı", + "ова Ñı", + "ÑĨи оналÑĮ", + "ÑĨион алÑĮ", + "ائ Ùĩ", + "Ġà¤ĸ र", + "ĠÄij á»Ŀi", + "ĠÄijá» Ŀi", + "ä¸į ä¼ļ", + "Ùĥ ز", + "ี à¸Ħวาม", + "ีà¸Ħ วาม", + "l ıyor", + "lı yor", + "à¥ĭ द", + "Ġ ì¶©", + "Ġì¶ ©", + "Ġc á»ij", + "à¹Ĥ à¸ķ", + "Ġε ÏĢί", + "ĠεÏĢ Î¯", + "ĠпÑĢ Ñıм", + "æ³ °", + "ا ÙĦØ©", + "اÙĦ Ø©", + "j ÃŃm", + "jÃŃ m", + "Ġ би", + "Ġб и", + "Å¡ em", + "Å¡e m", + "ĠH á»Ļi", + "à¸Ħ รà¸ĩ", + "à¸Ħร à¸ĩ", + "Ġh uyá»ĩn", + "Ġhuy á»ĩn", + "ç¯ Ģ", + "l iÅ¡", + "li Å¡", + "ĠجÙĩ ت", + "ç§ ĭ", + "ĠÑĨ ел", + "ĠÑĨе л", + "Ġ лÑĸÑĤ", + "Ġл ÑĸÑĤ", + "ĠлÑĸ ÑĤ", + "Ġ æ·", + "Ġæ ·", + "ж Ñĥ", + "ãģĪ ãģŁ", + "ë´ ī", + "Ġ 머", + "Ġë¨ ¸", + "åł´ åIJĪ", + "éĿ ©", + "ãĥª ãĥ³", + "ег да", + "Ġbe nim", + "Ġben im", + "Ġbeni m", + "çĽ Ł", + "ãģ® ä¸Ń", + "åĿ IJ", + "ĠÃľniversit esi", + "Ġko ÅŁ", + "Ġп ож", + "Ġпо ж", + "iá»ĩ p", + "ĠpÅĻ ij", + "ĠpÅĻi j", + "ëŀ ¨", + "ĠاÙĦ أس", + "ĠاÙĦØ£ س", + "ár nÃŃ", + "iế m", + "Ġ èĬ", + "Ġè Ĭ", + "Ġ δε", + "Ġδ ε", + "å¨ ±ä¹IJ", + "Ġ ưu", + "Ġ çĦ¡", + "ĠçĦ ¡", + "Ġг ÑĢи", + "ĠгÑĢ Ð¸", + "Ġпо ÑįÑĤомÑĥ", + "ĠÄij óng", + "ĠÄijó ng", + "ĠÄijón g", + "ج اÙĨ", + "جا ÙĨ", + "Ġngh iên", + "Ġnghi ên", + "Ġا ÙĦاÙĨ", + "ĠاÙĦ اÙĨ", + "ÑĪ ÐµÐ¹", + "ÑĪе й", + "à¹ģ รà¸ģ", + "ĠÚĨ Ùĩار", + "ĠÚĨÙĩ ار", + "Ñİ Ñīий", + "ÑİÑī ий", + "ÏĮ Ïģ", + "Ġ رÙħ", + "Ġر Ùħ", + "ì² ł", + "Ġدست گاÙĩ", + "Ġ دÛĮد", + "Ġد ÛĮد", + "ĠدÛĮ د", + "ãĥĥãĤ¯ ãĤ¹", + "ा मन", + "ाम न", + "ĠTh Ãłnh", + "Ġth ẩm", + "Ġc Ãłng", + "ĠcÃł ng", + "Ġdön Ã¼ÅŁ", + "ĠпÑĢи гоÑĤов", + "ĠпÑĢиг оÑĤов", + "Ġk iÅŁi", + "Ġki ÅŁi", + "ĠkiÅŁ i", + "ØŃ ت", + "Ġ ë²ķ", + "Ġë² ķ", + "é£ Ľ", + "Ġit ibar", + "Ġг лав", + "Ġгла в", + "Ġor tam", + "Ġort am", + "Ġorta m", + "Ġm add", + "Ġma dd", + "Ġmad d", + "Ġ оÑģÑĤав", + "Ġо ÑģÑĤав", + "ĠоÑģÑĤ ав", + "ĠÙģÙĪ ØªØ¨Ø§ÙĦ", + "ĠÙģÙĪØª باÙĦ", + "Ġan laÅŁ", + "l eyen", + "le yen", + "ley en", + "ç ´Ģ", + "ç´ Ģ", + "Ġ é£", + "Ġé £", + "/ lo", + "/l o", + "Ùħ ÙĪÙĦ", + "ÙħÙĪ ÙĦ", + "Ġд ÑĥÑħ", + "ĠдÑĥ Ñħ", + "Ġ ÙĦب", + "ĠÙĦ ب", + "л ег", + "ле г", + "Ġgö nder", + "Ġgön der", + "ÙĬ Ø·", + "Ġ สำ", + "Ġส ำ", + "Ġv ás", + "Ġvá s", + "ĠÐŁ еÑĤ", + "а лоÑģÑı", + "ало ÑģÑı", + "ì ¿ł", + "ì¿ ł", + "éĻ ½", + "åĸ ®", + "èĪ ŀ", + "н Ñĥл", + "нÑĥ л", + "ÄŁ ine", + "ÄŁi ne", + "ÄŁin e", + "Ġ ghi", + "Ġg hi", + "Ġgh i", + "Ġ çµ", + "Ġç µ", + "ÙĬ ÙĨÙĬ", + "ÙĬÙĨ ÙĬ", + "Å ½", + "Ġhük üm", + "ĠD Ä±ÅŁ", + "ĠÎŃ Ïĩει", + "ĠÎŃÏĩ ει", + "Ġ Ñģка", + "ĠÑģ ка", + "ĠÑģк а", + "Ġ ÑĤим", + "ĠÑĤ им", + "ĠÑĤи м", + "Ġп оÑģÑĤав", + "Ġпо ÑģÑĤав", + "ĠпоÑģÑĤ ав", + "à¸Ļ าà¸Ķ", + "à¸Ļา à¸Ķ", + "d ül", + "dü l", + "Ġd va", + "Ġdv a", + "Ġ à¸Ħà¸Ļ", + "Ġà¸Ħ à¸Ļ", + "Ġchá»ĭ u", + "Ġ èı", + "Ġè ı", + "à¹ģส à¸Ķà¸ĩ", + "æ° £", + "Ġ íά", + "Ġí ά", + "Ġ Ñĩин", + "ĠÑĩ ин", + "ĠÑĩи н", + "ãģ« ãģĬ", + "ен ноÑģÑĤи", + "енно ÑģÑĤи", + "ÐIJ ÐĿ", + "Ġh emen", + "Ġhe men", + "Ġhem en", + "Ġ ait", + "Ġa it", + "Ġai t", + "Ġ à¤Ĭ", + "ĠठĬ", + "æī §", + "ĠA BD", + "ĠAB D", + "Ġκα θ", + "æ´ Ľ", + "ãĤ¢ ãĥ«", + "à¹ī าà¸Ĺ", + "à¹īา à¸Ĺ", + "ÅĻ ez", + "ÅĻe z", + "d ÄĽji", + "dÄĽ ji", + "Ġt á»ĭch", + "еннÑı м", + "Ġв ÑģÑĤанов", + "ĠвÑģÑĤ анов", + "ĠاÙĦ بر", + "ĠاÙĦب ر", + "ÙĪÙħ تر", + "k ách", + "ká ch", + "åº Ĭ", + "л Ñĥж", + "лÑĥ ж", + "Ġ تد", + "Ġت د", + "ä¸ ½", + "ر Ø®", + "à¤Ĥ à¤ĸ", + "èĩªå·± çļĦ", + "å®ĺ ç½ij", + "- Ñı", + "à¹ĩ à¸Ķ", + "èĦ ļ", + "Ġ çķ", + "Ġç ķ", + "Ġiçer isinde", + "Ġb iá»ĥn", + "Ġbi á»ĥn", + "Ġ à¸ģล", + "Ġà¸ģ ล", + "Ġy aÄŁ", + "Ġya ÄŁ", + "Ġ æ´", + "Ġæ ´", + "Ġ бÑĢа", + "Ġб ÑĢа", + "ع ار", + "عا ر", + "æĪ °", + "à¥Ģ Ċ", + "Ġlé Äį", + "a ların", + "alar ın", + "aları n", + "Ġ Îĸ", + "ĠÎ ĸ", + "а ÑĢÑı", + "аÑĢ Ñı", + "ãģĿ ãĤĵãģª", + "ÅĪ uje", + "ãĢĢ Ġ", + "ĠsaÄŁ lık", + "Ġдо ÑģлÑĸд", + "ĠдоÑģ лÑĸд", + "ÃŃ Å¡", + "à¥įर श", + "à¥ī न", + "Ġgi ả", + "بÙĪ Ø§Ø³Ø·Ø©", + "å® ģ", + "Ġs oud", + "Ġso ud", + "Ġsou d", + "Ġк ÑĤо", + "e sel", + "es el", + "ese l", + "Ġп ам", + "Ġпа м", + "Ġ ÂłĠ", + "ĠÂł Ġ", + "ĠÄį lov", + "æ· ·", + "ห à¸į", + "ĠOs man", + "æ ¦Ĥ", + "æ¦ Ĥ", + "Ġ åĭ", + "Ġå ĭ", + "ï¼Į åħ¶", + "Ġ à¸Ħร", + "Ġà¸Ħ ร", + "Ġmá» ģm", + "Ġ ÑģоÑĢ", + "ĠÑģ оÑĢ", + "ĠÑģо ÑĢ", + "çĨ ±", + "Ġthu ê", + "ر ج", + "à¹Ĥล à¸ģ", + "Ġ íķĺê³ł", + "Ġíķĺ ê³ł", + "ÙĬ دة", + "ÙĬد Ø©", + "ĠaÅŁ aģı", + "Ġk á»ĥ", + "Ġká» ĥ", + "à¸ķ ำ", + "λ ει", + "λε ι", + "çļĦ è¯Ŀ", + "æ± ł", + "ĠÑģ ÑĤен", + "ĠÑģÑĤ ен", + "Ġin cel", + "Ġinc el", + "Ġince l", + "åº Ń", + "ÑĤ оÑĩ", + "ÑĤо Ñĩ", + "Ġprob lém", + "Ġprobl ém", + "ÏĦ Ïĥ", + "à¹ī à¸Ńà¸Ļ", + "à¹īà¸Ń à¸Ļ", + "ë³´ ëĭ¤", + "Ġà¤Ĩ à¤Ĺ", + "ν αÏĤ", + "να ÏĤ", + "ãģĦ ãĤĭ", + "Ġd ục", + "Ġdụ c", + "Ġtoho to", + "Ġtoh oto", + "ëIJĺ ìĹĪëĭ¤", + "ëIJĺìĹĪ ëĭ¤", + "T J", + "Ġви знаÑĩ", + "ĠB unun", + "ĠBu nun", + "ĠBun un", + "ĠBunu n", + "à¤Ĥ बर", + "à¤Ĥब र", + "ĠÙĩÙħÚĨ ÙĨÛĮÙĨ", + "Ġб Ñİдж", + "Ñĥ ÑĢг", + "ÑĥÑĢ Ð³", + "äº ®", + "Ġμε γ", + "Ġtop lum", + "Ġtopl um", + "ãģ£ ãģ", + "о ÑĤо", + "оÑĤ о", + ": |", + "éĿŀ 常", + "ิ à¸Ĺà¸ĺ", + "ิà¸Ĺ à¸ĺ", + "éģ ķ", + "âĢĮÙ¾ دÛĮ", + "Ġз ÑĢоб", + "à¹Į à¸Ķ", + "Ġдолж ен", + "Ġдол жен", + "ĠmÄĽ sta", + "ĠmÄĽst a", + "ÛĮ Ø´Ùĩ", + "ÛĮØ´ Ùĩ", + "v atel", + "va tel", + "vat el", + "Ġprov oz", + "Ġ inan", + "Ġin an", + "Ġi nan", + "à¤Ĥ प", + "Ġpar ç", + "ÑĢ Ð°ÑģÑĤ", + "ÑĢа ÑģÑĤ", + "ÑĢаÑģ ÑĤ", + "üm ü", + "Ġgi á»ijng", + "Ġgiá» ijng", + "æ¬ ¢", + "Ø« ÙĬر", + "ĠB akan", + "ĠBa kan", + "ĠBak an", + "Ġ â΍", + "ĠâĪ ¨", + "Ġ باÙĨ", + "Ġب اÙĨ", + "Ġبا ÙĨ", + "Û± Û¸", + "Û±Û ¸", + "ãĤĤ ãģĨ", + "land ı", + "lan dı", + "Ġyen iden", + "Ġyeni den", + "ÑĨ енÑĤ", + "ÑĨе нÑĤ", + "ÑĨен ÑĤ", + "Ġде ÑıÑĤелÑĮ", + "Ð ©", + "Ġ rov", + "Ġr ov", + "Ġro v", + "å®Į åħ¨", + "ĠK ỳ", + "s lu", + "sl u", + "Ġl ấy", + "é¤ IJ", + "ĠÑĩ олов", + "ä¼ Ŀ", + "ĠbaÅŁ v", + "å° Ī", + "ê³ ¡", + "ãĢģ ãģĿãĤĮ", + "Ġ PÅĻÃŃ", + "ĠP ÅĻÃŃ", + "ĠPÅĻ ÃŃ", + "д ем", + "де м", + "ĠпÑĢо ек", + "ร à¸ĸ", + "建 设", + "Ġмож лив", + "æ® º", + "ãģ¡ãĤĥ ãĤĵ", + "æķ ij", + "ĠÄį ty", + "ĠÄįt y", + "é¦ Ĩ", + "о ÑĢÑĥ", + "оÑĢ Ñĥ", + "Ġ æĦ", + "Ġæ Ħ", + "Ġk ÃŃch", + "λ οÏħ", + "λο Ïħ", + "ãģĦ ãģ¤", + "Ġc Äĥn", + "ĠcÄĥ n", + "Ạµ", + "Ġel de", + "éº »", + "ÄŁ e", + "Ġdo bÄĽ", + "Ġdob ÄĽ", + "ा यर", + "ाय र", + "Ġ ãĥı", + "Ġãĥ ı", + "н ен", + "не н", + "Ġmůže te", + "Ġmůž ete", + "Ġна ÑģÑĤÑĥп", + "ĠнаÑģÑĤ Ñĥп", + "ìĭľ ê°Ħ", + "ĠÑģим пÑĤом", + "Ġ ÏĥÏį", + "ĠÏĥ Ïį", + "Ġ سÙĦ", + "Ġس ÙĦ", + "ε κ", + "ร à¸ĵ", + "á te", + "át e", + "ek ler", + "ekl er", + "ĠвÑĢем ени", + "ĠвÑĢемен и", + "âĢĮ ÙĩاÛĮÛĮ", + "âĢĮÙĩاÛĮ ÛĮ", + "ãģĬ ãĤĬ", + "ж и", + "Ñĭ ваеÑĤÑģÑı", + "Ñĭв аеÑĤÑģÑı", + "Ñĭва еÑĤÑģÑı", + "ÑĭваеÑĤ ÑģÑı", + "Ùħ اÙĨÛĮ", + "ÙħاÙĨ ÛĮ", + "Ùħا ÙĨÛĮ", + "à¸ķ ล", + "Ġ صد", + "Ġص د", + "Ġ вол", + "Ġв ол", + "Ġво л", + "ìĬ Ī", + "ĠÙĥ Ùħا", + "ĠÙĥÙħ ا", + "Ġnh ằm", + "èģ ¯", + "ov acÃŃ", + "ova cÃŃ", + "Ġë§Į ëĵ¤", + "ÙĪ Ù¾", + "Ġ ë¸Į", + "Ġë¸ Į", + "ب ÙĬØ©", + "بÙĬ Ø©", + "u yla", + "uy la", + "л ено", + "лен о", + "ле но", + "èĮ ¶", + "ÑĢ ÐµÐ¹", + "ÑĢе й", + "Ġk li", + "Ġkl i", + "Ġüzer inden", + "Ġüzerinde n", + "н еÑĤ", + "не ÑĤ", + "r aÄį", + "ra Äį", + "ĠпÑĢа ÑĨÑİ", + "Ġed iyor", + "Ġedi yor", + "ãģı ãģł", + "Ġ Äįast", + "ĠÄį ast", + "ĠÄįas t", + "i yi", + "iy i", + "éĬ Ģ", + "Ġd ù", + "Ùİ Ø¨", + "ÙĪ ÙĬØ©", + "ÙĪÙĬ Ø©", + "å ª", + "Ġs ınıf", + "Ġsın ıf", + "Ġس اعت", + "Ġ ราย", + "Ġร าย", + "Ġза Ñıв", + "Ġg ặp", + "à¸Ń ว", + "ĠØ« Ùħ", + "ĠZ á", + "ĠвÑĸд к", + "i zik", + "iz ik", + "izi k", + "Ġm ón", + "Ġmó n", + "Ġпов ÑĭÑĪ", + "Ġ à¸ļาà¸Ĺ", + "Ġà¸ļ าà¸Ĺ", + "ĠÑģ ил", + "ĠÑģи л", + "æĥħ åł±", + "Âł t", + "ĠÐľ оÑģк", + "Ġê²ĥ ìĿ´ëĭ¤", + "Ġê²ĥìĿ´ ëĭ¤", + "Ġ çIJ", + "Ġç IJ", + "ĠÙħدÛĮر ÛĮت", + "ов оÑĹ", + "ово ÑĹ", + "Τ ο", + "çº ª", + "нÑĸ ÑĪе", + "нÑĸÑĪ Ðµ", + "Ġ ÐĽÑİ", + "ĠÐĽ Ñİ", + "η Ïĥη", + "ĠÙĨسب ت", + "ĠÙĨس بت", + "m uz", + "mu z", + "ร ว", + "ãĢģ ãģĤ", + "Ġбол ез", + "Ġtr ách", + "ãĥ ¦", + "à¹Ģà¸Ĥ า", + "Ġê·¸ ëĬĶ", + "ب رÛĮ", + "بر ÛĮ", + "æł ª", + "ëĿ¼ ìĿ´", + "Ġ íĮ¨", + "Ġí Į¨", + "ĠíĮ ¨", + "íĬ ¹", + "ľ ´", + "ि ड", + "िठ¡", + "ÑĢо ме", + "ÑĢом е", + "è® ²", + "Ġ ÑĤон", + "ĠÑĤ он", + "ĠÑĤо н", + "Ñģ Ñĸ", + "Ġ ç®", + "Ġç ®", + "åıĸ ãĤĬ", + "ì° °", + "Ġ ÙĪÙĦÛĮ", + "ĠÙĪ ÙĦÛĮ", + "ĠÙĪÙĦ ÛĮ", + "Ġس Ø·ØŃ", + "èı ľ", + "н ами", + "на ми", + "нам и", + "T ürk", + "åİ Ĥ", + "Ġf inan", + "Ġfin an", + "Ġfi nan", + "ãģ« ãģªãĤĭ", + "ãģ«ãģª ãĤĭ", + "Ġ oby", + "Ġo by", + "Ġob y", + "T rong", + "Tr ong", + "Tro ng", + "Ġv yp", + "Ġvy p", + "à¥ģ ड", + "à¥ģठ¡", + "ìŀIJ ê°Ģ", + "Ġ æīĢ", + "Ġæī Ģ", + "ÐĹ Ð°", + "um lu", + "uml u", + "ëĵ Ŀ", + "Ġм енÑĸ", + "Ġмен Ñĸ", + "ол ниÑĤелÑĮ", + "олн иÑĤелÑĮ", + "Ġú Äįin", + "ĠúÄį in", + "Ġb unun", + "Ġbu nun", + "Ġbun un", + "Ġbunu n", + "ĠÐłÐ¾Ñģ Ñģии", + "в ÑģÑı", + "Ġн Ñĸж", + "ĠнÑĸ ж", + "ิà¸Ķ à¸ķ", + "غ Ø©", + "Ä ļ", + "Ġ سÙħ", + "Ġس Ùħ", + "Ġ Ðĺз", + "ĠÐĺ з", + "à¥ĩ प", + "à¥ĩठª", + "大 çļĦ", + "ì¹ ľ", + "Ġ иÑģÑĤ", + "Ġи ÑģÑĤ", + "ĠиÑģ ÑĤ", + "Ġкон ÑģÑĤÑĢÑĥк", + "Û± Û²", + "Û±Û ²", + "â l", + "Ġ ÑĪиÑĢ", + "ĠÑĪ Ð¸ÑĢ", + "ĠÑĪи ÑĢ", + "ï¼ ł", + "Ġar tık", + "Ġart ık", + "æŁ ĵ", + "ä¹ ¡", + "ÃŃ te", + "ÃŃt e", + "ĠNh áºŃt", + "ĠÎĶ Î·", + "Ġöl ç", + "êµ ´", + "о Ñıн", + "оÑı н", + "ëĵ± ë¡Ŀ", + "Ġng ân", + "Ġ бÑĥдÑĮ", + "ĠбÑĥд ÑĮ", + "ÎŁ Ρ", + "ÎŁÎ ¡", + "ì ´", + "Ùħ ÙĪØ¯", + "ÙħÙĪ Ø¯", + "ν ον", + "νο ν", + "Îķ ÎĿ", + "çij ŀ", + "ĠÅĻ ek", + "ĠÅĻe k", + "- âĢIJ", + "ĠM erk", + "ĠMe rk", + "ĠMer k", + "Ġоп ÑĢедел", + "ĠопÑĢед ел", + "Ïģ ιν", + "Ïģι ν", + "л аб", + "ла б", + "ëĦ¤ ìļĶ", + "Ġб лиз", + "Ġбл из", + "Ġбли з", + "Ġph á»iji", + "Ġphá»ij i", + "Ġдолж нÑĭ", + "ĠÑį кÑģп", + "ĠÑįк Ñģп", + "à¸ļ à¸Ĺ", + "à¸Ľà¸£à¸° ส", + "ĠÙ¾Úĺ ÙĪÙĩ", + "Ġ íķľëĭ¤", + "Ġíķľ ëĭ¤", + "ÏĦ οÏį", + "ÏĦο Ïį", + "Ùĩ ÙĨ", + "Ġд од", + "Ġдо д", + "Ġk ayı", + "Ġka yı", + "Ġkay ı", + "Ł ģ", + "Ñģ иÑı", + "Ñģи Ñı", + "à¤Ĥ तर", + "à¤Ĥत र", + "Ġpod nik", + "e vi", + "ev i", + "ÛĮ ÛĮر", + "Т ак", + "Та к", + "к оп", + "ко п", + "н аÑħ", + "на Ñħ", + "ا سÙĩ", + "اس Ùĩ", + "à¸ĵ à¸ij", + "Ġk há", + "Ġkh á", + "Ġy arat", + "Ġya rat", + "Ġyar at", + "ĠاÛĮÙĨ Ú©Ùĩ", + "Ø· بÙĬ", + "طب ÙĬ", + "Ġs ır", + "Ġsı r", + "ĠØ¢ÙħرÛĮÚ© ا", + "Ġ बल", + "Ġब ल", + "k aç", + "ka ç", + "Ġ åı¯", + "Ġåı ¯", + "Ġ åħ¶", + "Ġåħ ¶", + ". ***", + ".* **", + "л ÑĸннÑı", + "лÑĸн нÑı", + "ä¹ ±", + "o q", + "æ ¦", + "ãĤ ¼", + "Ġf ır", + "Ġk ê", + "Ġìłľ ê³µ", + "Ġ Ïĥη", + "ĠÏĥ η", + "а нÑĭ", + "ан Ñĭ", + "н ова", + "но ва", + "нов а", + "à¸Ĭ าย", + "ĠØ· ÙĪÙĦ", + "à¥Ī य", + "Ġ ì¹ľ", + "Ġì¹ ľ", + "ìĤ ´", + "Ġп Ñĸв", + "Ġlu áºŃn", + "Ġà¤ī म", + "åº ĥ", + "à¹ĩ à¸Ńà¸ķ", + "Ġس اÛĮت", + "л Ñıн", + "лÑı н", + "ĠíķĦ ìļĶ", + "Ġgör ül", + "ĠÑĤеÑĢ Ð¸ÑĤоÑĢ", + "ĠÙĨ ØŃ", + "е ма", + "ем а", + "Ġmn oh", + "Ġ ãģ¯", + "غ ÙĬر", + "ĠÑģдел аÑĤÑĮ", + "ç ģµ", + "çģ µ", + "Ġ ÐłÐ°Ð·", + "ĠÐł аз", + "ĠÐłÐ° з", + "Ġг еÑĢ", + "Ġге ÑĢ", + "γ μα", + "íķĺ ë©´", + "ĠdeÄŁ iÅŁtir", + "ĠdeÄŁiÅŁ tir", + "ãĥ³ ãĥĨ", + "ãĥ³ãĥ Ĩ", + "å¸Ĥ åľº", + "个 人", + "ìĥ Ī", + "ì¹ ¨", + "èī º", + "ÙĤ ت", + "ĠÚ¯ رÙģØªÙĩ", + "ĠگرÙģ ØªÙĩ", + "Ġگر ÙģØªÙĩ", + "ĠگرÙģØª Ùĩ", + "Ġ çİĭ", + "Ġçİ ĭ", + "ĠاÙĦ ذÙĩ", + "ĠاÙĦذ Ùĩ", + "λ Ïħ", + "à¤ľ र", + "Ġв ним", + "ë¦ Ń", + "ิ à¸Ĺ", + "Ġ شاÙĩ", + "ĠØ´ اÙĩ", + "æĬķ èµĦ", + "æĿIJ æĸĻ", + "ĠÙĨ Ùģ", + "èª ¬", + "æĬ Ĺ", + "Ġ аб", + "Ġа б", + "iy eti", + "iye ti", + "iyet i", + "ç¾ ħ", + "ÑĢ Ñĸз", + "ÑĢÑĸ з", + "Ġ สม", + "Ġส ม", + "i cÃŃ", + "ic ÃŃ", + "к ÑĥваннÑı", + "кÑĥ ваннÑı", + "Ġ ìķ¼", + "Ġìķ ¼", + "Ġ è½", + "Ġè ½", + "âĢ «", + "Ġ διά", + "Ġδ ιά", + "Ġδι ά", + "Ġд еп", + "Ġде п", + "ãĥ¼ ãĤ¿", + "ãĥ¼ãĤ ¿", + "Ġob jev", + "Ġobj ev", + "mé na", + "Ġbe lg", + "Ġbel g", + "Ġ æ¥", + "Ġæ ¥", + "Ġn á»ģn", + "Ġг ол", + "Ġpost av", + "Ġpo stav", + "Ġت Ú©", + "Ð «", + "ĠпÑĸд ÑĤ", + "ĠоÑĤ ноÑĪ", + "Ġп ÑĢив", + "ĠпÑĢ Ð¸Ð²", + "ĠпÑĢи в", + "Ġ åŁº", + "ĠåŁ º", + "Ġн али", + "Ġна ли", + "Ġнал и", + "ů ž", + "Ġ yat", + "Ġy at", + "Ġya t", + "ÅŁ a", + "ÏĦ ήÏĤ", + "ÏĦή ÏĤ", + "ÑĨ ем", + "ÑĨе м", + "次 æķ°", + "Ġb Ãł", + "ÙĪ Ùĥ", + "Ġ íĶĦë¡ľ", + "ĠíĶĦ ë¡ľ", + "ĠPh áp", + "Ġ êµ°", + "Ġêµ °", + "è³ ŀ", + "Ġoch ran", + "Ġgere kir", + "Ġgerek ir", + "Ġ íļ", + "Ġí ļ", + "à¸ļ ล", + "á me", + "ám e", + "Ġ بÛĮر", + "Ġب ÛĮر", + "ĠبÛĮ ر", + "à¸Ĥ าย", + "ов аний", + "ова ний", + "овани й", + "ован ий", + "Ġmož né", + "âĶģâĶģâĶģâĶģ âĶģâĶģâĶģâĶģ", + "á lu", + "ál u", + "н ÑĤ", + "¦ æĥħ", + "à¹ģ รม", + "ĠÑĦ Ñĸн", + "Ġİ ç", + "à¹Ī à¸Ńย", + "à¹Īà¸Ń ย", + "ê² ¨", + "Ġh edef", + "Ġhe def", + "Ġhed ef", + "ĠاÙĦ ÙħØ´", + "ĠاÙĦÙħ Ø´", + "à¹ī าม", + "à¹īา ม", + "å¯ Ħ", + "Ġ ëĭµ", + "Ġëĭ µ", + "Ġ ô", + "Ġà ´", + "ла ÑģÑı", + "лаÑģ Ñı", + "İ T", + "à¸Ķ ำ", + "Ġher hangi", + "Ġger eken", + "Ġgere ken", + "Ġgerek en", + "е ÑĢеж", + "еÑĢ ÐµÐ¶", + "еÑĢе ж", + "ÙĪ Ø©", + "ĠpÅĻ est", + "ĠpÅĻes t", + "ĠpÅĻe st", + "ç§ij åѦ", + "оÑģÑĤ аÑĤ", + "ün den", + "ünd en", + "ünde n", + "åĮħ æĭ¬", + "Ġد Ùĩد", + "ĠدÙĩ د", + "ÑĪ Ð¸ÑģÑĮ", + "ÑĪи ÑģÑĮ", + "н еÑĢ", + "не ÑĢ", + "Ñĸ дом", + "Ñĸд ом", + "Ġb iç", + "Ġbi ç", + "ìĭ Ń", + "Ġhod not", + "Ġze mÄĽ", + "Ġzem ÄĽ", + "ĠاÛĮ جاد", + "Ġy ine", + "Ġyi ne", + "ि ण", + "िठ£", + "ĠاÙĦ بÙĦ", + "ĠاÙĦب ÙĦ", + "ĠN ÄĽ", + "Ġpol ož", + "Ġpo lož", + "Ġpolo ž", + "éĺħ 读", + "å¸ ģ", + "å¼ Ł", + "ξ ε", + "Ġ Má»Ļt", + "ĠM á»Ļt", + "ç £", + "Û±Û³ Û¹", + "ĠØ¢ ز", + "ãģ ŀ", + "Ġм еÑħ", + "ย ม", + "Ġ æ¨", + "Ġæ ¨", + "Ġo tur", + "Ġot ur", + "Ġd ầu", + "Ġ ëĭ¤ìļ´", + "Ġëĭ¤ ìļ´", + "çĮ «", + "Ġ Có", + "ĠC ó", + "Ġli dÃŃ", + "Ġlid ÃŃ", + "Ġark adaÅŁ", + "Ġα λλά", + "é¡ »", + "ĠÙĩ ÙħÛĮÙĨ", + "ĠÙĩÙħ ÛĮÙĨ", + "è» ¢", + "Ġ âĹĭ", + "ĠâĹ ĭ", + "ëıĦ ë¡Ŀ", + " ĥ", + "âĢĮØ´ دÙĩ", + "âĢĮشد Ùĩ", + "ĠØŃ ÙĬØ«", + "ĠØŃÙĬ Ø«", + "Ġnh óm", + "Ïĥ Ïĩ", + "ĠÑĤÑĢан Ñģп", + "ĠÑĤÑĢанÑģ п", + "Ġtan ım", + "Ġtanı m", + "ç´ į", + "Ġba his", + "Ġbah is", + "ä¸ ¾", + "Ġин ÑĦоÑĢма", + "ĠинÑĦоÑĢм а", + "ĠÑģ лож", + "ĠÑģл ож", + "ĠÑģло ж", + "Ġk raj", + "Ġkr aj", + "Ġkra j", + "Ġ ØŃÙĦ", + "ĠØŃ ÙĦ", + "Ġ ãĥĸ", + "Ġãĥ ĸ", + "ĠÙĨ ÙĤÙĦ", + "ĠÙĨÙĤ ÙĦ", + "Ġ ÐłÐ¾Ð·", + "ĠÐł оз", + "ĠÎij Ïħ", + "lar dı", + "ĠÙ¾ اس", + "Ġپا س", + "Ġ ìĭĿ", + "Ġìĭ Ŀ", + "ĠìłĦìļ© ë©´ìłģ", + "ĠاÙĦ سÙĬ", + "ĠاÙĦس ÙĬ", + "با شد", + "باش د", + "ศ าสà¸ķร", + "Ġk öy", + "Ġkö y", + "Ġ rok", + "Ġr ok", + "Ġro k", + "Ġ 죽", + "Ġì £½", + "Ġì£ ½", + "ĠÑģ ог", + "ĠÑģо г", + "Ġch ú", + "éĺ ª", + "ĠÄįást i", + "ĠÄįá sti", + "Ġз веÑĢ", + "Ġзв еÑĢ", + "Ġ низ", + "Ġн из", + "Ġни з", + "ĠÃ¶ÄŁ ret", + "Ġ ãĥİ", + "Ġãĥ İ", + "п е", + "çĴ °", + "Ġ èª", + "Ġè ª", + "ÙĪ ÙĦÙĩ", + "ÙĪÙĦ Ùĩ", + "İ M", + "/ REC", + "/R EC", + "å¡ ŀ", + "ĠÐĴ и", + "/l oose", + "/lo ose", + "Ġп оÑħ", + "Ġпо Ñħ", + "Ġgen iÅŁ", + "Ġth iá»ĩn", + "Ġthi á»ĩn", + "ti ÄŁi", + "Ñĩ ие", + "Ñĩи е", + "о нд", + "он д", + "Ġп ÑĢиÑģ", + "ĠпÑĢ Ð¸Ñģ", + "ĠпÑĢи Ñģ", + "áz ky", + "ĠDev let", + "ç¦ ģ", + "Ġ аг", + "Ġа г", + "i lere", + "il ere", + "ile re", + "iler e", + "ин кÑĥ", + "Ġvar dı", + "ãĢĢ ãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢ ãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢ ĠãĢĢ", + "Ġë ĨĴ", + "ĠëĨ Ĵ", + "à¤Ĥ पन", + "à¤Ĥप न", + "Ġözel lik", + "éļ ľ", + "ìĸ´ ìĦľ", + "ر ÙĬÙĥ", + "رÙĬ Ùĥ", + "ÙĪ Ø¨ÛĮ", + "ÙĪØ¨ ÛĮ", + "ãĥ³ ãĥĢ", + "ãĥ³ãĥ Ģ", + "í Į¨", + "íĮ ¨", + "Ġसम à¤Ŀ", + "ï¾Ĩï¾Ĩ ï¾Ĩï¾Ĩ", + "Ġ ÙģÙĨ", + "ĠÙģ ÙĨ", + "ॠĿ", + "Ġuv eden", + "ÑĪ Ð¸Ð¼Ð¸", + "ÑĪи ми", + "ÑĪим и", + "Ġ à¹Ģล", + "Ġà¹Ģ ล", + "Ġà¹Ģภ¥", + "Ġ 문ìĿĺ", + "Ġ문 ìĿĺ", + "ĠØŃ رÙģ", + "ĠØŃر Ùģ", + "Ġ عب", + "Ġع ب", + "ãĥ¬ ãĥĵ", + "Ġ æŃ£", + "ĠæŃ £", + "ĠëĺIJ ëĬĶ", + "ĠÚ©ÙĨ ÙĨدÙĩ", + "ĠÚ©ÙĨÙĨد Ùĩ", + "Ġα ÏħÏĦÏĮ", + "ĠαÏħ ÏĦÏĮ", + "Ġ 길", + "Ġê¸ ¸", + "Ġif ade", + "Ġi fade", + "Ġifad e", + "Ġyap mak", + "ãĥķ ãĤ©", + "ãĥķãĤ ©", + "Ġm ẹ", + "Ġst rán", + "Ġstr án", + "Ġs vou", + "Ġsv ou", + "Ġsvo u", + "Ġv ždy", + "Ġtek rar", + "ิ à¸į", + "Ġ ìĵ°", + "Ġì ĵ°", + "Ġìĵ °", + "o ÄŁu", + "oÄŁ u", + "Ġ Ú©ÛĮÙĦ", + "ĠÚ© ÛĮÙĦ", + "ĠÚ©ÛĮ ÙĦ", + "и вÑģÑı", + "ив ÑģÑı", + "Ġë§IJ íĸĪëĭ¤", + "ä¸ Ŀ", + "à¤ı स", + "ĠÑģÑĤ ÑĢаÑħ", + "ĠÑģÑĤÑĢ Ð°Ñħ", + "ĠÑģÑĤÑĢа Ñħ", + "Ġsou Äįas", + "Ġê·¸ 룰", + "Ġ mÃ¼ÅŁ", + "Ġm Ã¼ÅŁ", + "Ġmü ÅŁ", + "λ οÏį", + "λο Ïį", + "γ Ïī", + "Ġt Æ°á»Łng", + "Ġ å·¥", + "Ġå· ¥", + "Ġ اسÙħ", + "Ġا سÙħ", + "Ġاس Ùħ", + "ÑĢ Ñĸм", + "ÑĢÑĸ м", + "à¹Ģ à¸Ľà¸¥", + "à¹Ģà¸Ľ ล", + "Ġ³³ Ġ³³", + "Ùĩ اÛĮÛĮ", + "ÙĩاÛĮ ÛĮ", + "å¯ º", + "Ġس رÛĮ", + "Ġسر ÛĮ", + "Ġк ваÑĢ", + "Ġкв аÑĢ", + "ĠØ´Ùħ ارÙĩ", + "ĠØ´Ùħا رÙĩ", + "Ġ صØŃ", + "Ġص ØŃ", + "о ÑģÑĤав", + "оÑģÑĤ ав", + "ॠ¨", + "Ġ à¸Ħวาม", + "Ġà¸Ħ วาม", + "í ĥģ", + "íĥ ģ", + "éĢ Ĥ", + "ب ØŃ", + "ĠdeÄŁiÅŁ ik", + "éĮ ²", + "е ди", + "ед и", + "Ġ okol", + "Ġo kol", + "Ġok ol", + "ĠÑģ оп", + "ĠÑģо п", + "Ġol mayan", + "Ġolm ayan", + "Ġolma yan", + "çŃ ij", + "Û± Û´", + "Û±Û ´", + "Ġ inclu", + "Ġinc lu", + "Ġincl u", + "Ġ ê²ĮìŀĦ", + "Ġê²Į ìŀĦ", + "ÛĮ ستÙħ", + "ÛĮست Ùħ", + "ÛĮس تÙħ", + "Ġ ç©", + "Ġç ©", + "ĠاÙĦÙĪÙĦ اÙĬات", + "il mektedir", + "ilm ektedir", + "à Į", + "Ùİ Ø¹", + "ĠaÄŁ ır", + "è¡ Ľ", + "Ġe ski", + "Ġes ki", + "Ġesk i", + "ê° Ŀ", + "본 ëĭ¤", + "人 åijĺ", + "Úĺ ÛĮ", + "Ġ ç¨", + "Ġç ¨", + "Ġм еÑģÑĤо", + "ĠмеÑģÑĤ о", + "v ů", + "à¥įर ह", + "ĠØ· رØŃ", + "Ġطر ØŃ", + "Ġا بÙĨ", + "Ġاب ÙĨ", + "Ġh iss", + "Ġhis s", + "Ġhi ss", + "о ÑĢÑıд", + "оÑĢ Ñıд", + "Ġد Ùģ", + "ÑĢ Ð¸ÑģÑĤ", + "ÑĢи ÑģÑĤ", + "ÑĢиÑģ ÑĤ", + "à¸Ĭ ม", + "д еÑĤ", + "де ÑĤ", + "à¹Ģ หม", + "à¹Ģห ม", + "ë§Ī ìĤ¬ì§Ģ", + ": .:.:", + ":. :.:", + ":.: .:", + "éħ ¸", + "Ġα ÏģÏĩ", + "ĠαÏģ Ïĩ", + "Ġn ữ", + "ĠпоÑģ ад", + "l um", + "lu m", + "ì º", + "ãģ§ãģį ãĤĭ", + "ìĸ µ", + "ĠاÙĦ Ùħد", + "ĠاÙĦÙħ د", + "н Ñĸм", + "нÑĸ м", + "ر اÙĤ", + "را ÙĤ", + "Ġ ãĥĪ", + "Ġãĥ Ī", + "Ġod povÄĽ", + "Ġodp ovÄĽ", + "Ġbir bir", + "Ġh ãy", + "Ġhã y", + "о вий", + "ов ий", + "ови й", + "æ® ĭ", + "éĥ½ æĺ¯", + "è¿ ª", + "Ġa raç", + "Ġar aç", + "Ġara ç", + "ен ÑĤÑĸв", + "енÑĤ Ñĸв", + "æĬ ±", + "d ál", + "ĠÄIJ ông", + "Ġhe sap", + "Ġhes ap", + "Ġا ÙĨساÙĨ", + "ĠاÙĨ ساÙĨ", + "ĠÙĬ ÙĪÙħ", + "ĠÙĬÙĪ Ùħ", + "ĠÙĨ ÙĪØ±", + "ĠÙĨÙĪ Ø±", + "åī ĩ", + "çĹ Ľ", + "Ġ ÙĨÙĬ", + "ĠÙĨ ÙĬ", + "алÑĮ на", + "تب اط", + "ल ब", + "Ġkom un", + "Ġko mun", + "Ġs nad", + "Ġsn ad", + "Ġsna d", + "åĽ £", + "ر ÙĬد", + "رÙĬ د", + "elop ment", + "Ġ иÑİ", + "Ġи Ñİ", + "à¥Ģ .", + "Ġkıs a", + "Ġkı sa", + "ĠdeÄŁil dir", + "ĠdeÄŁildi r", + "à¹ī าร", + "à¹īา ร", + "Ġsv ého", + "Ġsvé ho", + "Ġobl asti", + "Ġoblast i", + "ÑĪ Ð»Ð¸", + "à¹Ģà¸Ĺ à¸ŀ", + "ÑĢ ÐµÑĤÑĮ", + "ÑĢе ÑĤÑĮ", + "ÑĢеÑĤ ÑĮ", + "о во", + "ов о", + "Ġ íĤ¤", + "Ġí Ĥ¤", + "ĠíĤ ¤", + "át ky", + "ĠاÙĦ Ù쨱", + "ĠاÙĦÙģ Ø±", + "èĺ Ń", + "ÏĦ ον", + "ÏĦο ν", + "ĠÑģÑĤ оиÑĤ", + "ĠÑģÑĤо иÑĤ", + "Ùħ ØŃ", + "Ġ à¹Ħ", + "Ġà ¹Ħ", + "ĠÑĤе бе", + "ĠÑĤеб е", + "íģ ´", + "Ġm ÄĽla", + "ĠmÄĽ la", + "ĠmÄĽl a", + "æİ§ åζ", + "ĠCh á»§", + "ìĬ ¨", + "ÐIJ Т", + "ا جع", + "اج ع", + "ìĻ ķ", + "ç© ¿", + "ол ее", + "ห ลาย", + "หล าย", + "Ġd vou", + "Ġdv ou", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ุ à¸Ĥ", + "Ġb oz", + "Ġbo z", + "ิ à¸Ļà¸Ħ", + "ิà¸Ļ à¸Ħ", + "å¤ Ł", + "Ġfa aliyet", + "ĠÄį ÃŃs", + "ãģ» ãģ©", + "Ġ :/", + "Ġ: /", + "к ÑĸÑģÑĤÑĮ", + "кÑĸ ÑģÑĤÑĮ", + "Ġ ì¤Ģ", + "Ġì¤ Ģ", + "Ïģ αÏĤ", + "Ïģα ÏĤ", + "Ġод но", + "æ ¢ħ", + "æ¢ ħ", + "Ñĥб ли", + "н оз", + "но з", + "à¹Į ม", + "Ġvý rob", + "Ġvýro b", + "Ġ κÏħ", + "Ġκ Ïħ", + "ÅĻ ev", + "ÅĻe v", + "Âł B", + "ů že", + "ůž e", + "ä¼ļ 社", + "ι β", + "ÑĢ Ð¾Ð²Ð°Ð½Ð¸Ñı", + "ÑĢов аниÑı", + "ÑĢо ваниÑı", + "ÑĢован иÑı", + "ÑĢова ниÑı", + "Ġc ev", + "Ġce v", + "ìĽ Ģ", + "ál nÃŃch", + "áln ÃŃch", + "álnÃŃ ch", + "Ġ ÑĢав", + "ĠÑĢ Ð°Ð²", + "ĠÑĢаР²", + "ĠÑĢа в", + "ç´ §", + "åĢ Ł", + "Ġ ÑŁ", + "ĠÑ Ł", + "ÙĪ ÙĨÙĬ", + "ÙĪÙĨ ÙĬ", + "о зÑı", + "оз Ñı", + "Ġз ов", + "Ġk olem", + "Ġko lem", + "Ġkol em", + "Ġkole m", + "민 êµŃ", + "ç¿ Ĵ", + "Ġzam ÄĽst", + "Ġ ìłij", + "Ġìł ij", + "Ġ زÙĨ", + "Ġز ÙĨ", + "ĠØ£ Ùģ", + "Ġ 먹", + "Ġë¨ ¹", + "Ġtom to", + "Ġ 첨ë¶Ģ", + "Ġì² ¨ë¶Ģ", + "s age", + "sa ge", + "ä¸į è¿ĩ", + "е год", + "ег од", + "его д", + "ÑĢ Ð¾Ð¶", + "ÑĢо ж", + "ĠпÑĢоÑĨ ед", + "à¹Į à¸Ļ", + "san ız", + "âĢŀ Ø·", + "æ´» åĬ¨", + "о Ñĩки", + "оÑĩ ки", + "ë³´ 기", + "åŁº æľ¬", + "- Ñħ", + "ло ÑģÑı", + "ĠÙĩÛĮ ÚĨ", + "ìĹ Ķ", + "Ñĩ ного", + "Ñĩно го", + "Ġ à¤Ĺर", + "Ġà¤Ĺ र", + "Ġà¤ħ à¤Ĺ", + "ãħĭãħĭ ãħĭãħĭ", + "Ġ ãĤ¸", + "ĠãĤ ¸", + "ا سة", + "اس Ø©", + "åĬ ĩ", + "à¹ī à¸ĩ", + "Ġ 커", + "Ġì» ¤", + "n ými", + "ný mi", + "ným i", + "ãĥ¬ ãĤ¹", + "åĭ Ĵ", + "Ġобла ÑģÑĤÑĸ", + "ĠоблаÑģ ÑĤÑĸ", + "ĠоблаÑģÑĤ Ñĸ", + "ĠдÑĸÑıлÑĮ ноÑģÑĤÑĸ", + "ãĥ¬ ãĤ¤", + "Ïĩ αν", + "Ïĩα ν", + "à¹Ī าส", + "à¹Īา ส", + "ĠФ ÑĢан", + "Ùĩ ÙĦ", + "l ardır", + "lar dır", + "lardı r", + "ØŃ ات", + "ů st", + "Ġв одÑĭ", + "Ġво дÑĭ", + "Ġвод Ñĭ", + "ĠدÙĪ ÙĦت", + "ĠدÙĪÙĦ ت", + "ĠÑģпе ÑĨÑĸ", + "Ġth ất", + "à¸Ń าหาร", + "éł ĺ", + "Ġter cih", + "ĠÏĢÏģο Ïĥ", + "Ġ ÅĻÃŃzenÃŃ", + "ĠÅĻÃŃ zenÃŃ", + "è§ī å¾Ĺ", + "Ġd nes", + "Ġdn es", + "Ġdne s", + "е Ñĩно", + "еÑĩ но", + "ãĥ ĺ", + "Ġدار اÛĮ", + "ĠÅŁ art", + "ĠÅŁar t", + "ë² ¤", + "Ġ ë¶ģ", + "Ġë ¶ģ", + "Ġë¶ ģ", + "е Ñı", + "н ÑıÑĤÑĮ", + "нÑı ÑĤÑĮ", + "нÑıÑĤ ÑĮ", + "Ġk vÄĽt", + "Ġkv ÄĽt", + "Ġتغ ÛĮÛĮر", + "é¾ į", + "Ġر ÙĨÚ¯", + "ï¼Į åı¯", + "Ġp iyas", + "Ġpi yas", + "Ġuyg ulan", + "Ġuygu lan", + "Ùİ Ø©", + "ب ÙĬر", + "بÙĬ ر", + "и ваÑĤÑĮ", + "ив аÑĤÑĮ", + "ива ÑĤÑĮ", + "Ġ íĹĪ", + "ĠíĹ Ī", + "ä¸ ¶", + "è¿Ļ äºĽ", + "Ġ گر", + "ĠÚ¯ ر", + "ç½ ª", + "ä¸Ģ æł·", + "Ġ ãĥª", + "Ġãĥ ª", + "Ġв ой", + "Ġво й", + "Ġs osyal", + "Ġsos yal", + "ุ à¸Ĺà¸ĺ", + "ุà¸Ĺ à¸ĺ", + "หม à¸Ķ", + "ç» Ŀ", + "ĠاÙĦ جÙħ", + "ĠاÙĦج Ùħ", + "ĠØ« بت", + "Ġج ÙĨÚ¯", + "ĠجÙĨ Ú¯", + "л ении", + "лен ии", + "ле нии", + "в аÑı", + "ва Ñı", + "Ġв оÑĤ", + "Ġво ÑĤ", + "ä¼ ¤", + "Ġ หล", + "Ġห ล", + "ĠÙħÙĤ اÙĦÙĩ", + "мÑĸ нÑĸ", + "мÑĸн Ñĸ", + "ìĺ ¬", + "Ñĩ ий", + "Ñĩи й", + "ĠÙħ Ú©", + "à¹Ĥ à¸Ľà¸£", + "à¹Ĥà¸Ľ ร", + "k rv", + "kr v", + "Ġ ÃŃch", + "ĠÃŃ ch", + "Ïī Ïĥη", + "ек ÑĤоÑĢ", + "екÑĤ оÑĢ", + "Я к", + "Ġp ÃŃs", + "ĠÃĸ zel", + "ĠÃĸz el", + "Ġt Æ°á»Ľng", + "Ġ ÐĶо", + "ĠÐĶ Ð¾", + "δ ιο", + "δι ο", + "ู à¸Ķ", + "Ġt ük", + "رÛĮ ÙĤ", + ". ÐĴ", + "Ġ åIJĪ", + "ĠåIJ Ī", + "ä¿ Ĥ", + "Ġob dob", + "Ġist edi", + "ÑĪ Ð»Ð°", + "æľī ä¸Ģ", + "Ġвк лÑİÑĩа", + "ĠвклÑİÑĩ а", + "ĠتØŃ ÙĤÛĮÙĤ", + "Ġ ÙĪÙĥ", + "ĠÙĪ Ùĥ", + "Ġ èĪ", + "Ġè Ī", + "Æ Ĵ", + "μ εÏģ", + "με Ïģ", + "Ġ åģ", + "Ġå ģ", + "Ġ ìĹĨëĬĶ", + "ĠìĹĨ ëĬĶ", + "Âł d", + "ĠB ắc", + "à¸ģล าà¸ĩ", + "ĠÑĩ Ñĥв", + "Ġc ấu", + "ĠH á»ĵ", + "ĠHá» ĵ", + "ĠÙģ Ø§ÛĮÙĦ", + "ÏĦη γοÏģ", + "ç± į", + "Ġ بت", + "Ġب ت", + "ĠобÑĢаз ом", + "æ± ī", + "èĦ ij", + "Ġgi ản", + "Ġgiả n", + "ε Ïģγ", + "εÏģ γ", + "ĠÐľ Ñĸ", + "èϽ çĦ¶", + "Ġ Khi", + "ĠK hi", + "ĠKh i", + "Ñĩ ини", + "Ñĩи ни", + "Ñĩин и", + "Ġà¤ħ à¤Ĺर", + "Ġà¤ħà¤Ĺ र", + "íķĺ ë©°", + "ë² Ķ", + "ãģ ģ", + "в иÑħ", + "ви Ñħ", + "ĠвÑģ егда", + "Ġ ç¶", + "Ġç ¶", + "ÑģÑĤв енной", + "ÑģÑĤвен ной", + "ÑģÑĤвенно й", + "Ġyük sel", + "æ¸ ¬", + "Ġsı ras", + "Ġsır as", + "Ġsıra s", + "ĠÏĢ ÏģÏİ", + "èĢ ³", + "ا ÛĮر", + "اÛĮ ر", + "د ÙĪØ¯", + "دÙĪ Ø¯", + "ĠAl man", + "ĠAlma n", + "Ġver di", + "Ġverd i", + "ĠاÙĦ Ùħج", + "ĠاÙĦÙħ ج", + "ĠاÙĦ تع", + "ĠاÙĦت ع", + "ص Ø©", + "Ġsı ra", + "Ġsır a", + "Äį in", + "Äįi n", + "Ġп еÑĢÑĪ", + "ĠпеÑĢ ÑĪ", + "æĬ ĺ", + "ç© į", + "ĠÑĤ об", + "ĠÑĤо б", + "Ġ ï¾ī", + "Ġï¾ ī", + "ภ¬", + "æĿ Ģ", + "iy di", + "ี à¸ŀ", + "çĵ ¦", + "ĠавÑĤом об", + "ä¸Ń æĸĩ", + "à¥Ĥ द", + "ĠbÄĽ hem", + "Ġ PÅĻed", + "ĠP ÅĻed", + "ĠPÅĻ ed", + "ãģĵ ãģĨ", + "ั à¸Ī", + "Ġ ï½Į", + "Ġï½ Į", + "Ġ ÙĩاÙĬ", + "ĠÙĩ اÙĬ", + "ĠÙĩا ÙĬ", + "Ġs ạch", + "æĸ¹ éĿ¢", + "çķ °", + "ÑĥÑĢ Ð½", + "Ġvý sled", + "Ġth ần", + "ï¼Į æīĢ以", + "Ñĥ ка", + "Ñĥк а", + "íķĺ ëĭ¤", + "Ġ बर", + "Ġब र", + "Ġж Ñĸн", + "Äį nÃŃho", + "ÄįnÃŃ ho", + "Ġ ãģĮ", + "ab ı", + "v ánÃŃ", + "vá nÃŃ", + "æ´ Ĺ", + "Ġи ÑģÑĤоÑĢ", + "ĠиÑģ ÑĤоÑĢ", + "ĠиÑģÑĤ оÑĢ", + "ìĿ´ íĦ°", + "Ġе лек", + "а лаÑģÑı", + "ала ÑģÑı", + "Ġ znám", + "Ġz nám", + "Ġzn ám", + "ĠØ· رÙģ", + "Ġطر Ùģ", + "Ġs ektör", + "ê¹ Ģ", + "ÙĪ ÙĤع", + "ÙĪÙĤ ع", + "ĠÙħ Ùĥ", + "ÑĢе жд", + "ÑĢеж д", + "Ġk nih", + "Ġkn ih", + "Ġت عداد", + "Ġتع داد", + "Ġتعد اد", + "åį ł", + "ÑģÑĮ ке", + "ÑģÑĮк е", + "Ġ ç͵", + "京 éĥ½", + "Ġر اÛĮ", + "Ġرا ÛĮ", + "g ın", + "gı n", + "ĠÙĨ ظاÙħ", + "ĠÙĨظ اÙħ", + "ĠÎł ολ", + "ĠÎłÎ¿ λ", + "ä¸Ģ èά", + "Ġst ále", + "Ġstál e", + "ĠиÑģ Ñģлед", + "Ġz práv", + "Ġzp ráv", + "Ġ ÑĩиÑģÑĤ", + "ĠÑĩ иÑģÑĤ", + "ĠÑĩиÑģ ÑĤ", + "ĠÑĩи ÑģÑĤ", + "ãĥ¼ ãĥŀ", + "ãĥ¼ãĥ ŀ", + "Ðŀ Ñģ", + "ÑģÑĮ комÑĥ", + "ÑģÑĮк омÑĥ", + "ÑģÑĮко мÑĥ", + "ĠpÅĻi prav", + "ĠpÅĻip rav", + "ëĮĢ íĸī", + "Ġh alk", + "Ġha lk", + "Ġhal k", + "çĪ Ĩ", + "ãĢģ ãģĬ", + "ï¼Ł âĢĿĊĊ", + "ï¼ŁâĢĿ ĊĊ", + "éĢ ı", + "ç« ŀ", + "ни ÑĨÑĮ", + "ниÑĨ ÑĮ", + "çĽ ĺ", + "à¹Ģ à¸Ńà¸ĩ", + "à¹Ģà¸Ń à¸ĩ", + "ì Łģ", + "à¥ĩव ल", + "ä¹ĭ åIJİ", + "ãĥ« ãĥĪ", + "Ġ stru", + "Ġs tru", + "Ġst ru", + "Ġstr u", + "Ġ _", + "Ġï¼ ¿", + "Îķ ÎĽ", + "h le", + "hl e", + "ĠÙĨ ÙĪØ´", + "ĠÙĨÙĪ Ø´", + "ìĿ µ", + "ĠÙħ Ùģ", + "æĪĸ èĢħ", + "Ġö ld", + "Ġöl d", + "éĢ Ķ", + "ãĥ³ ãĥĹ", + "ãĥ³ãĥ Ĺ", + "íĺ ¼", + "Ġu ÄŁ", + "ĠÄij á", + "Ġvlast nÃŃ", + "ĠÙħج ÙĦس", + "åį Ķ", + "ÏĦ ικήÏĤ", + "ÏĦικ ήÏĤ", + "ÏĦική ÏĤ", + "Ġpo vin", + "Ġpov in", + "ů l", + "ĠاÙĦ ØŃÙĬ", + "ĠاÙĦØŃ ÙĬ", + "Ġsm lou", + "ãĥĥ ãĥģ", + "Ġ ÙĥÙĨ", + "ĠÙĥ ÙĨ", + "Ġch ấp", + "èIJ ¬", + "ج ب", + "? âĢľ", + "д ав", + "да в", + "ร วม", + "รว ม", + "Ùİ Ø¯", + "ĠاÙĦد ÙĪÙĦ", + "ĠëĦ¤ ìĿ´íĬ¸", + "Ġà¤Ĩ स", + "ظ ÙĬÙģ", + "ãĥ¼ ãĥ©", + "ãĥ¼ãĥ ©", + "ãģł ãĤįãģĨ", + "ĠÙĪØ§ØŃ د", + "ĠÙĪØ§ ØŃد", + "ر ÙĪØ³", + "رÙĪ Ø³", + "Ġzákon a", + "ĠпеÑĢ ÐµÐ±", + "ĠпеÑĢе б", + "à¥Ģ -", + "à¹Ī à¹Ħà¸Ķ", + "为 äºĨ", + "ÎĻ ÎĿ", + "ĠìĽĶ ìĦ¸", + "ส à¸Ńà¸ĩ", + "Ġ æīĭ", + "Ġæī ĭ", + "Ġ ÐĴÑģе", + "ĠÐĴ Ñģе", + "ĠÐĴÑģ е", + "à¹Ĥ ย", + "Ġkal dır", + "Ġkaldı r", + "ÏĦ ÎŃÏĤ", + "ÏĦÎŃ ÏĤ", + "Ġ ï¿£", + "Ġ íĸĪëĭ¤", + "Ġíĸ Īëĭ¤", + "ĠíĸĪ ëĭ¤", + "ãĤģ ãģŁ", + "Ġ Äįer", + "ĠÄį er", + "ĠÄįe r", + "c ela", + "ce la", + "cel a", + "üs ü", + "ê³ ³", + "ìĹIJ ëıĦ", + "ز Ø©", + "ãģª ãĤĭ", + "ÙĪ ÛĮÙĨ", + "ÙĪÛĮ ÙĨ", + "çī Ľ", + "Ġ voj", + "Ġv oj", + "Ġvo j", + "Ġ ëĬIJ", + "ĠëĬ IJ", + "Ġ ÙĥÙħ", + "ĠÙĥ Ùħ", + "æ³ ī", + "з Ñı", + "è£ Ŀ", + "ĠØ¢ ÙĦ", + "Ġ ανά", + "Ġα νά", + "Ġαν ά", + "Âł ÐĴ", + "Ġyap ıl", + "Ġyapı l", + "æı Ľ", + "ĠÑģ ÑĥÑīеÑģÑĤв", + "ĠÑģÑĥ ÑīеÑģÑĤв", + "ĠÑģÑĥÑīе ÑģÑĤв", + "Ġn á»iji", + "ÙĪ Ø¦", + "ĠëĦ¤ìĿ´íĬ¸ ìĺ¨", + "Ġpolit ik", + "Å¡ ka", + "Å¡k a", + "ebilir siniz", + "ld kf", + "Ñĥб лÑĸ", + "Ġe oq", + "Ġeo q", + "ĠÙħØŃ صÙĪÙĦ", + "krv ldkf", + "Ġeoq krvldkf", + "Ïĥε Ïīν", + "بÙĦ غ", + "Įĵ ê¸Ģ", + "ĠÑģ ÑĢок", + "ĠU y", + "ĠN ÄĽk", + "ĠNÄĽ k", + "Ġ див", + "Ġд ив", + "Ġди в", + "ãĤµ ãĤ¤", + "Ġ ìĤ¬ìĿ´", + "ĠìĤ¬ ìĿ´", + "Ġ éĹ", + "Ġé Ĺ", + "Ġб аÑĤÑĮ", + "Ġба ÑĤÑĮ", + "Ġп еÑĢÑĸ", + "ĠпеÑĢ Ñĸ", + " ĸ", + "交 éĢļ", + "ен з", + "ÙĪ Ø³Øª", + "ÙĪØ³ ت", + "ีย à¸ļ", + "Ġ à¸Īะ", + "Ġà¸Ī ะ", + "ë¡ Ģ", + "üf us", + "Ùij ÙIJ", + "ç¸ ½", + "ัà¸Ķ ส", + "ê² Ģ", + "ĠÑĤ иÑħ", + "ĠÑĤи Ñħ", + "ĠØ¢ زÙħ", + "Ġآز Ùħ", + "Ġ اض", + "Ġا ض", + "ĠØ§Ø ¶", + "ì ¡´", + "ì¡ ´", + "ÙĴ ت", + "æĪ ¸", + "ĠìŀĪ ìĿĦ", + "Ġ çĶ·", + "Ñī Ñĸ", + "о ма", + "ом а", + "ĠاÙ쨲 اÛĮØ´", + "Ġ Thông", + "ĠTh ông", + "ĠاجتÙħاع ÛĮ", + "е лÑİ", + "ел Ñİ", + "ĠÑħоÑĢоÑĪ Ð¾", + "à¸ł าษ", + "Ġ rám", + "Ġr ám", + "Ġrá m", + "å¾ ¡", + "ãĥ¼ ãĥĦ", + "ãĥ¼ãĥ Ħ", + "ĠL Ỽp", + "Ġ Ø´ÙĬ", + "ĠØ´ ÙĬ", + "Ġh iá»ĥm", + "Ġhi á»ĥm", + "θ ν", + "ο ÏħÏĥ", + "οÏħ Ïĥ", + "å¾ ©", + "Ġú zem", + "à¹ģ à¸ľ", + "å ·¨", + "å· ¨", + "à¸Ī à¸Ļ", + "Ú¯ راÙĨ", + "گر اÙĨ", + "Ġت ÛĮÙħ", + "ĠتÛĮ Ùħ", + "Ġ ilet", + "Ġi let", + "Ġil et", + "Ġile t", + "า à¸Ĥà¸Ńà¸ĩ", + "าà¸Ĥ à¸Ńà¸ĩ", + "Ġ تÙĪØ±", + "Ġت ÙĪØ±", + "ĠتÙĪ Ø±", + "Ġдо говоÑĢ", + "Ġдог овоÑĢ", + "Ġдогов оÑĢ", + "Ġt ento", + "Ġten to", + "Ġtent o", + "в Ñĥ", + "Ġз ада", + "Ġза да", + "Ġзад а", + "Ġstole tÃŃ", + "Ġstol etÃŃ", + "Âł Ġ", + "âĢĮ اÙĦ", + "Ë ĺ", + "ÅŁ iv", + "ÅŁi v", + "н ÑıÑĤи", + "нÑı ÑĤи", + "нÑıÑĤ и", + "ãĤī ãĤĮãģŁ", + "ãĤīãĤĮ ãģŁ", + "ĠS b", + "ĠاÙĦÙħ ص", + "ĠУкÑĢаÑĹ Ð½Ñĸ", + "ĠУкÑĢаÑĹн Ñĸ", + "ĠØ´ Ú©", + "iế ng", + "iến g", + "ÑĮ ÑĤе", + "è° ¢", + "ĠÙħ تÙĨ", + "ĠÙħت ÙĨ", + "Ġ ÑĢад", + "ĠÑĢ Ð°Ð´", + "ĠÑĢаР´", + "ĠÑĢа д", + "ĠÙħÙĪ Ø§Ø¯", + "ì± Ħ", + "é¡ ¶", + "Ġbo ÅŁ", + "ت ÙĪØ±", + "تÙĪ Ø±", + "ĠÄij áng", + "ĠÄijá ng", + "Ġkit ap", + "Ġki tap", + "Ġkita p", + "Ġho din", + "Ġhod in", + "Ġtarih i", + "ãĤĦ ãĤĭ", + "Ñģ ÑĤеÑĢ", + "ÑģÑĤ еÑĢ", + "ÑģÑĤе ÑĢ", + "Ġ Ñħод", + "ĠÑħ од", + "в ание", + "ва ние", + "ван ие", + "ĠоÑģ вÑĸ", + "ĠÑģиÑģÑĤем Ñĭ", + "़ न", + "Ïĩ ο", + "Ġ åı°", + "Ġåı °", + "o ÅĻ", + "ç»ı æµİ", + "Ġ ä½ľ", + "Ġthu áºŃn", + "Ľ Ī", + "Ġy alnız", + "a let", + "al et", + "ale t", + "ì¦Ŀ ê¸Ī", + "Ġза Ñī", + "Ġе кÑģп", + "Ġек Ñģп", + "âĦĸ âĦĸ", + "Ġ ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ĠãĢĢĠ ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠÚ¯ ÙĪØ´", + "ĠÚ¯ÙĪ Ø´", + "ãģ« åħ¥", + "Ġu dÄĽl", + "Ġud ÄĽl", + "Ġ áº", + "Ġá º", + "à¤Ĩ à¤Ī", + "âĢĮ دÙĩ", + "âĢĮد Ùĩ", + "æĤ ª", + "Ġtr ò", + "æļ Ĺ", + "λλ ην", + "λλη ν", + "ĠпÑĢи зна", + "ĠпÑĢиз на", + "Ġس ÛĮستÙħ", + "ĠسÛĮ ستÙħ", + "Ġà¤ħ त", + "è o", + "è¿ İ", + "Ġз Ñĥб", + "ĠзаÑģ об", + "Ġس Ùģ", + "ĠÙħاÙĨ ÙĨد", + "Ø® Ø´", + "v ajÃŃ", + "va jÃŃ", + "nit ÅĻ", + "æ¯ Ĵ", + "æ¤ į", + "Ġgir iÅŁ", + "ĠÄij áp", + "ĠÄijá p", + "@ n", + "ов аÑĢи", + "оваÑĢ Ð¸", + "ова ÑĢи", + "ĠØ® دا", + "Ġخد ا", + "Ġv ÄĽtÅ¡", + "ĠvÄĽt Å¡", + "ĠΣ Ïħ", + "Ùģ Ø©", + "аннÑı м", + "ĠÑĩ лен", + "æĶ¯ æĮģ", + "å¨ ľ", + "lar arası", + "lara rası", + "Ρ Îij", + "Ġz iy", + "Ġzi y", + "Ġ êµIJìľ¡", + "ĠêµIJ ìľ¡", + "Ġh á»ĵi", + "Ġhá»ĵ i", + "าà¸Ħ าร", + "าà¸Ħา ร", + "im leri", + "imler i", + "è³ ¼", + "ĠجÙĩ اÙĨ", + "ĠÑĢоз мÑĸ", + "Ñħ Ñĸв", + "γ ε", + "æ¨ ª", + "ÎĻ ÎijΣ", + "ÎĻÎij Σ", + "ç¶ Ń", + "Ġbi raz", + "Ġbir az", + "ĠÑĤак ого", + "ĠÑĤа кого", + "íĥ Ħ", + "ĠбÑĥд ÑĥÑĤ", + "ĠбÑĥ дÑĥÑĤ", + "ĠбÑĥдÑĥ ÑĤ", + "ĠÑĪ Ð²Ð¸Ð´", + "Ġ неÑģ", + "Ġн еÑģ", + "Ġне Ñģ", + "ĠÙħ عÙĦÙĪÙħات", + "ĠÙħعÙĦ ÙĪÙħات", + "à¥ĩ यर", + "à¥ĩय र", + "Ġдв ÑĥÑħ", + "å¿ħ è¦ģ", + "å§ Ĩ", + "Ġpo hled", + "Ġpoh led", + "ìĬ¤ íĦ°", + "Ġ åįģ", + "Ġåį ģ", + "ĠØ£ ب", + "веÑĢ Ð´Ð¶", + "веÑĢд ж", + "Ġà¤ľ म", + "ल त", + "åľ° åĮº", + "Ġ |[", + "Ġ| [", + "Ġв меÑģÑĤ", + "ĠÚ© اÙħ", + "Ġ ãĥIJ", + "Ġãĥ IJ", + "ãĥ¼ ãĥĸ", + "ãĥ¼ãĥ ĸ", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "Ġ ìĥģíĴĪ", + "Ġìĥģ íĴĪ", + "à¹Ģล ย", + "Äį né", + "ĠÑģÑĢед ÑģÑĤва", + "ĠÑģÑĢедÑģÑĤв а", + "Ġ ÑĤаб", + "ĠÑĤ аб", + "ĠÑĤа б", + "Ġ Ùħار", + "ĠÙħ ار", + "ĠÙħا ر", + "Ġ hled", + "Ġh led", + "Ġhl ed", + "д аÑĤ", + "да ÑĤ", + "ÙĪ ÛĮد", + "ÙĪÛĮ د", + "Ġ ãĥ©", + "Ġãĥ ©", + "ĠØ® د", + "è¤ ĩ", + "ç§ ĺ", + "Ġ برد", + "Ġب رد", + "Ġبر د", + "ĠÏĥ αÏĤ", + "Ïİ ÏĥειÏĤ", + "æĿ ¯", + "λ Ïį", + "å® ¿", + "Ġ ëĤľ", + "ĠëĤ ľ", + "ï» Ł", + "Ġözel likle", + "Ġözellik le", + "Ġкон Ñģ", + "ĠÙħ غ", + "ع ÙĬ", + "à¹Į à¸ģ", + "Ġ ÙĬت", + "ĠÙĬ ت", + "ĠÙħ شاÙĩ", + "ĠÙħØ´ اÙĩ", + "ĠTh anh", + "ĠThan h", + "ा à¤ľà¤¨", + "à¤¾à¤ľ न", + "¥ ¤", + "Ġv lá", + "Ġvl á", + "ĠÙģ Ø¶", + "Τ ÎĻÎļ", + "Ġна Ñĥков", + "ĠнаÑĥк ов", + "е лем", + "ел ем", + "еле м", + "Ġd Ãłng", + "ĠгоÑģп одаÑĢ", + "Âł S", + "и ÑĩеÑģкиÑħ", + "иÑĩеÑģ киÑħ", + "иÑĩеÑģки Ñħ", + "ĠتÙĨ Ùĩا", + "à¤ľ न", + "Ġп ан", + "Ġпа н", + "åĨ ł", + "Ġ ëĤĺëĬĶ", + "ĠëĤĺ ëĬĶ", + "t ÃŃ", + "ä¸Ģ èµ·", + "Ġlã nh", + "Âł v", + "ov ým", + "ový m", + "ز ب", + "ĠجÙħع ÛĮت", + "Ġ æµ·", + "Ġæµ ·", + "ĠоÑģ ÑĥÑīеÑģÑĤв", + "à £i", + "ã i", + "ائ ر", + "Ġ ë³ij", + "Ġë³ ij", + "á»ĭ nh", + "Ġs á»Ńa", + "Ġsá»Ń a", + "à¥ĩà¤Ĥ ।", + "ÄĽ jÅ¡ÃŃ", + "ÄĽj Å¡ÃŃ", + "Ġд ÑĸÑĤ", + "ĠдÑĸ ÑĤ", + "Ġ æĥ", + "Ġæ ĥ", + "mÄ±ÅŁ tı", + "ر ØŃ", + "Ġì§Ģ ê¸Ī", + "å¦ »", + "âĹ ĭ", + "Ġ ì§ĢìĹŃ", + "Ġì§Ģ ìĹŃ", + "ÙĴ ÙĨ", + "Ġur Äįit", + "ĠurÄį it", + "ÙĴ Ùħ", + "z ÃŃ", + "è ķ", + "Ġ Ø´ÙĪØ±", + "ĠØ´ ÙĪØ±", + "ĠØ´ÙĪ Ø±", + "Ġ Không", + "ĠKh ông", + "ÛĮ زÛĮ", + "ÛĮز ÛĮ", + "Ġз г", + "Ġв не", + "Ġpr ávÄĽ", + "Ġprá vÄĽ", + "Ġpráv ÄĽ", + "è« ĭ", + "ا ÙĬت", + "اÙĬ ت", + "ั à¸ģร", + "ัà¸ģ ร", + "Ġolduk ça", + "ãĤģ ãĤĭ", + "ĠT ây", + "ëĿ¼ ìĿ¸", + "èĻ ķ", + "Ġs ư", + "Ġ ник", + "Ġн ик", + "Ġни к", + "Ù ł", + "اش ÛĮÙĨ", + "اشÛĮ ÙĨ", + "e lerde", + "el erde", + "eler de", + "ìĭľ ìķĦ", + "Ġ Ñĥмов", + "ĠÑĥ мов", + "ĠÑĥм ов", + "ĠçalÄ±ÅŁ an", + "Ġ ë¸Ķ", + "Ġë¸ Ķ", + "ĠÑĤак им", + "ĠÑĤа ким", + "ÑĢ Ð¸Ð½", + "ÑĢи н", + "Ġ Ø®ÙĦ", + "ĠØ® ÙĦ", + "a yd", + "ay d", + "Ġ ãĥ¡", + "Ġãĥ ¡", + "ей ÑĩаÑģ", + "Ġdo prav", + "Ġdop rav", + "ãģĵ ãģ¨ãģ¯", + "ãģĵãģ¨ ãģ¯", + "Ġ ì¶Ķì²ľ", + "Ġì¶Ķ ì²ľ", + "å» ¶", + "Ġ kı", + "Ġk ı", + "åı ¶", + "ÑĢ Ð¸Ð³", + "ÑĢи г", + "íħ ľ", + "çͳ åįļ", + "Ġ веÑĤ", + "Ġв еÑĤ", + "Ġве ÑĤ", + "ĠпомоÑī ÑĮÑİ", + "ĠاÙģ Ø±Ø§Ø¯", + "ĠاÙ쨱 اد", + "ÏĢ ÎµÎ¹", + "ÏĢε ι", + "à¹Ģ สร", + "à¹Ģส ร", + "Ġgi ám", + "Ġgiá m", + "é İ", + "h las", + "hl as", + "man ız", + "manı z", + "ан гл", + "анг л", + "Ġmu ž", + "Âł K", + "ÑĢед иÑĤ", + "ÑĢеди ÑĤ", + "设 å¤ĩ", + "ι Ïĥμ", + "ιÏĥ μ", + "Ġc ải", + "Ġcả i", + "Ġ éĢļ", + "ĠéĢ ļ", + "Ġ Ùĥار", + "ĠÙĥ ار", + "Ġпод об", + "ĠмеÑĤ ал", + "ĠÑģам е", + "л ÑĥÑĩ", + "лÑĥ Ñĩ", + "åĤ ³", + "ĠÙĪÙĩ ÙĪ", + "Ġ éĩį", + "Ġéĩ į", + "в ий", + "ви й", + "æ³ ģ", + "Ġ æĿİ", + "ĠæĿ İ", + "ĠiliÅŁ kin", + "ĠiliÅŁk in", + "Ġεί Ïĩε", + "çĬ ¯", + "ÅĻej mÄĽ", + "èŃ ĺ", + "ç¨ ±", + "μ μα", + "μμ α", + "Ġ ÙĦÛĮ", + "ĠÙĦ ÛĮ", + "Ùĩ اÙĬ", + "Ùĩا ÙĬ", + "Ġ опиÑģ", + "Ġо пиÑģ", + "Ġоп иÑģ", + "Ú¯ رد", + "گر د", + "Ġг ÑĢ", + "ĠAnimal ia", + "ĠAnim alia", + "ÐŁ о", + "Ġb óng", + "ĠдеÑĤ ей", + "Ġl âu", + "Ġ æķĻ", + "Ġæķ Ļ", + "Ġпо ÑıÑģ", + "ĠاÙĦ Ø¢", + "ั à¸Ļà¸ķ", + "ัà¸Ļ à¸ķ", + "Ġд ев", + "Ġде в", + "Ġ ÑĨей", + "ĠÑĨ ей", + "ĠÑĨе й", + "ÑĮ в", + "æĥ ł", + "m aları", + "ma ları", + "mal arı", + "malar ı", + "im ler", + "à¥Ī ।ĊĊ", + "à¥Ī। ĊĊ", + "à¥Ī।Ċ Ċ", + "Ġ ном", + "Ġн ом", + "Ġно м", + "z v", + "Ġ à¸ģร", + "Ġà¸ģ ร", + "Ġpay laÅŁ", + "Âł s", + "ि सम", + "िस म", + "ÑģÑĤв еннÑĭÑħ", + "ÑģÑĤвен нÑĭÑħ", + "st oup", + "sto up", + "о нÑĸ", + "он Ñĸ", + "s tÃŃ", + "st ÃŃ", + "ĠØŃ Ú©", + "ĠÚ¯ رÙģØª", + "ĠگرÙģ Øª", + "Ġگر ÙģØª", + "าà¸Ħ า", + "д Ñı", + "ÙĦ اث", + "ÙĦا Ø«", + "Ġzdrav ot", + "ä¸Ĭ ãģĴ", + "ãģ ¼", + "e lere", + "el ere", + "eler e", + "ele re", + "ظ Ùħ", + "ĠÑģ веÑĤ", + "ĠÑģв еÑĤ", + "о ÑĢг", + "оÑĢ Ð³", + "ç« ¥", + "ĠпеÑĢ ÐµÐ¿", + "ĠпеÑĢе п", + "Ġम द", + "а за", + "аз а", + "å¦Ĥ ä½ķ", + "ÑģÑĮ кÑĸй", + "ÑģÑĮк Ñĸй", + "ÑģÑĮкÑĸ й", + "Ġb Æ°á»Ľc", + "Ġger ekli", + "Ġgerek li", + "大 å®¶", + "Ġtr ái", + "éģ ©", + "ä¸Ń 央", + "Ġph ản", + "Ġع رض", + "ĠÙĥ تاب", + "æĭ ©", + "ÑĪ ÐµÐ³Ð¾", + "ÑĪе го", + "å¸ ®", + "ĠÙĨÛĮ از", + "è¿ ·", + "ุ à¸Ľ", + "ิ à¸Ľ", + "Ġد Ø®", + "ÏĦ ικÎŃÏĤ", + "ÏĦικ ÎŃÏĤ", + "ĠU z", + "Ġت ÙĪÙħاÙĨ", + "ĠتÙĪ ÙħاÙĨ", + "ĠتÙĪÙħ اÙĨ", + "ĠÙĪ Ø§ÙĦØ£", + "ĠÙĪØ§ÙĦ Ø£", + "ÅĻ es", + "ÅĻe s", + "Ñij м", + "Ġ å¸Ĥ", + "Ġå¸ Ĥ", + "ĠÑĤ оже", + "ĠÑĤо же", + "Ġy apan", + "Ġya pan", + "Ġyap an", + "å½¼ 女", + "ĠÙħ در", + "ĠÙħد ر", + "¶ ģ", + "Ġ æĹ¶", + "ĠæĹ ¶", + "à¹Ģ à¸ĺ", + "à¹Ģภĺ", + "Ġ ÙħاÙĦ", + "ĠÙħ اÙĦ", + "ĠÙħا ÙĦ", + "ĠB üyük", + "ĠBü yük", + "Ġ ÙĦت", + "ĠÙĦ ت", + "å° ļ", + "d eme", + "de me", + "dem e", + "ü b", + "ĠÑħ Ñĥд", + "Ġlé ka", + "çĽ Ľ", + "缴 æİ¥", + "ниÑĨÑĤ ва", + "ĠпÑĢи Ñĩин", + "ĠпÑĢиÑĩ ин", + "е ÑĢап", + "еÑĢ Ð°Ð¿", + "еÑĢа п", + "ĠÑģозд а", + "ĠÑģоз да", + "æ ¢°", + "æ¢ °", + "Ġm üz", + "Ġmü z", + "ç³» åĪĹ", + "o uz", + "ou z", + "Ġà¤ĵ र", + "ÑĢ ÑĥÑĩ", + "ÑĢÑĥ Ñĩ", + "Ġ á½", + "Ġá ½", + "μÎŃ Î½Î±", + "μÎŃν α", + "ĠпÑĢед меÑĤ", + "Ġ å²", + "Ġå ²", + "ãĥ³ ãĥģ", + "ãĥ³ãĥ ģ", + "μÎŃ Î½Î·", + "μÎŃν η", + "л Ñĥг", + "лÑĥ г", + "Âł n", + "ĠT arih", + "ĠTar ih", + "Ġ ãĢĪ", + "ĠãĢ Ī", + "Ġb ana", + "Ġban a", + "Ġba na", + "Ġ cÃŃ", + "Ġc ÃŃ", + "Ġvý kon", + "åĽł æŃ¤", + "Ġt ÅĻi", + "ĠtÅĻ i", + "า à¸ĭ", + "าภĭ", + "v ailable", + "vail able", + "Ġ istem", + "Ġis tem", + "Ġi stem", + "Ġist em", + "ãĥ¥ ãĥ¼", + "Ðķ ÐĿ", + "Ġ гаÑĢ", + "Ġг аÑĢ", + "οÏħ λ", + "ॠĽ", + "ĠÙĪ Ø¶Ø¹", + "ส ะ", + "è· Ŀ", + "ĠØŃ Ùģ", + "ิà¸Ĺย าล", + "ิà¸Ĺยา ล", + "她 çļĦ", + "н ÑĸÑĪ", + "нÑĸ ÑĪ", + "ж ение", + "же ние", + "жен ие", + "기 ìĹIJ", + "Ġ éĺ¿", + "Ġéĺ ¿", + "ĠÙħ ارس", + "ĠÙħا رس", + "ĠÙħار س", + "ĠçeÅŁit li", + "Ġ ÅŁehir", + "ĠÅŁ ehir", + "ĠÅŁeh ir", + "á tor", + "át or", + "à¹ī à¸Ĺ", + "ìĿ´ ëĬĶ", + "Ġ è²", + "Ġè ²", + "é¡ į", + "ç ĻĤ", + "çĻ Ĥ", + "Ġ ниÑĩ", + "Ġн иÑĩ", + "Ġни Ñĩ", + "Ġ ê°Ģì§Ģ", + "Ġê°Ģ ì§Ģ", + "ä¼ ¦", + "r án", + "rá n", + "o stat", + "os tat", + "ost at", + "osta t", + "Ġ ÙĦÙĥ", + "ĠÙĦ Ùĥ", + "è º", + "ĠNg Ãłnh", + "Ġस द", + "æľ Ĺ", + "çĦ¶ åIJİ", + "ãĤ¸ ãĤ§", + "л еÑĢ", + "ле ÑĢ", + "ĠÐŀ на", + "ĠÐŀн а", + "س ÙĪÙĨ", + "سÙĪ ÙĨ", + "Ïģ ον", + "Ïģο ν", + "ĠدرÛĮ اÙģØª", + "ĠدرÛĮا ÙģØª", + "à¸Ń à¸Ńà¸Ļà¹Ħลà¸Ļ", + "Ġ dál", + "Ġd ál", + "Ġdá l", + "ĠмÑĸÑģ ÑĨе", + "Ġд ней", + "Ġ اÙĦات", + "Ġا ÙĦات", + "ĠاÙĦ ات", + "Ġरह त", + "ï¼Į 对", + "è³ĩ æĸĻ", + "ä»» ä½ķ", + "é Ħ", + "t aj", + "ta j", + "β ά", + "Ġна до", + "Ġнад о", + "ĠÑģÑĤ Ñĥд", + "ĠÅŁ eh", + "ัà¸į à¸į", + "à¥ĭ ब", + "ãĥ© ãĥ¼", + "Û± Ûµ", + "Û±Û µ", + "e pt", + "ep t", + "Ġbil dir", + "Ġbild ir", + "ส à¸ĸาà¸Ļ", + "สà¸ĸ าà¸Ļ", + "е ÑĤÑĮÑģÑı", + "еÑĤÑĮ ÑģÑı", + "sk ým", + "ský m", + "Ġобла ÑģÑĤÑĮ", + "ĠоблаÑģ ÑĤÑĮ", + "ĠоблаÑģÑĤ ÑĮ", + "Ġìŀ ł", + "ĠG ör", + "ĠGö r", + "Ġd ayan", + "Ġday an", + "Ġda yan", + "ĠÛĮ اد", + "ĠÛĮا د", + "çĶŁ 产", + "íĺ ij", + "å¾ ģ", + "Ġ اجر", + "Ġا جر", + "Ġاج ر", + "Ġп ÑĢе", + "ĠпÑĢ Ðµ", + "ä¸īä¸ī ä¸īä¸ī", + "åŁİ å¸Ĥ", + "Ġ пÑĢимеÑĢ", + "ĠпÑĢ Ð¸Ð¼ÐµÑĢ", + "ĠпÑĢи меÑĢ", + "ĠпÑĢим еÑĢ", + "Äį ást", + "èģ ĺ", + "ĠÙħرب ÙĪØ·", + "æŀ ļ", + "åĪ Ģ", + "æŁ¥ çľĭ", + "Ġ모 ëijIJ", + "ìŀIJ ë£Į", + "- 、", + "Ġê°Ļ ìĿ´", + "Ġ ì¡´", + "Ġì ¡´", + "Ġì¡ ´", + "е гоÑĢ", + "ег оÑĢ", + "его ÑĢ", + "e dik", + "ed ik", + "edi k", + "и мÑĥ", + "им Ñĥ", + "ĠAr th", + "ĠArt h", + "åºĶ ç͍", + "m iÅŁti", + "miÅŁ ti", + "Ġkhá»ı e", + "Ġ Ñĸд", + "ĠÑĸ д", + "λ λη", + "λλ η", + "â h", + "м аг", + "ма г", + "éļ Ĩ", + "ĠвнÑĥ ÑĤÑĢ", + "ĠвнÑĥÑĤ ÑĢ", + "Ġ بط", + "Ġب Ø·", + "( æĹ¥", + "İ Y", + "л ик", + "ли к", + "ĠB ản", + "Ġت ÙĪØ³", + "ĠتÙĪ Ø³", + "़ त", + "a mak", + "am ak", + "ama k", + "åķı é¡Į", + "ĠÑģам оÑģÑĤ", + "ĠÑģамо ÑģÑĤ", + "ï¼¼ Ċ", + "Ġ ç¦ı", + "Ġç¦ ı", + "Ù ¡", + "Ġ ÑĦоÑĢми", + "ĠÑĦоÑĢм и", + "ĠÑĦоÑĢ Ð¼Ð¸", + "Ġ ÑĢозÑĥм", + "ĠÑĢоз Ñĥм", + "ĠÙħ طاÙĦ", + "ĠÙħØ· اÙĦ", + "ä¹Ł æĺ¯", + "ç¾İ åĽ½", + "ëĵľ 립ëĭĪëĭ¤", + "Ġl Ä©nh", + "ĠпоÑĤ омÑĥ", + "ĠпоÑĤом Ñĥ", + "Ñı бÑĢÑı", + "Ñıб ÑĢÑı", + "æ¼ «", + "Ġng oại", + "à¸Ń ำ", + "ÙĬ ÙĨا", + "ÙĬÙĨ ا", + "Ġm lad", + "Ġml ad", + "Ïĥ ÏĦά", + "ÏĥÏĦ ά", + "ا تر", + "ات ر", + "주 ìĿĺ", + "ен нÑĸ", + "о за", + "оз а", + "ÙĤ ات", + "ĠÐĴ аÑģ", + "è® Ń", + "é IJ", + "Ñĥ ÑİÑĩи", + "ÑĥÑİ Ñĩи", + "Ġ کر", + "ĠÚ© ر", + "Ġ .|", + "Ġ. |", + "Ġgen ç", + "è© ²", + "ä» ģ", + "о дÑĭ", + "од Ñĭ", + "ĠØ£ ÙĪÙĦ", + "ĠØ£ÙĪ ÙĦ", + "Ġ ìĤ¬íļĮ", + "ĠìĤ¬ íļĮ", + "Ġ à¹Ģส", + "Ġà¹Ģ ส", + "Ġà¹Ģภª", + "ĠëķĮ문 ìĹIJ", + "âĢĮ ب", + "Ġли ÑĪÑĮ", + "ĠлиÑĪ ÑĮ", + "Ġи менно", + "Ġим енно", + "m adı", + "ma dı", + "mad ı", + "Ġ éĤ", + "Ġé Ĥ", + "ĠÙĪ Ø§Ø±Ø¯", + "ĠÙĪØ§ رد", + "Ġtak ım", + "Ġ à¹Ģห", + "Ġà¹Ģ ห", + "Ġà¹Ģภ«", + "Ġ à¸Ńย", + "Ġà¸Ń ย", + "Ġkon usu", + "Ġkonu su", + "Ġkonus u", + "Ø® ÙĪ", + "ĠÑģ ид", + "ĠÑģи д", + "èµ ¤", + "о ÑıÑĤелÑĮ", + "оÑıÑĤ елÑĮ", + "ëĭ µ", + "ε Ïī", + "Ñĸ Ñħ", + "Ġय द", + "ĠÚ© ÛĮÙģ", + "ĠÚ©ÛĮ Ùģ", + "μ οÏĤ", + "μο ÏĤ", + "Ġal dı", + "Ġald ı", + "Ġ íĻį", + "ĠíĻ į", + "к Ñĥп", + "кÑĥ п", + "ĠÙĨÙħ اÛĮØ´", + "ĠÙĨÙħاÛĮ Ø´", + "ãģ ¥", + "Ġ íķ©ëĭĪëĭ¤", + "Ġíķ ©ëĭĪëĭ¤", + "Ġíķ© ëĭĪëĭ¤", + "Ġë Įĵê¸Ģ", + "б оÑĢа", + "бо ÑĢа", + "боÑĢ Ð°", + "éī Ħ", + "Ġ à¹Ģà¸Ī", + "Ġà¹Ģ à¸Ī", + "Ġà¹ĢภĪ", + "à¹ī à¸ģ", + "§ Ø·", + "ر بÙĩ", + "رب Ùĩ", + "Ġ Ñĥз", + "ĠÑĥ з", + "Ġм аÑİÑĤÑĮ", + "Ġма ÑİÑĤÑĮ", + "Ġby li", + "Ġbyl i", + "ี à¸ķ", + "Ġ ì§ĢìĽIJ", + "Ġì§Ģ ìĽIJ", + "èĩª çĦ¶", + "ù y", + "Ġç aÄŁ", + "Ġça ÄŁ", + "е дин", + "ед ин", + "еди н", + "ë ī´", + "åį ±", + "Ġпоз волÑı", + "Ġпозвол Ñı", + "ØŃ اد", + "ĠÑĩ его", + "ีย ร", + "Ġyön tem", + "Ġ ders", + "Ġd ers", + "Ġde rs", + "Ġder s", + "Ġ ÑģÑĤоÑı", + "ĠÑģÑĤ оÑı", + "ĠÑģÑĤо Ñı", + "Ġк ÑĢÑĥп", + "Ġ ð", + "Ġдом аÑĪ", + "Ġдома ÑĪ", + "е нд", + "ен д", + "ç» §", + "ĠÄij ô", + "Ġch tÄĽ", + "计 åĪĴ", + "ÎŃ Î±", + "Ġdob ÅĻe", + "ส à¸Ńà¸ļ", + "е ление", + "ел ение", + "еле ние", + "елен ие", + "ĠÄij ông", + "ĠÄijô ng", + "ãģ¾ ãĤĬ", + "Ġboy unca", + "à¥ģ à¤Ĺ", + "à¥ģठĹ", + "ĠÑĦ из", + "ãĤ³ ãĥ³", + "Ġde ney", + "Ġden ey", + "ÑĩеÑģ киÑħ", + "Ñĩе ÑģкиÑħ", + "ÑĩеÑģки Ñħ", + "λ ον", + "λο ν", + "以 åıĬ", + "ا ÙĪØª", + "اÙĪ Øª", + "Âł ³³³³", + "³³ ³³³", + "³³³³ Âł", + "³³³ ³³", + "Ġ ì¤Ħ", + "Ġì¤ Ħ", + "ि फ", + "िठ«", + "ĠÑĤ ол", + "ĠÑĤо л", + "ĠëĤ´ ê°Ģ", + "âĸ ı", + "Ġp há", + "Ġph á", + "ĠÑģп Ñĸв", + "Ġ جÙħÙĬع", + "ĠجÙħ ÙĬع", + "Ġb ezpeÄį", + "Ġbez peÄį", + "Ġ æĹł", + "ĠæĹ ł", + "Ġv Å¡e", + "ĠvÅ¡ e", + "ÑģÑĤ вÑĥ", + "ÑģÑĤв Ñĥ", + "d ust", + "du st", + "o Å¡", + "Ġت ارÙĬØ®", + "ا ØŃØ©", + "اØŃ Ø©", + "ĠÙħشار ÙĥØ©", + "Ġ ακ", + "Ġα κ", + "ั à¸Ļà¸Ļ", + "ัà¸Ļ à¸Ļ", + "éģ Ĭ", + "Ġ ÑģоÑĤ", + "ĠÑģ оÑĤ", + "ĠÑģо ÑĤ", + "Ġ каз", + "Ġк аз", + "Ġка з", + "ĠÑĤ еÑĩение", + "ĠÑĤеÑĩ ение", + "ê¸ ´", + "acak tır", + "ê±° ëĤĺ", + "ี ยม", + "ีย ม", + "ĠÑģ ÑĥÑħ", + "ĠÑģÑĥ Ñħ", + "ĠëĦĪ ë¬´", + "ãģı ãĤĭ", + "ĠкоÑĤоÑĢ Ð¾Ð¹", + "ا ÙĤØ©", + "اÙĤ Ø©", + "y ıl", + "yı l", + "ãĤ» ãĥĥãĥĪ", + "ĠÑį лем", + "æģ IJ", + "ÙĨ اء", + "ÙĨا Ø¡", + "åħ ©", + "Ġte Äı", + "ä¸ ¥", + "Ġì§Ī 문", + "Ġ 为", + "Ġä¸ º", + "ìĭľ íĹĺ", + "Ġп ÑĢок", + "ĠпÑĢ Ð¾Ðº", + "ĠпÑĢо к", + "u jeme", + "uj eme", + "uje me", + "ü cü", + "üc ü", + "ĠاÙĦÙħ غ", + "ĠØŃ ساب", + "ĠØŃس اب", + "ãģĹ ãģ¦ãģĦ", + "ãģĹãģ¦ ãģĦ", + "к ова", + "ко ва", + "ков а", + "ĠÄij Ãło", + "Ġп ÑĢиз", + "ĠпÑĢ Ð¸Ð·", + "ĠпÑĢи з", + "ĠÙĪ ÙħÙĨ", + "ĠÙĪÙħ ÙĨ", + "Ġ оÑĢ", + "Ġо ÑĢ", + "à¸ģ à¸ķ", + "а ÑĦ", + "Ġ à¸ŀร", + "Ġà¸ŀ ร", + "ÑĨи ей", + "æ ª", + "Ġ působ", + "Ġp ůsob", + "Ġpů sob", + "åŃ© åŃIJ", + "Ġb ánh", + "Ġbán h", + "ĠÑĦоÑĢм Ñĥ", + "ĠÑĦоÑĢ Ð¼Ñĥ", + "Ġ á»ķ", + "Ġá» ķ", + "Ġмен ее", + "Ġмене е", + "à¹ī าห", + "à¹īา ห", + "ни ÑĨа", + "ниÑĨ а", + "ี Ċ", + "Ġв олоÑģ", + "Ġвол оÑģ", + "Ġار ائÙĩ", + "第 ä¸ī", + "ëIJĺ ìĹĪ", + "Ġkıs m", + "Ġkı sm", + "ãĥ¼ ãĥĬ", + "ãĥ¼ãĥ Ĭ", + "ler imiz", + "ÙĨ ÙĬÙĨ", + "ÙĨÙĬ ÙĨ", + "Ġ Ngưá»Ŀi", + "ĠNg ưá»Ŀi", + "ĠоÑĤ дел", + "ĠоÑĤд ел", + "çļĦ æĹ¶åĢĻ", + "о нов", + "он ов", + "Äį an", + "i zm", + "iz m", + "ĠÑģоб ой", + "à¹ĩ à¸ķ", + "Ġ ÑģлÑĸд", + "ĠÑģ лÑĸд", + "ĠÑģл Ñĸд", + "Ġ à¤ľà¤¹", + "Ġà¤ľ ह", + "ï¼Į æĪij们", + "ï¼ĮæĪij 们", + "ãĢĤ ãģĿãģ®", + "ÏĢ ÏīÏĤ", + "çĨ Ł", + "ภ¯", + "ëĦ IJ", + "æľ ĭ", + "Ġë¹Ħ ë°Ģ", + "ëį ķ", + "Ġm Ãłn", + "ĠmÃł n", + "ìĿ´ ê³ł", + "ëŀľ ëĵľ", + "éĤ Ħ", + "Ä±ÅŁ ık", + "Ä±ÅŁÄ± k", + "Ġ 个", + "Ġä¸ ª", + "Ġn ád", + "Ġná d", + "б ÑĢа", + "æĮĩ å®ļ", + "lar ıyla", + "ları yla", + "ĠÐŀ ни", + "ĠÐŀн и", + "Ġ hra", + "Ġh ra", + "Ġhr a", + "ĠÑĢе ÑĨеп", + "ĠÐłÐ¾Ñģ Ñģий", + "å½± åĵį", + "Ġ Když", + "ĠK dyž", + "ĠÃ¶ÄŁ renc", + "ĠÃ¶ÄŁren c", + "åī µ", + "Ġ jist", + "Ġj ist", + "Ġji st", + "èĪ Ī", + "è§ ¦", + "åıij çݰ", + "ม าย", + "มา ย", + "er ken", + "erk en", + "Ġзд еÑģÑĮ", + "ĠÙħس ئ", + "@n ate", + "ĠëĤ´ ìļ©", + "Ġnab ÃŃd", + "ĠnabÃŃ d", + "Û Ģ", + "Ġмо менÑĤ", + "Ġмом енÑĤ", + "ãģł ãģĮ", + "ί δα", + "ίδ α", + "T ak", + "Ta k", + "Ġ ë³´ê³ł", + "Ġë³´ ê³ł", + ": ::::::::", + ":: :::::::", + ":::: :::::", + ":::::: :::", + ":::::::: :", + "::: ::::::", + "::::: ::::", + "::::::: ::", + "ÄŁ men", + "Ġпо меÑī", + "Ġпом еÑī", + "ãģ«ãģ¤ ãģĦãģ¦", + "ĠÙģ ÙĪÙĤ", + "ĠÙģÙĪ ÙĤ", + "Ġع ضÙĪ", + "ĠÙħ ÛĮاÙĨ", + "ĠÙħÛĮ اÙĨ", + "Ġm üc", + "Ġmü c", + "ĠпÑĢо Ñıв", + "ÑĩеÑģ ки", + "Ñĩе Ñģки", + "ãģł ãģĭãĤī", + "éĤ ¦", + "Ġ ë¶ĦìĦĿ", + "Ġë¶Ħ ìĦĿ", + "éŁ ©", + "į ¨", + "ĠD aha", + "ĠDa ha", + "ĠDah a", + "Ġ κÏĮ", + "Ġκ ÏĮ", + "Ġна Ñĩина", + "ĠнаÑĩ ина", + "ĠÐŁ оÑĤ", + "ĠÐŁÐ¾ ÑĤ", + "Ïĥκε Ïħ", + "Ïĥκ εÏħ", + "Ġ ÑĢан", + "ĠÑĢ Ð°Ð½", + "ĠÑĢаР½", + "ĠÑĢа н", + "ÙĪ ÙĬس", + "ÙĪÙĬ س", + ": :::::::::", + ":: ::::::::", + ":::: ::::::", + ":::::: ::::", + ":::::::: ::", + "::: :::::::", + "::::: :::::", + "::::::: :::", + "::::::::: :", + "Û±Û¹ Û¹", + "Ġard ından", + "à¹Ĥ à¸Ķ", + "ا راÙĨ", + "ار اÙĨ", + "ارا ÙĨ", + "د اد", + "دا د", + "Ġqu ý", + "ĠØ£Ùĥ ثر", + "âĹ Ĩ", + "ĠØ£ خرÙī", + "Ġأخ رÙī", + "Ġë§Ī ìĿĮ", + "ë¦ ´", + "Ġ عÙĦÙĪÙħ", + "ĠعÙĦ ÙĪÙħ", + "Ġe ÄŁ", + "воÑĢ Ñİ", + "во ÑĢÑİ", + "Ġ ãĥĹ", + "Ġãĥ Ĺ", + "Ñĥ ÑĩаÑģ", + "ÑĥÑĩ аÑģ", + "ÑĥÑĩа Ñģ", + "Ġب Ø£", + "ÏĨ ο", + "ни ками", + "ник ами", + "ника ми", + "никам и", + "à¹ĥ à¸ķ", + "Äįet nÄĽ", + "à¸ļ าà¸ĩ", + "çī Ļ", + "ãĥª ãĤ«", + "í Ĵ", + "åĩº çīĪ", + "γ ι", + "ãĢĤ ãģĿãĤĮ", + "Ġy ani", + "Ġya ni", + "Ġyan i", + "l ech", + "le ch", + "lec h", + "ĠLu áºŃt", + "çļĦ ãģª", + "Ġneden iyle", + "Ġnedeni yle", + "d ej", + "de j", + "ĠÑģов еÑĢÑĪ", + "Ġph á»ķ", + "ıs ından", + "ısında n", + "Ġch ắc", + "d eÅŁ", + "de ÅŁ", + "Ġком ан", + "Ġко ман", + "æĽ ¿", + "Ġp lán", + "Ġpl án", + "Ġplá n", + "Ġd ữ", + "ĠêµŃ ê°Ģ", + "Ġta kip", + "Ġtak ip", + "Ġth á»§y", + "Ġthá»§ y", + "Ñģ лÑĸд", + "Ñģл Ñĸд", + "âī §", + "ĠI IC", + "ĠII C", + "θ Ïħ", + "á vat", + "áv at", + "Ġ Ñģок", + "ĠÑģ ок", + "ĠÑģо к", + "Ġб агаÑĤо", + "Ġбаг аÑĤо", + "ĠбагаÑĤ о", + ";:;: ;:;:", + "Ïģ ιοÏĤ", + "Ïģι οÏĤ", + "Ïģιο ÏĤ", + "il miÅŁtir", + "ilm iÅŁtir", + "ilmiÅŁ tir", + "Ġ znam", + "Ġz nam", + "Ġzn am", + "Ġ Τα", + "ĠΤ α", + "a maz", + "am az", + "ama z", + "à¹ģ à¸ŀ", + "ãĥģ ãĥ£", + "Ġkullan ı", + "æĶ¾ éĢģ", + "д н", + "ĠÙĪ Ø§Ø¨", + "ĠÙĪØ§ ب", + "Ġtr ắng", + "Ñģ Ñıг", + "ÑģÑı г", + "Ġار تباط", + "Ġв Ñħод", + "å·ŀ å¸Ĥ", + "Ġ सत", + "Ġस त", + "Ñĩ аеÑĤÑģÑı", + "Ñĩа еÑĤÑģÑı", + "ÑĩаеÑĤ ÑģÑı", + "íĮĮ íĬ¸", + "Ġ Những", + "ĠNh ững", + "ä¸į åı¯", + "å± Ĭ", + "Ġ ãĤŃ", + "ĠãĤ Ń", + "ار ÙĩاÛĮ", + "ارÙĩ اÛĮ", + "Ġar ÅŁiv", + "Ġ اÙĦÙī", + "Ġا ÙĦÙī", + "ĠاÙĦ Ùī", + "ाय à¤ķ", + "ãģĹ ãĤĩãģĨ", + "ãģĹãĤĩ ãģĨ", + "Ġ ulus", + "Ġu lus", + "Ġul us", + "al axy", + "ala xy", + "기 ê°Ģ", + "ãİ¡ (", + "μά ÏĦÏīν", + "è n", + "ù i", + "Ġна ÑģÑĤоÑı", + "ĠнаÑģÑĤ оÑı", + "ĠС в", + "ĠоÑģ оби", + "ĠоÑģоб и", + "к ово", + "ко во", + "ков о", + "ĠÑĢеб енка", + "ĠÑĢебен ка", + "ĠÑĤ Ñıж", + "ĠÑĤÑı ж", + "Ġxu á»ijng", + "Ġ ê¶Į", + "Ġê ¶Į", + "о год", + "ог од", + "ого д", + "Ġ ấy", + "è² ł", + "ว à¸Ļ", + "Ġ stanov", + "Ġsta nov", + "Ġstan ov", + "Ġk rál", + "Ġkr ál", + "Ġà¤ĩ सल", + "Ġà¤ĩस ल", + "e be", + "eb e", + "å® ¾", + "ĠдоÑģÑĤаÑĤ оÑĩно", + "II IK", + "III K", + "ÏĢ Î¬", + "Ġbir kaç", + "ĠاÙĦ ÙħÙĤ", + "ĠاÙĦÙħ ÙĤ", + "ãĥ ¶", + "ĠBaÅŁ kanı", + "ĠBaÅŁkan ı", + "Ġ첨ë¶Ģ íĮĮìĿ¼", + "Ġya rar", + "Ġyar ar", + "äº ¡", + "Ġ ÏĢÏĮ", + "ĠÏĢ ÏĮ", + "Âł Ñģ", + "δ ή", + "e lerini", + "eler ini", + "eleri ni", + "elerin i", + "Ġs uç", + "Ġsu ç", + "Ġд ома", + "Ġдо ма", + "Ġдом а", + "Ġна ÑĢÑĥÑĪ", + "ĠнаÑĢ ÑĥÑĪ", + "Ġ ί", + "ĠÎ ¯", + "Ġê·¸ ìĿĺ", + "ç͵ å½±", + "ا بÙĩ", + "اب Ùĩ", + "к омÑĥ", + "ко мÑĥ", + "ком Ñĥ", + "Ġत ब", + "à¥Ī à¤ł", + "Ġ모 ì§ij", + "Ġ æ±Ł", + "Ġæ± Ł", + "Ġê²ĥ ìĿĢ", + "ον ÏĦαι", + "ĠاÙĦ رÙĬاض", + "è¨ ±", + "Ġhal inde", + "Ġاش ارÙĩ", + "Ġ кÑĢÑĭ", + "Ġк ÑĢÑĭ", + "л ений", + "лен ий", + "ле ний", + "lu ÄŁ", + "Ġdo bu", + "Ġdob u", + "s ik", + "si k", + "à¥ģ à¤Ł", + "à¥ģठŁ", + "Ġ кÑĸн", + "Ġк Ñĸн", + "ãģ¨ ãģį", + "à¥Ĥ स", + "æħ ¢", + "ĠdÄ±ÅŁ ında", + "ĠdÄ±ÅŁÄ± nda", + "ç· ı", + "Ġ bÃŃ", + "Ġb ÃŃ", + "ĠCL IIIK", + "ĠIIC III", + "Ġh erk", + "Ġhe rk", + "Ġher k", + "ãĤı ãģĽ", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "Âł ³³³³³", + "³³ ³³³³", + "³³³³ ³³", + "³³³ ³³³", + "³³³³³ Âł", + "اÙĦ د", + "Ġdav ran", + "Äį er", + "Äįe r", + "Ġ ØŁ", + "ĠØ Ł", + "ãģĺãĤĥ ãģªãģĦ", + "Ġd air", + "Ġda ir", + "Ġdai r", + "Ġî ¥¤", + "ั à¸ĩส", + "ัà¸ĩ ส", + "Ġ ëĭ´", + "Ġëĭ ´", + "å¾ ŀ", + "ĠÑįÑĤ иÑħ", + "ĠÑįÑĤи Ñħ", + "è¯ º", + "á» ·", + "е ÑĢиÑģÑĤи", + "еÑĢи ÑģÑĤи", + "ов ÑĭÑħ", + "Ġ ãĥĩ", + "Ġãĥ ĩ", + "ض ÙĬ", + "Ġà¤ī à¤ł", + "Ġnap ÅĻÃŃklad", + "è ´Ŀ", + "è´ Ŀ", + "Ġ Å¡k", + "ĠÅ¡ k", + "ĠبÙĪØ¯ ÙĨد", + "ĠبÙĪØ¯ÙĨ د", + "vů li", + "éģ ĩ", + "Ġз най", + "Ġзна й", + "Ġзн ай", + "ĠT ham", + "ĠTh am", + "r ani", + "ra ni", + "ran i", + "ا ØŃت", + "اØŃ ت", + "Ø´ Ùĩ", + "мÑĸнÑĸ ÑģÑĤÑĢа", + "๠ĭ", + "ĠÎij να", + "ĠÎijν α", + "à¥ĭ à¤ļ", + "ç»Ħ ç»ĩ", + "ÑģÑĤ иÑĤ", + "ÑģÑĤи ÑĤ", + "im li", + "åIJį çĦ¡ãģĹãģķãĤĵ", + "åIJįçĦ¡ãģĹ ãģķãĤĵ", + "Ùij Ø©", + "θ μ", + "о лоÑĤ", + "ол оÑĤ", + "оло ÑĤ", + "ย à¸ĩ", + "ãĤī ãĤĮãĤĭ", + "ãĤīãĤĮ ãĤĭ", + "Ġ лиÑĩ", + "Ġл иÑĩ", + "Ġли Ñĩ", + "ов Ñĭе", + "éĢ ĥ", + "Ġ 广", + "Ġå¹ ¿", + "ìĬ ¬", + "Ùħ ÛĮÙĨ", + "ÙħÛĮ ÙĨ", + "ĠìłĦ ì²´", + "ĠÎŃ Ïĩ", + "Ġ ì±ħ", + "Ġì± ħ", + "Ġ hlas", + "Ġh las", + "Ġhl as", + "е кÑĤив", + "ек ÑĤив", + "екÑĤ ив", + "екÑĤи в", + "ĠÏĢ Î»Î·", + "lu ÄŁu", + "luÄŁ u", + "好 çļĦ", + "ĠÚĨ ÙĪÙĨ", + "ĠB eled", + "ĠBe led", + "ĠBel ed", + "Ġen gel", + "Ġeng el", + "нÑı Ñı", + "ĠyaÅŁ an", + "Ñĩ ниÑħ", + "ار ÙĬØ©", + "ارÙĬ Ø©", + "म त", + "ãĥĭãĥĭ ãĥĭãĥĭ", + "åĭ ¢", + "Ġ åĨħ", + "ĠåĨ ħ", + "Ġíı¬ íķ¨", + "Ġоб Ñģ", + "Ġth ấp", + "Ġd ây", + "ãĥĸ ãĥ©", + "а ÑĤÑĭ", + "аÑĤ Ñĭ", + "ĠÑģво ей", + "ĠÑģвое й", + "ãĤī ãģªãģĦ", + "åıij çĶŁ", + "e rece", + "er ece", + "ere ce", + "Ġod bor", + "Ġв неÑģ", + "Ġвне Ñģ", + "ĠÄIJ ảng", + "ĠëıĮ ìķĦ", + "ÄĽ li", + "ÄĽl i", + "ı sında", + "ıs ında", + "ısı nda", + "Ġबद ल", + "v nÃŃ", + "vn ÃŃ", + "ãģ® ãģ«", + "Ġпо ÑĤом", + "ĠпоÑĤ ом", + "im de", + "imd e", + "a lama", + "al ama", + "ala ma", + "alam a", + "âĢ ª", + "Ġstej nÄĽ", + "е ÑĢе", + "еÑĢ Ðµ", + "éĴ ¢", + "æľº æŀĦ", + "Ġ è³", + "Ġè ³", + "åĶ ±", + "Ġ ëħ¸ì¶ľ", + "Ġëħ¸ ì¶ľ", + "Ġли бо", + "âĢ Ĭ", + "Ġc ez", + "Ġce z", + "ro mÄĽ", + "rom ÄĽ", + "ί Ïīν", + "ÏĨ ή", + "Ġ íĻ©", + "ĠíĻ ©", + "Ġdlou h", + "éª ¨", + "åħ¬ éĩĮ", + "ä¼ ¸", + "Ġ ãĥij", + "Ġãĥ ij", + "ä» Ļ", + "Ġol madı", + "Ġolm adı", + "Ġolma dı", + "е лиÑĩ", + "ел иÑĩ", + "ели Ñĩ", + "ожд ениÑı", + "Ġsöy ledi", + "Ġsöyl edi", + "á tek", + "át ek", + "áte k", + "ìĥ µ", + "ย วà¸ģ", + "ยว à¸ģ", + "Ġ 鼻", + "ĠéĽ »", + "Ġп ев", + "ĠдÑĢÑĥг ие", + "át ku", + "Ġع ÙĪ", + "ov ána", + "ová na", + "ován a", + "ض ر", + "Ġëģ Ŀ", + "ĠíĨµ íķ´", + "Î ĸ", + "Ġv ur", + "Ġvu r", + "åĨ ²", + "Ġп ÑĢек", + "ĠпÑĢ ÐµÐº", + "ĠпÑĢе к", + "Ġप à¤ķ", + "Ġ à¹Ģà¸Ĺ", + "Ġà¹Ģ à¸Ĺ", + "Ġà¹ĢภĹ", + "ãģ¨ ãģĭ", + "ع ÙĨ", + "å® ĩ", + "ÏĦ ζ", + "Ġn ằm", + "ĠÑģ воб", + "ĠÑģв об", + "ĠÑģво б", + "Ġδ Ïį", + "çĸ Ĺ", + "- й", + "é¦Ļ 港", + "ت ا", + "Ïĥι μο", + "íķ Ħ", + "Ġ 详æĥħ", + "Ġè¯ ¦æĥħ", + "ä¸ ¡", + "Ùİ Ø§ÙĦ", + "ÙİØ§ ÙĦ", + "ĠTr ưá»Ŀng", + "e ného", + "en ého", + "ené ho", + "ĠÑĢекомен дÑĥ", + "ÛĮ رÙĩ", + "ÛĮر Ùĩ", + "า à¸ĸ", + "าภĸ", + "ĠÚ© اÙħÙĦ", + "ĠکاÙħ ÙĦ", + "ب Ø·", + "ز ÛĮÙĨÙĩ", + "زÛĮ ÙĨÙĩ", + "Ġдолж на", + "Ġë§İ ìĿĢ", + "âĹıâĹıâĹıâĹı âĹıâĹıâĹıâĹı", + "lep Å¡ÃŃ", + "ал ог", + "ало г", + "ãĤª ãĥ³", + "Ġ ë³Ħ", + "Ġë³ Ħ", + "ı rı", + "ır ı", + "ĠجاÙħ عÙĩ", + "ĠجاÙħع Ùĩ", + "æĽ ľ", + "o jÃŃ", + "oj ÃŃ", + "ĠÑĪ Ð»ÑıÑħ", + "Ġhız lı", + "Ġ خصÙĪØµ", + "Ġخص ÙĪØµ", + "ÐIJ ÑĢ", + "å ľĺ", + "åľ ĺ", + "Ġжив оÑĤ", + "é ±", + "Ġng ữ", + "Ġv òng", + "èİ «", + "Ġза Ñħод", + "ĠзаÑħ од", + "ìĻ Ħ", + "ĠÑģлед ÑĥÑİÑī", + "éĹ »", + "Ñij ÑĢ", + "Ġch vÃŃ", + "èĥ ľ", + "ãģª ãģĹ", + "Ġtek noloj", + "Ġtekn oloj", + "ej ména", + "Ġ ìłĪ", + "Ġìł Ī", + "ì³ IJ", + "æĻ® éĢļ", + "Ġvý ro", + "Ġay rı", + "Ġayr ı", + "Ġп ÑĢев", + "ĠпÑĢ ÐµÐ²", + "ĠпÑĢе в", + "Ġgó p", + "à¹Ĥ à¸ģ", + "à¸Ĺำ à¹ĥห", + "åı İ", + "åĺ ī", + "Ġte lev", + "Ġtele v", + "Ġtel ev", + "ãģ¨ ãģĵãĤį", + "ëı Į", + "ph yl", + "phy l", + "ร าะ", + "Ġ çĪ", + "Ġç Ī", + "ÑģÑĤ иÑĤÑĥ", + "ÑģÑĤи ÑĤÑĥ", + "ÑģÑĤиÑĤ Ñĥ", + "ï¼Į è¿ĺ", + "ĠÎij γ", + "Äį ku", + "æı ´", + "ाय त", + "æı ı", + "ãĤĤ ãģĹ", + "ĠпеÑĢ ÐµÑģ", + "ĠпеÑĢе Ñģ", + "Ġìĺģ íĻĶ", + "id la", + "idl a", + "åİ ħ", + "ï¼ı :", + "ت رÛĮ", + "تر ÛĮ", + "à¸Ľ à¸ı", + "ĠнаÑģ еленнÑı", + "Ġam aç", + "Ġama ç", + "Ġk do", + "Ġkd o", + "Ġиз веÑģÑĤ", + "ÑĪ Ð¸ÑĢ", + "ÑĪи ÑĢ", + "ì£ ł", + "Å¡ it", + "Å¡i t", + "Ġt á»ijc", + "Ġtá»ij c", + "ìŀIJ ìĿĺ", + "Ñĩ аÑĤ", + "Ñĩа ÑĤ", + "åı ĥ", + "éĽ ¶", + "å° º", + "Ġ indir", + "Ġin dir", + "Ġind ir", + "Ġна ÑĨÑĸоналÑĮ", + "Ġx anh", + "Ġxa nh", + "ÛĮ دÛĮ", + "ÛĮد ÛĮ", + "Ġин ÑĤеÑĢеÑģ", + "ĠинÑĤеÑĢ ÐµÑģ", + "ĠØ¢ سÛĮ", + "Ġآس ÛĮ", + "éĤ£ 个", + "Ġb ilm", + "Ġbi lm", + "Ġbil m", + "а не", + "ан е", + "ĠtÄĽch to", + "Ñĩ ик", + "Ñĩи к", + "Ġдо Ñħод", + "èĤ¡ 份", + "åħ³ ç³»", + "ãģ«ãģª ãģ£ãģŁ", + "ĠпÑĢед пÑĢи", + "Ġgeç en", + "Ġب ÙĤ", + "Ġvý znam", + "Ġ à¹Ģà¸Ħร", + "Ġà¹Ģ à¸Ħร", + "Ġà¹Ģà¸Ħ ร", + "ĠÑħ ÑĤо", + "Ø´ ÙĬ", + "åıĤ åĬł", + "ÑģÑĤв енного", + "ÑģÑĤвен ного", + "ÑģÑĤвенно го", + "ÑĤ ÑĢон", + "ÑĤÑĢ Ð¾Ð½", + "ÑĤÑĢо н", + "ÂĢÂĢ ÂĢÂĢ", + "æ¢ Ŀ", + "б ав", + "ба в", + "Û± Û¶", + "Û±Û ¶", + "é¡ º", + "Ġj az", + "Ġja z", + "ĠاÙĦ ÙħÙĦ", + "ĠاÙĦÙħ ÙĦ", + "Ġا ثر", + "Ġاث ر", + "ĠпÑĢи вод", + "ĠпÑĢив од", + "а нÑĥ", + "ан Ñĥ", + "à¥ģ à¤Ń", + "à¥ģठŃ", + "æĹ §", + "ÑĮ е", + "ส ล", + "л ÑıÑİÑĤ", + "лÑı ÑİÑĤ", + "ว à¸Ķ", + "ư Ỽi", + "ưỠĽi", + "Æ°á»Ľ i", + "ÙĬ ÙħØ©", + "ÙĬÙħ Ø©", + "ãĤ¯ ãĥŃ", + "л ий", + "ли й", + "γ Ïģά", + "Ġper forman", + "Ġperform an", + "Ġperf orman", + "Ġperfor man", + "è¯ ī", + "ä½ł çļĦ", + "ìħ Ķ", + "н ениÑı", + "не ниÑı", + "нен иÑı", + "á»Ń i", + "ÙĪ Ø²ÛĮ", + "ÙĪØ² ÛĮ", + "éŁ ¿", + "à¥Ī द", + "Ġëª ¸", + "Ġe ser", + "Ġes er", + "Ġese r", + "ĠÙģØ¹Ø§ÙĦ ÛĮت", + "нÑĸ веÑĢ", + "нÑĸв еÑĢ", + "κ Ïģα", + "è¨ ¼", + "Ġn emoc", + "Ġnem oc", + "Ġyardım cı", + "Ġ çī¹", + "Ġçī ¹", + "Ġ коп", + "Ġк оп", + "Ġко п", + "ĠÐľ ож", + "़ à¤ķ", + "Ġ ëľ", + "Ġë ľ", + "ĠÑĢе ак", + "Ġp ozor", + "Ġpoz or", + "Âł ÐIJ", + "Ġ ÙĬÙĥ", + "ĠÙĬ Ùĥ", + "ĠÑģ ад", + "Ġ åħ«", + "Ġåħ «", + "Ġп олÑĮз", + "ĠполÑĮ з", + "Ġra ÄŁmen", + "ter nÃŃ", + "tern ÃŃ", + "s iyon", + "si yon", + "Ñģ ÑıÑĩ", + "ÑģÑı Ñĩ", + "ov aný", + "ova ný", + "ovan ý", + "ĠëĮĢíķľ ë¯¼êµŃ", + "ĠвÑĸд б", + "ĠÐIJ нд", + "ĠÐIJн д", + "st va", + "éĮ Ħ", + "Ġ ëij", + "Ġë ij", + "ิ à¸Ħ", + "j ÃŃt", + "jÃŃ t", + "Ġkullan ıcı", + "Ġkullanı cı", + "Ġ æŁ¥çľĭ", + "ĠæŁ¥ çľĭ", + "Ùģ ÙĦ", + "Ġ ЯкÑīо", + "ĠЯк Ñīо", + "çľĭ åΰ", + "ÑĢ ÐµÑħ", + "ÑĢе Ñħ", + "ĠاÙĦع ربÙĬØ©", + "ĠاÙĦعرب ÙĬØ©", + "ĠاÙĦعربÙĬ Ø©", + "ë¡ľê·¸ ëŀ¨", + "Ġब à¤ľ", + "Ġп ÑĢип", + "ĠпÑĢ Ð¸Ð¿", + "ĠпÑĢи п", + "Ġs chop", + "Ġsc hop", + "Ġsch op", + "Ġscho p", + "Ġب اÙĦا", + "Ġبا ÙĦا", + "ĠباÙĦ ا", + "å® ħ", + "Ġا ÙĦÙħÙĩ", + "ĠاÙĦ ÙħÙĩ", + "ĠاÙĦÙħ Ùĩ", + "α να", + "αν α", + "à¥ĭ व", + "åģ ´", + "å¼Ģ åıij", + "Ùħ اÙĦ", + "Ùħا ÙĦ", + "Ġ धर", + "Ġध र", + "Ġda hil", + "Ġdah il", + "Ġdahi l", + "ãĢģ ãģĵãģ®", + "ัà¸Ī à¸Ī", + "Ñģп ÑĸлÑĮ", + "Ġà¤ķ प", + "Ġв еÑĩ", + "Ġве Ñĩ", + "Ġвид а", + "Ġви да", + "ĠÙħ عÙĨ", + "ĠÙħع ÙĨ", + "ĠоÑĤ ли", + "i á»ħ", + "iá» ħ", + "л иÑĪ", + "ли ÑĪ", + "Ġ ÐŁÐ¾Ñģле", + "ĠÐŁÐ¾Ñģ ле", + "ãģĵ ãģĵ", + "Ġk ültür", + "Ġ جر", + "Ġج ر", + "Ġ æ¼", + "Ġæ ¼", + "èĩ º", + "Ġmev cut", + "Ù¾ ÛĮ", + "ĠاÙĦ سÙĦاÙħ", + "ĠاÙĦس ÙĦاÙħ", + "иÑĤ елей", + "иÑĤе лей", + "Ġ ÑĢоÑģÑĤ", + "ĠÑĢ Ð¾ÑģÑĤ", + "ĠÑĢоÑģ ÑĤ", + "Ġed il", + "Ġedi l", + "Ġ å·²", + "Ġå· ²", + "ç²¾ åĵģ", + "ä» ħ", + "âĢĻ ye", + "âĢĻy e", + "à¥Īà¤Ĥ .", + "Ġ åĨĨ", + "ĠåĨ Ĩ", + "ëĪ Ħ", + "Ġ ìĻķ", + "ĠìĻ ķ", + "æĺ Ń", + "ĠÎļ ο", + "m eden", + "med en", + "me den", + "Ġo lab", + "Ġol ab", + "Ġola b", + "ĠÚ© ÙĪØ¯", + "ĠÚ©ÙĪ Ø¯", + "à¸Ħ าส", + "ен наÑı", + "æĬ ¼", + "yl ül", + "Ġsev iy", + "Ġd ÄĽti", + "ĠdÄĽ ti", + "ĠdÄĽt i", + "â̬ Ċ", + "Ġع ز", + "Ġu á»ijng", + "Ġس رÙħ", + "Ġسر Ùħ", + "е не", + "ен е", + "Ġмал енÑĮ", + "Ġ вÑĸдом", + "Ġв Ñĸдом", + "ĠвÑĸд ом", + "ĠвÑĸ дом", + "ั à¸ļà¸Ĺ", + "ัà¸ļ à¸Ĺ", + "ĠTh ái", + "Ġà¤Ĩव श", + "rove ÅĪ", + "çĽ £", + "ĠÑı зÑĭ", + "ĠO y", + "å£ ģ", + "в аÑĤÑĮ", + "ва ÑĤÑĮ", + "ваÑĤ ÑĮ", + "л адÑĥ", + "ла дÑĥ", + "лад Ñĥ", + "ا صÙĦ", + "اص ÙĦ", + "ot ÅĻeb", + "د ÙĬØ«", + "دÙĬ Ø«", + "íı °", + "νο μ", + "г оÑĢод", + "го ÑĢод", + "гоÑĢ Ð¾Ð´", + "Ġm uh", + "Ġmu h", + "âĢĻ l", + "ÑģÑĤ воÑĢ", + "ÑģÑĤв оÑĢ", + "ÑģÑĤво ÑĢ", + "åħ Ħ", + "Ðķ Ðł", + "Ø· ÙĦ", + "éľ ĩ", + "Ùİ Øª", + "Ġb lÃŃ", + "Ġbl ÃŃ", + "Ġed ildi", + "Ġedil di", + "éĿ ł", + "äºĮ åįģ", + "æĹ Ĺ", + "Ġç iz", + "ĠÄij ảo", + "Ġo pat", + "Ġop at", + "o ÄŁan", + "oÄŁ an", + "ë² Į", + "Ġ éł", + "Ġé ł", + "Ġseb ep", + "Ġsebe p", + "Ñĥ ÑĤи", + "ÑĥÑĤ и", + "åĪ º", + "Ø· ب", + "ev Å¡ÃŃm", + "c hop", + "ch op", + "cho p", + "çĶ ļ", + "Ġngh á»ģ", + "Ġп аÑĢÑĤ", + "ĠпаÑĢ ÑĤ", + "ุ à¸Ħ", + "Ú© ÛĮÙĦ", + "Ú©ÛĮ ÙĦ", + "d um", + "du m", + "Ġor tak", + "Ġort ak", + "Ġorta k", + "ãģŁ ãģĹ", + "Ġoby vatel", + "Ġv ých", + "Ġvý ch", + "Ġv eren", + "Ġver en", + "Ġve ren", + "Ġvere n", + "Ġв еÑģÑĮ", + "ĠвеÑģ ÑĮ", + "Ġве ÑģÑĮ", + "ĠÐĶ Ð°", + "Ġ íķĺì§Ģë§Į", + "Ġíķĺ ì§Ģë§Į", + "Ġíķĺì§Ģ ë§Į", + "å¦Ĥ æŃ¤", + "Ġमह त", + "ัà¸ĩà¸ģ ฤษ", + "ãĢĤ è¿Ļ", + "Ġ гал", + "Ġг ал", + "Ġsa nat", + "Ġsan at", + "Ġsana t", + "éł Ĩ", + "ĠÑģам о", + "å Ľ°", + "åĽ °", + "ี à¸Ń", + "ĠBaÅŁ kan", + "ÏĦ οÏħÏĤ", + "ÏĦοÏħ ÏĤ", + "Ġyap tıģı", + "Ġyaptı ģı", + "Ġyaptıģ ı", + "ÅĻ it", + "ÅĻi t", + "ĠÑģ ÑĸлÑĮ", + "ान त", + "Ġ ÙĨت", + "ĠÙĨ ت", + "Ġkh Äĥn", + "à¸Ĭ à¸Ļะ", + "à¸Ĭà¸Ļ ะ", + "м ини", + "ми ни", + "мин и", + "ãĥ¬ ãĥ¼", + "ë Ĥ¬", + "ëĤ ¬", + "éħĴ åºĹ", + "ĠاÙĦÙĬ ÙĪÙħ", + "ä¹ Ĺ", + "à¸Ħรà¸ĩ à¸ģาร", + "Ùģ Ø§ÙĤ", + "Ġ à¤ıस", + "Ġà¤ı स", + "Ġ æ¡", + "Ġæ ¡", + "Ú¯ ذ", + "Ġà¤ĩ ल", + "е лениÑı", + "ел ениÑı", + "еле ниÑı", + "елен иÑı", + "à¸ģ รà¸ĵ", + "à¸ģร à¸ĵ", + "举 西", + "ÎŁ Îľ", + "ÎŁÎ ľ", + "Ġm áºŃt", + "Ġs nÃŃ", + "Ġsn ÃŃ", + " IJ", + "à¹Ģร า", + "íķ´ ìķ¼", + "Ġ ìĦľë¹ĦìĬ¤", + "ĠìĦľ ë¹ĦìĬ¤", + "Ġداخ ÙĦ", + "Ġth ắng", + "íĥ Ī", + "а вÑģÑı", + "ав ÑģÑı", + "Ġ Ñĸм", + "ĠÑĸ м", + "ا Ùħت", + "اÙħ ت", + "Ġ ÙĪÙĤت", + "ĠÙĪ ÙĤت", + "ĠÙĪÙĤ ت", + "à¥Ĥ à¤ģ", + "Ġ èIJ", + "Ġè IJ", + "Ġ سÙĦاÙħ", + "Ġس ÙĦاÙħ", + "ĠسÙĦ اÙħ", + "Ġvz dÄĽl", + "å¸Į æľĽ", + "åŃĺ æ¡£", + "Ġ à¸Ĺำ", + "Ġà¸Ĺ ำ", + "ĠвÑĸй ÑģÑĮ", + "а ÑĢан", + "аÑĢ Ð°Ð½", + "аÑĢа н", + "ĠÑĢ Ñĸк", + "Ġп иÑģÑĮ", + "Ġпи ÑģÑĮ", + "ĠпиÑģ ÑĮ", + "Ġá¼ IJ", + "기 ëıĦ", + "ĠпоÑģÑĤ оÑıн", + "Ġ åĮĹ京", + "ĠåĮĹ äº¬", + "ĠNÄĽ m", + "Ø´ ÙĨاÙħÙĩ", + "Ø´ÙĨ اÙħÙĩ", + "Ġdal Å¡ÃŃch", + "ĠdalÅ¡ÃŃ ch", + "Ġب اع", + "Ġبا ع", + "Ġpo hy", + "Ġpoh y", + "ا ÙĦÙģ", + "اÙĦ Ùģ", + "à¸ŀ วà¸ģ", + "é ĭ", + "Ġ cih", + "Ġc ih", + "Ġci h", + "Ù ¢", + "ä¸ ´", + "ãĤ¯ ãĥĪ", + "п нÑı", + "Ġ дал", + "Ġд ал", + "Ġда л", + "ÙĴ ر", + "ãĢĢ ãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢãĢĢĠãĢĢ ĠãĢĢ", + "ãĢĢãĢĢĠ ãĢĢĠãĢĢ", + "æĬ¥ åijĬ", + "ÙĪ Ø¯ÛĮ", + "ÙĪØ¯ ÛĮ", + "á» £i", + "ợ i", + "ÑĨ ÑĸÑĶÑİ", + "ÑĨÑĸ ÑĶÑİ", + "Ġ ãĥĢ", + "Ġãĥ Ģ", + "ĠÑģÑĤ еп", + "r až", + "ra ž", + "ĠS aÄŁ", + "ĠSa ÄŁ", + "Ġt uyến", + "Ġtuy ến", + "Ġal mak", + "Ġalma k", + "Ġalm ak", + "Ġзаболева ниÑı", + "Ġ ÏĥÏĩ", + "ĠÏĥ Ïĩ", + "Ġ íĭ", + "Ġí ĭ", + "Ġв им", + "Ġви м", + "ç¡ ¬", + "Ġ äºĶ", + "Ġi kinci", + "Ġik inci", + "ุ à¸į", + "ส าว", + "ĠìĦ¸ ê³Ħ", + "ĠÙħ ØŃÙĦ", + "ĠÙħØŃ ÙĦ", + "ระ หว", + "Ġelek tron", + "Ġelekt ron", + "Ġelektr on", + "Ġh ại", + "Ġhạ i", + "æĹ ¢", + "Ġ íĸ¥", + "Ġíĸ ¥", + "Ġji né", + "Ġjin é", + "Ġng he", + "Ġngh e", + "æij ©", + "ĠÑģо бÑĸ", + "ĠÑģоб Ñĸ", + "Æ ¯", + "ÑĤ ÑĥÑĢ", + "ÑĤÑĥ ÑĢ", + "æ±½ 车", + "Ø´ اÙĩ", + "Ġd Ãłnh", + "ä¸ ¹", + "ä»Ĭ æĹ¥", + "ãĥIJ ãĥ¼", + "в аниÑı", + "ва ниÑı", + "ван иÑı", + "Ġ ساÙħ", + "Ġس اÙħ", + "çݯ å¢ĥ", + "ĠاÙĦ ÙħÙĨت", + "ĠاÙĦÙħ ÙĨت", + "ĠاÙĦÙħÙĨ ت", + "ĠÑģеÑĢ Ð´", + "éģ ł", + "ε ÏĦ", + "Ġав ÑĤ", + "าà¸ĩ ว", + "Ġvz tah", + "ru ž", + "алÑĮ наÑı", + "алÑĮна Ñı", + "Ġطر اØŃÛĮ", + "à¹Ĥรà¸ĩ à¹ģรม", + "ĠÄį asto", + "ĠÄįas to", + "ĠÄįast o", + "Ġ ê¼", + "Ġê ¼", + "Ïĥ ÏĦÏĮ", + "ÏĥÏĦ ÏĮ", + "Ġbu rada", + "Ġbur ada", + "Ġİ z", + "Ġ ê·¸ëŀĺ", + "Ġê·¸ ëŀĺ", + "å² Ľ", + "ĠØ´ ÙĪÙĨد", + "ĠØ´ÙĪ ÙĨد", + "Å¡ ek", + "Å¡e k", + "Ġ ìĿ´ìķ¼", + "ĠìĿ´ ìķ¼", + "ãĤĮ ãģªãģĦ", + "ê· ¹", + "la mÄ±ÅŁ", + "lam Ä±ÅŁ", + "ä» į", + "cház et", + "cháze t", + "Ġ ÑģÑĥÑĤ", + "ĠÑģ ÑĥÑĤ", + "ĠÑģÑĥ ÑĤ", + "æĹł æ³ķ", + "æµ ¦", + "ÄĽ la", + "ÄĽl a", + "à¹ĥà¸Ļ à¸Ĭ", + "Ġc ân", + "Ġcâ n", + "ÎŁ Îĵ", + "ÎŁÎ ĵ", + "Ġz vý", + "Ġzv ý", + "ĠÙ¾ ار", + "Ġپا ر", + "Ġк лÑĸ", + "Ġкл Ñĸ", + "Ġn ové", + "Ġno vé", + "Ġnov é", + "çĶ ĺ", + "ë¹ ł", + "m á", + "Ġ Ñģол", + "ĠÑģ ол", + "ĠÑģо л", + "à¤ķ रण", + "à¤ķर ण", + "н оÑĩ", + "но Ñĩ", + "Ġ fik", + "Ġf ik", + "Ġfi k", + "Ġà¤ľ à¤Ĺ", + "à¹ĩ à¸Ļà¸ķ", + "à¹ĩà¸Ļ à¸ķ", + "ĠÙħ تØŃ", + "ĠÙħت ØŃ", + "Ġph iên", + "Ġphi ên", + "Ġol sun", + "Ġк аб", + "Ġка б", + "Ġh út", + "èĦ ±", + "Ġ åĸ", + "Ġå ĸ", + "ĠH ải", + "Ġ tÄĽÅ¾", + "Ġt ÄĽÅ¾", + "ĠtÄĽ ž", + "Ġth ái", + "Ġ تاب", + "Ġت اب", + "Ġتا ب", + "- ÐŁ", + "Ø« ار", + "çĨ Ĭ", + "Ġ ними", + "Ġн ими", + "Ġни ми", + "Ġним и", + "Ġzp rac", + "Ġत ह", + "Ġм акÑģим", + "Ġмак Ñģим", + "m eyi", + "me yi", + "mey i", + "ĠÑģ оÑĨи", + "ĠÑģо ÑĨи", + "æ² Ĵ", + "ĠìķĬ ëĬĶ", + "_ _", + "åķ ¦", + "ĠاÙĨ ÙĪØ§Ø¹", + "æļ ´", + "ä¸Ĭ æµ·", + "åħ· æľī", + "à¥ģ ब", + "à¥ģठ¬", + "ìķ Ļ", + "Ġíģ °", + "Ġíŀ ĺ", + "Ġtr ánh", + "ि यन", + "िय न", + "ãģ¾ ãģ¾", + "п оÑĩ", + "по Ñĩ", + "m ÄĽr", + "mÄĽ r", + "å³ °", + "ĠÙħ صر", + "ĠÙħص ر", + "ĠÑįÑĦ ÑĦекÑĤив", + "ĠÑįÑĦÑĦек ÑĤив", + "Ġ çı", + "Ġç ı", + "ler iyle", + "leri yle", + "âĪ ļ", + "Ġ ì¶ķ", + "Ġì¶ ķ", + "Ġ ê²Įìĭľ", + "Ġê²Į ìĭľ", + "ìĿ ij", + "Ġ poÅĻád", + "Ġpo ÅĻád", + "Ġشب Ú©Ùĩ", + "اÙĩ Ø´", + "ĠخدÙħ ات", + "Ġna Å¡e", + "ĠnaÅ¡ e", + "ν οÏį", + "νο Ïį", + "Ġyön elik", + "Ġk ork", + "Ġko rk", + "Ġkor k", + "ا ÙĩÙħ", + "اÙĩ Ùħ", + "è° Ī", + "Ġ μη", + "Ġμ η", + "Ġd olar", + "Ġdo lar", + "Ġdol ar", + "çµ ¦", + "ĠÎķ Ïħ", + "Ġobdob ÃŃ", + "Ġ μÏĮ", + "Ġμ ÏĮ", + "à¹Ģ à¸Ńà¸ģ", + "à¹Ģà¸Ń à¸ģ", + "Ġپاس Ø®", + "è¡ ¥", + "ا عد", + "اع د", + "ãĤī ãģĦ", + "ÎŃ Î»", + "и ÑĤÑĭ", + "иÑĤ Ñĭ", + "Ġ ëħ¼", + "Ġëħ ¼", + "Ġ^{ [", + "ί γ", + "æł ij", + "l ında", + "lı nda", + "ĠìŬ 룬", + "£ £", + "ÅĻ il", + "ÅĻi l", + "Ġав ÑĤоÑĢ", + "ĠавÑĤ оÑĢ", + "ÏĦ ικÏĮÏĤ", + "ÏĦικ ÏĮÏĤ", + "ÏĦικÏĮ ÏĤ", + "u dur", + "ud ur", + "udu r", + "Ġc ư", + "Ġk ıy", + "Ġkı y", + "Ñģ ем", + "Ñģе м", + "ĠØ£ بÙĪ", + "Ġأب ÙĪ", + "ÏĦ ικÏİν", + "ÏĦικ Ïİν", + "Û± Û·", + "Û±Û ·", + "è² ¸", + "Ġп ÑĢож", + "ĠпÑĢ Ð¾Ð¶", + "ĠпÑĢо ж", + "ün cü", + "Ġ нÑĸÑĩ", + "Ġн ÑĸÑĩ", + "ĠнÑĸ Ñĩ", + "Ġ मत", + "Ġम त", + "ãģķ ãĤĮãģ¦ãģĦãĤĭ", + "ãģķãĤĮ ãģ¦ãģĦãĤĭ", + "ãģķãĤĮãģ¦ ãģĦãĤĭ", + "ا صر", + "اص ر", + "Ġع ÙĤ", + "ĠкаÑĩе ÑģÑĤве", + "ĠÐĵ еÑĢ", + "ĠÐĵе ÑĢ", + "åº Ĩ", + "Ù ¹", + "a larda", + "al arda", + "alar da", + "ĠÙ¾ رس", + "Ġپر س", + "и ÑĩеÑģкой", + "иÑĩеÑģ кой", + "Ġp him", + "Ġph im", + "Ġphi m", + "ί νη", + "ίν η", + "ä¸ĩ åĨĨ", + "i lerini", + "iler ini", + "ileri ni", + "ilerin i", + "ãĢģ 大", + "Ġo lsa", + "Ġol sa", + "æł¹ æį®", + "âĢĮ س", + "ĠTh á»§", + "r oje", + "ro je", + "roj e", + "нÑĮ оÑĹ", + "нÑĮо ÑĹ", + "Ġs lou", + "Ġsl ou", + "Ġslo u", + "ี ฬ", + "ıy orum", + "ıyor um", + "ÄĽ j", + "Ġ خبر", + "ĠØ® بر", + "è® Ĭ", + "Ġ 缸", + "ĠçĽ ¸", + "e lerinin", + "eler inin", + "eleri nin", + "elerin in", + "elerini n", + "íķĻ ëħĦëıĦ", + "íķĻëħĦ ëıĦ", + "ÑĩеÑģ кие", + "Ñĩе Ñģкие", + "ÑĩеÑģки е", + "ĠÅŁ ekl", + "ĠÅŁek l", + "Ġز ÙħاÙĨÛĮ", + "ĠزÙħاÙĨ ÛĮ", + "ĠزÙħ اÙĨÛĮ", + "Ġ xin", + "Ġx in", + "Ġxi n", + "ัà¸ģ à¸ĩาà¸Ļ", + "ĠE kim", + "ĠEk im", + "æĦ ¿", + "Ġод ной", + "Ġодно й", + "ν ή", + "æľĢ æĸ°", + "ĩ ¼", + "Ġн иж", + "Ġни ж", + "Ġ ë³¼", + "Ġë³ ¼", + "è· ij", + "Ġна пиÑģ", + "Ġнап иÑģ", + "èģ ĸ", + "Ġ âĢĮ", + "ĠâĢ Į", + "æłĩ åĩĨ", + "Ġv rát", + "Ġvr át", + "ĠV ì", + "Ġ ÙģØ±Ø§ÙĨ", + "ĠÙģ Ø±Ø§ÙĨ", + "ĠÙ쨱 اÙĨ", + "æĿ¥ çļĦ", + "å§ ¿", + "Ñħ Ñĥ", + "ĠبÛĮر ÙĪÙĨ", + "Ġд ÑĥÑĪ", + "ĠдÑĥ ÑĪ", + "в аÑİÑĤ", + "ва ÑİÑĤ", + "Ġs ebe", + "Ġse be", + "Ġseb e", + "é» ĺ", + "Ġkay ıt", + "Ġkayı t", + "Ïģ θ", + "ãģ¨ ãģ®", + "ĠпÑĢоÑĨ еÑģÑģ", + "ĠпÑĢоÑĨеÑģ Ñģ", + "æĮģ ãģ¡", + "Ñĸ на", + "Ñĸн а", + "Ġ ÑĤоÑĤ", + "ĠÑĤ оÑĤ", + "ĠÑĤо ÑĤ", + "ĠÑĤак ие", + "ĠÑĤа кие", + "The o", + "Th eo", + "ĠÙĨ ÛĮر", + "ĠÙĨÛĮ ر", + "ÑĨ Ñĥ", + "Ġay ak", + "à¸Ļ à¸Ń", + "Ġsit esinde", + "Ġsites inde", + "Ġsitesi nde", + "ĠÚ©ÙĨ ÛĮÙħ", + "ĠÑģ оÑħ", + "ĠÑģо Ñħ", + "Ġम à¤ľ", + "Ġol uyor", + "ç½ij åĿĢ", + "ĠÙ¾ زش", + "ĠE ylül", + "d Ã¼ÄŁ", + "dü ÄŁ", + "Ġبر Ø®ÛĮ", + "Ġبرخ ÛĮ", + "ĠÙħع رÙģ", + "Ġ obec", + "Ġo bec", + "Ġob ec", + "Ġobe c", + "ĠçalÄ±ÅŁ ma", + "Ġçal Ä±ÅŁma", + "ìĦ¼ íĦ°", + "ĠÑģво ÑĶ", + "оÑģÑĤ ей", + ": ::::::::::", + ":: :::::::::", + ":::: :::::::", + ":::::: :::::", + ":::::::: :::", + "::: ::::::::", + "::::: ::::::", + "::::::: ::::", + "::::::::: ::", + ":::::::::: :", + "Ġ алÑĮ", + "Ġа лÑĮ", + "Ġал ÑĮ", + "ç« Ł", + "Ġباش ÙĨد", + "اÙĦ Ø«", + "Ġнай б", + "Ġп ока", + "Ġпо ка", + "Ġпок а", + "Î ŀ", + "ĠÙĪ Ø¥", + "Ġ Ø®ÙĪØ§ÙĨ", + "ĠØ® ÙĪØ§ÙĨ", + "ĠØ®ÙĪ Ø§ÙĨ", + "à¥ģप य", + "Ġ à¹ĥห", + "ĠбÑĭ ÑģÑĤÑĢо", + "Ġth á»Ń", + "Ġthá» Ń", + "ëģ ¼", + "Ġ å¤ļ", + "Ġå¤ ļ", + "两 个", + "ม à¸ķ", + "ز ارش", + "زار Ø´", + "زا رش", + "Ġ ëŁ", + "Ġë Ł", + "य ह", + "Ñī ина", + "Ñīи на", + "Ñīин а", + "ầ ng", + "ần g", + "ï½Ĺ ï½Ĺ", + "à¹Ģà¸ŀ ลà¸ĩ", + "à¹Ģà¸ŀล à¸ĩ", + "tv rt", + "ĠÑĸн ÑĪÑĸ", + "ĠÑĸнÑĪ Ñĸ", + "λ εί", + "λε ί", + "Ġv iá»ĩn", + "Ġvi á»ĩn", + "ij ¸", + "Ġ çϽ", + "ĠçĻ ½", + "Ùİ ÙĪ", + "Ġch ứa", + "Ġchứ a", + "st vo", + "ĠdoÄŁ r", + "Ġ iler", + "Ġi ler", + "Ġil er", + "Ġile r", + "à¥ĭ ,", + "à¹ĥà¸Ļ à¸Ľ", + "Ġر ÙĪØ³Øª", + "ĠرÙĪ Ø³Øª", + "ÙĪ ÙĦÙĪ", + "ÙĪÙĦ ÙĪ", + "Å¡ lo", + "ал иÑģÑĤ", + "али ÑģÑĤ", + "åħ± åĴĮ", + "à¸ŀ ย", + "Ġ ìĻĢ", + "ĠìĻ Ģ", + "ÙĦ ÙĬÙĦ", + "ÙĦÙĬ ÙĦ", + "ĠÑı кого", + "ĠÑıк ого", + "е ÑģÑĤÑĮ", + "еÑģ ÑĤÑĮ", + "еÑģÑĤ ÑĮ", + "ĠÑĦ ин", + "ĠØ£ ÙĨÙĩ", + "ĠØ£ÙĨ Ùĩ", + "ĠMü dür", + "ĠÎĶ Î¹Î±", + "ĠÎĶι α", + "ĠÑĤ ел", + "ĠÑĤе л", + "ि ,", + "Ñĥ ки", + "Ñĥк и", + "ĠÐł Ф", + "ĠMay ıs", + "à¹Ī à¸Ńม", + "à¹Īà¸Ń ม", + "ar ken", + "ark en", + "æĢ ķ", + "ب ÛĮÙĨ", + "بÛĮ ÙĨ", + "ÑĤ аÑħ", + "ÑĤа Ñħ", + "e bo", + "eb o", + "ë³´ ì¦Ŀê¸Ī", + "ĠÙ¾ ÙĦ", + "Ġг Ñĥб", + "Ġв клÑİÑĩ", + "Ġвк лÑİÑĩ", + "æĶ¿ æ²»", + "Ġε ÏĢιÏĥ", + "ĠεÏĢ Î¹Ïĥ", + "ĠεÏĢι Ïĥ", + "ĠÙģØ§Ø± سÛĮ", + "ĠÙģØ§Ø±Ø³ ÛĮ", + "èŃ ī", + "ÏĨ η", + "( éĩij", + "ศ ร", + "åī §", + "âĢĻ ya", + "âĢĻy a", + "å¹´ 度", + "ĠÙĨ رÙħ", + "Ùĥ ÙĪÙħ", + "ÙĥÙĪ Ùħ", + "è¢ ĭ", + "Ġneden le", + "à¹īà¸Ńà¸ĩ à¸ģาร", + "à¹īà¸Ńà¸ĩà¸ģ าร", + "ãĢĮ ãģĤ", + "Ġп оÑģÑĤÑĥп", + "Ġпо ÑģÑĤÑĥп", + "ĠпоÑģÑĤ Ñĥп", + "ìľĦ ìĽIJ", + "åį ĺ", + "èİ ±", + "Ġum ož", + "p ok", + "po k", + "Ñĥ ÑģÑĤи", + "ÑĥÑģ ÑĤи", + "ÑĥÑģÑĤ и", + "Ġ éħ", + "Ġé ħ", + "ĠÑĦ Ñĸз", + "å» £", + "ิ หาร", + "Ġж ÑĥÑĢн", + "ĠдÑĸÑĤ ей", + "Ñĥ ÑİÑīие", + "ÑĥÑİ Ñīие", + "ÑĥÑİÑī ие", + "ä»Ĭ 天", + "ìĿ´ ëĿ¼ê³ł", + "ìĿ´ëĿ¼ ê³ł", + "ç² ī", + "èĴ Ļ", + "ĠDün ya", + "ĠDüny a", + "егод нÑı", + "Ġm imo", + "Ġmi mo", + "Ġmim o", + "Ġ вин", + "Ġв ин", + "Ġви н", + "ãģĿ ãģĵ", + "æ¯ ķ", + "ĠØ£ Ø®", + "Ġ åIJĮ", + "ĠåIJ Į", + "س اÙĨÛĮ", + "ساÙĨ ÛĮ", + "Ġ kah", + "Ġk ah", + "Ġka h", + "ि यर", + "िय र", + "ÏĢ Î¿ÏĤ", + "ÏĢο ÏĤ", + "j ez", + "je z", + "ÙĬ ج", + "ĠsaÄŁ lay", + "ا جÙĩ", + "اج Ùĩ", + "Ġ çł", + "Ġç ł", + "ï ľ", + "Ġج ست", + "Ġt ức", + "ư Æ¡i", + "ươ i", + "Ø´ Ùģ", + "ส à¸ķ", + "Ġ ÑĢеÑģ", + "ĠÑĢ ÐµÑģ", + "ĠÑĢе Ñģ", + "Ġ å£", + "Ġå £", + "Ġbi zim", + "Ġbiz im", + "Ġbizi m", + "Ġ ê·Ģ", + "Ġê· Ģ", + "ि ब", + "िठ¬", + "ë¡ľ ìļ´", + "ĠÑģ ÑĤал", + "ĠÑģÑĤ ал", + "ĠÑģÑĤа л", + "Ġ ÑĢÑĥÑģ", + "ĠÑĢ ÑĥÑģ", + "ĠÑĢÑĥ Ñģ", + "ĠO cak", + "ĠOc ak", + "åľ £", + "Ġ úÄįast", + "Ġú Äįast", + "ĠúÄį ast", + "ive rz", + "iver z", + "ëĤĺ ëĬĶ", + "о ÑĢоÑĤ", + "оÑĢ Ð¾ÑĤ", + "оÑĢо ÑĤ", + "Ñĩ инÑĭ", + "Ñĩи нÑĭ", + "Ñĩин Ñĭ", + "Ġihtiy aç", + "ÐĿ Ðŀ", + "ĠÐĿ ов", + "ĠÐĿо в", + "ีย à¸Ķ", + "ĠпоÑĤÑĢÑĸб но", + "Ú¯ ز", + "ĠÑģказ ал", + "ĠG ia", + "ĠGi a", + "m esini", + "mes ini", + "mesi ni", + "Ġbulun ur", + "æ¸ ¡", + "г оÑĤ", + "го ÑĤ", + "Ġh uku", + "Ġhu ku", + "ëĦ ·", + "ã Ĩ", + "Ġ اÙĥ", + "Ġا Ùĥ", + "Ġد ÙĦÛĮÙĦ", + "ĠدÙĦ ÛĮÙĦ", + "Ġ اساس", + "Ġا ساس", + "Ġاس اس", + "ìŰ 구", + "ĠÎĺ ε", + "Ġس ÙĪØ±", + "ĠسÙĪ Ø±", + "Ġ ì¢Ģ", + "Ġì¢ Ģ", + "ĠاÙĦ در", + "ĠاÙĦد ر", + "ĠÑģÑĤÑĢо иÑĤелÑĮ", + "Ġ Ñĥк", + "ĠÑĥ к", + "ĠìĻ ľ", + "е лик", + "ел ик", + "ели к", + "O VID", + "OV ID", + "Ġt emiz", + "Ġtem iz", + "äº ¦", + "Ġth iếu", + "Ġthi ếu", + "Ġп ÑĥÑĤ", + "ĠпÑĥ ÑĤ", + "Ñİ Ñīей", + "ÑİÑī ей", + "Ġur Äį", + "Ġ ÄIJây", + "ĠÄIJ ây", + "æ¥ µ", + "μ οÏħ", + "μο Ïħ", + "Ġ à¹Ģà¸Ļ", + "Ġà¹Ģ à¸Ļ", + "Ġà¹ĢภĻ", + "е веÑĢ", + "ев еÑĢ", + "Âł ÐĶ", + "ì ´Ŀ", + "ì´ Ŀ", + "è¶ £", + "Ġà¤ħ लà¤Ĺ", + "Ġà¤ħल à¤Ĺ", + "ưá»Ŀ n", + "Ġ ãĥŃ", + "Ġãĥ Ń", + "Ġ ê³³", + "Ġê³ ³", + "é² ģ", + "Ġرس ÛĮد", + "身 ä½ĵ", + "ั à¸ĵà¸ij", + "y nÃŃ", + "yn ÃŃ", + "ج ات", + "جا ت", + "ì§Ģ 를", + "न ल", + "ì ķĮ", + "ìķ Į", + "Ñĸ п", + "Ġv Ãłng", + "ĠvÃł ng", + "Ġпл оÑī", + "Ġпло Ñī", + "оз мож", + "åī ²", + "Ġth ảo", + "л ади", + "ла ди", + "лад и", + "Ġ åĿ", + "Ġå Ŀ", + "ĠÐľ и", + "Ġдел аÑĤÑĮ", + "Ġдела ÑĤÑĮ", + "é ij", + "Ġh uy", + "Ġhu y", + "ا ÛĮØ·", + "اÛĮ Ø·", + "Ġпов ÑĤоÑĢ", + "ü len", + "ül en", + "üle n", + "Ġ ÙĪÙģ", + "ĠÙĪ Ùģ", + "ĠÙĬ تÙħ", + "ĠÙĬت Ùħ", + "ĠÑĢеж им", + "Ġ ìºIJ", + "Ġìº IJ", + "ĠÃĩ ünkü", + "ع دد", + "عد د", + "ни веÑĢ", + "нив еÑĢ", + "ĠÐĿ ик", + "å¸ ĸ", + "Ïį ÏĢ", + "an lar", + "س تÛĮ", + "ست ÛĮ", + "Ġbulun maktadır", + "à¹ģ à¸ļ", + "v ek", + "ve k", + "Ġгла за", + "Ġглаз а", + "å¹ ħ", + "Ġúda j", + "Ġг ÑĢо", + "ĠгÑĢ Ð¾", + "Ġкон кÑĥÑĢ", + "Ġd ůležit", + "Ġdů ležit", + "Ġ Ø·ÙĪØ±", + "ĠØ· ÙĪØ±", + "à¸ĺ าà¸Ļ", + "ĠÙĦ ÙĥÙĨ", + "ĠÙĦÙĥ ÙĨ", + "ر ÙĤ", + "Ðļ ÐIJ", + "Ġ éĿĴ", + "ĠéĿ Ĵ", + "Ġ ìĤ¬ëŀij", + "ĠìĤ¬ ëŀij", + "ĠÑħ воÑĢ", + "ĠÑħв оÑĢ", + "s unuz", + "sun uz", + "ĠÙħØ´ خص", + "éĻ ¸", + "Ġ ढ", + "Ġठ¢", + "Ġv az", + "Ġva z", + "交 æĺĵ", + "ĠÑĤеÑĢ ÑĢиÑĤ", + "ÑĩеÑģ кой", + "Ñĩе Ñģкой", + "ี à¹Ĥ", + "rop oda", + "ıl dıģı", + "ıldı ģı", + "Ġ ëī´", + "Ġë ī´", + "íķĻ ê¸°", + "ë³´ íĹĺ", + "Ġз аÑĤем", + "ĠзаÑĤ ем", + "Âł в", + "ãĥ¼ ãĥĨ", + "ãĥ¼ãĥ Ĩ", + "Ġ ÐŀÑģнов", + "ĠÐŀÑģ нов", + "ãĨ į", + "Ġد ع", + "ÐŁ оÑģ", + "ÐŁÐ¾ Ñģ", + "æ² ī", + "Ġ лож", + "Ġл ож", + "ç͵ åŃIJ", + "Ġ رد", + "Ġر د", + "ĠÑģ ÑĢазÑĥ", + "e jte", + "ej te", + "Ġà¤ij फ", + "Ġt Ãłu", + "ÃŃ k", + "lan ması", + "lanma sı", + "к аÑĤ", + "ка ÑĤ", + "าà¸ģ าศ", + "ãĤ¢ ãĤ¤", + "ÏĦ ιο", + "ÏĦι ο", + "Ġ å§", + "Ġå §", + "प त", + "E Y", + "Ġj mé", + "Ġjm é", + "Ġod kazy", + "Ġê°ľ ìĿ¸", + "éģ ¿", + "bÄĽ h", + "Ðł Ðŀ", + "çĥ Ī", + "Ġza rar", + "Ġzar ar", + "Ú¯ ÙĪÙĨÙĩ", + "Ú¯ÙĪ ÙĨÙĩ", + "Ġtr ì", + "Ġm ại", + "ен нÑĭм", + "ĠÑį коном", + "ĠÑįк оном", + "éĽ £", + "Ġ íĦ", + "Ġí Ħ", + "æİ ī", + "Ġs oru", + "Ġso ru", + "Ġsor u", + "ĠФедеÑĢа ÑĨии", + "ĠÑģиÑģÑĤем и", + "æĸĻ çĦ¡æĸĻ", + "Ġà¤ķ à¤Ń", + "ĠÙĩ ÙĨد", + "ĠÙĩÙĨ د", + "ุà¸ĩ à¹Ģà¸Ĺà¸ŀ", + "ĠOsman lı", + "ĠпÑĢод олж", + "Ġ ÙĪÙĦا", + "ĠÙĪ ÙĦا", + "ĠÙĪÙĦ ا", + "ĠÄįlán ku", + "Ġa dım", + "Ġad ım", + "Ġadı m", + "ĠÏĢ Î±Ïģά", + "ĠÏĢαÏģ ά", + "ĠÏĢα Ïģά", + "Ġzá ÅĻÃŃ", + "Ġ à¸Īำà¸ģ", + "Ġà¸Īำ à¸ģ", + "Ġп ен", + "m enin", + "me nin", + "men in", + "meni n", + "Ġìĺ¤ ëĬĺ", + "em iz", + "emi z", + "οÏį ÏĤ", + "- स", + "íķĺ ìĭľ", + "ĠÑħ ви", + "ĠÑħв и", + "ãĤ° ãĥ©", + "Ġп оÑĪ", + "Ġпо ÑĪ", + "ĠÐŀдна ко", + "ĠÐŀднак о", + "Ñĸд но", + "íĺ ľ", + "Ñī ими", + "Ñīи ми", + "Ñīим и", + "èĥ ¸", + "Ġİ lk", + "Ġİl k", + "m ey", + "me y", + "Ġз да", + "Ġзд а", + "κ λη", + "а лом", + "ал ом", + "ало м", + "à¹Ģศ ษ", + "ا ÙĨا", + "اÙĨ ا", + "Ġ ÎŁÎ¹", + "ĠÎŁ ι", + "Ġ åıĮ", + "Ġåı Į", + "ี à¸Ĥ", + "Ġ بس", + "Ġب س", + "è§Ħ å®ļ", + "i say", + "is ay", + "isa y", + "uk arı", + "uka rı", + "æµģ éĩı", + "v ÃŃm", + "vÃŃ m", + "λ Ïİ", + "ä¹ Ļ", + "Ġल ड", + "ĠÙĨد ارد", + "ĠÙĨدار د", + "е ÑĢом", + "еÑĢ Ð¾Ð¼", + "еÑĢо м", + "Ġsır asında", + "Ġsıras ında", + "Ġsıra sında", + "Ġr Äĥng", + "Æ¡ m", + "Ġl ạnh", + "Ġlạ nh", + "ठĥ", + "à¥ģ ण", + "à¥ģठ£", + "uz ey", + "uze y", + "Ġ Ñĥва", + "ĠÑĥ ва", + "ĠÑĥв а", + "vÄĽ d", + "Ñĭ Ñģ", + "Ġ κι", + "Ġκ ι", + "Ñ ķ", + "ÛĮ ا", + "à¸ĩ à¸Ħ", + "ph ylum", + "phy lum", + "phyl um", + "Ġber aber", + "ี à¸Ķ", + "æµ ®", + "ा सन", + "ास न", + "o vice", + "ov ice", + "ovic e", + "ovi ce", + "è¦ §", + "Ġस फ", + "å°ij 女", + "ан ÑĤи", + "анÑĤ и", + "é¨ ĵ", + "Ġso át", + "é¬ ¼", + "lan mÄ±ÅŁ", + "Ġb ếp", + "ÙIJ ÙĦ", + "Ġsay ısı", + "Ġsayı sı", + "ĠÙĤ دÙħ", + "ĠÙĤد Ùħ", + "à¥Ī म", + "ह म", + "ĠÑĢ Ñĥки", + "ĠÑĢÑĥ ки", + "ĠÑĢÑĥк и", + "ĠصÙģ ØŃÙĩ", + "Å¡ ky", + "Å¡k y", + "é» Ĵ", + "èģ ļ", + "ãģĭ ãģ«", + "Ġs âu", + "ед аг", + "ĠÑģÑĤоÑĢ Ð¾Ð½Ñĭ", + "ĠÑģÑĤоÑĢон Ñĭ", + "Ġ ruk", + "Ġr uk", + "Ġru k", + "âĢĮ âĢĮ", + "ĠØ¢ ÙĪØ±", + "Ġع دÙħ", + "Ġعد Ùħ", + "õ i", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "Ġبا زار", + "Ġباز ار", + "Ġe deb", + "Ġed eb", + "Ġv ÄįetnÄĽ", + "оп аÑģ", + "Ġн ег", + "Ġне г", + "m ayan", + "ma yan", + "may an", + "maya n", + "к оÑģÑĤÑĮ", + "ко ÑģÑĤÑĮ", + "Ġsv ůj", + "ÄŁ ında", + "ģı nda", + "ģın da", + "ذ ÛĮر", + "M á»Ļt", + "Ð Ħ", + "Ġyap tı", + "ि थ", + "िठ¥", + "ĠÙħ Ùĩر", + "ĠÙħÙĩ ر", + "Ġд оÑģÑĤи", + "Ġдо ÑģÑĤи", + "ĠдоÑģÑĤ и", + "ĠдоÑģ ÑĤи", + "Ġ صÙĪØ±", + "Ġص ÙĪØ±", + "m esine", + "mes ine", + "mesi ne", + "ĠD ân", + "ä¸Ģ ä¸ĭ", + "çį İ", + "ĠÐľ иÑħ", + "ĠÐľÐ¸ Ñħ", + "Ġо Ñĩи", + "ĠоÑĩ и", + "ãĤ¦ ãĤ§", + "Ġ ÑĸÑģ", + "ĠÑĸ Ñģ", + "Ġgi ác", + "Ġgiá c", + "åľ¨çº¿ è§Ĥçľĭ", + "Ġاد اÙħÙĩ", + "ÑĨ ов", + "ÑĨо в", + "Ġ комÑĥ", + "Ġк омÑĥ", + "Ġком Ñĥ", + "Ġко мÑĥ", + "Ġİng iliz", + "Ġг ÑĢаж", + "ĠгÑĢа ж", + "ĠгÑĢ Ð°Ð¶", + "ãģ¦ ãĤĤ", + "Ġch ữ", + "олÑĮ кÑĥ", + "m ÄĽt", + "mÄĽ t", + "Ñıг ом", + "Ñĩ аÑģÑĤ", + "Ñĩа ÑģÑĤ", + "ÑĩаÑģ ÑĤ", + "ìĸ ¼", + "Ġkh óa", + "Ġkhó a", + "ĠÐIJ д", + "ĠØ¢ ÙĤ", + "Ġkurul uÅŁ", + "ά ζ", + "Ġж ов", + "Ġв ÑģÑĤÑĢе", + "ĠвÑģÑĤ ÑĢе", + "ĠÙĪ ÙĦÙĥ", + "ĠÙĪÙĦ Ùĥ", + "Ġt uyá»ĩt", + "y ı", + "Ġ ÐĴо", + "ĠÐĴ о", + "Ġv á»įng", + "Ġvá» įng", + "ع ÙĬØ©", + "عÙĬ Ø©", + "Ġop ÄĽt", + "ا ÙĬد", + "اÙĬ د", + "à¥Ī .Ċ", + "à¥Ī. Ċ", + "ĠÑģ ами", + "ĠÑģам и", + "åª Ĵ", + "Ġsv ých", + "ĠëĤĺ íĥĢ", + "ìĨ IJ", + "Ġ ÙĦع", + "ĠÙĦ ع", + "Ġet kin", + "Ġetk in", + "Ġetki n", + "ĠN á", + "Ġsou tÄĽ", + "Ġsout ÄĽ", + "층 ìĿĺ", + "Ġ çŃī", + "ĠçŃ ī", + "Ġر سÙħ", + "Ġرس Ùħ", + "Ġ خاÙĨÙĩ", + "ĠØ® اÙĨÙĩ", + "ĠخاÙĨ Ùĩ", + "Ġ å®¶", + "Ġå® ¶", + "iá» ģm", + "iá»ģ m", + "ëħ IJ", + "ê° Ī", + "ì° ©", + "ž il", + "ži l", + "ÑģÑĤиÑĤ ÑĥÑĤ", + "ÑģÑĤиÑĤÑĥ ÑĤ", + "or uÄį", + "oru Äį", + "ĠØ¥ ذا", + "Ġإذ ا", + "à¹Ħ à¸Ĥ", + "ี à¸Ĭ", + "ÑĢ Ð°Ð±", + "ÑĢаР±", + "ÑĢа б", + "íķĻ ìĥĿ", + "Ġ ìī", + "Ġì ī", + "r nek", + "rn ek", + "rne k", + "Ġاست خداÙħ", + "ãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ãĢĢĠ ãĢĢĠãĢĢĠãĢĢ", + "Ġв Ñģем", + "ĠвÑģ ем", + "ĠвÑģе м", + "Ġìłķ ëıĦ", + "Ġvy j", + "éĢ ±", + "алÑĮ ное", + "алÑĮно е", + "Ġch uyá»ĩn", + "ì§Ģ ìĽIJ", + "i lerine", + "ile rine", + "iler ine", + "ileri ne", + "ilerin e", + "ĠìķĦ 무", + "Ġок оло", + "ाव न", + "à¸Ļ า", + "о пÑĢи", + "оп ÑĢи", + "d rž", + "dr ž", + "ĠÑģÑĥ ÑģпÑĸлÑĮ", + "Ġب Ùĥ", + "u ky", + "uk y", + "Ġ ÏĩÏī", + "ĠÏĩ Ïī", + "Ġtu ần", + "nict vÃŃ", + "Ġ ÙĩدÙģ", + "ĠÙĩد Ùģ", + "Ġch iá»ģu", + "ÎĹ ÎĿ", + "å°ı å§IJ", + "íķĺ ìĺĢ", + "Ġk las", + "Ġkl as", + "Ġkla s", + "á»Ļ n", + "ĠìĿ´ íĽĦ", + "ÙĨ اÙħج", + "ÙĨا Ùħج", + "ÙĨاÙħ ج", + "Äį ast", + "Äįas t", + "ĠاÙĦ خاص", + "ĠاÙĦØ® اص", + "l Ä±ÅŁ", + "lı ÅŁ", + "Ġع Ùħر", + "ĠعÙħ ر", + "ãĢį Ċ", + "иб олее", + "ãĤĬ ãģ®", + "ãħ ł", + "ä¹Ł ä¸į", + "к ÑĢеÑĤ", + "Ġ ìĶ", + "Ġì Ķ", + "ÏĦ ια", + "ÏĦι α", + "ĠÑĥпÑĢав лÑĸннÑı", + "æ² ¢", + "Ġk esin", + "Ġke sin", + "Ġkes in", + "ì¡Į ëĭ¤", + "머 ëĭĪ", + "羣 çļĦ", + "Ġbak ım", + "æĿ± 京", + "¾ ¸", + "ÙħÙĦ ÙĥØ©", + "оÑĤ ÑĢеб", + "d ın", + "dı n", + "Ġ PÅĻi", + "ĠP ÅĻi", + "ĠPÅĻ i", + "Ġm ÄĽli", + "ĠmÄĽ li", + "ĠmÄĽl i", + "Ġδη μο", + "å ¯¸", + "å¯ ¸", + "ĠÙĪ ÙĥاÙĨ", + "ĠÙĪÙĥ اÙĨ", + "Ġप ढ", + "ĠвеÑĢ Ñħ", + "Ġе Ñij", + "C ách", + "Các h", + "ä½ľ 为", + "ĠÐļ ол", + "ĠÐļо л", + "Ġ ве", + "Ġв е", + "Ġ деÑĢж", + "Ġд еÑĢж", + "ĠдеÑĢ Ð¶", + "em oc", + "emo c", + "ãģ¸ ãģ®", + "Ġ аÑĢÑħ", + "ĠаÑĢ Ñħ", + "Ġk iếm", + "Ġ æĺİ", + "Ġæĺ İ", + "ĠлÑİд ини", + "ĠлÑİди ни", + "ë ·", + "ĠÙĪ Ø§ÙĦت", + "ĠÙĪØ§ÙĦ ت", + "ĠÙĪØ§ ÙĦت", + "Ġ è°", + "Ġè °", + "çģ ¯", + "íĻ ķ", + "Ġ구 매", + "Ġ ç§ij", + "Ġç§ ij", + "it nÃŃ", + "и ÑĩеÑģкие", + "иÑĩеÑģ кие", + "иÑĩеÑģки е", + "ĠÙĨ Ù쨳", + "ĠÙĨÙģ Ø³", + "Ġت ÙĦÙģ", + "ĠتÙĦ Ùģ", + "ا ÙģÛĮ", + "اÙģ ÛĮ", + "ĠØŃ سÙĨ", + "ĠØŃس ÙĨ", + "âĸ¡ âĸ¡", + "ý vá", + "ýv á", + "ÄŁ ın", + "ģı n", + "ıyor uz", + "ĠCh ÃŃ", + "ĠÙ¾ÚĺÙĪÙĩ Ø´", + "Ġ ÏĦÎŃ", + "ĠÏĦ ÎŃ", + "ĠÏĥ Ïĩε", + "ĠÏĥÏĩ ε", + "о леÑĤ", + "ол еÑĤ", + "α ιδ", + "αι δ", + "Ġh ạt", + "Ġhạ t", + "à¸ł าà¸Ħ", + "åĨ °", + "Ġrych le", + "it eli", + "ite li", + "itel i", + "Âł z", + "ย à¸ģ", + "æ¨ ¹", + "Ġج ÙĪØ§ÙĨ", + "ĠجÙĪ Ø§ÙĨ", + "æĺ Į", + "Ġü retim", + "Ġür etim", + "Ġüret im", + "ระ à¸ļ", + "à¸Ľà¸£à¸° ม", + "ά Ïĥ", + "å² ©", + "ĠÑĥ ÑģÑĤÑĢой", + "ĠÑĥÑģÑĤ ÑĢой", + "Ġver ilen", + "Ġveri len", + "ich ni", + "ĠpÅĻÃŃ mo", + "ĠpÅĻÃŃm o", + "ĠاÙĦذÙĩ اب", + "ì½ ľ", + "æľ ±", + "Ġس Ø®", + "Ñĸ ла", + "Ñĸл а", + "Ñĥ ма", + "Ñĥм а", + "ห า", + "ÛĮ دا", + "ÛĮد ا", + "å² ¸", + "ä¸Ģ å®ļ", + "Ġ ä¼ļ", + "Ġ ÐŁÑĸд", + "ĠÐŁ Ñĸд", + "Ġ ÑĩиÑĤ", + "ĠÑĩ иÑĤ", + "ĠÑĩи ÑĤ", + "и Ñİ", + "Ġ ÐĹап", + "ĠÐĹ Ð°Ð¿", + "ĠÐĹа п", + "ÑĤ иÑı", + "ÑĤи Ñı", + "Ġ ê°ľë°ľ", + "Ġê°ľ ë°ľ", + "ĠÑĤе оÑĢ", + "Ñı ÑģÑĮ", + "ÑıÑģ ÑĮ", + "ĠpÅĻÃŃ prav", + "( åľŁ", + "Ùħ ÙĬ", + "ĠpÅĻed evÅ¡ÃŃm", + "ĠTem muz", + "Ġпод деÑĢж", + "Ġнед оÑģÑĤаÑĤ", + "ĠìĿ´ ìľł", + "Ġkhá»ı i", + "ĠاÙĦ تØŃ", + "ĠاÙĦت ØŃ", + "ĠÙħÙħ Ú©ÙĨ", + "Ġv hod", + "Ġvh od", + "ев ой", + "ево й", + "о вал", + "ов ал", + "ова л", + "Ġн алеж", + "Ġна леж", + "Ġнал еж", + "ï¼¼ :", + "ย ะ", + "ĠÙħ اشÛĮÙĨ", + "Ġg á»Ńi", + "al ım", + "alı m", + "Ġìµľ ìłĢ", + "Ùij Ùĩ", + "á»Ļ p", + "à¥Ģ ।Ċ", + "à¥Ģ। Ċ", + "Ġ пиÑģ", + "Ġп иÑģ", + "Ġпи Ñģ", + "Ġ вÑģÑı", + "Ġв ÑģÑı", + "ĠвÑģ Ñı", + "Ñĩ ем", + "Ñĩе м", + "o zenÃŃ", + "oz enÃŃ", + "oze nÃŃ", + "Ġ äºļæ´²", + "Ġäºļ æ´²", + "е ÑĢалÑĮ", + "еÑĢ Ð°Ð»ÑĮ", + "еÑĢа лÑĮ", + "기 ëĬĶ", + "Ġп ÑĢез", + "ĠпÑĢ ÐµÐ·", + "ĠпÑĢе з", + "ĠعÙħ ÙĪÙħÛĮ", + "и ÑĩниÑħ", + "иÑĩ ниÑħ", + "Ġ æ²³", + "Ġæ² ³", + "od nÃŃ", + "åıª æĺ¯", + "Ġpo dp", + "Ġpod p", + "à¹īà¸Ńà¸ĩ à¸ŀ", + "ाय द", + "ाà¤ĩ ल", + "ล à¸Ķ", + "ĠÑĢÑĸÑĪ ÐµÐ½Ð½Ñı", + "Ġ ÑĤÑĥÑĢ", + "ĠÑĤ ÑĥÑĢ", + "ĠÑĤÑĥ ÑĢ", + "ÑģÑĮ кÑĥ", + "ÑģÑĮк Ñĥ", + "Ġsal dır", + "ĠÐĽ ÑĮв", + "ãĢģ Ċ", + "ĠÙ¾ÛĮ ÙĪÙĨد", + "åѦ ä¹ł", + "λ Ïī", + "o vit", + "ov it", + "ovi t", + "ü le", + "ül e", + "女 æĢ§", + " Ł", + "e mez", + "em ez", + "eme z", + "Ġh ale", + "Ġha le", + "Ġhal e", + "âī ¦", + "ĠÎķ κ", + "ÏĦηγοÏģ ία", + "k ý", + "ìĦ± ìĿĦ", + "Ġt ým", + "Ġtý m", + "à¥ĩ -", + "Ġz ejména", + "æĻ ¶", + "Ġn gon", + "Ġng on", + "ãĢı ĊĊ", + "软 ä»¶", + "éĤ£ ä¹Ī", + "ĠкваÑĢ ÑĤи", + "ĠÙħÙĨ ظ", + "on ec", + "one c", + "Ġг ли", + "à¥ģर à¤ķ", + "ĠS okol", + "ĠSo kol", + "ĠSok ol", + "Ġ ä¿Ŀ", + "д ив", + "ди в", + "ál nÃŃm", + "áln ÃŃm", + "álnÃŃ m", + "ac aģı", + "aca ģı", + "acaÄŁ ı", + "a ÅŁa", + "aÅŁ a", + "ĠÙħ اÙĦÛĮ", + "ĠÙħا ÙĦÛĮ", + "ĠÙħاÙĦ ÛĮ", + "ĠÃĸ n", + "иÑĤ ели", + "иÑĤе ли", + "ĠØ® رد", + "Ġخر د", + "Ġkullan ıl", + "Ġkullanı l", + "Ġ ÙħÛĮÙĦ", + "ĠÙħ ÛĮÙĦ", + "ĠÙħÛĮ ÙĦ", + "Ġ íļ¨", + "Ġíļ ¨", + "ã n", + "Ġ rost", + "Ġr ost", + "Ġro st", + "Ġros t", + "Ġëĸ ł", + "u bat", + "ub at", + "uba t", + "Ġ åıĤ", + "Ġåı Ĥ", + "Ġبر اÙĬ", + "Ġм енÑĮ", + "Ġмен ÑĮ", + "ั à¸Ħร", + "ัà¸Ħ ร", + "Ġпом ог", + "ĠØŃض ÙĪØ±", + "Ġthá»ĭ t", + "ä¹ ³", + "Ġ ìĭłì²Ń", + "Ġìĭł ì²Ń", + "Ġíĺ Ħìŀ¬", + "ĠíĺĦ ìŀ¬", + "Ġ ë¹ł", + "Ġë¹ ł", + "вÑĢоп ей", + "Ġne jen", + "Ġnej en", + "Ñĸ ка", + "Ñĸк а", + "Ġ ìļ¸", + "Ġìļ ¸", + "ĠÙħ بار", + "ĠÙħب ار", + "Ġ Äįek", + "ĠÄį ek", + "ĠÄįe k", + "Ġk alk", + "Ġka lk", + "Ġkal k", + "Ġ amac", + "Ġa mac", + "Ġam ac", + "Ġama c", + "اد ت", + "ĠÙħ اسÙĩ", + "ĠÙħا سÙĩ", + "Ġarasında ki", + "Ġaras ındaki", + "Ġб еÑģ", + "ĠоÑĤд елÑĮ", + "ĠоÑĤдел ÑĮ", + "á½ ¶", + "ĠΤ ζ", + "v yk", + "vy k", + "ج ÙĨ", + "» ê²Į", + "ĠниÑĩ его", + "ĠØ´ اÙħÙĦ", + "ĠÑĥÑģловиÑı Ñħ", + "la ması", + "lam ası", + "lama sı", + "è½ ī", + "ç¾ ½", + "Ġж ид", + "ĠоÑĤ ноÑģ", + "ĠздÑĸйÑģ нÑİ", + "Ġ VỼi", + "ĠV Ỽi", + "ÙĪ ÙĦÛĮ", + "ÙĪÙĦ ÛĮ", + "Ġt isÃŃ", + "Ġti sÃŃ", + "ĠÏĩ ÏģÏĮ", + "Ġprac ovnÃŃ", + "Ġpracov nÃŃ", + "ĠÙĬ ÙĥÙĪÙĨ", + "ĠÙĬÙĥ ÙĪÙĨ", + "Ġb eÅŁ", + "Ġbe ÅŁ", + "ج ز", + "ั à¸ļร", + "ัà¸ļ ร", + "ĠYön et", + "Ġشر اÛĮØ·", + "ĠتÙĪØ³ عÙĩ", + "çĹ ĩ", + "à¸ĩ à¹Ģà¸Ľ", + "ä¸Ģ 次", + "ĠÐłÐ¾ÑģÑģий Ñģкой", + "æľĢ é«ĺ", + "Ġsp olu", + "Ġspo lu", + "Ġspol u", + "д аеÑĤÑģÑı", + "да еÑĤÑģÑı", + "даеÑĤ ÑģÑı", + "Ñĸ ÑĤÑĥ", + "ÑĸÑĤ Ñĥ", + "Ġоб ÑĢаÑĤ", + "ĠобÑĢа ÑĤ", + "e nek", + "en ek", + "ene k", + "Ġ mek", + "Ġm ek", + "Ġme k", + "å¦ Ī", + "Ġдоп олниÑĤелÑĮ", + "Ġ ç²", + "Ġç ²", + "ĠÙĦ ÙĦت", + "ĠÙĦÙĦ ت", + "ĠHaz iran", + "æ¸ Ī", + "à¹Į à¸Ĥà¸Ńà¸ĩ", + "ĠÑĦ он", + "Ġê²ĥ ìľ¼ë¡ľ", + "Ġnh é", + "Ġbu gün", + "Ġbug ün", + "ov ém", + "ové m", + "Ġза веÑĢ", + "Ġзав еÑĢ", + "Ġд виг", + "Ġдв иг", + "Ġдви г", + "ä¼ Ļ", + "Ġnu ôi", + "меÑĢ Ð¸Ðº", + "ме ÑĢик", + "ĠÙĨÙħ ÙĪÙĨÙĩ", + "èį ·", + "Ñĥ вала", + "Ñĥв ала", + "Ñĥва ла", + "ç¿ »", + "Ġs ân", + "ог оÑİ", + "ого Ñİ", + "ا سÙĬØ©", + "اس ÙĬØ©", + "اسÙĬ Ø©", + "Ñĥн кÑĤ", + "Ñĥнк ÑĤ", + "á nÃŃm", + "án ÃŃm", + "ánÃŃ m", + "ен ное", + "енно е", + "Ġph út", + "Ġ मर", + "Ġम र", + "ĠاÙĦ ÙĪØ·", + "ĠاÙĦÙĪ Ø·", + "Ġлег ко", + "Ġ ãĢĭ", + "ĠãĢ ĭ", + "ë¡ľ ëĵľ", + "ĠKas ım", + "ÙĬ ÙĦÙĬ", + "ÙĬÙĦ ÙĬ", + "ĠbaÄŁlantı lar", + "ĠÑĤ ÑĢÑĥд", + "ĠÑĤÑĢ Ñĥд", + "ĠÑĤÑĢÑĥ д", + "Ø· Ùĩ", + "Ġk vůli", + "ÑģÑĤ оÑı", + "Ġsat Ä±ÅŁ", + "Ġh áºŃu", + "ĠبÙĩ ترÛĮÙĨ", + "ĠبÙĩتر ÛĮÙĨ", + "ĠÑģ елÑĮ", + "ĠÑģел ÑĮ", + "ั à¸Ļว", + "ัà¸Ļ ว", + "o su", + "os u", + "य न", + "åĽ ³", + "ι δ", + "ÛĮ تÛĮ", + "ÛĮت ÛĮ", + "ĠQu áºŃn", + "Ġ ей", + "Ġе й", + "à¹Ģว ลา", + "à¹Ģวล า", + "ìĬ¤ íĥĢ", + "ìĤ¬ 를", + "Ġا ÙĩÙĦ", + "ĠاÙĩ ÙĦ", + "η γ", + "Ġk á»·", + "Ġká» ·", + "Ġ наÑĤ", + "Ġн аÑĤ", + "Ġна ÑĤ", + "âĢ ¡", + "Ñĸ ÑĩниÑħ", + "ÑĸÑĩ ниÑħ", + "ĠÑĢазвиÑĤи Ñı", + "ĠÑĢазви ÑĤиÑı", + "e cial", + "ec ial", + "eci al", + "ĠÑħ озÑı", + "в аеÑĤ", + "ва еÑĤ", + "ĠÄIJ á»Ļ", + "ĠÄIJá» Ļ", + "Ġ éĵ", + "Ġé ĵ", + "Ġok am", + "ĠвÑģ ÑĸÑħ", + "ĠвÑģÑĸ Ñħ", + "ĠPr aze", + "ĠPra ze", + "ë¥ ł", + "ι κα", + "ικ α", + "æ¬ ²", + "Ġgerçek leÅŁ", + "ç¥ ĸ", + "Ġод ним", + "Âł M", + "Ġre nk", + "Ġr enk", + "Ġren k", + "Ġल à¤ķ", + "ãĥķ ãĤ§", + "ãĥķãĤ §", + "ĠÙĨ زد", + "å¹ »", + "Ġúzem ÃŃ", + "æı ¡", + "а лиÑģÑı", + "али ÑģÑı", + "Ġ ÃĶ", + "Ġà Ķ", + "Ġy orum", + "Ġyo rum", + "ĠÏĢ ÏģÏī", + "ãĥ³ ãĥĩ", + "ãĥ³ãĥ ĩ", + "éĸĭ å§ĭ", + "ãĥ¼ ãĥª", + "ãĥ¼ãĥ ª", + "Ġìĸ¼ êµ´", + "Û± Û±", + "Û±Û ±", + "lü ÄŁÃ¼", + "lÃ¼ÄŁ ü", + "ÙĨ Ø´", + "à¹Ī ำ", + "èĽ ĭ", + "ĠØ£ د", + "ĠW illi", + "ĠWill i", + "ĠWil li", + "ĠWi lli", + "èª ²", + "Ġsür dür", + "ĠEx ternÃŃ", + "Ġp ůvod", + "Ġpů vod", + "ĠØ® اÙĨÙĪ", + "ĠخاÙĨ ÙĪ", + "ĠкоÑĤоÑĢ Ð¾Ðµ", + "Ġm ohl", + "Ġmo hl", + "Ġmoh l", + "Ġs tÄĽ", + "Ġst ÄĽ", + "åĩ ı", + "ìĤ ¼", + "aban cı", + "à¹ģ à¸Ļ", + "สำ à¸Ħ", + "æĤ £", + "ab ilece", + "abil ece", + "abile ce", + "éĺ³ åŁİ", + "Îij Îļ", + "Ġch ữa", + "Ġchữ a", + "ĠìķĦ ëĭ", + "طبÙĬ ÙĤ", + "طب ÙĬÙĤ", + "ÎĻ ÎŁÎ¥", + "ÎĻÎŁ Î¥", + "ÑĢ Ð¾Ð²Ð°Ð½Ð¸Ðµ", + "ÑĢов ание", + "ÑĢо вание", + "ÑĢован ие", + "ÑĢова ние", + "åĩ ½", + "Ġ ì¼", + "Ġì ¼", + "ÑĢ Ð¾ÑĦ", + "ÑĢо ÑĦ", + "à¹ĩ à¸Ļส", + "à¹ĩà¸Ļ ส", + "Ġ ãĤ¦", + "ĠãĤ ¦", + "ï¼ļ ãĢĮ", + "á»ĭ a", + "Ġ hPa", + "Ġh Pa", + "m anı", + "man ı", + "ál nÃŃho", + "álnÃŃ ho", + "ÙĪ ØªÛĮ", + "ÙĪØª ÛĮ", + "ĠлеÑĩ ениÑı", + "j te", + "jt e", + "- д", + "åħ¨ åĽ½", + "ĠбÑĥд Ñĸв", + "Ġz atÃŃm", + "Ġzat ÃŃm", + "Ġ öyle", + "Ġö yle", + "ìĿ´ ê°Ģ", + "s tal", + "st al", + "sta l", + "i vatel", + "iv atel", + "ivate l", + "iva tel", + "Ġ æľª", + "Ġpož ad", + "ĠÑģ ни", + "Ġpos lednÃŃ", + "Ġposled nÃŃ", + "ĠÑģÑĤ анд", + "ĠÑģÑĤан д", + "ĠÑģÑĤа нд", + "à¥Ģ à¤ıम", + "à¥Ģà¤ı म", + "Ġ عکس", + "Ġع کس", + "ÑĢ Ð¸Ñı", + "ÑĢи Ñı", + "ã y", + "á»ĭ p", + "Ġo kul", + "Ġok ul", + "Ġoku l", + "à¸ĩ หมà¸Ķ", + "Ġвоз ник", + "m ÃŃ", + "ç§ Ł", + "ĠÄij á»ijc", + "Ġp odÃŃ", + "Ġpo dÃŃ", + "Ġpod ÃŃ", + "ĠÅĻÃŃ j", + "ĠÑĤак Ñĸ", + "ĠÑĤа кÑĸ", + "à¸ļ าà¸Ĺ", + "Ġ 보기", + "Ġë³´ 기", + "ล า", + "еÑģ ÑĤо", + "еÑģÑĤ о", + "Ġ ç͍", + "и нÑĭ", + "ин Ñĭ", + "ĠÑĢ ÑĥÑħ", + "ĠÑĢÑĥ Ñħ", + "ĠÑĢаÑģп олож", + "Ñī еннÑı", + "Ġc á»Ń", + "à¹ī à¸ļร", + "à¥įयव स", + "ï¾ ļ", + "Ġд алÑĮ", + "Ġда лÑĮ", + "Ġдал ÑĮ", + "Ġض د", + "ÙĦ ÙĬØ©", + "ÙĦÙĬ Ø©", + "ĠкоÑĤоÑĢ Ð¾Ð³Ð¾", + "Ġd ve", + "Ġdv e", + "Ġnh ạc", + "ÑĦ Ñĸка", + "ÑĦÑĸ ка", + "ÑĦÑĸк а", + "à¥Ī à¤Ł", + "èĩª çͱ", + "Ġпо ÑĢÑĥÑĪ", + "ĠпоÑĢ ÑĥÑĪ", + "æľĭ åıĭ", + "Ġd ört", + "Ġdö rt", + "ĠÑĢаÑģп ÑĢоÑģÑĤ", + "ãģ§ ãģ¯ãģªãģĦ", + "ãģ§ãģ¯ ãģªãģĦ", + "ĠпеÑĢ ÐµÐ³", + "ĠпеÑĢе г", + "Ġ ánh", + "Ġá nh", + "Ġán h", + "ĠV ÃŃ", + "ظ Ù¹", + "à¥į रण", + "à¥įर ण", + "Ġb ilim", + "Ġbi lim", + "Ġbil im", + "Ġlid é", + "Ġd ÃŃky", + "ĠdÃŃ ky", + "ĠÄIJ á»ĵng", + "Ġ εÏģγ", + "Ġε Ïģγ", + "Ġzn ovu", + "Ïĥ ια", + "Ïĥι α", + "Ñ ŀ", + "स à¤Ń", + "e kk", + "ek k", + "Ġμε ÏĦά", + "ÑģÑĤ иÑĩ", + "ÑģÑĤи Ñĩ", + "ÛĮ ÙĨÚ¯", + "ÛĮÙĨ Ú¯", + "ĠÑıв лÑıÑİÑĤÑģÑı", + "Ġ 建", + "Ġå» º", + "Ïĥ Ïĥα", + "ÏĥÏĥ α", + "ав лива", + "à¸ģ รม", + "à¸ģร ม", + "ç¬ Ķ", + "Ġ ге", + "Ġг е", + "Ġ رÙĩ", + "Ġر Ùĩ", + "Ġм ел", + "Ġна пÑĢимеÑĢ", + "ĠнапÑĢи меÑĢ", + "Ġм ик", + "Ġми к", + "ĠاÙĦس ÙĥاÙĨ", + "æ¤ ľ", + "ĠÐļ ÑĢа", + "Ġv Ãłi", + "ĠvÃł i", + "ائ Ùħ", + "ĠÏĩ Ïģή", + "leÅŁ me", + "Ġ jas", + "Ġj as", + "Ġja s", + "ê²Į ìŀĦ", + "Ġm aç", + "Ġma ç", + "Ġì§Ħ íĸī", + "à¥ĩद न", + "Ġvů bec", + "ĠÙĦ ÙĨ", + "è« ĩ", + "âī¡ âī¡", + "л ением", + "ление м", + "лен ием", + "ле нием", + "ع ÙĨÛĮ", + "عÙĨ ÛĮ", + "ãĥŀ ãĥ³", + "İ Z", + "ĠÃĸ ÄŁ", + "ĠìŬ ìŀIJ", + "y Å¡", + "Ġ ÑģÑĤа", + "ĠÑģ ÑĤа", + "ĠÑģÑĤ а", + "Ġ สำหร", + "Ġสำ หร", + "Ġन व", + "ãĢĤ ä½Ĩ", + "олÑĮ но", + "Ġyan ında", + "Ġyanı nda", + "è² ´", + "Ġjednot liv", + "Ġ åİŁ", + "Ġåİ Ł", + "éłħ 缮", + "Ġमद द", + "리 ìĹIJ", + "ĠÙħ اÙĬ", + "ĠÙħا ÙĬ", + "ĠÑĩ еÑĢв", + "ĠÑĩеÑĢ Ð²", + "Ġd áv", + "Ġdá v", + "ÙĦ ÛĮÙĩ", + "ÙĦÛĮ Ùĩ", + "? #", + "Äį nÃŃm", + "ÄįnÃŃ m", + "ÑĢ ÐµÐ³", + "ÑĢе г", + "ĠпÑĢимен Ñı", + "ĠпÑĢим енÑı", + "ãĤĬ ãģ¨", + "ê° Ļ", + "Ġtop lam", + "Ġtopl am", + "i leÅŁ", + "il eÅŁ", + "ile ÅŁ", + "Ġk ategor", + "ÑĤ ал", + "ÑĤа л", + "ãģ«ãĤĪ ãĤĭ", + "Ġdom ác", + "Ġ ê·ľ", + "Ġê· ľ", + "ĠÙĩ زار", + "ĠpÅĻÃŃ stup", + "ĠpÅĻÃŃst up", + "ı lıyor", + "ılı yor", + "ıl ıyor", + "ж ди", + "жд и", + "ĠD ương", + "ĠPh áºŃt", + "Ġç ünkü", + "구 ê¸ĢìĥģìľĦ", + "ov aných", + "ova ných", + "ovan ých", + "ovaný ch", + "Ġع Ø´", + "Ġà¤ķर à¤ķ", + "ž ÃŃt", + "žÃŃ t", + "Ġ vÄĽtÅ¡ÃŃ", + "ĠvÄĽt Å¡ÃŃ", + "ĠvÄĽtÅ¡ ÃŃ", + "ĠاÙħ کاÙĨ", + "Ġn ông", + "Ġz ám", + "Ġzá m", + "à¥Į न", + "е каÑĢ", + "ек аÑĢ", + "ека ÑĢ", + "Âł Т", + "k ami", + "ka mi", + "ĠÑĢеÑģ ÑĥÑĢ", + "п оÑģ", + "по Ñģ", + "Ùİ ÙĤ", + "ί λ", + "Ġ سازÛĮ", + "Ġس ازÛĮ", + "Ġساز ÛĮ", + "Ġçık an", + "Ġçı kan", + "ĠdÃŃ tÄĽ", + "Ġتص ÙĪ", + "ç¯ ĩ", + "н д", + "Ġrám ci", + "h ong", + "ho ng", + "hon g", + "Ġ ÑģÑĸм", + "ĠÑģ Ñĸм", + "s ak", + "sa k", + "к еÑĤ", + "ке ÑĤ", + "д Ñĸл", + "дÑĸ л", + "ç¹ Ķ", + "Ġth Æ°á»Łng", + "Ġне ÑĹ", + "з Ñĸ", + "ÅĻ ÃŃd", + "ÅĻÃŃ d", + "ित न", + "à¤ı à¤ķ", + "Ġs ữa", + "ĠÙħ رØŃ", + "ĠÙħر ØŃ", + "é ŀ", + "Ġc ưá»Ŀng", + ": .:", + ":. :", + "ÑĤ ен", + "ÑĤе н", + "èī ¦", + "Ġkh ợi", + "Ġ 기ì¤Ģ", + "Ġ기 ì¤Ģ", + "lan ır", + "彩 票", + "ض ÛĮ", + "Ġuz av", + "Ġb oh", + "Ġbo h", + "è m", + "Ġ æ£", + "Ġæ £", + "n ici", + "ni ci", + "nic i", + "( çģ«", + "åħ³ äºİ", + "Ñĸ ÑĩнÑĸ", + "ÑĸÑĩ нÑĸ", + "à¸ģ ารà¸ĵ", + "à¸ģาร à¸ĵ", + "Ġì² «", + "ÑĢ ÑĥеÑĤ", + "ÑĢÑĥ еÑĤ", + "ĠarÅŁiv lendi", + "ÑĤ им", + "ÑĤи м", + "า à¸ł", + "าภł", + "Ġبر ابر", + "Ġ à¹Ģà¸ĭ", + "Ġà¹Ģ à¸ĭ", + "Ġà¹Ģภĭ", + "ĠÄij êm", + "è· ³", + "Ġyön etim", + "Ġyönet im", + "Ġ éķ·", + "Ġéķ ·", + "ãĥĨ ãĥ¬ãĥĵ", + "м аÑĤи", + "ма ÑĤи", + "маÑĤ и", + "è´£ ä»»", + "ick ým", + "ický m", + "è ¸", + "à¹Ģห à¸ķ", + "ëł Į", + "Ġ رÙĬ", + "Ġر ÙĬ", + "ĠвÑĭ дел", + "åĩº çݰ", + "Ġп еÑģ", + "Ġì¢ĭ ìĿĢ", + "Ġà¤ī सन", + "Ġà¤īस न", + "ĠAr alık", + "ĠAra lık", + "ĠÑĩа ÑģÑĥ", + "ĠÑĩаÑģ Ñĥ", + "l ava", + "la va", + "lav a", + "Ġ ï½ŀ", + "Ġï½ ŀ", + "æģ ĭ", + "د ÛĮد", + "دÛĮ د", + "âĢĻ den", + "âĢĻd en", + "âĢĻde n", + "Ġ åĪĿ", + "ĠåĪ Ŀ", + "ÙĪ Ø¯Ø©", + "ÙĪØ¯ Ø©", + "Ñĩ или", + "Ñĩи ли", + "Ñĩил и", + "ĠÑħаÑĢакÑĤ еÑĢиÑģÑĤи", + "ا ستاÙĨ", + "اس تاÙĨ", + "است اÙĨ", + "द र", + "ĠبÙĪØ¯ ÙĨ", + "ĠبÙĪ Ø¯ÙĨ", + "Ġп алÑĮ", + "Ġпа лÑĮ", + "Ġпал ÑĮ", + "ĠÑĤ ÑĢади", + "ĠÑĤÑĢ Ð°Ð´Ð¸", + "ĠÑĤÑĢа ди", + "Ġд еÑı", + "Ġде Ñı", + "Ġ خش", + "ĠØ® Ø´", + "Ġpok raÄį", + "Ġ구 ê¸Ģ", + "к овÑĸ", + "ко вÑĸ", + "ков Ñĸ", + "Ġ tık", + "Ġt ık", + "Ġh ấp", + "Ġza lož", + "Ġzal ož", + "१ à¥", + "Ġëĭµ ë³Ģ", + "м еÑĪ", + "ме ÑĪ", + "íļ ¨", + "Ġspol up", + "Ġspolu p", + "Ë Ĩ", + "è¾ ¦", + "Ġg á»Ĺ", + "Ġ å®ļ", + "Ġå® ļ", + "ĵ n", + "as ından", + "asında n", + "- ı", + "ĠбеÑĢ ÐµÐ·", + "大 åѸ", + "Ġз нов", + "Ġзн ов", + "ĠHo Ãłng", + "Ġد ÙĪÙĨ", + "ĠدÙĪ ÙĨ", + "Ġan lay", + "ĠÙĪ Ø²Ø§Ø±", + "ĠÙĪØ² ار", + "ĠعÙĦ ÙħÛĮ", + "ĠعÙĦÙħ ÛĮ", + "è£ ľ", + "Ġdü nya", + "Ġdün ya", + "Ġdüny a", + "Ġза лиÑĪ", + "Ġзал иÑĪ", + "Ġзали ÑĪ", + "д аеÑĤ", + "да еÑĤ", + "ν ε", + "и ÑĩеÑģкого", + "иÑĩеÑģ кого", + "ìĬ¤ íħľ", + "ĠÐij еÑĢ", + "Ġ дж", + "Ġд ж", + "Ġ опаÑģ", + "Ġоп аÑģ", + "ÏĨ α", + "Ġzv lá", + "Ġt ô", + "б еÑĢ", + "бе ÑĢ", + "ĠÎľ αÏģ", + "Ġξα Ïģ", + "ti ÄŁini", + "tiÄŁi ni", + "ãĥ¬ ãĥ³", + "ĠK ho", + "ĠKh o", + "ĠÑĸн ÑĪ", + "Ġ ï¿¥", + "ì° ¬", + "ï½ ¡", + "Ġ ноÑĩ", + "Ġн оÑĩ", + "Ġно Ñĩ", + "è¨ Ĭ", + "ÄĽ ti", + "ÄĽt i", + "å¿ Ļ", + "Ġکرد ÙĨد", + "ĠکردÙĨ د", + "ĠÄij ẩy", + "ĠÑģказ ав", + "ëĥ ¥", + "å± ¬", + "Ġश हर", + "ĠÚ©Ùħ Ú©", + "Âł ÐŁ", + "ın ca", + "нÑĸвеÑĢ ÑģиÑĤ", + "Ġ Ú¯ÙĪÙĨÙĩ", + "ĠÚ¯ ÙĪÙĨÙĩ", + "ĠÚ¯ÙĪ ÙĨÙĩ", + "ĠTop lam", + "ĠiÅŁ aret", + "ä½ł 们", + "Ġd erece", + "Ġde rece", + "Ġder ece", + "Ġdere ce", + "Ġderec e", + "ĠìĤ¬ ìĭ¤", + "Ġ ìŀIJ기", + "ĠìŀIJ 기", + "å®ŀ çݰ", + "çĶŁ çī©", + "ãģ® ä¸Ģ", + "Ġ ÑĢом", + "ĠÑĢ Ð¾Ð¼", + "ÙĪ Ø²Ùĩ", + "ÙĪØ² Ùĩ", + "Ġ ãģ¨", + "íĻ į", + "ÙĬ ÙĤ", + "Ġ åIJįçĦ¡ãģĹãģķãĤĵ", + "ĠåIJį çĦ¡ãģĹãģķãĤĵ", + "ĠåIJįçĦ¡ãģĹ ãģķãĤĵ", + "ĠÙ¾ ÛĮر", + "ĠÙ¾ÛĮ ر", + "Ġпол ез", + "ì¶ ©", + "ĠкоÑĢ Ð¿", + "IJ ëĭ¤", + "á» «a", + "ừ a", + "Îķ Τ", + "Ġжел ез", + "ãģ£ãģ ±", + "Ġx uyên", + "Ġ ë¥", + "Ġë ¥", + "à¥ĩ ।Ċ", + "à¥ĩ। Ċ", + "ĠÑģÑĤ али", + "ĠÑģÑĤал и", + "ĠÑģÑĤа ли", + "Ġpomoc ÃŃ", + "Ġdurum da", + "Ġп ÑĢоÑĪ", + "ĠпÑĢ Ð¾ÑĪ", + "ĠпÑĢо ÑĪ", + "l enÃŃ", + "le nÃŃ", + "len ÃŃ", + "β ολ", + "βο λ", + "Ġ æĸĩ竳", + "Ġæĸĩ 竳", + "tÄĽ z", + "d ÃŃl", + "dÃŃ l", + "Ġdruh é", + "ĠÑĤ огда", + "Ġh rá", + "Ġhr á", + "о ÑĤÑĮ", + "оÑĤ ÑĮ", + "า à¸ģร", + "าà¸ģ ร", + "Ġتص Ùħ", + "ĠÙħد ت", + "ка дем", + "Ġpat ÅĻÃŃ", + "ä¹ĭ åīį", + "س بة", + "سب Ø©", + "Ġпо кÑĢÑĭ", + "Ġпок ÑĢÑĭ", + "Ġn áp", + "Ġná p", + "Ġ_ {}", + "Ġ_{ }", + "ëĵ± íķĻêµIJ", + "ĠØ¥ ÙĦÙĬ", + "ĠØ¥ÙĦ ÙĬ", + "Ġöz g", + "çļ Ĩ", + "Ġhay van", + "ĠN isan", + "ĠNi san", + "غ از", + "Ġت ت", + "ĠдÑĥ Ñħов", + "ĠдÑĥÑħ ов", + "ĠÐŁÐ¾ ÑįÑĤомÑĥ", + "ÑĮ огод", + "ÑĮого д", + "Ġk uÅŁ", + "Ġku ÅŁ", + "Ġà¤ĩ सम", + "Ġà¤ĩस म", + "ج ÛĮ", + "Ġ ãĤ¿", + "ĠãĤ ¿", + "Ġв кÑĥÑģ", + "Ġвк ÑĥÑģ", + "ĠвкÑĥ Ñģ", + "ç Ģ", + "ĠвÑĭ ÑĪе", + "âĢĻ dan", + "âĢĻd an", + "âĢĻda n", + "ĠاØŃ Ùħد", + "Ġtal ep", + "Ġta lep", + "Ġtale p", + "Ġ ÏĪ", + "ĠÏ Ī", + "Ġdol ayı", + "Ġdolay ı", + "ĠÚ¯ زارش", + "б ол", + "бо л", + "ĠاÛĮÙĨ تر", + "ÑĢ Ð¾Ñĩ", + "ÑĢо Ñĩ", + ") âĢı", + "Ġ ëIJł", + "ĠëIJ ł", + "Ġk oup", + "Ġko up", + "Ġkou p", + "( æľĪ", + "é± ¼", + "Ġ огÑĢа", + "Ġо гÑĢа", + "Ġог ÑĢа", + "ĠÑĢаз м", + "ĠÑĢа зм", + "Ġت ست", + "Ġتس ت", + "ĠpÅĻÃŃ slu", + "í ĽĪ", + "ĠëĮĢ íķ´", + "à¹ģ à¸Ľ", + "ан нÑĭе", + "аннÑĭ е", + "ĠìĿ¸ íĦ°", + "Ġkullan ılan", + "Ġkullanı lan", + "Ġkullanıl an", + "Ġz tr", + "æĬĢ è¡ĵ", + "ि à¤Ľ", + "िठĽ", + "ĠاÙĦÙħ ؤ", + "ov aly", + "ova ly", + "oval y", + "us tos", + "ust os", + "usto s", + "Ġö rg", + "Ġör g", + "Ġ 太", + "Ġå¤ ª", + "ε ιο", + "ει ο", + "Ġ uÄį", + "Ġu Äį", + "ĠØ´ Ú©ÙĦ", + "ĠØ´Ú© ÙĦ", + "建 çŃij", + "Ġch ạy", + "ĠÏĩ Ïģη", + "н ÑĥÑĤ", + "нÑĥ ÑĤ", + "Ġباع Ø«", + "ĠNÄĽk ter", + "ÑĥÑĤ ÑĤÑı", + "ãģ§ãģĻ ãģĭ", + "Ġsay ılı", + "Ġsayı lı", + "им оÑģÑĤÑĮ", + "имо ÑģÑĤÑĮ", + "ĠпиÑĤ аннÑı", + "Ġk ÃŃnh", + "Ġh ran", + "Ġhr an", + "Ġhra n", + "ok rat", + "Ġed ilir", + "Ġedil ir", + "Ġà¤ķह त", + "Ġp aci", + "Ġpa ci", + "Ġpac i", + "ाल न", + "Ġи де", + "Ġид е", + "ĠZ em", + "ĠZe m", + "Ġsluž by", + "ÑģÑĤв еннÑĭй", + "ÑģÑĤвен нÑĭй", + "ĠØ¢ ÙĨاÙĨ", + "ĠØ¢ÙĨ اÙĨ", + "ĠÑĤ оваÑĢи", + "ĠÑĤоваÑĢ Ð¸", + "ĠÑĤов аÑĢи", + "ĠتØŃ ÙħÙĬÙĦ", + "ĠY ük", + "Ġк аÑĤегоÑĢ", + "ĠкаÑĤ егоÑĢ", + "íĭ Ģ", + "Ġк оÑģ", + "Ġко Ñģ", + "Ġ обов", + "Ġо бов", + "Ġоб ов", + "Ġобо в", + "ĠprostÅĻed ÃŃ", + "ĠÑģ оÑģ", + "ĠÑģо Ñģ", + "ĠÐIJ лекÑģанд", + "ĠÐIJлекÑģ анд", + "Ġ à¹Ģà¸Ĥà¸ķ", + "Ġà¹Ģà¸Ĥ à¸ķ", + "å¿ħ é¡»", + "ั à¸Ĭ", + "ĠÙĦ د", + "ãĢģ ä¸Ģ", + "ĠÎľ ÎŃ", + "Ñĥ ваÑĤиÑģÑı", + "Ñĥв аÑĤиÑģÑı", + "ÑĥваÑĤи ÑģÑı", + "Ñĥва ÑĤиÑģÑı", + "æķ ı", + "ãĥ¼ ãĥIJ", + "ãĥ¼ãĥ IJ", + "اÙĦ ÙĦÙĩ", + "Ġب Ùĩا", + "ĠبÙĩ ا", + "åĸ ¶", + "è´ µ", + "æĸ¹ åIJij", + "Ġ ì¸", + "Ġì ¸", + "Ġ ÙĨاÙħÙĩ", + "ĠÙĨ اÙħÙĩ", + "ĠÙĨاÙħ Ùĩ", + "ÑĮ ко", + "Ġv ody", + "Ġvo dy", + "Ġvod y", + "v ÃŃc", + "vÃŃ c", + "à¹ģ à¸Ī", + "Ġع ÙĦÛĮÙĩ", + "ĠعÙĦ ÛĮÙĩ", + "ĠعÙĦÛĮ Ùĩ", + "à¹ģ รà¸ĩ", + "ί να", + "ίν α", + "ãģ ¬", + "Ġ Ðŀп", + "ĠÐŀ п", + "Ġsay f", + "ï¼Į çͱ", + "ä¼ ´", + "ĠÑĥд об", + "ãģ¾ ãģł", + "Ġне пÑĢи", + "Ġнеп ÑĢи", + " İ", + "à¤¾à¤ľ प", + "pl nÄĽ", + "Ġ ìĹĦ", + "ĠìĹ Ħ", + "Ġrů zn", + "Ġrůz n", + "Ġx ếp", + "ãĥĸ ãĥ«", + "ĠзаÑħ иÑģÑĤ", + "ĠÙħص رÙģ", + "ĠÙħصر Ùģ", + "ĠvÅ¡ech no", + "ãģ® ãģĬ", + "ĠTh á»ĭ", + "Ġm ùa", + "¿ IJ", + "ĠпÑĢин ÑĨип", + "ĠاÙĨ ÙĤÙĦ", + "г аÑĢ", + "га ÑĢ", + "Ġmož nost", + "ÙĤ ÙĬÙĤ", + "ÙĤÙĬ ÙĤ", + "Ġotev ÅĻ", + "Ġ fak", + "Ġf ak", + "Ġfa k", + "Ġng uy", + "Ġngu y", + "б ов", + "бо в", + "l acaÄŁ", + "lac aÄŁ", + "ا طر", + "اط ر", + "ãģ« ãĤĪãĤĬ", + "ãģ«ãĤĪ ãĤĬ", + "æĺ¯ åľ¨", + "Ġt ầng", + "ìĿ¸ ìĿ´", + "a ÅĻ", + "ç ¢°", + "ç¢ °", + "ÏĮ με", + "Ġ ê°Ī", + "Ġê° Ī", + "ĠØ£ ØŃد", + "ĠØ£ØŃ د", + "غ راÙģ", + "غر اÙģ", + "ĠÙĬ ØŃ", + "ï½ §", + "ĠاÙĦØŃÙĬ اة", + "Ġ lep", + "Ġl ep", + "Ġle p", + "Ġ ฮ", + "Ġภ®", + "t ae", + "ta e", + "Ġl ương", + "è½ ®", + "Ġз мÑĸн", + "ĠзмÑĸ н", + "Ġзм Ñĸн", + "ĠÐļи ÑĹв", + "ĠмÑĸ ÑģÑı", + "ĠмÑĸÑģ Ñı", + "к ав", + "ка в", + "à¸ķ ะ", + "Ġm noho", + "Ġmn oho", + "Ġmnoh o", + "ĠNgh á»ĭ", + "èĻ İ", + "Ġ ãĥŁ", + "Ġãĥ Ł", + "Ġp ráci", + "Ġpr áci", + "Ġprá ci", + "Ġg á»ijc", + "ĠY eni", + "ĠYe ni", + "ĠYen i", + "ا ضÙĬ", + "اض ÙĬ", + "Ġ èij", + "Ġè ij", + "Ġк ла", + "Ġкл а", + "ı ng", + "ÏĦ εί", + "ÏĦε ί", + "Ġb eni", + "Ġbe ni", + "Ġben i", + "Ġ عد", + "Ġع د", + "Ġ aktu", + "Ġak tu", + "Ġakt u", + "ĠÙĪ ÙĤد", + "ĠÙĪÙĤ د", + "Ġпод гоÑĤов", + "Ġgi ai", + "Ġgia i", + "( æ°´", + "Ġs aç", + "Ġsa ç", + "ĠÙħÙĨ اسب", + "ĠÙħÙĨاس ب", + "âĸ ĭ", + "ÙIJ Ùĩ", + "é į", + "à¸Ń à¸Ĺ", + "ĠسÛĮ اسÛĮ", + "o lit", + "ol it", + "oli t", + "ĠاÙĦ جز", + "ĠاÙĦج ز", + "Ø· ÙĦب", + "Ø·ÙĦ ب", + "Ġ sey", + "Ġs ey", + "Ġse y", + "e rence", + "er ence", + "ere nce", + "eren ce", + "ì´ Į", + "ĠвнÑĥÑĤÑĢ ÐµÐ½", + "ĠвнÑĥÑĤ ÑĢен", + "Ġ à¸Ļาย", + "Ġà¸Ļ าย", + "ĠìķĬ ìķĺëĭ¤", + "ĠìķĬìķĺ ëĭ¤", + "o lik", + "ol ik", + "oli k", + "æľĢ åIJİ", + "ä» ª", + "Ġ ÑĢÑĸд", + "ĠÑĢ Ñĸд", + "è¼ ĥ", + "Ġ باب", + "Ġب اب", + "Ġبا ب", + "Ñĥ ди", + "Ñĥд и", + "Ġ ÑģÑĤÑĥп", + "ĠÑģÑĤ Ñĥп", + "ĠÄij ứng", + "ĠÄijứ ng", + "ĠÅŁ öyle", + "Ġ íķĻìĥĿ", + "ĠíķĻ ìĥĿ", + "Ġв лаÑģÑĤи", + "Ġвла ÑģÑĤи", + "ĠвлаÑģ ÑĤи", + "Ġh ãng", + "Ġhã ng", + "à¹ī าว", + "à¹īา ว", + "ĠÚ© اÙĩØ´", + "Ġ ëĵ¯", + "Ġëĵ ¯", + "ĠجÙħ ÙĦÙĩ", + "Ġد کتر", + "ad olu", + "ado lu", + "adol u", + "Ġت بد", + "Ġتب د", + "ظ اÙħ", + "Ġz naÄį", + "Ġzn aÄį", + "Ġد ÙĨÛĮ", + "ĠدÙĨ ÛĮ", + "Ġs ạn", + "å¼ ±", + "ÏĢ Î¹", + "Ġ çIJĨ", + "ĠçIJ Ĩ", + "Ġ Ù쨵ÙĦ", + "ĠÙģ ØµÙĦ", + "и нг", + "ин г", + "Ðļ Ðŀ", + "ĠС ов", + "ĠСо в", + "Ġziy aret", + "Ġ دÙħ", + "Ġد Ùħ", + "ç« ¹", + "Ġsah ibi", + "is ayar", + "isa yar", + "isay ar", + "ÄŁ a", + "ĠпеÑĢÑĸ од", + "Ġs na", + "Ġsn a", + "( æľ¨", + "Ġ нее", + "Ġн ее", + "Ġне е", + "ĠÑĦак ÑĤоÑĢ", + "ĠÑĦакÑĤ оÑĢ", + "м еж", + "ме ж", + "åº Ħ", + "r áž", + "rá ž", + "ок ÑĢем", + "Ġž al", + "ิ à¹Ģศษ", + "è± ª", + "ou cÃŃ", + "ĠU lus", + "ĠUl us", + "Ġtak že", + "ا ÙĪÙĨ", + "اÙĪ ÙĨ", + "н иÑĤи", + "ни ÑĤи", + "ниÑĤ и", + "нÑĮ о", + "ëį ¸", + "Ġ Ùĥرة", + "ĠÙĥ رة", + "ĠÙĥر Ø©", + "åľ ³", + "ĠArth ropoda", + "ĠÑĤ одÑĸ", + "ĠÑĤо дÑĸ", + "Ġدر صد", + "ุ รà¸ģ", + "ุร à¸ģ", + "ĠÑģв ого", + "ĠÑģво го", + "说 éģĵ", + "Ġc ánh", + "Ġcá nh", + "Ġcán h", + "æĵ Ĭ", + "Ġ ä¸ĭè½½", + "Ġä¸ĭ è½½", + "èī ¾", + "Ġnik dy", + "Ø® Ø·", + "ĠÑģ ейÑĩаÑģ", + "ÙĪ ÙĬÙĦ", + "ÙĪÙĬ ÙĦ", + "a met", + "am et", + "ame t", + "문 ìĿĺ", + "ĠE ÄŁitim", + "大 ä¼ļ", + "Ġb ÅĻez", + "за ÑĨÑĸÑı", + "Ġty to", + "н ай", + "на й", + "غ Ùħ", + "Ġ é©", + "Ġé ©", + "计 ç®Ĺ", + "Türk iye", + "Ġmn ož", + "åIJĪ ä½ľ", + "æľį åĭĻ", + "Ġkažd ý", + "ĠÑİ ÑĢид", + "Ġ βα", + "Ġβ α", + "à¥Ĥ à¤ļ", + "åIJĮ ãģĺ", + "Ġ çĭ", + "Ġç ĭ", + "ί ÏĦ", + "ÙĪÛĮ ÙĨت", + "ÙĪÛĮÙĨ ت", + "ا ÙĨس", + "اÙĨ س", + "æľĢ 大", + "Ġ Từ", + "ĠT ừ", + "éŃĶ æ³ķ", + "Ġб ли", + "Ġбл и", + "ĠÑĤак ое", + "ĠÑĤа кое", + "ãģ ľ", + "ãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢĠ ãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ìĿ´ ë©°", + "ĠÙĤسÙħ ت", + "Ġ оÑĨÑĸ", + "Ġо ÑĨÑĸ", + "н икÑĥ", + "ни кÑĥ", + "ник Ñĥ", + "Ġ Bạn", + "ĠB ạn", + "ĠоÑĢг анÑĸз", + "ĠоÑĢган Ñĸз", + "ĠоÑĢганÑĸ з", + "ü ph", + "üp h", + "Ġ izin", + "Ġi zin", + "Ġiz in", + "Ġ ï¾Ĭ", + "Ġï¾ Ĭ", + "εί ÏĤ", + "à¸ĩ à¹ģà¸ķ", + "ãģ¡ ãĤī", + "ва жа", + "важ а", + "Ġ 欧", + "Ġæ¬ §", + "ι Ïİ", + "ÏĢ ÎŃ", + "Ġк ÑĢеп", + "ĠÑĨ иÑħ", + "ĠÑĨи Ñħ", + "æĦŁ ãģĺ", + "çķ «", + "Ùĥ ÙĪ", + "е мо", + "ем о", + "ž en", + "že n", + "å¹³ æĸ¹", + "ĠÙħجÙħÙĪØ¹ Ùĩ", + "ĠÑģво и", + "Ġ ãĦ", + "à¸Ľà¸£à¸°à¸ģ à¸Ńà¸ļ", + "ĠпÑĢ Ð¾ÑĤи", + "ĠпÑĢо ÑĤи", + "ĠпÑĢоÑĤ и", + "ÙĪ ÛĮÙĩ", + "ÙĪÛĮ Ùĩ", + "认 为", + "ÏĨ ÎŃ", + "и ÑĩеÑģкий", + "иÑĩеÑģ кий", + "иÑĩеÑģки й", + "æ¥ ļ", + "Ġп ап", + "Ġпа п", + "δ Ïģο", + "Ġkullan ım", + "Ġkullanı m", + "Ġz bo", + "Ġzb o", + "Ġú spÄĽ", + "Ġ Ùħز", + "ĠÙħ ز", + "ĠF ak", + "ĠFa k", + "елÑĮ зÑı", + "æ´» åĭķ", + "ĠÐŁ ÑĢав", + "ĠÐŁÑĢ Ð°Ð²", + "ĠÐŁÑĢа в", + "¦ y", + "åĥ ķ", + "æij ĺ", + "Ġر ئ", + "Ġ ÏĨοÏģ", + "ĠÏĨ οÏģ", + "м иÑĤ", + "ми ÑĤ", + "Ġt icaret", + "Ġti caret", + "Ġtic aret", + "æ³ķ å¾ĭ", + "å¹´ 代", + "ìĪ Ļ", + "å ¿ł", + "å¿ ł", + "à¹ĩ à¸Ļà¸Ĺ", + "à¹ĩà¸Ļ à¸Ĺ", + "Ġ Ñĥж", + "ĠÑĥ ж", + "ĠÙħتØŃ دÙĩ", + "Ġtr á»Ŀi", + "Ġ رØŃ", + "Ġر ØŃ", + "ĠÚ©ÙĪ ÚĨ", + "ĠопÑĢед елен", + "ĠопÑĢедел ен", + "ĠزÙħ ÛĮÙĨÙĩ", + "ĠزÙħÛĮÙĨ Ùĩ", + "Ġn óng", + "Ġnó ng", + "Ġng á»§", + "Nh ững", + "Ġк иÑĪ", + "Ġки ÑĪ", + "Ġ jde", + "Ġj de", + "Ġjd e", + "Ġ ä¸Ĭæµ·", + "Ġä¸Ĭ æµ·", + "åĭ ĩ", + "Ġt anı", + "Ġtan ı", + "à¹Į à¹ģละ", + "à¹Įà¹ģ ละ", + "ĠÑĢа ÑģÑĤвоÑĢ", + "ĠÑĢаÑģÑĤ воÑĢ", + "ĠÑģÑĢед ÑģÑĤв", + "Ġc án", + "Ġcá n", + "Ġsyst ému", + "Ġsystém u", + "ÛĮ Ø·", + "ĠÑģиÑģÑĤем а", + "Ġ ëŀ", + "Ġë ŀ", + "Ġ ÑĩеÑĤ", + "ĠÑĩ еÑĤ", + "éĥ¨ éŨ", + "å¸ °", + "Ġm illet", + "Ġmill et", + "Ġmil let", + "ĠÎķ λλά", + "à¥ĩà¤ĸ न", + "Ġrepublik y", + "ÑĢ Ð°Ð¼Ð¸", + "ÑĢа ми", + "ÑĢам и", + "Ġसम स", + "Ġaç ısından", + "اد ÙĦ", + "Ġб еÑģп", + "ĠбеÑģ п", + "ãĥ» âĶģ", + "åľ Ń", + "o cu", + "oc u", + "k ánÃŃ", + "ká nÃŃ", + "ÙĪ Ø±Ø´", + "ÙĪØ± Ø´", + "ëŀ µ", + "Ġ çģ", + "Ġç ģ", + "è° ģ", + "Ġs ám", + "Ġν εÏĨ", + "Ġνε ÏĨ", + "b ilir", + "bil ir", + "ĠmÃŃst ÄĽ", + "Ġ žen", + "Ġž en", + "Ġže n", + "Ġil ç", + "Ġ ë§ģ", + "Ġë§ ģ", + "ãĢij Ċ", + "ĠÙħÙĪ Ø§Ø±Ø¯", + "ĠاÙĦ Ø´ÙĬ", + "ĠاÙĦØ´ ÙĬ", + "Ġ기 ë¡Ŀ", + "Ġt ady", + "Ġta dy", + "Ġtad y", + "à¸Ń าà¸Ī", + "ĠÑģ ÑĦ", + "ĠspoleÄį nost", + "Ġtém atu", + "Ùħ اÙħ", + "Ùħا Ùħ", + "Ùħ ع", + "Ġ леж", + "Ġл еж", + "ĠÚĨ Ø´Ùħ", + "ĠiÅŁ let", + "ĠÙĨس Ø®", + "ä¼ °", + "ãģį ãģª", + "ãĢ ĥ", + "å² Ĺ", + "Ġ åŃIJ", + "Ġå ŃIJ", + "ĠåŃ IJ", + "Ġb ảng", + "Ġbản g", + "çĮ ®", + "Ġc ứng", + "Ġcứ ng", + "Ġк ÑĢай", + "ĠкÑĢа й", + "Ġ èĭ±è¯Ń", + "Ġèĭ± è¯Ń", + "Ðł ÐIJ", + "ز ÙĨ", + "èĥ ŀ", + "Ġsür eç", + "Ġsüre ç", + "ãĥķ ãĥĪ", + "ĠкÑĸлÑĮ ка", + "ne ÄŁin", + "neÄŁi n", + "ov ány", + "ová ny", + "ován y", + "л Ñĸн", + "лÑĸ н", + "Ġvý raz", + "ĠÑģÑĩ иÑĤа", + "ĠÑģÑĩиÑĤ а", + "ĠпÑĢав ило", + "ĠпÑĢави ло", + "ĠпÑĢавил о", + "ĠиÑģполÑĮз Ñĥ", + "Ġk éo", + "Ġké o", + "ĠyaklaÅŁ ık", + "ĠÙĪØ§Ø¨ ستÙĩ", + "ов аÑĤелÑĮ", + "Ġ ì²ł", + "Ġì² ł", + "ĠاÙĦ عاÙħ", + "ĠاÙĦع اÙħ", + "åĿ ı", + "Ġ à¸ī", + "Ġภī", + "ĠS Æ¡n", + "λ ιο", + "λι ο", + "ì¶Ķ ì²ľ", + "Ġsluž eb", + "ĠдеÑıÑĤелÑĮ ноÑģÑĤи", + "з м", + "Ġп ози", + "Ġпо зи", + "Ġпоз и", + ".; .;", + "ĠпÑĢоиÑģ ÑħодиÑĤ", + "าย à¹ĥà¸Ļ", + "çļĦ ãģ«", + "Ġà¤ĩस स", + "о меÑĤ", + "ом еÑĤ", + "Ġ αÏģ", + "Ġα Ïģ", + "ा à¤Ĺर", + "ाà¤Ĺ र", + "i cÃŃch", + "ic ÃŃch", + "icÃŃ ch", + "Ġpolož ky", + "ê³ ¨", + "æĥ Ĭ", + "Ġö ner", + "Ġön er", + "Ġöne r", + "Ġx ảy", + "ĠÙĨظ رÛĮ", + "ĠÙĨظر ÛĮ", + "Ġngh á»ī", + "Ġ à¸ľà¸¥", + "Ġà¸ľ ล", + "ĠÑĢ Ð¾Ð»ÑĮ", + "ĠÑĢ ÐµÐ¼Ð¾Ð½", + "ĠÑĢе мон", + "ص ÙĪØ±", + "V ý", + "ĠS á»ij", + "ĠÑģ ÑĥÑĩаÑģ", + "ĠÑģÑĥ ÑĩаÑģ", + "ห ย", + "ĠاÙĤ داÙħ", + "Ġer kek", + "Ġerk ek", + "Ġ èį", + "Ġè į", + "ĠÄij ôi", + "ĠÄijô i", + "Ġкон кÑĢеÑĤ", + "æ¬ Ĭ", + "Ġ 缮", + "ĠçĽ ®", + "ÙĪ Ú©", + "lı kla", + "lık la", + "Ġp azar", + "Ġpa zar", + "Ġpaz ar", + "ά νÏī", + "άν Ïī", + "Ñĥ ÑģÑĤа", + "ÑĥÑģ ÑĤа", + "ÑĥÑģÑĤ а", + "ãģª ãģŁ", + "Ġ ÙĩÙĨÚ¯", + "ĠÙĩ ÙĨÚ¯", + "ĠÙĩÙĨ Ú¯", + "Ю ÐĽ", + "Ġв елик", + "Ġвели к", + "Ġвел ик", + "Ġве лик", + "Ġnh Ỽ", + "Ġ ìĭľíĹĺ", + "Ġìĭľ íĹĺ", + ") ìĿĺ", + "Ùĥ Ùĩ", + "Ġ à¹ģล", + "Ġà¹ģ ล", + "Û² Ûµ", + "Ġار ساÙĦ", + "Ġ окÑĢем", + "Ġок ÑĢем", + "ά ÏĤ", + "ĠвÑĭ Ñħод", + "vÄĽt Å¡ÃŃ", + "ĠØ· رÛĮÙĤ", + "Ġк оÑĢоÑĤ", + "ĠкоÑĢ Ð¾ÑĤ", + "Ġко ÑĢоÑĤ", + "н ÑĶ", + "ãĤĬ ãģ«", + "Ġ ä¹Ł", + "Ġä¹ Ł", + "ØŃ ص", + "ع ÙħاÙĦ", + "عÙħ اÙĦ", + "oloj ik", + "oloji k", + "Ġر ابط", + "Ġرا بط", + "çª Ĺ", + "Ġg iz", + "Ġgi z", + "Ġch ết", + "Ġchế t", + "æ¨ £", + "ส à¸ĩ", + "ÙĪ ØªØ±", + "ÙĪØª ر", + "ĠÑı кÑĥ", + "ĠÑıк Ñĥ", + "çı¾ åľ¨", + "ĠоÑĤ ÑģÑĥÑĤÑģÑĤв", + "Ġ ê´ijê³ł", + "Ġê´ij ê³ł", + "Ñĸ ки", + "Ñĸк и", + "åĢ ¤", + "è® ¢", + "Ġ dle", + "Ġd le", + "Ġdl e", + "Ġ åł", + "Ġå ł", + "æ¨ ©", + "è® ¯", + "åĶ IJ", + "Ġ âĸ²", + "Ġâĸ ²", + "Ġli stop", + "Ġlist op", + "Ġlis top", + "Ġdat ové", + "Ġdato vé", + "ÏĦ ÏĮÏĤ", + "ÏĦÏĮ ÏĤ", + "Ġ оз", + "Ġо з", + "δ ÏĮ", + "èĴ Ĥ", + "Û³ Û°", + "ãĥª ãĥ¼ãĤº", + "ãĥªãĥ¼ ãĤº", + "ĠÙħر کز", + "ĠÙħرک ز", + "ĠпÑĸдÑĤ ÑĢим", + "ĠÑģ ез", + "é¡ ĺ", + "Ġol acaktır", + "Ġolacak tır", + "æº Ģ", + "ĠÏĢεÏģι ο", + "ĠÏĢεÏģ ιο", + "ĠÏĢε Ïģιο", + "ÑĦ а", + "ÏĦ ηÏĥη", + "ÏĦη Ïĥη", + "ç» ĥ", + "Ðŀ д", + "δ Ïħ", + "âĦ ĥ", + "Ġl ắp", + "ĠëĦ ĺ", + "Ø· اÙĨ", + "ĠÙ¾ ÙĨج", + "ĠÙ¾ÙĨ ج", + "ت اÙĨ", + "تا ÙĨ", + "i lerinin", + "iler inin", + "ileri nin", + "ilerin in", + "ilerini n", + "à Ī", + "ĠØ® ÙĪØ´", + "ĠØ®ÙĪ Ø´", + "Ġ ìĬ¬", + "ĠìĬ ¬", + "ĠاÙĦر ئÙĬس", + "ẵ n", + "Ġ شار", + "ĠØ´ ار", + "e ru", + "er u", + "ж ив", + "жи в", + "à¸Ļ าย", + "à¸Ļา ย", + "Ġs ẻ", + "Ġà¤ī à¤ļ", + "ãģ« ãģĭ", + "ç¡ Ģ", + "Ġyür üt", + "ĠС еÑĢг", + "ĠСеÑĢ Ð³", + "Ġ каÑģ", + "Ġк аÑģ", + "Ġка Ñģ", + "ĠÐij ог", + "Ġìĸ´ëĸ »ê²Į", + "Ġ çŁ³", + "Ġç Ł³", + "ĠçŁ ³", + "Ġöl dür", + "Ġöld ür", + "л Ñĸв", + "лÑĸ в", + "Ġho Ãłng", + "ĠhoÃłn g", + "Ġb á»Ļt", + "Ġbá»Ļ t", + "çŀ ¬", + "Ġ 침", + "Ġì¹ ¨", + "N ếu", + "Ġne vy", + "Ġnev y", + "Ġ ìľ¤", + "Ġìľ ¤", + "Ġsou Äįást", + "ıs ıyla", + "ısı yla", + "Ġtük et", + "b ou", + "bo u", + "Ġд во", + "Ġдв о", + "س Ø·", + "å½ĵ çĦ¶", + "ãĥ ¨", + "Ġ زادÙĩ", + "Ġز ادÙĩ", + "Ġزاد Ùĩ", + "Ġ éĥ¨", + "Ġéĥ ¨", + "Ġر ÙĪØŃ", + "ĠرÙĪ ØŃ", + "Ġ ï¼į", + "Ġï¼ į", + "ĠмÑĸÑģ ÑĨев", + "ĠмÑĸÑģÑĨе в", + "θ εν", + "θε ν", + "ภĨ", + "л енÑĸ", + "лен Ñĸ", + "ле нÑĸ", + "çį ²", + "ĠH OH", + "ĠHO H", + "s ın", + "sı n", + "ิ à¸ķร", + "ิà¸ķ ร", + "è² ¡", + "ĠpÅĻ id", + "ĠpÅĻi d", + "à¹Ģ หà¸Ļ", + "à¹Ģห à¸Ļ", + "l ý", + "è¨Ģ èijī", + "ठĵ", + "âĸįâĸįâĸįâĸį âĸįâĸįâĸįâĸį", + "ب اب", + "با ب", + "ãĥ¼ ãĥķ", + "ãĥ¼ãĥ ķ", + "м оÑĢ", + "мо ÑĢ", + "è¿ĩ ç¨ĭ", + "Ġ ãĥĽ", + "Ġãĥ Ľ", + "ĠK inh", + "ĠKi nh", + "ĠKin h", + "íķľ êµŃ", + "Ġìĸ´ëĸ ¤", + "Ġв лиÑı", + "Ġf ayd", + "Ġfa yd", + "Ġص ÙĨع", + "ĠصÙĨ ع", + "Ġal ır", + "Ġet tiÄŁi", + "Ġetti ÄŁi", + "ά κ", + "im izin", + "imi zin", + "imiz in", + "imizi n", + "ัà¸ļ à¸ľ", + "Ġзем елÑĮ", + "ÙĬÙĦ اد", + "ÙĬÙĦا د", + "æ¶ ¨", + "çı ł", + "ĠØ£ غ", + "Ġz ku", + "Ġzk u", + "âĢŀ A", + "า à¸ķร", + "าà¸ķ ร", + "a yi", + "ay i", + "ãĥ© ãĤ¹", + "и ло", + "ил о", + "ĠÄij á»į", + "ĠÄijá» į", + ". Îķ", + "ë ľ", + "ĠμÏĢο Ïģεί", + "å¸ ¶", + "Ġar tır", + "Ġart ır", + "า à¸į", + "าภį", + "å¿ ĺ", + "ta lya", + "tal ya", + "Ġpoz dÄĽji", + "ĠpozdÄĽ ji", + "Ġnep ÅĻ", + "Ġ æ¹", + "Ġæ ¹", + "اÙĩ ÛĮ", + "Ġsat ın", + "Ġ ë²Į", + "Ġë² Į", + "ج ÙĪ", + "ä¸Ģ 缴", + "ìķĦ ìļĶ", + "Âł P", + "Ġ ØĽ", + "ĠØ Ľ", + "Ġп ал", + "Ġпа л", + "表 æĥħ", + "Ġc anlı", + "Ġcan lı", + "æĪIJ 为", + "ÙĪ ÙĨا", + "ÙĪÙĨ ا", + "Ġ â̝", + "ĠâĢ ¯", + "à¸ģำ ล", + "åį ĸ", + "Ġ αÏĥ", + "Ġα Ïĥ", + "и нок", + "ин ок", + "а мп", + "ам п", + "ล à¸Ńà¸ĩ", + "ÙĤ ÙĤ", + "ĠпÑĢо Ñħод", + "ĠпÑĢоÑħ од", + "ãĤĦãĤĭ 夫", + "Ïĩ η", + "è² ¨", + "ĠÙģ ÙĬÙĩ", + "ĠÙģÙĬ Ùĩ", + "ÙĬ رÙĬ", + "ÙĬر ÙĬ", + "Ġвне ÑĪ", + "Ġk arak", + "Ġka rak", + "Ġkar ak", + "Ġkara k", + "Ø« ÙĦ", + "Ùĩ ÙĪØ±ÛĮ", + "ÙĩÙĪØ± ÛĮ", + "اÙĪØ± Ù¾", + "ĠÄij á»ı", + "ĠÄijá» ı", + "ji Å¡tÄĽnÃŃ", + "jiÅ¡tÄĽ nÃŃ", + "ت بر", + "تب ر", + "Ġê·¸ ê²ĥ", + "Ġg ül", + "Ġgü l", + "Ġпо кÑĥп", + "Ġпок Ñĥп", + "l ilik", + "li lik", + "lili k", + "lil ik", + "Ġz da", + "Ġzd a", + "åīį ãģ«", + "ĠÙħÙĩ ÙĨد", + "Ġ ÎijÎĿ", + "ĠÎij ÎĿ", + "ĠÚ©ÛĮÙĦ ÙĪÙħتر", + "Ġp ÅĻeh", + "ĠpÅĻ eh", + "ĠpÅĻe h", + "а леж", + "ал еж", + "але ж", + "Ġka yn", + "Ġkay n", + "è® ¿", + "Ġì¤ij êµŃ", + "ĠÑĪиÑĢ Ð¾Ðº", + "ĠÑĪи ÑĢок", + "ĠÙħشار کت", + "âĢ Ĥ", + "Ġ íŤ", + "ĠíĹ ¤", + "Ġìłľ íĴĪ", + "ĠØ´ ÛĮر", + "ĠØ´ÛĮ ر", + "es inden", + "esinde n", + "esin den", + "ÑĢ ÑĸÑĩ", + "ÑĢÑĸ Ñĩ", + "èı ²", + "Ñģ коÑĢ", + "Ñģк оÑĢ", + "Ñģко ÑĢ", + "e tik", + "et ik", + "eti k", + "า à¸ľ", + "าภľ", + "ĠØ· بÛĮ", + "Ġطب ÛĮ", + "κ ÎŃ", + "ĠìŀĪ ìĸ´", + "Ġ dek", + "Ġd ek", + "Ġde k", + "ÑĢ Ñĸй", + "ÑĢÑĸ й", + "å ĨĴ", + "åĨ Ĵ", + "nÃŃ ci", + "® ¤", + "ĠÙħر تب", + "Ġy azı", + "Ġya zı", + "Ġyaz ı", + "üs lü", + "ìľ¼ ëĤĺ", + "e lerine", + "eler ine", + "ele rine", + "eleri ne", + "elerin e", + "Ġy oÄŁun", + "Ġб ак", + "Ġба к", + "ÎĻ ÎŁ", + "ά λÏħ", + "άλ Ïħ", + "ç´ Ļ", + "ĠÑĢÑĥ ками", + "ĠÑĢÑĥк ами", + "Ġçöz üm", + "ìłķ ìĿĦ", + "Ġgüç lü", + "λ ÏĮ", + "Ġb elli", + "Ġbe lli", + "Ġbel li", + "Ġbell i", + "ÃŃ Å¡e", + "ÃŃÅ¡ e", + "ĠÏĮ ÏĢÏīÏĤ", + "Ġna Å¡", + "Ġp ár", + "Ġpá r", + "ÑĪ ÑĤ", + "Ġ ìĨ¡", + "ĠìĨ ¡", + "à¥Ĥ रत", + "à¥Ĥर त", + "ĠÏĢολ Ïį", + "ĠÏĢο λÏį", + "ç° ¡", + "èĤ ¯", + "æ¹ ¾", + "Ġ äºĭ", + "Ġब स", + "Ġ무 ë£Į", + "д ина", + "дин а", + "ди на", + "èª °", + "л еж", + "ле ж", + "Ġú ÅĻad", + "ĠоÑģвÑĸ ÑĤи", + "ĠоÑģвÑĸÑĤ и", + "ĠвÑĸд Ñĩ", + "ĠпÑĢи знаÑĩ", + "ĠпÑĢизна Ñĩ", + "ĠпÑĢиз наÑĩ", + "çͳ 请", + "' ya", + "'y a", + "ä¿ Ĭ", + "Ġ ÙĬÙĪÙĨ", + "ĠÙĬ ÙĪÙĨ", + "ĠÙĬÙĪ ÙĨ", + "Ġس ع", + "Ġ ÐĶаÑĤа", + "ĠÐĶ Ð°ÑĤа", + "ĠÐĶа ÑĤа", + "è¨Ģ ãģĨ", + "ĠØŃ تÛĮ", + "ĠJi ÅĻÃŃ", + "ĠÐ¥ аÑĢ", + "éĻ Ī", + "à¹Ī าà¸Īะ", + "à¹Īา à¸Īะ", + "Ġsay esinde", + "ĠÑĤÑĢеб а", + "ê°Ģ ì§Ģ", + "Ġy emek", + "Ġye mek", + "Ġyem ek", + "Ġyeme k", + "è¦ ļ", + "ặ n", + "ãĢĢ ãĢĢãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ĠãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢĠãĢĢ", + "Ġ 举", + "Ġä¸ ľ", + "Ġ ÙĪØ§", + "ĠÙĪ Ø§", + "ĠÙħ ÙĪØ³", + "ĠÙħÙĪ Ø³", + "Ġком анд", + "Ġкоман д", + "Ġseç im", + "Ñĩ еннÑı", + "Ñĩен нÑı", + "Ġtot iž", + "Ġr á»Ńa", + "ı a", + "Ø¢ Ùħ", + "ÑĨ Ñĸон", + "ÑĨÑĸ он", + ": :::::::::::", + ":: ::::::::::", + ":::: ::::::::", + ":::::: ::::::", + ":::::::: ::::", + "::: :::::::::", + "::::: :::::::", + "::::::: :::::", + "::::::::: :::", + ":::::::::: ::", + "::::::::::: :", + "ÐĿ ÐIJ", + "ı za", + "ız a", + "h end", + "he nd", + "hen d", + "Ġफ र", + "ัà¸Ķ à¸ģาร", + "Ġ Cách", + "ĠC ách", + "ĠCác h", + "ĠпоÑĤ Ñĸм", + "Ġá¼ Ģ", + "ا ÙĦا", + "اÙĦ ا", + "á» ¡", + "ر ÛĮÙħ", + "رÛĮ Ùħ", + "å® «", + "Ġز ÙħÛĮÙĨ", + "ĠزÙħ ÛĮÙĨ", + "ÑĢ ÐµÑģÑĤ", + "ÑĢе ÑģÑĤ", + "ÑĢеÑģ ÑĤ", + "б аÑĩ", + "ба Ñĩ", + "Ùĩر ست", + "н ог", + "но г", + "ï¼Į 大", + "ĠëĺIJ íķľ", + "Ġz ůst", + "Ġzů st", + "ĠÐĴ она", + "ĠÐĴо на", + "å¤ĩ 份", + "Ġ اÙģØª", + "Ġا ÙģØª", + "ĠاÙģ Øª", + "o je", + "oj e", + "Ñģк ÑĸлÑĮки", + "Ġnh ẹ", + "Ġк еÑĢÑĸв", + "ĠкеÑĢ Ñĸв", + "á¿ ¦", + "æĸ¹ æ¡Ī", + "з аÑĨиÑı", + "за ÑĨиÑı", + "ĠвÑĸдповÑĸд но", + "ĠвÑĸдпов Ñĸдно", + "ãĤ¤ ãĤ¹", + "г ал", + "га л", + "ĠобÑĭ Ñĩно", + "ĠобÑĭÑĩ но", + "اÙĪØ±Ù¾ ÙĪÛĮÙĨت", + "å® ľ", + "l osti", + "lo sti", + "los ti", + "lost i", + "è¿Ľ åħ¥", + "uyor du", + "벤 íĬ¸", + "æīĭ ãĤĴ", + "ÐŁ од", + "ÐŁÐ¾ д", + "ĠÙħØŃ دÙĪØ¯", + "Ġ Ø¢Ùħد", + "ĠØ¢ Ùħد", + "ĠØ¢Ùħ د", + "ar akter", + "arak ter", + "çļĦ 大", + "Ġsı cak", + "l ant", + "la nt", + "lan t", + "Ġd ấu", + "ĠÙĨ Ú©", + "èĢħ ãģ®", + "Ġkend ini", + "Ġkendi ni", + "Ġп аÑĨи", + "Ġпа ÑĨи", + "Ġ 기íĥĢ", + "Ġ기 íĥĢ", + "ĠвмеÑģÑĤ е", + "в аеÑĤÑģÑı", + "ва еÑĤÑģÑı", + "ваеÑĤ ÑģÑı", + "Ġ ë§ī", + "Ġë§ ī", + "ĠchvÃŃ li", + "Ø® ÛĮ", + "ÙĦ ع", + "n ÃŃky", + "nÃŃ ky", + "nÃŃk y", + "、 :", + "ëIJľ ëĭ¤", + "ì§ ķ", + "Ġк вÑĸÑĤ", + "Ġкв ÑĸÑĤ", + "¨ ìĸ´", + "l iž", + "li ž", + "Ġë¹Ħë°Ģ ê¸Ģ", + "Ġkh á»iji", + "Ġ ë°©ìĨ¡", + "Ġë°© ìĨ¡", + "e chan", + "ec han", + "ech an", + "echa n", + "Ġзакон одав", + "Ġа кÑĤ", + "Ġак ÑĤ", + "문 ìłľ", + "ĠN ó", + "Ġ çĤ¹", + "Ġç Ĥ¹", + "ĠçĤ ¹", + "hled em", + "hle dem", + "ĠÑģво ÑĹÑħ", + "ĠÑģвоÑĹ Ñħ", + "Ġر ÙĤÙħ", + "ĠرÙĤ Ùħ", + "æĽ ¼", + "ि वर", + "िव र", + "åİ ļ", + "ĠÐļ од", + "ĠÐļо д", + "à¤Ń à¤Ĺ", + "ìŀIJ ëĬĶ", + "à¸Ļ ม", + "Ñĥ Ñģа", + "ÑĥÑģ а", + "Ġg ünü", + "Ġgün ü", + "ĠÄij ÃŃch", + "Ġtr ữ", + "å ·»", + "å· »", + "éĵ¶ è¡Į", + "ØŃ ÙĨ", + "è® ¨", + "γ Ïĩ", + "á½ ¸", + "a larında", + "alar ında", + "aları nda", + "aların da", + "Ġk af", + "Ġka f", + "ÙĪ Ø§Ø¬", + "ÙĪØ§ ج", + "ĠиÑģ клÑİÑĩ", + "ĠиÑģк лÑİÑĩ", + "Ġnh iá»ħ", + "á»į t", + "ĠìĽ ¹", + "Ġ éĿ¢", + "ĠéĿ ¢", + "ãģ® ãģĮ", + "Ġм ало", + "Ġмал о", + "Ġма ло", + "Ñĸ лÑĸ", + "Ñĸл Ñĸ", + "Ġ biên", + "Ġb iên", + "Ġbi ên", + "n ému", + "né mu", + "ném u", + "пÑĢи меÑĢ", + "пÑĢ Ð¸Ð¼ÐµÑĢ", + "âĸł âĸł", + "Ġk amp", + "Ġka mp", + "Ġkam p", + "Ġ веÑī", + "Ġв еÑī", + "Ġве Ñī", + "Äį em", + "Äįe m", + "à¥ģ ध", + "à¥ģठ§", + "æŁ »", + "ت ÙĪÙĨ", + "تÙĪ ÙĨ", + "åıª æľī", + "ãģ¯ ãģĦ", + "Ġ รวม", + "Ġร วม", + "ãĤ ŀ", + "ãģĻ ãĤĭãģ¨", + "ãģĻãĤĭ ãģ¨", + "å¾Ī å¤ļ", + "à¹Ī à¸ķ", + "ĠsvÄĽt a", + "ĠsvÄĽ ta", + "Ġ ê°Ģ격", + "Ġê°Ģ 격", + "Ú¯ Ùĩ", + "an daÅŁ", + "and aÅŁ", + "anda ÅŁ", + "ãĥª ãĤ¹", + "Ïī μα", + "ĠØ® ÙĪØ¨", + "ĠØ®ÙĪ Ø¨", + "ç´ ħ", + "Ñĩ иÑģ", + "Ñĩи Ñģ", + "ì¢ Į", + "ĠØŃض رت", + "Ġви ÑĢÑĸÑĪ", + "Ù¾ ر", + "Ġtý d", + "Ġkon tro", + "Ġkont ro", + "д ейÑģÑĤв", + "ãģŁãĤģ ãģ«", + "ì ī", + "мини ÑģÑĤÑĢа", + "мин иÑģÑĤÑĢа", + "âĢ ¯", + "åī ij", + "ни ÑĨÑĸ", + "ниÑĨ Ñĸ", + "å¦ ĩ", + "Ġ лиÑĪ", + "Ġл иÑĪ", + "Ġли ÑĪ", + "ãģ£ ãģ¦ãĤĭ", + "ãģ£ãģ¦ ãĤĭ", + "на ÑĢÑĥж", + "наÑĢ Ñĥж", + "Ñī иÑħ", + "Ñīи Ñħ", + "ÏĦ οκ", + "ÏĦο κ", + "ov áno", + "ová no", + "ován o", + "تر ÙĦ", + "ÑĢ ÐµÐº", + "ÑĢе к", + "غ ات", + "Ġ omez", + "Ġo mez", + "Ġom ez", + "ì ĵ°", + "ĠÃľ l", + "ï½ Ĵ", + "lı ģını", + "lıģ ını", + "lıģın ı", + "Ġv ượt", + "Ġb ÄĽÅ¾", + "ĠbÄĽ ž", + "Ãľ R", + "Ġ ãĥ¾", + "Ġãĥ ¾", + "ĠdoÄŁ al", + "Ġh atır", + "Ġha tır", + "Ġhat ır", + "Ġsv ým", + "ì§Ģ ëıĦ", + "à¹Ģà¸ł à¸Ĺ", + "Ġv ay", + "Ġva y", + "Ġ æĻĤ", + "Ġæ ĻĤ", + "ĠæĻ Ĥ", + "à¥įव प", + "Ġp lo", + "Ġpl o", + "é¢Ħ è§Ī", + "Ġçık tı", + "Ġ دÙĨ", + "Ġد ÙĨ", + "n ánÃŃ", + "ná nÃŃ", + "ê· Ģ", + "íĺ Ģ", + "à¸ŀ à¸ļ", + "m uÅŁtur", + "muÅŁ tur", + "å®ĺ æĸ¹", + "ĠíĶĦ ë¡ľê·¸ëŀ¨", + "éĢŁ 度", + "ler dir", + "lerdi r", + "ÑĩеÑģ кого", + "Ñĩе Ñģкого", + "Ġİn san", + "âĶ ĥ", + "Ġà¤ĩत न", + "С Ð¡Ðł", + "Ġا Ùħر", + "ĠاÙħ ر", + "Ġkö tü", + "Ùģ Ø´", + "Ġb oj", + "Ġbo j", + "ĠÑĨÑĸ ÑĶÑĹ", + "Ġsöy lem", + "Ġsöyl em", + "ни ÑĨÑĭ", + "ниÑĨ Ñĭ", + "ãĢĤ 她", + "âĢĿ .Ċ", + "âĢĿ. Ċ", + "Ġm ilion", + "Ġmil ion", + "Ġmi lion", + "Ġmili on", + "Ġson unda", + "Ġsonu nda", + "з Ñĥ", + "à¥į मà¤ķ", + "à¥įम à¤ķ", + "人 åı£", + "n ÄĽÅ¾", + "nÄĽ ž", + "ĠÑģ моÑĤ", + "ĠÑģм оÑĤ", + "Ġкомп лекÑģ", + "Ġкомплек Ñģ", + "Ġзави Ñģим", + "Ġиме ÑİÑĤ", + "Ġl ạc", + "Ġlạ c", + "Ġ hangi", + "Ġh angi", + "Ġhang i", + "Ġhan gi", + "ëĶ ©", + "åĬ ³", + "ĠvÄĽ ci", + "ĠvÄĽc i", + "е ÑĢов", + "еÑĢ Ð¾Ð²", + "еÑĢо в", + "κ Ïģι", + "Ġdur umu", + "Ġdurum u", + "Ġ بÙĪØ§Ø³Ø·Ø©", + "ĠبÙĪ Ø§Ø³Ø·Ø©", + "ĠØ£ بÙĬ", + "Ġأب ÙĬ", + "ĠAÄŁ ustos", + "ε Ïĩ", + "Ġд иÑĤи", + "Ġди ÑĤи", + "ĠдиÑĤ и", + "ÑĦ ика", + "ÑĦи ка", + "ÑĦик а", + "Ġ NÄĥm", + "ĠN Äĥm", + "Ġ 기ìĪł", + "Ġ기 ìĪł", + "Ġhlav nÃŃ", + "ä¿ ĥ", + "Ġलà¤Ĺ त", + "ĠO br", + "ĠOb r", + ". ย", + "ко вод", + "ков од", + "ково д", + "o pis", + "op is", + "opi s", + "Ġ ãĥī", + "Ġãĥ ī", + "Ġبش ÙĥÙĦ", + "н ием", + "ни ем", + "ние м", + "Ġtém ÄĽÅĻ", + "ĠاÙĦ ØŃر", + "ĠاÙĦØŃ ر", + "ĠÙĦ ازÙħ", + "ĠÙĦا زÙħ", + "Ġm ái", + "Ġmá i", + "i liÄŁi", + "ili ÄŁi", + "ë³ ¼", + "Ġy ık", + "Ġyı k", + "ç½ ²", + "ÑĢ Ð°Ð²Ð°", + "ÑĢа ва", + "ÑĢав а", + "Ñī ин", + "Ñīи н", + "ãģ« å¯¾", + "ç²¾ ç¥ŀ", + "à¹ī ส", + "Ġtem sil", + "à Ĩ", + "ìķ Ķ", + "ĠпÑĢавилÑĮ но", + "ÑĢ Ð¾Ñİ", + "ÑĢо Ñİ", + "Û±Û³ Û¸", + "è© ŀ", + "اء Ø©", + "ÙĪ Ø§Ø±Ùĩ", + "ÙĪØ§ رÙĩ", + "ÙĪØ§Ø± Ùĩ", + "ï¼ ħ", + "ĠÐľ ик", + "ĠÐľÐ¸ к", + "æģ ¶", + "æı Ĵ", + "ा पन", + "ाप न", + "ĠÚ©ÛĮÙģ ÛĮت", + "ĠT Ãłi", + "Ġt iá»ĥu", + "ov alo", + "ova lo", + "oval o", + "çĿ ¡", + "Ñĩ ил", + "Ñĩи л", + "Ġ лиÑĤ", + "Ġл иÑĤ", + "Ġли ÑĤ", + "λεÏħ ÏĦα", + "Ġ окон", + "Ġо кон", + "Ġок он", + ": :|", + ":: |", + "в ала", + "ва ла", + "вал а", + "ĠÙħرک زÛĮ", + "ĠÙħرکز ÛĮ", + "Ġ alÄ±ÅŁ", + "Ġa lÄ±ÅŁ", + "Ġal Ä±ÅŁ", + "Ġдолж но", + "Ġдол жно", + "æĻĤ 代", + "Ġ sert", + "Ġs ert", + "Ġse rt", + "Ġser t", + "е ÑĤом", + "еÑĤ ом", + "ัà¸Ļ ย", + "åģ ·", + "Ġ vÃŃc", + "Ġv ÃŃc", + "ĠvÃŃ c", + "ĠÑħ оÑĤÑı", + "ĠÑħоÑĤ Ñı", + "a larını", + "alar ını", + "aların ı", + "len mesi", + "lenme si", + "ãĥ³ ãĥIJ", + "ãĥ³ãĥ IJ", + "Ġëª ĩ", + "Ġá» ¦y", + "ĠاÙĦ کتر", + "vy ššÃŃ", + "è² ¬", + "주 ìĭľ", + "á ÅĻe", + "áÅĻ e", + "Ġy ere", + "Ġye re", + "Ġyer e", + "ãĤ¢ ãĥ³", + "ĠاÙĦس عÙĪØ¯", + "ĠØ¢ Ø´", + "Ġch óng", + "Ġchó ng", + "Ġ è»", + "Ġè »", + "г аÑĶ", + "га ÑĶ", + "Ġ ãģĤ", + "ç¨ ³", + "δ εÏĤ", + "δε ÏĤ", + "缮 çļĦ", + "Ġce vap", + "Ġcev ap", + "Ñģ ÑĤе", + "ÑģÑĤ е", + "é¡ ¿", + "म न", + "é¡ ¾", + "Ġк ÑĢедиÑĤ", + "ĠÙħس تÙĤ", + "ĠÙħست ÙĤ", + "Ġ миÑĤ", + "Ġм иÑĤ", + "Ġми ÑĤ", + "Ġt á»ĵn", + "Ġtá» ĵn", + "Ġ جÙĦ", + "Ġج ÙĦ", + "Ä© a", + "ĠاÙĦع ÙĦÙħ", + "ĠاÙĦعÙĦ Ùħ", + "á ků", + "ák ů", + "Ġ íķĻêµIJ", + "ĠíķĻ êµIJ", + "à¸Ĺ à¸Ńà¸ĩ", + "ห à¸Ļà¸Ķ", + "หà¸Ļ à¸Ķ", + "ĠлÑĸÑĤ еÑĢаÑĤÑĥ", + "ëIJ ł", + "ά ÏģÏĩ", + "άÏģ Ïĩ", + "ĠÙĤد رت", + "ĠÙĤدر ت", + "à¸Ļ าà¸ĩ", + "à¸Ļา à¸ĩ", + "Ġa rac", + "Ġar ac", + "Ġara c", + "Ġj ÃŃd", + "ĠjÃŃ d", + "Ġtür lü", + "íĶ ½", + "er siz", + "ers iz", + "е ним", + "ен им", + "ени м", + "Ġyüz yıl", + "Ġ ãģĦ", + "ĠÎļ Ïħ", + "Ġ æļ", + "Ġæ ļ", + "Ġp ůj", + "Ġpů j", + "Ġt á»Ļi", + "Ġth iên", + "Ġthi ên", + "İ S", + "Ġth úc", + "Ġthú c", + "æĹ ģ", + "ìŀIJ ìĿ¸", + "Ġöl üm", + "ر ÛĮÙģ", + "رÛĮ Ùģ", + "ÑĢ ÐµÐ¶", + "ÑĢе ж", + "ص اÙĦ", + "ر Ù쨩", + "رÙģ Ø©", + "i ếp", + "iế p", + "Ñı ÑĤиÑı", + "ÑıÑĤ иÑı", + "ÑıÑĤи Ñı", + "Ġpou žit", + "á tu", + "át u", + "为 ä»Ģä¹Ī", + "ì ģ", + "Ġ krát", + "Ġk rát", + "Ġkr át", + "ĠپرÙĪ ÚĺÙĩ", + "Ġrozhod nutÃŃ", + "ĠÑĥ нивеÑĢ", + "Ñĸй но", + "Ġ åij¨", + "Ġåij ¨", + "Ġk iá»ĥu", + "缮 åīį", + "ä¿ Ħ", + "ÏĦ οι", + "ÏĦο ι", + "ÑĦеÑĢ ÐµÐ½", + "uÅŁ tur", + "Ġ nÃŃm", + "Ġn ÃŃm", + "ĠnÃŃ m", + "âĢĮ Ø®", + "Ġ á»§y", + "Ġ ÑģÑĤаÑĤи", + "ĠÑģÑĤ аÑĤи", + "ĠÑģÑĤаÑĤ и", + "ĠÑģÑĤа ÑĤи", + "ÑĩеÑģ кий", + "Ñĩе Ñģкий", + "ÑĩеÑģки й", + "Ġj estli", + "Ġjest li", + "ĠÙ¾ ÙĨ", + "Ġob ce", + "ĠجÙĩ اÙĨÛĮ", + "ĠجÙĩاÙĨ ÛĮ", + "едаг ог", + "ãģ§ ãģ®", + "Ġbu á»Ļc", + "ì¹´ ì§Ģëħ¸", + "à¹ĩ à¸Ħ", + "ĠÄį tvrt", + "Ġ ника", + "Ġн ика", + "Ġни ка", + "Ġник а", + "Ġвп лив", + "Ġд иÑĢ", + "Ġди ÑĢ", + "ĠÑģоб ÑģÑĤвен", + "Ġë§İ ìĿ´", + "æ¾ ³", + "ÑĢ Ñĥб", + "ÑĢÑĥ б", + "æ£ ĭ", + "声 éŁ³", + "ä¹ ĥ", + "تÛĮ جÙĩ", + "å¹ ¼", + "o nya", + "on ya", + "ony a", + "ĠPlan tae", + "ĠPlant ae", + "Ч ÑĤо", + "æIJ Ń", + "ä½ľ ç͍", + "ìħ ¨", + "Ġк ÑĢÑĥг", + "Ġ ÙĪÙģÙĬ", + "ĠÙĪ ÙģÙĬ", + "ĠÙĪÙģ ÙĬ", + "Ġ ï¼ŀ", + "Ġï¼ ŀ", + "ÑĪ ÐºÐ¸", + "Âł Ðľ", + "ا Ø´ÛĮ", + "اش ÛĮ", + "ĠÅŀ ubat", + "ĠÅŀu bat", + "Ġع شر", + "Ġعش ر", + "l if", + "li f", + "Ġpou žitÃŃ", + "Ġpoužit ÃŃ", + "íĨ ¡", + "Ġб лок", + "Ġбл ок", + "èĢ ¶", + "ู ร", + "Ġv üc", + "Ø´ ÙĪØ¯", + "Ø´ÙĪ Ø¯", + "и ма", + "им а", + "ни ÑĨип", + "ниÑĨ ип", + "ìĿ´ ëĵľ", + "Ġ âĢIJ", + "ĠâĢ IJ", + "Ġ назнаÑĩ", + "Ġна знаÑĩ", + "Ġназ наÑĩ", + "Ġназна Ñĩ", + "Ġstr any", + "Ġstran y", + "Ġstra ny", + "æ® ¿", + "ĠاÙĦ رÙĪ", + "ĠاÙĦر ÙĪ", + "çº ¸", + "åĪ ij", + "ï¼Į ä»İ", + "Ġ ë©´", + "Ġë© ´", + "ĠпÑĢовед еннÑı", + "Ġh ava", + "Ġha va", + "Ġhav a", + "ĠìĹĨ ìĹĪëĭ¤", + "ĠìĹĨìĹĪ ëĭ¤", + "å¢ŀ åĬł", + "Ú ¾", + "ç¼ º", + "Ġع بار", + "Ġعب ار", + "Ġt ắc", + "Ġin ÅŁa", + "er se", + "ers e", + "ر ÙĬب", + "رÙĬ ب", + "Ġá»ķ n", + "Ø£ Ø©", + "ĠÏĢολ ι", + "ĠÏĢο λι", + "Ġm ắc", + "Ñģ ол", + "Ñģо л", + "æ´ ŀ", + "- го", + "-г о", + "ç¨ĭ 度", + "ĠвикоÑĢиÑģÑĤ аннÑı", + "âĢŀ ظ", + "e lerinde", + "eler inde", + "eleri nde", + "elerin de", + "ĠNh ưng", + "ĠNhư ng", + "st ÅĻed", + "Ġhasta lık", + "Ġhast alık", + "à¹ī à¹Ģà¸Ľ", + "Ġd efa", + "Ġde fa", + "Ġdef a", + "Ġ زÙĬ", + "Ġز ÙĬ", + "اط ÙĤ", + "Ġп ÑĢой", + "ĠпÑĢ Ð¾Ð¹", + "ĠпÑĢо й", + "Ġок ÑĢÑĥг", + "ν ια", + "νι α", + "l adu", + "la du", + "lad u", + "k oli", + "ko li", + "kol i", + "Ġ oÄŁ", + "Ġo ÄŁ", + "Ġви Ñģок", + "ĠвиÑģ ок", + "Ð ĩ", + "çĽ ĸ", + "ãĤı ãģij", + "ãĥ¼ ãĥģ", + "ãĥ¼ãĥ ģ", + "æ¡ ¥", + "ĠÅ¡kol y", + "ĠÅ¡k oly", + "i tom", + "it om", + "ito m", + "Ġت ØŃص", + "ĠتØŃ ص", + "a lara", + "al ara", + "ala ra", + "alar a", + "Ġк ал", + "Ġка л", + "ĠпÑĢи Ñħод", + "Ġ é¦ĸ页", + "Ġé¦ĸ 页", + " į", + "ĠÛĮ عÙĨÛĮ", + "Ġt ùy", + "Ģ ë¡ľ", + "볤 ê³ł", + "á ze", + "áz e", + "Ġ ек", + "Ġе к", + "èħ ¹", + "ĠF akat", + "ĠFa kat", + "ĠFak at", + "п о", + "ĠÄij á»įc", + "ĠÄijá»į c", + "å Īĺ", + "åĪ ĺ", + "áz al", + "ÑĤ он", + "ÑĤо н", + "Ú¯ ÙĪ", + "ä¸ Ī", + "ìĹ ¼", + "ĠÙĦÙĦ Ø£", + "ĠE ÄŁer", + "åħ±åĴĮ åĽ½", + "ذ ر", + "Ġd aÄŁ", + "Ġda ÄŁ", + "è¡Į ä¸ļ", + "ê±°ëŀĺ ê°Ģ", + "è´Ł è´£", + "C ông", + "ĠÑĦ илÑĮ", + "ĠÑĦил ÑĮ", + "Ġ аÑģ", + "Ġа Ñģ", + "Ġch ẳng", + "ним аÑĤÑĮ", + "нима ÑĤÑĮ", + "Ġif ad", + "Ġi fad", + "Ġ ìħ", + "Ġì ħ", + "çĪ µ", + "ĠÅĻe Å¡enÃŃ", + "åĽ½ 产", + "Ġкак ой", + "Ġка кой", + "Ġम ध", + "ĠY ar", + "ĠYa r", + "ob raz", + "obra z", + "Ġon emoc", + "Ġ âĤ", + "Ġâ Ĥ", + "åİŁ åĽł", + "ĠÙĥ رد", + "ĠÙĥر د", + "Ġآز اد", + "Ġad lı", + "ĠH izmet", + "ãĥ¼ ãĥij", + "ãĥ¼ãĥ ij", + "ÙĨ سÙĬØ©", + "ÙĨس ÙĬØ©", + "Ġв нÑĥÑĤ", + "ĠвнÑĥ ÑĤ", + "Ġd ále", + "Ġdál e", + "Ġdá le", + "Îķ Î¥", + "Ġ ÑĥÑħ", + "ĠÑĥ Ñħ", + "Ġ ÑĢев", + "ĠÑĢ ÐµÐ²", + "ĠÑĢе в", + "Ġ меÑĪ", + "Ġм еÑĪ", + "ĠkoÅŁ ul", + "ĠاÛĮ راÙĨÛĮ", + "ĠاÛĮراÙĨ ÛĮ", + "éĺ µ", + "Ġ ëıĻìķĪ", + "ĠëıĻ ìķĪ", + "à¹Ģ à¸Ł", + "à¹ĢภŁ", + "ëłĪ 벨", + "è¨Ń è¨Ī", + "p rak", + "pr ak", + "pra k", + "p oÄį", + "po Äį", + "اع دة", + "اعد Ø©", + "Ġas ker", + "Ġask er", + "ĠÙĪÛĮ ÚĺÙĩ", + "ĠÙĪÛĮÚĺ Ùĩ", + "ĠТ еÑĢ", + "ĠТе ÑĢ", + "mak ta", + "makt a", + "ĠÄįty ÅĻ", + "Âł С", + "âĢĮÚ©ÙĨ ÙĨد", + "ï¼Į 並", + "ĠÑĢоÑģ Ñĸй", + "Ġu nut", + "Ġun ut", + "è¿Ļ ä¸Ģ", + "o pak", + "op ak", + "opa k", + "èĢ IJ", + "Ġз амеÑĤ", + "Ġза меÑĤ", + "Ġзам еÑĤ", + "à¹Į ล", + "ب ÙĨ", + "Ġ 몰", + "Ġëª °", + "Ġins anlar", + "Ġinsan lar", + "åı¯ æĺ¯", + "æ¢ ¦", + "к од", + "ко д", + "èĽ Ľ", + "kl adnÃŃ", + "klad nÃŃ", + "ÑĢов од", + "ÑĢо вод", + "ĠмÑĸ ÑģÑĤа", + "ĠмÑĸÑģ ÑĤа", + "ĠмÑĸÑģÑĤ а", + "åĩº äºĨ", + "Ġп аÑģ", + "Ġпа Ñģ", + "о бов", + "об ов", + "Ú¯ اÙĩÛĮ", + "گاÙĩ ÛĮ", + "в ин", + "ви н", + "à¥įर ध", + "Ġком пон", + "Ġкомп он", + "Ġ аÑĤ", + "Ġа ÑĤ", + "Ġa det", + "Ġad et", + "Ġade t", + "Ġ ãĥģ", + "Ġãĥ ģ", + "Ġذ ات", + "ĠØŃ ÙĪ", + "Ġtro chu", + "à¹ģ หà¸Ļ", + "à¹ģห à¸Ļ", + "Ġзав жди", + "ĠPart isi", + "ĠParti si", + "ĠS avaÅŁ", + "ĠSav aÅŁ", + "Ġs ÃŃd", + "ĠsÃŃ d", + "Ġ Ñģон", + "ĠÑģ он", + "ĠÑģо н", + "ر ÙĬÙģ", + "رÙĬ Ùģ", + "Ġz cela", + "åĺ ´", + "ĠÑĦ ÑĥÑĤ", + "il erek", + "ile rek", + "iler ek", + "ilere k", + "m alıdır", + "malı dır", + "Ġd á»±a", + "Ġdá»± a", + "à¸Ĺำ à¸ĩาà¸Ļ", + "ĠÙĪÙĦ ÙĥÙĨ", + "ĠÙĪÙĦÙĥ ÙĨ", + "ãģª ãĤĵãģł", + "ãģªãĤĵ ãģł", + "ĠÚ© ÙħÛĮ", + "ĠÚ©Ùħ ÛĮ", + "Ġléka ÅĻ", + "Ïģ Ïį", + "ج Ùħع", + "جÙħ ع", + "ın ızı", + "ını zı", + "ınız ı", + "ĠAn adolu", + "ãģ«ãĤĪ ãģ£ãģ¦", + "Ġê·¸ëŁ¬ ëĤĺ", + "Ġ íĮĶ", + "ĠíĮ Ķ", + "Ñĸ ÑĤÑĮ", + "ÑĸÑĤ ÑĮ", + "Ġ ¦", + "Ġ ¦", + "ä¸į è¦ģ", + "à¸ĸ ม", + "Ġ ÙĬد", + "ĠÙĬ د", + "ĠpÅĻ ep", + "ĠpÅĻe p", + "Ġ è¦ģ", + "Ġè¦ ģ", + "ĠпÑĢо екÑĤ", + "ĠпÑĢоек ÑĤ", + "ĠÑĢе ги", + "ĠÑĢег и", + "Ġd ạy", + "к ового", + "ков ого", + "ково го", + "Ġ ıs", + "Ġı s", + "ĠK ı", + "ĠÙģÙĬ Ùĩا", + "ĠÙģÙĬÙĩ ا", + "ÛĮ ات", + "ÛĮا ت", + "ĠÑģÑĤ ала", + "ĠÑģÑĤал а", + "ĠÑģÑĤа ла", + "æĬ ľ", + "Ñĥ ÑĢа", + "ÑĥÑĢ Ð°", + "ĠÙ¾ اÛĮاÙĨ", + "ĠپاÛĮ اÙĨ", + "Ġپا ÛĮاÙĨ", + "Ġitibar en", + "а нÑĸÑĹ", + "ан ÑĸÑĹ", + "анÑĸ ÑĹ", + "Ġо ÑĦоÑĢм", + "л еÑĩ", + "ле Ñĩ", + "ε ξ", + "æĶ¿ çŃĸ", + "Ġ ç½ij", + "Ġç½ ij", + "å Ĥ¬", + "åĤ ¬", + "ĠìĿ´ 룰", + "Ġkar deÅŁ", + "Ñİ Ñīего", + "ÑİÑī его", + "л ки", + "ĠاÛĮ اÙĦات", + "ت Ùĩا", + "تÙĩ ا", + "Ġпод Ñħод", + "ĠØŃ ÙĪÙĦ", + "ĠØŃÙĪ ÙĦ", + "ĠÑģов ÑĢем", + "íĿ ¥", + "Ġ 詳細", + "Ġè© ³ç´°", + "ı yı", + "ıy ı", + "ĠتÙĤ ÙĪ", + "æ¯Ķ è¾ĥ", + "Ġαν ÏĦι", + "Ġ ΣΤ", + "ĠΣ Τ", + "ji šť", + "yn ı", + "Ġpo cházet", + "- Ðļ", + "Ġзав д", + "Ùİ Ø³", + "ç»ĵ æŀĦ", + "Ùħ ار", + "Ùħا ر", + "ν οι", + "νο ι", + "ĠÎł εÏģι", + "ĠγεÏģ ι", + "èĩ £", + "Ġna cházÃŃ", + "Ġnach ázÃŃ", + "ÏĦ Ïİ", + "à¥įय त", + "u yu", + "uy u", + "æķ Ĺ", + "e bi", + "eb i", + "Ġë°Ķ ë¡ľ", + "ĠгÑĢ Ð½", + "ĠاÙĦ اس", + "Ġorg án", + "Ġ edin", + "Ġe din", + "Ġed in", + "Ġedi n", + "åŁ ĥ", + "à¹ģ à¸Ħ", + "ĠØŃ دÙĪØ¯", + "ĠØŃد ÙĪØ¯", + "ĠдÑĢÑĥг ой", + "ĠдÑĢÑĥго й", + "оÑģ ков", + "оÑģк ов", + "ĠS ợ", + "ĠpÅĻ ib", + "ĠpÅĻi b", + "ä¿Ŀ æĬ¤", + "Ùħ بر", + "Ġ ãĥĨ", + "Ġãĥ Ĩ", + "Ġd oz", + "Ġdo z", + "op tera", + "opt era", + "ิล à¸Ľ", + "د ارÛĮ", + "دار ÛĮ", + "دا رÛĮ", + "æĦŁ è§ī", + "代 çIJĨ", + "ÙĨ دا", + "ÙĨد ا", + "ا ÙĬا", + "اÙĬ ا", + "ص ÙĨ", + "Ġce lé", + "Ġcel é", + "Ġ è©ķ", + "Ġè© ķ", + "à¸ĩ à¸Ļ", + "Ġ leh", + "Ġl eh", + "Ġle h", + "èİ· å¾Ĺ", + "ãĢĢ ï¾ī", + "ĠìĦł ìĪĺ", + "르 ëĬĶ", + "à¤Ĩ र", + "å§Ķ åijĺ", + "æĹł çłģ", + "Ġ è·", + "Ġè ·", + "Ġza jÃŃm", + "Ġzaj ÃŃm", + "ec ké", + "eck é", + "æ µľ", + "æµ ľ", + "ĠÑĥ нÑĸвеÑĢÑģиÑĤ", + "ĠбÑİдж еÑĤ", + "à¥ĩ .", + "Ġv stup", + "Ġ оÑī", + "Ġо Ñī", + "Ġ åľĭ", + "Ġåľ ĭ", + "ä¸ģ 缮", + "Ġв едÑĮ", + "Ġвед ÑĮ", + "Ġë§IJ ìĿĦ", + "Ġtek nik", + "Ġtekn ik", + "ãĢĢ ï½Į", + "ãĢĢï½ Į", + "ĠпÑĸд виÑī", + "ĠÑģвÑıз и", + "ĠÑģвÑı зи", + "Ġتر جÙħ", + " ī", + "ĠÄij âu", + "Ñĸ Ñĩного", + "ÑĸÑĩ ного", + "å°ij å¹´", + "e cta", + "ect a", + "ec ta", + "ि लत", + "िल त", + "ι οÏĤ", + "ιο ÏĤ", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "t eg", + "te g", + "á» īnh", + "á»ī nh", + "¯ ¿", + "Ġne bu", + "Ġneb u", + "ÙĬ ÙĬÙĨ", + "о ÑıÑĤ", + "оÑı ÑĤ", + "é¤ Ĭ", + "ĠاÙĤتص ادÛĮ", + "ĠاÙĤتصاد ÛĮ", + "âĢĻ nun", + "âĢĻn un", + "ĠÐĴ Ñĸк", + "Ġng Äĥn", + "ëĮĢ íķĻêµIJ", + "ëĮĢíķĻ êµIJ", + "é ı", + "़ र", + "ا باÙĨ", + "اب اÙĨ", + "Ùİ Ùĥ", + "Ġet kil", + "Ġetk il", + "Ġetki l", + "Ġch ắn", + "Ġë°ľ ìĥĿ", + "Ġtam amen", + "Ġtamam en", + "ĠÙħØŃ ÛĮØ·", + "ü lü", + "ül ü", + "åģ¥ åº·", + "ĠÑĢаÑģÑĤ ениÑı", + "ÏĢο ί", + "Ġ è¶ħ", + "Ġè¶ ħ", + "á Äį", + "ĠìϏ ë¶Ģ", + "ĠØ® ÛĮÙĦÛĮ", + "ĠØ®ÛĮ ÙĦÛĮ", + "Ġد ÙĪØ³Øª", + "ĠدÙĪ Ø³Øª", + "à¹Ģà¸Ĥ à¸ķ", + "Ġk alan", + "Ġka lan", + "Ġkal an", + "ë¨ ¼", + "a vÄĽ", + "av ÄĽ", + "문 íĻĶ", + "Ġди аг", + "ĠÙĨ ÙĪÙĬس", + "ĠÙĨÙĪ ÙĬس", + "íķ ij", + "à¸ŀ าะ", + "ëĭ¤ ê°Ģ", + "Ġn iá»ĩm", + "Ġس ÙĪÙħ", + "ĠسÙĪ Ùħ", + "- м", + "à¸Ķำ à¹Ģà¸Ļ", + "à¹ĩ ว", + "ãĢĤ ãģĵãģ®", + "ç¯ ī", + "Width Space", + "Zero WidthSpace", + "ائ ÙħØ©", + "ائÙħ Ø©", + "à¹Ħà¸ĭ à¸ķ", + "ä¸ĭè½½ 次æķ°", + "ä¼¼ ä¹İ", + "ĠÑĤ в", + "Ġzá kaz", + "Ġج دا", + "Ġجد ا", + "Ġg ider", + "Ġgi der", + "Ġgid er", + "ãĥ¼ ãĥĵ", + "ãĥ¼ãĥ ĵ", + "n ů", + "Ġë§ģ íģ¬", + "ĠdÃ¼ÅŁ ük", + "Ñĥ нок", + "Ñĥн ок", + "Ġt óc", + "ĠÑĤ ÑĢÑĥб", + "ĠÑĤÑĢ Ñĥб", + "ĠÑĤÑĢÑĥ б", + "о кÑģ", + "ок Ñģ", + "Ġtr ải", + "Ġtrả i", + "Ġm iá»ħn", + "Ġth Æ°á»Ľc", + "Ġnh áºŃt", + "Âł D", + "m asının", + "mas ının", + "masını n", + "è¼ ª", + "ĠÎĿ ο", + "er ç", + "Ġdok once", + "Ġdokon ce", + "ĠG üven", + "ĠGü ven", + "ov aná", + "ova ná", + "ovan á", + "е зд", + "ез д", + "Ñĸ нÑĮ", + "Ñĸн ÑĮ", + "èģ ²", + "اÙĦ Ø£", + "ï¼Į ä½Ĩæĺ¯", + "ï¼Įä½Ĩ æĺ¯", + "Ġпол ноÑģÑĤÑĮÑİ", + "Port ály", + "ĠØŃ اÙ쨏", + "à¥Ĥ à¤ķ", + "ÑĢ Ñĥн", + "ÑĢÑĥ н", + "人 çī©", + "Ġa çı", + "Ġaç ı", + "Ġp oru", + "Ġpo ru", + "Ġpor u", + "er iod", + "eri od", + "ĠAmer ika", + "ĠAmerik a", + "çĩ Ł", + "Ġ رÙĪØ¯", + "Ġر ÙĪØ¯", + "ĠرÙĪ Ø¯", + "ĠкÑĢов и", + "ÙĪ ÙĤت", + "ÙĪÙĤ ت", + "éĺ ¶", + "ãĥ»âĶģ ãĥ»âĶģ", + "ر ÙĬÙħ", + "رÙĬ Ùħ", + "åİĨ åı²", + "ä¸ ¸", + "Ġзн овÑĥ", + "Ġзнов Ñĥ", + "ĠÑģво его", + "ĠÑģвое го", + "бÑĥд ÑĮ", + "ĠØŃ جÙħ", + "ĠØŃج Ùħ", + "ĠδÏį ο", + "ìķĪ ëĤ´", + "Ġ ãģ§", + "à¹Ī ะ", + "Ùij Ùı", + "çµIJ æŀľ", + "âĢĻ i", + "à¹Į ,", + "åŃĺ äºİ", + "Ġरà¤ĸ न", + "ĠسرÙħ اÛĮÙĩ", + "Ġг лÑĥб", + "ĠглÑĥ б", + "ĠÑĢаз Ñĸ", + "ĠÑĢа зÑĸ", + "Ñĩ нÑĸ", + "ï¼Į åıĪ", + "c ısı", + "cı sı", + "æľī åħ³", + "ãĤ» ãĥ³", + "èIJ ¨", + "ĠGi áo", + "ĠGiá o", + "ĠاÙĦØ« اÙĨÙĬ", + "ĠÑĢаз ом", + "Ġ ÑĤÑĢо", + "ĠÑĤ ÑĢо", + "ĠÑĤÑĢ Ð¾", + "Ġaçık lam", + "åĨ³ å®ļ", + "à¸Ń à¸Ľ", + "åĶ ¯", + "ĠÅŁ ark", + "ĠÅŁar k", + "Ġsist emi", + "Ġsistem i", + "Ġto prak", + "Ġtop rak", + "èĢĥ ãģĪ", + "Ġпоп ÑĥлÑıÑĢ", + "Ġ ëĨį", + "ĠëĨ į", + "ا ÙĬÙĨ", + "اÙĬ ÙĨ", + "स म", + "Ġ ÂĢ", + "Ġ Ģ", + "Ġed erek", + "Ġeder ek", + "Ġg ec", + "Ġge c", + "ìĤ¬ ìĹħ", + "ĠÑĢ Ð¾ÐºÐ¸", + "ĠÑĢок и", + "ĠбеÑĢ ÐµÐ¼", + "ĠخاÙĨÙĪ Ø§Ø¯Ùĩ", + "Ġ èµ·", + "Ġèµ ·", + "Ġ ЧÑĤо", + "ĠЧ ÑĤо", + "Ġo bÄĽ", + "Ġob ÄĽ", + "и нÑĸ", + "ин Ñĸ", + "ìĿ´ ìĹĪ", + "ĠIn di", + "ĠInd i", + "Ġд иÑĤ", + "Ġди ÑĤ", + "ãĥ¶ æľĪ", + "Ġнем ного", + "Ġzáklad ÄĽ", + "à¹Ĥ à¸Ħ", + "ĠÑģам ого", + "ĠÑģамо го", + "Ġب ØŃØ«", + "ĠبØŃ Ø«", + "Ġ æ¶", + "Ġæ ¶", + "ов ж", + "Ġоб ÑĢаÑī", + "ĠобÑĢа Ñī", + "à Ĵ", + "ว รร", + "วร ร", + "à¤Ĥ श", + "ĠоÑĩ еÑĢед", + "ĠÙģ Ø±Ø²", + "ĠÙ쨱 ز", + "ëĮĢ íķľ", + "Ġs izin", + "Ġsi zin", + "Ġsiz in", + "Ġsizi n", + "ر ÙģØª", + "رÙģ Øª", + "Ñİ Ñīим", + "ÑİÑī им", + "æ» ij", + "a vir", + "av ir", + "avi r", + "ĠÙĪ ØµÙĦ", + "ĠÙĪØµ ÙĦ", + "Ġqu ay", + "Ġqua y", + "Ġг ип", + "ÑĢ ÐµÐ½Ð¸Ñı", + "ÑĢе ниÑı", + "ÑĢен иÑı", + "à¥į वत", + "à¥įव त", + "ιν Ïīν", + "à¤ľ ह", + "Ġh Æ¡i", + "Ġpo važ", + "Ġpov až", + "Ġع رب", + "м енÑĤа", + "мен ÑĤа", + "менÑĤ а", + "Ġо ÑģÑĤан", + "ĠоÑģÑĤ ан", + "ä¹ĭ éĹ´", + "a cÃŃch", + "ac ÃŃch", + "acÃŃ ch", + "ĠÑģказ ала", + "ĠÑģказал а", + "ìĿ´ ëĿ¼ëĬĶ", + "ìĿ´ëĿ¼ ëĬĶ", + "ĠØ´ اخ", + "Ġëĭ¹ ìĭł", + "ar lar", + "arl ar", + "Ġмл н", + "åĨ ¬", + ". :.:.:", + ".: .:.:", + ".:.: .:", + ".:. :.:", + ".:.:. :", + "Ġ θε", + "Ġθ ε", + "Ġher kes", + "Ġherk es", + "л Ñıд", + "лÑı д", + "ا Ùħا", + "اÙħ ا", + "Ġë ŃIJ", + "Ïĥιμο ÏĢοι", + "Ġ obraz", + "Ġob raz", + "Ġobr az", + "Ġobra z", + "غ اÙĦ", + "B Æ°á»Ľc", + "å° Ĭ", + "ìŀIJ 를", + "æĢ Ĵ", + "οÏħ Ïģγ", + "å¼ķ ãģį", + "Ġkon uda", + "Ġkonu da", + "ĠاÙĦت ج", + "Ġ krit", + "Ġk rit", + "Ġkr it", + "å¿ į", + "ĠìłĦìĦ¸ ê°Ģ", + "г овоÑĢ", + "го воÑĢ", + "гов оÑĢ", + "Ġist iyor", + "о ки", + "ок и", + "ĠобеÑģп еÑĩ", + "ĠобеÑģпе Ñĩ", + "Ġay rıca", + "Ġayrı ca", + "à¹Ģ à¸ľ", + "à¹Ģภľ", + "а ÑĢод", + "аÑĢ Ð¾Ð´", + "İ Åŀ", + "ĠجÙħ ÙĩÙĪØ±ÛĮ", + "ĠجÙħÙĩÙĪØ± ÛĮ", + "ĠÑģво иÑħ", + "ĠÑģвои Ñħ", + "Ġprov ád", + "Ġ ÑĢам", + "ĠÑĢ Ð°Ð¼", + "ĠÑĢаР¼", + "ĠÑĢа м", + "ĠÙĤ ض", + "л иÑĤелÑĮ", + "лиÑĤ елÑĮ", + "ãĤ± ãĥĥãĥĪ", + "оÑģ оÑĦ", + "Ġर हन", + "Ġरह न", + "k ový", + "ko vý", + "kov ý", + "ì° ¸", + "γ κα", + "γκ α", + "λ οι", + "λο ι", + "μ ÏĢο", + "μÏĢ Î¿", + "ĠÄij au", + "ĠÄija u", + "н иÑİ", + "ни Ñİ", + "Ġman žel", + "Ġ íĺ¼", + "Ġíĺ ¼", + "ĠÑĤ иÑģ", + "ĠÑĤи Ñģ", + "ãĥĨ ãĥ«", + "ab ilecek", + "abil ecek", + "abile cek", + "abilece k", + "н ин", + "ни н", + "à¸ģรรม à¸ģาร", + "éł IJ", + "Ġph ê", + "j edn", + "je dn", + "jed n", + "交 æµģ", + "Ġвним ание", + "об ÑĢеÑĤ", + "Ġжиз нÑĮ", + "ÑĢи ÑģÑĤи", + "ÑĢиÑģÑĤ и", + "ÑĢиÑģ ÑĤи", + "à¥Ī à¤ļ", + "Ġyüz den", + "Ġyüzde n", + "Ġg iy", + "Ġgi y", + "éļ Ķ", + "ä» ²", + "Ġ èĻ", + "Ġè Ļ", + "ĠP arti", + "ĠPart i", + "ĠPar ti", + "Ġ éĸ¢", + "Ġéĸ ¢", + "ัà¸ļ ส", + "Ġnej lepÅ¡ÃŃ", + "Ùİ Ùī", + "ĠìĿ´ ìłľ", + "Ġc ắt", + "ÑĢоз Ñĥм", + "Ġnej sou", + "l ÃŃd", + "lÃŃ d", + "θ ο", + "à¹ĩ à¸ĩ", + "ĠÑģп ÑĢоÑģ", + "ma mÄ±ÅŁ", + "mam Ä±ÅŁ", + "Ġ 쪽", + "Ġì ª½", + "ا ÙģÙĤ", + "اÙģ ÙĤ", + "ÑĨÑĸй ниÑħ", + "Ġ é¦Ļ", + "Ġé¦ Ļ", + "ĠÙħÛĮÙĦÛĮ ÙĪÙĨ", + "å¤ ¢", + "ĠÙģ Ùĩرست", + "r ý", + "Ġпо вÑĸдом", + "Ġпов Ñĸдом", + "ec eÄŁi", + "ece ÄŁi", + "ĠзабезпеÑĩ еннÑı", + " Ķ", + "ãģĹ ãģªãģĦ", + "åŁº ç¡Ģ", + "ĠÚĨ ÙĨÛĮÙĨ", + "ĠÑĢоз ÑĢоб", + "ä¸Ģ äºĽ", + "ãĥ³ ãģ®", + "ĠпÑĢа ÑĨÑĸв", + "ĠпÑĢаÑĨÑĸ в", + "å¾Ĺ åΰ", + "Ġt ấn", + "åŃĺæ¡£ å¤ĩ份", + "Ġ íĻĪ", + "ĠíĻ Ī", + "Ġ à¸Ķาว", + "Ġà¸Ķ าว", + "ìĭ ±", + "л ина", + "ли на", + "лин а", + "ĠвоÑģп ал", + "ÄŁ inden", + "ÄŁin den", + "ÄŁinde n", + "аÑĤ елей", + "аÑĤе лей", + "r ž", + "ĠÑĦ Ñĥн", + "ĠÐIJ л", + "ĠпоÑĩ ÑĤи", + "о вÑĸд", + "ов Ñĸд", + "овÑĸ д", + "ا عب", + "اع ب", + "าะ ห", + "Ġвоз ÑĢаÑģÑĤ", + "ิà¸ĩ ห", + "ĠÙģ ÙĦس", + "ĠÙģÙĦ س", + "ĠÅ¡ est", + "à¸Ĭ าว", + "Ġ 골", + "Ġê³ ¨", + "Ġ oÄį", + "Ġo Äį", + "ãĤ¸ ãĥ§", + "к оÑģÑĤи", + "ко ÑģÑĤи", + "éĽĨ åĽ¢", + "æ± ĩ", + "ĠpÅĻÃŃ liÅ¡", + "Ġ ìĿij", + "ĠìĿ ij", + "ди ви", + "див и", + "ĠдокÑĥм енÑĤа", + "ĠдокÑĥменÑĤ а", + "ĠCh âu", + "Ġm áu", + "Ġmá u", + "Ġkh ô", + "à ķ", + "Ñī ий", + "Ñīи й", + "Ġs ẵn", + "Ġкон ÑĦ", + "Ġз ÑĥÑģÑĤ", + "åĽŀ çŃĶ", + "Ġ коÑĢиÑģÑĤ", + "ĠкоÑĢ Ð¸ÑģÑĤ", + "Ġко ÑĢиÑģÑĤ", + "ĠÏĢεÏģ ί", + "ĠÏĢε Ïģί", + "ä¸ °", + "Ġm ạch", + "ан к", + "ä¸ĭ æĿ¥", + "èµĦ æĸĻ", + "ย à¸Ńà¸Ķ", + "ĠÏĢ Î¹Î¿", + "à¹ī à¸ĩาà¸Ļ", + "à¹īà¸ĩ าà¸Ļ", + "Ġum ÃŃst", + "æ½ ®", + "çªģ çĦ¶", + "Ġk ultur", + "Ġkul tur", + "ĠاÙĦ صÙģ", + "ĠاÙĦص Ùģ", + "a larının", + "alar ının", + "aların ın", + "alarını n", + "ĠÎĶη μο", + "Ġвикон аннÑı", + "Ġвико наннÑı", + "ï½ ¿", + "Ġбез опаÑģ", + "ĠÑģ аÑħ", + "Ġn oh", + "Ġno h", + "à¹ĥ à¸ļ", + "éĥ½ å¸Ĥ", + "ÅŁ am", + "ÅŁa m", + "б ÑĥÑĤ", + "бÑĥ ÑĤ", + "Ġ모 ìĬµ", + "Ġв аг", + "Ġва г", + "çIJĨ è§£", + "Ġekonom ik", + "Ġkh ắc", + "Ġs vat", + "Ġsv at", + "лиÑĪ ÐºÐ¾Ð¼", + "ัà¸ĩ à¸Īาà¸ģ", + "iz yon", + "èĥ½ å¤Ł", + "ί νει", + "ίν ει", + " Ĭ", + "ì¦ Į", + "Ġ ÙĩاÛĮÛĮ", + "ĠÙĩ اÛĮÛĮ", + "ĠÙĩاÛĮ ÛĮ", + "ĠkiÅŁ iler", + "ĠkiÅŁi ler", + "Ġк леÑĤ", + "Ġкл еÑĤ", + "Ġкле ÑĤ", + "íĺ ģ", + "à¥ĥ द", + "i Å¡", + "ëĶĶ ìĺ¤", + "ÙĬ راÙĨ", + "ÙĬر اÙĨ", + "ÙĬرا ÙĨ", + "ĠÐĿ Ñĥ", + "à¸Ń à¸Ļà¸Ĺ", + "à¸Ńà¸Ļ à¸Ĺ", + "ĠÑģ оÑĩ", + "ĠÑģо Ñĩ", + "Ġist eyen", + "ĠS ez", + "ĠSe z", + "Ġ ãĤ»", + "ĠãĤ »", + "ĠA ç", + "âĢĮ ÙĨ", + "ĠÑĤ оп", + "ĠÑĤо п", + "ĠÑĤеÑĢÑĢиÑĤ оÑĢ", + "a cılık", + "acı lık", + "Ġод нÑĥ", + "Ġv eri", + "Ġver i", + "Ġve ri", + "ĠÚ© د", + "ĠÚ¯ ÙģØªÙĩ", + "ĠÚ¯ÙģØª Ùĩ", + "Ġcin sel", + "Ġcins el", + "олог ии", + "ĠpÅĻed mÄĽt", + "à¤Ĥ à¤ĺ", + "Ġ 空", + "Ġç© º", + "γ α", + "' ye", + "'y e", + "ت رة", + "تر Ø©", + "Ġd ÅĻÃŃ", + "ĠH Ãłn", + "ĠHÃł n", + "Ġر شتÙĩ", + "Ġv idea", + "Ġvi dea", + "Ġvid ea", + "Ġvide a", + "Ġ ног", + "Ġн ог", + "Ġно г", + "æ ·»", + "æ· »", + "è¿ĺ æľī", + "ÙĨ در", + "ÙĨد ر", + "Ġy erde", + "Ġyer de", + "Ġk ent", + "Ġke nt", + "Ġken t", + "à¸ļ าล", + "Ġд еÑģÑı", + "Ġде ÑģÑı", + "ä¸ļ åĬ¡", + "Ġоб ÑĬек", + "ĠобÑĬ ек", + "ĠвнÑĥÑĤÑĢ ÑĸÑĪ", + "ĠвнÑĥÑĤ ÑĢÑĸÑĪ", + "k ola", + "ko la", + "kol a", + "eb nÃŃ", + "ี ล", + "Ġ ,.", + "Ġ, .", + "ĠмÑĸж наÑĢод", + "ãģªãĤĵ ãģ¦", + "ĠS öz", + "Ġ chod", + "Ġc hod", + "Ġch od", + "Ġcho d", + "Ġtr úc", + "Ġtrú c", + "ìļĶ ìĿ¼", + "Ġph áºŃn", + "Ñģ ка", + "Ñģк а", + "ĠÑħ лоп", + "Ñģ ким", + "Ñģк им", + "Ñģки м", + "Ġka pit", + "Ġkap it", + "ëĵ¤ ìĹIJê²Į", + "Ġb Ãło", + "ĠbÃł o", + "lı ģın", + "lıģı n", + "lıģ ın", + "İ ÅŁ", + "Äį nÃŃk", + "ÄįnÃŃ k", + "Ġ NgoÃłi", + "ĠNg oÃłi", + "Ġب ÛĮاÙĨ", + "ĠبÛĮ اÙĨ", + "Ġpro Äį", + "Ġpr oÄį", + "ĠпÑĢоÑĤ Ñıгом", + "åĢ ī", + "е Ñİ", + "Ġ νο", + "Ġν ο", + "ëĿ¼ ëıĦ", + "ì ·¨", + "Ġви Ñıв", + "Ġпо над", + "Ġпон ад", + "Ġжов ÑĤ", + "Ġ æ¯Ķ", + "Ġæ¯ Ķ", + "Ġd oby", + "Ġdo by", + "Ġdob y", + "л ам", + "ла м", + "Ñij л", + "Ġ ÑĢаÑħ", + "ĠÑĢ Ð°Ñħ", + "ĠÑĢа Ñħ", + "Ġвоз ника", + "Ġвозник а", + "ниÑĨÑĤ во", + "å± ¤", + "ĠоÑĤ лиÑĩ", + "ĠоÑĤли Ñĩ", + "çĤ İ", + "é£ ¯", + "Ġživ ota", + "Ġživot a", + "at ör", + "Ġce lý", + "Ġcel ý", + "Ġ aday", + "Ġa day", + "Ġad ay", + "Ġada y", + "ر ÙĬÙĥÙĬ", + "رÙĬ ÙĥÙĬ", + "رÙĬÙĥ ÙĬ", + "Ġب ص", + "m eyen", + "me yen", + "meye n", + "mey en", + "ìļ° ìĬ¤", + "ب ÙĪÙĦ", + "بÙĪ ÙĦ", + "Ġ озна", + "Ġо зна", + "Ġоз на", + "é º¼", + "éº ¼", + "æĵ ļ", + "Ġz kou", + "Ġzk ou", + "ëĤĺ ìļĶ", + "Ġk ry", + "Ġkr y", + "Ġnem oh", + "Ġvyu žÃŃ", + "Ġ æľ¨", + "Ġад мÑĸнÑĸÑģÑĤÑĢа", + "ا Ùĩا", + "اÙĩ ا", + "à¹ĥ à¸ģล", + "____ ____", + "Ġ гоÑĤ", + "Ġг оÑĤ", + "ĠدÛĮ گرÛĮ", + "ĠدÛĮگر ÛĮ", + "Ġл екаÑĢ", + "è§ Ģ", + "Ġ íĺij", + "Ġíĺ ij", + "ĠB öyle", + "ist rov", + "istr ov", + "istro v", + "女 åŃIJ", + "Ġпоп еÑĢед", + "ĠÙĨÙĪÙĬس ÙĨدÙĩ", + "ÙĴ ÙĦ", + "ĠÐŁ ав", + "Ġö rnek", + "Ġör nek", + "Ġп ÑĢик", + "ĠпÑĢ Ð¸Ðº", + "ĠпÑĢи к", + "Ġ ÑĪи", + "ĠÑĪ Ð¸", + "üslü man", + "ĠÙħÙĤ ابÙĦ", + "åįģ äºĮ", + "Ġb ekl", + "Ġbe kl", + "Ġbek l", + "Ġver ir", + "Ġve rir", + "Ġveri r", + "ÙĪ Ø°", + "ض Ø©", + "ÑĢо ÑĤив", + "ÑĢоÑĤ ив", + "æĮ ij", + ". .:", + ".. :", + "Ġخارج ÙĬØ©", + "a dık", + "ad ık", + "adı k", + "ĠÐŁ оÑĩ", + "ĠÐŁÐ¾ Ñĩ", + "ĠÑħÑĥд ож", + "客 æĪ·", + "μ ον", + "μο ν", + "ek tiv", + "ekt iv", + "Ġt vá", + "Ġtv á", + "Û² Û²", + "Ġl á»įc", + "Ġо но", + "Ġон о", + "ÑĨ иÑĤ", + "ÑĨи ÑĤ", + "ĠÐĴ Ñģ", + "Ġ å¢", + "Ġå ¢", + "æµ ª", + "а ÑĢÑĸ", + "аÑĢ Ñĸ", + "Ġsür ekli", + "Ġ stra", + "Ġs tra", + "Ġst ra", + "Ġstr a", + "Ġb ize", + "Ġbi ze", + "Ġbiz e", + "Ġtes pit", + "Ġch âu", + "ĠاÙĦ ض", + "à¹īà¸Ń à¸ĩà¸ģ", + "à¹īà¸Ńà¸ĩ à¸ģ", + "Ġ èĢħ", + "ĠèĢ ħ", + "ĠH á»", + "Ġкажд Ñĭй", + "а Ñİ", + "à¸Ļ à¸Ħร", + "à¸Ļà¸Ħ ร", + "à¸Ĺ ะ", + "ĠÙħر اجع", + "ĠÙħراج ع", + "Ġha line", + "Ġhal ine", + "δ οÏĤ", + "δο ÏĤ", + "e ÄŁi", + "ĠÙħÛĮ زاÙĨ", + "Ġ ÙĩÙĦ", + "ĠÙĩ ÙĦ", + "Ġb olest", + "Ġbo lest", + "Ġbol est", + "Ġ åľŁ", + "Ġåľ Ł", + "Ġu zman", + "Ġuz man", + "ÑĢ Ð¾Ð³", + "ÑĢо г", + "確 èªį", + "ĠÑĢÑĸз ниÑħ", + "Ġза кÑĢÑĭ", + "Ġзак ÑĢÑĭ", + "лÑĥ ги", + "лÑĥг и", + "ĠÑģо веÑĤ", + "ĠÑģов еÑĤ", + "id di", + "idd i", + "åIJĪ ãĤıãģĽ", + "Ġ åIJī", + "ĠåIJ ī", + "Ġk iá»ĩm", + "ë² ½", + "ĠÙħع ÙħÙĪÙĦ", + "ĠопÑĢед елÑı", + "ĠопÑĢедел Ñı", + "Ġmik tar", + "Ġ ìŀIJëıĻ", + "ĠìŀIJ ëıĻ", + "Ġil aç", + "л оÑĩ", + "ло Ñĩ", + "Ġy ılı", + "Ġyıl ı", + "Ġyı lı", + "Ġ ÄIJá»ĥ", + "ĠÄIJ á»ĥ", + "ĠÄIJá» ĥ", + "Ġab ych", + "Ġaby ch", + "Ġrek lam", + "Ġrekl am", + "Ġv ypad", + "Ġvy pad", + "Ġvyp ad", + "Ġна ÑĥÑĩ", + "à¹Ģà¸Ħร าะห", + "Ġ ä»ĸ", + "p ovÄĽ", + "po vÄĽ", + "ï¼Į 让", + "ç¥ Ŀ", + "ا ÙĪÙĨد", + "اÙĪ ÙĨد", + "اÙĪÙĨ د", + "Ġ: |:", + "Ġ:| :", + "Ġre ž", + "Ġvyb av", + "ìľ ¤", + "æŃ ´", + "огÑĢаÑĦ иÑı", + "ez peÄį", + "ezpe Äį", + "± n", + "о вÑĥ", + "ов Ñĥ", + "Ġд Ñĥма", + "ĠдÑĥ ма", + "ĠдÑĥм а", + "Ġjedn odu", + "Ġjedno du", + "о Ñīи", + "оÑī и", + "ĠÙħ شتر", + "ĠÙħØ´ تر", + "è¦ ³", + "Ġyok tur", + "Ġyoktu r", + "Ġob Äįan", + "ĠTr ần", + "ım sız", + "α ιν", + "αι ν", + " Į", + "ر ÛĮاÙĨ", + "رÛĮ اÙĨ", + "ĠJe ho", + "ĠJeh o", + "ĠاÙĦ Ø¢ÙĨ", + "ĠاÙĦØ¢ ÙĨ", + "ÑģÑĮ ким", + "ÑģÑĮк им", + "Ġk dyby", + "Ġkdy by", + "ĠbaÅŁ ına", + "Ġprez ident", + "Ġ Viá»ĩc", + "ĠV iá»ĩc", + "åħ ¼", + "à¥Į à¤ľ", + "Ġ매매 ê°Ģ", + "模 å¼ı", + "nÃŃ mu", + "nÃŃm u", + "Ġ åĤ", + "Ġå Ĥ", + "Ġ deniz", + "Ġd eniz", + "Ġden iz", + "ĺ èĽĽ", + "Ġ èĢĮ", + "ĠèĢ Į", + "ÙĪ ØŃ", + "Ñĭ п", + "Ġâĸ ¼", + "n ul", + "nu l", + "ĠS ev", + "ĠSe v", + "Ġ ruh", + "Ġr uh", + "Ġru h", + "Ġh ạ", + "Ġ Ñıн", + "ĠÑı н", + "Ġ기 본", + "Ġv elik", + "Ġve lik", + "Ġvel ik", + "ĠT ân", + "и лиÑģÑĮ", + "ил иÑģÑĮ", + "или ÑģÑĮ", + "ĠÑħ ÑĢа", + "åĤ ·", + "Ġà¤Ĩ à¤ı", + "Ġn ynÃŃ", + "Ġny nÃŃ", + "» ØĮ", + "ĠØ´ ع", + "æĿ Ĥ", + "Ġм ÑĭÑĪ", + "ĠмÑĭ ÑĪ", + "ãģĻ ãģIJ", + "Ġ ê³µì§Ģ", + "Ġê³µ ì§Ģ", + "Ġt á»Ļc", + "ãĥ¼ ãĥĩ", + "ãĥ¼ãĥ ĩ", + "ĠÑģ ело", + "ĠÑģел о", + "Ġا عÙĦاÙħ", + "Ġاع ÙĦاÙħ", + "ĠÅŁ imdi", + "ĠÅŁi mdi", + "ĠاÙĦÙħ ÙĬÙĦاد", + "ĠاÙĨÙĤÙĦ اب", + "Ġشخص ÙĬØ©", + "ĠK ür", + "ĠKü r", + "Ġ вÑĸÑĤ", + "Ġв ÑĸÑĤ", + "ĠвÑĸ ÑĤ", + "ĠاÙĨد ازÙĩ", + "Ġм оÑī", + "Ġмо Ñī", + "t ernet", + "ter net", + "tern et", + "ĠαÏħ ÏĦή", + "ĠÑĢоз ÑĤа", + "Ġв ив", + "Ġви в", + "l ej", + "le j", + "Ġ 表", + "Ġè¡ ¨", + "ÏĥÏĥ ÏĮÏĦε", + "ĠÙĬ ست", + "ĠÙĬس ت", + "Ġм аÑĪ", + "Ġма ÑĪ", + "åĿ ļ", + "Ġком наÑĤ", + "า หล", + "าห ล", + "Ġ çϼ", + "ĠçĻ ¼", + "ĠاÙĪÙĦ ÛĮÙĨ", + "è¿IJ åĬ¨", + "Ġп ÑĥнкÑĤ", + "ĠпÑĥнк ÑĤ", + "ĠоÑģоб енно", + "Ġм ам", + "Ġма м", + "ç» ©", + " ̄ ̄ ̄ ̄  ̄ ̄ ̄ ̄", + "алÑĮ нÑĭм", + "ĠЦ енÑĤ", + "ĠЦе нÑĤ", + "- Ðľ", + "ç· Ĵ", + "Ġह à¤ľ", + "о ÑĤÑĭ", + "оÑĤ Ñĭ", + "ãĤ¤ ãĥī", + "د ارة", + "دار Ø©", + "دا رة", + "ãģ¨ ãģĹãģŁ", + "ั à¸ŀย", + "ัà¸ŀ ย", + "Ġot áz", + "Ġдопом огоÑİ", + "à¹ģละ à¸ģาร", + "ĠÑĤÑĢанÑģп оÑĢÑĤ", + "ĠÑĤÑĢанÑģпоÑĢ ÑĤ", + "ĠÙĤر Ø¢ÙĨ", + "Ġ 第ä¸Ģ", + "Ġ第 ä¸Ģ", + "Ġм ил", + "Ġми л", + "Ġng ôi", + "Ġl inh", + "Ġli nh", + "Ġlin h", + "ĠNh ân", + "ÑĮогод нÑĸ", + "æĢ Ģ", + "à¹ī าส", + "à¹īา ส", + ".:: .::", + "Ġbi rey", + "Ġbir ey", + "æĢĿ ãģĦ", + "à¹ĥ à¸Ķ", + "веÑĢ Ð´", + "ве ÑĢд", + "Ġlistop adu", + "Ġ à¹ģม", + "Ġà¹ģ ม", + "г е", + "Ġк ÑĥÑħ", + "ĠкÑĥ Ñħ", + "Ġ íĻľëıĻ", + "ĠíĻľ ëıĻ", + "Ġ èİ", + "Ġè İ", + "ĠÐIJ лÑĮ", + "ĠÐIJл ÑĮ", + "íļĮ ìĿĺ", + "ĠÏĢ Ïģα", + "Ġv ui", + "Ġvu i", + "ว ร", + "à¤Ĥ व", + "Ġg ece", + "Ġge ce", + "Ġgec e", + "ç« ¶", + "Ġk uv", + "Ġku v", + "м еÑī", + "ме Ñī", + "ĠÑĤеп еÑĢÑĮ", + "ĠÑĤепеÑĢ ÑĮ", + "à¸Ń à¹Ģม", + "åζ 度", + "ĠÑĤ ÑĢеÑĤ", + "ĠÑĤÑĢ ÐµÑĤ", + "ĠÙĨ تÛĮجÙĩ", + "ä»ĺ ãģį", + "Ġ ï¾ŀ", + "Ġï¾ ŀ", + "Ġ Ñĩого", + "ĠÑĩ ого", + "âĢIJ -", + "ĠÅĻÃŃ ká", + "à¸ĩ à¹ĥà¸Ļ", + "ĠnÄĽkol ika", + "ĠnÄĽkolik a", + "Ġb una", + "Ġbu na", + "Ġbun a", + "ï¼Į åŃĺäºİ", + "ล ำ", + "ãĢģ ãģ¨", + "Ġn á»Ļp", + "ĠاÙĦ جÙĨ", + "ĠاÙĦج ÙĨ", + "ĠÎł αν", + "Ġγα ν", + "Ðŀ Ðł", + "Ġدخ تر", + "Ġúda je", + "Ġúdaj e", + "Ġ å¼ł", + "Ġå¼ ł", + "r etim", + "re tim", + "ret im", + "s ınız", + "sın ız", + "ĠÙĩÙĨ اÙĥ", + "ĠÙĩÙĨا Ùĥ", + "ÐĽ Ь", + "æķ ¬", + "Îij Îľ", + "页éĿ¢ åŃĺæ¡£å¤ĩ份", + "ìĤ¬ ê°Ģ", + "Ġt rest", + "Ġtr est", + "Ġtre st", + "Ġtres t", + "v iÄį", + "vi Äį", + "ĠÙ¾ ÛĮدا", + "ĠÙ¾ÛĮ دا", + "ζ ε", + "ĠÐŁ ов", + "ĠÐŁÐ¾ в", + "ÙĦÙħ ات", + "o rex", + "or ex", + "ore x", + "è¬ Ľ", + "ĠвÑĸдк ÑĢиÑĤ", + "м аÑħ", + "ма Ñħ", + "ĠÑĩиÑģ ле", + "ت بار", + "تب ار", + "ĠÎŃ Îº", + "ìķĦ íĮĮíĬ¸", + "r avel", + "ra vel", + "rav el", + "α Ïĥία", + "αÏĥ ία", + "a Äį", + "Ġ à¤ıन", + "Ġà¤ı न", + "ละ à¹Ģà¸Ń", + "Ġз алеж", + "Ġза леж", + "Ġзал еж", + "Ġ æģ", + "Ġæ ģ", + "Ġмож еÑĤе", + "ĠможеÑĤ е", + "Ġможе ÑĤе", + "Ġпо вед", + "Ġпов ед", + "ĠبسÛĮ ارÛĮ", + "ĠبسÛĮار ÛĮ", + "Ġ poÄįet", + "Ġpo Äįet", + "ĠpoÄį et", + "ر بع", + "رب ع", + "e lez", + "el ez", + "ele z", + "ا ÙĪØ±ÛĮ", + "اÙĪ Ø±ÛĮ", + "اÙĪØ± ÛĮ", + "Ġba ÅŁk", + "ĠbaÅŁ k", + "å° Ĥ", + "Ġhal de", + "æĭ Ł", + "S au", + "Sa u", + "о ÑĨи", + "ี à¸Ħ", + "Ġв лади", + "Ġвла ди", + "Ġвлад и", + "ÙIJ Ùħ", + "k ud", + "ku d", + "à¥Ĥ ब", + "å§Ķ åĵ¡", + "า รà¸ĵ", + "าร à¸ĵ", + "o rů", + "or ů", + "Ġ ÙħÙĪÙĦ", + "ĠÙħ ÙĪÙĦ", + "ĠÙħÙĪ ÙĦ", + "Ġ byt", + "Ġb yt", + "Ġby t", + "ĠpÅĻÃŃslu Å¡", + "èĭ± è¯Ń", + "éĢ IJ", + "Ġvel ké", + "Ġvelk é", + "Ġà¤Ĩ श", + "Ġph iếu", + "Ġphi ếu", + "à¹ĥ ส", + "Ġاس Ù¾", + "Ġzbo žÃŃ", + "ãģĵ ãĤĵãģª", + "ãģĵãĤĵ ãģª", + "ĠÙĪÙĩ ÙĬ", + "ĠÑĥÑĩа ÑģÑĤÑĮ", + "ĠÑĥÑĩаÑģÑĤ ÑĮ", + "ĠÑĥÑĩаÑģ ÑĤÑĮ", + "à¸Īำ à¸Ļวà¸Ļ", + "Ġتر Ú©", + "åįģ åĪĨ", + "ÎŁ Îł", + "ÎŁÎ ł", + "κ ολ", + "κο λ", + "Ġf akat", + "Ġfa kat", + "Ġfak at", + "Ġch á»Ĺ", + "éĢļ çŁ¥", + "Ġв одÑĥ", + "Ġво дÑĥ", + "Ġвод Ñĥ", + "ĠÎļα ÏĦηγοÏģία", + "aca ģını", + "acaÄŁ ını", + "л ого", + "ло го", + "ĠmÃ¼ÅŁ ter", + "Ġj ednou", + "Ġjed nou", + "Ġjedn ou", + "Ġjedno u", + "Ġб аÑĢ", + "Ġба ÑĢ", + "i dae", + "id ae", + "ida e", + "d ım", + "dı m", + "è¾ ²", + "åIJ ¹", + "ëIJ ©ëĭĪëĭ¤", + "ĠÅŁekl inde", + "e ným", + "en ým", + "ený m", + "ëĵ ¯", + "i tÄĽ", + "it ÄĽ", + "Ġк олÑĮ", + "Ġкол ÑĮ", + "Ġко лÑĮ", + "ëĮĢ íķĻ", + "ĠÃĸ r", + "Ġ ê½", + "Ġê ½", + "ĠUB ND", + "Ġh ik", + "Ġhi k", + "ãĤī ãģĹãģĦ", + "ãĤīãģĹ ãģĦ", + "åĩº åĵģ", + "C ó", + "Ġ Îŀ", + "ĠÎ ŀ", + "Ġ åħ¥", + "Ġåħ ¥", + "ĠNg uyên", + "ĠÙ¾ ÙĪØ´", + "лÑı ÑĶ", + "ĠØ¢ غاز", + "Ġnhiá»ħ m", + "d ivid", + "div id", + "di vid", + "ç ĺ", + "ا ÙģØªÙĩ", + "اÙģ ØªÙĩ", + "اÙģØª Ùĩ", + "а меÑĤ", + "ам еÑĤ", + "нÑĥ лÑģÑı", + "нÑĥл ÑģÑı", + "ä¼ģ æ¥Ń", + "ÑĢоб ÑĸÑĤ", + "dü ÄŁÃ¼", + "dÃ¼ÄŁ ü", + "Ġ کاÙĨ", + "ĠÚ© اÙĨ", + "à¸Ń à¸ĩà¸Ĺ", + "à¸Ńà¸ĩ à¸Ĺ", + "й н", + "Ġpoh yb", + "Ġpohy b", + "Ġb iá»ĩn", + "Ġbi á»ĩn", + "Ġ ï¼Ľ", + "Ġï¼ Ľ", + "Ùħ ÙĨد", + "ÙħÙĨ د", + "Ġà¤Ĩ à¤ķ", + "ĠÄįlov ÄĽk", + "ĠÄįlovÄĽ k", + "ãĤĴè¦ĭ ãĤĭ", + "ë· °", + "ĠÑĥв елиÑĩ", + "ĠÑĥвели Ñĩ", + "Ġ ê´", + "Ġê ´", + "Ġyan lÄ±ÅŁ", + "éº ¦", + "Ġå¤ĸ éĥ¨", + "ÏĦ οÏħÏģγ", + "ÏĦοÏħ Ïģγ", + "Ġп ÑĢоÑĩ", + "ĠпÑĢ Ð¾Ñĩ", + "ĠпÑĢо Ñĩ", + "ĠÑĢÑĥ ковод", + "çĽ ¤", + "èľ ĺèĽĽ", + "å®ī è£ħ", + "ĠУ кÑĢа", + "Ġtart Ä±ÅŁ", + "ÑĤ аж", + "ÑĤа ж", + "ĠoluÅŁ an", + "ĠRus ya", + "Ġк лÑĥб", + "Ġкл Ñĥб", + "ĠклÑĥ б", + "ĠÎł Ρ", + "alı dır", + "k ın", + "kı n", + "ĠзмÑĸ ни", + "ĠзмÑĸн и", + "leÅŁ ik", + "еÑĢ Ð¿", + "об Ñīе", + "обÑī е", + "Ġqu áºŃn", + "Ġप श", + "ãĤĴ åıĹ", + "à¹Ģล à¸Ĥ", + "ا ضر", + "اض ر", + "Ġuž ivatel", + "λ ία", + "λί α", + "ĠÐĴ они", + "ĠÐĴо ни", + "ุà¸Ķ à¸Ĺ", + "ĠV Ãł", + "ãĥ³ ãĤ¿", + ") ëĬĶ", + "æ¸ Ľ", + "Ġ μÏĢ", + "Ġμ ÏĢ", + "å· §", + "ĠÑĪ ÐºÐ¾Ð»", + "ĠÑĪк ол", + "Ġì²ĺ ìĿĮ", + "ัà¸ģ à¸Ķ", + "æ® Ĭ", + "Ġnh á»Ŀ", + "ĠοÏĢο ία", + "à¹ģ à¸Ļว", + "à¹ģà¸Ļ ว", + "меÑĢик ан", + "nÃŃ ka", + "nÃŃk a", + "Ġíĺ¸ íħĶ", + "سب ب", + "à¸ĩ ม", + "ìŀĪ ëĬĶ", + "غ Ø·", + "Ùı ÙĦ", + "¹ æŀľ", + "Ñĩ Ñĸв", + "ÑĩÑĸ в", + "ÑĪ Ð°Ñı", + "ÑĪа Ñı", + "ĠØ¥ ÙĦا", + "ĠØ¥ÙĦ ا", + "خص ÙĪØµ", + "ll ll", + "ĠÑį ÑĤим", + "ĠÑįÑĤ им", + "ĠÑįÑĤи м", + "Ġz vÃŃ", + "Ġzv ÃŃ", + "Ġqu án", + "Ġquá n", + "à¸Ļ à¸ģ", + "Ġп олов", + "Ġпо лов", + "Ġпол ов", + "Ġ æ·±", + "Ġæ· ±", + "Ġm iá»ģn", + "Ġmi á»ģn", + "人 éĸĵ", + "Ġз им", + "Ġmey dana", + "е ÑĦ", + "Ġb á»ģn", + "Ġbá»ģ n", + "ز ÙĬد", + "زÙĬ د", + "ĠÐł еÑģп", + "ĠÐłÐµ Ñģп", + "ÎĻ Î£Î¤", + "ÎĻΣ Τ", + "Ġ æĶ¶", + "ĠæĶ ¶", + "r aya", + "ra ya", + "ray a", + "ĠتÙĪ Ø§ÙĨد", + "ĠتÙĪØ§ÙĨ د", + "Ġ ister", + "Ġis ter", + "Ġi ster", + "Ġist er", + "Ġ ë°Ģ", + "Ġë° Ģ", + "ĠмеÑħ ани", + "Ġ à¸ķำ", + "Ġà¸ķ ำ", + "Ġд ека", + "Ġде ка", + "Ġдек а", + "à¤Ĥ à¤Ĺल", + "à¤Ĥà¤Ĺ ल", + "ãĥ¼ ãĤ«ãĥ¼", + "Ġnep ÅĻÃŃ", + "ĠnepÅĻ ÃŃ", + "ĠÑģ ÑĩиÑĤ", + "ĠÑģÑĩ иÑĤ", + "Ġο μά", + "Ġç ift", + "ب ÛĮÙĨÛĮ", + "بÛĮ ÙĨÛĮ", + "بÛĮÙĨ ÛĮ", + "m eleri", + "me leri", + "mel eri", + "meler i", + "Ġвоз дейÑģÑĤв", + "d ou", + "do u", + "ìĥģ ìĿĦ", + "ĠÐĴ олод", + "ĠÐĴо лод", + "ĠÐĴол од", + "ε β", + "ÐĿ Ðĺ", + "Ñı к", + "Ïį ÏĦε", + "з ано", + "за но", + "len ir", + "c elik", + "ce lik", + "cel ik", + "ĠÑģоÑģÑĤав лÑıеÑĤ", + "ι αÏĤ", + "ια ÏĤ", + "ĠÐĵ оÑĢ", + "ä¹ĭ ä¸Ģ", + "Ïĥμ ÏĮÏĤ", + "ÏĥμÏĮ ÏĤ", + "ãģ« éĸ¢", + "Ġв Ñĩ", + "Ġп оÑģк", + "Ġпо Ñģк", + "ĠпоÑģ к", + "è¼ ¯", + "à¥Ģ श", + "ĠØ¢ ثار", + "à¸Ħวาม ร", + "Ġ един", + "Ġе дин", + "Ġеди н", + "íħ IJ", + "å¹³ æĪIJ", + "ĠkiÅŁ inin", + "ĠkiÅŁi nin", + "ãĤ² ãĥ¼ãĥł", + "à¥įत व", + "Ġkapsam ında", + "Ġak tar", + "Ġakt ar", + "Ġtr ừ", + "Ġر شد", + "Ġна каз", + "Ġнак аз", + "ر ÙĬÙĦ", + "رÙĬ ÙĦ", + "à¸Ń à¸Ħ", + "Ġگذ شتÙĩ", + "Ġ æ°ij", + "Ġæ° ij", + "ĠÑĤеб Ñı", + "s por", + "sp or", + "spo r", + "Ñİ ÑīаÑı", + "ÑİÑī аÑı", + "окÑĢем а", + "в ад", + "ва д", + "ĠCh úng", + "ĠزÛĮ ادÛĮ", + "ĠزÛĮاد ÛĮ", + "е ного", + "ен ого", + "ено го", + "ĠÚ© سÛĮ", + "à ŀ", + "Ġad ına", + "Ġadı na", + "Ñĥ да", + "Ñĥд а", + "Ñĸ ÑĶ", + "аÑĤ ели", + "аÑĤе ли", + "Ġnáv Å¡tÄĽ", + "ç͍ äºİ", + "ĠپرÙĪ ÙĨدÙĩ", + "ĠÙĨ بÙĪØ¯", + "ĠÙĨب ÙĪØ¯", + "س ات", + "ìĹ ĺ", + "ãģ£ ãģ¦ãĤĤ", + "ãģ£ãģ¦ ãĤĤ", + "Ġ çī©", + "Ġçī ©", + "Ðĺ з", + "åĪ ·", + "Ġ íľ´", + "Ġí ľ´", + "ĠоÑģоб лив", + "ãģĹ ãģ¾ãģ£ãģŁ", + "ãģĹãģ¾ ãģ£ãģŁ", + "a ydı", + "ay dı", + "ayd ı", + "åĩº çļĦ", + "ĠìķĦëĭĪ ëĿ¼", + "ıs ını", + "à¸Ĺาà¸ĩ à¸ģาร", + "Ġzv uky", + "Ġ 管", + "Ġç® ¡", + "âĸĭ âĸĭ", + "ĠÑĤ елеÑĦ", + "ĠÑĤел еÑĦ", + "Ġн елÑĮзÑı", + "ãĥ« ãģ®", + "Ïĥ ÏĢ", + "Ġ ç³", + "Ġç ³", + "åł ¡", + "ÑĨ Ñĥз", + "ÑĨÑĥ з", + "رÙĬ ÙĤØ©", + "رÙĬÙĤ Ø©", + "à¤¿à¤Ľ ल", + "è² ©", + "ĠУ кÑĢаÑĹн", + "ĠУкÑĢаÑĹ Ð½", + "ĠÙħسئ ÙĪÙĦ", + "Ġо ÑĩÑĸ", + "ĠоÑĩ Ñĸ", + "æľĢ å¾Į", + "Ġзна Ñİ", + "Ġзн аÑİ", + "à¹ī à¸Ļà¸Ĺ", + "à¹īà¸Ļ à¸Ĺ", + "ĠÑĤ еÑĢап", + "ĠÑĤеÑĢ Ð°Ð¿", + "ĠÑĤе ÑĢап", + "ĠÑģп ок", + "ĠØ®ÙĪØ¯ رÙĪ", + "éĺ »", + "Ġdüz ey", + "ä¸Ģ åĢĭ", + "ا ÙģÙĩ", + "اÙģ Ùĩ", + "à¤Ĥ य", + "èµĦ 产", + "ç»§ ç»Ń", + "ĠÑģ лаб", + "ĠÑģл аб", + "æĦı æĢĿ", + "ĠíĻĺ ìĤ°", + "ĠÑı ÑĢ", + "Ġd ůvod", + "Ġdů vod", + "çĿ Ľ", + "تÛĮ ب", + "ĠÙĪ ÛĮر", + "ĠÙĪÛĮ ر", + "ĠÙĩ زÛĮÙĨÙĩ", + "Ġben zer", + "Ġbenz er", + "ĠÙħ ادÙĩ", + "ĠÙħا دÙĩ", + "ĠÙħاد Ùĩ", + "à¥Į à¤ķ", + "Ġ à¹Ģà¸ķ", + "Ġà¹Ģ à¸ķ", + "Ġà¹Ģภķ", + "ãĤĪ ãģı", + "ид енÑĤ", + "èĭ± èªŀ", + "е ÑĢÑĭ", + "еÑĢ Ñĭ", + "Ġê¸Ī ìķ¡", + "Ġ ãĥ¼", + "Ġãĥ ¼", + "Ġ ëį¤íĶĦ", + "Ġëį ¤íĶĦ", + "ÑĢ Ð°ÑĤÑĮ", + "ÑĢа ÑĤÑĮ", + "ÑĢаÑĤ ÑĮ", + "Ġ åįķ", + "Ġåį ķ", + "à¹Ģà¸ī à¸ŀาะ", + "Ġ æĶ¿", + "ĠæĶ ¿", + "Ġà¤Ĩ म", + "Ġз ни", + "Ġзн и", + "Ġ ëĿ¼ìĿ´", + "ĠëĿ¼ ìĿ´", + "æİ Į", + "çIJĨ çͱ", + "Ġ اغ", + "Ġا غ", + "ĠØ§Ø º", + "ĠÑģ иг", + "ĠÑģи г", + "Ġе ÑĦекÑĤив", + "ĠÐŁ ÑĢед", + "ĠÐŁÑĢ ÐµÐ´", + "ãĥ´ ãĤ£", + "Ġви ко", + "Ġвик о", + "Ġt vrd", + "Ġtv rd", + "ëĤ´ 기", + "ãĥĭ ãĤ¢", + "ĠÙħشاÙĩ دÙĩ", + "Ġस à¤ļ", + "l Ã¼ÄŁ", + "lü ÄŁ", + "è¯ģ åΏ", + "Ġs iêu", + "Ġsi êu", + "Ġ оÑĤв", + "ĠоÑĤ в", + "Ġvyt voÅĻ", + "ĠØŃ ÙħÙĦ", + "ĠØŃÙħ ÙĦ", + "ĠÑĦ ÑĢан", + "à¹ī à¸Ķ", + "åĮ» éĻ¢", + "Ġв лад", + "Ġвла д", + "غ ÙĦ", + "建 ç«ĭ", + "os loven", + "osl oven", + "и лаÑģÑĮ", + "ила ÑģÑĮ", + "عÙĦ ÙĪÙħات", + "عÙĦÙĪÙħ ات", + "Ġ ترÛĮÙĨ", + "Ġتر ÛĮÙĨ", + "ÎŃ Ïģει", + "ÎŃÏģ ει", + "Ġb áºŃt", + "ĠÙħØ´ Ú©", + "Ġر ئÙĬس", + "Ġرئ ÙĬس", + "Ġìłľ ìŀij", + "γ η", + "Ġн Ñĸк", + "ĠнÑĸ к", + "Ġ구 ìĦ±", + "ĠÄij en", + "Ġà¤ļ र", + "Ġgeç miÅŁ", + "äºĨ è§£", + "Ġл еÑģ", + "Ġqu anh", + "Ġqua nh", + "Ġquan h", + "ãĢĮ æĪij", + "ĠNÄĽkter á", + "ëŀ į", + "Ãħ Ÿ", + "à¤Ĥ दर", + "à¤Ĥद र", + "ìķĦ ìĿ´", + "å°ij ãģĹ", + "ĠØ´Ùĩر ÛĮ", + "ĠØ´Ùĩ رÛĮ", + "κ ÏĦη", + "ĠâĹ Ħ", + "Ġ Ùĥس", + "ĠÙĥ س", + "è· Į", + "à ı", + "å·¥ åħ·", + "åĬ ĥ", + "p om", + "po m", + "ĠнавÑĩ аннÑı", + "Ġ رج", + "Ġر ج", + "ÑĢ ÑĥеÑĤÑģÑı", + "ÑĢÑĥ еÑĤÑģÑı", + "ÑĢÑĥеÑĤ ÑģÑı", + "Ġν ÎŃ", + "ÛĮÙĨ Ú©", + "à¹Ĥ à¸ĭ", + "åĭ ¤", + "ãģĹãģ¾ ãģĨ", + "ĠÑģ оглаÑģ", + "ĠÑģог лаÑģ", + "éĩij èŀį", + "ç »¿", + "ç» ¿", + "ĠС ан", + "æķ µ", + "Ġпо вÑĸÑĤ", + "Ġпов ÑĸÑĤ", + "Ġпом оÑīи", + "ĠпомоÑī и", + "ãĥ¡ ãĥªãĤ«", + "ãĤ· ãĤ¢", + "ĠÏĢ ÏģοÏĤ", + "ĠÏĢÏģο ÏĤ", + "èĪª 空", + "ĠваÑĢи анÑĤ", + "ĠваÑĢиан ÑĤ", + "Ġyalnız ca", + "ç³» çµ±", + "ĠÙģ ÙĪØ±", + "ĠÙģÙĪ Ø±", + "оÑĩ ной", + "оÑĩно й", + "à¹Ģว à¸Ńร", + "ĠкÑĥлÑĮ ÑĤÑĥÑĢ", + "ĠкÑĥлÑĮÑĤÑĥ ÑĢ", + "Ïĩ ι", + "ÄįÃŃ ta", + " ĵ", + "人 ãģĮ", + "κ οÏį", + "κο Ïį", + "ĠÑĢе ÑĶ", + "Ġв ÑģÑİ", + "ĠвÑģ Ñİ", + "éº Ĺ", + "Ġز ÙĨاÙĨ", + "ĠزÙĨ اÙĨ", + "çĭ Ĥ", + "Ġ หม", + "Ġห ม", + "Ġx úc", + "åħ Ĵ", + "ÄŁ inin", + "ÄŁi nin", + "ÄŁini n", + "ÄŁin in", + "åĸľ 欢", + "ĠÑģÑĤ ад", + "ĠÑģÑĤа д", + "iy esi", + "iye si", + "ìļ ±", + "è Ŀ", + "Ġ kus", + "Ġk us", + "Ġku s", + "ÏĦ ολ", + "ÏĦο λ", + "г Ñĸв", + "Ñĸ ли", + "Ñĸл и", + "ãģĦ ãĤĦ", + "é© Ĺ", + "ont rol", + "ا ÙĦÙĥ", + "اÙĦ Ùĥ", + "к овиÑħ", + "ко виÑħ", + "ков иÑħ", + "ĠÑģÑĤ ало", + "ĠÑģÑĤал о", + "ĠÑģÑĤа ло", + "ĠÎł αÏģα", + "Ġγα Ïģα", + "ĠγαÏģ α", + "Ġ chy", + "Ġc hy", + "Ġch y", + "Ġcih az", + "ĩ ´", + "ìŀ¥ ìĿ´", + "a ceae", + "ace ae", + "acea e", + "Ø´ Ùĩر", + "Ø´Ùĩ ر", + "ил аннÑı", + "çļĦ å°ı", + "Ġth ụ", + "Ġthá» ¥", + "ÙĪ ÙĨت", + "ÙĪÙĨ ت", + "л оÑĢ", + "ло ÑĢ", + "ãĤĴ æĮģ", + "ĠÎĶ Î¹", + "Ġ 羣", + "Ġçľ Ł", + "ÐĽ Ðŀ", + "é½ IJ", + "çİ Ħ", + "ا ÙĪÙĩ", + "اÙĪ Ùĩ", + "Ġи нÑĤ", + "Ġин ÑĤ", + "à¥Ģ à¤Łà¤°", + "à¥Ģà¤Ł र", + "Ġ обÑīе", + "Ġоб Ñīе", + "ĠобÑī е", + "Ġдеп ÑĥÑĤ", + "μÎŃν εÏĤ", + "ĠÙĥ ÙĬÙģ", + "ع ÙħÙĦ", + "عÙħ ÙĦ", + "ï¼Į å¦Ĥæŀľ", + "ï¼Įå¦Ĥ æŀľ", + "Ġин ÑĦек", + "i tele", + "it ele", + "ite le", + "itel e", + "Ġ ãĢĢãĢĢĠãĢĢ", + "ĠãĢĢ ãĢĢĠãĢĢ", + "ĠãĢĢãĢĢ ĠãĢĢ", + "ãĤ¤ ãĥ³ãĥĪ", + "ãĤ¤ãĥ³ ãĥĪ", + "л ÑĸÑĤ", + "лÑĸ ÑĤ", + "Ġ ÑģÑİ", + "ĠÑģ Ñİ", + "Ġz ase", + "Ġza se", + "Ġzas e", + "d ech", + "de ch", + "dec h", + "е ко", + "ек о", + "è® ĵ", + "åı ¬", + "з ем", + "Îł Îij", + "Ġvz du", + "า à¸Īาà¸ģ", + "าà¸Ī าà¸ģ", + "ko liv", + "kol iv", + "koli v", + "zk um", + "èģ Ĭ", + "Ġì±Ħ ìļ©", + "๠į", + "Ġ asp", + "Ġa sp", + "Ġas p", + "Û² Û´", + "ìĿ¸ ëį°", + "ĠkarÅŁÄ± laÅŁ", + "ï¼Į åı¯ä»¥", + "ï¼Įåı¯ 以", + "Ġà¤ĩन à¤ķ", + "Ġ ìĬ¤íĥĢ", + "ĠìĬ¤ íĥĢ", + "éĥ¨ å±ĭ", + "åζ ä½ľ", + "ãĥ¼ ãĤ·ãĥ§ãĥ³", + "ον ÏĦαÏĤ", + "γ ο", + "Ġìŀij ìĦ±", + "èij £", + "oz ÅĻejmÄĽ", + "ĠÑĢезÑĥлÑĮÑĤаÑĤ е", + "ĠÑĢезÑĥлÑĮÑĤ аÑĤе", + "ĠIns ecta", + "Ġs kon", + "Ġsk on", + "o tu", + "ot u", + "Ġp ÄĽt", + "ĠpÄĽ t", + "Ñģ ÑĮого", + "ÑģÑĮ ого", + "Ġİs lam", + "Ġl á»ħ", + "Ġlá» ħ", + "ä¸Ń åľĭ", + "ĠÐľÑĸ нÑĸÑģÑĤ", + "åIJĪ åIJĮ", + "asy onu", + "asyon u", + "ож еÑĤ", + "оже ÑĤ", + "èĩª åĬ¨", + "ÑģÑĮ коÑİ", + "ÑģÑĮк оÑİ", + "ÑģÑĮко Ñİ", + "ĠkiÅŁ isel", + "ĠkiÅŁi sel", + "ÏĦ ικοÏį", + "ÏĦικ οÏį", + "ÏĦι κοÏį", + "ÏĦικο Ïį", + "Ġ ÑĥÑĩаÑģ", + "ĠÑĥ ÑĩаÑģ", + "ĠÑĥÑĩ аÑģ", + "ĠÑĥÑĩа Ñģ", + "ıl mÄ±ÅŁtır", + "ılmÄ±ÅŁ tır", + "ĠÑı ке", + "ĠÑıк е", + "Ñī инÑĭ", + "Ñīи нÑĭ", + "Ñīин Ñĭ", + "м аÑĢ", + "ма ÑĢ", + "Ġso udu", + "Ġsou du", + "Ġsoud u", + "Âł Я", + "Ġд ÑĢÑĥ", + "ĠдÑĢ Ñĥ", + "ãģ¡ ãĤĩ", + "à¥ĭ à¥ľ", + "ï¾ ij", + "Ġ ÏĦÏĮ", + "ĠÏĦ ÏĮ", + "Ġ ضر", + "Ġض ر", + "l áš", + "lá Å¡", + "Ġд Ñĸв", + "ĠдÑĸ в", + "Ġج دÙĬد", + "Ġجد ÙĬد", + "Ġнеб олÑĮÑĪ", + "ĠнеболÑĮ ÑĪ", + "éģ Ń", + "ç» į", + "ĠKur ulu", + "ĠKurul u", + "ÑģÑĤÑĢ ÑĥменÑĤ", + "ÑģÑĤÑĢÑĥ менÑĤ", + "è¿Ļ æĺ¯", + "ìĻ Ķëĭ¤", + "ìĻĶ ëĭ¤", + "м елÑĮ", + "ме лÑĮ", + "Ġ ä¼Ĭ", + "á»§ ng", + "ĠзавиÑģим оÑģÑĤи", + "ëį ¤íĶĦ", + "çĩ ĥ", + "è¿ĩ åİ»", + "ĠзаÑģÑĤоÑģ ÑĥваннÑı", + "Ġداخ ÙĦÛĮ", + "ĠداخÙĦ ÛĮ", + "Ñī Ñij", + "ĠÂłĠÂł ĠÂłĠÂłĠÂłĠÂł", + "ĠÂłĠÂłĠÂłĠÂł ĠÂłĠÂł", + "ïº ®", + "ĠاÙĦÙħ ÙħÙĦÙĥØ©", + "s ında", + "sı nda", + "sın da", + "è³ Ģ", + "å± ı", + "Ġ ê¿", + "Ġê ¿", + "Ġdo ktor", + "Ġdok tor", + "ĠÙĤ اب", + "ĠS ist", + "ĠSi st", + "ĠмеÑģÑĤ е", + "ĠÑģоÑħ ÑĢа", + "ا شتÙĩ", + "اش تÙĩ", + "اشت Ùĩ", + "Ġ æľŁ", + "ĠпоÑģк олÑĮкÑĥ", + "Ġp ev", + "Ġpe v", + "ا گر", + "اگ ر", + "Ùħ ز", + "Ġض ÙħÙĨ", + "ॠ©", + "g esi", + "ge si", + "ges i", + "a ÄŁa", + "aÄŁ a", + "è§£ åĨ³", + "ëħ¸ ì¶ľ", + "Ġl uyá»ĩn", + "Ġкон ÑĤак", + "ĠконÑĤ ак", + "ภº", + "Ġ NgÃły", + "ĠNg Ãły", + "Ġvý stav", + "Ġth uyết", + "اÛĮ ع", + "Ġ: /:", + "Ġ:/ :", + "Ġph ạt", + "ĠÎij ÏĢÏĮ", + "ĠÎijÏĢ ÏĮ", + "Ġ muz", + "Ġm uz", + "Ġmu z", + "Ġ ìĥī", + "Ġìĥ ī", + "ĠÃĩ in", + "Ġکار برد", + "Ġکاربر د", + "ائ د", + "ب اد", + "با د", + "à¥į तम", + "à¥įत म", + "Ġ ëijĺ", + "Ġëij ĺ", + "Ġм оз", + "Ġмо з", + "Å¡ ÃŃch", + "Å¡ÃŃ ch", + "Ġ มห", + "Ġม ห", + "ĠØ¢ س", + "ĠÑģ лиÑĪком", + "èĥ ¡", + "è£ ģ", + "æĪ »", + "ĠìĦ¤ ëªħ", + "Ġo tom", + "Ġot om", + "Ġoto m", + "Ġलà¤Ĺ à¤Ńà¤Ĺ", + "à¸ĩ à¸ģ", + "ا بد", + "اب د", + "à¸Ļ าม", + "à¸Ļา ม", + "èĤ ©", + "Ġشد ÙĨد", + "ĠشدÙĨ د", + "ãģĿãģ® ä»ĸ", + "ad lo", + "ÄĽ n", + "ĠÙĦ Ùĩا", + "ĠÙĦÙĩ ا", + "Ġмин им", + "Ġми ним", + "Ġd ÅĻev", + "ĠTh iên", + "ĠThi ên", + "ëŀ Ļ", + "en gin", + "eng in", + "à¥Ģ मत", + "à¥Ģम त", + "ĠÑĥп оÑĤÑĢеб", + "âĢĮ تر", + "Ġç¥ŀ 马", + "ov ánÃŃm", + "ová nÃŃm", + "ovánÃŃ m", + "ován ÃŃm", + "Ġд ело", + "Ġдел о", + "Ġде ло", + "Ġ ç¼ĸ", + "Ġç¼ ĸ", + "ĠاÙĦ ظ", + "Ġ вий", + "Ġв ий", + "Ġви й", + "а ÑĤом", + "аÑĤ ом", + "аÑĤо м", + "åħ¬ åijĬ", + "ĠÄij em", + "ãĤ· ãĥªãĥ¼ãĤº", + "ä¸ĭ çļĦ", + "l ası", + "la sı", + "las ı", + "ĠвÑĭ боÑĢ", + "ĠвÑĭб оÑĢ", + "ÑĤ оÑĤ", + "ÑĤо ÑĤ", + "ëıĦ ë³Ħ", + "ĠÑĥ ÑģÑĤан", + "ĠÑĥÑģÑĤ ан", + "Ġ íŀĪ", + "Ġíŀ Ī", + "лÑĥ аÑĤа", + "Ġth ác", + "а нием", + "ан ием", + "ани ем", + "ание м", + "ов аÑĤÑĮÑģÑı", + "ова ÑĤÑĮÑģÑı", + "оваÑĤÑĮ ÑģÑı", + "ÑĤ ÑĶ", + "ÐŃ ÑĤо", + "ï¼Į è¦ģ", + "ĠV z", + "ĠØŃ ÙĪØ²Ùĩ", + "ĠØŃÙĪ Ø²Ùĩ", + "- к", + "V Ỽi", + "ent ů", + "Ġbulun duÄŁu", + "Ġbulundu ÄŁu", + "ر ÙĪØ·", + "رÙĪ Ø·", + "ĠÑĹ Ð¹", + "Ġçev r", + "Ġ ÅĻed", + "ĠÅĻ ed", + "ĠÅĻe d", + "Ġس اختÙĩ", + "Ġساخت Ùĩ", + "åĬŀ æ³ķ", + "Ġ ÙĤÙĦ", + "ĠÙĤ ÙĦ", + "i ÅŁi", + "iÅŁ i", + "ï¼Ŀ ï¼Ŀ", + "س اس", + "Ġúdaj ů", + "å ¬", + "æį Ł", + "á ct", + "ác t", + "ĠÎij ÏĢ", + "çĪ ·", + "Ġ ÅĻád", + "ĠÅĻ Ã¡d", + "Ġl á»Ĺi", + "Ġlá» Ĺi", + "Ġlá»Ĺ i", + "on tent", + "ont ent", + "onte nt", + "ĠÙħ ذ", + "ol oji", + "olo ji", + "oloj i", + "Ġپرد اخت", + "à¹ī าà¸ŀ", + "à¹īา à¸ŀ", + "ĠдейÑģÑĤв иÑı", + "Ġmnož stvÃŃ", + "ìķĪ ë§Ī", + "åģ ¶", + "Ġ ÃĶng", + "ĠÃĶ ng", + "Ġdak ika", + "hen dis", + "hend is", + "Ġb ác", + "å¯ ¶", + "à¹ĩà¸ģ หà¸į", + "noc enÃŃ", + "ĠErd oÄŁan", + ": ::::::::::::", + ":: :::::::::::", + ":::: :::::::::", + ":::::: :::::::", + ":::::::: :::::", + "::: ::::::::::", + "::::: ::::::::", + "::::::: ::::::", + "::::::::: ::::", + ":::::::::: :::", + "::::::::::: ::", + ":::::::::::: :", + "аÑĤ ем", + "аÑĤе м", + "d ız", + "dı z", + "ĠØ£ÙĬ ضا", + "ĠØ£ÙĬض ا", + "ĠÑįÑĦ ÑĦек", + "ãĤĮ ãģ¦ãģĦãĤĭ", + "ãĤĮãģ¦ ãģĦãĤĭ", + "ĠbaÅŁv uru", + "ĠbaÅŁvur u", + "ά νει", + "άν ει", + "ĠÏĦε λεÏħÏĦα", + "Ġê²Ģ ìĥī", + "ĠÚ©ÙĨ ترÙĦ", + "Ġ शà¤ķ", + "Ġश à¤ķ", + "å¼ ¹", + "Ġol muÅŁtur", + "Ġolm uÅŁtur", + "ĠolmuÅŁ tur", + "Ġв ÑģÑĤÑĥп", + "ĠвÑģÑĤ Ñĥп", + "Ñĩ ила", + "Ñĩи ла", + "Ñĩил а", + "ย า", + "ĠØ£ØŃ Ùħد", + "os lav", + "osl av", + "ĠÑĩа Ñģов", + "ĠÑĩаÑģ ов", + "Ġzá kladnÃŃ", + "Ġzáklad nÃŃ", + "Ġस व", + "д он", + "до н", + "ĠÅĻÃŃj na", + "κ οÏħ", + "κο Ïħ", + "éĢģ æĸĻçĦ¡æĸĻ", + "éĢģæĸĻ çĦ¡æĸĻ", + "Ïĥ ίαÏĤ", + "Ïĥία ÏĤ", + "Ïĥί αÏĤ", + "ãĤ´ ãĥª", + "Ġв иб", + "Ġви б", + "å½ Ĵ", + "Ġназ ад", + "ĠçĻ¾åº¦ æĶ¶å½ķ", + "á» Ĩ", + "Ġkal dı", + "ì¼ ľ", + "Ġ íıŃ", + "Ġíı Ń", + "ĠÑĩи ном", + "ĠÑĩин ом", + "è ¹", + "Ñı л", + "ĠÑĢаз дел", + "ĠÑĢазд ел", + "d G", + "ĠT ento", + "ĠTen to", + "ĠTent o", + "Ñı ÑĤÑĮÑģÑı", + "ÑıÑĤÑĮ ÑģÑı", + "éĿ¢ çļĦ", + "ĠÎķ ÏĢι", + "ĠÎķÏĢ Î¹", + "ê° ij", + "Ġk èm", + "ни ÑĨÑı", + "ниÑĨ Ñı", + "çĸ «", + "éĽ Ļ", + "ĠÙħر Ùĥز", + "Ġна Ñĥк", + "å¢ Ĺ", + "ĠÑĤе пеÑĢ", + "ĠÑĤеп еÑĢ", + "ा à¤ł", + "ाठł", + "à¹ĩà¸ļ à¹Ħà¸ĭà¸ķ", + "μβ ÏģίοÏħ", + "ĠÑĦÑĸн анÑģов", + "ĠÑĦÑĸнанÑģ ов", + "Ñĸ ÑĶÑİ", + "ÑĸÑĶ Ñİ", + "Ïģ ίζ", + "Ïģί ζ", + "ì¤ Ħ", + "ĠباÙĨ Ú©", + "t ul", + "tu l", + "li ÄŁini", + "liÄŁi ni", + "liÄŁ ini", + "liÄŁin i", + "ĠпозволÑı еÑĤ", + "Ġпозвол ÑıеÑĤ", + "Ïĥ ί", + "Ġ ìĽĥ", + "ĠìĽ ĥ", + "à¹Į à¸Ħ", + "Ġpol ov", + "Ġpo lov", + "Ġpolo v", + "ìŀ¥ ìĿĦ", + "is té", + "ist é", + "ĠС Ð¡Ð¡Ðł", + "á hl", + "áh l", + "è ¥", + "Ġкомп лек", + "à¸Ĥ à¸Ļาà¸Ķ", + "ั ศ", + "ν αν", + "να ν", + "Ġç¥ŀ马 æĶ¶å½ķ", + "ìĭľ ìĺ¤", + "Ġé¦ĸ页 第", + "ĠçĻ¾åº¦ æµģéĩı", + "åij¨ æĶ¶å½ķ", + "Ġh atta", + "Ġhat ta", + "ÐĴ Ñĸд", + "ĠвÑĭ ÑģÑĤÑĥп", + "Ú© ارÛĮ", + "کار ÛĮ", + "کا رÛĮ", + "K hi", + "Kh i", + "Ġì°¾ ìķĦ", + "Ġn ặng", + "éĨ «", + "ĠV Å¡", + "ĠпеÑĢ ÐµÐ½", + "ĠпеÑĢе н", + "л ава", + "ла ва", + "лав а", + "ÙĬ ÙħÙĬ", + "ÙĬÙħ ÙĬ", + "Ġvat andaÅŁ", + "Ġ ιÏĥÏĦο", + "Ġι ÏĥÏĦο", + "Ġ à¸ĵ", + "Ġภĵ", + "स ल", + "г ен", + "ге н", + "Ġ بÙĪØ±", + "Ġب ÙĪØ±", + "ĠبÙĪ Ø±", + "âĢĮدÙĩ د", + "âĢĮد Ùĩد", + "l ıklı", + "lık lı", + "Ġ strate", + "Ġst rate", + "Ġstr ate", + "Ġstrat e", + "Ġstra te", + "ب ÙĪØ±", + "بÙĪ Ø±", + "ãĢģ ãĤ¢", + "Ġson uc", + "Ġsonu c", + "Ġна иболее", + "- в", + "Ġвод ой", + "oj enÃŃ", + "oje nÃŃ", + "Ġغ رب", + "Ġغر ب", + "Ġb eri", + "Ġbe ri", + "Ġber i", + "a dÄĽ", + "ad ÄĽ", + "Ġd ovol", + "Ġdo vol", + "Ġdov ol", + "âĢĮÚ©ÙĨ ÙĨدگاÙĨ", + "âĢĮÚ©ÙĨÙĨد گاÙĨ", + "ãģķ ãĤī", + "ãĥ³ ãĤº", + "ãĤ« ãĥ«", + "om etr", + "ome tr", + "omet r", + "åĩ Ģ", + "ĠÙģ ÙĪÙĦ", + "ĠÙģÙĪ ÙĦ", + "ĠÙħ ÙĪØ³ÛĮ", + "ĠÙħÙĪ Ø³ÛĮ", + "ĠÙħÙĪØ³ ÛĮ", + "ĠاÙĦÙħغ رب", + "e cko", + "ec ko", + "eck o", + "ÙĢÙĢÙĢÙĢ ÙĢÙĢÙĢÙĢ", + "ê°Ģ 격", + "ÑĢ ÑĥÑĤ", + "ÑĢÑĥ ÑĤ", + "Ġ ë¶Ģë¶Ħ", + "Ġë¶Ģ ë¶Ħ", + "ĠpÅĻed pis", + "Ġoprav du", + "еÑĤ иÑĩ", + "еÑĤи Ñĩ", + "à¹Ĥ à¸Ħรà¸ĩà¸ģาร", + "æ ħ§", + "æħ §", + "æĭ ľ", + "س Ùĥ", + "ìŀ¡ ëĭ´", + "à¸Ľà¸£à¸°à¸¡ าà¸ĵ", + "è´¨ éĩı", + "Ġголов Ñĥ", + "Ġгол овÑĥ", + "л ениÑİ", + "лен иÑİ", + "ле ниÑİ", + "Ġन à¤ı", + "Ġprojekt u", + "ا Ù쨱", + "اÙģ Ø±", + "at ivnÃŃ", + "ati vnÃŃ", + "ativ nÃŃ", + "ÎŃ Î½ÏĦ", + "ÎŃν ÏĦ", + "ãĥī ãĥ©", + "Ġted av", + "ê ¼", + "à¸Ľà¸£à¸°à¸ģ าศ", + "Ġt uto", + "Ġtu to", + "Ġtut o", + "Ġch iếu", + "Ġchi ếu", + "Ġchiế u", + "Ġv yz", + "Ġvy z", + "ÑĢ Ð¾ÑĪ", + "ÑĢо ÑĪ", + "åıĸ å¾Ĺ", + "Ġм иÑģÑĤ", + "Ġми ÑģÑĤ", + "ĠмиÑģ ÑĤ", + "ĠÑģлÑĥÑĩа ÑıÑħ", + "Ġغ ذ", + "ĠÑĥ клад", + "ĠÑĥк лад", + "ĠÑĥÑģÑĤанов лен", + "Ġtes lim", + "Ġ ãĢį", + "ĠãĢ į", + "Ġ è£", + "Ġè £", + "æ¯ «", + "éĬĢ è¡Į", + "e cts", + "ect s", + "ec ts", + "k emiz", + "kem iz", + "ν ηÏĤ", + "νη ÏĤ", + "è¾ º", + "Ġп ÑĢем", + "ĠпÑĢ ÐµÐ¼", + "ĠпÑĢе м", + "Ġson ucu", + "Ġsonuc u", + "Ġsonu cu", + "P okud", + "Po kud", + "Pok ud", + "ĠÐŀÑģ об", + "è¾ Ľ", + "è¼ ¸", + "ë³´ ê³ł", + "à¸ļ à¸Ħ", + "ãĢĤ ãĢį", + "ा ।ĊĊ", + "ा। ĊĊ", + "ा।Ċ Ċ", + "ĠÑģамоÑģÑĤ оÑıÑĤелÑĮ", + "ÙĦ ÛĮت", + "ÙĦÛĮ ت", + "λ εκ", + "λε κ", + "ĠÑĢай она", + "ĠÑĢайон а", + "ÑĮ и", + "à¹Ī าà¸Ĺ", + "à¹Īา à¸Ĺ", + "Ġ à¸Ľà¸£à¸°à¹Ģà¸Ĺศ", + "Ġà¸Ľà¸£à¸° à¹Ģà¸Ĺศ", + "ม à¸Ń", + "ا Ùĩر", + "اÙĩ ر", + "Ġви боÑĢ", + "Ġвиб оÑĢ", + "ÑİÑĩи ÑģÑĮ", + "Ġp ovol", + "Ġpo vol", + "Ġpov ol", + "a base", + "ab ase", + "aba se", + "â̳ N", + "Ú© ÙĪ", + "ĠУкÑĢаÑĹ Ð½Ð°", + "ĠУкÑĢа ÑĹна", + "ĠУкÑĢаÑĹн а", + "sta nov", + "stan ov", + "ĠÑĥÑĩ аÑģÑĤи", + "ĠÑĥÑĩа ÑģÑĤи", + "ĠÑĥÑĩаÑģÑĤ и", + "ĠÑĥÑĩаÑģ ÑĤи", + "Ġh lad", + "Ġhl ad", + "ĠÑĢаÑģÑģ каз", + "ãģ¿ ãģŁãģĦ", + "á½ °", + "Ġ åĽŀ", + "ĠåĽ ŀ", + "Ġ ương", + "α Ïģά", + "αÏģ ά", + "Ø® ب", + "æį ķ", + "ÃŃ ÅĻ", + "Ġ سÛĮÙĨ", + "Ġس ÛĮÙĨ", + "ĠسÛĮ ÙĨ", + "Âł in", + "ĠM ÄĽst", + "æķĻ åѦ", + "ĠоÑģоб иÑģÑĤ", + "ĠоÑģоби ÑģÑĤ", + "u ji", + "uj i", + "çĶ» åĥı", + "ĠداÙĨ Ø´ÙĨاÙħÙĩ", + "ĠداÙĨØ´ ÙĨاÙħÙĩ", + "ìĿ´ ìķ¼", + "Ġзап иÑĤ", + "ĠÑģво ими", + "ĠÑģвои ми", + "ĠÑģвоим и", + "Û²Û° Û²", + "ï¼Į å°Ĩ", + "ãĥ¼ ãģ®", + "Ġth ÃŃ", + "ĠÙħت ÙĪØ³Ø·", + "à¥ĩ Ċ", + "å¤ļ å°ij", + "ï¼Į çĦ¶åIJİ", + "íĹ Ī", + "Ġ à¤Ńà¤Ĺ", + "Ġà¤Ń à¤Ĺ", + "Ġ åı·", + "Ġåı ·", + "Ġt eor", + "Ġte or", + "å Ĥ¨", + "åĤ ¨", + "Ġ ÑĢÑĸÑĩ", + "ĠÑĢ ÑĸÑĩ", + "ĠÑģÑĤаÑĤ ÑĤÑĸ", + "Ġرابط Ùĩ", + "Ġ ï¼ľ", + "Ġï¼ ľ", + "ب اØŃ", + "با ØŃ", + "ิà¸Ļ à¸Ĺาà¸ĩ", + "ิà¸Ļà¸Ĺ าà¸ĩ", + "à¥ĩà¤Ĥ Ċ", + "ائ ÙĤ", + "ĠاÙĦج دÙĬد", + "l iÄį", + "li Äį", + "ا ØŃÙĦ", + "اØŃ ÙĦ", + "mé nÄĽ", + "Ġb ầu", + "ĠÐĴ ал", + "Ġб лагод", + "Ġбла год", + "Ġблаг од", + "еÑĤ елÑĮ", + "еÑĤе лÑĮ", + "å¹³ åĿĩ", + "м ин", + "ми н", + "Ġsü rec", + "Ġsür ec", + "Ġsüre c", + "Ġза вод", + "Ġзав од", + "èį IJ", + "ÑĤ ий", + "ÑĤи й", + "л об", + "ло б", + "Ġ вок", + "Ġв ок", + "Ġво к", + "l adıģı", + "la dıģı", + "lad ıģı", + "ladı ģı", + "ladıģ ı", + "اÙĬ ÙĬ", + "ê²ł ìĬµëĭĪëĭ¤", + "Ġamac ıyla", + "Ġamacı yla", + "ï¼Į åĽłä¸º", + "ï¼ĮåĽł 为", + "ãģ§ ãģĤãģ£ãģŁ", + "ãģ§ãģĤ ãģ£ãģŁ", + "ĠØ´ رÙĪØ¹", + "Ġشر ÙĪØ¹", + "æŁ Ķ", + "' nun", + "'n un", + "о кол", + "ок ол", + "око л", + "Ġc iddi", + "Ġcid di", + "Ġb ụ", + "Ġyap ılacak", + "Ġyapı lacak", + "Ġyapıl acak", + "ĠÑĩÑĥв ÑģÑĤв", + "ìĤ¬ ìĿĺ", + "à¸Ń à¸Ļà¸Ķ", + "à¸Ńà¸Ļ à¸Ķ", + "ΊΤ", + "Ġëĭ¤ ìĸij", + "ëĭ¤ ë©´", + "im izi", + "imi zi", + "imiz i", + "ä¹ Ĥ", + "ãģ² ãģ¨", + "Ġ éĿŀ", + "ĠéĿ ŀ", + "âĢĮپدÛĮ ا", + "ä¹ ĺ", + "ãĥĬ ãĥ«", + "ĠпÑĸдпÑĢиÑĶм ÑģÑĤва", + "ĠпÑĸдпÑĢиÑĶмÑģÑĤв а", + "๠ij", + "è¿ Ŀ", + "ĠÙħ ÙĨÙĩ", + "ĠÙħÙĨ Ùĩ", + "ÑĢ Ð¸Ðº", + "ÑĢи к", + "а ÑĢÑĸв", + "аÑĢ Ñĸв", + "аÑĢÑĸ в", + "Ġ кого", + "Ġк ого", + "Ġко го", + "ĠÙĤ ص", + "Ġ æĿ¥", + "ĠæĿ ¥", + "ĠPh òng", + "Ġ ово", + "Ġо во", + "Ġов о", + "ĠпеÑĢ ÐµÐ²Ð°", + "ĠпеÑĢе ва", + "ĠпеÑĢев а", + "é£ ²", + "à¤Ĥ à¤Łà¤°", + "à¤Ĥà¤Ł र", + "ÙĬ را", + "ÙĬر ا", + "il diÄŁi", + "ildi ÄŁi", + "e tin", + "et in", + "eti n", + "Ïĩε ία", + "Ïĩεί α", + "Ġzah rani", + "ÙĪ Ø¬Ø¯", + "ÙĪØ¬ د", + "Ġ ç¯", + "Ġç ¯", + "าร ย", + "Ġза ко", + "Ġзак о", + "ĠتÙĤ س", + "ãĤ¹ ãĤ¿ãĥ¼", + "ãĤ¹ãĤ¿ ãĥ¼", + "æĿ °", + "Ġ ãĤ°", + "ĠãĤ °", + "Ġ é»Ħ", + "Ġé» Ħ", + "Ġ Ðļогда", + "ĠÐļ огда", + "ॠ«", + "Ġ 次", + "Ġæ¬ ¡", + "ĠвÑĭ ÑĢаж", + "Ġch Äĥm", + "лÑı ÑĶÑĤÑĮÑģÑı", + "лÑıÑĶ ÑĤÑĮÑģÑı", + "د ÙĩÙħ", + "دÙĩ Ùħ", + "Ġv rch", + "Ġvr ch", + "çº Į", + "п оÑĢ", + "по ÑĢ", + "Ġm aÄŁ", + "Ġma ÄŁ", + "å¾Ĵ æŃ©", + "po dob", + "pod ob", + "ะ à¹ģ", + "éģ¸ æīĭ", + "å¸ ¯", + "Ġse bou", + "Ġseb ou", + "in ize", + "ini ze", + "iniz e", + "ĠÐľ ак", + "ĠÐľÐ° к", + "Ġ æĻ®", + "ĠæĻ ®", + "ĠÏħÏĢ Î¬ÏģÏĩ", + "ĠÄIJ Ãł", + "ĠBr no", + "Ġ Å¡ÃŃ", + "ĠÅ¡ ÃŃ", + "اÙĦ ص", + "Ġngh iêm", + "Ġnghi êm", + "Ġon ları", + "Ġonlar ı", + "Ġu žÃŃ", + "Ġuž ÃŃ", + "èĩªåĪĨ ãģ®", + "ĠнаÑħод иÑĤÑģÑı", + "Ġj si", + "Ġjs i", + "Ġस मर", + "Ġसम र", + "ĠÏĨ Ïī", + "Û±Û¹ Û¸", + "Ġà¤ľà¤Ĺ ह", + "éŃ ļ", + "ìĿ¸ ê°Ģ", + "ÄIJ iá»ģu", + "ĠØ£ عÙĦاÙħ", + "Ġأع ÙĦاÙħ", + "à¥ĩà¤Ĥ ।Ċ", + "à¥ĩà¤Ĥ। Ċ", + "å½¢ æĪIJ", + "Ġ ikt", + "Ġi kt", + "Ġik t", + "Ġzd roj", + "ĠAmer ik", + "Ρ Îĵ", + "à¸ĩ ส", + "ĠíĴ Ģ", + "Ñģол ÑİÑĤ", + "ÙĪ ÙĬت", + "ÙĪÙĬ ت", + "Ġgörün tü", + "ан нÑĭÑħ", + "аннÑĭ Ñħ", + "ĠØ£ ÙĤ", + "Ġ миÑĢ", + "Ġм иÑĢ", + "Ġми ÑĢ", + "å« Į", + "Ġm á»iji", + "Ġd erin", + "Ġde rin", + "Ġder in", + "é ĴĪ", + "éĴ Ī", + "Ġма ÑĪи", + "ĠмаÑĪ Ð¸", + "ì¸ ¡", + "ĠجÙĨ ÙĪØ¨", + "ĠÑģ ло", + "ĠÑģл о", + "ãĢĤ ä¸Ģ", + "ени ÑıÑħ", + "ениÑı Ñħ", + "ĠÑĩолов Ñĸк", + "Ġy ana", + "Ġya na", + "Ġyan a", + "Ġо кÑĤ", + "Ġок ÑĤ", + "Ġ неÑĢ", + "Ġн еÑĢ", + "Ġне ÑĢ", + "æĪ ¶", + "н ÑĮомÑĥ", + "нÑĮ омÑĥ", + "нÑĮо мÑĥ", + "ĠÑĸ мен", + "ĠÑĸм ен", + "ãĤı ãģŁãģĹ", + "ĠÎĵ ια", + "ĠÎĵι α", + "ãĢģ ç§ģ", + "Ġ kou", + "Ġk ou", + "Ġko u", + "ĠÑĨ еÑĢк", + "ĠÑĨеÑĢ Ðº", + "lay arak", + "ãĢ ĩ", + "ا ÙĦس", + "اÙĦ س", + "Âł T", + "Ġд ÑĢÑĥж", + "ĠдÑĢÑĥ ж", + "ĠдÑĢ Ñĥж", + "Ġд воÑĢ", + "Ġдв оÑĢ", + "Ġдво ÑĢ", + "λ ί", + "ĠëĨ Ģ", + "Ġte plot", + "Ġtep lot", + "Ùģ Ø§Øª", + "б Ñĸ", + "Ġgüven lik", + "Ġgüvenli k", + "n ÄĽn", + "nÄĽ n", + "è© ©", + "Ġinsan ların", + "Ġinsanlar ın", + "ĠìĦ¤ ì¹ĺ", + "èĵ Ŀ", + "a vatel", + "av atel", + "ava tel", + "j ev", + "je v", + "ĠÚĨ را", + "Ġgerek iyor", + "ãĥĥ ãĤ°", + "ĠÃĩ ok", + "Ġ ÙĪØ¬Ùĩ", + "ĠÙĪ Ø¬Ùĩ", + "ĠÙĪØ¬ Ùĩ", + "Ġ Ñĥли", + "ĠÑĥ ли", + "ĠÑĥл и", + " ij", + "åij Ģ", + "ĠоÑĢгани заÑĨии", + "ĠоÑĢганиз аÑĨии", + "ĠоÑĢганиза ÑĨии", + "ĠÑĸÑģ нÑĥ", + "Ġneb ude", + "Ġnebu de", + "Ġë° ¤", + "ä¸Ĭ ãģĮ", + "Ġध न", + "ĠرÙĪ Ø§Ø¨Ø·", + "γγ ελ", + "Ġдо ÑģÑıг", + "ĠдоÑģ Ñıг", + "ĠاÙĦÙĤ دÙħ", + "ĠاÙĦÙĤد Ùħ", + "Ġзна Ñħод", + "ĠÄįÃŃs lo", + "ÅŁ k", + "ĠاÙĦد ÙĬÙĨ", + "Ġgün lük", + "ÙĥÙĬ ÙĬÙģ", + "ÎŃ Ïģα", + "ÎŃÏģ α", + "à¸ķ รว", + "à¸ķร ว", + "Ġнали Ñĩи", + "ا ÙħÛĮÙĨ", + "اÙħ ÛĮÙĨ", + "اÙħÛĮ ÙĨ", + "Ġμ ικ", + "Ġdönem de", + "à¹Ī à¸Ĺ", + "æĥ ij", + "à¥ĭà¤Ĥ ,", + "Ñĩ Ñı", + "ãģ¾ ãĤĭ", + "ĠاÙĦ تÙĨ", + "ĠاÙĦت ÙĨ", + "ÑĢ Ð°Ð³", + "ÑĢаР³", + "ÑĢа г", + "ëĵ¤ ê³¼", + "Ń Ķ", + "ĠÙħÙĨ Ùĩا", + "ĠÙħÙĨÙĩ ا", + "ĠTh ế", + "éIJ µ", + "Ġ ï¾Ħ", + "Ġï¾ Ħ", + "ĠاÙĦØ¥ سÙĦاÙħ", + "ãĤ¦ ãĤ¹", + "ÙĬ دÙĬ", + "ÙĬد ÙĬ", + "Ġ å¾Ĺ", + "Ġå¾ Ĺ", + "Ġза ÑĢаз", + "ãĤ¸ ãĥ¥", + "Ġت عد", + "Ġتع د", + "i ÃŃ", + "Ġç ocu", + "oz ici", + "Ġ ë²Ķ", + "Ġë² Ķ", + "ĠØ¢Ùħ دÙĩ", + "ĠØ¢Ùħد Ùĩ", + "ÑĦ ик", + "ÑĦи к", + "Ġпо ÑģÑĤанов", + "ĠпоÑģÑĤ анов", + "Ġkrál ov", + "¨ ¨", + "Ġì¤ij ìļĶ", + "ĠG Wei", + "ĠGW ei", + "Ġvý voj", + "Ġboy ut", + "Ġ nek", + "Ġn ek", + "Ġne k", + "ا ÙĩاÛĮ", + "اÙĩ اÛĮ", + "اÙĩا ÛĮ", + "Ġst ranÄĽ", + "Ġstran ÄĽ", + "Ġstra nÄĽ", + "и ем", + "ие м", + "Ġпо ÑĢаж", + "ĠпоÑĢ Ð°Ð¶", + "à¥įर दर", + "à¥įरद र", + "é¡Ķ ãĤĴ", + "ĠY üz", + "Ġо знаÑĩа", + "Ġозна Ñĩа", + "à¹ģล à¸Ļà¸Ķ", + "Ġب ÙĩرÙĩ", + "ĠبÙĩ رÙĩ", + "ен ÑĤÑĥ", + "енÑĤ Ñĥ", + "ĠÐĿ ад", + "ĠÐĿа д", + "ĠÐŁ олÑĮ", + "ĠÐŁÐ¾ лÑĮ", + "ĠÐŁÐ¾Ð» ÑĮ", + "ãĥĹ ãĥª", + "á¿ ¶", + "âĢĮپدÛĮ اÛĮ", + "âĢĮپدÛĮا ÛĮ", + "ĠÙ¾ اÙĪØ±Ù¾ÙĪÛĮÙĨت", + "ิà¸ģ า", + "Ġε νÏİ", + "Ġεν Ïİ", + "Ġس اÛĮر", + "éģ º", + "ãĢģ ä»Ĭ", + "ĠL ê", + "äºĭ æĥħ", + "ĠY er", + "ĠYe r", + "èħ °", + "ĠاÙĦر سÙħ", + "ĠاÙĦÙħ ÙĪÙĤع", + "ĠاÙĦÙħÙĪ ÙĤع", + "Ġh Ãłm", + "Ġд ÑĢев", + "ĠдÑĢ ÐµÐ²", + "á tel", + "át el", + "áte l", + "ĠвÑģ Ñij", + "ìĺ ¥", + "ĠM ec", + "ĠMe c", + "ãĤ Ľ", + "Ġص اد", + "ĠÚ¯ ردد", + "Ġگرد د", + "Ġگر دد", + "Ġkr ás", + "èĮĥ åĽ´", + "a larına", + "alar ına", + "aları na", + "aların a", + "èĻ ļ", + "ĠØ¢ ÙĪØ±Ø¯", + "ĠØ¢ÙĪØ± د", + "ç¼ ĵ", + "ิ à¸ŀ", + "Ġ ãĥĭ", + "Ġãĥ ĭ", + "Ġ æĢ§", + "ĠæĢ §", + "ĠÙħÙĨ ذ", + "ç· ´", + "Ġ ê¶ģ", + "Ġê ¶ģ", + "в аем", + "ва ем", + "Ġζ Ïī", + "Ġn avr", + "Ġna vr", + "Ġnav r", + "Ïĥ ÏĦαÏĥη", + "ÏĥÏĦα Ïĥη", + "Ġر Ø£", + "Ġd opl", + "Ġdo pl", + "Ġdop l", + "_ __", + "__ _", + "çĶļ èĩ³", + "Äį el", + "Äįe l", + "æĦı åij³", + "ç¥ Ń", + "à ĺ", + "ÑģÑĤв еннÑĭе", + "ÑģÑĤвен нÑĭе", + "è£ ¡", + "Ġ ãĢī", + "ĠãĢ ī", + "ĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ĠãĢĢĠ ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "Ġ вал", + "Ġв ал", + "Ġва л", + "Ġ ẩm", + "Ġd iyor", + "Ġdi yor", + "Ġdiy or", + "à¸Ńà¸ĩ à¸Īาà¸ģ", + "ĠPh ó", + "ĠÐĵ е", + "ĠвеÑĢ ÐµÑģ", + "Ġве ÑĢеÑģ", + "Ġk onz", + "Ġko nz", + "Ġkon z", + "ر ز", + "ĠÑģоб оÑİ", + "Ġεκ εί", + "ìĺģ ìĸ´", + "i ag", + "ia g", + "ĠÑģ енÑĤ", + "Ġn ấu", + "Ġja ké", + "Ġjak é", + "Ġro zh", + "Ġroz h", + "Ġб ог", + "Ġбо г", + "ÙĨ اد", + "ÙĨا د", + "ĠاÙħ ÙĪØ±", + "à¹Į à¸ģาร", + "à¹Įà¸ģ าร", + "ĠY aÅŁ", + "ĠYa ÅŁ", + "é Ī", + "åķ ª", + "Ġon ay", + "Ġona y", + "ìĹ ĩ", + "o mu", + "om u", + "ÑĨ Ñĸйного", + "ÑĨÑĸй ного", + "ÑĨÑĸйно го", + "ĠÑģ ал", + "ĠΣ Ïħν", + "ĠΣÏħ ν", + "Ġsav un", + "å¦ Ļ", + "à¸Īะ ม", + "ãĤ¹ ãĤ¯", + "Ġd osy", + "Ġdo sy", + "Ġdos y", + "ľ ĺ", + "ë¨ ¹", + "Ġmin ul", + "Ġmi nul", + "ãĢĭ Ċ", + "åģ ı", + "ĠÐļ аÑĤ", + "ĠÐļа ÑĤ", + "Ġed ilmesi", + "Ġedilm esi", + "Ġedil mesi", + "ÑĨÑĸ ÑĶн", + "ìĦ± ìĿ´", + "åĸ Ķ", + "Ġв ÑĸÑĢ", + "ĠвÑĸ ÑĢ", + "è¯ ij", + "ाà¤ĩ ड", + "ĠÙĪÙĤ تÛĮ", + "ĠÙĪÙĤت ÛĮ", + "ÄIJ á»ĥ", + "Ġ vyššÃŃ", + "Ġvy ššÃŃ", + "Äį ila", + "Äįi la", + "Äįil a", + "а дÑĥ", + "ад Ñĥ", + "çī¹ åĪ¥", + "ĠìĿ¸ 기", + "u jÃŃcÃŃch", + "ujÃŃ cÃŃch", + "ujÃŃcÃŃ ch", + "ĠPo dle", + "ĠPod le", + "Ġy avaÅŁ", + "Ļ æ±Ł", + "Ġka yb", + "Ġkay b", + "åĬ ª", + "ç´ ¹", + "Ġоб ÑĢабоÑĤ", + "ĠобÑĢа боÑĤ", + "Ġм аÑı", + "Ġма Ñı", + "Ġ åıĬ", + "Ġåı Ĭ", + "æİ¥ åıĹ", + "ÙĨ تÛĮ", + "ÙĨت ÛĮ", + "Ġ ÏĩÏİ", + "ĠÏĩ Ïİ", + "ÑĤ ÑĢо", + "ÑĤÑĢ Ð¾", + "Ġu yar", + "Ġuy ar", + "ĠعÙħÙĦ کرد", + "Ġо ÑĨен", + "ĠмеÑģÑĤ а", + "à¸ķ ลาà¸Ķ", + "à¸ķล าà¸Ķ", + "Ùħ ÙĤ", + "ild ren", + "Ġзави ÑģиÑĤ", + "Âł ĠÂł", + "ÂłĠ Âł", + "Ġm ožná", + "Ġmož ná", + "æĺŃ åĴĮ", + "ır ken", + "к ин", + "ки н", + "åĿ Ĥ", + "ÏĦ Ïĥι", + "ÏĦÏĥ ι", + "ĠÑĩ Ñĥд", + "Ðļ он", + "is lav", + "isl av", + "ĠÐļ ÑĢаÑģ", + "ĠÐļÑĢа Ñģ", + "N ej", + "Ne j", + "Âł b", + "r of", + "ro f", + "Ġ ileri", + "Ġi leri", + "Ġil eri", + "Ġile ri", + "Ġiler i", + "ĠÐŀ ÑĢ", + "ĠCh á»ī", + "Ġn üfus", + "ĠÑĸ нÑĤ", + "ĠÑĸн ÑĤ", + "! âĢľ", + "Ġन र", + "主 ä¹ī", + "ĠتÙĨ ظ", + "ův odu", + "ůvod u", + "ĠгоÑĢ Ð¾Ð´Ð°", + "ĠгоÑĢод а", + "Ġk ural", + "Ġkur al", + "Ġku ral", + "Ġj edin", + "Ġje din", + "Ġjed in", + "ÑĢ Ð°ÑĤег", + "ÑĢаÑĤ ег", + "åĢ º", + "Ġzpůsob em", + "ìĿ¸ ìĿĺ", + "Ġ ÙĨب", + "ĠÙĨ ب", + "ĠN ga", + "ĠNg a", + "ĠÐĿ ай", + "ĠÐĿа й", + "ĠاÙģ Ø²Ø§Ø±", + "ĠاÙ쨲 ار", + "нÑĥ вÑģÑı", + "нÑĥв ÑģÑı", + "Ġдв оÑħ", + "Ġдво Ñħ", + "Ġro zp", + "Ġroz p", + "ε ίοÏħ", + "εί οÏħ", + "είο Ïħ", + "Ġο ικο", + "Ġοι κο", + "ĠG eç", + "ĠGe ç", + " Ĺ", + "Ġch iếm", + "Ġchiế m", + "ĠÑĢаÑģпÑĢоÑģÑĤ ÑĢан", + "Ġh ương", + "èĩª åĭķ", + "ĠÙħÙĪ ÙģÙĤ", + "æĮ ¥", + "ï¼ģ âĢĿĊĊ", + "ï¼ģâĢĿ ĊĊ", + "Ïģο ÏĨοÏģ", + "èı Į", + "ãĥ´ ãĤ¡", + "欧 ç¾İ", + "ĠÑĤеп ло", + "ãģĤ ãģĤ", + "ãĤ¦ ãĥ³", + "ĠÅŁ eyi", + "ĠÅŁey i", + "Ġs üt", + "Ġsü t", + "ãģ¹ ãģ¦", + "ãĥ³ ãĥij", + "ãĥ³ãĥ ij", + "μÎŃν Ïīν", + "Ġgenel likle", + "Ġدر ÙħاÙĨ", + "Ù ª", + "Ġak ıl", + "ĠÐľ Ñĭ", + "Ġet miÅŁ", + "Ġetm iÅŁ", + "Å¡ la", + "Ġвозмож ноÑģÑĤÑĮ", + "Ġвозможно ÑģÑĤÑĮ", + "Ġgün cel", + "Ġná ro", + "å½¢ å¼ı", + "Ġα ÏĢοÏĦε", + "ĠαÏĢο ÏĦε", + "ĠмÑĸÑģ ÑĨÑı", + "Ġ رض", + "Ġر ض", + "ä¸į çŁ¥éģĵ", + "ä¸įçŁ¥ éģĵ", + "r ava", + "ra va", + "rav a", + "ĠÎļ ά", + "ิà¸Ļ à¸Ĺร", + "ิà¸Ļà¸Ĺ ร", + "Ġли ÑģÑĤÑĮ", + "ĠлиÑģÑĤ ÑĮ", + "èĨ ľ", + "ãģ«ãģª ãĤĬ", + "Ġ æĿ¾", + "ĠæĿ ¾", + "å® ı", + "Ġм иÑģ", + "Ġми Ñģ", + "át nÃŃ", + "Ġyıl lık", + "ĠMerk ezi", + "ĠMerkez i", + "Ġiç eri", + "Ġiçer i", + "ÅĻ ÃŃž", + "ÅĻÃŃ Å¾", + "Ġp ÅĻe", + "ĠpÅĻ e", + "Ïĩ Ïģι", + "Ġ åįĥ", + "Ġåį ĥ", + "Ġs rp", + "Ġsr p", + "à¹Ĥ à¸Ĺร", + "à¹Ĥà¸Ĺ ร", + "ĠK rál", + "ĠKr ál", + ". Σ", + "á val", + "áv al", + "l éd", + "lé d", + "Ġ λα", + "Ġλ α", + "ี ยวà¸ģ", + "ีย วà¸ģ", + "ียว à¸ģ", + "ãģı ãģª", + "ĠvÅ¡ ichni", + "ĠпÑĢед оÑģÑĤав", + "ì ¿", + "Ġ 구ê¸ĢìĥģìľĦ", + "Ġ구 ê¸ĢìĥģìľĦ", + "Ġ구ê¸Ģ ìĥģìľĦ", + "Ġà¤īप लब", + "в оз", + "во з", + "ĠëħĦ ëıĦë³Ħ", + "、 _", + "à¸ļ รร", + "à¸ļร ร", + "ĠÑģв ÑĸÑĤÑĥ", + "ĠÑģвÑĸÑĤ Ñĥ", + "ĠÑĢÑĥб лей", + "len me", + "lÃŃ Äį", + "ÏĦ ει", + "ÏĦε ι", + "Ġ åı¤", + "Ġåı ¤", + "ĠObr ázky", + "Ġìĺģ íĸ¥", + "ĠгÑĢаж дан", + "í Ĥ¹", + "íĤ ¹", + "Ġsahip tir", + "Ġп оÑĩаÑĤкÑĥ", + "ĠпоÑĩ аÑĤкÑĥ", + "ĠØ£ÙĬ ض", + "ĠÑĤоÑĢ Ð³Ð¾Ð²", + "Ġgel ecek", + "Ġgele cek", + "Ġ 문íĻĶ", + "Ġ문 íĻĶ", + "ik leri", + "ikler i", + "ĠнеобÑħÑĸд но", + "Ġ äºij", + "o vol", + "ov ol", + "ovo l", + "Ġद ल", + "ĠìķĬ ê³ł", + "Ġм г", + "Ġz jist", + "an lı", + "ั à¸ĩà¸Ļ", + "ัà¸ĩ à¸Ļ", + "ÑĢа Ñħов", + "ÑĢаÑħ ов", + "ι νη", + "ιν η", + "Ġп лоÑĤ", + "Ġпл оÑĤ", + "Ġпло ÑĤ", + "Ġn itel", + "Ġni tel", + "Ġnit el", + "ìĬ¤ íģ¬", + "ĠSon ra", + "ĠÑģ боÑĢ", + "ĠÑģб оÑĢ", + "Ġ ÏĥοÏħ", + "ĠÏĥ οÏħ", + "Ġol mam", + "Ġolm am", + "Ġolma m", + "Ġan aliz", + "Ġanal iz", + "à¹Į ว", + "Ġm ỹ", + "Ġmá» ¹", + "ce ae", + "cea e", + "Ġ ден", + "Ġд ен", + "Ġде н", + "веÑĢ Ð¶Ð´", + "веÑĢж д", + "Ạ¢", + "ãģĵ ãģ¨ãĤĤ", + "ãģĵãģ¨ ãĤĤ", + "ìĤ¬ íķŃ", + "è¨Ģ ãģ£ãģŁ", + "Ġ ì¹´ì§Ģëħ¸", + "Ġì¹´ ì§Ģëħ¸", + "ÑĢ Ð¸ÑĤи", + "ÑĢи ÑĤи", + "ÑĢиÑĤ и", + "Ġch ce", + "Ġçev ir", + "ÛĮ ÛĮÙĨ", + "ä¼ļ è®®", + "ัม à¸ŀ", + "Ġ åĦ", + "Ġå Ħ", + "ĠÙ¾ در", + "å¼ı ä¼ļ社", + "Ġ ÑĨен", + "ĠÑĨ ен", + "ĠÑĨе н", + "ิ à¸ĸ", + "Ġji nak", + "Ġjin ak", + "Ġб лÑİ", + "Ġбл Ñİ", + "и ÑĨин", + "иÑĨ ин", + "ÙĴ Ùĩ", + "Ú© ÙĪØ±", + "Ú©ÙĪ Ø±", + "Ġ ìķħ", + "Ġìķ ħ", + "e ksiyon", + "ek siyon", + "eks iyon", + "ĠÑģ веÑĢ", + "ĠÑģв еÑĢ", + "ĠобÑĢаз ованиÑı", + "Ġ ãĥĻ", + "Ġãĥ Ļ", + "æľī 人", + "Ġbilg ileri", + "Ġbilgi leri", + "Ġbilgiler i", + "Ġh ầu", + "еÑĢ Ñĸг", + "еÑĢÑĸ г", + "Ġva Å¡e", + "Ġn edir", + "Ġne dir", + "Ġned ir", + "ä¸į å¾Ĺ", + "ĠbaÅŁar ılı", + "ĠbaÅŁarı lı", + "Ġkay bet", + "Ġkayb et", + "å© ·", + "ĠÐĿ ав", + "ĠÐĿа в", + "Ġê´Ģ íķľ", + "Ñģ ÑĤÑİ", + "ÑģÑĤ Ñİ", + "å®ŀ éĻħ", + "k lady", + "kl ady", + "klad y", + "kla dy", + "д аÑĤÑĮ", + "да ÑĤÑĮ", + "даÑĤ ÑĮ", + "r aç", + "ra ç", + "Ġkuv vet", + "à¸ģาร à¸Ĺ", + "å ļ", + "Ġ ÑĢеп", + "ĠÑĢ ÐµÐ¿", + "ĠÑĢе п", + "Ġ à¸Ŀ", + "ĠภĿ", + "ĠDi ÄŁer", + "íĶĦ íĬ¸", + "Ġnej vÄĽtÅ¡ÃŃ", + "Ġìłģ ìļ©", + "Ġonemoc nÄĽnÃŃ", + "а ка", + "ак а", + "Ðł аз", + "ĠÙģ Ø¥ÙĨ", + "ãĤµ ãĤ¤ãĤº", + "ãĤµãĤ¤ ãĤº", + "Ġv lád", + "Ġvl ád", + "Ġvlá d", + "Ġr ady", + "Ġrad y", + "Ġra dy", + "ãĢģ ãģĵãĤĮ", + "ÑģÑĤв ие", + "lı ÄŁa", + "lıģ a", + "å ŃĶ", + "åŃ Ķ", + "Ġ áo", + "Ġá o", + "à¸Ń าà¸ģาศ", + "Ġ à¤ıम", + "Ġà¤ı म", + "δ αÏĤ", + "δα ÏĤ", + "Ġа пÑĢ", + "Ġап ÑĢ", + "æİ Ľ", + "Ġ ç«ĭ", + "Ġç« ĭ", + "âĸı âĸı", + "ĠС м", + "Ġne má", + "Ġnem á", + "Ġ è¢", + "Ġè ¢", + "νο μα", + "νομ α", + "ĠÙģ Ø±ÙĪØ¯", + "ĠÙ쨱 ÙĪØ¯", + "ĠÙ쨱ÙĪ Ø¯", + "Ġül ke", + "Ġülk e", + "Ġ æĺŁ", + "Ġæĺ Ł", + "ั à¸Ļà¸ģ", + "ัà¸Ļ à¸ģ", + "ãģķãĤĵ ãģ®", + "eÅŁ il", + "ÄŁ iz", + "ÄŁi z", + "ĠÐij оÑĢ", + "Ġt ầm", + "ει ÏĦοÏħÏģγ", + "Ġ γÏģα", + "Ġγ Ïģα", + "à¥įष à¤ķ", + "Ġv ẻ", + "Ġkend isine", + "Ġkendisi ne", + "ĠìķĮ ê³ł", + "Ġêµ Ńìłľ", + "ĠêµŃ ìłľ", + "ĠnÄĽk do", + "Ġ ÛĮÙĩ", + "ĠÛĮ Ùĩ", + "Ġکار بر", + "ãĥĻ ãĥ«", + "ï» ´", + "Ġt uyên", + "Ġtuy ên", + "Ġç at", + "Ġça t", + "âĢIJ âĢIJ", + " ı", + "Ġ ìĤ¬ìĹħ", + "ĠìĤ¬ ìĹħ", + "é ĨĴ", + "éĨ Ĵ", + "æıIJ é«ĺ", + "æ· ¡", + "Ġ ÄŁ", + "ĠÄ Ł", + "èĸ ¦", + "ãĢĭ ï¼Ī", + "æ¡ ĥ", + "ìĹ Ħ", + "Ġ æŀĹ", + "Ġæŀ Ĺ", + "Ä Ĥ", + "ĠÄĮ ech", + "α ιο", + "αι ο", + "ĠØ· رÙĬÙĤ", + "Ġطر ÙĬÙĤ", + "Ġзав еÑĢÑĪ", + "ĠзавеÑĢ ÑĪ", + "تÙĪ Ø¨Ø±", + "ĠØŃ ج", + "ĠÎŃÏĩ οÏħν", + "¿ ÃĤ", + "Ġd ÄĽtÃŃ", + "ĠdÄĽ tÃŃ", + "ĠdÄĽt ÃŃ", + "Ġiç ine", + "Ġiçin e", + "Ġiçi ne", + "ĠCh úa", + "ан нÑĭй", + "аннÑĭ й", + "ĠÙĪÛĮ Úĺ", + "Ġna stav", + "Ġnast av", + "ıs ına", + "ısı na", + "ĠÑĹ Ð¼", + "п он", + "по н", + "е нÑı", + "ен Ñı", + "ĠÙĪ Ø¸", + "Ú¯ ÙĦ", + "หล วà¸ĩ", + "Ġza stav", + "Ġzast av", + "а кон", + "ак он", + "³³³³³³³³³³³³³³³³ ³³³³³³³³³³³³³³³³", + "ĠK ır", + "ĠKı r", + "çµ ¶", + "ĠоÑĢганÑĸ заÑĨÑĸÑĹ", + "ĠоÑĢганÑĸз аÑĨÑĸÑĹ", + "ĠоÑĢганÑĸза ÑĨÑĸÑĹ", + "ãģŁ ãĤĬ", + "ذ ÙĬ", + "Ġर à¤ķ", + "amp iyon", + "Ġ æ¸ħ", + "Ġæ¸ ħ", + "çľ¼ çĿĽ", + "Ġìķ ĬìĿĢ", + "ĠìķĬ ìĿĢ", + "é¹ ¿", + "Ġ å¿ĥ", + "Ġå¿ ĥ", + "ĠпÑĢек ÑĢаÑģ", + "ĠÑģ егоднÑı", + "Ġ सल", + "Ġस ल", + "ĠÏħ ÏĢÏĮ", + "ĠÏħÏĢ ÏĮ", + "ĠÐķ го", + "ĠÐĽ и", + "ãĤ¨ ãĥ«", + "Ġл ÑİÑĤ", + "ĠлÑİ ÑĤ", + "é¥ °", + "Ġvz dál", + "¯ ÃĤ", + "Ġна Ñıв", + "Ġتش Ú©ÛĮÙĦ", + "Ġس ÙĪÛĮ", + "ĠسÙĪ ÛĮ", + "Ġt ái", + "Ġtá i", + "Ġk apı", + "Ġkap ı", + "ĠsvÄĽt ÄĽ", + "ĠsvÄĽ tÄĽ", + "δ ÏĮν", + "δÏĮ ν", + "æ¼ ¢", + "ì į¨", + "ĠbaÅŁv ur", + "ÑĢ Ð¸Ð½Ð°", + "ÑĢи на", + "ÑĢин а", + "Ġk elim", + "Ġke lim", + "Ġkel im", + "аÑĤ ок", + "аÑĤо к", + "Ġκά θε", + "ĠYük sek", + "à¹ĩà¸Ļ à¸ľ", + "éł Ĥ", + "åIJĮ æĻĤ", + "ÅŁ tır", + "ÅŁt ır", + "ว à¸ĩศ", + "วà¸ĩ ศ", + "o ty", + "ot y", + "Ġ ارد", + "Ġا رد", + "Ġار د", + "ĠìŀIJìĭł ìĿĺ", + "ĠÑıн ва", + "üyor du", + "æĿ ¨", + "ĠâĢĵ Ċ", + "ï¼Į å®ĥ", + "е йн", + "ей н", + "ĠпеÑĢ ÐµÑĤ", + "ĠпеÑĢе ÑĤ", + "ĠdeÄŁiÅŁik lik", + "ĠогÑĢа ниÑĩ", + "ìĦľ ìļ¸", + "Ġgel iyor", + "ĠÙ¾ ذÛĮر", + "åĵ ²", + "ey in", + "eyi n", + "Ġëı Ī", + "Ġun iverz", + "Ġh ned", + "Ġhn ed", + "Ġt áºŃn", + "vo ÅĻÃŃ", + "voÅĻ ÃŃ", + "Ġn iên", + "Ġni ên", + "dÄĽ podob", + "ìĤ¬ íļĮ", + "ãģĮ ãģĤãĤĬ", + "ĠÑģ ÑĸÑĩ", + "' '\"", + "'' \"", + "Ġtop lantı", + "ĠÑģ ÑĩеÑĤ", + "ĠÑģÑĩ еÑĤ", + "åĩĨ å¤ĩ", + "ан ÑĸÑı", + "анÑĸ Ñı", + "Ġ zel", + "Ġz el", + "Ġze l", + "v ala", + "val a", + "va la", + "Ġа пп", + "Ġап п", + "ĠاÙĦÙħ ÙĦÙĥ", + "ĠاÙĦÙħÙĦ Ùĥ", + "Ġho ÅŁ", + "ĠÐĵ ен", + "ĠÐĵе н", + "ÑĤ аб", + "ÑĤа б", + "ĠÄĮesk o", + "ĠÄĮes ko", + "Ġмай же", + "ĠmÄĽ sto", + "ĠmÄĽst o", + "yo nel", + "yon el", + "ê±° 리", + "Ġìĺ¨ ëĿ¼ìĿ¸", + "ç´ ¯", + "Ġde rec", + "Ġder ec", + "Ġdere c", + "Ġок ÑĢÑĥж", + "Ġy abancı", + "Ġ íĦ°", + "ĠíĦ °", + "Ġ èµĦ", + "Ġèµ Ħ", + "ÎĻÎļ ÎĹ", + "Ġп Ñĭ", + "Ġv ÄĽn", + "ĠvÄĽ n", + "и нки", + "ин ки", + "ụ p", + "æľº 械", + "ĠìķĮ 볤", + "ëħ ķ", + "Ġ λÏĮγ", + "Ġλ ÏĮγ", + "e yn", + "ey n", + "Ġ ëIJĺìĹĪëĭ¤", + "ĠëIJĺ ìĹĪëĭ¤", + "ĠëIJĺìĹĪ ëĭ¤", + "æ± ¡", + "Ġve dle", + "Ġved le", + "ĠÙĥ تب", + "ë§ ¨", + "ĠÙħÙĤ اÙĪ", + "å¹´ ãģ«", + "ाà¤ĩ à¤ķ", + "ĠÑģÑĤ оÑģ", + "ĠÑģÑĤо Ñģ", + "ĠÏĥ ÏĦοÏħÏĤ", + "м еÑĤÑĮ", + "ме ÑĤÑĮ", + "меÑĤ ÑĮ", + "Ġes as", + "Ġesa s", + "ëIJĺ ê³ł", + "ĠkvÄĽt na", + "Ġ éľ", + "Ġé ľ", + "d ük", + "dü k", + "åŁ ·", + "è ªĮ", + "èª Į", + "Ġm luv", + "Ġml uv", + "ĠпÑĢи нÑı", + "ĠпÑĢин Ñı", + "Ġpo té", + "Ġpot é", + "ĠÚ© ÙĨÙħ", + "ĠÚ©ÙĨ Ùħ", + "ĠпÑĢед лож", + "ĠÐľÐ¾Ñģк ва", + "ï¼Į å¦Ĥ", + "Ġsv ém", + "Ġsvé m", + "Ġا ÙħÙĨ", + "ĠاÙħ ÙĨ", + "ส าย", + "ĠÑĥм енÑĮ", + "Ġ ãģĵãģ®", + "åī Ĥ", + "ĠÑģ еÑĢÑĮ", + "ĠÑģеÑĢ ÑĮ", + "Ġm á»ĩ", + "Ġmá» ĩ", + "Ġ ä¹Ŀ", + "Ġä¹ Ŀ", + "Ġза кÑĸн", + "Ġзак Ñĸн", + "Ġв елиÑĩ", + "Ġвели Ñĩ", + "Ġвел иÑĩ", + "Ġве лиÑĩ", + "Ġкон ÑĤÑĢа", + "ĠконÑĤ ÑĢа", + "ĠконÑĤÑĢ Ð°", + "ĠS osyal", + "Ġy ukarı", + "Ġد ÙĪØ¨", + "ĠدÙĪ Ø¨", + "ä¾ §", + "Ġза мен", + "Ġзам ен", + "ï» ®", + "Ġso bÄĽ", + "Ġsob ÄĽ", + "ĠТак же", + "Ð İ", + "ε δ", + "Ùħ ارÛĮ", + "Ùħا رÛĮ", + "Ùħار ÛĮ", + "ξ ι", + "ì¹ Ń", + "Ġп лаÑģÑĤи", + "Ġпл аÑģÑĤи", + "Ġпла ÑģÑĤи", + "Ïĥ οÏħν", + "Ïĥο Ïħν", + "ÏĥοÏħ ν", + "èľĺèĽĽ è¯į", + "ÙĪ ÛĮزÛĮ", + "ÙĪÛĮ زÛĮ", + "Ġnap ÅĻ", + "ĠÑĤип а", + "ĠÑĤи па", + "à¥Ĥ à¤Ľ", + "ĠÅŁ ah", + "л ÑıÑĤи", + "лÑı ÑĤи", + "ب ÛĮر", + "بÛĮ ر", + "ระ ยะ", + "ĠболÑĮ ÑĪин", + "ĠболÑĮÑĪ Ð¸Ð½", + "ÏĦη ÏĦα", + "Ġíıī ê°Ģ", + "Ġpro jev", + "Ġproj ev", + "Ġproje v", + "ò i", + "Ġк нÑı", + "ÏĨ εÏģ", + "е ÑĢÑĥ", + "еÑĢ Ñĥ", + "Ñį н", + "ĠعÙħ ÙĦÛĮ", + "ĠعÙħÙĦ ÛĮ", + "à¤ł न", + "ãĥ³ ãĤ¯", + "ĠìķĦ ëŀĺ", + "Î Ī", + "Ġب است", + "Ġبا ست", + "Ġ تÙĥ", + "Ġت Ùĥ", + "a ÄįnÃŃ", + "aÄį nÃŃ", + "ĠлÑĸ кÑĥваннÑı", + "ĠлÑĸк ÑĥваннÑı", + "à¸Ħ à¹Ĥà¸Ļ", + "Ġ èĥ½", + "Ġè ĥ½", + "Ġèĥ ½", + "θ λη", + "len miÅŁ", + "Ġl á»Ļ", + "Ġlá» Ļ", + "Ġsi lah", + "Ġsil ah", + "ĠA ustr", + "ĠAust r", + "ĠAus tr", + "ĠAu str", + "ØŃ ÙĤ", + ".*** .***", + "ì ©", + "Ġg Ãł", + "Ġباز بÛĮÙĨÛĮ", + "ĠÄij Ãłn", + "ÃŃ ky", + "ÃŃk y", + "ĠÎķ ν", + "ض Ùħ", + "å§ ĵ", + "Ġ ÙĨÙĪÛĮس", + "ĠÙĨ ÙĪÛĮس", + "ĠÙĨÙĪ ÛĮس", + "Ġskup iny", + "Ġس ÛĮد", + "ĠسÛĮ د", + "Ġal dıģı", + "Ġald ıģı", + "Ġaldı ģı", + "m eli", + "me li", + "mel i", + "в иж", + "ви ж", + "ì¹ĺ ëĬĶ", + "ов аÑħ", + "ова Ñħ", + "Ġ æ©", + "Ġæ ©", + "Ø´ÙĨ اسÛĮ", + "Ø´ÙĨاس ÛĮ", + "Ġn imi", + "Ġni mi", + "Ġnim i", + "ĠÐĵ ÑĢи", + "íĹ Į", + "Ġк в", + "éŁ ĵ", + "Ġ íĽĦ기", + "ĠíĽĦ 기", + "Ġ stÅĻÃŃ", + "Ġst ÅĻÃŃ", + "ĠstÅĻ ÃŃ", + "ĠкÑĸлÑĮ кÑĸÑģÑĤÑĮ", + "ĠBakan lıģı", + "ĠменÑĮ ÑĪе", + "ا ÙĪÛĮ", + "اÙĪ ÛĮ", + "Ġار ÙĪÙ¾", + "Ġ èī²", + "Ġèī ²", + "ĠÚ©ÙĪÚĨ Ú©", + "ĠA ynı", + "Ġ äºĨ", + "Ġس Ù쨱", + "ĠسÙģ Ø±", + "ĠÑĤе аÑĤ", + "Ġ vÄĽd", + "ĠvÄĽ d", + "а ÑĢов", + "аÑĢ Ð¾Ð²", + "Ġоб меж", + "ĠìķĬ ìķĺ", + "追 åĬł", + "éł Ī", + "dÄĽ lenÃŃ", + "dÄĽl enÃŃ", + "dÄĽlen ÃŃ", + "Ġk ims", + "Ġki ms", + "Ġkim s", + "Ġ èı²", + "Ġèı ²", + "Ġг ÑĢÑĥн", + "ĠгÑĢÑĥ н", + "ĠгÑĢ Ñĥн", + "ĠØ¢ ÙĦÙħاÙĨ", + "ĠØ¢ÙĦ ÙħاÙĨ", + "Ġав г", + "ĠÑī оÑģÑĮ", + "ĠÑīо ÑģÑĮ", + "Ġ å¾·", + "Ġå¾ ·", + "ĠÐĿа ÑĨÑĸоналÑĮ", + "æĪIJ ç«ĭ", + "ูà¸Ļ ย", + "ãĥ¼ ãĥ«ãĥī", + "ãĥ¼ãĥ« ãĥī", + "éĽ ²", + "ĠT á»ķ", + "cı lık", + "ĠAlma nya", + "ĠAlman ya", + "Ġov Å¡em", + " ĭ", + "ĠÏĩÏģη ÏĥιμοÏĢοι", + "Ġörg üt", + "िस स", + "èĹ Ŀ", + "ĠGi ải", + "Ġsv ob", + "Ġsvo b", + "Ġrůzn ých", + "Ġrůz ných", + "Ġsmlou vy", + "ÑĢ ÐµÑģÑģ", + "ÑĢеÑģ Ñģ", + "ี à¹Ģà¸Ķ", + "ĠاÙħ رÙĪØ²", + "ĠاÙħر ÙĪØ²", + "ãĤ ħ", + "åĿ ¦", + "à¹ī à¸Ħ", + "Ġ каж", + "Ġк аж", + "Ġка ж", + "å¼ Ĺ", + "Ñĩ ноÑĹ", + "Ñĩно ÑĹ", + "åľ Ī", + "ĠØ¢ ÙĩÙĨÚ¯", + "ëª °", + "Ġ æº", + "Ġæ º", + "Ġ èĦ", + "Ġè Ħ", + "ä¸Ģ æŃ¥", + "оÑĩ ка", + "Ġpro stor", + "Ġpros tor", + "Ġprost or", + "Ġng ắn", + "Ġ ç·", + "Ġç ·", + "н аÑĢ", + "на ÑĢ", + "Ġà¤ľ व", + "ĠнаÑĩ алÑĮ", + "Ġне дел", + "Ġнед ел", + "ĠÑģиÑģÑĤем Ñĥ", + "ج ÙĬ", + "اد ات", + "ادا ت", + "Ġ æ¢", + "Ġæ ¢", + "ĠجاÙħ عة", + "ĠجاÙħع Ø©", + "Ġ ä»İ", + "Ġà¤ħ फ", + "èĸ Ħ", + "Ġب اÙĤ", + "Ġبا ÙĤ", + "ب ÙĬع", + "بÙĬ ع", + "ãģķ ãĤĮãģ¦", + "ãģķãĤĮ ãģ¦", + "ĠÃĩ alÄ±ÅŁ", + "Ø®ÙĪ Ø§Ø³Øª", + "ãĥĥ ãĤ·ãĥ¥", + "ĠØŃ سÛĮÙĨ", + "ĠØŃس ÛĮÙĨ", + "Ġоб наÑĢÑĥж", + "в Ñĸдом", + "вÑĸ дом", + "вÑĸд ом", + "Ġh ôm", + "л анд", + "ла нд", + "лан д", + "Ġव à¤ľà¤¹", + "س ÙĬÙĨ", + "سÙĬ ÙĨ", + "æł ı", + "Ġna vÃŃc", + "Ġnav ÃŃc", + "ãĤµ ãĤ¤ãĥĪ", + "ãĤµãĤ¤ ãĥĪ", + "ĠÑı комÑĥ", + "ĠÑıк омÑĥ", + "Ġí Ľ", + "ĠY ani", + "ĠYan i", + "ĠYa ni", + "ãĤĵ ãģ§ãģĻ", + "ãĤĵãģ§ ãģĻ", + "Ġг ÑĢÑĥп", + "ĠгÑĢÑĥ п", + "ĠгÑĢ Ñĥп", + "Äį ný", + "ÑĨ ик", + "ÑĨи к", + "ÙĪ ÙĬر", + "ÙĪÙĬ ر", + "Ġ Xã", + "ĠX ã", + "Ġf yz", + "Ġfy z", + "Ġ ï½ī", + "Ġï½ ī", + "âĢĮ ترÛĮÙĨ", + "âĢĮتر ÛĮÙĨ", + "à¤Ł à¤ķ", + "ÑĦоÑĢм и", + "ÑĦоÑĢ Ð¼Ð¸", + "ĠO yun", + "ĠOy un", + "åł´ æīĢ", + "ØŃ Ø«", + "ĠìķĮ ìķĦ", + "ÑĢав илÑĮ", + "ÑĢави лÑĮ", + "ï¼Į âĢĿ", + "b oru", + "bo ru", + "bor u", + "ĠK ullan", + "ĠKul lan", + "ĠKay nak", + "Ġê° ĸ", + "ç´ Ķ", + "ï¼Į æ¯ı", + "ÎĹ Î¡", + "Ġp ůl", + "Ġpů l", + "Ġг оÑģÑĤ", + "ر ÙĪÙħ", + "رÙĪ Ùħ", + "ï¼Į åį³", + "Û² Û³", + "ĠÙĨØ® ست", + "ĠÚ© سب", + "Ġ à¹Ģà¸ļ", + "Ġà¹Ģ à¸ļ", + "Ġà¹Ģภļ", + "Ġy azar", + "Ġya zar", + "Ġyaz ar", + "j ekt", + "je kt", + "à¹Ĥล ย", + "Ġдоб ÑĢе", + "Ġپزش Ú©ÛĮ", + "ĠتÙĩ ÛĮÙĩ", + "ç¾İ åľĭ", + "но ÑģÑıÑĤ", + "ноÑģ ÑıÑĤ", + "ноÑģÑı ÑĤ", + "ëłĪ ìĬ¤", + "åĹ ¯", + "Ġr Ãłng", + "ĠÎķ ξ", + "а ÑĤаÑĢ", + "аÑĤ аÑĢ", + "аÑĤа ÑĢ", + "k ova", + "ko va", + "kov a", + "ĠÅŁey ler", + "Ø® اص", + "ĠìķĪ ìłĦ", + "Ñī ей", + "Ñīе й", + "Ġë° Ŀ", + "âĢĮتÙĪØ§ÙĨ د", + "ãģĪ ãģ°", + "Ġv ữ", + "Ġvá» ¯", + "ĠÑģ ама", + "ĠÑģам а", + "ĠобоÑĢ Ñĥд", + "Ġобо ÑĢÑĥд", + "âĢĮ باشد", + "à¹Į à¸Ń", + "Ġdet ay", + "æĤ ²", + " Ī", + "ãĤ¦ ãĤ£", + "ĠпÑĢав ила", + "ĠпÑĢави ла", + "ĠпÑĢавил а", + "kr ét", + "à¹Į ร", + "åĮ ¹", + "Ġ åħį", + "Ġå ħį", + "Ġåħ į", + "ĠÑģилÑĮ но", + "ĠиÑģ ÑĤоÑĩ", + "ĠиÑģÑĤ оÑĩ", + "ĠsaÄŁ lar", + "Ġ æŃ¦", + "ĠæŃ ¦", + "íĸ ĪìĬµëĭĪëĭ¤", + "íĸĪ ìĬµëĭĪëĭ¤", + "Kh ông", + "à¹Īาà¸ĩ à¹Ĩ", + "Û° Û°Û°", + "Û°Û° Û°", + "Ġ رÙĤ", + "Ġر ÙĤ", + "âĢĻ ÑıÑĤ", + "âĢĻÑı ÑĤ", + "åĽ ²", + "à¹ģ à¸Ķà¸ĩ", + "Ġžád né", + "c ouz", + "co uz", + "cou z", + "à ĭ", + "ĠпÑĸд гоÑĤов", + "Ġ ëĮĢíķĻ", + "ĠëĮĢ íķĻ", + "Ġdüny anın", + "èĢģ å¸Ī", + "èģĮ ä¸ļ", + "Ġy eri", + "Ġye ri", + "Ġyer i", + "à¥ĭ à¤ķर", + "à¥ĭà¤ķ र", + "ĠبÙĩ تر", + "ëĭĪ ìķĦ", + "ìĿĮ ìĿĦ", + "Ġ æĮĩ", + "ĠæĮ ĩ", + "ãĢį ï¼Ī", + "ĠÑģооÑĤвеÑĤÑģÑĤв ии", + "æĬ ĵ", + "à¹Ĥ à¸Ĺ", + "Ġtr á»ĵng", + "ĠпÑĢа ÑĨÑĸ", + "Ġ ëĨĵ", + "ĠëĨ ĵ", + "à¤ĩ न", + "Ġìłķ ë§IJ", + "ãĢ ķ", + "Ġc áºŃn", + "åĸ Ŀ", + "Ġê³Ħ ìĨį", + "Ġ ä¸İ", + "Ġä¸ İ", + "å¥ ı", + "Ġع اÙĦÙħ", + "Ġvys vÄĽt", + "Ġдо ÑĢог", + "ĠдоÑĢ Ð¾Ð³", + "Ġн еÑĢв", + "ĠнеÑĢ Ð²", + "Ġб еÑĤ", + "Ġп ÑĢиÑĤ", + "ĠпÑĢ Ð¸ÑĤ", + "ĠпÑĢи ÑĤ", + "ов Ñĭй", + "å· ¡", + "Ùģ Ø§Ø¹", + "Ðļ Ðĺ", + "à¸ķ รวà¸Ī", + "à¸ķรว à¸Ī", + "ĠÐľ ай", + "ĠÐľÐ° й", + "ëıĦ ë¡ľ", + "Ġz lat", + "ĠsaÄŁ lam", + "Ïģ αν", + "Ïģα ν", + "à¸Ĭ ร", + "å¹´ ãģ®", + "à¸Ħ รà¸Ńà¸ĩ", + "à¸Ħร à¸Ńà¸ĩ", + " ħ", + "Ġho á", + "Ġдов олÑĮно", + "Ġol maz", + "Ġolm az", + "Ġolma z", + "ĠpodmÃŃn ky", + "ĠÑħозÑı й", + "æĻ ´", + "ÑĢ Ð¾Ð²Ð°", + "ÑĢов а", + "ÑĢо ва", + "Ġl ược", + "ान न", + "Ġкап иÑĤ", + "ĠÚĺ Ø§ÙĨ", + "æľī äºĽ", + "ĠповеÑĢÑħ ноÑģÑĤи", + "ĠÑĨ Ñĸн", + "ĠÑĨÑĸ н", + "ü yle", + "üy le", + "Ġj azy", + "Ġja zy", + "Ġjaz y", + "ĠPh ú", + "Ġ सन", + "Ġस न", + "åĩº åĶ®", + "Âł д", + "Ġ ãĤ¯", + "ĠãĤ ¯", + "çͱ äºİ", + "à¥į पत", + "à¥įप त", + "ĠاÙĦØ® اÙħ", + "Ġاص ÙĦاØŃ", + "ĠاصÙĦ اØŃ", + "Ġ تÛĮ", + "Ġت ÛĮ", + "Ġt ato", + "Ġta to", + "Ġtat o", + "å¹ ¹", + "æ³ ½", + "à¸Ńà¸ģ à¸Īาà¸ģ", + "Ñĥ лÑİ", + "Ñĥл Ñİ", + "Ġв Ñģп", + "ĠвÑģ п", + "m ekte", + "me kte", + "mek te", + "à¥Ģ फ", + "ĠÚĺ ÙĪØ¦", + "Ġl á»ĩnh", + "Ġlá»ĩ nh", + "âĢĮ کرد", + "âĢĮÚ© رد", + "íı¬ ì¸ł", + "an ki", + "ank i", + "Ġëĵ±ë¡Ŀ ëĮĢíĸī", + "Ġ ãĤĿ", + "ĠãĤ Ŀ", + "Ġار زش", + "Ġارز Ø´", + "Ġth ú", + "Ġ ấn", + "è¡Į 为", + "ĠÑģ нова", + "ê ¾¸", + "Ġsou hlas", + "Ġв озв", + "Ġвоз в", + "Ġво зв", + "ÏģÎŃ ÏĢει", + "ĠнÑĸ Ñĩого", + "ĠнÑĸÑĩ ого", + "н ож", + "но ж", + "ÑĤ ик", + "ÑĤи к", + "ãģ© ãģĵ", + "ĠоÑģнов е", + "ãĤ ¥", + "à¸Ľà¸£à¸° à¸Īำ", + "Ġ à¸Ĺà¸Ńà¸ĩ", + "Ġà¸Ĺ à¸Ńà¸ĩ", + "Ġek sik", + "Ġeks ik", + "ĠÙĦ Ø¥", + "ãģĭ ãģ®", + "Ġ ãģª", + "- प", + "Ïģ ει", + "Ïģε ι", + "ĠìłĦ 문", + "า à¸ģล", + "าà¸ģ ล", + "β ε", + "íĬ¹ ë³Ħ", + "íķĺ ë©´ìĦľ", + "íķĺë©´ ìĦľ", + "à¸Ħà¹Ĥà¸Ļ à¹Ĥลย", + "Ġ 好", + "Ġå¥ ½", + "Ġy ayım", + "Ġyay ım", + "ë§Į ëĤ¨", + "ĠкиÑģ лоÑĤ", + "ĠкиÑģл оÑĤ", + "ĠÑį неÑĢг", + "çĸ ¾", + "Ġد Ø´", + "Ġsor uml", + "Ġsoru ml", + "Ġза клад", + "Ġзак лад", + "à¸Ĭ à¸Ńà¸ļ", + "ĠÙ쨱ÙĩÙĨÚ¯ ÛĮ", + "Ġà¤ı ल", + "Ġë¹Ħ êµIJ", + "l erce", + "ler ce", + "Ġ Ø·ÙĦب", + "ĠØ· ÙĦب", + "ĠØ·ÙĦ ب", + "ãģ« ãģĹãģ¦", + "ĠÑı коÑĹ", + "ĠÑıк оÑĹ", + "ĠاÙĦب تÙĩ", + "ĠÐľ аÑĤ", + "ĠÐľÐ° ÑĤ", + "åį ĵ", + "Ġ åħ¬åı¸", + "Ġåħ¬ åı¸", + "Ġsöy ley", + "Ġsöyl ey", + "ĠìĥĪ ë¡ľìļ´", + "ĠÑĦ аÑĢ", + "Ġalt ına", + "Ġaltın a", + "Ġaltı na", + "Ġsta vu", + "Ġstav u", + "âĢĻ Ä±", + "al izace", + "aliz ace", + "Ġви ÑģÑĤÑĥп", + "æķĻ å¸Ī", + "à¥Ģ à¤ıस", + "à¥Ģà¤ı स", + "o dÄĽ", + "od ÄĽ", + "ĠÑĨ Ñĸл", + "ĠÑĨÑĸ л", + "ĠëĮĢ ìĥģ", + "ĠкоÑĤоÑĢ Ð¾Ð¼", + "ĠкоÑĤ оÑĢом", + "Ġظ رÙģ", + "éİ ®", + "اÙģ ÙĬØ©", + "اÙģÙĬ Ø©", + "Ġ ìĹĨìĿ´", + "ĠìĹĨ ìĿ´", + "ĠμÏĮ νο", + "ĠC Æ¡", + "å¯ »", + "ÏĦ ιÏĥ", + "ÏĦι Ïĥ", + "Ġ ãĤĦ", + "ĠãĤ Ħ", + "Ġjed noho", + "Ġjedn oho", + "Ġjedno ho", + "ا ا", + "Ø§Ø §", + "et ler", + "Ġव स", + "ĠÑĢазлиÑĩ нÑĭÑħ", + "Ġج غراÙģ", + "Ġth ừa", + "Ġthá» «a", + "ĠгÑĢомад Ñıн", + "ॠ°", + "ĠاÙĦØ£ Ø®", + "Ġнаг ÑĢÑĥз", + "ç¸ ¾", + "à¥Ĥ ह", + "ĠпÑĢÑıм о", + "â Ĭ", + "ĠاÙĦØ£ÙĪÙĦ Ùī", + "æĸ° èģŀ", + "Ġìĥģ íĻ©", + "it esi", + "ite si", + "ites i", + "ëį° ìĿ´íĬ¸", + "æŃ ·", + "ï¼ĮèĢĮ ä¸Ķ", + "ãģ¯ ãģļ", + "产 çĶŁ", + "æ°Ĺ ãģĮ", + "y slu", + "ys lu", + "ysl u", + "ìĸ´ ëĤĺ", + "ا Ú©Ùħ", + "اک Ùħ", + "âĢ ĥ", + ") ìĿĢ", + "Ġجست ارÙĩاÛĮ", + "ÙĪ Ø«", + "ãħ İ", + "Ġkav ram", + "v ál", + "vá l", + "æľ Ń", + "æĤ ł", + "ìħ Ģ", + "h rad", + "hr ad", + "hra d", + "Ġت ÙĥÙĪÙĨ", + "ĠتÙĥ ÙĪÙĨ", + "ĠH òa", + "å¹´ çļĦ", + "Ġç arp", + "Ġça rp", + "Ġy olu", + "Ġyo lu", + "Ġyol u", + "Ġdub na", + "ĠÐĴ елик", + "ĠÐĴели к", + "Ġt ôn", + "Ġtô n", + "æ ķĮ", + "æķ Į", + "Ġc oi", + "Ġco i", + "Ġnak onec", + "ĠÑį ÑĤÑĥ", + "ĠÑįÑĤ Ñĥ", + "íĨµ ëł¹", + "ÑĪ ÐµÐ»", + "ÑĪе л", + "Ġneb yl", + "Ġneby l", + "in ç", + "ب اÙĦØ¥ÙĨجÙĦÙĬزÙĬØ©", + "باÙĦ Ø¥ÙĨجÙĦÙĬزÙĬØ©", + "ï¼ ¡", + "о нÑĮ", + "он ÑĮ", + "Ġне маÑĶ", + "Ġнем аÑĶ", + "Ġê³ł ê°Ŀ", + "ĠÙĤ طع", + "ĠÙĤØ· ع", + "ĠÑĤеÑĢиÑĤоÑĢ ÑĸÑĹ", + "人 ãģ¯", + "ĠΣ α", + "éĤ£ äºĽ", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ios per", + "í Ĥ¨", + "íĤ ¨", + "r aki", + "ra ki", + "rak i", + "اÛĮ ج", + "Âł C", + "Ġан алÑĸз", + "ãĤı ãĤĬ", + "ĠìķĦëĭ Į", + "ĠاÙĦعÙħÙĦ ÙĬØ©", + "ĠاÙĦعÙħ ÙĦÙĬØ©", + "l ament", + "la ment", + "lam ent", + "é» ¨", + "u jÃŃcÃŃm", + "ujÃŃ cÃŃm", + "ujÃŃcÃŃ m", + "Ġr ẻ", + "ä¸į åΰ", + "Ġrez erv", + "ĠاÙĦذ ÙĬÙĨ", + "ĠاÙĦذÙĬ ÙĨ", + "æĭ ¥", + "Ðĺ н", + "Ġतह त", + "r esi", + "re si", + "res i", + "Ġ ãĥ¢", + "Ġãĥ ¢", + "л ев", + "ле в", + "ãĢĢ r", + "Ġ ä»Ĭ", + "Ġö dem", + "Ġpot rav", + "ĠêµIJ ìĪĺ", + "ÑĢ ÐµÐ´Ð¸", + "ÑĢед и", + "ÑĢе ди", + "ĠÎļ ÎijÎĻ", + "Ġ наÑĩала", + "ĠнаÑĩ ала", + "Ġиз б", + "ĠbÅĻez na", + "Ġle dna", + "Ġled na", + "ÑĢ ÑĥÑİÑĤ", + "ÑĢÑĥ ÑİÑĤ", + "Ġ моÑĤ", + "Ġм оÑĤ", + "Ġмо ÑĤ", + "åıĹ åΰ", + "ĠÑĢÑĥ кÑĥ", + "ĠÑĢÑĥк Ñĥ", + "Ỽ m", + "ad ele", + "ade le", + "adel e", + "ĠÑĢоз глÑı", + "åħ IJ", + "Ġر ÙĪØ§ÙĨ", + "ĠرÙĪ Ø§ÙĨ", + "а ков", + "ак ов", + "Ñĥ ÑĢÑĭ", + "ÑĥÑĢ Ñĭ", + "Ġaz al", + "ĠÑĥ кÑĢа", + "ĠÑĥк ÑĢа", + "пи он", + "ĠÄįlov ÄĽ", + "äºĮäºĮ äºĮäºĮ", + "ا بÙĬ", + "اب ÙĬ", + "Ġas lında", + "ë¹ Ī", + "Ġв ÑĢаÑĩ", + "ĠвÑĢа Ñĩ", + "ë£ ¹", + "Ġген еÑĢа", + "à¸ģาร ส", + "ĠÑģов Ñģем", + "ÙĪ ÙĦا", + "ÙĪÙĦ ا", + "Ġश ब", + "ाà¤ĸ ण", + "ست اÙĨÛĮ", + "ستاÙĨ ÛĮ", + "æĬ ½", + "Ġrů z", + "ĠíĮIJ 매", + "à¸ģาร à¸ķ", + "ائ ÛĮ", + "a sal", + "as al", + "asa l", + "ĠÑĢабоÑĤ Ñĥ", + "ĠÑĢаб оÑĤÑĥ", + "ĠÑĢабо ÑĤÑĥ", + "à¥ĭल न", + "Ġ 马", + "Ġé© ¬", + "Ġl ai", + "Ġla i", + "ó i", + "v ap", + "va p", + "ëħĦ ìĹIJëĬĶ", + "ëħĦìĹIJ ëĬĶ", + "ĠпеÑĢед баÑĩ", + "Ġп леÑĩ", + "Ġпл еÑĩ", + "id det", + "idd et", + "ĠÑĩ оÑĢ", + "i yan", + "iy an", + "iya n", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ĠãĢĢ", + "ĠØŃر ÙģÙĩ", + "ĠØŃرÙģ Ùĩ", + "大 éĺª", + "Ñĩ ого", + "Ġ ки", + "Ġк и", + "ا ÙĪÙĬ", + "اÙĪ ÙĬ", + "ĠbaÅŁ lan", + "Ġmerk ezi", + "Ġmerkez i", + "© ©", + "Ġر است", + "Ġرا ست", + "Ġ ëĬĶ", + "ĠëĬ Ķ", + "ĠÑģ ÑĢав", + "ĠвнÑĥ ÑĤÑĢи", + "ĠвнÑĥÑĤÑĢ Ð¸", + "ĠвнÑĥÑĤ ÑĢи", + "ãĢĢ ãĥİ", + "åĿ Ľ", + "Ġв ÑĤ", + ": :/", + ":: /", + "Ġsöz leÅŁ", + "Ġver diÄŁi", + "Ġverdi ÄŁi", + "ิ ยม", + "ิย ม", + "ĠÐŁ ÑĢоÑĤ", + "ĠÐŁÑĢ Ð¾ÑĤ", + "ĠÐŁÑĢо ÑĤ", + "Ùĥ ار", + "Ġب ÙĨدÛĮ", + "ĠبÙĨ دÛĮ", + "ĠبÙĨد ÛĮ", + "Ùı ÙĪ", + "缴 æĴŃ", + "ĠÙħ ÙĦÙĬ", + "ĠÙħÙĦ ÙĬ", + "Ġnut né", + "ะà¹ģ à¸Ļà¸Ļ", + "ĠM ã", + "Ġ ì´", + "Ġì ´", + "à¹Ī าม", + "à¹Īา ม", + "м оÑģ", + "мо Ñģ", + "Ġпо Ñıви", + "ĠпоÑıв и", + "Ġn ghi", + "Ġng hi", + "Ġngh i", + "Ġ ëIJĺëĬĶ", + "ĠëIJĺ ëĬĶ", + "Ñģ клад", + "Ñģк лад", + "à¤Ĺ ल", + "ĠC á»Ļng", + "çŁ¥ è¯Ĩ", + "Ġ taj", + "Ġt aj", + "Ġta j", + "Ġع بر", + "Ġعب ر", + "éĻĦ è¿ij", + "ü ÄŁ", + "Ġê³µ ê³ł", + "è£ ķ", + "âĢĮ Ø´ÙĨ", + "âĢĮØ´ ÙĨ", + "Ġgerç ekten", + "Ġgerçek ten", + "n un", + "nu n", + "Ùħ Ø´", + "ê°Ģ ëĬ¥", + "ãĥ© ãĥ³ãĥī", + "ãĥ©ãĥ³ ãĥī", + "ay acak", + "aya cak", + "åįģ ä¸Ģ", + "ĠB ảo", + "Ġyet erli", + "Ġyeter li", + "ž iv", + "ži v", + "ĠÙĬÙĨ اÙĬر", + "Ġb ýval", + "Ġbý val", + "ìĽĶ ê¹Įì§Ģ", + "Ġn ợ", + "Ġ ê´Ģê³Ħ", + "Ġê´Ģ ê³Ħ", + "Ġ íĿ¬", + "ĠíĿ ¬", + "а ÑİÑĤÑĮ", + "аÑİÑĤ ÑĮ", + "аÑİ ÑĤÑĮ", + "Ġgö tür", + "Ġваж но", + "Ġва жно", + "æµ ©", + "ĠìĿ¼ ë¶Ģ", + "ÑĨÑĸй ний", + "ëł¥ ìĿĦ", + "Ġл еÑĩение", + "ĠлеÑĩ ение", + "éĸ¢ ä¿Ĥ", + "ĠT üm", + "ìĻ Ķ", + "éģ Ĺ", + "ĠD ön", + "Ġ ÑģпÑĸлÑĮ", + "ĠÑģп ÑĸлÑĮ", + "ĠÑģпÑĸл ÑĮ", + "ãĥģ ãĤ§", + "н ÑıеÑĤÑģÑı", + "нÑı еÑĤÑģÑı", + "нÑıеÑĤ ÑģÑı", + "il tere", + "ilter e", + "ilt ere", + "Ġ íĮĢ", + "Ġí ĮĢ", + "ĠíĮ Ģ", + "è¨Ń å®ļ", + "Ġro din", + "Ġrod in", + "Ġrodi n", + "ĠاÙĤتص اد", + "алÑĮ не", + "à¥į à¤ķर", + "à¥įà¤ķ र", + "Ġvý bÄĽ", + "Ġteh lik", + "âĶ IJ", + "Ġ çͰ", + "Ïģί ÏĤ", + "iy el", + "iye l", + "Ġth iá»ĩu", + "Ġthi á»ĩu", + "ÏĪ Î·ÏĤ", + "ÏĪη ÏĤ", + "Ġд ве", + "Ġдв е", + "ĠEl ekt", + "ĠEle kt", + "à¸ģ à¸İ", + "о ÑĢÑĥж", + "оÑĢ Ñĥж", + "оÑĢÑĥ ж", + "a ÅŁÄ±", + "aÅŁ ı", + "è© ³ç´°", + "Ġات Ù쨧ÙĤ", + "Ġg ắn", + "æ²Ĵ æľī", + "ĠÙħطاÙĦ عÙĩ", + "ÏĦ ιν", + "ÏĦι ν", + "Ġok res", + "Ñ ľ", + "ê° Ķëĭ¤", + "Ðł оз", + "å¾ĭ 宾", + "ï¼ī ï¼Ī", + "Ġìļ´ìĺģ ìŀIJ", + "ãĤ« ãĥĨ", + "l aÄį", + "la Äį", + "à¥ĩब स", + "Ġo Äįi", + "ĠoÄį i", + "- б", + "e lerden", + "eler den", + "elerde n", + "k ových", + "kov ých", + "kový ch", + "Ġİz mir", + "สม าà¸Ĭ", + "lad atel", + "Ġ æ»", + "Ġæ »", + "éĶĢ åĶ®", + "ĠдоÑģлÑĸд женнÑı", + "ĠлÑĸ каÑĢ", + "ĠлÑĸка ÑĢ", + "ĠлÑĸк аÑĢ", + "Ġодна ко", + "ĠV ác", + "Ġ è«", + "Ġè «", + "é̲ è¡Į", + "以 å¤ĸ", + "é³ ¥", + "Ġ ÙĨج", + "ĠÙĨ ج", + "ĠbaÅŁ kan", + "ĠbaÅŁka n", + "ĠbaÅŁk an", + "Ġopat ÅĻenÃŃ", + "ا رش", + "ار Ø´", + "ض اÙ쨩", + "ضا Ù쨩", + "ãĤ¹ ãĥ¬", + "ή ν", + "ÄĽ tÃŃ", + "ÄĽt ÃŃ", + "ว ย", + "Ġرس ÙĪÙĦ", + "ÅĻ ich", + "ÅĻi ch", + "ĠpÅĻ ih", + "ĠpÅĻi h", + "ÑĮ ми", + "çĦ¶ èĢĮ", + "Ġth ẳng", + "l amaz", + "la maz", + "lam az", + "lama z", + "ÙĢ ÙĢÙĢ", + "ÙĢÙĢ ÙĢ", + "Ġì°¸ ìŬ", + "ĠÙĨÙĪ Ø´ØªÙĩ", + "ĠÙĨÙĪØ´ تÙĩ", + "ĠÑģÑĤ ек", + "ãģ® ãģ¿", + "ĠÙĪ Ø§ÙĦع", + "ĠÙĪØ§ÙĦ ع", + "ĠÙĪØ§ ÙĦع", + "æķ ¢", + "à¥Ģà¤Ĥ ,", + "ÐŀÑģ нов", + "им оÑģÑĤи", + "имо ÑģÑĤи", + "ĠÄĮesk á", + "ĠÄĮes ká", + "Ñĸ Ñĩний", + "ÑĸÑĩ ний", + "าม ารà¸ĸ", + "ekk ür", + "Âł h", + "ι κη", + "ικ η", + "Ġتع ÛĮÛĮÙĨ", + "к оÑģÑĤÑĸ", + "ко ÑģÑĤÑĸ", + "ĠMust afa", + "Ġì¦ ī", + "ãģ§ ãģĤãĤĬ", + "ãģ§ãģĤ ãĤĬ", + "å·¥ ä¸ļ", + "ov ÃŃd", + "ovÃŃ d", + "ÐĿ о", + "Ġس پس", + "Ġسپ س", + "Ú¯ÛĮ رد", + "Ú¯ÛĮر د", + "Ġп едагог", + "Ġ کارÛĮ", + "ĠÚ© ارÛĮ", + "Ġکار ÛĮ", + "ĠÑĪ ÑĤÑĥ", + "ĠÑĪÑĤ Ñĥ", + "æĮ Ĥ", + "Ø¢ Ùħد", + "Ø¢Ùħ د", + "羣 æĺ¯", + "Ġ ابت", + "Ġا بت", + "Ġاب ت", + "Ġرئ ÛĮس", + "Ġد ÛĮÙĨ", + "ĠدÛĮ ÙĨ", + "ÏĪ Îµ", + "Ġse zon", + "Ġsez on", + "Ġ çĨ", + "Ġç Ĩ", + "स न", + "ãĥ» ãĤ¢", + "Ġ åħŃ", + "Ġåħ Ń", + "Ġ è±", + "Ġè ±", + "Ġìłľ 목", + "ĠÙħ عد", + "ĠÙħع د", + "ĠÙģ ÙĤد", + "ĠÙģÙĤ د", + "éĤ Ĭ", + "Ω Σ", + "Ġ å¡", + "Ġå ¡", + "Ġob vyk", + "ĠìĿ´ ëłĩê²Į", + "ĠбоÑĢ Ð¾ÑĤÑĮ", + "Û² Û±", + "Ġ á»ijng", + "Ġá» ijng", + "è¯ Ĺ", + "Ġ ÄIJá»iji", + "ĠÄIJ á»iji", + "ĠбеÑĢез нÑı", + "Ġs oÄŁ", + "Ġso ÄŁ", + "Ġ ï¾į", + "Ġï¾ į", + "ãĤĴ ãģ¤", + "ãģĹ ãĤĥ", + "еÑĢ ÐµÑĩ", + "еÑĢе Ñĩ", + "ãĢĢ ãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ãĢĢãĢĢĠ ãĢĢĠãĢĢĠãĢĢ", + "æĪ ª", + "ĠاÙĦسعÙĪØ¯ ÙĬØ©", + "ĠëĤ¨ ìŀIJ", + "ĠAng iosper", + "???????? ????????", + "Ġpr ům", + "Ġprů m", + "ĠплоÑī ад", + "Ġ ÏĦÏģα", + "ĠÏĦ Ïģα", + "д аÑİÑĤ", + "да ÑİÑĤ", + "Ġsı nav", + "Ġsın av", + "Ġm ặc", + "æ°´ å¹³", + "Ġви глÑı", + "Ġвиг лÑı", + "Ġn ást", + "Ġná st", + "Ġnás t", + "ĠобÑĭ Ñĩ", + "ĠìĿ´ìķ¼ ê¸°", + "ë¹ Ľ", + "ĠB aÄŁ", + "ĠBa ÄŁ", + "ĠاÙĦØ« اÙĦØ«", + "Ġser vis", + "Ġserv is", + "Ġservi s", + "Ġ 룬", + "ĠëŁ ¬", + "ом ина", + "ί θ", + "Ġ Ấ", + "ĠẠ¤", + "ê²½ 기", + "Ġì¡ ¸", + "ี à¸ļ", + "Ġà¤ĺ à¤Łà¤¨", + "Ġ à¸Ļาà¸ĩ", + "Ġà¸Ļ าà¸ĩ", + ". Îł", + "ìķ ķ", + "r ün", + "Ġon ların", + "Ġonları n", + "Ġonlar ın", + "Ġзб ÑĸлÑĮÑĪ", + "à¹ģ à¸Ł", + "ĠìŬ 기", + "Ġ ëĮĢíijľ", + "ĠëĮĢ íijľ", + "ĠÑģи лÑĥ", + "ĠÑģил Ñĥ", + "à¹Ĥ à¸Ľ", + "Ġت ÙĤد", + "ĠتÙĤ د", + "ĠÐŁ ом", + "ĠÐŁÐ¾ м", + "ĠмаÑģ ла", + "Ġ ìĺģìĥģ", + "Ġìĺģ ìĥģ", + "н ение", + "не ние", + "нен ие", + "λα μβ", + "ĠB yl", + "ĠBy l", + "æĬ µ", + "æİ ª", + "Ġκαθ ÏİÏĤ", + "m ızı", + "æĸ° çļĦ", + "éĩį è¤ĩ", + "ั à¸Ľ", + "çŃ Ĩ", + "ĠÑĤ ка", + "ĠзнаÑĩ еннÑı", + "Ġзна ÑĩеннÑı", + "л аÑĤи", + "ла ÑĤи", + "лаÑĤ и", + "Ġv liv", + "Ġvl iv", + "ÐIJ н", + "ĠÚĨ اپ", + "ĠпиÑĤ анÑĮ", + ": ï½ī", + "æķĻ æİĪ", + "Ġì¹ľ 구", + "Ġtr ao", + "Ġtra o", + "à¥įयà¤ķ त", + "ุà¸Ħ à¸Ħล", + "ĠرÙĪ Ø´ÙĨ", + "ĠرÙĪØ´ ÙĨ", + "ĠعÙĦÙĬ Ùĩا", + "ĠعÙĦÙĬÙĩ ا", + "ãĢģ ãģĦ", + "ëħĦ ìĹIJ", + "éĢ Ĩ", + "Ġмаг аз", + "ï¾ŀ ï¾ŀ", + "Ġs ice", + "Ġsi ce", + "Ġsic e", + "âĢĻ te", + "âĢĻt e", + "ĠاÙĦÙĦ غة", + "á u", + "èĩª 身", + "Ġng Å©", + "ĠÑģк ладÑĥ", + "ĠÑģклад Ñĥ", + "Ġz ru", + "Ġtr uy", + "Ġ ilan", + "Ġi lan", + "Ġil an", + "ĠÙ¾ اÛĮÙĩ", + "ĠپاÛĮ Ùĩ", + "Ġپا ÛĮÙĩ", + ": :::::::::::::", + ":: ::::::::::::", + ":::: ::::::::::", + ":::::: ::::::::", + ":::::::: ::::::", + "::: :::::::::::", + "::::: :::::::::", + "::::::: :::::::", + "::::::::: :::::", + ":::::::::: ::::", + "::::::::::: :::", + ":::::::::::: ::", + "::::::::::::: :", + "f ak", + "fa k", + "ÑĤ еÑħ", + "ÑĤе Ñħ", + "Ġt aky", + "Ġta ky", + "Ġtak y", + "Ġìĸ¸ ìĸ´", + "ed enÃŃ", + "eden ÃŃ", + "ede nÃŃ", + "Ġà¤ļ लत", + "Ġà¤ļल त", + "Ġë°° ìļ°", + "Ġjmé no", + "ĠÙĦ Ø£ÙĨ", + "ĠÙĦØ£ ÙĨ", + "α νά", + "αν ά", + "к ÑĥлÑĮ", + "кÑĥ лÑĮ", + "кÑĥл ÑĮ", + "ĠØŃÙģ Ø¸", + "ĠآزÙħ ÙĪÙĨ", + "иÑĤелÑĮ нÑĭе", + "ĠÐŀ лекÑģанд", + "èį £", + "Ġà¤ľà¤¬ à¤ķ", + "Ġr odi", + "Ġro di", + "Ġrod i", + "Ġبرخ ÙĪØ±Ø¯", + "Ġhaf ta", + "Ġhaft a", + "λ ικά", + "λι κά", + "λικ ά", + "à¸ķ à¸Ļ", + "ĠбеÑĢ ÐµÐ³", + "αν δ", + "- С", + "Ġprav idel", + "ĠбÑĸ лÑı", + "ĠбÑĸл Ñı", + "íĴ į", + "ĠпÑĢед ÑĥÑģ", + "ĠмÑĥ ниÑĨип", + "åĮĸ åѦ", + "ĠتÙħ اس", + "Ġà¤ī ल", + "Ðĵ Ðŀ", + "غ ر", + "r adan", + "ra dan", + "rad an", + "rada n", + "ĠëĤĺ ìĺ¤", + "è¨ Ĥ", + "à¹Ģà¸ĺ à¸Ń", + "âĢĮ سÛĮ", + "âĢĮس ÛĮ", + "ĠобÑıз аÑĤелÑĮно", + "ĠобÑıзаÑĤелÑĮ но", + "о ÑĤе", + "оÑĤ е", + "à¹Į à¸Ĭ", + "ç͍ çļĦ", + "Ġalt ın", + "Ġaltı n", + "ĠÑģоÑĤ ÑĢÑĥд", + "Ñĸ нки", + "Ñĸн ки", + "озмож но", + "Î IJ", + "ë¹ Į", + " ķ", + "ĠÑĤ оÑĩно", + "ĠÑĤо Ñĩно", + "ĠÑĤоÑĩ но", + "Ġj men", + "Ġjm en", + "اÙĦ ÛĮا", + "اÙĦÛĮ ا", + "èĪ į", + "ch odu", + "cho du", + "chod u", + "ê³ ¤", + "ick ém", + "ické m", + "ĠÙħ ÙĪØ±", + "ĠÙħÙĪ Ø±", + "ãĥª ãĥ³ãĤ¯", + "ãĥªãĥ³ ãĤ¯", + "Ġa ÅŁam", + "ĠaÅŁ am", + "Ġ иÑĤ", + "Ġи ÑĤ", + "Ġन य", + "Ġ μο", + "Ġμ ο", + "éķ ľ", + "ĠبÙĨ ابر", + "ĠبÙĨا بر", + "Ġت خصص", + "Ġส à¸ŀ", + "ĠпÑĢоÑĦеÑģ Ñģи", + "Ġp uan", + "Ġpu an", + "ĠÙ쨱 ÙħاÙĨ", + "ĠÙ쨱Ùħ اÙĨ", + "ëĮĢ íļĮ", + "Ġп ÑıÑĤ", + "ĠÙħ ÙĪØ¨", + "ĠÙħÙĪ Ø¨", + "ĠvÄĽ ku", + "Ġ ëĥ", + "Ġë ĥ", + "ec ký", + "eck ý", + "ĠìĪĺ ëıĦ", + "Ġth ao", + "Ġtha o", + "Ġk apat", + "Ġka pat", + "Ġkap at", + "ĠзаÑħ воÑĢÑİ", + "Ġ åħī", + "Ġåħ ī", + "ر اÙĨÛĮ", + "راÙĨ ÛĮ", + "را ÙĨÛĮ", + "éĢł æĪIJ", + "ĠÑģв Ñĸй", + "ĠдоÑģ иÑĤÑĮ", + "Ġmil yar", + "Ġener ji", + "Ġenerj i", + "Ġк ип", + "Ġки п", + "Ġì¢ĭ ìķĦ", + "Ġب Ø¥", + "ê²Į ìĭľ", + "ĠL ưu", + "ĠÙħÙĨظ ÙĪØ±", + "Ïī μά", + "ζ ί", + "ım da", + "Ġ ìĿ´ë¥¼", + "ĠìĿ´ 를", + "๠Ĵ", + "Ġв важ", + "Ġвв аж", + "Ġga zet", + "Ġgaze t", + "Ġgaz et", + "à¥įत न", + "à¹īำ หà¸Ļ", + "åľŁ åľ°", + "Ġसद स", + "ت بة", + "تب Ø©", + "Ġpo ÄįÃŃta", + "Ġìĭľ ìĬ¤íħľ", + "ร à¸Ħ", + "Ġed ecek", + "ĠتØŃ ÙĦÛĮÙĦ", + "æĮī çħ§", + "åĿ ª", + "Ġê·¸ ê°Ģ", + "ت ÙĩÙħ", + "تÙĩ Ùħ", + "Ġб аж", + "Ġба ж", + "ا Ù쨹", + "اÙģ Ø¹", + "éĢļ 常", + "ĠТ и", + "γ νÏī", + "ì¹ Ļ", + "Ġznam ená", + "ï¼¼ ï¼¼", + "α ÏĢÏĮ", + "åĨĻ çľŁ", + "Ġ ï¼¼Ċ", + "Ġï¼¼ Ċ", + "åĬł å·¥", + "èĤ¡ä»½ æľīéĻIJåħ¬åı¸", + "Ñı ÑĤий", + "ÑıÑĤ ий", + "ÑıÑĤи й", + "Ġh âl", + "Ġç ab", + "Ġça b", + "ĠØŃ اضر", + "P ÅĻ", + "ĠاÙĦ تÙĤ", + "ĠاÙĦت ÙĤ", + "ξ ηÏĤ", + "ξη ÏĤ", + "б е", + "Ġkh ám", + "Ġkhá m", + "Ġ âĮĴ", + "Ġâ ĮĴ", + "Ġ éķ¿", + "Ġéķ ¿", + "Ġ â̦Ċ", + "Ġâ̦ Ċ", + "द म", + "ĠSt udi", + "ĠStud i", + "Ġk odu", + "Ġko du", + "Ġkod u", + "Ġkom unik", + "Ġkomun ik", + "Ġkat kı", + "n ete", + "ne te", + "net e", + "Ġr apor", + "Ġrap or", + "Ġra por", + "éĨ ´", + "ãĤī ãģĽ", + "ĠнеÑģк олÑĮ", + "Ġhá»į p", + "ï¿£  ̄ ̄", + " ̄ ̄ ï¿£", + "º ¼", + "è£ Ĥ", + "ед ÑĮ", + "Ġا ÙĦاØŃ", + "ĠاÙĦ اØŃ", + "l adık", + "la dık", + "lad ık", + "ladı k", + "Ġfot oÄŁraf", + "æĹ¥ ãģ®", + "ĠØŃ اÙĦت", + "ĠØŃاÙĦ ت", + "ĠØ« ÙĦاث", + "а ÑĤов", + "аÑĤ ов", + "аÑĤо в", + "ey se", + "Ġê°IJ ìĤ¬", + "á že", + "áž e", + "Ġн ада", + "Ġна да", + "Ġнад а", + "Ġà¤ķ हन", + "Ġà¤ķह न", + "Ġ ãĥĿ", + "Ġãĥ Ŀ", + "ãģ« ãģĤãĤĭ", + "ãģ«ãģª ãģ£ãģ¦", + "ÙĪ Ø¯Ùĩ", + "ÙĪØ¯ Ùĩ", + "Ġpo Å¡k", + "太 éĺ³åŁİ", + "ç»ı éªĮ", + "æĴŃ æĶ¾", + "Ġma jet", + "Ġmaj et", + "Ñħ о", + "ĠÑĤ еÑģÑĤ", + "ĠÑĤе ÑģÑĤ", + "ï¼ı Ċ", + "Ïĥε ÏĦε", + "ĠТ омÑĥ", + "ĠТо мÑĥ", + "ĠТом Ñĥ", + "Ùİ ØŃ", + "ĠìŀĪ ìľ¼ë©°", + "Ġза знаÑĩ", + "éļ IJ", + "Ġд ÑĸÑĹ", + "ĠдÑĸ ÑĹ", + "к ÑĤив", + "кÑĤ ив", + "кÑĤи в", + "ÙĪ ÙģÙĬ", + "ÙĪÙģ ÙĬ", + "Ġt á»Ŀ", + "Ġtá» Ŀ", + "à¸¹à¸Ľ à¹ģà¸ļà¸ļ", + "ĠÑĢ ÐµÐ´Ð°Ðº", + "ĠÑĢед ак", + "Ġa teÅŁ", + "Ġat eÅŁ", + "Ġate ÅŁ", + "Ġkh iá»ĥn", + "Ġkhi á»ĥn", + "ü ny", + "ün y", + "ี ยà¸ģ", + "ีย à¸ģ", + "ĠÑĩа Ñīе", + "Ġt uy", + "Ġtu y", + "γ Ïīν", + "γÏī ν", + "ร à¸Ńà¸ļ", + "Ġtr ùng", + "à¹ģà¸Ĺ à¸Ļ", + "Ġα κÏĮ", + "Ġακ ÏĮ", + "ĠÐĴеÑĢ Ñħов", + "à¹ĥ à¸Ļส", + "à¹ĥà¸Ļ ส", + "ãĢģ ä½ķ", + "åĩ ¦", + "Ġ ç»ı", + "Ġç» ı", + "æ¨ ĵ", + "اÙĨÚ¯ ÙĦÛĮسÛĮ", + "Ġ lepÅ¡ÃŃ", + "Ġlep Å¡ÃŃ", + "Ġ å¼Ģå§ĭ", + "Ġå¼Ģ å§ĭ", + "éĻ º", + "ĠÑĩ еÑĤÑĭ", + "ĠÑĩеÑĤ Ñĭ", + "ĠС еÑĢ", + "оÑİ Ð·", + "Ġx ung", + "Ġxu ng", + "åĵģ çīĮ", + "Ġìĥģ íĥľ", + "ĠÙĨ صب", + "ĠÙĨص ب", + "ĠÑĩ омÑĥ", + "Ġتر Ú©ÛĮ", + "Ġترک ÛĮ", + "- ли", + "o vÃŃ", + "ov ÃŃ", + "Ġا ÙĨج", + "ĠاÙĨ ج", + "çµ ¡", + "Ġت ÙĪØµ", + "ĠتÙĪ Øµ", + "Ġ ì¿ł", + "Ġì ¿ł", + "Ġvar sa", + "Ġva rsa", + "Ġvars a", + "ĠÑĢаз ÑĢабоÑĤ", + "à¸Ĥ à¸Ńà¸ĩà¸Ħ", + "à¸Ĥà¸Ńà¸ĩ à¸Ħ", + "éŃ Ĥ", + "Ġà¤Ĭ पर", + "æĿ¥ 说", + "ĠÑĨенÑĤ ÑĢалÑĮ", + "ĠÑĨенÑĤÑĢ Ð°Ð»ÑĮ", + "ĠÑĨенÑĤÑĢа лÑĮ", + "ĠTak ım", + "Ġon lar", + "Ġسر عت", + "好 åĥı", + "Ġbu á»ķi", + "ĠÐij ел", + "Âł c", + "Ø£ ت", + "à¸Ĥ à¸ĵะ", + "ãģ« åĩº", + "Ġ+ **************", + "ÏĦη κε", + "ا جر", + "اج ر", + "Ġ â̲", + "ĠâĢ ²", + "ãĥ¼ ãĥ¬", + "ãĥ¼ãĥ ¬", + "é¥ Ń", + "Ġج ÙĦس", + "ĠجÙĦ س", + "Ġب ستÙĩ", + "Ġبس تÙĩ", + "ว าà¸ĩ", + "Ġ βά", + "Ġβ ά", + "Ġа меÑĢикан", + "ĠPr emi", + "ĠPre mi", + "ĠPrem i", + "m ae", + "ma e", + "ĠÑģ ÑĢеди", + "ĠÑģÑĢед и", + "Ạł", + "Ġв ÑĢед", + "ãĢĤ èĢĮ", + "åĴ ²", + "Ġê³µ ê°ľ", + "èĤ ¥", + "з виÑĩай", + "Ġpro cent", + "Ġproc ent", + "и лоÑģÑĮ", + "ил оÑģÑĮ", + "ило ÑģÑĮ", + "श न", + "é łģ", + "éł ģ", + "е кÑĤи", + "ек ÑĤи", + "екÑĤ и", + "د اشت", + "دا شت", + "íķĻ íļĮ", + "ãĢĢ ãĢĢãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢ ãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢĠãĢĢ ĠãĢĢ", + "ĠÙħد ÙĬÙĨØ©", + "िल न", + "Ġ èĹ", + "Ġè Ĺ", + "м иÑĢ", + "ми ÑĢ", + "Ġн оÑĢ", + "Ġно ÑĢ", + "Ġ íķĺì§Ģ", + "Ġíķĺ ì§Ģ", + "в еÑī", + "ве Ñī", + "nÄĽ m", + "е ÑĢами", + "еÑĢ Ð°Ð¼Ð¸", + "еÑĢа ми", + "Ġpra cov", + "Ġprac ov", + "ĠبÙĬ اÙĨات", + "ĠÏĥ Ïįν", + "ĠÏĥÏį ν", + "Ġج ذ", + "ãģĦ ãģ§", + "ĠB ÃŃ", + "è± Ĩ", + "Ġh mot", + "Ġhm ot", + "il eceÄŁi", + "ilece ÄŁi", + "Ġت اث", + "Ġتا Ø«", + "è´ ´", + "Ġ ê¸ī", + "Ġê¸ ī", + "Ġm ysl", + "Ġmy sl", + "Ġmys l", + "ĠìĿ´ íķ´", + "Ġ기 ëĬ¥", + "ĠТ ам", + "ĠТа м", + "ĠнаÑģ елениÑı", + "ĠM ez", + "ĠMe z", + "Ġ모 르", + "íĻĶ ë¥¼", + "ĠÙĨسخ Ùĩ", + "ĠتÙĦ ÙĪÛĮزÛĮ", + "ĠÄįerv na", + "ưỠ¡ng", + "ص ØŃ", + "ĠÑĤ ÑĢен", + "ĠÑĤÑĢ ÐµÐ½", + "Õ ¡", + "Ġce lou", + "Ġcel ou", + "Å© i", + "ìĹĨ ìĿ´", + "nÃŃ ku", + "nÃŃk u", + "Ġprogram u", + "à¥į पन", + "à¥įप न", + "Ġп ÑĢеж", + "ĠпÑĢ ÐµÐ¶", + "ĠпÑĢе ж", + "ا رب", + "ار ب", + "æľŁ éĸĵ", + "Ġ μά", + "Ġμ ά", + "ëįĶ ëĭĪ", + "ụ n", + "ĠпеÑĢ ÐµÑģÑĤ", + "ĠпеÑĢе ÑģÑĤ", + "ĠпеÑĢеÑģ ÑĤ", + "对 äºİ", + "è¿IJ è¡Į", + "ĠÑĤ ан", + "ĠÑĤа н", + "Ġ ìĤ¬ìĿ´íĬ¸", + "ĠìĤ¬ ìĿ´íĬ¸", + "ĠìĤ¬ìĿ´ íĬ¸", + "ĠQu ảng", + "ĠQuản g", + "Ġst ojÃŃ", + "Ġsto jÃŃ", + "ãĥŃ ãĥ¼", + "Ú¯ ار", + "Ġе неÑĢг", + "Ġkter ým", + "Ġkterý m", + "ĠпÑĢи мÑĸ", + "ĠпÑĢим Ñĸ", + "ĠкаÑĢÑĤ и", + "ĠкаÑĢ ÑĤи", + "Ġz engin", + "Ġzen gin", + "ï¼Į åĨį", + "Ġت رب", + "Ġتر ب", + "ĠÑĨенÑĤ ÑĢ", + "ĠÑĨен ÑĤÑĢ", + "ĠsaÄŁ lamak", + "ĠsaÄŁlam ak", + "ëĭ Ŀ", + "ãģ® åŃIJ", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "Ġs Æ¡n", + "ĠsÆ¡ n", + "z ı", + "ÑĤ аки", + "ÑĤа ки", + "ÑĤак и", + "ÄĽ stÃŃ", + "ÄĽst ÃŃ", + "Ġ à¥", + "Ġà ¥", + "é ®", + "åŁ¹ è®Ń", + "Ġ ì͍", + "ĠìĶ ¨", + "Ġbel ki", + "ĠìĿ´ 벤íĬ¸", + "ëĶĶ ìĸ´", + "Ġs Ãłn", + "ни кам", + "ник ам", + "ника м", + "a lim", + "al im", + "ali m", + "対 å¿ľ", + "ĠS á»±", + "éģĵ è·¯", + "é«ĺ æ¸ħ", + "Ġd õi", + "ĠÙĦ ÙĢ", + "Ġ èĤ¡", + "ĠèĤ ¡", + "ν ι", + "âĢŀ J", + "' nde", + "'n de", + "Îij Îĵ", + "ãģ¨ ãģªãĤĭ", + "ãģ¨ãģª ãĤĭ", + "çĪ ¸", + "ع ÙĦÛĮ", + "عÙĦ ÛĮ", + "Ïģι ÏĥÏĦ", + "ÏģιÏĥ ÏĦ", + "Ġe ÄŁit", + "ĠeÄŁ it", + "Ġзов нÑĸÑĪ", + "Ġп ÑĢим", + "ĠпÑĢ Ð¸Ð¼", + "ĠпÑĢи м", + "س Ùħبر", + "سÙħ بر", + "ĠmÄĽst ÄĽ", + "ĠÏĢεÏģι ÏĥÏĥÏĮÏĦε", + "ÐIJ Ðł", + "æĦŁ åΰ", + "Ġ문 ìĦľ", + "ãģĭ ãĤĭ", + "ÙĤÙĬ ÙĤØ©", + "ÙĤÙĬÙĤ Ø©", + "Ġв ÑĤÑĢа", + "ĠвÑĤ ÑĢа", + "Ġ à¸Ńำ", + "Ġà¸Ń ำ", + "Ñģ кÑĥÑİ", + "Ñģк ÑĥÑİ", + "د ÙĩاÛĮ", + "دÙĩ اÛĮ", + "Ġİ st", + "Ġİs t", + "ĠÐĹ Ð°Ð²", + "ĠÐĹа в", + "Ġ éĥ½", + "Ġé ĥ½", + "Ġéĥ ½", + "ÑĪ ÐµÐ¼", + "ÑĪе м", + "Ġе ÑīÑij", + "ĠÐľÐ¸Ñħ ай", + "ĠÑĥпÑĢав лениÑı", + "л еннÑĭе", + "лен нÑĭе", + "ĠzaÄį al", + "æ¡ Į", + "Ġп Ñĸз", + "л ÑıÑĤÑĮÑģÑı", + "лÑı ÑĤÑĮÑģÑı", + "лÑıÑĤÑĮ ÑģÑı", + "Ġ ìŀIJë£Į", + "ĠìŀIJ ë£Į", + "ãĢĢ ãĢĢĠ", + "ãĢĢãĢĢ Ġ", + "ĠK ral", + "ĠKr al", + "ĠKra l", + "èĪ ī", + "Ġà¤Ń व", + "Ġ Ø®Ùħ", + "ĠØ® Ùħ", + "Ġа кадем", + "Ġ isten", + "Ġis ten", + "Ġi sten", + "Ġist en", + "ĠиÑģ кÑĥÑģ", + "ĠиÑģк ÑĥÑģ", + "ĠعÙĨد Ùħا", + "Ġا ÙĦاÙħ", + "ĠاÙĦ اÙħ", + "is mus", + "ism us", + "ismu s", + "Ġayr ıntı", + "Ġ Що", + "ĠЩ о", + "ĠÙĩ ÙĪØ´", + "ĠÙĩÙĪ Ø´", + "د ÙĪØ§Ø¬", + "دÙĪ Ø§Ø¬", + "л аж", + "ла ж", + "ĠÚ©ÙĨ ار", + "Âł R", + "æĢ§ çļĦ", + "Ñģ Ñĸм", + "ÑģÑĸ м", + "ĠM üz", + "ĠMü z", + "ÑĢ Ð¾Ð²Ð¸Ñĩ", + "ÑĢов иÑĩ", + "ÑĢо виÑĩ", + "Ġ Ω", + "ĠÎ ©", + "Ġìĸ´ ëĶĶ", + "س ÙħØ©", + "سÙħ Ø©", + "Ġ ÑĢÑı", + "ĠÑĢ Ñı", + "Ġt ươi", + "Ġtư Æ¡i", + "ĠÑĢаÑģ Ñħод", + "åı° çģ£", + "ĠاÙĦ ÙĪÙĤت", + "ĠاÙĦÙĪ ÙĤت", + "بر اÛĮ", + "ĠзÑĢоб иÑĤи", + "Ġб ÑĥÑĢ", + "ĠбÑĥ ÑĢ", + "ĠÄįin nosti", + "ĠÄįinnost i", + "Ġص اØŃ", + "ĠصÙĨ عت", + "ĠصÙĨع ت", + "Ġ Ø·ÙĦ", + "ĠØ· ÙĦ", + "ξ Ïį", + "ĠtisÃŃ c", + "ĠFr ansa", + "ĠFran sa", + "ì¦ ĺ", + "è» ½", + "Ñ ĺ", + "ÏĮÏĦη ÏĦαÏĤ", + "ÏĮÏĦηÏĦα ÏĤ", + "ĠM illet", + "ĠMill et", + "ĠMil let", + "ãĢĢ ãĥ¾", + "ĠпÑĢ Ð¸ÐµÐ¼", + "ĠпÑĢи ем", + "ĠترجÙħ Ùĩ", + "Ġس ÙĪØ¯", + "ĠسÙĪ Ø¯", + "ĠsouÄįást ÃŃ", + "ÐĶ Ð¾", + "Ġtr ụ", + "è¶³ çIJĥ", + "à¸Ľ à¸ģ", + "Ġu stanov", + "ÎŁ ÎĻ", + "ÎŁÎ Ļ", + "Ðŀ н", + "Ġн еж", + "Ġне ж", + "к ог", + "ко г", + "ä¸Ģ çĤ¹", + "Ġد ÙĪØ±Ø§ÙĨ", + "ĠدÙĪ Ø±Ø§ÙĨ", + "ĠدÙĪØ± اÙĨ", + "å½± éŁ¿", + "el idir", + "eli dir", + "âĢŀ N", + "es iyle", + "esi yle", + "ÑĢем енно", + "ÑĢе менно", + "Ġilet iÅŁim", + "ม à¹Ģà¸ķ", + "以 åīį", + "ãĥĭ ãĥ¼", + "鼻 話", + "à¹Ĥ à¸ŀ", + "ov ky", + "Ġза мÑĸ", + "Ġзам Ñĸ", + "Ġव à¤ķ", + " Ļ", + "ĠвÑĸй ни", + "Ġol madıģı", + "Ġolm adıģı", + "Ġolmadı ģı", + "Ġolma dıģı", + "æ¢ ģ", + "ĠТ еп", + "ĠТе п", + "nÄĽ te", + "nÄĽt e", + "èħ ķ", + "ìĤ¬ ëĬĶ", + "m amak", + "ma mak", + "mam ak", + "Ġc iz", + "Ġci z", + "æ£ Ĵ", + "Ġ ï¼ı:", + "Ġï¼ı :", + "éģĭ åĭķ", + "ĠÙĩ ÙĨا", + "ĠÙĩÙĨ ا", + "Ġ ê°ij", + "Ġê° ij", + "ĠÙĩÙĨÚ¯ اÙħ", + "ĠuÄŁ ra", + "å½ ¦", + "Ġob jekt", + "Ġobj ekt", + "ãģ¨ ãģĻãĤĭ", + "åĽ½ åĨħ", + "ĠдеÑĢжав и", + "ĠдеÑĢж ави", + "Ġ èĮ", + "Ġè Į", + "Ġulus lararası", + "Ù £", + "Ġmut lak", + "Ġз обов", + "Ġ γεν", + "Ġγ εν", + "Ġγε ν", + "à¹Ħà¸Ł à¸Ł", + "Ġözg ür", + "íĦ ¸", + "Ġвипад кÑĥ", + "Ġà¤ķ ब", + "ĠاÙĦ خط", + "ĠاÙĦØ® Ø·", + "θη καν", + "ï¼Į æĬĬ", + "ÑıÑĤ ÑĤÑı", + "Ġolmadı ģını", + "Ġolma dıģını", + "Âłk W", + "ĠnÄĽkter ých", + "ãĥĩ ãĥ«", + "æ¤į çī©", + "μι λοÏĤ", + "ÐIJÑĢ ÑħÑĸв", + "ĠТ о", + "èĸ ¬", + "ÑģÑĤв иÑı", + "Ġ Ø®ÙĪØ§Ø³Øª", + "ĠØ®ÙĪ Ø§Ø³Øª", + "олог ÑĸÑĹ", + "ÙĪ Ø§Ùĩد", + "ÙĪØ§Ùĩ د", + "ÙĪØ§ Ùĩد", + "Ġ нак", + "Ġн ак", + "Ġна к", + "ĠкоÑĤоÑĢ ÑĥÑİ", + "Ġद à¤ķ", + "âĢŀ M", + "λ ια", + "λι α", + "æŃ ²", + "第 åĽĽ", + "à¤¾à¤ľ स", + "Ġ( «", + "Ġth ẻ", + "、 Ċ", + "ç£ ģ", + "Ġ ÙĦÙĤ", + "ĠÙĦ ÙĤ", + "Ġ ìķĶ", + "Ġìķ Ķ", + "Ġн ового", + "Ġнов ого", + "ĠìķĦ 주", + "Ġ ëIJĺìĸ´", + "ĠëIJĺ ìĸ´", + "Ġo lun", + "Ġol un", + "à ¾", + "Ġkar iy", + "Ġkari y", + "ĠØŃ سب", + "ĠØŃس ب", + "ĠìĿĺ 미", + ". Ðľ", + "Ġoz naÄį", + "ÙĦ سÙĦ", + "ÙĦس ÙĦ", + "ĠÐĴ ид", + "ĠÐĴи д", + "ë¡ľ ëĤĺ", + "à¥įà¤Ł म", + "í ľ´", + "Ġbilg isayar", + "ìĿ¸ ì§Ģ", + "Ġв ов", + "Ġво в", + "nict vÃŃm", + "nictvÃŃ m", + "า à¸Ńย", + "าà¸Ń ย", + "Ġشخص ÛĮ", + "п Ñĸон", + "æľ¬ å½ĵ", + "Ġب ÙĢ", + "ĠмаÑģ ло", + "ĠPh át", + "Ġ ба", + "Ġб а", + "алÑĮ номÑĥ", + "алÑĮно мÑĥ", + "алÑĮном Ñĥ", + "社 åĮº", + "Ġ Ò", + ": ::|", + ":: :|", + "::: |", + "ê ´", + "Ġ ä¸ĥ", + "Ġä¸ ĥ", + "ĠÙĪ Ø§ÙĦد", + "ĠÙĪØ§ÙĦ د", + "ни ке", + "ник е", + "à¸Ń ลล", + "à¸Ńล ล", + "Ġyer leÅŁ", + "Ġkom bin", + "Ġkomb in", + "u Å¡", + "Ġо ÑĤÑĢи", + "ĠоÑĤ ÑĢи", + "ä¹ Į", + "iÅŁ ti", + "Ġs óng", + "Ġsó ng", + "λ ηÏĤ", + "λη ÏĤ", + "Ġк ÑĥÑĢÑģ", + "ĠкÑĥÑĢ Ñģ", + "à¹Ī าà¸Ħ", + "à¹Īา à¸Ħ", + "Ġ ÙĬس", + "ĠÙĬ س", + "Ġ داÙħ", + "Ġد اÙħ", + "çĴ° å¢ĥ", + "Ñĩ енко", + "Ñĩен ко", + "ãĢį ãģ®", + "ĠmÃŃ sta", + "ĠmÃŃst a", + "ĠÑĦ оÑĤ", + "ĠpÅĻÃŃ zn", + "ĠÑĢ Ð°Ð·Ð°", + "ĠÑĢаз а", + "ĠÑĢа за", + "ç´ «", + "lá da", + "lád a", + "ĠÑģпеÑĨи алиÑģÑĤ", + "ĠبÛĮ ÙħارÛĮ", + "ĠبÛĮÙħ ارÛĮ", + "ĠبÛĮÙħار ÛĮ", + "Ġëĵ £", + "çĭ Ĺ", + "ÙĪ ÙĪ", + "ан ÑĸÑĤ", + "анÑĸ ÑĤ", + "ĠدÙĨ باÙĦ", + "ĠÙħجÙħÙĪØ¹ Ø©", + "ÃŃ na", + "ÃŃn a", + "ĠH alk", + "ĠHa lk", + "ĠHal k", + "á jem", + "áj em", + "enÃŃ ze", + "Ġim z", + "« ng", + "Ġ ÎķÎł", + "ĠÎķ Îł", + "ĠÙħ Ùĩد", + "ĠÙħÙĩ د", + "ìľĦìĽIJ íļĮ", + "Ġìľł íĺķ", + "ाप स", + "Ġje ž", + "ан Ñĸз", + "анÑĸ з", + "иÑĤ ай", + "иÑĤа й", + "á¿ ĸ", + "ir ler", + "irl er", + "기 ê°Ħ", + "Ġ воÑĢ", + "Ġв оÑĢ", + "Ġво ÑĢ", + "Ġ Ïİ", + "ĠÏ İ", + "Ġpo zn", + "Ġpoz n", + "Ġ ساÙĨ", + "Ġس اÙĨ", + "å ¯¿", + "å¯ ¿", + "æĸ¯ çī¹", + "Ġtu rist", + "Ġtur ist", + "ĠìŀIJ ìľł", + "à¥Ģ à¤ĸ", + "μ με", + "μμ ε", + "an sı", + "ans ı", + "ìĨĮ ëħĦ", + "Ġted avi", + "Ġtedav i", + "Ñĩ еÑģÑĤва", + "Ñĩе ÑģÑĤва", + "å£ ĵ", + "о ве", + "ов е", + "ï¼Į çľĭ", + "ĠпоÑģл Ñĥг", + "ĠпоÑģ лÑĥг", + "ĠÑĤÑĢ Ð°Ð½Ñģ", + "ĠÑĤÑĢан Ñģ", + "Ġz áz", + "Ġzá z", + "æĪ ´", + "Ġм она", + "Ġмон а", + "Ġмо на", + "ิ à¹Ģà¸Ħราะห", + "ĠÙĨ ÛĮÙħ", + "ĠÙĨÛĮ Ùħ", + "ĠìĤ¬ëŀĮ ìĿ´", + "a hat", + "ah at", + "aha t", + "Ïħ κ", + "ĠоÑĤ каз", + "ĠоÑĤк аз", + "ĠÐĴолод ими", + "ĠС к", + "िà¤ķ त", + "å¦ ĸ", + "Ġëĭ¤ìļ´ ë¡ľëĵľ", + "ìĺģ ìĥģ", + "Ġन à¤Ī", + "c ete", + "ce te", + "ĠгÑĢи б", + "ĠгÑĢ Ð¸Ð±", + "ece ÄŁini", + "eceÄŁi ni", + "Ġç oÄŁu", + "ĠçoÄŁ u", + "ĠмаÑĤеÑĢи ала", + "ĠмаÑĤеÑĢиал а", + "ứ t", + "Ġz aten", + "Ġza ten", + "Ġzat en", + "ĠF RA", + "ĠFR A", + "ĠBir liÄŁi", + "Ġs itesi", + "Ġsit esi", + "Ġsite si", + "Ġsites i", + "Ġ åĶ", + "Ġå Ķ", + "ĠÐĴ ол", + "ĠÐĴо л", + "Âł PS", + "ÂłP S", + "ा लत", + "ाल त", + "Ġ баÑĩ", + "Ġб аÑĩ", + "Ġба Ñĩ", + "алÑĸ заÑĨÑĸÑĹ", + "алÑĸз аÑĨÑĸÑĹ", + "ĠS lov", + "ĠSl ov", + "ĠSlo v", + "ç³ ĸ", + "ĠговоÑĢ Ð¸ÑĤ", + "Ġв вед", + "Ġвв ед", + "ุà¸ķ à¸ļà¸Ńล", + "ãģĨ ãģ¡", + "Ġyap tık", + "Ġyaptı k", + "Ġìłķ ì¹ĺ", + "ê°ľ 를", + "à¥Ī सल", + "à¥Īस ल", + "ج ÙĬÙĦ", + "جÙĬ ÙĦ", + "ĠзаÑģÑĤоÑģ ов", + "è¿ «", + "ĠKur ul", + "ĠNas ıl", + "ĠнапÑĢÑı м", + "Ġ ä½į", + "à¹Į à¸ļ", + "Ġ éģĵ", + "Ġéģ ĵ", + "Ġни же", + "Ġниж е", + "Ġк оÑģÑĤ", + "Ġко ÑģÑĤ", + "ĠкоÑģ ÑĤ", + "ظ Ùĩر", + "ظÙĩ ر", + "Т а", + "ì§ Ŀ", + "Ġön ünde", + "ж Ñĸ", + "Ġاجر اÛĮ", + "Ġاجرا ÛĮ", + "ĠоÑĢган Ñĸв", + "ĠоÑĢганÑĸ в", + "v ise", + "vis e", + "vi se", + "Ġ ìĿĦ", + "ĠìĿ Ħ", + "à¸ķ รà¸ĩ", + "à¸ķร à¸ĩ", + "Ú©ÙĨ ÙĪÙĨ", + "Ġdlou ho", + "Ġdlouh o", + "Ðŀ ÐĿ", + "Ġ ìľ¡", + "Ġìľ ¡", + "缮 æłĩ", + "ë¯ Ģë¡ľ", + "ï¼ıï¼ıï¼ıï¼ı ï¼ıï¼ıï¼ıï¼ı", + "ĠпоÑĩ емÑĥ", + "æķħ äºĭ", + "ÑĤ еÑģÑĮ", + "ÑĤе ÑģÑĮ", + "ĠÙĤ ÙĦب", + "ĠÙĤÙĦ ب", + "Ġت جÙĩ", + "Ġتج Ùĩ", + "i lendir", + "il endir", + "ilen dir", + "Ġи гÑĢа", + "Ġиг ÑĢа", + "ĠÐĶ Ð¾Ð½", + "ĠÐĶо н", + "ĠpÅĻÃŃ jem", + "è¦ Ĩ", + "С п", + "- ни", + "on se", + "ons e", + "и ной", + "ин ой", + "о Ñĩного", + "оÑĩ ного", + "оÑĩно го", + "ا ساÙĨ", + "اس اÙĨ", + "ĠполÑĥÑĩ иÑĤÑĮ", + "ĠполÑĥ ÑĩиÑĤÑĮ", + "ÑĤ ап", + "ÑĤа п", + "ĠL ý", + "ĠÃĤ u", + "Ġh üc", + "e bek", + "eb ek", + "ebe k", + "ĠY ayın", + "æĹ ĭ", + "ัà¸Ļ à¸Ĺร", + "ัà¸Ļà¸Ĺ ร", + "Ġвикон ав", + "Ġвико нав", + "Ġs ông", + "à¥ģ à¤ľ", + "à¥ģठľ", + "ĠÐĹ Ð°Ð³", + "ĠÐĹа г", + "¤ ëĭ¤", + "Ġc Å©", + "ĠÚ¯ رÙħ", + "Ġگر Ùħ", + "ä¼ ı", + "ãģ« ãģĻãĤĭ", + "- Ф", + "Ġ ÙĤÙħ", + "ĠÙĤ Ùħ", + "Ġo lacaÄŁ", + "Ġol acaÄŁ", + "æĿ¥ äºĨ", + "æĭĽ èģĺ", + "ĠÐĿаÑģ еленнÑı", + "Ġ ìĺģìĸ´", + "Ġìĺģ ìĸ´", + "Ġ æŃ¤", + "ĠæŃ ¤", + "Ġب دÙĨ", + "Ġبد ÙĨ", + "Û² Û¸", + "оÑĢ Ð°ÑĤив", + "оÑĢа ÑĤив", + "ï¼ ³", + "Ġneby lo", + "Ġnebyl o", + "ĠÑĥ ÑĩиÑĤ", + "ĠÑĥÑĩ иÑĤ", + "æĿ ľ", + "Ġд анÑĸ", + "Ġда нÑĸ", + "Ġдан Ñĸ", + "Ġsp otÅĻeb", + "Ġspot ÅĻeb", + "ãĥ¼ ãĥĨãĤ£", + "ãĥ¼ãĥĨ ãĤ£", + "ен нÑĥÑİ", + "ê¹Į ìļĶ", + "v em", + "ve m", + "P ÅĻÃŃ", + "PÅĻ ÃŃ", + "Ġy andan", + "Ġyan dan", + "é¼ ĵ", + "Ġدست ÙĪØ±", + "Ġدس تÙĪØ±", + "Ġhaf if", + "h ů", + "Ġv áž", + "Ġvá ž", + "ĠìķĦ ì§ģ", + "Ùı ر", + "Ġ ла", + "Ġл а", + "ëł ī", + "า à¸Ľà¸£à¸°", + "à¸²à¸Ľ ระ", + "lık lar", + "lıkla r", + "ĠÑģÑĤанд аÑĢÑĤ", + "à¸Ń à¹ĥห", + "å¥ ´", + "ĠоÑĤ п", + "âĪ ł", + "ãĥ¼ ãĥĢ", + "ãĥ¼ãĥ Ģ", + "ch áze", + "cház e", + "Ġê·¸ ëłĩê²Į", + "Ġê·¸ëłĩ ê²Į", + "os tel", + "ost el", + "oste l", + "Ġгал Ñĥз", + "â k", + "еÑĨ ÑĤ", + "ëŀij ìĬ¤", + "ĠÄį ist", + "ĠÄįi st", + "ÑĢ Ð°Ð½Ð°", + "ÑĢа на", + "ÑĢан а", + "Ġv ững", + "Ġvữ ng", + "Ġs eni", + "Ġse ni", + "Ġsen i", + "Ġg óc", + "Ġgó c", + "ÏĨ ÏĮ", + "á nu", + "án u", + "Ġ öt", + "Ġö t", + "Ġs óc", + "Ġsó c", + "ãģĦ ãģ®", + "ĠÑģк лада", + "ĠÑģклад а", + "ÐIJÑĢÑħÑĸв овано", + "ĠìĿ´ ë²Ī", + "ãĤ¹ ãģ®", + "il ebilir", + "ile bilir", + "ï½Ģ ãĥ½", + "ีย à¸į", + "Ġκα á½¶", + "Ġë ¯¿", + "æĽ´ å¤ļ", + "ıs ının", + "ısını n", + "ĠGi ám", + "ĠGiá m", + "æŃ£ å¼ı", + "Ïĥ μÏĮ", + "Ïĥμ ÏĮ", + "Ġarch it", + "Ġarc hit", + "Ġ ï½²", + "Ġï½ ²", + "Ñĩ аÑİÑĤÑģÑı", + "Ñĩа ÑİÑĤÑģÑı", + "ÑĩаÑİÑĤ ÑģÑı", + "ë²Ħ ì§Ģ", + "ãĤ¤ ãĥ¤", + "é«ĺ æł¡", + "è¨ ³", + "ĠÙħ ÛĮÚ©", + "ĠÙħÛĮ Ú©", + "Ġ æĥħ", + "Ġæĥ ħ", + "Ġ pha", + "Ġp ha", + "Ġph a", + "太 éĥİ", + "à¸ŀระ ราà¸Ĭ", + "ÙĤ ÙĬØ©", + "ÙĤÙĬ Ø©", + "ĠÑĥ лÑĥÑĩ", + "ĠÑĥл ÑĥÑĩ", + "ÑģÑĤв ÑĥеÑĤ", + "ÑģÑĤвÑĥ еÑĤ", + "Ġk eÅŁ", + "Ġke ÅŁ", + "é«ĺ çŃī", + "Ġs Ỽm", + "Ïģ κε", + "Ïģκ ε", + "μ οÏģ", + "μο Ïģ", + "Ġzá stup", + "o zÃŃ", + "oz ÃŃ", + "Ġm ili", + "Ġmil i", + "Ġmi li", + "Ġмог ли", + "Ġз ÑĢозÑĥм", + "Ġباش ÛĮد", + "Ġak ci", + "Ġд ÑĢа", + "ĠдÑĢ Ð°", + "Ġα Ïģι", + "ĠαÏģ ι", + "ãģĭ ãĤīãģ®", + "ãģĭãĤī ãģ®", + "å¯ Ĵ", + "ĠZ aman", + "ĠZa man", + "ĠZam an", + "ĠÑĸ де", + "ĠÑĸд е", + "Ġ ãĢĢĠ", + "ĠãĢĢ Ġ", + "Ġk lu", + "Ġkl u", + "ak lı", + "à¥ĩ à¤ļ", + "à¥ĩठļ", + "ĠÑģвоб од", + "س اÙħ", + "Ġ ов", + "Ġо в", + "Ġu byt", + "Ġub yt", + "éĩĩ ç͍", + "Ġdavran Ä±ÅŁ", + "ĠnabÃŃ zÃŃ", + "ĠÐij Ñĥд", + "Ġ Ïī", + "ĠÏ ī", + "ĠاÙĦ رØŃ", + "ĠاÙĦر ØŃ", + "ั à¸ķà¸Ļ", + "ัà¸ķ à¸Ļ", + "и ме", + "им е", + "Ġت ÙĦÙĥ", + "ĠتÙĦ Ùĥ", + "ت Ùħع", + "تÙħ ع", + "Ġад миниÑģÑĤÑĢа", + "Ġzor unda", + "Ġzorun da", + "ĠÙĨ سبة", + "ĠÙĨسب Ø©", + "ĠÙĨس بة", + "ĠصÙĨع تÛĮ", + "ĠصÙĨعت ÛĮ", + "ĠÑĦÑĥн да", + "éı ¡", + "Ġpo tom", + "Ġpot om", + "Ġп ÑĢеÑģÑĤ", + "ĠпÑĢ ÐµÑģÑĤ", + "ĠпÑĢе ÑģÑĤ", + "ĠпÑĢеÑģ ÑĤ", + "Ġsı rada", + "Ġsır ada", + "Ġsıra da", + "Ġ ayar", + "Ġa yar", + "Ġay ar", + "ا ÙĤÙĦ", + "اÙĤ ÙĦ", + "æº ª", + "ĠØ¢ÙĤ اÛĮ", + "ĠпеÑĢе Ñħод", + "ĠпÑĢакÑĤи ÑĩеÑģки", + "é» ĥ", + "ĠÑĥ Ñħод", + "ĠÑĥÑħ од", + "ĠÙħ تÙģ", + "ĠÙħت Ùģ", + "Ġsiyas i", + "Ġпо ÑĤен", + "ĠпоÑĤ ен", + "Ùİ Ùģ", + "ĠÐĽ Ñĥ", + "ĠконÑĤÑĢ Ð¾Ð»ÑĮ", + "ĠÑģказ аÑĤÑĮ", + "à¥Ģ à¤ķरण", + "à¥Ģà¤ķ रण", + "åħ¨ çIJĥ", + "Û² Û¶", + "Ġt oto", + "Ġto to", + "Ġtot o", + "Ġ ÙĪØ¯", + "ĠÙĪ Ø¯", + "ãĤ¿ãĤ¤ ãĥĹ", + "åľ į", + "å¼ķ ç͍", + "ï¼ £", + "èĬ ¸", + "ä»ĭ ç»į", + "ĠÑĤеÑĢÑĢиÑĤоÑĢ Ð¸Ð¸", + "æĹ¥ ãģ«", + "m ÃŃt", + "mÃŃ t", + "am ız", + "amı z", + "ìĿ´ ìĸ´", + "Ġyar Ä±ÅŁ", + "Ġyarı ÅŁ", + "Ġg üc", + "Ġgü c", + "Ġ Ïĩα", + "ĠÏĩ α", + "ัà¸Ļย ายà¸Ļ", + "ãĤĴ è¡Į", + "Ġm illi", + "Ġmill i", + "Ġmil li", + "Ġmi lli", + "Ġ çı¾", + "Ġçı ¾", + "K dyž", + "m azon", + "ma zon", + "maz on", + "ë³´ ëĤ´ê¸°", + "ĠÑĤÑĢÑĥ дов", + "ĠÑĤÑĢÑĥд ов", + "é£ ¾", + "Ġви ник", + "Ġвин ик", + "ĠÙĪØ² ارت", + "ĠÙĪØ²Ø§Ø± ت", + "éĩĮ çļĦ", + "м аз", + "ма з", + "ĠR US", + "ĠRU S", + "е кÑĤÑĥ", + "ек ÑĤÑĥ", + "екÑĤ Ñĥ", + "Ġع اش", + "Ġk once", + "Ġko nce", + "Ġkon ce", + "ãĤĪãģĨ ãģ§ãģĻ", + "Ġмал ÑĭÑĪ", + "m eni", + "me ni", + "men i", + "е Ñģа", + "еÑģ а", + "ا ضÛĮ", + "اض ÛĮ", + "Ġb rat", + "Ġbr at", + "Ġbra t", + "ĠвÑĸд ноÑģ", + "θ εÏģ", + "θε Ïģ", + "ĠЧ ем", + "æij ĩ", + "ĠÙħ ادر", + "ĠÙħا در", + "ĠÙħاد ر", + "ç͍ åĵģ", + "ĠÙħØŃ اÙ쨏", + "Ġm yÅ¡", + "Ġmy Å¡", + "ج ع", + "Ġis im", + "Ġi sim", + "Ġisi m", + "æ³ Ĭ", + "ıl maz", + "ĠÎĽ α", + "å¯ ©", + "Ġay ır", + "е ними", + "ен ими", + "ени ми", + "еним и", + "à¥ĩह तर", + "åľ Ĩ", + "ãģ¾ ãģ£ãģŁ", + "çĶ¢ åĵģ", + "ĠÑĸнÑĦоÑĢма ÑĨÑĸÑĹ", + "Ġt á»§", + "Ġtá» §", + "สม à¸ļ", + "Ġst ÅĻ", + "Ġë°ľ íijľ", + "а ÑĢÑĮ", + "аÑĢ ÑĮ", + "ĠC ao", + "ĠCa o", + "Ρ ÎĻ", + "à¸ģาร à¸Ī", + "Ġпод Ñĥм", + "ä»ķ äºĭ", + "ĠÐļ ÑĢоме", + "Ġ ìĹĶ", + "ĠìĹ Ķ", + "Ġ Ñĥда", + "ĠÑĥ да", + "ĠÑĥд а", + "ĠавÑĤом аÑĤи", + "Ġ à¸Ħà¸ĵะ", + "Ġà¸Ħ à¸ĵะ", + "ĠK iÅŁ", + "ĠKi ÅŁ", + "ĠÑģоÑģÑĤоÑı ние", + "l isi", + "li si", + "lis i", + "Ġëĸ ¨ìĸ´", + "oot ball", + "Ġ íį¼", + "Ġí į¼", + "Ġ лим", + "Ġл им", + "Ġли м", + "Ġç erç", + "ÙĪÙĦ ÙĬÙĪ", + "ÙĪÙĦÙĬ ÙĪ", + "Ġs lož", + "Ġsl ož", + "Ġslo ž", + "Ġ 먼", + "Ġë¨ ¼", + "ร à¸Ńà¸ĩ", + "ÑĪ ÐµÐµ", + "ÑĪе е", + "â̦â̦â̦â̦â̦â̦â̦â̦ â̦â̦â̦â̦â̦â̦â̦â̦", + "ãģĵ ãģ¡ãĤī", + "о ÑĢÑĭ", + "оÑĢ Ñĭ", + "çĥ Ł", + "Âł F", + "а ного", + "ан ого", + "ано го", + "Ø« ÛĮر", + "çı į", + "å¸Ĥ åł´", + "vÄĽ dom", + "vÄĽd om", + "ì² ¨ë¶Ģ", + "ĠìĤ¬ ê±´", + "ï¾ Į", + "à¹ĥ à¸Ļว", + "à¹ĥà¸Ļ ว", + "Ġzvlá Å¡t", + "ÏĦ εÏħ", + "ÏĦε Ïħ", + "Ġкак ие", + "Ġка кие", + "ÏĨοÏģ ά", + "ÏĨο Ïģά", + "åĦ Ħ", + "Ġzp ÄĽt", + "íķľ íħĮ", + "Ġz vol", + "Ġzv ol", + "Ġ çĹ", + "Ġç Ĺ", + "ÑĢа нениÑı", + "ÑĢан ениÑı", + "ĠسÛĮ است", + "ĠÐļ оли", + "ĠÐļол и", + "ĠÐļо ли", + "ĠоÑĢганиз ма", + "ĠоÑĢганизм а", + "ĠÑıнва ÑĢÑı", + "Ġد ادÙĨ", + "Ġداد ÙĨ", + "п ÑĢа", + "пÑĢ Ð°", + "ï¼Į ä»ĸ们", + "ï¼Įä»ĸ 们", + "æijĺ è¦ģ", + "Ġqu ần", + "ÙĬ ÙĪÙĨ", + "ÙĬÙĪ ÙĨ", + "Ġви Ñħов", + "Âł à¹Ģà¸Ķ", + "Ġ елем", + "Ġе лем", + "eb ilecek", + "Ġд оÑĩ", + "Ġдо Ñĩ", + "Ġб лаг", + "Ġбл аг", + "Ġбла г", + "ĠÑı й", + "ad nÃŃ", + "Ġzá roveÅĪ", + "en stvÃŃ", + "âĢĮ اÙĨ", + "ãģķãĤĵ ãģ¯", + "/ |", + "ĠاÙĦع اÙħØ©", + "ĠاÙĦعاÙħ Ø©", + "éł ¼", + "Ġخدا ÙĪÙĨد", + "Ġخد اÙĪÙĨد", + "н ам", + "на м", + "ĠÑģ лиз", + "ĠÑģл из", + "æ¶ ī", + "ร ษ", + "e ÅŁtir", + "eÅŁ tir", + "ĠÙĨ دار", + "ĠÙĨد ار", + "ร าà¸Ħ", + "è¨Ģ ãĤı", + "Ġ èŃ", + "Ġè Ń", + "Ġк ÑĢиÑĤ", + "ĠкÑĢи ÑĤ", + "ĠвоздÑĥ Ñħа", + "ĠвоздÑĥÑħ а", + "Ġà¤Ĺ त", + "Ġprá vo", + "Ġpráv o", + "à¥ĭष ण", + "Ġs ắp", + "íı Ń", + "Ġص رÙģ", + "ĠراÛĮ گاÙĨ", + "ĠоÑĤ к", + "ëĨ ĵ", + "ĠÑģек ÑĢеÑĤ", + "İ n", + "on avir", + "ona vir", + "ĠV ys", + "ĠVy s", + "ĠbaÅŁ lat", + "ĠMu ham", + "ĠлиÑģÑĤ оп", + "ĠT icaret", + "ĠTi caret", + "ĠTic aret", + "Ġad landır", + "ĠÐĶ Ð¼Ð¸ÑĤ", + "Ïĥμ οÏį", + "Ïĥμο Ïį", + "ä¾ µ", + "ìĭľ ëĬĶ", + "à¹ģà¸Ľ ลà¸ĩ", + "ın ıza", + "ını za", + "ınız a", + "- г", + "и ÑĩноÑĹ", + "иÑĩ ноÑĹ", + "иÑĩно ÑĹ", + "Ñĥ ÑĢи", + "ÑĥÑĢ Ð¸", + "U Z", + "ìĽ ł", + "Ġتبد ÛĮÙĦ", + "æ º«", + "æº «", + "ĠÑĢам каÑħ", + "Ġn ét", + "Ġné t", + "æ² ¿", + "Ġroz Å¡ÃŃ", + "Ġस प", + "ĠÑĤак е", + "ĠÑĤа ке", + "ÑĢ Ð°Ñĩ", + "ÑĢа Ñĩ", + "ĠاÙĦ ÙĤد", + "ĠاÙĦÙĤ د", + "íķĻ ê³¼", + "Ñĥв аннÑıм", + "ÑĥваннÑı м", + "Ġm ám", + "Ġmá m", + "ë¡ ¯", + "á½ IJ", + "Ġet kili", + "Ġetk ili", + "Ġetkil i", + "Ġetki li", + "Ġار تÙģ", + "Ġtechn olog", + "Ġtechno log", + "Ġ ì½ĺ", + "Ġì½ ĺ", + "Ġت ÙĥÙĬÙĬÙģ", + "ĠpÅĻ ece", + "ĠpÅĻe ce", + "å®¶ åºŃ", + "Ġ ãģı", + "âĶ ´", + "íģ ¼", + "ĠÎľ ά", + "à¹Ģ à¸ķร", + "à¹Ģà¸ķ ร", + "ĠÑģÑĤанов иÑĤÑģÑı", + "ç«ĭ ãģ¡", + "Ġ éĸĭ", + "Ġéĸ ĭ", + "Ġİ yi", + "ĠnÄĽkter é", + "ĠÑĢоб оÑĤ", + "ĠÄIJ ưá»Ŀng", + "ĠاÙĦ اج", + "Ġsp eci", + "Ġspec i", + "Ġspe ci", + "çī¹ åĪ«", + "åŃ Ŀ", + "âĢĮ گذ", + "âĢĮÚ¯ ذ", + "a lıģı", + "al ıģı", + "alı ģı", + "Ġм иÑĢа", + "Ġми ÑĢа", + "ĠмиÑĢ Ð°", + "í İĺìĿ´ì§Ģ", + "íİĺ ìĿ´ì§Ģ", + "Ø® Ùģ", + "ãĤª ãĥª", + "Ġس ÛĮÙħ", + "ĠسÛĮ Ùħ", + "Ġìĸ´ ëĬIJ", + "алÑĮ нÑĥ", + "Ñĩ ний", + "ümüz de", + "æĻº èĥ½", + "ý n", + "ĠتÙĤÙĪ ÛĮت", + "Ġп ÑĢиг", + "ĠпÑĢ Ð¸Ð³", + "ĠпÑĢи г", + "ĠгÑĢÑĥпп Ñĭ", + "am ı", + "γ οÏį", + "γο Ïį", + "оÑĢ ÑĤÑĥ", + "оÑĢÑĤ Ñĥ", + "ĠG iang", + "ĠGi ang", + "ĠGian g", + "ĠGia ng", + "ÅĻ en", + "ÅĻe n", + "Ġokol ÃŃ", + "产 ä¸ļ", + "Ġ зм", + "Ġз м", + "Ġ é¾", + "Ġé ¾", + "ÙĬ ار", + "ÙĬا ر", + "ĠاÙĦØ´ÙĬ Ø®", + "иÑĤелÑĮ нÑĭй", + "Ġ اÙĩÙħ", + "Ġا ÙĩÙħ", + "ĠاÙĩ Ùħ", + "ĠباÙĦ رÙĬاض", + "ĠÙ¾ÛĮ اÙħ", + "Ġk redi", + "Ġkr edi", + "Ġkre di", + "Ġkred i", + "ĠA rap", + "ĠAr ap", + "ĠAra p", + "Ġ ÑĢаб", + "ĠÑĢ Ð°Ð±", + "ĠÑĢаР±", + "ĠÑĢа б", + "ĠнекоÑĤоÑĢ ÑĭÑħ", + "ĠØŃاÙ쨏 Ùĩ", + "иÑĤелÑĮ ного", + "иÑĤелÑĮно го", + "Ġgerek mektedir", + "ĠD eniz", + "ĠDen iz", + "ĠتÙĦ اش", + "st agram", + "sta gram", + "stag ram", + "áv ky", + "åĬł åħ¥", + "oz or", + "ozo r", + "Ġdurum unda", + "Ġdurumu nda", + "Ġíıī ëĭ¹", + "Ġ ë´ī", + "Ġë´ ī", + "Ġp enÄĽ", + "Ġpe nÄĽ", + "Ġpen ÄĽ", + "Ú¯ اÙĨÛĮ", + "گاÙĨ ÛĮ", + "ĠK up", + "ĠKu p", + "Ġ ÑĨеÑĢ", + "ĠÑĨ еÑĢ", + "ĠÑĨе ÑĢ", + "ul ması", + "âij ł", + "ĠÑģÑĸÑĩ нÑı", + "ım ıza", + "ımız a", + "ımı za", + "å®ļ çļĦ", + "Âł ÑĤ", + "åĬŀ åħ¬", + "ìľ¼ ëĭĪ", + "ĠاÙĦ Ø¥ÙĨ", + "ĠاÙĦØ¥ ÙĨ", + "Ġ çĥ", + "Ġç ĥ", + "ãĢį ï¼Į", + "ÑĹ Ð½Ð°", + "ĠпÑĢигоÑĤов лениÑı", + "Ð ħ", + "ĠÑģ олн", + "ĠÑģол н", + "Ġë¶Ģ ìĤ°", + "æħ ¶", + "ãĤ ¾", + "v oje", + "vo je", + "voj e", + "ÛĮ دÙĨ", + "ÛĮد ÙĨ", + "ìĥĿ ëĭĺ", + "ç¹ ģ", + "á du", + "ád u", + ": ::::::::::::::", + ":: :::::::::::::", + ":::: :::::::::::", + ":::::: :::::::::", + ":::::::: :::::::", + "::: ::::::::::::", + "::::: ::::::::::", + "::::::: ::::::::", + "::::::::: ::::::", + ":::::::::: :::::", + "::::::::::: ::::", + ":::::::::::: :::", + "::::::::::::: ::", + ":::::::::::::: :", + "س ÙĨÚ¯", + "سÙĨ Ú¯", + "éĶ ĭ", + "Ġ звиÑĩай", + "Ġз виÑĩай", + "å§Ķåijĺ ä¼ļ", + "ĠμÎŃ Ïĥα", + "ĠÑĢ Ð¾Ð¶Ð´ÐµÐ½Ð¸Ñı", + "æĪIJ 人", + "Ġ dÃŃl", + "Ġd ÃŃl", + "ĠdÃŃ l", + "ĠÐĶ Ð¾Ð±", + "ĠÐĶо б", + "Ġ à¹ĥà¸Ĭ", + "ÏĢ Î¯", + "g amber", + "gam ber", + "ĠÙĪÛĮÚĺ Ú¯ÛĮ", + "Ġ èĬ±", + "ĠèĬ ±", + "Ġb Ãły", + "ĠbÃł y", + "ĠжовÑĤ нÑı", + "åħ¬ å¼Ģ", + "ĠÑĤ оÑĩки", + "ĠÑĤо Ñĩки", + "ĠÑĤоÑĩ ки", + "ãģĤ ãģ®", + "а лÑĸв", + "ал Ñĸв", + "алÑĸ в", + "Ġch arakter", + "Ġchar akter", + "ĠÎĴ α", + "Ġzku Å¡en", + "Ġà¤Ńà¤Ĺ व", + "Ñĩ ика", + "Ñĩи ка", + "Ñĩик а", + "à¥Ģà¤Ĥ ।", + "è£ ı", + "åijĬ è¯ī", + "iy atı", + "iya tı", + "iyat ı", + "ĠÑĨ елÑĮ", + "ĠÑĨе лÑĮ", + "ĠÑĨел ÑĮ", + "Ġ ìĬĪ", + "ĠìĬ Ī", + "а ÑĢд", + "аÑĢ Ð´", + "ĠÃľl ke", + "Ġpro since", + "Ġpros ince", + "ĠÙĨ گاÙĩ", + "ĠÙĨÚ¯ اÙĩ", + "ãĢĮ ãģĬ", + "ÎŁ Τ", + "ÎŁÎ ¤", + "ìĦľ ëĬĶ", + "ÙĪ Ú¯Ø±", + "ض اÙĨ", + "ضا ÙĨ", + "Ġdů sled", + "çIJ ´", + "à¸ķำ à¹ģหà¸Ļ", + "к ÑĤÑĸв", + "кÑĤ Ñĸв", + "lád á", + "á¿ Ĩ", + "ĠD oÄŁu", + "ĠDo ÄŁu", + "ĠDoÄŁ u", + "ãģij ãĤĮãģ°", + "缮 ãĤĴ", + "Ġ 缴", + "ĠçĽ ´", + "æ Ľ°", + "æĽ °", + "ĠвÑĤоÑĢ Ð¾Ð¹", + "Ġг лÑĥ", + "ĠìĿ ½", + "기 ì¤Ģ", + "Ġma dde", + "Ġmad de", + "Ġmadd e", + "Ġjed né", + "Ġjedn é", + "Ġо ÑĦÑĸ", + "ìĭĿ ìĿĦ", + "Ġch út", + "Ġchú t", + "åĩº ãģĹãģŁ", + "åĩºãģĹ ãģŁ", + "и ÑĩеÑģкаÑı", + "иÑĩеÑģ каÑı", + "Ġ лок", + "Ġл ок", + "Ġal tı", + "Ġalt ı", + "ëĵľ ëĬĶ", + "ey gamber", + "ĠÑģв ое", + "ĠÑģво е", + "ĠtaÅŁ ım", + "ĠÑĤо Ñīо", + "Ġgeç ti", + "Ġpr emi", + "Ġpre mi", + "Ġprem i", + "ĠMeh met", + "ï¼Į åĽłæŃ¤", + "ï¼ĮåĽł æŃ¤", + "ί κη", + "ίκ η", + "Ġönce ki", + "Ġönc eki", + "Ġ à¤ķन", + "Ġà¤ķ न", + "ĠÑĤемп еÑĢаÑĤÑĥÑĢа", + "ĠÑĤемпеÑĢаÑĤÑĥ ÑĢа", + "éĺ ´", + "Ġìĸ¼ ë§Ī", + "Ø´ ب", + "á ky", + "ák y", + "ãĢĢ V", + "воÑĢ ÐµÐ½Ð½Ñı", + "l asyon", + "las yon", + "Ġд оказ", + "Ġдо каз", + "Ġдок аз", + "Ġëľ »", + "Ġоб лиÑĩ", + "Ġобл иÑĩ", + "ÎĻ ÎijÎļ", + "ÎĻÎij Îļ", + "Ġ ÑĢазд", + "ĠÑĢаз д", + "ĠÑĢа зд", + "ï¼Į 为", + "å® ½", + "Ġk orum", + "Ġko rum", + "Ġkor um", + "åķĬ åķĬ", + "ĠÅĻe kla", + "ĠÅĻekl a", + "ĠÅĻek la", + "ãĥĹ ãĥ¬", + "Ġв аÑĢÑĤ", + "ĠваÑĢ ÑĤ", + "ĠпÑĢоблем Ñĭ", + "Ġ ä½ł", + "Ġth Æ¡m", + "Ġta kové", + "Ġtak ové", + "Ġtako vé", + "л енÑĭ", + "лен Ñĭ", + "ле нÑĭ", + "Ġ åζ", + "ĠåĪ ¶", + "Ġji ných", + "Ġjin ých", + "Ġjiný ch", + "ĠÙĨ ص", + "ĠгÑĢÑĥд нÑı", + "Ġ ãģĹ", + "иÑĤелÑĮ ной", + "иÑĤелÑĮно й", + "ĠاØŃ تÙħ", + "Ñİ ÑĢ", + "ÏĨ Ïħ", + "Ġ Ø´ÙħاÙĦÛĮ", + "ĠØ´Ùħ اÙĦÛĮ", + "ĠØ´Ùħا ÙĦÛĮ", + "ĠØ´ÙħاÙĦ ÛĮ", + "Ġ ì»´", + "Ġì» ´", + "acaÄŁ ız", + "acaģı z", + "ì§Ģ ë§ī", + "ĠÑĦин анÑģов", + "Ġ ê·¹", + "Ġê· ¹", + "ĠÚĨ ÛĮزÛĮ", + "ĠÚĨÛĮز ÛĮ", + "à¥Ģ à¤Ľ", + "ص ات", + "ान म", + "Ġв озможно", + "Ġвозмож но", + "è¨ İ", + "çĦ ¦", + "ĠاÙĦبÙĦ د", + "Ġ çͳåįļ", + "ç¥ ¥", + "Ġë°Ķ ëĿ¼", + "Ú¯ ÛĮر", + "Ú¯ÛĮ ر", + "Ûµ Û°", + "μι οÏħÏģγ", + "ĠpÅĻed sed", + "ç»ı èIJ¥", + "å§ ij", + "e mey", + "em ey", + "eme y", + "ĠÙĨ ÙĪÙģ", + "ĠÙĨÙĪ Ùģ", + "å¾ ½", + "Ġprá va", + "Ġpráv a", + "Ġво обÑīе", + "Ġ íĭ°", + "Ġíĭ °", + "Ġب Ø£ÙĨ", + "Ġبأ ÙĨ", + "ĠFr anti", + "ĠFran ti", + "ĠP aÅŁa", + "ĠPa ÅŁa", + "ĠÙ¾ ست", + "Ġپس ت", + "k ân", + "ĠÑģиг н", + "Ġd ần", + "æ IJľ", + "æIJ ľ", + "Ġr oky", + "Ġro ky", + "Ġrok y", + "Ùĥ ÙĪØ±", + "ÙĥÙĪ Ø±", + "ĠÎĶ Î®", + "али заÑĨии", + "ализ аÑĨии", + "ализа ÑĨии", + "ä¼ł å¥ĩ", + "ı da", + "lÃŃ b", + "ĠÑĢÑĸв нÑı", + "Ġн оÑı", + "Ġно Ñı", + "bÄĽ hu", + "bÄĽh u", + "ิà¸ĩห าà¸Ħม", + "ï¼Į åį´", + "Ġ ÑĩеÑģ", + "ĠÑĩ еÑģ", + "lan mÄ±ÅŁtır", + "lanmÄ±ÅŁ tır", + "Ġ Æ°á»Ľc", + "áv acÃŃ", + "ีฬ า", + "δ ÎŃ", + "âĢĮØ´ ÙĪÙĨد", + "Ġ ÑĢобÑĸÑĤ", + "ĠÑĢоб ÑĸÑĤ", + "Ġ å·´", + "Ġå· ´", + "ĠM ev", + "ĠMe v", + "ĠÙħرØŃ ÙĦÙĩ", + "Ġвз ÑĢоÑģ", + "ç½ ļ", + "Ġب اÙĦÙħ", + "Ġبا ÙĦÙħ", + "ĠباÙĦ Ùħ", + "Ġиз гоÑĤов", + "ĠS por", + "ĠSp or", + "ĠSpo r", + "åĦ Ģ", + "ĠاÙĦ Ø£ÙĨ", + "ĠاÙĦØ£ ÙĨ", + "à¹Īา à¸ĩà¸ģ", + "à¹Īาà¸ĩ à¸ģ", + "л аÑģÑĤи", + "ла ÑģÑĤи", + "лаÑģ ÑĤи", + "ÎŁ Îļ", + "ÎŁÎ ļ", + "Ġ Ú©ÛĮ", + "ĠÚ© ÛĮ", + "åij½ 令", + "ØŃ دث", + "ØŃد Ø«", + "ÙĬ ÙĥÙĬ", + "ÙĬÙĥ ÙĬ", + "ĠпеÑĢв Ñĭй", + "ãĤ¹ ãĤ³", + "ĠÅ¡ pat", + "ĠÅ¡p at", + "Ġnik do", + "ั à¸ĩม", + "ัà¸ĩ ม", + "èµ «", + "æĺ ¨", + "Ġв Ñĥли", + "ĠвÑĥл и", + "ĠÐļ а", + "à¹Ī ละ", + "Ġsa mot", + "Ġsam ot", + "Ġsamo t", + "ĠобеÑģп е", + "ĠÙħعرÙģ ÛĮ", + "ĠÙħØŃصÙĪÙĦ ات", + "в анов", + "ва нов", + "ван ов", + "вано в", + "ĠÙħستÙĤ ÛĮÙħ", + "å¢ Ļ", + "Âł Ðļ", + "Ġд оÑĤ", + "Ġдо ÑĤ", + "z im", + "zi m", + "ÙIJ ر", + "Ġ Ø´ÙĪ", + "ĠØ´ ÙĪ", + "åľ¨ åľ°", + "Ġ çݰ", + "Ġçİ °", + "Ġ åĮĸ", + "ĠåĮ ĸ", + "ز ÙĪ", + "Ġyay gın", + "Ġо ÑĢиг", + "ĠоÑĢ Ð¸Ð³", + "Ùı ÙĨ", + "Ġev rop", + "Ġ ï½ľ", + "Ġï½ ľ", + "Ġëħ¸ì¶ľ ëĵ±ë¡Ŀ", + "åĩ Ŀ", + "л еннÑĭÑħ", + "лен нÑĭÑħ", + "Ġje nom", + "Ġjen om", + "Ġ ЧÑĤобÑĭ", + "ĠЧ ÑĤобÑĭ", + "ĠЧÑĤо бÑĭ", + "ĠìĹĨ ëĭ¤", + "ĠìŬ ìĦ±", + "Ġres mi", + "im álnÃŃ", + "缮 ãģ®", + "s ian", + "si an", + "-ни бÑĥдÑĮ", + "ο κ", + "çĭ¬ ç«ĭ", + "ÅŁ ehir", + "åIJ IJ", + "åζ éĢł", + "Ġ ÎĶεν", + "ĠÎĶ ÎµÎ½", + "ĠÎĶε ν", + "ãĥĭ ãĥ¥", + "иÑĤелÑĮ нÑĭÑħ", + "Ġ ÙĥاÙħ", + "ĠÙĥ اÙħ", + "Ïģ κ", + "Ġr au", + "Ġra u", + "ĠÑģм еÑĢÑĤи", + "ĠÑģмеÑĢ ÑĤи", + "ĠÏĮ ÏĦαν", + "Ġ Tại", + "ĠT ại", + "Ġ رب", + "Ġر ب", + "ε νο", + "εν ο", + "ر دد", + "رد د", + "Ġ à¸ģระ", + "Ġà¸ģ ระ", + "Ġà¸ģร ะ", + "Ïĥ μο", + "Ïĥμ ο", + "Ġ æ¼Ķ", + "Ġæ¼ Ķ", + "ิà¸Ī à¸ģรรม", + "ĠÑĢаз ви", + "ĠÑĢазв и", + "ãĤ¹ ãĥļ", + "Ñĸ ÑĩноÑĹ", + "ÑĸÑĩ ноÑĹ", + "lá Å¡enÃŃ", + "láš enÃŃ", + "اب عة", + "ابع Ø©", + "ov ými", + "ový mi", + "ovým i", + "а нг", + "ан г", + "Ġкап ÑĸÑĤ", + "ãĢģ âĢĭ", + "íĸĪ ëįĺ", + "ĠÑĥ ÑģÑĸ", + "ĠÑĥÑģ Ñĸ", + "ย าว", + "ยา ว", + "Ø£ Ùħ", + "ãĥ© ãĥĥãĤ¯", + "Ġë ķ", + "ĠسÙĨ ÙĪØ§Øª", + "ĠÑģÑĤаÑĤ ÑĮи", + "ĠÑģÑĤаÑĤÑĮ и", + "ÑĹ Ñħ", + "Ïģο Ïĩή", + "ĠØ£Ùĥ تÙĪØ¨Ø±", + "lan ma", + "Ġmal zem", + "ç £¨", + "ç£ ¨", + "Ġб окÑĥ", + "Ġбо кÑĥ", + "Ġбок Ñĥ", + "åŃĹ å¹ķ", + "ĠоÑĢганÑĸ за", + "ĠоÑĢганÑĸз а", + "ãĥ© ãĤ¤ãĥ³", + "ãĥ©ãĤ¤ ãĥ³", + "ĠÙħع دÙĨ", + "ĠÙħعد ÙĨ", + "çĶ· åŃIJ", + "Ġ æĤ", + "Ġæ Ĥ", + "Ạ¾", + "Ġmez iná", + "Ġmezi ná", + "и ваÑİÑĤ", + "ив аÑİÑĤ", + "ива ÑİÑĤ", + "ĠطبÛĮ عÛĮ", + "èĻ ij", + "à¤Ł र", + "Ġпод Ñģ", + "ĠÅŁ aÅŁ", + "à¸Ļ à¹Ĩ", + "ĠÅ¡ p", + "v ÄĽÅĻ", + "vÄĽ ÅĻ", + "з ÑĮ", + "ëĿ¼ ë§Ī", + "ุ à¸ĺ", + "â̦ Ø·", + "리 ì§Ģ", + "âĦĸâĦĸ âĦĸâĦĸ", + "Ġb ức", + "ĠSp oj", + "ĠSpo j", + "ĠиÑģполÑĮзов ани", + "ĠиÑģполÑĮз овани", + "å·¦ åı³", + "en ler", + "ĠоÑī ÑĥÑī", + "Ġоб лÑĸ", + "Ġобл Ñĸ", + "ظ ËĨ", + "ÙĦ ÛĮس", + "ÙĦÛĮ س", + "æıIJ åįĩ", + "ĠговоÑĢ Ð¸ÑĤÑĮ", + "ĠговоÑĢиÑĤ ÑĮ", + "Ġk ür", + "Ġkü r", + "Ġλ ειÏĦοÏħÏģγ", + "ла га", + "лаг а", + "ĠÑģÑĥ дÑĥ", + "ĠÑģÑĥд Ñĥ", + "Ġ 측", + "Ġì¸ ¡", + "θε Ïĥη", + "Ġ нен", + "Ġн ен", + "Ġне н", + "Ġbiç imde", + "Ġbiçim de", + "ÑĨÑĸй ноÑĹ", + "ÑĨÑĸйно ÑĹ", + "à¹Ģà¸Ħ ย", + "ĠDal Å¡ÃŃ", + "Ġи меÑĤÑĮ", + "Ġим еÑĤÑĮ", + "Ġиме ÑĤÑĮ", + "èĭ Ĺ", + "ĠÙħع رÙĪÙģ", + "Ġt ạp", + "Ġm eÅŁ", + "Ġme ÅŁ", + "Âł N", + "оÑĢ Ð¾Ð½Ð¸", + "оÑĢон и", + "оÑĢо ни", + "ع Ùģ", + "à¹Ĥ รà¸ĩà¹Ģร", + "à¹Ĥรà¸ĩ à¹Ģร", + "âĶ ¬", + "Ġ à¹Ģà¸ŀราะ", + "Ġà¹Ģà¸ŀ ราะ", + "Ġèı² å¾ĭ宾", + "ÑģÑĤв енное", + "ÑģÑĤвен ное", + "ÑģÑĤвенно е", + "Ġاز دÙĪØ§Ø¬", + "ĠÑĦ ев", + "éł »", + "Ġ สล", + "Ġส ล", + "à¸ķ à¸Ńà¸Ļ", + "Ġ 기ê°Ħ", + "Ġ기 ê°Ħ", + "ä½ ©", + "ÏĦ ην", + "ÏĦη ν", + "ëĤ¬ ëĭ¤", + "ĠQ uy", + "ĠQu y", + "Ġë¶ Ļ", + "ĠС Ñĥд", + "и ж", + "Ġ à¹Ģà¸ģม", + "Ġà¹Ģà¸ģ ม", + "ĠÑģв ÑıÑĤ", + "ĠÑģвÑı ÑĤ", + "et ooth", + "eto oth", + "ε Ïģο", + "εÏģ ο", + "ÙĦ ÙħØ©", + "ÙĦÙħ Ø©", + "Ø´ ÙĪØ±", + "Ø´ÙĪ Ø±", + "Ġd omu", + "Ġdo mu", + "Ġdom u", + "èį Ĵ", + "m î", + "ëıĦ 를", + "ĠÑĢекомендÑĥ еÑĤÑģÑı", + "Ġsonra sında", + "Ġsonrası nda", + "Ġд нÑĸв", + "Ġç al", + "Ġça l", + "ãĤ«ãĥĨ ãĤ´ãĥª", + "Ġ еж", + "Ġе ж", + "Ġìķ ī", + "èī² çļĦ", + "âĢĻ nde", + "âĢĻn de", + "Ġ ÏĢÏīÏĤ", + "ĠÏĢ ÏīÏĤ", + "ĠÑĩеÑĤ веÑĢ", + "k ili", + "ki li", + "kil i", + "æĢ§ èĥ½", + "اد ÙĬØ©", + "ادÙĬ Ø©", + "çº ¯", + "ĠاÙĦ تش", + "ĠاÙĦت Ø´", + "ĠÑĤ ела", + "ĠÑĤе ла", + "ĠÑĤел а", + "Ġоб ÑĬем", + "ĠобÑĬ ем", + "å²Ĺ ä½į", + "Ġkon krét", + "Ġa rada", + "Ġar ada", + "Ġara da", + "ìĭľ ìĹIJ", + "Ġor anı", + "Ġoran ı", + "ر Ùĥ", + "ÐĽ ÐIJ", + "Ġ ménÄĽ", + "Ġmé nÄĽ", + "ج ÙĪÛĮ", + "جÙĪ ÛĮ", + "Ġv ợ", + "Ġvá» £", + "ĠAngiosper mae", + "èĥ İ", + "Ġh ôn", + "äºĭ æ¥Ń", + "ĠоÑĤ веÑĢ", + "ĠоÑĤв еÑĢ", + "Ġs rd", + "Ġsr d", + "Å¡ li", + "ส à¸ģ", + "æ¼ ı", + "ĠØ´ رØŃ", + "Ġشر ØŃ", + "ÑĨ Ñıми", + "ÑĨÑı ми", + "Ġs lav", + "Ġsl av", + "Ġsla v", + "Ġc eny", + "Ġce ny", + "Ġcen y", + "à¸Ń à¹Ģร", + "Ġ ÙĪÙĦد", + "ĠÙĪÙĦ د", + "Ġк оÑĢа", + "ĠкоÑĢ Ð°", + "Ġко ÑĢа", + "Ġб ÑĢон", + ": .:.:.:.:", + ":.:.: .:.:", + ":.: .:.:.:", + "Ġne mus", + "Ġnem us", + "è¿Ļ æł·çļĦ", + "è¿Ļæł· çļĦ", + "Ġبر ÙĨاÙħج", + "Ġú plnÄĽ", + "ีà¸Ļ าà¸Ħม", + "Ġë°Ľ ìķĦ", + "με Ïģα", + "μεÏģ α", + "ç¼ ©", + "Ġn ắm", + "ĠобÑĬ ÑıÑģ", + "ĠконÑĤÑĢ Ð¾Ð»Ñİ", + "á vajÃŃcÃŃ", + "ávajÃŃ cÃŃ", + "Ġk um", + "Ġku m", + "çĶ· 人", + "Ġv nitÅĻ", + "Ġب دÙĩ", + "Ġبد Ùĩ", + "Ġأب رÙĬÙĦ", + "人æ°ij åħ±åĴĮåĽ½", + "Ġyap ılır", + "Ġyapıl ır", + "Ġna Å¡ÃŃ", + "ĠnaÅ¡ ÃŃ", + "ãĥ¼ ãĥŃ", + "ãĥ¼ãĥ Ń", + "Ġt ạm", + "Ġhen üz", + "Ġz emi", + "Ġze mi", + "Ġzem i", + "Ġkh áng", + "Ġkhá ng", + "åħ¬ åħ±", + "Ġ èĢģ", + "ĠèĢ ģ", + "ĠعÙĪ Ø§ÙħÙĦ", + "Âł V", + "à¹ī à¹ģà¸ģ", + "άν ÏĦα", + "ĠÑĤÑĢав нÑı", + "Ġη μÎŃ", + "è´ ¸", + "ส à¸Ķ", + "Ġس Ùħت", + "ĠسÙħ ت", + "ĠØ® اک", + "ĠÑĤак ий", + "ĠÑĤа кий", + "Ġet tik", + "Ġett ik", + "Ġetti k", + "ĠÏĮ λ", + "Ġп оли", + "Ġпо ли", + "Ġпол и", + "Ġ нож", + "Ġн ож", + "Ġно ж", + "غ اÙĨ", + "ÙĨ دÙĬ", + "ÙĨد ÙĬ", + "ĠÄįty ÅĻi", + "ĠÄįtyÅĻ i", + "ĠPh ương", + "ĠÙĪØ± زش", + "ĠÙĪØ±Ø² Ø´", + "ãģĦ ãģĭ", + "r vé", + "rv é", + "Ġतर फ", + "Ġन à¤Ĺर", + "m asında", + "ma sında", + "mas ında", + "ması nda", + "е виÑĩ", + "ев иÑĩ", + "еви Ñĩ", + "ve ÅĻej", + "ä¿Ŀ æĮģ", + "æĬĢ èĥ½", + "æİ¨ èįIJ", + "l âm", + "Ġ Ïį", + "ĠÏ į", + "å¢ŀ éķ¿", + "Ġاص ÙģÙĩ", + "ĠÐĹак онÑĥ", + "ĠÐŁ ÑĢез", + "ĠÐŁÑĢ ÐµÐ·", + "Ġpod por", + "Ġpodp or", + "기 íĥĢ", + "Ġ íıIJ", + "Ġíı IJ", + "Ġ ëĭĪ", + "Ġëĭ Ī", + "lar ınız", + "ların ız", + "larını z", + "ãĥĸ ãĥŃ", + "ĠÑĦÑĢан ÑĨÑĥз", + "ãĥĬ ãĥ¼", + "Ġb eled", + "Ġbe led", + "Ġbel ed", + "Ġbele d", + "ัà¸Ļว าà¸Ħม", + "ĠÙģ Ø±ÙĪ", + "ĠÙ쨱 ÙĪ", + "ÑĦ ÑĢов", + "ĠìĿ´ 룬", + "ượ u", + "Ġê³µ ìĭĿ", + "Ġbird en", + "Ġbir den", + "Ġз елен", + "Ġзел ен", + "çĴ ĥ", + "Ġh á»ĵng", + "Ġhá»ĵ ng", + "ĠÅ¡ kola", + "ĠÅ¡kol a", + "ĠÅ¡k ola", + "ĠÑģам ом", + "ĠÑģамо м", + "an lık", + "anlı k", + "空 éĹ´", + "åįĹ çľģ", + "л еÑĢг", + "ле ÑĢг", + "леÑĢ Ð³", + "Ñĸз неÑģ", + "Âł A", + "ãĢį ãĤĴ", + "Ġkend ine", + "Ġkendi ne", + "Ġ اÙĪÙĨ", + "Ġا ÙĪÙĨ", + "ĠاÙĪ ÙĨ", + "ãĢ Ķ", + "ĠΣ Ïį", + "à¹Ģ à¸Ħล", + "à¹Ģà¸Ħ ล", + "å¥ ¶", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "Ġú Äįet", + "ĠúÄį et", + "Ñĥ ла", + "Ñĥл а", + "éĢļ ä¿¡", + "Ġì¦ IJ", + ". čĊĊ", + ".čĊ Ċ", + "ĠÐľ ед", + "ا عÙĬ", + "اع ÙĬ", + "Ġjeho ž", + "ĠGü ney", + "ĠGün ey", + "ĠÎij ÏĢο", + "ĠÎijÏĢ Î¿", + "Ġп олÑĸ", + "Ġпо лÑĸ", + "Ġпол Ñĸ", + "ü me", + "üm e", + "ho dob", + "hod ob", + "ĠÎĿ α", + "ĠØ¢ ÙĦات", + "ĠØ¢ÙĦ ات", + "ĠpÅĻ iz", + "ĠpÅĻi z", + "Ġt avs", + "Ġta vs", + "Ġtav s", + "Ġتب ÙĦÛĮ", + "ãĥ³ ãĥĶ", + "ãĥ³ãĥ Ķ", + "Ø® رج", + "خر ج", + "Ġак кÑĥ", + "Ġú prav", + "ĠاØŃ ساس", + "ì¹´ ëĿ¼", + "ı mızı", + "ım ızı", + "ımız ı", + "ımı zı", + "Ġд окÑĥменÑĤ", + "Ġдок ÑĥменÑĤ", + "ĠдокÑĥм енÑĤ", + "Ġ اصÙĦ", + "Ġا صÙĦ", + "Ġاص ÙĦ", + "ظ Ùĩ", + "ĠìĿ¸ ê°Ħ", + "Ġج رÛĮاÙĨ", + "Ġجر ÛĮاÙĨ", + "Î¥ ÎĿ", + "ÑĩеÑģ каÑı", + "Ñĩе ÑģкаÑı", + "ÙĬ ÙĨÙĬØ©", + "ÙĬÙĨ ÙĬØ©", + "ÙĬÙĨÙĬ Ø©", + "åĴ ¨", + "æĹħ 游", + "Ġ à¸Īำà¸Ļวà¸Ļ", + "Ġà¸Īำ à¸Ļวà¸Ļ", + "Ġ анг", + "Ġа нг", + "Ġан г", + "Ïħ Ïĩ", + "èĻ «", + "ĠÙħ ÙĤر", + "ĠÙħÙĤ ر", + "ĠÙħÙĪØ³ÛĮ ÙĤÛĮ", + "ut ut", + "ĠÐĽ е", + "ĠÐŁ ÑĸÑģлÑı", + "ãĤŃ ãĥ¼", + "ุล าà¸Ħม", + "åĩ ¡", + "ÏĢ Î¿Ïį", + "ÏĢο Ïį", + "ĠÃĸ dül", + "Ïĥ κ", + "Ġ ÑĨÑİ", + "ĠÑĨ Ñİ", + "Ñĭ ваÑı", + "Ñĭв аÑı", + "Ñĭва Ñı", + "ï½ŀ ï½ŀ", + "ĠØ´ ÙħاÙĦ", + "ĠØ´Ùħ اÙĦ", + "ĠØ´Ùħا ÙĦ", + "è¿ ħ", + "ĠبÙĦ Ú©Ùĩ", + "çİ Ľ", + "Ġì§Ģ ëĤĺ", + "ĠÙģ کر", + "ĠÑģÑĤеп ени", + "Ġна Ñĥки", + "ĠнаÑĥк и", + "çī© çIJĨ", + "ÄĽ le", + "ÄĽl e", + "Ġо ÑģкÑĸлÑĮки", + "ĠкÑĥлÑĮÑĤÑĥ ÑĢи", + "ĠкÑĥлÑĮÑĤÑĥÑĢ Ð¸", + "èĢĥ è¯ķ", + "Ġmateri ál", + "ĠÑģÑĤ воÑĢеннÑı", + "ĠÑģÑĤвоÑĢ ÐµÐ½Ð½Ñı", + "Ġà¤ħ द", + "æıIJ åĩº", + "Ġè©ķ 価", + "ÙĴ د", + "Ġë§Įëĵ¤ ìĸ´", + "duÄŁu nu", + "duÄŁ unu", + "ÙĬ ÙĨÙĩ", + "ÙĬÙĨ Ùĩ", + "åĵ ¦", + "оÑĩ нÑĭÑħ", + "ĠÙħ ض", + "is mu", + "ism u", + "Ġ Ñĩай", + "ĠÑĩ ай", + "ĠÑĩа й", + "ÙĪ Ø±ÙĪØ¨", + "ÙĪØ± ÙĪØ¨", + "Ġ англ", + "Ġан гл", + "Ġанг л", + "oÄŁun luk", + "ĠпÑĢед пол", + "ĠÎŃ ÏīÏĤ", + "ส à¸ĸ", + "ĠÎķλλά δα", + "ĠBi lg", + "ĠBil g", + "Ġ بات", + "Ġب ات", + "Ġبا ت", + "ĠÐĽÑĮв Ñĸв", + "Ġyap ılması", + "Ġyapıl ması", + "æ£Ģ æŁ¥", + "æķ° åѦ", + "Ġ :.:", + "Ġ: .:", + "Ġ:. :", + "Ġ çİ©", + "Ġçİ ©", + "Îļ α", + "à¹Ģà¸Ĺ à¸Ħà¹Ĥà¸Ļà¹Ĥลย", + "Ġساخت ÙħاÙĨ", + "ĠìĨĮ 리", + "é¼ »", + "Ġs mr", + "Ġsm r", + "Ġëĭ¤ìĸij íķľ", + "Ġjed nánÃŃ", + "Ġjedn ánÃŃ", + "Ġjedná nÃŃ", + "Ġserv isi", + "Ġservi si", + "Ġservis i", + "Ġey lem", + "Ġм али", + "Ġмал и", + "Ġма ли", + "Ġvý hod", + "éϤ äºĨ", + "ĠпоÑĢÑıд кÑĥ", + "Ġn ový", + "Ġno vý", + "Ġnov ý", + "å¤ ķ", + "ĠнекоÑĤоÑĢ Ñĭе", + "Ġ^ {}", + "Ġ^{ }", + "γÏī γ", + "Ñĥ ÑĪки", + "ÑĥÑĪ ÐºÐ¸", + "Ġp sik", + "Ġps ik", + "Ġpsi k", + "ĠíĶĦ 리", + "Ø´ اء", + "Ġ ван", + "Ġв ан", + "Ġва н", + "Ġس ÙĥاÙĨ", + "ç¢ ¼", + "ĠÎľ η", + "ĠÑĥÑĢов енÑĮ", + "ãĤµ ãĥ¼", + "ĠاÙĦب ØŃر", + "Ġd nÃŃ", + "Ġdn ÃŃ", + "à¸ģาร ศ", + "e diÄŁi", + "edi ÄŁi", + "Ġbelir li", + "Ùĭ ØĮ", + "ĠzamÄĽst nan", + "ĠzamÄĽstn an", + "æŁ ±", + "ا ÙģÙĬ", + "اÙģ ÙĬ", + "Ġh ải", + "æĢĿ æĥ³", + "Ġn eler", + "Ġne ler", + "Ġnel er", + "Ġرس ÙħÛĮ", + "ĠرسÙħ ÛĮ", + "Ñģ еÑĢ", + "Ñģе ÑĢ", + "ãģĵãģ¨ ãģ§", + "ĠZá kladnÃŃ", + "л ова", + "ло ва", + "лов а", + "к ÑĤÑĥ", + "кÑĤ Ñĥ", + "ÙĪØ³ Ùģ", + "Ñĸб лÑĸ", + "Ì Ĥ", + "ÑĢ Ð´", + "éĻ ³", + "æį ·", + "ĠyaÅŁ ayan", + "à¥ģ à¤ļ", + "à¥ģठļ", + "ÑĸÑĤ ÑĤÑı", + "Ġb á»ģ", + "ëĤĺ ëĿ¼", + "Ġм ÑıÑģ", + "Ġ{ [%", + "Ġ{[ %", + "θ α", + "Ġдоз волÑı", + "Ġдозвол Ñı", + "Ġ åIJĦ", + "ĠåIJ Ħ", + "ĠÐŁ еÑĢв", + "ĠÐŁÐµÑĢ Ð²", + "ĠSaÄŁ lık", + "ÑģÑĤоÑĢ Ð¸Ñı", + "Ġbun lar", + "Ġs á»ķ", + "़ à¥į", + "Ġ åĪ©", + "ĠåĪ ©", + "ĠÑģ поÑģ", + "ĠÑģп оÑģ", + "Ġyap tır", + "Ġyaptı r", + "Ġt ưá»Ŀng", + "ÙĪ ÙĨØ©", + "ÙĪÙĨ Ø©", + "Ġ еп", + "Ġе п", + "ãģ§ãģį ãģªãģĦ", + "Ùģ ØªÙħ", + "ÙģØª Ùħ", + "ĠÐĵ ол", + "íķĺ ì§Ģë§Į", + "íķĺì§Ģ ë§Į", + "Ġì§Ħ ì§ľ", + "Ġob jedn", + "Ġobj edn", + "Ġизмен ениÑı", + "女 人", + "Ġпл ани", + "Ġпла ни", + "Ġплан и", + "ĠFak ült", + "Ġt zv", + "Ġtz v", + "ĠобÑıз аÑĤелÑĮ", + "Ġблиз ÑĮко", + "r ası", + "ra sı", + "ras ı", + "ĠεÏĢί ÏĥηÏĤ", + "ĠÑĦак ÑĤи", + "ĠÑĦакÑĤ и", + "ĠÄIJ ặc", + "ĠAlt ın", + "л иÑĤ", + "ли ÑĤ", + "Ġл ÑĸÑģ", + "ĠлÑĸ Ñģ", + "çī §", + "Ġп ÑĥÑģÑĤ", + "ĠпÑĥ ÑģÑĤ", + "Ġком ÑĸÑģ", + "ä¿Ŀ éļľ", + "åħ· ä½ĵ", + "- ÑĤ", + "Ġtr hu", + "Ġtrh u", + "Ġâī Ī", + "Ġдека бÑĢÑı", + "ĠÑĦоÑĢм Ñĭ", + "ĠÑĦоÑĢ Ð¼Ñĭ", + "Ng oÃłi", + "Ġdo hod", + "رÙĬ ÙĥÙĬØ©", + "رÙĬÙĥ ÙĬØ©", + "رÙĬÙĥÙĬ Ø©", + "ĠØ¢ÙħÙĪØ² Ø´ÛĮ", + "ĠØ¢ÙħÙĪØ²Ø´ ÛĮ", + "ĠzajÃŃm av", + "Ġkat ılım", + "Ġkatıl ım", + "ä¸ ĺ", + "Ġko num", + "Ġkon um", + "Ġkonu m", + "Ġм оÑĩ", + "Ġмо Ñĩ", + "ãĥ³ ãĥķ", + "ãĥ³ãĥ ķ", + "диви дÑĥ", + "Ġ äºļ", + "Ġ æĴ", + "Ġæ Ĵ", + "γÏģά ÏĨ", + "ãĥIJ ãĤ¹", + "Ġп Ñĥнк", + "ĠBir leÅŁik", + "Ġqu en", + "Ġque n", + "Ġq uen", + "Ġв каз", + "Ġвк аз", + "à¥ĩ शà¤ķ", + "à¥ĩश à¤ķ", + "ĠY unan", + "ĠYu nan", + "ĠYun an", + "ãģł ãģ¨", + "Û±Û¹ Û·", + "á ty", + "át y", + "Ġ ÙĪØµ", + "ĠÙĪ Øµ", + "Ġнег аÑĤив", + "ãģ¤ ãģ®", + "Ġ åĬ¨", + "ĠåĬ ¨", + "ãĥį ãĥĥãĥĪ", + "Ġд Ñĸй", + "ĠдÑĸ й", + "ĠbaÅŁ ında", + "Ġtr ưng", + "Ġm akin", + "Ġma kin", + "Ġmak in", + "Ġ æĦĽ", + "ĠæĦ Ľ", + "м еÑĩ", + "ме Ñĩ", + "Ġ è¿ij", + "Ġè¿ ij", + "ÙĤ در", + "ÙĤد ر", + "Ġاست اÙĨد", + "ĠاستاÙĨ د", + "Ġinform acÃŃ", + "ार à¤ķ", + "è¬ Ŀ", + "ÑĢаб аÑĤ", + "Ġ çŃĶ", + "Ġç ŃĶ", + "ĠçŃ Ķ", + "Ġ èĩ³", + "Ġèĩ ³", + "Ġп олÑĮ", + "Ġпо лÑĮ", + "Ġпол ÑĮ", + "ĠÙĩÙĨ ر", + "ëĮĢ ë¹Ħ", + "Ġخارج ÛĮ", + "r act", + "ra ct", + "rac t", + "ãĢĤ ãģĵãĤĮ", + "ĠØ´ÙĪØ± اÛĮ", + "л енно", + "лен но", + "Ġh isset", + "Ġhis set", + "Ġhiss et", + "Ġc Ãłi", + "ĠcÃł i", + "ĠÑĦ оÑĤо", + "ĠÑĦоÑĤ о", + "æģ Ĵ", + "Ġмед иÑĨин", + "Ġмеди ÑĨин", + "ÑģÑĤ вÑĸ", + "ÑģÑĤв Ñĸ", + "ĠاÙĦ عÙĦ", + "ĠاÙĦع ÙĦ", + "ĠпиÑģÑĮ мен", + "ãĢĤ ãģ¾ãģŁ", + "Ġvlast nÄĽ", + "Ġп ода", + "Ġпо да", + "Ġпод а", + "Ïģ οι", + "Ïģο ι", + "Ġ ìĦĿ", + "ĠìĦ Ŀ", + "ĠìĿ¼ ìĿ´", + "Ġ ìĽĮ", + "ĠìĽ Į", + "ок Ñģи", + "окÑģ и", + "Ġos oby", + "Ġosob y", + "ÐŁÐ¾Ñģ ле", + "ĠÑĸÑģÑĤоÑĢ ÑĸÑĹ", + "ع ÙĦÙī", + "عÙĦ Ùī", + "н ка", + "ت Ùħبر", + "تÙħ بر", + "à¥ĩ हर", + "à¥ĩह र", + "ĠJ ana", + "ĠJan a", + "ĠJa na", + "ÙĦ ÙĬات", + "ÙĦÙĬ ات", + "ĠмаÑĢ ÑĤа", + "ĠÐļи ÑĶ", + "ĠÑĢоб оÑĤÑĥ", + "ĠÑĢобоÑĤ Ñĥ", + "Ġnh ấn", + "и Ñģлов", + "иÑģ лов", + "ëŁ Ń", + "Ġo dv", + "Ġod v", + "ĠT á»īnh", + "âĢľ ê·¸", + "ãģ» ãģĨ", + "é² ľ", + "м еÑĨÑĮ", + "ме ÑĨÑĮ", + "า ศาสà¸ķร", + "าศ าสà¸ķร", + "à¥ģ à¤ĵ", + "à¥ģठĵ", + "ิ à¸Ļà¸Ĺ", + "ิà¸Ļ à¸Ĺ", + "m ada", + "ma da", + "mad a", + "ز اÙħ", + "زا Ùħ", + "ĠÙĥ بÙĬر", + "å®ŀ æĸ½", + "ze ÅĪ", + "Ġl ái", + "Ġlá i", + "Ïĥ μα", + "Ïĥμ α", + "ا سات", + "اس ات", + "ÑĦ ÑĤ", + "è° ±", + "çĮ ľ", + "Ġpro bÃŃ", + "Ġprob ÃŃ", + "æľĢ è¿ij", + "ÑĢ Ð°Ð´", + "ÑĢаР´", + "ÑĢа д", + "ãĤ½ ãĥ³", + "Ġ клад", + "Ġк лад", + "Ġкл ад", + "Ġкла д", + "à¥ľ à¤ķ", + "é v", + "ล าย", + "ลา ย", + "èİ İ", + "ĠμÎŃ ÏĩÏģι", + "Ġ кÑĥÑģ", + "Ġк ÑĥÑģ", + "ĠкÑĥ Ñģ", + "Ġ íĻĺê²½", + "ĠíĻĺ ê²½", + "Ñĩ оÑĹ", + "åıĺ åĮĸ", + "Ġب تÙĪØ§ÙĨ", + "Ġبت ÙĪØ§ÙĨ", + "Ġt ắt", + "Ġgöster en", + "а лÑİ", + "ал Ñİ", + "Ġкоман ди", + "Ġкоманд и", + "Ġ 컨", + "Ġì» ¨", + "Ñĥ нд", + "Ñĥн д", + "Ġج ÙĦÙĪ", + "ĠجÙĦ ÙĪ", + "åŃIJ çļĦ", + "ĠÑģ б", + "ĠÐł аÑģ", + "ĠÐłÐ° Ñģ", + "P CP", + "PC P", + "ĠCumhur baÅŁ", + "од аÑĤелÑĮ", + "ÃŃ sto", + "ÃŃs to", + "ÃŃst o", + "Ġo znám", + "Ġoz nám", + "ãĥ¼ ãĥĭ", + "ãĥ¼ãĥ ĭ", + "Ġok uy", + "Ġoku y", + "o phy", + "op hy", + "oph y", + "า à¸Ļà¸Ħร", + "าà¸Ļ à¸Ħร", + "ĠÎķ θν", + "ay ım", + "ayı m", + "Ùİ Ø£", + "æİ ¡", + "Ġfunk ce", + "Ġfunkc e", + "æļ ĸ", + "Ø· ار", + "ĠÐĿ аг", + "ĠÐĿа г", + "Ġ ä¸ĩåĨĨ", + "Ġä¸ĩ åĨĨ", + "Ġ íĴį", + "ĠíĴ į", + "Ġ ä½ı", + "Ġ ï¼İ", + "Ġï¼ İ", + "Ñĭ ваÑİÑĤÑģÑı", + "Ñĭв аÑİÑĤÑģÑı", + "Ñĭва ÑİÑĤÑģÑı", + "ÑĭваÑİÑĤ ÑģÑı", + "ĠP la", + "ĠPl a", + "ا ÙĬÙĦ", + "اÙĬ ÙĦ", + "Ġ무 ìĹĩ", + "Ġкон еÑĩно", + "к м", + "à¤Ĥ पर", + "à¤Ĥप र", + "Ġ ìłķë¶Ģ", + "Ġìłķ ë¶Ģ", + "ĠëĤ´ 볤", + "ãĤ° ãĥ«", + "çģ °", + "Ġc yk", + "Ġcy k", + "Ġжел Ñĥд", + "ĠëĨĴ ìĿĢ", + "çĶŁ åij½", + "æµ ´", + "Ġart Ä±ÅŁ", + "Ġ Ðĩ", + "ĠÐ ĩ", + "ï¼ ²", + "e kim", + "ek im", + "eki m", + "ĠÑĦ едеÑĢа", + "ĠвеÑĢеÑģ нÑı", + "н иÑĤе", + "ни ÑĤе", + "ниÑĤ е", + "ĠÄ°ÅŁ te", + "ĠÙĪØ¶Ø¹ ÛĮت", + "ãģķ ãģ¾", + "ĠtÅĻ etÃŃ", + "ĠtÅĻet ÃŃ", + "u luÄŁ", + "ulu ÄŁ", + "ĠCumhur iyet", + "ä¼ Ł", + "Ġ ë§Ŀ", + "Ġë§ Ŀ", + "Ġver mek", + "Ġverm ek", + "Ġn alez", + "Ġna lez", + "Ġnal ez", + "Ġnale z", + "çĵ ¶", + "Ġd iÅŁ", + "Ġdi ÅŁ", + "ĠH á»ĵng", + "ĠHá»ĵ ng", + "غ ÙĬرة", + "غÙĬر Ø©", + "å© Ĩ", + "н ив", + "ни в", + "Ġr út", + "' nda", + "'n da", + "Ġh roz", + "Ġhr oz", + "à¥ī प", + "Ġза коном", + "Ġзак оном", + "Ġзакон ом", + "Ġзако ном", + "Ġjed nu", + "Ġjedn u", + "ĠKa dın", + "ĠKad ın", + "in dir", + "ind ir", + "indi r", + "س ازÛĮ", + "åĮº åŁŁ", + "ĠkonuÅŁ tu", + "Ġز ÙĨد", + "ĠزÙĨ د", + "ा ĊĊ", + "ाĊ Ċ", + "ĠÐIJ з", + "à¸ĩ à¸Ĥà¸Ńà¸ĩ", + "à¸ĩà¸Ĥ à¸Ńà¸ĩ", + "ĠÑģвой ÑģÑĤва", + "Ġìŀij íĴĪ", + "пе ки", + "Ġ å°±", + "Ġå° ±", + "ев ого", + "ево го", + "ĠtaÅŁ ıy", + "ĠÙħÙĨ Ø·ÙĤØ©", + "ĠÙħÙĨØ· ÙĤØ©", + "ĠÃĩ ocuk", + "Û² Û·", + "ĠÏĥÏħ μÏĢ", + "é£Ł åĵģ", + "h á", + "ï¼ ¯", + "ÙĦ ÙħÙĩ", + "ÙĦÙħ Ùĩ", + "ãģ¨ãģª ãģ£ãģŁ", + "о ÑĢÑĸ", + "оÑĢ Ñĸ", + "° }", + "ĠtaÅŁ ın", + "çŁ ¿", + "ĠÑĩаÑģÑĤ ини", + "ĠÑĩаÑģÑĤи ни", + "ĠدÙĬ سÙħبر", + "Ġ èī¯", + "Ġèī ¯", + "st ÅĻÃŃ", + "Ġ ÑĨик", + "ĠÑĨ ик", + "ĠÑĨи к", + "âĢķâĢķ âĢķâĢķ", + "Ġİng iltere", + "ĠÑģÑĤ ÑĢаÑĤег", + "ĠÑģÑĤÑĢ Ð°ÑĤег", + "ÃĦ Ÿ", + "и Ñĩного", + "иÑĩ ного", + "иÑĩно го", + "ÃŃ rk", + "ÃŃr k", + "ĠÎij Ïģ", + "! âĢľĊĊ", + "!âĢľ ĊĊ", + "Ġ 깨", + "Ġê¹ ¨", + "à¥ģà¤Ĩ त", + "ĠدÙĨÛĮ ا", + "ĠدÙĨ ÛĮا", + "l ÃŃn", + "lÃŃ n", + "Ġà¤ķ ड", + "ĠÙħ بت", + "ĠÙħب ت", + "ем ÑĭÑħ", + "о би", + "об и", + "ย à¸Ļà¸ķ", + "ยà¸Ļ à¸ķ", + "à¤Ĥध न", + "ÚĨ ÛĮ", + "Ġ çŁ¥", + "Ġç Ł¥", + "ĠçŁ ¥", + "ĠXu ân", + "a daki", + "ad aki", + "ada ki", + "Ġ orta", + "Ġor ta", + "Ġort a", + "æł¹ æľ¬", + "åħ± åIJĮ", + "н ений", + "не ний", + "нен ий", + "ب ÙĬرة", + "بÙĬ رة", + "بÙĬر Ø©", + "çŃ ĭ", + "ïº Ķ", + "âĢĮ ÙĩاÙĬ", + "âĢĮÙĩا ÙĬ", + "Ġö deme", + "Ġödem e", + "ĠØ¢ÙĨ ÚĨÙĩ", + "Ġза Ñıви", + "ĠзаÑıв и", + "ĠÙĨÙĤ Ø´Ùĩ", + "ĠÙĨÙĤØ´ Ùĩ", + "Ġ ç³»", + "Ġç ³»", + "Ġç³ »", + "à¥ĭ ।", + "Ġì§Ģ ìłķ", + "Ġin sp", + "Ġins p", + "Ġ ÑĤен", + "ĠÑĤ ен", + "ĠÑĤе н", + "Ġت Ø·", + "Ġqu ảng", + "Ġquả ng", + "Ġquản g", + "åī £", + "ãģı ãģ®", + "ĠÑĨ им", + "ĠÑĨи м", + "k ovi", + "ko vi", + "kov i", + "i yah", + "iy ah", + "iya h", + "Ġ ëIJľëĭ¤", + "ĠëIJľ ëĭ¤", + "ص Ùĩ", + "ĠÄij u", + "Ġsu á»ijt", + "ı ma", + "ım a", + "ì§Ģ ê³ł", + "Ì ĥ", + "à¸ļ าย", + "ĠCert if", + "ĠCer tif", + "ĠÑĥÑģ ÑĸÑħ", + "ĠÑĥÑģÑĸ Ñħ", + "à¸ķะ ว", + "εί ÏĦε", + "Ġ č", + "Ġмож ливÑĸÑģÑĤÑĮ", + "Ġможлив ÑĸÑģÑĤÑĮ", + "Ġ -âĢIJ", + "Ġ- âĢIJ", + "Ġ íĺ¹", + "Ġíĺ ¹", + "ìĤ¬ ì§Ħ", + "Ġд аниÑħ", + "Ġда ниÑħ", + "Ġдан иÑħ", + "Ġzah áj", + "주 ëĬĶ", + "Ġг ид", + "n iž", + "ni ž", + "Ġ^{ °}", + "Ġk ro", + "Ġkr o", + "Äį en", + "Äįe n", + "ÏĨ ι", + "ımız da", + "Ġ æ¹ĸ", + "Ġæ¹ ĸ", + "Ġпов ÑĢежд", + "Ġì¡´ ìŀ¬", + "à¸Ļ าà¸Ļ", + "à¸Ļา à¸Ļ", + "μÎŃ Î½Î¿ÏĤ", + "μÎŃν οÏĤ", + "μÎŃνο ÏĤ", + "æ½ ľ", + "ï¼Į 使", + "Ġd osp", + "Ġdo sp", + "Ġdos p", + "Ġl iá»ģn", + "Ġli á»ģn", + "ัà¸ļ à¸Ħวาม", + "ัà¸ļà¸Ħ วาม", + "ĠÑĢабоÑĤ е", + "ĠÑĢаб оÑĤе", + "ĠÑĢабо ÑĤе", + "Ġмай бÑĥÑĤ", + "à¹Ģà¸ģ ษ", + "B aÅŁ", + "Ba ÅŁ", + "Ġ æĿ±äº¬", + "ĠæĿ± 京", + "наÑĩ ала", + "δ ει", + "δε ι", + "à¥Ī प", + "Ñĸ мÑĸ", + "Ñĸм Ñĸ", + "Ġf izik", + "Ġfi zik", + "Ġfiz ik", + "ว ล", + "ä¼ į", + "Ġ à¸Ĭà¸Ļะ", + "Ġà¸Ĭ à¸Ļะ", + "' ÑıÑĤ", + "'Ñı ÑĤ", + "н ил", + "ни л", + "и нов", + "ин ов", + "ĠÄijo án", + "รว à¸Ī", + "f et", + "fe t", + "à¹Į à¹Ĥ", + "Ġ маÑĤи", + "Ġм аÑĤи", + "ĠмаÑĤ и", + "Ġма ÑĤи", + "é¨ İ", + "Ðļ Т", + "à¹Ģส à¸Ļà¸Ń", + "à¹Ģสà¸Ļ à¸Ń", + "Ġм ав", + "Ġма в", + "lı ģına", + "lıģı na", + "lıģ ına", + "lıģın a", + "Ġпо Ñĩина", + "ĠпоÑĩ ина", + "ู à¸ķร", + "ูà¸ķ ร", + "ÑĨ еÑĢ", + "ÑĨе ÑĢ", + "uj ete", + "uje te", + "ujet e", + "Ġtah min", + "Ġвим ог", + "า à¸Ł", + "าภŁ", + "е дж", + "ед ж", + "ÏĦ εÏį", + "ÏĦε Ïį", + "ad la", + "ĠÄij ương", + "Ġد استاÙĨ", + "Ġbas ın", + "Ġba sın", + "ĠÑħ в", + "Ġ reak", + "Ġre ak", + "ĠоÑĤ меÑĤ", + "æ³ ¥", + "Ġm áte", + "Ġmá te", + "Ġmát e", + "Ġzo run", + "Ġzor un", + "ã썿ĢĿ ãģĨ", + "Ġدر جة", + "ĠвÑĸд ÑģÑĥÑĤ", + "Ġع اÙħÙĦ", + "ĠعاÙħ ÙĦ", + "èĶ µ", + "Ġson raki", + "Ġsonra ki", + "Ġmoh li", + "Ġmohl i", + "и ваеÑĤ", + "ив аеÑĤ", + "ива еÑĤ", + "ĠпÑĸд ÑģÑĤав", + "Ġost rov", + "Ġostr ov", + "ान व", + "âĢŀ P", + "Ġви знаÑĩа", + "ĠвизнаÑĩ а", + "Ġprav dÄĽpodob", + "Ġz az", + "Ġza z", + "ìĿ´ 를", + "Ġдж еÑĢ", + "ĠÐł ад", + "ĠÐłÐ° д", + "ĠÑģеÑĢÑĮ ез", + "Ġ дем", + "Ġд ем", + "Ġде м", + "ÏĢ Î®", + "ĠÐĦ вÑĢоп", + "ĠÐĦв ÑĢоп", + "ĠÄįesk é", + "ĠÄįe ské", + "ï¾ ı", + "Ġ ØŃÙĬ", + "ĠØŃ ÙĬ", + "ì¼ ĢìĿ´", + "ì¼Ģ ìĿ´", + "ĠØ® ÙĪÙĨ", + "ĠØ®ÙĪ ÙĨ", + "Âł L", + "ãģĦ ãģ«", + "из неÑģ", + "ĠÙħ ÙĤاÙħ", + "ĠÙħÙĤ اÙħ", + "ĠاÙĦ ØŃÙĦ", + "ĠاÙĦØŃ ÙĦ", + "ëĨ į", + "ĠØ¢ ÛĮا", + "ĠØ¢ÛĮ ا", + "ç¿ ¼", + "ï¼ ½", + "æ¸ IJ", + "ли вÑĸ", + "лив Ñĸ", + "ãģĦ ãģ¦ãģĦãĤĭ", + "ãģĦãģ¦ ãģĦãĤĭ", + "Ġ ÎijÎł", + "ĠÎij Îł", + "ĠиÑģполÑĮз ÑĥеÑĤÑģÑı", + "ĠиÑģполÑĮзÑĥ еÑĤÑģÑı", + "Ġm át", + "Ġmá t", + "Ġμε γά", + "Ġμεγ ά", + "ëħ ¼", + "æµ· éģĵ", + "ĠÙħØ´Ú© ÙĦات", + "ĠÙħØ´Ú©ÙĦ ات", + "Ñĩ на", + "'; ';", + "Ġ μία", + "Ġμ ία", + "Ïģ Ïİν", + "ÏģÏİ Î½", + "Ġby ste", + "ĠÑįлек ÑĤÑĢи", + "ĠÑįлекÑĤÑĢ Ð¸", + "ĠY ardım", + "ĠYard ım", + "ĠYar dım", + "Ġh át", + "Ġhá t", + "ĠÐĶ ÐµÑĢжав", + ". С", + "Ġo rada", + "Ġor ada", + "Ġora da", + "Ġal anı", + "Ġalan ı", + "åľ° åŁŁ", + "ĠدÙĩ ÙĨد", + "мен ÑĪ", + "ĠоÑĢг анов", + "ĠоÑĢган ов", + "Ġع ص", + "ู à¸ĩส", + "ูà¸ĩ ส", + "ĠØ´ عر", + "Ġشع ر", + "Ġìĸ »", + "Ġά λλ", + "Ġάλ λ", + "Ġg ói", + "Ġgó i", + "ĠÙĨ اØŃ", + "å¼ ĺ", + "à¥įथ ल", + "i lim", + "il im", + "ili m", + "ëIJĺ ì§Ģ", + "Ġкон ÑĨе", + "ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł", + "Ġì¤Ģ ë¹Ħ", + "Ġostat nÃŃ", + "Ġvlá dy", + "Ġvlád y", + "ĠÑģо биÑĢа", + "ĠÑģоб иÑĢа", + "ĠìĹŃ ìĤ¬", + "à¹ģ à¸ģรม", + "à¹ģà¸ģ รม", + ". ï¼ı", + "Ùı ÙĪÙĨ", + "ÙıÙĪ ÙĨ", + "Ù¾ س", + "ĠW ikip", + "ĠWi kip", + "ĠWiki p", + "ĠWik ip", + "Ġ æ¾", + "Ġæ ¾", + "Ġж аÑĢ", + "容 æĺĵ", + "ĠprostÅĻed nictvÃŃm", + "Ġž eny", + "Ġže ny", + "Ġžen y", + "Ġèı²å¾ĭ宾 çͳåįļ", + "а ÑİÑĤÑģÑı", + "аÑİÑĤ ÑģÑı", + "Ġm iêu", + "Ġmi êu", + "Ġp enÃŃze", + "δ ιά", + "δι ά", + "ol dur", + "old ur", + "ĠпÑĢимеÑĢ Ð½Ð¾", + "ĠìŀĪ ê³ł", + "à¸ĩ à¸Ńย", + "к овий", + "ко вий", + "ков ий", + ". ÎŁ", + "à¹ĥ à¸Ħร", + "çĭ ł", + "ĠÐŁ Ñĸв", + "æĶ¹ éĿ©", + "ĠÐĿаÑģ еление", + "Å¡et ÅĻ", + "ÙĴ ب", + "Ġ âĶĢ", + "ĠâĶ Ģ", + "غ ÙĬÙĦ", + "ĠдÑĸÑıлÑĮ нÑĸÑģÑĤÑĮ", + "ĠÙĦ ÙĬس", + "ĠÙĦÙĬ س", + "Ġìĭľ ìŀ¥", + "ãĥŁ ãĥ¥", + "ĠÚ© ÙĪØª", + "ĠÚ©ÙĪ Øª", + "ĠÎĵ ι", + "ิ à¹Ģว", + "e ktor", + "ek tor", + "ekt or", + "ĠбÑĥд Ñĥ", + "ĠбÑĥ дÑĥ", + "но важ", + "нов аж", + "нова ж", + "Ñī аеÑĤÑģÑı", + "Ñīа еÑĤÑģÑı", + "Ġng ôn", + "ĠvÄĽ c", + "å¾ IJ", + "à¸Ńà¹Ģม ร", + "ัà¸į à¸Ĭ", + "ĠиÑģполÑĮз ÑĥÑİÑĤ", + "ĠиÑģполÑĮзÑĥ ÑİÑĤ", + "r ubu", + "ru bu", + "rub u", + "Ġnh á»±a", + "ãģĮ ãģĬ", + "ĠÐĵ аÑĢ", + "о ÑĢе", + "оÑĢ Ðµ", + "Ġз олоÑĤ", + "æ Ł³", + "æŁ ³", + "Ġ ÙĬØ´", + "ĠÙĬ Ø´", + "Ġповин нÑĸ", + "اÙĤ تص", + "ÙĦ ØŃ", + "ĠокÑĤ ÑıбÑĢÑı", + "ĠnÄĽk dy", + "Ġо бÑĢа", + "Ġоб ÑĢа", + "ست Ú¯ÛĮ", + "符 åIJĪ", + "Ġth iá»ĥu", + "æĺ¯ ä»Ģä¹Ī", + "Ġro zs", + "Ġroz s", + "ì½ľ 걸", + "Ġк аÑĦ", + "Ġка ÑĦ", + "åIJĮ æŃ¥", + "ì¼ ĵ", + "ÏĢ ÏĦÏħ", + "à¸ł ายà¹ĥà¸Ļ", + "ι ÏĥÏĦή", + "ιÏĥ ÏĦή", + "ĠدÙĪÙĦ ار", + "ĠÙħا ÙĬÙĪ", + "ĠÙħاÙĬ ÙĪ", + "Ġ peÄį", + "Ġp eÄį", + "Ġpe Äį", + "ัà¸ļ ม", + "ÎĻ ÎĶ", + "ı ydı", + "ıy dı", + "ัà¸ģ à¸Ĺ", + "à¸Ľà¸£à¸° à¸ĸม", + "κ αι", + "κα ι", + "Ġpro dej", + "Ġprod ej", + "ĠиÑİ Ð»Ñı", + "Ġv Å©", + "é© ±", + "Ġh vÄĽ", + "Ġhv ÄĽ", + "æĥ³ è¦ģ", + "ç¯ Ħ", + "ç ak", + "ça k", + "Ġм Ñıг", + "ım ın", + "ımı n", + "Ġdisp ozici", + "Ġu kaz", + "Ġuk az", + "r acak", + "ra cak", + "rac ak", + "Ġболез ни", + "ว à¹Ĥม", + "Ġз ел", + "ĠÐĴ ики", + "ĠÐĴи ки", + "ĠÐĴик и", + "ĠÐł од", + "ูà¸ģ à¸Ħ", + "í ij¸", + "Ġth ải", + "ĠbaÄŁ ımsız", + "ĠÑĢоÑģ Ñģий", + "ĠÐļ ам", + "ĠÐļа м", + "ĠиÑģполÑĮзов аниÑı", + "ĠиÑģполÑĮз ованиÑı", + "ĠиÑģполÑĮзовани Ñı", + "ĠØŃ ذ", + "Âł ³³³³³³³³", + "³³ ³³³³³³³", + "³³³³ ³³³³³", + "³³³ ³³³³³³", + "³³³³³³³³ Âł", + "³³³³³³³ ³³", + "³³³³³ ³³³³", + "³³³³³³ ³³³", + "ĠاÙĨت ÙĤاÙĦ", + "Ġаб ÑģолÑİÑĤ", + "Ġ Ä±ÅŁÄ±k", + "ĠÄ±ÅŁÄ± k", + "ÏĦο γÏģαÏĨ", + "ĠболÑĮÑĪ Ð¾Ð¹", + "Ġعب ارت", + "Ġعبار ت", + "ÃŃ Å¾", + "Ġدر ست", + "Ġدرس ت", + "ĠÑģл ово", + "ĠÑģлов о", + "ĠÑģло во", + "à¥Ī Ċ", + "ب ÙĪØ¨", + "بÙĪ Ø¨", + "ĠÐĴ оÑĤ", + "ĠÐĴо ÑĤ", + "ว à¹Ħà¸Ľ", + "Ġbil inen", + "Ġbilin en", + "Ġ ÙĤÙĬ", + "ĠÙĤ ÙĬ", + "Ġbun ların", + "Ġbunlar ın", + "Ġbunları n", + "Ùij ت", + "Ġbas it", + "Ġba sit", + "ë¦ ¿", + "ائ رة", + "ائر Ø©", + "Ġp ů", + "Ġed ilmiÅŁ", + "Ġedilm iÅŁ", + "Ġedil miÅŁ", + "Ġ ä½IJ", + "ĠYön etim", + "ĠYönet im", + "Ùħ ÛĮر", + "ÙħÛĮ ر", + "Ġsp ou", + "Ġspo u", + "æ·± åľ³", + "Ġвза ÑĶм", + "ÎĻ ÎĽ", + "Ð ĥ", + "ĠдеÑĢжав ноÑĹ", + "Ġ mrt", + "Ġm rt", + "Ġmr t", + "ĠDe mir", + "ĠDem ir", + "é» İ", + "ĠÑĢег ÑĥлÑıÑĢ", + "Ġник огда", + "å¼ ¾", + "à¥ī ड", + "Ġг лаз", + "Ġгла з", + "ĠÙħÛĮ Ú©ÙĨ", + "ĠÙħÛĮÚ© ÙĨ", + "éĻIJ å®ļ", + "Ġнав к", + "Ġпод ÑĤ", + "ĠتصÙĪ ÛĮر", + "ĠاÙĦØŃ دÙĬØ«", + "Ġdo Å¡lo", + "нÑİ Ñİ", + "ĠÑģ Ñħод", + "ĠÑģÑħ од", + "Ø· ÙĤØ©", + "ĠÑģенÑĤ ÑıбÑĢÑı", + "çī¹ æ®Ĭ", + "à¸ģาร à¹ģà¸Ĥ", + "á zd", + "áz d", + "ÑĶ ÑĤе", + "ĠΣ ε", + "ĠÙĦ ÙĥÙĦ", + "ĠÙĦÙĥ ÙĦ", + "åIJį åŃĹ", + "اÙĨ ÛĮا", + "اÙĨÛĮ ا", + "Ġc ins", + "Ġcin s", + "Ġci ns", + "기 ìĹħ", + "Ġ éŁ³", + "Ġé Ł³", + "ĠéŁ ³", + "éł ĥ", + "ย าย", + "ยา ย", + "ìļ ķ", + "ĠvÃŃ tÄĽz", + "à¥įर ब", + "Ġشر ÙĤÛĮ", + "ĠشرÙĤ ÛĮ", + "ĠbezpeÄį nost", + "Ġçerç ev", + "Ġ ë§Ľ", + "Ġë§ Ľ", + "c ky", + "ck y", + "ĵ ¨", + "ĠÑĥм оваÑħ", + "ĠÑĥмов аÑħ", + "л иÑħ", + "ли Ñħ", + "m eniz", + "men iz", + "meni z", + "Ġب Ú¯ÛĮر", + "Ġبگ ÛĮر", + "ÙĨ Ùī", + "Ġ à¸ģารà¹ģà¸Ĥ", + "Ġà¸ģาร à¹ģà¸Ĥ", + "ι Ïĥε", + "ιÏĥ ε", + "â̳ E", + "Ġdönem inde", + "리 ì¹´", + "Ġ åΰ", + "ĠåĪ °", + "Ġhu kuk", + "Ġhuku k", + "а ÑĤоÑĢа", + "аÑĤ оÑĢа", + "аÑĤоÑĢ Ð°", + "аÑĤо ÑĢа", + "ĠاÙĦ عÙĨ", + "ĠاÙĦع ÙĨ", + "ïº ĺ", + "ün üz", + "ünü z", + "Ñģ оÑĤ", + "Ñģо ÑĤ", + "ุ ษ", + "Ġd ương", + "ov ny", + "Ġ ÑĦоÑĢма", + "ĠÑĦоÑĢм а", + "ĠÑĦоÑĢ Ð¼Ð°", + "ãģĹ ãģ®", + "ãģĹãģ ®", + "ز ÙĬز", + "زÙĬ ز", + "ĠاÙĦÙĨ اس", + "Ġ Ñĩим", + "ĠÑĩ им", + "ĠÑĩи м", + "大 人", + "Ú¯ ÙĬ", + "ĠÐĵ оÑģп", + "é¢Ĩ 导", + "Ġn inh", + "Ġni nh", + "Ġnin h", + "Ġร าà¸Ħา", + "Ġราà¸Ħ า", + "ÙĤ اء", + "ìī ¬", + "ĠìĿ´ ìłĦ", + "ĠÃ¶ÄŁret men", + "ĠÑĨвеÑĤ а", + "ен ноÑģÑĤÑĮ", + "енно ÑģÑĤÑĮ", + "大 ãģį", + "ĠмиÑģÑĤ еÑĨÑĤ", + "ر ÙĪØª", + "رÙĪ Øª", + "p oÅĪ", + "po ÅĪ", + "ĠÅŀ irket", + "ĠкÑĢаÑģ ив", + "ĠÑĢеÑģ ÑĥÑĢÑģ", + "ĠÑĢеÑģÑĥÑĢ Ñģ", + "ä¹ ¾", + "Ġ ÙģÙĩ", + "ĠÙģ Ùĩ", + "ĠY Ãĸ", + "èĬ ³", + "μ ÏīÏĤ", + "ÄĽ ji", + "ÄĽj i", + "Ġв лаж", + "Ġвла ж", + "ĠÑĥв ели", + "ا ذا", + "اذ ا", + "ãĢĤ å¦Ĥæŀľ", + "ĠпÑĢи ÑģÑĥÑĤÑģÑĤв", + "ĠẤ n", + "æĢ ĸ", + "ĠÐľ еÑĤ", + "Ġje dna", + "Ġjed na", + "Ġjedn a", + "Ġc ục", + "Ġcụ c", + "ĠاÙĨت شار", + "Ġз окÑĢема", + "и ÑĩеÑģки", + "иÑĩеÑģ ки", + "ĠкÑĢаÑĹ Ð½Ð¸", + "ĠкÑĢаÑĹн и", + "и ÑĢÑĥ", + "иÑĢ Ñĥ", + "ĠÑĸн ÑĤеÑĢ", + "ĠÑĸнÑĤ еÑĢ", + "Ġан алог", + "Ñ Ľ", + "ี à¸ĭ", + "н Ñĥли", + "нÑĥ ли", + "нÑĥл и", + "ĠN inh", + "ĠNi nh", + "ĠNin h", + "еÑĢ Ð°ÑĤоÑĢ", + "еÑĢа ÑĤоÑĢ", + "Ġr uce", + "Ġru ce", + "ĠÑĪ ÐºÑĸ", + "ĠÑĪк Ñĸ", + "تر ÙĨت", + "Ġson rası", + "Ġsonra sı", + "Ġ æį", + "Ġæ į", + "ÑĨен ÑĤÑĢа", + "ÑĨенÑĤ ÑĢа", + "Ġà¸Ńำ à¹Ģà¸ł", + "Ø· ÙĬ", + "ï¼Į å½ĵ", + "ĠÑĤ ÑĢеÑħ", + "ĠÑĤÑĢ ÐµÑħ", + "Âł H", + "æ´ ª", + "ãĥ³ ãĥĦ", + "ãĥ³ãĥ Ħ", + "ĠвÑĸдповÑĸд алÑĮ", + "âĢĻ daki", + "âĢĻd aki", + "âĢĻda ki", + "á ÅĻi", + "áÅĻ i", + "ĠpÅĻ em", + "ĠpÅĻe m", + "t uk", + "tu k", + "ĠÙ쨱 ÙħÙĪØ¯", + "ĠÙ쨱Ùħ ÙĪØ¯", + "Ġ ìĿ¸ì¦Ŀ", + "ĠìĿ¸ ì¦Ŀ", + "สำ à¸Ļ", + "ìĥģ ìĿĺ", + "ÅĻ ÃŃm", + "ÅĻÃŃ m", + "æ¾ ¤", + "Ġ ÑĢей", + "ĠÑĢ ÐµÐ¹", + "ĠÑĢе й", + "ĠлÑİб ой", + "u jte", + "uj te", + "ë³µ ì§Ģ", + "Ġ درس", + "Ġد رس", + "Ġدر س", + "ĠÐĴ лади", + "ĠÑģво им", + "ĠÑģвои м", + "ĠìĿ¸íĦ° ëĦ·", + "è± Ĭ", + "Ġн алог", + "Ġнал ог", + "ãĤĪ ãģ³", + "ĠØ® اطر", + "Ġ ìŀħëĭĪëĭ¤", + "Ġìŀħ ëĭĪëĭ¤", + "ãĢĤ ãģĹãģĭãģĹ", + "л аг", + "ла г", + "å° ĸ", + "ëĭ ¥", + "ìĬ¤ ëĬĶ", + "ìĭł ì²Ń", + "ãĥĩ ãĥ¼ãĤ¿", + "ĠÑĥÑĢов нÑı", + "Ġ무 ìĬ¨", + "ĠاÙĦØ£ رض", + "à¹ī à¸ķ", + "Ỽ t", + "ĠÙĨÛĮ رÙĪ", + "ĠÙĨÛĮر ÙĪ", + "å¢ ¨", + "ãĤ¶ ãĥ¼", + "r uba", + "ru ba", + "rub a", + "ĠÙĨØ´ دÙĩ", + "и лÑı", + "ил Ñı", + "a cÃŃm", + "ac ÃŃm", + "acÃŃ m", + "ãĥ© ãĤ¯", + "X H", + "Ġس رد", + "Ġسر د", + "Ġद स", + "t ember", + "tem ber", + "ĠDoÄŁ um", + "ĠDoÄŁu m", + "ĠпÑĢ Ð¾ÑĢ", + "ĠпÑĢо ÑĢ", + "θ οÏĤ", + "θο ÏĤ", + "ĠiÅŁ e", + "à¸Ń à¸Ł", + "л аÑĪ", + "ла ÑĪ", + "اص ÙĦÙĩ", + "اصÙĦ Ùĩ", + "l ivÄĽ", + "li vÄĽ", + "liv ÄĽ", + "ë¶Ģ ë¶Ħ", + "н ак", + "на к", + "åįģ ä¸ī", + "ส าห", + "à¸Ľà¸£à¸°à¹Ģà¸Ĺศ à¹Ħà¸Ĺย", + "ãĤŃ ãĥ³ãĤ°", + "ĠмеÑĤ оÑİ", + "Ġkullan arak", + "âij ¡", + "ÛĮز ات", + "ĠÙħÙĪØ¨ اÛĮÙĦ", + "ĠзнаÑĩ иÑĤ", + "Ġзна ÑĩиÑĤ", + "Ġorgan izace", + "Ġorganiz ace", + "ÑĢ Ð¸Ð¸", + "ÑĢи и", + "ov na", + "Ġ ê²½ìłľ", + "Ġê²½ ìłľ", + "ãĢģ å½¼", + "Ġम स", + "Ġ à¹Ĥà¸Ľà¸£", + "Ġà¹Ĥ à¸Ľà¸£", + "L ARI", + "LA RI", + "LAR I", + "æĩ Ĥ", + "Ġ ва", + "Ġв а", + "ĠÙĥ ÙĨت", + "ĠÙĥÙĨ ت", + "ĠÑĢабоÑĤ а", + "ĠÑĢаб оÑĤа", + "ĠÑĢабо ÑĤа", + "Âł ĠÂłĠÂł", + "ÂłĠ ÂłĠÂł", + "ÂłĠÂł ĠÂł", + "好 äºĨ", + "ĠzamÄĽst n", + "ж енÑĮ", + "же нÑĮ", + "жен ÑĮ", + "Ġu kon", + "Ġuk on", + "nÄĽ né", + "nÄĽn é", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "ĠاÙĦخاص Ø©", + "ĠÄį asu", + "ĠÄįas u", + "å°ı 说", + "ĠØŃر کت", + "æij Ħ", + "Ïĩ Ïī", + "ĠÑģв еж", + "æĸ° éĹ»", + "Ġ ìĭ±", + "Ġìĭ ±", + "Ġe ÄŁer", + "ĠeÄŁ er", + "Ġsitu ace", + "Ġ ç·¨", + "Ġç ·¨", + "Ġç· ¨", + "f ik", + "fi k", + "ë§ Īëĭ¤", + "ë§Ī ëĭ¤", + "Îķ Îļ", + "Ġê°ľ ìµľ", + "Ġc Ãł", + "ا دث", + "اد Ø«", + "Ġsay ıda", + "Ġsayı da", + "ĠØ£ Ù쨶ÙĦ", + "ĠØ£Ùģ Ø¶ÙĦ", + "æ³ķ éĻ¢", + "Ġ .,", + "Ġ. ,", + "ĠTh ương", + "Ïģ ÏĮÏĤ", + "ÏģÏĮ ÏĤ", + "ãģĹ ãĤĪãģĨ", + "Ç İ", + "æ ij¸", + "æij ¸", + "Ġ éϳ", + "ĠéĻ ³", + "¥ IJ", + "ฤ à¸Ķ", + "Ġgi ảng", + "Ġgiả ng", + "Ġgiản g", + "ĠлÑİ Ð±Ð¾Ð²", + "ĠлÑİб ов", + "Ġek ran", + "о пиÑģ", + "оп иÑģ", + "еж дÑĥ", + "Ġназ ва", + "æĭ ĵ", + "ı f", + "à¹Ī à¸ģ", + "и ÑĩнÑĸ", + "иÑĩ нÑĸ", + "Ġ ê³Ħíļį", + "Ġê³Ħ íļį", + "à¸ł าà¸Ħม", + "à¸łà¸²à¸Ħ ม", + "Ġ اپ", + "Ġا Ù¾", + "리 ìĿĺ", + "ãģ§ãģĻ ãģĮ", + "Ġkon ci", + "Ġکار خاÙĨÙĩ", + "Ġ ä½ķ", + "ĠÑĤ ва", + "ĠÑĤв а", + "ĠÐŁ оÑģÑĤ", + "ĠÐŁÐ¾ ÑģÑĤ", + "ĠÐŁÐ¾Ñģ ÑĤ", + "ĠапÑĢ ÐµÐ»Ñı", + "ĠاÙĦع راÙĤ", + "ä¸Ń åįİ", + "à¹ĩ à¸Ńà¸ģ", + "à¥įत à¤ķ", + "Ġz ájem", + "Ġzá jem", + "Ġدر جÙĩ", + "Ġब à¥ľ", + "ĠÑģÑĤ ÑĢан", + "ĠÑģÑĤÑĢ Ð°Ð½", + "ĠÑģÑĤÑĢа н", + "èѦ å¯Ł", + "Ġyer leÅŁtir", + "ĠyerleÅŁ tir", + "ĠV Å©", + "ç¾İ åħĥ", + "Ġì¡° ê¸Ī", + "Ġ รà¸Ńà¸ĩ", + "Ġร à¸Ńà¸ĩ", + "Ġak adem", + "Ġaka dem", + "à¸Ħ à¸ĵะ", + "Ġpoz it", + "Ġkon eÄį", + "Ġkone Äį", + "è°ĥ æŁ¥", + "Ġ ãģĭ", + "ĠÄįerv ence", + "ĠOd kazy", + "ĠëıĦ ìĭľ", + "ั สà¸Ķ", + "ัส à¸Ķ", + "Ġg ái", + "ĠÐł об", + "Ġб оÑı", + "Ġбо Ñı", + "æī ©", + "å¼Ģ å±ķ", + "a nik", + "an ik", + "ani k", + "Ġvy ž", + "ĠbaÅŁ lay", + "Ġbak Ä±ÅŁ", + "ek ce", + "ÑģÑĤ ика", + "ÑģÑĤи ка", + "еÑĢа ÑĤÑĥÑĢа", + "еÑĢаÑĤÑĥ ÑĢа", + "Ġë¶Ħ ë¥ĺ", + "ĠPo Äįet", + "od áÅĻ", + "ëĭĺ ìĿĺ", + "Ġk lid", + "Ġkl id", + "Ġkli d", + "Û² Û¹", + "ĠÚĨ ÛĮز", + "m ür", + "Ġs ứ", + "ÙĬا ÙĨØ©", + "ÙĬاÙĨ Ø©", + "åĬ ±", + "Ġ oku", + "Ġo ku", + "Ġok u", + "Ġв оди", + "Ġво ди", + "Ġвод и", + "ĠزÛĮر ا", + "ĠزÛĮ را", + "大 åĪ©", + "ĠÙĦ ÛĮÙĨÚ©", + "ĠÙĬ جب", + "ĠÙĬج ب", + "Ùħ ÛĮÙĦ", + "ÙħÛĮ ÙĦ", + "ĠÏĥ ÏĦÏģα", + "æĻ ĵ", + "ิ สà¸ķ", + "ิส à¸ķ", + "ĠÅŁ iddet", + "ĠÑĢекомен да", + "Ġpožad av", + "Ġп ÑĸÑģ", + "åħ¬ å¼ı", + "Ġ Ú¯ÛĮرÛĮ", + "ĠÚ¯ ÛĮرÛĮ", + "ĠÚ¯ÛĮ رÛĮ", + "ĠÚ¯ÛĮر ÛĮ", + "к ÑĤа", + "кÑĤ а", + "ĠÙħÙĨ اطÙĤ", + "Ġfirm y", + "Ġfir my", + "Ġ à¹Ħà¸Ľ", + "Ġà¹Ħ à¸Ľ", + "Ġ ÎŃÏģγ", + "ĠÎŃ Ïģγ", + "å¿« éĢŁ", + "ãģĮ ãģªãģĦ", + "н еÑģÑĤи", + "не ÑģÑĤи", + "неÑģ ÑĤи", + "Ġ ç²¾", + "Ġç² ¾", + "ÑĢ Ð°Ð´Ð¸", + "ÑĢа ди", + "ÑĢад и", + "ãĤĴ ãģĭ", + "ïº ª", + "ky nÄĽ", + "Ġह त", + "t ak", + "ta k", + "ĠÙĬÙĪÙĨ ÙĬÙĪ", + "ö ÄŁ", + "Ġ ÑĢÑĥк", + "ĠÑĢ Ñĥк", + "ĠÑĢÑĥ к", + "åľĭ éļĽ", + "Ñİ ÑģÑĮ", + "Ġдав но", + "Ġp opis", + "Ġpop is", + "Ġpo pis", + "ĠB İL", + "ĠÙĨ ÙĤد", + "ĠÙĨÙĤ د", + "ĠÑģп ож", + "ÑĨион нÑĭÑħ", + "ĠÑĪ Ð¿", + "Ñĥ ÑİÑīиÑħ", + "ÑĥÑİ ÑīиÑħ", + "ÑĥÑİÑī иÑħ", + "ĠвоздÑĥ Ñħ", + "ÑĤ ие", + "ÑĤи е", + "ĠU ž", + "ÏĮ δ", + "à¸ģร าà¸Ħม", + "Ġalan ında", + "Ġalanı nda", + "Ġs ắt", + "ãĥIJ ãĤ¤", + "Ng Ãły", + "Ġ ë¹Į", + "Ġë¹ Į", + "ï¼ī ãģ¯", + "Ġ ä¿¡", + "Ðķ С", + "ĠT ato", + "ĠTa to", + "ĠTat o", + "Ġún ora", + "e rap", + "er ap", + "era p", + "Ä ł", + "ĠT áºŃp", + "Ġкомп ании", + "ãĥ© ãĤ¤ãĥĪ", + "ãĥ©ãĤ¤ ãĥĪ", + "éľĢ æ±Ĥ", + "Ġت ÙĪÙĤ", + "ĠتÙĪ ÙĤ", + "âĢĻ âĢĻ", + "ëŀį ëĭĪëĭ¤", + "ĠквÑĸÑĤ нÑı", + "Ġoyun cu", + "ÂĢÂĢÂĢÂĢ ÂĢÂĢÂĢÂĢ", + "åĨ Ĭ", + "Ġyap mÄ±ÅŁ", + "ัà¸ĩ à¹Ħม", + "Ġзап аÑħ", + "á la", + "ál a", + "ĠÑĤеÑħ ниÑĩеÑģ", + "Ġ ØŃص", + "ĠØŃ ص", + "ร à¸Ķ", + "å¼ Ħ", + "ĠÚ¯ÛĮ اÙĩ", + "اÙĩ رة", + "اÙĩر Ø©", + "Ġà¤ı ड", + "ним аеÑĤ", + "нима еÑĤ", + "ا دÙĨ", + "اد ÙĨ", + "Îľ Îij", + "Ġ 社", + "Ġç¤ ¾", + "аÑĢ Ñĩ", + "ت ز", + "æ¶ ¦", + "in izin", + "ini zin", + "iniz in", + "inizi n", + "Ġbey az", + "Ġ بÙĪÙĦ", + "Ġب ÙĪÙĦ", + "ĠبÙĪ ÙĦ", + "åĿ ¡", + "ãģ® ãĤĪãģĨãģ«", + "Ġyap tıģ", + "Ġyaptı ÄŁ", + "Ġd aģı", + "Ġda ģı", + "ĠdaÄŁ ı", + "ĠbaÅŁ arı", + "ĠbaÅŁar ı", + "Ġ ÏĢά", + "ĠÏĢ Î¬", + "ĠпÑĢод аж", + "B á»Ļ", + "Ġत त", + "Ġpod stat", + "Ġpods tat", + "Ġ æµģ", + "Ġæµ ģ", + "Ġzdrav ÃŃ", + "Ġ ç¡", + "Ġç ¡", + "Ġ opak", + "Ġo pak", + "Ġop ak", + "Ġhá»į a", + "æĭ Ķ", + "Ñĥ жд", + "Ñĥж д", + "Ġtr ứng", + "ÙĪØ± ÙĬØ©", + "ÙĪØ±ÙĬ Ø©", + "Ñĭ л", + "um suz", + "ums uz", + "Ġ سبب", + "Ġسب ب", + "许 å¤ļ", + "å®ŀ éªĮ", + "Ġб оли", + "Ġбол и", + "Ġбо ли", + "Ġd uyá»ĩt", + "áºŃ c", + "ĠÐij ез", + "ĠبÙĦ ÙĨد", + "м м", + "ÑĢ ÐµÐ»", + "ÑĢе л", + "N İ", + "Ġ ãĥ¯", + "Ġãĥ ¯", + "éĭ ¼", + "ĠÑģв Ñı", + "Ġ åIJİ", + "ĠåIJ İ", + "Ġmu ht", + "Ġmuh t", + "ĠпÑĢоблем и", + "ĠÑĤÑıж ел", + "ĠС ем", + "ฤษ à¸łà¸²à¸Ħม", + "à¹Ī าà¸ķ", + "à¹Īา à¸ķ", + "ör ü", + "üy orum", + "üyor um", + "ĠاÙĦØ£ ØŃ", + "ĠÑģÑĤÑĢ Ð°ÑĪ", + "ĠÑģÑĤÑĢа ÑĪ", + "h oo", + "ho o", + "ध र", + "Ġt lak", + "Ġtl ak", + "Ġsrp na", + "ifik ace", + "Ġ reh", + "Ġre h", + "Ġr eh", + "Ġм инÑĥ", + "Ġмин Ñĥ", + "Ġми нÑĥ", + "ãĢĢ j", + "ĠгÑĢÑĥ пи", + "ĠгÑĢÑĥп и", + "Ġ άλ", + "Ġά λ", + "Ġolur sa", + "λογ ία", + "ĠÐĴ ик", + "ĠÐĴи к", + "Ġmüc adel", + "Ġz ávÄĽ", + "Ġzá vÄĽ", + "Ġzáv ÄĽ", + "ĠÑĦев ÑĢа", + "Äį ná", + "à¹Į à¹Ģà¸ĭ", + "ĠÙĦ ÙĦØŃ", + "ĠÙĦÙĦ ØŃ", + "ÑĢ Ð¸Ð¿", + "ÑĢи п", + "Ġб Ñĥк", + "ĠбÑĥ к", + "ãģĪ ãģªãģĦ", + "Ġpo rad", + "Ġpor ad", + "Ġsa mostat", + "Ġsam ostat", + "Ġsamo stat", + "Ġt esis", + "Ġte sis", + "Ġtes is", + "اب ÙĤÙĩ", + "ابÙĤ Ùĩ", + "Ġجد ÙĬدة", + "ĠجدÙĬد Ø©", + "éĢ Ĵ", + "âĶģ âĶ", + "س ÛĮÙĨ", + "سÛĮ ÙĨ", + "Ġgerek tiÄŁini", + "ียà¸Ļ à¸ļ", + "è¨Ģ ãģ£ãģ¦", + "ĠÑĸн ÑĤеÑĢеÑģ", + "ĠÑĸнÑĤеÑĢ ÐµÑģ", + "ĠÑı ким", + "ĠÑıк им", + "Ġ æĢ»", + "ĠæĢ »", + "k ovou", + "ko vou", + "kov ou", + "Ġd emek", + "Ġde mek", + "Ġdem ek", + "اÙĨ ÙĬا", + "اÙĨÙĬ ا", + "Ġdom ů", + "Å¡ nÃŃ", + "ate ÅĻ", + "åĢ «", + "δο Ïĥη", + "Ġ 기ìĹħ", + "Ġ기 ìĹħ", + "åĶ ĩ", + "ì¹ ł", + "Ñĸ дÑĥ", + "Ñĸд Ñĥ", + "린 ìĿ´", + "æľĢ åĪĿ", + "è ¸ı", + "è¸ ı", + "æĥ³ åΰ", + "à¥į बर", + "à¥įब र", + "Ġ ìŀĶ", + "Ġìŀ Ķ", + "ĠÑĢаз нÑĭÑħ", + "k rom", + "kr om", + "ι αν", + "ια ν", + "Ġд ÑĢÑĥз", + "ĠдÑĢÑĥ з", + "ĠдÑĢ Ñĥз", + "ä »¿", + "ä» ¿", + "Ġê·¸ ëłĩ", + "Ġд алÑĸ", + "Ġда лÑĸ", + "Ġдал Ñĸ", + "æķĪ æŀľ", + "Ġह व", + "è¼ Ŀ", + "Ġì°¸ ê³ł", + "Ġ ìĨĶ", + "ĠìĨ Ķ", + "Ġz nal", + "Ġzn al", + "ĠпеÑĢ Ñģ", + "ÙIJ Ùij", + "ĠÑĤ еж", + "ĠÑĤе ж", + "åĭ Ł", + "ι θ", + "Äį ů", + "Ġe kip", + "Ġek ip", + "Ġk hung", + "Ġkh ung", + "Ġkhu ng", + "éĹ ĺ", + "ĠتصÙħ ÛĮÙħ", + "о иÑĤ", + "ĠÑħ ол", + "æĬ ŀ", + "a mam", + "am am", + "ama m", + "Ġâĸ ³", + "ãģ ĩ", + "Ġع ÙĨÙĩ", + "ĠعÙĨ Ùĩ", + "Ġì°¸ ê°Ģ", + "ĠÎļ ÏĮ", + "åı¤ å±ĭ", + "к овоÑĹ", + "ков оÑĹ", + "ково ÑĹ", + "ศ à¸Ī", + "олог иÑı", + "ĠÙħØ« بت", + "ĠÐļÑĢа ÑĹна", + "ĠмеÑģÑı ÑĨев", + "Ġalın an", + "ĠÏĢÏģα γμα", + "Ġ ìŀ¡ëĭ´", + "Ġìŀ¡ ëĭ´", + "Ġп лод", + "Ġпл од", + "Ġпло д", + "ĠÑĤка ни", + "ÑģÑĭ лки", + "ÑģÑĭл ки", + "سط س", + "ra nÄĽ", + "ran ÄĽ", + "к аж", + "ка ж", + "е маÑĤи", + "ем аÑĤи", + "ема ÑĤи", + "Ġز ÛĮست", + "ĠزÛĮ ست", + "æ¿ Ł", + "Ġpop lat", + "Ġpo plat", + "γ ÎŃν", + "íĨł íĨł", + "Ġt ây", + "Ġìµľ ê·¼", + "ãĥ© ãĥ³ãĤ¹", + "ãĥ©ãĥ³ ãĤ¹", + "Ġgün eÅŁ", + "Ġ ÙģÙĤ", + "ĠÙģ ÙĤ", + "ĠsaÄŁ layan", + "ĠsaÄŁlay an", + "ĠØŃ زب", + "à¥ģल न", + "ĠB ilim", + "ĠBi lim", + "ĠBil im", + "ĠB atı", + "ĠBa tı", + "ĠBat ı", + "æł· çļĦ", + "δ ικ", + "δι κ", + "α ÏģίοÏħ", + "αÏģ ίοÏħ", + "Ġ ìĽĢ", + "ĠìĽ Ģ", + "Ġl á»Ńa", + "ÙĨ ÙĪØ¹", + "çİ ²", + "а ном", + "ан ом", + "ано м", + "Ġst átnÃŃ", + "Ġstát nÃŃ", + "Ġ äºİ", + "Ġm ùi", + "ĠÄij á»Ļt", + "ĠÄijá»Ļ t", + "æ² ĥ", + "åħ¬ åľĴ", + "ĠÑģ ÑĮогоднÑĸ", + "но Ñģи", + "ноÑģ и", + "Z a", + "Ġд ли", + "ĠÏĥÏħν ÎŃ", + "ĠV á»ĭ", + "m av", + "ma v", + "ĠM üslüman", + "/ ï¼ı", + "ĠзаÑī иÑĤ", + "é ĸī", + "éĸ ī", + "Ġ çģ«", + "Ġçģ «", + "Ġ å·Ŀ", + "Ġå· Ŀ", + "Ġ аж", + "Ġа ж", + "è¿ĩ æĿ¥", + "à¸Ĺ าà¸Ļ", + "ĠAr aÅŁtır", + "ĠAra ÅŁtır", + "Õ¡ Õ", + "Ġpo mÄĽr", + "Ġpom ÄĽr", + "Ġd ům", + "Ġdů m", + "å¦ ®", + "Ġhlav nÄĽ", + "Ġfin ans", + "Ġfinan s", + "Ġ γνÏī", + "Ġγ νÏī", + "ÏĥÏĦη μα", + "ï¼Į ç͍", + "ìĭŃ ìĭľìĺ¤", + "ĠÙħ ثاÙĦ", + "ĠÙħØ« اÙĦ", + "- Ðij", + "ÑĨÑĸй нÑĸ", + "Ġد ستÙĩ", + "Ġدست Ùĩ", + "Ġدس تÙĩ", + "à¥ī स", + "ÑĢ Ñĸп", + "ÑĢÑĸ п", + "ĠpÅĻi pom", + "ĠpÅĻip om", + "Ġ ÙĪÙĦÙĬ", + "ĠÙĪ ÙĦÙĬ", + "ĠÙĪÙĦ ÙĬ", + "ĠÙĪ Ø²ÙĨ", + "ĠÙĪØ² ÙĨ", + "Ġelekt rik", + "Ġelektr ik", + "ĠQu ân", + "i vé", + "iv é", + "Ġl ẽ", + "ç®Ģ åįķ", + "Ġon lara", + "Ġonlar a", + "оÑģ лав", + "ìĭľ íĤ¤", + "ëª ¬", + "ĠÙħÙĤ دار", + "ĠÙħÙĤد ار", + "ĠOr ta", + "ĠOrt a", + "ĠS eç", + "ĠSe ç", + "ĠÙĨÙĪÙģ Ùħبر", + "ุà¸Ļ ายà¸Ļ", + "ĠÑĥм ови", + "ĠÑĥмов и", + "Ġपर म", + "Ġ strom", + "Ġst rom", + "Ġstr om", + "Ġstro m", + "ĠкÑĢа Ñīе", + "ç§ ¦", + "缸 æīĭ", + "鼻 è¦ĸ", + "Ġuygu lama", + "Ġuygulam a", + "Ġ ÑĢиз", + "ĠÑĢ Ð¸Ð·", + "æĪ ²", + "य र", + "ĠH lav", + "Ġ ìĭ¸", + "Ġìĭ ¸", + "Ġли пнÑı", + "ÅĪ ujÃŃ", + "ÑĢ Ð¸Ð·", + "ÑĢи з", + "é«ĺ éĢŁ", + "缸 å½ĵ", + "k enin", + "ke nin", + "ken in", + "Ġо ÑģÑĤанов", + "ĠоÑģÑĤ анов", + "ĠоÑģÑĤан ов", + "Ġbit k", + "Ġbi tk", + "ova ného", + "ovan ého", + "ované ho", + "ĠÐľ аÑĢи", + "ĠÐľÐ°ÑĢ Ð¸", + "ĠÐľÐ° ÑĢи", + "èµ ¶", + "ì½ ©", + "Ġölç ü", + "ĠС еÑĢед", + "ĠСеÑĢ ÐµÐ´", + "ĠTh á»Ŀi", + "Ïī να", + "Ïīν α", + "ÙĪ Ø¨Ø©", + "ÙĪØ¨ Ø©", + "Ġch ụp", + "âĢĮ د", + "Ġch áy", + "ĠÐĴ ели", + "Ġоб ÑģÑĤ", + "ĠобÑģ ÑĤ", + "Ġìĭľ ì¦Į", + "د ÙħØ©", + "دÙħ Ø©", + "п од", + "по д", + "l ue", + "lu e", + "ĠдÑĸ лÑıн", + "ĠÙ¾ ÙĪØ³Øª", + "ĠاÙĦ ÙĨس", + "ĠاÙĦÙĨ س", + "èĤ Į", + "ìĪĺ 를", + "Ġú rov", + "ĠÙħØ´ Ú©ÙĦ", + "ĠÙħØ´Ú© ÙĦ", + "éĩįè¤ĩ éĩįè¤ĩ", + "н ез", + "не з", + "Ġdop oruÄį", + "Ġtas arım", + "Ġtasar ım", + "íģ¬ ê¸°", + "ìĿ´ ìħĺ", + "Ġde set", + "Ġdes et", + "Ġdese t", + "ĠÙħرتب Ø·", + "ัà¸Ĵ à¸Ļา", + "ัà¸Ĵà¸Ļ า", + "' ı", + "Ñĩ ки", + "ĠìŀĪ ëįĺ", + "ÑĪ ÐºÐ°", + "n ám", + "ná m", + "ÑģÑĤ ÑĢов", + "ÑģÑĤÑĢ Ð¾Ð²", + "ÑģÑĤÑĢо в", + "à¥į सर", + "à¥įस र", + "нÑĥ лаÑģÑĮ", + "нÑĥла ÑģÑĮ", + "ãģ¡ãĤĩ ãģ£ãģ¨", + "Ġ å¦", + "Ġå ¦", + "γ ÏĮ", + "Ġ é»ij", + "Ġé» ij", + "X em", + "Ġt á»ĩ", + "Ġtá» ĩ", + "ĠëĮĢ íĨµëł¹", + "기 ê´Ģ", + "æīį èĥ½", + "è¯Ń è¨Ģ", + "ed eyse", + "ĠТ Ñĭ", + "ĠÑģо един", + "ĠìĹĨ ìĬµëĭĪëĭ¤", + "Ñı ÑİÑĤ", + "à¹ģ หล", + "à¹ģห ล", + "Ġì§Ģ ë°©", + "Ġosob nÃŃ", + "ÛĮ ÙĦÛĮ", + "ÛĮÙĦ ÛĮ", + "Ġавг ÑĥÑģÑĤа", + "Ñī ик", + "Ñīи к", + "Ġvý Å¡e", + "g th", + "gt h", + "ĠÏĢ Î±Î½", + "ĠÏĢα ν", + "ج ار", + "جا ر", + "Ġвид ов", + "Ġви дов", + "ìĿ´ ìĬĪ", + "ĠÐij аÑĢ", + "ĠÏĮ ÏĢοÏħ", + "æ¤ ħ", + "Ġع اÙĦÛĮ", + "ĠQ uyết", + "ĠQuy ết", + "Ãľ M", + "ãĥĿ ãĤ¤ãĥ³ãĥĪ", + "Ġ ê¹Į", + "Ġê¹ Į", + "Ġкан ди", + "k ového", + "kov ého", + "kové ho", + "ĠMerk ez", + "Ġy iy", + "Ġyi y", + "ĠpÅĻÃŃ spÄĽ", + "ĠÑĤемпеÑĢаÑĤÑĥ ÑĢÑĭ", + "ĠÙ¾ ÙĬ", + "ฤ ศà¸Ī", + "è°ĥ ç͍", + "ĠÑģÑĤоÑĢ Ð¾Ð½Ñĥ", + "ĠÑģÑĤоÑĢон Ñĥ", + "à¹ī à¸Ĭ", + "好 ãģį", + ". Åŀ", + "Ġп ÑĢоз", + "ĠпÑĢ Ð¾Ð·", + "ĠпÑĢо з", + "ÙĨت اج", + "鼻 åŃIJ", + ".: .:.", + ".:.: .", + ".:. :.", + "è¨ ĵ", + "и ÑĩеÑģкое", + "иÑĩеÑģ кое", + "Ġн оги", + "Ġно ги", + "Ġног и", + "Ġ λÎŃ", + "Ġλ ÎŃ", + "Ġsık ıntı", + "Ġê°Ģ 족", + "ĠتÙĨ ظÙĬÙģ", + "ĠتÙĨظ ÙĬÙģ", + "Ġö dül", + "ĠaÅŁaģı daki", + "Ġž elez", + "Ġže lez", + "ĠاÙĦع دÙĬد", + "غ ÙĨ", + "Ġокон Ñĩ", + "ÑĢем Ñı", + "ÑĢе мÑı", + "L İ", + "Ġne jd", + "Ġnej d", + "Ġ ÏĢλα", + "ĠÏĢ Î»Î±", + "Ñģ ко", + "Ñģк о", + "Ġ ìĪĻ", + "ĠìĪ Ļ", + "ĠÙ¾ ÙĪÙĦ", + "θεν ήÏĤ", + "Ġ주 ìļĶ", + "Ġ æĬ¥", + "ĠæĬ ¥", + "ĠÙħ Ùħا", + "ĠÙħÙħ ا", + "Ðł Ð¡Ðł", + "ĠÑĢа дÑĸ", + "ĠÑĢад Ñĸ", + "ä¸Ģ ç§į", + "é¾ Ħ", + "Ġsö yl", + "Ġsöy l", + "Ïģκε ια", + "Ïģκ εια", + "Ġзем лÑĸ", + "Ġve Äįer", + "g eç", + "ge ç", + "س تÙħ", + "ست Ùħ", + "Ġse fer", + "ĠÑģ вÑĸд", + "ĠÑģв Ñĸд", + "ï»Ł ï»", + "а лов", + "ал ов", + "ало в", + "ìĬ¤ 를", + "âī ¥", + "ĠتÙĦ ÙģÙĨ", + "ĠتÙĦÙģ ÙĨ", + "åİ» äºĨ", + "़ à¥ĭà¤Ĥ", + "़à¥ĭ à¤Ĥ", + "ĠÑĦоÑĢм е", + "ĠÑĦоÑĢ Ð¼Ðµ", + "d üm", + "dü m", + "åħ ģ", + "ÑĢ Ð°Ð¿", + "ÑĢаР¿", + "ÑĢа п", + "ĠV ương", + "à¸Ńะ à¹Ħร", + "ัà¸ģษ à¸ĵ", + "Ġ åį³", + "Ġåį ³", + "ĠاÙĦ رÙħ", + "ĠاÙĦر Ùħ", + "ĠзаÑħиÑģÑĤ Ñĥ", + "° E", + "o dÃŃ", + "od ÃŃ", + "Ġव न", + "ĠÄij èn", + "Ġ åıĹ", + "Ġåı Ĺ", + "èIJ½ ãģ¡", + "Ġ zim", + "Ġz im", + "Ġzi m", + "리 ì¦Ī", + "èĪ Ĵ", + "Ġзб ÑĸÑĢ", + "Ġ ä»·æł¼", + "ĠлÑİ Ð´Ð¸Ð½Ð°", + "ĠлÑİд ина", + "ĠлÑİди на", + "ĠÐŁÐ¾Ñģ иланнÑı", + "и Ñī", + "ĠÎ ¨", + "ิà¸ģ ายà¸Ļ", + "ิà¸ģา ยà¸Ļ", + "Ġbu dete", + "Ġbud ete", + "Ġbude te", + "Ġз ÑĢоÑģÑĤ", + "Ġ vyk", + "Ġv yk", + "Ġvy k", + "ĠÐĹ ÐµÐ¼", + "ĠиÑİ Ð½Ñı", + "ĠmÄĽ lo", + "ĠmÄĽl o", + "ÙĦ اÙģ", + "ÙĦا Ùģ", + "Ġ ÙĪØ´", + "ĠÙĪ Ø´", + "ĠÑģп ÑĢави", + "ĠÑģпÑĢав и", + "ãģĻ ãģİ", + "ĠгÑĢа дÑĥ", + "ĠгÑĢ Ð°Ð´Ñĥ", + "R oz", + "Ro z", + "ι νή", + "ιν ή", + "Ġch á»ĵng", + "ä¸Ģ åį·", + "Ġ Xem", + "ĠX em", + "ĠÑģимв ол", + "ĠÑģим вол", + "Ġod mÃŃt", + "ĠÑĢÑıд ом", + "ĠÑĢÑı дом", + "ĠÑĩеÑĢв нÑı", + "à¸ģระ à¸Ĺ", + "人 人", + "æ°Ĺ æĮģãģ¡", + "un daki", + "und aki", + "unda ki", + "åľĭ å®¶", + "εÏģ μαν", + "Ġ лÑĮ", + "Ġл ÑĮ", + "ĠN üfus", + "Ġм еÑĢе", + "ĠмеÑĢ Ðµ", + "بر اÙĬر", + "н аннÑı", + "Ġ наÑĢ", + "Ġн аÑĢ", + "Ġна ÑĢ", + "Ġt ấm", + "æĸ½ å·¥", + "é¡ ¯", + "Ġh è", + "æĺİ çϽ", + "Ġдо гов", + "Ġдог ов", + "ĠÙģ Ø±Ùħ", + "ĠÙ쨱 Ùħ", + "èĢ Ĺ", + "ìĬ¤ ìĿĺ", + "ìĦ¸ ëĮĢ", + "è¯ ļ", + "Ġнеб олÑĮ", + "Ġ à¸Ľà¸£à¸°à¸ģ", + "Ġà¸Ľà¸£à¸° à¸ģ", + "Ġì¹ ¼", + "Ġov liv", + "Ġ NGC", + "ĠN GC", + "ĠNG C", + "ãĢĤ ä¸į", + "ا ÙĦÙī", + "اÙĦ Ùī", + "æī £", + ". ÐIJ", + "ÑĢа ÑģÑĤа", + "ÑĢаÑģ ÑĤа", + "ÑĢаÑģÑĤ а", + "ĠÃĩ ev", + "ãģ£ ãģ¡", + "ãģ£ãģ ¡", + "ï¼Į éĥ½", + "Ġrov nÄĽÅ¾", + "ĠÏĩÏģÏĮ νια", + "Ġì¡° ìĦł", + "ĠØ¢ باد", + "Ġآب اد", + "ĠÐľ аÑģ", + "ĠÐľÐ° Ñģ", + "çϼ å±ķ", + "ä» Ķ", + "Ġkend isini", + "Ġkendisi ni", + "à¹Īà¸Ńà¸ĩ à¹Ģà¸Ĺ", + "ĠV ÄĽ", + "Ġr ượu", + "Ġm áme", + "Ġmá me", + "Ġmám e", + "ĠоÑĩеÑĢед ÑĮ", + "Ġسب تÙħبر", + "Ġб ок", + "Ġбо к", + "ì§Ģ ìĹŃ", + "Ġتا Ø«ÛĮر", + "Ġتاث ÛĮر", + "Ġl isans", + "Ġli sans", + "Ġlis ans", + "Ġger ektir", + "Ġgerek tir", + "Ġs izi", + "Ġsi zi", + "Ġsiz i", + "Ñĸ но", + "Ñĸн о", + "ĠM Ã¼ÅŁ", + "ĠMü ÅŁ", + "ãģı ãĤīãģĦ", + "ãģıãĤī ãģĦ", + "Ġза клÑİÑĩ", + "Ġзак лÑİÑĩ", + "ãģĵãģ¨ ãģ«", + "è¨Ģ ãģĦ", + "ãĢģ å°ı", + "Ġet mektedir", + "Ġetm ektedir", + "åł± åijĬ", + "Ġkar Ä±ÅŁ", + "Ġоб лад", + "Ġобла д", + "Ġобл ад", + "å¥ ij", + "ra cat", + "rac at", + "ĠارتÙģ Ø§Ø¹", + "μ αι", + "μα ι", + "íĶ Ī", + "ĠÙĪ ÙĦÙħ", + "ĠÙĪÙĦ Ùħ", + "ëĬĶ ì§Ģ", + "lom ou", + "Ġли ÑĨа", + "ĠлиÑĨ а", + "ĠìĿĮ ìķħ", + "Ġhod nÄĽ", + "èĭ± æĸĩ", + " Ħ", + "à¹ī าà¸Ĥà¸Ńà¸ĩ", + "à¹īา à¸Ĥà¸Ńà¸ĩ", + "Ġê³Ħ ìķ½", + "åIJĦ ç§į", + "ĠÙħر Ú¯", + "éĶ ģ", + "Ġन द", + "ãĥĭ ãĥ¡", + "Ġ ем", + "Ġе м", + "Ġe leÅŁtir", + "Ġel eÅŁtir", + "Ġele ÅŁtir", + "Ġ íĬ¹ë³Ħ", + "ĠíĬ¹ ë³Ħ", + "ĠÎ¥ ÏĢο", + "Å¡ ker", + "Å¡k er", + "L ERİ", + "LER İ", + "æ² Ī", + "l ikleri", + "lik leri", + "likle ri", + "likler i", + "ĠÙħÙĩÙĨد سÛĮ", + "ĠbaÄŁ ır", + "dı ģını", + "dıģ ını", + "ĠاÙĦ تد", + "ĠاÙĦت د", + "à¸¸à¸Ľ à¸ģรà¸ĵ", + "ĠÑģлед ÑĥÑİÑīие", + "ĠÑģледÑĥÑİÑī ие", + "Ġì§ģ ìłij", + "å° ¤", + "ĠоÑģнов Ñĸ", + "Ġt ÄĽla", + "ĠtÄĽ la", + "ĠtÄĽl a", + "Ġп ак", + "Ġпа к", + "iz ace", + "iza ce", + "Ġná rod", + "Ġnáro d", + "a ný", + "an ý", + "ĠÑį п", + "Ġüç üncü", + "Î¥ Ρ", + "éĨ´ éĨ´", + "à¹Ģà¸ģ à¸Ńร", + "âĢĮاÙĨ بار", + "ç¶ Ļ", + "Îij Îł", + "ı lıģı", + "ılı ģı", + "ıl ıģı", + "ılıģ ı", + "ĠÃľ rün", + "Ġдоз вол", + "Ġ íĥĪ", + "Ġíĥ Ī", + "Ġà¤ĵ वर", + "è« ¸", + "èĺ ĩ", + "ĠпÑĢоÑģÑĤ ÑĢан", + "éĿĴ å¹´", + "ãģ® æĸ¹", + "ĠÚĨ Ú¯ÙĪÙĨÙĩ", + "ÙĦ Ø·", + "âĢľ æĪij", + "Ġëĭ¤ìļ´ ë°Ľ", + "ा .Ċ", + "ा. Ċ", + "Ġmüc adele", + "Ġmücadel e", + "Ġc ÃŃt", + "ĠcÃŃ t", + "à¹Īวม à¸ģ", + "ÄŁ ına", + "ģı na", + "ģın a", + "ê°ľ ë°ľ", + "ĠÏĢ Î±Î¹Î´", + "ĠÏĢα ιδ", + "ĠÏĢαι δ", + "ض اÛĮ", + "ضا ÛĮ", + "Ġbor ç", + "íĬ ľ", + "ĠخدÙħ ت", + "Ġخد Ùħت", + "Ġu dál", + "Ġud ál", + "Ġ виг", + "Ġв иг", + "Ġви г", + "Ġ ë°°ìĨ¡", + "Ġë°° ìĨ¡", + "å¹ ¾", + "Ùİ Ø¬", + "Ġ ìĹĺ", + "ĠìĹ ĺ", + "çĢ ¬", + "ï Ģ", + "ĠÎij θή", + "пÑĢи клад", + "ĠпÑĢи Ñĩина", + "ĠпÑĢиÑĩин а", + "ĠпÑĢиÑĩ ина", + "ĠÙģ Ø´Ø§Ø±", + "æ »¿", + "æ» ¿", + "Ġd ostat", + "Ġdo stat", + "Ġdos tat", + "Ġdost at", + "Ġ졸 ìĹħ", + "Ġا رز", + "Ġار ز", + "ÙĪÙĦ ÙĪØ¬", + "ÙĪÙĦÙĪ Ø¬", + "س ÙĪ", + "æĺł çĶ»", + "Ġth ôi", + "Ġ ³³³", + "ĠÂł ³³", + "Ġ³³ Âł", + "à¹ģ à¸Ļะ", + "à¹ģà¸Ļ ะ", + "è¨Ń åĤĻ", + "Ġмног ие", + "ÑĤ оÑĦ", + "ÑĤо ÑĦ", + "i Å¡tÄĽ", + "iÅ¡ tÄĽ", + "à¤Ĺ ढ", + "Ġин дивидÑĥ", + "Ġ ìĥĿíĻľ", + "ĠìĥĿ íĻľ", + "Ġзов ÑģÑĸм", + "íĥ ķ", + "çľ ł", + "ĠêµŃ ëĤ´", + "e ptal", + "ep tal", + "ept al", + "r aci", + "ra ci", + "rac i", + "è¡ ¡", + "ãĦ ·", + "ĠSt ÅĻed", + "اÙĦ ÙĬا", + "اÙĦÙĬ ا", + "Σ Τ", + "Ľ °", + "ãĥī ãĥ«", + "á zÃŃ", + "áz ÃŃ", + "Ġа Ñģп", + "ĠаÑģ п", + "ĠdÄ±ÅŁ arı", + "ĠвиÑĢоб ниÑĨÑĤва", + "e za", + "ez a", + "ï¼Į ä¸įè¿ĩ", + "ï¼Įä¸į è¿ĩ", + "çĥ ¦", + "ãĥ³ ãĤ°ãĥ«", + "ãĥ³ãĤ° ãĥ«", + "Ġroz voj", + "ĠÙħÙĨت شر", + "ĠÑĥÑĤ еп", + "Ġد ÙĬÙĨ", + "ĠدÙĬ ÙĨ", + "ĠзаÑģоб Ñĸв", + "Ng ưá»Ŀi", + "ãĤ· ãĥ¼", + "ĠFran sız", + "ÎĻ Î¤", + "ائ Ùģ", + "ι Ïĩ", + "ี à¹Ģม", + "à¥į मन", + "à¥įम न", + "à¥įम à¤ļ", + "Ġس عر", + "Ġسع ر", + "ï¾ Ŀ", + "ë°© ë²ķ", + "ĠС о", + "Ġà¤ĸ बर", + "ìĨĮ ê°ľ", + "Ġsl ova", + "Ġslo va", + "Ġslov a", + "Q PCP", + "QP CP", + "ĠK ız", + "ĠKı z", + "Ø· Ù쨧ÙĦ", + "Ø·Ùģ Ø§ÙĦ", + "Ġк оÑĢм", + "ĠкоÑĢ Ð¼", + "ĠìĹħ ëį°ìĿ´íĬ¸", + "es poÅĪ", + "esp oÅĪ", + "à¸Ķ าว", + "à¸Ķา ว", + "о ÑĢом", + "оÑĢ Ð¾Ð¼", + "оÑĢо м", + "ĠгÑĢа ÑĦ", + "ĠгÑĢ Ð°ÑĦ", + "Ġп ÑĸÑĪ", + "Ġ ë¿IJ", + "Ġë ¿IJ", + "ý v", + "С ам", + "Ġk rev", + "Ġkr ev", + "Ġkre v", + "ĠB unu", + "ĠBu nu", + "ĠBun u", + "Ġz obraz", + "Ġسخ ÙĨ", + "Ġ æĶ¯", + "ĠæĶ ¯", + "лÑİ Ð±", + "Ùİ Ø§ÙĨ", + "ÙİØ§ ÙĨ", + "маÑĤ ÑĢива", + "λ εÏį", + "λε Ïį", + "Ġпо Ñħод", + "ĠпоÑħ од", + "Ġг ÑĢе", + "ĠгÑĢ Ðµ", + "çľĭ çĿĢ", + "à¸Īำ à¸ģ", + "ัà¸ĩà¸Ħ ม", + "Ġseç enek", + "İ stanbul", + "ĠвÑĸд мов", + "m iyor", + "mi yor", + "Ġm ụn", + "ìĿ´ ìĹIJ", + "ĠNh ư", + "Âł tom", + "Âłt om", + "lık ları", + "lıkla rı", + "lıklar ı", + "Âł Äij", + "ãĥ» ãĥŀ", + "Ġ ÙģØª", + "ĠÙģ Øª", + "ĠFakült esi", + "ìłĦ íŀĪ", + "éª ij", + "Ġìŀij ìĿĢ", + "ç¼ ĺ", + "ìº IJ", + "Ġmü zik", + "Ġmüz ik", + "а лÑĭ", + "ал Ñĭ", + "Ġp ozem", + "Ġpo zem", + "Ġpoz em", + "çĥ §", + "Ġ 常", + "Ġå¸ ¸", + "Å¡ il", + "Å¡i l", + "à¤Ĩ प", + "à¸ģำ หà¸Ļà¸Ķ", + "Ġگرد Ø´", + "λ ιά", + "λι ά", + "Ġö den", + "åıª è¦ģ", + "ĠÄIJ o", + "Ġstrat ej", + "Ġstra tej", + "Ġstrate j", + "ĠÙĩ تÙĦ", + "ÙĤ Ùģ", + "Ġkullan ılır", + "Ġkullanıl ır", + "ĠÑģп оÑģÑĤ", + "ĠÑģпоÑģ ÑĤ", + "ĠnÄĽ ho", + "ĠÐŁ еÑĢед", + "ĠÐŁÐµÑĢ ÐµÐ´", + "Ġиз меÑĢ", + "] ]>", + "]] >", + "ĠнÑĸк оли", + "Ġha yal", + "Ġhay al", + "Ġhaya l", + "Ġдод аÑĤков", + "Ġन à¤ķ", + "Ġins anın", + "Ġinsan ın", + "ุม à¸łà¸²à¸ŀ", + "ograf ie", + "в об", + "во б", + "ĠاÙĨ ساÙĨÛĮ", + "ĠاÙĨساÙĨ ÛĮ", + "Ġm ük", + "Ġmü k", + "ĠÑĥ меÑĢ", + "ĠÑĥм еÑĢ", + "оÑĩ нÑĭе", + "ëıĦ ìĿĺ", + "Ġ ara", + "Ġa ra", + "Ġar a", + "Ġë¹ ¨", + "Ġκ Ïį", + "л ой", + "ло й", + "Ñģи он", + "Ġroz dÃŃl", + "ay ıf", + "ayı f", + "ĠÙĪØ§ØŃ دة", + "ĠÙĪØ§ØŃد Ø©", + "ĠÙĪØ§ ØŃدة", + "о ÑĢалÑĮ", + "оÑĢ Ð°Ð»ÑĮ", + "оÑĢа лÑĮ", + "Ġpo chop", + "Ġpoc hop", + "éļ ¨", + "à¹īà¸Ń à¸ĩà¸Ļ", + "à¹īà¸Ńà¸ĩ à¸Ļ", + "Ġ ÙĪØ§ÙĨ", + "ĠÙĪ Ø§ÙĨ", + "ĠÙĪØ§ ÙĨ", + "Îľ ε", + "Ġ μον", + "Ġμ ον", + "Ġμο ν", + "Ñĥ ÑĪка", + "ÑĥÑĪ ÐºÐ°", + "or dum", + "ord um", + "æ¸ħ æ¥ļ", + "ĠDe ÄŁ", + "ÏĢ Ïģο", + "ĠÙĪØ§ÙĦ تÙĬ", + "ĠÙĪØ§ÙĦت ÙĬ", + "Ġp okus", + "Ġpo kus", + "Ġpok us", + "íĽĦ 기", + "é¥ ®", + "æĹħ è¡Į", + "Ġжен Ñīин", + "ĠdoÄŁru dan", + "Ġ Ñıб", + "ĠÑı б", + "Ġza ÄįÃŃ", + "ĠzaÄį ÃŃ", + "Ġë³´ ìŬ", + "- CP", + "-C P", + "åIJ ¨", + "à¥ĭ à¤ĸ", + "ÑĢ Ð¾Ð³ÑĢа", + "ÑĢо гÑĢа", + "ÑĢог ÑĢа", + "ler di", + "ìĬ ´", + "Ùı ÙĪØ§", + "ÙıÙĪ Ø§", + "Ġustanov enÃŃ", + "Ġд оÑģÑĤав", + "Ġдо ÑģÑĤав", + "ĠдоÑģÑĤ ав", + "Ġfır sat", + "ĠاÙĦÙħÙĩ ÙĨØ©", + "ĠвеÑī еÑģÑĤва", + "ĠвеÑīеÑģÑĤв а", + "Ġн еÑģп", + "Ġне Ñģп", + "ĠнеÑģ п", + "ĠاÙĦکتر ÙĪÙĨ", + "t aÅŁ", + "ta ÅŁ", + "æĪ Ĵ", + "Ġy urt", + "Ġyu rt", + "Ġgir di", + "ĠÐļ Ñĥб", + "Ġ 를", + "Ġë¥ ¼", + "ุ à¹Į", + "ãģĿãģĨ ãģª", + "à¹ī Ċ", + "ĠвÑĭ бÑĢа", + "ĠвÑĭб ÑĢа", + "k ovÄĽ", + "ko vÄĽ", + "kov ÄĽ", + "ĠS iz", + "ĠSi z", + "Ġ گاÙĩ", + "ĠÚ¯ اÙĩ", + "ĠЧ аÑģ", + "Ġзг Ñĸдно", + ". ÐŁ", + "å§ Ĭ", + "ĠÐļ ÑĥÑĢ", + "ĠìĿĺ íķ´", + "Ġet raf", + "Ġк аÑĪ", + "Ġка ÑĪ", + "ĠØ· ÛĮ", + "ξ ει", + "ξε ι", + "ç² Ĵ", + "ĠØ¢ ذ", + "Ġböl ge", + "Ġbölg e", + "Ġम à¤ľà¤¬", + "Ġà¤®à¤ľ ब", + "ÙIJ Ùĥ", + "Ġvál ky", + "ãģł ãĤĪ", + "Ġmes aj", + "Ġmesa j", + "ĠpÅĻ ist", + "ĠpÅĻi st", + "Ġtyp u", + "Ġty pu", + "ĠкиÑĪ ÐµÑĩ", + "ãĤī ãģ®", + "Ġkend isi", + "Ġkendi si", + "ĠвÑĸдб Ñĥва", + "ĠвÑĸдбÑĥ ва", + "ä¾ ¯", + "Ġди за", + "ãĢĢ Ċ", + "ĠпÑĢоÑĨеÑģ Ñĥ", + "ĠÑįлек ÑĤÑĢ", + "_P US", + "Ġмног иÑħ", + "Ġk ém", + "Ġké m", + "æŀ ª", + "çݰ 代", + "Ġ éħį", + "Ġé ħį", + "Ġéħ į", + "ë¡ Ń", + "ÑĤи ÑģÑı", + "Ġl ục", + "ĠÙĪ Ø§ÙĦØŃ", + "ĠÙĪØ§ÙĦ ØŃ", + "ĠÙĪØ§ ÙĦØŃ", + "p tal", + "pt al", + "pta l", + "ẵ ng", + "ẵn g", + "ÏĢ Î»", + "Ġd olu", + "Ġdo lu", + "Ġdol u", + "Ġt òa", + "Ġин огда", + "ĠпоÑĢÑıд ок", + "Як Ñīо", + "âĶ ĺ", + "Ġغ ربÛĮ", + "Ġغرب ÛĮ", + "Ġغر بÛĮ", + "ç§» åĬ¨", + "ยà¸Ļ à¸ķร", + "ยà¸Ļà¸ķ ร", + "H DATA", + "HD ATA", + "_PUSH DATA", + "_PUS HDATA", + "ĠØ« ابت", + "åĮħ åIJ«", + "ĠÏĢ ÏģÎŃÏĢει", + "़ à¥ĭ", + "åIJį åīį", + "ÑĤ еÑĢи", + "ÑĤе ÑĢи", + "ÑĤеÑĢ Ð¸", + "ï½ ¯", + "Ġ åħĪ", + "Ġåħ Ī", + "н ед", + "не д", + "Ïģ οÏįν", + "Ïģο Ïįν", + "ÏģοÏį ν", + "в ей", + "ве й", + "èĤ ĸ", + "ĠÅĻed itel", + "Ġth ép", + "Ġthé p", + "ĠÙĩ ÙģØªÙĩ", + "ĠÙĩÙģØª Ùĩ", + "ĠдÑĢÑĥг а", + "ĠдÑĢÑĥ га", + "ER İ", + "Ġ Ả", + "ĠẠ¢", + "ĠпеÑĢ ÐµÑĢ", + "ĠпеÑĢе ÑĢ", + "Ġж еÑģÑĤ", + "Ġже ÑģÑĤ", + "ĠÄij ẳng", + "ç¦ ®", + "алÑĮ ном", + "алÑĮно м", + "िष य", + "ид енÑĤа", + "иденÑĤ а", + "Ġآخر ÛĮÙĨ", + "Ġ æĵ", + "Ġæ ĵ", + "Ġ มหาว", + "Ġมห าว", + "ĠлÑİ ÑĤого", + "ĠлÑİÑĤ ого", + "Ġб ÑĸзнеÑģ", + "gı ç", + "Ġng á»ĵi", + "оÑĩ нÑĭй", + "Ġo Äįek", + "ĠoÄį ek", + "ĠÙħ رة", + "ĠÙħر Ø©", + "Ġt var", + "Ġtv ar", + "Ġsam ozÅĻejmÄĽ", + "ĠBeled iye", + "Ġв ода", + "Ġво да", + "Ġвод а", + "Ġ Ú¯ÛĮرد", + "ĠÚ¯ÛĮ رد", + "ĠÚ¯ÛĮر د", + "Ġг одÑĭ", + "Ġгод Ñĭ", + "ãģ« è¡Į", + "æĺ¯ æĪij", + "ÑĪ Ð¸Ð»Ð¸", + "ÑĪи ли", + "Ġ åĽ½äº§", + "ĠåĽ½ 产", + "á»§ i", + "ĠбÑĥд ÑĥÑĤÑĮ", + "ĠбÑĥдÑĥÑĤ ÑĮ", + "ĠбÑĥдÑĥ ÑĤÑĮ", + "ĠÑĢай онÑĥ", + "ĠÑĢайон Ñĥ", + "Ġì ĵ", + "ĠÙĪ Ø§Ø³", + "ĠÙĪØ§ س", + "ĠاÛĮ شاÙĨ", + "ενο δο", + "Ġнез алеж", + "ĠÙ¾ شت", + "Ġپش ت", + "Ġgir iÅŁim", + "ĠgiriÅŁ im", + "Ġд еле", + "Ġдел е", + "Ġде ле", + "ĠاصÙģÙĩ اÙĨ", + "à¸Ķ วà¸ģ", + "ĠاÙĦ ÙĤÙĬ", + "ĠاÙĦÙĤ ÙĬ", + "à¹Į à¸Ī", + "ëª »", + "Ġd ru", + "Ġdr u", + "è¿ ¹", + "ад женнÑı", + "адж еннÑı", + "Ùģ ÙĨ", + "Ïĩ οÏĤ", + "Ïĩο ÏĤ", + "à¹Ĥ à¸Ī", + "e yle", + "ey le", + "å¡ ij", + "Ġu prav", + "Ġup rav", + "Ġз даÑĤ", + "Ġзд аÑĤ", + "Ġзда ÑĤ", + "Ġvid ÄĽt", + "Ġ à¸Ľà¸£", + "Ġà¸Ľ ร", + "Ġ ÑĦеÑĢ", + "ĠÑĦ еÑĢ", + "ÐĨ н", + "Ġ ìµľìĭł", + "Ġìµľ ìĭł", + "l oha", + "lo ha", + "loh a", + "ĠиÑģп ÑĭÑĤ", + "Ġ avan", + "Ġa van", + "Ġav an", + "Ġava n", + "γ οÏħ", + "γο Ïħ", + "ĠGi ấy", + "ãĤ»ãĥ³ ãĤ¿ãĥ¼", + "éģ į", + "е ÑĢаÑħ", + "еÑĢ Ð°Ñħ", + "еÑĢа Ñħ", + "Ġê°Ģ ì§Ģê³ł", + "Ġê°Ģì§Ģ ê³ł", + "Ġ ид", + "Ġи д", + "Ġmnoh em", + "æ£Ģ æµĭ", + "Ġet me", + "Ġetm e", + "Ġ تÙħر", + "Ġت Ùħر", + "ĠتÙħ ر", + "ĠbaÅŁ layan", + "ĠbaÅŁlay an", + "ãģı ãĤĮ", + "à¹ĩà¸Ļ à¸ģาร", + "ĠÑħаÑĢакÑĤеÑĢ Ð¸Ð·", + "Ġanlam ına", + "Ùı Ùĩ", + "ĠÑģеÑĢ Ð¿Ð½Ñı", + "çķª çµĦ", + "Ġ msgid", + "Ġmsg id", + "Ġms gid", + "Ġzv ÃŃÅĻ", + "ĠzvÃŃ ÅĻ", + "ĠíļĮ ìĽIJ", + "Ġya par", + "Ġyap ar", + "ä¼ĺ åĬ¿", + "ен нÑĭми", + "еннÑĭм и", + "ĠØ£ Ø«", + "ì² Ļ", + "Ġji ného", + "Ġjin ého", + "Ġjiné ho", + "Ġد ÙģØ§Ø¹", + "ĠدÙģ Ø§Ø¹", + "ĠØŃÚ© ÙĪÙħ", + "Ġr izik", + "Ġri zik", + "ά λι", + "άλ ι", + "à¸ĩ à¸Ĥ", + "èµ ¢", + "Ġ ÎķÎĽ", + "ĠÎķ ÎĽ", + "Ġok um", + "Ġoku m", + "æĶ¶ åħ¥", + "ĠÚĨ ÛĮÙĨ", + "æľī çļĦ", + "ÑĨ ами", + "ÑĨа ми", + "d ÄĽnÃŃ", + "dÄĽ nÃŃ", + "ĠкоÑĢ Ð°Ð±", + "Ġко ÑĢаб", + "ĠкоÑĢа б", + "Ġa landa", + "Ġal anda", + "Ġalan da", + "ส à¸Ļาม", + "สà¸Ļ าม", + "ï¼ī ãģ®", + "ı sız", + "ıs ız", + "ısı z", + "ÙĬ ÙĬر", + "Ùĥ ÙĬØ©", + "ÙĥÙĬ Ø©", + "Ġnebo Å¥", + "Ġbit ir", + "Ġbi tir", + "Ġ ãĥľ", + "Ġãĥ ľ", + "Ùij ا", + "ï¼ Ĩ", + "ĠاÙĦت ارÙĬØ®", + "มห าà¸Ļà¸Ħร", + "at ürk", + "ãĤ¹ãĥĨ ãĥł", + "θή κη", + "Ġ καν", + "Ġκ αν", + "Ġκα ν", + "ĠS ür", + "ĠSü r", + "Ġd Ä±ÅŁÄ±", + "ĠdÄ±ÅŁ ı", + "Ġk ancel", + "Ġkan cel", + "ĠÙ¾ خش", + "h Pa", + "ĠÄį t", + "ĠпÑĢ Ð¾Ñħ", + "ĠпÑĢо Ñħ", + "à¹ī à¸Ī", + "Ġê±° ìķ¼", + "ĠдеÑĢжав ного", + "èĤ¡ 举", + "ìĿ´ íģ¬", + "Ùĥ تÙĪØ±", + "Ùĥت ÙĪØ±", + "ĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "è¨ º", + "Ġب Ùħا", + "ĠبÙħ ا", + "ĠноÑĢм аÑĤив", + "ç iler", + "çi ler", + "à¸ĩ ศ", + "éĽĨ ä¸Ń", + "ÑĢ Ð¸Ñģ", + "ÑĢи Ñģ", + "Ñĩ аÑĶ", + "Ñĩа ÑĶ", + "li ÄŁin", + "liÄŁi n", + "liÄŁ in", + "ãĥ¼ ãĤ¿ãĥ¼", + "ãĥ¼ãĤ¿ ãĥ¼", + "а ÑĢаÑĤ", + "аÑĢ Ð°ÑĤ", + "аÑĢа ÑĤ", + "åĬĽ éĩı", + "ĠÑģÑħ ем", + "åħ¥ åı£", + "离 å¼Ģ", + "ÏģοÏĨοÏģ ίεÏĤ", + "ĠÐĹ Ð°ÑĤем", + "ĠkarÅŁ ısında", + "ĠkarÅŁÄ± sında", + "ĠاÙĨت ظ", + "ï½ Ĭ", + "Ġ eÅŁit", + "ĠeÅŁ it", + "Ġyaz ılı", + "Ġyazı lı", + "Ðļ ом", + "ا زÙĬ", + "از ÙĬ", + "Ġki mse", + "Ġkim se", + "Ġkims e", + "ÑĢа Ñīи", + "ÑĢаÑī и", + "ัà¸ģ ส", + "Ġkan un", + "Ġka nun", + "Ġ ëIJĺìĹĪ", + "ĠëIJĺ ìĹĪ", + "Ġι ÏĥÏĩ", + "Ġм еди", + "Ġмед и", + "æ° §", + "ï¼Į åħ¶ä¸Ń", + "ï¼Įåħ¶ ä¸Ń", + "Ġyok tu", + "Ġ ãĤ½", + "ĠãĤ ½", + "ĠпÑĢи обÑĢеÑĤ", + "ÙĪ ÛĮØ´", + "ÙĪÛĮ Ø´", + "ãħł ãħł", + "Ġکرد Ùħ", + "Ġکر دÙħ", + "Ġdu var", + "Ġ ç¸", + "Ġç ¸", + "ıs ır", + "ısı r", + "Ġïº į", + "ĠÐłÐ¾Ñģ ÑģиÑı", + "à¹ī à¹ĥà¸Ļ", + "Ġ iÅŁi", + "Ġi ÅŁi", + "ĠiÅŁ i", + "d ol", + "do l", + "ĠÙħØŃ ÙħÙĪØ¯", + "ĠÑģам ÑĭÑħ", + "ĠبÙĨابر اÛĮÙĨ", + "ãĤĮ ãģ©", + "ุà¸ķ สาห", + ". »", + "ู à¸Ĭ", + "ĠT ep", + "ĠTe p", + "ãģı ãĤĵ", + "Ġ å¸ĥ", + "Ġå¸ ĥ", + "Ġत ल", + "Ġs erm", + "Ġse rm", + "Ġser m", + "λ ÏĮγ", + "λÏĮ γ", + "ĠÅŀ imdi", + "Ġà¤ľà¤¨ त", + "- ÐĴ", + "è¨ ª", + "ĠвÑĸд пов", + "ิ à¸Ļà¸Ķ", + "ิà¸Ļ à¸Ķ", + "ι ÏĥμÏĮÏĤ", + "ιÏĥμ ÏĮÏĤ", + "Ω Τ", + "âĨĴ âĨĴ", + "ικο ί", + "ĠÑģп ÑĢава", + "ĠÑģпÑĢав а", + "æľº åħ³", + "Ġ ÃĿ", + "Ġà Ŀ", + "Ġм ова", + "Ġмо ва", + "Ġмов а", + "Ġмог ла", + "Ġд лиÑĤелÑĮ", + "ãģĹ ãģ¦ãĤĤ", + "ãģĹãģ¦ ãĤĤ", + "Ġβ Ïģί", + "Ġж од", + "éĹ ª", + "ĠмÑĸ ÑģÑĮкоÑĹ", + "η Ïģε", + "çł Ĥ", + "Ġkter ých", + "Ġkterý ch", + "ĠÐĵ олов", + "ĠÐĵол ов", + "Ġh á»Ļp", + "Ġhá»Ļ p", + "Ġpa nÃŃ", + "Ġpan ÃŃ", + "تÙħ اد", + " ľ", + "åįģ åħŃ", + "κ οÏĤ", + "κο ÏĤ", + "ев ÑĭÑħ", + "æĭ Ĵ", + "ĠÑģÑĤ оÑĢон", + "ĠÑģÑĤоÑĢ Ð¾Ð½", + "ĠÑģÑĤо ÑĢон", + "Ġph óng", + "ĠÑĥлÑĥÑĩ ÑĪ", + "m rt", + "mr t", + "m par", + "mp ar", + "ĠS lav", + "ĠSl av", + "Ġ kov", + "Ġk ov", + "Ġko v", + "ìĿ¸ ìĿĢ", + "Ġ åºĶ", + "Ġåº Ķ", + "ั à¸ļà¸Ħ", + "ัà¸ļ à¸Ħ", + "Ġk ì", + "Ġa Å¥", + "ÅĻ ÃŃt", + "ÅĻÃŃ t", + "ì° Į", + "Ùħ ÙĨت", + "ÙħÙĨ ت", + "ıyor lar", + "æŃ£ 常", + "н ÑıÑĤÑĤÑı", + "нÑıÑĤ ÑĤÑı", + "r acÃŃ", + "ra cÃŃ", + "rac ÃŃ", + "ĠпиÑĤ аниÑı", + "à¸Īะ à¹Ģà¸Ľ", + "ĠاÙĦÙĩ ÙĨد", + "ĠD ost", + "ĠDo st", + "ĠDos t", + "ĠÐĴаÑģ илÑĮ", + "Ġ íĥĦ", + "Ġíĥ Ħ", + "Ġn ạn", + "à¹Īà¸Ń à¹Ħà¸Ľ", + "رÙĪ Ø¶", + "± ظ", + "Ġbych om", + "à¸Ļ วย", + "à¸Ļว ย", + "ãģł ãģ£ãģ¦", + "ĠÐĺ Ñģп", + "ĠÐĺÑģ п", + "à¸Ħร à¸ļ", + "Ġ สà¸ĸาà¸Ļ", + "Ġส à¸ĸาà¸Ļ", + "ĠëĤ ®", + "j iÅ¡tÄĽ", + "ji Å¡tÄĽ", + "ĠÙģ ÙĪØª", + "ĠÙģÙĪ Øª", + "ĠCh ương", + "ĠìĿ´ 루", + "ĠpÅĻÃŃ tom", + "t ual", + "tu al", + "b ette", + "be tte", + "bet te", + "bett e", + "Ġsa bah", + "Ġsab ah", + "μ ί", + "Ġm á»ĩnh", + "Ġmá»ĩ nh", + "ãģ® ãģłãĤįãģĨ", + "ãģ®ãģł ãĤįãģĨ", + "Ġzam ÄĽÅĻ", + "åįģ äºĶ", + "ĠìķĬ ìĿĦ", + "اÙĨ ÙĪ", + "е нÑĥ", + "ен Ñĥ", + "ĠÑĥ год", + "ĠÑĥг од", + "ĠV ưá»Ŀn", + "Ġëĵ± ìĿĦ", + "Ġbelirt ilen", + "æŁ Ħ", + "Ġtek lif", + "¬ Ĥ", + "Ġпод аÑĤков", + "ĠاÙĦ ÙĨÙĩ", + "ĠاÙĦÙĨ Ùĩ", + "ï¼ ´", + "ìĽ ĥ", + "Ġ हल", + "Ġह ल", + "Ġ имÑĥ", + "Ġи мÑĥ", + "Ġим Ñĥ", + "ĠкоÑĤоÑĢ Ñĭм", + "ï¼Į 以åıĬ", + "ï¼Į以 åıĬ", + "ĠÑĤаб ли", + "ा :", + "Ġب رج", + "Ġبر ج", + "ĠÎŃ Î½Î±Î½", + "ĠÎŃνα ν", + "ĠÎŃν αν", + "ĠÙĬ ÙĪÙĦÙĬÙĪ", + "ý Å¡", + "Ġ ÙĬج", + "ĠÙĬ ج", + "ĠÑĤÑĢо Ñħи", + "æŀ Ŀ", + "Ġd Ãły", + "ĠBur ada", + "ĠBu rada", + "ĠÏĥÏħ μβ", + "ĠÎij ÏģÏĩ", + "ĠÎijÏģ Ïĩ", + "Ġsoci álnÃŃ", + "Ġ Ú¯ÙĪ", + "ĠÚ¯ ÙĪ", + "Ġyan ıt", + "Ġyanı t", + "ãģ¯ ãģªãģĦ", + "ãģ® ä¸Ĭ", + "Ġn úi", + "ĠرÙģØª ار", + "ĠÙħ رات", + "ĠÙħر ات", + "ز ÙħاÙĨ", + "زÙħ اÙĨ", + "าà¸Ī ารย", + "ĠÑĩиÑģ лÑĸ", + "Ġس ÙĨت", + "ĠسÙĨ ت", + "ĠÃĸzel likle", + "ì ĩ¼", + "ìĩ ¼", + "ĠÄį ÃŃm", + "AD DE", + "ADD E", + "ãģ® ãĤĪãģĨãģª", + "ÙĪÙĦÙĪ ÚĺÛĮ", + "ĠíĻľ ìļ©", + "ãĢģ ãģ©ãģĨ", + "ĠÎł ÏģÏī", + "çĻ» åł´", + "Ġнад аннÑı", + "Ġм еÑĢеж", + "ĠмеÑĢ ÐµÐ¶", + "ĠмеÑĢе ж", + "Ġ ìĿµ", + "ĠìĿ µ", + "jÃŃ cÃŃch", + "jÃŃcÃŃ ch", + "it ou", + "ito u", + "ÙĤ ÙĪÙĦ", + "Ùħ ج", + "Ġب ÙĨد", + "ĠبÙĨ د", + "Ġön üne", + "Ġ ï½°", + "Ġï½ °", + "з в", + "Ġе ÑģÑĤе", + "Ðł Ðĺ", + "ÑĢ Ð¾Ð»", + "ÑĢо л", + "a yla", + "ay la", + "Ġк лÑĥ", + "Ġкл Ñĥ", + "æİ¨ èĸ¦", + "ĠÑĢоз ÑĢаÑħ", + "Ġ ìĥģëĭ´", + "Ġìĥģ ëĭ´", + "ĠÙĨ سÙħØ©", + "ĠÙĨس ÙħØ©", + "Ġви Ñħод", + "à¥Ģ à¤Ĩà¤Ī", + "ĠпÑĢи ÑģÑĤÑĥп", + "ÙĴ ع", + "ĠteÅŁ ekkür", + "дÑı ки", + "Ġfi kir", + "Ġfik ir", + "ัศ à¸Ļ", + "ĠآزÙħ اÛĮØ´", + "Ġb izi", + "Ġbi zi", + "Ġbiz i", + "ÏĨ αÏģ", + "ÏĨα Ïģ", + "æľª æĿ¥", + "æIJ º", + "Ġδ Ïħνα", + "ĠδÏħ να", + "Ġ رÙĪÙħ", + "Ġر ÙĪÙħ", + "ĠرÙĪ Ùħ", + "Ġb undan", + "Ġbund an", + "Ġbun dan", + "ĠÙĤ اÙĦب", + "ĠÙĤاÙĦ ب", + "Ġ haft", + "Ġh aft", + "Ġha ft", + "Ġhaf t", + "å¿ ½", + "ĠÐľ оÑĢ", + "Ġzá pas", + "Ġzáp as", + "Ġ ë¹Ľ", + "Ġë¹ Ľ", + "å» ·", + "äºĪ ç´Ħ", + "Ġkh uyến", + "Ġ ÎijÎĵ", + "ĠÎij Îĵ", + "Ġìŀij ìĹħ", + "ड र", + "Ġjednodu ch", + "à¥ī म", + "ĠdeÄŁ ildi", + "ĠdeÄŁil di", + "Ġk olo", + "Ġko lo", + "Ġkol o", + "Ġد ÙĤÛĮ", + "л ами", + "ла ми", + "лам и", + "ĠH á»įc", + "ĠHá»į c", + "Ġप स", + "ĠÎł ÏģÏĮ", + "ĠâĹ ij", + "Ġ наÑģлÑĸд", + "Ġна ÑģлÑĸд", + "ĠнаÑģ лÑĸд", + "Ġ диви", + "Ġди ви", + "Ġдив и", + "ĠpÅĻes nÄĽ", + "ĠТак им", + "ĠТа ким", + "Ġru kou", + "Ġruk ou", + "ä¸Ģ åĪĩ", + "ĠÑģ пÑĢи", + "ĠÑģп ÑĢи", + "en ské", + "ens ké", + "æĹ ¦", + "ĠÙĤ ÙĨ", + "Ġú stav", + "िश त", + "à¹Į )", + "ĠT rang", + "ĠTr ang", + "ĠTra ng", + "ĠTran g", + "Ġmoh la", + "Ġmohl a", + "ĠÎķ λλην", + "Ġп оки", + "Ġпо ки", + "Ġпок и", + "ĠØ¢ Ùħار", + "ĠØ¢Ùħ ار", + "åIJ ¾", + "ĠÑĢ ÐµÑģп", + "ĠÑĢе Ñģп", + "ĠÑĢеÑģ п", + "Ġta kdir", + "Ġtak dir", + "Ġrahat sız", + "éŁ³ ä¹IJ", + "Ġ âĶĥ", + "ĠâĶ ĥ", + "i lis", + "il is", + "ili s", + "ĠÙĪ Ø§ÙĦØ¥", + "ĠÙĪØ§ÙĦ Ø¥", + "å® Ļ", + "Ñĥ мов", + "Ñĥм ов", + "ĠÐĽ иÑĤ", + "ĠÐĽÐ¸ ÑĤ", + ": :::|", + ":: ::|", + ":::: |", + "::: :|", + "åħ ½", + "ĠÙĨزد ÛĮÚ©", + "е лÑĸв", + "ел Ñĸв", + "елÑĸ в", + "θ οÏįν", + "θο Ïįν", + "ìĹIJìĦľ ëıĦ", + "èµĦ æł¼", + "çIJĨ 论", + "ĠKe mal", + "ĠKem al", + "Ġк еÑĢ", + "ษ ายà¸Ļ", + "Ġ åįİ", + "Ġåį İ", + ") ìĹIJ", + "Ġ ëĬĺ", + "ĠëĬ ĺ", + "ãĥĿ ãĥ¼ãĥĪ", + "ĠÐĹ Ð´", + "اص ÙĬÙĦ", + "Ġk atı", + "Ġka tı", + "Ġkat ı", + "ãĤĤãģĹ ãĤĮãģªãģĦ", + "Ġкажд ого", + "Ġ дÑĢ", + "Ġд ÑĢ", + "Ġfut bol", + "ÙĦ ÙĬÙģ", + "ÙĦÙĬ Ùģ", + "Ġì§Ģ ëĤľ", + "ĠÙ¾ÛĮØ´ ÙĨÙĩ", + "ü lük", + "ül ük", + "ülü k", + "Ġ à¸ķำà¸ļล", + "Ġà¸ķำ à¸ļล", + "Ġb áºŃc", + "Ġ åĽł", + "ĠåĽ ł", + "ik ler", + "Ïģ ιά", + "Ïģι ά", + "Ġв важа", + "Ġвваж а", + "Ġvy pl", + "Ġvyp l", + "Ġв низ", + "í Ģ", + "çľ ¾", + "ĠÑģ ила", + "ĠÑģи ла", + "ĠÑģил а", + "ĠналиÑĩи и", + "Ġع راÙĤ", + "ĠاÙĦÙħ Ùĥ", + "å°± ä¼ļ", + "Ġм Ñĸг", + "ĠмÑĸ г", + "ĠÎĮ μιλοÏĤ", + "Ñī его", + "Ñīе го", + "Ġíĸī ìłķ", + "Âł mph", + "Âłm ph", + "Ġma lé", + "Ġmal é", + "ĠÛĮ اÙģØªÙĩ", + "ĠÛĮا ÙģØªÙĩ", + "ĠÛĮاÙģØª Ùĩ", + "Ġmn oha", + "Ġmnoh a", + "γ ά", + "Ġпо ÑģÑĤÑĢо", + "ĠпоÑģ ÑĤÑĢо", + "ĠпоÑģÑĤ ÑĢо", + "ĠاÙĦÙħ ÙĪØ³", + "ĠاÙĦÙħÙĪ Ø³", + "Ġol ma", + "Ġolm a", + "ëī´ ìĬ¤", + "Ġt utar", + "Ġtu tar", + "Ġtut ar", + "ãĥ¼ãĥĵ ãĤ¹", + "à¥įथ न", + "-ли бо", + "æ¥Ń åĭĻ", + "ĠоÑģоб ливо", + "ĠоÑģоблив о", + "è® Ģ", + "ÙģÙĩ ÙĪÙħ", + "Ġk ẻ", + "Ġ Å¡tÄĽ", + "ĠÅ¡ tÄĽ", + "ĠÅ¡t ÄĽ", + "Ġc ầm", + "ĠÄįlán ky", + "ĠÄIJ iá»ĩn", + "( =", + "OV Ãģ", + "ul du", + "uld u", + "a ft", + "af t", + "Ġl ãi", + "Ġlã i", + "Ġd oldur", + "Ġdol dur", + "³³ ³³³³³³³³³", + "³³³³ ³³³³³³³", + "³³³ ³³³³³³³³", + "³³³³³³³³ ³³³", + "³³³³³³³ ³³³³", + "³³³³³ ³³³³³³", + "³³³³³³ ³³³³³", + "³³³³³³³³³ ³³", + "β ι", + "ãģ£ãģ¦ ãģįãģŁ", + "ì¶ľìŀ¥ ìķĪë§Ī", + "å¯ Ŀ", + "Ġë¶Ģ íĥģ", + "ĠاÙĦ اخ", + "Ġγ Ïħνα", + "à¤ı म", + "à¥Į ल", + "ع ادة", + "عا دة", + "عاد Ø©", + "Ġ κοÏħ", + "Ġκ οÏħ", + "Ġκο Ïħ", + "ĠÙħØ· رØŃ", + "ĠÑĩелов еÑĩ", + "Ġn umar", + "Ġnum ar", + "Ġnu mar", + "Ġnuma r", + "Ġ дина", + "Ġд ина", + "Ġди на", + "ÏĦ ÏģÎŃ", + "ÏĦÏģ ÎŃ", + "λ ικ", + "λι κ", + "Ġдол го", + "Ġnh iêu", + "ĠвоÑģ ÑģÑĤанов", + "ap ı", + "Ġ kanı", + "Ġk anı", + "Ġkan ı", + "ĠK ế", + "ãĤī ãģļ", + "Ġhar ek", + "Ġha rek", + "Ġhare k", + "ãģłãģij ãģ§", + "æ» ħ", + "Ġo hled", + "Ġoh led", + "е ÑĢим", + "еÑĢ Ð¸Ð¼", + "еÑĢи м", + "ĠØŃ ÙĬÙĨ", + "ĠØŃÙĬ ÙĨ", + "ĠÙĤ Ùĩر", + "Ġब à¥Ŀ", + "اپ ÛĮÙħ", + "è¶ħ è¿ĩ", + "Ġ æħ", + "Ġæ ħ", + "Ġت Ù쨳", + "ĠتÙģ Ø³", + "as ıyla", + "ası yla", + "б иÑĤ", + "би ÑĤ", + "ĠØŃ اج", + "ĠÑĤÑĢеб ованиÑı", + "Ġ æİ¨", + "Ġæİ ¨", + "Ġ ç±³", + "Ġç± ³", + "ãĤ³ ãĥ¼ãĥī", + "ĠÑĥ Ñģи", + "ĠÑĥÑģ и", + "Ġاخ ÙĦاÙĤ", + "Ġdo stup", + "Ġdost up", + "Ġع ÙĦاÙĤ", + "ĠعÙĦ اÙĤ", + "िव स", + "Ġ оди", + "Ġо ди", + "Ġод и", + "t ej", + "te j", + "Ġthá» ıa", + "ัà¸ģษ à¸ĵะ", + "ัà¸ģษà¸ĵ ะ", + "ĠÑĢаÑģ к", + "ĠÑĢа Ñģк", + "ĠÐĿ аÑĢод", + "ĠÐĿа ÑĢод", + "Ġза кÑĥп", + "Ġзак Ñĥп", + "o že", + "ož e", + "Ġاج را", + "Ġاجر ا", + "ê´ij ê³ł", + "аÑĢÑĤ ам", + "Ġп еÑĢеж", + "ĠпеÑĢ ÐµÐ¶", + "ĠпеÑĢе ж", + "èij£ äºĭ", + "ĠÑı коÑģÑĤÑĸ", + "ĠÑıк оÑģÑĤÑĸ", + "Ġв Ñĥл", + "м он", + "мо н", + "Ġch lap", + "Ġ ÑįÑĤомÑĥ", + "ĠÑįÑĤ омÑĥ", + "ĠÑįÑĤо мÑĥ", + "ĠÑįÑĤом Ñĥ", + "а ÑĤÑĸ", + "аÑĤ Ñĸ", + "Ġ íĴĪ", + "Ġí ĴĪ", + "ĠíĴ Ī", + "è¡Ĺ éģĵ", + "س د", + "ÙĪ Ø±Ùĩ", + "ÙĪØ± Ùĩ", + "ĠزÛĮ اد", + "åľ¨çº¿ è§Ĩé¢ij", + "ا ÙĪÙĬØ©", + "اÙĪ ÙĬØ©", + "اÙĪÙĬ Ø©", + "ï¼Į å°±æĺ¯", + "ï¼Įå°± æĺ¯", + "e lerinden", + "eler inden", + "elerin den", + "elerinde n", + "ÑĢ Ð°Ð¶Ð´", + "ÑĢа жд", + "ÑĢаж д", + "Ġп озд", + "Ġпо зд", + "Ġпоз д", + "Ġзна ÑĤÑĮ", + "Ġзн аÑĤÑĮ", + "ัà¸ļ สà¸Ļ", + "ัà¸ļส à¸Ļ", + "à¥ĩà¤ĸ त", + "Ġ æĽ°", + "Ġæ Ľ°", + "ĠæĽ °", + "ê³¼ ìłķ", + "é® ®", + "ĠV iá»ĩn", + "ĠVi á»ĩn", + "Ġd voj", + "Ġdv oj", + "ίν εÏĦαι", + "Ġosob nÃŃch", + "ĠosobnÃŃ ch", + "Ġ âĢª", + "ĠâĢ ª", + "éĻ µ", + "ĠØ®ÙĪØ¯ Ø´", + "ĠاÙĨ ر", + "ĠпÑĢоÑĦеÑģÑģи оналÑĮ", + "k ám", + "ká m", + "ĠÙħ ÙĥاÙĨ", + "ĠÙħÙĥ اÙĨ", + "ĠاÙĦØ£ د", + "Ġ ê³µë¶Ģ", + "Ġê³µ ë¶Ģ", + "ĠÄij ức", + "ĠÄijứ c", + "ĠCumhur iyeti", + "ĠCumhuriyet i", + "åĩº ãģĹ", + "д ами", + "да ми", + "дам и", + "ĠìĪĺ ìĥģ", + "ĠÙģ Ø¨Ø±Ø§ÙĬر", + "Ġsü resi", + "Ġsür esi", + "Ġsüre si", + "Ġب ج", + "Ġ æĶ¾", + "ĠæĶ ¾", + "ØŃ ÛĮ", + "çłĶç©¶ æīĢ", + "åĩºçīĪ ç¤¾", + "ĠÙħÙĪ ØªÙĪØ±", + "&& &&", + "ĠпеÑĢ ÐµÐ¹", + "ĠпеÑĢе й", + "Ġ ìĦłê±°", + "ĠìĦł ê±°", + "ĠúspÄĽ Å¡", + "ار Ú©", + "Ġet tir", + "Ġett ir", + "Ġetti r", + "Ġ ì¶ľìŀ¥", + "Ġì¶ľ ìŀ¥", + "ĠKa nun", + "ĠKan un", + "ĠÑĥменÑĮ ÑĪ", + "ĠзаÑĤ веÑĢдж", + "ĠاÙĦد ÙĪÙĦÙĬ", + "ĠاÙĦدÙĪÙĦ ÙĬ", + "Ġ ãĥĵ", + "Ġãĥ ĵ", + "ĠB azı", + "ĠBa zı", + "ĠBaz ı", + "åŃIJ ãģ®", + "åĩ ¯", + "Ġse beb", + "Ġseb eb", + "Ġsebe b", + "Ġ åħ±", + "Ġåħ ±", + "Ġd nů", + "Ġdn ů", + "ä½į äºİ", + "ĠZ d", + "æī ±", + "Ġتج ربÙĩ", + "ÃĶ NG", + "Ġìĺ¬ ëĿ¼", + "Ïī ÏĦεÏģ", + "ĠÑģ вид", + "ĠÑģв ид", + "ĠÑģви д", + "æ¯Ķ èµĽ", + "ãģ« åIJij", + "ìľĦ 를", + "ãģĹ ãģ¾ãģĹãģŁ", + "ãģĹãģ¾ ãģĹãģŁ", + "Ġd á»ĭ", + "ĠÐł ÑĥÑģ", + "Ġv á»ı", + "Ġvá» ı", + "à¤Ĥड ल", + "Ġп иÑī", + "Ġпи Ñī", + "Ġsmr ti", + "Ġsmrt i", + "à¸Īาà¸ģ à¸ģาร", + "ĠÑģаÑħ аÑĢ", + "Ġtho át", + "ج ÙħØ©", + "جÙħ Ø©", + "Ġпоз вол", + "ĠاÙĦØ« اÙĨÙĬØ©", + "ĠاÙĦثاÙĨÙĬ Ø©", + "ز ادÙĩ", + "زا دÙĩ", + "ãĢģ ä¸Ń", + "ή μεÏģα", + "æ¦ ľ", + "l acaģı", + "lac aģı", + "lacaÄŁ ı", + "Ġна ÑĪиÑħ", + "ĠнаÑĪ Ð¸Ñħ", + "ìĶ Ģ", + "ĠÐĺ ÑģÑĤоÑĢиÑı", + "ün deki", + "ünd eki", + "ünde ki", + "ĠпеÑĢ ÐµÐ»", + "ĠпеÑĢе л", + "Ġ목 ìĨĮ", + "ĠÑģÑĤаÑĤ ÑĥÑģ", + "о вали", + "ов али", + "ова ли", + "овал и", + "ÅĻ az", + "ĠдÑĢÑĥг ого", + "ĠдÑĢÑĥго го", + "ÙĥÙĪÙħ Ø©", + "ÙĥÙĪ ÙħØ©", + "Ñĩ иÑģÑĤ", + "Ñĩи ÑģÑĤ", + "ÑĩиÑģ ÑĤ", + "μ μ", + "åıį åºĶ", + "ic ari", + "ica ri", + "ĠÙ¾ اک", + "Ġپا Ú©", + "алÑĮ ним", + "ĠB una", + "ĠBu na", + "ĠBun a", + "и ÑĤив", + "иÑĤ ив", + "иÑĤи в", + "ÑĦ ÑĢа", + "ãĥ¼ ãĥĸãĥ«", + "ãĥ¼ãĥĸ ãĥ«", + "ĠÑĤоб ÑĤо", + "룬 ìĬ¤", + "ĠاÙĦ اع", + "åħ¬ éĸĭ", + "å¥ ī", + "ÙĪÙĦ د", + "åIJį çĦ¡ãģĹ", + "æ°ij 主", + "à¥ģ à¤ľà¤°", + "à¥ģà¤ľ र", + "ìĤ¬ 무", + "Ġön celik", + "Ġönce lik", + "Ġönc elik", + "Ġ å¨", + "Ġå ¨", + "Ñı б", + "çľ ī", + "à¥įव य", + "ĠH ình", + "çļĦ åľ°æĸ¹", + "çļĦåľ° æĸ¹", + "ĠاÙĦ تس", + "ĠاÙĦت س", + "ä¸Ī 夫", + "Ġп ÑĥблÑĸ", + "ĠnÄĽjak é", + "ÄIJ á»iji", + "ĠÑģоÑģÑĤоÑı ниÑı", + "à¥Ģ )", + "ĠÄij áºŃu", + "j ed", + "je d", + "ê ¶ģ", + "Ġs enin", + "Ġse nin", + "Ġsen in", + "Ġseni n", + "ĠH óa", + "âĻ ł", + "лÑı ÑİÑĤÑĮ", + "лÑıÑİÑĤ ÑĮ", + "éĹ ²", + "ìĿ¸ íĬ¸", + "ت بÙĩ", + "تب Ùĩ", + "Ġरà¤ĸ त", + "ĠÑģлов ами", + "ĠÑģлова ми", + "ĠÑģло вами", + "Ġطب ÙĤ", + "Ġuy du", + "ุà¸ĩà¹Ģà¸Ĺà¸ŀ มหาà¸Ļà¸Ħร", + "ĠSan at", + "ĠSa nat", + "à¹ī าà¸Ĭ", + "à¹īา à¸Ĭ", + "Ġкни ж", + "Ìģ c", + "ا Ùħج", + "اÙħ ج", + "δ Ïİ", + "Å ®", + "Ġb inh", + "Ġbi nh", + "Ġbin h", + "è¾ Ĩ", + "n eÄŁi", + "ne ÄŁi", + "Ø· ÙĨ", + "å¸ ķ", + "Ġ ìĩ¼", + "Ġì ĩ¼", + "оÑģ ÑĢед", + "ĠοÏĢο ίο", + "k ır", + "kı r", + "à¥Ī श", + "Ġ à¸ĩาà¸Ļ", + "Ġà¸ĩ าà¸Ļ", + "Ġd ruž", + "Ġdru ž", + "em atik", + "ema tik", + "emat ik", + "a dıģ", + "ad ıģ", + "adı ÄŁ", + "è¾ ŀ", + "ĠpoužÃŃ vá", + "Ġkur tar", + "ĠsaÄŁ lan", + "ãĢı ï¼Ī", + "Ġmůže me", + "Ġmůž eme", + "Ġ باد", + "Ġب اد", + "Ġبا د", + "æľŁ éĹ´", + "ا تÙģ", + "ات Ùģ", + "Ġyaz ılım", + "Ġyazılı m", + "ĠìŰ ê²°", + "ÙĬ Ù쨩", + "ÙĬÙģ Ø©", + "Ġ emin", + "Ġe min", + "Ġem in", + "ĠнеÑģколÑĮ киÑħ", + "Û´ Û°", + "å¯ §", + "ί ζει", + "ίζ ει", + "Ġd él", + "Ġdé l", + "ver iÅŁ", + "価 æł¼", + "Ġاست اد", + "Ġал ког", + ".H CM", + "ί οÏĤ", + "ίο ÏĤ", + "α κ", + "Ø· ع", + "ãģ£ ãģį", + "ãģ£ãģ į", + "Ñı еÑĤÑģÑı", + "ÑıеÑĤ ÑģÑı", + "л ика", + "ли ка", + "лик а", + "Ġ ÑĨÑı", + "ĠÑĨ Ñı", + "Ġë§Ī ì§Ģë§ī", + "ĠаÑĢ Ð¼Ð¸", + "Ġγ λÏİ", + "E NÃį", + "EN Ãį", + "ë ®¤", + "ŃIJ ï¸ı", + "Ġ æ¯ı", + "Ġæ¯ ı", + "Ġ æĸ¼", + "Ġæĸ ¼", + "Ġκα λÏį", + "ĠТ ом", + "ĠТо м", + "ul ur", + "ulu r", + "Ġak ce", + "ĠÙħÙĪ Ø¬Ø¨", + "ĠÙħÙĪØ¬ ب", + "e siz", + "es iz", + "esi z", + "н Ñıв", + "нÑı в", + "алÑĮ нÑĥÑİ", + "алÑĮнÑĥ Ñİ", + "ал ÑĸÑģÑĤ", + "алÑĸ ÑģÑĤ", + "Ġв аÑĢÑĸ", + "ĠваÑĢ Ñĸ", + "Ġва ÑĢÑĸ", + "ĠÙħؤ س", + "ĠÙħ اÛĮÙĦ", + "ĠÙħا ÛĮÙĦ", + "ĠμεÏĦα ξÏį", + "åĩº ãģĻ", + "Ġv á»Ŀi", + "Ġvá» Ŀi", + "ëŁ ´", + "ï¼ ĭ", + "æ¯ İ", + "Ġt abi", + "Ġtab i", + "Ġta bi", + "âĤ ĥ", + "æ£ĭ çīĮ", + "Ġ ÃIJ", + "Ġà IJ", + "ĠпÑĢоÑĦеÑģ Ñĸй", + "Ñĥв аннÑĸ", + "Îľ Îł", + "Ġж ил", + "Úĺ ÙĨ", + "л ÑĥÑĪ", + "лÑĥ ÑĪ", + "á½ ´", + "о веÑĢ", + "ов еÑĢ", + "ове ÑĢ", + "è¾¼ ãģ¿", + "ĠÐľ акÑģим", + "ĠÐľÐ°Ðº Ñģим", + "Ġвз глÑıд", + "Ġн аÑĤÑĥ", + "Ġна ÑĤÑĥ", + "ĠнаÑĤ Ñĥ", + "म à¤ķ", + "ĠÑħ ими", + "ĠÑĢозÑĤа ÑĪ", + "ÙĪ Ø±Ø§ÙĨ", + "ÙĪØ± اÙĨ", + "ÙĪØ±Ø§ ÙĨ", + "ĠØ´Ùĩر ÙĩاÛĮ", + "æ© Łèĥ½", + "æ©Ł èĥ½", + "Ø® ذ", + "ĠÑģво ÑĶÑĹ", + "ĠÑģвоÑĶ ÑĹ", + "н ÑıеÑĤ", + "нÑı еÑĤ", + "Ġgh ế", + "ĠpÅĻed ch", + "ÑĶ ÑĪ", + "огÑĢаÑĦ ÑĸÑı", + "Ġ à¸Ĺำà¹ĥห", + "Ġà¸Ĺำ à¹ĥห", + "åĿ Ĭ", + "Ïģ Ïīν", + "ÏģÏī ν", + "า ระ", + "าร ะ", + "ĠK ết", + "ĠKế t", + "Ġch ặt", + "Ġ éĻĪ", + "ĠéĻ Ī", + "ĠdÄĽ lat", + "ĠdÄĽl at", + "ĠбÑĥд ÑĥÑī", + "ĠбÑĥдÑĥ Ñī", + "ĠAç ık", + "æłª å¼ıä¼ļ社", + "ĠÐŁ аÑĢ", + "ĠK hu", + "ĠKh u", + "ãĢģ æĸ°", + "Ġб ой", + "Ġбо й", + "ë§Ī íĬ¸", + "ĠÑģоп ÑĢов", + "س اب", + "н иÑģÑĤ", + "ни ÑģÑĤ", + "å¼ ĥ", + "Ġ Ø´ÙĨاس", + "ĠØ´ÙĨ اس", + "ен ном", + "енно м", + "Ġ 项", + "Ġé¡ ¹", + "èīº æľ¯", + "о зем", + "оз ем", + "ĠÑĢеÑĪ ÐµÐ½Ð¸Ñı", + "l ady", + "la dy", + "lad y", + "ĠвÑģ ей", + "ĠвÑģе й", + "æĶ» åĩ»", + "Ġê²° ìłķ", + "ãĢĢ ï¾ŀ", + "Ġê°IJ ëıħ", + "- ÐIJ", + "Ġm ÃŃr", + "ĠmÃŃ r", + "à¥ģप à¤ı", + "нÑĸ ÑĨип", + "б ом", + "бо м", + "Ġ Å¡t", + "ĠÅ¡ t", + "éľ į", + "ĠÑĢеÑĪ ÐµÐ½Ð¸Ðµ", + "Ġдиаг ноÑģÑĤи", + "i par", + "ip ar", + "ipa r", + "ا ÛĮز", + "اÛĮ ز", + "ã ng", + "ãn g", + "ั วร", + "ัว ร", + "ĠÑĨ аÑĢ", + "Ġs ly", + "Ġsl y", + "ν Ïİ", + "ĠK uzey", + "رÛĮ ب", + "Ġc enu", + "Ġce nu", + "Ġcen u", + "Ġcert if", + "Ġcer tif", + "ĠÑĤ ÑĢеÑĤÑĮ", + "ĠÑĤÑĢ ÐµÑĤÑĮ", + "ĠÑĤÑĢеÑĤ ÑĮ", + "ิà¸Ķ à¸Ĥ", + "Ġпа ÑĨÑĸÑĶн", + "ÅĻ iv", + "ÅĻi v", + "èĦ Ĥ", + "¢ °", + "ĠPh ần", + "ĠмеÑĤод и", + "ĠмеÑĤ оди", + "Ạ¤", + "ìĨ Ķ", + "åIJĮ åѦ", + "Ġ åĢĭ", + "ĠåĢ ĭ", + "моÑĤ ÑĢÑı", + "моÑĤÑĢ Ñı", + "Ġuv ád", + "Û±Û¹ Û¶", + "éģ¸ æĬŀ", + "! »", + "ë ĺIJ", + "ĠÛĮ ÙĪØªÛĮ", + "ĠاÙĦØŃ رب", + "ĠاÙĦØŃر ب", + "олог ÑĸÑı", + "n ila", + "ni la", + "nil a", + "ĠÄij ảng", + "á zi", + "áz i", + "ÑĢ Ð¾Ñī", + "ÑĢо Ñī", + "Ġort adan", + "Ġorta dan", + "Ġاخ بار", + "Ġà¤ħ à¤ľ", + "Ġ매 ìļ°", + "Ġп ой", + "Ġпо й", + "Ġ جÙĬ", + "Ġج ÙĬ", + "к ÑĥваÑĤи", + "кÑĥ ваÑĤи", + "Ġá» ŀ", + "Ġب شر", + "Ġبش ر", + "Ġ ÙĥÙĬÙĦ", + "ĠÙĥ ÙĬÙĦ", + "Ñī еÑģÑĤво", + "Ñīе ÑģÑĤво", + "ÑīеÑģÑĤв о", + "ĠìŬ íĸī", + "ا ÙħÙĬ", + "اÙħ ÙĬ", + "в ÑĸлÑĮ", + "вÑĸ лÑĮ", + "ĠPr vnÃŃ", + "Ġ ÙĪØ³ÛĮ", + "ĠÙĪ Ø³ÛĮ", + "ĠÙĪØ³ ÛĮ", + "ĠÄIJ á»", + "æĪ¿ éĹ´", + "åľ¨çº¿ éĺħ读", + "æķ ·", + "Ġt rai", + "Ġtr ai", + "Ġtra i", + "ä¿ Ĺ", + "ĠÑģамоÑģÑĤоÑıÑĤелÑĮ но", + "ĠÑĤÑĢеб ÑĥеÑĤÑģÑı", + "ĠÑĤÑĢебÑĥеÑĤ ÑģÑı", + "δ Ïģα", + "ĠÑĢеÑĩ ов", + "Ġв Ñĸк", + "ĠвÑĸ к", + "Ġ ÑĢÑĥÑĩ", + "ĠÑĢ ÑĥÑĩ", + "ĠÑĢÑĥ Ñĩ", + "å¥ §", + "ĠolduÄŁ una", + "ĠolduÄŁu na", + "ев Ñĭе", + "Ġ à¸Ħล", + "Ġà¸Ħ ล", + "ا ÙĦÙĤ", + "اÙĦ ÙĤ", + "ĠÑĸм енÑĸ", + "ĠÑĸмен Ñĸ", + "æĶ» æĴĥ", + "ĠÑĥнивеÑĢ ÑģиÑĤ", + "Ġth Äĥm", + "ĠлиÑģÑĤоп ада", + "२ ०", + "Ø® ÙĬ", + "Îķ Îł", + "Ġart tır", + "Ġس خت", + "Ġسخ ت", + "ï¼Ī æĺŃåĴĮ", + "ĠÎŁ Ïħ", + "и ваниÑı", + "ив аниÑı", + "ива ниÑı", + "Ġstav eb", + "âħ ¥", + "γÏī γή", + "γÏīγ ή", + "Ù ©", + "ĠиÑģÑģлед ованиÑı", + "åĢĭ 人", + "Ġëĭ¤ìļ´ë°Ľ 기", + "ĠÏĦ ελ", + "ĠÏĦε λ", + "° N", + "ĠباÙĦ ÙĨ", + "à¹Į à¸ŀ", + "Ġnem ůže", + "Ġголов а", + "Ġгол ова", + "à¹Į à¹ģ", + "æ¢ ¯", + " ĺ", + "δ ηÏĤ", + "δη ÏĤ", + "ìĿ¸ ì¦Ŀ", + "l ayın", + "lay ın", + "á½ ·", + "ĠÙĨت اÛĮج", + "ĠÑģоб лÑİд", + "Ġдви жениÑı", + "Ġдвиж ениÑı", + "ì Į", + "Ġ povÄĽ", + "Ġp ovÄĽ", + "Ġpo vÄĽ", + "Ġpov ÄĽ", + "Ġ ìłĦìĹIJ", + "ĠìłĦ ìĹIJ", + "å¦Ĥ ä¸ĭ", + "ĠاÙĦÙħ در", + "ĠاÙĦÙħد ر", + "ï¼Į æĪĸ", + "ا را", + "ار ا", + "æ°ij æĹı", + "Ġب رÙĤ", + "Ġبر ÙĤ", + "Ġзап аÑģ", + "à¸Ļ à¹ĥà¸Ī", + "é f", + "Ġ à¸Łà¸£", + "Ġà¸Ł ร", + "Ġë³´ ëĤ´", + "Ġ 欧ç¾İ", + "Ġ欧 ç¾İ", + "- ÑĤаки", + "-ÑĤ аки", + "é© ļ", + "ÑĢ ÑĸÑı", + "ÑĢÑĸ Ñı", + "æŁ ı", + "ĠповÑĸÑĤ ÑĢÑı", + "çµĦ ç¹Ķ", + "d aÅŁ", + "da ÅŁ", + "Ġहम ल", + "ĠÑĢеÑĶ ÑģÑĤÑĢа", + "ά β", + "ĠÎł ο", + "Ġê·¸ 림", + "Ñĩ аÑİÑĤ", + "Ñĩа ÑİÑĤ", + "à¸ĩ à¸ķ", + "íĥ ĢìĿ´", + "íĥĢ ìĿ´", + "æī ¬", + "Ġpo jist", + "Ġpoj ist", + "Ġ çłĶ", + "Ġçł Ķ", + "Ġ åıĸ", + "Ġåı ĸ", + "Ġüzer indeki", + "Ġüzerinde ki", + "j Å¡ÃŃch", + "jÅ¡ÃŃ ch", + "à¥Ģद व", + "æª ¢", + "ĠмаÑĤеÑĢи алов", + "ĠмаÑĤеÑĢиал ов", + "и ваннÑı", + "ив аннÑı", + "Ġ å°Ĩ", + "Ġå° Ĩ", + "л л", + "Ġнаб лÑİд", + "ĠнаблÑİ Ð´", + "ĠG öz", + "ĠGö z", + "Ġв зÑı", + "Ġвз Ñı", + "ç͵ è§Ĩ", + "Ġв ак", + "Ġва к", + "ç¿ Ķ", + "Ġвза им", + "Ġg itti", + "Ġgi tti", + "Ġgit ti", + "it eleri", + "ite leri", + "itel eri", + "itele ri", + "ä»· å̼", + "ĠاÙĦ تص", + "ĠاÙĦت ص", + "िन à¤ķ", + "éĢļ ãĤĬ", + "ĠÑģ ÑĦеÑĢ", + "ĠÑģÑĦ еÑĢ", + "çĻº 売", + "âĿ ¤", + "ĠÚ¯ÙĪØ´ ÛĮ", + "ĠÚ¯ÙĪ Ø´ÛĮ", + "аг аÑĤо", + "ĠÏĥÏħ γκ", + "ав иÑģ", + "ави Ñģ", + "æĤ£ èĢħ", + "ĠØ® اÙħ", + "ÎĻÎļ ÎĹΣ", + "ÎĻÎļÎĹ Î£", + "ınız da", + "pan ÄĽl", + "pa nÄĽl", + "ĠÄIJ á»ĭa", + "à¹ģละ ส", + "Ġ ãĤĤ", + "ĠãĤ Ĥ", + "Ġsonuc unda", + "Ġsonucu nda", + "ìĿ į", + "e less", + "el ess", + "ele ss", + "ĠN ha", + "ĠNh a", + "Ġzak áz", + "Ġв оÑģÑĤ", + "Ġво ÑģÑĤ", + "ĠвоÑģ ÑĤ", + "ĠvzdÄĽl ávánÃŃ", + "- ม", + "Ġmet rů", + "ĠپاÛĮ ÛĮÙĨ", + "Ġپا ÛĮÛĮÙĨ", + "ĠÑĢаÑģÑĤ ение", + "Ġmu á»iji", + "èµĦ éĩij", + "ĠÅŁ üph", + "ÙĬ ÙĦÙħ", + "ÙĬÙĦ Ùħ", + "ĠdÃ¼ÅŁÃ¼n c", + "Ġк Ñĸм", + "ĠÏĩÏī ÏģίÏĤ", + "áz ev", + "áze v", + "ĠDe ÄŁer", + "ĠDeÄŁ er", + "å·¥ æ¥Ń", + "Ġر Ùħز", + "ĠرÙħ ز", + "Ġal espoÅĪ", + "ĠпÑĢе ÑģÑĤÑĥп", + "ĠпÑĢеÑģÑĤ Ñĥп", + "ĠعÙĦ اÙĪÙĩ", + "Ġme rak", + "Ġmer ak", + "à¹Į :", + "çݰ åľº", + "ÑĨ веÑĤ", + "Ġप à¥ľ", + "Ġëĭ¤ìĿĮ ê³¼", + "u dic", + "ud ic", + "udi c", + "ĠL ep", + "ĠLe p", + "Ġод нÑĸ", + "Ġa larak", + "Ġal arak", + "å®ī æİĴ", + "Ġ à¸Ĥà¸Ļาà¸Ķ", + "Ġà¸Ĥ à¸Ļาà¸Ķ", + "re zent", + "rez ent", + "is inden", + "isin den", + "isinde n", + "ر ÙĪÛĮ", + "رÙĪ ÛĮ", + "Ġp lu", + "Ġpl u", + "ç«ĭ ãģ¦", + "Ñĭ ваниÑı", + "Ñĭв аниÑı", + "Ñĭва ниÑı", + "Ġr ast", + "Ġra st", + "Ġras t", + "Ġdüzen lem", + "je zd", + "jez d", + "Ġве ÑīеÑģÑĤв", + "ĠвеÑī еÑģÑĤв", + "ĠдиÑĢ ÐµÐºÑĤоÑĢ", + "ÑĦ ÑĦ", + "t ainment", + "tain ment", + "ĠاÙĦ ÙĪØ²", + "ĠاÙĦÙĪ Ø²", + "l anda", + "land a", + "la nda", + "lan da", + "ĠÙĨÚ¯ Ùĩد", + "ĠпÑĢоÑĤив оп", + "ãģ£ ãģı", + "ãģ£ãģ ı", + "ãģ¨ãģª ãĤĬ", + "Ġë°ľ 견", + "i ctor", + "ic tor", + "ict or", + "ãĤ¸ ãĤª", + "ÎŁ Φ", + "ÎŁÎ ¦", + "ĠÑģклад Ñĸ", + "Ġob sahuje", + "Ġobsah uje", + "ĠUkr a", + "ĠUk ra", + "æķ ¦", + "ĠÏĩ αÏģα", + "ĠÏĩα Ïģα", + "ĠÑĢег Ñĥли", + "俺 ãģ¯", + "ัà¸ķ ว", + "éĦ ī", + "Ġب اÛĮ", + "Ġبا ÛĮ", + "éĬ ·", + "ĠN ẵng", + "л од", + "ло д", + "ا رÙģ", + "ار Ùģ", + "æ´ ģ", + "ĠëıĻ ìĿ¼", + "ÑĤив ного", + "âĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģ âĶģâĶģâĶģâĶģâĶģâĶģâĶģâĶģ", + "Ġ- :-", + "Ġ-: -", + "ì» ¬", + "ĠÑĪ Ð°Ð³", + "ìłĦ ìŀIJ", + "çļĦ äºĭæĥħ", + "çļĦäºĭ æĥħ", + "ĠÑĢег Ñĸ", + "िय ल", + "ĠÐĿ аз", + "ĠÐĿа з", + "ĠÐĻ Ð¾Ð³Ð¾", + "ĠÐł ом", + "ĠÃĸr neÄŁin", + "Ġп ÑĢеÑģ", + "ĠпÑĢ ÐµÑģ", + "ĠпÑĢе Ñģ", + "u luÄŁu", + "ulu ÄŁu", + "uluÄŁ u", + "Ġза дов", + "Ġзад ов", + "ÅĻ eh", + "ÅĻe h", + "æ¯ķ ä¸ļ", + "Ġth áºŃp", + "ëĤ ¸", + "Ġdlou hodob", + "Ġdlouho dob", + "дÑĸ лÑĥ", + "дÑĸл Ñĥ", + "a lat", + "al at", + "ala t", + "ä» °", + "о ком", + "ок ом", + "око м", + "ĠÑĦ ÑĸлÑĮ", + "ĠÑĦÑĸл ÑĮ", + "ĠNg ân", + "Ġ ترÙĥ", + "Ġت رÙĥ", + "Ġتر Ùĥ", + "ĠÑĤ Ñī", + "ر ÙĪØ¯", + "رÙĪ Ø¯", + "ç uk", + "çu k", + "ra nÃŃ", + "ran ÃŃ", + "Ġdo laÅŁ", + "Ġdol aÅŁ", + "ĠQ uang", + "ĠQu ang", + "ĠpÅĻed pok", + "Ġnám ÄĽstÃŃ", + "ой Ñĩив", + "çĭ Ģ", + "Ġб изнеÑģ", + "ãģŁ ãģı", + "ĠìĿ¸ ì²ľ", + "о ÑĢо", + "оÑĢ Ð¾", + "ĠKü rt", + "ĠKür t", + "ê·¸ 룬", + "ÑĨ аÑĤÑĮ", + "ÑĨа ÑĤÑĮ", + "ĠB ên", + "Ġ acı", + "Ġa cı", + "Ġac ı", + "Ú© Ø´", + "ï¼Ī å¹³æĪIJ", + "Ġ èģĶ", + "Ġèģ Ķ", + ") ãĢģ", + "d iler", + "di ler", + "Ñĩ иÑĤÑĮ", + "ÑĩиÑĤ ÑĮ", + "Ñĩи ÑĤÑĮ", + "Ư á»", + "éĻ ¶", + "il eceÄŁini", + "ilece ÄŁini", + "ileceÄŁi ni", + "Ġv Å¡em", + "ĠvÅ¡ em", + "ĠvÅ¡e m", + "å¼Ģ å¥ĸ", + "è§Ħ 模", + "ul muÅŁ", + "Ġ åĪĺ", + "Ġå Īĺ", + "ĠåĪ ĺ", + "е о", + "еР¾", + "ĠпеÑĢев ÑĸÑĢ", + "åĪĨ åĪ«", + "Ġjed ná", + "Ġjedn á", + "li ÄŁe", + "liÄŁ e", + "ĠرÙħ ضاÙĨ", + "ık lı", + "ıkl ı", + "Ùĩ ÙĢ", + "éĩį çĤ¹", + "Ñĩ иваеÑĤÑģÑı", + "Ñĩи ваеÑĤÑģÑı", + "Ñĩив аеÑĤÑģÑı", + "Ñĩива еÑĤÑģÑı", + "ë¡ľ ìĦľ", + "ÏĦ εÏģο", + "ÏĦε Ïģο", + "ÏĦεÏģ ο", + "åľ° ä¸ĭ", + "д наннÑı", + "дн аннÑı", + "Ġng ược", + "ॠª", + "ĠÎij λ", + "Ġa lacak", + "Ġal acak", + "Ġ à¹Ģà¸ĩ", + "Ġà¹Ģ à¸ĩ", + "Ġà¹Ģภĩ", + "اÛĮ ÙĨد", + "اÛĮÙĨ د", + "Ġh Ãłi", + "ÑĢо из", + "ĠЧ и", + "Ġ ÑıÑģ", + "ĠÑı Ñģ", + "خر ÛĮد", + "Ġhu deb", + "Ġhud eb", + "åľ §", + "Ġ ìĦ¼", + "ĠìĦ ¼", + "å͝ ä¸Ģ", + "Ġ вÑĸлÑĮ", + "Ġв ÑĸлÑĮ", + "ĠвÑĸ лÑĮ", + "ĠباÙĦ اتر", + "ĠباÙĦا تر", + "à¸Ńà¸ģ าส", + "Ġ Tôi", + "ĠT ôi", + "ม à¸Ĥ", + "o mor", + "om or", + "omo r", + "ĠO lomou", + "Ġx ong", + "Ġxo ng", + "Ġdomác ÃŃ", + "Ġ اختÛĮ", + "Ġاخ تÛĮ", + "Ġاخت ÛĮ", + "ĠÑĤеÑħ нÑĸÑĩ", + "ĠÑĤеÑħнÑĸ Ñĩ", + "ĠiÅŁ te", + "à¥Į द", + "Ġнад еж", + "Ø®ÛĮ ص", + "åĬª åĬĽ", + "ĠتجÙĩ ÛĮزات", + "Ġv ole", + "Ġvo le", + "Ġvol e", + "k inci", + "kin ci", + "Ġhes ab", + "ĠÑģ еÑģÑĤ", + "Ú© ا", + "ÑĤеÑĢ Ð½", + "ร รà¸Ħ", + "รร à¸Ħ", + "åıĤ èĢĥ", + "ĠÐļ аб", + "ĠÐļа б", + "Ġİ mpar", + "Ġnáv rh", + "Ġnávr h", + "åĴ¨ 询", + "à¸ĸ าม", + "Ġye rel", + "Ġyer el", + "Ġyere l", + "ĠÃĸ l", + "çĮ Ľ", + "ĠاÙĦÙĪØ· ÙĨÙĬ", + "Ġ ìĿ´ìĸ´", + "ĠìĿ´ ìĸ´", + "ิà¸Ĺย าศาสà¸ķร", + "ิà¸Ĺยา ศาสà¸ķร", + "ĠA ÅŁ", + "Ġзем лÑİ", + "ĠдомаÑĪ Ð½Ð¸Ñħ", + "ĠÑĥ веÑĢ", + "ĠÑĥв еÑĢ", + "A LI", + "AL I", + "г ан", + "га н", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "Ġdo stan", + "Ġdos tan", + "Ġdost an", + "ez pe", + "ãģĭ ãģĦ", + "ر ÙģØªÙĩ", + "رÙģ ØªÙĩ", + "رÙģØª Ùĩ", + "Ġм ÑĥÑģ", + "ĠмÑĥ Ñģ", + "à¹Į à¸Ł", + "è¦ º", + "али за", + "ализ а", + "ĠÑĥÑĩ ÑĢежд", + "ĠÚ© اÙĦ", + "Ġetk isi", + "Ġetki si", + "ä½Ĩ æĺ¯", + "Ġsou vis", + "ĠSav aÅŁÄ±", + "ĠSavaÅŁ ı", + "Ġب سبب", + "ÎŁ ι", + "ÎŁÎ ¹", + "è ļ", + "Ġ æ®", + "Ġæ ®", + "Ġìĺģ êµŃ", + "ا سÛĮÙĪÙĨ", + "اسÛĮ ÙĪÙĨ", + "ĠاÙĦات ØŃاد", + "Ġ глÑı", + "Ġг лÑı", + "à¹ĩà¸ģ à¸ĭ", + "Ġج ÙĪÙĨ", + "ĠجÙĪ ÙĨ", + "ĠاÙĦرسÙħ ÙĬ", + "Âł G", + "ĠÑĤо бÑĸ", + "ĠÑĤоб Ñĸ", + " ĩ", + "Ġ ëĮĢíĸī", + "ĠëĮĢ íĸī", + "çĬ¶ æħĭ", + "Ġê·¸ ëĥ¥", + "Ġи мп", + "Ġим п", + "ĠتÙĨظ ÛĮÙħ", + "ÙĦ اÛĮÙĨ", + "ÙĦا ÛĮÙĨ", + "ÑģÑĤв еннÑĭм", + "ÑģÑĤвен нÑĭм", + "о пол", + "оп ол", + "ر ÙĪØ¬", + "رÙĪ Ø¬", + "Ġ à¸ĩ", + "Ġภĩ", + "Ġ çĤº", + "ĠçĤ º", + "ĠUlus lararası", + "à¥Į à¤Ĥ", + "ãĢģ ãģĿãģĨ", + "Ġس ادÙĩ", + "ÎŃ Î±ÏĤ", + "ÎŃα ÏĤ", + "Ġà¤Ĩ ल", + "- ÑĦ", + "ĠÎłÎ¿Î» ι", + "ĠÎłÎ¿ λι", + "Ġно ÑıбÑĢÑı", + "ĠноÑı бÑĢÑı", + "ÙĪ ÙĦÙĬ", + "ÙĪÙĦ ÙĬ", + "æĽľ æĹ¥", + "æĮģ ç»Ń", + "Ġê¼ Ń", + "ece ÄŁiz", + "eceÄŁi z", + "ĠÛĮ اÙģØª", + "ĠÛĮا ÙģØª", + "Ġ åı¸", + "Ġåı ¸", + "ाà¤Ĺ त", + "Ġ æķħ", + "Ġæķ ħ", + "Ġал леÑĢг", + "Ġt uz", + "Ġtu z", + "еÑĢ ÑĤи", + "еÑĢÑĤ и", + "Ġth ầu", + "ãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ĠãĢĢ", + "- à¤ħ", + "Ġим мÑĥ", + "ÑĢ Ð°Ð¹", + "ÑĢаР¹", + "ÑĢа й", + "主 義", + "ĠbaÅŁ lar", + "Ġä¸Ĭ 涨", + "ع ا", + "ĠÎĻ Ïī", + "ียà¸ĩ à¹ĥหม", + "ĠاÙĦÙħد ÙĬÙĨØ©", + "Ñģ ÑĮко", + "ÑģÑĮ ко", + "ÑģÑĮк о", + "ĠتارÛĮØ® ÛĮ", + "at ÃŃm", + "âĢļ Ø·", + "Ø¢ خر", + "ĠëĦ £", + "ĠÙĨÙħ اÛĮد", + "ĠÙĨÙħاÛĮ د", + "ãģķãĤĵ ãģĮ", + "Ġb ò", + "Ġ à¸ķาม", + "Ġà¸ķ าม", + "ë³´ ìķĺëĭ¤", + "а ÑĤÑĸв", + "аÑĤ Ñĸв", + "аÑĤÑĸ в", + "ĠÑĦ ил", + "Ġkısm ı", + "iá»ĩ ng", + "iá»ĩn g", + "Ġay dın", + "éģķ ãģĦ", + "е ви", + "ев и", + "Ġ å¾®", + "Ġå¾ ®", + "( íģ¬ê¸°", + "Ġ Ú¯ÛĮر", + "ĠÚ¯ ÛĮر", + "ĠÚ¯ÛĮ ر", + "ìķĦ ìĦľ", + "Ġδη μιοÏħÏģγ", + "ãģ«ãģĬ ãģĦãģ¦", + "ĠÃľ Nİ", + "и ÑĤом", + "иÑĤ ом", + "ع ÙĦاÙħ", + "عÙĦ اÙħ", + "åIJİ çļĦ", + "Ġp lá", + "Ġpl á", + "à¸Ľà¸£à¸° à¹Ĥย", + "ç¢ İ", + "Ġ éĺ²", + "Ġéĺ ²", + "ëĬ Ķëĭ¤", + "ëĬĶ ëĭ¤", + "Ġ æĹ¥æľŁ", + "ĠæĹ¥ æľŁ", + "Ġgeç erli", + "л аÑĤÑĭ", + "ла ÑĤÑĭ", + "лаÑĤ Ñĭ", + "Ġmutlak a", + "ÙĪ Øº", + "à¹Ģ ฮ", + "à¹Ģภ®", + "Ġï» £", + "e deki", + "ed eki", + "ede ki", + "à¹Į à¹Ģà¸Ļ", + "Ġнайб ÑĸлÑĮÑĪ", + "ĠнайбÑĸлÑĮ ÑĪ", + "ï¼ Ĭ", + "Ġ à¹Ĥรà¸ĩ", + "Ġà¹Ĥ รà¸ĩ", + "Ġfot bal", + "Ġ éĢģ", + "ĠéĢ ģ", + "âĢĮاÙĦ ÙħÙĦ", + "Ïīμά ÏĦιο", + "Ġú kol", + "åįļ 士", + "d ub", + "du b", + "ı lıģ", + "ılı ÄŁ", + "ıl ıģ", + "ëĵľ 를", + "çĭ IJ", + "α λλ", + "αλ λ", + "æŃ» 亡", + "ĠпÑĢед поÑĩ", + "çµ µ", + "Ġм ÑĥзÑĭ", + "ĠмÑĥ зÑĭ", + "ĠмÑĥз Ñĭ", + "еÑĢÑĤ в", + "ĠÙĥ ÙĨد", + "ĠÙĥÙĨ د", + "Ġu lož", + "Ġul ož", + "ÎŁÎ¥ ÎĽ", + "g ili", + "gi li", + "gil i", + "üs tü", + "üst ü", + "н ки", + "ĠÙĤ ÙĪØ§ÙĨ", + "ι ακ", + "ια κ", + "ĠÅŁ er", + "ĠкиÑģ л", + "Ġки Ñģл", + "Ùģ Ø¶ÙĦ", + "ĠÐIJ ÑĦ", + "γ εν", + "γε ν", + "Ġdo stal", + "Ġdos tal", + "Ġdost al", + "ĠsaÄŁ lıklı", + "ĠsaÄŁlık lı", + "å®¶ æĹı", + "ÄIJ T", + "е ÑĢин", + "еÑĢ Ð¸Ð½", + "еÑĢи н", + "ĠìĿ´ë٬ íķľ", + "Ġdüny ada", + "Ġdünya da", + "Ġnh ắc", + "Âł ÂłĊ", + "³³ Ċ", + "ν ηÏĥη", + "νη Ïĥη", + "γÏģα μμα", + "Ġtak son", + "ĠTürk çe", + "ĠÙģØ±Ø§ÙĨ سÙĩ", + "天 åłĤ", + "æº ¶", + "Ġ oto", + "Ġo to", + "Ġot o", + "èµ µ", + "ch yb", + "chy b", + "Ġ å¾Ĵ", + "Ġå¾ Ĵ", + "ÏĦ Ïį", + "áh nout", + "à¥į पर", + "à¥įप र", + "Ġv las", + "Ġvl as", + "Ġíļ¨ ê³¼", + "Ġt hang", + "Ġth ang", + "Ġthan g", + "Ġtha ng", + "Ġol masına", + "Ġolm asına", + "Ġolması na", + "ĠпоÑĢÑĥÑĪ ÐµÐ½Ð½Ñı", + "Ġqu ỹ", + "ĠíĿ IJ", + "ĠìĪ ¨", + "Ġ ë²Ī째", + "Ġë²Ī 째", + "ẹ n", + "Ġз год", + "Ġзг од", + "Ġ تز", + "Ġت ز", + "Ġاخ تص", + "Ġاخت ص", + "ĠзÑĥÑģÑĤ ÑĢÑĸ", + "Ġt ặng", + "á¿¶ ν", + "Ġ ì½ľ", + "Ġì½ ľ", + "ов аниÑħ", + "ова ниÑħ", + "овани Ñħ", + "ован иÑħ", + "âĢĮ شد", + "âĢĮØ´ د", + "Ġa raya", + "Ġar aya", + "Ġara ya", + "Ġaray a", + "r ové", + "ro vé", + "rov é", + "Ġاخ تÙĦ", + "Ġاخت ÙĦ", + "ли вий", + "лив ий", + "Ġات ØŃاد", + "Ġak ÅŁam", + "ĠÚ©ÙĦ اس", + "ãĤ¢ ãĥĥãĥĹ", + "Ġz ih", + "Ġzi h", + "å ĩĮ", + "åĩ Į", + "å±± å¸Ĥ", + "Ġçev res", + "Ġçevr es", + "Ġçevre s", + "Ġог ÑĢом", + "ĠØ¢ دÙħ", + "ĠtÄĽ lo", + "ĠtÄĽl o", + "ï¼Į æľ¬", + "ĠÚĺØ§ÙĨ ÙĪÛĮÙĩ", + "Ġkr aje", + "Ġkra je", + "Ġkraj e", + "μ ία", + "μί α", + "èħ ¿", + "âĢŀ To", + "決 å®ļ", + "ì ĩ", + "Ġ éĴ", + "Ġé Ĵ", + "ĠΣ ÏĦα", + "ĠجÙħ ÙĩÙĪØ±", + "ĠGen ç", + "r ám", + "rá m", + "ĠÐł ез", + "ĠÐłÐµ з", + "Ġvyt vá", + "ĠпÑĢоизвод ÑģÑĤва", + "ĠÙħ ذÙĩ", + "ĠÙħذ Ùĩ", + "Ġihtiy ac", + "ãĤ¯ ãĤ»", + "Ġn êu", + "å¾ ³", + "Ġ ëĵĿ", + "Ġëĵ Ŀ", + "н аÑĩе", + "на Ñĩе", + "наÑĩ е", + "ĠÏĥÏħ μμε", + "ÏĨ Ïīν", + "в авÑģÑı", + "ва вÑģÑı", + "вав ÑģÑı", + "Ġви ÑĤами", + "ĠвиÑĤ ами", + "Ìģ t", + "Ġfinan ÄįnÃŃ", + "åıĬ åħ¶", + "âĢ ħ", + "çĭ ¼", + "ัà¸ļ à¸ķ", + "ãģĽ ãĤĭ", + "ÎĻÎļ ÎŁ", + "λ λι", + "λλ ι", + "ÑĤ оÑİ", + "ÑĤо Ñİ", + "ا عÙĬØ©", + "اع ÙĬØ©", + "اعÙĬ Ø©", + "vÃŃ ce", + "vÃŃc e", + "о нÑĸв", + "он Ñĸв", + "онÑĸ в", + "ì£ Ħ", + "å» ł", + "ĠØ´ÙĬ Ø¡", + "ĠТ ем", + "ĠТе м", + "Ġاب زار", + "ĠTH PT", + "γ γÏģαÏĨ", + "ĠëĮĢ íķ´ìĦľ", + "ĠëĮĢíķ´ ìĦľ", + "ĠPh ạm", + "ÑĨион ной", + "| /", + "Ġ ãĤ¸ãĥ£", + "ĠãĤ¸ ãĥ£", + "ÑĮ ÑİÑĤ", + "ÑĮÑİ ÑĤ", + "Ñĥ зÑĭ", + "Ñĥз Ñĭ", + "ĠÙħ اد", + "ĠÙħا د", + "ĠmÄĽ ly", + "ĠmÄĽl y", + "Ġ çα", + "ĠçĪ ±", + "Ġr ád", + "Ġrá d", + "à¸Ħว à¸ļà¸Ħ", + "à¥Ī ?", + "Ġl idi", + "Ġli di", + "Ġlid i", + "m amız", + "mam ız", + "Ġ à¹ģà¸ģ", + "Ġà¹ģ à¸ģ", + "ãĤ¯ ãĤ·ãĥ§ãĥ³", + "à¸Ńำ à¸Ļวย", + "es át", + "Ġv iêm", + "Ġvi êm", + "è¡Į åĬ¨", + "มาà¸ģ à¸ģว", + "ĠØ®ÙĪ Ø§Ø¨", + "Ġser best", + "ÅĻÃŃ z", + "ĠíĺĦ ëĮĢ", + "ãĢĮ ãģĿãģĨ", + "çĤ ¸", + "om ik", + "omi k", + "Ġİ ran", + "Ġer iÅŁ", + "ĠÑģ ела", + "ĠÑģел а", + "Ġار زÛĮ", + "Ġارز ÛĮ", + "ãĥĪ ãĥª", + "ĠB ÄĽ", + "е кÑĥ", + "ек Ñĥ", + "Ч ÑĤобÑĭ", + "ЧÑĤо бÑĭ", + "Ġanlam da", + "Îij Îĺ", + "ĠLINE AR", + "ĠLIN EAR", + "æľī çĤ¹", + "ÑĤ аÑĢ", + "ÑĤа ÑĢ", + "it ler", + "itle r", + "Ġn ÃŃž", + "ĠnÃŃ Å¾", + "ĠС ÑģÑĭлки", + "å ¶", + "Ġв пол", + "Ġвп ол", + "ĠدÙĤÛĮ ÙĤÙĩ", + "ĠدÙĤÛĮÙĤ Ùĩ", + "Ġ ä½ĵ", + "ر Ùī", + "ëĶ °", + "Ġà¤ķ व", + "Ġж иÑĢ", + "æij Ĩ", + "Ġì¤ij ìĭ¬", + "Ġк Ñĥб", + "ĠкÑĥ б", + "Ġz lep", + "ĠÑĢÑĭ б", + "é³ ´", + "à¹ģà¸ľ à¸Ļ", + "Ġ íĢ", + "Ġí Ģ", + "ĠÐĿ еÑĤ", + "ĠÐĿе ÑĤ", + "ž itÄĽ", + "žit ÄĽ", + "ži tÄĽ", + "Ġb Äĥng", + "ĠH ava", + "ĠHa va", + "ĠHav a", + "Ġ모 ëį¸", + "ĠH ãy", + "ĠìĿ´ ê²ĥ", + "Ġìĥģ ìĦ¸", + "me miÅŁ", + "mem iÅŁ", + "ĠθÎŃ Ïĥη", + "ण न", + "ĠskuteÄį nÄĽ", + "ĠTarih i", + "Ġtext u", + "Ġtex tu", + "ï¼Į éĢĻ", + "ĠاÛĮÙĨتر ÙĨتÛĮ", + "ĠÙ¾ اد", + "Ġپا د", + "ิà¸Ļ à¸ģาร", + "ĠNg á»įc", + "ĠÑĢоб иÑĤи", + "íĸĪ ê³ł", + "Ġम ण", + "ÐĽ Ðĺ", + "Ġпо ÑĤеÑĢ", + "ĠпоÑĤ еÑĢ", + "Ñģ ом", + "Ñģо м", + "ĠاÙĪ ÙĦÛĮÙĩ", + "ĠاÙĪÙĦ ÛĮÙĩ", + "éĽ ij", + "ĠGi á", + "Ġk anal", + "Ġkan al", + "Ġka nal", + "Ġavant aj", + "Ġavan taj", + "Ġr yb", + "Ġry b", + "Ø® تÙĩ", + "خت Ùĩ", + "ĠÙĪ Ø±ÙĪØ¯", + "ĠÙĪØ± ÙĪØ¯", + "ÐĴ ÑĤ", + "Ïī Ïĥε", + "기 ë¡ľ", + "ĠÐĽ Ñĸ", + "Ġt ảng", + "Ġtả ng", + "Ġص ÙĦÙī", + "ĠÑĥ лÑĭ", + "ĠÑĥл Ñĭ", + "Ġcu á»ijn", + "ĠÐIJ нг", + "ĠÐIJн г", + "Ġد اÙĪ", + "ĠÑĪлÑıÑħ ом", + "ĠÄįlovÄĽk a", + "ĠÄįlovÄĽ ka", + "d ete", + "de te", + "det e", + "ÑĬ ем", + "à¹Į à¹ĥà¸Ļ", + "à¤ķ न", + "åĪ ¤æĸŃ", + "åΤ æĸŃ", + "ĸ ìĹIJ", + "ÏĦ ÏīÏĥη", + "ÏĦÏī Ïĥη", + "ĠÙģÙĨ اÙĪØ±ÛĮ", + "ĠyaÅŁ ında", + "ĠÏĥÏĩ ÎŃ", + "Ġ yı", + "Ġy ı", + "Ġp ÅĻen", + "ĠpÅĻ en", + "ĠpÅĻe n", + "ĠÑĦоÑĢм ÑĥваннÑı", + "ĠÑĦоÑĢмÑĥ ваннÑı", + "ü mÃ¼ÅŁ", + "üm Ã¼ÅŁ", + "ümü ÅŁ", + "Ġ δο", + "Ġδ ο", + "ımız ın", + "ımızı n", + "Ġ é¢Ħ", + "Ġé¢ Ħ", + "оÑģÑĤ ÑĮÑİ", + "оÑģÑĤÑĮ Ñİ", + "ĠоÑĤкÑĢÑĭ ÑĤ", + "Ġأغ سطس", + "ĠA sp", + "ĠAs p", + "ĠÑĥ зн", + "ĠÑĥз н", + "ĠÙĪ Ø§Ø³Øª", + "ĠÙĪØ§ ست", + "ĠÙĪØ§Ø³ ت", + "e lerle", + "eler le", + "èķ ī", + "Ġت Ú©ÙĨ", + "Ġتک ÙĨ", + "Ñĥ мÑĥ", + "Ñĥм Ñĥ", + "à¹Į à¸ĭ", + "ाद न", + "ĠâĢĭ âĢĭâĢĭ", + "ĠâĢĭâĢĭ âĢĭ", + "Ġa lıyor", + "Ġal ıyor", + "Ġî ¡", + "Ùħ دة", + "Ùħد Ø©", + "Ġ Ïĥει", + "ĠÏĥ ει", + "ĠÏĥε ι", + "Ġ è¿Ļ", + "Ġè¿ Ļ", + "ĠÅŀ ehir", + "ен ÑĤами", + "енÑĤ ами", + "енÑĤа ми", + "ãĤ¿ ãĥ«", + "ห าย", + "หา ย", + "ай ÑĤ", + "Ġh arc", + "Ġhar c", + "Ġha rc", + "ãĢĤ ãģĬ", + "Ġتأ Ø«ÛĮر", + "า à¸Ĭà¸Ļ", + "าà¸Ĭ à¸Ļ", + "Ġth áºŃm", + "Ġ æ¿", + "Ġæ ¿", + "Ġm Å©i", + "Ġprv nÃŃm", + "ĠprvnÃŃ m", + "Ġбаг аÑĤÑĮ", + "ĠбагаÑĤ ÑĮ", + "ãģķãĤī ãģ«", + "b iên", + "bi ên", + "åºĶ å½ĵ", + "ìĿ´ ë²Ħ", + "Ġpou žÃŃt", + "ĠpoužÃŃ t", + "Ġokam ž", + "e sin", + "es in", + "esi n", + "v ÄĽl", + "vÄĽ l", + "Ġ ضÙĪ", + "Ġض ÙĪ", + "è» Ł", + "- з", + "à¥Ī त", + "è¨Ī ç®Ĺ", + "r abilir", + "ra bilir", + "rab ilir", + "ĠÐłÐ¾Ñģ ÑĸÑĹ", + "Ġpla tÃŃ", + "Ġplat ÃŃ", + "Ġdosp ÄĽl", + "Ġر ضا", + "Ġرض ا", + "Ġn ového", + "Ġnov ého", + "Ġnové ho", + "Ġна ÑĨионалÑĮ", + "ĠÐIJ б", + "ãģĮ ãģĤãģ£ãģŁ", + "Ġ ë¹Ī", + "Ġë¹ Ī", + "âĢĮ Ùħ", + "å±ŀ äºİ", + "Ġt ane", + "Ġta ne", + "Ġtan e", + "ÙĬ اÙĩ", + "ÙĬا Ùĩ", + "Ġ βο", + "Ġβ ο", + "Ġ ëĬ¥", + "ĠëĬ ¥", + "ãĥĩãĤ£ ãĥ¼ãĤ¹", + "Ġ ذÙĥر", + "Ġذ Ùĥر", + "Ġobvyk le", + "Ġbir inci", + "ĠاÙĦ زر", + "ĠاÙĦز ر", + "ìĿ´ ë¹Ħ", + "ĠØ¥ د", + "ĠE kon", + "ĠEk on", + "ÐŁ ол", + "ÐŁÐ¾ л", + "ĠвеÑĢ Ð¾ÑıÑĤ", + "Ġyarar lan", + "Ġа ÑĢом", + "ĠаÑĢ Ð¾Ð¼", + "Ġ éĦ", + "Ġé Ħ", + "Ġ iddi", + "Ġid di", + "i Äįka", + "iÄį ka", + "struk ce", + "mÃ¼ÅŁ tür", + "Ïħ ÏĦÏĮ", + "ë¡ ±", + "Ġal maktadır", + "Ġalmak tadır", + "ени Ñıми", + "ениÑı ми", + "ียà¸Ļ ร", + "à¹ĩ à¸Ļว", + "à¹ĩà¸Ļ ว", + "и кÑĥ", + "ик Ñĥ", + "е нка", + "ен ка", + "âĢĻ yi", + "âĢĻy i", + "Ġpo hod", + "Ġpoh od", + "Ġ زر", + "Ġز ر", + "Ġx ấu", + "Ġ à¸łà¸²à¸©", + "Ġà¸ł าษ", + "Âł Ðŀ", + "Ġ δικ", + "Ġδ ικ", + "Ġδι κ", + "Ġназ ива", + "åıª èĥ½", + "大 éĩı", + "ĠÄij ế", + "Ġ 第äºĮ", + "Ġ第 äºĮ", + "ĠkiÅŁ ilerin", + "ĠkiÅŁi lerin", + "ĠkiÅŁiler in", + "Ġdob ré", + "Ġdobr é", + "é© ¾", + "Ġdůležit é", + "ë¡ ¤", + "μÎŃ Î½Î¿Ïħ", + "μÎŃν οÏħ", + "μÎŃνο Ïħ", + "Ġtr ú", + "Ġbiç im", + "Ġ ÐĿÐIJ", + "ĠÐĿ ÐIJ", + "Ġ å¾Į", + "Ġå¾ Į", + "Ġdu yg", + "Ġduy g", + "åŀ Ĥ", + "ÐĨ ÐĨ", + "Ġet meye", + "Ġetm eye", + "Ġetme ye", + "ĠÙĦب اس", + "Ġд вÑĸ", + "Ġдв Ñĸ", + "Ġ 긴", + "Ġê¸ ´", + "ÑĨ Ñĸйно", + "ÑĨÑĸй но", + "κ ÏĦή", + "ï½ Ŀ", + "ĠÑĦевÑĢа лÑı", + "å¯ «", + "Ġ 겨", + "Ġê² ¨", + "Ġyıl larda", + "Ġyıllar da", + "Ġз Ñĥп", + "Ġobchod nÃŃ", + "Ġاض اÙģÙĩ", + "в еÑĢж", + "веÑĢ Ð¶", + "Ġ æłĩ", + "Ġæł ĩ", + "ج اج", + "جا ج", + "Ġر ÙĪØ³ÛĮ", + "ĠرÙĪ Ø³ÛĮ", + "Ġstand art", + "Ġstan dart", + "é ru", + "ér u", + ") ìĿĦ", + "д екÑģ", + "де кÑģ", + "Ġ âĪļ", + "ĠâĪ ļ", + "Ġİngiliz ce", + "èĬ Ŀ", + "身 ä¸Ĭ", + "ØŁ ØŁ", + "Ġm ẽ", + "Îij ÎĶ", + "енÑģ ив", + "âĢĻ ta", + "âĢĻt a", + "à¹ī าà¸ģ", + "à¹īา à¸ģ", + "ÎŁÎĽ ÎŁÎĵ", + "ä»ĺ ãģij", + "Ġs Ãłng", + "ĠsÃłn g", + "Ġह à¤Ł", + "ÑĭÑĪ Ð»ÐµÐ½", + "ĠØ® طر", + "Ġخط ر", + "Ġнай ÑĤи", + "缸 ä¿¡", + "Ïī δ", + "ठĶ", + "Ġdo pad", + "Ġdop ad", + "à¹Ħà¸Ł ล", + "æ ģµ", + "æģ µ", + "í Ĥ¬", + "íĤ ¬", + "Ä±ÅŁ ma", + "ãģı ãĤĮãģŁ", + "ãģıãĤĮ ãģŁ", + "Ġnap rost", + "ĠÑģоÑģÑĤав е", + "Ġ ÙĪØ³Ø·", + "ĠÙĪ Ø³Ø·", + "ĠÙĪØ³ Ø·", + "๠ķ", + "éĸĭ çĻº", + "ĠдеÑĢ ÐµÐ²Ð°", + "ĠдеÑĢев а", + "- ÐĶ", + "à¸ĩ à¸Ĭ", + "ิà¸ķ ย", + "ĠاÙĦÙĤ اÙĨÙĪÙĨ", + "ãĤ¹ ãĤ«", + "l ÃŃž", + "lÃŃ Å¾", + "Ġан ализ", + "Ġproblém y", + "æĸĩ åѦ", + "çĹħ éĻ¢", + "Ñģ ед", + "Ñģе д", + "ï¼Į å°ı", + "Ġعش ÙĤ", + "ãģ° ãģĭãĤĬ", + "Ġع ÙĤد", + "ĠعÙĤ د", + "ØŃ ÙĬØ©", + "ØŃÙĬ Ø©", + "Ġë°Ķ ëŀįëĭĪëĭ¤", + "inc lu", + "incl u", + "Ġ ëĵľë¦½ëĭĪëĭ¤", + "Ġëĵľ 립ëĭĪëĭ¤", + "åį« çĶŁ", + "Ġвид Ñĥ", + "Ġви дÑĥ", + "ุ à¸ļาล", + "ุà¸ļ าล", + "ÑĢ ÑĥкÑĤ", + "ÑĢÑĥ кÑĤ", + "ÑĢÑĥк ÑĤ", + "ĠоÑģ вÑĸÑĤ", + "ĠоÑģвÑĸ ÑĤ", + "Ġvel ký", + "Ġvelk ý", + "Ġch tÄĽl", + "ĠchtÄĽ l", + "æīĵ å¼Ģ", + "Ġзакон одаÑĤелÑĮ", + "ан Ñģи", + "анÑģ и", + "ì¶ ĺ", + "ĠÙħر اج", + "åģľ æŃ¢", + "Ġво но", + "ìłķ ìĿ´", + "Ġroz sah", + "Ġrozs ah", + "Ġ æĻ´", + "ĠæĻ ´", + "Ġza jist", + "Ġzaj ist", + "Âł м", + "tı ģını", + "tıģ ını", + "Ġhizmet i", + ". Îij", + "ĠÙħعÙħÙĪÙĦ ا", + "Ġ ži", + "Ġž i", + "Ġg á»įn", + "èĮ Ĥ", + "Ġh uz", + "Ġhu z", + "ζ ει", + "ζε ι", + "à¥ī à¤Ł", + "Ġиз дел", + "ìŀ ĸ", + "ĠëͰ 른", + "Ġk ia", + "Ġki a", + "Ġz nÄĽnÃŃ", + "Ġzn ÄĽnÃŃ", + "ĠоÑĢгани за", + "ĠоÑĢганиз а", + "از ات", + "Ġrež im", + "Ġв енÑĤи", + "b ách", + "Ġод номÑĥ", + "Ġодно мÑĥ", + "Ġодном Ñĥ", + "Ġkit ab", + "Ġki tab", + "Ġkita b", + "Ġfran couz", + "Ġfranc ouz", + "ĠØ£ ÙĦ", + "Ġس رÙĪ", + "Ġسر ÙĪ", + "Ùij ÙĦ", + "Ġ ман", + "Ġм ан", + "Ġма н", + "ë° į", + "Ġк Ñĥда", + "ĠкÑĥ да", + "Ùı س", + "ãĢĤ æŃ¤", + "ا شة", + "اش Ø©", + "à¸Ĥà¸Ńà¸ĩ à¸ľ", + "主 ä»»", + "ив ÑĪи", + "Ġà¸ģ รà¸ģ", + "Ġà¸ģร à¸ģ", + "ек Ñģи", + "екÑģ и", + "иÑĤ еÑĤ", + "иÑĤе ÑĤ", + "ĠØ£ ÙĦÙģ", + "ĠØ£ÙĦ Ùģ", + "а ними", + "ан ими", + "ани ми", + "ãĥļ ãĥ¼ãĤ¸", + "ĠпÑĢав ил", + "ĠпÑĢави л", + "åªĴ ä½ĵ", + "Ñİ Ñīее", + "ÑİÑī ее", + "ä¸Ģ 人", + "β ο", + "ìĭ ¸", + "о зна", + "оз на", + "å¤ī æĽ´", + "ĠÙħØ´ Ùĩد", + "æ³ķ 人", + "ĠBa kanı", + "ĠBak anı", + "ĠBakan ı", + "ĠÑħоÑĩ а", + "Ġα ξ", + "Ġver ilm", + "Ġveri lm", + "Ġk onus", + "Ġkon us", + "Ġkonu s", + "με νη", + "μεν η", + "Ġ 馬", + "Ġé ¦¬", + "Ġé¦ ¬", + "Ġìĭ¤ ìłľ", + "Ġjed no", + "Ġjedn o", + "Ġб аб", + "Ġба б", + "åĥ į", + "æĺ¯ ä¸Ģ个", + "æĺ¯ä¸Ģ 个", + "- е", + "ĠpÅĻek vap", + "à¸Ń à¸ŀ", + "ĠY ol", + "ĠYo l", + "ĠÑĥÑģÑĤан авлива", + "ê² ¼", + "Ġ ä»¶", + "اÙĦ Ø´", + "Ġоб ÑĥÑĩ", + "åĺ Ľ", + "ĠÑħоÑĩ Ñĥ", + "ĠÐķ в", + "ÑĦ оÑĢÑĤ", + "ÑĦоÑĢ ÑĤ", + "Ġर न", + "âĢŀ V", + "èľ ľ", + "Ġd oma", + "Ġdo ma", + "Ġdom a", + "æĶ¯ æı´", + "Ġ اخت", + "Ġا خت", + "Ġاخ ت", + "å¾ ª", + "à¥Ĥ à¤ļन", + "à¥Ĥà¤ļ न", + "ा हन", + "ाह न", + "Ġ å¤ı", + "Ġå¤ ı", + "ĠاÙĦØ£ Ùħر", + "ĠاÙĦØ£Ùħ ر", + "ĠбеÑĢем енноÑģÑĤи", + "ĠTh á»±c", + "é£İ éĻ©", + "Ġül kemiz", + "Ġülk emiz", + "çķª åı·", + "ÑģÑĤ ÑĢе", + "ÑģÑĤÑĢ Ðµ", + "ÑĪ Ð»Ð¾", + "ĠصاØŃ ب", + "ι νε", + "ιν ε", + "ĠK ıs", + "ĠKı s", + "ĠPr ahy", + "ĠPra hy", + "æ¹ ¿", + "Ġv ým", + "Ġvý m", + "çĽ Ĵ", + "ÎŁ ÎĶ", + "ÎŁÎ Ķ", + "ãģł ãģª", + "ĠpÅĻÃŃ ležit", + "Ġìĸ¸ ìłľ", + "ĠÑĪвид ко", + "Ġsitu aci", + "åħĥ ç´ł", + "İT ESİ", + "ĠV ak", + "ĠVa k", + "Ġner edeyse", + "i iii", + "ii ii", + "iii i", + "ÑĢа зд", + "ÑĢаз д", + "Ġп олиÑĤ", + "Ġпо лиÑĤ", + "Ġпол иÑĤ", + "Ġполи ÑĤ", + "Ġп огод", + "Ġпо год", + "Ġпог од", + "ĠпÑĢоÑĨеÑģ Ñģе", + "ĠпÑĢоÑĨеÑģÑģ е", + "Ġмен ÑĪе", + "äºĮ 人", + "ĠÙħÙĪ Ø§Ø·", + "Ġp ÅĻik", + "ĠpÅĻ ik", + "ĠpÅĻi k", + "è· ¡", + "Ġs erg", + "Ġse rg", + "Ġser g", + "ĠÑĢаÑģ ÑģÑĤоÑı", + "и Ñĩно", + "иÑĩ но", + "ĠÎĶ ÎĹÎľ", + "¨ Ø·", + "ص بØŃ", + "صب ØŃ", + "สะ à¸Ķวà¸ģ", + "د رÛĮ", + "در ÛĮ", + "k ům", + "ků m", + "ç§ģ ãģ¯", + "Ġt vor", + "Ġtv or", + "à¥įव व", + "Ġp ÅĻiv", + "ĠpÅĻ iv", + "ĠpÅĻi v", + "Ġ íı´", + "Ġíı ´", + "Ġst átu", + "Ġstát u", + "Ġed ilmiÅŁtir", + "Ġedilm iÅŁtir", + "Ġedil miÅŁtir", + "ĠedilmiÅŁ tir", + "ØŃ Ùħ", + "Ġб ÑĥÑħ", + "ĠбÑĥ Ñħ", + "สำ à¹Ģร", + "ĠتÙĪ Ø¶ÛĮ", + "ãģĿãĤĮ ãģ¯", + "Ġà¤ħव ध", + "é ŀĭ", + "éŀ ĭ", + "âĤ¬ Ċ", + "Ġ éº", + "Ġé º", + "ĠÄĮ es", + "Ġpop rvé", + "ï¼Į åĽł", + "Ġal mÄ±ÅŁ", + "Ġalm Ä±ÅŁ", + "l al", + "la l", + "ĠØ® ÙĪØ¨ÛĮ", + "ĠØ®ÙĪ Ø¨ÛĮ", + "ĠØ®ÙĪØ¨ ÛĮ", + "Ġκ οÏģ", + "Ġκο Ïģ", + "ìļ´ ëıĻ", + "m ayın", + "may ın", + "mayı n", + "Ġak tif", + "Ġakt if", + "ĠاÙĨج ÙħÙĨ", + "ĠÑģ ÑĤак", + "ĠÑģÑĤ ак", + "ĠÑģÑĤа к", + "ĠÑģÑĤ аÑĢа", + "ĠÑģÑĤаÑĢ Ð°", + "ĠÑģÑĤа ÑĢа", + "ÙĦ Ù쨩", + "ÙĦÙģ Ø©", + "Ġparç ası", + "ĠкоÑĢп ÑĥÑģ", + "ãĢģ é«ĺ", + "! ..", + "!. .", + "ĠÎł ÎijÎĿ", + "ĠÙĩÙĨ ÙĪØ²", + "ion álnÃŃ", + "Ġprá vnÃŃ", + "Ġpráv nÃŃ", + " Ŀ", + "Ġت ÛĮر", + "ĠتÛĮ ر", + "Ġ åŁİ", + "ĠåŁ İ", + "Ġзг ад", + "Ġsaldır ı", + "æŁ¥çľĭ æijĺè¦ģ", + "é« ª", + "Ùģ ØµÙĦ", + "ãģĻ ãģ¹ãģ¦", + "е во", + "ев о", + "ê´Ģ리 ìŀIJ", + "Ġìĺ Ĩ", + "udic ots", + "ÙĪØ± ÙĨ", + "Ġcel kem", + "ãĤ¤ ãĤº", + "ìĬ¤ ê°Ģ", + "販 売", + "ĠíĮĮìĿ¼ 첨ë¶Ģ", + "ë ¢°", + "Ġe nergie", + "Ġenerg ie", + "Ġener gie", + "es idir", + "esi dir", + "Ġm iá»ĩng", + "éĻ ·", + "Ġг аÑĢа", + "ĠгаÑĢ Ð°", + "Ġb iliyor", + "Ġbil iyor", + "çį² å¾Ĺ", + "еÑĤ еÑĢб", + "à¹Īา à¹Ģà¸Ľ", + "Ġμα ζί", + "Ġzprac ovánÃŃ", + "Ñģ м", + "Ġh ala", + "Ġha la", + "Ġhal a", + "Ġز ÙĪØ¬", + "ĠвÑĸд нов", + "à¹Ģหม าะ", + "ĠÐłÐµÑģп Ñĥбли", + "åĩºåĵģ èĢħ", + "Ñī ини", + "Ñīи ни", + "Ñīин и", + "ัà¸Ļ à¹Ģà¸Ľ", + "Ġtý den", + "Ġtýd en", + "Ġب ÙĬت", + "ĠبÙĬ ت", + "Ñģ комÑĥ", + "Ñģк омÑĥ", + "Ñģком Ñĥ", + "Ñģко мÑĥ", + "ĠÙĩÙĪ Ø§Ù¾ÛĮÙħ", + "оÑģ нов", + "é¸ Ł", + "Ġsou krom", + "Ġfa iz", + "Ġdem ok", + "Ġdemo k", + "Ġkter ém", + "Ġkteré m", + "Ġëħ ¹", + "л аÑĩ", + "ла Ñĩ", + "ĠоÑĤвеÑĤ ÑģÑĤвен", + "Ġ ï¼¼:", + "Ġï¼¼ :", + "Ġ λο", + "Ġλ ο", + "ÄĮ esk", + "ê°Ģ ìļĶ", + "Ġ ãĥĬ", + "Ġãĥ Ĭ", + "Ġnhu áºŃn", + "ĠÑģ или", + "ĠÑģи ли", + "ĠÑģил и", + "ĠÐľ он", + "Ġç ap", + "Ġça p", + "ĠRow Box", + "Ġм аÑģÑĤ", + "ĠмаÑģ ÑĤ", + "Ġма ÑģÑĤ", + "ĠÐľ а", + "ĠдÑĢÑĥг о", + "ĠдÑĢÑĥ го", + "ĠØ£ Ø´", + "ë°© ìĨ¡", + "ĠпÑĸд пиÑģ", + "èĩ ¨", + "åī ©", + "Ġh iá»ĥn", + "Ġhi á»ĥn", + "ĠÙĤر ارد", + "ĠÙĤرار د", + "ist rat", + "istr at", + "istra t", + "ÐŁ Ñĸд", + "ÏĦε Ïģα", + "ÏĦεÏģ α", + "Ġpoz dÄĽ", + "ĠbaÅŁ ta", + "夫 人", + "л ини", + "ли ни", + "лин и", + "Ġка ÑĩеÑģÑĤва", + "ĠкаÑĩе ÑģÑĤва", + "Ġkur tul", + "Ġ ì¢Į", + "Ġì¢ Į", + "ãģ«ãģĬ ãģijãĤĭ", + "åľ° åįĢ", + "ĠÑĩа Ñģом", + "ĠÑĩаÑģ ом", + "ìµľ ê³ł", + "Ġn gang", + "Ġng ang", + "Ġnga ng", + "ا Ùĩد", + "اÙĩ د", + "ĠШ ев", + "ĠpÅĻ itom", + "ĠpÅĻi tom", + "Ġch ấm", + "ĠÐľ еÑģÑĤо", + "ĠÑģовеÑĢÑĪ ÐµÐ½Ð½Ð¾", + "ÃŃ cÃŃ", + "ÃŃc ÃŃ", + "Ń å·ŀ", + "åĪĽ æĸ°", + "äºĶ æľĪ", + "Ġا عÙħاÙĦ", + "Ġاع ÙħاÙĦ", + "Ġвозмож ноÑģÑĤи", + "Ġвозможно ÑģÑĤи", + "ĠпÑĢод овж", + "n ÄĽt", + "nÄĽ t", + "ĠÐĿа пÑĢимеÑĢ", + "ĠاÙĦ دÙħ", + "ĠاÙĦد Ùħ", + "Ġ à¹ģà¸ļà¸ļ", + "Ġà¹ģ à¸ļà¸ļ", + "çĶŁ çļĦ", + "ĠÑħ аÑĢÑĩ", + "ĠSon uç", + "Ġrůzn é", + "Ġrůz né", + "Ġ اذ", + "Ġا ذ", + "ĠØ§Ø °", + "à¸ķ à¸Ńà¸ļ", + "P ÅĻed", + "PÅĻ ed", + "ĠдеÑĢев Ñıн", + "ë´ IJ", + "ĠëĬIJ ëĤ", + "جÙħ ÙĬع", + "ĠBöyle ce", + "èµ ı", + "Ġب سÙĬ", + "Ġبس ÙĬ", + "ĠÃĩ aÄŁ", + "Ġت اÛĮ", + "Ġتا ÛĮ", + "Ġnej vyššÃŃ", + "èĸ ©", + "Ïĩε δÏĮν", + "Ġëĵ± ìĿĺ", + "e yh", + "ey h", + "æĸĻ çIJĨ", + "ا تÙĩ", + "ات Ùĩ", + "æī «", + "Ġ å©", + "Ġå ©", + "ĠпÑĢи вед", + "ĠпÑĢив ед", + "æī ¶", + "Ġ 견", + "Ġê² ¬", + "Ġا ÙħÛĮر", + "ĠاÙħ ÛĮر", + "ाय ल", + "æ¡ ij", + "à¸Ļ à¹Ģà¸ķ", + "ила кÑĤи", + "å®¶ ä¼Ļ", + "Ġbulun uyor", + "y sa", + "ys a", + " Ĩ", + "ĠB İR", + "íĨ ¤", + "à¤Ĥà¤Ĺ à¤łà¤¨", + "ÎĶ ÎµÎ½", + "à¥Į à¤ķर", + "à¥Įà¤ķ र", + "éĸĵ ãģ«", + "Ġм об", + "Ġмо б", + "ĠMo rav", + "ĠMor av", + "è§Ħ åĪĴ", + "ĠÑģвÑĸÑĤ Ñĸ", + "ul ts", + "ult s", + "Ġze mÃŃ", + "Ġzem ÃŃ", + "Âł ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł", + "ÂłĠÂłĠÂł ĠÂłĠÂłĠÂłĠÂłĠÂłĠÂł", + "ĠÐŁ оп", + "ĠÐŁÐ¾ п", + "ãģĤ ãģĴ", + "Ġpom oci", + "Ġpomoc i", + "ĠзмÑĸ ÑģÑĤ", + "Ġзм ÑĸÑģÑĤ", + "主 人", + "ĠS ı", + "ãĥĽ ãĥĨãĥ«", + "ĠÑĥва гÑĥ", + "å» ³", + "à¹Ģม à¸ķร", + "est li", + "Ġlo ạt", + "ãĤ¢ ãĥ¼", + "ĠÎĶ Îµ", + "Ġbun ları", + "Ġbunlar ı", + "Ġ çĤ¹åĩ»", + "ĠçĤ¹ åĩ»", + "Ġ BÃłi", + "ĠB Ãłi", + "ĠBÃł i", + "Ġ ä¸ĸ", + "Ġä¸ ĸ", + "Ġê³ł ê°ľë¥¼", + "ĠÐŃ ÑĤоÑĤ", + "ĠÐŃÑĤо ÑĤ", + "Ġmem nun", + "Ġ ।Ċ", + "Ġ। Ċ", + "ĠиÑģÑĤоÑĢ Ð¸Ð¸", + "Ġ ì°©", + "Ġì° ©", + "१ ९", + "१ॠ¯", + "ĠÐŀд нак", + "ĠÐŀдна к", + "Ġv ede", + "Ġve de", + "Ġved e", + "ÏĨ ÎŃÏģει", + "ÏĨÎŃ Ïģει", + "â b", + "çĬ¶ åĨµ", + "åįı è®®", + "Ġ ê°Ŀ", + "Ġê° Ŀ", + "е вид", + "ев ид", + "еви д", + "j mu", + "jm u", + "Ġколи ÑĩеÑģÑĤва", + "ĠколиÑĩ еÑģÑĤва", + "ĠколиÑĩе ÑģÑĤва", + "à Ľ", + "i Äįe", + "iÄį e", + "Ġfirm alar", + "Ġfir malar", + "Ġfirma lar", + "èĢ Ģ", + "к Ñĸн", + "кÑĸ н", + "ĠêµŃ 민", + "Ġ목 ë¡Ŀ", + "ĠÎļ αÏģ", + "ĠÎļα Ïģ", + "Ġhis sed", + "Ġhiss ed", + "ï¼ «", + "Ġ Tên", + "ĠT ên", + "ĠÑĤÑĭ ÑģÑıÑĩ", + "ØŃÙĬ ØŃ", + "Ġвпол не", + "ĠS ınıf", + "ĠSın ıf", + "Ġμ ην", + "Ġμη ν", + "Ġ íij¸", + "Ġí ij¸", + "ĠاÙĦ طبÙĬ", + "ĠاÙĦØ· بÙĬ", + "ĠاÙĦطب ÙĬ", + "ĠزÛĮ ب", + "Ġп Ñĥ", + "Ġp raž", + "Ġpr až", + "Ġpra ž", + "ìĹĨ ëĬĶ", + "θ ÏģÏī", + "Ġi çi", + "Ġiç i", + "Ġб Ñĸл", + "ĠбÑĸ л", + "Ðł Ñij", + "Ġì¶ķ 구", + "Ġl ạ", + "Ġ ãĥķãĤ¡", + "Ġãĥķ ãĤ¡", + "Ġ èĸ", + "Ġè ĸ", + "μα ÏĦο", + "éĩij å±ŀ", + "á li", + "ál i", + "ĠÙģ Ø£", + "ĠKar lov", + "ĠKarl ov", + "ĠZ áp", + "ĠZá p", + "ãĥª ãĥ³ãĤ°", + "ãĥªãĥ³ ãĤ°", + "ab ilmek", + "abil mek", + "ĠС и", + "Ġc ÃŃrk", + "ĠcÃŃ rk", + "Ġk á»ĭp", + "Ġà¤ij नल", + "ĠÙĪ ØŃدة", + "ĠÙĪØŃ Ø¯Ø©", + "ãĥĭ ãĥĥãĤ¯", + "Ġn Æ°á»Ľng", + "Ġа кÑĤÑĥ", + "Ġак ÑĤÑĥ", + "ĠакÑĤ Ñĥ", + "å¸Ŀ åĽ½", + "Ġn ázev", + "Ġnáz ev", + "ĠÑĢемон ÑĤ", + "ĠÑĢ Ð¸Ð½ÐºÑĥ", + "ĠÏĢ Î¬Î½Ïī", + "ĠÏĢά νÏī", + "ÏĦ ικο", + "ÏĦικ ο", + "ÏĦι κο", + "ĠìĤ¼ ìĦ±", + "ĠÑģимпÑĤом Ñĭ", + "ĠÑĢа нÑĸÑĪе", + "ĠJ á", + "ĠÑģÑĩиÑĤа еÑĤÑģÑı", + "ĠÑģÑĩиÑĤ аеÑĤÑģÑı", + "Ġп оÑĢÑĸв", + "Ġпо ÑĢÑĸв", + "ĠпоÑĢ Ñĸв", + "ĠÐľ ал", + "ĠÐľÐ° л", + "éĿ¢ 积", + "ĠÙĦ غ", + "Ġج Ø´ÙĨ", + "Ġнед ели", + "Ġнедел и", + "Ġì¦Ŀ ê°Ģ", + "ãĨį ëıĻ", + "Ġl ượt", + "ĠÄIJ á»ĭnh", + "Ġ à¸Ńà¸Ńà¸Ļà¹Ħลà¸Ļ", + "Ġà¸Ń à¸Ńà¸Ļà¹Ħลà¸Ļ", + "Ġyap arak", + "Ġyapar ak", + "ĠÄij ai", + "ĠÄija i", + "Ġо ÑĦиÑĨи", + "Ġε μÏĢ", + "ξ ειÏĤ", + "ξει ÏĤ", + "Ġкон ÑĦеÑĢен", + "Ġ arası", + "Ġa rası", + "Ġar ası", + "Ġaras ı", + "Ġara sı", + "à¸ķ า", + "Ġ ë´IJ", + "Ġë´ IJ", + "о вана", + "ов ана", + "ова на", + "ован а", + "ì§Ģ ê°Ģ", + "ĠV ám", + "ि à¤ľà¤¨", + "à¤¿à¤ľ न", + "Ġ ç¼ĸè¾ij", + "Ġç¼ĸ è¾ij", + "ζ ÏĮ", + "ĠÏĦ ÏģÏĮ", + "Ġücret siz", + "ĠکاÙħ ÙĦا", + "ĠکاÙħÙĦ ا", + ": ::/", + ":: :/", + "::: /", + "à¹Į ĊĊ", + "à¹ĮĊ Ċ", + "Ġéĸ¢ éĢ£", + "Ġ kara", + "Ġk ara", + "Ġka ra", + "Ġkar a", + "Ġбез пеки", + "ĠzmÄĽ ny", + "ĠzmÄĽn y", + "Ġê¿ Ī", + "v rd", + "vr d", + "li ÄŁine", + "liÄŁi ne", + "liÄŁ ine", + "liÄŁin e", + "ĠاÙĨتخاب ات", + "ĠдоÑģ вÑĸд", + "Ġkter ého", + "Ġkteré ho", + "ен ÑĤом", + "енÑĤ ом", + "ê³µ ë¶Ģ", + "ìł Ŀ", + "Ġë§Į 족", + "Ġ æij", + "Ġæ ij", + "åĩº åı£", + "建 è®®", + "о ÑĤÑı", + "оÑĤ Ñı", + "Ġ Òij", + "ĠÒ ij", + "íĶĦ ë¡ľ", + "Ġg ió", + "Ġgi ó", + "ãĤ· ãĤ§", + "Ġλ εÏĢ", + "íķĺ 볤", + "Ġyok sa", + "Ġist ih", + "ï¼ ¶", + "ĠاÙĦ عÙħ", + "ĠاÙĦع Ùħ", + "Ġکار گرد", + "à¹Ģà¸ŀ ราะ", + "Ġn ových", + "Ġnov ých", + "Ġnový ch", + "ĠÑģ на", + "Ġs ana", + "Ġsa na", + "Ġsan a", + "व त", + "Ä±ÅŁ man", + "Ä±ÅŁma n", + "åı¦ å¤ĸ", + "ì¶ľìŀ¥ ìĥµ", + "å© ¦", + "ĠкоÑĪ ÑĤÑĸв", + "ĠÙĪØ§ÙĦ ÙĨ", + "Ġب اÙĦØ¥", + "ĠباÙĦ Ø¥", + "Ġ æĬĢ", + "ĠæĬ Ģ", + "Ġмн оже", + "à¥Ĥ ड", + "ĠC ục", + "Ġe vet", + "Ġev et", + "Ġeve t", + "èģĶ åIJĪ", + "Ġ³³Ġ³³ Ġ³³Ġ³³", + "çļĦ å¿ĥ", + "Ġd áng", + "Ġdá ng", + "Ġdán g", + "اÛĮ سÙĩ", + "Ġ erken", + "Ġer ken", + "Ġerk en", + "æ³ ¡", + "ائ ب", + "Ġyap ıldı", + "Ġyapıl dı", + "ĠQu ản", + "æĹ¶ 代", + "ìĽ ¨ìĸ´", + "ìĽ¨ ìĸ´", + "Ġг ÑĸÑĢ", + "ok oj", + "oko j", + "Ùĥ رة", + "Ùĥر Ø©", + "Ñİ Ðº", + "Ġvý j", + "Ġhod iny", + "Ġhodin y", + "Ġелек ÑĤÑĢон", + "m ıyor", + "ĠìŀĪ ëĭ¤ëĬĶ", + "ĠìŀĪëĭ¤ ëĬĶ", + "à¹ī à¹ī", + "иÑĤелÑĮ ное", + "иÑĤелÑĮно е", + "Ġyıl lar", + "Äı te", + "ĠÄįin nost", + "ุà¸ĵ à¸łà¸²à¸ŀ", + "í ĵ¨", + "н г", + "ู รà¸ĵ", + "ูร à¸ĵ", + "ĠпоÑĢÑıд ке", + "Ġëĭ¹ ìĭľ", + "ĠÐľ оÑģков", + "ĠÐľÐ¾Ñģк ов", + "Ġk red", + "Ġkr ed", + "Ġkre d", + "u rum", + "ur um", + "uru m", + "Ġ ÑĤÑı", + "ĠÑĤ Ñı", + "Ú© ÙĨاÙĨ", + "Ú©ÙĨ اÙĨ", + "д ии", + "ди и", + "ÑĢи мÑĸн", + "ÑĢим Ñĸн", + "ĠоÑĢгани зм", + "ĠоÑĢганиз м", + "Ġ éĽĨ", + "ĠéĽ Ĩ", + "ι ÏĥÏĦο", + "ιÏĥ ÏĦο", + "ä¿¡ ç͍", + "åįģ åĽĽ", + "à¹Ī à¹ĥà¸Ĭ", + "ĠÑĥ вид", + "ĠÑĥв ид", + "ัà¸ĩ à¸ģล", + "ัà¸ĩà¸ģ ล", + "åı¦ ä¸Ģ", + "ãĥ« ãĥķ", + "ัà¸ļ à¸Ľà¸£", + "ĠÃľ st", + "説 æĺİ", + "в ай", + "ва й", + "а Ñĩе", + "аÑĩ е", + "æ¬ £", + "Ġkat ıl", + "Ġkatı l", + "ĠC em", + "ĠCe m", + "ĠاÙĦ جÙĩ", + "ĠاÙĦج Ùĩ", + "Ġг ÑĢÑĥз", + "ĠгÑĢÑĥ з", + "ĠгÑĢ Ñĥз", + "Ġза ÑģÑĤав", + "ĠзаÑģÑĤ ав", + "cı lar", + "ĠÑħоÑĤ ел", + "Ġs nÃŃm", + "Ġsn ÃŃm", + "ĠsnÃŃ m", + "ï¼Į 被", + "Ġ виÑī", + "Ġв иÑī", + "Ġви Ñī", + "Ġdem okrat", + "Ġdemok rat", + "à¥ĩ à¤Łà¤°", + "à¥ĩà¤Ł र", + "åij¨ å¹´", + "Ġod pad", + "Ġodp ad", + "Ġda ÅĪ", + "Ġ 代", + "à¹ĩ à¸Ļà¸Ń", + "à¹ĩà¸Ļ à¸Ń", + "ĠÑģк олÑĮко", + "Ġα ÏĨ", + "ĠpÅĻes vÄĽd", + "Ġ åĵģ", + "Ġåĵ ģ", + "ĠинÑĦоÑĢм аÑĨии", + "ĠинÑĦоÑĢма ÑĨии", + "çĽ Ĺ", + "ãģ¾ ãģ¨", + "ĠÑģам ов", + "ĠÑģамо в", + "Ġpo cit", + "Ġpoc it", + "Ġíݸ ì§ij", + "ĠÑģм еÑģÑĮ", + "Ġpo jiÅ¡tÄĽnÃŃ", + "ãģ® ãĤĤ", + "à¹Ī าà¸ģาร", + "à¹Īา à¸ģาร", + "à¹Īาà¸ģ าร", + "ĠÛĮ ÙĪÙĨ", + "Ġ기 ìĸµ", + "ick ými", + "ický mi", + "ickým i", + "a lace", + "al ace", + "ala ce", + "鼻 å½±", + "Ñİ Ð²Ð°Ð½Ð½Ñı", + "缸 åIJĮ", + "Ġ ãĢĥ", + "ĠãĢ ĥ", + "ĠдокÑĥм енÑĤÑĸв", + "ĠдокÑĥменÑĤ Ñĸв", + "ï¼ ¹", + "åΰ åºķ", + "ó z", + "ĠAh met", + "ĠÙħس اØŃت", + "Ġhl avou", + "Ġhlav ou", + "ül ebilir", + "üle bilir", + "ãĢĤ ä½ł", + "à¹ĩà¸ģ à¸Ĭาย", + "¤ ¤", + "Ġ æĦı", + "ĠæĦ ı", + "Ġch áºŃm", + ". д", + "Ġ cca", + "Ġc ca", + "Ġcc a", + "Ġol umsuz", + " ŀ", + "çĬ ¬", + "ĠпоÑģÑĤоÑıн но", + "Ġ.************** Ċ", + "Ġا ستر", + "Ġاست ر", + "Ġاس تر", + "ĠдалÑĮ ней", + "ů r", + "ä¿Ŀ èŃ·", + "боÑĢ Ð°ÑĤоÑĢ", + "боÑĢа ÑĤоÑĢ", + "à ·", + "Ïĥ ÏĦαν", + "ÏĥÏĦ αν", + "ÏĥÏĦα ν", + "ĠÙģ ÙĬÙĦÙħ", + "ĠÙģÙĬ ÙĦÙħ", + "ç ek", + "çe k", + "ìŀIJ 기", + "Ġ æ¥Ń", + "Ġæ¥ Ń", + "н Ñĸп", + "нÑĸ п", + "èī ĩ", + "Ġm oci", + "Ġmo ci", + "Ġmoc i", + "ìľ µ", + "리 ê·¸", + "ĠÐļ о", + "éĤ£ éĩĮ", + "ĠС ÑĤаÑĢ", + "ĠСÑĤ аÑĢ", + "ĠСÑĤа ÑĢ", + "ĠتÙĪØ§ÙĨ ÛĮد", + "Ġng uyá»ĩn", + "Ġnguy á»ĩn", + "Ġ สามารà¸ĸ", + "Ġส ามารà¸ĸ", + "Ñĸ Ñĩна", + "ÑĸÑĩ на", + "Ġ 被", + "Ġè¢ «", + "ุà¸ķสาห à¸ģรรม", + "Ġع صر", + "Ġعص ر", + "ĠÃľNİ VERS", + "Ġteh dy", + "ĠÙĪØµÙĦ ات", + "ĠÙĪØµ ÙĦات", + "ä¿Ŀ è¯ģ", + "ĠE udicots", + "ĠÎł ÎŃ", + "建 è¨Ń", + "ĠìłĦ êµŃ", + "Ġ ØŃÛĮ", + "ĠØŃ ÛĮ", + "ãĤ¤ ãĥĦ", + "ĠØŃ اصÙĦ", + "ĠجÙĨ ÙĪØ¨ÛĮ", + "ĠجÙĨÙĪØ¨ ÛĮ", + "ãĢģ æĹ¥æľ¬", + "à Ļ", + "Ġ à¸Ĺาà¸ĩ", + "Ġà¸Ĺ าà¸ĩ", + "ĠÙĨØŃ ÙĪ", + "اÙĩ ÙĬÙħ", + "å¾Į ãģ«", + "à¸Īะ à¹Ħà¸Ķ", + "åĩł 个", + "à¥ģ à¤ģ", + "à¥ģठģ", + "ëĮĢ ìĿĺ", + "Ġl Ãłn", + "ĠlÃł n", + "ìĽĶ ë¶ĢíĦ°", + "Æ ł", + "Ġ еди", + "Ġе ди", + "Ġs pis", + "Ġsp is", + "Ġspi s", + "æľī ä»Ģä¹Ī", + "Ġneb yla", + "Ġneby la", + "Ġnebyl a", + "Ġíķ´ ìϏ", + "ë¡ľ ë¶ĢíĦ°", + "аÑĢ Ñħ", + "l ili", + "li li", + "lil i", + "Ġíķĺ 루", + "ma ması", + "mam ası", + "Ñĩ аеÑĤ", + "Ñĩа еÑĤ", + "ĠØŃ اÙĦØ©", + "ĠØŃاÙĦ Ø©", + "ĠBöl üm", + "缸 éĹľ", + "ĠдÑĢÑĥг ими", + "ĠдÑĢÑĥгим и", + "çĽ£ çĿ£", + "à¥Ī à¤ľ", + "Ġعبد اÙĦÙĦÙĩ", + "ĠعبداÙĦ ÙĦÙĩ", + "Ġ è¿ŀ", + "Ġè¿ ŀ", + "ĠÐľ ин", + "ĠÐľÐ¸ н", + "Ġê¸ °ëĭ¤", + "Ġ기 ëĭ¤", + "Ġê³µ 격", + "è¡Į åĭķ", + "ा मà¤ķ", + "ाम à¤ķ", + "æ±Ĥ è´Ń", + "模 åŀĭ", + "Ñģ оÑĢ", + "Ñģо ÑĢ", + "r ane", + "ra ne", + "ran e", + "à¹ĩà¸Ī à¸ŀระ", + "ĠÙħس ÛĮر", + "è£ħ ç½®", + "ìķ ¤", + "nÄĽ jÅ¡ÃŃch", + "nÄĽjÅ¡ÃŃ ch", + "αλ ÏįÏĦε", + "ĠH akk", + "ĠHa kk", + "ĠHak k", + "访 éĹ®", + "ĠÑĤ еÑĩ", + "ĠÑĤе Ñĩ", + "ĠL á»ĭch", + "Ġدش ÙħÙĨ", + "Î Į", + "Ġ ÏĢε", + "ĠÏĢ Îµ", + "Ġза мов", + "Ġзам ов", + "Ġb irim", + "Ġbi rim", + "Ġbir im", + "Ġbiri m", + "ãĤ· ãĤ¹ãĥĨãĥł", + "ĠÏĢÏģο ÏĬ", + "Ĭ ìĿĢ", + "в иг", + "ви г", + "Ġëıħ ìĿ¼", + "ĠÑĢев олÑİ", + "Ġ é¦Ļ港", + "Ġé¦Ļ 港", + "Ġ lez", + "Ġl ez", + "Ġle z", + "ĠبÛĮ Ùħار", + "ĠبÛĮÙħ ار", + "Ġduy gu", + "Ġduyg u", + "Ġë Ľ°", + "Ġa macı", + "Ġam acı", + "Ġama cı", + "Ġamac ı", + "à¥įय प", + "ĠìŀIJ ìĦ¸", + "اÙĪ ÛĮر", + "اÙĪÛĮ ر", + "Ġs pole", + "Ġsp ole", + "Ġspo le", + "Ġspol e", + "Ãĸ L", + "Ġ جع", + "Ġج ع", + "ÙĦ ÛĮÙħ", + "ÙĦÛĮ Ùħ", + "ãģªãģ© ãģ®", + "à¸Ľà¸£à¸°à¸ª à¸ļ", + "ĠnaÅ¡ ich", + "ĠпÑĢедÑģÑĤав лÑıеÑĤ", + "Ġзд об", + "Ġo bou", + "Ġob ou", + "Ø® ÙĪØ§ÙĨ", + "Ø®ÙĪ Ø§ÙĨ", + "ãĥ¬ ãĥĥãĥĪ", + "о дейÑģÑĤв", + "од ейÑģÑĤв", + "Ú© رÛĮ", + "کر ÛĮ", + "Ġات اÙĤ", + "ĠÑįкÑģп лÑĥаÑĤа", + "ï½ ¢", + "ĠÙĦÙĦ Ø¥", + "ĠاÙĦÙĨ ظاÙħ", + "ĠíĶĦ ëŀijìĬ¤", + "ıs ıt", + "ısı t", + "åŃ Ļ", + "Ġžád ný", + "ÙĤ Ùī", + "ัà¸ģ à¹Ģร", + "Ġë²ł ìĬ¤íĬ¸", + "Ġ ãĥ«", + "Ġãĥ «", + "åı Ķ", + "n ické", + "nic ké", + "nick é", + "Ġε ιÏĥ", + "Ġει Ïĥ", + "ãĥ« ãĥī", + "Ġدار Ùħ", + "Ġг ем", + "Ġге м", + "Ġ åѸ", + "ĠåŃ ¸", + "ान सà¤Ń", + "ानस à¤Ń", + "али зи", + "ализ и", + "ов анÑĸ", + "ова нÑĸ", + "ован Ñĸ", + "Ġо бо", + "Ġоб о", + "ìłĦ ìĹIJ", + "ĠS inh", + "ĠSi nh", + "ĠSin h", + "Ġ ÙĨع", + "ĠÙĨ ع", + "Ġоб лаÑģ", + "Ġобла Ñģ", + "Ġобл аÑģ", + "Ïħ ÏĢ", + "èĥ ¶", + "Ġaz alt", + "Ġazal t", + "åħ¨ éĿ¢", + "ĠK romÄĽ", + "ĠKro mÄĽ", + "ĠC z", + "æĬ¥ åIJį", + "Ġnásled ujÃŃcÃŃ", + "Ġна пÑĢиклад", + "ĠнапÑĢи клад", + "ãģª ãģijãĤĮãģ°", + "à¸Ń าย", + "çľĭ çľĭ", + "Ġà¸ģร à¸ģà¸İ", + "Ġà¸ģรà¸ģ à¸İ", + "ed nou", + "edn ou", + "ا زÙĦ", + "از ÙĦ", + "ãĢģ æľ¬", + "е Ñģи", + "еÑģ и", + "Ġta rz", + "Ġtar z", + "ãĢĢ ï¾Ĭ", + "Ġroz um", + "ãĤ« ãĥ¼ãĥī", + "ãĤ«ãĥ¼ ãĥī", + "Ġà¤ĩ à¤ķ", + "Ġpros tÄĽ", + "Ġprost ÄĽ", + "ĠÎĵ κ", + "ç© ´", + "ĠH ük", + "la vÃŃ", + "lav ÃŃ", + "ê ¿", + "é¸ ¡", + "Ġвозник аеÑĤ", + "Ġвозника еÑĤ", + "ÑŁ ÑŁÑŁ", + "ÑŁÑŁ ÑŁ", + "Ġпо нима", + "Ġпон има", + "ÐŁ Ðŀ", + "ãģĶãģĸ ãģĦãģ¾ãģĻ", + "ãģ ħ", + "Ġtr val", + "Ġдал еко", + "ĠÙĨ ÙĬز", + "ĠÙĨÙĬ ز", + "ĠвÑĭ Ñıв", + "ิà¸Ĺย า", + "ิà¸Ĺ ยา", + "Ġl á»Ĺ", + "Ġlá» Ĺ", + "à¹Ģ สà¸Ļ", + "à¹Ģส à¸Ļ", + "ĠÑģÑĤ енÑĭ", + "ĠÑģÑĤен Ñĭ", + "à¥įड ल", + "Ġjednotliv ých", + "ĠпÑĢиб лиз", + "i kat", + "ik at", + "ika t", + "Ġп одав", + "Ġпо дав", + "Ġпод ав", + "Ġпода в", + "ر ÛĮز", + "رÛĮ ز", + "ĠØ¢ÙĨ جا", + "社 æľĥ", + "Ġà¤ľà¤¨ वर", + "Ġa ile", + "Ġai le", + "Ġail e", + "ี à¸Ľ", + "Ġ èħ", + "Ġè ħ", + "ãģ§ ãģĹãĤĩãģĨ", + "С Ðŀ", + "ãĢģ ãĢĬ", + "ìĿ¼ 본", + "ov anou", + "ova nou", + "ovan ou", + "ν ÏĮ", + "å± ¥", + "ع ÙĦÙĤ", + "عÙĦ ÙĤ", + "Ġìī ½", + "Ġгли б", + "Ġê²ĥ ìŀħëĭĪëĭ¤", + "ĠнеобÑħодим оÑģÑĤи", + "ĠнеобÑħодимо ÑģÑĤи", + "Ġتخصص ÛĮ", + "ا سر", + "اس ر", + "ï¼Į 说", + "ĠÐĿ Ñĸ", + "Ġvy rob", + "ÑĪ ÑĥÑİ", + "ÑĪÑĥ Ñİ", + "æĪ¿ å±ĭ", + "Âł ÐĹ", + "à¹Ģ à¸ŀล", + "à¹Ģà¸ŀ ล", + "åĨħ éĥ¨", + "ĠدÙĦ ار", + "Ġп ÑĤи", + "Å¡ ti", + "Å¡t i", + "ĠaraÅŁtır ma", + "Ġзна ком", + "Ġε λλην", + "Ġ ấm", + "ÑĢ Ð°Ðº", + "ÑĢаРº", + "ÑĢа к", + "ãĤŃ ãĥ¥", + "Ġth áºŃn", + "èŃ ľ", + "ëªħ ìĿĺ", + "Ġy eter", + "Ġyet er", + "Ġye ter", + "Ġна Ñģлед", + "ĠнаÑģ лед", + "ĠÐļ ан", + "ĠÐļа н", + "ĠвÑĭ биÑĢа", + "ĠвÑĭб иÑĢа", + "ĠΣ Ïĩ", + "ĠÑĤеÑĢ Ð¼Ñĸн", + "Ġ æ´»", + "Ġæ´ »", + "ĠاÙĦ تÙģ", + "ĠاÙĦت Ùģ", + "ĠJ apon", + "ĠJa pon", + "ĠJap on", + "éĤ ª", + "ë¶Ħ ìĦĿ", + "Ġли ÑĨо", + "ĠлиÑĨ о", + "Ġm ê", + "à¸Ħ วร", + "à¸Ħว ร", + "Ġà¤ħ à¤Ĺल", + "Ġà¤ħà¤Ĺ ल", + "ĠÙĩ ج", + "룬 ìļ´", + "Ġвой нÑĭ", + "اÙĪØ± زÛĮ", + "ĠÑģп ÑĢÑı", + "çĦ ¼", + "è¢ ĸ", + "Ġiç eren", + "Ġiçer en", + "Ġëħ¸ ëŀĺ", + "ĠЧеÑĢ ÐµÐ·", + "ÙĪØ¬ ÙĪØ¯", + "Ñı ÑĤие", + "ÑıÑĤ ие", + "ÑıÑĤи е", + "à¸Ńลล าร", + "è ·¨", + "è· ¨", + "ĠM illi", + "ĠMill i", + "ĠMil li", + "ĠMi lli", + "ä»¶ äºĭ", + "Ġ æľĿ", + "βολ ή", + "βο λή", + "Ġ ков", + "Ġк ов", + "Ġко в", + "ĠØ´Ùĩ ÛĮد", + "ä¸ĭ åİ»", + "Ġìłķ ìĭł", + "оÑĩ кÑĥ", + "ï¼Į 便", + "γ κε", + "γκ ε", + "ĠÙħ باش", + "ĠÙħب اش", + "Ġay ında", + "Ġ ä»»", + "ÑģÑĤоÑĢ ÑĸÑı", + "ä¸Ń åѦ", + "ç¸ ®", + "ĠÑĦ Ñĸл", + "ãĢģ ãĤĦ", + "Ġ æĺ¥", + "Ġæĺ ¥", + "Ġter ör", + "Ġповин ен", + "Ġmilion ů", + "ĠÙģ Ø§Ø±Ø³", + "ĠÙģØ§Ø± س", + "Ġв вод", + "Ġвв од", + "Ø· اÙĦ", + "Ġê¶ģ ê¸Ī", + "Ġuk áz", + "çĶ ľ", + "æļ Ĥ", + "ص ت", + "Ðļ огда", + "Ġम ल", + "ά να", + "άν α", + "Ġдок ÑĤоÑĢ", + "Ġком мÑĥ", + "ĠпÑĸд Ñģ", + "Ġà¸ģรà¸ģà¸İ าà¸Ħม", + "Âł г", + "Ġö ne", + "Ġön e", + "ĠÄIJ á»ģ", + "ĠÄIJá» ģ", + "äºĭ åĭĻ", + "Ġs rov", + "Ġsr ov", + "Ġ άν", + "Ġά ν", + "ëıĦ ê°Ģ", + "acaÄŁ ım", + "acaģı m", + "к ол", + "ко л", + "Ġb á»ĵi", + "Ġپرد از", + "Ġ ä¸ļ", + "Ġä¸ ļ", + "ëĭ¤ ìļ´", + "Ġп ÑĢедел", + "ĠпÑĢед ел", + "ĠпÑĢе дел", + "ĠÑĦедеÑĢа лÑĮ", + "ĠاÙĦ Ø£Ùĥ", + "ĠاÙĦØ£ Ùĥ", + "ãĢĢ ãĢĢãĢĢãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢ ãĢĢãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢ ãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢãĢĢĠãĢĢ ĠãĢĢ", + "Ġtr ấn", + "Ġд лин", + "Ġдли н", + "ĠÑĸ мп", + "ĠÑĸм п", + "ĠsmÄĽ rem", + "° ëĭ¤", + "Ġr ừng", + "ici álnÃŃ", + "è¡ Ĩ", + "μ ιο", + "μι ο", + "Ġاد ارÙĩ", + "ĠÑĤ ÑĢÑĮ", + "ĠÑĤÑĢ ÑĮ", + "Ġİ li", + "Ġİl i", + "มà¸Ļ à¸ķร", + "à¥įव à¤ļ", + "е ÑĢо", + "еÑĢ Ð¾", + "ĠK UR", + "sk ými", + "ský mi", + "ským i", + "δ ί", + "u tin", + "ut in", + "uti n", + "Ġver iler", + "Ġveri ler", + "สà¸ĸาà¸Ļ à¸Ĺ", + "ĠзаÑħод Ñĸв", + "ĠÙ쨱ÙĪØ¯ گاÙĩ", + "Ġ çͱ", + "ู à¹ģล", + "éĥ ij", + "ĠJ ako", + "ĠJa ko", + "ĠJak o", + "ĠÑĢазвиÑĤи е", + "ĠÑĢазви ÑĤие", + "à¤ī न", + "ÙĬ دا", + "ÙĬد ا", + "Ġà¸ŀ à¸¤à¸©à¸łà¸²à¸Ħม", + "물 ìĿĦ", + "ë łĢ", + "ëł Ģ", + "- ÐĽ", + "ãĢĤ ãģĤ", + "Ġпод в", + "ï¼ī ï¼ļ", + "论 åĿĽ", + "ائ ع", + "ãĤĴ ãģĻãĤĭ", + "ĠØ£ ص", + "Ñĩ ики", + "Ñĩи ки", + "Ñĩик и", + "ĠÑģÑĤ ил", + "ley ici", + "Ñģ илÑĮ", + "Ñģи лÑĮ", + "Ġbulun du", + "ĠÑģеÑĢед ови", + "à¤Ĥ र", + "ĠاÛĮÙĨ جا", + "åľŃ åľŃ", + "ĠmyÅ¡ len", + "ĠÑĢозвиÑĤ ок", + "Ġiy ileÅŁ", + "Ġiyi leÅŁ", + "Ġв Ñĸз", + "ĠвÑĸ з", + "ëĤĺ 무", + "æĦı è§ģ", + "ι ÏĥÏĦη", + "ιÏĥ ÏĦη", + "ãĥĥ ãĥĦ", + "äºĭ æķħ", + "m adıģı", + "ma dıģı", + "mad ıģı", + "madı ģı", + "Ġà¤ħ पर", + "Ġà¤ħप र", + "ĠÚĨ رخ", + "Ġп лав", + "Ġпл ав", + "Ġпла в", + "以 æĿ¥", + "Ġë© Ģ", + "T uy", + "Tu y", + "ãĥ¼ ãĥį", + "ãĥ¼ãĥ į", + "Ġиз ÑĥÑĩ", + "ĠstÅĻed nÃŃ", + "课 ç¨ĭ", + "Ġê·¸ëħĢ ëĬĶ", + "ĠдоговоÑĢ Ñĥ", + "Ġдогов оÑĢÑĥ", + "ĠÄij á»ĭch", + "ĠÄijá»ĭ ch", + "Ġkar arı", + "Ġkarar ı", + "Ġkara rı", + "åIJ ´", + "Ùĥ اÙħ", + "ĠпоÑĤ ол", + "в ок", + "во к", + "ĠD üz", + "Τ α", + "å µ", + "âĢĻ na", + "âĢĻn a", + "а дж", + "ад ж", + "ĠdÅĻÃŃ ve", + "æ¢ ¨", + "ĠAv ust", + "åĬĽ ãĤĴ", + "à¹Ģ à¸ģล", + "à¹Ģà¸ģ ล", + "Ġпоб ед", + "Ġп ÑĢиÑĩ", + "ĠпÑĢ Ð¸Ñĩ", + "ĠпÑĢи Ñĩ", + "ĠÐij Ñĸ", + "åŃ ¤", + "ĠÐł ег", + "ĠÐłÐµ г", + "Ġyet iÅŁ", + "Ġн еÑİ", + "Ġне Ñİ", + "Ġb ÃŃl", + "ĠbÃŃ l", + "ìĹĨ ìĿĮ", + "Ġİ talya", + "ÐĴ Ñģе", + "å¾Į ãģ®", + "Ġje jÃŃm", + "Ġjej ÃŃm", + "ĠjejÃŃ m", + "ĠвиглÑı дÑĸ", + "о гÑĢад", + "ог ÑĢад", + "огÑĢа д", + "Ġbo hat", + "Ġboh at", + "Ġ åħĭ", + "Ġåħ ĭ", + "ĠдиÑĤи ни", + "ĠдиÑĤ ини", + "лÑı ÑĤоÑĢ", + "ма га", + "маг а", + "ëĭĪ ìĬ¤", + "ĠÐł ади", + "ĠÐłÐ°Ð´ и", + "ĠÐłÐ° ди", + "ÏĢ Î¿ÏħÏģγ", + "ÏĢοÏħ Ïģγ", + "& ZeroWidthSpace", + "Ġ struk", + "Ġst ruk", + "Ġstr uk", + "Ġstru k", + "æIJ ŀ", + "Ġ ãģĿãģ®ä»ĸ", + "ìĿ¸ ìĿĦ", + "ĠпÑĢо веÑģÑĤи", + "ĠпÑĢов еÑģÑĤи", + "漫 çĶ»", + "Ġçİ© å®¶", + "ĠÙĪ Ø±Ø²", + "ĠÙĪØ± ز", + "ĠÑģвоÑĹ Ð¼", + "ĠL RV", + "ĠLR V", + "ิà¸ķ à¸ł", + "स त", + "ĠíĿ Ķ", + "âĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹı âĹıâĹıâĹıâĹıâĹıâĹıâĹıâĹı", + "Ġt voÅĻÃŃ", + "ĠtvoÅĻ ÃŃ", + "Ġ ÐŁÐŀ", + "ĠÐŁ Ðŀ", + "é«ĺ 度", + ".h wp", + ".hw p", + "à¸ķำ à¸ļล", + "Ġد س", + "ìĪĺ ê°Ģ", + "ìĶ ©", + "ï¼ī ãĢĤĊ", + "ï¼īãĢĤ Ċ", + "æĭ ³", + "Ġl ô", + "ĠK ültür", + "اط عة", + "Ġku chy", + "Ġst roj", + "Ġstr oj", + "Ġstro j", + "μ ενο", + "με νο", + "μεν ο", + "ĠконÑģÑĤÑĢÑĥк ÑĨии", + "å°ı åѦ", + "Ġ åįļ", + "Ġåį ļ", + "Ġ èĢĥ", + "ĠèĢ ĥ", + "Ġas ıl", + "æĪij åĢij", + "خر اج", + "ĠO nun", + "ĠOn un", + "Ġ ç¾İåĽ½", + "Ġç¾İ åĽ½", + "à¥Ĥ बर", + "à¥Ĥब र", + "Ġmu ži", + "Ġmuž i", + "å§ «", + "Ġв б", + "Ġдо ме", + "Ġдом е", + "Ġ ам", + "Ġа м", + "Ġk uru", + "Ġkur u", + "Ġku ru", + "æ± Ĺ", + "l ediÄŁi", + "le diÄŁi", + "ledi ÄŁi", + "Ġv ẽ", + "å¾ ĵ", + "ĠгÑĥб еÑĢ", + "ĠÑģÑĤанов иÑĤÑĮ", + "ĠzemÄĽ dÄĽl", + "ÙĦ ÙĦ", + "Ġr amen", + "Ġra men", + "Ġram en", + "Ġprů bÄĽhu", + "Ġb lok", + "Ġbl ok", + "Ġblo k", + "ý val", + "ýv al", + "v ou", + "vo u", + "ν ά", + "ëĶĶ ìĭľ", + "ÑĨион нÑĭе", + "Ġê²Įìĭľ íĮIJ", + "ãĥ³ ãĥĩãĤ£", + "ãĥ³ãĥĩ ãĤ£", + "ä¸Ģ 级", + "и Ñĩа", + "иÑĩ а", + "ĠسرÛĮ اÙĦ", + "i lin", + "il in", + "ili n", + "ा यन", + "ाय न", + "ÙĨ ÙĪÛĮس", + "ĠÐĶ Ð¸", + "Ġاد بÛĮ", + "ĠÑĥ дов", + "ĠÑĥд ов", + "ĠÐĹ Ð°Ð¼", + "ĠÐĹа м", + "à¥ģà¤Ń व", + "Ñģ ок", + "Ñģо к", + "ĠÑĢай оне", + "ĠÑĢайон е", + "Ġ EK", + "ĠE K", + "æĤ ī", + "Ġsor umlu", + "Ġsoruml u", + "Ġzv yÅ¡", + "à¹Ģà¸ĭ à¸Ńร", + "in áÅĻ", + "iná ÅĻ", + "Ġu drž", + "Ġud rž", + "но вид", + "нов ид", + "ĠspoleÄį nÄĽ", + "Ġspole ÄįnÄĽ", + "æĪIJ äºĨ", + "ï¼ ¤", + "ัà¸ŀ à¸Ĺ", + "а ÑĪа", + "аÑĪ Ð°", + "ĠÙĨ ادÙĬ", + "à¹ĥ à¸Ļà¸Ĺ", + "à¹ĥà¸Ļ à¸Ĺ", + "å¡ ļ", + "Ġس Ú©", + "ãĥģ ãĥ¥", + "ĠмаÑĢ ÑĪ", + "а леннÑı", + "ал еннÑı", + "ĠØŃÙħ اÛĮت", + "ãĥ³ ãĤ¸", + "รษ à¸IJ", + "Ġк ÑĢем", + "ĠK ažd", + "ê ½", + "Ġpar lament", + "Ġparl ament", + "ĠÅŁ un", + "ĠÅŁu n", + "Ġk ys", + "Ġky s", + "ÏĦ ÏĤ", + "ê°ľ ìĿĺ", + "Ġve lice", + "Ġvel ice", + "Ġce stu", + "Ġces tu", + "Ġcest u", + "ظ Ø©", + "è¯ Ĭ", + "Ġ út", + "Ġú t", + "ĠØ® ÙĪØ±", + "ĠØ®ÙĪ Ø±", + "ĠТ е", + "Ġобла ÑģÑĤ", + "ĠоблаÑģ ÑĤ", + "Ġобл аÑģÑĤ", + "à¹Ī à¸Ńà¸ķ", + "à¹Īà¸Ń à¸ķ", + "ĠAc adem", + "ĠAcad em", + "ãĢĤ æľ¬", + "Ġ 風", + "Ġé¢ ¨", + "Ñģ ен", + "Ñģе н", + "ãĥ¢ ãĥĩãĥ«", + "Ġзавд аннÑı", + "ãģ¾ ãĤĮ", + "моÑĤ ÑĢеÑĤÑĮ", + "моÑĤÑĢ ÐµÑĤÑĮ", + "Ġkh á»ķ", + "à¹Ī ร", + "د رس", + "در س", + "ĠÄĮesk osloven", + "Ġ 计", + "Ġè® ¡", + "ĠÑĤак ом", + "ĠÑĤа ком", + "ĠÙĦ اعب", + "ĠÙĦا عب", + "ĠMuham med", + "ĠÙħ ÙĦÙģ", + "ĠÙħÙĦ Ùģ", + "ĠÙĪØ³ ÙĦÙħ", + "ãĤ·ãĥ£ ãĥ«", + "Ġо кÑĢа", + "Ġок ÑĢа", + "à¥ģ मत", + "à¥ģम त", + "ĠëĪĦ 구", + "Ġned eni", + "Ġneden i", + "ĠëĤł ì§ľ", + "/ km", + "/k m", + "Ġд емон", + "Ġде мон", + "Ġдем он", + "ĠصÙĨ اÛĮع", + "m asından", + "mas ından", + "masında n", + "åīį ãģ®", + "æĪIJ 绩", + "ल à¤Ĺ", + "Ġ åĮħ", + "ĠåĮ ħ", + "à¸Ńà¸ģà¸Īาà¸ģ à¸Ļ", + "ا دا", + "اد ا", + "Ġay lık", + "ĠÙħ ÙĤد", + "ĠÙħÙĤ د", + "Ġönemli dir", + "ĠìĪľ ê°Ħ", + "Ġd inh", + "Ġdi nh", + "Ġdin h", + "Ġná kup", + "ist ické", + "istic ké", + "åº Ł", + "ìĬ¤ íĨł", + "Ġd ny", + "Ġdn y", + "ĠìŀĪ ëıĦë¡Ŀ", + "ìĽIJ ìĿĺ", + "ãĥķ ãĥ¬", + "p oz", + "po z", + "Ġ ев", + "Ġе в", + "ĠdÃ¼ÅŁ ür", + "à¥įर à¤ļ", + "Ġê²° íĺ¼", + "Ġ ÑĨенÑĤÑĢа", + "ĠÑĨенÑĤ ÑĢа", + "ĠÑĨен ÑĤÑĢа", + "ĠÑĨенÑĤÑĢ Ð°", + "åŁ ĭ", + "ï¿£ ï½Ģ", + "æŃ¦ åύ", + "à¹Īาà¸Ļ มา", + "Ġर व", + "Ùij د", + "μÎŃ Î½Î¿Î¹", + "μÎŃν οι", + "μÎŃνο ι", + "Ġë§IJ ìĶĢ", + "Ġpo ÅĻad", + "Ġب غ", + "ĠÏĮ λα", + "ĠÏĮλ α", + "à¹ī à¹Ħà¸Ĥ", + "à¹Ģà¸ģ าะ", + "Ġb ạc", + "Ġd á", + "d ÄĽla", + "dÄĽ la", + "dÄĽl a", + "Ġt eb", + "Ġte b", + "Ġk èo", + "ãĤı ãĤĮ", + "Ġist iyorum", + "Ġistiyor um", + "λ ήÏĤ", + "λή ÏĤ", + "ÐIJ в", + "Ġa sla", + "Ġas la", + "Ġperform ans", + "Ġperfor mans", + "Ġperforman s", + "ĠVác lav", + "Ïģ ίαÏĤ", + "Ïģί αÏĤ", + "Ïģία ÏĤ", + "Ġ tÄĽl", + "Ġt ÄĽl", + "ĠtÄĽ l", + "æĮ Ļ", + "о ба", + "об а", + "ãģij ãĤĮãģ©", + "ĠëĶ ¸", + "ÙĪ Ø§Ø¡", + "ÙĪØ§ Ø¡", + "ĠÚ©ÙĪØ¯ کاÙĨ", + "ĠÚ©ÙĪØ¯Ú© اÙĨ", + "Ġп лиÑĤ", + "Ġпл иÑĤ", + "Ġ bilir", + "Ġb ilir", + "Ġbil ir", + "Ñĥ же", + "Ñĥж е", + "ÏĦÎŃ Î»Îµ", + "Ġà¤Ĩ à¤ķर", + "Ġà¤Ĩà¤ķ र", + "ĠÑĤÑĢ Ñĥда", + "ĠÑĤÑĢÑĥ да", + "ĠÑĤÑĢÑĥд а", + "Ġدر ÛĮا", + "ĠدرÛĮ ا", + "Ì §", + "Ġng á»įt", + "ÙĨس ا", + "а ÑģÑĤи", + "аÑģ ÑĤи", + "аÑģÑĤ и", + "ï½ £", + "Âł на", + "ем Ñĭе", + "Ġس عÙĪØ¯", + "Ġسع ÙĪØ¯", + "Ġ alım", + "Ġal ım", + "è´ «", + "åΰ çļĦ", + "Ġkesin likle", + "Ġzá sad", + "Ġ ìĬ¤íĬ¸", + "ĠìĬ¤ íĬ¸", + "Ġd ahi", + "Ġda hi", + "Ġdah i", + "t é", + "åįģ åħ«", + "Ġz ayıf", + "ذ ار", + "ذا ر", + "Ġا ÙĬراÙĨ", + "ĠاÙĬ راÙĨ", + "Ġhod nocenÃŃ", + "D ST", + "DS T", + "Ġìĸ ĺ", + "æĺ ĩ", + "éĻ £", + "Ġк ле", + "Ġкл е", + "Ġu plat", + "Ġup lat", + "ĠاÙĦتع ÙĦÙĬÙħ", + "ÏĢοί ηÏĥη", + "ек ÑĤоÑĢа", + "екÑĤ оÑĢа", + "екÑĤоÑĢ Ð°", + "Ġë§IJ ìĿ´", + "ĠÙģ Ø±ÙĬÙĤ", + "ĠÙ쨱 ÙĬÙĤ", + "帮 åĬ©", + "çĶŁ ãģį", + "åĨħ ãģ®", + "èģĶ çĽŁ", + "г ÑĢад", + "гÑĢа д", + "Ġch uyến", + "ãĤĤ ãĤĬ", + "ĠÑĩаÑģÑĤ ина", + "ĠÑĩаÑģÑĤи на", + "ãģª ãģıãģª", + "ãģªãģı ãģª", + "ÑĶ Ð²", + "ĠÑĦ аÑħ", + "k uk", + "ku k", + "çĶ· æĢ§", + "ĠÙħÛĮÙĦ ادÛĮ", + "Ġb eden", + "Ġbe den", + "Ġbed en", + "ê°Ģ 를", + "म र", + "Ġìĸ´ 머ëĭĪ", + "èģĶ ç½ij", + "Âł mi", + "Âłm i", + "Ġzah rn", + "æ² ĸ", + "Ġkhu ẩn", + "Ġo práv", + "Ġop ráv", + "Ġopr áv", + "ाह à¤ķ", + "ĠÚ©ÙĪØª اÙĩ", + "Ġо бол", + "Ġоб ол", + "Ġобо л", + "Ġph úc", + "r ánÃŃ", + "rá nÃŃ", + "rán ÃŃ", + "à¥įर थ", + "æİª æĸ½", + "Ġв олод", + "Ġво лод", + "Ġвол од", + "Ġsp ÃŃÅ¡e", + "Ġm Æ¡", + "ÑĬ ек", + "ng ör", + "à¤ī त", + "k siyon", + "ks iyon", + "ksi yon", + "а ÑĤе", + "аÑĤ е", + "Ġجز Ø¡", + "áv ka", + "ÐĴ С", + "laÅŁ ma", + "Ġ ç¿", + "Ġç ¿", + "à¸Ń าà¸Ĭ", + "ни ÑĨÑĥ", + "ниÑĨ Ñĥ", + "Ġ หาà¸ģ", + "Ġห าà¸ģ", + "ãģĭ ãģĹ", + "íı ´", + "Ġг аÑĢан", + "ĠгаÑĢ Ð°Ð½", + "ĠгаÑĢа н", + "Ġ Ïĥαν", + "ĠÏĥ αν", + "Ġдобав иÑĤÑĮ", + "ĠÑĢаз ÑĢеÑĪ", + "á ¾", + "æĺ¯ 个", + "μ ÎŃÏĤ", + "μÎŃ ÏĤ", + "Ġİmpar ator", + "æ¨Ļ æºĸ", + "Ñģ ÑĤÑĭ", + "ÑģÑĤ Ñĭ", + "Ġg ücü", + "Ġgü cü", + "Ġgüc ü", + "Ġ íĥĢìĿ´", + "Ġíĥ ĢìĿ´", + "ĠíĥĢ ìĿ´", + "Ġ åħ¶ä»ĸ", + "Ġåħ¶ ä»ĸ", + "Ġt ông", + "Ġtô ng", + "Ġtôn g", + "Ġv edenÃŃ", + "Ġved enÃŃ", + "Ġvede nÃŃ", + "ëĵľ ë¡ľ", + "Ġm esel", + "Ġme sel", + "Ġmes el", + "Ġ Äįe", + "ĠÄį e", + "j de", + "jd e", + "Ïģ εια", + "Ïģε ια", + "Ïģει α", + "ãĤĪ ãģŃ", + "Ðł ÐĿ", + "è·Ŀ 离", + "ĠÙĤ ائÙħØ©", + "า à¸ļาล", + "าà¸ļ าล", + "ĠÑģай ÑĤÑĸ", + "Ġर स", + "ĠÙĤر ÙĨ", + "Ġná vr", + "Ġnáv r", + "Ú© Ùħ", + "çļĦ æīĭ", + "Ġsor unu", + "Ġsorun u", + "Ġsoru nu", + "/N ÄIJ", + "nut ÃŃm", + "nutÃŃ m", + "ĠØ® ÙĪØ±Ø¯", + "ĠØ®ÙĪ Ø±Ø¯", + "ĠØ®ÙĪØ± د", + "Ġng á»Ŀ", + "Ġ: .|", + "Ġ:. |", + "Ġbudou c", + "i Äįky", + "iÄį ky", + "Ġد رد", + "Ġدر د", + "ÑĢо ниÑĩеÑģ", + "ÑĢон иÑĩеÑģ", + "ç¾ Ĭ", + "ĠìķĦ ë²Ħì§Ģ", + "ĠKan unu", + "ĠKanun u", + "ĠпÑĢивод иÑĤ", + "άλÏħ ÏĪηÏĤ", + "ĠVlad im", + "Ġal ıp", + "Ġе ÑĤап", + "Ġà¤Ĺ लत", + "ĠراÙĩ ÙĨÙħ", + "Ġpoz isyon", + "Ġgö ç", + "èµ ŀ", + "Ġм ой", + "Ġмо й", + "ĠÎł ά", + "Ġ ìĪł", + "ĠìĪ ł", + "ĠØ¢ÛĮ ÙĨدÙĩ", + "a ná", + "an á", + "举 çľģ", + "ĠÙħت عدد", + "Ġ åįĬ", + "Ġåį Ĭ", + "ãĢĢ ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ãĢĢãĢĢĠ ãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "Ġth á»Ŀ", + "Ġthá» Ŀ", + "Ġвд ÑĢÑĥг", + "п аÑĤ", + "па ÑĤ", + "ĠпÑĢовед ениÑı", + "ÙĨ ز", + "ĠاÙĦب ØŃØ«", + "æģ ¢", + "Ġbak tı", + "Ġ è·¯", + "Ġè· ¯", + "Ġзаболева ний", + "ĠÐķ вÑĢоп", + "ĠÐķв ÑĢоп", + "Ġtarih li", + "ê¹ ¨", + "ĠÚ© ÙĪÙĩ", + "ĠÚ©ÙĪ Ùĩ", + "Ġìĸ´ 볤", + "Ġtit ul", + "Ġti tul", + "Ġvyd ánÃŃ", + "éĺ¶ æ®µ", + "à¸Īะ à¸ķ", + "Ġм оÑı", + "Ġмо Ñı", + "ĠкоÑĢ Ð¾Ð»", + "Ġко ÑĢол", + "Ġб анк", + "Ġбан к", + "วรร à¸ĵ", + "วร รà¸ĵ", + "ĠÙĥس ارة", + "ĠK hoa", + "ĠKh oa", + "ĠKho a", + "ĠÑĥнÑĸвеÑĢÑģиÑĤ еÑĤ", + "ãģ«éĸ¢ ãģĻãĤĭ", + "r uary", + "ru ary", + "Ġ à¸Ĥาย", + "Ġà¸Ĥ าย", + "Ġsv az", + "ĠØ´ رÙĤ", + "Ġشر ÙĤ", + "Ġд ÑĭÑħ", + "Ġиз бав", + "Ġизб ав", + "ĠÑı кÑĸй", + "ĠÑıк Ñĸй", + "ĠÑıкÑĸ й", + "ĠÎľ ον", + "Ġg ön", + "Ġgö n", + "ĠUkr aj", + "ĠUk raj", + "ĠUkra j", + "ัà¸Ļ à¸Ńà¸Ńà¸ģ", + "ัà¸Ļà¸Ń à¸Ńà¸ģ", + "Ġม à¸ģราà¸Ħม", + "и ÑĤов", + "иÑĤ ов", + "Ġanal ý", + "Ġana lý", + "ĠоÑĤ меÑĩ", + "Ġبر اÙī", + "âĪ ı", + "ัà¸ģ à¸ģ", + "æĭ¥ æľī", + "ĠÑĸнÑĪ Ð¾Ð³Ð¾", + "Ġкомп анÑĸÑĹ", + "Ġk ÅĻes", + "ĠÑĢаб оÑĩ", + "ĠÑĢабо Ñĩ", + "a dÃŃ", + "ad ÃŃ", + "ìł ł", + "à¹Ħ หà¸Ļ", + "à¥ģब ह", + "âĢĻ deki", + "âĢĻd eki", + "âĢĻde ki", + "çħ ¤", + "ĠпаÑĢ Ñĥ", + "Ġпа ÑĢÑĥ", + "ìĦ Ń", + "Ġнеп оÑģÑĢед", + "Ġİ b", + "Ġà¸ŀ ฤศà¸Ī", + "íĭ ´", + "Ġ ëłĪìĿ´", + "ĠëłĪ ìĿ´", + "ĠTh á»ķ", + "Ñı еÑĤ", + "ائ ج", + "» çĴĥ", + "ÐĴ Ðŀ", + "åĸ Ĭ", + "Ġ 第ä¸ī", + "Ġ第 ä¸ī", + "Ġвок ÑĢÑĥг", + "Ñĩ енÑĮ", + "Ñĩе нÑĮ", + "Ñĩен ÑĮ", + "Ġolan ak", + "Ġola nak", + "t ura", + "tu ra", + "tur a", + "Ġ ÙħÙĬÙĦ", + "ĠÙħ ÙĬÙĦ", + "ĠÙħÙĬ ÙĦ", + "ey di", + "ĠÙħد ÙĬر", + "Ġnel ze", + "ัว à¸Ńย", + "ìħ ľ", + "Ġhlav u", + "Ġkor uy", + "ÑĨ ин", + "ÑĨи н", + "ĠдиÑģ ÑĨип", + "ĠÙħ اÙĨد", + "ĠÙħا ÙĨد", + "ĠÙħاÙĨ د", + "Ġпод ÑĢоб", + "Т Ðŀ", + "ÙĤر ار", + "à¹ģà¸Ļะ à¸Ļำ", + "문 ìĿĦ", + "æĮ¯ ãĤĬ", + "P ÅĻi", + "PÅĻ i", + "Ġy ên", + "श à¤ķ", + "Âł je", + "ĠÐļон ÑģÑĤиÑĤÑĥ", + "à¥ģ ह", + "à¥ģठ¹", + "ĠÙ¾ ا", + "ìĨĮ 를", + "Ġд ела", + "Ġдел а", + "Ġде ла", + "к ид", + "ки д", + "à¹Ĥ à¸Ĭ", + "커 ìĬ¤", + "dÄĽ len", + "dÄĽl en", + "à¤Ķ र", + "äºİ æĺ¯", + "ĠÙĩÙħ ÛĮØ´Ùĩ", + "ĠbaÅŁ lam", + "Ġ ìĽ¨", + "ĠìĽ ¨", + "Ġden eyim", + "Ġdeney im", + "Ġü ye", + "Ġüy e", + "Ġ νÏĮ", + "Ġν ÏĮ", + "Ġà¤ĸ ड", + "n ÄĽl", + "nÄĽ l", + "ĠÑģÑĦ еÑĢÑĸ", + "ĠÑģÑĦеÑĢ Ñĸ", + "à¸Ńà¸Ķ à¸ł", + "ä¸Ģ å¹´", + "Ġvur gu", + "Äŀ İ", + "âĢĻ Ċ", + "ĠÑĸн ÑĪими", + "ĠÑĸнÑĪ Ð¸Ð¼Ð¸", + "Ġз менÑĪ", + "Ġठĭ", + "Ġв ека", + "Ġве ка", + "ĠØŃÚ©ÙĪÙħ ت", + "ĠتÙħ اÙħÛĮ", + "ĠتÙħاÙħ ÛĮ", + "Ġs mrt", + "Ġsm rt", + "Ġsmr t", + "Ġh á»§y", + "Ġyap ılmÄ±ÅŁ", + "Ġyapıl mÄ±ÅŁ", + "à¹ī à¸ľ", + "ĠY en", + "ĠYe n", + "Ġ Ñĥл", + "ĠÑĥ л", + "ĠS vÄĽt", + "ĠSv ÄĽt", + "ั à¸Ħ", + "ĠmÄĽsÃŃ ců", + "д енÑĤи", + "ден ÑĤи", + "Ġ ï¾ĺ", + "Ġï¾ ĺ", + "Ġпол иÑĤи", + "Ġполи ÑĤи", + "ĠполиÑĤ и", + "s kyt", + "sk yt", + "sky t", + "ä¹Ł æľī", + "Ġê°Ļ ìĬµëĭĪëĭ¤", + "Ġê·¸ëŀĺ ìĦľ", + "ÏĦε Ïģη", + "ÏĦεÏģ η", + "Ñĩ еÑĢ", + "Ñĩе ÑĢ", + "ĠÃľNİVERS İTESİ", + "ส à¸ł", + "Ġ สร", + "Ġส ร", + "ान द", + "ĠaÅŁ ırı", + "λ ίοÏħ", + "λί οÏħ", + "Ġ ÙĦÙģ", + "ĠÙĦ Ùģ", + "ÃŃ nu", + "ÃŃn u", + "à¸Ń าร", + "ÑĤ ÑĥÑĢа", + "ÑĤÑĥ ÑĢа", + "ÑĤÑĥÑĢ Ð°", + "ĠÄįesk ých", + "ĠÄįe ských", + "ĠÄįeský ch", + "Ġph ức", + "以 为", + "ÏģÏī ÏĢα", + "ĠاÙĨر ÚĺÛĮ", + "» )", + "a lardan", + "alar dan", + "alarda n", + "ĠÑģÑĤ воÑĢÑİ", + "ĠÑģÑĤвоÑĢ Ñİ", + "Ġt ráv", + "Ġtr áv", + "ॠ¬", + "ãģĬ ãĤĪãģ³", + "ïľ ĭ", + "ad il", + "adi l", + "ĠΤ ι", + "Ġ ëIJ©ëĭĪëĭ¤", + "ĠëIJ ©ëĭĪëĭ¤", + "Ġε μÏĨ", + "Ġ구 ì¡°", + "ìĹŃ ìĭľ", + "ĠاÙĦ جاÙħ", + "ĠاÙĦج اÙħ", + "主 é¢ĺ", + "ãĤ¹ ãĥĿ", + "Ġ ìĹŃìĭľ", + "ĠìĹŃ ìĭľ", + "ĠÚ©Ùħ تر", + "ĠSp oleÄį", + "ол оÑĪ", + "оло ÑĪ", + "ĠSur iye", + "Ч еÑĢ", + "æĪĺ æĸĹ", + "Ġz ávis", + "Ġzá vis", + "Ġzáv is", + "æĽ¸ 館", + "Ġmus el", + "Ġmu sel", + "Ġmuse l", + "Ġ çĿ", + "Ġç Ŀ", + "Ùħ Ùħ", + "ĠاÙĦØ® ارج", + "Ġ ÐĵÐŀ", + "ĠÐĵ Ðŀ", + "ĠваÑĢ ÑĤо", + "ĠваÑĢÑĤ о", + "Ïģα β", + "Ġपह à¤ļ", + "ub lice", + "ublic e", + "ubl ice", + "ÑĨион ного", + "è Į¨", + "èĮ ¨", + "ĠدÙģ ØªØ±", + "Ġ Ù쨳", + "ĠÙģ Ø³", + "Ġन à¤ľà¤°", + "t arı", + "ta rı", + "tar ı", + "Ġоб ÑĢоб", + "ĠÐł а", + "ĠاÙĦ صÙĨ", + "ĠاÙĦص ÙĨ", + "Ø´ Ø©", + "ĠìĹĨ ìĹĪ", + "ož ná", + "æľĢ çµĤ", + "Ù ¥", + "r ech", + "re ch", + "rec h", + "ĠاÙĦØ£ سر", + "ĠاÙĦأس ر", + "Ġм ови", + "Ġмо ви", + "Ġмов и", + "Ġì¡° êµIJ", + "Ñĸ меÑĩ", + "Ñĸм еÑĩ", + "ãĥ¯ ãĥ¼", + "б ÑĥÑĢг", + "бÑĥ ÑĢг", + "Ġس ÙĦس", + "ĠسÙĦ س", + "åѦ ä¼ļ", + "Ġ ë¦", + "Ġë ¦", + "åħĭ æĸ¯", + "æĸĩ çĮ®", + "Ġx ương", + "Ġyo lc", + "Ġyol c", + "Ġ ìĤ¬ë¬´", + "ĠìĤ¬ 무", + "ãĤı ãģļ", + "ĠÑĢаÑģÑĤ ений", + "ĠÙģ Ø¶Ø§ÛĮ", + "ĠÙ쨶 اÛĮ", + "Ġna opak", + "Ġnao pak", + "ĠпÑĢи вÑĭ", + "ĠпÑĢив Ñĭ", + "Ġد ÛĮدÙĩ", + "ĠدÛĮ دÙĩ", + "ĠدÛĮد Ùĩ", + "à¸ģาร à¹ĥà¸Ĭ", + "Ġ åŀ", + "Ġå ŀ", + "çij Ł", + "以 åIJİ", + "ĠpÅĻib liž", + "ĠdÃ¼ÅŁ man", + "Ġt emin", + "Ġte min", + "Ġtem in", + "ĠÑĥÑģл Ñĥг", + "ĠÑĥÑģ лÑĥг", + "Ġद ब", + "ĠìĥĪ ê¸Ģ", + "ĠÑĥÑģÑĤÑĢой ÑģÑĤва", + "ĠТ ÑĥÑĤ", + "ÏĦ ίοÏħ", + "ÏĦί οÏħ", + "Ġİs lâm", + "Ù ¤", + "åıĤ ä¸İ", + "Ġк ÑĥÑģÑĤ", + "ĠкÑĥ ÑģÑĤ", + "ĠкÑĥÑģ ÑĤ", + "éĻIJ åζ", + "ت ÙĬÙĨ", + "تÙĬ ÙĨ", + "ĠоÑģÑĤ аннÑĸ", + "ĠоÑģÑĤан нÑĸ", + "ic ations", + "ication s", + "ا Ú©ÛĮ", + "اک ÛĮ", + "но ÑģÑı", + "ноÑģ Ñı", + "ÄŁ an", + "ÄŁa n", + "ãģı ãĤĮãĤĭ", + "ãģıãĤĮ ãĤĭ", + "Ġyap ıyor", + "Ġyapı yor", + "Ġê°ķ ëĤ¨", + "Ùħ ÙĬÙħ", + "ÙħÙĬ Ùħ", + "æ ŃIJ", + "æŃ IJ", + "Ġر ع", + "Ġb oÄŁ", + "Ġbo ÄŁ", + "ĠиÑģ Ñħод", + "èª ł", + "æł· åŃIJ", + "Ġbu deme", + "Ġbud eme", + "Ġbude me", + "ĠÑģ еÑĤ", + "ι ÏĥμοÏį", + "ιÏĥμ οÏį", + "Ġ å¾ĴæŃ©", + "Ġå¾Ĵ æŃ©", + "u álnÃŃ", + "ĠاÙĦع ÙĤ", + "Ġسب Ú©", + "ĠاÙĦØ£ خرÙī", + "ĠاÙĦأخ رÙī", + "E FA", + "EF A", + "åĽº å®ļ", + "Ġ ãĤ¬", + "ĠãĤ ¬", + "ĠìŀIJ ìŰ", + "ยว à¸Ĥ", + "ب س", + "un ma", + "Ġза ним", + "Ġзан им", + "à¹ĥà¸Ļ ร", + "èĢĥ èĻij", + "æ·· åIJĪ", + "å° ĭ", + "Ġçık Ä±ÅŁ", + "Ġm aliyet", + "Ġmal iyet", + "éľ Ĭ", + "ãģŁãĤģ ãģ®", + "ĠÙ¾ Ø´", + "Ġз лоÑĩ", + "Ġvý Å¡i", + "Ġsch vál", + "ĠÙĨÙħ ÙĪØ¯Ùĩ", + "ĠÙĨÙħÙĪØ¯ Ùĩ", + "Î Ĩ", + "Ġz ách", + "Ġzá ch", + "Ġ Ïĥκ", + "ĠÏĥ κ", + "ãĤ¹ ãĥŀ", + "ĠÙħس ائÙĦ", + "ĠاÙĦاج تÙħاع", + "åľ° çĤ¹", + "ا ÛĮاÙĨ", + "اÛĮ اÙĨ", + "ĠÐŀ к", + "ê¸ Ķ", + "e lease", + "el ease", + "ele ase", + "Ġطب ÙĤÙĩ", + "ĠطبÙĤ Ùĩ", + "éij ij", + "Ġì½Ķ ë¡ľëĤĺ", + "é¼ ł", + "大 åħ¨", + "ĠпÑĢи веÑģÑĤи", + "ĠпÑĢив еÑģÑĤи", + "Ġاب تد", + "Ġابت د", + "리 ë¡ľ", + "ĠÑģÑĤÑĢ Ð°Ð½Ñĭ", + "ĠÑģÑĤÑĢа нÑĭ", + "ĠÑģÑĤÑĢан Ñĭ", + "ĠzatÃŃm co", + "Ġh uyết", + "Ġhuy ết", + "سÛĮ ÙĪÙĨ", + "Ġsor du", + "âĢĮ رس", + "ĠÑĦ ÑĢон", + "Ġed ip", + "Ġedi p", + "ÙĨ Ú¯ÛĮ", + "ÙĨÚ¯ ÛĮ", + "Ġк иÑĢ", + "Ġки ÑĢ", + "Ġ íķ´ìķ¼", + "Ġíķ´ ìķ¼", + "ì» ´", + "ÑĨик лоп", + "ĠпÑĢимен ениÑı", + "Ġоб л", + "éļ ª", + "Ġk romÄĽ", + "Ġkro mÄĽ", + "æł¸ å¿ĥ", + "ra him", + "rah im", + "о ÑĢд", + "оÑĢ Ð´", + "Ġl Ãłnh", + "ĠlÃł nh", + "ĠlÃłn h", + "Ġо ÑģÑĤÑĢов", + "ĠоÑģÑĤ ÑĢов", + "; |", + "b uz", + "bu z", + "Ġ ÏĦÏģο", + "ĠÏĦ Ïģο", + "ĠÐĴ аÑĢ", + "æī İ", + "ı lÄ±ÅŁ", + "ılı ÅŁ", + "ıl Ä±ÅŁ", + "éĿ¢ ç©į", + "身 份", + "é¢Ĩ åŁŁ", + "ĠاÙĦÙĤر ÙĨ", + "Ġ пÑĢиклад", + "ĠпÑĢи клад", + "ĠпÑĢик лад", + "ãĥģ ãĥ¼ãĥł", + "Ġสà¸ŀ à¸Ľ", + "Ġо ÑĩиÑģÑĤ", + "ĠоÑĩ иÑģÑĤ", + "ĠоÑĩи ÑģÑĤ", + "Ġмил ли", + "а ÑĨÑĸÑĹ", + "ี à¹Ģà¸Ń", + "Ġt anın", + "Ġtan ın", + "Ġtanı n", + "çζ 亲", + "Ġmsg str", + "Ġmsgs tr", + "ĠØ´ ÛĮÙħÛĮ", + "ĠØ´ÛĮ ÙħÛĮ", + "ĠÙ쨱 اÙĩÙħ", + "Ġ ë§¥", + "Ġë§ ¥", + "ãĢĤ å½ĵ", + "Ġкон ÑĨенÑĤÑĢа", + "êµIJ íļĮ", + "ãĤī ãĤĮãģ¦", + "ãĤīãĤĮ ãģ¦", + "Ġya sak", + "Ġyas ak", + "ĠÐij ол", + "Ġ æ¾³", + "Ġæ¾ ³", + "çĩ ķ", + "Ġ جا", + "Ġج ا", + "ëij ĺ", + "Ġدر Ø®ÙĪØ§Ø³Øª", + "ĠmÃŃst nÃŃ", + "ÂĤ ÃĮ", + "Ġbas kı", + "Ġu çak", + "Ġuç ak", + "ä» ĵ", + "Ġìľł ì§Ģ", + "Ġп оба", + "Ġпо ба", + "Ġпоб а", + "Ġz eptal", + "Ġze ptal", + "ç»Ļ æĪij", + "ĠAt atürk", + "ĠÙħÙĨ اس", + "Ñ Ĵ", + "Ġar acı", + "Ġarac ı", + "Ġara cı", + "лÑİ ÑĶ", + "Ġnit elik", + "Ġnitel ik", + "ĠM ezi", + "ĠMe zi", + "ĠMez i", + "ĠÎŃ Î½Î±ÏĤ", + "ĠÎŃνα ÏĤ", + "ĠÎŃν αÏĤ", + "Ïİν ÏĦαÏĤ", + "v až", + "va ž", + "Ġk uzey", + "Ġ ÏİÏģα", + "ĠÏİ Ïģα", + "ĠÑĢоз пов", + "ĠÑĢозп ов", + "à¹Ī าà¸ģ", + "à¹Īา à¸ģ", + "ãĢģ ä¸ī", + "ĠÑģÑĤ аÑĢи", + "ĠÑģÑĤаÑĢ Ð¸", + "ĠÑģÑĤа ÑĢи", + "Ġhak kı", + "Ġhakk ı", + "ĠØ¢Ùħ ادÙĩ", + "íĮ Ķ", + "о мÑĸ", + "ом Ñĸ", + "Ġ âĢł", + "ĠâĢ ł", + "ãģĭ ãĤı", + "ãĢĮ ä½ł", + "æ³ķ åĽ½", + "ÙIJ ÙĬÙĨ", + "ÙIJÙĬ ÙĨ", + "æī ķ", + "н или", + "ни ли", + "нил и", + "ĠÑĥÑģÑĤанов ки", + "Ġl ông", + "Ġlô ng", + "त म", + "ÙĪ ÙĨÙĬØ©", + "ÙĪÙĨ ÙĬØ©", + "ÙĪÙĨÙĬ Ø©", + "ÙĬ تÙĬ", + "ÙĬت ÙĬ", + "Ġê²Įìĭľ 물", + "Ġve Å¡ker", + "ÎŃ Ïģγ", + "ÎŃÏģ γ", + "ĠÑĥ Ñģе", + "ĠÑĥÑģ е", + "Ġk ıl", + "Ġkı l", + "Ġil gi", + "Ġilg i", + "μ Ïīν", + "Ġз вÑĸлÑĮ", + "Ġзв ÑĸлÑĮ", + "Ġön lem", + "à¸ģà¸İ หมาย", + "ĠH iá»ĩp", + "Ġг оÑĢм", + "ĠгоÑĢ Ð¼", + "лÑı ÑİÑĤÑĮÑģÑı", + "лÑıÑİÑĤÑĮ ÑģÑı", + "la maya", + "lam aya", + "lama ya", + "ĠÑģпоÑģоб ом", + "ãģ¸ ãģ¨", + "ç¦ģ æŃ¢", + "ĠÑĢаÑħ Ñĥнок", + "ĠоÑĤвеÑĢ ÑģÑĤи", + ".: .:.:.", + ".:.: .:.", + ".:.:.: .", + ".:.:. :.", + "Ġmü da", + "о наÑħ", + "он аÑħ", + "она Ñħ", + "Ì£ c", + "Ġyap acak", + "Ġн азвание", + "Ġназ вание", + "Ġназва ние", + "对 æĸ¹", + "ëĮĢ íijľ", + "çĪ Ń", + "в ана", + "ва на", + "ван а", + "ह न", + "ĠпÑĢоблем а", + "Ġжен ÑīинÑĭ", + "ĠженÑīин Ñĭ", + "èŀ º", + "Ġhosp odáÅĻ", + "ĠСÑĤ еп", + "ĠodpovÄĽ d", + "ĠS á»Ń", + "e view", + "ev iew", + "evi ew", + "åĩł ä¹İ", + "çŁ ¢", + "æĿ¥ ãģŁ", + "Ġп олоÑģ", + "Ġпол оÑģ", + "ĠÑģ ел", + "å± Ĩ", + "ĠпеÑĢв ой", + "ĠпÑĢоÑĨеÑģ Ñģа", + "ĠпÑĢоÑĨеÑģÑģ а", + "ãĢĢ ãĤĿ", + "ت اÙħبر", + "تا Ùħبر", + "и лаÑģÑı", + "ила ÑģÑı", + "ï¼Į æĹł", + "ĠвлаÑģ ноÑģÑĤÑĸ", + "íķĺ ìŀIJ", + "аÑĤ ки", + "ĠB Ãł", + "ĠK arel", + "ĠKar el", + "ĠKa rel", + "ĠKare l", + "è· µ", + "ر ÛĮÙĩ", + "رÛĮ Ùĩ", + "ĠëĤĺ 를", + "ĠобеÑģпеÑĩ ива", + "ĠобеÑģпе Ñĩива", + "à¥įर पत", + "ãģĹ ãĤĩ", + "åį Ĵ", + "Ġ 奥", + "Ġå¥ ¥", + "ĠпÑĢ Ð¾ÑĤе", + "ĠпÑĢо ÑĤе", + "ĠпÑĢоÑĤ е", + "Ġ æĭĽ", + "Ġæĭ Ľ", + "ĠСÑĤ ÑĢана", + "ĠÑĢабоÑĤ аÑĤÑĮ", + "ĠÑĢабоÑĤа ÑĤÑĮ", + "Ġتش Ø®ÛĮص", + "ек ÑģÑĥ", + "екÑģ Ñĥ", + "Ġ 리그", + "Ġ리 ê·¸", + "Ġص اÙĦØŃ", + "ĠbaÅŁ lamÄ±ÅŁ", + "ĠbaÅŁlam Ä±ÅŁ", + "ĠÙ¾ÛĮ اÙħبر", + "ĠÙ¾ÛĮاÙħ بر", + "ز ا", + "Ġм аÑģÑģ", + "ĠмаÑģ Ñģ", + "ĠÎł αÏģ", + "Ġγα Ïģ", + "ëĿ¼ íͼ", + "Ġy arı", + "Ġya rı", + "Ġyar ı", + "ĠÑĤип Ñĥ", + "Ðŀ п", + "ãģij ãģªãģĦ", + "e mem", + "em em", + "eme m", + "ĠnÄĽ mu", + "ĠnÄĽm u", + "ĠÙĨ شر", + "ĠÙĨØ´ ر", + "ĠÎijθή να", + "Ùģ Ø±Ø§ÙĨ", + "Ù쨱 اÙĨ", + "Ġ ç¶²", + "Ġç¶ ²", + "ĠпÑĢом иÑģлов", + "ĠBu gün", + "ĠBug ün", + "ìŀ Ķ", + "ĠжÑĸн ок", + "Ġ à¸Ľà¸£à¸°à¹Ģà¸łà¸Ĺ", + "Ġà¸Ľà¸£à¸° à¹Ģà¸łà¸Ĺ", + "ĠвикоÑĢиÑģÑĤов ÑĥваÑĤи", + "ĠТ им", + "ĠТи м", + ") 를", + "еж аÑĤÑĮ", + "Ġs ona", + "Ġso na", + "Ġson a", + "Ø´ÙĨ بÙĩ", + "Ġnich ž", + "åī Ľ", + "ĠÙģ ØªØŃ", + "ĠÙģØª ØŃ", + "ĠÙħÙĤ دÙħ", + "ĠÙħÙĤد Ùħ", + "ĠGüven lik", + "e um", + "eu m", + "ç»ı è¿ĩ", + "è·Ŀ éĽ¢", + "Âł не", + "Ġا صÙĪÙĦ", + "Ġاص ÙĪÙĦ", + "ĠzaÄį átku", + "ิà¹Ģว à¸ĵ", + "Ġà¤ķ à¤Ł", + "Ġk riz", + "Ġkr iz", + "Ġp án", + "Ġpá n", + "ĠбоÑĢ ÑĮ", + "Ġбо ÑĢÑĮ", + "ظ ÙħØ©", + "ظÙħ Ø©", + "Ġê²½ ë¶ģ", + "ĠاÙĦÙĬ ÙħÙĨ", + "ĠاÙĦعرب ÙĬ", + "Ġh lub", + "Ġhl ub", + "Ġch á»Ŀ", + "è¥ ²", + "ëĵľ 리", + "ãĥĸ ãĥª", + "ĠÑģÑĤол ÑĸÑĤÑĤÑı", + "ر بÙĬØ©", + "رب ÙĬØ©", + "Ġ æ°¸", + "Ġæ° ¸", + "Ġê±° ìĿĺ", + "Ġβ αÏĥ", + "Ġβα Ïĥ", + "Ġa rz", + "Ġar z", + "ãĥ¢ ãĥ³", + "ĠÑĢÑĸв енÑĮ", + "ä¸į çŁ¥", + "导 èĩ´", + "ا ÙĬØ´", + "اÙĬ Ø´", + "ĠпÑĢев ÑĭÑĪ", + "Ġп н", + "ĠÎĴ ÏģοÏĩή", + "Ġ 身", + "Ġè º«", + "ĠÄIJ ầu", + "ĠÏĮ μÏīÏĤ", + "j ÃŃž", + "jÃŃ Å¾", + "Ġλ ίγ", + "ĠÑĪк оли", + "ĠÑĪкол и", + "ãģ£ãģ± ãģĦ", + "z dy", + "zd y", + "Ġê³ §", + "t eÅŁ", + "te ÅŁ", + "ÑĢ ÐµÑī", + "ÑĢе Ñī", + "κ ει", + "κε ι", + "sah uje", + "Ġà¤īस स", + "ĠTan rı", + "ä¸į 好", + "éĥ Ń", + "ĠвÑĭ глÑıд", + "Ġç oÄŁ", + "Ġин ÑģÑĤÑĢÑĥменÑĤ", + "r ej", + "re j", + "èĪ Į", + "ãģĭ ãĤīãģªãģĦ", + "ãģĭãĤī ãģªãģĦ", + "ĠнепÑĢи ÑıÑĤ", + "Ġк ÑĢоме", + "ζ η", + "Ġл ог", + "ा वर", + "ाव र", + "ëħķ íķĺìĦ¸ìļĶ", + "ाह रण", + "ाहर ण", + "Ġgüven ilir", + "T ại", + "ĠØ´Ùĩر د", + "ĠØ´Ùĩ رد", + "ĠΤ ε", + "о ÑĢаз", + "оÑĢ Ð°Ð·", + "оÑĢа з", + "Ġl Ãłng", + "ĠlÃł ng", + "ĠlÃłn g", + "ï¼ ©", + "æĬķ æ³¨", + "Ġsiyas et", + "ÐĽ Ñİ", + "Ġt ÅĻet", + "ĠtÅĻ et", + "ĠÏĢÏģÏİ ÏĦη", + "ĠÑĥлÑĭ б", + "ĠL âm", + "ÑĥлÑĮÑĤ а", + "ÑĥлÑĮ ÑĤа", + "åŁº åľ°", + "Ġskup ina", + "æ°¸ ä¹ħ", + "лÑĥ гов", + "лÑĥг ов", + "Ġ ÑĨÑĸй", + "ĠÑĨ Ñĸй", + "ĠÑĨÑĸ й", + "ĠP oh", + "ĠPo h", + "i д", + "ĠTr uy", + "ĠTru y", + "çļĦ ä¸Ģ个", + "çļĦä¸Ģ 个", + "ë²Ħ ìłĦ", + "Ġx ứ", + "à¸ĩ à¹ģรà¸ģ", + "à¸Ħ à¸Ńม", + "Ġelektron ik", + "ĠaÄŁ aç", + "Ġà¤ľ य", + "ĠповеÑĢÑħ ноÑģÑĤÑĮ", + "ĠاÙĩÙħ ÛĮت", + "ли виÑħ", + "лив иÑħ", + "ĠolduÄŁ undan", + "ï¼ī :", + "ÑĨи ÑıÑħ", + "ÑĨиÑı Ñħ", + "製 ä½ľ", + "à¸Ĺ รà¸ĩ", + "à¸Ĺร à¸ĩ", + "ey im", + "eyi m", + "Ġná klad", + "c ilik", + "ci lik", + "cil ik", + "ĠÐĵ лав", + "ĠUy gu", + "ĠÑĢег ÑĥлÑİ", + "à¤Ĥ à¤ľà¤¨", + "à¤Ĥà¤ľ न", + "Ġkayn aģı", + "à¹ī าà¸Ń", + "à¹īา à¸Ń", + "Ġgör mek", + "ĠíĮ ¬", + "Ġ å®Į", + "Ġå® Į", + "Ø« ÙħاÙĨ", + "ĠÑĤак аÑı", + "ĠÑĤа каÑı", + "ĠÑĤака Ñı", + "Ġне из", + "Ġzpráv y", + "ĠاÙĦØ´ خص", + "Ġìĺ¤ íĽĦ", + "ĠاÙĦ طب", + "ĠاÙĦØ· ب", + "atır ım", + "ر ÙĬر", + "رÙĬ ر", + "ĠÙħع ÙħارÛĮ", + "Ãľ RK", + "ÃľR K", + "ĠÒ IJ", + "ĠìĦ ¬", + "æīĭ ãģ«", + "Ġë³Ģ íĻĶ", + "u lace", + "ul ace", + "ula ce", + "Ġs ợ", + "ÑĢ Ð¸Ñĩ", + "ÑĢи Ñĩ", + "มห าว", + "Ġk â", + "ĠÑģп ÑĢоб", + "Ùĩ رÙĩ", + "Ùĩر Ùĩ", + "ाध न", + "ĠÏĢ Î±Î¹", + "ĠÏĢα ι", + "ب عد", + "بع د", + "ĠاÙĦ تÙĪ", + "ĠاÙĦت ÙĪ", + "ç»ı çIJĨ", + "p ůsob", + "æ¬ ł", + "ĠзаÑħвоÑĢÑİ Ð²Ð°Ð½Ð½Ñı", + "Ø® Ø©", + "ÚĨ ار", + "Ġboz uk", + "] âĢı", + "ĠSoc orro", + "Ġ hrad", + "Ġh rad", + "Ġhr ad", + "Ġhra d", + "над леж", + "ĠÑĥÑĩаÑģÑĤ ие", + "ĠÑĥÑĩаÑģ ÑĤие", + "ĠÑĥÑĩаÑģÑĤи е", + "å¤ī ãĤı", + "Ġy ans", + "Ġya ns", + "Ġyan s", + "ĠØ¥ ÙĦ", + "Ø® بر", + "خب ر", + "ÑĨиклоп ед", + "ι Ïİν", + "ιÏİ Î½", + "Ïĥ ÏĦÏģο", + "ÏĥÏĦ Ïģο", + "Ġb anka", + "Ġbank a", + "Ġban ka", + "ĠsoÄŁ uk", + "Ġün lü", + "é¢ ľ", + "Ġر Ù쨹", + "ĠرÙģ Ø¹", + "çIJ ³", + "ĠÑģоÑģÑĤоÑı нии", + "ν ονÏĦαÏĤ", + "νον ÏĦαÏĤ", + "Ġа кÑĤи", + "Ġак ÑĤи", + "ĠакÑĤ и", + "ĠÏĢολ Ïħ", + "ĠÏĢο λÏħ", + "Ġм оÑĹ", + "Ġмо ÑĹ", + "Ġ æł¼", + "Ġæł ¼", + "ç² Ĺ", + "ĠÑģлÑĥÑĩ ай", + "ĠÑģлÑĥ Ñĩай", + "ĠÑģлÑĥÑĩа й", + "ìĿ¼ ìĹIJ", + "ĠÑĤÑĢеб ÑĥеÑĤ", + "Ġ åıĤèĢĥ", + "ĠåıĤ èĢĥ", + "an gl", + "ang l", + "am ik", + "ami k", + "Ġ İÅŀ", + "Ġİ Åŀ", + "æ¹ ¯", + "ĠÄij áo", + "ĠÄijá o", + "ละ à¸Ħร", + "Ñģ о", + "Âł ob", + "Ġk lim", + "Ġkl im", + "Ġkli m", + "èĥ Ĩ", + "ìĥĿ íĻľ", + "ãĥij ãĥ³", + "- ब", + "Ġк ад", + "Ġка д", + "à¹Ī สามารà¸ĸ", + "ĠÙħس ÙĦÙħاÙĨ", + "ç¿ °", + "ĠB ütün", + "ĠK raj", + "ĠKr aj", + "ĠKra j", + "ĠпеÑĢ Ñģп", + "ĠпеÑĢÑģ п", + "Ġener j", + "ãģķ ãģĽãĤĭ", + "ãģķãģĽ ãĤĭ", + "è¾¾ åΰ", + "ा à¤Ĭ", + "ाठĬ", + "ĠگرÙģ ØªÙĨ", + "ĠگرÙģØª ÙĨ", + "ÑĪ ÐºÑĥ", + "ĠÐŁ ло", + "ÃŃ ny", + "ÃŃn y", + "ĠH ra", + "ĠÚĨ ÙĨاÙĨ", + "Ġ à¹Ħà¸Ĺย", + "Ġà¹Ħ à¸Ĺย", + "vise jÃŃcÃŃ", + "Û³ Û³", + "ĠÐľÑĸнÑĸÑģÑĤ еÑĢ", + "à¹Ĥ à¸Ń", + "ĠدÙĩ ÛĮد", + "æ¯Ķ ä¾ĭ", + "Ïĥι εÏį", + "Ç IJ", + "ãĢģ ãģª", + "Ġत स", + "Ġİ t", + "ĠìłĦ ìŁģ", + "à¹Ģ à¸Īร", + "à¹Ģà¸Ī ร", + "Ġelek tr", + "Ġelekt r", + "Ġd ư", + "â ĶĶ", + "âĶ Ķ", + "Ġ ìĥ¤", + "Ġìĥ ¤", + "ä» ®", + "à¸ģาร à¹Ģล", + "Ġм ÑĥлÑĮ", + "ĠмÑĥ лÑĮ", + "Ġ 度", + "Ġåº ¦", + "ĠH uyá»ĩn", + "в ен", + "ве н", + "Ġl Æ°á»Ľi", + "Ġprovoz u", + "Ñĥ ÑĢÑĥ", + "ÑĥÑĢ Ñĥ", + "ÑĢ ÑĸÑĹ", + "ÑĢÑĸ ÑĹ", + "Ġçocu ÄŁ", + "ัà¸IJ à¸ļาล", + "ÙĦ ÙĬÙĩ", + "ÙĦÙĬ Ùĩ", + "Ġ[â̦] ...Ċ", + "åİŁ å§ĭ", + "Ġs klad", + "Ġsk lad", + "Ġskl ad", + "Ġسپ تاÙħبر", + "ĠTom áš", + "Ġس ÙĪØ§ÙĦ", + "ĠسÙĪ Ø§ÙĦ", + "çģ Ń", + "ãĤĵ ãģ©", + "на знаÑĩ", + "ĠÄij Ä©a", + "ĠudÄĽl at", + "Ġà¤Ĩ दम", + "Ġà¤Ĩद म", + "ï¼ ¬", + "ι νÏĮ", + "ιν ÏĮ", + "iÅŁ leri", + "ÄIJ ây", + "Ġرس اÙĨÙĩ", + "ع اÙħ", + "عا Ùħ", + "ãĥ¼ãĥij ãĥ¼", + "Ġdo prov", + "Ġdop rov", + "ĠмÑĸÑģ ÑĤо", + "ĠмÑĸÑģÑĤ о", + "ï¼ ¥", + "ел Ñĸг", + "елÑĸ г", + "ائ ز", + "ä¸į äºĨ", + "ĠÐIJлекÑģанд ÑĢ", + "ĠвÑĢем ен", + "Ġdve ÅĻe", + "Ġch ảy", + "Ġ otel", + "Ġo tel", + "Ġot el", + "èĤ¯ å®ļ", + "ĠÑĥÑĤ веÑĢжд", + "ĠÐļом п", + "ĠÐļо мп", + "Ġ ëĤĺëĿ¼", + "ĠëĤĺ ëĿ¼", + "ĠвÑĸдбÑĥва ÑĶÑĤÑĮÑģÑı", + "ãĢģ ãĢİ", + "ĠkarÅŁÄ± lık", + "Ġl ẫn", + "çħ Ļ", + "ع کس", + "å¼ ¥", + "Ġte cr", + "Ġtec r", + "Ġne od", + "Ġneo d", + "æĪIJ çĤº", + "åħ¥ ãĤĬ", + "ĠÐŁ ÑĢод", + "ĠÐŁÑĢ Ð¾Ð´", + "ĠÐŁÑĢо д", + "ĠÏĢ Ïģά", + "ื à¸Ńà¸Ķ", + "ืà¸Ń à¸Ķ", + "ÑģÑĤ аÑĤи", + "ÑģÑĤа ÑĤи", + "е ноÑĹ", + "ен оÑĹ", + "ено ÑĹ", + "Ñĩи Ñģл", + "ÑĩиÑģ л", + "羣 æŃ£", + "Ġ ราà¸Ħ", + "Ġร าà¸Ħ", + "Ñĥ ÑĢе", + "ÑĥÑĢ Ðµ", + "ĠØ´ اÙĩد", + "ĠشاÙĩ د", + "ا عر", + "اع ر", + "Ġê²½ íĹĺ", + "à¸Ļ à¸Ħ", + "ãĥį ãĥ«", + "ÏĢοÏħ λοÏĤ", + "Ġम à¤Ī", + "ìĬ¤ ì½Ķ", + "itel né", + "å¼Ģ æĶ¾", + "ç į¨", + "çį ¨", + "ĠpÅĻ ech", + "ĠpÅĻe ch", + "ú Äįast", + "å¢ ĵ", + "Ġ å½±", + "Ġå½ ±", + "ÙĨ ساÙĨ", + "ÙĨس اÙĨ", + "ÙĨسا ÙĨ", + "Ġд вад", + "Ġдв ад", + "Ġдва д", + "Ġи деÑĤ", + "Ġиде ÑĤ", + "Ġид еÑĤ", + "Ġпод клÑİÑĩ", + "Ġподк лÑİÑĩ", + "íĬ¹ë³Ħ ìĭľ", + "B Ãłi", + "Å¡ ku", + "Å¡k u", + "i lerden", + "iler den", + "åıĺ å¾Ĺ", + "ëıĻ ìķĪ", + "Ġpostup nÄĽ", + "ĠиÑĤ ог", + "Ġd ůvodu", + "Ġdůvod u", + "siz lik", + "ÙĦ اÙĨ", + "ÙĦا ÙĨ", + "éĤ£ ç§į", + "ĠÑĩа Ñģа", + "ĠÑĩаÑģ а", + "ä¸į æĸŃ", + "ĠØ®ÛĮ اباÙĨ", + "ĠاÙĦد اخ", + "ĠÑģÑĤоÑĢ Ñĸн", + "Ġì¶ľ ìŰ", + "æ² Ł", + "Ġh ry", + "Ġhr y", + "ĠG Ãľ", + "ĠìĿ¸ 구", + "l ied", + "li ed", + "lie d", + "Ġع اÙĦÙĬØ©", + "ĠпÑĢед ваÑĢ", + "ан ной", + "åı¥ è¯Ŀ", + "éł ĵ", + "ë°Ķ ìĿ¼", + "ï¼ı /", + "ĠÙħخت صات", + "ëŀ «", + "ĠçalÄ±ÅŁ maları", + "ĠçalÄ±ÅŁmalar ı", + "ĠçalÄ±ÅŁma ları", + "Ġrepublik a", + "Ġ ì³", + "Ġì ³", + "ा )", + "Ġê±´ ê°ķ", + "Ġê³µ ëıĻ", + "èħ ¦", + "ĠìĦľ ë¡ľ", + "ĠпÑĢовод иÑĤÑĮ", + "ĠдейÑģÑĤв иÑĤелÑĮно", + "v eç", + "ve ç", + "Ø« اÙĦ", + "Ġgöster ir", + "ır lar", + "ĠÑģам Ñĭм", + "á lo", + "ál o", + "é¢ij 次", + "à¥Ī à¤Ĺ", + "ا دÙħ", + "اد Ùħ", + "çĮ ª", + "ĠS ản", + "Ġ çı", + "Ġç ı", + "Ġl ety", + "Ġle ty", + "Ġlet y", + "Ġrep ublice", + "Ġrepublic e", + "æĿ¥ èĩª", + "Ġv ết", + "Ġbi rik", + "Ġbir ik", + "Ġbiri k", + "Ġm ekt", + "Ġme kt", + "Ġmek t", + "ĠاÙĦ ÙĪÙģ", + "ĠاÙĦÙĪ Ùģ", + "Ġj ich", + "Ġji ch", + "ä¸Ģ 覧", + "éľ² åĩº", + "ĠH iá»ĩn", + "ĠHi á»ĩn", + "Ġd iá»ĩt", + "ĠÑħ ÑĢиÑģÑĤи", + "åĪļ æīį", + "k ate", + "ka te", + "kat e", + "Ġb azen", + "Ġba zen", + "Ġbaz en", + "ĠurÄįit ÄĽ", + "ĠurÄį itÄĽ", + "Ġumož ÅĪuje", + "é¡ĺ ãģĦ", + "/Q ÄIJ", + "Ġmen Å¡ÃŃ", + "ÏĥκεÏħ ή", + "ĠÑĨеÑĢк ов", + "ĠÑĨеÑĢ ÐºÐ¾Ð²", + "Ġ è´Ń", + "Ġè´ Ń", + "ок ÑĢаÑĤи", + "ĠÑĢоз к", + "α νοÏħ", + "αν οÏħ", + "Ġyön etic", + "Ġyönet ic", + "Ġol madan", + "Ġolm adan", + "Ġolma dan", + "åĨľ ä¸ļ", + "Ġë°Ķ ëŀĮ", + "çĵ ľ", + "ÑĪ Ð°ÐµÑĤÑģÑı", + "ÑĪа еÑĤÑģÑı", + "ĠÐļ оÑģÑĤ", + "ĠÐļо ÑģÑĤ", + "ĠÙħ عت", + "ĠÙħع ت", + "Ġ à¸ŀล", + "Ġà¸ŀ ล", + "ĠÙħتÙģ Ø§ÙĪØª", + "ãĤī ãģı", + "èĪ Ĺ", + "Ġتع رÛĮÙģ", + "éīĦ éģĵ", + "Ġpé Äįe", + "ì» µ", + "Ġпод ÑĢаз", + "Ġбан кÑĥ", + "Ġбанк Ñĥ", + "İS İ", + "æ¡ IJ", + "à¹Ĥ รà¸Ħ", + "à¹Ĥร à¸Ħ", + "ĠØŃذ Ùģ", + "Ġ ë£", + "Ġë £", + "л иж", + "ли ж", + "Ġ ìĤ°ìĹħ", + "ĠìĤ° ìĹħ", + "ĠпÑĢи ÑĩинÑĭ", + "ĠпÑĢиÑĩин Ñĭ", + "ĠпÑĢиÑĩ инÑĭ", + "Ġна зна", + "Ġназ на", + "ãĥª ãĤ¹ãĥĪ", + "ãĥªãĤ¹ ãĥĪ", + "ìłķ ë¶Ģ", + "Ïĥ ÏĨα", + "ÏĥÏĨ α", + "å¦ ĥ", + "Ġголов и", + "Ġгол ови", + "ëIJĺìĹĪ ìĬµëĭĪëĭ¤", + "Ġεν ÏĮÏĤ", + "ãĤ¤ ãĥ³ãĤ¿", + "ãĤ¤ãĥ³ ãĤ¿", + "Ġs lun", + "Ġsl un", + "Ġslu n", + "ëł ´", + "ĠÑģÑĥÑīеÑģÑĤв ÑĥеÑĤ", + "ĠÑģÑĥÑīе ÑģÑĤвÑĥеÑĤ", + "з аб", + "за б", + "æĽ´ åĬł", + "Ġблагод аÑĢÑı", + "ĠëĮĢ êµ¬", + "è¾ ħ", + "ห าà¸ģ", + "หา à¸ģ", + "Ġ æİ¥", + "Ġæİ ¥", + "ëĮĢ ë¥¼", + "人 ç±»", + "j eme", + "je me", + "jem e", + "åĪĨ å¸ĥ", + "ìŀ¥ ìĿĢ", + "Ġдопом оги", + "ìĻĦ ë£Į", + "o sy", + "os y", + "èĭ± éĽĦ", + "Ġ ÙĦس", + "ĠÙĦ س", + "म ह", + "Ġ à¸ģำ", + "Ġà¸ģ ำ", + "Ġداش تÙĨ", + "Ġداشت ÙĨ", + "Ń ìłľ", + "İ ng", + "İn g", + "ĠTh ưá»Ŀng", + "íĻ Ģ", + "Ñį ÑĦ", + "íķ´ ìļĶ", + "ĠÐľ Ñĸж", + "ĠÐľÑĸ ж", + "еÑĢÑĸ га", + "еÑĢÑĸг а", + "Ġε á¼", + "à¹ģ สà¸ĩ", + "à¹ģส à¸ĩ", + "ãĥĢ ãĤ¤", + "Ġc esty", + "Ġce sty", + "Ġces ty", + "Ġcest y", + "Ġpr ázd", + "Ġprá zd", + "第 ä¸Ģ次", + "第ä¸Ģ 次", + "ĠÙĩÙħ سر", + "Ġz ev", + "Ġze v", + "Âł E", + "ĠBeled iyesi", + "ĠBelediye si", + "ĠпÑĢоп ози", + "Ġanlay Ä±ÅŁ", + "Âł Ùħ", + "ĠÑĢаÑģÑģ ÑĩиÑĤ", + "ĠاÙĦØ£Ùħ رÙĬÙĥÙĬØ©", + "ĠاÙĦØ£ÙħرÙĬÙĥÙĬ Ø©", + "Ġž ena", + "Ġže na", + "Ġžen a", + "d eniz", + "den iz", + "Ġn oci", + "Ġno ci", + "Ġnoc i", + "Ġst ál", + "ุ ย", + "주 ìĨĮ", + "Ġз еÑĢ", + "Ġ ìĨĮê°ľ", + "ĠìĨĮ ê°ľ", + "Ġkh ẳng", + "at ıcı", + "atı cı", + "ÄĽ ž", + "ĠÑĩ ÑĥÑĤÑĮ", + "Ġc áºŃu", + "ĠاطÙĦ اع", + "æµ ħ", + "Ġst rav", + "Ġstr av", + "Ġstra v", + "ĠSan ayi", + "Ġ طبÙĬ", + "ĠØ· بÙĬ", + "Ġطب ÙĬ", + "Ġhız la", + "Ïİ Î½Î±", + "Ïİν α", + "à¤¿à¤ľ ल", + "ÙħØŃ Ùħد", + "à¸ļ à¸ģ", + "Ġvzdál en", + "ĠÑĤак ими", + "ĠÑĤа кими", + "ĠÑĤаким и", + "ãĢĤ ãģĿãģĹãģ¦", + "Ġka lp", + "Ġkal p", + "Ġкож ного", + "Ðł µ", + "ÙĦع اب", + "ĠÙħ ÙĪÙĨ", + "ĠÙħÙĪ ÙĨ", + "ĠìĿ¼ ìĿĦ", + "Ġ ë°ĶìĿ´", + "Ġë°Ķ ìĿ´", + "Ġme kan", + "Ġmek an", + "ĠجاÙħ ع", + "Ġجا Ùħع", + "ĠÙĨ ÙģØª", + "ĠÙĨÙģ Øª", + "ĠاÙĦ سÙħ", + "ĠاÙĦس Ùħ", + "л ÑĭÑħ", + "лÑĭ Ñħ", + "èĥĮ æĻ¯", + "Ġê²ĥ ëıĦ", + "ĠìĤ´ ìķĦ", + "y dı", + "yd ı", + "Ġна веÑĢ", + "Ġнав еÑĢ", + "åŃIJ ãģ¯", + "l uluk", + "lu luk", + "Ġhá»Ĺ n", + "Ġ Ø´Ùģ", + "ĠØ´ Ùģ", + "Ġع ÙĦت", + "ĠعÙĦ ت", + "à¸Ħร าม", + "ĠÎļ ÏįÏĢ", + "Ġà¹Ģม ษายà¸Ļ", + "ÙĨد ÙĤ", + "ĠÑĥ ÑģÑĤÑĢа", + "ĠÑĥÑģÑĤ ÑĢа", + "ĠÑĥÑģ ÑĤÑĢа", + "ĠÎĵ εν", + "ĠÐĨ ван", + "ĠP hong", + "ĠPh ong", + "ĠPhon g", + "å®¶ çļĦ", + "ĠÐIJ лекÑģ", + "ĠÐIJле кÑģ", + "ĠÐIJл екÑģ", + "Ġзб еÑĢÑĸг", + "ĠÅŁark ı", + "ĠÅŁar kı", + "ĠظرÙģ ÛĮت", + "ĠÙħ عÙĨÛĮ", + "ĠÙħع ÙĨÛĮ", + "ĠÙħعÙĨ ÛĮ", + "Ġ лов", + "Ġл ов", + "ĠìĤ ¶", + "èħ IJ", + "Ġ å¯Į", + "Ġå¯ Į", + "E RG", + "ER G", + "ĠÑģÑĤо имоÑģÑĤÑĮ", + "ÅĻ et", + "ÅĻe t", + "à¥ī य", + "à¹Ī าร", + "à¹Īา ร", + "ĠارÙĪÙ¾ ا", + "Ġб ÑĢоÑģ", + "ĠоÑĤ ноÑģÑıÑĤ", + "ĠоÑĤноÑģ ÑıÑĤ", + "ĠÎŁ κ", + "ÑĨÑĮ кий", + "ÏĬ κ", + "ãģĤãĤĬ ãģ¾ãģĽãĤĵ", + "ĠÑĥ ник", + "ĠÄij iá»ĥn", + "ĠÄiji á»ĥn", + "Ġvý zkum", + "Ġh ứ", + "Ġhá» ©", + "Ġ ÙĪØ§Øª", + "ĠÙĪ Ø§Øª", + "ĠÙĪØ§ ت", + "Ġ å¹³æĸ¹", + "Ġå¹³ æĸ¹", + "Ïħ μ", + "ãĤĴ 使", + "εί ÏĦαι", + "两 人", + "Ġ åĮ»", + "ĠåĮ »", + "ÑĢаÑĤ иÑĤÑĮ", + "ÑĢаÑĤи ÑĤÑĮ", + "ĠاÙĦ اÙĨت", + "ĠاÙĦاÙĨ ت", + "ãģ® äºº", + "ر Ø´", + "ĠТ ÑĥÑĢ", + "r nÄĽ", + "rn ÄĽ", + "天 天", + "ม าร", + "มา ร", + "Ġort alama", + "Ġorta lama", + "ĠпеÑĢе пиÑģ", + "ĠпеÑĢеп иÑģ", + "ĠìĥĿ ìĤ°", + "å¿ Ĩ", + "í ĩ´", + "ï¼Į 该", + "éĮ ¢", + "ÏĢα ίδ", + "ĠмеÑĢ Ð¾Ð¿ÑĢи", + "Ġг ÑĢав", + "ĠгÑĢа в", + "ĠгÑĢ Ð°Ð²", + "ÃĶ ng", + "Ġ æ¤", + "Ġæ ¤", + "ĠاÙĦد ÙĪÙĦØ©", + "ĠاÙĦدÙĪÙĦ Ø©", + "Ġ оÑģÑĮ", + "Ġо ÑģÑĮ", + "ĠоÑģ ÑĮ", + "å¥ Ķ", + "Ġgüven li", + "íķĺ ìĭł", + "Ġ éĬ", + "Ġé Ĭ", + "éŁ³ æ¨Ĥ", + "Ġmed ya", + "Ġب ÙĨا", + "ĠبÙĨ ا", + "а ма", + "ам а", + "Ġ ãĤŃãĥ£", + "ĠãĤŃ ãĥ£", + "èĹ ¥", + "l arım", + "lar ım", + "ları m", + "ĠT iếng", + "iyor lar", + "ï¼ ¢", + "æĶ Ŀ", + "Ñĸй ÑģÑĮкоÑĹ", + "Ġyet iÅŁtir", + "ĠyetiÅŁ tir", + "ĠÙ¾ سر", + "Ġپس ر", + "ãĤī ãģĹ", + " ļ", + "ìĥ ¤", + "à¸Ķ าห", + "à¸Ķา ห", + "ĠتØŃص ÛĮÙĦ", + "Ġб енз", + "éģ £", + "Ġнаб лÑİ", + "ä½ĵ ç³»", + "ãĥ¯ ãĤ¤ãĥĪ", + "Âł ÂłĠ", + "³³ Ġ", + "书 è®°", + "ĠMü hendis", + "p lor", + "pl or", + "l az", + "la z", + "лÑı ли", + "Ġpom áh", + "Ġб лиж", + "Ġбл иж", + "Ġбли ж", + "ĠÑĩиÑģ ла", + "Ġubyt ovánÃŃ", + "ÑĢаÑĤ но", + "Ġtr Äĥm", + "Ġاب راÙĩ", + "át ka", + "Ġiç indeki", + "Ġiçin deki", + "Ġiçinde ki", + "ั à¸ļà¸Ļ", + "ัà¸ļ à¸Ļ", + "ĠاÙħ ÛĮد", + "n ave", + "na ve", + "nav e", + "e cut", + "ec ut", + "å°± åľ¨", + "Ġt radi", + "Ġtr adi", + "Ġtrad i", + "Ġtra di", + "Ø· ÙĦÙĤ", + "Ø·ÙĦ ÙĤ", + "ãĤ¦ ãĤ©", + "Ġkhu ôn", + "ìĬ¤ ë¡ľ", + "ÏĦ ÎŃÏģα", + "ÏĦÎŃ Ïģα", + "ĠÏĥ κο", + "ĠÏĥκ ο", + "ë§ Ľ", + "ĠÙģ ÙĨÛĮ", + "ĠÙģÙĨ ÛĮ", + "à¹Į à¹Ģà¸ŀ", + "ĠاÙĦع ظ", + "Ġth ôn", + "기 ìĿĺ", + "Ġภ¿", + "Ñĥ ÑİÑĤÑģÑı", + "ÑĥÑİÑĤ ÑģÑı", + "ĠÙħ کاÙĨ", + "ĠÙħÚ© اÙĨ", + "Ġ âĹİ", + "ĠâĹ İ", + "Ġ çľģ", + "Ġçľ ģ", + "Ġ åį¡", + "Ġåį ¡", + "ĠпеÑĢ ÑĪий", + "ĠпеÑĢÑĪ Ð¸Ð¹", + "ĠíĽĦ ë³´", + "Ġآر اÙħ", + "ãģĮ ãģĦ", + "ย าà¸Ļ", + "ยา à¸Ļ", + "μ ει", + "με ι", + "ĠM áy", + "Ġz ů", + "Ġpodp oru", + "Ġpodpor u", + "ì» ¨", + "Ñģ ÑĤÑĢи", + "ÑģÑĤ ÑĢи", + "ÑģÑĤÑĢ Ð¸", + "ÏĢ ÏĦÏīÏĥη", + "Ф ÐĽ", + "åĵª éĩĮ", + "ĠпеÑĢв ÑĥÑİ", + "Ġyer inde", + "Ġyeri nde", + "ĠزÛĮ با", + "ĠزÛĮب ا", + "Ġodst ran", + "à¥Ģ à¤Ĺ", + "ĠÑĢÑĸз нÑĸ", + "Ïģ ηÏĥη", + "Ïģη Ïĥη", + "âĢĮاÙĦÙħÙĦ ÙĦÛĮ", + "ع اد", + "عا د", + "à¥įप ष", + "ÑŁ N", + "ï½ Ľ", + "ãĥ¼ ãĥľ", + "ãĥ¼ãĥ ľ", + "è´Ń ä¹°", + "ĠìĿ¸ê¸° ê¸Ģ", + "ĠÙħÛĮ Ø´ÙĪØ¯", + "ĠбезопаÑģ ноÑģÑĤи", + "ĠνεÏĨ οκ", + "ãģ« ãģ¨", + "ĠÑĨеÑĢк ви", + "ت Ùĥ", + "ĠH Ãłng", + "ĠHÃł ng", + "ĠHÃłn g", + "ĠÙĦ ÙĦس", + "ĠÙĦÙĦ س", + "ĠνεÏĨοκ άλÏħÏĪηÏĤ", + "r aman", + "ra man", + "ram an", + "rama n", + "Ġvy vol", + "n iÄį", + "ni Äį", + "ر اÙĨÙĩ", + "راÙĨ Ùĩ", + "را ÙĨÙĩ", + "Ġp eÅŁ", + "Ġpe ÅŁ", + "ãĥ« ãĤ¯", + "å´ ĩ", + "Ġim kân", + "åĮ» çĸĹ", + "Ġप à¥Ŀ", + "άν νηÏĤ", + "Ġ جÛĮ", + "Ġج ÛĮ", + "Ġp roje", + "Ġpro je", + "Ġpr oje", + "Ġproj e", + "Ġül kenin", + "Ġülk enin", + "Ġülke nin", + "ĠK ew", + "ĠKe w", + "ĠاÙĦÙħ Ùģ", + "Ø£ Ùĥ", + "çĻº 表", + "Ġ δÏħ", + "Ġδ Ïħ", + "Ġ åĽ½å®¶", + "ĠåĽ½ å®¶", + "ĠKiÅŁ isel", + "ãĥ³ ãĤ¬", + "Ġzpráv a", + "V iá»ĩc", + "e rif", + "er if", + "eri f", + "Ġstrán ky", + "éļ ł", + "è¼ ķ", + "к оз", + "ко з", + "Ġस à¤ľ", + "Ùĩد اÙģ", + "l oub", + "lo ub", + "lou b", + "à¸łà¸²à¸ŀ ยà¸Ļà¸ķร", + "Ġíķł ìĿ¸", + "ĠÄIJ Ãło", + "ĠÄIJÃł o", + "ĠÙĨاØŃ ÛĮÙĩ", + "(= )", + "ĠÅŀ ampiyon", + "Ġp iÅŁ", + "Ġpi ÅŁ", + "Ġ ذÙĩ", + "Ġذ Ùĩ", + "ॠ¯", + "ĠÑģÑĢед ÑģÑĤво", + "ĠÑģÑĢедÑģÑĤв о", + "Ġ à¹Ģวลา", + "Ġà¹Ģว ลา", + "ĠÑĩ Ñĥж", + "Ġver ileri", + "Ġveri leri", + "Ġveriler i", + "ĠÚ© ارت", + "Ġکار ت", + "а ви", + "ав и", + "Ġà¤ķर व", + "Ġres tau", + "Ġrest au", + "Ġresta u", + "ê°ľ ìĽĶ", + "Ġм иÑĢов", + "Ġми ÑĢов", + "ĠмиÑĢ Ð¾Ð²", + "ì° ®", + "ĠnÄĽjak ý", + "Ġses siz", + "Ġsess iz", + "اء ات", + "ĠÐĹ Ð°Ñħ", + "ĠÐĹа Ñħ", + "Ñı ÑīиÑħ", + "ÑıÑī иÑħ", + "п ÑĢ", + "Ġпод алÑĮ", + "Ġпода лÑĮ", + "ĠопÑĢедел иÑĤÑĮ", + "ॠŃ", + "Ġ رÙģ", + "Ġر Ùģ", + "幸 ç¦ı", + "à »", + "Ġ vÄĽdom", + "ĠvÄĽ dom", + "ĠvÄĽd om", + "ĠÑģвид еÑĤелÑĮ", + "ĠÎĵ οÏħ", + "ılıģı yla", + "ılıģ ıyla", + "çĻ» éĮ²", + "Ġä¸ĭ è·Į", + "Ġп лÑİ", + "Ġпл Ñİ", + "н од", + "но д", + "ĠØ£ جÙĦ", + "Ġأج ÙĦ", + "Ġà¤ķ थ", + "éĥ½ ä¸į", + "Ġs ene", + "Ġse ne", + "Ġsen e", + "Ġp ÄĽ", + "è¨Ī åĬĥ", + "Ġа Ñĥд", + "Ġод ном", + "Ġодно м", + "Ġ ä¸ĩåħĥ", + "Ġä¸ĩ åħĥ", + "ĠÙĪ Ùħا", + "ĠÙĪÙħ ا", + "ĠÐĶ ÑĢÑĥг", + "èµ· ãģĵ", + "в аÑİÑĤÑģÑı", + "ва ÑİÑĤÑģÑı", + "ваÑİÑĤ ÑģÑı", + "л аÑĤÑĥ", + "ла ÑĤÑĥ", + "лаÑĤ Ñĥ", + "Ġ تÙĪÙĨ", + "Ġت ÙĪÙĨ", + "ĠتÙĪ ÙĨ", + "Ñī аÑı", + "Ñīа Ñı", + "ή λ", + "ĠÐŁ ÑĢа", + "ĠÐŁÑĢ Ð°", + "Ġاست رات", + "Ġاستر ات", + "ิà¸Ļ à¹Ģà¸Ķ", + "à¥įà¤Ĺ त", + "Âł з", + "Ġп олоÑĤ", + "Ġпо лоÑĤ", + "Ġпол оÑĤ", + "æ® ĸ", + "æ¡ Ĩ", + "ĠS istem", + "ĠSi stem", + "ĠSist em", + "Ġr uku", + "Ġru ku", + "Ġruk u", + "ãĥĥ ãĤ«ãĥ¼", + "ĠобÑıз ан", + "Ġkö ÅŁ", + "Ġad ını", + "Ø´Ùħ اÙĦÛĮ", + "na ÄįenÃŃ", + "naÄį enÃŃ", + "Ġ .ï¼ı", + "Ġ. ï¼ı", + "Ġ å®ĺ", + "Ġå® ĺ", + "Ġtoplum sal", + "èª ¤", + "ĠبÙĩ بÙĪØ¯", + "ÑģÑĤв еннаÑı", + "ÑģÑĤвен наÑı", + "ĠØ¢ Ù¾", + "ĠجÙĦ سÙĩ", + "ĠجÙĦس Ùĩ", + "ãĢĢ ï½", + "åĵ Ń", + "æīĢ å±ŀ", + "æĴ ®", + "ì¢ Ģ", + "Ġ ει", + "Ġε ι", + "ì¹ĺ 를", + "Ġ ê³¼ìłķ", + "Ġê³¼ ìłķ", + "u uml", + "uum l", + "uu ml", + "δ ά", + "Ġ زد", + "Ġز د", + "ìĽIJ ìĿĦ", + "ĠvÄĽ cÃŃ", + "ĠvÄĽc ÃŃ", + "د Ø«", + "Ġs anki", + "Ġsan ki", + "Ġsank i", + "åĥı æĺ¯", + "л аÑĢа", + "ла ÑĢа", + "ìĤ¬ ìĿ´", + "ãĤı ãĤĮãģŁ", + "ãĤıãĤĮ ãģŁ", + "ĠÄij ón", + "ĠÄijó n", + "åIJ¯ åĬ¨", + "Ġgi Ãłnh", + "ĠgiÃł nh", + "Ġkır mızı", + "Ø® Ùħ", + "æIJ į", + "åĪĩ ãĤĬ", + "ãĤµ ãĥ¼ãĥĵãĤ¹", + "Ùĩ ار", + "Ùĩا ر", + "ذ Ùĥر", + "о ÑĢоз", + "оÑĢ Ð¾Ð·", + "оÑĢо з", + "à¥Īà¤Ĥ ।ĊĊ", + "à¥Īà¤Ĥ। ĊĊ", + "à¥Īà¤Ĥ।Ċ Ċ", + "ĠíĻĪ íİĺìĿ´ì§Ģ", + "ĠÙĥ بÙĬرة", + "ĠÙĥبÙĬر Ø©", + "н ина", + "ни на", + "нин а", + "íķĺ ìļ°", + "å¼ķç͍ é¢ij次", + "ॠ®", + "ĠбаÑĤÑĮ кÑĸв", + "à¸Ł à¸Ńร", + "ี .", + "ìłĿ íĬ¸", + "éĺħ读 次æķ°", + "Ġit ir", + "Ġi tir", + "ÑĪ Ð¸Ð½", + "ÑĪи н", + "ĠV áºŃy", + "çĤ ®", + "ла год", + "лаг од", + "Ø´ÙĨ اس", + "á» IJ", + "ĠÑı год", + "Ġì¤ij ìķĻ", + "ر ÙĬØ·", + "رÙĬ Ø·", + "ĠìĪĺ íĸī", + "Ġ ä¸Ģèά", + "Ġä¸Ģ èά", + "ĠÑħви лин", + "ĠÐľÐ¾Ð¶ но", + "ĠнаÑĩ але", + "Ġод нов", + "Ġодно в", + "ĠÃľ ç", + "ÑĨион нÑĭй", + "Ġ ìļķ", + "Ġìļ ķ", + "æ¼ Ĥ", + "å² ³", + "ت دÙī", + "تد Ùī", + "κ ηÏĤ", + "κη ÏĤ", + "âĢĻ nda", + "âĢĻn da", + "ï¼IJ ï¼IJ", + "èª ī", + "é§ħ å¾ĴæŃ©", + "ĠÙģØ±Ø² ÙĨد", + "åħ¬ è·¯", + "α ÏĥίαÏĤ", + "αÏĥ ίαÏĤ", + "αÏĥία ÏĤ", + "าà¸ĵ าà¸Ī", + "ëij ¥", + "Ġ ÏĢοι", + "ĠÏĢ Î¿Î¹", + "ĠÏĢο ι", + "Ġب داÙĨ", + "Ġبد اÙĨ", + "к ап", + "ка п", + "ĠìŀĪ ëĬĶëį°", + "ĠìŀĪëĬĶ ëį°", + "ï¼Į æŃ¤", + "à¸Ľà¸£à¸°à¹Ĥย à¸Ĭà¸Ļ", + "ĠÚ©Ø´ÙĪØ± ÙĩاÛĮ", + "ุ ส", + "ãģ¹ ãģį", + "ĠÑģам Ñĭй", + "Ġп лÑı", + "Ġпл Ñı", + "Ġб ед", + "人 æīį", + "ส หร", + "ู à¸ķ", + "Ġkullan ımı", + "Ġkullanım ı", + "íķĻ ëħĦ", + "æ²» çĸĹ", + "ãĢĤ ä¸įè¿ĩ", + "ãĢĤä¸į è¿ĩ", + "æ£ ļ", + "ëĤ¨ ëıĦ", + "ĠØ¢ تش", + "Ïĩ ÎŃÏĤ", + "Ġfunk ci", + "Ġfunkc i", + "н ообÑĢаз", + "но обÑĢаз", + "à¥ĭ फ", + "Ġk aps", + "Ġka ps", + "Ġkap s", + "าษ à¸İ", + "( ع", + "ï¼Į åĬł", + "à¹Ĭ à¸ģ", + "ĠÙĩ Ø´", + "Ġدر ÙĪÙĨ", + "Ġ меÑĩ", + "Ġм еÑĩ", + "ĠпÑĢеж де", + "à¹Ī ย", + "Ġار شد", + "า à¹Ģล", + "æ¯Ķ è¼ĥ", + "Ġذ کر", + "Ġ æĿ¡", + "ĠæĿ ¡", + "Ð Ĭ", + "Ñĥ кÑĢаÑĹн", + "ÙĬÙĨ ات", + "ÙĬÙĨا ت", + "ì¢ ĭ", + "д иÑı", + "ди Ñı", + "ÏĦ Ïģι", + "ÏĦÏģ ι", + "ĠÐļ аз", + "ĠÐļа з", + "ÙĤ ÙĦاÙĦ", + "ÙĤÙĦ اÙĦ", + "_ ,,", + "_, ,", + "ĠÚĨ ت", + "ĠìĿ¼ ìłķ", + "ĠÐŁ ÑĢоÑĦ", + "ĠÐŁÑĢ Ð¾ÑĦ", + "ĠÐŁÑĢо ÑĦ", + "æ³ Ľ", + "Ġdruh ý", + "Ñĩ Ñĥк", + "ÑĩÑĥ к", + "l edik", + "le dik", + "led ik", + "ledi k", + "Ġhey ec", + "Ñĭ вал", + "Ñĭв ал", + "Ñĭва л", + "ĠD üny", + "ĠDün y", + "Ġ çĻº", + "ĠçĻ º", + "ĠpÅĻ Ã¡tel", + "β άλ", + "βά λ", + "Ġ غر", + "Ġغ ر", + "ëĭ¨ ì²´", + "ìĽ¨ ëĶĶìĭľ", + "ÑĢаÑī ениÑı", + "н ÑĨиклопед", + "Ġpodnik atel", + "Ġìĭł ìŀħ", + "ĠÙ쨱 Ø¢", + "и лиÑģÑı", + "или ÑģÑı", + "Ġol umlu", + "à¥įष मत", + "ĠÙħت خصص", + "й ом", + "ؤ اÙĦ", + "ĠÐĿ аÑĤ", + "ĠÐĿа ÑĤ", + "ìĺ¤ ëĬĶ", + "ĠMüdür lÃ¼ÄŁÃ¼", + "ĠH Ãłnh", + "ĠHÃł nh", + "ĠHÃłn h", + "Ġس ابÙĤ", + "ï¼ī çļĦ", + "ĠQu ý", + "lád ánÃŃ", + "ládá nÃŃ", + "Ġ ìļ´ëıĻ", + "Ġìļ´ ëıĻ", + "ĠÐĺ Ñħ", + "è« ¾", + "lıģ ının", + "lıģını n", + "lıģın ın", + "l il", + "li l", + "u Äį", + "ĠÑĩем пÑĸон", + "ÑĤ ож", + "ÑĤо ж", + "Ġ ä½Ľ", + "ни ÑĨе", + "ниÑĨ е", + "ĠпеÑĢв ого", + "Ġ Ñģом", + "ĠÑģ ом", + "ĠÑģо м", + "Ïĩ Ïİ", + "ÅĻ ik", + "ÅĻi k", + "иÑĤелÑĮ ÑģÑĤва", + "Ġİ ki", + "Ġask eri", + "Ġasker i", + "c isi", + "ci si", + "cis i", + "Ġjed nÃŃm", + "Ġjedn ÃŃm", + "Ġsta nice", + "Ġstan ice", + "èĤ¡ 票", + "à¸ľ ม", + "T ừ", + "Å¡ ak", + "ÏĦ ία", + "ÏĦί α", + "м ами", + "ма ми", + "ãģĮ åĩº", + "μο ί", + "м аÑĶ", + "ма ÑĶ", + "ëł¥ ìĿ´", + "ãĤĦ ãģ£ãģ¦", + "Ġ å¼µ", + "Ġå¼ µ", + "ØĮ Ċ", + "Ġ »Ċ", + "Ġ» Ċ", + "ا جات", + "اج ات", + "á½ ³", + "æĻĤ ãģ®", + "Ġп окол", + "Ġпо кол", + "Ġпок ол", + "ÑĸÑĤ еÑĤ", + "Ġíķ´ ê²°", + "Ġde dim", + "Ġded im", + "Ġdedi m", + "ĠÑĤ веÑĢд", + "Ġжен Ñīина", + "ĠженÑīин а", + "ед ини", + "еди ни", + "един и", + "ĠÙ¾ ÛĮÚ©", + "ĠÙ¾ÛĮ Ú©", + "iver site", + "ivers ite", + "iversit e", + "ĠآسÛĮ اب", + "ĠÑħаÑĢакÑĤеÑĢиÑģÑĤи ки", + "ĠØ£ÙĨ Ùĩا", + "ĠØ£ÙĨÙĩ ا", + "ĠÑĥкÑĢаÑĹн ÑģÑĮкоÑĹ", + "ĠاختÙĦ اÙģ", + "Ġاخت ÙĦاÙģ", + "Ġt ez", + "Ġte z", + "Ïģ εÏħ", + "Ïģε Ïħ", + "Ġkon umu", + "Ġkonu mu", + "Ġkonum u", + "ĠÑĤеÑħ нÑĸ", + "м Ñĸв", + "мÑĸ в", + "èĬ ¯", + "ĠÏĥ ελ", + "ĠÏĥε λ", + "Ä ¢", + "μ ιÏĥ", + "μι Ïĥ", + "ี à¹īĊ", + "ีà¹ī Ċ", + "Ġm ne", + "Ġmn e", + "ĠоÑĤв еÑĩ", + "ĠÎ ī", + "Ġ éĩİ", + "Ġéĩ İ", + "Ġg ấp", + "ĠпÑĢодÑĥк ÑĤÑĭ", + "ĠпÑĢодÑĥкÑĤ Ñĭ", + "ĠС ÑĢед", + "Ñĸл лÑı", + "à¸ļ à¸Ńà¸ģ", + "ĠtÅĻÃŃ dy", + "Ġth á»ķ", + "Ġthá» ķ", + "ãĥĩãĤ£ ãĤ¢", + "ÏĢοι η", + "ν ει", + "νε ι", + "æĪij们 çļĦ", + "Ġprofes yonel", + "ĠRa kou", + "ĠRak ou", + "Ġвид но", + "Ġz by", + "Ġzb y", + "ĠØŃ اÙĦÛĮ", + "ĠØŃاÙĦ ÛĮ", + "Ġ é£Ł", + "Ġé£ Ł", + "ĠL Ãłm", + "ĠÚ¯ ست", + "ĠТ ип", + "ĠТи п", + "θ ι", + "á vis", + "áv is", + "ÙIJ ب", + "åı¯èĥ½ æĢ§", + "ĠÑģем ей", + "ãĤī ãĤĮãģ¦ãģĦãĤĭ", + "ãĤīãĤĮ ãģ¦ãģĦãĤĭ", + "ãĤīãĤĮãģ¦ ãģĦãĤĭ", + "ìĥģ íĴĪ", + "Ġ οÏħ", + "Ġο Ïħ", + "Ġà¤ħà¤Ĺ स", + "о лом", + "ол ом", + "оло м", + "γ ον", + "γο ν", + "ĠÑģв ÑıÑī", + "ĠÑģвÑı Ñī", + "æĵ ¦", + "Ïĥ ÏĦηκε", + "ÏĥÏĦη κε", + "èĢħ çļĦ", + "- à¤ķ", + "ÑĤ ии", + "ÑĤи и", + "ĠвизнаÑĩ еннÑı", + "åıij åĩº", + "д аÑħ", + "да Ñħ", + "ĠмоÑĢ Ñı", + "Ġмо ÑĢÑı", + "æī¾ åΰ", + "ÙĦ ÙĪØ¨", + "ÙĦÙĪ Ø¨", + "èĬ Ļ", + "ĠÑĦак ÑĤ", + "æ¯į 亲", + "id lo", + "idl o", + "ĠSt ad", + "ĠSta d", + "Ñį й", + "ìĽIJ ìĿ´", + "à¤ı न", + "æķ´ 个", + "Ġf ık", + "ĠÙħ ات", + "ĠÙħا ت", + "ÏĢ Î¿Î½", + "ÏĢο ν", + "Ġê²½ 기ëıĦ", + "Ġ경기 ëıĦ", + "Ġα δ", + "Ġvz pom", + "Ġn á»ĵi", + "ĠÙĨÙĤ اط", + "ожд ение", + "Ġз алÑĸз", + "Ġзал Ñĸз", + "Ġr á»§i", + "è¾ °", + ".:.:.:.:.:.:.:.: .:.:.:.:.:.:.:.:", + "ĠM Ãľ", + "Ġk ari", + "Ġka ri", + "Ġkar i", + "ĠÑģ обÑĭ", + "ĠÑģо бÑĭ", + "ĠÑģоб Ñĭ", + "ìĸ´ ì§Ħ", + "ر ÙĬس", + "رÙĬ س", + "u bu", + "ub u", + "ĠØ® ÙĦÙģ", + "ĠØ®ÙĦ Ùģ", + "ظٹ Ø·", + "æĿ ī", + "Ġ æĻ®éĢļ", + "ĠæĻ® éĢļ", + "ĠÙħÙĪØ§Ø· ÙĨØ©", + "ĠÑģÑĤ анÑĥ", + "ĠÑģÑĤан Ñĥ", + "ĠÑģÑĤа нÑĥ", + "Ġê·¸ëħĢ ìĿĺ", + "ĠÙĦ Ùĥرة", + "ĠÙĦÙĥ رة", + "Ġo sm", + "Ġos m", + "ĠÑĥ ÑĢож", + "е га", + "ег а", + "Ġf else", + "Ġfe lse", + "Ġfel se", + "æĢĿ èĢĥ", + "ãĢĮ ãģĪ", + "Ġн овиÑħ", + "Ġнов иÑħ", + "Ġно виÑħ", + "๠IJ", + "ü ml", + "üm l", + "Ġíͼ íķ´", + "ìĿ¼ ë°ĺ", + "Ġtür ü", + "ĠмÑĸ ÑģÑĤÑĸ", + "ĠмÑĸÑģ ÑĤÑĸ", + "ĠмÑĸÑģÑĤ Ñĸ", + "Ġkažd é", + "ĠÙħس جد", + "ấ c", + "ĠÙģ Ú©ÛĮ", + "Ġ yasal", + "Ġy asal", + "Ġya sal", + "Ġyas al", + "å°± ç®Ĺ", + "ĠоблиÑĩ ÑĩÑı", + "ĠÙĦ دÙĬ", + "ĠÙĦد ÙĬ", + "ا بات", + "اب ات", + "ĠÑģп аÑģ", + "êµ° ìļĶ", + "Ġп ад", + "Ġпа д", + "Ġб ÑĢаÑĤ", + "ĠбÑĢа ÑĤ", + "éĩį 大", + "Ġdüzen lenen", + "G ün", + "Ġaplik ace", + "à¸Ń ห", + "Ġ çħ", + "Ġç ħ", + "ĠÑģоÑģÑĤ оиÑĤ", + "è¯Ħ ä»·", + "ĠD uy", + "ĠDu y", + "Ø· اÙĤ", + "ĠпÑĢид еÑĤÑģÑı", + "Ġt olik", + "Ġto lik", + "Ġtol ik", + "Ġob rov", + "Ġobr ov", + "ĠpÅĻip oj", + "Ġ Ä±ÅŁÄ±", + "Ġı ÅŁÄ±", + "Ú¯ ÙĪÛĮ", + "Ú¯ÙĪ ÛĮ", + "æľŁ å¾ħ", + "ип лом", + "Ġ ince", + "Ġin ce", + "Ġi nce", + "Ġinc e", + "ĠС об", + "ĠСо б", + "ен ÑĮÑİ", + "енÑĮ Ñİ", + "è§Ĵ èī²", + "Ġ à¸ķร", + "Ġà¸ķ ร", + "Ġb ại", + "Ġê°ĢëĬ¥ íķľ", + "ĠblÃŃ zk", + "Ġt ách", + "Ġtá ch", + "Ġtác h", + "Ġвид Ñĭ", + "Ġви дÑĭ", + "и Ñĩна", + "иÑĩ на", + "Ġvyž ad", + "ĠìĨIJ ìĿĦ", + "ĠÐĿ ÑĸмеÑĩ", + "ĠÐĿÑĸ меÑĩ", + "åŁº äºİ", + "ĠÐļ ÑĢи", + "Ġعز ÛĮز", + "t iler", + "til er", + "ti ler", + "tile r", + "е вÑĸ", + "ев Ñĸ", + "Ġmož nosti", + "Ġmožnost i", + "ب از", + "با ز", + "ĠìĤ¬ ë§Ŀ", + "Ġz ÅĻejmÄĽ", + "íĹ ¤", + "Ġürün leri", + "ĠÎł λη", + "а ки", + "ак и", + "ãĤĴ éĸĭ", + "a nou", + "an ou", + "ano u", + "åĽ½ ãģ®", + "ĠyaÅŁ anan", + "ĠyaÅŁan an", + "ĠÑģ евеÑĢ", + "Ġ æ©Ł", + "Ġæ© Ł", + "มาà¸ģ มาย", + "Ġíijľ íĺĦ", + "ร ส", + "Ġض ربÙĩ", + "Ġضر بÙĩ", + "ĠE vet", + "ĠEv et", + "ĠEve t", + "æĨ ¶", + "Ġد ÙĤÛĮÙĤ", + "ĠدÙĤÛĮ ÙĤ", + "Ġвозник нов", + "ìľł 머", + "Ġíijľ ìĭľ", + "ÛĮ Ø´ÙĨ", + "ÛĮØ´ ÙĨ", + "ãĥĹ ãĥ©", + "ÑĤ Ñİ", + "ÙĪ Ø³ÛĮ", + "ÙĪØ³ ÛĮ", + ") ìĿ´", + "è¯ģ æĺİ", + "ãģ§ãģį ãģ¾ãģĻ", + "ìĪĺ ìĿĺ", + "çĸ Ĩ", + "ĠÙħ ÙģÙĩÙĪÙħ", + "оÑĩ аÑĤкÑĥ", + "ाल à¤ķ", + "æ¡ Ĥ", + "ĠоÑħ оÑĢони", + "ĠارزÛĮ ابÛĮ", + "Ġìµľ ëĮĢ", + "Ġtho ải", + "ĠЦенÑĤ ÑĢалÑĮ", + "Ġ çķĻ", + "Ġçķ Ļ", + "à¸Ľà¸£à¸° à¹Ģà¸łà¸Ĺ", + "æµ· å¤ĸ", + "ĠÅŀ u", + "íĻľ ëıĻ", + "ĠdvÄĽ ma", + "istrov stvÃŃ", + "Ġarac ılıģıyla", + "Ġtr á»Ļn", + "» :", + "íĭ ±", + "ĠÙĦÛĮ Ú¯", + ". Ðļ", + "ĠÙħÙĤ اÛĮسÙĩ", + "Ġв мÑĸ", + "ر ÙĪØ¨", + "رÙĪ Ø¨", + "ĠاÙĦ Ø´Ùħ", + "ĠاÙĦØ´ Ùħ", + "Ġden nÄĽ", + "Ġdenn ÄĽ", + "Ñĥ Ñĩа", + "ÑĥÑĩ а", + "åħ ¹", + "Ñī им", + "Ñīи м", + "ĠíĬ¹ íŀĪ", + "ĠاستاÙĨد ارد", + "à¥Ģ ध", + "ãĤ¸ ãĤ¢", + "à¹ĩ à¹ĩ", + "иÑģ Ñģ", + "Ġkazan ç", + "ĠzÃŃsk al", + "åĽŀ æĿ¥", + "Ġп ÑıÑĤÑĮ", + "ĠпÑıÑĤ ÑĮ", + "ĠÄij ãi", + "ĠÄijã i", + "Ġ ÙĪØ±Ø¯", + "ĠÙĪ Ø±Ø¯", + "ĠÙĪØ± د", + "Ġ ìķķ", + "Ġìķ ķ", + "ุ à¸Ĺร", + "ุà¸Ĺ ร", + "åĬ¨ çī©", + "Ġp ublik", + "Ġpub lik", + "Ġpubli k", + "æĪIJ æľ¬", + "æĪIJ åijĺ", + "ãĤ¤ ãĤ¯", + "شر ÙĥØ©", + "á¿Ĩ ÏĤ", + "Ġy ola", + "Ġyo la", + "Ġyol a", + "üyor uz", + "Ġк ÑĥÑĢи", + "ĠкÑĥÑĢ Ð¸", + "ĠкÑĥ ÑĢи", + "ĠпоÑħ ож", + "Ġìłľ ê°Ģ", + "िय त", + "ائ ÙĦØ©", + "ائÙĦ Ø©", + "Ġ ãģ¾", + "़ à¥ĩà¤Ĥ", + "़à¥ĩ à¤Ĥ", + "ÑģÑĮ кими", + "ÑģÑĮк ими", + "ÑģÑĮким и", + "âĢľ ä½ł", + "imiz de", + "ìµľ ìĭł", + "Ạ¬", + "è Ł", + "à¸Ħ รà¸Ńà¸ļ", + "à¸Ħร à¸Ńà¸ļ", + "ãĢĢ ãĢĢãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢ ãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢãĢĢãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "ت غ", + "ĠVÅ¡ ech", + "à¸±à¸Ľ à¸Ķาห", + "Ġa td", + "Ġat d", + "в оÑİ", + "во Ñİ", + "Ġyap ım", + "Ġyapı m", + "olog ické", + "ologic ké", + "Ġп лен", + "Ġпл ен", + "Ġlaz ım", + "r ung", + "ru ng", + "run g", + "ìĦľ ê´Ģ", + "Ġji ný", + "Ġjin ý", + "Ġtr òn", + "Ġtrò n", + "ĠполÑĸÑĤи ки", + "ا ÙĥÙħ", + "اÙĥ Ùħ", + "دÛĮ گر", + "à¥Īà¤Ĥ .Ċ", + "à¥Īà¤Ĥ. Ċ", + "Ġ اÙĩد", + "Ġا Ùĩد", + "ĠاÙĩ د", + "Ġ ãĥį", + "Ġãĥ į", + "ĠпÑĢодÑĥк ÑĤов", + "ĠпÑĢодÑĥкÑĤ ов", + "æĤ Ł", + "ĠpÅĻÃŃpad ech", + "ĠzaÄį ala", + "ĠzaÄįal a", + "åħ¥ ãĤĮ", + "ĠÑĢÑĸв нÑĸ", + "æĦŁ æĥħ", + "ĠΧ α", + "ì £½", + "ì£ ½", + "ิà¸Ī ารà¸ĵ", + "Âł б", + "Ñĸ ÑĹв", + "ÑĸÑĹ Ð²", + "ب Ø´", + "çļĦ éĹ®é¢ĺ", + "Ġza stup", + "Ġzast up", + "볤 ìļĶ", + "ãģ§ãģĻ ãģŃ", + "âĢĮ داÙĨ", + "âĢĮد اÙĨ", + "ï¼Į æĤ¨", + "Ġu vÄĽdom", + "ãģ¦ ãĤĭ", + "ìĤ¬ ëŀĮ", + "l un", + "lu n", + "éĽĨ åIJĪ", + "ë§ ¹", + "Ġž id", + "Ġži d", + "ठĬ", + "Ġt rp", + "Ġtr p", + "л ениÑħ", + "лен иÑħ", + "ле ниÑħ", + "_ __", + "__ _", + "Ðľ Ðŀ", + "å¼ ĭ", + "λÎŃ Î¿Î½", + "ĠÄij òi", + "Ġк ÑĢок", + "lay ıcı", + "ì¶ľìŀ¥ ë§ĪìĤ¬ì§Ģ", + "åij Ī", + "éľ ŀ", + "Ġпо глÑıд", + "Ġпог лÑıд", + "ت رÙĥ", + "تر Ùĥ", + "ĠتÙģ Ø§ÙĪØª", + "Ġ å®®", + "Ġå® ®", + "ĠدÙĪØ± بÛĮÙĨ", + "æĶ¾ åľ¨", + "ĠÑģлÑĥÑĩа ев", + "ĠÑģлÑĥÑĩае в", + "ĠÏħÏĢ Î·Ïģε", + "ë§ ŀ", + "ãģĻ ãģĻ", + "ê²ł ëĭ¤", + "ราย à¸ģาร", + "ĠÏĢ Ïģιν", + "ĠÑģ меÑĪ", + "ĠÑģм еÑĪ", + "å§ ī", + "Ġvýsled ky", + "Ġpot vr", + "åıij è¡Į", + "Ġt úi", + "Ġtú i", + "ĠìĤ¬ ëĿ¼", + "ç«Ļ åľ¨", + "Ġja ký", + "Ġjak ý", + "Ġ à¸ļาà¸ĩ", + "Ġà¸ļ าà¸ĩ", + "Ġdik kate", + "Ġdikkat e", + "Ġدر Ø¢Ùħد", + "æİĴ åIJį", + "r álnÃŃ", + "rál nÃŃ", + "ê³¼ ìĿĺ", + "ä½ µ", + "о лаг", + "ол аг", + "ола г", + "is iyle", + "isi yle", + "Ġ æ½", + "Ġæ ½", + "Ġ तम", + "Ġत म", + "Ġd ij", + "Ġdi j", + "Ġnh ánh", + "ĠR ek", + "ĠRe k", + "设 æĸ½", + "ĠpodmÃŃn ek", + "å¹¶ ä¸į", + "к ÑĥÑĤ", + "кÑĥ ÑĤ", + "Ġê³ł 볤", + "çļĦ å£°éŁ³", + "æĪĺ äºī", + "д аÑı", + "да Ñı", + "Ġê´Ģ ìĭ¬", + "ĠÑĦÑĸн анÑģ", + "ĠK öy", + "ĠKö y", + "Ġж ал", + "ĠÑģлÑĥж би", + "м ена", + "мен а", + "ме на", + "ت ÙĬار", + "تÙĬ ار", + "ĠÑĩем пион", + "ÏĢ Î¹Ïĥ", + "ÏĢι Ïĥ", + "landır ma", + "mak tan", + "makta n", + "makt an", + "Ġ 丶", + "Ġä¸ ¶", + "à¹Ī à¸Ńส", + "à¹Īà¸Ń ส", + "ĠmÃ¼ÅŁ teri", + "ĠmÃ¼ÅŁter i", + "Ġص ÙĨد", + "ĠصÙĨ د", + "Ġet mesi", + "Ġetm esi", + "Ġetme si", + "Ġп оÑĢÑĤ", + "ĠпоÑĢ ÑĤ", + "ν ονÏĦαι", + "νον ÏĦαι", + "Ġ ãħĭãħĭ", + "ĠK AR", + "ĠKA R", + "Ġ uch", + "Ġu ch", + "Ġuc h", + "ĠØ® ÙĦÙĤ", + "ĠØ®ÙĦ ÙĤ", + "าษà¸İ ร", + "æŃ ¡", + "Ġи мени", + "Ġим ени", + "Ġиме ни", + "ãģł ãģijãģ©", + "ãģłãģij ãģ©", + "Ġìĭ¤ ìĭľ", + "ÏĥÏī ÏĢ", + "Ġ ì£", + "Ġì £", + "t ÄĽÅ¾", + "tÄĽ ž", + "Ġözel likleri", + "Ġözellik leri", + "Ġözellikle ri", + "Ġب Ù¾", + "Ġиз обÑĢаж", + "ÙĬÙħ ÙĥÙĨ", + "Ġ ãĥĶ", + "Ġãĥ Ķ", + "ĠÐĶ Ð¸Ð²", + "ĠÐĶи в", + "ĠØ¥ ÙĬ", + "Ùĥ ÙĬÙĦ", + "ÙĥÙĬ ÙĦ", + "ĠÅŁ ik", + "ĠÅŁi k", + "Ġà¤Ĩ à¤ĸ", + "lar ınızı", + "ların ızı", + "larını zı", + "larınız ı", + "ĠвÑĸд ÑĢÑĸз", + "ĠÑĢоб оÑĤа", + "ĠÑĢобоÑĤ а", + "Ġta rif", + "Ġtar if", + "Ġ اÙĪØª", + "Ġا ÙĪØª", + "ĠاÙĪ Øª", + "ın ma", + "é£Ł ãģ¹", + "Ġuzav ÅĻ", + "ë£ ¸", + "çĽij çĿ£", + "Ġ: ï¼¼", + "θ Ïħν", + "θÏħ ν", + "à¸Ķ ร", + "a larından", + "alar ından", + "aların dan", + "alarında n", + "èĩª æĭį", + "Ġro ÄįnÃŃ", + "ाà¤ĩ व", + "Ġ ÙĥÙĪØ±", + "ĠÙĥ ÙĪØ±", + "ĠÏĦ αιν", + "ĠÏĦα ιν", + "ĠÑĸн див", + "r ve", + "rv e", + "ĠνεÏĨ ÏİÏĥειÏĤ", + "Ġb á»ijn", + "Ġbá»ij n", + "Ġ å¿«", + "Ġå¿ «", + "ĠÑģ олÑĮ", + "ĠÑģо лÑĮ", + "ĠÑģол ÑĮ", + "li ÄŁinde", + "liÄŁi nde", + "liÄŁ inde", + "liÄŁin de", + "िन à¤Ł", + "a htar", + "ah tar", + "Ġneb ezpeÄį", + "æĹ¢ çĦ¶", + "ĠëĮĢ ìłĦ", + "ĠÙĨÚ¯Ùĩد ارÛĮ", + "ĠzÃŃsk at", + "Ġнали Ñĩие", + "ĠналиÑĩи е", + "Ġ aks", + "Ġa ks", + "Ġak s", + "ï¼ī ãĢĤĊĊ", + "ï¼īãĢĤ ĊĊ", + "ï¼īãĢĤĊ Ċ", + "Ġrod iny", + "Ġrodin y", + "Ġrodi ny", + "Ġза ÑħÑĸд", + "ĠзаÑħ Ñĸд", + "å¾® ç¬ij", + "ÂłÐĶ Ð°", + "r adu", + "ra du", + "rad u", + "ī nh", + "p les", + "pl es", + "ple s", + "ĠK ons", + "ĠKon s", + "ĠKo ns", + "ิ à¹Ĥล", + "ิà¹Ĥ ล", + "ĠاÙĦ ÙĪØµ", + "ĠاÙĦÙĪ Øµ", + "åIJ¬ åΰ", + "ĠÑģпоÑĢ ÑĤив", + "ĠÑģ айÑĤе", + "ĠÑģай ÑĤе", + "Ġ اظ", + "Ġا ظ", + "ĠØ§Ø ¸", + "lar ındaki", + "ların daki", + "larında ki", + "Ġtá»ķ n", + "ÐĿ ÐĨ", + "Ġned ost", + "ĠÑĤоÑĢ Ð³Ñĸв", + "Ġ اÛĮت", + "Ġا ÛĮت", + "ĠاÛĮ ت", + "Ġاختص اص", + "ĠÃľ y", + "ĠS adece", + "ĠSad ece", + "ĠÙħØ® رÙĪØ·", + "Ä ģn", + "Äģ n", + "ç esi", + "çe si", + "Ġ çĬ", + "Ġç Ĭ", + "ãĤĤ ãģ£ãģ¨", + "Ġ éŁĵ", + "ĠéŁ ĵ", + "èµ ĸ", + "ĠполÑĥÑĩ ениÑı", + "Ġë ĺ", + "âĢĻ ÑĹ", + "b ÃŃr", + "bÃŃ r", + "Ġб ÑĸблÑĸ", + "ĠD á»±", + "же неÑĢ", + "жен еÑĢ", + "ç½ij åĪĬ", + "Ġल à¥ľà¤ķ", + "ĠÑĥÑĩ нÑĸв", + "èĪ °", + "ĠÃĸÄŁ ren", + "Ġ ola", + "Ġo la", + "Ġol a", + "Ġ। âĢĿĊĊ", + "ระ à¹Ģà¸ļ", + "á½ ²", + "Ġ رز", + "Ġر ز", + "е и", + "еР¸", + "Ñı Ñĩи", + "ÑıÑĩ и", + "ØŃ ب", + "æĴ ¤", + "ãģ¾ãģŁ ãģ¯", + "б ина", + "би на", + "бин а", + "ĠÎł εÏģ", + "ĠоÑĤноÑģ иÑĤÑģÑı", + "åīį çļĦ", + "Ġ šť", + "ĠÅ¡ Å¥", + "Ġyıl da", + "Ġyı lda", + ": ::::|", + ":: :::|", + ":::: :|", + "::: ::|", + "::::: |", + "us til", + "ust il", + "اÙĦ Ø¥", + "ĠsouÄįas né", + "ĠÙĨÛĮ رÙĪÛĮ", + "ĠÙĨÛĮر ÙĪÛĮ", + "ĠÙĨÛĮرÙĪ ÛĮ", + "ÑĩеÑģ кое", + "Ñĩе Ñģкое", + "ظ Ùģ", + "ĠÙ¾ÛĮØ´ ÛĮÙĨÙĩ", + "Ġع Ù쨴", + "Ġrost lin", + "ç½ijåĪĬ ä¸ĭ载次æķ°", + "ĠпÑĢигоÑĤов иÑĤÑĮ", + "ãĥ Į", + "ĠÙĪ Ùħع", + "ĠÙĪÙħ ع", + "Ġb ecer", + "Ġbe cer", + "Ġbec er", + "Ġ ãĤ±", + "ĠãĤ ±", + "Ïĩ ήÏĤ", + "Ïĩή ÏĤ", + "о ÑģÑĤÑĥп", + "оÑģÑĤ Ñĥп", + "Ġë°ľ 매", + "Ñĸй ного", + "Ñĸйно го", + "Ġh rd", + "Ġhr d", + "ĠпÑĢепаÑĢа ÑĤÑĭ", + "ĠÙģ Ø±Ø¶", + "ĠÙ쨱 ض", + "ĠTy to", + "Ġ кÑĢаÑĹн", + "ĠкÑĢаÑĹ Ð½", + "Ġز اد", + "Ġikt idar", + "ì§ ĵ", + "Ùij ر", + "ÑĢÑı дÑĥ", + "ÑĢÑıд Ñĥ", + "к Ñĸй", + "кÑĸ й", + "âĶ £", + "Ġко жи", + "Ġкож и", + "Ġت ازÙĩ", + "Ġتا زÙĩ", + "o bec", + "ob ec", + "obe c", + "in ae", + "ina e", + "Ġvyj ád", + "Ġ رÙģØªÙĩ", + "Ġر ÙģØªÙĩ", + "ĠرÙģØª Ùĩ", + "ĠرÙģ ØªÙĩ", + "Щ о", + "ĠBy lo", + "ĠByl o", + "оÑĤ в", + "ĠденÑĮ ги", + "é§ Ĩ", + "Ġма ÑĪин", + "ĠмаÑĪ Ð¸Ð½", + "ĠмаÑĪи н", + "ĠØ£ ج", + "ì´Ī ëĵ±íķĻêµIJ", + "dı ģında", + "dıģı nda", + "dıģ ında", + "б аÑģ", + "ба Ñģ", + "Ġ æł¹", + "Ġæł ¹", + "ÎijÎĿ Τ", + "ÙĴ ØŃ", + "Ġjejich ž", + "ìĹIJìĦľ ìĿĺ", + "Ġад же", + "Ġì ı", + "Ïĥ οÏħ", + "Ïĥο Ïħ", + "et leri", + "etler i", + "Ġبعد ÛĮ", + "Ġبع دÛĮ", + "ĠìŀIJëıĻ ì°¨", + "ิà¸į à¸į", + "Ġt isk", + "Ġti sk", + "ãĥ¼ ãĤ¹ãĥĪ", + "ãĥ¼ãĤ¹ ãĥĪ", + "Ġमत लब", + "ê³Ħ íļį", + "ãĤ¦ ãĥĪ", + "Ġ à¹Ģมà¸ķร", + "Ġà¹Ģม à¸ķร", + "Ġop siyon", + "Ġops iyon", + "ĠÑĢав но", + "ĠبÛĮ ÙħÙĩ", + "ĠبÛĮÙħ Ùĩ", + "Ġ먼 ìłĢ", + "иÑĤелÑĮ нÑĭм", + "ĠнÑĸ би", + "Ġде ÑģÑıÑĤ", + "ĠдеÑģÑı ÑĤ", + "ĠÑģиÑĤÑĥа ÑĨии", + "еÑĢ ÑĪе", + "еÑĢÑĪ Ðµ", + "Ä ¾", + "ุ à¸ķร", + "ุà¸ķ ร", + "Ġyönet imi", + "Ġyönetim i", + "éIJ ĺ", + "ĠÙħÛĮ تÙĪØ§ÙĨ", + "Ġز ÙĨدÙĩ", + "ĠزÙĨ دÙĩ", + "ĠزÙĨد Ùĩ", + "ãĥŃ ãĥ³", + "ĠK BS", + "ĠKB S", + "ìĦľ ë¹ĦìĬ¤", + "ï» ł", + "eck ého", + "ecké ho", + "ĠÙĤابÙĦ ÛĮت", + "ĠÙĤاب ÙĦÛĮت", + "ãĢĤ ä»Ĭ", + "ÃŃ nÄĽ", + "ÃŃn ÄĽ", + "ĠÑģм ог", + "ĠÑģл ÑĭÑĪ", + "ÙĴ Ùģ", + "po ÅĻád", + "елÑĮ но", + "Ġεί Ïĩαν", + "-ÐŁ еÑĤеÑĢб", + "ĠCh iến", + "ĠChi ến", + "é ry", + "ér y", + "ĠÑĸн ÑģÑĤиÑĤÑĥÑĤ", + "ç»Ĩ èĥŀ", + "Ñĭ ÑŁN", + "Ġv ua", + "Ġvu a", + "Ġà¤ħ श", + "ÑĢоÑģ ÑĤо", + "ÑĢоÑģÑĤ о", + "Ġvů Äįi", + "ë ¿IJ", + "Ġl iá»ĩt", + "Ġíķ µ", + "Ġ اÙ쨱", + "Ġا Ù쨱", + "ĠاÙģ Ø±", + "ĠTek nik", + "Ġr oli", + "Ġro li", + "Ġrol i", + "Ġпоп ÑĭÑĤ", + "аÑĤ кÑĸв", + "Ġün iversit", + "аÑĤ оÑĢÑĭ", + "аÑĤоÑĢ Ñĭ", + "аÑĤо ÑĢÑĭ", + "ÑİÑīиÑħ ÑģÑı", + "Ġت ض", + "лÑİ ÑĩаеÑĤÑģÑı", + "лÑİÑĩ аеÑĤÑģÑı", + "лÑİÑĩа еÑĤÑģÑı", + "Ġíĸī ë³µ", + "Ġayrıntı lı", + "ĠкиÑĢ Ð¿", + "æĭ ¼", + "ëģ Ķ", + "л аÑĤа", + "ла ÑĤа", + "лаÑĤ а", + "Ġkho án", + "Ġhâl â", + "Ïĥ Ïħ", + "ог лаÑģ", + "æİ¥ çĿĢ", + "éĿ© åij½", + "Ġp ÅĻeb", + "ĠpÅĻ eb", + "ĠpÅĻe b", + "à¹Ģà¸ī ล", + "ĠاÙĦÙħÙĦ ÙĦÛĮ", + "åł Ĩ", + "íı IJ", + "à¸ķล à¸Ńà¸Ķ", + "° С", + "ìĤ¬ ëŀij", + "Ġг иб", + "ë²Ī 째", + "æĶ¹ åıĺ", + "表 çݰ", + "и ÑĩеÑģким", + "иÑĩеÑģ ким", + "иÑĩеÑģки м", + "สม à¹Ģà¸Ķ", + "å±ħ æ°ij", + " Ľ", + "ĠìķĦìĿ´ ëĶĶ", + "ĠмеждÑĥ наÑĢод", + "Ġy em", + "Ġye m", + "Ġm ül", + "Ġmü l", + "Ġا ÛĮست", + "ĠاÛĮ ست", + "Ġ ãĥ´", + "Ġãĥ ´", + "ัà¸Ļ à¹Ħà¸Ķ", + "à¥Ģ ण", + "åħ¶ å®ŀ", + "Ġgel enek", + "Ġgele nek", + "Ġgelen ek", + "ë¶ģ ëıĦ", + "à¹ī าà¸ķ", + "à¹īา à¸ķ", + "Ġ ìī¬", + "Ġìī ¬", + "Ġ ÏĢÎŃ", + "ĠÏĢ ÎŃ", + "ĠÙĥ اÙħÙĦ", + "ĠÙĥاÙħ ÙĦ", + "Ġتع ÙħÛĮر", + "è¨ ´", + "ë¹ Ļ", + "iy im", + "iyi m", + "å° ¿", + "éĤ£ æł·", + "êµŃ ìĿĺ", + "ãģĹãģ¦ ãģĬãĤĬ", + "Ġ niž", + "Ġn iž", + "Ġni ž", + "Ġκ ον", + "Ġκο ν", + "à¹Ī าà¸Ń", + "à¹Īา à¸Ń", + "Ġ γε", + "Ġγ ε", + "ĠС евеÑĢ", + "edi álnÃŃ", + "ãģŁãģ¡ ãģ®", + "m ayacak", + "may acak", + "maya cak", + "Ñ Ļ", + "ĠÑĥ гл", + "ĠÑĥг л", + "Ġk apas", + "Ġka pas", + "Ġkap as", + "Ñĥв алиÑģÑı", + "Ñĥва лиÑģÑı", + "Ñĥвали ÑģÑı", + "ĠмеÑģÑı ÑĨа", + "á» ¯u", + "ữ u", + "ิ ลล", + "ิล ล", + "ãĤĪãĤĬ ãĤĤ", + "à¥ĩ ण", + "à¥ĩठ£", + "Ġ 客", + "Ġå® ¢", + "ĠdeÄŁ erli", + "ĠdeÄŁer li", + "ÙĪ Ø§Ø²", + "ÙĪØ§ ز", + "ี à¸Ńย", + "ีà¸Ń ย", + "Ġ åıĪ", + "Ġåı Ī", + "Ġ à¸Ķร", + "Ġà¸Ķ ร", + "ĠÙĨ اب", + "ĠتÙĦÙĪÛĮزÛĮ ÙĪÙĨ", + "Ġol anlar", + "Ġolan lar", + "ä¼ĺ ç§Ģ", + "Ùĥ اÙĦ", + "ĠдеÑģÑı ÑĤи", + "ĠдеÑģÑıÑĤ и", + "m án", + "má n", + "ĠÑĢ Ð°Ð½ÑĮ", + "ĠÑĢа нÑĮ", + "ĠÑĢан ÑĮ", + "Ġìłľ ì¶ľ", + "è³ ¢", + "а бо", + "аб о", + "Ġtechn ik", + "Ġtech nik", + "ĠK iá»ĥm", + "ĠKi á»ĥm", + "t eki", + "te ki", + "tek i", + "á ¹", + "Ġm nÄĽ", + "Ġmn ÄĽ", + "Ġê³µ ê°Ħ", + "ĠM ek", + "ĠMe k", + "Ġاع تÙħاد", + "à¹Į à¹Ħà¸Ķ", + "ε ÏģÏĮ", + "εÏģ ÏĮ", + "ĠÑĥд аÑĢ", + "ĠÑĥда ÑĢ", + "оÑĩ ÑĮ", + "æ¦Ĥ 念", + "ÑĢ Ð°Ð»", + "ÑĢаР»", + "ÑĢа л", + "алÑĮ нÑĭми", + "алÑĮнÑĭм и", + "à¥ģर स", + "r áci", + "rá ci", + "Ġ ÙĤÙĪÙĦ", + "ĠÙĤ ÙĪÙĦ", + "Ġद व", + "ĠпÑĢав да", + "Ġ å¿ħ", + "Ġå¿ ħ", + "Ġdos ud", + "нÑĥ ÑĤÑĮÑģÑı", + "нÑĥÑĤÑĮ ÑģÑı", + "N Äĥm", + "à¸ĺ à¸Ļ", + "Ġdok un", + "Ġ åľ¨çº¿", + "Ġåľ¨ 线", + "ู à¹Ħ", + "ụ y", + "Ġн овÑĭÑħ", + "Ġнов ÑĭÑħ", + "Ġmez un", + "ĠC ần", + "à¸ģาร à¸ŀ", + "ĠìĺĪ ìłķ", + "Ïĥ ή", + "à¹Īà¸Ļ à¹Ģà¸ģม", + "ĠÙĪ Ø§ÙĦس", + "ĠÙĪØ§ÙĦ س", + "ĠÙĪØ§ ÙĦس", + "ãĥ³ ãĥĨãĤ£", + "ãĥ³ãĥĨ ãĤ£", + "çľĭ è§ģ", + "Ġس اÙĦÙħ", + "ĠساÙĦ Ùħ", + "ĠбагаÑĤÑĮ оÑħ", + "ĠÄij Ãłi", + "Ġد ستÛĮ", + "Ġدست ÛĮ", + "Ġدس تÛĮ", + "à¸ŀ à¸Ń", + "еп ÑĤи", + "ĠìłĦ íĻĶ", + "æĻĤ ãģ«", + "ĠSe znam", + "ĠSez nam", + "мÑĸ нÑĥ", + "мÑĸн Ñĥ", + "; ?#", + "à¥Ģ सर", + "à¥Ģस र", + "ĠÚĨ ÛĮست", + "νο ια", + "νοι α", + "ั à¸Ļà¸Ń", + "ัà¸Ļ à¸Ń", + "Ġ à¸Ħำ", + "Ġà¸Ħ ำ", + "Ġë³´ íĺ¸", + "Ġid dia", + "Ġiddi a", + "Ġβ ιβ", + "é«ĺ ä¸Ń", + "Ù ¨", + "ÐĴ аж", + "ĠиÑģп олн", + "ÑĪ ÑĤов", + "ÑĪÑĤ ов", + "ĠT aÅŁ", + "ĠTa ÅŁ", + "ìĽ ħ", + "åĬ ¹", + "Ġ åıĥ", + "Ġåı ĥ", + "Ġprost oru", + "Ġprostor u", + "ĠÑģп ад", + "е ÑĢина", + "еÑĢ Ð¸Ð½Ð°", + "еÑĢи на", + "еÑĢин а", + "ĠpÅĻek lad", + "ĠpÅĻe klad", + "Å¡ ov", + "ĠÙģ ÙĩÙħ", + "ĠÙģÙĩ Ùħ", + "æĬ ij", + "Ġابت دا", + "Ġابتد ا", + "ãĤĴ ãģĬ", + "l ikler", + "lik ler", + "likle r", + "ĠÙħ اÙĥ", + "ĠÙħا Ùĥ", + "Ġko nut", + "Ġkon ut", + "Ġkonu t", + "ĠداÙĨØ´ جÙĪÛĮ", + "Ġоп ÑĤим", + "Ġб Ñĥма", + "ĠбÑĥ ма", + "ĠлÑİд Ñıм", + "Ġл Ñĸка", + "ĠлÑĸ ка", + "ĠлÑĸк а", + "ĠÑĢоз повÑĸд", + "ĠÑĢозп овÑĸд", + "ĠÑĢозпов Ñĸд", + "nes enÃŃ", + "Ġ à¸łà¸²à¸ŀ", + "Ġà¸ł าà¸ŀ", + "и Ñĩний", + "иÑĩ ний", + "ا Ø·ÙĦ", + "اط ÙĦ", + "Ñİ Ñīими", + "ÑİÑī ими", + "ÑİÑīим и", + "ãģı ãģ¨", + "éŃ ¯", + "ĠجÙĨ سÛĮ", + "Ðĺ Т", + "र ल", + "ĠÚ©ÙĪØ¯ Ú©", + "о лиÑĤ", + "ол иÑĤ", + "оли ÑĤ", + "ĠÑģÑĤÑĢÑĥкÑĤÑĥ ÑĢ", + "ve kili", + "vek ili", + "Ġब य", + "Ġgel miÅŁ", + "िर फ", + "Ġнай кÑĢа", + "ĠÐĶж он", + "Ġ ãĥĹãĥŃ", + "ĠãĥĹ ãĥŃ", + "ĠyaÅŁ lı", + "Ġkar Ä±ÅŁtır", + "ĠkarÄ±ÅŁ tır", + "ĠvÄĽtÅ¡ inou", + "Ġvaz geç", + "à¹ī าà¸Ħ", + "à¹īา à¸Ħ", + "lendir me", + "Ġ ç¨ĭ", + "Ġç¨ ĭ", + "说 è¯Ŀ", + "ĠíķĦìļĶ íķľ", + "aÅĻ ilo", + "Ġle žÃŃ", + "ĠAmer ikan", + "ĠAmerika n", + "ĠAmerik an", + "ãĤĦ ãģĻ", + "va jÃŃcÃŃ", + "vajÃŃ cÃŃ", + "ÐĿ Я", + "ĠìĹĦ ë§Ī", + "Ġ åĥ", + "Ġå ĥ", + "r ál", + "rá l", + "Ġç ay", + "Ġça y", + "tu ÄŁ", + "ุà¸į าà¸ķ", + "ĠÑģ лив", + "ĠÑģл ив", + "ν οÏħ", + "νο Ïħ", + "ĠO v", + "ĠC HP", + "ĠCH P", + "ĠZe mÄĽ", + "ĠZem ÄĽ", + "ĠÄįesk ý", + "ĠÄįe ský", + "ĠTh ánh", + "иÑĤелÑĮ ноÑģÑĤÑĮ", + "иÑĤелÑĮно ÑģÑĤÑĮ", + "æĦı ä¹ī", + "à¥įरम ण", + "Ġди амеÑĤ", + "Ġk lin", + "Ġkl in", + "Ġkli n", + "Ġ کرÛĮ", + "ĠÚ© رÛĮ", + "Ġکر ÛĮ", + "ãģ§ãģ¯ ãģªãģı", + "飯 åºĹ", + "Ġk ênh", + "Ġkê nh", + "ĠÑĢанÑĮ ÑĪе", + "ãĤĴ ãģĹãģŁ", + "ĠпÑĢи боÑĢ", + "ĠпÑĢиб оÑĢ", + "Ġà¤ĸ तर", + "Ġ yu", + "Ġy u", + "é§ IJ", + "ĠÑĢ Ð°Ð±Ð¾", + "ĠÑĢа бо", + "ĠÑĢаб о", + "ĠС ÐłÐ¡Ðł", + "èĬ ¬", + "ž ila", + "ži la", + "žil a", + "еÑĢ ÑĤа", + "еÑĢÑĤ а", + "и ÑģÑĤÑĢа", + "иÑģ ÑĤÑĢа", + "иÑģÑĤ ÑĢа", + "Ġкни ги", + "ĠFranc ie", + "ĠFran cie", + "ĠÚĺ Ø§Ù¾", + "ĠÎļ οÏħ", + "ĠÎļο Ïħ", + "ัว à¹Ģà¸Ńà¸ĩ", + "Ġl ắng", + "Ġ нами", + "Ġн ами", + "Ġна ми", + "Ġнам и", + "Ġпод ой", + "д ÑĢом", + "дÑĢ Ð¾Ð¼", + "o bus", + "ob us", + "ÐĴ Ñĸн", + "Ġst alo", + "Ġsta lo", + "Ġstal o", + "Ġà¤ı à¤ľ", + "ĠL inh", + "ĠLin h", + "ĠLi nh", + "ebilir iz", + "Ġзав ÑĤÑĢа", + "μ εÏģο", + "με Ïģο", + "μεÏģ ο", + "Ġ ÎŃν", + "ĠÎŃ Î½", + "ÑıÑĤ но", + "Ġд оÑĢож", + "Ġдо ÑĢож", + "ĠдоÑĢ Ð¾Ð¶", + "åıĤ çħ§", + "Ïĥ ιο", + "Ïĥι ο", + "à¹ī à¹Ģà¸ģ", + "a ných", + "an ých", + "aný ch", + "ç· ł", + "Ġ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢãĢĢ", + "ĠãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢãĢĢ ãĢĢ", + "åĬĽ çļĦ", + "ĠS ır", + "ĠSı r", + "Ġ ì§ĢëıĦ", + "Ġì§Ģ ëıĦ", + "ç· Ĭ", + "ĠpoÄį tu", + "ï¼Į ä¸İ", + "ä¸ĸ ç´Ģ", + "ем ого", + "емо го", + "Ġhus us", + "Ġhu sus", + "Ġölçü de", + "Ġtr ục", + "Ġtrụ c", + "à¸Ľà¸¥ à¸Ńà¸Ķà¸ł", + "Âłp ÅĻÃŃ", + "ĠBöl gesi", + "м ом", + "мо м", + "ãģ« ãģ¦", + "Ġ쪽 ì§Ģ", + "ÄĽt Å¡", + "ĠìĦ± ê³µ", + "र त", + "ur du", + "urd u", + "ĠìĽĢ ì§ģ", + "ÑŁ ÐŃ", + "nÃŃ kem", + "nÃŃk em", + "ĠskuteÄį nosti", + "Ġ даÑĤ", + "Ġд аÑĤ", + "Ġда ÑĤ", + "n eum", + "ne um", + "ĠÑĤаб леÑĤ", + "j vu", + "Ġs edm", + "Ġse dm", + "Ġsed m", + "س ÙĬØ©", + "سÙĬ Ø©", + "ĠкоÑĢ Ð¾Ð±", + "Ġко ÑĢоб", + "em mel", + "emm el", + "emme l", + "ãģ¤ ãģij", + "é¦Ļ èķī", + "Ġشخص ÛĮت", + "ĠشخصÛĮ ت", + "ä¸Ĭ äºĨ", + "ÙĪ Ø±Ø§", + "ÙĪØ± ا", + "ĠаÑĤ моÑģ", + "Ġ лей", + "Ġл ей", + "Ġz prav", + "Ġzp rav", + "Ġëķ ħ", + "ู à¸Ĺ", + "Ġ اسر", + "Ġا سر", + "Ġاس ر", + "ĠAy dın", + "ĠعÙħ ÙĦÙĬØ©", + "ĠعÙħÙĦ ÙĬØ©", + "Ġд ÑĸÑĶ", + "ĠдÑĸ ÑĶ", + "Ġd ök", + "Ġdö k", + "Ġफ ल", + "ĠìĤ¬ëŀĮ ëĵ¤ìĿ´", + "ĠнаÑĤÑĥ ÑĢалÑĮ", + "æŁ ľ", + "温 度", + "Ġk les", + "Ġkl es", + "Ġkle s", + "Ġин веÑģÑĤи", + "s üz", + "æĴ °", + "Ġ ãĤ¢ãĥ«", + "ĠãĤ¢ ãĥ«", + "Ġ èĴ", + "Ġè Ĵ", + "ад ки", + "Ġk lÃŃÄį", + "Ïĩ εί", + "Ïĩε ί", + "ĠTh iết", + "ĠThi ết", + "ĠسرÛĮ ع", + "ĠÏĢεÏģιο Ïĩή", + "ÙĪ ÙĤÙģ", + "ÙĪÙĤ Ùģ", + "Ïģ ÏīÏĥη", + "ÏģÏī Ïĥη", + "ĠسÙĦ اÙħت", + "ĠسÙĦاÙħ ت", + "ëĵ¤ ëıĦ", + "ĠveÅĻej né", + "Ġvi tam", + "Ġvit am", + "Ġvita m", + "ĠبازÛĮ گر", + "ĠÑĢеÑĨеп ÑĤ", + "ĠìľĦ íķ´ìĦľ", + "ĠìľĦíķ´ ìĦľ", + "ĠØ£Ùĥ بر", + "Ġk üt", + "Ġkü t", + "민 주", + "Ġté ž", + "Ġ å¼ķ", + "Ġå¼ ķ", + "ÑĩаÑģ но", + "çļĦ åľ°", + "Ġarchit ekt", + "Ġбак ÑĤеÑĢ", + "Ġ ãģį", + "Ġ одеÑĢж", + "Ġо деÑĢж", + "Ġод еÑĢж", + "Ġتج ارÛĮ", + "éĿ Ī", + "Ġre cep", + "Ġrec ep", + "Ġrece p", + "é© ¶", + "Ġد ÙĩÙĩ", + "ĠدÙĩ Ùĩ", + "è² Į", + "çµIJ å©ļ", + "ılı ç", + "ãģĭãĤī ãģ¯", + "å¿ĥ éĩĮ", + "æĬķ è³ĩ", + "è² Ŀ", + "ĠкÑĥлÑĮÑĤÑĥ ÑĢÑĭ", + "ĠкÑĥлÑĮÑĤÑĥÑĢ Ñĭ", + "Ġ å°ij", + "Ġå° ij", + "à¹ģ à¸ŀร", + "à¹ģà¸ŀ ร", + "γ κÏĮ", + "γκ ÏĮ", + "ar ım", + "arı m", + "Ġاس اسÛĮ", + "Ġاساس ÛĮ", + "Ġposled nÃŃch", + "ĠposlednÃŃ ch", + "ĠÙħ ÙħÙĨ", + "ĠÙħÙħ ÙĨ", + "Ġпоз иÑĤив", + "Ġпози ÑĤив", + "ìł ¤", + "Ñĥ вавÑģÑı", + "Ñĥв авÑģÑı", + "Ñĥва вÑģÑı", + "Ñĥвав ÑģÑı", + "Ġجز ئ", + "ìĿ´ ìŀIJ", + "Ġин ÑģÑĤÑĢÑĥк", + "Ġη λεκ", + "Ġde mir", + "Ġdem ir", + "Ġdemi r", + "ä¸Ńæĸĩ åŃĹå¹ķ", + "Ġعاش ÙĤ", + "Ġب اÙĦÙĤ", + "Ġبا ÙĦÙĤ", + "ĠباÙĦ ÙĤ", + "Ġ maz", + "Ġm az", + "Ġma z", + "ά νι", + "άν ι", + "Ġ dÃ¼ÄŁ", + "Ġd Ã¼ÄŁ", + "Ġdü ÄŁ", + "Ġ κÏģα", + "Ġκ Ïģα", + "ĠбÑĥд ÑĤо", + "ç¦ı åĪ©", + "ĠпÑĢед назнаÑĩ", + "Ùħ ÙĦØ©", + "ÙħÙĦ Ø©", + "ĠбÑĥд инкÑĥ", + "Å¥ an", + "íķ Ģ", + "ç´¹ ä»ĭ", + "Ú© ز", + "ĠкаÑĦ ед", + "ãģ« è¦ĭ", + "าà¸ķร à¸IJาà¸Ļ", + "ë¡ľ ëĬĶ", + "i vÄĽ", + "iv ÄĽ", + "èĥ½ æºIJ", + "ï¼Į åħ¨", + "ĠÑĥ див", + "ĠÑĥд ив", + "Ġë§Į ëĤĺ", + "ÐĴ ÐIJ", + "ĠG ür", + "ĠGü r", + "ĠдÑĢÑĥг им", + "Ïĥ Ïį", + "Ġ oÄŁlu", + "ĠoÄŁ lu", + "Ġê°Ģ ê¹Į", + "ĠзнаÑĩ иÑĤелÑĮно", + "ĠзнаÑĩиÑĤ елÑĮно", + "о зÑĸ", + "оз Ñĸ", + "Ġm á»±c", + "ĠB eÅŁ", + "ĠBe ÅŁ", + "Ġ jezd", + "Ġje zd", + "á vÄĽ", + "áv ÄĽ", + "ÏĦη Ïĥε", + "ãģ¦ãģĦ ãģªãģĦ", + "ĠСв ÑıÑĤ", + "Ġम श", + "ĠΤ οÏħ", + "ĠΤο Ïħ", + "声 ãĤĴ", + "ĠÑģам ое", + "ĠÑģамо е", + "Ġ åĮº", + "ĠåĮ º", + "ĠìĤ¬ëŀĮ ìĿĢ", + "ĠÙħ ÙĦت", + "ĠÙħÙĦ ت", + "Ġj oker", + "Ġjo ker", + "Ġjoke r", + "Ġne ob", + "Ġneo b", + "ĠÑĤ ака", + "ĠÑĤак а", + "ĠÑĤа ка", + "ĠÙĩ ÙģØª", + "Ġδε δο", + "ĠзаÑħ оп", + "ĠاÙĦÙħ خت", + "ез да", + "езд а", + "Ġíķľ ë²Ī", + "Ġع اÙħØ©", + "ĠعاÙħ Ø©", + "Ġdo state", + "Ġdost ate", + "Ġdostat e", + "Ġp lav", + "Ġpl av", + "Ġpla v", + "楽 ãģĹ", + ".;.; .;.;", + "в аÑĶ", + "ва ÑĶ", + "Ġbụ i", + "ĠÄij ỡ", + "ĠÄijá» ¡", + "Ġmys lÃŃ", + "Ġmysl ÃŃ", + "ĠÙĨ ار", + "Ġn út", + "Ġм ала", + "Ġмал а", + "Ġма ла", + "Τ Ρ", + "ĠاÙĦرÙħ زÙĬØ©", + "la dım", + "lad ım", + "ladı m", + "ä¸Ģ ç·Ĵ", + "ĠiÅŁ ç", + "l ivé", + "li vé", + "liv é", + "르 ê²Į", + "ан наÑı", + "ظËĨ Ø·", + "Ġd ừng", + "ÙĦÙĥ تر", + "çŃĶ æ¡Ī", + "ĠÙħÙĪÙĤع ÛĮت", + "ĠÑĸн озем", + "ĠиÑģ Ñĩ", + "Ġнеп ÑĢавилÑĮ", + "b akan", + "ba kan", + "bak an", + "Ġ çīĪ", + "Ġçī Ī", + "ен нÑİ", + "à¸ĩ à¹Ģศ", + "à¸Ħวาม à¸Ħ", + "% .Ċ", + "%. Ċ", + "à¹Ī à¹Ģà¸Ľ", + "ĠØ¢ بÛĮ", + "Ġآب ÛĮ", + "Ġst áty", + "Ġstát y", + "Ġتر تÛĮب", + "Äįem ž", + "Ġ é¹", + "Ġé ¹", + "Ġ Ù쨧ÙĦ", + "ĠÙģ Ø§ÙĦ", + "Ġbelir len", + "ĠâĨ ĺ", + "èĩ³ å°ij", + "ĠBun lar", + "Ġ ä¸ĵ", + "Ġä¸ ĵ", + "ĠÙħØŃ اس", + "ĠìĦľ ë²Ħ", + "Ġc anh", + "Ġcan h", + "Ġca nh", + "ĠпÑĢоÑĤ Ñıж", + "ĠнÑĸ меÑĨÑĮ", + "à¥Īà¤ł à¤ķ", + "ëĭ ī", + "Ġна неÑģ", + "Ġвоз ÑĢаÑģÑĤа", + "ĠвозÑĢаÑģÑĤ а", + "Ġ[â̦ ]Ċ", + "Ġ[â̦] Ċ", + ". à¸ŀ", + "ิ ศาสà¸ķร", + "ิศ าสà¸ķร", + "çģ ½", + "ê°Ļ ìĿĢ", + "ล à¸ĩà¸Ĺ", + "ลà¸ĩ à¸Ĺ", + "ãĤ± ãĥ¼ãĤ¹", + "Ġ ãĤ¢ãĤ¤", + "ĠãĤ¢ ãĤ¤", + "Ñģ Ñİ", + "ĠÙĦ ر", + "ãģĭ ãģ£ãģ¦", + "Ġ기 ë°ĺ", + "Ġ !:", + "Ġ! :", + "ĠÑģ ÑĬ", + "Ġ Ø´ÙĨاسÛĮ", + "ĠØ´ÙĨ اسÛĮ", + "ĠØ´ÙĨاس ÛĮ", + "ĠìķĦ 침", + "Ġعب اس", + "Ġ à¸ķà¸Ńà¸Ļ", + "Ġà¸ķ à¸Ńà¸Ļ", + "ĠмеÑĤал ли", + "ÑĪ Ð¸Ð»Ð°", + "ÑĪи ла", + "Ġpod rob", + "Ġpodr ob", + "ÑĸÑģ но", + "Ġ 赤", + "Ġèµ ¤", + "c iler", + "ci ler", + "cil er", + "o zem", + "oz em", + "oze m", + "ĠоÑģнов нÑĭÑħ", + "Âł à¤ķ", + "à¸ĸ à¸Ļà¸Ļ", + "ан ÑĤаж", + "анÑĤ аж", + "анÑĤа ж", + "ĠD ÃŃky", + "Ġگذ ارÛĮ", + "æľº ä¼ļ", + "οÏħ λίοÏħ", + "οÏħλ ίοÏħ", + "оÑĩ ек", + "Ġнап иÑĤ", + "ĠبÛĮØ´ ترÛĮ", + "ĠبÛĮشتر ÛĮ", + "ä¾ į", + "ĠاÙĦ ÙħÙħ", + "ĠاÙĦÙħ Ùħ", + "ÙĪØ² ÙĬع", + "Ġgöz lem", + "è°ĥ æķ´", + "Âłm iles", + "Âłmi les", + "Ġk oc", + "Ġko c", + "ัà¸į ห", + "æ³ ³", + "ĠÎij γγ", + "ĠÎijγ γ", + "ĠÙĨÙħ از", + "ุ à¸Ĺ", + "ãĥı ãĤ¤", + "Ġth ù", + "к ÑĥлÑı", + "кÑĥ лÑı", + "кÑĥл Ñı", + "ĠпÑĥÑĤ ем", + "èĩº çģ£", + "Ġver gi", + "Ġverg i", + "åł´åIJĪ ãģ¯", + "ĠÑĤÑĢÑĮ оÑħ", + "Ġë³´ ë©´", + "âĸ ²", + "Ïħ γ", + "ĠдоÑĤ ÑĢим", + "æľ µ", + "Ġum ÄĽnÃŃ", + "èī¯ ãģĦ", + "Âł à¸Ļาà¸ĩ", + "Ðİ ÑĭÑŁN", + "ä¸ī 个", + "ียร à¸ķ", + "ï¼Į åIJĮæĹ¶", + "ĠÑĢозÑĢаÑħ Ñĥн", + "ĠD ers", + "ĠDe rs", + "ĠDer s", + "ãģª ãģ®", + "Ġê·¸ 를", + "d ikleri", + "dik leri", + "Ġhay ata", + "Ġhaya ta", + "Ġhayat a", + "è§Ħ èĮĥ", + "ç»ĵ åIJĪ", + "Ġs cé", + "Ġsc é", + "Ġc Æ¡m", + "ĠcÆ¡ m", + "åѸ éĻ¢", + "ĠÐĦ в", + "ĠÄįlán ek", + "ĠдоÑģÑĤ иг", + "ĠдоÑģÑĤи г", + "ा à¤ĩस", + "ाà¤ĩ स", + "εÏħ Ïĥη", + "éģ© ç͍", + "Ïĥ ον", + "Ïĥο ν", + "ıl maktadır", + "ëªħ ìĿĦ", + "ı b", + "Ġstar Å¡ÃŃ", + "Ġch ÃŃn", + "ĠchÃŃ n", + "ä¸Ģ 个人", + "ä¸Ģ个 人", + "ĠFranti Å¡ek", + "n ÄĽji", + "nÄĽ ji", + "ï» ¨", + "ĠÙĦÙĦ د", + "Ġp okoj", + "Ġpok oj", + "Ġj ih", + "Ġji h", + "ãĢį ãĢĤ", + "Ġعبد اÙĦ", + "ãĤĵãģ§ ãģĦãĤĭ", + "Ġмод елÑĮ", + "ĠteÅŁ kil", + "ĠÄĮ er", + "à¹Ģà¸Ķ à¸Ńร", + "' na", + "'n a", + "λο γή", + "λογ ή", + "Ġ kola", + "Ġk ola", + "Ġko la", + "Ġkol a", + "ãĥĢ ãĥ¼", + "иÑĤ елем", + "иÑĤе лем", + "ĠÏĥÏħ νο", + "ĠÏĥÏħν ο", + "ĠK urum", + "ĠKur um", + "ĠKu rum", + "Ġsnad no", + "ĠاÙĦÙĤر Ø¢ÙĨ", + "ĠV á»ģ", + "é«ĺ ãģĦ", + "Ġyıl dız", + "Ġbir isi", + "Ġbiri si", + "Ġkh úc", + "ÙĪ ÛĮÙĦ", + "ÙĪÛĮ ÙĦ", + "æľĢ ä½³", + "Ġส าà¸Ĥ", + "ĠÐŁ ок", + "ĠÐŁÐ¾ к", + "âī ł", + "à¹Ĥà¸Ľà¸£ à¹ģà¸ģรม", + "à¥įय यन", + "èij ¡", + "Ġn ovÄĽ", + "Ġno vÄĽ", + "Ġnov ÄĽ", + "ay ıp", + "ayı p", + "ĠSing ap", + "ĠSin gap", + "è° ĵ", + "ãĤ¶ ãĤ¤ãĥ³", + "Ġн овÑĭе", + "Ġнов Ñĭе", + "Ġh ảo", + "Ġ èŤ", + "ĠèĹ ¤", + "ãĥ³ ãĥĸ", + "ãĥ³ãĥ ĸ", + "Âł ĊĊ", + "ÂłĊ Ċ", + "θ εια", + "θε ια", + "Ġпоп ада", + "ĠëĶĶ ìŀIJìĿ¸", + "Ġداشت ÙĨد", + "ĠداشتÙĨ د", + "ĠØ´ÙĨ اختÙĩ", + "Ïĥ μαÏĦα", + "Ïĥμα ÏĦα", + "å¹³æĸ¹ åħ¬éĩĮ", + "Ġg öl", + "Ġgö l", + "ек оÑĤоÑĢ", + "еко ÑĤоÑĢ", + "Ġm álo", + "Ġmá lo", + "Ġاج ازÙĩ", + "Ú© اراÙĨ", + "کار اÙĨ", + "کا راÙĨ", + "ĠпÑĸдпÑĢиÑĶм ÑģÑĤв", + "ä¸ī å¹´", + "ĠسÙģ ÛĮد", + "ĠμÎŃ ÏģοÏĤ", + "ÐĻ ÐĻ", + "Ġh ư", + "س ÙĪØ¨", + "سÙĪ Ø¨", + "ĠÙĦ ذا", + "Ġnem ovit", + "Ġd ÃŃv", + "ĠdÃŃ v", + "İ s", + "¶ ¶", + "Ġph ưá»Ŀng", + "ĠÙĨØŃ ÙĪÙĩ", + "ĠÙĨØŃÙĪ Ùĩ", + "Ð ĭ", + "Ġz byt", + "Ġzb yt", + "Ġzby t", + "ed ii", + "edi i", + "n ech", + "ne ch", + "ĠадмÑĸнÑĸÑģÑĤÑĢа ÑĤив", + "Ġne vÄĽ", + "Ġnev ÄĽ", + "Ġ ож", + "Ġо ж", + "ĠÄIJ ó", + "à¸Ľà¸£à¸° ว", + "Ġvhod né", + "Ġum ÄĽl", + "ĠÑĢазлиÑĩ нÑĭе", + "ĠpÅĻi roz", + "Ġبخ Ø´ÛĮ", + "Ġبخش ÛĮ", + "ãģ® å¤§", + "ĠاÙĦ ÙĥÙĩ", + "ĠاÙĦÙĥ Ùĩ", + "ec ká", + "eck á", + "Ġzorun lu", + "ĠÐľÐ¸Ðº ола", + "Ġ amel", + "Ġa mel", + "Ġam el", + "к овÑĭе", + "ков Ñĭе", + ": :::/", + ":: ::/", + ":::: /", + "::: :/", + "ä¸įåIJĮ çļĦ", + "ĠÙĪÙĥ اÙĨت", + "ĠÙĪÙĥاÙĨ ت", + "à¸Ń à¸Ń", + "lá sil", + "ĠпÑĢедпол аг", + "ï½ ±", + "Ġ νε", + "Ġν ε", + "Ġн овÑĭй", + "Ġнов Ñĭй", + "Ġìĺģíĸ¥ ìĿĦ", + "Ġê°Ģ ì§Ħ", + "åĥ ħ", + "Y D", + "Ġب اغ", + "Ġبا غ", + "ĠØ´Ú© ست", + "Ġgü ney", + "Ġgün ey", + "и ÑģÑĮ", + "иÑģ ÑĮ", + "ãģĭ ãģªãģĦ", + "ãģĭãģª ãģĦ", + "ĠT òa", + "Ġگرد ÛĮد", + "Ġگر دÛĮد", + "ØŃ ÙĦ", + "lu vÃŃ", + "luv ÃŃ", + "v éd", + "vé d", + "Ġìĺ ·", + "Ġε ÏĢα", + "ĠεÏĢ Î±", + "ĠÑĤи ÑģÑıÑĩ", + "ĠÑĤиÑģ ÑıÑĩ", + "Ġê½ ĥ", + "ĠP US", + "ĠPU S", + "ĠдÑĥм кÑĥ", + "Ġ âĢĿĊ", + "ĠâĢĿ Ċ", + "ĠìĬ¤ íı¬ì¸ł", + "Ùĩ Ùĩ", + "Ġg ắng", + "Ġgắn g", + "ิ à¸łà¸²à¸ŀ", + "éĩĮ éĿ¢", + "br ıs", + "Ġz áb", + "Ġzá b", + "κ αÏĤ", + "κα ÏĤ", + "ĠåıĮ 线", + "ล ล", + "ĠÄIJ Ãłi", + "ĠÄIJÃł i", + "åѸ æł¡", + "ĠÑĢаÑģп ÑĢед", + "ĠÑģÑĤан еÑĤ", + "ĠÑģÑĤа неÑĤ", + "Ġл ак", + "Ġла к", + "Ġпод к", + "Ġg ören", + "Ġgö ren", + "Ġgör en", + "Ġgöre n", + "르 ê³ł", + "ĠÑĦ ÑĢÑĥкÑĤ", + "íĵ¨ íĦ°", + "ãģĻ ãĤĮãģ°", + "ãĤĴ ä½ľ", + "à¸Ńà¸Ńà¸ģ à¹ģà¸ļà¸ļ", + "Ġku lak", + "Ġkul ak", + "ĠíĶĮ ëłĪìĿ´", + "ĠØŃ دÙĬØ«", + "ĠØŃد ÙĬØ«", + "ãģĨ ãĤĵ", + "Ġм Ñĸк", + "ĠмÑĸ к", + "à¤ĩस à¤ķ", + "ĠÑĥ ÑĤоÑĩ", + "ĠÑĥÑĤ оÑĩ", + "ĠÙĥ Ø«ÙĬر", + "ĠY ine", + "ĠYi ne", + "ĠYin e", + "ัว หà¸Ļ", + "н ÑĸÑĹ", + "нÑĸ ÑĹ", + "åį ¢", + "Ñĥ Ñģлов", + "ÑĥÑģ лов", + "ìĽĮ íģ¬", + "Ġà¤ħ à¤ĸ", + "ĠÑĨ Ñĸка", + "ĠÑĨÑĸ ка", + "ìĦł ìĿĦ", + "ĠØ£ ر", + "гал ÑĤеÑĢ", + "angl icky", + "ĠÑģ оÑģÑĥд", + "ĠÑģоÑģ Ñĥд", + "ĠÑĥ Ñıв", + "ĠпÑĢодÑĥк ÑĨÑĸÑĹ", + "Ġc hua", + "Ġch ua", + "Ġchu a", + "Ġd án", + "Ġdá n", + "ाम à¤Ĺ", + "ئ ت", + "ĠФ ед", + "Ġh rom", + "Ġhr om", + "íķ´ ë³´", + "ĠØ¢ÙĨ ÙĦاÛĮÙĨ", + "- пÑĢав", + "-п ÑĢав", + "Ġì¤ijìļĶ íķľ", + "Ġв кÑĥ", + "Ġвк Ñĥ", + "Ġ 大éĺª", + "Ġ大 éĺª", + "Ġt erk", + "Ġte rk", + "Ġter k", + "Ġпод Ñĸб", + "ĠвÑĸд вÑĸд", + "à¥Į à¤Ł", + "è³ £", + "Ġب تÙĨ", + "Ġبت ÙĨ", + "Ġبع ضÛĮ", + "Ġبعض ÛĮ", + "ãģª ãģĬ", + "ä»ĸ åĢij", + "Ġtavs iye", + "ĠM ısır", + "ĠØ¥ ذ", + "Ġ æIJ", + "Ġæ IJ", + "íķĺ ëĤĺ", + "ĠÙĪ Ø®", + "ãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢĠ ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢĠãĢĢ", + "ãĢĢĠãĢĢĠãĢĢĠãĢĢĠãĢĢ ĠãĢĢ", + "Ġta kový", + "Ġtak ový", + "Ġtako vý", + "Ġबन न", + "Ġз ÑĢениÑı", + "ĠÙĪ ÙģÙĤ", + "ĠÙĪÙģ ÙĤ", + "ë¹Ħ ìķĦ", + "Ġпом ожеÑĤ", + "åĮĹ å¸Ĥ", + "dık ları", + "Ġ éĵģ", + "Ġéĵ ģ", + "Ġakt uálnÃŃ", + "Ġaktu álnÃŃ", + "Ġв в", + "ãĤĤ ãģªãģĦ", + "íĨµ ìĭł", + "ÏĦα Ïĥη", + "Ġìĥģ ëĮĢ", + "Ġ æł¡", + "Ġæł ¡", + "ãĢĤ éĤ£", + "ĠرÙĪØ³ÛĮ Ùĩ", + "Ġtelev izyon", + "å¹´ é¾Ħ", + "ĠÐijоÑĢ Ð¸Ñģ", + "리 ìĸ´", + "Ġz veÅĻej", + "ж но", + "ĠÐŀ ÑģÑĤ", + "ĠÐŀÑģ ÑĤ", + "ĠмÑĥж Ñĩин", + "Ġy eÅŁil", + "ĠСов еÑĤ", + "ĠСо веÑĤ", + "ĠB ÃĸL", + "ĠТак ож", + "Ġob nov", + "ĠпÑĢи надлеж", + "ĠвиÑģ нов", + "Ø· Ùħ", + "ĠìĹĨ ìĸ´", + "ĠM ùa", + "ä½ı å®ħ", + "åĮ» åѦ", + "Ġна ÑĢез", + "ĠнаÑĢ ÐµÐ·", + "ãĥĭ ï¾Ĩ", + "ĠM ặt", + "Ġvu ông", + "ä¸Ģ åĮº", + "ĠẢ nh", + "ÑĢ Ð¸ÑĦ", + "ÑĢи ÑĦ", + "ä¿Ŀ éĻ©", + "ĠÏĩÏģή Ïĥη", + "åIJĮ æĦı", + "Ġ æīĵ", + "Ġæī ĵ", + "e tÄĽ", + "et ÄĽ", + "ĠÙĪ Ø°ÙĦÙĥ", + "ĠÑĤ иж", + "ĠÑĤи ж", + "ĠÎŁ ικο", + "ĠÎŁÎ¹ κο", + "ĠмÑĸÑģ ÑĨÑĸ", + "ĠÑĢебен ок", + "ĠÅŀ ah", + "عÙĦ ÙĪÙħ", + "l adıģ", + "la dıģ", + "lad ıģ", + "ladı ÄŁ", + "Ġg iden", + "Ġgi den", + "Ġgid en", + "лив оÑģÑĤÑĸ", + "ливо ÑģÑĤÑĸ", + "ÙĴ س", + "ĠT HB", + "ĠTH B", + "Ġmes lek", + "Âł ÐĿе", + "ÂłÐĿ е", + "μÏĨ Ïīνα", + "Ġ ÙĪØ§Ø¬", + "ĠÙĪ Ø§Ø¬", + "ĠÙĪØ§ ج", + "на ÑģлÑĸд", + "æĺŁ æľŁ", + "ÐĶ Ð¶", + "ĠÑĢабоÑĤ аеÑĤ", + "ĠÑĢабоÑĤа еÑĤ", + "Ġs ánh", + "ìļ° ë¦¬", + "Ġا بÙĪ", + "Ġاب ÙĪ", + "çļĦ æĥħ", + "ĠìϏ êµŃ", + "Ġk abil", + "Ġka bil", + "Ġkab il", + "еÑĢв Ñĭе", + "Ġgi Ãłu", + "ĠgiÃł u", + "Ġt á»ı", + "Ġtá» ı", + "Âł Ðij", + "å®Į æķ´", + "Ġmuž ů", + "ĠpomÄĽr nÄĽ", + "ĠÙħ خصÙĪØµ", + "ĠÐĶ ÐµÐ¼", + "ãĤı ãĤĮãĤĭ", + "ãĤıãĤĮ ãĤĭ", + "ĠпÑĢи бÑĭ", + "ĠпÑĢиб Ñĭ", + "ĠکاÙħ Ù¾ÛĮ", + "ï¼ Ń", + "Ġt rh", + "Ġtr h", + "ĠÐij олÑĮÑĪ", + "´ :", + "и ваеÑĤÑģÑı", + "ив аеÑĤÑģÑı", + "ива еÑĤÑģÑı", + "иваеÑĤ ÑģÑı", + "Ġ ìĤ¬íķŃ", + "ĠìĤ¬ íķŃ", + "è¿Ľ ä¸ĢæŃ¥", + "ÑĨ ей", + "ÑĨе й", + "ãģ¾ ãģļ", + "аÑĤ елем", + "аÑĤе лем", + "éĮ ¯", + "Ġžal ob", + "ÑĨ ез", + "ÑĨе з", + "и нÑĥв", + "ин Ñĥв", + "инÑĥ в", + "Ġver ze", + "Ġve rze", + "Ġverz e", + "åĽŀ åΰ", + "Ġd ược", + "ائ ÙĬÙĦ", + "ائÙĬ ÙĦ", + "sto upil", + "stoup il", + "论 æĸĩ", + "ĠÐŁ аÑĢи", + "ĠÐŁÐ°ÑĢ Ð¸", + "Ġдек оÑĢаÑĤив", + "اخ تÛĮ", + "اخت ÛĮ", + "ĠÑģÑĤ ÑĢем", + "ĠÑģÑĤÑĢ ÐµÐ¼", + "ãĥ»âĶģãĥ»âĶģ ãĥ»âĶģãĥ»âĶģ", + "ĠÑģам ой", + "ĠÑģамо й", + "Ñĩ ÑĤо", + "ìĥģ ëĭ´", + "âī ¤", + "ÑĤ ого", + "ÑĤо го", + "ëIJ ¨", + "ı lacak", + "ıl acak", + "ä¸Ń ãģ«", + "ĠÏħÏĢάÏģÏĩ οÏħν", + "ĠвÑĸд бÑĥ", + "ĠвÑĸдб Ñĥ", + "çİ »çĴĥ", + "Ġвп еÑĢед", + "ĠPl zeÅĪ", + "Ú¯ اب", + "à¹Ģศ รษà¸IJ", + "ï¼Į æľĢ", + "Ùħ ÙĨÛĮ", + "ÙħÙĨ ÛĮ", + "çħ§ çīĩ", + "缮 å½ķ", + "ÑĢиÑĤ ÑĤÑı", + "âĢĮ اش", + "Ġ ëĮĢíļĮ", + "ĠëĮĢ íļĮ", + "ĠÅĻ adu", + "- ÑĤеÑħ", + "-ÑĤ еÑħ", + "Ġ ÙĬÙĪ", + "ĠÙĬ ÙĪ", + "Ġ à¹ģà¸ŀ", + "Ġà¹ģ à¸ŀ", + "ا ÙĥÙĨ", + "اÙĥ ÙĨ", + "Ġ기 ìŀIJ", + "Ġг Ñĸд", + "Ġìļ° ë¦¬ëĬĶ", + "Ġìļ°ë¦¬ ëĬĶ", + "Ø´ ÙħارÛĮ", + "Ø´Ùħ ارÛĮ", + "Ġt icari", + "Ġtic ari", + "âij ¢", + "ĠاÙĦ بد", + "ĠاÙĦب د", + "ĠÑĢаÑģ Ñĩ", + "Ġ اÙĦÛĮ", + "Ġا ÙĦÛĮ", + "ĠاÙĦ ÛĮ", + "Ġsü rede", + "Ġsür ede", + "Ġsüre de", + "Ġاع تر", + "Ġпо нÑıÑĤÑĮ", + "Ġпон ÑıÑĤÑĮ", + "γ κο", + "γκ ο", + "ï¼Į æ¯Ķ", + "ĠS eb", + "ĠSe b", + "Ġìĭł ê·ľ", + "æĶ¶ çĽĬ", + "ĠÙ¾ÛĮØ´ÙĨÙĩ اد", + "Îľ ÎijΤ", + "ÎľÎij Τ", + "ë°Ķ ìĿ´", + "ä¾Ľ åºĶ", + "б ин", + "би н", + "人 æ°Ĺ", + "ãģı ãĤī", + "Ġsk vÄĽl", + "Ġëĵ± ìŀ¥", + "æĭħ å½ĵ", + "Ġim kan", + "æ ύ", + "æĻ ¨", + "ï¼Į çİ°åľ¨", + "Ġsrd ce", + "ìĤ° ìĹħ", + "Ġмод ели", + "æľ¬å½ĵ ãģ«", + "а нка", + "ан ка", + "анк а", + "Ġyür üy", + "ĠоÑĩ евид", + "ĠØŃ سÙĬÙĨ", + "ĠØŃس ÙĬÙĨ", + "Ñī аÑİÑĤ", + "Ñīа ÑİÑĤ", + "lé dl", + "léd l", + "ÑĨ о", + "ĠcÃŃ sa", + "ãģĭ ãģij", + "èĹ į", + "ĠØ®ÙĪØ§Ùĩ ÙĨد", + "Ġmu že", + "Ġmuž e", + "Ġна коп", + "Ġнак оп", + "di ÄŁini", + "diÄŁi ni", + "er seniz", + "ers eniz", + "ersen iz", + "ĠпÑĢаÑĨÑĸв никÑĸв", + "д лÑı", + "Ġα ÏĥÏĦ", + "ĠαÏĥ ÏĦ", + "æ¶Ī è´¹", + "Ġ è¨Ģ", + "Ġè¨ Ģ", + "Ġb át", + "ĠØ´ ÙĥÙĦ", + "ĠÑģп иÑĢ", + "ÏĢο ÏĦε", + "Ġس اÙĦÙĩ", + "ĠساÙĦ Ùĩ", + "e kil", + "ek il", + "eki l", + "à¹ģ à¸Ĭม", + "ĠÏĥ ÏĦι", + "ĠÙħ Ø·ÙĦب", + "ĠÙħØ· ÙĦب", + "Ġìłķ ì±ħ", + "ê´Ģ ê³Ħ", + "å¹¹ ç·ļ", + "Ġ 京", + "éĢļ éģİ", + "ĠدÛĮ گراÙĨ", + "ĠدÛĮگر اÙĨ", + "ĠØ£ Ùħا", + "ĠØ£Ùħ ا", + "æĺ¯ ä¸į", + "ĠëĮĢ ëĭµ", + "ĠE rk", + "ĠEr k", + "p erty", + "per ty", + "pert y", + "ĠнаÑĩина еÑĤ", + "Ġê·¸ 리", + "ë£ ¡", + "ĠìĽ¹ ìĤ¬ìĿ´íĬ¸", + "ार न", + "æĦı è¯Ĩ", + "ĠС ÐŁ", + "Ġب اÙĬد", + "Ġبا ÙĬد", + "Ġbakım ından", + "/ TT", + "/T T", + "ĠÙģ Ø§ØµÙĦÙĩ", + "ĠÙħØ« ÙĦا", + "ĠÙħØ«ÙĦ ا", + "Ġк вад", + "Ġкв ад", + "ĠØ´ اÛĮد", + "ĠuÄį itel", + "çĪ ½", + "Ġعرض Ùĩ", + "Ġ 交", + "ĠÑĩ еÑģÑĤÑĮ", + "ĠÑĩеÑģ ÑĤÑĮ", + "à¥Ī ?Ċ", + "à¥Ī? Ċ", + "ĠخاÙĨ Ùħ", + "et iyle", + "eti yle", + "Ġε γκα", + "ĠÑģÑĥ Ñīе", + "ĠìĿ¼ ìĸ´", + "ĠÐĽ ени", + "ĠÐĽÐµ ни", + "Ġ 声", + "Ġå£ °", + "á lie", + "ál ie", + "áli e", + "ãĥ¡ ãĥ¼ãĤ¸", + "à¥Ģ तर", + "à¥Ģत र", + "г алÑĸ", + "га лÑĸ", + "гал Ñĸ", + "ĠмÑĸ нÑĸм", + "ĠE ÅŁ", + "ĠпÑĢоиз оÑĪ", + "ÐĿ аÑģ", + "ÐĿа Ñģ", + "Ġب ÙĨÛĮ", + "ĠبÙĨ ÛĮ", + "让 æĪij", + "ĠпоÑģÑĤ еп", + "ĠìļĶ êµ¬", + "ılı p", + "ıl ıp", + "Ġج ÙĪØ±", + "ĠجÙĪ Ø±", + "ĠëĮĢ ë¶Ģë¶Ħ", + "à¹ĩ à¸ķาม", + "à¹ĩà¸ķ าม", + "ĠÑĦ аÑģ", + "Ġìłķ ê·ľ", + "ла менÑĤ", + "лам енÑĤ", + "ÄŁ en", + "ÄŁe n", + "à¥ĩà¤Ĥ ĊĊ", + "à¥ĩà¤ĤĊ Ċ", + "ĠÐĺ ванов", + "ĠØŃ Ú©Ùħ", + "ĠØŃÚ© Ùħ", + "Ġ ï¾ļ", + "Ġï¾ ļ", + "ï¼ »", + "Ġne vid", + "Ġnev id", + "Ġла боÑĢаÑĤоÑĢ", + "à¸ŀย าà¸ļาล", + "Ġed iyorum", + "Ġediyor um", + "Ġhl avy", + "Ġhlav y", + "ĠEvrop ské", + "Ġph ái", + "Ġphá i", + "ãĥĵ ãĥ¼", + "ê´ij ìĹŃìĭľ", + "äº ľ", + "ØŃد اث", + "ĠпÑĢоÑĦ илакÑĤи", + "ro stÅĻed", + "rost ÅĻed", + "Ġм алÑĮ", + "Ġмал ÑĮ", + "Ġма лÑĮ", + "Ġmü dür", + "ا ساس", + "اس اس", + "ĠгалÑĥз Ñĸ", + "ี à¸Ł", + "Ġغذ اÛĮÛĮ", + "åŃIJ ä¾Ľ", + "Ġbah sed", + "ĠKrál ové", + "åį »", + "Ġ %,", + "Ġ% ,", + "ç½Ĺ æĸ¯", + "ë ļ", + "Ġ çij", + "Ġç ij", + "Ġξε ÏĦα", + "ĠÐŃ ÑĤи", + "ĠíĨµ íķ©", + "Ġاک تبر", + "ĠmÄĽsÃŃ ce", + "ìĪĺ ë¡ľ", + "ÑĦ Ñĸк", + "ÑĦÑĸ к", + "ĠÐĴ оз", + "ĠÐĴо з", + "ÑĩеÑģ ким", + "Ñĩе Ñģким", + "ÑĩеÑģки м", + "ìļ´ ëĵľ", + "Ġná klady", + "Ġnáklad y", + "ĠпоÑĤ ÑĢап", + "ĠÑĢÑĥ каÑħ", + "ĠÑĢÑĥк аÑħ", + "ι λο", + "ιλ ο", + "ĠG ül", + "ĠGü l", + "ë© ĺ", + "à¹ī ย", + "m akt", + "ma kt", + "mak t", + "ãĥ³ ãĥIJãĥ¼", + "ãĥ³ãĥIJ ãĥ¼", + "Ġн ÑĸÑı", + "ĠнÑĸ Ñı", + "ĠоÑĤ ÑĤен", + "m esinin", + "mes inin", + "mesi nin", + "mesini n", + "ĠвÑģп ом", + "Ġ ìĿ´ëĬĶ", + "ĠìĿ´ ëĬĶ", + "dy by", + "ãĤ¿ ãĥ³", + "âĹ İ", + "à¹īา หà¸Ļ", + "à¹īาห à¸Ļ", + "اد Ú¯ÛĮ", + "Ïĩ ία", + "Ġsna žÃŃ", + "Ġà¤ļ à¤ķ", + "μή μα", + "Ġ Ùĥر", + "ĠÙĥ ر", + "Ġκ οι", + "Ġκο ι", + "éĢ ¸", + "Ġne ust", + "Ġneu st", + "ĠÙĨظ اÙħÛĮ", + "ĠÙĨظاÙħ ÛĮ", + "åįļ çī©", + "Ġ ë²½", + "Ġë² ½", + "á½ ±", + "Ġì¶ľ ìĭľ", + "Ġar má", + "Ġarm á", + "ĠÙĩÙħ کارÛĮ", + "çļĦ æĥħåĨµ", + "çļĦæĥħ åĨµ", + "ÙĤ اÙħ", + "ÙĤ ب", + "Ġ éĤ£", + "ĠéĤ £", + "Ġë§ ¡", + "Ġo lası", + "Ġol ası", + "Ġola sı", + "β ÎŃÏģ", + "ä½ķ ãģĭ", + "ĠÑĥÑĩ еб", + "Ġв Ñĥз", + "Ġبر گز", + "Ġبرگ ز", + "' yi", + "'y i", + "Ġп ÑĢазд", + "ĠпÑĢа зд", + "ĠÐŀ ÑĢг", + "ĠÐŀÑĢ Ð³", + "Ġ å¹¶", + "Ġå¹ ¶", + "ĠÑģ ви", + "ĠÑģв и", + "ĠÙħÛĮ داÙĨ", + "ĠnaÅ¡e ho", + "ĠBA Åŀ", + "å» Ĭ", + "Ì Ī", + "ãģĵ ãģĿ", + "à¹ĩà¸Ļ à¸ŀ", + "οÏģ ειο", + "Ġбаг аÑĤ", + "γ ει", + "γε ι", + "μ είο", + "με ίο", + "à¹Īà¸ĩ à¸Ĭาà¸ķ", + "ĠHizmet leri", + "ĠAfr ika", + "ĠAf rika", + "Ġted bir", + ", 、", + "ä¸ī 级", + "ÐİÑĭÑŁN ÐİÑĭÑŁN", + "ĠÐļ ÑĢÑĸм", + "Ġa ray", + "Ġar ay", + "Ġara y", + "Ġböyle ce", + "к оÑĤ", + "ко ÑĤ", + "éĻ °", + "åĽ½ éļĽ", + "t ÄĽl", + "tÄĽ l", + "Ġp olis", + "Ġpol is", + "Ġpo lis", + "Ġu vol", + "Ġuv ol", + "ĠìĪĺ ê°ķ", + "ç͵ èĦij", + "Ġs ami", + "Ġsa mi", + "Ġsam i", + "Ġشاخ Ùĩ", + "Ġв ÑģÑĮого", + "ĠвÑģ ÑĮого", + "ĠØŃد اÙĤÙĦ", + "Ġ iken", + "Ġi ken", + "Ġik en", + "ãĤ¯ãĥ© ãĥĸ", + "Ġzá vod", + "Ġzáv od", + "ब ल", + "ë°° ìĨ¡", + "éĩĩ è´Ń", + "ëł ¬", + "Ġ ।ĊĊ", + "Ġ। ĊĊ", + "Ġ।Ċ Ċ", + "Ġê°ģ ê°ģ", + "Ġм ак", + "Ġма к", + "Ïģα Ïĥη", + "ĠiÅŁlem i", + "ãģĹ ãģ¦ãģĦãģ¾ãģĻ", + "ãģĹãģ¦ ãģĦãģ¾ãģĻ", + "ãģĹãģ¦ãģĦ ãģ¾ãģĻ", + "ĠP ek", + "ĠPe k", + "Ñİ Ð½", + "Ġvel kou", + "Ġvelk ou", + "åĬŀ çIJĨ", + "å®ĥ 们", + "Ġ èIJ¬", + "ĠèIJ ¬", + "ĠнаÑĢод Ñĥ", + "ĠнаÑĢ Ð¾Ð´Ñĥ", + "Ġch ó", + "ĠH iç", + "ĠHi ç", + "Û³ Ûµ", + "Ġ รà¸Ńà¸ļ", + "Ġร à¸Ńà¸ļ", + "Û³ Û¶", + "à¸Ĥ ว", + "ä½į æĸ¼", + "ĠС ÑĤа", + "ĠСÑĤ а", + "ั à¸Ļม", + "ัà¸Ļ ม", + "ाप à¤ķ", + "ĠÑĥ ÑĢок", + "ãĤ¢ ãĥ¡ãĥªãĤ«", + "Ġз мож", + "Ġзм ож", + "sk ému", + "ské mu", + "ském u", + "Ġ è»Ĭ", + "Ġè» Ĭ", + "ĠاختÛĮ ار", + "ĠP Åĺ", + "л Ñıв", + "лÑı в", + "Ġ маз", + "Ġм аз", + "Ġма з", + "Ġözel liÄŁi", + "åij¼ ãģ°", + "Ġbir inin", + "Ġbiri nin", + "Ġод не", + "Ì Ĩ", + "ä»ĸ ãģ®", + "建 ç¯ī", + "поÑģ еÑĢед", + "ห ลà¸Ķ", + "หล à¸Ķ", + "å¤ļ ãģĦ", + "ÏĦή ÏĥειÏĤ", + "Ġر ÙĪÙĨد", + "ĠرÙĪ ÙĨد", + "èģ ½", + "ì¤ij ìĹIJ", + "ìĬ¤ íĭ°", + "Ġз вÑĸÑĤ", + "Ġзв ÑĸÑĤ", + "ĠаÑĢ ÑĤи", + "Ġc ưá»Ŀi", + "Ġcư á»Ŀi", + "ın dır", + "ınd ır", + "Ġг олод", + "Ġгол од", + "ا زد", + "از د", + "à¹Īาว ว", + "ãĥ¡ ãĥ©", + "عÙĨ ÙĪØ§ÙĨ", + "% )Ċ", + "%) Ċ", + "ĠÑħолод илÑĮ", + "人 们", + "C İ", + "ÐĹ Ð°Ð¿", + "ÐĹа п", + "ĠpÅĻ isp", + "ĠpÅĻi sp", + "Ġdurum larda", + "ÑĢ Ñĸд", + "ÑĢÑĸ д", + "Âł У", + "Ġε ÏĨαÏģ", + "Ġs prav", + "Ġsp rav", + "Ġspr av", + "ĠоÑĤÑĢим аннÑı", + "ï¼Į 没æľī", + "о вала", + "ов ала", + "ова ла", + "овал а", + "Ġng ại", + "ãĢĤ 大", + "Ġ даеÑĤ", + "Ġд аеÑĤ", + "Ġда еÑĤ", + "ĠpÃŃs em", + "ÑĨ ÑıÑĤÑĮ", + "ÑĨÑı ÑĤÑĮ", + "ov nÄĽ", + "ë¦ ī", + "Ġê² ģ", + "Ñģ ÑĤин", + "ÑģÑĤ ин", + "ÑģÑĤи н", + "ĠS ayı", + "ĠSa yı", + "ĠSay ı", + "ãĢĭ çļĦ", + "Ġyol uyla", + "Ġyolu yla", + "елеÑĦ он", + "Ġr áno", + "Ġrá no", + "Ġíĸī ëıĻ", + "ĠاÙĦخاÙħ سة", + "Ġповин на", + "ÅĻ ila", + "ÅĻi la", + "ÅĻil a", + "Ġà¤ļ रण", + "Ġà¤ļर ण", + "Ġبرگ زار", + "Ġبرگز ار", + "ìļ´ ëį°", + "à¹Ģà¸Ľ à¸Ńร", + "Ġdal eko", + "led nÃŃ", + "åIJį 稱", + "лив ÑĸÑģÑĤÑĮ", + "ливÑĸ ÑģÑĤÑĮ", + "Ġ몸 ìĿĦ", + "о ÑĢÑĸв", + "оÑĢ Ñĸв", + "оÑĢÑĸ в", + "Ц е", + "بد Ø£", + "ë°ĺ 기", + "k rát", + "kr át", + "ä¸į è¶³", + "Ġolduk ları", + "len iyor", + "Ġìĭľ íĸī", + "ĠпÑĢи нимаÑĤÑĮ", + "à¸Ĥà¸Ńà¸ĩ ร", + "ÏĪ ÎµÎ¹", + "ÏĪε ι", + "Ġ ẩn", + "ت س", + "ĠÑĤ ай", + "ĠÑĤа й", + "Ġнев озможно", + "åıĬ ãģ³", + "r oti", + "ro ti", + "rot i", + "ï½ Ń", + "д ом", + "до м", + "ой но", + "å£ Ĭ", + "说 çļĦ", + "Ġsk oro", + "ni ÄįnÃŃ", + "niÄį nÃŃ", + "ĠProf es", + "ĠÑħ ÑĢониÑĩеÑģ", + "Ġ주 문", + "ĠZ n", + "ĠÑģ лой", + "ĠÑģл ой", + "ĠÑģло й", + "Îł Ïģο", + "æĮĩ æķ°", + "ĠпеÑĢ ÐµÑĪ", + "ĠпеÑĢе ÑĪ", + "à¥ģà¤ķ स", + "Ġê°Ģ ìłķ", + "Ġ íķĺë©´", + "Ġíķĺ ë©´", + "Û±Û¹ Û´", + "к Ñĥл", + "кÑĥ л", + "ÙĬ ÙĦا", + "ÙĬÙĦ ا", + "ĠدÙĪØ¨ ارÙĩ", + "| l", + "ĠÐľ Ñĥ", + "н ила", + "ни ла", + "нил а", + "ãģ¦ ãģĦãģ¾ãģĻ", + "ãģ¦ãģĦ ãģ¾ãģĻ", + "m acı", + "ma cı", + "mac ı", + "ãģŁ ãģ¡ãģ¯", + "ãģŁãģ¡ ãģ¯", + "ĠاÙĦÙĥ تاب", + "ç§» åĭķ", + "λ μ", + "_ ï¼ı", + "Ġê°Ģ ìŀħ", + "èħ ¾", + "ĠпÑĢез иденÑĤ", + "Ġë¶Ħ ìķ¼", + "a hy", + "ah y", + "Å¡et ÅĻenÃŃ", + "Å¡etÅĻ enÃŃ", + "éĵ º", + "ĠpÅĻÃŃ ro", + "Ðķ Т", + "ĠìļĶ ì²Ń", + "Ġmoh lo", + "Ġmohl o", + "å¿ĥ çIJĨ", + "Ġvysok é", + "& uuml", + "ÏĦ ικα", + "ÏĦικ α", + "ÏĦι κα", + "ìĹħ ì²´", + "ãģ§ ãģĤ", + "ราย à¸ĩาà¸Ļ", + "ĠpÅĻÃŃspÄĽ v", + "Ġet miÅŁtir", + "Ġetm iÅŁtir", + "ĠetmiÅŁ tir", + "她 们", + "ÏĢ Î»Î±", + "ÏĢλ α", + "ứ a", + "Ġ 说", + "Ġè¯ ´", + "ĠÑģо Ñģед", + "ĠÑģоÑģ ед", + "åĩ ī", + "ĠÐł е", + "åİŁ æĿ¥", + "ĠÐIJÑĢ Ñħ", + "ب ÙĬÙĨ", + "بÙĬ ÙĨ", + "åľ° 说", + "Ġ ört", + "Ġö rt", + "Ġör t", + "ĠΣ εÏĢ", + "ĠΣε ÏĢ", + "ÂŃ ÙĩاÛĮ", + "ĠاÙĦ اÙĤتص", + "å°½ 管", + "ÑĤ Ñĭй", + "ÑĤÑĭ й", + "t ains", + "ta ins", + "tain s", + "ÙĢ ÙĦ", + "ç§ijæĬĢ æľīéĻIJåħ¬åı¸", + "æı ®", + "ัà¸ķ à¸ĸ", + "á»Ĺ ng", + "ล าà¸Ķ", + "ลา à¸Ķ", + "æļ ®", + "ĠÙĨÙģ Ø³Ùĩ", + "ĠÙĨÙ쨳 Ùĩ", + "Ġ çľĭ", + "Ġçľ ĭ", + "Ġ ãģ¿", + "Ġt arım", + "Ġtar ım", + "Û±Û¹ Ûµ", + "ĠÎ Ĭ", + "Ġkom plex", + "Ġkomple x", + "Ġkomp lex", + "ĠNh Ä©", + "è´¹ ç͍", + "Ġکاربر اÙĨ", + "ÅĪ ovánÃŃ", + "Ġ ků", + "Ġk ů", + "д ап", + "да п", + "Îķ Χ", + "ê·¸ ëŀĺ", + "Ġdön dü", + "人 åĵ¡", + "ĠT iá»ĥu", + "ĠÙĪÛĮر اÛĮØ´", + "Ġö ngör", + "ĠÙĪ ØºÙĬر", + "ĠÑģ кÑĢÑĭ", + "ĠÑģк ÑĢÑĭ", + "âĢIJ '", + "Ġ немÑĥ", + "Ġн емÑĥ", + "Ġне мÑĥ", + "Ġнем Ñĥ", + "ĠH á»ĩ", + "ĠHá» ĩ", + "Ġdüzen li", + "ĠsoutÄĽ že", + "ãĢģ ãĥŀ", + "ÏĦο μα", + "ÄĽ lÃŃ", + "ÄĽl ÃŃ", + "ĠØ£ ÙĦÙħاÙĨ", + "ĠØ£ÙĦ ÙħاÙĨ", + "çł ²", + "Ġtr Ãł", + "Ġ ä¸ĸçķĮ", + "Ġä¸ĸ çķĮ", + "ay ız", + "ayı z", + "ım lı", + "ĠاÙĦØ£ Ùģ", + "íķĺ ëĬĶëį°", + "íķĺëĬĶ ëį°", + "в ано", + "ва но", + "ван о", + "ĠpÅĻi Äįemž", + "Ùĥ ÙĬب", + "ÙĥÙĬ ب", + "ĠмаÑĤ емаÑĤи", + "м ени", + "мен и", + "ме ни", + "ĠпÑĢо екÑĤÑĥ", + "ĠпÑĢоек ÑĤÑĥ", + "ĠпÑĢоекÑĤ Ñĥ", + "ี à¹Ĥà¸Ń", + "ีà¹Ĥ à¸Ń", + "о Ñĥ", + "ĠاÙĦ شرÙĥØ©", + "ĠاÙĦشر ÙĥØ©", + "æ³ £", + "ÙĪÙĤ ÙĬت", + "ÑĪ Ð¸Ð²", + "ÑĪи в", + "Ġperson el", + "Ġpersone l", + "Ġperso nel", + "Ø´ تر", + "شت ر", + "à¸Ķ า", + "Ġë ª½", + "Ġëª ½", + "åĿIJ åľ¨", + "о ке", + "ок е", + "Ġë§Ī ë²ķ", + "ĠØ£ ÙĨا", + "ĠØ£ÙĨ ا", + "ëł µ", + "ĠÙħب اÙĨÛĮ", + "èĭ ¹æŀľ", + "Ġ ศร", + "Ġศ ร", + "ĠÐĽ ÑĥÑĩ", + "ĠÐĽÑĥ Ñĩ", + "ÎŁ ΥΣ", + "ÎŁÎ¥ Σ", + "ĠÄį á", + "ãģĽ ãģ¦", + "Ġk Ä±ÅŁ", + "Ġkı ÅŁ", + "ÑĪ ÐµÐ²", + "ÑĪе в", + "æĮĩ 导", + "à¹ģละ ม", + "Ġvol eb", + "Ġvole b", + "ĠÑģи лÑĭ", + "ĠÑģил Ñĭ", + "Ġdruh ou", + "Ġdru hou", + "Ġ ì°¬", + "Ġì° ¬", + "ĠìŀĪ ìĿĮ", + "Î¥ Σ", + "ä¸į å®ī", + "Ġ ìĹĨìĿĮ", + "ĠìĹĨ ìĿĮ", + "Ġde term", + "Ġdet erm", + "Ġdeter m", + "ĠاÙĦÙħ عÙĦÙĪÙħات", + "íĺ ¹", + "âĻ ¡", + "à¥įब न", + "Ġخش Ú©", + "ĠN ová", + "ĠNo vá", + "ĠNov á", + "ĠÑĦÑĥнда менÑĤ", + "ĠпÑĢогÑĢам и", + "ĠпÑĢогÑĢа ми", + "ĠпÑĢог ÑĢами", + "ĠعÙĦ ÙĬÙĥ", + "ĠعÙĦÙĬ Ùĥ", + "। ĊĊ", + "।Ċ Ċ", + "Ġver iyor", + "Ġveri yor", + "Ġ ÑĶв", + "ĠÑĶ Ð²", + "ĠìŀĪ ëĭ¤ê³ł", + "ĠìŀĪëĭ¤ ê³ł", + "ĠاÙĦØ£Ùħ رÙĬÙĥÙĬ", + "ĠاÙĦØ£Ùħر ÙĬÙĥÙĬ", + "Ġå¤ĸéĥ¨ ãĥªãĥ³ãĤ¯", + "Ġ ä¿®", + "Ġп ÑĥÑĤи", + "ĠпÑĥÑĤ и", + "ĠпÑĥ ÑĤи", + "Ġο Ïģγ", + "ĠоÑģнов ном", + "Ġ наÑĢÑĥж", + "Ġна ÑĢÑĥж", + "ĠнаÑĢ Ñĥж", + "Ġми ÑĢе", + "ĠмиÑĢ Ðµ", + "o vÄĽt", + "ov ÄĽt", + "ovÄĽ t", + "Ġíĥ IJ", + "Ġsok ak", + "Ġspolup ráci", + "ÐĶ Ðļ", + "Ġ åĺ", + "Ġå ĺ", + "âĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸį âĸįâĸįâĸįâĸįâĸįâĸįâĸįâĸį", + "Ġ ³³³³", + "ĠÂł ³³³", + "Ġ³³ ³³", + "Ġ³³³ Âł", + "Ġhay ır", + "Ġ ìĻĶ", + "ĠìĻ Ķ", + "æĤ¨ çļĦ", + "æĮ º", + "Ġ 민주", + "Ġ민 주", + "Ġhot elu", + "Ġhotel u", + "ี à¸ľ", + "ìŀIJ ëıĻ", + "ä¼¼ çļĦ", + "ÎŃν ÏĦÏģο", + "ÎŃνÏĦ Ïģο", + "Ø´ ÙĪ", + "Ġ é¤", + "Ġé ¤", + "Ġ λι", + "Ġλ ι", + "Ġol maktadır", + "Ġolmak tadır", + "ĠоÑģ веÑī", + "Ġв ина", + "Ġви на", + "Ġвин а", + "Ġخاص Ø©", + "r ana", + "ra na", + "ran a", + "γÏģα ÏĨή", + "γÏģαÏĨ ή", + "ÑĨ еÑģ", + "ÑĨе Ñģ", + "ĠdoÄŁru lt", + "ĠdoÄŁr ult", + "ĠÙĤرار داد", + "ĠÙĤرارد اد", + "ĠÐļ ал", + "ĠÐļа л", + "ê²½ ìłľ", + "Ïĩ ÏĮ", + "Ñĥ ÑİÑīий", + "ÑĥÑİ Ñīий", + "ÑĥÑİÑī ий", + "ëĭ ĺìĿ´", + "ëĭĺ ìĿ´", + "ë Į", + "л аз", + "ла з", + "Ġng ừng", + "i sku", + "is ku", + "isk u", + "ìĦł ê±°", + "ĠÑįлек ÑĤÑĢон", + "ĠÑįлекÑĤÑĢ Ð¾Ð½", + "ĠV oj", + "ĠVo j", + "н Ñıми", + "нÑı ми", + "ĠÙĪ Ø£ÙĨ", + "ĠÙĪØ£ ÙĨ", + "äº Ń", + "绣 计", + "ĠÅŁ iÅŁ", + "ĠÅŁi ÅŁ", + "ãĢį çļĦ", + "æŃ ¯", + "Ġкол лек", + "Ġд виж", + "Ġдв иж", + "Ġдви ж", + "Ġn á»Ńa", + "Äįas ÃŃ", + "Ġs onu", + "Ġso nu", + "Ġson u", + "ĠмеÑħ анÑĸз", + "ž ený", + "že ný", + "žen ý", + "Ġза ÑģÑĤÑĥп", + "ĠзаÑģÑĤ Ñĥп", + "ê´Ģ 볨", + "ĠÑĤоваÑĢ Ñĸв", + "ĠÑĤов аÑĢÑĸв", + "Ġ ì¼ĢìĿ´", + "Ġì¼ ĢìĿ´", + "à¥ģà¤Ĺ त", + "Ġzá sob", + "мов ÑĸÑĢ", + "u fac", + "uf ac", + "ů ležit", + "Ġви гоÑĤов", + "Ġвиг оÑĤов", + "ĠاÙĦÙĨ ÙĪ", + "Ġع اÙħا", + "ĠعاÙħ ا", + "æģ ¨", + "ĠìĿ´ë¯¸ ì§Ģ", + "Ġt voÅĻ", + "Ġtv oÅĻ", + "Ġvyu žitÃŃ", + "Ġgel iÅŁim", + "ĠgeliÅŁ im", + "ì³ ¤ëĭ¤", + "หà¸Ļ à¸Ńà¸ĩ", + "ĠìĿ¸ ìłķ", + "à¥į दर", + "à¥įद र", + "ĠпеÑĢед а", + "ĠпеÑĢе да", + "ĠздÑĸйÑģ неннÑı", + "ÙĨ ع", + "è¡£ æľį", + "Ġl oa", + "Ġlo a", + "íĻ Ī", + "èĭ± åĽ½", + "ĠD ruh", + "ĠDr uh", + "Ø® اÙĨ", + "д ам", + "да м", + "аÑĤелÑĮ нÑĭÑħ", + "θ ÏģÏİ", + "ĠØ£ Ùħر", + "ĠØ£Ùħ ر", + "ĠÅĻ ada", + "Ġbul uÅŁ", + "ĠÑĤÑĢанÑģп оÑĢ", + "ĠÑĤÑĢанÑģ поÑĢ", + "ĠÙĤ تÙĦ", + "ĠTa rif", + "ĠTar if", + "R us", + "Ru s", + "ĠзаÑģ Ñĸд", + "Ġİ h", + "l eyin", + "ley in", + "Ġvy rá", + "ĠD ÄĽ", + "иб ли", + "a vou", + "av ou", + "avo u", + "ĠÐĵеÑĢ Ð¼", + "н емÑĥ", + "не мÑĥ", + "нем Ñĥ", + "Ġкон ÑĨеп", + "ĠконÑĨе п", + "ĠÙĤ ادر", + "Ġsou bor", + "Ġl á»iji", + "Ġ çµIJ", + "Ġçµ IJ", + "л еннÑĭй", + "лен нÑĭй", + "κ Ïħ", + "Ġдопом аг", + "à¸ŀวà¸ģ à¹Ģà¸Ĥ", + "Ġqu ang", + "Ġq uang", + "Ġqua ng", + "Ġquan g", + "ĠØ· ÙĦا", + "ĠØ·ÙĦ ا", + "Ġ éĩĮ", + "Ġé ĩĮ", + "Ġéĩ Į", + "ĠÙĨÙħÙĪØ¯ ار", + "ĠÅŁ ar", + "ĠÑģп Ñĸл", + "ÂŃ n", + "ì§Ģ ìļĶ", + "åīį å¾Ģ", + "åħ³ éĶ®", + "å®ŀ åľ¨", + "éŁ³ 楽", + "ĠÙħسئ ÙĦÙĩ", + "Ġy eme", + "Ġye me", + "Ġyem e", + "ĠÑĪ Ð°Ñħ", + "기 ìĪł", + "Ġ สำà¸Ļ", + "Ġสำ à¸Ļ", + "ĠÙĪØ±Ø²Ø´ ÛĮ", + "ĠÙĪØ±Ø² Ø´ÛĮ", + "ãģĹ ãģŁãĤī", + "ãģĹãģŁ ãĤī", + "ί ÏĥÏī", + "ίÏĥ Ïī", + "о кон", + "ок он", + "око н", + "ãģŁ ãĤī", + "ĠØ¥ ÙĦÙĬÙĩ", + "ĠØ¥ÙĦÙĬ Ùĩ", + "ĠØ¥ÙĦ ÙĬÙĩ", + "Ġآذ رب", + "Ġr á»Ŀi", + "Ġod ak", + "Ġм огÑĥ", + "Ġмог Ñĥ", + "Ġмо гÑĥ", + "ĠÚ¯ ÙĨ", + "è² ¼", + "ed la", + "edl a", + "Ġоп ÑĭÑĤ", + "la maktadır", + "lamak tadır", + "å°¼ äºļ", + "éĥ½ ä¼ļ", + "ĠÎĺε ÏĥÏĥα", + "Ġв ог", + "Ġво г", + "ç»Ī äºİ", + "ĠÑĥÑĢов не", + "Ġv lak", + "Ġvl ak", + "ĠØ¢ ÙĦØ©", + "ĠØ¢ÙĦ Ø©", + "Ġε ιδ", + "Ġει δ", + "â ĩ", + "д ÑĥÑĤ", + "дÑĥ ÑĤ", + "Ñĸ нг", + "Ñĸн г", + "ĠØ£Ùħ رÙĬÙĥÙĬ", + "ĠØ£Ùħر ÙĬÙĥÙĬ", + "از ÙĨد", + "Ġب اÙĦØ£", + "ĠباÙĦ Ø£", + "Ġत न", + "Ġkay det", + "룬 리", + "Ġ drž", + "Ġd rž", + "Ġdr ž", + "Ġп енÑģ", + "Ġпен Ñģ", + "ĠpÅĻÃŃ Äį", + "ĠТ олÑĮко", + "Ġб аÑĤаÑĢ", + "Ġба ÑĤаÑĢ", + "éĵģ è·¯", + "ĠÙ¾ÛĮ ÚĨ", + "ĠÎĵ εÏī", + "ĠαÏħ ÏĦά", + "Äŀ I", + "ĠакÑĤив но", + "ÎĹ ÎľÎij", + "ÎĹÎľ Îij", + "Ġvar lık", + "Ġ åıª", + "Ġåı ª", + "ĠзаÑī иÑĤÑĭ", + "ĠзаÑīиÑĤ Ñĭ", + "л им", + "ли м", + "ĠÙħشاÙĩ دة", + "и ком", + "ик ом", + "Ġì¡° ìĤ¬", + "о ген", + "ог ен", + "Ġm ấy", + "g ii", + "gi i", + "èĽ ĩ", + "ĠØ® ÙĪÛĮØ´", + "ĠØ®ÙĪ ÛĮØ´", + "Ġn ová", + "Ġno vá", + "Ġnov á", + "к овой", + "ков ой", + "ково й", + "Ġkan ıt", + "Ġkanı t", + "éĿ¢ è®®", + "ĠرÙĪØ³Øª ا", + "ìĸ´ ê°Ģ", + "ĠоÑĤноÑĪ ÐµÐ½Ð¸Ñı", + "Ġhodnot y", + "ÙĪ Ø±Ø§Øª", + "ÙĪØ± ات", + "ÙĪØ±Ø§ ت", + "ĠpÅĻ ÃŃst", + "ĠpÅĻÃŃ st", + "Ġth á»į", + "Ġthá» į", + "Ġçık art", + "Ġçıkar t", + "Ġçı kart", + "о обÑĢаз", + "Ġnem ÄĽl", + "Âł ro", + "ĠدÙĪÙĦ تÛĮ", + "ĠدÙĪÙĦت ÛĮ", + "ี ,", + "ä¸Ģ 度", + "ia omi", + "iao mi", + "åĹ İ", + "Ùı ع", + "ĠваÑĢи ан", + "Ġpod aÅĻilo", + "ĠëĤĺ ê°Ģ", + "èIJ¥ ä¸ļ", + "ĠабÑģолÑİÑĤ но", + "Ġë¸Į ëĿ¼", + "ĠгоÑĢ Ð¸Ð·", + "a ģın", + "aÄŁ ın", + "aģı n", + "Ġyer ini", + "Ġyeri ni", + "à¹īา à¸Ļà¸Ķ", + "à¹īาà¸Ļ à¸Ķ", + "æIJ ¬", + "Ġb alık", + "Ġbal ık", + "Ġba lık", + "ĠÅŁ ans", + "认 è¯Ĩ", + "Ġistedi ÄŁiniz", + "Ġjist ÄĽ", + "Ġ ìĪĺê°Ģ", + "ĠìĪĺ ê°Ģ", + "ï¼Į ä¸Ĭ", + "à¤ľ ब", + "Ġви Ñıви", + "ĠвиÑıв и", + "ë§ ¥", + "ãģĹ ãģ¦ãĤĭ", + "ãģĹãģ¦ ãĤĭ", + "ÙĬÙĥ ا", + "ĠH üs", + "c ının", + "Ġश त", + "ĠÑĢаÑģп олаг", + "ĠÑģпÑĢав ж", + "ืà¸Ń à¸ĸ", + "ĠвеÑĢ ÑĤик", + "Ġvy stav", + "ĠÑĢе алÑĸзаÑĨÑĸÑĹ", + "в ами", + "ва ми", + "ãĤ¹ ãĥĨãĤ£", + "ãĤ¹ãĥĨ ãĤ£", + "ëħ ģ", + "ĠÑĢе ÑĩÑĸ", + "ĠÑĢеÑĩ Ñĸ", + "Ùģ Ø§ÙĦ", + "िà¤ķ à¤Ł", + "ĠвозÑĢаÑģÑĤ е", + "к аÑģ", + "ка Ñģ", + "ĠÐĺ Ñģ", + "Ġл Ñĸк", + "ĠлÑĸ к", + "ĠÏĥη μαν", + "м енÑĤÑĥ", + "мен ÑĤÑĥ", + "менÑĤ Ñĥ", + "н ÑıÑİÑĤ", + "нÑı ÑİÑĤ", + "æŁ ´", + "Ġθ εÏī", + "Ġθε Ïī", + "çĬ¯ 罪", + "ĠÙĤ طر", + "ĠÙĤØ· ر", + "ÐĶ ÐIJ", + "- |", + "Ġ ÑģÑĤÑĸ", + "ĠÑģ ÑĤÑĸ", + "ĠÑģÑĤ Ñĸ", + "Ġu yum", + "Ġuy um", + "Ġpot ÅĻeba", + "ĠpotÅĻeb a", + "ĠعÙħÙĦ ÛĮات", + "ĠعÙħÙĦÛĮ ات", + "å¥ ª", + "ا خر", + "اخ ر", + "ĠÚ© ساÙĨÛĮ", + "ت Ùħر", + "تÙħ ر", + "ÑĮ еÑĢ", + "ÑĮе ÑĢ", + "ĠN ez", + "ĠNe z", + "íļĮ ìĤ¬", + "ĠBank ası", + "е гÑĢа", + "ег ÑĢа", + "à¸Ĥà¸ĵะ à¸Ĺ", + "åIJĪ æł¼", + "ĠìŬ룬 ë¶Ħ", + "y asal", + "ya sal", + "yas al", + "Ġ è¡ĮæĶ¿", + "Ġè¡Į æĶ¿", + "åĬ ī", + "dık tan", + "ãĤ¢ãĥ« ãĥIJ", + "ĠاÛĮÙĨ ÚĨ", + "Ġdij ital", + "å° ĺ", + "ĠÑĢаз меÑī", + "ĠÑĢазм еÑī", + "ĠкÑĸлÑĮ коÑģÑĤÑĸ", + "ĠEv ropy", + "ĠEvrop y", + "ĠÑĢоз ви", + "ÑİÑī ÑĥÑİ", + "Ġ ong", + "Ġo ng", + "Ġon g", + "Ġhe psi", + "Ġhep si", + "v ailability", + "vail ability", + "Ġتص ÙħÙĬÙħ", + "ĠتصÙħ ÙĬÙħ", + "Ñĥ йÑĤе", + "Ñĥй ÑĤе", + "ह ल", + "ĠÅ¡ iro", + "Ġp ás", + "Ġpá s", + ";; ;;;;", + ";;;; ;;", + ";;; ;;;", + "éħį åIJĪ", + "ĠاÙĦعاÙĦÙħ ÙĬØ©", + "ÐĴ о", + "h af", + "ha f", + "l áv", + "lá v", + "Ġb ì", + "Ġm ůj", + "Ġmů j", + "ê»ĺ ìĦľ", + "ÂłB f", + "ĠÑģпÑĢоÑģ ил", + "âĢĮÚ©ÙĨ ÙĨدÙĩ", + "âĢĮÚ©ÙĨÙĨد Ùĩ", + "ÙĨد ÙĬØ©", + "ÙĨدÙĬ Ø©", + "çī¹ èī²", + "Ġìķ ¨", + "ุษ ย", + "ĠФ оÑĢ", + "пиÑģ ок", + "пи Ñģок", + "u žel", + "ım lar", + "çĬ¶ æ³ģ", + "Ġãĥ¬ ãĥĩãĤ£ãĥ¼ãĤ¹", + "Ñħ ови", + "Ñħов и", + "Ñħо ви", + "ÂłK Äį", + "Ñĩ им", + "Ñĩи м", + "Ġت ÙĪÙħ", + "ĠتÙĪ Ùħ", + "à¹Ģà¸ģษ à¸ķร", + "Ġìĭ± ê¸Ģ", + "Ùħ ارات", + "Ùħا رات", + "Ùħار ات", + "ê nh", + "ên h", + "ĠÅĻ id", + "æĬ ¬", + "Ñģ иÑİ", + "Ñģи Ñİ", + "æħ İ", + "Ġçev re", + "Ġçevr e", + "ãĥĪ ãĥ«", + "Ġyıl dır", + "Ġzá znam", + "Ġzáz nam", + "æľº åľº", + "Ġпо ÑĶ", + "ĠвÑĭ ÑĢаÑīи", + "Ġ Ù쨹", + "ĠÙģ Ø¹", + "ë »", + "Ġدار ÛĮÙħ", + "ï¼Į æĽ´", + "Ġзем ли", + "اب ÙĤات", + "ابÙĤ ات", + "Ġm á»Ŀi", + "Ġmá» Ŀi", + "k ých", + "ký ch", + "ÙĦ اة", + "ÙĦا Ø©", + "å¸ ½", + "بر اÙĩÙĬÙħ", + "Ġпо баÑĩ", + "Ġпоб аÑĩ", + "Ġпоба Ñĩ", + "ाà¤ĩ म", + "à¹Īาà¸ĩ à¸Ľà¸£à¸°à¹Ģà¸Ĺศ", + "ĠìĦ¸ ìĥģ", + "Ġпомог аеÑĤ", + "ĠÏĦÏĮ Ïĥο", + "æĸ ·", + "ĠÙ쨱 اÙĪ", + "à¹Ħà¸Ľ ย", + "erg isi", + "Ġ éĻIJ", + "ĠéĻ IJ", + ". xz", + ".x z", + "ĠÑģл ÑĥÑħ", + "ĠÑģлÑĥ Ñħ", + "е коном", + "ек оном", + "еко ном", + "ĠNh ất", + "± Ø·", + "ĠëĪĪ ìĿĦ", + "Ġ íļĮìĤ¬", + "ĠíļĮ ìĤ¬", + "Ñ ĵ", + "Ġ åIJįçĦ¡ãģĹ", + "ĠåIJį çĦ¡ãģĹ", + "Ġομά δα", + "ĩ Į", + "li ÄŁinin", + "liÄŁi nin", + "liÄŁ inin", + "liÄŁini n", + "liÄŁin in", + "ع اÙĨ", + "عا ÙĨ", + "Ġز ÙĨÛĮ", + "ĠزÙĨ ÛĮ", + "T ôi", + "Ġet ki", + "Ġetk i", + "ĠìŰ ëĿ½", + "Ġкон ÑĨа", + "è° ĭ", + "Ġзем лÑı", + "íĻĺ ê²½", + "ĠÙħÚ© اÙĨÛĮ", + "ĠÙħکاÙĨ ÛĮ", + "çĸ ²", + "Ġ ç¢", + "Ġç ¢", + "Ġkur ulan", + "Ġkurul an", + "Ġkuru lan", + "ؤ ÙĪÙĦ", + "د Ùī", + "ĠاÙĦÙħÙĨ Ø·ÙĤØ©", + "Ġn ắng", + "ÐŁ Ðļ", + "ол ай", + "ола й", + "Y K", + "åij Ĩ", + "λ αν", + "λα ν", + "西 çľģ", + "ĠÎĴ αÏĥ", + "ĠÎĴα Ïĥ", + "ĠíĻķ ìĭ¤", + "Z D", + "п Ñĸд", + "Ġ наÑĩе", + "Ġн аÑĩе", + "Ġна Ñĩе", + "ĠнаÑĩ е", + "Ġ ÏĦά", + "ĠÏĦ ά", + "å½ »", + "âĢŀ D", + "Ġ èĩº", + "Ġèĩ º", + "Ġна ÑĪей", + "ĠнаÑĪ ÐµÐ¹", + "ĠtÃŃm to", + "Ġت سÙħ", + "Ġتس Ùħ", + "Ïģθ Ïģο", + "令 人", + "ĠP azar", + "ĠPa zar", + "ĠPaz ar", + "ãĤĵ ãģ¨", + "ç«ĭ åĪ»", + "Âģ @", + "Ġb ắc", + "ìĬ¤ íħĮ", + "Ġkadın lar", + "fig ur", + "ãģ¤ ãģ¶", + "Ġæµ Ļæ±Ł", + "Ġдек ÑĸлÑĮ", + "è¡ Ŀ", + "ยà¸Ļ à¹ģà¸Ľà¸¥à¸ĩ", + "o let", + "ol et", + "ole t", + "Ġned ok", + "n amen", + "name n", + "na men", + "nam en", + "åħĦ å¼Ł", + "ืà¸Ń à¸Ĥ", + "èĤ ĥ", + "Ġb üny", + "Ġbü ny", + "ĠÑĢад Ñıн", + "ãĢģ äºĮ", + "ан нÑİ", + "Ġ æīĭæľº", + "Ġæīĭ æľº", + "ĠоÑģ лож", + "Ġо глÑı", + "Ġог лÑı", + "Ġسب ز", + "Ġaktiv it", + "Ġà¤ı प", + "ç« ľ", + "Ġd iren", + "Ġdi ren", + "Ġdir en", + "Ġdire n", + "i в", + "ĠY atırım", + "ÑĨÑĸй на", + "Ġдо мов", + "Ġдом ов", + "ẳ n", + "ĠC oÄŁraf", + "Ùģ ÙĪ", + "æ°Ĺ ãģ«åħ¥", + "ç§ģ ãģ®", + "ï½ į", + "à¥Į ड", + "ĠÐĵÑĢи гоÑĢ", + "ĠP eygamber", + "ĠPey gamber", + "Ġα γα", + "Ġαγ α", + "Ġef ekt", + "ĠìŀĪ ìĸ´ìĦľ", + "ĠìŀĪìĸ´ ìĦľ", + "ĠплаÑĤ еж", + "ĠT rab", + "ĠTr ab", + "ĠTra b", + "o very", + "ov ery", + "ove ry", + "over y", + "â̦â̦ ãĢĤ", + "Ġyap maya", + "Ġнайб ÑĸлÑĮ", + "ĠÙħÙĨ زÙĦ", + "ÙĪ ÙĬÙĥ", + "ÙĪÙĬ Ùĥ", + "ıl dıģında", + "ıldı ģında", + "ıldıģı nda", + "ĠpÅĻÃŃpad nÄĽ", + "ĠμÏĢο ÏģοÏį", + "Ġëĵľ ëĿ¼ë§Ī", + "Ġë°© 문", + "ĠС им", + "ĠСи м", + "Ú© ات", + "کا ت", + "е ком", + "ек ом", + "еко м", + "ر ÙĬع", + "رÙĬ ع", + "Ùĩد Ùģ", + "æĹı èĩªæ²»", + "Ġzm ÄĽn", + "ĠzmÄĽ n", + "Ġв клад", + "Ġвк лад", + "Ġ بÙĦغ", + "ĠبÙĦ غ", + "Ġ ç§ĭ", + "Ġç§ ĭ", + "N gh", + "Ng h", + "Ġend iÅŁ", + "ĠCumhurbaÅŁ kanı", + "ĠK af", + "ĠKa f", + "Ġ à¹ģหล", + "Ġà¹ģ หล", + "Ġmut lu", + "ĠÑģ иÑĢ", + "ĠÑģи ÑĢ", + "Ġг Ñĥм", + "æ¿ ĥ", + "çĤ ī", + "ĠB áo", + "à¥Ĥ ष", + "Ġìłķ íĻķ", + "ान स", + "ï» ¤", + "наÑģлÑĸд ок", + "po Äįet", + "poÄį et", + "ë§ĮìĽIJ ìŀħëĭĪëĭ¤", + "ĠìĦľìļ¸ íĬ¹ë³Ħìĭľ", + "Îķ ÎĻΣ", + "ÎķÎĻ Î£", + "ุม à¸Ĭà¸Ļ", + "Ġм ÑĸлÑĮ", + "ĠмÑĸ лÑĮ", + "æ ħĮ", + "æħ Į", + "Ïĥκε ÏĦαι", + "Ïĥκ εÏĦαι", + "Ġ ãĢľ", + "ĠãĢ ľ", + "Ġkal iteli", + "ĠÑģмеÑĢ ÑĤÑĮ", + "è¼ Ķ", + "Ġ биÑĤ", + "Ġб иÑĤ", + "Ġби ÑĤ", + "ĠΣ ÏĦο", + "à¸ĩà¹Ģศ ส", + "åİŁ æľ¬", + "Ġk nÃŃ", + "Ġkn ÃŃ", + "äºĴ èģĶç½ij", + "ĠÑĩеловеÑĩ еÑģ", + "çŃ Ĵ", + "à¸Īำ หà¸Ļ", + "åĩº åİ»", + "ãĤ¢ ãĥĭãĥ¡", + "å±ķ 示", + "r ych", + "ry ch", + "à¤ħ ब", + "o ÅĪ", + "jÃŃ cÃŃm", + "jÃŃcÃŃ m", + "ا ØŃØ«", + "اØŃ Ø«", + "ĠÙĪØ§ÙĤع ÛĮ", + "ĠФедеÑĢа лÑĮ", + "ĠФед еÑĢалÑĮ", + "Ñģ ам", + "Ñģа м", + "Ġ ìĺ¥", + "Ġìĺ ¥", + "åľ° çIJĥ", + "Ġs uyu", + "Ġsu yu", + "Ġsuy u", + "s eniz", + "sen iz", + "à¥ī फ", + "Ġê°Ļ ëĭ¤", + "ĠпÑĢизна ÑĩеннÑı", + "ĠпÑĢизнаÑĩ еннÑı", + "ĠS ın", + "ĠSı n", + "ĠاÙħÙĨ ÛĮت", + "Ġl átky", + "ĠÐij и", + "Ġsür eci", + "Ġsüre ci", + "Ġsürec i", + "·· ··", + "Ġê²½ ì°°", + "Ġк алÑĮ", + "Ġка лÑĮ", + "Ġкал ÑĮ", + "Ġник ÑĤо", + "Ùij Ùħ", + "ĠدÙĬ گر", + "Ġalın ması", + "л еннÑĸ", + "лен нÑĸ", + "ิว à¹Ģà¸ķà¸Ńร", + "à¸Ľà¸ģ à¸Ħรà¸Ńà¸ĩ", + "Ġзаконодав ÑģÑĤва", + "ãĢĢ ãĤ¤", + "Ġëħ¸ íķĺìļ°", + "ĠD Ã¼ÅŁ", + "Ġг ÑĥÑģÑĤ", + "ĠÐĴ аÑĪ", + "ĠاÙħ تÛĮ", + "Ġpar amet", + "Ġparam et", + "Ġpara met", + "ĠÎłÎ±Î½ εÏĢ", + "à¹Į à¸ģร", + "à¹Įà¸ģ ร", + "ζ α", + "ĠëįĶ ìļ±", + "ÙĪ ÙĦات", + "ÙĪÙĦ ات", + "ÙĪÙĦا ت", + "в аÑĤиÑģÑı", + "ва ÑĤиÑģÑı", + "ваÑĤи ÑģÑı", + "Ġk ök", + "Ġkö k", + "ÙĨ ب", + "ĠвÑĭÑģок ой", + "ãĥ¼ ãĥ¼", + "ãĥ¼ãĥ ¼", + "éĶ ¦" + ] + } +} \ No newline at end of file diff --git a/comfy/text_encoders/llama_tokenizer/tokenizer_config.json b/comfy/text_encoders/llama_tokenizer/tokenizer_config.json new file mode 100644 index 000000000..0b336f5a5 --- /dev/null +++ b/comfy/text_encoders/llama_tokenizer/tokenizer_config.json @@ -0,0 +1,2095 @@ +{ + "add_bos_token": true, + "add_eos_token": false, + "add_prefix_space": null, + "added_tokens_decoder": { + "128000": { + "content": "<|begin_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128001": { + "content": "<|end_of_text|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128002": { + "content": "<|reserved_special_token_0|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128003": { + "content": "<|reserved_special_token_1|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128004": { + "content": "<|reserved_special_token_2|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128005": { + "content": "<|reserved_special_token_3|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128006": { + "content": "<|start_header_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128007": { + "content": "<|end_header_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128008": { + "content": "<|reserved_special_token_4|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128009": { + "content": "<|eot_id|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128010": { + "content": "<|reserved_special_token_5|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128011": { + "content": "<|reserved_special_token_6|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128012": { + "content": "<|reserved_special_token_7|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128013": { + "content": "<|reserved_special_token_8|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128014": { + "content": "<|reserved_special_token_9|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128015": { + "content": "<|reserved_special_token_10|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128016": { + "content": "<|reserved_special_token_11|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128017": { + "content": "<|reserved_special_token_12|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128018": { + "content": "<|reserved_special_token_13|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128019": { + "content": "<|reserved_special_token_14|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128020": { + "content": "<|reserved_special_token_15|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128021": { + "content": "<|reserved_special_token_16|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128022": { + "content": "<|reserved_special_token_17|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128023": { + "content": "<|reserved_special_token_18|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128024": { + "content": "<|reserved_special_token_19|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128025": { + "content": "<|reserved_special_token_20|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128026": { + "content": "<|reserved_special_token_21|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128027": { + "content": "<|reserved_special_token_22|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128028": { + "content": "<|reserved_special_token_23|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128029": { + "content": "<|reserved_special_token_24|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128030": { + "content": "<|reserved_special_token_25|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128031": { + "content": "<|reserved_special_token_26|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128032": { + "content": "<|reserved_special_token_27|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128033": { + "content": "<|reserved_special_token_28|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128034": { + "content": "<|reserved_special_token_29|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128035": { + "content": "<|reserved_special_token_30|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128036": { + "content": "<|reserved_special_token_31|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128037": { + "content": "<|reserved_special_token_32|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128038": { + "content": "<|reserved_special_token_33|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128039": { + "content": "<|reserved_special_token_34|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128040": { + "content": "<|reserved_special_token_35|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128041": { + "content": "<|reserved_special_token_36|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128042": { + "content": "<|reserved_special_token_37|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128043": { + "content": "<|reserved_special_token_38|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128044": { + "content": "<|reserved_special_token_39|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128045": { + "content": "<|reserved_special_token_40|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128046": { + "content": "<|reserved_special_token_41|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128047": { + "content": "<|reserved_special_token_42|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128048": { + "content": "<|reserved_special_token_43|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128049": { + "content": "<|reserved_special_token_44|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128050": { + "content": "<|reserved_special_token_45|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128051": { + "content": "<|reserved_special_token_46|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128052": { + "content": "<|reserved_special_token_47|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128053": { + "content": "<|reserved_special_token_48|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128054": { + "content": "<|reserved_special_token_49|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128055": { + "content": "<|reserved_special_token_50|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128056": { + "content": "<|reserved_special_token_51|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128057": { + "content": "<|reserved_special_token_52|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128058": { + "content": "<|reserved_special_token_53|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128059": { + "content": "<|reserved_special_token_54|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128060": { + "content": "<|reserved_special_token_55|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128061": { + "content": "<|reserved_special_token_56|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128062": { + "content": "<|reserved_special_token_57|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128063": { + "content": "<|reserved_special_token_58|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128064": { + "content": "<|reserved_special_token_59|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128065": { + "content": "<|reserved_special_token_60|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128066": { + "content": "<|reserved_special_token_61|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128067": { + "content": "<|reserved_special_token_62|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128068": { + "content": "<|reserved_special_token_63|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128069": { + "content": "<|reserved_special_token_64|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128070": { + "content": "<|reserved_special_token_65|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128071": { + "content": "<|reserved_special_token_66|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128072": { + "content": "<|reserved_special_token_67|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128073": { + "content": "<|reserved_special_token_68|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128074": { + "content": "<|reserved_special_token_69|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128075": { + "content": "<|reserved_special_token_70|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128076": { + "content": "<|reserved_special_token_71|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128077": { + "content": "<|reserved_special_token_72|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128078": { + "content": "<|reserved_special_token_73|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128079": { + "content": "<|reserved_special_token_74|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128080": { + "content": "<|reserved_special_token_75|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128081": { + "content": "<|reserved_special_token_76|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128082": { + "content": "<|reserved_special_token_77|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128083": { + "content": "<|reserved_special_token_78|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128084": { + "content": "<|reserved_special_token_79|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128085": { + "content": "<|reserved_special_token_80|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128086": { + "content": "<|reserved_special_token_81|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128087": { + "content": "<|reserved_special_token_82|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128088": { + "content": "<|reserved_special_token_83|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128089": { + "content": "<|reserved_special_token_84|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128090": { + "content": "<|reserved_special_token_85|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128091": { + "content": "<|reserved_special_token_86|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128092": { + "content": "<|reserved_special_token_87|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128093": { + "content": "<|reserved_special_token_88|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128094": { + "content": "<|reserved_special_token_89|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128095": { + "content": "<|reserved_special_token_90|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128096": { + "content": "<|reserved_special_token_91|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128097": { + "content": "<|reserved_special_token_92|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128098": { + "content": "<|reserved_special_token_93|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128099": { + "content": "<|reserved_special_token_94|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128100": { + "content": "<|reserved_special_token_95|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128101": { + "content": "<|reserved_special_token_96|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128102": { + "content": "<|reserved_special_token_97|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128103": { + "content": "<|reserved_special_token_98|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128104": { + "content": "<|reserved_special_token_99|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128105": { + "content": "<|reserved_special_token_100|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128106": { + "content": "<|reserved_special_token_101|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128107": { + "content": "<|reserved_special_token_102|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128108": { + "content": "<|reserved_special_token_103|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128109": { + "content": "<|reserved_special_token_104|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128110": { + "content": "<|reserved_special_token_105|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128111": { + "content": "<|reserved_special_token_106|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128112": { + "content": "<|reserved_special_token_107|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128113": { + "content": "<|reserved_special_token_108|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128114": { + "content": "<|reserved_special_token_109|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128115": { + "content": "<|reserved_special_token_110|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128116": { + "content": "<|reserved_special_token_111|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128117": { + "content": "<|reserved_special_token_112|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128118": { + "content": "<|reserved_special_token_113|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128119": { + "content": "<|reserved_special_token_114|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128120": { + "content": "<|reserved_special_token_115|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128121": { + "content": "<|reserved_special_token_116|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128122": { + "content": "<|reserved_special_token_117|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128123": { + "content": "<|reserved_special_token_118|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128124": { + "content": "<|reserved_special_token_119|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128125": { + "content": "<|reserved_special_token_120|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128126": { + "content": "<|reserved_special_token_121|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128127": { + "content": "<|reserved_special_token_122|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128128": { + "content": "<|reserved_special_token_123|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128129": { + "content": "<|reserved_special_token_124|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128130": { + "content": "<|reserved_special_token_125|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128131": { + "content": "<|reserved_special_token_126|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128132": { + "content": "<|reserved_special_token_127|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128133": { + "content": "<|reserved_special_token_128|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128134": { + "content": "<|reserved_special_token_129|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128135": { + "content": "<|reserved_special_token_130|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128136": { + "content": "<|reserved_special_token_131|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128137": { + "content": "<|reserved_special_token_132|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128138": { + "content": "<|reserved_special_token_133|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128139": { + "content": "<|reserved_special_token_134|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128140": { + "content": "<|reserved_special_token_135|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128141": { + "content": "<|reserved_special_token_136|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128142": { + "content": "<|reserved_special_token_137|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128143": { + "content": "<|reserved_special_token_138|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128144": { + "content": "<|reserved_special_token_139|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128145": { + "content": "<|reserved_special_token_140|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128146": { + "content": "<|reserved_special_token_141|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128147": { + "content": "<|reserved_special_token_142|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128148": { + "content": "<|reserved_special_token_143|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128149": { + "content": "<|reserved_special_token_144|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128150": { + "content": "<|reserved_special_token_145|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128151": { + "content": "<|reserved_special_token_146|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128152": { + "content": "<|reserved_special_token_147|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128153": { + "content": "<|reserved_special_token_148|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128154": { + "content": "<|reserved_special_token_149|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128155": { + "content": "<|reserved_special_token_150|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128156": { + "content": "<|reserved_special_token_151|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128157": { + "content": "<|reserved_special_token_152|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128158": { + "content": "<|reserved_special_token_153|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128159": { + "content": "<|reserved_special_token_154|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128160": { + "content": "<|reserved_special_token_155|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128161": { + "content": "<|reserved_special_token_156|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128162": { + "content": "<|reserved_special_token_157|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128163": { + "content": "<|reserved_special_token_158|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128164": { + "content": "<|reserved_special_token_159|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128165": { + "content": "<|reserved_special_token_160|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128166": { + "content": "<|reserved_special_token_161|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128167": { + "content": "<|reserved_special_token_162|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128168": { + "content": "<|reserved_special_token_163|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128169": { + "content": "<|reserved_special_token_164|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128170": { + "content": "<|reserved_special_token_165|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128171": { + "content": "<|reserved_special_token_166|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128172": { + "content": "<|reserved_special_token_167|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128173": { + "content": "<|reserved_special_token_168|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128174": { + "content": "<|reserved_special_token_169|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128175": { + "content": "<|reserved_special_token_170|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128176": { + "content": "<|reserved_special_token_171|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128177": { + "content": "<|reserved_special_token_172|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128178": { + "content": "<|reserved_special_token_173|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128179": { + "content": "<|reserved_special_token_174|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128180": { + "content": "<|reserved_special_token_175|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128181": { + "content": "<|reserved_special_token_176|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128182": { + "content": "<|reserved_special_token_177|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128183": { + "content": "<|reserved_special_token_178|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128184": { + "content": "<|reserved_special_token_179|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128185": { + "content": "<|reserved_special_token_180|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128186": { + "content": "<|reserved_special_token_181|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128187": { + "content": "<|reserved_special_token_182|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128188": { + "content": "<|reserved_special_token_183|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128189": { + "content": "<|reserved_special_token_184|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128190": { + "content": "<|reserved_special_token_185|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128191": { + "content": "<|reserved_special_token_186|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128192": { + "content": "<|reserved_special_token_187|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128193": { + "content": "<|reserved_special_token_188|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128194": { + "content": "<|reserved_special_token_189|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128195": { + "content": "<|reserved_special_token_190|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128196": { + "content": "<|reserved_special_token_191|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128197": { + "content": "<|reserved_special_token_192|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128198": { + "content": "<|reserved_special_token_193|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128199": { + "content": "<|reserved_special_token_194|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128200": { + "content": "<|reserved_special_token_195|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128201": { + "content": "<|reserved_special_token_196|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128202": { + "content": "<|reserved_special_token_197|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128203": { + "content": "<|reserved_special_token_198|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128204": { + "content": "<|reserved_special_token_199|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128205": { + "content": "<|reserved_special_token_200|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128206": { + "content": "<|reserved_special_token_201|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128207": { + "content": "<|reserved_special_token_202|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128208": { + "content": "<|reserved_special_token_203|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128209": { + "content": "<|reserved_special_token_204|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128210": { + "content": "<|reserved_special_token_205|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128211": { + "content": "<|reserved_special_token_206|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128212": { + "content": "<|reserved_special_token_207|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128213": { + "content": "<|reserved_special_token_208|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128214": { + "content": "<|reserved_special_token_209|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128215": { + "content": "<|reserved_special_token_210|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128216": { + "content": "<|reserved_special_token_211|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128217": { + "content": "<|reserved_special_token_212|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128218": { + "content": "<|reserved_special_token_213|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128219": { + "content": "<|reserved_special_token_214|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128220": { + "content": "<|reserved_special_token_215|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128221": { + "content": "<|reserved_special_token_216|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128222": { + "content": "<|reserved_special_token_217|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128223": { + "content": "<|reserved_special_token_218|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128224": { + "content": "<|reserved_special_token_219|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128225": { + "content": "<|reserved_special_token_220|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128226": { + "content": "<|reserved_special_token_221|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128227": { + "content": "<|reserved_special_token_222|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128228": { + "content": "<|reserved_special_token_223|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128229": { + "content": "<|reserved_special_token_224|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128230": { + "content": "<|reserved_special_token_225|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128231": { + "content": "<|reserved_special_token_226|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128232": { + "content": "<|reserved_special_token_227|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128233": { + "content": "<|reserved_special_token_228|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128234": { + "content": "<|reserved_special_token_229|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128235": { + "content": "<|reserved_special_token_230|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128236": { + "content": "<|reserved_special_token_231|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128237": { + "content": "<|reserved_special_token_232|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128238": { + "content": "<|reserved_special_token_233|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128239": { + "content": "<|reserved_special_token_234|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128240": { + "content": "<|reserved_special_token_235|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128241": { + "content": "<|reserved_special_token_236|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128242": { + "content": "<|reserved_special_token_237|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128243": { + "content": "<|reserved_special_token_238|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128244": { + "content": "<|reserved_special_token_239|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128245": { + "content": "<|reserved_special_token_240|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128246": { + "content": "<|reserved_special_token_241|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128247": { + "content": "<|reserved_special_token_242|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128248": { + "content": "<|reserved_special_token_243|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128249": { + "content": "<|reserved_special_token_244|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128250": { + "content": "<|reserved_special_token_245|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128251": { + "content": "<|reserved_special_token_246|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128252": { + "content": "<|reserved_special_token_247|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128253": { + "content": "<|reserved_special_token_248|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128254": { + "content": "<|reserved_special_token_249|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128255": { + "content": "<|reserved_special_token_250|>", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128256": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128257": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + }, + "128258": { + "content": "", + "lstrip": false, + "normalized": false, + "rstrip": false, + "single_word": false, + "special": true + } + }, + "bos_token": "<|begin_of_text|>", + "chat_template": "{% set loop_messages = messages %}{% for message in loop_messages %}{% set content = '<|start_header_id|>' + message['role'] + '<|end_header_id|>\n\n'+ message['content'] | trim + '<|eot_id|>' %}{% if loop.index0 == 0 %}{% set content = bos_token + content %}{% endif %}{{ content }}{% endfor %}{{ '<|start_header_id|>assistant<|end_header_id|>\n\n' }}", + "clean_up_tokenization_spaces": true, + "eos_token": "<|end_of_text|>", + "legacy": true, + "model_input_names": [ + "input_ids", + "attention_mask" + ], + "model_max_length": 1000000000000000019884624838656, + "pad_token": "", + "padding_side": "right", + "processor_class": "LlavaProcessor", + "tokenizer_class": "LlamaTokenizer", + "unk_token": "", + "use_default_system_prompt": false +} diff --git a/comfy/text_encoders/long_clipl.py b/comfy/text_encoders/long_clipl.py index 4677fb3b0..b81912cb3 100644 --- a/comfy/text_encoders/long_clipl.py +++ b/comfy/text_encoders/long_clipl.py @@ -6,9 +6,9 @@ class LongClipTokenizer_(sd1_clip.SDTokenizer): super().__init__(max_length=248, embedding_directory=embedding_directory, tokenizer_data=tokenizer_data) class LongClipModel_(sd1_clip.SDClipModel): - def __init__(self, device="cpu", dtype=None, model_options={}): + def __init__(self, *args, **kwargs): textmodel_json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "long_clipl.json") - super().__init__(device=device, textmodel_json_config=textmodel_json_config, return_projected_pooled=False, dtype=dtype, model_options=model_options) + super().__init__(*args, textmodel_json_config=textmodel_json_config, **kwargs) class LongClipTokenizer(sd1_clip.SD1Tokenizer): def __init__(self, embedding_directory=None, tokenizer_data={}): @@ -17,3 +17,14 @@ class LongClipTokenizer(sd1_clip.SD1Tokenizer): class LongClipModel(sd1_clip.SD1ClipModel): def __init__(self, device="cpu", dtype=None, model_options={}, **kwargs): super().__init__(device=device, dtype=dtype, model_options=model_options, clip_model=LongClipModel_, **kwargs) + +def model_options_long_clip(sd, tokenizer_data, model_options): + w = sd.get("clip_l.text_model.embeddings.position_embedding.weight", None) + if w is None: + w = sd.get("text_model.embeddings.position_embedding.weight", None) + if w is not None and w.shape[0] == 248: + tokenizer_data = tokenizer_data.copy() + model_options = model_options.copy() + tokenizer_data["clip_l_tokenizer_class"] = LongClipTokenizer_ + model_options["clip_l_class"] = LongClipModel_ + return tokenizer_data, model_options diff --git a/comfy/text_encoders/lt.py b/comfy/text_encoders/lt.py new file mode 100644 index 000000000..5c2ce583f --- /dev/null +++ b/comfy/text_encoders/lt.py @@ -0,0 +1,18 @@ +from comfy import sd1_clip +import os +from transformers import T5TokenizerFast +import comfy.text_encoders.genmo + +class T5XXLTokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_tokenizer") + super().__init__(tokenizer_path, embedding_directory=embedding_directory, pad_with_end=False, embedding_size=4096, embedding_key='t5xxl', tokenizer_class=T5TokenizerFast, has_start_token=False, pad_to_max_length=False, max_length=99999999, min_length=128) #pad to 128? + + +class LTXVT5Tokenizer(sd1_clip.SD1Tokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, clip_name="t5xxl", tokenizer=T5XXLTokenizer) + + +def ltxv_te(*args, **kwargs): + return comfy.text_encoders.genmo.mochi_te(*args, **kwargs) diff --git a/comfy/text_encoders/pixart_t5.py b/comfy/text_encoders/pixart_t5.py new file mode 100644 index 000000000..d56d57f1b --- /dev/null +++ b/comfy/text_encoders/pixart_t5.py @@ -0,0 +1,42 @@ +import os + +from comfy import sd1_clip +import comfy.text_encoders.t5 +import comfy.text_encoders.sd3_clip +from comfy.sd1_clip import gen_empty_tokens + +from transformers import T5TokenizerFast + +class T5XXLModel(comfy.text_encoders.sd3_clip.T5XXLModel): + def __init__(self, **kwargs): + super().__init__(**kwargs) + + def gen_empty_tokens(self, special_tokens, *args, **kwargs): + # PixArt expects the negative to be all pad tokens + special_tokens = special_tokens.copy() + special_tokens.pop("end") + return gen_empty_tokens(special_tokens, *args, **kwargs) + +class PixArtT5XXL(sd1_clip.SD1ClipModel): + def __init__(self, device="cpu", dtype=None, model_options={}): + super().__init__(device=device, dtype=dtype, name="t5xxl", clip_model=T5XXLModel, model_options=model_options) + +class T5XXLTokenizer(sd1_clip.SDTokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + tokenizer_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_tokenizer") + super().__init__(tokenizer_path, embedding_directory=embedding_directory, pad_with_end=False, embedding_size=4096, embedding_key='t5xxl', tokenizer_class=T5TokenizerFast, has_start_token=False, pad_to_max_length=False, max_length=99999999, min_length=1) # no padding + +class PixArtTokenizer(sd1_clip.SD1Tokenizer): + def __init__(self, embedding_directory=None, tokenizer_data={}): + super().__init__(embedding_directory=embedding_directory, tokenizer_data=tokenizer_data, clip_name="t5xxl", tokenizer=T5XXLTokenizer) + +def pixart_te(dtype_t5=None, t5xxl_scaled_fp8=None): + class PixArtTEModel_(PixArtT5XXL): + def __init__(self, device="cpu", dtype=None, model_options={}): + if t5xxl_scaled_fp8 is not None and "t5xxl_scaled_fp8" not in model_options: + model_options = model_options.copy() + model_options["t5xxl_scaled_fp8"] = t5xxl_scaled_fp8 + if dtype is None: + dtype = dtype_t5 + super().__init__(device=device, dtype=dtype, model_options=model_options) + return PixArtTEModel_ diff --git a/comfy/text_encoders/sd3_clip.py b/comfy/text_encoders/sd3_clip.py index e3832ac24..00d7e31ad 100644 --- a/comfy/text_encoders/sd3_clip.py +++ b/comfy/text_encoders/sd3_clip.py @@ -8,9 +8,27 @@ import comfy.model_management import logging class T5XXLModel(sd1_clip.SDClipModel): - def __init__(self, device="cpu", layer="last", layer_idx=None, dtype=None, model_options={}): + def __init__(self, device="cpu", layer="last", layer_idx=None, dtype=None, attention_mask=False, model_options={}): textmodel_json_config = os.path.join(os.path.dirname(os.path.realpath(__file__)), "t5_config_xxl.json") - super().__init__(device=device, layer=layer, layer_idx=layer_idx, textmodel_json_config=textmodel_json_config, dtype=dtype, special_tokens={"end": 1, "pad": 0}, model_class=comfy.text_encoders.t5.T5, model_options=model_options) + t5xxl_scaled_fp8 = model_options.get("t5xxl_scaled_fp8", None) + if t5xxl_scaled_fp8 is not None: + model_options = model_options.copy() + model_options["scaled_fp8"] = t5xxl_scaled_fp8 + + super().__init__(device=device, layer=layer, layer_idx=layer_idx, textmodel_json_config=textmodel_json_config, dtype=dtype, special_tokens={"end": 1, "pad": 0}, model_class=comfy.text_encoders.t5.T5, enable_attention_masks=attention_mask, return_attention_masks=attention_mask, model_options=model_options) + + +def t5_xxl_detect(state_dict, prefix=""): + out = {} + t5_key = "{}encoder.final_layer_norm.weight".format(prefix) + if t5_key in state_dict: + out["dtype_t5"] = state_dict[t5_key].dtype + + scaled_fp8_key = "{}scaled_fp8".format(prefix) + if scaled_fp8_key in state_dict: + out["t5xxl_scaled_fp8"] = state_dict[scaled_fp8_key].dtype + + return out class T5XXLTokenizer(sd1_clip.SDTokenizer): def __init__(self, embedding_directory=None, tokenizer_data={}): @@ -20,7 +38,8 @@ class T5XXLTokenizer(sd1_clip.SDTokenizer): class SD3Tokenizer: def __init__(self, embedding_directory=None, tokenizer_data={}): - self.clip_l = sd1_clip.SDTokenizer(embedding_directory=embedding_directory) + clip_l_tokenizer_class = tokenizer_data.get("clip_l_tokenizer_class", sd1_clip.SDTokenizer) + self.clip_l = clip_l_tokenizer_class(embedding_directory=embedding_directory) self.clip_g = sdxl_clip.SDXLClipGTokenizer(embedding_directory=embedding_directory) self.t5xxl = T5XXLTokenizer(embedding_directory=embedding_directory) @@ -38,11 +57,12 @@ class SD3Tokenizer: return {} class SD3ClipModel(torch.nn.Module): - def __init__(self, clip_l=True, clip_g=True, t5=True, dtype_t5=None, device="cpu", dtype=None, model_options={}): + def __init__(self, clip_l=True, clip_g=True, t5=True, dtype_t5=None, t5_attention_mask=False, device="cpu", dtype=None, model_options={}): super().__init__() self.dtypes = set() if clip_l: - self.clip_l = sd1_clip.SDClipModel(layer="hidden", layer_idx=-2, device=device, dtype=dtype, layer_norm_hidden_state=False, return_projected_pooled=False, model_options=model_options) + clip_l_class = model_options.get("clip_l_class", sd1_clip.SDClipModel) + self.clip_l = clip_l_class(layer="hidden", layer_idx=-2, device=device, dtype=dtype, layer_norm_hidden_state=False, return_projected_pooled=False, model_options=model_options) self.dtypes.add(dtype) else: self.clip_l = None @@ -55,7 +75,8 @@ class SD3ClipModel(torch.nn.Module): if t5: dtype_t5 = comfy.model_management.pick_weight_dtype(dtype_t5, dtype, device) - self.t5xxl = T5XXLModel(device=device, dtype=dtype_t5, model_options=model_options) + self.t5_attention_mask = t5_attention_mask + self.t5xxl = T5XXLModel(device=device, dtype=dtype_t5, model_options=model_options, attention_mask=self.t5_attention_mask) self.dtypes.add(dtype_t5) else: self.t5xxl = None @@ -85,6 +106,7 @@ class SD3ClipModel(torch.nn.Module): lg_out = None pooled = None out = None + extra = {} if len(token_weight_pairs_g) > 0 or len(token_weight_pairs_l) > 0: if self.clip_l is not None: @@ -95,7 +117,8 @@ class SD3ClipModel(torch.nn.Module): if self.clip_g is not None: g_out, g_pooled = self.clip_g.encode_token_weights(token_weight_pairs_g) if lg_out is not None: - lg_out = torch.cat([lg_out, g_out], dim=-1) + cut_to = min(lg_out.shape[1], g_out.shape[1]) + lg_out = torch.cat([lg_out[:,:cut_to], g_out[:,:cut_to]], dim=-1) else: lg_out = torch.nn.functional.pad(g_out, (768, 0)) else: @@ -108,7 +131,11 @@ class SD3ClipModel(torch.nn.Module): pooled = torch.cat((l_pooled, g_pooled), dim=-1) if self.t5xxl is not None: - t5_out, t5_pooled = self.t5xxl.encode_token_weights(token_weight_pairs_t5) + t5_output = self.t5xxl.encode_token_weights(token_weight_pairs_t5) + t5_out, t5_pooled = t5_output[:2] + if self.t5_attention_mask: + extra["attention_mask"] = t5_output[2]["attention_mask"] + if lg_out is not None: out = torch.cat([lg_out, t5_out], dim=-2) else: @@ -120,7 +147,7 @@ class SD3ClipModel(torch.nn.Module): if pooled is None: pooled = torch.zeros((1, 768 + 1280), device=comfy.model_management.intermediate_device()) - return out, pooled + return out, pooled, extra def load_sd(self, sd): if "text_model.encoder.layers.30.mlp.fc1.weight" in sd: @@ -130,8 +157,11 @@ class SD3ClipModel(torch.nn.Module): else: return self.t5xxl.load_sd(sd) -def sd3_clip(clip_l=True, clip_g=True, t5=True, dtype_t5=None): +def sd3_clip(clip_l=True, clip_g=True, t5=True, dtype_t5=None, t5xxl_scaled_fp8=None, t5_attention_mask=False): class SD3ClipModel_(SD3ClipModel): def __init__(self, device="cpu", dtype=None, model_options={}): - super().__init__(clip_l=clip_l, clip_g=clip_g, t5=t5, dtype_t5=dtype_t5, device=device, dtype=dtype, model_options=model_options) + if t5xxl_scaled_fp8 is not None and "t5xxl_scaled_fp8" not in model_options: + model_options = model_options.copy() + model_options["t5xxl_scaled_fp8"] = t5xxl_scaled_fp8 + super().__init__(clip_l=clip_l, clip_g=clip_g, t5=t5, dtype_t5=dtype_t5, t5_attention_mask=t5_attention_mask, device=device, dtype=dtype, model_options=model_options) return SD3ClipModel_ diff --git a/comfy/text_encoders/spiece_tokenizer.py b/comfy/text_encoders/spiece_tokenizer.py index 73739553d..cbaa99ba5 100644 --- a/comfy/text_encoders/spiece_tokenizer.py +++ b/comfy/text_encoders/spiece_tokenizer.py @@ -1,4 +1,3 @@ -import os import torch class SPieceTokenizer: diff --git a/comfy/text_encoders/t5.py b/comfy/text_encoders/t5.py index a1420c6cd..7405528e2 100644 --- a/comfy/text_encoders/t5.py +++ b/comfy/text_encoders/t5.py @@ -172,7 +172,6 @@ class T5LayerSelfAttention(torch.nn.Module): # self.dropout = nn.Dropout(config.dropout_rate) def forward(self, x, mask=None, past_bias=None, optimized_attention=None): - normed_hidden_states = self.layer_norm(x) output, past_bias = self.SelfAttention(self.layer_norm(x), mask=mask, past_bias=past_bias, optimized_attention=optimized_attention) # x = x + self.dropout(attention_output) x += output @@ -209,6 +208,11 @@ class T5Stack(torch.nn.Module): intermediate = None optimized_attention = optimized_attention_for_device(x.device, mask=attention_mask is not None, small_input=True) past_bias = None + + if intermediate_output is not None: + if intermediate_output < 0: + intermediate_output = len(self.block) + intermediate_output + for i, l in enumerate(self.block): x, past_bias = l(x, mask, past_bias, optimized_attention) if i == intermediate_output: @@ -223,8 +227,9 @@ class T5(torch.nn.Module): super().__init__() self.num_layers = config_dict["num_layers"] model_dim = config_dict["d_model"] + inner_dim = config_dict["d_kv"] * config_dict["num_heads"] - self.encoder = T5Stack(self.num_layers, model_dim, model_dim, config_dict["d_ff"], config_dict["dense_act_fn"], config_dict["is_gated_act"], config_dict["num_heads"], config_dict["model_type"] != "umt5", dtype, device, operations) + self.encoder = T5Stack(self.num_layers, model_dim, inner_dim, config_dict["d_ff"], config_dict["dense_act_fn"], config_dict["is_gated_act"], config_dict["num_heads"], config_dict["model_type"] != "umt5", dtype, device, operations) self.dtype = dtype self.shared = operations.Embedding(config_dict["vocab_size"], model_dim, device=device, dtype=dtype) diff --git a/comfy/text_encoders/t5_old_config_xxl.json b/comfy/text_encoders/t5_old_config_xxl.json new file mode 100644 index 000000000..c9fdd7782 --- /dev/null +++ b/comfy/text_encoders/t5_old_config_xxl.json @@ -0,0 +1,22 @@ +{ + "d_ff": 65536, + "d_kv": 128, + "d_model": 1024, + "decoder_start_token_id": 0, + "dropout_rate": 0.1, + "eos_token_id": 1, + "dense_act_fn": "relu", + "initializer_factor": 1.0, + "is_encoder_decoder": true, + "is_gated_act": false, + "layer_norm_epsilon": 1e-06, + "model_type": "t5", + "num_decoder_layers": 24, + "num_heads": 128, + "num_layers": 24, + "output_past": true, + "pad_token_id": 0, + "relative_attention_num_buckets": 32, + "tie_word_embeddings": false, + "vocab_size": 32128 +} diff --git a/comfy/utils.py b/comfy/utils.py index 1bc35df7a..c901347c4 100644 --- a/comfy/utils.py +++ b/comfy/utils.py @@ -26,18 +26,42 @@ import numpy as np from PIL import Image import logging import itertools +from torch.nn.functional import interpolate +from einops import rearrange + +ALWAYS_SAFE_LOAD = False +if hasattr(torch.serialization, "add_safe_globals"): # TODO: this was added in pytorch 2.4, the unsafe path should be removed once earlier versions are deprecated + class ModelCheckpoint: + pass + ModelCheckpoint.__module__ = "pytorch_lightning.callbacks.model_checkpoint" + + from numpy.core.multiarray import scalar + from numpy import dtype + from numpy.dtypes import Float64DType + from _codecs import encode + + torch.serialization.add_safe_globals([ModelCheckpoint, scalar, dtype, Float64DType, encode]) + ALWAYS_SAFE_LOAD = True + logging.info("Checkpoint files will always be loaded safely.") +else: + logging.info("Warning, you are using an old pytorch version and some ckpt/pt files might be loaded unsafely. Upgrading to 2.4 or above is recommended.") def load_torch_file(ckpt, safe_load=False, device=None): if device is None: device = torch.device("cpu") if ckpt.lower().endswith(".safetensors") or ckpt.lower().endswith(".sft"): - sd = safetensors.torch.load_file(ckpt, device=device.type) + try: + sd = safetensors.torch.load_file(ckpt, device=device.type) + except Exception as e: + if len(e.args) > 0: + message = e.args[0] + if "HeaderTooLarge" in message: + raise ValueError("{}\n\nFile path: {}\n\nThe safetensors file is corrupt or invalid. Make sure this is actually a safetensors file and not a ckpt or pt or other filetype.".format(message, ckpt)) + if "MetadataIncompleteBuffer" in message: + raise ValueError("{}\n\nFile path: {}\n\nThe safetensors file is incomplete. Check the file size and make sure you have copied/downloaded it correctly.".format(message, ckpt)) + raise e else: - if safe_load: - if not 'weights_only' in torch.load.__code__.co_varnames: - logging.warning("Warning torch.load doesn't support weights_only on this pytorch version, loading unsafely.") - safe_load = False - if safe_load: + if safe_load or ALWAYS_SAFE_LOAD: pl_sd = torch.load(ckpt, map_location=device, weights_only=True) else: pl_sd = torch.load(ckpt, map_location=device, pickle_module=comfy.checkpoint_pickle) @@ -46,7 +70,13 @@ def load_torch_file(ckpt, safe_load=False, device=None): if "state_dict" in pl_sd: sd = pl_sd["state_dict"] else: - sd = pl_sd + if len(pl_sd) == 1: + key = list(pl_sd.keys())[0] + sd = pl_sd[key] + if not isinstance(sd, dict): + sd = pl_sd + else: + sd = pl_sd return sd def save_torch_file(sd, ckpt, metadata=None): @@ -68,7 +98,7 @@ def weight_dtype(sd, prefix=""): for k in sd.keys(): if k.startswith(prefix): w = sd[k] - dtypes[w.dtype] = dtypes.get(w.dtype, 0) + 1 + dtypes[w.dtype] = dtypes.get(w.dtype, 0) + w.numel() if len(dtypes) == 0: return None @@ -316,10 +346,18 @@ MMDIT_MAP_BLOCK = { ("context_block.mlp.fc1.weight", "ff_context.net.0.proj.weight"), ("context_block.mlp.fc2.bias", "ff_context.net.2.bias"), ("context_block.mlp.fc2.weight", "ff_context.net.2.weight"), + ("context_block.attn.ln_q.weight", "attn.norm_added_q.weight"), + ("context_block.attn.ln_k.weight", "attn.norm_added_k.weight"), ("x_block.adaLN_modulation.1.bias", "norm1.linear.bias"), ("x_block.adaLN_modulation.1.weight", "norm1.linear.weight"), ("x_block.attn.proj.bias", "attn.to_out.0.bias"), ("x_block.attn.proj.weight", "attn.to_out.0.weight"), + ("x_block.attn.ln_q.weight", "attn.norm_q.weight"), + ("x_block.attn.ln_k.weight", "attn.norm_k.weight"), + ("x_block.attn2.proj.bias", "attn2.to_out.0.bias"), + ("x_block.attn2.proj.weight", "attn2.to_out.0.weight"), + ("x_block.attn2.ln_q.weight", "attn2.norm_q.weight"), + ("x_block.attn2.ln_k.weight", "attn2.norm_k.weight"), ("x_block.mlp.fc1.bias", "ff.net.0.proj.bias"), ("x_block.mlp.fc1.weight", "ff.net.0.proj.weight"), ("x_block.mlp.fc2.bias", "ff.net.2.bias"), @@ -349,6 +387,12 @@ def mmdit_to_diffusers(mmdit_config, output_prefix=""): key_map["{}add_k_proj.{}".format(k, end)] = (qkv, (0, offset, offset)) key_map["{}add_v_proj.{}".format(k, end)] = (qkv, (0, offset * 2, offset)) + k = "{}.attn2.".format(block_from) + qkv = "{}.x_block.attn2.qkv.{}".format(block_to, end) + key_map["{}to_q.{}".format(k, end)] = (qkv, (0, 0, offset)) + key_map["{}to_k.{}".format(k, end)] = (qkv, (0, offset, offset)) + key_map["{}to_v.{}".format(k, end)] = (qkv, (0, offset * 2, offset)) + for k in MMDIT_MAP_BLOCK: key_map["{}.{}".format(block_from, k[1])] = "{}.{}".format(block_to, k[0]) @@ -364,6 +408,77 @@ def mmdit_to_diffusers(mmdit_config, output_prefix=""): return key_map +PIXART_MAP_BASIC = { + ("csize_embedder.mlp.0.weight", "adaln_single.emb.resolution_embedder.linear_1.weight"), + ("csize_embedder.mlp.0.bias", "adaln_single.emb.resolution_embedder.linear_1.bias"), + ("csize_embedder.mlp.2.weight", "adaln_single.emb.resolution_embedder.linear_2.weight"), + ("csize_embedder.mlp.2.bias", "adaln_single.emb.resolution_embedder.linear_2.bias"), + ("ar_embedder.mlp.0.weight", "adaln_single.emb.aspect_ratio_embedder.linear_1.weight"), + ("ar_embedder.mlp.0.bias", "adaln_single.emb.aspect_ratio_embedder.linear_1.bias"), + ("ar_embedder.mlp.2.weight", "adaln_single.emb.aspect_ratio_embedder.linear_2.weight"), + ("ar_embedder.mlp.2.bias", "adaln_single.emb.aspect_ratio_embedder.linear_2.bias"), + ("x_embedder.proj.weight", "pos_embed.proj.weight"), + ("x_embedder.proj.bias", "pos_embed.proj.bias"), + ("y_embedder.y_embedding", "caption_projection.y_embedding"), + ("y_embedder.y_proj.fc1.weight", "caption_projection.linear_1.weight"), + ("y_embedder.y_proj.fc1.bias", "caption_projection.linear_1.bias"), + ("y_embedder.y_proj.fc2.weight", "caption_projection.linear_2.weight"), + ("y_embedder.y_proj.fc2.bias", "caption_projection.linear_2.bias"), + ("t_embedder.mlp.0.weight", "adaln_single.emb.timestep_embedder.linear_1.weight"), + ("t_embedder.mlp.0.bias", "adaln_single.emb.timestep_embedder.linear_1.bias"), + ("t_embedder.mlp.2.weight", "adaln_single.emb.timestep_embedder.linear_2.weight"), + ("t_embedder.mlp.2.bias", "adaln_single.emb.timestep_embedder.linear_2.bias"), + ("t_block.1.weight", "adaln_single.linear.weight"), + ("t_block.1.bias", "adaln_single.linear.bias"), + ("final_layer.linear.weight", "proj_out.weight"), + ("final_layer.linear.bias", "proj_out.bias"), + ("final_layer.scale_shift_table", "scale_shift_table"), +} + +PIXART_MAP_BLOCK = { + ("scale_shift_table", "scale_shift_table"), + ("attn.proj.weight", "attn1.to_out.0.weight"), + ("attn.proj.bias", "attn1.to_out.0.bias"), + ("mlp.fc1.weight", "ff.net.0.proj.weight"), + ("mlp.fc1.bias", "ff.net.0.proj.bias"), + ("mlp.fc2.weight", "ff.net.2.weight"), + ("mlp.fc2.bias", "ff.net.2.bias"), + ("cross_attn.proj.weight" ,"attn2.to_out.0.weight"), + ("cross_attn.proj.bias" ,"attn2.to_out.0.bias"), +} + +def pixart_to_diffusers(mmdit_config, output_prefix=""): + key_map = {} + + depth = mmdit_config.get("depth", 0) + offset = mmdit_config.get("hidden_size", 1152) + + for i in range(depth): + block_from = "transformer_blocks.{}".format(i) + block_to = "{}blocks.{}".format(output_prefix, i) + + for end in ("weight", "bias"): + s = "{}.attn1.".format(block_from) + qkv = "{}.attn.qkv.{}".format(block_to, end) + key_map["{}to_q.{}".format(s, end)] = (qkv, (0, 0, offset)) + key_map["{}to_k.{}".format(s, end)] = (qkv, (0, offset, offset)) + key_map["{}to_v.{}".format(s, end)] = (qkv, (0, offset * 2, offset)) + + s = "{}.attn2.".format(block_from) + q = "{}.cross_attn.q_linear.{}".format(block_to, end) + kv = "{}.cross_attn.kv_linear.{}".format(block_to, end) + + key_map["{}to_q.{}".format(s, end)] = q + key_map["{}to_k.{}".format(s, end)] = (kv, (0, 0, offset)) + key_map["{}to_v.{}".format(s, end)] = (kv, (0, offset, offset)) + + for k in PIXART_MAP_BLOCK: + key_map["{}.{}".format(block_from, k[1])] = "{}.{}".format(block_to, k[0]) + + for k in PIXART_MAP_BASIC: + key_map[k[1]] = "{}{}".format(output_prefix, k[0]) + + return key_map def auraflow_to_diffusers(mmdit_config, output_prefix=""): n_double_layers = mmdit_config.get("n_double_layers", 0) @@ -600,7 +715,25 @@ def copy_to_param(obj, attr, value): prev = getattr(obj, attrs[-1]) prev.data.copy_(value) -def get_attr(obj, attr): +def get_attr(obj, attr: str): + """Retrieves a nested attribute from an object using dot notation. + + Args: + obj: The object to get the attribute from + attr (str): The attribute path using dot notation (e.g. "model.layer.weight") + + Returns: + The value of the requested attribute + + Example: + model = MyModel() + weight = get_attr(model, "layer1.conv.weight") + # Equivalent to: model.layer1.conv.weight + + Important: + Always prefer `comfy.model_patcher.ModelPatcher.get_model_object` when + accessing nested model objects under `ModelPatcher.model`. + """ attrs = attr.split(".") for name in attrs: obj = getattr(obj, name) @@ -609,7 +742,7 @@ def get_attr(obj, attr): def bislerp(samples, width, height): def slerp(b1, b2, r): '''slerps batches b1, b2 according to ratio r, batches should be flat e.g. NxC''' - + c = b1.shape[-1] #norms @@ -634,16 +767,16 @@ def bislerp(samples, width, height): res *= (b1_norms * (1.0-r) + b2_norms * r).expand(-1,c) #edge cases for same or polar opposites - res[dot > 1 - 1e-5] = b1[dot > 1 - 1e-5] + res[dot > 1 - 1e-5] = b1[dot > 1 - 1e-5] res[dot < 1e-5 - 1] = (b1 * (1.0-r) + b2 * r)[dot < 1e-5 - 1] return res - + def generate_bilinear_data(length_old, length_new, device): coords_1 = torch.arange(length_old, dtype=torch.float32, device=device).reshape((1,1,1,-1)) coords_1 = torch.nn.functional.interpolate(coords_1, size=(1, length_new), mode="bilinear") ratios = coords_1 - coords_1.floor() coords_1 = coords_1.to(torch.int64) - + coords_2 = torch.arange(length_old, dtype=torch.float32, device=device).reshape((1,1,1,-1)) + 1 coords_2[:,:,:,-1] -= 1 coords_2 = torch.nn.functional.interpolate(coords_2, size=(1, length_new), mode="bilinear") @@ -654,7 +787,7 @@ def bislerp(samples, width, height): samples = samples.float() n,c,h,w = samples.shape h_new, w_new = (height, width) - + #linear w ratios, coords_1, coords_2 = generate_bilinear_data(w, w_new, samples.device) coords_1 = coords_1.expand((n, c, h, -1)) @@ -690,9 +823,14 @@ def lanczos(samples, width, height): return result.to(samples.device, samples.dtype) def common_upscale(samples, width, height, upscale_method, crop): + orig_shape = tuple(samples.shape) + if len(orig_shape) > 4: + samples = samples.reshape(samples.shape[0], samples.shape[1], -1, samples.shape[-2], samples.shape[-1]) + samples = samples.movedim(2, 1) + samples = samples.reshape(-1, orig_shape[1], orig_shape[-2], orig_shape[-1]) if crop == "center": - old_width = samples.shape[3] - old_height = samples.shape[2] + old_width = samples.shape[-1] + old_height = samples.shape[-2] old_aspect = old_width / old_height new_aspect = width / height x = 0 @@ -701,48 +839,123 @@ def common_upscale(samples, width, height, upscale_method, crop): x = round((old_width - old_width * (new_aspect / old_aspect)) / 2) elif old_aspect < new_aspect: y = round((old_height - old_height * (old_aspect / new_aspect)) / 2) - s = samples[:,:,y:old_height-y,x:old_width-x] + s = samples.narrow(-2, y, old_height - y * 2).narrow(-1, x, old_width - x * 2) else: s = samples if upscale_method == "bislerp": - return bislerp(s, width, height) + out = bislerp(s, width, height) elif upscale_method == "lanczos": - return lanczos(s, width, height) + out = lanczos(s, width, height) else: - return torch.nn.functional.interpolate(s, size=(height, width), mode=upscale_method) + out = torch.nn.functional.interpolate(s, size=(height, width), mode=upscale_method) + + if len(orig_shape) == 4: + return out + + out = out.reshape((orig_shape[0], -1, orig_shape[1]) + (height, width)) + return out.movedim(2, 1).reshape(orig_shape[:-2] + (height, width)) def get_tiled_scale_steps(width, height, tile_x, tile_y, overlap): - return math.ceil((height / (tile_y - overlap))) * math.ceil((width / (tile_x - overlap))) + rows = 1 if height <= tile_y else math.ceil((height - overlap) / (tile_y - overlap)) + cols = 1 if width <= tile_x else math.ceil((width - overlap) / (tile_x - overlap)) + return rows * cols @torch.inference_mode() -def tiled_scale_multidim(samples, function, tile=(64, 64), overlap = 8, upscale_amount = 4, out_channels = 3, output_device="cpu", pbar = None): +def tiled_scale_multidim(samples, function, tile=(64, 64), overlap=8, upscale_amount=4, out_channels=3, output_device="cpu", downscale=False, index_formulas=None, pbar=None): dims = len(tile) - output = torch.empty([samples.shape[0], out_channels] + list(map(lambda a: round(a * upscale_amount), samples.shape[2:])), device=output_device) + + if not (isinstance(upscale_amount, (tuple, list))): + upscale_amount = [upscale_amount] * dims + + if not (isinstance(overlap, (tuple, list))): + overlap = [overlap] * dims + + if index_formulas is None: + index_formulas = upscale_amount + + if not (isinstance(index_formulas, (tuple, list))): + index_formulas = [index_formulas] * dims + + def get_upscale(dim, val): + up = upscale_amount[dim] + if callable(up): + return up(val) + else: + return up * val + + def get_downscale(dim, val): + up = upscale_amount[dim] + if callable(up): + return up(val) + else: + return val / up + + def get_upscale_pos(dim, val): + up = index_formulas[dim] + if callable(up): + return up(val) + else: + return up * val + + def get_downscale_pos(dim, val): + up = index_formulas[dim] + if callable(up): + return up(val) + else: + return val / up + + if downscale: + get_scale = get_downscale + get_pos = get_downscale_pos + else: + get_scale = get_upscale + get_pos = get_upscale_pos + + def mult_list_upscale(a): + out = [] + for i in range(len(a)): + out.append(round(get_scale(i, a[i]))) + return out + + output = torch.empty([samples.shape[0], out_channels] + mult_list_upscale(samples.shape[2:]), device=output_device) for b in range(samples.shape[0]): s = samples[b:b+1] - out = torch.zeros([s.shape[0], out_channels] + list(map(lambda a: round(a * upscale_amount), s.shape[2:])), device=output_device) - out_div = torch.zeros([s.shape[0], out_channels] + list(map(lambda a: round(a * upscale_amount), s.shape[2:])), device=output_device) - for it in itertools.product(*map(lambda a: range(0, a[0], a[1] - overlap), zip(s.shape[2:], tile))): + # handle entire input fitting in a single tile + if all(s.shape[d+2] <= tile[d] for d in range(dims)): + output[b:b+1] = function(s).to(output_device) + if pbar is not None: + pbar.update(1) + continue + + out = torch.zeros([s.shape[0], out_channels] + mult_list_upscale(s.shape[2:]), device=output_device) + out_div = torch.zeros([s.shape[0], out_channels] + mult_list_upscale(s.shape[2:]), device=output_device) + + positions = [range(0, s.shape[d+2] - overlap[d], tile[d] - overlap[d]) if s.shape[d+2] > tile[d] else [0] for d in range(dims)] + + for it in itertools.product(*positions): s_in = s upscaled = [] for d in range(dims): - pos = max(0, min(s.shape[d + 2] - overlap, it[d])) + pos = max(0, min(s.shape[d + 2] - overlap[d], it[d])) l = min(tile[d], s.shape[d + 2] - pos) s_in = s_in.narrow(d + 2, pos, l) - upscaled.append(round(pos * upscale_amount)) + upscaled.append(round(get_pos(d, pos))) + ps = function(s_in).to(output_device) mask = torch.ones_like(ps) - feather = round(overlap * upscale_amount) - for t in range(feather): - for d in range(2, dims + 2): - m = mask.narrow(d, t, 1) - m *= ((1.0/feather) * (t + 1)) - m = mask.narrow(d, mask.shape[d] -1 -t, 1) - m *= ((1.0/feather) * (t + 1)) + + for d in range(2, dims + 2): + feather = round(get_scale(d - 2, overlap[d - 2])) + if feather >= mask.shape[d]: + continue + for t in range(feather): + a = (t + 1) / feather + mask.narrow(d, t, 1).mul_(a) + mask.narrow(d, mask.shape[d] - 1 - t, 1).mul_(a) o = out o_d = out_div @@ -750,8 +963,8 @@ def tiled_scale_multidim(samples, function, tile=(64, 64), overlap = 8, upscale_ o = o.narrow(d + 2, upscaled[d], mask.shape[d + 2]) o_d = o_d.narrow(d + 2, upscaled[d], mask.shape[d + 2]) - o += ps * mask - o_d += mask + o.add_(ps * mask) + o_d.add_(mask) if pbar is not None: pbar.update(1) @@ -760,7 +973,7 @@ def tiled_scale_multidim(samples, function, tile=(64, 64), overlap = 8, upscale_ return output def tiled_scale(samples, function, tile_x=64, tile_y=64, overlap = 8, upscale_amount = 4, out_channels = 3, output_device="cpu", pbar = None): - return tiled_scale_multidim(samples, function, (tile_y, tile_x), overlap, upscale_amount, out_channels, output_device, pbar) + return tiled_scale_multidim(samples, function, (tile_y, tile_x), overlap=overlap, upscale_amount=upscale_amount, out_channels=out_channels, output_device=output_device, pbar=pbar) PROGRESS_BAR_ENABLED = True def set_progress_bar_enabled(enabled): @@ -790,3 +1003,65 @@ class ProgressBar: def update(self, value): self.update_absolute(self.current + value) + +def reshape_mask(input_mask, output_shape): + dims = len(output_shape) - 2 + + if dims == 1: + scale_mode = "linear" + + if dims == 2: + input_mask = input_mask.reshape((-1, 1, input_mask.shape[-2], input_mask.shape[-1])) + scale_mode = "bilinear" + + if dims == 3: + if len(input_mask.shape) < 5: + input_mask = input_mask.reshape((1, 1, -1, input_mask.shape[-2], input_mask.shape[-1])) + scale_mode = "trilinear" + + mask = torch.nn.functional.interpolate(input_mask, size=output_shape[2:], mode=scale_mode) + if mask.shape[1] < output_shape[1]: + mask = mask.repeat((1, output_shape[1]) + (1,) * dims)[:,:output_shape[1]] + mask = repeat_to_batch_size(mask, output_shape[0]) + return mask + +def upscale_dit_mask(mask: torch.Tensor, img_size_in, img_size_out): + hi, wi = img_size_in + ho, wo = img_size_out + # if it's already the correct size, no need to do anything + if (hi, wi) == (ho, wo): + return mask + if mask.ndim == 2: + mask = mask.unsqueeze(0) + if mask.ndim != 3: + raise ValueError(f"Got a mask of shape {list(mask.shape)}, expected [b, q, k] or [q, k]") + txt_tokens = mask.shape[1] - (hi * wi) + # quadrants of the mask + txt_to_txt = mask[:, :txt_tokens, :txt_tokens] + txt_to_img = mask[:, :txt_tokens, txt_tokens:] + img_to_img = mask[:, txt_tokens:, txt_tokens:] + img_to_txt = mask[:, txt_tokens:, :txt_tokens] + + # convert to 1d x 2d, interpolate, then back to 1d x 1d + txt_to_img = rearrange (txt_to_img, "b t (h w) -> b t h w", h=hi, w=wi) + txt_to_img = interpolate(txt_to_img, size=img_size_out, mode="bilinear") + txt_to_img = rearrange (txt_to_img, "b t h w -> b t (h w)") + # this one is hard because we have to do it twice + # convert to 1d x 2d, interpolate, then to 2d x 1d, interpolate, then 1d x 1d + img_to_img = rearrange (img_to_img, "b hw (h w) -> b hw h w", h=hi, w=wi) + img_to_img = interpolate(img_to_img, size=img_size_out, mode="bilinear") + img_to_img = rearrange (img_to_img, "b (hk wk) hq wq -> b (hq wq) hk wk", hk=hi, wk=wi) + img_to_img = interpolate(img_to_img, size=img_size_out, mode="bilinear") + img_to_img = rearrange (img_to_img, "b (hq wq) hk wk -> b (hk wk) (hq wq)", hq=ho, wq=wo) + # convert to 2d x 1d, interpolate, then back to 1d x 1d + img_to_txt = rearrange (img_to_txt, "b (h w) t -> b t h w", h=hi, w=wi) + img_to_txt = interpolate(img_to_txt, size=img_size_out, mode="bilinear") + img_to_txt = rearrange (img_to_txt, "b t h w -> b (h w) t") + + # reassemble the mask from blocks + out = torch.cat([ + torch.cat([txt_to_txt, txt_to_img], dim=2), + torch.cat([img_to_txt, img_to_img], dim=2)], + dim=1 + ) + return out diff --git a/comfy_execution/caching.py b/comfy_execution/caching.py index e67914a3f..630f280fc 100644 --- a/comfy_execution/caching.py +++ b/comfy_execution/caching.py @@ -1,11 +1,21 @@ import itertools -from typing import Sequence, Mapping +from typing import Sequence, Mapping, Dict from comfy_execution.graph import DynamicPrompt import nodes from comfy_execution.graph_utils import is_link +NODE_CLASS_CONTAINS_UNIQUE_ID: Dict[str, bool] = {} + + +def include_unique_id_in_input(class_type: str) -> bool: + if class_type in NODE_CLASS_CONTAINS_UNIQUE_ID: + return NODE_CLASS_CONTAINS_UNIQUE_ID[class_type] + class_def = nodes.NODE_CLASS_MAPPINGS[class_type] + NODE_CLASS_CONTAINS_UNIQUE_ID[class_type] = "UNIQUE_ID" in class_def.INPUT_TYPES().get("hidden", {}).values() + return NODE_CLASS_CONTAINS_UNIQUE_ID[class_type] + class CacheKeySet: def __init__(self, dynprompt, node_ids, is_changed_cache): self.keys = {} @@ -98,7 +108,7 @@ class CacheKeySetInputSignature(CacheKeySet): class_type = node["class_type"] class_def = nodes.NODE_CLASS_MAPPINGS[class_type] signature = [class_type, self.is_changed_cache.get(node_id)] - if self.include_node_id_in_input() or (hasattr(class_def, "NOT_IDEMPOTENT") and class_def.NOT_IDEMPOTENT): + if self.include_node_id_in_input() or (hasattr(class_def, "NOT_IDEMPOTENT") and class_def.NOT_IDEMPOTENT) or include_unique_id_in_input(class_type): signature.append(node_id) inputs = node["inputs"] for key in sorted(inputs.keys()): diff --git a/comfy_execution/graph.py b/comfy_execution/graph.py index b53e10f3f..59b42b746 100644 --- a/comfy_execution/graph.py +++ b/comfy_execution/graph.py @@ -54,8 +54,8 @@ class DynamicPrompt: def get_original_prompt(self): return self.original_prompt -def get_input_info(class_def, input_name): - valid_inputs = class_def.INPUT_TYPES() +def get_input_info(class_def, input_name, valid_inputs=None): + valid_inputs = valid_inputs or class_def.INPUT_TYPES() input_info = None input_category = None if "required" in valid_inputs and input_name in valid_inputs["required"]: @@ -99,30 +99,44 @@ class TopologicalSort: self.add_strong_link(from_node_id, from_socket, to_node_id) def add_strong_link(self, from_node_id, from_socket, to_node_id): - self.add_node(from_node_id) - if to_node_id not in self.blocking[from_node_id]: - self.blocking[from_node_id][to_node_id] = {} - self.blockCount[to_node_id] += 1 - self.blocking[from_node_id][to_node_id][from_socket] = True + if not self.is_cached(from_node_id): + self.add_node(from_node_id) + if to_node_id not in self.blocking[from_node_id]: + self.blocking[from_node_id][to_node_id] = {} + self.blockCount[to_node_id] += 1 + self.blocking[from_node_id][to_node_id][from_socket] = True - def add_node(self, unique_id, include_lazy=False, subgraph_nodes=None): - if unique_id in self.pendingNodes: - return - self.pendingNodes[unique_id] = True - self.blockCount[unique_id] = 0 - self.blocking[unique_id] = {} + def add_node(self, node_unique_id, include_lazy=False, subgraph_nodes=None): + node_ids = [node_unique_id] + links = [] - inputs = self.dynprompt.get_node(unique_id)["inputs"] - for input_name in inputs: - value = inputs[input_name] - if is_link(value): - from_node_id, from_socket = value - if subgraph_nodes is not None and from_node_id not in subgraph_nodes: - continue - input_type, input_category, input_info = self.get_input_info(unique_id, input_name) - is_lazy = input_info is not None and "lazy" in input_info and input_info["lazy"] - if include_lazy or not is_lazy: - self.add_strong_link(from_node_id, from_socket, unique_id) + while len(node_ids) > 0: + unique_id = node_ids.pop() + if unique_id in self.pendingNodes: + continue + + self.pendingNodes[unique_id] = True + self.blockCount[unique_id] = 0 + self.blocking[unique_id] = {} + + inputs = self.dynprompt.get_node(unique_id)["inputs"] + for input_name in inputs: + value = inputs[input_name] + if is_link(value): + from_node_id, from_socket = value + if subgraph_nodes is not None and from_node_id not in subgraph_nodes: + continue + input_type, input_category, input_info = self.get_input_info(unique_id, input_name) + is_lazy = input_info is not None and "lazy" in input_info and input_info["lazy"] + if (include_lazy or not is_lazy) and not self.is_cached(from_node_id): + node_ids.append(from_node_id) + links.append((from_node_id, from_socket, unique_id)) + + for link in links: + self.add_strong_link(*link) + + def is_cached(self, node_id): + return False def get_ready_nodes(self): return [node_id for node_id in self.pendingNodes if self.blockCount[node_id] == 0] @@ -146,11 +160,8 @@ class ExecutionList(TopologicalSort): self.output_cache = output_cache self.staged_node_id = None - def add_strong_link(self, from_node_id, from_socket, to_node_id): - if self.output_cache.get(from_node_id) is not None: - # Nothing to do - return - super().add_strong_link(from_node_id, from_socket, to_node_id) + def is_cached(self, node_id): + return self.output_cache.get(node_id) is not None def stage_node_execution(self): assert self.staged_node_id is None diff --git a/comfy_execution/validation.py b/comfy_execution/validation.py new file mode 100644 index 000000000..cec105fc9 --- /dev/null +++ b/comfy_execution/validation.py @@ -0,0 +1,39 @@ +from __future__ import annotations + + +def validate_node_input( + received_type: str, input_type: str, strict: bool = False +) -> bool: + """ + received_type and input_type are both strings of the form "T1,T2,...". + + If strict is True, the input_type must contain the received_type. + For example, if received_type is "STRING" and input_type is "STRING,INT", + this will return True. But if received_type is "STRING,INT" and input_type is + "INT", this will return False. + + If strict is False, the input_type must have overlap with the received_type. + For example, if received_type is "STRING,BOOLEAN" and input_type is "STRING,INT", + this will return True. + + Supports pre-union type extension behaviour of ``__ne__`` overrides. + """ + # If the types are exactly the same, we can return immediately + # Use pre-union behaviour: inverse of `__ne__` + if not received_type != input_type: + return True + + # Not equal, and not strings + if not isinstance(received_type, str) or not isinstance(input_type, str): + return False + + # Split the type strings into sets for comparison + received_types = set(t.strip() for t in received_type.split(",")) + input_types = set(t.strip() for t in input_type.split(",")) + + if strict: + # In strict mode, all received types must be in the input types + return received_types.issubset(input_types) + else: + # In non-strict mode, there must be at least one type in common + return len(received_types.intersection(input_types)) > 0 diff --git a/comfy_extras/chainner_models/model_loading.py b/comfy_extras/chainner_models/model_loading.py index d48bc238c..1bec4476f 100644 --- a/comfy_extras/chainner_models/model_loading.py +++ b/comfy_extras/chainner_models/model_loading.py @@ -1,5 +1,6 @@ +import logging from spandrel import ModelLoader def load_state_dict(state_dict): - print("WARNING: comfy_extras.chainner_models is deprecated and has been replaced by the spandrel library.") + logging.warning("comfy_extras.chainner_models is deprecated and has been replaced by the spandrel library.") return ModelLoader().load_from_state_dict(state_dict).eval() diff --git a/comfy_extras/nodes_advanced_samplers.py b/comfy_extras/nodes_advanced_samplers.py index 820c250ef..5fbb096fb 100644 --- a/comfy_extras/nodes_advanced_samplers.py +++ b/comfy_extras/nodes_advanced_samplers.py @@ -2,8 +2,7 @@ import comfy.samplers import comfy.utils import torch import numpy as np -from tqdm.auto import trange, tqdm -import math +from tqdm.auto import trange @torch.no_grad() diff --git a/comfy_extras/nodes_align_your_steps.py b/comfy_extras/nodes_align_your_steps.py index 3ffe53187..8d856d0e8 100644 --- a/comfy_extras/nodes_align_your_steps.py +++ b/comfy_extras/nodes_align_your_steps.py @@ -24,7 +24,7 @@ class AlignYourStepsScheduler: def INPUT_TYPES(s): return {"required": {"model_type": (["SD1", "SDXL", "SVD"], ), - "steps": ("INT", {"default": 10, "min": 10, "max": 10000}), + "steps": ("INT", {"default": 10, "min": 1, "max": 10000}), "denoise": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}), } } diff --git a/comfy_extras/nodes_audio.py b/comfy_extras/nodes_audio.py index 762b48279..3cb918e09 100644 --- a/comfy_extras/nodes_audio.py +++ b/comfy_extras/nodes_audio.py @@ -8,6 +8,7 @@ import json import struct import random import hashlib +import node_helpers from comfy.cli_args import args class EmptyLatentAudio: @@ -16,18 +17,40 @@ class EmptyLatentAudio: @classmethod def INPUT_TYPES(s): - return {"required": {"seconds": ("FLOAT", {"default": 47.6, "min": 1.0, "max": 1000.0, "step": 0.1})}} + return {"required": {"seconds": ("FLOAT", {"default": 47.6, "min": 1.0, "max": 1000.0, "step": 0.1}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096, "tooltip": "The number of latent images in the batch."}), + }} RETURN_TYPES = ("LATENT",) FUNCTION = "generate" CATEGORY = "latent/audio" - def generate(self, seconds): - batch_size = 1 + def generate(self, seconds, batch_size): length = round((seconds * 44100 / 2048) / 2) * 2 latent = torch.zeros([batch_size, 64, length], device=self.device) return ({"samples":latent, "type": "audio"}, ) +class ConditioningStableAudio: + @classmethod + def INPUT_TYPES(s): + return {"required": {"positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "seconds_start": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1000.0, "step": 0.1}), + "seconds_total": ("FLOAT", {"default": 47.0, "min": 0.0, "max": 1000.0, "step": 0.1}), + }} + + RETURN_TYPES = ("CONDITIONING","CONDITIONING") + RETURN_NAMES = ("positive", "negative") + + FUNCTION = "append" + + CATEGORY = "conditioning" + + def append(self, positive, negative, seconds_start, seconds_total): + positive = node_helpers.conditioning_set_values(positive, {"seconds_start": seconds_start, "seconds_total": seconds_total}) + negative = node_helpers.conditioning_set_values(negative, {"seconds_start": seconds_start, "seconds_total": seconds_total}) + return (positive, negative) + class VAEEncodeAudio: @classmethod def INPUT_TYPES(s): @@ -58,6 +81,9 @@ class VAEDecodeAudio: def decode(self, vae, samples): audio = vae.decode(samples["samples"]).movedim(-1, 1) + std = torch.std(audio, dim=[1,2], keepdim=True) * 5.0 + std[std < 1.0] = 1.0 + audio /= std return ({"waveform": audio, "sample_rate": 44100}, ) @@ -183,17 +209,10 @@ class PreviewAudio(SaveAudio): } class LoadAudio: - SUPPORTED_FORMATS = ('.wav', '.mp3', '.ogg', '.flac', '.aiff', '.aif') - @classmethod def INPUT_TYPES(s): input_dir = folder_paths.get_input_directory() - files = [ - f for f in os.listdir(input_dir) - if (os.path.isfile(os.path.join(input_dir, f)) - and f.endswith(LoadAudio.SUPPORTED_FORMATS) - ) - ] + files = folder_paths.filter_files_content_types(os.listdir(input_dir), ["audio", "video"]) return {"required": {"audio": (sorted(files), {"audio_upload": True})}} CATEGORY = "audio" @@ -228,4 +247,5 @@ NODE_CLASS_MAPPINGS = { "SaveAudio": SaveAudio, "LoadAudio": LoadAudio, "PreviewAudio": PreviewAudio, + "ConditioningStableAudio": ConditioningStableAudio, } diff --git a/comfy_extras/nodes_clip_sdxl.py b/comfy_extras/nodes_clip_sdxl.py index 3087b917b..14269caf3 100644 --- a/comfy_extras/nodes_clip_sdxl.py +++ b/comfy_extras/nodes_clip_sdxl.py @@ -1,4 +1,3 @@ -import torch from nodes import MAX_RESOLUTION class CLIPTextEncodeSDXLRefiner: @@ -17,21 +16,21 @@ class CLIPTextEncodeSDXLRefiner: def encode(self, clip, ascore, width, height, text): tokens = clip.tokenize(text) - cond, pooled = clip.encode_from_tokens(tokens, return_pooled=True) - return ([[cond, {"pooled_output": pooled, "aesthetic_score": ascore, "width": width,"height": height}]], ) + return (clip.encode_from_tokens_scheduled(tokens, add_dict={"aesthetic_score": ascore, "width": width, "height": height}), ) class CLIPTextEncodeSDXL: @classmethod def INPUT_TYPES(s): return {"required": { + "clip": ("CLIP", ), "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "crop_w": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), "crop_h": ("INT", {"default": 0, "min": 0, "max": MAX_RESOLUTION}), "target_width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), "target_height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), - "text_g": ("STRING", {"multiline": True, "dynamicPrompts": True}), "clip": ("CLIP", ), - "text_l": ("STRING", {"multiline": True, "dynamicPrompts": True}), "clip": ("CLIP", ), + "text_g": ("STRING", {"multiline": True, "dynamicPrompts": True}), + "text_l": ("STRING", {"multiline": True, "dynamicPrompts": True}), }} RETURN_TYPES = ("CONDITIONING",) FUNCTION = "encode" @@ -47,8 +46,7 @@ class CLIPTextEncodeSDXL: tokens["l"] += empty["l"] while len(tokens["l"]) > len(tokens["g"]): tokens["g"] += empty["g"] - cond, pooled = clip.encode_from_tokens(tokens, return_pooled=True) - return ([[cond, {"pooled_output": pooled, "width": width, "height": height, "crop_w": crop_w, "crop_h": crop_h, "target_width": target_width, "target_height": target_height}]], ) + return (clip.encode_from_tokens_scheduled(tokens, add_dict={"width": width, "height": height, "crop_w": crop_w, "crop_h": crop_h, "target_width": target_width, "target_height": target_height}), ) NODE_CLASS_MAPPINGS = { "CLIPTextEncodeSDXLRefiner": CLIPTextEncodeSDXLRefiner, diff --git a/comfy_extras/nodes_compositing.py b/comfy_extras/nodes_compositing.py index 48fe5e3dd..2f994fa11 100644 --- a/comfy_extras/nodes_compositing.py +++ b/comfy_extras/nodes_compositing.py @@ -1,4 +1,3 @@ -import numpy as np import torch import comfy.utils from enum import Enum diff --git a/comfy_extras/nodes_controlnet.py b/comfy_extras/nodes_controlnet.py index 0773c8a5b..2d20e1fed 100644 --- a/comfy_extras/nodes_controlnet.py +++ b/comfy_extras/nodes_controlnet.py @@ -1,4 +1,6 @@ from comfy.cldm.control_types import UNION_CONTROLNET_TYPES +import nodes +import comfy.utils class SetUnionControlNetType: @classmethod @@ -22,6 +24,37 @@ class SetUnionControlNetType: return (control_net,) +class ControlNetInpaintingAliMamaApply(nodes.ControlNetApplyAdvanced): + @classmethod + def INPUT_TYPES(s): + return {"required": {"positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "control_net": ("CONTROL_NET", ), + "vae": ("VAE", ), + "image": ("IMAGE", ), + "mask": ("MASK", ), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "start_percent": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001}), + "end_percent": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001}) + }} + + FUNCTION = "apply_inpaint_controlnet" + + CATEGORY = "conditioning/controlnet" + + def apply_inpaint_controlnet(self, positive, negative, control_net, vae, image, mask, strength, start_percent, end_percent): + extra_concat = [] + if control_net.concat_mask: + mask = 1.0 - mask.reshape((-1, 1, mask.shape[-2], mask.shape[-1])) + mask_apply = comfy.utils.common_upscale(mask, image.shape[2], image.shape[1], "bilinear", "center").round() + image = image * mask_apply.movedim(1, -1).repeat(1, 1, 1, image.shape[3]) + extra_concat = [mask] + + return self.apply_controlnet(positive, negative, control_net, image, strength, start_percent, end_percent, vae=vae, extra_concat=extra_concat) + + + NODE_CLASS_MAPPINGS = { "SetUnionControlNetType": SetUnionControlNetType, + "ControlNetInpaintingAliMamaApply": ControlNetInpaintingAliMamaApply, } diff --git a/comfy_extras/nodes_cosmos.py b/comfy_extras/nodes_cosmos.py new file mode 100644 index 000000000..bd35ddb06 --- /dev/null +++ b/comfy_extras/nodes_cosmos.py @@ -0,0 +1,82 @@ +import nodes +import torch +import comfy.model_management +import comfy.utils + + +class EmptyCosmosLatentVideo: + @classmethod + def INPUT_TYPES(s): + return {"required": { "width": ("INT", {"default": 1280, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "height": ("INT", {"default": 704, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "length": ("INT", {"default": 121, "min": 1, "max": nodes.MAX_RESOLUTION, "step": 8}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096})}} + RETURN_TYPES = ("LATENT",) + FUNCTION = "generate" + + CATEGORY = "latent/video" + + def generate(self, width, height, length, batch_size=1): + latent = torch.zeros([batch_size, 16, ((length - 1) // 8) + 1, height // 8, width // 8], device=comfy.model_management.intermediate_device()) + return ({"samples": latent}, ) + + +def vae_encode_with_padding(vae, image, width, height, length, padding=0): + pixels = comfy.utils.common_upscale(image[..., :3].movedim(-1, 1), width, height, "bilinear", "center").movedim(1, -1) + pixel_len = min(pixels.shape[0], length) + padded_length = min(length, (((pixel_len - 1) // 8) + 1 + padding) * 8 - 7) + padded_pixels = torch.ones((padded_length, height, width, 3)) * 0.5 + padded_pixels[:pixel_len] = pixels[:pixel_len] + latent_len = ((pixel_len - 1) // 8) + 1 + latent_temp = vae.encode(padded_pixels) + return latent_temp[:, :, :latent_len] + + +class CosmosImageToVideoLatent: + @classmethod + def INPUT_TYPES(s): + return {"required": {"vae": ("VAE", ), + "width": ("INT", {"default": 1280, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "height": ("INT", {"default": 704, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "length": ("INT", {"default": 121, "min": 1, "max": nodes.MAX_RESOLUTION, "step": 8}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096}), + }, + "optional": {"start_image": ("IMAGE", ), + "end_image": ("IMAGE", ), + }} + + + RETURN_TYPES = ("LATENT",) + FUNCTION = "encode" + + CATEGORY = "conditioning/inpaint" + + def encode(self, vae, width, height, length, batch_size, start_image=None, end_image=None): + latent = torch.zeros([1, 16, ((length - 1) // 8) + 1, height // 8, width // 8], device=comfy.model_management.intermediate_device()) + if start_image is None and end_image is None: + out_latent = {} + out_latent["samples"] = latent + return (out_latent,) + + mask = torch.ones([latent.shape[0], 1, ((length - 1) // 8) + 1, latent.shape[-2], latent.shape[-1]], device=comfy.model_management.intermediate_device()) + + if start_image is not None: + latent_temp = vae_encode_with_padding(vae, start_image, width, height, length, padding=1) + latent[:, :, :latent_temp.shape[-3]] = latent_temp + mask[:, :, :latent_temp.shape[-3]] *= 0.0 + + if end_image is not None: + latent_temp = vae_encode_with_padding(vae, end_image, width, height, length, padding=0) + latent[:, :, -latent_temp.shape[-3]:] = latent_temp + mask[:, :, -latent_temp.shape[-3]:] *= 0.0 + + out_latent = {} + out_latent["samples"] = latent.repeat((batch_size, ) + (1,) * (latent.ndim - 1)) + out_latent["noise_mask"] = mask.repeat((batch_size, ) + (1,) * (mask.ndim - 1)) + return (out_latent,) + + +NODE_CLASS_MAPPINGS = { + "EmptyCosmosLatentVideo": EmptyCosmosLatentVideo, + "CosmosImageToVideoLatent": CosmosImageToVideoLatent, +} diff --git a/comfy_extras/nodes_custom_sampler.py b/comfy_extras/nodes_custom_sampler.py index 219975e27..576fc3b2c 100644 --- a/comfy_extras/nodes_custom_sampler.py +++ b/comfy_extras/nodes_custom_sampler.py @@ -90,6 +90,27 @@ class PolyexponentialScheduler: sigmas = k_diffusion_sampling.get_sigmas_polyexponential(n=steps, sigma_min=sigma_min, sigma_max=sigma_max, rho=rho) return (sigmas, ) +class LaplaceScheduler: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"steps": ("INT", {"default": 20, "min": 1, "max": 10000}), + "sigma_max": ("FLOAT", {"default": 14.614642, "min": 0.0, "max": 5000.0, "step":0.01, "round": False}), + "sigma_min": ("FLOAT", {"default": 0.0291675, "min": 0.0, "max": 5000.0, "step":0.01, "round": False}), + "mu": ("FLOAT", {"default": 0.0, "min": -10.0, "max": 10.0, "step":0.1, "round": False}), + "beta": ("FLOAT", {"default": 0.5, "min": 0.0, "max": 10.0, "step":0.1, "round": False}), + } + } + RETURN_TYPES = ("SIGMAS",) + CATEGORY = "sampling/custom_sampling/schedulers" + + FUNCTION = "get_sigmas" + + def get_sigmas(self, steps, sigma_max, sigma_min, mu, beta): + sigmas = k_diffusion_sampling.get_sigmas_laplace(n=steps, sigma_min=sigma_min, sigma_max=sigma_max, mu=mu, beta=beta) + return (sigmas, ) + + class SDTurboScheduler: @classmethod def INPUT_TYPES(s): @@ -210,6 +231,24 @@ class FlipSigmas: sigmas[0] = 0.0001 return (sigmas,) +class SetFirstSigma: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"sigmas": ("SIGMAS", ), + "sigma": ("FLOAT", {"default": 136.0, "min": 0.0, "max": 20000.0, "step": 0.001, "round": False}), + } + } + RETURN_TYPES = ("SIGMAS",) + CATEGORY = "sampling/custom_sampling/sigmas" + + FUNCTION = "set_first_sigma" + + def set_first_sigma(self, sigmas, sigma): + sigmas = sigmas.clone() + sigmas[0] = sigma + return (sigmas, ) + class KSamplerSelect: @classmethod def INPUT_TYPES(s): @@ -673,6 +712,7 @@ NODE_CLASS_MAPPINGS = { "KarrasScheduler": KarrasScheduler, "ExponentialScheduler": ExponentialScheduler, "PolyexponentialScheduler": PolyexponentialScheduler, + "LaplaceScheduler": LaplaceScheduler, "VPScheduler": VPScheduler, "BetaSamplingScheduler": BetaSamplingScheduler, "SDTurboScheduler": SDTurboScheduler, @@ -688,6 +728,7 @@ NODE_CLASS_MAPPINGS = { "SplitSigmas": SplitSigmas, "SplitSigmasDenoise": SplitSigmasDenoise, "FlipSigmas": FlipSigmas, + "SetFirstSigma": SetFirstSigma, "CFGGuider": CFGGuider, "DualCFGGuider": DualCFGGuider, diff --git a/comfy_extras/nodes_flux.py b/comfy_extras/nodes_flux.py index b690432b5..ad6c15f37 100644 --- a/comfy_extras/nodes_flux.py +++ b/comfy_extras/nodes_flux.py @@ -18,10 +18,7 @@ class CLIPTextEncodeFlux: tokens = clip.tokenize(clip_l) tokens["t5xxl"] = clip.tokenize(t5xxl)["t5xxl"] - output = clip.encode_from_tokens(tokens, return_pooled=True, return_dict=True) - cond = output.pop("cond") - output["guidance"] = guidance - return ([[cond, output]], ) + return (clip.encode_from_tokens_scheduled(tokens, add_dict={"guidance": guidance}), ) class FluxGuidance: @classmethod @@ -41,7 +38,26 @@ class FluxGuidance: return (c, ) +class FluxDisableGuidance: + @classmethod + def INPUT_TYPES(s): + return {"required": { + "conditioning": ("CONDITIONING", ), + }} + + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "append" + + CATEGORY = "advanced/conditioning/flux" + DESCRIPTION = "This node completely disables the guidance embed on Flux and Flux like models" + + def append(self, conditioning): + c = node_helpers.conditioning_set_values(conditioning, {"guidance": None}) + return (c, ) + + NODE_CLASS_MAPPINGS = { "CLIPTextEncodeFlux": CLIPTextEncodeFlux, "FluxGuidance": FluxGuidance, + "FluxDisableGuidance": FluxDisableGuidance, } diff --git a/comfy_extras/nodes_gits.py b/comfy_extras/nodes_gits.py index 7bfae4ce6..47b1dd049 100644 --- a/comfy_extras/nodes_gits.py +++ b/comfy_extras/nodes_gits.py @@ -162,7 +162,7 @@ NOISE_LEVELS = { [14.61464119, 7.49001646, 5.85520077, 4.45427561, 3.46139455, 2.84484982, 2.19988537, 1.72759056, 1.36964464, 1.08895338, 0.86115354, 0.69515091, 0.54755926, 0.43325692, 0.34370604, 0.25053367, 0.17026083, 0.09824532, 0.02916753], [14.61464119, 11.54541874, 7.49001646, 5.85520077, 4.45427561, 3.46139455, 2.84484982, 2.19988537, 1.72759056, 1.36964464, 1.08895338, 0.86115354, 0.69515091, 0.54755926, 0.43325692, 0.34370604, 0.25053367, 0.17026083, 0.09824532, 0.02916753], [14.61464119, 11.54541874, 7.49001646, 5.85520077, 4.45427561, 3.46139455, 2.84484982, 2.19988537, 1.72759056, 1.36964464, 1.08895338, 0.89115214, 0.72133851, 0.59516323, 0.4783645, 0.38853383, 0.29807833, 0.22545385, 0.17026083, 0.09824532, 0.02916753], - ], + ], 1.15: [ [14.61464119, 0.83188516, 0.02916753], [14.61464119, 1.84880662, 0.59516323, 0.02916753], @@ -246,7 +246,7 @@ NOISE_LEVELS = { [14.61464119, 5.85520077, 2.84484982, 1.72759056, 1.162866, 0.83188516, 0.64427125, 0.52423614, 0.43325692, 0.36617002, 0.32104823, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], [14.61464119, 5.85520077, 2.84484982, 1.78698075, 1.24153244, 0.92192322, 0.72133851, 0.57119018, 0.45573691, 0.38853383, 0.34370604, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], [14.61464119, 5.85520077, 2.84484982, 1.78698075, 1.24153244, 0.92192322, 0.72133851, 0.57119018, 0.4783645, 0.41087446, 0.36617002, 0.32104823, 0.29807833, 0.27464288, 0.25053367, 0.22545385, 0.19894916, 0.17026083, 0.13792117, 0.09824532, 0.02916753], - ], + ], 1.35: [ [14.61464119, 0.69515091, 0.02916753], [14.61464119, 0.95350921, 0.34370604, 0.02916753], diff --git a/comfy_extras/nodes_hooks.py b/comfy_extras/nodes_hooks.py new file mode 100644 index 000000000..1edc06f3d --- /dev/null +++ b/comfy_extras/nodes_hooks.py @@ -0,0 +1,745 @@ +from __future__ import annotations +from typing import TYPE_CHECKING, Union +import logging +import torch +from collections.abc import Iterable + +if TYPE_CHECKING: + from comfy.sd import CLIP + +import comfy.hooks +import comfy.sd +import comfy.utils +import folder_paths + +########################################### +# Mask, Combine, and Hook Conditioning +#------------------------------------------ +class PairConditioningSetProperties: + NodeId = 'PairConditioningSetProperties' + NodeName = 'Cond Pair Set Props' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "positive_NEW": ("CONDITIONING", ), + "negative_NEW": ("CONDITIONING", ), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "set_cond_area": (["default", "mask bounds"],), + }, + "optional": { + "mask": ("MASK", ), + "hooks": ("HOOKS",), + "timesteps": ("TIMESTEPS_RANGE",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CONDITIONING", "CONDITIONING") + RETURN_NAMES = ("positive", "negative") + CATEGORY = "advanced/hooks/cond pair" + FUNCTION = "set_properties" + + def set_properties(self, positive_NEW, negative_NEW, + strength: float, set_cond_area: str, + mask: torch.Tensor=None, hooks: comfy.hooks.HookGroup=None, timesteps: tuple=None): + final_positive, final_negative = comfy.hooks.set_conds_props(conds=[positive_NEW, negative_NEW], + strength=strength, set_cond_area=set_cond_area, + mask=mask, hooks=hooks, timesteps_range=timesteps) + return (final_positive, final_negative) + +class PairConditioningSetPropertiesAndCombine: + NodeId = 'PairConditioningSetPropertiesAndCombine' + NodeName = 'Cond Pair Set Props Combine' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "positive_NEW": ("CONDITIONING", ), + "negative_NEW": ("CONDITIONING", ), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "set_cond_area": (["default", "mask bounds"],), + }, + "optional": { + "mask": ("MASK", ), + "hooks": ("HOOKS",), + "timesteps": ("TIMESTEPS_RANGE",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CONDITIONING", "CONDITIONING") + RETURN_NAMES = ("positive", "negative") + CATEGORY = "advanced/hooks/cond pair" + FUNCTION = "set_properties" + + def set_properties(self, positive, negative, positive_NEW, negative_NEW, + strength: float, set_cond_area: str, + mask: torch.Tensor=None, hooks: comfy.hooks.HookGroup=None, timesteps: tuple=None): + final_positive, final_negative = comfy.hooks.set_conds_props_and_combine(conds=[positive, negative], new_conds=[positive_NEW, negative_NEW], + strength=strength, set_cond_area=set_cond_area, + mask=mask, hooks=hooks, timesteps_range=timesteps) + return (final_positive, final_negative) + +class ConditioningSetProperties: + NodeId = 'ConditioningSetProperties' + NodeName = 'Cond Set Props' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "cond_NEW": ("CONDITIONING", ), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "set_cond_area": (["default", "mask bounds"],), + }, + "optional": { + "mask": ("MASK", ), + "hooks": ("HOOKS",), + "timesteps": ("TIMESTEPS_RANGE",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CONDITIONING",) + CATEGORY = "advanced/hooks/cond single" + FUNCTION = "set_properties" + + def set_properties(self, cond_NEW, + strength: float, set_cond_area: str, + mask: torch.Tensor=None, hooks: comfy.hooks.HookGroup=None, timesteps: tuple=None): + (final_cond,) = comfy.hooks.set_conds_props(conds=[cond_NEW], + strength=strength, set_cond_area=set_cond_area, + mask=mask, hooks=hooks, timesteps_range=timesteps) + return (final_cond,) + +class ConditioningSetPropertiesAndCombine: + NodeId = 'ConditioningSetPropertiesAndCombine' + NodeName = 'Cond Set Props Combine' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "cond": ("CONDITIONING", ), + "cond_NEW": ("CONDITIONING", ), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "set_cond_area": (["default", "mask bounds"],), + }, + "optional": { + "mask": ("MASK", ), + "hooks": ("HOOKS",), + "timesteps": ("TIMESTEPS_RANGE",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CONDITIONING",) + CATEGORY = "advanced/hooks/cond single" + FUNCTION = "set_properties" + + def set_properties(self, cond, cond_NEW, + strength: float, set_cond_area: str, + mask: torch.Tensor=None, hooks: comfy.hooks.HookGroup=None, timesteps: tuple=None): + (final_cond,) = comfy.hooks.set_conds_props_and_combine(conds=[cond], new_conds=[cond_NEW], + strength=strength, set_cond_area=set_cond_area, + mask=mask, hooks=hooks, timesteps_range=timesteps) + return (final_cond,) + +class PairConditioningCombine: + NodeId = 'PairConditioningCombine' + NodeName = 'Cond Pair Combine' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "positive_A": ("CONDITIONING",), + "negative_A": ("CONDITIONING",), + "positive_B": ("CONDITIONING",), + "negative_B": ("CONDITIONING",), + }, + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CONDITIONING", "CONDITIONING") + RETURN_NAMES = ("positive", "negative") + CATEGORY = "advanced/hooks/cond pair" + FUNCTION = "combine" + + def combine(self, positive_A, negative_A, positive_B, negative_B): + final_positive, final_negative = comfy.hooks.set_conds_props_and_combine(conds=[positive_A, negative_A], new_conds=[positive_B, negative_B],) + return (final_positive, final_negative,) + +class PairConditioningSetDefaultAndCombine: + NodeId = 'PairConditioningSetDefaultCombine' + NodeName = 'Cond Pair Set Default Combine' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "positive": ("CONDITIONING",), + "negative": ("CONDITIONING",), + "positive_DEFAULT": ("CONDITIONING",), + "negative_DEFAULT": ("CONDITIONING",), + }, + "optional": { + "hooks": ("HOOKS",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CONDITIONING", "CONDITIONING") + RETURN_NAMES = ("positive", "negative") + CATEGORY = "advanced/hooks/cond pair" + FUNCTION = "set_default_and_combine" + + def set_default_and_combine(self, positive, negative, positive_DEFAULT, negative_DEFAULT, + hooks: comfy.hooks.HookGroup=None): + final_positive, final_negative = comfy.hooks.set_default_conds_and_combine(conds=[positive, negative], new_conds=[positive_DEFAULT, negative_DEFAULT], + hooks=hooks) + return (final_positive, final_negative) + +class ConditioningSetDefaultAndCombine: + NodeId = 'ConditioningSetDefaultCombine' + NodeName = 'Cond Set Default Combine' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "cond": ("CONDITIONING",), + "cond_DEFAULT": ("CONDITIONING",), + }, + "optional": { + "hooks": ("HOOKS",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CONDITIONING",) + CATEGORY = "advanced/hooks/cond single" + FUNCTION = "set_default_and_combine" + + def set_default_and_combine(self, cond, cond_DEFAULT, + hooks: comfy.hooks.HookGroup=None): + (final_conditioning,) = comfy.hooks.set_default_conds_and_combine(conds=[cond], new_conds=[cond_DEFAULT], + hooks=hooks) + return (final_conditioning,) + +class SetClipHooks: + NodeId = 'SetClipHooks' + NodeName = 'Set CLIP Hooks' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "clip": ("CLIP",), + "apply_to_conds": ("BOOLEAN", {"default": True}), + "schedule_clip": ("BOOLEAN", {"default": False}) + }, + "optional": { + "hooks": ("HOOKS",) + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CLIP",) + CATEGORY = "advanced/hooks/clip" + FUNCTION = "apply_hooks" + + def apply_hooks(self, clip: CLIP, schedule_clip: bool, apply_to_conds: bool, hooks: comfy.hooks.HookGroup=None): + if hooks is not None: + clip = clip.clone() + if apply_to_conds: + clip.apply_hooks_to_conds = hooks + clip.patcher.forced_hooks = hooks.clone() + clip.use_clip_schedule = schedule_clip + if not clip.use_clip_schedule: + clip.patcher.forced_hooks.set_keyframes_on_hooks(None) + clip.patcher.register_all_hook_patches(hooks, comfy.hooks.create_target_dict(comfy.hooks.EnumWeightTarget.Clip)) + return (clip,) + +class ConditioningTimestepsRange: + NodeId = 'ConditioningTimestepsRange' + NodeName = 'Timesteps Range' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "start_percent": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001}), + "end_percent": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001}) + }, + } + + EXPERIMENTAL = True + RETURN_TYPES = ("TIMESTEPS_RANGE", "TIMESTEPS_RANGE", "TIMESTEPS_RANGE") + RETURN_NAMES = ("TIMESTEPS_RANGE", "BEFORE_RANGE", "AFTER_RANGE") + CATEGORY = "advanced/hooks" + FUNCTION = "create_range" + + def create_range(self, start_percent: float, end_percent: float): + return ((start_percent, end_percent), (0.0, start_percent), (end_percent, 1.0)) +#------------------------------------------ +########################################### + + +########################################### +# Create Hooks +#------------------------------------------ +class CreateHookLora: + NodeId = 'CreateHookLora' + NodeName = 'Create Hook LoRA' + def __init__(self): + self.loaded_lora = None + + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "lora_name": (folder_paths.get_filename_list("loras"), ), + "strength_model": ("FLOAT", {"default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01}), + "strength_clip": ("FLOAT", {"default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01}), + }, + "optional": { + "prev_hooks": ("HOOKS",) + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOKS",) + CATEGORY = "advanced/hooks/create" + FUNCTION = "create_hook" + + def create_hook(self, lora_name: str, strength_model: float, strength_clip: float, prev_hooks: comfy.hooks.HookGroup=None): + if prev_hooks is None: + prev_hooks = comfy.hooks.HookGroup() + prev_hooks.clone() + + if strength_model == 0 and strength_clip == 0: + return (prev_hooks,) + + lora_path = folder_paths.get_full_path("loras", lora_name) + lora = None + if self.loaded_lora is not None: + if self.loaded_lora[0] == lora_path: + lora = self.loaded_lora[1] + else: + temp = self.loaded_lora + self.loaded_lora = None + del temp + + if lora is None: + lora = comfy.utils.load_torch_file(lora_path, safe_load=True) + self.loaded_lora = (lora_path, lora) + + hooks = comfy.hooks.create_hook_lora(lora=lora, strength_model=strength_model, strength_clip=strength_clip) + return (prev_hooks.clone_and_combine(hooks),) + +class CreateHookLoraModelOnly(CreateHookLora): + NodeId = 'CreateHookLoraModelOnly' + NodeName = 'Create Hook LoRA (MO)' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "lora_name": (folder_paths.get_filename_list("loras"), ), + "strength_model": ("FLOAT", {"default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01}), + }, + "optional": { + "prev_hooks": ("HOOKS",) + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOKS",) + CATEGORY = "advanced/hooks/create" + FUNCTION = "create_hook_model_only" + + def create_hook_model_only(self, lora_name: str, strength_model: float, prev_hooks: comfy.hooks.HookGroup=None): + return self.create_hook(lora_name=lora_name, strength_model=strength_model, strength_clip=0, prev_hooks=prev_hooks) + +class CreateHookModelAsLora: + NodeId = 'CreateHookModelAsLora' + NodeName = 'Create Hook Model as LoRA' + + def __init__(self): + # when not None, will be in following format: + # (ckpt_path: str, weights_model: dict, weights_clip: dict) + self.loaded_weights = None + + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "ckpt_name": (folder_paths.get_filename_list("checkpoints"), ), + "strength_model": ("FLOAT", {"default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01}), + "strength_clip": ("FLOAT", {"default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01}), + }, + "optional": { + "prev_hooks": ("HOOKS",) + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOKS",) + CATEGORY = "advanced/hooks/create" + FUNCTION = "create_hook" + + def create_hook(self, ckpt_name: str, strength_model: float, strength_clip: float, + prev_hooks: comfy.hooks.HookGroup=None): + if prev_hooks is None: + prev_hooks = comfy.hooks.HookGroup() + prev_hooks.clone() + + ckpt_path = folder_paths.get_full_path("checkpoints", ckpt_name) + weights_model = None + weights_clip = None + if self.loaded_weights is not None: + if self.loaded_weights[0] == ckpt_path: + weights_model = self.loaded_weights[1] + weights_clip = self.loaded_weights[2] + else: + temp = self.loaded_weights + self.loaded_weights = None + del temp + + if weights_model is None: + out = comfy.sd.load_checkpoint_guess_config(ckpt_path, output_vae=True, output_clip=True, embedding_directory=folder_paths.get_folder_paths("embeddings")) + weights_model = comfy.hooks.get_patch_weights_from_model(out[0]) + weights_clip = comfy.hooks.get_patch_weights_from_model(out[1].patcher if out[1] else out[1]) + self.loaded_weights = (ckpt_path, weights_model, weights_clip) + + hooks = comfy.hooks.create_hook_model_as_lora(weights_model=weights_model, weights_clip=weights_clip, + strength_model=strength_model, strength_clip=strength_clip) + return (prev_hooks.clone_and_combine(hooks),) + +class CreateHookModelAsLoraModelOnly(CreateHookModelAsLora): + NodeId = 'CreateHookModelAsLoraModelOnly' + NodeName = 'Create Hook Model as LoRA (MO)' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "ckpt_name": (folder_paths.get_filename_list("checkpoints"), ), + "strength_model": ("FLOAT", {"default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01}), + }, + "optional": { + "prev_hooks": ("HOOKS",) + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOKS",) + CATEGORY = "advanced/hooks/create" + FUNCTION = "create_hook_model_only" + + def create_hook_model_only(self, ckpt_name: str, strength_model: float, + prev_hooks: comfy.hooks.HookGroup=None): + return self.create_hook(ckpt_name=ckpt_name, strength_model=strength_model, strength_clip=0.0, prev_hooks=prev_hooks) +#------------------------------------------ +########################################### + + +########################################### +# Schedule Hooks +#------------------------------------------ +class SetHookKeyframes: + NodeId = 'SetHookKeyframes' + NodeName = 'Set Hook Keyframes' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "hooks": ("HOOKS",), + }, + "optional": { + "hook_kf": ("HOOK_KEYFRAMES",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOKS",) + CATEGORY = "advanced/hooks/scheduling" + FUNCTION = "set_hook_keyframes" + + def set_hook_keyframes(self, hooks: comfy.hooks.HookGroup, hook_kf: comfy.hooks.HookKeyframeGroup=None): + if hook_kf is not None: + hooks = hooks.clone() + hooks.set_keyframes_on_hooks(hook_kf=hook_kf) + return (hooks,) + +class CreateHookKeyframe: + NodeId = 'CreateHookKeyframe' + NodeName = 'Create Hook Keyframe' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "strength_mult": ("FLOAT", {"default": 1.0, "min": -20.0, "max": 20.0, "step": 0.01}), + "start_percent": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001}), + }, + "optional": { + "prev_hook_kf": ("HOOK_KEYFRAMES",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOK_KEYFRAMES",) + RETURN_NAMES = ("HOOK_KF",) + CATEGORY = "advanced/hooks/scheduling" + FUNCTION = "create_hook_keyframe" + + def create_hook_keyframe(self, strength_mult: float, start_percent: float, prev_hook_kf: comfy.hooks.HookKeyframeGroup=None): + if prev_hook_kf is None: + prev_hook_kf = comfy.hooks.HookKeyframeGroup() + prev_hook_kf = prev_hook_kf.clone() + keyframe = comfy.hooks.HookKeyframe(strength=strength_mult, start_percent=start_percent) + prev_hook_kf.add(keyframe) + return (prev_hook_kf,) + +class CreateHookKeyframesInterpolated: + NodeId = 'CreateHookKeyframesInterpolated' + NodeName = 'Create Hook Keyframes Interp.' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "strength_start": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.001}, ), + "strength_end": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.001}, ), + "interpolation": (comfy.hooks.InterpolationMethod._LIST, ), + "start_percent": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001}), + "end_percent": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001}), + "keyframes_count": ("INT", {"default": 5, "min": 2, "max": 100, "step": 1}), + "print_keyframes": ("BOOLEAN", {"default": False}), + }, + "optional": { + "prev_hook_kf": ("HOOK_KEYFRAMES",), + }, + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOK_KEYFRAMES",) + RETURN_NAMES = ("HOOK_KF",) + CATEGORY = "advanced/hooks/scheduling" + FUNCTION = "create_hook_keyframes" + + def create_hook_keyframes(self, strength_start: float, strength_end: float, interpolation: str, + start_percent: float, end_percent: float, keyframes_count: int, + print_keyframes=False, prev_hook_kf: comfy.hooks.HookKeyframeGroup=None): + if prev_hook_kf is None: + prev_hook_kf = comfy.hooks.HookKeyframeGroup() + prev_hook_kf = prev_hook_kf.clone() + percents = comfy.hooks.InterpolationMethod.get_weights(num_from=start_percent, num_to=end_percent, length=keyframes_count, + method=comfy.hooks.InterpolationMethod.LINEAR) + strengths = comfy.hooks.InterpolationMethod.get_weights(num_from=strength_start, num_to=strength_end, length=keyframes_count, method=interpolation) + + is_first = True + for percent, strength in zip(percents, strengths): + guarantee_steps = 0 + if is_first: + guarantee_steps = 1 + is_first = False + prev_hook_kf.add(comfy.hooks.HookKeyframe(strength=strength, start_percent=percent, guarantee_steps=guarantee_steps)) + if print_keyframes: + logging.info(f"Hook Keyframe - start_percent:{percent} = {strength}") + return (prev_hook_kf,) + +class CreateHookKeyframesFromFloats: + NodeId = 'CreateHookKeyframesFromFloats' + NodeName = 'Create Hook Keyframes From Floats' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "floats_strength": ("FLOATS", {"default": -1, "min": -1, "step": 0.001, "forceInput": True}), + "start_percent": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001}), + "end_percent": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001}), + "print_keyframes": ("BOOLEAN", {"default": False}), + }, + "optional": { + "prev_hook_kf": ("HOOK_KEYFRAMES",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOK_KEYFRAMES",) + RETURN_NAMES = ("HOOK_KF",) + CATEGORY = "advanced/hooks/scheduling" + FUNCTION = "create_hook_keyframes" + + def create_hook_keyframes(self, floats_strength: Union[float, list[float]], + start_percent: float, end_percent: float, + prev_hook_kf: comfy.hooks.HookKeyframeGroup=None, print_keyframes=False): + if prev_hook_kf is None: + prev_hook_kf = comfy.hooks.HookKeyframeGroup() + prev_hook_kf = prev_hook_kf.clone() + if type(floats_strength) in (float, int): + floats_strength = [float(floats_strength)] + elif isinstance(floats_strength, Iterable): + pass + else: + raise Exception(f"floats_strength must be either an iterable input or a float, but was{type(floats_strength).__repr__}.") + percents = comfy.hooks.InterpolationMethod.get_weights(num_from=start_percent, num_to=end_percent, length=len(floats_strength), + method=comfy.hooks.InterpolationMethod.LINEAR) + + is_first = True + for percent, strength in zip(percents, floats_strength): + guarantee_steps = 0 + if is_first: + guarantee_steps = 1 + is_first = False + prev_hook_kf.add(comfy.hooks.HookKeyframe(strength=strength, start_percent=percent, guarantee_steps=guarantee_steps)) + if print_keyframes: + logging.info(f"Hook Keyframe - start_percent:{percent} = {strength}") + return (prev_hook_kf,) +#------------------------------------------ +########################################### + + +class SetModelHooksOnCond: + @classmethod + def INPUT_TYPES(s): + return { + "required": { + "conditioning": ("CONDITIONING",), + "hooks": ("HOOKS",), + }, + } + + EXPERIMENTAL = True + RETURN_TYPES = ("CONDITIONING",) + CATEGORY = "advanced/hooks/manual" + FUNCTION = "attach_hook" + + def attach_hook(self, conditioning, hooks: comfy.hooks.HookGroup): + return (comfy.hooks.set_hooks_for_conditioning(conditioning, hooks),) + + +########################################### +# Combine Hooks +#------------------------------------------ +class CombineHooks: + NodeId = 'CombineHooks2' + NodeName = 'Combine Hooks [2]' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + }, + "optional": { + "hooks_A": ("HOOKS",), + "hooks_B": ("HOOKS",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOKS",) + CATEGORY = "advanced/hooks/combine" + FUNCTION = "combine_hooks" + + def combine_hooks(self, + hooks_A: comfy.hooks.HookGroup=None, + hooks_B: comfy.hooks.HookGroup=None): + candidates = [hooks_A, hooks_B] + return (comfy.hooks.HookGroup.combine_all_hooks(candidates),) + +class CombineHooksFour: + NodeId = 'CombineHooks4' + NodeName = 'Combine Hooks [4]' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + }, + "optional": { + "hooks_A": ("HOOKS",), + "hooks_B": ("HOOKS",), + "hooks_C": ("HOOKS",), + "hooks_D": ("HOOKS",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOKS",) + CATEGORY = "advanced/hooks/combine" + FUNCTION = "combine_hooks" + + def combine_hooks(self, + hooks_A: comfy.hooks.HookGroup=None, + hooks_B: comfy.hooks.HookGroup=None, + hooks_C: comfy.hooks.HookGroup=None, + hooks_D: comfy.hooks.HookGroup=None): + candidates = [hooks_A, hooks_B, hooks_C, hooks_D] + return (comfy.hooks.HookGroup.combine_all_hooks(candidates),) + +class CombineHooksEight: + NodeId = 'CombineHooks8' + NodeName = 'Combine Hooks [8]' + @classmethod + def INPUT_TYPES(s): + return { + "required": { + }, + "optional": { + "hooks_A": ("HOOKS",), + "hooks_B": ("HOOKS",), + "hooks_C": ("HOOKS",), + "hooks_D": ("HOOKS",), + "hooks_E": ("HOOKS",), + "hooks_F": ("HOOKS",), + "hooks_G": ("HOOKS",), + "hooks_H": ("HOOKS",), + } + } + + EXPERIMENTAL = True + RETURN_TYPES = ("HOOKS",) + CATEGORY = "advanced/hooks/combine" + FUNCTION = "combine_hooks" + + def combine_hooks(self, + hooks_A: comfy.hooks.HookGroup=None, + hooks_B: comfy.hooks.HookGroup=None, + hooks_C: comfy.hooks.HookGroup=None, + hooks_D: comfy.hooks.HookGroup=None, + hooks_E: comfy.hooks.HookGroup=None, + hooks_F: comfy.hooks.HookGroup=None, + hooks_G: comfy.hooks.HookGroup=None, + hooks_H: comfy.hooks.HookGroup=None): + candidates = [hooks_A, hooks_B, hooks_C, hooks_D, hooks_E, hooks_F, hooks_G, hooks_H] + return (comfy.hooks.HookGroup.combine_all_hooks(candidates),) +#------------------------------------------ +########################################### + +node_list = [ + # Create + CreateHookLora, + CreateHookLoraModelOnly, + CreateHookModelAsLora, + CreateHookModelAsLoraModelOnly, + # Scheduling + SetHookKeyframes, + CreateHookKeyframe, + CreateHookKeyframesInterpolated, + CreateHookKeyframesFromFloats, + # Combine + CombineHooks, + CombineHooksFour, + CombineHooksEight, + # Attach + ConditioningSetProperties, + ConditioningSetPropertiesAndCombine, + PairConditioningSetProperties, + PairConditioningSetPropertiesAndCombine, + ConditioningSetDefaultAndCombine, + PairConditioningSetDefaultAndCombine, + PairConditioningCombine, + SetClipHooks, + # Other + ConditioningTimestepsRange, +] +NODE_CLASS_MAPPINGS = {} +NODE_DISPLAY_NAME_MAPPINGS = {} + +for node in node_list: + NODE_CLASS_MAPPINGS[node.NodeId] = node + NODE_DISPLAY_NAME_MAPPINGS[node.NodeId] = node.NodeName diff --git a/comfy_extras/nodes_hunyuan.py b/comfy_extras/nodes_hunyuan.py index b03eaf6a2..d6408269f 100644 --- a/comfy_extras/nodes_hunyuan.py +++ b/comfy_extras/nodes_hunyuan.py @@ -1,3 +1,8 @@ +import nodes +import torch +import comfy.model_management + + class CLIPTextEncodeHunyuanDiT: @classmethod def INPUT_TYPES(s): @@ -15,11 +20,25 @@ class CLIPTextEncodeHunyuanDiT: tokens = clip.tokenize(bert) tokens["mt5xl"] = clip.tokenize(mt5xl)["mt5xl"] - output = clip.encode_from_tokens(tokens, return_pooled=True, return_dict=True) - cond = output.pop("cond") - return ([[cond, output]], ) + return (clip.encode_from_tokens_scheduled(tokens), ) +class EmptyHunyuanLatentVideo: + @classmethod + def INPUT_TYPES(s): + return {"required": { "width": ("INT", {"default": 848, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "height": ("INT", {"default": 480, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "length": ("INT", {"default": 25, "min": 1, "max": nodes.MAX_RESOLUTION, "step": 4}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096})}} + RETURN_TYPES = ("LATENT",) + FUNCTION = "generate" + + CATEGORY = "latent/video" + + def generate(self, width, height, length, batch_size=1): + latent = torch.zeros([batch_size, 16, ((length - 1) // 4) + 1, height // 8, width // 8], device=comfy.model_management.intermediate_device()) + return ({"samples":latent}, ) NODE_CLASS_MAPPINGS = { "CLIPTextEncodeHunyuanDiT": CLIPTextEncodeHunyuanDiT, + "EmptyHunyuanLatentVideo": EmptyHunyuanLatentVideo, } diff --git a/comfy_extras/nodes_hypernetwork.py b/comfy_extras/nodes_hypernetwork.py index cafafa6ab..665632292 100644 --- a/comfy_extras/nodes_hypernetwork.py +++ b/comfy_extras/nodes_hypernetwork.py @@ -107,7 +107,7 @@ class HypernetworkLoader: CATEGORY = "loaders" def load_hypernetwork(self, model, hypernetwork_name, strength): - hypernetwork_path = folder_paths.get_full_path("hypernetworks", hypernetwork_name) + hypernetwork_path = folder_paths.get_full_path_or_raise("hypernetworks", hypernetwork_name) model_hypernetwork = model.clone() patch = load_hypernetwork_patch(hypernetwork_path, strength) if patch is not None: diff --git a/comfy_extras/nodes_hypertile.py b/comfy_extras/nodes_hypertile.py index 227133f39..b366117c7 100644 --- a/comfy_extras/nodes_hypertile.py +++ b/comfy_extras/nodes_hypertile.py @@ -35,8 +35,6 @@ class HyperTile: CATEGORY = "model_patches/unet" def patch(self, model, tile_size, swap_size, max_depth, scale_depth): - model_channels = model.model.model_config.unet_config["model_channels"] - latent_tile_size = max(32, tile_size) // 8 self.temp = None diff --git a/comfy_extras/nodes_latent.py b/comfy_extras/nodes_latent.py index eabae0885..f33ed1bee 100644 --- a/comfy_extras/nodes_latent.py +++ b/comfy_extras/nodes_latent.py @@ -1,10 +1,15 @@ import comfy.utils +import comfy_extras.nodes_post_processing import torch -def reshape_latent_to(target_shape, latent): + +def reshape_latent_to(target_shape, latent, repeat_batch=True): if latent.shape[1:] != target_shape[1:]: - latent = comfy.utils.common_upscale(latent, target_shape[3], target_shape[2], "bilinear", "center") - return comfy.utils.repeat_to_batch_size(latent, target_shape[0]) + latent = comfy.utils.common_upscale(latent, target_shape[-1], target_shape[-2], "bilinear", "center") + if repeat_batch: + return comfy.utils.repeat_to_batch_size(latent, target_shape[0]) + else: + return latent class LatentAdd: @@ -115,8 +120,7 @@ class LatentBatch: s1 = samples1["samples"] s2 = samples2["samples"] - if s1.shape[1:] != s2.shape[1:]: - s2 = comfy.utils.common_upscale(s2, s1.shape[3], s1.shape[2], "bilinear", "center") + s2 = reshape_latent_to(s1.shape, s2, repeat_batch=False) s = torch.cat((s1, s2), dim=0) samples_out["samples"] = s samples_out["batch_index"] = samples1.get("batch_index", [x for x in range(0, s1.shape[0])]) + samples2.get("batch_index", [x for x in range(0, s2.shape[0])]) @@ -145,6 +149,131 @@ class LatentBatchSeedBehavior: return (samples_out,) +class LatentApplyOperation: + @classmethod + def INPUT_TYPES(s): + return {"required": { "samples": ("LATENT",), + "operation": ("LATENT_OPERATION",), + }} + + RETURN_TYPES = ("LATENT",) + FUNCTION = "op" + + CATEGORY = "latent/advanced/operations" + EXPERIMENTAL = True + + def op(self, samples, operation): + samples_out = samples.copy() + + s1 = samples["samples"] + samples_out["samples"] = operation(latent=s1) + return (samples_out,) + +class LatentApplyOperationCFG: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "operation": ("LATENT_OPERATION",), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "latent/advanced/operations" + EXPERIMENTAL = True + + def patch(self, model, operation): + m = model.clone() + + def pre_cfg_function(args): + conds_out = args["conds_out"] + if len(conds_out) == 2: + conds_out[0] = operation(latent=(conds_out[0] - conds_out[1])) + conds_out[1] + else: + conds_out[0] = operation(latent=conds_out[0]) + return conds_out + + m.set_model_sampler_pre_cfg_function(pre_cfg_function) + return (m, ) + +class LatentOperationTonemapReinhard: + @classmethod + def INPUT_TYPES(s): + return {"required": { "multiplier": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 100.0, "step": 0.01}), + }} + + RETURN_TYPES = ("LATENT_OPERATION",) + FUNCTION = "op" + + CATEGORY = "latent/advanced/operations" + EXPERIMENTAL = True + + def op(self, multiplier): + def tonemap_reinhard(latent, **kwargs): + latent_vector_magnitude = (torch.linalg.vector_norm(latent, dim=(1)) + 0.0000000001)[:,None] + normalized_latent = latent / latent_vector_magnitude + + mean = torch.mean(latent_vector_magnitude, dim=(1,2,3), keepdim=True) + std = torch.std(latent_vector_magnitude, dim=(1,2,3), keepdim=True) + + top = (std * 5 + mean) * multiplier + + #reinhard + latent_vector_magnitude *= (1.0 / top) + new_magnitude = latent_vector_magnitude / (latent_vector_magnitude + 1.0) + new_magnitude *= top + + return normalized_latent * new_magnitude + return (tonemap_reinhard,) + +class LatentOperationSharpen: + @classmethod + def INPUT_TYPES(s): + return {"required": { + "sharpen_radius": ("INT", { + "default": 9, + "min": 1, + "max": 31, + "step": 1 + }), + "sigma": ("FLOAT", { + "default": 1.0, + "min": 0.1, + "max": 10.0, + "step": 0.1 + }), + "alpha": ("FLOAT", { + "default": 0.1, + "min": 0.0, + "max": 5.0, + "step": 0.01 + }), + }} + + RETURN_TYPES = ("LATENT_OPERATION",) + FUNCTION = "op" + + CATEGORY = "latent/advanced/operations" + EXPERIMENTAL = True + + def op(self, sharpen_radius, sigma, alpha): + def sharpen(latent, **kwargs): + luminance = (torch.linalg.vector_norm(latent, dim=(1)) + 1e-6)[:,None] + normalized_latent = latent / luminance + channels = latent.shape[1] + + kernel_size = sharpen_radius * 2 + 1 + kernel = comfy_extras.nodes_post_processing.gaussian_kernel(kernel_size, sigma, device=luminance.device) + center = kernel_size // 2 + + kernel *= alpha * -10 + kernel[center, center] = kernel[center, center] - kernel.sum() + 1.0 + + padded_image = torch.nn.functional.pad(normalized_latent, (sharpen_radius,sharpen_radius,sharpen_radius,sharpen_radius), 'reflect') + sharpened = torch.nn.functional.conv2d(padded_image, kernel.repeat(channels, 1, 1).unsqueeze(1), padding=kernel_size // 2, groups=channels)[:,:,sharpen_radius:-sharpen_radius, sharpen_radius:-sharpen_radius] + + return luminance * sharpened + return (sharpen,) + NODE_CLASS_MAPPINGS = { "LatentAdd": LatentAdd, "LatentSubtract": LatentSubtract, @@ -152,4 +281,8 @@ NODE_CLASS_MAPPINGS = { "LatentInterpolate": LatentInterpolate, "LatentBatch": LatentBatch, "LatentBatchSeedBehavior": LatentBatchSeedBehavior, + "LatentApplyOperation": LatentApplyOperation, + "LatentApplyOperationCFG": LatentApplyOperationCFG, + "LatentOperationTonemapReinhard": LatentOperationTonemapReinhard, + "LatentOperationSharpen": LatentOperationSharpen, } diff --git a/comfy_extras/nodes_load_3d.py b/comfy_extras/nodes_load_3d.py new file mode 100644 index 000000000..436131aba --- /dev/null +++ b/comfy_extras/nodes_load_3d.py @@ -0,0 +1,134 @@ +import nodes +import folder_paths +import os + +def normalize_path(path): + return path.replace('\\', '/') + +class Load3D(): + @classmethod + def INPUT_TYPES(s): + input_dir = os.path.join(folder_paths.get_input_directory(), "3d") + + os.makedirs(input_dir, exist_ok=True) + + files = [normalize_path(os.path.join("3d", f)) for f in os.listdir(input_dir) if f.endswith(('.gltf', '.glb', '.obj', '.mtl', '.fbx', '.stl'))] + + return {"required": { + "model_file": (sorted(files), {"file_upload": True}), + "image": ("LOAD_3D", {}), + "width": ("INT", {"default": 1024, "min": 1, "max": 4096, "step": 1}), + "height": ("INT", {"default": 1024, "min": 1, "max": 4096, "step": 1}), + "material": (["original", "normal", "wireframe", "depth"],), + "bg_color": ("STRING", {"default": "#000000", "multiline": False}), + "light_intensity": ("INT", {"default": 10, "min": 1, "max": 20, "step": 1}), + "up_direction": (["original", "-x", "+x", "-y", "+y", "-z", "+z"],), + "fov": ("INT", {"default": 75, "min": 10, "max": 150, "step": 1}), + }} + + RETURN_TYPES = ("IMAGE", "MASK", "STRING") + RETURN_NAMES = ("image", "mask", "mesh_path") + + FUNCTION = "process" + EXPERIMENTAL = True + + CATEGORY = "3d" + + def process(self, model_file, image, **kwargs): + if isinstance(image, dict): + image_path = folder_paths.get_annotated_filepath(image['image']) + mask_path = folder_paths.get_annotated_filepath(image['mask']) + + load_image_node = nodes.LoadImage() + output_image, ignore_mask = load_image_node.load_image(image=image_path) + ignore_image, output_mask = load_image_node.load_image(image=mask_path) + + return output_image, output_mask, model_file, + else: + # to avoid the format is not dict which will happen the FE code is not compatibility to core, + # we need to this to double-check, it can be removed after merged FE into the core + image_path = folder_paths.get_annotated_filepath(image) + load_image_node = nodes.LoadImage() + output_image, output_mask = load_image_node.load_image(image=image_path) + return output_image, output_mask, model_file, + +class Load3DAnimation(): + @classmethod + def INPUT_TYPES(s): + input_dir = os.path.join(folder_paths.get_input_directory(), "3d") + + os.makedirs(input_dir, exist_ok=True) + + files = [normalize_path(os.path.join("3d", f)) for f in os.listdir(input_dir) if f.endswith(('.gltf', '.glb', '.fbx'))] + + return {"required": { + "model_file": (sorted(files), {"file_upload": True}), + "image": ("LOAD_3D_ANIMATION", {}), + "width": ("INT", {"default": 1024, "min": 1, "max": 4096, "step": 1}), + "height": ("INT", {"default": 1024, "min": 1, "max": 4096, "step": 1}), + "material": (["original", "normal", "wireframe", "depth"],), + "bg_color": ("STRING", {"default": "#000000", "multiline": False}), + "light_intensity": ("INT", {"default": 10, "min": 1, "max": 20, "step": 1}), + "up_direction": (["original", "-x", "+x", "-y", "+y", "-z", "+z"],), + "animation_speed": (["0.1", "0.5", "1", "1.5", "2"], {"default": "1"}), + "fov": ("INT", {"default": 75, "min": 10, "max": 150, "step": 1}), + }} + + RETURN_TYPES = ("IMAGE", "MASK", "STRING") + RETURN_NAMES = ("image", "mask", "mesh_path") + + FUNCTION = "process" + EXPERIMENTAL = True + + CATEGORY = "3d" + + def process(self, model_file, image, **kwargs): + if isinstance(image, dict): + image_path = folder_paths.get_annotated_filepath(image['image']) + mask_path = folder_paths.get_annotated_filepath(image['mask']) + + load_image_node = nodes.LoadImage() + output_image, ignore_mask = load_image_node.load_image(image=image_path) + ignore_image, output_mask = load_image_node.load_image(image=mask_path) + + return output_image, output_mask, model_file, + else: + image_path = folder_paths.get_annotated_filepath(image) + load_image_node = nodes.LoadImage() + output_image, output_mask = load_image_node.load_image(image=image_path) + return output_image, output_mask, model_file, + +class Preview3D(): + @classmethod + def INPUT_TYPES(s): + return {"required": { + "model_file": ("STRING", {"default": "", "multiline": False}), + "material": (["original", "normal", "wireframe", "depth"],), + "bg_color": ("STRING", {"default": "#000000", "multiline": False}), + "light_intensity": ("INT", {"default": 10, "min": 1, "max": 20, "step": 1}), + "up_direction": (["original", "-x", "+x", "-y", "+y", "-z", "+z"],), + "fov": ("INT", {"default": 75, "min": 10, "max": 150, "step": 1}), + }} + + OUTPUT_NODE = True + RETURN_TYPES = () + + CATEGORY = "3d" + + FUNCTION = "process" + EXPERIMENTAL = True + + def process(self, model_file, **kwargs): + return {"ui": {"model_file": [model_file]}, "result": ()} + +NODE_CLASS_MAPPINGS = { + "Load3D": Load3D, + "Load3DAnimation": Load3DAnimation, + "Preview3D": Preview3D +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "Load3D": "Load 3D", + "Load3DAnimation": "Load 3D - Animation", + "Preview3D": "Preview 3D" +} diff --git a/comfy_extras/nodes_lora_extract.py b/comfy_extras/nodes_lora_extract.py new file mode 100644 index 000000000..dfd4fe9f4 --- /dev/null +++ b/comfy_extras/nodes_lora_extract.py @@ -0,0 +1,119 @@ +import torch +import comfy.model_management +import comfy.utils +import folder_paths +import os +import logging +from enum import Enum + +CLAMP_QUANTILE = 0.99 + +def extract_lora(diff, rank): + conv2d = (len(diff.shape) == 4) + kernel_size = None if not conv2d else diff.size()[2:4] + conv2d_3x3 = conv2d and kernel_size != (1, 1) + out_dim, in_dim = diff.size()[0:2] + rank = min(rank, in_dim, out_dim) + + if conv2d: + if conv2d_3x3: + diff = diff.flatten(start_dim=1) + else: + diff = diff.squeeze() + + + U, S, Vh = torch.linalg.svd(diff.float()) + U = U[:, :rank] + S = S[:rank] + U = U @ torch.diag(S) + Vh = Vh[:rank, :] + + dist = torch.cat([U.flatten(), Vh.flatten()]) + hi_val = torch.quantile(dist, CLAMP_QUANTILE) + low_val = -hi_val + + U = U.clamp(low_val, hi_val) + Vh = Vh.clamp(low_val, hi_val) + if conv2d: + U = U.reshape(out_dim, rank, 1, 1) + Vh = Vh.reshape(rank, in_dim, kernel_size[0], kernel_size[1]) + return (U, Vh) + +class LORAType(Enum): + STANDARD = 0 + FULL_DIFF = 1 + +LORA_TYPES = {"standard": LORAType.STANDARD, + "full_diff": LORAType.FULL_DIFF} + +def calc_lora_model(model_diff, rank, prefix_model, prefix_lora, output_sd, lora_type, bias_diff=False): + comfy.model_management.load_models_gpu([model_diff], force_patch_weights=True) + sd = model_diff.model_state_dict(filter_prefix=prefix_model) + + for k in sd: + if k.endswith(".weight"): + weight_diff = sd[k] + if lora_type == LORAType.STANDARD: + if weight_diff.ndim < 2: + if bias_diff: + output_sd["{}{}.diff".format(prefix_lora, k[len(prefix_model):-7])] = weight_diff.contiguous().half().cpu() + continue + try: + out = extract_lora(weight_diff, rank) + output_sd["{}{}.lora_up.weight".format(prefix_lora, k[len(prefix_model):-7])] = out[0].contiguous().half().cpu() + output_sd["{}{}.lora_down.weight".format(prefix_lora, k[len(prefix_model):-7])] = out[1].contiguous().half().cpu() + except: + logging.warning("Could not generate lora weights for key {}, is the weight difference a zero?".format(k)) + elif lora_type == LORAType.FULL_DIFF: + output_sd["{}{}.diff".format(prefix_lora, k[len(prefix_model):-7])] = weight_diff.contiguous().half().cpu() + + elif bias_diff and k.endswith(".bias"): + output_sd["{}{}.diff_b".format(prefix_lora, k[len(prefix_model):-5])] = sd[k].contiguous().half().cpu() + return output_sd + +class LoraSave: + def __init__(self): + self.output_dir = folder_paths.get_output_directory() + + @classmethod + def INPUT_TYPES(s): + return {"required": {"filename_prefix": ("STRING", {"default": "loras/ComfyUI_extracted_lora"}), + "rank": ("INT", {"default": 8, "min": 1, "max": 4096, "step": 1}), + "lora_type": (tuple(LORA_TYPES.keys()),), + "bias_diff": ("BOOLEAN", {"default": True}), + }, + "optional": {"model_diff": ("MODEL", {"tooltip": "The ModelSubtract output to be converted to a lora."}), + "text_encoder_diff": ("CLIP", {"tooltip": "The CLIPSubtract output to be converted to a lora."})}, + } + RETURN_TYPES = () + FUNCTION = "save" + OUTPUT_NODE = True + + CATEGORY = "_for_testing" + + def save(self, filename_prefix, rank, lora_type, bias_diff, model_diff=None, text_encoder_diff=None): + if model_diff is None and text_encoder_diff is None: + return {} + + lora_type = LORA_TYPES.get(lora_type) + full_output_folder, filename, counter, subfolder, filename_prefix = folder_paths.get_save_image_path(filename_prefix, self.output_dir) + + output_sd = {} + if model_diff is not None: + output_sd = calc_lora_model(model_diff, rank, "diffusion_model.", "diffusion_model.", output_sd, lora_type, bias_diff=bias_diff) + if text_encoder_diff is not None: + output_sd = calc_lora_model(text_encoder_diff.patcher, rank, "", "text_encoders.", output_sd, lora_type, bias_diff=bias_diff) + + output_checkpoint = f"{filename}_{counter:05}_.safetensors" + output_checkpoint = os.path.join(full_output_folder, output_checkpoint) + + comfy.utils.save_torch_file(output_sd, output_checkpoint, metadata=None) + return {} + +NODE_CLASS_MAPPINGS = { + "LoraSave": LoraSave +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "LoraSave": "Extract and Save Lora" +} diff --git a/comfy_extras/nodes_lt.py b/comfy_extras/nodes_lt.py new file mode 100644 index 000000000..dec912416 --- /dev/null +++ b/comfy_extras/nodes_lt.py @@ -0,0 +1,184 @@ +import nodes +import node_helpers +import torch +import comfy.model_management +import comfy.model_sampling +import math + +class EmptyLTXVLatentVideo: + @classmethod + def INPUT_TYPES(s): + return {"required": { "width": ("INT", {"default": 768, "min": 64, "max": nodes.MAX_RESOLUTION, "step": 32}), + "height": ("INT", {"default": 512, "min": 64, "max": nodes.MAX_RESOLUTION, "step": 32}), + "length": ("INT", {"default": 97, "min": 1, "max": nodes.MAX_RESOLUTION, "step": 8}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096})}} + RETURN_TYPES = ("LATENT",) + FUNCTION = "generate" + + CATEGORY = "latent/video/ltxv" + + def generate(self, width, height, length, batch_size=1): + latent = torch.zeros([batch_size, 128, ((length - 1) // 8) + 1, height // 32, width // 32], device=comfy.model_management.intermediate_device()) + return ({"samples": latent}, ) + + +class LTXVImgToVideo: + @classmethod + def INPUT_TYPES(s): + return {"required": {"positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "vae": ("VAE",), + "image": ("IMAGE",), + "width": ("INT", {"default": 768, "min": 64, "max": nodes.MAX_RESOLUTION, "step": 32}), + "height": ("INT", {"default": 512, "min": 64, "max": nodes.MAX_RESOLUTION, "step": 32}), + "length": ("INT", {"default": 97, "min": 9, "max": nodes.MAX_RESOLUTION, "step": 8}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096}), + "image_noise_scale": ("FLOAT", {"default": 0.15, "min": 0, "max": 1.0, "step": 0.01, "tooltip": "Amount of noise to apply on conditioning image latent."}) + }} + + RETURN_TYPES = ("CONDITIONING", "CONDITIONING", "LATENT") + RETURN_NAMES = ("positive", "negative", "latent") + + CATEGORY = "conditioning/video_models" + FUNCTION = "generate" + + def generate(self, positive, negative, image, vae, width, height, length, batch_size, image_noise_scale): + pixels = comfy.utils.common_upscale(image.movedim(-1, 1), width, height, "bilinear", "center").movedim(1, -1) + encode_pixels = pixels[:, :, :, :3] + t = vae.encode(encode_pixels) + positive = node_helpers.conditioning_set_values(positive, {"guiding_latent": t, "guiding_latent_noise_scale": image_noise_scale}) + negative = node_helpers.conditioning_set_values(negative, {"guiding_latent": t, "guiding_latent_noise_scale": image_noise_scale}) + + latent = torch.zeros([batch_size, 128, ((length - 1) // 8) + 1, height // 32, width // 32], device=comfy.model_management.intermediate_device()) + latent[:, :, :t.shape[2]] = t + return (positive, negative, {"samples": latent}, ) + + +class LTXVConditioning: + @classmethod + def INPUT_TYPES(s): + return {"required": {"positive": ("CONDITIONING", ), + "negative": ("CONDITIONING", ), + "frame_rate": ("FLOAT", {"default": 25.0, "min": 0.0, "max": 1000.0, "step": 0.01}), + }} + RETURN_TYPES = ("CONDITIONING", "CONDITIONING") + RETURN_NAMES = ("positive", "negative") + FUNCTION = "append" + + CATEGORY = "conditioning/video_models" + + def append(self, positive, negative, frame_rate): + positive = node_helpers.conditioning_set_values(positive, {"frame_rate": frame_rate}) + negative = node_helpers.conditioning_set_values(negative, {"frame_rate": frame_rate}) + return (positive, negative) + + +class ModelSamplingLTXV: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "max_shift": ("FLOAT", {"default": 2.05, "min": 0.0, "max": 100.0, "step":0.01}), + "base_shift": ("FLOAT", {"default": 0.95, "min": 0.0, "max": 100.0, "step":0.01}), + }, + "optional": {"latent": ("LATENT",), } + } + + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "advanced/model" + + def patch(self, model, max_shift, base_shift, latent=None): + m = model.clone() + + if latent is None: + tokens = 4096 + else: + tokens = math.prod(latent["samples"].shape[2:]) + + x1 = 1024 + x2 = 4096 + mm = (max_shift - base_shift) / (x2 - x1) + b = base_shift - mm * x1 + shift = (tokens) * mm + b + + sampling_base = comfy.model_sampling.ModelSamplingFlux + sampling_type = comfy.model_sampling.CONST + + class ModelSamplingAdvanced(sampling_base, sampling_type): + pass + + model_sampling = ModelSamplingAdvanced(model.model.model_config) + model_sampling.set_parameters(shift=shift) + m.add_object_patch("model_sampling", model_sampling) + + return (m, ) + + +class LTXVScheduler: + @classmethod + def INPUT_TYPES(s): + return {"required": + {"steps": ("INT", {"default": 20, "min": 1, "max": 10000}), + "max_shift": ("FLOAT", {"default": 2.05, "min": 0.0, "max": 100.0, "step":0.01}), + "base_shift": ("FLOAT", {"default": 0.95, "min": 0.0, "max": 100.0, "step":0.01}), + "stretch": ("BOOLEAN", { + "default": True, + "tooltip": "Stretch the sigmas to be in the range [terminal, 1]." + }), + "terminal": ( + "FLOAT", + { + "default": 0.1, "min": 0.0, "max": 0.99, "step": 0.01, + "tooltip": "The terminal value of the sigmas after stretching." + }, + ), + }, + "optional": {"latent": ("LATENT",), } + } + + RETURN_TYPES = ("SIGMAS",) + CATEGORY = "sampling/custom_sampling/schedulers" + + FUNCTION = "get_sigmas" + + def get_sigmas(self, steps, max_shift, base_shift, stretch, terminal, latent=None): + if latent is None: + tokens = 4096 + else: + tokens = math.prod(latent["samples"].shape[2:]) + + sigmas = torch.linspace(1.0, 0.0, steps + 1) + + x1 = 1024 + x2 = 4096 + mm = (max_shift - base_shift) / (x2 - x1) + b = base_shift - mm * x1 + sigma_shift = (tokens) * mm + b + + power = 1 + sigmas = torch.where( + sigmas != 0, + math.exp(sigma_shift) / (math.exp(sigma_shift) + (1 / sigmas - 1) ** power), + 0, + ) + + # Stretch sigmas so that its final value matches the given terminal value. + if stretch: + non_zero_mask = sigmas != 0 + non_zero_sigmas = sigmas[non_zero_mask] + one_minus_z = 1.0 - non_zero_sigmas + scale_factor = one_minus_z[-1] / (1.0 - terminal) + stretched = 1.0 - (one_minus_z / scale_factor) + sigmas[non_zero_mask] = stretched + + return (sigmas,) + + +NODE_CLASS_MAPPINGS = { + "EmptyLTXVLatentVideo": EmptyLTXVLatentVideo, + "LTXVImgToVideo": LTXVImgToVideo, + "ModelSamplingLTXV": ModelSamplingLTXV, + "LTXVConditioning": LTXVConditioning, + "LTXVScheduler": LTXVScheduler, +} diff --git a/comfy_extras/nodes_mahiro.py b/comfy_extras/nodes_mahiro.py new file mode 100644 index 000000000..8fcdfba75 --- /dev/null +++ b/comfy_extras/nodes_mahiro.py @@ -0,0 +1,41 @@ +import torch +import torch.nn.functional as F + +class Mahiro: + @classmethod + def INPUT_TYPES(s): + return {"required": {"model": ("MODEL",), + }} + RETURN_TYPES = ("MODEL",) + RETURN_NAMES = ("patched_model",) + FUNCTION = "patch" + CATEGORY = "_for_testing" + DESCRIPTION = "Modify the guidance to scale more on the 'direction' of the positive prompt rather than the difference between the negative prompt." + def patch(self, model): + m = model.clone() + def mahiro_normd(args): + scale: float = args['cond_scale'] + cond_p: torch.Tensor = args['cond_denoised'] + uncond_p: torch.Tensor = args['uncond_denoised'] + #naive leap + leap = cond_p * scale + #sim with uncond leap + u_leap = uncond_p * scale + cfg = args["denoised"] + merge = (leap + cfg) / 2 + normu = torch.sqrt(u_leap.abs()) * u_leap.sign() + normm = torch.sqrt(merge.abs()) * merge.sign() + sim = F.cosine_similarity(normu, normm).mean() + simsc = 2 * (sim+1) + wm = (simsc*cfg + (4-simsc)*leap) / 4 + return wm + m.set_model_sampler_post_cfg_function(mahiro_normd) + return (m, ) + +NODE_CLASS_MAPPINGS = { + "Mahiro": Mahiro +} + +NODE_DISPLAY_NAME_MAPPINGS = { + "Mahiro": "Mahiro is so cute that she deserves a better guidance function!! (。・ω・。)", +} diff --git a/comfy_extras/nodes_mask.py b/comfy_extras/nodes_mask.py index 29589b4ab..63fd13b9a 100644 --- a/comfy_extras/nodes_mask.py +++ b/comfy_extras/nodes_mask.py @@ -305,7 +305,7 @@ class FeatherMask: output[:, -y, :] *= feather_rate return (output,) - + class GrowMask: @classmethod def INPUT_TYPES(cls): @@ -316,7 +316,7 @@ class GrowMask: "tapered_corners": ("BOOLEAN", {"default": True}), }, } - + CATEGORY = "mask" RETURN_TYPES = ("MASK",) diff --git a/comfy_extras/nodes_mochi.py b/comfy_extras/nodes_mochi.py new file mode 100644 index 000000000..1c474faa9 --- /dev/null +++ b/comfy_extras/nodes_mochi.py @@ -0,0 +1,23 @@ +import nodes +import torch +import comfy.model_management + +class EmptyMochiLatentVideo: + @classmethod + def INPUT_TYPES(s): + return {"required": { "width": ("INT", {"default": 848, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "height": ("INT", {"default": 480, "min": 16, "max": nodes.MAX_RESOLUTION, "step": 16}), + "length": ("INT", {"default": 25, "min": 7, "max": nodes.MAX_RESOLUTION, "step": 6}), + "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096})}} + RETURN_TYPES = ("LATENT",) + FUNCTION = "generate" + + CATEGORY = "latent/video" + + def generate(self, width, height, length, batch_size=1): + latent = torch.zeros([batch_size, 12, ((length - 1) // 6) + 1, height // 8, width // 8], device=comfy.model_management.intermediate_device()) + return ({"samples":latent}, ) + +NODE_CLASS_MAPPINGS = { + "EmptyMochiLatentVideo": EmptyMochiLatentVideo, +} diff --git a/comfy_extras/nodes_model_advanced.py b/comfy_extras/nodes_model_advanced.py index 918e6085a..33f3face1 100644 --- a/comfy_extras/nodes_model_advanced.py +++ b/comfy_extras/nodes_model_advanced.py @@ -1,4 +1,3 @@ -import folder_paths import comfy.sd import comfy.model_sampling import comfy.latent_formats @@ -26,8 +25,8 @@ class X0(comfy.model_sampling.EPS): class ModelSamplingDiscreteDistilled(comfy.model_sampling.ModelSamplingDiscrete): original_timesteps = 50 - def __init__(self, model_config=None): - super().__init__(model_config) + def __init__(self, model_config=None, zsnr=None): + super().__init__(model_config, zsnr=zsnr) self.skip_steps = self.num_timesteps // self.original_timesteps @@ -51,25 +50,6 @@ class ModelSamplingDiscreteDistilled(comfy.model_sampling.ModelSamplingDiscrete) return log_sigma.exp().to(timestep.device) -def rescale_zero_terminal_snr_sigmas(sigmas): - alphas_cumprod = 1 / ((sigmas * sigmas) + 1) - alphas_bar_sqrt = alphas_cumprod.sqrt() - - # Store old values. - alphas_bar_sqrt_0 = alphas_bar_sqrt[0].clone() - alphas_bar_sqrt_T = alphas_bar_sqrt[-1].clone() - - # Shift so the last timestep is zero. - alphas_bar_sqrt -= (alphas_bar_sqrt_T) - - # Scale so the first timestep is back to the old value. - alphas_bar_sqrt *= alphas_bar_sqrt_0 / (alphas_bar_sqrt_0 - alphas_bar_sqrt_T) - - # Convert alphas_bar_sqrt to betas - alphas_bar = alphas_bar_sqrt**2 # Revert sqrt - alphas_bar[-1] = 4.8973451890853435e-08 - return ((1 - alphas_bar) / alphas_bar) ** 0.5 - class ModelSamplingDiscrete: @classmethod def INPUT_TYPES(s): @@ -100,9 +80,7 @@ class ModelSamplingDiscrete: class ModelSamplingAdvanced(sampling_base, sampling_type): pass - model_sampling = ModelSamplingAdvanced(model.model.model_config) - if zsnr: - model_sampling.set_sigmas(rescale_zero_terminal_snr_sigmas(model_sampling.sigmas)) + model_sampling = ModelSamplingAdvanced(model.model.model_config, zsnr=zsnr) m.add_object_patch("model_sampling", model_sampling) return (m, ) @@ -211,7 +189,7 @@ class ModelSamplingContinuousEDM: @classmethod def INPUT_TYPES(s): return {"required": { "model": ("MODEL",), - "sampling": (["v_prediction", "edm_playground_v2.5", "eps"],), + "sampling": (["v_prediction", "edm", "edm_playground_v2.5", "eps"],), "sigma_max": ("FLOAT", {"default": 120.0, "min": 0.0, "max": 1000.0, "step":0.001, "round": False}), "sigma_min": ("FLOAT", {"default": 0.002, "min": 0.0, "max": 1000.0, "step":0.001, "round": False}), }} @@ -228,6 +206,9 @@ class ModelSamplingContinuousEDM: sigma_data = 1.0 if sampling == "eps": sampling_type = comfy.model_sampling.EPS + elif sampling == "edm": + sampling_type = comfy.model_sampling.EDM + sigma_data = 0.5 elif sampling == "v_prediction": sampling_type = comfy.model_sampling.V_PREDICTION elif sampling == "edm_playground_v2.5": @@ -262,7 +243,6 @@ class ModelSamplingContinuousV: def patch(self, model, sampling, sigma_max, sigma_min): m = model.clone() - latent_format = None sigma_data = 1.0 if sampling == "v_prediction": sampling_type = comfy.model_sampling.V_PREDICTION diff --git a/comfy_extras/nodes_model_downscale.py b/comfy_extras/nodes_model_downscale.py index 58b5073ec..49420dee9 100644 --- a/comfy_extras/nodes_model_downscale.py +++ b/comfy_extras/nodes_model_downscale.py @@ -1,4 +1,3 @@ -import torch import comfy.utils class PatchModelAddDownscale: @@ -17,7 +16,7 @@ class PatchModelAddDownscale: RETURN_TYPES = ("MODEL",) FUNCTION = "patch" - CATEGORY = "_for_testing" + CATEGORY = "model_patches/unet" def patch(self, model, block_number, downscale_factor, start_percent, end_percent, downscale_after_skip, downscale_method, upscale_method): model_sampling = model.get_model_object("model_sampling") diff --git a/comfy_extras/nodes_model_merging_model_specific.py b/comfy_extras/nodes_model_merging_model_specific.py index 9557d9b1f..7cd8f98b2 100644 --- a/comfy_extras/nodes_model_merging_model_specific.py +++ b/comfy_extras/nodes_model_merging_model_specific.py @@ -75,6 +75,34 @@ class ModelMergeSD3_2B(comfy_extras.nodes_model_merging.ModelMergeBlocks): return {"required": arg_dict} + +class ModelMergeAuraflow(comfy_extras.nodes_model_merging.ModelMergeBlocks): + CATEGORY = "advanced/model_merging/model_specific" + + @classmethod + def INPUT_TYPES(s): + arg_dict = { "model1": ("MODEL",), + "model2": ("MODEL",)} + + argument = ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}) + + arg_dict["init_x_linear."] = argument + arg_dict["positional_encoding"] = argument + arg_dict["cond_seq_linear."] = argument + arg_dict["register_tokens"] = argument + arg_dict["t_embedder."] = argument + + for i in range(4): + arg_dict["double_layers.{}.".format(i)] = argument + + for i in range(32): + arg_dict["single_layers.{}.".format(i)] = argument + + arg_dict["modF."] = argument + arg_dict["final_linear."] = argument + + return {"required": arg_dict} + class ModelMergeFlux1(comfy_extras.nodes_model_merging.ModelMergeBlocks): CATEGORY = "advanced/model_merging/model_specific" @@ -101,10 +129,81 @@ class ModelMergeFlux1(comfy_extras.nodes_model_merging.ModelMergeBlocks): return {"required": arg_dict} +class ModelMergeSD35_Large(comfy_extras.nodes_model_merging.ModelMergeBlocks): + CATEGORY = "advanced/model_merging/model_specific" + + @classmethod + def INPUT_TYPES(s): + arg_dict = { "model1": ("MODEL",), + "model2": ("MODEL",)} + + argument = ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}) + + arg_dict["pos_embed."] = argument + arg_dict["x_embedder."] = argument + arg_dict["context_embedder."] = argument + arg_dict["y_embedder."] = argument + arg_dict["t_embedder."] = argument + + for i in range(38): + arg_dict["joint_blocks.{}.".format(i)] = argument + + arg_dict["final_layer."] = argument + + return {"required": arg_dict} + +class ModelMergeMochiPreview(comfy_extras.nodes_model_merging.ModelMergeBlocks): + CATEGORY = "advanced/model_merging/model_specific" + + @classmethod + def INPUT_TYPES(s): + arg_dict = { "model1": ("MODEL",), + "model2": ("MODEL",)} + + argument = ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}) + + arg_dict["pos_frequencies."] = argument + arg_dict["t_embedder."] = argument + arg_dict["t5_y_embedder."] = argument + arg_dict["t5_yproj."] = argument + + for i in range(48): + arg_dict["blocks.{}.".format(i)] = argument + + arg_dict["final_layer."] = argument + + return {"required": arg_dict} + +class ModelMergeLTXV(comfy_extras.nodes_model_merging.ModelMergeBlocks): + CATEGORY = "advanced/model_merging/model_specific" + + @classmethod + def INPUT_TYPES(s): + arg_dict = { "model1": ("MODEL",), + "model2": ("MODEL",)} + + argument = ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.01}) + + arg_dict["patchify_proj."] = argument + arg_dict["adaln_single."] = argument + arg_dict["caption_projection."] = argument + + for i in range(28): + arg_dict["transformer_blocks.{}.".format(i)] = argument + + arg_dict["scale_shift_table"] = argument + arg_dict["proj_out."] = argument + + return {"required": arg_dict} + NODE_CLASS_MAPPINGS = { "ModelMergeSD1": ModelMergeSD1, "ModelMergeSD2": ModelMergeSD1, #SD1 and SD2 have the same blocks "ModelMergeSDXL": ModelMergeSDXL, "ModelMergeSD3_2B": ModelMergeSD3_2B, + "ModelMergeAuraflow": ModelMergeAuraflow, "ModelMergeFlux1": ModelMergeFlux1, + "ModelMergeSD35_Large": ModelMergeSD35_Large, + "ModelMergeMochiPreview": ModelMergeMochiPreview, + "ModelMergeLTXV": ModelMergeLTXV, } diff --git a/comfy_extras/nodes_morphology.py b/comfy_extras/nodes_morphology.py index 071521d87..b1372b8ce 100644 --- a/comfy_extras/nodes_morphology.py +++ b/comfy_extras/nodes_morphology.py @@ -46,4 +46,4 @@ NODE_CLASS_MAPPINGS = { NODE_DISPLAY_NAME_MAPPINGS = { "Morphology": "ImageMorphology", -} \ No newline at end of file +} diff --git a/comfy_extras/nodes_perpneg.py b/comfy_extras/nodes_perpneg.py index 546276aa1..6c6f71767 100644 --- a/comfy_extras/nodes_perpneg.py +++ b/comfy_extras/nodes_perpneg.py @@ -26,6 +26,7 @@ class PerpNeg: FUNCTION = "patch" CATEGORY = "_for_testing" + DEPRECATED = True def patch(self, model, empty_conditioning, neg_scale): m = model.clone() @@ -63,7 +64,7 @@ class Guider_PerpNeg(comfy.samplers.CFGGuider): def predict_noise(self, x, timestep, model_options={}, seed=None): # in CFGGuider.predict_noise, we call sampling_function(), which uses cfg_function() to compute pos & neg # but we'd rather do a single batch of sampling pos, neg, and empty, so we call calc_cond_batch([pos,neg,empty]) directly - + positive_cond = self.conds.get("positive", None) negative_cond = self.conds.get("negative", None) empty_cond = self.conds.get("empty_negative_prompt", None) @@ -72,7 +73,7 @@ class Guider_PerpNeg(comfy.samplers.CFGGuider): comfy.samplers.calc_cond_batch(self.inner_model, [positive_cond, negative_cond, empty_cond], x, timestep, model_options) cfg_result = perp_neg(x, noise_pred_pos, noise_pred_neg, noise_pred_empty, self.neg_scale, self.cfg) - # normally this would be done in cfg_function, but we skipped + # normally this would be done in cfg_function, but we skipped # that for efficiency: we can compute the noise predictions in # a single call to calc_cond_batch() (rather than two) # so we replicate the hook here diff --git a/comfy_extras/nodes_photomaker.py b/comfy_extras/nodes_photomaker.py index 29d127d74..d358ed6d5 100644 --- a/comfy_extras/nodes_photomaker.py +++ b/comfy_extras/nodes_photomaker.py @@ -16,6 +16,7 @@ VISION_CONFIG_DICT = { "patch_size": 14, "projection_dim": 768, "hidden_act": "quick_gelu", + "model_type": "clip_vision_model", } class MLP(nn.Module): @@ -126,7 +127,7 @@ class PhotoMakerLoader: CATEGORY = "_for_testing/photomaker" def load_photomaker_model(self, photomaker_model_name): - photomaker_model_path = folder_paths.get_full_path("photomaker", photomaker_model_name) + photomaker_model_path = folder_paths.get_full_path_or_raise("photomaker", photomaker_model_name) photomaker_model = PhotoMakerIDEncoder() data = comfy.utils.load_torch_file(photomaker_model_path, safe_load=True) if "id_encoder" in data: diff --git a/comfy_extras/nodes_pixart.py b/comfy_extras/nodes_pixart.py new file mode 100644 index 000000000..c7209c468 --- /dev/null +++ b/comfy_extras/nodes_pixart.py @@ -0,0 +1,24 @@ +from nodes import MAX_RESOLUTION + +class CLIPTextEncodePixArtAlpha: + @classmethod + def INPUT_TYPES(s): + return {"required": { + "width": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + "height": ("INT", {"default": 1024.0, "min": 0, "max": MAX_RESOLUTION}), + # "aspect_ratio": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), + "text": ("STRING", {"multiline": True, "dynamicPrompts": True}), "clip": ("CLIP", ), + }} + + RETURN_TYPES = ("CONDITIONING",) + FUNCTION = "encode" + CATEGORY = "advanced/conditioning" + DESCRIPTION = "Encodes text and sets the resolution conditioning for PixArt Alpha. Does not apply to PixArt Sigma." + + def encode(self, clip, width, height, text): + tokens = clip.tokenize(text) + return (clip.encode_from_tokens_scheduled(tokens, add_dict={"width": width, "height": height}),) + +NODE_CLASS_MAPPINGS = { + "CLIPTextEncodePixArtAlpha": CLIPTextEncodePixArtAlpha, +} diff --git a/comfy_extras/nodes_rebatch.py b/comfy_extras/nodes_rebatch.py index 3010fbd4b..e29cb9ed1 100644 --- a/comfy_extras/nodes_rebatch.py +++ b/comfy_extras/nodes_rebatch.py @@ -40,7 +40,7 @@ class LatentRebatch: return slices, indexable[num * batch_size:] else: return slices, None - + @staticmethod def slice_batch(batch, num, batch_size): result = [LatentRebatch.get_slices(x, num, batch_size) for x in batch] @@ -81,7 +81,7 @@ class LatentRebatch: if current_batch[0].shape[0] > batch_size: num = current_batch[0].shape[0] // batch_size sliced, remainder = self.slice_batch(current_batch, num, batch_size) - + for i in range(num): output_list.append({'samples': sliced[0][i], 'noise_mask': sliced[1][i], 'batch_index': sliced[2][i]}) diff --git a/comfy_extras/nodes_sag.py b/comfy_extras/nodes_sag.py index 5e15b99e5..1bd8d7364 100644 --- a/comfy_extras/nodes_sag.py +++ b/comfy_extras/nodes_sag.py @@ -57,12 +57,24 @@ def create_blur_map(x0, attn, sigma=3.0, threshold=1.0): attn = attn.reshape(b, -1, hw1, hw2) # Global Average Pool mask = attn.mean(1, keepdim=False).sum(1, keepdim=False) > threshold - ratio = 2**(math.ceil(math.sqrt(lh * lw / hw1)) - 1).bit_length() - mid_shape = [math.ceil(lh / ratio), math.ceil(lw / ratio)] + + total = mask.shape[-1] + x = round(math.sqrt((lh / lw) * total)) + xx = None + for i in range(0, math.floor(math.sqrt(total) / 2)): + for j in [(x + i), max(1, x - i)]: + if total % j == 0: + xx = j + break + if xx is not None: + break + + x = xx + y = total // x # Reshape mask = ( - mask.reshape(b, *mid_shape) + mask.reshape(b, x, y) .unsqueeze(1) .type(attn.dtype) ) diff --git a/comfy_extras/nodes_sd3.py b/comfy_extras/nodes_sd3.py index 046096cba..d75b29e60 100644 --- a/comfy_extras/nodes_sd3.py +++ b/comfy_extras/nodes_sd3.py @@ -3,24 +3,29 @@ import comfy.sd import comfy.model_management import nodes import torch +import comfy_extras.nodes_slg + class TripleCLIPLoader: @classmethod def INPUT_TYPES(s): - return {"required": { "clip_name1": (folder_paths.get_filename_list("clip"), ), "clip_name2": (folder_paths.get_filename_list("clip"), ), "clip_name3": (folder_paths.get_filename_list("clip"), ) + return {"required": { "clip_name1": (folder_paths.get_filename_list("text_encoders"), ), "clip_name2": (folder_paths.get_filename_list("text_encoders"), ), "clip_name3": (folder_paths.get_filename_list("text_encoders"), ) }} RETURN_TYPES = ("CLIP",) FUNCTION = "load_clip" CATEGORY = "advanced/loaders" + DESCRIPTION = "[Recipes]\n\nsd3: clip-l, clip-g, t5" + def load_clip(self, clip_name1, clip_name2, clip_name3): - clip_path1 = folder_paths.get_full_path("clip", clip_name1) - clip_path2 = folder_paths.get_full_path("clip", clip_name2) - clip_path3 = folder_paths.get_full_path("clip", clip_name3) + clip_path1 = folder_paths.get_full_path_or_raise("text_encoders", clip_name1) + clip_path2 = folder_paths.get_full_path_or_raise("text_encoders", clip_name2) + clip_path3 = folder_paths.get_full_path_or_raise("text_encoders", clip_name3) clip = comfy.sd.load_clip(ckpt_paths=[clip_path1, clip_path2, clip_path3], embedding_directory=folder_paths.get_folder_paths("embeddings")) return (clip,) + class EmptySD3LatentImage: def __init__(self): self.device = comfy.model_management.intermediate_device() @@ -36,9 +41,10 @@ class EmptySD3LatentImage: CATEGORY = "latent/sd3" def generate(self, width, height, batch_size=1): - latent = torch.ones([batch_size, 16, height // 8, width // 8], device=self.device) * 0.0609 + latent = torch.zeros([batch_size, 16, height // 8, width // 8], device=self.device) return ({"samples":latent}, ) + class CLIPTextEncodeSD3: @classmethod def INPUT_TYPES(s): @@ -76,8 +82,7 @@ class CLIPTextEncodeSD3: tokens["l"] += empty["l"] while len(tokens["l"]) > len(tokens["g"]): tokens["g"] += empty["g"] - cond, pooled = clip.encode_from_tokens(tokens, return_pooled=True) - return ([[cond, {"pooled_output": pooled}]], ) + return (clip.encode_from_tokens_scheduled(tokens), ) class ControlNetApplySD3(nodes.ControlNetApplyAdvanced): @@ -93,15 +98,41 @@ class ControlNetApplySD3(nodes.ControlNetApplyAdvanced): "end_percent": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001}) }} CATEGORY = "conditioning/controlnet" + DEPRECATED = True + + +class SkipLayerGuidanceSD3(comfy_extras.nodes_slg.SkipLayerGuidanceDiT): + ''' + Enhance guidance towards detailed dtructure by having another set of CFG negative with skipped layers. + Inspired by Perturbed Attention Guidance (https://arxiv.org/abs/2403.17377) + Experimental implementation by Dango233@StabilityAI. + ''' + @classmethod + def INPUT_TYPES(s): + return {"required": {"model": ("MODEL", ), + "layers": ("STRING", {"default": "7, 8, 9", "multiline": False}), + "scale": ("FLOAT", {"default": 3.0, "min": 0.0, "max": 10.0, "step": 0.1}), + "start_percent": ("FLOAT", {"default": 0.01, "min": 0.0, "max": 1.0, "step": 0.001}), + "end_percent": ("FLOAT", {"default": 0.15, "min": 0.0, "max": 1.0, "step": 0.001}) + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "skip_guidance_sd3" + + CATEGORY = "advanced/guidance" + + def skip_guidance_sd3(self, model, layers, scale, start_percent, end_percent): + return self.skip_guidance(model=model, scale=scale, start_percent=start_percent, end_percent=end_percent, double_layers=layers) + NODE_CLASS_MAPPINGS = { "TripleCLIPLoader": TripleCLIPLoader, "EmptySD3LatentImage": EmptySD3LatentImage, "CLIPTextEncodeSD3": CLIPTextEncodeSD3, "ControlNetApplySD3": ControlNetApplySD3, + "SkipLayerGuidanceSD3": SkipLayerGuidanceSD3, } NODE_DISPLAY_NAME_MAPPINGS = { # Sampling - "ControlNetApplySD3": "ControlNetApply SD3 and HunyuanDiT", + "ControlNetApplySD3": "Apply Controlnet with VAE", } diff --git a/comfy_extras/nodes_slg.py b/comfy_extras/nodes_slg.py new file mode 100644 index 000000000..2fa09e250 --- /dev/null +++ b/comfy_extras/nodes_slg.py @@ -0,0 +1,84 @@ +import comfy.model_patcher +import comfy.samplers +import re + + +class SkipLayerGuidanceDiT: + ''' + Enhance guidance towards detailed dtructure by having another set of CFG negative with skipped layers. + Inspired by Perturbed Attention Guidance (https://arxiv.org/abs/2403.17377) + Original experimental implementation for SD3 by Dango233@StabilityAI. + ''' + @classmethod + def INPUT_TYPES(s): + return {"required": {"model": ("MODEL", ), + "double_layers": ("STRING", {"default": "7, 8, 9", "multiline": False}), + "single_layers": ("STRING", {"default": "7, 8, 9", "multiline": False}), + "scale": ("FLOAT", {"default": 3.0, "min": 0.0, "max": 10.0, "step": 0.1}), + "start_percent": ("FLOAT", {"default": 0.01, "min": 0.0, "max": 1.0, "step": 0.001}), + "end_percent": ("FLOAT", {"default": 0.15, "min": 0.0, "max": 1.0, "step": 0.001}), + "rescaling_scale": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 10.0, "step": 0.01}), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "skip_guidance" + EXPERIMENTAL = True + + DESCRIPTION = "Generic version of SkipLayerGuidance node that can be used on every DiT model." + + CATEGORY = "advanced/guidance" + + def skip_guidance(self, model, scale, start_percent, end_percent, double_layers="", single_layers="", rescaling_scale=0): + # check if layer is comma separated integers + def skip(args, extra_args): + return args + + model_sampling = model.get_model_object("model_sampling") + sigma_start = model_sampling.percent_to_sigma(start_percent) + sigma_end = model_sampling.percent_to_sigma(end_percent) + + double_layers = re.findall(r'\d+', double_layers) + double_layers = [int(i) for i in double_layers] + + single_layers = re.findall(r'\d+', single_layers) + single_layers = [int(i) for i in single_layers] + + if len(double_layers) == 0 and len(single_layers) == 0: + return (model, ) + + def post_cfg_function(args): + model = args["model"] + cond_pred = args["cond_denoised"] + cond = args["cond"] + cfg_result = args["denoised"] + sigma = args["sigma"] + x = args["input"] + model_options = args["model_options"].copy() + + for layer in double_layers: + model_options = comfy.model_patcher.set_model_options_patch_replace(model_options, skip, "dit", "double_block", layer) + + for layer in single_layers: + model_options = comfy.model_patcher.set_model_options_patch_replace(model_options, skip, "dit", "single_block", layer) + + model_sampling.percent_to_sigma(start_percent) + + sigma_ = sigma[0].item() + if scale > 0 and sigma_ >= sigma_end and sigma_ <= sigma_start: + (slg,) = comfy.samplers.calc_cond_batch(model, [cond], x, sigma, model_options) + cfg_result = cfg_result + (cond_pred - slg) * scale + if rescaling_scale != 0: + factor = cond_pred.std() / cfg_result.std() + factor = rescaling_scale * factor + (1 - rescaling_scale) + cfg_result *= factor + + return cfg_result + + m = model.clone() + m.set_model_sampler_post_cfg_function(post_cfg_function) + + return (m, ) + + +NODE_CLASS_MAPPINGS = { + "SkipLayerGuidanceDiT": SkipLayerGuidanceDiT, +} diff --git a/comfy_extras/nodes_stable_cascade.py b/comfy_extras/nodes_stable_cascade.py index fcbbeb27f..003403215 100644 --- a/comfy_extras/nodes_stable_cascade.py +++ b/comfy_extras/nodes_stable_cascade.py @@ -116,6 +116,7 @@ class StableCascade_SuperResolutionControlnet: RETURN_NAMES = ("controlnet_input", "stage_c", "stage_b") FUNCTION = "generate" + EXPERIMENTAL = True CATEGORY = "_for_testing/stable_cascade" def generate(self, image, vae): diff --git a/comfy_extras/nodes_tomesd.py b/comfy_extras/nodes_tomesd.py index df0485063..9f77c06fc 100644 --- a/comfy_extras/nodes_tomesd.py +++ b/comfy_extras/nodes_tomesd.py @@ -40,9 +40,8 @@ def bipartite_soft_matching_random2d(metric: torch.Tensor, return do_nothing, do_nothing gather = mps_gather_workaround if metric.device.type == "mps" else torch.gather - + with torch.no_grad(): - hsy, wsx = h // sy, w // sx # For each sy by sx kernel, randomly assign one token to be dst and the rest src @@ -50,7 +49,7 @@ def bipartite_soft_matching_random2d(metric: torch.Tensor, rand_idx = torch.zeros(hsy, wsx, 1, device=metric.device, dtype=torch.int64) else: rand_idx = torch.randint(sy*sx, size=(hsy, wsx, 1), device=metric.device) - + # The image might not divide sx and sy, so we need to work on a view of the top left if the idx buffer instead idx_buffer_view = torch.zeros(hsy, wsx, sy*sx, device=metric.device, dtype=torch.int64) idx_buffer_view.scatter_(dim=2, index=rand_idx, src=-torch.ones_like(rand_idx, dtype=rand_idx.dtype)) @@ -99,7 +98,7 @@ def bipartite_soft_matching_random2d(metric: torch.Tensor, def merge(x: torch.Tensor, mode="mean") -> torch.Tensor: src, dst = split(x) n, t1, c = src.shape - + unm = gather(src, dim=-2, index=unm_idx.expand(n, t1 - r, c)) src = gather(src, dim=-2, index=src_idx.expand(n, r, c)) dst = dst.scatter_reduce(-2, dst_idx.expand(n, r, c), src, reduce=mode) @@ -154,7 +153,7 @@ class TomePatchModel: RETURN_TYPES = ("MODEL",) FUNCTION = "patch" - CATEGORY = "_for_testing" + CATEGORY = "model_patches/unet" def patch(self, model, ratio): self.u = None diff --git a/comfy_extras/nodes_torch_compile.py b/comfy_extras/nodes_torch_compile.py new file mode 100644 index 000000000..1fe6f42c7 --- /dev/null +++ b/comfy_extras/nodes_torch_compile.py @@ -0,0 +1,22 @@ +import torch + +class TorchCompileModel: + @classmethod + def INPUT_TYPES(s): + return {"required": { "model": ("MODEL",), + "backend": (["inductor", "cudagraphs"],), + }} + RETURN_TYPES = ("MODEL",) + FUNCTION = "patch" + + CATEGORY = "_for_testing" + EXPERIMENTAL = True + + def patch(self, model, backend): + m = model.clone() + m.add_object_patch("diffusion_model", torch.compile(model=m.get_model_object("diffusion_model"), backend=backend)) + return (m, ) + +NODE_CLASS_MAPPINGS = { + "TorchCompileModel": TorchCompileModel, +} diff --git a/comfy_extras/nodes_upscale_model.py b/comfy_extras/nodes_upscale_model.py index bca79ef2e..04c948341 100644 --- a/comfy_extras/nodes_upscale_model.py +++ b/comfy_extras/nodes_upscale_model.py @@ -1,4 +1,3 @@ -import os import logging from spandrel import ModelLoader, ImageModelDescriptor from comfy import model_management @@ -25,7 +24,7 @@ class UpscaleModelLoader: CATEGORY = "loaders" def load_model(self, model_name): - model_path = folder_paths.get_full_path("upscale_models", model_name) + model_path = folder_paths.get_full_path_or_raise("upscale_models", model_name) sd = comfy.utils.load_torch_file(model_path, safe_load=True) if "module.layers.0.residual_group.blocks.0.norm1.weight" in sd: sd = comfy.utils.state_dict_prefix_replace(sd, {"module.":""}) diff --git a/comfy_extras/nodes_video_model.py b/comfy_extras/nodes_video_model.py index 1a0189ed4..e7a7ec181 100644 --- a/comfy_extras/nodes_video_model.py +++ b/comfy_extras/nodes_video_model.py @@ -17,7 +17,7 @@ class ImageOnlyCheckpointLoader: CATEGORY = "loaders/video_models" def load_checkpoint(self, ckpt_name, output_vae=True, output_clip=True): - ckpt_path = folder_paths.get_full_path("checkpoints", ckpt_name) + ckpt_path = folder_paths.get_full_path_or_raise("checkpoints", ckpt_name) out = comfy.sd.load_checkpoint_guess_config(ckpt_path, output_vae=True, output_clip=False, output_clipvision=True, embedding_directory=folder_paths.get_folder_paths("embeddings")) return (out[0], out[3], out[2]) @@ -107,7 +107,7 @@ class VideoTriangleCFGGuidance: return (m, ) class ImageOnlyCheckpointSave(comfy_extras.nodes_model_merging.CheckpointSave): - CATEGORY = "_for_testing" + CATEGORY = "advanced/model_merging" @classmethod def INPUT_TYPES(s): diff --git a/comfy_extras/nodes_webcam.py b/comfy_extras/nodes_webcam.py index 32a0ba2f6..31eddb2d6 100644 --- a/comfy_extras/nodes_webcam.py +++ b/comfy_extras/nodes_webcam.py @@ -30,4 +30,4 @@ NODE_CLASS_MAPPINGS = { NODE_DISPLAY_NAME_MAPPINGS = { "WebcamCapture": "Webcam Capture", -} \ No newline at end of file +} diff --git a/comfyui_screenshot.png b/comfyui_screenshot.png deleted file mode 100644 index 73272eae6..000000000 Binary files a/comfyui_screenshot.png and /dev/null differ diff --git a/comfyui_version.py b/comfyui_version.py new file mode 100644 index 000000000..ca3c0f581 --- /dev/null +++ b/comfyui_version.py @@ -0,0 +1,3 @@ +# This file is automatically generated by the build process when version is +# updated in pyproject.toml. +__version__ = "0.3.13" diff --git a/custom_nodes/websocket_image_save.py b/custom_nodes/websocket_image_save.py index 5aa573642..15f87f9f5 100644 --- a/custom_nodes/websocket_image_save.py +++ b/custom_nodes/websocket_image_save.py @@ -1,7 +1,5 @@ -from PIL import Image, ImageOps -from io import BytesIO +from PIL import Image import numpy as np -import struct import comfy.utils import time @@ -37,6 +35,7 @@ class SaveImageWebsocket: return {} + @classmethod def IS_CHANGED(s, images): return time.time() diff --git a/execution.py b/execution.py index e66aabbcc..2c979205b 100644 --- a/execution.py +++ b/execution.py @@ -16,7 +16,7 @@ import comfy.model_management from comfy_execution.graph import get_input_info, ExecutionList, DynamicPrompt, ExecutionBlocker from comfy_execution.graph_utils import is_link, GraphBuilder from comfy_execution.caching import HierarchicalCache, LRUCache, CacheKeySetInputSignature, CacheKeySetID -from comfy.cli_args import args +from comfy_execution.validation import validate_node_input class ExecutionResult(Enum): SUCCESS = 0 @@ -62,7 +62,7 @@ class IsChangedCache: class CacheSet: def __init__(self, lru_size=None): if lru_size is None or lru_size == 0: - self.init_classic_cache() + self.init_classic_cache() else: self.init_lru_cache(lru_size) self.all = [self.outputs, self.ui, self.objects] @@ -93,7 +93,7 @@ def get_input_data(inputs, class_def, unique_id, outputs=None, dynprompt=None, e missing_keys = {} for x in inputs: input_data = inputs[x] - input_type, input_category, input_info = get_input_info(class_def, x) + input_type, input_category, input_info = get_input_info(class_def, x, valid_inputs) def mark_missing(): missing_keys[x] = True input_data_all[x] = (None,) @@ -138,17 +138,22 @@ def _map_node_over_list(obj, input_data_all, func, allow_interrupt=False, execut max_len_input = 0 else: max_len_input = max(len(x) for x in input_data_all.values()) - + # get a slice of inputs, repeat last input when list isn't long enough def slice_dict(d, i): return {k: v[i if len(v) > i else -1] for k, v in d.items()} - + results = [] - def process_inputs(inputs, index=None): + def process_inputs(inputs, index=None, input_is_list=False): if allow_interrupt: nodes.before_node_execution() execution_block = None for k, v in inputs.items(): + if input_is_list: + for e in v: + if isinstance(e, ExecutionBlocker): + v = e + break if isinstance(v, ExecutionBlocker): execution_block = execution_block_cb(v) if execution_block_cb else v break @@ -160,10 +165,10 @@ def _map_node_over_list(obj, input_data_all, func, allow_interrupt=False, execut results.append(execution_block) if input_is_list: - process_inputs(input_data_all, 0) + process_inputs(input_data_all, 0, input_is_list=input_is_list) elif max_len_input == 0: process_inputs({}) - else: + else: for i in range(max_len_input): input_dict = slice_dict(input_data_all, i) process_inputs(input_dict, i) @@ -179,13 +184,18 @@ def merge_result_data(results, obj): # merge node execution results for i, is_list in zip(range(len(results[0])), output_is_list): if is_list: - output.append([x for o in results for x in o[i]]) + value = [] + for o in results: + if isinstance(o[i], ExecutionBlocker): + value.append(o[i]) + else: + value.extend(o[i]) + output.append(value) else: output.append([o[i] for o in results]) return output def get_output_data(obj, input_data_all, execution_block_cb=None, pre_execute_cb=None): - results = [] uis = [] subgraph_results = [] @@ -215,14 +225,14 @@ def get_output_data(obj, input_data_all, execution_block_cb=None, pre_execute_cb r = tuple([r] * len(obj.RETURN_TYPES)) results.append(r) subgraph_results.append((None, r)) - + if has_subgraph: output = subgraph_results elif len(results) > 0: output = merge_result_data(results, obj) else: output = [] - ui = dict() + ui = dict() if len(uis) > 0: ui = {k: [y for x in uis for y in x[k]] for k in uis[0].keys()} return output, ui, has_subgraph @@ -474,7 +484,7 @@ class PromptExecutor: if self.caches.outputs.get(node_id) is not None: cached_nodes.append(node_id) - comfy.model_management.cleanup_models(keep_clone_weights_loaded=True) + comfy.model_management.cleanup_models_gc() self.add_message("execution_cached", { "nodes": cached_nodes, "prompt_id": prompt_id}, broadcast=False) @@ -521,7 +531,6 @@ class PromptExecutor: comfy.model_management.unload_all_models() - def validate_inputs(prompt, item, validated): unique_id = item if unique_id in validated: @@ -546,7 +555,7 @@ def validate_inputs(prompt, item, validated): received_types = {} for x in valid_inputs: - type_input, input_category, extra_info = get_input_info(obj_class, x) + type_input, input_category, extra_info = get_input_info(obj_class, x, class_inputs) assert extra_info is not None if x not in inputs: if input_category == "required": @@ -583,8 +592,8 @@ def validate_inputs(prompt, item, validated): r = nodes.NODE_CLASS_MAPPINGS[o_class_type].RETURN_TYPES received_type = r[val[1]] received_types[x] = received_type - if 'input_types' not in validate_function_inputs and received_type != type_input: - details = f"{x}, {received_type} != {type_input}" + if 'input_types' not in validate_function_inputs and not validate_node_input(received_type, type_input): + details = f"{x}, received_type({received_type}) mismatch input_type({type_input})" error = { "type": "return_type_mismatch", "message": "Return type mismatch between linked nodes", @@ -755,7 +764,7 @@ def validate_prompt(prompt): if 'class_type' not in prompt[x]: error = { "type": "invalid_prompt", - "message": f"Cannot execute because a node is missing the class_type property.", + "message": "Cannot execute because a node is missing the class_type property.", "details": f"Node ID '#{x}'", "extra_info": {} } diff --git a/extra_model_paths.yaml.example b/extra_model_paths.yaml.example new file mode 100644 index 000000000..b55913a5a --- /dev/null +++ b/extra_model_paths.yaml.example @@ -0,0 +1,47 @@ +#Rename this to extra_model_paths.yaml and ComfyUI will load it + + +#config for a1111 ui +#all you have to do is change the base_path to where yours is installed +a111: + base_path: path/to/stable-diffusion-webui/ + + checkpoints: models/Stable-diffusion + configs: models/Stable-diffusion + vae: models/VAE + loras: | + models/Lora + models/LyCORIS + upscale_models: | + models/ESRGAN + models/RealESRGAN + models/SwinIR + embeddings: embeddings + hypernetworks: models/hypernetworks + controlnet: models/ControlNet + +#config for comfyui +#your base path should be either an existing comfy install or a central folder where you store all of your models, loras, etc. + +#comfyui: +# base_path: path/to/comfyui/ +# # You can use is_default to mark that these folders should be listed first, and used as the default dirs for eg downloads +# #is_default: true +# checkpoints: models/checkpoints/ +# clip: models/clip/ +# clip_vision: models/clip_vision/ +# configs: models/configs/ +# controlnet: models/controlnet/ +# diffusion_models: | +# models/diffusion_models +# models/unet +# embeddings: models/embeddings/ +# loras: models/loras/ +# upscale_models: models/upscale_models/ +# vae: models/vae/ + +#other_ui: +# base_path: path/to/ui +# checkpoints: models/checkpoints +# gligen: models/gligen +# custom_nodes: path/custom_nodes diff --git a/fix_torch.py b/fix_torch.py index e350f5c7d..ce117b639 100644 --- a/fix_torch.py +++ b/fix_torch.py @@ -5,20 +5,24 @@ import ctypes import logging -torch_spec = importlib.util.find_spec("torch") -for folder in torch_spec.submodule_search_locations: - lib_folder = os.path.join(folder, "lib") - test_file = os.path.join(lib_folder, "fbgemm.dll") - dest = os.path.join(lib_folder, "libomp140.x86_64.dll") - if os.path.exists(dest): - break - - with open(test_file, 'rb') as f: - contents = f.read() - if b"libomp140.x86_64.dll" not in contents: +def fix_pytorch_libomp(): + """ + Fix PyTorch libomp DLL issue on Windows by copying the correct DLL file if needed. + """ + torch_spec = importlib.util.find_spec("torch") + for folder in torch_spec.submodule_search_locations: + lib_folder = os.path.join(folder, "lib") + test_file = os.path.join(lib_folder, "fbgemm.dll") + dest = os.path.join(lib_folder, "libomp140.x86_64.dll") + if os.path.exists(dest): break - try: - mydll = ctypes.cdll.LoadLibrary(test_file) - except FileNotFoundError as e: - logging.warning("Detected pytorch version with libomp issue, patching.") - shutil.copyfile(os.path.join(lib_folder, "libiomp5md.dll"), dest) + + with open(test_file, "rb") as f: + contents = f.read() + if b"libomp140.x86_64.dll" not in contents: + break + try: + ctypes.cdll.LoadLibrary(test_file) + except FileNotFoundError: + logging.warning("Detected pytorch version with libomp issue, patching.") + shutil.copyfile(os.path.join(lib_folder, "libiomp5md.dll"), dest) diff --git a/folder_paths.py b/folder_paths.py index 74a7d527c..3d8f61d4a 100644 --- a/folder_paths.py +++ b/folder_paths.py @@ -2,21 +2,30 @@ from __future__ import annotations import os import time +import mimetypes import logging +from typing import Literal from collections.abc import Collection +from comfy.cli_args import args + supported_pt_extensions: set[str] = {'.ckpt', '.pt', '.bin', '.pth', '.safetensors', '.pkl', '.sft'} folder_names_and_paths: dict[str, tuple[list[str], set[str]]] = {} -base_path = os.path.dirname(os.path.realpath(__file__)) +# --base-directory - Resets all default paths configured in folder_paths with a new base path +if args.base_directory: + base_path = os.path.abspath(args.base_directory) +else: + base_path = os.path.dirname(os.path.realpath(__file__)) + models_dir = os.path.join(base_path, "models") folder_names_and_paths["checkpoints"] = ([os.path.join(models_dir, "checkpoints")], supported_pt_extensions) folder_names_and_paths["configs"] = ([os.path.join(models_dir, "configs")], [".yaml"]) folder_names_and_paths["loras"] = ([os.path.join(models_dir, "loras")], supported_pt_extensions) folder_names_and_paths["vae"] = ([os.path.join(models_dir, "vae")], supported_pt_extensions) -folder_names_and_paths["clip"] = ([os.path.join(models_dir, "clip")], supported_pt_extensions) +folder_names_and_paths["text_encoders"] = ([os.path.join(models_dir, "text_encoders"), os.path.join(models_dir, "clip")], supported_pt_extensions) folder_names_and_paths["diffusion_models"] = ([os.path.join(models_dir, "unet"), os.path.join(models_dir, "diffusion_models")], supported_pt_extensions) folder_names_and_paths["clip_vision"] = ([os.path.join(models_dir, "clip_vision")], supported_pt_extensions) folder_names_and_paths["style_models"] = ([os.path.join(models_dir, "style_models")], supported_pt_extensions) @@ -37,15 +46,50 @@ folder_names_and_paths["photomaker"] = ([os.path.join(models_dir, "photomaker")] folder_names_and_paths["classifiers"] = ([os.path.join(models_dir, "classifiers")], {""}) -output_directory = os.path.join(os.path.dirname(os.path.realpath(__file__)), "output") -temp_directory = os.path.join(os.path.dirname(os.path.realpath(__file__)), "temp") -input_directory = os.path.join(os.path.dirname(os.path.realpath(__file__)), "input") -user_directory = os.path.join(os.path.dirname(os.path.realpath(__file__)), "user") +output_directory = os.path.join(base_path, "output") +temp_directory = os.path.join(base_path, "temp") +input_directory = os.path.join(base_path, "input") +user_directory = os.path.join(base_path, "user") filename_list_cache: dict[str, tuple[list[str], dict[str, float], float]] = {} +class CacheHelper: + """ + Helper class for managing file list cache data. + """ + def __init__(self): + self.cache: dict[str, tuple[list[str], dict[str, float], float]] = {} + self.active = False + + def get(self, key: str, default=None) -> tuple[list[str], dict[str, float], float]: + if not self.active: + return default + return self.cache.get(key, default) + + def set(self, key: str, value: tuple[list[str], dict[str, float], float]) -> None: + if self.active: + self.cache[key] = value + + def clear(self): + self.cache.clear() + + def __enter__(self): + self.active = True + return self + + def __exit__(self, exc_type, exc_value, traceback): + self.active = False + self.clear() + +cache_helper = CacheHelper() + +extension_mimetypes_cache = { + "webp" : "image", +} + def map_legacy(folder_name: str) -> str: - legacy = {"unet": "diffusion_models"} + legacy = {"unet": "diffusion_models", + "clip": "text_encoders"} return legacy.get(folder_name, folder_name) if not os.path.exists(input_directory): @@ -78,6 +122,13 @@ def get_input_directory() -> str: global input_directory return input_directory +def get_user_directory() -> str: + return user_directory + +def set_user_directory(user_dir: str) -> None: + global user_directory + user_directory = user_dir + #NOTE: used in http server so don't put folders that should not be accessed remotely def get_directory_by_type(type_name: str) -> str | None: @@ -89,6 +140,28 @@ def get_directory_by_type(type_name: str) -> str | None: return get_input_directory() return None +def filter_files_content_types(files: list[str], content_types: Literal["image", "video", "audio"]) -> list[str]: + """ + Example: + files = os.listdir(folder_paths.get_input_directory()) + filter_files_content_types(files, ["image", "audio", "video"]) + """ + global extension_mimetypes_cache + result = [] + for file in files: + extension = file.split('.')[-1] + if extension not in extension_mimetypes_cache: + mime_type, _ = mimetypes.guess_type(file, strict=False) + if not mime_type: + continue + content_type = mime_type.split('/')[0] + extension_mimetypes_cache[extension] = content_type + else: + content_type = extension_mimetypes_cache[extension] + + if content_type in content_types: + result.append(file) + return result # determine base_dir rely on annotation if name is 'filename.ext [annotation]' format # otherwise use default_path as base_dir @@ -130,11 +203,21 @@ def exists_annotated_filepath(name) -> bool: return os.path.exists(filepath) -def add_model_folder_path(folder_name: str, full_folder_path: str) -> None: +def add_model_folder_path(folder_name: str, full_folder_path: str, is_default: bool = False) -> None: global folder_names_and_paths folder_name = map_legacy(folder_name) if folder_name in folder_names_and_paths: - folder_names_and_paths[folder_name][0].append(full_folder_path) + paths, _exts = folder_names_and_paths[folder_name] + if full_folder_path in paths: + if is_default and paths[0] != full_folder_path: + # If the path to the folder is not the first in the list, move it to the beginning. + paths.remove(full_folder_path) + paths.insert(0, full_folder_path) + else: + if is_default: + paths.insert(0, full_folder_path) + else: + paths.append(full_folder_path) else: folder_names_and_paths[folder_name] = ([full_folder_path], set()) @@ -166,8 +249,12 @@ def recursive_search(directory: str, excluded_dir_names: list[str] | None=None) for dirpath, subdirs, filenames in os.walk(directory, followlinks=True, topdown=True): subdirs[:] = [d for d in subdirs if d not in excluded_dir_names] for file_name in filenames: - relative_path = os.path.relpath(os.path.join(dirpath, file_name), directory) - result.append(relative_path) + try: + relative_path = os.path.relpath(os.path.join(dirpath, file_name), directory) + result.append(relative_path) + except: + logging.warning(f"Warning: Unable to access {file_name}. Skipping this file.") + continue for d in subdirs: path: str = os.path.join(dirpath, d) @@ -200,6 +287,14 @@ def get_full_path(folder_name: str, filename: str) -> str | None: return None + +def get_full_path_or_raise(folder_name: str, filename: str) -> str: + full_path = get_full_path(folder_name, filename) + if full_path is None: + raise FileNotFoundError(f"Model in folder '{folder_name}' with filename '{filename}' not found.") + return full_path + + def get_filename_list_(folder_name: str) -> tuple[list[str], dict[str, float], float]: folder_name = map_legacy(folder_name) global folder_names_and_paths @@ -214,6 +309,10 @@ def get_filename_list_(folder_name: str) -> tuple[list[str], dict[str, float], f return sorted(list(output_list)), output_folders, time.perf_counter() def cached_filename_list_(folder_name: str) -> tuple[list[str], dict[str, float], float] | None: + strong_cache = cache_helper.get(folder_name) + if strong_cache is not None: + return strong_cache + global filename_list_cache global folder_names_and_paths folder_name = map_legacy(folder_name) @@ -242,6 +341,7 @@ def get_filename_list(folder_name: str) -> list[str]: out = get_filename_list_(folder_name) global filename_list_cache filename_list_cache[folder_name] = out + cache_helper.set(folder_name, out) return list(out[0]) def get_save_image_path(filename_prefix: str, output_dir: str, image_width=0, image_height=0) -> tuple[str, str, int, str, str]: @@ -257,9 +357,17 @@ def get_save_image_path(filename_prefix: str, output_dir: str, image_width=0, im def compute_vars(input: str, image_width: int, image_height: int) -> str: input = input.replace("%width%", str(image_width)) input = input.replace("%height%", str(image_height)) + now = time.localtime() + input = input.replace("%year%", str(now.tm_year)) + input = input.replace("%month%", str(now.tm_mon).zfill(2)) + input = input.replace("%day%", str(now.tm_mday).zfill(2)) + input = input.replace("%hour%", str(now.tm_hour).zfill(2)) + input = input.replace("%minute%", str(now.tm_min).zfill(2)) + input = input.replace("%second%", str(now.tm_sec).zfill(2)) return input - filename_prefix = compute_vars(filename_prefix, image_width, image_height) + if "%" in filename_prefix: + filename_prefix = compute_vars(filename_prefix, image_width, image_height) subfolder = os.path.dirname(os.path.normpath(filename_prefix)) filename = os.path.basename(os.path.normpath(filename_prefix)) diff --git a/latent_preview.py b/latent_preview.py index ae6c106e4..95d3cb733 100644 --- a/latent_preview.py +++ b/latent_preview.py @@ -1,7 +1,5 @@ import torch from PIL import Image -import struct -import numpy as np from comfy.cli_args import args, LatentPreviewMethod from comfy.taesd.taesd import TAESD import comfy.model_management @@ -9,12 +7,15 @@ import folder_paths import comfy.utils import logging -MAX_PREVIEW_RESOLUTION = 512 +MAX_PREVIEW_RESOLUTION = args.preview_size def preview_to_image(latent_image): latents_ubyte = (((latent_image + 1.0) / 2.0).clamp(0, 1) # change scale from -1..1 to 0..1 .mul(0xFF) # to 0..255 - ).to(device="cpu", dtype=torch.uint8, non_blocking=comfy.model_management.device_supports_non_blocking(latent_image.device)) + ) + if comfy.model_management.directml_enabled: + latents_ubyte = latents_ubyte.to(dtype=torch.uint8) + latents_ubyte = latents_ubyte.to(device="cpu", dtype=torch.uint8, non_blocking=comfy.model_management.device_supports_non_blocking(latent_image.device)) return Image.fromarray(latents_ubyte.numpy()) @@ -36,12 +37,25 @@ class TAESDPreviewerImpl(LatentPreviewer): class Latent2RGBPreviewer(LatentPreviewer): - def __init__(self, latent_rgb_factors): - self.latent_rgb_factors = torch.tensor(latent_rgb_factors, device="cpu") + def __init__(self, latent_rgb_factors, latent_rgb_factors_bias=None): + self.latent_rgb_factors = torch.tensor(latent_rgb_factors, device="cpu").transpose(0, 1) + self.latent_rgb_factors_bias = None + if latent_rgb_factors_bias is not None: + self.latent_rgb_factors_bias = torch.tensor(latent_rgb_factors_bias, device="cpu") def decode_latent_to_preview(self, x0): self.latent_rgb_factors = self.latent_rgb_factors.to(dtype=x0.dtype, device=x0.device) - latent_image = x0[0].permute(1, 2, 0) @ self.latent_rgb_factors + if self.latent_rgb_factors_bias is not None: + self.latent_rgb_factors_bias = self.latent_rgb_factors_bias.to(dtype=x0.dtype, device=x0.device) + + if x0.ndim == 5: + x0 = x0[0, :, 0] + else: + x0 = x0[0] + + latent_image = torch.nn.functional.linear(x0.movedim(0, -1), self.latent_rgb_factors, bias=self.latent_rgb_factors_bias) + # latent_image = x0[0].permute(1, 2, 0) @ self.latent_rgb_factors + return preview_to_image(latent_image) @@ -71,7 +85,7 @@ def get_previewer(device, latent_format): if previewer is None: if latent_format.latent_rgb_factors is not None: - previewer = Latent2RGBPreviewer(latent_format.latent_rgb_factors) + previewer = Latent2RGBPreviewer(latent_format.latent_rgb_factors, latent_format.latent_rgb_factors_bias) return previewer def prepare_callback(model, steps, x0_output_dict=None): diff --git a/main.py b/main.py index 3db28e1fd..f6510c90a 100644 --- a/main.py +++ b/main.py @@ -7,9 +7,51 @@ import folder_paths import time from comfy.cli_args import args from app.logger import setup_logger +import itertools +import utils.extra_config +import logging + +if __name__ == "__main__": + #NOTE: These do not do anything on core ComfyUI which should already have no communication with the internet, they are for custom nodes. + os.environ['HF_HUB_DISABLE_TELEMETRY'] = '1' + os.environ['DO_NOT_TRACK'] = '1' -setup_logger(verbose=args.verbose) +setup_logger(log_level=args.verbose, use_stdout=args.log_stdout) + +def apply_custom_paths(): + # extra model paths + extra_model_paths_config_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "extra_model_paths.yaml") + if os.path.isfile(extra_model_paths_config_path): + utils.extra_config.load_extra_path_config(extra_model_paths_config_path) + + if args.extra_model_paths_config: + for config_path in itertools.chain(*args.extra_model_paths_config): + utils.extra_config.load_extra_path_config(config_path) + + # --output-directory, --input-directory, --user-directory + if args.output_directory: + output_dir = os.path.abspath(args.output_directory) + logging.info(f"Setting output directory to: {output_dir}") + folder_paths.set_output_directory(output_dir) + + # These are the default folders that checkpoints, clip and vae models will be saved to when using CheckpointSave, etc.. nodes + folder_paths.add_model_folder_path("checkpoints", os.path.join(folder_paths.get_output_directory(), "checkpoints")) + folder_paths.add_model_folder_path("clip", os.path.join(folder_paths.get_output_directory(), "clip")) + folder_paths.add_model_folder_path("vae", os.path.join(folder_paths.get_output_directory(), "vae")) + folder_paths.add_model_folder_path("diffusion_models", + os.path.join(folder_paths.get_output_directory(), "diffusion_models")) + folder_paths.add_model_folder_path("loras", os.path.join(folder_paths.get_output_directory(), "loras")) + + if args.input_directory: + input_dir = os.path.abspath(args.input_directory) + logging.info(f"Setting input directory to: {input_dir}") + folder_paths.set_input_directory(input_dir) + + if args.user_directory: + user_dir = os.path.abspath(args.user_directory) + logging.info(f"Setting user directory to: {user_dir}") + folder_paths.set_user_directory(user_dir) def execute_prestartup_script(): @@ -21,7 +63,7 @@ def execute_prestartup_script(): spec.loader.exec_module(module) return True except Exception as e: - print(f"Failed to execute startup-script: {script_path} / {e}") + logging.error(f"Failed to execute startup-script: {script_path} / {e}") return False if args.disable_all_custom_nodes: @@ -43,26 +85,25 @@ def execute_prestartup_script(): success = execute_script(script_path) node_prestartup_times.append((time.perf_counter() - time_before, module_path, success)) if len(node_prestartup_times) > 0: - print("\nPrestartup times for custom nodes:") + logging.info("\nPrestartup times for custom nodes:") for n in sorted(node_prestartup_times): if n[2]: import_message = "" else: import_message = " (PRESTARTUP FAILED)" - print("{:6.1f} seconds{}:".format(n[0], import_message), n[1]) - print() + logging.info("{:6.1f} seconds{}: {}".format(n[0], import_message, n[1])) + logging.info("") +apply_custom_paths() execute_prestartup_script() # Main code import asyncio -import itertools import shutil import threading import gc -import logging if os.name == "nt": logging.getLogger("xformers").addFilter(lambda record: 'A matching Triton is not available' not in record.getMessage()) @@ -70,8 +111,13 @@ if os.name == "nt": if __name__ == "__main__": if args.cuda_device is not None: os.environ['CUDA_VISIBLE_DEVICES'] = str(args.cuda_device) + os.environ['HIP_VISIBLE_DEVICES'] = str(args.cuda_device) logging.info("Set cuda device to: {}".format(args.cuda_device)) + if args.oneapi_device_selector is not None: + os.environ['ONEAPI_DEVICE_SELECTOR'] = args.oneapi_device_selector + logging.info("Set oneapi device selector to: {}".format(args.oneapi_device_selector)) + if args.deterministic: if 'CUBLAS_WORKSPACE_CONFIG' not in os.environ: os.environ['CUBLAS_WORKSPACE_CONFIG'] = ":4096:8" @@ -80,18 +126,20 @@ if __name__ == "__main__": if args.windows_standalone_build: try: - import fix_torch + from fix_torch import fix_pytorch_libomp + fix_pytorch_libomp() except: pass import comfy.utils -import yaml import execution import server from server import BinaryEventTypes import nodes import comfy.model_management +import comfyui_version + def cuda_malloc_warning(): device = comfy.model_management.get_torch_device() @@ -104,8 +152,10 @@ def cuda_malloc_warning(): if cuda_malloc_warning: logging.warning("\nWARNING: this card most likely does not support cuda-malloc, if you get \"CUDA error\" please run ComfyUI with: --disable-cuda-malloc\n") -def prompt_worker(q, server): - e = execution.PromptExecutor(server, lru_size=args.cache_lru) + +def prompt_worker(q, server_instance): + current_time: float = 0.0 + e = execution.PromptExecutor(server_instance, lru_size=args.cache_lru) last_gc_collect = 0 need_gc = False gc_collect_interval = 10.0 @@ -120,7 +170,7 @@ def prompt_worker(q, server): item, item_id = queue_item execution_start_time = time.perf_counter() prompt_id = item[1] - server.last_prompt_id = prompt_id + server_instance.last_prompt_id = prompt_id e.execute(item[2], prompt_id, item[3], item[4]) need_gc = True @@ -130,8 +180,8 @@ def prompt_worker(q, server): status_str='success' if e.success else 'error', completed=e.success, messages=e.status_messages)) - if server.client_id is not None: - server.send_sync("executing", { "node": None, "prompt_id": prompt_id }, server.client_id) + if server_instance.client_id is not None: + server_instance.send_sync("executing", {"node": None, "prompt_id": prompt_id}, server_instance.client_id) current_time = time.perf_counter() execution_time = current_time - execution_start_time @@ -153,24 +203,30 @@ def prompt_worker(q, server): if need_gc: current_time = time.perf_counter() if (current_time - last_gc_collect) > gc_collect_interval: - comfy.model_management.cleanup_models() gc.collect() comfy.model_management.soft_empty_cache() last_gc_collect = current_time need_gc = False -async def run(server, address='', port=8188, verbose=True, call_on_start=None): - await asyncio.gather(server.start(address, port, verbose, call_on_start), server.publish_loop()) + +async def run(server_instance, address='', port=8188, verbose=True, call_on_start=None): + addresses = [] + for addr in address.split(","): + addresses.append((addr, port)) + await asyncio.gather( + server_instance.start_multi_address(addresses, call_on_start, verbose), server_instance.publish_loop() + ) -def hijack_progress(server): +def hijack_progress(server_instance): def hook(value, total, preview_image): comfy.model_management.throw_exception_if_processing_interrupted() - progress = {"value": value, "max": total, "prompt_id": server.last_prompt_id, "node": server.last_node_id} + progress = {"value": value, "max": total, "prompt_id": server_instance.last_prompt_id, "node": server_instance.last_node_id} - server.send_sync("progress", progress, server.client_id) + server_instance.send_sync("progress", progress, server_instance.client_id) if preview_image is not None: - server.send_sync(BinaryEventTypes.UNENCODED_PREVIEW_IMAGE, preview_image, server.client_id) + server_instance.send_sync(BinaryEventTypes.UNENCODED_PREVIEW_IMAGE, preview_image, server_instance.client_id) + comfy.utils.set_progress_bar_global_hook(hook) @@ -180,28 +236,11 @@ def cleanup_temp(): shutil.rmtree(temp_dir, ignore_errors=True) -def load_extra_path_config(yaml_path): - with open(yaml_path, 'r') as stream: - config = yaml.safe_load(stream) - for c in config: - conf = config[c] - if conf is None: - continue - base_path = None - if "base_path" in conf: - base_path = conf.pop("base_path") - for x in conf: - for y in conf[x].split("\n"): - if len(y) == 0: - continue - full_path = y - if base_path is not None: - full_path = os.path.join(base_path, full_path) - logging.info("Adding extra search path {} {}".format(x, full_path)) - folder_paths.add_model_folder_path(x, full_path) - - -if __name__ == "__main__": +def start_comfyui(asyncio_loop=None): + """ + Starts the ComfyUI server using the provided asyncio event loop or creates a new one. + Returns the event loop, server instance, and a function to start the server asynchronously. + """ if args.temp_directory: temp_dir = os.path.join(os.path.abspath(args.temp_directory), "temp") logging.info(f"Setting temp directory to: {temp_dir}") @@ -215,59 +254,50 @@ if __name__ == "__main__": except: pass - loop = asyncio.new_event_loop() - asyncio.set_event_loop(loop) - server = server.PromptServer(loop) - q = execution.PromptQueue(server) - - extra_model_paths_config_path = os.path.join(os.path.dirname(os.path.realpath(__file__)), "extra_model_paths.yaml") - if os.path.isfile(extra_model_paths_config_path): - load_extra_path_config(extra_model_paths_config_path) - - if args.extra_model_paths_config: - for config_path in itertools.chain(*args.extra_model_paths_config): - load_extra_path_config(config_path) + if not asyncio_loop: + asyncio_loop = asyncio.new_event_loop() + asyncio.set_event_loop(asyncio_loop) + prompt_server = server.PromptServer(asyncio_loop) + q = execution.PromptQueue(prompt_server) nodes.init_extra_nodes(init_custom_nodes=not args.disable_all_custom_nodes) cuda_malloc_warning() - server.add_routes() - hijack_progress(server) + prompt_server.add_routes() + hijack_progress(prompt_server) - threading.Thread(target=prompt_worker, daemon=True, args=(q, server,)).start() - - if args.output_directory: - output_dir = os.path.abspath(args.output_directory) - logging.info(f"Setting output directory to: {output_dir}") - folder_paths.set_output_directory(output_dir) - - #These are the default folders that checkpoints, clip and vae models will be saved to when using CheckpointSave, etc.. nodes - folder_paths.add_model_folder_path("checkpoints", os.path.join(folder_paths.get_output_directory(), "checkpoints")) - folder_paths.add_model_folder_path("clip", os.path.join(folder_paths.get_output_directory(), "clip")) - folder_paths.add_model_folder_path("vae", os.path.join(folder_paths.get_output_directory(), "vae")) - folder_paths.add_model_folder_path("diffusion_models", os.path.join(folder_paths.get_output_directory(), "diffusion_models")) - - if args.input_directory: - input_dir = os.path.abspath(args.input_directory) - logging.info(f"Setting input directory to: {input_dir}") - folder_paths.set_input_directory(input_dir) + threading.Thread(target=prompt_worker, daemon=True, args=(q, prompt_server,)).start() if args.quick_test_for_ci: exit(0) + os.makedirs(folder_paths.get_temp_directory(), exist_ok=True) call_on_start = None if args.auto_launch: def startup_server(scheme, address, port): import webbrowser if os.name == 'nt' and address == '0.0.0.0': address = '127.0.0.1' + if ':' in address: + address = "[{}]".format(address) webbrowser.open(f"{scheme}://{address}:{port}") call_on_start = startup_server + async def start_all(): + await prompt_server.setup() + await run(prompt_server, address=args.listen, port=args.port, verbose=not args.dont_print_server, call_on_start=call_on_start) + + # Returning these so that other code can integrate with the ComfyUI loop and server + return asyncio_loop, prompt_server, start_all + + +if __name__ == "__main__": + # Running directly, just start ComfyUI. + logging.info("ComfyUI version: {}".format(comfyui_version.__version__)) + event_loop, _, start_all_func = start_comfyui() try: - loop.run_until_complete(server.setup()) - loop.run_until_complete(run(server, address=args.listen, port=args.port, verbose=not args.dont_print_server, call_on_start=call_on_start)) + event_loop.run_until_complete(start_all_func()) except KeyboardInterrupt: logging.info("\nStopped server") diff --git a/model_filemanager/__init__.py b/model_filemanager/__init__.py deleted file mode 100644 index e318351c0..000000000 --- a/model_filemanager/__init__.py +++ /dev/null @@ -1,2 +0,0 @@ -# model_manager/__init__.py -from .download_models import download_model, DownloadModelStatus, DownloadStatusType, create_model_path, check_file_exists, track_download_progress, validate_model_subdirectory, validate_filename diff --git a/model_filemanager/download_models.py b/model_filemanager/download_models.py deleted file mode 100644 index 712d59328..000000000 --- a/model_filemanager/download_models.py +++ /dev/null @@ -1,240 +0,0 @@ -from __future__ import annotations -import aiohttp -import os -import traceback -import logging -from folder_paths import models_dir -import re -from typing import Callable, Any, Optional, Awaitable, Dict -from enum import Enum -import time -from dataclasses import dataclass - - -class DownloadStatusType(Enum): - PENDING = "pending" - IN_PROGRESS = "in_progress" - COMPLETED = "completed" - ERROR = "error" - -@dataclass -class DownloadModelStatus(): - status: str - progress_percentage: float - message: str - already_existed: bool = False - - def __init__(self, status: DownloadStatusType, progress_percentage: float, message: str, already_existed: bool): - self.status = status.value # Store the string value of the Enum - self.progress_percentage = progress_percentage - self.message = message - self.already_existed = already_existed - - def to_dict(self) -> Dict[str, Any]: - return { - "status": self.status, - "progress_percentage": self.progress_percentage, - "message": self.message, - "already_existed": self.already_existed - } - -async def download_model(model_download_request: Callable[[str], Awaitable[aiohttp.ClientResponse]], - model_name: str, - model_url: str, - model_sub_directory: str, - progress_callback: Callable[[str, DownloadModelStatus], Awaitable[Any]], - progress_interval: float = 1.0) -> DownloadModelStatus: - """ - Download a model file from a given URL into the models directory. - - Args: - model_download_request (Callable[[str], Awaitable[aiohttp.ClientResponse]]): - A function that makes an HTTP request. This makes it easier to mock in unit tests. - model_name (str): - The name of the model file to be downloaded. This will be the filename on disk. - model_url (str): - The URL from which to download the model. - model_sub_directory (str): - The subdirectory within the main models directory where the model - should be saved (e.g., 'checkpoints', 'loras', etc.). - progress_callback (Callable[[str, DownloadModelStatus], Awaitable[Any]]): - An asynchronous function to call with progress updates. - - Returns: - DownloadModelStatus: The result of the download operation. - """ - if not validate_model_subdirectory(model_sub_directory): - return DownloadModelStatus( - DownloadStatusType.ERROR, - 0, - "Invalid model subdirectory", - False - ) - - if not validate_filename(model_name): - return DownloadModelStatus( - DownloadStatusType.ERROR, - 0, - "Invalid model name", - False - ) - - file_path, relative_path = create_model_path(model_name, model_sub_directory, models_dir) - existing_file = await check_file_exists(file_path, model_name, progress_callback, relative_path) - if existing_file: - return existing_file - - try: - status = DownloadModelStatus(DownloadStatusType.PENDING, 0, f"Starting download of {model_name}", False) - await progress_callback(relative_path, status) - - response = await model_download_request(model_url) - if response.status != 200: - error_message = f"Failed to download {model_name}. Status code: {response.status}" - logging.error(error_message) - status = DownloadModelStatus(DownloadStatusType.ERROR, 0, error_message, False) - await progress_callback(relative_path, status) - return DownloadModelStatus(DownloadStatusType.ERROR, 0, error_message, False) - - return await track_download_progress(response, file_path, model_name, progress_callback, relative_path, progress_interval) - - except Exception as e: - logging.error(f"Error in downloading model: {e}") - return await handle_download_error(e, model_name, progress_callback, relative_path) - - -def create_model_path(model_name: str, model_directory: str, models_base_dir: str) -> tuple[str, str]: - full_model_dir = os.path.join(models_base_dir, model_directory) - os.makedirs(full_model_dir, exist_ok=True) - file_path = os.path.join(full_model_dir, model_name) - - # Ensure the resulting path is still within the base directory - abs_file_path = os.path.abspath(file_path) - abs_base_dir = os.path.abspath(str(models_base_dir)) - if os.path.commonprefix([abs_file_path, abs_base_dir]) != abs_base_dir: - raise Exception(f"Invalid model directory: {model_directory}/{model_name}") - - - relative_path = '/'.join([model_directory, model_name]) - return file_path, relative_path - -async def check_file_exists(file_path: str, - model_name: str, - progress_callback: Callable[[str, DownloadModelStatus], Awaitable[Any]], - relative_path: str) -> Optional[DownloadModelStatus]: - if os.path.exists(file_path): - status = DownloadModelStatus(DownloadStatusType.COMPLETED, 100, f"{model_name} already exists", True) - await progress_callback(relative_path, status) - return status - return None - - -async def track_download_progress(response: aiohttp.ClientResponse, - file_path: str, - model_name: str, - progress_callback: Callable[[str, DownloadModelStatus], Awaitable[Any]], - relative_path: str, - interval: float = 1.0) -> DownloadModelStatus: - try: - total_size = int(response.headers.get('Content-Length', 0)) - downloaded = 0 - last_update_time = time.time() - - async def update_progress(): - nonlocal last_update_time - progress = (downloaded / total_size) * 100 if total_size > 0 else 0 - status = DownloadModelStatus(DownloadStatusType.IN_PROGRESS, progress, f"Downloading {model_name}", False) - await progress_callback(relative_path, status) - last_update_time = time.time() - - with open(file_path, 'wb') as f: - chunk_iterator = response.content.iter_chunked(8192) - while True: - try: - chunk = await chunk_iterator.__anext__() - except StopAsyncIteration: - break - f.write(chunk) - downloaded += len(chunk) - - if time.time() - last_update_time >= interval: - await update_progress() - - await update_progress() - - logging.info(f"Successfully downloaded {model_name}. Total downloaded: {downloaded}") - status = DownloadModelStatus(DownloadStatusType.COMPLETED, 100, f"Successfully downloaded {model_name}", False) - await progress_callback(relative_path, status) - - return status - except Exception as e: - logging.error(f"Error in track_download_progress: {e}") - logging.error(traceback.format_exc()) - return await handle_download_error(e, model_name, progress_callback, relative_path) - -async def handle_download_error(e: Exception, - model_name: str, - progress_callback: Callable[[str, DownloadModelStatus], Any], - relative_path: str) -> DownloadModelStatus: - error_message = f"Error downloading {model_name}: {str(e)}" - status = DownloadModelStatus(DownloadStatusType.ERROR, 0, error_message, False) - await progress_callback(relative_path, status) - return status - -def validate_model_subdirectory(model_subdirectory: str) -> bool: - """ - Validate that the model subdirectory is safe to install into. - Must not contain relative paths, nested paths or special characters - other than underscores and hyphens. - - Args: - model_subdirectory (str): The subdirectory for the specific model type. - - Returns: - bool: True if the subdirectory is safe, False otherwise. - """ - if len(model_subdirectory) > 50: - return False - - if '..' in model_subdirectory or '/' in model_subdirectory: - return False - - if not re.match(r'^[a-zA-Z0-9_-]+$', model_subdirectory): - return False - - return True - -def validate_filename(filename: str)-> bool: - """ - Validate a filename to ensure it's safe and doesn't contain any path traversal attempts. - - Args: - filename (str): The filename to validate - - Returns: - bool: True if the filename is valid, False otherwise - """ - if not filename.lower().endswith(('.sft', '.safetensors')): - return False - - # Check if the filename is empty, None, or just whitespace - if not filename or not filename.strip(): - return False - - # Check for any directory traversal attempts or invalid characters - if any(char in filename for char in ['..', '/', '\\', '\n', '\r', '\t', '\0']): - return False - - # Check if the filename starts with a dot (hidden file) - if filename.startswith('.'): - return False - - # Use a whitelist of allowed characters - if not re.match(r'^[a-zA-Z0-9_\-. ]+$', filename): - return False - - # Ensure the filename isn't too long - if len(filename) > 255: - return False - - return True diff --git a/models/text_encoders/put_text_encoder_files_here b/models/text_encoders/put_text_encoder_files_here new file mode 100644 index 000000000..e69de29bb diff --git a/new_updater.py b/new_updater.py index a49e0877c..9a203acdd 100644 --- a/new_updater.py +++ b/new_updater.py @@ -32,4 +32,4 @@ def update_windows_updater(): except: pass shutil.copy(bat_path, dest_bat_path) - print("Updated the windows standalone package updater.") + print("Updated the windows standalone package updater.") # noqa: T201 diff --git a/nodes.py b/nodes.py index 9cd26a442..b3afb5549 100644 --- a/nodes.py +++ b/nodes.py @@ -1,3 +1,4 @@ +from __future__ import annotations import torch import os @@ -10,7 +11,7 @@ import time import random import logging -from PIL import Image, ImageOps, ImageSequence, ImageFile +from PIL import Image, ImageOps, ImageSequence from PIL.PngImagePlugin import PngInfo import numpy as np @@ -24,6 +25,7 @@ import comfy.sample import comfy.sd import comfy.utils import comfy.controlnet +from comfy.comfy_types import IO, ComfyNodeABC, InputTypeDict import comfy.clip_vision @@ -44,16 +46,16 @@ def interrupt_processing(value=True): MAX_RESOLUTION=16384 -class CLIPTextEncode: +class CLIPTextEncode(ComfyNodeABC): @classmethod - def INPUT_TYPES(s): + def INPUT_TYPES(s) -> InputTypeDict: return { "required": { - "text": ("STRING", {"multiline": True, "dynamicPrompts": True, "tooltip": "The text to be encoded."}), - "clip": ("CLIP", {"tooltip": "The CLIP model used for encoding the text."}) + "text": (IO.STRING, {"multiline": True, "dynamicPrompts": True, "tooltip": "The text to be encoded."}), + "clip": (IO.CLIP, {"tooltip": "The CLIP model used for encoding the text."}) } } - RETURN_TYPES = ("CONDITIONING",) + RETURN_TYPES = (IO.CONDITIONING,) OUTPUT_TOOLTIPS = ("A conditioning containing the embedded text used to guide the diffusion model.",) FUNCTION = "encode" @@ -61,10 +63,11 @@ class CLIPTextEncode: DESCRIPTION = "Encodes a text prompt using a CLIP model into an embedding that can be used to guide the diffusion model towards generating specific images." def encode(self, clip, text): + if clip is None: + raise RuntimeError("ERROR: clip input is invalid: None\n\nIf the clip is from a checkpoint loader node your checkpoint does not contain a valid clip or text encoder model.") tokens = clip.tokenize(text) - output = clip.encode_from_tokens(tokens, return_pooled=True, return_dict=True) - cond = output.pop("cond") - return ([[cond, output]], ) + return (clip.encode_from_tokens_scheduled(tokens), ) + class ConditioningCombine: @classmethod @@ -268,8 +271,8 @@ class VAEDecode: @classmethod def INPUT_TYPES(s): return { - "required": { - "samples": ("LATENT", {"tooltip": "The latent to be decoded."}), + "required": { + "samples": ("LATENT", {"tooltip": "The latent to be decoded."}), "vae": ("VAE", {"tooltip": "The VAE model used for decoding the latent."}) } } @@ -281,21 +284,43 @@ class VAEDecode: DESCRIPTION = "Decodes latent images back into pixel space images." def decode(self, vae, samples): - return (vae.decode(samples["samples"]), ) + images = vae.decode(samples["samples"]) + if len(images.shape) == 5: #Combine batches + images = images.reshape(-1, images.shape[-3], images.shape[-2], images.shape[-1]) + return (images, ) class VAEDecodeTiled: @classmethod def INPUT_TYPES(s): return {"required": {"samples": ("LATENT", ), "vae": ("VAE", ), - "tile_size": ("INT", {"default": 512, "min": 320, "max": 4096, "step": 64}) + "tile_size": ("INT", {"default": 512, "min": 64, "max": 4096, "step": 32}), + "overlap": ("INT", {"default": 64, "min": 0, "max": 4096, "step": 32}), + "temporal_size": ("INT", {"default": 64, "min": 8, "max": 4096, "step": 4, "tooltip": "Only used for video VAEs: Amount of frames to decode at a time."}), + "temporal_overlap": ("INT", {"default": 8, "min": 4, "max": 4096, "step": 4, "tooltip": "Only used for video VAEs: Amount of frames to overlap."}), }} RETURN_TYPES = ("IMAGE",) FUNCTION = "decode" CATEGORY = "_for_testing" - def decode(self, vae, samples, tile_size): - return (vae.decode_tiled(samples["samples"], tile_x=tile_size // 8, tile_y=tile_size // 8, ), ) + def decode(self, vae, samples, tile_size, overlap=64, temporal_size=64, temporal_overlap=8): + if tile_size < overlap * 4: + overlap = tile_size // 4 + if temporal_size < temporal_overlap * 2: + temporal_overlap = temporal_overlap // 2 + temporal_compression = vae.temporal_compression_decode() + if temporal_compression is not None: + temporal_size = max(2, temporal_size // temporal_compression) + temporal_overlap = max(1, min(temporal_size // 2, temporal_overlap // temporal_compression)) + else: + temporal_size = None + temporal_overlap = None + + compression = vae.spacial_compression_decode() + images = vae.decode_tiled(samples["samples"], tile_x=tile_size // compression, tile_y=tile_size // compression, overlap=overlap // compression, tile_t=temporal_size, overlap_t=temporal_overlap) + if len(images.shape) == 5: #Combine batches + images = images.reshape(-1, images.shape[-3], images.shape[-2], images.shape[-1]) + return (images, ) class VAEEncode: @classmethod @@ -314,16 +339,19 @@ class VAEEncodeTiled: @classmethod def INPUT_TYPES(s): return {"required": {"pixels": ("IMAGE", ), "vae": ("VAE", ), - "tile_size": ("INT", {"default": 512, "min": 320, "max": 4096, "step": 64}) + "tile_size": ("INT", {"default": 512, "min": 64, "max": 4096, "step": 64}), + "overlap": ("INT", {"default": 64, "min": 0, "max": 4096, "step": 32}), + "temporal_size": ("INT", {"default": 64, "min": 8, "max": 4096, "step": 4, "tooltip": "Only used for video VAEs: Amount of frames to encode at a time."}), + "temporal_overlap": ("INT", {"default": 8, "min": 4, "max": 4096, "step": 4, "tooltip": "Only used for video VAEs: Amount of frames to overlap."}), }} RETURN_TYPES = ("LATENT",) FUNCTION = "encode" CATEGORY = "_for_testing" - def encode(self, vae, pixels, tile_size): - t = vae.encode_tiled(pixels[:,:,:,:3], tile_x=tile_size, tile_y=tile_size, ) - return ({"samples":t}, ) + def encode(self, vae, pixels, tile_size, overlap, temporal_size=64, temporal_overlap=8): + t = vae.encode_tiled(pixels[:,:,:,:3], tile_x=tile_size, tile_y=tile_size, overlap=overlap, tile_t=temporal_size, overlap_t=temporal_overlap) + return ({"samples": t}, ) class VAEEncodeForInpaint: @classmethod @@ -373,6 +401,7 @@ class InpaintModelConditioning: "vae": ("VAE", ), "pixels": ("IMAGE", ), "mask": ("MASK", ), + "noise_mask": ("BOOLEAN", {"default": True, "tooltip": "Add a noise mask to the latent so sampling will only happen within the mask. Might improve results or completely break things depending on the model."}), }} RETURN_TYPES = ("CONDITIONING","CONDITIONING","LATENT") @@ -381,7 +410,7 @@ class InpaintModelConditioning: CATEGORY = "conditioning/inpaint" - def encode(self, positive, negative, pixels, vae, mask): + def encode(self, positive, negative, pixels, vae, mask, noise_mask=True): x = (pixels.shape[1] // 8) * 8 y = (pixels.shape[2] // 8) * 8 mask = torch.nn.functional.interpolate(mask.reshape((-1, 1, mask.shape[-2], mask.shape[-1])), size=(pixels.shape[1], pixels.shape[2]), mode="bilinear") @@ -405,7 +434,8 @@ class InpaintModelConditioning: out_latent = {} out_latent["samples"] = orig_latent - out_latent["noise_mask"] = mask + if noise_mask: + out_latent["noise_mask"] = mask out = [] for conditioning in [positive, negative]: @@ -511,23 +541,24 @@ class CheckpointLoader: FUNCTION = "load_checkpoint" CATEGORY = "advanced/loaders" + DEPRECATED = True def load_checkpoint(self, config_name, ckpt_name): config_path = folder_paths.get_full_path("configs", config_name) - ckpt_path = folder_paths.get_full_path("checkpoints", ckpt_name) + ckpt_path = folder_paths.get_full_path_or_raise("checkpoints", ckpt_name) return comfy.sd.load_checkpoint(config_path, ckpt_path, output_vae=True, output_clip=True, embedding_directory=folder_paths.get_folder_paths("embeddings")) class CheckpointLoaderSimple: @classmethod def INPUT_TYPES(s): return { - "required": { + "required": { "ckpt_name": (folder_paths.get_filename_list("checkpoints"), {"tooltip": "The name of the checkpoint (model) to load."}), } } RETURN_TYPES = ("MODEL", "CLIP", "VAE") - OUTPUT_TOOLTIPS = ("The model used for denoising latents.", - "The CLIP model used for encoding text prompts.", + OUTPUT_TOOLTIPS = ("The model used for denoising latents.", + "The CLIP model used for encoding text prompts.", "The VAE model used for encoding and decoding images to and from latent space.") FUNCTION = "load_checkpoint" @@ -535,7 +566,7 @@ class CheckpointLoaderSimple: DESCRIPTION = "Loads a diffusion model checkpoint, diffusion models are used to denoise latents." def load_checkpoint(self, ckpt_name): - ckpt_path = folder_paths.get_full_path("checkpoints", ckpt_name) + ckpt_path = folder_paths.get_full_path_or_raise("checkpoints", ckpt_name) out = comfy.sd.load_checkpoint_guess_config(ckpt_path, output_vae=True, output_clip=True, embedding_directory=folder_paths.get_folder_paths("embeddings")) return out[:3] @@ -577,7 +608,7 @@ class unCLIPCheckpointLoader: CATEGORY = "loaders" def load_checkpoint(self, ckpt_name, output_vae=True, output_clip=True): - ckpt_path = folder_paths.get_full_path("checkpoints", ckpt_name) + ckpt_path = folder_paths.get_full_path_or_raise("checkpoints", ckpt_name) out = comfy.sd.load_checkpoint_guess_config(ckpt_path, output_vae=True, output_clip=True, output_clipvision=True, embedding_directory=folder_paths.get_folder_paths("embeddings")) return out @@ -604,7 +635,7 @@ class LoraLoader: @classmethod def INPUT_TYPES(s): return { - "required": { + "required": { "model": ("MODEL", {"tooltip": "The diffusion model the LoRA will be applied to."}), "clip": ("CLIP", {"tooltip": "The CLIP model the LoRA will be applied to."}), "lora_name": (folder_paths.get_filename_list("loras"), {"tooltip": "The name of the LoRA."}), @@ -612,7 +643,7 @@ class LoraLoader: "strength_clip": ("FLOAT", {"default": 1.0, "min": -100.0, "max": 100.0, "step": 0.01, "tooltip": "How strongly to modify the CLIP model. This value can be negative."}), } } - + RETURN_TYPES = ("MODEL", "CLIP") OUTPUT_TOOLTIPS = ("The modified diffusion model.", "The modified CLIP model.") FUNCTION = "load_lora" @@ -624,15 +655,13 @@ class LoraLoader: if strength_model == 0 and strength_clip == 0: return (model, clip) - lora_path = folder_paths.get_full_path("loras", lora_name) + lora_path = folder_paths.get_full_path_or_raise("loras", lora_name) lora = None if self.loaded_lora is not None: if self.loaded_lora[0] == lora_path: lora = self.loaded_lora[1] else: - temp = self.loaded_lora self.loaded_lora = None - del temp if lora is None: lora = comfy.utils.load_torch_file(lora_path, safe_load=True) @@ -703,11 +732,11 @@ class VAELoader: encoder = next(filter(lambda a: a.startswith("{}_encoder.".format(name)), approx_vaes)) decoder = next(filter(lambda a: a.startswith("{}_decoder.".format(name)), approx_vaes)) - enc = comfy.utils.load_torch_file(folder_paths.get_full_path("vae_approx", encoder)) + enc = comfy.utils.load_torch_file(folder_paths.get_full_path_or_raise("vae_approx", encoder)) for k in enc: sd["taesd_encoder.{}".format(k)] = enc[k] - dec = comfy.utils.load_torch_file(folder_paths.get_full_path("vae_approx", decoder)) + dec = comfy.utils.load_torch_file(folder_paths.get_full_path_or_raise("vae_approx", decoder)) for k in dec: sd["taesd_decoder.{}".format(k)] = dec[k] @@ -738,7 +767,7 @@ class VAELoader: if vae_name in ["taesd", "taesdxl", "taesd3", "taef1"]: sd = self.load_taesd(vae_name) else: - vae_path = folder_paths.get_full_path("vae", vae_name) + vae_path = folder_paths.get_full_path_or_raise("vae", vae_name) sd = comfy.utils.load_torch_file(vae_path) vae = comfy.sd.VAE(sd=sd) return (vae,) @@ -754,7 +783,7 @@ class ControlNetLoader: CATEGORY = "loaders" def load_controlnet(self, control_net_name): - controlnet_path = folder_paths.get_full_path("controlnet", control_net_name) + controlnet_path = folder_paths.get_full_path_or_raise("controlnet", control_net_name) controlnet = comfy.controlnet.load_controlnet(controlnet_path) return (controlnet,) @@ -770,7 +799,7 @@ class DiffControlNetLoader: CATEGORY = "loaders" def load_controlnet(self, model, control_net_name): - controlnet_path = folder_paths.get_full_path("controlnet", control_net_name) + controlnet_path = folder_paths.get_full_path_or_raise("controlnet", control_net_name) controlnet = comfy.controlnet.load_controlnet(controlnet_path, model) return (controlnet,) @@ -786,6 +815,7 @@ class ControlNetApply: RETURN_TYPES = ("CONDITIONING",) FUNCTION = "apply_controlnet" + DEPRECATED = True CATEGORY = "conditioning/controlnet" def apply_controlnet(self, conditioning, control_net, image, strength): @@ -815,7 +845,10 @@ class ControlNetApplyAdvanced: "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.01}), "start_percent": ("FLOAT", {"default": 0.0, "min": 0.0, "max": 1.0, "step": 0.001}), "end_percent": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 1.0, "step": 0.001}) - }} + }, + "optional": {"vae": ("VAE", ), + } + } RETURN_TYPES = ("CONDITIONING","CONDITIONING") RETURN_NAMES = ("positive", "negative") @@ -823,7 +856,7 @@ class ControlNetApplyAdvanced: CATEGORY = "conditioning/controlnet" - def apply_controlnet(self, positive, negative, control_net, image, strength, start_percent, end_percent, vae=None): + def apply_controlnet(self, positive, negative, control_net, image, strength, start_percent, end_percent, vae=None, extra_concat=[]): if strength == 0: return (positive, negative) @@ -840,7 +873,7 @@ class ControlNetApplyAdvanced: if prev_cnet in cnets: c_net = cnets[prev_cnet] else: - c_net = control_net.copy().set_cond_hint(control_hint, strength, (start_percent, end_percent), vae) + c_net = control_net.copy().set_cond_hint(control_hint, strength, (start_percent, end_percent), vae=vae, extra_concat=extra_concat) c_net.set_previous_controlnet(prev_cnet) cnets[prev_cnet] = c_net @@ -856,7 +889,7 @@ class UNETLoader: @classmethod def INPUT_TYPES(s): return {"required": { "unet_name": (folder_paths.get_filename_list("diffusion_models"), ), - "weight_dtype": (["default", "fp8_e4m3fn", "fp8_e5m2"],) + "weight_dtype": (["default", "fp8_e4m3fn", "fp8_e4m3fn_fast", "fp8_e5m2"],) }} RETURN_TYPES = ("MODEL",) FUNCTION = "load_unet" @@ -867,61 +900,92 @@ class UNETLoader: model_options = {} if weight_dtype == "fp8_e4m3fn": model_options["dtype"] = torch.float8_e4m3fn + elif weight_dtype == "fp8_e4m3fn_fast": + model_options["dtype"] = torch.float8_e4m3fn + model_options["fp8_optimizations"] = True elif weight_dtype == "fp8_e5m2": model_options["dtype"] = torch.float8_e5m2 - unet_path = folder_paths.get_full_path("diffusion_models", unet_name) + unet_path = folder_paths.get_full_path_or_raise("diffusion_models", unet_name) model = comfy.sd.load_diffusion_model(unet_path, model_options=model_options) return (model,) class CLIPLoader: @classmethod def INPUT_TYPES(s): - return {"required": { "clip_name": (folder_paths.get_filename_list("clip"), ), - "type": (["stable_diffusion", "stable_cascade", "sd3", "stable_audio"], ), + return {"required": { "clip_name": (folder_paths.get_filename_list("text_encoders"), ), + "type": (["stable_diffusion", "stable_cascade", "sd3", "stable_audio", "mochi", "ltxv", "pixart", "cosmos"], ), + }, + "optional": { + "device": (["default", "cpu"], {"advanced": True}), }} RETURN_TYPES = ("CLIP",) FUNCTION = "load_clip" CATEGORY = "advanced/loaders" - def load_clip(self, clip_name, type="stable_diffusion"): + DESCRIPTION = "[Recipes]\n\nstable_diffusion: clip-l\nstable_cascade: clip-g\nsd3: t5 / clip-g / clip-l\nstable_audio: t5\nmochi: t5\ncosmos: old t5 xxl" + + def load_clip(self, clip_name, type="stable_diffusion", device="default"): if type == "stable_cascade": clip_type = comfy.sd.CLIPType.STABLE_CASCADE elif type == "sd3": clip_type = comfy.sd.CLIPType.SD3 elif type == "stable_audio": clip_type = comfy.sd.CLIPType.STABLE_AUDIO + elif type == "mochi": + clip_type = comfy.sd.CLIPType.MOCHI + elif type == "ltxv": + clip_type = comfy.sd.CLIPType.LTXV + elif type == "pixart": + clip_type = comfy.sd.CLIPType.PIXART + elif type == "cosmos": + clip_type = comfy.sd.CLIPType.COSMOS else: clip_type = comfy.sd.CLIPType.STABLE_DIFFUSION - clip_path = folder_paths.get_full_path("clip", clip_name) - clip = comfy.sd.load_clip(ckpt_paths=[clip_path], embedding_directory=folder_paths.get_folder_paths("embeddings"), clip_type=clip_type) + model_options = {} + if device == "cpu": + model_options["load_device"] = model_options["offload_device"] = torch.device("cpu") + + clip_path = folder_paths.get_full_path_or_raise("text_encoders", clip_name) + clip = comfy.sd.load_clip(ckpt_paths=[clip_path], embedding_directory=folder_paths.get_folder_paths("embeddings"), clip_type=clip_type, model_options=model_options) return (clip,) class DualCLIPLoader: @classmethod def INPUT_TYPES(s): - return {"required": { "clip_name1": (folder_paths.get_filename_list("clip"), ), - "clip_name2": (folder_paths.get_filename_list("clip"), ), - "type": (["sdxl", "sd3", "flux"], ), + return {"required": { "clip_name1": (folder_paths.get_filename_list("text_encoders"), ), + "clip_name2": (folder_paths.get_filename_list("text_encoders"), ), + "type": (["sdxl", "sd3", "flux", "hunyuan_video"], ), + }, + "optional": { + "device": (["default", "cpu"], {"advanced": True}), }} RETURN_TYPES = ("CLIP",) FUNCTION = "load_clip" CATEGORY = "advanced/loaders" - def load_clip(self, clip_name1, clip_name2, type): - clip_path1 = folder_paths.get_full_path("clip", clip_name1) - clip_path2 = folder_paths.get_full_path("clip", clip_name2) + DESCRIPTION = "[Recipes]\n\nsdxl: clip-l, clip-g\nsd3: clip-l, clip-g / clip-l, t5 / clip-g, t5\nflux: clip-l, t5" + + def load_clip(self, clip_name1, clip_name2, type, device="default"): + clip_path1 = folder_paths.get_full_path_or_raise("text_encoders", clip_name1) + clip_path2 = folder_paths.get_full_path_or_raise("text_encoders", clip_name2) if type == "sdxl": clip_type = comfy.sd.CLIPType.STABLE_DIFFUSION elif type == "sd3": clip_type = comfy.sd.CLIPType.SD3 elif type == "flux": clip_type = comfy.sd.CLIPType.FLUX + elif type == "hunyuan_video": + clip_type = comfy.sd.CLIPType.HUNYUAN_VIDEO - clip = comfy.sd.load_clip(ckpt_paths=[clip_path1, clip_path2], embedding_directory=folder_paths.get_folder_paths("embeddings"), clip_type=clip_type) + model_options = {} + if device == "cpu": + model_options["load_device"] = model_options["offload_device"] = torch.device("cpu") + + clip = comfy.sd.load_clip(ckpt_paths=[clip_path1, clip_path2], embedding_directory=folder_paths.get_folder_paths("embeddings"), clip_type=clip_type, model_options=model_options) return (clip,) class CLIPVisionLoader: @@ -935,7 +999,7 @@ class CLIPVisionLoader: CATEGORY = "loaders" def load_clip(self, clip_name): - clip_path = folder_paths.get_full_path("clip_vision", clip_name) + clip_path = folder_paths.get_full_path_or_raise("clip_vision", clip_name) clip_vision = comfy.clip_vision.load(clip_path) return (clip_vision,) @@ -943,15 +1007,19 @@ class CLIPVisionEncode: @classmethod def INPUT_TYPES(s): return {"required": { "clip_vision": ("CLIP_VISION",), - "image": ("IMAGE",) + "image": ("IMAGE",), + "crop": (["center", "none"],) }} RETURN_TYPES = ("CLIP_VISION_OUTPUT",) FUNCTION = "encode" CATEGORY = "conditioning" - def encode(self, clip_vision, image): - output = clip_vision.encode_image(image) + def encode(self, clip_vision, image, crop): + crop_image = True + if crop != "center": + crop_image = False + output = clip_vision.encode_image(image, crop=crop_image) return (output,) class StyleModelLoader: @@ -965,7 +1033,7 @@ class StyleModelLoader: CATEGORY = "loaders" def load_style_model(self, style_model_name): - style_model_path = folder_paths.get_full_path("style_models", style_model_name) + style_model_path = folder_paths.get_full_path_or_raise("style_models", style_model_name) style_model = comfy.sd.load_style_model(style_model_path) return (style_model,) @@ -976,19 +1044,59 @@ class StyleModelApply: return {"required": {"conditioning": ("CONDITIONING", ), "style_model": ("STYLE_MODEL", ), "clip_vision_output": ("CLIP_VISION_OUTPUT", ), + "strength": ("FLOAT", {"default": 1.0, "min": 0.0, "max": 10.0, "step": 0.001}), + "strength_type": (["multiply", "attn_bias"], ), }} RETURN_TYPES = ("CONDITIONING",) FUNCTION = "apply_stylemodel" CATEGORY = "conditioning/style_model" - def apply_stylemodel(self, clip_vision_output, style_model, conditioning): + def apply_stylemodel(self, conditioning, style_model, clip_vision_output, strength, strength_type): cond = style_model.get_cond(clip_vision_output).flatten(start_dim=0, end_dim=1).unsqueeze(dim=0) - c = [] + if strength_type == "multiply": + cond *= strength + + n = cond.shape[1] + c_out = [] for t in conditioning: - n = [torch.cat((t[0], cond), dim=1), t[1].copy()] - c.append(n) - return (c, ) + (txt, keys) = t + keys = keys.copy() + if strength_type == "attn_bias" and strength != 1.0: + # math.log raises an error if the argument is zero + # torch.log returns -inf, which is what we want + attn_bias = torch.log(torch.Tensor([strength])) + # get the size of the mask image + mask_ref_size = keys.get("attention_mask_img_shape", (1, 1)) + n_ref = mask_ref_size[0] * mask_ref_size[1] + n_txt = txt.shape[1] + # grab the existing mask + mask = keys.get("attention_mask", None) + # create a default mask if it doesn't exist + if mask is None: + mask = torch.zeros((txt.shape[0], n_txt + n_ref, n_txt + n_ref), dtype=torch.float16) + # convert the mask dtype, because it might be boolean + # we want it to be interpreted as a bias + if mask.dtype == torch.bool: + # log(True) = log(1) = 0 + # log(False) = log(0) = -inf + mask = torch.log(mask.to(dtype=torch.float16)) + # now we make the mask bigger to add space for our new tokens + new_mask = torch.zeros((txt.shape[0], n_txt + n + n_ref, n_txt + n + n_ref), dtype=torch.float16) + # copy over the old mask, in quandrants + new_mask[:, :n_txt, :n_txt] = mask[:, :n_txt, :n_txt] + new_mask[:, :n_txt, n_txt+n:] = mask[:, :n_txt, n_txt:] + new_mask[:, n_txt+n:, :n_txt] = mask[:, n_txt:, :n_txt] + new_mask[:, n_txt+n:, n_txt+n:] = mask[:, n_txt:, n_txt:] + # now fill in the attention bias to our redux tokens + new_mask[:, :n_txt, n_txt:n_txt+n] = attn_bias + new_mask[:, n_txt+n:, n_txt:n_txt+n] = attn_bias + keys["attention_mask"] = new_mask.to(txt.device) + keys["attention_mask_img_shape"] = mask_ref_size + + c_out.append([torch.cat((txt, cond), dim=1), keys]) + + return (c_out,) class unCLIPConditioning: @classmethod @@ -1030,7 +1138,7 @@ class GLIGENLoader: CATEGORY = "loaders" def load_gligen(self, gligen_name): - gligen_path = folder_paths.get_full_path("gligen", gligen_name) + gligen_path = folder_paths.get_full_path_or_raise("gligen", gligen_name) gligen = comfy.sd.load_gligen(gligen_path) return (gligen,) @@ -1072,7 +1180,7 @@ class EmptyLatentImage: @classmethod def INPUT_TYPES(s): return { - "required": { + "required": { "width": ("INT", {"default": 512, "min": 16, "max": MAX_RESOLUTION, "step": 8, "tooltip": "The width of the latent images in pixels."}), "height": ("INT", {"default": 512, "min": 16, "max": MAX_RESOLUTION, "step": 8, "tooltip": "The height of the latent images in pixels."}), "batch_size": ("INT", {"default": 1, "min": 1, "max": 4096, "tooltip": "The number of latent images in the batch."}) @@ -1121,7 +1229,7 @@ class LatentFromBatch: else: s["batch_index"] = samples["batch_index"][batch_index:batch_index + length] return (s,) - + class RepeatLatentBatch: @classmethod def INPUT_TYPES(s): @@ -1136,7 +1244,7 @@ class RepeatLatentBatch: def repeat(self, samples, amount): s = samples.copy() s_in = samples["samples"] - + s["samples"] = s_in.repeat((amount, 1,1,1)) if "noise_mask" in samples and samples["noise_mask"].shape[0] > 1: masks = samples["noise_mask"] @@ -1171,10 +1279,10 @@ class LatentUpscale: if width == 0: height = max(64, height) - width = max(64, round(samples["samples"].shape[3] * height / samples["samples"].shape[2])) + width = max(64, round(samples["samples"].shape[-1] * height / samples["samples"].shape[-2])) elif height == 0: width = max(64, width) - height = max(64, round(samples["samples"].shape[2] * width / samples["samples"].shape[3])) + height = max(64, round(samples["samples"].shape[-2] * width / samples["samples"].shape[-1])) else: width = max(64, width) height = max(64, height) @@ -1196,8 +1304,8 @@ class LatentUpscaleBy: def upscale(self, samples, upscale_method, scale_by): s = samples.copy() - width = round(samples["samples"].shape[3] * scale_by) - height = round(samples["samples"].shape[2] * scale_by) + width = round(samples["samples"].shape[-1] * scale_by) + height = round(samples["samples"].shape[-2] * scale_by) s["samples"] = comfy.utils.common_upscale(samples["samples"], width, height, upscale_method, "disabled") return (s,) @@ -1591,15 +1699,15 @@ class LoadImage: FUNCTION = "load_image" def load_image(self, image): image_path = folder_paths.get_annotated_filepath(image) - + img = node_helpers.pillow(Image.open, image_path) - + output_images = [] output_masks = [] w, h = None, None excluded_formats = ['MPO'] - + for i in ImageSequence.Iterator(img): i = node_helpers.pillow(ImageOps.exif_transpose, i) @@ -1610,10 +1718,10 @@ class LoadImage: if len(output_images) == 0: w = image.size[0] h = image.size[1] - + if image.size[0] != w or image.size[1] != h: continue - + image = np.array(image).astype(np.float32) / 255.0 image = torch.from_numpy(image)[None,] if 'A' in i.getbands(): @@ -1961,8 +2069,8 @@ NODE_DISPLAY_NAME_MAPPINGS = { "ConditioningSetArea": "Conditioning (Set Area)", "ConditioningSetAreaPercentage": "Conditioning (Set Area with Percentage)", "ConditioningSetMask": "Conditioning (Set Mask)", - "ControlNetApply": "Apply ControlNet", - "ControlNetApplyAdvanced": "Apply ControlNet (Advanced)", + "ControlNetApply": "Apply ControlNet (OLD)", + "ControlNetApplyAdvanced": "Apply ControlNet", # Latent "VAEEncodeForInpaint": "VAE Encode (for Inpainting)", "SetLatentNoiseMask": "Set Latent Noise Mask", @@ -1989,6 +2097,12 @@ NODE_DISPLAY_NAME_MAPPINGS = { "ImageInvert": "Invert Image", "ImagePadForOutpaint": "Pad Image for Outpainting", "ImageBatch": "Batch Images", + "ImageCrop": "Image Crop", + "ImageBlend": "Image Blend", + "ImageBlur": "Image Blur", + "ImageQuantize": "Image Quantize", + "ImageSharpen": "Image Sharpen", + "ImageScaleToTotalPixels": "Scale Image to Total Pixels", # _for_testing "VAEDecodeTiled": "VAE Decode (Tiled)", "VAEEncodeTiled": "VAE Encode (Tiled)", @@ -1996,6 +2110,9 @@ NODE_DISPLAY_NAME_MAPPINGS = { EXTENSION_WEB_DIRS = {} +# Dictionary of successfully loaded module names and associated directories. +LOADED_MODULE_DIRS = {} + def get_module_name(module_path: str) -> str: """ @@ -2037,6 +2154,8 @@ def load_custom_node(module_path: str, ignore=set(), module_parent="custom_nodes sys.modules[module_name] = module module_spec.loader.exec_module(module) + LOADED_MODULE_DIRS[module_name] = os.path.abspath(module_dir) + if hasattr(module, "WEB_DIRECTORY") and getattr(module, "WEB_DIRECTORY") is not None: web_dir = os.path.abspath(os.path.join(module_dir, getattr(module, "WEB_DIRECTORY"))) if os.path.isdir(web_dir): @@ -2129,6 +2248,7 @@ def init_builtin_extra_nodes(): "nodes_stable3d.py", "nodes_sdupscale.py", "nodes_photomaker.py", + "nodes_pixart.py", "nodes_cond.py", "nodes_morphology.py", "nodes_stable_cascade.py", @@ -2146,6 +2266,15 @@ def init_builtin_extra_nodes(): "nodes_controlnet.py", "nodes_hunyuan.py", "nodes_flux.py", + "nodes_lora_extract.py", + "nodes_torch_compile.py", + "nodes_mochi.py", + "nodes_slg.py", + "nodes_mahiro.py", + "nodes_lt.py", + "nodes_hooks.py", + "nodes_load_3d.py", + "nodes_cosmos.py", ] import_failed = [] @@ -2174,5 +2303,5 @@ def init_extra_nodes(init_custom_nodes=True): else: logging.warning("Please do a: pip install -r requirements.txt") logging.warning("") - + return import_failed diff --git a/notebooks/comfyui_colab.ipynb b/notebooks/comfyui_colab.ipynb index b1ed4ac9a..5560b5ff9 100644 --- a/notebooks/comfyui_colab.ipynb +++ b/notebooks/comfyui_colab.ipynb @@ -1,329 +1,322 @@ { - "cells": [ - { - "cell_type": "markdown", - "metadata": { - "id": "aaaaaaaaaa" - }, - "source": [ - "Git clone the repo and install the requirements. (ignore the pip errors about protobuf)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "bbbbbbbbbb" - }, - "outputs": [], - "source": [ - "#@title Environment Setup\n", - "\n", - "from pathlib import Path\n", - "\n", - "OPTIONS = {}\n", - "\n", - "USE_GOOGLE_DRIVE = False #@param {type:\"boolean\"}\n", - "UPDATE_COMFY_UI = True #@param {type:\"boolean\"}\n", - "WORKSPACE = 'ComfyUI'\n", - "OPTIONS['USE_GOOGLE_DRIVE'] = USE_GOOGLE_DRIVE\n", - "OPTIONS['UPDATE_COMFY_UI'] = UPDATE_COMFY_UI\n", - "\n", - "if OPTIONS['USE_GOOGLE_DRIVE']:\n", - " !echo \"Mounting Google Drive...\"\n", - " %cd /\n", - " \n", - " from google.colab import drive\n", - " drive.mount('/content/drive')\n", - "\n", - " WORKSPACE = \"/content/drive/MyDrive/ComfyUI\"\n", - " %cd /content/drive/MyDrive\n", - "\n", - "![ ! -d $WORKSPACE ] && echo -= Initial setup ComfyUI =- && git clone https://github.com/comfyanonymous/ComfyUI\n", - "%cd $WORKSPACE\n", - "\n", - "if OPTIONS['UPDATE_COMFY_UI']:\n", - " !echo -= Updating ComfyUI =-\n", - " !git pull\n", - "\n", - "!echo -= Install dependencies =-\n", - "!pip install xformers!=0.0.18 -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cu121 --extra-index-url https://download.pytorch.org/whl/cu118 --extra-index-url https://download.pytorch.org/whl/cu117" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "cccccccccc" - }, - "source": [ - "Download some models/checkpoints/vae or custom comfyui nodes (uncomment the commands for the ones you want)" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "dddddddddd" - }, - "outputs": [], - "source": [ - "# Checkpoints\n", - "\n", - "### SDXL\n", - "### I recommend these workflow examples: https://comfyanonymous.github.io/ComfyUI_examples/sdxl/\n", - "\n", - "#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -P ./models/checkpoints/\n", - "#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/\n", - "\n", - "# SDXL ReVision\n", - "#!wget -c https://huggingface.co/comfyanonymous/clip_vision_g/resolve/main/clip_vision_g.safetensors -P ./models/clip_vision/\n", - "\n", - "# SD1.5\n", - "!wget -c https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/resolve/main/v1-5-pruned-emaonly-fp16.safetensors -P ./models/checkpoints/\n", - "\n", - "# SD2\n", - "#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1-base/resolve/main/v2-1_512-ema-pruned.safetensors -P ./models/checkpoints/\n", - "#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1/resolve/main/v2-1_768-ema-pruned.safetensors -P ./models/checkpoints/\n", - "\n", - "# Some SD1.5 anime style\n", - "#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix2/AbyssOrangeMix2_hard.safetensors -P ./models/checkpoints/\n", - "#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix3/AOM3A1_orangemixs.safetensors -P ./models/checkpoints/\n", - "#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix3/AOM3A3_orangemixs.safetensors -P ./models/checkpoints/\n", - "#!wget -c https://huggingface.co/Linaqruf/anything-v3.0/resolve/main/anything-v3-fp16-pruned.safetensors -P ./models/checkpoints/\n", - "\n", - "# Waifu Diffusion 1.5 (anime style SD2.x 768-v)\n", - "#!wget -c https://huggingface.co/waifu-diffusion/wd-1-5-beta3/resolve/main/wd-illusion-fp16.safetensors -P ./models/checkpoints/\n", - "\n", - "\n", - "# unCLIP models\n", - "#!wget -c https://huggingface.co/comfyanonymous/illuminatiDiffusionV1_v11_unCLIP/resolve/main/illuminatiDiffusionV1_v11-unclip-h-fp16.safetensors -P ./models/checkpoints/\n", - "#!wget -c https://huggingface.co/comfyanonymous/wd-1.5-beta2_unCLIP/resolve/main/wd-1-5-beta2-aesthetic-unclip-h-fp16.safetensors -P ./models/checkpoints/\n", - "\n", - "\n", - "# VAE\n", - "!wget -c https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors -P ./models/vae/\n", - "#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/VAEs/orangemix.vae.pt -P ./models/vae/\n", - "#!wget -c https://huggingface.co/hakurei/waifu-diffusion-v1-4/resolve/main/vae/kl-f8-anime2.ckpt -P ./models/vae/\n", - "\n", - "\n", - "# Loras\n", - "#!wget -c https://civitai.com/api/download/models/10350 -O ./models/loras/theovercomer8sContrastFix_sd21768.safetensors #theovercomer8sContrastFix SD2.x 768-v\n", - "#!wget -c https://civitai.com/api/download/models/10638 -O ./models/loras/theovercomer8sContrastFix_sd15.safetensors #theovercomer8sContrastFix SD1.x\n", - "#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_offset_example-lora_1.0.safetensors -P ./models/loras/ #SDXL offset noise lora\n", - "\n", - "\n", - "# T2I-Adapter\n", - "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_depth_sd14v1.pth -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_seg_sd14v1.pth -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_sketch_sd14v1.pth -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_keypose_sd14v1.pth -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_openpose_sd14v1.pth -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_color_sd14v1.pth -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_canny_sd14v1.pth -P ./models/controlnet/\n", - "\n", - "# T2I Styles Model\n", - "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_style_sd14v1.pth -P ./models/style_models/\n", - "\n", - "# CLIPVision model (needed for styles model)\n", - "#!wget -c https://huggingface.co/openai/clip-vit-large-patch14/resolve/main/pytorch_model.bin -O ./models/clip_vision/clip_vit14.bin\n", - "\n", - "\n", - "# ControlNet\n", - "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11e_sd15_ip2p_fp16.safetensors -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11e_sd15_shuffle_fp16.safetensors -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_canny_fp16.safetensors -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11f1p_sd15_depth_fp16.safetensors -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_inpaint_fp16.safetensors -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_lineart_fp16.safetensors -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_mlsd_fp16.safetensors -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_normalbae_fp16.safetensors -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_openpose_fp16.safetensors -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_scribble_fp16.safetensors -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_seg_fp16.safetensors -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_softedge_fp16.safetensors -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15s2_lineart_anime_fp16.safetensors -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11u_sd15_tile_fp16.safetensors -P ./models/controlnet/\n", - "\n", - "# ControlNet SDXL\n", - "#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-canny-rank256.safetensors -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-depth-rank256.safetensors -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-recolor-rank256.safetensors -P ./models/controlnet/\n", - "#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-sketch-rank256.safetensors -P ./models/controlnet/\n", - "\n", - "# Controlnet Preprocessor nodes by Fannovel16\n", - "#!cd custom_nodes && git clone https://github.com/Fannovel16/comfy_controlnet_preprocessors; cd comfy_controlnet_preprocessors && python install.py\n", - "\n", - "\n", - "# GLIGEN\n", - "#!wget -c https://huggingface.co/comfyanonymous/GLIGEN_pruned_safetensors/resolve/main/gligen_sd14_textbox_pruned_fp16.safetensors -P ./models/gligen/\n", - "\n", - "\n", - "# ESRGAN upscale model\n", - "#!wget -c https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth -P ./models/upscale_models/\n", - "#!wget -c https://huggingface.co/sberbank-ai/Real-ESRGAN/resolve/main/RealESRGAN_x2.pth -P ./models/upscale_models/\n", - "#!wget -c https://huggingface.co/sberbank-ai/Real-ESRGAN/resolve/main/RealESRGAN_x4.pth -P ./models/upscale_models/\n", - "\n", - "\n" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "kkkkkkkkkkkkkkk" - }, - "source": [ - "### Run ComfyUI with cloudflared (Recommended Way)\n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "jjjjjjjjjjjjjj" - }, - "outputs": [], - "source": [ - "!wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb\n", - "!dpkg -i cloudflared-linux-amd64.deb\n", - "\n", - "import subprocess\n", - "import threading\n", - "import time\n", - "import socket\n", - "import urllib.request\n", - "\n", - "def iframe_thread(port):\n", - " while True:\n", - " time.sleep(0.5)\n", - " sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n", - " result = sock.connect_ex(('127.0.0.1', port))\n", - " if result == 0:\n", - " break\n", - " sock.close()\n", - " print(\"\\nComfyUI finished loading, trying to launch cloudflared (if it gets stuck here cloudflared is having issues)\\n\")\n", - "\n", - " p = subprocess.Popen([\"cloudflared\", \"tunnel\", \"--url\", \"http://127.0.0.1:{}\".format(port)], stdout=subprocess.PIPE, stderr=subprocess.PIPE)\n", - " for line in p.stderr:\n", - " l = line.decode()\n", - " if \"trycloudflare.com \" in l:\n", - " print(\"This is the URL to access ComfyUI:\", l[l.find(\"http\"):], end='')\n", - " #print(l, end='')\n", - "\n", - "\n", - "threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()\n", - "\n", - "!python main.py --dont-print-server" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "kkkkkkkkkkkkkk" - }, - "source": [ - "### Run ComfyUI with localtunnel\n", - "\n", - "\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "jjjjjjjjjjjjj" - }, - "outputs": [], - "source": [ - "!npm install -g localtunnel\n", - "\n", - "import subprocess\n", - "import threading\n", - "import time\n", - "import socket\n", - "import urllib.request\n", - "\n", - "def iframe_thread(port):\n", - " while True:\n", - " time.sleep(0.5)\n", - " sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n", - " result = sock.connect_ex(('127.0.0.1', port))\n", - " if result == 0:\n", - " break\n", - " sock.close()\n", - " print(\"\\nComfyUI finished loading, trying to launch localtunnel (if it gets stuck here localtunnel is having issues)\\n\")\n", - "\n", - " print(\"The password/enpoint ip for localtunnel is:\", urllib.request.urlopen('https://ipv4.icanhazip.com').read().decode('utf8').strip(\"\\n\"))\n", - " p = subprocess.Popen([\"lt\", \"--port\", \"{}\".format(port)], stdout=subprocess.PIPE)\n", - " for line in p.stdout:\n", - " print(line.decode(), end='')\n", - "\n", - "\n", - "threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()\n", - "\n", - "!python main.py --dont-print-server" - ] - }, - { - "cell_type": "markdown", - "metadata": { - "id": "gggggggggg" - }, - "source": [ - "### Run ComfyUI with colab iframe (use only in case the previous way with localtunnel doesn't work)\n", - "\n", - "You should see the ui appear in an iframe. If you get a 403 error, it's your firefox settings or an extension that's messing things up.\n", - "\n", - "If you want to open it in another window use the link.\n", - "\n", - "Note that some UI features like live image previews won't work because the colab iframe blocks websockets." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": { - "id": "hhhhhhhhhh" - }, - "outputs": [], - "source": [ - "import threading\n", - "import time\n", - "import socket\n", - "def iframe_thread(port):\n", - " while True:\n", - " time.sleep(0.5)\n", - " sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n", - " result = sock.connect_ex(('127.0.0.1', port))\n", - " if result == 0:\n", - " break\n", - " sock.close()\n", - " from google.colab import output\n", - " output.serve_kernel_port_as_iframe(port, height=1024)\n", - " print(\"to open it in a window you can open this link here:\")\n", - " output.serve_kernel_port_as_window(port)\n", - "\n", - "threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()\n", - "\n", - "!python main.py --dont-print-server" - ] - } - ], - "metadata": { - "accelerator": "GPU", - "colab": { - "provenance": [] - }, - "gpuClass": "standard", - "kernelspec": { - "display_name": "Python 3", - "name": "python3" - }, - "language_info": { - "name": "python" - } + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "aaaaaaaaaa" + }, + "source": [ + "Git clone the repo and install the requirements. (ignore the pip errors about protobuf)" + ] }, - "nbformat": 4, - "nbformat_minor": 0 + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "bbbbbbbbbb" + }, + "outputs": [], + "source": [ + "#@title Environment Setup\n", + "\n", + "\n", + "OPTIONS = {}\n", + "\n", + "USE_GOOGLE_DRIVE = False #@param {type:\"boolean\"}\n", + "UPDATE_COMFY_UI = True #@param {type:\"boolean\"}\n", + "WORKSPACE = 'ComfyUI'\n", + "OPTIONS['USE_GOOGLE_DRIVE'] = USE_GOOGLE_DRIVE\n", + "OPTIONS['UPDATE_COMFY_UI'] = UPDATE_COMFY_UI\n", + "\n", + "if OPTIONS['USE_GOOGLE_DRIVE']:\n", + " !echo \"Mounting Google Drive...\"\n", + " %cd /\n", + " \n", + " from google.colab import drive\n", + " drive.mount('/content/drive')\n", + "\n", + " WORKSPACE = \"/content/drive/MyDrive/ComfyUI\"\n", + " %cd /content/drive/MyDrive\n", + "\n", + "![ ! -d $WORKSPACE ] && echo -= Initial setup ComfyUI =- && git clone https://github.com/comfyanonymous/ComfyUI\n", + "%cd $WORKSPACE\n", + "\n", + "if OPTIONS['UPDATE_COMFY_UI']:\n", + " !echo -= Updating ComfyUI =-\n", + " !git pull\n", + "\n", + "!echo -= Install dependencies =-\n", + "!pip install xformers!=0.0.18 -r requirements.txt --extra-index-url https://download.pytorch.org/whl/cu121 --extra-index-url https://download.pytorch.org/whl/cu118 --extra-index-url https://download.pytorch.org/whl/cu117" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "cccccccccc" + }, + "source": [ + "Download some models/checkpoints/vae or custom comfyui nodes (uncomment the commands for the ones you want)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "dddddddddd" + }, + "outputs": [], + "source": [ + "# Checkpoints\n", + "\n", + "### SDXL\n", + "### I recommend these workflow examples: https://comfyanonymous.github.io/ComfyUI_examples/sdxl/\n", + "\n", + "#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_base_1.0.safetensors -P ./models/checkpoints/\n", + "#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-refiner-1.0/resolve/main/sd_xl_refiner_1.0.safetensors -P ./models/checkpoints/\n", + "\n", + "# SDXL ReVision\n", + "#!wget -c https://huggingface.co/comfyanonymous/clip_vision_g/resolve/main/clip_vision_g.safetensors -P ./models/clip_vision/\n", + "\n", + "# SD1.5\n", + "!wget -c https://huggingface.co/Comfy-Org/stable-diffusion-v1-5-archive/resolve/main/v1-5-pruned-emaonly-fp16.safetensors -P ./models/checkpoints/\n", + "\n", + "# SD2\n", + "#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1-base/resolve/main/v2-1_512-ema-pruned.safetensors -P ./models/checkpoints/\n", + "#!wget -c https://huggingface.co/stabilityai/stable-diffusion-2-1/resolve/main/v2-1_768-ema-pruned.safetensors -P ./models/checkpoints/\n", + "\n", + "# Some SD1.5 anime style\n", + "#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix2/AbyssOrangeMix2_hard.safetensors -P ./models/checkpoints/\n", + "#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix3/AOM3A1_orangemixs.safetensors -P ./models/checkpoints/\n", + "#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/Models/AbyssOrangeMix3/AOM3A3_orangemixs.safetensors -P ./models/checkpoints/\n", + "#!wget -c https://huggingface.co/Linaqruf/anything-v3.0/resolve/main/anything-v3-fp16-pruned.safetensors -P ./models/checkpoints/\n", + "\n", + "# Waifu Diffusion 1.5 (anime style SD2.x 768-v)\n", + "#!wget -c https://huggingface.co/waifu-diffusion/wd-1-5-beta3/resolve/main/wd-illusion-fp16.safetensors -P ./models/checkpoints/\n", + "\n", + "\n", + "# unCLIP models\n", + "#!wget -c https://huggingface.co/comfyanonymous/illuminatiDiffusionV1_v11_unCLIP/resolve/main/illuminatiDiffusionV1_v11-unclip-h-fp16.safetensors -P ./models/checkpoints/\n", + "#!wget -c https://huggingface.co/comfyanonymous/wd-1.5-beta2_unCLIP/resolve/main/wd-1-5-beta2-aesthetic-unclip-h-fp16.safetensors -P ./models/checkpoints/\n", + "\n", + "\n", + "# VAE\n", + "!wget -c https://huggingface.co/stabilityai/sd-vae-ft-mse-original/resolve/main/vae-ft-mse-840000-ema-pruned.safetensors -P ./models/vae/\n", + "#!wget -c https://huggingface.co/WarriorMama777/OrangeMixs/resolve/main/VAEs/orangemix.vae.pt -P ./models/vae/\n", + "#!wget -c https://huggingface.co/hakurei/waifu-diffusion-v1-4/resolve/main/vae/kl-f8-anime2.ckpt -P ./models/vae/\n", + "\n", + "\n", + "# Loras\n", + "#!wget -c https://civitai.com/api/download/models/10350 -O ./models/loras/theovercomer8sContrastFix_sd21768.safetensors #theovercomer8sContrastFix SD2.x 768-v\n", + "#!wget -c https://civitai.com/api/download/models/10638 -O ./models/loras/theovercomer8sContrastFix_sd15.safetensors #theovercomer8sContrastFix SD1.x\n", + "#!wget -c https://huggingface.co/stabilityai/stable-diffusion-xl-base-1.0/resolve/main/sd_xl_offset_example-lora_1.0.safetensors -P ./models/loras/ #SDXL offset noise lora\n", + "\n", + "\n", + "# T2I-Adapter\n", + "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_depth_sd14v1.pth -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_seg_sd14v1.pth -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_sketch_sd14v1.pth -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_keypose_sd14v1.pth -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_openpose_sd14v1.pth -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_color_sd14v1.pth -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_canny_sd14v1.pth -P ./models/controlnet/\n", + "\n", + "# T2I Styles Model\n", + "#!wget -c https://huggingface.co/TencentARC/T2I-Adapter/resolve/main/models/t2iadapter_style_sd14v1.pth -P ./models/style_models/\n", + "\n", + "# CLIPVision model (needed for styles model)\n", + "#!wget -c https://huggingface.co/openai/clip-vit-large-patch14/resolve/main/pytorch_model.bin -O ./models/clip_vision/clip_vit14.bin\n", + "\n", + "\n", + "# ControlNet\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11e_sd15_ip2p_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11e_sd15_shuffle_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_canny_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11f1p_sd15_depth_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_inpaint_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_lineart_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_mlsd_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_normalbae_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_openpose_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_scribble_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_seg_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15_softedge_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11p_sd15s2_lineart_anime_fp16.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/comfyanonymous/ControlNet-v1-1_fp16_safetensors/resolve/main/control_v11u_sd15_tile_fp16.safetensors -P ./models/controlnet/\n", + "\n", + "# ControlNet SDXL\n", + "#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-canny-rank256.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-depth-rank256.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-recolor-rank256.safetensors -P ./models/controlnet/\n", + "#!wget -c https://huggingface.co/stabilityai/control-lora/resolve/main/control-LoRAs-rank256/control-lora-sketch-rank256.safetensors -P ./models/controlnet/\n", + "\n", + "# Controlnet Preprocessor nodes by Fannovel16\n", + "#!cd custom_nodes && git clone https://github.com/Fannovel16/comfy_controlnet_preprocessors; cd comfy_controlnet_preprocessors && python install.py\n", + "\n", + "\n", + "# GLIGEN\n", + "#!wget -c https://huggingface.co/comfyanonymous/GLIGEN_pruned_safetensors/resolve/main/gligen_sd14_textbox_pruned_fp16.safetensors -P ./models/gligen/\n", + "\n", + "\n", + "# ESRGAN upscale model\n", + "#!wget -c https://github.com/xinntao/Real-ESRGAN/releases/download/v0.1.0/RealESRGAN_x4plus.pth -P ./models/upscale_models/\n", + "#!wget -c https://huggingface.co/sberbank-ai/Real-ESRGAN/resolve/main/RealESRGAN_x2.pth -P ./models/upscale_models/\n", + "#!wget -c https://huggingface.co/sberbank-ai/Real-ESRGAN/resolve/main/RealESRGAN_x4.pth -P ./models/upscale_models/\n", + "\n", + "\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "kkkkkkkkkkkkkkk" + }, + "source": [ + "### Run ComfyUI with cloudflared (Recommended Way)\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "jjjjjjjjjjjjjj" + }, + "outputs": [], + "source": [ + "!wget https://github.com/cloudflare/cloudflared/releases/latest/download/cloudflared-linux-amd64.deb\n", + "!dpkg -i cloudflared-linux-amd64.deb\n", + "\n", + "import subprocess\n", + "import threading\n", + "import time\n", + "import socket\n", + "import urllib.request\n", + "\n", + "def iframe_thread(port):\n", + " while True:\n", + " time.sleep(0.5)\n", + " sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n", + " result = sock.connect_ex(('127.0.0.1', port))\n", + " if result == 0:\n", + " break\n", + " sock.close()\n", + " print(\"\\nComfyUI finished loading, trying to launch cloudflared (if it gets stuck here cloudflared is having issues)\\n\")\n", + "\n", + " p = subprocess.Popen([\"cloudflared\", \"tunnel\", \"--url\", \"http://127.0.0.1:{}\".format(port)], stdout=subprocess.PIPE, stderr=subprocess.PIPE)\n", + " for line in p.stderr:\n", + " l = line.decode()\n", + " if \"trycloudflare.com \" in l:\n", + " print(\"This is the URL to access ComfyUI:\", l[l.find(\"http\"):], end='')\n", + " #print(l, end='')\n", + "\n", + "\n", + "threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()\n", + "\n", + "!python main.py --dont-print-server" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "kkkkkkkkkkkkkk" + }, + "source": [ + "### Run ComfyUI with localtunnel\n", + "\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "jjjjjjjjjjjjj" + }, + "outputs": [], + "source": [ + "!npm install -g localtunnel\n", + "\n", + "import threading\n", + "\n", + "def iframe_thread(port):\n", + " while True:\n", + " time.sleep(0.5)\n", + " sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n", + " result = sock.connect_ex(('127.0.0.1', port))\n", + " if result == 0:\n", + " break\n", + " sock.close()\n", + " print(\"\\nComfyUI finished loading, trying to launch localtunnel (if it gets stuck here localtunnel is having issues)\\n\")\n", + "\n", + " print(\"The password/enpoint ip for localtunnel is:\", urllib.request.urlopen('https://ipv4.icanhazip.com').read().decode('utf8').strip(\"\\n\"))\n", + " p = subprocess.Popen([\"lt\", \"--port\", \"{}\".format(port)], stdout=subprocess.PIPE)\n", + " for line in p.stdout:\n", + " print(line.decode(), end='')\n", + "\n", + "\n", + "threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()\n", + "\n", + "!python main.py --dont-print-server" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gggggggggg" + }, + "source": [ + "### Run ComfyUI with colab iframe (use only in case the previous way with localtunnel doesn't work)\n", + "\n", + "You should see the ui appear in an iframe. If you get a 403 error, it's your firefox settings or an extension that's messing things up.\n", + "\n", + "If you want to open it in another window use the link.\n", + "\n", + "Note that some UI features like live image previews won't work because the colab iframe blocks websockets." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "hhhhhhhhhh" + }, + "outputs": [], + "source": [ + "import threading\n", + "def iframe_thread(port):\n", + " while True:\n", + " time.sleep(0.5)\n", + " sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)\n", + " result = sock.connect_ex(('127.0.0.1', port))\n", + " if result == 0:\n", + " break\n", + " sock.close()\n", + " from google.colab import output\n", + " output.serve_kernel_port_as_iframe(port, height=1024)\n", + " print(\"to open it in a window you can open this link here:\")\n", + " output.serve_kernel_port_as_window(port)\n", + "\n", + "threading.Thread(target=iframe_thread, daemon=True, args=(8188,)).start()\n", + "\n", + "!python main.py --dont-print-server" + ] + } + ], + "metadata": { + "accelerator": "GPU", + "colab": { + "provenance": [] + }, + "gpuClass": "standard", + "kernelspec": { + "display_name": "Python 3", + "name": "python3" + }, + "language_info": { + "name": "python" + } + }, + "nbformat": 4, + "nbformat_minor": 0 } diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 000000000..da2c43c00 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,23 @@ +[project] +name = "ComfyUI" +version = "0.3.13" +readme = "README.md" +license = { file = "LICENSE" } +requires-python = ">=3.9" + +[project.urls] +homepage = "https://www.comfy.org/" +repository = "https://github.com/comfyanonymous/ComfyUI" +documentation = "https://docs.comfy.org/" + +[tool.ruff] +lint.select = [ + "S307", # suspicious-eval-usage + "S102", # exec + "T", # print-usage + "W", + # The "F" series in Ruff stands for "Pyflakes" rules, which catch various Python syntax errors and undefined names. + # See all rules here: https://docs.astral.sh/ruff/rules/#pyflakes-f + "F", +] +exclude = ["*.ipynb"] diff --git a/requirements.txt b/requirements.txt index 762fd0fad..81ba8d066 100644 --- a/requirements.txt +++ b/requirements.txt @@ -214,3 +214,21 @@ yarl==1.9.4 zipp==3.20.0 zope.event==5.0 zope.interface==7.1.0 + +numpy>=1.25.0 +einops +transformers>=4.28.1 +tokenizers>=0.13.3 +sentencepiece +safetensors>=0.4.2 +aiohttp +pyyaml +Pillow +scipy +tqdm +psutil + +#non essential dependencies: +kornia>=0.7.1 +spandrel +soundfile diff --git a/script_examples/basic_api_example.py b/script_examples/basic_api_example.py index bc8ad7134..c916e6cb9 100644 --- a/script_examples/basic_api_example.py +++ b/script_examples/basic_api_example.py @@ -1,6 +1,5 @@ import json -from urllib import request, parse -import random +from urllib import request #This is the ComfyUI api prompt format. diff --git a/script_examples/websockets_api_example.py b/script_examples/websockets_api_example.py index 62afc869c..d696d2bba 100644 --- a/script_examples/websockets_api_example.py +++ b/script_examples/websockets_api_example.py @@ -38,6 +38,9 @@ def get_images(ws, prompt): if data['node'] is None and data['prompt_id'] == prompt_id: break #Execution is done else: + # If you want to be able to decode the binary stream for latent previews, here is how you can do it: + # bytesIO = BytesIO(out[8:]) + # preview_image = Image.open(bytesIO) # This is your preview in PIL image format, store it in a global continue #previews are binary data history = get_history(prompt_id)[prompt_id] @@ -151,7 +154,7 @@ prompt["3"]["inputs"]["seed"] = 5 ws = websocket.WebSocket() ws.connect("ws://{}/ws?clientId={}".format(server_address, client_id)) images = get_images(ws, prompt) - +ws.close() # for in case this example is used in an environment where it will be repeatedly called, like in a Gradio app. otherwise, you'll randomly receive connection timeouts #Commented out code to display the output images: # for node_id in images: diff --git a/script_examples/websockets_api_example_ws_images.py b/script_examples/websockets_api_example_ws_images.py index b37d9893d..6508ecc99 100644 --- a/script_examples/websockets_api_example_ws_images.py +++ b/script_examples/websockets_api_example_ws_images.py @@ -147,7 +147,7 @@ prompt["3"]["inputs"]["seed"] = 5 ws = websocket.WebSocket() ws.connect("ws://{}/ws?clientId={}".format(server_address, client_id)) images = get_images(ws, prompt) - +ws.close() # for in case this example is used in an environment where it will be repeatedly called, like in a Gradio app. otherwise, you'll randomly receive connection timeouts #Commented out code to display the output images: # for node_id in images: diff --git a/server.py b/server.py index 3611880da..88c163fc7 100644 --- a/server.py +++ b/server.py @@ -12,6 +12,8 @@ import json import glob import struct import ssl +import socket +import ipaddress from PIL import Image, ImageOps from PIL.PngImagePlugin import PngInfo from io import BytesIO @@ -25,9 +27,11 @@ from comfy.cli_args import args import comfy.utils import comfy.model_management import node_helpers +from comfyui_version import __version__ from app.frontend_management import FrontendManager from app.user_manager import UserManager -from model_filemanager import download_model, DownloadModelStatus +from app.model_manager import ModelFileManager +from app.custom_node_manager import CustomNodeManager from typing import Optional from api_server.routes.internal.internal_routes import InternalRoutes @@ -38,24 +42,9 @@ class BinaryEventTypes: async def send_socket_catch_exception(function, message): try: await function(message) - except (aiohttp.ClientError, aiohttp.ClientPayloadError, ConnectionResetError) as err: + except (aiohttp.ClientError, aiohttp.ClientPayloadError, ConnectionResetError, BrokenPipeError, ConnectionError) as err: logging.warning("send error: {}".format(err)) -def get_comfyui_version(): - comfyui_version = "unknown" - repo_path = os.path.dirname(os.path.realpath(__file__)) - try: - import pygit2 - repo = pygit2.Repository(repo_path) - comfyui_version = repo.describe(describe_strategy=pygit2.GIT_DESCRIBE_TAGS) - except Exception: - try: - import subprocess - comfyui_version = subprocess.check_output(["git", "describe", "--tags"], cwd=repo_path).decode('utf-8') - except Exception as e: - logging.warning(f"Failed to get ComfyUI version: {e}") - return comfyui_version.strip() - @web.middleware async def cache_control(request: web.Request, handler): response: web.Response = await handler(request) @@ -80,6 +69,68 @@ def create_cors_middleware(allowed_origin: str): return cors_middleware +def is_loopback(host): + if host is None: + return False + try: + if ipaddress.ip_address(host).is_loopback: + return True + else: + return False + except: + pass + + loopback = False + for family in (socket.AF_INET, socket.AF_INET6): + try: + r = socket.getaddrinfo(host, None, family, socket.SOCK_STREAM) + for family, _, _, _, sockaddr in r: + if not ipaddress.ip_address(sockaddr[0]).is_loopback: + return loopback + else: + loopback = True + except socket.gaierror: + pass + + return loopback + + +def create_origin_only_middleware(): + @web.middleware + async def origin_only_middleware(request: web.Request, handler): + #this code is used to prevent the case where a random website can queue comfy workflows by making a POST to 127.0.0.1 which browsers don't prevent for some dumb reason. + #in that case the Host and Origin hostnames won't match + #I know the proper fix would be to add a cookie but this should take care of the problem in the meantime + if 'Host' in request.headers and 'Origin' in request.headers: + host = request.headers['Host'] + origin = request.headers['Origin'] + host_domain = host.lower() + parsed = urllib.parse.urlparse(origin) + origin_domain = parsed.netloc.lower() + host_domain_parsed = urllib.parse.urlsplit('//' + host_domain) + + #limit the check to when the host domain is localhost, this makes it slightly less safe but should still prevent the exploit + loopback = is_loopback(host_domain_parsed.hostname) + + if parsed.port is None: #if origin doesn't have a port strip it from the host to handle weird browsers, same for host + host_domain = host_domain_parsed.hostname + if host_domain_parsed.port is None: + origin_domain = parsed.hostname + + if loopback and host_domain is not None and origin_domain is not None and len(host_domain) > 0 and len(origin_domain) > 0: + if host_domain != origin_domain: + logging.warning("WARNING: request with non matching host and origin {} != {}, returning 403".format(host_domain, origin_domain)) + return web.Response(status=403) + + if request.method == "OPTIONS": + response = web.Response() + else: + response = await handler(request) + + return response + + return origin_only_middleware + class PromptServer(): def __init__(self, loop): PromptServer.instance = self @@ -88,7 +139,9 @@ class PromptServer(): mimetypes.types_map['.js'] = 'application/javascript; charset=utf-8' self.user_manager = UserManager() - self.internal_routes = InternalRoutes() + self.model_file_manager = ModelFileManager() + self.custom_node_manager = CustomNodeManager() + self.internal_routes = InternalRoutes(self) self.supports = ["custom_nodes_from_web"] self.prompt_queue = None self.loop = loop @@ -99,6 +152,8 @@ class PromptServer(): middlewares = [cache_control] if args.enable_cors_header: middlewares.append(create_cors_middleware(args.enable_cors_header)) + else: + middlewares.append(create_origin_only_middleware()) max_upload_size = round(args.max_upload_size * 1024 * 1024) self.app = web.Application(client_max_size=max_upload_size, middlewares=middlewares) @@ -156,6 +211,12 @@ class PromptServer(): embeddings = folder_paths.get_filename_list("embeddings") return web.json_response(list(map(lambda a: os.path.splitext(a)[0], embeddings))) + @routes.get("/models") + def list_model_types(request): + model_types = list(folder_paths.folder_names_and_paths.keys()) + + return web.json_response(model_types) + @routes.get("/models/{folder}") async def get_models(request): folder = request.match_info.get("folder", None) @@ -193,7 +254,7 @@ class PromptServer(): def compare_image_hash(filepath, image): hasher = node_helpers.hasher() - + # function to compare hashes of two images to see if it already exists, fix to #3465 if os.path.exists(filepath): a = hasher() @@ -268,6 +329,9 @@ class PromptServer(): original_ref = json.loads(post.get("original_ref")) filename, output_dir = folder_paths.annotated_filepath(original_ref['filename']) + if not filename: + return web.Response(status=400) + # validation for security: prevent accessing arbitrary path if filename[0] == '/' or '..' in filename: return web.Response(status=400) @@ -309,6 +373,9 @@ class PromptServer(): filename = request.rel_url.query["filename"] filename,output_dir = folder_paths.annotated_filepath(filename) + if not filename: + return web.Response(status=400) + # validation for security: prevent accessing arbitrary path if filename[0] == '/' or '..' in filename: return web.Response(status=400) @@ -387,7 +454,21 @@ class PromptServer(): return web.Response(body=alpha_buffer.read(), content_type='image/png', headers={"Content-Disposition": f"filename=\"{filename}\""}) else: - return web.FileResponse(file, headers={"Content-Disposition": f"filename=\"{filename}\""}) + # Get content type from mimetype, defaulting to 'application/octet-stream' + content_type = mimetypes.guess_type(filename)[0] or 'application/octet-stream' + + # For security, force certain extensions to download instead of display + file_extension = os.path.splitext(filename)[1].lower() + if file_extension in {'.html', '.htm', '.js', '.css'}: + content_type = 'application/octet-stream' # Forces download + + return web.FileResponse( + file, + headers={ + "Content-Disposition": f"filename=\"{filename}\"", + "Content-Type": content_type + } + ) return web.Response(status=404) @@ -418,13 +499,18 @@ class PromptServer(): async def system_stats(request): device = comfy.model_management.get_torch_device() device_name = comfy.model_management.get_torch_device_name(device) + cpu_device = comfy.model_management.torch.device("cpu") + ram_total = comfy.model_management.get_total_memory(cpu_device) + ram_free = comfy.model_management.get_free_memory(cpu_device) vram_total, torch_vram_total = comfy.model_management.get_total_memory(device, torch_total_too=True) vram_free, torch_vram_free = comfy.model_management.get_free_memory(device, torch_free_too=True) system_stats = { "system": { "os": os.name, - "comfyui_version": get_comfyui_version(), + "ram_total": ram_total, + "ram_free": ram_free, + "comfyui_version": __version__, "python_version": sys.version, "pytorch_version": comfy.model_management.torch_version, "embedded_python": os.path.split(os.path.split(sys.executable)[0])[1] == "python_embeded", @@ -480,14 +566,15 @@ class PromptServer(): @routes.get("/object_info") async def get_object_info(request): - out = {} - for x in nodes.NODE_CLASS_MAPPINGS: - try: - out[x] = node_info(x) - except Exception as e: - logging.error(f"[ERROR] An error occurred while retrieving information for the '{x}' node.") - logging.error(traceback.format_exc()) - return web.json_response(out) + with folder_paths.cache_helper: + out = {} + for x in nodes.NODE_CLASS_MAPPINGS: + try: + out[x] = node_info(x) + except Exception: + logging.error(f"[ERROR] An error occurred while retrieving information for the '{x}' node.") + logging.error(traceback.format_exc()) + return web.json_response(out) @routes.get("/object_info/{node_class}") async def get_object_info_node(request): @@ -505,7 +592,7 @@ class PromptServer(): return web.json_response(self.prompt_queue.get_history(max_items=max_items)) @routes.get("/history/{prompt_id}") - async def get_history(request): + async def get_history_prompt_id(request): prompt_id = request.match_info.get("prompt_id", None) return web.json_response(self.prompt_queue.get_history(prompt_id=prompt_id)) @@ -520,8 +607,6 @@ class PromptServer(): @routes.post("/prompt") async def post_prompt(request): logging.info("got prompt") - resp_code = 200 - out_string = "" json_data = await request.json() json_data = self.trigger_on_prompt(json_data) @@ -598,34 +683,6 @@ class PromptServer(): self.prompt_queue.delete_history_item(id_to_delete) return web.Response(status=200) - - # Internal route. Should not be depended upon and is subject to change at any time. - # TODO(robinhuang): Move to internal route table class once we refactor PromptServer to pass around Websocket. - @routes.post("/internal/models/download") - async def download_handler(request): - async def report_progress(filename: str, status: DownloadModelStatus): - payload = status.to_dict() - payload['download_path'] = filename - await self.send_json("download_progress", payload) - - data = await request.json() - url = data.get('url') - model_directory = data.get('model_directory') - model_filename = data.get('model_filename') - progress_interval = data.get('progress_interval', 1.0) # In seconds, how often to report download progress. - - if not url or not model_directory or not model_filename: - return web.json_response({"status": "error", "message": "Missing URL or folder path or filename"}, status=400) - - session = self.client_session - if session is None: - logging.error("Client session is not initialized") - return web.Response(status=500) - - task = asyncio.create_task(download_model(lambda url: session.get(url), model_filename, url, model_directory, report_progress, progress_interval)) - await task - - return web.json_response(task.result().to_dict()) async def setup(self): timeout = aiohttp.ClientTimeout(total=None) # no timeout @@ -633,6 +690,8 @@ class PromptServer(): def add_routes(self): self.user_manager.add_routes(self.routes) + self.model_file_manager.add_routes(self.routes) + self.custom_node_manager.add_routes(self.routes, self.app, nodes.LOADED_MODULE_DIRS.items()) self.app.add_subapp('/internal', self.internal_routes.get_app()) # Prefix every route with /api for easier matching for delegation. @@ -649,10 +708,9 @@ class PromptServer(): self.app.add_routes(api_routes) self.app.add_routes(self.routes) + # Add routes from web extensions. for name, dir in nodes.EXTENSION_WEB_DIRS.items(): - self.app.add_routes([ - web.static('/extensions/' + urllib.parse.quote(name), dir), - ]) + self.app.add_routes([web.static('/extensions/' + name, dir)]) self.app.add_routes([ web.static('/', self.web_root), @@ -739,6 +797,9 @@ class PromptServer(): await self.send(*msg) async def start(self, address, port, verbose=True, call_on_start=None): + await self.start_multi_address([(address, port)], call_on_start=call_on_start) + + async def start_multi_address(self, addresses, call_on_start=None, verbose=True): runner = web.AppRunner(self.app, access_log=None) await runner.setup() ssl_ctx = None @@ -749,17 +810,28 @@ class PromptServer(): keyfile=args.tls_keyfile) scheme = "https" - site = web.TCPSite(runner, address, port, ssl_context=ssl_ctx) - await site.start() - - self.address = address - self.port = port - if verbose: logging.info("Starting server\n") - logging.info("To see the GUI go to: {}://{}:{}".format(scheme, address, port)) + for addr in addresses: + address = addr[0] + port = addr[1] + site = web.TCPSite(runner, address, port, ssl_context=ssl_ctx) + await site.start() + + if not hasattr(self, 'address'): + self.address = address #TODO: remove this + self.port = port + + if ':' in address: + address_print = "[{}]".format(address) + else: + address_print = address + + if verbose: + logging.info("To see the GUI go to: {}://{}:{}".format(scheme, address_print, port)) + if call_on_start is not None: - call_on_start(scheme, address, port) + call_on_start(scheme, self.address, self.port) def add_on_prompt_handler(self, handler): self.on_prompt_handlers.append(handler) @@ -768,8 +840,8 @@ class PromptServer(): for handler in self.on_prompt_handlers: try: json_data = handler(json_data) - except Exception as e: - logging.warning(f"[ERROR] An error occurred during the on_prompt_handler processing") + except Exception: + logging.warning("[ERROR] An error occurred during the on_prompt_handler processing") logging.warning(traceback.format_exc()) return json_data diff --git a/tests-unit/README.md b/tests-unit/README.md index 94abd9853..81692b8f1 100644 --- a/tests-unit/README.md +++ b/tests-unit/README.md @@ -2,7 +2,7 @@ ## Install test dependencies -`pip install -r tests-units/requirements.txt` +`pip install -r tests-unit/requirements.txt` ## Run tests -`pytest tests-units/` +`pytest tests-unit/` diff --git a/tests-unit/app_test/custom_node_manager_test.py b/tests-unit/app_test/custom_node_manager_test.py new file mode 100644 index 000000000..b61e25e54 --- /dev/null +++ b/tests-unit/app_test/custom_node_manager_test.py @@ -0,0 +1,147 @@ +import pytest +from aiohttp import web +from unittest.mock import patch +from app.custom_node_manager import CustomNodeManager +import json + +pytestmark = ( + pytest.mark.asyncio +) # This applies the asyncio mark to all test functions in the module + + +@pytest.fixture +def custom_node_manager(): + return CustomNodeManager() + + +@pytest.fixture +def app(custom_node_manager): + app = web.Application() + routes = web.RouteTableDef() + custom_node_manager.add_routes( + routes, app, [("ComfyUI-TestExtension1", "ComfyUI-TestExtension1")] + ) + app.add_routes(routes) + return app + + +async def test_get_workflow_templates(aiohttp_client, app, tmp_path): + client = await aiohttp_client(app) + # Setup temporary custom nodes file structure with 1 workflow file + custom_nodes_dir = tmp_path / "custom_nodes" + example_workflows_dir = ( + custom_nodes_dir / "ComfyUI-TestExtension1" / "example_workflows" + ) + example_workflows_dir.mkdir(parents=True) + template_file = example_workflows_dir / "workflow1.json" + template_file.write_text("") + + with patch( + "folder_paths.folder_names_and_paths", + {"custom_nodes": ([str(custom_nodes_dir)], None)}, + ): + response = await client.get("/workflow_templates") + assert response.status == 200 + workflows_dict = await response.json() + assert isinstance(workflows_dict, dict) + assert "ComfyUI-TestExtension1" in workflows_dict + assert isinstance(workflows_dict["ComfyUI-TestExtension1"], list) + assert workflows_dict["ComfyUI-TestExtension1"][0] == "workflow1" + + +async def test_build_translations_empty_when_no_locales(custom_node_manager, tmp_path): + custom_nodes_dir = tmp_path / "custom_nodes" + custom_nodes_dir.mkdir(parents=True) + + with patch("folder_paths.get_folder_paths", return_value=[str(custom_nodes_dir)]): + translations = custom_node_manager.build_translations() + assert translations == {} + + +async def test_build_translations_loads_all_files(custom_node_manager, tmp_path): + # Setup test directory structure + custom_nodes_dir = tmp_path / "custom_nodes" / "test-extension" + locales_dir = custom_nodes_dir / "locales" / "en" + locales_dir.mkdir(parents=True) + + # Create test translation files + main_content = {"title": "Test Extension"} + (locales_dir / "main.json").write_text(json.dumps(main_content)) + + node_defs = {"node1": "Node 1"} + (locales_dir / "nodeDefs.json").write_text(json.dumps(node_defs)) + + commands = {"cmd1": "Command 1"} + (locales_dir / "commands.json").write_text(json.dumps(commands)) + + settings = {"setting1": "Setting 1"} + (locales_dir / "settings.json").write_text(json.dumps(settings)) + + with patch( + "folder_paths.get_folder_paths", return_value=[tmp_path / "custom_nodes"] + ): + translations = custom_node_manager.build_translations() + + assert translations == { + "en": { + "title": "Test Extension", + "nodeDefs": {"node1": "Node 1"}, + "commands": {"cmd1": "Command 1"}, + "settings": {"setting1": "Setting 1"}, + } + } + + +async def test_build_translations_handles_invalid_json(custom_node_manager, tmp_path): + # Setup test directory structure + custom_nodes_dir = tmp_path / "custom_nodes" / "test-extension" + locales_dir = custom_nodes_dir / "locales" / "en" + locales_dir.mkdir(parents=True) + + # Create valid main.json + main_content = {"title": "Test Extension"} + (locales_dir / "main.json").write_text(json.dumps(main_content)) + + # Create invalid JSON file + (locales_dir / "nodeDefs.json").write_text("invalid json{") + + with patch( + "folder_paths.get_folder_paths", return_value=[tmp_path / "custom_nodes"] + ): + translations = custom_node_manager.build_translations() + + assert translations == { + "en": { + "title": "Test Extension", + } + } + + +async def test_build_translations_merges_multiple_extensions( + custom_node_manager, tmp_path +): + # Setup test directory structure for two extensions + custom_nodes_dir = tmp_path / "custom_nodes" + ext1_dir = custom_nodes_dir / "extension1" / "locales" / "en" + ext2_dir = custom_nodes_dir / "extension2" / "locales" / "en" + ext1_dir.mkdir(parents=True) + ext2_dir.mkdir(parents=True) + + # Create translation files for extension 1 + ext1_main = {"title": "Extension 1", "shared": "Original"} + (ext1_dir / "main.json").write_text(json.dumps(ext1_main)) + + # Create translation files for extension 2 + ext2_main = {"description": "Extension 2", "shared": "Override"} + (ext2_dir / "main.json").write_text(json.dumps(ext2_main)) + + with patch("folder_paths.get_folder_paths", return_value=[str(custom_nodes_dir)]): + translations = custom_node_manager.build_translations() + + assert translations == { + "en": { + "title": "Extension 1", + "description": "Extension 2", + "shared": "Override", # Second extension should override first + } + } diff --git a/tests-unit/app_test/model_manager_test.py b/tests-unit/app_test/model_manager_test.py new file mode 100644 index 000000000..ae59206f6 --- /dev/null +++ b/tests-unit/app_test/model_manager_test.py @@ -0,0 +1,62 @@ +import pytest +import base64 +import json +import struct +from io import BytesIO +from PIL import Image +from aiohttp import web +from unittest.mock import patch +from app.model_manager import ModelFileManager + +pytestmark = ( + pytest.mark.asyncio +) # This applies the asyncio mark to all test functions in the module + +@pytest.fixture +def model_manager(): + return ModelFileManager() + +@pytest.fixture +def app(model_manager): + app = web.Application() + routes = web.RouteTableDef() + model_manager.add_routes(routes) + app.add_routes(routes) + return app + +async def test_get_model_preview_safetensors(aiohttp_client, app, tmp_path): + img = Image.new('RGB', (100, 100), 'white') + img_byte_arr = BytesIO() + img.save(img_byte_arr, format='PNG') + img_byte_arr.seek(0) + img_b64 = base64.b64encode(img_byte_arr.getvalue()).decode('utf-8') + + safetensors_file = tmp_path / "test_model.safetensors" + header_bytes = json.dumps({ + "__metadata__": { + "ssmd_cover_images": json.dumps([img_b64]) + } + }).encode('utf-8') + length_bytes = struct.pack(' bool: + if self == "*" or value == "*": + return False + if self == "LONGER_THAN_2": + return not len(value) > 2 + raise TypeError("This is a class for unit tests only.") + + +def test_ne_override(): + """Test ``__ne__`` any override""" + any = NotEqualsOverrideTest("*") + invalid_type = "INVALID_TYPE" + obj = object() + assert validate_node_input(any, any) + assert validate_node_input(any, invalid_type) + assert validate_node_input(any, obj) + assert validate_node_input(any, {}) + assert validate_node_input(any, []) + assert validate_node_input(any, [1, 2, 3]) + + +def test_ne_custom_override(): + """Test ``__ne__`` custom override""" + special = NotEqualsOverrideTest("LONGER_THAN_2") + + assert validate_node_input(special, special) + assert validate_node_input(special, "*") + assert validate_node_input(special, "INVALID_TYPE") + assert validate_node_input(special, [1, 2, 3]) + + # Should fail + assert not validate_node_input(special, [1, 2]) + assert not validate_node_input(special, "TY") + + +@pytest.mark.parametrize( + "received,input_type,strict,expected", + [ + ("STRING", "STRING", False, True), + ("STRING,INT", "STRING,INT", False, True), + ("STRING", "STRING,INT", True, True), + ("STRING,INT", "STRING", True, False), + ("BOOLEAN", "STRING,INT", False, False), + ("STRING,BOOLEAN", "STRING,INT", False, True), + ], +) +def test_parametrized_cases(received, input_type, strict, expected): + """Parametrized test cases for various scenarios""" + assert validate_node_input(received, input_type, strict) == expected diff --git a/tests-unit/folder_paths_test/__init__.py b/tests-unit/folder_paths_test/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/tests-unit/folder_paths_test/filter_by_content_types_test.py b/tests-unit/folder_paths_test/filter_by_content_types_test.py new file mode 100644 index 000000000..423677a60 --- /dev/null +++ b/tests-unit/folder_paths_test/filter_by_content_types_test.py @@ -0,0 +1,52 @@ +import pytest +import os +import tempfile +from folder_paths import filter_files_content_types + +@pytest.fixture(scope="module") +def file_extensions(): + return { + 'image': ['gif', 'heif', 'ico', 'jpeg', 'jpg', 'png', 'pnm', 'ppm', 'svg', 'tiff', 'webp', 'xbm', 'xpm'], + 'audio': ['aif', 'aifc', 'aiff', 'au', 'flac', 'm4a', 'mp2', 'mp3', 'ogg', 'snd', 'wav'], + 'video': ['avi', 'm2v', 'm4v', 'mkv', 'mov', 'mp4', 'mpeg', 'mpg', 'ogv', 'qt', 'webm', 'wmv'] + } + + +@pytest.fixture(scope="module") +def mock_dir(file_extensions): + with tempfile.TemporaryDirectory() as directory: + for content_type, extensions in file_extensions.items(): + for extension in extensions: + with open(f"{directory}/sample_{content_type}.{extension}", "w") as f: + f.write(f"Sample {content_type} file in {extension} format") + yield directory + + +def test_categorizes_all_correctly(mock_dir, file_extensions): + files = os.listdir(mock_dir) + for content_type, extensions in file_extensions.items(): + filtered_files = filter_files_content_types(files, [content_type]) + for extension in extensions: + assert f"sample_{content_type}.{extension}" in filtered_files + + +def test_categorizes_all_uniquely(mock_dir, file_extensions): + files = os.listdir(mock_dir) + for content_type, extensions in file_extensions.items(): + filtered_files = filter_files_content_types(files, [content_type]) + assert len(filtered_files) == len(extensions) + + +def test_handles_bad_extensions(): + files = ["file1.txt", "file2.py", "file3.example", "file4.pdf", "file5.ini", "file6.doc", "file7.md"] + assert filter_files_content_types(files, ["image", "audio", "video"]) == [] + + +def test_handles_no_extension(): + files = ["file1", "file2", "file3", "file4", "file5", "file6", "file7"] + assert filter_files_content_types(files, ["image", "audio", "video"]) == [] + + +def test_handles_no_files(): + files = [] + assert filter_files_content_types(files, ["image", "audio", "video"]) == [] diff --git a/tests-unit/prompt_server_test/download_models_test.py b/tests-unit/prompt_server_test/download_models_test.py deleted file mode 100644 index 66150a468..000000000 --- a/tests-unit/prompt_server_test/download_models_test.py +++ /dev/null @@ -1,321 +0,0 @@ -import pytest -import aiohttp -from aiohttp import ClientResponse -import itertools -import os -from unittest.mock import AsyncMock, patch, MagicMock -from model_filemanager import download_model, validate_model_subdirectory, track_download_progress, create_model_path, check_file_exists, DownloadStatusType, DownloadModelStatus, validate_filename - -class AsyncIteratorMock: - """ - A mock class that simulates an asynchronous iterator. - This is used to mimic the behavior of aiohttp's content iterator. - """ - def __init__(self, seq): - # Convert the input sequence into an iterator - self.iter = iter(seq) - - def __aiter__(self): - # This method is called when 'async for' is used - return self - - async def __anext__(self): - # This method is called for each iteration in an 'async for' loop - try: - return next(self.iter) - except StopIteration: - # This is the asynchronous equivalent of StopIteration - raise StopAsyncIteration - -class ContentMock: - """ - A mock class that simulates the content attribute of an aiohttp ClientResponse. - This class provides the iter_chunked method which returns an async iterator of chunks. - """ - def __init__(self, chunks): - # Store the chunks that will be returned by the iterator - self.chunks = chunks - - def iter_chunked(self, chunk_size): - # This method mimics aiohttp's content.iter_chunked() - # For simplicity in testing, we ignore chunk_size and just return our predefined chunks - return AsyncIteratorMock(self.chunks) - -@pytest.mark.asyncio -async def test_download_model_success(): - mock_response = AsyncMock(spec=aiohttp.ClientResponse) - mock_response.status = 200 - mock_response.headers = {'Content-Length': '1000'} - # Create a mock for content that returns an async iterator directly - chunks = [b'a' * 500, b'b' * 300, b'c' * 200] - mock_response.content = ContentMock(chunks) - - mock_make_request = AsyncMock(return_value=mock_response) - mock_progress_callback = AsyncMock() - - # Mock file operations - mock_open = MagicMock() - mock_file = MagicMock() - mock_open.return_value.__enter__.return_value = mock_file - time_values = itertools.count(0, 0.1) - - with patch('model_filemanager.create_model_path', return_value=('models/checkpoints/model.sft', 'checkpoints/model.sft')), \ - patch('model_filemanager.check_file_exists', return_value=None), \ - patch('builtins.open', mock_open), \ - patch('time.time', side_effect=time_values): # Simulate time passing - - result = await download_model( - mock_make_request, - 'model.sft', - 'http://example.com/model.sft', - 'checkpoints', - mock_progress_callback - ) - - # Assert the result - assert isinstance(result, DownloadModelStatus) - assert result.message == 'Successfully downloaded model.sft' - assert result.status == 'completed' - assert result.already_existed is False - - # Check progress callback calls - assert mock_progress_callback.call_count >= 3 # At least start, one progress update, and completion - - # Check initial call - mock_progress_callback.assert_any_call( - 'checkpoints/model.sft', - DownloadModelStatus(DownloadStatusType.PENDING, 0, "Starting download of model.sft", False) - ) - - # Check final call - mock_progress_callback.assert_any_call( - 'checkpoints/model.sft', - DownloadModelStatus(DownloadStatusType.COMPLETED, 100, "Successfully downloaded model.sft", False) - ) - - # Verify file writing - mock_file.write.assert_any_call(b'a' * 500) - mock_file.write.assert_any_call(b'b' * 300) - mock_file.write.assert_any_call(b'c' * 200) - - # Verify request was made - mock_make_request.assert_called_once_with('http://example.com/model.sft') - -@pytest.mark.asyncio -async def test_download_model_url_request_failure(): - # Mock dependencies - mock_response = AsyncMock(spec=ClientResponse) - mock_response.status = 404 # Simulate a "Not Found" error - mock_get = AsyncMock(return_value=mock_response) - mock_progress_callback = AsyncMock() - - # Mock the create_model_path function - with patch('model_filemanager.create_model_path', return_value=('/mock/path/model.safetensors', 'mock/path/model.safetensors')): - # Mock the check_file_exists function to return None (file doesn't exist) - with patch('model_filemanager.check_file_exists', return_value=None): - # Call the function - result = await download_model( - mock_get, - 'model.safetensors', - 'http://example.com/model.safetensors', - 'mock_directory', - mock_progress_callback - ) - - # Assert the expected behavior - assert isinstance(result, DownloadModelStatus) - assert result.status == 'error' - assert result.message == 'Failed to download model.safetensors. Status code: 404' - assert result.already_existed is False - - # Check that progress_callback was called with the correct arguments - mock_progress_callback.assert_any_call( - 'mock_directory/model.safetensors', - DownloadModelStatus( - status=DownloadStatusType.PENDING, - progress_percentage=0, - message='Starting download of model.safetensors', - already_existed=False - ) - ) - mock_progress_callback.assert_called_with( - 'mock_directory/model.safetensors', - DownloadModelStatus( - status=DownloadStatusType.ERROR, - progress_percentage=0, - message='Failed to download model.safetensors. Status code: 404', - already_existed=False - ) - ) - - # Verify that the get method was called with the correct URL - mock_get.assert_called_once_with('http://example.com/model.safetensors') - -@pytest.mark.asyncio -async def test_download_model_invalid_model_subdirectory(): - - mock_make_request = AsyncMock() - mock_progress_callback = AsyncMock() - - - result = await download_model( - mock_make_request, - 'model.sft', - 'http://example.com/model.sft', - '../bad_path', - mock_progress_callback - ) - - # Assert the result - assert isinstance(result, DownloadModelStatus) - assert result.message == 'Invalid model subdirectory' - assert result.status == 'error' - assert result.already_existed is False - - -# For create_model_path function -def test_create_model_path(tmp_path, monkeypatch): - mock_models_dir = tmp_path / "models" - monkeypatch.setattr('folder_paths.models_dir', str(mock_models_dir)) - - model_name = "test_model.sft" - model_directory = "test_dir" - - file_path, relative_path = create_model_path(model_name, model_directory, mock_models_dir) - - assert file_path == str(mock_models_dir / model_directory / model_name) - assert relative_path == f"{model_directory}/{model_name}" - assert os.path.exists(os.path.dirname(file_path)) - - -@pytest.mark.asyncio -async def test_check_file_exists_when_file_exists(tmp_path): - file_path = tmp_path / "existing_model.sft" - file_path.touch() # Create an empty file - - mock_callback = AsyncMock() - - result = await check_file_exists(str(file_path), "existing_model.sft", mock_callback, "test/existing_model.sft") - - assert result is not None - assert result.status == "completed" - assert result.message == "existing_model.sft already exists" - assert result.already_existed is True - - mock_callback.assert_called_once_with( - "test/existing_model.sft", - DownloadModelStatus(DownloadStatusType.COMPLETED, 100, "existing_model.sft already exists", already_existed=True) - ) - -@pytest.mark.asyncio -async def test_check_file_exists_when_file_does_not_exist(tmp_path): - file_path = tmp_path / "non_existing_model.sft" - - mock_callback = AsyncMock() - - result = await check_file_exists(str(file_path), "non_existing_model.sft", mock_callback, "test/non_existing_model.sft") - - assert result is None - mock_callback.assert_not_called() - -@pytest.mark.asyncio -async def test_track_download_progress_no_content_length(): - mock_response = AsyncMock(spec=aiohttp.ClientResponse) - mock_response.headers = {} # No Content-Length header - mock_response.content.iter_chunked.return_value = AsyncIteratorMock([b'a' * 500, b'b' * 500]) - - mock_callback = AsyncMock() - mock_open = MagicMock(return_value=MagicMock()) - - with patch('builtins.open', mock_open): - result = await track_download_progress( - mock_response, '/mock/path/model.sft', 'model.sft', - mock_callback, 'models/model.sft', interval=0.1 - ) - - assert result.status == "completed" - # Check that progress was reported even without knowing the total size - mock_callback.assert_any_call( - 'models/model.sft', - DownloadModelStatus(DownloadStatusType.IN_PROGRESS, 0, "Downloading model.sft", already_existed=False) - ) - -@pytest.mark.asyncio -async def test_track_download_progress_interval(): - mock_response = AsyncMock(spec=aiohttp.ClientResponse) - mock_response.headers = {'Content-Length': '1000'} - mock_response.content.iter_chunked.return_value = AsyncIteratorMock([b'a' * 100] * 10) - - mock_callback = AsyncMock() - mock_open = MagicMock(return_value=MagicMock()) - - # Create a mock time function that returns incremental float values - mock_time = MagicMock() - mock_time.side_effect = [i * 0.5 for i in range(30)] # This should be enough for 10 chunks - - with patch('builtins.open', mock_open), \ - patch('time.time', mock_time): - await track_download_progress( - mock_response, '/mock/path/model.sft', 'model.sft', - mock_callback, 'models/model.sft', interval=1.0 - ) - - # Print out the actual call count and the arguments of each call for debugging - print(f"mock_callback was called {mock_callback.call_count} times") - for i, call in enumerate(mock_callback.call_args_list): - args, kwargs = call - print(f"Call {i + 1}: {args[1].status}, Progress: {args[1].progress_percentage:.2f}%") - - # Assert that progress was updated at least 3 times (start, at least one interval, and end) - assert mock_callback.call_count >= 3, f"Expected at least 3 calls, but got {mock_callback.call_count}" - - # Verify the first and last calls - first_call = mock_callback.call_args_list[0] - assert first_call[0][1].status == "in_progress" - # Allow for some initial progress, but it should be less than 50% - assert 0 <= first_call[0][1].progress_percentage < 50, f"First call progress was {first_call[0][1].progress_percentage}%" - - last_call = mock_callback.call_args_list[-1] - assert last_call[0][1].status == "completed" - assert last_call[0][1].progress_percentage == 100 - -def test_valid_subdirectory(): - assert validate_model_subdirectory("valid-model123") is True - -def test_subdirectory_too_long(): - assert validate_model_subdirectory("a" * 51) is False - -def test_subdirectory_with_double_dots(): - assert validate_model_subdirectory("model/../unsafe") is False - -def test_subdirectory_with_slash(): - assert validate_model_subdirectory("model/unsafe") is False - -def test_subdirectory_with_special_characters(): - assert validate_model_subdirectory("model@unsafe") is False - -def test_subdirectory_with_underscore_and_dash(): - assert validate_model_subdirectory("valid_model-name") is True - -def test_empty_subdirectory(): - assert validate_model_subdirectory("") is False - -@pytest.mark.parametrize("filename, expected", [ - ("valid_model.safetensors", True), - ("valid_model.sft", True), - ("valid model.safetensors", True), # Test with space - ("UPPERCASE_MODEL.SAFETENSORS", True), - ("model_with.multiple.dots.pt", False), - ("", False), # Empty string - ("../../../etc/passwd", False), # Path traversal attempt - ("/etc/passwd", False), # Absolute path - ("\\windows\\system32\\config\\sam", False), # Windows path - (".hidden_file.pt", False), # Hidden file - ("invalid.ckpt", False), # Invalid character - ("invalid?.ckpt", False), # Another invalid character - ("very" * 100 + ".safetensors", False), # Too long filename - ("\nmodel_with_newline.pt", False), # Newline character - ("model_with_emoji😊.pt", False), # Emoji in filename -]) -def test_validate_filename(filename, expected): - assert validate_filename(filename) == expected diff --git a/tests-unit/prompt_server_test/user_manager_test.py b/tests-unit/prompt_server_test/user_manager_test.py new file mode 100644 index 000000000..7e523cbf4 --- /dev/null +++ b/tests-unit/prompt_server_test/user_manager_test.py @@ -0,0 +1,231 @@ +import pytest +import os +from aiohttp import web +from app.user_manager import UserManager +from unittest.mock import patch + +pytestmark = ( + pytest.mark.asyncio +) # This applies the asyncio mark to all test functions in the module + + +@pytest.fixture +def user_manager(tmp_path): + um = UserManager() + um.get_request_user_filepath = lambda req, file, **kwargs: os.path.join( + tmp_path, file + ) if file else tmp_path + return um + + +@pytest.fixture +def app(user_manager): + app = web.Application() + routes = web.RouteTableDef() + user_manager.add_routes(routes) + app.add_routes(routes) + return app + + +async def test_listuserdata_empty_directory(aiohttp_client, app, tmp_path): + client = await aiohttp_client(app) + resp = await client.get("/userdata?dir=test_dir") + assert resp.status == 404 + + +async def test_listuserdata_with_files(aiohttp_client, app, tmp_path): + os.makedirs(tmp_path / "test_dir") + with open(tmp_path / "test_dir" / "file1.txt", "w") as f: + f.write("test content") + + client = await aiohttp_client(app) + resp = await client.get("/userdata?dir=test_dir") + assert resp.status == 200 + assert await resp.json() == ["file1.txt"] + + +async def test_listuserdata_recursive(aiohttp_client, app, tmp_path): + os.makedirs(tmp_path / "test_dir" / "subdir") + with open(tmp_path / "test_dir" / "file1.txt", "w") as f: + f.write("test content") + with open(tmp_path / "test_dir" / "subdir" / "file2.txt", "w") as f: + f.write("test content") + + client = await aiohttp_client(app) + resp = await client.get("/userdata?dir=test_dir&recurse=true") + assert resp.status == 200 + assert set(await resp.json()) == {"file1.txt", "subdir/file2.txt"} + + +async def test_listuserdata_full_info(aiohttp_client, app, tmp_path): + os.makedirs(tmp_path / "test_dir") + with open(tmp_path / "test_dir" / "file1.txt", "w") as f: + f.write("test content") + + client = await aiohttp_client(app) + resp = await client.get("/userdata?dir=test_dir&full_info=true") + assert resp.status == 200 + result = await resp.json() + assert len(result) == 1 + assert result[0]["path"] == "file1.txt" + assert "size" in result[0] + assert "modified" in result[0] + + +async def test_listuserdata_split_path(aiohttp_client, app, tmp_path): + os.makedirs(tmp_path / "test_dir" / "subdir") + with open(tmp_path / "test_dir" / "subdir" / "file1.txt", "w") as f: + f.write("test content") + + client = await aiohttp_client(app) + resp = await client.get("/userdata?dir=test_dir&recurse=true&split=true") + assert resp.status == 200 + assert await resp.json() == [["subdir/file1.txt", "subdir", "file1.txt"]] + + +async def test_listuserdata_invalid_directory(aiohttp_client, app): + client = await aiohttp_client(app) + resp = await client.get("/userdata?dir=") + assert resp.status == 400 + + +async def test_listuserdata_normalized_separator(aiohttp_client, app, tmp_path): + os_sep = "\\" + with patch("os.sep", os_sep): + with patch("os.path.sep", os_sep): + os.makedirs(tmp_path / "test_dir" / "subdir") + with open(tmp_path / "test_dir" / "subdir" / "file1.txt", "w") as f: + f.write("test content") + + client = await aiohttp_client(app) + resp = await client.get("/userdata?dir=test_dir&recurse=true") + assert resp.status == 200 + result = await resp.json() + assert len(result) == 1 + assert "/" in result[0] # Ensure forward slash is used + assert "\\" not in result[0] # Ensure backslash is not present + assert result[0] == "subdir/file1.txt" + + # Test with full_info + resp = await client.get( + "/userdata?dir=test_dir&recurse=true&full_info=true" + ) + assert resp.status == 200 + result = await resp.json() + assert len(result) == 1 + assert "/" in result[0]["path"] # Ensure forward slash is used + assert "\\" not in result[0]["path"] # Ensure backslash is not present + assert result[0]["path"] == "subdir/file1.txt" + + +async def test_post_userdata_new_file(aiohttp_client, app, tmp_path): + client = await aiohttp_client(app) + content = b"test content" + resp = await client.post("/userdata/test.txt", data=content) + + assert resp.status == 200 + assert await resp.text() == '"test.txt"' + + # Verify file was created with correct content + with open(tmp_path / "test.txt", "rb") as f: + assert f.read() == content + + +async def test_post_userdata_overwrite_existing(aiohttp_client, app, tmp_path): + # Create initial file + with open(tmp_path / "test.txt", "w") as f: + f.write("initial content") + + client = await aiohttp_client(app) + new_content = b"updated content" + resp = await client.post("/userdata/test.txt", data=new_content) + + assert resp.status == 200 + assert await resp.text() == '"test.txt"' + + # Verify file was overwritten + with open(tmp_path / "test.txt", "rb") as f: + assert f.read() == new_content + + +async def test_post_userdata_no_overwrite(aiohttp_client, app, tmp_path): + # Create initial file + with open(tmp_path / "test.txt", "w") as f: + f.write("initial content") + + client = await aiohttp_client(app) + resp = await client.post("/userdata/test.txt?overwrite=false", data=b"new content") + + assert resp.status == 409 + + # Verify original content unchanged + with open(tmp_path / "test.txt", "r") as f: + assert f.read() == "initial content" + + +async def test_post_userdata_full_info(aiohttp_client, app, tmp_path): + client = await aiohttp_client(app) + content = b"test content" + resp = await client.post("/userdata/test.txt?full_info=true", data=content) + + assert resp.status == 200 + result = await resp.json() + assert result["path"] == "test.txt" + assert result["size"] == len(content) + assert "modified" in result + + +async def test_move_userdata(aiohttp_client, app, tmp_path): + # Create initial file + with open(tmp_path / "source.txt", "w") as f: + f.write("test content") + + client = await aiohttp_client(app) + resp = await client.post("/userdata/source.txt/move/dest.txt") + + assert resp.status == 200 + assert await resp.text() == '"dest.txt"' + + # Verify file was moved + assert not os.path.exists(tmp_path / "source.txt") + with open(tmp_path / "dest.txt", "r") as f: + assert f.read() == "test content" + + +async def test_move_userdata_no_overwrite(aiohttp_client, app, tmp_path): + # Create source and destination files + with open(tmp_path / "source.txt", "w") as f: + f.write("source content") + with open(tmp_path / "dest.txt", "w") as f: + f.write("destination content") + + client = await aiohttp_client(app) + resp = await client.post("/userdata/source.txt/move/dest.txt?overwrite=false") + + assert resp.status == 409 + + # Verify files remain unchanged + with open(tmp_path / "source.txt", "r") as f: + assert f.read() == "source content" + with open(tmp_path / "dest.txt", "r") as f: + assert f.read() == "destination content" + + +async def test_move_userdata_full_info(aiohttp_client, app, tmp_path): + # Create initial file + with open(tmp_path / "source.txt", "w") as f: + f.write("test content") + + client = await aiohttp_client(app) + resp = await client.post("/userdata/source.txt/move/dest.txt?full_info=true") + + assert resp.status == 200 + result = await resp.json() + assert result["path"] == "dest.txt" + assert result["size"] == len("test content") + assert "modified" in result + + # Verify file was moved + assert not os.path.exists(tmp_path / "source.txt") + with open(tmp_path / "dest.txt", "r") as f: + assert f.read() == "test content" diff --git a/tests-unit/server/routes/internal_routes_test.py b/tests-unit/server/routes/internal_routes_test.py index 2d2b43bd6..68c846652 100644 --- a/tests-unit/server/routes/internal_routes_test.py +++ b/tests-unit/server/routes/internal_routes_test.py @@ -8,7 +8,7 @@ from folder_paths import models_dir, user_directory, output_directory @pytest.fixture def internal_routes(): - return InternalRoutes() + return InternalRoutes(None) @pytest.fixture def aiohttp_client_factory(aiohttp_client, internal_routes): @@ -89,9 +89,9 @@ async def test_routes_added_to_app(aiohttp_client_factory, internal_routes): client = await aiohttp_client_factory() try: resp = await client.get('/files') - print(f"Response received: status {resp.status}") + print(f"Response received: status {resp.status}") # noqa: T201 except Exception as e: - print(f"Exception occurred during GET request: {e}") + print(f"Exception occurred during GET request: {e}") # noqa: T201 raise assert resp.status != 404, "Route /files does not exist" @@ -102,7 +102,7 @@ async def test_file_service_initialization(): # Create a mock instance mock_file_service_instance = MagicMock(spec=FileService) MockFileService.return_value = mock_file_service_instance - internal_routes = InternalRoutes() + internal_routes = InternalRoutes(None) # Check if FileService was initialized with the correct parameters MockFileService.assert_called_once_with({ @@ -112,4 +112,4 @@ async def test_file_service_initialization(): }) # Verify that the file_service attribute of InternalRoutes is set - assert internal_routes.file_service == mock_file_service_instance \ No newline at end of file + assert internal_routes.file_service == mock_file_service_instance diff --git a/tests-unit/server/services/file_service_test.py b/tests-unit/server/services/file_service_test.py index 5650452a3..09c3efc9f 100644 --- a/tests-unit/server/services/file_service_test.py +++ b/tests-unit/server/services/file_service_test.py @@ -20,9 +20,9 @@ def test_list_files_valid_directory(file_service, mock_file_system_ops): {"name": "file1.txt", "path": "file1.txt", "type": "file", "size": 100}, {"name": "dir1", "path": "dir1", "type": "directory"} ] - + result = file_service.list_files("models") - + assert len(result) == 2 assert result[0]["name"] == "file1.txt" assert result[1]["name"] == "dir1" @@ -35,9 +35,9 @@ def test_list_files_invalid_directory(file_service): def test_list_files_empty_directory(file_service, mock_file_system_ops): mock_file_system_ops.walk_directory.return_value = [] - + result = file_service.list_files("models") - + assert len(result) == 0 mock_file_system_ops.walk_directory.assert_called_once_with("/path/to/models") @@ -46,9 +46,9 @@ def test_list_files_all_allowed_directories(file_service, mock_file_system_ops, mock_file_system_ops.walk_directory.return_value = [ {"name": f"file_{directory_key}.txt", "path": f"file_{directory_key}.txt", "type": "file", "size": 100} ] - + result = file_service.list_files(directory_key) - + assert len(result) == 1 assert result[0]["name"] == f"file_{directory_key}.txt" - mock_file_system_ops.walk_directory.assert_called_once_with(f"/path/to/{directory_key}") \ No newline at end of file + mock_file_system_ops.walk_directory.assert_called_once_with(f"/path/to/{directory_key}") diff --git a/tests-unit/server/utils/file_operations_test.py b/tests-unit/server/utils/file_operations_test.py index 5a2a83713..2a45cc47a 100644 --- a/tests-unit/server/utils/file_operations_test.py +++ b/tests-unit/server/utils/file_operations_test.py @@ -16,18 +16,18 @@ def temp_directory(tmp_path): def test_walk_directory(temp_directory): result: List[FileSystemItem] = FileSystemOperations.walk_directory(str(temp_directory)) - + assert len(result) == 5 # 2 directories and 3 files - + files = [item for item in result if item['type'] == 'file'] dirs = [item for item in result if item['type'] == 'directory'] - + assert len(files) == 3 assert len(dirs) == 2 - + file_names = {file['name'] for file in files} assert file_names == {'file1.txt', 'file2.txt', 'file3.txt'} - + dir_names = {dir['name'] for dir in dirs} assert dir_names == {'dir1', 'dir2'} diff --git a/tests-unit/utils/extra_config_test.py b/tests-unit/utils/extra_config_test.py new file mode 100644 index 000000000..b23f5bd08 --- /dev/null +++ b/tests-unit/utils/extra_config_test.py @@ -0,0 +1,303 @@ +import pytest +import yaml +import os +import sys +from unittest.mock import Mock, patch, mock_open + +from utils.extra_config import load_extra_path_config +import folder_paths + + +@pytest.fixture() +def clear_folder_paths(): + # Clear the global dictionary before each test to ensure isolation + original = folder_paths.folder_names_and_paths.copy() + folder_paths.folder_names_and_paths.clear() + yield + folder_paths.folder_names_and_paths = original + + +@pytest.fixture +def mock_yaml_content(): + return { + 'test_config': { + 'base_path': '~/App/', + 'checkpoints': 'subfolder1', + } + } + + +@pytest.fixture +def mock_expanded_home(): + return '/home/user' + + +@pytest.fixture +def yaml_config_with_appdata(): + return """ + test_config: + base_path: '%APPDATA%/ComfyUI' + checkpoints: 'models/checkpoints' + """ + + +@pytest.fixture +def mock_yaml_content_appdata(yaml_config_with_appdata): + return yaml.safe_load(yaml_config_with_appdata) + + +@pytest.fixture +def mock_expandvars_appdata(): + mock = Mock() + + def expandvars(path): + if '%APPDATA%' in path: + if sys.platform == 'win32': + return path.replace('%APPDATA%', 'C:/Users/TestUser/AppData/Roaming') + else: + return path.replace('%APPDATA%', '/Users/TestUser/AppData/Roaming') + return path + + mock.side_effect = expandvars + return mock + + +@pytest.fixture +def mock_add_model_folder_path(): + return Mock() + + +@pytest.fixture +def mock_expanduser(mock_expanded_home): + def _expanduser(path): + if path.startswith('~/'): + return os.path.join(mock_expanded_home, path[2:]) + return path + return _expanduser + + +@pytest.fixture +def mock_yaml_safe_load(mock_yaml_content): + return Mock(return_value=mock_yaml_content) + + +@patch('builtins.open', new_callable=mock_open, read_data="dummy file content") +def test_load_extra_model_paths_expands_userpath( + mock_file, + monkeypatch, + mock_add_model_folder_path, + mock_expanduser, + mock_yaml_safe_load, + mock_expanded_home +): + # Attach mocks used by load_extra_path_config + monkeypatch.setattr(folder_paths, 'add_model_folder_path', mock_add_model_folder_path) + monkeypatch.setattr(os.path, 'expanduser', mock_expanduser) + monkeypatch.setattr(yaml, 'safe_load', mock_yaml_safe_load) + + dummy_yaml_file_name = 'dummy_path.yaml' + load_extra_path_config(dummy_yaml_file_name) + + expected_calls = [ + ('checkpoints', os.path.join(mock_expanded_home, 'App', 'subfolder1'), False), + ] + + assert mock_add_model_folder_path.call_count == len(expected_calls) + + # Check if add_model_folder_path was called with the correct arguments + for actual_call, expected_call in zip(mock_add_model_folder_path.call_args_list, expected_calls): + assert actual_call.args[0] == expected_call[0] + assert os.path.normpath(actual_call.args[1]) == os.path.normpath(expected_call[1]) # Normalize and check the path to check on multiple OS. + assert actual_call.args[2] == expected_call[2] + + # Check if yaml.safe_load was called + mock_yaml_safe_load.assert_called_once() + + # Check if open was called with the correct file path + mock_file.assert_called_once_with(dummy_yaml_file_name, 'r') + + +@patch('builtins.open', new_callable=mock_open) +def test_load_extra_model_paths_expands_appdata( + mock_file, + monkeypatch, + mock_add_model_folder_path, + mock_expandvars_appdata, + yaml_config_with_appdata, + mock_yaml_content_appdata +): + # Set the mock_file to return yaml with appdata as a variable + mock_file.return_value.read.return_value = yaml_config_with_appdata + + # Attach mocks + monkeypatch.setattr(folder_paths, 'add_model_folder_path', mock_add_model_folder_path) + monkeypatch.setattr(os.path, 'expandvars', mock_expandvars_appdata) + monkeypatch.setattr(yaml, 'safe_load', Mock(return_value=mock_yaml_content_appdata)) + + # Mock expanduser to do nothing (since we're not testing it here) + monkeypatch.setattr(os.path, 'expanduser', lambda x: x) + + dummy_yaml_file_name = 'dummy_path.yaml' + load_extra_path_config(dummy_yaml_file_name) + + if sys.platform == "win32": + expected_base_path = 'C:/Users/TestUser/AppData/Roaming/ComfyUI' + else: + expected_base_path = '/Users/TestUser/AppData/Roaming/ComfyUI' + expected_calls = [ + ('checkpoints', os.path.join(expected_base_path, 'models/checkpoints'), False), + ] + + assert mock_add_model_folder_path.call_count == len(expected_calls) + + # Check the base path variable was expanded + for actual_call, expected_call in zip(mock_add_model_folder_path.call_args_list, expected_calls): + assert actual_call.args == expected_call + + # Verify that expandvars was called + assert mock_expandvars_appdata.called + + +@patch("builtins.open", new_callable=mock_open, read_data="dummy yaml content") +@patch("yaml.safe_load") +def test_load_extra_path_config_relative_base_path( + mock_yaml_load, _mock_file, clear_folder_paths, monkeypatch, tmp_path +): + """ + Test that when 'base_path' is a relative path in the YAML, it is joined to the YAML file directory, and then + the items in the config are correctly converted to absolute paths. + """ + sub_folder = "./my_rel_base" + config_data = { + "some_model_folder": { + "base_path": sub_folder, + "is_default": True, + "checkpoints": "checkpoints", + "some_key": "some_value" + } + } + mock_yaml_load.return_value = config_data + + dummy_yaml_name = "dummy_file.yaml" + + def fake_abspath(path): + if path == dummy_yaml_name: + # If it's the YAML path, treat it like it lives in tmp_path + return os.path.join(str(tmp_path), dummy_yaml_name) + return os.path.join(str(tmp_path), path) # Otherwise, do a normal join relative to tmp_path + + def fake_dirname(path): + # We expect path to be the result of fake_abspath(dummy_yaml_name) + if path.endswith(dummy_yaml_name): + return str(tmp_path) + return os.path.dirname(path) + + monkeypatch.setattr(os.path, "abspath", fake_abspath) + monkeypatch.setattr(os.path, "dirname", fake_dirname) + + load_extra_path_config(dummy_yaml_name) + + expected_checkpoints = os.path.abspath(os.path.join(str(tmp_path), sub_folder, "checkpoints")) + expected_some_value = os.path.abspath(os.path.join(str(tmp_path), sub_folder, "some_value")) + + actual_paths = folder_paths.folder_names_and_paths["checkpoints"][0] + assert len(actual_paths) == 1, "Should have one path added for 'checkpoints'." + assert actual_paths[0] == expected_checkpoints + + actual_paths = folder_paths.folder_names_and_paths["some_key"][0] + assert len(actual_paths) == 1, "Should have one path added for 'some_key'." + assert actual_paths[0] == expected_some_value + + +@patch("builtins.open", new_callable=mock_open, read_data="dummy yaml content") +@patch("yaml.safe_load") +def test_load_extra_path_config_absolute_base_path( + mock_yaml_load, _mock_file, clear_folder_paths, monkeypatch, tmp_path +): + """ + Test that when 'base_path' is an absolute path, each subdirectory is joined with that absolute path, + rather than being relative to the YAML's directory. + """ + abs_base = os.path.join(str(tmp_path), "abs_base") + config_data = { + "some_absolute_folder": { + "base_path": abs_base, # <-- absolute + "is_default": True, + "loras": "loras_folder", + "embeddings": "embeddings_folder" + } + } + mock_yaml_load.return_value = config_data + + dummy_yaml_name = "dummy_abs.yaml" + + def fake_abspath(path): + if path == dummy_yaml_name: + # If it's the YAML path, treat it like it is in tmp_path + return os.path.join(str(tmp_path), dummy_yaml_name) + return path # For absolute base, we just return path directly + + def fake_dirname(path): + return str(tmp_path) if path.endswith(dummy_yaml_name) else os.path.dirname(path) + + monkeypatch.setattr(os.path, "abspath", fake_abspath) + monkeypatch.setattr(os.path, "dirname", fake_dirname) + + load_extra_path_config(dummy_yaml_name) + + # Expect the final paths to be /loras_folder and /embeddings_folder + expected_loras = os.path.join(abs_base, "loras_folder") + expected_embeddings = os.path.join(abs_base, "embeddings_folder") + + actual_loras = folder_paths.folder_names_and_paths["loras"][0] + assert len(actual_loras) == 1, "Should have one path for 'loras'." + assert actual_loras[0] == os.path.abspath(expected_loras) + + actual_embeddings = folder_paths.folder_names_and_paths["embeddings"][0] + assert len(actual_embeddings) == 1, "Should have one path for 'embeddings'." + assert actual_embeddings[0] == os.path.abspath(expected_embeddings) + + +@patch("builtins.open", new_callable=mock_open, read_data="dummy yaml content") +@patch("yaml.safe_load") +def test_load_extra_path_config_no_base_path( + mock_yaml_load, _mock_file, clear_folder_paths, monkeypatch, tmp_path +): + """ + Test that if 'base_path' is not present, each path is joined + with the directory of the YAML file (unless it's already absolute). + """ + config_data = { + "some_folder_without_base": { + "is_default": True, + "text_encoders": "clip", + "diffusion_models": "unet" + } + } + mock_yaml_load.return_value = config_data + + dummy_yaml_name = "dummy_no_base.yaml" + + def fake_abspath(path): + if path == dummy_yaml_name: + return os.path.join(str(tmp_path), dummy_yaml_name) + return os.path.join(str(tmp_path), path) + + def fake_dirname(path): + return str(tmp_path) if path.endswith(dummy_yaml_name) else os.path.dirname(path) + + monkeypatch.setattr(os.path, "abspath", fake_abspath) + monkeypatch.setattr(os.path, "dirname", fake_dirname) + + load_extra_path_config(dummy_yaml_name) + + expected_clip = os.path.join(str(tmp_path), "clip") + expected_unet = os.path.join(str(tmp_path), "unet") + + actual_text_encoders = folder_paths.folder_names_and_paths["text_encoders"][0] + assert len(actual_text_encoders) == 1, "Should have one path for 'text_encoders'." + assert actual_text_encoders[0] == os.path.abspath(expected_clip) + + actual_diffusion = folder_paths.folder_names_and_paths["diffusion_models"][0] + assert len(actual_diffusion) == 1, "Should have one path for 'diffusion_models'." + assert actual_diffusion[0] == os.path.abspath(expected_unet) diff --git a/tests-unit/utils/json_util_test.py b/tests-unit/utils/json_util_test.py new file mode 100644 index 000000000..d3089d8d1 --- /dev/null +++ b/tests-unit/utils/json_util_test.py @@ -0,0 +1,71 @@ +from utils.json_util import merge_json_recursive + + +def test_merge_simple_dicts(): + base = {"a": 1, "b": 2} + update = {"b": 3, "c": 4} + expected = {"a": 1, "b": 3, "c": 4} + assert merge_json_recursive(base, update) == expected + + +def test_merge_nested_dicts(): + base = {"a": {"x": 1, "y": 2}, "b": 3} + update = {"a": {"y": 4, "z": 5}} + expected = {"a": {"x": 1, "y": 4, "z": 5}, "b": 3} + assert merge_json_recursive(base, update) == expected + + +def test_merge_lists(): + base = {"a": [1, 2], "b": 3} + update = {"a": [3, 4]} + expected = {"a": [1, 2, 3, 4], "b": 3} + assert merge_json_recursive(base, update) == expected + + +def test_merge_nested_lists(): + base = {"a": {"x": [1, 2]}} + update = {"a": {"x": [3, 4]}} + expected = {"a": {"x": [1, 2, 3, 4]}} + assert merge_json_recursive(base, update) == expected + + +def test_merge_mixed_types(): + base = {"a": [1, 2], "b": {"x": 1}} + update = {"a": [3], "b": {"y": 2}} + expected = {"a": [1, 2, 3], "b": {"x": 1, "y": 2}} + assert merge_json_recursive(base, update) == expected + + +def test_merge_overwrite_non_dict(): + base = {"a": 1} + update = {"a": {"x": 2}} + expected = {"a": {"x": 2}} + assert merge_json_recursive(base, update) == expected + + +def test_merge_empty_dicts(): + base = {} + update = {"a": 1} + expected = {"a": 1} + assert merge_json_recursive(base, update) == expected + + +def test_merge_none_values(): + base = {"a": None} + update = {"a": {"x": 1}} + expected = {"a": {"x": 1}} + assert merge_json_recursive(base, update) == expected + + +def test_merge_different_types(): + base = {"a": [1, 2]} + update = {"a": "string"} + expected = {"a": "string"} + assert merge_json_recursive(base, update) == expected + + +def test_merge_complex_nested(): + base = {"a": [1, 2], "b": {"x": [3, 4], "y": {"p": 1}}} + update = {"a": [5], "b": {"x": [6], "y": {"q": 2}}} + expected = {"a": [1, 2, 5], "b": {"x": [3, 4, 6], "y": {"p": 1, "q": 2}}} + assert merge_json_recursive(base, update) == expected diff --git a/tests/compare/test_quality.py b/tests/compare/test_quality.py index 92a2d5a8b..01c190549 100644 --- a/tests/compare/test_quality.py +++ b/tests/compare/test_quality.py @@ -22,7 +22,7 @@ def ssim_score(img0: np.ndarray, img1: np.ndarray) -> Tuple[float, np.ndarray]: # rescale the difference image to 0-255 range diff = (diff * 255).astype("uint8") return score, diff - + # Metrics must return a tuple of (score, diff_image) METRICS = {"ssim": ssim_score} METRICS_PASS_THRESHOLD = {"ssim": 0.95} @@ -32,7 +32,7 @@ class TestCompareImageMetrics: @fixture(scope="class") def test_file_names(self, args_pytest): test_dir = args_pytest['test_dir'] - fnames = self.gather_file_basenames(test_dir) + fnames = self.gather_file_basenames(test_dir) yield fnames del fnames @@ -64,13 +64,13 @@ class TestCompareImageMetrics: image_list = [[Image.open(file) for file in files] for files in image_file_list] grid = self.image_grid(image_list) grid.save(os.path.join(grid_dir, f"{metric_dir}_{score:.3f}_{file}")) - + # Tests run for each baseline file name @fixture() def fname(self, baseline_fname): yield baseline_fname del baseline_fname - + def test_directories_not_empty(self, args_pytest): baseline_dir = args_pytest['baseline_dir'] test_dir = args_pytest['test_dir'] @@ -84,7 +84,7 @@ class TestCompareImageMetrics: file_match = self.find_file_match(baseline_file_path, file_paths) assert file_match is not None, f"Could not find a file in {args_pytest['test_dir']} with matching metadata to {baseline_file_path}" - # For a baseline image file, finds the corresponding file name in test_dir and + # For a baseline image file, finds the corresponding file name in test_dir and # compares the images using the metrics in METRICS @pytest.mark.parametrize("metric", METRICS.keys()) def test_pipeline_compare( @@ -98,7 +98,7 @@ class TestCompareImageMetrics: test_dir = args_pytest['test_dir'] metrics_output_file = args_pytest['metrics_file'] img_output_dir = args_pytest['img_output_dir'] - + baseline_file_path = os.path.join(baseline_dir, fname) # Find file match @@ -108,7 +108,7 @@ class TestCompareImageMetrics: # Run metrics sample_baseline = self.read_img(baseline_file_path) sample_secondary = self.read_img(test_file) - + score, metric_img = METRICS[metric](sample_baseline, sample_secondary) metric_status = score > METRICS_PASS_THRESHOLD[metric] @@ -140,7 +140,7 @@ class TestCompareImageMetrics: w, h = img_list[0][0].size grid = Image.new('RGB', size=(cols*w, rows*h)) - + for i, row in enumerate(img_list): for j, img in enumerate(row): grid.paste(img, box=(j*w, i*h)) @@ -170,7 +170,7 @@ class TestCompareImageMetrics: img = Image.open(fname) img.load() return img.info['prompt'] - + def find_file_match(self, baseline_file: str, file_paths: List[str]): # Find a file in file_paths with matching metadata to baseline_file baseline_prompt = self.read_file_prompt(baseline_file) @@ -181,7 +181,7 @@ class TestCompareImageMetrics: # Find file match # Reorder test_file_names so that the file with matching name is first - # This is an optimization because matching file names are more likely + # This is an optimization because matching file names are more likely # to have matching metadata if they were generated with the same script basename = os.path.basename(baseline_file) file_path_basenames = [os.path.basename(f) for f in file_paths] @@ -192,4 +192,4 @@ class TestCompareImageMetrics: for f in file_paths: test_file_prompt = self.read_file_prompt(f) if baseline_prompt == test_file_prompt: - return f \ No newline at end of file + return f diff --git a/tests/conftest.py b/tests/conftest.py index 1a35880af..4e30eb581 100644 --- a/tests/conftest.py +++ b/tests/conftest.py @@ -21,14 +21,14 @@ def args_pytest(pytestconfig): def pytest_collection_modifyitems(items): # Modifies items so tests run in the correct order - + LAST_TESTS = ['test_quality'] # Move the last items to the end last_items = [] for test_name in LAST_TESTS: for item in items.copy(): - print(item.module.__name__, item) + print(item.module.__name__, item) # noqa: T201 if item.module.__name__ == test_name: last_items.append(item) items.remove(item) diff --git a/tests/inference/test_execution.py b/tests/inference/test_execution.py index c7daddeb6..5cda5c1ae 100644 --- a/tests/inference/test_execution.py +++ b/tests/inference/test_execution.py @@ -40,8 +40,8 @@ class ComfyClient: def __init__(self): self.test_name = "" - def connect(self, - listen:str = '127.0.0.1', + def connect(self, + listen:str = '127.0.0.1', port:Union[str,int] = 8188, client_id: str = str(uuid.uuid4()) ): @@ -125,7 +125,7 @@ class TestExecution: def _server(self, args_pytest, request): # Start server pargs = [ - 'python','main.py', + 'python','main.py', '--output-directory', args_pytest["output_dir"], '--listen', args_pytest["listen"], '--port', str(args_pytest["port"]), @@ -134,7 +134,7 @@ class TestExecution: use_lru, lru_size = request.param if use_lru: pargs += ['--cache-lru', str(lru_size)] - print("Running server with args:", pargs) + print("Running server with args:", pargs) # noqa: T201 p = subprocess.Popen(pargs) yield p.kill() @@ -150,8 +150,8 @@ class TestExecution: try: comfy_client.connect(listen=listen, port=port) except ConnectionRefusedError as e: - print(e) - print(f"({i+1}/{n_tries}) Retrying...") + print(e) # noqa: T201 + print(f"({i+1}/{n_tries}) Retrying...") # noqa: T201 else: break return comfy_client @@ -368,7 +368,7 @@ class TestExecution: g.node("SaveImage", images=mix1.out(0)) g.node("SaveImage", images=mix2.out(0)) g.remove_node("removeme") - + client.run(g) # Add back in the missing node to make sure the error doesn't break the server @@ -496,3 +496,29 @@ class TestExecution: assert len(images) == 1, "Should have 1 image" assert numpy.array(images[0]).min() == 63 and numpy.array(images[0]).max() == 63, "Image should have value 0.25" assert not result.did_run(test_node), "The execution should have been cached" + + # This tests that nodes with OUTPUT_IS_LIST function correctly when they receive an ExecutionBlocker + # as input. We also test that when that list (containing an ExecutionBlocker) is passed to a node, + # only that one entry in the list is blocked. + def test_execution_block_list_output(self, client: ComfyClient, builder: GraphBuilder): + g = builder + image1 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + image2 = g.node("StubImage", content="WHITE", height=512, width=512, batch_size=1) + image3 = g.node("StubImage", content="BLACK", height=512, width=512, batch_size=1) + image_list = g.node("TestMakeListNode", value1=image1.out(0), value2=image2.out(0), value3=image3.out(0)) + int1 = g.node("StubInt", value=1) + int2 = g.node("StubInt", value=2) + int3 = g.node("StubInt", value=3) + int_list = g.node("TestMakeListNode", value1=int1.out(0), value2=int2.out(0), value3=int3.out(0)) + compare = g.node("TestIntConditions", a=int_list.out(0), b=2, operation="==") + blocker = g.node("TestExecutionBlocker", input=image_list.out(0), block=compare.out(0), verbose=False) + + list_output = g.node("TestMakeListNode", value1=blocker.out(0)) + output = g.node("PreviewImage", images=list_output.out(0)) + + result = client.run(g) + assert result.did_run(output), "The execution should have run" + images = result.get_images(output) + assert len(images) == 2, "Should have 2 images" + assert numpy.array(images[0]).min() == 0 and numpy.array(images[0]).max() == 0, "First image should be black" + assert numpy.array(images[1]).min() == 0 and numpy.array(images[1]).max() == 0, "Second image should also be black" diff --git a/tests/inference/test_inference.py b/tests/inference/test_inference.py index 2e11778f2..7e4a206c4 100644 --- a/tests/inference/test_inference.py +++ b/tests/inference/test_inference.py @@ -1,6 +1,5 @@ from copy import deepcopy from io import BytesIO -from urllib import request import numpy import os from PIL import Image @@ -24,7 +23,7 @@ These tests generate and save images through a range of parameters """ class ComfyGraph: - def __init__(self, + def __init__(self, graph: dict, sampler_nodes: list[str], ): @@ -44,12 +43,12 @@ class ComfyGraph: # sets the sampler name for the sampler nodes (eg. base and refiner) for node in self.sampler_nodes: self.graph[node]['inputs']['sampler_name'] = sampler_name - + def set_scheduler(self, scheduler:str): # sets the sampler name for the sampler nodes (eg. base and refiner) for node in self.sampler_nodes: self.graph[node]['inputs']['scheduler'] = scheduler - + def set_filename_prefix(self, prefix:str): # sets the filename prefix for the save nodes for node in self.graph: @@ -60,8 +59,8 @@ class ComfyGraph: class ComfyClient: # From examples/websockets_api_example.py - def connect(self, - listen:str = '127.0.0.1', + def connect(self, + listen:str = '127.0.0.1', port:Union[str,int] = 8188, client_id: str = str(uuid.uuid4()) ): @@ -153,7 +152,7 @@ class TestInference: def _server(self, args_pytest): # Start server p = subprocess.Popen([ - 'python','main.py', + 'python','main.py', '--output-directory', args_pytest["output_dir"], '--listen', args_pytest["listen"], '--port', str(args_pytest["port"]), @@ -172,8 +171,8 @@ class TestInference: try: comfy_client.connect(listen=listen, port=port) except ConnectionRefusedError as e: - print(e) - print(f"({i+1}/{n_tries}) Retrying...") + print(e) # noqa: T201 + print(f"({i+1}/{n_tries}) Retrying...") # noqa: T201 else: break return comfy_client @@ -186,7 +185,7 @@ class TestInference: @fixture(scope="class", params=comfy_graph_list, ids=comfy_graph_ids, autouse=True) def _client_graph(self, request, args_pytest, _server) -> (ComfyClient, ComfyGraph): comfy_graph = request.param - + # Start client comfy_client = self.start_client(args_pytest["listen"], args_pytest["port"]) @@ -202,7 +201,7 @@ class TestInference: def client(self, _client_graph): client = _client_graph[0] yield client - + @fixture def comfy_graph(self, _client_graph): # avoid mutating the graph diff --git a/tests/inference/testing_nodes/testing-pack/specific_tests.py b/tests/inference/testing_nodes/testing-pack/specific_tests.py index dd8100237..9d05ab14f 100644 --- a/tests/inference/testing_nodes/testing-pack/specific_tests.py +++ b/tests/inference/testing_nodes/testing-pack/specific_tests.py @@ -87,7 +87,7 @@ class TestCustomIsChanged: def custom_is_changed(self, image, should_change=False): return (image,) - + @classmethod def IS_CHANGED(cls, should_change=False, *args, **kwargs): if should_change: @@ -112,7 +112,7 @@ class TestIsChangedWithConstants: def custom_is_changed(self, image, value): return (image * value,) - + @classmethod def IS_CHANGED(cls, image, value): if image is None: diff --git a/tests/inference/testing_nodes/testing-pack/util.py b/tests/inference/testing_nodes/testing-pack/util.py index ca116c16e..17741c5f1 100644 --- a/tests/inference/testing_nodes/testing-pack/util.py +++ b/tests/inference/testing_nodes/testing-pack/util.py @@ -145,7 +145,7 @@ class TestAccumulationGetLengthNode: def accumlength(self, accumulation): return (len(accumulation['accum']),) - + @VariantSupport() class TestAccumulationGetItemNode: def __init__(self): @@ -168,7 +168,7 @@ class TestAccumulationGetItemNode: def get_item(self, accumulation, index): return (accumulation['accum'][index],) - + @VariantSupport() class TestAccumulationSetItemNode: def __init__(self): @@ -259,7 +259,7 @@ class TestForLoopOpen: graph = GraphBuilder() if "initial_value0" in kwargs: remaining = kwargs["initial_value0"] - while_open = graph.node("TestWhileLoopOpen", condition=remaining, initial_value0=remaining, **{(f"initial_value{i}"): kwargs.get(f"initial_value{i}", None) for i in range(1, NUM_FLOW_SOCKETS)}) + graph.node("TestWhileLoopOpen", condition=remaining, initial_value0=remaining, **{(f"initial_value{i}"): kwargs.get(f"initial_value{i}", None) for i in range(1, NUM_FLOW_SOCKETS)}) outputs = [kwargs.get(f"initial_value{i}", None) for i in range(1, NUM_FLOW_SOCKETS)] return { "result": tuple(["stub", remaining] + outputs), diff --git a/utils/__init__.py b/utils/__init__.py new file mode 100644 index 000000000..e69de29bb diff --git a/utils/extra_config.py b/utils/extra_config.py new file mode 100644 index 000000000..d7b592855 --- /dev/null +++ b/utils/extra_config.py @@ -0,0 +1,33 @@ +import os +import yaml +import folder_paths +import logging + +def load_extra_path_config(yaml_path): + with open(yaml_path, 'r') as stream: + config = yaml.safe_load(stream) + yaml_dir = os.path.dirname(os.path.abspath(yaml_path)) + for c in config: + conf = config[c] + if conf is None: + continue + base_path = None + if "base_path" in conf: + base_path = conf.pop("base_path") + base_path = os.path.expandvars(os.path.expanduser(base_path)) + if not os.path.isabs(base_path): + base_path = os.path.abspath(os.path.join(yaml_dir, base_path)) + is_default = False + if "is_default" in conf: + is_default = conf.pop("is_default") + for x in conf: + for y in conf[x].split("\n"): + if len(y) == 0: + continue + full_path = y + if base_path: + full_path = os.path.join(base_path, full_path) + elif not os.path.isabs(full_path): + full_path = os.path.abspath(os.path.join(yaml_dir, y)) + logging.info("Adding extra search path {} {}".format(x, full_path)) + folder_paths.add_model_folder_path(x, full_path, is_default) diff --git a/utils/json_util.py b/utils/json_util.py new file mode 100644 index 000000000..da45af4f7 --- /dev/null +++ b/utils/json_util.py @@ -0,0 +1,26 @@ +def merge_json_recursive(base, update): + """Recursively merge two JSON-like objects. + - Dictionaries are merged recursively + - Lists are concatenated + - Other types are overwritten by the update value + + Args: + base: Base JSON-like object + update: Update JSON-like object to merge into base + + Returns: + Merged JSON-like object + """ + if not isinstance(base, dict) or not isinstance(update, dict): + if isinstance(base, list) and isinstance(update, list): + return base + update + return update + + merged = base.copy() + for key, value in update.items(): + if key in merged: + merged[key] = merge_json_recursive(merged[key], value) + else: + merged[key] = value + + return merged diff --git a/web/assets/BaseViewTemplate-BhQMaVFP.js b/web/assets/BaseViewTemplate-BhQMaVFP.js new file mode 100644 index 000000000..af2f3028c --- /dev/null +++ b/web/assets/BaseViewTemplate-BhQMaVFP.js @@ -0,0 +1,54 @@ +import { d as defineComponent, ad as ref, t as onMounted, bT as isElectron, bV as electronAPI, af as nextTick, o as openBlock, f as createElementBlock, i as withDirectives, v as vShow, m as createBaseVNode, M as renderSlot, V as normalizeClass } from "./index-QvfM__ze.js"; +const _hoisted_1 = { class: "flex-grow w-full flex items-center justify-center overflow-auto" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "BaseViewTemplate", + props: { + dark: { type: Boolean, default: false } + }, + setup(__props) { + const props = __props; + const darkTheme = { + color: "rgba(0, 0, 0, 0)", + symbolColor: "#d4d4d4" + }; + const lightTheme = { + color: "rgba(0, 0, 0, 0)", + symbolColor: "#171717" + }; + const topMenuRef = ref(null); + const isNativeWindow = ref(false); + onMounted(async () => { + if (isElectron()) { + const windowStyle = await electronAPI().Config.getWindowStyle(); + isNativeWindow.value = windowStyle === "custom"; + await nextTick(); + electronAPI().changeTheme({ + ...props.dark ? darkTheme : lightTheme, + height: topMenuRef.value.getBoundingClientRect().height + }); + } + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", { + class: normalizeClass(["font-sans w-screen h-screen flex flex-col pointer-events-auto", [ + props.dark ? "text-neutral-300 bg-neutral-900 dark-theme" : "text-neutral-900 bg-neutral-300" + ]]) + }, [ + withDirectives(createBaseVNode("div", { + ref_key: "topMenuRef", + ref: topMenuRef, + class: "app-drag w-full h-[var(--comfy-topbar-height)]" + }, null, 512), [ + [vShow, isNativeWindow.value] + ]), + createBaseVNode("div", _hoisted_1, [ + renderSlot(_ctx.$slots, "default") + ]) + ], 2); + }; + } +}); +export { + _sfc_main as _ +}; +//# sourceMappingURL=BaseViewTemplate-BhQMaVFP.js.map diff --git a/web/assets/CREDIT.txt b/web/assets/CREDIT.txt new file mode 100644 index 000000000..b3a9bc906 --- /dev/null +++ b/web/assets/CREDIT.txt @@ -0,0 +1 @@ +Thanks to OpenArt (https://openart.ai) for providing the sorted-custom-node-map data, captured in September 2024. \ No newline at end of file diff --git a/web/assets/DesktopStartView-le6AjGZr.js b/web/assets/DesktopStartView-le6AjGZr.js new file mode 100644 index 000000000..41a212f3a --- /dev/null +++ b/web/assets/DesktopStartView-le6AjGZr.js @@ -0,0 +1,22 @@ +import { d as defineComponent, o as openBlock, J as createBlock, P as withCtx, m as createBaseVNode, k as createVNode, j as unref, ch as script } from "./index-QvfM__ze.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-BhQMaVFP.js"; +const _hoisted_1 = { class: "max-w-screen-sm w-screen p-8" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "DesktopStartView", + setup(__props) { + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$1, { dark: "" }, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_1, [ + createVNode(unref(script), { mode: "indeterminate" }) + ]) + ]), + _: 1 + }); + }; + } +}); +export { + _sfc_main as default +}; +//# sourceMappingURL=DesktopStartView-le6AjGZr.js.map diff --git a/web/assets/DownloadGitView-rPK_vYgU.js b/web/assets/DownloadGitView-rPK_vYgU.js new file mode 100644 index 000000000..c286da355 --- /dev/null +++ b/web/assets/DownloadGitView-rPK_vYgU.js @@ -0,0 +1,58 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, o as openBlock, J as createBlock, P as withCtx, m as createBaseVNode, Z as toDisplayString, k as createVNode, j as unref, l as script, c2 as useRouter } from "./index-QvfM__ze.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-BhQMaVFP.js"; +const _hoisted_1 = { class: "max-w-screen-sm flex flex-col gap-8 p-8 bg-[url('/assets/images/Git-Logo-White.svg')] bg-no-repeat bg-right-top bg-origin-padding" }; +const _hoisted_2 = { class: "mt-24 text-4xl font-bold text-red-500" }; +const _hoisted_3 = { class: "space-y-4" }; +const _hoisted_4 = { class: "text-xl" }; +const _hoisted_5 = { class: "text-xl" }; +const _hoisted_6 = { class: "text-m" }; +const _hoisted_7 = { class: "flex gap-4 flex-row-reverse" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "DownloadGitView", + setup(__props) { + const openGitDownloads = /* @__PURE__ */ __name(() => { + window.open("https://git-scm.com/downloads/", "_blank"); + }, "openGitDownloads"); + const skipGit = /* @__PURE__ */ __name(() => { + console.warn("pushing"); + const router = useRouter(); + router.push("install"); + }, "skipGit"); + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$1, null, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_1, [ + createBaseVNode("h1", _hoisted_2, toDisplayString(_ctx.$t("downloadGit.title")), 1), + createBaseVNode("div", _hoisted_3, [ + createBaseVNode("p", _hoisted_4, toDisplayString(_ctx.$t("downloadGit.message")), 1), + createBaseVNode("p", _hoisted_5, toDisplayString(_ctx.$t("downloadGit.instructions")), 1), + createBaseVNode("p", _hoisted_6, toDisplayString(_ctx.$t("downloadGit.warning")), 1) + ]), + createBaseVNode("div", _hoisted_7, [ + createVNode(unref(script), { + label: _ctx.$t("downloadGit.gitWebsite"), + icon: "pi pi-external-link", + "icon-pos": "right", + onClick: openGitDownloads, + severity: "primary" + }, null, 8, ["label"]), + createVNode(unref(script), { + label: _ctx.$t("downloadGit.skip"), + icon: "pi pi-exclamation-triangle", + onClick: skipGit, + severity: "secondary" + }, null, 8, ["label"]) + ]) + ]) + ]), + _: 1 + }); + }; + } +}); +export { + _sfc_main as default +}; +//# sourceMappingURL=DownloadGitView-rPK_vYgU.js.map diff --git a/web/assets/ExtensionPanel-3jWrm6Zi.js b/web/assets/ExtensionPanel-3jWrm6Zi.js new file mode 100644 index 000000000..3c580dd1b --- /dev/null +++ b/web/assets/ExtensionPanel-3jWrm6Zi.js @@ -0,0 +1,182 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, ad as ref, cu as FilterMatchMode, cz as useExtensionStore, a as useSettingStore, t as onMounted, c as computed, o as openBlock, J as createBlock, P as withCtx, k as createVNode, cv as SearchBox, j as unref, c6 as script, m as createBaseVNode, f as createElementBlock, I as renderList, Z as toDisplayString, aG as createTextVNode, H as Fragment, l as script$1, L as createCommentVNode, aK as script$3, b8 as script$4, cc as script$5, cw as _sfc_main$1 } from "./index-QvfM__ze.js"; +import { s as script$2, a as script$6 } from "./index-DpF-ptbJ.js"; +import "./index-Q1cQr26V.js"; +const _hoisted_1 = { class: "flex justify-end" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ExtensionPanel", + setup(__props) { + const filters = ref({ + global: { value: "", matchMode: FilterMatchMode.CONTAINS } + }); + const extensionStore = useExtensionStore(); + const settingStore = useSettingStore(); + const editingEnabledExtensions = ref({}); + onMounted(() => { + extensionStore.extensions.forEach((ext) => { + editingEnabledExtensions.value[ext.name] = extensionStore.isExtensionEnabled(ext.name); + }); + }); + const changedExtensions = computed(() => { + return extensionStore.extensions.filter( + (ext) => editingEnabledExtensions.value[ext.name] !== extensionStore.isExtensionEnabled(ext.name) + ); + }); + const hasChanges = computed(() => { + return changedExtensions.value.length > 0; + }); + const updateExtensionStatus = /* @__PURE__ */ __name(() => { + const editingDisabledExtensionNames = Object.entries( + editingEnabledExtensions.value + ).filter(([_, enabled]) => !enabled).map(([name]) => name); + settingStore.set("Comfy.Extension.Disabled", [ + ...extensionStore.inactiveDisabledExtensionNames, + ...editingDisabledExtensionNames + ]); + }, "updateExtensionStatus"); + const enableAllExtensions = /* @__PURE__ */ __name(() => { + extensionStore.extensions.forEach((ext) => { + if (extensionStore.isExtensionReadOnly(ext.name)) return; + editingEnabledExtensions.value[ext.name] = true; + }); + updateExtensionStatus(); + }, "enableAllExtensions"); + const disableAllExtensions = /* @__PURE__ */ __name(() => { + extensionStore.extensions.forEach((ext) => { + if (extensionStore.isExtensionReadOnly(ext.name)) return; + editingEnabledExtensions.value[ext.name] = false; + }); + updateExtensionStatus(); + }, "disableAllExtensions"); + const disableThirdPartyExtensions = /* @__PURE__ */ __name(() => { + extensionStore.extensions.forEach((ext) => { + if (extensionStore.isCoreExtension(ext.name)) return; + editingEnabledExtensions.value[ext.name] = false; + }); + updateExtensionStatus(); + }, "disableThirdPartyExtensions"); + const applyChanges = /* @__PURE__ */ __name(() => { + window.location.reload(); + }, "applyChanges"); + const menu = ref(); + const contextMenuItems = [ + { + label: "Enable All", + icon: "pi pi-check", + command: enableAllExtensions + }, + { + label: "Disable All", + icon: "pi pi-times", + command: disableAllExtensions + }, + { + label: "Disable 3rd Party", + icon: "pi pi-times", + command: disableThirdPartyExtensions, + disabled: !extensionStore.hasThirdPartyExtensions + } + ]; + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$1, { + value: "Extension", + class: "extension-panel" + }, { + header: withCtx(() => [ + createVNode(SearchBox, { + modelValue: filters.value["global"].value, + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => filters.value["global"].value = $event), + placeholder: _ctx.$t("g.searchExtensions") + "..." + }, null, 8, ["modelValue", "placeholder"]), + hasChanges.value ? (openBlock(), createBlock(unref(script), { + key: 0, + severity: "info", + "pt:text": "w-full", + class: "max-h-96 overflow-y-auto" + }, { + default: withCtx(() => [ + createBaseVNode("ul", null, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(changedExtensions.value, (ext) => { + return openBlock(), createElementBlock("li", { + key: ext.name + }, [ + createBaseVNode("span", null, toDisplayString(unref(extensionStore).isExtensionEnabled(ext.name) ? "[-]" : "[+]"), 1), + createTextVNode(" " + toDisplayString(ext.name), 1) + ]); + }), 128)) + ]), + createBaseVNode("div", _hoisted_1, [ + createVNode(unref(script$1), { + label: _ctx.$t("g.reloadToApplyChanges"), + onClick: applyChanges, + outlined: "", + severity: "danger" + }, null, 8, ["label"]) + ]) + ]), + _: 1 + })) : createCommentVNode("", true) + ]), + default: withCtx(() => [ + createVNode(unref(script$6), { + value: unref(extensionStore).extensions, + stripedRows: "", + size: "small", + filters: filters.value + }, { + default: withCtx(() => [ + createVNode(unref(script$2), { + header: _ctx.$t("g.extensionName"), + sortable: "", + field: "name" + }, { + body: withCtx((slotProps) => [ + createTextVNode(toDisplayString(slotProps.data.name) + " ", 1), + unref(extensionStore).isCoreExtension(slotProps.data.name) ? (openBlock(), createBlock(unref(script$3), { + key: 0, + value: "Core" + })) : createCommentVNode("", true) + ]), + _: 1 + }, 8, ["header"]), + createVNode(unref(script$2), { pt: { + headerCell: "flex items-center justify-end", + bodyCell: "flex items-center justify-end" + } }, { + header: withCtx(() => [ + createVNode(unref(script$1), { + icon: "pi pi-ellipsis-h", + text: "", + severity: "secondary", + onClick: _cache[1] || (_cache[1] = ($event) => menu.value.show($event)) + }), + createVNode(unref(script$4), { + ref_key: "menu", + ref: menu, + model: contextMenuItems + }, null, 512) + ]), + body: withCtx((slotProps) => [ + createVNode(unref(script$5), { + disabled: unref(extensionStore).isExtensionReadOnly(slotProps.data.name), + modelValue: editingEnabledExtensions.value[slotProps.data.name], + "onUpdate:modelValue": /* @__PURE__ */ __name(($event) => editingEnabledExtensions.value[slotProps.data.name] = $event, "onUpdate:modelValue"), + onChange: updateExtensionStatus + }, null, 8, ["disabled", "modelValue", "onUpdate:modelValue"]) + ]), + _: 1 + }) + ]), + _: 1 + }, 8, ["value", "filters"]) + ]), + _: 1 + }); + }; + } +}); +export { + _sfc_main as default +}; +//# sourceMappingURL=ExtensionPanel-3jWrm6Zi.js.map diff --git a/web/assets/GraphView-CDDCHVO0.js b/web/assets/GraphView-CDDCHVO0.js new file mode 100644 index 000000000..34b0cd731 --- /dev/null +++ b/web/assets/GraphView-CDDCHVO0.js @@ -0,0 +1,10063 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, u as useExecutionStore, c as computed, a as useSettingStore, b as useWorkflowStore, e as useTitle, o as openBlock, f as createElementBlock, g as useWorkspaceStore, w as watchEffect, h as app, r as resolveDirective, i as withDirectives, v as vShow, j as unref, k as createVNode, s as showNativeMenu, l as script$d, m as createBaseVNode, n as normalizeStyle, p as pushScopeId, q as popScopeId, _ as _export_sfc, t as onMounted, x as onBeforeUnmount, B as BaseStyle, y as script$e, z as getWidth, A as getHeight, C as getOuterWidth, D as getOuterHeight, E as getVNodeProp, F as isArray, G as mergeProps, H as Fragment, I as renderList, J as createBlock, K as resolveDynamicComponent, L as createCommentVNode, M as renderSlot, N as useSidebarTabStore, O as useBottomPanelStore, P as withCtx, Q as getAttribute, R as findSingle, S as focus, T as equals, U as Ripple, V as normalizeClass, W as getOffset, X as script$f, Y as script$g, Z as toDisplayString, $ as script$h, a0 as markRaw, a1 as defineStore, a2 as shallowRef, a3 as useI18n, a4 as useCommandStore, a5 as LiteGraph, a6 as useColorPaletteStore, a7 as watch, a8 as useNodeDefStore, a9 as BadgePosition, aa as LGraphBadge, ab as _, ac as NodeBadgeMode, ad as ref, ae as useEventListener, af as nextTick, ag as st, ah as normalizeI18nKey, ai as LGraphGroup, aj as LGraphNode, ak as EditableText, al as isNotEmpty, am as UniqueComponentId, an as ZIndex, ao as resolveFieldData, ap as OverlayEventBus, aq as isEmpty, ar as addStyle, as as relativePosition, at as absolutePosition, au as ConnectedOverlayScrollHandler, av as isTouchDevice, aw as findLastIndex, ax as script$i, ay as script$j, az as script$k, aA as script$l, aB as script$m, aC as script$n, aD as resolveComponent, aE as Transition, aF as createSlots, aG as createTextVNode, aH as useNodeFrequencyStore, aI as useNodeBookmarkStore, aJ as highlightQuery, aK as script$o, aL as formatNumberWithSuffix, aM as NodeSourceType, aN as NodePreview, aO as NodeSearchFilter, aP as script$p, aQ as SearchFilterChip, aR as useLitegraphService, aS as storeToRefs, aT as isRef, aU as toRaw, aV as LinkReleaseTriggerAction, aW as script$q, aX as useUserStore, aY as useDialogStore, aZ as SettingDialogHeader, a_ as SettingDialogContent, a$ as useKeybindingStore, b0 as Teleport, b1 as usePragmaticDraggable, b2 as usePragmaticDroppable, b3 as withModifiers, b4 as useWorkflowService, b5 as useWorkflowBookmarkStore, b6 as script$r, b7 as script$s, b8 as script$t, b9 as LinkMarkerShape, ba as useModelToNodeStore, bb as getStorageValue, bc as CanvasPointer, bd as IS_CONTROL_WIDGET, be as updateControlWidgetLabel, bf as useColorPaletteService, bg as setStorageValue, bh as api, bi as LGraph, bj as LLink, bk as DragAndScale, bl as LGraphCanvas, bm as ContextMenu, bn as ChangeTracker, bo as ComfyNodeDefImpl, bp as ComfyModelDef, bq as script$u, br as script$v, bs as script$w, bt as script$x, bu as script$y, bv as normalizeProps, bw as ToastEventBus, bx as setAttribute, by as TransitionGroup, bz as useToast, bA as useToastStore, bB as resolve, bC as nestedPosition, bD as script$z, bE as isPrintableCharacter, bF as useQueueSettingsStore, bG as script$A, bH as useQueuePendingTaskCountStore, bI as useLocalStorage, bJ as useDraggable, bK as watchDebounced, bL as inject, bM as useElementBounding, bN as script$B, bO as lodashExports, bP as useEventBus, bQ as script$C, bR as guardReactiveProps, bS as useMenuItemStore, bT as isElectron, bU as provide, bV as electronAPI, bW as useDialogService, bX as LGraphEventMode, bY as useQueueStore, bZ as DEFAULT_DARK_COLOR_PALETTE, b_ as DEFAULT_LIGHT_COLOR_PALETTE, b$ as i18n, c0 as useErrorHandling, c1 as useModelStore } from "./index-QvfM__ze.js"; +import { s as script$D } from "./index-Q1cQr26V.js"; +import { u as useKeybindingService } from "./keybindingService-Cak1En5n.js"; +import { u as useServerConfigStore } from "./serverConfigStore-DCme3xlV.js"; +const DEFAULT_TITLE = "ComfyUI"; +const TITLE_SUFFIX = " - ComfyUI"; +const _sfc_main$u = /* @__PURE__ */ defineComponent({ + __name: "BrowserTabTitle", + setup(__props) { + const executionStore = useExecutionStore(); + const executionText = computed( + () => executionStore.isIdle ? "" : `[${executionStore.executionProgress}%]` + ); + const settingStore = useSettingStore(); + const betaMenuEnabled = computed( + () => settingStore.get("Comfy.UseNewMenu") !== "Disabled" + ); + const workflowStore = useWorkflowStore(); + const isUnsavedText = computed( + () => workflowStore.activeWorkflow?.isModified || !workflowStore.activeWorkflow?.isPersisted ? " *" : "" + ); + const workflowNameText = computed(() => { + const workflowName = workflowStore.activeWorkflow?.filename; + return workflowName ? isUnsavedText.value + workflowName + TITLE_SUFFIX : DEFAULT_TITLE; + }); + const nodeExecutionTitle = computed( + () => executionStore.executingNode && executionStore.executingNodeProgress ? `${executionText.value}[${executionStore.executingNodeProgress}%] ${executionStore.executingNode.type}` : "" + ); + const workflowTitle = computed( + () => executionText.value + (betaMenuEnabled.value ? workflowNameText.value : DEFAULT_TITLE) + ); + const title = computed(() => nodeExecutionTitle.value || workflowTitle.value); + useTitle(title); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div"); + }; + } +}); +const _withScopeId$9 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-7ed57d1a"), n = n(), popScopeId(), n), "_withScopeId$9"); +const _hoisted_1$q = { class: "window-actions-spacer" }; +const _sfc_main$t = /* @__PURE__ */ defineComponent({ + __name: "MenuHamburger", + setup(__props) { + const workspaceState = useWorkspaceStore(); + const settingStore = useSettingStore(); + const exitFocusMode = /* @__PURE__ */ __name(() => { + workspaceState.focusMode = false; + }, "exitFocusMode"); + watchEffect(() => { + if (settingStore.get("Comfy.UseNewMenu") !== "Disabled") { + return; + } + if (workspaceState.focusMode) { + app.ui.menuContainer.style.display = "none"; + } else { + app.ui.menuContainer.style.display = "block"; + } + }); + const menuSetting = computed(() => settingStore.get("Comfy.UseNewMenu")); + const positionCSS = computed( + () => ( + // 'Bottom' menuSetting shows the hamburger button in the bottom right corner + // 'Disabled', 'Top' menuSetting shows the hamburger button in the top right corner + menuSetting.value === "Bottom" ? { bottom: "0px", right: "0px" } : { top: "0px", right: "0px" } + ) + ); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return withDirectives((openBlock(), createElementBlock("div", { + class: "comfy-menu-hamburger no-drag", + style: normalizeStyle(positionCSS.value) + }, [ + withDirectives(createVNode(unref(script$d), { + icon: "pi pi-bars", + severity: "secondary", + text: "", + size: "large", + "aria-label": _ctx.$t("menu.showMenu"), + "aria-live": "assertive", + onClick: exitFocusMode, + onContextmenu: unref(showNativeMenu) + }, null, 8, ["aria-label", "onContextmenu"]), [ + [_directive_tooltip, { value: _ctx.$t("menu.showMenu"), showDelay: 300 }] + ]), + withDirectives(createBaseVNode("div", _hoisted_1$q, null, 512), [ + [vShow, menuSetting.value !== "Bottom"] + ]) + ], 4)), [ + [vShow, unref(workspaceState).focusMode] + ]); + }; + } +}); +const MenuHamburger = /* @__PURE__ */ _export_sfc(_sfc_main$t, [["__scopeId", "data-v-7ed57d1a"]]); +const _sfc_main$s = /* @__PURE__ */ defineComponent({ + __name: "UnloadWindowConfirmDialog", + setup(__props) { + const settingStore = useSettingStore(); + const workflowStore = useWorkflowStore(); + const handleBeforeUnload = /* @__PURE__ */ __name((event) => { + if (settingStore.get("Comfy.Window.UnloadConfirmation") && workflowStore.modifiedWorkflows.length > 0) { + event.preventDefault(); + return true; + } + return void 0; + }, "handleBeforeUnload"); + onMounted(() => { + window.addEventListener("beforeunload", handleBeforeUnload); + }); + onBeforeUnmount(() => { + window.removeEventListener("beforeunload", handleBeforeUnload); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div"); + }; + } +}); +var theme$7 = /* @__PURE__ */ __name(function theme(_ref) { + var dt = _ref.dt; + return "\n.p-splitter {\n display: flex;\n flex-wrap: nowrap;\n border: 1px solid ".concat(dt("splitter.border.color"), ";\n background: ").concat(dt("splitter.background"), ";\n border-radius: ").concat(dt("border.radius.md"), ";\n color: ").concat(dt("splitter.color"), ";\n}\n\n.p-splitter-vertical {\n flex-direction: column;\n}\n\n.p-splitter-gutter {\n flex-grow: 0;\n flex-shrink: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n z-index: 1;\n background: ").concat(dt("splitter.gutter.background"), ";\n}\n\n.p-splitter-gutter-handle {\n border-radius: ").concat(dt("splitter.handle.border.radius"), ";\n background: ").concat(dt("splitter.handle.background"), ";\n transition: outline-color ").concat(dt("splitter.transition.duration"), ", box-shadow ").concat(dt("splitter.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-splitter-gutter-handle:focus-visible {\n box-shadow: ").concat(dt("splitter.handle.focus.ring.shadow"), ";\n outline: ").concat(dt("splitter.handle.focus.ring.width"), " ").concat(dt("splitter.handle.focus.ring.style"), " ").concat(dt("splitter.handle.focus.ring.color"), ";\n outline-offset: ").concat(dt("splitter.handle.focus.ring.offset"), ";\n}\n\n.p-splitter-horizontal.p-splitter-resizing {\n cursor: col-resize;\n user-select: none;\n}\n\n.p-splitter-vertical.p-splitter-resizing {\n cursor: row-resize;\n user-select: none;\n}\n\n.p-splitter-horizontal > .p-splitter-gutter > .p-splitter-gutter-handle {\n height: ").concat(dt("splitter.handle.size"), ";\n width: 100%;\n}\n\n.p-splitter-vertical > .p-splitter-gutter > .p-splitter-gutter-handle {\n width: ").concat(dt("splitter.handle.size"), ";\n height: 100%;\n}\n\n.p-splitter-horizontal > .p-splitter-gutter {\n cursor: col-resize;\n}\n\n.p-splitter-vertical > .p-splitter-gutter {\n cursor: row-resize;\n}\n\n.p-splitterpanel {\n flex-grow: 1;\n overflow: hidden;\n}\n\n.p-splitterpanel-nested {\n display: flex;\n}\n\n.p-splitterpanel .p-splitter {\n flex-grow: 1;\n border: 0 none;\n}\n"); +}, "theme"); +var classes$a = { + root: /* @__PURE__ */ __name(function root(_ref2) { + var props = _ref2.props; + return ["p-splitter p-component", "p-splitter-" + props.layout]; + }, "root"), + gutter: "p-splitter-gutter", + gutterHandle: "p-splitter-gutter-handle" +}; +var inlineStyles$4 = { + root: /* @__PURE__ */ __name(function root2(_ref3) { + var props = _ref3.props; + return [{ + display: "flex", + "flex-wrap": "nowrap" + }, props.layout === "vertical" ? { + "flex-direction": "column" + } : ""]; + }, "root") +}; +var SplitterStyle = BaseStyle.extend({ + name: "splitter", + theme: theme$7, + classes: classes$a, + inlineStyles: inlineStyles$4 +}); +var script$1$a = { + name: "BaseSplitter", + "extends": script$e, + props: { + layout: { + type: String, + "default": "horizontal" + }, + gutterSize: { + type: Number, + "default": 4 + }, + stateKey: { + type: String, + "default": null + }, + stateStorage: { + type: String, + "default": "session" + }, + step: { + type: Number, + "default": 5 + } + }, + style: SplitterStyle, + provide: /* @__PURE__ */ __name(function provide2() { + return { + $pcSplitter: this, + $parentInstance: this + }; + }, "provide") +}; +function _toConsumableArray$2(r) { + return _arrayWithoutHoles$2(r) || _iterableToArray$2(r) || _unsupportedIterableToArray$2(r) || _nonIterableSpread$2(); +} +__name(_toConsumableArray$2, "_toConsumableArray$2"); +function _nonIterableSpread$2() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$2, "_nonIterableSpread$2"); +function _unsupportedIterableToArray$2(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$2(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$2(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$2, "_unsupportedIterableToArray$2"); +function _iterableToArray$2(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$2, "_iterableToArray$2"); +function _arrayWithoutHoles$2(r) { + if (Array.isArray(r)) return _arrayLikeToArray$2(r); +} +__name(_arrayWithoutHoles$2, "_arrayWithoutHoles$2"); +function _arrayLikeToArray$2(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$2, "_arrayLikeToArray$2"); +var script$c = { + name: "Splitter", + "extends": script$1$a, + inheritAttrs: false, + emits: ["resizestart", "resizeend", "resize"], + dragging: false, + mouseMoveListener: null, + mouseUpListener: null, + touchMoveListener: null, + touchEndListener: null, + size: null, + gutterElement: null, + startPos: null, + prevPanelElement: null, + nextPanelElement: null, + nextPanelSize: null, + prevPanelSize: null, + panelSizes: null, + prevPanelIndex: null, + timer: null, + data: /* @__PURE__ */ __name(function data() { + return { + prevSize: null + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted() { + var _this = this; + if (this.panels && this.panels.length) { + var initialized = false; + if (this.isStateful()) { + initialized = this.restoreState(); + } + if (!initialized) { + var children = _toConsumableArray$2(this.$el.children).filter(function(child) { + return child.getAttribute("data-pc-name") === "splitterpanel"; + }); + var _panelSizes = []; + this.panels.map(function(panel, i) { + var panelInitialSize = panel.props && panel.props.size ? panel.props.size : null; + var panelSize = panelInitialSize || 100 / _this.panels.length; + _panelSizes[i] = panelSize; + children[i].style.flexBasis = "calc(" + panelSize + "% - " + (_this.panels.length - 1) * _this.gutterSize + "px)"; + }); + this.panelSizes = _panelSizes; + this.prevSize = parseFloat(_panelSizes[0]).toFixed(4); + } + } + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount() { + this.clear(); + this.unbindMouseListeners(); + }, "beforeUnmount"), + methods: { + isSplitterPanel: /* @__PURE__ */ __name(function isSplitterPanel(child) { + return child.type.name === "SplitterPanel"; + }, "isSplitterPanel"), + onResizeStart: /* @__PURE__ */ __name(function onResizeStart(event, index, isKeyDown) { + this.gutterElement = event.currentTarget || event.target.parentElement; + this.size = this.horizontal ? getWidth(this.$el) : getHeight(this.$el); + if (!isKeyDown) { + this.dragging = true; + this.startPos = this.layout === "horizontal" ? event.pageX || event.changedTouches[0].pageX : event.pageY || event.changedTouches[0].pageY; + } + this.prevPanelElement = this.gutterElement.previousElementSibling; + this.nextPanelElement = this.gutterElement.nextElementSibling; + if (isKeyDown) { + this.prevPanelSize = this.horizontal ? getOuterWidth(this.prevPanelElement, true) : getOuterHeight(this.prevPanelElement, true); + this.nextPanelSize = this.horizontal ? getOuterWidth(this.nextPanelElement, true) : getOuterHeight(this.nextPanelElement, true); + } else { + this.prevPanelSize = 100 * (this.horizontal ? getOuterWidth(this.prevPanelElement, true) : getOuterHeight(this.prevPanelElement, true)) / this.size; + this.nextPanelSize = 100 * (this.horizontal ? getOuterWidth(this.nextPanelElement, true) : getOuterHeight(this.nextPanelElement, true)) / this.size; + } + this.prevPanelIndex = index; + this.$emit("resizestart", { + originalEvent: event, + sizes: this.panelSizes + }); + this.$refs.gutter[index].setAttribute("data-p-gutter-resizing", true); + this.$el.setAttribute("data-p-resizing", true); + }, "onResizeStart"), + onResize: /* @__PURE__ */ __name(function onResize(event, step, isKeyDown) { + var newPos, newPrevPanelSize, newNextPanelSize; + if (isKeyDown) { + if (this.horizontal) { + newPrevPanelSize = 100 * (this.prevPanelSize + step) / this.size; + newNextPanelSize = 100 * (this.nextPanelSize - step) / this.size; + } else { + newPrevPanelSize = 100 * (this.prevPanelSize - step) / this.size; + newNextPanelSize = 100 * (this.nextPanelSize + step) / this.size; + } + } else { + if (this.horizontal) newPos = event.pageX * 100 / this.size - this.startPos * 100 / this.size; + else newPos = event.pageY * 100 / this.size - this.startPos * 100 / this.size; + newPrevPanelSize = this.prevPanelSize + newPos; + newNextPanelSize = this.nextPanelSize - newPos; + } + if (this.validateResize(newPrevPanelSize, newNextPanelSize)) { + this.prevPanelElement.style.flexBasis = "calc(" + newPrevPanelSize + "% - " + (this.panels.length - 1) * this.gutterSize + "px)"; + this.nextPanelElement.style.flexBasis = "calc(" + newNextPanelSize + "% - " + (this.panels.length - 1) * this.gutterSize + "px)"; + this.panelSizes[this.prevPanelIndex] = newPrevPanelSize; + this.panelSizes[this.prevPanelIndex + 1] = newNextPanelSize; + this.prevSize = parseFloat(newPrevPanelSize).toFixed(4); + } + this.$emit("resize", { + originalEvent: event, + sizes: this.panelSizes + }); + }, "onResize"), + onResizeEnd: /* @__PURE__ */ __name(function onResizeEnd(event) { + if (this.isStateful()) { + this.saveState(); + } + this.$emit("resizeend", { + originalEvent: event, + sizes: this.panelSizes + }); + this.$refs.gutter.forEach(function(gutter) { + return gutter.setAttribute("data-p-gutter-resizing", false); + }); + this.$el.setAttribute("data-p-resizing", false); + this.clear(); + }, "onResizeEnd"), + repeat: /* @__PURE__ */ __name(function repeat(event, index, step) { + this.onResizeStart(event, index, true); + this.onResize(event, step, true); + }, "repeat"), + setTimer: /* @__PURE__ */ __name(function setTimer(event, index, step) { + var _this2 = this; + if (!this.timer) { + this.timer = setInterval(function() { + _this2.repeat(event, index, step); + }, 40); + } + }, "setTimer"), + clearTimer: /* @__PURE__ */ __name(function clearTimer() { + if (this.timer) { + clearInterval(this.timer); + this.timer = null; + } + }, "clearTimer"), + onGutterKeyUp: /* @__PURE__ */ __name(function onGutterKeyUp() { + this.clearTimer(); + this.onResizeEnd(); + }, "onGutterKeyUp"), + onGutterKeyDown: /* @__PURE__ */ __name(function onGutterKeyDown(event, index) { + switch (event.code) { + case "ArrowLeft": { + if (this.layout === "horizontal") { + this.setTimer(event, index, this.step * -1); + } + event.preventDefault(); + break; + } + case "ArrowRight": { + if (this.layout === "horizontal") { + this.setTimer(event, index, this.step); + } + event.preventDefault(); + break; + } + case "ArrowDown": { + if (this.layout === "vertical") { + this.setTimer(event, index, this.step * -1); + } + event.preventDefault(); + break; + } + case "ArrowUp": { + if (this.layout === "vertical") { + this.setTimer(event, index, this.step); + } + event.preventDefault(); + break; + } + } + }, "onGutterKeyDown"), + onGutterMouseDown: /* @__PURE__ */ __name(function onGutterMouseDown(event, index) { + this.onResizeStart(event, index); + this.bindMouseListeners(); + }, "onGutterMouseDown"), + onGutterTouchStart: /* @__PURE__ */ __name(function onGutterTouchStart(event, index) { + this.onResizeStart(event, index); + this.bindTouchListeners(); + event.preventDefault(); + }, "onGutterTouchStart"), + onGutterTouchMove: /* @__PURE__ */ __name(function onGutterTouchMove(event) { + this.onResize(event); + event.preventDefault(); + }, "onGutterTouchMove"), + onGutterTouchEnd: /* @__PURE__ */ __name(function onGutterTouchEnd(event) { + this.onResizeEnd(event); + this.unbindTouchListeners(); + event.preventDefault(); + }, "onGutterTouchEnd"), + bindMouseListeners: /* @__PURE__ */ __name(function bindMouseListeners() { + var _this3 = this; + if (!this.mouseMoveListener) { + this.mouseMoveListener = function(event) { + return _this3.onResize(event); + }; + document.addEventListener("mousemove", this.mouseMoveListener); + } + if (!this.mouseUpListener) { + this.mouseUpListener = function(event) { + _this3.onResizeEnd(event); + _this3.unbindMouseListeners(); + }; + document.addEventListener("mouseup", this.mouseUpListener); + } + }, "bindMouseListeners"), + bindTouchListeners: /* @__PURE__ */ __name(function bindTouchListeners() { + var _this4 = this; + if (!this.touchMoveListener) { + this.touchMoveListener = function(event) { + return _this4.onResize(event.changedTouches[0]); + }; + document.addEventListener("touchmove", this.touchMoveListener); + } + if (!this.touchEndListener) { + this.touchEndListener = function(event) { + _this4.resizeEnd(event); + _this4.unbindTouchListeners(); + }; + document.addEventListener("touchend", this.touchEndListener); + } + }, "bindTouchListeners"), + validateResize: /* @__PURE__ */ __name(function validateResize(newPrevPanelSize, newNextPanelSize) { + if (newPrevPanelSize > 100 || newPrevPanelSize < 0) return false; + if (newNextPanelSize > 100 || newNextPanelSize < 0) return false; + var prevPanelMinSize = getVNodeProp(this.panels[this.prevPanelIndex], "minSize"); + if (this.panels[this.prevPanelIndex].props && prevPanelMinSize && prevPanelMinSize > newPrevPanelSize) { + return false; + } + var newPanelMinSize = getVNodeProp(this.panels[this.prevPanelIndex + 1], "minSize"); + if (this.panels[this.prevPanelIndex + 1].props && newPanelMinSize && newPanelMinSize > newNextPanelSize) { + return false; + } + return true; + }, "validateResize"), + unbindMouseListeners: /* @__PURE__ */ __name(function unbindMouseListeners() { + if (this.mouseMoveListener) { + document.removeEventListener("mousemove", this.mouseMoveListener); + this.mouseMoveListener = null; + } + if (this.mouseUpListener) { + document.removeEventListener("mouseup", this.mouseUpListener); + this.mouseUpListener = null; + } + }, "unbindMouseListeners"), + unbindTouchListeners: /* @__PURE__ */ __name(function unbindTouchListeners() { + if (this.touchMoveListener) { + document.removeEventListener("touchmove", this.touchMoveListener); + this.touchMoveListener = null; + } + if (this.touchEndListener) { + document.removeEventListener("touchend", this.touchEndListener); + this.touchEndListener = null; + } + }, "unbindTouchListeners"), + clear: /* @__PURE__ */ __name(function clear() { + this.dragging = false; + this.size = null; + this.startPos = null; + this.prevPanelElement = null; + this.nextPanelElement = null; + this.prevPanelSize = null; + this.nextPanelSize = null; + this.gutterElement = null; + this.prevPanelIndex = null; + }, "clear"), + isStateful: /* @__PURE__ */ __name(function isStateful() { + return this.stateKey != null; + }, "isStateful"), + getStorage: /* @__PURE__ */ __name(function getStorage() { + switch (this.stateStorage) { + case "local": + return window.localStorage; + case "session": + return window.sessionStorage; + default: + throw new Error(this.stateStorage + ' is not a valid value for the state storage, supported values are "local" and "session".'); + } + }, "getStorage"), + saveState: /* @__PURE__ */ __name(function saveState() { + if (isArray(this.panelSizes)) { + this.getStorage().setItem(this.stateKey, JSON.stringify(this.panelSizes)); + } + }, "saveState"), + restoreState: /* @__PURE__ */ __name(function restoreState() { + var _this5 = this; + var storage = this.getStorage(); + var stateString = storage.getItem(this.stateKey); + if (stateString) { + this.panelSizes = JSON.parse(stateString); + var children = _toConsumableArray$2(this.$el.children).filter(function(child) { + return child.getAttribute("data-pc-name") === "splitterpanel"; + }); + children.forEach(function(child, i) { + child.style.flexBasis = "calc(" + _this5.panelSizes[i] + "% - " + (_this5.panels.length - 1) * _this5.gutterSize + "px)"; + }); + return true; + } + return false; + }, "restoreState") + }, + computed: { + panels: /* @__PURE__ */ __name(function panels() { + var _this6 = this; + var panels2 = []; + this.$slots["default"]().forEach(function(child) { + if (_this6.isSplitterPanel(child)) { + panels2.push(child); + } else if (child.children instanceof Array) { + child.children.forEach(function(nestedChild) { + if (_this6.isSplitterPanel(nestedChild)) { + panels2.push(nestedChild); + } + }); + } + }); + return panels2; + }, "panels"), + gutterStyle: /* @__PURE__ */ __name(function gutterStyle() { + if (this.horizontal) return { + width: this.gutterSize + "px" + }; + else return { + height: this.gutterSize + "px" + }; + }, "gutterStyle"), + horizontal: /* @__PURE__ */ __name(function horizontal() { + return this.layout === "horizontal"; + }, "horizontal"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions() { + var _this$$parentInstance; + return { + context: { + nested: (_this$$parentInstance = this.$parentInstance) === null || _this$$parentInstance === void 0 ? void 0 : _this$$parentInstance.nestedState + } + }; + }, "getPTOptions") + } +}; +var _hoisted_1$p = ["onMousedown", "onTouchstart", "onTouchmove", "onTouchend"]; +var _hoisted_2$j = ["aria-orientation", "aria-valuenow", "onKeydown"]; +function render$j(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root"), + style: _ctx.sx("root"), + "data-p-resizing": false + }, _ctx.ptmi("root", $options.getPTOptions)), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.panels, function(panel, i) { + return openBlock(), createElementBlock(Fragment, { + key: i + }, [(openBlock(), createBlock(resolveDynamicComponent(panel), { + tabindex: "-1" + })), i !== $options.panels.length - 1 ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + ref_for: true, + ref: "gutter", + "class": _ctx.cx("gutter"), + role: "separator", + tabindex: "-1", + onMousedown: /* @__PURE__ */ __name(function onMousedown($event) { + return $options.onGutterMouseDown($event, i); + }, "onMousedown"), + onTouchstart: /* @__PURE__ */ __name(function onTouchstart($event) { + return $options.onGutterTouchStart($event, i); + }, "onTouchstart"), + onTouchmove: /* @__PURE__ */ __name(function onTouchmove($event) { + return $options.onGutterTouchMove($event, i); + }, "onTouchmove"), + onTouchend: /* @__PURE__ */ __name(function onTouchend($event) { + return $options.onGutterTouchEnd($event, i); + }, "onTouchend"), + "data-p-gutter-resizing": false + }, _ctx.ptm("gutter")), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("gutterHandle"), + tabindex: "0", + style: [$options.gutterStyle], + "aria-orientation": _ctx.layout, + "aria-valuenow": $data.prevSize, + onKeyup: _cache[0] || (_cache[0] = function() { + return $options.onGutterKeyUp && $options.onGutterKeyUp.apply($options, arguments); + }), + onKeydown: /* @__PURE__ */ __name(function onKeydown2($event) { + return $options.onGutterKeyDown($event, i); + }, "onKeydown"), + ref_for: true + }, _ctx.ptm("gutterHandle")), null, 16, _hoisted_2$j)], 16, _hoisted_1$p)) : createCommentVNode("", true)], 64); + }), 128))], 16); +} +__name(render$j, "render$j"); +script$c.render = render$j; +var classes$9 = { + root: /* @__PURE__ */ __name(function root3(_ref) { + var instance = _ref.instance; + return ["p-splitterpanel", { + "p-splitterpanel-nested": instance.isNested + }]; + }, "root") +}; +var SplitterPanelStyle = BaseStyle.extend({ + name: "splitterpanel", + classes: classes$9 +}); +var script$1$9 = { + name: "BaseSplitterPanel", + "extends": script$e, + props: { + size: { + type: Number, + "default": null + }, + minSize: { + type: Number, + "default": null + } + }, + style: SplitterPanelStyle, + provide: /* @__PURE__ */ __name(function provide3() { + return { + $pcSplitterPanel: this, + $parentInstance: this + }; + }, "provide") +}; +var script$b = { + name: "SplitterPanel", + "extends": script$1$9, + inheritAttrs: false, + data: /* @__PURE__ */ __name(function data2() { + return { + nestedState: null + }; + }, "data"), + computed: { + isNested: /* @__PURE__ */ __name(function isNested() { + var _this = this; + return this.$slots["default"]().some(function(child) { + _this.nestedState = child.type.name === "Splitter" ? true : null; + return _this.nestedState; + }); + }, "isNested"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions2() { + return { + context: { + nested: this.isNested + } + }; + }, "getPTOptions") + } +}; +function render$i(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + ref: "container", + "class": _ctx.cx("root") + }, _ctx.ptmi("root", $options.getPTOptions)), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$i, "render$i"); +script$b.render = render$i; +const _sfc_main$r = /* @__PURE__ */ defineComponent({ + __name: "LiteGraphCanvasSplitterOverlay", + setup(__props) { + const settingStore = useSettingStore(); + const sidebarLocation = computed( + () => settingStore.get("Comfy.Sidebar.Location") + ); + const sidebarPanelVisible = computed( + () => useSidebarTabStore().activeSidebarTab !== null + ); + const bottomPanelVisible = computed( + () => useBottomPanelStore().bottomPanelVisible + ); + const activeSidebarTabId = computed( + () => useSidebarTabStore().activeSidebarTabId + ); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(script$c), { + class: "splitter-overlay-root splitter-overlay", + "pt:gutter": sidebarPanelVisible.value ? "" : "hidden", + key: activeSidebarTabId.value, + stateKey: activeSidebarTabId.value, + stateStorage: "local" + }, { + default: withCtx(() => [ + sidebarLocation.value === "left" ? withDirectives((openBlock(), createBlock(unref(script$b), { + key: 0, + class: "side-bar-panel", + minSize: 10, + size: 20 + }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "side-bar-panel", {}, void 0, true) + ]), + _: 3 + }, 512)), [ + [vShow, sidebarPanelVisible.value] + ]) : createCommentVNode("", true), + createVNode(unref(script$b), { size: 100 }, { + default: withCtx(() => [ + createVNode(unref(script$c), { + class: "splitter-overlay max-w-full", + layout: "vertical", + "pt:gutter": bottomPanelVisible.value ? "" : "hidden", + stateKey: "bottom-panel-splitter", + stateStorage: "local" + }, { + default: withCtx(() => [ + createVNode(unref(script$b), { class: "graph-canvas-panel relative" }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "graph-canvas-panel", {}, void 0, true) + ]), + _: 3 + }), + withDirectives(createVNode(unref(script$b), { class: "bottom-panel" }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "bottom-panel", {}, void 0, true) + ]), + _: 3 + }, 512), [ + [vShow, bottomPanelVisible.value] + ]) + ]), + _: 3 + }, 8, ["pt:gutter"]) + ]), + _: 3 + }), + sidebarLocation.value === "right" ? withDirectives((openBlock(), createBlock(unref(script$b), { + key: 1, + class: "side-bar-panel", + minSize: 10, + size: 20 + }, { + default: withCtx(() => [ + renderSlot(_ctx.$slots, "side-bar-panel", {}, void 0, true) + ]), + _: 3 + }, 512)), [ + [vShow, sidebarPanelVisible.value] + ]) : createCommentVNode("", true) + ]), + _: 3 + }, 8, ["pt:gutter", "stateKey"]); + }; + } +}); +const LiteGraphCanvasSplitterOverlay = /* @__PURE__ */ _export_sfc(_sfc_main$r, [["__scopeId", "data-v-e50caa15"]]); +var classes$8 = { + root: /* @__PURE__ */ __name(function root4(_ref) { + var instance = _ref.instance, props = _ref.props; + return ["p-tab", { + "p-tab-active": instance.active, + "p-disabled": props.disabled + }]; + }, "root") +}; +var TabStyle = BaseStyle.extend({ + name: "tab", + classes: classes$8 +}); +var script$1$8 = { + name: "BaseTab", + "extends": script$e, + props: { + value: { + type: [String, Number], + "default": void 0 + }, + disabled: { + type: Boolean, + "default": false + }, + as: { + type: [String, Object], + "default": "BUTTON" + }, + asChild: { + type: Boolean, + "default": false + } + }, + style: TabStyle, + provide: /* @__PURE__ */ __name(function provide4() { + return { + $pcTab: this, + $parentInstance: this + }; + }, "provide") +}; +var script$a = { + name: "Tab", + "extends": script$1$8, + inheritAttrs: false, + inject: ["$pcTabs", "$pcTabList"], + methods: { + onFocus: /* @__PURE__ */ __name(function onFocus() { + this.$pcTabs.selectOnFocus && this.changeActiveValue(); + }, "onFocus"), + onClick: /* @__PURE__ */ __name(function onClick() { + this.changeActiveValue(); + }, "onClick"), + onKeydown: /* @__PURE__ */ __name(function onKeydown(event) { + switch (event.code) { + case "ArrowRight": + this.onArrowRightKey(event); + break; + case "ArrowLeft": + this.onArrowLeftKey(event); + break; + case "Home": + this.onHomeKey(event); + break; + case "End": + this.onEndKey(event); + break; + case "PageDown": + this.onPageDownKey(event); + break; + case "PageUp": + this.onPageUpKey(event); + break; + case "Enter": + case "NumpadEnter": + case "Space": + this.onEnterKey(event); + break; + } + }, "onKeydown"), + onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey(event) { + var nextTab = this.findNextTab(event.currentTarget); + nextTab ? this.changeFocusedTab(event, nextTab) : this.onHomeKey(event); + event.preventDefault(); + }, "onArrowRightKey"), + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey(event) { + var prevTab = this.findPrevTab(event.currentTarget); + prevTab ? this.changeFocusedTab(event, prevTab) : this.onEndKey(event); + event.preventDefault(); + }, "onArrowLeftKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey(event) { + var firstTab = this.findFirstTab(); + this.changeFocusedTab(event, firstTab); + event.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey(event) { + var lastTab = this.findLastTab(); + this.changeFocusedTab(event, lastTab); + event.preventDefault(); + }, "onEndKey"), + onPageDownKey: /* @__PURE__ */ __name(function onPageDownKey(event) { + this.scrollInView(this.findLastTab()); + event.preventDefault(); + }, "onPageDownKey"), + onPageUpKey: /* @__PURE__ */ __name(function onPageUpKey(event) { + this.scrollInView(this.findFirstTab()); + event.preventDefault(); + }, "onPageUpKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey(event) { + this.changeActiveValue(); + event.preventDefault(); + }, "onEnterKey"), + findNextTab: /* @__PURE__ */ __name(function findNextTab(tabElement) { + var selfCheck = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var element = selfCheck ? tabElement : tabElement.nextElementSibling; + return element ? getAttribute(element, "data-p-disabled") || getAttribute(element, "data-pc-section") === "inkbar" ? this.findNextTab(element) : findSingle(element, '[data-pc-name="tab"]') : null; + }, "findNextTab"), + findPrevTab: /* @__PURE__ */ __name(function findPrevTab(tabElement) { + var selfCheck = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : false; + var element = selfCheck ? tabElement : tabElement.previousElementSibling; + return element ? getAttribute(element, "data-p-disabled") || getAttribute(element, "data-pc-section") === "inkbar" ? this.findPrevTab(element) : findSingle(element, '[data-pc-name="tab"]') : null; + }, "findPrevTab"), + findFirstTab: /* @__PURE__ */ __name(function findFirstTab() { + return this.findNextTab(this.$pcTabList.$refs.content.firstElementChild, true); + }, "findFirstTab"), + findLastTab: /* @__PURE__ */ __name(function findLastTab() { + return this.findPrevTab(this.$pcTabList.$refs.content.lastElementChild, true); + }, "findLastTab"), + changeActiveValue: /* @__PURE__ */ __name(function changeActiveValue() { + this.$pcTabs.updateValue(this.value); + }, "changeActiveValue"), + changeFocusedTab: /* @__PURE__ */ __name(function changeFocusedTab(event, element) { + focus(element); + this.scrollInView(element); + }, "changeFocusedTab"), + scrollInView: /* @__PURE__ */ __name(function scrollInView(element) { + var _element$scrollIntoVi; + element === null || element === void 0 || (_element$scrollIntoVi = element.scrollIntoView) === null || _element$scrollIntoVi === void 0 || _element$scrollIntoVi.call(element, { + block: "nearest" + }); + }, "scrollInView") + }, + computed: { + active: /* @__PURE__ */ __name(function active() { + var _this$$pcTabs; + return equals((_this$$pcTabs = this.$pcTabs) === null || _this$$pcTabs === void 0 ? void 0 : _this$$pcTabs.d_value, this.value); + }, "active"), + id: /* @__PURE__ */ __name(function id() { + var _this$$pcTabs2; + return "".concat((_this$$pcTabs2 = this.$pcTabs) === null || _this$$pcTabs2 === void 0 ? void 0 : _this$$pcTabs2.id, "_tab_").concat(this.value); + }, "id"), + ariaControls: /* @__PURE__ */ __name(function ariaControls() { + var _this$$pcTabs3; + return "".concat((_this$$pcTabs3 = this.$pcTabs) === null || _this$$pcTabs3 === void 0 ? void 0 : _this$$pcTabs3.id, "_tabpanel_").concat(this.value); + }, "ariaControls"), + attrs: /* @__PURE__ */ __name(function attrs() { + return mergeProps(this.asAttrs, this.a11yAttrs, this.ptmi("root", this.ptParams)); + }, "attrs"), + asAttrs: /* @__PURE__ */ __name(function asAttrs() { + return this.as === "BUTTON" ? { + type: "button", + disabled: this.disabled + } : void 0; + }, "asAttrs"), + a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs() { + return { + id: this.id, + tabindex: this.active ? this.$pcTabs.tabindex : -1, + role: "tab", + "aria-selected": this.active, + "aria-controls": this.ariaControls, + "data-pc-name": "tab", + "data-p-disabled": this.disabled, + "data-p-active": this.active, + onFocus: this.onFocus, + onKeydown: this.onKeydown + }; + }, "a11yAttrs"), + ptParams: /* @__PURE__ */ __name(function ptParams() { + return { + context: { + active: this.active + } + }; + }, "ptParams") + }, + directives: { + ripple: Ripple + } +}; +function render$h(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return !_ctx.asChild ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ + key: 0, + "class": _ctx.cx("root"), + onClick: $options.onClick + }, $options.attrs), { + "default": withCtx(function() { + return [renderSlot(_ctx.$slots, "default")]; + }), + _: 3 + }, 16, ["class", "onClick"])), [[_directive_ripple]]) : renderSlot(_ctx.$slots, "default", { + key: 1, + "class": normalizeClass(_ctx.cx("root")), + active: $options.active, + a11yAttrs: $options.a11yAttrs, + onClick: $options.onClick + }); +} +__name(render$h, "render$h"); +script$a.render = render$h; +var classes$7 = { + root: "p-tablist", + content: /* @__PURE__ */ __name(function content(_ref) { + var instance = _ref.instance; + return ["p-tablist-content", { + "p-tablist-viewport": instance.$pcTabs.scrollable + }]; + }, "content"), + tabList: "p-tablist-tab-list", + activeBar: "p-tablist-active-bar", + prevButton: "p-tablist-prev-button p-tablist-nav-button", + nextButton: "p-tablist-next-button p-tablist-nav-button" +}; +var TabListStyle = BaseStyle.extend({ + name: "tablist", + classes: classes$7 +}); +var script$1$7 = { + name: "BaseTabList", + "extends": script$e, + props: {}, + style: TabListStyle, + provide: /* @__PURE__ */ __name(function provide5() { + return { + $pcTabList: this, + $parentInstance: this + }; + }, "provide") +}; +var script$9 = { + name: "TabList", + "extends": script$1$7, + inheritAttrs: false, + inject: ["$pcTabs"], + data: /* @__PURE__ */ __name(function data3() { + return { + isPrevButtonEnabled: false, + isNextButtonEnabled: true + }; + }, "data"), + resizeObserver: void 0, + watch: { + showNavigators: /* @__PURE__ */ __name(function showNavigators(newValue) { + newValue ? this.bindResizeObserver() : this.unbindResizeObserver(); + }, "showNavigators"), + activeValue: { + flush: "post", + handler: /* @__PURE__ */ __name(function handler() { + this.updateInkBar(); + }, "handler") + } + }, + mounted: /* @__PURE__ */ __name(function mounted2() { + var _this = this; + this.$nextTick(function() { + _this.updateInkBar(); + }); + if (this.showNavigators) { + this.updateButtonState(); + this.bindResizeObserver(); + } + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated() { + this.showNavigators && this.updateButtonState(); + }, "updated"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount2() { + this.unbindResizeObserver(); + }, "beforeUnmount"), + methods: { + onScroll: /* @__PURE__ */ __name(function onScroll(event) { + this.showNavigators && this.updateButtonState(); + event.preventDefault(); + }, "onScroll"), + onPrevButtonClick: /* @__PURE__ */ __name(function onPrevButtonClick() { + var content2 = this.$refs.content; + var width = getWidth(content2); + var pos = content2.scrollLeft - width; + content2.scrollLeft = pos <= 0 ? 0 : pos; + }, "onPrevButtonClick"), + onNextButtonClick: /* @__PURE__ */ __name(function onNextButtonClick() { + var content2 = this.$refs.content; + var width = getWidth(content2) - this.getVisibleButtonWidths(); + var pos = content2.scrollLeft + width; + var lastPos = content2.scrollWidth - width; + content2.scrollLeft = pos >= lastPos ? lastPos : pos; + }, "onNextButtonClick"), + bindResizeObserver: /* @__PURE__ */ __name(function bindResizeObserver() { + var _this2 = this; + this.resizeObserver = new ResizeObserver(function() { + return _this2.updateButtonState(); + }); + this.resizeObserver.observe(this.$refs.list); + }, "bindResizeObserver"), + unbindResizeObserver: /* @__PURE__ */ __name(function unbindResizeObserver() { + var _this$resizeObserver; + (_this$resizeObserver = this.resizeObserver) === null || _this$resizeObserver === void 0 || _this$resizeObserver.unobserve(this.$refs.list); + this.resizeObserver = void 0; + }, "unbindResizeObserver"), + updateInkBar: /* @__PURE__ */ __name(function updateInkBar() { + var _this$$refs = this.$refs, content2 = _this$$refs.content, inkbar = _this$$refs.inkbar, tabs = _this$$refs.tabs; + var activeTab = findSingle(content2, '[data-pc-name="tab"][data-p-active="true"]'); + if (this.$pcTabs.isVertical()) { + inkbar.style.height = getOuterHeight(activeTab) + "px"; + inkbar.style.top = getOffset(activeTab).top - getOffset(tabs).top + "px"; + } else { + inkbar.style.width = getOuterWidth(activeTab) + "px"; + inkbar.style.left = getOffset(activeTab).left - getOffset(tabs).left + "px"; + } + }, "updateInkBar"), + updateButtonState: /* @__PURE__ */ __name(function updateButtonState() { + var _this$$refs2 = this.$refs, list = _this$$refs2.list, content2 = _this$$refs2.content; + var scrollLeft = content2.scrollLeft, scrollTop = content2.scrollTop, scrollWidth = content2.scrollWidth, scrollHeight = content2.scrollHeight, offsetWidth = content2.offsetWidth, offsetHeight = content2.offsetHeight; + var _ref = [getWidth(content2), getHeight(content2)], width = _ref[0], height = _ref[1]; + if (this.$pcTabs.isVertical()) { + this.isPrevButtonEnabled = scrollTop !== 0; + this.isNextButtonEnabled = list.offsetHeight >= offsetHeight && parseInt(scrollTop) !== scrollHeight - height; + } else { + this.isPrevButtonEnabled = scrollLeft !== 0; + this.isNextButtonEnabled = list.offsetWidth >= offsetWidth && parseInt(scrollLeft) !== scrollWidth - width; + } + }, "updateButtonState"), + getVisibleButtonWidths: /* @__PURE__ */ __name(function getVisibleButtonWidths() { + var _this$$refs3 = this.$refs, prevBtn = _this$$refs3.prevBtn, nextBtn = _this$$refs3.nextBtn; + return [prevBtn, nextBtn].reduce(function(acc, el) { + return el ? acc + getWidth(el) : acc; + }, 0); + }, "getVisibleButtonWidths") + }, + computed: { + templates: /* @__PURE__ */ __name(function templates() { + return this.$pcTabs.$slots; + }, "templates"), + activeValue: /* @__PURE__ */ __name(function activeValue() { + return this.$pcTabs.d_value; + }, "activeValue"), + showNavigators: /* @__PURE__ */ __name(function showNavigators2() { + return this.$pcTabs.scrollable && this.$pcTabs.showNavigators; + }, "showNavigators"), + prevButtonAriaLabel: /* @__PURE__ */ __name(function prevButtonAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.previous : void 0; + }, "prevButtonAriaLabel"), + nextButtonAriaLabel: /* @__PURE__ */ __name(function nextButtonAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.next : void 0; + }, "nextButtonAriaLabel") + }, + components: { + ChevronLeftIcon: script$f, + ChevronRightIcon: script$g + }, + directives: { + ripple: Ripple + } +}; +var _hoisted_1$o = ["aria-label", "tabindex"]; +var _hoisted_2$i = ["aria-orientation"]; +var _hoisted_3$h = ["aria-label", "tabindex"]; +function render$g(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("div", mergeProps({ + ref: "list", + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [$options.showNavigators && $data.isPrevButtonEnabled ? withDirectives((openBlock(), createElementBlock("button", mergeProps({ + key: 0, + ref: "prevButton", + "class": _ctx.cx("prevButton"), + "aria-label": $options.prevButtonAriaLabel, + tabindex: $options.$pcTabs.tabindex, + onClick: _cache[0] || (_cache[0] = function() { + return $options.onPrevButtonClick && $options.onPrevButtonClick.apply($options, arguments); + }) + }, _ctx.ptm("prevButton"), { + "data-pc-group-section": "navigator" + }), [(openBlock(), createBlock(resolveDynamicComponent($options.templates.previcon || "ChevronLeftIcon"), mergeProps({ + "aria-hidden": "true" + }, _ctx.ptm("prevIcon")), null, 16))], 16, _hoisted_1$o)), [[_directive_ripple]]) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + ref: "content", + "class": _ctx.cx("content"), + onScroll: _cache[1] || (_cache[1] = function() { + return $options.onScroll && $options.onScroll.apply($options, arguments); + }) + }, _ctx.ptm("content")), [createBaseVNode("div", mergeProps({ + ref: "tabs", + "class": _ctx.cx("tabList"), + role: "tablist", + "aria-orientation": $options.$pcTabs.orientation || "horizontal" + }, _ctx.ptm("tabList")), [renderSlot(_ctx.$slots, "default"), createBaseVNode("span", mergeProps({ + ref: "inkbar", + "class": _ctx.cx("activeBar"), + role: "presentation", + "aria-hidden": "true" + }, _ctx.ptm("activeBar")), null, 16)], 16, _hoisted_2$i)], 16), $options.showNavigators && $data.isNextButtonEnabled ? withDirectives((openBlock(), createElementBlock("button", mergeProps({ + key: 1, + ref: "nextButton", + "class": _ctx.cx("nextButton"), + "aria-label": $options.nextButtonAriaLabel, + tabindex: $options.$pcTabs.tabindex, + onClick: _cache[2] || (_cache[2] = function() { + return $options.onNextButtonClick && $options.onNextButtonClick.apply($options, arguments); + }) + }, _ctx.ptm("nextButton"), { + "data-pc-group-section": "navigator" + }), [(openBlock(), createBlock(resolveDynamicComponent($options.templates.nexticon || "ChevronRightIcon"), mergeProps({ + "aria-hidden": "true" + }, _ctx.ptm("nextIcon")), null, 16))], 16, _hoisted_3$h)), [[_directive_ripple]]) : createCommentVNode("", true)], 16); +} +__name(render$g, "render$g"); +script$9.render = render$g; +const _sfc_main$q = /* @__PURE__ */ defineComponent({ + __name: "ExtensionSlot", + props: { + extension: {} + }, + setup(__props) { + const props = __props; + const mountCustomExtension = /* @__PURE__ */ __name((extension, el) => { + extension.render(el); + }, "mountCustomExtension"); + onBeforeUnmount(() => { + if (props.extension.type === "custom" && props.extension.destroy) { + props.extension.destroy(); + } + }); + return (_ctx, _cache) => { + return _ctx.extension.type === "vue" ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.extension.component), { key: 0 })) : (openBlock(), createElementBlock("div", { + key: 1, + ref: /* @__PURE__ */ __name((el) => { + if (el) + mountCustomExtension( + props.extension, + el + ); + }, "ref") + }, null, 512)); + }; + } +}); +const _hoisted_1$n = { class: "flex flex-col h-full" }; +const _hoisted_2$h = { class: "w-full flex justify-between" }; +const _hoisted_3$g = { class: "tabs-container" }; +const _hoisted_4$6 = { class: "font-bold" }; +const _hoisted_5$4 = { class: "flex-grow h-0" }; +const _sfc_main$p = /* @__PURE__ */ defineComponent({ + __name: "BottomPanel", + setup(__props) { + const bottomPanelStore = useBottomPanelStore(); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$n, [ + createVNode(unref(script$h), { + value: unref(bottomPanelStore).activeBottomPanelTabId, + "onUpdate:value": _cache[1] || (_cache[1] = ($event) => unref(bottomPanelStore).activeBottomPanelTabId = $event) + }, { + default: withCtx(() => [ + createVNode(unref(script$9), { "pt:tabList": "border-none" }, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_2$h, [ + createBaseVNode("div", _hoisted_3$g, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(unref(bottomPanelStore).bottomPanelTabs, (tab) => { + return openBlock(), createBlock(unref(script$a), { + key: tab.id, + value: tab.id, + class: "p-3 border-none" + }, { + default: withCtx(() => [ + createBaseVNode("span", _hoisted_4$6, toDisplayString(tab.title.toUpperCase()), 1) + ]), + _: 2 + }, 1032, ["value"]); + }), 128)) + ]), + createVNode(unref(script$d), { + class: "justify-self-end", + icon: "pi pi-times", + severity: "secondary", + size: "small", + text: "", + onClick: _cache[0] || (_cache[0] = ($event) => unref(bottomPanelStore).bottomPanelVisible = false) + }) + ]) + ]), + _: 1 + }) + ]), + _: 1 + }, 8, ["value"]), + createBaseVNode("div", _hoisted_5$4, [ + unref(bottomPanelStore).bottomPanelVisible && unref(bottomPanelStore).activeBottomPanelTab ? (openBlock(), createBlock(_sfc_main$q, { + key: 0, + extension: unref(bottomPanelStore).activeBottomPanelTab + }, null, 8, ["extension"])) : createCommentVNode("", true) + ]) + ]); + }; + } +}); +const _hoisted_1$m = { + viewBox: "0 0 1024 1024", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$g = /* @__PURE__ */ createBaseVNode("path", { + fill: "currentColor", + d: "M921.088 103.232L584.832 889.024L465.52 544.512L121.328 440.48zM1004.46.769c-6.096 0-13.52 1.728-22.096 5.36L27.708 411.2c-34.383 14.592-36.56 42.704-4.847 62.464l395.296 123.584l129.36 403.264c9.28 15.184 20.496 22.72 31.263 22.72c11.936 0 23.296-9.152 31.04-27.248l408.272-953.728C1029.148 16.368 1022.86.769 1004.46.769" +}, null, -1); +const _hoisted_3$f = [ + _hoisted_2$g +]; +function render$f(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$m, [..._hoisted_3$f]); +} +__name(render$f, "render$f"); +const __unplugin_components_1$2 = markRaw({ name: "simple-line-icons-cursor", render: render$f }); +const _hoisted_1$l = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$f = /* @__PURE__ */ createBaseVNode("path", { + fill: "currentColor", + d: "M10.05 23q-.75 0-1.4-.337T7.575 21.7L1.2 12.375l.6-.575q.475-.475 1.125-.55t1.175.3L7 13.575V4q0-.425.288-.712T8 3t.713.288T9 4v13.425l-3.7-2.6l3.925 5.725q.125.2.35.325t.475.125H17q.825 0 1.413-.587T19 19V5q0-.425.288-.712T20 4t.713.288T21 5v14q0 1.65-1.175 2.825T17 23zM11 12V2q0-.425.288-.712T12 1t.713.288T13 2v10zm4 0V3q0-.425.288-.712T16 2t.713.288T17 3v9zm-2.85 4.5" +}, null, -1); +const _hoisted_3$e = [ + _hoisted_2$f +]; +function render$e(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$l, [..._hoisted_3$e]); +} +__name(render$e, "render$e"); +const __unplugin_components_0$2 = markRaw({ name: "material-symbols-pan-tool-outline", render: render$e }); +var theme$6 = /* @__PURE__ */ __name(function theme2(_ref) { + _ref.dt; + return "\n.p-buttongroup .p-button {\n margin: 0;\n}\n\n.p-buttongroup .p-button:not(:last-child),\n.p-buttongroup .p-button:not(:last-child):hover {\n border-right: 0 none;\n}\n\n.p-buttongroup .p-button:not(:first-of-type):not(:last-of-type) {\n border-radius: 0;\n}\n\n.p-buttongroup .p-button:first-of-type:not(:only-of-type) {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.p-buttongroup .p-button:last-of-type:not(:only-of-type) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.p-buttongroup .p-button:focus {\n position: relative;\n z-index: 1;\n}\n"; +}, "theme"); +var classes$6 = { + root: "p-buttongroup p-component" +}; +var ButtonGroupStyle = BaseStyle.extend({ + name: "buttongroup", + theme: theme$6, + classes: classes$6 +}); +var script$1$6 = { + name: "BaseButtonGroup", + "extends": script$e, + style: ButtonGroupStyle, + provide: /* @__PURE__ */ __name(function provide6() { + return { + $pcButtonGroup: this, + $parentInstance: this + }; + }, "provide") +}; +var script$8 = { + name: "ButtonGroup", + "extends": script$1$6, + inheritAttrs: false +}; +function render$d(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("span", mergeProps({ + "class": _ctx.cx("root"), + role: "group" + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$d, "render$d"); +script$8.render = render$d; +const useTitleEditorStore = defineStore("titleEditor", () => { + const titleEditorTarget = shallowRef(null); + return { + titleEditorTarget + }; +}); +const useCanvasStore = defineStore("canvas", () => { + const canvas = shallowRef(null); + return { + canvas + }; +}); +const _sfc_main$o = /* @__PURE__ */ defineComponent({ + __name: "GraphCanvasMenu", + setup(__props) { + const { t } = useI18n(); + const commandStore = useCommandStore(); + const canvasStore = useCanvasStore(); + const settingStore = useSettingStore(); + const linkHidden = computed( + () => settingStore.get("Comfy.LinkRenderMode") === LiteGraph.HIDDEN_LINK + ); + let interval = null; + const repeat2 = /* @__PURE__ */ __name((command) => { + if (interval) return; + const cmd = /* @__PURE__ */ __name(() => commandStore.execute(command), "cmd"); + cmd(); + interval = window.setInterval(cmd, 100); + }, "repeat"); + const stopRepeat = /* @__PURE__ */ __name(() => { + if (interval) { + clearInterval(interval); + interval = null; + } + }, "stopRepeat"); + return (_ctx, _cache) => { + const _component_i_material_symbols58pan_tool_outline = __unplugin_components_0$2; + const _component_i_simple_line_icons58cursor = __unplugin_components_1$2; + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createBlock(unref(script$8), { class: "p-buttongroup-vertical absolute bottom-[10px] right-[10px] z-[1000] pointer-events-auto" }, { + default: withCtx(() => [ + withDirectives(createVNode(unref(script$d), { + severity: "secondary", + icon: "pi pi-plus", + "aria-label": _ctx.$t("graphCanvasMenu.zoomIn"), + onMousedown: _cache[0] || (_cache[0] = ($event) => repeat2("Comfy.Canvas.ZoomIn")), + onMouseup: stopRepeat + }, null, 8, ["aria-label"]), [ + [ + _directive_tooltip, + unref(t)("graphCanvasMenu.zoomIn"), + void 0, + { left: true } + ] + ]), + withDirectives(createVNode(unref(script$d), { + severity: "secondary", + icon: "pi pi-minus", + "aria-label": _ctx.$t("graphCanvasMenu.zoomOut"), + onMousedown: _cache[1] || (_cache[1] = ($event) => repeat2("Comfy.Canvas.ZoomOut")), + onMouseup: stopRepeat + }, null, 8, ["aria-label"]), [ + [ + _directive_tooltip, + unref(t)("graphCanvasMenu.zoomOut"), + void 0, + { left: true } + ] + ]), + withDirectives(createVNode(unref(script$d), { + severity: "secondary", + icon: "pi pi-expand", + "aria-label": _ctx.$t("graphCanvasMenu.fitView"), + onClick: _cache[2] || (_cache[2] = () => unref(commandStore).execute("Comfy.Canvas.FitView")) + }, null, 8, ["aria-label"]), [ + [ + _directive_tooltip, + unref(t)("graphCanvasMenu.fitView"), + void 0, + { left: true } + ] + ]), + withDirectives((openBlock(), createBlock(unref(script$d), { + severity: "secondary", + "aria-label": unref(t)( + "graphCanvasMenu." + (unref(canvasStore).canvas?.read_only ? "panMode" : "selectMode") + ), + onClick: _cache[3] || (_cache[3] = () => unref(commandStore).execute("Comfy.Canvas.ToggleLock")) + }, { + icon: withCtx(() => [ + unref(canvasStore).canvas?.read_only ? (openBlock(), createBlock(_component_i_material_symbols58pan_tool_outline, { key: 0 })) : (openBlock(), createBlock(_component_i_simple_line_icons58cursor, { key: 1 })) + ]), + _: 1 + }, 8, ["aria-label"])), [ + [ + _directive_tooltip, + unref(t)( + "graphCanvasMenu." + (unref(canvasStore).canvas?.read_only ? "panMode" : "selectMode") + ) + " (Space)", + void 0, + { left: true } + ] + ]), + withDirectives(createVNode(unref(script$d), { + severity: "secondary", + icon: linkHidden.value ? "pi pi-eye-slash" : "pi pi-eye", + "aria-label": _ctx.$t("graphCanvasMenu.toggleLinkVisibility"), + onClick: _cache[4] || (_cache[4] = () => unref(commandStore).execute("Comfy.Canvas.ToggleLinkVisibility")), + "data-testid": "toggle-link-visibility-button" + }, null, 8, ["icon", "aria-label"]), [ + [ + _directive_tooltip, + unref(t)("graphCanvasMenu.toggleLinkVisibility"), + void 0, + { left: true } + ] + ]) + ]), + _: 1 + }); + }; + } +}); +const GraphCanvasMenu = /* @__PURE__ */ _export_sfc(_sfc_main$o, [["__scopeId", "data-v-cb8f9a1a"]]); +const _sfc_main$n = /* @__PURE__ */ defineComponent({ + __name: "NodeBadge", + setup(__props) { + const settingStore = useSettingStore(); + const colorPaletteStore = useColorPaletteStore(); + const nodeSourceBadgeMode = computed( + () => settingStore.get("Comfy.NodeBadge.NodeSourceBadgeMode") + ); + const nodeIdBadgeMode = computed( + () => settingStore.get("Comfy.NodeBadge.NodeIdBadgeMode") + ); + const nodeLifeCycleBadgeMode = computed( + () => settingStore.get("Comfy.NodeBadge.NodeLifeCycleBadgeMode") + ); + watch([nodeSourceBadgeMode, nodeIdBadgeMode, nodeLifeCycleBadgeMode], () => { + app.graph?.setDirtyCanvas(true, true); + }); + const nodeDefStore = useNodeDefStore(); + function badgeTextVisible(nodeDef, badgeMode) { + return !(badgeMode === NodeBadgeMode.None || nodeDef?.isCoreNode && badgeMode === NodeBadgeMode.HideBuiltIn); + } + __name(badgeTextVisible, "badgeTextVisible"); + onMounted(() => { + app.registerExtension({ + name: "Comfy.NodeBadge", + nodeCreated(node) { + node.badgePosition = BadgePosition.TopRight; + const badge = computed(() => { + const nodeDef = nodeDefStore.fromLGraphNode(node); + return new LGraphBadge({ + text: _.truncate( + [ + badgeTextVisible(nodeDef, nodeIdBadgeMode.value) ? `#${node.id}` : "", + badgeTextVisible(nodeDef, nodeLifeCycleBadgeMode.value) ? nodeDef?.nodeLifeCycleBadgeText ?? "" : "", + badgeTextVisible(nodeDef, nodeSourceBadgeMode.value) ? nodeDef?.nodeSource?.badgeText ?? "" : "" + ].filter((s) => s.length > 0).join(" "), + { + length: 31 + } + ), + fgColor: colorPaletteStore.completedActivePalette.colors.litegraph_base.BADGE_FG_COLOR, + bgColor: colorPaletteStore.completedActivePalette.colors.litegraph_base.BADGE_BG_COLOR + }); + }); + node.badges.push(() => badge.value); + } + }); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div"); + }; + } +}); +const _sfc_main$m = /* @__PURE__ */ defineComponent({ + __name: "NodeTooltip", + setup(__props) { + let idleTimeout; + const nodeDefStore = useNodeDefStore(); + const tooltipRef = ref(); + const tooltipText = ref(""); + const left = ref(); + const top = ref(); + const hideTooltip = /* @__PURE__ */ __name(() => tooltipText.value = null, "hideTooltip"); + const showTooltip = /* @__PURE__ */ __name(async (tooltip) => { + if (!tooltip) return; + left.value = app.canvas.mouse[0] + "px"; + top.value = app.canvas.mouse[1] + "px"; + tooltipText.value = tooltip; + await nextTick(); + const rect = tooltipRef.value.getBoundingClientRect(); + if (rect.right > window.innerWidth) { + left.value = app.canvas.mouse[0] - rect.width + "px"; + } + if (rect.top < 0) { + top.value = app.canvas.mouse[1] + rect.height + "px"; + } + }, "showTooltip"); + const onIdle = /* @__PURE__ */ __name(() => { + const { canvas } = app; + const node = canvas.node_over; + if (!node) return; + const ctor = node.constructor; + const nodeDef = nodeDefStore.nodeDefsByName[node.type]; + if (ctor.title_mode !== LiteGraph.NO_TITLE && canvas.graph_mouse[1] < node.pos[1]) { + return showTooltip(nodeDef.description); + } + if (node.flags?.collapsed) return; + const inputSlot = canvas.isOverNodeInput( + node, + canvas.graph_mouse[0], + canvas.graph_mouse[1], + [0, 0] + ); + if (inputSlot !== -1) { + const inputName = node.inputs[inputSlot].name; + const translatedTooltip = st( + `nodeDefs.${normalizeI18nKey(node.type)}.inputs.${normalizeI18nKey(inputName)}.tooltip`, + nodeDef.inputs.getInput(inputName)?.tooltip + ); + return showTooltip(translatedTooltip); + } + const outputSlot = canvas.isOverNodeOutput( + node, + canvas.graph_mouse[0], + canvas.graph_mouse[1], + [0, 0] + ); + if (outputSlot !== -1) { + const translatedTooltip = st( + `nodeDefs.${normalizeI18nKey(node.type)}.outputs.${outputSlot}.tooltip`, + nodeDef.outputs.all?.[outputSlot]?.tooltip + ); + return showTooltip(translatedTooltip); + } + const widget = app.canvas.getWidgetAtCursor(); + if (widget && !widget.element) { + const translatedTooltip = st( + `nodeDefs.${normalizeI18nKey(node.type)}.inputs.${normalizeI18nKey(widget.name)}.tooltip`, + nodeDef.inputs.getInput(widget.name)?.tooltip + ); + return showTooltip(widget.tooltip ?? translatedTooltip); + } + }, "onIdle"); + const onMouseMove = /* @__PURE__ */ __name((e) => { + hideTooltip(); + clearTimeout(idleTimeout); + if (e.target.nodeName !== "CANVAS") return; + idleTimeout = window.setTimeout(onIdle, 500); + }, "onMouseMove"); + useEventListener(window, "mousemove", onMouseMove); + useEventListener(window, "click", hideTooltip); + return (_ctx, _cache) => { + return tooltipText.value ? (openBlock(), createElementBlock("div", { + key: 0, + ref_key: "tooltipRef", + ref: tooltipRef, + class: "node-tooltip", + style: normalizeStyle({ left: left.value, top: top.value }) + }, toDisplayString(tooltipText.value), 5)) : createCommentVNode("", true); + }; + } +}); +const NodeTooltip = /* @__PURE__ */ _export_sfc(_sfc_main$m, [["__scopeId", "data-v-46859edf"]]); +const _sfc_main$l = /* @__PURE__ */ defineComponent({ + __name: "TitleEditor", + setup(__props) { + const settingStore = useSettingStore(); + const showInput = ref(false); + const editedTitle = ref(""); + const inputStyle = ref({ + position: "fixed", + left: "0px", + top: "0px", + width: "200px", + height: "20px", + fontSize: "12px" + }); + const titleEditorStore = useTitleEditorStore(); + const canvasStore = useCanvasStore(); + const previousCanvasDraggable = ref(true); + const onEdit = /* @__PURE__ */ __name((newValue) => { + if (titleEditorStore.titleEditorTarget && newValue.trim() !== "") { + titleEditorStore.titleEditorTarget.title = newValue.trim(); + app.graph.setDirtyCanvas(true, true); + } + showInput.value = false; + titleEditorStore.titleEditorTarget = null; + canvasStore.canvas.allow_dragcanvas = previousCanvasDraggable.value; + }, "onEdit"); + watch( + () => titleEditorStore.titleEditorTarget, + (target) => { + if (target === null) { + return; + } + editedTitle.value = target.title; + showInput.value = true; + previousCanvasDraggable.value = canvasStore.canvas.allow_dragcanvas; + canvasStore.canvas.allow_dragcanvas = false; + if (target instanceof LGraphGroup) { + const group = target; + const [x, y] = group.pos; + const [w, h] = group.size; + const [left, top] = app.canvasPosToClientPos([x, y]); + inputStyle.value.left = `${left}px`; + inputStyle.value.top = `${top}px`; + const width = w * app.canvas.ds.scale; + const height = group.titleHeight * app.canvas.ds.scale; + inputStyle.value.width = `${width}px`; + inputStyle.value.height = `${height}px`; + const fontSize = group.font_size * app.canvas.ds.scale; + inputStyle.value.fontSize = `${fontSize}px`; + } else if (target instanceof LGraphNode) { + const node = target; + const [x, y] = node.getBounding(); + const canvasWidth = node.width; + const canvasHeight = LiteGraph.NODE_TITLE_HEIGHT; + const [left, top] = app.canvasPosToClientPos([x, y]); + inputStyle.value.left = `${left}px`; + inputStyle.value.top = `${top}px`; + const width = canvasWidth * app.canvas.ds.scale; + const height = canvasHeight * app.canvas.ds.scale; + inputStyle.value.width = `${width}px`; + inputStyle.value.height = `${height}px`; + const fontSize = 12 * app.canvas.ds.scale; + inputStyle.value.fontSize = `${fontSize}px`; + } + } + ); + const canvasEventHandler = /* @__PURE__ */ __name((event) => { + if (event.detail.subType === "group-double-click") { + if (!settingStore.get("Comfy.Group.DoubleClickTitleToEdit")) { + return; + } + const group = event.detail.group; + const [x, y] = group.pos; + const e = event.detail.originalEvent; + const relativeY = e.canvasY - y; + if (relativeY <= group.titleHeight) { + titleEditorStore.titleEditorTarget = group; + } + } else if (event.detail.subType === "node-double-click") { + if (!settingStore.get("Comfy.Node.DoubleClickTitleToEdit")) { + return; + } + const node = event.detail.node; + const [x, y] = node.pos; + const e = event.detail.originalEvent; + const relativeY = e.canvasY - y; + if (relativeY <= 0) { + titleEditorStore.titleEditorTarget = node; + } + } + }, "canvasEventHandler"); + useEventListener(document, "litegraph:canvas", canvasEventHandler); + return (_ctx, _cache) => { + return showInput.value ? (openBlock(), createElementBlock("div", { + key: 0, + class: "group-title-editor node-title-editor", + style: normalizeStyle(inputStyle.value) + }, [ + createVNode(EditableText, { + isEditing: showInput.value, + modelValue: editedTitle.value, + onEdit + }, null, 8, ["isEditing", "modelValue"]) + ], 4)) : createCommentVNode("", true); + }; + } +}); +const TitleEditor = /* @__PURE__ */ _export_sfc(_sfc_main$l, [["__scopeId", "data-v-12d3fd12"]]); +const useSearchBoxStore = defineStore("searchBox", () => { + const visible = ref(false); + function toggleVisible() { + visible.value = !visible.value; + } + __name(toggleVisible, "toggleVisible"); + return { + visible, + toggleVisible + }; +}); +class ConnectingLinkImpl { + static { + __name(this, "ConnectingLinkImpl"); + } + constructor(node, slot, input, output, pos, afterRerouteId) { + this.node = node; + this.slot = slot; + this.input = input; + this.output = output; + this.pos = pos; + this.afterRerouteId = afterRerouteId; + } + static createFromPlainObject(obj) { + return new ConnectingLinkImpl( + obj.node, + obj.slot, + obj.input, + obj.output, + obj.pos, + obj.afterRerouteId + ); + } + get type() { + const result = this.input ? this.input.type : this.output?.type ?? null; + return result === -1 ? null : result; + } + /** + * Which slot type is release and need to be reconnected. + * - 'output' means we need a new node's outputs slot to connect with this link + */ + get releaseSlotType() { + return this.output ? "input" : "output"; + } + connectTo(newNode) { + const newNodeSlots = this.releaseSlotType === "output" ? newNode.outputs : newNode.inputs; + if (!newNodeSlots) return; + const newNodeSlot = newNodeSlots.findIndex( + (slot) => LiteGraph.isValidConnection(slot.type, this.type) + ); + if (newNodeSlot === -1) { + console.warn( + `Could not find slot with type ${this.type} on node ${newNode.title}. This should never happen` + ); + return; + } + if (this.releaseSlotType === "input") { + this.node.connect(this.slot, newNode, newNodeSlot, this.afterRerouteId); + } else { + newNode.connect(newNodeSlot, this.node, this.slot, this.afterRerouteId); + } + } +} +var theme$5 = /* @__PURE__ */ __name(function theme3(_ref) { + var dt = _ref.dt; + return "\n.p-autocomplete {\n display: inline-flex;\n}\n\n.p-autocomplete-loader {\n position: absolute;\n top: 50%;\n margin-top: -0.5rem;\n right: ".concat(dt("autocomplete.padding.x"), ";\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-loader {\n right: calc(").concat(dt("autocomplete.dropdown.width"), " + ").concat(dt("autocomplete.padding.x"), ");\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input {\n flex: 1 1 auto;\n width: 1%;\n}\n\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input,\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input-multiple {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n\n.p-autocomplete-dropdown {\n cursor: pointer;\n display: inline-flex;\n cursor: pointer;\n user-select: none;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n width: ").concat(dt("autocomplete.dropdown.width"), ";\n border-top-right-radius: ").concat(dt("autocomplete.dropdown.border.radius"), ";\n border-bottom-right-radius: ").concat(dt("autocomplete.dropdown.border.radius"), ";\n background: ").concat(dt("autocomplete.dropdown.background"), ";\n border: 1px solid ").concat(dt("autocomplete.dropdown.border.color"), ";\n border-left: 0 none;\n color: ").concat(dt("autocomplete.dropdown.color"), ";\n transition: background ").concat(dt("autocomplete.transition.duration"), ", color ").concat(dt("autocomplete.transition.duration"), ", border-color ").concat(dt("autocomplete.transition.duration"), ", outline-color ").concat(dt("autocomplete.transition.duration"), ", box-shadow ").concat(dt("autocomplete.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-autocomplete-dropdown:not(:disabled):hover {\n background: ").concat(dt("autocomplete.dropdown.hover.background"), ";\n border-color: ").concat(dt("autocomplete.dropdown.hover.border.color"), ";\n color: ").concat(dt("autocomplete.dropdown.hover.color"), ";\n}\n\n.p-autocomplete-dropdown:not(:disabled):active {\n background: ").concat(dt("autocomplete.dropdown.active.background"), ";\n border-color: ").concat(dt("autocomplete.dropdown.active.border.color"), ";\n color: ").concat(dt("autocomplete.dropdown.active.color"), ";\n}\n\n.p-autocomplete-dropdown:focus-visible {\n box-shadow: ").concat(dt("autocomplete.dropdown.focus.ring.shadow"), ";\n outline: ").concat(dt("autocomplete.dropdown.focus.ring.width"), " ").concat(dt("autocomplete.dropdown.focus.ring.style"), " ").concat(dt("autocomplete.dropdown.focus.ring.color"), ";\n outline-offset: ").concat(dt("autocomplete.dropdown.focus.ring.offset"), ";\n}\n\n.p-autocomplete .p-autocomplete-overlay {\n min-width: 100%;\n}\n\n.p-autocomplete-overlay {\n position: absolute;\n overflow: auto;\n top: 0;\n left: 0;\n background: ").concat(dt("autocomplete.overlay.background"), ";\n color: ").concat(dt("autocomplete.overlay.color"), ";\n border: 1px solid ").concat(dt("autocomplete.overlay.border.color"), ";\n border-radius: ").concat(dt("autocomplete.overlay.border.radius"), ";\n box-shadow: ").concat(dt("autocomplete.overlay.shadow"), ";\n}\n\n.p-autocomplete-list {\n margin: 0;\n padding: 0;\n list-style-type: none;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("autocomplete.list.gap"), ";\n padding: ").concat(dt("autocomplete.list.padding"), ";\n}\n\n.p-autocomplete-option {\n cursor: pointer;\n white-space: nowrap;\n position: relative;\n overflow: hidden;\n display: flex;\n align-items: center;\n padding: ").concat(dt("autocomplete.option.padding"), ";\n border: 0 none;\n color: ").concat(dt("autocomplete.option.color"), ";\n background: transparent;\n transition: background ").concat(dt("autocomplete.transition.duration"), ", color ").concat(dt("autocomplete.transition.duration"), ", border-color ").concat(dt("autocomplete.transition.duration"), ";\n border-radius: ").concat(dt("autocomplete.option.border.radius"), ";\n}\n\n.p-autocomplete-option:not(.p-autocomplete-option-selected):not(.p-disabled).p-focus {\n background: ").concat(dt("autocomplete.option.focus.background"), ";\n color: ").concat(dt("autocomplete.option.focus.color"), ";\n}\n\n.p-autocomplete-option-selected {\n background: ").concat(dt("autocomplete.option.selected.background"), ";\n color: ").concat(dt("autocomplete.option.selected.color"), ";\n}\n\n.p-autocomplete-option-selected.p-focus {\n background: ").concat(dt("autocomplete.option.selected.focus.background"), ";\n color: ").concat(dt("autocomplete.option.selected.focus.color"), ";\n}\n\n.p-autocomplete-option-group {\n margin: 0;\n padding: ").concat(dt("autocomplete.option.group.padding"), ";\n color: ").concat(dt("autocomplete.option.group.color"), ";\n background: ").concat(dt("autocomplete.option.group.background"), ";\n font-weight: ").concat(dt("autocomplete.option.group.font.weight"), ";\n}\n\n.p-autocomplete-input-multiple {\n margin: 0;\n list-style-type: none;\n cursor: text;\n overflow: hidden;\n display: flex;\n align-items: center;\n flex-wrap: wrap;\n padding: calc(").concat(dt("autocomplete.padding.y"), " / 2) ").concat(dt("autocomplete.padding.x"), ";\n gap: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n color: ").concat(dt("autocomplete.color"), ";\n background: ").concat(dt("autocomplete.background"), ";\n border: 1px solid ").concat(dt("autocomplete.border.color"), ";\n border-radius: ").concat(dt("autocomplete.border.radius"), ";\n width: 100%;\n transition: background ").concat(dt("autocomplete.transition.duration"), ", color ").concat(dt("autocomplete.transition.duration"), ", border-color ").concat(dt("autocomplete.transition.duration"), ", outline-color ").concat(dt("autocomplete.transition.duration"), ", box-shadow ").concat(dt("autocomplete.transition.duration"), ";\n outline-color: transparent;\n box-shadow: ").concat(dt("autocomplete.shadow"), ";\n}\n\n.p-autocomplete:not(.p-disabled):hover .p-autocomplete-input-multiple {\n border-color: ").concat(dt("autocomplete.hover.border.color"), ";\n}\n\n.p-autocomplete:not(.p-disabled).p-focus .p-autocomplete-input-multiple {\n border-color: ").concat(dt("autocomplete.focus.border.color"), ";\n box-shadow: ").concat(dt("autocomplete.focus.ring.shadow"), ";\n outline: ").concat(dt("autocomplete.focus.ring.width"), " ").concat(dt("autocomplete.focus.ring.style"), " ").concat(dt("autocomplete.focus.ring.color"), ";\n outline-offset: ").concat(dt("autocomplete.focus.ring.offset"), ";\n}\n\n.p-autocomplete.p-invalid .p-autocomplete-input-multiple {\n border-color: ").concat(dt("autocomplete.invalid.border.color"), ";\n}\n\n.p-variant-filled.p-autocomplete-input-multiple {\n background: ").concat(dt("autocomplete.filled.background"), ";\n}\n\n.p-autocomplete:not(.p-disabled).p-focus .p-variant-filled.p-autocomplete-input-multiple {\n background: ").concat(dt("autocomplete.filled.focus.background"), ";\n}\n\n.p-autocomplete.p-disabled .p-autocomplete-input-multiple {\n opacity: 1;\n background: ").concat(dt("autocomplete.disabled.background"), ";\n color: ").concat(dt("autocomplete.disabled.color"), ";\n}\n\n.p-autocomplete-chip.p-chip {\n padding-top: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n padding-bottom: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n border-radius: ").concat(dt("autocomplete.chip.border.radius"), ";\n}\n\n.p-autocomplete-input-multiple:has(.p-autocomplete-chip) {\n padding-left: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n padding-right: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n}\n\n.p-autocomplete-chip-item.p-focus .p-autocomplete-chip {\n background: ").concat(dt("inputchips.chip.focus.background"), ";\n color: ").concat(dt("inputchips.chip.focus.color"), ";\n}\n\n.p-autocomplete-input-chip {\n flex: 1 1 auto;\n display: inline-flex;\n padding-top: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n padding-bottom: calc(").concat(dt("autocomplete.padding.y"), " / 2);\n}\n\n.p-autocomplete-input-chip input {\n border: 0 none;\n outline: 0 none;\n background: transparent;\n margin: 0;\n padding: 0;\n box-shadow: none;\n border-radius: 0;\n width: 100%;\n font-family: inherit;\n font-feature-settings: inherit;\n font-size: 1rem;\n color: inherit;\n}\n\n.p-autocomplete-input-chip input::placeholder {\n color: ").concat(dt("autocomplete.placeholder.color"), ";\n}\n\n.p-autocomplete-empty-message {\n padding: ").concat(dt("autocomplete.empty.message.padding"), ";\n}\n\n.p-autocomplete-fluid {\n display: flex;\n}\n\n.p-autocomplete-fluid:has(.p-autocomplete-dropdown) .p-autocomplete-input {\n width: 1%;\n}\n"); +}, "theme"); +var inlineStyles$3 = { + root: { + position: "relative" + } +}; +var classes$5 = { + root: /* @__PURE__ */ __name(function root5(_ref2) { + var instance = _ref2.instance, props = _ref2.props; + return ["p-autocomplete p-component p-inputwrapper", { + "p-disabled": props.disabled, + "p-invalid": props.invalid, + "p-focus": instance.focused, + "p-inputwrapper-filled": props.modelValue || isNotEmpty(instance.inputValue), + "p-inputwrapper-focus": instance.focused, + "p-autocomplete-open": instance.overlayVisible, + "p-autocomplete-fluid": instance.hasFluid + }]; + }, "root"), + pcInput: "p-autocomplete-input", + inputMultiple: /* @__PURE__ */ __name(function inputMultiple(_ref3) { + var props = _ref3.props, instance = _ref3.instance; + return ["p-autocomplete-input-multiple", { + "p-variant-filled": props.variant ? props.variant === "filled" : instance.$primevue.config.inputStyle === "filled" || instance.$primevue.config.inputVariant === "filled" + }]; + }, "inputMultiple"), + chipItem: /* @__PURE__ */ __name(function chipItem(_ref4) { + var instance = _ref4.instance, i = _ref4.i; + return ["p-autocomplete-chip-item", { + "p-focus": instance.focusedMultipleOptionIndex === i + }]; + }, "chipItem"), + pcChip: "p-autocomplete-chip", + chipIcon: "p-autocomplete-chip-icon", + inputChip: "p-autocomplete-input-chip", + loader: "p-autocomplete-loader", + dropdown: "p-autocomplete-dropdown", + overlay: "p-autocomplete-overlay p-component", + list: "p-autocomplete-list", + optionGroup: "p-autocomplete-option-group", + option: /* @__PURE__ */ __name(function option(_ref5) { + var instance = _ref5.instance, _option = _ref5.option, i = _ref5.i, getItemOptions = _ref5.getItemOptions; + return ["p-autocomplete-option", { + "p-autocomplete-option-selected": instance.isSelected(_option), + "p-focus": instance.focusedOptionIndex === instance.getOptionIndex(i, getItemOptions), + "p-disabled": instance.isOptionDisabled(_option) + }]; + }, "option"), + emptyMessage: "p-autocomplete-empty-message" +}; +var AutoCompleteStyle = BaseStyle.extend({ + name: "autocomplete", + theme: theme$5, + classes: classes$5, + inlineStyles: inlineStyles$3 +}); +var script$1$5 = { + name: "BaseAutoComplete", + "extends": script$e, + props: { + modelValue: null, + suggestions: { + type: Array, + "default": null + }, + optionLabel: null, + optionDisabled: null, + optionGroupLabel: null, + optionGroupChildren: null, + scrollHeight: { + type: String, + "default": "14rem" + }, + dropdown: { + type: Boolean, + "default": false + }, + dropdownMode: { + type: String, + "default": "blank" + }, + multiple: { + type: Boolean, + "default": false + }, + loading: { + type: Boolean, + "default": false + }, + variant: { + type: String, + "default": null + }, + invalid: { + type: Boolean, + "default": false + }, + disabled: { + type: Boolean, + "default": false + }, + placeholder: { + type: String, + "default": null + }, + dataKey: { + type: String, + "default": null + }, + minLength: { + type: Number, + "default": 1 + }, + delay: { + type: Number, + "default": 300 + }, + appendTo: { + type: [String, Object], + "default": "body" + }, + forceSelection: { + type: Boolean, + "default": false + }, + completeOnFocus: { + type: Boolean, + "default": false + }, + inputId: { + type: String, + "default": null + }, + inputStyle: { + type: Object, + "default": null + }, + inputClass: { + type: [String, Object], + "default": null + }, + panelStyle: { + type: Object, + "default": null + }, + panelClass: { + type: [String, Object], + "default": null + }, + overlayStyle: { + type: Object, + "default": null + }, + overlayClass: { + type: [String, Object], + "default": null + }, + dropdownIcon: { + type: String, + "default": null + }, + dropdownClass: { + type: [String, Object], + "default": null + }, + loader: { + type: String, + "default": null + }, + loadingIcon: { + type: String, + "default": null + }, + removeTokenIcon: { + type: String, + "default": null + }, + chipIcon: { + type: String, + "default": null + }, + virtualScrollerOptions: { + type: Object, + "default": null + }, + autoOptionFocus: { + type: Boolean, + "default": false + }, + selectOnFocus: { + type: Boolean, + "default": false + }, + focusOnHover: { + type: Boolean, + "default": true + }, + searchLocale: { + type: String, + "default": void 0 + }, + searchMessage: { + type: String, + "default": null + }, + selectionMessage: { + type: String, + "default": null + }, + emptySelectionMessage: { + type: String, + "default": null + }, + emptySearchMessage: { + type: String, + "default": null + }, + tabindex: { + type: Number, + "default": 0 + }, + typeahead: { + type: Boolean, + "default": true + }, + ariaLabel: { + type: String, + "default": null + }, + ariaLabelledby: { + type: String, + "default": null + }, + fluid: { + type: Boolean, + "default": null + } + }, + style: AutoCompleteStyle, + provide: /* @__PURE__ */ __name(function provide7() { + return { + $pcAutoComplete: this, + $parentInstance: this + }; + }, "provide") +}; +function _typeof$1$1(o) { + "@babel/helpers - typeof"; + return _typeof$1$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$1$1(o); +} +__name(_typeof$1$1, "_typeof$1$1"); +function _toConsumableArray$1(r) { + return _arrayWithoutHoles$1(r) || _iterableToArray$1(r) || _unsupportedIterableToArray$1(r) || _nonIterableSpread$1(); +} +__name(_toConsumableArray$1, "_toConsumableArray$1"); +function _nonIterableSpread$1() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread$1, "_nonIterableSpread$1"); +function _unsupportedIterableToArray$1(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray$1(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray$1(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray$1, "_unsupportedIterableToArray$1"); +function _iterableToArray$1(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray$1, "_iterableToArray$1"); +function _arrayWithoutHoles$1(r) { + if (Array.isArray(r)) return _arrayLikeToArray$1(r); +} +__name(_arrayWithoutHoles$1, "_arrayWithoutHoles$1"); +function _arrayLikeToArray$1(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray$1, "_arrayLikeToArray$1"); +var script$7 = { + name: "AutoComplete", + "extends": script$1$5, + inheritAttrs: false, + emits: ["update:modelValue", "change", "focus", "blur", "item-select", "item-unselect", "option-select", "option-unselect", "dropdown-click", "clear", "complete", "before-show", "before-hide", "show", "hide"], + inject: { + $pcFluid: { + "default": null + } + }, + outsideClickListener: null, + resizeListener: null, + scrollHandler: null, + overlay: null, + virtualScroller: null, + searchTimeout: null, + dirty: false, + data: /* @__PURE__ */ __name(function data4() { + return { + id: this.$attrs.id, + clicked: false, + focused: false, + focusedOptionIndex: -1, + focusedMultipleOptionIndex: -1, + overlayVisible: false, + searching: false + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + suggestions: /* @__PURE__ */ __name(function suggestions() { + if (this.searching) { + this.show(); + this.focusedOptionIndex = this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1; + this.searching = false; + } + this.autoUpdateModel(); + }, "suggestions") + }, + mounted: /* @__PURE__ */ __name(function mounted3() { + this.id = this.id || UniqueComponentId(); + this.autoUpdateModel(); + }, "mounted"), + updated: /* @__PURE__ */ __name(function updated2() { + if (this.overlayVisible) { + this.alignOverlay(); + } + }, "updated"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount3() { + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + if (this.scrollHandler) { + this.scrollHandler.destroy(); + this.scrollHandler = null; + } + if (this.overlay) { + ZIndex.clear(this.overlay); + this.overlay = null; + } + }, "beforeUnmount"), + methods: { + getOptionIndex: /* @__PURE__ */ __name(function getOptionIndex(index, fn) { + return this.virtualScrollerDisabled ? index : fn && fn(index)["index"]; + }, "getOptionIndex"), + getOptionLabel: /* @__PURE__ */ __name(function getOptionLabel(option2) { + return this.optionLabel ? resolveFieldData(option2, this.optionLabel) : option2; + }, "getOptionLabel"), + getOptionValue: /* @__PURE__ */ __name(function getOptionValue(option2) { + return option2; + }, "getOptionValue"), + getOptionRenderKey: /* @__PURE__ */ __name(function getOptionRenderKey(option2, index) { + return (this.dataKey ? resolveFieldData(option2, this.dataKey) : this.getOptionLabel(option2)) + "_" + index; + }, "getOptionRenderKey"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions3(option2, itemOptions, index, key) { + return this.ptm(key, { + context: { + selected: this.isSelected(option2), + focused: this.focusedOptionIndex === this.getOptionIndex(index, itemOptions), + disabled: this.isOptionDisabled(option2) + } + }); + }, "getPTOptions"), + isOptionDisabled: /* @__PURE__ */ __name(function isOptionDisabled(option2) { + return this.optionDisabled ? resolveFieldData(option2, this.optionDisabled) : false; + }, "isOptionDisabled"), + isOptionGroup: /* @__PURE__ */ __name(function isOptionGroup(option2) { + return this.optionGroupLabel && option2.optionGroup && option2.group; + }, "isOptionGroup"), + getOptionGroupLabel: /* @__PURE__ */ __name(function getOptionGroupLabel(optionGroup) { + return resolveFieldData(optionGroup, this.optionGroupLabel); + }, "getOptionGroupLabel"), + getOptionGroupChildren: /* @__PURE__ */ __name(function getOptionGroupChildren(optionGroup) { + return resolveFieldData(optionGroup, this.optionGroupChildren); + }, "getOptionGroupChildren"), + getAriaPosInset: /* @__PURE__ */ __name(function getAriaPosInset(index) { + var _this = this; + return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter(function(option2) { + return _this.isOptionGroup(option2); + }).length : index) + 1; + }, "getAriaPosInset"), + show: /* @__PURE__ */ __name(function show(isFocus) { + this.$emit("before-show"); + this.dirty = true; + this.overlayVisible = true; + this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1; + isFocus && focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el); + }, "show"), + hide: /* @__PURE__ */ __name(function hide(isFocus) { + var _this2 = this; + var _hide = /* @__PURE__ */ __name(function _hide2() { + _this2.$emit("before-hide"); + _this2.dirty = isFocus; + _this2.overlayVisible = false; + _this2.clicked = false; + _this2.focusedOptionIndex = -1; + isFocus && focus(_this2.multiple ? _this2.$refs.focusInput : _this2.$refs.focusInput.$el); + }, "_hide"); + setTimeout(function() { + _hide(); + }, 0); + }, "hide"), + onFocus: /* @__PURE__ */ __name(function onFocus2(event) { + if (this.disabled) { + return; + } + if (!this.dirty && this.completeOnFocus) { + this.search(event, event.target.value, "focus"); + } + this.dirty = true; + this.focused = true; + if (this.overlayVisible) { + this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1; + this.scrollInView(this.focusedOptionIndex); + } + this.$emit("focus", event); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur(event) { + this.dirty = false; + this.focused = false; + this.focusedOptionIndex = -1; + this.$emit("blur", event); + }, "onBlur"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown(event) { + if (this.disabled) { + event.preventDefault(); + return; + } + switch (event.code) { + case "ArrowDown": + this.onArrowDownKey(event); + break; + case "ArrowUp": + this.onArrowUpKey(event); + break; + case "ArrowLeft": + this.onArrowLeftKey(event); + break; + case "ArrowRight": + this.onArrowRightKey(event); + break; + case "Home": + this.onHomeKey(event); + break; + case "End": + this.onEndKey(event); + break; + case "PageDown": + this.onPageDownKey(event); + break; + case "PageUp": + this.onPageUpKey(event); + break; + case "Enter": + case "NumpadEnter": + this.onEnterKey(event); + break; + case "Escape": + this.onEscapeKey(event); + break; + case "Tab": + this.onTabKey(event); + break; + case "Backspace": + this.onBackspaceKey(event); + break; + } + this.clicked = false; + }, "onKeyDown"), + onInput: /* @__PURE__ */ __name(function onInput(event) { + var _this3 = this; + if (this.typeahead) { + if (this.searchTimeout) { + clearTimeout(this.searchTimeout); + } + var query = event.target.value; + if (!this.multiple) { + this.updateModel(event, query); + } + if (query.length === 0) { + this.hide(); + this.$emit("clear"); + } else { + if (query.length >= this.minLength) { + this.focusedOptionIndex = -1; + this.searchTimeout = setTimeout(function() { + _this3.search(event, query, "input"); + }, this.delay); + } else { + this.hide(); + } + } + } + }, "onInput"), + onChange: /* @__PURE__ */ __name(function onChange(event) { + var _this4 = this; + if (this.forceSelection) { + var valid = false; + if (this.visibleOptions && !this.multiple) { + var value = this.multiple ? this.$refs.focusInput.value : this.$refs.focusInput.$el.value; + var matchedValue = this.visibleOptions.find(function(option2) { + return _this4.isOptionMatched(option2, value || ""); + }); + if (matchedValue !== void 0) { + valid = true; + !this.isSelected(matchedValue) && this.onOptionSelect(event, matchedValue); + } + } + if (!valid) { + if (this.multiple) this.$refs.focusInput.value = ""; + else this.$refs.focusInput.$el.value = ""; + this.$emit("clear"); + !this.multiple && this.updateModel(event, null); + } + } + }, "onChange"), + onMultipleContainerFocus: /* @__PURE__ */ __name(function onMultipleContainerFocus() { + if (this.disabled) { + return; + } + this.focused = true; + }, "onMultipleContainerFocus"), + onMultipleContainerBlur: /* @__PURE__ */ __name(function onMultipleContainerBlur() { + this.focusedMultipleOptionIndex = -1; + this.focused = false; + }, "onMultipleContainerBlur"), + onMultipleContainerKeyDown: /* @__PURE__ */ __name(function onMultipleContainerKeyDown(event) { + if (this.disabled) { + event.preventDefault(); + return; + } + switch (event.code) { + case "ArrowLeft": + this.onArrowLeftKeyOnMultiple(event); + break; + case "ArrowRight": + this.onArrowRightKeyOnMultiple(event); + break; + case "Backspace": + this.onBackspaceKeyOnMultiple(event); + break; + } + }, "onMultipleContainerKeyDown"), + onContainerClick: /* @__PURE__ */ __name(function onContainerClick(event) { + this.clicked = true; + if (this.disabled || this.searching || this.loading || this.isInputClicked(event) || this.isDropdownClicked(event)) { + return; + } + if (!this.overlay || !this.overlay.contains(event.target)) { + focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el); + } + }, "onContainerClick"), + onDropdownClick: /* @__PURE__ */ __name(function onDropdownClick(event) { + var query = void 0; + if (this.overlayVisible) { + this.hide(true); + } else { + var target = this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el; + focus(target); + query = target.value; + if (this.dropdownMode === "blank") this.search(event, "", "dropdown"); + else if (this.dropdownMode === "current") this.search(event, query, "dropdown"); + } + this.$emit("dropdown-click", { + originalEvent: event, + query + }); + }, "onDropdownClick"), + onOptionSelect: /* @__PURE__ */ __name(function onOptionSelect(event, option2) { + var isHide = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : true; + var value = this.getOptionValue(option2); + if (this.multiple) { + this.$refs.focusInput.value = ""; + if (!this.isSelected(option2)) { + this.updateModel(event, [].concat(_toConsumableArray$1(this.modelValue || []), [value])); + } + } else { + this.updateModel(event, value); + } + this.$emit("item-select", { + originalEvent: event, + value: option2 + }); + this.$emit("option-select", { + originalEvent: event, + value: option2 + }); + isHide && this.hide(true); + }, "onOptionSelect"), + onOptionMouseMove: /* @__PURE__ */ __name(function onOptionMouseMove(event, index) { + if (this.focusOnHover) { + this.changeFocusedOptionIndex(event, index); + } + }, "onOptionMouseMove"), + onOverlayClick: /* @__PURE__ */ __name(function onOverlayClick(event) { + OverlayEventBus.emit("overlay-click", { + originalEvent: event, + target: this.$el + }); + }, "onOverlayClick"), + onOverlayKeyDown: /* @__PURE__ */ __name(function onOverlayKeyDown(event) { + switch (event.code) { + case "Escape": + this.onEscapeKey(event); + break; + } + }, "onOverlayKeyDown"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey(event) { + if (!this.overlayVisible) { + return; + } + var optionIndex = this.focusedOptionIndex !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex(); + this.changeFocusedOptionIndex(event, optionIndex); + event.preventDefault(); + }, "onArrowDownKey"), + onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey(event) { + if (!this.overlayVisible) { + return; + } + if (event.altKey) { + if (this.focusedOptionIndex !== -1) { + this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]); + } + this.overlayVisible && this.hide(); + event.preventDefault(); + } else { + var optionIndex = this.focusedOptionIndex !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex(); + this.changeFocusedOptionIndex(event, optionIndex); + event.preventDefault(); + } + }, "onArrowUpKey"), + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey2(event) { + var target = event.currentTarget; + this.focusedOptionIndex = -1; + if (this.multiple) { + if (isEmpty(target.value) && this.hasSelectedOption) { + focus(this.$refs.multiContainer); + this.focusedMultipleOptionIndex = this.modelValue.length; + } else { + event.stopPropagation(); + } + } + }, "onArrowLeftKey"), + onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey2(event) { + this.focusedOptionIndex = -1; + this.multiple && event.stopPropagation(); + }, "onArrowRightKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey2(event) { + var currentTarget = event.currentTarget; + var len = currentTarget.value.length; + currentTarget.setSelectionRange(0, event.shiftKey ? len : 0); + this.focusedOptionIndex = -1; + event.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey2(event) { + var currentTarget = event.currentTarget; + var len = currentTarget.value.length; + currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len); + this.focusedOptionIndex = -1; + event.preventDefault(); + }, "onEndKey"), + onPageUpKey: /* @__PURE__ */ __name(function onPageUpKey2(event) { + this.scrollInView(0); + event.preventDefault(); + }, "onPageUpKey"), + onPageDownKey: /* @__PURE__ */ __name(function onPageDownKey2(event) { + this.scrollInView(this.visibleOptions.length - 1); + event.preventDefault(); + }, "onPageDownKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey2(event) { + if (!this.typeahead) { + if (this.multiple) { + this.updateModel(event, [].concat(_toConsumableArray$1(this.modelValue || []), [event.target.value])); + this.$refs.focusInput.value = ""; + } + } else { + if (!this.overlayVisible) { + this.focusedOptionIndex = -1; + this.onArrowDownKey(event); + } else { + if (this.focusedOptionIndex !== -1) { + this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]); + } + this.hide(); + } + } + }, "onEnterKey"), + onEscapeKey: /* @__PURE__ */ __name(function onEscapeKey(event) { + this.overlayVisible && this.hide(true); + event.preventDefault(); + }, "onEscapeKey"), + onTabKey: /* @__PURE__ */ __name(function onTabKey(event) { + if (this.focusedOptionIndex !== -1) { + this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]); + } + this.overlayVisible && this.hide(); + }, "onTabKey"), + onBackspaceKey: /* @__PURE__ */ __name(function onBackspaceKey(event) { + if (this.multiple) { + if (isNotEmpty(this.modelValue) && !this.$refs.focusInput.value) { + var removedValue = this.modelValue[this.modelValue.length - 1]; + var newValue = this.modelValue.slice(0, -1); + this.$emit("update:modelValue", newValue); + this.$emit("item-unselect", { + originalEvent: event, + value: removedValue + }); + this.$emit("option-unselect", { + originalEvent: event, + value: removedValue + }); + } + event.stopPropagation(); + } + }, "onBackspaceKey"), + onArrowLeftKeyOnMultiple: /* @__PURE__ */ __name(function onArrowLeftKeyOnMultiple() { + this.focusedMultipleOptionIndex = this.focusedMultipleOptionIndex < 1 ? 0 : this.focusedMultipleOptionIndex - 1; + }, "onArrowLeftKeyOnMultiple"), + onArrowRightKeyOnMultiple: /* @__PURE__ */ __name(function onArrowRightKeyOnMultiple() { + this.focusedMultipleOptionIndex++; + if (this.focusedMultipleOptionIndex > this.modelValue.length - 1) { + this.focusedMultipleOptionIndex = -1; + focus(this.$refs.focusInput); + } + }, "onArrowRightKeyOnMultiple"), + onBackspaceKeyOnMultiple: /* @__PURE__ */ __name(function onBackspaceKeyOnMultiple(event) { + if (this.focusedMultipleOptionIndex !== -1) { + this.removeOption(event, this.focusedMultipleOptionIndex); + } + }, "onBackspaceKeyOnMultiple"), + onOverlayEnter: /* @__PURE__ */ __name(function onOverlayEnter(el) { + ZIndex.set("overlay", el, this.$primevue.config.zIndex.overlay); + addStyle(el, { + position: "absolute", + top: "0", + left: "0" + }); + this.alignOverlay(); + }, "onOverlayEnter"), + onOverlayAfterEnter: /* @__PURE__ */ __name(function onOverlayAfterEnter() { + this.bindOutsideClickListener(); + this.bindScrollListener(); + this.bindResizeListener(); + this.$emit("show"); + }, "onOverlayAfterEnter"), + onOverlayLeave: /* @__PURE__ */ __name(function onOverlayLeave() { + this.unbindOutsideClickListener(); + this.unbindScrollListener(); + this.unbindResizeListener(); + this.$emit("hide"); + this.overlay = null; + }, "onOverlayLeave"), + onOverlayAfterLeave: /* @__PURE__ */ __name(function onOverlayAfterLeave(el) { + ZIndex.clear(el); + }, "onOverlayAfterLeave"), + alignOverlay: /* @__PURE__ */ __name(function alignOverlay() { + var target = this.multiple ? this.$refs.multiContainer : this.$refs.focusInput.$el; + if (this.appendTo === "self") { + relativePosition(this.overlay, target); + } else { + this.overlay.style.minWidth = getOuterWidth(target) + "px"; + absolutePosition(this.overlay, target); + } + }, "alignOverlay"), + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener() { + var _this5 = this; + if (!this.outsideClickListener) { + this.outsideClickListener = function(event) { + if (_this5.overlayVisible && _this5.overlay && _this5.isOutsideClicked(event)) { + _this5.hide(); + } + }; + document.addEventListener("click", this.outsideClickListener); + } + }, "bindOutsideClickListener"), + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener() { + if (this.outsideClickListener) { + document.removeEventListener("click", this.outsideClickListener); + this.outsideClickListener = null; + } + }, "unbindOutsideClickListener"), + bindScrollListener: /* @__PURE__ */ __name(function bindScrollListener() { + var _this6 = this; + if (!this.scrollHandler) { + this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, function() { + if (_this6.overlayVisible) { + _this6.hide(); + } + }); + } + this.scrollHandler.bindScrollListener(); + }, "bindScrollListener"), + unbindScrollListener: /* @__PURE__ */ __name(function unbindScrollListener() { + if (this.scrollHandler) { + this.scrollHandler.unbindScrollListener(); + } + }, "unbindScrollListener"), + bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener() { + var _this7 = this; + if (!this.resizeListener) { + this.resizeListener = function() { + if (_this7.overlayVisible && !isTouchDevice()) { + _this7.hide(); + } + }; + window.addEventListener("resize", this.resizeListener); + } + }, "bindResizeListener"), + unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener() { + if (this.resizeListener) { + window.removeEventListener("resize", this.resizeListener); + this.resizeListener = null; + } + }, "unbindResizeListener"), + isOutsideClicked: /* @__PURE__ */ __name(function isOutsideClicked(event) { + return !this.overlay.contains(event.target) && !this.isInputClicked(event) && !this.isDropdownClicked(event); + }, "isOutsideClicked"), + isInputClicked: /* @__PURE__ */ __name(function isInputClicked(event) { + if (this.multiple) return event.target === this.$refs.multiContainer || this.$refs.multiContainer.contains(event.target); + else return event.target === this.$refs.focusInput.$el; + }, "isInputClicked"), + isDropdownClicked: /* @__PURE__ */ __name(function isDropdownClicked(event) { + return this.$refs.dropdownButton ? event.target === this.$refs.dropdownButton || this.$refs.dropdownButton.contains(event.target) : false; + }, "isDropdownClicked"), + isOptionMatched: /* @__PURE__ */ __name(function isOptionMatched(option2, value) { + var _this$getOptionLabel; + return this.isValidOption(option2) && ((_this$getOptionLabel = this.getOptionLabel(option2)) === null || _this$getOptionLabel === void 0 ? void 0 : _this$getOptionLabel.toLocaleLowerCase(this.searchLocale)) === value.toLocaleLowerCase(this.searchLocale); + }, "isOptionMatched"), + isValidOption: /* @__PURE__ */ __name(function isValidOption(option2) { + return isNotEmpty(option2) && !(this.isOptionDisabled(option2) || this.isOptionGroup(option2)); + }, "isValidOption"), + isValidSelectedOption: /* @__PURE__ */ __name(function isValidSelectedOption(option2) { + return this.isValidOption(option2) && this.isSelected(option2); + }, "isValidSelectedOption"), + isEquals: /* @__PURE__ */ __name(function isEquals(value1, value2) { + return equals(value1, value2, this.equalityKey); + }, "isEquals"), + isSelected: /* @__PURE__ */ __name(function isSelected(option2) { + var _this8 = this; + var optionValue = this.getOptionValue(option2); + return this.multiple ? (this.modelValue || []).some(function(value) { + return _this8.isEquals(value, optionValue); + }) : this.isEquals(this.modelValue, this.getOptionValue(option2)); + }, "isSelected"), + findFirstOptionIndex: /* @__PURE__ */ __name(function findFirstOptionIndex() { + var _this9 = this; + return this.visibleOptions.findIndex(function(option2) { + return _this9.isValidOption(option2); + }); + }, "findFirstOptionIndex"), + findLastOptionIndex: /* @__PURE__ */ __name(function findLastOptionIndex() { + var _this10 = this; + return findLastIndex(this.visibleOptions, function(option2) { + return _this10.isValidOption(option2); + }); + }, "findLastOptionIndex"), + findNextOptionIndex: /* @__PURE__ */ __name(function findNextOptionIndex(index) { + var _this11 = this; + var matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex(function(option2) { + return _this11.isValidOption(option2); + }) : -1; + return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index; + }, "findNextOptionIndex"), + findPrevOptionIndex: /* @__PURE__ */ __name(function findPrevOptionIndex(index) { + var _this12 = this; + var matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions.slice(0, index), function(option2) { + return _this12.isValidOption(option2); + }) : -1; + return matchedOptionIndex > -1 ? matchedOptionIndex : index; + }, "findPrevOptionIndex"), + findSelectedOptionIndex: /* @__PURE__ */ __name(function findSelectedOptionIndex() { + var _this13 = this; + return this.hasSelectedOption ? this.visibleOptions.findIndex(function(option2) { + return _this13.isValidSelectedOption(option2); + }) : -1; + }, "findSelectedOptionIndex"), + findFirstFocusedOptionIndex: /* @__PURE__ */ __name(function findFirstFocusedOptionIndex() { + var selectedIndex = this.findSelectedOptionIndex(); + return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex; + }, "findFirstFocusedOptionIndex"), + findLastFocusedOptionIndex: /* @__PURE__ */ __name(function findLastFocusedOptionIndex() { + var selectedIndex = this.findSelectedOptionIndex(); + return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex; + }, "findLastFocusedOptionIndex"), + search: /* @__PURE__ */ __name(function search(event, query, source) { + if (query === void 0 || query === null) { + return; + } + if (source === "input" && query.trim().length === 0) { + return; + } + this.searching = true; + this.$emit("complete", { + originalEvent: event, + query + }); + }, "search"), + removeOption: /* @__PURE__ */ __name(function removeOption(event, index) { + var _this14 = this; + var removedOption = this.modelValue[index]; + var value = this.modelValue.filter(function(_2, i) { + return i !== index; + }).map(function(option2) { + return _this14.getOptionValue(option2); + }); + this.updateModel(event, value); + this.$emit("item-unselect", { + originalEvent: event, + value: removedOption + }); + this.$emit("option-unselect", { + originalEvent: event, + value: removedOption + }); + this.dirty = true; + focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el); + }, "removeOption"), + changeFocusedOptionIndex: /* @__PURE__ */ __name(function changeFocusedOptionIndex(event, index) { + if (this.focusedOptionIndex !== index) { + this.focusedOptionIndex = index; + this.scrollInView(); + if (this.selectOnFocus) { + this.onOptionSelect(event, this.visibleOptions[index], false); + } + } + }, "changeFocusedOptionIndex"), + scrollInView: /* @__PURE__ */ __name(function scrollInView2() { + var _this15 = this; + var index = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1; + this.$nextTick(function() { + var id2 = index !== -1 ? "".concat(_this15.id, "_").concat(index) : _this15.focusedOptionId; + var element = findSingle(_this15.list, 'li[id="'.concat(id2, '"]')); + if (element) { + element.scrollIntoView && element.scrollIntoView({ + block: "nearest", + inline: "start" + }); + } else if (!_this15.virtualScrollerDisabled) { + _this15.virtualScroller && _this15.virtualScroller.scrollToIndex(index !== -1 ? index : _this15.focusedOptionIndex); + } + }); + }, "scrollInView"), + autoUpdateModel: /* @__PURE__ */ __name(function autoUpdateModel() { + if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption) { + this.focusedOptionIndex = this.findFirstFocusedOptionIndex(); + this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false); + } + }, "autoUpdateModel"), + updateModel: /* @__PURE__ */ __name(function updateModel(event, value) { + this.$emit("update:modelValue", value); + this.$emit("change", { + originalEvent: event, + value + }); + }, "updateModel"), + flatOptions: /* @__PURE__ */ __name(function flatOptions(options) { + var _this16 = this; + return (options || []).reduce(function(result, option2, index) { + result.push({ + optionGroup: option2, + group: true, + index + }); + var optionGroupChildren = _this16.getOptionGroupChildren(option2); + optionGroupChildren && optionGroupChildren.forEach(function(o) { + return result.push(o); + }); + return result; + }, []); + }, "flatOptions"), + overlayRef: /* @__PURE__ */ __name(function overlayRef(el) { + this.overlay = el; + }, "overlayRef"), + listRef: /* @__PURE__ */ __name(function listRef(el, contentRef) { + this.list = el; + contentRef && contentRef(el); + }, "listRef"), + virtualScrollerRef: /* @__PURE__ */ __name(function virtualScrollerRef(el) { + this.virtualScroller = el; + }, "virtualScrollerRef") + }, + computed: { + visibleOptions: /* @__PURE__ */ __name(function visibleOptions() { + return this.optionGroupLabel ? this.flatOptions(this.suggestions) : this.suggestions || []; + }, "visibleOptions"), + inputValue: /* @__PURE__ */ __name(function inputValue() { + if (isNotEmpty(this.modelValue)) { + if (_typeof$1$1(this.modelValue) === "object") { + var label = this.getOptionLabel(this.modelValue); + return label != null ? label : this.modelValue; + } else { + return this.modelValue; + } + } else { + return ""; + } + }, "inputValue"), + hasSelectedOption: /* @__PURE__ */ __name(function hasSelectedOption() { + return isNotEmpty(this.modelValue); + }, "hasSelectedOption"), + equalityKey: /* @__PURE__ */ __name(function equalityKey() { + return this.dataKey; + }, "equalityKey"), + searchResultMessageText: /* @__PURE__ */ __name(function searchResultMessageText() { + return isNotEmpty(this.visibleOptions) && this.overlayVisible ? this.searchMessageText.replaceAll("{0}", this.visibleOptions.length) : this.emptySearchMessageText; + }, "searchResultMessageText"), + searchMessageText: /* @__PURE__ */ __name(function searchMessageText() { + return this.searchMessage || this.$primevue.config.locale.searchMessage || ""; + }, "searchMessageText"), + emptySearchMessageText: /* @__PURE__ */ __name(function emptySearchMessageText() { + return this.emptySearchMessage || this.$primevue.config.locale.emptySearchMessage || ""; + }, "emptySearchMessageText"), + selectionMessageText: /* @__PURE__ */ __name(function selectionMessageText() { + return this.selectionMessage || this.$primevue.config.locale.selectionMessage || ""; + }, "selectionMessageText"), + emptySelectionMessageText: /* @__PURE__ */ __name(function emptySelectionMessageText() { + return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || ""; + }, "emptySelectionMessageText"), + selectedMessageText: /* @__PURE__ */ __name(function selectedMessageText() { + return this.hasSelectedOption ? this.selectionMessageText.replaceAll("{0}", this.multiple ? this.modelValue.length : "1") : this.emptySelectionMessageText; + }, "selectedMessageText"), + listAriaLabel: /* @__PURE__ */ __name(function listAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.listLabel : void 0; + }, "listAriaLabel"), + focusedOptionId: /* @__PURE__ */ __name(function focusedOptionId() { + return this.focusedOptionIndex !== -1 ? "".concat(this.id, "_").concat(this.focusedOptionIndex) : null; + }, "focusedOptionId"), + focusedMultipleOptionId: /* @__PURE__ */ __name(function focusedMultipleOptionId() { + return this.focusedMultipleOptionIndex !== -1 ? "".concat(this.id, "_multiple_option_").concat(this.focusedMultipleOptionIndex) : null; + }, "focusedMultipleOptionId"), + ariaSetSize: /* @__PURE__ */ __name(function ariaSetSize() { + var _this17 = this; + return this.visibleOptions.filter(function(option2) { + return !_this17.isOptionGroup(option2); + }).length; + }, "ariaSetSize"), + virtualScrollerDisabled: /* @__PURE__ */ __name(function virtualScrollerDisabled() { + return !this.virtualScrollerOptions; + }, "virtualScrollerDisabled"), + panelId: /* @__PURE__ */ __name(function panelId() { + return this.id + "_panel"; + }, "panelId"), + hasFluid: /* @__PURE__ */ __name(function hasFluid() { + return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid; + }, "hasFluid") + }, + components: { + InputText: script$i, + VirtualScroller: script$j, + Portal: script$k, + ChevronDownIcon: script$l, + SpinnerIcon: script$m, + Chip: script$n + }, + directives: { + ripple: Ripple + } +}; +function _typeof$4(o) { + "@babel/helpers - typeof"; + return _typeof$4 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$4(o); +} +__name(_typeof$4, "_typeof$4"); +function ownKeys$3(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys$3, "ownKeys$3"); +function _objectSpread$3(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$3(Object(t), true).forEach(function(r2) { + _defineProperty$4(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$3(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$3, "_objectSpread$3"); +function _defineProperty$4(e, r, t) { + return (r = _toPropertyKey$4(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$4, "_defineProperty$4"); +function _toPropertyKey$4(t) { + var i = _toPrimitive$4(t, "string"); + return "symbol" == _typeof$4(i) ? i : i + ""; +} +__name(_toPropertyKey$4, "_toPropertyKey$4"); +function _toPrimitive$4(t, r) { + if ("object" != _typeof$4(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$4(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$4, "_toPrimitive$4"); +var _hoisted_1$k = ["aria-activedescendant"]; +var _hoisted_2$e = ["id", "aria-label", "aria-setsize", "aria-posinset"]; +var _hoisted_3$d = ["id", "placeholder", "tabindex", "disabled", "aria-label", "aria-labelledby", "aria-expanded", "aria-controls", "aria-activedescendant", "aria-invalid"]; +var _hoisted_4$5 = ["disabled", "aria-expanded", "aria-controls"]; +var _hoisted_5$3 = ["id"]; +var _hoisted_6$2 = ["id", "aria-label"]; +var _hoisted_7$1 = ["id"]; +var _hoisted_8$1 = ["id", "aria-label", "aria-selected", "aria-disabled", "aria-setsize", "aria-posinset", "onClick", "onMousemove", "data-p-selected", "data-p-focus", "data-p-disabled"]; +function render$c(_ctx, _cache, $props, $setup, $data, $options) { + var _component_InputText = resolveComponent("InputText"); + var _component_Chip = resolveComponent("Chip"); + var _component_SpinnerIcon = resolveComponent("SpinnerIcon"); + var _component_VirtualScroller = resolveComponent("VirtualScroller"); + var _component_Portal = resolveComponent("Portal"); + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("div", mergeProps({ + ref: "container", + "class": _ctx.cx("root"), + style: _ctx.sx("root"), + onClick: _cache[11] || (_cache[11] = function() { + return $options.onContainerClick && $options.onContainerClick.apply($options, arguments); + }) + }, _ctx.ptmi("root")), [!_ctx.multiple ? (openBlock(), createBlock(_component_InputText, { + key: 0, + ref: "focusInput", + id: _ctx.inputId, + type: "text", + "class": normalizeClass([_ctx.cx("pcInput"), _ctx.inputClass]), + style: normalizeStyle(_ctx.inputStyle), + value: $options.inputValue, + placeholder: _ctx.placeholder, + tabindex: !_ctx.disabled ? _ctx.tabindex : -1, + fluid: $options.hasFluid, + disabled: _ctx.disabled, + invalid: _ctx.invalid, + variant: _ctx.variant, + autocomplete: "off", + role: "combobox", + "aria-label": _ctx.ariaLabel, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-haspopup": "listbox", + "aria-autocomplete": "list", + "aria-expanded": $data.overlayVisible, + "aria-controls": $options.panelId, + "aria-activedescendant": $data.focused ? $options.focusedOptionId : void 0, + onFocus: $options.onFocus, + onBlur: $options.onBlur, + onKeydown: $options.onKeyDown, + onInput: $options.onInput, + onChange: $options.onChange, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcInput") + }, null, 8, ["id", "class", "style", "value", "placeholder", "tabindex", "fluid", "disabled", "invalid", "variant", "aria-label", "aria-labelledby", "aria-expanded", "aria-controls", "aria-activedescendant", "onFocus", "onBlur", "onKeydown", "onInput", "onChange", "unstyled", "pt"])) : createCommentVNode("", true), _ctx.multiple ? (openBlock(), createElementBlock("ul", mergeProps({ + key: 1, + ref: "multiContainer", + "class": _ctx.cx("inputMultiple"), + tabindex: "-1", + role: "listbox", + "aria-orientation": "horizontal", + "aria-activedescendant": $data.focused ? $options.focusedMultipleOptionId : void 0, + onFocus: _cache[5] || (_cache[5] = function() { + return $options.onMultipleContainerFocus && $options.onMultipleContainerFocus.apply($options, arguments); + }), + onBlur: _cache[6] || (_cache[6] = function() { + return $options.onMultipleContainerBlur && $options.onMultipleContainerBlur.apply($options, arguments); + }), + onKeydown: _cache[7] || (_cache[7] = function() { + return $options.onMultipleContainerKeyDown && $options.onMultipleContainerKeyDown.apply($options, arguments); + }) + }, _ctx.ptm("inputMultiple")), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.modelValue, function(option2, i) { + return openBlock(), createElementBlock("li", mergeProps({ + key: "".concat(i, "_").concat($options.getOptionLabel(option2)), + id: $data.id + "_multiple_option_" + i, + "class": _ctx.cx("chipItem", { + i + }), + role: "option", + "aria-label": $options.getOptionLabel(option2), + "aria-selected": true, + "aria-setsize": _ctx.modelValue.length, + "aria-posinset": i + 1, + ref_for: true + }, _ctx.ptm("chipItem")), [renderSlot(_ctx.$slots, "chip", mergeProps({ + "class": _ctx.cx("pcChip"), + value: option2, + index: i, + removeCallback: /* @__PURE__ */ __name(function removeCallback(event) { + return $options.removeOption(event, i); + }, "removeCallback"), + ref_for: true + }, _ctx.ptm("pcChip")), function() { + return [createVNode(_component_Chip, { + "class": normalizeClass(_ctx.cx("pcChip")), + label: $options.getOptionLabel(option2), + removeIcon: _ctx.chipIcon || _ctx.removeTokenIcon, + removable: "", + unstyled: _ctx.unstyled, + onRemove: /* @__PURE__ */ __name(function onRemove2($event) { + return $options.removeOption($event, i); + }, "onRemove"), + pt: _ctx.ptm("pcChip") + }, { + removeicon: withCtx(function() { + return [renderSlot(_ctx.$slots, _ctx.$slots.chipicon ? "chipicon" : "removetokenicon", { + "class": normalizeClass(_ctx.cx("chipIcon")), + index: i, + removeCallback: /* @__PURE__ */ __name(function removeCallback(event) { + return $options.removeOption(event, i); + }, "removeCallback") + })]; + }), + _: 2 + }, 1032, ["class", "label", "removeIcon", "unstyled", "onRemove", "pt"])]; + })], 16, _hoisted_2$e); + }), 128)), createBaseVNode("li", mergeProps({ + "class": _ctx.cx("inputChip"), + role: "option" + }, _ctx.ptm("inputChip")), [createBaseVNode("input", mergeProps({ + ref: "focusInput", + id: _ctx.inputId, + type: "text", + style: _ctx.inputStyle, + "class": _ctx.inputClass, + placeholder: _ctx.placeholder, + tabindex: !_ctx.disabled ? _ctx.tabindex : -1, + disabled: _ctx.disabled, + autocomplete: "off", + role: "combobox", + "aria-label": _ctx.ariaLabel, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-haspopup": "listbox", + "aria-autocomplete": "list", + "aria-expanded": $data.overlayVisible, + "aria-controls": $data.id + "_list", + "aria-activedescendant": $data.focused ? $options.focusedOptionId : void 0, + "aria-invalid": _ctx.invalid || void 0, + onFocus: _cache[0] || (_cache[0] = function() { + return $options.onFocus && $options.onFocus.apply($options, arguments); + }), + onBlur: _cache[1] || (_cache[1] = function() { + return $options.onBlur && $options.onBlur.apply($options, arguments); + }), + onKeydown: _cache[2] || (_cache[2] = function() { + return $options.onKeyDown && $options.onKeyDown.apply($options, arguments); + }), + onInput: _cache[3] || (_cache[3] = function() { + return $options.onInput && $options.onInput.apply($options, arguments); + }), + onChange: _cache[4] || (_cache[4] = function() { + return $options.onChange && $options.onChange.apply($options, arguments); + }) + }, _ctx.ptm("input")), null, 16, _hoisted_3$d)], 16)], 16, _hoisted_1$k)) : createCommentVNode("", true), $data.searching || _ctx.loading ? renderSlot(_ctx.$slots, _ctx.$slots.loader ? "loader" : "loadingicon", { + key: 2, + "class": normalizeClass(_ctx.cx("loader")) + }, function() { + return [_ctx.loader || _ctx.loadingIcon ? (openBlock(), createElementBlock("i", mergeProps({ + key: 0, + "class": ["pi-spin", _ctx.cx("loader"), _ctx.loader, _ctx.loadingIcon], + "aria-hidden": "true" + }, _ctx.ptm("loader")), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps({ + key: 1, + "class": _ctx.cx("loader"), + spin: "", + "aria-hidden": "true" + }, _ctx.ptm("loader")), null, 16, ["class"]))]; + }) : createCommentVNode("", true), renderSlot(_ctx.$slots, _ctx.$slots.dropdown ? "dropdown" : "dropdownbutton", { + toggleCallback: /* @__PURE__ */ __name(function toggleCallback(event) { + return $options.onDropdownClick(event); + }, "toggleCallback") + }, function() { + return [_ctx.dropdown ? (openBlock(), createElementBlock("button", mergeProps({ + key: 0, + ref: "dropdownButton", + type: "button", + "class": [_ctx.cx("dropdown"), _ctx.dropdownClass], + disabled: _ctx.disabled, + "aria-haspopup": "listbox", + "aria-expanded": $data.overlayVisible, + "aria-controls": $options.panelId, + onClick: _cache[8] || (_cache[8] = function() { + return $options.onDropdownClick && $options.onDropdownClick.apply($options, arguments); + }) + }, _ctx.ptm("dropdown")), [renderSlot(_ctx.$slots, "dropdownicon", { + "class": normalizeClass(_ctx.dropdownIcon) + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.dropdownIcon ? "span" : "ChevronDownIcon"), mergeProps({ + "class": _ctx.dropdownIcon + }, _ctx.ptm("dropdownIcon")), null, 16, ["class"]))]; + })], 16, _hoisted_4$5)) : createCommentVNode("", true)]; + }), createBaseVNode("span", mergeProps({ + role: "status", + "aria-live": "polite", + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenSearchResult"), { + "data-p-hidden-accessible": true + }), toDisplayString($options.searchResultMessageText), 17), createVNode(_component_Portal, { + appendTo: _ctx.appendTo + }, { + "default": withCtx(function() { + return [createVNode(Transition, mergeProps({ + name: "p-connected-overlay", + onEnter: $options.onOverlayEnter, + onAfterEnter: $options.onOverlayAfterEnter, + onLeave: $options.onOverlayLeave, + onAfterLeave: $options.onOverlayAfterLeave + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [$data.overlayVisible ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + ref: $options.overlayRef, + id: $options.panelId, + "class": [_ctx.cx("overlay"), _ctx.panelClass, _ctx.overlayClass], + style: _objectSpread$3(_objectSpread$3(_objectSpread$3({}, _ctx.panelStyle), _ctx.overlayStyle), {}, { + "max-height": $options.virtualScrollerDisabled ? _ctx.scrollHeight : "" + }), + onClick: _cache[9] || (_cache[9] = function() { + return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments); + }), + onKeydown: _cache[10] || (_cache[10] = function() { + return $options.onOverlayKeyDown && $options.onOverlayKeyDown.apply($options, arguments); + }) + }, _ctx.ptm("overlay")), [renderSlot(_ctx.$slots, "header", { + value: _ctx.modelValue, + suggestions: $options.visibleOptions + }), createVNode(_component_VirtualScroller, mergeProps({ + ref: $options.virtualScrollerRef + }, _ctx.virtualScrollerOptions, { + style: { + height: _ctx.scrollHeight + }, + items: $options.visibleOptions, + tabindex: -1, + disabled: $options.virtualScrollerDisabled, + pt: _ctx.ptm("virtualScroller") + }), createSlots({ + content: withCtx(function(_ref) { + var styleClass = _ref.styleClass, contentRef = _ref.contentRef, items = _ref.items, getItemOptions = _ref.getItemOptions, contentStyle = _ref.contentStyle, itemSize = _ref.itemSize; + return [createBaseVNode("ul", mergeProps({ + ref: /* @__PURE__ */ __name(function ref2(el) { + return $options.listRef(el, contentRef); + }, "ref"), + id: $data.id + "_list", + "class": [_ctx.cx("list"), styleClass], + style: contentStyle, + role: "listbox", + "aria-label": $options.listAriaLabel + }, _ctx.ptm("list")), [(openBlock(true), createElementBlock(Fragment, null, renderList(items, function(option2, i) { + return openBlock(), createElementBlock(Fragment, { + key: $options.getOptionRenderKey(option2, $options.getOptionIndex(i, getItemOptions)) + }, [$options.isOptionGroup(option2) ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + id: $data.id + "_" + $options.getOptionIndex(i, getItemOptions), + style: { + height: itemSize ? itemSize + "px" : void 0 + }, + "class": _ctx.cx("optionGroup"), + role: "option", + ref_for: true + }, _ctx.ptm("optionGroup")), [renderSlot(_ctx.$slots, "optiongroup", { + option: option2.optionGroup, + index: $options.getOptionIndex(i, getItemOptions) + }, function() { + return [createTextVNode(toDisplayString($options.getOptionGroupLabel(option2.optionGroup)), 1)]; + })], 16, _hoisted_7$1)) : withDirectives((openBlock(), createElementBlock("li", mergeProps({ + key: 1, + id: $data.id + "_" + $options.getOptionIndex(i, getItemOptions), + style: { + height: itemSize ? itemSize + "px" : void 0 + }, + "class": _ctx.cx("option", { + option: option2, + i, + getItemOptions + }), + role: "option", + "aria-label": $options.getOptionLabel(option2), + "aria-selected": $options.isSelected(option2), + "aria-disabled": $options.isOptionDisabled(option2), + "aria-setsize": $options.ariaSetSize, + "aria-posinset": $options.getAriaPosInset($options.getOptionIndex(i, getItemOptions)), + onClick: /* @__PURE__ */ __name(function onClick2($event) { + return $options.onOptionSelect($event, option2); + }, "onClick"), + onMousemove: /* @__PURE__ */ __name(function onMousemove($event) { + return $options.onOptionMouseMove($event, $options.getOptionIndex(i, getItemOptions)); + }, "onMousemove"), + "data-p-selected": $options.isSelected(option2), + "data-p-focus": $data.focusedOptionIndex === $options.getOptionIndex(i, getItemOptions), + "data-p-disabled": $options.isOptionDisabled(option2), + ref_for: true + }, $options.getPTOptions(option2, getItemOptions, i, "option")), [renderSlot(_ctx.$slots, "option", { + option: option2, + index: $options.getOptionIndex(i, getItemOptions) + }, function() { + return [createTextVNode(toDisplayString($options.getOptionLabel(option2)), 1)]; + })], 16, _hoisted_8$1)), [[_directive_ripple]])], 64); + }), 128)), !items || items && items.length === 0 ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + "class": _ctx.cx("emptyMessage"), + role: "option" + }, _ctx.ptm("emptyMessage")), [renderSlot(_ctx.$slots, "empty", {}, function() { + return [createTextVNode(toDisplayString($options.searchResultMessageText), 1)]; + })], 16)) : createCommentVNode("", true)], 16, _hoisted_6$2)]; + }), + _: 2 + }, [_ctx.$slots.loader ? { + name: "loader", + fn: withCtx(function(_ref2) { + var options = _ref2.options; + return [renderSlot(_ctx.$slots, "loader", { + options + })]; + }), + key: "0" + } : void 0]), 1040, ["style", "items", "disabled", "pt"]), renderSlot(_ctx.$slots, "footer", { + value: _ctx.modelValue, + suggestions: $options.visibleOptions + }), createBaseVNode("span", mergeProps({ + role: "status", + "aria-live": "polite", + "class": "p-hidden-accessible" + }, _ctx.ptm("hiddenSelectedMessage"), { + "data-p-hidden-accessible": true + }), toDisplayString($options.selectedMessageText), 17)], 16, _hoisted_5$3)) : createCommentVNode("", true)]; + }), + _: 3 + }, 16, ["onEnter", "onAfterEnter", "onLeave", "onAfterLeave"])]; + }), + _: 3 + }, 8, ["appendTo"])], 16); +} +__name(render$c, "render$c"); +script$7.render = render$c; +const _sfc_main$k = { + name: "AutoCompletePlus", + extends: script$7, + emits: ["focused-option-changed"], + mounted() { + if (typeof script$7.mounted === "function") { + script$7.mounted.call(this); + } + this.$watch( + () => this.focusedOptionIndex, + (newVal, oldVal) => { + this.$emit("focused-option-changed", newVal); + } + ); + } +}; +const _withScopeId$8 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-fd0a74bd"), n = n(), popScopeId(), n), "_withScopeId$8"); +const _hoisted_1$j = { class: "option-container flex justify-between items-center px-2 py-0 cursor-pointer overflow-hidden w-full" }; +const _hoisted_2$d = { class: "option-display-name font-semibold flex flex-col" }; +const _hoisted_3$c = { key: 0 }; +const _hoisted_4$4 = /* @__PURE__ */ _withScopeId$8(() => /* @__PURE__ */ createBaseVNode("i", { class: "pi pi-bookmark-fill text-sm mr-1" }, null, -1)); +const _hoisted_5$2 = [ + _hoisted_4$4 +]; +const _hoisted_6$1 = ["innerHTML"]; +const _hoisted_7 = /* @__PURE__ */ _withScopeId$8(() => /* @__PURE__ */ createBaseVNode("span", null, " ", -1)); +const _hoisted_8 = ["innerHTML"]; +const _hoisted_9 = { + key: 0, + class: "option-category font-light text-sm text-muted overflow-hidden text-ellipsis whitespace-nowrap" +}; +const _hoisted_10 = { class: "option-badges" }; +const _sfc_main$j = /* @__PURE__ */ defineComponent({ + __name: "NodeSearchItem", + props: { + nodeDef: {}, + currentQuery: {} + }, + setup(__props) { + const settingStore = useSettingStore(); + const showCategory = computed( + () => settingStore.get("Comfy.NodeSearchBoxImpl.ShowCategory") + ); + const showIdName = computed( + () => settingStore.get("Comfy.NodeSearchBoxImpl.ShowIdName") + ); + const showNodeFrequency = computed( + () => settingStore.get("Comfy.NodeSearchBoxImpl.ShowNodeFrequency") + ); + const nodeFrequencyStore = useNodeFrequencyStore(); + const nodeFrequency = computed( + () => nodeFrequencyStore.getNodeFrequency(props.nodeDef) + ); + const nodeBookmarkStore = useNodeBookmarkStore(); + const isBookmarked = computed( + () => nodeBookmarkStore.isBookmarked(props.nodeDef) + ); + const props = __props; + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$j, [ + createBaseVNode("div", _hoisted_2$d, [ + createBaseVNode("div", null, [ + isBookmarked.value ? (openBlock(), createElementBlock("span", _hoisted_3$c, _hoisted_5$2)) : createCommentVNode("", true), + createBaseVNode("span", { + innerHTML: unref(highlightQuery)(_ctx.nodeDef.display_name, _ctx.currentQuery) + }, null, 8, _hoisted_6$1), + _hoisted_7, + showIdName.value ? (openBlock(), createBlock(unref(script$o), { + key: 1, + severity: "secondary" + }, { + default: withCtx(() => [ + createBaseVNode("span", { + innerHTML: unref(highlightQuery)(_ctx.nodeDef.name, _ctx.currentQuery) + }, null, 8, _hoisted_8) + ]), + _: 1 + })) : createCommentVNode("", true) + ]), + showCategory.value ? (openBlock(), createElementBlock("div", _hoisted_9, toDisplayString(_ctx.nodeDef.category.replaceAll("/", " > ")), 1)) : createCommentVNode("", true) + ]), + createBaseVNode("div", _hoisted_10, [ + _ctx.nodeDef.experimental ? (openBlock(), createBlock(unref(script$o), { + key: 0, + value: _ctx.$t("g.experimental"), + severity: "primary" + }, null, 8, ["value"])) : createCommentVNode("", true), + _ctx.nodeDef.deprecated ? (openBlock(), createBlock(unref(script$o), { + key: 1, + value: _ctx.$t("g.deprecated"), + severity: "danger" + }, null, 8, ["value"])) : createCommentVNode("", true), + showNodeFrequency.value && nodeFrequency.value > 0 ? (openBlock(), createBlock(unref(script$o), { + key: 2, + value: unref(formatNumberWithSuffix)(nodeFrequency.value, { roundToInt: true }), + severity: "secondary" + }, null, 8, ["value"])) : createCommentVNode("", true), + _ctx.nodeDef.nodeSource.type !== unref(NodeSourceType).Unknown ? (openBlock(), createBlock(unref(script$n), { + key: 3, + class: "text-sm font-light" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.nodeDef.nodeSource.displayText), 1) + ]), + _: 1 + })) : createCommentVNode("", true) + ]) + ]); + }; + } +}); +const NodeSearchItem = /* @__PURE__ */ _export_sfc(_sfc_main$j, [["__scopeId", "data-v-fd0a74bd"]]); +const _hoisted_1$i = { class: "comfy-vue-node-search-container flex justify-center items-center w-full min-w-96 pointer-events-auto" }; +const _hoisted_2$c = { + key: 0, + class: "comfy-vue-node-preview-container absolute left-[-350px] top-[50px]" +}; +const _hoisted_3$b = /* @__PURE__ */ createBaseVNode("h3", null, "Add node filter condition", -1); +const _hoisted_4$3 = { class: "_dialog-body" }; +const _sfc_main$i = /* @__PURE__ */ defineComponent({ + __name: "NodeSearchBox", + props: { + filters: {}, + searchLimit: { default: 64 } + }, + emits: ["addFilter", "removeFilter", "addNode"], + setup(__props, { emit: __emit }) { + const settingStore = useSettingStore(); + const { t } = useI18n(); + const enableNodePreview = computed( + () => settingStore.get("Comfy.NodeSearchBoxImpl.NodePreview") + ); + const props = __props; + const nodeSearchFilterVisible = ref(false); + const inputId = `comfy-vue-node-search-box-input-${Math.random()}`; + const suggestions2 = ref([]); + const hoveredSuggestion = ref(null); + const currentQuery = ref(""); + const placeholder = computed(() => { + return props.filters.length === 0 ? t("g.searchNodes") + "..." : ""; + }); + const nodeDefStore = useNodeDefStore(); + const nodeFrequencyStore = useNodeFrequencyStore(); + const search2 = /* @__PURE__ */ __name((query) => { + const queryIsEmpty = query === "" && props.filters.length === 0; + currentQuery.value = query; + suggestions2.value = queryIsEmpty ? nodeFrequencyStore.topNodeDefs : [ + ...nodeDefStore.nodeSearchService.searchNode(query, props.filters, { + limit: props.searchLimit + }) + ]; + }, "search"); + const emit = __emit; + let inputElement = null; + const reFocusInput = /* @__PURE__ */ __name(() => { + inputElement ??= document.getElementById(inputId); + if (inputElement) { + inputElement.blur(); + nextTick(() => inputElement?.focus()); + } + }, "reFocusInput"); + onMounted(reFocusInput); + const onAddFilter = /* @__PURE__ */ __name((filterAndValue) => { + nodeSearchFilterVisible.value = false; + emit("addFilter", filterAndValue); + }, "onAddFilter"); + const onRemoveFilter = /* @__PURE__ */ __name((event, filterAndValue) => { + event.stopPropagation(); + event.preventDefault(); + emit("removeFilter", filterAndValue); + reFocusInput(); + }, "onRemoveFilter"); + const setHoverSuggestion = /* @__PURE__ */ __name((index) => { + if (index === -1) { + hoveredSuggestion.value = null; + return; + } + const value = suggestions2.value[index]; + hoveredSuggestion.value = value; + }, "setHoverSuggestion"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$i, [ + enableNodePreview.value ? (openBlock(), createElementBlock("div", _hoisted_2$c, [ + hoveredSuggestion.value ? (openBlock(), createBlock(NodePreview, { + nodeDef: hoveredSuggestion.value, + key: hoveredSuggestion.value?.name || "" + }, null, 8, ["nodeDef"])) : createCommentVNode("", true) + ])) : createCommentVNode("", true), + createVNode(unref(script$d), { + icon: "pi pi-filter", + severity: "secondary", + class: "filter-button z-10", + onClick: _cache[0] || (_cache[0] = ($event) => nodeSearchFilterVisible.value = true) + }), + createVNode(unref(script$p), { + visible: nodeSearchFilterVisible.value, + "onUpdate:visible": _cache[1] || (_cache[1] = ($event) => nodeSearchFilterVisible.value = $event), + class: "min-w-96", + "dismissable-mask": "", + modal: "", + onHide: reFocusInput + }, { + header: withCtx(() => [ + _hoisted_3$b + ]), + default: withCtx(() => [ + createBaseVNode("div", _hoisted_4$3, [ + createVNode(NodeSearchFilter, { onAddFilter }) + ]) + ]), + _: 1 + }, 8, ["visible"]), + createVNode(_sfc_main$k, { + "model-value": props.filters, + class: "comfy-vue-node-search-box z-10 flex-grow", + scrollHeight: "40vh", + placeholder: placeholder.value, + "input-id": inputId, + "append-to": "self", + suggestions: suggestions2.value, + "min-length": 0, + delay: 100, + loading: !unref(nodeFrequencyStore).isLoaded, + onComplete: _cache[2] || (_cache[2] = ($event) => search2($event.query)), + onOptionSelect: _cache[3] || (_cache[3] = ($event) => emit("addNode", $event.value)), + onFocusedOptionChanged: _cache[4] || (_cache[4] = ($event) => setHoverSuggestion($event)), + "complete-on-focus": "", + "auto-option-focus": "", + "force-selection": "", + multiple: "", + optionLabel: "display_name" + }, { + option: withCtx(({ option: option2 }) => [ + createVNode(NodeSearchItem, { + nodeDef: option2, + currentQuery: currentQuery.value + }, null, 8, ["nodeDef", "currentQuery"]) + ]), + chip: withCtx(({ value }) => [ + (openBlock(), createBlock(SearchFilterChip, { + key: `${value[0].id}-${value[1]}`, + onRemove: /* @__PURE__ */ __name(($event) => onRemoveFilter($event, value), "onRemove"), + text: value[1], + badge: value[0].invokeSequence.toUpperCase(), + "badge-class": value[0].invokeSequence + "-badge" + }, null, 8, ["onRemove", "text", "badge", "badge-class"])) + ]), + _: 1 + }, 8, ["model-value", "placeholder", "suggestions", "loading"]) + ]); + }; + } +}); +const _sfc_main$h = /* @__PURE__ */ defineComponent({ + __name: "NodeSearchBoxPopover", + setup(__props) { + const settingStore = useSettingStore(); + const litegraphService = useLitegraphService(); + const { visible } = storeToRefs(useSearchBoxStore()); + const dismissable = ref(true); + const triggerEvent = ref(null); + const getNewNodeLocation = /* @__PURE__ */ __name(() => { + if (!triggerEvent.value) { + return litegraphService.getCanvasCenter(); + } + const originalEvent = triggerEvent.value.detail.originalEvent; + return [originalEvent.canvasX, originalEvent.canvasY]; + }, "getNewNodeLocation"); + const nodeFilters = ref([]); + const addFilter = /* @__PURE__ */ __name((filter) => { + nodeFilters.value.push(filter); + }, "addFilter"); + const removeFilter = /* @__PURE__ */ __name((filter) => { + nodeFilters.value = nodeFilters.value.filter( + (f) => toRaw(f) !== toRaw(filter) + ); + }, "removeFilter"); + const clearFilters = /* @__PURE__ */ __name(() => { + nodeFilters.value = []; + }, "clearFilters"); + const closeDialog = /* @__PURE__ */ __name(() => { + visible.value = false; + }, "closeDialog"); + const addNode = /* @__PURE__ */ __name((nodeDef) => { + const node = litegraphService.addNodeOnGraph(nodeDef, { + pos: getNewNodeLocation() + }); + const eventDetail = triggerEvent.value?.detail; + if (eventDetail && eventDetail.subType === "empty-release") { + eventDetail.linkReleaseContext.links.forEach((link) => { + ConnectingLinkImpl.createFromPlainObject(link).connectTo(node); + }); + } + window.setTimeout(() => { + closeDialog(); + }, 100); + }, "addNode"); + const newSearchBoxEnabled = computed( + () => settingStore.get("Comfy.NodeSearchBoxImpl") === "default" + ); + const showSearchBox = /* @__PURE__ */ __name((e) => { + const detail = e.detail; + if (newSearchBoxEnabled.value) { + if (detail.originalEvent?.pointerType === "touch") { + setTimeout(() => { + showNewSearchBox(e); + }, 128); + } else { + showNewSearchBox(e); + } + } else { + canvasStore.canvas.showSearchBox(detail.originalEvent); + } + }, "showSearchBox"); + const nodeDefStore = useNodeDefStore(); + const showNewSearchBox = /* @__PURE__ */ __name((e) => { + if (e.detail.subType === "empty-release") { + const links = e.detail.linkReleaseContext.links; + if (links.length === 0) { + console.warn("Empty release with no links! This should never happen"); + return; + } + const firstLink = ConnectingLinkImpl.createFromPlainObject(links[0]); + const filter = nodeDefStore.nodeSearchService.getFilterById( + firstLink.releaseSlotType + ); + const dataType = firstLink.type.toString(); + addFilter([filter, dataType]); + } + visible.value = true; + triggerEvent.value = e; + dismissable.value = false; + setTimeout(() => { + dismissable.value = true; + }, 300); + }, "showNewSearchBox"); + const showContextMenu = /* @__PURE__ */ __name((e) => { + if (e.detail.subType !== "empty-release") { + return; + } + const links = e.detail.linkReleaseContext.links; + if (links.length === 0) { + console.warn("Empty release with no links! This should never happen"); + return; + } + const firstLink = ConnectingLinkImpl.createFromPlainObject(links[0]); + const mouseEvent = e.detail.originalEvent; + const commonOptions = { + e: mouseEvent, + allow_searchbox: true, + showSearchBox: /* @__PURE__ */ __name(() => showSearchBox(e), "showSearchBox") + }; + const connectionOptions = firstLink.output ? { + nodeFrom: firstLink.node, + slotFrom: firstLink.output, + afterRerouteId: firstLink.afterRerouteId + } : { + nodeTo: firstLink.node, + slotTo: firstLink.input, + afterRerouteId: firstLink.afterRerouteId + }; + canvasStore.canvas.showConnectionMenu({ + ...connectionOptions, + ...commonOptions + }); + }, "showContextMenu"); + const canvasStore = useCanvasStore(); + watchEffect(() => { + if (canvasStore.canvas) { + LiteGraph.release_link_on_empty_shows_menu = false; + canvasStore.canvas.allow_searchbox = false; + } + }); + const canvasEventHandler = /* @__PURE__ */ __name((e) => { + if (e.detail.subType === "empty-double-click") { + showSearchBox(e); + } else if (e.detail.subType === "empty-release") { + handleCanvasEmptyRelease(e); + } else if (e.detail.subType === "group-double-click") { + const group = e.detail.group; + const [x, y] = group.pos; + const relativeY = e.detail.originalEvent.canvasY - y; + if (relativeY > group.titleHeight) { + showSearchBox(e); + } + } + }, "canvasEventHandler"); + const linkReleaseAction = computed(() => { + return settingStore.get("Comfy.LinkRelease.Action"); + }); + const linkReleaseActionShift = computed(() => { + return settingStore.get("Comfy.LinkRelease.ActionShift"); + }); + const handleCanvasEmptyRelease = /* @__PURE__ */ __name((e) => { + const detail = e.detail; + const shiftPressed = detail.originalEvent.shiftKey; + const action = shiftPressed ? linkReleaseActionShift.value : linkReleaseAction.value; + switch (action) { + case LinkReleaseTriggerAction.SEARCH_BOX: + showSearchBox(e); + break; + case LinkReleaseTriggerAction.CONTEXT_MENU: + showContextMenu(e); + break; + case LinkReleaseTriggerAction.NO_ACTION: + default: + break; + } + }, "handleCanvasEmptyRelease"); + useEventListener(document, "litegraph:canvas", canvasEventHandler); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", null, [ + createVNode(unref(script$p), { + visible: unref(visible), + "onUpdate:visible": _cache[0] || (_cache[0] = ($event) => isRef(visible) ? visible.value = $event : null), + modal: "", + "dismissable-mask": dismissable.value, + onHide: clearFilters, + pt: { + root: { + class: "invisible-dialog-root", + role: "search" + }, + mask: { class: "node-search-box-dialog-mask" }, + transition: { + enterFromClass: "opacity-0 scale-75", + // 100ms is the duration of the transition in the dialog component + enterActiveClass: "transition-all duration-100 ease-out", + leaveActiveClass: "transition-all duration-100 ease-in", + leaveToClass: "opacity-0 scale-75" + } + } + }, { + container: withCtx(() => [ + createVNode(_sfc_main$i, { + filters: nodeFilters.value, + onAddFilter: addFilter, + onRemoveFilter: removeFilter, + onAddNode: addNode + }, null, 8, ["filters"]) + ]), + _: 1 + }, 8, ["visible", "dismissable-mask"]) + ]); + }; + } +}); +var theme$4 = /* @__PURE__ */ __name(function theme4(_ref) { + var dt = _ref.dt; + return "\n.p-overlaybadge {\n position: relative;\n}\n\n.p-overlaybadge .p-badge {\n position: absolute;\n top: 0;\n right: 0;\n transform: translate(50%, -50%);\n transform-origin: 100% 0;\n margin: 0;\n outline-width: ".concat(dt("overlaybadge.outline.width"), ";\n outline-style: solid;\n outline-color: ").concat(dt("overlaybadge.outline.color"), ";\n}\n"); +}, "theme"); +var classes$4 = { + root: "p-overlaybadge" +}; +var OverlayBadgeStyle = BaseStyle.extend({ + name: "overlaybadge", + theme: theme$4, + classes: classes$4 +}); +var script$1$4 = { + name: "OverlayBadge", + "extends": script$q, + style: OverlayBadgeStyle, + provide: /* @__PURE__ */ __name(function provide8() { + return { + $pcOverlayBadge: this, + $parentInstance: this + }; + }, "provide") +}; +var script$6 = { + name: "OverlayBadge", + "extends": script$1$4, + inheritAttrs: false, + components: { + Badge: script$q + } +}; +function render$b(_ctx, _cache, $props, $setup, $data, $options) { + var _component_Badge = resolveComponent("Badge"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default"), createVNode(_component_Badge, mergeProps(_ctx.$props, { + pt: _ctx.ptm("pcBadge") + }), null, 16, ["pt"])], 16); +} +__name(render$b, "render$b"); +script$6.render = render$b; +const _sfc_main$g = /* @__PURE__ */ defineComponent({ + __name: "SidebarIcon", + props: { + icon: String, + selected: Boolean, + tooltip: { + type: String, + default: "" + }, + class: { + type: String, + default: "" + }, + iconBadge: { + type: [String, Function], + default: "" + } + }, + emits: ["click"], + setup(__props, { emit: __emit }) { + const props = __props; + const emit = __emit; + const overlayValue = computed( + () => typeof props.iconBadge === "function" ? props.iconBadge() || "" : props.iconBadge + ); + const shouldShowBadge = computed(() => !!overlayValue.value); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return withDirectives((openBlock(), createBlock(unref(script$d), { + class: normalizeClass(props.class), + text: "", + pt: { + root: { + class: `side-bar-button ${props.selected ? "p-button-primary side-bar-button-selected" : "p-button-secondary"}`, + "aria-label": props.tooltip + } + }, + onClick: _cache[0] || (_cache[0] = ($event) => emit("click", $event)) + }, { + icon: withCtx(() => [ + shouldShowBadge.value ? (openBlock(), createBlock(unref(script$6), { + key: 0, + value: overlayValue.value + }, { + default: withCtx(() => [ + createBaseVNode("i", { + class: normalizeClass(props.icon + " side-bar-button-icon") + }, null, 2) + ]), + _: 1 + }, 8, ["value"])) : (openBlock(), createElementBlock("i", { + key: 1, + class: normalizeClass(props.icon + " side-bar-button-icon") + }, null, 2)) + ]), + _: 1 + }, 8, ["class", "pt"])), [ + [_directive_tooltip, { value: props.tooltip, showDelay: 300, hideDelay: 300 }] + ]); + }; + } +}); +const SidebarIcon = /* @__PURE__ */ _export_sfc(_sfc_main$g, [["__scopeId", "data-v-6ab4daa6"]]); +const _sfc_main$f = /* @__PURE__ */ defineComponent({ + __name: "SidebarLogoutIcon", + setup(__props) { + const { t } = useI18n(); + const userStore = useUserStore(); + const tooltip = computed( + () => `${t("sideToolbar.logout")} (${userStore.currentUser?.username})` + ); + const logout = /* @__PURE__ */ __name(() => { + userStore.logout(); + window.location.reload(); + }, "logout"); + return (_ctx, _cache) => { + return openBlock(), createBlock(SidebarIcon, { + icon: "pi pi-sign-out", + tooltip: tooltip.value, + onClick: logout + }, null, 8, ["tooltip"]); + }; + } +}); +const _sfc_main$e = /* @__PURE__ */ defineComponent({ + __name: "SidebarSettingsToggleIcon", + setup(__props) { + const dialogStore = useDialogStore(); + const showSetting = /* @__PURE__ */ __name(() => { + dialogStore.showDialog({ + key: "global-settings", + headerComponent: SettingDialogHeader, + component: SettingDialogContent + }); + }, "showSetting"); + return (_ctx, _cache) => { + return openBlock(), createBlock(SidebarIcon, { + icon: "pi pi-cog", + class: "comfy-settings-btn", + onClick: showSetting, + tooltip: _ctx.$t("g.settings") + }, null, 8, ["tooltip"]); + }; + } +}); +const _sfc_main$d = /* @__PURE__ */ defineComponent({ + __name: "SidebarThemeToggleIcon", + setup(__props) { + const colorPaletteStore = useColorPaletteStore(); + const icon = computed( + () => colorPaletteStore.completedActivePalette.light_theme ? "pi pi-sun" : "pi pi-moon" + ); + const commandStore = useCommandStore(); + const toggleTheme = /* @__PURE__ */ __name(() => { + commandStore.execute("Comfy.ToggleTheme"); + }, "toggleTheme"); + return (_ctx, _cache) => { + return openBlock(), createBlock(SidebarIcon, { + icon: icon.value, + onClick: toggleTheme, + tooltip: _ctx.$t("sideToolbar.themeToggle"), + class: "comfy-vue-theme-toggle" + }, null, 8, ["icon", "tooltip"]); + }; + } +}); +const _withScopeId$7 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-33cac83a"), n = n(), popScopeId(), n), "_withScopeId$7"); +const _hoisted_1$h = { class: "side-tool-bar-end" }; +const _hoisted_2$b = { + key: 0, + class: "sidebar-content-container h-full overflow-y-auto overflow-x-hidden" +}; +const _sfc_main$c = /* @__PURE__ */ defineComponent({ + __name: "SideToolbar", + setup(__props) { + const workspaceStore = useWorkspaceStore(); + const settingStore = useSettingStore(); + const userStore = useUserStore(); + const teleportTarget = computed( + () => settingStore.get("Comfy.Sidebar.Location") === "left" ? ".comfyui-body-left" : ".comfyui-body-right" + ); + const isSmall = computed( + () => settingStore.get("Comfy.Sidebar.Size") === "small" + ); + const tabs = computed(() => workspaceStore.getSidebarTabs()); + const selectedTab = computed(() => workspaceStore.sidebarTab.activeSidebarTab); + const onTabClick = /* @__PURE__ */ __name((item3) => { + workspaceStore.sidebarTab.toggleSidebarTab(item3.id); + }, "onTabClick"); + const keybindingStore = useKeybindingStore(); + const getTabTooltipSuffix = /* @__PURE__ */ __name((tab) => { + const keybinding = keybindingStore.getKeybindingByCommandId( + `Workspace.ToggleSidebarTab.${tab.id}` + ); + return keybinding ? ` (${keybinding.combo.toString()})` : ""; + }, "getTabTooltipSuffix"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock(Fragment, null, [ + (openBlock(), createBlock(Teleport, { to: teleportTarget.value }, [ + createBaseVNode("nav", { + class: normalizeClass(["side-tool-bar-container", { "small-sidebar": isSmall.value }]) + }, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(tabs.value, (tab) => { + return openBlock(), createBlock(SidebarIcon, { + key: tab.id, + icon: tab.icon, + iconBadge: tab.iconBadge, + tooltip: tab.tooltip + getTabTooltipSuffix(tab), + selected: tab.id === selectedTab.value?.id, + class: normalizeClass(tab.id + "-tab-button"), + onClick: /* @__PURE__ */ __name(($event) => onTabClick(tab), "onClick") + }, null, 8, ["icon", "iconBadge", "tooltip", "selected", "class", "onClick"]); + }), 128)), + createBaseVNode("div", _hoisted_1$h, [ + unref(userStore).isMultiUserServer ? (openBlock(), createBlock(_sfc_main$f, { key: 0 })) : createCommentVNode("", true), + createVNode(_sfc_main$d), + createVNode(_sfc_main$e) + ]) + ], 2) + ], 8, ["to"])), + selectedTab.value ? (openBlock(), createElementBlock("div", _hoisted_2$b, [ + createVNode(_sfc_main$q, { extension: selectedTab.value }, null, 8, ["extension"]) + ])) : createCommentVNode("", true) + ], 64); + }; + } +}); +const SideToolbar = /* @__PURE__ */ _export_sfc(_sfc_main$c, [["__scopeId", "data-v-33cac83a"]]); +const _withScopeId$6 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-8d011a31"), n = n(), popScopeId(), n), "_withScopeId$6"); +const _hoisted_1$g = { class: "workflow-label text-sm max-w-[150px] truncate inline-block" }; +const _hoisted_2$a = { class: "relative" }; +const _hoisted_3$a = { + key: 0, + class: "status-indicator" +}; +const _sfc_main$b = /* @__PURE__ */ defineComponent({ + __name: "WorkflowTab", + props: { + class: {}, + workflowOption: {} + }, + setup(__props) { + const props = __props; + const workspaceStore = useWorkspaceStore(); + const workflowStore = useWorkflowStore(); + const workflowTabRef = ref(null); + const closeWorkflows = /* @__PURE__ */ __name(async (options) => { + for (const opt of options) { + if (!await useWorkflowService().closeWorkflow(opt.workflow, { + warnIfUnsaved: !workspaceStore.shiftDown + })) { + break; + } + } + }, "closeWorkflows"); + const onCloseWorkflow = /* @__PURE__ */ __name((option2) => { + closeWorkflows([option2]); + }, "onCloseWorkflow"); + const tabGetter = /* @__PURE__ */ __name(() => workflowTabRef.value, "tabGetter"); + usePragmaticDraggable(tabGetter, { + getInitialData: /* @__PURE__ */ __name(() => { + return { + workflowKey: props.workflowOption.workflow.key + }; + }, "getInitialData") + }); + usePragmaticDroppable(tabGetter, { + getData: /* @__PURE__ */ __name(() => { + return { + workflowKey: props.workflowOption.workflow.key + }; + }, "getData"), + onDrop: /* @__PURE__ */ __name((e) => { + const fromIndex = workflowStore.openWorkflows.findIndex( + (wf) => wf.key === e.source.data.workflowKey + ); + const toIndex = workflowStore.openWorkflows.findIndex( + (wf) => wf.key === e.location.current.dropTargets[0]?.data.workflowKey + ); + if (fromIndex !== toIndex) { + workflowStore.reorderWorkflows(fromIndex, toIndex); + } + }, "onDrop") + }); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createElementBlock("div", mergeProps({ + class: "flex p-2 gap-2 workflow-tab", + ref_key: "workflowTabRef", + ref: workflowTabRef + }, _ctx.$attrs), [ + withDirectives((openBlock(), createElementBlock("span", _hoisted_1$g, [ + createTextVNode(toDisplayString(_ctx.workflowOption.workflow.filename), 1) + ])), [ + [ + _directive_tooltip, + _ctx.workflowOption.workflow.key, + void 0, + { bottom: true } + ] + ]), + createBaseVNode("div", _hoisted_2$a, [ + !unref(workspaceStore).shiftDown && (_ctx.workflowOption.workflow.isModified || !_ctx.workflowOption.workflow.isPersisted) ? (openBlock(), createElementBlock("span", _hoisted_3$a, "•")) : createCommentVNode("", true), + createVNode(unref(script$d), { + class: "close-button p-0 w-auto", + icon: "pi pi-times", + text: "", + severity: "secondary", + size: "small", + onClick: _cache[0] || (_cache[0] = withModifiers(($event) => onCloseWorkflow(_ctx.workflowOption), ["stop"])) + }) + ]) + ], 16); + }; + } +}); +const WorkflowTab = /* @__PURE__ */ _export_sfc(_sfc_main$b, [["__scopeId", "data-v-8d011a31"]]); +const _withScopeId$5 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-54fadc45"), n = n(), popScopeId(), n), "_withScopeId$5"); +const _hoisted_1$f = { class: "workflow-tabs-container flex flex-row max-w-full h-full" }; +const _sfc_main$a = /* @__PURE__ */ defineComponent({ + __name: "WorkflowTabs", + props: { + class: {} + }, + setup(__props) { + const props = __props; + const { t } = useI18n(); + const workspaceStore = useWorkspaceStore(); + const workflowStore = useWorkflowStore(); + const workflowService = useWorkflowService(); + const workflowBookmarkStore = useWorkflowBookmarkStore(); + const rightClickedTab = ref(null); + const menu = ref(); + const workflowToOption = /* @__PURE__ */ __name((workflow) => ({ + value: workflow.path, + workflow + }), "workflowToOption"); + const options = computed( + () => workflowStore.openWorkflows.map(workflowToOption) + ); + const selectedWorkflow = computed( + () => workflowStore.activeWorkflow ? workflowToOption(workflowStore.activeWorkflow) : null + ); + const onWorkflowChange = /* @__PURE__ */ __name((option2) => { + if (!option2) { + return; + } + if (selectedWorkflow.value?.value === option2.value) { + return; + } + workflowService.openWorkflow(option2.workflow); + }, "onWorkflowChange"); + const closeWorkflows = /* @__PURE__ */ __name(async (options2) => { + for (const opt of options2) { + if (!await workflowService.closeWorkflow(opt.workflow, { + warnIfUnsaved: !workspaceStore.shiftDown + })) { + break; + } + } + }, "closeWorkflows"); + const onCloseWorkflow = /* @__PURE__ */ __name((option2) => { + closeWorkflows([option2]); + }, "onCloseWorkflow"); + const showContextMenu = /* @__PURE__ */ __name((event, option2) => { + rightClickedTab.value = option2; + menu.value.show(event); + }, "showContextMenu"); + const contextMenuItems = computed(() => { + const tab = rightClickedTab.value; + if (!tab) return []; + const index = options.value.findIndex((v) => v.workflow === tab.workflow); + return [ + { + label: t("tabMenu.duplicateTab"), + command: /* @__PURE__ */ __name(() => { + workflowService.duplicateWorkflow(tab.workflow); + }, "command") + }, + { + separator: true + }, + { + label: t("tabMenu.closeTab"), + command: /* @__PURE__ */ __name(() => onCloseWorkflow(tab), "command") + }, + { + label: t("tabMenu.closeTabsToLeft"), + command: /* @__PURE__ */ __name(() => closeWorkflows(options.value.slice(0, index)), "command"), + disabled: index <= 0 + }, + { + label: t("tabMenu.closeTabsToRight"), + command: /* @__PURE__ */ __name(() => closeWorkflows(options.value.slice(index + 1)), "command"), + disabled: index === options.value.length - 1 + }, + { + label: t("tabMenu.closeOtherTabs"), + command: /* @__PURE__ */ __name(() => closeWorkflows([ + ...options.value.slice(index + 1), + ...options.value.slice(0, index) + ]), "command"), + disabled: options.value.length <= 1 + }, + { + label: workflowBookmarkStore.isBookmarked(tab.workflow.path) ? t("tabMenu.removeFromBookmarks") : t("tabMenu.addToBookmarks"), + command: /* @__PURE__ */ __name(() => workflowBookmarkStore.toggleBookmarked(tab.workflow.path), "command"), + disabled: tab.workflow.isTemporary + } + ]; + }); + const commandStore = useCommandStore(); + const handleWheel = /* @__PURE__ */ __name((event) => { + const scrollElement = event.currentTarget; + const scrollAmount = event.deltaX || event.deltaY; + scrollElement.scroll({ + left: scrollElement.scrollLeft + scrollAmount + }); + }, "handleWheel"); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createElementBlock("div", _hoisted_1$f, [ + createVNode(unref(script$s), { + class: "overflow-hidden no-drag", + "pt:content": { + class: "p-0 w-full", + onwheel: handleWheel + }, + "pt:barX": "h-1" + }, { + default: withCtx(() => [ + createVNode(unref(script$r), { + class: normalizeClass(["workflow-tabs bg-transparent", props.class]), + modelValue: selectedWorkflow.value, + "onUpdate:modelValue": onWorkflowChange, + options: options.value, + optionLabel: "label", + dataKey: "value" + }, { + option: withCtx(({ option: option2 }) => [ + createVNode(WorkflowTab, { + onContextmenu: /* @__PURE__ */ __name(($event) => showContextMenu($event, option2), "onContextmenu"), + onMouseup: withModifiers(($event) => onCloseWorkflow(option2), ["middle"]), + "workflow-option": option2 + }, null, 8, ["onContextmenu", "onMouseup", "workflow-option"]) + ]), + _: 1 + }, 8, ["class", "modelValue", "options"]) + ]), + _: 1 + }, 8, ["pt:content"]), + withDirectives(createVNode(unref(script$d), { + class: "new-blank-workflow-button flex-shrink-0 no-drag", + icon: "pi pi-plus", + text: "", + severity: "secondary", + "aria-label": _ctx.$t("sideToolbar.newBlankWorkflow"), + onClick: _cache[0] || (_cache[0] = () => unref(commandStore).execute("Comfy.NewBlankWorkflow")) + }, null, 8, ["aria-label"]), [ + [_directive_tooltip, { value: _ctx.$t("sideToolbar.newBlankWorkflow"), showDelay: 300 }] + ]), + createVNode(unref(script$t), { + ref_key: "menu", + ref: menu, + model: contextMenuItems.value + }, null, 8, ["model"]) + ]); + }; + } +}); +const WorkflowTabs = /* @__PURE__ */ _export_sfc(_sfc_main$a, [["__scopeId", "data-v-54fadc45"]]); +const _withScopeId$4 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-38831d8e"), n = n(), popScopeId(), n), "_withScopeId$4"); +const _hoisted_1$e = { class: "absolute top-0 left-0 w-auto max-w-full pointer-events-auto" }; +const _sfc_main$9 = /* @__PURE__ */ defineComponent({ + __name: "SecondRowWorkflowTabs", + setup(__props) { + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$e, [ + createVNode(WorkflowTabs) + ]); + }; + } +}); +const SecondRowWorkflowTabs = /* @__PURE__ */ _export_sfc(_sfc_main$9, [["__scopeId", "data-v-38831d8e"]]); +const CORE_SETTINGS = [ + { + id: "Comfy.Validation.Workflows", + name: "Validate workflows", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.NodeSearchBoxImpl", + category: ["Comfy", "Node Search Box", "Implementation"], + experimental: true, + name: "Node search box implementation", + type: "combo", + options: ["default", "litegraph (legacy)"], + defaultValue: "default" + }, + { + id: "Comfy.LinkRelease.Action", + category: ["LiteGraph", "LinkRelease", "Action"], + name: "Action on link release (No modifier)", + type: "combo", + options: Object.values(LinkReleaseTriggerAction), + defaultValue: LinkReleaseTriggerAction.CONTEXT_MENU + }, + { + id: "Comfy.LinkRelease.ActionShift", + category: ["LiteGraph", "LinkRelease", "ActionShift"], + name: "Action on link release (Shift)", + type: "combo", + options: Object.values(LinkReleaseTriggerAction), + defaultValue: LinkReleaseTriggerAction.SEARCH_BOX + }, + { + id: "Comfy.NodeSearchBoxImpl.NodePreview", + category: ["Comfy", "Node Search Box", "NodePreview"], + name: "Node preview", + tooltip: "Only applies to the default implementation", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.NodeSearchBoxImpl.ShowCategory", + category: ["Comfy", "Node Search Box", "ShowCategory"], + name: "Show node category in search results", + tooltip: "Only applies to the default implementation", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.NodeSearchBoxImpl.ShowIdName", + category: ["Comfy", "Node Search Box", "ShowIdName"], + name: "Show node id name in search results", + tooltip: "Only applies to the default implementation", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.NodeSearchBoxImpl.ShowNodeFrequency", + category: ["Comfy", "Node Search Box", "ShowNodeFrequency"], + name: "Show node frequency in search results", + tooltip: "Only applies to the default implementation", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.Sidebar.Location", + category: ["Appearance", "Sidebar", "Location"], + name: "Sidebar location", + type: "combo", + options: ["left", "right"], + defaultValue: "left" + }, + { + id: "Comfy.Sidebar.Size", + category: ["Appearance", "Sidebar", "Size"], + name: "Sidebar size", + type: "combo", + options: ["normal", "small"], + // Default to small if the window is less than 1536px(2xl) wide. + defaultValue: /* @__PURE__ */ __name(() => window.innerWidth < 1536 ? "small" : "normal", "defaultValue") + }, + { + id: "Comfy.TextareaWidget.FontSize", + category: ["Appearance", "Node Widget", "TextareaWidget", "FontSize"], + name: "Textarea widget font size", + type: "slider", + defaultValue: 10, + attrs: { + min: 8, + max: 24 + } + }, + { + id: "Comfy.TextareaWidget.Spellcheck", + category: ["Comfy", "Node Widget", "TextareaWidget", "Spellcheck"], + name: "Textarea widget spellcheck", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.Workflow.SortNodeIdOnSave", + name: "Sort node IDs when saving workflow", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.Graph.CanvasInfo", + category: ["LiteGraph", "Canvas", "CanvasInfo"], + name: "Show canvas info on bottom left corner (fps, etc.)", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Node.ShowDeprecated", + name: "Show deprecated nodes in search", + tooltip: "Deprecated nodes are hidden by default in the UI, but remain functional in existing workflows that use them.", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.Node.ShowExperimental", + name: "Show experimental nodes in search", + tooltip: "Experimental nodes are marked as such in the UI and may be subject to significant changes or removal in future versions. Use with caution in production workflows", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Node.Opacity", + category: ["Appearance", "Node", "Opacity"], + name: "Node opacity", + type: "slider", + defaultValue: 1, + attrs: { + min: 0.01, + max: 1, + step: 0.01 + } + }, + { + id: "Comfy.Workflow.ShowMissingNodesWarning", + name: "Show missing nodes warning", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Workflow.ShowMissingModelsWarning", + name: "Show missing models warning", + type: "boolean", + defaultValue: false, + experimental: true + }, + { + id: "Comfy.Graph.ZoomSpeed", + category: ["LiteGraph", "Canvas", "ZoomSpeed"], + name: "Canvas zoom speed", + type: "slider", + defaultValue: 1.1, + attrs: { + min: 1.01, + max: 2.5, + step: 0.01 + } + }, + // Bookmarks are stored in the settings store. + // Bookmarks are in format of category/display_name. e.g. "conditioning/CLIPTextEncode" + { + id: "Comfy.NodeLibrary.Bookmarks", + name: "Node library bookmarks with display name (deprecated)", + type: "hidden", + defaultValue: [], + deprecated: true + }, + { + id: "Comfy.NodeLibrary.Bookmarks.V2", + name: "Node library bookmarks v2 with unique name", + type: "hidden", + defaultValue: [] + }, + // Stores mapping from bookmark folder name to its customization. + { + id: "Comfy.NodeLibrary.BookmarksCustomization", + name: "Node library bookmarks customization", + type: "hidden", + defaultValue: {} + }, + // Hidden setting used by the queue for how to fit images + { + id: "Comfy.Queue.ImageFit", + name: "Queue image fit", + type: "hidden", + defaultValue: "cover" + }, + { + id: "Comfy.GroupSelectedNodes.Padding", + category: ["LiteGraph", "Group", "Padding"], + name: "Group selected nodes padding", + type: "slider", + defaultValue: 10, + attrs: { + min: 0, + max: 100 + } + }, + { + id: "Comfy.Node.DoubleClickTitleToEdit", + category: ["LiteGraph", "Node", "DoubleClickTitleToEdit"], + name: "Double click node title to edit", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Group.DoubleClickTitleToEdit", + category: ["LiteGraph", "Group", "DoubleClickTitleToEdit"], + name: "Double click group title to edit", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Window.UnloadConfirmation", + name: "Show confirmation when closing window", + type: "boolean", + defaultValue: true, + versionModified: "1.7.12" + }, + { + id: "Comfy.TreeExplorer.ItemPadding", + category: ["Appearance", "Tree Explorer", "ItemPadding"], + name: "Tree explorer item padding", + type: "slider", + defaultValue: 2, + attrs: { + min: 0, + max: 8, + step: 1 + } + }, + { + id: "Comfy.ModelLibrary.AutoLoadAll", + name: "Automatically load all model folders", + tooltip: "If true, all folders will load as soon as you open the model library (this may cause delays while it loads). If false, root level model folders will only load once you click on them.", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.ModelLibrary.NameFormat", + name: "What name to display in the model library tree view", + tooltip: 'Select "filename" to render a simplified view of the raw filename (without directory or ".safetensors" extension) in the model list. Select "title" to display the configurable model metadata title.', + type: "combo", + options: ["filename", "title"], + defaultValue: "title" + }, + { + id: "Comfy.Locale", + name: "Language", + type: "combo", + options: [ + { value: "en", text: "English" }, + { value: "zh", text: "中文" }, + { value: "ru", text: "Русский" }, + { value: "ja", text: "日本語" }, + { value: "ko", text: "한국어" }, + { value: "fr", text: "Français" } + ], + defaultValue: /* @__PURE__ */ __name(() => navigator.language.split("-")[0] || "en", "defaultValue") + }, + { + id: "Comfy.NodeBadge.NodeSourceBadgeMode", + category: ["LiteGraph", "Node", "NodeSourceBadgeMode"], + name: "Node source badge mode", + type: "combo", + options: Object.values(NodeBadgeMode), + defaultValue: NodeBadgeMode.HideBuiltIn + }, + { + id: "Comfy.NodeBadge.NodeIdBadgeMode", + category: ["LiteGraph", "Node", "NodeIdBadgeMode"], + name: "Node ID badge mode", + type: "combo", + options: [NodeBadgeMode.None, NodeBadgeMode.ShowAll], + defaultValue: NodeBadgeMode.ShowAll + }, + { + id: "Comfy.NodeBadge.NodeLifeCycleBadgeMode", + category: ["LiteGraph", "Node", "NodeLifeCycleBadgeMode"], + name: "Node life cycle badge mode", + type: "combo", + options: [NodeBadgeMode.None, NodeBadgeMode.ShowAll], + defaultValue: NodeBadgeMode.ShowAll + }, + { + id: "Comfy.ConfirmClear", + category: ["Comfy", "Workflow", "ConfirmClear"], + name: "Require confirmation when clearing workflow", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.PromptFilename", + category: ["Comfy", "Workflow", "PromptFilename"], + name: "Prompt for filename when saving workflow", + type: "boolean", + defaultValue: true + }, + /** + * file format for preview + * + * format;quality + * + * ex) + * webp;50 -> webp, quality 50 + * jpeg;80 -> rgb, jpeg, quality 80 + * + * @type {string} + */ + { + id: "Comfy.PreviewFormat", + category: ["LiteGraph", "Node Widget", "PreviewFormat"], + name: "Preview image format", + tooltip: "When displaying a preview in the image widget, convert it to a lightweight image, e.g. webp, jpeg, webp;50, etc.", + type: "text", + defaultValue: "" + }, + { + id: "Comfy.DisableSliders", + category: ["LiteGraph", "Node Widget", "DisableSliders"], + name: "Disable node widget sliders", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.DisableFloatRounding", + category: ["LiteGraph", "Node Widget", "DisableFloatRounding"], + name: "Disable default float widget rounding.", + tooltip: "(requires page reload) Cannot disable round when round is set by the node in the backend.", + type: "boolean", + defaultValue: false + }, + { + id: "Comfy.FloatRoundingPrecision", + category: ["LiteGraph", "Node Widget", "FloatRoundingPrecision"], + name: "Float widget rounding decimal places [0 = auto].", + tooltip: "(requires page reload)", + type: "slider", + attrs: { + min: 0, + max: 6, + step: 1 + }, + defaultValue: 0 + }, + { + id: "Comfy.EnableTooltips", + category: ["LiteGraph", "Node", "EnableTooltips"], + name: "Enable Tooltips", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.DevMode", + name: "Enable dev mode options (API save, etc.)", + type: "boolean", + defaultValue: false, + onChange: /* @__PURE__ */ __name((value) => { + const element = document.getElementById("comfy-dev-save-api-button"); + if (element) { + element.style.display = value ? "flex" : "none"; + } + }, "onChange") + }, + { + id: "Comfy.UseNewMenu", + category: ["Comfy", "Menu", "UseNewMenu"], + defaultValue: "Top", + name: "Use new menu", + type: "combo", + options: ["Disabled", "Top", "Bottom"], + migrateDeprecatedValue: /* @__PURE__ */ __name((value) => { + if (value === "Floating") { + return "Top"; + } + return value; + }, "migrateDeprecatedValue") + }, + { + id: "Comfy.Workflow.WorkflowTabsPosition", + name: "Opened workflows position", + type: "combo", + options: ["Sidebar", "Topbar", "Topbar (2nd-row)"], + // Default to topbar (2nd-row) if the window is less than 1536px(2xl) wide. + defaultValue: /* @__PURE__ */ __name(() => window.innerWidth < 1536 ? "Topbar (2nd-row)" : "Topbar", "defaultValue") + }, + { + id: "Comfy.Graph.CanvasMenu", + category: ["LiteGraph", "Canvas", "CanvasMenu"], + name: "Show graph canvas menu", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.QueueButton.BatchCountLimit", + name: "Batch count limit", + tooltip: "The maximum number of tasks added to the queue at one button click", + type: "number", + defaultValue: 100, + versionAdded: "1.3.5" + }, + { + id: "Comfy.Keybinding.UnsetBindings", + name: "Keybindings unset by the user", + type: "hidden", + defaultValue: [], + versionAdded: "1.3.7", + versionModified: "1.7.3", + migrateDeprecatedValue: /* @__PURE__ */ __name((value) => { + return value.map((keybinding) => { + if (keybinding["targetSelector"] === "#graph-canvas") { + keybinding["targetElementId"] = "graph-canvas"; + } + return keybinding; + }); + }, "migrateDeprecatedValue") + }, + { + id: "Comfy.Keybinding.NewBindings", + name: "Keybindings set by the user", + type: "hidden", + defaultValue: [], + versionAdded: "1.3.7" + }, + { + id: "Comfy.Extension.Disabled", + name: "Disabled extension names", + type: "hidden", + defaultValue: [], + versionAdded: "1.3.11" + }, + { + id: "Comfy.Validation.NodeDefs", + name: "Validate node definitions (slow)", + type: "boolean", + tooltip: "Recommended for node developers. This will validate all node definitions on startup.", + defaultValue: false, + versionAdded: "1.3.14" + }, + { + id: "Comfy.LinkRenderMode", + category: ["LiteGraph", "Graph", "LinkRenderMode"], + name: "Link Render Mode", + defaultValue: 2, + type: "combo", + options: [ + { value: LiteGraph.STRAIGHT_LINK, text: "Straight" }, + { value: LiteGraph.LINEAR_LINK, text: "Linear" }, + { value: LiteGraph.SPLINE_LINK, text: "Spline" }, + { value: LiteGraph.HIDDEN_LINK, text: "Hidden" } + ] + }, + { + id: "Comfy.Node.AutoSnapLinkToSlot", + category: ["LiteGraph", "Node", "AutoSnapLinkToSlot"], + name: "Auto snap link to node slot", + tooltip: "When dragging a link over a node, the link automatically snap to a viable input slot on the node", + type: "boolean", + defaultValue: true, + versionAdded: "1.3.29" + }, + { + id: "Comfy.Node.SnapHighlightsNode", + category: ["LiteGraph", "Node", "SnapHighlightsNode"], + name: "Snap highlights node", + tooltip: "When dragging a link over a node with viable input slot, highlight the node", + type: "boolean", + defaultValue: true, + versionAdded: "1.3.29" + }, + { + id: "Comfy.Node.BypassAllLinksOnDelete", + category: ["LiteGraph", "Node", "BypassAllLinksOnDelete"], + name: "Keep all links when deleting nodes", + tooltip: "When deleting a node, attempt to reconnect all of its input and output links (bypassing the deleted node)", + type: "boolean", + defaultValue: true, + versionAdded: "1.3.40" + }, + { + id: "Comfy.Node.MiddleClickRerouteNode", + category: ["LiteGraph", "Node", "MiddleClickRerouteNode"], + name: "Middle-click creates a new Reroute node", + type: "boolean", + defaultValue: true, + versionAdded: "1.3.42" + }, + { + id: "Comfy.RerouteBeta", + category: ["LiteGraph", "RerouteBeta"], + name: "Opt-in to the reroute beta test", + tooltip: "Enables the new native reroutes.\n\nReroutes can be added by holding alt and dragging from a link line, or on the link menu.\n\nDisabling this option is non-destructive - reroutes are hidden.", + experimental: true, + type: "boolean", + defaultValue: false, + versionAdded: "1.3.42" + }, + { + id: "Comfy.Graph.LinkMarkers", + category: ["LiteGraph", "Link", "LinkMarkers"], + name: "Link midpoint markers", + defaultValue: LinkMarkerShape.Circle, + type: "combo", + options: [ + { value: LinkMarkerShape.None, text: "None" }, + { value: LinkMarkerShape.Circle, text: "Circle" }, + { value: LinkMarkerShape.Arrow, text: "Arrow" } + ], + versionAdded: "1.3.42" + }, + { + id: "Comfy.DOMClippingEnabled", + category: ["LiteGraph", "Node", "DOMClippingEnabled"], + name: "Enable DOM element clipping (enabling may reduce performance)", + type: "boolean", + defaultValue: true + }, + { + id: "Comfy.Graph.CtrlShiftZoom", + category: ["LiteGraph", "Canvas", "CtrlShiftZoom"], + name: "Enable fast-zoom shortcut (Ctrl + Shift + Drag)", + type: "boolean", + defaultValue: true, + versionAdded: "1.4.0" + }, + { + id: "Comfy.Pointer.ClickDrift", + category: ["LiteGraph", "Pointer", "ClickDrift"], + name: "Pointer click drift (maximum distance)", + tooltip: "If the pointer moves more than this distance while holding a button down, it is considered dragging (rather than clicking).\n\nHelps prevent objects from being unintentionally nudged if the pointer is moved whilst clicking.", + experimental: true, + type: "slider", + attrs: { + min: 0, + max: 20, + step: 1 + }, + defaultValue: 6, + versionAdded: "1.4.3" + }, + { + id: "Comfy.Pointer.ClickBufferTime", + category: ["LiteGraph", "Pointer", "ClickBufferTime"], + name: "Pointer click drift delay", + tooltip: "After pressing a pointer button down, this is the maximum time (in milliseconds) that pointer movement can be ignored for.\n\nHelps prevent objects from being unintentionally nudged if the pointer is moved whilst clicking.", + experimental: true, + type: "slider", + attrs: { + min: 0, + max: 1e3, + step: 25 + }, + defaultValue: 150, + versionAdded: "1.4.3" + }, + { + id: "Comfy.Pointer.DoubleClickTime", + category: ["LiteGraph", "Pointer", "DoubleClickTime"], + name: "Double click interval (maximum)", + tooltip: "The maximum time in milliseconds between the two clicks of a double-click. Increasing this value may assist if double-clicks are sometimes not registered.", + type: "slider", + attrs: { + min: 100, + max: 1e3, + step: 50 + }, + defaultValue: 300, + versionAdded: "1.4.3" + }, + { + id: "Comfy.SnapToGrid.GridSize", + category: ["LiteGraph", "Canvas", "GridSize"], + name: "Snap to grid size", + type: "slider", + attrs: { + min: 1, + max: 500 + }, + tooltip: "When dragging and resizing nodes while holding shift they will be aligned to the grid, this controls the size of that grid.", + defaultValue: LiteGraph.CANVAS_GRID_SIZE + }, + // Keep the 'pysssss.SnapToGrid' setting id so we don't need to migrate setting values. + // Using a new setting id can cause existing users to lose their existing settings. + { + id: "pysssss.SnapToGrid", + category: ["LiteGraph", "Canvas", "AlwaysSnapToGrid"], + name: "Always snap to grid", + type: "boolean", + defaultValue: false, + versionAdded: "1.3.13" + }, + { + id: "Comfy.Server.ServerConfigValues", + name: "Server config values for frontend display", + tooltip: "Server config values used for frontend display only", + type: "hidden", + // Mapping from server config id to value. + defaultValue: {}, + versionAdded: "1.4.8" + }, + { + id: "Comfy.Server.LaunchArgs", + name: "Server launch arguments", + tooltip: "These are the actual arguments that are passed to the server when it is launched.", + type: "hidden", + defaultValue: {}, + versionAdded: "1.4.8" + }, + { + id: "Comfy.Queue.MaxHistoryItems", + name: "Queue history size", + tooltip: "The maximum number of tasks that show in the queue history.", + type: "slider", + attrs: { + min: 16, + max: 256, + step: 16 + }, + defaultValue: 64, + versionAdded: "1.4.12" + }, + { + id: "LiteGraph.Canvas.MaximumFps", + name: "Maxium FPS", + tooltip: "The maximum frames per second that the canvas is allowed to render. Caps GPU usage at the cost of smoothness. If 0, the screen refresh rate is used. Default: 0", + type: "slider", + attrs: { + min: 0, + max: 120 + }, + defaultValue: 0, + versionAdded: "1.5.1" + }, + { + id: "Comfy.EnableWorkflowViewRestore", + category: ["Comfy", "Workflow", "EnableWorkflowViewRestore"], + name: "Save and restore canvas position and zoom level in workflows", + type: "boolean", + defaultValue: true, + versionModified: "1.5.4" + }, + { + id: "Comfy.Workflow.ConfirmDelete", + name: "Show confirmation when deleting workflows", + type: "boolean", + defaultValue: true, + versionAdded: "1.5.6" + }, + { + id: "Comfy.ColorPalette", + name: "The active color palette id", + type: "hidden", + defaultValue: "dark", + versionModified: "1.6.7", + migrateDeprecatedValue(value) { + return value.startsWith("custom_") ? value.replace("custom_", "") : value; + } + }, + { + id: "Comfy.CustomColorPalettes", + name: "Custom color palettes", + type: "hidden", + defaultValue: {}, + versionModified: "1.6.7" + }, + { + id: "Comfy.WidgetControlMode", + category: ["Comfy", "Node Widget", "WidgetControlMode"], + name: "Widget control mode", + tooltip: "Controls when widget values are updated (randomize/increment/decrement), either before the prompt is queued or after.", + type: "combo", + defaultValue: "after", + options: ["before", "after"], + versionModified: "1.6.10" + } +]; +const _sfc_main$8 = /* @__PURE__ */ defineComponent({ + __name: "GraphCanvas", + emits: ["ready"], + setup(__props, { emit: __emit }) { + const emit = __emit; + const canvasRef = ref(null); + const litegraphService = useLitegraphService(); + const settingStore = useSettingStore(); + const nodeDefStore = useNodeDefStore(); + const workspaceStore = useWorkspaceStore(); + const canvasStore = useCanvasStore(); + const modelToNodeStore = useModelToNodeStore(); + const betaMenuEnabled = computed( + () => settingStore.get("Comfy.UseNewMenu") !== "Disabled" + ); + const workflowTabsPosition = computed( + () => settingStore.get("Comfy.Workflow.WorkflowTabsPosition") + ); + const canvasMenuEnabled = computed( + () => settingStore.get("Comfy.Graph.CanvasMenu") + ); + const tooltipEnabled = computed(() => settingStore.get("Comfy.EnableTooltips")); + const storedWorkflows = JSON.parse( + getStorageValue("Comfy.OpenWorkflowsPaths") || "[]" + ); + const storedActiveIndex = JSON.parse( + getStorageValue("Comfy.ActiveWorkflowIndex") || "-1" + ); + const openWorkflows = computed(() => workspaceStore?.workflow?.openWorkflows); + const activeWorkflow = computed(() => workspaceStore?.workflow?.activeWorkflow); + const restoreState2 = computed(() => { + if (!openWorkflows.value || !activeWorkflow.value) { + return { paths: [], activeIndex: -1 }; + } + const paths = openWorkflows.value.filter((workflow) => workflow?.isPersisted && !workflow.isModified).map((workflow) => workflow.path); + const activeIndex = openWorkflows.value.findIndex( + (workflow) => workflow.path === activeWorkflow.value?.path + ); + return { paths, activeIndex }; + }); + watchEffect(() => { + const canvasInfoEnabled = settingStore.get("Comfy.Graph.CanvasInfo"); + if (canvasStore.canvas) { + canvasStore.canvas.show_info = canvasInfoEnabled; + } + }); + watchEffect(() => { + const zoomSpeed = settingStore.get("Comfy.Graph.ZoomSpeed"); + if (canvasStore.canvas) { + canvasStore.canvas.zoom_speed = zoomSpeed; + } + }); + watchEffect(() => { + LiteGraph.snaps_for_comfy = settingStore.get("Comfy.Node.AutoSnapLinkToSlot"); + }); + watchEffect(() => { + LiteGraph.snap_highlights_node = settingStore.get( + "Comfy.Node.SnapHighlightsNode" + ); + }); + watchEffect(() => { + LGraphNode.keepAllLinksOnBypass = settingStore.get( + "Comfy.Node.BypassAllLinksOnDelete" + ); + }); + watchEffect(() => { + LiteGraph.middle_click_slot_add_default_node = settingStore.get( + "Comfy.Node.MiddleClickRerouteNode" + ); + }); + watchEffect(() => { + nodeDefStore.showDeprecated = settingStore.get("Comfy.Node.ShowDeprecated"); + }); + watchEffect(() => { + nodeDefStore.showExperimental = settingStore.get( + "Comfy.Node.ShowExperimental" + ); + }); + watchEffect(() => { + const spellcheckEnabled = settingStore.get("Comfy.TextareaWidget.Spellcheck"); + const textareas = document.querySelectorAll("textarea.comfy-multiline-input"); + textareas.forEach((textarea) => { + textarea.spellcheck = spellcheckEnabled; + textarea.focus(); + textarea.blur(); + }); + }); + watchEffect(() => { + const linkRenderMode = settingStore.get("Comfy.LinkRenderMode"); + if (canvasStore.canvas) { + canvasStore.canvas.links_render_mode = linkRenderMode; + canvasStore.canvas.setDirty( + /* fg */ + false, + /* bg */ + true + ); + } + }); + watchEffect(() => { + const linkMarkerShape = settingStore.get("Comfy.Graph.LinkMarkers"); + const { canvas } = canvasStore; + if (canvas) { + canvas.linkMarkerShape = linkMarkerShape; + canvas.setDirty(false, true); + } + }); + watchEffect(() => { + const reroutesEnabled = settingStore.get("Comfy.RerouteBeta"); + const { canvas } = canvasStore; + if (canvas) { + canvas.reroutesEnabled = reroutesEnabled; + canvas.setDirty(false, true); + } + }); + watchEffect(() => { + const maximumFps = settingStore.get("LiteGraph.Canvas.MaximumFps"); + const { canvas } = canvasStore; + if (canvas) canvas.maximumFps = maximumFps; + }); + watchEffect(() => { + CanvasPointer.doubleClickTime = settingStore.get( + "Comfy.Pointer.DoubleClickTime" + ); + }); + watchEffect(() => { + CanvasPointer.bufferTime = settingStore.get("Comfy.Pointer.ClickBufferTime"); + }); + watchEffect(() => { + CanvasPointer.maxClickDrift = settingStore.get("Comfy.Pointer.ClickDrift"); + }); + watchEffect(() => { + LiteGraph.CANVAS_GRID_SIZE = settingStore.get("Comfy.SnapToGrid.GridSize"); + }); + watchEffect(() => { + LiteGraph.alwaysSnapToGrid = settingStore.get("pysssss.SnapToGrid"); + }); + watch( + () => settingStore.get("Comfy.WidgetControlMode"), + () => { + if (!canvasStore.canvas) return; + for (const n of app.graph.nodes) { + if (!n.widgets) continue; + for (const w of n.widgets) { + if (w[IS_CONTROL_WIDGET]) { + updateControlWidgetLabel(w); + if (w.linkedWidgets) { + for (const l of w.linkedWidgets) { + updateControlWidgetLabel(l); + } + } + } + } + } + app.graph.setDirtyCanvas(true); + } + ); + const colorPaletteService = useColorPaletteService(); + const colorPaletteStore = useColorPaletteStore(); + watch( + [() => canvasStore.canvas, () => settingStore.get("Comfy.ColorPalette")], + ([canvas, currentPaletteId]) => { + if (!canvas) return; + colorPaletteService.loadColorPalette(currentPaletteId); + } + ); + watch( + () => colorPaletteStore.activePaletteId, + (newValue) => { + settingStore.set("Comfy.ColorPalette", newValue); + } + ); + const workflowStore = useWorkflowStore(); + const persistCurrentWorkflow = /* @__PURE__ */ __name(() => { + const workflow = JSON.stringify(app.serializeGraph()); + localStorage.setItem("workflow", workflow); + if (api.clientId) { + sessionStorage.setItem(`workflow:${api.clientId}`, workflow); + } + }, "persistCurrentWorkflow"); + watchEffect(() => { + if (workflowStore.activeWorkflow) { + const workflow = workflowStore.activeWorkflow; + setStorageValue("Comfy.PreviousWorkflow", workflow.key); + persistCurrentWorkflow(); + } + }); + api.addEventListener("graphChanged", persistCurrentWorkflow); + usePragmaticDroppable(() => canvasRef.value, { + onDrop: /* @__PURE__ */ __name((event) => { + const loc = event.location.current.input; + const dndData = event.source.data; + if (dndData.type === "tree-explorer-node") { + const node = dndData.data; + if (node.data instanceof ComfyNodeDefImpl) { + const nodeDef = node.data; + const pos = app.clientPosToCanvasPos([ + loc.clientX - 20, + loc.clientY + ]); + litegraphService.addNodeOnGraph(nodeDef, { pos }); + } else if (node.data instanceof ComfyModelDef) { + const model = node.data; + const pos = app.clientPosToCanvasPos([loc.clientX, loc.clientY]); + const nodeAtPos = app.graph.getNodeOnPos(pos[0], pos[1]); + let targetProvider = null; + let targetGraphNode = null; + if (nodeAtPos) { + const providers = modelToNodeStore.getAllNodeProviders( + model.directory + ); + for (const provider of providers) { + if (provider.nodeDef.name === nodeAtPos.comfyClass) { + targetGraphNode = nodeAtPos; + targetProvider = provider; + } + } + } + if (!targetGraphNode) { + const provider = modelToNodeStore.getNodeProvider(model.directory); + if (provider) { + targetGraphNode = litegraphService.addNodeOnGraph( + provider.nodeDef, + { + pos + } + ); + targetProvider = provider; + } + } + if (targetGraphNode) { + const widget = targetGraphNode.widgets.find( + (widget2) => widget2.name === targetProvider.key + ); + if (widget) { + widget.value = model.file_name; + } + } + } + } + }, "onDrop") + }); + const comfyAppReady = ref(false); + onMounted(async () => { + window["LiteGraph"] = LiteGraph; + window["LGraph"] = LGraph; + window["LLink"] = LLink; + window["LGraphNode"] = LGraphNode; + window["LGraphGroup"] = LGraphGroup; + window["DragAndScale"] = DragAndScale; + window["LGraphCanvas"] = LGraphCanvas; + window["ContextMenu"] = ContextMenu; + window["LGraphBadge"] = LGraphBadge; + app.vueAppReady = true; + workspaceStore.spinner = true; + ChangeTracker.init(app); + await settingStore.loadSettingValues(); + CORE_SETTINGS.forEach((setting) => { + settingStore.addSetting(setting); + }); + await app.setup(canvasRef.value); + canvasStore.canvas = app.canvas; + canvasStore.canvas.render_canvas_border = false; + workspaceStore.spinner = false; + window["app"] = app; + window["graph"] = app.graph; + comfyAppReady.value = true; + colorPaletteStore.customPalettes = settingStore.get( + "Comfy.CustomColorPalettes" + ); + const isRestorable = storedWorkflows?.length > 0 && storedActiveIndex >= 0; + if (isRestorable) + workflowStore.openWorkflowsInBackground({ + left: storedWorkflows.slice(0, storedActiveIndex), + right: storedWorkflows.slice(storedActiveIndex) + }); + watch(restoreState2, ({ paths, activeIndex }) => { + setStorageValue("Comfy.OpenWorkflowsPaths", JSON.stringify(paths)); + setStorageValue("Comfy.ActiveWorkflowIndex", JSON.stringify(activeIndex)); + }); + watch( + () => settingStore.get("Comfy.Locale"), + async () => { + await useCommandStore().execute("Comfy.RefreshNodeDefinitions"); + useWorkflowService().reloadCurrentWorkflow(); + } + ); + emit("ready"); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock(Fragment, null, [ + (openBlock(), createBlock(Teleport, { to: ".graph-canvas-container" }, [ + comfyAppReady.value && betaMenuEnabled.value && !unref(workspaceStore).focusMode ? (openBlock(), createBlock(LiteGraphCanvasSplitterOverlay, { key: 0 }, { + "side-bar-panel": withCtx(() => [ + createVNode(SideToolbar) + ]), + "bottom-panel": withCtx(() => [ + createVNode(_sfc_main$p) + ]), + "graph-canvas-panel": withCtx(() => [ + workflowTabsPosition.value === "Topbar (2nd-row)" ? (openBlock(), createBlock(SecondRowWorkflowTabs, { key: 0 })) : createCommentVNode("", true), + canvasMenuEnabled.value ? (openBlock(), createBlock(GraphCanvasMenu, { key: 1 })) : createCommentVNode("", true) + ]), + _: 1 + })) : createCommentVNode("", true), + createVNode(TitleEditor), + !betaMenuEnabled.value && canvasMenuEnabled.value ? (openBlock(), createBlock(GraphCanvasMenu, { key: 1 })) : createCommentVNode("", true), + createBaseVNode("canvas", { + ref_key: "canvasRef", + ref: canvasRef, + id: "graph-canvas", + tabindex: "1" + }, null, 512) + ])), + createVNode(_sfc_main$h), + tooltipEnabled.value ? (openBlock(), createBlock(NodeTooltip, { key: 0 })) : createCommentVNode("", true), + createVNode(_sfc_main$n) + ], 64); + }; + } +}); +function _typeof$3(o) { + "@babel/helpers - typeof"; + return _typeof$3 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$3(o); +} +__name(_typeof$3, "_typeof$3"); +function _defineProperty$3(e, r, t) { + return (r = _toPropertyKey$3(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$3, "_defineProperty$3"); +function _toPropertyKey$3(t) { + var i = _toPrimitive$3(t, "string"); + return "symbol" == _typeof$3(i) ? i : i + ""; +} +__name(_toPropertyKey$3, "_toPropertyKey$3"); +function _toPrimitive$3(t, r) { + if ("object" != _typeof$3(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$3(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$3, "_toPrimitive$3"); +var theme$3 = /* @__PURE__ */ __name(function theme5(_ref) { + var dt = _ref.dt; + return "\n.p-toast {\n width: ".concat(dt("toast.width"), ";\n white-space: pre-line;\n word-break: break-word;\n}\n\n.p-toast-message {\n margin: 0 0 1rem 0;\n}\n\n.p-toast-message-icon {\n flex-shrink: 0;\n font-size: ").concat(dt("toast.icon.size"), ";\n width: ").concat(dt("toast.icon.size"), ";\n height: ").concat(dt("toast.icon.size"), ";\n}\n\n.p-toast-message-content {\n display: flex;\n align-items: flex-start;\n padding: ").concat(dt("toast.content.padding"), ";\n gap: ").concat(dt("toast.content.gap"), ";\n}\n\n.p-toast-message-text {\n flex: 1 1 auto;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("toast.text.gap"), ";\n}\n\n.p-toast-summary {\n font-weight: ").concat(dt("toast.summary.font.weight"), ";\n font-size: ").concat(dt("toast.summary.font.size"), ";\n}\n\n.p-toast-detail {\n font-weight: ").concat(dt("toast.detail.font.weight"), ";\n font-size: ").concat(dt("toast.detail.font.size"), ";\n}\n\n.p-toast-close-button {\n display: flex;\n align-items: center;\n justify-content: center;\n overflow: hidden;\n position: relative;\n cursor: pointer;\n background: transparent;\n transition: background ").concat(dt("toast.transition.duration"), ", color ").concat(dt("toast.transition.duration"), ", outline-color ").concat(dt("toast.transition.duration"), ", box-shadow ").concat(dt("toast.transition.duration"), ";\n outline-color: transparent;\n color: inherit;\n width: ").concat(dt("toast.close.button.width"), ";\n height: ").concat(dt("toast.close.button.height"), ";\n border-radius: ").concat(dt("toast.close.button.border.radius"), ";\n margin: -25% 0 0 0;\n right: -25%;\n padding: 0;\n border: none;\n user-select: none;\n}\n\n.p-toast-message-info,\n.p-toast-message-success,\n.p-toast-message-warn,\n.p-toast-message-error,\n.p-toast-message-secondary,\n.p-toast-message-contrast {\n border-width: ").concat(dt("toast.border.width"), ";\n border-style: solid;\n backdrop-filter: blur(").concat(dt("toast.blur"), ");\n border-radius: ").concat(dt("toast.border.radius"), ";\n}\n\n.p-toast-close-icon {\n font-size: ").concat(dt("toast.close.icon.size"), ";\n width: ").concat(dt("toast.close.icon.size"), ";\n height: ").concat(dt("toast.close.icon.size"), ";\n}\n\n.p-toast-close-button:focus-visible {\n outline-width: ").concat(dt("focus.ring.width"), ";\n outline-style: ").concat(dt("focus.ring.style"), ";\n outline-offset: ").concat(dt("focus.ring.offset"), ";\n}\n\n.p-toast-message-info {\n background: ").concat(dt("toast.info.background"), ";\n border-color: ").concat(dt("toast.info.border.color"), ";\n color: ").concat(dt("toast.info.color"), ";\n box-shadow: ").concat(dt("toast.info.shadow"), ";\n}\n\n.p-toast-message-info .p-toast-detail {\n color: ").concat(dt("toast.info.detail.color"), ";\n}\n\n.p-toast-message-info .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.info.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.info.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-info .p-toast-close-button:hover {\n background: ").concat(dt("toast.info.close.button.hover.background"), ";\n}\n\n.p-toast-message-success {\n background: ").concat(dt("toast.success.background"), ";\n border-color: ").concat(dt("toast.success.border.color"), ";\n color: ").concat(dt("toast.success.color"), ";\n box-shadow: ").concat(dt("toast.success.shadow"), ";\n}\n\n.p-toast-message-success .p-toast-detail {\n color: ").concat(dt("toast.success.detail.color"), ";\n}\n\n.p-toast-message-success .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.success.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.success.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-success .p-toast-close-button:hover {\n background: ").concat(dt("toast.success.close.button.hover.background"), ";\n}\n\n.p-toast-message-warn {\n background: ").concat(dt("toast.warn.background"), ";\n border-color: ").concat(dt("toast.warn.border.color"), ";\n color: ").concat(dt("toast.warn.color"), ";\n box-shadow: ").concat(dt("toast.warn.shadow"), ";\n}\n\n.p-toast-message-warn .p-toast-detail {\n color: ").concat(dt("toast.warn.detail.color"), ";\n}\n\n.p-toast-message-warn .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.warn.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.warn.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-warn .p-toast-close-button:hover {\n background: ").concat(dt("toast.warn.close.button.hover.background"), ";\n}\n\n.p-toast-message-error {\n background: ").concat(dt("toast.error.background"), ";\n border-color: ").concat(dt("toast.error.border.color"), ";\n color: ").concat(dt("toast.error.color"), ";\n box-shadow: ").concat(dt("toast.error.shadow"), ";\n}\n\n.p-toast-message-error .p-toast-detail {\n color: ").concat(dt("toast.error.detail.color"), ";\n}\n\n.p-toast-message-error .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.error.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.error.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-error .p-toast-close-button:hover {\n background: ").concat(dt("toast.error.close.button.hover.background"), ";\n}\n\n.p-toast-message-secondary {\n background: ").concat(dt("toast.secondary.background"), ";\n border-color: ").concat(dt("toast.secondary.border.color"), ";\n color: ").concat(dt("toast.secondary.color"), ";\n box-shadow: ").concat(dt("toast.secondary.shadow"), ";\n}\n\n.p-toast-message-secondary .p-toast-detail {\n color: ").concat(dt("toast.secondary.detail.color"), ";\n}\n\n.p-toast-message-secondary .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.secondary.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.secondary.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-secondary .p-toast-close-button:hover {\n background: ").concat(dt("toast.secondary.close.button.hover.background"), ";\n}\n\n.p-toast-message-contrast {\n background: ").concat(dt("toast.contrast.background"), ";\n border-color: ").concat(dt("toast.contrast.border.color"), ";\n color: ").concat(dt("toast.contrast.color"), ";\n box-shadow: ").concat(dt("toast.contrast.shadow"), ";\n}\n\n.p-toast-message-contrast .p-toast-detail {\n color: ").concat(dt("toast.contrast.detail.color"), ";\n}\n\n.p-toast-message-contrast .p-toast-close-button:focus-visible {\n outline-color: ").concat(dt("toast.contrast.close.button.focus.ring.color"), ";\n box-shadow: ").concat(dt("toast.contrast.close.button.focus.ring.shadow"), ";\n}\n\n.p-toast-message-contrast .p-toast-close-button:hover {\n background: ").concat(dt("toast.contrast.close.button.hover.background"), ";\n}\n\n.p-toast-top-center {\n transform: translateX(-50%);\n}\n\n.p-toast-bottom-center {\n transform: translateX(-50%);\n}\n\n.p-toast-center {\n min-width: 20vw;\n transform: translate(-50%, -50%);\n}\n\n.p-toast-message-enter-from {\n opacity: 0;\n transform: translateY(50%);\n}\n\n.p-toast-message-leave-from {\n max-height: 1000px;\n}\n\n.p-toast .p-toast-message.p-toast-message-leave-to {\n max-height: 0;\n opacity: 0;\n margin-bottom: 0;\n overflow: hidden;\n}\n\n.p-toast-message-enter-active {\n transition: transform 0.3s, opacity 0.3s;\n}\n\n.p-toast-message-leave-active {\n transition: max-height 0.45s cubic-bezier(0, 1, 0, 1), opacity 0.3s, margin-bottom 0.3s;\n}\n"); +}, "theme"); +var inlineStyles$2 = { + root: /* @__PURE__ */ __name(function root6(_ref2) { + var position = _ref2.position; + return { + position: "fixed", + top: position === "top-right" || position === "top-left" || position === "top-center" ? "20px" : position === "center" ? "50%" : null, + right: (position === "top-right" || position === "bottom-right") && "20px", + bottom: (position === "bottom-left" || position === "bottom-right" || position === "bottom-center") && "20px", + left: position === "top-left" || position === "bottom-left" ? "20px" : position === "center" || position === "top-center" || position === "bottom-center" ? "50%" : null + }; + }, "root") +}; +var classes$3 = { + root: /* @__PURE__ */ __name(function root7(_ref3) { + var props = _ref3.props; + return ["p-toast p-component p-toast-" + props.position]; + }, "root"), + message: /* @__PURE__ */ __name(function message(_ref4) { + var props = _ref4.props; + return ["p-toast-message", { + "p-toast-message-info": props.message.severity === "info" || props.message.severity === void 0, + "p-toast-message-warn": props.message.severity === "warn", + "p-toast-message-error": props.message.severity === "error", + "p-toast-message-success": props.message.severity === "success", + "p-toast-message-secondary": props.message.severity === "secondary", + "p-toast-message-contrast": props.message.severity === "contrast" + }]; + }, "message"), + messageContent: "p-toast-message-content", + messageIcon: /* @__PURE__ */ __name(function messageIcon(_ref5) { + var props = _ref5.props; + return ["p-toast-message-icon", _defineProperty$3(_defineProperty$3(_defineProperty$3(_defineProperty$3({}, props.infoIcon, props.message.severity === "info"), props.warnIcon, props.message.severity === "warn"), props.errorIcon, props.message.severity === "error"), props.successIcon, props.message.severity === "success")]; + }, "messageIcon"), + messageText: "p-toast-message-text", + summary: "p-toast-summary", + detail: "p-toast-detail", + closeButton: "p-toast-close-button", + closeIcon: "p-toast-close-icon" +}; +var ToastStyle = BaseStyle.extend({ + name: "toast", + theme: theme$3, + classes: classes$3, + inlineStyles: inlineStyles$2 +}); +var script$2$2 = { + name: "BaseToast", + "extends": script$e, + props: { + group: { + type: String, + "default": null + }, + position: { + type: String, + "default": "top-right" + }, + autoZIndex: { + type: Boolean, + "default": true + }, + baseZIndex: { + type: Number, + "default": 0 + }, + breakpoints: { + type: Object, + "default": null + }, + closeIcon: { + type: String, + "default": void 0 + }, + infoIcon: { + type: String, + "default": void 0 + }, + warnIcon: { + type: String, + "default": void 0 + }, + errorIcon: { + type: String, + "default": void 0 + }, + successIcon: { + type: String, + "default": void 0 + }, + closeButtonProps: { + type: null, + "default": null + } + }, + style: ToastStyle, + provide: /* @__PURE__ */ __name(function provide9() { + return { + $pcToast: this, + $parentInstance: this + }; + }, "provide") +}; +var script$1$3 = { + name: "ToastMessage", + hostName: "Toast", + "extends": script$e, + emits: ["close"], + closeTimeout: null, + props: { + message: { + type: null, + "default": null + }, + templates: { + type: Object, + "default": null + }, + closeIcon: { + type: String, + "default": null + }, + infoIcon: { + type: String, + "default": null + }, + warnIcon: { + type: String, + "default": null + }, + errorIcon: { + type: String, + "default": null + }, + successIcon: { + type: String, + "default": null + }, + closeButtonProps: { + type: null, + "default": null + } + }, + mounted: /* @__PURE__ */ __name(function mounted4() { + var _this = this; + if (this.message.life) { + this.closeTimeout = setTimeout(function() { + _this.close({ + message: _this.message, + type: "life-end" + }); + }, this.message.life); + } + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount4() { + this.clearCloseTimeout(); + }, "beforeUnmount"), + methods: { + close: /* @__PURE__ */ __name(function close(params) { + this.$emit("close", params); + }, "close"), + onCloseClick: /* @__PURE__ */ __name(function onCloseClick() { + this.clearCloseTimeout(); + this.close({ + message: this.message, + type: "close" + }); + }, "onCloseClick"), + clearCloseTimeout: /* @__PURE__ */ __name(function clearCloseTimeout() { + if (this.closeTimeout) { + clearTimeout(this.closeTimeout); + this.closeTimeout = null; + } + }, "clearCloseTimeout") + }, + computed: { + iconComponent: /* @__PURE__ */ __name(function iconComponent() { + return { + info: !this.infoIcon && script$u, + success: !this.successIcon && script$v, + warn: !this.warnIcon && script$w, + error: !this.errorIcon && script$x + }[this.message.severity]; + }, "iconComponent"), + closeAriaLabel: /* @__PURE__ */ __name(function closeAriaLabel() { + return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : void 0; + }, "closeAriaLabel") + }, + components: { + TimesIcon: script$y, + InfoCircleIcon: script$u, + CheckIcon: script$v, + ExclamationTriangleIcon: script$w, + TimesCircleIcon: script$x + }, + directives: { + ripple: Ripple + } +}; +function _typeof$1(o) { + "@babel/helpers - typeof"; + return _typeof$1 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$1(o); +} +__name(_typeof$1, "_typeof$1"); +function ownKeys$1(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys$1, "ownKeys$1"); +function _objectSpread$1(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$1(Object(t), true).forEach(function(r2) { + _defineProperty$1(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$1(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$1, "_objectSpread$1"); +function _defineProperty$1(e, r, t) { + return (r = _toPropertyKey$1(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$1, "_defineProperty$1"); +function _toPropertyKey$1(t) { + var i = _toPrimitive$1(t, "string"); + return "symbol" == _typeof$1(i) ? i : i + ""; +} +__name(_toPropertyKey$1, "_toPropertyKey$1"); +function _toPrimitive$1(t, r) { + if ("object" != _typeof$1(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$1(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$1, "_toPrimitive$1"); +var _hoisted_1$d = ["aria-label"]; +function render$1$2(_ctx, _cache, $props, $setup, $data, $options) { + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": [_ctx.cx("message"), $props.message.styleClass], + role: "alert", + "aria-live": "assertive", + "aria-atomic": "true" + }, _ctx.ptm("message")), [$props.templates.container ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.container), { + key: 0, + message: $props.message, + closeCallback: $options.onCloseClick + }, null, 8, ["message", "closeCallback"])) : (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": [_ctx.cx("messageContent"), $props.message.contentStyleClass] + }, _ctx.ptm("messageContent")), [!$props.templates.message ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [(openBlock(), createBlock(resolveDynamicComponent($props.templates.messageicon ? $props.templates.messageicon : $props.templates.icon ? $props.templates.icon : $options.iconComponent && $options.iconComponent.name ? $options.iconComponent : "span"), mergeProps({ + "class": _ctx.cx("messageIcon") + }, _ctx.ptm("messageIcon")), null, 16, ["class"])), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("messageText") + }, _ctx.ptm("messageText")), [createBaseVNode("span", mergeProps({ + "class": _ctx.cx("summary") + }, _ctx.ptm("summary")), toDisplayString($props.message.summary), 17), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("detail") + }, _ctx.ptm("detail")), toDisplayString($props.message.detail), 17)], 16)], 64)) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.message), { + key: 1, + message: $props.message + }, null, 8, ["message"])), $props.message.closable !== false ? (openBlock(), createElementBlock("div", normalizeProps(mergeProps({ + key: 2 + }, _ctx.ptm("buttonContainer"))), [withDirectives((openBlock(), createElementBlock("button", mergeProps({ + "class": _ctx.cx("closeButton"), + type: "button", + "aria-label": $options.closeAriaLabel, + onClick: _cache[0] || (_cache[0] = function() { + return $options.onCloseClick && $options.onCloseClick.apply($options, arguments); + }), + autofocus: "" + }, _objectSpread$1(_objectSpread$1({}, $props.closeButtonProps), _ctx.ptm("closeButton"))), [(openBlock(), createBlock(resolveDynamicComponent($props.templates.closeicon || "TimesIcon"), mergeProps({ + "class": [_ctx.cx("closeIcon"), $props.closeIcon] + }, _ctx.ptm("closeIcon")), null, 16, ["class"]))], 16, _hoisted_1$d)), [[_directive_ripple]])], 16)) : createCommentVNode("", true)], 16))], 16); +} +__name(render$1$2, "render$1$2"); +script$1$3.render = render$1$2; +function _toConsumableArray(r) { + return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); +} +__name(_toConsumableArray, "_toConsumableArray"); +function _nonIterableSpread() { + throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); +} +__name(_nonIterableSpread, "_nonIterableSpread"); +function _unsupportedIterableToArray(r, a) { + if (r) { + if ("string" == typeof r) return _arrayLikeToArray(r, a); + var t = {}.toString.call(r).slice(8, -1); + return "Object" === t && r.constructor && (t = r.constructor.name), "Map" === t || "Set" === t ? Array.from(r) : "Arguments" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; + } +} +__name(_unsupportedIterableToArray, "_unsupportedIterableToArray"); +function _iterableToArray(r) { + if ("undefined" != typeof Symbol && null != r[Symbol.iterator] || null != r["@@iterator"]) return Array.from(r); +} +__name(_iterableToArray, "_iterableToArray"); +function _arrayWithoutHoles(r) { + if (Array.isArray(r)) return _arrayLikeToArray(r); +} +__name(_arrayWithoutHoles, "_arrayWithoutHoles"); +function _arrayLikeToArray(r, a) { + (null == a || a > r.length) && (a = r.length); + for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; + return n; +} +__name(_arrayLikeToArray, "_arrayLikeToArray"); +var messageIdx = 0; +var script$5 = { + name: "Toast", + "extends": script$2$2, + inheritAttrs: false, + emits: ["close", "life-end"], + data: /* @__PURE__ */ __name(function data5() { + return { + messages: [] + }; + }, "data"), + styleElement: null, + mounted: /* @__PURE__ */ __name(function mounted5() { + ToastEventBus.on("add", this.onAdd); + ToastEventBus.on("remove", this.onRemove); + ToastEventBus.on("remove-group", this.onRemoveGroup); + ToastEventBus.on("remove-all-groups", this.onRemoveAllGroups); + if (this.breakpoints) { + this.createStyle(); + } + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount5() { + this.destroyStyle(); + if (this.$refs.container && this.autoZIndex) { + ZIndex.clear(this.$refs.container); + } + ToastEventBus.off("add", this.onAdd); + ToastEventBus.off("remove", this.onRemove); + ToastEventBus.off("remove-group", this.onRemoveGroup); + ToastEventBus.off("remove-all-groups", this.onRemoveAllGroups); + }, "beforeUnmount"), + methods: { + add: /* @__PURE__ */ __name(function add(message2) { + if (message2.id == null) { + message2.id = messageIdx++; + } + this.messages = [].concat(_toConsumableArray(this.messages), [message2]); + }, "add"), + remove: /* @__PURE__ */ __name(function remove(params) { + var index = this.messages.findIndex(function(m) { + return m.id === params.message.id; + }); + if (index !== -1) { + this.messages.splice(index, 1); + this.$emit(params.type, { + message: params.message + }); + } + }, "remove"), + onAdd: /* @__PURE__ */ __name(function onAdd(message2) { + if (this.group == message2.group) { + this.add(message2); + } + }, "onAdd"), + onRemove: /* @__PURE__ */ __name(function onRemove(message2) { + this.remove({ + message: message2, + type: "close" + }); + }, "onRemove"), + onRemoveGroup: /* @__PURE__ */ __name(function onRemoveGroup(group) { + if (this.group === group) { + this.messages = []; + } + }, "onRemoveGroup"), + onRemoveAllGroups: /* @__PURE__ */ __name(function onRemoveAllGroups() { + this.messages = []; + }, "onRemoveAllGroups"), + onEnter: /* @__PURE__ */ __name(function onEnter() { + this.$refs.container.setAttribute(this.attributeSelector, ""); + if (this.autoZIndex) { + ZIndex.set("modal", this.$refs.container, this.baseZIndex || this.$primevue.config.zIndex.modal); + } + }, "onEnter"), + onLeave: /* @__PURE__ */ __name(function onLeave() { + var _this = this; + if (this.$refs.container && this.autoZIndex && isEmpty(this.messages)) { + setTimeout(function() { + ZIndex.clear(_this.$refs.container); + }, 200); + } + }, "onLeave"), + createStyle: /* @__PURE__ */ __name(function createStyle() { + if (!this.styleElement && !this.isUnstyled) { + var _this$$primevue; + this.styleElement = document.createElement("style"); + this.styleElement.type = "text/css"; + setAttribute(this.styleElement, "nonce", (_this$$primevue = this.$primevue) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.config) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.csp) === null || _this$$primevue === void 0 ? void 0 : _this$$primevue.nonce); + document.head.appendChild(this.styleElement); + var innerHTML = ""; + for (var breakpoint in this.breakpoints) { + var breakpointStyle = ""; + for (var styleProp in this.breakpoints[breakpoint]) { + breakpointStyle += styleProp + ":" + this.breakpoints[breakpoint][styleProp] + "!important;"; + } + innerHTML += "\n @media screen and (max-width: ".concat(breakpoint, ") {\n .p-toast[").concat(this.attributeSelector, "] {\n ").concat(breakpointStyle, "\n }\n }\n "); + } + this.styleElement.innerHTML = innerHTML; + } + }, "createStyle"), + destroyStyle: /* @__PURE__ */ __name(function destroyStyle() { + if (this.styleElement) { + document.head.removeChild(this.styleElement); + this.styleElement = null; + } + }, "destroyStyle") + }, + computed: { + attributeSelector: /* @__PURE__ */ __name(function attributeSelector() { + return UniqueComponentId(); + }, "attributeSelector") + }, + components: { + ToastMessage: script$1$3, + Portal: script$k + } +}; +function _typeof$2(o) { + "@babel/helpers - typeof"; + return _typeof$2 = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof$2(o); +} +__name(_typeof$2, "_typeof$2"); +function ownKeys$2(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys$2, "ownKeys$2"); +function _objectSpread$2(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys$2(Object(t), true).forEach(function(r2) { + _defineProperty$2(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys$2(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread$2, "_objectSpread$2"); +function _defineProperty$2(e, r, t) { + return (r = _toPropertyKey$2(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty$2, "_defineProperty$2"); +function _toPropertyKey$2(t) { + var i = _toPrimitive$2(t, "string"); + return "symbol" == _typeof$2(i) ? i : i + ""; +} +__name(_toPropertyKey$2, "_toPropertyKey$2"); +function _toPrimitive$2(t, r) { + if ("object" != _typeof$2(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof$2(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive$2, "_toPrimitive$2"); +function render$a(_ctx, _cache, $props, $setup, $data, $options) { + var _component_ToastMessage = resolveComponent("ToastMessage"); + var _component_Portal = resolveComponent("Portal"); + return openBlock(), createBlock(_component_Portal, null, { + "default": withCtx(function() { + return [createBaseVNode("div", mergeProps({ + ref: "container", + "class": _ctx.cx("root"), + style: _ctx.sx("root", true, { + position: _ctx.position + }) + }, _ctx.ptmi("root")), [createVNode(TransitionGroup, mergeProps({ + name: "p-toast-message", + tag: "div", + onEnter: $options.onEnter, + onLeave: $options.onLeave + }, _objectSpread$2({}, _ctx.ptm("transition"))), { + "default": withCtx(function() { + return [(openBlock(true), createElementBlock(Fragment, null, renderList($data.messages, function(msg) { + return openBlock(), createBlock(_component_ToastMessage, { + key: msg.id, + message: msg, + templates: _ctx.$slots, + closeIcon: _ctx.closeIcon, + infoIcon: _ctx.infoIcon, + warnIcon: _ctx.warnIcon, + errorIcon: _ctx.errorIcon, + successIcon: _ctx.successIcon, + closeButtonProps: _ctx.closeButtonProps, + unstyled: _ctx.unstyled, + onClose: _cache[0] || (_cache[0] = function($event) { + return $options.remove($event); + }), + pt: _ctx.pt + }, null, 8, ["message", "templates", "closeIcon", "infoIcon", "warnIcon", "errorIcon", "successIcon", "closeButtonProps", "unstyled", "pt"]); + }), 128))]; + }), + _: 1 + }, 16, ["onEnter", "onLeave"])], 16)]; + }), + _: 1 + }); +} +__name(render$a, "render$a"); +script$5.render = render$a; +const _sfc_main$7 = /* @__PURE__ */ defineComponent({ + __name: "GlobalToast", + setup(__props) { + const toast = useToast(); + const toastStore = useToastStore(); + const settingStore = useSettingStore(); + watch( + () => toastStore.messagesToAdd, + (newMessages) => { + if (newMessages.length === 0) { + return; + } + newMessages.forEach((message2) => { + toast.add(message2); + }); + toastStore.messagesToAdd = []; + }, + { deep: true } + ); + watch( + () => toastStore.messagesToRemove, + (messagesToRemove) => { + if (messagesToRemove.length === 0) { + return; + } + messagesToRemove.forEach((message2) => { + toast.remove(message2); + }); + toastStore.messagesToRemove = []; + }, + { deep: true } + ); + watch( + () => toastStore.removeAllRequested, + (requested) => { + if (requested) { + toast.removeAllGroups(); + toastStore.removeAllRequested = false; + } + } + ); + function updateToastPosition() { + const styleElement = document.getElementById("dynamic-toast-style") || createStyleElement(); + const rect = document.querySelector(".graph-canvas-container").getBoundingClientRect(); + styleElement.textContent = ` + .p-toast.p-component.p-toast-top-right { + top: ${rect.top + 20}px !important; + right: ${window.innerWidth - (rect.left + rect.width) + 20}px !important; + } + `; + } + __name(updateToastPosition, "updateToastPosition"); + function createStyleElement() { + const style = document.createElement("style"); + style.id = "dynamic-toast-style"; + document.head.appendChild(style); + return style; + } + __name(createStyleElement, "createStyleElement"); + watch( + () => settingStore.get("Comfy.UseNewMenu"), + () => nextTick(updateToastPosition), + { immediate: true } + ); + watch( + () => settingStore.get("Comfy.Sidebar.Location"), + () => nextTick(updateToastPosition), + { immediate: true } + ); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(script$5)); + }; + } +}); +const _hoisted_1$c = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$9 = /* @__PURE__ */ createBaseVNode("path", { + fill: "none", + stroke: "currentColor", + "stroke-linecap": "round", + "stroke-linejoin": "round", + "stroke-width": "2", + d: "M6 4v16m4-16l10 8l-10 8z" +}, null, -1); +const _hoisted_3$9 = [ + _hoisted_2$9 +]; +function render$9(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$c, [..._hoisted_3$9]); +} +__name(render$9, "render$9"); +const __unplugin_components_3 = markRaw({ name: "lucide-step-forward", render: render$9 }); +const _hoisted_1$b = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$8 = /* @__PURE__ */ createBaseVNode("path", { + fill: "none", + stroke: "currentColor", + "stroke-linecap": "round", + "stroke-linejoin": "round", + "stroke-width": "2", + d: "m13 19l9-7l-9-7zM2 19l9-7l-9-7z" +}, null, -1); +const _hoisted_3$8 = [ + _hoisted_2$8 +]; +function render$8(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$b, [..._hoisted_3$8]); +} +__name(render$8, "render$8"); +const __unplugin_components_2 = markRaw({ name: "lucide-fast-forward", render: render$8 }); +const _hoisted_1$a = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$7 = /* @__PURE__ */ createBaseVNode("path", { + fill: "none", + stroke: "currentColor", + "stroke-linecap": "round", + "stroke-linejoin": "round", + "stroke-width": "2", + d: "m6 3l14 9l-14 9z" +}, null, -1); +const _hoisted_3$7 = [ + _hoisted_2$7 +]; +function render$7(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$a, [..._hoisted_3$7]); +} +__name(render$7, "render$7"); +const __unplugin_components_1$1 = markRaw({ name: "lucide-play", render: render$7 }); +const _hoisted_1$9 = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$6 = /* @__PURE__ */ createBaseVNode("g", { + fill: "none", + stroke: "currentColor", + "stroke-linecap": "round", + "stroke-linejoin": "round", + "stroke-width": "2" +}, [ + /* @__PURE__ */ createBaseVNode("path", { d: "M16 12H3m13 6H3m7-12H3m18 12V8a2 2 0 0 0-2-2h-5" }), + /* @__PURE__ */ createBaseVNode("path", { d: "m16 8l-2-2l2-2" }) +], -1); +const _hoisted_3$6 = [ + _hoisted_2$6 +]; +function render$6(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$9, [..._hoisted_3$6]); +} +__name(render$6, "render$6"); +const __unplugin_components_0$1 = markRaw({ name: "lucide-list-start", render: render$6 }); +var theme$2 = /* @__PURE__ */ __name(function theme6(_ref) { + var dt = _ref.dt; + return "\n.p-tieredmenu {\n background: ".concat(dt("tieredmenu.background"), ";\n color: ").concat(dt("tieredmenu.color"), ";\n border: 1px solid ").concat(dt("tieredmenu.border.color"), ";\n border-radius: ").concat(dt("tieredmenu.border.radius"), ";\n min-width: 12.5rem;\n}\n\n.p-tieredmenu-root-list,\n.p-tieredmenu-submenu {\n margin: 0;\n padding: ").concat(dt("tieredmenu.list.padding"), ";\n list-style: none;\n outline: 0 none;\n display: flex;\n flex-direction: column;\n gap: ").concat(dt("tieredmenu.list.gap"), ";\n}\n\n.p-tieredmenu-submenu {\n position: absolute;\n min-width: 100%;\n z-index: 1;\n background: ").concat(dt("tieredmenu.background"), ";\n color: ").concat(dt("tieredmenu.color"), ";\n border: 1px solid ").concat(dt("tieredmenu.border.color"), ";\n border-radius: ").concat(dt("tieredmenu.border.radius"), ";\n box-shadow: ").concat(dt("tieredmenu.shadow"), ";\n}\n\n.p-tieredmenu-item {\n position: relative;\n}\n\n.p-tieredmenu-item-content {\n transition: background ").concat(dt("tieredmenu.transition.duration"), ", color ").concat(dt("tieredmenu.transition.duration"), ";\n border-radius: ").concat(dt("tieredmenu.item.border.radius"), ";\n color: ").concat(dt("tieredmenu.item.color"), ";\n}\n\n.p-tieredmenu-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ").concat(dt("tieredmenu.item.padding"), ";\n gap: ").concat(dt("tieredmenu.item.gap"), ";\n user-select: none;\n outline: 0 none;\n}\n\n.p-tieredmenu-item-label {\n line-height: 1;\n}\n\n.p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.color"), ";\n}\n\n.p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.color"), ";\n margin-left: auto;\n font-size: ").concat(dt("tieredmenu.submenu.icon.size"), ";\n width: ").concat(dt("tieredmenu.submenu.icon.size"), ";\n height: ").concat(dt("tieredmenu.submenu.icon.size"), ";\n}\n\n.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content {\n color: ").concat(dt("tieredmenu.item.focus.color"), ";\n background: ").concat(dt("tieredmenu.item.focus.background"), ";\n}\n\n.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content .p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item.p-focus > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover {\n color: ").concat(dt("tieredmenu.item.focus.color"), ";\n background: ").concat(dt("tieredmenu.item.focus.background"), ";\n}\n\n.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover .p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item:not(.p-disabled) > .p-tieredmenu-item-content:hover .p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.focus.color"), ";\n}\n\n.p-tieredmenu-item-active > .p-tieredmenu-item-content {\n color: ").concat(dt("tieredmenu.item.active.color"), ";\n background: ").concat(dt("tieredmenu.item.active.background"), ";\n}\n\n.p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-item-icon {\n color: ").concat(dt("tieredmenu.item.icon.active.color"), ";\n}\n\n.p-tieredmenu-item-active > .p-tieredmenu-item-content .p-tieredmenu-submenu-icon {\n color: ").concat(dt("tieredmenu.submenu.icon.active.color"), ";\n}\n\n.p-tieredmenu-separator {\n border-top: 1px solid ").concat(dt("tieredmenu.separator.border.color"), ";\n}\n\n.p-tieredmenu-overlay {\n box-shadow: ").concat(dt("tieredmenu.shadow"), ";\n}\n\n.p-tieredmenu-enter-from,\n.p-tieredmenu-leave-active {\n opacity: 0;\n}\n\n.p-tieredmenu-enter-active {\n transition: opacity 250ms;\n}\n"); +}, "theme"); +var inlineStyles$1 = { + submenu: /* @__PURE__ */ __name(function submenu(_ref2) { + var instance = _ref2.instance, processedItem = _ref2.processedItem; + return { + display: instance.isItemActive(processedItem) ? "flex" : "none" + }; + }, "submenu") +}; +var classes$2 = { + root: /* @__PURE__ */ __name(function root8(_ref3) { + _ref3.instance; + var props = _ref3.props; + return ["p-tieredmenu p-component", { + "p-tieredmenu-overlay": props.popup + }]; + }, "root"), + start: "p-tieredmenu-start", + rootList: "p-tieredmenu-root-list", + item: /* @__PURE__ */ __name(function item(_ref4) { + var instance = _ref4.instance, processedItem = _ref4.processedItem; + return ["p-tieredmenu-item", { + "p-tieredmenu-item-active": instance.isItemActive(processedItem), + "p-focus": instance.isItemFocused(processedItem), + "p-disabled": instance.isItemDisabled(processedItem) + }]; + }, "item"), + itemContent: "p-tieredmenu-item-content", + itemLink: "p-tieredmenu-item-link", + itemIcon: "p-tieredmenu-item-icon", + itemLabel: "p-tieredmenu-item-label", + submenuIcon: "p-tieredmenu-submenu-icon", + submenu: "p-tieredmenu-submenu", + separator: "p-tieredmenu-separator", + end: "p-tieredmenu-end" +}; +var TieredMenuStyle = BaseStyle.extend({ + name: "tieredmenu", + theme: theme$2, + classes: classes$2, + inlineStyles: inlineStyles$1 +}); +var script$2$1 = { + name: "BaseTieredMenu", + "extends": script$e, + props: { + popup: { + type: Boolean, + "default": false + }, + model: { + type: Array, + "default": null + }, + appendTo: { + type: [String, Object], + "default": "body" + }, + autoZIndex: { + type: Boolean, + "default": true + }, + baseZIndex: { + type: Number, + "default": 0 + }, + disabled: { + type: Boolean, + "default": false + }, + tabindex: { + type: Number, + "default": 0 + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: TieredMenuStyle, + provide: /* @__PURE__ */ __name(function provide10() { + return { + $pcTieredMenu: this, + $parentInstance: this + }; + }, "provide") +}; +var script$1$2 = { + name: "TieredMenuSub", + hostName: "TieredMenu", + "extends": script$e, + emits: ["item-click", "item-mouseenter", "item-mousemove"], + container: null, + props: { + menuId: { + type: String, + "default": null + }, + focusedItemId: { + type: String, + "default": null + }, + items: { + type: Array, + "default": null + }, + visible: { + type: Boolean, + "default": false + }, + level: { + type: Number, + "default": 0 + }, + templates: { + type: Object, + "default": null + }, + activeItemPath: { + type: Object, + "default": null + }, + tabindex: { + type: Number, + "default": 0 + } + }, + methods: { + getItemId: /* @__PURE__ */ __name(function getItemId(processedItem) { + return "".concat(this.menuId, "_").concat(processedItem.key); + }, "getItemId"), + getItemKey: /* @__PURE__ */ __name(function getItemKey(processedItem) { + return this.getItemId(processedItem); + }, "getItemKey"), + getItemProp: /* @__PURE__ */ __name(function getItemProp(processedItem, name, params) { + return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : void 0; + }, "getItemProp"), + getItemLabel: /* @__PURE__ */ __name(function getItemLabel(processedItem) { + return this.getItemProp(processedItem, "label"); + }, "getItemLabel"), + getItemLabelId: /* @__PURE__ */ __name(function getItemLabelId(processedItem) { + return "".concat(this.menuId, "_").concat(processedItem.key, "_label"); + }, "getItemLabelId"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions4(processedItem, index, key) { + return this.ptm(key, { + context: { + item: processedItem.item, + index, + active: this.isItemActive(processedItem), + focused: this.isItemFocused(processedItem), + disabled: this.isItemDisabled(processedItem) + } + }); + }, "getPTOptions"), + isItemActive: /* @__PURE__ */ __name(function isItemActive(processedItem) { + return this.activeItemPath.some(function(path) { + return path.key === processedItem.key; + }); + }, "isItemActive"), + isItemVisible: /* @__PURE__ */ __name(function isItemVisible(processedItem) { + return this.getItemProp(processedItem, "visible") !== false; + }, "isItemVisible"), + isItemDisabled: /* @__PURE__ */ __name(function isItemDisabled(processedItem) { + return this.getItemProp(processedItem, "disabled"); + }, "isItemDisabled"), + isItemFocused: /* @__PURE__ */ __name(function isItemFocused(processedItem) { + return this.focusedItemId === this.getItemId(processedItem); + }, "isItemFocused"), + isItemGroup: /* @__PURE__ */ __name(function isItemGroup(processedItem) { + return isNotEmpty(processedItem.items); + }, "isItemGroup"), + onEnter: /* @__PURE__ */ __name(function onEnter2() { + nestedPosition(this.container, this.level); + }, "onEnter"), + onItemClick: /* @__PURE__ */ __name(function onItemClick(event, processedItem) { + this.getItemProp(processedItem, "command", { + originalEvent: event, + item: processedItem.item + }); + this.$emit("item-click", { + originalEvent: event, + processedItem, + isFocus: true + }); + }, "onItemClick"), + onItemMouseEnter: /* @__PURE__ */ __name(function onItemMouseEnter(event, processedItem) { + this.$emit("item-mouseenter", { + originalEvent: event, + processedItem + }); + }, "onItemMouseEnter"), + onItemMouseMove: /* @__PURE__ */ __name(function onItemMouseMove(event, processedItem) { + this.$emit("item-mousemove", { + originalEvent: event, + processedItem + }); + }, "onItemMouseMove"), + getAriaSetSize: /* @__PURE__ */ __name(function getAriaSetSize() { + var _this = this; + return this.items.filter(function(processedItem) { + return _this.isItemVisible(processedItem) && !_this.getItemProp(processedItem, "separator"); + }).length; + }, "getAriaSetSize"), + getAriaPosInset: /* @__PURE__ */ __name(function getAriaPosInset2(index) { + var _this2 = this; + return index - this.items.slice(0, index).filter(function(processedItem) { + return _this2.isItemVisible(processedItem) && _this2.getItemProp(processedItem, "separator"); + }).length + 1; + }, "getAriaPosInset"), + getMenuItemProps: /* @__PURE__ */ __name(function getMenuItemProps(processedItem, index) { + return { + action: mergeProps({ + "class": this.cx("itemLink"), + tabindex: -1, + "aria-hidden": true + }, this.getPTOptions(processedItem, index, "itemLink")), + icon: mergeProps({ + "class": [this.cx("itemIcon"), this.getItemProp(processedItem, "icon")] + }, this.getPTOptions(processedItem, index, "itemIcon")), + label: mergeProps({ + "class": this.cx("itemLabel") + }, this.getPTOptions(processedItem, index, "itemLabel")), + submenuicon: mergeProps({ + "class": this.cx("submenuIcon") + }, this.getPTOptions(processedItem, index, "submenuIcon")) + }; + }, "getMenuItemProps"), + containerRef: /* @__PURE__ */ __name(function containerRef(el) { + this.container = el; + }, "containerRef") + }, + components: { + AngleRightIcon: script$z + }, + directives: { + ripple: Ripple + } +}; +var _hoisted_1$1$2 = ["tabindex"]; +var _hoisted_2$5 = ["id", "aria-label", "aria-disabled", "aria-expanded", "aria-haspopup", "aria-level", "aria-setsize", "aria-posinset", "data-p-active", "data-p-focused", "data-p-disabled"]; +var _hoisted_3$5 = ["onClick", "onMouseenter", "onMousemove"]; +var _hoisted_4$2 = ["href", "target"]; +var _hoisted_5$1 = ["id"]; +var _hoisted_6 = ["id"]; +function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { + var _component_AngleRightIcon = resolveComponent("AngleRightIcon"); + var _component_TieredMenuSub = resolveComponent("TieredMenuSub", true); + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createBlock(Transition, mergeProps({ + name: "p-tieredmenu", + onEnter: $options.onEnter + }, _ctx.ptm("menu.transition")), { + "default": withCtx(function() { + return [($props.level === 0 ? true : $props.visible) ? (openBlock(), createElementBlock("ul", mergeProps({ + key: 0, + ref: $options.containerRef, + "class": $props.level === 0 ? _ctx.cx("rootList") : _ctx.cx("submenu"), + tabindex: $props.tabindex + }, $props.level === 0 ? _ctx.ptm("rootList") : _ctx.ptm("submenu")), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.items, function(processedItem, index) { + return openBlock(), createElementBlock(Fragment, { + key: $options.getItemKey(processedItem) + }, [$options.isItemVisible(processedItem) && !$options.getItemProp(processedItem, "separator") ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + id: $options.getItemId(processedItem), + style: $options.getItemProp(processedItem, "style"), + "class": [_ctx.cx("item", { + processedItem + }), $options.getItemProp(processedItem, "class")], + role: "menuitem", + "aria-label": $options.getItemLabel(processedItem), + "aria-disabled": $options.isItemDisabled(processedItem) || void 0, + "aria-expanded": $options.isItemGroup(processedItem) ? $options.isItemActive(processedItem) : void 0, + "aria-haspopup": $options.isItemGroup(processedItem) && !$options.getItemProp(processedItem, "to") ? "menu" : void 0, + "aria-level": $props.level + 1, + "aria-setsize": $options.getAriaSetSize(), + "aria-posinset": $options.getAriaPosInset(index), + ref_for: true + }, $options.getPTOptions(processedItem, index, "item"), { + "data-p-active": $options.isItemActive(processedItem), + "data-p-focused": $options.isItemFocused(processedItem), + "data-p-disabled": $options.isItemDisabled(processedItem) + }), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("itemContent"), + onClick: /* @__PURE__ */ __name(function onClick2($event) { + return $options.onItemClick($event, processedItem); + }, "onClick"), + onMouseenter: /* @__PURE__ */ __name(function onMouseenter($event) { + return $options.onItemMouseEnter($event, processedItem); + }, "onMouseenter"), + onMousemove: /* @__PURE__ */ __name(function onMousemove($event) { + return $options.onItemMouseMove($event, processedItem); + }, "onMousemove"), + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemContent")), [!$props.templates.item ? withDirectives((openBlock(), createElementBlock("a", mergeProps({ + key: 0, + href: $options.getItemProp(processedItem, "url"), + "class": _ctx.cx("itemLink"), + target: $options.getItemProp(processedItem, "target"), + tabindex: "-1", + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemLink")), [$props.templates.itemicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.itemicon), { + key: 0, + item: processedItem.item, + "class": normalizeClass(_ctx.cx("itemIcon")) + }, null, 8, ["item", "class"])) : $options.getItemProp(processedItem, "icon") ? (openBlock(), createElementBlock("span", mergeProps({ + key: 1, + "class": [_ctx.cx("itemIcon"), $options.getItemProp(processedItem, "icon")], + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemIcon")), null, 16)) : createCommentVNode("", true), createBaseVNode("span", mergeProps({ + id: $options.getItemLabelId(processedItem), + "class": _ctx.cx("itemLabel"), + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemLabel")), toDisplayString($options.getItemLabel(processedItem)), 17, _hoisted_5$1), $options.getItemProp(processedItem, "items") ? (openBlock(), createElementBlock(Fragment, { + key: 2 + }, [$props.templates.submenuicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.submenuicon), mergeProps({ + key: 0, + "class": _ctx.cx("submenuIcon"), + active: $options.isItemActive(processedItem), + ref_for: true + }, $options.getPTOptions(processedItem, index, "submenuIcon")), null, 16, ["class", "active"])) : (openBlock(), createBlock(_component_AngleRightIcon, mergeProps({ + key: 1, + "class": _ctx.cx("submenuIcon"), + ref_for: true + }, $options.getPTOptions(processedItem, index, "submenuIcon")), null, 16, ["class"]))], 64)) : createCommentVNode("", true)], 16, _hoisted_4$2)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), { + key: 1, + item: processedItem.item, + hasSubmenu: $options.getItemProp(processedItem, "items"), + label: $options.getItemLabel(processedItem), + props: $options.getMenuItemProps(processedItem, index) + }, null, 8, ["item", "hasSubmenu", "label", "props"]))], 16, _hoisted_3$5), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_TieredMenuSub, { + key: 0, + id: $options.getItemId(processedItem) + "_list", + style: normalizeStyle(_ctx.sx("submenu", true, { + processedItem + })), + "aria-labelledby": $options.getItemLabelId(processedItem), + role: "menu", + menuId: $props.menuId, + focusedItemId: $props.focusedItemId, + items: processedItem.items, + templates: $props.templates, + activeItemPath: $props.activeItemPath, + level: $props.level + 1, + visible: $options.isItemActive(processedItem) && $options.isItemGroup(processedItem), + pt: _ctx.pt, + unstyled: _ctx.unstyled, + onItemClick: _cache[0] || (_cache[0] = function($event) { + return _ctx.$emit("item-click", $event); + }), + onItemMouseenter: _cache[1] || (_cache[1] = function($event) { + return _ctx.$emit("item-mouseenter", $event); + }), + onItemMousemove: _cache[2] || (_cache[2] = function($event) { + return _ctx.$emit("item-mousemove", $event); + }) + }, null, 8, ["id", "style", "aria-labelledby", "menuId", "focusedItemId", "items", "templates", "activeItemPath", "level", "visible", "pt", "unstyled"])) : createCommentVNode("", true)], 16, _hoisted_2$5)) : createCommentVNode("", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, "separator") ? (openBlock(), createElementBlock("li", mergeProps({ + key: 1, + id: $options.getItemId(processedItem), + style: $options.getItemProp(processedItem, "style"), + "class": [_ctx.cx("separator"), $options.getItemProp(processedItem, "class")], + role: "separator", + ref_for: true + }, _ctx.ptm("separator")), null, 16, _hoisted_6)) : createCommentVNode("", true)], 64); + }), 128))], 16, _hoisted_1$1$2)) : createCommentVNode("", true)]; + }), + _: 1 + }, 16, ["onEnter"]); +} +__name(render$1$1, "render$1$1"); +script$1$2.render = render$1$1; +var script$4 = { + name: "TieredMenu", + "extends": script$2$1, + inheritAttrs: false, + emits: ["focus", "blur", "before-show", "before-hide", "hide", "show"], + outsideClickListener: null, + scrollHandler: null, + resizeListener: null, + target: null, + container: null, + menubar: null, + searchTimeout: null, + searchValue: null, + data: /* @__PURE__ */ __name(function data6() { + return { + id: this.$attrs.id, + focused: false, + focusedItemInfo: { + index: -1, + level: 0, + parentKey: "" + }, + activeItemPath: [], + visible: !this.popup, + submenuVisible: false, + dirty: false + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId2(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + activeItemPath: /* @__PURE__ */ __name(function activeItemPath(newPath) { + if (!this.popup) { + if (isNotEmpty(newPath)) { + this.bindOutsideClickListener(); + this.bindResizeListener(); + } else { + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + } + } + }, "activeItemPath") + }, + mounted: /* @__PURE__ */ __name(function mounted6() { + this.id = this.id || UniqueComponentId(); + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount6() { + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + if (this.scrollHandler) { + this.scrollHandler.destroy(); + this.scrollHandler = null; + } + if (this.container && this.autoZIndex) { + ZIndex.clear(this.container); + } + this.target = null; + this.container = null; + }, "beforeUnmount"), + methods: { + getItemProp: /* @__PURE__ */ __name(function getItemProp2(item3, name) { + return item3 ? resolve(item3[name]) : void 0; + }, "getItemProp"), + getItemLabel: /* @__PURE__ */ __name(function getItemLabel2(item3) { + return this.getItemProp(item3, "label"); + }, "getItemLabel"), + isItemDisabled: /* @__PURE__ */ __name(function isItemDisabled2(item3) { + return this.getItemProp(item3, "disabled"); + }, "isItemDisabled"), + isItemVisible: /* @__PURE__ */ __name(function isItemVisible2(item3) { + return this.getItemProp(item3, "visible") !== false; + }, "isItemVisible"), + isItemGroup: /* @__PURE__ */ __name(function isItemGroup2(item3) { + return isNotEmpty(this.getItemProp(item3, "items")); + }, "isItemGroup"), + isItemSeparator: /* @__PURE__ */ __name(function isItemSeparator(item3) { + return this.getItemProp(item3, "separator"); + }, "isItemSeparator"), + getProccessedItemLabel: /* @__PURE__ */ __name(function getProccessedItemLabel(processedItem) { + return processedItem ? this.getItemLabel(processedItem.item) : void 0; + }, "getProccessedItemLabel"), + isProccessedItemGroup: /* @__PURE__ */ __name(function isProccessedItemGroup(processedItem) { + return processedItem && isNotEmpty(processedItem.items); + }, "isProccessedItemGroup"), + toggle: /* @__PURE__ */ __name(function toggle(event) { + this.visible ? this.hide(event, true) : this.show(event); + }, "toggle"), + show: /* @__PURE__ */ __name(function show2(event, isFocus) { + if (this.popup) { + this.$emit("before-show"); + this.visible = true; + this.target = this.target || event.currentTarget; + this.relatedTarget = event.relatedTarget || null; + } + isFocus && focus(this.menubar); + }, "show"), + hide: /* @__PURE__ */ __name(function hide2(event, isFocus) { + if (this.popup) { + this.$emit("before-hide"); + this.visible = false; + } + this.activeItemPath = []; + this.focusedItemInfo = { + index: -1, + level: 0, + parentKey: "" + }; + isFocus && focus(this.relatedTarget || this.target || this.menubar); + this.dirty = false; + }, "hide"), + onFocus: /* @__PURE__ */ __name(function onFocus3(event) { + this.focused = true; + if (!this.popup) { + this.focusedItemInfo = this.focusedItemInfo.index !== -1 ? this.focusedItemInfo : { + index: this.findFirstFocusedItemIndex(), + level: 0, + parentKey: "" + }; + } + this.$emit("focus", event); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur2(event) { + this.focused = false; + this.focusedItemInfo = { + index: -1, + level: 0, + parentKey: "" + }; + this.searchValue = ""; + this.dirty = false; + this.$emit("blur", event); + }, "onBlur"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown2(event) { + if (this.disabled) { + event.preventDefault(); + return; + } + var metaKey = event.metaKey || event.ctrlKey; + switch (event.code) { + case "ArrowDown": + this.onArrowDownKey(event); + break; + case "ArrowUp": + this.onArrowUpKey(event); + break; + case "ArrowLeft": + this.onArrowLeftKey(event); + break; + case "ArrowRight": + this.onArrowRightKey(event); + break; + case "Home": + this.onHomeKey(event); + break; + case "End": + this.onEndKey(event); + break; + case "Space": + this.onSpaceKey(event); + break; + case "Enter": + case "NumpadEnter": + this.onEnterKey(event); + break; + case "Escape": + this.onEscapeKey(event); + break; + case "Tab": + this.onTabKey(event); + break; + case "PageDown": + case "PageUp": + case "Backspace": + case "ShiftLeft": + case "ShiftRight": + break; + default: + if (!metaKey && isPrintableCharacter(event.key)) { + this.searchItems(event, event.key); + } + break; + } + }, "onKeyDown"), + onItemChange: /* @__PURE__ */ __name(function onItemChange(event) { + var processedItem = event.processedItem, isFocus = event.isFocus; + if (isEmpty(processedItem)) return; + var index = processedItem.index, key = processedItem.key, level = processedItem.level, parentKey = processedItem.parentKey, items = processedItem.items; + var grouped = isNotEmpty(items); + var activeItemPath3 = this.activeItemPath.filter(function(p) { + return p.parentKey !== parentKey && p.parentKey !== key; + }); + if (grouped) { + activeItemPath3.push(processedItem); + this.submenuVisible = true; + } + this.focusedItemInfo = { + index, + level, + parentKey + }; + this.activeItemPath = activeItemPath3; + grouped && (this.dirty = true); + isFocus && focus(this.menubar); + }, "onItemChange"), + onOverlayClick: /* @__PURE__ */ __name(function onOverlayClick2(event) { + OverlayEventBus.emit("overlay-click", { + originalEvent: event, + target: this.target + }); + }, "onOverlayClick"), + onItemClick: /* @__PURE__ */ __name(function onItemClick2(event) { + var originalEvent = event.originalEvent, processedItem = event.processedItem; + var grouped = this.isProccessedItemGroup(processedItem); + var root11 = isEmpty(processedItem.parent); + var selected = this.isSelected(processedItem); + if (selected) { + var index = processedItem.index, key = processedItem.key, level = processedItem.level, parentKey = processedItem.parentKey; + this.activeItemPath = this.activeItemPath.filter(function(p) { + return key !== p.key && key.startsWith(p.key); + }); + this.focusedItemInfo = { + index, + level, + parentKey + }; + this.dirty = !root11; + focus(this.menubar); + } else { + if (grouped) { + this.onItemChange(event); + } else { + var rootProcessedItem = root11 ? processedItem : this.activeItemPath.find(function(p) { + return p.parentKey === ""; + }); + this.hide(originalEvent); + this.changeFocusedItemIndex(originalEvent, rootProcessedItem ? rootProcessedItem.index : -1); + focus(this.menubar); + } + } + }, "onItemClick"), + onItemMouseEnter: /* @__PURE__ */ __name(function onItemMouseEnter2(event) { + if (this.dirty) { + this.onItemChange(event); + } + }, "onItemMouseEnter"), + onItemMouseMove: /* @__PURE__ */ __name(function onItemMouseMove2(event) { + if (this.focused) { + this.changeFocusedItemIndex(event, event.processedItem.index); + } + }, "onItemMouseMove"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey2(event) { + var itemIndex = this.focusedItemInfo.index !== -1 ? this.findNextItemIndex(this.focusedItemInfo.index) : this.findFirstFocusedItemIndex(); + this.changeFocusedItemIndex(event, itemIndex); + event.preventDefault(); + }, "onArrowDownKey"), + onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey2(event) { + if (event.altKey) { + if (this.focusedItemInfo.index !== -1) { + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var grouped = this.isProccessedItemGroup(processedItem); + !grouped && this.onItemChange({ + originalEvent: event, + processedItem + }); + } + this.popup && this.hide(event, true); + event.preventDefault(); + } else { + var itemIndex = this.focusedItemInfo.index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo.index) : this.findLastFocusedItemIndex(); + this.changeFocusedItemIndex(event, itemIndex); + event.preventDefault(); + } + }, "onArrowUpKey"), + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey3(event) { + var _this = this; + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var parentItem = this.activeItemPath.find(function(p) { + return p.key === processedItem.parentKey; + }); + var root11 = isEmpty(processedItem.parent); + if (!root11) { + this.focusedItemInfo = { + index: -1, + parentKey: parentItem ? parentItem.parentKey : "" + }; + this.searchValue = ""; + this.onArrowDownKey(event); + } + this.activeItemPath = this.activeItemPath.filter(function(p) { + return p.parentKey !== _this.focusedItemInfo.parentKey; + }); + event.preventDefault(); + }, "onArrowLeftKey"), + onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey3(event) { + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var grouped = this.isProccessedItemGroup(processedItem); + if (grouped) { + this.onItemChange({ + originalEvent: event, + processedItem + }); + this.focusedItemInfo = { + index: -1, + parentKey: processedItem.key + }; + this.searchValue = ""; + this.onArrowDownKey(event); + } + event.preventDefault(); + }, "onArrowRightKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey3(event) { + this.changeFocusedItemIndex(event, this.findFirstItemIndex()); + event.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey3(event) { + this.changeFocusedItemIndex(event, this.findLastItemIndex()); + event.preventDefault(); + }, "onEndKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey3(event) { + if (this.focusedItemInfo.index !== -1) { + var element = findSingle(this.menubar, 'li[id="'.concat("".concat(this.focusedItemId), '"]')); + var anchorElement = element && findSingle(element, '[data-pc-section="itemlink"]'); + anchorElement ? anchorElement.click() : element && element.click(); + if (!this.popup) { + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var grouped = this.isProccessedItemGroup(processedItem); + !grouped && (this.focusedItemInfo.index = this.findFirstFocusedItemIndex()); + } + } + event.preventDefault(); + }, "onEnterKey"), + onSpaceKey: /* @__PURE__ */ __name(function onSpaceKey(event) { + this.onEnterKey(event); + }, "onSpaceKey"), + onEscapeKey: /* @__PURE__ */ __name(function onEscapeKey2(event) { + if (this.popup || this.focusedItemInfo.level !== 0) { + var _focusedItemInfo = this.focusedItemInfo; + this.hide(event, false); + this.focusedItemInfo = { + index: Number(_focusedItemInfo.parentKey.split("_")[0]), + level: 0, + parentKey: "" + }; + this.popup && focus(this.target); + } + event.preventDefault(); + }, "onEscapeKey"), + onTabKey: /* @__PURE__ */ __name(function onTabKey2(event) { + if (this.focusedItemInfo.index !== -1) { + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var grouped = this.isProccessedItemGroup(processedItem); + !grouped && this.onItemChange({ + originalEvent: event, + processedItem + }); + } + this.hide(); + }, "onTabKey"), + onEnter: /* @__PURE__ */ __name(function onEnter3(el) { + if (this.autoZIndex) { + ZIndex.set("menu", el, this.baseZIndex + this.$primevue.config.zIndex.menu); + } + addStyle(el, { + position: "absolute", + top: "0", + left: "0" + }); + this.alignOverlay(); + focus(this.menubar); + this.scrollInView(); + }, "onEnter"), + onAfterEnter: /* @__PURE__ */ __name(function onAfterEnter() { + this.bindOutsideClickListener(); + this.bindScrollListener(); + this.bindResizeListener(); + this.$emit("show"); + }, "onAfterEnter"), + onLeave: /* @__PURE__ */ __name(function onLeave2() { + this.unbindOutsideClickListener(); + this.unbindScrollListener(); + this.unbindResizeListener(); + this.$emit("hide"); + this.container = null; + this.dirty = false; + }, "onLeave"), + onAfterLeave: /* @__PURE__ */ __name(function onAfterLeave(el) { + if (this.autoZIndex) { + ZIndex.clear(el); + } + }, "onAfterLeave"), + alignOverlay: /* @__PURE__ */ __name(function alignOverlay2() { + absolutePosition(this.container, this.target); + var targetWidth = getOuterWidth(this.target); + if (targetWidth > getOuterWidth(this.container)) { + this.container.style.minWidth = getOuterWidth(this.target) + "px"; + } + }, "alignOverlay"), + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener2() { + var _this2 = this; + if (!this.outsideClickListener) { + this.outsideClickListener = function(event) { + var isOutsideContainer = _this2.container && !_this2.container.contains(event.target); + var isOutsideTarget = _this2.popup ? !(_this2.target && (_this2.target === event.target || _this2.target.contains(event.target))) : true; + if (isOutsideContainer && isOutsideTarget) { + _this2.hide(); + } + }; + document.addEventListener("click", this.outsideClickListener); + } + }, "bindOutsideClickListener"), + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener2() { + if (this.outsideClickListener) { + document.removeEventListener("click", this.outsideClickListener); + this.outsideClickListener = null; + } + }, "unbindOutsideClickListener"), + bindScrollListener: /* @__PURE__ */ __name(function bindScrollListener2() { + var _this3 = this; + if (!this.scrollHandler) { + this.scrollHandler = new ConnectedOverlayScrollHandler(this.target, function(event) { + _this3.hide(event, true); + }); + } + this.scrollHandler.bindScrollListener(); + }, "bindScrollListener"), + unbindScrollListener: /* @__PURE__ */ __name(function unbindScrollListener2() { + if (this.scrollHandler) { + this.scrollHandler.unbindScrollListener(); + } + }, "unbindScrollListener"), + bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener2() { + var _this4 = this; + if (!this.resizeListener) { + this.resizeListener = function(event) { + if (!isTouchDevice()) { + _this4.hide(event, true); + } + }; + window.addEventListener("resize", this.resizeListener); + } + }, "bindResizeListener"), + unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener2() { + if (this.resizeListener) { + window.removeEventListener("resize", this.resizeListener); + this.resizeListener = null; + } + }, "unbindResizeListener"), + isItemMatched: /* @__PURE__ */ __name(function isItemMatched(processedItem) { + var _this$getProccessedIt; + return this.isValidItem(processedItem) && ((_this$getProccessedIt = this.getProccessedItemLabel(processedItem)) === null || _this$getProccessedIt === void 0 ? void 0 : _this$getProccessedIt.toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())); + }, "isItemMatched"), + isValidItem: /* @__PURE__ */ __name(function isValidItem(processedItem) { + return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item) && this.isItemVisible(processedItem.item); + }, "isValidItem"), + isValidSelectedItem: /* @__PURE__ */ __name(function isValidSelectedItem(processedItem) { + return this.isValidItem(processedItem) && this.isSelected(processedItem); + }, "isValidSelectedItem"), + isSelected: /* @__PURE__ */ __name(function isSelected2(processedItem) { + return this.activeItemPath.some(function(p) { + return p.key === processedItem.key; + }); + }, "isSelected"), + findFirstItemIndex: /* @__PURE__ */ __name(function findFirstItemIndex() { + var _this5 = this; + return this.visibleItems.findIndex(function(processedItem) { + return _this5.isValidItem(processedItem); + }); + }, "findFirstItemIndex"), + findLastItemIndex: /* @__PURE__ */ __name(function findLastItemIndex() { + var _this6 = this; + return findLastIndex(this.visibleItems, function(processedItem) { + return _this6.isValidItem(processedItem); + }); + }, "findLastItemIndex"), + findNextItemIndex: /* @__PURE__ */ __name(function findNextItemIndex(index) { + var _this7 = this; + var matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex(function(processedItem) { + return _this7.isValidItem(processedItem); + }) : -1; + return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index; + }, "findNextItemIndex"), + findPrevItemIndex: /* @__PURE__ */ __name(function findPrevItemIndex(index) { + var _this8 = this; + var matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), function(processedItem) { + return _this8.isValidItem(processedItem); + }) : -1; + return matchedItemIndex > -1 ? matchedItemIndex : index; + }, "findPrevItemIndex"), + findSelectedItemIndex: /* @__PURE__ */ __name(function findSelectedItemIndex() { + var _this9 = this; + return this.visibleItems.findIndex(function(processedItem) { + return _this9.isValidSelectedItem(processedItem); + }); + }, "findSelectedItemIndex"), + findFirstFocusedItemIndex: /* @__PURE__ */ __name(function findFirstFocusedItemIndex() { + var selectedIndex = this.findSelectedItemIndex(); + return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex; + }, "findFirstFocusedItemIndex"), + findLastFocusedItemIndex: /* @__PURE__ */ __name(function findLastFocusedItemIndex() { + var selectedIndex = this.findSelectedItemIndex(); + return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex; + }, "findLastFocusedItemIndex"), + searchItems: /* @__PURE__ */ __name(function searchItems(event, _char) { + var _this10 = this; + this.searchValue = (this.searchValue || "") + _char; + var itemIndex = -1; + var matched = false; + if (this.focusedItemInfo.index !== -1) { + itemIndex = this.visibleItems.slice(this.focusedItemInfo.index).findIndex(function(processedItem) { + return _this10.isItemMatched(processedItem); + }); + itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo.index).findIndex(function(processedItem) { + return _this10.isItemMatched(processedItem); + }) : itemIndex + this.focusedItemInfo.index; + } else { + itemIndex = this.visibleItems.findIndex(function(processedItem) { + return _this10.isItemMatched(processedItem); + }); + } + if (itemIndex !== -1) { + matched = true; + } + if (itemIndex === -1 && this.focusedItemInfo.index === -1) { + itemIndex = this.findFirstFocusedItemIndex(); + } + if (itemIndex !== -1) { + this.changeFocusedItemIndex(event, itemIndex); + } + if (this.searchTimeout) { + clearTimeout(this.searchTimeout); + } + this.searchTimeout = setTimeout(function() { + _this10.searchValue = ""; + _this10.searchTimeout = null; + }, 500); + return matched; + }, "searchItems"), + changeFocusedItemIndex: /* @__PURE__ */ __name(function changeFocusedItemIndex(event, index) { + if (this.focusedItemInfo.index !== index) { + this.focusedItemInfo.index = index; + this.scrollInView(); + } + }, "changeFocusedItemIndex"), + scrollInView: /* @__PURE__ */ __name(function scrollInView3() { + var index = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1; + var id2 = index !== -1 ? "".concat(this.id, "_").concat(index) : this.focusedItemId; + var element = findSingle(this.menubar, 'li[id="'.concat(id2, '"]')); + if (element) { + element.scrollIntoView && element.scrollIntoView({ + block: "nearest", + inline: "start" + }); + } + }, "scrollInView"), + createProcessedItems: /* @__PURE__ */ __name(function createProcessedItems(items) { + var _this11 = this; + var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + var parent = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; + var parentKey = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : ""; + var processedItems3 = []; + items && items.forEach(function(item3, index) { + var key = (parentKey !== "" ? parentKey + "_" : "") + index; + var newItem = { + item: item3, + index, + level, + key, + parent, + parentKey + }; + newItem["items"] = _this11.createProcessedItems(item3.items, level + 1, newItem, key); + processedItems3.push(newItem); + }); + return processedItems3; + }, "createProcessedItems"), + containerRef: /* @__PURE__ */ __name(function containerRef2(el) { + this.container = el; + }, "containerRef"), + menubarRef: /* @__PURE__ */ __name(function menubarRef(el) { + this.menubar = el ? el.$el : void 0; + }, "menubarRef") + }, + computed: { + processedItems: /* @__PURE__ */ __name(function processedItems() { + return this.createProcessedItems(this.model || []); + }, "processedItems"), + visibleItems: /* @__PURE__ */ __name(function visibleItems() { + var _this12 = this; + var processedItem = this.activeItemPath.find(function(p) { + return p.key === _this12.focusedItemInfo.parentKey; + }); + return processedItem ? processedItem.items : this.processedItems; + }, "visibleItems"), + focusedItemId: /* @__PURE__ */ __name(function focusedItemId() { + return this.focusedItemInfo.index !== -1 ? "".concat(this.id).concat(isNotEmpty(this.focusedItemInfo.parentKey) ? "_" + this.focusedItemInfo.parentKey : "", "_").concat(this.focusedItemInfo.index) : null; + }, "focusedItemId") + }, + components: { + TieredMenuSub: script$1$2, + Portal: script$k + } +}; +var _hoisted_1$8 = ["id"]; +function render$5(_ctx, _cache, $props, $setup, $data, $options) { + var _component_TieredMenuSub = resolveComponent("TieredMenuSub"); + var _component_Portal = resolveComponent("Portal"); + return openBlock(), createBlock(_component_Portal, { + appendTo: _ctx.appendTo, + disabled: !_ctx.popup + }, { + "default": withCtx(function() { + return [createVNode(Transition, mergeProps({ + name: "p-connected-overlay", + onEnter: $options.onEnter, + onAfterEnter: $options.onAfterEnter, + onLeave: $options.onLeave, + onAfterLeave: $options.onAfterLeave + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [$data.visible ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + ref: $options.containerRef, + id: $data.id, + "class": _ctx.cx("root"), + onClick: _cache[0] || (_cache[0] = function() { + return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments); + }) + }, _ctx.ptmi("root")), [_ctx.$slots.start ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("start") + }, _ctx.ptm("start")), [renderSlot(_ctx.$slots, "start")], 16)) : createCommentVNode("", true), createVNode(_component_TieredMenuSub, { + ref: $options.menubarRef, + id: $data.id + "_list", + tabindex: !_ctx.disabled ? _ctx.tabindex : -1, + role: "menubar", + "aria-label": _ctx.ariaLabel, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-disabled": _ctx.disabled || void 0, + "aria-orientation": "vertical", + "aria-activedescendant": $data.focused ? $options.focusedItemId : void 0, + menuId: $data.id, + focusedItemId: $data.focused ? $options.focusedItemId : void 0, + items: $options.processedItems, + templates: _ctx.$slots, + activeItemPath: $data.activeItemPath, + level: 0, + visible: $data.submenuVisible, + pt: _ctx.pt, + unstyled: _ctx.unstyled, + onFocus: $options.onFocus, + onBlur: $options.onBlur, + onKeydown: $options.onKeyDown, + onItemClick: $options.onItemClick, + onItemMouseenter: $options.onItemMouseEnter, + onItemMousemove: $options.onItemMouseMove + }, null, 8, ["id", "tabindex", "aria-label", "aria-labelledby", "aria-disabled", "aria-activedescendant", "menuId", "focusedItemId", "items", "templates", "activeItemPath", "visible", "pt", "unstyled", "onFocus", "onBlur", "onKeydown", "onItemClick", "onItemMouseenter", "onItemMousemove"]), _ctx.$slots.end ? (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": _ctx.cx("end") + }, _ctx.ptm("end")), [renderSlot(_ctx.$slots, "end")], 16)) : createCommentVNode("", true)], 16, _hoisted_1$8)) : createCommentVNode("", true)]; + }), + _: 3 + }, 16, ["onEnter", "onAfterEnter", "onLeave", "onAfterLeave"])]; + }), + _: 3 + }, 8, ["appendTo", "disabled"]); +} +__name(render$5, "render$5"); +script$4.render = render$5; +var theme$1 = /* @__PURE__ */ __name(function theme7(_ref) { + var dt = _ref.dt; + return "\n.p-splitbutton {\n display: inline-flex;\n position: relative;\n border-radius: ".concat(dt("splitbutton.border.radius"), ";\n}\n\n.p-splitbutton-button {\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n border-right: 0 none;\n}\n\n.p-splitbutton-button:focus-visible,\n.p-splitbutton-dropdown:focus-visible {\n z-index: 1;\n}\n\n.p-splitbutton-button:not(:disabled):hover,\n.p-splitbutton-button:not(:disabled):active {\n border-right: 0 none;\n}\n\n.p-splitbutton-dropdown {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n}\n\n.p-splitbutton .p-menu {\n min-width: 100%;\n}\n\n.p-splitbutton-fluid {\n display: flex;\n}\n\n.p-splitbutton-rounded .p-splitbutton-dropdown {\n border-top-right-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n border-bottom-right-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n}\n\n.p-splitbutton-rounded .p-splitbutton-button {\n border-top-left-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n border-bottom-left-radius: ").concat(dt("splitbutton.rounded.border.radius"), ";\n}\n\n.p-splitbutton-raised {\n box-shadow: ").concat(dt("splitbutton.raised.shadow"), ";\n}\n"); +}, "theme"); +var classes$1 = { + root: /* @__PURE__ */ __name(function root9(_ref2) { + var instance = _ref2.instance, props = _ref2.props; + return ["p-splitbutton p-component", { + "p-splitbutton-raised": props.raised, + "p-splitbutton-rounded": props.rounded, + "p-splitbutton-fluid": instance.hasFluid + }]; + }, "root"), + pcButton: "p-splitbutton-button", + pcDropdown: "p-splitbutton-dropdown" +}; +var SplitButtonStyle = BaseStyle.extend({ + name: "splitbutton", + theme: theme$1, + classes: classes$1 +}); +var script$1$1 = { + name: "BaseSplitButton", + "extends": script$e, + props: { + label: { + type: String, + "default": null + }, + icon: { + type: String, + "default": null + }, + model: { + type: Array, + "default": null + }, + autoZIndex: { + type: Boolean, + "default": true + }, + baseZIndex: { + type: Number, + "default": 0 + }, + appendTo: { + type: [String, Object], + "default": "body" + }, + disabled: { + type: Boolean, + "default": false + }, + fluid: { + type: Boolean, + "default": null + }, + "class": { + type: null, + "default": null + }, + style: { + type: null, + "default": null + }, + buttonProps: { + type: null, + "default": null + }, + menuButtonProps: { + type: null, + "default": null + }, + menuButtonIcon: { + type: String, + "default": void 0 + }, + dropdownIcon: { + type: String, + "default": void 0 + }, + severity: { + type: String, + "default": null + }, + raised: { + type: Boolean, + "default": false + }, + rounded: { + type: Boolean, + "default": false + }, + text: { + type: Boolean, + "default": false + }, + outlined: { + type: Boolean, + "default": false + }, + size: { + type: String, + "default": null + }, + plain: { + type: Boolean, + "default": false + } + }, + style: SplitButtonStyle, + provide: /* @__PURE__ */ __name(function provide11() { + return { + $pcSplitButton: this, + $parentInstance: this + }; + }, "provide") +}; +var script$3 = { + name: "SplitButton", + "extends": script$1$1, + inheritAttrs: false, + emits: ["click"], + inject: { + $pcFluid: { + "default": null + } + }, + data: /* @__PURE__ */ __name(function data7() { + return { + id: this.$attrs.id, + isExpanded: false + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId3(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId") + }, + mounted: /* @__PURE__ */ __name(function mounted7() { + var _this = this; + this.id = this.id || UniqueComponentId(); + this.$watch("$refs.menu.visible", function(newValue) { + _this.isExpanded = newValue; + }); + }, "mounted"), + methods: { + onDropdownButtonClick: /* @__PURE__ */ __name(function onDropdownButtonClick(event) { + if (event) { + event.preventDefault(); + } + this.$refs.menu.toggle({ + currentTarget: this.$el, + relatedTarget: this.$refs.button.$el + }); + this.isExpanded = this.$refs.menu.visible; + }, "onDropdownButtonClick"), + onDropdownKeydown: /* @__PURE__ */ __name(function onDropdownKeydown(event) { + if (event.code === "ArrowDown" || event.code === "ArrowUp") { + this.onDropdownButtonClick(); + event.preventDefault(); + } + }, "onDropdownKeydown"), + onDefaultButtonClick: /* @__PURE__ */ __name(function onDefaultButtonClick(event) { + if (this.isExpanded) { + this.$refs.menu.hide(event); + } + this.$emit("click", event); + }, "onDefaultButtonClick") + }, + computed: { + containerClass: /* @__PURE__ */ __name(function containerClass() { + return [this.cx("root"), this["class"]]; + }, "containerClass"), + hasFluid: /* @__PURE__ */ __name(function hasFluid2() { + return isEmpty(this.fluid) ? !!this.$pcFluid : this.fluid; + }, "hasFluid") + }, + components: { + PVSButton: script$d, + PVSMenu: script$4, + ChevronDownIcon: script$l + } +}; +var _hoisted_1$7 = ["data-p-severity"]; +function render$4(_ctx, _cache, $props, $setup, $data, $options) { + var _component_PVSButton = resolveComponent("PVSButton"); + var _component_PVSMenu = resolveComponent("PVSMenu"); + return openBlock(), createElementBlock("div", mergeProps({ + "class": $options.containerClass, + style: _ctx.style + }, _ctx.ptmi("root"), { + "data-p-severity": _ctx.severity + }), [createVNode(_component_PVSButton, mergeProps({ + type: "button", + "class": _ctx.cx("pcButton"), + label: _ctx.label, + disabled: _ctx.disabled, + severity: _ctx.severity, + text: _ctx.text, + icon: _ctx.icon, + outlined: _ctx.outlined, + size: _ctx.size, + fluid: _ctx.fluid, + "aria-label": _ctx.label, + onClick: $options.onDefaultButtonClick + }, _ctx.buttonProps, { + pt: _ctx.ptm("pcButton"), + unstyled: _ctx.unstyled + }), createSlots({ + "default": withCtx(function() { + return [renderSlot(_ctx.$slots, "default")]; + }), + _: 2 + }, [_ctx.$slots.icon ? { + name: "icon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "icon", { + "class": normalizeClass(slotProps["class"]) + }, function() { + return [createBaseVNode("span", mergeProps({ + "class": [_ctx.icon, slotProps["class"]] + }, _ctx.ptm("pcButton")["icon"], { + "data-pc-section": "buttonicon" + }), null, 16)]; + })]; + }), + key: "0" + } : void 0]), 1040, ["class", "label", "disabled", "severity", "text", "icon", "outlined", "size", "fluid", "aria-label", "onClick", "pt", "unstyled"]), createVNode(_component_PVSButton, mergeProps({ + ref: "button", + type: "button", + "class": _ctx.cx("pcDropdown"), + disabled: _ctx.disabled, + "aria-haspopup": "true", + "aria-expanded": $data.isExpanded, + "aria-controls": $data.id + "_overlay", + onClick: $options.onDropdownButtonClick, + onKeydown: $options.onDropdownKeydown, + severity: _ctx.severity, + text: _ctx.text, + outlined: _ctx.outlined, + size: _ctx.size, + unstyled: _ctx.unstyled + }, _ctx.menuButtonProps, { + pt: _ctx.ptm("pcDropdown") + }), { + icon: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, _ctx.$slots.dropdownicon ? "dropdownicon" : "menubuttonicon", { + "class": normalizeClass(slotProps["class"]) + }, function() { + return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.menuButtonIcon || _ctx.dropdownIcon ? "span" : "ChevronDownIcon"), mergeProps({ + "class": [_ctx.dropdownIcon || _ctx.menuButtonIcon, slotProps["class"]] + }, _ctx.ptm("pcDropdown")["icon"], { + "data-pc-section": "menubuttonicon" + }), null, 16, ["class"]))]; + })]; + }), + _: 3 + }, 16, ["class", "disabled", "aria-expanded", "aria-controls", "onClick", "onKeydown", "severity", "text", "outlined", "size", "unstyled", "pt"]), createVNode(_component_PVSMenu, { + ref: "menu", + id: $data.id + "_overlay", + model: _ctx.model, + popup: true, + autoZIndex: _ctx.autoZIndex, + baseZIndex: _ctx.baseZIndex, + appendTo: _ctx.appendTo, + unstyled: _ctx.unstyled, + pt: _ctx.ptm("pcMenu") + }, createSlots({ + _: 2 + }, [_ctx.$slots.menuitemicon ? { + name: "itemicon", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "menuitemicon", { + item: slotProps.item, + "class": normalizeClass(slotProps["class"]) + })]; + }), + key: "0" + } : void 0, _ctx.$slots.item ? { + name: "item", + fn: withCtx(function(slotProps) { + return [renderSlot(_ctx.$slots, "item", { + item: slotProps.item, + hasSubmenu: slotProps.hasSubmenu, + label: slotProps.label, + props: slotProps.props + })]; + }), + key: "1" + } : void 0]), 1032, ["id", "model", "autoZIndex", "baseZIndex", "appendTo", "unstyled", "pt"])], 16, _hoisted_1$7); +} +__name(render$4, "render$4"); +script$3.render = render$4; +const _withScopeId$3 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-26957f1f"), n = n(), popScopeId(), n), "_withScopeId$3"); +const _hoisted_1$6 = ["aria-label"]; +const minQueueCount = 1; +const _sfc_main$6 = /* @__PURE__ */ defineComponent({ + __name: "BatchCountEdit", + props: { + class: { default: "" } + }, + setup(__props) { + const props = __props; + const queueSettingsStore = useQueueSettingsStore(); + const { batchCount } = storeToRefs(queueSettingsStore); + const settingStore = useSettingStore(); + const maxQueueCount = computed( + () => settingStore.get("Comfy.QueueButton.BatchCountLimit") + ); + const handleClick = /* @__PURE__ */ __name((increment) => { + let newCount; + if (increment) { + const originalCount = batchCount.value - 1; + newCount = Math.min(originalCount * 2, maxQueueCount.value); + } else { + const originalCount = batchCount.value + 1; + newCount = Math.floor(originalCount / 2); + } + batchCount.value = newCount; + }, "handleClick"); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return withDirectives((openBlock(), createElementBlock("div", { + class: normalizeClass(["batch-count", props.class]), + "aria-label": _ctx.$t("menu.batchCount") + }, [ + createVNode(unref(script$A), { + class: "w-14", + modelValue: unref(batchCount), + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => isRef(batchCount) ? batchCount.value = $event : null), + min: minQueueCount, + max: maxQueueCount.value, + fluid: "", + showButtons: "", + pt: { + incrementButton: { + class: "w-6", + onmousedown: /* @__PURE__ */ __name(() => { + handleClick(true); + }, "onmousedown") + }, + decrementButton: { + class: "w-6", + onmousedown: /* @__PURE__ */ __name(() => { + handleClick(false); + }, "onmousedown") + } + } + }, null, 8, ["modelValue", "max", "pt"]) + ], 10, _hoisted_1$6)), [ + [ + _directive_tooltip, + _ctx.$t("menu.batchCount"), + void 0, + { bottom: true } + ] + ]); + }; + } +}); +const BatchCountEdit = /* @__PURE__ */ _export_sfc(_sfc_main$6, [["__scopeId", "data-v-26957f1f"]]); +const _withScopeId$2 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-e9044686"), n = n(), popScopeId(), n), "_withScopeId$2"); +const _hoisted_1$5 = { class: "queue-button-group flex" }; +const _sfc_main$5 = /* @__PURE__ */ defineComponent({ + __name: "ComfyQueueButton", + setup(__props) { + const workspaceStore = useWorkspaceStore(); + const queueCountStore = storeToRefs(useQueuePendingTaskCountStore()); + const { mode: queueMode } = storeToRefs(useQueueSettingsStore()); + const { t } = useI18n(); + const queueModeMenuItemLookup = computed(() => ({ + disabled: { + key: "disabled", + label: t("menu.queue"), + tooltip: t("menu.disabledTooltip"), + command: /* @__PURE__ */ __name(() => { + queueMode.value = "disabled"; + }, "command") + }, + instant: { + key: "instant", + label: `${t("menu.queue")} (${t("menu.instant")})`, + tooltip: t("menu.instantTooltip"), + command: /* @__PURE__ */ __name(() => { + queueMode.value = "instant"; + }, "command") + }, + change: { + key: "change", + label: `${t("menu.queue")} (${t("menu.onChange")})`, + tooltip: t("menu.onChangeTooltip"), + command: /* @__PURE__ */ __name(() => { + queueMode.value = "change"; + }, "command") + } + })); + const activeQueueModeMenuItem = computed( + () => queueModeMenuItemLookup.value[queueMode.value] + ); + const queueModeMenuItems = computed( + () => Object.values(queueModeMenuItemLookup.value) + ); + const executingPrompt = computed(() => !!queueCountStore.count.value); + const hasPendingTasks = computed(() => queueCountStore.count.value > 1); + const commandStore = useCommandStore(); + const queuePrompt = /* @__PURE__ */ __name((e) => { + const commandId = e.shiftKey ? "Comfy.QueuePromptFront" : "Comfy.QueuePrompt"; + commandStore.execute(commandId); + }, "queuePrompt"); + return (_ctx, _cache) => { + const _component_i_lucide58list_start = __unplugin_components_0$1; + const _component_i_lucide58play = __unplugin_components_1$1; + const _component_i_lucide58fast_forward = __unplugin_components_2; + const _component_i_lucide58step_forward = __unplugin_components_3; + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createElementBlock("div", _hoisted_1$5, [ + withDirectives((openBlock(), createBlock(unref(script$3), { + class: "comfyui-queue-button", + label: activeQueueModeMenuItem.value.label, + severity: "primary", + size: "small", + onClick: queuePrompt, + model: queueModeMenuItems.value, + "data-testid": "queue-button" + }, { + icon: withCtx(() => [ + unref(workspaceStore).shiftDown ? (openBlock(), createBlock(_component_i_lucide58list_start, { key: 0 })) : unref(queueMode) === "disabled" ? (openBlock(), createBlock(_component_i_lucide58play, { key: 1 })) : unref(queueMode) === "instant" ? (openBlock(), createBlock(_component_i_lucide58fast_forward, { key: 2 })) : unref(queueMode) === "change" ? (openBlock(), createBlock(_component_i_lucide58step_forward, { key: 3 })) : createCommentVNode("", true) + ]), + item: withCtx(({ item: item3 }) => [ + withDirectives(createVNode(unref(script$d), { + label: item3.label, + icon: item3.icon, + severity: item3.key === unref(queueMode) ? "primary" : "secondary", + size: "small", + text: "" + }, null, 8, ["label", "icon", "severity"]), [ + [_directive_tooltip, item3.tooltip] + ]) + ]), + _: 1 + }, 8, ["label", "model"])), [ + [ + _directive_tooltip, + unref(workspaceStore).shiftDown ? _ctx.$t("menu.queueWorkflowFront") : _ctx.$t("menu.queueWorkflow"), + void 0, + { bottom: true } + ] + ]), + createVNode(BatchCountEdit), + createVNode(unref(script$8), { class: "execution-actions flex flex-nowrap" }, { + default: withCtx(() => [ + withDirectives(createVNode(unref(script$d), { + icon: "pi pi-times", + severity: executingPrompt.value ? "danger" : "secondary", + disabled: !executingPrompt.value, + text: "", + "aria-label": _ctx.$t("menu.interrupt"), + onClick: _cache[0] || (_cache[0] = () => unref(commandStore).execute("Comfy.Interrupt")) + }, null, 8, ["severity", "disabled", "aria-label"]), [ + [ + _directive_tooltip, + _ctx.$t("menu.interrupt"), + void 0, + { bottom: true } + ] + ]), + withDirectives(createVNode(unref(script$d), { + icon: "pi pi-stop", + severity: hasPendingTasks.value ? "danger" : "secondary", + disabled: !hasPendingTasks.value, + text: "", + "aria-label": _ctx.$t("sideToolbar.queueTab.clearPendingTasks"), + onClick: _cache[1] || (_cache[1] = () => unref(commandStore).execute("Comfy.ClearPendingTasks")) + }, null, 8, ["severity", "disabled", "aria-label"]), [ + [ + _directive_tooltip, + _ctx.$t("sideToolbar.queueTab.clearPendingTasks"), + void 0, + { bottom: true } + ] + ]) + ]), + _: 1 + }) + ]); + }; + } +}); +const ComfyQueueButton = /* @__PURE__ */ _export_sfc(_sfc_main$5, [["__scopeId", "data-v-e9044686"]]); +const overlapThreshold = 20; +const _sfc_main$4 = /* @__PURE__ */ defineComponent({ + __name: "ComfyActionbar", + setup(__props) { + const settingsStore = useSettingStore(); + const visible = computed( + () => settingsStore.get("Comfy.UseNewMenu") !== "Disabled" + ); + const panelRef = ref(null); + const dragHandleRef = ref(null); + const isDocked = useLocalStorage("Comfy.MenuPosition.Docked", false); + const storedPosition = useLocalStorage("Comfy.MenuPosition.Floating", { + x: 0, + y: 0 + }); + const { + x, + y, + style, + isDragging + } = useDraggable(panelRef, { + initialValue: { x: 0, y: 0 }, + handle: dragHandleRef, + containerElement: document.body + }); + watchDebounced( + [x, y], + ([newX, newY]) => { + storedPosition.value = { x: newX, y: newY }; + }, + { debounce: 300 } + ); + const setInitialPosition = /* @__PURE__ */ __name(() => { + if (x.value !== 0 || y.value !== 0) { + return; + } + if (storedPosition.value.x !== 0 || storedPosition.value.y !== 0) { + x.value = storedPosition.value.x; + y.value = storedPosition.value.y; + captureLastDragState(); + return; + } + if (panelRef.value) { + const screenWidth = window.innerWidth; + const screenHeight = window.innerHeight; + const menuWidth = panelRef.value.offsetWidth; + const menuHeight = panelRef.value.offsetHeight; + if (menuWidth === 0 || menuHeight === 0) { + return; + } + x.value = (screenWidth - menuWidth) / 2; + y.value = screenHeight - menuHeight - 10; + captureLastDragState(); + } + }, "setInitialPosition"); + onMounted(setInitialPosition); + watch(visible, (newVisible) => { + if (newVisible) { + nextTick(setInitialPosition); + } + }); + const lastDragState = ref({ + x: x.value, + y: y.value, + windowWidth: window.innerWidth, + windowHeight: window.innerHeight + }); + const captureLastDragState = /* @__PURE__ */ __name(() => { + lastDragState.value = { + x: x.value, + y: y.value, + windowWidth: window.innerWidth, + windowHeight: window.innerHeight + }; + }, "captureLastDragState"); + watch( + isDragging, + (newIsDragging) => { + if (!newIsDragging) { + captureLastDragState(); + } + }, + { immediate: true } + ); + const adjustMenuPosition = /* @__PURE__ */ __name(() => { + if (panelRef.value) { + const screenWidth = window.innerWidth; + const screenHeight = window.innerHeight; + const menuWidth = panelRef.value.offsetWidth; + const menuHeight = panelRef.value.offsetHeight; + const distanceLeft = lastDragState.value.x; + const distanceRight = lastDragState.value.windowWidth - (lastDragState.value.x + menuWidth); + const distanceTop = lastDragState.value.y; + const distanceBottom = lastDragState.value.windowHeight - (lastDragState.value.y + menuHeight); + const distances = [ + { edge: "left", distance: distanceLeft }, + { edge: "right", distance: distanceRight }, + { edge: "top", distance: distanceTop }, + { edge: "bottom", distance: distanceBottom } + ]; + const closestEdge = distances.reduce( + (min, curr) => curr.distance < min.distance ? curr : min + ); + const verticalRatio = lastDragState.value.y / lastDragState.value.windowHeight; + const horizontalRatio = lastDragState.value.x / lastDragState.value.windowWidth; + if (closestEdge.edge === "left") { + x.value = closestEdge.distance; + y.value = verticalRatio * screenHeight; + } else if (closestEdge.edge === "right") { + x.value = screenWidth - menuWidth - closestEdge.distance; + y.value = verticalRatio * screenHeight; + } else if (closestEdge.edge === "top") { + x.value = horizontalRatio * screenWidth; + y.value = closestEdge.distance; + } else { + x.value = horizontalRatio * screenWidth; + y.value = screenHeight - menuHeight - closestEdge.distance; + } + x.value = lodashExports.clamp(x.value, 0, screenWidth - menuWidth); + y.value = lodashExports.clamp(y.value, 0, screenHeight - menuHeight); + } + }, "adjustMenuPosition"); + useEventListener(window, "resize", adjustMenuPosition); + const topMenuRef = inject("topMenuRef"); + const topMenuBounds = useElementBounding(topMenuRef); + const isOverlappingWithTopMenu = computed(() => { + if (!panelRef.value) { + return false; + } + const { height } = panelRef.value.getBoundingClientRect(); + const actionbarBottom = y.value + height; + const topMenuBottom = topMenuBounds.bottom.value; + const overlapPixels = Math.min(actionbarBottom, topMenuBottom) - Math.max(y.value, topMenuBounds.top.value); + return overlapPixels > overlapThreshold; + }); + watch(isDragging, (newIsDragging) => { + if (!newIsDragging) { + isDocked.value = isOverlappingWithTopMenu.value; + } else { + isDocked.value = false; + } + }); + const eventBus = useEventBus("topMenu"); + watch([isDragging, isOverlappingWithTopMenu], ([dragging, overlapping]) => { + eventBus.emit("updateHighlight", { + isDragging: dragging, + isOverlapping: overlapping + }); + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(script$B), { + class: normalizeClass(["actionbar w-fit", { "is-dragging": unref(isDragging), "is-docked": unref(isDocked) }]), + style: normalizeStyle(unref(style)) + }, { + default: withCtx(() => [ + createBaseVNode("div", { + class: "actionbar-content flex items-center", + ref_key: "panelRef", + ref: panelRef + }, [ + createBaseVNode("span", { + class: "drag-handle cursor-move mr-2 p-0!", + ref_key: "dragHandleRef", + ref: dragHandleRef + }, null, 512), + createVNode(ComfyQueueButton) + ], 512) + ]), + _: 1 + }, 8, ["style", "class"]); + }; + } +}); +const Actionbar = /* @__PURE__ */ _export_sfc(_sfc_main$4, [["__scopeId", "data-v-915e5456"]]); +const _hoisted_1$4 = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$4 = /* @__PURE__ */ createBaseVNode("path", { + fill: "currentColor", + d: "M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-5v3h14v-3zm0-2h14V5H5zm0 2v3z" +}, null, -1); +const _hoisted_3$4 = [ + _hoisted_2$4 +]; +function render$3(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$4, [..._hoisted_3$4]); +} +__name(render$3, "render$3"); +const __unplugin_components_1 = markRaw({ name: "material-symbols-dock-to-bottom-outline", render: render$3 }); +const _hoisted_1$3 = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$3 = /* @__PURE__ */ createBaseVNode("path", { + fill: "currentColor", + d: "M5 21q-.825 0-1.412-.587T3 19V5q0-.825.588-1.412T5 3h14q.825 0 1.413.588T21 5v14q0 .825-.587 1.413T19 21zm0-7h14V5H5z" +}, null, -1); +const _hoisted_3$3 = [ + _hoisted_2$3 +]; +function render$2(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$3, [..._hoisted_3$3]); +} +__name(render$2, "render$2"); +const __unplugin_components_0 = markRaw({ name: "material-symbols-dock-to-bottom", render: render$2 }); +const _sfc_main$3 = /* @__PURE__ */ defineComponent({ + __name: "BottomPanelToggleButton", + setup(__props) { + const bottomPanelStore = useBottomPanelStore(); + return (_ctx, _cache) => { + const _component_i_material_symbols58dock_to_bottom = __unplugin_components_0; + const _component_i_material_symbols58dock_to_bottom_outline = __unplugin_components_1; + const _directive_tooltip = resolveDirective("tooltip"); + return withDirectives((openBlock(), createBlock(unref(script$d), { + severity: "secondary", + text: "", + "aria-label": _ctx.$t("menu.toggleBottomPanel"), + onClick: unref(bottomPanelStore).toggleBottomPanel + }, { + icon: withCtx(() => [ + unref(bottomPanelStore).bottomPanelVisible ? (openBlock(), createBlock(_component_i_material_symbols58dock_to_bottom, { key: 0 })) : (openBlock(), createBlock(_component_i_material_symbols58dock_to_bottom_outline, { key: 1 })) + ]), + _: 1 + }, 8, ["aria-label", "onClick"])), [ + [vShow, unref(bottomPanelStore).bottomPanelTabs.length > 0], + [_directive_tooltip, { value: _ctx.$t("menu.toggleBottomPanel"), showDelay: 300 }] + ]); + }; + } +}); +var theme8 = /* @__PURE__ */ __name(function theme9(_ref) { + var dt = _ref.dt; + return "\n.p-menubar {\n display: flex;\n align-items: center;\n background: ".concat(dt("menubar.background"), ";\n border: 1px solid ").concat(dt("menubar.border.color"), ";\n border-radius: ").concat(dt("menubar.border.radius"), ";\n color: ").concat(dt("menubar.color"), ";\n padding: ").concat(dt("menubar.padding"), ";\n gap: ").concat(dt("menubar.gap"), ";\n}\n\n.p-menubar-start,\n.p-megamenu-end {\n display: flex;\n align-items: center;\n}\n\n.p-menubar-root-list,\n.p-menubar-submenu {\n display: flex;\n margin: 0;\n padding: 0;\n list-style: none;\n outline: 0 none;\n}\n\n.p-menubar-root-list {\n align-items: center;\n flex-wrap: wrap;\n gap: ").concat(dt("menubar.gap"), ";\n}\n\n.p-menubar-root-list > .p-menubar-item > .p-menubar-item-content {\n border-radius: ").concat(dt("menubar.base.item.border.radius"), ";\n}\n\n.p-menubar-root-list > .p-menubar-item > .p-menubar-item-content > .p-menubar-item-link {\n padding: ").concat(dt("menubar.base.item.padding"), ";\n}\n\n.p-menubar-item-content {\n transition: background ").concat(dt("menubar.transition.duration"), ", color ").concat(dt("menubar.transition.duration"), ";\n border-radius: ").concat(dt("menubar.item.border.radius"), ";\n color: ").concat(dt("menubar.item.color"), ";\n}\n\n.p-menubar-item-link {\n cursor: pointer;\n display: flex;\n align-items: center;\n text-decoration: none;\n overflow: hidden;\n position: relative;\n color: inherit;\n padding: ").concat(dt("menubar.item.padding"), ";\n gap: ").concat(dt("menubar.item.gap"), ";\n user-select: none;\n outline: 0 none;\n}\n\n.p-menubar-item-label {\n line-height: 1;\n}\n\n.p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.color"), ";\n}\n\n.p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.color"), ";\n margin-left: auto;\n font-size: ").concat(dt("menubar.submenu.icon.size"), ";\n width: ").concat(dt("menubar.submenu.icon.size"), ";\n height: ").concat(dt("menubar.submenu.icon.size"), ";\n}\n\n.p-menubar-item.p-focus > .p-menubar-item-content {\n color: ").concat(dt("menubar.item.focus.color"), ";\n background: ").concat(dt("menubar.item.focus.background"), ";\n}\n\n.p-menubar-item.p-focus > .p-menubar-item-content .p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.focus.color"), ";\n}\n\n.p-menubar-item.p-focus > .p-menubar-item-content .p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.focus.color"), ";\n}\n\n.p-menubar-item:not(.p-disabled) > .p-menubar-item-content:hover {\n color: ").concat(dt("menubar.item.focus.color"), ";\n background: ").concat(dt("menubar.item.focus.background"), ";\n}\n\n.p-menubar-item:not(.p-disabled) > .p-menubar-item-content:hover .p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.focus.color"), ";\n}\n\n.p-menubar-item:not(.p-disabled) > .p-menubar-item-content:hover .p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.focus.color"), ";\n}\n\n.p-menubar-item-active > .p-menubar-item-content {\n color: ").concat(dt("menubar.item.active.color"), ";\n background: ").concat(dt("menubar.item.active.background"), ";\n}\n\n.p-menubar-item-active > .p-menubar-item-content .p-menubar-item-icon {\n color: ").concat(dt("menubar.item.icon.active.color"), ";\n}\n\n.p-menubar-item-active > .p-menubar-item-content .p-menubar-submenu-icon {\n color: ").concat(dt("menubar.submenu.icon.active.color"), ";\n}\n\n.p-menubar-submenu {\n display: none;\n position: absolute;\n min-width: 12.5rem;\n z-index: 1;\n background: ").concat(dt("menubar.submenu.background"), ";\n border: 1px solid ").concat(dt("menubar.submenu.border.color"), ";\n border-radius: ").concat(dt("menubar.border.radius"), ";\n box-shadow: ").concat(dt("menubar.submenu.shadow"), ";\n color: ").concat(dt("menubar.submenu.color"), ";\n flex-direction: column;\n padding: ").concat(dt("menubar.submenu.padding"), ";\n gap: ").concat(dt("menubar.submenu.gap"), ";\n}\n\n.p-menubar-submenu .p-menubar-separator {\n border-top: 1px solid ").concat(dt("menubar.separator.border.color"), ";\n}\n\n.p-menubar-submenu .p-menubar-item {\n position: relative;\n}\n\n .p-menubar-submenu > .p-menubar-item-active > .p-menubar-submenu {\n display: block;\n left: 100%;\n top: 0;\n}\n\n.p-menubar-end {\n margin-left: auto;\n align-self: center;\n}\n\n.p-menubar-button {\n display: none;\n justify-content: center;\n align-items: center;\n cursor: pointer;\n width: ").concat(dt("menubar.mobile.button.size"), ";\n height: ").concat(dt("menubar.mobile.button.size"), ";\n position: relative;\n color: ").concat(dt("menubar.mobile.button.color"), ";\n border: 0 none;\n background: transparent;\n border-radius: ").concat(dt("menubar.mobile.button.border.radius"), ";\n transition: background ").concat(dt("menubar.transition.duration"), ", color ").concat(dt("menubar.transition.duration"), ", outline-color ").concat(dt("menubar.transition.duration"), ";\n outline-color: transparent;\n}\n\n.p-menubar-button:hover {\n color: ").concat(dt("menubar.mobile.button.hover.color"), ";\n background: ").concat(dt("menubar.mobile.button.hover.background"), ";\n}\n\n.p-menubar-button:focus-visible {\n box-shadow: ").concat(dt("menubar.mobile.button.focus.ring.shadow"), ";\n outline: ").concat(dt("menubar.mobile.button.focus.ring.width"), " ").concat(dt("menubar.mobile.button.focus.ring.style"), " ").concat(dt("menubar.mobile.button.focus.ring.color"), ";\n outline-offset: ").concat(dt("menubar.mobile.button.focus.ring.offset"), ";\n}\n\n.p-menubar-mobile {\n position: relative;\n}\n\n.p-menubar-mobile .p-menubar-button {\n display: flex;\n}\n\n.p-menubar-mobile .p-menubar-root-list {\n position: absolute;\n display: none;\n width: 100%;\n padding: ").concat(dt("menubar.submenu.padding"), ";\n background: ").concat(dt("menubar.submenu.background"), ";\n border: 1px solid ").concat(dt("menubar.submenu.border.color"), ";\n box-shadow: ").concat(dt("menubar.submenu.shadow"), ";\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item > .p-menubar-item-content {\n border-radius: ").concat(dt("menubar.item.border.radius"), ";\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item > .p-menubar-item-content > .p-menubar-item-link {\n padding: ").concat(dt("menubar.item.padding"), ";\n}\n\n.p-menubar-mobile-active .p-menubar-root-list {\n display: flex;\n flex-direction: column;\n top: 100%;\n left: 0;\n z-index: 1;\n}\n\n.p-menubar-mobile .p-menubar-root-list .p-menubar-item {\n width: 100%;\n position: static;\n}\n\n.p-menubar-mobile .p-menubar-root-list .p-menubar-separator {\n border-top: 1px solid ").concat(dt("menubar.separator.border.color"), ";\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item > .p-menubar-item-content .p-menubar-submenu-icon {\n margin-left: auto;\n transition: transform 0.2s;\n}\n\n.p-menubar-mobile .p-menubar-root-list > .p-menubar-item-active > .p-menubar-item-content .p-menubar-submenu-icon {\n transform: rotate(-180deg);\n}\n\n.p-menubar-mobile .p-menubar-submenu .p-menubar-submenu-icon {\n transition: transform 0.2s;\n transform: rotate(90deg);\n}\n\n.p-menubar-mobile .p-menubar-item-active > .p-menubar-item-content .p-menubar-submenu-icon {\n transform: rotate(-90deg);\n}\n\n.p-menubar-mobile .p-menubar-submenu {\n width: 100%;\n position: static;\n box-shadow: none;\n border: 0 none;\n padding-left: ").concat(dt("menubar.submenu.mobile.indent"), ";\n}\n"); +}, "theme"); +var inlineStyles = { + submenu: /* @__PURE__ */ __name(function submenu2(_ref2) { + var instance = _ref2.instance, processedItem = _ref2.processedItem; + return { + display: instance.isItemActive(processedItem) ? "flex" : "none" + }; + }, "submenu") +}; +var classes = { + root: /* @__PURE__ */ __name(function root10(_ref3) { + var instance = _ref3.instance; + return ["p-menubar p-component", { + "p-menubar-mobile": instance.queryMatches, + "p-menubar-mobile-active": instance.mobileActive + }]; + }, "root"), + start: "p-menubar-start", + button: "p-menubar-button", + rootList: "p-menubar-root-list", + item: /* @__PURE__ */ __name(function item2(_ref4) { + var instance = _ref4.instance, processedItem = _ref4.processedItem; + return ["p-menubar-item", { + "p-menubar-item-active": instance.isItemActive(processedItem), + "p-focus": instance.isItemFocused(processedItem), + "p-disabled": instance.isItemDisabled(processedItem) + }]; + }, "item"), + itemContent: "p-menubar-item-content", + itemLink: "p-menubar-item-link", + itemIcon: "p-menubar-item-icon", + itemLabel: "p-menubar-item-label", + submenuIcon: "p-menubar-submenu-icon", + submenu: "p-menubar-submenu", + separator: "p-menubar-separator", + end: "p-menubar-end" +}; +var MenubarStyle = BaseStyle.extend({ + name: "menubar", + theme: theme8, + classes, + inlineStyles +}); +var script$2 = { + name: "BaseMenubar", + "extends": script$e, + props: { + model: { + type: Array, + "default": null + }, + buttonProps: { + type: null, + "default": null + }, + breakpoint: { + type: String, + "default": "960px" + }, + ariaLabelledby: { + type: String, + "default": null + }, + ariaLabel: { + type: String, + "default": null + } + }, + style: MenubarStyle, + provide: /* @__PURE__ */ __name(function provide12() { + return { + $pcMenubar: this, + $parentInstance: this + }; + }, "provide") +}; +var script$1 = { + name: "MenubarSub", + hostName: "Menubar", + "extends": script$e, + emits: ["item-mouseenter", "item-click", "item-mousemove"], + props: { + items: { + type: Array, + "default": null + }, + root: { + type: Boolean, + "default": false + }, + popup: { + type: Boolean, + "default": false + }, + mobileActive: { + type: Boolean, + "default": false + }, + templates: { + type: Object, + "default": null + }, + level: { + type: Number, + "default": 0 + }, + menuId: { + type: String, + "default": null + }, + focusedItemId: { + type: String, + "default": null + }, + activeItemPath: { + type: Object, + "default": null + } + }, + list: null, + methods: { + getItemId: /* @__PURE__ */ __name(function getItemId2(processedItem) { + return "".concat(this.menuId, "_").concat(processedItem.key); + }, "getItemId"), + getItemKey: /* @__PURE__ */ __name(function getItemKey2(processedItem) { + return this.getItemId(processedItem); + }, "getItemKey"), + getItemProp: /* @__PURE__ */ __name(function getItemProp3(processedItem, name, params) { + return processedItem && processedItem.item ? resolve(processedItem.item[name], params) : void 0; + }, "getItemProp"), + getItemLabel: /* @__PURE__ */ __name(function getItemLabel3(processedItem) { + return this.getItemProp(processedItem, "label"); + }, "getItemLabel"), + getItemLabelId: /* @__PURE__ */ __name(function getItemLabelId2(processedItem) { + return "".concat(this.menuId, "_").concat(processedItem.key, "_label"); + }, "getItemLabelId"), + getPTOptions: /* @__PURE__ */ __name(function getPTOptions5(processedItem, index, key) { + return this.ptm(key, { + context: { + item: processedItem.item, + index, + active: this.isItemActive(processedItem), + focused: this.isItemFocused(processedItem), + disabled: this.isItemDisabled(processedItem), + level: this.level + } + }); + }, "getPTOptions"), + isItemActive: /* @__PURE__ */ __name(function isItemActive2(processedItem) { + return this.activeItemPath.some(function(path) { + return path.key === processedItem.key; + }); + }, "isItemActive"), + isItemVisible: /* @__PURE__ */ __name(function isItemVisible3(processedItem) { + return this.getItemProp(processedItem, "visible") !== false; + }, "isItemVisible"), + isItemDisabled: /* @__PURE__ */ __name(function isItemDisabled3(processedItem) { + return this.getItemProp(processedItem, "disabled"); + }, "isItemDisabled"), + isItemFocused: /* @__PURE__ */ __name(function isItemFocused2(processedItem) { + return this.focusedItemId === this.getItemId(processedItem); + }, "isItemFocused"), + isItemGroup: /* @__PURE__ */ __name(function isItemGroup3(processedItem) { + return isNotEmpty(processedItem.items); + }, "isItemGroup"), + onItemClick: /* @__PURE__ */ __name(function onItemClick3(event, processedItem) { + this.getItemProp(processedItem, "command", { + originalEvent: event, + item: processedItem.item + }); + this.$emit("item-click", { + originalEvent: event, + processedItem, + isFocus: true + }); + }, "onItemClick"), + onItemMouseEnter: /* @__PURE__ */ __name(function onItemMouseEnter3(event, processedItem) { + this.$emit("item-mouseenter", { + originalEvent: event, + processedItem + }); + }, "onItemMouseEnter"), + onItemMouseMove: /* @__PURE__ */ __name(function onItemMouseMove3(event, processedItem) { + this.$emit("item-mousemove", { + originalEvent: event, + processedItem + }); + }, "onItemMouseMove"), + getAriaPosInset: /* @__PURE__ */ __name(function getAriaPosInset3(index) { + return index - this.calculateAriaSetSize.slice(0, index).length + 1; + }, "getAriaPosInset"), + getMenuItemProps: /* @__PURE__ */ __name(function getMenuItemProps2(processedItem, index) { + return { + action: mergeProps({ + "class": this.cx("itemLink"), + tabindex: -1, + "aria-hidden": true + }, this.getPTOptions(processedItem, index, "itemLink")), + icon: mergeProps({ + "class": [this.cx("itemIcon"), this.getItemProp(processedItem, "icon")] + }, this.getPTOptions(processedItem, index, "itemIcon")), + label: mergeProps({ + "class": this.cx("itemLabel") + }, this.getPTOptions(processedItem, index, "itemLabel")), + submenuicon: mergeProps({ + "class": this.cx("submenuIcon") + }, this.getPTOptions(processedItem, index, "submenuIcon")) + }; + }, "getMenuItemProps") + }, + computed: { + calculateAriaSetSize: /* @__PURE__ */ __name(function calculateAriaSetSize() { + var _this = this; + return this.items.filter(function(processedItem) { + return _this.isItemVisible(processedItem) && _this.getItemProp(processedItem, "separator"); + }); + }, "calculateAriaSetSize"), + getAriaSetSize: /* @__PURE__ */ __name(function getAriaSetSize2() { + var _this2 = this; + return this.items.filter(function(processedItem) { + return _this2.isItemVisible(processedItem) && !_this2.getItemProp(processedItem, "separator"); + }).length; + }, "getAriaSetSize") + }, + components: { + AngleRightIcon: script$z, + AngleDownIcon: script$C + }, + directives: { + ripple: Ripple + } +}; +var _hoisted_1$1$1 = ["id", "aria-label", "aria-disabled", "aria-expanded", "aria-haspopup", "aria-level", "aria-setsize", "aria-posinset", "data-p-active", "data-p-focused", "data-p-disabled"]; +var _hoisted_2$2 = ["onClick", "onMouseenter", "onMousemove"]; +var _hoisted_3$2 = ["href", "target"]; +var _hoisted_4$1 = ["id"]; +var _hoisted_5 = ["id"]; +function render$1(_ctx, _cache, $props, $setup, $data, $options) { + var _component_MenubarSub = resolveComponent("MenubarSub", true); + var _directive_ripple = resolveDirective("ripple"); + return openBlock(), createElementBlock("ul", mergeProps({ + "class": $props.level === 0 ? _ctx.cx("rootList") : _ctx.cx("submenu") + }, $props.level === 0 ? _ctx.ptm("rootList") : _ctx.ptm("submenu")), [(openBlock(true), createElementBlock(Fragment, null, renderList($props.items, function(processedItem, index) { + return openBlock(), createElementBlock(Fragment, { + key: $options.getItemKey(processedItem) + }, [$options.isItemVisible(processedItem) && !$options.getItemProp(processedItem, "separator") ? (openBlock(), createElementBlock("li", mergeProps({ + key: 0, + id: $options.getItemId(processedItem), + style: $options.getItemProp(processedItem, "style"), + "class": [_ctx.cx("item", { + processedItem + }), $options.getItemProp(processedItem, "class")], + role: "menuitem", + "aria-label": $options.getItemLabel(processedItem), + "aria-disabled": $options.isItemDisabled(processedItem) || void 0, + "aria-expanded": $options.isItemGroup(processedItem) ? $options.isItemActive(processedItem) : void 0, + "aria-haspopup": $options.isItemGroup(processedItem) && !$options.getItemProp(processedItem, "to") ? "menu" : void 0, + "aria-level": $props.level + 1, + "aria-setsize": $options.getAriaSetSize, + "aria-posinset": $options.getAriaPosInset(index), + ref_for: true + }, $options.getPTOptions(processedItem, index, "item"), { + "data-p-active": $options.isItemActive(processedItem), + "data-p-focused": $options.isItemFocused(processedItem), + "data-p-disabled": $options.isItemDisabled(processedItem) + }), [createBaseVNode("div", mergeProps({ + "class": _ctx.cx("itemContent"), + onClick: /* @__PURE__ */ __name(function onClick2($event) { + return $options.onItemClick($event, processedItem); + }, "onClick"), + onMouseenter: /* @__PURE__ */ __name(function onMouseenter($event) { + return $options.onItemMouseEnter($event, processedItem); + }, "onMouseenter"), + onMousemove: /* @__PURE__ */ __name(function onMousemove($event) { + return $options.onItemMouseMove($event, processedItem); + }, "onMousemove"), + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemContent")), [!$props.templates.item ? withDirectives((openBlock(), createElementBlock("a", mergeProps({ + key: 0, + href: $options.getItemProp(processedItem, "url"), + "class": _ctx.cx("itemLink"), + target: $options.getItemProp(processedItem, "target"), + tabindex: "-1", + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemLink")), [$props.templates.itemicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.itemicon), { + key: 0, + item: processedItem.item, + "class": normalizeClass(_ctx.cx("itemIcon")) + }, null, 8, ["item", "class"])) : $options.getItemProp(processedItem, "icon") ? (openBlock(), createElementBlock("span", mergeProps({ + key: 1, + "class": [_ctx.cx("itemIcon"), $options.getItemProp(processedItem, "icon")], + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemIcon")), null, 16)) : createCommentVNode("", true), createBaseVNode("span", mergeProps({ + id: $options.getItemLabelId(processedItem), + "class": _ctx.cx("itemLabel"), + ref_for: true + }, $options.getPTOptions(processedItem, index, "itemLabel")), toDisplayString($options.getItemLabel(processedItem)), 17, _hoisted_4$1), $options.getItemProp(processedItem, "items") ? (openBlock(), createElementBlock(Fragment, { + key: 2 + }, [$props.templates.submenuicon ? (openBlock(), createBlock(resolveDynamicComponent($props.templates.submenuicon), { + key: 0, + root: $props.root, + active: $options.isItemActive(processedItem), + "class": normalizeClass(_ctx.cx("submenuIcon")) + }, null, 8, ["root", "active", "class"])) : (openBlock(), createBlock(resolveDynamicComponent($props.root ? "AngleDownIcon" : "AngleRightIcon"), mergeProps({ + key: 1, + "class": _ctx.cx("submenuIcon"), + ref_for: true + }, $options.getPTOptions(processedItem, index, "submenuIcon")), null, 16, ["class"]))], 64)) : createCommentVNode("", true)], 16, _hoisted_3$2)), [[_directive_ripple]]) : (openBlock(), createBlock(resolveDynamicComponent($props.templates.item), { + key: 1, + item: processedItem.item, + root: $props.root, + hasSubmenu: $options.getItemProp(processedItem, "items"), + label: $options.getItemLabel(processedItem), + props: $options.getMenuItemProps(processedItem, index) + }, null, 8, ["item", "root", "hasSubmenu", "label", "props"]))], 16, _hoisted_2$2), $options.isItemVisible(processedItem) && $options.isItemGroup(processedItem) ? (openBlock(), createBlock(_component_MenubarSub, { + key: 0, + id: $options.getItemId(processedItem) + "_list", + menuId: $props.menuId, + role: "menu", + style: normalizeStyle(_ctx.sx("submenu", true, { + processedItem + })), + focusedItemId: $props.focusedItemId, + items: processedItem.items, + mobileActive: $props.mobileActive, + activeItemPath: $props.activeItemPath, + templates: $props.templates, + level: $props.level + 1, + "aria-labelledby": $options.getItemLabelId(processedItem), + pt: _ctx.pt, + unstyled: _ctx.unstyled, + onItemClick: _cache[0] || (_cache[0] = function($event) { + return _ctx.$emit("item-click", $event); + }), + onItemMouseenter: _cache[1] || (_cache[1] = function($event) { + return _ctx.$emit("item-mouseenter", $event); + }), + onItemMousemove: _cache[2] || (_cache[2] = function($event) { + return _ctx.$emit("item-mousemove", $event); + }) + }, null, 8, ["id", "menuId", "style", "focusedItemId", "items", "mobileActive", "activeItemPath", "templates", "level", "aria-labelledby", "pt", "unstyled"])) : createCommentVNode("", true)], 16, _hoisted_1$1$1)) : createCommentVNode("", true), $options.isItemVisible(processedItem) && $options.getItemProp(processedItem, "separator") ? (openBlock(), createElementBlock("li", mergeProps({ + key: 1, + id: $options.getItemId(processedItem), + "class": [_ctx.cx("separator"), $options.getItemProp(processedItem, "class")], + style: $options.getItemProp(processedItem, "style"), + role: "separator", + ref_for: true + }, _ctx.ptm("separator")), null, 16, _hoisted_5)) : createCommentVNode("", true)], 64); + }), 128))], 16); +} +__name(render$1, "render$1"); +script$1.render = render$1; +var script = { + name: "Menubar", + "extends": script$2, + inheritAttrs: false, + emits: ["focus", "blur"], + matchMediaListener: null, + data: /* @__PURE__ */ __name(function data8() { + return { + id: this.$attrs.id, + mobileActive: false, + focused: false, + focusedItemInfo: { + index: -1, + level: 0, + parentKey: "" + }, + activeItemPath: [], + dirty: false, + query: null, + queryMatches: false + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId4(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + activeItemPath: /* @__PURE__ */ __name(function activeItemPath2(newPath) { + if (isNotEmpty(newPath)) { + this.bindOutsideClickListener(); + this.bindResizeListener(); + } else { + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + } + }, "activeItemPath") + }, + outsideClickListener: null, + container: null, + menubar: null, + mounted: /* @__PURE__ */ __name(function mounted8() { + this.id = this.id || UniqueComponentId(); + this.bindMatchMediaListener(); + }, "mounted"), + beforeUnmount: /* @__PURE__ */ __name(function beforeUnmount7() { + this.mobileActive = false; + this.unbindOutsideClickListener(); + this.unbindResizeListener(); + this.unbindMatchMediaListener(); + if (this.container) { + ZIndex.clear(this.container); + } + this.container = null; + }, "beforeUnmount"), + methods: { + getItemProp: /* @__PURE__ */ __name(function getItemProp4(item3, name) { + return item3 ? resolve(item3[name]) : void 0; + }, "getItemProp"), + getItemLabel: /* @__PURE__ */ __name(function getItemLabel4(item3) { + return this.getItemProp(item3, "label"); + }, "getItemLabel"), + isItemDisabled: /* @__PURE__ */ __name(function isItemDisabled4(item3) { + return this.getItemProp(item3, "disabled"); + }, "isItemDisabled"), + isItemVisible: /* @__PURE__ */ __name(function isItemVisible4(item3) { + return this.getItemProp(item3, "visible") !== false; + }, "isItemVisible"), + isItemGroup: /* @__PURE__ */ __name(function isItemGroup4(item3) { + return isNotEmpty(this.getItemProp(item3, "items")); + }, "isItemGroup"), + isItemSeparator: /* @__PURE__ */ __name(function isItemSeparator2(item3) { + return this.getItemProp(item3, "separator"); + }, "isItemSeparator"), + getProccessedItemLabel: /* @__PURE__ */ __name(function getProccessedItemLabel2(processedItem) { + return processedItem ? this.getItemLabel(processedItem.item) : void 0; + }, "getProccessedItemLabel"), + isProccessedItemGroup: /* @__PURE__ */ __name(function isProccessedItemGroup2(processedItem) { + return processedItem && isNotEmpty(processedItem.items); + }, "isProccessedItemGroup"), + toggle: /* @__PURE__ */ __name(function toggle2(event) { + var _this = this; + if (this.mobileActive) { + this.mobileActive = false; + ZIndex.clear(this.menubar); + this.hide(); + } else { + this.mobileActive = true; + ZIndex.set("menu", this.menubar, this.$primevue.config.zIndex.menu); + setTimeout(function() { + _this.show(); + }, 1); + } + this.bindOutsideClickListener(); + event.preventDefault(); + }, "toggle"), + show: /* @__PURE__ */ __name(function show3() { + focus(this.menubar); + }, "show"), + hide: /* @__PURE__ */ __name(function hide3(event, isFocus) { + var _this2 = this; + if (this.mobileActive) { + this.mobileActive = false; + setTimeout(function() { + focus(_this2.$refs.menubutton); + }, 0); + } + this.activeItemPath = []; + this.focusedItemInfo = { + index: -1, + level: 0, + parentKey: "" + }; + isFocus && focus(this.menubar); + this.dirty = false; + }, "hide"), + onFocus: /* @__PURE__ */ __name(function onFocus4(event) { + this.focused = true; + this.focusedItemInfo = this.focusedItemInfo.index !== -1 ? this.focusedItemInfo : { + index: this.findFirstFocusedItemIndex(), + level: 0, + parentKey: "" + }; + this.$emit("focus", event); + }, "onFocus"), + onBlur: /* @__PURE__ */ __name(function onBlur3(event) { + this.focused = false; + this.focusedItemInfo = { + index: -1, + level: 0, + parentKey: "" + }; + this.searchValue = ""; + this.dirty = false; + this.$emit("blur", event); + }, "onBlur"), + onKeyDown: /* @__PURE__ */ __name(function onKeyDown3(event) { + var metaKey = event.metaKey || event.ctrlKey; + switch (event.code) { + case "ArrowDown": + this.onArrowDownKey(event); + break; + case "ArrowUp": + this.onArrowUpKey(event); + break; + case "ArrowLeft": + this.onArrowLeftKey(event); + break; + case "ArrowRight": + this.onArrowRightKey(event); + break; + case "Home": + this.onHomeKey(event); + break; + case "End": + this.onEndKey(event); + break; + case "Space": + this.onSpaceKey(event); + break; + case "Enter": + case "NumpadEnter": + this.onEnterKey(event); + break; + case "Escape": + this.onEscapeKey(event); + break; + case "Tab": + this.onTabKey(event); + break; + case "PageDown": + case "PageUp": + case "Backspace": + case "ShiftLeft": + case "ShiftRight": + break; + default: + if (!metaKey && isPrintableCharacter(event.key)) { + this.searchItems(event, event.key); + } + break; + } + }, "onKeyDown"), + onItemChange: /* @__PURE__ */ __name(function onItemChange2(event) { + var processedItem = event.processedItem, isFocus = event.isFocus; + if (isEmpty(processedItem)) return; + var index = processedItem.index, key = processedItem.key, level = processedItem.level, parentKey = processedItem.parentKey, items = processedItem.items; + var grouped = isNotEmpty(items); + var activeItemPath3 = this.activeItemPath.filter(function(p) { + return p.parentKey !== parentKey && p.parentKey !== key; + }); + grouped && activeItemPath3.push(processedItem); + this.focusedItemInfo = { + index, + level, + parentKey + }; + this.activeItemPath = activeItemPath3; + grouped && (this.dirty = true); + isFocus && focus(this.menubar); + }, "onItemChange"), + onItemClick: /* @__PURE__ */ __name(function onItemClick4(event) { + var originalEvent = event.originalEvent, processedItem = event.processedItem; + var grouped = this.isProccessedItemGroup(processedItem); + var root11 = isEmpty(processedItem.parent); + var selected = this.isSelected(processedItem); + if (selected) { + var index = processedItem.index, key = processedItem.key, level = processedItem.level, parentKey = processedItem.parentKey; + this.activeItemPath = this.activeItemPath.filter(function(p) { + return key !== p.key && key.startsWith(p.key); + }); + this.focusedItemInfo = { + index, + level, + parentKey + }; + this.dirty = !root11; + focus(this.menubar); + } else { + if (grouped) { + this.onItemChange(event); + } else { + var rootProcessedItem = root11 ? processedItem : this.activeItemPath.find(function(p) { + return p.parentKey === ""; + }); + this.hide(originalEvent); + this.changeFocusedItemIndex(originalEvent, rootProcessedItem ? rootProcessedItem.index : -1); + this.mobileActive = false; + focus(this.menubar); + } + } + }, "onItemClick"), + onItemMouseEnter: /* @__PURE__ */ __name(function onItemMouseEnter4(event) { + if (this.dirty) { + this.onItemChange(event); + } + }, "onItemMouseEnter"), + onItemMouseMove: /* @__PURE__ */ __name(function onItemMouseMove4(event) { + if (this.focused) { + this.changeFocusedItemIndex(event, event.processedItem.index); + } + }, "onItemMouseMove"), + menuButtonClick: /* @__PURE__ */ __name(function menuButtonClick(event) { + this.toggle(event); + }, "menuButtonClick"), + menuButtonKeydown: /* @__PURE__ */ __name(function menuButtonKeydown(event) { + (event.code === "Enter" || event.code === "NumpadEnter" || event.code === "Space") && this.menuButtonClick(event); + }, "menuButtonKeydown"), + onArrowDownKey: /* @__PURE__ */ __name(function onArrowDownKey3(event) { + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var root11 = processedItem ? isEmpty(processedItem.parent) : null; + if (root11) { + var grouped = this.isProccessedItemGroup(processedItem); + if (grouped) { + this.onItemChange({ + originalEvent: event, + processedItem + }); + this.focusedItemInfo = { + index: -1, + parentKey: processedItem.key + }; + this.onArrowRightKey(event); + } + } else { + var itemIndex = this.focusedItemInfo.index !== -1 ? this.findNextItemIndex(this.focusedItemInfo.index) : this.findFirstFocusedItemIndex(); + this.changeFocusedItemIndex(event, itemIndex); + } + event.preventDefault(); + }, "onArrowDownKey"), + onArrowUpKey: /* @__PURE__ */ __name(function onArrowUpKey3(event) { + var _this3 = this; + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var root11 = isEmpty(processedItem.parent); + if (root11) { + var grouped = this.isProccessedItemGroup(processedItem); + if (grouped) { + this.onItemChange({ + originalEvent: event, + processedItem + }); + this.focusedItemInfo = { + index: -1, + parentKey: processedItem.key + }; + var itemIndex = this.findLastItemIndex(); + this.changeFocusedItemIndex(event, itemIndex); + } + } else { + var parentItem = this.activeItemPath.find(function(p) { + return p.key === processedItem.parentKey; + }); + if (this.focusedItemInfo.index === 0) { + this.focusedItemInfo = { + index: -1, + parentKey: parentItem ? parentItem.parentKey : "" + }; + this.searchValue = ""; + this.onArrowLeftKey(event); + this.activeItemPath = this.activeItemPath.filter(function(p) { + return p.parentKey !== _this3.focusedItemInfo.parentKey; + }); + } else { + var _itemIndex = this.focusedItemInfo.index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo.index) : this.findLastFocusedItemIndex(); + this.changeFocusedItemIndex(event, _itemIndex); + } + } + event.preventDefault(); + }, "onArrowUpKey"), + onArrowLeftKey: /* @__PURE__ */ __name(function onArrowLeftKey4(event) { + var _this4 = this; + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var parentItem = processedItem ? this.activeItemPath.find(function(p) { + return p.key === processedItem.parentKey; + }) : null; + if (parentItem) { + this.onItemChange({ + originalEvent: event, + processedItem: parentItem + }); + this.activeItemPath = this.activeItemPath.filter(function(p) { + return p.parentKey !== _this4.focusedItemInfo.parentKey; + }); + event.preventDefault(); + } else { + var itemIndex = this.focusedItemInfo.index !== -1 ? this.findPrevItemIndex(this.focusedItemInfo.index) : this.findLastFocusedItemIndex(); + this.changeFocusedItemIndex(event, itemIndex); + event.preventDefault(); + } + }, "onArrowLeftKey"), + onArrowRightKey: /* @__PURE__ */ __name(function onArrowRightKey4(event) { + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var parentItem = processedItem ? this.activeItemPath.find(function(p) { + return p.key === processedItem.parentKey; + }) : null; + if (parentItem) { + var grouped = this.isProccessedItemGroup(processedItem); + if (grouped) { + this.onItemChange({ + originalEvent: event, + processedItem + }); + this.focusedItemInfo = { + index: -1, + parentKey: processedItem.key + }; + this.onArrowDownKey(event); + } + } else { + var itemIndex = this.focusedItemInfo.index !== -1 ? this.findNextItemIndex(this.focusedItemInfo.index) : this.findFirstFocusedItemIndex(); + this.changeFocusedItemIndex(event, itemIndex); + event.preventDefault(); + } + }, "onArrowRightKey"), + onHomeKey: /* @__PURE__ */ __name(function onHomeKey4(event) { + this.changeFocusedItemIndex(event, this.findFirstItemIndex()); + event.preventDefault(); + }, "onHomeKey"), + onEndKey: /* @__PURE__ */ __name(function onEndKey4(event) { + this.changeFocusedItemIndex(event, this.findLastItemIndex()); + event.preventDefault(); + }, "onEndKey"), + onEnterKey: /* @__PURE__ */ __name(function onEnterKey4(event) { + if (this.focusedItemInfo.index !== -1) { + var element = findSingle(this.menubar, 'li[id="'.concat("".concat(this.focusedItemId), '"]')); + var anchorElement = element && findSingle(element, 'a[data-pc-section="itemlink"]'); + anchorElement ? anchorElement.click() : element && element.click(); + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var grouped = this.isProccessedItemGroup(processedItem); + !grouped && (this.focusedItemInfo.index = this.findFirstFocusedItemIndex()); + } + event.preventDefault(); + }, "onEnterKey"), + onSpaceKey: /* @__PURE__ */ __name(function onSpaceKey2(event) { + this.onEnterKey(event); + }, "onSpaceKey"), + onEscapeKey: /* @__PURE__ */ __name(function onEscapeKey3(event) { + if (this.focusedItemInfo.level !== 0) { + var _focusedItemInfo = this.focusedItemInfo; + this.hide(event, false); + this.focusedItemInfo = { + index: Number(_focusedItemInfo.parentKey.split("_")[0]), + level: 0, + parentKey: "" + }; + } + event.preventDefault(); + }, "onEscapeKey"), + onTabKey: /* @__PURE__ */ __name(function onTabKey3(event) { + if (this.focusedItemInfo.index !== -1) { + var processedItem = this.visibleItems[this.focusedItemInfo.index]; + var grouped = this.isProccessedItemGroup(processedItem); + !grouped && this.onItemChange({ + originalEvent: event, + processedItem + }); + } + this.hide(); + }, "onTabKey"), + bindOutsideClickListener: /* @__PURE__ */ __name(function bindOutsideClickListener3() { + var _this5 = this; + if (!this.outsideClickListener) { + this.outsideClickListener = function(event) { + var isOutsideContainer = _this5.container && !_this5.container.contains(event.target); + var isOutsideTarget = !(_this5.target && (_this5.target === event.target || _this5.target.contains(event.target))); + if (isOutsideContainer && isOutsideTarget) { + _this5.hide(); + } + }; + document.addEventListener("click", this.outsideClickListener); + } + }, "bindOutsideClickListener"), + unbindOutsideClickListener: /* @__PURE__ */ __name(function unbindOutsideClickListener3() { + if (this.outsideClickListener) { + document.removeEventListener("click", this.outsideClickListener); + this.outsideClickListener = null; + } + }, "unbindOutsideClickListener"), + bindResizeListener: /* @__PURE__ */ __name(function bindResizeListener3() { + var _this6 = this; + if (!this.resizeListener) { + this.resizeListener = function(event) { + if (!isTouchDevice()) { + _this6.hide(event, true); + } + _this6.mobileActive = false; + }; + window.addEventListener("resize", this.resizeListener); + } + }, "bindResizeListener"), + unbindResizeListener: /* @__PURE__ */ __name(function unbindResizeListener3() { + if (this.resizeListener) { + window.removeEventListener("resize", this.resizeListener); + this.resizeListener = null; + } + }, "unbindResizeListener"), + bindMatchMediaListener: /* @__PURE__ */ __name(function bindMatchMediaListener() { + var _this7 = this; + if (!this.matchMediaListener) { + var query = matchMedia("(max-width: ".concat(this.breakpoint, ")")); + this.query = query; + this.queryMatches = query.matches; + this.matchMediaListener = function() { + _this7.queryMatches = query.matches; + _this7.mobileActive = false; + }; + this.query.addEventListener("change", this.matchMediaListener); + } + }, "bindMatchMediaListener"), + unbindMatchMediaListener: /* @__PURE__ */ __name(function unbindMatchMediaListener() { + if (this.matchMediaListener) { + this.query.removeEventListener("change", this.matchMediaListener); + this.matchMediaListener = null; + } + }, "unbindMatchMediaListener"), + isItemMatched: /* @__PURE__ */ __name(function isItemMatched2(processedItem) { + var _this$getProccessedIt; + return this.isValidItem(processedItem) && ((_this$getProccessedIt = this.getProccessedItemLabel(processedItem)) === null || _this$getProccessedIt === void 0 ? void 0 : _this$getProccessedIt.toLocaleLowerCase().startsWith(this.searchValue.toLocaleLowerCase())); + }, "isItemMatched"), + isValidItem: /* @__PURE__ */ __name(function isValidItem2(processedItem) { + return !!processedItem && !this.isItemDisabled(processedItem.item) && !this.isItemSeparator(processedItem.item) && this.isItemVisible(processedItem.item); + }, "isValidItem"), + isValidSelectedItem: /* @__PURE__ */ __name(function isValidSelectedItem2(processedItem) { + return this.isValidItem(processedItem) && this.isSelected(processedItem); + }, "isValidSelectedItem"), + isSelected: /* @__PURE__ */ __name(function isSelected3(processedItem) { + return this.activeItemPath.some(function(p) { + return p.key === processedItem.key; + }); + }, "isSelected"), + findFirstItemIndex: /* @__PURE__ */ __name(function findFirstItemIndex2() { + var _this8 = this; + return this.visibleItems.findIndex(function(processedItem) { + return _this8.isValidItem(processedItem); + }); + }, "findFirstItemIndex"), + findLastItemIndex: /* @__PURE__ */ __name(function findLastItemIndex2() { + var _this9 = this; + return findLastIndex(this.visibleItems, function(processedItem) { + return _this9.isValidItem(processedItem); + }); + }, "findLastItemIndex"), + findNextItemIndex: /* @__PURE__ */ __name(function findNextItemIndex2(index) { + var _this10 = this; + var matchedItemIndex = index < this.visibleItems.length - 1 ? this.visibleItems.slice(index + 1).findIndex(function(processedItem) { + return _this10.isValidItem(processedItem); + }) : -1; + return matchedItemIndex > -1 ? matchedItemIndex + index + 1 : index; + }, "findNextItemIndex"), + findPrevItemIndex: /* @__PURE__ */ __name(function findPrevItemIndex2(index) { + var _this11 = this; + var matchedItemIndex = index > 0 ? findLastIndex(this.visibleItems.slice(0, index), function(processedItem) { + return _this11.isValidItem(processedItem); + }) : -1; + return matchedItemIndex > -1 ? matchedItemIndex : index; + }, "findPrevItemIndex"), + findSelectedItemIndex: /* @__PURE__ */ __name(function findSelectedItemIndex2() { + var _this12 = this; + return this.visibleItems.findIndex(function(processedItem) { + return _this12.isValidSelectedItem(processedItem); + }); + }, "findSelectedItemIndex"), + findFirstFocusedItemIndex: /* @__PURE__ */ __name(function findFirstFocusedItemIndex2() { + var selectedIndex = this.findSelectedItemIndex(); + return selectedIndex < 0 ? this.findFirstItemIndex() : selectedIndex; + }, "findFirstFocusedItemIndex"), + findLastFocusedItemIndex: /* @__PURE__ */ __name(function findLastFocusedItemIndex2() { + var selectedIndex = this.findSelectedItemIndex(); + return selectedIndex < 0 ? this.findLastItemIndex() : selectedIndex; + }, "findLastFocusedItemIndex"), + searchItems: /* @__PURE__ */ __name(function searchItems2(event, _char) { + var _this13 = this; + this.searchValue = (this.searchValue || "") + _char; + var itemIndex = -1; + var matched = false; + if (this.focusedItemInfo.index !== -1) { + itemIndex = this.visibleItems.slice(this.focusedItemInfo.index).findIndex(function(processedItem) { + return _this13.isItemMatched(processedItem); + }); + itemIndex = itemIndex === -1 ? this.visibleItems.slice(0, this.focusedItemInfo.index).findIndex(function(processedItem) { + return _this13.isItemMatched(processedItem); + }) : itemIndex + this.focusedItemInfo.index; + } else { + itemIndex = this.visibleItems.findIndex(function(processedItem) { + return _this13.isItemMatched(processedItem); + }); + } + if (itemIndex !== -1) { + matched = true; + } + if (itemIndex === -1 && this.focusedItemInfo.index === -1) { + itemIndex = this.findFirstFocusedItemIndex(); + } + if (itemIndex !== -1) { + this.changeFocusedItemIndex(event, itemIndex); + } + if (this.searchTimeout) { + clearTimeout(this.searchTimeout); + } + this.searchTimeout = setTimeout(function() { + _this13.searchValue = ""; + _this13.searchTimeout = null; + }, 500); + return matched; + }, "searchItems"), + changeFocusedItemIndex: /* @__PURE__ */ __name(function changeFocusedItemIndex2(event, index) { + if (this.focusedItemInfo.index !== index) { + this.focusedItemInfo.index = index; + this.scrollInView(); + } + }, "changeFocusedItemIndex"), + scrollInView: /* @__PURE__ */ __name(function scrollInView4() { + var index = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : -1; + var id2 = index !== -1 ? "".concat(this.id, "_").concat(index) : this.focusedItemId; + var element = findSingle(this.menubar, 'li[id="'.concat(id2, '"]')); + if (element) { + element.scrollIntoView && element.scrollIntoView({ + block: "nearest", + inline: "start" + }); + } + }, "scrollInView"), + createProcessedItems: /* @__PURE__ */ __name(function createProcessedItems2(items) { + var _this14 = this; + var level = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : 0; + var parent = arguments.length > 2 && arguments[2] !== void 0 ? arguments[2] : {}; + var parentKey = arguments.length > 3 && arguments[3] !== void 0 ? arguments[3] : ""; + var processedItems3 = []; + items && items.forEach(function(item3, index) { + var key = (parentKey !== "" ? parentKey + "_" : "") + index; + var newItem = { + item: item3, + index, + level, + key, + parent, + parentKey + }; + newItem["items"] = _this14.createProcessedItems(item3.items, level + 1, newItem, key); + processedItems3.push(newItem); + }); + return processedItems3; + }, "createProcessedItems"), + containerRef: /* @__PURE__ */ __name(function containerRef3(el) { + this.container = el; + }, "containerRef"), + menubarRef: /* @__PURE__ */ __name(function menubarRef2(el) { + this.menubar = el ? el.$el : void 0; + }, "menubarRef") + }, + computed: { + processedItems: /* @__PURE__ */ __name(function processedItems2() { + return this.createProcessedItems(this.model || []); + }, "processedItems"), + visibleItems: /* @__PURE__ */ __name(function visibleItems2() { + var _this15 = this; + var processedItem = this.activeItemPath.find(function(p) { + return p.key === _this15.focusedItemInfo.parentKey; + }); + return processedItem ? processedItem.items : this.processedItems; + }, "visibleItems"), + focusedItemId: /* @__PURE__ */ __name(function focusedItemId2() { + return this.focusedItemInfo.index !== -1 ? "".concat(this.id).concat(isNotEmpty(this.focusedItemInfo.parentKey) ? "_" + this.focusedItemInfo.parentKey : "", "_").concat(this.focusedItemInfo.index) : null; + }, "focusedItemId") + }, + components: { + MenubarSub: script$1, + BarsIcon: script$D + } +}; +function _typeof(o) { + "@babel/helpers - typeof"; + return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function(o2) { + return typeof o2; + } : function(o2) { + return o2 && "function" == typeof Symbol && o2.constructor === Symbol && o2 !== Symbol.prototype ? "symbol" : typeof o2; + }, _typeof(o); +} +__name(_typeof, "_typeof"); +function ownKeys(e, r) { + var t = Object.keys(e); + if (Object.getOwnPropertySymbols) { + var o = Object.getOwnPropertySymbols(e); + r && (o = o.filter(function(r2) { + return Object.getOwnPropertyDescriptor(e, r2).enumerable; + })), t.push.apply(t, o); + } + return t; +} +__name(ownKeys, "ownKeys"); +function _objectSpread(e) { + for (var r = 1; r < arguments.length; r++) { + var t = null != arguments[r] ? arguments[r] : {}; + r % 2 ? ownKeys(Object(t), true).forEach(function(r2) { + _defineProperty(e, r2, t[r2]); + }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function(r2) { + Object.defineProperty(e, r2, Object.getOwnPropertyDescriptor(t, r2)); + }); + } + return e; +} +__name(_objectSpread, "_objectSpread"); +function _defineProperty(e, r, t) { + return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: true, configurable: true, writable: true }) : e[r] = t, e; +} +__name(_defineProperty, "_defineProperty"); +function _toPropertyKey(t) { + var i = _toPrimitive(t, "string"); + return "symbol" == _typeof(i) ? i : i + ""; +} +__name(_toPropertyKey, "_toPropertyKey"); +function _toPrimitive(t, r) { + if ("object" != _typeof(t) || !t) return t; + var e = t[Symbol.toPrimitive]; + if (void 0 !== e) { + var i = e.call(t, r || "default"); + if ("object" != _typeof(i)) return i; + throw new TypeError("@@toPrimitive must return a primitive value."); + } + return ("string" === r ? String : Number)(t); +} +__name(_toPrimitive, "_toPrimitive"); +var _hoisted_1$2 = ["aria-haspopup", "aria-expanded", "aria-controls", "aria-label"]; +function render(_ctx, _cache, $props, $setup, $data, $options) { + var _component_BarsIcon = resolveComponent("BarsIcon"); + var _component_MenubarSub = resolveComponent("MenubarSub"); + return openBlock(), createElementBlock("div", mergeProps({ + ref: $options.containerRef, + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [_ctx.$slots.start ? (openBlock(), createElementBlock("div", mergeProps({ + key: 0, + "class": _ctx.cx("start") + }, _ctx.ptm("start")), [renderSlot(_ctx.$slots, "start")], 16)) : createCommentVNode("", true), renderSlot(_ctx.$slots, _ctx.$slots.button ? "button" : "menubutton", { + id: $data.id, + "class": normalizeClass(_ctx.cx("button")), + toggleCallback: /* @__PURE__ */ __name(function toggleCallback(event) { + return $options.menuButtonClick(event); + }, "toggleCallback") + }, function() { + var _ctx$$primevue$config; + return [_ctx.model && _ctx.model.length > 0 ? (openBlock(), createElementBlock("a", mergeProps({ + key: 0, + ref: "menubutton", + role: "button", + tabindex: "0", + "class": _ctx.cx("button"), + "aria-haspopup": _ctx.model.length && _ctx.model.length > 0 ? true : false, + "aria-expanded": $data.mobileActive, + "aria-controls": $data.id, + "aria-label": (_ctx$$primevue$config = _ctx.$primevue.config.locale.aria) === null || _ctx$$primevue$config === void 0 ? void 0 : _ctx$$primevue$config.navigation, + onClick: _cache[0] || (_cache[0] = function($event) { + return $options.menuButtonClick($event); + }), + onKeydown: _cache[1] || (_cache[1] = function($event) { + return $options.menuButtonKeydown($event); + }) + }, _objectSpread(_objectSpread({}, _ctx.buttonProps), _ctx.ptm("button"))), [renderSlot(_ctx.$slots, _ctx.$slots.buttonicon ? "buttonicon" : "menubuttonicon", {}, function() { + return [createVNode(_component_BarsIcon, normalizeProps(guardReactiveProps(_ctx.ptm("buttonicon"))), null, 16)]; + })], 16, _hoisted_1$2)) : createCommentVNode("", true)]; + }), createVNode(_component_MenubarSub, { + ref: $options.menubarRef, + id: $data.id + "_list", + role: "menubar", + items: $options.processedItems, + templates: _ctx.$slots, + root: true, + mobileActive: $data.mobileActive, + tabindex: "0", + "aria-activedescendant": $data.focused ? $options.focusedItemId : void 0, + menuId: $data.id, + focusedItemId: $data.focused ? $options.focusedItemId : void 0, + activeItemPath: $data.activeItemPath, + level: 0, + "aria-labelledby": _ctx.ariaLabelledby, + "aria-label": _ctx.ariaLabel, + pt: _ctx.pt, + unstyled: _ctx.unstyled, + onFocus: $options.onFocus, + onBlur: $options.onBlur, + onKeydown: $options.onKeyDown, + onItemClick: $options.onItemClick, + onItemMouseenter: $options.onItemMouseEnter, + onItemMousemove: $options.onItemMouseMove + }, null, 8, ["id", "items", "templates", "mobileActive", "aria-activedescendant", "menuId", "focusedItemId", "activeItemPath", "aria-labelledby", "aria-label", "pt", "unstyled", "onFocus", "onBlur", "onKeydown", "onItemClick", "onItemMouseenter", "onItemMousemove"]), _ctx.$slots.end ? (openBlock(), createElementBlock("div", mergeProps({ + key: 1, + "class": _ctx.cx("end") + }, _ctx.ptm("end")), [renderSlot(_ctx.$slots, "end")], 16)) : createCommentVNode("", true)], 16); +} +__name(render, "render"); +script.render = render; +const _withScopeId$1 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-56df69d2"), n = n(), popScopeId(), n), "_withScopeId$1"); +const _hoisted_1$1 = ["href"]; +const _hoisted_2$1 = { class: "p-menubar-item-label" }; +const _hoisted_3$1 = { + key: 1, + class: "ml-auto border border-surface rounded text-muted text-xs text-nowrap p-1 keybinding-tag" +}; +const _sfc_main$2 = /* @__PURE__ */ defineComponent({ + __name: "CommandMenubar", + setup(__props) { + const settingStore = useSettingStore(); + const dropdownDirection = computed( + () => settingStore.get("Comfy.UseNewMenu") === "Top" ? "down" : "up" + ); + const menuItemsStore = useMenuItemStore(); + const { t } = useI18n(); + const translateMenuItem = /* @__PURE__ */ __name((item3) => { + const label = typeof item3.label === "function" ? item3.label() : item3.label; + const translatedLabel = label ? t(`menuLabels.${normalizeI18nKey(label)}`, label) : void 0; + return { + ...item3, + label: translatedLabel, + items: item3.items?.map(translateMenuItem) + }; + }, "translateMenuItem"); + const translatedItems = computed( + () => menuItemsStore.menuItems.map(translateMenuItem) + ); + return (_ctx, _cache) => { + return openBlock(), createBlock(unref(script), { + model: translatedItems.value, + class: "top-menubar border-none p-0 bg-transparent", + pt: { + rootList: "gap-0 flex-nowrap w-auto", + submenu: `dropdown-direction-${dropdownDirection.value}`, + item: "relative" + } + }, { + item: withCtx(({ item: item3, props }) => [ + createBaseVNode("a", mergeProps({ class: "p-menubar-item-link" }, props.action, { + href: item3.url, + target: "_blank" + }), [ + item3.icon ? (openBlock(), createElementBlock("span", { + key: 0, + class: normalizeClass(["p-menubar-item-icon", item3.icon]) + }, null, 2)) : createCommentVNode("", true), + createBaseVNode("span", _hoisted_2$1, toDisplayString(item3.label), 1), + item3?.comfyCommand?.keybinding ? (openBlock(), createElementBlock("span", _hoisted_3$1, toDisplayString(item3.comfyCommand.keybinding.combo.toString()), 1)) : createCommentVNode("", true) + ], 16, _hoisted_1$1) + ]), + _: 1 + }, 8, ["model", "pt"]); + }; + } +}); +const CommandMenubar = /* @__PURE__ */ _export_sfc(_sfc_main$2, [["__scopeId", "data-v-56df69d2"]]); +const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-6e35440f"), n = n(), popScopeId(), n), "_withScopeId"); +const _hoisted_1 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("h1", { class: "comfyui-logo mx-2 app-drag" }, "ComfyUI", -1)); +const _hoisted_2 = { class: "flex-grow min-w-0 app-drag h-full" }; +const _hoisted_3 = { class: "window-actions-spacer flex-shrink-0" }; +const _hoisted_4 = { class: "fixed top-0 left-0 app-drag w-full h-[var(--comfy-topbar-height)]" }; +const _sfc_main$1 = /* @__PURE__ */ defineComponent({ + __name: "TopMenubar", + setup(__props) { + const workspaceState = useWorkspaceStore(); + const settingStore = useSettingStore(); + const workflowTabsPosition = computed( + () => settingStore.get("Comfy.Workflow.WorkflowTabsPosition") + ); + const menuSetting = computed(() => settingStore.get("Comfy.UseNewMenu")); + const betaMenuEnabled = computed(() => menuSetting.value !== "Disabled"); + const teleportTarget = computed( + () => settingStore.get("Comfy.UseNewMenu") === "Top" ? ".comfyui-body-top" : ".comfyui-body-bottom" + ); + const isNativeWindow = computed( + () => isElectron() && settingStore.get("Comfy-Desktop.WindowStyle") === "custom" + ); + const showTopMenu = computed( + () => betaMenuEnabled.value && !workspaceState.focusMode + ); + const menuRight = ref(null); + onMounted(() => { + if (menuRight.value) { + menuRight.value.appendChild(app.menu.element); + } + }); + const topMenuRef = ref(null); + provide("topMenuRef", topMenuRef); + const eventBus = useEventBus("topMenu"); + const isDropZone = ref(false); + const isDroppable = ref(false); + eventBus.on((event, payload) => { + if (event === "updateHighlight") { + isDropZone.value = payload.isDragging; + isDroppable.value = payload.isOverlapping && payload.isDragging; + } + }); + onMounted(() => { + if (isElectron()) { + electronAPI().changeTheme({ + height: topMenuRef.value.getBoundingClientRect().height + }); + } + }); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createElementBlock(Fragment, null, [ + (openBlock(), createBlock(Teleport, { to: teleportTarget.value }, [ + withDirectives(createBaseVNode("div", { + ref_key: "topMenuRef", + ref: topMenuRef, + class: normalizeClass(["comfyui-menu flex items-center", { dropzone: isDropZone.value, "dropzone-active": isDroppable.value }]) + }, [ + _hoisted_1, + createVNode(CommandMenubar), + createBaseVNode("div", _hoisted_2, [ + workflowTabsPosition.value === "Topbar" ? (openBlock(), createBlock(WorkflowTabs, { key: 0 })) : createCommentVNode("", true) + ]), + createBaseVNode("div", { + class: "comfyui-menu-right", + ref_key: "menuRight", + ref: menuRight + }, null, 512), + createVNode(Actionbar), + createVNode(_sfc_main$3, { class: "flex-shrink-0" }), + withDirectives(createVNode(unref(script$d), { + class: "flex-shrink-0", + icon: "pi pi-bars", + severity: "secondary", + text: "", + "aria-label": _ctx.$t("menu.hideMenu"), + onClick: _cache[0] || (_cache[0] = ($event) => unref(workspaceState).focusMode = true), + onContextmenu: unref(showNativeMenu) + }, null, 8, ["aria-label", "onContextmenu"]), [ + [_directive_tooltip, { value: _ctx.$t("menu.hideMenu"), showDelay: 300 }] + ]), + withDirectives(createBaseVNode("div", _hoisted_3, null, 512), [ + [vShow, menuSetting.value !== "Bottom"] + ]) + ], 2), [ + [vShow, showTopMenu.value] + ]) + ], 8, ["to"])), + withDirectives(createBaseVNode("div", _hoisted_4, null, 512), [ + [vShow, isNativeWindow.value && !showTopMenu.value] + ]) + ], 64); + }; + } +}); +const TopMenubar = /* @__PURE__ */ _export_sfc(_sfc_main$1, [["__scopeId", "data-v-6e35440f"]]); +var LatentPreviewMethod = /* @__PURE__ */ ((LatentPreviewMethod2) => { + LatentPreviewMethod2["NoPreviews"] = "none"; + LatentPreviewMethod2["Auto"] = "auto"; + LatentPreviewMethod2["Latent2RGB"] = "latent2rgb"; + LatentPreviewMethod2["TAESD"] = "taesd"; + return LatentPreviewMethod2; +})(LatentPreviewMethod || {}); +var LogLevel = /* @__PURE__ */ ((LogLevel2) => { + LogLevel2["DEBUG"] = "DEBUG"; + LogLevel2["INFO"] = "INFO"; + LogLevel2["WARNING"] = "WARNING"; + LogLevel2["ERROR"] = "ERROR"; + LogLevel2["CRITICAL"] = "CRITICAL"; + return LogLevel2; +})(LogLevel || {}); +var HashFunction = /* @__PURE__ */ ((HashFunction2) => { + HashFunction2["MD5"] = "md5"; + HashFunction2["SHA1"] = "sha1"; + HashFunction2["SHA256"] = "sha256"; + HashFunction2["SHA512"] = "sha512"; + return HashFunction2; +})(HashFunction || {}); +var AutoLaunch = /* @__PURE__ */ ((AutoLaunch2) => { + AutoLaunch2["Auto"] = "auto"; + AutoLaunch2["Disable"] = "disable"; + AutoLaunch2["Enable"] = "enable"; + return AutoLaunch2; +})(AutoLaunch || {}); +var CudaMalloc = /* @__PURE__ */ ((CudaMalloc2) => { + CudaMalloc2["Auto"] = "auto"; + CudaMalloc2["Disable"] = "disable"; + CudaMalloc2["Enable"] = "enable"; + return CudaMalloc2; +})(CudaMalloc || {}); +var FloatingPointPrecision = /* @__PURE__ */ ((FloatingPointPrecision2) => { + FloatingPointPrecision2["AUTO"] = "auto"; + FloatingPointPrecision2["FP64"] = "fp64"; + FloatingPointPrecision2["FP32"] = "fp32"; + FloatingPointPrecision2["FP16"] = "fp16"; + FloatingPointPrecision2["BF16"] = "bf16"; + FloatingPointPrecision2["FP8E4M3FN"] = "fp8_e4m3fn"; + FloatingPointPrecision2["FP8E5M2"] = "fp8_e5m2"; + return FloatingPointPrecision2; +})(FloatingPointPrecision || {}); +var CrossAttentionMethod = /* @__PURE__ */ ((CrossAttentionMethod2) => { + CrossAttentionMethod2["Auto"] = "auto"; + CrossAttentionMethod2["Split"] = "split"; + CrossAttentionMethod2["Quad"] = "quad"; + CrossAttentionMethod2["Pytorch"] = "pytorch"; + return CrossAttentionMethod2; +})(CrossAttentionMethod || {}); +var VramManagement = /* @__PURE__ */ ((VramManagement2) => { + VramManagement2["Auto"] = "auto"; + VramManagement2["GPUOnly"] = "gpu-only"; + VramManagement2["HighVram"] = "highvram"; + VramManagement2["NormalVram"] = "normalvram"; + VramManagement2["LowVram"] = "lowvram"; + VramManagement2["NoVram"] = "novram"; + VramManagement2["CPU"] = "cpu"; + return VramManagement2; +})(VramManagement || {}); +const WEB_ONLY_CONFIG_ITEMS = [ + // Launch behavior + { + id: "auto-launch", + name: "Automatically opens in the browser on startup", + category: ["Launch"], + type: "combo", + options: Object.values(AutoLaunch), + defaultValue: AutoLaunch.Auto, + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case AutoLaunch.Auto: + return {}; + case AutoLaunch.Enable: + return { + ["auto-launch"]: true + }; + case AutoLaunch.Disable: + return { + ["disable-auto-launch"]: true + }; + } + }, "getValue") + } +]; +const SERVER_CONFIG_ITEMS = [ + // Network settings + { + id: "listen", + name: "Host: The IP address to listen on", + category: ["Network"], + type: "text", + defaultValue: "127.0.0.1" + }, + { + id: "port", + name: "Port: The port to listen on", + category: ["Network"], + type: "number", + // The default launch port for desktop app is 8000 instead of 8188. + defaultValue: 8e3 + }, + { + id: "tls-keyfile", + name: "TLS Key File: Path to TLS key file for HTTPS", + category: ["Network"], + type: "text", + defaultValue: "" + }, + { + id: "tls-certfile", + name: "TLS Certificate File: Path to TLS certificate file for HTTPS", + category: ["Network"], + type: "text", + defaultValue: "" + }, + { + id: "enable-cors-header", + name: 'Enable CORS header: Use "*" for all origins or specify domain', + category: ["Network"], + type: "text", + defaultValue: "" + }, + { + id: "max-upload-size", + name: "Maximum upload size (MB)", + category: ["Network"], + type: "number", + defaultValue: 100 + }, + // CUDA settings + { + id: "cuda-device", + name: "CUDA device index to use", + category: ["CUDA"], + type: "number", + defaultValue: null + }, + { + id: "cuda-malloc", + name: "Use CUDA malloc for memory allocation", + category: ["CUDA"], + type: "combo", + options: Object.values(CudaMalloc), + defaultValue: CudaMalloc.Auto, + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case CudaMalloc.Auto: + return {}; + case CudaMalloc.Enable: + return { + ["cuda-malloc"]: true + }; + case CudaMalloc.Disable: + return { + ["disable-cuda-malloc"]: true + }; + } + }, "getValue") + }, + // Precision settings + { + id: "global-precision", + name: "Global floating point precision", + category: ["Inference"], + type: "combo", + options: [ + FloatingPointPrecision.AUTO, + FloatingPointPrecision.FP32, + FloatingPointPrecision.FP16 + ], + defaultValue: FloatingPointPrecision.AUTO, + tooltip: "Global floating point precision", + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case FloatingPointPrecision.AUTO: + return {}; + case FloatingPointPrecision.FP32: + return { + ["force-fp32"]: true + }; + case FloatingPointPrecision.FP16: + return { + ["force-fp16"]: true + }; + default: + return {}; + } + }, "getValue") + }, + // UNET precision + { + id: "unet-precision", + name: "UNET precision", + category: ["Inference"], + type: "combo", + options: [ + FloatingPointPrecision.AUTO, + FloatingPointPrecision.FP64, + FloatingPointPrecision.FP32, + FloatingPointPrecision.FP16, + FloatingPointPrecision.BF16, + FloatingPointPrecision.FP8E4M3FN, + FloatingPointPrecision.FP8E5M2 + ], + defaultValue: FloatingPointPrecision.AUTO, + tooltip: "UNET precision", + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case FloatingPointPrecision.AUTO: + return {}; + default: + return { + [`${value.toLowerCase()}-unet`]: true + }; + } + }, "getValue") + }, + // VAE settings + { + id: "vae-precision", + name: "VAE precision", + category: ["Inference"], + type: "combo", + options: [ + FloatingPointPrecision.AUTO, + FloatingPointPrecision.FP16, + FloatingPointPrecision.FP32, + FloatingPointPrecision.BF16 + ], + defaultValue: FloatingPointPrecision.AUTO, + tooltip: "VAE precision", + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case FloatingPointPrecision.AUTO: + return {}; + default: + return { + [`${value.toLowerCase()}-vae`]: true + }; + } + }, "getValue") + }, + { + id: "cpu-vae", + name: "Run VAE on CPU", + category: ["Inference"], + type: "boolean", + defaultValue: false + }, + // Text Encoder settings + { + id: "text-encoder-precision", + name: "Text Encoder precision", + category: ["Inference"], + type: "combo", + options: [ + FloatingPointPrecision.AUTO, + FloatingPointPrecision.FP8E4M3FN, + FloatingPointPrecision.FP8E5M2, + FloatingPointPrecision.FP16, + FloatingPointPrecision.FP32 + ], + defaultValue: FloatingPointPrecision.AUTO, + tooltip: "Text Encoder precision", + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case FloatingPointPrecision.AUTO: + return {}; + default: + return { + [`${value.toLowerCase()}-text-enc`]: true + }; + } + }, "getValue") + }, + // Memory and performance settings + { + id: "force-channels-last", + name: "Force channels-last memory format", + category: ["Memory"], + type: "boolean", + defaultValue: false + }, + { + id: "directml", + name: "DirectML device index", + category: ["Memory"], + type: "number", + defaultValue: null + }, + { + id: "disable-ipex-optimize", + name: "Disable IPEX optimization", + category: ["Memory"], + type: "boolean", + defaultValue: false + }, + // Preview settings + { + id: "preview-method", + name: "Method used for latent previews", + category: ["Preview"], + type: "combo", + options: Object.values(LatentPreviewMethod), + defaultValue: LatentPreviewMethod.NoPreviews + }, + { + id: "preview-size", + name: "Size of preview images", + category: ["Preview"], + type: "slider", + defaultValue: 512, + attrs: { + min: 128, + max: 2048, + step: 128 + } + }, + // Cache settings + { + id: "cache-classic", + name: "Use classic cache system", + category: ["Cache"], + type: "boolean", + defaultValue: false + }, + { + id: "cache-lru", + name: "Use LRU caching with a maximum of N node results cached.", + category: ["Cache"], + type: "number", + defaultValue: null, + tooltip: "May use more RAM/VRAM." + }, + // Attention settings + { + id: "cross-attention-method", + name: "Cross attention method", + category: ["Attention"], + type: "combo", + options: Object.values(CrossAttentionMethod), + defaultValue: CrossAttentionMethod.Auto, + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case CrossAttentionMethod.Auto: + return {}; + default: + return { + [`use-${value.toLowerCase()}-cross-attention`]: true + }; + } + }, "getValue") + }, + { + id: "disable-xformers", + name: "Disable xFormers optimization", + type: "boolean", + defaultValue: false + }, + { + id: "force-upcast-attention", + name: "Force attention upcast", + category: ["Attention"], + type: "boolean", + defaultValue: false + }, + { + id: "dont-upcast-attention", + name: "Prevent attention upcast", + category: ["Attention"], + type: "boolean", + defaultValue: false + }, + // VRAM management + { + id: "vram-management", + name: "VRAM management mode", + category: ["Memory"], + type: "combo", + options: Object.values(VramManagement), + defaultValue: VramManagement.Auto, + getValue: /* @__PURE__ */ __name((value) => { + switch (value) { + case VramManagement.Auto: + return {}; + default: + return { + [value]: true + }; + } + }, "getValue") + }, + { + id: "reserve-vram", + name: "Reserved VRAM (GB)", + category: ["Memory"], + type: "number", + defaultValue: null, + tooltip: "Set the amount of vram in GB you want to reserve for use by your OS/other software. By default some amount is reverved depending on your OS." + }, + // Misc settings + { + id: "default-hashing-function", + name: "Default hashing function for model files", + type: "combo", + options: Object.values(HashFunction), + defaultValue: HashFunction.SHA256 + }, + { + id: "disable-smart-memory", + name: "Disable smart memory management", + tooltip: "Force ComfyUI to aggressively offload to regular ram instead of keeping models in vram when it can.", + category: ["Memory"], + type: "boolean", + defaultValue: false + }, + { + id: "deterministic", + name: "Make pytorch use slower deterministic algorithms when it can.", + type: "boolean", + defaultValue: false, + tooltip: "Note that this might not make images deterministic in all cases." + }, + { + id: "fast", + name: "Enable some untested and potentially quality deteriorating optimizations.", + type: "boolean", + defaultValue: false + }, + { + id: "dont-print-server", + name: "Don't print server output to console.", + type: "boolean", + defaultValue: false + }, + { + id: "disable-metadata", + name: "Disable saving prompt metadata in files.", + type: "boolean", + defaultValue: false + }, + { + id: "disable-all-custom-nodes", + name: "Disable loading all custom nodes.", + type: "boolean", + defaultValue: false + }, + { + id: "log-level", + name: "Logging verbosity level", + type: "combo", + options: Object.values(LogLevel), + defaultValue: LogLevel.INFO, + getValue: /* @__PURE__ */ __name((value) => { + return { + verbose: value + }; + }, "getValue") + }, + // Directories + { + id: "input-directory", + name: "Input directory", + category: ["Directories"], + type: "text", + defaultValue: "" + }, + { + id: "output-directory", + name: "Output directory", + category: ["Directories"], + type: "text", + defaultValue: "" + } +]; +function useCoreCommands() { + const workflowService = useWorkflowService(); + const workflowStore = useWorkflowStore(); + const dialogService = useDialogService(); + const colorPaletteStore = useColorPaletteStore(); + const getTracker = /* @__PURE__ */ __name(() => workflowStore.activeWorkflow?.changeTracker, "getTracker"); + const getSelectedNodes = /* @__PURE__ */ __name(() => { + const selectedNodes = app.canvas.selected_nodes; + const result = []; + if (selectedNodes) { + for (const i in selectedNodes) { + const node = selectedNodes[i]; + result.push(node); + } + } + return result; + }, "getSelectedNodes"); + const toggleSelectedNodesMode = /* @__PURE__ */ __name((mode) => { + getSelectedNodes().forEach((node) => { + if (node.mode === mode) { + node.mode = LGraphEventMode.ALWAYS; + } else { + node.mode = mode; + } + }); + }, "toggleSelectedNodesMode"); + return [ + { + id: "Comfy.NewBlankWorkflow", + icon: "pi pi-plus", + label: "New Blank Workflow", + menubarLabel: "New", + function: /* @__PURE__ */ __name(() => workflowService.loadBlankWorkflow(), "function") + }, + { + id: "Comfy.OpenWorkflow", + icon: "pi pi-folder-open", + label: "Open Workflow", + menubarLabel: "Open", + function: /* @__PURE__ */ __name(() => { + app.ui.loadFile(); + }, "function") + }, + { + id: "Comfy.LoadDefaultWorkflow", + icon: "pi pi-code", + label: "Load Default Workflow", + function: /* @__PURE__ */ __name(() => workflowService.loadDefaultWorkflow(), "function") + }, + { + id: "Comfy.SaveWorkflow", + icon: "pi pi-save", + label: "Save Workflow", + menubarLabel: "Save", + function: /* @__PURE__ */ __name(async () => { + const workflow = useWorkflowStore().activeWorkflow; + if (!workflow) return; + await workflowService.saveWorkflow(workflow); + }, "function") + }, + { + id: "Comfy.SaveWorkflowAs", + icon: "pi pi-save", + label: "Save Workflow As", + menubarLabel: "Save As", + function: /* @__PURE__ */ __name(async () => { + const workflow = useWorkflowStore().activeWorkflow; + if (!workflow) return; + await workflowService.saveWorkflowAs(workflow); + }, "function") + }, + { + id: "Comfy.ExportWorkflow", + icon: "pi pi-download", + label: "Export Workflow", + menubarLabel: "Export", + function: /* @__PURE__ */ __name(() => { + workflowService.exportWorkflow("workflow", "workflow"); + }, "function") + }, + { + id: "Comfy.ExportWorkflowAPI", + icon: "pi pi-download", + label: "Export Workflow (API Format)", + menubarLabel: "Export (API)", + function: /* @__PURE__ */ __name(() => { + workflowService.exportWorkflow("workflow_api", "output"); + }, "function") + }, + { + id: "Comfy.Undo", + icon: "pi pi-undo", + label: "Undo", + function: /* @__PURE__ */ __name(async () => { + await getTracker()?.undo?.(); + }, "function") + }, + { + id: "Comfy.Redo", + icon: "pi pi-refresh", + label: "Redo", + function: /* @__PURE__ */ __name(async () => { + await getTracker()?.redo?.(); + }, "function") + }, + { + id: "Comfy.ClearWorkflow", + icon: "pi pi-trash", + label: "Clear Workflow", + function: /* @__PURE__ */ __name(() => { + const settingStore = useSettingStore(); + if (!settingStore.get("Comfy.ComfirmClear") || confirm("Clear workflow?")) { + app.clean(); + app.graph.clear(); + api.dispatchCustomEvent("graphCleared"); + } + }, "function") + }, + { + id: "Comfy.Canvas.ResetView", + icon: "pi pi-expand", + label: "Reset View", + function: /* @__PURE__ */ __name(() => { + app.resetView(); + }, "function") + }, + { + id: "Comfy.OpenClipspace", + icon: "pi pi-clipboard", + label: "Clipspace", + function: /* @__PURE__ */ __name(() => { + app.openClipspace(); + }, "function") + }, + { + id: "Comfy.RefreshNodeDefinitions", + icon: "pi pi-refresh", + label: "Refresh Node Definitions", + function: /* @__PURE__ */ __name(async () => { + await app.refreshComboInNodes(); + }, "function") + }, + { + id: "Comfy.Interrupt", + icon: "pi pi-stop", + label: "Interrupt", + function: /* @__PURE__ */ __name(async () => { + await api.interrupt(); + useToastStore().add({ + severity: "info", + summary: "Interrupted", + detail: "Execution has been interrupted", + life: 1e3 + }); + }, "function") + }, + { + id: "Comfy.ClearPendingTasks", + icon: "pi pi-stop", + label: "Clear Pending Tasks", + function: /* @__PURE__ */ __name(async () => { + await useQueueStore().clear(["queue"]); + useToastStore().add({ + severity: "info", + summary: "Confirmed", + detail: "Pending tasks deleted", + life: 3e3 + }); + }, "function") + }, + { + id: "Comfy.BrowseTemplates", + icon: "pi pi-folder-open", + label: "Browse Templates", + function: /* @__PURE__ */ __name(() => { + dialogService.showTemplateWorkflowsDialog(); + }, "function") + }, + { + id: "Comfy.Canvas.ZoomIn", + icon: "pi pi-plus", + label: "Zoom In", + function: /* @__PURE__ */ __name(() => { + const ds = app.canvas.ds; + ds.changeScale( + ds.scale * 1.1, + ds.element ? [ds.element.width / 2, ds.element.height / 2] : void 0 + ); + app.canvas.setDirty(true, true); + }, "function") + }, + { + id: "Comfy.Canvas.ZoomOut", + icon: "pi pi-minus", + label: "Zoom Out", + function: /* @__PURE__ */ __name(() => { + const ds = app.canvas.ds; + ds.changeScale( + ds.scale / 1.1, + ds.element ? [ds.element.width / 2, ds.element.height / 2] : void 0 + ); + app.canvas.setDirty(true, true); + }, "function") + }, + { + id: "Comfy.Canvas.FitView", + icon: "pi pi-expand", + label: "Fit view to selected nodes", + function: /* @__PURE__ */ __name(() => { + if (app.canvas.empty) { + useToastStore().add({ + severity: "error", + summary: "Empty canvas", + life: 3e3 + }); + return; + } + app.canvas.fitViewToSelectionAnimated(); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleLock", + icon: "pi pi-lock", + label: "Canvas Toggle Lock", + function: /* @__PURE__ */ __name(() => { + app.canvas["read_only"] = !app.canvas["read_only"]; + }, "function") + }, + { + id: "Comfy.Canvas.ToggleLinkVisibility", + icon: "pi pi-eye", + label: "Canvas Toggle Link Visibility", + versionAdded: "1.3.6", + function: (() => { + const settingStore = useSettingStore(); + let lastLinksRenderMode = LiteGraph.SPLINE_LINK; + return () => { + const currentMode = settingStore.get("Comfy.LinkRenderMode"); + if (currentMode === LiteGraph.HIDDEN_LINK) { + settingStore.set("Comfy.LinkRenderMode", lastLinksRenderMode); + } else { + lastLinksRenderMode = currentMode; + settingStore.set("Comfy.LinkRenderMode", LiteGraph.HIDDEN_LINK); + } + }; + })() + }, + { + id: "Comfy.QueuePrompt", + icon: "pi pi-play", + label: "Queue Prompt", + versionAdded: "1.3.7", + function: /* @__PURE__ */ __name(() => { + const batchCount = useQueueSettingsStore().batchCount; + app.queuePrompt(0, batchCount); + }, "function") + }, + { + id: "Comfy.QueuePromptFront", + icon: "pi pi-play", + label: "Queue Prompt (Front)", + versionAdded: "1.3.7", + function: /* @__PURE__ */ __name(() => { + const batchCount = useQueueSettingsStore().batchCount; + app.queuePrompt(-1, batchCount); + }, "function") + }, + { + id: "Comfy.ShowSettingsDialog", + icon: "pi pi-cog", + label: "Show Settings Dialog", + versionAdded: "1.3.7", + function: /* @__PURE__ */ __name(() => { + dialogService.showSettingsDialog(); + }, "function") + }, + { + id: "Comfy.Graph.GroupSelectedNodes", + icon: "pi pi-sitemap", + label: "Group Selected Nodes", + versionAdded: "1.3.7", + function: /* @__PURE__ */ __name(() => { + const { canvas } = app; + if (!canvas.selectedItems?.size) { + useToastStore().add({ + severity: "error", + summary: "Nothing to group", + detail: "Please select the nodes (or other groups) to create a group for", + life: 3e3 + }); + return; + } + const group = new LGraphGroup(); + const padding = useSettingStore().get( + "Comfy.GroupSelectedNodes.Padding" + ); + group.resizeTo(canvas.selectedItems, padding); + canvas.graph.add(group); + useTitleEditorStore().titleEditorTarget = group; + }, "function") + }, + { + id: "Workspace.NextOpenedWorkflow", + icon: "pi pi-step-forward", + label: "Next Opened Workflow", + versionAdded: "1.3.9", + function: /* @__PURE__ */ __name(() => { + workflowService.loadNextOpenedWorkflow(); + }, "function") + }, + { + id: "Workspace.PreviousOpenedWorkflow", + icon: "pi pi-step-backward", + label: "Previous Opened Workflow", + versionAdded: "1.3.9", + function: /* @__PURE__ */ __name(() => { + workflowService.loadPreviousOpenedWorkflow(); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelectedNodes.Mute", + icon: "pi pi-volume-off", + label: "Mute/Unmute Selected Nodes", + versionAdded: "1.3.11", + function: /* @__PURE__ */ __name(() => { + toggleSelectedNodesMode(LGraphEventMode.NEVER); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelectedNodes.Bypass", + icon: "pi pi-shield", + label: "Bypass/Unbypass Selected Nodes", + versionAdded: "1.3.11", + function: /* @__PURE__ */ __name(() => { + toggleSelectedNodesMode(LGraphEventMode.BYPASS); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelectedNodes.Pin", + icon: "pi pi-pin", + label: "Pin/Unpin Selected Nodes", + versionAdded: "1.3.11", + function: /* @__PURE__ */ __name(() => { + getSelectedNodes().forEach((node) => { + node.pin(!node.pinned); + }); + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelected.Pin", + icon: "pi pi-pin", + label: "Pin/Unpin Selected Items", + versionAdded: "1.3.33", + function: /* @__PURE__ */ __name(() => { + for (const item3 of app.canvas.selectedItems) { + if (item3 instanceof LGraphNode || item3 instanceof LGraphGroup) { + item3.pin(!item3.pinned); + } + } + }, "function") + }, + { + id: "Comfy.Canvas.ToggleSelectedNodes.Collapse", + icon: "pi pi-minus", + label: "Collapse/Expand Selected Nodes", + versionAdded: "1.3.11", + function: /* @__PURE__ */ __name(() => { + getSelectedNodes().forEach((node) => { + node.collapse(); + }); + }, "function") + }, + { + id: "Comfy.ToggleTheme", + icon: "pi pi-moon", + label: "Toggle Theme (Dark/Light)", + versionAdded: "1.3.12", + function: (() => { + let previousDarkTheme = DEFAULT_DARK_COLOR_PALETTE.id; + let previousLightTheme = DEFAULT_LIGHT_COLOR_PALETTE.id; + return () => { + const settingStore = useSettingStore(); + const theme10 = colorPaletteStore.completedActivePalette; + if (theme10.light_theme) { + previousLightTheme = theme10.id; + settingStore.set("Comfy.ColorPalette", previousDarkTheme); + } else { + previousDarkTheme = theme10.id; + settingStore.set("Comfy.ColorPalette", previousLightTheme); + } + }; + })() + }, + { + id: "Workspace.ToggleBottomPanel", + icon: "pi pi-list", + label: "Toggle Bottom Panel", + versionAdded: "1.3.22", + function: /* @__PURE__ */ __name(() => { + useBottomPanelStore().toggleBottomPanel(); + }, "function") + }, + { + id: "Workspace.ToggleFocusMode", + icon: "pi pi-eye", + label: "Toggle Focus Mode", + versionAdded: "1.3.27", + function: /* @__PURE__ */ __name(() => { + useWorkspaceStore().toggleFocusMode(); + }, "function") + }, + { + id: "Comfy.Graph.FitGroupToContents", + icon: "pi pi-expand", + label: "Fit Group To Contents", + versionAdded: "1.4.9", + function: /* @__PURE__ */ __name(() => { + for (const group of app.canvas.selectedItems) { + if (group instanceof LGraphGroup) { + group.recomputeInsideNodes(); + const padding = useSettingStore().get( + "Comfy.GroupSelectedNodes.Padding" + ); + group.resizeTo(group.children, padding); + app.graph.change(); + } + } + }, "function") + }, + { + id: "Comfy.Help.OpenComfyUIIssues", + icon: "pi pi-github", + label: "Open ComfyUI Issues", + menubarLabel: "ComfyUI Issues", + versionAdded: "1.5.5", + function: /* @__PURE__ */ __name(() => { + window.open( + "https://github.com/comfyanonymous/ComfyUI/issues", + "_blank" + ); + }, "function") + }, + { + id: "Comfy.Help.OpenComfyUIDocs", + icon: "pi pi-info-circle", + label: "Open ComfyUI Docs", + menubarLabel: "ComfyUI Docs", + versionAdded: "1.5.5", + function: /* @__PURE__ */ __name(() => { + window.open("https://docs.comfy.org/", "_blank"); + }, "function") + }, + { + id: "Comfy.Help.OpenComfyOrgDiscord", + icon: "pi pi-discord", + label: "Open Comfy-Org Discord", + menubarLabel: "Comfy-Org Discord", + versionAdded: "1.5.5", + function: /* @__PURE__ */ __name(() => { + window.open("https://www.comfy.org/discord", "_blank"); + }, "function") + }, + { + id: "Workspace.SearchBox.Toggle", + icon: "pi pi-search", + label: "Toggle Search Box", + versionAdded: "1.5.7", + function: /* @__PURE__ */ __name(() => { + useSearchBoxStore().toggleVisible(); + }, "function") + }, + { + id: "Comfy.Help.AboutComfyUI", + icon: "pi pi-info-circle", + label: "Open About ComfyUI", + menubarLabel: "About ComfyUI", + versionAdded: "1.6.4", + function: /* @__PURE__ */ __name(() => { + dialogService.showSettingsDialog("about"); + }, "function") + }, + { + id: "Comfy.DuplicateWorkflow", + icon: "pi pi-clone", + label: "Duplicate Current Workflow", + versionAdded: "1.6.15", + function: /* @__PURE__ */ __name(() => { + workflowService.duplicateWorkflow(workflowStore.activeWorkflow); + }, "function") + }, + { + id: "Workspace.CloseWorkflow", + icon: "pi pi-times", + label: "Close Current Workflow", + versionAdded: "1.7.3", + function: /* @__PURE__ */ __name(() => { + if (workflowStore.activeWorkflow) + workflowService.closeWorkflow(workflowStore.activeWorkflow); + }, "function") + } + ]; +} +__name(useCoreCommands, "useCoreCommands"); +function setupAutoQueueHandler() { + const queueCountStore = useQueuePendingTaskCountStore(); + const queueSettingsStore = useQueueSettingsStore(); + let graphHasChanged = false; + let internalCount = 0; + api.addEventListener("graphChanged", () => { + if (queueSettingsStore.mode === "change") { + if (internalCount) { + graphHasChanged = true; + } else { + graphHasChanged = false; + app.queuePrompt(0, queueSettingsStore.batchCount); + internalCount++; + } + } + }); + queueCountStore.$subscribe( + () => { + internalCount = queueCountStore.count; + if (!internalCount && !app.lastExecutionError) { + if (queueSettingsStore.mode === "instant" || queueSettingsStore.mode === "change" && graphHasChanged) { + graphHasChanged = false; + app.queuePrompt(0, queueSettingsStore.batchCount); + } + } + }, + { detached: true } + ); +} +__name(setupAutoQueueHandler, "setupAutoQueueHandler"); +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "GraphView", + setup(__props) { + setupAutoQueueHandler(); + const { t } = useI18n(); + const toast = useToast(); + const settingStore = useSettingStore(); + const executionStore = useExecutionStore(); + const colorPaletteStore = useColorPaletteStore(); + const queueStore = useQueueStore(); + watch( + () => colorPaletteStore.completedActivePalette, + (newTheme) => { + const DARK_THEME_CLASS = "dark-theme"; + if (newTheme.light_theme) { + document.body.classList.remove(DARK_THEME_CLASS); + } else { + document.body.classList.add(DARK_THEME_CLASS); + } + if (isElectron()) { + electronAPI().changeTheme({ + color: "rgba(0, 0, 0, 0)", + symbolColor: newTheme.colors.comfy_base["input-text"] + }); + } + }, + { immediate: true } + ); + if (isElectron()) { + watch( + () => queueStore.tasks, + (newTasks, oldTasks) => { + const oldRunningTaskIds = new Set( + oldTasks.filter((task) => task.isRunning).map((task) => task.promptId) + ); + newTasks.filter( + (task) => oldRunningTaskIds.has(task.promptId) && task.isHistory + ).forEach((task) => { + electronAPI().Events.incrementUserProperty( + `execution:${task.displayStatus.toLowerCase()}`, + 1 + ); + }); + }, + { deep: true } + ); + } + watchEffect(() => { + const fontSize = settingStore.get("Comfy.TextareaWidget.FontSize"); + document.documentElement.style.setProperty( + "--comfy-textarea-font-size", + `${fontSize}px` + ); + }); + watchEffect(() => { + const padding = settingStore.get("Comfy.TreeExplorer.ItemPadding"); + document.documentElement.style.setProperty( + "--comfy-tree-explorer-item-padding", + `${padding}px` + ); + }); + watchEffect(() => { + const locale = settingStore.get("Comfy.Locale"); + if (locale) { + i18n.global.locale.value = locale; + } + }); + watchEffect(() => { + const useNewMenu = settingStore.get("Comfy.UseNewMenu"); + if (useNewMenu === "Disabled") { + app.ui.menuContainer.style.setProperty("display", "block"); + app.ui.restoreMenuPosition(); + } else { + app.ui.menuContainer.style.setProperty("display", "none"); + } + }); + watchEffect(() => { + queueStore.maxHistoryItems = settingStore.get("Comfy.Queue.MaxHistoryItems"); + }); + const init = /* @__PURE__ */ __name(() => { + const coreCommands = useCoreCommands(); + useCommandStore().registerCommands(coreCommands); + useMenuItemStore().registerCoreMenuCommands(); + useKeybindingService().registerCoreKeybindings(); + useSidebarTabStore().registerCoreSidebarTabs(); + useBottomPanelStore().registerCoreBottomPanelTabs(); + app.extensionManager = useWorkspaceStore(); + }, "init"); + const queuePendingTaskCountStore = useQueuePendingTaskCountStore(); + const onStatus = /* @__PURE__ */ __name(async (e) => { + queuePendingTaskCountStore.update(e); + await queueStore.update(); + }, "onStatus"); + const reconnectingMessage = { + severity: "error", + summary: t("g.reconnecting") + }; + const onReconnecting = /* @__PURE__ */ __name(() => { + toast.remove(reconnectingMessage); + toast.add(reconnectingMessage); + }, "onReconnecting"); + const onReconnected = /* @__PURE__ */ __name(() => { + toast.remove(reconnectingMessage); + toast.add({ + severity: "success", + summary: t("g.reconnected"), + life: 2e3 + }); + }, "onReconnected"); + onMounted(() => { + api.addEventListener("status", onStatus); + api.addEventListener("reconnecting", onReconnecting); + api.addEventListener("reconnected", onReconnected); + executionStore.bindExecutionEvents(); + try { + init(); + } catch (e) { + console.error("Failed to init ComfyUI frontend", e); + } + }); + onBeforeUnmount(() => { + api.removeEventListener("status", onStatus); + api.removeEventListener("reconnecting", onReconnecting); + api.removeEventListener("reconnected", onReconnected); + executionStore.unbindExecutionEvents(); + }); + useEventListener(window, "keydown", useKeybindingService().keybindHandler); + const { wrapWithErrorHandling, wrapWithErrorHandlingAsync } = useErrorHandling(); + const onGraphReady = /* @__PURE__ */ __name(() => { + requestIdleCallback( + () => { + wrapWithErrorHandling(useKeybindingService().registerUserKeybindings)(); + wrapWithErrorHandling(useServerConfigStore().loadServerConfig)( + SERVER_CONFIG_ITEMS, + settingStore.get("Comfy.Server.ServerConfigValues") + ); + wrapWithErrorHandlingAsync(useModelStore().loadModelFolders)(); + wrapWithErrorHandlingAsync(useNodeFrequencyStore().loadNodeFrequencies)(); + useNodeDefStore().nodeSearchService.endsWithFilterStartSequence(""); + }, + { timeout: 1e3 } + ); + }, "onGraphReady"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock(Fragment, null, [ + createVNode(TopMenubar), + createVNode(_sfc_main$8, { onReady: onGraphReady }), + createVNode(_sfc_main$7), + createVNode(_sfc_main$s), + createVNode(_sfc_main$u), + createVNode(MenuHamburger) + ], 64); + }; + } +}); +export { + _sfc_main as default +}; +//# sourceMappingURL=GraphView-CDDCHVO0.js.map diff --git a/web/assets/GraphView-CqZ3opAX.css b/web/assets/GraphView-CqZ3opAX.css new file mode 100644 index 000000000..f735c8386 --- /dev/null +++ b/web/assets/GraphView-CqZ3opAX.css @@ -0,0 +1,306 @@ + +.comfy-menu-hamburger[data-v-7ed57d1a] { + pointer-events: auto; + position: fixed; + z-index: 9999; + display: flex; + flex-direction: row +} + +[data-v-e50caa15] .p-splitter-gutter { + pointer-events: auto; +} +[data-v-e50caa15] .p-splitter-gutter:hover,[data-v-e50caa15] .p-splitter-gutter[data-p-gutter-resizing='true'] { + transition: background-color 0.2s ease 300ms; + background-color: var(--p-primary-color); +} +.side-bar-panel[data-v-e50caa15] { + background-color: var(--bg-color); + pointer-events: auto; +} +.bottom-panel[data-v-e50caa15] { + background-color: var(--bg-color); + pointer-events: auto; +} +.splitter-overlay[data-v-e50caa15] { + pointer-events: none; + border-style: none; + background-color: transparent; +} +.splitter-overlay-root[data-v-e50caa15] { + position: absolute; + top: 0px; + left: 0px; + height: 100%; + width: 100%; + + /* Set it the same as the ComfyUI menu */ + /* Note: Lite-graph DOM widgets have the same z-index as the node id, so + 999 should be sufficient to make sure splitter overlays on node's DOM + widgets */ + z-index: 999; +} + +.p-buttongroup-vertical[data-v-cb8f9a1a] { + display: flex; + flex-direction: column; + border-radius: var(--p-button-border-radius); + overflow: hidden; + border: 1px solid var(--p-panel-border-color); +} +.p-buttongroup-vertical .p-button[data-v-cb8f9a1a] { + margin: 0; + border-radius: 0; +} + +.node-tooltip[data-v-46859edf] { + background: var(--comfy-input-bg); + border-radius: 5px; + box-shadow: 0 0 5px rgba(0, 0, 0, 0.4); + color: var(--input-text); + font-family: sans-serif; + left: 0; + max-width: 30vw; + padding: 4px 8px; + position: absolute; + top: 0; + transform: translate(5px, calc(-100% - 5px)); + white-space: pre-wrap; + z-index: 99999; +} + +.group-title-editor.node-title-editor[data-v-12d3fd12] { + z-index: 9999; + padding: 0.25rem; +} +[data-v-12d3fd12] .editable-text { + width: 100%; + height: 100%; +} +[data-v-12d3fd12] .editable-text input { + width: 100%; + height: 100%; + /* Override the default font size */ + font-size: inherit; +} + +[data-v-fd0a74bd] .highlight { + background-color: var(--p-primary-color); + color: var(--p-primary-contrast-color); + font-weight: bold; + border-radius: 0.25rem; + padding: 0rem 0.125rem; + margin: -0.125rem 0.125rem; +} + +.invisible-dialog-root { + width: 60%; + min-width: 24rem; + max-width: 48rem; + border: 0 !important; + background-color: transparent !important; + margin-top: 25vh; + margin-left: 400px; +} +@media all and (max-width: 768px) { +.invisible-dialog-root { + margin-left: 0px; +} +} +.node-search-box-dialog-mask { + align-items: flex-start !important; +} + +.side-bar-button-icon { + font-size: var(--sidebar-icon-size) !important; +} +.side-bar-button-selected .side-bar-button-icon { + font-size: var(--sidebar-icon-size) !important; + font-weight: bold; +} + +.side-bar-button[data-v-6ab4daa6] { + width: var(--sidebar-width); + height: var(--sidebar-width); + border-radius: 0; +} +.comfyui-body-left .side-bar-button.side-bar-button-selected[data-v-6ab4daa6], +.comfyui-body-left .side-bar-button.side-bar-button-selected[data-v-6ab4daa6]:hover { + border-left: 4px solid var(--p-button-text-primary-color); +} +.comfyui-body-right .side-bar-button.side-bar-button-selected[data-v-6ab4daa6], +.comfyui-body-right .side-bar-button.side-bar-button-selected[data-v-6ab4daa6]:hover { + border-right: 4px solid var(--p-button-text-primary-color); +} + +.side-tool-bar-container[data-v-33cac83a] { + display: flex; + flex-direction: column; + align-items: center; + + pointer-events: auto; + + width: var(--sidebar-width); + height: 100%; + + background-color: var(--comfy-menu-secondary-bg); + color: var(--fg-color); + box-shadow: var(--bar-shadow); + + --sidebar-width: 4rem; + --sidebar-icon-size: 1.5rem; +} +.side-tool-bar-container.small-sidebar[data-v-33cac83a] { + --sidebar-width: 2.5rem; + --sidebar-icon-size: 1rem; +} +.side-tool-bar-end[data-v-33cac83a] { + align-self: flex-end; + margin-top: auto; +} + +.status-indicator[data-v-8d011a31] { + position: absolute; + font-weight: 700; + font-size: 1.5rem; + top: 50%; + left: 50%; + transform: translate(-50%, -50%) +} + +[data-v-54fadc45] .p-togglebutton { + position: relative; + flex-shrink: 0; + border-radius: 0px; + border-width: 0px; + border-right-width: 1px; + border-style: solid; + background-color: transparent; + padding: 0px; + border-right-color: var(--border-color) +} +[data-v-54fadc45] .p-togglebutton::before { + display: none +} +[data-v-54fadc45] .p-togglebutton:first-child { + border-left-width: 1px; + border-style: solid; + border-left-color: var(--border-color) +} +[data-v-54fadc45] .p-togglebutton:not(:first-child) { + border-left-width: 0px +} +[data-v-54fadc45] .p-togglebutton.p-togglebutton-checked { + height: 100%; + border-bottom-width: 1px; + border-style: solid; + border-bottom-color: var(--p-button-text-primary-color) +} +[data-v-54fadc45] .p-togglebutton:not(.p-togglebutton-checked) { + opacity: 0.75 +} +[data-v-54fadc45] .p-togglebutton-checked .close-button,[data-v-54fadc45] .p-togglebutton:hover .close-button { + visibility: visible +} +[data-v-54fadc45] .p-togglebutton:hover .status-indicator { + display: none +} +[data-v-54fadc45] .p-togglebutton .close-button { + visibility: hidden +} +[data-v-54fadc45] .p-scrollpanel-content { + height: 100% +} + +/* Scrollbar half opacity to avoid blocking the active tab bottom border */ +[data-v-54fadc45] .p-scrollpanel:hover .p-scrollpanel-bar,[data-v-54fadc45] .p-scrollpanel:active .p-scrollpanel-bar { + opacity: 0.5 +} +[data-v-54fadc45] .p-selectbutton { + height: 100%; + border-radius: 0px +} + +[data-v-38831d8e] .workflow-tabs { + background-color: var(--comfy-menu-bg); +} + +[data-v-26957f1f] .p-inputtext { + border-top-left-radius: 0; + border-bottom-left-radius: 0; +} + +.comfyui-queue-button[data-v-e9044686] .p-splitbutton-dropdown { + border-top-right-radius: 0; + border-bottom-right-radius: 0; +} + +.actionbar[data-v-915e5456] { + pointer-events: all; + position: fixed; + z-index: 1000; +} +.actionbar.is-docked[data-v-915e5456] { + position: static; + border-style: none; + background-color: transparent; + padding: 0px; +} +.actionbar.is-dragging[data-v-915e5456] { + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; +} +[data-v-915e5456] .p-panel-content { + padding: 0.25rem; +} +.is-docked[data-v-915e5456] .p-panel-content { + padding: 0px; +} +[data-v-915e5456] .p-panel-header { + display: none; +} + +.top-menubar[data-v-56df69d2] .p-menubar-item-link svg { + display: none; +} +[data-v-56df69d2] .p-menubar-submenu.dropdown-direction-up { + top: auto; + bottom: 100%; + flex-direction: column-reverse; +} +.keybinding-tag[data-v-56df69d2] { + background: var(--p-content-hover-background); + border-color: var(--p-content-border-color); + border-style: solid; +} + +.comfyui-menu[data-v-6e35440f] { + width: 100vw; + height: var(--comfy-topbar-height); + background: var(--comfy-menu-bg); + color: var(--fg-color); + box-shadow: var(--bar-shadow); + font-family: Arial, Helvetica, sans-serif; + font-size: 0.8em; + box-sizing: border-box; + z-index: 1000; + order: 0; + grid-column: 1/-1; +} +.comfyui-menu.dropzone[data-v-6e35440f] { + background: var(--p-highlight-background); +} +.comfyui-menu.dropzone-active[data-v-6e35440f] { + background: var(--p-highlight-background-focus); +} +[data-v-6e35440f] .p-menubar-item-label { + line-height: revert; +} +.comfyui-logo[data-v-6e35440f] { + font-size: 1.2em; + -webkit-user-select: none; + -moz-user-select: none; + user-select: none; + cursor: default; +} diff --git a/web/assets/InstallView-By3hC1fC.js b/web/assets/InstallView-By3hC1fC.js new file mode 100644 index 000000000..4262b2646 --- /dev/null +++ b/web/assets/InstallView-By3hC1fC.js @@ -0,0 +1,1319 @@ +var __defProp = Object.defineProperty; +var __name = (target, value2) => __defProp(target, "name", { value: value2, configurable: true }); +import { B as BaseStyle, y as script$6, o as openBlock, f as createElementBlock, G as mergeProps, c9 as findIndexInList, ca as find, aD as resolveComponent, J as createBlock, K as resolveDynamicComponent, P as withCtx, m as createBaseVNode, Z as toDisplayString, M as renderSlot, L as createCommentVNode, V as normalizeClass, R as findSingle, H as Fragment, aE as Transition, i as withDirectives, v as vShow, am as UniqueComponentId, d as defineComponent, ad as ref, cb as useModel, k as createVNode, j as unref, cc as script$7, c4 as script$8, b3 as withModifiers, aP as script$9, a3 as useI18n, c as computed, aK as script$a, aG as createTextVNode, p as pushScopeId, q as popScopeId, bV as electronAPI, _ as _export_sfc, t as onMounted, r as resolveDirective, ax as script$b, cd as script$c, ce as script$d, l as script$e, c6 as script$f, cf as MigrationItems, w as watchEffect, I as renderList, cg as script$g, c2 as useRouter, aU as toRaw } from "./index-QvfM__ze.js"; +import { _ as _sfc_main$5 } from "./BaseViewTemplate-BhQMaVFP.js"; +var classes$4 = { + root: /* @__PURE__ */ __name(function root(_ref) { + var instance = _ref.instance; + return ["p-step", { + "p-step-active": instance.active, + "p-disabled": instance.isStepDisabled + }]; + }, "root"), + header: "p-step-header", + number: "p-step-number", + title: "p-step-title" +}; +var StepStyle = BaseStyle.extend({ + name: "step", + classes: classes$4 +}); +var script$2$2 = { + name: "StepperSeparator", + hostName: "Stepper", + "extends": script$6 +}; +function render$1$2(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("span", mergeProps({ + "class": _ctx.cx("separator") + }, _ctx.ptm("separator")), null, 16); +} +__name(render$1$2, "render$1$2"); +script$2$2.render = render$1$2; +var script$1$4 = { + name: "BaseStep", + "extends": script$6, + props: { + value: { + type: [String, Number], + "default": void 0 + }, + disabled: { + type: Boolean, + "default": false + }, + asChild: { + type: Boolean, + "default": false + }, + as: { + type: [String, Object], + "default": "DIV" + } + }, + style: StepStyle, + provide: /* @__PURE__ */ __name(function provide() { + return { + $pcStep: this, + $parentInstance: this + }; + }, "provide") +}; +var script$5 = { + name: "Step", + "extends": script$1$4, + inheritAttrs: false, + inject: { + $pcStepper: { + "default": null + }, + $pcStepList: { + "default": null + }, + $pcStepItem: { + "default": null + } + }, + data: /* @__PURE__ */ __name(function data() { + return { + isSeparatorVisible: false + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted() { + if (this.$el && this.$pcStepList) { + var index = findIndexInList(this.$el, find(this.$pcStepper.$el, '[data-pc-name="step"]')); + var stepLen = find(this.$pcStepper.$el, '[data-pc-name="step"]').length; + this.isSeparatorVisible = index !== stepLen - 1; + } + }, "mounted"), + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions(key) { + var _ptm = key === "root" ? this.ptmi : this.ptm; + return _ptm(key, { + context: { + active: this.active, + disabled: this.isStepDisabled + } + }); + }, "getPTOptions"), + onStepClick: /* @__PURE__ */ __name(function onStepClick() { + this.$pcStepper.updateValue(this.activeValue); + }, "onStepClick") + }, + computed: { + active: /* @__PURE__ */ __name(function active() { + return this.$pcStepper.isStepActive(this.activeValue); + }, "active"), + activeValue: /* @__PURE__ */ __name(function activeValue() { + var _this$$pcStepItem; + return !!this.$pcStepItem ? (_this$$pcStepItem = this.$pcStepItem) === null || _this$$pcStepItem === void 0 ? void 0 : _this$$pcStepItem.value : this.value; + }, "activeValue"), + isStepDisabled: /* @__PURE__ */ __name(function isStepDisabled() { + return !this.active && (this.$pcStepper.isStepDisabled() || this.disabled); + }, "isStepDisabled"), + id: /* @__PURE__ */ __name(function id() { + var _this$$pcStepper; + return "".concat((_this$$pcStepper = this.$pcStepper) === null || _this$$pcStepper === void 0 ? void 0 : _this$$pcStepper.id, "_step_").concat(this.activeValue); + }, "id"), + ariaControls: /* @__PURE__ */ __name(function ariaControls() { + var _this$$pcStepper2; + return "".concat((_this$$pcStepper2 = this.$pcStepper) === null || _this$$pcStepper2 === void 0 ? void 0 : _this$$pcStepper2.id, "_steppanel_").concat(this.activeValue); + }, "ariaControls"), + a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs() { + return { + root: { + role: "presentation", + "aria-current": this.active ? "step" : void 0, + "data-pc-name": "step", + "data-pc-section": "root", + "data-p-disabled": this.disabled, + "data-p-active": this.active + }, + header: { + id: this.id, + role: "tab", + taindex: this.disabled ? -1 : void 0, + "aria-controls": this.ariaControls, + "data-pc-section": "header", + disabled: this.disabled, + onClick: this.onStepClick + } + }; + }, "a11yAttrs") + }, + components: { + StepperSeparator: script$2$2 + } +}; +var _hoisted_1$5 = ["id", "tabindex", "aria-controls", "disabled"]; +function render$4(_ctx, _cache, $props, $setup, $data, $options) { + var _component_StepperSeparator = resolveComponent("StepperSeparator"); + return !_ctx.asChild ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ + key: 0, + "class": _ctx.cx("root"), + "aria-current": $options.active ? "step" : void 0, + role: "presentation", + "data-p-active": $options.active, + "data-p-disabled": $options.isStepDisabled + }, $options.getPTOptions("root")), { + "default": withCtx(function() { + return [createBaseVNode("button", mergeProps({ + id: $options.id, + "class": _ctx.cx("header"), + role: "tab", + type: "button", + tabindex: $options.isStepDisabled ? -1 : void 0, + "aria-controls": $options.ariaControls, + disabled: $options.isStepDisabled, + onClick: _cache[0] || (_cache[0] = function() { + return $options.onStepClick && $options.onStepClick.apply($options, arguments); + }) + }, $options.getPTOptions("header")), [createBaseVNode("span", mergeProps({ + "class": _ctx.cx("number") + }, $options.getPTOptions("number")), toDisplayString($options.activeValue), 17), createBaseVNode("span", mergeProps({ + "class": _ctx.cx("title") + }, $options.getPTOptions("title")), [renderSlot(_ctx.$slots, "default")], 16)], 16, _hoisted_1$5), $data.isSeparatorVisible ? (openBlock(), createBlock(_component_StepperSeparator, { + key: 0 + })) : createCommentVNode("", true)]; + }), + _: 3 + }, 16, ["class", "aria-current", "data-p-active", "data-p-disabled"])) : renderSlot(_ctx.$slots, "default", { + key: 1, + "class": normalizeClass(_ctx.cx("root")), + active: $options.active, + value: _ctx.value, + a11yAttrs: $options.a11yAttrs, + activateCallback: $options.onStepClick + }); +} +__name(render$4, "render$4"); +script$5.render = render$4; +var classes$3 = { + root: "p-steplist" +}; +var StepListStyle = BaseStyle.extend({ + name: "steplist", + classes: classes$3 +}); +var script$1$3 = { + name: "BaseStepList", + "extends": script$6, + style: StepListStyle, + provide: /* @__PURE__ */ __name(function provide2() { + return { + $pcStepList: this, + $parentInstance: this + }; + }, "provide") +}; +var script$4 = { + name: "StepList", + "extends": script$1$3, + inheritAttrs: false +}; +function render$3(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$3, "render$3"); +script$4.render = render$3; +var classes$2 = { + root: /* @__PURE__ */ __name(function root2(_ref) { + var instance = _ref.instance; + return ["p-steppanel", { + "p-steppanel-active": instance.isVertical && instance.active + }]; + }, "root"), + content: "p-steppanel-content" +}; +var StepPanelStyle = BaseStyle.extend({ + name: "steppanel", + classes: classes$2 +}); +var script$2$1 = { + name: "StepperSeparator", + hostName: "Stepper", + "extends": script$6 +}; +function render$1$1(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("span", mergeProps({ + "class": _ctx.cx("separator") + }, _ctx.ptm("separator")), null, 16); +} +__name(render$1$1, "render$1$1"); +script$2$1.render = render$1$1; +var script$1$2 = { + name: "BaseStepPanel", + "extends": script$6, + props: { + value: { + type: [String, Number], + "default": void 0 + }, + asChild: { + type: Boolean, + "default": false + }, + as: { + type: [String, Object], + "default": "DIV" + } + }, + style: StepPanelStyle, + provide: /* @__PURE__ */ __name(function provide3() { + return { + $pcStepPanel: this, + $parentInstance: this + }; + }, "provide") +}; +var script$3 = { + name: "StepPanel", + "extends": script$1$2, + inheritAttrs: false, + inject: { + $pcStepper: { + "default": null + }, + $pcStepItem: { + "default": null + }, + $pcStepList: { + "default": null + } + }, + data: /* @__PURE__ */ __name(function data2() { + return { + isSeparatorVisible: false + }; + }, "data"), + mounted: /* @__PURE__ */ __name(function mounted2() { + if (this.$el) { + var _this$$pcStepItem, _this$$pcStepList; + var stepElements = find(this.$pcStepper.$el, '[data-pc-name="step"]'); + var stepPanelEl = findSingle(this.isVertical ? (_this$$pcStepItem = this.$pcStepItem) === null || _this$$pcStepItem === void 0 ? void 0 : _this$$pcStepItem.$el : (_this$$pcStepList = this.$pcStepList) === null || _this$$pcStepList === void 0 ? void 0 : _this$$pcStepList.$el, '[data-pc-name="step"]'); + var stepPanelIndex = findIndexInList(stepPanelEl, stepElements); + this.isSeparatorVisible = this.isVertical && stepPanelIndex !== stepElements.length - 1; + } + }, "mounted"), + methods: { + getPTOptions: /* @__PURE__ */ __name(function getPTOptions2(key) { + var _ptm = key === "root" ? this.ptmi : this.ptm; + return _ptm(key, { + context: { + active: this.active + } + }); + }, "getPTOptions"), + updateValue: /* @__PURE__ */ __name(function updateValue(val) { + this.$pcStepper.updateValue(val); + }, "updateValue") + }, + computed: { + active: /* @__PURE__ */ __name(function active2() { + var _this$$pcStepItem2, _this$$pcStepper; + var activeValue3 = !!this.$pcStepItem ? (_this$$pcStepItem2 = this.$pcStepItem) === null || _this$$pcStepItem2 === void 0 ? void 0 : _this$$pcStepItem2.value : this.value; + return activeValue3 === ((_this$$pcStepper = this.$pcStepper) === null || _this$$pcStepper === void 0 ? void 0 : _this$$pcStepper.d_value); + }, "active"), + isVertical: /* @__PURE__ */ __name(function isVertical() { + return !!this.$pcStepItem; + }, "isVertical"), + activeValue: /* @__PURE__ */ __name(function activeValue2() { + var _this$$pcStepItem3; + return this.isVertical ? (_this$$pcStepItem3 = this.$pcStepItem) === null || _this$$pcStepItem3 === void 0 ? void 0 : _this$$pcStepItem3.value : this.value; + }, "activeValue"), + id: /* @__PURE__ */ __name(function id2() { + var _this$$pcStepper2; + return "".concat((_this$$pcStepper2 = this.$pcStepper) === null || _this$$pcStepper2 === void 0 ? void 0 : _this$$pcStepper2.id, "_steppanel_").concat(this.activeValue); + }, "id"), + ariaControls: /* @__PURE__ */ __name(function ariaControls2() { + var _this$$pcStepper3; + return "".concat((_this$$pcStepper3 = this.$pcStepper) === null || _this$$pcStepper3 === void 0 ? void 0 : _this$$pcStepper3.id, "_step_").concat(this.activeValue); + }, "ariaControls"), + a11yAttrs: /* @__PURE__ */ __name(function a11yAttrs2() { + return { + id: this.id, + role: "tabpanel", + "aria-controls": this.ariaControls, + "data-pc-name": "steppanel", + "data-p-active": this.active + }; + }, "a11yAttrs") + }, + components: { + StepperSeparator: script$2$1 + } +}; +function render$2(_ctx, _cache, $props, $setup, $data, $options) { + var _component_StepperSeparator = resolveComponent("StepperSeparator"); + return $options.isVertical ? (openBlock(), createElementBlock(Fragment, { + key: 0 + }, [!_ctx.asChild ? (openBlock(), createBlock(Transition, mergeProps({ + key: 0, + name: "p-toggleable-content" + }, _ctx.ptm("transition")), { + "default": withCtx(function() { + return [withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ + id: $options.id, + "class": _ctx.cx("root"), + role: "tabpanel", + "aria-controls": $options.ariaControls + }, $options.getPTOptions("root")), { + "default": withCtx(function() { + return [$data.isSeparatorVisible ? (openBlock(), createBlock(_component_StepperSeparator, { + key: 0 + })) : createCommentVNode("", true), createBaseVNode("div", mergeProps({ + "class": _ctx.cx("content") + }, $options.getPTOptions("content")), [renderSlot(_ctx.$slots, "default", { + active: $options.active, + activateCallback: /* @__PURE__ */ __name(function activateCallback(val) { + return $options.updateValue(val); + }, "activateCallback") + })], 16)]; + }), + _: 3 + }, 16, ["id", "class", "aria-controls"])), [[vShow, $options.active]])]; + }), + _: 3 + }, 16)) : renderSlot(_ctx.$slots, "default", { + key: 1, + active: $options.active, + a11yAttrs: $options.a11yAttrs, + activateCallback: /* @__PURE__ */ __name(function activateCallback(val) { + return $options.updateValue(val); + }, "activateCallback") + })], 64)) : (openBlock(), createElementBlock(Fragment, { + key: 1 + }, [!_ctx.asChild ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({ + key: 0, + id: $options.id, + "class": _ctx.cx("root"), + role: "tabpanel", + "aria-controls": $options.ariaControls + }, $options.getPTOptions("root")), { + "default": withCtx(function() { + return [renderSlot(_ctx.$slots, "default", { + active: $options.active, + activateCallback: /* @__PURE__ */ __name(function activateCallback(val) { + return $options.updateValue(val); + }, "activateCallback") + })]; + }), + _: 3 + }, 16, ["id", "class", "aria-controls"])), [[vShow, $options.active]]) : _ctx.asChild && $options.active ? renderSlot(_ctx.$slots, "default", { + key: 1, + active: $options.active, + a11yAttrs: $options.a11yAttrs, + activateCallback: /* @__PURE__ */ __name(function activateCallback(val) { + return $options.updateValue(val); + }, "activateCallback") + }) : createCommentVNode("", true)], 64)); +} +__name(render$2, "render$2"); +script$3.render = render$2; +var classes$1 = { + root: "p-steppanels" +}; +var StepPanelsStyle = BaseStyle.extend({ + name: "steppanels", + classes: classes$1 +}); +var script$1$1 = { + name: "BaseStepPanels", + "extends": script$6, + style: StepPanelsStyle, + provide: /* @__PURE__ */ __name(function provide4() { + return { + $pcStepPanels: this, + $parentInstance: this + }; + }, "provide") +}; +var script$2 = { + name: "StepPanels", + "extends": script$1$1, + inheritAttrs: false +}; +function render$1(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root") + }, _ctx.ptmi("root")), [renderSlot(_ctx.$slots, "default")], 16); +} +__name(render$1, "render$1"); +script$2.render = render$1; +var theme = /* @__PURE__ */ __name(function theme2(_ref) { + var dt = _ref.dt; + return "\n.p-steplist {\n position: relative;\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin: 0;\n padding: 0;\n list-style-type: none;\n overflow-x: auto;\n}\n\n.p-step {\n position: relative;\n display: flex;\n flex: 1 1 auto;\n align-items: center;\n gap: ".concat(dt("stepper.step.gap"), ";\n padding: ").concat(dt("stepper.step.padding"), ";\n}\n\n.p-step:last-of-type {\n flex: initial;\n}\n\n.p-step-header {\n border: 0 none;\n display: inline-flex;\n align-items: center;\n text-decoration: none;\n cursor: pointer;\n transition: background ").concat(dt("stepper.transition.duration"), ", color ").concat(dt("stepper.transition.duration"), ", border-color ").concat(dt("stepper.transition.duration"), ", outline-color ").concat(dt("stepper.transition.duration"), ", box-shadow ").concat(dt("stepper.transition.duration"), ";\n border-radius: ").concat(dt("stepper.step.header.border.radius"), ";\n outline-color: transparent;\n background: transparent;\n padding: ").concat(dt("stepper.step.header.padding"), ";\n gap: ").concat(dt("stepper.step.header.gap"), ";\n}\n\n.p-step-header:focus-visible {\n box-shadow: ").concat(dt("stepper.step.header.focus.ring.shadow"), ";\n outline: ").concat(dt("stepper.step.header.focus.ring.width"), " ").concat(dt("stepper.step.header.focus.ring.style"), " ").concat(dt("stepper.step.header.focus.ring.color"), ";\n outline-offset: ").concat(dt("stepper.step.header.focus.ring.offset"), ";\n}\n\n.p-stepper.p-stepper-readonly .p-step {\n cursor: auto;\n}\n\n.p-step-title {\n display: block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n max-width: 100%;\n color: ").concat(dt("stepper.step.title.color"), ";\n font-weight: ").concat(dt("stepper.step.title.font.weight"), ";\n transition: background ").concat(dt("stepper.transition.duration"), ", color ").concat(dt("stepper.transition.duration"), ", border-color ").concat(dt("stepper.transition.duration"), ", box-shadow ").concat(dt("stepper.transition.duration"), ", outline-color ").concat(dt("stepper.transition.duration"), ";\n}\n\n.p-step-number {\n display: flex;\n align-items: center;\n justify-content: center;\n color: ").concat(dt("stepper.step.number.color"), ";\n border: 2px solid ").concat(dt("stepper.step.number.border.color"), ";\n background: ").concat(dt("stepper.step.number.background"), ";\n min-width: ").concat(dt("stepper.step.number.size"), ";\n height: ").concat(dt("stepper.step.number.size"), ";\n line-height: ").concat(dt("stepper.step.number.size"), ";\n font-size: ").concat(dt("stepper.step.number.font.size"), ";\n z-index: 1;\n border-radius: ").concat(dt("stepper.step.number.border.radius"), ";\n position: relative;\n font-weight: ").concat(dt("stepper.step.number.font.weight"), ';\n}\n\n.p-step-number::after {\n content: " ";\n position: absolute;\n width: 100%;\n height: 100%;\n border-radius: ').concat(dt("stepper.step.number.border.radius"), ";\n box-shadow: ").concat(dt("stepper.step.number.shadow"), ";\n}\n\n.p-step-active .p-step-header {\n cursor: default;\n}\n\n.p-step-active .p-step-number {\n background: ").concat(dt("stepper.step.number.active.background"), ";\n border-color: ").concat(dt("stepper.step.number.active.border.color"), ";\n color: ").concat(dt("stepper.step.number.active.color"), ";\n}\n\n.p-step-active .p-step-title {\n color: ").concat(dt("stepper.step.title.active.color"), ";\n}\n\n.p-step:not(.p-disabled):focus-visible {\n outline: ").concat(dt("focus.ring.width"), " ").concat(dt("focus.ring.style"), " ").concat(dt("focus.ring.color"), ";\n outline-offset: ").concat(dt("focus.ring.offset"), ";\n}\n\n.p-step:has(~ .p-step-active) .p-stepper-separator {\n background: ").concat(dt("stepper.separator.active.background"), ";\n}\n\n.p-stepper-separator {\n flex: 1 1 0;\n background: ").concat(dt("stepper.separator.background"), ";\n width: 100%;\n height: ").concat(dt("stepper.separator.size"), ";\n transition: background ").concat(dt("stepper.transition.duration"), ", color ").concat(dt("stepper.transition.duration"), ", border-color ").concat(dt("stepper.transition.duration"), ", box-shadow ").concat(dt("stepper.transition.duration"), ", outline-color ").concat(dt("stepper.transition.duration"), ";\n}\n\n.p-steppanels {\n padding: ").concat(dt("stepper.steppanels.padding"), ";\n}\n\n.p-steppanel {\n background: ").concat(dt("stepper.steppanel.background"), ";\n color: ").concat(dt("stepper.steppanel.color"), ";\n}\n\n.p-stepper:has(.p-stepitem) {\n display: flex;\n flex-direction: column;\n}\n\n.p-stepitem {\n display: flex;\n flex-direction: column;\n flex: initial;\n}\n\n.p-stepitem.p-stepitem-active {\n flex: 1 1 auto;\n}\n\n.p-stepitem .p-step {\n flex: initial;\n}\n\n.p-stepitem .p-steppanel-content {\n width: 100%;\n padding: ").concat(dt("stepper.steppanel.padding"), ";\n}\n\n.p-stepitem .p-steppanel {\n display: flex;\n flex: 1 1 auto;\n}\n\n.p-stepitem .p-stepper-separator {\n flex: 0 0 auto;\n width: ").concat(dt("stepper.separator.size"), ";\n height: auto;\n margin: ").concat(dt("stepper.separator.margin"), ";\n position: relative;\n left: calc(-1 * ").concat(dt("stepper.separator.size"), ");\n}\n\n.p-stepitem:has(~ .p-stepitem-active) .p-stepper-separator {\n background: ").concat(dt("stepper.separator.active.background"), ";\n}\n\n.p-stepitem:last-of-type .p-steppanel {\n padding-inline-start: ").concat(dt("stepper.step.number.size"), ";\n}\n"); +}, "theme"); +var classes = { + root: /* @__PURE__ */ __name(function root3(_ref2) { + var props = _ref2.props; + return ["p-stepper p-component", { + "p-readonly": props.linear + }]; + }, "root"), + separator: "p-stepper-separator" +}; +var StepperStyle = BaseStyle.extend({ + name: "stepper", + theme, + classes +}); +var script$1 = { + name: "BaseStepper", + "extends": script$6, + props: { + value: { + type: [String, Number], + "default": void 0 + }, + linear: { + type: Boolean, + "default": false + } + }, + style: StepperStyle, + provide: /* @__PURE__ */ __name(function provide5() { + return { + $pcStepper: this, + $parentInstance: this + }; + }, "provide") +}; +var script = { + name: "Stepper", + "extends": script$1, + inheritAttrs: false, + emits: ["update:value"], + data: /* @__PURE__ */ __name(function data3() { + return { + id: this.$attrs.id, + d_value: this.value + }; + }, "data"), + watch: { + "$attrs.id": /* @__PURE__ */ __name(function $attrsId(newValue) { + this.id = newValue || UniqueComponentId(); + }, "$attrsId"), + value: /* @__PURE__ */ __name(function value(newValue) { + this.d_value = newValue; + }, "value") + }, + mounted: /* @__PURE__ */ __name(function mounted3() { + this.id = this.id || UniqueComponentId(); + }, "mounted"), + methods: { + updateValue: /* @__PURE__ */ __name(function updateValue2(newValue) { + if (this.d_value !== newValue) { + this.d_value = newValue; + this.$emit("update:value", newValue); + } + }, "updateValue"), + isStepActive: /* @__PURE__ */ __name(function isStepActive(value2) { + return this.d_value === value2; + }, "isStepActive"), + isStepDisabled: /* @__PURE__ */ __name(function isStepDisabled2() { + return this.linear; + }, "isStepDisabled") + } +}; +function render(_ctx, _cache, $props, $setup, $data, $options) { + return openBlock(), createElementBlock("div", mergeProps({ + "class": _ctx.cx("root"), + role: "tablist" + }, _ctx.ptmi("root")), [_ctx.$slots.start ? renderSlot(_ctx.$slots, "start", { + key: 0 + }) : createCommentVNode("", true), renderSlot(_ctx.$slots, "default"), _ctx.$slots.end ? renderSlot(_ctx.$slots, "end", { + key: 1 + }) : createCommentVNode("", true)], 16); +} +__name(render, "render"); +script.render = render; +const _hoisted_1$4 = { class: "flex flex-col gap-6 w-[600px]" }; +const _hoisted_2$4 = { class: "flex flex-col gap-4" }; +const _hoisted_3$4 = { class: "text-2xl font-semibold text-neutral-100" }; +const _hoisted_4$4 = { class: "text-neutral-400 my-0" }; +const _hoisted_5$3 = { class: "flex flex-col bg-neutral-800 p-4 rounded-lg" }; +const _hoisted_6$3 = { class: "flex items-center gap-4" }; +const _hoisted_7$3 = { class: "flex-1" }; +const _hoisted_8$3 = { class: "text-lg font-medium text-neutral-100" }; +const _hoisted_9$3 = { class: "text-sm text-neutral-400 mt-1" }; +const _hoisted_10$3 = { class: "flex items-center gap-4" }; +const _hoisted_11$3 = { class: "flex-1" }; +const _hoisted_12$3 = { class: "text-lg font-medium text-neutral-100" }; +const _hoisted_13$2 = { class: "text-sm text-neutral-400 mt-1" }; +const _hoisted_14$2 = { class: "text-neutral-300" }; +const _hoisted_15$2 = { class: "font-medium mb-2" }; +const _hoisted_16$2 = { class: "list-disc pl-6 space-y-1" }; +const _hoisted_17$2 = { class: "font-medium mt-4 mb-2" }; +const _hoisted_18$2 = { class: "list-disc pl-6 space-y-1" }; +const _hoisted_19 = { class: "mt-4" }; +const _hoisted_20 = { + href: "https://comfy.org/privacy", + target: "_blank", + class: "text-blue-400 hover:text-blue-300 underline" +}; +const _sfc_main$4 = /* @__PURE__ */ defineComponent({ + __name: "DesktopSettingsConfiguration", + props: { + "autoUpdate": { required: true }, + "autoUpdateModifiers": {}, + "allowMetrics": { required: true }, + "allowMetricsModifiers": {} + }, + emits: ["update:autoUpdate", "update:allowMetrics"], + setup(__props) { + const showDialog = ref(false); + const autoUpdate = useModel(__props, "autoUpdate"); + const allowMetrics = useModel(__props, "allowMetrics"); + const showMetricsInfo = /* @__PURE__ */ __name(() => { + showDialog.value = true; + }, "showMetricsInfo"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$4, [ + createBaseVNode("div", _hoisted_2$4, [ + createBaseVNode("h2", _hoisted_3$4, toDisplayString(_ctx.$t("install.desktopAppSettings")), 1), + createBaseVNode("p", _hoisted_4$4, toDisplayString(_ctx.$t("install.desktopAppSettingsDescription")), 1) + ]), + createBaseVNode("div", _hoisted_5$3, [ + createBaseVNode("div", _hoisted_6$3, [ + createBaseVNode("div", _hoisted_7$3, [ + createBaseVNode("h3", _hoisted_8$3, toDisplayString(_ctx.$t("install.settings.autoUpdate")), 1), + createBaseVNode("p", _hoisted_9$3, toDisplayString(_ctx.$t("install.settings.autoUpdateDescription")), 1) + ]), + createVNode(unref(script$7), { + modelValue: autoUpdate.value, + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => autoUpdate.value = $event) + }, null, 8, ["modelValue"]) + ]), + createVNode(unref(script$8)), + createBaseVNode("div", _hoisted_10$3, [ + createBaseVNode("div", _hoisted_11$3, [ + createBaseVNode("h3", _hoisted_12$3, toDisplayString(_ctx.$t("install.settings.allowMetrics")), 1), + createBaseVNode("p", _hoisted_13$2, toDisplayString(_ctx.$t("install.settings.allowMetricsDescription")), 1), + createBaseVNode("a", { + href: "#", + class: "text-sm text-blue-400 hover:text-blue-300 mt-1 inline-block", + onClick: withModifiers(showMetricsInfo, ["prevent"]) + }, toDisplayString(_ctx.$t("install.settings.learnMoreAboutData")), 1) + ]), + createVNode(unref(script$7), { + modelValue: allowMetrics.value, + "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => allowMetrics.value = $event) + }, null, 8, ["modelValue"]) + ]) + ]), + createVNode(unref(script$9), { + visible: showDialog.value, + "onUpdate:visible": _cache[2] || (_cache[2] = ($event) => showDialog.value = $event), + modal: "", + header: _ctx.$t("install.settings.dataCollectionDialog.title") + }, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_14$2, [ + createBaseVNode("h4", _hoisted_15$2, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.whatWeCollect")), 1), + createBaseVNode("ul", _hoisted_16$2, [ + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.collect.errorReports")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.collect.systemInfo")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t( + "install.settings.dataCollectionDialog.collect.userJourneyEvents" + )), 1) + ]), + createBaseVNode("h4", _hoisted_17$2, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.whatWeDoNotCollect")), 1), + createBaseVNode("ul", _hoisted_18$2, [ + createBaseVNode("li", null, toDisplayString(_ctx.$t( + "install.settings.dataCollectionDialog.doNotCollect.personalInformation" + )), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t( + "install.settings.dataCollectionDialog.doNotCollect.workflowContents" + )), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t( + "install.settings.dataCollectionDialog.doNotCollect.fileSystemInformation" + )), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t( + "install.settings.dataCollectionDialog.doNotCollect.customNodeConfigurations" + )), 1) + ]), + createBaseVNode("div", _hoisted_19, [ + createBaseVNode("a", _hoisted_20, toDisplayString(_ctx.$t("install.settings.dataCollectionDialog.viewFullPolicy")), 1) + ]) + ]) + ]), + _: 1 + }, 8, ["visible", "header"]) + ]); + }; + } +}); +const _imports_0 = "" + new URL("images/nvidia-logo.svg", import.meta.url).href; +const _imports_1 = "" + new URL("images/apple-mps-logo.png", import.meta.url).href; +const _imports_2 = "" + new URL("images/manual-configuration.svg", import.meta.url).href; +const _withScopeId$1 = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-79125ff6"), n = n(), popScopeId(), n), "_withScopeId$1"); +const _hoisted_1$3 = { class: "flex flex-col gap-6 w-[600px] h-[30rem] select-none" }; +const _hoisted_2$3 = { class: "grow flex flex-col gap-4 text-neutral-300" }; +const _hoisted_3$3 = { class: "text-2xl font-semibold text-neutral-100" }; +const _hoisted_4$3 = { class: "m-1 text-neutral-400" }; +const _hoisted_5$2 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createBaseVNode("img", { + class: "m-12", + alt: "NVIDIA logo", + width: "196", + height: "32", + src: _imports_0 +}, null, -1)); +const _hoisted_6$2 = [ + _hoisted_5$2 +]; +const _hoisted_7$2 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createBaseVNode("img", { + class: "rounded-lg hover-brighten", + alt: "Apple Metal Performance Shaders Logo", + width: "292", + ratio: "", + src: _imports_1 +}, null, -1)); +const _hoisted_8$2 = [ + _hoisted_7$2 +]; +const _hoisted_9$2 = /* @__PURE__ */ _withScopeId$1(() => /* @__PURE__ */ createBaseVNode("img", { + class: "m-12", + alt: "Manual configuration", + width: "196", + src: _imports_2 +}, null, -1)); +const _hoisted_10$2 = [ + _hoisted_9$2 +]; +const _hoisted_11$2 = { + key: 0, + class: "m-1" +}; +const _hoisted_12$2 = { + key: 1, + class: "m-1" +}; +const _hoisted_13$1 = { + key: 2, + class: "text-neutral-300" +}; +const _hoisted_14$1 = { class: "m-1" }; +const _hoisted_15$1 = { key: 3 }; +const _hoisted_16$1 = { class: "m-1" }; +const _hoisted_17$1 = { class: "m-1" }; +const _hoisted_18$1 = { + for: "cpu-mode", + class: "select-none" +}; +const _sfc_main$3 = /* @__PURE__ */ defineComponent({ + __name: "GpuPicker", + props: { + "device": { + required: true + }, + "deviceModifiers": {} + }, + emits: ["update:device"], + setup(__props) { + const { t } = useI18n(); + const cpuMode = computed({ + get: /* @__PURE__ */ __name(() => selected.value === "cpu", "get"), + set: /* @__PURE__ */ __name((value2) => { + selected.value = value2 ? "cpu" : null; + }, "set") + }); + const selected = useModel(__props, "device"); + const electron = electronAPI(); + const platform = electron.getPlatform(); + const pickGpu = /* @__PURE__ */ __name((value2) => { + const newValue = selected.value === value2 ? null : value2; + selected.value = newValue; + }, "pickGpu"); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$3, [ + createBaseVNode("div", _hoisted_2$3, [ + createBaseVNode("h2", _hoisted_3$3, toDisplayString(_ctx.$t("install.gpuSelection.selectGpu")), 1), + createBaseVNode("p", _hoisted_4$3, toDisplayString(_ctx.$t("install.gpuSelection.selectGpuDescription")) + ": ", 1), + createBaseVNode("div", { + class: normalizeClass(["flex gap-2 text-center transition-opacity", { selected: selected.value }]) + }, [ + unref(platform) !== "darwin" ? (openBlock(), createElementBlock("div", { + key: 0, + class: normalizeClass(["gpu-button", { selected: selected.value === "nvidia" }]), + role: "button", + onClick: _cache[0] || (_cache[0] = ($event) => pickGpu("nvidia")) + }, _hoisted_6$2, 2)) : createCommentVNode("", true), + unref(platform) === "darwin" ? (openBlock(), createElementBlock("div", { + key: 1, + class: normalizeClass(["gpu-button", { selected: selected.value === "mps" }]), + role: "button", + onClick: _cache[1] || (_cache[1] = ($event) => pickGpu("mps")) + }, _hoisted_8$2, 2)) : createCommentVNode("", true), + createBaseVNode("div", { + class: normalizeClass(["gpu-button", { selected: selected.value === "unsupported" }]), + role: "button", + onClick: _cache[2] || (_cache[2] = ($event) => pickGpu("unsupported")) + }, _hoisted_10$2, 2) + ], 2), + selected.value === "nvidia" ? (openBlock(), createElementBlock("p", _hoisted_11$2, [ + createVNode(unref(script$a), { + icon: "pi pi-check", + severity: "success", + value: "CUDA" + }), + createTextVNode(" " + toDisplayString(_ctx.$t("install.gpuSelection.nvidiaDescription")), 1) + ])) : createCommentVNode("", true), + selected.value === "mps" ? (openBlock(), createElementBlock("p", _hoisted_12$2, [ + createVNode(unref(script$a), { + icon: "pi pi-check", + severity: "success", + value: "MPS" + }), + createTextVNode(" " + toDisplayString(_ctx.$t("install.gpuSelection.mpsDescription")), 1) + ])) : createCommentVNode("", true), + selected.value === "unsupported" ? (openBlock(), createElementBlock("div", _hoisted_13$1, [ + createBaseVNode("p", _hoisted_14$1, [ + createVNode(unref(script$a), { + icon: "pi pi-exclamation-triangle", + severity: "warn", + value: unref(t)("icon.exclamation-triangle") + }, null, 8, ["value"]), + createTextVNode(" " + toDisplayString(_ctx.$t("install.gpuSelection.customSkipsPython")), 1) + ]), + createBaseVNode("ul", null, [ + createBaseVNode("li", null, [ + createBaseVNode("strong", null, toDisplayString(_ctx.$t("install.gpuSelection.customComfyNeedsPython")), 1) + ]), + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.gpuSelection.customManualVenv")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.gpuSelection.customInstallRequirements")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.gpuSelection.customMayNotWork")), 1) + ]) + ])) : createCommentVNode("", true), + selected.value === "cpu" ? (openBlock(), createElementBlock("div", _hoisted_15$1, [ + createBaseVNode("p", _hoisted_16$1, [ + createVNode(unref(script$a), { + icon: "pi pi-exclamation-triangle", + severity: "warn", + value: unref(t)("icon.exclamation-triangle") + }, null, 8, ["value"]), + createTextVNode(" " + toDisplayString(_ctx.$t("install.gpuSelection.cpuModeDescription")), 1) + ]), + createBaseVNode("p", _hoisted_17$1, toDisplayString(_ctx.$t("install.gpuSelection.cpuModeDescription2")), 1) + ])) : createCommentVNode("", true) + ]), + createBaseVNode("div", { + class: normalizeClass(["transition-opacity flex gap-3 h-0", { + "opacity-40": selected.value && selected.value !== "cpu" + }]) + }, [ + createVNode(unref(script$7), { + modelValue: cpuMode.value, + "onUpdate:modelValue": _cache[3] || (_cache[3] = ($event) => cpuMode.value = $event), + inputId: "cpu-mode", + class: "-translate-y-40" + }, null, 8, ["modelValue"]), + createBaseVNode("label", _hoisted_18$1, toDisplayString(_ctx.$t("install.gpuSelection.enableCpuMode")), 1) + ], 2) + ]); + }; + } +}); +const GpuPicker = /* @__PURE__ */ _export_sfc(_sfc_main$3, [["__scopeId", "data-v-79125ff6"]]); +const _hoisted_1$2 = { class: "flex flex-col gap-6 w-[600px]" }; +const _hoisted_2$2 = { class: "flex flex-col gap-4" }; +const _hoisted_3$2 = { class: "text-2xl font-semibold text-neutral-100" }; +const _hoisted_4$2 = { class: "text-neutral-400 my-0" }; +const _hoisted_5$1 = { class: "flex gap-2" }; +const _hoisted_6$1 = { class: "bg-neutral-800 p-4 rounded-lg" }; +const _hoisted_7$1 = { class: "text-lg font-medium mt-0 mb-3 text-neutral-100" }; +const _hoisted_8$1 = { class: "flex flex-col gap-2" }; +const _hoisted_9$1 = { class: "flex items-center gap-2" }; +const _hoisted_10$1 = /* @__PURE__ */ createBaseVNode("i", { class: "pi pi-folder text-neutral-400" }, null, -1); +const _hoisted_11$1 = /* @__PURE__ */ createBaseVNode("span", { class: "text-neutral-400" }, "App Data:", -1); +const _hoisted_12$1 = { class: "text-neutral-200" }; +const _hoisted_13 = { class: "pi pi-info-circle" }; +const _hoisted_14 = { class: "flex items-center gap-2" }; +const _hoisted_15 = /* @__PURE__ */ createBaseVNode("i", { class: "pi pi-desktop text-neutral-400" }, null, -1); +const _hoisted_16 = /* @__PURE__ */ createBaseVNode("span", { class: "text-neutral-400" }, "App Path:", -1); +const _hoisted_17 = { class: "text-neutral-200" }; +const _hoisted_18 = { class: "pi pi-info-circle" }; +const _sfc_main$2 = /* @__PURE__ */ defineComponent({ + __name: "InstallLocationPicker", + props: { + "installPath": { required: true }, + "installPathModifiers": {}, + "pathError": { required: true }, + "pathErrorModifiers": {} + }, + emits: ["update:installPath", "update:pathError"], + setup(__props) { + const { t } = useI18n(); + const installPath = useModel(__props, "installPath"); + const pathError = useModel(__props, "pathError"); + const pathExists = ref(false); + const appData = ref(""); + const appPath = ref(""); + const electron = electronAPI(); + onMounted(async () => { + const paths = await electron.getSystemPaths(); + appData.value = paths.appData; + appPath.value = paths.appPath; + installPath.value = paths.defaultInstallPath; + await validatePath(paths.defaultInstallPath); + }); + const validatePath = /* @__PURE__ */ __name(async (path) => { + try { + pathError.value = ""; + pathExists.value = false; + const validation = await electron.validateInstallPath(path); + if (!validation.isValid) { + const errors = []; + if (validation.cannotWrite) errors.push(t("install.cannotWrite")); + if (validation.freeSpace < validation.requiredSpace) { + const requiredGB = validation.requiredSpace / 1024 / 1024 / 1024; + errors.push(`${t("install.insufficientFreeSpace")}: ${requiredGB} GB`); + } + if (validation.parentMissing) errors.push(t("install.parentMissing")); + if (validation.error) + errors.push(`${t("install.unhandledError")}: ${validation.error}`); + pathError.value = errors.join("\n"); + } + if (validation.exists) pathExists.value = true; + } catch (error) { + pathError.value = t("install.pathValidationFailed"); + } + }, "validatePath"); + const browsePath = /* @__PURE__ */ __name(async () => { + try { + const result = await electron.showDirectoryPicker(); + if (result) { + installPath.value = result; + await validatePath(result); + } + } catch (error) { + pathError.value = t("install.failedToSelectDirectory"); + } + }, "browsePath"); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createElementBlock("div", _hoisted_1$2, [ + createBaseVNode("div", _hoisted_2$2, [ + createBaseVNode("h2", _hoisted_3$2, toDisplayString(_ctx.$t("install.chooseInstallationLocation")), 1), + createBaseVNode("p", _hoisted_4$2, toDisplayString(_ctx.$t("install.installLocationDescription")), 1), + createBaseVNode("div", _hoisted_5$1, [ + createVNode(unref(script$d), { class: "flex-1" }, { + default: withCtx(() => [ + createVNode(unref(script$b), { + modelValue: installPath.value, + "onUpdate:modelValue": [ + _cache[0] || (_cache[0] = ($event) => installPath.value = $event), + validatePath + ], + class: normalizeClass(["w-full", { "p-invalid": pathError.value }]) + }, null, 8, ["modelValue", "class"]), + withDirectives(createVNode(unref(script$c), { class: "pi pi-info-circle" }, null, 512), [ + [_directive_tooltip, _ctx.$t("install.installLocationTooltip")] + ]) + ]), + _: 1 + }), + createVNode(unref(script$e), { + icon: "pi pi-folder", + onClick: browsePath, + class: "w-12" + }) + ]), + pathError.value ? (openBlock(), createBlock(unref(script$f), { + key: 0, + severity: "error", + class: "whitespace-pre-line" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(pathError.value), 1) + ]), + _: 1 + })) : createCommentVNode("", true), + pathExists.value ? (openBlock(), createBlock(unref(script$f), { + key: 1, + severity: "warn" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.$t("install.pathExists")), 1) + ]), + _: 1 + })) : createCommentVNode("", true) + ]), + createBaseVNode("div", _hoisted_6$1, [ + createBaseVNode("h3", _hoisted_7$1, toDisplayString(_ctx.$t("install.systemLocations")), 1), + createBaseVNode("div", _hoisted_8$1, [ + createBaseVNode("div", _hoisted_9$1, [ + _hoisted_10$1, + _hoisted_11$1, + createBaseVNode("span", _hoisted_12$1, toDisplayString(appData.value), 1), + withDirectives(createBaseVNode("span", _hoisted_13, null, 512), [ + [_directive_tooltip, _ctx.$t("install.appDataLocationTooltip")] + ]) + ]), + createBaseVNode("div", _hoisted_14, [ + _hoisted_15, + _hoisted_16, + createBaseVNode("span", _hoisted_17, toDisplayString(appPath.value), 1), + withDirectives(createBaseVNode("span", _hoisted_18, null, 512), [ + [_directive_tooltip, _ctx.$t("install.appPathLocationTooltip")] + ]) + ]) + ]) + ]) + ]); + }; + } +}); +const _hoisted_1$1 = { class: "flex flex-col gap-6 w-[600px]" }; +const _hoisted_2$1 = { class: "flex flex-col gap-4" }; +const _hoisted_3$1 = { class: "text-2xl font-semibold text-neutral-100" }; +const _hoisted_4$1 = { class: "text-neutral-400 my-0" }; +const _hoisted_5 = { class: "flex gap-2" }; +const _hoisted_6 = { + key: 0, + class: "flex flex-col gap-4 bg-neutral-800 p-4 rounded-lg" +}; +const _hoisted_7 = { class: "text-lg mt-0 font-medium text-neutral-100" }; +const _hoisted_8 = { class: "flex flex-col gap-3" }; +const _hoisted_9 = ["onClick"]; +const _hoisted_10 = ["for"]; +const _hoisted_11 = { class: "text-sm text-neutral-400 my-1" }; +const _hoisted_12 = { + key: 1, + class: "text-neutral-400 italic" +}; +const _sfc_main$1 = /* @__PURE__ */ defineComponent({ + __name: "MigrationPicker", + props: { + "sourcePath": { required: false }, + "sourcePathModifiers": {}, + "migrationItemIds": { + required: false + }, + "migrationItemIdsModifiers": {} + }, + emits: ["update:sourcePath", "update:migrationItemIds"], + setup(__props) { + const { t } = useI18n(); + const electron = electronAPI(); + const sourcePath = useModel(__props, "sourcePath"); + const migrationItemIds = useModel(__props, "migrationItemIds"); + const migrationItems = ref( + MigrationItems.map((item) => ({ + ...item, + selected: true + })) + ); + const pathError = ref(""); + const isValidSource = computed( + () => sourcePath.value !== "" && pathError.value === "" + ); + const validateSource = /* @__PURE__ */ __name(async (sourcePath2) => { + if (!sourcePath2) { + pathError.value = ""; + return; + } + try { + pathError.value = ""; + const validation = await electron.validateComfyUISource(sourcePath2); + if (!validation.isValid) pathError.value = validation.error; + } catch (error) { + console.error(error); + pathError.value = t("install.pathValidationFailed"); + } + }, "validateSource"); + const browsePath = /* @__PURE__ */ __name(async () => { + try { + const result = await electron.showDirectoryPicker(); + if (result) { + sourcePath.value = result; + await validateSource(result); + } + } catch (error) { + console.error(error); + pathError.value = t("install.failedToSelectDirectory"); + } + }, "browsePath"); + watchEffect(() => { + migrationItemIds.value = migrationItems.value.filter((item) => item.selected).map((item) => item.id); + }); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("div", _hoisted_1$1, [ + createBaseVNode("div", _hoisted_2$1, [ + createBaseVNode("h2", _hoisted_3$1, toDisplayString(_ctx.$t("install.migrateFromExistingInstallation")), 1), + createBaseVNode("p", _hoisted_4$1, toDisplayString(_ctx.$t("install.migrationSourcePathDescription")), 1), + createBaseVNode("div", _hoisted_5, [ + createVNode(unref(script$b), { + modelValue: sourcePath.value, + "onUpdate:modelValue": [ + _cache[0] || (_cache[0] = ($event) => sourcePath.value = $event), + validateSource + ], + placeholder: "Select existing ComfyUI installation (optional)", + class: normalizeClass(["flex-1", { "p-invalid": pathError.value }]) + }, null, 8, ["modelValue", "class"]), + createVNode(unref(script$e), { + icon: "pi pi-folder", + onClick: browsePath, + class: "w-12" + }) + ]), + pathError.value ? (openBlock(), createBlock(unref(script$f), { + key: 0, + severity: "error" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(pathError.value), 1) + ]), + _: 1 + })) : createCommentVNode("", true) + ]), + isValidSource.value ? (openBlock(), createElementBlock("div", _hoisted_6, [ + createBaseVNode("h3", _hoisted_7, toDisplayString(_ctx.$t("install.selectItemsToMigrate")), 1), + createBaseVNode("div", _hoisted_8, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(migrationItems.value, (item) => { + return openBlock(), createElementBlock("div", { + key: item.id, + class: "flex items-center gap-3 p-2 hover:bg-neutral-700 rounded", + onClick: /* @__PURE__ */ __name(($event) => item.selected = !item.selected, "onClick") + }, [ + createVNode(unref(script$g), { + modelValue: item.selected, + "onUpdate:modelValue": /* @__PURE__ */ __name(($event) => item.selected = $event, "onUpdate:modelValue"), + inputId: item.id, + binary: true, + onClick: _cache[1] || (_cache[1] = withModifiers(() => { + }, ["stop"])) + }, null, 8, ["modelValue", "onUpdate:modelValue", "inputId"]), + createBaseVNode("div", null, [ + createBaseVNode("label", { + for: item.id, + class: "text-neutral-200 font-medium" + }, toDisplayString(item.label), 9, _hoisted_10), + createBaseVNode("p", _hoisted_11, toDisplayString(item.description), 1) + ]) + ], 8, _hoisted_9); + }), 128)) + ]) + ])) : (openBlock(), createElementBlock("div", _hoisted_12, toDisplayString(_ctx.$t("install.migrationOptional")), 1)) + ]); + }; + } +}); +const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-0a97b0ae"), n = n(), popScopeId(), n), "_withScopeId"); +const _hoisted_1 = { class: "flex pt-6 justify-end" }; +const _hoisted_2 = { class: "flex pt-6 justify-between" }; +const _hoisted_3 = { class: "flex pt-6 justify-between" }; +const _hoisted_4 = { class: "flex pt-6 justify-between" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "InstallView", + setup(__props) { + const device = ref(null); + const installPath = ref(""); + const pathError = ref(""); + const migrationSourcePath = ref(""); + const migrationItemIds = ref([]); + const autoUpdate = ref(true); + const allowMetrics = ref(true); + const highestStep = ref(0); + const handleStepChange = /* @__PURE__ */ __name((value2) => { + setHighestStep(value2); + electronAPI().Events.trackEvent("install_stepper_change", { + step: value2 + }); + }, "handleStepChange"); + const setHighestStep = /* @__PURE__ */ __name((value2) => { + const int = typeof value2 === "number" ? value2 : parseInt(value2, 10); + if (!isNaN(int) && int > highestStep.value) highestStep.value = int; + }, "setHighestStep"); + const hasError = computed(() => pathError.value !== ""); + const noGpu = computed(() => typeof device.value !== "string"); + const electron = electronAPI(); + const router = useRouter(); + const install = /* @__PURE__ */ __name(() => { + const options = { + installPath: installPath.value, + autoUpdate: autoUpdate.value, + allowMetrics: allowMetrics.value, + migrationSourcePath: migrationSourcePath.value, + migrationItemIds: toRaw(migrationItemIds.value), + device: device.value + }; + electron.installComfyUI(options); + const nextPage = options.device === "unsupported" ? "/manual-configuration" : "/server-start"; + router.push(nextPage); + }, "install"); + onMounted(async () => { + if (!electron) return; + const detectedGpu = await electron.Config.getDetectedGpu(); + if (detectedGpu === "mps" || detectedGpu === "nvidia") { + device.value = detectedGpu; + } + electronAPI().Events.trackEvent("install_stepper_change", { + step: "0", + gpu: detectedGpu + }); + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$5, { dark: "" }, { + default: withCtx(() => [ + createVNode(unref(script), { + class: "h-full p-8 2xl:p-16", + value: "0", + "onUpdate:value": handleStepChange + }, { + default: withCtx(() => [ + createVNode(unref(script$4), { class: "select-none" }, { + default: withCtx(() => [ + createVNode(unref(script$5), { value: "0" }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.$t("install.gpu")), 1) + ]), + _: 1 + }), + createVNode(unref(script$5), { + value: "1", + disabled: noGpu.value + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.$t("install.installLocation")), 1) + ]), + _: 1 + }, 8, ["disabled"]), + createVNode(unref(script$5), { + value: "2", + disabled: noGpu.value || hasError.value || highestStep.value < 1 + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.$t("install.migration")), 1) + ]), + _: 1 + }, 8, ["disabled"]), + createVNode(unref(script$5), { + value: "3", + disabled: noGpu.value || hasError.value || highestStep.value < 2 + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(_ctx.$t("install.desktopSettings")), 1) + ]), + _: 1 + }, 8, ["disabled"]) + ]), + _: 1 + }), + createVNode(unref(script$2), null, { + default: withCtx(() => [ + createVNode(unref(script$3), { value: "0" }, { + default: withCtx(({ activateCallback }) => [ + createVNode(GpuPicker, { + device: device.value, + "onUpdate:device": _cache[0] || (_cache[0] = ($event) => device.value = $event) + }, null, 8, ["device"]), + createBaseVNode("div", _hoisted_1, [ + createVNode(unref(script$e), { + label: _ctx.$t("g.next"), + icon: "pi pi-arrow-right", + iconPos: "right", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("1"), "onClick"), + disabled: typeof device.value !== "string" + }, null, 8, ["label", "onClick", "disabled"]) + ]) + ]), + _: 1 + }), + createVNode(unref(script$3), { value: "1" }, { + default: withCtx(({ activateCallback }) => [ + createVNode(_sfc_main$2, { + installPath: installPath.value, + "onUpdate:installPath": _cache[1] || (_cache[1] = ($event) => installPath.value = $event), + pathError: pathError.value, + "onUpdate:pathError": _cache[2] || (_cache[2] = ($event) => pathError.value = $event) + }, null, 8, ["installPath", "pathError"]), + createBaseVNode("div", _hoisted_2, [ + createVNode(unref(script$e), { + label: _ctx.$t("g.back"), + severity: "secondary", + icon: "pi pi-arrow-left", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("0"), "onClick") + }, null, 8, ["label", "onClick"]), + createVNode(unref(script$e), { + label: _ctx.$t("g.next"), + icon: "pi pi-arrow-right", + iconPos: "right", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("2"), "onClick"), + disabled: pathError.value !== "" + }, null, 8, ["label", "onClick", "disabled"]) + ]) + ]), + _: 1 + }), + createVNode(unref(script$3), { value: "2" }, { + default: withCtx(({ activateCallback }) => [ + createVNode(_sfc_main$1, { + sourcePath: migrationSourcePath.value, + "onUpdate:sourcePath": _cache[3] || (_cache[3] = ($event) => migrationSourcePath.value = $event), + migrationItemIds: migrationItemIds.value, + "onUpdate:migrationItemIds": _cache[4] || (_cache[4] = ($event) => migrationItemIds.value = $event) + }, null, 8, ["sourcePath", "migrationItemIds"]), + createBaseVNode("div", _hoisted_3, [ + createVNode(unref(script$e), { + label: _ctx.$t("g.back"), + severity: "secondary", + icon: "pi pi-arrow-left", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("1"), "onClick") + }, null, 8, ["label", "onClick"]), + createVNode(unref(script$e), { + label: _ctx.$t("g.next"), + icon: "pi pi-arrow-right", + iconPos: "right", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("3"), "onClick") + }, null, 8, ["label", "onClick"]) + ]) + ]), + _: 1 + }), + createVNode(unref(script$3), { value: "3" }, { + default: withCtx(({ activateCallback }) => [ + createVNode(_sfc_main$4, { + autoUpdate: autoUpdate.value, + "onUpdate:autoUpdate": _cache[5] || (_cache[5] = ($event) => autoUpdate.value = $event), + allowMetrics: allowMetrics.value, + "onUpdate:allowMetrics": _cache[6] || (_cache[6] = ($event) => allowMetrics.value = $event) + }, null, 8, ["autoUpdate", "allowMetrics"]), + createBaseVNode("div", _hoisted_4, [ + createVNode(unref(script$e), { + label: _ctx.$t("g.back"), + severity: "secondary", + icon: "pi pi-arrow-left", + onClick: /* @__PURE__ */ __name(($event) => activateCallback("2"), "onClick") + }, null, 8, ["label", "onClick"]), + createVNode(unref(script$e), { + label: _ctx.$t("g.install"), + icon: "pi pi-check", + iconPos: "right", + disabled: hasError.value, + onClick: _cache[7] || (_cache[7] = ($event) => install()) + }, null, 8, ["label", "disabled"]) + ]) + ]), + _: 1 + }) + ]), + _: 1 + }) + ]), + _: 1 + }) + ]), + _: 1 + }); + }; + } +}); +const InstallView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-0a97b0ae"]]); +export { + InstallView as default +}; +//# sourceMappingURL=InstallView-By3hC1fC.js.map diff --git a/web/assets/InstallView-CxhfFC8Y.css b/web/assets/InstallView-CxhfFC8Y.css new file mode 100644 index 000000000..a406c8695 --- /dev/null +++ b/web/assets/InstallView-CxhfFC8Y.css @@ -0,0 +1,79 @@ + +.p-tag[data-v-79125ff6] { + --p-tag-gap: 0.5rem; +} +.hover-brighten[data-v-79125ff6] { + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; + transition-property: filter, box-shadow; +&[data-v-79125ff6]:hover { + filter: brightness(107%) contrast(105%); + box-shadow: 0 0 0.25rem #ffffff79; +} +} +.p-accordioncontent-content[data-v-79125ff6] { + border-radius: 0.5rem; + --tw-bg-opacity: 1; + background-color: rgb(23 23 23 / var(--tw-bg-opacity)); + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} +div.selected[data-v-79125ff6] { +.gpu-button[data-v-79125ff6]:not(.selected) { + opacity: 0.5; +} +.gpu-button[data-v-79125ff6]:not(.selected):hover { + opacity: 1; +} +} +.gpu-button[data-v-79125ff6] { + margin: 0px; + display: flex; + width: 50%; + cursor: pointer; + flex-direction: column; + align-items: center; + justify-content: space-around; + border-radius: 0.5rem; + background-color: rgb(38 38 38 / var(--tw-bg-opacity)); + --tw-bg-opacity: 0.5; + transition-property: color, background-color, border-color, text-decoration-color, fill, stroke; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: 150ms; +} +.gpu-button[data-v-79125ff6]:hover { + --tw-bg-opacity: 0.75; +} +.gpu-button[data-v-79125ff6] { +&.selected[data-v-79125ff6] { + --tw-bg-opacity: 1; + background-color: rgb(64 64 64 / var(--tw-bg-opacity)); +} +&.selected[data-v-79125ff6] { + --tw-bg-opacity: 0.5; +} +&.selected[data-v-79125ff6] { + opacity: 1; +} +&.selected[data-v-79125ff6]:hover { + --tw-bg-opacity: 0.6; +} +} +.disabled[data-v-79125ff6] { + pointer-events: none; + opacity: 0.4; +} +.p-card-header[data-v-79125ff6] { + flex-grow: 1; + text-align: center; +} +.p-card-body[data-v-79125ff6] { + padding-top: 0px; + text-align: center; +} + +[data-v-0a97b0ae] .p-steppanel { + background-color: transparent +} diff --git a/web/assets/KeybindingPanel-D6O16W_1.js b/web/assets/KeybindingPanel-D6O16W_1.js new file mode 100644 index 000000000..b0fbfd845 --- /dev/null +++ b/web/assets/KeybindingPanel-D6O16W_1.js @@ -0,0 +1,283 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, c as computed, o as openBlock, f as createElementBlock, H as Fragment, I as renderList, k as createVNode, P as withCtx, aG as createTextVNode, Z as toDisplayString, j as unref, aK as script, L as createCommentVNode, ad as ref, cu as FilterMatchMode, a$ as useKeybindingStore, a4 as useCommandStore, a3 as useI18n, ah as normalizeI18nKey, w as watchEffect, bz as useToast, r as resolveDirective, J as createBlock, cv as SearchBox, m as createBaseVNode, l as script$2, ax as script$4, b3 as withModifiers, c6 as script$5, aP as script$6, i as withDirectives, cw as _sfc_main$2, p as pushScopeId, q as popScopeId, cx as KeyComboImpl, cy as KeybindingImpl, _ as _export_sfc } from "./index-QvfM__ze.js"; +import { s as script$1, a as script$3 } from "./index-DpF-ptbJ.js"; +import { u as useKeybindingService } from "./keybindingService-Cak1En5n.js"; +import "./index-Q1cQr26V.js"; +const _hoisted_1$1 = { + key: 0, + class: "px-2" +}; +const _sfc_main$1 = /* @__PURE__ */ defineComponent({ + __name: "KeyComboDisplay", + props: { + keyCombo: {}, + isModified: { type: Boolean, default: false } + }, + setup(__props) { + const props = __props; + const keySequences = computed(() => props.keyCombo.getKeySequences()); + return (_ctx, _cache) => { + return openBlock(), createElementBlock("span", null, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(keySequences.value, (sequence, index) => { + return openBlock(), createElementBlock(Fragment, { key: index }, [ + createVNode(unref(script), { + severity: _ctx.isModified ? "info" : "secondary" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(sequence), 1) + ]), + _: 2 + }, 1032, ["severity"]), + index < keySequences.value.length - 1 ? (openBlock(), createElementBlock("span", _hoisted_1$1, "+")) : createCommentVNode("", true) + ], 64); + }), 128)) + ]); + }; + } +}); +const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-2554ab36"), n = n(), popScopeId(), n), "_withScopeId"); +const _hoisted_1 = { class: "actions invisible flex flex-row" }; +const _hoisted_2 = ["title"]; +const _hoisted_3 = { key: 1 }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "KeybindingPanel", + setup(__props) { + const filters = ref({ + global: { value: "", matchMode: FilterMatchMode.CONTAINS } + }); + const keybindingStore = useKeybindingStore(); + const keybindingService = useKeybindingService(); + const commandStore = useCommandStore(); + const { t } = useI18n(); + const commandsData = computed(() => { + return Object.values(commandStore.commands).map((command) => ({ + id: command.id, + label: t(`commands.${normalizeI18nKey(command.id)}.label`, command.label), + keybinding: keybindingStore.getKeybindingByCommandId(command.id) + })); + }); + const selectedCommandData = ref(null); + const editDialogVisible = ref(false); + const newBindingKeyCombo = ref(null); + const currentEditingCommand = ref(null); + const keybindingInput = ref(null); + const existingKeybindingOnCombo = computed(() => { + if (!currentEditingCommand.value) { + return null; + } + if (currentEditingCommand.value.keybinding?.combo?.equals( + newBindingKeyCombo.value + )) { + return null; + } + if (!newBindingKeyCombo.value) { + return null; + } + return keybindingStore.getKeybinding(newBindingKeyCombo.value); + }); + function editKeybinding(commandData) { + currentEditingCommand.value = commandData; + newBindingKeyCombo.value = commandData.keybinding ? commandData.keybinding.combo : null; + editDialogVisible.value = true; + } + __name(editKeybinding, "editKeybinding"); + watchEffect(() => { + if (editDialogVisible.value) { + setTimeout(() => { + keybindingInput.value?.$el?.focus(); + }, 300); + } + }); + function removeKeybinding(commandData) { + if (commandData.keybinding) { + keybindingStore.unsetKeybinding(commandData.keybinding); + keybindingService.persistUserKeybindings(); + } + } + __name(removeKeybinding, "removeKeybinding"); + function captureKeybinding(event) { + const keyCombo = KeyComboImpl.fromEvent(event); + newBindingKeyCombo.value = keyCombo; + } + __name(captureKeybinding, "captureKeybinding"); + function cancelEdit() { + editDialogVisible.value = false; + currentEditingCommand.value = null; + newBindingKeyCombo.value = null; + } + __name(cancelEdit, "cancelEdit"); + function saveKeybinding() { + if (currentEditingCommand.value && newBindingKeyCombo.value) { + const updated = keybindingStore.updateKeybindingOnCommand( + new KeybindingImpl({ + commandId: currentEditingCommand.value.id, + combo: newBindingKeyCombo.value + }) + ); + if (updated) { + keybindingService.persistUserKeybindings(); + } + } + cancelEdit(); + } + __name(saveKeybinding, "saveKeybinding"); + const toast = useToast(); + async function resetKeybindings() { + keybindingStore.resetKeybindings(); + await keybindingService.persistUserKeybindings(); + toast.add({ + severity: "info", + summary: "Info", + detail: "Keybindings reset", + life: 3e3 + }); + } + __name(resetKeybindings, "resetKeybindings"); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createBlock(_sfc_main$2, { + value: "Keybinding", + class: "keybinding-panel" + }, { + header: withCtx(() => [ + createVNode(SearchBox, { + modelValue: filters.value["global"].value, + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => filters.value["global"].value = $event), + placeholder: _ctx.$t("g.searchKeybindings") + "..." + }, null, 8, ["modelValue", "placeholder"]) + ]), + default: withCtx(() => [ + createVNode(unref(script$3), { + value: commandsData.value, + selection: selectedCommandData.value, + "onUpdate:selection": _cache[1] || (_cache[1] = ($event) => selectedCommandData.value = $event), + "global-filter-fields": ["id"], + filters: filters.value, + selectionMode: "single", + stripedRows: "", + pt: { + header: "px-0" + } + }, { + default: withCtx(() => [ + createVNode(unref(script$1), { + field: "actions", + header: "" + }, { + body: withCtx((slotProps) => [ + createBaseVNode("div", _hoisted_1, [ + createVNode(unref(script$2), { + icon: "pi pi-pencil", + class: "p-button-text", + onClick: /* @__PURE__ */ __name(($event) => editKeybinding(slotProps.data), "onClick") + }, null, 8, ["onClick"]), + createVNode(unref(script$2), { + icon: "pi pi-trash", + class: "p-button-text p-button-danger", + onClick: /* @__PURE__ */ __name(($event) => removeKeybinding(slotProps.data), "onClick"), + disabled: !slotProps.data.keybinding + }, null, 8, ["onClick", "disabled"]) + ]) + ]), + _: 1 + }), + createVNode(unref(script$1), { + field: "id", + header: _ctx.$t("g.command"), + sortable: "", + class: "max-w-64 2xl:max-w-full" + }, { + body: withCtx((slotProps) => [ + createBaseVNode("div", { + class: "overflow-hidden text-ellipsis whitespace-nowrap", + title: slotProps.data.id + }, toDisplayString(slotProps.data.label), 9, _hoisted_2) + ]), + _: 1 + }, 8, ["header"]), + createVNode(unref(script$1), { + field: "keybinding", + header: _ctx.$t("g.keybinding") + }, { + body: withCtx((slotProps) => [ + slotProps.data.keybinding ? (openBlock(), createBlock(_sfc_main$1, { + key: 0, + keyCombo: slotProps.data.keybinding.combo, + isModified: unref(keybindingStore).isCommandKeybindingModified(slotProps.data.id) + }, null, 8, ["keyCombo", "isModified"])) : (openBlock(), createElementBlock("span", _hoisted_3, "-")) + ]), + _: 1 + }, 8, ["header"]) + ]), + _: 1 + }, 8, ["value", "selection", "filters"]), + createVNode(unref(script$6), { + class: "min-w-96", + visible: editDialogVisible.value, + "onUpdate:visible": _cache[2] || (_cache[2] = ($event) => editDialogVisible.value = $event), + modal: "", + header: currentEditingCommand.value?.id, + onHide: cancelEdit + }, { + footer: withCtx(() => [ + createVNode(unref(script$2), { + label: "Save", + icon: "pi pi-check", + onClick: saveKeybinding, + disabled: !!existingKeybindingOnCombo.value, + autofocus: "" + }, null, 8, ["disabled"]) + ]), + default: withCtx(() => [ + createBaseVNode("div", null, [ + createVNode(unref(script$4), { + class: "mb-2 text-center", + ref_key: "keybindingInput", + ref: keybindingInput, + modelValue: newBindingKeyCombo.value?.toString() ?? "", + placeholder: "Press keys for new binding", + onKeydown: withModifiers(captureKeybinding, ["stop", "prevent"]), + autocomplete: "off", + fluid: "", + invalid: !!existingKeybindingOnCombo.value + }, null, 8, ["modelValue", "invalid"]), + existingKeybindingOnCombo.value ? (openBlock(), createBlock(unref(script$5), { + key: 0, + severity: "error" + }, { + default: withCtx(() => [ + createTextVNode(" Keybinding already exists on "), + createVNode(unref(script), { + severity: "secondary", + value: existingKeybindingOnCombo.value.commandId + }, null, 8, ["value"]) + ]), + _: 1 + })) : createCommentVNode("", true) + ]) + ]), + _: 1 + }, 8, ["visible", "header"]), + withDirectives(createVNode(unref(script$2), { + class: "mt-4", + label: _ctx.$t("g.reset"), + icon: "pi pi-trash", + severity: "danger", + fluid: "", + text: "", + onClick: resetKeybindings + }, null, 8, ["label"]), [ + [_directive_tooltip, _ctx.$t("g.resetKeybindingsTooltip")] + ]) + ]), + _: 1 + }); + }; + } +}); +const KeybindingPanel = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-2554ab36"]]); +export { + KeybindingPanel as default +}; +//# sourceMappingURL=KeybindingPanel-D6O16W_1.js.map diff --git a/web/assets/KeybindingPanel-DvrUYZ4S.css b/web/assets/KeybindingPanel-DvrUYZ4S.css new file mode 100644 index 000000000..8f714bcdb --- /dev/null +++ b/web/assets/KeybindingPanel-DvrUYZ4S.css @@ -0,0 +1,8 @@ + +[data-v-2554ab36] .p-datatable-tbody > tr > td { + padding: 0.25rem; + min-height: 2rem +} +[data-v-2554ab36] .p-datatable-row-selected .actions,[data-v-2554ab36] .p-datatable-selectable-row:hover .actions { + visibility: visible +} diff --git a/web/assets/ManualConfigurationView-CsirlNfV.css b/web/assets/ManualConfigurationView-CsirlNfV.css new file mode 100644 index 000000000..dba81a0bb --- /dev/null +++ b/web/assets/ManualConfigurationView-CsirlNfV.css @@ -0,0 +1,7 @@ + +.p-tag[data-v-dc169863] { + --p-tag-gap: 0.5rem; +} +.comfy-installer[data-v-dc169863] { + margin-top: max(1rem, max(0px, calc((100vh - 42rem) * 0.5))); +} diff --git a/web/assets/ManualConfigurationView-enyqGo0M.js b/web/assets/ManualConfigurationView-enyqGo0M.js new file mode 100644 index 000000000..43131f52c --- /dev/null +++ b/web/assets/ManualConfigurationView-enyqGo0M.js @@ -0,0 +1,75 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, a3 as useI18n, ad as ref, t as onMounted, o as openBlock, J as createBlock, P as withCtx, m as createBaseVNode, Z as toDisplayString, k as createVNode, j as unref, aK as script, bN as script$1, l as script$2, p as pushScopeId, q as popScopeId, bV as electronAPI, _ as _export_sfc } from "./index-QvfM__ze.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-BhQMaVFP.js"; +const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-dc169863"), n = n(), popScopeId(), n), "_withScopeId"); +const _hoisted_1 = { class: "comfy-installer grow flex flex-col gap-4 text-neutral-300 max-w-110" }; +const _hoisted_2 = { class: "text-2xl font-semibold text-neutral-100" }; +const _hoisted_3 = { class: "m-1 text-neutral-300" }; +const _hoisted_4 = { class: "ml-2" }; +const _hoisted_5 = { class: "m-1 mb-4" }; +const _hoisted_6 = { class: "m-0" }; +const _hoisted_7 = { class: "m-1" }; +const _hoisted_8 = { class: "font-mono" }; +const _hoisted_9 = { class: "m-1" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ManualConfigurationView", + setup(__props) { + const { t } = useI18n(); + const electron = electronAPI(); + const basePath = ref(null); + const sep = ref("/"); + const restartApp = /* @__PURE__ */ __name((message) => electron.restartApp(message), "restartApp"); + onMounted(async () => { + basePath.value = await electron.getBasePath(); + if (basePath.value.indexOf("/") === -1) sep.value = "\\"; + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$1, { dark: "" }, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_1, [ + createBaseVNode("h2", _hoisted_2, toDisplayString(_ctx.$t("install.manualConfiguration.title")), 1), + createBaseVNode("p", _hoisted_3, [ + createVNode(unref(script), { + icon: "pi pi-exclamation-triangle", + severity: "warn", + value: unref(t)("icon.exclamation-triangle") + }, null, 8, ["value"]), + createBaseVNode("strong", _hoisted_4, toDisplayString(_ctx.$t("install.gpuSelection.customComfyNeedsPython")), 1) + ]), + createBaseVNode("div", null, [ + createBaseVNode("p", _hoisted_5, toDisplayString(_ctx.$t("install.manualConfiguration.requirements")) + ": ", 1), + createBaseVNode("ul", _hoisted_6, [ + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.gpuSelection.customManualVenv")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t("install.gpuSelection.customInstallRequirements")), 1) + ]) + ]), + createBaseVNode("p", _hoisted_7, toDisplayString(_ctx.$t("install.manualConfiguration.createVenv")) + ":", 1), + createVNode(unref(script$1), { + header: unref(t)("install.manualConfiguration.virtualEnvironmentPath") + }, { + default: withCtx(() => [ + createBaseVNode("span", _hoisted_8, toDisplayString(`${basePath.value}${sep.value}.venv${sep.value}`), 1) + ]), + _: 1 + }, 8, ["header"]), + createBaseVNode("p", _hoisted_9, toDisplayString(_ctx.$t("install.manualConfiguration.restartWhenFinished")), 1), + createVNode(unref(script$2), { + class: "place-self-end", + label: unref(t)("menuLabels.Restart"), + severity: "warn", + icon: "pi pi-refresh", + onClick: _cache[0] || (_cache[0] = ($event) => restartApp("Manual configuration complete")) + }, null, 8, ["label"]) + ]) + ]), + _: 1 + }); + }; + } +}); +const ManualConfigurationView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-dc169863"]]); +export { + ManualConfigurationView as default +}; +//# sourceMappingURL=ManualConfigurationView-enyqGo0M.js.map diff --git a/web/assets/MetricsConsentView-lSfLu4nr.js b/web/assets/MetricsConsentView-lSfLu4nr.js new file mode 100644 index 000000000..a53fdbb9c --- /dev/null +++ b/web/assets/MetricsConsentView-lSfLu4nr.js @@ -0,0 +1,86 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { _ as _sfc_main$1 } from "./BaseViewTemplate-BhQMaVFP.js"; +import { d as defineComponent, bz as useToast, a3 as useI18n, ad as ref, c2 as useRouter, o as openBlock, J as createBlock, P as withCtx, m as createBaseVNode, Z as toDisplayString, aG as createTextVNode, k as createVNode, j as unref, cc as script, l as script$1, bV as electronAPI } from "./index-QvfM__ze.js"; +const _hoisted_1 = { class: "h-full p-8 2xl:p-16 flex flex-col items-center justify-center" }; +const _hoisted_2 = { class: "bg-neutral-800 rounded-lg shadow-lg p-6 w-full max-w-[600px] flex flex-col gap-6" }; +const _hoisted_3 = { class: "text-3xl font-semibold text-neutral-100" }; +const _hoisted_4 = { class: "text-neutral-400" }; +const _hoisted_5 = { class: "text-neutral-400" }; +const _hoisted_6 = { + href: "https://comfy.org/privacy", + target: "_blank", + class: "text-blue-400 hover:text-blue-300 underline" +}; +const _hoisted_7 = { class: "flex items-center gap-4" }; +const _hoisted_8 = { + id: "metricsDescription", + class: "text-neutral-100" +}; +const _hoisted_9 = { class: "flex pt-6 justify-end" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "MetricsConsentView", + setup(__props) { + const toast = useToast(); + const { t } = useI18n(); + const allowMetrics = ref(true); + const router = useRouter(); + const isUpdating = ref(false); + const updateConsent = /* @__PURE__ */ __name(async () => { + isUpdating.value = true; + try { + await electronAPI().setMetricsConsent(allowMetrics.value); + } catch (error) { + toast.add({ + severity: "error", + summary: t("install.errorUpdatingConsent"), + detail: t("install.errorUpdatingConsentDetail"), + life: 3e3 + }); + } finally { + isUpdating.value = false; + } + router.push("/"); + }, "updateConsent"); + return (_ctx, _cache) => { + const _component_BaseViewTemplate = _sfc_main$1; + return openBlock(), createBlock(_component_BaseViewTemplate, { dark: "" }, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_1, [ + createBaseVNode("div", _hoisted_2, [ + createBaseVNode("h2", _hoisted_3, toDisplayString(_ctx.$t("install.helpImprove")), 1), + createBaseVNode("p", _hoisted_4, toDisplayString(_ctx.$t("install.updateConsent")), 1), + createBaseVNode("p", _hoisted_5, [ + createTextVNode(toDisplayString(_ctx.$t("install.moreInfo")) + " ", 1), + createBaseVNode("a", _hoisted_6, toDisplayString(_ctx.$t("install.privacyPolicy")), 1), + createTextVNode(". ") + ]), + createBaseVNode("div", _hoisted_7, [ + createVNode(unref(script), { + modelValue: allowMetrics.value, + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => allowMetrics.value = $event), + "aria-describedby": "metricsDescription" + }, null, 8, ["modelValue"]), + createBaseVNode("span", _hoisted_8, toDisplayString(allowMetrics.value ? _ctx.$t("install.metricsEnabled") : _ctx.$t("install.metricsDisabled")), 1) + ]), + createBaseVNode("div", _hoisted_9, [ + createVNode(unref(script$1), { + label: _ctx.$t("g.ok"), + icon: "pi pi-check", + loading: isUpdating.value, + iconPos: "right", + onClick: updateConsent + }, null, 8, ["label", "loading"]) + ]) + ]) + ]) + ]), + _: 1 + }); + }; + } +}); +export { + _sfc_main as default +}; +//# sourceMappingURL=MetricsConsentView-lSfLu4nr.js.map diff --git a/web/assets/NotSupportedView-DQerxQzi.css b/web/assets/NotSupportedView-DQerxQzi.css new file mode 100644 index 000000000..3b90d2796 --- /dev/null +++ b/web/assets/NotSupportedView-DQerxQzi.css @@ -0,0 +1,17 @@ + +.sad-container[data-v-ebb20958] { + display: grid; + align-items: center; + justify-content: space-evenly; + grid-template-columns: 25rem 1fr; +&[data-v-ebb20958] > * { + grid-row: 1; +} +} +.sad-text[data-v-ebb20958] { + grid-column: 1/3; +} +.sad-girl[data-v-ebb20958] { + grid-column: 2/3; + width: min(75vw, 100vh); +} diff --git a/web/assets/NotSupportedView-Vc8_xWgH.js b/web/assets/NotSupportedView-Vc8_xWgH.js new file mode 100644 index 000000000..ebc712a47 --- /dev/null +++ b/web/assets/NotSupportedView-Vc8_xWgH.js @@ -0,0 +1,88 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, c2 as useRouter, r as resolveDirective, o as openBlock, J as createBlock, P as withCtx, m as createBaseVNode, Z as toDisplayString, k as createVNode, j as unref, l as script, i as withDirectives, p as pushScopeId, q as popScopeId, _ as _export_sfc } from "./index-QvfM__ze.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-BhQMaVFP.js"; +const _imports_0 = "" + new URL("images/sad_girl.png", import.meta.url).href; +const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-ebb20958"), n = n(), popScopeId(), n), "_withScopeId"); +const _hoisted_1 = { class: "sad-container" }; +const _hoisted_2 = /* @__PURE__ */ _withScopeId(() => /* @__PURE__ */ createBaseVNode("img", { + class: "sad-girl", + src: _imports_0, + alt: "Sad girl illustration" +}, null, -1)); +const _hoisted_3 = { class: "no-drag sad-text flex items-center" }; +const _hoisted_4 = { class: "flex flex-col gap-8 p-8 min-w-110" }; +const _hoisted_5 = { class: "text-4xl font-bold text-red-500" }; +const _hoisted_6 = { class: "space-y-4" }; +const _hoisted_7 = { class: "text-xl" }; +const _hoisted_8 = { class: "list-disc list-inside space-y-1 text-neutral-800" }; +const _hoisted_9 = { class: "flex gap-4" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "NotSupportedView", + setup(__props) { + const openDocs = /* @__PURE__ */ __name(() => { + window.open( + "https://github.com/Comfy-Org/desktop#currently-supported-platforms", + "_blank" + ); + }, "openDocs"); + const reportIssue = /* @__PURE__ */ __name(() => { + window.open("https://forum.comfy.org/c/v1-feedback/", "_blank"); + }, "reportIssue"); + const router = useRouter(); + const continueToInstall = /* @__PURE__ */ __name(() => { + router.push("/install"); + }, "continueToInstall"); + return (_ctx, _cache) => { + const _directive_tooltip = resolveDirective("tooltip"); + return openBlock(), createBlock(_sfc_main$1, null, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_1, [ + _hoisted_2, + createBaseVNode("div", _hoisted_3, [ + createBaseVNode("div", _hoisted_4, [ + createBaseVNode("h1", _hoisted_5, toDisplayString(_ctx.$t("notSupported.title")), 1), + createBaseVNode("div", _hoisted_6, [ + createBaseVNode("p", _hoisted_7, toDisplayString(_ctx.$t("notSupported.message")), 1), + createBaseVNode("ul", _hoisted_8, [ + createBaseVNode("li", null, toDisplayString(_ctx.$t("notSupported.supportedDevices.macos")), 1), + createBaseVNode("li", null, toDisplayString(_ctx.$t("notSupported.supportedDevices.windows")), 1) + ]) + ]), + createBaseVNode("div", _hoisted_9, [ + createVNode(unref(script), { + label: _ctx.$t("notSupported.learnMore"), + icon: "pi pi-github", + onClick: openDocs, + severity: "secondary" + }, null, 8, ["label"]), + createVNode(unref(script), { + label: _ctx.$t("notSupported.reportIssue"), + icon: "pi pi-flag", + onClick: reportIssue, + severity: "secondary" + }, null, 8, ["label"]), + withDirectives(createVNode(unref(script), { + label: _ctx.$t("notSupported.continue"), + icon: "pi pi-arrow-right", + iconPos: "right", + onClick: continueToInstall, + severity: "danger" + }, null, 8, ["label"]), [ + [_directive_tooltip, _ctx.$t("notSupported.continueTooltip")] + ]) + ]) + ]) + ]) + ]) + ]), + _: 1 + }); + }; + } +}); +const NotSupportedView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-ebb20958"]]); +export { + NotSupportedView as default +}; +//# sourceMappingURL=NotSupportedView-Vc8_xWgH.js.map diff --git a/web/assets/ServerConfigPanel-B-w0HFlz.js b/web/assets/ServerConfigPanel-B-w0HFlz.js new file mode 100644 index 000000000..d00cf672a --- /dev/null +++ b/web/assets/ServerConfigPanel-B-w0HFlz.js @@ -0,0 +1,158 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { m as createBaseVNode, o as openBlock, f as createElementBlock, a0 as markRaw, d as defineComponent, a as useSettingStore, aS as storeToRefs, a7 as watch, cW as useCopyToClipboard, a3 as useI18n, J as createBlock, P as withCtx, j as unref, c6 as script, Z as toDisplayString, I as renderList, H as Fragment, k as createVNode, l as script$1, L as createCommentVNode, c4 as script$2, cX as FormItem, cw as _sfc_main$1, bV as electronAPI } from "./index-QvfM__ze.js"; +import { u as useServerConfigStore } from "./serverConfigStore-DCme3xlV.js"; +const _hoisted_1$1 = { + viewBox: "0 0 24 24", + width: "1.2em", + height: "1.2em" +}; +const _hoisted_2$1 = /* @__PURE__ */ createBaseVNode("path", { + fill: "none", + stroke: "currentColor", + "stroke-linecap": "round", + "stroke-linejoin": "round", + "stroke-width": "2", + d: "m4 17l6-6l-6-6m8 14h8" +}, null, -1); +const _hoisted_3$1 = [ + _hoisted_2$1 +]; +function render(_ctx, _cache) { + return openBlock(), createElementBlock("svg", _hoisted_1$1, [..._hoisted_3$1]); +} +__name(render, "render"); +const __unplugin_components_0 = markRaw({ name: "lucide-terminal", render }); +const _hoisted_1 = { class: "flex flex-col gap-2" }; +const _hoisted_2 = { class: "flex justify-end gap-2" }; +const _hoisted_3 = { class: "flex items-center justify-between" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ServerConfigPanel", + setup(__props) { + const settingStore = useSettingStore(); + const serverConfigStore = useServerConfigStore(); + const { + serverConfigsByCategory, + serverConfigValues, + launchArgs, + commandLineArgs, + modifiedConfigs + } = storeToRefs(serverConfigStore); + const revertChanges = /* @__PURE__ */ __name(() => { + serverConfigStore.revertChanges(); + }, "revertChanges"); + const restartApp = /* @__PURE__ */ __name(() => { + electronAPI().restartApp(); + }, "restartApp"); + watch(launchArgs, (newVal) => { + settingStore.set("Comfy.Server.LaunchArgs", newVal); + }); + watch(serverConfigValues, (newVal) => { + settingStore.set("Comfy.Server.ServerConfigValues", newVal); + }); + const { copyToClipboard } = useCopyToClipboard(); + const copyCommandLineArgs = /* @__PURE__ */ __name(async () => { + await copyToClipboard(commandLineArgs.value); + }, "copyCommandLineArgs"); + const { t } = useI18n(); + const translateItem = /* @__PURE__ */ __name((item) => { + return { + ...item, + name: t(`serverConfigItems.${item.id}.name`, item.name), + tooltip: item.tooltip ? t(`serverConfigItems.${item.id}.tooltip`, item.tooltip) : void 0 + }; + }, "translateItem"); + return (_ctx, _cache) => { + const _component_i_lucide58terminal = __unplugin_components_0; + return openBlock(), createBlock(_sfc_main$1, { + value: "Server-Config", + class: "server-config-panel" + }, { + header: withCtx(() => [ + createBaseVNode("div", _hoisted_1, [ + unref(modifiedConfigs).length > 0 ? (openBlock(), createBlock(unref(script), { + key: 0, + severity: "info", + "pt:text": "w-full" + }, { + default: withCtx(() => [ + createBaseVNode("p", null, toDisplayString(_ctx.$t("serverConfig.modifiedConfigs")), 1), + createBaseVNode("ul", null, [ + (openBlock(true), createElementBlock(Fragment, null, renderList(unref(modifiedConfigs), (config) => { + return openBlock(), createElementBlock("li", { + key: config.id + }, toDisplayString(config.name) + ": " + toDisplayString(config.initialValue) + " → " + toDisplayString(config.value), 1); + }), 128)) + ]), + createBaseVNode("div", _hoisted_2, [ + createVNode(unref(script$1), { + label: _ctx.$t("serverConfig.revertChanges"), + onClick: revertChanges, + outlined: "" + }, null, 8, ["label"]), + createVNode(unref(script$1), { + label: _ctx.$t("serverConfig.restart"), + onClick: restartApp, + outlined: "", + severity: "danger" + }, null, 8, ["label"]) + ]) + ]), + _: 1 + })) : createCommentVNode("", true), + unref(commandLineArgs) ? (openBlock(), createBlock(unref(script), { + key: 1, + severity: "secondary", + "pt:text": "w-full" + }, { + icon: withCtx(() => [ + createVNode(_component_i_lucide58terminal, { class: "text-xl font-bold" }) + ]), + default: withCtx(() => [ + createBaseVNode("div", _hoisted_3, [ + createBaseVNode("p", null, toDisplayString(unref(commandLineArgs)), 1), + createVNode(unref(script$1), { + icon: "pi pi-clipboard", + onClick: copyCommandLineArgs, + severity: "secondary", + text: "" + }) + ]) + ]), + _: 1 + })) : createCommentVNode("", true) + ]) + ]), + default: withCtx(() => [ + (openBlock(true), createElementBlock(Fragment, null, renderList(Object.entries(unref(serverConfigsByCategory)), ([label, items], i) => { + return openBlock(), createElementBlock("div", { key: label }, [ + i > 0 ? (openBlock(), createBlock(unref(script$2), { key: 0 })) : createCommentVNode("", true), + createBaseVNode("h3", null, toDisplayString(_ctx.$t(`serverConfigCategories.${label}`, label)), 1), + (openBlock(true), createElementBlock(Fragment, null, renderList(items, (item) => { + return openBlock(), createElementBlock("div", { + key: item.name, + class: "mb-4" + }, [ + createVNode(FormItem, { + item: translateItem(item), + formValue: item.value, + "onUpdate:formValue": /* @__PURE__ */ __name(($event) => item.value = $event, "onUpdate:formValue"), + id: item.id, + labelClass: { + "text-highlight": item.initialValue !== item.value + } + }, null, 8, ["item", "formValue", "onUpdate:formValue", "id", "labelClass"]) + ]); + }), 128)) + ]); + }), 128)) + ]), + _: 1 + }); + }; + } +}); +export { + _sfc_main as default +}; +//# sourceMappingURL=ServerConfigPanel-B-w0HFlz.js.map diff --git a/web/assets/ServerStartView-48wfE1MS.js b/web/assets/ServerStartView-48wfE1MS.js new file mode 100644 index 000000000..4b74f5ad1 --- /dev/null +++ b/web/assets/ServerStartView-48wfE1MS.js @@ -0,0 +1,101 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, a3 as useI18n, ad as ref, c7 as ProgressStatus, t as onMounted, o as openBlock, J as createBlock, P as withCtx, m as createBaseVNode, aG as createTextVNode, Z as toDisplayString, j as unref, f as createElementBlock, L as createCommentVNode, k as createVNode, l as script, i as withDirectives, v as vShow, c8 as BaseTerminal, p as pushScopeId, q as popScopeId, bV as electronAPI, _ as _export_sfc } from "./index-QvfM__ze.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-BhQMaVFP.js"; +const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-4140d62b"), n = n(), popScopeId(), n), "_withScopeId"); +const _hoisted_1 = { class: "flex flex-col w-full h-full items-center" }; +const _hoisted_2 = { class: "text-2xl font-bold" }; +const _hoisted_3 = { key: 0 }; +const _hoisted_4 = { + key: 0, + class: "flex flex-col items-center gap-4" +}; +const _hoisted_5 = { class: "flex items-center my-4 gap-2" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "ServerStartView", + setup(__props) { + const electron = electronAPI(); + const { t } = useI18n(); + const status = ref(ProgressStatus.INITIAL_STATE); + const electronVersion = ref(""); + let xterm; + const terminalVisible = ref(true); + const updateProgress = /* @__PURE__ */ __name(({ status: newStatus }) => { + status.value = newStatus; + if (newStatus === ProgressStatus.ERROR) terminalVisible.value = false; + else xterm?.clear(); + }, "updateProgress"); + const terminalCreated = /* @__PURE__ */ __name(({ terminal, useAutoSize }, root) => { + xterm = terminal; + useAutoSize({ root, autoRows: true, autoCols: true }); + electron.onLogMessage((message) => { + terminal.write(message); + }); + terminal.options.cursorBlink = false; + terminal.options.disableStdin = true; + terminal.options.cursorInactiveStyle = "block"; + }, "terminalCreated"); + const reinstall = /* @__PURE__ */ __name(() => electron.reinstall(), "reinstall"); + const reportIssue = /* @__PURE__ */ __name(() => { + window.open("https://forum.comfy.org/c/v1-feedback/", "_blank"); + }, "reportIssue"); + const openLogs = /* @__PURE__ */ __name(() => electron.openLogsFolder(), "openLogs"); + onMounted(async () => { + electron.sendReady(); + electron.onProgressUpdate(updateProgress); + electronVersion.value = await electron.getElectronVersion(); + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$1, { + dark: "", + class: "flex-col" + }, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_1, [ + createBaseVNode("h2", _hoisted_2, [ + createTextVNode(toDisplayString(unref(t)(`serverStart.process.${status.value}`)) + " ", 1), + status.value === unref(ProgressStatus).ERROR ? (openBlock(), createElementBlock("span", _hoisted_3, " v" + toDisplayString(electronVersion.value), 1)) : createCommentVNode("", true) + ]), + status.value === unref(ProgressStatus).ERROR ? (openBlock(), createElementBlock("div", _hoisted_4, [ + createBaseVNode("div", _hoisted_5, [ + createVNode(unref(script), { + icon: "pi pi-flag", + severity: "secondary", + label: unref(t)("serverStart.reportIssue"), + onClick: reportIssue + }, null, 8, ["label"]), + createVNode(unref(script), { + icon: "pi pi-file", + severity: "secondary", + label: unref(t)("serverStart.openLogs"), + onClick: openLogs + }, null, 8, ["label"]), + createVNode(unref(script), { + icon: "pi pi-refresh", + label: unref(t)("serverStart.reinstall"), + onClick: reinstall + }, null, 8, ["label"]) + ]), + !terminalVisible.value ? (openBlock(), createBlock(unref(script), { + key: 0, + icon: "pi pi-search", + severity: "secondary", + label: unref(t)("serverStart.showTerminal"), + onClick: _cache[0] || (_cache[0] = ($event) => terminalVisible.value = true) + }, null, 8, ["label"])) : createCommentVNode("", true) + ])) : createCommentVNode("", true), + withDirectives(createVNode(BaseTerminal, { onCreated: terminalCreated }, null, 512), [ + [vShow, terminalVisible.value] + ]) + ]) + ]), + _: 1 + }); + }; + } +}); +const ServerStartView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-4140d62b"]]); +export { + ServerStartView as default +}; +//# sourceMappingURL=ServerStartView-48wfE1MS.js.map diff --git a/web/assets/ServerStartView-CJiwVDQY.css b/web/assets/ServerStartView-CJiwVDQY.css new file mode 100644 index 000000000..7d53a927c --- /dev/null +++ b/web/assets/ServerStartView-CJiwVDQY.css @@ -0,0 +1,5 @@ + +[data-v-4140d62b] .xterm-helper-textarea { + /* Hide this as it moves all over when uv is running */ + display: none; +} diff --git a/web/assets/UserSelectView-CXmVKOeK.js b/web/assets/UserSelectView-CXmVKOeK.js new file mode 100644 index 000000000..88b4d3f3d --- /dev/null +++ b/web/assets/UserSelectView-CXmVKOeK.js @@ -0,0 +1,102 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, aX as useUserStore, c2 as useRouter, ad as ref, c as computed, t as onMounted, o as openBlock, J as createBlock, P as withCtx, m as createBaseVNode, Z as toDisplayString, k as createVNode, c3 as withKeys, j as unref, ax as script, c4 as script$1, c5 as script$2, c6 as script$3, aG as createTextVNode, L as createCommentVNode, l as script$4 } from "./index-QvfM__ze.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-BhQMaVFP.js"; +const _hoisted_1 = { + id: "comfy-user-selection", + class: "min-w-84 relative rounded-lg bg-[var(--comfy-menu-bg)] p-5 px-10 shadow-lg" +}; +const _hoisted_2 = /* @__PURE__ */ createBaseVNode("h1", { class: "my-2.5 mb-7 font-normal" }, "ComfyUI", -1); +const _hoisted_3 = { class: "flex w-full flex-col items-center" }; +const _hoisted_4 = { class: "flex w-full flex-col gap-2" }; +const _hoisted_5 = { for: "new-user-input" }; +const _hoisted_6 = { class: "flex w-full flex-col gap-2" }; +const _hoisted_7 = { for: "existing-user-select" }; +const _hoisted_8 = { class: "mt-5" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "UserSelectView", + setup(__props) { + const userStore = useUserStore(); + const router = useRouter(); + const selectedUser = ref(null); + const newUsername = ref(""); + const loginError = ref(""); + const createNewUser = computed(() => newUsername.value.trim() !== ""); + const newUserExistsError = computed(() => { + return userStore.users.find((user) => user.username === newUsername.value) ? `User "${newUsername.value}" already exists` : ""; + }); + const error = computed(() => newUserExistsError.value || loginError.value); + const login = /* @__PURE__ */ __name(async () => { + try { + const user = createNewUser.value ? await userStore.createUser(newUsername.value) : selectedUser.value; + if (!user) { + throw new Error("No user selected"); + } + userStore.login(user); + router.push("/"); + } catch (err) { + loginError.value = err.message ?? JSON.stringify(err); + } + }, "login"); + onMounted(async () => { + if (!userStore.initialized) { + await userStore.initialize(); + } + }); + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$1, { dark: "" }, { + default: withCtx(() => [ + createBaseVNode("main", _hoisted_1, [ + _hoisted_2, + createBaseVNode("div", _hoisted_3, [ + createBaseVNode("div", _hoisted_4, [ + createBaseVNode("label", _hoisted_5, toDisplayString(_ctx.$t("userSelect.newUser")) + ":", 1), + createVNode(unref(script), { + id: "new-user-input", + modelValue: newUsername.value, + "onUpdate:modelValue": _cache[0] || (_cache[0] = ($event) => newUsername.value = $event), + placeholder: _ctx.$t("userSelect.enterUsername"), + onKeyup: withKeys(login, ["enter"]) + }, null, 8, ["modelValue", "placeholder"]) + ]), + createVNode(unref(script$1)), + createBaseVNode("div", _hoisted_6, [ + createBaseVNode("label", _hoisted_7, toDisplayString(_ctx.$t("userSelect.existingUser")) + ":", 1), + createVNode(unref(script$2), { + modelValue: selectedUser.value, + "onUpdate:modelValue": _cache[1] || (_cache[1] = ($event) => selectedUser.value = $event), + class: "w-full", + inputId: "existing-user-select", + options: unref(userStore).users, + "option-label": "username", + placeholder: _ctx.$t("userSelect.selectUser"), + disabled: createNewUser.value + }, null, 8, ["modelValue", "options", "placeholder", "disabled"]), + error.value ? (openBlock(), createBlock(unref(script$3), { + key: 0, + severity: "error" + }, { + default: withCtx(() => [ + createTextVNode(toDisplayString(error.value), 1) + ]), + _: 1 + })) : createCommentVNode("", true) + ]), + createBaseVNode("footer", _hoisted_8, [ + createVNode(unref(script$4), { + label: _ctx.$t("userSelect.next"), + onClick: login + }, null, 8, ["label"]) + ]) + ]) + ]) + ]), + _: 1 + }); + }; + } +}); +export { + _sfc_main as default +}; +//# sourceMappingURL=UserSelectView-CXmVKOeK.js.map diff --git a/web/assets/WelcomeView-Brz3-luE.css b/web/assets/WelcomeView-Brz3-luE.css new file mode 100644 index 000000000..522f34388 --- /dev/null +++ b/web/assets/WelcomeView-Brz3-luE.css @@ -0,0 +1,36 @@ + +.animated-gradient-text[data-v-7dfaf74c] { + font-weight: 700; + font-size: clamp(2rem, 8vw, 4rem); + background: linear-gradient(to right, #12c2e9, #c471ed, #f64f59, #12c2e9); + background-size: 300% auto; + background-clip: text; + -webkit-background-clip: text; + -webkit-text-fill-color: transparent; + animation: gradient-7dfaf74c 8s linear infinite; +} +.text-glow[data-v-7dfaf74c] { + filter: drop-shadow(0 0 8px rgba(255, 255, 255, 0.3)); +} +@keyframes gradient-7dfaf74c { +0% { + background-position: 0% center; +} +100% { + background-position: 300% center; +} +} +.fade-in-up[data-v-7dfaf74c] { + animation: fadeInUp-7dfaf74c 1.5s ease-out; + animation-fill-mode: both; +} +@keyframes fadeInUp-7dfaf74c { +0% { + opacity: 0; + transform: translateY(20px); +} +100% { + opacity: 1; + transform: translateY(0); +} +} diff --git a/web/assets/WelcomeView-C8whKl15.js b/web/assets/WelcomeView-C8whKl15.js new file mode 100644 index 000000000..7625ec43b --- /dev/null +++ b/web/assets/WelcomeView-C8whKl15.js @@ -0,0 +1,40 @@ +var __defProp = Object.defineProperty; +var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); +import { d as defineComponent, c2 as useRouter, o as openBlock, J as createBlock, P as withCtx, m as createBaseVNode, Z as toDisplayString, k as createVNode, j as unref, l as script, p as pushScopeId, q as popScopeId, _ as _export_sfc } from "./index-QvfM__ze.js"; +import { _ as _sfc_main$1 } from "./BaseViewTemplate-BhQMaVFP.js"; +const _withScopeId = /* @__PURE__ */ __name((n) => (pushScopeId("data-v-7dfaf74c"), n = n(), popScopeId(), n), "_withScopeId"); +const _hoisted_1 = { class: "flex flex-col items-center justify-center gap-8 p-8" }; +const _hoisted_2 = { class: "animated-gradient-text text-glow select-none" }; +const _sfc_main = /* @__PURE__ */ defineComponent({ + __name: "WelcomeView", + setup(__props) { + const router = useRouter(); + const navigateTo = /* @__PURE__ */ __name((path) => { + router.push(path); + }, "navigateTo"); + return (_ctx, _cache) => { + return openBlock(), createBlock(_sfc_main$1, { dark: "" }, { + default: withCtx(() => [ + createBaseVNode("div", _hoisted_1, [ + createBaseVNode("h1", _hoisted_2, toDisplayString(_ctx.$t("welcome.title")), 1), + createVNode(unref(script), { + label: _ctx.$t("welcome.getStarted"), + icon: "pi pi-arrow-right", + iconPos: "right", + size: "large", + rounded: "", + onClick: _cache[0] || (_cache[0] = ($event) => navigateTo("/install")), + class: "p-4 text-lg fade-in-up" + }, null, 8, ["label"]) + ]) + ]), + _: 1 + }); + }; + } +}); +const WelcomeView = /* @__PURE__ */ _export_sfc(_sfc_main, [["__scopeId", "data-v-7dfaf74c"]]); +export { + WelcomeView as default +}; +//# sourceMappingURL=WelcomeView-C8whKl15.js.map diff --git a/web/assets/images/Git-Logo-White.svg b/web/assets/images/Git-Logo-White.svg new file mode 100644 index 000000000..f2961b944 --- /dev/null +++ b/web/assets/images/Git-Logo-White.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/web/assets/images/apple-mps-logo.png b/web/assets/images/apple-mps-logo.png new file mode 100644 index 000000000..261edbfd6 Binary files /dev/null and b/web/assets/images/apple-mps-logo.png differ diff --git a/web/assets/images/manual-configuration.svg b/web/assets/images/manual-configuration.svg new file mode 100644 index 000000000..bc90c6470 --- /dev/null +++ b/web/assets/images/manual-configuration.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/web/assets/images/nvidia-logo.svg b/web/assets/images/nvidia-logo.svg new file mode 100644 index 000000000..71f15b53b --- /dev/null +++ b/web/assets/images/nvidia-logo.svg @@ -0,0 +1,6 @@ + Artificial Intelligence Computing Leadership from NVIDIA + + + + + \ No newline at end of file diff --git a/web/assets/images/sad_girl.png b/web/assets/images/sad_girl.png new file mode 100644 index 000000000..2b0925a63 Binary files /dev/null and b/web/assets/images/sad_girl.png differ diff --git a/web/assets/index-BD-Ia1C4.js b/web/assets/index-BD-Ia1C4.js deleted file mode 100644 index ad0cfb1f7..000000000 --- a/web/assets/index-BD-Ia1C4.js +++ /dev/null @@ -1,6029 +0,0 @@ -var __defProp = Object.defineProperty; -var __name = (target, value) => __defProp(target, "name", { value, configurable: true }); -import { C as ComfyDialog, $ as $el, a as ComfyApp, b as app, L as LGraphCanvas, c as LiteGraph, d as LGraphNode, e as applyTextReplacements, f as ComfyWidgets, g as addValueControlWidgets, D as DraggableList, h as api, u as useToastStore, i as LGraphGroup } from "./index-CI3N807S.js"; -class ClipspaceDialog extends ComfyDialog { - static { - __name(this, "ClipspaceDialog"); - } - static items = []; - static instance = null; - static registerButton(name, contextPredicate, callback) { - const item = $el("button", { - type: "button", - textContent: name, - contextPredicate, - onclick: callback - }); - ClipspaceDialog.items.push(item); - } - static invalidatePreview() { - if (ComfyApp.clipspace && ComfyApp.clipspace.imgs && ComfyApp.clipspace.imgs.length > 0) { - const img_preview = document.getElementById( - "clipspace_preview" - ); - if (img_preview) { - img_preview.src = ComfyApp.clipspace.imgs[ComfyApp.clipspace["selectedIndex"]].src; - img_preview.style.maxHeight = "100%"; - img_preview.style.maxWidth = "100%"; - } - } - } - static invalidate() { - if (ClipspaceDialog.instance) { - const self = ClipspaceDialog.instance; - const children = $el("div.comfy-modal-content", [ - self.createImgSettings(), - ...self.createButtons() - ]); - if (self.element) { - self.element.removeChild(self.element.firstChild); - self.element.appendChild(children); - } else { - self.element = $el("div.comfy-modal", { parent: document.body }, [ - children - ]); - } - if (self.element.children[0].children.length <= 1) { - self.element.children[0].appendChild( - $el("p", {}, [ - "Unable to find the features to edit content of a format stored in the current Clipspace." - ]) - ); - } - ClipspaceDialog.invalidatePreview(); - } - } - constructor() { - super(); - } - createButtons() { - const buttons = []; - for (let idx in ClipspaceDialog.items) { - const item = ClipspaceDialog.items[idx]; - if (!item.contextPredicate || item.contextPredicate()) - buttons.push(ClipspaceDialog.items[idx]); - } - buttons.push( - $el("button", { - type: "button", - textContent: "Close", - onclick: /* @__PURE__ */ __name(() => { - this.close(); - }, "onclick") - }) - ); - return buttons; - } - createImgSettings() { - if (ComfyApp.clipspace.imgs) { - const combo_items = []; - const imgs = ComfyApp.clipspace.imgs; - for (let i = 0; i < imgs.length; i++) { - combo_items.push($el("option", { value: i }, [`${i}`])); - } - const combo1 = $el( - "select", - { - id: "clipspace_img_selector", - onchange: /* @__PURE__ */ __name((event) => { - ComfyApp.clipspace["selectedIndex"] = event.target.selectedIndex; - ClipspaceDialog.invalidatePreview(); - }, "onchange") - }, - combo_items - ); - const row1 = $el("tr", {}, [ - $el("td", {}, [$el("font", { color: "white" }, ["Select Image"])]), - $el("td", {}, [combo1]) - ]); - const combo2 = $el( - "select", - { - id: "clipspace_img_paste_mode", - onchange: /* @__PURE__ */ __name((event) => { - ComfyApp.clipspace["img_paste_mode"] = event.target.value; - }, "onchange") - }, - [ - $el("option", { value: "selected" }, "selected"), - $el("option", { value: "all" }, "all") - ] - ); - combo2.value = ComfyApp.clipspace["img_paste_mode"]; - const row2 = $el("tr", {}, [ - $el("td", {}, [$el("font", { color: "white" }, ["Paste Mode"])]), - $el("td", {}, [combo2]) - ]); - const td = $el( - "td", - { align: "center", width: "100px", height: "100px", colSpan: "2" }, - [$el("img", { id: "clipspace_preview", ondragstart: /* @__PURE__ */ __name(() => false, "ondragstart") }, [])] - ); - const row3 = $el("tr", {}, [td]); - return $el("table", {}, [row1, row2, row3]); - } else { - return []; - } - } - createImgPreview() { - if (ComfyApp.clipspace.imgs) { - return $el("img", { id: "clipspace_preview", ondragstart: /* @__PURE__ */ __name(() => false, "ondragstart") }); - } else return []; - } - show() { - const img_preview = document.getElementById("clipspace_preview"); - ClipspaceDialog.invalidate(); - this.element.style.display = "block"; - } -} -app.registerExtension({ - name: "Comfy.Clipspace", - init(app2) { - app2.openClipspace = function() { - if (!ClipspaceDialog.instance) { - ClipspaceDialog.instance = new ClipspaceDialog(); - ComfyApp.clipspace_invalidate_handler = ClipspaceDialog.invalidate; - } - if (ComfyApp.clipspace) { - ClipspaceDialog.instance.show(); - } else app2.ui.dialog.show("Clipspace is Empty!"); - }; - } -}); -window.comfyAPI = window.comfyAPI || {}; -window.comfyAPI.clipspace = window.comfyAPI.clipspace || {}; -window.comfyAPI.clipspace.ClipspaceDialog = ClipspaceDialog; -const colorPalettes = { - dark: { - id: "dark", - name: "Dark (Default)", - colors: { - node_slot: { - CLIP: "#FFD500", - // bright yellow - CLIP_VISION: "#A8DADC", - // light blue-gray - CLIP_VISION_OUTPUT: "#ad7452", - // rusty brown-orange - CONDITIONING: "#FFA931", - // vibrant orange-yellow - CONTROL_NET: "#6EE7B7", - // soft mint green - IMAGE: "#64B5F6", - // bright sky blue - LATENT: "#FF9CF9", - // light pink-purple - MASK: "#81C784", - // muted green - MODEL: "#B39DDB", - // light lavender-purple - STYLE_MODEL: "#C2FFAE", - // light green-yellow - VAE: "#FF6E6E", - // bright red - NOISE: "#B0B0B0", - // gray - GUIDER: "#66FFFF", - // cyan - SAMPLER: "#ECB4B4", - // very soft red - SIGMAS: "#CDFFCD", - // soft lime green - TAESD: "#DCC274" - // cheesecake - }, - litegraph_base: { - BACKGROUND_IMAGE: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQBJREFUeNrs1rEKwjAUhlETUkj3vP9rdmr1Ysammk2w5wdxuLgcMHyptfawuZX4pJSWZTnfnu/lnIe/jNNxHHGNn//HNbbv+4dr6V+11uF527arU7+u63qfa/bnmh8sWLBgwYJlqRf8MEptXPBXJXa37BSl3ixYsGDBMliwFLyCV/DeLIMFCxYsWLBMwSt4Be/NggXLYMGCBUvBK3iNruC9WbBgwYJlsGApeAWv4L1ZBgsWLFiwYJmCV/AK3psFC5bBggULloJX8BpdwXuzYMGCBctgwVLwCl7Be7MMFixYsGDBsu8FH1FaSmExVfAxBa/gvVmwYMGCZbBg/W4vAQYA5tRF9QYlv/QAAAAASUVORK5CYII=", - CLEAR_BACKGROUND_COLOR: "#222", - NODE_TITLE_COLOR: "#999", - NODE_SELECTED_TITLE_COLOR: "#FFF", - NODE_TEXT_SIZE: 14, - NODE_TEXT_COLOR: "#AAA", - NODE_SUBTEXT_SIZE: 12, - NODE_DEFAULT_COLOR: "#333", - NODE_DEFAULT_BGCOLOR: "#353535", - NODE_DEFAULT_BOXCOLOR: "#666", - NODE_DEFAULT_SHAPE: "box", - NODE_BOX_OUTLINE_COLOR: "#FFF", - DEFAULT_SHADOW_COLOR: "rgba(0,0,0,0.5)", - DEFAULT_GROUP_FONT: 24, - WIDGET_BGCOLOR: "#222", - WIDGET_OUTLINE_COLOR: "#666", - WIDGET_TEXT_COLOR: "#DDD", - WIDGET_SECONDARY_TEXT_COLOR: "#999", - LINK_COLOR: "#9A9", - EVENT_LINK_COLOR: "#A86", - CONNECTING_LINK_COLOR: "#AFA" - }, - comfy_base: { - "fg-color": "#fff", - "bg-color": "#202020", - "comfy-menu-bg": "#353535", - "comfy-input-bg": "#222", - "input-text": "#ddd", - "descrip-text": "#999", - "drag-text": "#ccc", - "error-text": "#ff4444", - "border-color": "#4e4e4e", - "tr-even-bg-color": "#222", - "tr-odd-bg-color": "#353535", - "content-bg": "#4e4e4e", - "content-fg": "#fff", - "content-hover-bg": "#222", - "content-hover-fg": "#fff" - } - } - }, - light: { - id: "light", - name: "Light", - colors: { - node_slot: { - CLIP: "#FFA726", - // orange - CLIP_VISION: "#5C6BC0", - // indigo - CLIP_VISION_OUTPUT: "#8D6E63", - // brown - CONDITIONING: "#EF5350", - // red - CONTROL_NET: "#66BB6A", - // green - IMAGE: "#42A5F5", - // blue - LATENT: "#AB47BC", - // purple - MASK: "#9CCC65", - // light green - MODEL: "#7E57C2", - // deep purple - STYLE_MODEL: "#D4E157", - // lime - VAE: "#FF7043" - // deep orange - }, - litegraph_base: { - BACKGROUND_IMAGE: "data:image/gif;base64,R0lGODlhZABkALMAAAAAAP///+vr6+rq6ujo6Ofn5+bm5uXl5d3d3f///wAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAkALAAAAABkAGQAAAT/UMhJq7046827HkcoHkYxjgZhnGG6si5LqnIM0/fL4qwwIMAg0CAsEovBIxKhRDaNy2GUOX0KfVFrssrNdpdaqTeKBX+dZ+jYvEaTf+y4W66mC8PUdrE879f9d2mBeoNLfH+IhYBbhIx2jkiHiomQlGKPl4uZe3CaeZifnnijgkESBqipqqusra6vsLGys62SlZO4t7qbuby7CLa+wqGWxL3Gv3jByMOkjc2lw8vOoNSi0czAncXW3Njdx9Pf48/Z4Kbbx+fQ5evZ4u3k1fKR6cn03vHlp7T9/v8A/8Gbp4+gwXoFryXMB2qgwoMMHyKEqA5fxX322FG8tzBcRnMW/zlulPbRncmQGidKjMjyYsOSKEF2FBlJQMCbOHP6c9iSZs+UnGYCdbnSo1CZI5F64kn0p1KnTH02nSoV3dGTV7FFHVqVq1dtWcMmVQZTbNGu72zqXMuW7danVL+6e4t1bEy6MeueBYLXrNO5Ze36jQtWsOG97wIj1vt3St/DjTEORss4nNq2mDP3e7w4r1bFkSET5hy6s2TRlD2/mSxXtSHQhCunXo26NevCpmvD/UU6tuullzULH76q92zdZG/Ltv1a+W+osI/nRmyc+fRi1Xdbh+68+0vv10dH3+77KD/i6IdnX669/frn5Zsjh4/2PXju8+8bzc9/6fj27LFnX11/+IUnXWl7BJfegm79FyB9JOl3oHgSklefgxAC+FmFGpqHIYcCfkhgfCohSKKJVo044YUMttggiBkmp6KFXw1oII24oYhjiDByaKOOHcp3Y5BD/njikSkO+eBREQAAOw==", - CLEAR_BACKGROUND_COLOR: "lightgray", - NODE_TITLE_COLOR: "#222", - NODE_SELECTED_TITLE_COLOR: "#000", - NODE_TEXT_SIZE: 14, - NODE_TEXT_COLOR: "#444", - NODE_SUBTEXT_SIZE: 12, - NODE_DEFAULT_COLOR: "#F7F7F7", - NODE_DEFAULT_BGCOLOR: "#F5F5F5", - NODE_DEFAULT_BOXCOLOR: "#CCC", - NODE_DEFAULT_SHAPE: "box", - NODE_BOX_OUTLINE_COLOR: "#000", - DEFAULT_SHADOW_COLOR: "rgba(0,0,0,0.1)", - DEFAULT_GROUP_FONT: 24, - WIDGET_BGCOLOR: "#D4D4D4", - WIDGET_OUTLINE_COLOR: "#999", - WIDGET_TEXT_COLOR: "#222", - WIDGET_SECONDARY_TEXT_COLOR: "#555", - LINK_COLOR: "#4CAF50", - EVENT_LINK_COLOR: "#FF9800", - CONNECTING_LINK_COLOR: "#2196F3" - }, - comfy_base: { - "fg-color": "#222", - "bg-color": "#DDD", - "comfy-menu-bg": "#F5F5F5", - "comfy-input-bg": "#C9C9C9", - "input-text": "#222", - "descrip-text": "#444", - "drag-text": "#555", - "error-text": "#F44336", - "border-color": "#888", - "tr-even-bg-color": "#f9f9f9", - "tr-odd-bg-color": "#fff", - "content-bg": "#e0e0e0", - "content-fg": "#222", - "content-hover-bg": "#adadad", - "content-hover-fg": "#222" - } - } - }, - solarized: { - id: "solarized", - name: "Solarized", - colors: { - node_slot: { - CLIP: "#2AB7CA", - // light blue - CLIP_VISION: "#6c71c4", - // blue violet - CLIP_VISION_OUTPUT: "#859900", - // olive green - CONDITIONING: "#d33682", - // magenta - CONTROL_NET: "#d1ffd7", - // light mint green - IMAGE: "#5940bb", - // deep blue violet - LATENT: "#268bd2", - // blue - MASK: "#CCC9E7", - // light purple-gray - MODEL: "#dc322f", - // red - STYLE_MODEL: "#1a998a", - // teal - UPSCALE_MODEL: "#054A29", - // dark green - VAE: "#facfad" - // light pink-orange - }, - litegraph_base: { - NODE_TITLE_COLOR: "#fdf6e3", - // Base3 - NODE_SELECTED_TITLE_COLOR: "#A9D400", - NODE_TEXT_SIZE: 14, - NODE_TEXT_COLOR: "#657b83", - // Base00 - NODE_SUBTEXT_SIZE: 12, - NODE_DEFAULT_COLOR: "#094656", - NODE_DEFAULT_BGCOLOR: "#073642", - // Base02 - NODE_DEFAULT_BOXCOLOR: "#839496", - // Base0 - NODE_DEFAULT_SHAPE: "box", - NODE_BOX_OUTLINE_COLOR: "#fdf6e3", - // Base3 - DEFAULT_SHADOW_COLOR: "rgba(0,0,0,0.5)", - DEFAULT_GROUP_FONT: 24, - WIDGET_BGCOLOR: "#002b36", - // Base03 - WIDGET_OUTLINE_COLOR: "#839496", - // Base0 - WIDGET_TEXT_COLOR: "#fdf6e3", - // Base3 - WIDGET_SECONDARY_TEXT_COLOR: "#93a1a1", - // Base1 - LINK_COLOR: "#2aa198", - // Solarized Cyan - EVENT_LINK_COLOR: "#268bd2", - // Solarized Blue - CONNECTING_LINK_COLOR: "#859900" - // Solarized Green - }, - comfy_base: { - "fg-color": "#fdf6e3", - // Base3 - "bg-color": "#002b36", - // Base03 - "comfy-menu-bg": "#073642", - // Base02 - "comfy-input-bg": "#002b36", - // Base03 - "input-text": "#93a1a1", - // Base1 - "descrip-text": "#586e75", - // Base01 - "drag-text": "#839496", - // Base0 - "error-text": "#dc322f", - // Solarized Red - "border-color": "#657b83", - // Base00 - "tr-even-bg-color": "#002b36", - "tr-odd-bg-color": "#073642", - "content-bg": "#657b83", - "content-fg": "#fdf6e3", - "content-hover-bg": "#002b36", - "content-hover-fg": "#fdf6e3" - } - } - }, - arc: { - id: "arc", - name: "Arc", - colors: { - node_slot: { - BOOLEAN: "", - CLIP: "#eacb8b", - CLIP_VISION: "#A8DADC", - CLIP_VISION_OUTPUT: "#ad7452", - CONDITIONING: "#cf876f", - CONTROL_NET: "#00d78d", - CONTROL_NET_WEIGHTS: "", - FLOAT: "", - GLIGEN: "", - IMAGE: "#80a1c0", - IMAGEUPLOAD: "", - INT: "", - LATENT: "#b38ead", - LATENT_KEYFRAME: "", - MASK: "#a3bd8d", - MODEL: "#8978a7", - SAMPLER: "", - SIGMAS: "", - STRING: "", - STYLE_MODEL: "#C2FFAE", - T2I_ADAPTER_WEIGHTS: "", - TAESD: "#DCC274", - TIMESTEP_KEYFRAME: "", - UPSCALE_MODEL: "", - VAE: "#be616b" - }, - litegraph_base: { - BACKGROUND_IMAGE: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAABcklEQVR4nO3YMUoDARgF4RfxBqZI6/0vZqFn0MYtrLIQMFN8U6V4LAtD+Jm9XG/v30OGl2e/AP7yevz4+vx45nvgF/+QGITEICQGITEIiUFIjNNC3q43u3/YnRJyPOzeQ+0e220nhRzReC8e7R7bbdvl+Jal1Bs46jEIiUFIDEJiEBKDkBhKPbZT6qHdptRTu02p53DUYxASg5AYhMQgJAYhMZR6bKfUQ7tNqad2m1LP4ajHICQGITEIiUFIDEJiKPXYTqmHdptST+02pZ7DUY9BSAxCYhASg5AYhMRQ6rGdUg/tNqWe2m1KPYejHoOQGITEICQGITEIiaHUYzulHtptSj2125R6Dkc9BiExCIlBSAxCYhASQ6nHdko9tNuUemq3KfUcjnoMQmIQEoOQGITEICSGUo/tlHpotyn11G5T6jkc9RiExCAkBiExCIlBSAylHtsp9dBuU+qp3abUczjqMQiJQUgMQmIQEoOQGITE+AHFISNQrFTGuwAAAABJRU5ErkJggg==", - CLEAR_BACKGROUND_COLOR: "#2b2f38", - NODE_TITLE_COLOR: "#b2b7bd", - NODE_SELECTED_TITLE_COLOR: "#FFF", - NODE_TEXT_SIZE: 14, - NODE_TEXT_COLOR: "#AAA", - NODE_SUBTEXT_SIZE: 12, - NODE_DEFAULT_COLOR: "#2b2f38", - NODE_DEFAULT_BGCOLOR: "#242730", - NODE_DEFAULT_BOXCOLOR: "#6e7581", - NODE_DEFAULT_SHAPE: "box", - NODE_BOX_OUTLINE_COLOR: "#FFF", - DEFAULT_SHADOW_COLOR: "rgba(0,0,0,0.5)", - DEFAULT_GROUP_FONT: 22, - WIDGET_BGCOLOR: "#2b2f38", - WIDGET_OUTLINE_COLOR: "#6e7581", - WIDGET_TEXT_COLOR: "#DDD", - WIDGET_SECONDARY_TEXT_COLOR: "#b2b7bd", - LINK_COLOR: "#9A9", - EVENT_LINK_COLOR: "#A86", - CONNECTING_LINK_COLOR: "#AFA" - }, - comfy_base: { - "fg-color": "#fff", - "bg-color": "#2b2f38", - "comfy-menu-bg": "#242730", - "comfy-input-bg": "#2b2f38", - "input-text": "#ddd", - "descrip-text": "#b2b7bd", - "drag-text": "#ccc", - "error-text": "#ff4444", - "border-color": "#6e7581", - "tr-even-bg-color": "#2b2f38", - "tr-odd-bg-color": "#242730", - "content-bg": "#6e7581", - "content-fg": "#fff", - "content-hover-bg": "#2b2f38", - "content-hover-fg": "#fff" - } - } - }, - nord: { - id: "nord", - name: "Nord", - colors: { - node_slot: { - BOOLEAN: "", - CLIP: "#eacb8b", - CLIP_VISION: "#A8DADC", - CLIP_VISION_OUTPUT: "#ad7452", - CONDITIONING: "#cf876f", - CONTROL_NET: "#00d78d", - CONTROL_NET_WEIGHTS: "", - FLOAT: "", - GLIGEN: "", - IMAGE: "#80a1c0", - IMAGEUPLOAD: "", - INT: "", - LATENT: "#b38ead", - LATENT_KEYFRAME: "", - MASK: "#a3bd8d", - MODEL: "#8978a7", - SAMPLER: "", - SIGMAS: "", - STRING: "", - STYLE_MODEL: "#C2FFAE", - T2I_ADAPTER_WEIGHTS: "", - TAESD: "#DCC274", - TIMESTEP_KEYFRAME: "", - UPSCALE_MODEL: "", - VAE: "#be616b" - }, - litegraph_base: { - BACKGROUND_IMAGE: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFu2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDEgNzkuMTQ2Mjg5OSwgMjAyMy8wNi8yNS0yMDowMTo1NSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMy0xMS0xM1QwMDoxODowMiswMTowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjMtMTEtMTVUMDE6MjA6NDUrMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjMtMTEtMTVUMDE6MjA6NDUrMDE6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUwNDFhMmZjLTEzNzQtMTk0ZC1hZWY4LTYxMzM1MTVmNjUwMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyMzFiMTBiMC1iNGZiLTAyNGUtYjEyZS0zMDUzMDNjZDA3YzgiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyMzFiMTBiMC1iNGZiLTAyNGUtYjEyZS0zMDUzMDNjZDA3YzgiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjIzMWIxMGIwLWI0ZmItMDI0ZS1iMTJlLTMwNTMwM2NkMDdjOCIgc3RFdnQ6d2hlbj0iMjAyMy0xMS0xM1QwMDoxODowMiswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo1MDQxYTJmYy0xMzc0LTE5NGQtYWVmOC02MTMzNTE1ZjY1MDAiIHN0RXZ0OndoZW49IjIwMjMtMTEtMTVUMDE6MjA6NDUrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNS4xIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz73jWg/AAAAyUlEQVR42u3WKwoAIBRFQRdiMb1idv9Lsxn9gEFw4Dbb8JCTojbbXEJwjJVL2HKwYMGCBQuWLbDmjr+9zrBGjHl1WVcvy2DBggULFizTWQpewSt4HzwsgwULFiwFr7MUvMtS8D54WLBgGSxYCl7BK3iXZbBgwYIFC5bpLAWv4BW8Dx6WwYIFC5aC11kK3mUpeB88LFiwDBYsBa/gFbzLMliwYMGCBct0loJX8AreBw/LYMGCBUvB6ywF77IUvA8eFixYBgsWrNfWAZPltufdad+1AAAAAElFTkSuQmCC", - CLEAR_BACKGROUND_COLOR: "#212732", - NODE_TITLE_COLOR: "#999", - NODE_SELECTED_TITLE_COLOR: "#e5eaf0", - NODE_TEXT_SIZE: 14, - NODE_TEXT_COLOR: "#bcc2c8", - NODE_SUBTEXT_SIZE: 12, - NODE_DEFAULT_COLOR: "#2e3440", - NODE_DEFAULT_BGCOLOR: "#161b22", - NODE_DEFAULT_BOXCOLOR: "#545d70", - NODE_DEFAULT_SHAPE: "box", - NODE_BOX_OUTLINE_COLOR: "#e5eaf0", - DEFAULT_SHADOW_COLOR: "rgba(0,0,0,0.5)", - DEFAULT_GROUP_FONT: 24, - WIDGET_BGCOLOR: "#2e3440", - WIDGET_OUTLINE_COLOR: "#545d70", - WIDGET_TEXT_COLOR: "#bcc2c8", - WIDGET_SECONDARY_TEXT_COLOR: "#999", - LINK_COLOR: "#9A9", - EVENT_LINK_COLOR: "#A86", - CONNECTING_LINK_COLOR: "#AFA" - }, - comfy_base: { - "fg-color": "#e5eaf0", - "bg-color": "#2e3440", - "comfy-menu-bg": "#161b22", - "comfy-input-bg": "#2e3440", - "input-text": "#bcc2c8", - "descrip-text": "#999", - "drag-text": "#ccc", - "error-text": "#ff4444", - "border-color": "#545d70", - "tr-even-bg-color": "#2e3440", - "tr-odd-bg-color": "#161b22", - "content-bg": "#545d70", - "content-fg": "#e5eaf0", - "content-hover-bg": "#2e3440", - "content-hover-fg": "#e5eaf0" - } - } - }, - github: { - id: "github", - name: "Github", - colors: { - node_slot: { - BOOLEAN: "", - CLIP: "#eacb8b", - CLIP_VISION: "#A8DADC", - CLIP_VISION_OUTPUT: "#ad7452", - CONDITIONING: "#cf876f", - CONTROL_NET: "#00d78d", - CONTROL_NET_WEIGHTS: "", - FLOAT: "", - GLIGEN: "", - IMAGE: "#80a1c0", - IMAGEUPLOAD: "", - INT: "", - LATENT: "#b38ead", - LATENT_KEYFRAME: "", - MASK: "#a3bd8d", - MODEL: "#8978a7", - SAMPLER: "", - SIGMAS: "", - STRING: "", - STYLE_MODEL: "#C2FFAE", - T2I_ADAPTER_WEIGHTS: "", - TAESD: "#DCC274", - TIMESTEP_KEYFRAME: "", - UPSCALE_MODEL: "", - VAE: "#be616b" - }, - litegraph_base: { - BACKGROUND_IMAGE: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGlmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDEgNzkuMTQ2Mjg5OSwgMjAyMy8wNi8yNS0yMDowMTo1NSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMy0xMS0xM1QwMDoxODowMiswMTowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmIyYzRhNjA5LWJmYTctYTg0MC1iOGFlLTk3MzE2ZjM1ZGIyNyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjk0ZmNlZGU4LTE1MTctZmQ0MC04ZGU3LWYzOTgxM2E3ODk5ZiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjIzMWIxMGIwLWI0ZmItMDI0ZS1iMTJlLTMwNTMwM2NkMDdjOCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjMxYjEwYjAtYjRmYi0wMjRlLWIxMmUtMzA1MzAzY2QwN2M4IiBzdEV2dDp3aGVuPSIyMDIzLTExLTEzVDAwOjE4OjAyKzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ4OWY1NzlmLTJkNjUtZWQ0Zi04OTg0LTA4NGE2MGE1ZTMzNSIgc3RFdnQ6d2hlbj0iMjAyMy0xMS0xNVQwMjowNDo1OSswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpiMmM0YTYwOS1iZmE3LWE4NDAtYjhhZS05NzMxNmYzNWRiMjciIHN0RXZ0OndoZW49IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNS4xIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4OTe6GAAAAx0lEQVR42u3WMQoAIQxFwRzJys77X8vSLiRgITif7bYbgrwYc/mKXyBoY4VVBgsWLFiwYFmOlTv+9jfDOjHmr8u6eVkGCxYsWLBgmc5S8ApewXvgYRksWLBgKXidpeBdloL3wMOCBctgwVLwCl7BuyyDBQsWLFiwTGcpeAWv4D3wsAwWLFiwFLzOUvAuS8F74GHBgmWwYCl4Ba/gXZbBggULFixYprMUvIJX8B54WAYLFixYCl5nKXiXpeA98LBgwTJYsGC9tg1o8f4TTtqzNQAAAABJRU5ErkJggg==", - CLEAR_BACKGROUND_COLOR: "#040506", - NODE_TITLE_COLOR: "#999", - NODE_SELECTED_TITLE_COLOR: "#e5eaf0", - NODE_TEXT_SIZE: 14, - NODE_TEXT_COLOR: "#bcc2c8", - NODE_SUBTEXT_SIZE: 12, - NODE_DEFAULT_COLOR: "#161b22", - NODE_DEFAULT_BGCOLOR: "#13171d", - NODE_DEFAULT_BOXCOLOR: "#30363d", - NODE_DEFAULT_SHAPE: "box", - NODE_BOX_OUTLINE_COLOR: "#e5eaf0", - DEFAULT_SHADOW_COLOR: "rgba(0,0,0,0.5)", - DEFAULT_GROUP_FONT: 24, - WIDGET_BGCOLOR: "#161b22", - WIDGET_OUTLINE_COLOR: "#30363d", - WIDGET_TEXT_COLOR: "#bcc2c8", - WIDGET_SECONDARY_TEXT_COLOR: "#999", - LINK_COLOR: "#9A9", - EVENT_LINK_COLOR: "#A86", - CONNECTING_LINK_COLOR: "#AFA" - }, - comfy_base: { - "fg-color": "#e5eaf0", - "bg-color": "#161b22", - "comfy-menu-bg": "#13171d", - "comfy-input-bg": "#161b22", - "input-text": "#bcc2c8", - "descrip-text": "#999", - "drag-text": "#ccc", - "error-text": "#ff4444", - "border-color": "#30363d", - "tr-even-bg-color": "#161b22", - "tr-odd-bg-color": "#13171d", - "content-bg": "#30363d", - "content-fg": "#e5eaf0", - "content-hover-bg": "#161b22", - "content-hover-fg": "#e5eaf0" - } - } - } -}; -const id$4 = "Comfy.ColorPalette"; -const idCustomColorPalettes = "Comfy.CustomColorPalettes"; -const defaultColorPaletteId = "dark"; -const els = { - select: null -}; -app.registerExtension({ - name: id$4, - init() { - LGraphCanvas.prototype.updateBackground = function(image, clearBackgroundColor) { - this._bg_img = new Image(); - this._bg_img.name = image; - this._bg_img.src = image; - this._bg_img.onload = () => { - this.draw(true, true); - }; - this.background_image = image; - this.clear_background = true; - this.clear_background_color = clearBackgroundColor; - this._pattern = null; - }; - }, - addCustomNodeDefs(node_defs) { - const sortObjectKeys = /* @__PURE__ */ __name((unordered) => { - return Object.keys(unordered).sort().reduce((obj, key) => { - obj[key] = unordered[key]; - return obj; - }, {}); - }, "sortObjectKeys"); - function getSlotTypes() { - var types = []; - const defs = node_defs; - for (const nodeId in defs) { - const nodeData = defs[nodeId]; - var inputs = nodeData["input"]["required"]; - if (nodeData["input"]["optional"] !== void 0) { - inputs = Object.assign( - {}, - nodeData["input"]["required"], - nodeData["input"]["optional"] - ); - } - for (const inputName in inputs) { - const inputData = inputs[inputName]; - const type = inputData[0]; - if (!Array.isArray(type)) { - types.push(type); - } - } - for (const o in nodeData["output"]) { - const output = nodeData["output"][o]; - types.push(output); - } - } - return types; - } - __name(getSlotTypes, "getSlotTypes"); - function completeColorPalette(colorPalette) { - var types = getSlotTypes(); - for (const type of types) { - if (!colorPalette.colors.node_slot[type]) { - colorPalette.colors.node_slot[type] = ""; - } - } - colorPalette.colors.node_slot = sortObjectKeys( - colorPalette.colors.node_slot - ); - return colorPalette; - } - __name(completeColorPalette, "completeColorPalette"); - const getColorPaletteTemplate = /* @__PURE__ */ __name(async () => { - let colorPalette = { - id: "my_color_palette_unique_id", - name: "My Color Palette", - colors: { - node_slot: {}, - litegraph_base: {}, - comfy_base: {} - } - }; - const defaultColorPalette = colorPalettes[defaultColorPaletteId]; - for (const key in defaultColorPalette.colors.litegraph_base) { - if (!colorPalette.colors.litegraph_base[key]) { - colorPalette.colors.litegraph_base[key] = ""; - } - } - for (const key in defaultColorPalette.colors.comfy_base) { - if (!colorPalette.colors.comfy_base[key]) { - colorPalette.colors.comfy_base[key] = ""; - } - } - return completeColorPalette(colorPalette); - }, "getColorPaletteTemplate"); - const getCustomColorPalettes = /* @__PURE__ */ __name(() => { - return app.ui.settings.getSettingValue(idCustomColorPalettes, {}); - }, "getCustomColorPalettes"); - const setCustomColorPalettes = /* @__PURE__ */ __name((customColorPalettes) => { - return app.ui.settings.setSettingValue( - idCustomColorPalettes, - customColorPalettes - ); - }, "setCustomColorPalettes"); - const addCustomColorPalette = /* @__PURE__ */ __name(async (colorPalette) => { - if (typeof colorPalette !== "object") { - alert("Invalid color palette."); - return; - } - if (!colorPalette.id) { - alert("Color palette missing id."); - return; - } - if (!colorPalette.name) { - alert("Color palette missing name."); - return; - } - if (!colorPalette.colors) { - alert("Color palette missing colors."); - return; - } - if (colorPalette.colors.node_slot && typeof colorPalette.colors.node_slot !== "object") { - alert("Invalid color palette colors.node_slot."); - return; - } - const customColorPalettes = getCustomColorPalettes(); - customColorPalettes[colorPalette.id] = colorPalette; - setCustomColorPalettes(customColorPalettes); - for (const option of els.select.childNodes) { - if (option.value === "custom_" + colorPalette.id) { - els.select.removeChild(option); - } - } - els.select.append( - $el("option", { - textContent: colorPalette.name + " (custom)", - value: "custom_" + colorPalette.id, - selected: true - }) - ); - setColorPalette("custom_" + colorPalette.id); - await loadColorPalette(colorPalette); - }, "addCustomColorPalette"); - const deleteCustomColorPalette = /* @__PURE__ */ __name(async (colorPaletteId) => { - const customColorPalettes = getCustomColorPalettes(); - delete customColorPalettes[colorPaletteId]; - setCustomColorPalettes(customColorPalettes); - for (const opt of els.select.childNodes) { - const option = opt; - if (option.value === defaultColorPaletteId) { - option.selected = true; - } - if (option.value === "custom_" + colorPaletteId) { - els.select.removeChild(option); - } - } - setColorPalette(defaultColorPaletteId); - await loadColorPalette(getColorPalette()); - }, "deleteCustomColorPalette"); - const loadColorPalette = /* @__PURE__ */ __name(async (colorPalette) => { - colorPalette = await completeColorPalette(colorPalette); - if (colorPalette.colors) { - if (colorPalette.colors.node_slot) { - Object.assign( - // @ts-expect-error - app.canvas.default_connection_color_byType, - colorPalette.colors.node_slot - ); - Object.assign( - LGraphCanvas.link_type_colors, - colorPalette.colors.node_slot - ); - } - if (colorPalette.colors.litegraph_base) { - app.canvas.node_title_color = colorPalette.colors.litegraph_base.NODE_TITLE_COLOR; - app.canvas.default_link_color = colorPalette.colors.litegraph_base.LINK_COLOR; - for (const key in colorPalette.colors.litegraph_base) { - if (colorPalette.colors.litegraph_base.hasOwnProperty(key) && LiteGraph.hasOwnProperty(key)) { - LiteGraph[key] = colorPalette.colors.litegraph_base[key]; - } - } - } - if (colorPalette.colors.comfy_base) { - const rootStyle = document.documentElement.style; - for (const key in colorPalette.colors.comfy_base) { - rootStyle.setProperty( - "--" + key, - colorPalette.colors.comfy_base[key] - ); - } - } - app.canvas.draw(true, true); - } - }, "loadColorPalette"); - const getColorPalette = /* @__PURE__ */ __name((colorPaletteId) => { - if (!colorPaletteId) { - colorPaletteId = app.ui.settings.getSettingValue( - id$4, - defaultColorPaletteId - ); - } - if (colorPaletteId.startsWith("custom_")) { - colorPaletteId = colorPaletteId.substr(7); - let customColorPalettes = getCustomColorPalettes(); - if (customColorPalettes[colorPaletteId]) { - return customColorPalettes[colorPaletteId]; - } - } - return colorPalettes[colorPaletteId]; - }, "getColorPalette"); - const setColorPalette = /* @__PURE__ */ __name((colorPaletteId) => { - app.ui.settings.setSettingValue(id$4, colorPaletteId); - }, "setColorPalette"); - const fileInput = $el("input", { - type: "file", - accept: ".json", - style: { display: "none" }, - parent: document.body, - onchange: /* @__PURE__ */ __name(() => { - const file2 = fileInput.files[0]; - if (file2.type === "application/json" || file2.name.endsWith(".json")) { - const reader = new FileReader(); - reader.onload = async () => { - await addCustomColorPalette(JSON.parse(reader.result)); - }; - reader.readAsText(file2); - } - }, "onchange") - }); - app.ui.settings.addSetting({ - id: id$4, - category: ["Comfy", "ColorPalette"], - name: "Color Palette", - type: /* @__PURE__ */ __name((name, setter, value) => { - const options = [ - ...Object.values(colorPalettes).map( - (c) => $el("option", { - textContent: c.name, - value: c.id, - selected: c.id === value - }) - ), - ...Object.values(getCustomColorPalettes()).map( - (c) => $el("option", { - textContent: `${c.name} (custom)`, - value: `custom_${c.id}`, - selected: `custom_${c.id}` === value - }) - ) - ]; - els.select = $el( - "select", - { - style: { - marginBottom: "0.15rem", - width: "100%" - }, - onchange: /* @__PURE__ */ __name((e) => { - setter(e.target.value); - }, "onchange") - }, - options - ); - return $el("tr", [ - $el("td", [ - els.select, - $el( - "div", - { - style: { - display: "grid", - gap: "4px", - gridAutoFlow: "column" - } - }, - [ - $el("input", { - type: "button", - value: "Export", - onclick: /* @__PURE__ */ __name(async () => { - const colorPaletteId = app.ui.settings.getSettingValue( - id$4, - defaultColorPaletteId - ); - const colorPalette = await completeColorPalette( - getColorPalette(colorPaletteId) - ); - const json = JSON.stringify(colorPalette, null, 2); - const blob = new Blob([json], { type: "application/json" }); - const url = URL.createObjectURL(blob); - const a = $el("a", { - href: url, - download: colorPaletteId + ".json", - style: { display: "none" }, - parent: document.body - }); - a.click(); - setTimeout(function() { - a.remove(); - window.URL.revokeObjectURL(url); - }, 0); - }, "onclick") - }), - $el("input", { - type: "button", - value: "Import", - onclick: /* @__PURE__ */ __name(() => { - fileInput.click(); - }, "onclick") - }), - $el("input", { - type: "button", - value: "Template", - onclick: /* @__PURE__ */ __name(async () => { - const colorPalette = await getColorPaletteTemplate(); - const json = JSON.stringify(colorPalette, null, 2); - const blob = new Blob([json], { type: "application/json" }); - const url = URL.createObjectURL(blob); - const a = $el("a", { - href: url, - download: "color_palette.json", - style: { display: "none" }, - parent: document.body - }); - a.click(); - setTimeout(function() { - a.remove(); - window.URL.revokeObjectURL(url); - }, 0); - }, "onclick") - }), - $el("input", { - type: "button", - value: "Delete", - onclick: /* @__PURE__ */ __name(async () => { - let colorPaletteId = app.ui.settings.getSettingValue( - id$4, - defaultColorPaletteId - ); - if (colorPalettes[colorPaletteId]) { - alert("You cannot delete a built-in color palette."); - return; - } - if (colorPaletteId.startsWith("custom_")) { - colorPaletteId = colorPaletteId.substr(7); - } - await deleteCustomColorPalette(colorPaletteId); - }, "onclick") - }) - ] - ) - ]) - ]); - }, "type"), - defaultValue: defaultColorPaletteId, - async onChange(value) { - if (!value) { - return; - } - let palette = colorPalettes[value]; - if (palette) { - await loadColorPalette(palette); - } else if (value.startsWith("custom_")) { - value = value.substr(7); - let customColorPalettes = getCustomColorPalettes(); - if (customColorPalettes[value]) { - palette = customColorPalettes[value]; - await loadColorPalette(customColorPalettes[value]); - } - } - let { BACKGROUND_IMAGE, CLEAR_BACKGROUND_COLOR } = palette.colors.litegraph_base; - if (BACKGROUND_IMAGE === void 0 || CLEAR_BACKGROUND_COLOR === void 0) { - const base = colorPalettes["dark"].colors.litegraph_base; - BACKGROUND_IMAGE = base.BACKGROUND_IMAGE; - CLEAR_BACKGROUND_COLOR = base.CLEAR_BACKGROUND_COLOR; - } - app.canvas.updateBackground(BACKGROUND_IMAGE, CLEAR_BACKGROUND_COLOR); - } - }); - } -}); -const ext$2 = { - name: "Comfy.ContextMenuFilter", - init() { - const ctxMenu = LiteGraph.ContextMenu; - LiteGraph.ContextMenu = function(values, options) { - const ctx = new ctxMenu(values, options); - if (options?.className === "dark" && values?.length > 4) { - const filter = document.createElement("input"); - filter.classList.add("comfy-context-menu-filter"); - filter.placeholder = "Filter list"; - ctx.root.prepend(filter); - const items = Array.from( - ctx.root.querySelectorAll(".litemenu-entry") - ); - let displayedItems = [...items]; - let itemCount = displayedItems.length; - requestAnimationFrame(() => { - const currentNode = LGraphCanvas.active_canvas.current_node; - const clickedComboValue = currentNode.widgets?.filter( - (w) => w.type === "combo" && w.options.values.length === values.length - ).find( - (w) => w.options.values.every((v, i) => v === values[i]) - )?.value; - let selectedIndex = clickedComboValue ? values.findIndex((v) => v === clickedComboValue) : 0; - if (selectedIndex < 0) { - selectedIndex = 0; - } - let selectedItem = displayedItems[selectedIndex]; - updateSelected(); - function updateSelected() { - selectedItem?.style.setProperty("background-color", ""); - selectedItem?.style.setProperty("color", ""); - selectedItem = displayedItems[selectedIndex]; - selectedItem?.style.setProperty( - "background-color", - "#ccc", - "important" - ); - selectedItem?.style.setProperty("color", "#000", "important"); - } - __name(updateSelected, "updateSelected"); - const positionList = /* @__PURE__ */ __name(() => { - const rect = ctx.root.getBoundingClientRect(); - if (rect.top < 0) { - const scale = 1 - ctx.root.getBoundingClientRect().height / ctx.root.clientHeight; - const shift = ctx.root.clientHeight * scale / 2; - ctx.root.style.top = -shift + "px"; - } - }, "positionList"); - filter.addEventListener("keydown", (event) => { - switch (event.key) { - case "ArrowUp": - event.preventDefault(); - if (selectedIndex === 0) { - selectedIndex = itemCount - 1; - } else { - selectedIndex--; - } - updateSelected(); - break; - case "ArrowRight": - event.preventDefault(); - selectedIndex = itemCount - 1; - updateSelected(); - break; - case "ArrowDown": - event.preventDefault(); - if (selectedIndex === itemCount - 1) { - selectedIndex = 0; - } else { - selectedIndex++; - } - updateSelected(); - break; - case "ArrowLeft": - event.preventDefault(); - selectedIndex = 0; - updateSelected(); - break; - case "Enter": - selectedItem?.click(); - break; - case "Escape": - ctx.close(); - break; - } - }); - filter.addEventListener("input", () => { - const term = filter.value.toLocaleLowerCase(); - displayedItems = items.filter((item) => { - const isVisible = !term || item.textContent.toLocaleLowerCase().includes(term); - item.style.display = isVisible ? "block" : "none"; - return isVisible; - }); - selectedIndex = 0; - if (displayedItems.includes(selectedItem)) { - selectedIndex = displayedItems.findIndex( - (d) => d === selectedItem - ); - } - itemCount = displayedItems.length; - updateSelected(); - if (options.event) { - let top = options.event.clientY - 10; - const bodyRect = document.body.getBoundingClientRect(); - const rootRect = ctx.root.getBoundingClientRect(); - if (bodyRect.height && top > bodyRect.height - rootRect.height - 10) { - top = Math.max(0, bodyRect.height - rootRect.height - 10); - } - ctx.root.style.top = top + "px"; - positionList(); - } - }); - requestAnimationFrame(() => { - filter.focus(); - positionList(); - }); - }); - } - return ctx; - }; - LiteGraph.ContextMenu.prototype = ctxMenu.prototype; - } -}; -app.registerExtension(ext$2); -function stripComments(str) { - return str.replace(/\/\*[\s\S]*?\*\/|\/\/.*/g, ""); -} -__name(stripComments, "stripComments"); -app.registerExtension({ - name: "Comfy.DynamicPrompts", - nodeCreated(node) { - if (node.widgets) { - const widgets = node.widgets.filter((n) => n.dynamicPrompts); - for (const widget of widgets) { - widget.serializeValue = (workflowNode, widgetIndex) => { - let prompt2 = stripComments(widget.value); - while (prompt2.replace("\\{", "").includes("{") && prompt2.replace("\\}", "").includes("}")) { - const startIndex = prompt2.replace("\\{", "00").indexOf("{"); - const endIndex = prompt2.replace("\\}", "00").indexOf("}"); - const optionsString = prompt2.substring(startIndex + 1, endIndex); - const options = optionsString.split("|"); - const randomIndex = Math.floor(Math.random() * options.length); - const randomOption = options[randomIndex]; - prompt2 = prompt2.substring(0, startIndex) + randomOption + prompt2.substring(endIndex + 1); - } - if (workflowNode?.widgets_values) - workflowNode.widgets_values[widgetIndex] = prompt2; - return prompt2; - }; - } - } - } -}); -app.registerExtension({ - name: "Comfy.EditAttention", - init() { - const editAttentionDelta = app.ui.settings.addSetting({ - id: "Comfy.EditAttention.Delta", - name: "Ctrl+up/down precision", - type: "slider", - attrs: { - min: 0.01, - max: 0.5, - step: 0.01 - }, - defaultValue: 0.05 - }); - function incrementWeight(weight, delta) { - const floatWeight = parseFloat(weight); - if (isNaN(floatWeight)) return weight; - const newWeight = floatWeight + delta; - return String(Number(newWeight.toFixed(10))); - } - __name(incrementWeight, "incrementWeight"); - function findNearestEnclosure(text, cursorPos) { - let start = cursorPos, end = cursorPos; - let openCount = 0, closeCount = 0; - while (start >= 0) { - start--; - if (text[start] === "(" && openCount === closeCount) break; - if (text[start] === "(") openCount++; - if (text[start] === ")") closeCount++; - } - if (start < 0) return false; - openCount = 0; - closeCount = 0; - while (end < text.length) { - if (text[end] === ")" && openCount === closeCount) break; - if (text[end] === "(") openCount++; - if (text[end] === ")") closeCount++; - end++; - } - if (end === text.length) return false; - return { start: start + 1, end }; - } - __name(findNearestEnclosure, "findNearestEnclosure"); - function addWeightToParentheses(text) { - const parenRegex = /^\((.*)\)$/; - const parenMatch = text.match(parenRegex); - const floatRegex = /:([+-]?(\d*\.)?\d+([eE][+-]?\d+)?)/; - const floatMatch = text.match(floatRegex); - if (parenMatch && !floatMatch) { - return `(${parenMatch[1]}:1.0)`; - } else { - return text; - } - } - __name(addWeightToParentheses, "addWeightToParentheses"); - function editAttention(event) { - const inputField = event.composedPath()[0]; - const delta = parseFloat(editAttentionDelta.value); - if (inputField.tagName !== "TEXTAREA") return; - if (!(event.key === "ArrowUp" || event.key === "ArrowDown")) return; - if (!event.ctrlKey && !event.metaKey) return; - event.preventDefault(); - let start = inputField.selectionStart; - let end = inputField.selectionEnd; - let selectedText = inputField.value.substring(start, end); - if (!selectedText) { - const nearestEnclosure = findNearestEnclosure(inputField.value, start); - if (nearestEnclosure) { - start = nearestEnclosure.start; - end = nearestEnclosure.end; - selectedText = inputField.value.substring(start, end); - } else { - const delimiters = " .,\\/!?%^*;:{}=-_`~()\r\n "; - while (!delimiters.includes(inputField.value[start - 1]) && start > 0) { - start--; - } - while (!delimiters.includes(inputField.value[end]) && end < inputField.value.length) { - end++; - } - selectedText = inputField.value.substring(start, end); - if (!selectedText) return; - } - } - if (selectedText[selectedText.length - 1] === " ") { - selectedText = selectedText.substring(0, selectedText.length - 1); - end -= 1; - } - if (inputField.value[start - 1] === "(" && inputField.value[end] === ")") { - start -= 1; - end += 1; - selectedText = inputField.value.substring(start, end); - } - if (selectedText[0] !== "(" || selectedText[selectedText.length - 1] !== ")") { - selectedText = `(${selectedText})`; - } - selectedText = addWeightToParentheses(selectedText); - const weightDelta = event.key === "ArrowUp" ? delta : -delta; - const updatedText = selectedText.replace( - /\((.*):([+-]?\d+(?:\.\d+)?)\)/, - (match, text, weight) => { - weight = incrementWeight(weight, weightDelta); - if (weight == 1) { - return text; - } else { - return `(${text}:${weight})`; - } - } - ); - inputField.setSelectionRange(start, end); - document.execCommand("insertText", false, updatedText); - inputField.setSelectionRange(start, start + updatedText.length); - } - __name(editAttention, "editAttention"); - window.addEventListener("keydown", editAttention); - } -}); -const CONVERTED_TYPE = "converted-widget"; -const VALID_TYPES = ["STRING", "combo", "number", "toggle", "BOOLEAN"]; -const CONFIG = Symbol(); -const GET_CONFIG = Symbol(); -const TARGET = Symbol(); -const replacePropertyName = "Run widget replace on values"; -class PrimitiveNode extends LGraphNode { - static { - __name(this, "PrimitiveNode"); - } - controlValues; - lastType; - static category; - constructor(title) { - super(title); - this.addOutput("connect to widget input", "*"); - this.serialize_widgets = true; - this.isVirtualNode = true; - if (!this.properties || !(replacePropertyName in this.properties)) { - this.addProperty(replacePropertyName, false, "boolean"); - } - } - applyToGraph(extraLinks = []) { - if (!this.outputs[0].links?.length) return; - function get_links(node) { - let links2 = []; - for (const l of node.outputs[0].links) { - const linkInfo = app.graph.links[l]; - const n = node.graph.getNodeById(linkInfo.target_id); - if (n.type == "Reroute") { - links2 = links2.concat(get_links(n)); - } else { - links2.push(l); - } - } - return links2; - } - __name(get_links, "get_links"); - let links = [ - ...get_links(this).map((l) => app.graph.links[l]), - ...extraLinks - ]; - let v = this.widgets?.[0].value; - if (v && this.properties[replacePropertyName]) { - v = applyTextReplacements(app, v); - } - for (const linkInfo of links) { - const node = this.graph.getNodeById(linkInfo.target_id); - const input = node.inputs[linkInfo.target_slot]; - let widget; - if (input.widget[TARGET]) { - widget = input.widget[TARGET]; - } else { - const widgetName = input.widget.name; - if (widgetName) { - widget = node.widgets.find((w) => w.name === widgetName); - } - } - if (widget) { - widget.value = v; - if (widget.callback) { - widget.callback( - widget.value, - app.canvas, - node, - app.canvas.graph_mouse, - {} - ); - } - } - } - } - refreshComboInNode() { - const widget = this.widgets?.[0]; - if (widget?.type === "combo") { - widget.options.values = this.outputs[0].widget[GET_CONFIG]()[0]; - if (!widget.options.values.includes(widget.value)) { - widget.value = widget.options.values[0]; - widget.callback(widget.value); - } - } - } - onAfterGraphConfigured() { - if (this.outputs[0].links?.length && !this.widgets?.length) { - if (!this.#onFirstConnection()) return; - if (this.widgets) { - for (let i = 0; i < this.widgets_values.length; i++) { - const w = this.widgets[i]; - if (w) { - w.value = this.widgets_values[i]; - } - } - } - this.#mergeWidgetConfig(); - } - } - onConnectionsChange(_, index, connected) { - if (app.configuringGraph) { - return; - } - const links = this.outputs[0].links; - if (connected) { - if (links?.length && !this.widgets?.length) { - this.#onFirstConnection(); - } - } else { - this.#mergeWidgetConfig(); - if (!links?.length) { - this.onLastDisconnect(); - } - } - } - onConnectOutput(slot, type, input, target_node, target_slot) { - if (!input.widget) { - if (!(input.type in ComfyWidgets)) return false; - } - if (this.outputs[slot].links?.length) { - const valid = this.#isValidConnection(input); - if (valid) { - this.applyToGraph([{ target_id: target_node.id, target_slot }]); - } - return valid; - } - } - #onFirstConnection(recreating) { - if (!this.outputs[0].links) { - this.onLastDisconnect(); - return; - } - const linkId = this.outputs[0].links[0]; - const link = this.graph.links[linkId]; - if (!link) return; - const theirNode = this.graph.getNodeById(link.target_id); - if (!theirNode || !theirNode.inputs) return; - const input = theirNode.inputs[link.target_slot]; - if (!input) return; - let widget; - if (!input.widget) { - if (!(input.type in ComfyWidgets)) return; - widget = { name: input.name, [GET_CONFIG]: () => [input.type, {}] }; - } else { - widget = input.widget; - } - const config = widget[GET_CONFIG]?.(); - if (!config) return; - const { type } = getWidgetType(config); - this.outputs[0].type = type; - this.outputs[0].name = type; - this.outputs[0].widget = widget; - this.#createWidget( - widget[CONFIG] ?? config, - theirNode, - widget.name, - recreating, - widget[TARGET] - ); - } - #createWidget(inputData, node, widgetName, recreating, targetWidget) { - let type = inputData[0]; - if (type instanceof Array) { - type = "COMBO"; - } - const size = this.size; - let widget; - if (type in ComfyWidgets) { - widget = (ComfyWidgets[type](this, "value", inputData, app) || {}).widget; - } else { - widget = this.addWidget(type, "value", null, () => { - }, {}); - } - if (targetWidget) { - widget.value = targetWidget.value; - } else if (node?.widgets && widget) { - const theirWidget = node.widgets.find((w) => w.name === widgetName); - if (theirWidget) { - widget.value = theirWidget.value; - } - } - if (!inputData?.[1]?.control_after_generate && (widget.type === "number" || widget.type === "combo")) { - let control_value = this.widgets_values?.[1]; - if (!control_value) { - control_value = "fixed"; - } - addValueControlWidgets( - this, - widget, - control_value, - void 0, - inputData - ); - let filter = this.widgets_values?.[2]; - if (filter && this.widgets.length === 3) { - this.widgets[2].value = filter; - } - } - const controlValues = this.controlValues; - if (this.lastType === this.widgets[0].type && controlValues?.length === this.widgets.length - 1) { - for (let i = 0; i < controlValues.length; i++) { - this.widgets[i + 1].value = controlValues[i]; - } - } - const callback = widget.callback; - const self = this; - widget.callback = function() { - const r = callback ? callback.apply(this, arguments) : void 0; - self.applyToGraph(); - return r; - }; - this.size = [ - Math.max(this.size[0], size[0]), - Math.max(this.size[1], size[1]) - ]; - if (!recreating) { - const sz = this.computeSize(); - if (this.size[0] < sz[0]) { - this.size[0] = sz[0]; - } - if (this.size[1] < sz[1]) { - this.size[1] = sz[1]; - } - requestAnimationFrame(() => { - if (this.onResize) { - this.onResize(this.size); - } - }); - } - } - recreateWidget() { - const values = this.widgets?.map((w) => w.value); - this.#removeWidgets(); - this.#onFirstConnection(true); - if (values?.length) { - for (let i = 0; i < this.widgets?.length; i++) - this.widgets[i].value = values[i]; - } - return this.widgets?.[0]; - } - #mergeWidgetConfig() { - const output = this.outputs[0]; - const links = output.links; - const hasConfig = !!output.widget[CONFIG]; - if (hasConfig) { - delete output.widget[CONFIG]; - } - if (links?.length < 2 && hasConfig) { - if (links.length) { - this.recreateWidget(); - } - return; - } - const config1 = output.widget[GET_CONFIG](); - const isNumber = config1[0] === "INT" || config1[0] === "FLOAT"; - if (!isNumber) return; - for (const linkId of links) { - const link = app.graph.links[linkId]; - if (!link) continue; - const theirNode = app.graph.getNodeById(link.target_id); - const theirInput = theirNode.inputs[link.target_slot]; - this.#isValidConnection(theirInput, hasConfig); - } - } - #isValidConnection(input, forceUpdate) { - const output = this.outputs[0]; - const config2 = input.widget[GET_CONFIG](); - return !!mergeIfValid.call( - this, - output, - config2, - forceUpdate, - this.recreateWidget - ); - } - #removeWidgets() { - if (this.widgets) { - for (const w of this.widgets) { - if (w.onRemove) { - w.onRemove(); - } - } - this.controlValues = []; - this.lastType = this.widgets[0]?.type; - for (let i = 1; i < this.widgets.length; i++) { - this.controlValues.push(this.widgets[i].value); - } - setTimeout(() => { - delete this.lastType; - delete this.controlValues; - }, 15); - this.widgets.length = 0; - } - } - onLastDisconnect() { - this.outputs[0].type = "*"; - this.outputs[0].name = "connect to widget input"; - delete this.outputs[0].widget; - this.#removeWidgets(); - } -} -function getWidgetConfig(slot) { - return slot.widget[CONFIG] ?? slot.widget[GET_CONFIG](); -} -__name(getWidgetConfig, "getWidgetConfig"); -function getConfig(widgetName) { - const { nodeData } = this.constructor; - return nodeData?.input?.required?.[widgetName] ?? nodeData?.input?.optional?.[widgetName]; -} -__name(getConfig, "getConfig"); -function isConvertibleWidget(widget, config) { - return (VALID_TYPES.includes(widget.type) || VALID_TYPES.includes(config[0])) && !widget.options?.forceInput; -} -__name(isConvertibleWidget, "isConvertibleWidget"); -function hideWidget(node, widget, suffix = "") { - if (widget.type?.startsWith(CONVERTED_TYPE)) return; - widget.origType = widget.type; - widget.origComputeSize = widget.computeSize; - widget.origSerializeValue = widget.serializeValue; - widget.computeSize = () => [0, -4]; - widget.type = CONVERTED_TYPE + suffix; - widget.serializeValue = () => { - if (!node.inputs) { - return void 0; - } - let node_input = node.inputs.find((i) => i.widget?.name === widget.name); - if (!node_input || !node_input.link) { - return void 0; - } - return widget.origSerializeValue ? widget.origSerializeValue() : widget.value; - }; - if (widget.linkedWidgets) { - for (const w of widget.linkedWidgets) { - hideWidget(node, w, ":" + widget.name); - } - } -} -__name(hideWidget, "hideWidget"); -function showWidget(widget) { - widget.type = widget.origType; - widget.computeSize = widget.origComputeSize; - widget.serializeValue = widget.origSerializeValue; - delete widget.origType; - delete widget.origComputeSize; - delete widget.origSerializeValue; - if (widget.linkedWidgets) { - for (const w of widget.linkedWidgets) { - showWidget(w); - } - } -} -__name(showWidget, "showWidget"); -function convertToInput(node, widget, config) { - hideWidget(node, widget); - const { type } = getWidgetType(config); - const sz = node.size; - node.addInput(widget.name, type, { - widget: { name: widget.name, [GET_CONFIG]: () => config } - }); - for (const widget2 of node.widgets) { - widget2.last_y += LiteGraph.NODE_SLOT_HEIGHT; - } - node.setSize([Math.max(sz[0], node.size[0]), Math.max(sz[1], node.size[1])]); -} -__name(convertToInput, "convertToInput"); -function convertToWidget(node, widget) { - showWidget(widget); - const sz = node.size; - node.removeInput(node.inputs.findIndex((i) => i.widget?.name === widget.name)); - for (const widget2 of node.widgets) { - widget2.last_y -= LiteGraph.NODE_SLOT_HEIGHT; - } - node.setSize([Math.max(sz[0], node.size[0]), Math.max(sz[1], node.size[1])]); -} -__name(convertToWidget, "convertToWidget"); -function getWidgetType(config) { - let type = config[0]; - if (type instanceof Array) { - type = "COMBO"; - } - return { type }; -} -__name(getWidgetType, "getWidgetType"); -function isValidCombo(combo, obj) { - if (!(obj instanceof Array)) { - console.log(`connection rejected: tried to connect combo to ${obj}`); - return false; - } - if (combo.length !== obj.length) { - console.log(`connection rejected: combo lists dont match`); - return false; - } - if (combo.find((v, i) => obj[i] !== v)) { - console.log(`connection rejected: combo lists dont match`); - return false; - } - return true; -} -__name(isValidCombo, "isValidCombo"); -function isPrimitiveNode(node) { - return node.type === "PrimitiveNode"; -} -__name(isPrimitiveNode, "isPrimitiveNode"); -function setWidgetConfig(slot, config, target) { - if (!slot.widget) return; - if (config) { - slot.widget[GET_CONFIG] = () => config; - slot.widget[TARGET] = target; - } else { - delete slot.widget; - } - if (slot.link) { - const link = app.graph.links[slot.link]; - if (link) { - const originNode = app.graph.getNodeById(link.origin_id); - if (isPrimitiveNode(originNode)) { - if (config) { - originNode.recreateWidget(); - } else if (!app.configuringGraph) { - originNode.disconnectOutput(0); - originNode.onLastDisconnect(); - } - } - } - } -} -__name(setWidgetConfig, "setWidgetConfig"); -function mergeIfValid(output, config2, forceUpdate, recreateWidget, config1) { - if (!config1) { - config1 = output.widget[CONFIG] ?? output.widget[GET_CONFIG](); - } - if (config1[0] instanceof Array) { - if (!isValidCombo(config1[0], config2[0])) return; - } else if (config1[0] !== config2[0]) { - console.log(`connection rejected: types dont match`, config1[0], config2[0]); - return; - } - const keys = /* @__PURE__ */ new Set([ - ...Object.keys(config1[1] ?? {}), - ...Object.keys(config2[1] ?? {}) - ]); - let customConfig; - const getCustomConfig = /* @__PURE__ */ __name(() => { - if (!customConfig) { - if (typeof structuredClone === "undefined") { - customConfig = JSON.parse(JSON.stringify(config1[1] ?? {})); - } else { - customConfig = structuredClone(config1[1] ?? {}); - } - } - return customConfig; - }, "getCustomConfig"); - const isNumber = config1[0] === "INT" || config1[0] === "FLOAT"; - for (const k of keys.values()) { - if (k !== "default" && k !== "forceInput" && k !== "defaultInput" && k !== "control_after_generate" && k !== "multiline" && k !== "tooltip") { - let v1 = config1[1][k]; - let v2 = config2[1]?.[k]; - if (v1 === v2 || !v1 && !v2) continue; - if (isNumber) { - if (k === "min") { - const theirMax = config2[1]?.["max"]; - if (theirMax != null && v1 > theirMax) { - console.log("connection rejected: min > max", v1, theirMax); - return; - } - getCustomConfig()[k] = v1 == null ? v2 : v2 == null ? v1 : Math.max(v1, v2); - continue; - } else if (k === "max") { - const theirMin = config2[1]?.["min"]; - if (theirMin != null && v1 < theirMin) { - console.log("connection rejected: max < min", v1, theirMin); - return; - } - getCustomConfig()[k] = v1 == null ? v2 : v2 == null ? v1 : Math.min(v1, v2); - continue; - } else if (k === "step") { - let step; - if (v1 == null) { - step = v2; - } else if (v2 == null) { - step = v1; - } else { - if (v1 < v2) { - const a = v2; - v2 = v1; - v1 = a; - } - if (v1 % v2) { - console.log( - "connection rejected: steps not divisible", - "current:", - v1, - "new:", - v2 - ); - return; - } - step = v1; - } - getCustomConfig()[k] = step; - continue; - } - } - console.log(`connection rejected: config ${k} values dont match`, v1, v2); - return; - } - } - if (customConfig || forceUpdate) { - if (customConfig) { - output.widget[CONFIG] = [config1[0], customConfig]; - } - const widget = recreateWidget?.call(this); - if (widget) { - const min = widget.options.min; - const max = widget.options.max; - if (min != null && widget.value < min) widget.value = min; - if (max != null && widget.value > max) widget.value = max; - widget.callback(widget.value); - } - } - return { customConfig }; -} -__name(mergeIfValid, "mergeIfValid"); -let useConversionSubmenusSetting; -app.registerExtension({ - name: "Comfy.WidgetInputs", - init() { - useConversionSubmenusSetting = app.ui.settings.addSetting({ - id: "Comfy.NodeInputConversionSubmenus", - name: "In the node context menu, place the entries that convert between input/widget in sub-menus.", - type: "boolean", - defaultValue: true - }); - }, - async beforeRegisterNodeDef(nodeType, nodeData, app2) { - const origGetExtraMenuOptions = nodeType.prototype.getExtraMenuOptions; - nodeType.prototype.convertWidgetToInput = function(widget) { - const config = getConfig.call(this, widget.name) ?? [ - widget.type, - widget.options || {} - ]; - if (!isConvertibleWidget(widget, config)) return false; - convertToInput(this, widget, config); - return true; - }; - nodeType.prototype.getExtraMenuOptions = function(_, options) { - const r = origGetExtraMenuOptions ? origGetExtraMenuOptions.apply(this, arguments) : void 0; - if (this.widgets) { - let toInput = []; - let toWidget = []; - for (const w of this.widgets) { - if (w.options?.forceInput) { - continue; - } - if (w.type === CONVERTED_TYPE) { - toWidget.push({ - content: `Convert ${w.name} to widget`, - callback: /* @__PURE__ */ __name(() => convertToWidget(this, w), "callback") - }); - } else { - const config = getConfig.call(this, w.name) ?? [ - w.type, - w.options || {} - ]; - if (isConvertibleWidget(w, config)) { - toInput.push({ - content: `Convert ${w.name} to input`, - callback: /* @__PURE__ */ __name(() => convertToInput(this, w, config), "callback") - }); - } - } - } - if (toInput.length) { - if (useConversionSubmenusSetting.value) { - options.push({ - content: "Convert Widget to Input", - submenu: { - options: toInput - } - }); - } else { - options.push(...toInput, null); - } - } - if (toWidget.length) { - if (useConversionSubmenusSetting.value) { - options.push({ - content: "Convert Input to Widget", - submenu: { - options: toWidget - } - }); - } else { - options.push(...toWidget, null); - } - } - } - return r; - }; - nodeType.prototype.onGraphConfigured = function() { - if (!this.inputs) return; - for (const input of this.inputs) { - if (input.widget) { - if (!input.widget[GET_CONFIG]) { - input.widget[GET_CONFIG] = () => getConfig.call(this, input.widget.name); - } - if (input.widget.config) { - if (input.widget.config[0] instanceof Array) { - input.type = "COMBO"; - const link = app2.graph.links[input.link]; - if (link) { - link.type = input.type; - } - } - delete input.widget.config; - } - const w = this.widgets.find((w2) => w2.name === input.widget.name); - if (w) { - hideWidget(this, w); - } else { - convertToWidget(this, input); - } - } - } - }; - const origOnNodeCreated = nodeType.prototype.onNodeCreated; - nodeType.prototype.onNodeCreated = function() { - const r = origOnNodeCreated ? origOnNodeCreated.apply(this) : void 0; - if (!app2.configuringGraph && this.widgets) { - for (const w of this.widgets) { - if (w?.options?.forceInput || w?.options?.defaultInput) { - const config = getConfig.call(this, w.name) ?? [ - w.type, - w.options || {} - ]; - convertToInput(this, w, config); - } - } - } - return r; - }; - const origOnConfigure = nodeType.prototype.onConfigure; - nodeType.prototype.onConfigure = function() { - const r = origOnConfigure ? origOnConfigure.apply(this, arguments) : void 0; - if (!app2.configuringGraph && this.inputs) { - for (const input of this.inputs) { - if (input.widget && !input.widget[GET_CONFIG]) { - input.widget[GET_CONFIG] = () => getConfig.call(this, input.widget.name); - const w = this.widgets.find((w2) => w2.name === input.widget.name); - if (w) { - hideWidget(this, w); - } - } - } - } - return r; - }; - function isNodeAtPos(pos) { - for (const n of app2.graph._nodes) { - if (n.pos[0] === pos[0] && n.pos[1] === pos[1]) { - return true; - } - } - return false; - } - __name(isNodeAtPos, "isNodeAtPos"); - const origOnInputDblClick = nodeType.prototype.onInputDblClick; - const ignoreDblClick = Symbol(); - nodeType.prototype.onInputDblClick = function(slot) { - const r = origOnInputDblClick ? origOnInputDblClick.apply(this, arguments) : void 0; - const input = this.inputs[slot]; - if (!input.widget || !input[ignoreDblClick]) { - if (!(input.type in ComfyWidgets) && !(input.widget[GET_CONFIG]?.()?.[0] instanceof Array)) { - return r; - } - } - const node = LiteGraph.createNode("PrimitiveNode"); - app2.graph.add(node); - const pos = [ - this.pos[0] - node.size[0] - 30, - this.pos[1] - ]; - while (isNodeAtPos(pos)) { - pos[1] += LiteGraph.NODE_TITLE_HEIGHT; - } - node.pos = pos; - node.connect(0, this, slot); - node.title = input.name; - input[ignoreDblClick] = true; - setTimeout(() => { - delete input[ignoreDblClick]; - }, 300); - return r; - }; - const onConnectInput = nodeType.prototype.onConnectInput; - nodeType.prototype.onConnectInput = function(targetSlot, type, output, originNode, originSlot) { - const v = onConnectInput?.(this, arguments); - if (type !== "COMBO") return v; - if (originNode.outputs[originSlot].widget) return v; - const targetCombo = this.inputs[targetSlot].widget?.[GET_CONFIG]?.()?.[0]; - if (!targetCombo || !(targetCombo instanceof Array)) return v; - const originConfig = originNode.constructor?.nodeData?.output?.[originSlot]; - if (!originConfig || !isValidCombo(targetCombo, originConfig)) { - return false; - } - return v; - }; - }, - registerCustomNodes() { - LiteGraph.registerNodeType( - "PrimitiveNode", - Object.assign(PrimitiveNode, { - title: "Primitive" - }) - ); - PrimitiveNode.category = "utils"; - } -}); -window.comfyAPI = window.comfyAPI || {}; -window.comfyAPI.widgetInputs = window.comfyAPI.widgetInputs || {}; -window.comfyAPI.widgetInputs.getWidgetConfig = getWidgetConfig; -window.comfyAPI.widgetInputs.setWidgetConfig = setWidgetConfig; -window.comfyAPI.widgetInputs.mergeIfValid = mergeIfValid; -const ORDER = Symbol(); -function merge(target, source) { - if (typeof target === "object" && typeof source === "object") { - for (const key in source) { - const sv = source[key]; - if (typeof sv === "object") { - let tv = target[key]; - if (!tv) tv = target[key] = {}; - merge(tv, source[key]); - } else { - target[key] = sv; - } - } - } - return target; -} -__name(merge, "merge"); -class ManageGroupDialog extends ComfyDialog { - static { - __name(this, "ManageGroupDialog"); - } - tabs; - selectedNodeIndex; - selectedTab = "Inputs"; - selectedGroup; - modifications = {}; - nodeItems; - app; - groupNodeType; - groupNodeDef; - groupData; - innerNodesList; - widgetsPage; - inputsPage; - outputsPage; - draggable; - get selectedNodeInnerIndex() { - return +this.nodeItems[this.selectedNodeIndex].dataset.nodeindex; - } - constructor(app2) { - super(); - this.app = app2; - this.element = $el("dialog.comfy-group-manage", { - parent: document.body - }); - } - changeTab(tab) { - this.tabs[this.selectedTab].tab.classList.remove("active"); - this.tabs[this.selectedTab].page.classList.remove("active"); - this.tabs[tab].tab.classList.add("active"); - this.tabs[tab].page.classList.add("active"); - this.selectedTab = tab; - } - changeNode(index, force) { - if (!force && this.selectedNodeIndex === index) return; - if (this.selectedNodeIndex != null) { - this.nodeItems[this.selectedNodeIndex].classList.remove("selected"); - } - this.nodeItems[index].classList.add("selected"); - this.selectedNodeIndex = index; - if (!this.buildInputsPage() && this.selectedTab === "Inputs") { - this.changeTab("Widgets"); - } - if (!this.buildWidgetsPage() && this.selectedTab === "Widgets") { - this.changeTab("Outputs"); - } - if (!this.buildOutputsPage() && this.selectedTab === "Outputs") { - this.changeTab("Inputs"); - } - this.changeTab(this.selectedTab); - } - getGroupData() { - this.groupNodeType = LiteGraph.registered_node_types["workflow/" + this.selectedGroup]; - this.groupNodeDef = this.groupNodeType.nodeData; - this.groupData = GroupNodeHandler.getGroupData(this.groupNodeType); - } - changeGroup(group, reset = true) { - this.selectedGroup = group; - this.getGroupData(); - const nodes = this.groupData.nodeData.nodes; - this.nodeItems = nodes.map( - (n, i) => $el( - "li.draggable-item", - { - dataset: { - nodeindex: n.index + "" - }, - onclick: /* @__PURE__ */ __name(() => { - this.changeNode(i); - }, "onclick") - }, - [ - $el("span.drag-handle"), - $el( - "div", - { - textContent: n.title ?? n.type - }, - n.title ? $el("span", { - textContent: n.type - }) : [] - ) - ] - ) - ); - this.innerNodesList.replaceChildren(...this.nodeItems); - if (reset) { - this.selectedNodeIndex = null; - this.changeNode(0); - } else { - const items = this.draggable.getAllItems(); - let index = items.findIndex((item) => item.classList.contains("selected")); - if (index === -1) index = this.selectedNodeIndex; - this.changeNode(index, true); - } - const ordered = [...nodes]; - this.draggable?.dispose(); - this.draggable = new DraggableList(this.innerNodesList, "li"); - this.draggable.addEventListener( - "dragend", - ({ detail: { oldPosition, newPosition } }) => { - if (oldPosition === newPosition) return; - ordered.splice(newPosition, 0, ordered.splice(oldPosition, 1)[0]); - for (let i = 0; i < ordered.length; i++) { - this.storeModification({ - nodeIndex: ordered[i].index, - section: ORDER, - prop: "order", - value: i - }); - } - } - ); - } - storeModification(props) { - const { nodeIndex, section, prop, value } = props; - const groupMod = this.modifications[this.selectedGroup] ??= {}; - const nodesMod = groupMod.nodes ??= {}; - const nodeMod = nodesMod[nodeIndex ?? this.selectedNodeInnerIndex] ??= {}; - const typeMod = nodeMod[section] ??= {}; - if (typeof value === "object") { - const objMod = typeMod[prop] ??= {}; - Object.assign(objMod, value); - } else { - typeMod[prop] = value; - } - } - getEditElement(section, prop, value, placeholder, checked, checkable = true) { - if (value === placeholder) value = ""; - const mods = this.modifications[this.selectedGroup]?.nodes?.[this.selectedNodeInnerIndex]?.[section]?.[prop]; - if (mods) { - if (mods.name != null) { - value = mods.name; - } - if (mods.visible != null) { - checked = mods.visible; - } - } - return $el("div", [ - $el("input", { - value, - placeholder, - type: "text", - onchange: /* @__PURE__ */ __name((e) => { - this.storeModification({ - section, - prop, - value: { name: e.target.value } - }); - }, "onchange") - }), - $el("label", { textContent: "Visible" }, [ - $el("input", { - type: "checkbox", - checked, - disabled: !checkable, - onchange: /* @__PURE__ */ __name((e) => { - this.storeModification({ - section, - prop, - value: { visible: !!e.target.checked } - }); - }, "onchange") - }) - ]) - ]); - } - buildWidgetsPage() { - const widgets = this.groupData.oldToNewWidgetMap[this.selectedNodeInnerIndex]; - const items = Object.keys(widgets ?? {}); - const type = app.graph.extra.groupNodes[this.selectedGroup]; - const config = type.config?.[this.selectedNodeInnerIndex]?.input; - this.widgetsPage.replaceChildren( - ...items.map((oldName) => { - return this.getEditElement( - "input", - oldName, - widgets[oldName], - oldName, - config?.[oldName]?.visible !== false - ); - }) - ); - return !!items.length; - } - buildInputsPage() { - const inputs = this.groupData.nodeInputs[this.selectedNodeInnerIndex]; - const items = Object.keys(inputs ?? {}); - const type = app.graph.extra.groupNodes[this.selectedGroup]; - const config = type.config?.[this.selectedNodeInnerIndex]?.input; - this.inputsPage.replaceChildren( - ...items.map((oldName) => { - let value = inputs[oldName]; - if (!value) { - return; - } - return this.getEditElement( - "input", - oldName, - value, - oldName, - config?.[oldName]?.visible !== false - ); - }).filter(Boolean) - ); - return !!items.length; - } - buildOutputsPage() { - const nodes = this.groupData.nodeData.nodes; - const innerNodeDef = this.groupData.getNodeDef( - nodes[this.selectedNodeInnerIndex] - ); - const outputs = innerNodeDef?.output ?? []; - const groupOutputs = this.groupData.oldToNewOutputMap[this.selectedNodeInnerIndex]; - const type = app.graph.extra.groupNodes[this.selectedGroup]; - const config = type.config?.[this.selectedNodeInnerIndex]?.output; - const node = this.groupData.nodeData.nodes[this.selectedNodeInnerIndex]; - const checkable = node.type !== "PrimitiveNode"; - this.outputsPage.replaceChildren( - ...outputs.map((type2, slot) => { - const groupOutputIndex = groupOutputs?.[slot]; - const oldName = innerNodeDef.output_name?.[slot] ?? type2; - let value = config?.[slot]?.name; - const visible = config?.[slot]?.visible || groupOutputIndex != null; - if (!value || value === oldName) { - value = ""; - } - return this.getEditElement( - "output", - slot, - value, - oldName, - visible, - checkable - ); - }).filter(Boolean) - ); - return !!outputs.length; - } - show(type) { - const groupNodes = Object.keys(app.graph.extra?.groupNodes ?? {}).sort( - (a, b) => a.localeCompare(b) - ); - this.innerNodesList = $el( - "ul.comfy-group-manage-list-items" - ); - this.widgetsPage = $el("section.comfy-group-manage-node-page"); - this.inputsPage = $el("section.comfy-group-manage-node-page"); - this.outputsPage = $el("section.comfy-group-manage-node-page"); - const pages = $el("div", [ - this.widgetsPage, - this.inputsPage, - this.outputsPage - ]); - this.tabs = [ - ["Inputs", this.inputsPage], - ["Widgets", this.widgetsPage], - ["Outputs", this.outputsPage] - ].reduce((p, [name, page]) => { - p[name] = { - tab: $el("a", { - onclick: /* @__PURE__ */ __name(() => { - this.changeTab(name); - }, "onclick"), - textContent: name - }), - page - }; - return p; - }, {}); - const outer = $el("div.comfy-group-manage-outer", [ - $el("header", [ - $el("h2", "Group Nodes"), - $el( - "select", - { - onchange: /* @__PURE__ */ __name((e) => { - this.changeGroup(e.target.value); - }, "onchange") - }, - groupNodes.map( - (g) => $el("option", { - textContent: g, - selected: "workflow/" + g === type, - value: g - }) - ) - ) - ]), - $el("main", [ - $el("section.comfy-group-manage-list", this.innerNodesList), - $el("section.comfy-group-manage-node", [ - $el( - "header", - Object.values(this.tabs).map((t) => t.tab) - ), - pages - ]) - ]), - $el("footer", [ - $el( - "button.comfy-btn", - { - onclick: /* @__PURE__ */ __name((e) => { - const node = app.graph._nodes.find( - (n) => n.type === "workflow/" + this.selectedGroup - ); - if (node) { - alert( - "This group node is in use in the current workflow, please first remove these." - ); - return; - } - if (confirm( - `Are you sure you want to remove the node: "${this.selectedGroup}"` - )) { - delete app.graph.extra.groupNodes[this.selectedGroup]; - LiteGraph.unregisterNodeType("workflow/" + this.selectedGroup); - } - this.show(); - }, "onclick") - }, - "Delete Group Node" - ), - $el( - "button.comfy-btn", - { - onclick: /* @__PURE__ */ __name(async () => { - let nodesByType; - let recreateNodes = []; - const types = {}; - for (const g in this.modifications) { - const type2 = app.graph.extra.groupNodes[g]; - let config = type2.config ??= {}; - let nodeMods = this.modifications[g]?.nodes; - if (nodeMods) { - const keys = Object.keys(nodeMods); - if (nodeMods[keys[0]][ORDER]) { - const orderedNodes = []; - const orderedMods = {}; - const orderedConfig = {}; - for (const n of keys) { - const order = nodeMods[n][ORDER].order; - orderedNodes[order] = type2.nodes[+n]; - orderedMods[order] = nodeMods[n]; - orderedNodes[order].index = order; - } - for (const l of type2.links) { - if (l[0] != null) l[0] = type2.nodes[l[0]].index; - if (l[2] != null) l[2] = type2.nodes[l[2]].index; - } - if (type2.external) { - for (const ext2 of type2.external) { - ext2[0] = type2.nodes[ext2[0]]; - } - } - for (const id2 of keys) { - if (config[id2]) { - orderedConfig[type2.nodes[id2].index] = config[id2]; - } - delete config[id2]; - } - type2.nodes = orderedNodes; - nodeMods = orderedMods; - type2.config = config = orderedConfig; - } - merge(config, nodeMods); - } - types[g] = type2; - if (!nodesByType) { - nodesByType = app.graph._nodes.reduce((p, n) => { - p[n.type] ??= []; - p[n.type].push(n); - return p; - }, {}); - } - const nodes = nodesByType["workflow/" + g]; - if (nodes) recreateNodes.push(...nodes); - } - await GroupNodeConfig.registerFromWorkflow(types, {}); - for (const node of recreateNodes) { - node.recreate(); - } - this.modifications = {}; - this.app.graph.setDirtyCanvas(true, true); - this.changeGroup(this.selectedGroup, false); - }, "onclick") - }, - "Save" - ), - $el( - "button.comfy-btn", - { onclick: /* @__PURE__ */ __name(() => this.element.close(), "onclick") }, - "Close" - ) - ]) - ]); - this.element.replaceChildren(outer); - this.changeGroup( - type ? groupNodes.find((g) => "workflow/" + g === type) : groupNodes[0] - ); - this.element.showModal(); - this.element.addEventListener("close", () => { - this.draggable?.dispose(); - }); - } -} -window.comfyAPI = window.comfyAPI || {}; -window.comfyAPI.groupNodeManage = window.comfyAPI.groupNodeManage || {}; -window.comfyAPI.groupNodeManage.ManageGroupDialog = ManageGroupDialog; -const GROUP = Symbol(); -const Workflow = { - InUse: { - Free: 0, - Registered: 1, - InWorkflow: 2 - }, - isInUseGroupNode(name) { - const id2 = `workflow/${name}`; - if (app.graph.extra?.groupNodes?.[name]) { - if (app.graph._nodes.find((n) => n.type === id2)) { - return Workflow.InUse.InWorkflow; - } else { - return Workflow.InUse.Registered; - } - } - return Workflow.InUse.Free; - }, - storeGroupNode(name, data) { - let extra = app.graph.extra; - if (!extra) app.graph.extra = extra = {}; - let groupNodes = extra.groupNodes; - if (!groupNodes) extra.groupNodes = groupNodes = {}; - groupNodes[name] = data; - } -}; -class GroupNodeBuilder { - static { - __name(this, "GroupNodeBuilder"); - } - nodes; - nodeData; - constructor(nodes) { - this.nodes = nodes; - } - build() { - const name = this.getName(); - if (!name) return; - this.sortNodes(); - this.nodeData = this.getNodeData(); - Workflow.storeGroupNode(name, this.nodeData); - return { name, nodeData: this.nodeData }; - } - getName() { - const name = prompt("Enter group name"); - if (!name) return; - const used = Workflow.isInUseGroupNode(name); - switch (used) { - case Workflow.InUse.InWorkflow: - alert( - "An in use group node with this name already exists embedded in this workflow, please remove any instances or use a new name." - ); - return; - case Workflow.InUse.Registered: - if (!confirm( - "A group node with this name already exists embedded in this workflow, are you sure you want to overwrite it?" - )) { - return; - } - break; - } - return name; - } - sortNodes() { - const nodesInOrder = app.graph.computeExecutionOrder(false); - this.nodes = this.nodes.map((node) => ({ index: nodesInOrder.indexOf(node), node })).sort((a, b) => a.index - b.index || a.node.id - b.node.id).map(({ node }) => node); - } - getNodeData() { - const storeLinkTypes = /* @__PURE__ */ __name((config) => { - for (const link of config.links) { - const origin = app.graph.getNodeById(link[4]); - const type = origin.outputs[link[1]].type; - link.push(type); - } - }, "storeLinkTypes"); - const storeExternalLinks = /* @__PURE__ */ __name((config) => { - config.external = []; - for (let i = 0; i < this.nodes.length; i++) { - const node = this.nodes[i]; - if (!node.outputs?.length) continue; - for (let slot = 0; slot < node.outputs.length; slot++) { - let hasExternal = false; - const output = node.outputs[slot]; - let type = output.type; - if (!output.links?.length) continue; - for (const l of output.links) { - const link = app.graph.links[l]; - if (!link) continue; - if (type === "*") type = link.type; - if (!app.canvas.selected_nodes[link.target_id]) { - hasExternal = true; - break; - } - } - if (hasExternal) { - config.external.push([i, slot, type]); - } - } - } - }, "storeExternalLinks"); - const backup = localStorage.getItem("litegrapheditor_clipboard"); - try { - app.canvas.copyToClipboard(this.nodes); - const config = JSON.parse( - localStorage.getItem("litegrapheditor_clipboard") - ); - storeLinkTypes(config); - storeExternalLinks(config); - return config; - } finally { - localStorage.setItem("litegrapheditor_clipboard", backup); - } - } -} -class GroupNodeConfig { - static { - __name(this, "GroupNodeConfig"); - } - name; - nodeData; - inputCount; - oldToNewOutputMap; - newToOldOutputMap; - oldToNewInputMap; - oldToNewWidgetMap; - newToOldWidgetMap; - primitiveDefs; - widgetToPrimitive; - primitiveToWidget; - nodeInputs; - outputVisibility; - nodeDef; - inputs; - linksFrom; - linksTo; - externalFrom; - constructor(name, nodeData) { - this.name = name; - this.nodeData = nodeData; - this.getLinks(); - this.inputCount = 0; - this.oldToNewOutputMap = {}; - this.newToOldOutputMap = {}; - this.oldToNewInputMap = {}; - this.oldToNewWidgetMap = {}; - this.newToOldWidgetMap = {}; - this.primitiveDefs = {}; - this.widgetToPrimitive = {}; - this.primitiveToWidget = {}; - this.nodeInputs = {}; - this.outputVisibility = []; - } - async registerType(source = "workflow") { - this.nodeDef = { - output: [], - output_name: [], - output_is_list: [], - output_is_hidden: [], - name: source + "/" + this.name, - display_name: this.name, - category: "group nodes" + ("/" + source), - input: { required: {} }, - [GROUP]: this - }; - this.inputs = []; - const seenInputs = {}; - const seenOutputs = {}; - for (let i = 0; i < this.nodeData.nodes.length; i++) { - const node = this.nodeData.nodes[i]; - node.index = i; - this.processNode(node, seenInputs, seenOutputs); - } - for (const p of this.#convertedToProcess) { - p(); - } - this.#convertedToProcess = null; - await app.registerNodeDef("workflow/" + this.name, this.nodeDef); - } - getLinks() { - this.linksFrom = {}; - this.linksTo = {}; - this.externalFrom = {}; - for (const l of this.nodeData.links) { - const [sourceNodeId, sourceNodeSlot, targetNodeId, targetNodeSlot] = l; - if (sourceNodeId == null) continue; - if (!this.linksFrom[sourceNodeId]) { - this.linksFrom[sourceNodeId] = {}; - } - if (!this.linksFrom[sourceNodeId][sourceNodeSlot]) { - this.linksFrom[sourceNodeId][sourceNodeSlot] = []; - } - this.linksFrom[sourceNodeId][sourceNodeSlot].push(l); - if (!this.linksTo[targetNodeId]) { - this.linksTo[targetNodeId] = {}; - } - this.linksTo[targetNodeId][targetNodeSlot] = l; - } - if (this.nodeData.external) { - for (const ext2 of this.nodeData.external) { - if (!this.externalFrom[ext2[0]]) { - this.externalFrom[ext2[0]] = { [ext2[1]]: ext2[2] }; - } else { - this.externalFrom[ext2[0]][ext2[1]] = ext2[2]; - } - } - } - } - processNode(node, seenInputs, seenOutputs) { - const def = this.getNodeDef(node); - if (!def) return; - const inputs = { ...def.input?.required, ...def.input?.optional }; - this.inputs.push(this.processNodeInputs(node, seenInputs, inputs)); - if (def.output?.length) this.processNodeOutputs(node, seenOutputs, def); - } - getNodeDef(node) { - const def = globalDefs[node.type]; - if (def) return def; - const linksFrom = this.linksFrom[node.index]; - if (node.type === "PrimitiveNode") { - if (!linksFrom) return; - let type = linksFrom["0"][0][5]; - if (type === "COMBO") { - const source = node.outputs[0].widget.name; - const fromTypeName = this.nodeData.nodes[linksFrom["0"][0][2]].type; - const fromType = globalDefs[fromTypeName]; - const input = fromType.input.required[source] ?? fromType.input.optional[source]; - type = input[0]; - } - const def2 = this.primitiveDefs[node.index] = { - input: { - required: { - value: [type, {}] - } - }, - output: [type], - output_name: [], - output_is_list: [] - }; - return def2; - } else if (node.type === "Reroute") { - const linksTo = this.linksTo[node.index]; - if (linksTo && linksFrom && !this.externalFrom[node.index]?.[0]) { - return null; - } - let config = {}; - let rerouteType = "*"; - if (linksFrom) { - for (const [, , id2, slot] of linksFrom["0"]) { - const node2 = this.nodeData.nodes[id2]; - const input = node2.inputs[slot]; - if (rerouteType === "*") { - rerouteType = input.type; - } - if (input.widget) { - const targetDef = globalDefs[node2.type]; - const targetWidget = targetDef.input.required[input.widget.name] ?? targetDef.input.optional[input.widget.name]; - const widget = [targetWidget[0], config]; - const res = mergeIfValid( - { - widget - }, - targetWidget, - false, - null, - widget - ); - config = res?.customConfig ?? config; - } - } - } else if (linksTo) { - const [id2, slot] = linksTo["0"]; - rerouteType = this.nodeData.nodes[id2].outputs[slot].type; - } else { - for (const l of this.nodeData.links) { - if (l[2] === node.index) { - rerouteType = l[5]; - break; - } - } - if (rerouteType === "*") { - const t = this.externalFrom[node.index]?.[0]; - if (t) { - rerouteType = t; - } - } - } - config.forceInput = true; - return { - input: { - required: { - [rerouteType]: [rerouteType, config] - } - }, - output: [rerouteType], - output_name: [], - output_is_list: [] - }; - } - console.warn( - "Skipping virtual node " + node.type + " when building group node " + this.name - ); - } - getInputConfig(node, inputName, seenInputs, config, extra) { - const customConfig = this.nodeData.config?.[node.index]?.input?.[inputName]; - let name = customConfig?.name ?? node.inputs?.find((inp) => inp.name === inputName)?.label ?? inputName; - let key = name; - let prefix = ""; - if (node.type === "PrimitiveNode" && node.title || name in seenInputs) { - prefix = `${node.title ?? node.type} `; - key = name = `${prefix}${inputName}`; - if (name in seenInputs) { - name = `${prefix}${seenInputs[name]} ${inputName}`; - } - } - seenInputs[key] = (seenInputs[key] ?? 1) + 1; - if (inputName === "seed" || inputName === "noise_seed") { - if (!extra) extra = {}; - extra.control_after_generate = `${prefix}control_after_generate`; - } - if (config[0] === "IMAGEUPLOAD") { - if (!extra) extra = {}; - extra.widget = this.oldToNewWidgetMap[node.index]?.[config[1]?.widget ?? "image"] ?? "image"; - } - if (extra) { - config = [config[0], { ...config[1], ...extra }]; - } - return { name, config, customConfig }; - } - processWidgetInputs(inputs, node, inputNames, seenInputs) { - const slots = []; - const converted = /* @__PURE__ */ new Map(); - const widgetMap = this.oldToNewWidgetMap[node.index] = {}; - for (const inputName of inputNames) { - let widgetType = app.getWidgetType(inputs[inputName], inputName); - if (widgetType) { - const convertedIndex = node.inputs?.findIndex( - (inp) => inp.name === inputName && inp.widget?.name === inputName - ); - if (convertedIndex > -1) { - converted.set(convertedIndex, inputName); - widgetMap[inputName] = null; - } else { - const { name, config } = this.getInputConfig( - node, - inputName, - seenInputs, - inputs[inputName] - ); - this.nodeDef.input.required[name] = config; - widgetMap[inputName] = name; - this.newToOldWidgetMap[name] = { node, inputName }; - } - } else { - slots.push(inputName); - } - } - return { converted, slots }; - } - checkPrimitiveConnection(link, inputName, inputs) { - const sourceNode = this.nodeData.nodes[link[0]]; - if (sourceNode.type === "PrimitiveNode") { - const [sourceNodeId, _, targetNodeId, __] = link; - const primitiveDef = this.primitiveDefs[sourceNodeId]; - const targetWidget = inputs[inputName]; - const primitiveConfig = primitiveDef.input.required.value; - const output = { widget: primitiveConfig }; - const config = mergeIfValid( - output, - targetWidget, - false, - null, - primitiveConfig - ); - primitiveConfig[1] = config?.customConfig ?? inputs[inputName][1] ? { ...inputs[inputName][1] } : {}; - let name = this.oldToNewWidgetMap[sourceNodeId]["value"]; - name = name.substr(0, name.length - 6); - primitiveConfig[1].control_after_generate = true; - primitiveConfig[1].control_prefix = name; - let toPrimitive = this.widgetToPrimitive[targetNodeId]; - if (!toPrimitive) { - toPrimitive = this.widgetToPrimitive[targetNodeId] = {}; - } - if (toPrimitive[inputName]) { - toPrimitive[inputName].push(sourceNodeId); - } - toPrimitive[inputName] = sourceNodeId; - let toWidget = this.primitiveToWidget[sourceNodeId]; - if (!toWidget) { - toWidget = this.primitiveToWidget[sourceNodeId] = []; - } - toWidget.push({ nodeId: targetNodeId, inputName }); - } - } - processInputSlots(inputs, node, slots, linksTo, inputMap, seenInputs) { - this.nodeInputs[node.index] = {}; - for (let i = 0; i < slots.length; i++) { - const inputName = slots[i]; - if (linksTo[i]) { - this.checkPrimitiveConnection(linksTo[i], inputName, inputs); - continue; - } - const { name, config, customConfig } = this.getInputConfig( - node, - inputName, - seenInputs, - inputs[inputName] - ); - this.nodeInputs[node.index][inputName] = name; - if (customConfig?.visible === false) continue; - this.nodeDef.input.required[name] = config; - inputMap[i] = this.inputCount++; - } - } - processConvertedWidgets(inputs, node, slots, converted, linksTo, inputMap, seenInputs) { - const convertedSlots = [...converted.keys()].sort().map((k) => converted.get(k)); - for (let i = 0; i < convertedSlots.length; i++) { - const inputName = convertedSlots[i]; - if (linksTo[slots.length + i]) { - this.checkPrimitiveConnection( - linksTo[slots.length + i], - inputName, - inputs - ); - continue; - } - const { name, config } = this.getInputConfig( - node, - inputName, - seenInputs, - inputs[inputName], - { - defaultInput: true - } - ); - this.nodeDef.input.required[name] = config; - this.newToOldWidgetMap[name] = { node, inputName }; - if (!this.oldToNewWidgetMap[node.index]) { - this.oldToNewWidgetMap[node.index] = {}; - } - this.oldToNewWidgetMap[node.index][inputName] = name; - inputMap[slots.length + i] = this.inputCount++; - } - } - #convertedToProcess = []; - processNodeInputs(node, seenInputs, inputs) { - const inputMapping = []; - const inputNames = Object.keys(inputs); - if (!inputNames.length) return; - const { converted, slots } = this.processWidgetInputs( - inputs, - node, - inputNames, - seenInputs - ); - const linksTo = this.linksTo[node.index] ?? {}; - const inputMap = this.oldToNewInputMap[node.index] = {}; - this.processInputSlots(inputs, node, slots, linksTo, inputMap, seenInputs); - this.#convertedToProcess.push( - () => this.processConvertedWidgets( - inputs, - node, - slots, - converted, - linksTo, - inputMap, - seenInputs - ) - ); - return inputMapping; - } - processNodeOutputs(node, seenOutputs, def) { - const oldToNew = this.oldToNewOutputMap[node.index] = {}; - for (let outputId = 0; outputId < def.output.length; outputId++) { - const linksFrom = this.linksFrom[node.index]; - const hasLink = linksFrom?.[outputId] && !this.externalFrom[node.index]?.[outputId]; - const customConfig = this.nodeData.config?.[node.index]?.output?.[outputId]; - const visible = customConfig?.visible ?? !hasLink; - this.outputVisibility.push(visible); - if (!visible) { - continue; - } - oldToNew[outputId] = this.nodeDef.output.length; - this.newToOldOutputMap[this.nodeDef.output.length] = { - node, - slot: outputId - }; - this.nodeDef.output.push(def.output[outputId]); - this.nodeDef.output_is_list.push(def.output_is_list[outputId]); - let label = customConfig?.name; - if (!label) { - label = def.output_name?.[outputId] ?? def.output[outputId]; - const output = node.outputs.find((o) => o.name === label); - if (output?.label) { - label = output.label; - } - } - let name = label; - if (name in seenOutputs) { - const prefix = `${node.title ?? node.type} `; - name = `${prefix}${label}`; - if (name in seenOutputs) { - name = `${prefix}${node.index} ${label}`; - } - } - seenOutputs[name] = 1; - this.nodeDef.output_name.push(name); - } - } - static async registerFromWorkflow(groupNodes, missingNodeTypes) { - const clean = app.clean; - app.clean = function() { - for (const g in groupNodes) { - try { - LiteGraph.unregisterNodeType("workflow/" + g); - } catch (error) { - } - } - app.clean = clean; - }; - for (const g in groupNodes) { - const groupData = groupNodes[g]; - let hasMissing = false; - for (const n of groupData.nodes) { - if (!(n.type in LiteGraph.registered_node_types)) { - missingNodeTypes.push({ - type: n.type, - hint: ` (In group node 'workflow/${g}')` - }); - missingNodeTypes.push({ - type: "workflow/" + g, - action: { - text: "Remove from workflow", - callback: /* @__PURE__ */ __name((e) => { - delete groupNodes[g]; - e.target.textContent = "Removed"; - e.target.style.pointerEvents = "none"; - e.target.style.opacity = 0.7; - }, "callback") - } - }); - hasMissing = true; - } - } - if (hasMissing) continue; - const config = new GroupNodeConfig(g, groupData); - await config.registerType(); - } - } -} -class GroupNodeHandler { - static { - __name(this, "GroupNodeHandler"); - } - node; - groupData; - innerNodes; - constructor(node) { - this.node = node; - this.groupData = node.constructor?.nodeData?.[GROUP]; - this.node.setInnerNodes = (innerNodes) => { - this.innerNodes = innerNodes; - for (let innerNodeIndex = 0; innerNodeIndex < this.innerNodes.length; innerNodeIndex++) { - const innerNode = this.innerNodes[innerNodeIndex]; - for (const w of innerNode.widgets ?? []) { - if (w.type === "converted-widget") { - w.serializeValue = w.origSerializeValue; - } - } - innerNode.index = innerNodeIndex; - innerNode.getInputNode = (slot) => { - const externalSlot = this.groupData.oldToNewInputMap[innerNode.index]?.[slot]; - if (externalSlot != null) { - return this.node.getInputNode(externalSlot); - } - const innerLink = this.groupData.linksTo[innerNode.index]?.[slot]; - if (!innerLink) return null; - const inputNode = innerNodes[innerLink[0]]; - if (inputNode.type === "PrimitiveNode") return null; - return inputNode; - }; - innerNode.getInputLink = (slot) => { - const externalSlot = this.groupData.oldToNewInputMap[innerNode.index]?.[slot]; - if (externalSlot != null) { - const linkId = this.node.inputs[externalSlot].link; - let link2 = app.graph.links[linkId]; - link2 = { - ...link2, - target_id: innerNode.id, - target_slot: +slot - }; - return link2; - } - let link = this.groupData.linksTo[innerNode.index]?.[slot]; - if (!link) return null; - link = { - origin_id: innerNodes[link[0]].id, - origin_slot: link[1], - target_id: innerNode.id, - target_slot: +slot - }; - return link; - }; - } - }; - this.node.updateLink = (link) => { - link = { ...link }; - const output = this.groupData.newToOldOutputMap[link.origin_slot]; - let innerNode = this.innerNodes[output.node.index]; - let l; - while (innerNode?.type === "Reroute") { - l = innerNode.getInputLink(0); - innerNode = innerNode.getInputNode(0); - } - if (!innerNode) { - return null; - } - if (l && GroupNodeHandler.isGroupNode(innerNode)) { - return innerNode.updateLink(l); - } - link.origin_id = innerNode.id; - link.origin_slot = l?.origin_slot ?? output.slot; - return link; - }; - this.node.getInnerNodes = () => { - if (!this.innerNodes) { - this.node.setInnerNodes( - this.groupData.nodeData.nodes.map((n, i) => { - const innerNode = LiteGraph.createNode(n.type); - innerNode.configure(n); - innerNode.id = `${this.node.id}:${i}`; - return innerNode; - }) - ); - } - this.updateInnerWidgets(); - return this.innerNodes; - }; - this.node.recreate = async () => { - const id2 = this.node.id; - const sz = this.node.size; - const nodes = this.node.convertToNodes(); - const groupNode = LiteGraph.createNode(this.node.type); - groupNode.id = id2; - groupNode.setInnerNodes(nodes); - groupNode[GROUP].populateWidgets(); - app.graph.add(groupNode); - groupNode.size = [ - Math.max(groupNode.size[0], sz[0]), - Math.max(groupNode.size[1], sz[1]) - ]; - groupNode[GROUP].replaceNodes(nodes); - return groupNode; - }; - this.node.convertToNodes = () => { - const addInnerNodes = /* @__PURE__ */ __name(() => { - const backup = localStorage.getItem("litegrapheditor_clipboard"); - const c = { ...this.groupData.nodeData }; - c.nodes = [...c.nodes]; - const innerNodes = this.node.getInnerNodes(); - let ids = []; - for (let i = 0; i < c.nodes.length; i++) { - let id2 = innerNodes?.[i]?.id; - if (id2 == null || isNaN(id2)) { - id2 = void 0; - } else { - ids.push(id2); - } - c.nodes[i] = { ...c.nodes[i], id: id2 }; - } - localStorage.setItem("litegrapheditor_clipboard", JSON.stringify(c)); - app.canvas.pasteFromClipboard(); - localStorage.setItem("litegrapheditor_clipboard", backup); - const [x, y] = this.node.pos; - let top; - let left; - const selectedIds2 = ids.length ? ids : Object.keys(app.canvas.selected_nodes); - const newNodes2 = []; - for (let i = 0; i < selectedIds2.length; i++) { - const id2 = selectedIds2[i]; - const newNode = app.graph.getNodeById(id2); - const innerNode = innerNodes[i]; - newNodes2.push(newNode); - if (left == null || newNode.pos[0] < left) { - left = newNode.pos[0]; - } - if (top == null || newNode.pos[1] < top) { - top = newNode.pos[1]; - } - if (!newNode.widgets) continue; - const map = this.groupData.oldToNewWidgetMap[innerNode.index]; - if (map) { - const widgets = Object.keys(map); - for (const oldName of widgets) { - const newName = map[oldName]; - if (!newName) continue; - const widgetIndex = this.node.widgets.findIndex( - (w) => w.name === newName - ); - if (widgetIndex === -1) continue; - if (innerNode.type === "PrimitiveNode") { - for (let i2 = 0; i2 < newNode.widgets.length; i2++) { - newNode.widgets[i2].value = this.node.widgets[widgetIndex + i2].value; - } - } else { - const outerWidget = this.node.widgets[widgetIndex]; - const newWidget = newNode.widgets.find( - (w) => w.name === oldName - ); - if (!newWidget) continue; - newWidget.value = outerWidget.value; - for (let w = 0; w < outerWidget.linkedWidgets?.length; w++) { - newWidget.linkedWidgets[w].value = outerWidget.linkedWidgets[w].value; - } - } - } - } - } - for (const newNode of newNodes2) { - newNode.pos = [ - newNode.pos[0] - (left - x), - newNode.pos[1] - (top - y) - ]; - } - return { newNodes: newNodes2, selectedIds: selectedIds2 }; - }, "addInnerNodes"); - const reconnectInputs = /* @__PURE__ */ __name((selectedIds2) => { - for (const innerNodeIndex in this.groupData.oldToNewInputMap) { - const id2 = selectedIds2[innerNodeIndex]; - const newNode = app.graph.getNodeById(id2); - const map = this.groupData.oldToNewInputMap[innerNodeIndex]; - for (const innerInputId in map) { - const groupSlotId = map[innerInputId]; - if (groupSlotId == null) continue; - const slot = node.inputs[groupSlotId]; - if (slot.link == null) continue; - const link = app.graph.links[slot.link]; - if (!link) continue; - const originNode = app.graph.getNodeById(link.origin_id); - originNode.connect(link.origin_slot, newNode, +innerInputId); - } - } - }, "reconnectInputs"); - const reconnectOutputs = /* @__PURE__ */ __name((selectedIds2) => { - for (let groupOutputId = 0; groupOutputId < node.outputs?.length; groupOutputId++) { - const output = node.outputs[groupOutputId]; - if (!output.links) continue; - const links = [...output.links]; - for (const l of links) { - const slot = this.groupData.newToOldOutputMap[groupOutputId]; - const link = app.graph.links[l]; - const targetNode = app.graph.getNodeById(link.target_id); - const newNode = app.graph.getNodeById(selectedIds2[slot.node.index]); - newNode.connect(slot.slot, targetNode, link.target_slot); - } - } - }, "reconnectOutputs"); - const { newNodes, selectedIds } = addInnerNodes(); - reconnectInputs(selectedIds); - reconnectOutputs(selectedIds); - app.graph.remove(this.node); - return newNodes; - }; - const getExtraMenuOptions = this.node.getExtraMenuOptions; - this.node.getExtraMenuOptions = function(_, options) { - getExtraMenuOptions?.apply(this, arguments); - let optionIndex = options.findIndex((o) => o.content === "Outputs"); - if (optionIndex === -1) optionIndex = options.length; - else optionIndex++; - options.splice( - optionIndex, - 0, - null, - { - content: "Convert to nodes", - callback: /* @__PURE__ */ __name(() => { - return this.convertToNodes(); - }, "callback") - }, - { - content: "Manage Group Node", - callback: /* @__PURE__ */ __name(() => { - new ManageGroupDialog(app).show(this.type); - }, "callback") - } - ); - }; - const onDrawTitleBox = this.node.onDrawTitleBox; - this.node.onDrawTitleBox = function(ctx, height, size, scale) { - onDrawTitleBox?.apply(this, arguments); - const fill = ctx.fillStyle; - ctx.beginPath(); - ctx.rect(11, -height + 11, 2, 2); - ctx.rect(14, -height + 11, 2, 2); - ctx.rect(17, -height + 11, 2, 2); - ctx.rect(11, -height + 14, 2, 2); - ctx.rect(14, -height + 14, 2, 2); - ctx.rect(17, -height + 14, 2, 2); - ctx.rect(11, -height + 17, 2, 2); - ctx.rect(14, -height + 17, 2, 2); - ctx.rect(17, -height + 17, 2, 2); - ctx.fillStyle = this.boxcolor || LiteGraph.NODE_DEFAULT_BOXCOLOR; - ctx.fill(); - ctx.fillStyle = fill; - }; - const onDrawForeground = node.onDrawForeground; - const groupData = this.groupData.nodeData; - node.onDrawForeground = function(ctx) { - const r = onDrawForeground?.apply?.(this, arguments); - if (+app.runningNodeId === this.id && this.runningInternalNodeId !== null) { - const n = groupData.nodes[this.runningInternalNodeId]; - if (!n) return; - const message = `Running ${n.title || n.type} (${this.runningInternalNodeId}/${groupData.nodes.length})`; - ctx.save(); - ctx.font = "12px sans-serif"; - const sz = ctx.measureText(message); - ctx.fillStyle = node.boxcolor || LiteGraph.NODE_DEFAULT_BOXCOLOR; - ctx.beginPath(); - ctx.roundRect( - 0, - -LiteGraph.NODE_TITLE_HEIGHT - 20, - sz.width + 12, - 20, - 5 - ); - ctx.fill(); - ctx.fillStyle = "#fff"; - ctx.fillText(message, 6, -LiteGraph.NODE_TITLE_HEIGHT - 6); - ctx.restore(); - } - }; - const onExecutionStart = this.node.onExecutionStart; - this.node.onExecutionStart = function() { - this.resetExecution = true; - return onExecutionStart?.apply(this, arguments); - }; - const self = this; - const onNodeCreated = this.node.onNodeCreated; - this.node.onNodeCreated = function() { - if (!this.widgets) { - return; - } - const config = self.groupData.nodeData.config; - if (config) { - for (const n in config) { - const inputs = config[n]?.input; - for (const w in inputs) { - if (inputs[w].visible !== false) continue; - const widgetName = self.groupData.oldToNewWidgetMap[n][w]; - const widget = this.widgets.find((w2) => w2.name === widgetName); - if (widget) { - widget.type = "hidden"; - widget.computeSize = () => [0, -4]; - } - } - } - } - return onNodeCreated?.apply(this, arguments); - }; - function handleEvent(type, getId, getEvent) { - const handler = /* @__PURE__ */ __name(({ detail }) => { - const id2 = getId(detail); - if (!id2) return; - const node2 = app.graph.getNodeById(id2); - if (node2) return; - const innerNodeIndex = this.innerNodes?.findIndex((n) => n.id == id2); - if (innerNodeIndex > -1) { - this.node.runningInternalNodeId = innerNodeIndex; - api.dispatchEvent( - new CustomEvent(type, { - detail: getEvent(detail, this.node.id + "", this.node) - }) - ); - } - }, "handler"); - api.addEventListener(type, handler); - return handler; - } - __name(handleEvent, "handleEvent"); - const executing = handleEvent.call( - this, - "executing", - (d) => d, - (d, id2, node2) => id2 - ); - const executed = handleEvent.call( - this, - "executed", - (d) => d?.display_node || d?.node, - (d, id2, node2) => ({ - ...d, - node: id2, - display_node: id2, - merge: !node2.resetExecution - }) - ); - const onRemoved = node.onRemoved; - this.node.onRemoved = function() { - onRemoved?.apply(this, arguments); - api.removeEventListener("executing", executing); - api.removeEventListener("executed", executed); - }; - this.node.refreshComboInNode = (defs) => { - for (const widgetName in this.groupData.newToOldWidgetMap) { - const widget = this.node.widgets.find((w) => w.name === widgetName); - if (widget?.type === "combo") { - const old = this.groupData.newToOldWidgetMap[widgetName]; - const def = defs[old.node.type]; - const input = def?.input?.required?.[old.inputName] ?? def?.input?.optional?.[old.inputName]; - if (!input) continue; - widget.options.values = input[0]; - if (old.inputName !== "image" && !widget.options.values.includes(widget.value)) { - widget.value = widget.options.values[0]; - widget.callback(widget.value); - } - } - } - }; - } - updateInnerWidgets() { - for (const newWidgetName in this.groupData.newToOldWidgetMap) { - const newWidget = this.node.widgets.find((w) => w.name === newWidgetName); - if (!newWidget) continue; - const newValue = newWidget.value; - const old = this.groupData.newToOldWidgetMap[newWidgetName]; - let innerNode = this.innerNodes[old.node.index]; - if (innerNode.type === "PrimitiveNode") { - innerNode.primitiveValue = newValue; - const primitiveLinked = this.groupData.primitiveToWidget[old.node.index]; - for (const linked of primitiveLinked ?? []) { - const node = this.innerNodes[linked.nodeId]; - const widget2 = node.widgets.find((w) => w.name === linked.inputName); - if (widget2) { - widget2.value = newValue; - } - } - continue; - } else if (innerNode.type === "Reroute") { - const rerouteLinks = this.groupData.linksFrom[old.node.index]; - if (rerouteLinks) { - for (const [_, , targetNodeId, targetSlot] of rerouteLinks["0"]) { - const node = this.innerNodes[targetNodeId]; - const input = node.inputs[targetSlot]; - if (input.widget) { - const widget2 = node.widgets?.find( - (w) => w.name === input.widget.name - ); - if (widget2) { - widget2.value = newValue; - } - } - } - } - } - const widget = innerNode.widgets?.find((w) => w.name === old.inputName); - if (widget) { - widget.value = newValue; - } - } - } - populatePrimitive(node, nodeId, oldName, i, linkedShift) { - const primitiveId = this.groupData.widgetToPrimitive[nodeId]?.[oldName]; - if (primitiveId == null) return; - const targetWidgetName = this.groupData.oldToNewWidgetMap[primitiveId]["value"]; - const targetWidgetIndex = this.node.widgets.findIndex( - (w) => w.name === targetWidgetName - ); - if (targetWidgetIndex > -1) { - const primitiveNode = this.innerNodes[primitiveId]; - let len = primitiveNode.widgets.length; - if (len - 1 !== this.node.widgets[targetWidgetIndex].linkedWidgets?.length) { - len = 1; - } - for (let i2 = 0; i2 < len; i2++) { - this.node.widgets[targetWidgetIndex + i2].value = primitiveNode.widgets[i2].value; - } - } - return true; - } - populateReroute(node, nodeId, map) { - if (node.type !== "Reroute") return; - const link = this.groupData.linksFrom[nodeId]?.[0]?.[0]; - if (!link) return; - const [, , targetNodeId, targetNodeSlot] = link; - const targetNode = this.groupData.nodeData.nodes[targetNodeId]; - const inputs = targetNode.inputs; - const targetWidget = inputs?.[targetNodeSlot]?.widget; - if (!targetWidget) return; - const offset = inputs.length - (targetNode.widgets_values?.length ?? 0); - const v = targetNode.widgets_values?.[targetNodeSlot - offset]; - if (v == null) return; - const widgetName = Object.values(map)[0]; - const widget = this.node.widgets.find((w) => w.name === widgetName); - if (widget) { - widget.value = v; - } - } - populateWidgets() { - if (!this.node.widgets) return; - for (let nodeId = 0; nodeId < this.groupData.nodeData.nodes.length; nodeId++) { - const node = this.groupData.nodeData.nodes[nodeId]; - const map = this.groupData.oldToNewWidgetMap[nodeId] ?? {}; - const widgets = Object.keys(map); - if (!node.widgets_values?.length) { - this.populateReroute(node, nodeId, map); - continue; - } - let linkedShift = 0; - for (let i = 0; i < widgets.length; i++) { - const oldName = widgets[i]; - const newName = map[oldName]; - const widgetIndex = this.node.widgets.findIndex( - (w) => w.name === newName - ); - const mainWidget = this.node.widgets[widgetIndex]; - if (this.populatePrimitive(node, nodeId, oldName, i, linkedShift) || widgetIndex === -1) { - const innerWidget = this.innerNodes[nodeId].widgets?.find( - (w) => w.name === oldName - ); - linkedShift += innerWidget?.linkedWidgets?.length ?? 0; - } - if (widgetIndex === -1) { - continue; - } - mainWidget.value = node.widgets_values[i + linkedShift]; - for (let w = 0; w < mainWidget.linkedWidgets?.length; w++) { - this.node.widgets[widgetIndex + w + 1].value = node.widgets_values[i + ++linkedShift]; - } - } - } - } - replaceNodes(nodes) { - let top; - let left; - for (let i = 0; i < nodes.length; i++) { - const node = nodes[i]; - if (left == null || node.pos[0] < left) { - left = node.pos[0]; - } - if (top == null || node.pos[1] < top) { - top = node.pos[1]; - } - this.linkOutputs(node, i); - app.graph.remove(node); - } - this.linkInputs(); - this.node.pos = [left, top]; - } - linkOutputs(originalNode, nodeId) { - if (!originalNode.outputs) return; - for (const output of originalNode.outputs) { - if (!output.links) continue; - const links = [...output.links]; - for (const l of links) { - const link = app.graph.links[l]; - if (!link) continue; - const targetNode = app.graph.getNodeById(link.target_id); - const newSlot = this.groupData.oldToNewOutputMap[nodeId]?.[link.origin_slot]; - if (newSlot != null) { - this.node.connect(newSlot, targetNode, link.target_slot); - } - } - } - } - linkInputs() { - for (const link of this.groupData.nodeData.links ?? []) { - const [, originSlot, targetId, targetSlot, actualOriginId] = link; - const originNode = app.graph.getNodeById(actualOriginId); - if (!originNode) continue; - originNode.connect( - originSlot, - this.node.id, - this.groupData.oldToNewInputMap[targetId][targetSlot] - ); - } - } - static getGroupData(node) { - return (node.nodeData ?? node.constructor?.nodeData)?.[GROUP]; - } - static isGroupNode(node) { - return !!node.constructor?.nodeData?.[GROUP]; - } - static async fromNodes(nodes) { - const builder = new GroupNodeBuilder(nodes); - const res = builder.build(); - if (!res) return; - const { name, nodeData } = res; - const config = new GroupNodeConfig(name, nodeData); - await config.registerType(); - const groupNode = LiteGraph.createNode(`workflow/${name}`); - groupNode.setInnerNodes(builder.nodes); - groupNode[GROUP].populateWidgets(); - app.graph.add(groupNode); - groupNode[GROUP].replaceNodes(builder.nodes); - return groupNode; - } -} -function addConvertToGroupOptions() { - function addConvertOption(options, index) { - const selected = Object.values(app.canvas.selected_nodes ?? {}); - const disabled = selected.length < 2 || selected.find((n) => GroupNodeHandler.isGroupNode(n)); - options.splice(index + 1, null, { - content: `Convert to Group Node`, - disabled, - callback: /* @__PURE__ */ __name(async () => { - return await GroupNodeHandler.fromNodes(selected); - }, "callback") - }); - } - __name(addConvertOption, "addConvertOption"); - function addManageOption(options, index) { - const groups = app.graph.extra?.groupNodes; - const disabled = !groups || !Object.keys(groups).length; - options.splice(index + 1, null, { - content: `Manage Group Nodes`, - disabled, - callback: /* @__PURE__ */ __name(() => { - new ManageGroupDialog(app).show(); - }, "callback") - }); - } - __name(addManageOption, "addManageOption"); - const getCanvasMenuOptions = LGraphCanvas.prototype.getCanvasMenuOptions; - LGraphCanvas.prototype.getCanvasMenuOptions = function() { - const options = getCanvasMenuOptions.apply(this, arguments); - const index = options.findIndex((o) => o?.content === "Add Group") + 1 || options.length; - addConvertOption(options, index); - addManageOption(options, index + 1); - return options; - }; - const getNodeMenuOptions = LGraphCanvas.prototype.getNodeMenuOptions; - LGraphCanvas.prototype.getNodeMenuOptions = function(node) { - const options = getNodeMenuOptions.apply(this, arguments); - if (!GroupNodeHandler.isGroupNode(node)) { - const index = options.findIndex((o) => o?.content === "Outputs") + 1 || options.length - 1; - addConvertOption(options, index); - } - return options; - }; -} -__name(addConvertToGroupOptions, "addConvertToGroupOptions"); -const id$3 = "Comfy.GroupNode"; -let globalDefs; -const ext$1 = { - name: id$3, - setup() { - addConvertToGroupOptions(); - }, - async beforeConfigureGraph(graphData, missingNodeTypes) { - const nodes = graphData?.extra?.groupNodes; - if (nodes) { - await GroupNodeConfig.registerFromWorkflow(nodes, missingNodeTypes); - } - }, - addCustomNodeDefs(defs) { - globalDefs = defs; - }, - nodeCreated(node) { - if (GroupNodeHandler.isGroupNode(node)) { - node[GROUP] = new GroupNodeHandler(node); - } - }, - async refreshComboInNodes(defs) { - Object.assign(globalDefs, defs); - const nodes = app.graph.extra?.groupNodes; - if (nodes) { - await GroupNodeConfig.registerFromWorkflow(nodes, {}); - } - } -}; -app.registerExtension(ext$1); -window.comfyAPI = window.comfyAPI || {}; -window.comfyAPI.groupNode = window.comfyAPI.groupNode || {}; -window.comfyAPI.groupNode.GroupNodeConfig = GroupNodeConfig; -window.comfyAPI.groupNode.GroupNodeHandler = GroupNodeHandler; -function setNodeMode(node, mode) { - node.mode = mode; - node.graph.change(); -} -__name(setNodeMode, "setNodeMode"); -function addNodesToGroup(group, nodes = []) { - var x1, y1, x2, y2; - var nx1, ny1, nx2, ny2; - var node; - x1 = y1 = x2 = y2 = -1; - nx1 = ny1 = nx2 = ny2 = -1; - for (var n of [group._nodes, nodes]) { - for (var i in n) { - node = n[i]; - nx1 = node.pos[0]; - ny1 = node.pos[1]; - nx2 = node.pos[0] + node.size[0]; - ny2 = node.pos[1] + node.size[1]; - if (node.type != "Reroute") { - ny1 -= LiteGraph.NODE_TITLE_HEIGHT; - } - if (node.flags?.collapsed) { - ny2 = ny1 + LiteGraph.NODE_TITLE_HEIGHT; - if (node?._collapsed_width) { - nx2 = nx1 + Math.round(node._collapsed_width); - } - } - if (x1 == -1 || nx1 < x1) { - x1 = nx1; - } - if (y1 == -1 || ny1 < y1) { - y1 = ny1; - } - if (x2 == -1 || nx2 > x2) { - x2 = nx2; - } - if (y2 == -1 || ny2 > y2) { - y2 = ny2; - } - } - } - var padding = 10; - y1 = y1 - Math.round(group.font_size * 1.4); - group.pos = [x1 - padding, y1 - padding]; - group.size = [x2 - x1 + padding * 2, y2 - y1 + padding * 2]; -} -__name(addNodesToGroup, "addNodesToGroup"); -app.registerExtension({ - name: "Comfy.GroupOptions", - setup() { - const orig = LGraphCanvas.prototype.getCanvasMenuOptions; - LGraphCanvas.prototype.getCanvasMenuOptions = function() { - const options = orig.apply(this, arguments); - const group = this.graph.getGroupOnPos( - this.graph_mouse[0], - this.graph_mouse[1] - ); - if (!group) { - options.push({ - content: "Add Group For Selected Nodes", - disabled: !Object.keys(app.canvas.selected_nodes || {}).length, - callback: /* @__PURE__ */ __name(() => { - var group2 = new LiteGraph.LGraphGroup(); - addNodesToGroup(group2, this.selected_nodes); - app.canvas.graph.add(group2); - this.graph.change(); - }, "callback") - }); - return options; - } - group.recomputeInsideNodes(); - const nodesInGroup = group._nodes; - options.push({ - content: "Add Selected Nodes To Group", - disabled: !Object.keys(app.canvas.selected_nodes || {}).length, - callback: /* @__PURE__ */ __name(() => { - addNodesToGroup(group, this.selected_nodes); - this.graph.change(); - }, "callback") - }); - if (nodesInGroup.length === 0) { - return options; - } else { - options.push(null); - } - let allNodesAreSameMode = true; - for (let i = 1; i < nodesInGroup.length; i++) { - if (nodesInGroup[i].mode !== nodesInGroup[0].mode) { - allNodesAreSameMode = false; - break; - } - } - options.push({ - content: "Fit Group To Nodes", - callback: /* @__PURE__ */ __name(() => { - addNodesToGroup(group); - this.graph.change(); - }, "callback") - }); - options.push({ - content: "Select Nodes", - callback: /* @__PURE__ */ __name(() => { - this.selectNodes(nodesInGroup); - this.graph.change(); - this.canvas.focus(); - }, "callback") - }); - if (allNodesAreSameMode) { - const mode = nodesInGroup[0].mode; - switch (mode) { - case 0: - options.push({ - content: "Set Group Nodes to Never", - callback: /* @__PURE__ */ __name(() => { - for (const node of nodesInGroup) { - setNodeMode(node, 2); - } - }, "callback") - }); - options.push({ - content: "Bypass Group Nodes", - callback: /* @__PURE__ */ __name(() => { - for (const node of nodesInGroup) { - setNodeMode(node, 4); - } - }, "callback") - }); - break; - case 2: - options.push({ - content: "Set Group Nodes to Always", - callback: /* @__PURE__ */ __name(() => { - for (const node of nodesInGroup) { - setNodeMode(node, 0); - } - }, "callback") - }); - options.push({ - content: "Bypass Group Nodes", - callback: /* @__PURE__ */ __name(() => { - for (const node of nodesInGroup) { - setNodeMode(node, 4); - } - }, "callback") - }); - break; - case 4: - options.push({ - content: "Set Group Nodes to Always", - callback: /* @__PURE__ */ __name(() => { - for (const node of nodesInGroup) { - setNodeMode(node, 0); - } - }, "callback") - }); - options.push({ - content: "Set Group Nodes to Never", - callback: /* @__PURE__ */ __name(() => { - for (const node of nodesInGroup) { - setNodeMode(node, 2); - } - }, "callback") - }); - break; - default: - options.push({ - content: "Set Group Nodes to Always", - callback: /* @__PURE__ */ __name(() => { - for (const node of nodesInGroup) { - setNodeMode(node, 0); - } - }, "callback") - }); - options.push({ - content: "Set Group Nodes to Never", - callback: /* @__PURE__ */ __name(() => { - for (const node of nodesInGroup) { - setNodeMode(node, 2); - } - }, "callback") - }); - options.push({ - content: "Bypass Group Nodes", - callback: /* @__PURE__ */ __name(() => { - for (const node of nodesInGroup) { - setNodeMode(node, 4); - } - }, "callback") - }); - break; - } - } else { - options.push({ - content: "Set Group Nodes to Always", - callback: /* @__PURE__ */ __name(() => { - for (const node of nodesInGroup) { - setNodeMode(node, 0); - } - }, "callback") - }); - options.push({ - content: "Set Group Nodes to Never", - callback: /* @__PURE__ */ __name(() => { - for (const node of nodesInGroup) { - setNodeMode(node, 2); - } - }, "callback") - }); - options.push({ - content: "Bypass Group Nodes", - callback: /* @__PURE__ */ __name(() => { - for (const node of nodesInGroup) { - setNodeMode(node, 4); - } - }, "callback") - }); - } - return options; - }; - } -}); -const id$2 = "Comfy.InvertMenuScrolling"; -app.registerExtension({ - name: id$2, - init() { - const ctxMenu = LiteGraph.ContextMenu; - const replace = /* @__PURE__ */ __name(() => { - LiteGraph.ContextMenu = function(values, options) { - options = options || {}; - if (options.scroll_speed) { - options.scroll_speed *= -1; - } else { - options.scroll_speed = -0.1; - } - return ctxMenu.call(this, values, options); - }; - LiteGraph.ContextMenu.prototype = ctxMenu.prototype; - }, "replace"); - app.ui.settings.addSetting({ - id: id$2, - category: ["Comfy", "Graph", "InvertMenuScrolling"], - name: "Invert Context Menu Scrolling", - type: "boolean", - defaultValue: false, - onChange(value) { - if (value) { - replace(); - } else { - LiteGraph.ContextMenu = ctxMenu; - } - } - }); - } -}); -app.registerExtension({ - name: "Comfy.Keybinds", - init() { - const keybindListener = /* @__PURE__ */ __name(async function(event) { - const modifierPressed = event.ctrlKey || event.metaKey; - if (modifierPressed && event.key === "Enter") { - if (event.altKey) { - await api.interrupt(); - useToastStore().add({ - severity: "info", - summary: "Interrupted", - detail: "Execution has been interrupted", - life: 1e3 - }); - return; - } - app.queuePrompt(event.shiftKey ? -1 : 0).then(); - return; - } - const target = event.composedPath()[0]; - if (target.tagName === "TEXTAREA" || target.tagName === "INPUT" || target.tagName === "SPAN" && target.classList.contains("property_value")) { - return; - } - const modifierKeyIdMap = { - s: "#comfy-save-button", - o: "#comfy-file-input", - Backspace: "#comfy-clear-button", - d: "#comfy-load-default-button", - g: "#comfy-group-selected-nodes-button" - }; - const modifierKeybindId = modifierKeyIdMap[event.key]; - if (modifierPressed && modifierKeybindId) { - event.preventDefault(); - const elem = document.querySelector(modifierKeybindId); - elem.click(); - return; - } - if (event.ctrlKey || event.altKey || event.metaKey) { - return; - } - if (event.key === "Escape") { - const modals = document.querySelectorAll(".comfy-modal"); - const modal = Array.from(modals).find( - (modal2) => window.getComputedStyle(modal2).getPropertyValue("display") !== "none" - ); - if (modal) { - modal.style.display = "none"; - } - ; - [...document.querySelectorAll("dialog")].forEach((d) => { - d.close(); - }); - } - const keyIdMap = { - q: ".queue-tab-button.side-bar-button", - h: ".queue-tab-button.side-bar-button", - r: "#comfy-refresh-button" - }; - const buttonId = keyIdMap[event.key]; - if (buttonId) { - const button = document.querySelector(buttonId); - button.click(); - } - }, "keybindListener"); - window.addEventListener("keydown", keybindListener, true); - } -}); -const id$1 = "Comfy.LinkRenderMode"; -const ext = { - name: id$1, - async setup(app2) { - app2.ui.settings.addSetting({ - id: id$1, - category: ["Comfy", "Graph", "LinkRenderMode"], - name: "Link Render Mode", - defaultValue: 2, - type: "combo", - // @ts-expect-error - options: [...LiteGraph.LINK_RENDER_MODES, "Hidden"].map((m, i) => ({ - value: i, - text: m, - selected: i == app2.canvas.links_render_mode - })), - onChange(value) { - app2.canvas.links_render_mode = +value; - app2.graph.setDirtyCanvas(true); - } - }); - } -}; -app.registerExtension(ext); -function dataURLToBlob(dataURL) { - const parts = dataURL.split(";base64,"); - const contentType = parts[0].split(":")[1]; - const byteString = atob(parts[1]); - const arrayBuffer = new ArrayBuffer(byteString.length); - const uint8Array = new Uint8Array(arrayBuffer); - for (let i = 0; i < byteString.length; i++) { - uint8Array[i] = byteString.charCodeAt(i); - } - return new Blob([arrayBuffer], { type: contentType }); -} -__name(dataURLToBlob, "dataURLToBlob"); -function loadedImageToBlob(image) { - const canvas = document.createElement("canvas"); - canvas.width = image.width; - canvas.height = image.height; - const ctx = canvas.getContext("2d"); - ctx.drawImage(image, 0, 0); - const dataURL = canvas.toDataURL("image/png", 1); - const blob = dataURLToBlob(dataURL); - return blob; -} -__name(loadedImageToBlob, "loadedImageToBlob"); -function loadImage(imagePath) { - return new Promise((resolve, reject) => { - const image = new Image(); - image.onload = function() { - resolve(image); - }; - image.src = imagePath; - }); -} -__name(loadImage, "loadImage"); -async function uploadMask(filepath, formData) { - await api.fetchApi("/upload/mask", { - method: "POST", - body: formData - }).then((response) => { - }).catch((error) => { - console.error("Error:", error); - }); - ComfyApp.clipspace.imgs[ComfyApp.clipspace["selectedIndex"]] = new Image(); - ComfyApp.clipspace.imgs[ComfyApp.clipspace["selectedIndex"]].src = api.apiURL( - "/view?" + new URLSearchParams(filepath).toString() + app.getPreviewFormatParam() + app.getRandParam() - ); - if (ComfyApp.clipspace.images) - ComfyApp.clipspace.images[ComfyApp.clipspace["selectedIndex"]] = filepath; - ClipspaceDialog.invalidatePreview(); -} -__name(uploadMask, "uploadMask"); -function prepare_mask(image, maskCanvas, maskCtx, maskColor) { - maskCtx.drawImage(image, 0, 0, maskCanvas.width, maskCanvas.height); - const maskData = maskCtx.getImageData( - 0, - 0, - maskCanvas.width, - maskCanvas.height - ); - for (let i = 0; i < maskData.data.length; i += 4) { - if (maskData.data[i + 3] == 255) maskData.data[i + 3] = 0; - else maskData.data[i + 3] = 255; - maskData.data[i] = maskColor.r; - maskData.data[i + 1] = maskColor.g; - maskData.data[i + 2] = maskColor.b; - } - maskCtx.globalCompositeOperation = "source-over"; - maskCtx.putImageData(maskData, 0, 0); -} -__name(prepare_mask, "prepare_mask"); -class MaskEditorDialog extends ComfyDialog { - static { - __name(this, "MaskEditorDialog"); - } - static instance = null; - static mousedown_x = null; - static mousedown_y = null; - brush; - maskCtx; - maskCanvas; - brush_size_slider; - brush_opacity_slider; - colorButton; - saveButton; - zoom_ratio; - pan_x; - pan_y; - imgCanvas; - last_display_style; - is_visible; - image; - handler_registered; - brush_slider_input; - cursorX; - cursorY; - mousedown_pan_x; - mousedown_pan_y; - last_pressure; - static getInstance() { - if (!MaskEditorDialog.instance) { - MaskEditorDialog.instance = new MaskEditorDialog(); - } - return MaskEditorDialog.instance; - } - is_layout_created = false; - constructor() { - super(); - this.element = $el("div.comfy-modal", { parent: document.body }, [ - $el("div.comfy-modal-content", [...this.createButtons()]) - ]); - } - createButtons() { - return []; - } - createButton(name, callback) { - var button = document.createElement("button"); - button.style.pointerEvents = "auto"; - button.innerText = name; - button.addEventListener("click", callback); - return button; - } - createLeftButton(name, callback) { - var button = this.createButton(name, callback); - button.style.cssFloat = "left"; - button.style.marginRight = "4px"; - return button; - } - createRightButton(name, callback) { - var button = this.createButton(name, callback); - button.style.cssFloat = "right"; - button.style.marginLeft = "4px"; - return button; - } - createLeftSlider(self, name, callback) { - const divElement = document.createElement("div"); - divElement.id = "maskeditor-slider"; - divElement.style.cssFloat = "left"; - divElement.style.fontFamily = "sans-serif"; - divElement.style.marginRight = "4px"; - divElement.style.color = "var(--input-text)"; - divElement.style.backgroundColor = "var(--comfy-input-bg)"; - divElement.style.borderRadius = "8px"; - divElement.style.borderColor = "var(--border-color)"; - divElement.style.borderStyle = "solid"; - divElement.style.fontSize = "15px"; - divElement.style.height = "21px"; - divElement.style.padding = "1px 6px"; - divElement.style.display = "flex"; - divElement.style.position = "relative"; - divElement.style.top = "2px"; - divElement.style.pointerEvents = "auto"; - self.brush_slider_input = document.createElement("input"); - self.brush_slider_input.setAttribute("type", "range"); - self.brush_slider_input.setAttribute("min", "1"); - self.brush_slider_input.setAttribute("max", "100"); - self.brush_slider_input.setAttribute("value", "10"); - const labelElement = document.createElement("label"); - labelElement.textContent = name; - divElement.appendChild(labelElement); - divElement.appendChild(self.brush_slider_input); - self.brush_slider_input.addEventListener("change", callback); - return divElement; - } - createOpacitySlider(self, name, callback) { - const divElement = document.createElement("div"); - divElement.id = "maskeditor-opacity-slider"; - divElement.style.cssFloat = "left"; - divElement.style.fontFamily = "sans-serif"; - divElement.style.marginRight = "4px"; - divElement.style.color = "var(--input-text)"; - divElement.style.backgroundColor = "var(--comfy-input-bg)"; - divElement.style.borderRadius = "8px"; - divElement.style.borderColor = "var(--border-color)"; - divElement.style.borderStyle = "solid"; - divElement.style.fontSize = "15px"; - divElement.style.height = "21px"; - divElement.style.padding = "1px 6px"; - divElement.style.display = "flex"; - divElement.style.position = "relative"; - divElement.style.top = "2px"; - divElement.style.pointerEvents = "auto"; - self.opacity_slider_input = document.createElement("input"); - self.opacity_slider_input.setAttribute("type", "range"); - self.opacity_slider_input.setAttribute("min", "0.1"); - self.opacity_slider_input.setAttribute("max", "1.0"); - self.opacity_slider_input.setAttribute("step", "0.01"); - self.opacity_slider_input.setAttribute("value", "0.7"); - const labelElement = document.createElement("label"); - labelElement.textContent = name; - divElement.appendChild(labelElement); - divElement.appendChild(self.opacity_slider_input); - self.opacity_slider_input.addEventListener("input", callback); - return divElement; - } - setlayout(imgCanvas, maskCanvas) { - const self = this; - var bottom_panel = document.createElement("div"); - bottom_panel.style.position = "absolute"; - bottom_panel.style.bottom = "0px"; - bottom_panel.style.left = "20px"; - bottom_panel.style.right = "20px"; - bottom_panel.style.height = "50px"; - bottom_panel.style.pointerEvents = "none"; - var brush = document.createElement("div"); - brush.id = "brush"; - brush.style.backgroundColor = "transparent"; - brush.style.outline = "1px dashed black"; - brush.style.boxShadow = "0 0 0 1px white"; - brush.style.borderRadius = "50%"; - brush.style.MozBorderRadius = "50%"; - brush.style.WebkitBorderRadius = "50%"; - brush.style.position = "absolute"; - brush.style.zIndex = "8889"; - brush.style.pointerEvents = "none"; - this.brush = brush; - this.element.appendChild(imgCanvas); - this.element.appendChild(maskCanvas); - this.element.appendChild(bottom_panel); - document.body.appendChild(brush); - var clearButton = this.createLeftButton("Clear", () => { - self.maskCtx.clearRect( - 0, - 0, - self.maskCanvas.width, - self.maskCanvas.height - ); - }); - this.brush_size_slider = this.createLeftSlider( - self, - "Thickness", - (event) => { - self.brush_size = event.target.value; - self.updateBrushPreview(self); - } - ); - this.brush_opacity_slider = this.createOpacitySlider( - self, - "Opacity", - (event) => { - self.brush_opacity = event.target.value; - if (self.brush_color_mode !== "negative") { - self.maskCanvas.style.opacity = self.brush_opacity.toString(); - } - } - ); - this.colorButton = this.createLeftButton(this.getColorButtonText(), () => { - if (self.brush_color_mode === "black") { - self.brush_color_mode = "white"; - } else if (self.brush_color_mode === "white") { - self.brush_color_mode = "negative"; - } else { - self.brush_color_mode = "black"; - } - self.updateWhenBrushColorModeChanged(); - }); - var cancelButton = this.createRightButton("Cancel", () => { - document.removeEventListener("keydown", MaskEditorDialog.handleKeyDown); - self.close(); - }); - this.saveButton = this.createRightButton("Save", () => { - document.removeEventListener("keydown", MaskEditorDialog.handleKeyDown); - self.save(); - }); - this.element.appendChild(imgCanvas); - this.element.appendChild(maskCanvas); - this.element.appendChild(bottom_panel); - bottom_panel.appendChild(clearButton); - bottom_panel.appendChild(this.saveButton); - bottom_panel.appendChild(cancelButton); - bottom_panel.appendChild(this.brush_size_slider); - bottom_panel.appendChild(this.brush_opacity_slider); - bottom_panel.appendChild(this.colorButton); - imgCanvas.style.position = "absolute"; - maskCanvas.style.position = "absolute"; - imgCanvas.style.top = "200"; - imgCanvas.style.left = "0"; - maskCanvas.style.top = imgCanvas.style.top; - maskCanvas.style.left = imgCanvas.style.left; - const maskCanvasStyle = this.getMaskCanvasStyle(); - maskCanvas.style.mixBlendMode = maskCanvasStyle.mixBlendMode; - maskCanvas.style.opacity = maskCanvasStyle.opacity.toString(); - } - async show() { - this.zoom_ratio = 1; - this.pan_x = 0; - this.pan_y = 0; - if (!this.is_layout_created) { - const imgCanvas = document.createElement("canvas"); - const maskCanvas = document.createElement("canvas"); - imgCanvas.id = "imageCanvas"; - maskCanvas.id = "maskCanvas"; - this.setlayout(imgCanvas, maskCanvas); - this.imgCanvas = imgCanvas; - this.maskCanvas = maskCanvas; - this.maskCtx = maskCanvas.getContext("2d", { willReadFrequently: true }); - this.setEventHandler(maskCanvas); - this.is_layout_created = true; - const self = this; - const observer = new MutationObserver(function(mutations) { - mutations.forEach(function(mutation) { - if (mutation.type === "attributes" && mutation.attributeName === "style") { - if (self.last_display_style && self.last_display_style != "none" && self.element.style.display == "none") { - self.brush.style.display = "none"; - ComfyApp.onClipspaceEditorClosed(); - } - self.last_display_style = self.element.style.display; - } - }); - }); - const config = { attributes: true }; - observer.observe(this.element, config); - } - document.addEventListener("keydown", MaskEditorDialog.handleKeyDown); - if (ComfyApp.clipspace_return_node) { - this.saveButton.innerText = "Save to node"; - } else { - this.saveButton.innerText = "Save"; - } - this.saveButton.disabled = false; - this.element.style.display = "block"; - this.element.style.width = "85%"; - this.element.style.margin = "0 7.5%"; - this.element.style.height = "100vh"; - this.element.style.top = "50%"; - this.element.style.left = "42%"; - this.element.style.zIndex = "8888"; - await this.setImages(this.imgCanvas); - this.is_visible = true; - } - isOpened() { - return this.element.style.display == "block"; - } - invalidateCanvas(orig_image, mask_image) { - this.imgCanvas.width = orig_image.width; - this.imgCanvas.height = orig_image.height; - this.maskCanvas.width = orig_image.width; - this.maskCanvas.height = orig_image.height; - let imgCtx = this.imgCanvas.getContext("2d", { willReadFrequently: true }); - let maskCtx = this.maskCanvas.getContext("2d", { - willReadFrequently: true - }); - imgCtx.drawImage(orig_image, 0, 0, orig_image.width, orig_image.height); - prepare_mask(mask_image, this.maskCanvas, maskCtx, this.getMaskColor()); - } - async setImages(imgCanvas) { - let self = this; - const imgCtx = imgCanvas.getContext("2d", { willReadFrequently: true }); - const maskCtx = this.maskCtx; - const maskCanvas = this.maskCanvas; - imgCtx.clearRect(0, 0, this.imgCanvas.width, this.imgCanvas.height); - maskCtx.clearRect(0, 0, this.maskCanvas.width, this.maskCanvas.height); - const filepath = ComfyApp.clipspace.images; - const alpha_url = new URL( - ComfyApp.clipspace.imgs[ComfyApp.clipspace["selectedIndex"]].src - ); - alpha_url.searchParams.delete("channel"); - alpha_url.searchParams.delete("preview"); - alpha_url.searchParams.set("channel", "a"); - let mask_image = await loadImage(alpha_url); - const rgb_url = new URL( - ComfyApp.clipspace.imgs[ComfyApp.clipspace["selectedIndex"]].src - ); - rgb_url.searchParams.delete("channel"); - rgb_url.searchParams.set("channel", "rgb"); - this.image = new Image(); - this.image.onload = function() { - maskCanvas.width = self.image.width; - maskCanvas.height = self.image.height; - self.invalidateCanvas(self.image, mask_image); - self.initializeCanvasPanZoom(); - }; - this.image.src = rgb_url.toString(); - } - initializeCanvasPanZoom() { - let drawWidth = this.image.width; - let drawHeight = this.image.height; - let width = this.element.clientWidth; - let height = this.element.clientHeight; - if (this.image.width > width) { - drawWidth = width; - drawHeight = drawWidth / this.image.width * this.image.height; - } - if (drawHeight > height) { - drawHeight = height; - drawWidth = drawHeight / this.image.height * this.image.width; - } - this.zoom_ratio = drawWidth / this.image.width; - const canvasX = (width - drawWidth) / 2; - const canvasY = (height - drawHeight) / 2; - this.pan_x = canvasX; - this.pan_y = canvasY; - this.invalidatePanZoom(); - } - invalidatePanZoom() { - let raw_width = this.image.width * this.zoom_ratio; - let raw_height = this.image.height * this.zoom_ratio; - if (this.pan_x + raw_width < 10) { - this.pan_x = 10 - raw_width; - } - if (this.pan_y + raw_height < 10) { - this.pan_y = 10 - raw_height; - } - let width = `${raw_width}px`; - let height = `${raw_height}px`; - let left = `${this.pan_x}px`; - let top = `${this.pan_y}px`; - this.maskCanvas.style.width = width; - this.maskCanvas.style.height = height; - this.maskCanvas.style.left = left; - this.maskCanvas.style.top = top; - this.imgCanvas.style.width = width; - this.imgCanvas.style.height = height; - this.imgCanvas.style.left = left; - this.imgCanvas.style.top = top; - } - setEventHandler(maskCanvas) { - const self = this; - if (!this.handler_registered) { - maskCanvas.addEventListener("contextmenu", (event) => { - event.preventDefault(); - }); - this.element.addEventListener( - "wheel", - (event) => this.handleWheelEvent(self, event) - ); - this.element.addEventListener( - "pointermove", - (event) => this.pointMoveEvent(self, event) - ); - this.element.addEventListener( - "touchmove", - (event) => this.pointMoveEvent(self, event) - ); - this.element.addEventListener("dragstart", (event) => { - if (event.ctrlKey) { - event.preventDefault(); - } - }); - maskCanvas.addEventListener( - "pointerdown", - (event) => this.handlePointerDown(self, event) - ); - maskCanvas.addEventListener( - "pointermove", - (event) => this.draw_move(self, event) - ); - maskCanvas.addEventListener( - "touchmove", - (event) => this.draw_move(self, event) - ); - maskCanvas.addEventListener("pointerover", (event) => { - this.brush.style.display = "block"; - }); - maskCanvas.addEventListener("pointerleave", (event) => { - this.brush.style.display = "none"; - }); - document.addEventListener("pointerup", MaskEditorDialog.handlePointerUp); - this.handler_registered = true; - } - } - getMaskCanvasStyle() { - if (this.brush_color_mode === "negative") { - return { - mixBlendMode: "difference", - opacity: "1" - }; - } else { - return { - mixBlendMode: "initial", - opacity: this.brush_opacity - }; - } - } - getMaskColor() { - if (this.brush_color_mode === "black") { - return { r: 0, g: 0, b: 0 }; - } - if (this.brush_color_mode === "white") { - return { r: 255, g: 255, b: 255 }; - } - if (this.brush_color_mode === "negative") { - return { r: 255, g: 255, b: 255 }; - } - return { r: 0, g: 0, b: 0 }; - } - getMaskFillStyle() { - const maskColor = this.getMaskColor(); - return "rgb(" + maskColor.r + "," + maskColor.g + "," + maskColor.b + ")"; - } - getColorButtonText() { - let colorCaption = "unknown"; - if (this.brush_color_mode === "black") { - colorCaption = "black"; - } else if (this.brush_color_mode === "white") { - colorCaption = "white"; - } else if (this.brush_color_mode === "negative") { - colorCaption = "negative"; - } - return "Color: " + colorCaption; - } - updateWhenBrushColorModeChanged() { - this.colorButton.innerText = this.getColorButtonText(); - const maskCanvasStyle = this.getMaskCanvasStyle(); - this.maskCanvas.style.mixBlendMode = maskCanvasStyle.mixBlendMode; - this.maskCanvas.style.opacity = maskCanvasStyle.opacity.toString(); - const maskColor = this.getMaskColor(); - const maskData = this.maskCtx.getImageData( - 0, - 0, - this.maskCanvas.width, - this.maskCanvas.height - ); - for (let i = 0; i < maskData.data.length; i += 4) { - maskData.data[i] = maskColor.r; - maskData.data[i + 1] = maskColor.g; - maskData.data[i + 2] = maskColor.b; - } - this.maskCtx.putImageData(maskData, 0, 0); - } - brush_opacity = 0.7; - brush_size = 10; - brush_color_mode = "black"; - drawing_mode = false; - lastx = -1; - lasty = -1; - lasttime = 0; - static handleKeyDown(event) { - const self = MaskEditorDialog.instance; - if (event.key === "]") { - self.brush_size = Math.min(self.brush_size + 2, 100); - self.brush_slider_input.value = self.brush_size; - } else if (event.key === "[") { - self.brush_size = Math.max(self.brush_size - 2, 1); - self.brush_slider_input.value = self.brush_size; - } else if (event.key === "Enter") { - self.save(); - } - self.updateBrushPreview(self); - } - static handlePointerUp(event) { - event.preventDefault(); - this.mousedown_x = null; - this.mousedown_y = null; - MaskEditorDialog.instance.drawing_mode = false; - } - updateBrushPreview(self) { - const brush = self.brush; - var centerX = self.cursorX; - var centerY = self.cursorY; - brush.style.width = self.brush_size * 2 * this.zoom_ratio + "px"; - brush.style.height = self.brush_size * 2 * this.zoom_ratio + "px"; - brush.style.left = centerX - self.brush_size * this.zoom_ratio + "px"; - brush.style.top = centerY - self.brush_size * this.zoom_ratio + "px"; - } - handleWheelEvent(self, event) { - event.preventDefault(); - if (event.ctrlKey) { - if (event.deltaY < 0) { - this.zoom_ratio = Math.min(10, this.zoom_ratio + 0.2); - } else { - this.zoom_ratio = Math.max(0.2, this.zoom_ratio - 0.2); - } - this.invalidatePanZoom(); - } else { - if (event.deltaY < 0) this.brush_size = Math.min(this.brush_size + 2, 100); - else this.brush_size = Math.max(this.brush_size - 2, 1); - this.brush_slider_input.value = this.brush_size.toString(); - this.updateBrushPreview(this); - } - } - pointMoveEvent(self, event) { - this.cursorX = event.pageX; - this.cursorY = event.pageY; - self.updateBrushPreview(self); - if (event.ctrlKey) { - event.preventDefault(); - self.pan_move(self, event); - } - let left_button_down = window.TouchEvent && event instanceof TouchEvent || event.buttons == 1; - if (event.shiftKey && left_button_down) { - self.drawing_mode = false; - const y = event.clientY; - let delta = (self.zoom_lasty - y) * 5e-3; - self.zoom_ratio = Math.max( - Math.min(10, self.last_zoom_ratio - delta), - 0.2 - ); - this.invalidatePanZoom(); - return; - } - } - pan_move(self, event) { - if (event.buttons == 1) { - if (MaskEditorDialog.mousedown_x) { - let deltaX = MaskEditorDialog.mousedown_x - event.clientX; - let deltaY = MaskEditorDialog.mousedown_y - event.clientY; - self.pan_x = this.mousedown_pan_x - deltaX; - self.pan_y = this.mousedown_pan_y - deltaY; - self.invalidatePanZoom(); - } - } - } - draw_move(self, event) { - if (event.ctrlKey || event.shiftKey) { - return; - } - event.preventDefault(); - this.cursorX = event.pageX; - this.cursorY = event.pageY; - self.updateBrushPreview(self); - let left_button_down = window.TouchEvent && event instanceof TouchEvent || event.buttons == 1; - let right_button_down = [2, 5, 32].includes(event.buttons); - if (!event.altKey && left_button_down) { - var diff = performance.now() - self.lasttime; - const maskRect = self.maskCanvas.getBoundingClientRect(); - var x = event.offsetX; - var y = event.offsetY; - if (event.offsetX == null) { - x = event.targetTouches[0].clientX - maskRect.left; - } - if (event.offsetY == null) { - y = event.targetTouches[0].clientY - maskRect.top; - } - x /= self.zoom_ratio; - y /= self.zoom_ratio; - var brush_size = this.brush_size; - if (event instanceof PointerEvent && event.pointerType == "pen") { - brush_size *= event.pressure; - this.last_pressure = event.pressure; - } else if (window.TouchEvent && event instanceof TouchEvent && diff < 20) { - brush_size *= this.last_pressure; - } else { - brush_size = this.brush_size; - } - if (diff > 20 && !this.drawing_mode) - requestAnimationFrame(() => { - self.maskCtx.beginPath(); - self.maskCtx.fillStyle = this.getMaskFillStyle(); - self.maskCtx.globalCompositeOperation = "source-over"; - self.maskCtx.arc(x, y, brush_size, 0, Math.PI * 2, false); - self.maskCtx.fill(); - self.lastx = x; - self.lasty = y; - }); - else - requestAnimationFrame(() => { - self.maskCtx.beginPath(); - self.maskCtx.fillStyle = this.getMaskFillStyle(); - self.maskCtx.globalCompositeOperation = "source-over"; - var dx = x - self.lastx; - var dy = y - self.lasty; - var distance = Math.sqrt(dx * dx + dy * dy); - var directionX = dx / distance; - var directionY = dy / distance; - for (var i = 0; i < distance; i += 5) { - var px = self.lastx + directionX * i; - var py = self.lasty + directionY * i; - self.maskCtx.arc(px, py, brush_size, 0, Math.PI * 2, false); - self.maskCtx.fill(); - } - self.lastx = x; - self.lasty = y; - }); - self.lasttime = performance.now(); - } else if (event.altKey && left_button_down || right_button_down) { - const maskRect = self.maskCanvas.getBoundingClientRect(); - const x2 = (event.offsetX || event.targetTouches[0].clientX - maskRect.left) / self.zoom_ratio; - const y2 = (event.offsetY || event.targetTouches[0].clientY - maskRect.top) / self.zoom_ratio; - var brush_size = this.brush_size; - if (event instanceof PointerEvent && event.pointerType == "pen") { - brush_size *= event.pressure; - this.last_pressure = event.pressure; - } else if (window.TouchEvent && event instanceof TouchEvent && diff < 20) { - brush_size *= this.last_pressure; - } else { - brush_size = this.brush_size; - } - if (diff > 20 && !this.drawing_mode) - requestAnimationFrame(() => { - self.maskCtx.beginPath(); - self.maskCtx.globalCompositeOperation = "destination-out"; - self.maskCtx.arc(x2, y2, brush_size, 0, Math.PI * 2, false); - self.maskCtx.fill(); - self.lastx = x2; - self.lasty = y2; - }); - else - requestAnimationFrame(() => { - self.maskCtx.beginPath(); - self.maskCtx.globalCompositeOperation = "destination-out"; - var dx = x2 - self.lastx; - var dy = y2 - self.lasty; - var distance = Math.sqrt(dx * dx + dy * dy); - var directionX = dx / distance; - var directionY = dy / distance; - for (var i = 0; i < distance; i += 5) { - var px = self.lastx + directionX * i; - var py = self.lasty + directionY * i; - self.maskCtx.arc(px, py, brush_size, 0, Math.PI * 2, false); - self.maskCtx.fill(); - } - self.lastx = x2; - self.lasty = y2; - }); - self.lasttime = performance.now(); - } - } - handlePointerDown(self, event) { - if (event.ctrlKey) { - if (event.buttons == 1) { - MaskEditorDialog.mousedown_x = event.clientX; - MaskEditorDialog.mousedown_y = event.clientY; - this.mousedown_pan_x = this.pan_x; - this.mousedown_pan_y = this.pan_y; - } - return; - } - var brush_size = this.brush_size; - if (event instanceof PointerEvent && event.pointerType == "pen") { - brush_size *= event.pressure; - this.last_pressure = event.pressure; - } - if ([0, 2, 5].includes(event.button)) { - self.drawing_mode = true; - event.preventDefault(); - if (event.shiftKey) { - self.zoom_lasty = event.clientY; - self.last_zoom_ratio = self.zoom_ratio; - return; - } - const maskRect = self.maskCanvas.getBoundingClientRect(); - const x = (event.offsetX || event.targetTouches[0].clientX - maskRect.left) / self.zoom_ratio; - const y = (event.offsetY || event.targetTouches[0].clientY - maskRect.top) / self.zoom_ratio; - self.maskCtx.beginPath(); - if (!event.altKey && event.button == 0) { - self.maskCtx.fillStyle = this.getMaskFillStyle(); - self.maskCtx.globalCompositeOperation = "source-over"; - } else { - self.maskCtx.globalCompositeOperation = "destination-out"; - } - self.maskCtx.arc(x, y, brush_size, 0, Math.PI * 2, false); - self.maskCtx.fill(); - self.lastx = x; - self.lasty = y; - self.lasttime = performance.now(); - } - } - async save() { - const backupCanvas = document.createElement("canvas"); - const backupCtx = backupCanvas.getContext("2d", { - willReadFrequently: true - }); - backupCanvas.width = this.image.width; - backupCanvas.height = this.image.height; - backupCtx.clearRect(0, 0, backupCanvas.width, backupCanvas.height); - backupCtx.drawImage( - this.maskCanvas, - 0, - 0, - this.maskCanvas.width, - this.maskCanvas.height, - 0, - 0, - backupCanvas.width, - backupCanvas.height - ); - const backupData = backupCtx.getImageData( - 0, - 0, - backupCanvas.width, - backupCanvas.height - ); - for (let i = 0; i < backupData.data.length; i += 4) { - if (backupData.data[i + 3] == 255) backupData.data[i + 3] = 0; - else backupData.data[i + 3] = 255; - backupData.data[i] = 0; - backupData.data[i + 1] = 0; - backupData.data[i + 2] = 0; - } - backupCtx.globalCompositeOperation = "source-over"; - backupCtx.putImageData(backupData, 0, 0); - const formData = new FormData(); - const filename = "clipspace-mask-" + performance.now() + ".png"; - const item = { - filename, - subfolder: "clipspace", - type: "input" - }; - if (ComfyApp.clipspace.images) ComfyApp.clipspace.images[0] = item; - if (ComfyApp.clipspace.widgets) { - const index = ComfyApp.clipspace.widgets.findIndex( - (obj) => obj.name === "image" - ); - if (index >= 0) ComfyApp.clipspace.widgets[index].value = item; - } - const dataURL = backupCanvas.toDataURL(); - const blob = dataURLToBlob(dataURL); - let original_url = new URL(this.image.src); - const original_ref = { - filename: original_url.searchParams.get("filename") - }; - let original_subfolder = original_url.searchParams.get("subfolder"); - if (original_subfolder) original_ref.subfolder = original_subfolder; - let original_type = original_url.searchParams.get("type"); - if (original_type) original_ref.type = original_type; - formData.append("image", blob, filename); - formData.append("original_ref", JSON.stringify(original_ref)); - formData.append("type", "input"); - formData.append("subfolder", "clipspace"); - this.saveButton.innerText = "Saving..."; - this.saveButton.disabled = true; - await uploadMask(item, formData); - ComfyApp.onClipspaceEditorSave(); - this.close(); - } -} -app.registerExtension({ - name: "Comfy.MaskEditor", - init(app2) { - ComfyApp.open_maskeditor = function() { - const dlg = MaskEditorDialog.getInstance(); - if (!dlg.isOpened()) { - dlg.show(); - } - }; - const context_predicate = /* @__PURE__ */ __name(() => ComfyApp.clipspace && ComfyApp.clipspace.imgs && ComfyApp.clipspace.imgs.length > 0, "context_predicate"); - ClipspaceDialog.registerButton( - "MaskEditor", - context_predicate, - ComfyApp.open_maskeditor - ); - } -}); -const id = "Comfy.NodeTemplates"; -const file = "comfy.templates.json"; -class ManageTemplates extends ComfyDialog { - static { - __name(this, "ManageTemplates"); - } - templates; - draggedEl; - saveVisualCue; - emptyImg; - importInput; - constructor() { - super(); - this.load().then((v) => { - this.templates = v; - }); - this.element.classList.add("comfy-manage-templates"); - this.draggedEl = null; - this.saveVisualCue = null; - this.emptyImg = new Image(); - this.emptyImg.src = "data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs="; - this.importInput = $el("input", { - type: "file", - accept: ".json", - multiple: true, - style: { display: "none" }, - parent: document.body, - onchange: /* @__PURE__ */ __name(() => this.importAll(), "onchange") - }); - } - createButtons() { - const btns = super.createButtons(); - btns[0].textContent = "Close"; - btns[0].onclick = (e) => { - clearTimeout(this.saveVisualCue); - this.close(); - }; - btns.unshift( - $el("button", { - type: "button", - textContent: "Export", - onclick: /* @__PURE__ */ __name(() => this.exportAll(), "onclick") - }) - ); - btns.unshift( - $el("button", { - type: "button", - textContent: "Import", - onclick: /* @__PURE__ */ __name(() => { - this.importInput.click(); - }, "onclick") - }) - ); - return btns; - } - async load() { - let templates = []; - if (app.storageLocation === "server") { - if (app.isNewUserSession) { - const json = localStorage.getItem(id); - if (json) { - templates = JSON.parse(json); - } - await api.storeUserData(file, json, { stringify: false }); - } else { - const res = await api.getUserData(file); - if (res.status === 200) { - try { - templates = await res.json(); - } catch (error) { - } - } else if (res.status !== 404) { - console.error(res.status + " " + res.statusText); - } - } - } else { - const json = localStorage.getItem(id); - if (json) { - templates = JSON.parse(json); - } - } - return templates ?? []; - } - async store() { - if (app.storageLocation === "server") { - const templates = JSON.stringify(this.templates, void 0, 4); - localStorage.setItem(id, templates); - try { - await api.storeUserData(file, templates, { stringify: false }); - } catch (error) { - console.error(error); - alert(error.message); - } - } else { - localStorage.setItem(id, JSON.stringify(this.templates)); - } - } - async importAll() { - for (const file2 of this.importInput.files) { - if (file2.type === "application/json" || file2.name.endsWith(".json")) { - const reader = new FileReader(); - reader.onload = async () => { - const importFile = JSON.parse(reader.result); - if (importFile?.templates) { - for (const template of importFile.templates) { - if (template?.name && template?.data) { - this.templates.push(template); - } - } - await this.store(); - } - }; - await reader.readAsText(file2); - } - } - this.importInput.value = null; - this.close(); - } - exportAll() { - if (this.templates.length == 0) { - alert("No templates to export."); - return; - } - const json = JSON.stringify({ templates: this.templates }, null, 2); - const blob = new Blob([json], { type: "application/json" }); - const url = URL.createObjectURL(blob); - const a = $el("a", { - href: url, - download: "node_templates.json", - style: { display: "none" }, - parent: document.body - }); - a.click(); - setTimeout(function() { - a.remove(); - window.URL.revokeObjectURL(url); - }, 0); - } - show() { - super.show( - $el( - "div", - {}, - this.templates.flatMap((t, i) => { - let nameInput; - return [ - $el( - "div", - { - dataset: { id: i.toString() }, - className: "templateManagerRow", - style: { - display: "grid", - gridTemplateColumns: "1fr auto", - border: "1px dashed transparent", - gap: "5px", - backgroundColor: "var(--comfy-menu-bg)" - }, - ondragstart: /* @__PURE__ */ __name((e) => { - this.draggedEl = e.currentTarget; - e.currentTarget.style.opacity = "0.6"; - e.currentTarget.style.border = "1px dashed yellow"; - e.dataTransfer.effectAllowed = "move"; - e.dataTransfer.setDragImage(this.emptyImg, 0, 0); - }, "ondragstart"), - ondragend: /* @__PURE__ */ __name((e) => { - e.target.style.opacity = "1"; - e.currentTarget.style.border = "1px dashed transparent"; - e.currentTarget.removeAttribute("draggable"); - this.element.querySelectorAll(".templateManagerRow").forEach((el, i2) => { - var prev_i = Number.parseInt(el.dataset.id); - if (el == this.draggedEl && prev_i != i2) { - this.templates.splice( - i2, - 0, - this.templates.splice(prev_i, 1)[0] - ); - } - el.dataset.id = i2.toString(); - }); - this.store(); - }, "ondragend"), - ondragover: /* @__PURE__ */ __name((e) => { - e.preventDefault(); - if (e.currentTarget == this.draggedEl) return; - let rect = e.currentTarget.getBoundingClientRect(); - if (e.clientY > rect.top + rect.height / 2) { - e.currentTarget.parentNode.insertBefore( - this.draggedEl, - e.currentTarget.nextSibling - ); - } else { - e.currentTarget.parentNode.insertBefore( - this.draggedEl, - e.currentTarget - ); - } - }, "ondragover") - }, - [ - $el( - "label", - { - textContent: "Name: ", - style: { - cursor: "grab" - }, - onmousedown: /* @__PURE__ */ __name((e) => { - if (e.target.localName == "label") - e.currentTarget.parentNode.draggable = "true"; - }, "onmousedown") - }, - [ - $el("input", { - value: t.name, - dataset: { name: t.name }, - style: { - transitionProperty: "background-color", - transitionDuration: "0s" - }, - onchange: /* @__PURE__ */ __name((e) => { - clearTimeout(this.saveVisualCue); - var el = e.target; - var row = el.parentNode.parentNode; - this.templates[row.dataset.id].name = el.value.trim() || "untitled"; - this.store(); - el.style.backgroundColor = "rgb(40, 95, 40)"; - el.style.transitionDuration = "0s"; - this.saveVisualCue = setTimeout(function() { - el.style.transitionDuration = ".7s"; - el.style.backgroundColor = "var(--comfy-input-bg)"; - }, 15); - }, "onchange"), - onkeypress: /* @__PURE__ */ __name((e) => { - var el = e.target; - clearTimeout(this.saveVisualCue); - el.style.transitionDuration = "0s"; - el.style.backgroundColor = "var(--comfy-input-bg)"; - }, "onkeypress"), - $: /* @__PURE__ */ __name((el) => nameInput = el, "$") - }) - ] - ), - $el("div", {}, [ - $el("button", { - textContent: "Export", - style: { - fontSize: "12px", - fontWeight: "normal" - }, - onclick: /* @__PURE__ */ __name((e) => { - const json = JSON.stringify({ templates: [t] }, null, 2); - const blob = new Blob([json], { - type: "application/json" - }); - const url = URL.createObjectURL(blob); - const a = $el("a", { - href: url, - download: (nameInput.value || t.name) + ".json", - style: { display: "none" }, - parent: document.body - }); - a.click(); - setTimeout(function() { - a.remove(); - window.URL.revokeObjectURL(url); - }, 0); - }, "onclick") - }), - $el("button", { - textContent: "Delete", - style: { - fontSize: "12px", - color: "red", - fontWeight: "normal" - }, - onclick: /* @__PURE__ */ __name((e) => { - const item = e.target.parentNode.parentNode; - item.parentNode.removeChild(item); - this.templates.splice(item.dataset.id * 1, 1); - this.store(); - var that = this; - setTimeout(function() { - that.element.querySelectorAll(".templateManagerRow").forEach((el, i2) => { - el.dataset.id = i2.toString(); - }); - }, 0); - }, "onclick") - }) - ]) - ] - ) - ]; - }) - ) - ); - } -} -app.registerExtension({ - name: id, - setup() { - const manage = new ManageTemplates(); - const clipboardAction = /* @__PURE__ */ __name(async (cb) => { - const old = localStorage.getItem("litegrapheditor_clipboard"); - await cb(); - localStorage.setItem("litegrapheditor_clipboard", old); - }, "clipboardAction"); - const orig = LGraphCanvas.prototype.getCanvasMenuOptions; - LGraphCanvas.prototype.getCanvasMenuOptions = function() { - const options = orig.apply(this, arguments); - options.push(null); - options.push({ - content: `Save Selected as Template`, - disabled: !Object.keys(app.canvas.selected_nodes || {}).length, - callback: /* @__PURE__ */ __name(() => { - const name = prompt("Enter name"); - if (!name?.trim()) return; - clipboardAction(() => { - app.canvas.copyToClipboard(); - let data = localStorage.getItem("litegrapheditor_clipboard"); - data = JSON.parse(data); - const nodeIds = Object.keys(app.canvas.selected_nodes); - for (let i = 0; i < nodeIds.length; i++) { - const node = app.graph.getNodeById(Number.parseInt(nodeIds[i])); - const nodeData = node?.constructor.nodeData; - let groupData = GroupNodeHandler.getGroupData(node); - if (groupData) { - groupData = groupData.nodeData; - if (!data.groupNodes) { - data.groupNodes = {}; - } - data.groupNodes[nodeData.name] = groupData; - data.nodes[i].type = nodeData.name; - } - } - manage.templates.push({ - name, - data: JSON.stringify(data) - }); - manage.store(); - }); - }, "callback") - }); - const subItems = manage.templates.map((t) => { - return { - content: t.name, - callback: /* @__PURE__ */ __name(() => { - clipboardAction(async () => { - const data = JSON.parse(t.data); - await GroupNodeConfig.registerFromWorkflow(data.groupNodes, {}); - localStorage.setItem("litegrapheditor_clipboard", t.data); - app.canvas.pasteFromClipboard(); - }); - }, "callback") - }; - }); - subItems.push(null, { - content: "Manage", - callback: /* @__PURE__ */ __name(() => manage.show(), "callback") - }); - options.push({ - content: "Node Templates", - submenu: { - options: subItems - } - }); - return options; - }; - } -}); -app.registerExtension({ - name: "Comfy.NoteNode", - registerCustomNodes() { - class NoteNode extends LGraphNode { - static { - __name(this, "NoteNode"); - } - static category; - color = LGraphCanvas.node_colors.yellow.color; - bgcolor = LGraphCanvas.node_colors.yellow.bgcolor; - groupcolor = LGraphCanvas.node_colors.yellow.groupcolor; - isVirtualNode; - collapsable; - title_mode; - constructor(title) { - super(title); - if (!this.properties) { - this.properties = { text: "" }; - } - ComfyWidgets.STRING( - // Should we extends LGraphNode? Yesss - this, - "", - // @ts-expect-error - ["", { default: this.properties.text, multiline: true }], - app - ); - this.serialize_widgets = true; - this.isVirtualNode = true; - } - } - LiteGraph.registerNodeType( - "Note", - Object.assign(NoteNode, { - title_mode: LiteGraph.NORMAL_TITLE, - title: "Note", - collapsable: true - }) - ); - NoteNode.category = "utils"; - } -}); -app.registerExtension({ - name: "Comfy.RerouteNode", - registerCustomNodes(app2) { - class RerouteNode extends LGraphNode { - static { - __name(this, "RerouteNode"); - } - static category; - static defaultVisibility = false; - constructor(title) { - super(title); - if (!this.properties) { - this.properties = {}; - } - this.properties.showOutputText = RerouteNode.defaultVisibility; - this.properties.horizontal = false; - this.addInput("", "*"); - this.addOutput(this.properties.showOutputText ? "*" : "", "*"); - this.onAfterGraphConfigured = function() { - requestAnimationFrame(() => { - this.onConnectionsChange(LiteGraph.INPUT, null, true, null); - }); - }; - this.onConnectionsChange = function(type, index, connected, link_info) { - this.applyOrientation(); - if (connected && type === LiteGraph.OUTPUT) { - const types = new Set( - this.outputs[0].links.map((l) => app2.graph.links[l].type).filter((t) => t !== "*") - ); - if (types.size > 1) { - const linksToDisconnect = []; - for (let i = 0; i < this.outputs[0].links.length - 1; i++) { - const linkId = this.outputs[0].links[i]; - const link = app2.graph.links[linkId]; - linksToDisconnect.push(link); - } - for (const link of linksToDisconnect) { - const node = app2.graph.getNodeById(link.target_id); - node.disconnectInput(link.target_slot); - } - } - } - let currentNode = this; - let updateNodes = []; - let inputType = null; - let inputNode = null; - while (currentNode) { - updateNodes.unshift(currentNode); - const linkId = currentNode.inputs[0].link; - if (linkId !== null) { - const link = app2.graph.links[linkId]; - if (!link) return; - const node = app2.graph.getNodeById(link.origin_id); - const type2 = node.constructor.type; - if (type2 === "Reroute") { - if (node === this) { - currentNode.disconnectInput(link.target_slot); - currentNode = null; - } else { - currentNode = node; - } - } else { - inputNode = currentNode; - inputType = node.outputs[link.origin_slot]?.type ?? null; - break; - } - } else { - currentNode = null; - break; - } - } - const nodes = [this]; - let outputType = null; - while (nodes.length) { - currentNode = nodes.pop(); - const outputs = (currentNode.outputs ? currentNode.outputs[0].links : []) || []; - if (outputs.length) { - for (const linkId of outputs) { - const link = app2.graph.links[linkId]; - if (!link) continue; - const node = app2.graph.getNodeById(link.target_id); - const type2 = node.constructor.type; - if (type2 === "Reroute") { - nodes.push(node); - updateNodes.push(node); - } else { - const nodeOutType = node.inputs && node.inputs[link?.target_slot] && node.inputs[link.target_slot].type ? node.inputs[link.target_slot].type : null; - if (inputType && inputType !== "*" && nodeOutType !== inputType) { - node.disconnectInput(link.target_slot); - } else { - outputType = nodeOutType; - } - } - } - } else { - } - } - const displayType = inputType || outputType || "*"; - const color = LGraphCanvas.link_type_colors[displayType]; - let widgetConfig; - let targetWidget; - let widgetType; - for (const node of updateNodes) { - node.outputs[0].type = inputType || "*"; - node.__outputType = displayType; - node.outputs[0].name = node.properties.showOutputText ? displayType : ""; - node.size = node.computeSize(); - node.applyOrientation(); - for (const l of node.outputs[0].links || []) { - const link = app2.graph.links[l]; - if (link) { - link.color = color; - if (app2.configuringGraph) continue; - const targetNode = app2.graph.getNodeById(link.target_id); - const targetInput = targetNode.inputs?.[link.target_slot]; - if (targetInput?.widget) { - const config = getWidgetConfig(targetInput); - if (!widgetConfig) { - widgetConfig = config[1] ?? {}; - widgetType = config[0]; - } - if (!targetWidget) { - targetWidget = targetNode.widgets?.find( - (w) => w.name === targetInput.widget.name - ); - } - const merged = mergeIfValid(targetInput, [ - config[0], - widgetConfig - ]); - if (merged.customConfig) { - widgetConfig = merged.customConfig; - } - } - } - } - } - for (const node of updateNodes) { - if (widgetConfig && outputType) { - node.inputs[0].widget = { name: "value" }; - setWidgetConfig( - node.inputs[0], - [widgetType ?? displayType, widgetConfig], - targetWidget - ); - } else { - setWidgetConfig(node.inputs[0], null); - } - } - if (inputNode) { - const link = app2.graph.links[inputNode.inputs[0].link]; - if (link) { - link.color = color; - } - } - }; - this.clone = function() { - const cloned = RerouteNode.prototype.clone.apply(this); - cloned.removeOutput(0); - cloned.addOutput(this.properties.showOutputText ? "*" : "", "*"); - cloned.size = cloned.computeSize(); - return cloned; - }; - this.isVirtualNode = true; - } - getExtraMenuOptions(_, options) { - options.unshift( - { - content: (this.properties.showOutputText ? "Hide" : "Show") + " Type", - callback: /* @__PURE__ */ __name(() => { - this.properties.showOutputText = !this.properties.showOutputText; - if (this.properties.showOutputText) { - this.outputs[0].name = this.__outputType || this.outputs[0].type; - } else { - this.outputs[0].name = ""; - } - this.size = this.computeSize(); - this.applyOrientation(); - app2.graph.setDirtyCanvas(true, true); - }, "callback") - }, - { - content: (RerouteNode.defaultVisibility ? "Hide" : "Show") + " Type By Default", - callback: /* @__PURE__ */ __name(() => { - RerouteNode.setDefaultTextVisibility( - !RerouteNode.defaultVisibility - ); - }, "callback") - }, - { - // naming is inverted with respect to LiteGraphNode.horizontal - // LiteGraphNode.horizontal == true means that - // each slot in the inputs and outputs are laid out horizontally, - // which is the opposite of the visual orientation of the inputs and outputs as a node - content: "Set " + (this.properties.horizontal ? "Horizontal" : "Vertical"), - callback: /* @__PURE__ */ __name(() => { - this.properties.horizontal = !this.properties.horizontal; - this.applyOrientation(); - }, "callback") - } - ); - } - applyOrientation() { - this.horizontal = this.properties.horizontal; - if (this.horizontal) { - this.inputs[0].pos = [this.size[0] / 2, 0]; - } else { - delete this.inputs[0].pos; - } - app2.graph.setDirtyCanvas(true, true); - } - computeSize() { - return [ - this.properties.showOutputText && this.outputs && this.outputs.length ? Math.max( - 75, - LiteGraph.NODE_TEXT_SIZE * this.outputs[0].name.length * 0.6 + 40 - ) : 75, - 26 - ]; - } - static setDefaultTextVisibility(visible) { - RerouteNode.defaultVisibility = visible; - if (visible) { - localStorage["Comfy.RerouteNode.DefaultVisibility"] = "true"; - } else { - delete localStorage["Comfy.RerouteNode.DefaultVisibility"]; - } - } - } - RerouteNode.setDefaultTextVisibility( - !!localStorage["Comfy.RerouteNode.DefaultVisibility"] - ); - LiteGraph.registerNodeType( - "Reroute", - Object.assign(RerouteNode, { - title_mode: LiteGraph.NO_TITLE, - title: "Reroute", - collapsable: false - }) - ); - RerouteNode.category = "utils"; - } -}); -app.registerExtension({ - name: "Comfy.SaveImageExtraOutput", - async beforeRegisterNodeDef(nodeType, nodeData, app2) { - if (nodeData.name === "SaveImage" || nodeData.name === "SaveAnimatedWEBP") { - const onNodeCreated = nodeType.prototype.onNodeCreated; - nodeType.prototype.onNodeCreated = function() { - const r = onNodeCreated ? onNodeCreated.apply(this, arguments) : void 0; - const widget = this.widgets.find((w) => w.name === "filename_prefix"); - widget.serializeValue = () => { - return applyTextReplacements(app2, widget.value); - }; - return r; - }; - } else { - const onNodeCreated = nodeType.prototype.onNodeCreated; - nodeType.prototype.onNodeCreated = function() { - const r = onNodeCreated ? onNodeCreated.apply(this, arguments) : void 0; - if (!this.properties || !("Node name for S&R" in this.properties)) { - this.addProperty("Node name for S&R", this.constructor.type, "string"); - } - return r; - }; - } - } -}); -let touchZooming; -let touchCount = 0; -app.registerExtension({ - name: "Comfy.SimpleTouchSupport", - setup() { - let zoomPos; - let touchTime; - let lastTouch; - function getMultiTouchPos(e) { - return Math.hypot( - e.touches[0].clientX - e.touches[1].clientX, - e.touches[0].clientY - e.touches[1].clientY - ); - } - __name(getMultiTouchPos, "getMultiTouchPos"); - app.canvasEl.addEventListener( - "touchstart", - (e) => { - touchCount++; - lastTouch = null; - if (e.touches?.length === 1) { - touchTime = /* @__PURE__ */ new Date(); - lastTouch = e.touches[0]; - } else { - touchTime = null; - if (e.touches?.length === 2) { - zoomPos = getMultiTouchPos(e); - app.canvas.pointer_is_down = false; - } - } - }, - true - ); - app.canvasEl.addEventListener("touchend", (e) => { - touchZooming = false; - touchCount = e.touches?.length ?? touchCount - 1; - if (touchTime && !e.touches?.length) { - if ((/* @__PURE__ */ new Date()).getTime() - touchTime > 600) { - try { - e.constructor = CustomEvent; - } catch (error) { - } - e.clientX = lastTouch.clientX; - e.clientY = lastTouch.clientY; - app.canvas.pointer_is_down = true; - app.canvas._mousedown_callback(e); - } - touchTime = null; - } - }); - app.canvasEl.addEventListener( - "touchmove", - (e) => { - touchTime = null; - if (e.touches?.length === 2) { - app.canvas.pointer_is_down = false; - touchZooming = true; - LiteGraph.closeAllContextMenus(); - app.canvas.search_box?.close(); - const newZoomPos = getMultiTouchPos(e); - const midX = (e.touches[0].clientX + e.touches[1].clientX) / 2; - const midY = (e.touches[0].clientY + e.touches[1].clientY) / 2; - let scale = app.canvas.ds.scale; - const diff = zoomPos - newZoomPos; - if (diff > 0.5) { - scale *= 1 / 1.07; - } else if (diff < -0.5) { - scale *= 1.07; - } - app.canvas.ds.changeScale(scale, [midX, midY]); - app.canvas.setDirty(true, true); - zoomPos = newZoomPos; - } - }, - true - ); - } -}); -const processMouseDown = LGraphCanvas.prototype.processMouseDown; -LGraphCanvas.prototype.processMouseDown = function(e) { - if (touchZooming || touchCount) { - return; - } - return processMouseDown.apply(this, arguments); -}; -const processMouseMove = LGraphCanvas.prototype.processMouseMove; -LGraphCanvas.prototype.processMouseMove = function(e) { - if (touchZooming || touchCount > 1) { - return; - } - return processMouseMove.apply(this, arguments); -}; -app.registerExtension({ - name: "Comfy.SlotDefaults", - suggestionsNumber: null, - init() { - LiteGraph.search_filter_enabled = true; - LiteGraph.middle_click_slot_add_default_node = true; - this.suggestionsNumber = app.ui.settings.addSetting({ - id: "Comfy.NodeSuggestions.number", - category: ["Comfy", "Node Search Box", "NodeSuggestions"], - name: "Number of nodes suggestions", - tooltip: "Only for litegraph searchbox/context menu", - type: "slider", - attrs: { - min: 1, - max: 100, - step: 1 - }, - defaultValue: 5, - onChange: /* @__PURE__ */ __name((newVal, oldVal) => { - this.setDefaults(newVal); - }, "onChange") - }); - }, - slot_types_default_out: {}, - slot_types_default_in: {}, - async beforeRegisterNodeDef(nodeType, nodeData, app2) { - var nodeId = nodeData.name; - var inputs = []; - inputs = nodeData["input"]["required"]; - for (const inputKey in inputs) { - var input = inputs[inputKey]; - if (typeof input[0] !== "string") continue; - var type = input[0]; - if (type in ComfyWidgets) { - var customProperties = input[1]; - if (!customProperties?.forceInput) continue; - } - if (!(type in this.slot_types_default_out)) { - this.slot_types_default_out[type] = ["Reroute"]; - } - if (this.slot_types_default_out[type].includes(nodeId)) continue; - this.slot_types_default_out[type].push(nodeId); - const lowerType = type.toLocaleLowerCase(); - if (!(lowerType in LiteGraph.registered_slot_in_types)) { - LiteGraph.registered_slot_in_types[lowerType] = { nodes: [] }; - } - LiteGraph.registered_slot_in_types[lowerType].nodes.push( - nodeType.comfyClass - ); - } - var outputs = nodeData["output"]; - for (const key in outputs) { - var type = outputs[key]; - if (!(type in this.slot_types_default_in)) { - this.slot_types_default_in[type] = ["Reroute"]; - } - this.slot_types_default_in[type].push(nodeId); - if (!(type in LiteGraph.registered_slot_out_types)) { - LiteGraph.registered_slot_out_types[type] = { nodes: [] }; - } - LiteGraph.registered_slot_out_types[type].nodes.push(nodeType.comfyClass); - if (!LiteGraph.slot_types_out.includes(type)) { - LiteGraph.slot_types_out.push(type); - } - } - var maxNum = this.suggestionsNumber.value; - this.setDefaults(maxNum); - }, - setDefaults(maxNum) { - LiteGraph.slot_types_default_out = {}; - LiteGraph.slot_types_default_in = {}; - for (const type in this.slot_types_default_out) { - LiteGraph.slot_types_default_out[type] = this.slot_types_default_out[type].slice(0, maxNum); - } - for (const type in this.slot_types_default_in) { - LiteGraph.slot_types_default_in[type] = this.slot_types_default_in[type].slice(0, maxNum); - } - } -}); -function roundVectorToGrid(vec) { - vec[0] = LiteGraph.CANVAS_GRID_SIZE * Math.round(vec[0] / LiteGraph.CANVAS_GRID_SIZE); - vec[1] = LiteGraph.CANVAS_GRID_SIZE * Math.round(vec[1] / LiteGraph.CANVAS_GRID_SIZE); - return vec; -} -__name(roundVectorToGrid, "roundVectorToGrid"); -app.registerExtension({ - name: "Comfy.SnapToGrid", - init() { - app.ui.settings.addSetting({ - id: "Comfy.SnapToGrid.GridSize", - category: ["Comfy", "Graph", "GridSize"], - name: "Snap to grid size", - type: "slider", - attrs: { - min: 1, - max: 500 - }, - tooltip: "When dragging and resizing nodes while holding shift they will be aligned to the grid, this controls the size of that grid.", - defaultValue: LiteGraph.CANVAS_GRID_SIZE, - onChange(value) { - LiteGraph.CANVAS_GRID_SIZE = +value; - } - }); - const onNodeMoved = app.canvas.onNodeMoved; - app.canvas.onNodeMoved = function(node) { - const r = onNodeMoved?.apply(this, arguments); - if (app.shiftDown) { - for (const id2 in this.selected_nodes) { - this.selected_nodes[id2].alignToGrid(); - } - } - return r; - }; - const onNodeAdded = app.graph.onNodeAdded; - app.graph.onNodeAdded = function(node) { - const onResize = node.onResize; - node.onResize = function() { - if (app.shiftDown) { - roundVectorToGrid(node.size); - } - return onResize?.apply(this, arguments); - }; - return onNodeAdded?.apply(this, arguments); - }; - const origDrawNode = LGraphCanvas.prototype.drawNode; - LGraphCanvas.prototype.drawNode = function(node, ctx) { - if (app.shiftDown && this.node_dragged && node.id in this.selected_nodes) { - const [x, y] = roundVectorToGrid([...node.pos]); - const shiftX = x - node.pos[0]; - let shiftY = y - node.pos[1]; - let w, h; - if (node.flags.collapsed) { - w = node._collapsed_width; - h = LiteGraph.NODE_TITLE_HEIGHT; - shiftY -= LiteGraph.NODE_TITLE_HEIGHT; - } else { - w = node.size[0]; - h = node.size[1]; - let titleMode = node.constructor.title_mode; - if (titleMode !== LiteGraph.TRANSPARENT_TITLE && titleMode !== LiteGraph.NO_TITLE) { - h += LiteGraph.NODE_TITLE_HEIGHT; - shiftY -= LiteGraph.NODE_TITLE_HEIGHT; - } - } - const f = ctx.fillStyle; - ctx.fillStyle = "rgba(100, 100, 100, 0.5)"; - ctx.fillRect(shiftX, shiftY, w, h); - ctx.fillStyle = f; - } - return origDrawNode.apply(this, arguments); - }; - let selectedAndMovingGroup = null; - const groupMove = LGraphGroup.prototype.move; - LGraphGroup.prototype.move = function(deltax, deltay, ignore_nodes) { - const v = groupMove.apply(this, arguments); - if (!selectedAndMovingGroup && app.canvas.selected_group === this && (deltax || deltay)) { - selectedAndMovingGroup = this; - } - if (app.canvas.last_mouse_dragging === false && app.shiftDown) { - this.recomputeInsideNodes(); - for (const node of this._nodes) { - node.alignToGrid(); - } - LGraphNode.prototype.alignToGrid.apply(this); - } - return v; - }; - const drawGroups = LGraphCanvas.prototype.drawGroups; - LGraphCanvas.prototype.drawGroups = function(canvas, ctx) { - if (this.selected_group && app.shiftDown) { - if (this.selected_group_resizing) { - roundVectorToGrid(this.selected_group.size); - } else if (selectedAndMovingGroup) { - const [x, y] = roundVectorToGrid([...selectedAndMovingGroup.pos]); - const f = ctx.fillStyle; - const s = ctx.strokeStyle; - ctx.fillStyle = "rgba(100, 100, 100, 0.33)"; - ctx.strokeStyle = "rgba(100, 100, 100, 0.66)"; - ctx.rect(x, y, ...selectedAndMovingGroup.size); - ctx.fill(); - ctx.stroke(); - ctx.fillStyle = f; - ctx.strokeStyle = s; - } - } else if (!this.selected_group) { - selectedAndMovingGroup = null; - } - return drawGroups.apply(this, arguments); - }; - const onGroupAdd = LGraphCanvas.onGroupAdd; - LGraphCanvas.onGroupAdd = function() { - const v = onGroupAdd.apply(app.canvas, arguments); - if (app.shiftDown) { - const lastGroup = app.graph._groups[app.graph._groups.length - 1]; - if (lastGroup) { - roundVectorToGrid(lastGroup.pos); - roundVectorToGrid(lastGroup.size); - } - } - return v; - }; - } -}); -app.registerExtension({ - name: "Comfy.UploadImage", - async beforeRegisterNodeDef(nodeType, nodeData, app2) { - if (nodeData?.input?.required?.image?.[1]?.image_upload === true) { - nodeData.input.required.upload = ["IMAGEUPLOAD"]; - } - } -}); -const WEBCAM_READY = Symbol(); -app.registerExtension({ - name: "Comfy.WebcamCapture", - getCustomWidgets(app2) { - return { - WEBCAM(node, inputName) { - let res; - node[WEBCAM_READY] = new Promise((resolve) => res = resolve); - const container = document.createElement("div"); - container.style.background = "rgba(0,0,0,0.25)"; - container.style.textAlign = "center"; - const video = document.createElement("video"); - video.style.height = video.style.width = "100%"; - const loadVideo = /* @__PURE__ */ __name(async () => { - try { - const stream = await navigator.mediaDevices.getUserMedia({ - video: true, - audio: false - }); - container.replaceChildren(video); - setTimeout(() => res(video), 500); - video.addEventListener("loadedmetadata", () => res(video), false); - video.srcObject = stream; - video.play(); - } catch (error) { - const label = document.createElement("div"); - label.style.color = "red"; - label.style.overflow = "auto"; - label.style.maxHeight = "100%"; - label.style.whiteSpace = "pre-wrap"; - if (window.isSecureContext) { - label.textContent = "Unable to load webcam, please ensure access is granted:\n" + error.message; - } else { - label.textContent = "Unable to load webcam. A secure context is required, if you are not accessing ComfyUI on localhost (127.0.0.1) you will have to enable TLS (https)\n\n" + error.message; - } - container.replaceChildren(label); - } - }, "loadVideo"); - loadVideo(); - return { widget: node.addDOMWidget(inputName, "WEBCAM", container) }; - } - }; - }, - nodeCreated(node) { - if (node.type, node.constructor.comfyClass !== "WebcamCapture") return; - let video; - const camera = node.widgets.find((w2) => w2.name === "image"); - const w = node.widgets.find((w2) => w2.name === "width"); - const h = node.widgets.find((w2) => w2.name === "height"); - const captureOnQueue = node.widgets.find( - (w2) => w2.name === "capture_on_queue" - ); - const canvas = document.createElement("canvas"); - const capture = /* @__PURE__ */ __name(() => { - canvas.width = w.value; - canvas.height = h.value; - const ctx = canvas.getContext("2d"); - ctx.drawImage(video, 0, 0, w.value, h.value); - const data = canvas.toDataURL("image/png"); - const img = new Image(); - img.onload = () => { - node.imgs = [img]; - app.graph.setDirtyCanvas(true); - requestAnimationFrame(() => { - node.setSizeForImage?.(); - }); - }; - img.src = data; - }, "capture"); - const btn = node.addWidget( - "button", - "waiting for camera...", - "capture", - capture - ); - btn.disabled = true; - btn.serializeValue = () => void 0; - camera.serializeValue = async () => { - if (captureOnQueue.value) { - capture(); - } else if (!node.imgs?.length) { - const err = `No webcam image captured`; - alert(err); - throw new Error(err); - } - const blob = await new Promise((r) => canvas.toBlob(r)); - const name = `${+/* @__PURE__ */ new Date()}.png`; - const file2 = new File([blob], name); - const body = new FormData(); - body.append("image", file2); - body.append("subfolder", "webcam"); - body.append("type", "temp"); - const resp = await api.fetchApi("/upload/image", { - method: "POST", - body - }); - if (resp.status !== 200) { - const err = `Error uploading camera image: ${resp.status} - ${resp.statusText}`; - alert(err); - throw new Error(err); - } - return `webcam/${name} [temp]`; - }; - node[WEBCAM_READY].then((v) => { - video = v; - if (!w.value) { - w.value = video.videoWidth || 640; - h.value = video.videoHeight || 480; - } - btn.disabled = false; - btn.label = "capture"; - }); - } -}); -function splitFilePath(path) { - const folder_separator = path.lastIndexOf("/"); - if (folder_separator === -1) { - return ["", path]; - } - return [ - path.substring(0, folder_separator), - path.substring(folder_separator + 1) - ]; -} -__name(splitFilePath, "splitFilePath"); -function getResourceURL(subfolder, filename, type = "input") { - const params = [ - "filename=" + encodeURIComponent(filename), - "type=" + type, - "subfolder=" + subfolder, - app.getRandParam().substring(1) - ].join("&"); - return `/view?${params}`; -} -__name(getResourceURL, "getResourceURL"); -async function uploadFile(audioWidget, audioUIWidget, file2, updateNode, pasted = false) { - try { - const body = new FormData(); - body.append("image", file2); - if (pasted) body.append("subfolder", "pasted"); - const resp = await api.fetchApi("/upload/image", { - method: "POST", - body - }); - if (resp.status === 200) { - const data = await resp.json(); - let path = data.name; - if (data.subfolder) path = data.subfolder + "/" + path; - if (!audioWidget.options.values.includes(path)) { - audioWidget.options.values.push(path); - } - if (updateNode) { - audioUIWidget.element.src = api.apiURL( - getResourceURL(...splitFilePath(path)) - ); - audioWidget.value = path; - } - } else { - alert(resp.status + " - " + resp.statusText); - } - } catch (error) { - alert(error); - } -} -__name(uploadFile, "uploadFile"); -app.registerExtension({ - name: "Comfy.AudioWidget", - async beforeRegisterNodeDef(nodeType, nodeData) { - if (["LoadAudio", "SaveAudio", "PreviewAudio"].includes(nodeType.comfyClass)) { - nodeData.input.required.audioUI = ["AUDIO_UI"]; - } - }, - getCustomWidgets() { - return { - AUDIO_UI(node, inputName) { - const audio = document.createElement("audio"); - audio.controls = true; - audio.classList.add("comfy-audio"); - audio.setAttribute("name", "media"); - const audioUIWidget = node.addDOMWidget( - inputName, - /* name=*/ - "audioUI", - audio - ); - audioUIWidget.serialize = false; - const isOutputNode = node.constructor.nodeData.output_node; - if (isOutputNode) { - audioUIWidget.element.classList.add("empty-audio-widget"); - const onExecuted = node.onExecuted; - node.onExecuted = function(message) { - onExecuted?.apply(this, arguments); - const audios = message.audio; - if (!audios) return; - const audio2 = audios[0]; - audioUIWidget.element.src = api.apiURL( - getResourceURL(audio2.subfolder, audio2.filename, audio2.type) - ); - audioUIWidget.element.classList.remove("empty-audio-widget"); - }; - } - return { widget: audioUIWidget }; - } - }; - }, - onNodeOutputsUpdated(nodeOutputs) { - for (const [nodeId, output] of Object.entries(nodeOutputs)) { - const node = app.graph.getNodeById(Number.parseInt(nodeId)); - if ("audio" in output) { - const audioUIWidget = node.widgets.find( - (w) => w.name === "audioUI" - ); - const audio = output.audio[0]; - audioUIWidget.element.src = api.apiURL( - getResourceURL(audio.subfolder, audio.filename, audio.type) - ); - audioUIWidget.element.classList.remove("empty-audio-widget"); - } - } - } -}); -app.registerExtension({ - name: "Comfy.UploadAudio", - async beforeRegisterNodeDef(nodeType, nodeData) { - if (nodeData?.input?.required?.audio?.[1]?.audio_upload === true) { - nodeData.input.required.upload = ["AUDIOUPLOAD"]; - } - }, - getCustomWidgets() { - return { - AUDIOUPLOAD(node, inputName) { - const audioWidget = node.widgets.find( - (w) => w.name === "audio" - ); - const audioUIWidget = node.widgets.find( - (w) => w.name === "audioUI" - ); - const onAudioWidgetUpdate = /* @__PURE__ */ __name(() => { - audioUIWidget.element.src = api.apiURL( - getResourceURL(...splitFilePath(audioWidget.value)) - ); - }, "onAudioWidgetUpdate"); - if (audioWidget.value) { - onAudioWidgetUpdate(); - } - audioWidget.callback = onAudioWidgetUpdate; - const onGraphConfigured = node.onGraphConfigured; - node.onGraphConfigured = function() { - onGraphConfigured?.apply(this, arguments); - if (audioWidget.value) { - onAudioWidgetUpdate(); - } - }; - const fileInput = document.createElement("input"); - fileInput.type = "file"; - fileInput.accept = "audio/*"; - fileInput.style.display = "none"; - fileInput.onchange = () => { - if (fileInput.files.length) { - uploadFile(audioWidget, audioUIWidget, fileInput.files[0], true); - } - }; - const uploadWidget = node.addWidget( - "button", - inputName, - /* value=*/ - "", - () => { - fileInput.click(); - } - ); - uploadWidget.label = "choose file to upload"; - uploadWidget.serialize = false; - return { widget: uploadWidget }; - } - }; - } -}); -//# sourceMappingURL=index-BD-Ia1C4.js.map diff --git a/web/assets/index-BD-Ia1C4.js.map b/web/assets/index-BD-Ia1C4.js.map deleted file mode 100644 index f57ab5465..000000000 --- a/web/assets/index-BD-Ia1C4.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"index-BD-Ia1C4.js","sources":["../../src/extensions/core/clipspace.ts","../../src/extensions/core/colorPalette.ts","../../src/extensions/core/contextMenuFilter.ts","../../src/extensions/core/dynamicPrompts.ts","../../src/extensions/core/editAttention.ts","../../src/extensions/core/widgetInputs.ts","../../src/extensions/core/groupNodeManage.ts","../../src/extensions/core/groupNode.ts","../../src/extensions/core/groupOptions.ts","../../src/extensions/core/invertMenuScrolling.ts","../../src/extensions/core/keybinds.ts","../../src/extensions/core/linkRenderMode.ts","../../src/extensions/core/maskeditor.ts","../../src/extensions/core/nodeTemplates.ts","../../src/extensions/core/noteNode.ts","../../src/extensions/core/rerouteNode.ts","../../src/extensions/core/saveImageExtraOutput.ts","../../src/extensions/core/simpleTouchSupport.ts","../../src/extensions/core/slotDefaults.ts","../../src/extensions/core/snapToGrid.ts","../../src/extensions/core/uploadImage.ts","../../src/extensions/core/webcamCapture.ts","../../src/extensions/core/uploadAudio.ts"],"sourcesContent":["import { app } from '../../scripts/app'\nimport { ComfyDialog, $el } from '../../scripts/ui'\nimport { ComfyApp } from '../../scripts/app'\n\nexport class ClipspaceDialog extends ComfyDialog {\n static items = []\n static instance = null\n\n static registerButton(name, contextPredicate, callback) {\n const item = $el('button', {\n type: 'button',\n textContent: name,\n contextPredicate: contextPredicate,\n onclick: callback\n })\n\n ClipspaceDialog.items.push(item)\n }\n\n static invalidatePreview() {\n if (\n ComfyApp.clipspace &&\n ComfyApp.clipspace.imgs &&\n ComfyApp.clipspace.imgs.length > 0\n ) {\n const img_preview = document.getElementById(\n 'clipspace_preview'\n ) as HTMLImageElement\n if (img_preview) {\n img_preview.src =\n ComfyApp.clipspace.imgs[ComfyApp.clipspace['selectedIndex']].src\n img_preview.style.maxHeight = '100%'\n img_preview.style.maxWidth = '100%'\n }\n }\n }\n\n static invalidate() {\n if (ClipspaceDialog.instance) {\n const self = ClipspaceDialog.instance\n // allow reconstruct controls when copying from non-image to image content.\n const children = $el('div.comfy-modal-content', [\n self.createImgSettings(),\n ...self.createButtons()\n ])\n\n if (self.element) {\n // update\n self.element.removeChild(self.element.firstChild)\n self.element.appendChild(children)\n } else {\n // new\n self.element = $el('div.comfy-modal', { parent: document.body }, [\n children\n ])\n }\n\n if (self.element.children[0].children.length <= 1) {\n self.element.children[0].appendChild(\n $el('p', {}, [\n 'Unable to find the features to edit content of a format stored in the current Clipspace.'\n ])\n )\n }\n\n ClipspaceDialog.invalidatePreview()\n }\n }\n\n constructor() {\n super()\n }\n\n createButtons() {\n const buttons = []\n\n for (let idx in ClipspaceDialog.items) {\n const item = ClipspaceDialog.items[idx]\n if (!item.contextPredicate || item.contextPredicate())\n buttons.push(ClipspaceDialog.items[idx])\n }\n\n buttons.push(\n $el('button', {\n type: 'button',\n textContent: 'Close',\n onclick: () => {\n this.close()\n }\n })\n )\n\n return buttons\n }\n\n createImgSettings() {\n if (ComfyApp.clipspace.imgs) {\n const combo_items = []\n const imgs = ComfyApp.clipspace.imgs\n\n for (let i = 0; i < imgs.length; i++) {\n combo_items.push($el('option', { value: i }, [`${i}`]))\n }\n\n const combo1 = $el(\n 'select',\n {\n id: 'clipspace_img_selector',\n onchange: (event) => {\n ComfyApp.clipspace['selectedIndex'] = event.target.selectedIndex\n ClipspaceDialog.invalidatePreview()\n }\n },\n combo_items\n )\n\n const row1 = $el('tr', {}, [\n $el('td', {}, [$el('font', { color: 'white' }, ['Select Image'])]),\n $el('td', {}, [combo1])\n ])\n\n const combo2 = $el(\n 'select',\n {\n id: 'clipspace_img_paste_mode',\n onchange: (event) => {\n ComfyApp.clipspace['img_paste_mode'] = event.target.value\n }\n },\n [\n $el('option', { value: 'selected' }, 'selected'),\n $el('option', { value: 'all' }, 'all')\n ]\n ) as HTMLSelectElement\n combo2.value = ComfyApp.clipspace['img_paste_mode']\n\n const row2 = $el('tr', {}, [\n $el('td', {}, [$el('font', { color: 'white' }, ['Paste Mode'])]),\n $el('td', {}, [combo2])\n ])\n\n const td = $el(\n 'td',\n { align: 'center', width: '100px', height: '100px', colSpan: '2' },\n [$el('img', { id: 'clipspace_preview', ondragstart: () => false }, [])]\n )\n\n const row3 = $el('tr', {}, [td])\n\n return $el('table', {}, [row1, row2, row3])\n } else {\n return []\n }\n }\n\n createImgPreview() {\n if (ComfyApp.clipspace.imgs) {\n return $el('img', { id: 'clipspace_preview', ondragstart: () => false })\n } else return []\n }\n\n show() {\n const img_preview = document.getElementById('clipspace_preview')\n ClipspaceDialog.invalidate()\n\n this.element.style.display = 'block'\n }\n}\n\napp.registerExtension({\n name: 'Comfy.Clipspace',\n init(app) {\n app.openClipspace = function () {\n if (!ClipspaceDialog.instance) {\n ClipspaceDialog.instance = new ClipspaceDialog()\n ComfyApp.clipspace_invalidate_handler = ClipspaceDialog.invalidate\n }\n\n if (ComfyApp.clipspace) {\n ClipspaceDialog.instance.show()\n } else app.ui.dialog.show('Clipspace is Empty!')\n }\n }\n})\n","import { app } from '../../scripts/app'\nimport { $el } from '../../scripts/ui'\nimport type { ColorPalettes, Palette } from '@/types/colorPalette'\nimport { LGraphCanvas, LiteGraph } from '@comfyorg/litegraph'\n\n// Manage color palettes\n\nconst colorPalettes: ColorPalettes = {\n dark: {\n id: 'dark',\n name: 'Dark (Default)',\n colors: {\n node_slot: {\n CLIP: '#FFD500', // bright yellow\n CLIP_VISION: '#A8DADC', // light blue-gray\n CLIP_VISION_OUTPUT: '#ad7452', // rusty brown-orange\n CONDITIONING: '#FFA931', // vibrant orange-yellow\n CONTROL_NET: '#6EE7B7', // soft mint green\n IMAGE: '#64B5F6', // bright sky blue\n LATENT: '#FF9CF9', // light pink-purple\n MASK: '#81C784', // muted green\n MODEL: '#B39DDB', // light lavender-purple\n STYLE_MODEL: '#C2FFAE', // light green-yellow\n VAE: '#FF6E6E', // bright red\n NOISE: '#B0B0B0', // gray\n GUIDER: '#66FFFF', // cyan\n SAMPLER: '#ECB4B4', // very soft red\n SIGMAS: '#CDFFCD', // soft lime green\n TAESD: '#DCC274' // cheesecake\n },\n litegraph_base: {\n BACKGROUND_IMAGE:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQBJREFUeNrs1rEKwjAUhlETUkj3vP9rdmr1Ysammk2w5wdxuLgcMHyptfawuZX4pJSWZTnfnu/lnIe/jNNxHHGNn//HNbbv+4dr6V+11uF527arU7+u63qfa/bnmh8sWLBgwYJlqRf8MEptXPBXJXa37BSl3ixYsGDBMliwFLyCV/DeLIMFCxYsWLBMwSt4Be/NggXLYMGCBUvBK3iNruC9WbBgwYJlsGApeAWv4L1ZBgsWLFiwYJmCV/AK3psFC5bBggULloJX8BpdwXuzYMGCBctgwVLwCl7Be7MMFixYsGDBsu8FH1FaSmExVfAxBa/gvVmwYMGCZbBg/W4vAQYA5tRF9QYlv/QAAAAASUVORK5CYII=',\n CLEAR_BACKGROUND_COLOR: '#222',\n NODE_TITLE_COLOR: '#999',\n NODE_SELECTED_TITLE_COLOR: '#FFF',\n NODE_TEXT_SIZE: 14,\n NODE_TEXT_COLOR: '#AAA',\n NODE_SUBTEXT_SIZE: 12,\n NODE_DEFAULT_COLOR: '#333',\n NODE_DEFAULT_BGCOLOR: '#353535',\n NODE_DEFAULT_BOXCOLOR: '#666',\n NODE_DEFAULT_SHAPE: 'box',\n NODE_BOX_OUTLINE_COLOR: '#FFF',\n DEFAULT_SHADOW_COLOR: 'rgba(0,0,0,0.5)',\n DEFAULT_GROUP_FONT: 24,\n\n WIDGET_BGCOLOR: '#222',\n WIDGET_OUTLINE_COLOR: '#666',\n WIDGET_TEXT_COLOR: '#DDD',\n WIDGET_SECONDARY_TEXT_COLOR: '#999',\n\n LINK_COLOR: '#9A9',\n EVENT_LINK_COLOR: '#A86',\n CONNECTING_LINK_COLOR: '#AFA'\n },\n comfy_base: {\n 'fg-color': '#fff',\n 'bg-color': '#202020',\n 'comfy-menu-bg': '#353535',\n 'comfy-input-bg': '#222',\n 'input-text': '#ddd',\n 'descrip-text': '#999',\n 'drag-text': '#ccc',\n 'error-text': '#ff4444',\n 'border-color': '#4e4e4e',\n 'tr-even-bg-color': '#222',\n 'tr-odd-bg-color': '#353535',\n 'content-bg': '#4e4e4e',\n 'content-fg': '#fff',\n 'content-hover-bg': '#222',\n 'content-hover-fg': '#fff'\n }\n }\n },\n light: {\n id: 'light',\n name: 'Light',\n colors: {\n node_slot: {\n CLIP: '#FFA726', // orange\n CLIP_VISION: '#5C6BC0', // indigo\n CLIP_VISION_OUTPUT: '#8D6E63', // brown\n CONDITIONING: '#EF5350', // red\n CONTROL_NET: '#66BB6A', // green\n IMAGE: '#42A5F5', // blue\n LATENT: '#AB47BC', // purple\n MASK: '#9CCC65', // light green\n MODEL: '#7E57C2', // deep purple\n STYLE_MODEL: '#D4E157', // lime\n VAE: '#FF7043' // deep orange\n },\n litegraph_base: {\n BACKGROUND_IMAGE:\n 'data:image/gif;base64,R0lGODlhZABkALMAAAAAAP///+vr6+rq6ujo6Ofn5+bm5uXl5d3d3f///wAAAAAAAAAAAAAAAAAAAAAAACH5BAEAAAkALAAAAABkAGQAAAT/UMhJq7046827HkcoHkYxjgZhnGG6si5LqnIM0/fL4qwwIMAg0CAsEovBIxKhRDaNy2GUOX0KfVFrssrNdpdaqTeKBX+dZ+jYvEaTf+y4W66mC8PUdrE879f9d2mBeoNLfH+IhYBbhIx2jkiHiomQlGKPl4uZe3CaeZifnnijgkESBqipqqusra6vsLGys62SlZO4t7qbuby7CLa+wqGWxL3Gv3jByMOkjc2lw8vOoNSi0czAncXW3Njdx9Pf48/Z4Kbbx+fQ5evZ4u3k1fKR6cn03vHlp7T9/v8A/8Gbp4+gwXoFryXMB2qgwoMMHyKEqA5fxX322FG8tzBcRnMW/zlulPbRncmQGidKjMjyYsOSKEF2FBlJQMCbOHP6c9iSZs+UnGYCdbnSo1CZI5F64kn0p1KnTH02nSoV3dGTV7FFHVqVq1dtWcMmVQZTbNGu72zqXMuW7danVL+6e4t1bEy6MeueBYLXrNO5Ze36jQtWsOG97wIj1vt3St/DjTEORss4nNq2mDP3e7w4r1bFkSET5hy6s2TRlD2/mSxXtSHQhCunXo26NevCpmvD/UU6tuullzULH76q92zdZG/Ltv1a+W+osI/nRmyc+fRi1Xdbh+68+0vv10dH3+77KD/i6IdnX669/frn5Zsjh4/2PXju8+8bzc9/6fj27LFnX11/+IUnXWl7BJfegm79FyB9JOl3oHgSklefgxAC+FmFGpqHIYcCfkhgfCohSKKJVo044YUMttggiBkmp6KFXw1oII24oYhjiDByaKOOHcp3Y5BD/njikSkO+eBREQAAOw==',\n CLEAR_BACKGROUND_COLOR: 'lightgray',\n NODE_TITLE_COLOR: '#222',\n NODE_SELECTED_TITLE_COLOR: '#000',\n NODE_TEXT_SIZE: 14,\n NODE_TEXT_COLOR: '#444',\n NODE_SUBTEXT_SIZE: 12,\n NODE_DEFAULT_COLOR: '#F7F7F7',\n NODE_DEFAULT_BGCOLOR: '#F5F5F5',\n NODE_DEFAULT_BOXCOLOR: '#CCC',\n NODE_DEFAULT_SHAPE: 'box',\n NODE_BOX_OUTLINE_COLOR: '#000',\n DEFAULT_SHADOW_COLOR: 'rgba(0,0,0,0.1)',\n DEFAULT_GROUP_FONT: 24,\n\n WIDGET_BGCOLOR: '#D4D4D4',\n WIDGET_OUTLINE_COLOR: '#999',\n WIDGET_TEXT_COLOR: '#222',\n WIDGET_SECONDARY_TEXT_COLOR: '#555',\n\n LINK_COLOR: '#4CAF50',\n EVENT_LINK_COLOR: '#FF9800',\n CONNECTING_LINK_COLOR: '#2196F3'\n },\n comfy_base: {\n 'fg-color': '#222',\n 'bg-color': '#DDD',\n 'comfy-menu-bg': '#F5F5F5',\n 'comfy-input-bg': '#C9C9C9',\n 'input-text': '#222',\n 'descrip-text': '#444',\n 'drag-text': '#555',\n 'error-text': '#F44336',\n 'border-color': '#888',\n 'tr-even-bg-color': '#f9f9f9',\n 'tr-odd-bg-color': '#fff',\n 'content-bg': '#e0e0e0',\n 'content-fg': '#222',\n 'content-hover-bg': '#adadad',\n 'content-hover-fg': '#222'\n }\n }\n },\n solarized: {\n id: 'solarized',\n name: 'Solarized',\n colors: {\n node_slot: {\n CLIP: '#2AB7CA', // light blue\n CLIP_VISION: '#6c71c4', // blue violet\n CLIP_VISION_OUTPUT: '#859900', // olive green\n CONDITIONING: '#d33682', // magenta\n CONTROL_NET: '#d1ffd7', // light mint green\n IMAGE: '#5940bb', // deep blue violet\n LATENT: '#268bd2', // blue\n MASK: '#CCC9E7', // light purple-gray\n MODEL: '#dc322f', // red\n STYLE_MODEL: '#1a998a', // teal\n UPSCALE_MODEL: '#054A29', // dark green\n VAE: '#facfad' // light pink-orange\n },\n litegraph_base: {\n NODE_TITLE_COLOR: '#fdf6e3', // Base3\n NODE_SELECTED_TITLE_COLOR: '#A9D400',\n NODE_TEXT_SIZE: 14,\n NODE_TEXT_COLOR: '#657b83', // Base00\n NODE_SUBTEXT_SIZE: 12,\n NODE_DEFAULT_COLOR: '#094656',\n NODE_DEFAULT_BGCOLOR: '#073642', // Base02\n NODE_DEFAULT_BOXCOLOR: '#839496', // Base0\n NODE_DEFAULT_SHAPE: 'box',\n NODE_BOX_OUTLINE_COLOR: '#fdf6e3', // Base3\n DEFAULT_SHADOW_COLOR: 'rgba(0,0,0,0.5)',\n DEFAULT_GROUP_FONT: 24,\n\n WIDGET_BGCOLOR: '#002b36', // Base03\n WIDGET_OUTLINE_COLOR: '#839496', // Base0\n WIDGET_TEXT_COLOR: '#fdf6e3', // Base3\n WIDGET_SECONDARY_TEXT_COLOR: '#93a1a1', // Base1\n\n LINK_COLOR: '#2aa198', // Solarized Cyan\n EVENT_LINK_COLOR: '#268bd2', // Solarized Blue\n CONNECTING_LINK_COLOR: '#859900' // Solarized Green\n },\n comfy_base: {\n 'fg-color': '#fdf6e3', // Base3\n 'bg-color': '#002b36', // Base03\n 'comfy-menu-bg': '#073642', // Base02\n 'comfy-input-bg': '#002b36', // Base03\n 'input-text': '#93a1a1', // Base1\n 'descrip-text': '#586e75', // Base01\n 'drag-text': '#839496', // Base0\n 'error-text': '#dc322f', // Solarized Red\n 'border-color': '#657b83', // Base00\n 'tr-even-bg-color': '#002b36',\n 'tr-odd-bg-color': '#073642',\n 'content-bg': '#657b83',\n 'content-fg': '#fdf6e3',\n 'content-hover-bg': '#002b36',\n 'content-hover-fg': '#fdf6e3'\n }\n }\n },\n arc: {\n id: 'arc',\n name: 'Arc',\n colors: {\n node_slot: {\n BOOLEAN: '',\n CLIP: '#eacb8b',\n CLIP_VISION: '#A8DADC',\n CLIP_VISION_OUTPUT: '#ad7452',\n CONDITIONING: '#cf876f',\n CONTROL_NET: '#00d78d',\n CONTROL_NET_WEIGHTS: '',\n FLOAT: '',\n GLIGEN: '',\n IMAGE: '#80a1c0',\n IMAGEUPLOAD: '',\n INT: '',\n LATENT: '#b38ead',\n LATENT_KEYFRAME: '',\n MASK: '#a3bd8d',\n MODEL: '#8978a7',\n SAMPLER: '',\n SIGMAS: '',\n STRING: '',\n STYLE_MODEL: '#C2FFAE',\n T2I_ADAPTER_WEIGHTS: '',\n TAESD: '#DCC274',\n TIMESTEP_KEYFRAME: '',\n UPSCALE_MODEL: '',\n VAE: '#be616b'\n },\n litegraph_base: {\n BACKGROUND_IMAGE:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAYAAABw4pVUAAAACXBIWXMAAAsTAAALEwEAmpwYAAABcklEQVR4nO3YMUoDARgF4RfxBqZI6/0vZqFn0MYtrLIQMFN8U6V4LAtD+Jm9XG/v30OGl2e/AP7yevz4+vx45nvgF/+QGITEICQGITEIiUFIjNNC3q43u3/YnRJyPOzeQ+0e220nhRzReC8e7R7bbdvl+Jal1Bs46jEIiUFIDEJiEBKDkBhKPbZT6qHdptRTu02p53DUYxASg5AYhMQgJAYhMZR6bKfUQ7tNqad2m1LP4ajHICQGITEIiUFIDEJiKPXYTqmHdptST+02pZ7DUY9BSAxCYhASg5AYhMRQ6rGdUg/tNqWe2m1KPYejHoOQGITEICQGITEIiaHUYzulHtptSj2125R6Dkc9BiExCIlBSAxCYhASQ6nHdko9tNuUemq3KfUcjnoMQmIQEoOQGITEICSGUo/tlHpotyn11G5T6jkc9RiExCAkBiExCIlBSAylHtsp9dBuU+qp3abUczjqMQiJQUgMQmIQEoOQGITE+AHFISNQrFTGuwAAAABJRU5ErkJggg==',\n CLEAR_BACKGROUND_COLOR: '#2b2f38',\n NODE_TITLE_COLOR: '#b2b7bd',\n NODE_SELECTED_TITLE_COLOR: '#FFF',\n NODE_TEXT_SIZE: 14,\n NODE_TEXT_COLOR: '#AAA',\n NODE_SUBTEXT_SIZE: 12,\n NODE_DEFAULT_COLOR: '#2b2f38',\n NODE_DEFAULT_BGCOLOR: '#242730',\n NODE_DEFAULT_BOXCOLOR: '#6e7581',\n NODE_DEFAULT_SHAPE: 'box',\n NODE_BOX_OUTLINE_COLOR: '#FFF',\n DEFAULT_SHADOW_COLOR: 'rgba(0,0,0,0.5)',\n DEFAULT_GROUP_FONT: 22,\n WIDGET_BGCOLOR: '#2b2f38',\n WIDGET_OUTLINE_COLOR: '#6e7581',\n WIDGET_TEXT_COLOR: '#DDD',\n WIDGET_SECONDARY_TEXT_COLOR: '#b2b7bd',\n LINK_COLOR: '#9A9',\n EVENT_LINK_COLOR: '#A86',\n CONNECTING_LINK_COLOR: '#AFA'\n },\n comfy_base: {\n 'fg-color': '#fff',\n 'bg-color': '#2b2f38',\n 'comfy-menu-bg': '#242730',\n 'comfy-input-bg': '#2b2f38',\n 'input-text': '#ddd',\n 'descrip-text': '#b2b7bd',\n 'drag-text': '#ccc',\n 'error-text': '#ff4444',\n 'border-color': '#6e7581',\n 'tr-even-bg-color': '#2b2f38',\n 'tr-odd-bg-color': '#242730',\n 'content-bg': '#6e7581',\n 'content-fg': '#fff',\n 'content-hover-bg': '#2b2f38',\n 'content-hover-fg': '#fff'\n }\n }\n },\n nord: {\n id: 'nord',\n name: 'Nord',\n colors: {\n node_slot: {\n BOOLEAN: '',\n CLIP: '#eacb8b',\n CLIP_VISION: '#A8DADC',\n CLIP_VISION_OUTPUT: '#ad7452',\n CONDITIONING: '#cf876f',\n CONTROL_NET: '#00d78d',\n CONTROL_NET_WEIGHTS: '',\n FLOAT: '',\n GLIGEN: '',\n IMAGE: '#80a1c0',\n IMAGEUPLOAD: '',\n INT: '',\n LATENT: '#b38ead',\n LATENT_KEYFRAME: '',\n MASK: '#a3bd8d',\n MODEL: '#8978a7',\n SAMPLER: '',\n SIGMAS: '',\n STRING: '',\n STYLE_MODEL: '#C2FFAE',\n T2I_ADAPTER_WEIGHTS: '',\n TAESD: '#DCC274',\n TIMESTEP_KEYFRAME: '',\n UPSCALE_MODEL: '',\n VAE: '#be616b'\n },\n litegraph_base: {\n BACKGROUND_IMAGE:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAFu2lUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDEgNzkuMTQ2Mjg5OSwgMjAyMy8wNi8yNS0yMDowMTo1NSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMy0xMS0xM1QwMDoxODowMiswMTowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjMtMTEtMTVUMDE6MjA6NDUrMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjMtMTEtMTVUMDE6MjA6NDUrMDE6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOjUwNDFhMmZjLTEzNzQtMTk0ZC1hZWY4LTYxMzM1MTVmNjUwMCIgeG1wTU06RG9jdW1lbnRJRD0ieG1wLmRpZDoyMzFiMTBiMC1iNGZiLTAyNGUtYjEyZS0zMDUzMDNjZDA3YzgiIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDoyMzFiMTBiMC1iNGZiLTAyNGUtYjEyZS0zMDUzMDNjZDA3YzgiPiA8eG1wTU06SGlzdG9yeT4gPHJkZjpTZXE+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJjcmVhdGVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjIzMWIxMGIwLWI0ZmItMDI0ZS1iMTJlLTMwNTMwM2NkMDdjOCIgc3RFdnQ6d2hlbj0iMjAyMy0xMS0xM1QwMDoxODowMiswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDo1MDQxYTJmYy0xMzc0LTE5NGQtYWVmOC02MTMzNTE1ZjY1MDAiIHN0RXZ0OndoZW49IjIwMjMtMTEtMTVUMDE6MjA6NDUrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNS4xIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz73jWg/AAAAyUlEQVR42u3WKwoAIBRFQRdiMb1idv9Lsxn9gEFw4Dbb8JCTojbbXEJwjJVL2HKwYMGCBQuWLbDmjr+9zrBGjHl1WVcvy2DBggULFizTWQpewSt4HzwsgwULFiwFr7MUvMtS8D54WLBgGSxYCl7BK3iXZbBgwYIFC5bpLAWv4BW8Dx6WwYIFC5aC11kK3mUpeB88LFiwDBYsBa/gFbzLMliwYMGCBct0loJX8AreBw/LYMGCBUvB6ywF77IUvA8eFixYBgsWrNfWAZPltufdad+1AAAAAElFTkSuQmCC',\n CLEAR_BACKGROUND_COLOR: '#212732',\n NODE_TITLE_COLOR: '#999',\n NODE_SELECTED_TITLE_COLOR: '#e5eaf0',\n NODE_TEXT_SIZE: 14,\n NODE_TEXT_COLOR: '#bcc2c8',\n NODE_SUBTEXT_SIZE: 12,\n NODE_DEFAULT_COLOR: '#2e3440',\n NODE_DEFAULT_BGCOLOR: '#161b22',\n NODE_DEFAULT_BOXCOLOR: '#545d70',\n NODE_DEFAULT_SHAPE: 'box',\n NODE_BOX_OUTLINE_COLOR: '#e5eaf0',\n DEFAULT_SHADOW_COLOR: 'rgba(0,0,0,0.5)',\n DEFAULT_GROUP_FONT: 24,\n WIDGET_BGCOLOR: '#2e3440',\n WIDGET_OUTLINE_COLOR: '#545d70',\n WIDGET_TEXT_COLOR: '#bcc2c8',\n WIDGET_SECONDARY_TEXT_COLOR: '#999',\n LINK_COLOR: '#9A9',\n EVENT_LINK_COLOR: '#A86',\n CONNECTING_LINK_COLOR: '#AFA'\n },\n comfy_base: {\n 'fg-color': '#e5eaf0',\n 'bg-color': '#2e3440',\n 'comfy-menu-bg': '#161b22',\n 'comfy-input-bg': '#2e3440',\n 'input-text': '#bcc2c8',\n 'descrip-text': '#999',\n 'drag-text': '#ccc',\n 'error-text': '#ff4444',\n 'border-color': '#545d70',\n 'tr-even-bg-color': '#2e3440',\n 'tr-odd-bg-color': '#161b22',\n 'content-bg': '#545d70',\n 'content-fg': '#e5eaf0',\n 'content-hover-bg': '#2e3440',\n 'content-hover-fg': '#e5eaf0'\n }\n }\n },\n github: {\n id: 'github',\n name: 'Github',\n colors: {\n node_slot: {\n BOOLEAN: '',\n CLIP: '#eacb8b',\n CLIP_VISION: '#A8DADC',\n CLIP_VISION_OUTPUT: '#ad7452',\n CONDITIONING: '#cf876f',\n CONTROL_NET: '#00d78d',\n CONTROL_NET_WEIGHTS: '',\n FLOAT: '',\n GLIGEN: '',\n IMAGE: '#80a1c0',\n IMAGEUPLOAD: '',\n INT: '',\n LATENT: '#b38ead',\n LATENT_KEYFRAME: '',\n MASK: '#a3bd8d',\n MODEL: '#8978a7',\n SAMPLER: '',\n SIGMAS: '',\n STRING: '',\n STYLE_MODEL: '#C2FFAE',\n T2I_ADAPTER_WEIGHTS: '',\n TAESD: '#DCC274',\n TIMESTEP_KEYFRAME: '',\n UPSCALE_MODEL: '',\n VAE: '#be616b'\n },\n litegraph_base: {\n BACKGROUND_IMAGE:\n 'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAACXBIWXMAAAsTAAALEwEAmpwYAAAGlmlUWHRYTUw6Y29tLmFkb2JlLnhtcAAAAAAAPD94cGFja2V0IGJlZ2luPSLvu78iIGlkPSJXNU0wTXBDZWhpSHpyZVN6TlRjemtjOWQiPz4gPHg6eG1wbWV0YSB4bWxuczp4PSJhZG9iZTpuczptZXRhLyIgeDp4bXB0az0iQWRvYmUgWE1QIENvcmUgOS4xLWMwMDEgNzkuMTQ2Mjg5OSwgMjAyMy8wNi8yNS0yMDowMTo1NSAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczpkYz0iaHR0cDovL3B1cmwub3JnL2RjL2VsZW1lbnRzLzEuMS8iIHhtbG5zOnBob3Rvc2hvcD0iaHR0cDovL25zLmFkb2JlLmNvbS9waG90b3Nob3AvMS4wLyIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0RXZ0PSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VFdmVudCMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIiB4bXA6Q3JlYXRlRGF0ZT0iMjAyMy0xMS0xM1QwMDoxODowMiswMTowMCIgeG1wOk1vZGlmeURhdGU9IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIHhtcDpNZXRhZGF0YURhdGU9IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIGRjOmZvcm1hdD0iaW1hZ2UvcG5nIiBwaG90b3Nob3A6Q29sb3JNb2RlPSIzIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOmIyYzRhNjA5LWJmYTctYTg0MC1iOGFlLTk3MzE2ZjM1ZGIyNyIgeG1wTU06RG9jdW1lbnRJRD0iYWRvYmU6ZG9jaWQ6cGhvdG9zaG9wOjk0ZmNlZGU4LTE1MTctZmQ0MC04ZGU3LWYzOTgxM2E3ODk5ZiIgeG1wTU06T3JpZ2luYWxEb2N1bWVudElEPSJ4bXAuZGlkOjIzMWIxMGIwLWI0ZmItMDI0ZS1iMTJlLTMwNTMwM2NkMDdjOCI+IDx4bXBNTTpIaXN0b3J5PiA8cmRmOlNlcT4gPHJkZjpsaSBzdEV2dDphY3Rpb249ImNyZWF0ZWQiIHN0RXZ0Omluc3RhbmNlSUQ9InhtcC5paWQ6MjMxYjEwYjAtYjRmYi0wMjRlLWIxMmUtMzA1MzAzY2QwN2M4IiBzdEV2dDp3aGVuPSIyMDIzLTExLTEzVDAwOjE4OjAyKzAxOjAwIiBzdEV2dDpzb2Z0d2FyZUFnZW50PSJBZG9iZSBQaG90b3Nob3AgMjUuMSAoV2luZG93cykiLz4gPHJkZjpsaSBzdEV2dDphY3Rpb249InNhdmVkIiBzdEV2dDppbnN0YW5jZUlEPSJ4bXAuaWlkOjQ4OWY1NzlmLTJkNjUtZWQ0Zi04OTg0LTA4NGE2MGE1ZTMzNSIgc3RFdnQ6d2hlbj0iMjAyMy0xMS0xNVQwMjowNDo1OSswMTowMCIgc3RFdnQ6c29mdHdhcmVBZ2VudD0iQWRvYmUgUGhvdG9zaG9wIDI1LjEgKFdpbmRvd3MpIiBzdEV2dDpjaGFuZ2VkPSIvIi8+IDxyZGY6bGkgc3RFdnQ6YWN0aW9uPSJzYXZlZCIgc3RFdnQ6aW5zdGFuY2VJRD0ieG1wLmlpZDpiMmM0YTYwOS1iZmE3LWE4NDAtYjhhZS05NzMxNmYzNWRiMjciIHN0RXZ0OndoZW49IjIwMjMtMTEtMTVUMDI6MDQ6NTkrMDE6MDAiIHN0RXZ0OnNvZnR3YXJlQWdlbnQ9IkFkb2JlIFBob3Rvc2hvcCAyNS4xIChXaW5kb3dzKSIgc3RFdnQ6Y2hhbmdlZD0iLyIvPiA8L3JkZjpTZXE+IDwveG1wTU06SGlzdG9yeT4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4OTe6GAAAAx0lEQVR42u3WMQoAIQxFwRzJys77X8vSLiRgITif7bYbgrwYc/mKXyBoY4VVBgsWLFiwYFmOlTv+9jfDOjHmr8u6eVkGCxYsWLBgmc5S8ApewXvgYRksWLBgKXidpeBdloL3wMOCBctgwVLwCl7BuyyDBQsWLFiwTGcpeAWv4D3wsAwWLFiwFLzOUvAuS8F74GHBgmWwYCl4Ba/gXZbBggULFixYprMUvIJX8B54WAYLFixYCl5nKXiXpeA98LBgwTJYsGC9tg1o8f4TTtqzNQAAAABJRU5ErkJggg==',\n CLEAR_BACKGROUND_COLOR: '#040506',\n NODE_TITLE_COLOR: '#999',\n NODE_SELECTED_TITLE_COLOR: '#e5eaf0',\n NODE_TEXT_SIZE: 14,\n NODE_TEXT_COLOR: '#bcc2c8',\n NODE_SUBTEXT_SIZE: 12,\n NODE_DEFAULT_COLOR: '#161b22',\n NODE_DEFAULT_BGCOLOR: '#13171d',\n NODE_DEFAULT_BOXCOLOR: '#30363d',\n NODE_DEFAULT_SHAPE: 'box',\n NODE_BOX_OUTLINE_COLOR: '#e5eaf0',\n DEFAULT_SHADOW_COLOR: 'rgba(0,0,0,0.5)',\n DEFAULT_GROUP_FONT: 24,\n WIDGET_BGCOLOR: '#161b22',\n WIDGET_OUTLINE_COLOR: '#30363d',\n WIDGET_TEXT_COLOR: '#bcc2c8',\n WIDGET_SECONDARY_TEXT_COLOR: '#999',\n LINK_COLOR: '#9A9',\n EVENT_LINK_COLOR: '#A86',\n CONNECTING_LINK_COLOR: '#AFA'\n },\n comfy_base: {\n 'fg-color': '#e5eaf0',\n 'bg-color': '#161b22',\n 'comfy-menu-bg': '#13171d',\n 'comfy-input-bg': '#161b22',\n 'input-text': '#bcc2c8',\n 'descrip-text': '#999',\n 'drag-text': '#ccc',\n 'error-text': '#ff4444',\n 'border-color': '#30363d',\n 'tr-even-bg-color': '#161b22',\n 'tr-odd-bg-color': '#13171d',\n 'content-bg': '#30363d',\n 'content-fg': '#e5eaf0',\n 'content-hover-bg': '#161b22',\n 'content-hover-fg': '#e5eaf0'\n }\n }\n }\n}\n\nconst id = 'Comfy.ColorPalette'\nconst idCustomColorPalettes = 'Comfy.CustomColorPalettes'\nconst defaultColorPaletteId = 'dark'\nconst els: { select: HTMLSelectElement | null } = {\n select: null\n}\n// const ctxMenu = LiteGraph.ContextMenu;\napp.registerExtension({\n name: id,\n init() {\n /**\n * Changes the background color of the canvas.\n *\n * @method updateBackground\n * @param {image} String\n * @param {clearBackgroundColor} String\n */\n // @ts-expect-error\n LGraphCanvas.prototype.updateBackground = function (\n image,\n clearBackgroundColor\n ) {\n this._bg_img = new Image()\n this._bg_img.name = image\n this._bg_img.src = image\n this._bg_img.onload = () => {\n this.draw(true, true)\n }\n this.background_image = image\n\n this.clear_background = true\n this.clear_background_color = clearBackgroundColor\n this._pattern = null\n }\n },\n addCustomNodeDefs(node_defs) {\n const sortObjectKeys = (unordered) => {\n return Object.keys(unordered)\n .sort()\n .reduce((obj, key) => {\n obj[key] = unordered[key]\n return obj\n }, {})\n }\n\n function getSlotTypes() {\n var types = []\n\n const defs = node_defs\n for (const nodeId in defs) {\n const nodeData = defs[nodeId]\n\n var inputs = nodeData['input']['required']\n if (nodeData['input']['optional'] !== undefined) {\n inputs = Object.assign(\n {},\n nodeData['input']['required'],\n nodeData['input']['optional']\n )\n }\n\n for (const inputName in inputs) {\n const inputData = inputs[inputName]\n const type = inputData[0]\n\n if (!Array.isArray(type)) {\n types.push(type)\n }\n }\n\n for (const o in nodeData['output']) {\n const output = nodeData['output'][o]\n types.push(output)\n }\n }\n\n return types\n }\n\n function completeColorPalette(colorPalette) {\n var types = getSlotTypes()\n\n for (const type of types) {\n if (!colorPalette.colors.node_slot[type]) {\n colorPalette.colors.node_slot[type] = ''\n }\n }\n\n colorPalette.colors.node_slot = sortObjectKeys(\n colorPalette.colors.node_slot\n )\n\n return colorPalette\n }\n\n const getColorPaletteTemplate = async () => {\n let colorPalette = {\n id: 'my_color_palette_unique_id',\n name: 'My Color Palette',\n colors: {\n node_slot: {},\n litegraph_base: {},\n comfy_base: {}\n }\n }\n\n // Copy over missing keys from default color palette\n const defaultColorPalette = colorPalettes[defaultColorPaletteId]\n for (const key in defaultColorPalette.colors.litegraph_base) {\n if (!colorPalette.colors.litegraph_base[key]) {\n colorPalette.colors.litegraph_base[key] = ''\n }\n }\n for (const key in defaultColorPalette.colors.comfy_base) {\n if (!colorPalette.colors.comfy_base[key]) {\n colorPalette.colors.comfy_base[key] = ''\n }\n }\n\n return completeColorPalette(colorPalette)\n }\n\n const getCustomColorPalettes = (): ColorPalettes => {\n return app.ui.settings.getSettingValue(idCustomColorPalettes, {})\n }\n\n const setCustomColorPalettes = (customColorPalettes: ColorPalettes) => {\n return app.ui.settings.setSettingValue(\n idCustomColorPalettes,\n customColorPalettes\n )\n }\n\n const addCustomColorPalette = async (colorPalette) => {\n if (typeof colorPalette !== 'object') {\n alert('Invalid color palette.')\n return\n }\n\n if (!colorPalette.id) {\n alert('Color palette missing id.')\n return\n }\n\n if (!colorPalette.name) {\n alert('Color palette missing name.')\n return\n }\n\n if (!colorPalette.colors) {\n alert('Color palette missing colors.')\n return\n }\n\n if (\n colorPalette.colors.node_slot &&\n typeof colorPalette.colors.node_slot !== 'object'\n ) {\n alert('Invalid color palette colors.node_slot.')\n return\n }\n\n const customColorPalettes = getCustomColorPalettes()\n customColorPalettes[colorPalette.id] = colorPalette\n setCustomColorPalettes(customColorPalettes)\n\n for (const option of els.select.childNodes) {\n if (\n (option as HTMLOptionElement).value ===\n 'custom_' + colorPalette.id\n ) {\n els.select.removeChild(option)\n }\n }\n\n els.select.append(\n $el('option', {\n textContent: colorPalette.name + ' (custom)',\n value: 'custom_' + colorPalette.id,\n selected: true\n })\n )\n\n setColorPalette('custom_' + colorPalette.id)\n await loadColorPalette(colorPalette)\n }\n\n const deleteCustomColorPalette = async (colorPaletteId) => {\n const customColorPalettes = getCustomColorPalettes()\n delete customColorPalettes[colorPaletteId]\n setCustomColorPalettes(customColorPalettes)\n\n for (const opt of els.select.childNodes) {\n const option = opt as HTMLOptionElement\n if (option.value === defaultColorPaletteId) {\n option.selected = true\n }\n\n if (option.value === 'custom_' + colorPaletteId) {\n els.select.removeChild(option)\n }\n }\n\n setColorPalette(defaultColorPaletteId)\n await loadColorPalette(getColorPalette())\n }\n\n const loadColorPalette = async (colorPalette: Palette) => {\n colorPalette = await completeColorPalette(colorPalette)\n if (colorPalette.colors) {\n // Sets the colors of node slots and links\n if (colorPalette.colors.node_slot) {\n Object.assign(\n // @ts-expect-error\n app.canvas.default_connection_color_byType,\n colorPalette.colors.node_slot\n )\n Object.assign(\n LGraphCanvas.link_type_colors,\n colorPalette.colors.node_slot\n )\n }\n // Sets the colors of the LiteGraph objects\n if (colorPalette.colors.litegraph_base) {\n // Everything updates correctly in the loop, except the Node Title and Link Color for some reason\n app.canvas.node_title_color =\n colorPalette.colors.litegraph_base.NODE_TITLE_COLOR\n app.canvas.default_link_color =\n colorPalette.colors.litegraph_base.LINK_COLOR\n\n for (const key in colorPalette.colors.litegraph_base) {\n if (\n colorPalette.colors.litegraph_base.hasOwnProperty(key) &&\n LiteGraph.hasOwnProperty(key)\n ) {\n LiteGraph[key] = colorPalette.colors.litegraph_base[key]\n }\n }\n }\n // Sets the color of ComfyUI elements\n if (colorPalette.colors.comfy_base) {\n const rootStyle = document.documentElement.style\n for (const key in colorPalette.colors.comfy_base) {\n rootStyle.setProperty(\n '--' + key,\n colorPalette.colors.comfy_base[key]\n )\n }\n }\n app.canvas.draw(true, true)\n }\n }\n\n const getColorPalette = (colorPaletteId?) => {\n if (!colorPaletteId) {\n colorPaletteId = app.ui.settings.getSettingValue(\n id,\n defaultColorPaletteId\n )\n }\n\n if (colorPaletteId.startsWith('custom_')) {\n colorPaletteId = colorPaletteId.substr(7)\n let customColorPalettes = getCustomColorPalettes()\n if (customColorPalettes[colorPaletteId]) {\n return customColorPalettes[colorPaletteId]\n }\n }\n\n return colorPalettes[colorPaletteId]\n }\n\n const setColorPalette = (colorPaletteId) => {\n app.ui.settings.setSettingValue(id, colorPaletteId)\n }\n\n const fileInput = $el('input', {\n type: 'file',\n accept: '.json',\n style: { display: 'none' },\n parent: document.body,\n onchange: () => {\n const file = fileInput.files[0]\n if (file.type === 'application/json' || file.name.endsWith('.json')) {\n const reader = new FileReader()\n reader.onload = async () => {\n await addCustomColorPalette(JSON.parse(reader.result as string))\n }\n reader.readAsText(file)\n }\n }\n }) as HTMLInputElement\n\n app.ui.settings.addSetting({\n id,\n category: ['Comfy', 'ColorPalette'],\n name: 'Color Palette',\n type: (name, setter, value) => {\n const options = [\n ...Object.values(colorPalettes).map((c) =>\n $el('option', {\n textContent: c.name,\n value: c.id,\n selected: c.id === value\n })\n ),\n ...Object.values(getCustomColorPalettes()).map((c) =>\n $el('option', {\n textContent: `${c.name} (custom)`,\n value: `custom_${c.id}`,\n selected: `custom_${c.id}` === value\n })\n )\n ]\n\n els.select = $el(\n 'select',\n {\n style: {\n marginBottom: '0.15rem',\n width: '100%'\n },\n onchange: (e) => {\n setter(e.target.value)\n }\n },\n options\n ) as HTMLSelectElement\n\n return $el('tr', [\n $el('td', [\n els.select,\n $el(\n 'div',\n {\n style: {\n display: 'grid',\n gap: '4px',\n gridAutoFlow: 'column'\n }\n },\n [\n $el('input', {\n type: 'button',\n value: 'Export',\n onclick: async () => {\n const colorPaletteId = app.ui.settings.getSettingValue(\n id,\n defaultColorPaletteId\n )\n const colorPalette = await completeColorPalette(\n getColorPalette(colorPaletteId)\n )\n const json = JSON.stringify(colorPalette, null, 2) // convert the data to a JSON string\n const blob = new Blob([json], { type: 'application/json' })\n const url = URL.createObjectURL(blob)\n const a = $el('a', {\n href: url,\n download: colorPaletteId + '.json',\n style: { display: 'none' },\n parent: document.body\n })\n a.click()\n setTimeout(function () {\n a.remove()\n window.URL.revokeObjectURL(url)\n }, 0)\n }\n }),\n $el('input', {\n type: 'button',\n value: 'Import',\n onclick: () => {\n fileInput.click()\n }\n }),\n $el('input', {\n type: 'button',\n value: 'Template',\n onclick: async () => {\n const colorPalette = await getColorPaletteTemplate()\n const json = JSON.stringify(colorPalette, null, 2) // convert the data to a JSON string\n const blob = new Blob([json], { type: 'application/json' })\n const url = URL.createObjectURL(blob)\n const a = $el('a', {\n href: url,\n download: 'color_palette.json',\n style: { display: 'none' },\n parent: document.body\n })\n a.click()\n setTimeout(function () {\n a.remove()\n window.URL.revokeObjectURL(url)\n }, 0)\n }\n }),\n $el('input', {\n type: 'button',\n value: 'Delete',\n onclick: async () => {\n let colorPaletteId = app.ui.settings.getSettingValue(\n id,\n defaultColorPaletteId\n )\n\n if (colorPalettes[colorPaletteId]) {\n alert('You cannot delete a built-in color palette.')\n return\n }\n\n if (colorPaletteId.startsWith('custom_')) {\n colorPaletteId = colorPaletteId.substr(7)\n }\n\n await deleteCustomColorPalette(colorPaletteId)\n }\n })\n ]\n )\n ])\n ])\n },\n defaultValue: defaultColorPaletteId,\n async onChange(value) {\n if (!value) {\n return\n }\n\n let palette = colorPalettes[value]\n if (palette) {\n await loadColorPalette(palette)\n } else if (value.startsWith('custom_')) {\n value = value.substr(7)\n let customColorPalettes = getCustomColorPalettes()\n if (customColorPalettes[value]) {\n palette = customColorPalettes[value]\n await loadColorPalette(customColorPalettes[value])\n }\n }\n\n let { BACKGROUND_IMAGE, CLEAR_BACKGROUND_COLOR } =\n palette.colors.litegraph_base\n if (\n BACKGROUND_IMAGE === undefined ||\n CLEAR_BACKGROUND_COLOR === undefined\n ) {\n const base = colorPalettes['dark'].colors.litegraph_base\n BACKGROUND_IMAGE = base.BACKGROUND_IMAGE\n CLEAR_BACKGROUND_COLOR = base.CLEAR_BACKGROUND_COLOR\n }\n // @ts-expect-error\n // litegraph.extensions.js\n app.canvas.updateBackground(BACKGROUND_IMAGE, CLEAR_BACKGROUND_COLOR)\n }\n })\n }\n})\n","import { LiteGraph, LGraphCanvas } from '@comfyorg/litegraph'\nimport { app } from '../../scripts/app'\n\n// Adds filtering to combo context menus\n\nconst ext = {\n name: 'Comfy.ContextMenuFilter',\n init() {\n const ctxMenu = LiteGraph.ContextMenu\n // @ts-expect-error\n // TODO Very hacky way to modify Litegraph behaviour. Fix ctx later.\n LiteGraph.ContextMenu = function (values, options) {\n const ctx = new ctxMenu(values, options)\n\n // If we are a dark menu (only used for combo boxes) then add a filter input\n if (options?.className === 'dark' && values?.length > 4) {\n const filter = document.createElement('input')\n filter.classList.add('comfy-context-menu-filter')\n filter.placeholder = 'Filter list'\n ctx.root.prepend(filter)\n\n const items = Array.from(\n ctx.root.querySelectorAll('.litemenu-entry')\n ) as HTMLElement[]\n let displayedItems = [...items]\n let itemCount = displayedItems.length\n\n // We must request an animation frame for the current node of the active canvas to update.\n requestAnimationFrame(() => {\n // @ts-expect-error\n const currentNode = LGraphCanvas.active_canvas.current_node\n const clickedComboValue = currentNode.widgets\n ?.filter(\n (w) =>\n w.type === 'combo' && w.options.values.length === values.length\n )\n .find((w) =>\n w.options.values.every((v, i) => v === values[i])\n )?.value\n\n let selectedIndex = clickedComboValue\n ? values.findIndex((v) => v === clickedComboValue)\n : 0\n if (selectedIndex < 0) {\n selectedIndex = 0\n }\n let selectedItem = displayedItems[selectedIndex]\n updateSelected()\n\n // Apply highlighting to the selected item\n function updateSelected() {\n selectedItem?.style.setProperty('background-color', '')\n selectedItem?.style.setProperty('color', '')\n selectedItem = displayedItems[selectedIndex]\n selectedItem?.style.setProperty(\n 'background-color',\n '#ccc',\n 'important'\n )\n selectedItem?.style.setProperty('color', '#000', 'important')\n }\n\n const positionList = () => {\n const rect = ctx.root.getBoundingClientRect()\n\n // If the top is off-screen then shift the element with scaling applied\n if (rect.top < 0) {\n const scale =\n 1 -\n ctx.root.getBoundingClientRect().height / ctx.root.clientHeight\n const shift = (ctx.root.clientHeight * scale) / 2\n ctx.root.style.top = -shift + 'px'\n }\n }\n\n // Arrow up/down to select items\n filter.addEventListener('keydown', (event) => {\n switch (event.key) {\n case 'ArrowUp':\n event.preventDefault()\n if (selectedIndex === 0) {\n selectedIndex = itemCount - 1\n } else {\n selectedIndex--\n }\n updateSelected()\n break\n case 'ArrowRight':\n event.preventDefault()\n selectedIndex = itemCount - 1\n updateSelected()\n break\n case 'ArrowDown':\n event.preventDefault()\n if (selectedIndex === itemCount - 1) {\n selectedIndex = 0\n } else {\n selectedIndex++\n }\n updateSelected()\n break\n case 'ArrowLeft':\n event.preventDefault()\n selectedIndex = 0\n updateSelected()\n break\n case 'Enter':\n selectedItem?.click()\n break\n case 'Escape':\n ctx.close()\n break\n }\n })\n\n filter.addEventListener('input', () => {\n // Hide all items that don't match our filter\n const term = filter.value.toLocaleLowerCase()\n // When filtering, recompute which items are visible for arrow up/down and maintain selection.\n displayedItems = items.filter((item) => {\n const isVisible =\n !term || item.textContent.toLocaleLowerCase().includes(term)\n item.style.display = isVisible ? 'block' : 'none'\n return isVisible\n })\n\n selectedIndex = 0\n if (displayedItems.includes(selectedItem)) {\n selectedIndex = displayedItems.findIndex(\n (d) => d === selectedItem\n )\n }\n itemCount = displayedItems.length\n\n updateSelected()\n\n // If we have an event then we can try and position the list under the source\n if (options.event) {\n let top = options.event.clientY - 10\n\n const bodyRect = document.body.getBoundingClientRect()\n const rootRect = ctx.root.getBoundingClientRect()\n if (\n bodyRect.height &&\n top > bodyRect.height - rootRect.height - 10\n ) {\n top = Math.max(0, bodyRect.height - rootRect.height - 10)\n }\n\n ctx.root.style.top = top + 'px'\n positionList()\n }\n })\n\n requestAnimationFrame(() => {\n // Focus the filter box when opening\n filter.focus()\n\n positionList()\n })\n })\n }\n\n return ctx\n }\n\n LiteGraph.ContextMenu.prototype = ctxMenu.prototype\n }\n}\n\napp.registerExtension(ext)\n","import { app } from '../../scripts/app'\n\n// Allows for simple dynamic prompt replacement\n// Inputs in the format {a|b} will have a random value of a or b chosen when the prompt is queued.\n\n/*\n * Strips C-style line and block comments from a string\n */\nfunction stripComments(str) {\n return str.replace(/\\/\\*[\\s\\S]*?\\*\\/|\\/\\/.*/g, '')\n}\n\napp.registerExtension({\n name: 'Comfy.DynamicPrompts',\n nodeCreated(node) {\n if (node.widgets) {\n // Locate dynamic prompt text widgets\n // Include any widgets with dynamicPrompts set to true, and customtext\n const widgets = node.widgets.filter((n) => n.dynamicPrompts)\n for (const widget of widgets) {\n // Override the serialization of the value to resolve dynamic prompts for all widgets supporting it in this node\n widget.serializeValue = (workflowNode, widgetIndex) => {\n let prompt = stripComments(widget.value)\n while (\n prompt.replace('\\\\{', '').includes('{') &&\n prompt.replace('\\\\}', '').includes('}')\n ) {\n const startIndex = prompt.replace('\\\\{', '00').indexOf('{')\n const endIndex = prompt.replace('\\\\}', '00').indexOf('}')\n\n const optionsString = prompt.substring(startIndex + 1, endIndex)\n const options = optionsString.split('|')\n\n const randomIndex = Math.floor(Math.random() * options.length)\n const randomOption = options[randomIndex]\n\n prompt =\n prompt.substring(0, startIndex) +\n randomOption +\n prompt.substring(endIndex + 1)\n }\n\n // Overwrite the value in the serialized workflow pnginfo\n if (workflowNode?.widgets_values)\n workflowNode.widgets_values[widgetIndex] = prompt\n\n return prompt\n }\n }\n }\n }\n})\n","import { app } from '../../scripts/app'\n\n// Allows you to edit the attention weight by holding ctrl (or cmd) and using the up/down arrow keys\n\napp.registerExtension({\n name: 'Comfy.EditAttention',\n init() {\n const editAttentionDelta = app.ui.settings.addSetting({\n id: 'Comfy.EditAttention.Delta',\n name: 'Ctrl+up/down precision',\n type: 'slider',\n attrs: {\n min: 0.01,\n max: 0.5,\n step: 0.01\n },\n defaultValue: 0.05\n })\n\n function incrementWeight(weight, delta) {\n const floatWeight = parseFloat(weight)\n if (isNaN(floatWeight)) return weight\n const newWeight = floatWeight + delta\n return String(Number(newWeight.toFixed(10)))\n }\n\n function findNearestEnclosure(text, cursorPos) {\n let start = cursorPos,\n end = cursorPos\n let openCount = 0,\n closeCount = 0\n\n // Find opening parenthesis before cursor\n while (start >= 0) {\n start--\n if (text[start] === '(' && openCount === closeCount) break\n if (text[start] === '(') openCount++\n if (text[start] === ')') closeCount++\n }\n if (start < 0) return false\n\n openCount = 0\n closeCount = 0\n\n // Find closing parenthesis after cursor\n while (end < text.length) {\n if (text[end] === ')' && openCount === closeCount) break\n if (text[end] === '(') openCount++\n if (text[end] === ')') closeCount++\n end++\n }\n if (end === text.length) return false\n\n return { start: start + 1, end: end }\n }\n\n function addWeightToParentheses(text) {\n const parenRegex = /^\\((.*)\\)$/\n const parenMatch = text.match(parenRegex)\n\n const floatRegex = /:([+-]?(\\d*\\.)?\\d+([eE][+-]?\\d+)?)/\n const floatMatch = text.match(floatRegex)\n\n if (parenMatch && !floatMatch) {\n return `(${parenMatch[1]}:1.0)`\n } else {\n return text\n }\n }\n\n function editAttention(event: KeyboardEvent) {\n // @ts-expect-error Runtime narrowing not impl.\n const inputField: HTMLTextAreaElement = event.composedPath()[0]\n const delta = parseFloat(editAttentionDelta.value)\n\n if (inputField.tagName !== 'TEXTAREA') return\n if (!(event.key === 'ArrowUp' || event.key === 'ArrowDown')) return\n if (!event.ctrlKey && !event.metaKey) return\n\n event.preventDefault()\n\n let start = inputField.selectionStart\n let end = inputField.selectionEnd\n let selectedText = inputField.value.substring(start, end)\n\n // If there is no selection, attempt to find the nearest enclosure, or select the current word\n if (!selectedText) {\n const nearestEnclosure = findNearestEnclosure(inputField.value, start)\n if (nearestEnclosure) {\n start = nearestEnclosure.start\n end = nearestEnclosure.end\n selectedText = inputField.value.substring(start, end)\n } else {\n // Select the current word, find the start and end of the word\n const delimiters = ' .,\\\\/!?%^*;:{}=-_`~()\\r\\n\\t'\n\n while (\n !delimiters.includes(inputField.value[start - 1]) &&\n start > 0\n ) {\n start--\n }\n\n while (\n !delimiters.includes(inputField.value[end]) &&\n end < inputField.value.length\n ) {\n end++\n }\n\n selectedText = inputField.value.substring(start, end)\n if (!selectedText) return\n }\n }\n\n // If the selection ends with a space, remove it\n if (selectedText[selectedText.length - 1] === ' ') {\n selectedText = selectedText.substring(0, selectedText.length - 1)\n end -= 1\n }\n\n // If there are parentheses left and right of the selection, select them\n if (\n inputField.value[start - 1] === '(' &&\n inputField.value[end] === ')'\n ) {\n start -= 1\n end += 1\n selectedText = inputField.value.substring(start, end)\n }\n\n // If the selection is not enclosed in parentheses, add them\n if (\n selectedText[0] !== '(' ||\n selectedText[selectedText.length - 1] !== ')'\n ) {\n selectedText = `(${selectedText})`\n }\n\n // If the selection does not have a weight, add a weight of 1.0\n selectedText = addWeightToParentheses(selectedText)\n\n // Increment the weight\n const weightDelta = event.key === 'ArrowUp' ? delta : -delta\n const updatedText = selectedText.replace(\n /\\((.*):([+-]?\\d+(?:\\.\\d+)?)\\)/,\n (match, text, weight) => {\n weight = incrementWeight(weight, weightDelta)\n if (weight == 1) {\n return text\n } else {\n return `(${text}:${weight})`\n }\n }\n )\n\n inputField.setSelectionRange(start, end)\n // Intentional use of deprecated: https://developer.mozilla.org/docs/Web/API/Document/execCommand#using_inserttext\n document.execCommand('insertText', false, updatedText)\n inputField.setSelectionRange(start, start + updatedText.length)\n }\n window.addEventListener('keydown', editAttention)\n }\n})\n","import { ComfyWidgets, addValueControlWidgets } from '../../scripts/widgets'\nimport { app } from '../../scripts/app'\nimport { applyTextReplacements } from '../../scripts/utils'\nimport { LiteGraph, LGraphNode } from '@comfyorg/litegraph'\nimport type { INodeInputSlot, IWidget } from '@comfyorg/litegraph'\n\nconst CONVERTED_TYPE = 'converted-widget'\nconst VALID_TYPES = ['STRING', 'combo', 'number', 'toggle', 'BOOLEAN']\nconst CONFIG = Symbol()\nconst GET_CONFIG = Symbol()\nconst TARGET = Symbol() // Used for reroutes to specify the real target widget\n\ninterface PrimitiveNode extends LGraphNode {}\n\nconst replacePropertyName = 'Run widget replace on values'\nclass PrimitiveNode extends LGraphNode {\n controlValues: any[]\n lastType: string\n static category: string\n constructor(title?: string) {\n super(title)\n this.addOutput('connect to widget input', '*')\n this.serialize_widgets = true\n this.isVirtualNode = true\n\n if (!this.properties || !(replacePropertyName in this.properties)) {\n this.addProperty(replacePropertyName, false, 'boolean')\n }\n }\n\n applyToGraph(extraLinks = []) {\n if (!this.outputs[0].links?.length) return\n\n function get_links(node) {\n let links = []\n for (const l of node.outputs[0].links) {\n const linkInfo = app.graph.links[l]\n const n = node.graph.getNodeById(linkInfo.target_id)\n if (n.type == 'Reroute') {\n links = links.concat(get_links(n))\n } else {\n links.push(l)\n }\n }\n return links\n }\n\n let links = [\n ...get_links(this).map((l) => app.graph.links[l]),\n ...extraLinks\n ]\n let v = this.widgets?.[0].value\n if (v && this.properties[replacePropertyName]) {\n v = applyTextReplacements(app, v)\n }\n\n // For each output link copy our value over the original widget value\n for (const linkInfo of links) {\n const node = this.graph.getNodeById(linkInfo.target_id)\n const input = node.inputs[linkInfo.target_slot]\n let widget\n if (input.widget[TARGET]) {\n widget = input.widget[TARGET]\n } else {\n const widgetName = (input.widget as { name: string }).name\n if (widgetName) {\n widget = node.widgets.find((w) => w.name === widgetName)\n }\n }\n\n if (widget) {\n widget.value = v\n if (widget.callback) {\n widget.callback(\n widget.value,\n app.canvas,\n node,\n app.canvas.graph_mouse,\n {}\n )\n }\n }\n }\n }\n\n refreshComboInNode() {\n const widget = this.widgets?.[0]\n if (widget?.type === 'combo') {\n widget.options.values = this.outputs[0].widget[GET_CONFIG]()[0]\n\n if (!widget.options.values.includes(widget.value)) {\n widget.value = widget.options.values[0]\n ;(widget.callback as Function)(widget.value)\n }\n }\n }\n\n onAfterGraphConfigured() {\n if (this.outputs[0].links?.length && !this.widgets?.length) {\n // TODO: Review this check\n // @ts-expect-error\n if (!this.#onFirstConnection()) return\n\n // Populate widget values from config data\n if (this.widgets) {\n for (let i = 0; i < this.widgets_values.length; i++) {\n const w = this.widgets[i]\n if (w) {\n w.value = this.widgets_values[i]\n }\n }\n }\n\n // Merge values if required\n this.#mergeWidgetConfig()\n }\n }\n\n onConnectionsChange(_, index, connected) {\n if (app.configuringGraph) {\n // Dont run while the graph is still setting up\n return\n }\n\n const links = this.outputs[0].links\n if (connected) {\n if (links?.length && !this.widgets?.length) {\n this.#onFirstConnection()\n }\n } else {\n // We may have removed a link that caused the constraints to change\n this.#mergeWidgetConfig()\n\n if (!links?.length) {\n this.onLastDisconnect()\n }\n }\n }\n\n onConnectOutput(slot, type, input, target_node, target_slot) {\n // Fires before the link is made allowing us to reject it if it isn't valid\n // No widget, we cant connect\n if (!input.widget) {\n if (!(input.type in ComfyWidgets)) return false\n }\n\n if (this.outputs[slot].links?.length) {\n const valid = this.#isValidConnection(input)\n if (valid) {\n // On connect of additional outputs, copy our value to their widget\n this.applyToGraph([{ target_id: target_node.id, target_slot }])\n }\n return valid\n }\n }\n\n #onFirstConnection(recreating?: boolean) {\n // First connection can fire before the graph is ready on initial load so random things can be missing\n if (!this.outputs[0].links) {\n this.onLastDisconnect()\n return\n }\n const linkId = this.outputs[0].links[0]\n const link = this.graph.links[linkId]\n if (!link) return\n\n const theirNode = this.graph.getNodeById(link.target_id)\n if (!theirNode || !theirNode.inputs) return\n\n const input = theirNode.inputs[link.target_slot]\n if (!input) return\n\n let widget\n if (!input.widget) {\n if (!(input.type in ComfyWidgets)) return\n widget = { name: input.name, [GET_CONFIG]: () => [input.type, {}] } //fake widget\n } else {\n widget = input.widget\n }\n\n const config = widget[GET_CONFIG]?.()\n if (!config) return\n\n const { type } = getWidgetType(config)\n // Update our output to restrict to the widget type\n this.outputs[0].type = type\n this.outputs[0].name = type\n this.outputs[0].widget = widget\n\n this.#createWidget(\n widget[CONFIG] ?? config,\n theirNode,\n widget.name,\n recreating,\n widget[TARGET]\n )\n }\n\n #createWidget(inputData, node, widgetName, recreating, targetWidget) {\n let type = inputData[0]\n\n if (type instanceof Array) {\n type = 'COMBO'\n }\n\n // Store current size as addWidget resizes the node\n const size = this.size\n let widget\n if (type in ComfyWidgets) {\n widget = (ComfyWidgets[type](this, 'value', inputData, app) || {}).widget\n } else {\n widget = this.addWidget(type, 'value', null, () => {}, {})\n }\n\n if (targetWidget) {\n widget.value = targetWidget.value\n } else if (node?.widgets && widget) {\n const theirWidget = node.widgets.find((w) => w.name === widgetName)\n if (theirWidget) {\n widget.value = theirWidget.value\n }\n }\n\n if (\n !inputData?.[1]?.control_after_generate &&\n (widget.type === 'number' || widget.type === 'combo')\n ) {\n let control_value = this.widgets_values?.[1]\n if (!control_value) {\n control_value = 'fixed'\n }\n addValueControlWidgets(\n this,\n widget,\n control_value as string,\n undefined,\n inputData\n )\n let filter = this.widgets_values?.[2]\n if (filter && this.widgets.length === 3) {\n this.widgets[2].value = filter\n }\n }\n\n // Restore any saved control values\n const controlValues = this.controlValues\n if (\n this.lastType === this.widgets[0].type &&\n controlValues?.length === this.widgets.length - 1\n ) {\n for (let i = 0; i < controlValues.length; i++) {\n this.widgets[i + 1].value = controlValues[i]\n }\n }\n\n // When our value changes, update other widgets to reflect our changes\n // e.g. so LoadImage shows correct image\n const callback = widget.callback\n const self = this\n widget.callback = function () {\n const r = callback ? callback.apply(this, arguments) : undefined\n self.applyToGraph()\n return r\n }\n\n // Use the biggest dimensions in case the widgets caused the node to grow\n this.size = [\n Math.max(this.size[0], size[0]),\n Math.max(this.size[1], size[1])\n ]\n\n if (!recreating) {\n // Grow our node more if required\n const sz = this.computeSize()\n if (this.size[0] < sz[0]) {\n this.size[0] = sz[0]\n }\n if (this.size[1] < sz[1]) {\n this.size[1] = sz[1]\n }\n\n requestAnimationFrame(() => {\n if (this.onResize) {\n this.onResize(this.size)\n }\n })\n }\n }\n\n recreateWidget() {\n const values = this.widgets?.map((w) => w.value)\n this.#removeWidgets()\n this.#onFirstConnection(true)\n if (values?.length) {\n for (let i = 0; i < this.widgets?.length; i++)\n this.widgets[i].value = values[i]\n }\n return this.widgets?.[0]\n }\n\n #mergeWidgetConfig() {\n // Merge widget configs if the node has multiple outputs\n const output = this.outputs[0]\n const links = output.links\n\n const hasConfig = !!output.widget[CONFIG]\n if (hasConfig) {\n delete output.widget[CONFIG]\n }\n\n if (links?.length < 2 && hasConfig) {\n // Copy the widget options from the source\n if (links.length) {\n this.recreateWidget()\n }\n\n return\n }\n\n const config1 = output.widget[GET_CONFIG]()\n const isNumber = config1[0] === 'INT' || config1[0] === 'FLOAT'\n if (!isNumber) return\n\n for (const linkId of links) {\n const link = app.graph.links[linkId]\n if (!link) continue // Can be null when removing a node\n\n const theirNode = app.graph.getNodeById(link.target_id)\n const theirInput = theirNode.inputs[link.target_slot]\n\n // Call is valid connection so it can merge the configs when validating\n this.#isValidConnection(theirInput, hasConfig)\n }\n }\n\n #isValidConnection(input: INodeInputSlot, forceUpdate?: boolean) {\n // Only allow connections where the configs match\n const output = this.outputs[0]\n const config2 = input.widget[GET_CONFIG]()\n return !!mergeIfValid.call(\n this,\n output,\n config2,\n forceUpdate,\n this.recreateWidget\n )\n }\n\n #removeWidgets() {\n if (this.widgets) {\n // Allow widgets to cleanup\n for (const w of this.widgets) {\n if (w.onRemove) {\n w.onRemove()\n }\n }\n\n // Temporarily store the current values in case the node is being recreated\n // e.g. by group node conversion\n this.controlValues = []\n this.lastType = this.widgets[0]?.type\n for (let i = 1; i < this.widgets.length; i++) {\n this.controlValues.push(this.widgets[i].value)\n }\n setTimeout(() => {\n delete this.lastType\n delete this.controlValues\n }, 15)\n this.widgets.length = 0\n }\n }\n\n onLastDisconnect() {\n // We cant remove + re-add the output here as if you drag a link over the same link\n // it removes, then re-adds, causing it to break\n this.outputs[0].type = '*'\n this.outputs[0].name = 'connect to widget input'\n delete this.outputs[0].widget\n\n this.#removeWidgets()\n }\n}\n\nexport function getWidgetConfig(slot) {\n return slot.widget[CONFIG] ?? slot.widget[GET_CONFIG]()\n}\n\nfunction getConfig(widgetName) {\n const { nodeData } = this.constructor\n return (\n nodeData?.input?.required?.[widgetName] ??\n nodeData?.input?.optional?.[widgetName]\n )\n}\n\nfunction isConvertibleWidget(widget, config) {\n return (\n (VALID_TYPES.includes(widget.type) || VALID_TYPES.includes(config[0])) &&\n !widget.options?.forceInput\n )\n}\n\nfunction hideWidget(node, widget, suffix = '') {\n if (widget.type?.startsWith(CONVERTED_TYPE)) return\n widget.origType = widget.type\n widget.origComputeSize = widget.computeSize\n widget.origSerializeValue = widget.serializeValue\n widget.computeSize = () => [0, -4] // -4 is due to the gap litegraph adds between widgets automatically\n widget.type = CONVERTED_TYPE + suffix\n widget.serializeValue = () => {\n // Prevent serializing the widget if we have no input linked\n if (!node.inputs) {\n return undefined\n }\n let node_input = node.inputs.find((i) => i.widget?.name === widget.name)\n\n if (!node_input || !node_input.link) {\n return undefined\n }\n return widget.origSerializeValue\n ? widget.origSerializeValue()\n : widget.value\n }\n\n // Hide any linked widgets, e.g. seed+seedControl\n if (widget.linkedWidgets) {\n for (const w of widget.linkedWidgets) {\n hideWidget(node, w, ':' + widget.name)\n }\n }\n}\n\nfunction showWidget(widget) {\n widget.type = widget.origType\n widget.computeSize = widget.origComputeSize\n widget.serializeValue = widget.origSerializeValue\n\n delete widget.origType\n delete widget.origComputeSize\n delete widget.origSerializeValue\n\n // Hide any linked widgets, e.g. seed+seedControl\n if (widget.linkedWidgets) {\n for (const w of widget.linkedWidgets) {\n showWidget(w)\n }\n }\n}\n\nfunction convertToInput(node, widget, config) {\n hideWidget(node, widget)\n\n const { type } = getWidgetType(config)\n\n // Add input and store widget config for creating on primitive node\n const sz = node.size\n node.addInput(widget.name, type, {\n widget: { name: widget.name, [GET_CONFIG]: () => config }\n })\n\n for (const widget of node.widgets) {\n widget.last_y += LiteGraph.NODE_SLOT_HEIGHT\n }\n\n // Restore original size but grow if needed\n node.setSize([Math.max(sz[0], node.size[0]), Math.max(sz[1], node.size[1])])\n}\n\nfunction convertToWidget(node, widget) {\n showWidget(widget)\n const sz = node.size\n node.removeInput(node.inputs.findIndex((i) => i.widget?.name === widget.name))\n\n for (const widget of node.widgets) {\n widget.last_y -= LiteGraph.NODE_SLOT_HEIGHT\n }\n\n // Restore original size but grow if needed\n node.setSize([Math.max(sz[0], node.size[0]), Math.max(sz[1], node.size[1])])\n}\n\nfunction getWidgetType(config) {\n // Special handling for COMBO so we restrict links based on the entries\n let type = config[0]\n if (type instanceof Array) {\n type = 'COMBO'\n }\n return { type }\n}\n\nfunction isValidCombo(combo, obj) {\n // New input isnt a combo\n if (!(obj instanceof Array)) {\n console.log(`connection rejected: tried to connect combo to ${obj}`)\n return false\n }\n // New input combo has a different size\n if (combo.length !== obj.length) {\n console.log(`connection rejected: combo lists dont match`)\n return false\n }\n // New input combo has different elements\n if (combo.find((v, i) => obj[i] !== v)) {\n console.log(`connection rejected: combo lists dont match`)\n return false\n }\n\n return true\n}\n\nfunction isPrimitiveNode(node: LGraphNode): node is PrimitiveNode {\n return node.type === 'PrimitiveNode'\n}\n\nexport function setWidgetConfig(slot, config, target?: IWidget) {\n if (!slot.widget) return\n if (config) {\n slot.widget[GET_CONFIG] = () => config\n slot.widget[TARGET] = target\n } else {\n delete slot.widget\n }\n\n if (slot.link) {\n const link = app.graph.links[slot.link]\n if (link) {\n const originNode = app.graph.getNodeById(link.origin_id)\n if (isPrimitiveNode(originNode)) {\n if (config) {\n originNode.recreateWidget()\n } else if (!app.configuringGraph) {\n originNode.disconnectOutput(0)\n originNode.onLastDisconnect()\n }\n }\n }\n }\n}\n\nexport function mergeIfValid(\n output,\n config2,\n forceUpdate?: boolean,\n recreateWidget?: () => void,\n config1?: unknown\n) {\n if (!config1) {\n config1 = output.widget[CONFIG] ?? output.widget[GET_CONFIG]()\n }\n\n if (config1[0] instanceof Array) {\n if (!isValidCombo(config1[0], config2[0])) return\n } else if (config1[0] !== config2[0]) {\n // Types dont match\n console.log(`connection rejected: types dont match`, config1[0], config2[0])\n return\n }\n\n const keys = new Set([\n ...Object.keys(config1[1] ?? {}),\n ...Object.keys(config2[1] ?? {})\n ])\n\n let customConfig\n const getCustomConfig = () => {\n if (!customConfig) {\n if (typeof structuredClone === 'undefined') {\n customConfig = JSON.parse(JSON.stringify(config1[1] ?? {}))\n } else {\n customConfig = structuredClone(config1[1] ?? {})\n }\n }\n return customConfig\n }\n\n const isNumber = config1[0] === 'INT' || config1[0] === 'FLOAT'\n for (const k of keys.values()) {\n if (\n k !== 'default' &&\n k !== 'forceInput' &&\n k !== 'defaultInput' &&\n k !== 'control_after_generate' &&\n k !== 'multiline' &&\n k !== 'tooltip'\n ) {\n let v1 = config1[1][k]\n let v2 = config2[1]?.[k]\n\n if (v1 === v2 || (!v1 && !v2)) continue\n\n if (isNumber) {\n if (k === 'min') {\n const theirMax = config2[1]?.['max']\n if (theirMax != null && v1 > theirMax) {\n console.log('connection rejected: min > max', v1, theirMax)\n return\n }\n getCustomConfig()[k] =\n v1 == null ? v2 : v2 == null ? v1 : Math.max(v1, v2)\n continue\n } else if (k === 'max') {\n const theirMin = config2[1]?.['min']\n if (theirMin != null && v1 < theirMin) {\n console.log('connection rejected: max < min', v1, theirMin)\n return\n }\n getCustomConfig()[k] =\n v1 == null ? v2 : v2 == null ? v1 : Math.min(v1, v2)\n continue\n } else if (k === 'step') {\n let step\n if (v1 == null) {\n // No current step\n step = v2\n } else if (v2 == null) {\n // No new step\n step = v1\n } else {\n if (v1 < v2) {\n // Ensure v1 is larger for the mod\n const a = v2\n v2 = v1\n v1 = a\n }\n if (v1 % v2) {\n console.log(\n 'connection rejected: steps not divisible',\n 'current:',\n v1,\n 'new:',\n v2\n )\n return\n }\n\n step = v1\n }\n\n getCustomConfig()[k] = step\n continue\n }\n }\n\n console.log(`connection rejected: config ${k} values dont match`, v1, v2)\n return\n }\n }\n\n if (customConfig || forceUpdate) {\n if (customConfig) {\n output.widget[CONFIG] = [config1[0], customConfig]\n }\n\n const widget = recreateWidget?.call(this)\n // When deleting a node this can be null\n if (widget) {\n const min = widget.options.min\n const max = widget.options.max\n if (min != null && widget.value < min) widget.value = min\n if (max != null && widget.value > max) widget.value = max\n widget.callback(widget.value)\n }\n }\n\n return { customConfig }\n}\n\nlet useConversionSubmenusSetting\napp.registerExtension({\n name: 'Comfy.WidgetInputs',\n init() {\n useConversionSubmenusSetting = app.ui.settings.addSetting({\n id: 'Comfy.NodeInputConversionSubmenus',\n name: 'In the node context menu, place the entries that convert between input/widget in sub-menus.',\n type: 'boolean',\n defaultValue: true\n })\n },\n async beforeRegisterNodeDef(nodeType, nodeData, app) {\n // Add menu options to convert to/from widgets\n const origGetExtraMenuOptions = nodeType.prototype.getExtraMenuOptions\n nodeType.prototype.convertWidgetToInput = function (widget) {\n const config = getConfig.call(this, widget.name) ?? [\n widget.type,\n widget.options || {}\n ]\n if (!isConvertibleWidget(widget, config)) return false\n convertToInput(this, widget, config)\n return true\n }\n nodeType.prototype.getExtraMenuOptions = function (_, options) {\n const r = origGetExtraMenuOptions\n ? origGetExtraMenuOptions.apply(this, arguments)\n : undefined\n\n if (this.widgets) {\n let toInput = []\n let toWidget = []\n for (const w of this.widgets) {\n if (w.options?.forceInput) {\n continue\n }\n if (w.type === CONVERTED_TYPE) {\n toWidget.push({\n content: `Convert ${w.name} to widget`,\n callback: () => convertToWidget(this, w)\n })\n } else {\n const config = getConfig.call(this, w.name) ?? [\n w.type,\n w.options || {}\n ]\n if (isConvertibleWidget(w, config)) {\n toInput.push({\n content: `Convert ${w.name} to input`,\n callback: () => convertToInput(this, w, config)\n })\n }\n }\n }\n\n //Convert.. main menu\n if (toInput.length) {\n if (useConversionSubmenusSetting.value) {\n options.push({\n content: 'Convert Widget to Input',\n submenu: {\n options: toInput\n }\n })\n } else {\n options.push(...toInput, null)\n }\n }\n if (toWidget.length) {\n if (useConversionSubmenusSetting.value) {\n options.push({\n content: 'Convert Input to Widget',\n submenu: {\n options: toWidget\n }\n })\n } else {\n options.push(...toWidget, null)\n }\n }\n }\n\n return r\n }\n\n nodeType.prototype.onGraphConfigured = function () {\n if (!this.inputs) return\n\n for (const input of this.inputs) {\n if (input.widget) {\n if (!input.widget[GET_CONFIG]) {\n input.widget[GET_CONFIG] = () =>\n getConfig.call(this, input.widget.name)\n }\n\n // Cleanup old widget config\n if (input.widget.config) {\n if (input.widget.config[0] instanceof Array) {\n // If we are an old converted combo then replace the input type and the stored link data\n input.type = 'COMBO'\n\n const link = app.graph.links[input.link]\n if (link) {\n link.type = input.type\n }\n }\n delete input.widget.config\n }\n\n const w = this.widgets.find((w) => w.name === input.widget.name)\n if (w) {\n hideWidget(this, w)\n } else {\n convertToWidget(this, input)\n }\n }\n }\n }\n\n const origOnNodeCreated = nodeType.prototype.onNodeCreated\n nodeType.prototype.onNodeCreated = function () {\n const r = origOnNodeCreated ? origOnNodeCreated.apply(this) : undefined\n\n // When node is created, convert any force/default inputs\n if (!app.configuringGraph && this.widgets) {\n for (const w of this.widgets) {\n if (w?.options?.forceInput || w?.options?.defaultInput) {\n const config = getConfig.call(this, w.name) ?? [\n w.type,\n w.options || {}\n ]\n convertToInput(this, w, config)\n }\n }\n }\n\n return r\n }\n\n const origOnConfigure = nodeType.prototype.onConfigure\n nodeType.prototype.onConfigure = function () {\n const r = origOnConfigure\n ? origOnConfigure.apply(this, arguments)\n : undefined\n if (!app.configuringGraph && this.inputs) {\n // On copy + paste of nodes, ensure that widget configs are set up\n for (const input of this.inputs) {\n if (input.widget && !input.widget[GET_CONFIG]) {\n input.widget[GET_CONFIG] = () =>\n getConfig.call(this, input.widget.name)\n const w = this.widgets.find((w) => w.name === input.widget.name)\n if (w) {\n hideWidget(this, w)\n }\n }\n }\n }\n\n return r\n }\n\n function isNodeAtPos(pos) {\n for (const n of app.graph._nodes) {\n if (n.pos[0] === pos[0] && n.pos[1] === pos[1]) {\n return true\n }\n }\n return false\n }\n\n // Double click a widget input to automatically attach a primitive\n const origOnInputDblClick = nodeType.prototype.onInputDblClick\n const ignoreDblClick = Symbol()\n nodeType.prototype.onInputDblClick = function (slot) {\n const r = origOnInputDblClick\n ? origOnInputDblClick.apply(this, arguments)\n : undefined\n\n const input = this.inputs[slot]\n if (!input.widget || !input[ignoreDblClick]) {\n // Not a widget input or already handled input\n if (\n !(input.type in ComfyWidgets) &&\n !(input.widget[GET_CONFIG]?.()?.[0] instanceof Array)\n ) {\n return r //also Not a ComfyWidgets input or combo (do nothing)\n }\n }\n\n // Create a primitive node\n const node = LiteGraph.createNode('PrimitiveNode')\n app.graph.add(node)\n\n // Calculate a position that wont directly overlap another node\n const pos: [number, number] = [\n this.pos[0] - node.size[0] - 30,\n this.pos[1]\n ]\n while (isNodeAtPos(pos)) {\n pos[1] += LiteGraph.NODE_TITLE_HEIGHT\n }\n\n node.pos = pos\n node.connect(0, this, slot)\n node.title = input.name\n\n // Prevent adding duplicates due to triple clicking\n input[ignoreDblClick] = true\n setTimeout(() => {\n delete input[ignoreDblClick]\n }, 300)\n\n return r\n }\n\n // Prevent connecting COMBO lists to converted inputs that dont match types\n const onConnectInput = nodeType.prototype.onConnectInput\n nodeType.prototype.onConnectInput = function (\n targetSlot,\n type,\n output,\n originNode,\n originSlot\n ) {\n const v = onConnectInput?.(this, arguments)\n // Not a combo, ignore\n if (type !== 'COMBO') return v\n // Primitive output, allow that to handle\n if (originNode.outputs[originSlot].widget) return v\n\n // Ensure target is also a combo\n const targetCombo = this.inputs[targetSlot].widget?.[GET_CONFIG]?.()?.[0]\n if (!targetCombo || !(targetCombo instanceof Array)) return v\n\n // Check they match\n const originConfig =\n originNode.constructor?.nodeData?.output?.[originSlot]\n if (!originConfig || !isValidCombo(targetCombo, originConfig)) {\n return false\n }\n\n return v\n }\n },\n registerCustomNodes() {\n LiteGraph.registerNodeType(\n 'PrimitiveNode',\n Object.assign(PrimitiveNode, {\n title: 'Primitive'\n })\n )\n PrimitiveNode.category = 'utils'\n }\n})\n","import { $el, ComfyDialog } from '../../scripts/ui'\nimport { DraggableList } from '../../scripts/ui/draggableList'\nimport { GroupNodeConfig, GroupNodeHandler } from './groupNode'\nimport './groupNodeManage.css'\nimport { app, type ComfyApp } from '../../scripts/app'\nimport {\n LiteGraph,\n type LGraphNode,\n type LGraphNodeConstructor\n} from '@comfyorg/litegraph'\n\nconst ORDER: symbol = Symbol()\n\nfunction merge(target, source) {\n if (typeof target === 'object' && typeof source === 'object') {\n for (const key in source) {\n const sv = source[key]\n if (typeof sv === 'object') {\n let tv = target[key]\n if (!tv) tv = target[key] = {}\n merge(tv, source[key])\n } else {\n target[key] = sv\n }\n }\n }\n\n return target\n}\n\nexport class ManageGroupDialog extends ComfyDialog {\n tabs: Record<\n 'Inputs' | 'Outputs' | 'Widgets',\n { tab: HTMLAnchorElement; page: HTMLElement }\n >\n selectedNodeIndex: number | null | undefined\n selectedTab: keyof ManageGroupDialog['tabs'] = 'Inputs'\n selectedGroup: string | undefined\n modifications: Record<\n string,\n Record<\n string,\n Record<\n string,\n { name?: string | undefined; visible?: boolean | undefined }\n >\n >\n > = {}\n nodeItems: any[]\n app: ComfyApp\n groupNodeType: LGraphNodeConstructor\n groupNodeDef: any\n groupData: any\n\n innerNodesList: HTMLUListElement\n widgetsPage: HTMLElement\n inputsPage: HTMLElement\n outputsPage: HTMLElement\n draggable: any\n\n get selectedNodeInnerIndex() {\n return +this.nodeItems[this.selectedNodeIndex].dataset.nodeindex\n }\n\n constructor(app) {\n super()\n this.app = app\n this.element = $el('dialog.comfy-group-manage', {\n parent: document.body\n }) as HTMLDialogElement\n }\n\n changeTab(tab) {\n this.tabs[this.selectedTab].tab.classList.remove('active')\n this.tabs[this.selectedTab].page.classList.remove('active')\n this.tabs[tab].tab.classList.add('active')\n this.tabs[tab].page.classList.add('active')\n this.selectedTab = tab\n }\n\n changeNode(index, force?) {\n if (!force && this.selectedNodeIndex === index) return\n\n if (this.selectedNodeIndex != null) {\n this.nodeItems[this.selectedNodeIndex].classList.remove('selected')\n }\n this.nodeItems[index].classList.add('selected')\n this.selectedNodeIndex = index\n\n if (!this.buildInputsPage() && this.selectedTab === 'Inputs') {\n this.changeTab('Widgets')\n }\n if (!this.buildWidgetsPage() && this.selectedTab === 'Widgets') {\n this.changeTab('Outputs')\n }\n if (!this.buildOutputsPage() && this.selectedTab === 'Outputs') {\n this.changeTab('Inputs')\n }\n\n this.changeTab(this.selectedTab)\n }\n\n getGroupData() {\n this.groupNodeType =\n LiteGraph.registered_node_types['workflow/' + this.selectedGroup]\n this.groupNodeDef = this.groupNodeType.nodeData\n this.groupData = GroupNodeHandler.getGroupData(this.groupNodeType)\n }\n\n changeGroup(group, reset = true) {\n this.selectedGroup = group\n this.getGroupData()\n\n const nodes = this.groupData.nodeData.nodes\n this.nodeItems = nodes.map((n, i) =>\n $el(\n 'li.draggable-item',\n {\n dataset: {\n nodeindex: n.index + ''\n },\n onclick: () => {\n this.changeNode(i)\n }\n },\n [\n $el('span.drag-handle'),\n $el(\n 'div',\n {\n textContent: n.title ?? n.type\n },\n n.title\n ? $el('span', {\n textContent: n.type\n })\n : []\n )\n ]\n )\n )\n\n this.innerNodesList.replaceChildren(...this.nodeItems)\n\n if (reset) {\n this.selectedNodeIndex = null\n this.changeNode(0)\n } else {\n const items = this.draggable.getAllItems()\n let index = items.findIndex((item) => item.classList.contains('selected'))\n if (index === -1) index = this.selectedNodeIndex\n this.changeNode(index, true)\n }\n\n const ordered = [...nodes]\n this.draggable?.dispose()\n this.draggable = new DraggableList(this.innerNodesList, 'li')\n this.draggable.addEventListener(\n 'dragend',\n ({ detail: { oldPosition, newPosition } }) => {\n if (oldPosition === newPosition) return\n ordered.splice(newPosition, 0, ordered.splice(oldPosition, 1)[0])\n for (let i = 0; i < ordered.length; i++) {\n this.storeModification({\n nodeIndex: ordered[i].index,\n section: ORDER,\n prop: 'order',\n value: i\n })\n }\n }\n )\n }\n\n storeModification(props: {\n nodeIndex?: number\n section: symbol\n prop: string\n value: any\n }) {\n const { nodeIndex, section, prop, value } = props\n const groupMod = (this.modifications[this.selectedGroup] ??= {})\n const nodesMod = (groupMod.nodes ??= {})\n const nodeMod = (nodesMod[nodeIndex ?? this.selectedNodeInnerIndex] ??= {})\n const typeMod = (nodeMod[section] ??= {})\n if (typeof value === 'object') {\n const objMod = (typeMod[prop] ??= {})\n Object.assign(objMod, value)\n } else {\n typeMod[prop] = value\n }\n }\n\n getEditElement(section, prop, value, placeholder, checked, checkable = true) {\n if (value === placeholder) value = ''\n\n const mods =\n this.modifications[this.selectedGroup]?.nodes?.[\n this.selectedNodeInnerIndex\n ]?.[section]?.[prop]\n if (mods) {\n if (mods.name != null) {\n value = mods.name\n }\n if (mods.visible != null) {\n checked = mods.visible\n }\n }\n\n return $el('div', [\n $el('input', {\n value,\n placeholder,\n type: 'text',\n onchange: (e) => {\n this.storeModification({\n section,\n prop,\n value: { name: e.target.value }\n })\n }\n }),\n $el('label', { textContent: 'Visible' }, [\n $el('input', {\n type: 'checkbox',\n checked,\n disabled: !checkable,\n onchange: (e) => {\n this.storeModification({\n section,\n prop,\n value: { visible: !!e.target.checked }\n })\n }\n })\n ])\n ])\n }\n\n buildWidgetsPage() {\n const widgets =\n this.groupData.oldToNewWidgetMap[this.selectedNodeInnerIndex]\n const items = Object.keys(widgets ?? {})\n const type = app.graph.extra.groupNodes[this.selectedGroup]\n const config = type.config?.[this.selectedNodeInnerIndex]?.input\n this.widgetsPage.replaceChildren(\n ...items.map((oldName) => {\n return this.getEditElement(\n 'input',\n oldName,\n widgets[oldName],\n oldName,\n config?.[oldName]?.visible !== false\n )\n })\n )\n return !!items.length\n }\n\n buildInputsPage() {\n const inputs = this.groupData.nodeInputs[this.selectedNodeInnerIndex]\n const items = Object.keys(inputs ?? {})\n const type = app.graph.extra.groupNodes[this.selectedGroup]\n const config = type.config?.[this.selectedNodeInnerIndex]?.input\n this.inputsPage.replaceChildren(\n ...items\n .map((oldName) => {\n let value = inputs[oldName]\n if (!value) {\n return\n }\n\n return this.getEditElement(\n 'input',\n oldName,\n value,\n oldName,\n config?.[oldName]?.visible !== false\n )\n })\n .filter(Boolean)\n )\n return !!items.length\n }\n\n buildOutputsPage() {\n const nodes = this.groupData.nodeData.nodes\n const innerNodeDef = this.groupData.getNodeDef(\n nodes[this.selectedNodeInnerIndex]\n )\n const outputs = innerNodeDef?.output ?? []\n const groupOutputs =\n this.groupData.oldToNewOutputMap[this.selectedNodeInnerIndex]\n\n const type = app.graph.extra.groupNodes[this.selectedGroup]\n const config = type.config?.[this.selectedNodeInnerIndex]?.output\n const node = this.groupData.nodeData.nodes[this.selectedNodeInnerIndex]\n const checkable = node.type !== 'PrimitiveNode'\n this.outputsPage.replaceChildren(\n ...outputs\n .map((type, slot) => {\n const groupOutputIndex = groupOutputs?.[slot]\n const oldName = innerNodeDef.output_name?.[slot] ?? type\n let value = config?.[slot]?.name\n const visible = config?.[slot]?.visible || groupOutputIndex != null\n if (!value || value === oldName) {\n value = ''\n }\n return this.getEditElement(\n 'output',\n slot,\n value,\n oldName,\n visible,\n checkable\n )\n })\n .filter(Boolean)\n )\n return !!outputs.length\n }\n\n show(type?) {\n const groupNodes = Object.keys(app.graph.extra?.groupNodes ?? {}).sort(\n (a, b) => a.localeCompare(b)\n )\n\n this.innerNodesList = $el(\n 'ul.comfy-group-manage-list-items'\n ) as HTMLUListElement\n this.widgetsPage = $el('section.comfy-group-manage-node-page')\n this.inputsPage = $el('section.comfy-group-manage-node-page')\n this.outputsPage = $el('section.comfy-group-manage-node-page')\n const pages = $el('div', [\n this.widgetsPage,\n this.inputsPage,\n this.outputsPage\n ])\n\n this.tabs = [\n ['Inputs', this.inputsPage],\n ['Widgets', this.widgetsPage],\n ['Outputs', this.outputsPage]\n ].reduce((p, [name, page]: [string, HTMLElement]) => {\n p[name] = {\n tab: $el('a', {\n onclick: () => {\n this.changeTab(name)\n },\n textContent: name\n }),\n page\n }\n return p\n }, {}) as any\n\n const outer = $el('div.comfy-group-manage-outer', [\n $el('header', [\n $el('h2', 'Group Nodes'),\n $el(\n 'select',\n {\n onchange: (e) => {\n this.changeGroup(e.target.value)\n }\n },\n groupNodes.map((g) =>\n $el('option', {\n textContent: g,\n selected: 'workflow/' + g === type,\n value: g\n })\n )\n )\n ]),\n $el('main', [\n $el('section.comfy-group-manage-list', this.innerNodesList),\n $el('section.comfy-group-manage-node', [\n $el(\n 'header',\n Object.values(this.tabs).map((t) => t.tab)\n ),\n pages\n ])\n ]),\n $el('footer', [\n $el(\n 'button.comfy-btn',\n {\n onclick: (e) => {\n // @ts-expect-error\n const node = app.graph._nodes.find(\n (n) => n.type === 'workflow/' + this.selectedGroup\n )\n if (node) {\n alert(\n 'This group node is in use in the current workflow, please first remove these.'\n )\n return\n }\n if (\n confirm(\n `Are you sure you want to remove the node: \"${this.selectedGroup}\"`\n )\n ) {\n delete app.graph.extra.groupNodes[this.selectedGroup]\n LiteGraph.unregisterNodeType('workflow/' + this.selectedGroup)\n }\n this.show()\n }\n },\n 'Delete Group Node'\n ),\n $el(\n 'button.comfy-btn',\n {\n onclick: async () => {\n let nodesByType\n let recreateNodes = []\n const types = {}\n for (const g in this.modifications) {\n const type = app.graph.extra.groupNodes[g]\n let config = (type.config ??= {})\n\n let nodeMods = this.modifications[g]?.nodes\n if (nodeMods) {\n const keys = Object.keys(nodeMods)\n if (nodeMods[keys[0]][ORDER]) {\n // If any node is reordered, they will all need sequencing\n const orderedNodes = []\n const orderedMods = {}\n const orderedConfig = {}\n\n for (const n of keys) {\n const order = nodeMods[n][ORDER].order\n orderedNodes[order] = type.nodes[+n]\n orderedMods[order] = nodeMods[n]\n orderedNodes[order].index = order\n }\n\n // Rewrite links\n for (const l of type.links) {\n if (l[0] != null) l[0] = type.nodes[l[0]].index\n if (l[2] != null) l[2] = type.nodes[l[2]].index\n }\n\n // Rewrite externals\n if (type.external) {\n for (const ext of type.external) {\n ext[0] = type.nodes[ext[0]]\n }\n }\n\n // Rewrite modifications\n for (const id of keys) {\n if (config[id]) {\n orderedConfig[type.nodes[id].index] = config[id]\n }\n delete config[id]\n }\n\n type.nodes = orderedNodes\n nodeMods = orderedMods\n type.config = config = orderedConfig\n }\n\n merge(config, nodeMods)\n }\n\n types[g] = type\n\n if (!nodesByType) {\n // @ts-expect-error\n nodesByType = app.graph._nodes.reduce((p, n) => {\n p[n.type] ??= []\n p[n.type].push(n)\n return p\n }, {})\n }\n\n const nodes = nodesByType['workflow/' + g]\n if (nodes) recreateNodes.push(...nodes)\n }\n\n await GroupNodeConfig.registerFromWorkflow(types, {})\n\n for (const node of recreateNodes) {\n node.recreate()\n }\n\n this.modifications = {}\n this.app.graph.setDirtyCanvas(true, true)\n this.changeGroup(this.selectedGroup, false)\n }\n },\n 'Save'\n ),\n $el(\n 'button.comfy-btn',\n { onclick: () => this.element.close() },\n 'Close'\n )\n ])\n ])\n\n this.element.replaceChildren(outer)\n this.changeGroup(\n type ? groupNodes.find((g) => 'workflow/' + g === type) : groupNodes[0]\n )\n this.element.showModal()\n\n this.element.addEventListener('close', () => {\n this.draggable?.dispose()\n })\n }\n}\n","import { app } from '../../scripts/app'\nimport { api } from '../../scripts/api'\nimport { mergeIfValid } from './widgetInputs'\nimport { ManageGroupDialog } from './groupNodeManage'\nimport type { LGraphNode } from '@comfyorg/litegraph'\nimport { LGraphCanvas, LiteGraph } from '@comfyorg/litegraph'\n\nconst GROUP = Symbol()\n\nconst Workflow = {\n InUse: {\n Free: 0,\n Registered: 1,\n InWorkflow: 2\n },\n isInUseGroupNode(name) {\n const id = `workflow/${name}`\n // Check if lready registered/in use in this workflow\n if (app.graph.extra?.groupNodes?.[name]) {\n // @ts-expect-error\n if (app.graph._nodes.find((n) => n.type === id)) {\n return Workflow.InUse.InWorkflow\n } else {\n return Workflow.InUse.Registered\n }\n }\n return Workflow.InUse.Free\n },\n storeGroupNode(name, data) {\n let extra = app.graph.extra\n if (!extra) app.graph.extra = extra = {}\n let groupNodes = extra.groupNodes\n if (!groupNodes) extra.groupNodes = groupNodes = {}\n groupNodes[name] = data\n }\n}\n\nclass GroupNodeBuilder {\n nodes: LGraphNode[]\n nodeData: any\n\n constructor(nodes) {\n this.nodes = nodes\n }\n\n build() {\n const name = this.getName()\n if (!name) return\n\n // Sort the nodes so they are in execution order\n // this allows for widgets to be in the correct order when reconstructing\n this.sortNodes()\n\n this.nodeData = this.getNodeData()\n Workflow.storeGroupNode(name, this.nodeData)\n\n return { name, nodeData: this.nodeData }\n }\n\n getName() {\n const name = prompt('Enter group name')\n if (!name) return\n const used = Workflow.isInUseGroupNode(name)\n switch (used) {\n case Workflow.InUse.InWorkflow:\n alert(\n 'An in use group node with this name already exists embedded in this workflow, please remove any instances or use a new name.'\n )\n return\n case Workflow.InUse.Registered:\n if (\n !confirm(\n 'A group node with this name already exists embedded in this workflow, are you sure you want to overwrite it?'\n )\n ) {\n return\n }\n break\n }\n return name\n }\n\n sortNodes() {\n // Gets the builders nodes in graph execution order\n const nodesInOrder = app.graph.computeExecutionOrder(false)\n this.nodes = this.nodes\n .map((node) => ({ index: nodesInOrder.indexOf(node), node }))\n .sort((a, b) => a.index - b.index || a.node.id - b.node.id)\n .map(({ node }) => node)\n }\n\n getNodeData() {\n const storeLinkTypes = (config) => {\n // Store link types for dynamically typed nodes e.g. reroutes\n for (const link of config.links) {\n const origin = app.graph.getNodeById(link[4])\n const type = origin.outputs[link[1]].type\n link.push(type)\n }\n }\n\n const storeExternalLinks = (config) => {\n // Store any external links to the group in the config so when rebuilding we add extra slots\n config.external = []\n for (let i = 0; i < this.nodes.length; i++) {\n const node = this.nodes[i]\n if (!node.outputs?.length) continue\n for (let slot = 0; slot < node.outputs.length; slot++) {\n let hasExternal = false\n const output = node.outputs[slot]\n let type = output.type\n if (!output.links?.length) continue\n for (const l of output.links) {\n const link = app.graph.links[l]\n if (!link) continue\n if (type === '*') type = link.type\n\n if (!app.canvas.selected_nodes[link.target_id]) {\n hasExternal = true\n break\n }\n }\n if (hasExternal) {\n config.external.push([i, slot, type])\n }\n }\n }\n }\n\n // Use the built in copyToClipboard function to generate the node data we need\n const backup = localStorage.getItem('litegrapheditor_clipboard')\n try {\n // @ts-expect-error\n // TODO Figure out if copyToClipboard is really taking this param\n app.canvas.copyToClipboard(this.nodes)\n const config = JSON.parse(\n localStorage.getItem('litegrapheditor_clipboard')\n )\n\n storeLinkTypes(config)\n storeExternalLinks(config)\n\n return config\n } finally {\n localStorage.setItem('litegrapheditor_clipboard', backup)\n }\n }\n}\n\nexport class GroupNodeConfig {\n name: string\n nodeData: any\n inputCount: number\n oldToNewOutputMap: {}\n newToOldOutputMap: {}\n oldToNewInputMap: {}\n oldToNewWidgetMap: {}\n newToOldWidgetMap: {}\n primitiveDefs: {}\n widgetToPrimitive: {}\n primitiveToWidget: {}\n nodeInputs: {}\n outputVisibility: any[]\n nodeDef: any\n inputs: any[]\n linksFrom: {}\n linksTo: {}\n externalFrom: {}\n\n constructor(name, nodeData) {\n this.name = name\n this.nodeData = nodeData\n this.getLinks()\n\n this.inputCount = 0\n this.oldToNewOutputMap = {}\n this.newToOldOutputMap = {}\n this.oldToNewInputMap = {}\n this.oldToNewWidgetMap = {}\n this.newToOldWidgetMap = {}\n this.primitiveDefs = {}\n this.widgetToPrimitive = {}\n this.primitiveToWidget = {}\n this.nodeInputs = {}\n this.outputVisibility = []\n }\n\n async registerType(source = 'workflow') {\n this.nodeDef = {\n output: [],\n output_name: [],\n output_is_list: [],\n output_is_hidden: [],\n name: source + '/' + this.name,\n display_name: this.name,\n category: 'group nodes' + ('/' + source),\n input: { required: {} },\n\n [GROUP]: this\n }\n\n this.inputs = []\n const seenInputs = {}\n const seenOutputs = {}\n for (let i = 0; i < this.nodeData.nodes.length; i++) {\n const node = this.nodeData.nodes[i]\n node.index = i\n this.processNode(node, seenInputs, seenOutputs)\n }\n\n for (const p of this.#convertedToProcess) {\n p()\n }\n this.#convertedToProcess = null\n await app.registerNodeDef('workflow/' + this.name, this.nodeDef)\n }\n\n getLinks() {\n this.linksFrom = {}\n this.linksTo = {}\n this.externalFrom = {}\n\n // Extract links for easy lookup\n for (const l of this.nodeData.links) {\n const [sourceNodeId, sourceNodeSlot, targetNodeId, targetNodeSlot] = l\n\n // Skip links outside the copy config\n if (sourceNodeId == null) continue\n\n if (!this.linksFrom[sourceNodeId]) {\n this.linksFrom[sourceNodeId] = {}\n }\n if (!this.linksFrom[sourceNodeId][sourceNodeSlot]) {\n this.linksFrom[sourceNodeId][sourceNodeSlot] = []\n }\n this.linksFrom[sourceNodeId][sourceNodeSlot].push(l)\n\n if (!this.linksTo[targetNodeId]) {\n this.linksTo[targetNodeId] = {}\n }\n this.linksTo[targetNodeId][targetNodeSlot] = l\n }\n\n if (this.nodeData.external) {\n for (const ext of this.nodeData.external) {\n if (!this.externalFrom[ext[0]]) {\n this.externalFrom[ext[0]] = { [ext[1]]: ext[2] }\n } else {\n this.externalFrom[ext[0]][ext[1]] = ext[2]\n }\n }\n }\n }\n\n processNode(node, seenInputs, seenOutputs) {\n const def = this.getNodeDef(node)\n if (!def) return\n\n const inputs = { ...def.input?.required, ...def.input?.optional }\n\n this.inputs.push(this.processNodeInputs(node, seenInputs, inputs))\n if (def.output?.length) this.processNodeOutputs(node, seenOutputs, def)\n }\n\n getNodeDef(node) {\n const def = globalDefs[node.type]\n if (def) return def\n\n const linksFrom = this.linksFrom[node.index]\n if (node.type === 'PrimitiveNode') {\n // Skip as its not linked\n if (!linksFrom) return\n\n let type = linksFrom['0'][0][5]\n if (type === 'COMBO') {\n // Use the array items\n const source = node.outputs[0].widget.name\n const fromTypeName = this.nodeData.nodes[linksFrom['0'][0][2]].type\n const fromType = globalDefs[fromTypeName]\n const input =\n fromType.input.required[source] ?? fromType.input.optional[source]\n type = input[0]\n }\n\n const def = (this.primitiveDefs[node.index] = {\n input: {\n required: {\n value: [type, {}]\n }\n },\n output: [type],\n output_name: [],\n output_is_list: []\n })\n return def\n } else if (node.type === 'Reroute') {\n const linksTo = this.linksTo[node.index]\n if (linksTo && linksFrom && !this.externalFrom[node.index]?.[0]) {\n // Being used internally\n return null\n }\n\n let config = {}\n let rerouteType = '*'\n if (linksFrom) {\n for (const [, , id, slot] of linksFrom['0']) {\n const node = this.nodeData.nodes[id]\n const input = node.inputs[slot]\n if (rerouteType === '*') {\n rerouteType = input.type\n }\n if (input.widget) {\n const targetDef = globalDefs[node.type]\n const targetWidget =\n targetDef.input.required[input.widget.name] ??\n targetDef.input.optional[input.widget.name]\n\n const widget = [targetWidget[0], config]\n const res = mergeIfValid(\n {\n widget\n },\n targetWidget,\n false,\n null,\n widget\n )\n config = res?.customConfig ?? config\n }\n }\n } else if (linksTo) {\n const [id, slot] = linksTo['0']\n rerouteType = this.nodeData.nodes[id].outputs[slot].type\n } else {\n // Reroute used as a pipe\n for (const l of this.nodeData.links) {\n if (l[2] === node.index) {\n rerouteType = l[5]\n break\n }\n }\n if (rerouteType === '*') {\n // Check for an external link\n const t = this.externalFrom[node.index]?.[0]\n if (t) {\n rerouteType = t\n }\n }\n }\n\n // @ts-expect-error\n config.forceInput = true\n return {\n input: {\n required: {\n [rerouteType]: [rerouteType, config]\n }\n },\n output: [rerouteType],\n output_name: [],\n output_is_list: []\n }\n }\n\n console.warn(\n 'Skipping virtual node ' +\n node.type +\n ' when building group node ' +\n this.name\n )\n }\n\n getInputConfig(node, inputName, seenInputs, config, extra?) {\n const customConfig = this.nodeData.config?.[node.index]?.input?.[inputName]\n let name =\n customConfig?.name ??\n node.inputs?.find((inp) => inp.name === inputName)?.label ??\n inputName\n let key = name\n let prefix = ''\n // Special handling for primitive to include the title if it is set rather than just \"value\"\n if ((node.type === 'PrimitiveNode' && node.title) || name in seenInputs) {\n prefix = `${node.title ?? node.type} `\n key = name = `${prefix}${inputName}`\n if (name in seenInputs) {\n name = `${prefix}${seenInputs[name]} ${inputName}`\n }\n }\n seenInputs[key] = (seenInputs[key] ?? 1) + 1\n\n if (inputName === 'seed' || inputName === 'noise_seed') {\n if (!extra) extra = {}\n extra.control_after_generate = `${prefix}control_after_generate`\n }\n if (config[0] === 'IMAGEUPLOAD') {\n if (!extra) extra = {}\n extra.widget =\n this.oldToNewWidgetMap[node.index]?.[config[1]?.widget ?? 'image'] ??\n 'image'\n }\n\n if (extra) {\n config = [config[0], { ...config[1], ...extra }]\n }\n\n return { name, config, customConfig }\n }\n\n processWidgetInputs(inputs, node, inputNames, seenInputs) {\n const slots = []\n const converted = new Map()\n const widgetMap = (this.oldToNewWidgetMap[node.index] = {})\n for (const inputName of inputNames) {\n let widgetType = app.getWidgetType(inputs[inputName], inputName)\n if (widgetType) {\n const convertedIndex = node.inputs?.findIndex(\n (inp) => inp.name === inputName && inp.widget?.name === inputName\n )\n if (convertedIndex > -1) {\n // This widget has been converted to a widget\n // We need to store this in the correct position so link ids line up\n converted.set(convertedIndex, inputName)\n widgetMap[inputName] = null\n } else {\n // Normal widget\n const { name, config } = this.getInputConfig(\n node,\n inputName,\n seenInputs,\n inputs[inputName]\n )\n this.nodeDef.input.required[name] = config\n widgetMap[inputName] = name\n this.newToOldWidgetMap[name] = { node, inputName }\n }\n } else {\n // Normal input\n slots.push(inputName)\n }\n }\n return { converted, slots }\n }\n\n checkPrimitiveConnection(link, inputName, inputs) {\n const sourceNode = this.nodeData.nodes[link[0]]\n if (sourceNode.type === 'PrimitiveNode') {\n // Merge link configurations\n const [sourceNodeId, _, targetNodeId, __] = link\n const primitiveDef = this.primitiveDefs[sourceNodeId]\n const targetWidget = inputs[inputName]\n const primitiveConfig = primitiveDef.input.required.value\n const output = { widget: primitiveConfig }\n const config = mergeIfValid(\n output,\n targetWidget,\n false,\n null,\n primitiveConfig\n )\n primitiveConfig[1] =\n config?.customConfig ?? inputs[inputName][1]\n ? { ...inputs[inputName][1] }\n : {}\n\n let name = this.oldToNewWidgetMap[sourceNodeId]['value']\n name = name.substr(0, name.length - 6)\n primitiveConfig[1].control_after_generate = true\n primitiveConfig[1].control_prefix = name\n\n let toPrimitive = this.widgetToPrimitive[targetNodeId]\n if (!toPrimitive) {\n toPrimitive = this.widgetToPrimitive[targetNodeId] = {}\n }\n if (toPrimitive[inputName]) {\n toPrimitive[inputName].push(sourceNodeId)\n }\n toPrimitive[inputName] = sourceNodeId\n\n let toWidget = this.primitiveToWidget[sourceNodeId]\n if (!toWidget) {\n toWidget = this.primitiveToWidget[sourceNodeId] = []\n }\n toWidget.push({ nodeId: targetNodeId, inputName })\n }\n }\n\n processInputSlots(inputs, node, slots, linksTo, inputMap, seenInputs) {\n this.nodeInputs[node.index] = {}\n for (let i = 0; i < slots.length; i++) {\n const inputName = slots[i]\n if (linksTo[i]) {\n this.checkPrimitiveConnection(linksTo[i], inputName, inputs)\n // This input is linked so we can skip it\n continue\n }\n\n const { name, config, customConfig } = this.getInputConfig(\n node,\n inputName,\n seenInputs,\n inputs[inputName]\n )\n\n this.nodeInputs[node.index][inputName] = name\n if (customConfig?.visible === false) continue\n\n this.nodeDef.input.required[name] = config\n inputMap[i] = this.inputCount++\n }\n }\n\n processConvertedWidgets(\n inputs,\n node,\n slots,\n converted,\n linksTo,\n inputMap,\n seenInputs\n ) {\n // Add converted widgets sorted into their index order (ordered as they were converted) so link ids match up\n const convertedSlots = [...converted.keys()]\n .sort()\n .map((k) => converted.get(k))\n for (let i = 0; i < convertedSlots.length; i++) {\n const inputName = convertedSlots[i]\n if (linksTo[slots.length + i]) {\n this.checkPrimitiveConnection(\n linksTo[slots.length + i],\n inputName,\n inputs\n )\n // This input is linked so we can skip it\n continue\n }\n\n const { name, config } = this.getInputConfig(\n node,\n inputName,\n seenInputs,\n inputs[inputName],\n {\n defaultInput: true\n }\n )\n\n this.nodeDef.input.required[name] = config\n this.newToOldWidgetMap[name] = { node, inputName }\n\n if (!this.oldToNewWidgetMap[node.index]) {\n this.oldToNewWidgetMap[node.index] = {}\n }\n this.oldToNewWidgetMap[node.index][inputName] = name\n\n inputMap[slots.length + i] = this.inputCount++\n }\n }\n\n #convertedToProcess = []\n processNodeInputs(node, seenInputs, inputs) {\n const inputMapping = []\n\n const inputNames = Object.keys(inputs)\n if (!inputNames.length) return\n\n const { converted, slots } = this.processWidgetInputs(\n inputs,\n node,\n inputNames,\n seenInputs\n )\n const linksTo = this.linksTo[node.index] ?? {}\n const inputMap = (this.oldToNewInputMap[node.index] = {})\n this.processInputSlots(inputs, node, slots, linksTo, inputMap, seenInputs)\n\n // Converted inputs have to be processed after all other nodes as they'll be at the end of the list\n this.#convertedToProcess.push(() =>\n this.processConvertedWidgets(\n inputs,\n node,\n slots,\n converted,\n linksTo,\n inputMap,\n seenInputs\n )\n )\n\n return inputMapping\n }\n\n processNodeOutputs(node, seenOutputs, def) {\n const oldToNew = (this.oldToNewOutputMap[node.index] = {})\n\n // Add outputs\n for (let outputId = 0; outputId < def.output.length; outputId++) {\n const linksFrom = this.linksFrom[node.index]\n // If this output is linked internally we flag it to hide\n const hasLink =\n linksFrom?.[outputId] && !this.externalFrom[node.index]?.[outputId]\n const customConfig =\n this.nodeData.config?.[node.index]?.output?.[outputId]\n const visible = customConfig?.visible ?? !hasLink\n this.outputVisibility.push(visible)\n if (!visible) {\n continue\n }\n\n oldToNew[outputId] = this.nodeDef.output.length\n this.newToOldOutputMap[this.nodeDef.output.length] = {\n node,\n slot: outputId\n }\n this.nodeDef.output.push(def.output[outputId])\n this.nodeDef.output_is_list.push(def.output_is_list[outputId])\n\n let label = customConfig?.name\n if (!label) {\n label = def.output_name?.[outputId] ?? def.output[outputId]\n const output = node.outputs.find((o) => o.name === label)\n if (output?.label) {\n label = output.label\n }\n }\n\n let name = label\n if (name in seenOutputs) {\n const prefix = `${node.title ?? node.type} `\n name = `${prefix}${label}`\n if (name in seenOutputs) {\n name = `${prefix}${node.index} ${label}`\n }\n }\n seenOutputs[name] = 1\n\n this.nodeDef.output_name.push(name)\n }\n }\n\n static async registerFromWorkflow(groupNodes, missingNodeTypes) {\n const clean = app.clean\n app.clean = function () {\n for (const g in groupNodes) {\n try {\n LiteGraph.unregisterNodeType('workflow/' + g)\n } catch (error) {}\n }\n app.clean = clean\n }\n\n for (const g in groupNodes) {\n const groupData = groupNodes[g]\n\n let hasMissing = false\n for (const n of groupData.nodes) {\n // Find missing node types\n if (!(n.type in LiteGraph.registered_node_types)) {\n missingNodeTypes.push({\n type: n.type,\n hint: ` (In group node 'workflow/${g}')`\n })\n\n missingNodeTypes.push({\n type: 'workflow/' + g,\n action: {\n text: 'Remove from workflow',\n callback: (e) => {\n delete groupNodes[g]\n e.target.textContent = 'Removed'\n e.target.style.pointerEvents = 'none'\n e.target.style.opacity = 0.7\n }\n }\n })\n\n hasMissing = true\n }\n }\n\n if (hasMissing) continue\n\n const config = new GroupNodeConfig(g, groupData)\n await config.registerType()\n }\n }\n}\n\nexport class GroupNodeHandler {\n node\n groupData\n innerNodes: any\n\n constructor(node) {\n this.node = node\n this.groupData = node.constructor?.nodeData?.[GROUP]\n\n this.node.setInnerNodes = (innerNodes) => {\n this.innerNodes = innerNodes\n\n for (\n let innerNodeIndex = 0;\n innerNodeIndex < this.innerNodes.length;\n innerNodeIndex++\n ) {\n const innerNode = this.innerNodes[innerNodeIndex]\n\n for (const w of innerNode.widgets ?? []) {\n if (w.type === 'converted-widget') {\n w.serializeValue = w.origSerializeValue\n }\n }\n\n innerNode.index = innerNodeIndex\n innerNode.getInputNode = (slot) => {\n // Check if this input is internal or external\n const externalSlot =\n this.groupData.oldToNewInputMap[innerNode.index]?.[slot]\n if (externalSlot != null) {\n return this.node.getInputNode(externalSlot)\n }\n\n // Internal link\n const innerLink = this.groupData.linksTo[innerNode.index]?.[slot]\n if (!innerLink) return null\n\n const inputNode = innerNodes[innerLink[0]]\n // Primitives will already apply their values\n if (inputNode.type === 'PrimitiveNode') return null\n\n return inputNode\n }\n\n innerNode.getInputLink = (slot) => {\n const externalSlot =\n this.groupData.oldToNewInputMap[innerNode.index]?.[slot]\n if (externalSlot != null) {\n // The inner node is connected via the group node inputs\n const linkId = this.node.inputs[externalSlot].link\n let link = app.graph.links[linkId]\n\n // Use the outer link, but update the target to the inner node\n // @ts-expect-error\n // TODO: Fix this\n link = {\n ...link,\n target_id: innerNode.id,\n target_slot: +slot\n }\n return link\n }\n\n let link = this.groupData.linksTo[innerNode.index]?.[slot]\n if (!link) return null\n // Use the inner link, but update the origin node to be inner node id\n link = {\n origin_id: innerNodes[link[0]].id,\n origin_slot: link[1],\n target_id: innerNode.id,\n target_slot: +slot\n }\n return link\n }\n }\n }\n\n this.node.updateLink = (link) => {\n // Replace the group node reference with the internal node\n link = { ...link }\n const output = this.groupData.newToOldOutputMap[link.origin_slot]\n let innerNode = this.innerNodes[output.node.index]\n let l\n while (innerNode?.type === 'Reroute') {\n l = innerNode.getInputLink(0)\n innerNode = innerNode.getInputNode(0)\n }\n\n if (!innerNode) {\n return null\n }\n\n if (l && GroupNodeHandler.isGroupNode(innerNode)) {\n return innerNode.updateLink(l)\n }\n\n link.origin_id = innerNode.id\n link.origin_slot = l?.origin_slot ?? output.slot\n return link\n }\n\n this.node.getInnerNodes = () => {\n if (!this.innerNodes) {\n this.node.setInnerNodes(\n this.groupData.nodeData.nodes.map((n, i) => {\n const innerNode = LiteGraph.createNode(n.type)\n innerNode.configure(n)\n // @ts-expect-error\n innerNode.id = `${this.node.id}:${i}`\n return innerNode\n })\n )\n }\n\n this.updateInnerWidgets()\n\n return this.innerNodes\n }\n\n this.node.recreate = async () => {\n const id = this.node.id\n const sz = this.node.size\n const nodes = this.node.convertToNodes()\n\n const groupNode = LiteGraph.createNode(this.node.type)\n groupNode.id = id\n\n // Reuse the existing nodes for this instance\n groupNode.setInnerNodes(nodes)\n groupNode[GROUP].populateWidgets()\n app.graph.add(groupNode)\n groupNode.size = [\n Math.max(groupNode.size[0], sz[0]),\n Math.max(groupNode.size[1], sz[1])\n ]\n\n // Remove all converted nodes and relink them\n groupNode[GROUP].replaceNodes(nodes)\n return groupNode\n }\n\n this.node.convertToNodes = () => {\n const addInnerNodes = () => {\n const backup = localStorage.getItem('litegrapheditor_clipboard')\n // Clone the node data so we dont mutate it for other nodes\n const c = { ...this.groupData.nodeData }\n c.nodes = [...c.nodes]\n const innerNodes = this.node.getInnerNodes()\n let ids = []\n for (let i = 0; i < c.nodes.length; i++) {\n let id = innerNodes?.[i]?.id\n // Use existing IDs if they are set on the inner nodes\n if (id == null || isNaN(id)) {\n id = undefined\n } else {\n ids.push(id)\n }\n c.nodes[i] = { ...c.nodes[i], id }\n }\n localStorage.setItem('litegrapheditor_clipboard', JSON.stringify(c))\n app.canvas.pasteFromClipboard()\n localStorage.setItem('litegrapheditor_clipboard', backup)\n\n const [x, y] = this.node.pos\n let top\n let left\n // Configure nodes with current widget data\n const selectedIds = ids.length\n ? ids\n : Object.keys(app.canvas.selected_nodes)\n const newNodes = []\n for (let i = 0; i < selectedIds.length; i++) {\n const id = selectedIds[i]\n const newNode = app.graph.getNodeById(id)\n const innerNode = innerNodes[i]\n newNodes.push(newNode)\n\n if (left == null || newNode.pos[0] < left) {\n left = newNode.pos[0]\n }\n if (top == null || newNode.pos[1] < top) {\n top = newNode.pos[1]\n }\n\n if (!newNode.widgets) continue\n\n const map = this.groupData.oldToNewWidgetMap[innerNode.index]\n if (map) {\n const widgets = Object.keys(map)\n\n for (const oldName of widgets) {\n const newName = map[oldName]\n if (!newName) continue\n\n const widgetIndex = this.node.widgets.findIndex(\n (w) => w.name === newName\n )\n if (widgetIndex === -1) continue\n\n // Populate the main and any linked widgets\n if (innerNode.type === 'PrimitiveNode') {\n for (let i = 0; i < newNode.widgets.length; i++) {\n newNode.widgets[i].value =\n this.node.widgets[widgetIndex + i].value\n }\n } else {\n const outerWidget = this.node.widgets[widgetIndex]\n const newWidget = newNode.widgets.find(\n (w) => w.name === oldName\n )\n if (!newWidget) continue\n\n newWidget.value = outerWidget.value\n for (let w = 0; w < outerWidget.linkedWidgets?.length; w++) {\n newWidget.linkedWidgets[w].value =\n outerWidget.linkedWidgets[w].value\n }\n }\n }\n }\n }\n\n // Shift each node\n for (const newNode of newNodes) {\n newNode.pos = [\n newNode.pos[0] - (left - x),\n newNode.pos[1] - (top - y)\n ]\n }\n\n return { newNodes, selectedIds }\n }\n\n const reconnectInputs = (selectedIds) => {\n for (const innerNodeIndex in this.groupData.oldToNewInputMap) {\n const id = selectedIds[innerNodeIndex]\n const newNode = app.graph.getNodeById(id)\n const map = this.groupData.oldToNewInputMap[innerNodeIndex]\n for (const innerInputId in map) {\n const groupSlotId = map[innerInputId]\n if (groupSlotId == null) continue\n const slot = node.inputs[groupSlotId]\n if (slot.link == null) continue\n const link = app.graph.links[slot.link]\n if (!link) continue\n // connect this node output to the input of another node\n const originNode = app.graph.getNodeById(link.origin_id)\n originNode.connect(link.origin_slot, newNode, +innerInputId)\n }\n }\n }\n\n const reconnectOutputs = (selectedIds) => {\n for (\n let groupOutputId = 0;\n groupOutputId < node.outputs?.length;\n groupOutputId++\n ) {\n const output = node.outputs[groupOutputId]\n if (!output.links) continue\n const links = [...output.links]\n for (const l of links) {\n const slot = this.groupData.newToOldOutputMap[groupOutputId]\n const link = app.graph.links[l]\n const targetNode = app.graph.getNodeById(link.target_id)\n const newNode = app.graph.getNodeById(selectedIds[slot.node.index])\n newNode.connect(slot.slot, targetNode, link.target_slot)\n }\n }\n }\n\n const { newNodes, selectedIds } = addInnerNodes()\n reconnectInputs(selectedIds)\n reconnectOutputs(selectedIds)\n app.graph.remove(this.node)\n\n return newNodes\n }\n\n const getExtraMenuOptions = this.node.getExtraMenuOptions\n this.node.getExtraMenuOptions = function (_, options) {\n getExtraMenuOptions?.apply(this, arguments)\n\n let optionIndex = options.findIndex((o) => o.content === 'Outputs')\n if (optionIndex === -1) optionIndex = options.length\n else optionIndex++\n options.splice(\n optionIndex,\n 0,\n null,\n {\n content: 'Convert to nodes',\n callback: () => {\n return this.convertToNodes()\n }\n },\n {\n content: 'Manage Group Node',\n callback: () => {\n new ManageGroupDialog(app).show(this.type)\n }\n }\n )\n }\n\n // Draw custom collapse icon to identity this as a group\n const onDrawTitleBox = this.node.onDrawTitleBox\n this.node.onDrawTitleBox = function (ctx, height, size, scale) {\n onDrawTitleBox?.apply(this, arguments)\n\n const fill = ctx.fillStyle\n ctx.beginPath()\n ctx.rect(11, -height + 11, 2, 2)\n ctx.rect(14, -height + 11, 2, 2)\n ctx.rect(17, -height + 11, 2, 2)\n ctx.rect(11, -height + 14, 2, 2)\n ctx.rect(14, -height + 14, 2, 2)\n ctx.rect(17, -height + 14, 2, 2)\n ctx.rect(11, -height + 17, 2, 2)\n ctx.rect(14, -height + 17, 2, 2)\n ctx.rect(17, -height + 17, 2, 2)\n\n ctx.fillStyle = this.boxcolor || LiteGraph.NODE_DEFAULT_BOXCOLOR\n ctx.fill()\n ctx.fillStyle = fill\n }\n\n // Draw progress label\n const onDrawForeground = node.onDrawForeground\n const groupData = this.groupData.nodeData\n node.onDrawForeground = function (ctx) {\n const r = onDrawForeground?.apply?.(this, arguments)\n if (\n +app.runningNodeId === this.id &&\n this.runningInternalNodeId !== null\n ) {\n const n = groupData.nodes[this.runningInternalNodeId]\n if (!n) return\n const message = `Running ${n.title || n.type} (${this.runningInternalNodeId}/${groupData.nodes.length})`\n ctx.save()\n ctx.font = '12px sans-serif'\n const sz = ctx.measureText(message)\n ctx.fillStyle = node.boxcolor || LiteGraph.NODE_DEFAULT_BOXCOLOR\n ctx.beginPath()\n ctx.roundRect(\n 0,\n -LiteGraph.NODE_TITLE_HEIGHT - 20,\n sz.width + 12,\n 20,\n 5\n )\n ctx.fill()\n\n ctx.fillStyle = '#fff'\n ctx.fillText(message, 6, -LiteGraph.NODE_TITLE_HEIGHT - 6)\n ctx.restore()\n }\n }\n\n // Flag this node as needing to be reset\n const onExecutionStart = this.node.onExecutionStart\n this.node.onExecutionStart = function () {\n this.resetExecution = true\n return onExecutionStart?.apply(this, arguments)\n }\n\n const self = this\n const onNodeCreated = this.node.onNodeCreated\n this.node.onNodeCreated = function () {\n if (!this.widgets) {\n return\n }\n const config = self.groupData.nodeData.config\n if (config) {\n for (const n in config) {\n const inputs = config[n]?.input\n for (const w in inputs) {\n if (inputs[w].visible !== false) continue\n const widgetName = self.groupData.oldToNewWidgetMap[n][w]\n const widget = this.widgets.find((w) => w.name === widgetName)\n if (widget) {\n widget.type = 'hidden'\n widget.computeSize = () => [0, -4]\n }\n }\n }\n }\n\n return onNodeCreated?.apply(this, arguments)\n }\n\n function handleEvent(type, getId, getEvent) {\n const handler = ({ detail }) => {\n const id = getId(detail)\n if (!id) return\n const node = app.graph.getNodeById(id)\n if (node) return\n\n const innerNodeIndex = this.innerNodes?.findIndex((n) => n.id == id)\n if (innerNodeIndex > -1) {\n this.node.runningInternalNodeId = innerNodeIndex\n api.dispatchEvent(\n new CustomEvent(type, {\n detail: getEvent(detail, this.node.id + '', this.node)\n })\n )\n }\n }\n api.addEventListener(type, handler)\n return handler\n }\n\n const executing = handleEvent.call(\n this,\n 'executing',\n (d) => d,\n (d, id, node) => id\n )\n\n const executed = handleEvent.call(\n this,\n 'executed',\n (d) => d?.display_node || d?.node,\n (d, id, node) => ({\n ...d,\n node: id,\n display_node: id,\n merge: !node.resetExecution\n })\n )\n\n const onRemoved = node.onRemoved\n this.node.onRemoved = function () {\n onRemoved?.apply(this, arguments)\n api.removeEventListener('executing', executing)\n api.removeEventListener('executed', executed)\n }\n\n this.node.refreshComboInNode = (defs) => {\n // Update combo widget options\n for (const widgetName in this.groupData.newToOldWidgetMap) {\n const widget = this.node.widgets.find((w) => w.name === widgetName)\n if (widget?.type === 'combo') {\n const old = this.groupData.newToOldWidgetMap[widgetName]\n const def = defs[old.node.type]\n const input =\n def?.input?.required?.[old.inputName] ??\n def?.input?.optional?.[old.inputName]\n if (!input) continue\n\n widget.options.values = input[0]\n\n if (\n old.inputName !== 'image' &&\n !widget.options.values.includes(widget.value)\n ) {\n widget.value = widget.options.values[0]\n widget.callback(widget.value)\n }\n }\n }\n }\n }\n\n updateInnerWidgets() {\n for (const newWidgetName in this.groupData.newToOldWidgetMap) {\n const newWidget = this.node.widgets.find((w) => w.name === newWidgetName)\n if (!newWidget) continue\n\n const newValue = newWidget.value\n const old = this.groupData.newToOldWidgetMap[newWidgetName]\n let innerNode = this.innerNodes[old.node.index]\n\n if (innerNode.type === 'PrimitiveNode') {\n innerNode.primitiveValue = newValue\n const primitiveLinked = this.groupData.primitiveToWidget[old.node.index]\n for (const linked of primitiveLinked ?? []) {\n const node = this.innerNodes[linked.nodeId]\n const widget = node.widgets.find((w) => w.name === linked.inputName)\n\n if (widget) {\n widget.value = newValue\n }\n }\n continue\n } else if (innerNode.type === 'Reroute') {\n const rerouteLinks = this.groupData.linksFrom[old.node.index]\n if (rerouteLinks) {\n for (const [_, , targetNodeId, targetSlot] of rerouteLinks['0']) {\n const node = this.innerNodes[targetNodeId]\n const input = node.inputs[targetSlot]\n if (input.widget) {\n const widget = node.widgets?.find(\n (w) => w.name === input.widget.name\n )\n if (widget) {\n widget.value = newValue\n }\n }\n }\n }\n }\n\n const widget = innerNode.widgets?.find((w) => w.name === old.inputName)\n if (widget) {\n widget.value = newValue\n }\n }\n }\n\n populatePrimitive(node, nodeId, oldName, i, linkedShift) {\n // Converted widget, populate primitive if linked\n const primitiveId = this.groupData.widgetToPrimitive[nodeId]?.[oldName]\n if (primitiveId == null) return\n const targetWidgetName =\n this.groupData.oldToNewWidgetMap[primitiveId]['value']\n const targetWidgetIndex = this.node.widgets.findIndex(\n (w) => w.name === targetWidgetName\n )\n if (targetWidgetIndex > -1) {\n const primitiveNode = this.innerNodes[primitiveId]\n let len = primitiveNode.widgets.length\n if (\n len - 1 !==\n this.node.widgets[targetWidgetIndex].linkedWidgets?.length\n ) {\n // Fallback handling for if some reason the primitive has a different number of widgets\n // we dont want to overwrite random widgets, better to leave blank\n len = 1\n }\n for (let i = 0; i < len; i++) {\n this.node.widgets[targetWidgetIndex + i].value =\n primitiveNode.widgets[i].value\n }\n }\n return true\n }\n\n populateReroute(node, nodeId, map) {\n if (node.type !== 'Reroute') return\n\n const link = this.groupData.linksFrom[nodeId]?.[0]?.[0]\n if (!link) return\n const [, , targetNodeId, targetNodeSlot] = link\n const targetNode = this.groupData.nodeData.nodes[targetNodeId]\n const inputs = targetNode.inputs\n const targetWidget = inputs?.[targetNodeSlot]?.widget\n if (!targetWidget) return\n\n const offset = inputs.length - (targetNode.widgets_values?.length ?? 0)\n const v = targetNode.widgets_values?.[targetNodeSlot - offset]\n if (v == null) return\n\n const widgetName = Object.values(map)[0]\n const widget = this.node.widgets.find((w) => w.name === widgetName)\n if (widget) {\n widget.value = v\n }\n }\n\n populateWidgets() {\n if (!this.node.widgets) return\n\n for (\n let nodeId = 0;\n nodeId < this.groupData.nodeData.nodes.length;\n nodeId++\n ) {\n const node = this.groupData.nodeData.nodes[nodeId]\n const map = this.groupData.oldToNewWidgetMap[nodeId] ?? {}\n const widgets = Object.keys(map)\n\n if (!node.widgets_values?.length) {\n // special handling for populating values into reroutes\n // this allows primitives connect to them to pick up the correct value\n this.populateReroute(node, nodeId, map)\n continue\n }\n\n let linkedShift = 0\n for (let i = 0; i < widgets.length; i++) {\n const oldName = widgets[i]\n const newName = map[oldName]\n const widgetIndex = this.node.widgets.findIndex(\n (w) => w.name === newName\n )\n const mainWidget = this.node.widgets[widgetIndex]\n if (\n this.populatePrimitive(node, nodeId, oldName, i, linkedShift) ||\n widgetIndex === -1\n ) {\n // Find the inner widget and shift by the number of linked widgets as they will have been removed too\n const innerWidget = this.innerNodes[nodeId].widgets?.find(\n (w) => w.name === oldName\n )\n linkedShift += innerWidget?.linkedWidgets?.length ?? 0\n }\n if (widgetIndex === -1) {\n continue\n }\n\n // Populate the main and any linked widget\n mainWidget.value = node.widgets_values[i + linkedShift]\n for (let w = 0; w < mainWidget.linkedWidgets?.length; w++) {\n this.node.widgets[widgetIndex + w + 1].value =\n node.widgets_values[i + ++linkedShift]\n }\n }\n }\n }\n\n replaceNodes(nodes) {\n let top\n let left\n\n for (let i = 0; i < nodes.length; i++) {\n const node = nodes[i]\n if (left == null || node.pos[0] < left) {\n left = node.pos[0]\n }\n if (top == null || node.pos[1] < top) {\n top = node.pos[1]\n }\n\n this.linkOutputs(node, i)\n app.graph.remove(node)\n }\n\n this.linkInputs()\n this.node.pos = [left, top]\n }\n\n linkOutputs(originalNode, nodeId) {\n if (!originalNode.outputs) return\n\n for (const output of originalNode.outputs) {\n if (!output.links) continue\n // Clone the links as they'll be changed if we reconnect\n const links = [...output.links]\n for (const l of links) {\n const link = app.graph.links[l]\n if (!link) continue\n\n const targetNode = app.graph.getNodeById(link.target_id)\n const newSlot =\n this.groupData.oldToNewOutputMap[nodeId]?.[link.origin_slot]\n if (newSlot != null) {\n this.node.connect(newSlot, targetNode, link.target_slot)\n }\n }\n }\n }\n\n linkInputs() {\n for (const link of this.groupData.nodeData.links ?? []) {\n const [, originSlot, targetId, targetSlot, actualOriginId] = link\n const originNode = app.graph.getNodeById(actualOriginId)\n if (!originNode) continue // this node is in the group\n originNode.connect(\n originSlot,\n this.node.id,\n this.groupData.oldToNewInputMap[targetId][targetSlot]\n )\n }\n }\n\n static getGroupData(node) {\n return (node.nodeData ?? node.constructor?.nodeData)?.[GROUP]\n }\n\n static isGroupNode(node) {\n return !!node.constructor?.nodeData?.[GROUP]\n }\n\n static async fromNodes(nodes) {\n // Process the nodes into the stored workflow group node data\n const builder = new GroupNodeBuilder(nodes)\n const res = builder.build()\n if (!res) return\n\n const { name, nodeData } = res\n\n // Convert this data into a LG node definition and register it\n const config = new GroupNodeConfig(name, nodeData)\n await config.registerType()\n\n const groupNode = LiteGraph.createNode(`workflow/${name}`)\n // Reuse the existing nodes for this instance\n groupNode.setInnerNodes(builder.nodes)\n groupNode[GROUP].populateWidgets()\n app.graph.add(groupNode)\n\n // Remove all converted nodes and relink them\n groupNode[GROUP].replaceNodes(builder.nodes)\n return groupNode\n }\n}\n\nfunction addConvertToGroupOptions() {\n function addConvertOption(options, index) {\n const selected = Object.values(app.canvas.selected_nodes ?? {})\n const disabled =\n selected.length < 2 ||\n selected.find((n) => GroupNodeHandler.isGroupNode(n))\n options.splice(index + 1, null, {\n content: `Convert to Group Node`,\n disabled,\n callback: async () => {\n return await GroupNodeHandler.fromNodes(selected)\n }\n })\n }\n\n function addManageOption(options, index) {\n const groups = app.graph.extra?.groupNodes\n const disabled = !groups || !Object.keys(groups).length\n options.splice(index + 1, null, {\n content: `Manage Group Nodes`,\n disabled,\n callback: () => {\n new ManageGroupDialog(app).show()\n }\n })\n }\n\n // Add to canvas\n const getCanvasMenuOptions = LGraphCanvas.prototype.getCanvasMenuOptions\n LGraphCanvas.prototype.getCanvasMenuOptions = function () {\n const options = getCanvasMenuOptions.apply(this, arguments)\n const index =\n options.findIndex((o) => o?.content === 'Add Group') + 1 || options.length\n addConvertOption(options, index)\n addManageOption(options, index + 1)\n return options\n }\n\n // Add to nodes\n const getNodeMenuOptions = LGraphCanvas.prototype.getNodeMenuOptions\n LGraphCanvas.prototype.getNodeMenuOptions = function (node) {\n const options = getNodeMenuOptions.apply(this, arguments)\n if (!GroupNodeHandler.isGroupNode(node)) {\n const index =\n options.findIndex((o) => o?.content === 'Outputs') + 1 ||\n options.length - 1\n addConvertOption(options, index)\n }\n return options\n }\n}\n\nconst id = 'Comfy.GroupNode'\nlet globalDefs\nconst ext = {\n name: id,\n setup() {\n addConvertToGroupOptions()\n },\n async beforeConfigureGraph(graphData, missingNodeTypes) {\n const nodes = graphData?.extra?.groupNodes\n if (nodes) {\n await GroupNodeConfig.registerFromWorkflow(nodes, missingNodeTypes)\n }\n },\n addCustomNodeDefs(defs) {\n // Store this so we can mutate it later with group nodes\n globalDefs = defs\n },\n nodeCreated(node) {\n if (GroupNodeHandler.isGroupNode(node)) {\n node[GROUP] = new GroupNodeHandler(node)\n }\n },\n async refreshComboInNodes(defs) {\n // Re-register group nodes so new ones are created with the correct options\n Object.assign(globalDefs, defs)\n const nodes = app.graph.extra?.groupNodes\n if (nodes) {\n await GroupNodeConfig.registerFromWorkflow(nodes, {})\n }\n }\n}\n\napp.registerExtension(ext)\n","import { app } from '../../scripts/app'\nimport { LGraphCanvas, LiteGraph } from '@comfyorg/litegraph'\n\nfunction setNodeMode(node, mode) {\n node.mode = mode\n node.graph.change()\n}\n\nfunction addNodesToGroup(group, nodes = []) {\n var x1, y1, x2, y2\n var nx1, ny1, nx2, ny2\n var node\n\n x1 = y1 = x2 = y2 = -1\n nx1 = ny1 = nx2 = ny2 = -1\n\n for (var n of [group._nodes, nodes]) {\n for (var i in n) {\n node = n[i]\n\n nx1 = node.pos[0]\n ny1 = node.pos[1]\n nx2 = node.pos[0] + node.size[0]\n ny2 = node.pos[1] + node.size[1]\n\n if (node.type != 'Reroute') {\n ny1 -= LiteGraph.NODE_TITLE_HEIGHT\n }\n\n if (node.flags?.collapsed) {\n ny2 = ny1 + LiteGraph.NODE_TITLE_HEIGHT\n\n if (node?._collapsed_width) {\n nx2 = nx1 + Math.round(node._collapsed_width)\n }\n }\n\n if (x1 == -1 || nx1 < x1) {\n x1 = nx1\n }\n\n if (y1 == -1 || ny1 < y1) {\n y1 = ny1\n }\n\n if (x2 == -1 || nx2 > x2) {\n x2 = nx2\n }\n\n if (y2 == -1 || ny2 > y2) {\n y2 = ny2\n }\n }\n }\n\n var padding = 10\n\n y1 = y1 - Math.round(group.font_size * 1.4)\n\n group.pos = [x1 - padding, y1 - padding]\n group.size = [x2 - x1 + padding * 2, y2 - y1 + padding * 2]\n}\n\napp.registerExtension({\n name: 'Comfy.GroupOptions',\n setup() {\n const orig = LGraphCanvas.prototype.getCanvasMenuOptions\n // graph_mouse\n LGraphCanvas.prototype.getCanvasMenuOptions = function () {\n const options = orig.apply(this, arguments)\n const group = this.graph.getGroupOnPos(\n this.graph_mouse[0],\n this.graph_mouse[1]\n )\n if (!group) {\n options.push({\n content: 'Add Group For Selected Nodes',\n disabled: !Object.keys(app.canvas.selected_nodes || {}).length,\n callback: () => {\n // @ts-expect-error\n var group = new LiteGraph.LGraphGroup()\n addNodesToGroup(group, this.selected_nodes)\n app.canvas.graph.add(group)\n this.graph.change()\n }\n })\n\n return options\n }\n\n // Group nodes aren't recomputed until the group is moved, this ensures the nodes are up-to-date\n group.recomputeInsideNodes()\n const nodesInGroup = group._nodes\n\n options.push({\n content: 'Add Selected Nodes To Group',\n disabled: !Object.keys(app.canvas.selected_nodes || {}).length,\n callback: () => {\n addNodesToGroup(group, this.selected_nodes)\n this.graph.change()\n }\n })\n\n // No nodes in group, return default options\n if (nodesInGroup.length === 0) {\n return options\n } else {\n // Add a separator between the default options and the group options\n options.push(null)\n }\n\n // Check if all nodes are the same mode\n let allNodesAreSameMode = true\n for (let i = 1; i < nodesInGroup.length; i++) {\n if (nodesInGroup[i].mode !== nodesInGroup[0].mode) {\n allNodesAreSameMode = false\n break\n }\n }\n\n options.push({\n content: 'Fit Group To Nodes',\n callback: () => {\n addNodesToGroup(group)\n this.graph.change()\n }\n })\n\n options.push({\n content: 'Select Nodes',\n callback: () => {\n this.selectNodes(nodesInGroup)\n this.graph.change()\n this.canvas.focus()\n }\n })\n\n // Modes\n // 0: Always\n // 1: On Event\n // 2: Never\n // 3: On Trigger\n // 4: Bypass\n // If all nodes are the same mode, add a menu option to change the mode\n if (allNodesAreSameMode) {\n const mode = nodesInGroup[0].mode\n switch (mode) {\n case 0:\n // All nodes are always, option to disable, and bypass\n options.push({\n content: 'Set Group Nodes to Never',\n callback: () => {\n for (const node of nodesInGroup) {\n setNodeMode(node, 2)\n }\n }\n })\n options.push({\n content: 'Bypass Group Nodes',\n callback: () => {\n for (const node of nodesInGroup) {\n setNodeMode(node, 4)\n }\n }\n })\n break\n case 2:\n // All nodes are never, option to enable, and bypass\n options.push({\n content: 'Set Group Nodes to Always',\n callback: () => {\n for (const node of nodesInGroup) {\n setNodeMode(node, 0)\n }\n }\n })\n options.push({\n content: 'Bypass Group Nodes',\n callback: () => {\n for (const node of nodesInGroup) {\n setNodeMode(node, 4)\n }\n }\n })\n break\n case 4:\n // All nodes are bypass, option to enable, and disable\n options.push({\n content: 'Set Group Nodes to Always',\n callback: () => {\n for (const node of nodesInGroup) {\n setNodeMode(node, 0)\n }\n }\n })\n options.push({\n content: 'Set Group Nodes to Never',\n callback: () => {\n for (const node of nodesInGroup) {\n setNodeMode(node, 2)\n }\n }\n })\n break\n default:\n // All nodes are On Trigger or On Event(Or other?), option to disable, set to always, or bypass\n options.push({\n content: 'Set Group Nodes to Always',\n callback: () => {\n for (const node of nodesInGroup) {\n setNodeMode(node, 0)\n }\n }\n })\n options.push({\n content: 'Set Group Nodes to Never',\n callback: () => {\n for (const node of nodesInGroup) {\n setNodeMode(node, 2)\n }\n }\n })\n options.push({\n content: 'Bypass Group Nodes',\n callback: () => {\n for (const node of nodesInGroup) {\n setNodeMode(node, 4)\n }\n }\n })\n break\n }\n } else {\n // Nodes are not all the same mode, add a menu option to change the mode to always, never, or bypass\n options.push({\n content: 'Set Group Nodes to Always',\n callback: () => {\n for (const node of nodesInGroup) {\n setNodeMode(node, 0)\n }\n }\n })\n options.push({\n content: 'Set Group Nodes to Never',\n callback: () => {\n for (const node of nodesInGroup) {\n setNodeMode(node, 2)\n }\n }\n })\n options.push({\n content: 'Bypass Group Nodes',\n callback: () => {\n for (const node of nodesInGroup) {\n setNodeMode(node, 4)\n }\n }\n })\n }\n\n return options\n }\n }\n})\n","import { LiteGraph } from '@comfyorg/litegraph'\nimport { app } from '../../scripts/app'\n\n// Inverts the scrolling of context menus\n\nconst id = 'Comfy.InvertMenuScrolling'\napp.registerExtension({\n name: id,\n init() {\n const ctxMenu = LiteGraph.ContextMenu\n const replace = () => {\n // @ts-expect-error\n LiteGraph.ContextMenu = function (values, options) {\n options = options || {}\n if (options.scroll_speed) {\n options.scroll_speed *= -1\n } else {\n options.scroll_speed = -0.1\n }\n return ctxMenu.call(this, values, options)\n }\n LiteGraph.ContextMenu.prototype = ctxMenu.prototype\n }\n app.ui.settings.addSetting({\n id,\n category: ['Comfy', 'Graph', 'InvertMenuScrolling'],\n name: 'Invert Context Menu Scrolling',\n type: 'boolean',\n defaultValue: false,\n onChange(value) {\n if (value) {\n replace()\n } else {\n LiteGraph.ContextMenu = ctxMenu\n }\n }\n })\n }\n})\n","import { app } from '../../scripts/app'\nimport { api } from '../../scripts/api'\nimport { useToastStore } from '@/stores/toastStore'\n\napp.registerExtension({\n name: 'Comfy.Keybinds',\n init() {\n const keybindListener = async function (event) {\n const modifierPressed = event.ctrlKey || event.metaKey\n\n // Queue prompt using (ctrl or command) + enter\n if (modifierPressed && event.key === 'Enter') {\n // Cancel current prompt using (ctrl or command) + alt + enter\n if (event.altKey) {\n await api.interrupt()\n useToastStore().add({\n severity: 'info',\n summary: 'Interrupted',\n detail: 'Execution has been interrupted',\n life: 1000\n })\n return\n }\n // Queue prompt as first for generation using (ctrl or command) + shift + enter\n app.queuePrompt(event.shiftKey ? -1 : 0).then()\n return\n }\n\n const target = event.composedPath()[0]\n if (\n target.tagName === 'TEXTAREA' ||\n target.tagName === 'INPUT' ||\n (target.tagName === 'SPAN' &&\n target.classList.contains('property_value'))\n ) {\n return\n }\n\n const modifierKeyIdMap = {\n s: '#comfy-save-button',\n o: '#comfy-file-input',\n Backspace: '#comfy-clear-button',\n d: '#comfy-load-default-button',\n g: '#comfy-group-selected-nodes-button'\n }\n\n const modifierKeybindId = modifierKeyIdMap[event.key]\n if (modifierPressed && modifierKeybindId) {\n event.preventDefault()\n\n const elem = document.querySelector(modifierKeybindId)\n elem.click()\n return\n }\n\n // Finished Handling all modifier keybinds, now handle the rest\n if (event.ctrlKey || event.altKey || event.metaKey) {\n return\n }\n\n // Close out of modals using escape\n if (event.key === 'Escape') {\n const modals = document.querySelectorAll('.comfy-modal')\n const modal = Array.from(modals).find(\n (modal) =>\n window.getComputedStyle(modal).getPropertyValue('display') !==\n 'none'\n )\n if (modal) {\n modal.style.display = 'none'\n }\n\n ;[...document.querySelectorAll('dialog')].forEach((d) => {\n d.close()\n })\n }\n\n const keyIdMap = {\n q: '.queue-tab-button.side-bar-button',\n h: '.queue-tab-button.side-bar-button',\n r: '#comfy-refresh-button'\n }\n\n const buttonId = keyIdMap[event.key]\n if (buttonId) {\n const button = document.querySelector(buttonId)\n button.click()\n }\n }\n\n window.addEventListener('keydown', keybindListener, true)\n }\n})\n","import { app } from '../../scripts/app'\nimport { LiteGraph } from '@comfyorg/litegraph'\nconst id = 'Comfy.LinkRenderMode'\nconst ext = {\n name: id,\n async setup(app) {\n app.ui.settings.addSetting({\n id,\n category: ['Comfy', 'Graph', 'LinkRenderMode'],\n name: 'Link Render Mode',\n defaultValue: 2,\n type: 'combo',\n // @ts-expect-error\n options: [...LiteGraph.LINK_RENDER_MODES, 'Hidden'].map((m, i) => ({\n value: i,\n text: m,\n selected: i == app.canvas.links_render_mode\n })),\n onChange(value) {\n app.canvas.links_render_mode = +value\n app.graph.setDirtyCanvas(true)\n }\n })\n }\n}\n\napp.registerExtension(ext)\n","import { app } from '../../scripts/app'\nimport { ComfyDialog, $el } from '../../scripts/ui'\nimport { ComfyApp } from '../../scripts/app'\nimport { api } from '../../scripts/api'\nimport { ClipspaceDialog } from './clipspace'\n\n// Helper function to convert a data URL to a Blob object\nfunction dataURLToBlob(dataURL) {\n const parts = dataURL.split(';base64,')\n const contentType = parts[0].split(':')[1]\n const byteString = atob(parts[1])\n const arrayBuffer = new ArrayBuffer(byteString.length)\n const uint8Array = new Uint8Array(arrayBuffer)\n for (let i = 0; i < byteString.length; i++) {\n uint8Array[i] = byteString.charCodeAt(i)\n }\n return new Blob([arrayBuffer], { type: contentType })\n}\n\nfunction loadedImageToBlob(image) {\n const canvas = document.createElement('canvas')\n\n canvas.width = image.width\n canvas.height = image.height\n\n const ctx = canvas.getContext('2d')\n\n ctx.drawImage(image, 0, 0)\n\n const dataURL = canvas.toDataURL('image/png', 1)\n const blob = dataURLToBlob(dataURL)\n\n return blob\n}\n\nfunction loadImage(imagePath) {\n return new Promise((resolve, reject) => {\n const image = new Image()\n\n image.onload = function () {\n resolve(image)\n }\n\n image.src = imagePath\n })\n}\n\nasync function uploadMask(filepath, formData) {\n await api\n .fetchApi('/upload/mask', {\n method: 'POST',\n body: formData\n })\n .then((response) => {})\n .catch((error) => {\n console.error('Error:', error)\n })\n\n ComfyApp.clipspace.imgs[ComfyApp.clipspace['selectedIndex']] = new Image()\n ComfyApp.clipspace.imgs[ComfyApp.clipspace['selectedIndex']].src = api.apiURL(\n '/view?' +\n new URLSearchParams(filepath).toString() +\n app.getPreviewFormatParam() +\n app.getRandParam()\n )\n\n if (ComfyApp.clipspace.images)\n ComfyApp.clipspace.images[ComfyApp.clipspace['selectedIndex']] = filepath\n\n ClipspaceDialog.invalidatePreview()\n}\n\nfunction prepare_mask(image, maskCanvas, maskCtx, maskColor) {\n // paste mask data into alpha channel\n maskCtx.drawImage(image, 0, 0, maskCanvas.width, maskCanvas.height)\n const maskData = maskCtx.getImageData(\n 0,\n 0,\n maskCanvas.width,\n maskCanvas.height\n )\n\n // invert mask\n for (let i = 0; i < maskData.data.length; i += 4) {\n if (maskData.data[i + 3] == 255) maskData.data[i + 3] = 0\n else maskData.data[i + 3] = 255\n\n maskData.data[i] = maskColor.r\n maskData.data[i + 1] = maskColor.g\n maskData.data[i + 2] = maskColor.b\n }\n\n maskCtx.globalCompositeOperation = 'source-over'\n maskCtx.putImageData(maskData, 0, 0)\n}\n\nclass MaskEditorDialog extends ComfyDialog {\n static instance = null\n static mousedown_x: number | null = null\n static mousedown_y: number | null = null\n\n brush: HTMLDivElement\n maskCtx: any\n maskCanvas: HTMLCanvasElement\n brush_size_slider: HTMLDivElement\n brush_opacity_slider: HTMLDivElement\n colorButton: HTMLButtonElement\n saveButton: HTMLButtonElement\n zoom_ratio: number\n pan_x: number\n pan_y: number\n imgCanvas: HTMLCanvasElement\n last_display_style: string\n is_visible: boolean\n image: HTMLImageElement\n handler_registered: boolean\n brush_slider_input: HTMLInputElement\n cursorX: number\n cursorY: number\n mousedown_pan_x: number\n mousedown_pan_y: number\n last_pressure: number\n\n static getInstance() {\n if (!MaskEditorDialog.instance) {\n MaskEditorDialog.instance = new MaskEditorDialog()\n }\n\n return MaskEditorDialog.instance\n }\n\n is_layout_created = false\n\n constructor() {\n super()\n this.element = $el('div.comfy-modal', { parent: document.body }, [\n $el('div.comfy-modal-content', [...this.createButtons()])\n ])\n }\n\n createButtons() {\n return []\n }\n\n createButton(name, callback): HTMLButtonElement {\n var button = document.createElement('button')\n button.style.pointerEvents = 'auto'\n button.innerText = name\n button.addEventListener('click', callback)\n return button\n }\n\n createLeftButton(name, callback) {\n var button = this.createButton(name, callback)\n button.style.cssFloat = 'left'\n button.style.marginRight = '4px'\n return button\n }\n\n createRightButton(name, callback) {\n var button = this.createButton(name, callback)\n button.style.cssFloat = 'right'\n button.style.marginLeft = '4px'\n return button\n }\n\n createLeftSlider(self, name, callback): HTMLDivElement {\n const divElement = document.createElement('div')\n divElement.id = 'maskeditor-slider'\n divElement.style.cssFloat = 'left'\n divElement.style.fontFamily = 'sans-serif'\n divElement.style.marginRight = '4px'\n divElement.style.color = 'var(--input-text)'\n divElement.style.backgroundColor = 'var(--comfy-input-bg)'\n divElement.style.borderRadius = '8px'\n divElement.style.borderColor = 'var(--border-color)'\n divElement.style.borderStyle = 'solid'\n divElement.style.fontSize = '15px'\n divElement.style.height = '21px'\n divElement.style.padding = '1px 6px'\n divElement.style.display = 'flex'\n divElement.style.position = 'relative'\n divElement.style.top = '2px'\n divElement.style.pointerEvents = 'auto'\n self.brush_slider_input = document.createElement('input')\n self.brush_slider_input.setAttribute('type', 'range')\n self.brush_slider_input.setAttribute('min', '1')\n self.brush_slider_input.setAttribute('max', '100')\n self.brush_slider_input.setAttribute('value', '10')\n const labelElement = document.createElement('label')\n labelElement.textContent = name\n\n divElement.appendChild(labelElement)\n divElement.appendChild(self.brush_slider_input)\n\n self.brush_slider_input.addEventListener('change', callback)\n\n return divElement\n }\n\n createOpacitySlider(self, name, callback): HTMLDivElement {\n const divElement = document.createElement('div')\n divElement.id = 'maskeditor-opacity-slider'\n divElement.style.cssFloat = 'left'\n divElement.style.fontFamily = 'sans-serif'\n divElement.style.marginRight = '4px'\n divElement.style.color = 'var(--input-text)'\n divElement.style.backgroundColor = 'var(--comfy-input-bg)'\n divElement.style.borderRadius = '8px'\n divElement.style.borderColor = 'var(--border-color)'\n divElement.style.borderStyle = 'solid'\n divElement.style.fontSize = '15px'\n divElement.style.height = '21px'\n divElement.style.padding = '1px 6px'\n divElement.style.display = 'flex'\n divElement.style.position = 'relative'\n divElement.style.top = '2px'\n divElement.style.pointerEvents = 'auto'\n self.opacity_slider_input = document.createElement('input')\n self.opacity_slider_input.setAttribute('type', 'range')\n self.opacity_slider_input.setAttribute('min', '0.1')\n self.opacity_slider_input.setAttribute('max', '1.0')\n self.opacity_slider_input.setAttribute('step', '0.01')\n self.opacity_slider_input.setAttribute('value', '0.7')\n const labelElement = document.createElement('label')\n labelElement.textContent = name\n\n divElement.appendChild(labelElement)\n divElement.appendChild(self.opacity_slider_input)\n\n self.opacity_slider_input.addEventListener('input', callback)\n\n return divElement\n }\n\n setlayout(imgCanvas: HTMLCanvasElement, maskCanvas: HTMLCanvasElement) {\n const self = this\n\n // If it is specified as relative, using it only as a hidden placeholder for padding is recommended\n // to prevent anomalies where it exceeds a certain size and goes outside of the window.\n var bottom_panel = document.createElement('div')\n bottom_panel.style.position = 'absolute'\n bottom_panel.style.bottom = '0px'\n bottom_panel.style.left = '20px'\n bottom_panel.style.right = '20px'\n bottom_panel.style.height = '50px'\n bottom_panel.style.pointerEvents = 'none'\n\n var brush = document.createElement('div')\n brush.id = 'brush'\n brush.style.backgroundColor = 'transparent'\n brush.style.outline = '1px dashed black'\n brush.style.boxShadow = '0 0 0 1px white'\n brush.style.borderRadius = '50%'\n // @ts-expect-error\n brush.style.MozBorderRadius = '50%'\n // @ts-expect-error\n brush.style.WebkitBorderRadius = '50%'\n brush.style.position = 'absolute'\n brush.style.zIndex = '8889'\n brush.style.pointerEvents = 'none'\n this.brush = brush\n this.element.appendChild(imgCanvas)\n this.element.appendChild(maskCanvas)\n this.element.appendChild(bottom_panel)\n document.body.appendChild(brush)\n\n var clearButton = this.createLeftButton('Clear', () => {\n self.maskCtx.clearRect(\n 0,\n 0,\n self.maskCanvas.width,\n self.maskCanvas.height\n )\n })\n\n this.brush_size_slider = this.createLeftSlider(\n self,\n 'Thickness',\n (event) => {\n self.brush_size = event.target.value\n self.updateBrushPreview(self)\n }\n )\n\n this.brush_opacity_slider = this.createOpacitySlider(\n self,\n 'Opacity',\n (event) => {\n self.brush_opacity = event.target.value\n if (self.brush_color_mode !== 'negative') {\n self.maskCanvas.style.opacity = self.brush_opacity.toString()\n }\n }\n )\n\n this.colorButton = this.createLeftButton(this.getColorButtonText(), () => {\n if (self.brush_color_mode === 'black') {\n self.brush_color_mode = 'white'\n } else if (self.brush_color_mode === 'white') {\n self.brush_color_mode = 'negative'\n } else {\n self.brush_color_mode = 'black'\n }\n\n self.updateWhenBrushColorModeChanged()\n })\n\n var cancelButton = this.createRightButton('Cancel', () => {\n document.removeEventListener('keydown', MaskEditorDialog.handleKeyDown)\n self.close()\n })\n\n this.saveButton = this.createRightButton('Save', () => {\n document.removeEventListener('keydown', MaskEditorDialog.handleKeyDown)\n self.save()\n })\n\n this.element.appendChild(imgCanvas)\n this.element.appendChild(maskCanvas)\n this.element.appendChild(bottom_panel)\n\n bottom_panel.appendChild(clearButton)\n bottom_panel.appendChild(this.saveButton)\n bottom_panel.appendChild(cancelButton)\n bottom_panel.appendChild(this.brush_size_slider)\n bottom_panel.appendChild(this.brush_opacity_slider)\n bottom_panel.appendChild(this.colorButton)\n\n imgCanvas.style.position = 'absolute'\n maskCanvas.style.position = 'absolute'\n\n imgCanvas.style.top = '200'\n imgCanvas.style.left = '0'\n\n maskCanvas.style.top = imgCanvas.style.top\n maskCanvas.style.left = imgCanvas.style.left\n\n const maskCanvasStyle = this.getMaskCanvasStyle()\n maskCanvas.style.mixBlendMode = maskCanvasStyle.mixBlendMode\n maskCanvas.style.opacity = maskCanvasStyle.opacity.toString()\n }\n\n async show() {\n this.zoom_ratio = 1.0\n this.pan_x = 0\n this.pan_y = 0\n\n if (!this.is_layout_created) {\n // layout\n const imgCanvas = document.createElement('canvas')\n const maskCanvas = document.createElement('canvas')\n\n imgCanvas.id = 'imageCanvas'\n maskCanvas.id = 'maskCanvas'\n\n this.setlayout(imgCanvas, maskCanvas)\n\n // prepare content\n this.imgCanvas = imgCanvas\n this.maskCanvas = maskCanvas\n this.maskCtx = maskCanvas.getContext('2d', { willReadFrequently: true })\n\n this.setEventHandler(maskCanvas)\n\n this.is_layout_created = true\n\n // replacement of onClose hook since close is not real close\n const self = this\n const observer = new MutationObserver(function (mutations) {\n mutations.forEach(function (mutation) {\n if (\n mutation.type === 'attributes' &&\n mutation.attributeName === 'style'\n ) {\n if (\n self.last_display_style &&\n self.last_display_style != 'none' &&\n self.element.style.display == 'none'\n ) {\n self.brush.style.display = 'none'\n ComfyApp.onClipspaceEditorClosed()\n }\n\n self.last_display_style = self.element.style.display\n }\n })\n })\n\n const config = { attributes: true }\n observer.observe(this.element, config)\n }\n\n // The keydown event needs to be reconfigured when closing the dialog as it gets removed.\n document.addEventListener('keydown', MaskEditorDialog.handleKeyDown)\n\n if (ComfyApp.clipspace_return_node) {\n this.saveButton.innerText = 'Save to node'\n } else {\n this.saveButton.innerText = 'Save'\n }\n this.saveButton.disabled = false\n\n this.element.style.display = 'block'\n this.element.style.width = '85%'\n this.element.style.margin = '0 7.5%'\n this.element.style.height = '100vh'\n this.element.style.top = '50%'\n this.element.style.left = '42%'\n this.element.style.zIndex = '8888' // NOTE: alert dialog must be high priority.\n\n await this.setImages(this.imgCanvas)\n\n this.is_visible = true\n }\n\n isOpened() {\n return this.element.style.display == 'block'\n }\n\n invalidateCanvas(orig_image, mask_image) {\n this.imgCanvas.width = orig_image.width\n this.imgCanvas.height = orig_image.height\n\n this.maskCanvas.width = orig_image.width\n this.maskCanvas.height = orig_image.height\n\n let imgCtx = this.imgCanvas.getContext('2d', { willReadFrequently: true })\n let maskCtx = this.maskCanvas.getContext('2d', {\n willReadFrequently: true\n })\n\n imgCtx.drawImage(orig_image, 0, 0, orig_image.width, orig_image.height)\n prepare_mask(mask_image, this.maskCanvas, maskCtx, this.getMaskColor())\n }\n\n async setImages(imgCanvas) {\n let self = this\n\n const imgCtx = imgCanvas.getContext('2d', { willReadFrequently: true })\n const maskCtx = this.maskCtx\n const maskCanvas = this.maskCanvas\n\n imgCtx.clearRect(0, 0, this.imgCanvas.width, this.imgCanvas.height)\n maskCtx.clearRect(0, 0, this.maskCanvas.width, this.maskCanvas.height)\n\n // image load\n const filepath = ComfyApp.clipspace.images\n\n const alpha_url = new URL(\n ComfyApp.clipspace.imgs[ComfyApp.clipspace['selectedIndex']].src\n )\n alpha_url.searchParams.delete('channel')\n alpha_url.searchParams.delete('preview')\n alpha_url.searchParams.set('channel', 'a')\n let mask_image = await loadImage(alpha_url)\n\n // original image load\n const rgb_url = new URL(\n ComfyApp.clipspace.imgs[ComfyApp.clipspace['selectedIndex']].src\n )\n rgb_url.searchParams.delete('channel')\n rgb_url.searchParams.set('channel', 'rgb')\n this.image = new Image()\n this.image.onload = function () {\n maskCanvas.width = self.image.width\n maskCanvas.height = self.image.height\n\n self.invalidateCanvas(self.image, mask_image)\n self.initializeCanvasPanZoom()\n }\n this.image.src = rgb_url.toString()\n }\n\n initializeCanvasPanZoom() {\n // set initialize\n let drawWidth = this.image.width\n let drawHeight = this.image.height\n\n let width = this.element.clientWidth\n let height = this.element.clientHeight\n\n if (this.image.width > width) {\n drawWidth = width\n drawHeight = (drawWidth / this.image.width) * this.image.height\n }\n\n if (drawHeight > height) {\n drawHeight = height\n drawWidth = (drawHeight / this.image.height) * this.image.width\n }\n\n this.zoom_ratio = drawWidth / this.image.width\n\n const canvasX = (width - drawWidth) / 2\n const canvasY = (height - drawHeight) / 2\n this.pan_x = canvasX\n this.pan_y = canvasY\n\n this.invalidatePanZoom()\n }\n\n invalidatePanZoom() {\n let raw_width = this.image.width * this.zoom_ratio\n let raw_height = this.image.height * this.zoom_ratio\n\n if (this.pan_x + raw_width < 10) {\n this.pan_x = 10 - raw_width\n }\n\n if (this.pan_y + raw_height < 10) {\n this.pan_y = 10 - raw_height\n }\n\n let width = `${raw_width}px`\n let height = `${raw_height}px`\n\n let left = `${this.pan_x}px`\n let top = `${this.pan_y}px`\n\n this.maskCanvas.style.width = width\n this.maskCanvas.style.height = height\n this.maskCanvas.style.left = left\n this.maskCanvas.style.top = top\n\n this.imgCanvas.style.width = width\n this.imgCanvas.style.height = height\n this.imgCanvas.style.left = left\n this.imgCanvas.style.top = top\n }\n\n setEventHandler(maskCanvas) {\n const self = this\n\n if (!this.handler_registered) {\n maskCanvas.addEventListener('contextmenu', (event) => {\n event.preventDefault()\n })\n\n this.element.addEventListener('wheel', (event) =>\n this.handleWheelEvent(self, event)\n )\n this.element.addEventListener('pointermove', (event) =>\n this.pointMoveEvent(self, event)\n )\n this.element.addEventListener('touchmove', (event) =>\n this.pointMoveEvent(self, event)\n )\n\n this.element.addEventListener('dragstart', (event) => {\n if (event.ctrlKey) {\n event.preventDefault()\n }\n })\n\n maskCanvas.addEventListener('pointerdown', (event) =>\n this.handlePointerDown(self, event)\n )\n maskCanvas.addEventListener('pointermove', (event) =>\n this.draw_move(self, event)\n )\n maskCanvas.addEventListener('touchmove', (event) =>\n this.draw_move(self, event)\n )\n maskCanvas.addEventListener('pointerover', (event) => {\n this.brush.style.display = 'block'\n })\n maskCanvas.addEventListener('pointerleave', (event) => {\n this.brush.style.display = 'none'\n })\n\n document.addEventListener('pointerup', MaskEditorDialog.handlePointerUp)\n\n this.handler_registered = true\n }\n }\n\n getMaskCanvasStyle() {\n if (this.brush_color_mode === 'negative') {\n return {\n mixBlendMode: 'difference',\n opacity: '1'\n }\n } else {\n return {\n mixBlendMode: 'initial',\n opacity: this.brush_opacity\n }\n }\n }\n\n getMaskColor() {\n if (this.brush_color_mode === 'black') {\n return { r: 0, g: 0, b: 0 }\n }\n if (this.brush_color_mode === 'white') {\n return { r: 255, g: 255, b: 255 }\n }\n if (this.brush_color_mode === 'negative') {\n // negative effect only works with white color\n return { r: 255, g: 255, b: 255 }\n }\n\n return { r: 0, g: 0, b: 0 }\n }\n\n getMaskFillStyle() {\n const maskColor = this.getMaskColor()\n\n return 'rgb(' + maskColor.r + ',' + maskColor.g + ',' + maskColor.b + ')'\n }\n\n getColorButtonText() {\n let colorCaption = 'unknown'\n\n if (this.brush_color_mode === 'black') {\n colorCaption = 'black'\n } else if (this.brush_color_mode === 'white') {\n colorCaption = 'white'\n } else if (this.brush_color_mode === 'negative') {\n colorCaption = 'negative'\n }\n\n return 'Color: ' + colorCaption\n }\n\n updateWhenBrushColorModeChanged() {\n this.colorButton.innerText = this.getColorButtonText()\n\n // update mask canvas css styles\n\n const maskCanvasStyle = this.getMaskCanvasStyle()\n this.maskCanvas.style.mixBlendMode = maskCanvasStyle.mixBlendMode\n this.maskCanvas.style.opacity = maskCanvasStyle.opacity.toString()\n\n // update mask canvas rgb colors\n\n const maskColor = this.getMaskColor()\n\n const maskData = this.maskCtx.getImageData(\n 0,\n 0,\n this.maskCanvas.width,\n this.maskCanvas.height\n )\n\n for (let i = 0; i < maskData.data.length; i += 4) {\n maskData.data[i] = maskColor.r\n maskData.data[i + 1] = maskColor.g\n maskData.data[i + 2] = maskColor.b\n }\n\n this.maskCtx.putImageData(maskData, 0, 0)\n }\n\n brush_opacity = 0.7\n brush_size = 10\n brush_color_mode = 'black'\n drawing_mode = false\n lastx = -1\n lasty = -1\n lasttime = 0\n\n static handleKeyDown(event) {\n const self = MaskEditorDialog.instance\n if (event.key === ']') {\n self.brush_size = Math.min(self.brush_size + 2, 100)\n self.brush_slider_input.value = self.brush_size\n } else if (event.key === '[') {\n self.brush_size = Math.max(self.brush_size - 2, 1)\n self.brush_slider_input.value = self.brush_size\n } else if (event.key === 'Enter') {\n self.save()\n }\n\n self.updateBrushPreview(self)\n }\n\n static handlePointerUp(event) {\n event.preventDefault()\n\n this.mousedown_x = null\n this.mousedown_y = null\n\n MaskEditorDialog.instance.drawing_mode = false\n }\n\n updateBrushPreview(self) {\n const brush = self.brush\n\n var centerX = self.cursorX\n var centerY = self.cursorY\n\n brush.style.width = self.brush_size * 2 * this.zoom_ratio + 'px'\n brush.style.height = self.brush_size * 2 * this.zoom_ratio + 'px'\n brush.style.left = centerX - self.brush_size * this.zoom_ratio + 'px'\n brush.style.top = centerY - self.brush_size * this.zoom_ratio + 'px'\n }\n\n handleWheelEvent(self, event) {\n event.preventDefault()\n\n if (event.ctrlKey) {\n // zoom canvas\n if (event.deltaY < 0) {\n this.zoom_ratio = Math.min(10.0, this.zoom_ratio + 0.2)\n } else {\n this.zoom_ratio = Math.max(0.2, this.zoom_ratio - 0.2)\n }\n\n this.invalidatePanZoom()\n } else {\n // adjust brush size\n if (event.deltaY < 0) this.brush_size = Math.min(this.brush_size + 2, 100)\n else this.brush_size = Math.max(this.brush_size - 2, 1)\n\n this.brush_slider_input.value = this.brush_size.toString()\n\n this.updateBrushPreview(this)\n }\n }\n\n pointMoveEvent(self, event) {\n this.cursorX = event.pageX\n this.cursorY = event.pageY\n\n self.updateBrushPreview(self)\n\n if (event.ctrlKey) {\n event.preventDefault()\n self.pan_move(self, event)\n }\n\n let left_button_down =\n (window.TouchEvent && event instanceof TouchEvent) || event.buttons == 1\n\n if (event.shiftKey && left_button_down) {\n self.drawing_mode = false\n\n const y = event.clientY\n let delta = (self.zoom_lasty - y) * 0.005\n self.zoom_ratio = Math.max(\n Math.min(10.0, self.last_zoom_ratio - delta),\n 0.2\n )\n\n this.invalidatePanZoom()\n return\n }\n }\n\n pan_move(self, event) {\n if (event.buttons == 1) {\n if (MaskEditorDialog.mousedown_x) {\n let deltaX = MaskEditorDialog.mousedown_x - event.clientX\n let deltaY = MaskEditorDialog.mousedown_y - event.clientY\n\n self.pan_x = this.mousedown_pan_x - deltaX\n self.pan_y = this.mousedown_pan_y - deltaY\n\n self.invalidatePanZoom()\n }\n }\n }\n\n draw_move(self, event) {\n if (event.ctrlKey || event.shiftKey) {\n return\n }\n\n event.preventDefault()\n\n this.cursorX = event.pageX\n this.cursorY = event.pageY\n\n self.updateBrushPreview(self)\n\n let left_button_down =\n (window.TouchEvent && event instanceof TouchEvent) || event.buttons == 1\n let right_button_down = [2, 5, 32].includes(event.buttons)\n\n if (!event.altKey && left_button_down) {\n var diff = performance.now() - self.lasttime\n\n const maskRect = self.maskCanvas.getBoundingClientRect()\n\n var x = event.offsetX\n var y = event.offsetY\n\n if (event.offsetX == null) {\n x = event.targetTouches[0].clientX - maskRect.left\n }\n\n if (event.offsetY == null) {\n y = event.targetTouches[0].clientY - maskRect.top\n }\n\n x /= self.zoom_ratio\n y /= self.zoom_ratio\n\n var brush_size = this.brush_size\n if (event instanceof PointerEvent && event.pointerType == 'pen') {\n brush_size *= event.pressure\n this.last_pressure = event.pressure\n } else if (\n window.TouchEvent &&\n event instanceof TouchEvent &&\n diff < 20\n ) {\n // The firing interval of PointerEvents in Pen is unreliable, so it is supplemented by TouchEvents.\n brush_size *= this.last_pressure\n } else {\n brush_size = this.brush_size\n }\n\n if (diff > 20 && !this.drawing_mode)\n requestAnimationFrame(() => {\n self.maskCtx.beginPath()\n self.maskCtx.fillStyle = this.getMaskFillStyle()\n self.maskCtx.globalCompositeOperation = 'source-over'\n self.maskCtx.arc(x, y, brush_size, 0, Math.PI * 2, false)\n self.maskCtx.fill()\n self.lastx = x\n self.lasty = y\n })\n else\n requestAnimationFrame(() => {\n self.maskCtx.beginPath()\n self.maskCtx.fillStyle = this.getMaskFillStyle()\n self.maskCtx.globalCompositeOperation = 'source-over'\n\n var dx = x - self.lastx\n var dy = y - self.lasty\n\n var distance = Math.sqrt(dx * dx + dy * dy)\n var directionX = dx / distance\n var directionY = dy / distance\n\n for (var i = 0; i < distance; i += 5) {\n var px = self.lastx + directionX * i\n var py = self.lasty + directionY * i\n self.maskCtx.arc(px, py, brush_size, 0, Math.PI * 2, false)\n self.maskCtx.fill()\n }\n self.lastx = x\n self.lasty = y\n })\n\n self.lasttime = performance.now()\n } else if ((event.altKey && left_button_down) || right_button_down) {\n const maskRect = self.maskCanvas.getBoundingClientRect()\n const x =\n (event.offsetX || event.targetTouches[0].clientX - maskRect.left) /\n self.zoom_ratio\n const y =\n (event.offsetY || event.targetTouches[0].clientY - maskRect.top) /\n self.zoom_ratio\n\n var brush_size = this.brush_size\n if (event instanceof PointerEvent && event.pointerType == 'pen') {\n brush_size *= event.pressure\n this.last_pressure = event.pressure\n } else if (\n window.TouchEvent &&\n event instanceof TouchEvent &&\n diff < 20\n ) {\n brush_size *= this.last_pressure\n } else {\n brush_size = this.brush_size\n }\n\n if (diff > 20 && !this.drawing_mode)\n // cannot tracking drawing_mode for touch event\n requestAnimationFrame(() => {\n self.maskCtx.beginPath()\n self.maskCtx.globalCompositeOperation = 'destination-out'\n self.maskCtx.arc(x, y, brush_size, 0, Math.PI * 2, false)\n self.maskCtx.fill()\n self.lastx = x\n self.lasty = y\n })\n else\n requestAnimationFrame(() => {\n self.maskCtx.beginPath()\n self.maskCtx.globalCompositeOperation = 'destination-out'\n\n var dx = x - self.lastx\n var dy = y - self.lasty\n\n var distance = Math.sqrt(dx * dx + dy * dy)\n var directionX = dx / distance\n var directionY = dy / distance\n\n for (var i = 0; i < distance; i += 5) {\n var px = self.lastx + directionX * i\n var py = self.lasty + directionY * i\n self.maskCtx.arc(px, py, brush_size, 0, Math.PI * 2, false)\n self.maskCtx.fill()\n }\n self.lastx = x\n self.lasty = y\n })\n\n self.lasttime = performance.now()\n }\n }\n\n handlePointerDown(self, event) {\n if (event.ctrlKey) {\n if (event.buttons == 1) {\n MaskEditorDialog.mousedown_x = event.clientX\n MaskEditorDialog.mousedown_y = event.clientY\n\n this.mousedown_pan_x = this.pan_x\n this.mousedown_pan_y = this.pan_y\n }\n return\n }\n\n var brush_size = this.brush_size\n if (event instanceof PointerEvent && event.pointerType == 'pen') {\n brush_size *= event.pressure\n this.last_pressure = event.pressure\n }\n\n if ([0, 2, 5].includes(event.button)) {\n self.drawing_mode = true\n\n event.preventDefault()\n\n if (event.shiftKey) {\n self.zoom_lasty = event.clientY\n self.last_zoom_ratio = self.zoom_ratio\n return\n }\n\n const maskRect = self.maskCanvas.getBoundingClientRect()\n const x =\n (event.offsetX || event.targetTouches[0].clientX - maskRect.left) /\n self.zoom_ratio\n const y =\n (event.offsetY || event.targetTouches[0].clientY - maskRect.top) /\n self.zoom_ratio\n\n self.maskCtx.beginPath()\n if (!event.altKey && event.button == 0) {\n self.maskCtx.fillStyle = this.getMaskFillStyle()\n self.maskCtx.globalCompositeOperation = 'source-over'\n } else {\n self.maskCtx.globalCompositeOperation = 'destination-out'\n }\n self.maskCtx.arc(x, y, brush_size, 0, Math.PI * 2, false)\n self.maskCtx.fill()\n self.lastx = x\n self.lasty = y\n self.lasttime = performance.now()\n }\n }\n\n async save() {\n const backupCanvas = document.createElement('canvas')\n const backupCtx = backupCanvas.getContext('2d', {\n willReadFrequently: true\n })\n backupCanvas.width = this.image.width\n backupCanvas.height = this.image.height\n\n backupCtx.clearRect(0, 0, backupCanvas.width, backupCanvas.height)\n backupCtx.drawImage(\n this.maskCanvas,\n 0,\n 0,\n this.maskCanvas.width,\n this.maskCanvas.height,\n 0,\n 0,\n backupCanvas.width,\n backupCanvas.height\n )\n\n // paste mask data into alpha channel\n const backupData = backupCtx.getImageData(\n 0,\n 0,\n backupCanvas.width,\n backupCanvas.height\n )\n\n // refine mask image\n for (let i = 0; i < backupData.data.length; i += 4) {\n if (backupData.data[i + 3] == 255) backupData.data[i + 3] = 0\n else backupData.data[i + 3] = 255\n\n backupData.data[i] = 0\n backupData.data[i + 1] = 0\n backupData.data[i + 2] = 0\n }\n\n backupCtx.globalCompositeOperation = 'source-over'\n backupCtx.putImageData(backupData, 0, 0)\n\n const formData = new FormData()\n const filename = 'clipspace-mask-' + performance.now() + '.png'\n\n const item = {\n filename: filename,\n subfolder: 'clipspace',\n type: 'input'\n }\n\n if (ComfyApp.clipspace.images) ComfyApp.clipspace.images[0] = item\n\n if (ComfyApp.clipspace.widgets) {\n const index = ComfyApp.clipspace.widgets.findIndex(\n (obj) => obj.name === 'image'\n )\n\n if (index >= 0) ComfyApp.clipspace.widgets[index].value = item\n }\n\n const dataURL = backupCanvas.toDataURL()\n const blob = dataURLToBlob(dataURL)\n\n let original_url = new URL(this.image.src)\n\n type Ref = { filename: string; subfolder?: string; type?: string }\n\n const original_ref: Ref = {\n filename: original_url.searchParams.get('filename')\n }\n\n let original_subfolder = original_url.searchParams.get('subfolder')\n if (original_subfolder) original_ref.subfolder = original_subfolder\n\n let original_type = original_url.searchParams.get('type')\n if (original_type) original_ref.type = original_type\n\n formData.append('image', blob, filename)\n formData.append('original_ref', JSON.stringify(original_ref))\n formData.append('type', 'input')\n formData.append('subfolder', 'clipspace')\n\n this.saveButton.innerText = 'Saving...'\n this.saveButton.disabled = true\n await uploadMask(item, formData)\n ComfyApp.onClipspaceEditorSave()\n this.close()\n }\n}\n\napp.registerExtension({\n name: 'Comfy.MaskEditor',\n init(app) {\n ComfyApp.open_maskeditor = function () {\n const dlg = MaskEditorDialog.getInstance()\n if (!dlg.isOpened()) {\n dlg.show()\n }\n }\n\n const context_predicate = () =>\n ComfyApp.clipspace &&\n ComfyApp.clipspace.imgs &&\n ComfyApp.clipspace.imgs.length > 0\n ClipspaceDialog.registerButton(\n 'MaskEditor',\n context_predicate,\n ComfyApp.open_maskeditor\n )\n }\n})\n","import { app } from '../../scripts/app'\nimport { api } from '../../scripts/api'\nimport { ComfyDialog, $el } from '../../scripts/ui'\nimport { GroupNodeConfig, GroupNodeHandler } from './groupNode'\nimport { LGraphCanvas } from '@comfyorg/litegraph'\n\n// Adds the ability to save and add multiple nodes as a template\n// To save:\n// Select multiple nodes (ctrl + drag to select a region or ctrl+click individual nodes)\n// Right click the canvas\n// Save Node Template -> give it a name\n//\n// To add:\n// Right click the canvas\n// Node templates -> click the one to add\n//\n// To delete/rename:\n// Right click the canvas\n// Node templates -> Manage\n//\n// To rearrange:\n// Open the manage dialog and Drag and drop elements using the \"Name:\" label as handle\n\nconst id = 'Comfy.NodeTemplates'\nconst file = 'comfy.templates.json'\n\nclass ManageTemplates extends ComfyDialog {\n templates: any[]\n draggedEl: HTMLElement | null\n saveVisualCue: number | null\n emptyImg: HTMLImageElement\n importInput: HTMLInputElement\n\n constructor() {\n super()\n this.load().then((v) => {\n this.templates = v\n })\n\n this.element.classList.add('comfy-manage-templates')\n this.draggedEl = null\n this.saveVisualCue = null\n this.emptyImg = new Image()\n this.emptyImg.src =\n 'data:image/gif;base64,R0lGODlhAQABAIAAAAUEBAAAACwAAAAAAQABAAACAkQBADs='\n\n this.importInput = $el('input', {\n type: 'file',\n accept: '.json',\n multiple: true,\n style: { display: 'none' },\n parent: document.body,\n onchange: () => this.importAll()\n }) as HTMLInputElement\n }\n\n createButtons() {\n const btns = super.createButtons()\n btns[0].textContent = 'Close'\n btns[0].onclick = (e) => {\n clearTimeout(this.saveVisualCue)\n this.close()\n }\n btns.unshift(\n $el('button', {\n type: 'button',\n textContent: 'Export',\n onclick: () => this.exportAll()\n })\n )\n btns.unshift(\n $el('button', {\n type: 'button',\n textContent: 'Import',\n onclick: () => {\n this.importInput.click()\n }\n })\n )\n return btns\n }\n\n async load() {\n let templates = []\n if (app.storageLocation === 'server') {\n if (app.isNewUserSession) {\n // New user so migrate existing templates\n const json = localStorage.getItem(id)\n if (json) {\n templates = JSON.parse(json)\n }\n await api.storeUserData(file, json, { stringify: false })\n } else {\n const res = await api.getUserData(file)\n if (res.status === 200) {\n try {\n templates = await res.json()\n } catch (error) {}\n } else if (res.status !== 404) {\n console.error(res.status + ' ' + res.statusText)\n }\n }\n } else {\n const json = localStorage.getItem(id)\n if (json) {\n templates = JSON.parse(json)\n }\n }\n\n return templates ?? []\n }\n\n async store() {\n if (app.storageLocation === 'server') {\n const templates = JSON.stringify(this.templates, undefined, 4)\n localStorage.setItem(id, templates) // Backwards compatibility\n try {\n await api.storeUserData(file, templates, { stringify: false })\n } catch (error) {\n console.error(error)\n alert(error.message)\n }\n } else {\n localStorage.setItem(id, JSON.stringify(this.templates))\n }\n }\n\n async importAll() {\n for (const file of this.importInput.files) {\n if (file.type === 'application/json' || file.name.endsWith('.json')) {\n const reader = new FileReader()\n reader.onload = async () => {\n const importFile = JSON.parse(reader.result as string)\n if (importFile?.templates) {\n for (const template of importFile.templates) {\n if (template?.name && template?.data) {\n this.templates.push(template)\n }\n }\n await this.store()\n }\n }\n await reader.readAsText(file)\n }\n }\n\n this.importInput.value = null\n\n this.close()\n }\n\n exportAll() {\n if (this.templates.length == 0) {\n alert('No templates to export.')\n return\n }\n\n const json = JSON.stringify({ templates: this.templates }, null, 2) // convert the data to a JSON string\n const blob = new Blob([json], { type: 'application/json' })\n const url = URL.createObjectURL(blob)\n const a = $el('a', {\n href: url,\n download: 'node_templates.json',\n style: { display: 'none' },\n parent: document.body\n })\n a.click()\n setTimeout(function () {\n a.remove()\n window.URL.revokeObjectURL(url)\n }, 0)\n }\n\n show() {\n // Show list of template names + delete button\n super.show(\n $el(\n 'div',\n {},\n this.templates.flatMap((t, i) => {\n let nameInput\n return [\n $el(\n 'div',\n {\n dataset: { id: i.toString() },\n className: 'templateManagerRow',\n style: {\n display: 'grid',\n gridTemplateColumns: '1fr auto',\n border: '1px dashed transparent',\n gap: '5px',\n backgroundColor: 'var(--comfy-menu-bg)'\n },\n ondragstart: (e) => {\n this.draggedEl = e.currentTarget\n e.currentTarget.style.opacity = '0.6'\n e.currentTarget.style.border = '1px dashed yellow'\n e.dataTransfer.effectAllowed = 'move'\n e.dataTransfer.setDragImage(this.emptyImg, 0, 0)\n },\n ondragend: (e) => {\n e.target.style.opacity = '1'\n e.currentTarget.style.border = '1px dashed transparent'\n e.currentTarget.removeAttribute('draggable')\n\n // rearrange the elements\n this.element\n .querySelectorAll('.templateManagerRow')\n .forEach((el: HTMLElement, i) => {\n var prev_i = Number.parseInt(el.dataset.id)\n\n if (el == this.draggedEl && prev_i != i) {\n this.templates.splice(\n i,\n 0,\n this.templates.splice(prev_i, 1)[0]\n )\n }\n el.dataset.id = i.toString()\n })\n this.store()\n },\n ondragover: (e) => {\n e.preventDefault()\n if (e.currentTarget == this.draggedEl) return\n\n let rect = e.currentTarget.getBoundingClientRect()\n if (e.clientY > rect.top + rect.height / 2) {\n e.currentTarget.parentNode.insertBefore(\n this.draggedEl,\n e.currentTarget.nextSibling\n )\n } else {\n e.currentTarget.parentNode.insertBefore(\n this.draggedEl,\n e.currentTarget\n )\n }\n }\n },\n [\n $el(\n 'label',\n {\n textContent: 'Name: ',\n style: {\n cursor: 'grab'\n },\n onmousedown: (e) => {\n // enable dragging only from the label\n if (e.target.localName == 'label')\n e.currentTarget.parentNode.draggable = 'true'\n }\n },\n [\n $el('input', {\n value: t.name,\n dataset: { name: t.name },\n style: {\n transitionProperty: 'background-color',\n transitionDuration: '0s'\n },\n onchange: (e) => {\n clearTimeout(this.saveVisualCue)\n var el = e.target\n var row = el.parentNode.parentNode\n this.templates[row.dataset.id].name =\n el.value.trim() || 'untitled'\n this.store()\n el.style.backgroundColor = 'rgb(40, 95, 40)'\n el.style.transitionDuration = '0s'\n // @ts-expect-error\n // In browser env the return value is number.\n this.saveVisualCue = setTimeout(function () {\n el.style.transitionDuration = '.7s'\n el.style.backgroundColor = 'var(--comfy-input-bg)'\n }, 15)\n },\n onkeypress: (e) => {\n var el = e.target\n clearTimeout(this.saveVisualCue)\n el.style.transitionDuration = '0s'\n el.style.backgroundColor = 'var(--comfy-input-bg)'\n },\n $: (el) => (nameInput = el)\n })\n ]\n ),\n $el('div', {}, [\n $el('button', {\n textContent: 'Export',\n style: {\n fontSize: '12px',\n fontWeight: 'normal'\n },\n onclick: (e) => {\n const json = JSON.stringify({ templates: [t] }, null, 2) // convert the data to a JSON string\n const blob = new Blob([json], {\n type: 'application/json'\n })\n const url = URL.createObjectURL(blob)\n const a = $el('a', {\n href: url,\n download: (nameInput.value || t.name) + '.json',\n style: { display: 'none' },\n parent: document.body\n })\n a.click()\n setTimeout(function () {\n a.remove()\n window.URL.revokeObjectURL(url)\n }, 0)\n }\n }),\n $el('button', {\n textContent: 'Delete',\n style: {\n fontSize: '12px',\n color: 'red',\n fontWeight: 'normal'\n },\n onclick: (e) => {\n const item = e.target.parentNode.parentNode\n item.parentNode.removeChild(item)\n this.templates.splice(item.dataset.id * 1, 1)\n this.store()\n // update the rows index, setTimeout ensures that the list is updated\n var that = this\n setTimeout(function () {\n that.element\n .querySelectorAll('.templateManagerRow')\n .forEach((el: HTMLElement, i) => {\n el.dataset.id = i.toString()\n })\n }, 0)\n }\n })\n ])\n ]\n )\n ]\n })\n )\n )\n }\n}\n\napp.registerExtension({\n name: id,\n setup() {\n const manage = new ManageTemplates()\n\n const clipboardAction = async (cb) => {\n // We use the clipboard functions but dont want to overwrite the current user clipboard\n // Restore it after we've run our callback\n const old = localStorage.getItem('litegrapheditor_clipboard')\n await cb()\n localStorage.setItem('litegrapheditor_clipboard', old)\n }\n\n const orig = LGraphCanvas.prototype.getCanvasMenuOptions\n LGraphCanvas.prototype.getCanvasMenuOptions = function () {\n const options = orig.apply(this, arguments)\n\n options.push(null)\n options.push({\n content: `Save Selected as Template`,\n disabled: !Object.keys(app.canvas.selected_nodes || {}).length,\n callback: () => {\n const name = prompt('Enter name')\n if (!name?.trim()) return\n\n clipboardAction(() => {\n app.canvas.copyToClipboard()\n let data = localStorage.getItem('litegrapheditor_clipboard')\n data = JSON.parse(data)\n const nodeIds = Object.keys(app.canvas.selected_nodes)\n for (let i = 0; i < nodeIds.length; i++) {\n const node = app.graph.getNodeById(Number.parseInt(nodeIds[i]))\n // @ts-expect-error\n const nodeData = node?.constructor.nodeData\n\n let groupData = GroupNodeHandler.getGroupData(node)\n if (groupData) {\n groupData = groupData.nodeData\n // @ts-expect-error\n if (!data.groupNodes) {\n // @ts-expect-error\n data.groupNodes = {}\n }\n // @ts-expect-error\n data.groupNodes[nodeData.name] = groupData\n // @ts-expect-error\n data.nodes[i].type = nodeData.name\n }\n }\n\n manage.templates.push({\n name,\n data: JSON.stringify(data)\n })\n manage.store()\n })\n }\n })\n\n // Map each template to a menu item\n const subItems = manage.templates.map((t) => {\n return {\n content: t.name,\n callback: () => {\n clipboardAction(async () => {\n const data = JSON.parse(t.data)\n await GroupNodeConfig.registerFromWorkflow(data.groupNodes, {})\n localStorage.setItem('litegrapheditor_clipboard', t.data)\n app.canvas.pasteFromClipboard()\n })\n }\n }\n })\n\n subItems.push(null, {\n content: 'Manage',\n callback: () => manage.show()\n })\n\n options.push({\n content: 'Node Templates',\n submenu: {\n options: subItems\n }\n })\n\n return options\n }\n }\n})\n","import { LiteGraph, LGraphCanvas } from '@comfyorg/litegraph'\nimport { app } from '../../scripts/app'\nimport { ComfyWidgets } from '../../scripts/widgets'\nimport { LGraphNode } from '@comfyorg/litegraph'\n// Node that add notes to your project\n\napp.registerExtension({\n name: 'Comfy.NoteNode',\n registerCustomNodes() {\n class NoteNode extends LGraphNode {\n static category: string\n\n color = LGraphCanvas.node_colors.yellow.color\n bgcolor = LGraphCanvas.node_colors.yellow.bgcolor\n groupcolor = LGraphCanvas.node_colors.yellow.groupcolor\n isVirtualNode: boolean\n collapsable: boolean\n title_mode: number\n\n constructor(title?: string) {\n super(title)\n if (!this.properties) {\n this.properties = { text: '' }\n }\n ComfyWidgets.STRING(\n // Should we extends LGraphNode? Yesss\n this,\n '',\n // @ts-expect-error\n ['', { default: this.properties.text, multiline: true }],\n app\n )\n\n this.serialize_widgets = true\n this.isVirtualNode = true\n }\n }\n\n // Load default visibility\n\n LiteGraph.registerNodeType(\n 'Note',\n Object.assign(NoteNode, {\n title_mode: LiteGraph.NORMAL_TITLE,\n title: 'Note',\n collapsable: true\n })\n )\n\n NoteNode.category = 'utils'\n }\n})\n","import { app } from '../../scripts/app'\nimport { mergeIfValid, getWidgetConfig, setWidgetConfig } from './widgetInputs'\nimport { LiteGraph, LGraphCanvas, LGraphNode } from '@comfyorg/litegraph'\n\n// Node that allows you to redirect connections for cleaner graphs\n\napp.registerExtension({\n name: 'Comfy.RerouteNode',\n registerCustomNodes(app) {\n interface RerouteNode extends LGraphNode {\n __outputType?: string\n }\n\n class RerouteNode extends LGraphNode {\n static category: string | undefined\n static defaultVisibility = false\n\n constructor(title?: string) {\n super(title)\n if (!this.properties) {\n this.properties = {}\n }\n this.properties.showOutputText = RerouteNode.defaultVisibility\n this.properties.horizontal = false\n\n this.addInput('', '*')\n this.addOutput(this.properties.showOutputText ? '*' : '', '*')\n\n this.onAfterGraphConfigured = function () {\n requestAnimationFrame(() => {\n this.onConnectionsChange(LiteGraph.INPUT, null, true, null)\n })\n }\n\n this.onConnectionsChange = function (\n type,\n index,\n connected,\n link_info\n ) {\n this.applyOrientation()\n\n // Prevent multiple connections to different types when we have no input\n if (connected && type === LiteGraph.OUTPUT) {\n // Ignore wildcard nodes as these will be updated to real types\n const types = new Set(\n this.outputs[0].links\n .map((l) => app.graph.links[l].type)\n .filter((t) => t !== '*')\n )\n if (types.size > 1) {\n const linksToDisconnect = []\n for (let i = 0; i < this.outputs[0].links.length - 1; i++) {\n const linkId = this.outputs[0].links[i]\n const link = app.graph.links[linkId]\n linksToDisconnect.push(link)\n }\n for (const link of linksToDisconnect) {\n const node = app.graph.getNodeById(link.target_id)\n node.disconnectInput(link.target_slot)\n }\n }\n }\n\n // Find root input\n let currentNode = this\n let updateNodes = []\n let inputType = null\n let inputNode = null\n while (currentNode) {\n updateNodes.unshift(currentNode)\n const linkId = currentNode.inputs[0].link\n if (linkId !== null) {\n const link = app.graph.links[linkId]\n if (!link) return\n const node = app.graph.getNodeById(link.origin_id)\n const type = node.constructor.type\n if (type === 'Reroute') {\n if (node === this) {\n // We've found a circle\n currentNode.disconnectInput(link.target_slot)\n currentNode = null\n } else {\n // Move the previous node\n currentNode = node\n }\n } else {\n // We've found the end\n inputNode = currentNode\n inputType = node.outputs[link.origin_slot]?.type ?? null\n break\n }\n } else {\n // This path has no input node\n currentNode = null\n break\n }\n }\n\n // Find all outputs\n const nodes = [this]\n let outputType = null\n while (nodes.length) {\n currentNode = nodes.pop()\n const outputs =\n (currentNode.outputs ? currentNode.outputs[0].links : []) || []\n if (outputs.length) {\n for (const linkId of outputs) {\n const link = app.graph.links[linkId]\n\n // When disconnecting sometimes the link is still registered\n if (!link) continue\n\n const node = app.graph.getNodeById(link.target_id)\n const type = node.constructor.type\n\n if (type === 'Reroute') {\n // Follow reroute nodes\n nodes.push(node)\n updateNodes.push(node)\n } else {\n // We've found an output\n const nodeOutType =\n node.inputs &&\n node.inputs[link?.target_slot] &&\n node.inputs[link.target_slot].type\n ? node.inputs[link.target_slot].type\n : null\n if (\n inputType &&\n inputType !== '*' &&\n nodeOutType !== inputType\n ) {\n // The output doesnt match our input so disconnect it\n node.disconnectInput(link.target_slot)\n } else {\n outputType = nodeOutType\n }\n }\n }\n } else {\n // No more outputs for this path\n }\n }\n\n const displayType = inputType || outputType || '*'\n const color = LGraphCanvas.link_type_colors[displayType]\n\n let widgetConfig\n let targetWidget\n let widgetType\n // Update the types of each node\n for (const node of updateNodes) {\n // If we dont have an input type we are always wildcard but we'll show the output type\n // This lets you change the output link to a different type and all nodes will update\n node.outputs[0].type = inputType || '*'\n node.__outputType = displayType\n node.outputs[0].name = node.properties.showOutputText\n ? displayType\n : ''\n node.size = node.computeSize()\n node.applyOrientation()\n\n for (const l of node.outputs[0].links || []) {\n const link = app.graph.links[l]\n if (link) {\n link.color = color\n\n if (app.configuringGraph) continue\n const targetNode = app.graph.getNodeById(link.target_id)\n const targetInput = targetNode.inputs?.[link.target_slot]\n if (targetInput?.widget) {\n const config = getWidgetConfig(targetInput)\n if (!widgetConfig) {\n widgetConfig = config[1] ?? {}\n widgetType = config[0]\n }\n if (!targetWidget) {\n targetWidget = targetNode.widgets?.find(\n (w) => w.name === targetInput.widget.name\n )\n }\n\n const merged = mergeIfValid(targetInput, [\n config[0],\n widgetConfig\n ])\n if (merged.customConfig) {\n widgetConfig = merged.customConfig\n }\n }\n }\n }\n }\n\n for (const node of updateNodes) {\n if (widgetConfig && outputType) {\n node.inputs[0].widget = { name: 'value' }\n setWidgetConfig(\n node.inputs[0],\n [widgetType ?? displayType, widgetConfig],\n targetWidget\n )\n } else {\n setWidgetConfig(node.inputs[0], null)\n }\n }\n\n if (inputNode) {\n const link = app.graph.links[inputNode.inputs[0].link]\n if (link) {\n link.color = color\n }\n }\n }\n\n this.clone = function () {\n const cloned = RerouteNode.prototype.clone.apply(this)\n cloned.removeOutput(0)\n cloned.addOutput(this.properties.showOutputText ? '*' : '', '*')\n cloned.size = cloned.computeSize()\n return cloned\n }\n\n // This node is purely frontend and does not impact the resulting prompt so should not be serialized\n this.isVirtualNode = true\n }\n\n getExtraMenuOptions(_, options) {\n options.unshift(\n {\n content:\n (this.properties.showOutputText ? 'Hide' : 'Show') + ' Type',\n callback: () => {\n this.properties.showOutputText = !this.properties.showOutputText\n if (this.properties.showOutputText) {\n this.outputs[0].name =\n this.__outputType || (this.outputs[0].type as string)\n } else {\n this.outputs[0].name = ''\n }\n this.size = this.computeSize()\n this.applyOrientation()\n app.graph.setDirtyCanvas(true, true)\n }\n },\n {\n content:\n (RerouteNode.defaultVisibility ? 'Hide' : 'Show') +\n ' Type By Default',\n callback: () => {\n RerouteNode.setDefaultTextVisibility(\n !RerouteNode.defaultVisibility\n )\n }\n },\n {\n // naming is inverted with respect to LiteGraphNode.horizontal\n // LiteGraphNode.horizontal == true means that\n // each slot in the inputs and outputs are laid out horizontally,\n // which is the opposite of the visual orientation of the inputs and outputs as a node\n content:\n 'Set ' + (this.properties.horizontal ? 'Horizontal' : 'Vertical'),\n callback: () => {\n this.properties.horizontal = !this.properties.horizontal\n this.applyOrientation()\n }\n }\n )\n }\n applyOrientation() {\n this.horizontal = this.properties.horizontal\n if (this.horizontal) {\n // we correct the input position, because LiteGraphNode.horizontal\n // doesn't account for title presence\n // which reroute nodes don't have\n this.inputs[0].pos = [this.size[0] / 2, 0]\n } else {\n delete this.inputs[0].pos\n }\n app.graph.setDirtyCanvas(true, true)\n }\n\n computeSize(): [number, number] {\n return [\n this.properties.showOutputText && this.outputs && this.outputs.length\n ? Math.max(\n 75,\n LiteGraph.NODE_TEXT_SIZE * this.outputs[0].name.length * 0.6 +\n 40\n )\n : 75,\n 26\n ]\n }\n\n static setDefaultTextVisibility(visible) {\n RerouteNode.defaultVisibility = visible\n if (visible) {\n localStorage['Comfy.RerouteNode.DefaultVisibility'] = 'true'\n } else {\n delete localStorage['Comfy.RerouteNode.DefaultVisibility']\n }\n }\n }\n\n // Load default visibility\n RerouteNode.setDefaultTextVisibility(\n !!localStorage['Comfy.RerouteNode.DefaultVisibility']\n )\n\n LiteGraph.registerNodeType(\n 'Reroute',\n Object.assign(RerouteNode, {\n title_mode: LiteGraph.NO_TITLE,\n title: 'Reroute',\n collapsable: false\n })\n )\n\n RerouteNode.category = 'utils'\n }\n})\n","import { app } from '../../scripts/app'\nimport { applyTextReplacements } from '../../scripts/utils'\n// Use widget values and dates in output filenames\n\napp.registerExtension({\n name: 'Comfy.SaveImageExtraOutput',\n async beforeRegisterNodeDef(nodeType, nodeData, app) {\n if (nodeData.name === 'SaveImage' || nodeData.name === 'SaveAnimatedWEBP') {\n const onNodeCreated = nodeType.prototype.onNodeCreated\n // When the SaveImage node is created we want to override the serialization of the output name widget to run our S&R\n nodeType.prototype.onNodeCreated = function () {\n const r = onNodeCreated\n ? onNodeCreated.apply(this, arguments)\n : undefined\n\n const widget = this.widgets.find((w) => w.name === 'filename_prefix')\n widget.serializeValue = () => {\n return applyTextReplacements(app, widget.value)\n }\n\n return r\n }\n } else {\n // When any other node is created add a property to alias the node\n const onNodeCreated = nodeType.prototype.onNodeCreated\n nodeType.prototype.onNodeCreated = function () {\n const r = onNodeCreated\n ? onNodeCreated.apply(this, arguments)\n : undefined\n\n if (!this.properties || !('Node name for S&R' in this.properties)) {\n this.addProperty('Node name for S&R', this.constructor.type, 'string')\n }\n\n return r\n }\n }\n }\n})\n","import { app } from '../../scripts/app'\nimport { LGraphCanvas, LiteGraph } from '@comfyorg/litegraph'\n\nlet touchZooming\nlet touchCount = 0\n\napp.registerExtension({\n name: 'Comfy.SimpleTouchSupport',\n setup() {\n let zoomPos\n let touchTime\n let lastTouch\n\n function getMultiTouchPos(e) {\n return Math.hypot(\n e.touches[0].clientX - e.touches[1].clientX,\n e.touches[0].clientY - e.touches[1].clientY\n )\n }\n\n app.canvasEl.addEventListener(\n 'touchstart',\n (e) => {\n touchCount++\n lastTouch = null\n if (e.touches?.length === 1) {\n // Store start time for press+hold for context menu\n touchTime = new Date()\n lastTouch = e.touches[0]\n } else {\n touchTime = null\n if (e.touches?.length === 2) {\n // Store center pos for zoom\n zoomPos = getMultiTouchPos(e)\n app.canvas.pointer_is_down = false\n }\n }\n },\n true\n )\n\n app.canvasEl.addEventListener('touchend', (e: TouchEvent) => {\n touchZooming = false\n touchCount = e.touches?.length ?? touchCount - 1\n if (touchTime && !e.touches?.length) {\n if (new Date().getTime() - touchTime > 600) {\n try {\n // hack to get litegraph to use this event\n e.constructor = CustomEvent\n } catch (error) {}\n // @ts-expect-error\n e.clientX = lastTouch.clientX\n // @ts-expect-error\n e.clientY = lastTouch.clientY\n\n app.canvas.pointer_is_down = true\n // @ts-expect-error\n app.canvas._mousedown_callback(e)\n }\n touchTime = null\n }\n })\n\n app.canvasEl.addEventListener(\n 'touchmove',\n (e) => {\n touchTime = null\n if (e.touches?.length === 2) {\n app.canvas.pointer_is_down = false\n touchZooming = true\n // @ts-expect-error\n LiteGraph.closeAllContextMenus()\n // @ts-expect-error\n app.canvas.search_box?.close()\n const newZoomPos = getMultiTouchPos(e)\n\n const midX = (e.touches[0].clientX + e.touches[1].clientX) / 2\n const midY = (e.touches[0].clientY + e.touches[1].clientY) / 2\n\n let scale = app.canvas.ds.scale\n const diff = zoomPos - newZoomPos\n if (diff > 0.5) {\n scale *= 1 / 1.07\n } else if (diff < -0.5) {\n scale *= 1.07\n }\n app.canvas.ds.changeScale(scale, [midX, midY])\n app.canvas.setDirty(true, true)\n zoomPos = newZoomPos\n }\n },\n true\n )\n }\n})\n\nconst processMouseDown = LGraphCanvas.prototype.processMouseDown\nLGraphCanvas.prototype.processMouseDown = function (e) {\n if (touchZooming || touchCount) {\n return\n }\n return processMouseDown.apply(this, arguments)\n}\n\nconst processMouseMove = LGraphCanvas.prototype.processMouseMove\nLGraphCanvas.prototype.processMouseMove = function (e) {\n if (touchZooming || touchCount > 1) {\n return\n }\n return processMouseMove.apply(this, arguments)\n}\n","import { app } from '../../scripts/app'\nimport { ComfyWidgets } from '../../scripts/widgets'\nimport { LiteGraph } from '@comfyorg/litegraph'\n// Adds defaults for quickly adding nodes with middle click on the input/output\n\napp.registerExtension({\n name: 'Comfy.SlotDefaults',\n suggestionsNumber: null,\n init() {\n LiteGraph.search_filter_enabled = true\n LiteGraph.middle_click_slot_add_default_node = true\n this.suggestionsNumber = app.ui.settings.addSetting({\n id: 'Comfy.NodeSuggestions.number',\n category: ['Comfy', 'Node Search Box', 'NodeSuggestions'],\n name: 'Number of nodes suggestions',\n tooltip: 'Only for litegraph searchbox/context menu',\n type: 'slider',\n attrs: {\n min: 1,\n max: 100,\n step: 1\n },\n defaultValue: 5,\n onChange: (newVal, oldVal) => {\n this.setDefaults(newVal)\n }\n })\n },\n slot_types_default_out: {},\n slot_types_default_in: {},\n async beforeRegisterNodeDef(nodeType, nodeData, app) {\n var nodeId = nodeData.name\n var inputs = []\n inputs = nodeData['input']['required'] //only show required inputs to reduce the mess also not logical to create node with optional inputs\n for (const inputKey in inputs) {\n var input = inputs[inputKey]\n if (typeof input[0] !== 'string') continue\n\n var type = input[0]\n if (type in ComfyWidgets) {\n var customProperties = input[1]\n if (!customProperties?.forceInput) continue //ignore widgets that don't force input\n }\n\n if (!(type in this.slot_types_default_out)) {\n this.slot_types_default_out[type] = ['Reroute']\n }\n if (this.slot_types_default_out[type].includes(nodeId)) continue\n this.slot_types_default_out[type].push(nodeId)\n\n // Input types have to be stored as lower case\n // Store each node that can handle this input type\n const lowerType = type.toLocaleLowerCase()\n if (!(lowerType in LiteGraph.registered_slot_in_types)) {\n LiteGraph.registered_slot_in_types[lowerType] = { nodes: [] }\n }\n LiteGraph.registered_slot_in_types[lowerType].nodes.push(\n nodeType.comfyClass\n )\n }\n\n var outputs = nodeData['output']\n for (const key in outputs) {\n var type = outputs[key] as string\n if (!(type in this.slot_types_default_in)) {\n this.slot_types_default_in[type] = ['Reroute'] // [\"Reroute\", \"Primitive\"]; primitive doesn't always work :'()\n }\n\n this.slot_types_default_in[type].push(nodeId)\n\n // Store each node that can handle this output type\n if (!(type in LiteGraph.registered_slot_out_types)) {\n LiteGraph.registered_slot_out_types[type] = { nodes: [] }\n }\n LiteGraph.registered_slot_out_types[type].nodes.push(nodeType.comfyClass)\n\n if (!LiteGraph.slot_types_out.includes(type)) {\n LiteGraph.slot_types_out.push(type)\n }\n }\n var maxNum = this.suggestionsNumber.value\n this.setDefaults(maxNum)\n },\n setDefaults(maxNum) {\n LiteGraph.slot_types_default_out = {}\n LiteGraph.slot_types_default_in = {}\n\n for (const type in this.slot_types_default_out) {\n LiteGraph.slot_types_default_out[type] = this.slot_types_default_out[\n type\n ].slice(0, maxNum)\n }\n for (const type in this.slot_types_default_in) {\n LiteGraph.slot_types_default_in[type] = this.slot_types_default_in[\n type\n ].slice(0, maxNum)\n }\n }\n})\n","import { app } from '../../scripts/app'\nimport {\n LGraphCanvas,\n LGraphNode,\n LGraphGroup,\n LiteGraph\n} from '@comfyorg/litegraph'\n\n// Shift + drag/resize to snap to grid\n\n/** Rounds a Vector2 in-place to the current CANVAS_GRID_SIZE. */\nfunction roundVectorToGrid(vec) {\n vec[0] =\n LiteGraph.CANVAS_GRID_SIZE * Math.round(vec[0] / LiteGraph.CANVAS_GRID_SIZE)\n vec[1] =\n LiteGraph.CANVAS_GRID_SIZE * Math.round(vec[1] / LiteGraph.CANVAS_GRID_SIZE)\n return vec\n}\n\napp.registerExtension({\n name: 'Comfy.SnapToGrid',\n init() {\n // Add setting to control grid size\n app.ui.settings.addSetting({\n id: 'Comfy.SnapToGrid.GridSize',\n category: ['Comfy', 'Graph', 'GridSize'],\n name: 'Snap to grid size',\n type: 'slider',\n attrs: {\n min: 1,\n max: 500\n },\n tooltip:\n 'When dragging and resizing nodes while holding shift they will be aligned to the grid, this controls the size of that grid.',\n defaultValue: LiteGraph.CANVAS_GRID_SIZE,\n onChange(value) {\n LiteGraph.CANVAS_GRID_SIZE = +value\n }\n })\n\n // After moving a node, if the shift key is down align it to grid\n const onNodeMoved = app.canvas.onNodeMoved\n app.canvas.onNodeMoved = function (node) {\n const r = onNodeMoved?.apply(this, arguments)\n\n if (app.shiftDown) {\n // Ensure all selected nodes are realigned\n for (const id in this.selected_nodes) {\n this.selected_nodes[id].alignToGrid()\n }\n }\n\n return r\n }\n\n // When a node is added, add a resize handler to it so we can fix align the size with the grid\n const onNodeAdded = app.graph.onNodeAdded\n app.graph.onNodeAdded = function (node) {\n const onResize = node.onResize\n node.onResize = function () {\n if (app.shiftDown) {\n roundVectorToGrid(node.size)\n }\n return onResize?.apply(this, arguments)\n }\n return onNodeAdded?.apply(this, arguments)\n }\n\n // Draw a preview of where the node will go if holding shift and the node is selected\n const origDrawNode = LGraphCanvas.prototype.drawNode\n LGraphCanvas.prototype.drawNode = function (node, ctx) {\n if (\n app.shiftDown &&\n this.node_dragged &&\n node.id in this.selected_nodes\n ) {\n const [x, y] = roundVectorToGrid([...node.pos])\n const shiftX = x - node.pos[0]\n let shiftY = y - node.pos[1]\n\n let w, h\n if (node.flags.collapsed) {\n // @ts-expect-error\n w = node._collapsed_width\n h = LiteGraph.NODE_TITLE_HEIGHT\n shiftY -= LiteGraph.NODE_TITLE_HEIGHT\n } else {\n w = node.size[0]\n h = node.size[1]\n // @ts-expect-error\n let titleMode = node.constructor.title_mode\n if (\n titleMode !== LiteGraph.TRANSPARENT_TITLE &&\n titleMode !== LiteGraph.NO_TITLE\n ) {\n h += LiteGraph.NODE_TITLE_HEIGHT\n shiftY -= LiteGraph.NODE_TITLE_HEIGHT\n }\n }\n const f = ctx.fillStyle\n ctx.fillStyle = 'rgba(100, 100, 100, 0.5)'\n ctx.fillRect(shiftX, shiftY, w, h)\n ctx.fillStyle = f\n }\n\n return origDrawNode.apply(this, arguments)\n }\n\n /**\n * The currently moving, selected group only. Set after the `selected_group` has actually started\n * moving.\n */\n let selectedAndMovingGroup: LGraphGroup | null = null\n\n /**\n * Handles moving a group; tracking when a group has been moved (to show the ghost in `drawGroups`\n * below) as well as handle the last move call from LiteGraph's `processMouseUp`.\n */\n const groupMove = LGraphGroup.prototype.move\n LGraphGroup.prototype.move = function (deltax, deltay, ignore_nodes) {\n const v = groupMove.apply(this, arguments)\n // When we've started moving, set `selectedAndMovingGroup` as LiteGraph sets `selected_group`\n // too eagerly and we don't want to behave like we're moving until we get a delta.\n if (\n !selectedAndMovingGroup &&\n app.canvas.selected_group === this &&\n (deltax || deltay)\n ) {\n selectedAndMovingGroup = this\n }\n\n // LiteGraph will call group.move both on mouse-move as well as mouse-up though we only want\n // to snap on a mouse-up which we can determine by checking if `app.canvas.last_mouse_dragging`\n // has been set to `false`. Essentially, this check here is the equivalent to calling an\n // `LGraphGroup.prototype.onNodeMoved` if it had existed.\n if (app.canvas.last_mouse_dragging === false && app.shiftDown) {\n // After moving a group (while app.shiftDown), snap all the child nodes and, finally,\n // align the group itself.\n this.recomputeInsideNodes()\n for (const node of this._nodes) {\n node.alignToGrid()\n }\n LGraphNode.prototype.alignToGrid.apply(this)\n }\n return v\n }\n\n /**\n * Handles drawing a group when, snapping the size when one is actively being resized tracking and/or\n * drawing a ghost box when one is actively being moved. This mimics the node snapping behavior for\n * both.\n */\n const drawGroups = LGraphCanvas.prototype.drawGroups\n LGraphCanvas.prototype.drawGroups = function (canvas, ctx) {\n if (this.selected_group && app.shiftDown) {\n if (this.selected_group_resizing) {\n roundVectorToGrid(this.selected_group.size)\n } else if (selectedAndMovingGroup) {\n // @ts-expect-error\n const [x, y] = roundVectorToGrid([...selectedAndMovingGroup.pos])\n const f = ctx.fillStyle\n const s = ctx.strokeStyle\n ctx.fillStyle = 'rgba(100, 100, 100, 0.33)'\n ctx.strokeStyle = 'rgba(100, 100, 100, 0.66)'\n // @ts-expect-error\n ctx.rect(x, y, ...selectedAndMovingGroup.size)\n ctx.fill()\n ctx.stroke()\n ctx.fillStyle = f\n ctx.strokeStyle = s\n }\n } else if (!this.selected_group) {\n selectedAndMovingGroup = null\n }\n return drawGroups.apply(this, arguments)\n }\n\n /** Handles adding a group in a snapping-enabled state. */\n const onGroupAdd = LGraphCanvas.onGroupAdd\n LGraphCanvas.onGroupAdd = function () {\n const v = onGroupAdd.apply(app.canvas, arguments)\n if (app.shiftDown) {\n // @ts-expect-error\n const lastGroup = app.graph._groups[app.graph._groups.length - 1]\n if (lastGroup) {\n // @ts-expect-error\n roundVectorToGrid(lastGroup.pos)\n // @ts-expect-error\n roundVectorToGrid(lastGroup.size)\n }\n }\n return v\n }\n }\n})\n","import { app } from '../../scripts/app'\nimport { ComfyNodeDef } from '@/types/apiTypes'\n\n// Adds an upload button to the nodes\n\napp.registerExtension({\n name: 'Comfy.UploadImage',\n async beforeRegisterNodeDef(nodeType, nodeData: ComfyNodeDef, app) {\n if (nodeData?.input?.required?.image?.[1]?.image_upload === true) {\n nodeData.input.required.upload = ['IMAGEUPLOAD']\n }\n }\n})\n","import { app } from '../../scripts/app'\nimport { api } from '../../scripts/api'\n\nconst WEBCAM_READY = Symbol()\n\napp.registerExtension({\n name: 'Comfy.WebcamCapture',\n getCustomWidgets(app) {\n return {\n WEBCAM(node, inputName) {\n let res\n node[WEBCAM_READY] = new Promise((resolve) => (res = resolve))\n\n const container = document.createElement('div')\n container.style.background = 'rgba(0,0,0,0.25)'\n container.style.textAlign = 'center'\n\n const video = document.createElement('video')\n video.style.height = video.style.width = '100%'\n\n const loadVideo = async () => {\n try {\n const stream = await navigator.mediaDevices.getUserMedia({\n video: true,\n audio: false\n })\n container.replaceChildren(video)\n\n setTimeout(() => res(video), 500) // Fallback as loadedmetadata doesnt fire sometimes?\n video.addEventListener('loadedmetadata', () => res(video), false)\n video.srcObject = stream\n video.play()\n } catch (error) {\n const label = document.createElement('div')\n label.style.color = 'red'\n label.style.overflow = 'auto'\n label.style.maxHeight = '100%'\n label.style.whiteSpace = 'pre-wrap'\n\n if (window.isSecureContext) {\n label.textContent =\n 'Unable to load webcam, please ensure access is granted:\\n' +\n error.message\n } else {\n label.textContent =\n 'Unable to load webcam. A secure context is required, if you are not accessing ComfyUI on localhost (127.0.0.1) you will have to enable TLS (https)\\n\\n' +\n error.message\n }\n\n container.replaceChildren(label)\n }\n }\n\n loadVideo()\n\n return { widget: node.addDOMWidget(inputName, 'WEBCAM', container) }\n }\n }\n },\n nodeCreated(node) {\n if ((node.type, node.constructor.comfyClass !== 'WebcamCapture')) return\n\n let video\n const camera = node.widgets.find((w) => w.name === 'image')\n const w = node.widgets.find((w) => w.name === 'width')\n const h = node.widgets.find((w) => w.name === 'height')\n const captureOnQueue = node.widgets.find(\n (w) => w.name === 'capture_on_queue'\n )\n\n const canvas = document.createElement('canvas')\n\n const capture = () => {\n canvas.width = w.value\n canvas.height = h.value\n const ctx = canvas.getContext('2d')\n ctx.drawImage(video, 0, 0, w.value, h.value)\n const data = canvas.toDataURL('image/png')\n\n const img = new Image()\n img.onload = () => {\n node.imgs = [img]\n app.graph.setDirtyCanvas(true)\n requestAnimationFrame(() => {\n node.setSizeForImage?.()\n })\n }\n img.src = data\n }\n\n const btn = node.addWidget(\n 'button',\n 'waiting for camera...',\n 'capture',\n capture\n )\n btn.disabled = true\n btn.serializeValue = () => undefined\n\n camera.serializeValue = async () => {\n if (captureOnQueue.value) {\n capture()\n } else if (!node.imgs?.length) {\n const err = `No webcam image captured`\n alert(err)\n throw new Error(err)\n }\n\n // Upload image to temp storage\n const blob = await new Promise((r) => canvas.toBlob(r))\n const name = `${+new Date()}.png`\n const file = new File([blob], name)\n const body = new FormData()\n body.append('image', file)\n body.append('subfolder', 'webcam')\n body.append('type', 'temp')\n const resp = await api.fetchApi('/upload/image', {\n method: 'POST',\n body\n })\n if (resp.status !== 200) {\n const err = `Error uploading camera image: ${resp.status} - ${resp.statusText}`\n alert(err)\n throw new Error(err)\n }\n return `webcam/${name} [temp]`\n }\n\n node[WEBCAM_READY].then((v) => {\n video = v\n // If width isnt specified then use video output resolution\n if (!w.value) {\n w.value = video.videoWidth || 640\n h.value = video.videoHeight || 480\n }\n btn.disabled = false\n btn.label = 'capture'\n })\n }\n})\n","import { app } from '../../scripts/app'\nimport { api } from '../../scripts/api'\nimport type { IWidget } from '@comfyorg/litegraph'\nimport type { DOMWidget } from '@/scripts/domWidget'\nimport { ComfyNodeDef } from '@/types/apiTypes'\n\ntype FolderType = 'input' | 'output' | 'temp'\n\nfunction splitFilePath(path: string): [string, string] {\n const folder_separator = path.lastIndexOf('/')\n if (folder_separator === -1) {\n return ['', path]\n }\n return [\n path.substring(0, folder_separator),\n path.substring(folder_separator + 1)\n ]\n}\n\nfunction getResourceURL(\n subfolder: string,\n filename: string,\n type: FolderType = 'input'\n): string {\n const params = [\n 'filename=' + encodeURIComponent(filename),\n 'type=' + type,\n 'subfolder=' + subfolder,\n app.getRandParam().substring(1)\n ].join('&')\n\n return `/view?${params}`\n}\n\nasync function uploadFile(\n audioWidget: IWidget,\n audioUIWidget: DOMWidget,\n file: File,\n updateNode: boolean,\n pasted: boolean = false\n) {\n try {\n // Wrap file in formdata so it includes filename\n const body = new FormData()\n body.append('image', file)\n if (pasted) body.append('subfolder', 'pasted')\n const resp = await api.fetchApi('/upload/image', {\n method: 'POST',\n body\n })\n\n if (resp.status === 200) {\n const data = await resp.json()\n // Add the file to the dropdown list and update the widget value\n let path = data.name\n if (data.subfolder) path = data.subfolder + '/' + path\n\n if (!audioWidget.options.values.includes(path)) {\n audioWidget.options.values.push(path)\n }\n\n if (updateNode) {\n audioUIWidget.element.src = api.apiURL(\n getResourceURL(...splitFilePath(path))\n )\n audioWidget.value = path\n }\n } else {\n alert(resp.status + ' - ' + resp.statusText)\n }\n } catch (error) {\n alert(error)\n }\n}\n\n// AudioWidget MUST be registered first, as AUDIOUPLOAD depends on AUDIO_UI to be\n// present.\napp.registerExtension({\n name: 'Comfy.AudioWidget',\n async beforeRegisterNodeDef(nodeType, nodeData) {\n if (\n ['LoadAudio', 'SaveAudio', 'PreviewAudio'].includes(nodeType.comfyClass)\n ) {\n nodeData.input.required.audioUI = ['AUDIO_UI']\n }\n },\n getCustomWidgets() {\n return {\n AUDIO_UI(node, inputName: string) {\n const audio = document.createElement('audio')\n audio.controls = true\n audio.classList.add('comfy-audio')\n audio.setAttribute('name', 'media')\n\n const audioUIWidget: DOMWidget = node.addDOMWidget(\n inputName,\n /* name=*/ 'audioUI',\n audio\n )\n // @ts-expect-error\n // TODO: Sort out the DOMWidget type.\n audioUIWidget.serialize = false\n\n const isOutputNode = node.constructor.nodeData.output_node\n if (isOutputNode) {\n // Hide the audio widget when there is no audio initially.\n audioUIWidget.element.classList.add('empty-audio-widget')\n // Populate the audio widget UI on node execution.\n const onExecuted = node.onExecuted\n node.onExecuted = function (message) {\n onExecuted?.apply(this, arguments)\n const audios = message.audio\n if (!audios) return\n const audio = audios[0]\n audioUIWidget.element.src = api.apiURL(\n getResourceURL(audio.subfolder, audio.filename, audio.type)\n )\n audioUIWidget.element.classList.remove('empty-audio-widget')\n }\n }\n return { widget: audioUIWidget }\n }\n }\n },\n onNodeOutputsUpdated(nodeOutputs: Record) {\n for (const [nodeId, output] of Object.entries(nodeOutputs)) {\n const node = app.graph.getNodeById(Number.parseInt(nodeId))\n if ('audio' in output) {\n const audioUIWidget = node.widgets.find(\n (w) => w.name === 'audioUI'\n ) as unknown as DOMWidget\n const audio = output.audio[0]\n audioUIWidget.element.src = api.apiURL(\n getResourceURL(audio.subfolder, audio.filename, audio.type)\n )\n audioUIWidget.element.classList.remove('empty-audio-widget')\n }\n }\n }\n})\n\napp.registerExtension({\n name: 'Comfy.UploadAudio',\n async beforeRegisterNodeDef(nodeType, nodeData: ComfyNodeDef) {\n if (nodeData?.input?.required?.audio?.[1]?.audio_upload === true) {\n nodeData.input.required.upload = ['AUDIOUPLOAD']\n }\n },\n getCustomWidgets() {\n return {\n AUDIOUPLOAD(node, inputName: string) {\n // The widget that allows user to select file.\n const audioWidget: IWidget = node.widgets.find(\n (w: IWidget) => w.name === 'audio'\n )\n const audioUIWidget: DOMWidget = node.widgets.find(\n (w: IWidget) => w.name === 'audioUI'\n )\n\n const onAudioWidgetUpdate = () => {\n audioUIWidget.element.src = api.apiURL(\n getResourceURL(...splitFilePath(audioWidget.value))\n )\n }\n // Initially load default audio file to audioUIWidget.\n if (audioWidget.value) {\n onAudioWidgetUpdate()\n }\n audioWidget.callback = onAudioWidgetUpdate\n\n // Load saved audio file widget values if restoring from workflow\n const onGraphConfigured = node.onGraphConfigured\n node.onGraphConfigured = function () {\n onGraphConfigured?.apply(this, arguments)\n if (audioWidget.value) {\n onAudioWidgetUpdate()\n }\n }\n\n const fileInput = document.createElement('input')\n fileInput.type = 'file'\n fileInput.accept = 'audio/*'\n fileInput.style.display = 'none'\n fileInput.onchange = () => {\n if (fileInput.files.length) {\n uploadFile(audioWidget, audioUIWidget, fileInput.files[0], true)\n }\n }\n // The widget to pop up the upload dialog.\n const uploadWidget = node.addWidget(\n 'button',\n inputName,\n /* value=*/ '',\n () => {\n fileInput.click()\n }\n )\n uploadWidget.label = 'choose file to upload'\n uploadWidget.serialize = false\n\n return { widget: uploadWidget }\n }\n }\n }\n})\n"],"names":["app","id","file","ext","prompt","links","widget","w","type","def","node","link","selectedIds","newNodes","i","group","modal","x","y","audio"],"mappings":";;;AAIO,MAAM,wBAAwB,YAAY;AAAA,SAAA;AAAA;AAAA;AAAA,EAC/C,OAAO,QAAQ,CAAA;AAAA,EACf,OAAO,WAAW;AAAA,EAElB,OAAO,eAAe,MAAM,kBAAkB,UAAU;AAChD,UAAA,OAAO,IAAI,UAAU;AAAA,MACzB,MAAM;AAAA,MACN,aAAa;AAAA,MACb;AAAA,MACA,SAAS;AAAA,IAAA,CACV;AAEe,oBAAA,MAAM,KAAK,IAAI;AAAA,EACjC;AAAA,EAEA,OAAO,oBAAoB;AAEvB,QAAA,SAAS,aACT,SAAS,UAAU,QACnB,SAAS,UAAU,KAAK,SAAS,GACjC;AACA,YAAM,cAAc,SAAS;AAAA,QAC3B;AAAA,MAAA;AAEF,UAAI,aAAa;AACH,oBAAA,MACV,SAAS,UAAU,KAAK,SAAS,UAAU,eAAe,CAAC,EAAE;AAC/D,oBAAY,MAAM,YAAY;AAC9B,oBAAY,MAAM,WAAW;AAAA,MAC/B;AAAA,IACF;AAAA,EACF;AAAA,EAEA,OAAO,aAAa;AAClB,QAAI,gBAAgB,UAAU;AAC5B,YAAM,OAAO,gBAAgB;AAEvB,YAAA,WAAW,IAAI,2BAA2B;AAAA,QAC9C,KAAK,kBAAkB;AAAA,QACvB,GAAG,KAAK,cAAc;AAAA,MAAA,CACvB;AAED,UAAI,KAAK,SAAS;AAEhB,aAAK,QAAQ,YAAY,KAAK,QAAQ,UAAU;AAC3C,aAAA,QAAQ,YAAY,QAAQ;AAAA,MAAA,OAC5B;AAEL,aAAK,UAAU,IAAI,mBAAmB,EAAE,QAAQ,SAAS,QAAQ;AAAA,UAC/D;AAAA,QAAA,CACD;AAAA,MACH;AAEA,UAAI,KAAK,QAAQ,SAAS,CAAC,EAAE,SAAS,UAAU,GAAG;AAC5C,aAAA,QAAQ,SAAS,CAAC,EAAE;AAAA,UACvB,IAAI,KAAK,IAAI;AAAA,YACX;AAAA,UAAA,CACD;AAAA,QAAA;AAAA,MAEL;AAEA,sBAAgB,kBAAkB;AAAA,IACpC;AAAA,EACF;AAAA,EAEA,cAAc;AACN;EACR;AAAA,EAEA,gBAAgB;AACd,UAAM,UAAU,CAAA;AAEP,aAAA,OAAO,gBAAgB,OAAO;AAC/B,YAAA,OAAO,gBAAgB,MAAM,GAAG;AACtC,UAAI,CAAC,KAAK,oBAAoB,KAAK,iBAAiB;AAClD,gBAAQ,KAAK,gBAAgB,MAAM,GAAG,CAAC;AAAA,IAC3C;AAEQ,YAAA;AAAA,MACN,IAAI,UAAU;AAAA,QACZ,MAAM;AAAA,QACN,aAAa;AAAA,QACb,SAAS,6BAAM;AACb,eAAK,MAAM;AAAA,QACb,GAFS;AAAA,MAET,CACD;AAAA,IAAA;AAGI,WAAA;AAAA,EACT;AAAA,EAEA,oBAAoB;AACd,QAAA,SAAS,UAAU,MAAM;AAC3B,YAAM,cAAc,CAAA;AACd,YAAA,OAAO,SAAS,UAAU;AAEhC,eAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,KAAK;AACpC,oBAAY,KAAK,IAAI,UAAU,EAAE,OAAO,EAAK,GAAA,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAAA,MACxD;AAEA,YAAM,SAAS;AAAA,QACb;AAAA,QACA;AAAA,UACE,IAAI;AAAA,UACJ,UAAU,wBAAC,UAAU;AACnB,qBAAS,UAAU,eAAe,IAAI,MAAM,OAAO;AACnD,4BAAgB,kBAAkB;AAAA,UACpC,GAHU;AAAA,QAIZ;AAAA,QACA;AAAA,MAAA;AAGF,YAAM,OAAO,IAAI,MAAM,IAAI;AAAA,QACzB,IAAI,MAAM,IAAI,CAAC,IAAI,QAAQ,EAAE,OAAO,QAAW,GAAA,CAAC,cAAc,CAAC,CAAC,CAAC;AAAA,QACjE,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC;AAAA,MAAA,CACvB;AAED,YAAM,SAAS;AAAA,QACb;AAAA,QACA;AAAA,UACE,IAAI;AAAA,UACJ,UAAU,wBAAC,UAAU;AACnB,qBAAS,UAAU,gBAAgB,IAAI,MAAM,OAAO;AAAA,UACtD,GAFU;AAAA,QAGZ;AAAA,QACA;AAAA,UACE,IAAI,UAAU,EAAE,OAAO,WAAA,GAAc,UAAU;AAAA,UAC/C,IAAI,UAAU,EAAE,OAAO,MAAA,GAAS,KAAK;AAAA,QACvC;AAAA,MAAA;AAEK,aAAA,QAAQ,SAAS,UAAU,gBAAgB;AAElD,YAAM,OAAO,IAAI,MAAM,IAAI;AAAA,QACzB,IAAI,MAAM,IAAI,CAAC,IAAI,QAAQ,EAAE,OAAO,QAAW,GAAA,CAAC,YAAY,CAAC,CAAC,CAAC;AAAA,QAC/D,IAAI,MAAM,IAAI,CAAC,MAAM,CAAC;AAAA,MAAA,CACvB;AAED,YAAM,KAAK;AAAA,QACT;AAAA,QACA,EAAE,OAAO,UAAU,OAAO,SAAS,QAAQ,SAAS,SAAS,IAAI;AAAA,QACjE,CAAC,IAAI,OAAO,EAAE,IAAI,qBAAqB,aAAa,6BAAM,OAAN,kBAAe,CAAA,CAAE,CAAC;AAAA,MAAA;AAGxE,YAAM,OAAO,IAAI,MAAM,CAAA,GAAI,CAAC,EAAE,CAAC;AAExB,aAAA,IAAI,SAAS,CAAC,GAAG,CAAC,MAAM,MAAM,IAAI,CAAC;AAAA,IAAA,OACrC;AACL,aAAO;IACT;AAAA,EACF;AAAA,EAEA,mBAAmB;AACb,QAAA,SAAS,UAAU,MAAM;AACpB,aAAA,IAAI,OAAO,EAAE,IAAI,qBAAqB,aAAa,6BAAM,OAAN,gBAAa;AAAA,IACzE,cAAc,CAAA;AAAA,EAChB;AAAA,EAEA,OAAO;AACC,UAAA,cAAc,SAAS,eAAe,mBAAmB;AAC/D,oBAAgB,WAAW;AAEtB,SAAA,QAAQ,MAAM,UAAU;AAAA,EAC/B;AACF;AAEA,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,KAAKA,MAAK;AACRA,SAAI,gBAAgB,WAAY;AAC1B,UAAA,CAAC,gBAAgB,UAAU;AACb,wBAAA,WAAW,IAAI;AAC/B,iBAAS,+BAA+B,gBAAgB;AAAA,MAC1D;AAEA,UAAI,SAAS,WAAW;AACtB,wBAAgB,SAAS;YACpBA,MAAI,GAAG,OAAO,KAAK,qBAAqB;AAAA,IAAA;AAAA,EAEnD;AACF,CAAC;;;;AChLD,MAAM,gBAA+B;AAAA,EACnC,MAAM;AAAA,IACJ,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,WAAW;AAAA,QACT,MAAM;AAAA;AAAA,QACN,aAAa;AAAA;AAAA,QACb,oBAAoB;AAAA;AAAA,QACpB,cAAc;AAAA;AAAA,QACd,aAAa;AAAA;AAAA,QACb,OAAO;AAAA;AAAA,QACP,QAAQ;AAAA;AAAA,QACR,MAAM;AAAA;AAAA,QACN,OAAO;AAAA;AAAA,QACP,aAAa;AAAA;AAAA,QACb,KAAK;AAAA;AAAA,QACL,OAAO;AAAA;AAAA,QACP,QAAQ;AAAA;AAAA,QACR,SAAS;AAAA;AAAA,QACT,QAAQ;AAAA;AAAA,QACR,OAAO;AAAA;AAAA,MACT;AAAA,MACA,gBAAgB;AAAA,QACd,kBACE;AAAA,QACF,wBAAwB;AAAA,QACxB,kBAAkB;AAAA,QAClB,2BAA2B;AAAA,QAC3B,gBAAgB;AAAA,QAChB,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,QACnB,oBAAoB;AAAA,QACpB,sBAAsB;AAAA,QACtB,uBAAuB;AAAA,QACvB,oBAAoB;AAAA,QACpB,wBAAwB;AAAA,QACxB,sBAAsB;AAAA,QACtB,oBAAoB;AAAA,QAEpB,gBAAgB;AAAA,QAChB,sBAAsB;AAAA,QACtB,mBAAmB;AAAA,QACnB,6BAA6B;AAAA,QAE7B,YAAY;AAAA,QACZ,kBAAkB;AAAA,QAClB,uBAAuB;AAAA,MACzB;AAAA,MACA,YAAY;AAAA,QACV,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,QAClB,cAAc;AAAA,QACd,gBAAgB;AAAA,QAChB,aAAa;AAAA,QACb,cAAc;AAAA,QACd,gBAAgB;AAAA,QAChB,oBAAoB;AAAA,QACpB,mBAAmB;AAAA,QACnB,cAAc;AAAA,QACd,cAAc;AAAA,QACd,oBAAoB;AAAA,QACpB,oBAAoB;AAAA,MACtB;AAAA,IACF;AAAA,EACF;AAAA,EACA,OAAO;AAAA,IACL,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,WAAW;AAAA,QACT,MAAM;AAAA;AAAA,QACN,aAAa;AAAA;AAAA,QACb,oBAAoB;AAAA;AAAA,QACpB,cAAc;AAAA;AAAA,QACd,aAAa;AAAA;AAAA,QACb,OAAO;AAAA;AAAA,QACP,QAAQ;AAAA;AAAA,QACR,MAAM;AAAA;AAAA,QACN,OAAO;AAAA;AAAA,QACP,aAAa;AAAA;AAAA,QACb,KAAK;AAAA;AAAA,MACP;AAAA,MACA,gBAAgB;AAAA,QACd,kBACE;AAAA,QACF,wBAAwB;AAAA,QACxB,kBAAkB;AAAA,QAClB,2BAA2B;AAAA,QAC3B,gBAAgB;AAAA,QAChB,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,QACnB,oBAAoB;AAAA,QACpB,sBAAsB;AAAA,QACtB,uBAAuB;AAAA,QACvB,oBAAoB;AAAA,QACpB,wBAAwB;AAAA,QACxB,sBAAsB;AAAA,QACtB,oBAAoB;AAAA,QAEpB,gBAAgB;AAAA,QAChB,sBAAsB;AAAA,QACtB,mBAAmB;AAAA,QACnB,6BAA6B;AAAA,QAE7B,YAAY;AAAA,QACZ,kBAAkB;AAAA,QAClB,uBAAuB;AAAA,MACzB;AAAA,MACA,YAAY;AAAA,QACV,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,QAClB,cAAc;AAAA,QACd,gBAAgB;AAAA,QAChB,aAAa;AAAA,QACb,cAAc;AAAA,QACd,gBAAgB;AAAA,QAChB,oBAAoB;AAAA,QACpB,mBAAmB;AAAA,QACnB,cAAc;AAAA,QACd,cAAc;AAAA,QACd,oBAAoB;AAAA,QACpB,oBAAoB;AAAA,MACtB;AAAA,IACF;AAAA,EACF;AAAA,EACA,WAAW;AAAA,IACT,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,WAAW;AAAA,QACT,MAAM;AAAA;AAAA,QACN,aAAa;AAAA;AAAA,QACb,oBAAoB;AAAA;AAAA,QACpB,cAAc;AAAA;AAAA,QACd,aAAa;AAAA;AAAA,QACb,OAAO;AAAA;AAAA,QACP,QAAQ;AAAA;AAAA,QACR,MAAM;AAAA;AAAA,QACN,OAAO;AAAA;AAAA,QACP,aAAa;AAAA;AAAA,QACb,eAAe;AAAA;AAAA,QACf,KAAK;AAAA;AAAA,MACP;AAAA,MACA,gBAAgB;AAAA,QACd,kBAAkB;AAAA;AAAA,QAClB,2BAA2B;AAAA,QAC3B,gBAAgB;AAAA,QAChB,iBAAiB;AAAA;AAAA,QACjB,mBAAmB;AAAA,QACnB,oBAAoB;AAAA,QACpB,sBAAsB;AAAA;AAAA,QACtB,uBAAuB;AAAA;AAAA,QACvB,oBAAoB;AAAA,QACpB,wBAAwB;AAAA;AAAA,QACxB,sBAAsB;AAAA,QACtB,oBAAoB;AAAA,QAEpB,gBAAgB;AAAA;AAAA,QAChB,sBAAsB;AAAA;AAAA,QACtB,mBAAmB;AAAA;AAAA,QACnB,6BAA6B;AAAA;AAAA,QAE7B,YAAY;AAAA;AAAA,QACZ,kBAAkB;AAAA;AAAA,QAClB,uBAAuB;AAAA;AAAA,MACzB;AAAA,MACA,YAAY;AAAA,QACV,YAAY;AAAA;AAAA,QACZ,YAAY;AAAA;AAAA,QACZ,iBAAiB;AAAA;AAAA,QACjB,kBAAkB;AAAA;AAAA,QAClB,cAAc;AAAA;AAAA,QACd,gBAAgB;AAAA;AAAA,QAChB,aAAa;AAAA;AAAA,QACb,cAAc;AAAA;AAAA,QACd,gBAAgB;AAAA;AAAA,QAChB,oBAAoB;AAAA,QACpB,mBAAmB;AAAA,QACnB,cAAc;AAAA,QACd,cAAc;AAAA,QACd,oBAAoB;AAAA,QACpB,oBAAoB;AAAA,MACtB;AAAA,IACF;AAAA,EACF;AAAA,EACA,KAAK;AAAA,IACH,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,WAAW;AAAA,QACT,SAAS;AAAA,QACT,MAAM;AAAA,QACN,aAAa;AAAA,QACb,oBAAoB;AAAA,QACpB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,qBAAqB;AAAA,QACrB,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,aAAa;AAAA,QACb,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,iBAAiB;AAAA,QACjB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,qBAAqB;AAAA,QACrB,OAAO;AAAA,QACP,mBAAmB;AAAA,QACnB,eAAe;AAAA,QACf,KAAK;AAAA,MACP;AAAA,MACA,gBAAgB;AAAA,QACd,kBACE;AAAA,QACF,wBAAwB;AAAA,QACxB,kBAAkB;AAAA,QAClB,2BAA2B;AAAA,QAC3B,gBAAgB;AAAA,QAChB,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,QACnB,oBAAoB;AAAA,QACpB,sBAAsB;AAAA,QACtB,uBAAuB;AAAA,QACvB,oBAAoB;AAAA,QACpB,wBAAwB;AAAA,QACxB,sBAAsB;AAAA,QACtB,oBAAoB;AAAA,QACpB,gBAAgB;AAAA,QAChB,sBAAsB;AAAA,QACtB,mBAAmB;AAAA,QACnB,6BAA6B;AAAA,QAC7B,YAAY;AAAA,QACZ,kBAAkB;AAAA,QAClB,uBAAuB;AAAA,MACzB;AAAA,MACA,YAAY;AAAA,QACV,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,QAClB,cAAc;AAAA,QACd,gBAAgB;AAAA,QAChB,aAAa;AAAA,QACb,cAAc;AAAA,QACd,gBAAgB;AAAA,QAChB,oBAAoB;AAAA,QACpB,mBAAmB;AAAA,QACnB,cAAc;AAAA,QACd,cAAc;AAAA,QACd,oBAAoB;AAAA,QACpB,oBAAoB;AAAA,MACtB;AAAA,IACF;AAAA,EACF;AAAA,EACA,MAAM;AAAA,IACJ,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,WAAW;AAAA,QACT,SAAS;AAAA,QACT,MAAM;AAAA,QACN,aAAa;AAAA,QACb,oBAAoB;AAAA,QACpB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,qBAAqB;AAAA,QACrB,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,aAAa;AAAA,QACb,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,iBAAiB;AAAA,QACjB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,qBAAqB;AAAA,QACrB,OAAO;AAAA,QACP,mBAAmB;AAAA,QACnB,eAAe;AAAA,QACf,KAAK;AAAA,MACP;AAAA,MACA,gBAAgB;AAAA,QACd,kBACE;AAAA,QACF,wBAAwB;AAAA,QACxB,kBAAkB;AAAA,QAClB,2BAA2B;AAAA,QAC3B,gBAAgB;AAAA,QAChB,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,QACnB,oBAAoB;AAAA,QACpB,sBAAsB;AAAA,QACtB,uBAAuB;AAAA,QACvB,oBAAoB;AAAA,QACpB,wBAAwB;AAAA,QACxB,sBAAsB;AAAA,QACtB,oBAAoB;AAAA,QACpB,gBAAgB;AAAA,QAChB,sBAAsB;AAAA,QACtB,mBAAmB;AAAA,QACnB,6BAA6B;AAAA,QAC7B,YAAY;AAAA,QACZ,kBAAkB;AAAA,QAClB,uBAAuB;AAAA,MACzB;AAAA,MACA,YAAY;AAAA,QACV,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,QAClB,cAAc;AAAA,QACd,gBAAgB;AAAA,QAChB,aAAa;AAAA,QACb,cAAc;AAAA,QACd,gBAAgB;AAAA,QAChB,oBAAoB;AAAA,QACpB,mBAAmB;AAAA,QACnB,cAAc;AAAA,QACd,cAAc;AAAA,QACd,oBAAoB;AAAA,QACpB,oBAAoB;AAAA,MACtB;AAAA,IACF;AAAA,EACF;AAAA,EACA,QAAQ;AAAA,IACN,IAAI;AAAA,IACJ,MAAM;AAAA,IACN,QAAQ;AAAA,MACN,WAAW;AAAA,QACT,SAAS;AAAA,QACT,MAAM;AAAA,QACN,aAAa;AAAA,QACb,oBAAoB;AAAA,QACpB,cAAc;AAAA,QACd,aAAa;AAAA,QACb,qBAAqB;AAAA,QACrB,OAAO;AAAA,QACP,QAAQ;AAAA,QACR,OAAO;AAAA,QACP,aAAa;AAAA,QACb,KAAK;AAAA,QACL,QAAQ;AAAA,QACR,iBAAiB;AAAA,QACjB,MAAM;AAAA,QACN,OAAO;AAAA,QACP,SAAS;AAAA,QACT,QAAQ;AAAA,QACR,QAAQ;AAAA,QACR,aAAa;AAAA,QACb,qBAAqB;AAAA,QACrB,OAAO;AAAA,QACP,mBAAmB;AAAA,QACnB,eAAe;AAAA,QACf,KAAK;AAAA,MACP;AAAA,MACA,gBAAgB;AAAA,QACd,kBACE;AAAA,QACF,wBAAwB;AAAA,QACxB,kBAAkB;AAAA,QAClB,2BAA2B;AAAA,QAC3B,gBAAgB;AAAA,QAChB,iBAAiB;AAAA,QACjB,mBAAmB;AAAA,QACnB,oBAAoB;AAAA,QACpB,sBAAsB;AAAA,QACtB,uBAAuB;AAAA,QACvB,oBAAoB;AAAA,QACpB,wBAAwB;AAAA,QACxB,sBAAsB;AAAA,QACtB,oBAAoB;AAAA,QACpB,gBAAgB;AAAA,QAChB,sBAAsB;AAAA,QACtB,mBAAmB;AAAA,QACnB,6BAA6B;AAAA,QAC7B,YAAY;AAAA,QACZ,kBAAkB;AAAA,QAClB,uBAAuB;AAAA,MACzB;AAAA,MACA,YAAY;AAAA,QACV,YAAY;AAAA,QACZ,YAAY;AAAA,QACZ,iBAAiB;AAAA,QACjB,kBAAkB;AAAA,QAClB,cAAc;AAAA,QACd,gBAAgB;AAAA,QAChB,aAAa;AAAA,QACb,cAAc;AAAA,QACd,gBAAgB;AAAA,QAChB,oBAAoB;AAAA,QACpB,mBAAmB;AAAA,QACnB,cAAc;AAAA,QACd,cAAc;AAAA,QACd,oBAAoB;AAAA,QACpB,oBAAoB;AAAA,MACtB;AAAA,IACF;AAAA,EACF;AACF;AAEA,MAAMC,OAAK;AACX,MAAM,wBAAwB;AAC9B,MAAM,wBAAwB;AAC9B,MAAM,MAA4C;AAAA,EAChD,QAAQ;AACV;AAEA,IAAI,kBAAkB;AAAA,EACpB,MAAMA;AAAAA,EACN,OAAO;AASL,iBAAa,UAAU,mBAAmB,SACxC,OACA,sBACA;AACK,WAAA,UAAU,IAAI;AACnB,WAAK,QAAQ,OAAO;AACpB,WAAK,QAAQ,MAAM;AACd,WAAA,QAAQ,SAAS,MAAM;AACrB,aAAA,KAAK,MAAM,IAAI;AAAA,MAAA;AAEtB,WAAK,mBAAmB;AAExB,WAAK,mBAAmB;AACxB,WAAK,yBAAyB;AAC9B,WAAK,WAAW;AAAA,IAAA;AAAA,EAEpB;AAAA,EACA,kBAAkB,WAAW;AACrB,UAAA,iBAAiB,wBAAC,cAAc;AAC7B,aAAA,OAAO,KAAK,SAAS,EACzB,OACA,OAAO,CAAC,KAAK,QAAQ;AAChB,YAAA,GAAG,IAAI,UAAU,GAAG;AACjB,eAAA;AAAA,MACT,GAAG,CAAE,CAAA;AAAA,IAAA,GANc;AASvB,aAAS,eAAe;AACtB,UAAI,QAAQ,CAAA;AAEZ,YAAM,OAAO;AACb,iBAAW,UAAU,MAAM;AACnB,cAAA,WAAW,KAAK,MAAM;AAE5B,YAAI,SAAS,SAAS,OAAO,EAAE,UAAU;AACzC,YAAI,SAAS,OAAO,EAAE,UAAU,MAAM,QAAW;AAC/C,mBAAS,OAAO;AAAA,YACd,CAAC;AAAA,YACD,SAAS,OAAO,EAAE,UAAU;AAAA,YAC5B,SAAS,OAAO,EAAE,UAAU;AAAA,UAAA;AAAA,QAEhC;AAEA,mBAAW,aAAa,QAAQ;AACxB,gBAAA,YAAY,OAAO,SAAS;AAC5B,gBAAA,OAAO,UAAU,CAAC;AAExB,cAAI,CAAC,MAAM,QAAQ,IAAI,GAAG;AACxB,kBAAM,KAAK,IAAI;AAAA,UACjB;AAAA,QACF;AAEW,mBAAA,KAAK,SAAS,QAAQ,GAAG;AAClC,gBAAM,SAAS,SAAS,QAAQ,EAAE,CAAC;AACnC,gBAAM,KAAK,MAAM;AAAA,QACnB;AAAA,MACF;AAEO,aAAA;AAAA,IACT;AAhCS;AAkCT,aAAS,qBAAqB,cAAc;AAC1C,UAAI,QAAQ;AAEZ,iBAAW,QAAQ,OAAO;AACxB,YAAI,CAAC,aAAa,OAAO,UAAU,IAAI,GAAG;AAC3B,uBAAA,OAAO,UAAU,IAAI,IAAI;AAAA,QACxC;AAAA,MACF;AAEA,mBAAa,OAAO,YAAY;AAAA,QAC9B,aAAa,OAAO;AAAA,MAAA;AAGf,aAAA;AAAA,IACT;AAdS;AAgBT,UAAM,0BAA0B,mCAAY;AAC1C,UAAI,eAAe;AAAA,QACjB,IAAI;AAAA,QACJ,MAAM;AAAA,QACN,QAAQ;AAAA,UACN,WAAW,CAAC;AAAA,UACZ,gBAAgB,CAAC;AAAA,UACjB,YAAY,CAAC;AAAA,QACf;AAAA,MAAA;AAII,YAAA,sBAAsB,cAAc,qBAAqB;AACpD,iBAAA,OAAO,oBAAoB,OAAO,gBAAgB;AAC3D,YAAI,CAAC,aAAa,OAAO,eAAe,GAAG,GAAG;AAC/B,uBAAA,OAAO,eAAe,GAAG,IAAI;AAAA,QAC5C;AAAA,MACF;AACW,iBAAA,OAAO,oBAAoB,OAAO,YAAY;AACvD,YAAI,CAAC,aAAa,OAAO,WAAW,GAAG,GAAG;AAC3B,uBAAA,OAAO,WAAW,GAAG,IAAI;AAAA,QACxC;AAAA,MACF;AAEA,aAAO,qBAAqB,YAAY;AAAA,IAAA,GAxBV;AA2BhC,UAAM,yBAAyB,6BAAqB;AAClD,aAAO,IAAI,GAAG,SAAS,gBAAgB,uBAAuB,CAAA,CAAE;AAAA,IAAA,GADnC;AAIzB,UAAA,yBAAyB,wBAAC,wBAAuC;AAC9D,aAAA,IAAI,GAAG,SAAS;AAAA,QACrB;AAAA,QACA;AAAA,MAAA;AAAA,IACF,GAJ6B;AAOzB,UAAA,wBAAwB,8BAAO,iBAAiB;AAChD,UAAA,OAAO,iBAAiB,UAAU;AACpC,cAAM,wBAAwB;AAC9B;AAAA,MACF;AAEI,UAAA,CAAC,aAAa,IAAI;AACpB,cAAM,2BAA2B;AACjC;AAAA,MACF;AAEI,UAAA,CAAC,aAAa,MAAM;AACtB,cAAM,6BAA6B;AACnC;AAAA,MACF;AAEI,UAAA,CAAC,aAAa,QAAQ;AACxB,cAAM,+BAA+B;AACrC;AAAA,MACF;AAEA,UACE,aAAa,OAAO,aACpB,OAAO,aAAa,OAAO,cAAc,UACzC;AACA,cAAM,yCAAyC;AAC/C;AAAA,MACF;AAEA,YAAM,sBAAsB;AACR,0BAAA,aAAa,EAAE,IAAI;AACvC,6BAAuB,mBAAmB;AAE/B,iBAAA,UAAU,IAAI,OAAO,YAAY;AAC1C,YACG,OAA6B,UAC9B,YAAY,aAAa,IACzB;AACI,cAAA,OAAO,YAAY,MAAM;AAAA,QAC/B;AAAA,MACF;AAEA,UAAI,OAAO;AAAA,QACT,IAAI,UAAU;AAAA,UACZ,aAAa,aAAa,OAAO;AAAA,UACjC,OAAO,YAAY,aAAa;AAAA,UAChC,UAAU;AAAA,QAAA,CACX;AAAA,MAAA;AAGa,sBAAA,YAAY,aAAa,EAAE;AAC3C,YAAM,iBAAiB,YAAY;AAAA,IAAA,GAnDP;AAsDxB,UAAA,2BAA2B,8BAAO,mBAAmB;AACzD,YAAM,sBAAsB;AAC5B,aAAO,oBAAoB,cAAc;AACzC,6BAAuB,mBAAmB;AAE/B,iBAAA,OAAO,IAAI,OAAO,YAAY;AACvC,cAAM,SAAS;AACX,YAAA,OAAO,UAAU,uBAAuB;AAC1C,iBAAO,WAAW;AAAA,QACpB;AAEI,YAAA,OAAO,UAAU,YAAY,gBAAgB;AAC3C,cAAA,OAAO,YAAY,MAAM;AAAA,QAC/B;AAAA,MACF;AAEA,sBAAgB,qBAAqB;AAC/B,YAAA,iBAAiB,iBAAiB;AAAA,IAAA,GAjBT;AAoB3B,UAAA,mBAAmB,8BAAO,iBAA0B;AACzC,qBAAA,MAAM,qBAAqB,YAAY;AACtD,UAAI,aAAa,QAAQ;AAEnB,YAAA,aAAa,OAAO,WAAW;AAC1B,iBAAA;AAAA;AAAA,YAEL,IAAI,OAAO;AAAA,YACX,aAAa,OAAO;AAAA,UAAA;AAEf,iBAAA;AAAA,YACL,aAAa;AAAA,YACb,aAAa,OAAO;AAAA,UAAA;AAAA,QAExB;AAEI,YAAA,aAAa,OAAO,gBAAgB;AAEtC,cAAI,OAAO,mBACT,aAAa,OAAO,eAAe;AACrC,cAAI,OAAO,qBACT,aAAa,OAAO,eAAe;AAE1B,qBAAA,OAAO,aAAa,OAAO,gBAAgB;AAElD,gBAAA,aAAa,OAAO,eAAe,eAAe,GAAG,KACrD,UAAU,eAAe,GAAG,GAC5B;AACA,wBAAU,GAAG,IAAI,aAAa,OAAO,eAAe,GAAG;AAAA,YACzD;AAAA,UACF;AAAA,QACF;AAEI,YAAA,aAAa,OAAO,YAAY;AAC5B,gBAAA,YAAY,SAAS,gBAAgB;AAChC,qBAAA,OAAO,aAAa,OAAO,YAAY;AACtC,sBAAA;AAAA,cACR,OAAO;AAAA,cACP,aAAa,OAAO,WAAW,GAAG;AAAA,YAAA;AAAA,UAEtC;AAAA,QACF;AACI,YAAA,OAAO,KAAK,MAAM,IAAI;AAAA,MAC5B;AAAA,IAAA,GA3CuB;AA8CnB,UAAA,kBAAkB,wBAAC,mBAAoB;AAC3C,UAAI,CAAC,gBAAgB;AACF,yBAAA,IAAI,GAAG,SAAS;AAAA,UAC/BA;AAAAA,UACA;AAAA,QAAA;AAAA,MAEJ;AAEI,UAAA,eAAe,WAAW,SAAS,GAAG;AACvB,yBAAA,eAAe,OAAO,CAAC;AACxC,YAAI,sBAAsB;AACtB,YAAA,oBAAoB,cAAc,GAAG;AACvC,iBAAO,oBAAoB,cAAc;AAAA,QAC3C;AAAA,MACF;AAEA,aAAO,cAAc,cAAc;AAAA,IAAA,GAhBb;AAmBlB,UAAA,kBAAkB,wBAAC,mBAAmB;AAC1C,UAAI,GAAG,SAAS,gBAAgBA,MAAI,cAAc;AAAA,IAAA,GAD5B;AAIlB,UAAA,YAAY,IAAI,SAAS;AAAA,MAC7B,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,OAAO,EAAE,SAAS,OAAO;AAAA,MACzB,QAAQ,SAAS;AAAA,MACjB,UAAU,6BAAM;AACR,cAAAC,QAAO,UAAU,MAAM,CAAC;AAC9B,YAAIA,MAAK,SAAS,sBAAsBA,MAAK,KAAK,SAAS,OAAO,GAAG;AAC7D,gBAAA,SAAS,IAAI;AACnB,iBAAO,SAAS,YAAY;AAC1B,kBAAM,sBAAsB,KAAK,MAAM,OAAO,MAAgB,CAAC;AAAA,UAAA;AAEjE,iBAAO,WAAWA,KAAI;AAAA,QACxB;AAAA,MACF,GATU;AAAA,IASV,CACD;AAEG,QAAA,GAAG,SAAS,WAAW;AAAA,MAAA,IACzBD;AAAAA,MACA,UAAU,CAAC,SAAS,cAAc;AAAA,MAClC,MAAM;AAAA,MACN,MAAM,wBAAC,MAAM,QAAQ,UAAU;AAC7B,cAAM,UAAU;AAAA,UACd,GAAG,OAAO,OAAO,aAAa,EAAE;AAAA,YAAI,CAAC,MACnC,IAAI,UAAU;AAAA,cACZ,aAAa,EAAE;AAAA,cACf,OAAO,EAAE;AAAA,cACT,UAAU,EAAE,OAAO;AAAA,YAAA,CACpB;AAAA,UACH;AAAA,UACA,GAAG,OAAO,OAAO,uBAAA,CAAwB,EAAE;AAAA,YAAI,CAAC,MAC9C,IAAI,UAAU;AAAA,cACZ,aAAa,GAAG,EAAE,IAAI;AAAA,cACtB,OAAO,UAAU,EAAE,EAAE;AAAA,cACrB,UAAU,UAAU,EAAE,EAAE,OAAO;AAAA,YAAA,CAChC;AAAA,UACH;AAAA,QAAA;AAGF,YAAI,SAAS;AAAA,UACX;AAAA,UACA;AAAA,YACE,OAAO;AAAA,cACL,cAAc;AAAA,cACd,OAAO;AAAA,YACT;AAAA,YACA,UAAU,wBAAC,MAAM;AACR,qBAAA,EAAE,OAAO,KAAK;AAAA,YACvB,GAFU;AAAA,UAGZ;AAAA,UACA;AAAA,QAAA;AAGF,eAAO,IAAI,MAAM;AAAA,UACf,IAAI,MAAM;AAAA,YACR,IAAI;AAAA,YACJ;AAAA,cACE;AAAA,cACA;AAAA,gBACE,OAAO;AAAA,kBACL,SAAS;AAAA,kBACT,KAAK;AAAA,kBACL,cAAc;AAAA,gBAChB;AAAA,cACF;AAAA,cACA;AAAA,gBACE,IAAI,SAAS;AAAA,kBACX,MAAM;AAAA,kBACN,OAAO;AAAA,kBACP,SAAS,mCAAY;AACb,0BAAA,iBAAiB,IAAI,GAAG,SAAS;AAAA,sBACrCA;AAAAA,sBACA;AAAA,oBAAA;AAEF,0BAAM,eAAe,MAAM;AAAA,sBACzB,gBAAgB,cAAc;AAAA,oBAAA;AAEhC,0BAAM,OAAO,KAAK,UAAU,cAAc,MAAM,CAAC;AAC3C,0BAAA,OAAO,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,MAAM,mBAAA,CAAoB;AACpD,0BAAA,MAAM,IAAI,gBAAgB,IAAI;AAC9B,0BAAA,IAAI,IAAI,KAAK;AAAA,sBACjB,MAAM;AAAA,sBACN,UAAU,iBAAiB;AAAA,sBAC3B,OAAO,EAAE,SAAS,OAAO;AAAA,sBACzB,QAAQ,SAAS;AAAA,oBAAA,CAClB;AACD,sBAAE,MAAM;AACR,+BAAW,WAAY;AACrB,wBAAE,OAAO;AACF,6BAAA,IAAI,gBAAgB,GAAG;AAAA,uBAC7B,CAAC;AAAA,kBACN,GAtBS;AAAA,gBAsBT,CACD;AAAA,gBACD,IAAI,SAAS;AAAA,kBACX,MAAM;AAAA,kBACN,OAAO;AAAA,kBACP,SAAS,6BAAM;AACb,8BAAU,MAAM;AAAA,kBAClB,GAFS;AAAA,gBAET,CACD;AAAA,gBACD,IAAI,SAAS;AAAA,kBACX,MAAM;AAAA,kBACN,OAAO;AAAA,kBACP,SAAS,mCAAY;AACb,0BAAA,eAAe,MAAM;AAC3B,0BAAM,OAAO,KAAK,UAAU,cAAc,MAAM,CAAC;AAC3C,0BAAA,OAAO,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,MAAM,mBAAA,CAAoB;AACpD,0BAAA,MAAM,IAAI,gBAAgB,IAAI;AAC9B,0BAAA,IAAI,IAAI,KAAK;AAAA,sBACjB,MAAM;AAAA,sBACN,UAAU;AAAA,sBACV,OAAO,EAAE,SAAS,OAAO;AAAA,sBACzB,QAAQ,SAAS;AAAA,oBAAA,CAClB;AACD,sBAAE,MAAM;AACR,+BAAW,WAAY;AACrB,wBAAE,OAAO;AACF,6BAAA,IAAI,gBAAgB,GAAG;AAAA,uBAC7B,CAAC;AAAA,kBACN,GAhBS;AAAA,gBAgBT,CACD;AAAA,gBACD,IAAI,SAAS;AAAA,kBACX,MAAM;AAAA,kBACN,OAAO;AAAA,kBACP,SAAS,mCAAY;AACf,wBAAA,iBAAiB,IAAI,GAAG,SAAS;AAAA,sBACnCA;AAAAA,sBACA;AAAA,oBAAA;AAGE,wBAAA,cAAc,cAAc,GAAG;AACjC,4BAAM,6CAA6C;AACnD;AAAA,oBACF;AAEI,wBAAA,eAAe,WAAW,SAAS,GAAG;AACvB,uCAAA,eAAe,OAAO,CAAC;AAAA,oBAC1C;AAEA,0BAAM,yBAAyB,cAAc;AAAA,kBAC/C,GAhBS;AAAA,gBAgBT,CACD;AAAA,cACH;AAAA,YACF;AAAA,UAAA,CACD;AAAA,QAAA,CACF;AAAA,MACH,GA7HM;AAAA,MA8HN,cAAc;AAAA,MACd,MAAM,SAAS,OAAO;AACpB,YAAI,CAAC,OAAO;AACV;AAAA,QACF;AAEI,YAAA,UAAU,cAAc,KAAK;AACjC,YAAI,SAAS;AACX,gBAAM,iBAAiB,OAAO;AAAA,QACrB,WAAA,MAAM,WAAW,SAAS,GAAG;AAC9B,kBAAA,MAAM,OAAO,CAAC;AACtB,cAAI,sBAAsB;AACtB,cAAA,oBAAoB,KAAK,GAAG;AAC9B,sBAAU,oBAAoB,KAAK;AAC7B,kBAAA,iBAAiB,oBAAoB,KAAK,CAAC;AAAA,UACnD;AAAA,QACF;AAEA,YAAI,EAAE,kBAAkB,uBAAuB,IAC7C,QAAQ,OAAO;AAEf,YAAA,qBAAqB,UACrB,2BAA2B,QAC3B;AACA,gBAAM,OAAO,cAAc,MAAM,EAAE,OAAO;AAC1C,6BAAmB,KAAK;AACxB,mCAAyB,KAAK;AAAA,QAChC;AAGI,YAAA,OAAO,iBAAiB,kBAAkB,sBAAsB;AAAA,MACtE;AAAA,IAAA,CACD;AAAA,EACH;AACF,CAAC;ACz2BD,MAAME,QAAM;AAAA,EACV,MAAM;AAAA,EACN,OAAO;AACL,UAAM,UAAU,UAAU;AAGhB,cAAA,cAAc,SAAU,QAAQ,SAAS;AACjD,YAAM,MAAM,IAAI,QAAQ,QAAQ,OAAO;AAGvC,UAAI,SAAS,cAAc,UAAU,QAAQ,SAAS,GAAG;AACjD,cAAA,SAAS,SAAS,cAAc,OAAO;AACtC,eAAA,UAAU,IAAI,2BAA2B;AAChD,eAAO,cAAc;AACjB,YAAA,KAAK,QAAQ,MAAM;AAEvB,cAAM,QAAQ,MAAM;AAAA,UAClB,IAAI,KAAK,iBAAiB,iBAAiB;AAAA,QAAA;AAEzC,YAAA,iBAAiB,CAAC,GAAG,KAAK;AAC9B,YAAI,YAAY,eAAe;AAG/B,8BAAsB,MAAM;AAEpB,gBAAA,cAAc,aAAa,cAAc;AACzC,gBAAA,oBAAoB,YAAY,SAClC;AAAA,YACA,CAAC,MACC,EAAE,SAAS,WAAW,EAAE,QAAQ,OAAO,WAAW,OAAO;AAAA,UAAA,EAE5D;AAAA,YAAK,CAAC,MACL,EAAE,QAAQ,OAAO,MAAM,CAAC,GAAG,MAAM,MAAM,OAAO,CAAC,CAAC;AAAA,UAC/C,GAAA;AAED,cAAA,gBAAgB,oBAChB,OAAO,UAAU,CAAC,MAAM,MAAM,iBAAiB,IAC/C;AACJ,cAAI,gBAAgB,GAAG;AACL,4BAAA;AAAA,UAClB;AACI,cAAA,eAAe,eAAe,aAAa;AAChC;AAGf,mBAAS,iBAAiB;AACV,0BAAA,MAAM,YAAY,oBAAoB,EAAE;AACxC,0BAAA,MAAM,YAAY,SAAS,EAAE;AAC3C,2BAAe,eAAe,aAAa;AAC3C,0BAAc,MAAM;AAAA,cAClB;AAAA,cACA;AAAA,cACA;AAAA,YAAA;AAEF,0BAAc,MAAM,YAAY,SAAS,QAAQ,WAAW;AAAA,UAC9D;AAVS;AAYT,gBAAM,eAAe,6BAAM;AACnB,kBAAA,OAAO,IAAI,KAAK,sBAAsB;AAGxC,gBAAA,KAAK,MAAM,GAAG;AACV,oBAAA,QACJ,IACA,IAAI,KAAK,sBAAwB,EAAA,SAAS,IAAI,KAAK;AACrD,oBAAM,QAAS,IAAI,KAAK,eAAe,QAAS;AAChD,kBAAI,KAAK,MAAM,MAAM,CAAC,QAAQ;AAAA,YAChC;AAAA,UAAA,GAVmB;AAcd,iBAAA,iBAAiB,WAAW,CAAC,UAAU;AAC5C,oBAAQ,MAAM,KAAK;AAAA,cACjB,KAAK;AACH,sBAAM,eAAe;AACrB,oBAAI,kBAAkB,GAAG;AACvB,kCAAgB,YAAY;AAAA,gBAAA,OACvB;AACL;AAAA,gBACF;AACe;AACf;AAAA,cACF,KAAK;AACH,sBAAM,eAAe;AACrB,gCAAgB,YAAY;AACb;AACf;AAAA,cACF,KAAK;AACH,sBAAM,eAAe;AACjB,oBAAA,kBAAkB,YAAY,GAAG;AACnB,kCAAA;AAAA,gBAAA,OACX;AACL;AAAA,gBACF;AACe;AACf;AAAA,cACF,KAAK;AACH,sBAAM,eAAe;AACL,gCAAA;AACD;AACf;AAAA,cACF,KAAK;AACH,8BAAc,MAAM;AACpB;AAAA,cACF,KAAK;AACH,oBAAI,MAAM;AACV;AAAA,YACJ;AAAA,UAAA,CACD;AAEM,iBAAA,iBAAiB,SAAS,MAAM;AAE/B,kBAAA,OAAO,OAAO,MAAM,kBAAkB;AAE3B,6BAAA,MAAM,OAAO,CAAC,SAAS;AAChC,oBAAA,YACJ,CAAC,QAAQ,KAAK,YAAY,kBAAkB,EAAE,SAAS,IAAI;AACxD,mBAAA,MAAM,UAAU,YAAY,UAAU;AACpC,qBAAA;AAAA,YAAA,CACR;AAEe,4BAAA;AACZ,gBAAA,eAAe,SAAS,YAAY,GAAG;AACzC,8BAAgB,eAAe;AAAA,gBAC7B,CAAC,MAAM,MAAM;AAAA,cAAA;AAAA,YAEjB;AACA,wBAAY,eAAe;AAEZ;AAGf,gBAAI,QAAQ,OAAO;AACb,kBAAA,MAAM,QAAQ,MAAM,UAAU;AAE5B,oBAAA,WAAW,SAAS,KAAK,sBAAsB;AAC/C,oBAAA,WAAW,IAAI,KAAK,sBAAsB;AAChD,kBACE,SAAS,UACT,MAAM,SAAS,SAAS,SAAS,SAAS,IAC1C;AACA,sBAAM,KAAK,IAAI,GAAG,SAAS,SAAS,SAAS,SAAS,EAAE;AAAA,cAC1D;AAEI,kBAAA,KAAK,MAAM,MAAM,MAAM;AACd;YACf;AAAA,UAAA,CACD;AAED,gCAAsB,MAAM;AAE1B,mBAAO,MAAM;AAEA;UAAA,CACd;AAAA,QAAA,CACF;AAAA,MACH;AAEO,aAAA;AAAA,IAAA;AAGC,cAAA,YAAY,YAAY,QAAQ;AAAA,EAC5C;AACF;AAEA,IAAI,kBAAkBA,KAAG;AClKzB,SAAS,cAAc,KAAK;AACnB,SAAA,IAAI,QAAQ,4BAA4B,EAAE;AACnD;AAFS;AAIT,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,YAAY,MAAM;AAChB,QAAI,KAAK,SAAS;AAGhB,YAAM,UAAU,KAAK,QAAQ,OAAO,CAAC,MAAM,EAAE,cAAc;AAC3D,iBAAW,UAAU,SAAS;AAErB,eAAA,iBAAiB,CAAC,cAAc,gBAAgB;AACjD,cAAAC,UAAS,cAAc,OAAO,KAAK;AACvC,iBACEA,QAAO,QAAQ,OAAO,EAAE,EAAE,SAAS,GAAG,KACtCA,QAAO,QAAQ,OAAO,EAAE,EAAE,SAAS,GAAG,GACtC;AACA,kBAAM,aAAaA,QAAO,QAAQ,OAAO,IAAI,EAAE,QAAQ,GAAG;AAC1D,kBAAM,WAAWA,QAAO,QAAQ,OAAO,IAAI,EAAE,QAAQ,GAAG;AAExD,kBAAM,gBAAgBA,QAAO,UAAU,aAAa,GAAG,QAAQ;AACzD,kBAAA,UAAU,cAAc,MAAM,GAAG;AAEvC,kBAAM,cAAc,KAAK,MAAM,KAAK,WAAW,QAAQ,MAAM;AACvD,kBAAA,eAAe,QAAQ,WAAW;AAGtC,YAAAA,UAAAA,QAAO,UAAU,GAAG,UAAU,IAC9B,eACAA,QAAO,UAAU,WAAW,CAAC;AAAA,UACjC;AAGA,cAAI,cAAc;AACH,yBAAA,eAAe,WAAW,IAAIA;AAEtC,iBAAAA;AAAA,QAAA;AAAA,MAEX;AAAA,IACF;AAAA,EACF;AACF,CAAC;AC/CD,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,OAAO;AACL,UAAM,qBAAqB,IAAI,GAAG,SAAS,WAAW;AAAA,MACpD,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACR;AAAA,MACA,cAAc;AAAA,IAAA,CACf;AAEQ,aAAA,gBAAgB,QAAQ,OAAO;AAChC,YAAA,cAAc,WAAW,MAAM;AACjC,UAAA,MAAM,WAAW,EAAU,QAAA;AAC/B,YAAM,YAAY,cAAc;AAChC,aAAO,OAAO,OAAO,UAAU,QAAQ,EAAE,CAAC,CAAC;AAAA,IAC7C;AALS;AAOA,aAAA,qBAAqB,MAAM,WAAW;AACzC,UAAA,QAAQ,WACV,MAAM;AACJ,UAAA,YAAY,GACd,aAAa;AAGf,aAAO,SAAS,GAAG;AACjB;AACA,YAAI,KAAK,KAAK,MAAM,OAAO,cAAc,WAAY;AACjD,YAAA,KAAK,KAAK,MAAM,IAAK;AACrB,YAAA,KAAK,KAAK,MAAM,IAAK;AAAA,MAC3B;AACI,UAAA,QAAQ,EAAU,QAAA;AAEV,kBAAA;AACC,mBAAA;AAGN,aAAA,MAAM,KAAK,QAAQ;AACxB,YAAI,KAAK,GAAG,MAAM,OAAO,cAAc,WAAY;AAC/C,YAAA,KAAK,GAAG,MAAM,IAAK;AACnB,YAAA,KAAK,GAAG,MAAM,IAAK;AACvB;AAAA,MACF;AACI,UAAA,QAAQ,KAAK,OAAe,QAAA;AAEhC,aAAO,EAAE,OAAO,QAAQ,GAAG,IAAS;AAAA,IACtC;AA5BS;AA8BT,aAAS,uBAAuB,MAAM;AACpC,YAAM,aAAa;AACb,YAAA,aAAa,KAAK,MAAM,UAAU;AAExC,YAAM,aAAa;AACb,YAAA,aAAa,KAAK,MAAM,UAAU;AAEpC,UAAA,cAAc,CAAC,YAAY;AACtB,eAAA,IAAI,WAAW,CAAC,CAAC;AAAA,MAAA,OACnB;AACE,eAAA;AAAA,MACT;AAAA,IACF;AAZS;AAcT,aAAS,cAAc,OAAsB;AAE3C,YAAM,aAAkC,MAAM,aAAa,EAAE,CAAC;AACxD,YAAA,QAAQ,WAAW,mBAAmB,KAAK;AAE7C,UAAA,WAAW,YAAY,WAAY;AACvC,UAAI,EAAE,MAAM,QAAQ,aAAa,MAAM,QAAQ,aAAc;AAC7D,UAAI,CAAC,MAAM,WAAW,CAAC,MAAM,QAAS;AAEtC,YAAM,eAAe;AAErB,UAAI,QAAQ,WAAW;AACvB,UAAI,MAAM,WAAW;AACrB,UAAI,eAAe,WAAW,MAAM,UAAU,OAAO,GAAG;AAGxD,UAAI,CAAC,cAAc;AACjB,cAAM,mBAAmB,qBAAqB,WAAW,OAAO,KAAK;AACrE,YAAI,kBAAkB;AACpB,kBAAQ,iBAAiB;AACzB,gBAAM,iBAAiB;AACvB,yBAAe,WAAW,MAAM,UAAU,OAAO,GAAG;AAAA,QAAA,OAC/C;AAEL,gBAAM,aAAa;AAGjB,iBAAA,CAAC,WAAW,SAAS,WAAW,MAAM,QAAQ,CAAC,CAAC,KAChD,QAAQ,GACR;AACA;AAAA,UACF;AAGE,iBAAA,CAAC,WAAW,SAAS,WAAW,MAAM,GAAG,CAAC,KAC1C,MAAM,WAAW,MAAM,QACvB;AACA;AAAA,UACF;AAEA,yBAAe,WAAW,MAAM,UAAU,OAAO,GAAG;AACpD,cAAI,CAAC,aAAc;AAAA,QACrB;AAAA,MACF;AAGA,UAAI,aAAa,aAAa,SAAS,CAAC,MAAM,KAAK;AACjD,uBAAe,aAAa,UAAU,GAAG,aAAa,SAAS,CAAC;AACzD,eAAA;AAAA,MACT;AAIE,UAAA,WAAW,MAAM,QAAQ,CAAC,MAAM,OAChC,WAAW,MAAM,GAAG,MAAM,KAC1B;AACS,iBAAA;AACF,eAAA;AACP,uBAAe,WAAW,MAAM,UAAU,OAAO,GAAG;AAAA,MACtD;AAIE,UAAA,aAAa,CAAC,MAAM,OACpB,aAAa,aAAa,SAAS,CAAC,MAAM,KAC1C;AACA,uBAAe,IAAI,YAAY;AAAA,MACjC;AAGA,qBAAe,uBAAuB,YAAY;AAGlD,YAAM,cAAc,MAAM,QAAQ,YAAY,QAAQ,CAAC;AACvD,YAAM,cAAc,aAAa;AAAA,QAC/B;AAAA,QACA,CAAC,OAAO,MAAM,WAAW;AACd,mBAAA,gBAAgB,QAAQ,WAAW;AAC5C,cAAI,UAAU,GAAG;AACR,mBAAA;AAAA,UAAA,OACF;AACE,mBAAA,IAAI,IAAI,IAAI,MAAM;AAAA,UAC3B;AAAA,QACF;AAAA,MAAA;AAGS,iBAAA,kBAAkB,OAAO,GAAG;AAE9B,eAAA,YAAY,cAAc,OAAO,WAAW;AACrD,iBAAW,kBAAkB,OAAO,QAAQ,YAAY,MAAM;AAAA,IAChE;AA1FS;AA2FF,WAAA,iBAAiB,WAAW,aAAa;AAAA,EAClD;AACF,CAAC;AC7JD,MAAM,iBAAiB;AACvB,MAAM,cAAc,CAAC,UAAU,SAAS,UAAU,UAAU,SAAS;AACrE,MAAM,SAAS,OAAO;AACtB,MAAM,aAAa,OAAO;AAC1B,MAAM,SAAS,OAAO;AAItB,MAAM,sBAAsB;AAC5B,MAAM,sBAAsB,WAAW;AAAA,SAAA;AAAA;AAAA;AAAA,EACrC;AAAA,EACA;AAAA,EACA,OAAO;AAAA,EACP,YAAY,OAAgB;AAC1B,UAAM,KAAK;AACN,SAAA,UAAU,2BAA2B,GAAG;AAC7C,SAAK,oBAAoB;AACzB,SAAK,gBAAgB;AAErB,QAAI,CAAC,KAAK,cAAc,EAAE,uBAAuB,KAAK,aAAa;AAC5D,WAAA,YAAY,qBAAqB,OAAO,SAAS;AAAA,IACxD;AAAA,EACF;AAAA,EAEA,aAAa,aAAa,IAAI;AAC5B,QAAI,CAAC,KAAK,QAAQ,CAAC,EAAE,OAAO,OAAQ;AAEpC,aAAS,UAAU,MAAM;AACvB,UAAIC,SAAQ,CAAA;AACZ,iBAAW,KAAK,KAAK,QAAQ,CAAC,EAAE,OAAO;AACrC,cAAM,WAAW,IAAI,MAAM,MAAM,CAAC;AAClC,cAAM,IAAI,KAAK,MAAM,YAAY,SAAS,SAAS;AAC/C,YAAA,EAAE,QAAQ,WAAW;AACvBA,mBAAQA,OAAM,OAAO,UAAU,CAAC,CAAC;AAAA,QAAA,OAC5B;AACLA,iBAAM,KAAK,CAAC;AAAA,QACd;AAAA,MACF;AACOA,aAAAA;AAAAA,IACT;AAZS;AAcT,QAAI,QAAQ;AAAA,MACV,GAAG,UAAU,IAAI,EAAE,IAAI,CAAC,MAAM,IAAI,MAAM,MAAM,CAAC,CAAC;AAAA,MAChD,GAAG;AAAA,IAAA;AAEL,QAAI,IAAI,KAAK,UAAU,CAAC,EAAE;AAC1B,QAAI,KAAK,KAAK,WAAW,mBAAmB,GAAG;AACzC,UAAA,sBAAsB,KAAK,CAAC;AAAA,IAClC;AAGA,eAAW,YAAY,OAAO;AAC5B,YAAM,OAAO,KAAK,MAAM,YAAY,SAAS,SAAS;AACtD,YAAM,QAAQ,KAAK,OAAO,SAAS,WAAW;AAC1C,UAAA;AACA,UAAA,MAAM,OAAO,MAAM,GAAG;AACf,iBAAA,MAAM,OAAO,MAAM;AAAA,MAAA,OACvB;AACC,cAAA,aAAc,MAAM,OAA4B;AACtD,YAAI,YAAY;AACd,mBAAS,KAAK,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,UAAU;AAAA,QACzD;AAAA,MACF;AAEA,UAAI,QAAQ;AACV,eAAO,QAAQ;AACf,YAAI,OAAO,UAAU;AACZ,iBAAA;AAAA,YACL,OAAO;AAAA,YACP,IAAI;AAAA,YACJ;AAAA,YACA,IAAI,OAAO;AAAA,YACX,CAAC;AAAA,UAAA;AAAA,QAEL;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,qBAAqB;AACb,UAAA,SAAS,KAAK,UAAU,CAAC;AAC3B,QAAA,QAAQ,SAAS,SAAS;AACrB,aAAA,QAAQ,SAAS,KAAK,QAAQ,CAAC,EAAE,OAAO,UAAU,EAAE,EAAE,CAAC;AAE9D,UAAI,CAAC,OAAO,QAAQ,OAAO,SAAS,OAAO,KAAK,GAAG;AACjD,eAAO,QAAQ,OAAO,QAAQ,OAAO,CAAC;AACpC,eAAO,SAAsB,OAAO,KAAK;AAAA,MAC7C;AAAA,IACF;AAAA,EACF;AAAA,EAEA,yBAAyB;AACnB,QAAA,KAAK,QAAQ,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,SAAS,QAAQ;AAGtD,UAAA,CAAC,KAAK,mBAAA,EAAsB;AAGhC,UAAI,KAAK,SAAS;AAChB,iBAAS,IAAI,GAAG,IAAI,KAAK,eAAe,QAAQ,KAAK;AAC7C,gBAAA,IAAI,KAAK,QAAQ,CAAC;AACxB,cAAI,GAAG;AACH,cAAA,QAAQ,KAAK,eAAe,CAAC;AAAA,UACjC;AAAA,QACF;AAAA,MACF;AAGA,WAAK,mBAAmB;AAAA,IAC1B;AAAA,EACF;AAAA,EAEA,oBAAoB,GAAG,OAAO,WAAW;AACvC,QAAI,IAAI,kBAAkB;AAExB;AAAA,IACF;AAEA,UAAM,QAAQ,KAAK,QAAQ,CAAC,EAAE;AAC9B,QAAI,WAAW;AACb,UAAI,OAAO,UAAU,CAAC,KAAK,SAAS,QAAQ;AAC1C,aAAK,mBAAmB;AAAA,MAC1B;AAAA,IAAA,OACK;AAEL,WAAK,mBAAmB;AAEpB,UAAA,CAAC,OAAO,QAAQ;AAClB,aAAK,iBAAiB;AAAA,MACxB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,gBAAgB,MAAM,MAAM,OAAO,aAAa,aAAa;AAGvD,QAAA,CAAC,MAAM,QAAQ;AACjB,UAAI,EAAE,MAAM,QAAQ,cAAsB,QAAA;AAAA,IAC5C;AAEA,QAAI,KAAK,QAAQ,IAAI,EAAE,OAAO,QAAQ;AAC9B,YAAA,QAAQ,KAAK,mBAAmB,KAAK;AAC3C,UAAI,OAAO;AAEJ,aAAA,aAAa,CAAC,EAAE,WAAW,YAAY,IAAI,YAAa,CAAA,CAAC;AAAA,MAChE;AACO,aAAA;AAAA,IACT;AAAA,EACF;AAAA,EAEA,mBAAmB,YAAsB;AAEvC,QAAI,CAAC,KAAK,QAAQ,CAAC,EAAE,OAAO;AAC1B,WAAK,iBAAiB;AACtB;AAAA,IACF;AACA,UAAM,SAAS,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC;AACtC,UAAM,OAAO,KAAK,MAAM,MAAM,MAAM;AACpC,QAAI,CAAC,KAAM;AAEX,UAAM,YAAY,KAAK,MAAM,YAAY,KAAK,SAAS;AACvD,QAAI,CAAC,aAAa,CAAC,UAAU,OAAQ;AAErC,UAAM,QAAQ,UAAU,OAAO,KAAK,WAAW;AAC/C,QAAI,CAAC,MAAO;AAER,QAAA;AACA,QAAA,CAAC,MAAM,QAAQ;AACb,UAAA,EAAE,MAAM,QAAQ,cAAe;AACnC,eAAS,EAAE,MAAM,MAAM,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,MAAM,MAAM,CAAA,CAAE,EAAE;AAAA,IAAA,OAC7D;AACL,eAAS,MAAM;AAAA,IACjB;AAEM,UAAA,SAAS,OAAO,UAAU;AAChC,QAAI,CAAC,OAAQ;AAEb,UAAM,EAAE,KAAA,IAAS,cAAc,MAAM;AAEhC,SAAA,QAAQ,CAAC,EAAE,OAAO;AAClB,SAAA,QAAQ,CAAC,EAAE,OAAO;AAClB,SAAA,QAAQ,CAAC,EAAE,SAAS;AAEpB,SAAA;AAAA,MACH,OAAO,MAAM,KAAK;AAAA,MAClB;AAAA,MACA,OAAO;AAAA,MACP;AAAA,MACA,OAAO,MAAM;AAAA,IAAA;AAAA,EAEjB;AAAA,EAEA,cAAc,WAAW,MAAM,YAAY,YAAY,cAAc;AAC/D,QAAA,OAAO,UAAU,CAAC;AAEtB,QAAI,gBAAgB,OAAO;AAClB,aAAA;AAAA,IACT;AAGA,UAAM,OAAO,KAAK;AACd,QAAA;AACJ,QAAI,QAAQ,cAAc;AACd,gBAAA,aAAa,IAAI,EAAE,MAAM,SAAS,WAAW,GAAG,KAAK,CAAI,GAAA;AAAA,IAAA,OAC9D;AACL,eAAS,KAAK,UAAU,MAAM,SAAS,MAAM,MAAM;AAAA,MAAC,GAAG,CAAE,CAAA;AAAA,IAC3D;AAEA,QAAI,cAAc;AAChB,aAAO,QAAQ,aAAa;AAAA,IAAA,WACnB,MAAM,WAAW,QAAQ;AAC5B,YAAA,cAAc,KAAK,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,UAAU;AAClE,UAAI,aAAa;AACf,eAAO,QAAQ,YAAY;AAAA,MAC7B;AAAA,IACF;AAGE,QAAA,CAAC,YAAY,CAAC,GAAG,2BAChB,OAAO,SAAS,YAAY,OAAO,SAAS,UAC7C;AACI,UAAA,gBAAgB,KAAK,iBAAiB,CAAC;AAC3C,UAAI,CAAC,eAAe;AACF,wBAAA;AAAA,MAClB;AACA;AAAA,QACE;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAEE,UAAA,SAAS,KAAK,iBAAiB,CAAC;AACpC,UAAI,UAAU,KAAK,QAAQ,WAAW,GAAG;AAClC,aAAA,QAAQ,CAAC,EAAE,QAAQ;AAAA,MAC1B;AAAA,IACF;AAGA,UAAM,gBAAgB,KAAK;AAC3B,QACE,KAAK,aAAa,KAAK,QAAQ,CAAC,EAAE,QAClC,eAAe,WAAW,KAAK,QAAQ,SAAS,GAChD;AACA,eAAS,IAAI,GAAG,IAAI,cAAc,QAAQ,KAAK;AAC7C,aAAK,QAAQ,IAAI,CAAC,EAAE,QAAQ,cAAc,CAAC;AAAA,MAC7C;AAAA,IACF;AAIA,UAAM,WAAW,OAAO;AACxB,UAAM,OAAO;AACb,WAAO,WAAW,WAAY;AAC5B,YAAM,IAAI,WAAW,SAAS,MAAM,MAAM,SAAS,IAAI;AACvD,WAAK,aAAa;AACX,aAAA;AAAA,IAAA;AAIT,SAAK,OAAO;AAAA,MACV,KAAK,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;AAAA,MAC9B,KAAK,IAAI,KAAK,KAAK,CAAC,GAAG,KAAK,CAAC,CAAC;AAAA,IAAA;AAGhC,QAAI,CAAC,YAAY;AAET,YAAA,KAAK,KAAK;AAChB,UAAI,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG;AACxB,aAAK,KAAK,CAAC,IAAI,GAAG,CAAC;AAAA,MACrB;AACA,UAAI,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC,GAAG;AACxB,aAAK,KAAK,CAAC,IAAI,GAAG,CAAC;AAAA,MACrB;AAEA,4BAAsB,MAAM;AAC1B,YAAI,KAAK,UAAU;AACZ,eAAA,SAAS,KAAK,IAAI;AAAA,QACzB;AAAA,MAAA,CACD;AAAA,IACH;AAAA,EACF;AAAA,EAEA,iBAAiB;AACf,UAAM,SAAS,KAAK,SAAS,IAAI,CAAC,MAAM,EAAE,KAAK;AAC/C,SAAK,eAAe;AACpB,SAAK,mBAAmB,IAAI;AAC5B,QAAI,QAAQ,QAAQ;AAClB,eAAS,IAAI,GAAG,IAAI,KAAK,SAAS,QAAQ;AACxC,aAAK,QAAQ,CAAC,EAAE,QAAQ,OAAO,CAAC;AAAA,IACpC;AACO,WAAA,KAAK,UAAU,CAAC;AAAA,EACzB;AAAA,EAEA,qBAAqB;AAEb,UAAA,SAAS,KAAK,QAAQ,CAAC;AAC7B,UAAM,QAAQ,OAAO;AAErB,UAAM,YAAY,CAAC,CAAC,OAAO,OAAO,MAAM;AACxC,QAAI,WAAW;AACN,aAAA,OAAO,OAAO,MAAM;AAAA,IAC7B;AAEI,QAAA,OAAO,SAAS,KAAK,WAAW;AAElC,UAAI,MAAM,QAAQ;AAChB,aAAK,eAAe;AAAA,MACtB;AAEA;AAAA,IACF;AAEA,UAAM,UAAU,OAAO,OAAO,UAAU,EAAE;AAC1C,UAAM,WAAW,QAAQ,CAAC,MAAM,SAAS,QAAQ,CAAC,MAAM;AACxD,QAAI,CAAC,SAAU;AAEf,eAAW,UAAU,OAAO;AAC1B,YAAM,OAAO,IAAI,MAAM,MAAM,MAAM;AACnC,UAAI,CAAC,KAAM;AAEX,YAAM,YAAY,IAAI,MAAM,YAAY,KAAK,SAAS;AACtD,YAAM,aAAa,UAAU,OAAO,KAAK,WAAW;AAG/C,WAAA,mBAAmB,YAAY,SAAS;AAAA,IAC/C;AAAA,EACF;AAAA,EAEA,mBAAmB,OAAuB,aAAuB;AAEzD,UAAA,SAAS,KAAK,QAAQ,CAAC;AAC7B,UAAM,UAAU,MAAM,OAAO,UAAU,EAAE;AAClC,WAAA,CAAC,CAAC,aAAa;AAAA,MACpB;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,MACA,KAAK;AAAA,IAAA;AAAA,EAET;AAAA,EAEA,iBAAiB;AACf,QAAI,KAAK,SAAS;AAEL,iBAAA,KAAK,KAAK,SAAS;AAC5B,YAAI,EAAE,UAAU;AACd,YAAE,SAAS;AAAA,QACb;AAAA,MACF;AAIA,WAAK,gBAAgB;AACrB,WAAK,WAAW,KAAK,QAAQ,CAAC,GAAG;AACjC,eAAS,IAAI,GAAG,IAAI,KAAK,QAAQ,QAAQ,KAAK;AAC5C,aAAK,cAAc,KAAK,KAAK,QAAQ,CAAC,EAAE,KAAK;AAAA,MAC/C;AACA,iBAAW,MAAM;AACf,eAAO,KAAK;AACZ,eAAO,KAAK;AAAA,SACX,EAAE;AACL,WAAK,QAAQ,SAAS;AAAA,IACxB;AAAA,EACF;AAAA,EAEA,mBAAmB;AAGZ,SAAA,QAAQ,CAAC,EAAE,OAAO;AAClB,SAAA,QAAQ,CAAC,EAAE,OAAO;AAChB,WAAA,KAAK,QAAQ,CAAC,EAAE;AAEvB,SAAK,eAAe;AAAA,EACtB;AACF;AAEO,SAAS,gBAAgB,MAAM;AACpC,SAAO,KAAK,OAAO,MAAM,KAAK,KAAK,OAAO,UAAU;AACtD;AAFgB;AAIhB,SAAS,UAAU,YAAY;AACvB,QAAA,EAAE,SAAS,IAAI,KAAK;AAExB,SAAA,UAAU,OAAO,WAAW,UAAU,KACtC,UAAU,OAAO,WAAW,UAAU;AAE1C;AANS;AAQT,SAAS,oBAAoB,QAAQ,QAAQ;AAC3C,UACG,YAAY,SAAS,OAAO,IAAI,KAAK,YAAY,SAAS,OAAO,CAAC,CAAC,MACpE,CAAC,OAAO,SAAS;AAErB;AALS;AAOT,SAAS,WAAW,MAAM,QAAQ,SAAS,IAAI;AAC7C,MAAI,OAAO,MAAM,WAAW,cAAc,EAAG;AAC7C,SAAO,WAAW,OAAO;AACzB,SAAO,kBAAkB,OAAO;AAChC,SAAO,qBAAqB,OAAO;AACnC,SAAO,cAAc,MAAM,CAAC,GAAG,EAAE;AACjC,SAAO,OAAO,iBAAiB;AAC/B,SAAO,iBAAiB,MAAM;AAExB,QAAA,CAAC,KAAK,QAAQ;AACT,aAAA;AAAA,IACT;AACI,QAAA,aAAa,KAAK,OAAO,KAAK,CAAC,MAAM,EAAE,QAAQ,SAAS,OAAO,IAAI;AAEvE,QAAI,CAAC,cAAc,CAAC,WAAW,MAAM;AAC5B,aAAA;AAAA,IACT;AACA,WAAO,OAAO,qBACV,OAAO,uBACP,OAAO;AAAA,EAAA;AAIb,MAAI,OAAO,eAAe;AACb,eAAA,KAAK,OAAO,eAAe;AACpC,iBAAW,MAAM,GAAG,MAAM,OAAO,IAAI;AAAA,IACvC;AAAA,EACF;AACF;AA5BS;AA8BT,SAAS,WAAW,QAAQ;AAC1B,SAAO,OAAO,OAAO;AACrB,SAAO,cAAc,OAAO;AAC5B,SAAO,iBAAiB,OAAO;AAE/B,SAAO,OAAO;AACd,SAAO,OAAO;AACd,SAAO,OAAO;AAGd,MAAI,OAAO,eAAe;AACb,eAAA,KAAK,OAAO,eAAe;AACpC,iBAAW,CAAC;AAAA,IACd;AAAA,EACF;AACF;AAfS;AAiBT,SAAS,eAAe,MAAM,QAAQ,QAAQ;AAC5C,aAAW,MAAM,MAAM;AAEvB,QAAM,EAAE,KAAA,IAAS,cAAc,MAAM;AAGrC,QAAM,KAAK,KAAK;AACX,OAAA,SAAS,OAAO,MAAM,MAAM;AAAA,IAC/B,QAAQ,EAAE,MAAM,OAAO,MAAM,CAAC,UAAU,GAAG,MAAM,OAAO;AAAA,EAAA,CACzD;AAEUC,aAAAA,WAAU,KAAK,SAAS;AACjCA,YAAO,UAAU,UAAU;AAAA,EAC7B;AAGK,OAAA,QAAQ,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7E;AAjBS;AAmBT,SAAS,gBAAgB,MAAM,QAAQ;AACrC,aAAW,MAAM;AACjB,QAAM,KAAK,KAAK;AACX,OAAA,YAAY,KAAK,OAAO,UAAU,CAAC,MAAM,EAAE,QAAQ,SAAS,OAAO,IAAI,CAAC;AAElEA,aAAAA,WAAU,KAAK,SAAS;AACjCA,YAAO,UAAU,UAAU;AAAA,EAC7B;AAGK,OAAA,QAAQ,CAAC,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,GAAG,KAAK,IAAI,GAAG,CAAC,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC;AAC7E;AAXS;AAaT,SAAS,cAAc,QAAQ;AAEzB,MAAA,OAAO,OAAO,CAAC;AACnB,MAAI,gBAAgB,OAAO;AAClB,WAAA;AAAA,EACT;AACA,SAAO,EAAE,KAAK;AAChB;AAPS;AAST,SAAS,aAAa,OAAO,KAAK;AAE5B,MAAA,EAAE,eAAe,QAAQ;AACnB,YAAA,IAAI,kDAAkD,GAAG,EAAE;AAC5D,WAAA;AAAA,EACT;AAEI,MAAA,MAAM,WAAW,IAAI,QAAQ;AAC/B,YAAQ,IAAI,6CAA6C;AAClD,WAAA;AAAA,EACT;AAEI,MAAA,MAAM,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,GAAG;AACtC,YAAQ,IAAI,6CAA6C;AAClD,WAAA;AAAA,EACT;AAEO,SAAA;AACT;AAlBS;AAoBT,SAAS,gBAAgB,MAAyC;AAChE,SAAO,KAAK,SAAS;AACvB;AAFS;AAIO,SAAA,gBAAgB,MAAM,QAAQ,QAAkB;AAC1D,MAAA,CAAC,KAAK,OAAQ;AAClB,MAAI,QAAQ;AACL,SAAA,OAAO,UAAU,IAAI,MAAM;AAC3B,SAAA,OAAO,MAAM,IAAI;AAAA,EAAA,OACjB;AACL,WAAO,KAAK;AAAA,EACd;AAEA,MAAI,KAAK,MAAM;AACb,UAAM,OAAO,IAAI,MAAM,MAAM,KAAK,IAAI;AACtC,QAAI,MAAM;AACR,YAAM,aAAa,IAAI,MAAM,YAAY,KAAK,SAAS;AACnD,UAAA,gBAAgB,UAAU,GAAG;AAC/B,YAAI,QAAQ;AACV,qBAAW,eAAe;AAAA,QAAA,WACjB,CAAC,IAAI,kBAAkB;AAChC,qBAAW,iBAAiB,CAAC;AAC7B,qBAAW,iBAAiB;AAAA,QAC9B;AAAA,MACF;AAAA,IACF;AAAA,EACF;AACF;AAvBgB;AAyBT,SAAS,aACd,QACA,SACA,aACA,gBACA,SACA;AACA,MAAI,CAAC,SAAS;AACZ,cAAU,OAAO,OAAO,MAAM,KAAK,OAAO,OAAO,UAAU;EAC7D;AAEI,MAAA,QAAQ,CAAC,aAAa,OAAO;AAC3B,QAAA,CAAC,aAAa,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,EAAG;AAAA,aAClC,QAAQ,CAAC,MAAM,QAAQ,CAAC,GAAG;AAEpC,YAAQ,IAAI,yCAAyC,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC;AAC3E;AAAA,EACF;AAEM,QAAA,2BAAW,IAAI;AAAA,IACnB,GAAG,OAAO,KAAK,QAAQ,CAAC,KAAK,CAAA,CAAE;AAAA,IAC/B,GAAG,OAAO,KAAK,QAAQ,CAAC,KAAK,CAAA,CAAE;AAAA,EAAA,CAChC;AAEG,MAAA;AACJ,QAAM,kBAAkB,6BAAM;AAC5B,QAAI,CAAC,cAAc;AACb,UAAA,OAAO,oBAAoB,aAAa;AAC3B,uBAAA,KAAK,MAAM,KAAK,UAAU,QAAQ,CAAC,KAAK,CAAE,CAAA,CAAC;AAAA,MAAA,OACrD;AACL,uBAAe,gBAAgB,QAAQ,CAAC,KAAK,CAAE,CAAA;AAAA,MACjD;AAAA,IACF;AACO,WAAA;AAAA,EAAA,GARe;AAWxB,QAAM,WAAW,QAAQ,CAAC,MAAM,SAAS,QAAQ,CAAC,MAAM;AAC7C,aAAA,KAAK,KAAK,UAAU;AAE3B,QAAA,MAAM,aACN,MAAM,gBACN,MAAM,kBACN,MAAM,4BACN,MAAM,eACN,MAAM,WACN;AACA,UAAI,KAAK,QAAQ,CAAC,EAAE,CAAC;AACrB,UAAI,KAAK,QAAQ,CAAC,IAAI,CAAC;AAEvB,UAAI,OAAO,MAAO,CAAC,MAAM,CAAC,GAAK;AAE/B,UAAI,UAAU;AACZ,YAAI,MAAM,OAAO;AACf,gBAAM,WAAW,QAAQ,CAAC,IAAI,KAAK;AAC/B,cAAA,YAAY,QAAQ,KAAK,UAAU;AAC7B,oBAAA,IAAI,kCAAkC,IAAI,QAAQ;AAC1D;AAAA,UACF;AACA,0BAAkB,EAAA,CAAC,IACjB,MAAM,OAAO,KAAK,MAAM,OAAO,KAAK,KAAK,IAAI,IAAI,EAAE;AACrD;AAAA,QAAA,WACS,MAAM,OAAO;AACtB,gBAAM,WAAW,QAAQ,CAAC,IAAI,KAAK;AAC/B,cAAA,YAAY,QAAQ,KAAK,UAAU;AAC7B,oBAAA,IAAI,kCAAkC,IAAI,QAAQ;AAC1D;AAAA,UACF;AACA,0BAAkB,EAAA,CAAC,IACjB,MAAM,OAAO,KAAK,MAAM,OAAO,KAAK,KAAK,IAAI,IAAI,EAAE;AACrD;AAAA,QAAA,WACS,MAAM,QAAQ;AACnB,cAAA;AACJ,cAAI,MAAM,MAAM;AAEP,mBAAA;AAAA,UAAA,WACE,MAAM,MAAM;AAEd,mBAAA;AAAA,UAAA,OACF;AACL,gBAAI,KAAK,IAAI;AAEX,oBAAM,IAAI;AACL,mBAAA;AACA,mBAAA;AAAA,YACP;AACA,gBAAI,KAAK,IAAI;AACH,sBAAA;AAAA,gBACN;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,gBACA;AAAA,cAAA;AAEF;AAAA,YACF;AAEO,mBAAA;AAAA,UACT;AAEgB,0BAAA,EAAE,CAAC,IAAI;AACvB;AAAA,QACF;AAAA,MACF;AAEA,cAAQ,IAAI,+BAA+B,CAAC,sBAAsB,IAAI,EAAE;AACxE;AAAA,IACF;AAAA,EACF;AAEA,MAAI,gBAAgB,aAAa;AAC/B,QAAI,cAAc;AAChB,aAAO,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,GAAG,YAAY;AAAA,IACnD;AAEM,UAAA,SAAS,gBAAgB,KAAK,IAAI;AAExC,QAAI,QAAQ;AACJ,YAAA,MAAM,OAAO,QAAQ;AACrB,YAAA,MAAM,OAAO,QAAQ;AAC3B,UAAI,OAAO,QAAQ,OAAO,QAAQ,YAAY,QAAQ;AACtD,UAAI,OAAO,QAAQ,OAAO,QAAQ,YAAY,QAAQ;AAC/C,aAAA,SAAS,OAAO,KAAK;AAAA,IAC9B;AAAA,EACF;AAEA,SAAO,EAAE,aAAa;AACxB;AA9HgB;AAgIhB,IAAI;AACJ,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,OAAO;AAC0B,mCAAA,IAAI,GAAG,SAAS,WAAW;AAAA,MACxD,IAAI;AAAA,MACJ,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAc;AAAA,IAAA,CACf;AAAA,EACH;AAAA,EACA,MAAM,sBAAsB,UAAU,UAAUN,MAAK;AAE7C,UAAA,0BAA0B,SAAS,UAAU;AAC1C,aAAA,UAAU,uBAAuB,SAAU,QAAQ;AAC1D,YAAM,SAAS,UAAU,KAAK,MAAM,OAAO,IAAI,KAAK;AAAA,QAClD,OAAO;AAAA,QACP,OAAO,WAAW,CAAC;AAAA,MAAA;AAErB,UAAI,CAAC,oBAAoB,QAAQ,MAAM,EAAU,QAAA;AAClC,qBAAA,MAAM,QAAQ,MAAM;AAC5B,aAAA;AAAA,IAAA;AAET,aAAS,UAAU,sBAAsB,SAAU,GAAG,SAAS;AAC7D,YAAM,IAAI,0BACN,wBAAwB,MAAM,MAAM,SAAS,IAC7C;AAEJ,UAAI,KAAK,SAAS;AAChB,YAAI,UAAU,CAAA;AACd,YAAI,WAAW,CAAA;AACJ,mBAAA,KAAK,KAAK,SAAS;AACxB,cAAA,EAAE,SAAS,YAAY;AACzB;AAAA,UACF;AACI,cAAA,EAAE,SAAS,gBAAgB;AAC7B,qBAAS,KAAK;AAAA,cACZ,SAAS,WAAW,EAAE,IAAI;AAAA,cAC1B,UAAU,6BAAM,gBAAgB,MAAM,CAAC,GAA7B;AAAA,YAA6B,CACxC;AAAA,UAAA,OACI;AACL,kBAAM,SAAS,UAAU,KAAK,MAAM,EAAE,IAAI,KAAK;AAAA,cAC7C,EAAE;AAAA,cACF,EAAE,WAAW,CAAC;AAAA,YAAA;AAEZ,gBAAA,oBAAoB,GAAG,MAAM,GAAG;AAClC,sBAAQ,KAAK;AAAA,gBACX,SAAS,WAAW,EAAE,IAAI;AAAA,gBAC1B,UAAU,6BAAM,eAAe,MAAM,GAAG,MAAM,GAApC;AAAA,cAAoC,CAC/C;AAAA,YACH;AAAA,UACF;AAAA,QACF;AAGA,YAAI,QAAQ,QAAQ;AAClB,cAAI,6BAA6B,OAAO;AACtC,oBAAQ,KAAK;AAAA,cACX,SAAS;AAAA,cACT,SAAS;AAAA,gBACP,SAAS;AAAA,cACX;AAAA,YAAA,CACD;AAAA,UAAA,OACI;AACG,oBAAA,KAAK,GAAG,SAAS,IAAI;AAAA,UAC/B;AAAA,QACF;AACA,YAAI,SAAS,QAAQ;AACnB,cAAI,6BAA6B,OAAO;AACtC,oBAAQ,KAAK;AAAA,cACX,SAAS;AAAA,cACT,SAAS;AAAA,gBACP,SAAS;AAAA,cACX;AAAA,YAAA,CACD;AAAA,UAAA,OACI;AACG,oBAAA,KAAK,GAAG,UAAU,IAAI;AAAA,UAChC;AAAA,QACF;AAAA,MACF;AAEO,aAAA;AAAA,IAAA;AAGA,aAAA,UAAU,oBAAoB,WAAY;AAC7C,UAAA,CAAC,KAAK,OAAQ;AAEP,iBAAA,SAAS,KAAK,QAAQ;AAC/B,YAAI,MAAM,QAAQ;AAChB,cAAI,CAAC,MAAM,OAAO,UAAU,GAAG;AACvB,kBAAA,OAAO,UAAU,IAAI,MACzB,UAAU,KAAK,MAAM,MAAM,OAAO,IAAI;AAAA,UAC1C;AAGI,cAAA,MAAM,OAAO,QAAQ;AACvB,gBAAI,MAAM,OAAO,OAAO,CAAC,aAAa,OAAO;AAE3C,oBAAM,OAAO;AAEb,oBAAM,OAAOA,KAAI,MAAM,MAAM,MAAM,IAAI;AACvC,kBAAI,MAAM;AACR,qBAAK,OAAO,MAAM;AAAA,cACpB;AAAA,YACF;AACA,mBAAO,MAAM,OAAO;AAAA,UACtB;AAEM,gBAAA,IAAI,KAAK,QAAQ,KAAK,CAACO,OAAMA,GAAE,SAAS,MAAM,OAAO,IAAI;AAC/D,cAAI,GAAG;AACL,uBAAW,MAAM,CAAC;AAAA,UAAA,OACb;AACL,4BAAgB,MAAM,KAAK;AAAA,UAC7B;AAAA,QACF;AAAA,MACF;AAAA,IAAA;AAGI,UAAA,oBAAoB,SAAS,UAAU;AACpC,aAAA,UAAU,gBAAgB,WAAY;AAC7C,YAAM,IAAI,oBAAoB,kBAAkB,MAAM,IAAI,IAAI;AAG9D,UAAI,CAACP,KAAI,oBAAoB,KAAK,SAAS;AAC9B,mBAAA,KAAK,KAAK,SAAS;AAC5B,cAAI,GAAG,SAAS,cAAc,GAAG,SAAS,cAAc;AACtD,kBAAM,SAAS,UAAU,KAAK,MAAM,EAAE,IAAI,KAAK;AAAA,cAC7C,EAAE;AAAA,cACF,EAAE,WAAW,CAAC;AAAA,YAAA;AAED,2BAAA,MAAM,GAAG,MAAM;AAAA,UAChC;AAAA,QACF;AAAA,MACF;AAEO,aAAA;AAAA,IAAA;AAGH,UAAA,kBAAkB,SAAS,UAAU;AAClC,aAAA,UAAU,cAAc,WAAY;AAC3C,YAAM,IAAI,kBACN,gBAAgB,MAAM,MAAM,SAAS,IACrC;AACJ,UAAI,CAACA,KAAI,oBAAoB,KAAK,QAAQ;AAE7B,mBAAA,SAAS,KAAK,QAAQ;AAC/B,cAAI,MAAM,UAAU,CAAC,MAAM,OAAO,UAAU,GAAG;AACvC,kBAAA,OAAO,UAAU,IAAI,MACzB,UAAU,KAAK,MAAM,MAAM,OAAO,IAAI;AAClC,kBAAA,IAAI,KAAK,QAAQ,KAAK,CAACO,OAAMA,GAAE,SAAS,MAAM,OAAO,IAAI;AAC/D,gBAAI,GAAG;AACL,yBAAW,MAAM,CAAC;AAAA,YACpB;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAEO,aAAA;AAAA,IAAA;AAGT,aAAS,YAAY,KAAK;AACb,iBAAA,KAAKP,KAAI,MAAM,QAAQ;AAChC,YAAI,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG;AACvC,iBAAA;AAAA,QACT;AAAA,MACF;AACO,aAAA;AAAA,IACT;AAPS;AAUH,UAAA,sBAAsB,SAAS,UAAU;AAC/C,UAAM,iBAAiB;AACd,aAAA,UAAU,kBAAkB,SAAU,MAAM;AACnD,YAAM,IAAI,sBACN,oBAAoB,MAAM,MAAM,SAAS,IACzC;AAEE,YAAA,QAAQ,KAAK,OAAO,IAAI;AAC9B,UAAI,CAAC,MAAM,UAAU,CAAC,MAAM,cAAc,GAAG;AAE3C,YACE,EAAE,MAAM,QAAQ,iBAChB,EAAE,MAAM,OAAO,UAAU,IAAI,IAAI,CAAC,aAAa,QAC/C;AACO,iBAAA;AAAA,QACT;AAAA,MACF;AAGM,YAAA,OAAO,UAAU,WAAW,eAAe;AACjDA,WAAI,MAAM,IAAI,IAAI;AAGlB,YAAM,MAAwB;AAAA,QAC5B,KAAK,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI;AAAA,QAC7B,KAAK,IAAI,CAAC;AAAA,MAAA;AAEL,aAAA,YAAY,GAAG,GAAG;AACnB,YAAA,CAAC,KAAK,UAAU;AAAA,MACtB;AAEA,WAAK,MAAM;AACN,WAAA,QAAQ,GAAG,MAAM,IAAI;AAC1B,WAAK,QAAQ,MAAM;AAGnB,YAAM,cAAc,IAAI;AACxB,iBAAW,MAAM;AACf,eAAO,MAAM,cAAc;AAAA,SAC1B,GAAG;AAEC,aAAA;AAAA,IAAA;AAIH,UAAA,iBAAiB,SAAS,UAAU;AAC1C,aAAS,UAAU,iBAAiB,SAClC,YACA,MACA,QACA,YACA,YACA;AACM,YAAA,IAAI,iBAAiB,MAAM,SAAS;AAEtC,UAAA,SAAS,QAAgB,QAAA;AAE7B,UAAI,WAAW,QAAQ,UAAU,EAAE,OAAe,QAAA;AAG5C,YAAA,cAAc,KAAK,OAAO,UAAU,EAAE,SAAS,UAAU,QAAQ,CAAC;AACxE,UAAI,CAAC,eAAe,EAAE,uBAAuB,OAAe,QAAA;AAG5D,YAAM,eACJ,WAAW,aAAa,UAAU,SAAS,UAAU;AACvD,UAAI,CAAC,gBAAgB,CAAC,aAAa,aAAa,YAAY,GAAG;AACtD,eAAA;AAAA,MACT;AAEO,aAAA;AAAA,IAAA;AAAA,EAEX;AAAA,EACA,sBAAsB;AACV,cAAA;AAAA,MACR;AAAA,MACA,OAAO,OAAO,eAAe;AAAA,QAC3B,OAAO;AAAA,MAAA,CACR;AAAA,IAAA;AAEH,kBAAc,WAAW;AAAA,EAC3B;AACF,CAAC;;;;;;AC54BD,MAAM,QAAgB,OAAO;AAE7B,SAAS,MAAM,QAAQ,QAAQ;AAC7B,MAAI,OAAO,WAAW,YAAY,OAAO,WAAW,UAAU;AAC5D,eAAW,OAAO,QAAQ;AAClB,YAAA,KAAK,OAAO,GAAG;AACjB,UAAA,OAAO,OAAO,UAAU;AACtB,YAAA,KAAK,OAAO,GAAG;AACnB,YAAI,CAAC,GAAI,MAAK,OAAO,GAAG,IAAI,CAAA;AACtB,cAAA,IAAI,OAAO,GAAG,CAAC;AAAA,MAAA,OAChB;AACL,eAAO,GAAG,IAAI;AAAA,MAChB;AAAA,IACF;AAAA,EACF;AAEO,SAAA;AACT;AAfS;AAiBF,MAAM,0BAA0B,YAA+B;AAAA,SAAA;AAAA;AAAA;AAAA,EACpE;AAAA,EAIA;AAAA,EACA,cAA+C;AAAA,EAC/C;AAAA,EACA,gBASI,CAAA;AAAA,EACJ;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,IAAI,yBAAyB;AAC3B,WAAO,CAAC,KAAK,UAAU,KAAK,iBAAiB,EAAE,QAAQ;AAAA,EACzD;AAAA,EAEA,YAAYA,MAAK;AACT;AACN,SAAK,MAAMA;AACN,SAAA,UAAU,IAAI,6BAA6B;AAAA,MAC9C,QAAQ,SAAS;AAAA,IAAA,CAClB;AAAA,EACH;AAAA,EAEA,UAAU,KAAK;AACb,SAAK,KAAK,KAAK,WAAW,EAAE,IAAI,UAAU,OAAO,QAAQ;AACzD,SAAK,KAAK,KAAK,WAAW,EAAE,KAAK,UAAU,OAAO,QAAQ;AAC1D,SAAK,KAAK,GAAG,EAAE,IAAI,UAAU,IAAI,QAAQ;AACzC,SAAK,KAAK,GAAG,EAAE,KAAK,UAAU,IAAI,QAAQ;AAC1C,SAAK,cAAc;AAAA,EACrB;AAAA,EAEA,WAAW,OAAO,OAAQ;AACxB,QAAI,CAAC,SAAS,KAAK,sBAAsB,MAAO;AAE5C,QAAA,KAAK,qBAAqB,MAAM;AAClC,WAAK,UAAU,KAAK,iBAAiB,EAAE,UAAU,OAAO,UAAU;AAAA,IACpE;AACA,SAAK,UAAU,KAAK,EAAE,UAAU,IAAI,UAAU;AAC9C,SAAK,oBAAoB;AAEzB,QAAI,CAAC,KAAK,gBAAA,KAAqB,KAAK,gBAAgB,UAAU;AAC5D,WAAK,UAAU,SAAS;AAAA,IAC1B;AACA,QAAI,CAAC,KAAK,iBAAA,KAAsB,KAAK,gBAAgB,WAAW;AAC9D,WAAK,UAAU,SAAS;AAAA,IAC1B;AACA,QAAI,CAAC,KAAK,iBAAA,KAAsB,KAAK,gBAAgB,WAAW;AAC9D,WAAK,UAAU,QAAQ;AAAA,IACzB;AAEK,SAAA,UAAU,KAAK,WAAW;AAAA,EACjC;AAAA,EAEA,eAAe;AACb,SAAK,gBACH,UAAU,sBAAsB,cAAc,KAAK,aAAa;AAC7D,SAAA,eAAe,KAAK,cAAc;AACvC,SAAK,YAAY,iBAAiB,aAAa,KAAK,aAAa;AAAA,EACnE;AAAA,EAEA,YAAY,OAAO,QAAQ,MAAM;AAC/B,SAAK,gBAAgB;AACrB,SAAK,aAAa;AAEZ,UAAA,QAAQ,KAAK,UAAU,SAAS;AACtC,SAAK,YAAY,MAAM;AAAA,MAAI,CAAC,GAAG,MAC7B;AAAA,QACE;AAAA,QACA;AAAA,UACE,SAAS;AAAA,YACP,WAAW,EAAE,QAAQ;AAAA,UACvB;AAAA,UACA,SAAS,6BAAM;AACb,iBAAK,WAAW,CAAC;AAAA,UACnB,GAFS;AAAA,QAGX;AAAA,QACA;AAAA,UACE,IAAI,kBAAkB;AAAA,UACtB;AAAA,YACE;AAAA,YACA;AAAA,cACE,aAAa,EAAE,SAAS,EAAE;AAAA,YAC5B;AAAA,YACA,EAAE,QACE,IAAI,QAAQ;AAAA,cACV,aAAa,EAAE;AAAA,YAChB,CAAA,IACD,CAAC;AAAA,UACP;AAAA,QACF;AAAA,MACF;AAAA,IAAA;AAGF,SAAK,eAAe,gBAAgB,GAAG,KAAK,SAAS;AAErD,QAAI,OAAO;AACT,WAAK,oBAAoB;AACzB,WAAK,WAAW,CAAC;AAAA,IAAA,OACZ;AACC,YAAA,QAAQ,KAAK,UAAU,YAAY;AACrC,UAAA,QAAQ,MAAM,UAAU,CAAC,SAAS,KAAK,UAAU,SAAS,UAAU,CAAC;AACrE,UAAA,UAAU,GAAI,SAAQ,KAAK;AAC1B,WAAA,WAAW,OAAO,IAAI;AAAA,IAC7B;AAEM,UAAA,UAAU,CAAC,GAAG,KAAK;AACzB,SAAK,WAAW;AAChB,SAAK,YAAY,IAAI,cAAc,KAAK,gBAAgB,IAAI;AAC5D,SAAK,UAAU;AAAA,MACb;AAAA,MACA,CAAC,EAAE,QAAQ,EAAE,aAAa,oBAAoB;AAC5C,YAAI,gBAAgB,YAAa;AACzB,gBAAA,OAAO,aAAa,GAAG,QAAQ,OAAO,aAAa,CAAC,EAAE,CAAC,CAAC;AAChE,iBAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACvC,eAAK,kBAAkB;AAAA,YACrB,WAAW,QAAQ,CAAC,EAAE;AAAA,YACtB,SAAS;AAAA,YACT,MAAM;AAAA,YACN,OAAO;AAAA,UAAA,CACR;AAAA,QACH;AAAA,MACF;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,kBAAkB,OAKf;AACD,UAAM,EAAE,WAAW,SAAS,MAAM,UAAU;AAC5C,UAAM,WAAY,KAAK,cAAc,KAAK,aAAa,MAAM;AACvD,UAAA,WAAY,SAAS,UAAU;AACrC,UAAM,UAAW,SAAS,aAAa,KAAK,sBAAsB,MAAM;AACxE,UAAM,UAAW,QAAQ,OAAO,MAAM,CAAA;AAClC,QAAA,OAAO,UAAU,UAAU;AAC7B,YAAM,SAAU,QAAQ,IAAI,MAAM,CAAA;AAC3B,aAAA,OAAO,QAAQ,KAAK;AAAA,IAAA,OACtB;AACL,cAAQ,IAAI,IAAI;AAAA,IAClB;AAAA,EACF;AAAA,EAEA,eAAe,SAAS,MAAM,OAAO,aAAa,SAAS,YAAY,MAAM;AACvE,QAAA,UAAU,YAAqB,SAAA;AAEnC,UAAM,OACJ,KAAK,cAAc,KAAK,aAAa,GAAG,QACtC,KAAK,sBACP,IAAI,OAAO,IAAI,IAAI;AACrB,QAAI,MAAM;AACJ,UAAA,KAAK,QAAQ,MAAM;AACrB,gBAAQ,KAAK;AAAA,MACf;AACI,UAAA,KAAK,WAAW,MAAM;AACxB,kBAAU,KAAK;AAAA,MACjB;AAAA,IACF;AAEA,WAAO,IAAI,OAAO;AAAA,MAChB,IAAI,SAAS;AAAA,QACX;AAAA,QACA;AAAA,QACA,MAAM;AAAA,QACN,UAAU,wBAAC,MAAM;AACf,eAAK,kBAAkB;AAAA,YACrB;AAAA,YACA;AAAA,YACA,OAAO,EAAE,MAAM,EAAE,OAAO,MAAM;AAAA,UAAA,CAC/B;AAAA,QACH,GANU;AAAA,MAMV,CACD;AAAA,MACD,IAAI,SAAS,EAAE,aAAa,aAAa;AAAA,QACvC,IAAI,SAAS;AAAA,UACX,MAAM;AAAA,UACN;AAAA,UACA,UAAU,CAAC;AAAA,UACX,UAAU,wBAAC,MAAM;AACf,iBAAK,kBAAkB;AAAA,cACrB;AAAA,cACA;AAAA,cACA,OAAO,EAAE,SAAS,CAAC,CAAC,EAAE,OAAO,QAAQ;AAAA,YAAA,CACtC;AAAA,UACH,GANU;AAAA,QAMV,CACD;AAAA,MAAA,CACF;AAAA,IAAA,CACF;AAAA,EACH;AAAA,EAEA,mBAAmB;AACjB,UAAM,UACJ,KAAK,UAAU,kBAAkB,KAAK,sBAAsB;AAC9D,UAAM,QAAQ,OAAO,KAAK,WAAW,CAAE,CAAA;AACvC,UAAM,OAAO,IAAI,MAAM,MAAM,WAAW,KAAK,aAAa;AAC1D,UAAM,SAAS,KAAK,SAAS,KAAK,sBAAsB,GAAG;AAC3D,SAAK,YAAY;AAAA,MACf,GAAG,MAAM,IAAI,CAAC,YAAY;AACxB,eAAO,KAAK;AAAA,UACV;AAAA,UACA;AAAA,UACA,QAAQ,OAAO;AAAA,UACf;AAAA,UACA,SAAS,OAAO,GAAG,YAAY;AAAA,QAAA;AAAA,MACjC,CACD;AAAA,IAAA;AAEI,WAAA,CAAC,CAAC,MAAM;AAAA,EACjB;AAAA,EAEA,kBAAkB;AAChB,UAAM,SAAS,KAAK,UAAU,WAAW,KAAK,sBAAsB;AACpE,UAAM,QAAQ,OAAO,KAAK,UAAU,CAAE,CAAA;AACtC,UAAM,OAAO,IAAI,MAAM,MAAM,WAAW,KAAK,aAAa;AAC1D,UAAM,SAAS,KAAK,SAAS,KAAK,sBAAsB,GAAG;AAC3D,SAAK,WAAW;AAAA,MACd,GAAG,MACA,IAAI,CAAC,YAAY;AACZ,YAAA,QAAQ,OAAO,OAAO;AAC1B,YAAI,CAAC,OAAO;AACV;AAAA,QACF;AAEA,eAAO,KAAK;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA,SAAS,OAAO,GAAG,YAAY;AAAA,QAAA;AAAA,MACjC,CACD,EACA,OAAO,OAAO;AAAA,IAAA;AAEZ,WAAA,CAAC,CAAC,MAAM;AAAA,EACjB;AAAA,EAEA,mBAAmB;AACX,UAAA,QAAQ,KAAK,UAAU,SAAS;AAChC,UAAA,eAAe,KAAK,UAAU;AAAA,MAClC,MAAM,KAAK,sBAAsB;AAAA,IAAA;AAE7B,UAAA,UAAU,cAAc,UAAU;AACxC,UAAM,eACJ,KAAK,UAAU,kBAAkB,KAAK,sBAAsB;AAE9D,UAAM,OAAO,IAAI,MAAM,MAAM,WAAW,KAAK,aAAa;AAC1D,UAAM,SAAS,KAAK,SAAS,KAAK,sBAAsB,GAAG;AAC3D,UAAM,OAAO,KAAK,UAAU,SAAS,MAAM,KAAK,sBAAsB;AAChE,UAAA,YAAY,KAAK,SAAS;AAChC,SAAK,YAAY;AAAA,MACf,GAAG,QACA,IAAI,CAACQ,OAAM,SAAS;AACb,cAAA,mBAAmB,eAAe,IAAI;AAC5C,cAAM,UAAU,aAAa,cAAc,IAAI,KAAKA;AAChD,YAAA,QAAQ,SAAS,IAAI,GAAG;AAC5B,cAAM,UAAU,SAAS,IAAI,GAAG,WAAW,oBAAoB;AAC3D,YAAA,CAAC,SAAS,UAAU,SAAS;AACvB,kBAAA;AAAA,QACV;AACA,eAAO,KAAK;AAAA,UACV;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,UACA;AAAA,QAAA;AAAA,MACF,CACD,EACA,OAAO,OAAO;AAAA,IAAA;AAEZ,WAAA,CAAC,CAAC,QAAQ;AAAA,EACnB;AAAA,EAEA,KAAK,MAAO;AACJ,UAAA,aAAa,OAAO,KAAK,IAAI,MAAM,OAAO,cAAc,CAAE,CAAA,EAAE;AAAA,MAChE,CAAC,GAAG,MAAM,EAAE,cAAc,CAAC;AAAA,IAAA;AAG7B,SAAK,iBAAiB;AAAA,MACpB;AAAA,IAAA;AAEG,SAAA,cAAc,IAAI,sCAAsC;AACxD,SAAA,aAAa,IAAI,sCAAsC;AACvD,SAAA,cAAc,IAAI,sCAAsC;AACvD,UAAA,QAAQ,IAAI,OAAO;AAAA,MACvB,KAAK;AAAA,MACL,KAAK;AAAA,MACL,KAAK;AAAA,IAAA,CACN;AAED,SAAK,OAAO;AAAA,MACV,CAAC,UAAU,KAAK,UAAU;AAAA,MAC1B,CAAC,WAAW,KAAK,WAAW;AAAA,MAC5B,CAAC,WAAW,KAAK,WAAW;AAAA,MAC5B,OAAO,CAAC,GAAG,CAAC,MAAM,IAAI,MAA6B;AACnD,QAAE,IAAI,IAAI;AAAA,QACR,KAAK,IAAI,KAAK;AAAA,UACZ,SAAS,6BAAM;AACb,iBAAK,UAAU,IAAI;AAAA,UACrB,GAFS;AAAA,UAGT,aAAa;AAAA,QAAA,CACd;AAAA,QACD;AAAA,MAAA;AAEK,aAAA;AAAA,IACT,GAAG,CAAE,CAAA;AAEC,UAAA,QAAQ,IAAI,gCAAgC;AAAA,MAChD,IAAI,UAAU;AAAA,QACZ,IAAI,MAAM,aAAa;AAAA,QACvB;AAAA,UACE;AAAA,UACA;AAAA,YACE,UAAU,wBAAC,MAAM;AACV,mBAAA,YAAY,EAAE,OAAO,KAAK;AAAA,YACjC,GAFU;AAAA,UAGZ;AAAA,UACA,WAAW;AAAA,YAAI,CAAC,MACd,IAAI,UAAU;AAAA,cACZ,aAAa;AAAA,cACb,UAAU,cAAc,MAAM;AAAA,cAC9B,OAAO;AAAA,YAAA,CACR;AAAA,UACH;AAAA,QACF;AAAA,MAAA,CACD;AAAA,MACD,IAAI,QAAQ;AAAA,QACV,IAAI,mCAAmC,KAAK,cAAc;AAAA,QAC1D,IAAI,mCAAmC;AAAA,UACrC;AAAA,YACE;AAAA,YACA,OAAO,OAAO,KAAK,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,GAAG;AAAA,UAC3C;AAAA,UACA;AAAA,QAAA,CACD;AAAA,MAAA,CACF;AAAA,MACD,IAAI,UAAU;AAAA,QACZ;AAAA,UACE;AAAA,UACA;AAAA,YACE,SAAS,wBAAC,MAAM;AAER,oBAAA,OAAO,IAAI,MAAM,OAAO;AAAA,gBAC5B,CAAC,MAAM,EAAE,SAAS,cAAc,KAAK;AAAA,cAAA;AAEvC,kBAAI,MAAM;AACR;AAAA,kBACE;AAAA,gBAAA;AAEF;AAAA,cACF;AAEE,kBAAA;AAAA,gBACE,8CAA8C,KAAK,aAAa;AAAA,cAAA,GAElE;AACA,uBAAO,IAAI,MAAM,MAAM,WAAW,KAAK,aAAa;AAC1C,0BAAA,mBAAmB,cAAc,KAAK,aAAa;AAAA,cAC/D;AACA,mBAAK,KAAK;AAAA,YACZ,GApBS;AAAA,UAqBX;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,UACE;AAAA,UACA;AAAA,YACE,SAAS,mCAAY;AACf,kBAAA;AACJ,kBAAI,gBAAgB,CAAA;AACpB,oBAAM,QAAQ,CAAA;AACH,yBAAA,KAAK,KAAK,eAAe;AAClC,sBAAMA,QAAO,IAAI,MAAM,MAAM,WAAW,CAAC;AACrC,oBAAA,SAAUA,MAAK,WAAW;AAE9B,oBAAI,WAAW,KAAK,cAAc,CAAC,GAAG;AACtC,oBAAI,UAAU;AACN,wBAAA,OAAO,OAAO,KAAK,QAAQ;AACjC,sBAAI,SAAS,KAAK,CAAC,CAAC,EAAE,KAAK,GAAG;AAE5B,0BAAM,eAAe,CAAA;AACrB,0BAAM,cAAc,CAAA;AACpB,0BAAM,gBAAgB,CAAA;AAEtB,+BAAW,KAAK,MAAM;AACpB,4BAAM,QAAQ,SAAS,CAAC,EAAE,KAAK,EAAE;AACjC,mCAAa,KAAK,IAAIA,MAAK,MAAM,CAAC,CAAC;AACvB,kCAAA,KAAK,IAAI,SAAS,CAAC;AAClB,mCAAA,KAAK,EAAE,QAAQ;AAAA,oBAC9B;AAGW,+BAAA,KAAKA,MAAK,OAAO;AAC1B,0BAAI,EAAE,CAAC,KAAK,KAAQ,GAAA,CAAC,IAAIA,MAAK,MAAM,EAAE,CAAC,CAAC,EAAE;AAC1C,0BAAI,EAAE,CAAC,KAAK,KAAQ,GAAA,CAAC,IAAIA,MAAK,MAAM,EAAE,CAAC,CAAC,EAAE;AAAA,oBAC5C;AAGA,wBAAIA,MAAK,UAAU;AACN,iCAAAL,QAAOK,MAAK,UAAU;AAC/B,wBAAAL,KAAI,CAAC,IAAIK,MAAK,MAAML,KAAI,CAAC,CAAC;AAAA,sBAC5B;AAAA,oBACF;AAGA,+BAAWF,OAAM,MAAM;AACjB,0BAAA,OAAOA,GAAE,GAAG;AACd,sCAAcO,MAAK,MAAMP,GAAE,EAAE,KAAK,IAAI,OAAOA,GAAE;AAAA,sBACjD;AACA,6BAAO,OAAOA,GAAE;AAAA,oBAClB;AAEAO,0BAAK,QAAQ;AACF,+BAAA;AACXA,0BAAK,SAAS,SAAS;AAAA,kBACzB;AAEA,wBAAM,QAAQ,QAAQ;AAAA,gBACxB;AAEA,sBAAM,CAAC,IAAIA;AAEX,oBAAI,CAAC,aAAa;AAEhB,gCAAc,IAAI,MAAM,OAAO,OAAO,CAAC,GAAG,MAAM;AAC5C,sBAAA,EAAE,IAAI,MAAM;AACd,sBAAE,EAAE,IAAI,EAAE,KAAK,CAAC;AACT,2BAAA;AAAA,kBACT,GAAG,CAAE,CAAA;AAAA,gBACP;AAEM,sBAAA,QAAQ,YAAY,cAAc,CAAC;AACzC,oBAAI,MAAO,eAAc,KAAK,GAAG,KAAK;AAAA,cACxC;AAEA,oBAAM,gBAAgB,qBAAqB,OAAO,CAAE,CAAA;AAEpD,yBAAW,QAAQ,eAAe;AAChC,qBAAK,SAAS;AAAA,cAChB;AAEA,mBAAK,gBAAgB;AACrB,mBAAK,IAAI,MAAM,eAAe,MAAM,IAAI;AACnC,mBAAA,YAAY,KAAK,eAAe,KAAK;AAAA,YAC5C,GA7ES;AAAA,UA8EX;AAAA,UACA;AAAA,QACF;AAAA,QACA;AAAA,UACE;AAAA,UACA,EAAE,SAAS,6BAAM,KAAK,QAAQ,SAAnB,WAA2B;AAAA,UACtC;AAAA,QACF;AAAA,MAAA,CACD;AAAA,IAAA,CACF;AAEI,SAAA,QAAQ,gBAAgB,KAAK;AAC7B,SAAA;AAAA,MACH,OAAO,WAAW,KAAK,CAAC,MAAM,cAAc,MAAM,IAAI,IAAI,WAAW,CAAC;AAAA,IAAA;AAExE,SAAK,QAAQ;AAER,SAAA,QAAQ,iBAAiB,SAAS,MAAM;AAC3C,WAAK,WAAW;IAAQ,CACzB;AAAA,EACH;AACF;;;;AC5fA,MAAM,QAAQ,OAAO;AAErB,MAAM,WAAW;AAAA,EACf,OAAO;AAAA,IACL,MAAM;AAAA,IACN,YAAY;AAAA,IACZ,YAAY;AAAA,EACd;AAAA,EACA,iBAAiB,MAAM;AACfP,UAAAA,MAAK,YAAY,IAAI;AAE3B,QAAI,IAAI,MAAM,OAAO,aAAa,IAAI,GAAG;AAEnC,UAAA,IAAI,MAAM,OAAO,KAAK,CAAC,MAAM,EAAE,SAASA,GAAE,GAAG;AAC/C,eAAO,SAAS,MAAM;AAAA,MAAA,OACjB;AACL,eAAO,SAAS,MAAM;AAAA,MACxB;AAAA,IACF;AACA,WAAO,SAAS,MAAM;AAAA,EACxB;AAAA,EACA,eAAe,MAAM,MAAM;AACrB,QAAA,QAAQ,IAAI,MAAM;AACtB,QAAI,CAAC,MAAO,KAAI,MAAM,QAAQ,QAAQ;AACtC,QAAI,aAAa,MAAM;AACvB,QAAI,CAAC,WAAkB,OAAA,aAAa,aAAa,CAAA;AACjD,eAAW,IAAI,IAAI;AAAA,EACrB;AACF;AAEA,MAAM,iBAAiB;AAAA,SAAA;AAAA;AAAA;AAAA,EACrB;AAAA,EACA;AAAA,EAEA,YAAY,OAAO;AACjB,SAAK,QAAQ;AAAA,EACf;AAAA,EAEA,QAAQ;AACA,UAAA,OAAO,KAAK;AAClB,QAAI,CAAC,KAAM;AAIX,SAAK,UAAU;AAEV,SAAA,WAAW,KAAK;AACZ,aAAA,eAAe,MAAM,KAAK,QAAQ;AAE3C,WAAO,EAAE,MAAM,UAAU,KAAK,SAAS;AAAA,EACzC;AAAA,EAEA,UAAU;AACF,UAAA,OAAO,OAAO,kBAAkB;AACtC,QAAI,CAAC,KAAM;AACL,UAAA,OAAO,SAAS,iBAAiB,IAAI;AAC3C,YAAQ,MAAM;AAAA,MACZ,KAAK,SAAS,MAAM;AAClB;AAAA,UACE;AAAA,QAAA;AAEF;AAAA,MACF,KAAK,SAAS,MAAM;AAClB,YACE,CAAC;AAAA,UACC;AAAA,QAAA,GAEF;AACA;AAAA,QACF;AACA;AAAA,IACJ;AACO,WAAA;AAAA,EACT;AAAA,EAEA,YAAY;AAEV,UAAM,eAAe,IAAI,MAAM,sBAAsB,KAAK;AAC1D,SAAK,QAAQ,KAAK,MACf,IAAI,CAAC,UAAU,EAAE,OAAO,aAAa,QAAQ,IAAI,GAAG,KAAK,EAAE,EAC3D,KAAK,CAAC,GAAG,MAAM,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,KAAK,EAAE,KAAK,EAAE,EACzD,IAAI,CAAC,EAAE,KAAA,MAAW,IAAI;AAAA,EAC3B;AAAA,EAEA,cAAc;AACN,UAAA,iBAAiB,wBAAC,WAAW;AAEtB,iBAAA,QAAQ,OAAO,OAAO;AAC/B,cAAM,SAAS,IAAI,MAAM,YAAY,KAAK,CAAC,CAAC;AAC5C,cAAM,OAAO,OAAO,QAAQ,KAAK,CAAC,CAAC,EAAE;AACrC,aAAK,KAAK,IAAI;AAAA,MAChB;AAAA,IAAA,GANqB;AASjB,UAAA,qBAAqB,wBAAC,WAAW;AAErC,aAAO,WAAW;AAClB,eAAS,IAAI,GAAG,IAAI,KAAK,MAAM,QAAQ,KAAK;AACpC,cAAA,OAAO,KAAK,MAAM,CAAC;AACrB,YAAA,CAAC,KAAK,SAAS,OAAQ;AAC3B,iBAAS,OAAO,GAAG,OAAO,KAAK,QAAQ,QAAQ,QAAQ;AACrD,cAAI,cAAc;AACZ,gBAAA,SAAS,KAAK,QAAQ,IAAI;AAChC,cAAI,OAAO,OAAO;AACd,cAAA,CAAC,OAAO,OAAO,OAAQ;AAChB,qBAAA,KAAK,OAAO,OAAO;AAC5B,kBAAM,OAAO,IAAI,MAAM,MAAM,CAAC;AAC9B,gBAAI,CAAC,KAAM;AACP,gBAAA,SAAS,IAAK,QAAO,KAAK;AAE9B,gBAAI,CAAC,IAAI,OAAO,eAAe,KAAK,SAAS,GAAG;AAChC,4BAAA;AACd;AAAA,YACF;AAAA,UACF;AACA,cAAI,aAAa;AACf,mBAAO,SAAS,KAAK,CAAC,GAAG,MAAM,IAAI,CAAC;AAAA,UACtC;AAAA,QACF;AAAA,MACF;AAAA,IAAA,GAzByB;AA6BrB,UAAA,SAAS,aAAa,QAAQ,2BAA2B;AAC3D,QAAA;AAGE,UAAA,OAAO,gBAAgB,KAAK,KAAK;AACrC,YAAM,SAAS,KAAK;AAAA,QAClB,aAAa,QAAQ,2BAA2B;AAAA,MAAA;AAGlD,qBAAe,MAAM;AACrB,yBAAmB,MAAM;AAElB,aAAA;AAAA,IAAA,UACP;AACa,mBAAA,QAAQ,6BAA6B,MAAM;AAAA,IAC1D;AAAA,EACF;AACF;AAEO,MAAM,gBAAgB;AAAA,SAAA;AAAA;AAAA;AAAA,EAC3B;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,MAAM,UAAU;AAC1B,SAAK,OAAO;AACZ,SAAK,WAAW;AAChB,SAAK,SAAS;AAEd,SAAK,aAAa;AAClB,SAAK,oBAAoB;AACzB,SAAK,oBAAoB;AACzB,SAAK,mBAAmB;AACxB,SAAK,oBAAoB;AACzB,SAAK,oBAAoB;AACzB,SAAK,gBAAgB;AACrB,SAAK,oBAAoB;AACzB,SAAK,oBAAoB;AACzB,SAAK,aAAa;AAClB,SAAK,mBAAmB;EAC1B;AAAA,EAEA,MAAM,aAAa,SAAS,YAAY;AACtC,SAAK,UAAU;AAAA,MACb,QAAQ,CAAC;AAAA,MACT,aAAa,CAAC;AAAA,MACd,gBAAgB,CAAC;AAAA,MACjB,kBAAkB,CAAC;AAAA,MACnB,MAAM,SAAS,MAAM,KAAK;AAAA,MAC1B,cAAc,KAAK;AAAA,MACnB,UAAU,iBAAiB,MAAM;AAAA,MACjC,OAAO,EAAE,UAAU,GAAG;AAAA,MAEtB,CAAC,KAAK,GAAG;AAAA,IAAA;AAGX,SAAK,SAAS;AACd,UAAM,aAAa,CAAA;AACnB,UAAM,cAAc,CAAA;AACpB,aAAS,IAAI,GAAG,IAAI,KAAK,SAAS,MAAM,QAAQ,KAAK;AACnD,YAAM,OAAO,KAAK,SAAS,MAAM,CAAC;AAClC,WAAK,QAAQ;AACR,WAAA,YAAY,MAAM,YAAY,WAAW;AAAA,IAChD;AAEW,eAAA,KAAK,KAAK,qBAAqB;AACtC;IACJ;AACA,SAAK,sBAAsB;AAC3B,UAAM,IAAI,gBAAgB,cAAc,KAAK,MAAM,KAAK,OAAO;AAAA,EACjE;AAAA,EAEA,WAAW;AACT,SAAK,YAAY;AACjB,SAAK,UAAU;AACf,SAAK,eAAe;AAGT,eAAA,KAAK,KAAK,SAAS,OAAO;AACnC,YAAM,CAAC,cAAc,gBAAgB,cAAc,cAAc,IAAI;AAGrE,UAAI,gBAAgB,KAAM;AAE1B,UAAI,CAAC,KAAK,UAAU,YAAY,GAAG;AAC5B,aAAA,UAAU,YAAY,IAAI;MACjC;AACA,UAAI,CAAC,KAAK,UAAU,YAAY,EAAE,cAAc,GAAG;AACjD,aAAK,UAAU,YAAY,EAAE,cAAc,IAAI,CAAA;AAAA,MACjD;AACA,WAAK,UAAU,YAAY,EAAE,cAAc,EAAE,KAAK,CAAC;AAEnD,UAAI,CAAC,KAAK,QAAQ,YAAY,GAAG;AAC1B,aAAA,QAAQ,YAAY,IAAI;MAC/B;AACA,WAAK,QAAQ,YAAY,EAAE,cAAc,IAAI;AAAA,IAC/C;AAEI,QAAA,KAAK,SAAS,UAAU;AACfE,iBAAAA,QAAO,KAAK,SAAS,UAAU;AACxC,YAAI,CAAC,KAAK,aAAaA,KAAI,CAAC,CAAC,GAAG;AAC9B,eAAK,aAAaA,KAAI,CAAC,CAAC,IAAI,EAAE,CAACA,KAAI,CAAC,CAAC,GAAGA,KAAI,CAAC,EAAE;AAAA,QAAA,OAC1C;AACA,eAAA,aAAaA,KAAI,CAAC,CAAC,EAAEA,KAAI,CAAC,CAAC,IAAIA,KAAI,CAAC;AAAA,QAC3C;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,YAAY,MAAM,YAAY,aAAa;AACnC,UAAA,MAAM,KAAK,WAAW,IAAI;AAChC,QAAI,CAAC,IAAK;AAEJ,UAAA,SAAS,EAAE,GAAG,IAAI,OAAO,UAAU,GAAG,IAAI,OAAO;AAEvD,SAAK,OAAO,KAAK,KAAK,kBAAkB,MAAM,YAAY,MAAM,CAAC;AACjE,QAAI,IAAI,QAAQ,aAAa,mBAAmB,MAAM,aAAa,GAAG;AAAA,EACxE;AAAA,EAEA,WAAW,MAAM;AACT,UAAA,MAAM,WAAW,KAAK,IAAI;AAChC,QAAI,IAAY,QAAA;AAEhB,UAAM,YAAY,KAAK,UAAU,KAAK,KAAK;AACvC,QAAA,KAAK,SAAS,iBAAiB;AAEjC,UAAI,CAAC,UAAW;AAEhB,UAAI,OAAO,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC;AAC9B,UAAI,SAAS,SAAS;AAEpB,cAAM,SAAS,KAAK,QAAQ,CAAC,EAAE,OAAO;AAChC,cAAA,eAAe,KAAK,SAAS,MAAM,UAAU,GAAG,EAAE,CAAC,EAAE,CAAC,CAAC,EAAE;AACzD,cAAA,WAAW,WAAW,YAAY;AAClC,cAAA,QACJ,SAAS,MAAM,SAAS,MAAM,KAAK,SAAS,MAAM,SAAS,MAAM;AACnE,eAAO,MAAM,CAAC;AAAA,MAChB;AAEA,YAAMM,OAAO,KAAK,cAAc,KAAK,KAAK,IAAI;AAAA,QAC5C,OAAO;AAAA,UACL,UAAU;AAAA,YACR,OAAO,CAAC,MAAM,EAAE;AAAA,UAClB;AAAA,QACF;AAAA,QACA,QAAQ,CAAC,IAAI;AAAA,QACb,aAAa,CAAC;AAAA,QACd,gBAAgB,CAAC;AAAA,MAAA;AAEZA,aAAAA;AAAAA,IAAA,WACE,KAAK,SAAS,WAAW;AAClC,YAAM,UAAU,KAAK,QAAQ,KAAK,KAAK;AACnC,UAAA,WAAW,aAAa,CAAC,KAAK,aAAa,KAAK,KAAK,IAAI,CAAC,GAAG;AAExD,eAAA;AAAA,MACT;AAEA,UAAI,SAAS,CAAA;AACb,UAAI,cAAc;AAClB,UAAI,WAAW;AACF,mBAAA,CAAKR,EAAAA,EAAAA,KAAI,IAAI,KAAK,UAAU,GAAG,GAAG;AAC3C,gBAAMS,QAAO,KAAK,SAAS,MAAMT,GAAE;AAC7B,gBAAA,QAAQS,MAAK,OAAO,IAAI;AAC9B,cAAI,gBAAgB,KAAK;AACvB,0BAAc,MAAM;AAAA,UACtB;AACA,cAAI,MAAM,QAAQ;AACV,kBAAA,YAAY,WAAWA,MAAK,IAAI;AACtC,kBAAM,eACJ,UAAU,MAAM,SAAS,MAAM,OAAO,IAAI,KAC1C,UAAU,MAAM,SAAS,MAAM,OAAO,IAAI;AAE5C,kBAAM,SAAS,CAAC,aAAa,CAAC,GAAG,MAAM;AACvC,kBAAM,MAAM;AAAA,cACV;AAAA,gBACE;AAAA,cACF;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,cACA;AAAA,YAAA;AAEF,qBAAS,KAAK,gBAAgB;AAAA,UAChC;AAAA,QACF;AAAA,iBACS,SAAS;AAClB,cAAM,CAACT,KAAI,IAAI,IAAI,QAAQ,GAAG;AAC9B,sBAAc,KAAK,SAAS,MAAMA,GAAE,EAAE,QAAQ,IAAI,EAAE;AAAA,MAAA,OAC/C;AAEM,mBAAA,KAAK,KAAK,SAAS,OAAO;AACnC,cAAI,EAAE,CAAC,MAAM,KAAK,OAAO;AACvB,0BAAc,EAAE,CAAC;AACjB;AAAA,UACF;AAAA,QACF;AACA,YAAI,gBAAgB,KAAK;AAEvB,gBAAM,IAAI,KAAK,aAAa,KAAK,KAAK,IAAI,CAAC;AAC3C,cAAI,GAAG;AACS,0BAAA;AAAA,UAChB;AAAA,QACF;AAAA,MACF;AAGA,aAAO,aAAa;AACb,aAAA;AAAA,QACL,OAAO;AAAA,UACL,UAAU;AAAA,YACR,CAAC,WAAW,GAAG,CAAC,aAAa,MAAM;AAAA,UACrC;AAAA,QACF;AAAA,QACA,QAAQ,CAAC,WAAW;AAAA,QACpB,aAAa,CAAC;AAAA,QACd,gBAAgB,CAAC;AAAA,MAAA;AAAA,IAErB;AAEQ,YAAA;AAAA,MACN,2BACE,KAAK,OACL,+BACA,KAAK;AAAA,IAAA;AAAA,EAEX;AAAA,EAEA,eAAe,MAAM,WAAW,YAAY,QAAQ,OAAQ;AACpD,UAAA,eAAe,KAAK,SAAS,SAAS,KAAK,KAAK,GAAG,QAAQ,SAAS;AAC1E,QAAI,OACF,cAAc,QACd,KAAK,QAAQ,KAAK,CAAC,QAAQ,IAAI,SAAS,SAAS,GAAG,SACpD;AACF,QAAI,MAAM;AACV,QAAI,SAAS;AAEb,QAAK,KAAK,SAAS,mBAAmB,KAAK,SAAU,QAAQ,YAAY;AACvE,eAAS,GAAG,KAAK,SAAS,KAAK,IAAI;AACnC,YAAM,OAAO,GAAG,MAAM,GAAG,SAAS;AAClC,UAAI,QAAQ,YAAY;AACtB,eAAO,GAAG,MAAM,GAAG,WAAW,IAAI,CAAC,IAAI,SAAS;AAAA,MAClD;AAAA,IACF;AACA,eAAW,GAAG,KAAK,WAAW,GAAG,KAAK,KAAK;AAEvC,QAAA,cAAc,UAAU,cAAc,cAAc;AAClD,UAAA,CAAC,MAAO,SAAQ;AACd,YAAA,yBAAyB,GAAG,MAAM;AAAA,IAC1C;AACI,QAAA,OAAO,CAAC,MAAM,eAAe;AAC3B,UAAA,CAAC,MAAO,SAAQ;AACd,YAAA,SACJ,KAAK,kBAAkB,KAAK,KAAK,IAAI,OAAO,CAAC,GAAG,UAAU,OAAO,KACjE;AAAA,IACJ;AAEA,QAAI,OAAO;AACA,eAAA,CAAC,OAAO,CAAC,GAAG,EAAE,GAAG,OAAO,CAAC,GAAG,GAAG,MAAA,CAAO;AAAA,IACjD;AAEO,WAAA,EAAE,MAAM,QAAQ;EACzB;AAAA,EAEA,oBAAoB,QAAQ,MAAM,YAAY,YAAY;AACxD,UAAM,QAAQ,CAAA;AACR,UAAA,gCAAgB;AACtB,UAAM,YAAa,KAAK,kBAAkB,KAAK,KAAK,IAAI;AACxD,eAAW,aAAa,YAAY;AAClC,UAAI,aAAa,IAAI,cAAc,OAAO,SAAS,GAAG,SAAS;AAC/D,UAAI,YAAY;AACR,cAAA,iBAAiB,KAAK,QAAQ;AAAA,UAClC,CAAC,QAAQ,IAAI,SAAS,aAAa,IAAI,QAAQ,SAAS;AAAA,QAAA;AAE1D,YAAI,iBAAiB,IAAI;AAGb,oBAAA,IAAI,gBAAgB,SAAS;AACvC,oBAAU,SAAS,IAAI;AAAA,QAAA,OAClB;AAEL,gBAAM,EAAE,MAAM,OAAO,IAAI,KAAK;AAAA,YAC5B;AAAA,YACA;AAAA,YACA;AAAA,YACA,OAAO,SAAS;AAAA,UAAA;AAElB,eAAK,QAAQ,MAAM,SAAS,IAAI,IAAI;AACpC,oBAAU,SAAS,IAAI;AACvB,eAAK,kBAAkB,IAAI,IAAI,EAAE,MAAM,UAAU;AAAA,QACnD;AAAA,MAAA,OACK;AAEL,cAAM,KAAK,SAAS;AAAA,MACtB;AAAA,IACF;AACO,WAAA,EAAE,WAAW;EACtB;AAAA,EAEA,yBAAyB,MAAM,WAAW,QAAQ;AAChD,UAAM,aAAa,KAAK,SAAS,MAAM,KAAK,CAAC,CAAC;AAC1C,QAAA,WAAW,SAAS,iBAAiB;AAEvC,YAAM,CAAC,cAAc,GAAG,cAAc,EAAE,IAAI;AACtC,YAAA,eAAe,KAAK,cAAc,YAAY;AAC9C,YAAA,eAAe,OAAO,SAAS;AAC/B,YAAA,kBAAkB,aAAa,MAAM,SAAS;AAC9C,YAAA,SAAS,EAAE,QAAQ;AACzB,YAAM,SAAS;AAAA,QACb;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MAAA;AAEF,sBAAgB,CAAC,IACf,QAAQ,gBAAgB,OAAO,SAAS,EAAE,CAAC,IACvC,EAAE,GAAG,OAAO,SAAS,EAAE,CAAC,MACxB;AAEN,UAAI,OAAO,KAAK,kBAAkB,YAAY,EAAE,OAAO;AACvD,aAAO,KAAK,OAAO,GAAG,KAAK,SAAS,CAAC;AACrB,sBAAA,CAAC,EAAE,yBAAyB;AAC5B,sBAAA,CAAC,EAAE,iBAAiB;AAEhC,UAAA,cAAc,KAAK,kBAAkB,YAAY;AACrD,UAAI,CAAC,aAAa;AAChB,sBAAc,KAAK,kBAAkB,YAAY,IAAI,CAAA;AAAA,MACvD;AACI,UAAA,YAAY,SAAS,GAAG;AACd,oBAAA,SAAS,EAAE,KAAK,YAAY;AAAA,MAC1C;AACA,kBAAY,SAAS,IAAI;AAErB,UAAA,WAAW,KAAK,kBAAkB,YAAY;AAClD,UAAI,CAAC,UAAU;AACb,mBAAW,KAAK,kBAAkB,YAAY,IAAI,CAAA;AAAA,MACpD;AACA,eAAS,KAAK,EAAE,QAAQ,cAAc,UAAW,CAAA;AAAA,IACnD;AAAA,EACF;AAAA,EAEA,kBAAkB,QAAQ,MAAM,OAAO,SAAS,UAAU,YAAY;AACpE,SAAK,WAAW,KAAK,KAAK,IAAI,CAAA;AAC9B,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AAC/B,YAAA,YAAY,MAAM,CAAC;AACrB,UAAA,QAAQ,CAAC,GAAG;AACd,aAAK,yBAAyB,QAAQ,CAAC,GAAG,WAAW,MAAM;AAE3D;AAAA,MACF;AAEA,YAAM,EAAE,MAAM,QAAQ,iBAAiB,KAAK;AAAA,QAC1C;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,SAAS;AAAA,MAAA;AAGlB,WAAK,WAAW,KAAK,KAAK,EAAE,SAAS,IAAI;AACrC,UAAA,cAAc,YAAY,MAAO;AAErC,WAAK,QAAQ,MAAM,SAAS,IAAI,IAAI;AAC3B,eAAA,CAAC,IAAI,KAAK;AAAA,IACrB;AAAA,EACF;AAAA,EAEA,wBACE,QACA,MACA,OACA,WACA,SACA,UACA,YACA;AAEA,UAAM,iBAAiB,CAAC,GAAG,UAAU,MAAM,EACxC,KAAK,EACL,IAAI,CAAC,MAAM,UAAU,IAAI,CAAC,CAAC;AAC9B,aAAS,IAAI,GAAG,IAAI,eAAe,QAAQ,KAAK;AACxC,YAAA,YAAY,eAAe,CAAC;AAClC,UAAI,QAAQ,MAAM,SAAS,CAAC,GAAG;AACxB,aAAA;AAAA,UACH,QAAQ,MAAM,SAAS,CAAC;AAAA,UACxB;AAAA,UACA;AAAA,QAAA;AAGF;AAAA,MACF;AAEA,YAAM,EAAE,MAAM,OAAO,IAAI,KAAK;AAAA,QAC5B;AAAA,QACA;AAAA,QACA;AAAA,QACA,OAAO,SAAS;AAAA,QAChB;AAAA,UACE,cAAc;AAAA,QAChB;AAAA,MAAA;AAGF,WAAK,QAAQ,MAAM,SAAS,IAAI,IAAI;AACpC,WAAK,kBAAkB,IAAI,IAAI,EAAE,MAAM,UAAU;AAEjD,UAAI,CAAC,KAAK,kBAAkB,KAAK,KAAK,GAAG;AACvC,aAAK,kBAAkB,KAAK,KAAK,IAAI,CAAA;AAAA,MACvC;AACA,WAAK,kBAAkB,KAAK,KAAK,EAAE,SAAS,IAAI;AAEhD,eAAS,MAAM,SAAS,CAAC,IAAI,KAAK;AAAA,IACpC;AAAA,EACF;AAAA,EAEA,sBAAsB,CAAA;AAAA,EACtB,kBAAkB,MAAM,YAAY,QAAQ;AAC1C,UAAM,eAAe,CAAA;AAEf,UAAA,aAAa,OAAO,KAAK,MAAM;AACjC,QAAA,CAAC,WAAW,OAAQ;AAExB,UAAM,EAAE,WAAW,MAAM,IAAI,KAAK;AAAA,MAChC;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAEF,UAAM,UAAU,KAAK,QAAQ,KAAK,KAAK,KAAK;AAC5C,UAAM,WAAY,KAAK,iBAAiB,KAAK,KAAK,IAAI;AACtD,SAAK,kBAAkB,QAAQ,MAAM,OAAO,SAAS,UAAU,UAAU;AAGzE,SAAK,oBAAoB;AAAA,MAAK,MAC5B,KAAK;AAAA,QACH;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,MACF;AAAA,IAAA;AAGK,WAAA;AAAA,EACT;AAAA,EAEA,mBAAmB,MAAM,aAAa,KAAK;AACzC,UAAM,WAAY,KAAK,kBAAkB,KAAK,KAAK,IAAI;AAGvD,aAAS,WAAW,GAAG,WAAW,IAAI,OAAO,QAAQ,YAAY;AAC/D,YAAM,YAAY,KAAK,UAAU,KAAK,KAAK;AAErC,YAAA,UACJ,YAAY,QAAQ,KAAK,CAAC,KAAK,aAAa,KAAK,KAAK,IAAI,QAAQ;AAC9D,YAAA,eACJ,KAAK,SAAS,SAAS,KAAK,KAAK,GAAG,SAAS,QAAQ;AACjD,YAAA,UAAU,cAAc,WAAW,CAAC;AACrC,WAAA,iBAAiB,KAAK,OAAO;AAClC,UAAI,CAAC,SAAS;AACZ;AAAA,MACF;AAEA,eAAS,QAAQ,IAAI,KAAK,QAAQ,OAAO;AACzC,WAAK,kBAAkB,KAAK,QAAQ,OAAO,MAAM,IAAI;AAAA,QACnD;AAAA,QACA,MAAM;AAAA,MAAA;AAER,WAAK,QAAQ,OAAO,KAAK,IAAI,OAAO,QAAQ,CAAC;AAC7C,WAAK,QAAQ,eAAe,KAAK,IAAI,eAAe,QAAQ,CAAC;AAE7D,UAAI,QAAQ,cAAc;AAC1B,UAAI,CAAC,OAAO;AACV,gBAAQ,IAAI,cAAc,QAAQ,KAAK,IAAI,OAAO,QAAQ;AACpD,cAAA,SAAS,KAAK,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,KAAK;AACxD,YAAI,QAAQ,OAAO;AACjB,kBAAQ,OAAO;AAAA,QACjB;AAAA,MACF;AAEA,UAAI,OAAO;AACX,UAAI,QAAQ,aAAa;AACvB,cAAM,SAAS,GAAG,KAAK,SAAS,KAAK,IAAI;AAClC,eAAA,GAAG,MAAM,GAAG,KAAK;AACxB,YAAI,QAAQ,aAAa;AACvB,iBAAO,GAAG,MAAM,GAAG,KAAK,KAAK,IAAI,KAAK;AAAA,QACxC;AAAA,MACF;AACA,kBAAY,IAAI,IAAI;AAEf,WAAA,QAAQ,YAAY,KAAK,IAAI;AAAA,IACpC;AAAA,EACF;AAAA,EAEA,aAAa,qBAAqB,YAAY,kBAAkB;AAC9D,UAAM,QAAQ,IAAI;AAClB,QAAI,QAAQ,WAAY;AACtB,iBAAW,KAAK,YAAY;AACtB,YAAA;AACQ,oBAAA,mBAAmB,cAAc,CAAC;AAAA,iBACrC,OAAO;AAAA,QAAC;AAAA,MACnB;AACA,UAAI,QAAQ;AAAA,IAAA;AAGd,eAAW,KAAK,YAAY;AACpB,YAAA,YAAY,WAAW,CAAC;AAE9B,UAAI,aAAa;AACN,iBAAA,KAAK,UAAU,OAAO;AAE/B,YAAI,EAAE,EAAE,QAAQ,UAAU,wBAAwB;AAChD,2BAAiB,KAAK;AAAA,YACpB,MAAM,EAAE;AAAA,YACR,MAAM,6BAA6B,CAAC;AAAA,UAAA,CACrC;AAED,2BAAiB,KAAK;AAAA,YACpB,MAAM,cAAc;AAAA,YACpB,QAAQ;AAAA,cACN,MAAM;AAAA,cACN,UAAU,wBAAC,MAAM;AACf,uBAAO,WAAW,CAAC;AACnB,kBAAE,OAAO,cAAc;AACrB,kBAAA,OAAO,MAAM,gBAAgB;AAC7B,kBAAA,OAAO,MAAM,UAAU;AAAA,cAC3B,GALU;AAAA,YAMZ;AAAA,UAAA,CACD;AAEY,uBAAA;AAAA,QACf;AAAA,MACF;AAEA,UAAI,WAAY;AAEhB,YAAM,SAAS,IAAI,gBAAgB,GAAG,SAAS;AAC/C,YAAM,OAAO;IACf;AAAA,EACF;AACF;AAEO,MAAM,iBAAiB;AAAA,SAAA;AAAA;AAAA;AAAA,EAC5B;AAAA,EACA;AAAA,EACA;AAAA,EAEA,YAAY,MAAM;AAChB,SAAK,OAAO;AACZ,SAAK,YAAY,KAAK,aAAa,WAAW,KAAK;AAE9C,SAAA,KAAK,gBAAgB,CAAC,eAAe;AACxC,WAAK,aAAa;AAElB,eACM,iBAAiB,GACrB,iBAAiB,KAAK,WAAW,QACjC,kBACA;AACM,cAAA,YAAY,KAAK,WAAW,cAAc;AAEhD,mBAAW,KAAK,UAAU,WAAW,CAAA,GAAI;AACnC,cAAA,EAAE,SAAS,oBAAoB;AACjC,cAAE,iBAAiB,EAAE;AAAA,UACvB;AAAA,QACF;AAEA,kBAAU,QAAQ;AACR,kBAAA,eAAe,CAAC,SAAS;AAEjC,gBAAM,eACJ,KAAK,UAAU,iBAAiB,UAAU,KAAK,IAAI,IAAI;AACzD,cAAI,gBAAgB,MAAM;AACjB,mBAAA,KAAK,KAAK,aAAa,YAAY;AAAA,UAC5C;AAGA,gBAAM,YAAY,KAAK,UAAU,QAAQ,UAAU,KAAK,IAAI,IAAI;AAC5D,cAAA,CAAC,UAAkB,QAAA;AAEvB,gBAAM,YAAY,WAAW,UAAU,CAAC,CAAC;AAErC,cAAA,UAAU,SAAS,gBAAwB,QAAA;AAExC,iBAAA;AAAA,QAAA;AAGC,kBAAA,eAAe,CAAC,SAAS;AACjC,gBAAM,eACJ,KAAK,UAAU,iBAAiB,UAAU,KAAK,IAAI,IAAI;AACzD,cAAI,gBAAgB,MAAM;AAExB,kBAAM,SAAS,KAAK,KAAK,OAAO,YAAY,EAAE;AAC9C,gBAAIU,QAAO,IAAI,MAAM,MAAM,MAAM;AAKjCA,oBAAO;AAAA,cACL,GAAGA;AAAAA,cACH,WAAW,UAAU;AAAA,cACrB,aAAa,CAAC;AAAA,YAAA;AAETA,mBAAAA;AAAAA,UACT;AAEA,cAAI,OAAO,KAAK,UAAU,QAAQ,UAAU,KAAK,IAAI,IAAI;AACrD,cAAA,CAAC,KAAa,QAAA;AAEX,iBAAA;AAAA,YACL,WAAW,WAAW,KAAK,CAAC,CAAC,EAAE;AAAA,YAC/B,aAAa,KAAK,CAAC;AAAA,YACnB,WAAW,UAAU;AAAA,YACrB,aAAa,CAAC;AAAA,UAAA;AAET,iBAAA;AAAA,QAAA;AAAA,MAEX;AAAA,IAAA;AAGG,SAAA,KAAK,aAAa,CAAC,SAAS;AAExB,aAAA,EAAE,GAAG;AACZ,YAAM,SAAS,KAAK,UAAU,kBAAkB,KAAK,WAAW;AAChE,UAAI,YAAY,KAAK,WAAW,OAAO,KAAK,KAAK;AAC7C,UAAA;AACG,aAAA,WAAW,SAAS,WAAW;AAChC,YAAA,UAAU,aAAa,CAAC;AAChB,oBAAA,UAAU,aAAa,CAAC;AAAA,MACtC;AAEA,UAAI,CAAC,WAAW;AACP,eAAA;AAAA,MACT;AAEA,UAAI,KAAK,iBAAiB,YAAY,SAAS,GAAG;AACzC,eAAA,UAAU,WAAW,CAAC;AAAA,MAC/B;AAEA,WAAK,YAAY,UAAU;AACtB,WAAA,cAAc,GAAG,eAAe,OAAO;AACrC,aAAA;AAAA,IAAA;AAGJ,SAAA,KAAK,gBAAgB,MAAM;AAC1B,UAAA,CAAC,KAAK,YAAY;AACpB,aAAK,KAAK;AAAA,UACR,KAAK,UAAU,SAAS,MAAM,IAAI,CAAC,GAAG,MAAM;AAC1C,kBAAM,YAAY,UAAU,WAAW,EAAE,IAAI;AAC7C,sBAAU,UAAU,CAAC;AAErB,sBAAU,KAAK,GAAG,KAAK,KAAK,EAAE,IAAI,CAAC;AAC5B,mBAAA;AAAA,UAAA,CACR;AAAA,QAAA;AAAA,MAEL;AAEA,WAAK,mBAAmB;AAExB,aAAO,KAAK;AAAA,IAAA;AAGT,SAAA,KAAK,WAAW,YAAY;AACzBV,YAAAA,MAAK,KAAK,KAAK;AACf,YAAA,KAAK,KAAK,KAAK;AACf,YAAA,QAAQ,KAAK,KAAK,eAAe;AAEvC,YAAM,YAAY,UAAU,WAAW,KAAK,KAAK,IAAI;AACrD,gBAAU,KAAKA;AAGf,gBAAU,cAAc,KAAK;AACnB,gBAAA,KAAK,EAAE;AACb,UAAA,MAAM,IAAI,SAAS;AACvB,gBAAU,OAAO;AAAA,QACf,KAAK,IAAI,UAAU,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;AAAA,QACjC,KAAK,IAAI,UAAU,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;AAAA,MAAA;AAIzB,gBAAA,KAAK,EAAE,aAAa,KAAK;AAC5B,aAAA;AAAA,IAAA;AAGJ,SAAA,KAAK,iBAAiB,MAAM;AAC/B,YAAM,gBAAgB,6BAAM;AACpB,cAAA,SAAS,aAAa,QAAQ,2BAA2B;AAE/D,cAAM,IAAI,EAAE,GAAG,KAAK,UAAU,SAAS;AACvC,UAAE,QAAQ,CAAC,GAAG,EAAE,KAAK;AACf,cAAA,aAAa,KAAK,KAAK,cAAc;AAC3C,YAAI,MAAM,CAAA;AACV,iBAAS,IAAI,GAAG,IAAI,EAAE,MAAM,QAAQ,KAAK;AACnCA,cAAAA,MAAK,aAAa,CAAC,GAAG;AAE1B,cAAIA,OAAM,QAAQ,MAAMA,GAAE,GAAG;AAC3BA,kBAAK;AAAA,UAAA,OACA;AACL,gBAAI,KAAKA,GAAE;AAAA,UACb;AACE,YAAA,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,CAAC,GAAG,IAAAA;QAChC;AACA,qBAAa,QAAQ,6BAA6B,KAAK,UAAU,CAAC,CAAC;AACnE,YAAI,OAAO;AACE,qBAAA,QAAQ,6BAA6B,MAAM;AAExD,cAAM,CAAC,GAAG,CAAC,IAAI,KAAK,KAAK;AACrB,YAAA;AACA,YAAA;AAEEW,cAAAA,eAAc,IAAI,SACpB,MACA,OAAO,KAAK,IAAI,OAAO,cAAc;AACzC,cAAMC,YAAW,CAAA;AACjB,iBAAS,IAAI,GAAG,IAAID,aAAY,QAAQ,KAAK;AACrCX,gBAAAA,MAAKW,aAAY,CAAC;AACxB,gBAAM,UAAU,IAAI,MAAM,YAAYX,GAAE;AAClC,gBAAA,YAAY,WAAW,CAAC;AAC9BY,oBAAS,KAAK,OAAO;AAErB,cAAI,QAAQ,QAAQ,QAAQ,IAAI,CAAC,IAAI,MAAM;AAClC,mBAAA,QAAQ,IAAI,CAAC;AAAA,UACtB;AACA,cAAI,OAAO,QAAQ,QAAQ,IAAI,CAAC,IAAI,KAAK;AACjC,kBAAA,QAAQ,IAAI,CAAC;AAAA,UACrB;AAEI,cAAA,CAAC,QAAQ,QAAS;AAEtB,gBAAM,MAAM,KAAK,UAAU,kBAAkB,UAAU,KAAK;AAC5D,cAAI,KAAK;AACD,kBAAA,UAAU,OAAO,KAAK,GAAG;AAE/B,uBAAW,WAAW,SAAS;AACvB,oBAAA,UAAU,IAAI,OAAO;AAC3B,kBAAI,CAAC,QAAS;AAER,oBAAA,cAAc,KAAK,KAAK,QAAQ;AAAA,gBACpC,CAAC,MAAM,EAAE,SAAS;AAAA,cAAA;AAEpB,kBAAI,gBAAgB,GAAI;AAGpB,kBAAA,UAAU,SAAS,iBAAiB;AACtC,yBAASC,KAAI,GAAGA,KAAI,QAAQ,QAAQ,QAAQA,MAAK;AACvC,0BAAA,QAAQA,EAAC,EAAE,QACjB,KAAK,KAAK,QAAQ,cAAcA,EAAC,EAAE;AAAA,gBACvC;AAAA,cAAA,OACK;AACL,sBAAM,cAAc,KAAK,KAAK,QAAQ,WAAW;AAC3C,sBAAA,YAAY,QAAQ,QAAQ;AAAA,kBAChC,CAAC,MAAM,EAAE,SAAS;AAAA,gBAAA;AAEpB,oBAAI,CAAC,UAAW;AAEhB,0BAAU,QAAQ,YAAY;AAC9B,yBAAS,IAAI,GAAG,IAAI,YAAY,eAAe,QAAQ,KAAK;AAC1D,4BAAU,cAAc,CAAC,EAAE,QACzB,YAAY,cAAc,CAAC,EAAE;AAAA,gBACjC;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAGA,mBAAW,WAAWD,WAAU;AAC9B,kBAAQ,MAAM;AAAA,YACZ,QAAQ,IAAI,CAAC,KAAK,OAAO;AAAA,YACzB,QAAQ,IAAI,CAAC,KAAK,MAAM;AAAA,UAAA;AAAA,QAE5B;AAEA,eAAO,EAAE,UAAAA,WAAU,aAAAD,aAAY;AAAA,MAAA,GAxFX;AA2FhB,YAAA,kBAAkB,wBAACA,iBAAgB;AAC5B,mBAAA,kBAAkB,KAAK,UAAU,kBAAkB;AACtDX,gBAAAA,MAAKW,aAAY,cAAc;AACrC,gBAAM,UAAU,IAAI,MAAM,YAAYX,GAAE;AACxC,gBAAM,MAAM,KAAK,UAAU,iBAAiB,cAAc;AAC1D,qBAAW,gBAAgB,KAAK;AACxB,kBAAA,cAAc,IAAI,YAAY;AACpC,gBAAI,eAAe,KAAM;AACnB,kBAAA,OAAO,KAAK,OAAO,WAAW;AAChC,gBAAA,KAAK,QAAQ,KAAM;AACvB,kBAAM,OAAO,IAAI,MAAM,MAAM,KAAK,IAAI;AACtC,gBAAI,CAAC,KAAM;AAEX,kBAAM,aAAa,IAAI,MAAM,YAAY,KAAK,SAAS;AACvD,uBAAW,QAAQ,KAAK,aAAa,SAAS,CAAC,YAAY;AAAA,UAC7D;AAAA,QACF;AAAA,MAAA,GAhBsB;AAmBlB,YAAA,mBAAmB,wBAACW,iBAAgB;AACxC,iBACM,gBAAgB,GACpB,gBAAgB,KAAK,SAAS,QAC9B,iBACA;AACM,gBAAA,SAAS,KAAK,QAAQ,aAAa;AACrC,cAAA,CAAC,OAAO,MAAO;AACnB,gBAAM,QAAQ,CAAC,GAAG,OAAO,KAAK;AAC9B,qBAAW,KAAK,OAAO;AACrB,kBAAM,OAAO,KAAK,UAAU,kBAAkB,aAAa;AAC3D,kBAAM,OAAO,IAAI,MAAM,MAAM,CAAC;AAC9B,kBAAM,aAAa,IAAI,MAAM,YAAY,KAAK,SAAS;AACjD,kBAAA,UAAU,IAAI,MAAM,YAAYA,aAAY,KAAK,KAAK,KAAK,CAAC;AAClE,oBAAQ,QAAQ,KAAK,MAAM,YAAY,KAAK,WAAW;AAAA,UACzD;AAAA,QACF;AAAA,MAAA,GAhBuB;AAmBzB,YAAM,EAAE,UAAU,YAAY,IAAI,cAAc;AAChD,sBAAgB,WAAW;AAC3B,uBAAiB,WAAW;AACxB,UAAA,MAAM,OAAO,KAAK,IAAI;AAEnB,aAAA;AAAA,IAAA;AAGH,UAAA,sBAAsB,KAAK,KAAK;AACtC,SAAK,KAAK,sBAAsB,SAAU,GAAG,SAAS;AAC/B,2BAAA,MAAM,MAAM,SAAS;AAE1C,UAAI,cAAc,QAAQ,UAAU,CAAC,MAAM,EAAE,YAAY,SAAS;AAC9D,UAAA,gBAAgB,GAAI,eAAc,QAAQ;AAAA,UACzC;AACG,cAAA;AAAA,QACN;AAAA,QACA;AAAA,QACA;AAAA,QACA;AAAA,UACE,SAAS;AAAA,UACT,UAAU,6BAAM;AACd,mBAAO,KAAK;UACd,GAFU;AAAA,QAGZ;AAAA,QACA;AAAA,UACE,SAAS;AAAA,UACT,UAAU,6BAAM;AACd,gBAAI,kBAAkB,GAAG,EAAE,KAAK,KAAK,IAAI;AAAA,UAC3C,GAFU;AAAA,QAGZ;AAAA,MAAA;AAAA,IACF;AAII,UAAA,iBAAiB,KAAK,KAAK;AACjC,SAAK,KAAK,iBAAiB,SAAU,KAAK,QAAQ,MAAM,OAAO;AAC7C,sBAAA,MAAM,MAAM,SAAS;AAErC,YAAM,OAAO,IAAI;AACjB,UAAI,UAAU;AACd,UAAI,KAAK,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;AAC/B,UAAI,KAAK,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;AAC/B,UAAI,KAAK,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;AAC/B,UAAI,KAAK,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;AAC/B,UAAI,KAAK,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;AAC/B,UAAI,KAAK,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;AAC/B,UAAI,KAAK,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;AAC/B,UAAI,KAAK,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;AAC/B,UAAI,KAAK,IAAI,CAAC,SAAS,IAAI,GAAG,CAAC;AAE3B,UAAA,YAAY,KAAK,YAAY,UAAU;AAC3C,UAAI,KAAK;AACT,UAAI,YAAY;AAAA,IAAA;AAIlB,UAAM,mBAAmB,KAAK;AACxB,UAAA,YAAY,KAAK,UAAU;AAC5B,SAAA,mBAAmB,SAAU,KAAK;AACrC,YAAM,IAAI,kBAAkB,QAAQ,MAAM,SAAS;AACnD,UACE,CAAC,IAAI,kBAAkB,KAAK,MAC5B,KAAK,0BAA0B,MAC/B;AACA,cAAM,IAAI,UAAU,MAAM,KAAK,qBAAqB;AACpD,YAAI,CAAC,EAAG;AACR,cAAM,UAAU,WAAW,EAAE,SAAS,EAAE,IAAI,KAAK,KAAK,qBAAqB,IAAI,UAAU,MAAM,MAAM;AACrG,YAAI,KAAK;AACT,YAAI,OAAO;AACL,cAAA,KAAK,IAAI,YAAY,OAAO;AAC9B,YAAA,YAAY,KAAK,YAAY,UAAU;AAC3C,YAAI,UAAU;AACV,YAAA;AAAA,UACF;AAAA,UACA,CAAC,UAAU,oBAAoB;AAAA,UAC/B,GAAG,QAAQ;AAAA,UACX;AAAA,UACA;AAAA,QAAA;AAEF,YAAI,KAAK;AAET,YAAI,YAAY;AAChB,YAAI,SAAS,SAAS,GAAG,CAAC,UAAU,oBAAoB,CAAC;AACzD,YAAI,QAAQ;AAAA,MACd;AAAA,IAAA;AAII,UAAA,mBAAmB,KAAK,KAAK;AAC9B,SAAA,KAAK,mBAAmB,WAAY;AACvC,WAAK,iBAAiB;AACf,aAAA,kBAAkB,MAAM,MAAM,SAAS;AAAA,IAAA;AAGhD,UAAM,OAAO;AACP,UAAA,gBAAgB,KAAK,KAAK;AAC3B,SAAA,KAAK,gBAAgB,WAAY;AAChC,UAAA,CAAC,KAAK,SAAS;AACjB;AAAA,MACF;AACM,YAAA,SAAS,KAAK,UAAU,SAAS;AACvC,UAAI,QAAQ;AACV,mBAAW,KAAK,QAAQ;AAChB,gBAAA,SAAS,OAAO,CAAC,GAAG;AAC1B,qBAAW,KAAK,QAAQ;AACtB,gBAAI,OAAO,CAAC,EAAE,YAAY,MAAO;AACjC,kBAAM,aAAa,KAAK,UAAU,kBAAkB,CAAC,EAAE,CAAC;AAClD,kBAAA,SAAS,KAAK,QAAQ,KAAK,CAACL,OAAMA,GAAE,SAAS,UAAU;AAC7D,gBAAI,QAAQ;AACV,qBAAO,OAAO;AACd,qBAAO,cAAc,MAAM,CAAC,GAAG,EAAE;AAAA,YACnC;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAEO,aAAA,eAAe,MAAM,MAAM,SAAS;AAAA,IAAA;AAGpC,aAAA,YAAY,MAAM,OAAO,UAAU;AAC1C,YAAM,UAAU,wBAAC,EAAE,aAAa;AACxBN,cAAAA,MAAK,MAAM,MAAM;AACvB,YAAI,CAACA,IAAI;AACT,cAAMS,QAAO,IAAI,MAAM,YAAYT,GAAE;AACrC,YAAIS,MAAM;AAEJ,cAAA,iBAAiB,KAAK,YAAY,UAAU,CAAC,MAAM,EAAE,MAAMT,GAAE;AACnE,YAAI,iBAAiB,IAAI;AACvB,eAAK,KAAK,wBAAwB;AAC9B,cAAA;AAAA,YACF,IAAI,YAAY,MAAM;AAAA,cACpB,QAAQ,SAAS,QAAQ,KAAK,KAAK,KAAK,IAAI,KAAK,IAAI;AAAA,YAAA,CACtD;AAAA,UAAA;AAAA,QAEL;AAAA,MAAA,GAdc;AAgBZ,UAAA,iBAAiB,MAAM,OAAO;AAC3B,aAAA;AAAA,IACT;AAnBS;AAqBT,UAAM,YAAY,YAAY;AAAA,MAC5B;AAAA,MACA;AAAA,MACA,CAAC,MAAM;AAAA,MACP,CAAC,GAAGA,KAAIS,UAAST;AAAAA,IAAA;AAGnB,UAAM,WAAW,YAAY;AAAA,MAC3B;AAAA,MACA;AAAA,MACA,CAAC,MAAM,GAAG,gBAAgB,GAAG;AAAA,MAC7B,CAAC,GAAGA,KAAIS,WAAU;AAAA,QAChB,GAAG;AAAA,QACH,MAAMT;AAAAA,QACN,cAAcA;AAAAA,QACd,OAAO,CAACS,MAAK;AAAA,MAAA;AAAA,IACf;AAGF,UAAM,YAAY,KAAK;AAClB,SAAA,KAAK,YAAY,WAAY;AACrB,iBAAA,MAAM,MAAM,SAAS;AAC5B,UAAA,oBAAoB,aAAa,SAAS;AAC1C,UAAA,oBAAoB,YAAY,QAAQ;AAAA,IAAA;AAGzC,SAAA,KAAK,qBAAqB,CAAC,SAAS;AAE5B,iBAAA,cAAc,KAAK,UAAU,mBAAmB;AACnD,cAAA,SAAS,KAAK,KAAK,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,UAAU;AAC9D,YAAA,QAAQ,SAAS,SAAS;AAC5B,gBAAM,MAAM,KAAK,UAAU,kBAAkB,UAAU;AACvD,gBAAM,MAAM,KAAK,IAAI,KAAK,IAAI;AACxB,gBAAA,QACJ,KAAK,OAAO,WAAW,IAAI,SAAS,KACpC,KAAK,OAAO,WAAW,IAAI,SAAS;AACtC,cAAI,CAAC,MAAO;AAEL,iBAAA,QAAQ,SAAS,MAAM,CAAC;AAG7B,cAAA,IAAI,cAAc,WAClB,CAAC,OAAO,QAAQ,OAAO,SAAS,OAAO,KAAK,GAC5C;AACA,mBAAO,QAAQ,OAAO,QAAQ,OAAO,CAAC;AAC/B,mBAAA,SAAS,OAAO,KAAK;AAAA,UAC9B;AAAA,QACF;AAAA,MACF;AAAA,IAAA;AAAA,EAEJ;AAAA,EAEA,qBAAqB;AACR,eAAA,iBAAiB,KAAK,UAAU,mBAAmB;AACtD,YAAA,YAAY,KAAK,KAAK,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,aAAa;AACxE,UAAI,CAAC,UAAW;AAEhB,YAAM,WAAW,UAAU;AAC3B,YAAM,MAAM,KAAK,UAAU,kBAAkB,aAAa;AAC1D,UAAI,YAAY,KAAK,WAAW,IAAI,KAAK,KAAK;AAE1C,UAAA,UAAU,SAAS,iBAAiB;AACtC,kBAAU,iBAAiB;AAC3B,cAAM,kBAAkB,KAAK,UAAU,kBAAkB,IAAI,KAAK,KAAK;AAC5D,mBAAA,UAAU,mBAAmB,IAAI;AAC1C,gBAAM,OAAO,KAAK,WAAW,OAAO,MAAM;AACpCJ,gBAAAA,UAAS,KAAK,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,OAAO,SAAS;AAEnE,cAAIA,SAAQ;AACVA,oBAAO,QAAQ;AAAA,UACjB;AAAA,QACF;AACA;AAAA,MAAA,WACS,UAAU,SAAS,WAAW;AACvC,cAAM,eAAe,KAAK,UAAU,UAAU,IAAI,KAAK,KAAK;AAC5D,YAAI,cAAc;AACL,qBAAA,CAAC,KAAK,cAAc,UAAU,KAAK,aAAa,GAAG,GAAG;AACzD,kBAAA,OAAO,KAAK,WAAW,YAAY;AACnC,kBAAA,QAAQ,KAAK,OAAO,UAAU;AACpC,gBAAI,MAAM,QAAQ;AACVA,oBAAAA,UAAS,KAAK,SAAS;AAAA,gBAC3B,CAAC,MAAM,EAAE,SAAS,MAAM,OAAO;AAAA,cAAA;AAEjC,kBAAIA,SAAQ;AACVA,wBAAO,QAAQ;AAAA,cACjB;AAAA,YACF;AAAA,UACF;AAAA,QACF;AAAA,MACF;AAEM,YAAA,SAAS,UAAU,SAAS,KAAK,CAAC,MAAM,EAAE,SAAS,IAAI,SAAS;AACtE,UAAI,QAAQ;AACV,eAAO,QAAQ;AAAA,MACjB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,kBAAkB,MAAM,QAAQ,SAAS,GAAG,aAAa;AAEvD,UAAM,cAAc,KAAK,UAAU,kBAAkB,MAAM,IAAI,OAAO;AACtE,QAAI,eAAe,KAAM;AACzB,UAAM,mBACJ,KAAK,UAAU,kBAAkB,WAAW,EAAE,OAAO;AACjD,UAAA,oBAAoB,KAAK,KAAK,QAAQ;AAAA,MAC1C,CAAC,MAAM,EAAE,SAAS;AAAA,IAAA;AAEpB,QAAI,oBAAoB,IAAI;AACpB,YAAA,gBAAgB,KAAK,WAAW,WAAW;AAC7C,UAAA,MAAM,cAAc,QAAQ;AAE9B,UAAA,MAAM,MACN,KAAK,KAAK,QAAQ,iBAAiB,EAAE,eAAe,QACpD;AAGM,cAAA;AAAA,MACR;AACA,eAASQ,KAAI,GAAGA,KAAI,KAAKA,MAAK;AACvB,aAAA,KAAK,QAAQ,oBAAoBA,EAAC,EAAE,QACvC,cAAc,QAAQA,EAAC,EAAE;AAAA,MAC7B;AAAA,IACF;AACO,WAAA;AAAA,EACT;AAAA,EAEA,gBAAgB,MAAM,QAAQ,KAAK;AAC7B,QAAA,KAAK,SAAS,UAAW;AAEvB,UAAA,OAAO,KAAK,UAAU,UAAU,MAAM,IAAI,CAAC,IAAI,CAAC;AACtD,QAAI,CAAC,KAAM;AACX,UAAM,KAAK,cAAc,cAAc,IAAI;AAC3C,UAAM,aAAa,KAAK,UAAU,SAAS,MAAM,YAAY;AAC7D,UAAM,SAAS,WAAW;AACpB,UAAA,eAAe,SAAS,cAAc,GAAG;AAC/C,QAAI,CAAC,aAAc;AAEnB,UAAM,SAAS,OAAO,UAAU,WAAW,gBAAgB,UAAU;AACrE,UAAM,IAAI,WAAW,iBAAiB,iBAAiB,MAAM;AAC7D,QAAI,KAAK,KAAM;AAEf,UAAM,aAAa,OAAO,OAAO,GAAG,EAAE,CAAC;AACjC,UAAA,SAAS,KAAK,KAAK,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,UAAU;AAClE,QAAI,QAAQ;AACV,aAAO,QAAQ;AAAA,IACjB;AAAA,EACF;AAAA,EAEA,kBAAkB;AACZ,QAAA,CAAC,KAAK,KAAK,QAAS;AAGlB,aAAA,SAAS,GACb,SAAS,KAAK,UAAU,SAAS,MAAM,QACvC,UACA;AACA,YAAM,OAAO,KAAK,UAAU,SAAS,MAAM,MAAM;AACjD,YAAM,MAAM,KAAK,UAAU,kBAAkB,MAAM,KAAK;AAClD,YAAA,UAAU,OAAO,KAAK,GAAG;AAE3B,UAAA,CAAC,KAAK,gBAAgB,QAAQ;AAG3B,aAAA,gBAAgB,MAAM,QAAQ,GAAG;AACtC;AAAA,MACF;AAEA,UAAI,cAAc;AAClB,eAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACjC,cAAA,UAAU,QAAQ,CAAC;AACnB,cAAA,UAAU,IAAI,OAAO;AACrB,cAAA,cAAc,KAAK,KAAK,QAAQ;AAAA,UACpC,CAAC,MAAM,EAAE,SAAS;AAAA,QAAA;AAEpB,cAAM,aAAa,KAAK,KAAK,QAAQ,WAAW;AAE9C,YAAA,KAAK,kBAAkB,MAAM,QAAQ,SAAS,GAAG,WAAW,KAC5D,gBAAgB,IAChB;AAEA,gBAAM,cAAc,KAAK,WAAW,MAAM,EAAE,SAAS;AAAA,YACnD,CAAC,MAAM,EAAE,SAAS;AAAA,UAAA;AAEL,yBAAA,aAAa,eAAe,UAAU;AAAA,QACvD;AACA,YAAI,gBAAgB,IAAI;AACtB;AAAA,QACF;AAGA,mBAAW,QAAQ,KAAK,eAAe,IAAI,WAAW;AACtD,iBAAS,IAAI,GAAG,IAAI,WAAW,eAAe,QAAQ,KAAK;AACpD,eAAA,KAAK,QAAQ,cAAc,IAAI,CAAC,EAAE,QACrC,KAAK,eAAe,IAAI,EAAE,WAAW;AAAA,QACzC;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,aAAa,OAAO;AACd,QAAA;AACA,QAAA;AAEJ,aAAS,IAAI,GAAG,IAAI,MAAM,QAAQ,KAAK;AAC/B,YAAA,OAAO,MAAM,CAAC;AACpB,UAAI,QAAQ,QAAQ,KAAK,IAAI,CAAC,IAAI,MAAM;AAC/B,eAAA,KAAK,IAAI,CAAC;AAAA,MACnB;AACA,UAAI,OAAO,QAAQ,KAAK,IAAI,CAAC,IAAI,KAAK;AAC9B,cAAA,KAAK,IAAI,CAAC;AAAA,MAClB;AAEK,WAAA,YAAY,MAAM,CAAC;AACpB,UAAA,MAAM,OAAO,IAAI;AAAA,IACvB;AAEA,SAAK,WAAW;AAChB,SAAK,KAAK,MAAM,CAAC,MAAM,GAAG;AAAA,EAC5B;AAAA,EAEA,YAAY,cAAc,QAAQ;AAC5B,QAAA,CAAC,aAAa,QAAS;AAEhB,eAAA,UAAU,aAAa,SAAS;AACrC,UAAA,CAAC,OAAO,MAAO;AAEnB,YAAM,QAAQ,CAAC,GAAG,OAAO,KAAK;AAC9B,iBAAW,KAAK,OAAO;AACrB,cAAM,OAAO,IAAI,MAAM,MAAM,CAAC;AAC9B,YAAI,CAAC,KAAM;AAEX,cAAM,aAAa,IAAI,MAAM,YAAY,KAAK,SAAS;AACvD,cAAM,UACJ,KAAK,UAAU,kBAAkB,MAAM,IAAI,KAAK,WAAW;AAC7D,YAAI,WAAW,MAAM;AACnB,eAAK,KAAK,QAAQ,SAAS,YAAY,KAAK,WAAW;AAAA,QACzD;AAAA,MACF;AAAA,IACF;AAAA,EACF;AAAA,EAEA,aAAa;AACX,eAAW,QAAQ,KAAK,UAAU,SAAS,SAAS,IAAI;AACtD,YAAM,CAAA,EAAG,YAAY,UAAU,YAAY,cAAc,IAAI;AAC7D,YAAM,aAAa,IAAI,MAAM,YAAY,cAAc;AACvD,UAAI,CAAC,WAAY;AACN,iBAAA;AAAA,QACT;AAAA,QACA,KAAK,KAAK;AAAA,QACV,KAAK,UAAU,iBAAiB,QAAQ,EAAE,UAAU;AAAA,MAAA;AAAA,IAExD;AAAA,EACF;AAAA,EAEA,OAAO,aAAa,MAAM;AACxB,YAAQ,KAAK,YAAY,KAAK,aAAa,YAAY,KAAK;AAAA,EAC9D;AAAA,EAEA,OAAO,YAAY,MAAM;AACvB,WAAO,CAAC,CAAC,KAAK,aAAa,WAAW,KAAK;AAAA,EAC7C;AAAA,EAEA,aAAa,UAAU,OAAO;AAEtB,UAAA,UAAU,IAAI,iBAAiB,KAAK;AACpC,UAAA,MAAM,QAAQ;AACpB,QAAI,CAAC,IAAK;AAEJ,UAAA,EAAE,MAAM,SAAa,IAAA;AAG3B,UAAM,SAAS,IAAI,gBAAgB,MAAM,QAAQ;AACjD,UAAM,OAAO;AAEb,UAAM,YAAY,UAAU,WAAW,YAAY,IAAI,EAAE;AAE/C,cAAA,cAAc,QAAQ,KAAK;AAC3B,cAAA,KAAK,EAAE;AACb,QAAA,MAAM,IAAI,SAAS;AAGvB,cAAU,KAAK,EAAE,aAAa,QAAQ,KAAK;AACpC,WAAA;AAAA,EACT;AACF;AAEA,SAAS,2BAA2B;AACzB,WAAA,iBAAiB,SAAS,OAAO;AACxC,UAAM,WAAW,OAAO,OAAO,IAAI,OAAO,kBAAkB,CAAA,CAAE;AACxD,UAAA,WACJ,SAAS,SAAS,KAClB,SAAS,KAAK,CAAC,MAAM,iBAAiB,YAAY,CAAC,CAAC;AAC9C,YAAA,OAAO,QAAQ,GAAG,MAAM;AAAA,MAC9B,SAAS;AAAA,MACT;AAAA,MACA,UAAU,mCAAY;AACb,eAAA,MAAM,iBAAiB,UAAU,QAAQ;AAAA,MAClD,GAFU;AAAA,IAEV,CACD;AAAA,EACH;AAZS;AAcA,WAAA,gBAAgB,SAAS,OAAO;AACjC,UAAA,SAAS,IAAI,MAAM,OAAO;AAChC,UAAM,WAAW,CAAC,UAAU,CAAC,OAAO,KAAK,MAAM,EAAE;AACzC,YAAA,OAAO,QAAQ,GAAG,MAAM;AAAA,MAC9B,SAAS;AAAA,MACT;AAAA,MACA,UAAU,6BAAM;AACV,YAAA,kBAAkB,GAAG,EAAE;MAC7B,GAFU;AAAA,IAEV,CACD;AAAA,EACH;AAVS;AAaH,QAAA,uBAAuB,aAAa,UAAU;AACvC,eAAA,UAAU,uBAAuB,WAAY;AACxD,UAAM,UAAU,qBAAqB,MAAM,MAAM,SAAS;AACpD,UAAA,QACJ,QAAQ,UAAU,CAAC,MAAM,GAAG,YAAY,WAAW,IAAI,KAAK,QAAQ;AACtE,qBAAiB,SAAS,KAAK;AACf,oBAAA,SAAS,QAAQ,CAAC;AAC3B,WAAA;AAAA,EAAA;AAIH,QAAA,qBAAqB,aAAa,UAAU;AACrC,eAAA,UAAU,qBAAqB,SAAU,MAAM;AAC1D,UAAM,UAAU,mBAAmB,MAAM,MAAM,SAAS;AACxD,QAAI,CAAC,iBAAiB,YAAY,IAAI,GAAG;AACjC,YAAA,QACJ,QAAQ,UAAU,CAAC,MAAM,GAAG,YAAY,SAAS,IAAI,KACrD,QAAQ,SAAS;AACnB,uBAAiB,SAAS,KAAK;AAAA,IACjC;AACO,WAAA;AAAA,EAAA;AAEX;AAlDS;AAoDT,MAAMb,OAAK;AACX,IAAI;AACJ,MAAME,QAAM;AAAA,EACV,MAAMF;AAAAA,EACN,QAAQ;AACmB;EAC3B;AAAA,EACA,MAAM,qBAAqB,WAAW,kBAAkB;AAChD,UAAA,QAAQ,WAAW,OAAO;AAChC,QAAI,OAAO;AACH,YAAA,gBAAgB,qBAAqB,OAAO,gBAAgB;AAAA,IACpE;AAAA,EACF;AAAA,EACA,kBAAkB,MAAM;AAET,iBAAA;AAAA,EACf;AAAA,EACA,YAAY,MAAM;AACZ,QAAA,iBAAiB,YAAY,IAAI,GAAG;AACtC,WAAK,KAAK,IAAI,IAAI,iBAAiB,IAAI;AAAA,IACzC;AAAA,EACF;AAAA,EACA,MAAM,oBAAoB,MAAM;AAEvB,WAAA,OAAO,YAAY,IAAI;AACxB,UAAA,QAAQ,IAAI,MAAM,OAAO;AAC/B,QAAI,OAAO;AACT,YAAM,gBAAgB,qBAAqB,OAAO,CAAE,CAAA;AAAA,IACtD;AAAA,EACF;AACF;AAEA,IAAI,kBAAkBE,KAAG;;;;;AC37CzB,SAAS,YAAY,MAAM,MAAM;AAC/B,OAAK,OAAO;AACZ,OAAK,MAAM;AACb;AAHS;AAKT,SAAS,gBAAgB,OAAO,QAAQ,IAAI;AACtC,MAAA,IAAI,IAAI,IAAI;AACZ,MAAA,KAAK,KAAK,KAAK;AACf,MAAA;AAEC,OAAA,KAAK,KAAK,KAAK;AACd,QAAA,MAAM,MAAM,MAAM;AAExB,WAAS,KAAK,CAAC,MAAM,QAAQ,KAAK,GAAG;AACnC,aAAS,KAAK,GAAG;AACf,aAAO,EAAE,CAAC;AAEJ,YAAA,KAAK,IAAI,CAAC;AACV,YAAA,KAAK,IAAI,CAAC;AAChB,YAAM,KAAK,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC;AAC/B,YAAM,KAAK,IAAI,CAAC,IAAI,KAAK,KAAK,CAAC;AAE3B,UAAA,KAAK,QAAQ,WAAW;AAC1B,eAAO,UAAU;AAAA,MACnB;AAEI,UAAA,KAAK,OAAO,WAAW;AACzB,cAAM,MAAM,UAAU;AAEtB,YAAI,MAAM,kBAAkB;AAC1B,gBAAM,MAAM,KAAK,MAAM,KAAK,gBAAgB;AAAA,QAC9C;AAAA,MACF;AAEI,UAAA,MAAM,MAAM,MAAM,IAAI;AACnB,aAAA;AAAA,MACP;AAEI,UAAA,MAAM,MAAM,MAAM,IAAI;AACnB,aAAA;AAAA,MACP;AAEI,UAAA,MAAM,MAAM,MAAM,IAAI;AACnB,aAAA;AAAA,MACP;AAEI,UAAA,MAAM,MAAM,MAAM,IAAI;AACnB,aAAA;AAAA,MACP;AAAA,IACF;AAAA,EACF;AAEA,MAAI,UAAU;AAEd,OAAK,KAAK,KAAK,MAAM,MAAM,YAAY,GAAG;AAE1C,QAAM,MAAM,CAAC,KAAK,SAAS,KAAK,OAAO;AACjC,QAAA,OAAO,CAAC,KAAK,KAAK,UAAU,GAAG,KAAK,KAAK,UAAU,CAAC;AAC5D;AArDS;AAuDT,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,QAAQ;AACA,UAAA,OAAO,aAAa,UAAU;AAEvB,iBAAA,UAAU,uBAAuB,WAAY;AACxD,YAAM,UAAU,KAAK,MAAM,MAAM,SAAS;AACpC,YAAA,QAAQ,KAAK,MAAM;AAAA,QACvB,KAAK,YAAY,CAAC;AAAA,QAClB,KAAK,YAAY,CAAC;AAAA,MAAA;AAEpB,UAAI,CAAC,OAAO;AACV,gBAAQ,KAAK;AAAA,UACX,SAAS;AAAA,UACT,UAAU,CAAC,OAAO,KAAK,IAAI,OAAO,kBAAkB,CAAE,CAAA,EAAE;AAAA,UACxD,UAAU,6BAAM;AAEVY,gBAAAA,SAAQ,IAAI,UAAU;AACVA,4BAAAA,QAAO,KAAK,cAAc;AACtC,gBAAA,OAAO,MAAM,IAAIA,MAAK;AAC1B,iBAAK,MAAM;UACb,GANU;AAAA,QAMV,CACD;AAEM,eAAA;AAAA,MACT;AAGA,YAAM,qBAAqB;AAC3B,YAAM,eAAe,MAAM;AAE3B,cAAQ,KAAK;AAAA,QACX,SAAS;AAAA,QACT,UAAU,CAAC,OAAO,KAAK,IAAI,OAAO,kBAAkB,CAAE,CAAA,EAAE;AAAA,QACxD,UAAU,6BAAM;AACE,0BAAA,OAAO,KAAK,cAAc;AAC1C,eAAK,MAAM;QACb,GAHU;AAAA,MAGV,CACD;AAGG,UAAA,aAAa,WAAW,GAAG;AACtB,eAAA;AAAA,MAAA,OACF;AAEL,gBAAQ,KAAK,IAAI;AAAA,MACnB;AAGA,UAAI,sBAAsB;AAC1B,eAAS,IAAI,GAAG,IAAI,aAAa,QAAQ,KAAK;AAC5C,YAAI,aAAa,CAAC,EAAE,SAAS,aAAa,CAAC,EAAE,MAAM;AAC3B,gCAAA;AACtB;AAAA,QACF;AAAA,MACF;AAEA,cAAQ,KAAK;AAAA,QACX,SAAS;AAAA,QACT,UAAU,6BAAM;AACd,0BAAgB,KAAK;AACrB,eAAK,MAAM;QACb,GAHU;AAAA,MAGV,CACD;AAED,cAAQ,KAAK;AAAA,QACX,SAAS;AAAA,QACT,UAAU,6BAAM;AACd,eAAK,YAAY,YAAY;AAC7B,eAAK,MAAM;AACX,eAAK,OAAO;QACd,GAJU;AAAA,MAIV,CACD;AASD,UAAI,qBAAqB;AACjB,cAAA,OAAO,aAAa,CAAC,EAAE;AAC7B,gBAAQ,MAAM;AAAA,UACZ,KAAK;AAEH,oBAAQ,KAAK;AAAA,cACX,SAAS;AAAA,cACT,UAAU,6BAAM;AACd,2BAAW,QAAQ,cAAc;AAC/B,8BAAY,MAAM,CAAC;AAAA,gBACrB;AAAA,cACF,GAJU;AAAA,YAIV,CACD;AACD,oBAAQ,KAAK;AAAA,cACX,SAAS;AAAA,cACT,UAAU,6BAAM;AACd,2BAAW,QAAQ,cAAc;AAC/B,8BAAY,MAAM,CAAC;AAAA,gBACrB;AAAA,cACF,GAJU;AAAA,YAIV,CACD;AACD;AAAA,UACF,KAAK;AAEH,oBAAQ,KAAK;AAAA,cACX,SAAS;AAAA,cACT,UAAU,6BAAM;AACd,2BAAW,QAAQ,cAAc;AAC/B,8BAAY,MAAM,CAAC;AAAA,gBACrB;AAAA,cACF,GAJU;AAAA,YAIV,CACD;AACD,oBAAQ,KAAK;AAAA,cACX,SAAS;AAAA,cACT,UAAU,6BAAM;AACd,2BAAW,QAAQ,cAAc;AAC/B,8BAAY,MAAM,CAAC;AAAA,gBACrB;AAAA,cACF,GAJU;AAAA,YAIV,CACD;AACD;AAAA,UACF,KAAK;AAEH,oBAAQ,KAAK;AAAA,cACX,SAAS;AAAA,cACT,UAAU,6BAAM;AACd,2BAAW,QAAQ,cAAc;AAC/B,8BAAY,MAAM,CAAC;AAAA,gBACrB;AAAA,cACF,GAJU;AAAA,YAIV,CACD;AACD,oBAAQ,KAAK;AAAA,cACX,SAAS;AAAA,cACT,UAAU,6BAAM;AACd,2BAAW,QAAQ,cAAc;AAC/B,8BAAY,MAAM,CAAC;AAAA,gBACrB;AAAA,cACF,GAJU;AAAA,YAIV,CACD;AACD;AAAA,UACF;AAEE,oBAAQ,KAAK;AAAA,cACX,SAAS;AAAA,cACT,UAAU,6BAAM;AACd,2BAAW,QAAQ,cAAc;AAC/B,8BAAY,MAAM,CAAC;AAAA,gBACrB;AAAA,cACF,GAJU;AAAA,YAIV,CACD;AACD,oBAAQ,KAAK;AAAA,cACX,SAAS;AAAA,cACT,UAAU,6BAAM;AACd,2BAAW,QAAQ,cAAc;AAC/B,8BAAY,MAAM,CAAC;AAAA,gBACrB;AAAA,cACF,GAJU;AAAA,YAIV,CACD;AACD,oBAAQ,KAAK;AAAA,cACX,SAAS;AAAA,cACT,UAAU,6BAAM;AACd,2BAAW,QAAQ,cAAc;AAC/B,8BAAY,MAAM,CAAC;AAAA,gBACrB;AAAA,cACF,GAJU;AAAA,YAIV,CACD;AACD;AAAA,QACJ;AAAA,MAAA,OACK;AAEL,gBAAQ,KAAK;AAAA,UACX,SAAS;AAAA,UACT,UAAU,6BAAM;AACd,uBAAW,QAAQ,cAAc;AAC/B,0BAAY,MAAM,CAAC;AAAA,YACrB;AAAA,UACF,GAJU;AAAA,QAIV,CACD;AACD,gBAAQ,KAAK;AAAA,UACX,SAAS;AAAA,UACT,UAAU,6BAAM;AACd,uBAAW,QAAQ,cAAc;AAC/B,0BAAY,MAAM,CAAC;AAAA,YACrB;AAAA,UACF,GAJU;AAAA,QAIV,CACD;AACD,gBAAQ,KAAK;AAAA,UACX,SAAS;AAAA,UACT,UAAU,6BAAM;AACd,uBAAW,QAAQ,cAAc;AAC/B,0BAAY,MAAM,CAAC;AAAA,YACrB;AAAA,UACF,GAJU;AAAA,QAIV,CACD;AAAA,MACH;AAEO,aAAA;AAAA,IAAA;AAAA,EAEX;AACF,CAAC;AClQD,MAAMd,OAAK;AACX,IAAI,kBAAkB;AAAA,EACpB,MAAMA;AAAAA,EACN,OAAO;AACL,UAAM,UAAU,UAAU;AAC1B,UAAM,UAAU,6BAAM;AAEV,gBAAA,cAAc,SAAU,QAAQ,SAAS;AACjD,kBAAU,WAAW;AACrB,YAAI,QAAQ,cAAc;AACxB,kBAAQ,gBAAgB;AAAA,QAAA,OACnB;AACL,kBAAQ,eAAe;AAAA,QACzB;AACA,eAAO,QAAQ,KAAK,MAAM,QAAQ,OAAO;AAAA,MAAA;AAEjC,gBAAA,YAAY,YAAY,QAAQ;AAAA,IAAA,GAX5B;AAaZ,QAAA,GAAG,SAAS,WAAW;AAAA,MAAA,IACzBA;AAAAA,MACA,UAAU,CAAC,SAAS,SAAS,qBAAqB;AAAA,MAClD,MAAM;AAAA,MACN,MAAM;AAAA,MACN,cAAc;AAAA,MACd,SAAS,OAAO;AACd,YAAI,OAAO;AACD;QAAA,OACH;AACL,oBAAU,cAAc;AAAA,QAC1B;AAAA,MACF;AAAA,IAAA,CACD;AAAA,EACH;AACF,CAAC;AClCD,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,OAAO;AACC,UAAA,kBAAkB,sCAAgB,OAAO;AACvC,YAAA,kBAAkB,MAAM,WAAW,MAAM;AAG3C,UAAA,mBAAmB,MAAM,QAAQ,SAAS;AAE5C,YAAI,MAAM,QAAQ;AAChB,gBAAM,IAAI;AACV,wBAAA,EAAgB,IAAI;AAAA,YAClB,UAAU;AAAA,YACV,SAAS;AAAA,YACT,QAAQ;AAAA,YACR,MAAM;AAAA,UAAA,CACP;AACD;AAAA,QACF;AAEA,YAAI,YAAY,MAAM,WAAW,KAAK,CAAC,EAAE;AACzC;AAAA,MACF;AAEA,YAAM,SAAS,MAAM,aAAa,EAAE,CAAC;AACrC,UACE,OAAO,YAAY,cACnB,OAAO,YAAY,WAClB,OAAO,YAAY,UAClB,OAAO,UAAU,SAAS,gBAAgB,GAC5C;AACA;AAAA,MACF;AAEA,YAAM,mBAAmB;AAAA,QACvB,GAAG;AAAA,QACH,GAAG;AAAA,QACH,WAAW;AAAA,QACX,GAAG;AAAA,QACH,GAAG;AAAA,MAAA;AAGC,YAAA,oBAAoB,iBAAiB,MAAM,GAAG;AACpD,UAAI,mBAAmB,mBAAmB;AACxC,cAAM,eAAe;AAEf,cAAA,OAAO,SAAS,cAAc,iBAAiB;AACrD,aAAK,MAAM;AACX;AAAA,MACF;AAGA,UAAI,MAAM,WAAW,MAAM,UAAU,MAAM,SAAS;AAClD;AAAA,MACF;AAGI,UAAA,MAAM,QAAQ,UAAU;AACpB,cAAA,SAAS,SAAS,iBAA8B,cAAc;AACpE,cAAM,QAAQ,MAAM,KAAK,MAAM,EAAE;AAAA,UAC/B,CAACe,WACC,OAAO,iBAAiBA,MAAK,EAAE,iBAAiB,SAAS,MACzD;AAAA,QAAA;AAEJ,YAAI,OAAO;AACT,gBAAM,MAAM,UAAU;AAAA,QACxB;AAEA;AAAE,SAAA,GAAG,SAAS,iBAAiB,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM;AACvD,YAAE,MAAM;AAAA,QAAA,CACT;AAAA,MACH;AAEA,YAAM,WAAW;AAAA,QACf,GAAG;AAAA,QACH,GAAG;AAAA,QACH,GAAG;AAAA,MAAA;AAGC,YAAA,WAAW,SAAS,MAAM,GAAG;AACnC,UAAI,UAAU;AACN,cAAA,SAAS,SAAS,cAAc,QAAQ;AAC9C,eAAO,MAAM;AAAA,MACf;AAAA,IAAA,GAhFsB;AAmFjB,WAAA,iBAAiB,WAAW,iBAAiB,IAAI;AAAA,EAC1D;AACF,CAAC;AC1FD,MAAMf,OAAK;AACX,MAAM,MAAM;AAAA,EACV,MAAMA;AAAAA,EACN,MAAM,MAAMD,MAAK;AACfA,SAAI,GAAG,SAAS,WAAW;AAAA,MAAA,IACzBC;AAAAA,MACA,UAAU,CAAC,SAAS,SAAS,gBAAgB;AAAA,MAC7C,MAAM;AAAA,MACN,cAAc;AAAA,MACd,MAAM;AAAA;AAAA,MAEN,SAAS,CAAC,GAAG,UAAU,mBAAmB,QAAQ,EAAE,IAAI,CAAC,GAAG,OAAO;AAAA,QACjE,OAAO;AAAA,QACP,MAAM;AAAA,QACN,UAAU,KAAKD,KAAI,OAAO;AAAA,MAAA,EAC1B;AAAA,MACF,SAAS,OAAO;AACdA,aAAI,OAAO,oBAAoB,CAAC;AAChCA,aAAI,MAAM,eAAe,IAAI;AAAA,MAC/B;AAAA,IAAA,CACD;AAAA,EACH;AACF;AAEA,IAAI,kBAAkB,GAAG;ACnBzB,SAAS,cAAc,SAAS;AACxB,QAAA,QAAQ,QAAQ,MAAM,UAAU;AACtC,QAAM,cAAc,MAAM,CAAC,EAAE,MAAM,GAAG,EAAE,CAAC;AACzC,QAAM,aAAa,KAAK,MAAM,CAAC,CAAC;AAChC,QAAM,cAAc,IAAI,YAAY,WAAW,MAAM;AAC/C,QAAA,aAAa,IAAI,WAAW,WAAW;AAC7C,WAAS,IAAI,GAAG,IAAI,WAAW,QAAQ,KAAK;AAC1C,eAAW,CAAC,IAAI,WAAW,WAAW,CAAC;AAAA,EACzC;AACO,SAAA,IAAI,KAAK,CAAC,WAAW,GAAG,EAAE,MAAM,aAAa;AACtD;AAVS;AAYT,SAAS,kBAAkB,OAAO;AAC1B,QAAA,SAAS,SAAS,cAAc,QAAQ;AAE9C,SAAO,QAAQ,MAAM;AACrB,SAAO,SAAS,MAAM;AAEhB,QAAA,MAAM,OAAO,WAAW,IAAI;AAE9B,MAAA,UAAU,OAAO,GAAG,CAAC;AAEzB,QAAM,UAAU,OAAO,UAAU,aAAa,CAAC;AACzC,QAAA,OAAO,cAAc,OAAO;AAE3B,SAAA;AACT;AAdS;AAgBT,SAAS,UAAU,WAAW;AAC5B,SAAO,IAAI,QAAQ,CAAC,SAAS,WAAW;AAChC,UAAA,QAAQ,IAAI;AAElB,UAAM,SAAS,WAAY;AACzB,cAAQ,KAAK;AAAA,IAAA;AAGf,UAAM,MAAM;AAAA,EAAA,CACb;AACH;AAVS;AAYT,eAAe,WAAW,UAAU,UAAU;AACtC,QAAA,IACH,SAAS,gBAAgB;AAAA,IACxB,QAAQ;AAAA,IACR,MAAM;AAAA,EAAA,CACP,EACA,KAAK,CAAC,aAAa;AAAA,EAAA,CAAE,EACrB,MAAM,CAAC,UAAU;AACR,YAAA,MAAM,UAAU,KAAK;AAAA,EAAA,CAC9B;AAEM,WAAA,UAAU,KAAK,SAAS,UAAU,eAAe,CAAC,IAAI,IAAI;AAC1D,WAAA,UAAU,KAAK,SAAS,UAAU,eAAe,CAAC,EAAE,MAAM,IAAI;AAAA,IACrE,WACE,IAAI,gBAAgB,QAAQ,EAAE,aAC9B,IAAI,sBAAA,IACJ,IAAI,aAAa;AAAA,EAAA;AAGrB,MAAI,SAAS,UAAU;AACrB,aAAS,UAAU,OAAO,SAAS,UAAU,eAAe,CAAC,IAAI;AAEnE,kBAAgB,kBAAkB;AACpC;AAvBe;AAyBf,SAAS,aAAa,OAAO,YAAY,SAAS,WAAW;AAE3D,UAAQ,UAAU,OAAO,GAAG,GAAG,WAAW,OAAO,WAAW,MAAM;AAClE,QAAM,WAAW,QAAQ;AAAA,IACvB;AAAA,IACA;AAAA,IACA,WAAW;AAAA,IACX,WAAW;AAAA,EAAA;AAIb,WAAS,IAAI,GAAG,IAAI,SAAS,KAAK,QAAQ,KAAK,GAAG;AAC5C,QAAA,SAAS,KAAK,IAAI,CAAC,KAAK,IAAc,UAAA,KAAK,IAAI,CAAC,IAAI;AAAA,QAC1C,UAAA,KAAK,IAAI,CAAC,IAAI;AAEnB,aAAA,KAAK,CAAC,IAAI,UAAU;AAC7B,aAAS,KAAK,IAAI,CAAC,IAAI,UAAU;AACjC,aAAS,KAAK,IAAI,CAAC,IAAI,UAAU;AAAA,EACnC;AAEA,UAAQ,2BAA2B;AAC3B,UAAA,aAAa,UAAU,GAAG,CAAC;AACrC;AAtBS;AAwBT,MAAM,yBAAyB,YAAY;AAAA,SAAA;AAAA;AAAA;AAAA,EACzC,OAAO,WAAW;AAAA,EAClB,OAAO,cAA6B;AAAA,EACpC,OAAO,cAA6B;AAAA,EAEpC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,OAAO,cAAc;AACf,QAAA,CAAC,iBAAiB,UAAU;AACb,uBAAA,WAAW,IAAI;IAClC;AAEA,WAAO,iBAAiB;AAAA,EAC1B;AAAA,EAEA,oBAAoB;AAAA,EAEpB,cAAc;AACN;AACN,SAAK,UAAU,IAAI,mBAAmB,EAAE,QAAQ,SAAS,QAAQ;AAAA,MAC/D,IAAI,2BAA2B,CAAC,GAAG,KAAK,cAAe,CAAA,CAAC;AAAA,IAAA,CACzD;AAAA,EACH;AAAA,EAEA,gBAAgB;AACd,WAAO;EACT;AAAA,EAEA,aAAa,MAAM,UAA6B;AAC1C,QAAA,SAAS,SAAS,cAAc,QAAQ;AAC5C,WAAO,MAAM,gBAAgB;AAC7B,WAAO,YAAY;AACZ,WAAA,iBAAiB,SAAS,QAAQ;AAClC,WAAA;AAAA,EACT;AAAA,EAEA,iBAAiB,MAAM,UAAU;AAC/B,QAAI,SAAS,KAAK,aAAa,MAAM,QAAQ;AAC7C,WAAO,MAAM,WAAW;AACxB,WAAO,MAAM,cAAc;AACpB,WAAA;AAAA,EACT;AAAA,EAEA,kBAAkB,MAAM,UAAU;AAChC,QAAI,SAAS,KAAK,aAAa,MAAM,QAAQ;AAC7C,WAAO,MAAM,WAAW;AACxB,WAAO,MAAM,aAAa;AACnB,WAAA;AAAA,EACT;AAAA,EAEA,iBAAiB,MAAM,MAAM,UAA0B;AAC/C,UAAA,aAAa,SAAS,cAAc,KAAK;AAC/C,eAAW,KAAK;AAChB,eAAW,MAAM,WAAW;AAC5B,eAAW,MAAM,aAAa;AAC9B,eAAW,MAAM,cAAc;AAC/B,eAAW,MAAM,QAAQ;AACzB,eAAW,MAAM,kBAAkB;AACnC,eAAW,MAAM,eAAe;AAChC,eAAW,MAAM,cAAc;AAC/B,eAAW,MAAM,cAAc;AAC/B,eAAW,MAAM,WAAW;AAC5B,eAAW,MAAM,SAAS;AAC1B,eAAW,MAAM,UAAU;AAC3B,eAAW,MAAM,UAAU;AAC3B,eAAW,MAAM,WAAW;AAC5B,eAAW,MAAM,MAAM;AACvB,eAAW,MAAM,gBAAgB;AAC5B,SAAA,qBAAqB,SAAS,cAAc,OAAO;AACnD,SAAA,mBAAmB,aAAa,QAAQ,OAAO;AAC/C,SAAA,mBAAmB,aAAa,OAAO,GAAG;AAC1C,SAAA,mBAAmB,aAAa,OAAO,KAAK;AAC5C,SAAA,mBAAmB,aAAa,SAAS,IAAI;AAC5C,UAAA,eAAe,SAAS,cAAc,OAAO;AACnD,iBAAa,cAAc;AAE3B,eAAW,YAAY,YAAY;AACxB,eAAA,YAAY,KAAK,kBAAkB;AAEzC,SAAA,mBAAmB,iBAAiB,UAAU,QAAQ;AAEpD,WAAA;AAAA,EACT;AAAA,EAEA,oBAAoB,MAAM,MAAM,UAA0B;AAClD,UAAA,aAAa,SAAS,cAAc,KAAK;AAC/C,eAAW,KAAK;AAChB,eAAW,MAAM,WAAW;AAC5B,eAAW,MAAM,aAAa;AAC9B,eAAW,MAAM,cAAc;AAC/B,eAAW,MAAM,QAAQ;AACzB,eAAW,MAAM,kBAAkB;AACnC,eAAW,MAAM,eAAe;AAChC,eAAW,MAAM,cAAc;AAC/B,eAAW,MAAM,cAAc;AAC/B,eAAW,MAAM,WAAW;AAC5B,eAAW,MAAM,SAAS;AAC1B,eAAW,MAAM,UAAU;AAC3B,eAAW,MAAM,UAAU;AAC3B,eAAW,MAAM,WAAW;AAC5B,eAAW,MAAM,MAAM;AACvB,eAAW,MAAM,gBAAgB;AAC5B,SAAA,uBAAuB,SAAS,cAAc,OAAO;AACrD,SAAA,qBAAqB,aAAa,QAAQ,OAAO;AACjD,SAAA,qBAAqB,aAAa,OAAO,KAAK;AAC9C,SAAA,qBAAqB,aAAa,OAAO,KAAK;AAC9C,SAAA,qBAAqB,aAAa,QAAQ,MAAM;AAChD,SAAA,qBAAqB,aAAa,SAAS,KAAK;AAC/C,UAAA,eAAe,SAAS,cAAc,OAAO;AACnD,iBAAa,cAAc;AAE3B,eAAW,YAAY,YAAY;AACxB,eAAA,YAAY,KAAK,oBAAoB;AAE3C,SAAA,qBAAqB,iBAAiB,SAAS,QAAQ;AAErD,WAAA;AAAA,EACT;AAAA,EAEA,UAAU,WAA8B,YAA+B;AACrE,UAAM,OAAO;AAIT,QAAA,eAAe,SAAS,cAAc,KAAK;AAC/C,iBAAa,MAAM,WAAW;AAC9B,iBAAa,MAAM,SAAS;AAC5B,iBAAa,MAAM,OAAO;AAC1B,iBAAa,MAAM,QAAQ;AAC3B,iBAAa,MAAM,SAAS;AAC5B,iBAAa,MAAM,gBAAgB;AAE/B,QAAA,QAAQ,SAAS,cAAc,KAAK;AACxC,UAAM,KAAK;AACX,UAAM,MAAM,kBAAkB;AAC9B,UAAM,MAAM,UAAU;AACtB,UAAM,MAAM,YAAY;AACxB,UAAM,MAAM,eAAe;AAE3B,UAAM,MAAM,kBAAkB;AAE9B,UAAM,MAAM,qBAAqB;AACjC,UAAM,MAAM,WAAW;AACvB,UAAM,MAAM,SAAS;AACrB,UAAM,MAAM,gBAAgB;AAC5B,SAAK,QAAQ;AACR,SAAA,QAAQ,YAAY,SAAS;AAC7B,SAAA,QAAQ,YAAY,UAAU;AAC9B,SAAA,QAAQ,YAAY,YAAY;AAC5B,aAAA,KAAK,YAAY,KAAK;AAE/B,QAAI,cAAc,KAAK,iBAAiB,SAAS,MAAM;AACrD,WAAK,QAAQ;AAAA,QACX;AAAA,QACA;AAAA,QACA,KAAK,WAAW;AAAA,QAChB,KAAK,WAAW;AAAA,MAAA;AAAA,IAClB,CACD;AAED,SAAK,oBAAoB,KAAK;AAAA,MAC5B;AAAA,MACA;AAAA,MACA,CAAC,UAAU;AACJ,aAAA,aAAa,MAAM,OAAO;AAC/B,aAAK,mBAAmB,IAAI;AAAA,MAC9B;AAAA,IAAA;AAGF,SAAK,uBAAuB,KAAK;AAAA,MAC/B;AAAA,MACA;AAAA,MACA,CAAC,UAAU;AACJ,aAAA,gBAAgB,MAAM,OAAO;AAC9B,YAAA,KAAK,qBAAqB,YAAY;AACxC,eAAK,WAAW,MAAM,UAAU,KAAK,cAAc;QACrD;AAAA,MACF;AAAA,IAAA;AAGF,SAAK,cAAc,KAAK,iBAAiB,KAAK,mBAAA,GAAsB,MAAM;AACpE,UAAA,KAAK,qBAAqB,SAAS;AACrC,aAAK,mBAAmB;AAAA,MAAA,WACf,KAAK,qBAAqB,SAAS;AAC5C,aAAK,mBAAmB;AAAA,MAAA,OACnB;AACL,aAAK,mBAAmB;AAAA,MAC1B;AAEA,WAAK,gCAAgC;AAAA,IAAA,CACtC;AAED,QAAI,eAAe,KAAK,kBAAkB,UAAU,MAAM;AAC/C,eAAA,oBAAoB,WAAW,iBAAiB,aAAa;AACtE,WAAK,MAAM;AAAA,IAAA,CACZ;AAED,SAAK,aAAa,KAAK,kBAAkB,QAAQ,MAAM;AAC5C,eAAA,oBAAoB,WAAW,iBAAiB,aAAa;AACtE,WAAK,KAAK;AAAA,IAAA,CACX;AAEI,SAAA,QAAQ,YAAY,SAAS;AAC7B,SAAA,QAAQ,YAAY,UAAU;AAC9B,SAAA,QAAQ,YAAY,YAAY;AAErC,iBAAa,YAAY,WAAW;AACvB,iBAAA,YAAY,KAAK,UAAU;AACxC,iBAAa,YAAY,YAAY;AACxB,iBAAA,YAAY,KAAK,iBAAiB;AAClC,iBAAA,YAAY,KAAK,oBAAoB;AACrC,iBAAA,YAAY,KAAK,WAAW;AAEzC,cAAU,MAAM,WAAW;AAC3B,eAAW,MAAM,WAAW;AAE5B,cAAU,MAAM,MAAM;AACtB,cAAU,MAAM,OAAO;AAEZ,eAAA,MAAM,MAAM,UAAU,MAAM;AAC5B,eAAA,MAAM,OAAO,UAAU,MAAM;AAElC,UAAA,kBAAkB,KAAK;AAClB,eAAA,MAAM,eAAe,gBAAgB;AAChD,eAAW,MAAM,UAAU,gBAAgB,QAAQ,SAAS;AAAA,EAC9D;AAAA,EAEA,MAAM,OAAO;AACX,SAAK,aAAa;AAClB,SAAK,QAAQ;AACb,SAAK,QAAQ;AAET,QAAA,CAAC,KAAK,mBAAmB;AAErB,YAAA,YAAY,SAAS,cAAc,QAAQ;AAC3C,YAAA,aAAa,SAAS,cAAc,QAAQ;AAElD,gBAAU,KAAK;AACf,iBAAW,KAAK;AAEX,WAAA,UAAU,WAAW,UAAU;AAGpC,WAAK,YAAY;AACjB,WAAK,aAAa;AAClB,WAAK,UAAU,WAAW,WAAW,MAAM,EAAE,oBAAoB,MAAM;AAEvE,WAAK,gBAAgB,UAAU;AAE/B,WAAK,oBAAoB;AAGzB,YAAM,OAAO;AACb,YAAM,WAAW,IAAI,iBAAiB,SAAU,WAAW;AAC/C,kBAAA,QAAQ,SAAU,UAAU;AACpC,cACE,SAAS,SAAS,gBAClB,SAAS,kBAAkB,SAC3B;AAEE,gBAAA,KAAK,sBACL,KAAK,sBAAsB,UAC3B,KAAK,QAAQ,MAAM,WAAW,QAC9B;AACK,mBAAA,MAAM,MAAM,UAAU;AAC3B,uBAAS,wBAAwB;AAAA,YACnC;AAEK,iBAAA,qBAAqB,KAAK,QAAQ,MAAM;AAAA,UAC/C;AAAA,QAAA,CACD;AAAA,MAAA,CACF;AAEK,YAAA,SAAS,EAAE,YAAY;AACpB,eAAA,QAAQ,KAAK,SAAS,MAAM;AAAA,IACvC;AAGS,aAAA,iBAAiB,WAAW,iBAAiB,aAAa;AAEnE,QAAI,SAAS,uBAAuB;AAClC,WAAK,WAAW,YAAY;AAAA,IAAA,OACvB;AACL,WAAK,WAAW,YAAY;AAAA,IAC9B;AACA,SAAK,WAAW,WAAW;AAEtB,SAAA,QAAQ,MAAM,UAAU;AACxB,SAAA,QAAQ,MAAM,QAAQ;AACtB,SAAA,QAAQ,MAAM,SAAS;AACvB,SAAA,QAAQ,MAAM,SAAS;AACvB,SAAA,QAAQ,MAAM,MAAM;AACpB,SAAA,QAAQ,MAAM,OAAO;AACrB,SAAA,QAAQ,MAAM,SAAS;AAEtB,UAAA,KAAK,UAAU,KAAK,SAAS;AAEnC,SAAK,aAAa;AAAA,EACpB;AAAA,EAEA,WAAW;AACF,WAAA,KAAK,QAAQ,MAAM,WAAW;AAAA,EACvC;AAAA,EAEA,iBAAiB,YAAY,YAAY;AAClC,SAAA,UAAU,QAAQ,WAAW;AAC7B,SAAA,UAAU,SAAS,WAAW;AAE9B,SAAA,WAAW,QAAQ,WAAW;AAC9B,SAAA,WAAW,SAAS,WAAW;AAEhC,QAAA,SAAS,KAAK,UAAU,WAAW,MAAM,EAAE,oBAAoB,MAAM;AACzE,QAAI,UAAU,KAAK,WAAW,WAAW,MAAM;AAAA,MAC7C,oBAAoB;AAAA,IAAA,CACrB;AAED,WAAO,UAAU,YAAY,GAAG,GAAG,WAAW,OAAO,WAAW,MAAM;AACtE,iBAAa,YAAY,KAAK,YAAY,SAAS,KAAK,cAAc;AAAA,EACxE;AAAA,EAEA,MAAM,UAAU,WAAW;AACzB,QAAI,OAAO;AAEX,UAAM,SAAS,UAAU,WAAW,MAAM,EAAE,oBAAoB,MAAM;AACtE,UAAM,UAAU,KAAK;AACrB,UAAM,aAAa,KAAK;AAEjB,WAAA,UAAU,GAAG,GAAG,KAAK,UAAU,OAAO,KAAK,UAAU,MAAM;AAC1D,YAAA,UAAU,GAAG,GAAG,KAAK,WAAW,OAAO,KAAK,WAAW,MAAM;AAG/D,UAAA,WAAW,SAAS,UAAU;AAEpC,UAAM,YAAY,IAAI;AAAA,MACpB,SAAS,UAAU,KAAK,SAAS,UAAU,eAAe,CAAC,EAAE;AAAA,IAAA;AAErD,cAAA,aAAa,OAAO,SAAS;AAC7B,cAAA,aAAa,OAAO,SAAS;AAC7B,cAAA,aAAa,IAAI,WAAW,GAAG;AACrC,QAAA,aAAa,MAAM,UAAU,SAAS;AAG1C,UAAM,UAAU,IAAI;AAAA,MAClB,SAAS,UAAU,KAAK,SAAS,UAAU,eAAe,CAAC,EAAE;AAAA,IAAA;AAEvD,YAAA,aAAa,OAAO,SAAS;AAC7B,YAAA,aAAa,IAAI,WAAW,KAAK;AACpC,SAAA,QAAQ,IAAI;AACZ,SAAA,MAAM,SAAS,WAAY;AACnB,iBAAA,QAAQ,KAAK,MAAM;AACnB,iBAAA,SAAS,KAAK,MAAM;AAE1B,WAAA,iBAAiB,KAAK,OAAO,UAAU;AAC5C,WAAK,wBAAwB;AAAA,IAAA;AAE1B,SAAA,MAAM,MAAM,QAAQ,SAAS;AAAA,EACpC;AAAA,EAEA,0BAA0B;AAEpB,QAAA,YAAY,KAAK,MAAM;AACvB,QAAA,aAAa,KAAK,MAAM;AAExB,QAAA,QAAQ,KAAK,QAAQ;AACrB,QAAA,SAAS,KAAK,QAAQ;AAEtB,QAAA,KAAK,MAAM,QAAQ,OAAO;AAChB,kBAAA;AACZ,mBAAc,YAAY,KAAK,MAAM,QAAS,KAAK,MAAM;AAAA,IAC3D;AAEA,QAAI,aAAa,QAAQ;AACV,mBAAA;AACb,kBAAa,aAAa,KAAK,MAAM,SAAU,KAAK,MAAM;AAAA,IAC5D;AAEK,SAAA,aAAa,YAAY,KAAK,MAAM;AAEnC,UAAA,WAAW,QAAQ,aAAa;AAChC,UAAA,WAAW,SAAS,cAAc;AACxC,SAAK,QAAQ;AACb,SAAK,QAAQ;AAEb,SAAK,kBAAkB;AAAA,EACzB;AAAA,EAEA,oBAAoB;AAClB,QAAI,YAAY,KAAK,MAAM,QAAQ,KAAK;AACxC,QAAI,aAAa,KAAK,MAAM,SAAS,KAAK;AAEtC,QAAA,KAAK,QAAQ,YAAY,IAAI;AAC/B,WAAK,QAAQ,KAAK;AAAA,IACpB;AAEI,QAAA,KAAK,QAAQ,aAAa,IAAI;AAChC,WAAK,QAAQ,KAAK;AAAA,IACpB;AAEI,QAAA,QAAQ,GAAG,SAAS;AACpB,QAAA,SAAS,GAAG,UAAU;AAEtB,QAAA,OAAO,GAAG,KAAK,KAAK;AACpB,QAAA,MAAM,GAAG,KAAK,KAAK;AAElB,SAAA,WAAW,MAAM,QAAQ;AACzB,SAAA,WAAW,MAAM,SAAS;AAC1B,SAAA,WAAW,MAAM,OAAO;AACxB,SAAA,WAAW,MAAM,MAAM;AAEvB,SAAA,UAAU,MAAM,QAAQ;AACxB,SAAA,UAAU,MAAM,SAAS;AACzB,SAAA,UAAU,MAAM,OAAO;AACvB,SAAA,UAAU,MAAM,MAAM;AAAA,EAC7B;AAAA,EAEA,gBAAgB,YAAY;AAC1B,UAAM,OAAO;AAET,QAAA,CAAC,KAAK,oBAAoB;AACjB,iBAAA,iBAAiB,eAAe,CAAC,UAAU;AACpD,cAAM,eAAe;AAAA,MAAA,CACtB;AAED,WAAK,QAAQ;AAAA,QAAiB;AAAA,QAAS,CAAC,UACtC,KAAK,iBAAiB,MAAM,KAAK;AAAA,MAAA;AAEnC,WAAK,QAAQ;AAAA,QAAiB;AAAA,QAAe,CAAC,UAC5C,KAAK,eAAe,MAAM,KAAK;AAAA,MAAA;AAEjC,WAAK,QAAQ;AAAA,QAAiB;AAAA,QAAa,CAAC,UAC1C,KAAK,eAAe,MAAM,KAAK;AAAA,MAAA;AAGjC,WAAK,QAAQ,iBAAiB,aAAa,CAAC,UAAU;AACpD,YAAI,MAAM,SAAS;AACjB,gBAAM,eAAe;AAAA,QACvB;AAAA,MAAA,CACD;AAEU,iBAAA;AAAA,QAAiB;AAAA,QAAe,CAAC,UAC1C,KAAK,kBAAkB,MAAM,KAAK;AAAA,MAAA;AAEzB,iBAAA;AAAA,QAAiB;AAAA,QAAe,CAAC,UAC1C,KAAK,UAAU,MAAM,KAAK;AAAA,MAAA;AAEjB,iBAAA;AAAA,QAAiB;AAAA,QAAa,CAAC,UACxC,KAAK,UAAU,MAAM,KAAK;AAAA,MAAA;AAEjB,iBAAA,iBAAiB,eAAe,CAAC,UAAU;AAC/C,aAAA,MAAM,MAAM,UAAU;AAAA,MAAA,CAC5B;AACU,iBAAA,iBAAiB,gBAAgB,CAAC,UAAU;AAChD,aAAA,MAAM,MAAM,UAAU;AAAA,MAAA,CAC5B;AAEQ,eAAA,iBAAiB,aAAa,iBAAiB,eAAe;AAEvE,WAAK,qBAAqB;AAAA,IAC5B;AAAA,EACF;AAAA,EAEA,qBAAqB;AACf,QAAA,KAAK,qBAAqB,YAAY;AACjC,aAAA;AAAA,QACL,cAAc;AAAA,QACd,SAAS;AAAA,MAAA;AAAA,IACX,OACK;AACE,aAAA;AAAA,QACL,cAAc;AAAA,QACd,SAAS,KAAK;AAAA,MAAA;AAAA,IAElB;AAAA,EACF;AAAA,EAEA,eAAe;AACT,QAAA,KAAK,qBAAqB,SAAS;AACrC,aAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG;IAC1B;AACI,QAAA,KAAK,qBAAqB,SAAS;AACrC,aAAO,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG;IAC9B;AACI,QAAA,KAAK,qBAAqB,YAAY;AAExC,aAAO,EAAE,GAAG,KAAK,GAAG,KAAK,GAAG;IAC9B;AAEA,WAAO,EAAE,GAAG,GAAG,GAAG,GAAG,GAAG;EAC1B;AAAA,EAEA,mBAAmB;AACX,UAAA,YAAY,KAAK;AAEhB,WAAA,SAAS,UAAU,IAAI,MAAM,UAAU,IAAI,MAAM,UAAU,IAAI;AAAA,EACxE;AAAA,EAEA,qBAAqB;AACnB,QAAI,eAAe;AAEf,QAAA,KAAK,qBAAqB,SAAS;AACtB,qBAAA;AAAA,IAAA,WACN,KAAK,qBAAqB,SAAS;AAC7B,qBAAA;AAAA,IAAA,WACN,KAAK,qBAAqB,YAAY;AAChC,qBAAA;AAAA,IACjB;AAEA,WAAO,YAAY;AAAA,EACrB;AAAA,EAEA,kCAAkC;AAC3B,SAAA,YAAY,YAAY,KAAK,mBAAmB;AAI/C,UAAA,kBAAkB,KAAK;AACxB,SAAA,WAAW,MAAM,eAAe,gBAAgB;AACrD,SAAK,WAAW,MAAM,UAAU,gBAAgB,QAAQ;AAIlD,UAAA,YAAY,KAAK;AAEjB,UAAA,WAAW,KAAK,QAAQ;AAAA,MAC5B;AAAA,MACA;AAAA,MACA,KAAK,WAAW;AAAA,MAChB,KAAK,WAAW;AAAA,IAAA;AAGlB,aAAS,IAAI,GAAG,IAAI,SAAS,KAAK,QAAQ,KAAK,GAAG;AACvC,eAAA,KAAK,CAAC,IAAI,UAAU;AAC7B,eAAS,KAAK,IAAI,CAAC,IAAI,UAAU;AACjC,eAAS,KAAK,IAAI,CAAC,IAAI,UAAU;AAAA,IACnC;AAEA,SAAK,QAAQ,aAAa,UAAU,GAAG,CAAC;AAAA,EAC1C;AAAA,EAEA,gBAAgB;AAAA,EAChB,aAAa;AAAA,EACb,mBAAmB;AAAA,EACnB,eAAe;AAAA,EACf,QAAQ;AAAA,EACR,QAAQ;AAAA,EACR,WAAW;AAAA,EAEX,OAAO,cAAc,OAAO;AAC1B,UAAM,OAAO,iBAAiB;AAC1B,QAAA,MAAM,QAAQ,KAAK;AACrB,WAAK,aAAa,KAAK,IAAI,KAAK,aAAa,GAAG,GAAG;AAC9C,WAAA,mBAAmB,QAAQ,KAAK;AAAA,IAAA,WAC5B,MAAM,QAAQ,KAAK;AAC5B,WAAK,aAAa,KAAK,IAAI,KAAK,aAAa,GAAG,CAAC;AAC5C,WAAA,mBAAmB,QAAQ,KAAK;AAAA,IAAA,WAC5B,MAAM,QAAQ,SAAS;AAChC,WAAK,KAAK;AAAA,IACZ;AAEA,SAAK,mBAAmB,IAAI;AAAA,EAC9B;AAAA,EAEA,OAAO,gBAAgB,OAAO;AAC5B,UAAM,eAAe;AAErB,SAAK,cAAc;AACnB,SAAK,cAAc;AAEnB,qBAAiB,SAAS,eAAe;AAAA,EAC3C;AAAA,EAEA,mBAAmB,MAAM;AACvB,UAAM,QAAQ,KAAK;AAEnB,QAAI,UAAU,KAAK;AACnB,QAAI,UAAU,KAAK;AAEnB,UAAM,MAAM,QAAQ,KAAK,aAAa,IAAI,KAAK,aAAa;AAC5D,UAAM,MAAM,SAAS,KAAK,aAAa,IAAI,KAAK,aAAa;AAC7D,UAAM,MAAM,OAAO,UAAU,KAAK,aAAa,KAAK,aAAa;AACjE,UAAM,MAAM,MAAM,UAAU,KAAK,aAAa,KAAK,aAAa;AAAA,EAClE;AAAA,EAEA,iBAAiB,MAAM,OAAO;AAC5B,UAAM,eAAe;AAErB,QAAI,MAAM,SAAS;AAEb,UAAA,MAAM,SAAS,GAAG;AACpB,aAAK,aAAa,KAAK,IAAI,IAAM,KAAK,aAAa,GAAG;AAAA,MAAA,OACjD;AACL,aAAK,aAAa,KAAK,IAAI,KAAK,KAAK,aAAa,GAAG;AAAA,MACvD;AAEA,WAAK,kBAAkB;AAAA,IAAA,OAClB;AAED,UAAA,MAAM,SAAS,EAAQ,MAAA,aAAa,KAAK,IAAI,KAAK,aAAa,GAAG,GAAG;AAAA,gBAC/D,aAAa,KAAK,IAAI,KAAK,aAAa,GAAG,CAAC;AAEtD,WAAK,mBAAmB,QAAQ,KAAK,WAAW,SAAS;AAEzD,WAAK,mBAAmB,IAAI;AAAA,IAC9B;AAAA,EACF;AAAA,EAEA,eAAe,MAAM,OAAO;AAC1B,SAAK,UAAU,MAAM;AACrB,SAAK,UAAU,MAAM;AAErB,SAAK,mBAAmB,IAAI;AAE5B,QAAI,MAAM,SAAS;AACjB,YAAM,eAAe;AAChB,WAAA,SAAS,MAAM,KAAK;AAAA,IAC3B;AAEA,QAAI,mBACD,OAAO,cAAc,iBAAiB,cAAe,MAAM,WAAW;AAErE,QAAA,MAAM,YAAY,kBAAkB;AACtC,WAAK,eAAe;AAEpB,YAAM,IAAI,MAAM;AACZ,UAAA,SAAS,KAAK,aAAa,KAAK;AACpC,WAAK,aAAa,KAAK;AAAA,QACrB,KAAK,IAAI,IAAM,KAAK,kBAAkB,KAAK;AAAA,QAC3C;AAAA,MAAA;AAGF,WAAK,kBAAkB;AACvB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,SAAS,MAAM,OAAO;AAChB,QAAA,MAAM,WAAW,GAAG;AACtB,UAAI,iBAAiB,aAAa;AAC5B,YAAA,SAAS,iBAAiB,cAAc,MAAM;AAC9C,YAAA,SAAS,iBAAiB,cAAc,MAAM;AAE7C,aAAA,QAAQ,KAAK,kBAAkB;AAC/B,aAAA,QAAQ,KAAK,kBAAkB;AAEpC,aAAK,kBAAkB;AAAA,MACzB;AAAA,IACF;AAAA,EACF;AAAA,EAEA,UAAU,MAAM,OAAO;AACjB,QAAA,MAAM,WAAW,MAAM,UAAU;AACnC;AAAA,IACF;AAEA,UAAM,eAAe;AAErB,SAAK,UAAU,MAAM;AACrB,SAAK,UAAU,MAAM;AAErB,SAAK,mBAAmB,IAAI;AAE5B,QAAI,mBACD,OAAO,cAAc,iBAAiB,cAAe,MAAM,WAAW;AACrE,QAAA,oBAAoB,CAAC,GAAG,GAAG,EAAE,EAAE,SAAS,MAAM,OAAO;AAErD,QAAA,CAAC,MAAM,UAAU,kBAAkB;AACrC,UAAI,OAAO,YAAY,IAAI,IAAI,KAAK;AAE9B,YAAA,WAAW,KAAK,WAAW,sBAAsB;AAEvD,UAAI,IAAI,MAAM;AACd,UAAI,IAAI,MAAM;AAEV,UAAA,MAAM,WAAW,MAAM;AACzB,YAAI,MAAM,cAAc,CAAC,EAAE,UAAU,SAAS;AAAA,MAChD;AAEI,UAAA,MAAM,WAAW,MAAM;AACzB,YAAI,MAAM,cAAc,CAAC,EAAE,UAAU,SAAS;AAAA,MAChD;AAEA,WAAK,KAAK;AACV,WAAK,KAAK;AAEV,UAAI,aAAa,KAAK;AACtB,UAAI,iBAAiB,gBAAgB,MAAM,eAAe,OAAO;AAC/D,sBAAc,MAAM;AACpB,aAAK,gBAAgB,MAAM;AAAA,MAAA,WAE3B,OAAO,cACP,iBAAiB,cACjB,OAAO,IACP;AAEA,sBAAc,KAAK;AAAA,MAAA,OACd;AACL,qBAAa,KAAK;AAAA,MACpB;AAEI,UAAA,OAAO,MAAM,CAAC,KAAK;AACrB,8BAAsB,MAAM;AAC1B,eAAK,QAAQ;AACR,eAAA,QAAQ,YAAY,KAAK,iBAAiB;AAC/C,eAAK,QAAQ,2BAA2B;AACnC,eAAA,QAAQ,IAAI,GAAG,GAAG,YAAY,GAAG,KAAK,KAAK,GAAG,KAAK;AACxD,eAAK,QAAQ;AACb,eAAK,QAAQ;AACb,eAAK,QAAQ;AAAA,QAAA,CACd;AAAA;AAED,8BAAsB,MAAM;AAC1B,eAAK,QAAQ;AACR,eAAA,QAAQ,YAAY,KAAK,iBAAiB;AAC/C,eAAK,QAAQ,2BAA2B;AAEpC,cAAA,KAAK,IAAI,KAAK;AACd,cAAA,KAAK,IAAI,KAAK;AAElB,cAAI,WAAW,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE;AAC1C,cAAI,aAAa,KAAK;AACtB,cAAI,aAAa,KAAK;AAEtB,mBAAS,IAAI,GAAG,IAAI,UAAU,KAAK,GAAG;AAChC,gBAAA,KAAK,KAAK,QAAQ,aAAa;AAC/B,gBAAA,KAAK,KAAK,QAAQ,aAAa;AAC9B,iBAAA,QAAQ,IAAI,IAAI,IAAI,YAAY,GAAG,KAAK,KAAK,GAAG,KAAK;AAC1D,iBAAK,QAAQ;UACf;AACA,eAAK,QAAQ;AACb,eAAK,QAAQ;AAAA,QAAA,CACd;AAEE,WAAA,WAAW,YAAY;IAClB,WAAA,MAAM,UAAU,oBAAqB,mBAAmB;AAC5D,YAAA,WAAW,KAAK,WAAW,sBAAsB;AACjDiB,YAAAA,MACH,MAAM,WAAW,MAAM,cAAc,CAAC,EAAE,UAAU,SAAS,QAC5D,KAAK;AACDC,YAAAA,MACH,MAAM,WAAW,MAAM,cAAc,CAAC,EAAE,UAAU,SAAS,OAC5D,KAAK;AAEP,UAAI,aAAa,KAAK;AACtB,UAAI,iBAAiB,gBAAgB,MAAM,eAAe,OAAO;AAC/D,sBAAc,MAAM;AACpB,aAAK,gBAAgB,MAAM;AAAA,MAAA,WAE3B,OAAO,cACP,iBAAiB,cACjB,OAAO,IACP;AACA,sBAAc,KAAK;AAAA,MAAA,OACd;AACL,qBAAa,KAAK;AAAA,MACpB;AAEI,UAAA,OAAO,MAAM,CAAC,KAAK;AAErB,8BAAsB,MAAM;AAC1B,eAAK,QAAQ;AACb,eAAK,QAAQ,2BAA2B;AACnC,eAAA,QAAQ,IAAID,IAAGC,IAAG,YAAY,GAAG,KAAK,KAAK,GAAG,KAAK;AACxD,eAAK,QAAQ;AACb,eAAK,QAAQD;AACb,eAAK,QAAQC;AAAAA,QAAA,CACd;AAAA;AAED,8BAAsB,MAAM;AAC1B,eAAK,QAAQ;AACb,eAAK,QAAQ,2BAA2B;AAEpC,cAAA,KAAKD,KAAI,KAAK;AACd,cAAA,KAAKC,KAAI,KAAK;AAElB,cAAI,WAAW,KAAK,KAAK,KAAK,KAAK,KAAK,EAAE;AAC1C,cAAI,aAAa,KAAK;AACtB,cAAI,aAAa,KAAK;AAEtB,mBAAS,IAAI,GAAG,IAAI,UAAU,KAAK,GAAG;AAChC,gBAAA,KAAK,KAAK,QAAQ,aAAa;AAC/B,gBAAA,KAAK,KAAK,QAAQ,aAAa;AAC9B,iBAAA,QAAQ,IAAI,IAAI,IAAI,YAAY,GAAG,KAAK,KAAK,GAAG,KAAK;AAC1D,iBAAK,QAAQ;UACf;AACA,eAAK,QAAQD;AACb,eAAK,QAAQC;AAAAA,QAAA,CACd;AAEE,WAAA,WAAW,YAAY;IAC9B;AAAA,EACF;AAAA,EAEA,kBAAkB,MAAM,OAAO;AAC7B,QAAI,MAAM,SAAS;AACb,UAAA,MAAM,WAAW,GAAG;AACtB,yBAAiB,cAAc,MAAM;AACrC,yBAAiB,cAAc,MAAM;AAErC,aAAK,kBAAkB,KAAK;AAC5B,aAAK,kBAAkB,KAAK;AAAA,MAC9B;AACA;AAAA,IACF;AAEA,QAAI,aAAa,KAAK;AACtB,QAAI,iBAAiB,gBAAgB,MAAM,eAAe,OAAO;AAC/D,oBAAc,MAAM;AACpB,WAAK,gBAAgB,MAAM;AAAA,IAC7B;AAEI,QAAA,CAAC,GAAG,GAAG,CAAC,EAAE,SAAS,MAAM,MAAM,GAAG;AACpC,WAAK,eAAe;AAEpB,YAAM,eAAe;AAErB,UAAI,MAAM,UAAU;AAClB,aAAK,aAAa,MAAM;AACxB,aAAK,kBAAkB,KAAK;AAC5B;AAAA,MACF;AAEM,YAAA,WAAW,KAAK,WAAW,sBAAsB;AACjD,YAAA,KACH,MAAM,WAAW,MAAM,cAAc,CAAC,EAAE,UAAU,SAAS,QAC5D,KAAK;AACD,YAAA,KACH,MAAM,WAAW,MAAM,cAAc,CAAC,EAAE,UAAU,SAAS,OAC5D,KAAK;AAEP,WAAK,QAAQ;AACb,UAAI,CAAC,MAAM,UAAU,MAAM,UAAU,GAAG;AACjC,aAAA,QAAQ,YAAY,KAAK,iBAAiB;AAC/C,aAAK,QAAQ,2BAA2B;AAAA,MAAA,OACnC;AACL,aAAK,QAAQ,2BAA2B;AAAA,MAC1C;AACK,WAAA,QAAQ,IAAI,GAAG,GAAG,YAAY,GAAG,KAAK,KAAK,GAAG,KAAK;AACxD,WAAK,QAAQ;AACb,WAAK,QAAQ;AACb,WAAK,QAAQ;AACR,WAAA,WAAW,YAAY;IAC9B;AAAA,EACF;AAAA,EAEA,MAAM,OAAO;AACL,UAAA,eAAe,SAAS,cAAc,QAAQ;AAC9C,UAAA,YAAY,aAAa,WAAW,MAAM;AAAA,MAC9C,oBAAoB;AAAA,IAAA,CACrB;AACY,iBAAA,QAAQ,KAAK,MAAM;AACnB,iBAAA,SAAS,KAAK,MAAM;AAEjC,cAAU,UAAU,GAAG,GAAG,aAAa,OAAO,aAAa,MAAM;AACvD,cAAA;AAAA,MACR,KAAK;AAAA,MACL;AAAA,MACA;AAAA,MACA,KAAK,WAAW;AAAA,MAChB,KAAK,WAAW;AAAA,MAChB;AAAA,MACA;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,IAAA;AAIf,UAAM,aAAa,UAAU;AAAA,MAC3B;AAAA,MACA;AAAA,MACA,aAAa;AAAA,MACb,aAAa;AAAA,IAAA;AAIf,aAAS,IAAI,GAAG,IAAI,WAAW,KAAK,QAAQ,KAAK,GAAG;AAC9C,UAAA,WAAW,KAAK,IAAI,CAAC,KAAK,IAAgB,YAAA,KAAK,IAAI,CAAC,IAAI;AAAA,UAC5C,YAAA,KAAK,IAAI,CAAC,IAAI;AAEnB,iBAAA,KAAK,CAAC,IAAI;AACV,iBAAA,KAAK,IAAI,CAAC,IAAI;AACd,iBAAA,KAAK,IAAI,CAAC,IAAI;AAAA,IAC3B;AAEA,cAAU,2BAA2B;AAC3B,cAAA,aAAa,YAAY,GAAG,CAAC;AAEjC,UAAA,WAAW,IAAI;AACrB,UAAM,WAAW,oBAAoB,YAAY,IAAA,IAAQ;AAEzD,UAAM,OAAO;AAAA,MACX;AAAA,MACA,WAAW;AAAA,MACX,MAAM;AAAA,IAAA;AAGR,QAAI,SAAS,UAAU,iBAAiB,UAAU,OAAO,CAAC,IAAI;AAE1D,QAAA,SAAS,UAAU,SAAS;AACxB,YAAA,QAAQ,SAAS,UAAU,QAAQ;AAAA,QACvC,CAAC,QAAQ,IAAI,SAAS;AAAA,MAAA;AAGxB,UAAI,SAAS,EAAG,UAAS,UAAU,QAAQ,KAAK,EAAE,QAAQ;AAAA,IAC5D;AAEM,UAAA,UAAU,aAAa;AACvB,UAAA,OAAO,cAAc,OAAO;AAElC,QAAI,eAAe,IAAI,IAAI,KAAK,MAAM,GAAG;AAIzC,UAAM,eAAoB;AAAA,MACxB,UAAU,aAAa,aAAa,IAAI,UAAU;AAAA,IAAA;AAGpD,QAAI,qBAAqB,aAAa,aAAa,IAAI,WAAW;AAC9D,QAAA,iCAAiC,YAAY;AAEjD,QAAI,gBAAgB,aAAa,aAAa,IAAI,MAAM;AACpD,QAAA,4BAA4B,OAAO;AAE9B,aAAA,OAAO,SAAS,MAAM,QAAQ;AACvC,aAAS,OAAO,gBAAgB,KAAK,UAAU,YAAY,CAAC;AACnD,aAAA,OAAO,QAAQ,OAAO;AACtB,aAAA,OAAO,aAAa,WAAW;AAExC,SAAK,WAAW,YAAY;AAC5B,SAAK,WAAW,WAAW;AACrB,UAAA,WAAW,MAAM,QAAQ;AAC/B,aAAS,sBAAsB;AAC/B,SAAK,MAAM;AAAA,EACb;AACF;AAEA,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,KAAKlB,MAAK;AACR,aAAS,kBAAkB,WAAY;AAC/B,YAAA,MAAM,iBAAiB;AACzB,UAAA,CAAC,IAAI,YAAY;AACnB,YAAI,KAAK;AAAA,MACX;AAAA,IAAA;AAGI,UAAA,oBAAoB,6BACxB,SAAS,aACT,SAAS,UAAU,QACnB,SAAS,UAAU,KAAK,SAAS,GAHT;AAIV,oBAAA;AAAA,MACd;AAAA,MACA;AAAA,MACA,SAAS;AAAA,IAAA;AAAA,EAEb;AACF,CAAC;ACxhCD,MAAM,KAAK;AACX,MAAM,OAAO;AAEb,MAAM,wBAAwB,YAAY;AAAA,SAAA;AAAA;AAAA;AAAA,EACxC;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EAEA,cAAc;AACN;AACN,SAAK,KAAK,EAAE,KAAK,CAAC,MAAM;AACtB,WAAK,YAAY;AAAA,IAAA,CAClB;AAEI,SAAA,QAAQ,UAAU,IAAI,wBAAwB;AACnD,SAAK,YAAY;AACjB,SAAK,gBAAgB;AAChB,SAAA,WAAW,IAAI;AACpB,SAAK,SAAS,MACZ;AAEG,SAAA,cAAc,IAAI,SAAS;AAAA,MAC9B,MAAM;AAAA,MACN,QAAQ;AAAA,MACR,UAAU;AAAA,MACV,OAAO,EAAE,SAAS,OAAO;AAAA,MACzB,QAAQ,SAAS;AAAA,MACjB,UAAU,6BAAM,KAAK,UAAU,GAArB;AAAA,IAAqB,CAChC;AAAA,EACH;AAAA,EAEA,gBAAgB;AACR,UAAA,OAAO,MAAM;AACd,SAAA,CAAC,EAAE,cAAc;AACtB,SAAK,CAAC,EAAE,UAAU,CAAC,MAAM;AACvB,mBAAa,KAAK,aAAa;AAC/B,WAAK,MAAM;AAAA,IAAA;AAER,SAAA;AAAA,MACH,IAAI,UAAU;AAAA,QACZ,MAAM;AAAA,QACN,aAAa;AAAA,QACb,SAAS,6BAAM,KAAK,UAAU,GAArB;AAAA,MAAqB,CAC/B;AAAA,IAAA;AAEE,SAAA;AAAA,MACH,IAAI,UAAU;AAAA,QACZ,MAAM;AAAA,QACN,aAAa;AAAA,QACb,SAAS,6BAAM;AACb,eAAK,YAAY;QACnB,GAFS;AAAA,MAET,CACD;AAAA,IAAA;AAEI,WAAA;AAAA,EACT;AAAA,EAEA,MAAM,OAAO;AACX,QAAI,YAAY,CAAA;AACZ,QAAA,IAAI,oBAAoB,UAAU;AACpC,UAAI,IAAI,kBAAkB;AAElB,cAAA,OAAO,aAAa,QAAQ,EAAE;AACpC,YAAI,MAAM;AACI,sBAAA,KAAK,MAAM,IAAI;AAAA,QAC7B;AACA,cAAM,IAAI,cAAc,MAAM,MAAM,EAAE,WAAW,OAAO;AAAA,MAAA,OACnD;AACL,cAAM,MAAM,MAAM,IAAI,YAAY,IAAI;AAClC,YAAA,IAAI,WAAW,KAAK;AAClB,cAAA;AACU,wBAAA,MAAM,IAAI;mBACf,OAAO;AAAA,UAAC;AAAA,QAAA,WACR,IAAI,WAAW,KAAK;AAC7B,kBAAQ,MAAM,IAAI,SAAS,MAAM,IAAI,UAAU;AAAA,QACjD;AAAA,MACF;AAAA,IAAA,OACK;AACC,YAAA,OAAO,aAAa,QAAQ,EAAE;AACpC,UAAI,MAAM;AACI,oBAAA,KAAK,MAAM,IAAI;AAAA,MAC7B;AAAA,IACF;AAEA,WAAO,aAAa,CAAA;AAAA,EACtB;AAAA,EAEA,MAAM,QAAQ;AACR,QAAA,IAAI,oBAAoB,UAAU;AACpC,YAAM,YAAY,KAAK,UAAU,KAAK,WAAW,QAAW,CAAC;AAChD,mBAAA,QAAQ,IAAI,SAAS;AAC9B,UAAA;AACF,cAAM,IAAI,cAAc,MAAM,WAAW,EAAE,WAAW,OAAO;AAAA,eACtD,OAAO;AACd,gBAAQ,MAAM,KAAK;AACnB,cAAM,MAAM,OAAO;AAAA,MACrB;AAAA,IAAA,OACK;AACL,mBAAa,QAAQ,IAAI,KAAK,UAAU,KAAK,SAAS,CAAC;AAAA,IACzD;AAAA,EACF;AAAA,EAEA,MAAM,YAAY;AACLE,eAAAA,SAAQ,KAAK,YAAY,OAAO;AACzC,UAAIA,MAAK,SAAS,sBAAsBA,MAAK,KAAK,SAAS,OAAO,GAAG;AAC7D,cAAA,SAAS,IAAI;AACnB,eAAO,SAAS,YAAY;AAC1B,gBAAM,aAAa,KAAK,MAAM,OAAO,MAAgB;AACrD,cAAI,YAAY,WAAW;AACd,uBAAA,YAAY,WAAW,WAAW;AACvC,kBAAA,UAAU,QAAQ,UAAU,MAAM;AAC/B,qBAAA,UAAU,KAAK,QAAQ;AAAA,cAC9B;AAAA,YACF;AACA,kBAAM,KAAK;UACb;AAAA,QAAA;AAEI,cAAA,OAAO,WAAWA,KAAI;AAAA,MAC9B;AAAA,IACF;AAEA,SAAK,YAAY,QAAQ;AAEzB,SAAK,MAAM;AAAA,EACb;AAAA,EAEA,YAAY;AACN,QAAA,KAAK,UAAU,UAAU,GAAG;AAC9B,YAAM,yBAAyB;AAC/B;AAAA,IACF;AAEM,UAAA,OAAO,KAAK,UAAU,EAAE,WAAW,KAAK,UAAa,GAAA,MAAM,CAAC;AAC5D,UAAA,OAAO,IAAI,KAAK,CAAC,IAAI,GAAG,EAAE,MAAM,mBAAA,CAAoB;AACpD,UAAA,MAAM,IAAI,gBAAgB,IAAI;AAC9B,UAAA,IAAI,IAAI,KAAK;AAAA,MACjB,MAAM;AAAA,MACN,UAAU;AAAA,MACV,OAAO,EAAE,SAAS,OAAO;AAAA,MACzB,QAAQ,SAAS;AAAA,IAAA,CAClB;AACD,MAAE,MAAM;AACR,eAAW,WAAY;AACrB,QAAE,OAAO;AACF,aAAA,IAAI,gBAAgB,GAAG;AAAA,OAC7B,CAAC;AAAA,EACN;AAAA,EAEA,OAAO;AAEC,UAAA;AAAA,MACJ;AAAA,QACE;AAAA,QACA,CAAC;AAAA,QACD,KAAK,UAAU,QAAQ,CAAC,GAAG,MAAM;AAC3B,cAAA;AACG,iBAAA;AAAA,YACL;AAAA,cACE;AAAA,cACA;AAAA,gBACE,SAAS,EAAE,IAAI,EAAE,WAAW;AAAA,gBAC5B,WAAW;AAAA,gBACX,OAAO;AAAA,kBACL,SAAS;AAAA,kBACT,qBAAqB;AAAA,kBACrB,QAAQ;AAAA,kBACR,KAAK;AAAA,kBACL,iBAAiB;AAAA,gBACnB;AAAA,gBACA,aAAa,wBAAC,MAAM;AAClB,uBAAK,YAAY,EAAE;AACjB,oBAAA,cAAc,MAAM,UAAU;AAC9B,oBAAA,cAAc,MAAM,SAAS;AAC/B,oBAAE,aAAa,gBAAgB;AAC/B,oBAAE,aAAa,aAAa,KAAK,UAAU,GAAG,CAAC;AAAA,gBACjD,GANa;AAAA,gBAOb,WAAW,wBAAC,MAAM;AACd,oBAAA,OAAO,MAAM,UAAU;AACvB,oBAAA,cAAc,MAAM,SAAS;AAC7B,oBAAA,cAAc,gBAAgB,WAAW;AAG3C,uBAAK,QACF,iBAAiB,qBAAqB,EACtC,QAAQ,CAAC,IAAiBY,OAAM;AAC/B,wBAAI,SAAS,OAAO,SAAS,GAAG,QAAQ,EAAE;AAE1C,wBAAI,MAAM,KAAK,aAAa,UAAUA,IAAG;AACvC,2BAAK,UAAU;AAAA,wBACbA;AAAAA,wBACA;AAAA,wBACA,KAAK,UAAU,OAAO,QAAQ,CAAC,EAAE,CAAC;AAAA,sBAAA;AAAA,oBAEtC;AACG,uBAAA,QAAQ,KAAKA,GAAE,SAAS;AAAA,kBAAA,CAC5B;AACH,uBAAK,MAAM;AAAA,gBACb,GArBW;AAAA,gBAsBX,YAAY,wBAAC,MAAM;AACjB,oBAAE,eAAe;AACb,sBAAA,EAAE,iBAAiB,KAAK,UAAW;AAEnC,sBAAA,OAAO,EAAE,cAAc,sBAAsB;AACjD,sBAAI,EAAE,UAAU,KAAK,MAAM,KAAK,SAAS,GAAG;AAC1C,sBAAE,cAAc,WAAW;AAAA,sBACzB,KAAK;AAAA,sBACL,EAAE,cAAc;AAAA,oBAAA;AAAA,kBAClB,OACK;AACL,sBAAE,cAAc,WAAW;AAAA,sBACzB,KAAK;AAAA,sBACL,EAAE;AAAA,oBAAA;AAAA,kBAEN;AAAA,gBACF,GAhBY;AAAA,cAiBd;AAAA,cACA;AAAA,gBACE;AAAA,kBACE;AAAA,kBACA;AAAA,oBACE,aAAa;AAAA,oBACb,OAAO;AAAA,sBACL,QAAQ;AAAA,oBACV;AAAA,oBACA,aAAa,wBAAC,MAAM;AAEd,0BAAA,EAAE,OAAO,aAAa;AACtB,0BAAA,cAAc,WAAW,YAAY;AAAA,oBAC3C,GAJa;AAAA,kBAKf;AAAA,kBACA;AAAA,oBACE,IAAI,SAAS;AAAA,sBACX,OAAO,EAAE;AAAA,sBACT,SAAS,EAAE,MAAM,EAAE,KAAK;AAAA,sBACxB,OAAO;AAAA,wBACL,oBAAoB;AAAA,wBACpB,oBAAoB;AAAA,sBACtB;AAAA,sBACA,UAAU,wBAAC,MAAM;AACf,qCAAa,KAAK,aAAa;AAC/B,4BAAI,KAAK,EAAE;AACP,4BAAA,MAAM,GAAG,WAAW;AACnB,6BAAA,UAAU,IAAI,QAAQ,EAAE,EAAE,OAC7B,GAAG,MAAM,KAAA,KAAU;AACrB,6BAAK,MAAM;AACX,2BAAG,MAAM,kBAAkB;AAC3B,2BAAG,MAAM,qBAAqB;AAGzB,6BAAA,gBAAgB,WAAW,WAAY;AAC1C,6BAAG,MAAM,qBAAqB;AAC9B,6BAAG,MAAM,kBAAkB;AAAA,2BAC1B,EAAE;AAAA,sBACP,GAfU;AAAA,sBAgBV,YAAY,wBAAC,MAAM;AACjB,4BAAI,KAAK,EAAE;AACX,qCAAa,KAAK,aAAa;AAC/B,2BAAG,MAAM,qBAAqB;AAC9B,2BAAG,MAAM,kBAAkB;AAAA,sBAC7B,GALY;AAAA,sBAMZ,GAAG,wBAAC,OAAQ,YAAY,IAArB;AAAA,oBAAqB,CACzB;AAAA,kBACH;AAAA,gBACF;AAAA,gBACA,IAAI,OAAO,IAAI;AAAA,kBACb,IAAI,UAAU;AAAA,oBACZ,aAAa;AAAA,oBACb,OAAO;AAAA,sBACL,UAAU;AAAA,sBACV,YAAY;AAAA,oBACd;AAAA,oBACA,SAAS,wBAAC,MAAM;AACR,4BAAA,OAAO,KAAK,UAAU,EAAE,WAAW,CAAC,CAAC,EAAK,GAAA,MAAM,CAAC;AACvD,4BAAM,OAAO,IAAI,KAAK,CAAC,IAAI,GAAG;AAAA,wBAC5B,MAAM;AAAA,sBAAA,CACP;AACK,4BAAA,MAAM,IAAI,gBAAgB,IAAI;AAC9B,4BAAA,IAAI,IAAI,KAAK;AAAA,wBACjB,MAAM;AAAA,wBACN,WAAW,UAAU,SAAS,EAAE,QAAQ;AAAA,wBACxC,OAAO,EAAE,SAAS,OAAO;AAAA,wBACzB,QAAQ,SAAS;AAAA,sBAAA,CAClB;AACD,wBAAE,MAAM;AACR,iCAAW,WAAY;AACrB,0BAAE,OAAO;AACF,+BAAA,IAAI,gBAAgB,GAAG;AAAA,yBAC7B,CAAC;AAAA,oBACN,GAjBS;AAAA,kBAiBT,CACD;AAAA,kBACD,IAAI,UAAU;AAAA,oBACZ,aAAa;AAAA,oBACb,OAAO;AAAA,sBACL,UAAU;AAAA,sBACV,OAAO;AAAA,sBACP,YAAY;AAAA,oBACd;AAAA,oBACA,SAAS,wBAAC,MAAM;AACR,4BAAA,OAAO,EAAE,OAAO,WAAW;AAC5B,2BAAA,WAAW,YAAY,IAAI;AAChC,2BAAK,UAAU,OAAO,KAAK,QAAQ,KAAK,GAAG,CAAC;AAC5C,2BAAK,MAAM;AAEX,0BAAI,OAAO;AACX,iCAAW,WAAY;AACrB,6BAAK,QACF,iBAAiB,qBAAqB,EACtC,QAAQ,CAAC,IAAiBA,OAAM;AAC5B,6BAAA,QAAQ,KAAKA,GAAE,SAAS;AAAA,wBAAA,CAC5B;AAAA,yBACF,CAAC;AAAA,oBACN,GAdS;AAAA,kBAcT,CACD;AAAA,gBAAA,CACF;AAAA,cACH;AAAA,YACF;AAAA,UAAA;AAAA,QACF,CACD;AAAA,MACH;AAAA,IAAA;AAAA,EAEJ;AACF;AAEA,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,QAAQ;AACA,UAAA,SAAS,IAAI;AAEb,UAAA,kBAAkB,8BAAO,OAAO;AAG9B,YAAA,MAAM,aAAa,QAAQ,2BAA2B;AAC5D,YAAM,GAAG;AACI,mBAAA,QAAQ,6BAA6B,GAAG;AAAA,IAAA,GAL/B;AAQlB,UAAA,OAAO,aAAa,UAAU;AACvB,iBAAA,UAAU,uBAAuB,WAAY;AACxD,YAAM,UAAU,KAAK,MAAM,MAAM,SAAS;AAE1C,cAAQ,KAAK,IAAI;AACjB,cAAQ,KAAK;AAAA,QACX,SAAS;AAAA,QACT,UAAU,CAAC,OAAO,KAAK,IAAI,OAAO,kBAAkB,CAAE,CAAA,EAAE;AAAA,QACxD,UAAU,6BAAM;AACR,gBAAA,OAAO,OAAO,YAAY;AAC5B,cAAA,CAAC,MAAM,KAAA,EAAQ;AAEnB,0BAAgB,MAAM;AACpB,gBAAI,OAAO;AACP,gBAAA,OAAO,aAAa,QAAQ,2BAA2B;AACpD,mBAAA,KAAK,MAAM,IAAI;AACtB,kBAAM,UAAU,OAAO,KAAK,IAAI,OAAO,cAAc;AACrD,qBAAS,IAAI,GAAG,IAAI,QAAQ,QAAQ,KAAK;AACjC,oBAAA,OAAO,IAAI,MAAM,YAAY,OAAO,SAAS,QAAQ,CAAC,CAAC,CAAC;AAExD,oBAAA,WAAW,MAAM,YAAY;AAE/B,kBAAA,YAAY,iBAAiB,aAAa,IAAI;AAClD,kBAAI,WAAW;AACb,4BAAY,UAAU;AAElB,oBAAA,CAAC,KAAK,YAAY;AAEpB,uBAAK,aAAa;gBACpB;AAEK,qBAAA,WAAW,SAAS,IAAI,IAAI;AAEjC,qBAAK,MAAM,CAAC,EAAE,OAAO,SAAS;AAAA,cAChC;AAAA,YACF;AAEA,mBAAO,UAAU,KAAK;AAAA,cACpB;AAAA,cACA,MAAM,KAAK,UAAU,IAAI;AAAA,YAAA,CAC1B;AACD,mBAAO,MAAM;AAAA,UAAA,CACd;AAAA,QACH,GAnCU;AAAA,MAmCV,CACD;AAGD,YAAM,WAAW,OAAO,UAAU,IAAI,CAAC,MAAM;AACpC,eAAA;AAAA,UACL,SAAS,EAAE;AAAA,UACX,UAAU,6BAAM;AACd,4BAAgB,YAAY;AAC1B,oBAAM,OAAO,KAAK,MAAM,EAAE,IAAI;AAC9B,oBAAM,gBAAgB,qBAAqB,KAAK,YAAY,CAAE,CAAA;AACjD,2BAAA,QAAQ,6BAA6B,EAAE,IAAI;AACxD,kBAAI,OAAO;YAAmB,CAC/B;AAAA,UACH,GAPU;AAAA,QAOV;AAAA,MACF,CACD;AAED,eAAS,KAAK,MAAM;AAAA,QAClB,SAAS;AAAA,QACT,UAAU,6BAAM,OAAO,KAAK,GAAlB;AAAA,MAAkB,CAC7B;AAED,cAAQ,KAAK;AAAA,QACX,SAAS;AAAA,QACT,SAAS;AAAA,UACP,SAAS;AAAA,QACX;AAAA,MAAA,CACD;AAEM,aAAA;AAAA,IAAA;AAAA,EAEX;AACF,CAAC;AC/aD,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,sBAAsB;AAAA,IACpB,MAAM,iBAAiB,WAAW;AAAA,aAAA;AAAA;AAAA;AAAA,MAChC,OAAO;AAAA,MAEP,QAAQ,aAAa,YAAY,OAAO;AAAA,MACxC,UAAU,aAAa,YAAY,OAAO;AAAA,MAC1C,aAAa,aAAa,YAAY,OAAO;AAAA,MAC7C;AAAA,MACA;AAAA,MACA;AAAA,MAEA,YAAY,OAAgB;AAC1B,cAAM,KAAK;AACP,YAAA,CAAC,KAAK,YAAY;AACf,eAAA,aAAa,EAAE,MAAM,GAAG;AAAA,QAC/B;AACa,qBAAA;AAAA;AAAA,UAEX;AAAA,UACA;AAAA;AAAA,UAEA,CAAC,IAAI,EAAE,SAAS,KAAK,WAAW,MAAM,WAAW,MAAM;AAAA,UACvD;AAAA,QAAA;AAGF,aAAK,oBAAoB;AACzB,aAAK,gBAAgB;AAAA,MACvB;AAAA,IACF;AAIU,cAAA;AAAA,MACR;AAAA,MACA,OAAO,OAAO,UAAU;AAAA,QACtB,YAAY,UAAU;AAAA,QACtB,OAAO;AAAA,QACP,aAAa;AAAA,MAAA,CACd;AAAA,IAAA;AAGH,aAAS,WAAW;AAAA,EACtB;AACF,CAAC;AC7CD,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,oBAAoBd,MAAK;AAAA,IAKvB,MAAM,oBAAoB,WAAW;AAAA,aAAA;AAAA;AAAA;AAAA,MACnC,OAAO;AAAA,MACP,OAAO,oBAAoB;AAAA,MAE3B,YAAY,OAAgB;AAC1B,cAAM,KAAK;AACP,YAAA,CAAC,KAAK,YAAY;AACpB,eAAK,aAAa;QACpB;AACK,aAAA,WAAW,iBAAiB,YAAY;AAC7C,aAAK,WAAW,aAAa;AAExB,aAAA,SAAS,IAAI,GAAG;AACrB,aAAK,UAAU,KAAK,WAAW,iBAAiB,MAAM,IAAI,GAAG;AAE7D,aAAK,yBAAyB,WAAY;AACxC,gCAAsB,MAAM;AAC1B,iBAAK,oBAAoB,UAAU,OAAO,MAAM,MAAM,IAAI;AAAA,UAAA,CAC3D;AAAA,QAAA;AAGH,aAAK,sBAAsB,SACzB,MACA,OACA,WACA,WACA;AACA,eAAK,iBAAiB;AAGlB,cAAA,aAAa,SAAS,UAAU,QAAQ;AAE1C,kBAAM,QAAQ,IAAI;AAAA,cAChB,KAAK,QAAQ,CAAC,EAAE,MACb,IAAI,CAAC,MAAMA,KAAI,MAAM,MAAM,CAAC,EAAE,IAAI,EAClC,OAAO,CAAC,MAAM,MAAM,GAAG;AAAA,YAAA;AAExB,gBAAA,MAAM,OAAO,GAAG;AAClB,oBAAM,oBAAoB,CAAA;AACjB,uBAAA,IAAI,GAAG,IAAI,KAAK,QAAQ,CAAC,EAAE,MAAM,SAAS,GAAG,KAAK;AACzD,sBAAM,SAAS,KAAK,QAAQ,CAAC,EAAE,MAAM,CAAC;AACtC,sBAAM,OAAOA,KAAI,MAAM,MAAM,MAAM;AACnC,kCAAkB,KAAK,IAAI;AAAA,cAC7B;AACA,yBAAW,QAAQ,mBAAmB;AACpC,sBAAM,OAAOA,KAAI,MAAM,YAAY,KAAK,SAAS;AAC5C,qBAAA,gBAAgB,KAAK,WAAW;AAAA,cACvC;AAAA,YACF;AAAA,UACF;AAGA,cAAI,cAAc;AAClB,cAAI,cAAc,CAAA;AAClB,cAAI,YAAY;AAChB,cAAI,YAAY;AAChB,iBAAO,aAAa;AAClB,wBAAY,QAAQ,WAAW;AAC/B,kBAAM,SAAS,YAAY,OAAO,CAAC,EAAE;AACrC,gBAAI,WAAW,MAAM;AACnB,oBAAM,OAAOA,KAAI,MAAM,MAAM,MAAM;AACnC,kBAAI,CAAC,KAAM;AACX,oBAAM,OAAOA,KAAI,MAAM,YAAY,KAAK,SAAS;AAC3CQ,oBAAAA,QAAO,KAAK,YAAY;AAC9B,kBAAIA,UAAS,WAAW;AACtB,oBAAI,SAAS,MAAM;AAEL,8BAAA,gBAAgB,KAAK,WAAW;AAC9B,gCAAA;AAAA,gBAAA,OACT;AAES,gCAAA;AAAA,gBAChB;AAAA,cAAA,OACK;AAEO,4BAAA;AACZ,4BAAY,KAAK,QAAQ,KAAK,WAAW,GAAG,QAAQ;AACpD;AAAA,cACF;AAAA,YAAA,OACK;AAES,4BAAA;AACd;AAAA,YACF;AAAA,UACF;AAGM,gBAAA,QAAQ,CAAC,IAAI;AACnB,cAAI,aAAa;AACjB,iBAAO,MAAM,QAAQ;AACnB,0BAAc,MAAM;AACd,kBAAA,WACH,YAAY,UAAU,YAAY,QAAQ,CAAC,EAAE,QAAQ,CAAC,MAAM;AAC/D,gBAAI,QAAQ,QAAQ;AAClB,yBAAW,UAAU,SAAS;AAC5B,sBAAM,OAAOR,KAAI,MAAM,MAAM,MAAM;AAGnC,oBAAI,CAAC,KAAM;AAEX,sBAAM,OAAOA,KAAI,MAAM,YAAY,KAAK,SAAS;AAC3CQ,sBAAAA,QAAO,KAAK,YAAY;AAE9B,oBAAIA,UAAS,WAAW;AAEtB,wBAAM,KAAK,IAAI;AACf,8BAAY,KAAK,IAAI;AAAA,gBAAA,OAChB;AAEL,wBAAM,cACJ,KAAK,UACL,KAAK,OAAO,MAAM,WAAW,KAC7B,KAAK,OAAO,KAAK,WAAW,EAAE,OAC1B,KAAK,OAAO,KAAK,WAAW,EAAE,OAC9B;AACN,sBACE,aACA,cAAc,OACd,gBAAgB,WAChB;AAEK,yBAAA,gBAAgB,KAAK,WAAW;AAAA,kBAAA,OAChC;AACQ,iCAAA;AAAA,kBACf;AAAA,gBACF;AAAA,cACF;AAAA,YAAA,OACK;AAAA,YAEP;AAAA,UACF;AAEM,gBAAA,cAAc,aAAa,cAAc;AACzC,gBAAA,QAAQ,aAAa,iBAAiB,WAAW;AAEnD,cAAA;AACA,cAAA;AACA,cAAA;AAEJ,qBAAW,QAAQ,aAAa;AAG9B,iBAAK,QAAQ,CAAC,EAAE,OAAO,aAAa;AACpC,iBAAK,eAAe;AACpB,iBAAK,QAAQ,CAAC,EAAE,OAAO,KAAK,WAAW,iBACnC,cACA;AACC,iBAAA,OAAO,KAAK;AACjB,iBAAK,iBAAiB;AAEtB,uBAAW,KAAK,KAAK,QAAQ,CAAC,EAAE,SAAS,IAAI;AAC3C,oBAAM,OAAOR,KAAI,MAAM,MAAM,CAAC;AAC9B,kBAAI,MAAM;AACR,qBAAK,QAAQ;AAEb,oBAAIA,KAAI,iBAAkB;AAC1B,sBAAM,aAAaA,KAAI,MAAM,YAAY,KAAK,SAAS;AACvD,sBAAM,cAAc,WAAW,SAAS,KAAK,WAAW;AACxD,oBAAI,aAAa,QAAQ;AACjB,wBAAA,SAAS,gBAAgB,WAAW;AAC1C,sBAAI,CAAC,cAAc;AACF,mCAAA,OAAO,CAAC,KAAK;AAC5B,iCAAa,OAAO,CAAC;AAAA,kBACvB;AACA,sBAAI,CAAC,cAAc;AACjB,mCAAe,WAAW,SAAS;AAAA,sBACjC,CAAC,MAAM,EAAE,SAAS,YAAY,OAAO;AAAA,oBAAA;AAAA,kBAEzC;AAEM,wBAAA,SAAS,aAAa,aAAa;AAAA,oBACvC,OAAO,CAAC;AAAA,oBACR;AAAA,kBAAA,CACD;AACD,sBAAI,OAAO,cAAc;AACvB,mCAAe,OAAO;AAAA,kBACxB;AAAA,gBACF;AAAA,cACF;AAAA,YACF;AAAA,UACF;AAEA,qBAAW,QAAQ,aAAa;AAC9B,gBAAI,gBAAgB,YAAY;AAC9B,mBAAK,OAAO,CAAC,EAAE,SAAS,EAAE,MAAM;AAChC;AAAA,gBACE,KAAK,OAAO,CAAC;AAAA,gBACb,CAAC,cAAc,aAAa,YAAY;AAAA,gBACxC;AAAA,cAAA;AAAA,YACF,OACK;AACL,8BAAgB,KAAK,OAAO,CAAC,GAAG,IAAI;AAAA,YACtC;AAAA,UACF;AAEA,cAAI,WAAW;AACP,kBAAA,OAAOA,KAAI,MAAM,MAAM,UAAU,OAAO,CAAC,EAAE,IAAI;AACrD,gBAAI,MAAM;AACR,mBAAK,QAAQ;AAAA,YACf;AAAA,UACF;AAAA,QAAA;AAGF,aAAK,QAAQ,WAAY;AACvB,gBAAM,SAAS,YAAY,UAAU,MAAM,MAAM,IAAI;AACrD,iBAAO,aAAa,CAAC;AACrB,iBAAO,UAAU,KAAK,WAAW,iBAAiB,MAAM,IAAI,GAAG;AACxD,iBAAA,OAAO,OAAO;AACd,iBAAA;AAAA,QAAA;AAIT,aAAK,gBAAgB;AAAA,MACvB;AAAA,MAEA,oBAAoB,GAAG,SAAS;AACtB,gBAAA;AAAA,UACN;AAAA,YACE,UACG,KAAK,WAAW,iBAAiB,SAAS,UAAU;AAAA,YACvD,UAAU,6BAAM;AACd,mBAAK,WAAW,iBAAiB,CAAC,KAAK,WAAW;AAC9C,kBAAA,KAAK,WAAW,gBAAgB;AAC7B,qBAAA,QAAQ,CAAC,EAAE,OACd,KAAK,gBAAiB,KAAK,QAAQ,CAAC,EAAE;AAAA,cAAA,OACnC;AACA,qBAAA,QAAQ,CAAC,EAAE,OAAO;AAAA,cACzB;AACK,mBAAA,OAAO,KAAK;AACjB,mBAAK,iBAAiB;AACtBA,mBAAI,MAAM,eAAe,MAAM,IAAI;AAAA,YACrC,GAXU;AAAA,UAYZ;AAAA,UACA;AAAA,YACE,UACG,YAAY,oBAAoB,SAAS,UAC1C;AAAA,YACF,UAAU,6BAAM;AACF,0BAAA;AAAA,gBACV,CAAC,YAAY;AAAA,cAAA;AAAA,YAEjB,GAJU;AAAA,UAKZ;AAAA,UACA;AAAA;AAAA;AAAA;AAAA;AAAA,YAKE,SACE,UAAU,KAAK,WAAW,aAAa,eAAe;AAAA,YACxD,UAAU,6BAAM;AACd,mBAAK,WAAW,aAAa,CAAC,KAAK,WAAW;AAC9C,mBAAK,iBAAiB;AAAA,YACxB,GAHU;AAAA,UAIZ;AAAA,QAAA;AAAA,MAEJ;AAAA,MACA,mBAAmB;AACZ,aAAA,aAAa,KAAK,WAAW;AAClC,YAAI,KAAK,YAAY;AAId,eAAA,OAAO,CAAC,EAAE,MAAM,CAAC,KAAK,KAAK,CAAC,IAAI,GAAG,CAAC;AAAA,QAAA,OACpC;AACE,iBAAA,KAAK,OAAO,CAAC,EAAE;AAAA,QACxB;AACAA,aAAI,MAAM,eAAe,MAAM,IAAI;AAAA,MACrC;AAAA,MAEA,cAAgC;AACvB,eAAA;AAAA,UACL,KAAK,WAAW,kBAAkB,KAAK,WAAW,KAAK,QAAQ,SAC3D,KAAK;AAAA,YACH;AAAA,YACA,UAAU,iBAAiB,KAAK,QAAQ,CAAC,EAAE,KAAK,SAAS,MACvD;AAAA,UAAA,IAEJ;AAAA,UACJ;AAAA,QAAA;AAAA,MAEJ;AAAA,MAEA,OAAO,yBAAyB,SAAS;AACvC,oBAAY,oBAAoB;AAChC,YAAI,SAAS;AACX,uBAAa,qCAAqC,IAAI;AAAA,QAAA,OACjD;AACL,iBAAO,aAAa,qCAAqC;AAAA,QAC3D;AAAA,MACF;AAAA,IACF;AAGY,gBAAA;AAAA,MACV,CAAC,CAAC,aAAa,qCAAqC;AAAA,IAAA;AAG5C,cAAA;AAAA,MACR;AAAA,MACA,OAAO,OAAO,aAAa;AAAA,QACzB,YAAY,UAAU;AAAA,QACtB,OAAO;AAAA,QACP,aAAa;AAAA,MAAA,CACd;AAAA,IAAA;AAGH,gBAAY,WAAW;AAAA,EACzB;AACF,CAAC;AC9TD,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,MAAM,sBAAsB,UAAU,UAAUA,MAAK;AACnD,QAAI,SAAS,SAAS,eAAe,SAAS,SAAS,oBAAoB;AACnE,YAAA,gBAAgB,SAAS,UAAU;AAEhC,eAAA,UAAU,gBAAgB,WAAY;AAC7C,cAAM,IAAI,gBACN,cAAc,MAAM,MAAM,SAAS,IACnC;AAEE,cAAA,SAAS,KAAK,QAAQ,KAAK,CAAC,MAAM,EAAE,SAAS,iBAAiB;AACpE,eAAO,iBAAiB,MAAM;AACrB,iBAAA,sBAAsBA,MAAK,OAAO,KAAK;AAAA,QAAA;AAGzC,eAAA;AAAA,MAAA;AAAA,IACT,OACK;AAEC,YAAA,gBAAgB,SAAS,UAAU;AAChC,eAAA,UAAU,gBAAgB,WAAY;AAC7C,cAAM,IAAI,gBACN,cAAc,MAAM,MAAM,SAAS,IACnC;AAEJ,YAAI,CAAC,KAAK,cAAc,EAAE,uBAAuB,KAAK,aAAa;AACjE,eAAK,YAAY,qBAAqB,KAAK,YAAY,MAAM,QAAQ;AAAA,QACvE;AAEO,eAAA;AAAA,MAAA;AAAA,IAEX;AAAA,EACF;AACF,CAAC;ACnCD,IAAI;AACJ,IAAI,aAAa;AAEjB,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,QAAQ;AACF,QAAA;AACA,QAAA;AACA,QAAA;AAEJ,aAAS,iBAAiB,GAAG;AAC3B,aAAO,KAAK;AAAA,QACV,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE;AAAA,QACpC,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE;AAAA,MAAA;AAAA,IAExC;AALS;AAOT,QAAI,SAAS;AAAA,MACX;AAAA,MACA,CAAC,MAAM;AACL;AACY,oBAAA;AACR,YAAA,EAAE,SAAS,WAAW,GAAG;AAE3B,0CAAgB;AACJ,sBAAA,EAAE,QAAQ,CAAC;AAAA,QAAA,OAClB;AACO,sBAAA;AACR,cAAA,EAAE,SAAS,WAAW,GAAG;AAE3B,sBAAU,iBAAiB,CAAC;AAC5B,gBAAI,OAAO,kBAAkB;AAAA,UAC/B;AAAA,QACF;AAAA,MACF;AAAA,MACA;AAAA,IAAA;AAGF,QAAI,SAAS,iBAAiB,YAAY,CAAC,MAAkB;AAC5C,qBAAA;AACF,mBAAA,EAAE,SAAS,UAAU,aAAa;AAC/C,UAAI,aAAa,CAAC,EAAE,SAAS,QAAQ;AACnC,iCAAQ,KAAK,GAAE,QAAQ,IAAI,YAAY,KAAK;AACtC,cAAA;AAEF,cAAE,cAAc;AAAA,mBACT,OAAO;AAAA,UAAC;AAEjB,YAAE,UAAU,UAAU;AAEtB,YAAE,UAAU,UAAU;AAEtB,cAAI,OAAO,kBAAkB;AAEzB,cAAA,OAAO,oBAAoB,CAAC;AAAA,QAClC;AACY,oBAAA;AAAA,MACd;AAAA,IAAA,CACD;AAED,QAAI,SAAS;AAAA,MACX;AAAA,MACA,CAAC,MAAM;AACO,oBAAA;AACR,YAAA,EAAE,SAAS,WAAW,GAAG;AAC3B,cAAI,OAAO,kBAAkB;AACd,yBAAA;AAEf,oBAAU,qBAAqB;AAE3B,cAAA,OAAO,YAAY;AACjB,gBAAA,aAAa,iBAAiB,CAAC;AAE/B,gBAAA,QAAQ,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,WAAW;AACvD,gBAAA,QAAQ,EAAE,QAAQ,CAAC,EAAE,UAAU,EAAE,QAAQ,CAAC,EAAE,WAAW;AAEzD,cAAA,QAAQ,IAAI,OAAO,GAAG;AAC1B,gBAAM,OAAO,UAAU;AACvB,cAAI,OAAO,KAAK;AACd,qBAAS,IAAI;AAAA,UAAA,WACJ,OAAO,MAAM;AACb,qBAAA;AAAA,UACX;AACA,cAAI,OAAO,GAAG,YAAY,OAAO,CAAC,MAAM,IAAI,CAAC;AACzC,cAAA,OAAO,SAAS,MAAM,IAAI;AACpB,oBAAA;AAAA,QACZ;AAAA,MACF;AAAA,MACA;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;AAED,MAAM,mBAAmB,aAAa,UAAU;AAChD,aAAa,UAAU,mBAAmB,SAAU,GAAG;AACrD,MAAI,gBAAgB,YAAY;AAC9B;AAAA,EACF;AACO,SAAA,iBAAiB,MAAM,MAAM,SAAS;AAC/C;AAEA,MAAM,mBAAmB,aAAa,UAAU;AAChD,aAAa,UAAU,mBAAmB,SAAU,GAAG;AACjD,MAAA,gBAAgB,aAAa,GAAG;AAClC;AAAA,EACF;AACO,SAAA,iBAAiB,MAAM,MAAM,SAAS;AAC/C;ACzGA,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,mBAAmB;AAAA,EACnB,OAAO;AACL,cAAU,wBAAwB;AAClC,cAAU,qCAAqC;AAC/C,SAAK,oBAAoB,IAAI,GAAG,SAAS,WAAW;AAAA,MAClD,IAAI;AAAA,MACJ,UAAU,CAAC,SAAS,mBAAmB,iBAAiB;AAAA,MACxD,MAAM;AAAA,MACN,SAAS;AAAA,MACT,MAAM;AAAA,MACN,OAAO;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,QACL,MAAM;AAAA,MACR;AAAA,MACA,cAAc;AAAA,MACd,UAAU,wBAAC,QAAQ,WAAW;AAC5B,aAAK,YAAY,MAAM;AAAA,MACzB,GAFU;AAAA,IAEV,CACD;AAAA,EACH;AAAA,EACA,wBAAwB,CAAC;AAAA,EACzB,uBAAuB,CAAC;AAAA,EACxB,MAAM,sBAAsB,UAAU,UAAUA,MAAK;AACnD,QAAI,SAAS,SAAS;AACtB,QAAI,SAAS,CAAA;AACJ,aAAA,SAAS,OAAO,EAAE,UAAU;AACrC,eAAW,YAAY,QAAQ;AACzB,UAAA,QAAQ,OAAO,QAAQ;AAC3B,UAAI,OAAO,MAAM,CAAC,MAAM,SAAU;AAE9B,UAAA,OAAO,MAAM,CAAC;AAClB,UAAI,QAAQ,cAAc;AACpB,YAAA,mBAAmB,MAAM,CAAC;AAC1B,YAAA,CAAC,kBAAkB,WAAY;AAAA,MACrC;AAEI,UAAA,EAAE,QAAQ,KAAK,yBAAyB;AAC1C,aAAK,uBAAuB,IAAI,IAAI,CAAC,SAAS;AAAA,MAChD;AACA,UAAI,KAAK,uBAAuB,IAAI,EAAE,SAAS,MAAM,EAAG;AACxD,WAAK,uBAAuB,IAAI,EAAE,KAAK,MAAM;AAIvC,YAAA,YAAY,KAAK;AACnB,UAAA,EAAE,aAAa,UAAU,2BAA2B;AACtD,kBAAU,yBAAyB,SAAS,IAAI,EAAE,OAAO,CAAG,EAAA;AAAA,MAC9D;AACU,gBAAA,yBAAyB,SAAS,EAAE,MAAM;AAAA,QAClD,SAAS;AAAA,MAAA;AAAA,IAEb;AAEI,QAAA,UAAU,SAAS,QAAQ;AAC/B,eAAW,OAAO,SAAS;AACrB,UAAA,OAAO,QAAQ,GAAG;AAClB,UAAA,EAAE,QAAQ,KAAK,wBAAwB;AACzC,aAAK,sBAAsB,IAAI,IAAI,CAAC,SAAS;AAAA,MAC/C;AAEA,WAAK,sBAAsB,IAAI,EAAE,KAAK,MAAM;AAGxC,UAAA,EAAE,QAAQ,UAAU,4BAA4B;AAClD,kBAAU,0BAA0B,IAAI,IAAI,EAAE,OAAO,CAAG,EAAA;AAAA,MAC1D;AACA,gBAAU,0BAA0B,IAAI,EAAE,MAAM,KAAK,SAAS,UAAU;AAExE,UAAI,CAAC,UAAU,eAAe,SAAS,IAAI,GAAG;AAClC,kBAAA,eAAe,KAAK,IAAI;AAAA,MACpC;AAAA,IACF;AACI,QAAA,SAAS,KAAK,kBAAkB;AACpC,SAAK,YAAY,MAAM;AAAA,EACzB;AAAA,EACA,YAAY,QAAQ;AAClB,cAAU,yBAAyB;AACnC,cAAU,wBAAwB;AAEvB,eAAA,QAAQ,KAAK,wBAAwB;AACpC,gBAAA,uBAAuB,IAAI,IAAI,KAAK,uBAC5C,IACF,EAAE,MAAM,GAAG,MAAM;AAAA,IACnB;AACW,eAAA,QAAQ,KAAK,uBAAuB;AACnC,gBAAA,sBAAsB,IAAI,IAAI,KAAK,sBAC3C,IACF,EAAE,MAAM,GAAG,MAAM;AAAA,IACnB;AAAA,EACF;AACF,CAAC;ACvFD,SAAS,kBAAkB,KAAK;AAC1B,MAAA,CAAC,IACH,UAAU,mBAAmB,KAAK,MAAM,IAAI,CAAC,IAAI,UAAU,gBAAgB;AACzE,MAAA,CAAC,IACH,UAAU,mBAAmB,KAAK,MAAM,IAAI,CAAC,IAAI,UAAU,gBAAgB;AACtE,SAAA;AACT;AANS;AAQT,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,OAAO;AAED,QAAA,GAAG,SAAS,WAAW;AAAA,MACzB,IAAI;AAAA,MACJ,UAAU,CAAC,SAAS,SAAS,UAAU;AAAA,MACvC,MAAM;AAAA,MACN,MAAM;AAAA,MACN,OAAO;AAAA,QACL,KAAK;AAAA,QACL,KAAK;AAAA,MACP;AAAA,MACA,SACE;AAAA,MACF,cAAc,UAAU;AAAA,MACxB,SAAS,OAAO;AACd,kBAAU,mBAAmB,CAAC;AAAA,MAChC;AAAA,IAAA,CACD;AAGK,UAAA,cAAc,IAAI,OAAO;AAC3B,QAAA,OAAO,cAAc,SAAU,MAAM;AACvC,YAAM,IAAI,aAAa,MAAM,MAAM,SAAS;AAE5C,UAAI,IAAI,WAAW;AAEN,mBAAAC,OAAM,KAAK,gBAAgB;AAC/B,eAAA,eAAeA,GAAE,EAAE,YAAY;AAAA,QACtC;AAAA,MACF;AAEO,aAAA;AAAA,IAAA;AAIH,UAAA,cAAc,IAAI,MAAM;AAC1B,QAAA,MAAM,cAAc,SAAU,MAAM;AACtC,YAAM,WAAW,KAAK;AACtB,WAAK,WAAW,WAAY;AAC1B,YAAI,IAAI,WAAW;AACjB,4BAAkB,KAAK,IAAI;AAAA,QAC7B;AACO,eAAA,UAAU,MAAM,MAAM,SAAS;AAAA,MAAA;AAEjC,aAAA,aAAa,MAAM,MAAM,SAAS;AAAA,IAAA;AAIrC,UAAA,eAAe,aAAa,UAAU;AAC5C,iBAAa,UAAU,WAAW,SAAU,MAAM,KAAK;AACrD,UACE,IAAI,aACJ,KAAK,gBACL,KAAK,MAAM,KAAK,gBAChB;AACM,cAAA,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,GAAG,KAAK,GAAG,CAAC;AAC9C,cAAM,SAAS,IAAI,KAAK,IAAI,CAAC;AAC7B,YAAI,SAAS,IAAI,KAAK,IAAI,CAAC;AAE3B,YAAI,GAAG;AACH,YAAA,KAAK,MAAM,WAAW;AAExB,cAAI,KAAK;AACT,cAAI,UAAU;AACd,oBAAU,UAAU;AAAA,QAAA,OACf;AACD,cAAA,KAAK,KAAK,CAAC;AACX,cAAA,KAAK,KAAK,CAAC;AAEX,cAAA,YAAY,KAAK,YAAY;AACjC,cACE,cAAc,UAAU,qBACxB,cAAc,UAAU,UACxB;AACA,iBAAK,UAAU;AACf,sBAAU,UAAU;AAAA,UACtB;AAAA,QACF;AACA,cAAM,IAAI,IAAI;AACd,YAAI,YAAY;AAChB,YAAI,SAAS,QAAQ,QAAQ,GAAG,CAAC;AACjC,YAAI,YAAY;AAAA,MAClB;AAEO,aAAA,aAAa,MAAM,MAAM,SAAS;AAAA,IAAA;AAO3C,QAAI,yBAA6C;AAM3C,UAAA,YAAY,YAAY,UAAU;AACxC,gBAAY,UAAU,OAAO,SAAU,QAAQ,QAAQ,cAAc;AACnE,YAAM,IAAI,UAAU,MAAM,MAAM,SAAS;AAGzC,UACE,CAAC,0BACD,IAAI,OAAO,mBAAmB,SAC7B,UAAU,SACX;AACyB,iCAAA;AAAA,MAC3B;AAMA,UAAI,IAAI,OAAO,wBAAwB,SAAS,IAAI,WAAW;AAG7D,aAAK,qBAAqB;AACf,mBAAA,QAAQ,KAAK,QAAQ;AAC9B,eAAK,YAAY;AAAA,QACnB;AACW,mBAAA,UAAU,YAAY,MAAM,IAAI;AAAA,MAC7C;AACO,aAAA;AAAA,IAAA;AAQH,UAAA,aAAa,aAAa,UAAU;AAC1C,iBAAa,UAAU,aAAa,SAAU,QAAQ,KAAK;AACrD,UAAA,KAAK,kBAAkB,IAAI,WAAW;AACxC,YAAI,KAAK,yBAAyB;AACd,4BAAA,KAAK,eAAe,IAAI;AAAA,mBACjC,wBAAwB;AAE3B,gBAAA,CAAC,GAAG,CAAC,IAAI,kBAAkB,CAAC,GAAG,uBAAuB,GAAG,CAAC;AAChE,gBAAM,IAAI,IAAI;AACd,gBAAM,IAAI,IAAI;AACd,cAAI,YAAY;AAChB,cAAI,cAAc;AAElB,cAAI,KAAK,GAAG,GAAG,GAAG,uBAAuB,IAAI;AAC7C,cAAI,KAAK;AACT,cAAI,OAAO;AACX,cAAI,YAAY;AAChB,cAAI,cAAc;AAAA,QACpB;AAAA,MAAA,WACS,CAAC,KAAK,gBAAgB;AACN,iCAAA;AAAA,MAC3B;AACO,aAAA,WAAW,MAAM,MAAM,SAAS;AAAA,IAAA;AAIzC,UAAM,aAAa,aAAa;AAChC,iBAAa,aAAa,WAAY;AACpC,YAAM,IAAI,WAAW,MAAM,IAAI,QAAQ,SAAS;AAChD,UAAI,IAAI,WAAW;AAEX,cAAA,YAAY,IAAI,MAAM,QAAQ,IAAI,MAAM,QAAQ,SAAS,CAAC;AAChE,YAAI,WAAW;AAEb,4BAAkB,UAAU,GAAG;AAE/B,4BAAkB,UAAU,IAAI;AAAA,QAClC;AAAA,MACF;AACO,aAAA;AAAA,IAAA;AAAA,EAEX;AACF,CAAC;AC7LD,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,MAAM,sBAAsB,UAAU,UAAwBD,MAAK;AACjE,QAAI,UAAU,OAAO,UAAU,QAAQ,CAAC,GAAG,iBAAiB,MAAM;AAChE,eAAS,MAAM,SAAS,SAAS,CAAC,aAAa;AAAA,IACjD;AAAA,EACF;AACF,CAAC;ACTD,MAAM,eAAe,OAAO;AAE5B,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,iBAAiBA,MAAK;AACb,WAAA;AAAA,MACL,OAAO,MAAM,WAAW;AAClB,YAAA;AACJ,aAAK,YAAY,IAAI,IAAI,QAAQ,CAAC,YAAa,MAAM,OAAQ;AAEvD,cAAA,YAAY,SAAS,cAAc,KAAK;AAC9C,kBAAU,MAAM,aAAa;AAC7B,kBAAU,MAAM,YAAY;AAEtB,cAAA,QAAQ,SAAS,cAAc,OAAO;AAC5C,cAAM,MAAM,SAAS,MAAM,MAAM,QAAQ;AAEzC,cAAM,YAAY,mCAAY;AACxB,cAAA;AACF,kBAAM,SAAS,MAAM,UAAU,aAAa,aAAa;AAAA,cACvD,OAAO;AAAA,cACP,OAAO;AAAA,YAAA,CACR;AACD,sBAAU,gBAAgB,KAAK;AAE/B,uBAAW,MAAM,IAAI,KAAK,GAAG,GAAG;AAChC,kBAAM,iBAAiB,kBAAkB,MAAM,IAAI,KAAK,GAAG,KAAK;AAChE,kBAAM,YAAY;AAClB,kBAAM,KAAK;AAAA,mBACJ,OAAO;AACR,kBAAA,QAAQ,SAAS,cAAc,KAAK;AAC1C,kBAAM,MAAM,QAAQ;AACpB,kBAAM,MAAM,WAAW;AACvB,kBAAM,MAAM,YAAY;AACxB,kBAAM,MAAM,aAAa;AAEzB,gBAAI,OAAO,iBAAiB;AACpB,oBAAA,cACJ,8DACA,MAAM;AAAA,YAAA,OACH;AACC,oBAAA,cACJ,2JACA,MAAM;AAAA,YACV;AAEA,sBAAU,gBAAgB,KAAK;AAAA,UACjC;AAAA,QAAA,GA9BgB;AAiCR;AAEV,eAAO,EAAE,QAAQ,KAAK,aAAa,WAAW,UAAU,SAAS;MACnE;AAAA,IAAA;AAAA,EAEJ;AAAA,EACA,YAAY,MAAM;AAChB,QAAK,KAAK,MAAM,KAAK,YAAY,eAAe,gBAAkB;AAE9D,QAAA;AACE,UAAA,SAAS,KAAK,QAAQ,KAAK,CAACO,OAAMA,GAAE,SAAS,OAAO;AACpD,UAAA,IAAI,KAAK,QAAQ,KAAK,CAACA,OAAMA,GAAE,SAAS,OAAO;AAC/C,UAAA,IAAI,KAAK,QAAQ,KAAK,CAACA,OAAMA,GAAE,SAAS,QAAQ;AAChD,UAAA,iBAAiB,KAAK,QAAQ;AAAA,MAClC,CAACA,OAAMA,GAAE,SAAS;AAAA,IAAA;AAGd,UAAA,SAAS,SAAS,cAAc,QAAQ;AAE9C,UAAM,UAAU,6BAAM;AACpB,aAAO,QAAQ,EAAE;AACjB,aAAO,SAAS,EAAE;AACZ,YAAA,MAAM,OAAO,WAAW,IAAI;AAClC,UAAI,UAAU,OAAO,GAAG,GAAG,EAAE,OAAO,EAAE,KAAK;AACrC,YAAA,OAAO,OAAO,UAAU,WAAW;AAEnC,YAAA,MAAM,IAAI;AAChB,UAAI,SAAS,MAAM;AACZ,aAAA,OAAO,CAAC,GAAG;AACZ,YAAA,MAAM,eAAe,IAAI;AAC7B,8BAAsB,MAAM;AAC1B,eAAK,kBAAkB;AAAA,QAAA,CACxB;AAAA,MAAA;AAEH,UAAI,MAAM;AAAA,IAAA,GAfI;AAkBhB,UAAM,MAAM,KAAK;AAAA,MACf;AAAA,MACA;AAAA,MACA;AAAA,MACA;AAAA,IAAA;AAEF,QAAI,WAAW;AACf,QAAI,iBAAiB,MAAM;AAE3B,WAAO,iBAAiB,YAAY;AAClC,UAAI,eAAe,OAAO;AAChB;MACC,WAAA,CAAC,KAAK,MAAM,QAAQ;AAC7B,cAAM,MAAM;AACZ,cAAM,GAAG;AACH,cAAA,IAAI,MAAM,GAAG;AAAA,MACrB;AAGM,YAAA,OAAO,MAAM,IAAI,QAAc,CAAC,MAAM,OAAO,OAAO,CAAC,CAAC;AAC5D,YAAM,OAAO,GAAG,CAAC,oBAAI,KAAM,CAAA;AAC3B,YAAML,QAAO,IAAI,KAAK,CAAC,IAAI,GAAG,IAAI;AAC5B,YAAA,OAAO,IAAI;AACZ,WAAA,OAAO,SAASA,KAAI;AACpB,WAAA,OAAO,aAAa,QAAQ;AAC5B,WAAA,OAAO,QAAQ,MAAM;AAC1B,YAAM,OAAO,MAAM,IAAI,SAAS,iBAAiB;AAAA,QAC/C,QAAQ;AAAA,QACR;AAAA,MAAA,CACD;AACG,UAAA,KAAK,WAAW,KAAK;AACvB,cAAM,MAAM,iCAAiC,KAAK,MAAM,MAAM,KAAK,UAAU;AAC7E,cAAM,GAAG;AACH,cAAA,IAAI,MAAM,GAAG;AAAA,MACrB;AACA,aAAO,UAAU,IAAI;AAAA,IAAA;AAGvB,SAAK,YAAY,EAAE,KAAK,CAAC,MAAM;AACrB,cAAA;AAEJ,UAAA,CAAC,EAAE,OAAO;AACV,UAAA,QAAQ,MAAM,cAAc;AAC5B,UAAA,QAAQ,MAAM,eAAe;AAAA,MACjC;AACA,UAAI,WAAW;AACf,UAAI,QAAQ;AAAA,IAAA,CACb;AAAA,EACH;AACF,CAAC;ACnID,SAAS,cAAc,MAAgC;AAC/C,QAAA,mBAAmB,KAAK,YAAY,GAAG;AAC7C,MAAI,qBAAqB,IAAI;AACpB,WAAA,CAAC,IAAI,IAAI;AAAA,EAClB;AACO,SAAA;AAAA,IACL,KAAK,UAAU,GAAG,gBAAgB;AAAA,IAClC,KAAK,UAAU,mBAAmB,CAAC;AAAA,EAAA;AAEvC;AATS;AAWT,SAAS,eACP,WACA,UACA,OAAmB,SACX;AACR,QAAM,SAAS;AAAA,IACb,cAAc,mBAAmB,QAAQ;AAAA,IACzC,UAAU;AAAA,IACV,eAAe;AAAA,IACf,IAAI,aAAA,EAAe,UAAU,CAAC;AAAA,EAAA,EAC9B,KAAK,GAAG;AAEV,SAAO,SAAS,MAAM;AACxB;AAbS;AAeT,eAAe,WACb,aACA,eACAA,OACA,YACA,SAAkB,OAClB;AACI,MAAA;AAEI,UAAA,OAAO,IAAI;AACZ,SAAA,OAAO,SAASA,KAAI;AACzB,QAAI,OAAQ,MAAK,OAAO,aAAa,QAAQ;AAC7C,UAAM,OAAO,MAAM,IAAI,SAAS,iBAAiB;AAAA,MAC/C,QAAQ;AAAA,MACR;AAAA,IAAA,CACD;AAEG,QAAA,KAAK,WAAW,KAAK;AACjB,YAAA,OAAO,MAAM,KAAK;AAExB,UAAI,OAAO,KAAK;AAChB,UAAI,KAAK,UAAkB,QAAA,KAAK,YAAY,MAAM;AAElD,UAAI,CAAC,YAAY,QAAQ,OAAO,SAAS,IAAI,GAAG;AAClC,oBAAA,QAAQ,OAAO,KAAK,IAAI;AAAA,MACtC;AAEA,UAAI,YAAY;AACA,sBAAA,QAAQ,MAAM,IAAI;AAAA,UAC9B,eAAe,GAAG,cAAc,IAAI,CAAC;AAAA,QAAA;AAEvC,oBAAY,QAAQ;AAAA,MACtB;AAAA,IAAA,OACK;AACL,YAAM,KAAK,SAAS,QAAQ,KAAK,UAAU;AAAA,IAC7C;AAAA,WACO,OAAO;AACd,UAAM,KAAK;AAAA,EACb;AACF;AAvCe;AA2Cf,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,MAAM,sBAAsB,UAAU,UAAU;AAE5C,QAAA,CAAC,aAAa,aAAa,cAAc,EAAE,SAAS,SAAS,UAAU,GACvE;AACA,eAAS,MAAM,SAAS,UAAU,CAAC,UAAU;AAAA,IAC/C;AAAA,EACF;AAAA,EACA,mBAAmB;AACV,WAAA;AAAA,MACL,SAAS,MAAM,WAAmB;AAC1B,cAAA,QAAQ,SAAS,cAAc,OAAO;AAC5C,cAAM,WAAW;AACX,cAAA,UAAU,IAAI,aAAa;AAC3B,cAAA,aAAa,QAAQ,OAAO;AAElC,cAAM,gBAA6C,KAAK;AAAA,UACtD;AAAA;AAAA,UACW;AAAA,UACX;AAAA,QAAA;AAIF,sBAAc,YAAY;AAEpB,cAAA,eAAe,KAAK,YAAY,SAAS;AAC/C,YAAI,cAAc;AAEF,wBAAA,QAAQ,UAAU,IAAI,oBAAoB;AAExD,gBAAM,aAAa,KAAK;AACnB,eAAA,aAAa,SAAU,SAAS;AACvB,wBAAA,MAAM,MAAM,SAAS;AACjC,kBAAM,SAAS,QAAQ;AACvB,gBAAI,CAAC,OAAQ;AACPiB,kBAAAA,SAAQ,OAAO,CAAC;AACR,0BAAA,QAAQ,MAAM,IAAI;AAAA,cAC9B,eAAeA,OAAM,WAAWA,OAAM,UAAUA,OAAM,IAAI;AAAA,YAAA;AAE9C,0BAAA,QAAQ,UAAU,OAAO,oBAAoB;AAAA,UAAA;AAAA,QAE/D;AACO,eAAA,EAAE,QAAQ;MACnB;AAAA,IAAA;AAAA,EAEJ;AAAA,EACA,qBAAqB,aAAkC;AACrD,eAAW,CAAC,QAAQ,MAAM,KAAK,OAAO,QAAQ,WAAW,GAAG;AAC1D,YAAM,OAAO,IAAI,MAAM,YAAY,OAAO,SAAS,MAAM,CAAC;AAC1D,UAAI,WAAW,QAAQ;AACf,cAAA,gBAAgB,KAAK,QAAQ;AAAA,UACjC,CAAC,MAAM,EAAE,SAAS;AAAA,QAAA;AAEd,cAAA,QAAQ,OAAO,MAAM,CAAC;AACd,sBAAA,QAAQ,MAAM,IAAI;AAAA,UAC9B,eAAe,MAAM,WAAW,MAAM,UAAU,MAAM,IAAI;AAAA,QAAA;AAE9C,sBAAA,QAAQ,UAAU,OAAO,oBAAoB;AAAA,MAC7D;AAAA,IACF;AAAA,EACF;AACF,CAAC;AAED,IAAI,kBAAkB;AAAA,EACpB,MAAM;AAAA,EACN,MAAM,sBAAsB,UAAU,UAAwB;AAC5D,QAAI,UAAU,OAAO,UAAU,QAAQ,CAAC,GAAG,iBAAiB,MAAM;AAChE,eAAS,MAAM,SAAS,SAAS,CAAC,aAAa;AAAA,IACjD;AAAA,EACF;AAAA,EACA,mBAAmB;AACV,WAAA;AAAA,MACL,YAAY,MAAM,WAAmB;AAE7B,cAAA,cAAuB,KAAK,QAAQ;AAAA,UACxC,CAAC,MAAe,EAAE,SAAS;AAAA,QAAA;AAEvB,cAAA,gBAA6C,KAAK,QAAQ;AAAA,UAC9D,CAAC,MAAe,EAAE,SAAS;AAAA,QAAA;AAG7B,cAAM,sBAAsB,6BAAM;AAClB,wBAAA,QAAQ,MAAM,IAAI;AAAA,YAC9B,eAAe,GAAG,cAAc,YAAY,KAAK,CAAC;AAAA,UAAA;AAAA,QACpD,GAH0B;AAM5B,YAAI,YAAY,OAAO;AACD;QACtB;AACA,oBAAY,WAAW;AAGvB,cAAM,oBAAoB,KAAK;AAC/B,aAAK,oBAAoB,WAAY;AAChB,6BAAA,MAAM,MAAM,SAAS;AACxC,cAAI,YAAY,OAAO;AACD;UACtB;AAAA,QAAA;AAGI,cAAA,YAAY,SAAS,cAAc,OAAO;AAChD,kBAAU,OAAO;AACjB,kBAAU,SAAS;AACnB,kBAAU,MAAM,UAAU;AAC1B,kBAAU,WAAW,MAAM;AACrB,cAAA,UAAU,MAAM,QAAQ;AAC1B,uBAAW,aAAa,eAAe,UAAU,MAAM,CAAC,GAAG,IAAI;AAAA,UACjE;AAAA,QAAA;AAGF,cAAM,eAAe,KAAK;AAAA,UACxB;AAAA,UACA;AAAA;AAAA,UACY;AAAA,UACZ,MAAM;AACJ,sBAAU,MAAM;AAAA,UAClB;AAAA,QAAA;AAEF,qBAAa,QAAQ;AACrB,qBAAa,YAAY;AAElB,eAAA,EAAE,QAAQ;MACnB;AAAA,IAAA;AAAA,EAEJ;AACF,CAAC;"} \ No newline at end of file diff --git a/web/assets/index-DjWyclij.css b/web/assets/index-BRhY6FpL.css similarity index 100% rename from web/assets/index-DjWyclij.css rename to web/assets/index-BRhY6FpL.css diff --git a/web/assets/index-CI3N807S.js b/web/assets/index-CI3N807S.js deleted file mode 100644 index 4fab8daf7..000000000 --- a/web/assets/index-CI3N807S.js +++ /dev/null @@ -1,101390 +0,0 @@ -const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["./index-BD-Ia1C4.js","./index-DjWyclij.css","./userSelection-CyXKCVy3.js","./userSelection-BGzn1LuN.css"])))=>i.map(i=>d[i]); -var __defProp2 = Object.defineProperty; -var __name = (target, value3) => __defProp2(target, "name", { value: value3, configurable: true }); -(/* @__PURE__ */ __name(function polyfill() { - const relList = document.createElement("link").relList; - if (relList && relList.supports && relList.supports("modulepreload")) { - return; - } - for (const link of document.querySelectorAll('link[rel="modulepreload"]')) { - processPreload(link); - } - new MutationObserver((mutations) => { - for (const mutation of mutations) { - if (mutation.type !== "childList") { - continue; - } - for (const node3 of mutation.addedNodes) { - if (node3.tagName === "LINK" && node3.rel === "modulepreload") - processPreload(node3); - } - } - }).observe(document, { childList: true, subtree: true }); - function getFetchOpts(link) { - const fetchOpts = {}; - if (link.integrity) fetchOpts.integrity = link.integrity; - if (link.referrerPolicy) fetchOpts.referrerPolicy = link.referrerPolicy; - if (link.crossOrigin === "use-credentials") - fetchOpts.credentials = "include"; - else if (link.crossOrigin === "anonymous") fetchOpts.credentials = "omit"; - else fetchOpts.credentials = "same-origin"; - return fetchOpts; - } - __name(getFetchOpts, "getFetchOpts"); - function processPreload(link) { - if (link.ep) - return; - link.ep = true; - const fetchOpts = getFetchOpts(link); - fetch(link.href, fetchOpts); - } - __name(processPreload, "processPreload"); -}, "polyfill"))(); -var commonjsGlobal = typeof globalThis !== "undefined" ? globalThis : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : typeof self !== "undefined" ? self : {}; -function getDefaultExportFromCjs(x2) { - return x2 && x2.__esModule && Object.prototype.hasOwnProperty.call(x2, "default") ? x2["default"] : x2; -} -__name(getDefaultExportFromCjs, "getDefaultExportFromCjs"); -function getDefaultExportFromNamespaceIfPresent(n) { - return n && Object.prototype.hasOwnProperty.call(n, "default") ? n["default"] : n; -} -__name(getDefaultExportFromNamespaceIfPresent, "getDefaultExportFromNamespaceIfPresent"); -function getDefaultExportFromNamespaceIfNotNamed(n) { - return n && Object.prototype.hasOwnProperty.call(n, "default") && Object.keys(n).length === 1 ? n["default"] : n; -} -__name(getDefaultExportFromNamespaceIfNotNamed, "getDefaultExportFromNamespaceIfNotNamed"); -function getAugmentedNamespace(n) { - if (n.__esModule) return n; - var f = n.default; - if (typeof f == "function") { - var a = /* @__PURE__ */ __name(function a2() { - if (this instanceof a2) { - return Reflect.construct(f, arguments, this.constructor); - } - return f.apply(this, arguments); - }, "a"); - a.prototype = f.prototype; - } else a = {}; - Object.defineProperty(a, "__esModule", { value: true }); - Object.keys(n).forEach(function(k) { - var d = Object.getOwnPropertyDescriptor(n, k); - Object.defineProperty(a, k, d.get ? d : { - enumerable: true, - get: /* @__PURE__ */ __name(function() { - return n[k]; - }, "get") - }); - }); - return a; -} -__name(getAugmentedNamespace, "getAugmentedNamespace"); -var _Reflect = {}; -/*! ***************************************************************************** -Copyright (C) Microsoft. All rights reserved. -Licensed under the Apache License, Version 2.0 (the "License"); you may not use -this file except in compliance with the License. You may obtain a copy of the -License at http://www.apache.org/licenses/LICENSE-2.0 - -THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY -KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED -WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE, -MERCHANTABLITY OR NON-INFRINGEMENT. - -See the Apache Version 2.0 License for specific language governing permissions -and limitations under the License. -***************************************************************************** */ -var Reflect$1; -(function(Reflect2) { - (function(factory) { - var root26 = typeof globalThis === "object" ? globalThis : typeof commonjsGlobal === "object" ? commonjsGlobal : typeof self === "object" ? self : typeof this === "object" ? this : sloppyModeThis(); - var exporter = makeExporter(Reflect2); - if (typeof root26.Reflect !== "undefined") { - exporter = makeExporter(root26.Reflect, exporter); - } - factory(exporter, root26); - if (typeof root26.Reflect === "undefined") { - root26.Reflect = Reflect2; - } - function makeExporter(target, previous) { - return function(key, value3) { - Object.defineProperty(target, key, { configurable: true, writable: true, value: value3 }); - if (previous) - previous(key, value3); - }; - } - __name(makeExporter, "makeExporter"); - function functionThis() { - try { - return Function("return this;")(); - } catch (_2) { - } - } - __name(functionThis, "functionThis"); - function indirectEvalThis() { - try { - return (void 0, eval)("(function() { return this; })()"); - } catch (_2) { - } - } - __name(indirectEvalThis, "indirectEvalThis"); - function sloppyModeThis() { - return functionThis() || indirectEvalThis(); - } - __name(sloppyModeThis, "sloppyModeThis"); - })(function(exporter, root26) { - var hasOwn2 = Object.prototype.hasOwnProperty; - var supportsSymbol = typeof Symbol === "function"; - var toPrimitiveSymbol = supportsSymbol && typeof Symbol.toPrimitive !== "undefined" ? Symbol.toPrimitive : "@@toPrimitive"; - var iteratorSymbol = supportsSymbol && typeof Symbol.iterator !== "undefined" ? Symbol.iterator : "@@iterator"; - var supportsCreate = typeof Object.create === "function"; - var supportsProto = { __proto__: [] } instanceof Array; - var downLevel = !supportsCreate && !supportsProto; - var HashMap = { - // create an object in dictionary mode (a.k.a. "slow" mode in v8) - create: supportsCreate ? function() { - return MakeDictionary(/* @__PURE__ */ Object.create(null)); - } : supportsProto ? function() { - return MakeDictionary({ __proto__: null }); - } : function() { - return MakeDictionary({}); - }, - has: downLevel ? function(map2, key) { - return hasOwn2.call(map2, key); - } : function(map2, key) { - return key in map2; - }, - get: downLevel ? function(map2, key) { - return hasOwn2.call(map2, key) ? map2[key] : void 0; - } : function(map2, key) { - return map2[key]; - } - }; - var functionPrototype = Object.getPrototypeOf(Function); - var _Map = typeof Map === "function" && typeof Map.prototype.entries === "function" ? Map : CreateMapPolyfill(); - var _Set = typeof Set === "function" && typeof Set.prototype.entries === "function" ? Set : CreateSetPolyfill(); - var _WeakMap = typeof WeakMap === "function" ? WeakMap : CreateWeakMapPolyfill(); - var registrySymbol = supportsSymbol ? Symbol.for("@reflect-metadata:registry") : void 0; - var metadataRegistry = GetOrCreateMetadataRegistry(); - var metadataProvider = CreateMetadataProvider(metadataRegistry); - function decorate(decorators, target, propertyKey, attributes) { - if (!IsUndefined(propertyKey)) { - if (!IsArray(decorators)) - throw new TypeError(); - if (!IsObject(target)) - throw new TypeError(); - if (!IsObject(attributes) && !IsUndefined(attributes) && !IsNull(attributes)) - throw new TypeError(); - if (IsNull(attributes)) - attributes = void 0; - propertyKey = ToPropertyKey(propertyKey); - return DecorateProperty(decorators, target, propertyKey, attributes); - } else { - if (!IsArray(decorators)) - throw new TypeError(); - if (!IsConstructor(target)) - throw new TypeError(); - return DecorateConstructor(decorators, target); - } - } - __name(decorate, "decorate"); - exporter("decorate", decorate); - function metadata(metadataKey, metadataValue) { - function decorator(target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey) && !IsPropertyKey(propertyKey)) - throw new TypeError(); - OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey); - } - __name(decorator, "decorator"); - return decorator; - } - __name(metadata, "metadata"); - exporter("metadata", metadata); - function defineMetadata(metadataKey, metadataValue, target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey)) - propertyKey = ToPropertyKey(propertyKey); - return OrdinaryDefineOwnMetadata(metadataKey, metadataValue, target, propertyKey); - } - __name(defineMetadata, "defineMetadata"); - exporter("defineMetadata", defineMetadata); - function hasMetadata(metadataKey, target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey)) - propertyKey = ToPropertyKey(propertyKey); - return OrdinaryHasMetadata(metadataKey, target, propertyKey); - } - __name(hasMetadata, "hasMetadata"); - exporter("hasMetadata", hasMetadata); - function hasOwnMetadata(metadataKey, target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey)) - propertyKey = ToPropertyKey(propertyKey); - return OrdinaryHasOwnMetadata(metadataKey, target, propertyKey); - } - __name(hasOwnMetadata, "hasOwnMetadata"); - exporter("hasOwnMetadata", hasOwnMetadata); - function getMetadata(metadataKey, target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey)) - propertyKey = ToPropertyKey(propertyKey); - return OrdinaryGetMetadata(metadataKey, target, propertyKey); - } - __name(getMetadata, "getMetadata"); - exporter("getMetadata", getMetadata); - function getOwnMetadata(metadataKey, target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey)) - propertyKey = ToPropertyKey(propertyKey); - return OrdinaryGetOwnMetadata(metadataKey, target, propertyKey); - } - __name(getOwnMetadata, "getOwnMetadata"); - exporter("getOwnMetadata", getOwnMetadata); - function getMetadataKeys(target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey)) - propertyKey = ToPropertyKey(propertyKey); - return OrdinaryMetadataKeys(target, propertyKey); - } - __name(getMetadataKeys, "getMetadataKeys"); - exporter("getMetadataKeys", getMetadataKeys); - function getOwnMetadataKeys(target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey)) - propertyKey = ToPropertyKey(propertyKey); - return OrdinaryOwnMetadataKeys(target, propertyKey); - } - __name(getOwnMetadataKeys, "getOwnMetadataKeys"); - exporter("getOwnMetadataKeys", getOwnMetadataKeys); - function deleteMetadata(metadataKey, target, propertyKey) { - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey)) - propertyKey = ToPropertyKey(propertyKey); - if (!IsObject(target)) - throw new TypeError(); - if (!IsUndefined(propertyKey)) - propertyKey = ToPropertyKey(propertyKey); - var provider = GetMetadataProvider( - target, - propertyKey, - /*Create*/ - false - ); - if (IsUndefined(provider)) - return false; - return provider.OrdinaryDeleteMetadata(metadataKey, target, propertyKey); - } - __name(deleteMetadata, "deleteMetadata"); - exporter("deleteMetadata", deleteMetadata); - function DecorateConstructor(decorators, target) { - for (var i2 = decorators.length - 1; i2 >= 0; --i2) { - var decorator = decorators[i2]; - var decorated = decorator(target); - if (!IsUndefined(decorated) && !IsNull(decorated)) { - if (!IsConstructor(decorated)) - throw new TypeError(); - target = decorated; - } - } - return target; - } - __name(DecorateConstructor, "DecorateConstructor"); - function DecorateProperty(decorators, target, propertyKey, descriptor) { - for (var i2 = decorators.length - 1; i2 >= 0; --i2) { - var decorator = decorators[i2]; - var decorated = decorator(target, propertyKey, descriptor); - if (!IsUndefined(decorated) && !IsNull(decorated)) { - if (!IsObject(decorated)) - throw new TypeError(); - descriptor = decorated; - } - } - return descriptor; - } - __name(DecorateProperty, "DecorateProperty"); - function OrdinaryHasMetadata(MetadataKey, O, P) { - var hasOwn3 = OrdinaryHasOwnMetadata(MetadataKey, O, P); - if (hasOwn3) - return true; - var parent = OrdinaryGetPrototypeOf(O); - if (!IsNull(parent)) - return OrdinaryHasMetadata(MetadataKey, parent, P); - return false; - } - __name(OrdinaryHasMetadata, "OrdinaryHasMetadata"); - function OrdinaryHasOwnMetadata(MetadataKey, O, P) { - var provider = GetMetadataProvider( - O, - P, - /*Create*/ - false - ); - if (IsUndefined(provider)) - return false; - return ToBoolean(provider.OrdinaryHasOwnMetadata(MetadataKey, O, P)); - } - __name(OrdinaryHasOwnMetadata, "OrdinaryHasOwnMetadata"); - function OrdinaryGetMetadata(MetadataKey, O, P) { - var hasOwn3 = OrdinaryHasOwnMetadata(MetadataKey, O, P); - if (hasOwn3) - return OrdinaryGetOwnMetadata(MetadataKey, O, P); - var parent = OrdinaryGetPrototypeOf(O); - if (!IsNull(parent)) - return OrdinaryGetMetadata(MetadataKey, parent, P); - return void 0; - } - __name(OrdinaryGetMetadata, "OrdinaryGetMetadata"); - function OrdinaryGetOwnMetadata(MetadataKey, O, P) { - var provider = GetMetadataProvider( - O, - P, - /*Create*/ - false - ); - if (IsUndefined(provider)) - return; - return provider.OrdinaryGetOwnMetadata(MetadataKey, O, P); - } - __name(OrdinaryGetOwnMetadata, "OrdinaryGetOwnMetadata"); - function OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P) { - var provider = GetMetadataProvider( - O, - P, - /*Create*/ - true - ); - provider.OrdinaryDefineOwnMetadata(MetadataKey, MetadataValue, O, P); - } - __name(OrdinaryDefineOwnMetadata, "OrdinaryDefineOwnMetadata"); - function OrdinaryMetadataKeys(O, P) { - var ownKeys2 = OrdinaryOwnMetadataKeys(O, P); - var parent = OrdinaryGetPrototypeOf(O); - if (parent === null) - return ownKeys2; - var parentKeys = OrdinaryMetadataKeys(parent, P); - if (parentKeys.length <= 0) - return ownKeys2; - if (ownKeys2.length <= 0) - return parentKeys; - var set2 = new _Set(); - var keys2 = []; - for (var _i = 0, ownKeys_1 = ownKeys2; _i < ownKeys_1.length; _i++) { - var key = ownKeys_1[_i]; - var hasKey = set2.has(key); - if (!hasKey) { - set2.add(key); - keys2.push(key); - } - } - for (var _a = 0, parentKeys_1 = parentKeys; _a < parentKeys_1.length; _a++) { - var key = parentKeys_1[_a]; - var hasKey = set2.has(key); - if (!hasKey) { - set2.add(key); - keys2.push(key); - } - } - return keys2; - } - __name(OrdinaryMetadataKeys, "OrdinaryMetadataKeys"); - function OrdinaryOwnMetadataKeys(O, P) { - var provider = GetMetadataProvider( - O, - P, - /*create*/ - false - ); - if (!provider) { - return []; - } - return provider.OrdinaryOwnMetadataKeys(O, P); - } - __name(OrdinaryOwnMetadataKeys, "OrdinaryOwnMetadataKeys"); - function Type2(x2) { - if (x2 === null) - return 1; - switch (typeof x2) { - case "undefined": - return 0; - case "boolean": - return 2; - case "string": - return 3; - case "symbol": - return 4; - case "number": - return 5; - case "object": - return x2 === null ? 1 : 6; - default: - return 6; - } - } - __name(Type2, "Type"); - function IsUndefined(x2) { - return x2 === void 0; - } - __name(IsUndefined, "IsUndefined"); - function IsNull(x2) { - return x2 === null; - } - __name(IsNull, "IsNull"); - function IsSymbol(x2) { - return typeof x2 === "symbol"; - } - __name(IsSymbol, "IsSymbol"); - function IsObject(x2) { - return typeof x2 === "object" ? x2 !== null : typeof x2 === "function"; - } - __name(IsObject, "IsObject"); - function ToPrimitive(input, PreferredType) { - switch (Type2(input)) { - case 0: - return input; - case 1: - return input; - case 2: - return input; - case 3: - return input; - case 4: - return input; - case 5: - return input; - } - var hint = PreferredType === 3 ? "string" : PreferredType === 5 ? "number" : "default"; - var exoticToPrim = GetMethod(input, toPrimitiveSymbol); - if (exoticToPrim !== void 0) { - var result = exoticToPrim.call(input, hint); - if (IsObject(result)) - throw new TypeError(); - return result; - } - return OrdinaryToPrimitive(input, hint === "default" ? "number" : hint); - } - __name(ToPrimitive, "ToPrimitive"); - function OrdinaryToPrimitive(O, hint) { - if (hint === "string") { - var toString_1 = O.toString; - if (IsCallable(toString_1)) { - var result = toString_1.call(O); - if (!IsObject(result)) - return result; - } - var valueOf = O.valueOf; - if (IsCallable(valueOf)) { - var result = valueOf.call(O); - if (!IsObject(result)) - return result; - } - } else { - var valueOf = O.valueOf; - if (IsCallable(valueOf)) { - var result = valueOf.call(O); - if (!IsObject(result)) - return result; - } - var toString_2 = O.toString; - if (IsCallable(toString_2)) { - var result = toString_2.call(O); - if (!IsObject(result)) - return result; - } - } - throw new TypeError(); - } - __name(OrdinaryToPrimitive, "OrdinaryToPrimitive"); - function ToBoolean(argument) { - return !!argument; - } - __name(ToBoolean, "ToBoolean"); - function ToString(argument) { - return "" + argument; - } - __name(ToString, "ToString"); - function ToPropertyKey(argument) { - var key = ToPrimitive( - argument, - 3 - /* String */ - ); - if (IsSymbol(key)) - return key; - return ToString(key); - } - __name(ToPropertyKey, "ToPropertyKey"); - function IsArray(argument) { - return Array.isArray ? Array.isArray(argument) : argument instanceof Object ? argument instanceof Array : Object.prototype.toString.call(argument) === "[object Array]"; - } - __name(IsArray, "IsArray"); - function IsCallable(argument) { - return typeof argument === "function"; - } - __name(IsCallable, "IsCallable"); - function IsConstructor(argument) { - return typeof argument === "function"; - } - __name(IsConstructor, "IsConstructor"); - function IsPropertyKey(argument) { - switch (Type2(argument)) { - case 3: - return true; - case 4: - return true; - default: - return false; - } - } - __name(IsPropertyKey, "IsPropertyKey"); - function SameValueZero(x2, y2) { - return x2 === y2 || x2 !== x2 && y2 !== y2; - } - __name(SameValueZero, "SameValueZero"); - function GetMethod(V, P) { - var func = V[P]; - if (func === void 0 || func === null) - return void 0; - if (!IsCallable(func)) - throw new TypeError(); - return func; - } - __name(GetMethod, "GetMethod"); - function GetIterator(obj) { - var method = GetMethod(obj, iteratorSymbol); - if (!IsCallable(method)) - throw new TypeError(); - var iterator = method.call(obj); - if (!IsObject(iterator)) - throw new TypeError(); - return iterator; - } - __name(GetIterator, "GetIterator"); - function IteratorValue(iterResult) { - return iterResult.value; - } - __name(IteratorValue, "IteratorValue"); - function IteratorStep(iterator) { - var result = iterator.next(); - return result.done ? false : result; - } - __name(IteratorStep, "IteratorStep"); - function IteratorClose(iterator) { - var f = iterator["return"]; - if (f) - f.call(iterator); - } - __name(IteratorClose, "IteratorClose"); - function OrdinaryGetPrototypeOf(O) { - var proto = Object.getPrototypeOf(O); - if (typeof O !== "function" || O === functionPrototype) - return proto; - if (proto !== functionPrototype) - return proto; - var prototype2 = O.prototype; - var prototypeProto = prototype2 && Object.getPrototypeOf(prototype2); - if (prototypeProto == null || prototypeProto === Object.prototype) - return proto; - var constructor = prototypeProto.constructor; - if (typeof constructor !== "function") - return proto; - if (constructor === O) - return proto; - return constructor; - } - __name(OrdinaryGetPrototypeOf, "OrdinaryGetPrototypeOf"); - function CreateMetadataRegistry() { - var fallback; - if (!IsUndefined(registrySymbol) && typeof root26.Reflect !== "undefined" && !(registrySymbol in root26.Reflect) && typeof root26.Reflect.defineMetadata === "function") { - fallback = CreateFallbackProvider(root26.Reflect); - } - var first; - var second; - var rest; - var targetProviderMap = new _WeakMap(); - var registry = { - registerProvider, - getProvider, - setProvider - }; - return registry; - function registerProvider(provider) { - if (!Object.isExtensible(registry)) { - throw new Error("Cannot add provider to a frozen registry."); - } - switch (true) { - case fallback === provider: - break; - case IsUndefined(first): - first = provider; - break; - case first === provider: - break; - case IsUndefined(second): - second = provider; - break; - case second === provider: - break; - default: - if (rest === void 0) - rest = new _Set(); - rest.add(provider); - break; - } - } - __name(registerProvider, "registerProvider"); - function getProviderNoCache(O, P) { - if (!IsUndefined(first)) { - if (first.isProviderFor(O, P)) - return first; - if (!IsUndefined(second)) { - if (second.isProviderFor(O, P)) - return first; - if (!IsUndefined(rest)) { - var iterator = GetIterator(rest); - while (true) { - var next2 = IteratorStep(iterator); - if (!next2) { - return void 0; - } - var provider = IteratorValue(next2); - if (provider.isProviderFor(O, P)) { - IteratorClose(iterator); - return provider; - } - } - } - } - } - if (!IsUndefined(fallback) && fallback.isProviderFor(O, P)) { - return fallback; - } - return void 0; - } - __name(getProviderNoCache, "getProviderNoCache"); - function getProvider(O, P) { - var providerMap = targetProviderMap.get(O); - var provider; - if (!IsUndefined(providerMap)) { - provider = providerMap.get(P); - } - if (!IsUndefined(provider)) { - return provider; - } - provider = getProviderNoCache(O, P); - if (!IsUndefined(provider)) { - if (IsUndefined(providerMap)) { - providerMap = new _Map(); - targetProviderMap.set(O, providerMap); - } - providerMap.set(P, provider); - } - return provider; - } - __name(getProvider, "getProvider"); - function hasProvider(provider) { - if (IsUndefined(provider)) - throw new TypeError(); - return first === provider || second === provider || !IsUndefined(rest) && rest.has(provider); - } - __name(hasProvider, "hasProvider"); - function setProvider(O, P, provider) { - if (!hasProvider(provider)) { - throw new Error("Metadata provider not registered."); - } - var existingProvider = getProvider(O, P); - if (existingProvider !== provider) { - if (!IsUndefined(existingProvider)) { - return false; - } - var providerMap = targetProviderMap.get(O); - if (IsUndefined(providerMap)) { - providerMap = new _Map(); - targetProviderMap.set(O, providerMap); - } - providerMap.set(P, provider); - } - return true; - } - __name(setProvider, "setProvider"); - } - __name(CreateMetadataRegistry, "CreateMetadataRegistry"); - function GetOrCreateMetadataRegistry() { - var metadataRegistry2; - if (!IsUndefined(registrySymbol) && IsObject(root26.Reflect) && Object.isExtensible(root26.Reflect)) { - metadataRegistry2 = root26.Reflect[registrySymbol]; - } - if (IsUndefined(metadataRegistry2)) { - metadataRegistry2 = CreateMetadataRegistry(); - } - if (!IsUndefined(registrySymbol) && IsObject(root26.Reflect) && Object.isExtensible(root26.Reflect)) { - Object.defineProperty(root26.Reflect, registrySymbol, { - enumerable: false, - configurable: false, - writable: false, - value: metadataRegistry2 - }); - } - return metadataRegistry2; - } - __name(GetOrCreateMetadataRegistry, "GetOrCreateMetadataRegistry"); - function CreateMetadataProvider(registry) { - var metadata2 = new _WeakMap(); - var provider = { - isProviderFor: /* @__PURE__ */ __name(function(O, P) { - var targetMetadata = metadata2.get(O); - if (IsUndefined(targetMetadata)) - return false; - return targetMetadata.has(P); - }, "isProviderFor"), - OrdinaryDefineOwnMetadata: OrdinaryDefineOwnMetadata2, - OrdinaryHasOwnMetadata: OrdinaryHasOwnMetadata2, - OrdinaryGetOwnMetadata: OrdinaryGetOwnMetadata2, - OrdinaryOwnMetadataKeys: OrdinaryOwnMetadataKeys2, - OrdinaryDeleteMetadata - }; - metadataRegistry.registerProvider(provider); - return provider; - function GetOrCreateMetadataMap(O, P, Create) { - var targetMetadata = metadata2.get(O); - var createdTargetMetadata = false; - if (IsUndefined(targetMetadata)) { - if (!Create) - return void 0; - targetMetadata = new _Map(); - metadata2.set(O, targetMetadata); - createdTargetMetadata = true; - } - var metadataMap = targetMetadata.get(P); - if (IsUndefined(metadataMap)) { - if (!Create) - return void 0; - metadataMap = new _Map(); - targetMetadata.set(P, metadataMap); - if (!registry.setProvider(O, P, provider)) { - targetMetadata.delete(P); - if (createdTargetMetadata) { - metadata2.delete(O); - } - throw new Error("Wrong provider for target."); - } - } - return metadataMap; - } - __name(GetOrCreateMetadataMap, "GetOrCreateMetadataMap"); - function OrdinaryHasOwnMetadata2(MetadataKey, O, P) { - var metadataMap = GetOrCreateMetadataMap( - O, - P, - /*Create*/ - false - ); - if (IsUndefined(metadataMap)) - return false; - return ToBoolean(metadataMap.has(MetadataKey)); - } - __name(OrdinaryHasOwnMetadata2, "OrdinaryHasOwnMetadata"); - function OrdinaryGetOwnMetadata2(MetadataKey, O, P) { - var metadataMap = GetOrCreateMetadataMap( - O, - P, - /*Create*/ - false - ); - if (IsUndefined(metadataMap)) - return void 0; - return metadataMap.get(MetadataKey); - } - __name(OrdinaryGetOwnMetadata2, "OrdinaryGetOwnMetadata"); - function OrdinaryDefineOwnMetadata2(MetadataKey, MetadataValue, O, P) { - var metadataMap = GetOrCreateMetadataMap( - O, - P, - /*Create*/ - true - ); - metadataMap.set(MetadataKey, MetadataValue); - } - __name(OrdinaryDefineOwnMetadata2, "OrdinaryDefineOwnMetadata"); - function OrdinaryOwnMetadataKeys2(O, P) { - var keys2 = []; - var metadataMap = GetOrCreateMetadataMap( - O, - P, - /*Create*/ - false - ); - if (IsUndefined(metadataMap)) - return keys2; - var keysObj = metadataMap.keys(); - var iterator = GetIterator(keysObj); - var k = 0; - while (true) { - var next2 = IteratorStep(iterator); - if (!next2) { - keys2.length = k; - return keys2; - } - var nextValue = IteratorValue(next2); - try { - keys2[k] = nextValue; - } catch (e) { - try { - IteratorClose(iterator); - } finally { - throw e; - } - } - k++; - } - } - __name(OrdinaryOwnMetadataKeys2, "OrdinaryOwnMetadataKeys"); - function OrdinaryDeleteMetadata(MetadataKey, O, P) { - var metadataMap = GetOrCreateMetadataMap( - O, - P, - /*Create*/ - false - ); - if (IsUndefined(metadataMap)) - return false; - if (!metadataMap.delete(MetadataKey)) - return false; - if (metadataMap.size === 0) { - var targetMetadata = metadata2.get(O); - if (!IsUndefined(targetMetadata)) { - targetMetadata.delete(P); - if (targetMetadata.size === 0) { - metadata2.delete(targetMetadata); - } - } - } - return true; - } - __name(OrdinaryDeleteMetadata, "OrdinaryDeleteMetadata"); - } - __name(CreateMetadataProvider, "CreateMetadataProvider"); - function CreateFallbackProvider(reflect) { - var defineMetadata2 = reflect.defineMetadata, hasOwnMetadata2 = reflect.hasOwnMetadata, getOwnMetadata2 = reflect.getOwnMetadata, getOwnMetadataKeys2 = reflect.getOwnMetadataKeys, deleteMetadata2 = reflect.deleteMetadata; - var metadataOwner = new _WeakMap(); - var provider = { - isProviderFor: /* @__PURE__ */ __name(function(O, P) { - var metadataPropertySet = metadataOwner.get(O); - if (!IsUndefined(metadataPropertySet) && metadataPropertySet.has(P)) { - return true; - } - if (getOwnMetadataKeys2(O, P).length) { - if (IsUndefined(metadataPropertySet)) { - metadataPropertySet = new _Set(); - metadataOwner.set(O, metadataPropertySet); - } - metadataPropertySet.add(P); - return true; - } - return false; - }, "isProviderFor"), - OrdinaryDefineOwnMetadata: defineMetadata2, - OrdinaryHasOwnMetadata: hasOwnMetadata2, - OrdinaryGetOwnMetadata: getOwnMetadata2, - OrdinaryOwnMetadataKeys: getOwnMetadataKeys2, - OrdinaryDeleteMetadata: deleteMetadata2 - }; - return provider; - } - __name(CreateFallbackProvider, "CreateFallbackProvider"); - function GetMetadataProvider(O, P, Create) { - var registeredProvider = metadataRegistry.getProvider(O, P); - if (!IsUndefined(registeredProvider)) { - return registeredProvider; - } - if (Create) { - if (metadataRegistry.setProvider(O, P, metadataProvider)) { - return metadataProvider; - } - throw new Error("Illegal state."); - } - return void 0; - } - __name(GetMetadataProvider, "GetMetadataProvider"); - function CreateMapPolyfill() { - var cacheSentinel = {}; - var arraySentinel = []; - var MapIterator = ( - /** @class */ - function() { - function MapIterator2(keys2, values2, selector) { - this._index = 0; - this._keys = keys2; - this._values = values2; - this._selector = selector; - } - __name(MapIterator2, "MapIterator"); - MapIterator2.prototype["@@iterator"] = function() { - return this; - }; - MapIterator2.prototype[iteratorSymbol] = function() { - return this; - }; - MapIterator2.prototype.next = function() { - var index2 = this._index; - if (index2 >= 0 && index2 < this._keys.length) { - var result = this._selector(this._keys[index2], this._values[index2]); - if (index2 + 1 >= this._keys.length) { - this._index = -1; - this._keys = arraySentinel; - this._values = arraySentinel; - } else { - this._index++; - } - return { value: result, done: false }; - } - return { value: void 0, done: true }; - }; - MapIterator2.prototype.throw = function(error) { - if (this._index >= 0) { - this._index = -1; - this._keys = arraySentinel; - this._values = arraySentinel; - } - throw error; - }; - MapIterator2.prototype.return = function(value3) { - if (this._index >= 0) { - this._index = -1; - this._keys = arraySentinel; - this._values = arraySentinel; - } - return { value: value3, done: true }; - }; - return MapIterator2; - }() - ); - var Map2 = ( - /** @class */ - function() { - function Map3() { - this._keys = []; - this._values = []; - this._cacheKey = cacheSentinel; - this._cacheIndex = -2; - } - __name(Map3, "Map"); - Object.defineProperty(Map3.prototype, "size", { - get: /* @__PURE__ */ __name(function() { - return this._keys.length; - }, "get"), - enumerable: true, - configurable: true - }); - Map3.prototype.has = function(key) { - return this._find( - key, - /*insert*/ - false - ) >= 0; - }; - Map3.prototype.get = function(key) { - var index2 = this._find( - key, - /*insert*/ - false - ); - return index2 >= 0 ? this._values[index2] : void 0; - }; - Map3.prototype.set = function(key, value3) { - var index2 = this._find( - key, - /*insert*/ - true - ); - this._values[index2] = value3; - return this; - }; - Map3.prototype.delete = function(key) { - var index2 = this._find( - key, - /*insert*/ - false - ); - if (index2 >= 0) { - var size2 = this._keys.length; - for (var i2 = index2 + 1; i2 < size2; i2++) { - this._keys[i2 - 1] = this._keys[i2]; - this._values[i2 - 1] = this._values[i2]; - } - this._keys.length--; - this._values.length--; - if (SameValueZero(key, this._cacheKey)) { - this._cacheKey = cacheSentinel; - this._cacheIndex = -2; - } - return true; - } - return false; - }; - Map3.prototype.clear = function() { - this._keys.length = 0; - this._values.length = 0; - this._cacheKey = cacheSentinel; - this._cacheIndex = -2; - }; - Map3.prototype.keys = function() { - return new MapIterator(this._keys, this._values, getKey); - }; - Map3.prototype.values = function() { - return new MapIterator(this._keys, this._values, getValue2); - }; - Map3.prototype.entries = function() { - return new MapIterator(this._keys, this._values, getEntry); - }; - Map3.prototype["@@iterator"] = function() { - return this.entries(); - }; - Map3.prototype[iteratorSymbol] = function() { - return this.entries(); - }; - Map3.prototype._find = function(key, insert2) { - if (!SameValueZero(this._cacheKey, key)) { - this._cacheIndex = -1; - for (var i2 = 0; i2 < this._keys.length; i2++) { - if (SameValueZero(this._keys[i2], key)) { - this._cacheIndex = i2; - break; - } - } - } - if (this._cacheIndex < 0 && insert2) { - this._cacheIndex = this._keys.length; - this._keys.push(key); - this._values.push(void 0); - } - return this._cacheIndex; - }; - return Map3; - }() - ); - return Map2; - function getKey(key, _2) { - return key; - } - __name(getKey, "getKey"); - function getValue2(_2, value3) { - return value3; - } - __name(getValue2, "getValue"); - function getEntry(key, value3) { - return [key, value3]; - } - __name(getEntry, "getEntry"); - } - __name(CreateMapPolyfill, "CreateMapPolyfill"); - function CreateSetPolyfill() { - var Set2 = ( - /** @class */ - function() { - function Set3() { - this._map = new _Map(); - } - __name(Set3, "Set"); - Object.defineProperty(Set3.prototype, "size", { - get: /* @__PURE__ */ __name(function() { - return this._map.size; - }, "get"), - enumerable: true, - configurable: true - }); - Set3.prototype.has = function(value3) { - return this._map.has(value3); - }; - Set3.prototype.add = function(value3) { - return this._map.set(value3, value3), this; - }; - Set3.prototype.delete = function(value3) { - return this._map.delete(value3); - }; - Set3.prototype.clear = function() { - this._map.clear(); - }; - Set3.prototype.keys = function() { - return this._map.keys(); - }; - Set3.prototype.values = function() { - return this._map.keys(); - }; - Set3.prototype.entries = function() { - return this._map.entries(); - }; - Set3.prototype["@@iterator"] = function() { - return this.keys(); - }; - Set3.prototype[iteratorSymbol] = function() { - return this.keys(); - }; - return Set3; - }() - ); - return Set2; - } - __name(CreateSetPolyfill, "CreateSetPolyfill"); - function CreateWeakMapPolyfill() { - var UUID_SIZE = 16; - var keys2 = HashMap.create(); - var rootKey = CreateUniqueKey(); - return ( - /** @class */ - function() { - function WeakMap2() { - this._key = CreateUniqueKey(); - } - __name(WeakMap2, "WeakMap"); - WeakMap2.prototype.has = function(target) { - var table = GetOrCreateWeakMapTable( - target, - /*create*/ - false - ); - return table !== void 0 ? HashMap.has(table, this._key) : false; - }; - WeakMap2.prototype.get = function(target) { - var table = GetOrCreateWeakMapTable( - target, - /*create*/ - false - ); - return table !== void 0 ? HashMap.get(table, this._key) : void 0; - }; - WeakMap2.prototype.set = function(target, value3) { - var table = GetOrCreateWeakMapTable( - target, - /*create*/ - true - ); - table[this._key] = value3; - return this; - }; - WeakMap2.prototype.delete = function(target) { - var table = GetOrCreateWeakMapTable( - target, - /*create*/ - false - ); - return table !== void 0 ? delete table[this._key] : false; - }; - WeakMap2.prototype.clear = function() { - this._key = CreateUniqueKey(); - }; - return WeakMap2; - }() - ); - function CreateUniqueKey() { - var key; - do - key = "@@WeakMap@@" + CreateUUID(); - while (HashMap.has(keys2, key)); - keys2[key] = true; - return key; - } - __name(CreateUniqueKey, "CreateUniqueKey"); - function GetOrCreateWeakMapTable(target, create2) { - if (!hasOwn2.call(target, rootKey)) { - if (!create2) - return void 0; - Object.defineProperty(target, rootKey, { value: HashMap.create() }); - } - return target[rootKey]; - } - __name(GetOrCreateWeakMapTable, "GetOrCreateWeakMapTable"); - function FillRandomBytes(buffer2, size2) { - for (var i2 = 0; i2 < size2; ++i2) - buffer2[i2] = Math.random() * 255 | 0; - return buffer2; - } - __name(FillRandomBytes, "FillRandomBytes"); - function GenRandomBytes(size2) { - if (typeof Uint8Array === "function") { - var array = new Uint8Array(size2); - if (typeof crypto !== "undefined") { - crypto.getRandomValues(array); - } else if (typeof msCrypto !== "undefined") { - msCrypto.getRandomValues(array); - } else { - FillRandomBytes(array, size2); - } - return array; - } - return FillRandomBytes(new Array(size2), size2); - } - __name(GenRandomBytes, "GenRandomBytes"); - function CreateUUID() { - var data24 = GenRandomBytes(UUID_SIZE); - data24[6] = data24[6] & 79 | 64; - data24[8] = data24[8] & 191 | 128; - var result = ""; - for (var offset = 0; offset < UUID_SIZE; ++offset) { - var byte = data24[offset]; - if (offset === 4 || offset === 6 || offset === 8) - result += "-"; - if (byte < 16) - result += "0"; - result += byte.toString(16).toLowerCase(); - } - return result; - } - __name(CreateUUID, "CreateUUID"); - } - __name(CreateWeakMapPolyfill, "CreateWeakMapPolyfill"); - function MakeDictionary(obj) { - obj.__ = void 0; - delete obj.__; - return obj; - } - __name(MakeDictionary, "MakeDictionary"); - }); -})(Reflect$1 || (Reflect$1 = {})); -window["__COMFYUI_FRONTEND_VERSION__"] = "1.2.40"; -console.log("ComfyUI Front-end version:", "1.2.40"); -/** -* @vue/shared v3.4.31 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/ -/*! #__NO_SIDE_EFFECTS__ */ -// @__NO_SIDE_EFFECTS__ -function makeMap(str, expectsLowerCase) { - const set2 = new Set(str.split(",")); - return expectsLowerCase ? (val) => set2.has(val.toLowerCase()) : (val) => set2.has(val); -} -__name(makeMap, "makeMap"); -const EMPTY_OBJ = false ? Object.freeze({}) : {}; -const EMPTY_ARR = false ? Object.freeze([]) : []; -const NOOP = /* @__PURE__ */ __name(() => { -}, "NOOP"); -const NO = /* @__PURE__ */ __name(() => false, "NO"); -const isOn = /* @__PURE__ */ __name((key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter -(key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97), "isOn"); -const isModelListener = /* @__PURE__ */ __name((key) => key.startsWith("onUpdate:"), "isModelListener"); -const extend$1 = Object.assign; -const remove$1 = /* @__PURE__ */ __name((arr, el) => { - const i2 = arr.indexOf(el); - if (i2 > -1) { - arr.splice(i2, 1); - } -}, "remove$1"); -const hasOwnProperty$3 = Object.prototype.hasOwnProperty; -const hasOwn$3 = /* @__PURE__ */ __name((val, key) => hasOwnProperty$3.call(val, key), "hasOwn$3"); -const isArray$4 = Array.isArray; -const isMap = /* @__PURE__ */ __name((val) => toTypeString$1(val) === "[object Map]", "isMap"); -const isSet = /* @__PURE__ */ __name((val) => toTypeString$1(val) === "[object Set]", "isSet"); -const isDate$3 = /* @__PURE__ */ __name((val) => toTypeString$1(val) === "[object Date]", "isDate$3"); -const isRegExp$2 = /* @__PURE__ */ __name((val) => toTypeString$1(val) === "[object RegExp]", "isRegExp$2"); -const isFunction$4 = /* @__PURE__ */ __name((val) => typeof val === "function", "isFunction$4"); -const isString$5 = /* @__PURE__ */ __name((val) => typeof val === "string", "isString$5"); -const isSymbol$1 = /* @__PURE__ */ __name((val) => typeof val === "symbol", "isSymbol$1"); -const isObject$6 = /* @__PURE__ */ __name((val) => val !== null && typeof val === "object", "isObject$6"); -const isPromise$2 = /* @__PURE__ */ __name((val) => { - return (isObject$6(val) || isFunction$4(val)) && isFunction$4(val.then) && isFunction$4(val.catch); -}, "isPromise$2"); -const objectToString$1 = Object.prototype.toString; -const toTypeString$1 = /* @__PURE__ */ __name((value3) => objectToString$1.call(value3), "toTypeString$1"); -const toRawType = /* @__PURE__ */ __name((value3) => { - return toTypeString$1(value3).slice(8, -1); -}, "toRawType"); -const isPlainObject$3 = /* @__PURE__ */ __name((val) => toTypeString$1(val) === "[object Object]", "isPlainObject$3"); -const isIntegerKey = /* @__PURE__ */ __name((key) => isString$5(key) && key !== "NaN" && key[0] !== "-" && "" + parseInt(key, 10) === key, "isIntegerKey"); -const isReservedProp = /* @__PURE__ */ makeMap( - // the leading comma is intentional so empty string "" is also included - ",key,ref,ref_for,ref_key,onVnodeBeforeMount,onVnodeMounted,onVnodeBeforeUpdate,onVnodeUpdated,onVnodeBeforeUnmount,onVnodeUnmounted" -); -const isBuiltInDirective = /* @__PURE__ */ makeMap( - "bind,cloak,else-if,else,for,html,if,model,on,once,pre,show,slot,text,memo" -); -const cacheStringFunction$1 = /* @__PURE__ */ __name((fn) => { - const cache2 = /* @__PURE__ */ Object.create(null); - return (str) => { - const hit = cache2[str]; - return hit || (cache2[str] = fn(str)); - }; -}, "cacheStringFunction$1"); -const camelizeRE$1 = /-(\w)/g; -const camelize$1 = cacheStringFunction$1((str) => { - return str.replace(camelizeRE$1, (_2, c) => c ? c.toUpperCase() : ""); -}); -const hyphenateRE$1 = /\B([A-Z])/g; -const hyphenate$1 = cacheStringFunction$1( - (str) => str.replace(hyphenateRE$1, "-$1").toLowerCase() -); -const capitalize$1 = cacheStringFunction$1((str) => { - return str.charAt(0).toUpperCase() + str.slice(1); -}); -const toHandlerKey = cacheStringFunction$1((str) => { - const s = str ? `on${capitalize$1(str)}` : ``; - return s; -}); -const hasChanged = /* @__PURE__ */ __name((value3, oldValue) => !Object.is(value3, oldValue), "hasChanged"); -const invokeArrayFns = /* @__PURE__ */ __name((fns, ...arg) => { - for (let i2 = 0; i2 < fns.length; i2++) { - fns[i2](...arg); - } -}, "invokeArrayFns"); -const def = /* @__PURE__ */ __name((obj, key, value3, writable = false) => { - Object.defineProperty(obj, key, { - configurable: true, - enumerable: false, - writable, - value: value3 - }); -}, "def"); -const looseToNumber = /* @__PURE__ */ __name((val) => { - const n = parseFloat(val); - return isNaN(n) ? val : n; -}, "looseToNumber"); -const toNumber = /* @__PURE__ */ __name((val) => { - const n = isString$5(val) ? Number(val) : NaN; - return isNaN(n) ? val : n; -}, "toNumber"); -let _globalThis$1; -const getGlobalThis$1 = /* @__PURE__ */ __name(() => { - return _globalThis$1 || (_globalThis$1 = typeof globalThis !== "undefined" ? globalThis : typeof self !== "undefined" ? self : typeof window !== "undefined" ? window : typeof global !== "undefined" ? global : {}); -}, "getGlobalThis$1"); -const identRE = /^[_$a-zA-Z\xA0-\uFFFF][_$a-zA-Z0-9\xA0-\uFFFF]*$/; -function genPropsAccessExp(name) { - return identRE.test(name) ? `__props.${name}` : `__props[${JSON.stringify(name)}]`; -} -__name(genPropsAccessExp, "genPropsAccessExp"); -const PatchFlags = { - "TEXT": 1, - "1": "TEXT", - "CLASS": 2, - "2": "CLASS", - "STYLE": 4, - "4": "STYLE", - "PROPS": 8, - "8": "PROPS", - "FULL_PROPS": 16, - "16": "FULL_PROPS", - "NEED_HYDRATION": 32, - "32": "NEED_HYDRATION", - "STABLE_FRAGMENT": 64, - "64": "STABLE_FRAGMENT", - "KEYED_FRAGMENT": 128, - "128": "KEYED_FRAGMENT", - "UNKEYED_FRAGMENT": 256, - "256": "UNKEYED_FRAGMENT", - "NEED_PATCH": 512, - "512": "NEED_PATCH", - "DYNAMIC_SLOTS": 1024, - "1024": "DYNAMIC_SLOTS", - "DEV_ROOT_FRAGMENT": 2048, - "2048": "DEV_ROOT_FRAGMENT", - "HOISTED": -1, - "-1": "HOISTED", - "BAIL": -2, - "-2": "BAIL" -}; -const PatchFlagNames = { - [1]: `TEXT`, - [2]: `CLASS`, - [4]: `STYLE`, - [8]: `PROPS`, - [16]: `FULL_PROPS`, - [32]: `NEED_HYDRATION`, - [64]: `STABLE_FRAGMENT`, - [128]: `KEYED_FRAGMENT`, - [256]: `UNKEYED_FRAGMENT`, - [512]: `NEED_PATCH`, - [1024]: `DYNAMIC_SLOTS`, - [2048]: `DEV_ROOT_FRAGMENT`, - [-1]: `HOISTED`, - [-2]: `BAIL` -}; -const ShapeFlags = { - "ELEMENT": 1, - "1": "ELEMENT", - "FUNCTIONAL_COMPONENT": 2, - "2": "FUNCTIONAL_COMPONENT", - "STATEFUL_COMPONENT": 4, - "4": "STATEFUL_COMPONENT", - "TEXT_CHILDREN": 8, - "8": "TEXT_CHILDREN", - "ARRAY_CHILDREN": 16, - "16": "ARRAY_CHILDREN", - "SLOTS_CHILDREN": 32, - "32": "SLOTS_CHILDREN", - "TELEPORT": 64, - "64": "TELEPORT", - "SUSPENSE": 128, - "128": "SUSPENSE", - "COMPONENT_SHOULD_KEEP_ALIVE": 256, - "256": "COMPONENT_SHOULD_KEEP_ALIVE", - "COMPONENT_KEPT_ALIVE": 512, - "512": "COMPONENT_KEPT_ALIVE", - "COMPONENT": 6, - "6": "COMPONENT" -}; -const SlotFlags = { - "STABLE": 1, - "1": "STABLE", - "DYNAMIC": 2, - "2": "DYNAMIC", - "FORWARDED": 3, - "3": "FORWARDED" -}; -const slotFlagsText = { - [1]: "STABLE", - [2]: "DYNAMIC", - [3]: "FORWARDED" -}; -const GLOBALS_ALLOWED = "Infinity,undefined,NaN,isFinite,isNaN,parseFloat,parseInt,decodeURI,decodeURIComponent,encodeURI,encodeURIComponent,Math,Number,Date,Array,Object,Boolean,String,RegExp,Map,Set,JSON,Intl,BigInt,console,Error"; -const isGloballyAllowed = /* @__PURE__ */ makeMap(GLOBALS_ALLOWED); -const isGloballyWhitelisted = isGloballyAllowed; -const range = 2; -function generateCodeFrame$1(source, start2 = 0, end = source.length) { - start2 = Math.max(0, Math.min(start2, source.length)); - end = Math.max(0, Math.min(end, source.length)); - if (start2 > end) return ""; - let lines = source.split(/(\r?\n)/); - const newlineSequences = lines.filter((_2, idx) => idx % 2 === 1); - lines = lines.filter((_2, idx) => idx % 2 === 0); - let count = 0; - const res = []; - for (let i2 = 0; i2 < lines.length; i2++) { - count += lines[i2].length + (newlineSequences[i2] && newlineSequences[i2].length || 0); - if (count >= start2) { - for (let j = i2 - range; j <= i2 + range || end > count; j++) { - if (j < 0 || j >= lines.length) continue; - const line = j + 1; - res.push( - `${line}${" ".repeat(Math.max(3 - String(line).length, 0))}| ${lines[j]}` - ); - const lineLength = lines[j].length; - const newLineSeqLength = newlineSequences[j] && newlineSequences[j].length || 0; - if (j === i2) { - const pad = start2 - (count - (lineLength + newLineSeqLength)); - const length = Math.max( - 1, - end > count ? lineLength - pad : end - start2 - ); - res.push(` | ` + " ".repeat(pad) + "^".repeat(length)); - } else if (j > i2) { - if (end > count) { - const length = Math.max(Math.min(end - count, lineLength), 1); - res.push(` | ` + "^".repeat(length)); - } - count += lineLength + newLineSeqLength; - } - } - break; - } - } - return res.join("\n"); -} -__name(generateCodeFrame$1, "generateCodeFrame$1"); -function normalizeStyle(value3) { - if (isArray$4(value3)) { - const res = {}; - for (let i2 = 0; i2 < value3.length; i2++) { - const item2 = value3[i2]; - const normalized = isString$5(item2) ? parseStringStyle(item2) : normalizeStyle(item2); - if (normalized) { - for (const key in normalized) { - res[key] = normalized[key]; - } - } - } - return res; - } else if (isString$5(value3) || isObject$6(value3)) { - return value3; - } -} -__name(normalizeStyle, "normalizeStyle"); -const listDelimiterRE = /;(?![^(]*\))/g; -const propertyDelimiterRE = /:([^]+)/; -const styleCommentRE = /\/\*[^]*?\*\//g; -function parseStringStyle(cssText) { - const ret = {}; - cssText.replace(styleCommentRE, "").split(listDelimiterRE).forEach((item2) => { - if (item2) { - const tmp = item2.split(propertyDelimiterRE); - tmp.length > 1 && (ret[tmp[0].trim()] = tmp[1].trim()); - } - }); - return ret; -} -__name(parseStringStyle, "parseStringStyle"); -function stringifyStyle(styles) { - let ret = ""; - if (!styles || isString$5(styles)) { - return ret; - } - for (const key in styles) { - const value3 = styles[key]; - if (isString$5(value3) || typeof value3 === "number") { - const normalizedKey = key.startsWith(`--`) ? key : hyphenate$1(key); - ret += `${normalizedKey}:${value3};`; - } - } - return ret; -} -__name(stringifyStyle, "stringifyStyle"); -function normalizeClass(value3) { - let res = ""; - if (isString$5(value3)) { - res = value3; - } else if (isArray$4(value3)) { - for (let i2 = 0; i2 < value3.length; i2++) { - const normalized = normalizeClass(value3[i2]); - if (normalized) { - res += normalized + " "; - } - } - } else if (isObject$6(value3)) { - for (const name in value3) { - if (value3[name]) { - res += name + " "; - } - } - } - return res.trim(); -} -__name(normalizeClass, "normalizeClass"); -function normalizeProps(props) { - if (!props) return null; - let { class: klass, style } = props; - if (klass && !isString$5(klass)) { - props.class = normalizeClass(klass); - } - if (style) { - props.style = normalizeStyle(style); - } - return props; -} -__name(normalizeProps, "normalizeProps"); -const HTML_TAGS = "html,body,base,head,link,meta,style,title,address,article,aside,footer,header,hgroup,h1,h2,h3,h4,h5,h6,nav,section,div,dd,dl,dt,figcaption,figure,picture,hr,img,li,main,ol,p,pre,ul,a,b,abbr,bdi,bdo,br,cite,code,data,dfn,em,i,kbd,mark,q,rp,rt,ruby,s,samp,small,span,strong,sub,sup,time,u,var,wbr,area,audio,map,track,video,embed,object,param,source,canvas,script,noscript,del,ins,caption,col,colgroup,table,thead,tbody,td,th,tr,button,datalist,fieldset,form,input,label,legend,meter,optgroup,option,output,progress,select,textarea,details,dialog,menu,summary,template,blockquote,iframe,tfoot"; -const SVG_TAGS = "svg,animate,animateMotion,animateTransform,circle,clipPath,color-profile,defs,desc,discard,ellipse,feBlend,feColorMatrix,feComponentTransfer,feComposite,feConvolveMatrix,feDiffuseLighting,feDisplacementMap,feDistantLight,feDropShadow,feFlood,feFuncA,feFuncB,feFuncG,feFuncR,feGaussianBlur,feImage,feMerge,feMergeNode,feMorphology,feOffset,fePointLight,feSpecularLighting,feSpotLight,feTile,feTurbulence,filter,foreignObject,g,hatch,hatchpath,image,line,linearGradient,marker,mask,mesh,meshgradient,meshpatch,meshrow,metadata,mpath,path,pattern,polygon,polyline,radialGradient,rect,set,solidcolor,stop,switch,symbol,text,textPath,title,tspan,unknown,use,view"; -const MATH_TAGS = "annotation,annotation-xml,maction,maligngroup,malignmark,math,menclose,merror,mfenced,mfrac,mfraction,mglyph,mi,mlabeledtr,mlongdiv,mmultiscripts,mn,mo,mover,mpadded,mphantom,mprescripts,mroot,mrow,ms,mscarries,mscarry,msgroup,msline,mspace,msqrt,msrow,mstack,mstyle,msub,msubsup,msup,mtable,mtd,mtext,mtr,munder,munderover,none,semantics"; -const VOID_TAGS = "area,base,br,col,embed,hr,img,input,link,meta,param,source,track,wbr"; -const isHTMLTag = /* @__PURE__ */ makeMap(HTML_TAGS); -const isSVGTag = /* @__PURE__ */ makeMap(SVG_TAGS); -const isMathMLTag = /* @__PURE__ */ makeMap(MATH_TAGS); -const isVoidTag = /* @__PURE__ */ makeMap(VOID_TAGS); -const specialBooleanAttrs = `itemscope,allowfullscreen,formnovalidate,ismap,nomodule,novalidate,readonly`; -const isSpecialBooleanAttr = /* @__PURE__ */ makeMap(specialBooleanAttrs); -const isBooleanAttr = /* @__PURE__ */ makeMap( - specialBooleanAttrs + `,async,autofocus,autoplay,controls,default,defer,disabled,hidden,inert,loop,open,required,reversed,scoped,seamless,checked,muted,multiple,selected` -); -function includeBooleanAttr(value3) { - return !!value3 || value3 === ""; -} -__name(includeBooleanAttr, "includeBooleanAttr"); -const unsafeAttrCharRE = /[>/="'\u0009\u000a\u000c\u0020]/; -const attrValidationCache = {}; -function isSSRSafeAttrName(name) { - if (attrValidationCache.hasOwnProperty(name)) { - return attrValidationCache[name]; - } - const isUnsafe = unsafeAttrCharRE.test(name); - if (isUnsafe) { - console.error(`unsafe attribute name: ${name}`); - } - return attrValidationCache[name] = !isUnsafe; -} -__name(isSSRSafeAttrName, "isSSRSafeAttrName"); -const propsToAttrMap = { - acceptCharset: "accept-charset", - className: "class", - htmlFor: "for", - httpEquiv: "http-equiv" -}; -const isKnownHtmlAttr = /* @__PURE__ */ makeMap( - `accept,accept-charset,accesskey,action,align,allow,alt,async,autocapitalize,autocomplete,autofocus,autoplay,background,bgcolor,border,buffered,capture,challenge,charset,checked,cite,class,code,codebase,color,cols,colspan,content,contenteditable,contextmenu,controls,coords,crossorigin,csp,data,datetime,decoding,default,defer,dir,dirname,disabled,download,draggable,dropzone,enctype,enterkeyhint,for,form,formaction,formenctype,formmethod,formnovalidate,formtarget,headers,height,hidden,high,href,hreflang,http-equiv,icon,id,importance,inert,integrity,ismap,itemprop,keytype,kind,label,lang,language,loading,list,loop,low,manifest,max,maxlength,minlength,media,min,multiple,muted,name,novalidate,open,optimum,pattern,ping,placeholder,poster,preload,radiogroup,readonly,referrerpolicy,rel,required,reversed,rows,rowspan,sandbox,scope,scoped,selected,shape,size,sizes,slot,span,spellcheck,src,srcdoc,srclang,srcset,start,step,style,summary,tabindex,target,title,translate,type,usemap,value,width,wrap` -); -const isKnownSvgAttr = /* @__PURE__ */ makeMap( - `xmlns,accent-height,accumulate,additive,alignment-baseline,alphabetic,amplitude,arabic-form,ascent,attributeName,attributeType,azimuth,baseFrequency,baseline-shift,baseProfile,bbox,begin,bias,by,calcMode,cap-height,class,clip,clipPathUnits,clip-path,clip-rule,color,color-interpolation,color-interpolation-filters,color-profile,color-rendering,contentScriptType,contentStyleType,crossorigin,cursor,cx,cy,d,decelerate,descent,diffuseConstant,direction,display,divisor,dominant-baseline,dur,dx,dy,edgeMode,elevation,enable-background,end,exponent,fill,fill-opacity,fill-rule,filter,filterRes,filterUnits,flood-color,flood-opacity,font-family,font-size,font-size-adjust,font-stretch,font-style,font-variant,font-weight,format,from,fr,fx,fy,g1,g2,glyph-name,glyph-orientation-horizontal,glyph-orientation-vertical,glyphRef,gradientTransform,gradientUnits,hanging,height,href,hreflang,horiz-adv-x,horiz-origin-x,id,ideographic,image-rendering,in,in2,intercept,k,k1,k2,k3,k4,kernelMatrix,kernelUnitLength,kerning,keyPoints,keySplines,keyTimes,lang,lengthAdjust,letter-spacing,lighting-color,limitingConeAngle,local,marker-end,marker-mid,marker-start,markerHeight,markerUnits,markerWidth,mask,maskContentUnits,maskUnits,mathematical,max,media,method,min,mode,name,numOctaves,offset,opacity,operator,order,orient,orientation,origin,overflow,overline-position,overline-thickness,panose-1,paint-order,path,pathLength,patternContentUnits,patternTransform,patternUnits,ping,pointer-events,points,pointsAtX,pointsAtY,pointsAtZ,preserveAlpha,preserveAspectRatio,primitiveUnits,r,radius,referrerPolicy,refX,refY,rel,rendering-intent,repeatCount,repeatDur,requiredExtensions,requiredFeatures,restart,result,rotate,rx,ry,scale,seed,shape-rendering,slope,spacing,specularConstant,specularExponent,speed,spreadMethod,startOffset,stdDeviation,stemh,stemv,stitchTiles,stop-color,stop-opacity,strikethrough-position,strikethrough-thickness,string,stroke,stroke-dasharray,stroke-dashoffset,stroke-linecap,stroke-linejoin,stroke-miterlimit,stroke-opacity,stroke-width,style,surfaceScale,systemLanguage,tabindex,tableValues,target,targetX,targetY,text-anchor,text-decoration,text-rendering,textLength,to,transform,transform-origin,type,u1,u2,underline-position,underline-thickness,unicode,unicode-bidi,unicode-range,units-per-em,v-alphabetic,v-hanging,v-ideographic,v-mathematical,values,vector-effect,version,vert-adv-y,vert-origin-x,vert-origin-y,viewBox,viewTarget,visibility,width,widths,word-spacing,writing-mode,x,x-height,x1,x2,xChannelSelector,xlink:actuate,xlink:arcrole,xlink:href,xlink:role,xlink:show,xlink:title,xlink:type,xmlns:xlink,xml:base,xml:lang,xml:space,y,y1,y2,yChannelSelector,z,zoomAndPan` -); -function isRenderableAttrValue(value3) { - if (value3 == null) { - return false; - } - const type = typeof value3; - return type === "string" || type === "number" || type === "boolean"; -} -__name(isRenderableAttrValue, "isRenderableAttrValue"); -const escapeRE = /["'&<>]/; -function escapeHtml$1(string) { - const str = "" + string; - const match = escapeRE.exec(str); - if (!match) { - return str; - } - let html = ""; - let escaped; - let index2; - let lastIndex = 0; - for (index2 = match.index; index2 < str.length; index2++) { - switch (str.charCodeAt(index2)) { - case 34: - escaped = """; - break; - case 38: - escaped = "&"; - break; - case 39: - escaped = "'"; - break; - case 60: - escaped = "<"; - break; - case 62: - escaped = ">"; - break; - default: - continue; - } - if (lastIndex !== index2) { - html += str.slice(lastIndex, index2); - } - lastIndex = index2 + 1; - html += escaped; - } - return lastIndex !== index2 ? html + str.slice(lastIndex, index2) : html; -} -__name(escapeHtml$1, "escapeHtml$1"); -const commentStripRE = /^-?>||--!>| looseEqual(item2, val)); -} -__name(looseIndexOf, "looseIndexOf"); -const isRef$1 = /* @__PURE__ */ __name((val) => { - return !!(val && val.__v_isRef === true); -}, "isRef$1"); -const toDisplayString$1 = /* @__PURE__ */ __name((val) => { - return isString$5(val) ? val : val == null ? "" : isArray$4(val) || isObject$6(val) && (val.toString === objectToString$1 || !isFunction$4(val.toString)) ? isRef$1(val) ? toDisplayString$1(val.value) : JSON.stringify(val, replacer, 2) : String(val); -}, "toDisplayString$1"); -const replacer = /* @__PURE__ */ __name((_key, val) => { - if (isRef$1(val)) { - return replacer(_key, val.value); - } else if (isMap(val)) { - return { - [`Map(${val.size})`]: [...val.entries()].reduce( - (entries, [key, val2], i2) => { - entries[stringifySymbol(key, i2) + " =>"] = val2; - return entries; - }, - {} - ) - }; - } else if (isSet(val)) { - return { - [`Set(${val.size})`]: [...val.values()].map((v2) => stringifySymbol(v2)) - }; - } else if (isSymbol$1(val)) { - return stringifySymbol(val); - } else if (isObject$6(val) && !isArray$4(val) && !isPlainObject$3(val)) { - return String(val); - } - return val; -}, "replacer"); -const stringifySymbol = /* @__PURE__ */ __name((v2, i2 = "") => { - var _a; - return ( - // Symbol.description in es2019+ so we need to cast here to pass - // the lib: es2016 check - isSymbol$1(v2) ? `Symbol(${(_a = v2.description) != null ? _a : i2})` : v2 - ); -}, "stringifySymbol"); -/** -* @vue/reactivity v3.4.31 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/ -function warn$3(msg, ...args) { - console.warn(`[Vue warn] ${msg}`, ...args); -} -__name(warn$3, "warn$3"); -let activeEffectScope; -class EffectScope { - static { - __name(this, "EffectScope"); - } - constructor(detached = false) { - this.detached = detached; - this._active = true; - this.effects = []; - this.cleanups = []; - this.parent = activeEffectScope; - if (!detached && activeEffectScope) { - this.index = (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push( - this - ) - 1; - } - } - get active() { - return this._active; - } - run(fn) { - if (this._active) { - const currentEffectScope = activeEffectScope; - try { - activeEffectScope = this; - return fn(); - } finally { - activeEffectScope = currentEffectScope; - } - } else if (false) { - warn$3(`cannot run an inactive effect scope.`); - } - } - /** - * This should only be called on non-detached scopes - * @internal - */ - on() { - activeEffectScope = this; - } - /** - * This should only be called on non-detached scopes - * @internal - */ - off() { - activeEffectScope = this.parent; - } - stop(fromParent) { - if (this._active) { - let i2, l; - for (i2 = 0, l = this.effects.length; i2 < l; i2++) { - this.effects[i2].stop(); - } - for (i2 = 0, l = this.cleanups.length; i2 < l; i2++) { - this.cleanups[i2](); - } - if (this.scopes) { - for (i2 = 0, l = this.scopes.length; i2 < l; i2++) { - this.scopes[i2].stop(true); - } - } - if (!this.detached && this.parent && !fromParent) { - const last = this.parent.scopes.pop(); - if (last && last !== this) { - this.parent.scopes[this.index] = last; - last.index = this.index; - } - } - this.parent = void 0; - this._active = false; - } - } -} -function effectScope(detached) { - return new EffectScope(detached); -} -__name(effectScope, "effectScope"); -function recordEffectScope(effect2, scope = activeEffectScope) { - if (scope && scope.active) { - scope.effects.push(effect2); - } -} -__name(recordEffectScope, "recordEffectScope"); -function getCurrentScope() { - return activeEffectScope; -} -__name(getCurrentScope, "getCurrentScope"); -function onScopeDispose(fn) { - if (activeEffectScope) { - activeEffectScope.cleanups.push(fn); - } else if (false) { - warn$3( - `onScopeDispose() is called when there is no active effect scope to be associated with.` - ); - } -} -__name(onScopeDispose, "onScopeDispose"); -let activeEffect; -class ReactiveEffect { - static { - __name(this, "ReactiveEffect"); - } - constructor(fn, trigger2, scheduler, scope) { - this.fn = fn; - this.trigger = trigger2; - this.scheduler = scheduler; - this.active = true; - this.deps = []; - this._dirtyLevel = 4; - this._trackId = 0; - this._runnings = 0; - this._shouldSchedule = false; - this._depsLength = 0; - recordEffectScope(this, scope); - } - get dirty() { - if (this._dirtyLevel === 2 || this._dirtyLevel === 3) { - this._dirtyLevel = 1; - pauseTracking(); - for (let i2 = 0; i2 < this._depsLength; i2++) { - const dep = this.deps[i2]; - if (dep.computed) { - triggerComputed(dep.computed); - if (this._dirtyLevel >= 4) { - break; - } - } - } - if (this._dirtyLevel === 1) { - this._dirtyLevel = 0; - } - resetTracking(); - } - return this._dirtyLevel >= 4; - } - set dirty(v2) { - this._dirtyLevel = v2 ? 4 : 0; - } - run() { - this._dirtyLevel = 0; - if (!this.active) { - return this.fn(); - } - let lastShouldTrack = shouldTrack; - let lastEffect = activeEffect; - try { - shouldTrack = true; - activeEffect = this; - this._runnings++; - preCleanupEffect(this); - return this.fn(); - } finally { - postCleanupEffect(this); - this._runnings--; - activeEffect = lastEffect; - shouldTrack = lastShouldTrack; - } - } - stop() { - if (this.active) { - preCleanupEffect(this); - postCleanupEffect(this); - this.onStop && this.onStop(); - this.active = false; - } - } -} -function triggerComputed(computed2) { - return computed2.value; -} -__name(triggerComputed, "triggerComputed"); -function preCleanupEffect(effect2) { - effect2._trackId++; - effect2._depsLength = 0; -} -__name(preCleanupEffect, "preCleanupEffect"); -function postCleanupEffect(effect2) { - if (effect2.deps.length > effect2._depsLength) { - for (let i2 = effect2._depsLength; i2 < effect2.deps.length; i2++) { - cleanupDepEffect(effect2.deps[i2], effect2); - } - effect2.deps.length = effect2._depsLength; - } -} -__name(postCleanupEffect, "postCleanupEffect"); -function cleanupDepEffect(dep, effect2) { - const trackId = dep.get(effect2); - if (trackId !== void 0 && effect2._trackId !== trackId) { - dep.delete(effect2); - if (dep.size === 0) { - dep.cleanup(); - } - } -} -__name(cleanupDepEffect, "cleanupDepEffect"); -function effect(fn, options3) { - if (fn.effect instanceof ReactiveEffect) { - fn = fn.effect.fn; - } - const _effect = new ReactiveEffect(fn, NOOP, () => { - if (_effect.dirty) { - _effect.run(); - } - }); - if (options3) { - extend$1(_effect, options3); - if (options3.scope) recordEffectScope(_effect, options3.scope); - } - if (!options3 || !options3.lazy) { - _effect.run(); - } - const runner = _effect.run.bind(_effect); - runner.effect = _effect; - return runner; -} -__name(effect, "effect"); -function stop(runner) { - runner.effect.stop(); -} -__name(stop, "stop"); -let shouldTrack = true; -let pauseScheduleStack = 0; -const trackStack = []; -function pauseTracking() { - trackStack.push(shouldTrack); - shouldTrack = false; -} -__name(pauseTracking, "pauseTracking"); -function enableTracking() { - trackStack.push(shouldTrack); - shouldTrack = true; -} -__name(enableTracking, "enableTracking"); -function resetTracking() { - const last = trackStack.pop(); - shouldTrack = last === void 0 ? true : last; -} -__name(resetTracking, "resetTracking"); -function pauseScheduling() { - pauseScheduleStack++; -} -__name(pauseScheduling, "pauseScheduling"); -function resetScheduling() { - pauseScheduleStack--; - while (!pauseScheduleStack && queueEffectSchedulers.length) { - queueEffectSchedulers.shift()(); - } -} -__name(resetScheduling, "resetScheduling"); -function trackEffect(effect2, dep, debuggerEventExtraInfo) { - var _a; - if (dep.get(effect2) !== effect2._trackId) { - dep.set(effect2, effect2._trackId); - const oldDep = effect2.deps[effect2._depsLength]; - if (oldDep !== dep) { - if (oldDep) { - cleanupDepEffect(oldDep, effect2); - } - effect2.deps[effect2._depsLength++] = dep; - } else { - effect2._depsLength++; - } - if (false) { - (_a = effect2.onTrack) == null ? void 0 : _a.call(effect2, extend$1({ effect: effect2 }, debuggerEventExtraInfo)); - } - } -} -__name(trackEffect, "trackEffect"); -const queueEffectSchedulers = []; -function triggerEffects(dep, dirtyLevel, debuggerEventExtraInfo) { - var _a; - pauseScheduling(); - for (const effect2 of dep.keys()) { - let tracking; - if (effect2._dirtyLevel < dirtyLevel && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) { - effect2._shouldSchedule || (effect2._shouldSchedule = effect2._dirtyLevel === 0); - effect2._dirtyLevel = dirtyLevel; - } - if (effect2._shouldSchedule && (tracking != null ? tracking : tracking = dep.get(effect2) === effect2._trackId)) { - if (false) { - (_a = effect2.onTrigger) == null ? void 0 : _a.call(effect2, extend$1({ effect: effect2 }, debuggerEventExtraInfo)); - } - effect2.trigger(); - if ((!effect2._runnings || effect2.allowRecurse) && effect2._dirtyLevel !== 2) { - effect2._shouldSchedule = false; - if (effect2.scheduler) { - queueEffectSchedulers.push(effect2.scheduler); - } - } - } - } - resetScheduling(); -} -__name(triggerEffects, "triggerEffects"); -const createDep = /* @__PURE__ */ __name((cleanup, computed2) => { - const dep = /* @__PURE__ */ new Map(); - dep.cleanup = cleanup; - dep.computed = computed2; - return dep; -}, "createDep"); -const targetMap = /* @__PURE__ */ new WeakMap(); -const ITERATE_KEY = Symbol(false ? "iterate" : ""); -const MAP_KEY_ITERATE_KEY = Symbol(false ? "Map key iterate" : ""); -function track(target, type, key) { - if (shouldTrack && activeEffect) { - let depsMap = targetMap.get(target); - if (!depsMap) { - targetMap.set(target, depsMap = /* @__PURE__ */ new Map()); - } - let dep = depsMap.get(key); - if (!dep) { - depsMap.set(key, dep = createDep(() => depsMap.delete(key))); - } - trackEffect( - activeEffect, - dep, - false ? { - target, - type, - key - } : void 0 - ); - } -} -__name(track, "track"); -function trigger(target, type, key, newValue, oldValue, oldTarget) { - const depsMap = targetMap.get(target); - if (!depsMap) { - return; - } - let deps = []; - if (type === "clear") { - deps = [...depsMap.values()]; - } else if (key === "length" && isArray$4(target)) { - const newLength = Number(newValue); - depsMap.forEach((dep, key2) => { - if (key2 === "length" || !isSymbol$1(key2) && key2 >= newLength) { - deps.push(dep); - } - }); - } else { - if (key !== void 0) { - deps.push(depsMap.get(key)); - } - switch (type) { - case "add": - if (!isArray$4(target)) { - deps.push(depsMap.get(ITERATE_KEY)); - if (isMap(target)) { - deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } else if (isIntegerKey(key)) { - deps.push(depsMap.get("length")); - } - break; - case "delete": - if (!isArray$4(target)) { - deps.push(depsMap.get(ITERATE_KEY)); - if (isMap(target)) { - deps.push(depsMap.get(MAP_KEY_ITERATE_KEY)); - } - } - break; - case "set": - if (isMap(target)) { - deps.push(depsMap.get(ITERATE_KEY)); - } - break; - } - } - pauseScheduling(); - for (const dep of deps) { - if (dep) { - triggerEffects( - dep, - 4, - false ? { - target, - type, - key, - newValue, - oldValue, - oldTarget - } : void 0 - ); - } - } - resetScheduling(); -} -__name(trigger, "trigger"); -function getDepFromReactive(object, key) { - const depsMap = targetMap.get(object); - return depsMap && depsMap.get(key); -} -__name(getDepFromReactive, "getDepFromReactive"); -const isNonTrackableKeys = /* @__PURE__ */ makeMap(`__proto__,__v_isRef,__isVue`); -const builtInSymbols = new Set( - /* @__PURE__ */ Object.getOwnPropertyNames(Symbol).filter((key) => key !== "arguments" && key !== "caller").map((key) => Symbol[key]).filter(isSymbol$1) -); -const arrayInstrumentations = /* @__PURE__ */ createArrayInstrumentations(); -function createArrayInstrumentations() { - const instrumentations = {}; - ["includes", "indexOf", "lastIndexOf"].forEach((key) => { - instrumentations[key] = function(...args) { - const arr = toRaw(this); - for (let i2 = 0, l = this.length; i2 < l; i2++) { - track(arr, "get", i2 + ""); - } - const res = arr[key](...args); - if (res === -1 || res === false) { - return arr[key](...args.map(toRaw)); - } else { - return res; - } - }; - }); - ["push", "pop", "shift", "unshift", "splice"].forEach((key) => { - instrumentations[key] = function(...args) { - pauseTracking(); - pauseScheduling(); - const res = toRaw(this)[key].apply(this, args); - resetScheduling(); - resetTracking(); - return res; - }; - }); - return instrumentations; -} -__name(createArrayInstrumentations, "createArrayInstrumentations"); -function hasOwnProperty$2(key) { - if (!isSymbol$1(key)) key = String(key); - const obj = toRaw(this); - track(obj, "has", key); - return obj.hasOwnProperty(key); -} -__name(hasOwnProperty$2, "hasOwnProperty$2"); -class BaseReactiveHandler { - static { - __name(this, "BaseReactiveHandler"); - } - constructor(_isReadonly = false, _isShallow = false) { - this._isReadonly = _isReadonly; - this._isShallow = _isShallow; - } - get(target, key, receiver) { - const isReadonly2 = this._isReadonly, isShallow2 = this._isShallow; - if (key === "__v_isReactive") { - return !isReadonly2; - } else if (key === "__v_isReadonly") { - return isReadonly2; - } else if (key === "__v_isShallow") { - return isShallow2; - } else if (key === "__v_raw") { - if (receiver === (isReadonly2 ? isShallow2 ? shallowReadonlyMap : readonlyMap : isShallow2 ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype - // this means the reciever is a user proxy of the reactive proxy - Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) { - return target; - } - return; - } - const targetIsArray = isArray$4(target); - if (!isReadonly2) { - if (targetIsArray && hasOwn$3(arrayInstrumentations, key)) { - return Reflect.get(arrayInstrumentations, key, receiver); - } - if (key === "hasOwnProperty") { - return hasOwnProperty$2; - } - } - const res = Reflect.get(target, key, receiver); - if (isSymbol$1(key) ? builtInSymbols.has(key) : isNonTrackableKeys(key)) { - return res; - } - if (!isReadonly2) { - track(target, "get", key); - } - if (isShallow2) { - return res; - } - if (isRef(res)) { - return targetIsArray && isIntegerKey(key) ? res : res.value; - } - if (isObject$6(res)) { - return isReadonly2 ? readonly(res) : reactive(res); - } - return res; - } -} -class MutableReactiveHandler extends BaseReactiveHandler { - static { - __name(this, "MutableReactiveHandler"); - } - constructor(isShallow2 = false) { - super(false, isShallow2); - } - set(target, key, value3, receiver) { - let oldValue = target[key]; - if (!this._isShallow) { - const isOldValueReadonly = isReadonly(oldValue); - if (!isShallow(value3) && !isReadonly(value3)) { - oldValue = toRaw(oldValue); - value3 = toRaw(value3); - } - if (!isArray$4(target) && isRef(oldValue) && !isRef(value3)) { - if (isOldValueReadonly) { - return false; - } else { - oldValue.value = value3; - return true; - } - } - } - const hadKey = isArray$4(target) && isIntegerKey(key) ? Number(key) < target.length : hasOwn$3(target, key); - const result = Reflect.set(target, key, value3, receiver); - if (target === toRaw(receiver)) { - if (!hadKey) { - trigger(target, "add", key, value3); - } else if (hasChanged(value3, oldValue)) { - trigger(target, "set", key, value3, oldValue); - } - } - return result; - } - deleteProperty(target, key) { - const hadKey = hasOwn$3(target, key); - const oldValue = target[key]; - const result = Reflect.deleteProperty(target, key); - if (result && hadKey) { - trigger(target, "delete", key, void 0, oldValue); - } - return result; - } - has(target, key) { - const result = Reflect.has(target, key); - if (!isSymbol$1(key) || !builtInSymbols.has(key)) { - track(target, "has", key); - } - return result; - } - ownKeys(target) { - track( - target, - "iterate", - isArray$4(target) ? "length" : ITERATE_KEY - ); - return Reflect.ownKeys(target); - } -} -class ReadonlyReactiveHandler extends BaseReactiveHandler { - static { - __name(this, "ReadonlyReactiveHandler"); - } - constructor(isShallow2 = false) { - super(true, isShallow2); - } - set(target, key) { - if (false) { - warn$3( - `Set operation on key "${String(key)}" failed: target is readonly.`, - target - ); - } - return true; - } - deleteProperty(target, key) { - if (false) { - warn$3( - `Delete operation on key "${String(key)}" failed: target is readonly.`, - target - ); - } - return true; - } -} -const mutableHandlers = /* @__PURE__ */ new MutableReactiveHandler(); -const readonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(); -const shallowReactiveHandlers = /* @__PURE__ */ new MutableReactiveHandler( - true -); -const shallowReadonlyHandlers = /* @__PURE__ */ new ReadonlyReactiveHandler(true); -const toShallow = /* @__PURE__ */ __name((value3) => value3, "toShallow"); -const getProto = /* @__PURE__ */ __name((v2) => Reflect.getPrototypeOf(v2), "getProto"); -function get$2(target, key, isReadonly2 = false, isShallow2 = false) { - target = target["__v_raw"]; - const rawTarget = toRaw(target); - const rawKey = toRaw(key); - if (!isReadonly2) { - if (hasChanged(key, rawKey)) { - track(rawTarget, "get", key); - } - track(rawTarget, "get", rawKey); - } - const { has: has2 } = getProto(rawTarget); - const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive$1; - if (has2.call(rawTarget, key)) { - return wrap(target.get(key)); - } else if (has2.call(rawTarget, rawKey)) { - return wrap(target.get(rawKey)); - } else if (target !== rawTarget) { - target.get(key); - } -} -__name(get$2, "get$2"); -function has(key, isReadonly2 = false) { - const target = this["__v_raw"]; - const rawTarget = toRaw(target); - const rawKey = toRaw(key); - if (!isReadonly2) { - if (hasChanged(key, rawKey)) { - track(rawTarget, "has", key); - } - track(rawTarget, "has", rawKey); - } - return key === rawKey ? target.has(key) : target.has(key) || target.has(rawKey); -} -__name(has, "has"); -function size(target, isReadonly2 = false) { - target = target["__v_raw"]; - !isReadonly2 && track(toRaw(target), "iterate", ITERATE_KEY); - return Reflect.get(target, "size", target); -} -__name(size, "size"); -function add(value3) { - value3 = toRaw(value3); - const target = toRaw(this); - const proto = getProto(target); - const hadKey = proto.has.call(target, value3); - if (!hadKey) { - target.add(value3); - trigger(target, "add", value3, value3); - } - return this; -} -__name(add, "add"); -function set$4(key, value3) { - value3 = toRaw(value3); - const target = toRaw(this); - const { has: has2, get: get2 } = getProto(target); - let hadKey = has2.call(target, key); - if (!hadKey) { - key = toRaw(key); - hadKey = has2.call(target, key); - } else if (false) { - checkIdentityKeys(target, has2, key); - } - const oldValue = get2.call(target, key); - target.set(key, value3); - if (!hadKey) { - trigger(target, "add", key, value3); - } else if (hasChanged(value3, oldValue)) { - trigger(target, "set", key, value3, oldValue); - } - return this; -} -__name(set$4, "set$4"); -function deleteEntry(key) { - const target = toRaw(this); - const { has: has2, get: get2 } = getProto(target); - let hadKey = has2.call(target, key); - if (!hadKey) { - key = toRaw(key); - hadKey = has2.call(target, key); - } else if (false) { - checkIdentityKeys(target, has2, key); - } - const oldValue = get2 ? get2.call(target, key) : void 0; - const result = target.delete(key); - if (hadKey) { - trigger(target, "delete", key, void 0, oldValue); - } - return result; -} -__name(deleteEntry, "deleteEntry"); -function clear() { - const target = toRaw(this); - const hadItems = target.size !== 0; - const oldTarget = false ? isMap(target) ? new Map(target) : new Set(target) : void 0; - const result = target.clear(); - if (hadItems) { - trigger(target, "clear", void 0, void 0, oldTarget); - } - return result; -} -__name(clear, "clear"); -function createForEach(isReadonly2, isShallow2) { - return /* @__PURE__ */ __name(function forEach2(callback, thisArg) { - const observed = this; - const target = observed["__v_raw"]; - const rawTarget = toRaw(target); - const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive$1; - !isReadonly2 && track(rawTarget, "iterate", ITERATE_KEY); - return target.forEach((value3, key) => { - return callback.call(thisArg, wrap(value3), wrap(key), observed); - }); - }, "forEach"); -} -__name(createForEach, "createForEach"); -function createIterableMethod(method, isReadonly2, isShallow2) { - return function(...args) { - const target = this["__v_raw"]; - const rawTarget = toRaw(target); - const targetIsMap = isMap(rawTarget); - const isPair = method === "entries" || method === Symbol.iterator && targetIsMap; - const isKeyOnly = method === "keys" && targetIsMap; - const innerIterator = target[method](...args); - const wrap = isShallow2 ? toShallow : isReadonly2 ? toReadonly : toReactive$1; - !isReadonly2 && track( - rawTarget, - "iterate", - isKeyOnly ? MAP_KEY_ITERATE_KEY : ITERATE_KEY - ); - return { - // iterator protocol - next() { - const { value: value3, done } = innerIterator.next(); - return done ? { value: value3, done } : { - value: isPair ? [wrap(value3[0]), wrap(value3[1])] : wrap(value3), - done - }; - }, - // iterable protocol - [Symbol.iterator]() { - return this; - } - }; - }; -} -__name(createIterableMethod, "createIterableMethod"); -function createReadonlyMethod(type) { - return function(...args) { - if (false) { - const key = args[0] ? `on key "${args[0]}" ` : ``; - warn$3( - `${capitalize$1(type)} operation ${key}failed: target is readonly.`, - toRaw(this) - ); - } - return type === "delete" ? false : type === "clear" ? void 0 : this; - }; -} -__name(createReadonlyMethod, "createReadonlyMethod"); -function createInstrumentations() { - const mutableInstrumentations2 = { - get(key) { - return get$2(this, key); - }, - get size() { - return size(this); - }, - has, - add, - set: set$4, - delete: deleteEntry, - clear, - forEach: createForEach(false, false) - }; - const shallowInstrumentations2 = { - get(key) { - return get$2(this, key, false, true); - }, - get size() { - return size(this); - }, - has, - add, - set: set$4, - delete: deleteEntry, - clear, - forEach: createForEach(false, true) - }; - const readonlyInstrumentations2 = { - get(key) { - return get$2(this, key, true); - }, - get size() { - return size(this, true); - }, - has(key) { - return has.call(this, key, true); - }, - add: createReadonlyMethod("add"), - set: createReadonlyMethod("set"), - delete: createReadonlyMethod("delete"), - clear: createReadonlyMethod("clear"), - forEach: createForEach(true, false) - }; - const shallowReadonlyInstrumentations2 = { - get(key) { - return get$2(this, key, true, true); - }, - get size() { - return size(this, true); - }, - has(key) { - return has.call(this, key, true); - }, - add: createReadonlyMethod("add"), - set: createReadonlyMethod("set"), - delete: createReadonlyMethod("delete"), - clear: createReadonlyMethod("clear"), - forEach: createForEach(true, true) - }; - const iteratorMethods = [ - "keys", - "values", - "entries", - Symbol.iterator - ]; - iteratorMethods.forEach((method) => { - mutableInstrumentations2[method] = createIterableMethod(method, false, false); - readonlyInstrumentations2[method] = createIterableMethod(method, true, false); - shallowInstrumentations2[method] = createIterableMethod(method, false, true); - shallowReadonlyInstrumentations2[method] = createIterableMethod( - method, - true, - true - ); - }); - return [ - mutableInstrumentations2, - readonlyInstrumentations2, - shallowInstrumentations2, - shallowReadonlyInstrumentations2 - ]; -} -__name(createInstrumentations, "createInstrumentations"); -const [ - mutableInstrumentations, - readonlyInstrumentations, - shallowInstrumentations, - shallowReadonlyInstrumentations -] = /* @__PURE__ */ createInstrumentations(); -function createInstrumentationGetter(isReadonly2, shallow) { - const instrumentations = shallow ? isReadonly2 ? shallowReadonlyInstrumentations : shallowInstrumentations : isReadonly2 ? readonlyInstrumentations : mutableInstrumentations; - return (target, key, receiver) => { - if (key === "__v_isReactive") { - return !isReadonly2; - } else if (key === "__v_isReadonly") { - return isReadonly2; - } else if (key === "__v_raw") { - return target; - } - return Reflect.get( - hasOwn$3(instrumentations, key) && key in target ? instrumentations : target, - key, - receiver - ); - }; -} -__name(createInstrumentationGetter, "createInstrumentationGetter"); -const mutableCollectionHandlers = { - get: /* @__PURE__ */ createInstrumentationGetter(false, false) -}; -const shallowCollectionHandlers = { - get: /* @__PURE__ */ createInstrumentationGetter(false, true) -}; -const readonlyCollectionHandlers = { - get: /* @__PURE__ */ createInstrumentationGetter(true, false) -}; -const shallowReadonlyCollectionHandlers = { - get: /* @__PURE__ */ createInstrumentationGetter(true, true) -}; -function checkIdentityKeys(target, has2, key) { - const rawKey = toRaw(key); - if (rawKey !== key && has2.call(target, rawKey)) { - const type = toRawType(target); - warn$3( - `Reactive ${type} contains both the raw and reactive versions of the same object${type === `Map` ? ` as keys` : ``}, which can lead to inconsistencies. Avoid differentiating between the raw and reactive versions of an object and only use the reactive version if possible.` - ); - } -} -__name(checkIdentityKeys, "checkIdentityKeys"); -const reactiveMap = /* @__PURE__ */ new WeakMap(); -const shallowReactiveMap = /* @__PURE__ */ new WeakMap(); -const readonlyMap = /* @__PURE__ */ new WeakMap(); -const shallowReadonlyMap = /* @__PURE__ */ new WeakMap(); -function targetTypeMap(rawType) { - switch (rawType) { - case "Object": - case "Array": - return 1; - case "Map": - case "Set": - case "WeakMap": - case "WeakSet": - return 2; - default: - return 0; - } -} -__name(targetTypeMap, "targetTypeMap"); -function getTargetType(value3) { - return value3["__v_skip"] || !Object.isExtensible(value3) ? 0 : targetTypeMap(toRawType(value3)); -} -__name(getTargetType, "getTargetType"); -function reactive(target) { - if (isReadonly(target)) { - return target; - } - return createReactiveObject( - target, - false, - mutableHandlers, - mutableCollectionHandlers, - reactiveMap - ); -} -__name(reactive, "reactive"); -function shallowReactive(target) { - return createReactiveObject( - target, - false, - shallowReactiveHandlers, - shallowCollectionHandlers, - shallowReactiveMap - ); -} -__name(shallowReactive, "shallowReactive"); -function readonly(target) { - return createReactiveObject( - target, - true, - readonlyHandlers, - readonlyCollectionHandlers, - readonlyMap - ); -} -__name(readonly, "readonly"); -function shallowReadonly(target) { - return createReactiveObject( - target, - true, - shallowReadonlyHandlers, - shallowReadonlyCollectionHandlers, - shallowReadonlyMap - ); -} -__name(shallowReadonly, "shallowReadonly"); -function createReactiveObject(target, isReadonly2, baseHandlers, collectionHandlers, proxyMap) { - if (!isObject$6(target)) { - if (false) { - warn$3( - `value cannot be made ${isReadonly2 ? "readonly" : "reactive"}: ${String( - target - )}` - ); - } - return target; - } - if (target["__v_raw"] && !(isReadonly2 && target["__v_isReactive"])) { - return target; - } - const existingProxy = proxyMap.get(target); - if (existingProxy) { - return existingProxy; - } - const targetType = getTargetType(target); - if (targetType === 0) { - return target; - } - const proxy = new Proxy( - target, - targetType === 2 ? collectionHandlers : baseHandlers - ); - proxyMap.set(target, proxy); - return proxy; -} -__name(createReactiveObject, "createReactiveObject"); -function isReactive(value3) { - if (isReadonly(value3)) { - return isReactive(value3["__v_raw"]); - } - return !!(value3 && value3["__v_isReactive"]); -} -__name(isReactive, "isReactive"); -function isReadonly(value3) { - return !!(value3 && value3["__v_isReadonly"]); -} -__name(isReadonly, "isReadonly"); -function isShallow(value3) { - return !!(value3 && value3["__v_isShallow"]); -} -__name(isShallow, "isShallow"); -function isProxy(value3) { - return value3 ? !!value3["__v_raw"] : false; -} -__name(isProxy, "isProxy"); -function toRaw(observed) { - const raw = observed && observed["__v_raw"]; - return raw ? toRaw(raw) : observed; -} -__name(toRaw, "toRaw"); -function markRaw(value3) { - if (Object.isExtensible(value3)) { - def(value3, "__v_skip", true); - } - return value3; -} -__name(markRaw, "markRaw"); -const toReactive$1 = /* @__PURE__ */ __name((value3) => isObject$6(value3) ? reactive(value3) : value3, "toReactive$1"); -const toReadonly = /* @__PURE__ */ __name((value3) => isObject$6(value3) ? readonly(value3) : value3, "toReadonly"); -const COMPUTED_SIDE_EFFECT_WARN = `Computed is still dirty after getter evaluation, likely because a computed is mutating its own dependency in its getter. State mutations in computed getters should be avoided. Check the docs for more details: https://vuejs.org/guide/essentials/computed.html#getters-should-be-side-effect-free`; -class ComputedRefImpl { - static { - __name(this, "ComputedRefImpl"); - } - constructor(getter, _setter, isReadonly2, isSSR) { - this.getter = getter; - this._setter = _setter; - this.dep = void 0; - this.__v_isRef = true; - this["__v_isReadonly"] = false; - this.effect = new ReactiveEffect( - () => getter(this._value), - () => triggerRefValue( - this, - this.effect._dirtyLevel === 2 ? 2 : 3 - ) - ); - this.effect.computed = this; - this.effect.active = this._cacheable = !isSSR; - this["__v_isReadonly"] = isReadonly2; - } - get value() { - const self2 = toRaw(this); - if ((!self2._cacheable || self2.effect.dirty) && hasChanged(self2._value, self2._value = self2.effect.run())) { - triggerRefValue(self2, 4); - } - trackRefValue(self2); - if (self2.effect._dirtyLevel >= 2) { - if (false) { - warn$3(COMPUTED_SIDE_EFFECT_WARN, ` - -getter: `, this.getter); - } - triggerRefValue(self2, 2); - } - return self2._value; - } - set value(newValue) { - this._setter(newValue); - } - // #region polyfill _dirty for backward compatibility third party code for Vue <= 3.3.x - get _dirty() { - return this.effect.dirty; - } - set _dirty(v2) { - this.effect.dirty = v2; - } - // #endregion -} -function computed$1(getterOrOptions, debugOptions, isSSR = false) { - let getter; - let setter; - const onlyGetter = isFunction$4(getterOrOptions); - if (onlyGetter) { - getter = getterOrOptions; - setter = false ? () => { - warn$3("Write operation failed: computed value is readonly"); - } : NOOP; - } else { - getter = getterOrOptions.get; - setter = getterOrOptions.set; - } - const cRef = new ComputedRefImpl(getter, setter, onlyGetter || !setter, isSSR); - if (false) { - cRef.effect.onTrack = debugOptions.onTrack; - cRef.effect.onTrigger = debugOptions.onTrigger; - } - return cRef; -} -__name(computed$1, "computed$1"); -function trackRefValue(ref2) { - var _a; - if (shouldTrack && activeEffect) { - ref2 = toRaw(ref2); - trackEffect( - activeEffect, - (_a = ref2.dep) != null ? _a : ref2.dep = createDep( - () => ref2.dep = void 0, - ref2 instanceof ComputedRefImpl ? ref2 : void 0 - ), - false ? { - target: ref2, - type: "get", - key: "value" - } : void 0 - ); - } -} -__name(trackRefValue, "trackRefValue"); -function triggerRefValue(ref2, dirtyLevel = 4, newVal, oldVal) { - ref2 = toRaw(ref2); - const dep = ref2.dep; - if (dep) { - triggerEffects( - dep, - dirtyLevel, - false ? { - target: ref2, - type: "set", - key: "value", - newValue: newVal, - oldValue: oldVal - } : void 0 - ); - } -} -__name(triggerRefValue, "triggerRefValue"); -function isRef(r) { - return !!(r && r.__v_isRef === true); -} -__name(isRef, "isRef"); -function ref(value3) { - return createRef(value3, false); -} -__name(ref, "ref"); -function shallowRef(value3) { - return createRef(value3, true); -} -__name(shallowRef, "shallowRef"); -function createRef(rawValue, shallow) { - if (isRef(rawValue)) { - return rawValue; - } - return new RefImpl(rawValue, shallow); -} -__name(createRef, "createRef"); -class RefImpl { - static { - __name(this, "RefImpl"); - } - constructor(value3, __v_isShallow) { - this.__v_isShallow = __v_isShallow; - this.dep = void 0; - this.__v_isRef = true; - this._rawValue = __v_isShallow ? value3 : toRaw(value3); - this._value = __v_isShallow ? value3 : toReactive$1(value3); - } - get value() { - trackRefValue(this); - return this._value; - } - set value(newVal) { - const useDirectValue = this.__v_isShallow || isShallow(newVal) || isReadonly(newVal); - newVal = useDirectValue ? newVal : toRaw(newVal); - if (hasChanged(newVal, this._rawValue)) { - const oldVal = this._rawValue; - this._rawValue = newVal; - this._value = useDirectValue ? newVal : toReactive$1(newVal); - triggerRefValue(this, 4, newVal, oldVal); - } - } -} -function triggerRef(ref2) { - triggerRefValue(ref2, 4, false ? ref2.value : void 0); -} -__name(triggerRef, "triggerRef"); -function unref(ref2) { - return isRef(ref2) ? ref2.value : ref2; -} -__name(unref, "unref"); -function toValue$2(source) { - return isFunction$4(source) ? source() : unref(source); -} -__name(toValue$2, "toValue$2"); -const shallowUnwrapHandlers = { - get: /* @__PURE__ */ __name((target, key, receiver) => unref(Reflect.get(target, key, receiver)), "get"), - set: /* @__PURE__ */ __name((target, key, value3, receiver) => { - const oldValue = target[key]; - if (isRef(oldValue) && !isRef(value3)) { - oldValue.value = value3; - return true; - } else { - return Reflect.set(target, key, value3, receiver); - } - }, "set") -}; -function proxyRefs(objectWithRefs) { - return isReactive(objectWithRefs) ? objectWithRefs : new Proxy(objectWithRefs, shallowUnwrapHandlers); -} -__name(proxyRefs, "proxyRefs"); -class CustomRefImpl { - static { - __name(this, "CustomRefImpl"); - } - constructor(factory) { - this.dep = void 0; - this.__v_isRef = true; - const { get: get2, set: set2 } = factory( - () => trackRefValue(this), - () => triggerRefValue(this) - ); - this._get = get2; - this._set = set2; - } - get value() { - return this._get(); - } - set value(newVal) { - this._set(newVal); - } -} -function customRef(factory) { - return new CustomRefImpl(factory); -} -__name(customRef, "customRef"); -function toRefs$1(object) { - if (false) { - warn$3(`toRefs() expects a reactive object but received a plain one.`); - } - const ret = isArray$4(object) ? new Array(object.length) : {}; - for (const key in object) { - ret[key] = propertyToRef(object, key); - } - return ret; -} -__name(toRefs$1, "toRefs$1"); -class ObjectRefImpl { - static { - __name(this, "ObjectRefImpl"); - } - constructor(_object, _key, _defaultValue) { - this._object = _object; - this._key = _key; - this._defaultValue = _defaultValue; - this.__v_isRef = true; - } - get value() { - const val = this._object[this._key]; - return val === void 0 ? this._defaultValue : val; - } - set value(newVal) { - this._object[this._key] = newVal; - } - get dep() { - return getDepFromReactive(toRaw(this._object), this._key); - } -} -class GetterRefImpl { - static { - __name(this, "GetterRefImpl"); - } - constructor(_getter) { - this._getter = _getter; - this.__v_isRef = true; - this.__v_isReadonly = true; - } - get value() { - return this._getter(); - } -} -function toRef$1(source, key, defaultValue) { - if (isRef(source)) { - return source; - } else if (isFunction$4(source)) { - return new GetterRefImpl(source); - } else if (isObject$6(source) && arguments.length > 1) { - return propertyToRef(source, key, defaultValue); - } else { - return ref(source); - } -} -__name(toRef$1, "toRef$1"); -function propertyToRef(source, key, defaultValue) { - const val = source[key]; - return isRef(val) ? val : new ObjectRefImpl(source, key, defaultValue); -} -__name(propertyToRef, "propertyToRef"); -const deferredComputed = computed$1; -const TrackOpTypes = { - "GET": "get", - "HAS": "has", - "ITERATE": "iterate" -}; -const TriggerOpTypes = { - "SET": "set", - "ADD": "add", - "DELETE": "delete", - "CLEAR": "clear" -}; -const ReactiveFlags = { - "SKIP": "__v_skip", - "IS_REACTIVE": "__v_isReactive", - "IS_READONLY": "__v_isReadonly", - "IS_SHALLOW": "__v_isShallow", - "RAW": "__v_raw" -}; -/** -* @vue/runtime-core v3.4.31 -* (c) 2018-present Yuxi (Evan) You and Vue contributors -* @license MIT -**/ -const stack = []; -function pushWarningContext(vnode) { - stack.push(vnode); -} -__name(pushWarningContext, "pushWarningContext"); -function popWarningContext() { - stack.pop(); -} -__name(popWarningContext, "popWarningContext"); -function warn$1(msg, ...args) { - pauseTracking(); - const instance = stack.length ? stack[stack.length - 1].component : null; - const appWarnHandler = instance && instance.appContext.config.warnHandler; - const trace = getComponentTrace(); - if (appWarnHandler) { - callWithErrorHandling( - appWarnHandler, - instance, - 11, - [ - // eslint-disable-next-line no-restricted-syntax - msg + args.map((a) => { - var _a, _b; - return (_b = (_a = a.toString) == null ? void 0 : _a.call(a)) != null ? _b : JSON.stringify(a); - }).join(""), - instance && instance.proxy, - trace.map( - ({ vnode }) => `at <${formatComponentName(instance, vnode.type)}>` - ).join("\n"), - trace - ] - ); - } else { - const warnArgs = [`[Vue warn]: ${msg}`, ...args]; - if (trace.length && // avoid spamming console during tests - true) { - warnArgs.push(` -`, ...formatTrace(trace)); - } - console.warn(...warnArgs); - } - resetTracking(); -} -__name(warn$1, "warn$1"); -function getComponentTrace() { - let currentVNode = stack[stack.length - 1]; - if (!currentVNode) { - return []; - } - const normalizedStack = []; - while (currentVNode) { - const last = normalizedStack[0]; - if (last && last.vnode === currentVNode) { - last.recurseCount++; - } else { - normalizedStack.push({ - vnode: currentVNode, - recurseCount: 0 - }); - } - const parentInstance = currentVNode.component && currentVNode.component.parent; - currentVNode = parentInstance && parentInstance.vnode; - } - return normalizedStack; -} -__name(getComponentTrace, "getComponentTrace"); -function formatTrace(trace) { - const logs = []; - trace.forEach((entry, i2) => { - logs.push(...i2 === 0 ? [] : [` -`], ...formatTraceEntry(entry)); - }); - return logs; -} -__name(formatTrace, "formatTrace"); -function formatTraceEntry({ vnode, recurseCount }) { - const postfix = recurseCount > 0 ? `... (${recurseCount} recursive calls)` : ``; - const isRoot = vnode.component ? vnode.component.parent == null : false; - const open2 = ` at <${formatComponentName( - vnode.component, - vnode.type, - isRoot - )}`; - const close4 = `>` + postfix; - return vnode.props ? [open2, ...formatProps(vnode.props), close4] : [open2 + close4]; -} -__name(formatTraceEntry, "formatTraceEntry"); -function formatProps(props) { - const res = []; - const keys2 = Object.keys(props); - keys2.slice(0, 3).forEach((key) => { - res.push(...formatProp(key, props[key])); - }); - if (keys2.length > 3) { - res.push(` ...`); - } - return res; -} -__name(formatProps, "formatProps"); -function formatProp(key, value3, raw) { - if (isString$5(value3)) { - value3 = JSON.stringify(value3); - return raw ? value3 : [`${key}=${value3}`]; - } else if (typeof value3 === "number" || typeof value3 === "boolean" || value3 == null) { - return raw ? value3 : [`${key}=${value3}`]; - } else if (isRef(value3)) { - value3 = formatProp(key, toRaw(value3.value), true); - return raw ? value3 : [`${key}=Ref<`, value3, `>`]; - } else if (isFunction$4(value3)) { - return [`${key}=fn${value3.name ? `<${value3.name}>` : ``}`]; - } else { - value3 = toRaw(value3); - return raw ? value3 : [`${key}=`, value3]; - } -} -__name(formatProp, "formatProp"); -function assertNumber(val, type) { - if (true) return; - if (val === void 0) { - return; - } else if (typeof val !== "number") { - warn$1(`${type} is not a valid number - got ${JSON.stringify(val)}.`); - } else if (isNaN(val)) { - warn$1(`${type} is NaN - the duration expression might be incorrect.`); - } -} -__name(assertNumber, "assertNumber"); -const ErrorCodes = { - "SETUP_FUNCTION": 0, - "0": "SETUP_FUNCTION", - "RENDER_FUNCTION": 1, - "1": "RENDER_FUNCTION", - "WATCH_GETTER": 2, - "2": "WATCH_GETTER", - "WATCH_CALLBACK": 3, - "3": "WATCH_CALLBACK", - "WATCH_CLEANUP": 4, - "4": "WATCH_CLEANUP", - "NATIVE_EVENT_HANDLER": 5, - "5": "NATIVE_EVENT_HANDLER", - "COMPONENT_EVENT_HANDLER": 6, - "6": "COMPONENT_EVENT_HANDLER", - "VNODE_HOOK": 7, - "7": "VNODE_HOOK", - "DIRECTIVE_HOOK": 8, - "8": "DIRECTIVE_HOOK", - "TRANSITION_HOOK": 9, - "9": "TRANSITION_HOOK", - "APP_ERROR_HANDLER": 10, - "10": "APP_ERROR_HANDLER", - "APP_WARN_HANDLER": 11, - "11": "APP_WARN_HANDLER", - "FUNCTION_REF": 12, - "12": "FUNCTION_REF", - "ASYNC_COMPONENT_LOADER": 13, - "13": "ASYNC_COMPONENT_LOADER", - "SCHEDULER": 14, - "14": "SCHEDULER" -}; -const ErrorTypeStrings$1 = { - ["sp"]: "serverPrefetch hook", - ["bc"]: "beforeCreate hook", - ["c"]: "created hook", - ["bm"]: "beforeMount hook", - ["m"]: "mounted hook", - ["bu"]: "beforeUpdate hook", - ["u"]: "updated", - ["bum"]: "beforeUnmount hook", - ["um"]: "unmounted hook", - ["a"]: "activated hook", - ["da"]: "deactivated hook", - ["ec"]: "errorCaptured hook", - ["rtc"]: "renderTracked hook", - ["rtg"]: "renderTriggered hook", - [0]: "setup function", - [1]: "render function", - [2]: "watcher getter", - [3]: "watcher callback", - [4]: "watcher cleanup function", - [5]: "native event handler", - [6]: "component event handler", - [7]: "vnode hook", - [8]: "directive hook", - [9]: "transition hook", - [10]: "app errorHandler", - [11]: "app warnHandler", - [12]: "ref function", - [13]: "async component loader", - [14]: "scheduler flush. This is likely a Vue internals bug. Please open an issue at https://github.com/vuejs/core ." -}; -function callWithErrorHandling(fn, instance, type, args) { - try { - return args ? fn(...args) : fn(); - } catch (err) { - handleError(err, instance, type); - } -} -__name(callWithErrorHandling, "callWithErrorHandling"); -function callWithAsyncErrorHandling(fn, instance, type, args) { - if (isFunction$4(fn)) { - const res = callWithErrorHandling(fn, instance, type, args); - if (res && isPromise$2(res)) { - res.catch((err) => { - handleError(err, instance, type); - }); - } - return res; - } - if (isArray$4(fn)) { - const values2 = []; - for (let i2 = 0; i2 < fn.length; i2++) { - values2.push(callWithAsyncErrorHandling(fn[i2], instance, type, args)); - } - return values2; - } else if (false) { - warn$1( - `Invalid value type passed to callWithAsyncErrorHandling(): ${typeof fn}` - ); - } -} -__name(callWithAsyncErrorHandling, "callWithAsyncErrorHandling"); -function handleError(err, instance, type, throwInDev = true) { - const contextVNode = instance ? instance.vnode : null; - if (instance) { - let cur = instance.parent; - const exposedInstance = instance.proxy; - const errorInfo = false ? ErrorTypeStrings$1[type] : `https://vuejs.org/error-reference/#runtime-${type}`; - while (cur) { - const errorCapturedHooks = cur.ec; - if (errorCapturedHooks) { - for (let i2 = 0; i2 < errorCapturedHooks.length; i2++) { - if (errorCapturedHooks[i2](err, exposedInstance, errorInfo) === false) { - return; - } - } - } - cur = cur.parent; - } - const appErrorHandler = instance.appContext.config.errorHandler; - if (appErrorHandler) { - pauseTracking(); - callWithErrorHandling( - appErrorHandler, - null, - 10, - [err, exposedInstance, errorInfo] - ); - resetTracking(); - return; - } - } - logError(err, type, contextVNode, throwInDev); -} -__name(handleError, "handleError"); -function logError(err, type, contextVNode, throwInDev = true) { - if (false) { - const info = ErrorTypeStrings$1[type]; - if (contextVNode) { - pushWarningContext(contextVNode); - } - warn$1(`Unhandled error${info ? ` during execution of ${info}` : ``}`); - if (contextVNode) { - popWarningContext(); - } - if (throwInDev) { - throw err; - } else { - console.error(err); - } - } else { - console.error(err); - } -} -__name(logError, "logError"); -let isFlushing = false; -let isFlushPending = false; -const queue = []; -let flushIndex = 0; -const pendingPostFlushCbs = []; -let activePostFlushCbs = null; -let postFlushIndex = 0; -const resolvedPromise = /* @__PURE__ */ Promise.resolve(); -let currentFlushPromise = null; -const RECURSION_LIMIT = 100; -function nextTick(fn) { - const p2 = currentFlushPromise || resolvedPromise; - return fn ? p2.then(this ? fn.bind(this) : fn) : p2; -} -__name(nextTick, "nextTick"); -function findInsertionIndex(id2) { - let start2 = flushIndex + 1; - let end = queue.length; - while (start2 < end) { - const middle = start2 + end >>> 1; - const middleJob = queue[middle]; - const middleJobId = getId(middleJob); - if (middleJobId < id2 || middleJobId === id2 && middleJob.pre) { - start2 = middle + 1; - } else { - end = middle; - } - } - return start2; -} -__name(findInsertionIndex, "findInsertionIndex"); -function queueJob(job) { - if (!queue.length || !queue.includes( - job, - isFlushing && job.allowRecurse ? flushIndex + 1 : flushIndex - )) { - if (job.id == null) { - queue.push(job); - } else { - queue.splice(findInsertionIndex(job.id), 0, job); - } - queueFlush(); - } -} -__name(queueJob, "queueJob"); -function queueFlush() { - if (!isFlushing && !isFlushPending) { - isFlushPending = true; - currentFlushPromise = resolvedPromise.then(flushJobs); - } -} -__name(queueFlush, "queueFlush"); -function invalidateJob(job) { - const i2 = queue.indexOf(job); - if (i2 > flushIndex) { - queue.splice(i2, 1); - } -} -__name(invalidateJob, "invalidateJob"); -function queuePostFlushCb(cb) { - if (!isArray$4(cb)) { - if (!activePostFlushCbs || !activePostFlushCbs.includes( - cb, - cb.allowRecurse ? postFlushIndex + 1 : postFlushIndex - )) { - pendingPostFlushCbs.push(cb); - } - } else { - pendingPostFlushCbs.push(...cb); - } - queueFlush(); -} -__name(queuePostFlushCb, "queuePostFlushCb"); -function flushPreFlushCbs(instance, seen2, i2 = isFlushing ? flushIndex + 1 : 0) { - if (false) { - seen2 = seen2 || /* @__PURE__ */ new Map(); - } - for (; i2 < queue.length; i2++) { - const cb = queue[i2]; - if (cb && cb.pre) { - if (instance && cb.id !== instance.uid) { - continue; - } - if (false) { - continue; - } - queue.splice(i2, 1); - i2--; - cb(); - } - } -} -__name(flushPreFlushCbs, "flushPreFlushCbs"); -function flushPostFlushCbs(seen2) { - if (pendingPostFlushCbs.length) { - const deduped = [...new Set(pendingPostFlushCbs)].sort( - (a, b) => getId(a) - getId(b) - ); - pendingPostFlushCbs.length = 0; - if (activePostFlushCbs) { - activePostFlushCbs.push(...deduped); - return; - } - activePostFlushCbs = deduped; - if (false) { - seen2 = seen2 || /* @__PURE__ */ new Map(); - } - for (postFlushIndex = 0; postFlushIndex < activePostFlushCbs.length; postFlushIndex++) { - const cb = activePostFlushCbs[postFlushIndex]; - if (false) { - continue; - } - if (cb.active !== false) cb(); - } - activePostFlushCbs = null; - postFlushIndex = 0; - } -} -__name(flushPostFlushCbs, "flushPostFlushCbs"); -const getId = /* @__PURE__ */ __name((job) => job.id == null ? Infinity : job.id, "getId"); -const comparator = /* @__PURE__ */ __name((a, b) => { - const diff = getId(a) - getId(b); - if (diff === 0) { - if (a.pre && !b.pre) return -1; - if (b.pre && !a.pre) return 1; - } - return diff; -}, "comparator"); -function flushJobs(seen2) { - isFlushPending = false; - isFlushing = true; - if (false) { - seen2 = seen2 || /* @__PURE__ */ new Map(); - } - queue.sort(comparator); - const check = false ? (job) => checkRecursiveUpdates(seen2, job) : NOOP; - try { - for (flushIndex = 0; flushIndex < queue.length; flushIndex++) { - const job = queue[flushIndex]; - if (job && job.active !== false) { - if (false) { - continue; - } - callWithErrorHandling(job, null, 14); - } - } - } finally { - flushIndex = 0; - queue.length = 0; - flushPostFlushCbs(seen2); - isFlushing = false; - currentFlushPromise = null; - if (queue.length || pendingPostFlushCbs.length) { - flushJobs(seen2); - } - } -} -__name(flushJobs, "flushJobs"); -function checkRecursiveUpdates(seen2, fn) { - if (!seen2.has(fn)) { - seen2.set(fn, 1); - } else { - const count = seen2.get(fn); - if (count > RECURSION_LIMIT) { - const instance = fn.ownerInstance; - const componentName = instance && getComponentName(instance.type); - handleError( - `Maximum recursive updates exceeded${componentName ? ` in component <${componentName}>` : ``}. This means you have a reactive effect that is mutating its own dependencies and thus recursively triggering itself. Possible sources include component template, render function, updated hook or watcher source function.`, - null, - 10 - ); - return true; - } else { - seen2.set(fn, count + 1); - } - } -} -__name(checkRecursiveUpdates, "checkRecursiveUpdates"); -let isHmrUpdating = false; -const hmrDirtyComponents = /* @__PURE__ */ new Set(); -if (false) { - getGlobalThis$1().__VUE_HMR_RUNTIME__ = { - createRecord: tryWrap(createRecord), - rerender: tryWrap(rerender), - reload: tryWrap(reload) - }; -} -const map = /* @__PURE__ */ new Map(); -function registerHMR(instance) { - const id2 = instance.type.__hmrId; - let record = map.get(id2); - if (!record) { - createRecord(id2, instance.type); - record = map.get(id2); - } - record.instances.add(instance); -} -__name(registerHMR, "registerHMR"); -function unregisterHMR(instance) { - map.get(instance.type.__hmrId).instances.delete(instance); -} -__name(unregisterHMR, "unregisterHMR"); -function createRecord(id2, initialDef) { - if (map.has(id2)) { - return false; - } - map.set(id2, { - initialDef: normalizeClassComponent(initialDef), - instances: /* @__PURE__ */ new Set() - }); - return true; -} -__name(createRecord, "createRecord"); -function normalizeClassComponent(component) { - return isClassComponent(component) ? component.__vccOpts : component; -} -__name(normalizeClassComponent, "normalizeClassComponent"); -function rerender(id2, newRender) { - const record = map.get(id2); - if (!record) { - return; - } - record.initialDef.render = newRender; - [...record.instances].forEach((instance) => { - if (newRender) { - instance.render = newRender; - normalizeClassComponent(instance.type).render = newRender; - } - instance.renderCache = []; - isHmrUpdating = true; - instance.effect.dirty = true; - instance.update(); - isHmrUpdating = false; - }); -} -__name(rerender, "rerender"); -function reload(id2, newComp) { - const record = map.get(id2); - if (!record) return; - newComp = normalizeClassComponent(newComp); - updateComponentDef(record.initialDef, newComp); - const instances = [...record.instances]; - for (const instance of instances) { - const oldComp = normalizeClassComponent(instance.type); - if (!hmrDirtyComponents.has(oldComp)) { - if (oldComp !== record.initialDef) { - updateComponentDef(oldComp, newComp); - } - hmrDirtyComponents.add(oldComp); - } - instance.appContext.propsCache.delete(instance.type); - instance.appContext.emitsCache.delete(instance.type); - instance.appContext.optionsCache.delete(instance.type); - if (instance.ceReload) { - hmrDirtyComponents.add(oldComp); - instance.ceReload(newComp.styles); - hmrDirtyComponents.delete(oldComp); - } else if (instance.parent) { - instance.parent.effect.dirty = true; - queueJob(() => { - instance.parent.update(); - hmrDirtyComponents.delete(oldComp); - }); - } else if (instance.appContext.reload) { - instance.appContext.reload(); - } else if (typeof window !== "undefined") { - window.location.reload(); - } else { - console.warn( - "[HMR] Root or manually mounted instance modified. Full reload required." - ); - } - } - queuePostFlushCb(() => { - for (const instance of instances) { - hmrDirtyComponents.delete( - normalizeClassComponent(instance.type) - ); - } - }); -} -__name(reload, "reload"); -function updateComponentDef(oldComp, newComp) { - extend$1(oldComp, newComp); - for (const key in oldComp) { - if (key !== "__file" && !(key in newComp)) { - delete oldComp[key]; - } - } -} -__name(updateComponentDef, "updateComponentDef"); -function tryWrap(fn) { - return (id2, arg) => { - try { - return fn(id2, arg); - } catch (e) { - console.error(e); - console.warn( - `[HMR] Something went wrong during Vue component hot-reload. Full reload required.` - ); - } - }; -} -__name(tryWrap, "tryWrap"); -let devtools$1; -let buffer = []; -let devtoolsNotInstalled = false; -function emit$1(event2, ...args) { - if (devtools$1) { - devtools$1.emit(event2, ...args); - } else if (!devtoolsNotInstalled) { - buffer.push({ event: event2, args }); - } -} -__name(emit$1, "emit$1"); -function setDevtoolsHook$1(hook, target) { - var _a, _b; - devtools$1 = hook; - if (devtools$1) { - devtools$1.enabled = true; - buffer.forEach(({ event: event2, args }) => devtools$1.emit(event2, ...args)); - buffer = []; - } else if ( - // handle late devtools injection - only do this if we are in an actual - // browser environment to avoid the timer handle stalling test runner exit - // (#4815) - typeof window !== "undefined" && // some envs mock window but not fully - window.HTMLElement && // also exclude jsdom - // eslint-disable-next-line no-restricted-syntax - !((_b = (_a = window.navigator) == null ? void 0 : _a.userAgent) == null ? void 0 : _b.includes("jsdom")) - ) { - const replay = target.__VUE_DEVTOOLS_HOOK_REPLAY__ = target.__VUE_DEVTOOLS_HOOK_REPLAY__ || []; - replay.push((newHook) => { - setDevtoolsHook$1(newHook, target); - }); - setTimeout(() => { - if (!devtools$1) { - target.__VUE_DEVTOOLS_HOOK_REPLAY__ = null; - devtoolsNotInstalled = true; - buffer = []; - } - }, 3e3); - } else { - devtoolsNotInstalled = true; - buffer = []; - } -} -__name(setDevtoolsHook$1, "setDevtoolsHook$1"); -function devtoolsInitApp(app2, version2) { - emit$1("app:init", app2, version2, { - Fragment, - Text, - Comment, - Static - }); -} -__name(devtoolsInitApp, "devtoolsInitApp"); -function devtoolsUnmountApp(app2) { - emit$1("app:unmount", app2); -} -__name(devtoolsUnmountApp, "devtoolsUnmountApp"); -const devtoolsComponentAdded = /* @__PURE__ */ createDevtoolsComponentHook( - "component:added" - /* COMPONENT_ADDED */ -); -const devtoolsComponentUpdated = /* @__PURE__ */ createDevtoolsComponentHook( - "component:updated" - /* COMPONENT_UPDATED */ -); -const _devtoolsComponentRemoved = /* @__PURE__ */ createDevtoolsComponentHook( - "component:removed" - /* COMPONENT_REMOVED */ -); -const devtoolsComponentRemoved = /* @__PURE__ */ __name((component) => { - if (devtools$1 && typeof devtools$1.cleanupBuffer === "function" && // remove the component if it wasn't buffered - !devtools$1.cleanupBuffer(component)) { - _devtoolsComponentRemoved(component); - } -}, "devtoolsComponentRemoved"); -/*! #__NO_SIDE_EFFECTS__ */ -// @__NO_SIDE_EFFECTS__ -function createDevtoolsComponentHook(hook) { - return (component) => { - emit$1( - hook, - component.appContext.app, - component.uid, - component.parent ? component.parent.uid : void 0, - component - ); - }; -} -__name(createDevtoolsComponentHook, "createDevtoolsComponentHook"); -const devtoolsPerfStart = /* @__PURE__ */ createDevtoolsPerformanceHook( - "perf:start" - /* PERFORMANCE_START */ -); -const devtoolsPerfEnd = /* @__PURE__ */ createDevtoolsPerformanceHook( - "perf:end" - /* PERFORMANCE_END */ -); -function createDevtoolsPerformanceHook(hook) { - return (component, type, time) => { - emit$1(hook, component.appContext.app, component.uid, component, type, time); - }; -} -__name(createDevtoolsPerformanceHook, "createDevtoolsPerformanceHook"); -function devtoolsComponentEmit(component, event2, params) { - emit$1( - "component:emit", - component.appContext.app, - component, - event2, - params - ); -} -__name(devtoolsComponentEmit, "devtoolsComponentEmit"); -function emit(instance, event2, ...rawArgs) { - if (instance.isUnmounted) return; - const props = instance.vnode.props || EMPTY_OBJ; - if (false) { - const { - emitsOptions, - propsOptions: [propsOptions] - } = instance; - if (emitsOptions) { - if (!(event2 in emitsOptions) && true) { - if (!propsOptions || !(toHandlerKey(event2) in propsOptions)) { - warn$1( - `Component emitted event "${event2}" but it is neither declared in the emits option nor as an "${toHandlerKey(event2)}" prop.` - ); - } - } else { - const validator3 = emitsOptions[event2]; - if (isFunction$4(validator3)) { - const isValid2 = validator3(...rawArgs); - if (!isValid2) { - warn$1( - `Invalid event arguments: event validation failed for event "${event2}".` - ); - } - } - } - } - } - let args = rawArgs; - const isModelListener2 = event2.startsWith("update:"); - const modelArg = isModelListener2 && event2.slice(7); - if (modelArg && modelArg in props) { - const modifiersKey = `${modelArg === "modelValue" ? "model" : modelArg}Modifiers`; - const { number: number2, trim: trim2 } = props[modifiersKey] || EMPTY_OBJ; - if (trim2) { - args = rawArgs.map((a) => isString$5(a) ? a.trim() : a); - } - if (number2) { - args = rawArgs.map(looseToNumber); - } - } - if (false) { - devtoolsComponentEmit(instance, event2, args); - } - if (false) { - const lowerCaseEvent = event2.toLowerCase(); - if (lowerCaseEvent !== event2 && props[toHandlerKey(lowerCaseEvent)]) { - warn$1( - `Event "${lowerCaseEvent}" is emitted in component ${formatComponentName( - instance, - instance.type - )} but the handler is registered for "${event2}". Note that HTML attributes are case-insensitive and you cannot use v-on to listen to camelCase events when using in-DOM templates. You should probably use "${hyphenate$1( - event2 - )}" instead of "${event2}".` - ); - } - } - let handlerName; - let handler6 = props[handlerName = toHandlerKey(event2)] || // also try camelCase event handler (#2249) - props[handlerName = toHandlerKey(camelize$1(event2))]; - if (!handler6 && isModelListener2) { - handler6 = props[handlerName = toHandlerKey(hyphenate$1(event2))]; - } - if (handler6) { - callWithAsyncErrorHandling( - handler6, - instance, - 6, - args - ); - } - const onceHandler = props[handlerName + `Once`]; - if (onceHandler) { - if (!instance.emitted) { - instance.emitted = {}; - } else if (instance.emitted[handlerName]) { - return; - } - instance.emitted[handlerName] = true; - callWithAsyncErrorHandling( - onceHandler, - instance, - 6, - args - ); - } -} -__name(emit, "emit"); -function normalizeEmitsOptions(comp, appContext, asMixin = false) { - const cache2 = appContext.emitsCache; - const cached = cache2.get(comp); - if (cached !== void 0) { - return cached; - } - const raw = comp.emits; - let normalized = {}; - let hasExtends = false; - if (!isFunction$4(comp)) { - const extendEmits = /* @__PURE__ */ __name((raw2) => { - const normalizedFromExtend = normalizeEmitsOptions(raw2, appContext, true); - if (normalizedFromExtend) { - hasExtends = true; - extend$1(normalized, normalizedFromExtend); - } - }, "extendEmits"); - if (!asMixin && appContext.mixins.length) { - appContext.mixins.forEach(extendEmits); - } - if (comp.extends) { - extendEmits(comp.extends); - } - if (comp.mixins) { - comp.mixins.forEach(extendEmits); - } - } - if (!raw && !hasExtends) { - if (isObject$6(comp)) { - cache2.set(comp, null); - } - return null; - } - if (isArray$4(raw)) { - raw.forEach((key) => normalized[key] = null); - } else { - extend$1(normalized, raw); - } - if (isObject$6(comp)) { - cache2.set(comp, normalized); - } - return normalized; -} -__name(normalizeEmitsOptions, "normalizeEmitsOptions"); -function isEmitListener(options3, key) { - if (!options3 || !isOn(key)) { - return false; - } - key = key.slice(2).replace(/Once$/, ""); - return hasOwn$3(options3, key[0].toLowerCase() + key.slice(1)) || hasOwn$3(options3, hyphenate$1(key)) || hasOwn$3(options3, key); -} -__name(isEmitListener, "isEmitListener"); -let currentRenderingInstance = null; -let currentScopeId = null; -function setCurrentRenderingInstance(instance) { - const prev2 = currentRenderingInstance; - currentRenderingInstance = instance; - currentScopeId = instance && instance.type.__scopeId || null; - return prev2; -} -__name(setCurrentRenderingInstance, "setCurrentRenderingInstance"); -function pushScopeId(id2) { - currentScopeId = id2; -} -__name(pushScopeId, "pushScopeId"); -function popScopeId() { - currentScopeId = null; -} -__name(popScopeId, "popScopeId"); -const withScopeId = /* @__PURE__ */ __name((_id2) => withCtx, "withScopeId"); -function withCtx(fn, ctx = currentRenderingInstance, isNonScopedSlot) { - if (!ctx) return fn; - if (fn._n) { - return fn; - } - const renderFnWithContext = /* @__PURE__ */ __name((...args) => { - if (renderFnWithContext._d) { - setBlockTracking(-1); - } - const prevInstance = setCurrentRenderingInstance(ctx); - let res; - try { - res = fn(...args); - } finally { - setCurrentRenderingInstance(prevInstance); - if (renderFnWithContext._d) { - setBlockTracking(1); - } - } - if (false) { - devtoolsComponentUpdated(ctx); - } - return res; - }, "renderFnWithContext"); - renderFnWithContext._n = true; - renderFnWithContext._c = true; - renderFnWithContext._d = true; - return renderFnWithContext; -} -__name(withCtx, "withCtx"); -let accessedAttrs = false; -function markAttrsAccessed() { - accessedAttrs = true; -} -__name(markAttrsAccessed, "markAttrsAccessed"); -function renderComponentRoot(instance) { - const { - type: Component, - vnode, - proxy, - withProxy, - propsOptions: [propsOptions], - slots, - attrs: attrs3, - emit: emit2, - render: render2, - renderCache, - props, - data: data24, - setupState, - ctx, - inheritAttrs - } = instance; - const prev2 = setCurrentRenderingInstance(instance); - let result; - let fallthroughAttrs; - if (false) { - accessedAttrs = false; - } - try { - if (vnode.shapeFlag & 4) { - const proxyToUse = withProxy || proxy; - const thisProxy = false ? new Proxy(proxyToUse, { - get(target, key, receiver) { - warn$1( - `Property '${String( - key - )}' was accessed via 'this'. Avoid using 'this' in templates.` - ); - return Reflect.get(target, key, receiver); - } - }) : proxyToUse; - result = normalizeVNode( - render2.call( - thisProxy, - proxyToUse, - renderCache, - false ? shallowReadonly(props) : props, - setupState, - data24, - ctx - ) - ); - fallthroughAttrs = attrs3; - } else { - const render22 = Component; - if (false) { - markAttrsAccessed(); - } - result = normalizeVNode( - render22.length > 1 ? render22( - false ? shallowReadonly(props) : props, - false ? { - get attrs() { - markAttrsAccessed(); - return shallowReadonly(attrs3); - }, - slots, - emit: emit2 - } : { attrs: attrs3, slots, emit: emit2 } - ) : render22( - false ? shallowReadonly(props) : props, - null - ) - ); - fallthroughAttrs = Component.props ? attrs3 : getFunctionalFallthrough(attrs3); - } - } catch (err) { - blockStack.length = 0; - handleError(err, instance, 1); - result = createVNode(Comment); - } - let root26 = result; - let setRoot = void 0; - if (false) { - [root26, setRoot] = getChildRoot(result); - } - if (fallthroughAttrs && inheritAttrs !== false) { - const keys2 = Object.keys(fallthroughAttrs); - const { shapeFlag } = root26; - if (keys2.length) { - if (shapeFlag & (1 | 6)) { - if (propsOptions && keys2.some(isModelListener)) { - fallthroughAttrs = filterModelListeners( - fallthroughAttrs, - propsOptions - ); - } - root26 = cloneVNode(root26, fallthroughAttrs, false, true); - } else if (false) { - const allAttrs = Object.keys(attrs3); - const eventAttrs = []; - const extraAttrs = []; - for (let i2 = 0, l = allAttrs.length; i2 < l; i2++) { - const key = allAttrs[i2]; - if (isOn(key)) { - if (!isModelListener(key)) { - eventAttrs.push(key[2].toLowerCase() + key.slice(3)); - } - } else { - extraAttrs.push(key); - } - } - if (extraAttrs.length) { - warn$1( - `Extraneous non-props attributes (${extraAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes.` - ); - } - if (eventAttrs.length) { - warn$1( - `Extraneous non-emits event listeners (${eventAttrs.join(", ")}) were passed to component but could not be automatically inherited because component renders fragment or text root nodes. If the listener is intended to be a component custom event listener only, declare it using the "emits" option.` - ); - } - } - } - } - if (vnode.dirs) { - if (false) { - warn$1( - `Runtime directive used on component with non-element root node. The directives will not function as intended.` - ); - } - root26 = cloneVNode(root26, null, false, true); - root26.dirs = root26.dirs ? root26.dirs.concat(vnode.dirs) : vnode.dirs; - } - if (vnode.transition) { - if (false) { - warn$1( - `Component inside renders non-element root node that cannot be animated.` - ); - } - root26.transition = vnode.transition; - } - if (false) { - setRoot(root26); - } else { - result = root26; - } - setCurrentRenderingInstance(prev2); - return result; -} -__name(renderComponentRoot, "renderComponentRoot"); -const getChildRoot = /* @__PURE__ */ __name((vnode) => { - const rawChildren = vnode.children; - const dynamicChildren = vnode.dynamicChildren; - const childRoot = filterSingleRoot(rawChildren, false); - if (!childRoot) { - return [vnode, void 0]; - } else if (false) { - return getChildRoot(childRoot); - } - const index2 = rawChildren.indexOf(childRoot); - const dynamicIndex = dynamicChildren ? dynamicChildren.indexOf(childRoot) : -1; - const setRoot = /* @__PURE__ */ __name((updatedRoot) => { - rawChildren[index2] = updatedRoot; - if (dynamicChildren) { - if (dynamicIndex > -1) { - dynamicChildren[dynamicIndex] = updatedRoot; - } else if (updatedRoot.patchFlag > 0) { - vnode.dynamicChildren = [...dynamicChildren, updatedRoot]; - } - } - }, "setRoot"); - return [normalizeVNode(childRoot), setRoot]; -}, "getChildRoot"); -function filterSingleRoot(children, recurse = true) { - let singleRoot; - for (let i2 = 0; i2 < children.length; i2++) { - const child = children[i2]; - if (isVNode$1(child)) { - if (child.type !== Comment || child.children === "v-if") { - if (singleRoot) { - return; - } else { - singleRoot = child; - if (false) { - return filterSingleRoot(singleRoot.children); - } - } - } - } else { - return; - } - } - return singleRoot; -} -__name(filterSingleRoot, "filterSingleRoot"); -const getFunctionalFallthrough = /* @__PURE__ */ __name((attrs3) => { - let res; - for (const key in attrs3) { - if (key === "class" || key === "style" || isOn(key)) { - (res || (res = {}))[key] = attrs3[key]; - } - } - return res; -}, "getFunctionalFallthrough"); -const filterModelListeners = /* @__PURE__ */ __name((attrs3, props) => { - const res = {}; - for (const key in attrs3) { - if (!isModelListener(key) || !(key.slice(9) in props)) { - res[key] = attrs3[key]; - } - } - return res; -}, "filterModelListeners"); -const isElementRoot = /* @__PURE__ */ __name((vnode) => { - return vnode.shapeFlag & (6 | 1) || vnode.type === Comment; -}, "isElementRoot"); -function shouldUpdateComponent(prevVNode, nextVNode, optimized) { - const { props: prevProps, children: prevChildren, component } = prevVNode; - const { props: nextProps, children: nextChildren, patchFlag } = nextVNode; - const emits = component.emitsOptions; - if (false) { - return true; - } - if (nextVNode.dirs || nextVNode.transition) { - return true; - } - if (optimized && patchFlag >= 0) { - if (patchFlag & 1024) { - return true; - } - if (patchFlag & 16) { - if (!prevProps) { - return !!nextProps; - } - return hasPropsChanged(prevProps, nextProps, emits); - } else if (patchFlag & 8) { - const dynamicProps = nextVNode.dynamicProps; - for (let i2 = 0; i2 < dynamicProps.length; i2++) { - const key = dynamicProps[i2]; - if (nextProps[key] !== prevProps[key] && !isEmitListener(emits, key)) { - return true; - } - } - } - } else { - if (prevChildren || nextChildren) { - if (!nextChildren || !nextChildren.$stable) { - return true; - } - } - if (prevProps === nextProps) { - return false; - } - if (!prevProps) { - return !!nextProps; - } - if (!nextProps) { - return true; - } - return hasPropsChanged(prevProps, nextProps, emits); - } - return false; -} -__name(shouldUpdateComponent, "shouldUpdateComponent"); -function hasPropsChanged(prevProps, nextProps, emitsOptions) { - const nextKeys = Object.keys(nextProps); - if (nextKeys.length !== Object.keys(prevProps).length) { - return true; - } - for (let i2 = 0; i2 < nextKeys.length; i2++) { - const key = nextKeys[i2]; - if (nextProps[key] !== prevProps[key] && !isEmitListener(emitsOptions, key)) { - return true; - } - } - return false; -} -__name(hasPropsChanged, "hasPropsChanged"); -function updateHOCHostEl({ vnode, parent }, el) { - while (parent) { - const root26 = parent.subTree; - if (root26.suspense && root26.suspense.activeBranch === vnode) { - root26.el = vnode.el; - } - if (root26 === vnode) { - (vnode = parent.vnode).el = el; - parent = parent.parent; - } else { - break; - } - } -} -__name(updateHOCHostEl, "updateHOCHostEl"); -const COMPONENTS = "components"; -const DIRECTIVES = "directives"; -function resolveComponent(name, maybeSelfReference) { - return resolveAsset(COMPONENTS, name, true, maybeSelfReference) || name; -} -__name(resolveComponent, "resolveComponent"); -const NULL_DYNAMIC_COMPONENT = Symbol.for("v-ndc"); -function resolveDynamicComponent(component) { - if (isString$5(component)) { - return resolveAsset(COMPONENTS, component, false) || component; - } else { - return component || NULL_DYNAMIC_COMPONENT; - } -} -__name(resolveDynamicComponent, "resolveDynamicComponent"); -function resolveDirective(name) { - return resolveAsset(DIRECTIVES, name); -} -__name(resolveDirective, "resolveDirective"); -function resolveAsset(type, name, warnMissing = true, maybeSelfReference = false) { - const instance = currentRenderingInstance || currentInstance; - if (instance) { - const Component = instance.type; - if (type === COMPONENTS) { - const selfName = getComponentName( - Component, - false - ); - if (selfName && (selfName === name || selfName === camelize$1(name) || selfName === capitalize$1(camelize$1(name)))) { - return Component; - } - } - const res = ( - // local registration - // check instance[type] first which is resolved for options API - resolve$1(instance[type] || Component[type], name) || // global registration - resolve$1(instance.appContext[type], name) - ); - if (!res && maybeSelfReference) { - return Component; - } - if (false) { - const extra = type === COMPONENTS ? ` -If this is a native custom element, make sure to exclude it from component resolution via compilerOptions.isCustomElement.` : ``; - warn$1(`Failed to resolve ${type.slice(0, -1)}: ${name}${extra}`); - } - return res; - } else if (false) { - warn$1( - `resolve${capitalize$1(type.slice(0, -1))} can only be used in render() or setup().` - ); - } -} -__name(resolveAsset, "resolveAsset"); -function resolve$1(registry, name) { - return registry && (registry[name] || registry[camelize$1(name)] || registry[capitalize$1(camelize$1(name))]); -} -__name(resolve$1, "resolve$1"); -const isSuspense = /* @__PURE__ */ __name((type) => type.__isSuspense, "isSuspense"); -let suspenseId = 0; -const SuspenseImpl = { - name: "Suspense", - // In order to make Suspense tree-shakable, we need to avoid importing it - // directly in the renderer. The renderer checks for the __isSuspense flag - // on a vnode's type and calls the `process` method, passing in renderer - // internals. - __isSuspense: true, - process(n1, n2, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) { - if (n1 == null) { - mountSuspense( - n2, - container, - anchor, - parentComponent, - parentSuspense, - namespace, - slotScopeIds, - optimized, - rendererInternals - ); - } else { - if (parentSuspense && parentSuspense.deps > 0 && !n1.suspense.isInFallback) { - n2.suspense = n1.suspense; - n2.suspense.vnode = n2; - n2.el = n1.el; - return; - } - patchSuspense( - n1, - n2, - container, - anchor, - parentComponent, - namespace, - slotScopeIds, - optimized, - rendererInternals - ); - } - }, - hydrate: hydrateSuspense, - normalize: normalizeSuspenseChildren -}; -const Suspense = SuspenseImpl; -function triggerEvent(vnode, name) { - const eventListener = vnode.props && vnode.props[name]; - if (isFunction$4(eventListener)) { - eventListener(); - } -} -__name(triggerEvent, "triggerEvent"); -function mountSuspense(vnode, container, anchor, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals) { - const { - p: patch, - o: { createElement: createElement2 } - } = rendererInternals; - const hiddenContainer = createElement2("div"); - const suspense = vnode.suspense = createSuspenseBoundary( - vnode, - parentSuspense, - parentComponent, - container, - hiddenContainer, - anchor, - namespace, - slotScopeIds, - optimized, - rendererInternals - ); - patch( - null, - suspense.pendingBranch = vnode.ssContent, - hiddenContainer, - null, - parentComponent, - suspense, - namespace, - slotScopeIds - ); - if (suspense.deps > 0) { - triggerEvent(vnode, "onPending"); - triggerEvent(vnode, "onFallback"); - patch( - null, - vnode.ssFallback, - container, - anchor, - parentComponent, - null, - // fallback tree will not have suspense context - namespace, - slotScopeIds - ); - setActiveBranch(suspense, vnode.ssFallback); - } else { - suspense.resolve(false, true); - } -} -__name(mountSuspense, "mountSuspense"); -function patchSuspense(n1, n2, container, anchor, parentComponent, namespace, slotScopeIds, optimized, { p: patch, um: unmount, o: { createElement: createElement2 } }) { - const suspense = n2.suspense = n1.suspense; - suspense.vnode = n2; - n2.el = n1.el; - const newBranch = n2.ssContent; - const newFallback = n2.ssFallback; - const { activeBranch, pendingBranch, isInFallback, isHydrating } = suspense; - if (pendingBranch) { - suspense.pendingBranch = newBranch; - if (isSameVNodeType(newBranch, pendingBranch)) { - patch( - pendingBranch, - newBranch, - suspense.hiddenContainer, - null, - parentComponent, - suspense, - namespace, - slotScopeIds, - optimized - ); - if (suspense.deps <= 0) { - suspense.resolve(); - } else if (isInFallback) { - if (!isHydrating) { - patch( - activeBranch, - newFallback, - container, - anchor, - parentComponent, - null, - // fallback tree will not have suspense context - namespace, - slotScopeIds, - optimized - ); - setActiveBranch(suspense, newFallback); - } - } - } else { - suspense.pendingId = suspenseId++; - if (isHydrating) { - suspense.isHydrating = false; - suspense.activeBranch = pendingBranch; - } else { - unmount(pendingBranch, parentComponent, suspense); - } - suspense.deps = 0; - suspense.effects.length = 0; - suspense.hiddenContainer = createElement2("div"); - if (isInFallback) { - patch( - null, - newBranch, - suspense.hiddenContainer, - null, - parentComponent, - suspense, - namespace, - slotScopeIds, - optimized - ); - if (suspense.deps <= 0) { - suspense.resolve(); - } else { - patch( - activeBranch, - newFallback, - container, - anchor, - parentComponent, - null, - // fallback tree will not have suspense context - namespace, - slotScopeIds, - optimized - ); - setActiveBranch(suspense, newFallback); - } - } else if (activeBranch && isSameVNodeType(newBranch, activeBranch)) { - patch( - activeBranch, - newBranch, - container, - anchor, - parentComponent, - suspense, - namespace, - slotScopeIds, - optimized - ); - suspense.resolve(true); - } else { - patch( - null, - newBranch, - suspense.hiddenContainer, - null, - parentComponent, - suspense, - namespace, - slotScopeIds, - optimized - ); - if (suspense.deps <= 0) { - suspense.resolve(); - } - } - } - } else { - if (activeBranch && isSameVNodeType(newBranch, activeBranch)) { - patch( - activeBranch, - newBranch, - container, - anchor, - parentComponent, - suspense, - namespace, - slotScopeIds, - optimized - ); - setActiveBranch(suspense, newBranch); - } else { - triggerEvent(n2, "onPending"); - suspense.pendingBranch = newBranch; - if (newBranch.shapeFlag & 512) { - suspense.pendingId = newBranch.component.suspenseId; - } else { - suspense.pendingId = suspenseId++; - } - patch( - null, - newBranch, - suspense.hiddenContainer, - null, - parentComponent, - suspense, - namespace, - slotScopeIds, - optimized - ); - if (suspense.deps <= 0) { - suspense.resolve(); - } else { - const { timeout, pendingId } = suspense; - if (timeout > 0) { - setTimeout(() => { - if (suspense.pendingId === pendingId) { - suspense.fallback(newFallback); - } - }, timeout); - } else if (timeout === 0) { - suspense.fallback(newFallback); - } - } - } - } -} -__name(patchSuspense, "patchSuspense"); -let hasWarned$1 = false; -function createSuspenseBoundary(vnode, parentSuspense, parentComponent, container, hiddenContainer, anchor, namespace, slotScopeIds, optimized, rendererInternals, isHydrating = false) { - if (false) { - hasWarned$1 = true; - console[console.info ? "info" : "log"]( - ` is an experimental feature and its API will likely change.` - ); - } - const { - p: patch, - m: move, - um: unmount, - n: next2, - o: { parentNode, remove: remove22 } - } = rendererInternals; - let parentSuspenseId; - const isSuspensible = isVNodeSuspensible(vnode); - if (isSuspensible) { - if (parentSuspense && parentSuspense.pendingBranch) { - parentSuspenseId = parentSuspense.pendingId; - parentSuspense.deps++; - } - } - const timeout = vnode.props ? toNumber(vnode.props.timeout) : void 0; - if (false) { - assertNumber(timeout, `Suspense timeout`); - } - const initialAnchor = anchor; - const suspense = { - vnode, - parent: parentSuspense, - parentComponent, - namespace, - container, - hiddenContainer, - deps: 0, - pendingId: suspenseId++, - timeout: typeof timeout === "number" ? timeout : -1, - activeBranch: null, - pendingBranch: null, - isInFallback: !isHydrating, - isHydrating, - isUnmounted: false, - effects: [], - resolve(resume = false, sync = false) { - if (false) { - if (!resume && !suspense.pendingBranch) { - throw new Error( - `suspense.resolve() is called without a pending branch.` - ); - } - if (suspense.isUnmounted) { - throw new Error( - `suspense.resolve() is called on an already unmounted suspense boundary.` - ); - } - } - const { - vnode: vnode2, - activeBranch, - pendingBranch, - pendingId, - effects, - parentComponent: parentComponent2, - container: container2 - } = suspense; - let delayEnter = false; - if (suspense.isHydrating) { - suspense.isHydrating = false; - } else if (!resume) { - delayEnter = activeBranch && pendingBranch.transition && pendingBranch.transition.mode === "out-in"; - if (delayEnter) { - activeBranch.transition.afterLeave = () => { - if (pendingId === suspense.pendingId) { - move( - pendingBranch, - container2, - anchor === initialAnchor ? next2(activeBranch) : anchor, - 0 - ); - queuePostFlushCb(effects); - } - }; - } - if (activeBranch) { - if (parentNode(activeBranch.el) !== suspense.hiddenContainer) { - anchor = next2(activeBranch); - } - unmount(activeBranch, parentComponent2, suspense, true); - } - if (!delayEnter) { - move(pendingBranch, container2, anchor, 0); - } - } - setActiveBranch(suspense, pendingBranch); - suspense.pendingBranch = null; - suspense.isInFallback = false; - let parent = suspense.parent; - let hasUnresolvedAncestor = false; - while (parent) { - if (parent.pendingBranch) { - parent.effects.push(...effects); - hasUnresolvedAncestor = true; - break; - } - parent = parent.parent; - } - if (!hasUnresolvedAncestor && !delayEnter) { - queuePostFlushCb(effects); - } - suspense.effects = []; - if (isSuspensible) { - if (parentSuspense && parentSuspense.pendingBranch && parentSuspenseId === parentSuspense.pendingId) { - parentSuspense.deps--; - if (parentSuspense.deps === 0 && !sync) { - parentSuspense.resolve(); - } - } - } - triggerEvent(vnode2, "onResolve"); - }, - fallback(fallbackVNode) { - if (!suspense.pendingBranch) { - return; - } - const { vnode: vnode2, activeBranch, parentComponent: parentComponent2, container: container2, namespace: namespace2 } = suspense; - triggerEvent(vnode2, "onFallback"); - const anchor2 = next2(activeBranch); - const mountFallback = /* @__PURE__ */ __name(() => { - if (!suspense.isInFallback) { - return; - } - patch( - null, - fallbackVNode, - container2, - anchor2, - parentComponent2, - null, - // fallback tree will not have suspense context - namespace2, - slotScopeIds, - optimized - ); - setActiveBranch(suspense, fallbackVNode); - }, "mountFallback"); - const delayEnter = fallbackVNode.transition && fallbackVNode.transition.mode === "out-in"; - if (delayEnter) { - activeBranch.transition.afterLeave = mountFallback; - } - suspense.isInFallback = true; - unmount( - activeBranch, - parentComponent2, - null, - // no suspense so unmount hooks fire now - true - // shouldRemove - ); - if (!delayEnter) { - mountFallback(); - } - }, - move(container2, anchor2, type) { - suspense.activeBranch && move(suspense.activeBranch, container2, anchor2, type); - suspense.container = container2; - }, - next() { - return suspense.activeBranch && next2(suspense.activeBranch); - }, - registerDep(instance, setupRenderEffect, optimized2) { - const isInPendingSuspense = !!suspense.pendingBranch; - if (isInPendingSuspense) { - suspense.deps++; - } - const hydratedEl = instance.vnode.el; - instance.asyncDep.catch((err) => { - handleError(err, instance, 0); - }).then((asyncSetupResult) => { - if (instance.isUnmounted || suspense.isUnmounted || suspense.pendingId !== instance.suspenseId) { - return; - } - instance.asyncResolved = true; - const { vnode: vnode2 } = instance; - if (false) { - pushWarningContext(vnode2); - } - handleSetupResult(instance, asyncSetupResult, false); - if (hydratedEl) { - vnode2.el = hydratedEl; - } - const placeholder = !hydratedEl && instance.subTree.el; - setupRenderEffect( - instance, - vnode2, - // component may have been moved before resolve. - // if this is not a hydration, instance.subTree will be the comment - // placeholder. - parentNode(hydratedEl || instance.subTree.el), - // anchor will not be used if this is hydration, so only need to - // consider the comment placeholder case. - hydratedEl ? null : next2(instance.subTree), - suspense, - namespace, - optimized2 - ); - if (placeholder) { - remove22(placeholder); - } - updateHOCHostEl(instance, vnode2.el); - if (false) { - popWarningContext(); - } - if (isInPendingSuspense && --suspense.deps === 0) { - suspense.resolve(); - } - }); - }, - unmount(parentSuspense2, doRemove) { - suspense.isUnmounted = true; - if (suspense.activeBranch) { - unmount( - suspense.activeBranch, - parentComponent, - parentSuspense2, - doRemove - ); - } - if (suspense.pendingBranch) { - unmount( - suspense.pendingBranch, - parentComponent, - parentSuspense2, - doRemove - ); - } - } - }; - return suspense; -} -__name(createSuspenseBoundary, "createSuspenseBoundary"); -function hydrateSuspense(node3, vnode, parentComponent, parentSuspense, namespace, slotScopeIds, optimized, rendererInternals, hydrateNode) { - const suspense = vnode.suspense = createSuspenseBoundary( - vnode, - parentSuspense, - parentComponent, - node3.parentNode, - // eslint-disable-next-line no-restricted-globals - document.createElement("div"), - null, - namespace, - slotScopeIds, - optimized, - rendererInternals, - true - ); - const result = hydrateNode( - node3, - suspense.pendingBranch = vnode.ssContent, - parentComponent, - suspense, - slotScopeIds, - optimized - ); - if (suspense.deps === 0) { - suspense.resolve(false, true); - } - return result; -} -__name(hydrateSuspense, "hydrateSuspense"); -function normalizeSuspenseChildren(vnode) { - const { shapeFlag, children } = vnode; - const isSlotChildren = shapeFlag & 32; - vnode.ssContent = normalizeSuspenseSlot( - isSlotChildren ? children.default : children - ); - vnode.ssFallback = isSlotChildren ? normalizeSuspenseSlot(children.fallback) : createVNode(Comment); -} -__name(normalizeSuspenseChildren, "normalizeSuspenseChildren"); -function normalizeSuspenseSlot(s) { - let block2; - if (isFunction$4(s)) { - const trackBlock = isBlockTreeEnabled && s._c; - if (trackBlock) { - s._d = false; - openBlock(); - } - s = s(); - if (trackBlock) { - s._d = true; - block2 = currentBlock; - closeBlock(); - } - } - if (isArray$4(s)) { - const singleChild = filterSingleRoot(s); - if (false) { - warn$1(` slots expect a single root node.`); - } - s = singleChild; - } - s = normalizeVNode(s); - if (block2 && !s.dynamicChildren) { - s.dynamicChildren = block2.filter((c) => c !== s); - } - return s; -} -__name(normalizeSuspenseSlot, "normalizeSuspenseSlot"); -function queueEffectWithSuspense(fn, suspense) { - if (suspense && suspense.pendingBranch) { - if (isArray$4(fn)) { - suspense.effects.push(...fn); - } else { - suspense.effects.push(fn); - } - } else { - queuePostFlushCb(fn); - } -} -__name(queueEffectWithSuspense, "queueEffectWithSuspense"); -function setActiveBranch(suspense, branch) { - suspense.activeBranch = branch; - const { vnode, parentComponent } = suspense; - let el = branch.el; - while (!el && branch.component) { - branch = branch.component.subTree; - el = branch.el; - } - vnode.el = el; - if (parentComponent && parentComponent.subTree === vnode) { - parentComponent.vnode.el = el; - updateHOCHostEl(parentComponent, el); - } -} -__name(setActiveBranch, "setActiveBranch"); -function isVNodeSuspensible(vnode) { - const suspensible = vnode.props && vnode.props.suspensible; - return suspensible != null && suspensible !== false; -} -__name(isVNodeSuspensible, "isVNodeSuspensible"); -function injectHook(type, hook, target = currentInstance, prepend = false) { - if (target) { - const hooks = target[type] || (target[type] = []); - const wrappedHook = hook.__weh || (hook.__weh = (...args) => { - pauseTracking(); - const reset = setCurrentInstance(target); - const res = callWithAsyncErrorHandling(hook, target, type, args); - reset(); - resetTracking(); - return res; - }); - if (prepend) { - hooks.unshift(wrappedHook); - } else { - hooks.push(wrappedHook); - } - return wrappedHook; - } else if (false) { - const apiName = toHandlerKey(ErrorTypeStrings$1[type].replace(/ hook$/, "")); - warn$1( - `${apiName} is called when there is no active component instance to be associated with. Lifecycle injection APIs can only be used during execution of setup(). If you are using async setup(), make sure to register lifecycle hooks before the first await statement.` - ); - } -} -__name(injectHook, "injectHook"); -const createHook = /* @__PURE__ */ __name((lifecycle2) => (hook, target = currentInstance) => { - if (!isInSSRComponentSetup || lifecycle2 === "sp") { - injectHook(lifecycle2, (...args) => hook(...args), target); - } -}, "createHook"); -const onBeforeMount = createHook("bm"); -const onMounted = createHook("m"); -const onBeforeUpdate = createHook("bu"); -const onUpdated = createHook("u"); -const onBeforeUnmount = createHook("bum"); -const onUnmounted = createHook("um"); -const onServerPrefetch = createHook("sp"); -const onRenderTriggered = createHook( - "rtg" -); -const onRenderTracked = createHook( - "rtc" -); -function onErrorCaptured(hook, target = currentInstance) { - injectHook("ec", hook, target); -} -__name(onErrorCaptured, "onErrorCaptured"); -function validateDirectiveName(name) { - if (isBuiltInDirective(name)) { - warn$1("Do not use built-in directive ids as custom directive id: " + name); - } -} -__name(validateDirectiveName, "validateDirectiveName"); -function withDirectives(vnode, directives) { - if (currentRenderingInstance === null) { - return vnode; - } - const instance = getComponentPublicInstance(currentRenderingInstance); - const bindings = vnode.dirs || (vnode.dirs = []); - for (let i2 = 0; i2 < directives.length; i2++) { - let [dir, value3, arg, modifiers = EMPTY_OBJ] = directives[i2]; - if (dir) { - if (isFunction$4(dir)) { - dir = { - mounted: dir, - updated: dir - }; - } - if (dir.deep) { - traverse(value3); - } - bindings.push({ - dir, - instance, - value: value3, - oldValue: void 0, - arg, - modifiers - }); - } - } - return vnode; -} -__name(withDirectives, "withDirectives"); -function invokeDirectiveHook(vnode, prevVNode, instance, name) { - const bindings = vnode.dirs; - const oldBindings = prevVNode && prevVNode.dirs; - for (let i2 = 0; i2 < bindings.length; i2++) { - const binding = bindings[i2]; - if (oldBindings) { - binding.oldValue = oldBindings[i2].value; - } - let hook = binding.dir[name]; - if (hook) { - pauseTracking(); - callWithAsyncErrorHandling(hook, instance, 8, [ - vnode.el, - binding, - vnode, - prevVNode - ]); - resetTracking(); - } - } -} -__name(invokeDirectiveHook, "invokeDirectiveHook"); -function renderList(source, renderItem, cache2, index2) { - let ret; - const cached = cache2 && cache2[index2]; - if (isArray$4(source) || isString$5(source)) { - ret = new Array(source.length); - for (let i2 = 0, l = source.length; i2 < l; i2++) { - ret[i2] = renderItem(source[i2], i2, void 0, cached && cached[i2]); - } - } else if (typeof source === "number") { - if (false) { - warn$1(`The v-for range expect an integer value but got ${source}.`); - } - ret = new Array(source); - for (let i2 = 0; i2 < source; i2++) { - ret[i2] = renderItem(i2 + 1, i2, void 0, cached && cached[i2]); - } - } else if (isObject$6(source)) { - if (source[Symbol.iterator]) { - ret = Array.from( - source, - (item2, i2) => renderItem(item2, i2, void 0, cached && cached[i2]) - ); - } else { - const keys2 = Object.keys(source); - ret = new Array(keys2.length); - for (let i2 = 0, l = keys2.length; i2 < l; i2++) { - const key = keys2[i2]; - ret[i2] = renderItem(source[key], key, i2, cached && cached[i2]); - } - } - } else { - ret = []; - } - if (cache2) { - cache2[index2] = ret; - } - return ret; -} -__name(renderList, "renderList"); -function createSlots(slots, dynamicSlots) { - for (let i2 = 0; i2 < dynamicSlots.length; i2++) { - const slot = dynamicSlots[i2]; - if (isArray$4(slot)) { - for (let j = 0; j < slot.length; j++) { - slots[slot[j].name] = slot[j].fn; - } - } else if (slot) { - slots[slot.name] = slot.key ? (...args) => { - const res = slot.fn(...args); - if (res) res.key = slot.key; - return res; - } : slot.fn; - } - } - return slots; -} -__name(createSlots, "createSlots"); -/*! #__NO_SIDE_EFFECTS__ */ -// @__NO_SIDE_EFFECTS__ -function defineComponent(options3, extraOptions) { - return isFunction$4(options3) ? ( - // #8326: extend call and options.name access are considered side-effects - // by Rollup, so we have to wrap it in a pure-annotated IIFE. - /* @__PURE__ */ (() => extend$1({ name: options3.name }, extraOptions, { setup: options3 }))() - ) : options3; -} -__name(defineComponent, "defineComponent"); -const isAsyncWrapper = /* @__PURE__ */ __name((i2) => !!i2.type.__asyncLoader, "isAsyncWrapper"); -/*! #__NO_SIDE_EFFECTS__ */ -// @__NO_SIDE_EFFECTS__ -function defineAsyncComponent(source) { - if (isFunction$4(source)) { - source = { loader: source }; - } - const { - loader, - loadingComponent, - errorComponent, - delay = 200, - timeout, - // undefined = never times out - suspensible = true, - onError: userOnError - } = source; - let pendingRequest = null; - let resolvedComp; - let retries = 0; - const retry = /* @__PURE__ */ __name(() => { - retries++; - pendingRequest = null; - return load2(); - }, "retry"); - const load2 = /* @__PURE__ */ __name(() => { - let thisRequest; - return pendingRequest || (thisRequest = pendingRequest = loader().catch((err) => { - err = err instanceof Error ? err : new Error(String(err)); - if (userOnError) { - return new Promise((resolve22, reject2) => { - const userRetry = /* @__PURE__ */ __name(() => resolve22(retry()), "userRetry"); - const userFail = /* @__PURE__ */ __name(() => reject2(err), "userFail"); - userOnError(err, userRetry, userFail, retries + 1); - }); - } else { - throw err; - } - }).then((comp) => { - if (thisRequest !== pendingRequest && pendingRequest) { - return pendingRequest; - } - if (false) { - warn$1( - `Async component loader resolved to undefined. If you are using retry(), make sure to return its return value.` - ); - } - if (comp && (comp.__esModule || comp[Symbol.toStringTag] === "Module")) { - comp = comp.default; - } - if (false) { - throw new Error(`Invalid async component load result: ${comp}`); - } - resolvedComp = comp; - return comp; - })); - }, "load"); - return /* @__PURE__ */ defineComponent({ - name: "AsyncComponentWrapper", - __asyncLoader: load2, - get __asyncResolved() { - return resolvedComp; - }, - setup() { - const instance = currentInstance; - if (resolvedComp) { - return () => createInnerComp(resolvedComp, instance); - } - const onError = /* @__PURE__ */ __name((err) => { - pendingRequest = null; - handleError( - err, - instance, - 13, - !errorComponent - ); - }, "onError"); - if (suspensible && instance.suspense || isInSSRComponentSetup) { - return load2().then((comp) => { - return () => createInnerComp(comp, instance); - }).catch((err) => { - onError(err); - return () => errorComponent ? createVNode(errorComponent, { - error: err - }) : null; - }); - } - const loaded = ref(false); - const error = ref(); - const delayed = ref(!!delay); - if (delay) { - setTimeout(() => { - delayed.value = false; - }, delay); - } - if (timeout != null) { - setTimeout(() => { - if (!loaded.value && !error.value) { - const err = new Error( - `Async component timed out after ${timeout}ms.` - ); - onError(err); - error.value = err; - } - }, timeout); - } - load2().then(() => { - loaded.value = true; - if (instance.parent && isKeepAlive(instance.parent.vnode)) { - instance.parent.effect.dirty = true; - queueJob(instance.parent.update); - } - }).catch((err) => { - onError(err); - error.value = err; - }); - return () => { - if (loaded.value && resolvedComp) { - return createInnerComp(resolvedComp, instance); - } else if (error.value && errorComponent) { - return createVNode(errorComponent, { - error: error.value - }); - } else if (loadingComponent && !delayed.value) { - return createVNode(loadingComponent); - } - }; - } - }); -} -__name(defineAsyncComponent, "defineAsyncComponent"); -function createInnerComp(comp, parent) { - const { ref: ref22, props, children, ce } = parent.vnode; - const vnode = createVNode(comp, props, children); - vnode.ref = ref22; - vnode.ce = ce; - delete parent.vnode.ce; - return vnode; -} -__name(createInnerComp, "createInnerComp"); -function renderSlot(slots, name, props = {}, fallback, noSlotted) { - if (currentRenderingInstance.isCE || currentRenderingInstance.parent && isAsyncWrapper(currentRenderingInstance.parent) && currentRenderingInstance.parent.isCE) { - if (name !== "default") props.name = name; - return createVNode("slot", props, fallback && fallback()); - } - let slot = slots[name]; - if (false) { - warn$1( - `SSR-optimized slot function detected in a non-SSR-optimized render function. You need to mark this component with $dynamic-slots in the parent template.` - ); - slot = /* @__PURE__ */ __name(() => [], "slot"); - } - if (slot && slot._c) { - slot._d = false; - } - openBlock(); - const validSlotContent = slot && ensureValidVNode(slot(props)); - const rendered = createBlock( - Fragment, - { - key: props.key || // slot content array of a dynamic conditional slot may have a branch - // key attached in the `createSlots` helper, respect that - validSlotContent && validSlotContent.key || `_${name}` - }, - validSlotContent || (fallback ? fallback() : []), - validSlotContent && slots._ === 1 ? 64 : -2 - ); - if (!noSlotted && rendered.scopeId) { - rendered.slotScopeIds = [rendered.scopeId + "-s"]; - } - if (slot && slot._c) { - slot._d = true; - } - return rendered; -} -__name(renderSlot, "renderSlot"); -function ensureValidVNode(vnodes) { - return vnodes.some((child) => { - if (!isVNode$1(child)) return true; - if (child.type === Comment) return false; - if (child.type === Fragment && !ensureValidVNode(child.children)) - return false; - return true; - }) ? vnodes : null; -} -__name(ensureValidVNode, "ensureValidVNode"); -function toHandlers(obj, preserveCaseIfNecessary) { - const ret = {}; - if (false) { - warn$1(`v-on with no argument expects an object value.`); - return ret; - } - for (const key in obj) { - ret[preserveCaseIfNecessary && /[A-Z]/.test(key) ? `on:${key}` : toHandlerKey(key)] = obj[key]; - } - return ret; -} -__name(toHandlers, "toHandlers"); -const getPublicInstance = /* @__PURE__ */ __name((i2) => { - if (!i2) return null; - if (isStatefulComponent(i2)) return getComponentPublicInstance(i2); - return getPublicInstance(i2.parent); -}, "getPublicInstance"); -const publicPropertiesMap = ( - // Move PURE marker to new line to workaround compiler discarding it - // due to type annotation - /* @__PURE__ */ extend$1(/* @__PURE__ */ Object.create(null), { - $: /* @__PURE__ */ __name((i2) => i2, "$"), - $el: /* @__PURE__ */ __name((i2) => i2.vnode.el, "$el"), - $data: /* @__PURE__ */ __name((i2) => i2.data, "$data"), - $props: /* @__PURE__ */ __name((i2) => false ? shallowReadonly(i2.props) : i2.props, "$props"), - $attrs: /* @__PURE__ */ __name((i2) => false ? shallowReadonly(i2.attrs) : i2.attrs, "$attrs"), - $slots: /* @__PURE__ */ __name((i2) => false ? shallowReadonly(i2.slots) : i2.slots, "$slots"), - $refs: /* @__PURE__ */ __name((i2) => false ? shallowReadonly(i2.refs) : i2.refs, "$refs"), - $parent: /* @__PURE__ */ __name((i2) => getPublicInstance(i2.parent), "$parent"), - $root: /* @__PURE__ */ __name((i2) => getPublicInstance(i2.root), "$root"), - $emit: /* @__PURE__ */ __name((i2) => i2.emit, "$emit"), - $options: /* @__PURE__ */ __name((i2) => true ? resolveMergedOptions(i2) : i2.type, "$options"), - $forceUpdate: /* @__PURE__ */ __name((i2) => i2.f || (i2.f = () => { - i2.effect.dirty = true; - queueJob(i2.update); - }), "$forceUpdate"), - $nextTick: /* @__PURE__ */ __name((i2) => i2.n || (i2.n = nextTick.bind(i2.proxy)), "$nextTick"), - $watch: /* @__PURE__ */ __name((i2) => true ? instanceWatch.bind(i2) : NOOP, "$watch") - }) -); -const isReservedPrefix = /* @__PURE__ */ __name((key) => key === "_" || key === "$", "isReservedPrefix"); -const hasSetupBinding = /* @__PURE__ */ __name((state, key) => state !== EMPTY_OBJ && !state.__isScriptSetup && hasOwn$3(state, key), "hasSetupBinding"); -const PublicInstanceProxyHandlers = { - get({ _: instance }, key) { - if (key === "__v_skip") { - return true; - } - const { ctx, setupState, data: data24, props, accessCache, type, appContext } = instance; - if (false) { - return true; - } - let normalizedProps; - if (key[0] !== "$") { - const n = accessCache[key]; - if (n !== void 0) { - switch (n) { - case 1: - return setupState[key]; - case 2: - return data24[key]; - case 4: - return ctx[key]; - case 3: - return props[key]; - } - } else if (hasSetupBinding(setupState, key)) { - accessCache[key] = 1; - return setupState[key]; - } else if (data24 !== EMPTY_OBJ && hasOwn$3(data24, key)) { - accessCache[key] = 2; - return data24[key]; - } else if ( - // only cache other properties when instance has declared (thus stable) - // props - (normalizedProps = instance.propsOptions[0]) && hasOwn$3(normalizedProps, key) - ) { - accessCache[key] = 3; - return props[key]; - } else if (ctx !== EMPTY_OBJ && hasOwn$3(ctx, key)) { - accessCache[key] = 4; - return ctx[key]; - } else if (shouldCacheAccess) { - accessCache[key] = 0; - } - } - const publicGetter = publicPropertiesMap[key]; - let cssModule, globalProperties; - if (publicGetter) { - if (key === "$attrs") { - track(instance.attrs, "get", ""); - } else if (false) { - track(instance, "get", key); - } - return publicGetter(instance); - } else if ( - // css module (injected by vue-loader) - (cssModule = type.__cssModules) && (cssModule = cssModule[key]) - ) { - return cssModule; - } else if (ctx !== EMPTY_OBJ && hasOwn$3(ctx, key)) { - accessCache[key] = 4; - return ctx[key]; - } else if ( - // global properties - globalProperties = appContext.config.globalProperties, hasOwn$3(globalProperties, key) - ) { - { - return globalProperties[key]; - } - } else if (false) { - if (data24 !== EMPTY_OBJ && isReservedPrefix(key[0]) && hasOwn$3(data24, key)) { - warn$1( - `Property ${JSON.stringify( - key - )} must be accessed via $data because it starts with a reserved character ("$" or "_") and is not proxied on the render context.` - ); - } else if (instance === currentRenderingInstance) { - warn$1( - `Property ${JSON.stringify(key)} was accessed during render but is not defined on instance.` - ); - } - } - }, - set({ _: instance }, key, value3) { - const { data: data24, setupState, ctx } = instance; - if (hasSetupBinding(setupState, key)) { - setupState[key] = value3; - return true; - } else if (false) { - warn$1(`Cannot mutate \n\n\n\n\n","\n\n\n\n\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-tabs {\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.p-tablist {\\n position: relative;\\n}\\n\\n.p-tabs-scrollable > .p-tablist {\\n overflow: hidden;\\n}\\n\\n.p-tablist-viewport {\\n overflow-x: auto;\\n overflow-y: hidden;\\n scroll-behavior: smooth;\\n scrollbar-width: none;\\n overscroll-behavior: contain auto;\\n}\\n\\n.p-tablist-viewport::-webkit-scrollbar {\\n display: none;\\n}\\n\\n.p-tablist-tab-list {\\n position: relative;\\n display: flex;\\n background: \".concat(dt('tabs.tablist.background'), \";\\n border-style: solid;\\n border-color: \").concat(dt('tabs.tablist.border.color'), \";\\n border-width: \").concat(dt('tabs.tablist.border.width'), \";\\n}\\n\\n.p-tablist-nav-button {\\n all: unset;\\n position: absolute;\\n top: 0;\\n z-index: 2;\\n height: 100%;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n background: \").concat(dt('tabs.nav.button.background'), \";\\n color: \").concat(dt('tabs.nav.button.color'), \";\\n width: \").concat(dt('tabs.nav.button.width'), \";\\n transition: color \").concat(dt('tabs.transition.duration'), \", outline-color \").concat(dt('tabs.transition.duration'), \", box-shadow \").concat(dt('tabs.transition.duration'), \";\\n box-shadow: \").concat(dt('tabs.nav.button.shadow'), \";\\n outline-color: transparent;\\n cursor: pointer;\\n}\\n\\n.p-tablist-nav-button:focus-visible {\\n z-index: 1;\\n box-shadow: \").concat(dt('tabs.nav.button.focus.ring.shadow'), \";\\n outline: \").concat(dt('tabs.nav.button.focus.ring.width'), \" \").concat(dt('tabs.nav.button.focus.ring.style'), \" \").concat(dt('tabs.nav.button.focus.ring.color'), \";\\n outline-offset: \").concat(dt('tabs.nav.button.focus.ring.offset'), \";\\n}\\n\\n.p-tablist-nav-button:hover {\\n color: \").concat(dt('tabs.nav.button.hover.color'), \";\\n}\\n\\n.p-tablist-prev-button {\\n left: 0;\\n}\\n\\n.p-tablist-next-button {\\n right: 0;\\n}\\n\\n.p-tab {\\n cursor: pointer;\\n user-select: none;\\n position: relative;\\n border-style: solid;\\n white-space: nowrap;\\n background: \").concat(dt('tabs.tab.background'), \";\\n border-width: \").concat(dt('tabs.tab.border.width'), \";\\n border-color: \").concat(dt('tabs.tab.border.color'), \";\\n color: \").concat(dt('tabs.tab.color'), \";\\n padding: \").concat(dt('tabs.tab.padding'), \";\\n font-weight: \").concat(dt('tabs.tab.font.weight'), \";\\n transition: background \").concat(dt('tabs.transition.duration'), \", border-color \").concat(dt('tabs.transition.duration'), \", color \").concat(dt('tabs.transition.duration'), \", outline-color \").concat(dt('tabs.transition.duration'), \", box-shadow \").concat(dt('tabs.transition.duration'), \";\\n margin: \").concat(dt('tabs.tab.margin'), \";\\n outline-color: transparent;\\n}\\n\\n.p-tab:not(.p-disabled):focus-visible {\\n z-index: 1;\\n box-shadow: \").concat(dt('tabs.tab.focus.ring.shadow'), \";\\n outline: \").concat(dt('tabs.tab.focus.ring.width'), \" \").concat(dt('tabs.tab.focus.ring.style'), \" \").concat(dt('tabs.tab.focus.ring.color'), \";\\n outline-offset: \").concat(dt('tabs.tab.focus.ring.offset'), \";\\n}\\n\\n.p-tab:not(.p-tab-active):not(.p-disabled):hover {\\n background: \").concat(dt('tabs.tab.hover.background'), \";\\n border-color: \").concat(dt('tabs.tab.hover.border.color'), \";\\n color: \").concat(dt('tabs.tab.hover.color'), \";\\n}\\n\\n.p-tab-active {\\n background: \").concat(dt('tabs.tab.active.background'), \";\\n border-color: \").concat(dt('tabs.tab.active.border.color'), \";\\n color: \").concat(dt('tabs.tab.active.color'), \";\\n}\\n\\n.p-tabpanels {\\n background: \").concat(dt('tabs.tabpanel.background'), \";\\n color: \").concat(dt('tabs.tabpanel.color'), \";\\n padding: \").concat(dt('tabs.tabpanel.padding'), \";\\n outline: 0 none;\\n}\\n\\n.p-tabpanel:focus-visible {\\n box-shadow: \").concat(dt('tabs.tabpanel.focus.ring.shadow'), \";\\n outline: \").concat(dt('tabs.tabpanel.focus.ring.width'), \" \").concat(dt('tabs.tabpanel.focus.ring.style'), \" \").concat(dt('tabs.tabpanel.focus.ring.color'), \";\\n outline-offset: \").concat(dt('tabs.tabpanel.focus.ring.offset'), \";\\n}\\n\\n.p-tablist-active-bar {\\n z-index: 1;\\n display: block;\\n position: absolute;\\n bottom: \").concat(dt('tabs.active.bar.bottom'), \";\\n height: \").concat(dt('tabs.active.bar.height'), \";\\n background: \").concat(dt('tabs.active.bar.background'), \";\\n transition: 250ms cubic-bezier(0.35, 0, 0.25, 1);\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return ['p-tabs p-component', {\n 'p-tabs-scrollable': props.scrollable\n }];\n }\n};\nvar TabsStyle = BaseStyle.extend({\n name: 'tabs',\n theme: theme,\n classes: classes\n});\n\nexport { TabsStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { UniqueComponentId } from '@primevue/core/utils';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TabsStyle from 'primevue/tabs/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseTabs',\n \"extends\": BaseComponent,\n props: {\n value: {\n type: String,\n \"default\": undefined\n },\n lazy: {\n type: Boolean,\n \"default\": false\n },\n scrollable: {\n type: Boolean,\n \"default\": false\n },\n showNavigators: {\n type: Boolean,\n \"default\": true\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n selectOnFocus: {\n type: Boolean,\n \"default\": false\n }\n },\n style: TabsStyle,\n provide: function provide() {\n return {\n $pcTabs: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Tabs',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:value'],\n data: function data() {\n return {\n id: this.$attrs.id,\n d_value: this.value\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n value: function value(newValue) {\n this.d_value = newValue;\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n },\n methods: {\n updateValue: function updateValue(newValue) {\n if (this.d_value !== newValue) {\n this.d_value = newValue;\n this.$emit('update:value', newValue);\n }\n },\n isVertical: function isVertical() {\n return this.orientation === 'vertical';\n }\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"default\")], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar classes = {\n root: 'p-tabpanels'\n};\nvar TabPanelsStyle = BaseStyle.extend({\n name: 'tabpanels',\n classes: classes\n});\n\nexport { TabPanelsStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport TabPanelsStyle from 'primevue/tabpanels/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseTabPanels',\n \"extends\": BaseComponent,\n props: {},\n style: TabPanelsStyle,\n provide: function provide() {\n return {\n $pcTabPanels: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'TabPanels',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n role: \"presentation\"\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"default\")], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar classes = {\n root: function root(_ref) {\n var instance = _ref.instance;\n return ['p-tabpanel', {\n 'p-tabpanel-active': instance.active\n }];\n }\n};\nvar TabPanelStyle = BaseStyle.extend({\n name: 'tabpanel',\n classes: classes\n});\n\nexport { TabPanelStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { equals } from '@primeuix/utils/object';\nimport { mergeProps, renderSlot, openBlock, createElementBlock, Fragment, withDirectives, createBlock, resolveDynamicComponent, withCtx, vShow, createCommentVNode, normalizeClass } from 'vue';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport TabPanelStyle from 'primevue/tabpanel/style';\n\nvar script$1 = {\n name: 'BaseTabPanel',\n \"extends\": BaseComponent,\n props: {\n // in Tabs\n value: {\n type: String,\n \"default\": undefined\n },\n as: {\n type: String,\n \"default\": 'DIV'\n },\n asChild: {\n type: Boolean,\n \"default\": false\n },\n // in TabView\n header: null,\n headerStyle: null,\n headerClass: null,\n headerProps: null,\n headerActionProps: null,\n contentStyle: null,\n contentClass: null,\n contentProps: null,\n disabled: Boolean\n },\n style: TabPanelStyle,\n provide: function provide() {\n return {\n $pcTabPanel: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'TabPanel',\n \"extends\": script$1,\n inheritAttrs: false,\n inject: ['$pcTabs'],\n computed: {\n active: function active() {\n var _this$$pcTabs;\n return equals((_this$$pcTabs = this.$pcTabs) === null || _this$$pcTabs === void 0 ? void 0 : _this$$pcTabs.d_value, this.value);\n },\n id: function id() {\n var _this$$pcTabs2;\n return \"\".concat((_this$$pcTabs2 = this.$pcTabs) === null || _this$$pcTabs2 === void 0 ? void 0 : _this$$pcTabs2.id, \"_tabpanel_\").concat(this.value);\n },\n ariaLabelledby: function ariaLabelledby() {\n var _this$$pcTabs3;\n return \"\".concat((_this$$pcTabs3 = this.$pcTabs) === null || _this$$pcTabs3 === void 0 ? void 0 : _this$$pcTabs3.id, \"_tab_\").concat(this.value);\n },\n attrs: function attrs() {\n return mergeProps(this.a11yAttrs, this.ptmi('root', this.ptParams));\n },\n a11yAttrs: function a11yAttrs() {\n var _this$$pcTabs4;\n return {\n id: this.id,\n tabindex: (_this$$pcTabs4 = this.$pcTabs) === null || _this$$pcTabs4 === void 0 ? void 0 : _this$$pcTabs4.tabindex,\n role: 'tabpanel',\n 'aria-labelledby': this.ariaLabelledby,\n 'data-pc-name': 'tabpanel',\n 'data-p-active': this.active\n };\n },\n ptParams: function ptParams() {\n return {\n context: {\n active: this.active\n }\n };\n }\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _$options$$pcTabs, _$options$$pcTabs2;\n return !$options.$pcTabs ? renderSlot(_ctx.$slots, \"default\", {\n key: 0\n }) : (openBlock(), createElementBlock(Fragment, {\n key: 1\n }, [!_ctx.asChild ? (openBlock(), createElementBlock(Fragment, {\n key: 0\n }, [((_$options$$pcTabs = $options.$pcTabs) !== null && _$options$$pcTabs !== void 0 && _$options$$pcTabs.lazy ? $options.active : true) ? withDirectives((openBlock(), createBlock(resolveDynamicComponent(_ctx.as), mergeProps({\n key: 0,\n \"class\": _ctx.cx('root')\n }, $options.attrs), {\n \"default\": withCtx(function () {\n return [renderSlot(_ctx.$slots, \"default\")];\n }),\n _: 3\n }, 16, [\"class\"])), [[vShow, (_$options$$pcTabs2 = $options.$pcTabs) !== null && _$options$$pcTabs2 !== void 0 && _$options$$pcTabs2.lazy ? true : $options.active]]) : createCommentVNode(\"\", true)], 64)) : renderSlot(_ctx.$slots, \"default\", {\n key: 1,\n \"class\": normalizeClass(_ctx.cx('root')),\n active: $options.active,\n a11yAttrs: $options.a11yAttrs\n })], 64));\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-divider-horizontal {\\n display: flex;\\n width: 100%;\\n position: relative;\\n align-items: center;\\n margin: \".concat(dt('divider.horizontal.margin'), \";\\n padding: \").concat(dt('divider.horizontal.padding'), \";\\n}\\n\\n.p-divider-horizontal:before {\\n position: absolute;\\n display: block;\\n top: 50%;\\n left: 0;\\n width: 100%;\\n content: \\\"\\\";\\n border-top: 1px solid \").concat(dt('divider.border.color'), \";\\n}\\n\\n.p-divider-horizontal .p-divider-content {\\n padding: \").concat(dt('divider.horizontal.content.padding'), \";\\n}\\n\\n.p-divider-vertical {\\n min-height: 100%;\\n margin: 0 1rem;\\n display: flex;\\n position: relative;\\n justify-content: center;\\n margin: \").concat(dt('divider.vertical.margin'), \";\\n padding: \").concat(dt('divider.vertical.padding'), \";\\n}\\n\\n.p-divider-vertical:before {\\n position: absolute;\\n display: block;\\n top: 0;\\n left: 50%;\\n height: 100%;\\n content: \\\"\\\";\\n border-left: 1px solid \").concat(dt('divider.border.color'), \";\\n}\\n\\n.p-divider.p-divider-vertical .p-divider-content {\\n padding: \").concat(dt('divider.vertical.content.padding'), \";\\n}\\n\\n.p-divider-content {\\n z-index: 1;\\n background: \").concat(dt('divider.content.background'), \";\\n color: \").concat(dt('divider.content.color'), \";\\n}\\n\\n.p-divider-solid.p-divider-horizontal:before {\\n border-top-style: solid;\\n}\\n\\n.p-divider-solid.p-divider-vertical:before {\\n border-left-style: solid;\\n}\\n\\n.p-divider-dashed.p-divider-horizontal:before {\\n border-top-style: dashed;\\n}\\n\\n.p-divider-dashed.p-divider-vertical:before {\\n border-left-style: dashed;\\n}\\n\\n.p-divider-dotted.p-divider-horizontal:before {\\n border-top-style: dotted;\\n}\\n\\n.p-divider-dotted.p-divider-vertical:before {\\n border-left-style: dotted;\\n}\\n\");\n};\n\n/* Position */\nvar inlineStyles = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return {\n justifyContent: props.layout === 'horizontal' ? props.align === 'center' || props.align === null ? 'center' : props.align === 'left' ? 'flex-start' : props.align === 'right' ? 'flex-end' : null : null,\n alignItems: props.layout === 'vertical' ? props.align === 'center' || props.align === null ? 'center' : props.align === 'top' ? 'flex-start' : props.align === 'bottom' ? 'flex-end' : null : null\n };\n }\n};\nvar classes = {\n root: function root(_ref3) {\n var props = _ref3.props;\n return ['p-divider p-component', 'p-divider-' + props.layout, 'p-divider-' + props.type, {\n 'p-divider-left': props.layout === 'horizontal' && (!props.align || props.align === 'left')\n }, {\n 'p-divider-center': props.layout === 'horizontal' && props.align === 'center'\n }, {\n 'p-divider-right': props.layout === 'horizontal' && props.align === 'right'\n }, {\n 'p-divider-top': props.layout === 'vertical' && props.align === 'top'\n }, {\n 'p-divider-center': props.layout === 'vertical' && (!props.align || props.align === 'center')\n }, {\n 'p-divider-bottom': props.layout === 'vertical' && props.align === 'bottom'\n }];\n },\n content: 'p-divider-content'\n};\nvar DividerStyle = BaseStyle.extend({\n name: 'divider',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { DividerStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport DividerStyle from 'primevue/divider/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot, createCommentVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseDivider',\n \"extends\": BaseComponent,\n props: {\n align: {\n type: String,\n \"default\": null\n },\n layout: {\n type: String,\n \"default\": 'horizontal'\n },\n type: {\n type: String,\n \"default\": 'solid'\n }\n },\n style: DividerStyle,\n provide: function provide() {\n return {\n $pcDivider: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Divider',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nvar _hoisted_1 = [\"aria-orientation\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n style: _ctx.sx('root'),\n role: \"separator\",\n \"aria-orientation\": _ctx.layout\n }, _ctx.ptmi('root')), [_ctx.$slots[\"default\"] ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('content')\n }, _ctx.ptm('content')), [renderSlot(_ctx.$slots, \"default\")], 16)) : createCommentVNode(\"\", true)], 16, _hoisted_1);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'AngleDownIcon',\n \"extends\": BaseIcon\n};\n\nvar _hoisted_1 = /*#__PURE__*/createElementVNode(\"path\", {\n d: \"M3.58659 4.5007C3.68513 4.50023 3.78277 4.51945 3.87379 4.55723C3.9648 4.59501 4.04735 4.65058 4.11659 4.7207L7.11659 7.7207L10.1166 4.7207C10.2619 4.65055 10.4259 4.62911 10.5843 4.65956C10.7427 4.69002 10.8871 4.77074 10.996 4.88976C11.1049 5.00877 11.1726 5.15973 11.1889 5.32022C11.2052 5.48072 11.1693 5.6422 11.0866 5.7807L7.58659 9.2807C7.44597 9.42115 7.25534 9.50004 7.05659 9.50004C6.85784 9.50004 6.66722 9.42115 6.52659 9.2807L3.02659 5.7807C2.88614 5.64007 2.80725 5.44945 2.80725 5.2507C2.80725 5.05195 2.88614 4.86132 3.02659 4.7207C3.09932 4.64685 3.18675 4.58911 3.28322 4.55121C3.37969 4.51331 3.48305 4.4961 3.58659 4.5007Z\",\n fill: \"currentColor\"\n}, null, -1);\nvar _hoisted_2 = [_hoisted_1];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _hoisted_2, 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'AngleUpIcon',\n \"extends\": BaseIcon\n};\n\nvar _hoisted_1 = /*#__PURE__*/createElementVNode(\"path\", {\n d: \"M10.4134 9.49931C10.3148 9.49977 10.2172 9.48055 10.1262 9.44278C10.0352 9.405 9.95263 9.34942 9.88338 9.27931L6.88338 6.27931L3.88338 9.27931C3.73811 9.34946 3.57409 9.3709 3.41567 9.34044C3.25724 9.30999 3.11286 9.22926 3.00395 9.11025C2.89504 8.99124 2.82741 8.84028 2.8111 8.67978C2.79478 8.51928 2.83065 8.35781 2.91338 8.21931L6.41338 4.71931C6.55401 4.57886 6.74463 4.49997 6.94338 4.49997C7.14213 4.49997 7.33276 4.57886 7.47338 4.71931L10.9734 8.21931C11.1138 8.35994 11.1927 8.55056 11.1927 8.74931C11.1927 8.94806 11.1138 9.13868 10.9734 9.27931C10.9007 9.35315 10.8132 9.41089 10.7168 9.44879C10.6203 9.48669 10.5169 9.5039 10.4134 9.49931Z\",\n fill: \"currentColor\"\n}, null, -1);\nvar _hoisted_2 = [_hoisted_1];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _hoisted_2, 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-inputnumber {\\n display: inline-flex;\\n position: relative;\\n}\\n\\n.p-inputnumber-button {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex: 0 0 auto;\\n cursor: pointer;\\n background: \".concat(dt('inputnumber.button.background'), \";\\n color: \").concat(dt('inputnumber.button.color'), \";\\n width: \").concat(dt('inputnumber.button.width'), \";\\n transition: background \").concat(dt('inputnumber.transition.duration'), \", color \").concat(dt('inputnumber.transition.duration'), \", border-color \").concat(dt('inputnumber.transition.duration'), \", outline-color \").concat(dt('inputnumber.transition.duration'), \";\\n}\\n\\n.p-inputnumber-button:hover {\\n background: \").concat(dt('inputnumber.button.hover.background'), \";\\n color: \").concat(dt('inputnumber.button.hover.color'), \";\\n}\\n\\n.p-inputnumber-button:active {\\n background: \").concat(dt('inputnumber.button.active.background'), \";\\n color: \").concat(dt('inputnumber.button.active.color'), \";\\n}\\n\\n.p-inputnumber-stacked .p-inputnumber-button {\\n position: relative;\\n border: 0 none;\\n}\\n\\n.p-inputnumber-stacked .p-inputnumber-button-group {\\n display: flex;\\n flex-direction: column;\\n position: absolute;\\n top: 1px;\\n right: 1px;\\n height: calc(100% - 2px);\\n}\\n\\n.p-inputnumber-stacked .p-inputnumber-increment-button {\\n padding: 0;\\n border-top-right-radius: calc(\").concat(dt('inputnumber.button.border.radius'), \" - 1px);\\n}\\n\\n.p-inputnumber-stacked .p-inputnumber-decrement-button {\\n padding: 0;\\n border-bottom-right-radius: calc(\").concat(dt('inputnumber.button.border.radius'), \" - 1px);\\n}\\n\\n.p-inputnumber-stacked .p-inputnumber-button {\\n flex: 1 1 auto;\\n border: 0 none;\\n}\\n\\n.p-inputnumber-horizontal .p-inputnumber-button {\\n border: 1px solid \").concat(dt('inputnumber.button.border.color'), \";\\n}\\n\\n.p-inputnumber-horizontal .p-inputnumber-button:hover {\\n border-color: \").concat(dt('inputnumber.button.hover.border.color'), \";\\n}\\n\\n.p-inputnumber-horizontal .p-inputnumber-button:active {\\n border-color: \").concat(dt('inputnumber.button.active.border.color'), \";\\n}\\n\\n.p-inputnumber-horizontal .p-inputnumber-increment-button {\\n order: 3;\\n border-top-right-radius: \").concat(dt('inputnumber.button.border.radius'), \";\\n border-bottom-right-radius: \").concat(dt('inputnumber.button.border.radius'), \";\\n border-left: 0 none;\\n}\\n\\n.p-inputnumber-horizontal .p-inputnumber-input {\\n order: 2;\\n border-radius: 0;\\n}\\n\\n.p-inputnumber-horizontal .p-inputnumber-decrement-button {\\n order: 1;\\n border-top-left-radius: \").concat(dt('inputnumber.button.border.radius'), \";\\n border-bottom-left-radius: \").concat(dt('inputnumber.button.border.radius'), \";\\n border-right: 0 none;\\n}\\n\\n.p-inputnumber-vertical {\\n flex-direction: column;\\n}\\n\\n.p-inputnumber-vertical .p-inputnumber-button {\\n border: 1px solid \").concat(dt('inputnumber.button.border.color'), \";\\n padding: \").concat(dt('inputnumber.button.vertical.padding'), \"; 0;\\n}\\n\\n.p-inputnumber-vertical .p-inputnumber-button:hover {\\n border-color: \").concat(dt('inputnumber.button.hover.border.color'), \";\\n}\\n\\n.p-inputnumber-vertical .p-inputnumber-button:active {\\n border-color: \").concat(dt('inputnumber.button.active.border.color'), \";\\n}\\n\\n.p-inputnumber-vertical .p-inputnumber-increment-button {\\n order: 1;\\n border-top-left-radius: \").concat(dt('inputnumber.button.border.radius'), \";\\n border-top-right-radius: \").concat(dt('inputnumber.button.border.radius'), \";\\n width: 100%;\\n border-bottom: 0 none;\\n}\\n\\n.p-inputnumber-vertical .p-inputnumber-input {\\n order: 2;\\n border-radius: 0;\\n text-align: center;\\n}\\n\\n.p-inputnumber-vertical .p-inputnumber-decrement-button {\\n order: 3;\\n border-bottom-left-radius: \").concat(dt('inputnumber.button.border.radius'), \";\\n border-bottom-right-radius: \").concat(dt('inputnumber.button.border.radius'), \";\\n width: 100%;\\n border-top: 0 none;\\n}\\n\\n.p-inputnumber-input {\\n flex: 1 1 auto;\\n}\\n\\n.p-inputnumber-fluid {\\n width: 100%;\\n}\\n\\n.p-inputnumber-fluid .p-inputnumber-input {\\n width: 1%;\\n}\\n\\n.p-inputnumber-fluid.p-inputnumber-vertical .p-inputnumber-input {\\n width: 100%;\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props;\n return ['p-inputnumber p-component p-inputwrapper', {\n 'p-inputwrapper-filled': instance.filled || props.allowEmpty === false,\n 'p-inputwrapper-focus': instance.focused,\n 'p-inputnumber-stacked': props.showButtons && props.buttonLayout === 'stacked',\n 'p-inputnumber-horizontal': props.showButtons && props.buttonLayout === 'horizontal',\n 'p-inputnumber-vertical': props.showButtons && props.buttonLayout === 'vertical',\n 'p-inputnumber-fluid': instance.fluid\n }];\n },\n pcInput: 'p-inputnumber-input',\n buttonGroup: 'p-inputnumber-button-group',\n incrementButton: function incrementButton(_ref3) {\n var instance = _ref3.instance,\n props = _ref3.props;\n return ['p-inputnumber-button p-inputnumber-increment-button', {\n 'p-disabled': props.showButtons && props.max !== null && instance.maxBoundry()\n }];\n },\n decrementButton: function decrementButton(_ref4) {\n var instance = _ref4.instance,\n props = _ref4.props;\n return ['p-inputnumber-button p-inputnumber-decrement-button', {\n 'p-disabled': props.showButtons && props.min !== null && instance.minBoundry()\n }];\n }\n};\nvar InputNumberStyle = BaseStyle.extend({\n name: 'inputnumber',\n theme: theme,\n classes: classes\n});\n\nexport { InputNumberStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { getSelection, clearSelection } from '@primeuix/utils/dom';\nimport { isNotEmpty } from '@primeuix/utils/object';\nimport AngleDownIcon from '@primevue/icons/angledown';\nimport AngleUpIcon from '@primevue/icons/angleup';\nimport InputText from 'primevue/inputtext';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport InputNumberStyle from 'primevue/inputnumber/style';\nimport { resolveComponent, openBlock, createElementBlock, mergeProps, createVNode, normalizeClass, normalizeStyle, renderSlot, createElementVNode, toHandlers, createBlock, resolveDynamicComponent, createCommentVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseInputNumber',\n \"extends\": BaseComponent,\n props: {\n modelValue: {\n type: Number,\n \"default\": null\n },\n format: {\n type: Boolean,\n \"default\": true\n },\n showButtons: {\n type: Boolean,\n \"default\": false\n },\n buttonLayout: {\n type: String,\n \"default\": 'stacked'\n },\n incrementButtonClass: {\n type: String,\n \"default\": null\n },\n decrementButtonClass: {\n type: String,\n \"default\": null\n },\n incrementButtonIcon: {\n type: String,\n \"default\": undefined\n },\n incrementIcon: {\n type: String,\n \"default\": undefined\n },\n decrementButtonIcon: {\n type: String,\n \"default\": undefined\n },\n decrementIcon: {\n type: String,\n \"default\": undefined\n },\n locale: {\n type: String,\n \"default\": undefined\n },\n localeMatcher: {\n type: String,\n \"default\": undefined\n },\n mode: {\n type: String,\n \"default\": 'decimal'\n },\n prefix: {\n type: String,\n \"default\": null\n },\n suffix: {\n type: String,\n \"default\": null\n },\n currency: {\n type: String,\n \"default\": undefined\n },\n currencyDisplay: {\n type: String,\n \"default\": undefined\n },\n useGrouping: {\n type: Boolean,\n \"default\": true\n },\n minFractionDigits: {\n type: Number,\n \"default\": undefined\n },\n maxFractionDigits: {\n type: Number,\n \"default\": undefined\n },\n roundingMode: {\n type: String,\n \"default\": 'halfExpand',\n validator: function validator(value) {\n return ['ceil', 'floor', 'expand', 'trunc', 'halfCeil', 'halfFloor', 'halfExpand', 'halfTrunc', 'halfEven'].includes(value);\n }\n },\n min: {\n type: Number,\n \"default\": null\n },\n max: {\n type: Number,\n \"default\": null\n },\n step: {\n type: Number,\n \"default\": 1\n },\n allowEmpty: {\n type: Boolean,\n \"default\": true\n },\n highlightOnFocus: {\n type: Boolean,\n \"default\": false\n },\n readonly: {\n type: Boolean,\n \"default\": false\n },\n variant: {\n type: String,\n \"default\": null\n },\n invalid: {\n type: Boolean,\n \"default\": false\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n placeholder: {\n type: String,\n \"default\": null\n },\n fluid: {\n type: Boolean,\n \"default\": false\n },\n inputId: {\n type: String,\n \"default\": null\n },\n inputClass: {\n type: [String, Object],\n \"default\": null\n },\n inputStyle: {\n type: Object,\n \"default\": null\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: InputNumberStyle,\n provide: function provide() {\n return {\n $pcInputNumber: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nvar script = {\n name: 'InputNumber',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:modelValue', 'input', 'focus', 'blur'],\n numberFormat: null,\n _numeral: null,\n _decimal: null,\n _group: null,\n _minusSign: null,\n _currency: null,\n _suffix: null,\n _prefix: null,\n _index: null,\n groupChar: '',\n isSpecialChar: null,\n prefixChar: null,\n suffixChar: null,\n timer: null,\n data: function data() {\n return {\n d_modelValue: this.modelValue,\n focused: false\n };\n },\n watch: {\n modelValue: function modelValue(newValue) {\n this.d_modelValue = newValue;\n },\n locale: function locale(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n localeMatcher: function localeMatcher(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n mode: function mode(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n currency: function currency(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n currencyDisplay: function currencyDisplay(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n useGrouping: function useGrouping(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n minFractionDigits: function minFractionDigits(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n maxFractionDigits: function maxFractionDigits(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n suffix: function suffix(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n },\n prefix: function prefix(newValue, oldValue) {\n this.updateConstructParser(newValue, oldValue);\n }\n },\n created: function created() {\n this.constructParser();\n },\n methods: {\n getOptions: function getOptions() {\n return {\n localeMatcher: this.localeMatcher,\n style: this.mode,\n currency: this.currency,\n currencyDisplay: this.currencyDisplay,\n useGrouping: this.useGrouping,\n minimumFractionDigits: this.minFractionDigits,\n maximumFractionDigits: this.maxFractionDigits,\n roundingMode: this.roundingMode\n };\n },\n constructParser: function constructParser() {\n this.numberFormat = new Intl.NumberFormat(this.locale, this.getOptions());\n var numerals = _toConsumableArray(new Intl.NumberFormat(this.locale, {\n useGrouping: false\n }).format(9876543210)).reverse();\n var index = new Map(numerals.map(function (d, i) {\n return [d, i];\n }));\n this._numeral = new RegExp(\"[\".concat(numerals.join(''), \"]\"), 'g');\n this._group = this.getGroupingExpression();\n this._minusSign = this.getMinusSignExpression();\n this._currency = this.getCurrencyExpression();\n this._decimal = this.getDecimalExpression();\n this._suffix = this.getSuffixExpression();\n this._prefix = this.getPrefixExpression();\n this._index = function (d) {\n return index.get(d);\n };\n },\n updateConstructParser: function updateConstructParser(newValue, oldValue) {\n if (newValue !== oldValue) {\n this.constructParser();\n }\n },\n escapeRegExp: function escapeRegExp(text) {\n return text.replace(/[-[\\]{}()*+?.,\\\\^$|#\\s]/g, '\\\\$&');\n },\n getDecimalExpression: function getDecimalExpression() {\n var formatter = new Intl.NumberFormat(this.locale, _objectSpread(_objectSpread({}, this.getOptions()), {}, {\n useGrouping: false\n }));\n return new RegExp(\"[\".concat(formatter.format(1.1).replace(this._currency, '').trim().replace(this._numeral, ''), \"]\"), 'g');\n },\n getGroupingExpression: function getGroupingExpression() {\n var formatter = new Intl.NumberFormat(this.locale, {\n useGrouping: true\n });\n this.groupChar = formatter.format(1000000).trim().replace(this._numeral, '').charAt(0);\n return new RegExp(\"[\".concat(this.groupChar, \"]\"), 'g');\n },\n getMinusSignExpression: function getMinusSignExpression() {\n var formatter = new Intl.NumberFormat(this.locale, {\n useGrouping: false\n });\n return new RegExp(\"[\".concat(formatter.format(-1).trim().replace(this._numeral, ''), \"]\"), 'g');\n },\n getCurrencyExpression: function getCurrencyExpression() {\n if (this.currency) {\n var formatter = new Intl.NumberFormat(this.locale, {\n style: 'currency',\n currency: this.currency,\n currencyDisplay: this.currencyDisplay,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n roundingMode: this.roundingMode\n });\n return new RegExp(\"[\".concat(formatter.format(1).replace(/\\s/g, '').replace(this._numeral, '').replace(this._group, ''), \"]\"), 'g');\n }\n return new RegExp(\"[]\", 'g');\n },\n getPrefixExpression: function getPrefixExpression() {\n if (this.prefix) {\n this.prefixChar = this.prefix;\n } else {\n var formatter = new Intl.NumberFormat(this.locale, {\n style: this.mode,\n currency: this.currency,\n currencyDisplay: this.currencyDisplay\n });\n this.prefixChar = formatter.format(1).split('1')[0];\n }\n return new RegExp(\"\".concat(this.escapeRegExp(this.prefixChar || '')), 'g');\n },\n getSuffixExpression: function getSuffixExpression() {\n if (this.suffix) {\n this.suffixChar = this.suffix;\n } else {\n var formatter = new Intl.NumberFormat(this.locale, {\n style: this.mode,\n currency: this.currency,\n currencyDisplay: this.currencyDisplay,\n minimumFractionDigits: 0,\n maximumFractionDigits: 0,\n roundingMode: this.roundingMode\n });\n this.suffixChar = formatter.format(1).split('1')[1];\n }\n return new RegExp(\"\".concat(this.escapeRegExp(this.suffixChar || '')), 'g');\n },\n formatValue: function formatValue(value) {\n if (value != null) {\n if (value === '-') {\n // Minus sign\n return value;\n }\n if (this.format) {\n var formatter = new Intl.NumberFormat(this.locale, this.getOptions());\n var formattedValue = formatter.format(value);\n if (this.prefix) {\n formattedValue = this.prefix + formattedValue;\n }\n if (this.suffix) {\n formattedValue = formattedValue + this.suffix;\n }\n return formattedValue;\n }\n return value.toString();\n }\n return '';\n },\n parseValue: function parseValue(text) {\n var filteredText = text.replace(this._suffix, '').replace(this._prefix, '').trim().replace(/\\s/g, '').replace(this._currency, '').replace(this._group, '').replace(this._minusSign, '-').replace(this._decimal, '.').replace(this._numeral, this._index);\n if (filteredText) {\n if (filteredText === '-')\n // Minus sign\n return filteredText;\n var parsedValue = +filteredText;\n return isNaN(parsedValue) ? null : parsedValue;\n }\n return null;\n },\n repeat: function repeat(event, interval, dir) {\n var _this = this;\n if (this.readonly) {\n return;\n }\n var i = interval || 500;\n this.clearTimer();\n this.timer = setTimeout(function () {\n _this.repeat(event, 40, dir);\n }, i);\n this.spin(event, dir);\n },\n spin: function spin(event, dir) {\n if (this.$refs.input) {\n var step = this.step * dir;\n var currentValue = this.parseValue(this.$refs.input.$el.value) || 0;\n var newValue = this.validateValue(currentValue + step);\n this.updateInput(newValue, null, 'spin');\n this.updateModel(event, newValue);\n this.handleOnInput(event, currentValue, newValue);\n }\n },\n onUpButtonMouseDown: function onUpButtonMouseDown(event) {\n if (!this.disabled) {\n this.$refs.input.$el.focus();\n this.repeat(event, null, 1);\n event.preventDefault();\n }\n },\n onUpButtonMouseUp: function onUpButtonMouseUp() {\n if (!this.disabled) {\n this.clearTimer();\n }\n },\n onUpButtonMouseLeave: function onUpButtonMouseLeave() {\n if (!this.disabled) {\n this.clearTimer();\n }\n },\n onUpButtonKeyUp: function onUpButtonKeyUp() {\n if (!this.disabled) {\n this.clearTimer();\n }\n },\n onUpButtonKeyDown: function onUpButtonKeyDown(event) {\n if (event.code === 'Space' || event.code === 'Enter' || event.code === 'NumpadEnter') {\n this.repeat(event, null, 1);\n }\n },\n onDownButtonMouseDown: function onDownButtonMouseDown(event) {\n if (!this.disabled) {\n this.$refs.input.$el.focus();\n this.repeat(event, null, -1);\n event.preventDefault();\n }\n },\n onDownButtonMouseUp: function onDownButtonMouseUp() {\n if (!this.disabled) {\n this.clearTimer();\n }\n },\n onDownButtonMouseLeave: function onDownButtonMouseLeave() {\n if (!this.disabled) {\n this.clearTimer();\n }\n },\n onDownButtonKeyUp: function onDownButtonKeyUp() {\n if (!this.disabled) {\n this.clearTimer();\n }\n },\n onDownButtonKeyDown: function onDownButtonKeyDown(event) {\n if (event.code === 'Space' || event.code === 'Enter' || event.code === 'NumpadEnter') {\n this.repeat(event, null, -1);\n }\n },\n onUserInput: function onUserInput() {\n if (this.isSpecialChar) {\n this.$refs.input.$el.value = this.lastValue;\n }\n this.isSpecialChar = false;\n },\n onInputKeyDown: function onInputKeyDown(event) {\n if (this.readonly) {\n return;\n }\n if (event.altKey || event.ctrlKey || event.metaKey) {\n this.isSpecialChar = true;\n this.lastValue = this.$refs.input.$el.value;\n return;\n }\n this.lastValue = event.target.value;\n var selectionStart = event.target.selectionStart;\n var selectionEnd = event.target.selectionEnd;\n var inputValue = event.target.value;\n var newValueStr = null;\n switch (event.code) {\n case 'ArrowUp':\n this.spin(event, 1);\n event.preventDefault();\n break;\n case 'ArrowDown':\n this.spin(event, -1);\n event.preventDefault();\n break;\n case 'ArrowLeft':\n if (!this.isNumeralChar(inputValue.charAt(selectionStart - 1))) {\n event.preventDefault();\n }\n break;\n case 'ArrowRight':\n if (!this.isNumeralChar(inputValue.charAt(selectionStart))) {\n event.preventDefault();\n }\n break;\n case 'Tab':\n case 'Enter':\n case 'NumpadEnter':\n newValueStr = this.validateValue(this.parseValue(inputValue));\n this.$refs.input.$el.value = this.formatValue(newValueStr);\n this.$refs.input.$el.setAttribute('aria-valuenow', newValueStr);\n this.updateModel(event, newValueStr);\n break;\n case 'Backspace':\n {\n event.preventDefault();\n if (selectionStart === selectionEnd) {\n var deleteChar = inputValue.charAt(selectionStart - 1);\n var _this$getDecimalCharI = this.getDecimalCharIndexes(inputValue),\n decimalCharIndex = _this$getDecimalCharI.decimalCharIndex,\n decimalCharIndexWithoutPrefix = _this$getDecimalCharI.decimalCharIndexWithoutPrefix;\n if (this.isNumeralChar(deleteChar)) {\n var decimalLength = this.getDecimalLength(inputValue);\n if (this._group.test(deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart - 2) + inputValue.slice(selectionStart - 1);\n } else if (this._decimal.test(deleteChar)) {\n this._decimal.lastIndex = 0;\n if (decimalLength) {\n this.$refs.input.$el.setSelectionRange(selectionStart - 1, selectionStart - 1);\n } else {\n newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart);\n }\n } else if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n var insertedText = this.isDecimalMode() && (this.minFractionDigits || 0) < decimalLength ? '' : '0';\n newValueStr = inputValue.slice(0, selectionStart - 1) + insertedText + inputValue.slice(selectionStart);\n } else if (decimalCharIndexWithoutPrefix === 1) {\n newValueStr = inputValue.slice(0, selectionStart - 1) + '0' + inputValue.slice(selectionStart);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n } else {\n newValueStr = inputValue.slice(0, selectionStart - 1) + inputValue.slice(selectionStart);\n }\n }\n this.updateValue(event, newValueStr, null, 'delete-single');\n } else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n break;\n }\n case 'Delete':\n event.preventDefault();\n if (selectionStart === selectionEnd) {\n var _deleteChar = inputValue.charAt(selectionStart);\n var _this$getDecimalCharI2 = this.getDecimalCharIndexes(inputValue),\n _decimalCharIndex = _this$getDecimalCharI2.decimalCharIndex,\n _decimalCharIndexWithoutPrefix = _this$getDecimalCharI2.decimalCharIndexWithoutPrefix;\n if (this.isNumeralChar(_deleteChar)) {\n var _decimalLength = this.getDecimalLength(inputValue);\n if (this._group.test(_deleteChar)) {\n this._group.lastIndex = 0;\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 2);\n } else if (this._decimal.test(_deleteChar)) {\n this._decimal.lastIndex = 0;\n if (_decimalLength) {\n this.$refs.input.$el.setSelectionRange(selectionStart + 1, selectionStart + 1);\n } else {\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1);\n }\n } else if (_decimalCharIndex > 0 && selectionStart > _decimalCharIndex) {\n var _insertedText = this.isDecimalMode() && (this.minFractionDigits || 0) < _decimalLength ? '' : '0';\n newValueStr = inputValue.slice(0, selectionStart) + _insertedText + inputValue.slice(selectionStart + 1);\n } else if (_decimalCharIndexWithoutPrefix === 1) {\n newValueStr = inputValue.slice(0, selectionStart) + '0' + inputValue.slice(selectionStart + 1);\n newValueStr = this.parseValue(newValueStr) > 0 ? newValueStr : '';\n } else {\n newValueStr = inputValue.slice(0, selectionStart) + inputValue.slice(selectionStart + 1);\n }\n }\n this.updateValue(event, newValueStr, null, 'delete-back-single');\n } else {\n newValueStr = this.deleteRange(inputValue, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, null, 'delete-range');\n }\n break;\n case 'Home':\n event.preventDefault();\n if (isNotEmpty(this.min)) {\n this.updateModel(event, this.min);\n }\n break;\n case 'End':\n event.preventDefault();\n if (isNotEmpty(this.max)) {\n this.updateModel(event, this.max);\n }\n break;\n }\n },\n onInputKeyPress: function onInputKeyPress(event) {\n if (this.readonly) {\n return;\n }\n var _char = event.key;\n var isDecimalSign = this.isDecimalSign(_char);\n var isMinusSign = this.isMinusSign(_char);\n if (event.code !== 'Enter') {\n event.preventDefault();\n }\n if (Number(_char) >= 0 && Number(_char) <= 9 || isMinusSign || isDecimalSign) {\n this.insert(event, _char, {\n isDecimalSign: isDecimalSign,\n isMinusSign: isMinusSign\n });\n }\n },\n onPaste: function onPaste(event) {\n event.preventDefault();\n var data = (event.clipboardData || window['clipboardData']).getData('Text');\n if (data) {\n var filteredData = this.parseValue(data);\n if (filteredData != null) {\n this.insert(event, filteredData.toString());\n }\n }\n },\n allowMinusSign: function allowMinusSign() {\n return this.min === null || this.min < 0;\n },\n isMinusSign: function isMinusSign(_char2) {\n if (this._minusSign.test(_char2) || _char2 === '-') {\n this._minusSign.lastIndex = 0;\n return true;\n }\n return false;\n },\n isDecimalSign: function isDecimalSign(_char3) {\n if (this._decimal.test(_char3)) {\n this._decimal.lastIndex = 0;\n return true;\n }\n return false;\n },\n isDecimalMode: function isDecimalMode() {\n return this.mode === 'decimal';\n },\n getDecimalCharIndexes: function getDecimalCharIndexes(val) {\n var decimalCharIndex = val.search(this._decimal);\n this._decimal.lastIndex = 0;\n var filteredVal = val.replace(this._prefix, '').trim().replace(/\\s/g, '').replace(this._currency, '');\n var decimalCharIndexWithoutPrefix = filteredVal.search(this._decimal);\n this._decimal.lastIndex = 0;\n return {\n decimalCharIndex: decimalCharIndex,\n decimalCharIndexWithoutPrefix: decimalCharIndexWithoutPrefix\n };\n },\n getCharIndexes: function getCharIndexes(val) {\n var decimalCharIndex = val.search(this._decimal);\n this._decimal.lastIndex = 0;\n var minusCharIndex = val.search(this._minusSign);\n this._minusSign.lastIndex = 0;\n var suffixCharIndex = val.search(this._suffix);\n this._suffix.lastIndex = 0;\n var currencyCharIndex = val.search(this._currency);\n this._currency.lastIndex = 0;\n return {\n decimalCharIndex: decimalCharIndex,\n minusCharIndex: minusCharIndex,\n suffixCharIndex: suffixCharIndex,\n currencyCharIndex: currencyCharIndex\n };\n },\n insert: function insert(event, text) {\n var sign = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : {\n isDecimalSign: false,\n isMinusSign: false\n };\n var minusCharIndexOnText = text.search(this._minusSign);\n this._minusSign.lastIndex = 0;\n if (!this.allowMinusSign() && minusCharIndexOnText !== -1) {\n return;\n }\n var selectionStart = this.$refs.input.$el.selectionStart;\n var selectionEnd = this.$refs.input.$el.selectionEnd;\n var inputValue = this.$refs.input.$el.value.trim();\n var _this$getCharIndexes = this.getCharIndexes(inputValue),\n decimalCharIndex = _this$getCharIndexes.decimalCharIndex,\n minusCharIndex = _this$getCharIndexes.minusCharIndex,\n suffixCharIndex = _this$getCharIndexes.suffixCharIndex,\n currencyCharIndex = _this$getCharIndexes.currencyCharIndex;\n var newValueStr;\n if (sign.isMinusSign) {\n if (selectionStart === 0) {\n newValueStr = inputValue;\n if (minusCharIndex === -1 || selectionEnd !== 0) {\n newValueStr = this.insertText(inputValue, text, 0, selectionEnd);\n }\n this.updateValue(event, newValueStr, text, 'insert');\n }\n } else if (sign.isDecimalSign) {\n if (decimalCharIndex > 0 && selectionStart === decimalCharIndex) {\n this.updateValue(event, inputValue, text, 'insert');\n } else if (decimalCharIndex > selectionStart && decimalCharIndex < selectionEnd) {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, 'insert');\n } else if (decimalCharIndex === -1 && this.maxFractionDigits) {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, 'insert');\n }\n } else {\n var maxFractionDigits = this.numberFormat.resolvedOptions().maximumFractionDigits;\n var operation = selectionStart !== selectionEnd ? 'range-insert' : 'insert';\n if (decimalCharIndex > 0 && selectionStart > decimalCharIndex) {\n if (selectionStart + text.length - (decimalCharIndex + 1) <= maxFractionDigits) {\n var charIndex = currencyCharIndex >= selectionStart ? currencyCharIndex - 1 : suffixCharIndex >= selectionStart ? suffixCharIndex : inputValue.length;\n newValueStr = inputValue.slice(0, selectionStart) + text + inputValue.slice(selectionStart + text.length, charIndex) + inputValue.slice(charIndex);\n this.updateValue(event, newValueStr, text, operation);\n }\n } else {\n newValueStr = this.insertText(inputValue, text, selectionStart, selectionEnd);\n this.updateValue(event, newValueStr, text, operation);\n }\n }\n },\n insertText: function insertText(value, text, start, end) {\n var textSplit = text === '.' ? text : text.split('.');\n if (textSplit.length === 2) {\n var decimalCharIndex = value.slice(start, end).search(this._decimal);\n this._decimal.lastIndex = 0;\n return decimalCharIndex > 0 ? value.slice(0, start) + this.formatValue(text) + value.slice(end) : this.formatValue(text) || value;\n } else if (end - start === value.length) {\n return this.formatValue(text);\n } else if (start === 0) {\n return text + value.slice(end);\n } else if (end === value.length) {\n return value.slice(0, start) + text;\n } else {\n return value.slice(0, start) + text + value.slice(end);\n }\n },\n deleteRange: function deleteRange(value, start, end) {\n var newValueStr;\n if (end - start === value.length) newValueStr = '';else if (start === 0) newValueStr = value.slice(end);else if (end === value.length) newValueStr = value.slice(0, start);else newValueStr = value.slice(0, start) + value.slice(end);\n return newValueStr;\n },\n initCursor: function initCursor() {\n var selectionStart = this.$refs.input.$el.selectionStart;\n var inputValue = this.$refs.input.$el.value;\n var valueLength = inputValue.length;\n var index = null;\n\n // remove prefix\n var prefixLength = (this.prefixChar || '').length;\n inputValue = inputValue.replace(this._prefix, '');\n selectionStart = selectionStart - prefixLength;\n var _char4 = inputValue.charAt(selectionStart);\n if (this.isNumeralChar(_char4)) {\n return selectionStart + prefixLength;\n }\n\n //left\n var i = selectionStart - 1;\n while (i >= 0) {\n _char4 = inputValue.charAt(i);\n if (this.isNumeralChar(_char4)) {\n index = i + prefixLength;\n break;\n } else {\n i--;\n }\n }\n if (index !== null) {\n this.$refs.input.$el.setSelectionRange(index + 1, index + 1);\n } else {\n i = selectionStart;\n while (i < valueLength) {\n _char4 = inputValue.charAt(i);\n if (this.isNumeralChar(_char4)) {\n index = i + prefixLength;\n break;\n } else {\n i++;\n }\n }\n if (index !== null) {\n this.$refs.input.$el.setSelectionRange(index, index);\n }\n }\n return index || 0;\n },\n onInputClick: function onInputClick() {\n var currentValue = this.$refs.input.$el.value;\n if (!this.readonly && currentValue !== getSelection()) {\n this.initCursor();\n }\n },\n isNumeralChar: function isNumeralChar(_char5) {\n if (_char5.length === 1 && (this._numeral.test(_char5) || this._decimal.test(_char5) || this._group.test(_char5) || this._minusSign.test(_char5))) {\n this.resetRegex();\n return true;\n }\n return false;\n },\n resetRegex: function resetRegex() {\n this._numeral.lastIndex = 0;\n this._decimal.lastIndex = 0;\n this._group.lastIndex = 0;\n this._minusSign.lastIndex = 0;\n },\n updateValue: function updateValue(event, valueStr, insertedValueStr, operation) {\n var currentValue = this.$refs.input.$el.value;\n var newValue = null;\n if (valueStr != null) {\n newValue = this.parseValue(valueStr);\n newValue = !newValue && !this.allowEmpty ? 0 : newValue;\n this.updateInput(newValue, insertedValueStr, operation, valueStr);\n this.handleOnInput(event, currentValue, newValue);\n }\n },\n handleOnInput: function handleOnInput(event, currentValue, newValue) {\n if (this.isValueChanged(currentValue, newValue)) {\n this.$emit('input', {\n originalEvent: event,\n value: newValue,\n formattedValue: currentValue\n });\n }\n },\n isValueChanged: function isValueChanged(currentValue, newValue) {\n if (newValue === null && currentValue !== null) {\n return true;\n }\n if (newValue != null) {\n var parsedCurrentValue = typeof currentValue === 'string' ? this.parseValue(currentValue) : currentValue;\n return newValue !== parsedCurrentValue;\n }\n return false;\n },\n validateValue: function validateValue(value) {\n if (value === '-' || value == null) {\n return null;\n }\n if (this.min != null && value < this.min) {\n return this.min;\n }\n if (this.max != null && value > this.max) {\n return this.max;\n }\n return value;\n },\n updateInput: function updateInput(value, insertedValueStr, operation, valueStr) {\n insertedValueStr = insertedValueStr || '';\n var inputValue = this.$refs.input.$el.value;\n var newValue = this.formatValue(value);\n var currentLength = inputValue.length;\n if (newValue !== valueStr) {\n newValue = this.concatValues(newValue, valueStr);\n }\n if (currentLength === 0) {\n this.$refs.input.$el.value = newValue;\n this.$refs.input.$el.setSelectionRange(0, 0);\n var index = this.initCursor();\n var selectionEnd = index + insertedValueStr.length;\n this.$refs.input.$el.setSelectionRange(selectionEnd, selectionEnd);\n } else {\n var selectionStart = this.$refs.input.$el.selectionStart;\n var _selectionEnd = this.$refs.input.$el.selectionEnd;\n this.$refs.input.$el.value = newValue;\n var newLength = newValue.length;\n if (operation === 'range-insert') {\n var startValue = this.parseValue((inputValue || '').slice(0, selectionStart));\n var startValueStr = startValue !== null ? startValue.toString() : '';\n var startExpr = startValueStr.split('').join(\"(\".concat(this.groupChar, \")?\"));\n var sRegex = new RegExp(startExpr, 'g');\n sRegex.test(newValue);\n var tExpr = insertedValueStr.split('').join(\"(\".concat(this.groupChar, \")?\"));\n var tRegex = new RegExp(tExpr, 'g');\n tRegex.test(newValue.slice(sRegex.lastIndex));\n _selectionEnd = sRegex.lastIndex + tRegex.lastIndex;\n this.$refs.input.$el.setSelectionRange(_selectionEnd, _selectionEnd);\n } else if (newLength === currentLength) {\n if (operation === 'insert' || operation === 'delete-back-single') {\n this.$refs.input.$el.setSelectionRange(_selectionEnd + 1, _selectionEnd + 1);\n } else if (operation === 'delete-single') {\n this.$refs.input.$el.setSelectionRange(_selectionEnd - 1, _selectionEnd - 1);\n } else if (operation === 'delete-range' || operation === 'spin') {\n this.$refs.input.$el.setSelectionRange(_selectionEnd, _selectionEnd);\n }\n } else if (operation === 'delete-back-single') {\n var prevChar = inputValue.charAt(_selectionEnd - 1);\n var nextChar = inputValue.charAt(_selectionEnd);\n var diff = currentLength - newLength;\n var isGroupChar = this._group.test(nextChar);\n if (isGroupChar && diff === 1) {\n _selectionEnd += 1;\n } else if (!isGroupChar && this.isNumeralChar(prevChar)) {\n _selectionEnd += -1 * diff + 1;\n }\n this._group.lastIndex = 0;\n this.$refs.input.$el.setSelectionRange(_selectionEnd, _selectionEnd);\n } else if (inputValue === '-' && operation === 'insert') {\n this.$refs.input.$el.setSelectionRange(0, 0);\n var _index = this.initCursor();\n var _selectionEnd2 = _index + insertedValueStr.length + 1;\n this.$refs.input.$el.setSelectionRange(_selectionEnd2, _selectionEnd2);\n } else {\n _selectionEnd = _selectionEnd + (newLength - currentLength);\n this.$refs.input.$el.setSelectionRange(_selectionEnd, _selectionEnd);\n }\n }\n this.$refs.input.$el.setAttribute('aria-valuenow', value);\n },\n concatValues: function concatValues(val1, val2) {\n if (val1 && val2) {\n var decimalCharIndex = val2.search(this._decimal);\n this._decimal.lastIndex = 0;\n if (this.suffixChar) {\n return decimalCharIndex !== -1 ? val1.replace(this.suffixChar, '').split(this._decimal)[0] + val2.replace(this.suffixChar, '').slice(decimalCharIndex) + this.suffixChar : val1;\n } else {\n return decimalCharIndex !== -1 ? val1.split(this._decimal)[0] + val2.slice(decimalCharIndex) : val1;\n }\n }\n return val1;\n },\n getDecimalLength: function getDecimalLength(value) {\n if (value) {\n var valueSplit = value.split(this._decimal);\n if (valueSplit.length === 2) {\n return valueSplit[1].replace(this._suffix, '').trim().replace(/\\s/g, '').replace(this._currency, '').length;\n }\n }\n return 0;\n },\n updateModel: function updateModel(event, value) {\n this.d_modelValue = value;\n this.$emit('update:modelValue', value);\n },\n onInputFocus: function onInputFocus(event) {\n this.focused = true;\n if (!this.disabled && !this.readonly && this.$refs.input.$el.value !== getSelection() && this.highlightOnFocus) {\n event.target.select();\n }\n this.$emit('focus', event);\n },\n onInputBlur: function onInputBlur(event) {\n this.focused = false;\n var input = event.target;\n var newValue = this.validateValue(this.parseValue(input.value));\n this.$emit('blur', {\n originalEvent: event,\n value: input.value\n });\n input.value = this.formatValue(newValue);\n input.setAttribute('aria-valuenow', newValue);\n this.updateModel(event, newValue);\n if (!this.disabled && !this.readonly && this.highlightOnFocus) {\n clearSelection();\n }\n },\n clearTimer: function clearTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n }\n },\n maxBoundry: function maxBoundry() {\n return this.d_modelValue >= this.max;\n },\n minBoundry: function minBoundry() {\n return this.d_modelValue <= this.min;\n }\n },\n computed: {\n filled: function filled() {\n return this.modelValue != null && this.modelValue.toString().length > 0;\n },\n upButtonListeners: function upButtonListeners() {\n var _this2 = this;\n return {\n mousedown: function mousedown(event) {\n return _this2.onUpButtonMouseDown(event);\n },\n mouseup: function mouseup(event) {\n return _this2.onUpButtonMouseUp(event);\n },\n mouseleave: function mouseleave(event) {\n return _this2.onUpButtonMouseLeave(event);\n },\n keydown: function keydown(event) {\n return _this2.onUpButtonKeyDown(event);\n },\n keyup: function keyup(event) {\n return _this2.onUpButtonKeyUp(event);\n }\n };\n },\n downButtonListeners: function downButtonListeners() {\n var _this3 = this;\n return {\n mousedown: function mousedown(event) {\n return _this3.onDownButtonMouseDown(event);\n },\n mouseup: function mouseup(event) {\n return _this3.onDownButtonMouseUp(event);\n },\n mouseleave: function mouseleave(event) {\n return _this3.onDownButtonMouseLeave(event);\n },\n keydown: function keydown(event) {\n return _this3.onDownButtonKeyDown(event);\n },\n keyup: function keyup(event) {\n return _this3.onDownButtonKeyUp(event);\n }\n };\n },\n formattedValue: function formattedValue() {\n var val = !this.modelValue && !this.allowEmpty ? 0 : this.modelValue;\n return this.formatValue(val);\n },\n getFormatter: function getFormatter() {\n return this.numberFormat;\n }\n },\n components: {\n InputText: InputText,\n AngleUpIcon: AngleUpIcon,\n AngleDownIcon: AngleDownIcon\n }\n};\n\nvar _hoisted_1 = [\"disabled\"];\nvar _hoisted_2 = [\"disabled\"];\nvar _hoisted_3 = [\"disabled\"];\nvar _hoisted_4 = [\"disabled\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_InputText = resolveComponent(\"InputText\");\n return openBlock(), createElementBlock(\"span\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [createVNode(_component_InputText, {\n ref: \"input\",\n id: _ctx.inputId,\n role: \"spinbutton\",\n \"class\": normalizeClass([_ctx.cx('pcInput'), _ctx.inputClass]),\n style: normalizeStyle(_ctx.inputStyle),\n value: $options.formattedValue,\n \"aria-valuemin\": _ctx.min,\n \"aria-valuemax\": _ctx.max,\n \"aria-valuenow\": _ctx.modelValue,\n inputmode: _ctx.mode === 'decimal' && !_ctx.minFractionDigits ? 'numeric' : 'decimal',\n disabled: _ctx.disabled,\n readonly: _ctx.readonly,\n placeholder: _ctx.placeholder,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n invalid: _ctx.invalid,\n variant: _ctx.variant,\n onInput: $options.onUserInput,\n onKeydown: $options.onInputKeyDown,\n onKeypress: $options.onInputKeyPress,\n onPaste: $options.onPaste,\n onClick: $options.onInputClick,\n onFocus: $options.onInputFocus,\n onBlur: $options.onInputBlur,\n pt: _ctx.ptm('pcInput'),\n unstyled: _ctx.unstyled\n }, null, 8, [\"id\", \"class\", \"style\", \"value\", \"aria-valuemin\", \"aria-valuemax\", \"aria-valuenow\", \"inputmode\", \"disabled\", \"readonly\", \"placeholder\", \"aria-labelledby\", \"aria-label\", \"invalid\", \"variant\", \"onInput\", \"onKeydown\", \"onKeypress\", \"onPaste\", \"onClick\", \"onFocus\", \"onBlur\", \"pt\", \"unstyled\"]), _ctx.showButtons && _ctx.buttonLayout === 'stacked' ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('buttonGroup')\n }, _ctx.ptm('buttonGroup')), [renderSlot(_ctx.$slots, \"incrementbutton\", {\n listeners: $options.upButtonListeners\n }, function () {\n return [createElementVNode(\"button\", mergeProps({\n \"class\": [_ctx.cx('incrementButton'), _ctx.incrementButtonClass]\n }, toHandlers($options.upButtonListeners, true), {\n disabled: _ctx.disabled,\n tabindex: -1,\n \"aria-hidden\": \"true\",\n type: \"button\"\n }, _ctx.ptm('incrementButton')), [renderSlot(_ctx.$slots, _ctx.$slots.incrementicon ? 'incrementicon' : 'incrementbuttonicon', {}, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.incrementIcon || _ctx.incrementButtonIcon ? 'span' : 'AngleUpIcon'), mergeProps({\n \"class\": [_ctx.incrementIcon, _ctx.incrementButtonIcon]\n }, _ctx.ptm('incrementIcon'), {\n \"data-pc-section\": \"incrementicon\"\n }), null, 16, [\"class\"]))];\n })], 16, _hoisted_1)];\n }), renderSlot(_ctx.$slots, \"decrementbutton\", {\n listeners: $options.downButtonListeners\n }, function () {\n return [createElementVNode(\"button\", mergeProps({\n \"class\": [_ctx.cx('decrementButton'), _ctx.decrementButtonClass]\n }, toHandlers($options.downButtonListeners, true), {\n disabled: _ctx.disabled,\n tabindex: -1,\n \"aria-hidden\": \"true\",\n type: \"button\"\n }, _ctx.ptm('decrementButton')), [renderSlot(_ctx.$slots, _ctx.$slots.decrementicon ? 'decrementicon' : 'decrementbuttonicon', {}, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.decrementIcon || _ctx.decrementButtonIcon ? 'span' : 'AngleDownIcon'), mergeProps({\n \"class\": [_ctx.decrementIcon, _ctx.decrementButtonIcon]\n }, _ctx.ptm('decrementIcon'), {\n \"data-pc-section\": \"decrementicon\"\n }), null, 16, [\"class\"]))];\n })], 16, _hoisted_2)];\n })], 16)) : createCommentVNode(\"\", true), renderSlot(_ctx.$slots, \"incrementbutton\", {\n listeners: $options.upButtonListeners\n }, function () {\n return [_ctx.showButtons && _ctx.buttonLayout !== 'stacked' ? (openBlock(), createElementBlock(\"button\", mergeProps({\n key: 0,\n \"class\": [_ctx.cx('incrementButton'), _ctx.incrementButtonClass]\n }, toHandlers($options.upButtonListeners, true), {\n disabled: _ctx.disabled,\n tabindex: -1,\n \"aria-hidden\": \"true\",\n type: \"button\"\n }, _ctx.ptm('incrementButton')), [renderSlot(_ctx.$slots, _ctx.$slots.incrementicon ? 'incrementicon' : 'incrementbuttonicon', {}, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.incrementIcon || _ctx.incrementButtonIcon ? 'span' : 'AngleUpIcon'), mergeProps({\n \"class\": [_ctx.incrementIcon, _ctx.incrementButtonIcon]\n }, _ctx.ptm('incrementIcon'), {\n \"data-pc-section\": \"incrementicon\"\n }), null, 16, [\"class\"]))];\n })], 16, _hoisted_3)) : createCommentVNode(\"\", true)];\n }), renderSlot(_ctx.$slots, \"decrementbutton\", {\n listeners: $options.downButtonListeners\n }, function () {\n return [_ctx.showButtons && _ctx.buttonLayout !== 'stacked' ? (openBlock(), createElementBlock(\"button\", mergeProps({\n key: 0,\n \"class\": [_ctx.cx('decrementButton'), _ctx.decrementButtonClass]\n }, toHandlers($options.downButtonListeners, true), {\n disabled: _ctx.disabled,\n tabindex: -1,\n \"aria-hidden\": \"true\",\n type: \"button\"\n }, _ctx.ptm('decrementButton')), [renderSlot(_ctx.$slots, _ctx.$slots.decrementicon ? 'decrementicon' : 'decrementbuttonicon', {}, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.decrementIcon || _ctx.decrementButtonIcon ? 'span' : 'AngleDownIcon'), mergeProps({\n \"class\": [_ctx.decrementIcon, _ctx.decrementButtonIcon]\n }, _ctx.ptm('decrementIcon'), {\n \"data-pc-section\": \"decrementicon\"\n }), null, 16, [\"class\"]))];\n })], 16, _hoisted_4)) : createCommentVNode(\"\", true)];\n })], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'ChevronDownIcon',\n \"extends\": BaseIcon\n};\n\nvar _hoisted_1 = /*#__PURE__*/createElementVNode(\"path\", {\n d: \"M7.01744 10.398C6.91269 10.3985 6.8089 10.378 6.71215 10.3379C6.61541 10.2977 6.52766 10.2386 6.45405 10.1641L1.13907 4.84913C1.03306 4.69404 0.985221 4.5065 1.00399 4.31958C1.02276 4.13266 1.10693 3.95838 1.24166 3.82747C1.37639 3.69655 1.55301 3.61742 1.74039 3.60402C1.92777 3.59062 2.11386 3.64382 2.26584 3.75424L7.01744 8.47394L11.769 3.75424C11.9189 3.65709 12.097 3.61306 12.2748 3.62921C12.4527 3.64535 12.6199 3.72073 12.7498 3.84328C12.8797 3.96582 12.9647 4.12842 12.9912 4.30502C13.0177 4.48162 12.9841 4.662 12.8958 4.81724L7.58083 10.1322C7.50996 10.2125 7.42344 10.2775 7.32656 10.3232C7.22968 10.3689 7.12449 10.3944 7.01744 10.398Z\",\n fill: \"currentColor\"\n}, null, -1);\nvar _hoisted_2 = [_hoisted_1];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _hoisted_2, 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'TimesIcon',\n \"extends\": BaseIcon\n};\n\nvar _hoisted_1 = /*#__PURE__*/createElementVNode(\"path\", {\n d: \"M8.01186 7.00933L12.27 2.75116C12.341 2.68501 12.398 2.60524 12.4375 2.51661C12.4769 2.42798 12.4982 2.3323 12.4999 2.23529C12.5016 2.13827 12.4838 2.0419 12.4474 1.95194C12.4111 1.86197 12.357 1.78024 12.2884 1.71163C12.2198 1.64302 12.138 1.58893 12.0481 1.55259C11.9581 1.51625 11.8617 1.4984 11.7647 1.50011C11.6677 1.50182 11.572 1.52306 11.4834 1.56255C11.3948 1.60204 11.315 1.65898 11.2488 1.72997L6.99067 5.98814L2.7325 1.72997C2.59553 1.60234 2.41437 1.53286 2.22718 1.53616C2.03999 1.53946 1.8614 1.61529 1.72901 1.74767C1.59663 1.88006 1.5208 2.05865 1.5175 2.24584C1.5142 2.43303 1.58368 2.61419 1.71131 2.75116L5.96948 7.00933L1.71131 11.2675C1.576 11.403 1.5 11.5866 1.5 11.7781C1.5 11.9696 1.576 12.1532 1.71131 12.2887C1.84679 12.424 2.03043 12.5 2.2219 12.5C2.41338 12.5 2.59702 12.424 2.7325 12.2887L6.99067 8.03052L11.2488 12.2887C11.3843 12.424 11.568 12.5 11.7594 12.5C11.9509 12.5 12.1346 12.424 12.27 12.2887C12.4053 12.1532 12.4813 11.9696 12.4813 11.7781C12.4813 11.5866 12.4053 11.403 12.27 11.2675L8.01186 7.00933Z\",\n fill: \"currentColor\"\n}, null, -1);\nvar _hoisted_2 = [_hoisted_1];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _hoisted_2, 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import { EventBus } from '@primeuix/utils/eventbus';\n\nvar OverlayEventBus = EventBus();\n\nexport { OverlayEventBus as default };\n//# sourceMappingURL=index.mjs.map\n","import { isClient } from '@primeuix/utils/dom';\nimport { renderSlot, openBlock, createBlock, Teleport, createCommentVNode } from 'vue';\n\nvar script = {\n name: 'Portal',\n props: {\n appendTo: {\n type: [String, Object],\n \"default\": 'body'\n },\n disabled: {\n type: Boolean,\n \"default\": false\n }\n },\n data: function data() {\n return {\n mounted: false\n };\n },\n mounted: function mounted() {\n this.mounted = isClient();\n },\n computed: {\n inline: function inline() {\n return this.disabled || this.appendTo === 'self';\n }\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return $options.inline ? renderSlot(_ctx.$slots, \"default\", {\n key: 0\n }) : $data.mounted ? (openBlock(), createBlock(Teleport, {\n key: 1,\n to: $props.appendTo\n }, [renderSlot(_ctx.$slots, \"default\")], 8, [\"to\"])) : createCommentVNode(\"\", true);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-select {\\n display: inline-flex;\\n cursor: pointer;\\n position: relative;\\n user-select: none;\\n background: \".concat(dt('select.background'), \";\\n border: 1px solid \").concat(dt('select.border.color'), \";\\n transition: background \").concat(dt('select.transition.duration'), \", color \").concat(dt('select.transition.duration'), \", border-color \").concat(dt('select.transition.duration'), \",\\n outline-color \").concat(dt('select.transition.duration'), \", box-shadow \").concat(dt('select.transition.duration'), \";\\n border-radius: \").concat(dt('select.border.radius'), \";\\n outline-color: transparent;\\n box-shadow: \").concat(dt('select.shadow'), \";\\n}\\n\\n.p-select:not(.p-disabled):hover {\\n border-color: \").concat(dt('select.hover.border.color'), \";\\n}\\n\\n.p-select:not(.p-disabled).p-focus {\\n border-color: \").concat(dt('select.focus.border.color'), \";\\n box-shadow: \").concat(dt('select.focus.ring.shadow'), \";\\n outline: \").concat(dt('select.focus.ring.width'), \" \").concat(dt('select.focus.ring.style'), \" \").concat(dt('select.focus.ring.color'), \";\\n outline-offset: \").concat(dt('select.focus.ring.offset'), \";\\n}\\n\\n.p-select.p-variant-filled {\\n background: \").concat(dt('select.filled.background'), \";\\n}\\n\\n.p-select.p-variant-filled.p-focus {\\n background: \").concat(dt('select.filled.focus.background'), \";\\n}\\n\\n.p-select.p-invalid {\\n border-color: \").concat(dt('select.invalid.border.color'), \";\\n}\\n\\n.p-select.p-disabled {\\n opacity: 1;\\n background: \").concat(dt('select.disabled.background'), \";\\n}\\n\\n.p-select-clear-icon {\\n position: absolute;\\n top: 50%;\\n margin-top: -0.5rem;\\n color: \").concat(dt('select.clear.icon.color'), \";\\n right: \").concat(dt('select.dropdown.width'), \";\\n}\\n\\n.p-select-dropdown {\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n flex-shrink: 0;\\n background: transparent;\\n color: \").concat(dt('select.dropdown.color'), \";\\n width: \").concat(dt('select.dropdown.width'), \";\\n border-top-right-radius: \").concat(dt('select.border.radius'), \";\\n border-bottom-right-radius: \").concat(dt('select.border.radius'), \";\\n}\\n\\n.p-select-label {\\n display: block;\\n white-space: nowrap;\\n overflow: hidden;\\n flex: 1 1 auto;\\n width: 1%;\\n padding: \").concat(dt('select.padding.y'), \" \").concat(dt('select.padding.x'), \";\\n text-overflow: ellipsis;\\n cursor: pointer;\\n color: \").concat(dt('select.color'), \";\\n background: transparent;\\n border: 0 none;\\n outline: 0 none;\\n}\\n\\n.p-select-label.p-placeholder {\\n color: \").concat(dt('select.placeholder.color'), \";\\n}\\n\\n.p-select:has(.p-select-clear-icon) .p-select-label {\\n padding-right: calc(1rem + \").concat(dt('select.padding.x'), \");\\n}\\n\\n.p-select.p-disabled .p-select-label {\\n color: \").concat(dt('select.disabled.color'), \";\\n}\\n\\n.p-select-label-empty {\\n overflow: hidden;\\n opacity: 0;\\n}\\n\\ninput.p-select-label {\\n cursor: default;\\n}\\n\\n.p-select .p-select-overlay {\\n min-width: 100%;\\n}\\n\\n.p-select-overlay {\\n position: absolute;\\n top: 0;\\n left: 0;\\n background: \").concat(dt('select.overlay.background'), \";\\n color: \").concat(dt('select.overlay.color'), \";\\n border: 1px solid \").concat(dt('select.overlay.border.color'), \";\\n border-radius: \").concat(dt('select.overlay.border.radius'), \";\\n box-shadow: \").concat(dt('select.overlay.shadow'), \";\\n}\\n\\n.p-select-header {\\n padding: \").concat(dt('select.list.header.padding'), \";\\n}\\n\\n.p-select-filter {\\n width: 100%;\\n}\\n\\n.p-select-list-container {\\n overflow: auto;\\n}\\n\\n.p-select-option-group {\\n cursor: auto;\\n margin: 0;\\n padding: \").concat(dt('select.option.group.padding'), \";\\n background: \").concat(dt('select.option.group.background'), \";\\n color: \").concat(dt('select.option.group.color'), \";\\n font-weight: \").concat(dt('select.option.group.font.weight'), \";\\n}\\n\\n.p-select-list {\\n margin: 0;\\n padding: 0;\\n list-style-type: none;\\n padding: \").concat(dt('select.list.padding'), \";\\n gap: \").concat(dt('select.list.gap'), \";\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.p-select-option {\\n cursor: pointer;\\n font-weight: normal;\\n white-space: nowrap;\\n position: relative;\\n overflow: hidden;\\n display: flex;\\n align-items: center;\\n padding: \").concat(dt('select.option.padding'), \";\\n border: 0 none;\\n color: \").concat(dt('select.option.color'), \";\\n background: transparent;\\n transition: background \").concat(dt('select.transition.duration'), \", color \").concat(dt('select.transition.duration'), \", border-color \").concat(dt('select.transition.duration'), \",\\n box-shadow \").concat(dt('select.transition.duration'), \", outline-color \").concat(dt('select.transition.duration'), \";\\n border-radius: \").concat(dt('select.option.border.radius'), \";\\n}\\n\\n.p-select-option:not(.p-select-option-selected):not(.p-disabled).p-focus {\\n background: \").concat(dt('select.option.focus.background'), \";\\n color: \").concat(dt('select.option.focus.color'), \";\\n}\\n\\n.p-select-option.p-select-option-selected {\\n background: \").concat(dt('select.option.selected.background'), \";\\n color: \").concat(dt('select.option.selected.color'), \";\\n}\\n\\n.p-select-option.p-select-option-selected.p-focus {\\n background: \").concat(dt('select.option.selected.focus.background'), \";\\n color: \").concat(dt('select.option.selected.focus.color'), \";\\n}\\n\\n.p-select-option-check-icon {\\n position: relative;\\n margin-inline-start: \").concat(dt('select.checkmark.gutter.start'), \";\\n margin-inline-end: \").concat(dt('select.checkmark.gutter.end'), \";\\n color: \").concat(dt('select.checkmark.color'), \";\\n}\\n\\n.p-select-empty-message {\\n padding: \").concat(dt('select.empty.message.padding'), \";\\n}\\n\\n.p-select-fluid {\\n display: flex;\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props,\n state = _ref2.state;\n return ['p-select p-component p-inputwrapper', {\n 'p-disabled': props.disabled,\n 'p-invalid': props.invalid,\n 'p-variant-filled': props.variant ? props.variant === 'filled' : instance.$primevue.config.inputStyle === 'filled' || instance.$primevue.config.inputVariant === 'filled',\n 'p-focus': state.focused,\n 'p-inputwrapper-filled': instance.hasSelectedOption,\n 'p-inputwrapper-focus': state.focused || state.overlayVisible,\n 'p-select-open': state.overlayVisible,\n 'p-select-fluid': props.fluid\n }];\n },\n label: function label(_ref3) {\n var instance = _ref3.instance,\n props = _ref3.props;\n return ['p-select-label', {\n 'p-placeholder': !props.editable && instance.label === props.placeholder,\n 'p-select-label-empty': !props.editable && !instance.$slots['value'] && (instance.label === 'p-emptylabel' || instance.label.length === 0)\n }];\n },\n clearIcon: 'p-select-clear-icon',\n dropdown: 'p-select-dropdown',\n loadingicon: 'p-select-loading-icon',\n dropdownIcon: 'p-select-dropdown-icon',\n overlay: 'p-select-overlay p-component',\n header: 'p-select-header',\n pcFilter: 'p-select-filter',\n listContainer: 'p-select-list-container',\n list: 'p-select-list',\n optionGroup: 'p-select-option-group',\n optionGroupLabel: 'p-select-option-group-label',\n option: function option(_ref4) {\n var instance = _ref4.instance,\n props = _ref4.props,\n state = _ref4.state,\n _option = _ref4.option,\n focusedOption = _ref4.focusedOption;\n return ['p-select-option', {\n 'p-select-option-selected': instance.isSelected(_option) && props.highlightOnSelect,\n 'p-focus': state.focusedOptionIndex === focusedOption,\n 'p-disabled': instance.isOptionDisabled(_option)\n }];\n },\n optionLabel: 'p-select-option-label',\n optionCheckIcon: 'p-select-option-check-icon',\n optionBlankIcon: 'p-select-option-blank-icon',\n emptyMessage: 'p-select-empty-message'\n};\nvar SelectStyle = BaseStyle.extend({\n name: 'select',\n theme: theme,\n classes: classes\n});\n\nexport { SelectStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { FilterService } from '@primevue/core/api';\nimport { UniqueComponentId, ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport { focus, isAndroid, getFirstFocusableElement, getLastFocusableElement, addStyle, relativePosition, getOuterWidth, absolutePosition, isTouchDevice, isVisible, getFocusableElements, findSingle } from '@primeuix/utils/dom';\nimport { resolveFieldData, isPrintableCharacter, isNotEmpty, equals, findLastIndex } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport BlankIcon from '@primevue/icons/blank';\nimport CheckIcon from '@primevue/icons/check';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport SearchIcon from '@primevue/icons/search';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport TimesIcon from '@primevue/icons/times';\nimport IconField from 'primevue/iconfield';\nimport InputIcon from 'primevue/inputicon';\nimport InputText from 'primevue/inputtext';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport VirtualScroller from 'primevue/virtualscroller';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport SelectStyle from 'primevue/select/style';\nimport { resolveComponent, resolveDirective, openBlock, createElementBlock, mergeProps, renderSlot, createTextVNode, toDisplayString, normalizeClass, createBlock, resolveDynamicComponent, createCommentVNode, createElementVNode, createVNode, withCtx, Transition, normalizeProps, createSlots, Fragment, renderList, withDirectives } from 'vue';\n\nvar script$1 = {\n name: 'BaseSelect',\n \"extends\": BaseComponent,\n props: {\n modelValue: null,\n options: Array,\n optionLabel: [String, Function],\n optionValue: [String, Function],\n optionDisabled: [String, Function],\n optionGroupLabel: [String, Function],\n optionGroupChildren: [String, Function],\n scrollHeight: {\n type: String,\n \"default\": '14rem'\n },\n filter: Boolean,\n filterPlaceholder: String,\n filterLocale: String,\n filterMatchMode: {\n type: String,\n \"default\": 'contains'\n },\n filterFields: {\n type: Array,\n \"default\": null\n },\n editable: Boolean,\n placeholder: {\n type: String,\n \"default\": null\n },\n variant: {\n type: String,\n \"default\": null\n },\n invalid: {\n type: Boolean,\n \"default\": false\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n dataKey: null,\n showClear: {\n type: Boolean,\n \"default\": false\n },\n fluid: {\n type: Boolean,\n \"default\": false\n },\n inputId: {\n type: String,\n \"default\": null\n },\n inputClass: {\n type: [String, Object],\n \"default\": null\n },\n inputStyle: {\n type: Object,\n \"default\": null\n },\n labelId: {\n type: String,\n \"default\": null\n },\n labelClass: {\n type: [String, Object],\n \"default\": null\n },\n labelStyle: {\n type: Object,\n \"default\": null\n },\n panelClass: {\n type: [String, Object],\n \"default\": null\n },\n overlayStyle: {\n type: Object,\n \"default\": null\n },\n overlayClass: {\n type: [String, Object],\n \"default\": null\n },\n panelStyle: {\n type: Object,\n \"default\": null\n },\n appendTo: {\n type: [String, Object],\n \"default\": 'body'\n },\n loading: {\n type: Boolean,\n \"default\": false\n },\n clearIcon: {\n type: String,\n \"default\": undefined\n },\n dropdownIcon: {\n type: String,\n \"default\": undefined\n },\n filterIcon: {\n type: String,\n \"default\": undefined\n },\n loadingIcon: {\n type: String,\n \"default\": undefined\n },\n resetFilterOnHide: {\n type: Boolean,\n \"default\": false\n },\n resetFilterOnClear: {\n type: Boolean,\n \"default\": false\n },\n virtualScrollerOptions: {\n type: Object,\n \"default\": null\n },\n autoOptionFocus: {\n type: Boolean,\n \"default\": false\n },\n autoFilterFocus: {\n type: Boolean,\n \"default\": false\n },\n selectOnFocus: {\n type: Boolean,\n \"default\": false\n },\n focusOnHover: {\n type: Boolean,\n \"default\": true\n },\n highlightOnSelect: {\n type: Boolean,\n \"default\": true\n },\n checkmark: {\n type: Boolean,\n \"default\": false\n },\n filterMessage: {\n type: String,\n \"default\": null\n },\n selectionMessage: {\n type: String,\n \"default\": null\n },\n emptySelectionMessage: {\n type: String,\n \"default\": null\n },\n emptyFilterMessage: {\n type: String,\n \"default\": null\n },\n emptyMessage: {\n type: String,\n \"default\": null\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n ariaLabel: {\n type: String,\n \"default\": null\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n }\n },\n style: SelectStyle,\n provide: function provide() {\n return {\n $pcSelect: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar script = {\n name: 'Select',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'before-show', 'before-hide', 'show', 'hide', 'filter'],\n outsideClickListener: null,\n scrollHandler: null,\n resizeListener: null,\n labelClickListener: null,\n overlay: null,\n list: null,\n virtualScroller: null,\n searchTimeout: null,\n searchValue: null,\n isModelValueChanged: false,\n data: function data() {\n return {\n id: this.$attrs.id,\n clicked: false,\n focused: false,\n focusedOptionIndex: -1,\n filterValue: null,\n overlayVisible: false\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n modelValue: function modelValue() {\n this.isModelValueChanged = true;\n },\n options: function options() {\n this.autoUpdateModel();\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n this.autoUpdateModel();\n this.bindLabelClickListener();\n },\n updated: function updated() {\n if (this.overlayVisible && this.isModelValueChanged) {\n this.scrollInView(this.findSelectedOptionIndex());\n }\n this.isModelValueChanged = false;\n },\n beforeUnmount: function beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n this.unbindLabelClickListener();\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n if (this.overlay) {\n ZIndex.clear(this.overlay);\n this.overlay = null;\n }\n },\n methods: {\n getOptionIndex: function getOptionIndex(index, fn) {\n return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];\n },\n getOptionLabel: function getOptionLabel(option) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option;\n },\n getOptionValue: function getOptionValue(option) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : option;\n },\n getOptionRenderKey: function getOptionRenderKey(option, index) {\n return (this.dataKey ? resolveFieldData(option, this.dataKey) : this.getOptionLabel(option)) + '_' + index;\n },\n getPTItemOptions: function getPTItemOptions(option, itemOptions, index, key) {\n return this.ptm(key, {\n context: {\n option: option,\n index: index,\n selected: this.isSelected(option),\n focused: this.focusedOptionIndex === this.getOptionIndex(index, itemOptions),\n disabled: this.isOptionDisabled(option)\n }\n });\n },\n isOptionDisabled: function isOptionDisabled(option) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n },\n isOptionGroup: function isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n },\n getOptionGroupLabel: function getOptionGroupLabel(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupLabel);\n },\n getOptionGroupChildren: function getOptionGroupChildren(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupChildren);\n },\n getAriaPosInset: function getAriaPosInset(index) {\n var _this = this;\n return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter(function (option) {\n return _this.isOptionGroup(option);\n }).length : index) + 1;\n },\n show: function show(isFocus) {\n this.$emit('before-show');\n this.overlayVisible = true;\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex();\n isFocus && focus(this.$refs.focusInput);\n },\n hide: function hide(isFocus) {\n var _this2 = this;\n var _hide = function _hide() {\n _this2.$emit('before-hide');\n _this2.overlayVisible = false;\n _this2.clicked = false;\n _this2.focusedOptionIndex = -1;\n _this2.searchValue = '';\n _this2.resetFilterOnHide && (_this2.filterValue = null);\n isFocus && focus(_this2.$refs.focusInput);\n };\n setTimeout(function () {\n _hide();\n }, 0); // For ScreenReaders\n },\n onFocus: function onFocus(event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n this.focused = true;\n if (this.overlayVisible) {\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : this.editable ? -1 : this.findSelectedOptionIndex();\n this.scrollInView(this.focusedOptionIndex);\n }\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.searchValue = '';\n this.$emit('blur', event);\n },\n onKeyDown: function onKeyDown(event) {\n if (this.disabled || isAndroid()) {\n event.preventDefault();\n return;\n }\n var metaKey = event.metaKey || event.ctrlKey;\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event, this.editable);\n break;\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, this.editable);\n break;\n case 'Home':\n this.onHomeKey(event, this.editable);\n break;\n case 'End':\n this.onEndKey(event, this.editable);\n break;\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n case 'Space':\n this.onSpaceKey(event, this.editable);\n break;\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n case 'Escape':\n this.onEscapeKey(event);\n break;\n case 'Tab':\n this.onTabKey(event);\n break;\n case 'Backspace':\n this.onBackspaceKey(event, this.editable);\n break;\n case 'ShiftLeft':\n case 'ShiftRight':\n //NOOP\n break;\n default:\n if (!metaKey && isPrintableCharacter(event.key)) {\n !this.overlayVisible && this.show();\n !this.editable && this.searchOptions(event, event.key);\n }\n break;\n }\n this.clicked = false;\n },\n onEditableInput: function onEditableInput(event) {\n var value = event.target.value;\n this.searchValue = '';\n var matched = this.searchOptions(event, value);\n !matched && (this.focusedOptionIndex = -1);\n this.updateModel(event, value);\n !this.overlayVisible && isNotEmpty(value) && this.show();\n },\n onContainerClick: function onContainerClick(event) {\n if (this.disabled || this.loading) {\n return;\n }\n if (event.target.tagName === 'INPUT' || event.target.getAttribute('data-pc-section') === 'clearicon' || event.target.closest('[data-pc-section=\"clearicon\"]')) {\n return;\n } else if (!this.overlay || !this.overlay.contains(event.target)) {\n this.overlayVisible ? this.hide(true) : this.show(true);\n }\n this.clicked = true;\n },\n onClearClick: function onClearClick(event) {\n this.updateModel(event, null);\n this.resetFilterOnClear && (this.filterValue = null);\n },\n onFirstHiddenFocus: function onFirstHiddenFocus(event) {\n var focusableEl = event.relatedTarget === this.$refs.focusInput ? getFirstFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n focus(focusableEl);\n },\n onLastHiddenFocus: function onLastHiddenFocus(event) {\n var focusableEl = event.relatedTarget === this.$refs.focusInput ? getLastFocusableElement(this.overlay, ':not([data-p-hidden-focusable=\"true\"])') : this.$refs.focusInput;\n focus(focusableEl);\n },\n onOptionSelect: function onOptionSelect(event, option) {\n var isHide = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var value = this.getOptionValue(option);\n this.updateModel(event, value);\n isHide && this.hide(true);\n },\n onOptionMouseMove: function onOptionMouseMove(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n },\n onFilterChange: function onFilterChange(event) {\n var value = event.target.value;\n this.filterValue = value;\n this.focusedOptionIndex = -1;\n this.$emit('filter', {\n originalEvent: event,\n value: value\n });\n !this.virtualScrollerDisabled && this.virtualScroller.scrollToIndex(0);\n },\n onFilterKeyDown: function onFilterKeyDown(event) {\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event, true);\n break;\n case 'ArrowLeft':\n case 'ArrowRight':\n this.onArrowLeftKey(event, true);\n break;\n case 'Home':\n this.onHomeKey(event, true);\n break;\n case 'End':\n this.onEndKey(event, true);\n break;\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n case 'Escape':\n this.onEscapeKey(event);\n break;\n case 'Tab':\n this.onTabKey(event, true);\n break;\n }\n },\n onFilterBlur: function onFilterBlur() {\n this.focusedOptionIndex = -1;\n },\n onFilterUpdated: function onFilterUpdated() {\n if (this.overlayVisible) {\n this.alignOverlay();\n }\n },\n onOverlayClick: function onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n },\n onOverlayKeyDown: function onOverlayKeyDown(event) {\n switch (event.code) {\n case 'Escape':\n this.onEscapeKey(event);\n break;\n }\n },\n onArrowDownKey: function onArrowDownKey(event) {\n if (!this.overlayVisible) {\n this.show();\n this.editable && this.changeFocusedOptionIndex(event, this.findSelectedOptionIndex());\n } else {\n var optionIndex = this.focusedOptionIndex !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n event.preventDefault();\n },\n onArrowUpKey: function onArrowUpKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (event.altKey && !pressedInInputText) {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.overlayVisible && this.hide();\n event.preventDefault();\n } else {\n var optionIndex = this.focusedOptionIndex !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();\n this.changeFocusedOptionIndex(event, optionIndex);\n !this.overlayVisible && this.show();\n event.preventDefault();\n }\n },\n onArrowLeftKey: function onArrowLeftKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n pressedInInputText && (this.focusedOptionIndex = -1);\n },\n onHomeKey: function onHomeKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (pressedInInputText) {\n var target = event.currentTarget;\n if (event.shiftKey) {\n target.setSelectionRange(0, event.target.selectionStart);\n } else {\n target.setSelectionRange(0, 0);\n this.focusedOptionIndex = -1;\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findFirstOptionIndex());\n !this.overlayVisible && this.show();\n }\n event.preventDefault();\n },\n onEndKey: function onEndKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (pressedInInputText) {\n var target = event.currentTarget;\n if (event.shiftKey) {\n target.setSelectionRange(event.target.selectionStart, target.value.length);\n } else {\n var len = target.value.length;\n target.setSelectionRange(len, len);\n this.focusedOptionIndex = -1;\n }\n } else {\n this.changeFocusedOptionIndex(event, this.findLastOptionIndex());\n !this.overlayVisible && this.show();\n }\n event.preventDefault();\n },\n onPageUpKey: function onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n },\n onPageDownKey: function onPageDownKey(event) {\n this.scrollInView(this.visibleOptions.length - 1);\n event.preventDefault();\n },\n onEnterKey: function onEnterKey(event) {\n if (!this.overlayVisible) {\n this.focusedOptionIndex = -1; // reset\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.hide();\n }\n event.preventDefault();\n },\n onSpaceKey: function onSpaceKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n !pressedInInputText && this.onEnterKey(event);\n },\n onEscapeKey: function onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n event.stopPropagation(); //@todo will be changed next versionss\n },\n onTabKey: function onTabKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (!pressedInInputText) {\n if (this.overlayVisible && this.hasFocusableElements()) {\n focus(this.$refs.firstHiddenFocusableElementOnOverlay);\n event.preventDefault();\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.overlayVisible && this.hide(this.filter);\n }\n }\n },\n onBackspaceKey: function onBackspaceKey(event) {\n var pressedInInputText = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : false;\n if (pressedInInputText) {\n !this.overlayVisible && this.show();\n }\n },\n onOverlayEnter: function onOverlayEnter(el) {\n ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n addStyle(el, {\n position: 'absolute',\n top: '0',\n left: '0'\n });\n this.alignOverlay();\n this.scrollInView();\n this.autoFilterFocus && focus(this.$refs.filterInput.$el);\n },\n onOverlayAfterEnter: function onOverlayAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.$emit('show');\n },\n onOverlayLeave: function onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.$emit('hide');\n this.overlay = null;\n },\n onOverlayAfterLeave: function onOverlayAfterLeave(el) {\n ZIndex.clear(el);\n },\n alignOverlay: function alignOverlay() {\n if (this.appendTo === 'self') {\n relativePosition(this.overlay, this.$el);\n } else {\n this.overlay.style.minWidth = getOuterWidth(this.$el) + 'px';\n absolutePosition(this.overlay, this.$el);\n }\n },\n bindOutsideClickListener: function bindOutsideClickListener() {\n var _this3 = this;\n if (!this.outsideClickListener) {\n this.outsideClickListener = function (event) {\n if (_this3.overlayVisible && _this3.overlay && !_this3.$el.contains(event.target) && !_this3.overlay.contains(event.target)) {\n _this3.hide();\n }\n };\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener: function unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener: function bindScrollListener() {\n var _this4 = this;\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, function () {\n if (_this4.overlayVisible) {\n _this4.hide();\n }\n });\n }\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener: function unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener: function bindResizeListener() {\n var _this5 = this;\n if (!this.resizeListener) {\n this.resizeListener = function () {\n if (_this5.overlayVisible && !isTouchDevice()) {\n _this5.hide();\n }\n };\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener: function unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n bindLabelClickListener: function bindLabelClickListener() {\n var _this6 = this;\n if (!this.editable && !this.labelClickListener) {\n var label = document.querySelector(\"label[for=\\\"\".concat(this.inputId, \"\\\"]\"));\n if (label && isVisible(label)) {\n this.labelClickListener = function () {\n focus(_this6.$refs.focusInput);\n };\n label.addEventListener('click', this.labelClickListener);\n }\n }\n },\n unbindLabelClickListener: function unbindLabelClickListener() {\n if (this.labelClickListener) {\n var label = document.querySelector(\"label[for=\\\"\".concat(this.inputId, \"\\\"]\"));\n if (label && isVisible(label)) {\n label.removeEventListener('click', this.labelClickListener);\n }\n }\n },\n hasFocusableElements: function hasFocusableElements() {\n return getFocusableElements(this.overlay, ':not([data-p-hidden-focusable=\"true\"])').length > 0;\n },\n isOptionMatched: function isOptionMatched(option) {\n var _this$getOptionLabel;\n return this.isValidOption(option) && typeof this.getOptionLabel(option) === 'string' && ((_this$getOptionLabel = this.getOptionLabel(option)) === null || _this$getOptionLabel === void 0 ? void 0 : _this$getOptionLabel.toLocaleLowerCase(this.filterLocale).startsWith(this.searchValue.toLocaleLowerCase(this.filterLocale)));\n },\n isValidOption: function isValidOption(option) {\n return isNotEmpty(option) && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n },\n isValidSelectedOption: function isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n },\n isSelected: function isSelected(option) {\n return this.isValidOption(option) && equals(this.modelValue, this.getOptionValue(option), this.equalityKey);\n },\n findFirstOptionIndex: function findFirstOptionIndex() {\n var _this7 = this;\n return this.visibleOptions.findIndex(function (option) {\n return _this7.isValidOption(option);\n });\n },\n findLastOptionIndex: function findLastOptionIndex() {\n var _this8 = this;\n return findLastIndex(this.visibleOptions, function (option) {\n return _this8.isValidOption(option);\n });\n },\n findNextOptionIndex: function findNextOptionIndex(index) {\n var _this9 = this;\n var matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex(function (option) {\n return _this9.isValidOption(option);\n }) : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n },\n findPrevOptionIndex: function findPrevOptionIndex(index) {\n var _this10 = this;\n var matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions.slice(0, index), function (option) {\n return _this10.isValidOption(option);\n }) : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n },\n findSelectedOptionIndex: function findSelectedOptionIndex() {\n var _this11 = this;\n return this.hasSelectedOption ? this.visibleOptions.findIndex(function (option) {\n return _this11.isValidSelectedOption(option);\n }) : -1;\n },\n findFirstFocusedOptionIndex: function findFirstFocusedOptionIndex() {\n var selectedIndex = this.findSelectedOptionIndex();\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n },\n findLastFocusedOptionIndex: function findLastFocusedOptionIndex() {\n var selectedIndex = this.findSelectedOptionIndex();\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n },\n searchOptions: function searchOptions(event, _char) {\n var _this12 = this;\n this.searchValue = (this.searchValue || '') + _char;\n var optionIndex = -1;\n var matched = false;\n if (isNotEmpty(this.searchValue)) {\n if (this.focusedOptionIndex !== -1) {\n optionIndex = this.visibleOptions.slice(this.focusedOptionIndex).findIndex(function (option) {\n return _this12.isOptionMatched(option);\n });\n optionIndex = optionIndex === -1 ? this.visibleOptions.slice(0, this.focusedOptionIndex).findIndex(function (option) {\n return _this12.isOptionMatched(option);\n }) : optionIndex + this.focusedOptionIndex;\n } else {\n optionIndex = this.visibleOptions.findIndex(function (option) {\n return _this12.isOptionMatched(option);\n });\n }\n if (optionIndex !== -1) {\n matched = true;\n }\n if (optionIndex === -1 && this.focusedOptionIndex === -1) {\n optionIndex = this.findFirstFocusedOptionIndex();\n }\n if (optionIndex !== -1) {\n this.changeFocusedOptionIndex(event, optionIndex);\n }\n }\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n this.searchTimeout = setTimeout(function () {\n _this12.searchValue = '';\n _this12.searchTimeout = null;\n }, 500);\n return matched;\n },\n changeFocusedOptionIndex: function changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex !== index) {\n this.focusedOptionIndex = index;\n this.scrollInView();\n if (this.selectOnFocus) {\n this.onOptionSelect(event, this.visibleOptions[index], false);\n }\n }\n },\n scrollInView: function scrollInView() {\n var _this13 = this;\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n this.$nextTick(function () {\n var id = index !== -1 ? \"\".concat(_this13.id, \"_\").concat(index) : _this13.focusedOptionId;\n var element = findSingle(_this13.list, \"li[id=\\\"\".concat(id, \"\\\"]\"));\n if (element) {\n element.scrollIntoView && element.scrollIntoView({\n block: 'nearest',\n inline: 'start'\n });\n } else if (!_this13.virtualScrollerDisabled) {\n _this13.virtualScroller && _this13.virtualScroller.scrollToIndex(index !== -1 ? index : _this13.focusedOptionIndex);\n }\n });\n },\n autoUpdateModel: function autoUpdateModel() {\n if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption) {\n this.focusedOptionIndex = this.findFirstFocusedOptionIndex();\n this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false);\n }\n },\n updateModel: function updateModel(event, value) {\n this.$emit('update:modelValue', value);\n this.$emit('change', {\n originalEvent: event,\n value: value\n });\n },\n flatOptions: function flatOptions(options) {\n var _this14 = this;\n return (options || []).reduce(function (result, option, index) {\n result.push({\n optionGroup: option,\n group: true,\n index: index\n });\n var optionGroupChildren = _this14.getOptionGroupChildren(option);\n optionGroupChildren && optionGroupChildren.forEach(function (o) {\n return result.push(o);\n });\n return result;\n }, []);\n },\n overlayRef: function overlayRef(el) {\n this.overlay = el;\n },\n listRef: function listRef(el, contentRef) {\n this.list = el;\n contentRef && contentRef(el); // For VirtualScroller\n },\n virtualScrollerRef: function virtualScrollerRef(el) {\n this.virtualScroller = el;\n }\n },\n computed: {\n visibleOptions: function visibleOptions() {\n var _this15 = this;\n var options = this.optionGroupLabel ? this.flatOptions(this.options) : this.options || [];\n if (this.filterValue) {\n var filteredOptions = FilterService.filter(options, this.searchFields, this.filterValue, this.filterMatchMode, this.filterLocale);\n if (this.optionGroupLabel) {\n var optionGroups = this.options || [];\n var filtered = [];\n optionGroups.forEach(function (group) {\n var groupChildren = _this15.getOptionGroupChildren(group);\n var filteredItems = groupChildren.filter(function (item) {\n return filteredOptions.includes(item);\n });\n if (filteredItems.length > 0) filtered.push(_objectSpread(_objectSpread({}, group), {}, _defineProperty({}, typeof _this15.optionGroupChildren === 'string' ? _this15.optionGroupChildren : 'items', _toConsumableArray(filteredItems))));\n });\n return this.flatOptions(filtered);\n }\n return filteredOptions;\n }\n return options;\n },\n hasSelectedOption: function hasSelectedOption() {\n return isNotEmpty(this.modelValue);\n },\n label: function label() {\n var selectedOptionIndex = this.findSelectedOptionIndex();\n return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.placeholder || 'p-emptylabel';\n },\n editableInputValue: function editableInputValue() {\n var selectedOptionIndex = this.findSelectedOptionIndex();\n return selectedOptionIndex !== -1 ? this.getOptionLabel(this.visibleOptions[selectedOptionIndex]) : this.modelValue || '';\n },\n equalityKey: function equalityKey() {\n return this.optionValue ? null : this.dataKey;\n },\n searchFields: function searchFields() {\n return this.filterFields || [this.optionLabel];\n },\n filterResultMessageText: function filterResultMessageText() {\n return isNotEmpty(this.visibleOptions) ? this.filterMessageText.replaceAll('{0}', this.visibleOptions.length) : this.emptyFilterMessageText;\n },\n filterMessageText: function filterMessageText() {\n return this.filterMessage || this.$primevue.config.locale.searchMessage || '';\n },\n emptyFilterMessageText: function emptyFilterMessageText() {\n return this.emptyFilterMessage || this.$primevue.config.locale.emptySearchMessage || this.$primevue.config.locale.emptyFilterMessage || '';\n },\n emptyMessageText: function emptyMessageText() {\n return this.emptyMessage || this.$primevue.config.locale.emptyMessage || '';\n },\n selectionMessageText: function selectionMessageText() {\n return this.selectionMessage || this.$primevue.config.locale.selectionMessage || '';\n },\n emptySelectionMessageText: function emptySelectionMessageText() {\n return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || '';\n },\n selectedMessageText: function selectedMessageText() {\n return this.hasSelectedOption ? this.selectionMessageText.replaceAll('{0}', '1') : this.emptySelectionMessageText;\n },\n focusedOptionId: function focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? \"\".concat(this.id, \"_\").concat(this.focusedOptionIndex) : null;\n },\n ariaSetSize: function ariaSetSize() {\n var _this16 = this;\n return this.visibleOptions.filter(function (option) {\n return !_this16.isOptionGroup(option);\n }).length;\n },\n virtualScrollerDisabled: function virtualScrollerDisabled() {\n return !this.virtualScrollerOptions;\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n InputText: InputText,\n VirtualScroller: VirtualScroller,\n Portal: Portal,\n InputIcon: InputIcon,\n IconField: IconField,\n TimesIcon: TimesIcon,\n ChevronDownIcon: ChevronDownIcon,\n SpinnerIcon: SpinnerIcon,\n SearchIcon: SearchIcon,\n CheckIcon: CheckIcon,\n BlankIcon: BlankIcon\n }\n};\n\nvar _hoisted_1 = [\"id\"];\nvar _hoisted_2 = [\"id\", \"value\", \"placeholder\", \"tabindex\", \"disabled\", \"aria-label\", \"aria-labelledby\", \"aria-expanded\", \"aria-controls\", \"aria-activedescendant\", \"aria-invalid\"];\nvar _hoisted_3 = [\"id\", \"tabindex\", \"aria-label\", \"aria-labelledby\", \"aria-expanded\", \"aria-controls\", \"aria-activedescendant\", \"aria-disabled\"];\nvar _hoisted_4 = [\"id\"];\nvar _hoisted_5 = [\"id\"];\nvar _hoisted_6 = [\"id\", \"aria-label\", \"aria-selected\", \"aria-disabled\", \"aria-setsize\", \"aria-posinset\", \"onClick\", \"onMousemove\", \"data-p-selected\", \"data-p-focused\", \"data-p-disabled\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_SpinnerIcon = resolveComponent(\"SpinnerIcon\");\n var _component_InputText = resolveComponent(\"InputText\");\n var _component_SearchIcon = resolveComponent(\"SearchIcon\");\n var _component_InputIcon = resolveComponent(\"InputIcon\");\n var _component_IconField = resolveComponent(\"IconField\");\n var _component_CheckIcon = resolveComponent(\"CheckIcon\");\n var _component_BlankIcon = resolveComponent(\"BlankIcon\");\n var _component_VirtualScroller = resolveComponent(\"VirtualScroller\");\n var _component_Portal = resolveComponent(\"Portal\");\n var _directive_ripple = resolveDirective(\"ripple\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n ref: \"container\",\n id: $data.id,\n \"class\": _ctx.cx('root'),\n onClick: _cache[11] || (_cache[11] = function () {\n return $options.onContainerClick && $options.onContainerClick.apply($options, arguments);\n })\n }, _ctx.ptmi('root')), [_ctx.editable ? (openBlock(), createElementBlock(\"input\", mergeProps({\n key: 0,\n ref: \"focusInput\",\n id: _ctx.labelId || _ctx.inputId,\n type: \"text\",\n \"class\": [_ctx.cx('label'), _ctx.inputClass, _ctx.labelClass],\n style: [_ctx.inputStyle, _ctx.labelStyle],\n value: $options.editableInputValue,\n placeholder: _ctx.placeholder,\n tabindex: !_ctx.disabled ? _ctx.tabindex : -1,\n disabled: _ctx.disabled,\n autocomplete: \"off\",\n role: \"combobox\",\n \"aria-label\": _ctx.ariaLabel,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": $data.overlayVisible,\n \"aria-controls\": $data.id + '_list',\n \"aria-activedescendant\": $data.focused ? $options.focusedOptionId : undefined,\n \"aria-invalid\": _ctx.invalid || undefined,\n onFocus: _cache[0] || (_cache[0] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n }),\n onBlur: _cache[1] || (_cache[1] = function () {\n return $options.onBlur && $options.onBlur.apply($options, arguments);\n }),\n onKeydown: _cache[2] || (_cache[2] = function () {\n return $options.onKeyDown && $options.onKeyDown.apply($options, arguments);\n }),\n onInput: _cache[3] || (_cache[3] = function () {\n return $options.onEditableInput && $options.onEditableInput.apply($options, arguments);\n })\n }, _ctx.ptm('label')), null, 16, _hoisted_2)) : (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n ref: \"focusInput\",\n id: _ctx.labelId || _ctx.inputId,\n \"class\": [_ctx.cx('label'), _ctx.inputClass, _ctx.labelClass],\n style: [_ctx.inputStyle, _ctx.labelStyle],\n tabindex: !_ctx.disabled ? _ctx.tabindex : -1,\n role: \"combobox\",\n \"aria-label\": _ctx.ariaLabel || ($options.label === 'p-emptylabel' ? undefined : $options.label),\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": $data.overlayVisible,\n \"aria-controls\": $data.id + '_list',\n \"aria-activedescendant\": $data.focused ? $options.focusedOptionId : undefined,\n \"aria-disabled\": _ctx.disabled,\n onFocus: _cache[4] || (_cache[4] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n }),\n onBlur: _cache[5] || (_cache[5] = function () {\n return $options.onBlur && $options.onBlur.apply($options, arguments);\n }),\n onKeydown: _cache[6] || (_cache[6] = function () {\n return $options.onKeyDown && $options.onKeyDown.apply($options, arguments);\n })\n }, _ctx.ptm('label')), [renderSlot(_ctx.$slots, \"value\", {\n value: _ctx.modelValue,\n placeholder: _ctx.placeholder\n }, function () {\n return [createTextVNode(toDisplayString($options.label === 'p-emptylabel' ? ' ' : $options.label || 'empty'), 1)];\n })], 16, _hoisted_3)), _ctx.showClear && _ctx.modelValue != null ? renderSlot(_ctx.$slots, \"clearicon\", {\n key: 2,\n \"class\": normalizeClass(_ctx.cx('clearIcon')),\n clearCallback: $options.onClearClick\n }, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.clearIcon ? 'i' : 'TimesIcon'), mergeProps({\n ref: \"clearIcon\",\n \"class\": [_ctx.cx('clearIcon'), _ctx.clearIcon],\n onClick: $options.onClearClick\n }, _ctx.ptm('clearIcon'), {\n \"data-pc-section\": \"clearicon\"\n }), null, 16, [\"class\", \"onClick\"]))];\n }) : createCommentVNode(\"\", true), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('dropdown')\n }, _ctx.ptm('dropdown')), [_ctx.loading ? renderSlot(_ctx.$slots, \"loadingicon\", {\n key: 0,\n \"class\": normalizeClass(_ctx.cx('loadingIcon'))\n }, function () {\n return [_ctx.loadingIcon ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n \"class\": [_ctx.cx('loadingIcon'), 'pi-spin', _ctx.loadingIcon],\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('loadingIcon')), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps({\n key: 1,\n \"class\": _ctx.cx('loadingIcon'),\n spin: \"\",\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('loadingIcon')), null, 16, [\"class\"]))];\n }) : renderSlot(_ctx.$slots, \"dropdownicon\", {\n key: 1,\n \"class\": normalizeClass(_ctx.cx('dropdownIcon'))\n }, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.dropdownIcon ? 'span' : 'ChevronDownIcon'), mergeProps({\n \"class\": [_ctx.cx('dropdownIcon'), _ctx.dropdownIcon],\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('dropdownIcon')), null, 16, [\"class\"]))];\n })], 16), createVNode(_component_Portal, {\n appendTo: _ctx.appendTo\n }, {\n \"default\": withCtx(function () {\n return [createVNode(Transition, mergeProps({\n name: \"p-connected-overlay\",\n onEnter: $options.onOverlayEnter,\n onAfterEnter: $options.onOverlayAfterEnter,\n onLeave: $options.onOverlayLeave,\n onAfterLeave: $options.onOverlayAfterLeave\n }, _ctx.ptm('transition')), {\n \"default\": withCtx(function () {\n return [$data.overlayVisible ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref: $options.overlayRef,\n \"class\": [_ctx.cx('overlay'), _ctx.panelClass, _ctx.overlayClass],\n style: [_ctx.panelStyle, _ctx.overlayStyle],\n onClick: _cache[9] || (_cache[9] = function () {\n return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments);\n }),\n onKeydown: _cache[10] || (_cache[10] = function () {\n return $options.onOverlayKeyDown && $options.onOverlayKeyDown.apply($options, arguments);\n })\n }, _ctx.ptm('overlay')), [createElementVNode(\"span\", mergeProps({\n ref: \"firstHiddenFocusableElementOnOverlay\",\n role: \"presentation\",\n \"aria-hidden\": \"true\",\n \"class\": \"p-hidden-accessible p-hidden-focusable\",\n tabindex: 0,\n onFocus: _cache[7] || (_cache[7] = function () {\n return $options.onFirstHiddenFocus && $options.onFirstHiddenFocus.apply($options, arguments);\n })\n }, _ctx.ptm('hiddenFirstFocusableEl'), {\n \"data-p-hidden-accessible\": true,\n \"data-p-hidden-focusable\": true\n }), null, 16), renderSlot(_ctx.$slots, \"header\", {\n value: _ctx.modelValue,\n options: $options.visibleOptions\n }), _ctx.filter ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('header')\n }, _ctx.ptm('header')), [createVNode(_component_IconField, mergeProps({\n unstyled: _ctx.unstyled\n }, _ctx.ptm('pcFilterContainer')), {\n \"default\": withCtx(function () {\n return [createVNode(_component_InputText, {\n ref: \"filterInput\",\n type: \"text\",\n value: $data.filterValue,\n onVnodeMounted: $options.onFilterUpdated,\n onVnodeUpdated: $options.onFilterUpdated,\n \"class\": normalizeClass(_ctx.cx('pcFilter')),\n placeholder: _ctx.filterPlaceholder,\n variant: _ctx.variant,\n unstyled: _ctx.unstyled,\n role: \"searchbox\",\n autocomplete: \"off\",\n \"aria-owns\": $data.id + '_list',\n \"aria-activedescendant\": $options.focusedOptionId,\n onKeydown: $options.onFilterKeyDown,\n onBlur: $options.onFilterBlur,\n onInput: $options.onFilterChange,\n pt: _ctx.ptm('pcFilter')\n }, null, 8, [\"value\", \"onVnodeMounted\", \"onVnodeUpdated\", \"class\", \"placeholder\", \"variant\", \"unstyled\", \"aria-owns\", \"aria-activedescendant\", \"onKeydown\", \"onBlur\", \"onInput\", \"pt\"]), createVNode(_component_InputIcon, mergeProps({\n unstyled: _ctx.unstyled\n }, _ctx.ptm('pcFilterIconContainer')), {\n \"default\": withCtx(function () {\n return [renderSlot(_ctx.$slots, \"filtericon\", {}, function () {\n return [_ctx.filterIcon ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n \"class\": _ctx.filterIcon\n }, _ctx.ptm('filterIcon')), null, 16)) : (openBlock(), createBlock(_component_SearchIcon, normalizeProps(mergeProps({\n key: 1\n }, _ctx.ptm('filterIcon'))), null, 16))];\n })];\n }),\n _: 3\n }, 16, [\"unstyled\"])];\n }),\n _: 3\n }, 16, [\"unstyled\"]), createElementVNode(\"span\", mergeProps({\n role: \"status\",\n \"aria-live\": \"polite\",\n \"class\": \"p-hidden-accessible\"\n }, _ctx.ptm('hiddenFilterResult'), {\n \"data-p-hidden-accessible\": true\n }), toDisplayString($options.filterResultMessageText), 17)], 16)) : createCommentVNode(\"\", true), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('listContainer'),\n style: {\n 'max-height': $options.virtualScrollerDisabled ? _ctx.scrollHeight : ''\n }\n }, _ctx.ptm('listContainer')), [createVNode(_component_VirtualScroller, mergeProps({\n ref: $options.virtualScrollerRef\n }, _ctx.virtualScrollerOptions, {\n items: $options.visibleOptions,\n style: {\n height: _ctx.scrollHeight\n },\n tabindex: -1,\n disabled: $options.virtualScrollerDisabled,\n pt: _ctx.ptm('virtualScroller')\n }), createSlots({\n content: withCtx(function (_ref) {\n var styleClass = _ref.styleClass,\n contentRef = _ref.contentRef,\n items = _ref.items,\n getItemOptions = _ref.getItemOptions,\n contentStyle = _ref.contentStyle,\n itemSize = _ref.itemSize;\n return [createElementVNode(\"ul\", mergeProps({\n ref: function ref(el) {\n return $options.listRef(el, contentRef);\n },\n id: $data.id + '_list',\n \"class\": [_ctx.cx('list'), styleClass],\n style: contentStyle,\n role: \"listbox\"\n }, _ctx.ptm('list')), [(openBlock(true), createElementBlock(Fragment, null, renderList(items, function (option, i) {\n return openBlock(), createElementBlock(Fragment, {\n key: $options.getOptionRenderKey(option, $options.getOptionIndex(i, getItemOptions))\n }, [$options.isOptionGroup(option) ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n id: $data.id + '_' + $options.getOptionIndex(i, getItemOptions),\n style: {\n height: itemSize ? itemSize + 'px' : undefined\n },\n \"class\": _ctx.cx('optionGroup'),\n role: \"option\",\n ref_for: true\n }, _ctx.ptm('optionGroup')), [renderSlot(_ctx.$slots, \"optiongroup\", {\n option: option.optionGroup,\n index: $options.getOptionIndex(i, getItemOptions)\n }, function () {\n return [createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('optionGroupLabel'),\n ref_for: true\n }, _ctx.ptm('optionGroupLabel')), toDisplayString($options.getOptionGroupLabel(option.optionGroup)), 17)];\n })], 16, _hoisted_5)) : withDirectives((openBlock(), createElementBlock(\"li\", mergeProps({\n key: 1,\n id: $data.id + '_' + $options.getOptionIndex(i, getItemOptions),\n \"class\": _ctx.cx('option', {\n option: option,\n focusedOption: $options.getOptionIndex(i, getItemOptions)\n }),\n style: {\n height: itemSize ? itemSize + 'px' : undefined\n },\n role: \"option\",\n \"aria-label\": $options.getOptionLabel(option),\n \"aria-selected\": $options.isSelected(option),\n \"aria-disabled\": $options.isOptionDisabled(option),\n \"aria-setsize\": $options.ariaSetSize,\n \"aria-posinset\": $options.getAriaPosInset($options.getOptionIndex(i, getItemOptions)),\n onClick: function onClick($event) {\n return $options.onOptionSelect($event, option);\n },\n onMousemove: function onMousemove($event) {\n return $options.onOptionMouseMove($event, $options.getOptionIndex(i, getItemOptions));\n },\n \"data-p-selected\": $options.isSelected(option),\n \"data-p-focused\": $data.focusedOptionIndex === $options.getOptionIndex(i, getItemOptions),\n \"data-p-disabled\": $options.isOptionDisabled(option),\n ref_for: true\n }, $options.getPTItemOptions(option, getItemOptions, i, 'option')), [_ctx.checkmark ? (openBlock(), createElementBlock(Fragment, {\n key: 0\n }, [$options.isSelected(option) ? (openBlock(), createBlock(_component_CheckIcon, mergeProps({\n key: 0,\n \"class\": _ctx.cx('optionCheckIcon'),\n ref_for: true\n }, _ctx.ptm('optionCheckIcon')), null, 16, [\"class\"])) : (openBlock(), createBlock(_component_BlankIcon, mergeProps({\n key: 1,\n \"class\": _ctx.cx('optionBlankIcon'),\n ref_for: true\n }, _ctx.ptm('optionBlankIcon')), null, 16, [\"class\"]))], 64)) : createCommentVNode(\"\", true), renderSlot(_ctx.$slots, \"option\", {\n option: option,\n selected: $options.isSelected(option),\n index: $options.getOptionIndex(i, getItemOptions)\n }, function () {\n return [createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('optionLabel'),\n ref_for: true\n }, _ctx.ptm('optionLabel')), toDisplayString($options.getOptionLabel(option)), 17)];\n })], 16, _hoisted_6)), [[_directive_ripple]])], 64);\n }), 128)), $data.filterValue && (!items || items && items.length === 0) ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('emptyMessage'),\n role: \"option\"\n }, _ctx.ptm('emptyMessage'), {\n \"data-p-hidden-accessible\": true\n }), [renderSlot(_ctx.$slots, \"emptyfilter\", {}, function () {\n return [createTextVNode(toDisplayString($options.emptyFilterMessageText), 1)];\n })], 16)) : !_ctx.options || _ctx.options && _ctx.options.length === 0 ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 1,\n \"class\": _ctx.cx('emptyMessage'),\n role: \"option\"\n }, _ctx.ptm('emptyMessage'), {\n \"data-p-hidden-accessible\": true\n }), [renderSlot(_ctx.$slots, \"empty\", {}, function () {\n return [createTextVNode(toDisplayString($options.emptyMessageText), 1)];\n })], 16)) : createCommentVNode(\"\", true)], 16, _hoisted_4)];\n }),\n _: 2\n }, [_ctx.$slots.loader ? {\n name: \"loader\",\n fn: withCtx(function (_ref2) {\n var options = _ref2.options;\n return [renderSlot(_ctx.$slots, \"loader\", {\n options: options\n })];\n }),\n key: \"0\"\n } : undefined]), 1040, [\"items\", \"style\", \"disabled\", \"pt\"])], 16), renderSlot(_ctx.$slots, \"footer\", {\n value: _ctx.modelValue,\n options: $options.visibleOptions\n }), !_ctx.options || _ctx.options && _ctx.options.length === 0 ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n role: \"status\",\n \"aria-live\": \"polite\",\n \"class\": \"p-hidden-accessible\"\n }, _ctx.ptm('hiddenEmptyMessage'), {\n \"data-p-hidden-accessible\": true\n }), toDisplayString($options.emptyMessageText), 17)) : createCommentVNode(\"\", true), createElementVNode(\"span\", mergeProps({\n role: \"status\",\n \"aria-live\": \"polite\",\n \"class\": \"p-hidden-accessible\"\n }, _ctx.ptm('hiddenSelectedMessage'), {\n \"data-p-hidden-accessible\": true\n }), toDisplayString($options.selectedMessageText), 17), createElementVNode(\"span\", mergeProps({\n ref: \"lastHiddenFocusableElementOnOverlay\",\n role: \"presentation\",\n \"aria-hidden\": \"true\",\n \"class\": \"p-hidden-accessible p-hidden-focusable\",\n tabindex: 0,\n onFocus: _cache[8] || (_cache[8] = function () {\n return $options.onLastHiddenFocus && $options.onLastHiddenFocus.apply($options, arguments);\n })\n }, _ctx.ptm('hiddenLastFocusableEl'), {\n \"data-p-hidden-accessible\": true,\n \"data-p-hidden-focusable\": true\n }), null, 16)], 16)) : createCommentVNode(\"\", true)];\n }),\n _: 3\n }, 16, [\"onEnter\", \"onAfterEnter\", \"onLeave\", \"onAfterLeave\"])];\n }),\n _: 3\n }, 8, [\"appendTo\"])], 16, _hoisted_1);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-toggleswitch {\\n display: inline-block;\\n width: \".concat(dt('toggleswitch.width'), \";\\n height: \").concat(dt('toggleswitch.height'), \";\\n}\\n\\n.p-toggleswitch-input {\\n cursor: pointer;\\n appearance: none;\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n padding: 0;\\n margin: 0;\\n opacity: 0;\\n z-index: 1;\\n outline: 0 none;\\n border-radius: \").concat(dt('toggleswitch.border.radius'), \";\\n}\\n\\n.p-toggleswitch-slider {\\n display: inline-block;\\n cursor: pointer;\\n width: 100%;\\n height: 100%;\\n border-width: \").concat(dt('toggleswitch.border.width'), \";\\n border-style: solid;\\n border-color: \").concat(dt('toggleswitch.border.color'), \";\\n background: \").concat(dt('toggleswitch.background'), \";\\n transition: background \").concat(dt('toggleswitch.transition.duration'), \", color \").concat(dt('toggleswitch.transition.duration'), \", border-color \").concat(dt('toggleswitch.transition.duration'), \", outline-color \").concat(dt('toggleswitch.transition.duration'), \", box-shadow \").concat(dt('toggleswitch.transition.duration'), \";\\n border-radius: \").concat(dt('toggleswitch.border.radius'), \";\\n outline-color: transparent;\\n box-shadow: \").concat(dt('toggleswitch.shadow'), \";\\n}\\n\\n.p-toggleswitch-slider:before {\\n position: absolute;\\n content: \\\"\\\";\\n top: 50%;\\n background: \").concat(dt('toggleswitch.handle.background'), \";\\n width: \").concat(dt('toggleswitch.handle.size'), \";\\n height: \").concat(dt('toggleswitch.handle.size'), \";\\n left: \").concat(dt('toggleswitch.gap'), \";\\n margin-top: calc(-1 * calc(\").concat(dt('toggleswitch.handle.size'), \" / 2));\\n border-radius: \").concat(dt('toggleswitch.handle.border.radius'), \";\\n transition: background \").concat(dt('toggleswitch.transition.duration'), \", left \").concat(dt('toggleswitch.slide.duration'), \";\\n}\\n\\n.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-slider {\\n background: \").concat(dt('toggleswitch.checked.background'), \";\\n border-color: \").concat(dt('toggleswitch.checked.border.color'), \";\\n}\\n\\n.p-toggleswitch.p-toggleswitch-checked .p-toggleswitch-slider:before {\\n background: \").concat(dt('toggleswitch.handle.checked.background'), \";\\n left: calc(\").concat(dt('toggleswitch.width'), \" - calc(\").concat(dt('toggleswitch.handle.size'), \" + \").concat(dt('toggleswitch.gap'), \"));\\n}\\n\\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-slider {\\n background: \").concat(dt('toggleswitch.hover.background'), \";\\n border-color: \").concat(dt('toggleswitch.hover.border.color'), \";\\n}\\n\\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover) .p-toggleswitch-slider:before {\\n background: \").concat(dt('toggleswitch.handle.hover.background'), \";\\n}\\n\\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-slider {\\n background: \").concat(dt('toggleswitch.checked.hover.background'), \";\\n border-color: \").concat(dt('toggleswitch.checked.hover.border.color'), \";\\n}\\n\\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:hover).p-toggleswitch-checked .p-toggleswitch-slider:before {\\n background: \").concat(dt('toggleswitch.handle.checked.hover.background'), \";\\n}\\n\\n.p-toggleswitch:not(.p-disabled):has(.p-toggleswitch-input:focus-visible) .p-toggleswitch-slider {\\n box-shadow: \").concat(dt('toggleswitch.focus.ring.shadow'), \";\\n outline: \").concat(dt('toggleswitch.focus.ring.width'), \" \").concat(dt('toggleswitch.focus.ring.style'), \" \").concat(dt('toggleswitch.focus.ring.color'), \";\\n outline-offset: \").concat(dt('toggleswitch.focus.ring.offset'), \";\\n}\\n\\n.p-toggleswitch.p-invalid > .p-toggleswitch-slider {\\n border-color: \").concat(dt('toggleswitch.invalid.border.color'), \";\\n}\\n\\n.p-toggleswitch.p-disabled {\\n opacity: 1;\\n}\\n\\n.p-toggleswitch.p-disabled .p-toggleswitch-slider {\\n background: \").concat(dt('toggleswitch.disabled.background'), \";\\n}\\n\\n.p-toggleswitch.p-disabled .p-toggleswitch-slider:before {\\n background: \").concat(dt('toggleswitch.handle.disabled.background'), \";\\n}\\n\");\n};\nvar inlineStyles = {\n root: {\n position: 'relative'\n }\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props;\n return ['p-toggleswitch p-component', {\n 'p-toggleswitch-checked': instance.checked,\n 'p-disabled': props.disabled,\n 'p-invalid': props.invalid\n }];\n },\n input: 'p-toggleswitch-input',\n slider: 'p-toggleswitch-slider'\n};\nvar ToggleSwitchStyle = BaseStyle.extend({\n name: 'toggleswitch',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { ToggleSwitchStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport ToggleSwitchStyle from 'primevue/toggleswitch/style';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseToggleSwitch',\n \"extends\": BaseComponent,\n props: {\n modelValue: {\n type: null,\n \"default\": false\n },\n trueValue: {\n type: null,\n \"default\": true\n },\n falseValue: {\n type: null,\n \"default\": false\n },\n invalid: {\n type: Boolean,\n \"default\": false\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n readonly: {\n type: Boolean,\n \"default\": false\n },\n tabindex: {\n type: Number,\n \"default\": null\n },\n inputId: {\n type: String,\n \"default\": null\n },\n inputClass: {\n type: [String, Object],\n \"default\": null\n },\n inputStyle: {\n type: Object,\n \"default\": null\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: ToggleSwitchStyle,\n provide: function provide() {\n return {\n $pcToggleSwitch: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'ToggleSwitch',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change', 'focus', 'blur'],\n methods: {\n getPTOptions: function getPTOptions(key) {\n var _ptm = key === 'root' ? this.ptmi : this.ptm;\n return _ptm(key, {\n context: {\n checked: this.checked,\n disabled: this.disabled\n }\n });\n },\n onChange: function onChange(event) {\n if (!this.disabled && !this.readonly) {\n var newValue = this.checked ? this.falseValue : this.trueValue;\n this.$emit('update:modelValue', newValue);\n this.$emit('change', event);\n }\n },\n onFocus: function onFocus(event) {\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.$emit('blur', event);\n }\n },\n computed: {\n checked: function checked() {\n return this.modelValue === this.trueValue;\n }\n }\n};\n\nvar _hoisted_1 = [\"data-p-checked\", \"data-p-disabled\"];\nvar _hoisted_2 = [\"id\", \"checked\", \"tabindex\", \"disabled\", \"readonly\", \"aria-checked\", \"aria-labelledby\", \"aria-label\", \"aria-invalid\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n style: _ctx.sx('root')\n }, $options.getPTOptions('root'), {\n \"data-p-checked\": $options.checked,\n \"data-p-disabled\": _ctx.disabled\n }), [createElementVNode(\"input\", mergeProps({\n id: _ctx.inputId,\n type: \"checkbox\",\n role: \"switch\",\n \"class\": [_ctx.cx('input'), _ctx.inputClass],\n style: _ctx.inputStyle,\n checked: $options.checked,\n tabindex: _ctx.tabindex,\n disabled: _ctx.disabled,\n readonly: _ctx.readonly,\n \"aria-checked\": $options.checked,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n \"aria-invalid\": _ctx.invalid || undefined,\n onFocus: _cache[0] || (_cache[0] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n }),\n onBlur: _cache[1] || (_cache[1] = function () {\n return $options.onBlur && $options.onBlur.apply($options, arguments);\n }),\n onChange: _cache[2] || (_cache[2] = function () {\n return $options.onChange && $options.onChange.apply($options, arguments);\n })\n }, $options.getPTOptions('input')), null, 16, _hoisted_2), createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('slider')\n }, $options.getPTOptions('slider')), null, 16)], 16, _hoisted_1);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-tag {\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n background: \".concat(dt('tag.primary.background'), \";\\n color: \").concat(dt('tag.primary.color'), \";\\n font-size: \").concat(dt('tag.font.size'), \";\\n font-weight: \").concat(dt('tag.font.weight'), \";\\n padding: \").concat(dt('tag.padding'), \";\\n border-radius: \").concat(dt('tag.border.radius'), \";\\n gap: \").concat(dt('tag.gap'), \";\\n}\\n\\n.p-tag-icon {\\n font-size: \").concat(dt('tag.icon.size'), \";\\n width: \").concat(dt('tag.icon.size'), \";\\n height:\").concat(dt('tag.icon.size'), \";\\n}\\n\\n.p-tag-rounded {\\n border-radius: \").concat(dt('tag.rounded.border.radius'), \";\\n}\\n\\n.p-tag-success {\\n background: \").concat(dt('tag.success.background'), \";\\n color: \").concat(dt('tag.success.color'), \";\\n}\\n\\n.p-tag-info {\\n background: \").concat(dt('tag.info.background'), \";\\n color: \").concat(dt('tag.info.color'), \";\\n}\\n\\n.p-tag-warn {\\n background: \").concat(dt('tag.warn.background'), \";\\n color: \").concat(dt('tag.warn.color'), \";\\n}\\n\\n.p-tag-danger {\\n background: \").concat(dt('tag.danger.background'), \";\\n color: \").concat(dt('tag.danger.color'), \";\\n}\\n\\n.p-tag-secondary {\\n background: \").concat(dt('tag.secondary.background'), \";\\n color: \").concat(dt('tag.secondary.color'), \";\\n}\\n\\n.p-tag-contrast {\\n background: \").concat(dt('tag.contrast.background'), \";\\n color: \").concat(dt('tag.contrast.color'), \";\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return ['p-tag p-component', {\n 'p-tag-info': props.severity === 'info',\n 'p-tag-success': props.severity === 'success',\n 'p-tag-warn': props.severity === 'warn',\n 'p-tag-danger': props.severity === 'danger',\n 'p-tag-secondary': props.severity === 'secondary',\n 'p-tag-contrast': props.severity === 'contrast',\n 'p-tag-rounded': props.rounded\n }];\n },\n icon: 'p-tag-icon',\n label: 'p-tag-label'\n};\nvar TagStyle = BaseStyle.extend({\n name: 'tag',\n theme: theme,\n classes: classes\n});\n\nexport { TagStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport TagStyle from 'primevue/tag/style';\nimport { openBlock, createElementBlock, mergeProps, createBlock, resolveDynamicComponent, createCommentVNode, renderSlot, createElementVNode, toDisplayString } from 'vue';\n\nvar script$1 = {\n name: 'BaseTag',\n \"extends\": BaseComponent,\n props: {\n value: null,\n severity: null,\n rounded: Boolean,\n icon: String\n },\n style: TagStyle,\n provide: function provide() {\n return {\n $pcTag: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Tag',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"span\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [_ctx.$slots.icon ? (openBlock(), createBlock(resolveDynamicComponent(_ctx.$slots.icon), mergeProps({\n key: 0,\n \"class\": _ctx.cx('icon')\n }, _ctx.ptm('icon')), null, 16, [\"class\"])) : _ctx.icon ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n \"class\": [_ctx.cx('icon'), _ctx.icon]\n }, _ctx.ptm('icon')), null, 16)) : createCommentVNode(\"\", true), _ctx.value != null || _ctx.$slots[\"default\"] ? renderSlot(_ctx.$slots, \"default\", {\n key: 2\n }, function () {\n return [createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('label')\n }, _ctx.ptm('label')), toDisplayString(_ctx.value), 17)];\n }) : createCommentVNode(\"\", true)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-slider {\\n position: relative;\\n background: \".concat(dt('slider.track.background'), \";\\n border-radius: \").concat(dt('slider.border.radius'), \";\\n}\\n\\n.p-slider-handle {\\n cursor: grab;\\n touch-action: none;\\n display: flex;\\n justify-content: center;\\n align-items: center;\\n height: \").concat(dt('slider.handle.height'), \";\\n width: \").concat(dt('slider.handle.width'), \";\\n background: \").concat(dt('slider.handle.background'), \";\\n border-radius: \").concat(dt('slider.handle.border.radius'), \";\\n transition: background \").concat(dt('slider.transition.duration'), \", color \").concat(dt('slider.transition.duration'), \", border-color \").concat(dt('slider.transition.duration'), \", box-shadow \").concat(dt('slider.transition.duration'), \", outline-color \").concat(dt('slider.transition.duration'), \";\\n outline-color: transparent;\\n}\\n\\n.p-slider-handle::before {\\n content: \\\"\\\";\\n width: \").concat(dt('slider.handle.content.width'), \";\\n height: \").concat(dt('slider.handle.content.height'), \";\\n display: block;\\n background: \").concat(dt('slider.handle.content.background'), \";\\n border-radius: \").concat(dt('slider.handle.content.border.radius'), \";\\n box-shadow: \").concat(dt('slider.handle.content.shadow'), \";\\n transition: background \").concat(dt('slider.transition.duration'), \";\\n}\\n\\n.p-slider:not(.p-disabled) .p-slider-handle:hover {\\n background: \").concat(dt('slider.handle.hover.background'), \";\\n}\\n\\n.p-slider:not(.p-disabled) .p-slider-handle:hover::before {\\n background: \").concat(dt('slider.handle.content.hover.background'), \";\\n}\\n\\n.p-slider-handle:focus-visible {\\n border-color: \").concat(dt('slider.handle.focus.border.color'), \";\\n box-shadow: \").concat(dt('slider.handle.focus.ring.shadow'), \";\\n outline: \").concat(dt('slider.handle.focus.ring.width'), \" \").concat(dt('slider.handle.focus.ring.style'), \" \").concat(dt('slider.handle.focus.ring.color'), \";\\n outline-offset: \").concat(dt('slider.handle.focus.ring.offset'), \";\\n}\\n\\n.p-slider-range {\\n display: block;\\n background: \").concat(dt('slider.range.background'), \";\\n border-radius: \").concat(dt('slider.border.radius'), \";\\n}\\n\\n.p-slider.p-slider-horizontal {\\n height: \").concat(dt('slider.track.size'), \";\\n}\\n\\n.p-slider-horizontal .p-slider-range {\\n top: 0;\\n left: 0;\\n height: 100%;\\n}\\n\\n.p-slider-horizontal .p-slider-handle {\\n top: 50%;\\n margin-top: calc(-1 * calc(\").concat(dt('slider.handle.height'), \" / 2));\\n margin-left: calc(-1 * calc(\").concat(dt('slider.handle.width'), \" / 2));\\n}\\n\\n.p-slider-vertical {\\n min-height: 100px;\\n width: \").concat(dt('slider.track.size'), \";\\n}\\n\\n.p-slider-vertical .p-slider-handle {\\n left: 50%;\\n margin-left: calc(-1 * calc(\").concat(dt('slider.handle.width'), \" / 2));\\n margin-bottom: calc(-1 * calc(\").concat(dt('slider.handle.height'), \" / 2));\\n}\\n\\n.p-slider-vertical .p-slider-range {\\n bottom: 0;\\n left: 0;\\n width: 100%;\\n}\\n\");\n};\nvar inlineStyles = {\n handle: {\n position: 'absolute'\n },\n range: {\n position: 'absolute'\n }\n};\nvar classes = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return ['p-slider p-component', {\n 'p-disabled': props.disabled,\n 'p-slider-horizontal': props.orientation === 'horizontal',\n 'p-slider-vertical': props.orientation === 'vertical'\n }];\n },\n range: 'p-slider-range',\n handle: 'p-slider-handle'\n};\nvar SliderStyle = BaseStyle.extend({\n name: 'slider',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { SliderStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { getWindowScrollLeft, getWindowScrollTop, getAttribute } from '@primeuix/utils/dom';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport SliderStyle from 'primevue/slider/style';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, createCommentVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseSlider',\n \"extends\": BaseComponent,\n props: {\n modelValue: [Number, Array],\n min: {\n type: Number,\n \"default\": 0\n },\n max: {\n type: Number,\n \"default\": 100\n },\n orientation: {\n type: String,\n \"default\": 'horizontal'\n },\n step: {\n type: Number,\n \"default\": null\n },\n range: {\n type: Boolean,\n \"default\": false\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: SliderStyle,\n provide: function provide() {\n return {\n $pcSlider: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nvar script = {\n name: 'Slider',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change', 'slideend'],\n dragging: false,\n handleIndex: null,\n initX: null,\n initY: null,\n barWidth: null,\n barHeight: null,\n dragListener: null,\n dragEndListener: null,\n beforeUnmount: function beforeUnmount() {\n this.unbindDragListeners();\n },\n methods: {\n updateDomData: function updateDomData() {\n var rect = this.$el.getBoundingClientRect();\n this.initX = rect.left + getWindowScrollLeft();\n this.initY = rect.top + getWindowScrollTop();\n this.barWidth = this.$el.offsetWidth;\n this.barHeight = this.$el.offsetHeight;\n },\n setValue: function setValue(event) {\n var handleValue;\n var pageX = event.touches ? event.touches[0].pageX : event.pageX;\n var pageY = event.touches ? event.touches[0].pageY : event.pageY;\n if (this.orientation === 'horizontal') handleValue = (pageX - this.initX) * 100 / this.barWidth;else handleValue = (this.initY + this.barHeight - pageY) * 100 / this.barHeight;\n var newValue = (this.max - this.min) * (handleValue / 100) + this.min;\n if (this.step) {\n var oldValue = this.range ? this.value[this.handleIndex] : this.value;\n var diff = newValue - oldValue;\n if (diff < 0) newValue = oldValue + Math.ceil(newValue / this.step - oldValue / this.step) * this.step;else if (diff > 0) newValue = oldValue + Math.floor(newValue / this.step - oldValue / this.step) * this.step;\n } else {\n newValue = Math.floor(newValue);\n }\n this.updateModel(event, newValue);\n },\n updateModel: function updateModel(event, value) {\n var newValue = parseFloat(value.toFixed(10));\n var modelValue;\n if (this.range) {\n modelValue = this.value ? _toConsumableArray(this.value) : [];\n if (this.handleIndex == 0) {\n if (newValue < this.min) newValue = this.min;else if (newValue >= this.max) newValue = this.max;\n modelValue[0] = newValue;\n } else {\n if (newValue > this.max) newValue = this.max;else if (newValue <= this.min) newValue = this.min;\n modelValue[1] = newValue;\n }\n } else {\n if (newValue < this.min) newValue = this.min;else if (newValue > this.max) newValue = this.max;\n modelValue = newValue;\n }\n this.$emit('update:modelValue', modelValue);\n this.$emit('change', modelValue);\n },\n onDragStart: function onDragStart(event, index) {\n if (this.disabled) {\n return;\n }\n this.$el.setAttribute('data-p-sliding', true);\n this.dragging = true;\n this.updateDomData();\n if (this.range && this.value[0] === this.max) {\n this.handleIndex = 0;\n } else {\n this.handleIndex = index;\n }\n event.currentTarget.focus();\n event.preventDefault();\n },\n onDrag: function onDrag(event) {\n if (this.dragging) {\n this.setValue(event);\n event.preventDefault();\n }\n },\n onDragEnd: function onDragEnd(event) {\n if (this.dragging) {\n this.dragging = false;\n this.$el.setAttribute('data-p-sliding', false);\n this.$emit('slideend', {\n originalEvent: event,\n value: this.value\n });\n }\n },\n onBarClick: function onBarClick(event) {\n if (this.disabled) {\n return;\n }\n if (getAttribute(event.target, 'data-pc-section') !== 'handle') {\n this.updateDomData();\n this.setValue(event);\n }\n },\n onMouseDown: function onMouseDown(event, index) {\n this.bindDragListeners();\n this.onDragStart(event, index);\n },\n onKeyDown: function onKeyDown(event, index) {\n this.handleIndex = index;\n switch (event.code) {\n case 'ArrowDown':\n case 'ArrowLeft':\n this.decrementValue(event, index);\n event.preventDefault();\n break;\n case 'ArrowUp':\n case 'ArrowRight':\n this.incrementValue(event, index);\n event.preventDefault();\n break;\n case 'PageDown':\n this.decrementValue(event, index, true);\n event.preventDefault();\n break;\n case 'PageUp':\n this.incrementValue(event, index, true);\n event.preventDefault();\n break;\n case 'Home':\n this.updateModel(event, this.min);\n event.preventDefault();\n break;\n case 'End':\n this.updateModel(event, this.max);\n event.preventDefault();\n break;\n }\n },\n decrementValue: function decrementValue(event, index) {\n var pageKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var newValue;\n if (this.range) {\n if (this.step) newValue = this.value[index] - this.step;else newValue = this.value[index] - 1;\n } else {\n if (this.step) newValue = this.value - this.step;else if (!this.step && pageKey) newValue = this.value - 10;else newValue = this.value - 1;\n }\n this.updateModel(event, newValue);\n event.preventDefault();\n },\n incrementValue: function incrementValue(event, index) {\n var pageKey = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : false;\n var newValue;\n if (this.range) {\n if (this.step) newValue = this.value[index] + this.step;else newValue = this.value[index] + 1;\n } else {\n if (this.step) newValue = this.value + this.step;else if (!this.step && pageKey) newValue = this.value + 10;else newValue = this.value + 1;\n }\n this.updateModel(event, newValue);\n event.preventDefault();\n },\n bindDragListeners: function bindDragListeners() {\n if (!this.dragListener) {\n this.dragListener = this.onDrag.bind(this);\n document.addEventListener('mousemove', this.dragListener);\n }\n if (!this.dragEndListener) {\n this.dragEndListener = this.onDragEnd.bind(this);\n document.addEventListener('mouseup', this.dragEndListener);\n }\n },\n unbindDragListeners: function unbindDragListeners() {\n if (this.dragListener) {\n document.removeEventListener('mousemove', this.dragListener);\n this.dragListener = null;\n }\n if (this.dragEndListener) {\n document.removeEventListener('mouseup', this.dragEndListener);\n this.dragEndListener = null;\n }\n }\n },\n computed: {\n value: function value() {\n var _this$modelValue3;\n if (this.range) {\n var _this$modelValue$, _this$modelValue, _this$modelValue$2, _this$modelValue2;\n return [(_this$modelValue$ = (_this$modelValue = this.modelValue) === null || _this$modelValue === void 0 ? void 0 : _this$modelValue[0]) !== null && _this$modelValue$ !== void 0 ? _this$modelValue$ : this.min, (_this$modelValue$2 = (_this$modelValue2 = this.modelValue) === null || _this$modelValue2 === void 0 ? void 0 : _this$modelValue2[1]) !== null && _this$modelValue$2 !== void 0 ? _this$modelValue$2 : this.max];\n }\n return (_this$modelValue3 = this.modelValue) !== null && _this$modelValue3 !== void 0 ? _this$modelValue3 : this.min;\n },\n horizontal: function horizontal() {\n return this.orientation === 'horizontal';\n },\n vertical: function vertical() {\n return this.orientation === 'vertical';\n },\n rangeStyle: function rangeStyle() {\n if (this.range) {\n var rangeSliderWidth = this.rangeEndPosition > this.rangeStartPosition ? this.rangeEndPosition - this.rangeStartPosition : this.rangeStartPosition - this.rangeEndPosition;\n var rangeSliderPosition = this.rangeEndPosition > this.rangeStartPosition ? this.rangeStartPosition : this.rangeEndPosition;\n if (this.horizontal) return {\n left: rangeSliderPosition + '%',\n width: rangeSliderWidth + '%'\n };else return {\n bottom: rangeSliderPosition + '%',\n height: rangeSliderWidth + '%'\n };\n } else {\n if (this.horizontal) return {\n width: this.handlePosition + '%'\n };else return {\n height: this.handlePosition + '%'\n };\n }\n },\n handleStyle: function handleStyle() {\n if (this.horizontal) return {\n left: this.handlePosition + '%'\n };else return {\n bottom: this.handlePosition + '%'\n };\n },\n handlePosition: function handlePosition() {\n if (this.value < this.min) return 0;else if (this.value > this.max) return 100;else return (this.value - this.min) * 100 / (this.max - this.min);\n },\n rangeStartPosition: function rangeStartPosition() {\n if (this.value && this.value[0]) return (this.value[0] < this.min ? 0 : this.value[0] - this.min) * 100 / (this.max - this.min);else return 0;\n },\n rangeEndPosition: function rangeEndPosition() {\n if (this.value && this.value.length === 2) return (this.value[1] > this.max ? 100 : this.value[1] - this.min) * 100 / (this.max - this.min);else return 100;\n },\n rangeStartHandleStyle: function rangeStartHandleStyle() {\n if (this.horizontal) return {\n left: this.rangeStartPosition + '%'\n };else return {\n bottom: this.rangeStartPosition + '%'\n };\n },\n rangeEndHandleStyle: function rangeEndHandleStyle() {\n if (this.horizontal) return {\n left: this.rangeEndPosition + '%'\n };else return {\n bottom: this.rangeEndPosition + '%'\n };\n }\n }\n};\n\nvar _hoisted_1 = [\"tabindex\", \"aria-valuemin\", \"aria-valuenow\", \"aria-valuemax\", \"aria-labelledby\", \"aria-label\", \"aria-orientation\"];\nvar _hoisted_2 = [\"tabindex\", \"aria-valuemin\", \"aria-valuenow\", \"aria-valuemax\", \"aria-labelledby\", \"aria-label\", \"aria-orientation\"];\nvar _hoisted_3 = [\"tabindex\", \"aria-valuemin\", \"aria-valuenow\", \"aria-valuemax\", \"aria-labelledby\", \"aria-label\", \"aria-orientation\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n onClick: _cache[15] || (_cache[15] = function () {\n return $options.onBarClick && $options.onBarClick.apply($options, arguments);\n })\n }, _ctx.ptmi('root'), {\n \"data-p-sliding\": false\n }), [createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('range'),\n style: [_ctx.sx('range'), $options.rangeStyle]\n }, _ctx.ptm('range')), null, 16), !_ctx.range ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('handle'),\n style: [_ctx.sx('handle'), $options.handleStyle],\n onTouchstartPassive: _cache[0] || (_cache[0] = function ($event) {\n return $options.onDragStart($event);\n }),\n onTouchmovePassive: _cache[1] || (_cache[1] = function ($event) {\n return $options.onDrag($event);\n }),\n onTouchend: _cache[2] || (_cache[2] = function ($event) {\n return $options.onDragEnd($event);\n }),\n onMousedown: _cache[3] || (_cache[3] = function ($event) {\n return $options.onMouseDown($event);\n }),\n onKeydown: _cache[4] || (_cache[4] = function ($event) {\n return $options.onKeyDown($event);\n }),\n tabindex: _ctx.tabindex,\n role: \"slider\",\n \"aria-valuemin\": _ctx.min,\n \"aria-valuenow\": _ctx.modelValue,\n \"aria-valuemax\": _ctx.max,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n \"aria-orientation\": _ctx.orientation\n }, _ctx.ptm('handle')), null, 16, _hoisted_1)) : createCommentVNode(\"\", true), _ctx.range ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 1,\n \"class\": _ctx.cx('handle'),\n style: [_ctx.sx('handle'), $options.rangeStartHandleStyle],\n onTouchstartPassive: _cache[5] || (_cache[5] = function ($event) {\n return $options.onDragStart($event, 0);\n }),\n onTouchmovePassive: _cache[6] || (_cache[6] = function ($event) {\n return $options.onDrag($event);\n }),\n onTouchend: _cache[7] || (_cache[7] = function ($event) {\n return $options.onDragEnd($event);\n }),\n onMousedown: _cache[8] || (_cache[8] = function ($event) {\n return $options.onMouseDown($event, 0);\n }),\n onKeydown: _cache[9] || (_cache[9] = function ($event) {\n return $options.onKeyDown($event, 0);\n }),\n tabindex: _ctx.tabindex,\n role: \"slider\",\n \"aria-valuemin\": _ctx.min,\n \"aria-valuenow\": _ctx.modelValue ? _ctx.modelValue[0] : null,\n \"aria-valuemax\": _ctx.max,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n \"aria-orientation\": _ctx.orientation\n }, _ctx.ptm('startHandler')), null, 16, _hoisted_2)) : createCommentVNode(\"\", true), _ctx.range ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 2,\n \"class\": _ctx.cx('handle'),\n style: [_ctx.sx('handle'), $options.rangeEndHandleStyle],\n onTouchstartPassive: _cache[10] || (_cache[10] = function ($event) {\n return $options.onDragStart($event, 1);\n }),\n onTouchmovePassive: _cache[11] || (_cache[11] = function ($event) {\n return $options.onDrag($event);\n }),\n onTouchend: _cache[12] || (_cache[12] = function ($event) {\n return $options.onDragEnd($event);\n }),\n onMousedown: _cache[13] || (_cache[13] = function ($event) {\n return $options.onMouseDown($event, 1);\n }),\n onKeydown: _cache[14] || (_cache[14] = function ($event) {\n return $options.onKeyDown($event, 1);\n }),\n tabindex: _ctx.tabindex,\n role: \"slider\",\n \"aria-valuemin\": _ctx.min,\n \"aria-valuenow\": _ctx.modelValue ? _ctx.modelValue[1] : null,\n \"aria-valuemax\": _ctx.max,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-label\": _ctx.ariaLabel,\n \"aria-orientation\": _ctx.orientation\n }, _ctx.ptm('endHandler')), null, 16, _hoisted_3)) : createCommentVNode(\"\", true)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n\n\n","export function formatCamelCase(str: string): string {\n // Check if the string is camel case\n const isCamelCase = /^([A-Z][a-z]*)+$/.test(str)\n\n if (!isCamelCase) {\n return str // Return original string if not camel case\n }\n\n // Split the string into words, keeping acronyms together\n const words = str.split(/(?=[A-Z][a-z])|\\d+/)\n\n // Process each word\n const processedWords = words.map((word) => {\n // If the word is all uppercase and longer than one character, it's likely an acronym\n if (word.length > 1 && word === word.toUpperCase()) {\n return word // Keep acronyms as is\n }\n // For other words, ensure the first letter is capitalized\n return word.charAt(0).toUpperCase() + word.slice(1)\n })\n\n // Join the words with spaces\n return processedWords.join(' ')\n}\n","\n\n\n\n\n","/**\n * @license\n * Lodash \n * Copyright OpenJS Foundation and other contributors \n * Released under MIT license \n * Based on Underscore.js 1.8.3 \n * Copyright Jeremy Ashkenas, DocumentCloud and Investigative Reporters & Editors\n */\n;(function() {\n\n /** Used as a safe reference for `undefined` in pre-ES5 environments. */\n var undefined;\n\n /** Used as the semantic version number. */\n var VERSION = '4.17.21';\n\n /** Used as the size to enable large array optimizations. */\n var LARGE_ARRAY_SIZE = 200;\n\n /** Error message constants. */\n var CORE_ERROR_TEXT = 'Unsupported core-js use. Try https://npms.io/search?q=ponyfill.',\n FUNC_ERROR_TEXT = 'Expected a function',\n INVALID_TEMPL_VAR_ERROR_TEXT = 'Invalid `variable` option passed into `_.template`';\n\n /** Used to stand-in for `undefined` hash values. */\n var HASH_UNDEFINED = '__lodash_hash_undefined__';\n\n /** Used as the maximum memoize cache size. */\n var MAX_MEMOIZE_SIZE = 500;\n\n /** Used as the internal argument placeholder. */\n var PLACEHOLDER = '__lodash_placeholder__';\n\n /** Used to compose bitmasks for cloning. */\n var CLONE_DEEP_FLAG = 1,\n CLONE_FLAT_FLAG = 2,\n CLONE_SYMBOLS_FLAG = 4;\n\n /** Used to compose bitmasks for value comparisons. */\n var COMPARE_PARTIAL_FLAG = 1,\n COMPARE_UNORDERED_FLAG = 2;\n\n /** Used to compose bitmasks for function metadata. */\n var WRAP_BIND_FLAG = 1,\n WRAP_BIND_KEY_FLAG = 2,\n WRAP_CURRY_BOUND_FLAG = 4,\n WRAP_CURRY_FLAG = 8,\n WRAP_CURRY_RIGHT_FLAG = 16,\n WRAP_PARTIAL_FLAG = 32,\n WRAP_PARTIAL_RIGHT_FLAG = 64,\n WRAP_ARY_FLAG = 128,\n WRAP_REARG_FLAG = 256,\n WRAP_FLIP_FLAG = 512;\n\n /** Used as default options for `_.truncate`. */\n var DEFAULT_TRUNC_LENGTH = 30,\n DEFAULT_TRUNC_OMISSION = '...';\n\n /** Used to detect hot functions by number of calls within a span of milliseconds. */\n var HOT_COUNT = 800,\n HOT_SPAN = 16;\n\n /** Used to indicate the type of lazy iteratees. */\n var LAZY_FILTER_FLAG = 1,\n LAZY_MAP_FLAG = 2,\n LAZY_WHILE_FLAG = 3;\n\n /** Used as references for various `Number` constants. */\n var INFINITY = 1 / 0,\n MAX_SAFE_INTEGER = 9007199254740991,\n MAX_INTEGER = 1.7976931348623157e+308,\n NAN = 0 / 0;\n\n /** Used as references for the maximum length and index of an array. */\n var MAX_ARRAY_LENGTH = 4294967295,\n MAX_ARRAY_INDEX = MAX_ARRAY_LENGTH - 1,\n HALF_MAX_ARRAY_LENGTH = MAX_ARRAY_LENGTH >>> 1;\n\n /** Used to associate wrap methods with their bit flags. */\n var wrapFlags = [\n ['ary', WRAP_ARY_FLAG],\n ['bind', WRAP_BIND_FLAG],\n ['bindKey', WRAP_BIND_KEY_FLAG],\n ['curry', WRAP_CURRY_FLAG],\n ['curryRight', WRAP_CURRY_RIGHT_FLAG],\n ['flip', WRAP_FLIP_FLAG],\n ['partial', WRAP_PARTIAL_FLAG],\n ['partialRight', WRAP_PARTIAL_RIGHT_FLAG],\n ['rearg', WRAP_REARG_FLAG]\n ];\n\n /** `Object#toString` result references. */\n var argsTag = '[object Arguments]',\n arrayTag = '[object Array]',\n asyncTag = '[object AsyncFunction]',\n boolTag = '[object Boolean]',\n dateTag = '[object Date]',\n domExcTag = '[object DOMException]',\n errorTag = '[object Error]',\n funcTag = '[object Function]',\n genTag = '[object GeneratorFunction]',\n mapTag = '[object Map]',\n numberTag = '[object Number]',\n nullTag = '[object Null]',\n objectTag = '[object Object]',\n promiseTag = '[object Promise]',\n proxyTag = '[object Proxy]',\n regexpTag = '[object RegExp]',\n setTag = '[object Set]',\n stringTag = '[object String]',\n symbolTag = '[object Symbol]',\n undefinedTag = '[object Undefined]',\n weakMapTag = '[object WeakMap]',\n weakSetTag = '[object WeakSet]';\n\n var arrayBufferTag = '[object ArrayBuffer]',\n dataViewTag = '[object DataView]',\n float32Tag = '[object Float32Array]',\n float64Tag = '[object Float64Array]',\n int8Tag = '[object Int8Array]',\n int16Tag = '[object Int16Array]',\n int32Tag = '[object Int32Array]',\n uint8Tag = '[object Uint8Array]',\n uint8ClampedTag = '[object Uint8ClampedArray]',\n uint16Tag = '[object Uint16Array]',\n uint32Tag = '[object Uint32Array]';\n\n /** Used to match empty string literals in compiled template source. */\n var reEmptyStringLeading = /\\b__p \\+= '';/g,\n reEmptyStringMiddle = /\\b(__p \\+=) '' \\+/g,\n reEmptyStringTrailing = /(__e\\(.*?\\)|\\b__t\\)) \\+\\n'';/g;\n\n /** Used to match HTML entities and HTML characters. */\n var reEscapedHtml = /&(?:amp|lt|gt|quot|#39);/g,\n reUnescapedHtml = /[&<>\"']/g,\n reHasEscapedHtml = RegExp(reEscapedHtml.source),\n reHasUnescapedHtml = RegExp(reUnescapedHtml.source);\n\n /** Used to match template delimiters. */\n var reEscape = /<%-([\\s\\S]+?)%>/g,\n reEvaluate = /<%([\\s\\S]+?)%>/g,\n reInterpolate = /<%=([\\s\\S]+?)%>/g;\n\n /** Used to match property names within property paths. */\n var reIsDeepProp = /\\.|\\[(?:[^[\\]]*|([\"'])(?:(?!\\1)[^\\\\]|\\\\.)*?\\1)\\]/,\n reIsPlainProp = /^\\w*$/,\n rePropName = /[^.[\\]]+|\\[(?:(-?\\d+(?:\\.\\d+)?)|([\"'])((?:(?!\\2)[^\\\\]|\\\\.)*?)\\2)\\]|(?=(?:\\.|\\[\\])(?:\\.|\\[\\]|$))/g;\n\n /**\n * Used to match `RegExp`\n * [syntax characters](http://ecma-international.org/ecma-262/7.0/#sec-patterns).\n */\n var reRegExpChar = /[\\\\^$.*+?()[\\]{}|]/g,\n reHasRegExpChar = RegExp(reRegExpChar.source);\n\n /** Used to match leading whitespace. */\n var reTrimStart = /^\\s+/;\n\n /** Used to match a single whitespace character. */\n var reWhitespace = /\\s/;\n\n /** Used to match wrap detail comments. */\n var reWrapComment = /\\{(?:\\n\\/\\* \\[wrapped with .+\\] \\*\\/)?\\n?/,\n reWrapDetails = /\\{\\n\\/\\* \\[wrapped with (.+)\\] \\*/,\n reSplitDetails = /,? & /;\n\n /** Used to match words composed of alphanumeric characters. */\n var reAsciiWord = /[^\\x00-\\x2f\\x3a-\\x40\\x5b-\\x60\\x7b-\\x7f]+/g;\n\n /**\n * Used to validate the `validate` option in `_.template` variable.\n *\n * Forbids characters which could potentially change the meaning of the function argument definition:\n * - \"(),\" (modification of function parameters)\n * - \"=\" (default value)\n * - \"[]{}\" (destructuring of function parameters)\n * - \"/\" (beginning of a comment)\n * - whitespace\n */\n var reForbiddenIdentifierChars = /[()=,{}\\[\\]\\/\\s]/;\n\n /** Used to match backslashes in property paths. */\n var reEscapeChar = /\\\\(\\\\)?/g;\n\n /**\n * Used to match\n * [ES template delimiters](http://ecma-international.org/ecma-262/7.0/#sec-template-literal-lexical-components).\n */\n var reEsTemplate = /\\$\\{([^\\\\}]*(?:\\\\.[^\\\\}]*)*)\\}/g;\n\n /** Used to match `RegExp` flags from their coerced string values. */\n var reFlags = /\\w*$/;\n\n /** Used to detect bad signed hexadecimal string values. */\n var reIsBadHex = /^[-+]0x[0-9a-f]+$/i;\n\n /** Used to detect binary string values. */\n var reIsBinary = /^0b[01]+$/i;\n\n /** Used to detect host constructors (Safari). */\n var reIsHostCtor = /^\\[object .+?Constructor\\]$/;\n\n /** Used to detect octal string values. */\n var reIsOctal = /^0o[0-7]+$/i;\n\n /** Used to detect unsigned integer values. */\n var reIsUint = /^(?:0|[1-9]\\d*)$/;\n\n /** Used to match Latin Unicode letters (excluding mathematical operators). */\n var reLatin = /[\\xc0-\\xd6\\xd8-\\xf6\\xf8-\\xff\\u0100-\\u017f]/g;\n\n /** Used to ensure capturing order of template delimiters. */\n var reNoMatch = /($^)/;\n\n /** Used to match unescaped characters in compiled string literals. */\n var reUnescapedString = /['\\n\\r\\u2028\\u2029\\\\]/g;\n\n /** Used to compose unicode character classes. */\n var rsAstralRange = '\\\\ud800-\\\\udfff',\n rsComboMarksRange = '\\\\u0300-\\\\u036f',\n reComboHalfMarksRange = '\\\\ufe20-\\\\ufe2f',\n rsComboSymbolsRange = '\\\\u20d0-\\\\u20ff',\n rsComboRange = rsComboMarksRange + reComboHalfMarksRange + rsComboSymbolsRange,\n rsDingbatRange = '\\\\u2700-\\\\u27bf',\n rsLowerRange = 'a-z\\\\xdf-\\\\xf6\\\\xf8-\\\\xff',\n rsMathOpRange = '\\\\xac\\\\xb1\\\\xd7\\\\xf7',\n rsNonCharRange = '\\\\x00-\\\\x2f\\\\x3a-\\\\x40\\\\x5b-\\\\x60\\\\x7b-\\\\xbf',\n rsPunctuationRange = '\\\\u2000-\\\\u206f',\n rsSpaceRange = ' \\\\t\\\\x0b\\\\f\\\\xa0\\\\ufeff\\\\n\\\\r\\\\u2028\\\\u2029\\\\u1680\\\\u180e\\\\u2000\\\\u2001\\\\u2002\\\\u2003\\\\u2004\\\\u2005\\\\u2006\\\\u2007\\\\u2008\\\\u2009\\\\u200a\\\\u202f\\\\u205f\\\\u3000',\n rsUpperRange = 'A-Z\\\\xc0-\\\\xd6\\\\xd8-\\\\xde',\n rsVarRange = '\\\\ufe0e\\\\ufe0f',\n rsBreakRange = rsMathOpRange + rsNonCharRange + rsPunctuationRange + rsSpaceRange;\n\n /** Used to compose unicode capture groups. */\n var rsApos = \"['\\u2019]\",\n rsAstral = '[' + rsAstralRange + ']',\n rsBreak = '[' + rsBreakRange + ']',\n rsCombo = '[' + rsComboRange + ']',\n rsDigits = '\\\\d+',\n rsDingbat = '[' + rsDingbatRange + ']',\n rsLower = '[' + rsLowerRange + ']',\n rsMisc = '[^' + rsAstralRange + rsBreakRange + rsDigits + rsDingbatRange + rsLowerRange + rsUpperRange + ']',\n rsFitz = '\\\\ud83c[\\\\udffb-\\\\udfff]',\n rsModifier = '(?:' + rsCombo + '|' + rsFitz + ')',\n rsNonAstral = '[^' + rsAstralRange + ']',\n rsRegional = '(?:\\\\ud83c[\\\\udde6-\\\\uddff]){2}',\n rsSurrPair = '[\\\\ud800-\\\\udbff][\\\\udc00-\\\\udfff]',\n rsUpper = '[' + rsUpperRange + ']',\n rsZWJ = '\\\\u200d';\n\n /** Used to compose unicode regexes. */\n var rsMiscLower = '(?:' + rsLower + '|' + rsMisc + ')',\n rsMiscUpper = '(?:' + rsUpper + '|' + rsMisc + ')',\n rsOptContrLower = '(?:' + rsApos + '(?:d|ll|m|re|s|t|ve))?',\n rsOptContrUpper = '(?:' + rsApos + '(?:D|LL|M|RE|S|T|VE))?',\n reOptMod = rsModifier + '?',\n rsOptVar = '[' + rsVarRange + ']?',\n rsOptJoin = '(?:' + rsZWJ + '(?:' + [rsNonAstral, rsRegional, rsSurrPair].join('|') + ')' + rsOptVar + reOptMod + ')*',\n rsOrdLower = '\\\\d*(?:1st|2nd|3rd|(?![123])\\\\dth)(?=\\\\b|[A-Z_])',\n rsOrdUpper = '\\\\d*(?:1ST|2ND|3RD|(?![123])\\\\dTH)(?=\\\\b|[a-z_])',\n rsSeq = rsOptVar + reOptMod + rsOptJoin,\n rsEmoji = '(?:' + [rsDingbat, rsRegional, rsSurrPair].join('|') + ')' + rsSeq,\n rsSymbol = '(?:' + [rsNonAstral + rsCombo + '?', rsCombo, rsRegional, rsSurrPair, rsAstral].join('|') + ')';\n\n /** Used to match apostrophes. */\n var reApos = RegExp(rsApos, 'g');\n\n /**\n * Used to match [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks) and\n * [combining diacritical marks for symbols](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks_for_Symbols).\n */\n var reComboMark = RegExp(rsCombo, 'g');\n\n /** Used to match [string symbols](https://mathiasbynens.be/notes/javascript-unicode). */\n var reUnicode = RegExp(rsFitz + '(?=' + rsFitz + ')|' + rsSymbol + rsSeq, 'g');\n\n /** Used to match complex or compound words. */\n var reUnicodeWord = RegExp([\n rsUpper + '?' + rsLower + '+' + rsOptContrLower + '(?=' + [rsBreak, rsUpper, '$'].join('|') + ')',\n rsMiscUpper + '+' + rsOptContrUpper + '(?=' + [rsBreak, rsUpper + rsMiscLower, '$'].join('|') + ')',\n rsUpper + '?' + rsMiscLower + '+' + rsOptContrLower,\n rsUpper + '+' + rsOptContrUpper,\n rsOrdUpper,\n rsOrdLower,\n rsDigits,\n rsEmoji\n ].join('|'), 'g');\n\n /** Used to detect strings with [zero-width joiners or code points from the astral planes](http://eev.ee/blog/2015/09/12/dark-corners-of-unicode/). */\n var reHasUnicode = RegExp('[' + rsZWJ + rsAstralRange + rsComboRange + rsVarRange + ']');\n\n /** Used to detect strings that need a more robust regexp to match words. */\n var reHasUnicodeWord = /[a-z][A-Z]|[A-Z]{2}[a-z]|[0-9][a-zA-Z]|[a-zA-Z][0-9]|[^a-zA-Z0-9 ]/;\n\n /** Used to assign default `context` object properties. */\n var contextProps = [\n 'Array', 'Buffer', 'DataView', 'Date', 'Error', 'Float32Array', 'Float64Array',\n 'Function', 'Int8Array', 'Int16Array', 'Int32Array', 'Map', 'Math', 'Object',\n 'Promise', 'RegExp', 'Set', 'String', 'Symbol', 'TypeError', 'Uint8Array',\n 'Uint8ClampedArray', 'Uint16Array', 'Uint32Array', 'WeakMap',\n '_', 'clearTimeout', 'isFinite', 'parseInt', 'setTimeout'\n ];\n\n /** Used to make template sourceURLs easier to identify. */\n var templateCounter = -1;\n\n /** Used to identify `toStringTag` values of typed arrays. */\n var typedArrayTags = {};\n typedArrayTags[float32Tag] = typedArrayTags[float64Tag] =\n typedArrayTags[int8Tag] = typedArrayTags[int16Tag] =\n typedArrayTags[int32Tag] = typedArrayTags[uint8Tag] =\n typedArrayTags[uint8ClampedTag] = typedArrayTags[uint16Tag] =\n typedArrayTags[uint32Tag] = true;\n typedArrayTags[argsTag] = typedArrayTags[arrayTag] =\n typedArrayTags[arrayBufferTag] = typedArrayTags[boolTag] =\n typedArrayTags[dataViewTag] = typedArrayTags[dateTag] =\n typedArrayTags[errorTag] = typedArrayTags[funcTag] =\n typedArrayTags[mapTag] = typedArrayTags[numberTag] =\n typedArrayTags[objectTag] = typedArrayTags[regexpTag] =\n typedArrayTags[setTag] = typedArrayTags[stringTag] =\n typedArrayTags[weakMapTag] = false;\n\n /** Used to identify `toStringTag` values supported by `_.clone`. */\n var cloneableTags = {};\n cloneableTags[argsTag] = cloneableTags[arrayTag] =\n cloneableTags[arrayBufferTag] = cloneableTags[dataViewTag] =\n cloneableTags[boolTag] = cloneableTags[dateTag] =\n cloneableTags[float32Tag] = cloneableTags[float64Tag] =\n cloneableTags[int8Tag] = cloneableTags[int16Tag] =\n cloneableTags[int32Tag] = cloneableTags[mapTag] =\n cloneableTags[numberTag] = cloneableTags[objectTag] =\n cloneableTags[regexpTag] = cloneableTags[setTag] =\n cloneableTags[stringTag] = cloneableTags[symbolTag] =\n cloneableTags[uint8Tag] = cloneableTags[uint8ClampedTag] =\n cloneableTags[uint16Tag] = cloneableTags[uint32Tag] = true;\n cloneableTags[errorTag] = cloneableTags[funcTag] =\n cloneableTags[weakMapTag] = false;\n\n /** Used to map Latin Unicode letters to basic Latin letters. */\n var deburredLetters = {\n // Latin-1 Supplement block.\n '\\xc0': 'A', '\\xc1': 'A', '\\xc2': 'A', '\\xc3': 'A', '\\xc4': 'A', '\\xc5': 'A',\n '\\xe0': 'a', '\\xe1': 'a', '\\xe2': 'a', '\\xe3': 'a', '\\xe4': 'a', '\\xe5': 'a',\n '\\xc7': 'C', '\\xe7': 'c',\n '\\xd0': 'D', '\\xf0': 'd',\n '\\xc8': 'E', '\\xc9': 'E', '\\xca': 'E', '\\xcb': 'E',\n '\\xe8': 'e', '\\xe9': 'e', '\\xea': 'e', '\\xeb': 'e',\n '\\xcc': 'I', '\\xcd': 'I', '\\xce': 'I', '\\xcf': 'I',\n '\\xec': 'i', '\\xed': 'i', '\\xee': 'i', '\\xef': 'i',\n '\\xd1': 'N', '\\xf1': 'n',\n '\\xd2': 'O', '\\xd3': 'O', '\\xd4': 'O', '\\xd5': 'O', '\\xd6': 'O', '\\xd8': 'O',\n '\\xf2': 'o', '\\xf3': 'o', '\\xf4': 'o', '\\xf5': 'o', '\\xf6': 'o', '\\xf8': 'o',\n '\\xd9': 'U', '\\xda': 'U', '\\xdb': 'U', '\\xdc': 'U',\n '\\xf9': 'u', '\\xfa': 'u', '\\xfb': 'u', '\\xfc': 'u',\n '\\xdd': 'Y', '\\xfd': 'y', '\\xff': 'y',\n '\\xc6': 'Ae', '\\xe6': 'ae',\n '\\xde': 'Th', '\\xfe': 'th',\n '\\xdf': 'ss',\n // Latin Extended-A block.\n '\\u0100': 'A', '\\u0102': 'A', '\\u0104': 'A',\n '\\u0101': 'a', '\\u0103': 'a', '\\u0105': 'a',\n '\\u0106': 'C', '\\u0108': 'C', '\\u010a': 'C', '\\u010c': 'C',\n '\\u0107': 'c', '\\u0109': 'c', '\\u010b': 'c', '\\u010d': 'c',\n '\\u010e': 'D', '\\u0110': 'D', '\\u010f': 'd', '\\u0111': 'd',\n '\\u0112': 'E', '\\u0114': 'E', '\\u0116': 'E', '\\u0118': 'E', '\\u011a': 'E',\n '\\u0113': 'e', '\\u0115': 'e', '\\u0117': 'e', '\\u0119': 'e', '\\u011b': 'e',\n '\\u011c': 'G', '\\u011e': 'G', '\\u0120': 'G', '\\u0122': 'G',\n '\\u011d': 'g', '\\u011f': 'g', '\\u0121': 'g', '\\u0123': 'g',\n '\\u0124': 'H', '\\u0126': 'H', '\\u0125': 'h', '\\u0127': 'h',\n '\\u0128': 'I', '\\u012a': 'I', '\\u012c': 'I', '\\u012e': 'I', '\\u0130': 'I',\n '\\u0129': 'i', '\\u012b': 'i', '\\u012d': 'i', '\\u012f': 'i', '\\u0131': 'i',\n '\\u0134': 'J', '\\u0135': 'j',\n '\\u0136': 'K', '\\u0137': 'k', '\\u0138': 'k',\n '\\u0139': 'L', '\\u013b': 'L', '\\u013d': 'L', '\\u013f': 'L', '\\u0141': 'L',\n '\\u013a': 'l', '\\u013c': 'l', '\\u013e': 'l', '\\u0140': 'l', '\\u0142': 'l',\n '\\u0143': 'N', '\\u0145': 'N', '\\u0147': 'N', '\\u014a': 'N',\n '\\u0144': 'n', '\\u0146': 'n', '\\u0148': 'n', '\\u014b': 'n',\n '\\u014c': 'O', '\\u014e': 'O', '\\u0150': 'O',\n '\\u014d': 'o', '\\u014f': 'o', '\\u0151': 'o',\n '\\u0154': 'R', '\\u0156': 'R', '\\u0158': 'R',\n '\\u0155': 'r', '\\u0157': 'r', '\\u0159': 'r',\n '\\u015a': 'S', '\\u015c': 'S', '\\u015e': 'S', '\\u0160': 'S',\n '\\u015b': 's', '\\u015d': 's', '\\u015f': 's', '\\u0161': 's',\n '\\u0162': 'T', '\\u0164': 'T', '\\u0166': 'T',\n '\\u0163': 't', '\\u0165': 't', '\\u0167': 't',\n '\\u0168': 'U', '\\u016a': 'U', '\\u016c': 'U', '\\u016e': 'U', '\\u0170': 'U', '\\u0172': 'U',\n '\\u0169': 'u', '\\u016b': 'u', '\\u016d': 'u', '\\u016f': 'u', '\\u0171': 'u', '\\u0173': 'u',\n '\\u0174': 'W', '\\u0175': 'w',\n '\\u0176': 'Y', '\\u0177': 'y', '\\u0178': 'Y',\n '\\u0179': 'Z', '\\u017b': 'Z', '\\u017d': 'Z',\n '\\u017a': 'z', '\\u017c': 'z', '\\u017e': 'z',\n '\\u0132': 'IJ', '\\u0133': 'ij',\n '\\u0152': 'Oe', '\\u0153': 'oe',\n '\\u0149': \"'n\", '\\u017f': 's'\n };\n\n /** Used to map characters to HTML entities. */\n var htmlEscapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '\"': '"',\n \"'\": '''\n };\n\n /** Used to map HTML entities to characters. */\n var htmlUnescapes = {\n '&': '&',\n '<': '<',\n '>': '>',\n '"': '\"',\n ''': \"'\"\n };\n\n /** Used to escape characters for inclusion in compiled string literals. */\n var stringEscapes = {\n '\\\\': '\\\\',\n \"'\": \"'\",\n '\\n': 'n',\n '\\r': 'r',\n '\\u2028': 'u2028',\n '\\u2029': 'u2029'\n };\n\n /** Built-in method references without a dependency on `root`. */\n var freeParseFloat = parseFloat,\n freeParseInt = parseInt;\n\n /** Detect free variable `global` from Node.js. */\n var freeGlobal = typeof global == 'object' && global && global.Object === Object && global;\n\n /** Detect free variable `self`. */\n var freeSelf = typeof self == 'object' && self && self.Object === Object && self;\n\n /** Used as a reference to the global object. */\n var root = freeGlobal || freeSelf || Function('return this')();\n\n /** Detect free variable `exports`. */\n var freeExports = typeof exports == 'object' && exports && !exports.nodeType && exports;\n\n /** Detect free variable `module`. */\n var freeModule = freeExports && typeof module == 'object' && module && !module.nodeType && module;\n\n /** Detect the popular CommonJS extension `module.exports`. */\n var moduleExports = freeModule && freeModule.exports === freeExports;\n\n /** Detect free variable `process` from Node.js. */\n var freeProcess = moduleExports && freeGlobal.process;\n\n /** Used to access faster Node.js helpers. */\n var nodeUtil = (function() {\n try {\n // Use `util.types` for Node.js 10+.\n var types = freeModule && freeModule.require && freeModule.require('util').types;\n\n if (types) {\n return types;\n }\n\n // Legacy `process.binding('util')` for Node.js < 10.\n return freeProcess && freeProcess.binding && freeProcess.binding('util');\n } catch (e) {}\n }());\n\n /* Node.js helper references. */\n var nodeIsArrayBuffer = nodeUtil && nodeUtil.isArrayBuffer,\n nodeIsDate = nodeUtil && nodeUtil.isDate,\n nodeIsMap = nodeUtil && nodeUtil.isMap,\n nodeIsRegExp = nodeUtil && nodeUtil.isRegExp,\n nodeIsSet = nodeUtil && nodeUtil.isSet,\n nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * A faster alternative to `Function#apply`, this function invokes `func`\n * with the `this` binding of `thisArg` and the arguments of `args`.\n *\n * @private\n * @param {Function} func The function to invoke.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} args The arguments to invoke `func` with.\n * @returns {*} Returns the result of `func`.\n */\n function apply(func, thisArg, args) {\n switch (args.length) {\n case 0: return func.call(thisArg);\n case 1: return func.call(thisArg, args[0]);\n case 2: return func.call(thisArg, args[0], args[1]);\n case 3: return func.call(thisArg, args[0], args[1], args[2]);\n }\n return func.apply(thisArg, args);\n }\n\n /**\n * A specialized version of `baseAggregator` for arrays.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function arrayAggregator(array, setter, iteratee, accumulator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n var value = array[index];\n setter(accumulator, value, iteratee(value), array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.forEach` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEach(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (iteratee(array[index], index, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.forEachRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns `array`.\n */\n function arrayEachRight(array, iteratee) {\n var length = array == null ? 0 : array.length;\n\n while (length--) {\n if (iteratee(array[length], length, array) === false) {\n break;\n }\n }\n return array;\n }\n\n /**\n * A specialized version of `_.every` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n */\n function arrayEvery(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (!predicate(array[index], index, array)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * A specialized version of `_.filter` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function arrayFilter(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.includes` for arrays without support for\n * specifying an index to search from.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludes(array, value) {\n var length = array == null ? 0 : array.length;\n return !!length && baseIndexOf(array, value, 0) > -1;\n }\n\n /**\n * This function is like `arrayIncludes` except that it accepts a comparator.\n *\n * @private\n * @param {Array} [array] The array to inspect.\n * @param {*} target The value to search for.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {boolean} Returns `true` if `target` is found, else `false`.\n */\n function arrayIncludesWith(array, value, comparator) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (comparator(value, array[index])) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `_.map` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function arrayMap(array, iteratee) {\n var index = -1,\n length = array == null ? 0 : array.length,\n result = Array(length);\n\n while (++index < length) {\n result[index] = iteratee(array[index], index, array);\n }\n return result;\n }\n\n /**\n * Appends the elements of `values` to `array`.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to append.\n * @returns {Array} Returns `array`.\n */\n function arrayPush(array, values) {\n var index = -1,\n length = values.length,\n offset = array.length;\n\n while (++index < length) {\n array[offset + index] = values[index];\n }\n return array;\n }\n\n /**\n * A specialized version of `_.reduce` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the first element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduce(array, iteratee, accumulator, initAccum) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n if (initAccum && length) {\n accumulator = array[++index];\n }\n while (++index < length) {\n accumulator = iteratee(accumulator, array[index], index, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.reduceRight` for arrays without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @param {boolean} [initAccum] Specify using the last element of `array` as\n * the initial value.\n * @returns {*} Returns the accumulated value.\n */\n function arrayReduceRight(array, iteratee, accumulator, initAccum) {\n var length = array == null ? 0 : array.length;\n if (initAccum && length) {\n accumulator = array[--length];\n }\n while (length--) {\n accumulator = iteratee(accumulator, array[length], length, array);\n }\n return accumulator;\n }\n\n /**\n * A specialized version of `_.some` for arrays without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} [array] The array to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function arraySome(array, predicate) {\n var index = -1,\n length = array == null ? 0 : array.length;\n\n while (++index < length) {\n if (predicate(array[index], index, array)) {\n return true;\n }\n }\n return false;\n }\n\n /**\n * Gets the size of an ASCII `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n var asciiSize = baseProperty('length');\n\n /**\n * Converts an ASCII `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function asciiToArray(string) {\n return string.split('');\n }\n\n /**\n * Splits an ASCII `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function asciiWords(string) {\n return string.match(reAsciiWord) || [];\n }\n\n /**\n * The base implementation of methods like `_.findKey` and `_.findLastKey`,\n * without support for iteratee shorthands, which iterates over `collection`\n * using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the found element or its key, else `undefined`.\n */\n function baseFindKey(collection, predicate, eachFunc) {\n var result;\n eachFunc(collection, function(value, key, collection) {\n if (predicate(value, key, collection)) {\n result = key;\n return false;\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.findIndex` and `_.findLastIndex` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} predicate The function invoked per iteration.\n * @param {number} fromIndex The index to search from.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseFindIndex(array, predicate, fromIndex, fromRight) {\n var length = array.length,\n index = fromIndex + (fromRight ? 1 : -1);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (predicate(array[index], index, array)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.indexOf` without `fromIndex` bounds checks.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOf(array, value, fromIndex) {\n return value === value\n ? strictIndexOf(array, value, fromIndex)\n : baseFindIndex(array, baseIsNaN, fromIndex);\n }\n\n /**\n * This function is like `baseIndexOf` except that it accepts a comparator.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @param {Function} comparator The comparator invoked per element.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function baseIndexOfWith(array, value, fromIndex, comparator) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (comparator(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * The base implementation of `_.isNaN` without support for number objects.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n */\n function baseIsNaN(value) {\n return value !== value;\n }\n\n /**\n * The base implementation of `_.mean` and `_.meanBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the mean.\n */\n function baseMean(array, iteratee) {\n var length = array == null ? 0 : array.length;\n return length ? (baseSum(array, iteratee) / length) : NAN;\n }\n\n /**\n * The base implementation of `_.property` without support for deep paths.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function baseProperty(key) {\n return function(object) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.propertyOf` without support for deep paths.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyOf(object) {\n return function(key) {\n return object == null ? undefined : object[key];\n };\n }\n\n /**\n * The base implementation of `_.reduce` and `_.reduceRight`, without support\n * for iteratee shorthands, which iterates over `collection` using `eachFunc`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {*} accumulator The initial value.\n * @param {boolean} initAccum Specify using the first or last element of\n * `collection` as the initial value.\n * @param {Function} eachFunc The function to iterate over `collection`.\n * @returns {*} Returns the accumulated value.\n */\n function baseReduce(collection, iteratee, accumulator, initAccum, eachFunc) {\n eachFunc(collection, function(value, index, collection) {\n accumulator = initAccum\n ? (initAccum = false, value)\n : iteratee(accumulator, value, index, collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.sortBy` which uses `comparer` to define the\n * sort order of `array` and replaces criteria objects with their corresponding\n * values.\n *\n * @private\n * @param {Array} array The array to sort.\n * @param {Function} comparer The function to define sort order.\n * @returns {Array} Returns `array`.\n */\n function baseSortBy(array, comparer) {\n var length = array.length;\n\n array.sort(comparer);\n while (length--) {\n array[length] = array[length].value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.sum` and `_.sumBy` without support for\n * iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {number} Returns the sum.\n */\n function baseSum(array, iteratee) {\n var result,\n index = -1,\n length = array.length;\n\n while (++index < length) {\n var current = iteratee(array[index]);\n if (current !== undefined) {\n result = result === undefined ? current : (result + current);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.times` without support for iteratee shorthands\n * or max array length checks.\n *\n * @private\n * @param {number} n The number of times to invoke `iteratee`.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the array of results.\n */\n function baseTimes(n, iteratee) {\n var index = -1,\n result = Array(n);\n\n while (++index < n) {\n result[index] = iteratee(index);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toPairs` and `_.toPairsIn` which creates an array\n * of key-value pairs for `object` corresponding to the property names of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the key-value pairs.\n */\n function baseToPairs(object, props) {\n return arrayMap(props, function(key) {\n return [key, object[key]];\n });\n }\n\n /**\n * The base implementation of `_.trim`.\n *\n * @private\n * @param {string} string The string to trim.\n * @returns {string} Returns the trimmed string.\n */\n function baseTrim(string) {\n return string\n ? string.slice(0, trimmedEndIndex(string) + 1).replace(reTrimStart, '')\n : string;\n }\n\n /**\n * The base implementation of `_.unary` without support for storing metadata.\n *\n * @private\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n */\n function baseUnary(func) {\n return function(value) {\n return func(value);\n };\n }\n\n /**\n * The base implementation of `_.values` and `_.valuesIn` which creates an\n * array of `object` property values corresponding to the property names\n * of `props`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} props The property names to get values for.\n * @returns {Object} Returns the array of property values.\n */\n function baseValues(object, props) {\n return arrayMap(props, function(key) {\n return object[key];\n });\n }\n\n /**\n * Checks if a `cache` value for `key` exists.\n *\n * @private\n * @param {Object} cache The cache to query.\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function cacheHas(cache, key) {\n return cache.has(key);\n }\n\n /**\n * Used by `_.trim` and `_.trimStart` to get the index of the first string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the first unmatched string symbol.\n */\n function charsStartIndex(strSymbols, chrSymbols) {\n var index = -1,\n length = strSymbols.length;\n\n while (++index < length && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last string symbol\n * that is not found in the character symbols.\n *\n * @private\n * @param {Array} strSymbols The string symbols to inspect.\n * @param {Array} chrSymbols The character symbols to find.\n * @returns {number} Returns the index of the last unmatched string symbol.\n */\n function charsEndIndex(strSymbols, chrSymbols) {\n var index = strSymbols.length;\n\n while (index-- && baseIndexOf(chrSymbols, strSymbols[index], 0) > -1) {}\n return index;\n }\n\n /**\n * Gets the number of `placeholder` occurrences in `array`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} placeholder The placeholder to search for.\n * @returns {number} Returns the placeholder count.\n */\n function countHolders(array, placeholder) {\n var length = array.length,\n result = 0;\n\n while (length--) {\n if (array[length] === placeholder) {\n ++result;\n }\n }\n return result;\n }\n\n /**\n * Used by `_.deburr` to convert Latin-1 Supplement and Latin Extended-A\n * letters to basic Latin letters.\n *\n * @private\n * @param {string} letter The matched letter to deburr.\n * @returns {string} Returns the deburred letter.\n */\n var deburrLetter = basePropertyOf(deburredLetters);\n\n /**\n * Used by `_.escape` to convert characters to HTML entities.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n var escapeHtmlChar = basePropertyOf(htmlEscapes);\n\n /**\n * Used by `_.template` to escape characters for inclusion in compiled string literals.\n *\n * @private\n * @param {string} chr The matched character to escape.\n * @returns {string} Returns the escaped character.\n */\n function escapeStringChar(chr) {\n return '\\\\' + stringEscapes[chr];\n }\n\n /**\n * Gets the value at `key` of `object`.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function getValue(object, key) {\n return object == null ? undefined : object[key];\n }\n\n /**\n * Checks if `string` contains Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a symbol is found, else `false`.\n */\n function hasUnicode(string) {\n return reHasUnicode.test(string);\n }\n\n /**\n * Checks if `string` contains a word composed of Unicode symbols.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {boolean} Returns `true` if a word is found, else `false`.\n */\n function hasUnicodeWord(string) {\n return reHasUnicodeWord.test(string);\n }\n\n /**\n * Converts `iterator` to an array.\n *\n * @private\n * @param {Object} iterator The iterator to convert.\n * @returns {Array} Returns the converted array.\n */\n function iteratorToArray(iterator) {\n var data,\n result = [];\n\n while (!(data = iterator.next()).done) {\n result.push(data.value);\n }\n return result;\n }\n\n /**\n * Converts `map` to its key-value pairs.\n *\n * @private\n * @param {Object} map The map to convert.\n * @returns {Array} Returns the key-value pairs.\n */\n function mapToArray(map) {\n var index = -1,\n result = Array(map.size);\n\n map.forEach(function(value, key) {\n result[++index] = [key, value];\n });\n return result;\n }\n\n /**\n * Creates a unary function that invokes `func` with its argument transformed.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {Function} transform The argument transform.\n * @returns {Function} Returns the new function.\n */\n function overArg(func, transform) {\n return function(arg) {\n return func(transform(arg));\n };\n }\n\n /**\n * Replaces all `placeholder` elements in `array` with an internal placeholder\n * and returns an array of their indexes.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {*} placeholder The placeholder to replace.\n * @returns {Array} Returns the new array of placeholder indexes.\n */\n function replaceHolders(array, placeholder) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value === placeholder || value === PLACEHOLDER) {\n array[index] = PLACEHOLDER;\n result[resIndex++] = index;\n }\n }\n return result;\n }\n\n /**\n * Converts `set` to an array of its values.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the values.\n */\n function setToArray(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = value;\n });\n return result;\n }\n\n /**\n * Converts `set` to its value-value pairs.\n *\n * @private\n * @param {Object} set The set to convert.\n * @returns {Array} Returns the value-value pairs.\n */\n function setToPairs(set) {\n var index = -1,\n result = Array(set.size);\n\n set.forEach(function(value) {\n result[++index] = [value, value];\n });\n return result;\n }\n\n /**\n * A specialized version of `_.indexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictIndexOf(array, value, fromIndex) {\n var index = fromIndex - 1,\n length = array.length;\n\n while (++index < length) {\n if (array[index] === value) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * A specialized version of `_.lastIndexOf` which performs strict equality\n * comparisons of values, i.e. `===`.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} fromIndex The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function strictLastIndexOf(array, value, fromIndex) {\n var index = fromIndex + 1;\n while (index--) {\n if (array[index] === value) {\n return index;\n }\n }\n return index;\n }\n\n /**\n * Gets the number of symbols in `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the string size.\n */\n function stringSize(string) {\n return hasUnicode(string)\n ? unicodeSize(string)\n : asciiSize(string);\n }\n\n /**\n * Converts `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function stringToArray(string) {\n return hasUnicode(string)\n ? unicodeToArray(string)\n : asciiToArray(string);\n }\n\n /**\n * Used by `_.trim` and `_.trimEnd` to get the index of the last non-whitespace\n * character of `string`.\n *\n * @private\n * @param {string} string The string to inspect.\n * @returns {number} Returns the index of the last non-whitespace character.\n */\n function trimmedEndIndex(string) {\n var index = string.length;\n\n while (index-- && reWhitespace.test(string.charAt(index))) {}\n return index;\n }\n\n /**\n * Used by `_.unescape` to convert HTML entities to characters.\n *\n * @private\n * @param {string} chr The matched character to unescape.\n * @returns {string} Returns the unescaped character.\n */\n var unescapeHtmlChar = basePropertyOf(htmlUnescapes);\n\n /**\n * Gets the size of a Unicode `string`.\n *\n * @private\n * @param {string} string The string inspect.\n * @returns {number} Returns the string size.\n */\n function unicodeSize(string) {\n var result = reUnicode.lastIndex = 0;\n while (reUnicode.test(string)) {\n ++result;\n }\n return result;\n }\n\n /**\n * Converts a Unicode `string` to an array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the converted array.\n */\n function unicodeToArray(string) {\n return string.match(reUnicode) || [];\n }\n\n /**\n * Splits a Unicode `string` into an array of its words.\n *\n * @private\n * @param {string} The string to inspect.\n * @returns {Array} Returns the words of `string`.\n */\n function unicodeWords(string) {\n return string.match(reUnicodeWord) || [];\n }\n\n /*--------------------------------------------------------------------------*/\n\n /**\n * Create a new pristine `lodash` function using the `context` object.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Util\n * @param {Object} [context=root] The context object.\n * @returns {Function} Returns a new `lodash` function.\n * @example\n *\n * _.mixin({ 'foo': _.constant('foo') });\n *\n * var lodash = _.runInContext();\n * lodash.mixin({ 'bar': lodash.constant('bar') });\n *\n * _.isFunction(_.foo);\n * // => true\n * _.isFunction(_.bar);\n * // => false\n *\n * lodash.isFunction(lodash.foo);\n * // => false\n * lodash.isFunction(lodash.bar);\n * // => true\n *\n * // Create a suped-up `defer` in Node.js.\n * var defer = _.runInContext({ 'setTimeout': setImmediate }).defer;\n */\n var runInContext = (function runInContext(context) {\n context = context == null ? root : _.defaults(root.Object(), context, _.pick(root, contextProps));\n\n /** Built-in constructor references. */\n var Array = context.Array,\n Date = context.Date,\n Error = context.Error,\n Function = context.Function,\n Math = context.Math,\n Object = context.Object,\n RegExp = context.RegExp,\n String = context.String,\n TypeError = context.TypeError;\n\n /** Used for built-in method references. */\n var arrayProto = Array.prototype,\n funcProto = Function.prototype,\n objectProto = Object.prototype;\n\n /** Used to detect overreaching core-js shims. */\n var coreJsData = context['__core-js_shared__'];\n\n /** Used to resolve the decompiled source of functions. */\n var funcToString = funcProto.toString;\n\n /** Used to check objects for own properties. */\n var hasOwnProperty = objectProto.hasOwnProperty;\n\n /** Used to generate unique IDs. */\n var idCounter = 0;\n\n /** Used to detect methods masquerading as native. */\n var maskSrcKey = (function() {\n var uid = /[^.]+$/.exec(coreJsData && coreJsData.keys && coreJsData.keys.IE_PROTO || '');\n return uid ? ('Symbol(src)_1.' + uid) : '';\n }());\n\n /**\n * Used to resolve the\n * [`toStringTag`](http://ecma-international.org/ecma-262/7.0/#sec-object.prototype.tostring)\n * of values.\n */\n var nativeObjectToString = objectProto.toString;\n\n /** Used to infer the `Object` constructor. */\n var objectCtorString = funcToString.call(Object);\n\n /** Used to restore the original `_` reference in `_.noConflict`. */\n var oldDash = root._;\n\n /** Used to detect if a method is native. */\n var reIsNative = RegExp('^' +\n funcToString.call(hasOwnProperty).replace(reRegExpChar, '\\\\$&')\n .replace(/hasOwnProperty|(function).*?(?=\\\\\\()| for .+?(?=\\\\\\])/g, '$1.*?') + '$'\n );\n\n /** Built-in value references. */\n var Buffer = moduleExports ? context.Buffer : undefined,\n Symbol = context.Symbol,\n Uint8Array = context.Uint8Array,\n allocUnsafe = Buffer ? Buffer.allocUnsafe : undefined,\n getPrototype = overArg(Object.getPrototypeOf, Object),\n objectCreate = Object.create,\n propertyIsEnumerable = objectProto.propertyIsEnumerable,\n splice = arrayProto.splice,\n spreadableSymbol = Symbol ? Symbol.isConcatSpreadable : undefined,\n symIterator = Symbol ? Symbol.iterator : undefined,\n symToStringTag = Symbol ? Symbol.toStringTag : undefined;\n\n var defineProperty = (function() {\n try {\n var func = getNative(Object, 'defineProperty');\n func({}, '', {});\n return func;\n } catch (e) {}\n }());\n\n /** Mocked built-ins. */\n var ctxClearTimeout = context.clearTimeout !== root.clearTimeout && context.clearTimeout,\n ctxNow = Date && Date.now !== root.Date.now && Date.now,\n ctxSetTimeout = context.setTimeout !== root.setTimeout && context.setTimeout;\n\n /* Built-in method references for those with the same name as other `lodash` methods. */\n var nativeCeil = Math.ceil,\n nativeFloor = Math.floor,\n nativeGetSymbols = Object.getOwnPropertySymbols,\n nativeIsBuffer = Buffer ? Buffer.isBuffer : undefined,\n nativeIsFinite = context.isFinite,\n nativeJoin = arrayProto.join,\n nativeKeys = overArg(Object.keys, Object),\n nativeMax = Math.max,\n nativeMin = Math.min,\n nativeNow = Date.now,\n nativeParseInt = context.parseInt,\n nativeRandom = Math.random,\n nativeReverse = arrayProto.reverse;\n\n /* Built-in method references that are verified to be native. */\n var DataView = getNative(context, 'DataView'),\n Map = getNative(context, 'Map'),\n Promise = getNative(context, 'Promise'),\n Set = getNative(context, 'Set'),\n WeakMap = getNative(context, 'WeakMap'),\n nativeCreate = getNative(Object, 'create');\n\n /** Used to store function metadata. */\n var metaMap = WeakMap && new WeakMap;\n\n /** Used to lookup unminified function names. */\n var realNames = {};\n\n /** Used to detect maps, sets, and weakmaps. */\n var dataViewCtorString = toSource(DataView),\n mapCtorString = toSource(Map),\n promiseCtorString = toSource(Promise),\n setCtorString = toSource(Set),\n weakMapCtorString = toSource(WeakMap);\n\n /** Used to convert symbols to primitives and strings. */\n var symbolProto = Symbol ? Symbol.prototype : undefined,\n symbolValueOf = symbolProto ? symbolProto.valueOf : undefined,\n symbolToString = symbolProto ? symbolProto.toString : undefined;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` object which wraps `value` to enable implicit method\n * chain sequences. Methods that operate on and return arrays, collections,\n * and functions can be chained together. Methods that retrieve a single value\n * or may return a primitive value will automatically end the chain sequence\n * and return the unwrapped value. Otherwise, the value must be unwrapped\n * with `_#value`.\n *\n * Explicit chain sequences, which must be unwrapped with `_#value`, may be\n * enabled using `_.chain`.\n *\n * The execution of chained methods is lazy, that is, it's deferred until\n * `_#value` is implicitly or explicitly called.\n *\n * Lazy evaluation allows several methods to support shortcut fusion.\n * Shortcut fusion is an optimization to merge iteratee calls; this avoids\n * the creation of intermediate arrays and can greatly reduce the number of\n * iteratee executions. Sections of a chain sequence qualify for shortcut\n * fusion if the section is applied to an array and iteratees accept only\n * one argument. The heuristic for whether a section qualifies for shortcut\n * fusion is subject to change.\n *\n * Chaining is supported in custom builds as long as the `_#value` method is\n * directly or indirectly included in the build.\n *\n * In addition to lodash methods, wrappers have `Array` and `String` methods.\n *\n * The wrapper `Array` methods are:\n * `concat`, `join`, `pop`, `push`, `shift`, `sort`, `splice`, and `unshift`\n *\n * The wrapper `String` methods are:\n * `replace` and `split`\n *\n * The wrapper methods that support shortcut fusion are:\n * `at`, `compact`, `drop`, `dropRight`, `dropWhile`, `filter`, `find`,\n * `findLast`, `head`, `initial`, `last`, `map`, `reject`, `reverse`, `slice`,\n * `tail`, `take`, `takeRight`, `takeRightWhile`, `takeWhile`, and `toArray`\n *\n * The chainable wrapper methods are:\n * `after`, `ary`, `assign`, `assignIn`, `assignInWith`, `assignWith`, `at`,\n * `before`, `bind`, `bindAll`, `bindKey`, `castArray`, `chain`, `chunk`,\n * `commit`, `compact`, `concat`, `conforms`, `constant`, `countBy`, `create`,\n * `curry`, `debounce`, `defaults`, `defaultsDeep`, `defer`, `delay`,\n * `difference`, `differenceBy`, `differenceWith`, `drop`, `dropRight`,\n * `dropRightWhile`, `dropWhile`, `extend`, `extendWith`, `fill`, `filter`,\n * `flatMap`, `flatMapDeep`, `flatMapDepth`, `flatten`, `flattenDeep`,\n * `flattenDepth`, `flip`, `flow`, `flowRight`, `fromPairs`, `functions`,\n * `functionsIn`, `groupBy`, `initial`, `intersection`, `intersectionBy`,\n * `intersectionWith`, `invert`, `invertBy`, `invokeMap`, `iteratee`, `keyBy`,\n * `keys`, `keysIn`, `map`, `mapKeys`, `mapValues`, `matches`, `matchesProperty`,\n * `memoize`, `merge`, `mergeWith`, `method`, `methodOf`, `mixin`, `negate`,\n * `nthArg`, `omit`, `omitBy`, `once`, `orderBy`, `over`, `overArgs`,\n * `overEvery`, `overSome`, `partial`, `partialRight`, `partition`, `pick`,\n * `pickBy`, `plant`, `property`, `propertyOf`, `pull`, `pullAll`, `pullAllBy`,\n * `pullAllWith`, `pullAt`, `push`, `range`, `rangeRight`, `rearg`, `reject`,\n * `remove`, `rest`, `reverse`, `sampleSize`, `set`, `setWith`, `shuffle`,\n * `slice`, `sort`, `sortBy`, `splice`, `spread`, `tail`, `take`, `takeRight`,\n * `takeRightWhile`, `takeWhile`, `tap`, `throttle`, `thru`, `toArray`,\n * `toPairs`, `toPairsIn`, `toPath`, `toPlainObject`, `transform`, `unary`,\n * `union`, `unionBy`, `unionWith`, `uniq`, `uniqBy`, `uniqWith`, `unset`,\n * `unshift`, `unzip`, `unzipWith`, `update`, `updateWith`, `values`,\n * `valuesIn`, `without`, `wrap`, `xor`, `xorBy`, `xorWith`, `zip`,\n * `zipObject`, `zipObjectDeep`, and `zipWith`\n *\n * The wrapper methods that are **not** chainable by default are:\n * `add`, `attempt`, `camelCase`, `capitalize`, `ceil`, `clamp`, `clone`,\n * `cloneDeep`, `cloneDeepWith`, `cloneWith`, `conformsTo`, `deburr`,\n * `defaultTo`, `divide`, `each`, `eachRight`, `endsWith`, `eq`, `escape`,\n * `escapeRegExp`, `every`, `find`, `findIndex`, `findKey`, `findLast`,\n * `findLastIndex`, `findLastKey`, `first`, `floor`, `forEach`, `forEachRight`,\n * `forIn`, `forInRight`, `forOwn`, `forOwnRight`, `get`, `gt`, `gte`, `has`,\n * `hasIn`, `head`, `identity`, `includes`, `indexOf`, `inRange`, `invoke`,\n * `isArguments`, `isArray`, `isArrayBuffer`, `isArrayLike`, `isArrayLikeObject`,\n * `isBoolean`, `isBuffer`, `isDate`, `isElement`, `isEmpty`, `isEqual`,\n * `isEqualWith`, `isError`, `isFinite`, `isFunction`, `isInteger`, `isLength`,\n * `isMap`, `isMatch`, `isMatchWith`, `isNaN`, `isNative`, `isNil`, `isNull`,\n * `isNumber`, `isObject`, `isObjectLike`, `isPlainObject`, `isRegExp`,\n * `isSafeInteger`, `isSet`, `isString`, `isUndefined`, `isTypedArray`,\n * `isWeakMap`, `isWeakSet`, `join`, `kebabCase`, `last`, `lastIndexOf`,\n * `lowerCase`, `lowerFirst`, `lt`, `lte`, `max`, `maxBy`, `mean`, `meanBy`,\n * `min`, `minBy`, `multiply`, `noConflict`, `noop`, `now`, `nth`, `pad`,\n * `padEnd`, `padStart`, `parseInt`, `pop`, `random`, `reduce`, `reduceRight`,\n * `repeat`, `result`, `round`, `runInContext`, `sample`, `shift`, `size`,\n * `snakeCase`, `some`, `sortedIndex`, `sortedIndexBy`, `sortedLastIndex`,\n * `sortedLastIndexBy`, `startCase`, `startsWith`, `stubArray`, `stubFalse`,\n * `stubObject`, `stubString`, `stubTrue`, `subtract`, `sum`, `sumBy`,\n * `template`, `times`, `toFinite`, `toInteger`, `toJSON`, `toLength`,\n * `toLower`, `toNumber`, `toSafeInteger`, `toString`, `toUpper`, `trim`,\n * `trimEnd`, `trimStart`, `truncate`, `unescape`, `uniqueId`, `upperCase`,\n * `upperFirst`, `value`, and `words`\n *\n * @name _\n * @constructor\n * @category Seq\n * @param {*} value The value to wrap in a `lodash` instance.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2, 3]);\n *\n * // Returns an unwrapped value.\n * wrapped.reduce(_.add);\n * // => 6\n *\n * // Returns a wrapped value.\n * var squares = wrapped.map(square);\n *\n * _.isArray(squares);\n * // => false\n *\n * _.isArray(squares.value());\n * // => true\n */\n function lodash(value) {\n if (isObjectLike(value) && !isArray(value) && !(value instanceof LazyWrapper)) {\n if (value instanceof LodashWrapper) {\n return value;\n }\n if (hasOwnProperty.call(value, '__wrapped__')) {\n return wrapperClone(value);\n }\n }\n return new LodashWrapper(value);\n }\n\n /**\n * The base implementation of `_.create` without support for assigning\n * properties to the created object.\n *\n * @private\n * @param {Object} proto The object to inherit from.\n * @returns {Object} Returns the new object.\n */\n var baseCreate = (function() {\n function object() {}\n return function(proto) {\n if (!isObject(proto)) {\n return {};\n }\n if (objectCreate) {\n return objectCreate(proto);\n }\n object.prototype = proto;\n var result = new object;\n object.prototype = undefined;\n return result;\n };\n }());\n\n /**\n * The function whose prototype chain sequence wrappers inherit from.\n *\n * @private\n */\n function baseLodash() {\n // No operation performed.\n }\n\n /**\n * The base constructor for creating `lodash` wrapper objects.\n *\n * @private\n * @param {*} value The value to wrap.\n * @param {boolean} [chainAll] Enable explicit method chain sequences.\n */\n function LodashWrapper(value, chainAll) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__chain__ = !!chainAll;\n this.__index__ = 0;\n this.__values__ = undefined;\n }\n\n /**\n * By default, the template delimiters used by lodash are like those in\n * embedded Ruby (ERB) as well as ES2015 template strings. Change the\n * following template settings to use alternative delimiters.\n *\n * @static\n * @memberOf _\n * @type {Object}\n */\n lodash.templateSettings = {\n\n /**\n * Used to detect `data` property values to be HTML-escaped.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'escape': reEscape,\n\n /**\n * Used to detect code to be evaluated.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'evaluate': reEvaluate,\n\n /**\n * Used to detect `data` property values to inject.\n *\n * @memberOf _.templateSettings\n * @type {RegExp}\n */\n 'interpolate': reInterpolate,\n\n /**\n * Used to reference the data object in the template text.\n *\n * @memberOf _.templateSettings\n * @type {string}\n */\n 'variable': '',\n\n /**\n * Used to import variables into the compiled template.\n *\n * @memberOf _.templateSettings\n * @type {Object}\n */\n 'imports': {\n\n /**\n * A reference to the `lodash` function.\n *\n * @memberOf _.templateSettings.imports\n * @type {Function}\n */\n '_': lodash\n }\n };\n\n // Ensure wrappers are instances of `baseLodash`.\n lodash.prototype = baseLodash.prototype;\n lodash.prototype.constructor = lodash;\n\n LodashWrapper.prototype = baseCreate(baseLodash.prototype);\n LodashWrapper.prototype.constructor = LodashWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a lazy wrapper object which wraps `value` to enable lazy evaluation.\n *\n * @private\n * @constructor\n * @param {*} value The value to wrap.\n */\n function LazyWrapper(value) {\n this.__wrapped__ = value;\n this.__actions__ = [];\n this.__dir__ = 1;\n this.__filtered__ = false;\n this.__iteratees__ = [];\n this.__takeCount__ = MAX_ARRAY_LENGTH;\n this.__views__ = [];\n }\n\n /**\n * Creates a clone of the lazy wrapper object.\n *\n * @private\n * @name clone\n * @memberOf LazyWrapper\n * @returns {Object} Returns the cloned `LazyWrapper` object.\n */\n function lazyClone() {\n var result = new LazyWrapper(this.__wrapped__);\n result.__actions__ = copyArray(this.__actions__);\n result.__dir__ = this.__dir__;\n result.__filtered__ = this.__filtered__;\n result.__iteratees__ = copyArray(this.__iteratees__);\n result.__takeCount__ = this.__takeCount__;\n result.__views__ = copyArray(this.__views__);\n return result;\n }\n\n /**\n * Reverses the direction of lazy iteration.\n *\n * @private\n * @name reverse\n * @memberOf LazyWrapper\n * @returns {Object} Returns the new reversed `LazyWrapper` object.\n */\n function lazyReverse() {\n if (this.__filtered__) {\n var result = new LazyWrapper(this);\n result.__dir__ = -1;\n result.__filtered__ = true;\n } else {\n result = this.clone();\n result.__dir__ *= -1;\n }\n return result;\n }\n\n /**\n * Extracts the unwrapped value from its lazy wrapper.\n *\n * @private\n * @name value\n * @memberOf LazyWrapper\n * @returns {*} Returns the unwrapped value.\n */\n function lazyValue() {\n var array = this.__wrapped__.value(),\n dir = this.__dir__,\n isArr = isArray(array),\n isRight = dir < 0,\n arrLength = isArr ? array.length : 0,\n view = getView(0, arrLength, this.__views__),\n start = view.start,\n end = view.end,\n length = end - start,\n index = isRight ? end : (start - 1),\n iteratees = this.__iteratees__,\n iterLength = iteratees.length,\n resIndex = 0,\n takeCount = nativeMin(length, this.__takeCount__);\n\n if (!isArr || (!isRight && arrLength == length && takeCount == length)) {\n return baseWrapperValue(array, this.__actions__);\n }\n var result = [];\n\n outer:\n while (length-- && resIndex < takeCount) {\n index += dir;\n\n var iterIndex = -1,\n value = array[index];\n\n while (++iterIndex < iterLength) {\n var data = iteratees[iterIndex],\n iteratee = data.iteratee,\n type = data.type,\n computed = iteratee(value);\n\n if (type == LAZY_MAP_FLAG) {\n value = computed;\n } else if (!computed) {\n if (type == LAZY_FILTER_FLAG) {\n continue outer;\n } else {\n break outer;\n }\n }\n }\n result[resIndex++] = value;\n }\n return result;\n }\n\n // Ensure `LazyWrapper` is an instance of `baseLodash`.\n LazyWrapper.prototype = baseCreate(baseLodash.prototype);\n LazyWrapper.prototype.constructor = LazyWrapper;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a hash object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Hash(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the hash.\n *\n * @private\n * @name clear\n * @memberOf Hash\n */\n function hashClear() {\n this.__data__ = nativeCreate ? nativeCreate(null) : {};\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the hash.\n *\n * @private\n * @name delete\n * @memberOf Hash\n * @param {Object} hash The hash to modify.\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function hashDelete(key) {\n var result = this.has(key) && delete this.__data__[key];\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the hash value for `key`.\n *\n * @private\n * @name get\n * @memberOf Hash\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function hashGet(key) {\n var data = this.__data__;\n if (nativeCreate) {\n var result = data[key];\n return result === HASH_UNDEFINED ? undefined : result;\n }\n return hasOwnProperty.call(data, key) ? data[key] : undefined;\n }\n\n /**\n * Checks if a hash value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Hash\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function hashHas(key) {\n var data = this.__data__;\n return nativeCreate ? (data[key] !== undefined) : hasOwnProperty.call(data, key);\n }\n\n /**\n * Sets the hash `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Hash\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the hash instance.\n */\n function hashSet(key, value) {\n var data = this.__data__;\n this.size += this.has(key) ? 0 : 1;\n data[key] = (nativeCreate && value === undefined) ? HASH_UNDEFINED : value;\n return this;\n }\n\n // Add methods to `Hash`.\n Hash.prototype.clear = hashClear;\n Hash.prototype['delete'] = hashDelete;\n Hash.prototype.get = hashGet;\n Hash.prototype.has = hashHas;\n Hash.prototype.set = hashSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an list cache object.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function ListCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the list cache.\n *\n * @private\n * @name clear\n * @memberOf ListCache\n */\n function listCacheClear() {\n this.__data__ = [];\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the list cache.\n *\n * @private\n * @name delete\n * @memberOf ListCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function listCacheDelete(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n return false;\n }\n var lastIndex = data.length - 1;\n if (index == lastIndex) {\n data.pop();\n } else {\n splice.call(data, index, 1);\n }\n --this.size;\n return true;\n }\n\n /**\n * Gets the list cache value for `key`.\n *\n * @private\n * @name get\n * @memberOf ListCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function listCacheGet(key) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n return index < 0 ? undefined : data[index][1];\n }\n\n /**\n * Checks if a list cache value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf ListCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function listCacheHas(key) {\n return assocIndexOf(this.__data__, key) > -1;\n }\n\n /**\n * Sets the list cache `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf ListCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the list cache instance.\n */\n function listCacheSet(key, value) {\n var data = this.__data__,\n index = assocIndexOf(data, key);\n\n if (index < 0) {\n ++this.size;\n data.push([key, value]);\n } else {\n data[index][1] = value;\n }\n return this;\n }\n\n // Add methods to `ListCache`.\n ListCache.prototype.clear = listCacheClear;\n ListCache.prototype['delete'] = listCacheDelete;\n ListCache.prototype.get = listCacheGet;\n ListCache.prototype.has = listCacheHas;\n ListCache.prototype.set = listCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a map cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function MapCache(entries) {\n var index = -1,\n length = entries == null ? 0 : entries.length;\n\n this.clear();\n while (++index < length) {\n var entry = entries[index];\n this.set(entry[0], entry[1]);\n }\n }\n\n /**\n * Removes all key-value entries from the map.\n *\n * @private\n * @name clear\n * @memberOf MapCache\n */\n function mapCacheClear() {\n this.size = 0;\n this.__data__ = {\n 'hash': new Hash,\n 'map': new (Map || ListCache),\n 'string': new Hash\n };\n }\n\n /**\n * Removes `key` and its value from the map.\n *\n * @private\n * @name delete\n * @memberOf MapCache\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function mapCacheDelete(key) {\n var result = getMapData(this, key)['delete'](key);\n this.size -= result ? 1 : 0;\n return result;\n }\n\n /**\n * Gets the map value for `key`.\n *\n * @private\n * @name get\n * @memberOf MapCache\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function mapCacheGet(key) {\n return getMapData(this, key).get(key);\n }\n\n /**\n * Checks if a map value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf MapCache\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function mapCacheHas(key) {\n return getMapData(this, key).has(key);\n }\n\n /**\n * Sets the map `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf MapCache\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the map cache instance.\n */\n function mapCacheSet(key, value) {\n var data = getMapData(this, key),\n size = data.size;\n\n data.set(key, value);\n this.size += data.size == size ? 0 : 1;\n return this;\n }\n\n // Add methods to `MapCache`.\n MapCache.prototype.clear = mapCacheClear;\n MapCache.prototype['delete'] = mapCacheDelete;\n MapCache.prototype.get = mapCacheGet;\n MapCache.prototype.has = mapCacheHas;\n MapCache.prototype.set = mapCacheSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n *\n * Creates an array cache object to store unique values.\n *\n * @private\n * @constructor\n * @param {Array} [values] The values to cache.\n */\n function SetCache(values) {\n var index = -1,\n length = values == null ? 0 : values.length;\n\n this.__data__ = new MapCache;\n while (++index < length) {\n this.add(values[index]);\n }\n }\n\n /**\n * Adds `value` to the array cache.\n *\n * @private\n * @name add\n * @memberOf SetCache\n * @alias push\n * @param {*} value The value to cache.\n * @returns {Object} Returns the cache instance.\n */\n function setCacheAdd(value) {\n this.__data__.set(value, HASH_UNDEFINED);\n return this;\n }\n\n /**\n * Checks if `value` is in the array cache.\n *\n * @private\n * @name has\n * @memberOf SetCache\n * @param {*} value The value to search for.\n * @returns {number} Returns `true` if `value` is found, else `false`.\n */\n function setCacheHas(value) {\n return this.__data__.has(value);\n }\n\n // Add methods to `SetCache`.\n SetCache.prototype.add = SetCache.prototype.push = setCacheAdd;\n SetCache.prototype.has = setCacheHas;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a stack cache object to store key-value pairs.\n *\n * @private\n * @constructor\n * @param {Array} [entries] The key-value pairs to cache.\n */\n function Stack(entries) {\n var data = this.__data__ = new ListCache(entries);\n this.size = data.size;\n }\n\n /**\n * Removes all key-value entries from the stack.\n *\n * @private\n * @name clear\n * @memberOf Stack\n */\n function stackClear() {\n this.__data__ = new ListCache;\n this.size = 0;\n }\n\n /**\n * Removes `key` and its value from the stack.\n *\n * @private\n * @name delete\n * @memberOf Stack\n * @param {string} key The key of the value to remove.\n * @returns {boolean} Returns `true` if the entry was removed, else `false`.\n */\n function stackDelete(key) {\n var data = this.__data__,\n result = data['delete'](key);\n\n this.size = data.size;\n return result;\n }\n\n /**\n * Gets the stack value for `key`.\n *\n * @private\n * @name get\n * @memberOf Stack\n * @param {string} key The key of the value to get.\n * @returns {*} Returns the entry value.\n */\n function stackGet(key) {\n return this.__data__.get(key);\n }\n\n /**\n * Checks if a stack value for `key` exists.\n *\n * @private\n * @name has\n * @memberOf Stack\n * @param {string} key The key of the entry to check.\n * @returns {boolean} Returns `true` if an entry for `key` exists, else `false`.\n */\n function stackHas(key) {\n return this.__data__.has(key);\n }\n\n /**\n * Sets the stack `key` to `value`.\n *\n * @private\n * @name set\n * @memberOf Stack\n * @param {string} key The key of the value to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns the stack cache instance.\n */\n function stackSet(key, value) {\n var data = this.__data__;\n if (data instanceof ListCache) {\n var pairs = data.__data__;\n if (!Map || (pairs.length < LARGE_ARRAY_SIZE - 1)) {\n pairs.push([key, value]);\n this.size = ++data.size;\n return this;\n }\n data = this.__data__ = new MapCache(pairs);\n }\n data.set(key, value);\n this.size = data.size;\n return this;\n }\n\n // Add methods to `Stack`.\n Stack.prototype.clear = stackClear;\n Stack.prototype['delete'] = stackDelete;\n Stack.prototype.get = stackGet;\n Stack.prototype.has = stackHas;\n Stack.prototype.set = stackSet;\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of the enumerable property names of the array-like `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @param {boolean} inherited Specify returning inherited property names.\n * @returns {Array} Returns the array of property names.\n */\n function arrayLikeKeys(value, inherited) {\n var isArr = isArray(value),\n isArg = !isArr && isArguments(value),\n isBuff = !isArr && !isArg && isBuffer(value),\n isType = !isArr && !isArg && !isBuff && isTypedArray(value),\n skipIndexes = isArr || isArg || isBuff || isType,\n result = skipIndexes ? baseTimes(value.length, String) : [],\n length = result.length;\n\n for (var key in value) {\n if ((inherited || hasOwnProperty.call(value, key)) &&\n !(skipIndexes && (\n // Safari 9 has enumerable `arguments.length` in strict mode.\n key == 'length' ||\n // Node.js 0.10 has enumerable non-index properties on buffers.\n (isBuff && (key == 'offset' || key == 'parent')) ||\n // PhantomJS 2 has enumerable non-index properties on typed arrays.\n (isType && (key == 'buffer' || key == 'byteLength' || key == 'byteOffset')) ||\n // Skip index properties.\n isIndex(key, length)\n ))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `_.sample` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @returns {*} Returns the random element.\n */\n function arraySample(array) {\n var length = array.length;\n return length ? array[baseRandom(0, length - 1)] : undefined;\n }\n\n /**\n * A specialized version of `_.sampleSize` for arrays.\n *\n * @private\n * @param {Array} array The array to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function arraySampleSize(array, n) {\n return shuffleSelf(copyArray(array), baseClamp(n, 0, array.length));\n }\n\n /**\n * A specialized version of `_.shuffle` for arrays.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function arrayShuffle(array) {\n return shuffleSelf(copyArray(array));\n }\n\n /**\n * This function is like `assignValue` except that it doesn't assign\n * `undefined` values.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignMergeValue(object, key, value) {\n if ((value !== undefined && !eq(object[key], value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Assigns `value` to `key` of `object` if the existing value is not equivalent\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function assignValue(object, key, value) {\n var objValue = object[key];\n if (!(hasOwnProperty.call(object, key) && eq(objValue, value)) ||\n (value === undefined && !(key in object))) {\n baseAssignValue(object, key, value);\n }\n }\n\n /**\n * Gets the index at which the `key` is found in `array` of key-value pairs.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {*} key The key to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n */\n function assocIndexOf(array, key) {\n var length = array.length;\n while (length--) {\n if (eq(array[length][0], key)) {\n return length;\n }\n }\n return -1;\n }\n\n /**\n * Aggregates elements of `collection` on `accumulator` with keys transformed\n * by `iteratee` and values set by `setter`.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform keys.\n * @param {Object} accumulator The initial aggregated object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseAggregator(collection, setter, iteratee, accumulator) {\n baseEach(collection, function(value, key, collection) {\n setter(accumulator, value, iteratee(value), collection);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.assign` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssign(object, source) {\n return object && copyObject(source, keys(source), object);\n }\n\n /**\n * The base implementation of `_.assignIn` without support for multiple sources\n * or `customizer` functions.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @returns {Object} Returns `object`.\n */\n function baseAssignIn(object, source) {\n return object && copyObject(source, keysIn(source), object);\n }\n\n /**\n * The base implementation of `assignValue` and `assignMergeValue` without\n * value checks.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {string} key The key of the property to assign.\n * @param {*} value The value to assign.\n */\n function baseAssignValue(object, key, value) {\n if (key == '__proto__' && defineProperty) {\n defineProperty(object, key, {\n 'configurable': true,\n 'enumerable': true,\n 'value': value,\n 'writable': true\n });\n } else {\n object[key] = value;\n }\n }\n\n /**\n * The base implementation of `_.at` without support for individual paths.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {string[]} paths The property paths to pick.\n * @returns {Array} Returns the picked elements.\n */\n function baseAt(object, paths) {\n var index = -1,\n length = paths.length,\n result = Array(length),\n skip = object == null;\n\n while (++index < length) {\n result[index] = skip ? undefined : get(object, paths[index]);\n }\n return result;\n }\n\n /**\n * The base implementation of `_.clamp` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n */\n function baseClamp(number, lower, upper) {\n if (number === number) {\n if (upper !== undefined) {\n number = number <= upper ? number : upper;\n }\n if (lower !== undefined) {\n number = number >= lower ? number : lower;\n }\n }\n return number;\n }\n\n /**\n * The base implementation of `_.clone` and `_.cloneDeep` which tracks\n * traversed objects.\n *\n * @private\n * @param {*} value The value to clone.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Deep clone\n * 2 - Flatten inherited properties\n * 4 - Clone symbols\n * @param {Function} [customizer] The function to customize cloning.\n * @param {string} [key] The key of `value`.\n * @param {Object} [object] The parent object of `value`.\n * @param {Object} [stack] Tracks traversed objects and their clone counterparts.\n * @returns {*} Returns the cloned value.\n */\n function baseClone(value, bitmask, customizer, key, object, stack) {\n var result,\n isDeep = bitmask & CLONE_DEEP_FLAG,\n isFlat = bitmask & CLONE_FLAT_FLAG,\n isFull = bitmask & CLONE_SYMBOLS_FLAG;\n\n if (customizer) {\n result = object ? customizer(value, key, object, stack) : customizer(value);\n }\n if (result !== undefined) {\n return result;\n }\n if (!isObject(value)) {\n return value;\n }\n var isArr = isArray(value);\n if (isArr) {\n result = initCloneArray(value);\n if (!isDeep) {\n return copyArray(value, result);\n }\n } else {\n var tag = getTag(value),\n isFunc = tag == funcTag || tag == genTag;\n\n if (isBuffer(value)) {\n return cloneBuffer(value, isDeep);\n }\n if (tag == objectTag || tag == argsTag || (isFunc && !object)) {\n result = (isFlat || isFunc) ? {} : initCloneObject(value);\n if (!isDeep) {\n return isFlat\n ? copySymbolsIn(value, baseAssignIn(result, value))\n : copySymbols(value, baseAssign(result, value));\n }\n } else {\n if (!cloneableTags[tag]) {\n return object ? value : {};\n }\n result = initCloneByTag(value, tag, isDeep);\n }\n }\n // Check for circular references and return its corresponding clone.\n stack || (stack = new Stack);\n var stacked = stack.get(value);\n if (stacked) {\n return stacked;\n }\n stack.set(value, result);\n\n if (isSet(value)) {\n value.forEach(function(subValue) {\n result.add(baseClone(subValue, bitmask, customizer, subValue, value, stack));\n });\n } else if (isMap(value)) {\n value.forEach(function(subValue, key) {\n result.set(key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n }\n\n var keysFunc = isFull\n ? (isFlat ? getAllKeysIn : getAllKeys)\n : (isFlat ? keysIn : keys);\n\n var props = isArr ? undefined : keysFunc(value);\n arrayEach(props || value, function(subValue, key) {\n if (props) {\n key = subValue;\n subValue = value[key];\n }\n // Recursively populate clone (susceptible to call stack limits).\n assignValue(result, key, baseClone(subValue, bitmask, customizer, key, value, stack));\n });\n return result;\n }\n\n /**\n * The base implementation of `_.conforms` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property predicates to conform to.\n * @returns {Function} Returns the new spec function.\n */\n function baseConforms(source) {\n var props = keys(source);\n return function(object) {\n return baseConformsTo(object, source, props);\n };\n }\n\n /**\n * The base implementation of `_.conformsTo` which accepts `props` to check.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n */\n function baseConformsTo(object, source, props) {\n var length = props.length;\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (length--) {\n var key = props[length],\n predicate = source[key],\n value = object[key];\n\n if ((value === undefined && !(key in object)) || !predicate(value)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.delay` and `_.defer` which accepts `args`\n * to provide to `func`.\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {Array} args The arguments to provide to `func`.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n function baseDelay(func, wait, args) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return setTimeout(function() { func.apply(undefined, args); }, wait);\n }\n\n /**\n * The base implementation of methods like `_.difference` without support\n * for excluding multiple arrays or iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Array} values The values to exclude.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n */\n function baseDifference(array, values, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n isCommon = true,\n length = array.length,\n result = [],\n valuesLength = values.length;\n\n if (!length) {\n return result;\n }\n if (iteratee) {\n values = arrayMap(values, baseUnary(iteratee));\n }\n if (comparator) {\n includes = arrayIncludesWith;\n isCommon = false;\n }\n else if (values.length >= LARGE_ARRAY_SIZE) {\n includes = cacheHas;\n isCommon = false;\n values = new SetCache(values);\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee == null ? value : iteratee(value);\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var valuesIndex = valuesLength;\n while (valuesIndex--) {\n if (values[valuesIndex] === computed) {\n continue outer;\n }\n }\n result.push(value);\n }\n else if (!includes(values, computed, comparator)) {\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.forEach` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEach = createBaseEach(baseForOwn);\n\n /**\n * The base implementation of `_.forEachRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n */\n var baseEachRight = createBaseEach(baseForOwnRight, true);\n\n /**\n * The base implementation of `_.every` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`\n */\n function baseEvery(collection, predicate) {\n var result = true;\n baseEach(collection, function(value, index, collection) {\n result = !!predicate(value, index, collection);\n return result;\n });\n return result;\n }\n\n /**\n * The base implementation of methods like `_.max` and `_.min` which accepts a\n * `comparator` to determine the extremum value.\n *\n * @private\n * @param {Array} array The array to iterate over.\n * @param {Function} iteratee The iteratee invoked per iteration.\n * @param {Function} comparator The comparator used to compare values.\n * @returns {*} Returns the extremum value.\n */\n function baseExtremum(array, iteratee, comparator) {\n var index = -1,\n length = array.length;\n\n while (++index < length) {\n var value = array[index],\n current = iteratee(value);\n\n if (current != null && (computed === undefined\n ? (current === current && !isSymbol(current))\n : comparator(current, computed)\n )) {\n var computed = current,\n result = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.fill` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n */\n function baseFill(array, value, start, end) {\n var length = array.length;\n\n start = toInteger(start);\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = (end === undefined || end > length) ? length : toInteger(end);\n if (end < 0) {\n end += length;\n }\n end = start > end ? 0 : toLength(end);\n while (start < end) {\n array[start++] = value;\n }\n return array;\n }\n\n /**\n * The base implementation of `_.filter` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n */\n function baseFilter(collection, predicate) {\n var result = [];\n baseEach(collection, function(value, index, collection) {\n if (predicate(value, index, collection)) {\n result.push(value);\n }\n });\n return result;\n }\n\n /**\n * The base implementation of `_.flatten` with support for restricting flattening.\n *\n * @private\n * @param {Array} array The array to flatten.\n * @param {number} depth The maximum recursion depth.\n * @param {boolean} [predicate=isFlattenable] The function invoked per iteration.\n * @param {boolean} [isStrict] Restrict to values that pass `predicate` checks.\n * @param {Array} [result=[]] The initial result value.\n * @returns {Array} Returns the new flattened array.\n */\n function baseFlatten(array, depth, predicate, isStrict, result) {\n var index = -1,\n length = array.length;\n\n predicate || (predicate = isFlattenable);\n result || (result = []);\n\n while (++index < length) {\n var value = array[index];\n if (depth > 0 && predicate(value)) {\n if (depth > 1) {\n // Recursively flatten arrays (susceptible to call stack limits).\n baseFlatten(value, depth - 1, predicate, isStrict, result);\n } else {\n arrayPush(result, value);\n }\n } else if (!isStrict) {\n result[result.length] = value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `baseForOwn` which iterates over `object`\n * properties returned by `keysFunc` and invokes `iteratee` for each property.\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseFor = createBaseFor();\n\n /**\n * This function is like `baseFor` except that it iterates over properties\n * in the opposite order.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @returns {Object} Returns `object`.\n */\n var baseForRight = createBaseFor(true);\n\n /**\n * The base implementation of `_.forOwn` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwn(object, iteratee) {\n return object && baseFor(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.forOwnRight` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Object} Returns `object`.\n */\n function baseForOwnRight(object, iteratee) {\n return object && baseForRight(object, iteratee, keys);\n }\n\n /**\n * The base implementation of `_.functions` which creates an array of\n * `object` function property names filtered from `props`.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Array} props The property names to filter.\n * @returns {Array} Returns the function names.\n */\n function baseFunctions(object, props) {\n return arrayFilter(props, function(key) {\n return isFunction(object[key]);\n });\n }\n\n /**\n * The base implementation of `_.get` without support for default values.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @returns {*} Returns the resolved value.\n */\n function baseGet(object, path) {\n path = castPath(path, object);\n\n var index = 0,\n length = path.length;\n\n while (object != null && index < length) {\n object = object[toKey(path[index++])];\n }\n return (index && index == length) ? object : undefined;\n }\n\n /**\n * The base implementation of `getAllKeys` and `getAllKeysIn` which uses\n * `keysFunc` and `symbolsFunc` to get the enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Function} keysFunc The function to get the keys of `object`.\n * @param {Function} symbolsFunc The function to get the symbols of `object`.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function baseGetAllKeys(object, keysFunc, symbolsFunc) {\n var result = keysFunc(object);\n return isArray(object) ? result : arrayPush(result, symbolsFunc(object));\n }\n\n /**\n * The base implementation of `getTag` without fallbacks for buggy environments.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n function baseGetTag(value) {\n if (value == null) {\n return value === undefined ? undefinedTag : nullTag;\n }\n return (symToStringTag && symToStringTag in Object(value))\n ? getRawTag(value)\n : objectToString(value);\n }\n\n /**\n * The base implementation of `_.gt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n */\n function baseGt(value, other) {\n return value > other;\n }\n\n /**\n * The base implementation of `_.has` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHas(object, key) {\n return object != null && hasOwnProperty.call(object, key);\n }\n\n /**\n * The base implementation of `_.hasIn` without support for deep paths.\n *\n * @private\n * @param {Object} [object] The object to query.\n * @param {Array|string} key The key to check.\n * @returns {boolean} Returns `true` if `key` exists, else `false`.\n */\n function baseHasIn(object, key) {\n return object != null && key in Object(object);\n }\n\n /**\n * The base implementation of `_.inRange` which doesn't coerce arguments.\n *\n * @private\n * @param {number} number The number to check.\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n */\n function baseInRange(number, start, end) {\n return number >= nativeMin(start, end) && number < nativeMax(start, end);\n }\n\n /**\n * The base implementation of methods like `_.intersection`, without support\n * for iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of shared values.\n */\n function baseIntersection(arrays, iteratee, comparator) {\n var includes = comparator ? arrayIncludesWith : arrayIncludes,\n length = arrays[0].length,\n othLength = arrays.length,\n othIndex = othLength,\n caches = Array(othLength),\n maxLength = Infinity,\n result = [];\n\n while (othIndex--) {\n var array = arrays[othIndex];\n if (othIndex && iteratee) {\n array = arrayMap(array, baseUnary(iteratee));\n }\n maxLength = nativeMin(array.length, maxLength);\n caches[othIndex] = !comparator && (iteratee || (length >= 120 && array.length >= 120))\n ? new SetCache(othIndex && array)\n : undefined;\n }\n array = arrays[0];\n\n var index = -1,\n seen = caches[0];\n\n outer:\n while (++index < length && result.length < maxLength) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (!(seen\n ? cacheHas(seen, computed)\n : includes(result, computed, comparator)\n )) {\n othIndex = othLength;\n while (--othIndex) {\n var cache = caches[othIndex];\n if (!(cache\n ? cacheHas(cache, computed)\n : includes(arrays[othIndex], computed, comparator))\n ) {\n continue outer;\n }\n }\n if (seen) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.invert` and `_.invertBy` which inverts\n * `object` with values transformed by `iteratee` and set by `setter`.\n *\n * @private\n * @param {Object} object The object to iterate over.\n * @param {Function} setter The function to set `accumulator` values.\n * @param {Function} iteratee The iteratee to transform values.\n * @param {Object} accumulator The initial inverted object.\n * @returns {Function} Returns `accumulator`.\n */\n function baseInverter(object, setter, iteratee, accumulator) {\n baseForOwn(object, function(value, key, object) {\n setter(accumulator, iteratee(value), key, object);\n });\n return accumulator;\n }\n\n /**\n * The base implementation of `_.invoke` without support for individual\n * method arguments.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {Array} args The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n */\n function baseInvoke(object, path, args) {\n path = castPath(path, object);\n object = parent(object, path);\n var func = object == null ? object : object[toKey(last(path))];\n return func == null ? undefined : apply(func, object, args);\n }\n\n /**\n * The base implementation of `_.isArguments`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n */\n function baseIsArguments(value) {\n return isObjectLike(value) && baseGetTag(value) == argsTag;\n }\n\n /**\n * The base implementation of `_.isArrayBuffer` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n */\n function baseIsArrayBuffer(value) {\n return isObjectLike(value) && baseGetTag(value) == arrayBufferTag;\n }\n\n /**\n * The base implementation of `_.isDate` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n */\n function baseIsDate(value) {\n return isObjectLike(value) && baseGetTag(value) == dateTag;\n }\n\n /**\n * The base implementation of `_.isEqual` which supports partial comparisons\n * and tracks traversed objects.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {boolean} bitmask The bitmask flags.\n * 1 - Unordered comparison\n * 2 - Partial comparison\n * @param {Function} [customizer] The function to customize comparisons.\n * @param {Object} [stack] Tracks traversed `value` and `other` objects.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n */\n function baseIsEqual(value, other, bitmask, customizer, stack) {\n if (value === other) {\n return true;\n }\n if (value == null || other == null || (!isObjectLike(value) && !isObjectLike(other))) {\n return value !== value && other !== other;\n }\n return baseIsEqualDeep(value, other, bitmask, customizer, baseIsEqual, stack);\n }\n\n /**\n * A specialized version of `baseIsEqual` for arrays and objects which performs\n * deep comparisons and tracks traversed objects enabling objects with circular\n * references to be compared.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} [stack] Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function baseIsEqualDeep(object, other, bitmask, customizer, equalFunc, stack) {\n var objIsArr = isArray(object),\n othIsArr = isArray(other),\n objTag = objIsArr ? arrayTag : getTag(object),\n othTag = othIsArr ? arrayTag : getTag(other);\n\n objTag = objTag == argsTag ? objectTag : objTag;\n othTag = othTag == argsTag ? objectTag : othTag;\n\n var objIsObj = objTag == objectTag,\n othIsObj = othTag == objectTag,\n isSameTag = objTag == othTag;\n\n if (isSameTag && isBuffer(object)) {\n if (!isBuffer(other)) {\n return false;\n }\n objIsArr = true;\n objIsObj = false;\n }\n if (isSameTag && !objIsObj) {\n stack || (stack = new Stack);\n return (objIsArr || isTypedArray(object))\n ? equalArrays(object, other, bitmask, customizer, equalFunc, stack)\n : equalByTag(object, other, objTag, bitmask, customizer, equalFunc, stack);\n }\n if (!(bitmask & COMPARE_PARTIAL_FLAG)) {\n var objIsWrapped = objIsObj && hasOwnProperty.call(object, '__wrapped__'),\n othIsWrapped = othIsObj && hasOwnProperty.call(other, '__wrapped__');\n\n if (objIsWrapped || othIsWrapped) {\n var objUnwrapped = objIsWrapped ? object.value() : object,\n othUnwrapped = othIsWrapped ? other.value() : other;\n\n stack || (stack = new Stack);\n return equalFunc(objUnwrapped, othUnwrapped, bitmask, customizer, stack);\n }\n }\n if (!isSameTag) {\n return false;\n }\n stack || (stack = new Stack);\n return equalObjects(object, other, bitmask, customizer, equalFunc, stack);\n }\n\n /**\n * The base implementation of `_.isMap` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n */\n function baseIsMap(value) {\n return isObjectLike(value) && getTag(value) == mapTag;\n }\n\n /**\n * The base implementation of `_.isMatch` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Array} matchData The property names, values, and compare flags to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n */\n function baseIsMatch(object, source, matchData, customizer) {\n var index = matchData.length,\n length = index,\n noCustomizer = !customizer;\n\n if (object == null) {\n return !length;\n }\n object = Object(object);\n while (index--) {\n var data = matchData[index];\n if ((noCustomizer && data[2])\n ? data[1] !== object[data[0]]\n : !(data[0] in object)\n ) {\n return false;\n }\n }\n while (++index < length) {\n data = matchData[index];\n var key = data[0],\n objValue = object[key],\n srcValue = data[1];\n\n if (noCustomizer && data[2]) {\n if (objValue === undefined && !(key in object)) {\n return false;\n }\n } else {\n var stack = new Stack;\n if (customizer) {\n var result = customizer(objValue, srcValue, key, object, source, stack);\n }\n if (!(result === undefined\n ? baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG, customizer, stack)\n : result\n )) {\n return false;\n }\n }\n }\n return true;\n }\n\n /**\n * The base implementation of `_.isNative` without bad shim checks.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n */\n function baseIsNative(value) {\n if (!isObject(value) || isMasked(value)) {\n return false;\n }\n var pattern = isFunction(value) ? reIsNative : reIsHostCtor;\n return pattern.test(toSource(value));\n }\n\n /**\n * The base implementation of `_.isRegExp` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n */\n function baseIsRegExp(value) {\n return isObjectLike(value) && baseGetTag(value) == regexpTag;\n }\n\n /**\n * The base implementation of `_.isSet` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n */\n function baseIsSet(value) {\n return isObjectLike(value) && getTag(value) == setTag;\n }\n\n /**\n * The base implementation of `_.isTypedArray` without Node.js optimizations.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n */\n function baseIsTypedArray(value) {\n return isObjectLike(value) &&\n isLength(value.length) && !!typedArrayTags[baseGetTag(value)];\n }\n\n /**\n * The base implementation of `_.iteratee`.\n *\n * @private\n * @param {*} [value=_.identity] The value to convert to an iteratee.\n * @returns {Function} Returns the iteratee.\n */\n function baseIteratee(value) {\n // Don't store the `typeof` result in a variable to avoid a JIT bug in Safari 9.\n // See https://bugs.webkit.org/show_bug.cgi?id=156034 for more details.\n if (typeof value == 'function') {\n return value;\n }\n if (value == null) {\n return identity;\n }\n if (typeof value == 'object') {\n return isArray(value)\n ? baseMatchesProperty(value[0], value[1])\n : baseMatches(value);\n }\n return property(value);\n }\n\n /**\n * The base implementation of `_.keys` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeys(object) {\n if (!isPrototype(object)) {\n return nativeKeys(object);\n }\n var result = [];\n for (var key in Object(object)) {\n if (hasOwnProperty.call(object, key) && key != 'constructor') {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.keysIn` which doesn't treat sparse arrays as dense.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function baseKeysIn(object) {\n if (!isObject(object)) {\n return nativeKeysIn(object);\n }\n var isProto = isPrototype(object),\n result = [];\n\n for (var key in object) {\n if (!(key == 'constructor' && (isProto || !hasOwnProperty.call(object, key)))) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.lt` which doesn't coerce arguments.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n */\n function baseLt(value, other) {\n return value < other;\n }\n\n /**\n * The base implementation of `_.map` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} iteratee The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n */\n function baseMap(collection, iteratee) {\n var index = -1,\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value, key, collection) {\n result[++index] = iteratee(value, key, collection);\n });\n return result;\n }\n\n /**\n * The base implementation of `_.matches` which doesn't clone `source`.\n *\n * @private\n * @param {Object} source The object of property values to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatches(source) {\n var matchData = getMatchData(source);\n if (matchData.length == 1 && matchData[0][2]) {\n return matchesStrictComparable(matchData[0][0], matchData[0][1]);\n }\n return function(object) {\n return object === source || baseIsMatch(object, source, matchData);\n };\n }\n\n /**\n * The base implementation of `_.matchesProperty` which doesn't clone `srcValue`.\n *\n * @private\n * @param {string} path The path of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function baseMatchesProperty(path, srcValue) {\n if (isKey(path) && isStrictComparable(srcValue)) {\n return matchesStrictComparable(toKey(path), srcValue);\n }\n return function(object) {\n var objValue = get(object, path);\n return (objValue === undefined && objValue === srcValue)\n ? hasIn(object, path)\n : baseIsEqual(srcValue, objValue, COMPARE_PARTIAL_FLAG | COMPARE_UNORDERED_FLAG);\n };\n }\n\n /**\n * The base implementation of `_.merge` without support for multiple sources.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} [customizer] The function to customize merged values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMerge(object, source, srcIndex, customizer, stack) {\n if (object === source) {\n return;\n }\n baseFor(source, function(srcValue, key) {\n stack || (stack = new Stack);\n if (isObject(srcValue)) {\n baseMergeDeep(object, source, key, srcIndex, baseMerge, customizer, stack);\n }\n else {\n var newValue = customizer\n ? customizer(safeGet(object, key), srcValue, (key + ''), object, source, stack)\n : undefined;\n\n if (newValue === undefined) {\n newValue = srcValue;\n }\n assignMergeValue(object, key, newValue);\n }\n }, keysIn);\n }\n\n /**\n * A specialized version of `baseMerge` for arrays and objects which performs\n * deep merges and tracks traversed objects enabling objects with circular\n * references to be merged.\n *\n * @private\n * @param {Object} object The destination object.\n * @param {Object} source The source object.\n * @param {string} key The key of the value to merge.\n * @param {number} srcIndex The index of `source`.\n * @param {Function} mergeFunc The function to merge values.\n * @param {Function} [customizer] The function to customize assigned values.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n */\n function baseMergeDeep(object, source, key, srcIndex, mergeFunc, customizer, stack) {\n var objValue = safeGet(object, key),\n srcValue = safeGet(source, key),\n stacked = stack.get(srcValue);\n\n if (stacked) {\n assignMergeValue(object, key, stacked);\n return;\n }\n var newValue = customizer\n ? customizer(objValue, srcValue, (key + ''), object, source, stack)\n : undefined;\n\n var isCommon = newValue === undefined;\n\n if (isCommon) {\n var isArr = isArray(srcValue),\n isBuff = !isArr && isBuffer(srcValue),\n isTyped = !isArr && !isBuff && isTypedArray(srcValue);\n\n newValue = srcValue;\n if (isArr || isBuff || isTyped) {\n if (isArray(objValue)) {\n newValue = objValue;\n }\n else if (isArrayLikeObject(objValue)) {\n newValue = copyArray(objValue);\n }\n else if (isBuff) {\n isCommon = false;\n newValue = cloneBuffer(srcValue, true);\n }\n else if (isTyped) {\n isCommon = false;\n newValue = cloneTypedArray(srcValue, true);\n }\n else {\n newValue = [];\n }\n }\n else if (isPlainObject(srcValue) || isArguments(srcValue)) {\n newValue = objValue;\n if (isArguments(objValue)) {\n newValue = toPlainObject(objValue);\n }\n else if (!isObject(objValue) || isFunction(objValue)) {\n newValue = initCloneObject(srcValue);\n }\n }\n else {\n isCommon = false;\n }\n }\n if (isCommon) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, newValue);\n mergeFunc(newValue, srcValue, srcIndex, customizer, stack);\n stack['delete'](srcValue);\n }\n assignMergeValue(object, key, newValue);\n }\n\n /**\n * The base implementation of `_.nth` which doesn't coerce arguments.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {number} n The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n */\n function baseNth(array, n) {\n var length = array.length;\n if (!length) {\n return;\n }\n n += n < 0 ? length : 0;\n return isIndex(n, length) ? array[n] : undefined;\n }\n\n /**\n * The base implementation of `_.orderBy` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function[]|Object[]|string[]} iteratees The iteratees to sort by.\n * @param {string[]} orders The sort orders of `iteratees`.\n * @returns {Array} Returns the new sorted array.\n */\n function baseOrderBy(collection, iteratees, orders) {\n if (iteratees.length) {\n iteratees = arrayMap(iteratees, function(iteratee) {\n if (isArray(iteratee)) {\n return function(value) {\n return baseGet(value, iteratee.length === 1 ? iteratee[0] : iteratee);\n }\n }\n return iteratee;\n });\n } else {\n iteratees = [identity];\n }\n\n var index = -1;\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n\n var result = baseMap(collection, function(value, key, collection) {\n var criteria = arrayMap(iteratees, function(iteratee) {\n return iteratee(value);\n });\n return { 'criteria': criteria, 'index': ++index, 'value': value };\n });\n\n return baseSortBy(result, function(object, other) {\n return compareMultiple(object, other, orders);\n });\n }\n\n /**\n * The base implementation of `_.pick` without support for individual\n * property identifiers.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @returns {Object} Returns the new object.\n */\n function basePick(object, paths) {\n return basePickBy(object, paths, function(value, path) {\n return hasIn(object, path);\n });\n }\n\n /**\n * The base implementation of `_.pickBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Object} object The source object.\n * @param {string[]} paths The property paths to pick.\n * @param {Function} predicate The function invoked per property.\n * @returns {Object} Returns the new object.\n */\n function basePickBy(object, paths, predicate) {\n var index = -1,\n length = paths.length,\n result = {};\n\n while (++index < length) {\n var path = paths[index],\n value = baseGet(object, path);\n\n if (predicate(value, path)) {\n baseSet(result, castPath(path, object), value);\n }\n }\n return result;\n }\n\n /**\n * A specialized version of `baseProperty` which supports deep paths.\n *\n * @private\n * @param {Array|string} path The path of the property to get.\n * @returns {Function} Returns the new accessor function.\n */\n function basePropertyDeep(path) {\n return function(object) {\n return baseGet(object, path);\n };\n }\n\n /**\n * The base implementation of `_.pullAllBy` without support for iteratee\n * shorthands.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n */\n function basePullAll(array, values, iteratee, comparator) {\n var indexOf = comparator ? baseIndexOfWith : baseIndexOf,\n index = -1,\n length = values.length,\n seen = array;\n\n if (array === values) {\n values = copyArray(values);\n }\n if (iteratee) {\n seen = arrayMap(array, baseUnary(iteratee));\n }\n while (++index < length) {\n var fromIndex = 0,\n value = values[index],\n computed = iteratee ? iteratee(value) : value;\n\n while ((fromIndex = indexOf(seen, computed, fromIndex, comparator)) > -1) {\n if (seen !== array) {\n splice.call(seen, fromIndex, 1);\n }\n splice.call(array, fromIndex, 1);\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.pullAt` without support for individual\n * indexes or capturing the removed elements.\n *\n * @private\n * @param {Array} array The array to modify.\n * @param {number[]} indexes The indexes of elements to remove.\n * @returns {Array} Returns `array`.\n */\n function basePullAt(array, indexes) {\n var length = array ? indexes.length : 0,\n lastIndex = length - 1;\n\n while (length--) {\n var index = indexes[length];\n if (length == lastIndex || index !== previous) {\n var previous = index;\n if (isIndex(index)) {\n splice.call(array, index, 1);\n } else {\n baseUnset(array, index);\n }\n }\n }\n return array;\n }\n\n /**\n * The base implementation of `_.random` without support for returning\n * floating-point numbers.\n *\n * @private\n * @param {number} lower The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the random number.\n */\n function baseRandom(lower, upper) {\n return lower + nativeFloor(nativeRandom() * (upper - lower + 1));\n }\n\n /**\n * The base implementation of `_.range` and `_.rangeRight` which doesn't\n * coerce arguments.\n *\n * @private\n * @param {number} start The start of the range.\n * @param {number} end The end of the range.\n * @param {number} step The value to increment or decrement by.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the range of numbers.\n */\n function baseRange(start, end, step, fromRight) {\n var index = -1,\n length = nativeMax(nativeCeil((end - start) / (step || 1)), 0),\n result = Array(length);\n\n while (length--) {\n result[fromRight ? length : ++index] = start;\n start += step;\n }\n return result;\n }\n\n /**\n * The base implementation of `_.repeat` which doesn't coerce arguments.\n *\n * @private\n * @param {string} string The string to repeat.\n * @param {number} n The number of times to repeat the string.\n * @returns {string} Returns the repeated string.\n */\n function baseRepeat(string, n) {\n var result = '';\n if (!string || n < 1 || n > MAX_SAFE_INTEGER) {\n return result;\n }\n // Leverage the exponentiation by squaring algorithm for a faster repeat.\n // See https://en.wikipedia.org/wiki/Exponentiation_by_squaring for more details.\n do {\n if (n % 2) {\n result += string;\n }\n n = nativeFloor(n / 2);\n if (n) {\n string += string;\n }\n } while (n);\n\n return result;\n }\n\n /**\n * The base implementation of `_.rest` which doesn't validate or coerce arguments.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n */\n function baseRest(func, start) {\n return setToString(overRest(func, start, identity), func + '');\n }\n\n /**\n * The base implementation of `_.sample`.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n */\n function baseSample(collection) {\n return arraySample(values(collection));\n }\n\n /**\n * The base implementation of `_.sampleSize` without param guards.\n *\n * @private\n * @param {Array|Object} collection The collection to sample.\n * @param {number} n The number of elements to sample.\n * @returns {Array} Returns the random elements.\n */\n function baseSampleSize(collection, n) {\n var array = values(collection);\n return shuffleSelf(array, baseClamp(n, 0, array.length));\n }\n\n /**\n * The base implementation of `_.set`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseSet(object, path, value, customizer) {\n if (!isObject(object)) {\n return object;\n }\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n lastIndex = length - 1,\n nested = object;\n\n while (nested != null && ++index < length) {\n var key = toKey(path[index]),\n newValue = value;\n\n if (key === '__proto__' || key === 'constructor' || key === 'prototype') {\n return object;\n }\n\n if (index != lastIndex) {\n var objValue = nested[key];\n newValue = customizer ? customizer(objValue, key, nested) : undefined;\n if (newValue === undefined) {\n newValue = isObject(objValue)\n ? objValue\n : (isIndex(path[index + 1]) ? [] : {});\n }\n }\n assignValue(nested, key, newValue);\n nested = nested[key];\n }\n return object;\n }\n\n /**\n * The base implementation of `setData` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var baseSetData = !metaMap ? identity : function(func, data) {\n metaMap.set(func, data);\n return func;\n };\n\n /**\n * The base implementation of `setToString` without support for hot loop shorting.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var baseSetToString = !defineProperty ? identity : function(func, string) {\n return defineProperty(func, 'toString', {\n 'configurable': true,\n 'enumerable': false,\n 'value': constant(string),\n 'writable': true\n });\n };\n\n /**\n * The base implementation of `_.shuffle`.\n *\n * @private\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n */\n function baseShuffle(collection) {\n return shuffleSelf(values(collection));\n }\n\n /**\n * The base implementation of `_.slice` without an iteratee call guard.\n *\n * @private\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseSlice(array, start, end) {\n var index = -1,\n length = array.length;\n\n if (start < 0) {\n start = -start > length ? 0 : (length + start);\n }\n end = end > length ? length : end;\n if (end < 0) {\n end += length;\n }\n length = start > end ? 0 : ((end - start) >>> 0);\n start >>>= 0;\n\n var result = Array(length);\n while (++index < length) {\n result[index] = array[index + start];\n }\n return result;\n }\n\n /**\n * The base implementation of `_.some` without support for iteratee shorthands.\n *\n * @private\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} predicate The function invoked per iteration.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n */\n function baseSome(collection, predicate) {\n var result;\n\n baseEach(collection, function(value, index, collection) {\n result = predicate(value, index, collection);\n return !result;\n });\n return !!result;\n }\n\n /**\n * The base implementation of `_.sortedIndex` and `_.sortedLastIndex` which\n * performs a binary search of `array` to determine the index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndex(array, value, retHighest) {\n var low = 0,\n high = array == null ? low : array.length;\n\n if (typeof value == 'number' && value === value && high <= HALF_MAX_ARRAY_LENGTH) {\n while (low < high) {\n var mid = (low + high) >>> 1,\n computed = array[mid];\n\n if (computed !== null && !isSymbol(computed) &&\n (retHighest ? (computed <= value) : (computed < value))) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return high;\n }\n return baseSortedIndexBy(array, value, identity, retHighest);\n }\n\n /**\n * The base implementation of `_.sortedIndexBy` and `_.sortedLastIndexBy`\n * which invokes `iteratee` for `value` and each element of `array` to compute\n * their sort ranking. The iteratee is invoked with one argument; (value).\n *\n * @private\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} iteratee The iteratee invoked per element.\n * @param {boolean} [retHighest] Specify returning the highest qualified index.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n */\n function baseSortedIndexBy(array, value, iteratee, retHighest) {\n var low = 0,\n high = array == null ? 0 : array.length;\n if (high === 0) {\n return 0;\n }\n\n value = iteratee(value);\n var valIsNaN = value !== value,\n valIsNull = value === null,\n valIsSymbol = isSymbol(value),\n valIsUndefined = value === undefined;\n\n while (low < high) {\n var mid = nativeFloor((low + high) / 2),\n computed = iteratee(array[mid]),\n othIsDefined = computed !== undefined,\n othIsNull = computed === null,\n othIsReflexive = computed === computed,\n othIsSymbol = isSymbol(computed);\n\n if (valIsNaN) {\n var setLow = retHighest || othIsReflexive;\n } else if (valIsUndefined) {\n setLow = othIsReflexive && (retHighest || othIsDefined);\n } else if (valIsNull) {\n setLow = othIsReflexive && othIsDefined && (retHighest || !othIsNull);\n } else if (valIsSymbol) {\n setLow = othIsReflexive && othIsDefined && !othIsNull && (retHighest || !othIsSymbol);\n } else if (othIsNull || othIsSymbol) {\n setLow = false;\n } else {\n setLow = retHighest ? (computed <= value) : (computed < value);\n }\n if (setLow) {\n low = mid + 1;\n } else {\n high = mid;\n }\n }\n return nativeMin(high, MAX_ARRAY_INDEX);\n }\n\n /**\n * The base implementation of `_.sortedUniq` and `_.sortedUniqBy` without\n * support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseSortedUniq(array, iteratee) {\n var index = -1,\n length = array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n if (!index || !eq(computed, seen)) {\n var seen = computed;\n result[resIndex++] = value === 0 ? 0 : value;\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.toNumber` which doesn't ensure correct\n * conversions of binary, hexadecimal, or octal string values.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n */\n function baseToNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n return +value;\n }\n\n /**\n * The base implementation of `_.toString` which doesn't convert nullish\n * values to empty strings.\n *\n * @private\n * @param {*} value The value to process.\n * @returns {string} Returns the string.\n */\n function baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value;\n }\n if (isArray(value)) {\n // Recursively convert values (susceptible to call stack limits).\n return arrayMap(value, baseToString) + '';\n }\n if (isSymbol(value)) {\n return symbolToString ? symbolToString.call(value) : '';\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * The base implementation of `_.uniqBy` without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n */\n function baseUniq(array, iteratee, comparator) {\n var index = -1,\n includes = arrayIncludes,\n length = array.length,\n isCommon = true,\n result = [],\n seen = result;\n\n if (comparator) {\n isCommon = false;\n includes = arrayIncludesWith;\n }\n else if (length >= LARGE_ARRAY_SIZE) {\n var set = iteratee ? null : createSet(array);\n if (set) {\n return setToArray(set);\n }\n isCommon = false;\n includes = cacheHas;\n seen = new SetCache;\n }\n else {\n seen = iteratee ? [] : result;\n }\n outer:\n while (++index < length) {\n var value = array[index],\n computed = iteratee ? iteratee(value) : value;\n\n value = (comparator || value !== 0) ? value : 0;\n if (isCommon && computed === computed) {\n var seenIndex = seen.length;\n while (seenIndex--) {\n if (seen[seenIndex] === computed) {\n continue outer;\n }\n }\n if (iteratee) {\n seen.push(computed);\n }\n result.push(value);\n }\n else if (!includes(seen, computed, comparator)) {\n if (seen !== result) {\n seen.push(computed);\n }\n result.push(value);\n }\n }\n return result;\n }\n\n /**\n * The base implementation of `_.unset`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The property path to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n */\n function baseUnset(object, path) {\n path = castPath(path, object);\n object = parent(object, path);\n return object == null || delete object[toKey(last(path))];\n }\n\n /**\n * The base implementation of `_.update`.\n *\n * @private\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to update.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize path creation.\n * @returns {Object} Returns `object`.\n */\n function baseUpdate(object, path, updater, customizer) {\n return baseSet(object, path, updater(baseGet(object, path)), customizer);\n }\n\n /**\n * The base implementation of methods like `_.dropWhile` and `_.takeWhile`\n * without support for iteratee shorthands.\n *\n * @private\n * @param {Array} array The array to query.\n * @param {Function} predicate The function invoked per iteration.\n * @param {boolean} [isDrop] Specify dropping elements instead of taking them.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Array} Returns the slice of `array`.\n */\n function baseWhile(array, predicate, isDrop, fromRight) {\n var length = array.length,\n index = fromRight ? length : -1;\n\n while ((fromRight ? index-- : ++index < length) &&\n predicate(array[index], index, array)) {}\n\n return isDrop\n ? baseSlice(array, (fromRight ? 0 : index), (fromRight ? index + 1 : length))\n : baseSlice(array, (fromRight ? index + 1 : 0), (fromRight ? length : index));\n }\n\n /**\n * The base implementation of `wrapperValue` which returns the result of\n * performing a sequence of actions on the unwrapped `value`, where each\n * successive action is supplied the return value of the previous.\n *\n * @private\n * @param {*} value The unwrapped value.\n * @param {Array} actions Actions to perform to resolve the unwrapped value.\n * @returns {*} Returns the resolved value.\n */\n function baseWrapperValue(value, actions) {\n var result = value;\n if (result instanceof LazyWrapper) {\n result = result.value();\n }\n return arrayReduce(actions, function(result, action) {\n return action.func.apply(action.thisArg, arrayPush([result], action.args));\n }, result);\n }\n\n /**\n * The base implementation of methods like `_.xor`, without support for\n * iteratee shorthands, that accepts an array of arrays to inspect.\n *\n * @private\n * @param {Array} arrays The arrays to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of values.\n */\n function baseXor(arrays, iteratee, comparator) {\n var length = arrays.length;\n if (length < 2) {\n return length ? baseUniq(arrays[0]) : [];\n }\n var index = -1,\n result = Array(length);\n\n while (++index < length) {\n var array = arrays[index],\n othIndex = -1;\n\n while (++othIndex < length) {\n if (othIndex != index) {\n result[index] = baseDifference(result[index] || array, arrays[othIndex], iteratee, comparator);\n }\n }\n }\n return baseUniq(baseFlatten(result, 1), iteratee, comparator);\n }\n\n /**\n * This base implementation of `_.zipObject` which assigns values using `assignFunc`.\n *\n * @private\n * @param {Array} props The property identifiers.\n * @param {Array} values The property values.\n * @param {Function} assignFunc The function to assign values.\n * @returns {Object} Returns the new object.\n */\n function baseZipObject(props, values, assignFunc) {\n var index = -1,\n length = props.length,\n valsLength = values.length,\n result = {};\n\n while (++index < length) {\n var value = index < valsLength ? values[index] : undefined;\n assignFunc(result, props[index], value);\n }\n return result;\n }\n\n /**\n * Casts `value` to an empty array if it's not an array like object.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Array|Object} Returns the cast array-like object.\n */\n function castArrayLikeObject(value) {\n return isArrayLikeObject(value) ? value : [];\n }\n\n /**\n * Casts `value` to `identity` if it's not a function.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {Function} Returns cast function.\n */\n function castFunction(value) {\n return typeof value == 'function' ? value : identity;\n }\n\n /**\n * Casts `value` to a path array if it's not one.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {Object} [object] The object to query keys on.\n * @returns {Array} Returns the cast property path array.\n */\n function castPath(value, object) {\n if (isArray(value)) {\n return value;\n }\n return isKey(value, object) ? [value] : stringToPath(toString(value));\n }\n\n /**\n * A `baseRest` alias which can be replaced with `identity` by module\n * replacement plugins.\n *\n * @private\n * @type {Function}\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n var castRest = baseRest;\n\n /**\n * Casts `array` to a slice if it's needed.\n *\n * @private\n * @param {Array} array The array to inspect.\n * @param {number} start The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the cast slice.\n */\n function castSlice(array, start, end) {\n var length = array.length;\n end = end === undefined ? length : end;\n return (!start && end >= length) ? array : baseSlice(array, start, end);\n }\n\n /**\n * A simple wrapper around the global [`clearTimeout`](https://mdn.io/clearTimeout).\n *\n * @private\n * @param {number|Object} id The timer id or timeout object of the timer to clear.\n */\n var clearTimeout = ctxClearTimeout || function(id) {\n return root.clearTimeout(id);\n };\n\n /**\n * Creates a clone of `buffer`.\n *\n * @private\n * @param {Buffer} buffer The buffer to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Buffer} Returns the cloned buffer.\n */\n function cloneBuffer(buffer, isDeep) {\n if (isDeep) {\n return buffer.slice();\n }\n var length = buffer.length,\n result = allocUnsafe ? allocUnsafe(length) : new buffer.constructor(length);\n\n buffer.copy(result);\n return result;\n }\n\n /**\n * Creates a clone of `arrayBuffer`.\n *\n * @private\n * @param {ArrayBuffer} arrayBuffer The array buffer to clone.\n * @returns {ArrayBuffer} Returns the cloned array buffer.\n */\n function cloneArrayBuffer(arrayBuffer) {\n var result = new arrayBuffer.constructor(arrayBuffer.byteLength);\n new Uint8Array(result).set(new Uint8Array(arrayBuffer));\n return result;\n }\n\n /**\n * Creates a clone of `dataView`.\n *\n * @private\n * @param {Object} dataView The data view to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned data view.\n */\n function cloneDataView(dataView, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(dataView.buffer) : dataView.buffer;\n return new dataView.constructor(buffer, dataView.byteOffset, dataView.byteLength);\n }\n\n /**\n * Creates a clone of `regexp`.\n *\n * @private\n * @param {Object} regexp The regexp to clone.\n * @returns {Object} Returns the cloned regexp.\n */\n function cloneRegExp(regexp) {\n var result = new regexp.constructor(regexp.source, reFlags.exec(regexp));\n result.lastIndex = regexp.lastIndex;\n return result;\n }\n\n /**\n * Creates a clone of the `symbol` object.\n *\n * @private\n * @param {Object} symbol The symbol object to clone.\n * @returns {Object} Returns the cloned symbol object.\n */\n function cloneSymbol(symbol) {\n return symbolValueOf ? Object(symbolValueOf.call(symbol)) : {};\n }\n\n /**\n * Creates a clone of `typedArray`.\n *\n * @private\n * @param {Object} typedArray The typed array to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the cloned typed array.\n */\n function cloneTypedArray(typedArray, isDeep) {\n var buffer = isDeep ? cloneArrayBuffer(typedArray.buffer) : typedArray.buffer;\n return new typedArray.constructor(buffer, typedArray.byteOffset, typedArray.length);\n }\n\n /**\n * Compares values to sort them in ascending order.\n *\n * @private\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {number} Returns the sort order indicator for `value`.\n */\n function compareAscending(value, other) {\n if (value !== other) {\n var valIsDefined = value !== undefined,\n valIsNull = value === null,\n valIsReflexive = value === value,\n valIsSymbol = isSymbol(value);\n\n var othIsDefined = other !== undefined,\n othIsNull = other === null,\n othIsReflexive = other === other,\n othIsSymbol = isSymbol(other);\n\n if ((!othIsNull && !othIsSymbol && !valIsSymbol && value > other) ||\n (valIsSymbol && othIsDefined && othIsReflexive && !othIsNull && !othIsSymbol) ||\n (valIsNull && othIsDefined && othIsReflexive) ||\n (!valIsDefined && othIsReflexive) ||\n !valIsReflexive) {\n return 1;\n }\n if ((!valIsNull && !valIsSymbol && !othIsSymbol && value < other) ||\n (othIsSymbol && valIsDefined && valIsReflexive && !valIsNull && !valIsSymbol) ||\n (othIsNull && valIsDefined && valIsReflexive) ||\n (!othIsDefined && valIsReflexive) ||\n !othIsReflexive) {\n return -1;\n }\n }\n return 0;\n }\n\n /**\n * Used by `_.orderBy` to compare multiple properties of a value to another\n * and stable sort them.\n *\n * If `orders` is unspecified, all values are sorted in ascending order. Otherwise,\n * specify an order of \"desc\" for descending or \"asc\" for ascending sort order\n * of corresponding values.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {boolean[]|string[]} orders The order to sort by for each property.\n * @returns {number} Returns the sort order indicator for `object`.\n */\n function compareMultiple(object, other, orders) {\n var index = -1,\n objCriteria = object.criteria,\n othCriteria = other.criteria,\n length = objCriteria.length,\n ordersLength = orders.length;\n\n while (++index < length) {\n var result = compareAscending(objCriteria[index], othCriteria[index]);\n if (result) {\n if (index >= ordersLength) {\n return result;\n }\n var order = orders[index];\n return result * (order == 'desc' ? -1 : 1);\n }\n }\n // Fixes an `Array#sort` bug in the JS engine embedded in Adobe applications\n // that causes it, under certain circumstances, to provide the same value for\n // `object` and `other`. See https://github.com/jashkenas/underscore/pull/1247\n // for more details.\n //\n // This also ensures a stable sort in V8 and other engines.\n // See https://bugs.chromium.org/p/v8/issues/detail?id=90 for more details.\n return object.index - other.index;\n }\n\n /**\n * Creates an array that is the composition of partially applied arguments,\n * placeholders, and provided arguments into a single array of arguments.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to prepend to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgs(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersLength = holders.length,\n leftIndex = -1,\n leftLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(leftLength + rangeLength),\n isUncurried = !isCurried;\n\n while (++leftIndex < leftLength) {\n result[leftIndex] = partials[leftIndex];\n }\n while (++argsIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[holders[argsIndex]] = args[argsIndex];\n }\n }\n while (rangeLength--) {\n result[leftIndex++] = args[argsIndex++];\n }\n return result;\n }\n\n /**\n * This function is like `composeArgs` except that the arguments composition\n * is tailored for `_.partialRight`.\n *\n * @private\n * @param {Array} args The provided arguments.\n * @param {Array} partials The arguments to append to those provided.\n * @param {Array} holders The `partials` placeholder indexes.\n * @params {boolean} [isCurried] Specify composing for a curried function.\n * @returns {Array} Returns the new array of composed arguments.\n */\n function composeArgsRight(args, partials, holders, isCurried) {\n var argsIndex = -1,\n argsLength = args.length,\n holdersIndex = -1,\n holdersLength = holders.length,\n rightIndex = -1,\n rightLength = partials.length,\n rangeLength = nativeMax(argsLength - holdersLength, 0),\n result = Array(rangeLength + rightLength),\n isUncurried = !isCurried;\n\n while (++argsIndex < rangeLength) {\n result[argsIndex] = args[argsIndex];\n }\n var offset = argsIndex;\n while (++rightIndex < rightLength) {\n result[offset + rightIndex] = partials[rightIndex];\n }\n while (++holdersIndex < holdersLength) {\n if (isUncurried || argsIndex < argsLength) {\n result[offset + holders[holdersIndex]] = args[argsIndex++];\n }\n }\n return result;\n }\n\n /**\n * Copies the values of `source` to `array`.\n *\n * @private\n * @param {Array} source The array to copy values from.\n * @param {Array} [array=[]] The array to copy values to.\n * @returns {Array} Returns `array`.\n */\n function copyArray(source, array) {\n var index = -1,\n length = source.length;\n\n array || (array = Array(length));\n while (++index < length) {\n array[index] = source[index];\n }\n return array;\n }\n\n /**\n * Copies properties of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy properties from.\n * @param {Array} props The property identifiers to copy.\n * @param {Object} [object={}] The object to copy properties to.\n * @param {Function} [customizer] The function to customize copied values.\n * @returns {Object} Returns `object`.\n */\n function copyObject(source, props, object, customizer) {\n var isNew = !object;\n object || (object = {});\n\n var index = -1,\n length = props.length;\n\n while (++index < length) {\n var key = props[index];\n\n var newValue = customizer\n ? customizer(object[key], source[key], key, object, source)\n : undefined;\n\n if (newValue === undefined) {\n newValue = source[key];\n }\n if (isNew) {\n baseAssignValue(object, key, newValue);\n } else {\n assignValue(object, key, newValue);\n }\n }\n return object;\n }\n\n /**\n * Copies own symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbols(source, object) {\n return copyObject(source, getSymbols(source), object);\n }\n\n /**\n * Copies own and inherited symbols of `source` to `object`.\n *\n * @private\n * @param {Object} source The object to copy symbols from.\n * @param {Object} [object={}] The object to copy symbols to.\n * @returns {Object} Returns `object`.\n */\n function copySymbolsIn(source, object) {\n return copyObject(source, getSymbolsIn(source), object);\n }\n\n /**\n * Creates a function like `_.groupBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} [initializer] The accumulator object initializer.\n * @returns {Function} Returns the new aggregator function.\n */\n function createAggregator(setter, initializer) {\n return function(collection, iteratee) {\n var func = isArray(collection) ? arrayAggregator : baseAggregator,\n accumulator = initializer ? initializer() : {};\n\n return func(collection, setter, getIteratee(iteratee, 2), accumulator);\n };\n }\n\n /**\n * Creates a function like `_.assign`.\n *\n * @private\n * @param {Function} assigner The function to assign values.\n * @returns {Function} Returns the new assigner function.\n */\n function createAssigner(assigner) {\n return baseRest(function(object, sources) {\n var index = -1,\n length = sources.length,\n customizer = length > 1 ? sources[length - 1] : undefined,\n guard = length > 2 ? sources[2] : undefined;\n\n customizer = (assigner.length > 3 && typeof customizer == 'function')\n ? (length--, customizer)\n : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n customizer = length < 3 ? undefined : customizer;\n length = 1;\n }\n object = Object(object);\n while (++index < length) {\n var source = sources[index];\n if (source) {\n assigner(object, source, index, customizer);\n }\n }\n return object;\n });\n }\n\n /**\n * Creates a `baseEach` or `baseEachRight` function.\n *\n * @private\n * @param {Function} eachFunc The function to iterate over a collection.\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseEach(eachFunc, fromRight) {\n return function(collection, iteratee) {\n if (collection == null) {\n return collection;\n }\n if (!isArrayLike(collection)) {\n return eachFunc(collection, iteratee);\n }\n var length = collection.length,\n index = fromRight ? length : -1,\n iterable = Object(collection);\n\n while ((fromRight ? index-- : ++index < length)) {\n if (iteratee(iterable[index], index, iterable) === false) {\n break;\n }\n }\n return collection;\n };\n }\n\n /**\n * Creates a base function for methods like `_.forIn` and `_.forOwn`.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new base function.\n */\n function createBaseFor(fromRight) {\n return function(object, iteratee, keysFunc) {\n var index = -1,\n iterable = Object(object),\n props = keysFunc(object),\n length = props.length;\n\n while (length--) {\n var key = props[fromRight ? length : ++index];\n if (iteratee(iterable[key], key, iterable) === false) {\n break;\n }\n }\n return object;\n };\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the optional `this`\n * binding of `thisArg`.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createBind(func, bitmask, thisArg) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return fn.apply(isBind ? thisArg : this, arguments);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.lowerFirst`.\n *\n * @private\n * @param {string} methodName The name of the `String` case method to use.\n * @returns {Function} Returns the new case function.\n */\n function createCaseFirst(methodName) {\n return function(string) {\n string = toString(string);\n\n var strSymbols = hasUnicode(string)\n ? stringToArray(string)\n : undefined;\n\n var chr = strSymbols\n ? strSymbols[0]\n : string.charAt(0);\n\n var trailing = strSymbols\n ? castSlice(strSymbols, 1).join('')\n : string.slice(1);\n\n return chr[methodName]() + trailing;\n };\n }\n\n /**\n * Creates a function like `_.camelCase`.\n *\n * @private\n * @param {Function} callback The function to combine each word.\n * @returns {Function} Returns the new compounder function.\n */\n function createCompounder(callback) {\n return function(string) {\n return arrayReduce(words(deburr(string).replace(reApos, '')), callback, '');\n };\n }\n\n /**\n * Creates a function that produces an instance of `Ctor` regardless of\n * whether it was invoked as part of a `new` expression or by `call` or `apply`.\n *\n * @private\n * @param {Function} Ctor The constructor to wrap.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCtor(Ctor) {\n return function() {\n // Use a `switch` statement to work with class constructors. See\n // http://ecma-international.org/ecma-262/7.0/#sec-ecmascript-function-objects-call-thisargument-argumentslist\n // for more details.\n var args = arguments;\n switch (args.length) {\n case 0: return new Ctor;\n case 1: return new Ctor(args[0]);\n case 2: return new Ctor(args[0], args[1]);\n case 3: return new Ctor(args[0], args[1], args[2]);\n case 4: return new Ctor(args[0], args[1], args[2], args[3]);\n case 5: return new Ctor(args[0], args[1], args[2], args[3], args[4]);\n case 6: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5]);\n case 7: return new Ctor(args[0], args[1], args[2], args[3], args[4], args[5], args[6]);\n }\n var thisBinding = baseCreate(Ctor.prototype),\n result = Ctor.apply(thisBinding, args);\n\n // Mimic the constructor's `return` behavior.\n // See https://es5.github.io/#x13.2.2 for more details.\n return isObject(result) ? result : thisBinding;\n };\n }\n\n /**\n * Creates a function that wraps `func` to enable currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {number} arity The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createCurry(func, bitmask, arity) {\n var Ctor = createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length,\n placeholder = getHolder(wrapper);\n\n while (index--) {\n args[index] = arguments[index];\n }\n var holders = (length < 3 && args[0] !== placeholder && args[length - 1] !== placeholder)\n ? []\n : replaceHolders(args, placeholder);\n\n length -= holders.length;\n if (length < arity) {\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, undefined,\n args, holders, undefined, undefined, arity - length);\n }\n var fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n return apply(fn, this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.find` or `_.findLast` function.\n *\n * @private\n * @param {Function} findIndexFunc The function to find the collection index.\n * @returns {Function} Returns the new find function.\n */\n function createFind(findIndexFunc) {\n return function(collection, predicate, fromIndex) {\n var iterable = Object(collection);\n if (!isArrayLike(collection)) {\n var iteratee = getIteratee(predicate, 3);\n collection = keys(collection);\n predicate = function(key) { return iteratee(iterable[key], key, iterable); };\n }\n var index = findIndexFunc(collection, predicate, fromIndex);\n return index > -1 ? iterable[iteratee ? collection[index] : index] : undefined;\n };\n }\n\n /**\n * Creates a `_.flow` or `_.flowRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new flow function.\n */\n function createFlow(fromRight) {\n return flatRest(function(funcs) {\n var length = funcs.length,\n index = length,\n prereq = LodashWrapper.prototype.thru;\n\n if (fromRight) {\n funcs.reverse();\n }\n while (index--) {\n var func = funcs[index];\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (prereq && !wrapper && getFuncName(func) == 'wrapper') {\n var wrapper = new LodashWrapper([], true);\n }\n }\n index = wrapper ? index : length;\n while (++index < length) {\n func = funcs[index];\n\n var funcName = getFuncName(func),\n data = funcName == 'wrapper' ? getData(func) : undefined;\n\n if (data && isLaziable(data[0]) &&\n data[1] == (WRAP_ARY_FLAG | WRAP_CURRY_FLAG | WRAP_PARTIAL_FLAG | WRAP_REARG_FLAG) &&\n !data[4].length && data[9] == 1\n ) {\n wrapper = wrapper[getFuncName(data[0])].apply(wrapper, data[3]);\n } else {\n wrapper = (func.length == 1 && isLaziable(func))\n ? wrapper[funcName]()\n : wrapper.thru(func);\n }\n }\n return function() {\n var args = arguments,\n value = args[0];\n\n if (wrapper && args.length == 1 && isArray(value)) {\n return wrapper.plant(value).value();\n }\n var index = 0,\n result = length ? funcs[index].apply(this, args) : value;\n\n while (++index < length) {\n result = funcs[index].call(this, result);\n }\n return result;\n };\n });\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with optional `this`\n * binding of `thisArg`, partial application, and currying.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [partialsRight] The arguments to append to those provided\n * to the new function.\n * @param {Array} [holdersRight] The `partialsRight` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createHybrid(func, bitmask, thisArg, partials, holders, partialsRight, holdersRight, argPos, ary, arity) {\n var isAry = bitmask & WRAP_ARY_FLAG,\n isBind = bitmask & WRAP_BIND_FLAG,\n isBindKey = bitmask & WRAP_BIND_KEY_FLAG,\n isCurried = bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG),\n isFlip = bitmask & WRAP_FLIP_FLAG,\n Ctor = isBindKey ? undefined : createCtor(func);\n\n function wrapper() {\n var length = arguments.length,\n args = Array(length),\n index = length;\n\n while (index--) {\n args[index] = arguments[index];\n }\n if (isCurried) {\n var placeholder = getHolder(wrapper),\n holdersCount = countHolders(args, placeholder);\n }\n if (partials) {\n args = composeArgs(args, partials, holders, isCurried);\n }\n if (partialsRight) {\n args = composeArgsRight(args, partialsRight, holdersRight, isCurried);\n }\n length -= holdersCount;\n if (isCurried && length < arity) {\n var newHolders = replaceHolders(args, placeholder);\n return createRecurry(\n func, bitmask, createHybrid, wrapper.placeholder, thisArg,\n args, newHolders, argPos, ary, arity - length\n );\n }\n var thisBinding = isBind ? thisArg : this,\n fn = isBindKey ? thisBinding[func] : func;\n\n length = args.length;\n if (argPos) {\n args = reorder(args, argPos);\n } else if (isFlip && length > 1) {\n args.reverse();\n }\n if (isAry && ary < length) {\n args.length = ary;\n }\n if (this && this !== root && this instanceof wrapper) {\n fn = Ctor || createCtor(fn);\n }\n return fn.apply(thisBinding, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a function like `_.invertBy`.\n *\n * @private\n * @param {Function} setter The function to set accumulator values.\n * @param {Function} toIteratee The function to resolve iteratees.\n * @returns {Function} Returns the new inverter function.\n */\n function createInverter(setter, toIteratee) {\n return function(object, iteratee) {\n return baseInverter(object, setter, toIteratee(iteratee), {});\n };\n }\n\n /**\n * Creates a function that performs a mathematical operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @param {number} [defaultValue] The value used for `undefined` arguments.\n * @returns {Function} Returns the new mathematical operation function.\n */\n function createMathOperation(operator, defaultValue) {\n return function(value, other) {\n var result;\n if (value === undefined && other === undefined) {\n return defaultValue;\n }\n if (value !== undefined) {\n result = value;\n }\n if (other !== undefined) {\n if (result === undefined) {\n return other;\n }\n if (typeof value == 'string' || typeof other == 'string') {\n value = baseToString(value);\n other = baseToString(other);\n } else {\n value = baseToNumber(value);\n other = baseToNumber(other);\n }\n result = operator(value, other);\n }\n return result;\n };\n }\n\n /**\n * Creates a function like `_.over`.\n *\n * @private\n * @param {Function} arrayFunc The function to iterate over iteratees.\n * @returns {Function} Returns the new over function.\n */\n function createOver(arrayFunc) {\n return flatRest(function(iteratees) {\n iteratees = arrayMap(iteratees, baseUnary(getIteratee()));\n return baseRest(function(args) {\n var thisArg = this;\n return arrayFunc(iteratees, function(iteratee) {\n return apply(iteratee, thisArg, args);\n });\n });\n });\n }\n\n /**\n * Creates the padding for `string` based on `length`. The `chars` string\n * is truncated if the number of characters exceeds `length`.\n *\n * @private\n * @param {number} length The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padding for `string`.\n */\n function createPadding(length, chars) {\n chars = chars === undefined ? ' ' : baseToString(chars);\n\n var charsLength = chars.length;\n if (charsLength < 2) {\n return charsLength ? baseRepeat(chars, length) : chars;\n }\n var result = baseRepeat(chars, nativeCeil(length / stringSize(chars)));\n return hasUnicode(chars)\n ? castSlice(stringToArray(result), 0, length).join('')\n : result.slice(0, length);\n }\n\n /**\n * Creates a function that wraps `func` to invoke it with the `this` binding\n * of `thisArg` and `partials` prepended to the arguments it receives.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {Array} partials The arguments to prepend to those provided to\n * the new function.\n * @returns {Function} Returns the new wrapped function.\n */\n function createPartial(func, bitmask, thisArg, partials) {\n var isBind = bitmask & WRAP_BIND_FLAG,\n Ctor = createCtor(func);\n\n function wrapper() {\n var argsIndex = -1,\n argsLength = arguments.length,\n leftIndex = -1,\n leftLength = partials.length,\n args = Array(leftLength + argsLength),\n fn = (this && this !== root && this instanceof wrapper) ? Ctor : func;\n\n while (++leftIndex < leftLength) {\n args[leftIndex] = partials[leftIndex];\n }\n while (argsLength--) {\n args[leftIndex++] = arguments[++argsIndex];\n }\n return apply(fn, isBind ? thisArg : this, args);\n }\n return wrapper;\n }\n\n /**\n * Creates a `_.range` or `_.rangeRight` function.\n *\n * @private\n * @param {boolean} [fromRight] Specify iterating from right to left.\n * @returns {Function} Returns the new range function.\n */\n function createRange(fromRight) {\n return function(start, end, step) {\n if (step && typeof step != 'number' && isIterateeCall(start, end, step)) {\n end = step = undefined;\n }\n // Ensure the sign of `-0` is preserved.\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n step = step === undefined ? (start < end ? 1 : -1) : toFinite(step);\n return baseRange(start, end, step, fromRight);\n };\n }\n\n /**\n * Creates a function that performs a relational operation on two values.\n *\n * @private\n * @param {Function} operator The function to perform the operation.\n * @returns {Function} Returns the new relational operation function.\n */\n function createRelationalOperation(operator) {\n return function(value, other) {\n if (!(typeof value == 'string' && typeof other == 'string')) {\n value = toNumber(value);\n other = toNumber(other);\n }\n return operator(value, other);\n };\n }\n\n /**\n * Creates a function that wraps `func` to continue currying.\n *\n * @private\n * @param {Function} func The function to wrap.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @param {Function} wrapFunc The function to create the `func` wrapper.\n * @param {*} placeholder The placeholder value.\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to prepend to those provided to\n * the new function.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createRecurry(func, bitmask, wrapFunc, placeholder, thisArg, partials, holders, argPos, ary, arity) {\n var isCurry = bitmask & WRAP_CURRY_FLAG,\n newHolders = isCurry ? holders : undefined,\n newHoldersRight = isCurry ? undefined : holders,\n newPartials = isCurry ? partials : undefined,\n newPartialsRight = isCurry ? undefined : partials;\n\n bitmask |= (isCurry ? WRAP_PARTIAL_FLAG : WRAP_PARTIAL_RIGHT_FLAG);\n bitmask &= ~(isCurry ? WRAP_PARTIAL_RIGHT_FLAG : WRAP_PARTIAL_FLAG);\n\n if (!(bitmask & WRAP_CURRY_BOUND_FLAG)) {\n bitmask &= ~(WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG);\n }\n var newData = [\n func, bitmask, thisArg, newPartials, newHolders, newPartialsRight,\n newHoldersRight, argPos, ary, arity\n ];\n\n var result = wrapFunc.apply(undefined, newData);\n if (isLaziable(func)) {\n setData(result, newData);\n }\n result.placeholder = placeholder;\n return setWrapToString(result, func, bitmask);\n }\n\n /**\n * Creates a function like `_.round`.\n *\n * @private\n * @param {string} methodName The name of the `Math` method to use when rounding.\n * @returns {Function} Returns the new round function.\n */\n function createRound(methodName) {\n var func = Math[methodName];\n return function(number, precision) {\n number = toNumber(number);\n precision = precision == null ? 0 : nativeMin(toInteger(precision), 292);\n if (precision && nativeIsFinite(number)) {\n // Shift with exponential notation to avoid floating-point issues.\n // See [MDN](https://mdn.io/round#Examples) for more details.\n var pair = (toString(number) + 'e').split('e'),\n value = func(pair[0] + 'e' + (+pair[1] + precision));\n\n pair = (toString(value) + 'e').split('e');\n return +(pair[0] + 'e' + (+pair[1] - precision));\n }\n return func(number);\n };\n }\n\n /**\n * Creates a set object of `values`.\n *\n * @private\n * @param {Array} values The values to add to the set.\n * @returns {Object} Returns the new set.\n */\n var createSet = !(Set && (1 / setToArray(new Set([,-0]))[1]) == INFINITY) ? noop : function(values) {\n return new Set(values);\n };\n\n /**\n * Creates a `_.toPairs` or `_.toPairsIn` function.\n *\n * @private\n * @param {Function} keysFunc The function to get the keys of a given object.\n * @returns {Function} Returns the new pairs function.\n */\n function createToPairs(keysFunc) {\n return function(object) {\n var tag = getTag(object);\n if (tag == mapTag) {\n return mapToArray(object);\n }\n if (tag == setTag) {\n return setToPairs(object);\n }\n return baseToPairs(object, keysFunc(object));\n };\n }\n\n /**\n * Creates a function that either curries or invokes `func` with optional\n * `this` binding and partially applied arguments.\n *\n * @private\n * @param {Function|string} func The function or method name to wrap.\n * @param {number} bitmask The bitmask flags.\n * 1 - `_.bind`\n * 2 - `_.bindKey`\n * 4 - `_.curry` or `_.curryRight` of a bound function\n * 8 - `_.curry`\n * 16 - `_.curryRight`\n * 32 - `_.partial`\n * 64 - `_.partialRight`\n * 128 - `_.rearg`\n * 256 - `_.ary`\n * 512 - `_.flip`\n * @param {*} [thisArg] The `this` binding of `func`.\n * @param {Array} [partials] The arguments to be partially applied.\n * @param {Array} [holders] The `partials` placeholder indexes.\n * @param {Array} [argPos] The argument positions of the new function.\n * @param {number} [ary] The arity cap of `func`.\n * @param {number} [arity] The arity of `func`.\n * @returns {Function} Returns the new wrapped function.\n */\n function createWrap(func, bitmask, thisArg, partials, holders, argPos, ary, arity) {\n var isBindKey = bitmask & WRAP_BIND_KEY_FLAG;\n if (!isBindKey && typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var length = partials ? partials.length : 0;\n if (!length) {\n bitmask &= ~(WRAP_PARTIAL_FLAG | WRAP_PARTIAL_RIGHT_FLAG);\n partials = holders = undefined;\n }\n ary = ary === undefined ? ary : nativeMax(toInteger(ary), 0);\n arity = arity === undefined ? arity : toInteger(arity);\n length -= holders ? holders.length : 0;\n\n if (bitmask & WRAP_PARTIAL_RIGHT_FLAG) {\n var partialsRight = partials,\n holdersRight = holders;\n\n partials = holders = undefined;\n }\n var data = isBindKey ? undefined : getData(func);\n\n var newData = [\n func, bitmask, thisArg, partials, holders, partialsRight, holdersRight,\n argPos, ary, arity\n ];\n\n if (data) {\n mergeData(newData, data);\n }\n func = newData[0];\n bitmask = newData[1];\n thisArg = newData[2];\n partials = newData[3];\n holders = newData[4];\n arity = newData[9] = newData[9] === undefined\n ? (isBindKey ? 0 : func.length)\n : nativeMax(newData[9] - length, 0);\n\n if (!arity && bitmask & (WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG)) {\n bitmask &= ~(WRAP_CURRY_FLAG | WRAP_CURRY_RIGHT_FLAG);\n }\n if (!bitmask || bitmask == WRAP_BIND_FLAG) {\n var result = createBind(func, bitmask, thisArg);\n } else if (bitmask == WRAP_CURRY_FLAG || bitmask == WRAP_CURRY_RIGHT_FLAG) {\n result = createCurry(func, bitmask, arity);\n } else if ((bitmask == WRAP_PARTIAL_FLAG || bitmask == (WRAP_BIND_FLAG | WRAP_PARTIAL_FLAG)) && !holders.length) {\n result = createPartial(func, bitmask, thisArg, partials);\n } else {\n result = createHybrid.apply(undefined, newData);\n }\n var setter = data ? baseSetData : setData;\n return setWrapToString(setter(result, newData), func, bitmask);\n }\n\n /**\n * Used by `_.defaults` to customize its `_.assignIn` use to assign properties\n * of source objects to the destination object for all destination properties\n * that resolve to `undefined`.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to assign.\n * @param {Object} object The parent object of `objValue`.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsAssignIn(objValue, srcValue, key, object) {\n if (objValue === undefined ||\n (eq(objValue, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n return srcValue;\n }\n return objValue;\n }\n\n /**\n * Used by `_.defaultsDeep` to customize its `_.merge` use to merge source\n * objects into destination objects that are passed thru.\n *\n * @private\n * @param {*} objValue The destination value.\n * @param {*} srcValue The source value.\n * @param {string} key The key of the property to merge.\n * @param {Object} object The parent object of `objValue`.\n * @param {Object} source The parent object of `srcValue`.\n * @param {Object} [stack] Tracks traversed source values and their merged\n * counterparts.\n * @returns {*} Returns the value to assign.\n */\n function customDefaultsMerge(objValue, srcValue, key, object, source, stack) {\n if (isObject(objValue) && isObject(srcValue)) {\n // Recursively merge objects and arrays (susceptible to call stack limits).\n stack.set(srcValue, objValue);\n baseMerge(objValue, srcValue, undefined, customDefaultsMerge, stack);\n stack['delete'](srcValue);\n }\n return objValue;\n }\n\n /**\n * Used by `_.omit` to customize its `_.cloneDeep` use to only clone plain\n * objects.\n *\n * @private\n * @param {*} value The value to inspect.\n * @param {string} key The key of the property to inspect.\n * @returns {*} Returns the uncloned value or `undefined` to defer cloning to `_.cloneDeep`.\n */\n function customOmitClone(value) {\n return isPlainObject(value) ? undefined : value;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for arrays with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Array} array The array to compare.\n * @param {Array} other The other array to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `array` and `other` objects.\n * @returns {boolean} Returns `true` if the arrays are equivalent, else `false`.\n */\n function equalArrays(array, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n arrLength = array.length,\n othLength = other.length;\n\n if (arrLength != othLength && !(isPartial && othLength > arrLength)) {\n return false;\n }\n // Check that cyclic values are equal.\n var arrStacked = stack.get(array);\n var othStacked = stack.get(other);\n if (arrStacked && othStacked) {\n return arrStacked == other && othStacked == array;\n }\n var index = -1,\n result = true,\n seen = (bitmask & COMPARE_UNORDERED_FLAG) ? new SetCache : undefined;\n\n stack.set(array, other);\n stack.set(other, array);\n\n // Ignore non-index properties.\n while (++index < arrLength) {\n var arrValue = array[index],\n othValue = other[index];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, arrValue, index, other, array, stack)\n : customizer(arrValue, othValue, index, array, other, stack);\n }\n if (compared !== undefined) {\n if (compared) {\n continue;\n }\n result = false;\n break;\n }\n // Recursively compare arrays (susceptible to call stack limits).\n if (seen) {\n if (!arraySome(other, function(othValue, othIndex) {\n if (!cacheHas(seen, othIndex) &&\n (arrValue === othValue || equalFunc(arrValue, othValue, bitmask, customizer, stack))) {\n return seen.push(othIndex);\n }\n })) {\n result = false;\n break;\n }\n } else if (!(\n arrValue === othValue ||\n equalFunc(arrValue, othValue, bitmask, customizer, stack)\n )) {\n result = false;\n break;\n }\n }\n stack['delete'](array);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for comparing objects of\n * the same `toStringTag`.\n *\n * **Note:** This function only supports comparing values with tags of\n * `Boolean`, `Date`, `Error`, `Number`, `RegExp`, or `String`.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {string} tag The `toStringTag` of the objects to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalByTag(object, other, tag, bitmask, customizer, equalFunc, stack) {\n switch (tag) {\n case dataViewTag:\n if ((object.byteLength != other.byteLength) ||\n (object.byteOffset != other.byteOffset)) {\n return false;\n }\n object = object.buffer;\n other = other.buffer;\n\n case arrayBufferTag:\n if ((object.byteLength != other.byteLength) ||\n !equalFunc(new Uint8Array(object), new Uint8Array(other))) {\n return false;\n }\n return true;\n\n case boolTag:\n case dateTag:\n case numberTag:\n // Coerce booleans to `1` or `0` and dates to milliseconds.\n // Invalid dates are coerced to `NaN`.\n return eq(+object, +other);\n\n case errorTag:\n return object.name == other.name && object.message == other.message;\n\n case regexpTag:\n case stringTag:\n // Coerce regexes to strings and treat strings, primitives and objects,\n // as equal. See http://www.ecma-international.org/ecma-262/7.0/#sec-regexp.prototype.tostring\n // for more details.\n return object == (other + '');\n\n case mapTag:\n var convert = mapToArray;\n\n case setTag:\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG;\n convert || (convert = setToArray);\n\n if (object.size != other.size && !isPartial) {\n return false;\n }\n // Assume cyclic values are equal.\n var stacked = stack.get(object);\n if (stacked) {\n return stacked == other;\n }\n bitmask |= COMPARE_UNORDERED_FLAG;\n\n // Recursively compare objects (susceptible to call stack limits).\n stack.set(object, other);\n var result = equalArrays(convert(object), convert(other), bitmask, customizer, equalFunc, stack);\n stack['delete'](object);\n return result;\n\n case symbolTag:\n if (symbolValueOf) {\n return symbolValueOf.call(object) == symbolValueOf.call(other);\n }\n }\n return false;\n }\n\n /**\n * A specialized version of `baseIsEqualDeep` for objects with support for\n * partial deep comparisons.\n *\n * @private\n * @param {Object} object The object to compare.\n * @param {Object} other The other object to compare.\n * @param {number} bitmask The bitmask flags. See `baseIsEqual` for more details.\n * @param {Function} customizer The function to customize comparisons.\n * @param {Function} equalFunc The function to determine equivalents of values.\n * @param {Object} stack Tracks traversed `object` and `other` objects.\n * @returns {boolean} Returns `true` if the objects are equivalent, else `false`.\n */\n function equalObjects(object, other, bitmask, customizer, equalFunc, stack) {\n var isPartial = bitmask & COMPARE_PARTIAL_FLAG,\n objProps = getAllKeys(object),\n objLength = objProps.length,\n othProps = getAllKeys(other),\n othLength = othProps.length;\n\n if (objLength != othLength && !isPartial) {\n return false;\n }\n var index = objLength;\n while (index--) {\n var key = objProps[index];\n if (!(isPartial ? key in other : hasOwnProperty.call(other, key))) {\n return false;\n }\n }\n // Check that cyclic values are equal.\n var objStacked = stack.get(object);\n var othStacked = stack.get(other);\n if (objStacked && othStacked) {\n return objStacked == other && othStacked == object;\n }\n var result = true;\n stack.set(object, other);\n stack.set(other, object);\n\n var skipCtor = isPartial;\n while (++index < objLength) {\n key = objProps[index];\n var objValue = object[key],\n othValue = other[key];\n\n if (customizer) {\n var compared = isPartial\n ? customizer(othValue, objValue, key, other, object, stack)\n : customizer(objValue, othValue, key, object, other, stack);\n }\n // Recursively compare objects (susceptible to call stack limits).\n if (!(compared === undefined\n ? (objValue === othValue || equalFunc(objValue, othValue, bitmask, customizer, stack))\n : compared\n )) {\n result = false;\n break;\n }\n skipCtor || (skipCtor = key == 'constructor');\n }\n if (result && !skipCtor) {\n var objCtor = object.constructor,\n othCtor = other.constructor;\n\n // Non `Object` object instances with different constructors are not equal.\n if (objCtor != othCtor &&\n ('constructor' in object && 'constructor' in other) &&\n !(typeof objCtor == 'function' && objCtor instanceof objCtor &&\n typeof othCtor == 'function' && othCtor instanceof othCtor)) {\n result = false;\n }\n }\n stack['delete'](object);\n stack['delete'](other);\n return result;\n }\n\n /**\n * A specialized version of `baseRest` which flattens the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @returns {Function} Returns the new function.\n */\n function flatRest(func) {\n return setToString(overRest(func, undefined, flatten), func + '');\n }\n\n /**\n * Creates an array of own enumerable property names and symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeys(object) {\n return baseGetAllKeys(object, keys, getSymbols);\n }\n\n /**\n * Creates an array of own and inherited enumerable property names and\n * symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names and symbols.\n */\n function getAllKeysIn(object) {\n return baseGetAllKeys(object, keysIn, getSymbolsIn);\n }\n\n /**\n * Gets metadata for `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {*} Returns the metadata for `func`.\n */\n var getData = !metaMap ? noop : function(func) {\n return metaMap.get(func);\n };\n\n /**\n * Gets the name of `func`.\n *\n * @private\n * @param {Function} func The function to query.\n * @returns {string} Returns the function name.\n */\n function getFuncName(func) {\n var result = (func.name + ''),\n array = realNames[result],\n length = hasOwnProperty.call(realNames, result) ? array.length : 0;\n\n while (length--) {\n var data = array[length],\n otherFunc = data.func;\n if (otherFunc == null || otherFunc == func) {\n return data.name;\n }\n }\n return result;\n }\n\n /**\n * Gets the argument placeholder value for `func`.\n *\n * @private\n * @param {Function} func The function to inspect.\n * @returns {*} Returns the placeholder value.\n */\n function getHolder(func) {\n var object = hasOwnProperty.call(lodash, 'placeholder') ? lodash : func;\n return object.placeholder;\n }\n\n /**\n * Gets the appropriate \"iteratee\" function. If `_.iteratee` is customized,\n * this function returns the custom method, otherwise it returns `baseIteratee`.\n * If arguments are provided, the chosen function is invoked with them and\n * its result is returned.\n *\n * @private\n * @param {*} [value] The value to convert to an iteratee.\n * @param {number} [arity] The arity of the created iteratee.\n * @returns {Function} Returns the chosen function or its result.\n */\n function getIteratee() {\n var result = lodash.iteratee || iteratee;\n result = result === iteratee ? baseIteratee : result;\n return arguments.length ? result(arguments[0], arguments[1]) : result;\n }\n\n /**\n * Gets the data for `map`.\n *\n * @private\n * @param {Object} map The map to query.\n * @param {string} key The reference key.\n * @returns {*} Returns the map data.\n */\n function getMapData(map, key) {\n var data = map.__data__;\n return isKeyable(key)\n ? data[typeof key == 'string' ? 'string' : 'hash']\n : data.map;\n }\n\n /**\n * Gets the property names, values, and compare flags of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the match data of `object`.\n */\n function getMatchData(object) {\n var result = keys(object),\n length = result.length;\n\n while (length--) {\n var key = result[length],\n value = object[key];\n\n result[length] = [key, value, isStrictComparable(value)];\n }\n return result;\n }\n\n /**\n * Gets the native function at `key` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the method to get.\n * @returns {*} Returns the function if it's native, else `undefined`.\n */\n function getNative(object, key) {\n var value = getValue(object, key);\n return baseIsNative(value) ? value : undefined;\n }\n\n /**\n * A specialized version of `baseGetTag` which ignores `Symbol.toStringTag` values.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the raw `toStringTag`.\n */\n function getRawTag(value) {\n var isOwn = hasOwnProperty.call(value, symToStringTag),\n tag = value[symToStringTag];\n\n try {\n value[symToStringTag] = undefined;\n var unmasked = true;\n } catch (e) {}\n\n var result = nativeObjectToString.call(value);\n if (unmasked) {\n if (isOwn) {\n value[symToStringTag] = tag;\n } else {\n delete value[symToStringTag];\n }\n }\n return result;\n }\n\n /**\n * Creates an array of the own enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbols = !nativeGetSymbols ? stubArray : function(object) {\n if (object == null) {\n return [];\n }\n object = Object(object);\n return arrayFilter(nativeGetSymbols(object), function(symbol) {\n return propertyIsEnumerable.call(object, symbol);\n });\n };\n\n /**\n * Creates an array of the own and inherited enumerable symbols of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of symbols.\n */\n var getSymbolsIn = !nativeGetSymbols ? stubArray : function(object) {\n var result = [];\n while (object) {\n arrayPush(result, getSymbols(object));\n object = getPrototype(object);\n }\n return result;\n };\n\n /**\n * Gets the `toStringTag` of `value`.\n *\n * @private\n * @param {*} value The value to query.\n * @returns {string} Returns the `toStringTag`.\n */\n var getTag = baseGetTag;\n\n // Fallback for data views, maps, sets, and weak maps in IE 11 and promises in Node.js < 6.\n if ((DataView && getTag(new DataView(new ArrayBuffer(1))) != dataViewTag) ||\n (Map && getTag(new Map) != mapTag) ||\n (Promise && getTag(Promise.resolve()) != promiseTag) ||\n (Set && getTag(new Set) != setTag) ||\n (WeakMap && getTag(new WeakMap) != weakMapTag)) {\n getTag = function(value) {\n var result = baseGetTag(value),\n Ctor = result == objectTag ? value.constructor : undefined,\n ctorString = Ctor ? toSource(Ctor) : '';\n\n if (ctorString) {\n switch (ctorString) {\n case dataViewCtorString: return dataViewTag;\n case mapCtorString: return mapTag;\n case promiseCtorString: return promiseTag;\n case setCtorString: return setTag;\n case weakMapCtorString: return weakMapTag;\n }\n }\n return result;\n };\n }\n\n /**\n * Gets the view, applying any `transforms` to the `start` and `end` positions.\n *\n * @private\n * @param {number} start The start of the view.\n * @param {number} end The end of the view.\n * @param {Array} transforms The transformations to apply to the view.\n * @returns {Object} Returns an object containing the `start` and `end`\n * positions of the view.\n */\n function getView(start, end, transforms) {\n var index = -1,\n length = transforms.length;\n\n while (++index < length) {\n var data = transforms[index],\n size = data.size;\n\n switch (data.type) {\n case 'drop': start += size; break;\n case 'dropRight': end -= size; break;\n case 'take': end = nativeMin(end, start + size); break;\n case 'takeRight': start = nativeMax(start, end - size); break;\n }\n }\n return { 'start': start, 'end': end };\n }\n\n /**\n * Extracts wrapper details from the `source` body comment.\n *\n * @private\n * @param {string} source The source to inspect.\n * @returns {Array} Returns the wrapper details.\n */\n function getWrapDetails(source) {\n var match = source.match(reWrapDetails);\n return match ? match[1].split(reSplitDetails) : [];\n }\n\n /**\n * Checks if `path` exists on `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @param {Function} hasFunc The function to check properties.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n */\n function hasPath(object, path, hasFunc) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length,\n result = false;\n\n while (++index < length) {\n var key = toKey(path[index]);\n if (!(result = object != null && hasFunc(object, key))) {\n break;\n }\n object = object[key];\n }\n if (result || ++index != length) {\n return result;\n }\n length = object == null ? 0 : object.length;\n return !!length && isLength(length) && isIndex(key, length) &&\n (isArray(object) || isArguments(object));\n }\n\n /**\n * Initializes an array clone.\n *\n * @private\n * @param {Array} array The array to clone.\n * @returns {Array} Returns the initialized clone.\n */\n function initCloneArray(array) {\n var length = array.length,\n result = new array.constructor(length);\n\n // Add properties assigned by `RegExp#exec`.\n if (length && typeof array[0] == 'string' && hasOwnProperty.call(array, 'index')) {\n result.index = array.index;\n result.input = array.input;\n }\n return result;\n }\n\n /**\n * Initializes an object clone.\n *\n * @private\n * @param {Object} object The object to clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneObject(object) {\n return (typeof object.constructor == 'function' && !isPrototype(object))\n ? baseCreate(getPrototype(object))\n : {};\n }\n\n /**\n * Initializes an object clone based on its `toStringTag`.\n *\n * **Note:** This function only supports cloning values with tags of\n * `Boolean`, `Date`, `Error`, `Map`, `Number`, `RegExp`, `Set`, or `String`.\n *\n * @private\n * @param {Object} object The object to clone.\n * @param {string} tag The `toStringTag` of the object to clone.\n * @param {boolean} [isDeep] Specify a deep clone.\n * @returns {Object} Returns the initialized clone.\n */\n function initCloneByTag(object, tag, isDeep) {\n var Ctor = object.constructor;\n switch (tag) {\n case arrayBufferTag:\n return cloneArrayBuffer(object);\n\n case boolTag:\n case dateTag:\n return new Ctor(+object);\n\n case dataViewTag:\n return cloneDataView(object, isDeep);\n\n case float32Tag: case float64Tag:\n case int8Tag: case int16Tag: case int32Tag:\n case uint8Tag: case uint8ClampedTag: case uint16Tag: case uint32Tag:\n return cloneTypedArray(object, isDeep);\n\n case mapTag:\n return new Ctor;\n\n case numberTag:\n case stringTag:\n return new Ctor(object);\n\n case regexpTag:\n return cloneRegExp(object);\n\n case setTag:\n return new Ctor;\n\n case symbolTag:\n return cloneSymbol(object);\n }\n }\n\n /**\n * Inserts wrapper `details` in a comment at the top of the `source` body.\n *\n * @private\n * @param {string} source The source to modify.\n * @returns {Array} details The details to insert.\n * @returns {string} Returns the modified source.\n */\n function insertWrapDetails(source, details) {\n var length = details.length;\n if (!length) {\n return source;\n }\n var lastIndex = length - 1;\n details[lastIndex] = (length > 1 ? '& ' : '') + details[lastIndex];\n details = details.join(length > 2 ? ', ' : ' ');\n return source.replace(reWrapComment, '{\\n/* [wrapped with ' + details + '] */\\n');\n }\n\n /**\n * Checks if `value` is a flattenable `arguments` object or array.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is flattenable, else `false`.\n */\n function isFlattenable(value) {\n return isArray(value) || isArguments(value) ||\n !!(spreadableSymbol && value && value[spreadableSymbol]);\n }\n\n /**\n * Checks if `value` is a valid array-like index.\n *\n * @private\n * @param {*} value The value to check.\n * @param {number} [length=MAX_SAFE_INTEGER] The upper bounds of a valid index.\n * @returns {boolean} Returns `true` if `value` is a valid index, else `false`.\n */\n function isIndex(value, length) {\n var type = typeof value;\n length = length == null ? MAX_SAFE_INTEGER : length;\n\n return !!length &&\n (type == 'number' ||\n (type != 'symbol' && reIsUint.test(value))) &&\n (value > -1 && value % 1 == 0 && value < length);\n }\n\n /**\n * Checks if the given arguments are from an iteratee call.\n *\n * @private\n * @param {*} value The potential iteratee value argument.\n * @param {*} index The potential iteratee index or key argument.\n * @param {*} object The potential iteratee object argument.\n * @returns {boolean} Returns `true` if the arguments are from an iteratee call,\n * else `false`.\n */\n function isIterateeCall(value, index, object) {\n if (!isObject(object)) {\n return false;\n }\n var type = typeof index;\n if (type == 'number'\n ? (isArrayLike(object) && isIndex(index, object.length))\n : (type == 'string' && index in object)\n ) {\n return eq(object[index], value);\n }\n return false;\n }\n\n /**\n * Checks if `value` is a property name and not a property path.\n *\n * @private\n * @param {*} value The value to check.\n * @param {Object} [object] The object to query keys on.\n * @returns {boolean} Returns `true` if `value` is a property name, else `false`.\n */\n function isKey(value, object) {\n if (isArray(value)) {\n return false;\n }\n var type = typeof value;\n if (type == 'number' || type == 'symbol' || type == 'boolean' ||\n value == null || isSymbol(value)) {\n return true;\n }\n return reIsPlainProp.test(value) || !reIsDeepProp.test(value) ||\n (object != null && value in Object(object));\n }\n\n /**\n * Checks if `value` is suitable for use as unique object key.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is suitable, else `false`.\n */\n function isKeyable(value) {\n var type = typeof value;\n return (type == 'string' || type == 'number' || type == 'symbol' || type == 'boolean')\n ? (value !== '__proto__')\n : (value === null);\n }\n\n /**\n * Checks if `func` has a lazy counterpart.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` has a lazy counterpart,\n * else `false`.\n */\n function isLaziable(func) {\n var funcName = getFuncName(func),\n other = lodash[funcName];\n\n if (typeof other != 'function' || !(funcName in LazyWrapper.prototype)) {\n return false;\n }\n if (func === other) {\n return true;\n }\n var data = getData(other);\n return !!data && func === data[0];\n }\n\n /**\n * Checks if `func` has its source masked.\n *\n * @private\n * @param {Function} func The function to check.\n * @returns {boolean} Returns `true` if `func` is masked, else `false`.\n */\n function isMasked(func) {\n return !!maskSrcKey && (maskSrcKey in func);\n }\n\n /**\n * Checks if `func` is capable of being masked.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `func` is maskable, else `false`.\n */\n var isMaskable = coreJsData ? isFunction : stubFalse;\n\n /**\n * Checks if `value` is likely a prototype object.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a prototype, else `false`.\n */\n function isPrototype(value) {\n var Ctor = value && value.constructor,\n proto = (typeof Ctor == 'function' && Ctor.prototype) || objectProto;\n\n return value === proto;\n }\n\n /**\n * Checks if `value` is suitable for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` if suitable for strict\n * equality comparisons, else `false`.\n */\n function isStrictComparable(value) {\n return value === value && !isObject(value);\n }\n\n /**\n * A specialized version of `matchesProperty` for source values suitable\n * for strict equality comparisons, i.e. `===`.\n *\n * @private\n * @param {string} key The key of the property to get.\n * @param {*} srcValue The value to match.\n * @returns {Function} Returns the new spec function.\n */\n function matchesStrictComparable(key, srcValue) {\n return function(object) {\n if (object == null) {\n return false;\n }\n return object[key] === srcValue &&\n (srcValue !== undefined || (key in Object(object)));\n };\n }\n\n /**\n * A specialized version of `_.memoize` which clears the memoized function's\n * cache when it exceeds `MAX_MEMOIZE_SIZE`.\n *\n * @private\n * @param {Function} func The function to have its output memoized.\n * @returns {Function} Returns the new memoized function.\n */\n function memoizeCapped(func) {\n var result = memoize(func, function(key) {\n if (cache.size === MAX_MEMOIZE_SIZE) {\n cache.clear();\n }\n return key;\n });\n\n var cache = result.cache;\n return result;\n }\n\n /**\n * Merges the function metadata of `source` into `data`.\n *\n * Merging metadata reduces the number of wrappers used to invoke a function.\n * This is possible because methods like `_.bind`, `_.curry`, and `_.partial`\n * may be applied regardless of execution order. Methods like `_.ary` and\n * `_.rearg` modify function arguments, making the order in which they are\n * executed important, preventing the merging of metadata. However, we make\n * an exception for a safe combined case where curried functions have `_.ary`\n * and or `_.rearg` applied.\n *\n * @private\n * @param {Array} data The destination metadata.\n * @param {Array} source The source metadata.\n * @returns {Array} Returns `data`.\n */\n function mergeData(data, source) {\n var bitmask = data[1],\n srcBitmask = source[1],\n newBitmask = bitmask | srcBitmask,\n isCommon = newBitmask < (WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG | WRAP_ARY_FLAG);\n\n var isCombo =\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_CURRY_FLAG)) ||\n ((srcBitmask == WRAP_ARY_FLAG) && (bitmask == WRAP_REARG_FLAG) && (data[7].length <= source[8])) ||\n ((srcBitmask == (WRAP_ARY_FLAG | WRAP_REARG_FLAG)) && (source[7].length <= source[8]) && (bitmask == WRAP_CURRY_FLAG));\n\n // Exit early if metadata can't be merged.\n if (!(isCommon || isCombo)) {\n return data;\n }\n // Use source `thisArg` if available.\n if (srcBitmask & WRAP_BIND_FLAG) {\n data[2] = source[2];\n // Set when currying a bound function.\n newBitmask |= bitmask & WRAP_BIND_FLAG ? 0 : WRAP_CURRY_BOUND_FLAG;\n }\n // Compose partial arguments.\n var value = source[3];\n if (value) {\n var partials = data[3];\n data[3] = partials ? composeArgs(partials, value, source[4]) : value;\n data[4] = partials ? replaceHolders(data[3], PLACEHOLDER) : source[4];\n }\n // Compose partial right arguments.\n value = source[5];\n if (value) {\n partials = data[5];\n data[5] = partials ? composeArgsRight(partials, value, source[6]) : value;\n data[6] = partials ? replaceHolders(data[5], PLACEHOLDER) : source[6];\n }\n // Use source `argPos` if available.\n value = source[7];\n if (value) {\n data[7] = value;\n }\n // Use source `ary` if it's smaller.\n if (srcBitmask & WRAP_ARY_FLAG) {\n data[8] = data[8] == null ? source[8] : nativeMin(data[8], source[8]);\n }\n // Use source `arity` if one is not provided.\n if (data[9] == null) {\n data[9] = source[9];\n }\n // Use source `func` and merge bitmasks.\n data[0] = source[0];\n data[1] = newBitmask;\n\n return data;\n }\n\n /**\n * This function is like\n * [`Object.keys`](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * except that it includes inherited enumerable properties.\n *\n * @private\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n */\n function nativeKeysIn(object) {\n var result = [];\n if (object != null) {\n for (var key in Object(object)) {\n result.push(key);\n }\n }\n return result;\n }\n\n /**\n * Converts `value` to a string using `Object.prototype.toString`.\n *\n * @private\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n */\n function objectToString(value) {\n return nativeObjectToString.call(value);\n }\n\n /**\n * A specialized version of `baseRest` which transforms the rest array.\n *\n * @private\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @param {Function} transform The rest array transform.\n * @returns {Function} Returns the new function.\n */\n function overRest(func, start, transform) {\n start = nativeMax(start === undefined ? (func.length - 1) : start, 0);\n return function() {\n var args = arguments,\n index = -1,\n length = nativeMax(args.length - start, 0),\n array = Array(length);\n\n while (++index < length) {\n array[index] = args[start + index];\n }\n index = -1;\n var otherArgs = Array(start + 1);\n while (++index < start) {\n otherArgs[index] = args[index];\n }\n otherArgs[start] = transform(array);\n return apply(func, this, otherArgs);\n };\n }\n\n /**\n * Gets the parent value at `path` of `object`.\n *\n * @private\n * @param {Object} object The object to query.\n * @param {Array} path The path to get the parent value of.\n * @returns {*} Returns the parent value.\n */\n function parent(object, path) {\n return path.length < 2 ? object : baseGet(object, baseSlice(path, 0, -1));\n }\n\n /**\n * Reorder `array` according to the specified indexes where the element at\n * the first index is assigned as the first element, the element at\n * the second index is assigned as the second element, and so on.\n *\n * @private\n * @param {Array} array The array to reorder.\n * @param {Array} indexes The arranged array indexes.\n * @returns {Array} Returns `array`.\n */\n function reorder(array, indexes) {\n var arrLength = array.length,\n length = nativeMin(indexes.length, arrLength),\n oldArray = copyArray(array);\n\n while (length--) {\n var index = indexes[length];\n array[length] = isIndex(index, arrLength) ? oldArray[index] : undefined;\n }\n return array;\n }\n\n /**\n * Gets the value at `key`, unless `key` is \"__proto__\" or \"constructor\".\n *\n * @private\n * @param {Object} object The object to query.\n * @param {string} key The key of the property to get.\n * @returns {*} Returns the property value.\n */\n function safeGet(object, key) {\n if (key === 'constructor' && typeof object[key] === 'function') {\n return;\n }\n\n if (key == '__proto__') {\n return;\n }\n\n return object[key];\n }\n\n /**\n * Sets metadata for `func`.\n *\n * **Note:** If this function becomes hot, i.e. is invoked a lot in a short\n * period of time, it will trip its breaker and transition to an identity\n * function to avoid garbage collection pauses in V8. See\n * [V8 issue 2070](https://bugs.chromium.org/p/v8/issues/detail?id=2070)\n * for more details.\n *\n * @private\n * @param {Function} func The function to associate metadata with.\n * @param {*} data The metadata.\n * @returns {Function} Returns `func`.\n */\n var setData = shortOut(baseSetData);\n\n /**\n * A simple wrapper around the global [`setTimeout`](https://mdn.io/setTimeout).\n *\n * @private\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @returns {number|Object} Returns the timer id or timeout object.\n */\n var setTimeout = ctxSetTimeout || function(func, wait) {\n return root.setTimeout(func, wait);\n };\n\n /**\n * Sets the `toString` method of `func` to return `string`.\n *\n * @private\n * @param {Function} func The function to modify.\n * @param {Function} string The `toString` result.\n * @returns {Function} Returns `func`.\n */\n var setToString = shortOut(baseSetToString);\n\n /**\n * Sets the `toString` method of `wrapper` to mimic the source of `reference`\n * with wrapper details in a comment at the top of the source body.\n *\n * @private\n * @param {Function} wrapper The function to modify.\n * @param {Function} reference The reference function.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Function} Returns `wrapper`.\n */\n function setWrapToString(wrapper, reference, bitmask) {\n var source = (reference + '');\n return setToString(wrapper, insertWrapDetails(source, updateWrapDetails(getWrapDetails(source), bitmask)));\n }\n\n /**\n * Creates a function that'll short out and invoke `identity` instead\n * of `func` when it's called `HOT_COUNT` or more times in `HOT_SPAN`\n * milliseconds.\n *\n * @private\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new shortable function.\n */\n function shortOut(func) {\n var count = 0,\n lastCalled = 0;\n\n return function() {\n var stamp = nativeNow(),\n remaining = HOT_SPAN - (stamp - lastCalled);\n\n lastCalled = stamp;\n if (remaining > 0) {\n if (++count >= HOT_COUNT) {\n return arguments[0];\n }\n } else {\n count = 0;\n }\n return func.apply(undefined, arguments);\n };\n }\n\n /**\n * A specialized version of `_.shuffle` which mutates and sets the size of `array`.\n *\n * @private\n * @param {Array} array The array to shuffle.\n * @param {number} [size=array.length] The size of `array`.\n * @returns {Array} Returns `array`.\n */\n function shuffleSelf(array, size) {\n var index = -1,\n length = array.length,\n lastIndex = length - 1;\n\n size = size === undefined ? length : size;\n while (++index < size) {\n var rand = baseRandom(index, lastIndex),\n value = array[rand];\n\n array[rand] = array[index];\n array[index] = value;\n }\n array.length = size;\n return array;\n }\n\n /**\n * Converts `string` to a property path array.\n *\n * @private\n * @param {string} string The string to convert.\n * @returns {Array} Returns the property path array.\n */\n var stringToPath = memoizeCapped(function(string) {\n var result = [];\n if (string.charCodeAt(0) === 46 /* . */) {\n result.push('');\n }\n string.replace(rePropName, function(match, number, quote, subString) {\n result.push(quote ? subString.replace(reEscapeChar, '$1') : (number || match));\n });\n return result;\n });\n\n /**\n * Converts `value` to a string key if it's not a string or symbol.\n *\n * @private\n * @param {*} value The value to inspect.\n * @returns {string|symbol} Returns the key.\n */\n function toKey(value) {\n if (typeof value == 'string' || isSymbol(value)) {\n return value;\n }\n var result = (value + '');\n return (result == '0' && (1 / value) == -INFINITY) ? '-0' : result;\n }\n\n /**\n * Converts `func` to its source code.\n *\n * @private\n * @param {Function} func The function to convert.\n * @returns {string} Returns the source code.\n */\n function toSource(func) {\n if (func != null) {\n try {\n return funcToString.call(func);\n } catch (e) {}\n try {\n return (func + '');\n } catch (e) {}\n }\n return '';\n }\n\n /**\n * Updates wrapper `details` based on `bitmask` flags.\n *\n * @private\n * @returns {Array} details The details to modify.\n * @param {number} bitmask The bitmask flags. See `createWrap` for more details.\n * @returns {Array} Returns `details`.\n */\n function updateWrapDetails(details, bitmask) {\n arrayEach(wrapFlags, function(pair) {\n var value = '_.' + pair[0];\n if ((bitmask & pair[1]) && !arrayIncludes(details, value)) {\n details.push(value);\n }\n });\n return details.sort();\n }\n\n /**\n * Creates a clone of `wrapper`.\n *\n * @private\n * @param {Object} wrapper The wrapper to clone.\n * @returns {Object} Returns the cloned wrapper.\n */\n function wrapperClone(wrapper) {\n if (wrapper instanceof LazyWrapper) {\n return wrapper.clone();\n }\n var result = new LodashWrapper(wrapper.__wrapped__, wrapper.__chain__);\n result.__actions__ = copyArray(wrapper.__actions__);\n result.__index__ = wrapper.__index__;\n result.__values__ = wrapper.__values__;\n return result;\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an array of elements split into groups the length of `size`.\n * If `array` can't be split evenly, the final chunk will be the remaining\n * elements.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to process.\n * @param {number} [size=1] The length of each chunk\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the new array of chunks.\n * @example\n *\n * _.chunk(['a', 'b', 'c', 'd'], 2);\n * // => [['a', 'b'], ['c', 'd']]\n *\n * _.chunk(['a', 'b', 'c', 'd'], 3);\n * // => [['a', 'b', 'c'], ['d']]\n */\n function chunk(array, size, guard) {\n if ((guard ? isIterateeCall(array, size, guard) : size === undefined)) {\n size = 1;\n } else {\n size = nativeMax(toInteger(size), 0);\n }\n var length = array == null ? 0 : array.length;\n if (!length || size < 1) {\n return [];\n }\n var index = 0,\n resIndex = 0,\n result = Array(nativeCeil(length / size));\n\n while (index < length) {\n result[resIndex++] = baseSlice(array, index, (index += size));\n }\n return result;\n }\n\n /**\n * Creates an array with all falsey values removed. The values `false`, `null`,\n * `0`, `\"\"`, `undefined`, and `NaN` are falsey.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to compact.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.compact([0, 1, false, 2, '', 3]);\n * // => [1, 2, 3]\n */\n function compact(array) {\n var index = -1,\n length = array == null ? 0 : array.length,\n resIndex = 0,\n result = [];\n\n while (++index < length) {\n var value = array[index];\n if (value) {\n result[resIndex++] = value;\n }\n }\n return result;\n }\n\n /**\n * Creates a new array concatenating `array` with any additional arrays\n * and/or values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to concatenate.\n * @param {...*} [values] The values to concatenate.\n * @returns {Array} Returns the new concatenated array.\n * @example\n *\n * var array = [1];\n * var other = _.concat(array, 2, [3], [[4]]);\n *\n * console.log(other);\n * // => [1, 2, 3, [4]]\n *\n * console.log(array);\n * // => [1]\n */\n function concat() {\n var length = arguments.length;\n if (!length) {\n return [];\n }\n var args = Array(length - 1),\n array = arguments[0],\n index = length;\n\n while (index--) {\n args[index - 1] = arguments[index];\n }\n return arrayPush(isArray(array) ? copyArray(array) : [array], baseFlatten(args, 1));\n }\n\n /**\n * Creates an array of `array` values not included in the other given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * **Note:** Unlike `_.pullAll`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.without, _.xor\n * @example\n *\n * _.difference([2, 1], [2, 3]);\n * // => [1]\n */\n var difference = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `iteratee` which\n * is invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * **Note:** Unlike `_.pullAllBy`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.differenceBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.differenceBy([{ 'x': 2 }, { 'x': 1 }], [{ 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var differenceBy = baseRest(function(array, values) {\n var iteratee = last(values);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.difference` except that it accepts `comparator`\n * which is invoked to compare elements of `array` to `values`. The order and\n * references of result values are determined by the first array. The comparator\n * is invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.pullAllWith`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...Array} [values] The values to exclude.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n *\n * _.differenceWith(objects, [{ 'x': 1, 'y': 2 }], _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }]\n */\n var differenceWith = baseRest(function(array, values) {\n var comparator = last(values);\n if (isArrayLikeObject(comparator)) {\n comparator = undefined;\n }\n return isArrayLikeObject(array)\n ? baseDifference(array, baseFlatten(values, 1, isArrayLikeObject, true), undefined, comparator)\n : [];\n });\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.drop([1, 2, 3]);\n * // => [2, 3]\n *\n * _.drop([1, 2, 3], 2);\n * // => [3]\n *\n * _.drop([1, 2, 3], 5);\n * // => []\n *\n * _.drop([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function drop(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with `n` elements dropped from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to drop.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.dropRight([1, 2, 3]);\n * // => [1, 2]\n *\n * _.dropRight([1, 2, 3], 2);\n * // => [1]\n *\n * _.dropRight([1, 2, 3], 5);\n * // => []\n *\n * _.dropRight([1, 2, 3], 0);\n * // => [1, 2, 3]\n */\n function dropRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the end.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.dropRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropRightWhile(users, ['active', false]);\n * // => objects for ['barney']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropRightWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` excluding elements dropped from the beginning.\n * Elements are dropped until `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.dropWhile(users, function(o) { return !o.active; });\n * // => objects for ['pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.dropWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.dropWhile(users, ['active', false]);\n * // => objects for ['pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.dropWhile(users, 'active');\n * // => objects for ['barney', 'fred', 'pebbles']\n */\n function dropWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), true)\n : [];\n }\n\n /**\n * Fills elements of `array` with `value` from `start` up to, but not\n * including, `end`.\n *\n * **Note:** This method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Array\n * @param {Array} array The array to fill.\n * @param {*} value The value to fill `array` with.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.fill(array, 'a');\n * console.log(array);\n * // => ['a', 'a', 'a']\n *\n * _.fill(Array(3), 2);\n * // => [2, 2, 2]\n *\n * _.fill([4, 6, 8, 10], '*', 1, 3);\n * // => [4, '*', '*', 10]\n */\n function fill(array, value, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (start && typeof start != 'number' && isIterateeCall(array, value, start)) {\n start = 0;\n end = length;\n }\n return baseFill(array, value, start, end);\n }\n\n /**\n * This method is like `_.find` except that it returns the index of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.findIndex(users, function(o) { return o.user == 'barney'; });\n * // => 0\n *\n * // The `_.matches` iteratee shorthand.\n * _.findIndex(users, { 'user': 'fred', 'active': false });\n * // => 1\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findIndex(users, ['active', false]);\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.findIndex(users, 'active');\n * // => 2\n */\n function findIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index);\n }\n\n /**\n * This method is like `_.findIndex` except that it iterates over elements\n * of `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the found element, else `-1`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.findLastIndex(users, function(o) { return o.user == 'pebbles'; });\n * // => 2\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastIndex(users, { 'user': 'barney', 'active': true });\n * // => 0\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastIndex(users, ['active', false]);\n * // => 2\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastIndex(users, 'active');\n * // => 0\n */\n function findLastIndex(array, predicate, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length - 1;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = fromIndex < 0\n ? nativeMax(length + index, 0)\n : nativeMin(index, length - 1);\n }\n return baseFindIndex(array, getIteratee(predicate, 3), index, true);\n }\n\n /**\n * Flattens `array` a single level deep.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flatten([1, [2, [3, [4]], 5]]);\n * // => [1, 2, [3, [4]], 5]\n */\n function flatten(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, 1) : [];\n }\n\n /**\n * Recursively flattens `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * _.flattenDeep([1, [2, [3, [4]], 5]]);\n * // => [1, 2, 3, 4, 5]\n */\n function flattenDeep(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseFlatten(array, INFINITY) : [];\n }\n\n /**\n * Recursively flatten `array` up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Array\n * @param {Array} array The array to flatten.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * var array = [1, [2, [3, [4]], 5]];\n *\n * _.flattenDepth(array, 1);\n * // => [1, 2, [3, [4]], 5]\n *\n * _.flattenDepth(array, 2);\n * // => [1, 2, 3, [4], 5]\n */\n function flattenDepth(array, depth) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(array, depth);\n }\n\n /**\n * The inverse of `_.toPairs`; this method returns an object composed\n * from key-value `pairs`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} pairs The key-value pairs.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.fromPairs([['a', 1], ['b', 2]]);\n * // => { 'a': 1, 'b': 2 }\n */\n function fromPairs(pairs) {\n var index = -1,\n length = pairs == null ? 0 : pairs.length,\n result = {};\n\n while (++index < length) {\n var pair = pairs[index];\n result[pair[0]] = pair[1];\n }\n return result;\n }\n\n /**\n * Gets the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias first\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the first element of `array`.\n * @example\n *\n * _.head([1, 2, 3]);\n * // => 1\n *\n * _.head([]);\n * // => undefined\n */\n function head(array) {\n return (array && array.length) ? array[0] : undefined;\n }\n\n /**\n * Gets the index at which the first occurrence of `value` is found in `array`\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. If `fromIndex` is negative, it's used as the\n * offset from the end of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.indexOf([1, 2, 1, 2], 2);\n * // => 1\n *\n * // Search from the `fromIndex`.\n * _.indexOf([1, 2, 1, 2], 2, 2);\n * // => 3\n */\n function indexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = fromIndex == null ? 0 : toInteger(fromIndex);\n if (index < 0) {\n index = nativeMax(length + index, 0);\n }\n return baseIndexOf(array, value, index);\n }\n\n /**\n * Gets all but the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.initial([1, 2, 3]);\n * // => [1, 2]\n */\n function initial(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 0, -1) : [];\n }\n\n /**\n * Creates an array of unique values that are included in all given arrays\n * using [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons. The order and references of result values are\n * determined by the first array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersection([2, 1], [2, 3]);\n * // => [2]\n */\n var intersection = baseRest(function(arrays) {\n var mapped = arrayMap(arrays, castArrayLikeObject);\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped)\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `iteratee`\n * which is invoked for each element of each `arrays` to generate the criterion\n * by which they're compared. The order and references of result values are\n * determined by the first array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * _.intersectionBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [2.1]\n *\n * // The `_.property` iteratee shorthand.\n * _.intersectionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }]\n */\n var intersectionBy = baseRest(function(arrays) {\n var iteratee = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n if (iteratee === last(mapped)) {\n iteratee = undefined;\n } else {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, getIteratee(iteratee, 2))\n : [];\n });\n\n /**\n * This method is like `_.intersection` except that it accepts `comparator`\n * which is invoked to compare elements of `arrays`. The order and references\n * of result values are determined by the first array. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of intersecting values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.intersectionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }]\n */\n var intersectionWith = baseRest(function(arrays) {\n var comparator = last(arrays),\n mapped = arrayMap(arrays, castArrayLikeObject);\n\n comparator = typeof comparator == 'function' ? comparator : undefined;\n if (comparator) {\n mapped.pop();\n }\n return (mapped.length && mapped[0] === arrays[0])\n ? baseIntersection(mapped, undefined, comparator)\n : [];\n });\n\n /**\n * Converts all elements in `array` into a string separated by `separator`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to convert.\n * @param {string} [separator=','] The element separator.\n * @returns {string} Returns the joined string.\n * @example\n *\n * _.join(['a', 'b', 'c'], '~');\n * // => 'a~b~c'\n */\n function join(array, separator) {\n return array == null ? '' : nativeJoin.call(array, separator);\n }\n\n /**\n * Gets the last element of `array`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {*} Returns the last element of `array`.\n * @example\n *\n * _.last([1, 2, 3]);\n * // => 3\n */\n function last(array) {\n var length = array == null ? 0 : array.length;\n return length ? array[length - 1] : undefined;\n }\n\n /**\n * This method is like `_.indexOf` except that it iterates over elements of\n * `array` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=array.length-1] The index to search from.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.lastIndexOf([1, 2, 1, 2], 2);\n * // => 3\n *\n * // Search from the `fromIndex`.\n * _.lastIndexOf([1, 2, 1, 2], 2, 2);\n * // => 1\n */\n function lastIndexOf(array, value, fromIndex) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return -1;\n }\n var index = length;\n if (fromIndex !== undefined) {\n index = toInteger(fromIndex);\n index = index < 0 ? nativeMax(length + index, 0) : nativeMin(index, length - 1);\n }\n return value === value\n ? strictLastIndexOf(array, value, index)\n : baseFindIndex(array, baseIsNaN, index, true);\n }\n\n /**\n * Gets the element at index `n` of `array`. If `n` is negative, the nth\n * element from the end is returned.\n *\n * @static\n * @memberOf _\n * @since 4.11.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=0] The index of the element to return.\n * @returns {*} Returns the nth element of `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n *\n * _.nth(array, 1);\n * // => 'b'\n *\n * _.nth(array, -2);\n * // => 'c';\n */\n function nth(array, n) {\n return (array && array.length) ? baseNth(array, toInteger(n)) : undefined;\n }\n\n /**\n * Removes all given values from `array` using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.without`, this method mutates `array`. Use `_.remove`\n * to remove elements from an array by predicate.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...*} [values] The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pull(array, 'a', 'c');\n * console.log(array);\n * // => ['b', 'b']\n */\n var pull = baseRest(pullAll);\n\n /**\n * This method is like `_.pull` except that it accepts an array of values to remove.\n *\n * **Note:** Unlike `_.difference`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = ['a', 'b', 'c', 'a', 'b', 'c'];\n *\n * _.pullAll(array, ['a', 'c']);\n * console.log(array);\n * // => ['b', 'b']\n */\n function pullAll(array, values) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values)\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `iteratee` which is\n * invoked for each element of `array` and `values` to generate the criterion\n * by which they're compared. The iteratee is invoked with one argument: (value).\n *\n * **Note:** Unlike `_.differenceBy`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1 }, { 'x': 2 }, { 'x': 3 }, { 'x': 1 }];\n *\n * _.pullAllBy(array, [{ 'x': 1 }, { 'x': 3 }], 'x');\n * console.log(array);\n * // => [{ 'x': 2 }]\n */\n function pullAllBy(array, values, iteratee) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, getIteratee(iteratee, 2))\n : array;\n }\n\n /**\n * This method is like `_.pullAll` except that it accepts `comparator` which\n * is invoked to compare elements of `array` to `values`. The comparator is\n * invoked with two arguments: (arrVal, othVal).\n *\n * **Note:** Unlike `_.differenceWith`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Array} values The values to remove.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [{ 'x': 1, 'y': 2 }, { 'x': 3, 'y': 4 }, { 'x': 5, 'y': 6 }];\n *\n * _.pullAllWith(array, [{ 'x': 3, 'y': 4 }], _.isEqual);\n * console.log(array);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 5, 'y': 6 }]\n */\n function pullAllWith(array, values, comparator) {\n return (array && array.length && values && values.length)\n ? basePullAll(array, values, undefined, comparator)\n : array;\n }\n\n /**\n * Removes elements from `array` corresponding to `indexes` and returns an\n * array of removed elements.\n *\n * **Note:** Unlike `_.at`, this method mutates `array`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {...(number|number[])} [indexes] The indexes of elements to remove.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = ['a', 'b', 'c', 'd'];\n * var pulled = _.pullAt(array, [1, 3]);\n *\n * console.log(array);\n * // => ['a', 'c']\n *\n * console.log(pulled);\n * // => ['b', 'd']\n */\n var pullAt = flatRest(function(array, indexes) {\n var length = array == null ? 0 : array.length,\n result = baseAt(array, indexes);\n\n basePullAt(array, arrayMap(indexes, function(index) {\n return isIndex(index, length) ? +index : index;\n }).sort(compareAscending));\n\n return result;\n });\n\n /**\n * Removes all elements from `array` that `predicate` returns truthy for\n * and returns an array of the removed elements. The predicate is invoked\n * with three arguments: (value, index, array).\n *\n * **Note:** Unlike `_.filter`, this method mutates `array`. Use `_.pull`\n * to pull elements from an array by value.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new array of removed elements.\n * @example\n *\n * var array = [1, 2, 3, 4];\n * var evens = _.remove(array, function(n) {\n * return n % 2 == 0;\n * });\n *\n * console.log(array);\n * // => [1, 3]\n *\n * console.log(evens);\n * // => [2, 4]\n */\n function remove(array, predicate) {\n var result = [];\n if (!(array && array.length)) {\n return result;\n }\n var index = -1,\n indexes = [],\n length = array.length;\n\n predicate = getIteratee(predicate, 3);\n while (++index < length) {\n var value = array[index];\n if (predicate(value, index, array)) {\n result.push(value);\n indexes.push(index);\n }\n }\n basePullAt(array, indexes);\n return result;\n }\n\n /**\n * Reverses `array` so that the first element becomes the last, the second\n * element becomes the second to last, and so on.\n *\n * **Note:** This method mutates `array` and is based on\n * [`Array#reverse`](https://mdn.io/Array/reverse).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to modify.\n * @returns {Array} Returns `array`.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _.reverse(array);\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function reverse(array) {\n return array == null ? array : nativeReverse.call(array);\n }\n\n /**\n * Creates a slice of `array` from `start` up to, but not including, `end`.\n *\n * **Note:** This method is used instead of\n * [`Array#slice`](https://mdn.io/Array/slice) to ensure dense arrays are\n * returned.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to slice.\n * @param {number} [start=0] The start position.\n * @param {number} [end=array.length] The end position.\n * @returns {Array} Returns the slice of `array`.\n */\n function slice(array, start, end) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n if (end && typeof end != 'number' && isIterateeCall(array, start, end)) {\n start = 0;\n end = length;\n }\n else {\n start = start == null ? 0 : toInteger(start);\n end = end === undefined ? length : toInteger(end);\n }\n return baseSlice(array, start, end);\n }\n\n /**\n * Uses a binary search to determine the lowest index at which `value`\n * should be inserted into `array` in order to maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedIndex([30, 50], 40);\n * // => 1\n */\n function sortedIndex(array, value) {\n return baseSortedIndex(array, value);\n }\n\n /**\n * This method is like `_.sortedIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 0\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedIndexBy(objects, { 'x': 4 }, 'x');\n * // => 0\n */\n function sortedIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2));\n }\n\n /**\n * This method is like `_.indexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedIndexOf([4, 5, 5, 5, 6], 5);\n * // => 1\n */\n function sortedIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value);\n if (index < length && eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.sortedIndex` except that it returns the highest\n * index at which `value` should be inserted into `array` in order to\n * maintain its sort order.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * _.sortedLastIndex([4, 5, 5, 5, 6], 5);\n * // => 4\n */\n function sortedLastIndex(array, value) {\n return baseSortedIndex(array, value, true);\n }\n\n /**\n * This method is like `_.sortedLastIndex` except that it accepts `iteratee`\n * which is invoked for `value` and each element of `array` to compute their\n * sort ranking. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The sorted array to inspect.\n * @param {*} value The value to evaluate.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {number} Returns the index at which `value` should be inserted\n * into `array`.\n * @example\n *\n * var objects = [{ 'x': 4 }, { 'x': 5 }];\n *\n * _.sortedLastIndexBy(objects, { 'x': 4 }, function(o) { return o.x; });\n * // => 1\n *\n * // The `_.property` iteratee shorthand.\n * _.sortedLastIndexBy(objects, { 'x': 4 }, 'x');\n * // => 1\n */\n function sortedLastIndexBy(array, value, iteratee) {\n return baseSortedIndexBy(array, value, getIteratee(iteratee, 2), true);\n }\n\n /**\n * This method is like `_.lastIndexOf` except that it performs a binary\n * search on a sorted `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {*} value The value to search for.\n * @returns {number} Returns the index of the matched value, else `-1`.\n * @example\n *\n * _.sortedLastIndexOf([4, 5, 5, 5, 6], 5);\n * // => 3\n */\n function sortedLastIndexOf(array, value) {\n var length = array == null ? 0 : array.length;\n if (length) {\n var index = baseSortedIndex(array, value, true) - 1;\n if (eq(array[index], value)) {\n return index;\n }\n }\n return -1;\n }\n\n /**\n * This method is like `_.uniq` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniq([1, 1, 2]);\n * // => [1, 2]\n */\n function sortedUniq(array) {\n return (array && array.length)\n ? baseSortedUniq(array)\n : [];\n }\n\n /**\n * This method is like `_.uniqBy` except that it's designed and optimized\n * for sorted arrays.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.sortedUniqBy([1.1, 1.2, 2.3, 2.4], Math.floor);\n * // => [1.1, 2.3]\n */\n function sortedUniqBy(array, iteratee) {\n return (array && array.length)\n ? baseSortedUniq(array, getIteratee(iteratee, 2))\n : [];\n }\n\n /**\n * Gets all but the first element of `array`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.tail([1, 2, 3]);\n * // => [2, 3]\n */\n function tail(array) {\n var length = array == null ? 0 : array.length;\n return length ? baseSlice(array, 1, length) : [];\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the beginning.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.take([1, 2, 3]);\n * // => [1]\n *\n * _.take([1, 2, 3], 2);\n * // => [1, 2]\n *\n * _.take([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.take([1, 2, 3], 0);\n * // => []\n */\n function take(array, n, guard) {\n if (!(array && array.length)) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n return baseSlice(array, 0, n < 0 ? 0 : n);\n }\n\n /**\n * Creates a slice of `array` with `n` elements taken from the end.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {number} [n=1] The number of elements to take.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * _.takeRight([1, 2, 3]);\n * // => [3]\n *\n * _.takeRight([1, 2, 3], 2);\n * // => [2, 3]\n *\n * _.takeRight([1, 2, 3], 5);\n * // => [1, 2, 3]\n *\n * _.takeRight([1, 2, 3], 0);\n * // => []\n */\n function takeRight(array, n, guard) {\n var length = array == null ? 0 : array.length;\n if (!length) {\n return [];\n }\n n = (guard || n === undefined) ? 1 : toInteger(n);\n n = length - n;\n return baseSlice(array, n < 0 ? 0 : n, length);\n }\n\n /**\n * Creates a slice of `array` with elements taken from the end. Elements are\n * taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': false }\n * ];\n *\n * _.takeRightWhile(users, function(o) { return !o.active; });\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeRightWhile(users, { 'user': 'pebbles', 'active': false });\n * // => objects for ['pebbles']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeRightWhile(users, ['active', false]);\n * // => objects for ['fred', 'pebbles']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeRightWhile(users, 'active');\n * // => []\n */\n function takeRightWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3), false, true)\n : [];\n }\n\n /**\n * Creates a slice of `array` with elements taken from the beginning. Elements\n * are taken until `predicate` returns falsey. The predicate is invoked with\n * three arguments: (value, index, array).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Array\n * @param {Array} array The array to query.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the slice of `array`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'active': false },\n * { 'user': 'fred', 'active': false },\n * { 'user': 'pebbles', 'active': true }\n * ];\n *\n * _.takeWhile(users, function(o) { return !o.active; });\n * // => objects for ['barney', 'fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.takeWhile(users, { 'user': 'barney', 'active': false });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.takeWhile(users, ['active', false]);\n * // => objects for ['barney', 'fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.takeWhile(users, 'active');\n * // => []\n */\n function takeWhile(array, predicate) {\n return (array && array.length)\n ? baseWhile(array, getIteratee(predicate, 3))\n : [];\n }\n\n /**\n * Creates an array of unique values, in order, from all given arrays using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.union([2], [1, 2]);\n * // => [2, 1]\n */\n var union = baseRest(function(arrays) {\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true));\n });\n\n /**\n * This method is like `_.union` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which uniqueness is computed. Result values are chosen from the first\n * array in which the value occurs. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * _.unionBy([2.1], [1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.unionBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n var unionBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.union` except that it accepts `comparator` which\n * is invoked to compare elements of `arrays`. Result values are chosen from\n * the first array in which the value occurs. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of combined values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.unionWith(objects, others, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var unionWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseUniq(baseFlatten(arrays, 1, isArrayLikeObject, true), undefined, comparator);\n });\n\n /**\n * Creates a duplicate-free version of an array, using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons, in which only the first occurrence of each element\n * is kept. The order of result values is determined by the order they occur\n * in the array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniq([2, 1, 2]);\n * // => [2, 1]\n */\n function uniq(array) {\n return (array && array.length) ? baseUniq(array) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `iteratee` which is\n * invoked for each element in `array` to generate the criterion by which\n * uniqueness is computed. The order of result values is determined by the\n * order they occur in the array. The iteratee is invoked with one argument:\n * (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * _.uniqBy([2.1, 1.2, 2.3], Math.floor);\n * // => [2.1, 1.2]\n *\n * // The `_.property` iteratee shorthand.\n * _.uniqBy([{ 'x': 1 }, { 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 1 }, { 'x': 2 }]\n */\n function uniqBy(array, iteratee) {\n return (array && array.length) ? baseUniq(array, getIteratee(iteratee, 2)) : [];\n }\n\n /**\n * This method is like `_.uniq` except that it accepts `comparator` which\n * is invoked to compare elements of `array`. The order of result values is\n * determined by the order they occur in the array.The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new duplicate free array.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.uniqWith(objects, _.isEqual);\n * // => [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }]\n */\n function uniqWith(array, comparator) {\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return (array && array.length) ? baseUniq(array, undefined, comparator) : [];\n }\n\n /**\n * This method is like `_.zip` except that it accepts an array of grouped\n * elements and creates an array regrouping the elements to their pre-zip\n * configuration.\n *\n * @static\n * @memberOf _\n * @since 1.2.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n *\n * _.unzip(zipped);\n * // => [['a', 'b'], [1, 2], [true, false]]\n */\n function unzip(array) {\n if (!(array && array.length)) {\n return [];\n }\n var length = 0;\n array = arrayFilter(array, function(group) {\n if (isArrayLikeObject(group)) {\n length = nativeMax(group.length, length);\n return true;\n }\n });\n return baseTimes(length, function(index) {\n return arrayMap(array, baseProperty(index));\n });\n }\n\n /**\n * This method is like `_.unzip` except that it accepts `iteratee` to specify\n * how regrouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {Array} array The array of grouped elements to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * regrouped values.\n * @returns {Array} Returns the new array of regrouped elements.\n * @example\n *\n * var zipped = _.zip([1, 2], [10, 20], [100, 200]);\n * // => [[1, 10, 100], [2, 20, 200]]\n *\n * _.unzipWith(zipped, _.add);\n * // => [3, 30, 300]\n */\n function unzipWith(array, iteratee) {\n if (!(array && array.length)) {\n return [];\n }\n var result = unzip(array);\n if (iteratee == null) {\n return result;\n }\n return arrayMap(result, function(group) {\n return apply(iteratee, undefined, group);\n });\n }\n\n /**\n * Creates an array excluding all given values using\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * for equality comparisons.\n *\n * **Note:** Unlike `_.pull`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {Array} array The array to inspect.\n * @param {...*} [values] The values to exclude.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.xor\n * @example\n *\n * _.without([2, 1, 2, 3], 1, 2);\n * // => [3]\n */\n var without = baseRest(function(array, values) {\n return isArrayLikeObject(array)\n ? baseDifference(array, values)\n : [];\n });\n\n /**\n * Creates an array of unique values that is the\n * [symmetric difference](https://en.wikipedia.org/wiki/Symmetric_difference)\n * of the given arrays. The order of result values is determined by the order\n * they occur in the arrays.\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @returns {Array} Returns the new array of filtered values.\n * @see _.difference, _.without\n * @example\n *\n * _.xor([2, 1], [2, 3]);\n * // => [1, 3]\n */\n var xor = baseRest(function(arrays) {\n return baseXor(arrayFilter(arrays, isArrayLikeObject));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `iteratee` which is\n * invoked for each element of each `arrays` to generate the criterion by\n * which by which they're compared. The order of result values is determined\n * by the order they occur in the arrays. The iteratee is invoked with one\n * argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * _.xorBy([2.1, 1.2], [2.3, 3.4], Math.floor);\n * // => [1.2, 3.4]\n *\n * // The `_.property` iteratee shorthand.\n * _.xorBy([{ 'x': 1 }], [{ 'x': 2 }, { 'x': 1 }], 'x');\n * // => [{ 'x': 2 }]\n */\n var xorBy = baseRest(function(arrays) {\n var iteratee = last(arrays);\n if (isArrayLikeObject(iteratee)) {\n iteratee = undefined;\n }\n return baseXor(arrayFilter(arrays, isArrayLikeObject), getIteratee(iteratee, 2));\n });\n\n /**\n * This method is like `_.xor` except that it accepts `comparator` which is\n * invoked to compare elements of `arrays`. The order of result values is\n * determined by the order they occur in the arrays. The comparator is invoked\n * with two arguments: (arrVal, othVal).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Array\n * @param {...Array} [arrays] The arrays to inspect.\n * @param {Function} [comparator] The comparator invoked per element.\n * @returns {Array} Returns the new array of filtered values.\n * @example\n *\n * var objects = [{ 'x': 1, 'y': 2 }, { 'x': 2, 'y': 1 }];\n * var others = [{ 'x': 1, 'y': 1 }, { 'x': 1, 'y': 2 }];\n *\n * _.xorWith(objects, others, _.isEqual);\n * // => [{ 'x': 2, 'y': 1 }, { 'x': 1, 'y': 1 }]\n */\n var xorWith = baseRest(function(arrays) {\n var comparator = last(arrays);\n comparator = typeof comparator == 'function' ? comparator : undefined;\n return baseXor(arrayFilter(arrays, isArrayLikeObject), undefined, comparator);\n });\n\n /**\n * Creates an array of grouped elements, the first of which contains the\n * first elements of the given arrays, the second of which contains the\n * second elements of the given arrays, and so on.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zip(['a', 'b'], [1, 2], [true, false]);\n * // => [['a', 1, true], ['b', 2, false]]\n */\n var zip = baseRest(unzip);\n\n /**\n * This method is like `_.fromPairs` except that it accepts two arrays,\n * one of property identifiers and one of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 0.4.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObject(['a', 'b'], [1, 2]);\n * // => { 'a': 1, 'b': 2 }\n */\n function zipObject(props, values) {\n return baseZipObject(props || [], values || [], assignValue);\n }\n\n /**\n * This method is like `_.zipObject` except that it supports property paths.\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Array\n * @param {Array} [props=[]] The property identifiers.\n * @param {Array} [values=[]] The property values.\n * @returns {Object} Returns the new object.\n * @example\n *\n * _.zipObjectDeep(['a.b[0].c', 'a.b[1].d'], [1, 2]);\n * // => { 'a': { 'b': [{ 'c': 1 }, { 'd': 2 }] } }\n */\n function zipObjectDeep(props, values) {\n return baseZipObject(props || [], values || [], baseSet);\n }\n\n /**\n * This method is like `_.zip` except that it accepts `iteratee` to specify\n * how grouped values should be combined. The iteratee is invoked with the\n * elements of each group: (...group).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Array\n * @param {...Array} [arrays] The arrays to process.\n * @param {Function} [iteratee=_.identity] The function to combine\n * grouped values.\n * @returns {Array} Returns the new array of grouped elements.\n * @example\n *\n * _.zipWith([1, 2], [10, 20], [100, 200], function(a, b, c) {\n * return a + b + c;\n * });\n * // => [111, 222]\n */\n var zipWith = baseRest(function(arrays) {\n var length = arrays.length,\n iteratee = length > 1 ? arrays[length - 1] : undefined;\n\n iteratee = typeof iteratee == 'function' ? (arrays.pop(), iteratee) : undefined;\n return unzipWith(arrays, iteratee);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates a `lodash` wrapper instance that wraps `value` with explicit method\n * chain sequences enabled. The result of such sequences must be unwrapped\n * with `_#value`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Seq\n * @param {*} value The value to wrap.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'pebbles', 'age': 1 }\n * ];\n *\n * var youngest = _\n * .chain(users)\n * .sortBy('age')\n * .map(function(o) {\n * return o.user + ' is ' + o.age;\n * })\n * .head()\n * .value();\n * // => 'pebbles is 1'\n */\n function chain(value) {\n var result = lodash(value);\n result.__chain__ = true;\n return result;\n }\n\n /**\n * This method invokes `interceptor` and returns `value`. The interceptor\n * is invoked with one argument; (value). The purpose of this method is to\n * \"tap into\" a method chain sequence in order to modify intermediate results.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns `value`.\n * @example\n *\n * _([1, 2, 3])\n * .tap(function(array) {\n * // Mutate input array.\n * array.pop();\n * })\n * .reverse()\n * .value();\n * // => [2, 1]\n */\n function tap(value, interceptor) {\n interceptor(value);\n return value;\n }\n\n /**\n * This method is like `_.tap` except that it returns the result of `interceptor`.\n * The purpose of this method is to \"pass thru\" values replacing intermediate\n * results in a method chain sequence.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Seq\n * @param {*} value The value to provide to `interceptor`.\n * @param {Function} interceptor The function to invoke.\n * @returns {*} Returns the result of `interceptor`.\n * @example\n *\n * _(' abc ')\n * .chain()\n * .trim()\n * .thru(function(value) {\n * return [value];\n * })\n * .value();\n * // => ['abc']\n */\n function thru(value, interceptor) {\n return interceptor(value);\n }\n\n /**\n * This method is the wrapper version of `_.at`.\n *\n * @name at\n * @memberOf _\n * @since 1.0.0\n * @category Seq\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _(object).at(['a[0].b.c', 'a[1]']).value();\n * // => [3, 4]\n */\n var wrapperAt = flatRest(function(paths) {\n var length = paths.length,\n start = length ? paths[0] : 0,\n value = this.__wrapped__,\n interceptor = function(object) { return baseAt(object, paths); };\n\n if (length > 1 || this.__actions__.length ||\n !(value instanceof LazyWrapper) || !isIndex(start)) {\n return this.thru(interceptor);\n }\n value = value.slice(start, +start + (length ? 1 : 0));\n value.__actions__.push({\n 'func': thru,\n 'args': [interceptor],\n 'thisArg': undefined\n });\n return new LodashWrapper(value, this.__chain__).thru(function(array) {\n if (length && !array.length) {\n array.push(undefined);\n }\n return array;\n });\n });\n\n /**\n * Creates a `lodash` wrapper instance with explicit method chain sequences enabled.\n *\n * @name chain\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 40 }\n * ];\n *\n * // A sequence without explicit chaining.\n * _(users).head();\n * // => { 'user': 'barney', 'age': 36 }\n *\n * // A sequence with explicit chaining.\n * _(users)\n * .chain()\n * .head()\n * .pick('user')\n * .value();\n * // => { 'user': 'barney' }\n */\n function wrapperChain() {\n return chain(this);\n }\n\n /**\n * Executes the chain sequence and returns the wrapped result.\n *\n * @name commit\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2];\n * var wrapped = _(array).push(3);\n *\n * console.log(array);\n * // => [1, 2]\n *\n * wrapped = wrapped.commit();\n * console.log(array);\n * // => [1, 2, 3]\n *\n * wrapped.last();\n * // => 3\n *\n * console.log(array);\n * // => [1, 2, 3]\n */\n function wrapperCommit() {\n return new LodashWrapper(this.value(), this.__chain__);\n }\n\n /**\n * Gets the next value on a wrapped object following the\n * [iterator protocol](https://mdn.io/iteration_protocols#iterator).\n *\n * @name next\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the next iterator value.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 1 }\n *\n * wrapped.next();\n * // => { 'done': false, 'value': 2 }\n *\n * wrapped.next();\n * // => { 'done': true, 'value': undefined }\n */\n function wrapperNext() {\n if (this.__values__ === undefined) {\n this.__values__ = toArray(this.value());\n }\n var done = this.__index__ >= this.__values__.length,\n value = done ? undefined : this.__values__[this.__index__++];\n\n return { 'done': done, 'value': value };\n }\n\n /**\n * Enables the wrapper to be iterable.\n *\n * @name Symbol.iterator\n * @memberOf _\n * @since 4.0.0\n * @category Seq\n * @returns {Object} Returns the wrapper object.\n * @example\n *\n * var wrapped = _([1, 2]);\n *\n * wrapped[Symbol.iterator]() === wrapped;\n * // => true\n *\n * Array.from(wrapped);\n * // => [1, 2]\n */\n function wrapperToIterator() {\n return this;\n }\n\n /**\n * Creates a clone of the chain sequence planting `value` as the wrapped value.\n *\n * @name plant\n * @memberOf _\n * @since 3.2.0\n * @category Seq\n * @param {*} value The value to plant.\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var wrapped = _([1, 2]).map(square);\n * var other = wrapped.plant([3, 4]);\n *\n * other.value();\n * // => [9, 16]\n *\n * wrapped.value();\n * // => [1, 4]\n */\n function wrapperPlant(value) {\n var result,\n parent = this;\n\n while (parent instanceof baseLodash) {\n var clone = wrapperClone(parent);\n clone.__index__ = 0;\n clone.__values__ = undefined;\n if (result) {\n previous.__wrapped__ = clone;\n } else {\n result = clone;\n }\n var previous = clone;\n parent = parent.__wrapped__;\n }\n previous.__wrapped__ = value;\n return result;\n }\n\n /**\n * This method is the wrapper version of `_.reverse`.\n *\n * **Note:** This method mutates the wrapped array.\n *\n * @name reverse\n * @memberOf _\n * @since 0.1.0\n * @category Seq\n * @returns {Object} Returns the new `lodash` wrapper instance.\n * @example\n *\n * var array = [1, 2, 3];\n *\n * _(array).reverse().value()\n * // => [3, 2, 1]\n *\n * console.log(array);\n * // => [3, 2, 1]\n */\n function wrapperReverse() {\n var value = this.__wrapped__;\n if (value instanceof LazyWrapper) {\n var wrapped = value;\n if (this.__actions__.length) {\n wrapped = new LazyWrapper(this);\n }\n wrapped = wrapped.reverse();\n wrapped.__actions__.push({\n 'func': thru,\n 'args': [reverse],\n 'thisArg': undefined\n });\n return new LodashWrapper(wrapped, this.__chain__);\n }\n return this.thru(reverse);\n }\n\n /**\n * Executes the chain sequence to resolve the unwrapped value.\n *\n * @name value\n * @memberOf _\n * @since 0.1.0\n * @alias toJSON, valueOf\n * @category Seq\n * @returns {*} Returns the resolved unwrapped value.\n * @example\n *\n * _([1, 2, 3]).value();\n * // => [1, 2, 3]\n */\n function wrapperValue() {\n return baseWrapperValue(this.__wrapped__, this.__actions__);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the number of times the key was returned by `iteratee`. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.countBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': 1, '6': 2 }\n *\n * // The `_.property` iteratee shorthand.\n * _.countBy(['one', 'two', 'three'], 'length');\n * // => { '3': 2, '5': 1 }\n */\n var countBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n ++result[key];\n } else {\n baseAssignValue(result, key, 1);\n }\n });\n\n /**\n * Checks if `predicate` returns truthy for **all** elements of `collection`.\n * Iteration is stopped once `predicate` returns falsey. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * **Note:** This method returns `true` for\n * [empty collections](https://en.wikipedia.org/wiki/Empty_set) because\n * [everything is true](https://en.wikipedia.org/wiki/Vacuous_truth) of\n * elements of empty collections.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if all elements pass the predicate check,\n * else `false`.\n * @example\n *\n * _.every([true, 1, null, 'yes'], Boolean);\n * // => false\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.every(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.every(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.every(users, 'active');\n * // => false\n */\n function every(collection, predicate, guard) {\n var func = isArray(collection) ? arrayEvery : baseEvery;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning an array of all elements\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * **Note:** Unlike `_.remove`, this method returns a new array.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.reject\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false }\n * ];\n *\n * _.filter(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.filter(users, { 'age': 36, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.filter(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.filter(users, 'active');\n * // => objects for ['barney']\n *\n * // Combining several predicates using `_.overEvery` or `_.overSome`.\n * _.filter(users, _.overSome([{ 'age': 36 }, ['age', 40]]));\n * // => objects for ['fred', 'barney']\n */\n function filter(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Iterates over elements of `collection`, returning the first element\n * `predicate` returns truthy for. The predicate is invoked with three\n * arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=0] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': true },\n * { 'user': 'fred', 'age': 40, 'active': false },\n * { 'user': 'pebbles', 'age': 1, 'active': true }\n * ];\n *\n * _.find(users, function(o) { return o.age < 40; });\n * // => object for 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.find(users, { 'age': 1, 'active': true });\n * // => object for 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.find(users, ['active', false]);\n * // => object for 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.find(users, 'active');\n * // => object for 'barney'\n */\n var find = createFind(findIndex);\n\n /**\n * This method is like `_.find` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param {number} [fromIndex=collection.length-1] The index to search from.\n * @returns {*} Returns the matched element, else `undefined`.\n * @example\n *\n * _.findLast([1, 2, 3, 4], function(n) {\n * return n % 2 == 1;\n * });\n * // => 3\n */\n var findLast = createFind(findLastIndex);\n\n /**\n * Creates a flattened array of values by running each element in `collection`\n * thru `iteratee` and flattening the mapped results. The iteratee is invoked\n * with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [n, n];\n * }\n *\n * _.flatMap([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMap(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), 1);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDeep([1, 2], duplicate);\n * // => [1, 1, 2, 2]\n */\n function flatMapDeep(collection, iteratee) {\n return baseFlatten(map(collection, iteratee), INFINITY);\n }\n\n /**\n * This method is like `_.flatMap` except that it recursively flattens the\n * mapped results up to `depth` times.\n *\n * @static\n * @memberOf _\n * @since 4.7.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {number} [depth=1] The maximum recursion depth.\n * @returns {Array} Returns the new flattened array.\n * @example\n *\n * function duplicate(n) {\n * return [[[n, n]]];\n * }\n *\n * _.flatMapDepth([1, 2], duplicate, 2);\n * // => [[1, 1], [2, 2]]\n */\n function flatMapDepth(collection, iteratee, depth) {\n depth = depth === undefined ? 1 : toInteger(depth);\n return baseFlatten(map(collection, iteratee), depth);\n }\n\n /**\n * Iterates over elements of `collection` and invokes `iteratee` for each element.\n * The iteratee is invoked with three arguments: (value, index|key, collection).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * **Note:** As with other \"Collections\" methods, objects with a \"length\"\n * property are iterated like arrays. To avoid this behavior use `_.forIn`\n * or `_.forOwn` for object iteration.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @alias each\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEachRight\n * @example\n *\n * _.forEach([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `1` then `2`.\n *\n * _.forEach({ 'a': 1, 'b': 2 }, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forEach(collection, iteratee) {\n var func = isArray(collection) ? arrayEach : baseEach;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forEach` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @alias eachRight\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array|Object} Returns `collection`.\n * @see _.forEach\n * @example\n *\n * _.forEachRight([1, 2], function(value) {\n * console.log(value);\n * });\n * // => Logs `2` then `1`.\n */\n function forEachRight(collection, iteratee) {\n var func = isArray(collection) ? arrayEachRight : baseEachRight;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The order of grouped values\n * is determined by the order they occur in `collection`. The corresponding\n * value of each key is an array of elements responsible for generating the\n * key. The iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * _.groupBy([6.1, 4.2, 6.3], Math.floor);\n * // => { '4': [4.2], '6': [6.1, 6.3] }\n *\n * // The `_.property` iteratee shorthand.\n * _.groupBy(['one', 'two', 'three'], 'length');\n * // => { '3': ['one', 'two'], '5': ['three'] }\n */\n var groupBy = createAggregator(function(result, value, key) {\n if (hasOwnProperty.call(result, key)) {\n result[key].push(value);\n } else {\n baseAssignValue(result, key, [value]);\n }\n });\n\n /**\n * Checks if `value` is in `collection`. If `collection` is a string, it's\n * checked for a substring of `value`, otherwise\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * is used for equality comparisons. If `fromIndex` is negative, it's used as\n * the offset from the end of `collection`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @param {*} value The value to search for.\n * @param {number} [fromIndex=0] The index to search from.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {boolean} Returns `true` if `value` is found, else `false`.\n * @example\n *\n * _.includes([1, 2, 3], 1);\n * // => true\n *\n * _.includes([1, 2, 3], 1, 2);\n * // => false\n *\n * _.includes({ 'a': 1, 'b': 2 }, 1);\n * // => true\n *\n * _.includes('abcd', 'bc');\n * // => true\n */\n function includes(collection, value, fromIndex, guard) {\n collection = isArrayLike(collection) ? collection : values(collection);\n fromIndex = (fromIndex && !guard) ? toInteger(fromIndex) : 0;\n\n var length = collection.length;\n if (fromIndex < 0) {\n fromIndex = nativeMax(length + fromIndex, 0);\n }\n return isString(collection)\n ? (fromIndex <= length && collection.indexOf(value, fromIndex) > -1)\n : (!!length && baseIndexOf(collection, value, fromIndex) > -1);\n }\n\n /**\n * Invokes the method at `path` of each element in `collection`, returning\n * an array of the results of each invoked method. Any additional arguments\n * are provided to each invoked method. If `path` is a function, it's invoked\n * for, and `this` bound to, each element in `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array|Function|string} path The path of the method to invoke or\n * the function invoked per iteration.\n * @param {...*} [args] The arguments to invoke each method with.\n * @returns {Array} Returns the array of results.\n * @example\n *\n * _.invokeMap([[5, 1, 7], [3, 2, 1]], 'sort');\n * // => [[1, 5, 7], [1, 2, 3]]\n *\n * _.invokeMap([123, 456], String.prototype.split, '');\n * // => [['1', '2', '3'], ['4', '5', '6']]\n */\n var invokeMap = baseRest(function(collection, path, args) {\n var index = -1,\n isFunc = typeof path == 'function',\n result = isArrayLike(collection) ? Array(collection.length) : [];\n\n baseEach(collection, function(value) {\n result[++index] = isFunc ? apply(path, value, args) : baseInvoke(value, path, args);\n });\n return result;\n });\n\n /**\n * Creates an object composed of keys generated from the results of running\n * each element of `collection` thru `iteratee`. The corresponding value of\n * each key is the last element responsible for generating the key. The\n * iteratee is invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The iteratee to transform keys.\n * @returns {Object} Returns the composed aggregate object.\n * @example\n *\n * var array = [\n * { 'dir': 'left', 'code': 97 },\n * { 'dir': 'right', 'code': 100 }\n * ];\n *\n * _.keyBy(array, function(o) {\n * return String.fromCharCode(o.code);\n * });\n * // => { 'a': { 'dir': 'left', 'code': 97 }, 'd': { 'dir': 'right', 'code': 100 } }\n *\n * _.keyBy(array, 'dir');\n * // => { 'left': { 'dir': 'left', 'code': 97 }, 'right': { 'dir': 'right', 'code': 100 } }\n */\n var keyBy = createAggregator(function(result, value, key) {\n baseAssignValue(result, key, value);\n });\n\n /**\n * Creates an array of values by running each element in `collection` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.every`, `_.filter`, `_.map`, `_.mapValues`, `_.reject`, and `_.some`.\n *\n * The guarded methods are:\n * `ary`, `chunk`, `curry`, `curryRight`, `drop`, `dropRight`, `every`,\n * `fill`, `invert`, `parseInt`, `random`, `range`, `rangeRight`, `repeat`,\n * `sampleSize`, `slice`, `some`, `sortBy`, `split`, `take`, `takeRight`,\n * `template`, `trim`, `trimEnd`, `trimStart`, and `words`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new mapped array.\n * @example\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * _.map([4, 8], square);\n * // => [16, 64]\n *\n * _.map({ 'a': 4, 'b': 8 }, square);\n * // => [16, 64] (iteration order is not guaranteed)\n *\n * var users = [\n * { 'user': 'barney' },\n * { 'user': 'fred' }\n * ];\n *\n * // The `_.property` iteratee shorthand.\n * _.map(users, 'user');\n * // => ['barney', 'fred']\n */\n function map(collection, iteratee) {\n var func = isArray(collection) ? arrayMap : baseMap;\n return func(collection, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.sortBy` except that it allows specifying the sort\n * orders of the iteratees to sort by. If `orders` is unspecified, all values\n * are sorted in ascending order. Otherwise, specify an order of \"desc\" for\n * descending or \"asc\" for ascending sort order of corresponding values.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Array[]|Function[]|Object[]|string[]} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @param {string[]} [orders] The sort orders of `iteratees`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.reduce`.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 34 },\n * { 'user': 'fred', 'age': 40 },\n * { 'user': 'barney', 'age': 36 }\n * ];\n *\n * // Sort by `user` in ascending order and by `age` in descending order.\n * _.orderBy(users, ['user', 'age'], ['asc', 'desc']);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 40]]\n */\n function orderBy(collection, iteratees, orders, guard) {\n if (collection == null) {\n return [];\n }\n if (!isArray(iteratees)) {\n iteratees = iteratees == null ? [] : [iteratees];\n }\n orders = guard ? undefined : orders;\n if (!isArray(orders)) {\n orders = orders == null ? [] : [orders];\n }\n return baseOrderBy(collection, iteratees, orders);\n }\n\n /**\n * Creates an array of elements split into two groups, the first of which\n * contains elements `predicate` returns truthy for, the second of which\n * contains elements `predicate` returns falsey for. The predicate is\n * invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the array of grouped elements.\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true },\n * { 'user': 'pebbles', 'age': 1, 'active': false }\n * ];\n *\n * _.partition(users, function(o) { return o.active; });\n * // => objects for [['fred'], ['barney', 'pebbles']]\n *\n * // The `_.matches` iteratee shorthand.\n * _.partition(users, { 'age': 1, 'active': false });\n * // => objects for [['pebbles'], ['barney', 'fred']]\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.partition(users, ['active', false]);\n * // => objects for [['barney', 'pebbles'], ['fred']]\n *\n * // The `_.property` iteratee shorthand.\n * _.partition(users, 'active');\n * // => objects for [['fred'], ['barney', 'pebbles']]\n */\n var partition = createAggregator(function(result, value, key) {\n result[key ? 0 : 1].push(value);\n }, function() { return [[], []]; });\n\n /**\n * Reduces `collection` to a value which is the accumulated result of running\n * each element in `collection` thru `iteratee`, where each successive\n * invocation is supplied the return value of the previous. If `accumulator`\n * is not given, the first element of `collection` is used as the initial\n * value. The iteratee is invoked with four arguments:\n * (accumulator, value, index|key, collection).\n *\n * Many lodash methods are guarded to work as iteratees for methods like\n * `_.reduce`, `_.reduceRight`, and `_.transform`.\n *\n * The guarded methods are:\n * `assign`, `defaults`, `defaultsDeep`, `includes`, `merge`, `orderBy`,\n * and `sortBy`\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduceRight\n * @example\n *\n * _.reduce([1, 2], function(sum, n) {\n * return sum + n;\n * }, 0);\n * // => 3\n *\n * _.reduce({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * return result;\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] } (iteration order is not guaranteed)\n */\n function reduce(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduce : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEach);\n }\n\n /**\n * This method is like `_.reduce` except that it iterates over elements of\n * `collection` from right to left.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The initial value.\n * @returns {*} Returns the accumulated value.\n * @see _.reduce\n * @example\n *\n * var array = [[0, 1], [2, 3], [4, 5]];\n *\n * _.reduceRight(array, function(flattened, other) {\n * return flattened.concat(other);\n * }, []);\n * // => [4, 5, 2, 3, 0, 1]\n */\n function reduceRight(collection, iteratee, accumulator) {\n var func = isArray(collection) ? arrayReduceRight : baseReduce,\n initAccum = arguments.length < 3;\n\n return func(collection, getIteratee(iteratee, 4), accumulator, initAccum, baseEachRight);\n }\n\n /**\n * The opposite of `_.filter`; this method returns the elements of `collection`\n * that `predicate` does **not** return truthy for.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {Array} Returns the new filtered array.\n * @see _.filter\n * @example\n *\n * var users = [\n * { 'user': 'barney', 'age': 36, 'active': false },\n * { 'user': 'fred', 'age': 40, 'active': true }\n * ];\n *\n * _.reject(users, function(o) { return !o.active; });\n * // => objects for ['fred']\n *\n * // The `_.matches` iteratee shorthand.\n * _.reject(users, { 'age': 40, 'active': true });\n * // => objects for ['barney']\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.reject(users, ['active', false]);\n * // => objects for ['fred']\n *\n * // The `_.property` iteratee shorthand.\n * _.reject(users, 'active');\n * // => objects for ['barney']\n */\n function reject(collection, predicate) {\n var func = isArray(collection) ? arrayFilter : baseFilter;\n return func(collection, negate(getIteratee(predicate, 3)));\n }\n\n /**\n * Gets a random element from `collection`.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @returns {*} Returns the random element.\n * @example\n *\n * _.sample([1, 2, 3, 4]);\n * // => 2\n */\n function sample(collection) {\n var func = isArray(collection) ? arraySample : baseSample;\n return func(collection);\n }\n\n /**\n * Gets `n` random elements at unique keys from `collection` up to the\n * size of `collection`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Collection\n * @param {Array|Object} collection The collection to sample.\n * @param {number} [n=1] The number of elements to sample.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Array} Returns the random elements.\n * @example\n *\n * _.sampleSize([1, 2, 3], 2);\n * // => [3, 1]\n *\n * _.sampleSize([1, 2, 3], 4);\n * // => [2, 3, 1]\n */\n function sampleSize(collection, n, guard) {\n if ((guard ? isIterateeCall(collection, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n var func = isArray(collection) ? arraySampleSize : baseSampleSize;\n return func(collection, n);\n }\n\n /**\n * Creates an array of shuffled values, using a version of the\n * [Fisher-Yates shuffle](https://en.wikipedia.org/wiki/Fisher-Yates_shuffle).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to shuffle.\n * @returns {Array} Returns the new shuffled array.\n * @example\n *\n * _.shuffle([1, 2, 3, 4]);\n * // => [4, 1, 3, 2]\n */\n function shuffle(collection) {\n var func = isArray(collection) ? arrayShuffle : baseShuffle;\n return func(collection);\n }\n\n /**\n * Gets the size of `collection` by returning its length for array-like\n * values or the number of own enumerable string keyed properties for objects.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object|string} collection The collection to inspect.\n * @returns {number} Returns the collection size.\n * @example\n *\n * _.size([1, 2, 3]);\n * // => 3\n *\n * _.size({ 'a': 1, 'b': 2 });\n * // => 2\n *\n * _.size('pebbles');\n * // => 7\n */\n function size(collection) {\n if (collection == null) {\n return 0;\n }\n if (isArrayLike(collection)) {\n return isString(collection) ? stringSize(collection) : collection.length;\n }\n var tag = getTag(collection);\n if (tag == mapTag || tag == setTag) {\n return collection.size;\n }\n return baseKeys(collection).length;\n }\n\n /**\n * Checks if `predicate` returns truthy for **any** element of `collection`.\n * Iteration is stopped once `predicate` returns truthy. The predicate is\n * invoked with three arguments: (value, index|key, collection).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {boolean} Returns `true` if any element passes the predicate check,\n * else `false`.\n * @example\n *\n * _.some([null, 0, 'yes', false], Boolean);\n * // => true\n *\n * var users = [\n * { 'user': 'barney', 'active': true },\n * { 'user': 'fred', 'active': false }\n * ];\n *\n * // The `_.matches` iteratee shorthand.\n * _.some(users, { 'user': 'barney', 'active': false });\n * // => false\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.some(users, ['active', false]);\n * // => true\n *\n * // The `_.property` iteratee shorthand.\n * _.some(users, 'active');\n * // => true\n */\n function some(collection, predicate, guard) {\n var func = isArray(collection) ? arraySome : baseSome;\n if (guard && isIterateeCall(collection, predicate, guard)) {\n predicate = undefined;\n }\n return func(collection, getIteratee(predicate, 3));\n }\n\n /**\n * Creates an array of elements, sorted in ascending order by the results of\n * running each element in a collection thru each iteratee. This method\n * performs a stable sort, that is, it preserves the original sort order of\n * equal elements. The iteratees are invoked with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Collection\n * @param {Array|Object} collection The collection to iterate over.\n * @param {...(Function|Function[])} [iteratees=[_.identity]]\n * The iteratees to sort by.\n * @returns {Array} Returns the new sorted array.\n * @example\n *\n * var users = [\n * { 'user': 'fred', 'age': 48 },\n * { 'user': 'barney', 'age': 36 },\n * { 'user': 'fred', 'age': 30 },\n * { 'user': 'barney', 'age': 34 }\n * ];\n *\n * _.sortBy(users, [function(o) { return o.user; }]);\n * // => objects for [['barney', 36], ['barney', 34], ['fred', 48], ['fred', 30]]\n *\n * _.sortBy(users, ['user', 'age']);\n * // => objects for [['barney', 34], ['barney', 36], ['fred', 30], ['fred', 48]]\n */\n var sortBy = baseRest(function(collection, iteratees) {\n if (collection == null) {\n return [];\n }\n var length = iteratees.length;\n if (length > 1 && isIterateeCall(collection, iteratees[0], iteratees[1])) {\n iteratees = [];\n } else if (length > 2 && isIterateeCall(iteratees[0], iteratees[1], iteratees[2])) {\n iteratees = [iteratees[0]];\n }\n return baseOrderBy(collection, baseFlatten(iteratees, 1), []);\n });\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Gets the timestamp of the number of milliseconds that have elapsed since\n * the Unix epoch (1 January 1970 00:00:00 UTC).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Date\n * @returns {number} Returns the timestamp.\n * @example\n *\n * _.defer(function(stamp) {\n * console.log(_.now() - stamp);\n * }, _.now());\n * // => Logs the number of milliseconds it took for the deferred invocation.\n */\n var now = ctxNow || function() {\n return root.Date.now();\n };\n\n /*------------------------------------------------------------------------*/\n\n /**\n * The opposite of `_.before`; this method creates a function that invokes\n * `func` once it's called `n` or more times.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {number} n The number of calls before `func` is invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var saves = ['profile', 'settings'];\n *\n * var done = _.after(saves.length, function() {\n * console.log('done saving!');\n * });\n *\n * _.forEach(saves, function(type) {\n * asyncSave({ 'type': type, 'complete': done });\n * });\n * // => Logs 'done saving!' after the two async saves have completed.\n */\n function after(n, func) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n < 1) {\n return func.apply(this, arguments);\n }\n };\n }\n\n /**\n * Creates a function that invokes `func`, with up to `n` arguments,\n * ignoring any additional arguments.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @param {number} [n=func.length] The arity cap.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.ary(parseInt, 1));\n * // => [6, 8, 10]\n */\n function ary(func, n, guard) {\n n = guard ? undefined : n;\n n = (func && n == null) ? func.length : n;\n return createWrap(func, WRAP_ARY_FLAG, undefined, undefined, undefined, undefined, n);\n }\n\n /**\n * Creates a function that invokes `func`, with the `this` binding and arguments\n * of the created function, while it's called less than `n` times. Subsequent\n * calls to the created function return the result of the last `func` invocation.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {number} n The number of calls at which `func` is no longer invoked.\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * jQuery(element).on('click', _.before(5, addContactToList));\n * // => Allows adding up to 4 contacts to the list.\n */\n function before(n, func) {\n var result;\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n n = toInteger(n);\n return function() {\n if (--n > 0) {\n result = func.apply(this, arguments);\n }\n if (n <= 1) {\n func = undefined;\n }\n return result;\n };\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of `thisArg`\n * and `partials` prepended to the arguments it receives.\n *\n * The `_.bind.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for partially applied arguments.\n *\n * **Note:** Unlike native `Function#bind`, this method doesn't set the \"length\"\n * property of bound functions.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to bind.\n * @param {*} thisArg The `this` binding of `func`.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * function greet(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n *\n * var object = { 'user': 'fred' };\n *\n * var bound = _.bind(greet, object, 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bind(greet, object, _, '!');\n * bound('hi');\n * // => 'hi fred!'\n */\n var bind = baseRest(function(func, thisArg, partials) {\n var bitmask = WRAP_BIND_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bind));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(func, bitmask, thisArg, partials, holders);\n });\n\n /**\n * Creates a function that invokes the method at `object[key]` with `partials`\n * prepended to the arguments it receives.\n *\n * This method differs from `_.bind` by allowing bound functions to reference\n * methods that may be redefined or don't yet exist. See\n * [Peter Michaux's article](http://peter.michaux.ca/articles/lazy-function-definition-pattern)\n * for more details.\n *\n * The `_.bindKey.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Function\n * @param {Object} object The object to invoke the method on.\n * @param {string} key The key of the method.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new bound function.\n * @example\n *\n * var object = {\n * 'user': 'fred',\n * 'greet': function(greeting, punctuation) {\n * return greeting + ' ' + this.user + punctuation;\n * }\n * };\n *\n * var bound = _.bindKey(object, 'greet', 'hi');\n * bound('!');\n * // => 'hi fred!'\n *\n * object.greet = function(greeting, punctuation) {\n * return greeting + 'ya ' + this.user + punctuation;\n * };\n *\n * bound('!');\n * // => 'hiya fred!'\n *\n * // Bound with placeholders.\n * var bound = _.bindKey(object, 'greet', _, '!');\n * bound('hi');\n * // => 'hiya fred!'\n */\n var bindKey = baseRest(function(object, key, partials) {\n var bitmask = WRAP_BIND_FLAG | WRAP_BIND_KEY_FLAG;\n if (partials.length) {\n var holders = replaceHolders(partials, getHolder(bindKey));\n bitmask |= WRAP_PARTIAL_FLAG;\n }\n return createWrap(key, bitmask, object, partials, holders);\n });\n\n /**\n * Creates a function that accepts arguments of `func` and either invokes\n * `func` returning its result, if at least `arity` number of arguments have\n * been provided, or returns a function that accepts the remaining `func`\n * arguments, and so on. The arity of `func` may be specified if `func.length`\n * is not sufficient.\n *\n * The `_.curry.placeholder` value, which defaults to `_` in monolithic builds,\n * may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curry(abc);\n *\n * curried(1)(2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2)(3);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(1)(_, 3)(2);\n * // => [1, 2, 3]\n */\n function curry(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curry.placeholder;\n return result;\n }\n\n /**\n * This method is like `_.curry` except that arguments are applied to `func`\n * in the manner of `_.partialRight` instead of `_.partial`.\n *\n * The `_.curryRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for provided arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of curried functions.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to curry.\n * @param {number} [arity=func.length] The arity of `func`.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the new curried function.\n * @example\n *\n * var abc = function(a, b, c) {\n * return [a, b, c];\n * };\n *\n * var curried = _.curryRight(abc);\n *\n * curried(3)(2)(1);\n * // => [1, 2, 3]\n *\n * curried(2, 3)(1);\n * // => [1, 2, 3]\n *\n * curried(1, 2, 3);\n * // => [1, 2, 3]\n *\n * // Curried with placeholders.\n * curried(3)(1, _)(2);\n * // => [1, 2, 3]\n */\n function curryRight(func, arity, guard) {\n arity = guard ? undefined : arity;\n var result = createWrap(func, WRAP_CURRY_RIGHT_FLAG, undefined, undefined, undefined, undefined, undefined, arity);\n result.placeholder = curryRight.placeholder;\n return result;\n }\n\n /**\n * Creates a debounced function that delays invoking `func` until after `wait`\n * milliseconds have elapsed since the last time the debounced function was\n * invoked. The debounced function comes with a `cancel` method to cancel\n * delayed `func` invocations and a `flush` method to immediately invoke them.\n * Provide `options` to indicate whether `func` should be invoked on the\n * leading and/or trailing edge of the `wait` timeout. The `func` is invoked\n * with the last arguments provided to the debounced function. Subsequent\n * calls to the debounced function return the result of the last `func`\n * invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the debounced function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.debounce` and `_.throttle`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to debounce.\n * @param {number} [wait=0] The number of milliseconds to delay.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=false]\n * Specify invoking on the leading edge of the timeout.\n * @param {number} [options.maxWait]\n * The maximum time `func` is allowed to be delayed before it's invoked.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new debounced function.\n * @example\n *\n * // Avoid costly calculations while the window size is in flux.\n * jQuery(window).on('resize', _.debounce(calculateLayout, 150));\n *\n * // Invoke `sendMail` when clicked, debouncing subsequent calls.\n * jQuery(element).on('click', _.debounce(sendMail, 300, {\n * 'leading': true,\n * 'trailing': false\n * }));\n *\n * // Ensure `batchLog` is invoked once after 1 second of debounced calls.\n * var debounced = _.debounce(batchLog, 250, { 'maxWait': 1000 });\n * var source = new EventSource('/stream');\n * jQuery(source).on('message', debounced);\n *\n * // Cancel the trailing debounced invocation.\n * jQuery(window).on('popstate', debounced.cancel);\n */\n function debounce(func, wait, options) {\n var lastArgs,\n lastThis,\n maxWait,\n result,\n timerId,\n lastCallTime,\n lastInvokeTime = 0,\n leading = false,\n maxing = false,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n wait = toNumber(wait) || 0;\n if (isObject(options)) {\n leading = !!options.leading;\n maxing = 'maxWait' in options;\n maxWait = maxing ? nativeMax(toNumber(options.maxWait) || 0, wait) : maxWait;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n\n function invokeFunc(time) {\n var args = lastArgs,\n thisArg = lastThis;\n\n lastArgs = lastThis = undefined;\n lastInvokeTime = time;\n result = func.apply(thisArg, args);\n return result;\n }\n\n function leadingEdge(time) {\n // Reset any `maxWait` timer.\n lastInvokeTime = time;\n // Start the timer for the trailing edge.\n timerId = setTimeout(timerExpired, wait);\n // Invoke the leading edge.\n return leading ? invokeFunc(time) : result;\n }\n\n function remainingWait(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime,\n timeWaiting = wait - timeSinceLastCall;\n\n return maxing\n ? nativeMin(timeWaiting, maxWait - timeSinceLastInvoke)\n : timeWaiting;\n }\n\n function shouldInvoke(time) {\n var timeSinceLastCall = time - lastCallTime,\n timeSinceLastInvoke = time - lastInvokeTime;\n\n // Either this is the first call, activity has stopped and we're at the\n // trailing edge, the system time has gone backwards and we're treating\n // it as the trailing edge, or we've hit the `maxWait` limit.\n return (lastCallTime === undefined || (timeSinceLastCall >= wait) ||\n (timeSinceLastCall < 0) || (maxing && timeSinceLastInvoke >= maxWait));\n }\n\n function timerExpired() {\n var time = now();\n if (shouldInvoke(time)) {\n return trailingEdge(time);\n }\n // Restart the timer.\n timerId = setTimeout(timerExpired, remainingWait(time));\n }\n\n function trailingEdge(time) {\n timerId = undefined;\n\n // Only invoke if we have `lastArgs` which means `func` has been\n // debounced at least once.\n if (trailing && lastArgs) {\n return invokeFunc(time);\n }\n lastArgs = lastThis = undefined;\n return result;\n }\n\n function cancel() {\n if (timerId !== undefined) {\n clearTimeout(timerId);\n }\n lastInvokeTime = 0;\n lastArgs = lastCallTime = lastThis = timerId = undefined;\n }\n\n function flush() {\n return timerId === undefined ? result : trailingEdge(now());\n }\n\n function debounced() {\n var time = now(),\n isInvoking = shouldInvoke(time);\n\n lastArgs = arguments;\n lastThis = this;\n lastCallTime = time;\n\n if (isInvoking) {\n if (timerId === undefined) {\n return leadingEdge(lastCallTime);\n }\n if (maxing) {\n // Handle invocations in a tight loop.\n clearTimeout(timerId);\n timerId = setTimeout(timerExpired, wait);\n return invokeFunc(lastCallTime);\n }\n }\n if (timerId === undefined) {\n timerId = setTimeout(timerExpired, wait);\n }\n return result;\n }\n debounced.cancel = cancel;\n debounced.flush = flush;\n return debounced;\n }\n\n /**\n * Defers invoking the `func` until the current call stack has cleared. Any\n * additional arguments are provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to defer.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.defer(function(text) {\n * console.log(text);\n * }, 'deferred');\n * // => Logs 'deferred' after one millisecond.\n */\n var defer = baseRest(function(func, args) {\n return baseDelay(func, 1, args);\n });\n\n /**\n * Invokes `func` after `wait` milliseconds. Any additional arguments are\n * provided to `func` when it's invoked.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to delay.\n * @param {number} wait The number of milliseconds to delay invocation.\n * @param {...*} [args] The arguments to invoke `func` with.\n * @returns {number} Returns the timer id.\n * @example\n *\n * _.delay(function(text) {\n * console.log(text);\n * }, 1000, 'later');\n * // => Logs 'later' after one second.\n */\n var delay = baseRest(function(func, wait, args) {\n return baseDelay(func, toNumber(wait) || 0, args);\n });\n\n /**\n * Creates a function that invokes `func` with arguments reversed.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to flip arguments for.\n * @returns {Function} Returns the new flipped function.\n * @example\n *\n * var flipped = _.flip(function() {\n * return _.toArray(arguments);\n * });\n *\n * flipped('a', 'b', 'c', 'd');\n * // => ['d', 'c', 'b', 'a']\n */\n function flip(func) {\n return createWrap(func, WRAP_FLIP_FLAG);\n }\n\n /**\n * Creates a function that memoizes the result of `func`. If `resolver` is\n * provided, it determines the cache key for storing the result based on the\n * arguments provided to the memoized function. By default, the first argument\n * provided to the memoized function is used as the map cache key. The `func`\n * is invoked with the `this` binding of the memoized function.\n *\n * **Note:** The cache is exposed as the `cache` property on the memoized\n * function. Its creation may be customized by replacing the `_.memoize.Cache`\n * constructor with one whose instances implement the\n * [`Map`](http://ecma-international.org/ecma-262/7.0/#sec-properties-of-the-map-prototype-object)\n * method interface of `clear`, `delete`, `get`, `has`, and `set`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to have its output memoized.\n * @param {Function} [resolver] The function to resolve the cache key.\n * @returns {Function} Returns the new memoized function.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n * var other = { 'c': 3, 'd': 4 };\n *\n * var values = _.memoize(_.values);\n * values(object);\n * // => [1, 2]\n *\n * values(other);\n * // => [3, 4]\n *\n * object.a = 2;\n * values(object);\n * // => [1, 2]\n *\n * // Modify the result cache.\n * values.cache.set(object, ['a', 'b']);\n * values(object);\n * // => ['a', 'b']\n *\n * // Replace `_.memoize.Cache`.\n * _.memoize.Cache = WeakMap;\n */\n function memoize(func, resolver) {\n if (typeof func != 'function' || (resolver != null && typeof resolver != 'function')) {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n var memoized = function() {\n var args = arguments,\n key = resolver ? resolver.apply(this, args) : args[0],\n cache = memoized.cache;\n\n if (cache.has(key)) {\n return cache.get(key);\n }\n var result = func.apply(this, args);\n memoized.cache = cache.set(key, result) || cache;\n return result;\n };\n memoized.cache = new (memoize.Cache || MapCache);\n return memoized;\n }\n\n // Expose `MapCache`.\n memoize.Cache = MapCache;\n\n /**\n * Creates a function that negates the result of the predicate `func`. The\n * `func` predicate is invoked with the `this` binding and arguments of the\n * created function.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} predicate The predicate to negate.\n * @returns {Function} Returns the new negated function.\n * @example\n *\n * function isEven(n) {\n * return n % 2 == 0;\n * }\n *\n * _.filter([1, 2, 3, 4, 5, 6], _.negate(isEven));\n * // => [1, 3, 5]\n */\n function negate(predicate) {\n if (typeof predicate != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n return function() {\n var args = arguments;\n switch (args.length) {\n case 0: return !predicate.call(this);\n case 1: return !predicate.call(this, args[0]);\n case 2: return !predicate.call(this, args[0], args[1]);\n case 3: return !predicate.call(this, args[0], args[1], args[2]);\n }\n return !predicate.apply(this, args);\n };\n }\n\n /**\n * Creates a function that is restricted to invoking `func` once. Repeat calls\n * to the function return the value of the first invocation. The `func` is\n * invoked with the `this` binding and arguments of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to restrict.\n * @returns {Function} Returns the new restricted function.\n * @example\n *\n * var initialize = _.once(createApplication);\n * initialize();\n * initialize();\n * // => `createApplication` is invoked once\n */\n function once(func) {\n return before(2, func);\n }\n\n /**\n * Creates a function that invokes `func` with its arguments transformed.\n *\n * @static\n * @since 4.0.0\n * @memberOf _\n * @category Function\n * @param {Function} func The function to wrap.\n * @param {...(Function|Function[])} [transforms=[_.identity]]\n * The argument transforms.\n * @returns {Function} Returns the new function.\n * @example\n *\n * function doubled(n) {\n * return n * 2;\n * }\n *\n * function square(n) {\n * return n * n;\n * }\n *\n * var func = _.overArgs(function(x, y) {\n * return [x, y];\n * }, [square, doubled]);\n *\n * func(9, 3);\n * // => [81, 6]\n *\n * func(10, 5);\n * // => [100, 10]\n */\n var overArgs = castRest(function(func, transforms) {\n transforms = (transforms.length == 1 && isArray(transforms[0]))\n ? arrayMap(transforms[0], baseUnary(getIteratee()))\n : arrayMap(baseFlatten(transforms, 1), baseUnary(getIteratee()));\n\n var funcsLength = transforms.length;\n return baseRest(function(args) {\n var index = -1,\n length = nativeMin(args.length, funcsLength);\n\n while (++index < length) {\n args[index] = transforms[index].call(this, args[index]);\n }\n return apply(func, this, args);\n });\n });\n\n /**\n * Creates a function that invokes `func` with `partials` prepended to the\n * arguments it receives. This method is like `_.bind` except it does **not**\n * alter the `this` binding.\n *\n * The `_.partial.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 0.2.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var sayHelloTo = _.partial(greet, 'hello');\n * sayHelloTo('fred');\n * // => 'hello fred'\n *\n * // Partially applied with placeholders.\n * var greetFred = _.partial(greet, _, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n */\n var partial = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partial));\n return createWrap(func, WRAP_PARTIAL_FLAG, undefined, partials, holders);\n });\n\n /**\n * This method is like `_.partial` except that partially applied arguments\n * are appended to the arguments it receives.\n *\n * The `_.partialRight.placeholder` value, which defaults to `_` in monolithic\n * builds, may be used as a placeholder for partially applied arguments.\n *\n * **Note:** This method doesn't set the \"length\" property of partially\n * applied functions.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Function\n * @param {Function} func The function to partially apply arguments to.\n * @param {...*} [partials] The arguments to be partially applied.\n * @returns {Function} Returns the new partially applied function.\n * @example\n *\n * function greet(greeting, name) {\n * return greeting + ' ' + name;\n * }\n *\n * var greetFred = _.partialRight(greet, 'fred');\n * greetFred('hi');\n * // => 'hi fred'\n *\n * // Partially applied with placeholders.\n * var sayHelloTo = _.partialRight(greet, 'hello', _);\n * sayHelloTo('fred');\n * // => 'hello fred'\n */\n var partialRight = baseRest(function(func, partials) {\n var holders = replaceHolders(partials, getHolder(partialRight));\n return createWrap(func, WRAP_PARTIAL_RIGHT_FLAG, undefined, partials, holders);\n });\n\n /**\n * Creates a function that invokes `func` with arguments arranged according\n * to the specified `indexes` where the argument value at the first index is\n * provided as the first argument, the argument value at the second index is\n * provided as the second argument, and so on.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Function\n * @param {Function} func The function to rearrange arguments for.\n * @param {...(number|number[])} indexes The arranged argument indexes.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var rearged = _.rearg(function(a, b, c) {\n * return [a, b, c];\n * }, [2, 0, 1]);\n *\n * rearged('b', 'c', 'a')\n * // => ['a', 'b', 'c']\n */\n var rearg = flatRest(function(func, indexes) {\n return createWrap(func, WRAP_REARG_FLAG, undefined, undefined, undefined, indexes);\n });\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * created function and arguments from `start` and beyond provided as\n * an array.\n *\n * **Note:** This method is based on the\n * [rest parameter](https://mdn.io/rest_parameters).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to apply a rest parameter to.\n * @param {number} [start=func.length-1] The start position of the rest parameter.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.rest(function(what, names) {\n * return what + ' ' + _.initial(names).join(', ') +\n * (_.size(names) > 1 ? ', & ' : '') + _.last(names);\n * });\n *\n * say('hello', 'fred', 'barney', 'pebbles');\n * // => 'hello fred, barney, & pebbles'\n */\n function rest(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start === undefined ? start : toInteger(start);\n return baseRest(func, start);\n }\n\n /**\n * Creates a function that invokes `func` with the `this` binding of the\n * create function and an array of arguments much like\n * [`Function#apply`](http://www.ecma-international.org/ecma-262/7.0/#sec-function.prototype.apply).\n *\n * **Note:** This method is based on the\n * [spread operator](https://mdn.io/spread_operator).\n *\n * @static\n * @memberOf _\n * @since 3.2.0\n * @category Function\n * @param {Function} func The function to spread arguments over.\n * @param {number} [start=0] The start position of the spread.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var say = _.spread(function(who, what) {\n * return who + ' says ' + what;\n * });\n *\n * say(['fred', 'hello']);\n * // => 'fred says hello'\n *\n * var numbers = Promise.all([\n * Promise.resolve(40),\n * Promise.resolve(36)\n * ]);\n *\n * numbers.then(_.spread(function(x, y) {\n * return x + y;\n * }));\n * // => a Promise of 76\n */\n function spread(func, start) {\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n start = start == null ? 0 : nativeMax(toInteger(start), 0);\n return baseRest(function(args) {\n var array = args[start],\n otherArgs = castSlice(args, 0, start);\n\n if (array) {\n arrayPush(otherArgs, array);\n }\n return apply(func, this, otherArgs);\n });\n }\n\n /**\n * Creates a throttled function that only invokes `func` at most once per\n * every `wait` milliseconds. The throttled function comes with a `cancel`\n * method to cancel delayed `func` invocations and a `flush` method to\n * immediately invoke them. Provide `options` to indicate whether `func`\n * should be invoked on the leading and/or trailing edge of the `wait`\n * timeout. The `func` is invoked with the last arguments provided to the\n * throttled function. Subsequent calls to the throttled function return the\n * result of the last `func` invocation.\n *\n * **Note:** If `leading` and `trailing` options are `true`, `func` is\n * invoked on the trailing edge of the timeout only if the throttled function\n * is invoked more than once during the `wait` timeout.\n *\n * If `wait` is `0` and `leading` is `false`, `func` invocation is deferred\n * until to the next tick, similar to `setTimeout` with a timeout of `0`.\n *\n * See [David Corbacho's article](https://css-tricks.com/debouncing-throttling-explained-examples/)\n * for details over the differences between `_.throttle` and `_.debounce`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {Function} func The function to throttle.\n * @param {number} [wait=0] The number of milliseconds to throttle invocations to.\n * @param {Object} [options={}] The options object.\n * @param {boolean} [options.leading=true]\n * Specify invoking on the leading edge of the timeout.\n * @param {boolean} [options.trailing=true]\n * Specify invoking on the trailing edge of the timeout.\n * @returns {Function} Returns the new throttled function.\n * @example\n *\n * // Avoid excessively updating the position while scrolling.\n * jQuery(window).on('scroll', _.throttle(updatePosition, 100));\n *\n * // Invoke `renewToken` when the click event is fired, but not more than once every 5 minutes.\n * var throttled = _.throttle(renewToken, 300000, { 'trailing': false });\n * jQuery(element).on('click', throttled);\n *\n * // Cancel the trailing throttled invocation.\n * jQuery(window).on('popstate', throttled.cancel);\n */\n function throttle(func, wait, options) {\n var leading = true,\n trailing = true;\n\n if (typeof func != 'function') {\n throw new TypeError(FUNC_ERROR_TEXT);\n }\n if (isObject(options)) {\n leading = 'leading' in options ? !!options.leading : leading;\n trailing = 'trailing' in options ? !!options.trailing : trailing;\n }\n return debounce(func, wait, {\n 'leading': leading,\n 'maxWait': wait,\n 'trailing': trailing\n });\n }\n\n /**\n * Creates a function that accepts up to one argument, ignoring any\n * additional arguments.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Function\n * @param {Function} func The function to cap arguments for.\n * @returns {Function} Returns the new capped function.\n * @example\n *\n * _.map(['6', '8', '10'], _.unary(parseInt));\n * // => [6, 8, 10]\n */\n function unary(func) {\n return ary(func, 1);\n }\n\n /**\n * Creates a function that provides `value` to `wrapper` as its first\n * argument. Any additional arguments provided to the function are appended\n * to those provided to the `wrapper`. The wrapper is invoked with the `this`\n * binding of the created function.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Function\n * @param {*} value The value to wrap.\n * @param {Function} [wrapper=identity] The wrapper function.\n * @returns {Function} Returns the new function.\n * @example\n *\n * var p = _.wrap(_.escape, function(func, text) {\n * return '

' + func(text) + '

';\n * });\n *\n * p('fred, barney, & pebbles');\n * // => '

fred, barney, & pebbles

'\n */\n function wrap(value, wrapper) {\n return partial(castFunction(wrapper), value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Casts `value` as an array if it's not one.\n *\n * @static\n * @memberOf _\n * @since 4.4.0\n * @category Lang\n * @param {*} value The value to inspect.\n * @returns {Array} Returns the cast array.\n * @example\n *\n * _.castArray(1);\n * // => [1]\n *\n * _.castArray({ 'a': 1 });\n * // => [{ 'a': 1 }]\n *\n * _.castArray('abc');\n * // => ['abc']\n *\n * _.castArray(null);\n * // => [null]\n *\n * _.castArray(undefined);\n * // => [undefined]\n *\n * _.castArray();\n * // => []\n *\n * var array = [1, 2, 3];\n * console.log(_.castArray(array) === array);\n * // => true\n */\n function castArray() {\n if (!arguments.length) {\n return [];\n }\n var value = arguments[0];\n return isArray(value) ? value : [value];\n }\n\n /**\n * Creates a shallow clone of `value`.\n *\n * **Note:** This method is loosely based on the\n * [structured clone algorithm](https://mdn.io/Structured_clone_algorithm)\n * and supports cloning arrays, array buffers, booleans, date objects, maps,\n * numbers, `Object` objects, regexes, sets, strings, symbols, and typed\n * arrays. The own enumerable properties of `arguments` objects are cloned\n * as plain objects. An empty object is returned for uncloneable values such\n * as error objects, functions, DOM nodes, and WeakMaps.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to clone.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeep\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var shallow = _.clone(objects);\n * console.log(shallow[0] === objects[0]);\n * // => true\n */\n function clone(value) {\n return baseClone(value, CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.clone` except that it accepts `customizer` which\n * is invoked to produce the cloned value. If `customizer` returns `undefined`,\n * cloning is handled by the method instead. The `customizer` is invoked with\n * up to four arguments; (value [, index|key, object, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the cloned value.\n * @see _.cloneDeepWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(false);\n * }\n * }\n *\n * var el = _.cloneWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 0\n */\n function cloneWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * This method is like `_.clone` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @returns {*} Returns the deep cloned value.\n * @see _.clone\n * @example\n *\n * var objects = [{ 'a': 1 }, { 'b': 2 }];\n *\n * var deep = _.cloneDeep(objects);\n * console.log(deep[0] === objects[0]);\n * // => false\n */\n function cloneDeep(value) {\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG);\n }\n\n /**\n * This method is like `_.cloneWith` except that it recursively clones `value`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to recursively clone.\n * @param {Function} [customizer] The function to customize cloning.\n * @returns {*} Returns the deep cloned value.\n * @see _.cloneWith\n * @example\n *\n * function customizer(value) {\n * if (_.isElement(value)) {\n * return value.cloneNode(true);\n * }\n * }\n *\n * var el = _.cloneDeepWith(document.body, customizer);\n *\n * console.log(el === document.body);\n * // => false\n * console.log(el.nodeName);\n * // => 'BODY'\n * console.log(el.childNodes.length);\n * // => 20\n */\n function cloneDeepWith(value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseClone(value, CLONE_DEEP_FLAG | CLONE_SYMBOLS_FLAG, customizer);\n }\n\n /**\n * Checks if `object` conforms to `source` by invoking the predicate\n * properties of `source` with the corresponding property values of `object`.\n *\n * **Note:** This method is equivalent to `_.conforms` when `source` is\n * partially applied.\n *\n * @static\n * @memberOf _\n * @since 4.14.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property predicates to conform to.\n * @returns {boolean} Returns `true` if `object` conforms, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 1; } });\n * // => true\n *\n * _.conformsTo(object, { 'b': function(n) { return n > 2; } });\n * // => false\n */\n function conformsTo(object, source) {\n return source == null || baseConformsTo(object, source, keys(source));\n }\n\n /**\n * Performs a\n * [`SameValueZero`](http://ecma-international.org/ecma-262/7.0/#sec-samevaluezero)\n * comparison between two values to determine if they are equivalent.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.eq(object, object);\n * // => true\n *\n * _.eq(object, other);\n * // => false\n *\n * _.eq('a', 'a');\n * // => true\n *\n * _.eq('a', Object('a'));\n * // => false\n *\n * _.eq(NaN, NaN);\n * // => true\n */\n function eq(value, other) {\n return value === other || (value !== value && other !== other);\n }\n\n /**\n * Checks if `value` is greater than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than `other`,\n * else `false`.\n * @see _.lt\n * @example\n *\n * _.gt(3, 1);\n * // => true\n *\n * _.gt(3, 3);\n * // => false\n *\n * _.gt(1, 3);\n * // => false\n */\n var gt = createRelationalOperation(baseGt);\n\n /**\n * Checks if `value` is greater than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is greater than or equal to\n * `other`, else `false`.\n * @see _.lte\n * @example\n *\n * _.gte(3, 1);\n * // => true\n *\n * _.gte(3, 3);\n * // => true\n *\n * _.gte(1, 3);\n * // => false\n */\n var gte = createRelationalOperation(function(value, other) {\n return value >= other;\n });\n\n /**\n * Checks if `value` is likely an `arguments` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an `arguments` object,\n * else `false`.\n * @example\n *\n * _.isArguments(function() { return arguments; }());\n * // => true\n *\n * _.isArguments([1, 2, 3]);\n * // => false\n */\n var isArguments = baseIsArguments(function() { return arguments; }()) ? baseIsArguments : function(value) {\n return isObjectLike(value) && hasOwnProperty.call(value, 'callee') &&\n !propertyIsEnumerable.call(value, 'callee');\n };\n\n /**\n * Checks if `value` is classified as an `Array` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array, else `false`.\n * @example\n *\n * _.isArray([1, 2, 3]);\n * // => true\n *\n * _.isArray(document.body.children);\n * // => false\n *\n * _.isArray('abc');\n * // => false\n *\n * _.isArray(_.noop);\n * // => false\n */\n var isArray = Array.isArray;\n\n /**\n * Checks if `value` is classified as an `ArrayBuffer` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array buffer, else `false`.\n * @example\n *\n * _.isArrayBuffer(new ArrayBuffer(2));\n * // => true\n *\n * _.isArrayBuffer(new Array(2));\n * // => false\n */\n var isArrayBuffer = nodeIsArrayBuffer ? baseUnary(nodeIsArrayBuffer) : baseIsArrayBuffer;\n\n /**\n * Checks if `value` is array-like. A value is considered array-like if it's\n * not a function and has a `value.length` that's an integer greater than or\n * equal to `0` and less than or equal to `Number.MAX_SAFE_INTEGER`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is array-like, else `false`.\n * @example\n *\n * _.isArrayLike([1, 2, 3]);\n * // => true\n *\n * _.isArrayLike(document.body.children);\n * // => true\n *\n * _.isArrayLike('abc');\n * // => true\n *\n * _.isArrayLike(_.noop);\n * // => false\n */\n function isArrayLike(value) {\n return value != null && isLength(value.length) && !isFunction(value);\n }\n\n /**\n * This method is like `_.isArrayLike` except that it also checks if `value`\n * is an object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an array-like object,\n * else `false`.\n * @example\n *\n * _.isArrayLikeObject([1, 2, 3]);\n * // => true\n *\n * _.isArrayLikeObject(document.body.children);\n * // => true\n *\n * _.isArrayLikeObject('abc');\n * // => false\n *\n * _.isArrayLikeObject(_.noop);\n * // => false\n */\n function isArrayLikeObject(value) {\n return isObjectLike(value) && isArrayLike(value);\n }\n\n /**\n * Checks if `value` is classified as a boolean primitive or object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a boolean, else `false`.\n * @example\n *\n * _.isBoolean(false);\n * // => true\n *\n * _.isBoolean(null);\n * // => false\n */\n function isBoolean(value) {\n return value === true || value === false ||\n (isObjectLike(value) && baseGetTag(value) == boolTag);\n }\n\n /**\n * Checks if `value` is a buffer.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a buffer, else `false`.\n * @example\n *\n * _.isBuffer(new Buffer(2));\n * // => true\n *\n * _.isBuffer(new Uint8Array(2));\n * // => false\n */\n var isBuffer = nativeIsBuffer || stubFalse;\n\n /**\n * Checks if `value` is classified as a `Date` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a date object, else `false`.\n * @example\n *\n * _.isDate(new Date);\n * // => true\n *\n * _.isDate('Mon April 23 2012');\n * // => false\n */\n var isDate = nodeIsDate ? baseUnary(nodeIsDate) : baseIsDate;\n\n /**\n * Checks if `value` is likely a DOM element.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a DOM element, else `false`.\n * @example\n *\n * _.isElement(document.body);\n * // => true\n *\n * _.isElement('');\n * // => false\n */\n function isElement(value) {\n return isObjectLike(value) && value.nodeType === 1 && !isPlainObject(value);\n }\n\n /**\n * Checks if `value` is an empty object, collection, map, or set.\n *\n * Objects are considered empty if they have no own enumerable string keyed\n * properties.\n *\n * Array-like values such as `arguments` objects, arrays, buffers, strings, or\n * jQuery-like collections are considered empty if they have a `length` of `0`.\n * Similarly, maps and sets are considered empty if they have a `size` of `0`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is empty, else `false`.\n * @example\n *\n * _.isEmpty(null);\n * // => true\n *\n * _.isEmpty(true);\n * // => true\n *\n * _.isEmpty(1);\n * // => true\n *\n * _.isEmpty([1, 2, 3]);\n * // => false\n *\n * _.isEmpty({ 'a': 1 });\n * // => false\n */\n function isEmpty(value) {\n if (value == null) {\n return true;\n }\n if (isArrayLike(value) &&\n (isArray(value) || typeof value == 'string' || typeof value.splice == 'function' ||\n isBuffer(value) || isTypedArray(value) || isArguments(value))) {\n return !value.length;\n }\n var tag = getTag(value);\n if (tag == mapTag || tag == setTag) {\n return !value.size;\n }\n if (isPrototype(value)) {\n return !baseKeys(value).length;\n }\n for (var key in value) {\n if (hasOwnProperty.call(value, key)) {\n return false;\n }\n }\n return true;\n }\n\n /**\n * Performs a deep comparison between two values to determine if they are\n * equivalent.\n *\n * **Note:** This method supports comparing arrays, array buffers, booleans,\n * date objects, error objects, maps, numbers, `Object` objects, regexes,\n * sets, strings, symbols, and typed arrays. `Object` objects are compared\n * by their own, not inherited, enumerable properties. Functions and DOM\n * nodes are compared by strict equality, i.e. `===`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * var object = { 'a': 1 };\n * var other = { 'a': 1 };\n *\n * _.isEqual(object, other);\n * // => true\n *\n * object === other;\n * // => false\n */\n function isEqual(value, other) {\n return baseIsEqual(value, other);\n }\n\n /**\n * This method is like `_.isEqual` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with up to\n * six arguments: (objValue, othValue [, index|key, object, other, stack]).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if the values are equivalent, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, othValue) {\n * if (isGreeting(objValue) && isGreeting(othValue)) {\n * return true;\n * }\n * }\n *\n * var array = ['hello', 'goodbye'];\n * var other = ['hi', 'goodbye'];\n *\n * _.isEqualWith(array, other, customizer);\n * // => true\n */\n function isEqualWith(value, other, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n var result = customizer ? customizer(value, other) : undefined;\n return result === undefined ? baseIsEqual(value, other, undefined, customizer) : !!result;\n }\n\n /**\n * Checks if `value` is an `Error`, `EvalError`, `RangeError`, `ReferenceError`,\n * `SyntaxError`, `TypeError`, or `URIError` object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an error object, else `false`.\n * @example\n *\n * _.isError(new Error);\n * // => true\n *\n * _.isError(Error);\n * // => false\n */\n function isError(value) {\n if (!isObjectLike(value)) {\n return false;\n }\n var tag = baseGetTag(value);\n return tag == errorTag || tag == domExcTag ||\n (typeof value.message == 'string' && typeof value.name == 'string' && !isPlainObject(value));\n }\n\n /**\n * Checks if `value` is a finite primitive number.\n *\n * **Note:** This method is based on\n * [`Number.isFinite`](https://mdn.io/Number/isFinite).\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a finite number, else `false`.\n * @example\n *\n * _.isFinite(3);\n * // => true\n *\n * _.isFinite(Number.MIN_VALUE);\n * // => true\n *\n * _.isFinite(Infinity);\n * // => false\n *\n * _.isFinite('3');\n * // => false\n */\n function isFinite(value) {\n return typeof value == 'number' && nativeIsFinite(value);\n }\n\n /**\n * Checks if `value` is classified as a `Function` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a function, else `false`.\n * @example\n *\n * _.isFunction(_);\n * // => true\n *\n * _.isFunction(/abc/);\n * // => false\n */\n function isFunction(value) {\n if (!isObject(value)) {\n return false;\n }\n // The use of `Object#toString` avoids issues with the `typeof` operator\n // in Safari 9 which returns 'object' for typed arrays and other constructors.\n var tag = baseGetTag(value);\n return tag == funcTag || tag == genTag || tag == asyncTag || tag == proxyTag;\n }\n\n /**\n * Checks if `value` is an integer.\n *\n * **Note:** This method is based on\n * [`Number.isInteger`](https://mdn.io/Number/isInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an integer, else `false`.\n * @example\n *\n * _.isInteger(3);\n * // => true\n *\n * _.isInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isInteger(Infinity);\n * // => false\n *\n * _.isInteger('3');\n * // => false\n */\n function isInteger(value) {\n return typeof value == 'number' && value == toInteger(value);\n }\n\n /**\n * Checks if `value` is a valid array-like length.\n *\n * **Note:** This method is loosely based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a valid length, else `false`.\n * @example\n *\n * _.isLength(3);\n * // => true\n *\n * _.isLength(Number.MIN_VALUE);\n * // => false\n *\n * _.isLength(Infinity);\n * // => false\n *\n * _.isLength('3');\n * // => false\n */\n function isLength(value) {\n return typeof value == 'number' &&\n value > -1 && value % 1 == 0 && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is the\n * [language type](http://www.ecma-international.org/ecma-262/7.0/#sec-ecmascript-language-types)\n * of `Object`. (e.g. arrays, functions, objects, regexes, `new Number(0)`, and `new String('')`)\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is an object, else `false`.\n * @example\n *\n * _.isObject({});\n * // => true\n *\n * _.isObject([1, 2, 3]);\n * // => true\n *\n * _.isObject(_.noop);\n * // => true\n *\n * _.isObject(null);\n * // => false\n */\n function isObject(value) {\n var type = typeof value;\n return value != null && (type == 'object' || type == 'function');\n }\n\n /**\n * Checks if `value` is object-like. A value is object-like if it's not `null`\n * and has a `typeof` result of \"object\".\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is object-like, else `false`.\n * @example\n *\n * _.isObjectLike({});\n * // => true\n *\n * _.isObjectLike([1, 2, 3]);\n * // => true\n *\n * _.isObjectLike(_.noop);\n * // => false\n *\n * _.isObjectLike(null);\n * // => false\n */\n function isObjectLike(value) {\n return value != null && typeof value == 'object';\n }\n\n /**\n * Checks if `value` is classified as a `Map` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a map, else `false`.\n * @example\n *\n * _.isMap(new Map);\n * // => true\n *\n * _.isMap(new WeakMap);\n * // => false\n */\n var isMap = nodeIsMap ? baseUnary(nodeIsMap) : baseIsMap;\n\n /**\n * Performs a partial deep comparison between `object` and `source` to\n * determine if `object` contains equivalent property values.\n *\n * **Note:** This method is equivalent to `_.matches` when `source` is\n * partially applied.\n *\n * Partial comparisons will match empty array and empty object `source`\n * values against any array or object value, respectively. See `_.isEqual`\n * for a list of supported value comparisons.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * var object = { 'a': 1, 'b': 2 };\n *\n * _.isMatch(object, { 'b': 2 });\n * // => true\n *\n * _.isMatch(object, { 'b': 1 });\n * // => false\n */\n function isMatch(object, source) {\n return object === source || baseIsMatch(object, source, getMatchData(source));\n }\n\n /**\n * This method is like `_.isMatch` except that it accepts `customizer` which\n * is invoked to compare values. If `customizer` returns `undefined`, comparisons\n * are handled by the method instead. The `customizer` is invoked with five\n * arguments: (objValue, srcValue, index|key, object, source).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {Object} object The object to inspect.\n * @param {Object} source The object of property values to match.\n * @param {Function} [customizer] The function to customize comparisons.\n * @returns {boolean} Returns `true` if `object` is a match, else `false`.\n * @example\n *\n * function isGreeting(value) {\n * return /^h(?:i|ello)$/.test(value);\n * }\n *\n * function customizer(objValue, srcValue) {\n * if (isGreeting(objValue) && isGreeting(srcValue)) {\n * return true;\n * }\n * }\n *\n * var object = { 'greeting': 'hello' };\n * var source = { 'greeting': 'hi' };\n *\n * _.isMatchWith(object, source, customizer);\n * // => true\n */\n function isMatchWith(object, source, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return baseIsMatch(object, source, getMatchData(source), customizer);\n }\n\n /**\n * Checks if `value` is `NaN`.\n *\n * **Note:** This method is based on\n * [`Number.isNaN`](https://mdn.io/Number/isNaN) and is not the same as\n * global [`isNaN`](https://mdn.io/isNaN) which returns `true` for\n * `undefined` and other non-number values.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `NaN`, else `false`.\n * @example\n *\n * _.isNaN(NaN);\n * // => true\n *\n * _.isNaN(new Number(NaN));\n * // => true\n *\n * isNaN(undefined);\n * // => true\n *\n * _.isNaN(undefined);\n * // => false\n */\n function isNaN(value) {\n // An `NaN` primitive is the only value that is not equal to itself.\n // Perform the `toStringTag` check first to avoid errors with some\n // ActiveX objects in IE.\n return isNumber(value) && value != +value;\n }\n\n /**\n * Checks if `value` is a pristine native function.\n *\n * **Note:** This method can't reliably detect native functions in the presence\n * of the core-js package because core-js circumvents this kind of detection.\n * Despite multiple requests, the core-js maintainer has made it clear: any\n * attempt to fix the detection will be obstructed. As a result, we're left\n * with little choice but to throw an error. Unfortunately, this also affects\n * packages, like [babel-polyfill](https://www.npmjs.com/package/babel-polyfill),\n * which rely on core-js.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a native function,\n * else `false`.\n * @example\n *\n * _.isNative(Array.prototype.push);\n * // => true\n *\n * _.isNative(_);\n * // => false\n */\n function isNative(value) {\n if (isMaskable(value)) {\n throw new Error(CORE_ERROR_TEXT);\n }\n return baseIsNative(value);\n }\n\n /**\n * Checks if `value` is `null`.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `null`, else `false`.\n * @example\n *\n * _.isNull(null);\n * // => true\n *\n * _.isNull(void 0);\n * // => false\n */\n function isNull(value) {\n return value === null;\n }\n\n /**\n * Checks if `value` is `null` or `undefined`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is nullish, else `false`.\n * @example\n *\n * _.isNil(null);\n * // => true\n *\n * _.isNil(void 0);\n * // => true\n *\n * _.isNil(NaN);\n * // => false\n */\n function isNil(value) {\n return value == null;\n }\n\n /**\n * Checks if `value` is classified as a `Number` primitive or object.\n *\n * **Note:** To exclude `Infinity`, `-Infinity`, and `NaN`, which are\n * classified as numbers, use the `_.isFinite` method.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a number, else `false`.\n * @example\n *\n * _.isNumber(3);\n * // => true\n *\n * _.isNumber(Number.MIN_VALUE);\n * // => true\n *\n * _.isNumber(Infinity);\n * // => true\n *\n * _.isNumber('3');\n * // => false\n */\n function isNumber(value) {\n return typeof value == 'number' ||\n (isObjectLike(value) && baseGetTag(value) == numberTag);\n }\n\n /**\n * Checks if `value` is a plain object, that is, an object created by the\n * `Object` constructor or one with a `[[Prototype]]` of `null`.\n *\n * @static\n * @memberOf _\n * @since 0.8.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a plain object, else `false`.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * _.isPlainObject(new Foo);\n * // => false\n *\n * _.isPlainObject([1, 2, 3]);\n * // => false\n *\n * _.isPlainObject({ 'x': 0, 'y': 0 });\n * // => true\n *\n * _.isPlainObject(Object.create(null));\n * // => true\n */\n function isPlainObject(value) {\n if (!isObjectLike(value) || baseGetTag(value) != objectTag) {\n return false;\n }\n var proto = getPrototype(value);\n if (proto === null) {\n return true;\n }\n var Ctor = hasOwnProperty.call(proto, 'constructor') && proto.constructor;\n return typeof Ctor == 'function' && Ctor instanceof Ctor &&\n funcToString.call(Ctor) == objectCtorString;\n }\n\n /**\n * Checks if `value` is classified as a `RegExp` object.\n *\n * @static\n * @memberOf _\n * @since 0.1.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a regexp, else `false`.\n * @example\n *\n * _.isRegExp(/abc/);\n * // => true\n *\n * _.isRegExp('/abc/');\n * // => false\n */\n var isRegExp = nodeIsRegExp ? baseUnary(nodeIsRegExp) : baseIsRegExp;\n\n /**\n * Checks if `value` is a safe integer. An integer is safe if it's an IEEE-754\n * double precision number which isn't the result of a rounded unsafe integer.\n *\n * **Note:** This method is based on\n * [`Number.isSafeInteger`](https://mdn.io/Number/isSafeInteger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a safe integer, else `false`.\n * @example\n *\n * _.isSafeInteger(3);\n * // => true\n *\n * _.isSafeInteger(Number.MIN_VALUE);\n * // => false\n *\n * _.isSafeInteger(Infinity);\n * // => false\n *\n * _.isSafeInteger('3');\n * // => false\n */\n function isSafeInteger(value) {\n return isInteger(value) && value >= -MAX_SAFE_INTEGER && value <= MAX_SAFE_INTEGER;\n }\n\n /**\n * Checks if `value` is classified as a `Set` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a set, else `false`.\n * @example\n *\n * _.isSet(new Set);\n * // => true\n *\n * _.isSet(new WeakSet);\n * // => false\n */\n var isSet = nodeIsSet ? baseUnary(nodeIsSet) : baseIsSet;\n\n /**\n * Checks if `value` is classified as a `String` primitive or object.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a string, else `false`.\n * @example\n *\n * _.isString('abc');\n * // => true\n *\n * _.isString(1);\n * // => false\n */\n function isString(value) {\n return typeof value == 'string' ||\n (!isArray(value) && isObjectLike(value) && baseGetTag(value) == stringTag);\n }\n\n /**\n * Checks if `value` is classified as a `Symbol` primitive or object.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a symbol, else `false`.\n * @example\n *\n * _.isSymbol(Symbol.iterator);\n * // => true\n *\n * _.isSymbol('abc');\n * // => false\n */\n function isSymbol(value) {\n return typeof value == 'symbol' ||\n (isObjectLike(value) && baseGetTag(value) == symbolTag);\n }\n\n /**\n * Checks if `value` is classified as a typed array.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a typed array, else `false`.\n * @example\n *\n * _.isTypedArray(new Uint8Array);\n * // => true\n *\n * _.isTypedArray([]);\n * // => false\n */\n var isTypedArray = nodeIsTypedArray ? baseUnary(nodeIsTypedArray) : baseIsTypedArray;\n\n /**\n * Checks if `value` is `undefined`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is `undefined`, else `false`.\n * @example\n *\n * _.isUndefined(void 0);\n * // => true\n *\n * _.isUndefined(null);\n * // => false\n */\n function isUndefined(value) {\n return value === undefined;\n }\n\n /**\n * Checks if `value` is classified as a `WeakMap` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak map, else `false`.\n * @example\n *\n * _.isWeakMap(new WeakMap);\n * // => true\n *\n * _.isWeakMap(new Map);\n * // => false\n */\n function isWeakMap(value) {\n return isObjectLike(value) && getTag(value) == weakMapTag;\n }\n\n /**\n * Checks if `value` is classified as a `WeakSet` object.\n *\n * @static\n * @memberOf _\n * @since 4.3.0\n * @category Lang\n * @param {*} value The value to check.\n * @returns {boolean} Returns `true` if `value` is a weak set, else `false`.\n * @example\n *\n * _.isWeakSet(new WeakSet);\n * // => true\n *\n * _.isWeakSet(new Set);\n * // => false\n */\n function isWeakSet(value) {\n return isObjectLike(value) && baseGetTag(value) == weakSetTag;\n }\n\n /**\n * Checks if `value` is less than `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than `other`,\n * else `false`.\n * @see _.gt\n * @example\n *\n * _.lt(1, 3);\n * // => true\n *\n * _.lt(3, 3);\n * // => false\n *\n * _.lt(3, 1);\n * // => false\n */\n var lt = createRelationalOperation(baseLt);\n\n /**\n * Checks if `value` is less than or equal to `other`.\n *\n * @static\n * @memberOf _\n * @since 3.9.0\n * @category Lang\n * @param {*} value The value to compare.\n * @param {*} other The other value to compare.\n * @returns {boolean} Returns `true` if `value` is less than or equal to\n * `other`, else `false`.\n * @see _.gte\n * @example\n *\n * _.lte(1, 3);\n * // => true\n *\n * _.lte(3, 3);\n * // => true\n *\n * _.lte(3, 1);\n * // => false\n */\n var lte = createRelationalOperation(function(value, other) {\n return value <= other;\n });\n\n /**\n * Converts `value` to an array.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Array} Returns the converted array.\n * @example\n *\n * _.toArray({ 'a': 1, 'b': 2 });\n * // => [1, 2]\n *\n * _.toArray('abc');\n * // => ['a', 'b', 'c']\n *\n * _.toArray(1);\n * // => []\n *\n * _.toArray(null);\n * // => []\n */\n function toArray(value) {\n if (!value) {\n return [];\n }\n if (isArrayLike(value)) {\n return isString(value) ? stringToArray(value) : copyArray(value);\n }\n if (symIterator && value[symIterator]) {\n return iteratorToArray(value[symIterator]());\n }\n var tag = getTag(value),\n func = tag == mapTag ? mapToArray : (tag == setTag ? setToArray : values);\n\n return func(value);\n }\n\n /**\n * Converts `value` to a finite number.\n *\n * @static\n * @memberOf _\n * @since 4.12.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted number.\n * @example\n *\n * _.toFinite(3.2);\n * // => 3.2\n *\n * _.toFinite(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toFinite(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toFinite('3.2');\n * // => 3.2\n */\n function toFinite(value) {\n if (!value) {\n return value === 0 ? value : 0;\n }\n value = toNumber(value);\n if (value === INFINITY || value === -INFINITY) {\n var sign = (value < 0 ? -1 : 1);\n return sign * MAX_INTEGER;\n }\n return value === value ? value : 0;\n }\n\n /**\n * Converts `value` to an integer.\n *\n * **Note:** This method is loosely based on\n * [`ToInteger`](http://www.ecma-international.org/ecma-262/7.0/#sec-tointeger).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toInteger(3.2);\n * // => 3\n *\n * _.toInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toInteger(Infinity);\n * // => 1.7976931348623157e+308\n *\n * _.toInteger('3.2');\n * // => 3\n */\n function toInteger(value) {\n var result = toFinite(value),\n remainder = result % 1;\n\n return result === result ? (remainder ? result - remainder : result) : 0;\n }\n\n /**\n * Converts `value` to an integer suitable for use as the length of an\n * array-like object.\n *\n * **Note:** This method is based on\n * [`ToLength`](http://ecma-international.org/ecma-262/7.0/#sec-tolength).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toLength(3.2);\n * // => 3\n *\n * _.toLength(Number.MIN_VALUE);\n * // => 0\n *\n * _.toLength(Infinity);\n * // => 4294967295\n *\n * _.toLength('3.2');\n * // => 3\n */\n function toLength(value) {\n return value ? baseClamp(toInteger(value), 0, MAX_ARRAY_LENGTH) : 0;\n }\n\n /**\n * Converts `value` to a number.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to process.\n * @returns {number} Returns the number.\n * @example\n *\n * _.toNumber(3.2);\n * // => 3.2\n *\n * _.toNumber(Number.MIN_VALUE);\n * // => 5e-324\n *\n * _.toNumber(Infinity);\n * // => Infinity\n *\n * _.toNumber('3.2');\n * // => 3.2\n */\n function toNumber(value) {\n if (typeof value == 'number') {\n return value;\n }\n if (isSymbol(value)) {\n return NAN;\n }\n if (isObject(value)) {\n var other = typeof value.valueOf == 'function' ? value.valueOf() : value;\n value = isObject(other) ? (other + '') : other;\n }\n if (typeof value != 'string') {\n return value === 0 ? value : +value;\n }\n value = baseTrim(value);\n var isBinary = reIsBinary.test(value);\n return (isBinary || reIsOctal.test(value))\n ? freeParseInt(value.slice(2), isBinary ? 2 : 8)\n : (reIsBadHex.test(value) ? NAN : +value);\n }\n\n /**\n * Converts `value` to a plain object flattening inherited enumerable string\n * keyed properties of `value` to own properties of the plain object.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {Object} Returns the converted plain object.\n * @example\n *\n * function Foo() {\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.assign({ 'a': 1 }, new Foo);\n * // => { 'a': 1, 'b': 2 }\n *\n * _.assign({ 'a': 1 }, _.toPlainObject(new Foo));\n * // => { 'a': 1, 'b': 2, 'c': 3 }\n */\n function toPlainObject(value) {\n return copyObject(value, keysIn(value));\n }\n\n /**\n * Converts `value` to a safe integer. A safe integer can be compared and\n * represented correctly.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.toSafeInteger(3.2);\n * // => 3\n *\n * _.toSafeInteger(Number.MIN_VALUE);\n * // => 0\n *\n * _.toSafeInteger(Infinity);\n * // => 9007199254740991\n *\n * _.toSafeInteger('3.2');\n * // => 3\n */\n function toSafeInteger(value) {\n return value\n ? baseClamp(toInteger(value), -MAX_SAFE_INTEGER, MAX_SAFE_INTEGER)\n : (value === 0 ? value : 0);\n }\n\n /**\n * Converts `value` to a string. An empty string is returned for `null`\n * and `undefined` values. The sign of `-0` is preserved.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Lang\n * @param {*} value The value to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.toString(null);\n * // => ''\n *\n * _.toString(-0);\n * // => '-0'\n *\n * _.toString([1, 2, 3]);\n * // => '1,2,3'\n */\n function toString(value) {\n return value == null ? '' : baseToString(value);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Assigns own enumerable string keyed properties of source objects to the\n * destination object. Source objects are applied from left to right.\n * Subsequent sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object` and is loosely based on\n * [`Object.assign`](https://mdn.io/Object/assign).\n *\n * @static\n * @memberOf _\n * @since 0.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assignIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assign({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'c': 3 }\n */\n var assign = createAssigner(function(object, source) {\n if (isPrototype(source) || isArrayLike(source)) {\n copyObject(source, keys(source), object);\n return;\n }\n for (var key in source) {\n if (hasOwnProperty.call(source, key)) {\n assignValue(object, key, source[key]);\n }\n }\n });\n\n /**\n * This method is like `_.assign` except that it iterates over own and\n * inherited source properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extend\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.assign\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * }\n *\n * function Bar() {\n * this.c = 3;\n * }\n *\n * Foo.prototype.b = 2;\n * Bar.prototype.d = 4;\n *\n * _.assignIn({ 'a': 0 }, new Foo, new Bar);\n * // => { 'a': 1, 'b': 2, 'c': 3, 'd': 4 }\n */\n var assignIn = createAssigner(function(object, source) {\n copyObject(source, keysIn(source), object);\n });\n\n /**\n * This method is like `_.assignIn` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias extendWith\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignInWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignInWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keysIn(source), object, customizer);\n });\n\n /**\n * This method is like `_.assign` except that it accepts `customizer`\n * which is invoked to produce the assigned values. If `customizer` returns\n * `undefined`, assignment is handled by the method instead. The `customizer`\n * is invoked with five arguments: (objValue, srcValue, key, object, source).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @see _.assignInWith\n * @example\n *\n * function customizer(objValue, srcValue) {\n * return _.isUndefined(objValue) ? srcValue : objValue;\n * }\n *\n * var defaults = _.partialRight(_.assignWith, customizer);\n *\n * defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var assignWith = createAssigner(function(object, source, srcIndex, customizer) {\n copyObject(source, keys(source), object, customizer);\n });\n\n /**\n * Creates an array of values corresponding to `paths` of `object`.\n *\n * @static\n * @memberOf _\n * @since 1.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Array} Returns the picked values.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }, 4] };\n *\n * _.at(object, ['a[0].b.c', 'a[1]']);\n * // => [3, 4]\n */\n var at = flatRest(baseAt);\n\n /**\n * Creates an object that inherits from the `prototype` object. If a\n * `properties` object is given, its own enumerable string keyed properties\n * are assigned to the created object.\n *\n * @static\n * @memberOf _\n * @since 2.3.0\n * @category Object\n * @param {Object} prototype The object to inherit from.\n * @param {Object} [properties] The properties to assign to the object.\n * @returns {Object} Returns the new object.\n * @example\n *\n * function Shape() {\n * this.x = 0;\n * this.y = 0;\n * }\n *\n * function Circle() {\n * Shape.call(this);\n * }\n *\n * Circle.prototype = _.create(Shape.prototype, {\n * 'constructor': Circle\n * });\n *\n * var circle = new Circle;\n * circle instanceof Circle;\n * // => true\n *\n * circle instanceof Shape;\n * // => true\n */\n function create(prototype, properties) {\n var result = baseCreate(prototype);\n return properties == null ? result : baseAssign(result, properties);\n }\n\n /**\n * Assigns own and inherited enumerable string keyed properties of source\n * objects to the destination object for all destination properties that\n * resolve to `undefined`. Source objects are applied from left to right.\n * Once a property is set, additional values of the same property are ignored.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaultsDeep\n * @example\n *\n * _.defaults({ 'a': 1 }, { 'b': 2 }, { 'a': 3 });\n * // => { 'a': 1, 'b': 2 }\n */\n var defaults = baseRest(function(object, sources) {\n object = Object(object);\n\n var index = -1;\n var length = sources.length;\n var guard = length > 2 ? sources[2] : undefined;\n\n if (guard && isIterateeCall(sources[0], sources[1], guard)) {\n length = 1;\n }\n\n while (++index < length) {\n var source = sources[index];\n var props = keysIn(source);\n var propsIndex = -1;\n var propsLength = props.length;\n\n while (++propsIndex < propsLength) {\n var key = props[propsIndex];\n var value = object[key];\n\n if (value === undefined ||\n (eq(value, objectProto[key]) && !hasOwnProperty.call(object, key))) {\n object[key] = source[key];\n }\n }\n }\n\n return object;\n });\n\n /**\n * This method is like `_.defaults` except that it recursively assigns\n * default properties.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.10.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @see _.defaults\n * @example\n *\n * _.defaultsDeep({ 'a': { 'b': 2 } }, { 'a': { 'b': 1, 'c': 3 } });\n * // => { 'a': { 'b': 2, 'c': 3 } }\n */\n var defaultsDeep = baseRest(function(args) {\n args.push(undefined, customDefaultsMerge);\n return apply(mergeWith, undefined, args);\n });\n\n /**\n * This method is like `_.find` except that it returns the key of the first\n * element `predicate` returns truthy for instead of the element itself.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findKey(users, function(o) { return o.age < 40; });\n * // => 'barney' (iteration order is not guaranteed)\n *\n * // The `_.matches` iteratee shorthand.\n * _.findKey(users, { 'age': 1, 'active': true });\n * // => 'pebbles'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findKey(users, 'active');\n * // => 'barney'\n */\n function findKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwn);\n }\n\n /**\n * This method is like `_.findKey` except that it iterates over elements of\n * a collection in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @param {Function} [predicate=_.identity] The function invoked per iteration.\n * @returns {string|undefined} Returns the key of the matched element,\n * else `undefined`.\n * @example\n *\n * var users = {\n * 'barney': { 'age': 36, 'active': true },\n * 'fred': { 'age': 40, 'active': false },\n * 'pebbles': { 'age': 1, 'active': true }\n * };\n *\n * _.findLastKey(users, function(o) { return o.age < 40; });\n * // => returns 'pebbles' assuming `_.findKey` returns 'barney'\n *\n * // The `_.matches` iteratee shorthand.\n * _.findLastKey(users, { 'age': 36, 'active': true });\n * // => 'barney'\n *\n * // The `_.matchesProperty` iteratee shorthand.\n * _.findLastKey(users, ['active', false]);\n * // => 'fred'\n *\n * // The `_.property` iteratee shorthand.\n * _.findLastKey(users, 'active');\n * // => 'pebbles'\n */\n function findLastKey(object, predicate) {\n return baseFindKey(object, getIteratee(predicate, 3), baseForOwnRight);\n }\n\n /**\n * Iterates over own and inherited enumerable string keyed properties of an\n * object and invokes `iteratee` for each property. The iteratee is invoked\n * with three arguments: (value, key, object). Iteratee functions may exit\n * iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forInRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forIn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a', 'b', then 'c' (iteration order is not guaranteed).\n */\n function forIn(object, iteratee) {\n return object == null\n ? object\n : baseFor(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * This method is like `_.forIn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forIn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forInRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'c', 'b', then 'a' assuming `_.forIn` logs 'a', 'b', then 'c'.\n */\n function forInRight(object, iteratee) {\n return object == null\n ? object\n : baseForRight(object, getIteratee(iteratee, 3), keysIn);\n }\n\n /**\n * Iterates over own enumerable string keyed properties of an object and\n * invokes `iteratee` for each property. The iteratee is invoked with three\n * arguments: (value, key, object). Iteratee functions may exit iteration\n * early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 0.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwnRight\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwn(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'a' then 'b' (iteration order is not guaranteed).\n */\n function forOwn(object, iteratee) {\n return object && baseForOwn(object, getIteratee(iteratee, 3));\n }\n\n /**\n * This method is like `_.forOwn` except that it iterates over properties of\n * `object` in the opposite order.\n *\n * @static\n * @memberOf _\n * @since 2.0.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns `object`.\n * @see _.forOwn\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.forOwnRight(new Foo, function(value, key) {\n * console.log(key);\n * });\n * // => Logs 'b' then 'a' assuming `_.forOwn` logs 'a' then 'b'.\n */\n function forOwnRight(object, iteratee) {\n return object && baseForOwnRight(object, getIteratee(iteratee, 3));\n }\n\n /**\n * Creates an array of function property names from own enumerable properties\n * of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functionsIn\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functions(new Foo);\n * // => ['a', 'b']\n */\n function functions(object) {\n return object == null ? [] : baseFunctions(object, keys(object));\n }\n\n /**\n * Creates an array of function property names from own and inherited\n * enumerable properties of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to inspect.\n * @returns {Array} Returns the function names.\n * @see _.functions\n * @example\n *\n * function Foo() {\n * this.a = _.constant('a');\n * this.b = _.constant('b');\n * }\n *\n * Foo.prototype.c = _.constant('c');\n *\n * _.functionsIn(new Foo);\n * // => ['a', 'b', 'c']\n */\n function functionsIn(object) {\n return object == null ? [] : baseFunctions(object, keysIn(object));\n }\n\n /**\n * Gets the value at `path` of `object`. If the resolved value is\n * `undefined`, the `defaultValue` is returned in its place.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to get.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.get(object, 'a[0].b.c');\n * // => 3\n *\n * _.get(object, ['a', '0', 'b', 'c']);\n * // => 3\n *\n * _.get(object, 'a.b.c', 'default');\n * // => 'default'\n */\n function get(object, path, defaultValue) {\n var result = object == null ? undefined : baseGet(object, path);\n return result === undefined ? defaultValue : result;\n }\n\n /**\n * Checks if `path` is a direct property of `object`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = { 'a': { 'b': 2 } };\n * var other = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.has(object, 'a');\n * // => true\n *\n * _.has(object, 'a.b');\n * // => true\n *\n * _.has(object, ['a', 'b']);\n * // => true\n *\n * _.has(other, 'a');\n * // => false\n */\n function has(object, path) {\n return object != null && hasPath(object, path, baseHas);\n }\n\n /**\n * Checks if `path` is a direct or inherited property of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path to check.\n * @returns {boolean} Returns `true` if `path` exists, else `false`.\n * @example\n *\n * var object = _.create({ 'a': _.create({ 'b': 2 }) });\n *\n * _.hasIn(object, 'a');\n * // => true\n *\n * _.hasIn(object, 'a.b');\n * // => true\n *\n * _.hasIn(object, ['a', 'b']);\n * // => true\n *\n * _.hasIn(object, 'b');\n * // => false\n */\n function hasIn(object, path) {\n return object != null && hasPath(object, path, baseHasIn);\n }\n\n /**\n * Creates an object composed of the inverted keys and values of `object`.\n * If `object` contains duplicate values, subsequent values overwrite\n * property assignments of previous values.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Object\n * @param {Object} object The object to invert.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invert(object);\n * // => { '1': 'c', '2': 'b' }\n */\n var invert = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n result[value] = key;\n }, constant(identity));\n\n /**\n * This method is like `_.invert` except that the inverted object is generated\n * from the results of running each element of `object` thru `iteratee`. The\n * corresponding inverted value of each inverted key is an array of keys\n * responsible for generating the inverted value. The iteratee is invoked\n * with one argument: (value).\n *\n * @static\n * @memberOf _\n * @since 4.1.0\n * @category Object\n * @param {Object} object The object to invert.\n * @param {Function} [iteratee=_.identity] The iteratee invoked per element.\n * @returns {Object} Returns the new inverted object.\n * @example\n *\n * var object = { 'a': 1, 'b': 2, 'c': 1 };\n *\n * _.invertBy(object);\n * // => { '1': ['a', 'c'], '2': ['b'] }\n *\n * _.invertBy(object, function(value) {\n * return 'group' + value;\n * });\n * // => { 'group1': ['a', 'c'], 'group2': ['b'] }\n */\n var invertBy = createInverter(function(result, value, key) {\n if (value != null &&\n typeof value.toString != 'function') {\n value = nativeObjectToString.call(value);\n }\n\n if (hasOwnProperty.call(result, value)) {\n result[value].push(key);\n } else {\n result[value] = [key];\n }\n }, getIteratee);\n\n /**\n * Invokes the method at `path` of `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the method to invoke.\n * @param {...*} [args] The arguments to invoke the method with.\n * @returns {*} Returns the result of the invoked method.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': [1, 2, 3, 4] } }] };\n *\n * _.invoke(object, 'a[0].b.c.slice', 1, 3);\n * // => [2, 3]\n */\n var invoke = baseRest(baseInvoke);\n\n /**\n * Creates an array of the own enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects. See the\n * [ES spec](http://ecma-international.org/ecma-262/7.0/#sec-object.keys)\n * for more details.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keys(new Foo);\n * // => ['a', 'b'] (iteration order is not guaranteed)\n *\n * _.keys('hi');\n * // => ['0', '1']\n */\n function keys(object) {\n return isArrayLike(object) ? arrayLikeKeys(object) : baseKeys(object);\n }\n\n /**\n * Creates an array of the own and inherited enumerable property names of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property names.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.keysIn(new Foo);\n * // => ['a', 'b', 'c'] (iteration order is not guaranteed)\n */\n function keysIn(object) {\n return isArrayLike(object) ? arrayLikeKeys(object, true) : baseKeysIn(object);\n }\n\n /**\n * The opposite of `_.mapValues`; this method creates an object with the\n * same values as `object` and keys generated by running each own enumerable\n * string keyed property of `object` thru `iteratee`. The iteratee is invoked\n * with three arguments: (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 3.8.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapValues\n * @example\n *\n * _.mapKeys({ 'a': 1, 'b': 2 }, function(value, key) {\n * return key + value;\n * });\n * // => { 'a1': 1, 'b2': 2 }\n */\n function mapKeys(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, iteratee(value, key, object), value);\n });\n return result;\n }\n\n /**\n * Creates an object with the same keys as `object` and values generated\n * by running each own enumerable string keyed property of `object` thru\n * `iteratee`. The iteratee is invoked with three arguments:\n * (value, key, object).\n *\n * @static\n * @memberOf _\n * @since 2.4.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @returns {Object} Returns the new mapped object.\n * @see _.mapKeys\n * @example\n *\n * var users = {\n * 'fred': { 'user': 'fred', 'age': 40 },\n * 'pebbles': { 'user': 'pebbles', 'age': 1 }\n * };\n *\n * _.mapValues(users, function(o) { return o.age; });\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n *\n * // The `_.property` iteratee shorthand.\n * _.mapValues(users, 'age');\n * // => { 'fred': 40, 'pebbles': 1 } (iteration order is not guaranteed)\n */\n function mapValues(object, iteratee) {\n var result = {};\n iteratee = getIteratee(iteratee, 3);\n\n baseForOwn(object, function(value, key, object) {\n baseAssignValue(result, key, iteratee(value, key, object));\n });\n return result;\n }\n\n /**\n * This method is like `_.assign` except that it recursively merges own and\n * inherited enumerable string keyed properties of source objects into the\n * destination object. Source properties that resolve to `undefined` are\n * skipped if a destination value exists. Array and plain object properties\n * are merged recursively. Other objects and value types are overridden by\n * assignment. Source objects are applied from left to right. Subsequent\n * sources overwrite property assignments of previous sources.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 0.5.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} [sources] The source objects.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {\n * 'a': [{ 'b': 2 }, { 'd': 4 }]\n * };\n *\n * var other = {\n * 'a': [{ 'c': 3 }, { 'e': 5 }]\n * };\n *\n * _.merge(object, other);\n * // => { 'a': [{ 'b': 2, 'c': 3 }, { 'd': 4, 'e': 5 }] }\n */\n var merge = createAssigner(function(object, source, srcIndex) {\n baseMerge(object, source, srcIndex);\n });\n\n /**\n * This method is like `_.merge` except that it accepts `customizer` which\n * is invoked to produce the merged values of the destination and source\n * properties. If `customizer` returns `undefined`, merging is handled by the\n * method instead. The `customizer` is invoked with six arguments:\n * (objValue, srcValue, key, object, source, stack).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The destination object.\n * @param {...Object} sources The source objects.\n * @param {Function} customizer The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * function customizer(objValue, srcValue) {\n * if (_.isArray(objValue)) {\n * return objValue.concat(srcValue);\n * }\n * }\n *\n * var object = { 'a': [1], 'b': [2] };\n * var other = { 'a': [3], 'b': [4] };\n *\n * _.mergeWith(object, other, customizer);\n * // => { 'a': [1, 3], 'b': [2, 4] }\n */\n var mergeWith = createAssigner(function(object, source, srcIndex, customizer) {\n baseMerge(object, source, srcIndex, customizer);\n });\n\n /**\n * The opposite of `_.pick`; this method creates an object composed of the\n * own and inherited enumerable property paths of `object` that are not omitted.\n *\n * **Note:** This method is considerably slower than `_.pick`.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to omit.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omit(object, ['a', 'c']);\n * // => { 'b': '2' }\n */\n var omit = flatRest(function(object, paths) {\n var result = {};\n if (object == null) {\n return result;\n }\n var isDeep = false;\n paths = arrayMap(paths, function(path) {\n path = castPath(path, object);\n isDeep || (isDeep = path.length > 1);\n return path;\n });\n copyObject(object, getAllKeysIn(object), result);\n if (isDeep) {\n result = baseClone(result, CLONE_DEEP_FLAG | CLONE_FLAT_FLAG | CLONE_SYMBOLS_FLAG, customOmitClone);\n }\n var length = paths.length;\n while (length--) {\n baseUnset(result, paths[length]);\n }\n return result;\n });\n\n /**\n * The opposite of `_.pickBy`; this method creates an object composed of\n * the own and inherited enumerable string keyed properties of `object` that\n * `predicate` doesn't return truthy for. The predicate is invoked with two\n * arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.omitBy(object, _.isNumber);\n * // => { 'b': '2' }\n */\n function omitBy(object, predicate) {\n return pickBy(object, negate(getIteratee(predicate)));\n }\n\n /**\n * Creates an object composed of the picked `object` properties.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The source object.\n * @param {...(string|string[])} [paths] The property paths to pick.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pick(object, ['a', 'c']);\n * // => { 'a': 1, 'c': 3 }\n */\n var pick = flatRest(function(object, paths) {\n return object == null ? {} : basePick(object, paths);\n });\n\n /**\n * Creates an object composed of the `object` properties `predicate` returns\n * truthy for. The predicate is invoked with two arguments: (value, key).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The source object.\n * @param {Function} [predicate=_.identity] The function invoked per property.\n * @returns {Object} Returns the new object.\n * @example\n *\n * var object = { 'a': 1, 'b': '2', 'c': 3 };\n *\n * _.pickBy(object, _.isNumber);\n * // => { 'a': 1, 'c': 3 }\n */\n function pickBy(object, predicate) {\n if (object == null) {\n return {};\n }\n var props = arrayMap(getAllKeysIn(object), function(prop) {\n return [prop];\n });\n predicate = getIteratee(predicate);\n return basePickBy(object, props, function(value, path) {\n return predicate(value, path[0]);\n });\n }\n\n /**\n * This method is like `_.get` except that if the resolved value is a\n * function it's invoked with the `this` binding of its parent object and\n * its result is returned.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @param {Array|string} path The path of the property to resolve.\n * @param {*} [defaultValue] The value returned for `undefined` resolved values.\n * @returns {*} Returns the resolved value.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c1': 3, 'c2': _.constant(4) } }] };\n *\n * _.result(object, 'a[0].b.c1');\n * // => 3\n *\n * _.result(object, 'a[0].b.c2');\n * // => 4\n *\n * _.result(object, 'a[0].b.c3', 'default');\n * // => 'default'\n *\n * _.result(object, 'a[0].b.c3', _.constant('default'));\n * // => 'default'\n */\n function result(object, path, defaultValue) {\n path = castPath(path, object);\n\n var index = -1,\n length = path.length;\n\n // Ensure the loop is entered when path is empty.\n if (!length) {\n length = 1;\n object = undefined;\n }\n while (++index < length) {\n var value = object == null ? undefined : object[toKey(path[index])];\n if (value === undefined) {\n index = length;\n value = defaultValue;\n }\n object = isFunction(value) ? value.call(object) : value;\n }\n return object;\n }\n\n /**\n * Sets the value at `path` of `object`. If a portion of `path` doesn't exist,\n * it's created. Arrays are created for missing index properties while objects\n * are created for all other missing properties. Use `_.setWith` to customize\n * `path` creation.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 3.7.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.set(object, 'a[0].b.c', 4);\n * console.log(object.a[0].b.c);\n * // => 4\n *\n * _.set(object, ['x', '0', 'y', 'z'], 5);\n * console.log(object.x[0].y.z);\n * // => 5\n */\n function set(object, path, value) {\n return object == null ? object : baseSet(object, path, value);\n }\n\n /**\n * This method is like `_.set` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {*} value The value to set.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.setWith(object, '[0][1]', 'a', Object);\n * // => { '0': { '1': 'a' } }\n */\n function setWith(object, path, value, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseSet(object, path, value, customizer);\n }\n\n /**\n * Creates an array of own enumerable string keyed-value pairs for `object`\n * which can be consumed by `_.fromPairs`. If `object` is a map or set, its\n * entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entries\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairs(new Foo);\n * // => [['a', 1], ['b', 2]] (iteration order is not guaranteed)\n */\n var toPairs = createToPairs(keys);\n\n /**\n * Creates an array of own and inherited enumerable string keyed-value pairs\n * for `object` which can be consumed by `_.fromPairs`. If `object` is a map\n * or set, its entries are returned.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @alias entriesIn\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the key-value pairs.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.toPairsIn(new Foo);\n * // => [['a', 1], ['b', 2], ['c', 3]] (iteration order is not guaranteed)\n */\n var toPairsIn = createToPairs(keysIn);\n\n /**\n * An alternative to `_.reduce`; this method transforms `object` to a new\n * `accumulator` object which is the result of running each of its own\n * enumerable string keyed properties thru `iteratee`, with each invocation\n * potentially mutating the `accumulator` object. If `accumulator` is not\n * provided, a new object with the same `[[Prototype]]` will be used. The\n * iteratee is invoked with four arguments: (accumulator, value, key, object).\n * Iteratee functions may exit iteration early by explicitly returning `false`.\n *\n * @static\n * @memberOf _\n * @since 1.3.0\n * @category Object\n * @param {Object} object The object to iterate over.\n * @param {Function} [iteratee=_.identity] The function invoked per iteration.\n * @param {*} [accumulator] The custom accumulator value.\n * @returns {*} Returns the accumulated value.\n * @example\n *\n * _.transform([2, 3, 4], function(result, n) {\n * result.push(n *= n);\n * return n % 2 == 0;\n * }, []);\n * // => [4, 9]\n *\n * _.transform({ 'a': 1, 'b': 2, 'c': 1 }, function(result, value, key) {\n * (result[value] || (result[value] = [])).push(key);\n * }, {});\n * // => { '1': ['a', 'c'], '2': ['b'] }\n */\n function transform(object, iteratee, accumulator) {\n var isArr = isArray(object),\n isArrLike = isArr || isBuffer(object) || isTypedArray(object);\n\n iteratee = getIteratee(iteratee, 4);\n if (accumulator == null) {\n var Ctor = object && object.constructor;\n if (isArrLike) {\n accumulator = isArr ? new Ctor : [];\n }\n else if (isObject(object)) {\n accumulator = isFunction(Ctor) ? baseCreate(getPrototype(object)) : {};\n }\n else {\n accumulator = {};\n }\n }\n (isArrLike ? arrayEach : baseForOwn)(object, function(value, index, object) {\n return iteratee(accumulator, value, index, object);\n });\n return accumulator;\n }\n\n /**\n * Removes the property at `path` of `object`.\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to unset.\n * @returns {boolean} Returns `true` if the property is deleted, else `false`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 7 } }] };\n * _.unset(object, 'a[0].b.c');\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n *\n * _.unset(object, ['a', '0', 'b', 'c']);\n * // => true\n *\n * console.log(object);\n * // => { 'a': [{ 'b': {} }] };\n */\n function unset(object, path) {\n return object == null ? true : baseUnset(object, path);\n }\n\n /**\n * This method is like `_.set` except that accepts `updater` to produce the\n * value to set. Use `_.updateWith` to customize `path` creation. The `updater`\n * is invoked with one argument: (value).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = { 'a': [{ 'b': { 'c': 3 } }] };\n *\n * _.update(object, 'a[0].b.c', function(n) { return n * n; });\n * console.log(object.a[0].b.c);\n * // => 9\n *\n * _.update(object, 'x[0].y.z', function(n) { return n ? n + 1 : 0; });\n * console.log(object.x[0].y.z);\n * // => 0\n */\n function update(object, path, updater) {\n return object == null ? object : baseUpdate(object, path, castFunction(updater));\n }\n\n /**\n * This method is like `_.update` except that it accepts `customizer` which is\n * invoked to produce the objects of `path`. If `customizer` returns `undefined`\n * path creation is handled by the method instead. The `customizer` is invoked\n * with three arguments: (nsValue, key, nsObject).\n *\n * **Note:** This method mutates `object`.\n *\n * @static\n * @memberOf _\n * @since 4.6.0\n * @category Object\n * @param {Object} object The object to modify.\n * @param {Array|string} path The path of the property to set.\n * @param {Function} updater The function to produce the updated value.\n * @param {Function} [customizer] The function to customize assigned values.\n * @returns {Object} Returns `object`.\n * @example\n *\n * var object = {};\n *\n * _.updateWith(object, '[0][1]', _.constant('a'), Object);\n * // => { '0': { '1': 'a' } }\n */\n function updateWith(object, path, updater, customizer) {\n customizer = typeof customizer == 'function' ? customizer : undefined;\n return object == null ? object : baseUpdate(object, path, castFunction(updater), customizer);\n }\n\n /**\n * Creates an array of the own enumerable string keyed property values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.values(new Foo);\n * // => [1, 2] (iteration order is not guaranteed)\n *\n * _.values('hi');\n * // => ['h', 'i']\n */\n function values(object) {\n return object == null ? [] : baseValues(object, keys(object));\n }\n\n /**\n * Creates an array of the own and inherited enumerable string keyed property\n * values of `object`.\n *\n * **Note:** Non-object values are coerced to objects.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category Object\n * @param {Object} object The object to query.\n * @returns {Array} Returns the array of property values.\n * @example\n *\n * function Foo() {\n * this.a = 1;\n * this.b = 2;\n * }\n *\n * Foo.prototype.c = 3;\n *\n * _.valuesIn(new Foo);\n * // => [1, 2, 3] (iteration order is not guaranteed)\n */\n function valuesIn(object) {\n return object == null ? [] : baseValues(object, keysIn(object));\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Clamps `number` within the inclusive `lower` and `upper` bounds.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category Number\n * @param {number} number The number to clamp.\n * @param {number} [lower] The lower bound.\n * @param {number} upper The upper bound.\n * @returns {number} Returns the clamped number.\n * @example\n *\n * _.clamp(-10, -5, 5);\n * // => -5\n *\n * _.clamp(10, -5, 5);\n * // => 5\n */\n function clamp(number, lower, upper) {\n if (upper === undefined) {\n upper = lower;\n lower = undefined;\n }\n if (upper !== undefined) {\n upper = toNumber(upper);\n upper = upper === upper ? upper : 0;\n }\n if (lower !== undefined) {\n lower = toNumber(lower);\n lower = lower === lower ? lower : 0;\n }\n return baseClamp(toNumber(number), lower, upper);\n }\n\n /**\n * Checks if `n` is between `start` and up to, but not including, `end`. If\n * `end` is not specified, it's set to `start` with `start` then set to `0`.\n * If `start` is greater than `end` the params are swapped to support\n * negative ranges.\n *\n * @static\n * @memberOf _\n * @since 3.3.0\n * @category Number\n * @param {number} number The number to check.\n * @param {number} [start=0] The start of the range.\n * @param {number} end The end of the range.\n * @returns {boolean} Returns `true` if `number` is in the range, else `false`.\n * @see _.range, _.rangeRight\n * @example\n *\n * _.inRange(3, 2, 4);\n * // => true\n *\n * _.inRange(4, 8);\n * // => true\n *\n * _.inRange(4, 2);\n * // => false\n *\n * _.inRange(2, 2);\n * // => false\n *\n * _.inRange(1.2, 2);\n * // => true\n *\n * _.inRange(5.2, 4);\n * // => false\n *\n * _.inRange(-3, -2, -6);\n * // => true\n */\n function inRange(number, start, end) {\n start = toFinite(start);\n if (end === undefined) {\n end = start;\n start = 0;\n } else {\n end = toFinite(end);\n }\n number = toNumber(number);\n return baseInRange(number, start, end);\n }\n\n /**\n * Produces a random number between the inclusive `lower` and `upper` bounds.\n * If only one argument is provided a number between `0` and the given number\n * is returned. If `floating` is `true`, or either `lower` or `upper` are\n * floats, a floating-point number is returned instead of an integer.\n *\n * **Note:** JavaScript follows the IEEE-754 standard for resolving\n * floating-point values which can produce unexpected results.\n *\n * @static\n * @memberOf _\n * @since 0.7.0\n * @category Number\n * @param {number} [lower=0] The lower bound.\n * @param {number} [upper=1] The upper bound.\n * @param {boolean} [floating] Specify returning a floating-point number.\n * @returns {number} Returns the random number.\n * @example\n *\n * _.random(0, 5);\n * // => an integer between 0 and 5\n *\n * _.random(5);\n * // => also an integer between 0 and 5\n *\n * _.random(5, true);\n * // => a floating-point number between 0 and 5\n *\n * _.random(1.2, 5.2);\n * // => a floating-point number between 1.2 and 5.2\n */\n function random(lower, upper, floating) {\n if (floating && typeof floating != 'boolean' && isIterateeCall(lower, upper, floating)) {\n upper = floating = undefined;\n }\n if (floating === undefined) {\n if (typeof upper == 'boolean') {\n floating = upper;\n upper = undefined;\n }\n else if (typeof lower == 'boolean') {\n floating = lower;\n lower = undefined;\n }\n }\n if (lower === undefined && upper === undefined) {\n lower = 0;\n upper = 1;\n }\n else {\n lower = toFinite(lower);\n if (upper === undefined) {\n upper = lower;\n lower = 0;\n } else {\n upper = toFinite(upper);\n }\n }\n if (lower > upper) {\n var temp = lower;\n lower = upper;\n upper = temp;\n }\n if (floating || lower % 1 || upper % 1) {\n var rand = nativeRandom();\n return nativeMin(lower + (rand * (upper - lower + freeParseFloat('1e-' + ((rand + '').length - 1)))), upper);\n }\n return baseRandom(lower, upper);\n }\n\n /*------------------------------------------------------------------------*/\n\n /**\n * Converts `string` to [camel case](https://en.wikipedia.org/wiki/CamelCase).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the camel cased string.\n * @example\n *\n * _.camelCase('Foo Bar');\n * // => 'fooBar'\n *\n * _.camelCase('--foo-bar--');\n * // => 'fooBar'\n *\n * _.camelCase('__FOO_BAR__');\n * // => 'fooBar'\n */\n var camelCase = createCompounder(function(result, word, index) {\n word = word.toLowerCase();\n return result + (index ? capitalize(word) : word);\n });\n\n /**\n * Converts the first character of `string` to upper case and the remaining\n * to lower case.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to capitalize.\n * @returns {string} Returns the capitalized string.\n * @example\n *\n * _.capitalize('FRED');\n * // => 'Fred'\n */\n function capitalize(string) {\n return upperFirst(toString(string).toLowerCase());\n }\n\n /**\n * Deburrs `string` by converting\n * [Latin-1 Supplement](https://en.wikipedia.org/wiki/Latin-1_Supplement_(Unicode_block)#Character_table)\n * and [Latin Extended-A](https://en.wikipedia.org/wiki/Latin_Extended-A)\n * letters to basic Latin letters and removing\n * [combining diacritical marks](https://en.wikipedia.org/wiki/Combining_Diacritical_Marks).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to deburr.\n * @returns {string} Returns the deburred string.\n * @example\n *\n * _.deburr('déjà vu');\n * // => 'deja vu'\n */\n function deburr(string) {\n string = toString(string);\n return string && string.replace(reLatin, deburrLetter).replace(reComboMark, '');\n }\n\n /**\n * Checks if `string` ends with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=string.length] The position to search up to.\n * @returns {boolean} Returns `true` if `string` ends with `target`,\n * else `false`.\n * @example\n *\n * _.endsWith('abc', 'c');\n * // => true\n *\n * _.endsWith('abc', 'b');\n * // => false\n *\n * _.endsWith('abc', 'b', 2);\n * // => true\n */\n function endsWith(string, target, position) {\n string = toString(string);\n target = baseToString(target);\n\n var length = string.length;\n position = position === undefined\n ? length\n : baseClamp(toInteger(position), 0, length);\n\n var end = position;\n position -= target.length;\n return position >= 0 && string.slice(position, end) == target;\n }\n\n /**\n * Converts the characters \"&\", \"<\", \">\", '\"', and \"'\" in `string` to their\n * corresponding HTML entities.\n *\n * **Note:** No other characters are escaped. To escape additional\n * characters use a third-party library like [_he_](https://mths.be/he).\n *\n * Though the \">\" character is escaped for symmetry, characters like\n * \">\" and \"/\" don't need escaping in HTML and have no special meaning\n * unless they're part of a tag or unquoted attribute value. See\n * [Mathias Bynens's article](https://mathiasbynens.be/notes/ambiguous-ampersands)\n * (under \"semi-related fun fact\") for more details.\n *\n * When working with HTML you should always\n * [quote attribute values](http://wonko.com/post/html-escaping) to reduce\n * XSS vectors.\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escape('fred, barney, & pebbles');\n * // => 'fred, barney, & pebbles'\n */\n function escape(string) {\n string = toString(string);\n return (string && reHasUnescapedHtml.test(string))\n ? string.replace(reUnescapedHtml, escapeHtmlChar)\n : string;\n }\n\n /**\n * Escapes the `RegExp` special characters \"^\", \"$\", \"\\\", \".\", \"*\", \"+\",\n * \"?\", \"(\", \")\", \"[\", \"]\", \"{\", \"}\", and \"|\" in `string`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to escape.\n * @returns {string} Returns the escaped string.\n * @example\n *\n * _.escapeRegExp('[lodash](https://lodash.com/)');\n * // => '\\[lodash\\]\\(https://lodash\\.com/\\)'\n */\n function escapeRegExp(string) {\n string = toString(string);\n return (string && reHasRegExpChar.test(string))\n ? string.replace(reRegExpChar, '\\\\$&')\n : string;\n }\n\n /**\n * Converts `string` to\n * [kebab case](https://en.wikipedia.org/wiki/Letter_case#Special_case_styles).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the kebab cased string.\n * @example\n *\n * _.kebabCase('Foo Bar');\n * // => 'foo-bar'\n *\n * _.kebabCase('fooBar');\n * // => 'foo-bar'\n *\n * _.kebabCase('__FOO_BAR__');\n * // => 'foo-bar'\n */\n var kebabCase = createCompounder(function(result, word, index) {\n return result + (index ? '-' : '') + word.toLowerCase();\n });\n\n /**\n * Converts `string`, as space separated words, to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the lower cased string.\n * @example\n *\n * _.lowerCase('--Foo-Bar--');\n * // => 'foo bar'\n *\n * _.lowerCase('fooBar');\n * // => 'foo bar'\n *\n * _.lowerCase('__FOO_BAR__');\n * // => 'foo bar'\n */\n var lowerCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + word.toLowerCase();\n });\n\n /**\n * Converts the first character of `string` to lower case.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the converted string.\n * @example\n *\n * _.lowerFirst('Fred');\n * // => 'fred'\n *\n * _.lowerFirst('FRED');\n * // => 'fRED'\n */\n var lowerFirst = createCaseFirst('toLowerCase');\n\n /**\n * Pads `string` on the left and right sides if it's shorter than `length`.\n * Padding characters are truncated if they can't be evenly divided by `length`.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.pad('abc', 8);\n * // => ' abc '\n *\n * _.pad('abc', 8, '_-');\n * // => '_-abc_-_'\n *\n * _.pad('abc', 3);\n * // => 'abc'\n */\n function pad(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n if (!length || strLength >= length) {\n return string;\n }\n var mid = (length - strLength) / 2;\n return (\n createPadding(nativeFloor(mid), chars) +\n string +\n createPadding(nativeCeil(mid), chars)\n );\n }\n\n /**\n * Pads `string` on the right side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padEnd('abc', 6);\n * // => 'abc '\n *\n * _.padEnd('abc', 6, '_-');\n * // => 'abc_-_'\n *\n * _.padEnd('abc', 3);\n * // => 'abc'\n */\n function padEnd(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (string + createPadding(length - strLength, chars))\n : string;\n }\n\n /**\n * Pads `string` on the left side if it's shorter than `length`. Padding\n * characters are truncated if they exceed `length`.\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to pad.\n * @param {number} [length=0] The padding length.\n * @param {string} [chars=' '] The string used as padding.\n * @returns {string} Returns the padded string.\n * @example\n *\n * _.padStart('abc', 6);\n * // => ' abc'\n *\n * _.padStart('abc', 6, '_-');\n * // => '_-_abc'\n *\n * _.padStart('abc', 3);\n * // => 'abc'\n */\n function padStart(string, length, chars) {\n string = toString(string);\n length = toInteger(length);\n\n var strLength = length ? stringSize(string) : 0;\n return (length && strLength < length)\n ? (createPadding(length - strLength, chars) + string)\n : string;\n }\n\n /**\n * Converts `string` to an integer of the specified radix. If `radix` is\n * `undefined` or `0`, a `radix` of `10` is used unless `value` is a\n * hexadecimal, in which case a `radix` of `16` is used.\n *\n * **Note:** This method aligns with the\n * [ES5 implementation](https://es5.github.io/#x15.1.2.2) of `parseInt`.\n *\n * @static\n * @memberOf _\n * @since 1.1.0\n * @category String\n * @param {string} string The string to convert.\n * @param {number} [radix=10] The radix to interpret `value` by.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {number} Returns the converted integer.\n * @example\n *\n * _.parseInt('08');\n * // => 8\n *\n * _.map(['6', '08', '10'], _.parseInt);\n * // => [6, 8, 10]\n */\n function parseInt(string, radix, guard) {\n if (guard || radix == null) {\n radix = 0;\n } else if (radix) {\n radix = +radix;\n }\n return nativeParseInt(toString(string).replace(reTrimStart, ''), radix || 0);\n }\n\n /**\n * Repeats the given string `n` times.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to repeat.\n * @param {number} [n=1] The number of times to repeat the string.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {string} Returns the repeated string.\n * @example\n *\n * _.repeat('*', 3);\n * // => '***'\n *\n * _.repeat('abc', 2);\n * // => 'abcabc'\n *\n * _.repeat('abc', 0);\n * // => ''\n */\n function repeat(string, n, guard) {\n if ((guard ? isIterateeCall(string, n, guard) : n === undefined)) {\n n = 1;\n } else {\n n = toInteger(n);\n }\n return baseRepeat(toString(string), n);\n }\n\n /**\n * Replaces matches for `pattern` in `string` with `replacement`.\n *\n * **Note:** This method is based on\n * [`String#replace`](https://mdn.io/String/replace).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to modify.\n * @param {RegExp|string} pattern The pattern to replace.\n * @param {Function|string} replacement The match replacement.\n * @returns {string} Returns the modified string.\n * @example\n *\n * _.replace('Hi Fred', 'Fred', 'Barney');\n * // => 'Hi Barney'\n */\n function replace() {\n var args = arguments,\n string = toString(args[0]);\n\n return args.length < 3 ? string : string.replace(args[1], args[2]);\n }\n\n /**\n * Converts `string` to\n * [snake case](https://en.wikipedia.org/wiki/Snake_case).\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the snake cased string.\n * @example\n *\n * _.snakeCase('Foo Bar');\n * // => 'foo_bar'\n *\n * _.snakeCase('fooBar');\n * // => 'foo_bar'\n *\n * _.snakeCase('--FOO-BAR--');\n * // => 'foo_bar'\n */\n var snakeCase = createCompounder(function(result, word, index) {\n return result + (index ? '_' : '') + word.toLowerCase();\n });\n\n /**\n * Splits `string` by `separator`.\n *\n * **Note:** This method is based on\n * [`String#split`](https://mdn.io/String/split).\n *\n * @static\n * @memberOf _\n * @since 4.0.0\n * @category String\n * @param {string} [string=''] The string to split.\n * @param {RegExp|string} separator The separator pattern to split by.\n * @param {number} [limit] The length to truncate results to.\n * @returns {Array} Returns the string segments.\n * @example\n *\n * _.split('a-b-c', '-', 2);\n * // => ['a', 'b']\n */\n function split(string, separator, limit) {\n if (limit && typeof limit != 'number' && isIterateeCall(string, separator, limit)) {\n separator = limit = undefined;\n }\n limit = limit === undefined ? MAX_ARRAY_LENGTH : limit >>> 0;\n if (!limit) {\n return [];\n }\n string = toString(string);\n if (string && (\n typeof separator == 'string' ||\n (separator != null && !isRegExp(separator))\n )) {\n separator = baseToString(separator);\n if (!separator && hasUnicode(string)) {\n return castSlice(stringToArray(string), 0, limit);\n }\n }\n return string.split(separator, limit);\n }\n\n /**\n * Converts `string` to\n * [start case](https://en.wikipedia.org/wiki/Letter_case#Stylistic_or_specialised_usage).\n *\n * @static\n * @memberOf _\n * @since 3.1.0\n * @category String\n * @param {string} [string=''] The string to convert.\n * @returns {string} Returns the start cased string.\n * @example\n *\n * _.startCase('--foo-bar--');\n * // => 'Foo Bar'\n *\n * _.startCase('fooBar');\n * // => 'Foo Bar'\n *\n * _.startCase('__FOO_BAR__');\n * // => 'FOO BAR'\n */\n var startCase = createCompounder(function(result, word, index) {\n return result + (index ? ' ' : '') + upperFirst(word);\n });\n\n /**\n * Checks if `string` starts with the given target string.\n *\n * @static\n * @memberOf _\n * @since 3.0.0\n * @category String\n * @param {string} [string=''] The string to inspect.\n * @param {string} [target] The string to search for.\n * @param {number} [position=0] The position to search from.\n * @returns {boolean} Returns `true` if `string` starts with `target`,\n * else `false`.\n * @example\n *\n * _.startsWith('abc', 'a');\n * // => true\n *\n * _.startsWith('abc', 'b');\n * // => false\n *\n * _.startsWith('abc', 'b', 1);\n * // => true\n */\n function startsWith(string, target, position) {\n string = toString(string);\n position = position == null\n ? 0\n : baseClamp(toInteger(position), 0, string.length);\n\n target = baseToString(target);\n return string.slice(position, position + target.length) == target;\n }\n\n /**\n * Creates a compiled template function that can interpolate data properties\n * in \"interpolate\" delimiters, HTML-escape interpolated data properties in\n * \"escape\" delimiters, and execute JavaScript in \"evaluate\" delimiters. Data\n * properties may be accessed as free variables in the template. If a setting\n * object is given, it takes precedence over `_.templateSettings` values.\n *\n * **Note:** In the development build `_.template` utilizes\n * [sourceURLs](http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/#toc-sourceurl)\n * for easier debugging.\n *\n * For more information on precompiling templates see\n * [lodash's custom builds documentation](https://lodash.com/custom-builds).\n *\n * For more information on Chrome extension sandboxes see\n * [Chrome's extensions documentation](https://developer.chrome.com/extensions/sandboxingEval).\n *\n * @static\n * @since 0.1.0\n * @memberOf _\n * @category String\n * @param {string} [string=''] The template string.\n * @param {Object} [options={}] The options object.\n * @param {RegExp} [options.escape=_.templateSettings.escape]\n * The HTML \"escape\" delimiter.\n * @param {RegExp} [options.evaluate=_.templateSettings.evaluate]\n * The \"evaluate\" delimiter.\n * @param {Object} [options.imports=_.templateSettings.imports]\n * An object to import into the template as free variables.\n * @param {RegExp} [options.interpolate=_.templateSettings.interpolate]\n * The \"interpolate\" delimiter.\n * @param {string} [options.sourceURL='lodash.templateSources[n]']\n * The sourceURL of the compiled template.\n * @param {string} [options.variable='obj']\n * The data object variable name.\n * @param- {Object} [guard] Enables use as an iteratee for methods like `_.map`.\n * @returns {Function} Returns the compiled template function.\n * @example\n *\n * // Use the \"interpolate\" delimiter to create a compiled template.\n * var compiled = _.template('hello <%= user %>!');\n * compiled({ 'user': 'fred' });\n * // => 'hello fred!'\n *\n * // Use the HTML \"escape\" delimiter to escape data property values.\n * var compiled = _.template('<%- value %>');\n * compiled({ 'value': '\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-card {\\n background: \".concat(dt('card.background'), \";\\n color: \").concat(dt('card.color'), \";\\n box-shadow: \").concat(dt('card.shadow'), \";\\n border-radius: \").concat(dt('card.border.radius'), \";\\n display: flex;\\n flex-direction: column;\\n}\\n\\n.p-card-caption {\\n display: flex;\\n flex-direction: column;\\n gap: \").concat(dt('card.caption.gap'), \";\\n}\\n\\n.p-card-body {\\n padding: \").concat(dt('card.body.padding'), \";\\n display: flex;\\n flex-direction: column;\\n gap: \").concat(dt('card.body.gap'), \";\\n}\\n\\n.p-card-title {\\n font-size: \").concat(dt('card.title.font.size'), \";\\n font-weight: \").concat(dt('card.title.font.weight'), \";\\n}\\n\\n.p-card-subtitle {\\n color: \").concat(dt('card.subtitle.color'), \";\\n}\\n\");\n};\nvar classes = {\n root: 'p-card p-component',\n header: 'p-card-header',\n body: 'p-card-body',\n caption: 'p-card-caption',\n title: 'p-card-title',\n subtitle: 'p-card-subtitle',\n content: 'p-card-content',\n footer: 'p-card-footer'\n};\nvar CardStyle = BaseStyle.extend({\n name: 'card',\n theme: theme,\n classes: classes\n});\n\nexport { CardStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport CardStyle from 'primevue/card/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot, createCommentVNode, createElementVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseCard',\n \"extends\": BaseComponent,\n style: CardStyle,\n provide: function provide() {\n return {\n $pcCard: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Card',\n \"extends\": script$1,\n inheritAttrs: false\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [_ctx.$slots.header ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('header')\n }, _ctx.ptm('header')), [renderSlot(_ctx.$slots, \"header\")], 16)) : createCommentVNode(\"\", true), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('body')\n }, _ctx.ptm('body')), [_ctx.$slots.title || _ctx.$slots.subtitle ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('caption')\n }, _ctx.ptm('caption')), [_ctx.$slots.title ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('title')\n }, _ctx.ptm('title')), [renderSlot(_ctx.$slots, \"title\")], 16)) : createCommentVNode(\"\", true), _ctx.$slots.subtitle ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 1,\n \"class\": _ctx.cx('subtitle')\n }, _ctx.ptm('subtitle')), [renderSlot(_ctx.$slots, \"subtitle\")], 16)) : createCommentVNode(\"\", true)], 16)) : createCommentVNode(\"\", true), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('content')\n }, _ctx.ptm('content')), [renderSlot(_ctx.$slots, \"content\")], 16), _ctx.$slots.footer ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 1,\n \"class\": _ctx.cx('footer')\n }, _ctx.ptm('footer')), [renderSlot(_ctx.$slots, \"footer\")], 16)) : createCommentVNode(\"\", true)], 16)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n\n\n\n\n","\n\n\n\n\n","import * as Vue from 'vue'\n\nvar isVue2 = false\nvar isVue3 = true\nvar Vue2 = undefined\n\nfunction install() {}\n\nexport function set(target, key, val) {\n if (Array.isArray(target)) {\n target.length = Math.max(target.length, key)\n target.splice(key, 1, val)\n return val\n }\n target[key] = val\n return val\n}\n\nexport function del(target, key) {\n if (Array.isArray(target)) {\n target.splice(key, 1)\n return\n }\n delete target[key]\n}\n\nexport * from 'vue'\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n}\n","import { shallowRef, watchEffect, readonly, ref, watch, customRef, getCurrentScope, onScopeDispose, effectScope, getCurrentInstance, provide, inject, isVue3, version, isRef, unref, computed, reactive, toRefs as toRefs$1, toRef as toRef$1, isVue2, set as set$1, onBeforeMount, nextTick, onBeforeUnmount, onMounted, onUnmounted, isReactive } from 'vue-demi';\n\nfunction computedEager(fn, options) {\n var _a;\n const result = shallowRef();\n watchEffect(() => {\n result.value = fn();\n }, {\n ...options,\n flush: (_a = options == null ? void 0 : options.flush) != null ? _a : \"sync\"\n });\n return readonly(result);\n}\n\nfunction computedWithControl(source, fn) {\n let v = void 0;\n let track;\n let trigger;\n const dirty = ref(true);\n const update = () => {\n dirty.value = true;\n trigger();\n };\n watch(source, update, { flush: \"sync\" });\n const get = typeof fn === \"function\" ? fn : fn.get;\n const set = typeof fn === \"function\" ? void 0 : fn.set;\n const result = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n if (dirty.value) {\n v = get(v);\n dirty.value = false;\n }\n track();\n return v;\n },\n set(v2) {\n set == null ? void 0 : set(v2);\n }\n };\n });\n if (Object.isExtensible(result))\n result.trigger = update;\n return result;\n}\n\nfunction tryOnScopeDispose(fn) {\n if (getCurrentScope()) {\n onScopeDispose(fn);\n return true;\n }\n return false;\n}\n\nfunction createEventHook() {\n const fns = /* @__PURE__ */ new Set();\n const off = (fn) => {\n fns.delete(fn);\n };\n const on = (fn) => {\n fns.add(fn);\n const offFn = () => off(fn);\n tryOnScopeDispose(offFn);\n return {\n off: offFn\n };\n };\n const trigger = (...args) => {\n return Promise.all(Array.from(fns).map((fn) => fn(...args)));\n };\n return {\n on,\n off,\n trigger\n };\n}\n\nfunction createGlobalState(stateFactory) {\n let initialized = false;\n let state;\n const scope = effectScope(true);\n return (...args) => {\n if (!initialized) {\n state = scope.run(() => stateFactory(...args));\n initialized = true;\n }\n return state;\n };\n}\n\nconst localProvidedStateMap = /* @__PURE__ */ new WeakMap();\n\nconst provideLocal = (key, value) => {\n var _a;\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"provideLocal must be called in setup\");\n if (!localProvidedStateMap.has(instance))\n localProvidedStateMap.set(instance, /* @__PURE__ */ Object.create(null));\n const localProvidedState = localProvidedStateMap.get(instance);\n localProvidedState[key] = value;\n provide(key, value);\n};\n\nconst injectLocal = (...args) => {\n var _a;\n const key = args[0];\n const instance = (_a = getCurrentInstance()) == null ? void 0 : _a.proxy;\n if (instance == null)\n throw new Error(\"injectLocal must be called in setup\");\n if (localProvidedStateMap.has(instance) && key in localProvidedStateMap.get(instance))\n return localProvidedStateMap.get(instance)[key];\n return inject(...args);\n};\n\nfunction createInjectionState(composable, options) {\n const key = (options == null ? void 0 : options.injectionKey) || Symbol(composable.name || \"InjectionState\");\n const defaultValue = options == null ? void 0 : options.defaultValue;\n const useProvidingState = (...args) => {\n const state = composable(...args);\n provideLocal(key, state);\n return state;\n };\n const useInjectedState = () => injectLocal(key, defaultValue);\n return [useProvidingState, useInjectedState];\n}\n\nfunction createSharedComposable(composable) {\n let subscribers = 0;\n let state;\n let scope;\n const dispose = () => {\n subscribers -= 1;\n if (scope && subscribers <= 0) {\n scope.stop();\n state = void 0;\n scope = void 0;\n }\n };\n return (...args) => {\n subscribers += 1;\n if (!state) {\n scope = effectScope(true);\n state = scope.run(() => composable(...args));\n }\n tryOnScopeDispose(dispose);\n return state;\n };\n}\n\nfunction extendRef(ref, extend, { enumerable = false, unwrap = true } = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] extendRef only works in Vue 2.7 or above.\");\n return;\n }\n for (const [key, value] of Object.entries(extend)) {\n if (key === \"value\")\n continue;\n if (isRef(value) && unwrap) {\n Object.defineProperty(ref, key, {\n get() {\n return value.value;\n },\n set(v) {\n value.value = v;\n },\n enumerable\n });\n } else {\n Object.defineProperty(ref, key, { value, enumerable });\n }\n }\n return ref;\n}\n\nfunction get(obj, key) {\n if (key == null)\n return unref(obj);\n return unref(obj)[key];\n}\n\nfunction isDefined(v) {\n return unref(v) != null;\n}\n\nfunction makeDestructurable(obj, arr) {\n if (typeof Symbol !== \"undefined\") {\n const clone = { ...obj };\n Object.defineProperty(clone, Symbol.iterator, {\n enumerable: false,\n value() {\n let index = 0;\n return {\n next: () => ({\n value: arr[index++],\n done: index > arr.length\n })\n };\n }\n });\n return clone;\n } else {\n return Object.assign([...arr], obj);\n }\n}\n\nfunction toValue(r) {\n return typeof r === \"function\" ? r() : unref(r);\n}\nconst resolveUnref = toValue;\n\nfunction reactify(fn, options) {\n const unrefFn = (options == null ? void 0 : options.computedGetter) === false ? unref : toValue;\n return function(...args) {\n return computed(() => fn.apply(this, args.map((i) => unrefFn(i))));\n };\n}\n\nfunction reactifyObject(obj, optionsOrKeys = {}) {\n let keys = [];\n let options;\n if (Array.isArray(optionsOrKeys)) {\n keys = optionsOrKeys;\n } else {\n options = optionsOrKeys;\n const { includeOwnProperties = true } = optionsOrKeys;\n keys.push(...Object.keys(obj));\n if (includeOwnProperties)\n keys.push(...Object.getOwnPropertyNames(obj));\n }\n return Object.fromEntries(\n keys.map((key) => {\n const value = obj[key];\n return [\n key,\n typeof value === \"function\" ? reactify(value.bind(obj), options) : value\n ];\n })\n );\n}\n\nfunction toReactive(objectRef) {\n if (!isRef(objectRef))\n return reactive(objectRef);\n const proxy = new Proxy({}, {\n get(_, p, receiver) {\n return unref(Reflect.get(objectRef.value, p, receiver));\n },\n set(_, p, value) {\n if (isRef(objectRef.value[p]) && !isRef(value))\n objectRef.value[p].value = value;\n else\n objectRef.value[p] = value;\n return true;\n },\n deleteProperty(_, p) {\n return Reflect.deleteProperty(objectRef.value, p);\n },\n has(_, p) {\n return Reflect.has(objectRef.value, p);\n },\n ownKeys() {\n return Object.keys(objectRef.value);\n },\n getOwnPropertyDescriptor() {\n return {\n enumerable: true,\n configurable: true\n };\n }\n });\n return reactive(proxy);\n}\n\nfunction reactiveComputed(fn) {\n return toReactive(computed(fn));\n}\n\nfunction reactiveOmit(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => !predicate(toValue(v), k))) : Object.fromEntries(Object.entries(toRefs$1(obj)).filter((e) => !flatKeys.includes(e[0]))));\n}\n\nconst isClient = typeof window !== \"undefined\" && typeof document !== \"undefined\";\nconst isWorker = typeof WorkerGlobalScope !== \"undefined\" && globalThis instanceof WorkerGlobalScope;\nconst isDef = (val) => typeof val !== \"undefined\";\nconst notNullish = (val) => val != null;\nconst assert = (condition, ...infos) => {\n if (!condition)\n console.warn(...infos);\n};\nconst toString = Object.prototype.toString;\nconst isObject = (val) => toString.call(val) === \"[object Object]\";\nconst now = () => Date.now();\nconst timestamp = () => +Date.now();\nconst clamp = (n, min, max) => Math.min(max, Math.max(min, n));\nconst noop = () => {\n};\nconst rand = (min, max) => {\n min = Math.ceil(min);\n max = Math.floor(max);\n return Math.floor(Math.random() * (max - min + 1)) + min;\n};\nconst hasOwn = (val, key) => Object.prototype.hasOwnProperty.call(val, key);\nconst isIOS = /* @__PURE__ */ getIsIOS();\nfunction getIsIOS() {\n var _a, _b;\n return isClient && ((_a = window == null ? void 0 : window.navigator) == null ? void 0 : _a.userAgent) && (/iP(?:ad|hone|od)/.test(window.navigator.userAgent) || ((_b = window == null ? void 0 : window.navigator) == null ? void 0 : _b.maxTouchPoints) > 2 && /iPad|Macintosh/.test(window == null ? void 0 : window.navigator.userAgent));\n}\n\nfunction createFilterWrapper(filter, fn) {\n function wrapper(...args) {\n return new Promise((resolve, reject) => {\n Promise.resolve(filter(() => fn.apply(this, args), { fn, thisArg: this, args })).then(resolve).catch(reject);\n });\n }\n return wrapper;\n}\nconst bypassFilter = (invoke) => {\n return invoke();\n};\nfunction debounceFilter(ms, options = {}) {\n let timer;\n let maxTimer;\n let lastRejector = noop;\n const _clearTimeout = (timer2) => {\n clearTimeout(timer2);\n lastRejector();\n lastRejector = noop;\n };\n const filter = (invoke) => {\n const duration = toValue(ms);\n const maxDuration = toValue(options.maxWait);\n if (timer)\n _clearTimeout(timer);\n if (duration <= 0 || maxDuration !== void 0 && maxDuration <= 0) {\n if (maxTimer) {\n _clearTimeout(maxTimer);\n maxTimer = null;\n }\n return Promise.resolve(invoke());\n }\n return new Promise((resolve, reject) => {\n lastRejector = options.rejectOnCancel ? reject : resolve;\n if (maxDuration && !maxTimer) {\n maxTimer = setTimeout(() => {\n if (timer)\n _clearTimeout(timer);\n maxTimer = null;\n resolve(invoke());\n }, maxDuration);\n }\n timer = setTimeout(() => {\n if (maxTimer)\n _clearTimeout(maxTimer);\n maxTimer = null;\n resolve(invoke());\n }, duration);\n });\n };\n return filter;\n}\nfunction throttleFilter(...args) {\n let lastExec = 0;\n let timer;\n let isLeading = true;\n let lastRejector = noop;\n let lastValue;\n let ms;\n let trailing;\n let leading;\n let rejectOnCancel;\n if (!isRef(args[0]) && typeof args[0] === \"object\")\n ({ delay: ms, trailing = true, leading = true, rejectOnCancel = false } = args[0]);\n else\n [ms, trailing = true, leading = true, rejectOnCancel = false] = args;\n const clear = () => {\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n lastRejector();\n lastRejector = noop;\n }\n };\n const filter = (_invoke) => {\n const duration = toValue(ms);\n const elapsed = Date.now() - lastExec;\n const invoke = () => {\n return lastValue = _invoke();\n };\n clear();\n if (duration <= 0) {\n lastExec = Date.now();\n return invoke();\n }\n if (elapsed > duration && (leading || !isLeading)) {\n lastExec = Date.now();\n invoke();\n } else if (trailing) {\n lastValue = new Promise((resolve, reject) => {\n lastRejector = rejectOnCancel ? reject : resolve;\n timer = setTimeout(() => {\n lastExec = Date.now();\n isLeading = true;\n resolve(invoke());\n clear();\n }, Math.max(0, duration - elapsed));\n });\n }\n if (!leading && !timer)\n timer = setTimeout(() => isLeading = true, duration);\n isLeading = false;\n return lastValue;\n };\n return filter;\n}\nfunction pausableFilter(extendFilter = bypassFilter) {\n const isActive = ref(true);\n function pause() {\n isActive.value = false;\n }\n function resume() {\n isActive.value = true;\n }\n const eventFilter = (...args) => {\n if (isActive.value)\n extendFilter(...args);\n };\n return { isActive: readonly(isActive), pause, resume, eventFilter };\n}\n\nconst directiveHooks = {\n mounted: isVue3 ? \"mounted\" : \"inserted\",\n updated: isVue3 ? \"updated\" : \"componentUpdated\",\n unmounted: isVue3 ? \"unmounted\" : \"unbind\"\n};\n\nfunction cacheStringFunction(fn) {\n const cache = /* @__PURE__ */ Object.create(null);\n return (str) => {\n const hit = cache[str];\n return hit || (cache[str] = fn(str));\n };\n}\nconst hyphenateRE = /\\B([A-Z])/g;\nconst hyphenate = cacheStringFunction((str) => str.replace(hyphenateRE, \"-$1\").toLowerCase());\nconst camelizeRE = /-(\\w)/g;\nconst camelize = cacheStringFunction((str) => {\n return str.replace(camelizeRE, (_, c) => c ? c.toUpperCase() : \"\");\n});\n\nfunction promiseTimeout(ms, throwOnTimeout = false, reason = \"Timeout\") {\n return new Promise((resolve, reject) => {\n if (throwOnTimeout)\n setTimeout(() => reject(reason), ms);\n else\n setTimeout(resolve, ms);\n });\n}\nfunction identity(arg) {\n return arg;\n}\nfunction createSingletonPromise(fn) {\n let _promise;\n function wrapper() {\n if (!_promise)\n _promise = fn();\n return _promise;\n }\n wrapper.reset = async () => {\n const _prev = _promise;\n _promise = void 0;\n if (_prev)\n await _prev;\n };\n return wrapper;\n}\nfunction invoke(fn) {\n return fn();\n}\nfunction containsProp(obj, ...props) {\n return props.some((k) => k in obj);\n}\nfunction increaseWithUnit(target, delta) {\n var _a;\n if (typeof target === \"number\")\n return target + delta;\n const value = ((_a = target.match(/^-?\\d+\\.?\\d*/)) == null ? void 0 : _a[0]) || \"\";\n const unit = target.slice(value.length);\n const result = Number.parseFloat(value) + delta;\n if (Number.isNaN(result))\n return target;\n return result + unit;\n}\nfunction objectPick(obj, keys, omitUndefined = false) {\n return keys.reduce((n, k) => {\n if (k in obj) {\n if (!omitUndefined || obj[k] !== void 0)\n n[k] = obj[k];\n }\n return n;\n }, {});\n}\nfunction objectOmit(obj, keys, omitUndefined = false) {\n return Object.fromEntries(Object.entries(obj).filter(([key, value]) => {\n return (!omitUndefined || value !== void 0) && !keys.includes(key);\n }));\n}\nfunction objectEntries(obj) {\n return Object.entries(obj);\n}\nfunction getLifeCycleTarget(target) {\n return target || getCurrentInstance();\n}\n\nfunction toRef(...args) {\n if (args.length !== 1)\n return toRef$1(...args);\n const r = args[0];\n return typeof r === \"function\" ? readonly(customRef(() => ({ get: r, set: noop }))) : ref(r);\n}\nconst resolveRef = toRef;\n\nfunction reactivePick(obj, ...keys) {\n const flatKeys = keys.flat();\n const predicate = flatKeys[0];\n return reactiveComputed(() => typeof predicate === \"function\" ? Object.fromEntries(Object.entries(toRefs$1(obj)).filter(([k, v]) => predicate(toValue(v), k))) : Object.fromEntries(flatKeys.map((k) => [k, toRef(obj, k)])));\n}\n\nfunction refAutoReset(defaultValue, afterMs = 1e4) {\n return customRef((track, trigger) => {\n let value = toValue(defaultValue);\n let timer;\n const resetAfter = () => setTimeout(() => {\n value = toValue(defaultValue);\n trigger();\n }, toValue(afterMs));\n tryOnScopeDispose(() => {\n clearTimeout(timer);\n });\n return {\n get() {\n track();\n return value;\n },\n set(newValue) {\n value = newValue;\n trigger();\n clearTimeout(timer);\n timer = resetAfter();\n }\n };\n });\n}\n\nfunction useDebounceFn(fn, ms = 200, options = {}) {\n return createFilterWrapper(\n debounceFilter(ms, options),\n fn\n );\n}\n\nfunction refDebounced(value, ms = 200, options = {}) {\n const debounced = ref(value.value);\n const updater = useDebounceFn(() => {\n debounced.value = value.value;\n }, ms, options);\n watch(value, () => updater());\n return debounced;\n}\n\nfunction refDefault(source, defaultValue) {\n return computed({\n get() {\n var _a;\n return (_a = source.value) != null ? _a : defaultValue;\n },\n set(value) {\n source.value = value;\n }\n });\n}\n\nfunction useThrottleFn(fn, ms = 200, trailing = false, leading = true, rejectOnCancel = false) {\n return createFilterWrapper(\n throttleFilter(ms, trailing, leading, rejectOnCancel),\n fn\n );\n}\n\nfunction refThrottled(value, delay = 200, trailing = true, leading = true) {\n if (delay <= 0)\n return value;\n const throttled = ref(value.value);\n const updater = useThrottleFn(() => {\n throttled.value = value.value;\n }, delay, trailing, leading);\n watch(value, () => updater());\n return throttled;\n}\n\nfunction refWithControl(initial, options = {}) {\n let source = initial;\n let track;\n let trigger;\n const ref = customRef((_track, _trigger) => {\n track = _track;\n trigger = _trigger;\n return {\n get() {\n return get();\n },\n set(v) {\n set(v);\n }\n };\n });\n function get(tracking = true) {\n if (tracking)\n track();\n return source;\n }\n function set(value, triggering = true) {\n var _a, _b;\n if (value === source)\n return;\n const old = source;\n if (((_a = options.onBeforeChange) == null ? void 0 : _a.call(options, value, old)) === false)\n return;\n source = value;\n (_b = options.onChanged) == null ? void 0 : _b.call(options, value, old);\n if (triggering)\n trigger();\n }\n const untrackedGet = () => get(false);\n const silentSet = (v) => set(v, false);\n const peek = () => get(false);\n const lay = (v) => set(v, false);\n return extendRef(\n ref,\n {\n get,\n set,\n untrackedGet,\n silentSet,\n peek,\n lay\n },\n { enumerable: true }\n );\n}\nconst controlledRef = refWithControl;\n\nfunction set(...args) {\n if (args.length === 2) {\n const [ref, value] = args;\n ref.value = value;\n }\n if (args.length === 3) {\n if (isVue2) {\n set$1(...args);\n } else {\n const [target, key, value] = args;\n target[key] = value;\n }\n }\n}\n\nfunction watchWithFilter(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n return watch(\n source,\n createFilterWrapper(\n eventFilter,\n cb\n ),\n watchOptions\n );\n}\n\nfunction watchPausable(source, cb, options = {}) {\n const {\n eventFilter: filter,\n ...watchOptions\n } = options;\n const { eventFilter, pause, resume, isActive } = pausableFilter(filter);\n const stop = watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter\n }\n );\n return { stop, pause, resume, isActive };\n}\n\nfunction syncRef(left, right, ...[options]) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true,\n direction = \"both\",\n transform = {}\n } = options || {};\n const watchers = [];\n const transformLTR = \"ltr\" in transform && transform.ltr || ((v) => v);\n const transformRTL = \"rtl\" in transform && transform.rtl || ((v) => v);\n if (direction === \"both\" || direction === \"ltr\") {\n watchers.push(watchPausable(\n left,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n right.value = transformLTR(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n if (direction === \"both\" || direction === \"rtl\") {\n watchers.push(watchPausable(\n right,\n (newValue) => {\n watchers.forEach((w) => w.pause());\n left.value = transformRTL(newValue);\n watchers.forEach((w) => w.resume());\n },\n { flush, deep, immediate }\n ));\n }\n const stop = () => {\n watchers.forEach((w) => w.stop());\n };\n return stop;\n}\n\nfunction syncRefs(source, targets, options = {}) {\n const {\n flush = \"sync\",\n deep = false,\n immediate = true\n } = options;\n if (!Array.isArray(targets))\n targets = [targets];\n return watch(\n source,\n (newValue) => targets.forEach((target) => target.value = newValue),\n { flush, deep, immediate }\n );\n}\n\nfunction toRefs(objectRef, options = {}) {\n if (!isRef(objectRef))\n return toRefs$1(objectRef);\n const result = Array.isArray(objectRef.value) ? Array.from({ length: objectRef.value.length }) : {};\n for (const key in objectRef.value) {\n result[key] = customRef(() => ({\n get() {\n return objectRef.value[key];\n },\n set(v) {\n var _a;\n const replaceRef = (_a = toValue(options.replaceRef)) != null ? _a : true;\n if (replaceRef) {\n if (Array.isArray(objectRef.value)) {\n const copy = [...objectRef.value];\n copy[key] = v;\n objectRef.value = copy;\n } else {\n const newObject = { ...objectRef.value, [key]: v };\n Object.setPrototypeOf(newObject, Object.getPrototypeOf(objectRef.value));\n objectRef.value = newObject;\n }\n } else {\n objectRef.value[key] = v;\n }\n }\n }));\n }\n return result;\n}\n\nfunction tryOnBeforeMount(fn, sync = true, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeMount(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnBeforeUnmount(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onBeforeUnmount(fn, target);\n}\n\nfunction tryOnMounted(fn, sync = true, target) {\n const instance = getLifeCycleTarget();\n if (instance)\n onMounted(fn, target);\n else if (sync)\n fn();\n else\n nextTick(fn);\n}\n\nfunction tryOnUnmounted(fn, target) {\n const instance = getLifeCycleTarget(target);\n if (instance)\n onUnmounted(fn, target);\n}\n\nfunction createUntil(r, isNot = false) {\n function toMatch(condition, { flush = \"sync\", deep = false, timeout, throwOnTimeout } = {}) {\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n r,\n (v) => {\n if (condition(v) !== isNot) {\n if (stop)\n stop();\n else\n nextTick(() => stop == null ? void 0 : stop());\n resolve(v);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => stop == null ? void 0 : stop())\n );\n }\n return Promise.race(promises);\n }\n function toBe(value, options) {\n if (!isRef(value))\n return toMatch((v) => v === value, options);\n const { flush = \"sync\", deep = false, timeout, throwOnTimeout } = options != null ? options : {};\n let stop = null;\n const watcher = new Promise((resolve) => {\n stop = watch(\n [r, value],\n ([v1, v2]) => {\n if (isNot !== (v1 === v2)) {\n if (stop)\n stop();\n else\n nextTick(() => stop == null ? void 0 : stop());\n resolve(v1);\n }\n },\n {\n flush,\n deep,\n immediate: true\n }\n );\n });\n const promises = [watcher];\n if (timeout != null) {\n promises.push(\n promiseTimeout(timeout, throwOnTimeout).then(() => toValue(r)).finally(() => {\n stop == null ? void 0 : stop();\n return toValue(r);\n })\n );\n }\n return Promise.race(promises);\n }\n function toBeTruthy(options) {\n return toMatch((v) => Boolean(v), options);\n }\n function toBeNull(options) {\n return toBe(null, options);\n }\n function toBeUndefined(options) {\n return toBe(void 0, options);\n }\n function toBeNaN(options) {\n return toMatch(Number.isNaN, options);\n }\n function toContains(value, options) {\n return toMatch((v) => {\n const array = Array.from(v);\n return array.includes(value) || array.includes(toValue(value));\n }, options);\n }\n function changed(options) {\n return changedTimes(1, options);\n }\n function changedTimes(n = 1, options) {\n let count = -1;\n return toMatch(() => {\n count += 1;\n return count >= n;\n }, options);\n }\n if (Array.isArray(toValue(r))) {\n const instance = {\n toMatch,\n toContains,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n } else {\n const instance = {\n toMatch,\n toBe,\n toBeTruthy,\n toBeNull,\n toBeNaN,\n toBeUndefined,\n changed,\n changedTimes,\n get not() {\n return createUntil(r, !isNot);\n }\n };\n return instance;\n }\n}\nfunction until(r) {\n return createUntil(r);\n}\n\nfunction defaultComparator(value, othVal) {\n return value === othVal;\n}\nfunction useArrayDifference(...args) {\n var _a;\n const list = args[0];\n const values = args[1];\n let compareFn = (_a = args[2]) != null ? _a : defaultComparator;\n if (typeof compareFn === \"string\") {\n const key = compareFn;\n compareFn = (value, othVal) => value[key] === othVal[key];\n }\n return computed(() => toValue(list).filter((x) => toValue(values).findIndex((y) => compareFn(x, y)) === -1));\n}\n\nfunction useArrayEvery(list, fn) {\n return computed(() => toValue(list).every((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction useArrayFilter(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).filter(fn));\n}\n\nfunction useArrayFind(list, fn) {\n return computed(() => toValue(\n toValue(list).find((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction useArrayFindIndex(list, fn) {\n return computed(() => toValue(list).findIndex((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction findLast(arr, cb) {\n let index = arr.length;\n while (index-- > 0) {\n if (cb(arr[index], index, arr))\n return arr[index];\n }\n return void 0;\n}\nfunction useArrayFindLast(list, fn) {\n return computed(() => toValue(\n !Array.prototype.findLast ? findLast(toValue(list), (element, index, array) => fn(toValue(element), index, array)) : toValue(list).findLast((element, index, array) => fn(toValue(element), index, array))\n ));\n}\n\nfunction isArrayIncludesOptions(obj) {\n return isObject(obj) && containsProp(obj, \"formIndex\", \"comparator\");\n}\nfunction useArrayIncludes(...args) {\n var _a;\n const list = args[0];\n const value = args[1];\n let comparator = args[2];\n let formIndex = 0;\n if (isArrayIncludesOptions(comparator)) {\n formIndex = (_a = comparator.fromIndex) != null ? _a : 0;\n comparator = comparator.comparator;\n }\n if (typeof comparator === \"string\") {\n const key = comparator;\n comparator = (element, value2) => element[key] === toValue(value2);\n }\n comparator = comparator != null ? comparator : (element, value2) => element === toValue(value2);\n return computed(() => toValue(list).slice(formIndex).some((element, index, array) => comparator(\n toValue(element),\n toValue(value),\n index,\n toValue(array)\n )));\n}\n\nfunction useArrayJoin(list, separator) {\n return computed(() => toValue(list).map((i) => toValue(i)).join(toValue(separator)));\n}\n\nfunction useArrayMap(list, fn) {\n return computed(() => toValue(list).map((i) => toValue(i)).map(fn));\n}\n\nfunction useArrayReduce(list, reducer, ...args) {\n const reduceCallback = (sum, value, index) => reducer(toValue(sum), toValue(value), index);\n return computed(() => {\n const resolved = toValue(list);\n return args.length ? resolved.reduce(reduceCallback, toValue(args[0])) : resolved.reduce(reduceCallback);\n });\n}\n\nfunction useArraySome(list, fn) {\n return computed(() => toValue(list).some((element, index, array) => fn(toValue(element), index, array)));\n}\n\nfunction uniq(array) {\n return Array.from(new Set(array));\n}\nfunction uniqueElementsBy(array, fn) {\n return array.reduce((acc, v) => {\n if (!acc.some((x) => fn(v, x, array)))\n acc.push(v);\n return acc;\n }, []);\n}\nfunction useArrayUnique(list, compareFn) {\n return computed(() => {\n const resolvedList = toValue(list).map((element) => toValue(element));\n return compareFn ? uniqueElementsBy(resolvedList, compareFn) : uniq(resolvedList);\n });\n}\n\nfunction useCounter(initialValue = 0, options = {}) {\n let _initialValue = unref(initialValue);\n const count = ref(initialValue);\n const {\n max = Number.POSITIVE_INFINITY,\n min = Number.NEGATIVE_INFINITY\n } = options;\n const inc = (delta = 1) => count.value = Math.max(Math.min(max, count.value + delta), min);\n const dec = (delta = 1) => count.value = Math.min(Math.max(min, count.value - delta), max);\n const get = () => count.value;\n const set = (val) => count.value = Math.max(min, Math.min(max, val));\n const reset = (val = _initialValue) => {\n _initialValue = val;\n return set(val);\n };\n return { count, inc, dec, get, set, reset };\n}\n\nconst REGEX_PARSE = /^(\\d{4})[-/]?(\\d{1,2})?[-/]?(\\d{0,2})[T\\s]*(\\d{1,2})?:?(\\d{1,2})?:?(\\d{1,2})?[.:]?(\\d+)?$/i;\nconst REGEX_FORMAT = /[YMDHhms]o|\\[([^\\]]+)\\]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a{1,2}|A{1,2}|m{1,2}|s{1,2}|Z{1,2}|SSS/g;\nfunction defaultMeridiem(hours, minutes, isLowercase, hasPeriod) {\n let m = hours < 12 ? \"AM\" : \"PM\";\n if (hasPeriod)\n m = m.split(\"\").reduce((acc, curr) => acc += `${curr}.`, \"\");\n return isLowercase ? m.toLowerCase() : m;\n}\nfunction formatOrdinal(num) {\n const suffixes = [\"th\", \"st\", \"nd\", \"rd\"];\n const v = num % 100;\n return num + (suffixes[(v - 20) % 10] || suffixes[v] || suffixes[0]);\n}\nfunction formatDate(date, formatStr, options = {}) {\n var _a;\n const years = date.getFullYear();\n const month = date.getMonth();\n const days = date.getDate();\n const hours = date.getHours();\n const minutes = date.getMinutes();\n const seconds = date.getSeconds();\n const milliseconds = date.getMilliseconds();\n const day = date.getDay();\n const meridiem = (_a = options.customMeridiem) != null ? _a : defaultMeridiem;\n const matches = {\n Yo: () => formatOrdinal(years),\n YY: () => String(years).slice(-2),\n YYYY: () => years,\n M: () => month + 1,\n Mo: () => formatOrdinal(month + 1),\n MM: () => `${month + 1}`.padStart(2, \"0\"),\n MMM: () => date.toLocaleDateString(toValue(options.locales), { month: \"short\" }),\n MMMM: () => date.toLocaleDateString(toValue(options.locales), { month: \"long\" }),\n D: () => String(days),\n Do: () => formatOrdinal(days),\n DD: () => `${days}`.padStart(2, \"0\"),\n H: () => String(hours),\n Ho: () => formatOrdinal(hours),\n HH: () => `${hours}`.padStart(2, \"0\"),\n h: () => `${hours % 12 || 12}`.padStart(1, \"0\"),\n ho: () => formatOrdinal(hours % 12 || 12),\n hh: () => `${hours % 12 || 12}`.padStart(2, \"0\"),\n m: () => String(minutes),\n mo: () => formatOrdinal(minutes),\n mm: () => `${minutes}`.padStart(2, \"0\"),\n s: () => String(seconds),\n so: () => formatOrdinal(seconds),\n ss: () => `${seconds}`.padStart(2, \"0\"),\n SSS: () => `${milliseconds}`.padStart(3, \"0\"),\n d: () => day,\n dd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"narrow\" }),\n ddd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"short\" }),\n dddd: () => date.toLocaleDateString(toValue(options.locales), { weekday: \"long\" }),\n A: () => meridiem(hours, minutes),\n AA: () => meridiem(hours, minutes, false, true),\n a: () => meridiem(hours, minutes, true),\n aa: () => meridiem(hours, minutes, true, true)\n };\n return formatStr.replace(REGEX_FORMAT, (match, $1) => {\n var _a2, _b;\n return (_b = $1 != null ? $1 : (_a2 = matches[match]) == null ? void 0 : _a2.call(matches)) != null ? _b : match;\n });\n}\nfunction normalizeDate(date) {\n if (date === null)\n return new Date(Number.NaN);\n if (date === void 0)\n return /* @__PURE__ */ new Date();\n if (date instanceof Date)\n return new Date(date);\n if (typeof date === \"string\" && !/Z$/i.test(date)) {\n const d = date.match(REGEX_PARSE);\n if (d) {\n const m = d[2] - 1 || 0;\n const ms = (d[7] || \"0\").substring(0, 3);\n return new Date(d[1], m, d[3] || 1, d[4] || 0, d[5] || 0, d[6] || 0, ms);\n }\n }\n return new Date(date);\n}\nfunction useDateFormat(date, formatStr = \"HH:mm:ss\", options = {}) {\n return computed(() => formatDate(normalizeDate(toValue(date)), toValue(formatStr), options));\n}\n\nfunction useIntervalFn(cb, interval = 1e3, options = {}) {\n const {\n immediate = true,\n immediateCallback = false\n } = options;\n let timer = null;\n const isActive = ref(false);\n function clean() {\n if (timer) {\n clearInterval(timer);\n timer = null;\n }\n }\n function pause() {\n isActive.value = false;\n clean();\n }\n function resume() {\n const intervalValue = toValue(interval);\n if (intervalValue <= 0)\n return;\n isActive.value = true;\n if (immediateCallback)\n cb();\n clean();\n timer = setInterval(cb, intervalValue);\n }\n if (immediate && isClient)\n resume();\n if (isRef(interval) || typeof interval === \"function\") {\n const stopWatch = watch(interval, () => {\n if (isActive.value && isClient)\n resume();\n });\n tryOnScopeDispose(stopWatch);\n }\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useInterval(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n immediate = true,\n callback\n } = options;\n const counter = ref(0);\n const update = () => counter.value += 1;\n const reset = () => {\n counter.value = 0;\n };\n const controls = useIntervalFn(\n callback ? () => {\n update();\n callback(counter.value);\n } : update,\n interval,\n { immediate }\n );\n if (exposeControls) {\n return {\n counter,\n reset,\n ...controls\n };\n } else {\n return counter;\n }\n}\n\nfunction useLastChanged(source, options = {}) {\n var _a;\n const ms = ref((_a = options.initialValue) != null ? _a : null);\n watch(\n source,\n () => ms.value = timestamp(),\n options\n );\n return ms;\n}\n\nfunction useTimeoutFn(cb, interval, options = {}) {\n const {\n immediate = true\n } = options;\n const isPending = ref(false);\n let timer = null;\n function clear() {\n if (timer) {\n clearTimeout(timer);\n timer = null;\n }\n }\n function stop() {\n isPending.value = false;\n clear();\n }\n function start(...args) {\n clear();\n isPending.value = true;\n timer = setTimeout(() => {\n isPending.value = false;\n timer = null;\n cb(...args);\n }, toValue(interval));\n }\n if (immediate) {\n isPending.value = true;\n if (isClient)\n start();\n }\n tryOnScopeDispose(stop);\n return {\n isPending: readonly(isPending),\n start,\n stop\n };\n}\n\nfunction useTimeout(interval = 1e3, options = {}) {\n const {\n controls: exposeControls = false,\n callback\n } = options;\n const controls = useTimeoutFn(\n callback != null ? callback : noop,\n interval,\n options\n );\n const ready = computed(() => !controls.isPending.value);\n if (exposeControls) {\n return {\n ready,\n ...controls\n };\n } else {\n return ready;\n }\n}\n\nfunction useToNumber(value, options = {}) {\n const {\n method = \"parseFloat\",\n radix,\n nanToZero\n } = options;\n return computed(() => {\n let resolved = toValue(value);\n if (typeof resolved === \"string\")\n resolved = Number[method](resolved, radix);\n if (nanToZero && Number.isNaN(resolved))\n resolved = 0;\n return resolved;\n });\n}\n\nfunction useToString(value) {\n return computed(() => `${toValue(value)}`);\n}\n\nfunction useToggle(initialValue = false, options = {}) {\n const {\n truthyValue = true,\n falsyValue = false\n } = options;\n const valueIsRef = isRef(initialValue);\n const _value = ref(initialValue);\n function toggle(value) {\n if (arguments.length) {\n _value.value = value;\n return _value.value;\n } else {\n const truthy = toValue(truthyValue);\n _value.value = _value.value === truthy ? toValue(falsyValue) : truthy;\n return _value.value;\n }\n }\n if (valueIsRef)\n return toggle;\n else\n return [_value, toggle];\n}\n\nfunction watchArray(source, cb, options) {\n let oldList = (options == null ? void 0 : options.immediate) ? [] : [...source instanceof Function ? source() : Array.isArray(source) ? source : toValue(source)];\n return watch(source, (newList, _, onCleanup) => {\n const oldListRemains = Array.from({ length: oldList.length });\n const added = [];\n for (const obj of newList) {\n let found = false;\n for (let i = 0; i < oldList.length; i++) {\n if (!oldListRemains[i] && obj === oldList[i]) {\n oldListRemains[i] = true;\n found = true;\n break;\n }\n }\n if (!found)\n added.push(obj);\n }\n const removed = oldList.filter((_2, i) => !oldListRemains[i]);\n cb(newList, oldList, added, removed, onCleanup);\n oldList = [...newList];\n }, options);\n}\n\nfunction watchAtMost(source, cb, options) {\n const {\n count,\n ...watchOptions\n } = options;\n const current = ref(0);\n const stop = watchWithFilter(\n source,\n (...args) => {\n current.value += 1;\n if (current.value >= toValue(count))\n nextTick(() => stop());\n cb(...args);\n },\n watchOptions\n );\n return { count: current, stop };\n}\n\nfunction watchDebounced(source, cb, options = {}) {\n const {\n debounce = 0,\n maxWait = void 0,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: debounceFilter(debounce, { maxWait })\n }\n );\n}\n\nfunction watchDeep(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n deep: true\n }\n );\n}\n\nfunction watchIgnorable(source, cb, options = {}) {\n const {\n eventFilter = bypassFilter,\n ...watchOptions\n } = options;\n const filteredCb = createFilterWrapper(\n eventFilter,\n cb\n );\n let ignoreUpdates;\n let ignorePrevAsyncUpdates;\n let stop;\n if (watchOptions.flush === \"sync\") {\n const ignore = ref(false);\n ignorePrevAsyncUpdates = () => {\n };\n ignoreUpdates = (updater) => {\n ignore.value = true;\n updater();\n ignore.value = false;\n };\n stop = watch(\n source,\n (...args) => {\n if (!ignore.value)\n filteredCb(...args);\n },\n watchOptions\n );\n } else {\n const disposables = [];\n const ignoreCounter = ref(0);\n const syncCounter = ref(0);\n ignorePrevAsyncUpdates = () => {\n ignoreCounter.value = syncCounter.value;\n };\n disposables.push(\n watch(\n source,\n () => {\n syncCounter.value++;\n },\n { ...watchOptions, flush: \"sync\" }\n )\n );\n ignoreUpdates = (updater) => {\n const syncCounterPrev = syncCounter.value;\n updater();\n ignoreCounter.value += syncCounter.value - syncCounterPrev;\n };\n disposables.push(\n watch(\n source,\n (...args) => {\n const ignore = ignoreCounter.value > 0 && ignoreCounter.value === syncCounter.value;\n ignoreCounter.value = 0;\n syncCounter.value = 0;\n if (ignore)\n return;\n filteredCb(...args);\n },\n watchOptions\n )\n );\n stop = () => {\n disposables.forEach((fn) => fn());\n };\n }\n return { stop, ignoreUpdates, ignorePrevAsyncUpdates };\n}\n\nfunction watchImmediate(source, cb, options) {\n return watch(\n source,\n cb,\n {\n ...options,\n immediate: true\n }\n );\n}\n\nfunction watchOnce(source, cb, options) {\n const stop = watch(source, (...args) => {\n nextTick(() => stop());\n return cb(...args);\n }, options);\n return stop;\n}\n\nfunction watchThrottled(source, cb, options = {}) {\n const {\n throttle = 0,\n trailing = true,\n leading = true,\n ...watchOptions\n } = options;\n return watchWithFilter(\n source,\n cb,\n {\n ...watchOptions,\n eventFilter: throttleFilter(throttle, trailing, leading)\n }\n );\n}\n\nfunction watchTriggerable(source, cb, options = {}) {\n let cleanupFn;\n function onEffect() {\n if (!cleanupFn)\n return;\n const fn = cleanupFn;\n cleanupFn = void 0;\n fn();\n }\n function onCleanup(callback) {\n cleanupFn = callback;\n }\n const _cb = (value, oldValue) => {\n onEffect();\n return cb(value, oldValue, onCleanup);\n };\n const res = watchIgnorable(source, _cb, options);\n const { ignoreUpdates } = res;\n const trigger = () => {\n let res2;\n ignoreUpdates(() => {\n res2 = _cb(getWatchSources(source), getOldValue(source));\n });\n return res2;\n };\n return {\n ...res,\n trigger\n };\n}\nfunction getWatchSources(sources) {\n if (isReactive(sources))\n return sources;\n if (Array.isArray(sources))\n return sources.map((item) => toValue(item));\n return toValue(sources);\n}\nfunction getOldValue(source) {\n return Array.isArray(source) ? source.map(() => void 0) : void 0;\n}\n\nfunction whenever(source, cb, options) {\n const stop = watch(\n source,\n (v, ov, onInvalidate) => {\n if (v) {\n if (options == null ? void 0 : options.once)\n nextTick(() => stop());\n cb(v, ov, onInvalidate);\n }\n },\n {\n ...options,\n once: false\n }\n );\n return stop;\n}\n\nexport { assert, refAutoReset as autoResetRef, bypassFilter, camelize, clamp, computedEager, computedWithControl, containsProp, computedWithControl as controlledComputed, controlledRef, createEventHook, createFilterWrapper, createGlobalState, createInjectionState, reactify as createReactiveFn, createSharedComposable, createSingletonPromise, debounceFilter, refDebounced as debouncedRef, watchDebounced as debouncedWatch, directiveHooks, computedEager as eagerComputed, extendRef, formatDate, get, getLifeCycleTarget, hasOwn, hyphenate, identity, watchIgnorable as ignorableWatch, increaseWithUnit, injectLocal, invoke, isClient, isDef, isDefined, isIOS, isObject, isWorker, makeDestructurable, noop, normalizeDate, notNullish, now, objectEntries, objectOmit, objectPick, pausableFilter, watchPausable as pausableWatch, promiseTimeout, provideLocal, rand, reactify, reactifyObject, reactiveComputed, reactiveOmit, reactivePick, refAutoReset, refDebounced, refDefault, refThrottled, refWithControl, resolveRef, resolveUnref, set, syncRef, syncRefs, throttleFilter, refThrottled as throttledRef, watchThrottled as throttledWatch, timestamp, toReactive, toRef, toRefs, toValue, tryOnBeforeMount, tryOnBeforeUnmount, tryOnMounted, tryOnScopeDispose, tryOnUnmounted, until, useArrayDifference, useArrayEvery, useArrayFilter, useArrayFind, useArrayFindIndex, useArrayFindLast, useArrayIncludes, useArrayJoin, useArrayMap, useArrayReduce, useArraySome, useArrayUnique, useCounter, useDateFormat, refDebounced as useDebounce, useDebounceFn, useInterval, useIntervalFn, useLastChanged, refThrottled as useThrottle, useThrottleFn, useTimeout, useTimeoutFn, useToNumber, useToString, useToggle, watchArray, watchAtMost, watchDebounced, watchDeep, watchIgnorable, watchImmediate, watchOnce, watchPausable, watchThrottled, watchTriggerable, watchWithFilter, whenever };\n","import * as Vue from 'vue'\n\nvar isVue2 = false\nvar isVue3 = true\nvar Vue2 = undefined\n\nfunction install() {}\n\nexport function set(target, key, val) {\n if (Array.isArray(target)) {\n target.length = Math.max(target.length, key)\n target.splice(key, 1, val)\n return val\n }\n target[key] = val\n return val\n}\n\nexport function del(target, key) {\n if (Array.isArray(target)) {\n target.splice(key, 1)\n return\n }\n delete target[key]\n}\n\nexport * from 'vue'\nexport {\n Vue,\n Vue2,\n isVue2,\n isVue3,\n install,\n}\n","import { noop, makeDestructurable, camelize, toValue, isClient, isObject, tryOnScopeDispose, isIOS, tryOnMounted, notNullish, objectOmit, promiseTimeout, until, increaseWithUnit, objectEntries, createSingletonPromise, useTimeoutFn, pausableWatch, toRef, createEventHook, computedWithControl, timestamp, pausableFilter, watchIgnorable, debounceFilter, createFilterWrapper, bypassFilter, toRefs, useIntervalFn, containsProp, hasOwn, throttleFilter, useDebounceFn, useThrottleFn, clamp, syncRef, objectPick, tryOnUnmounted, watchWithFilter, tryOnBeforeUnmount, identity, isDef, whenever, isWorker } from '@vueuse/shared';\nexport * from '@vueuse/shared';\nimport { isRef, ref, shallowRef, watchEffect, computed, inject, isVue3, version, defineComponent, h, TransitionGroup, shallowReactive, Fragment, watch, getCurrentInstance, customRef, onUpdated, onMounted, isVue2, readonly, reactive, nextTick, markRaw, unref, getCurrentScope, set, del, isReadonly, onBeforeUpdate } from 'vue-demi';\n\nfunction computedAsync(evaluationCallback, initialState, optionsOrRef) {\n let options;\n if (isRef(optionsOrRef)) {\n options = {\n evaluating: optionsOrRef\n };\n } else {\n options = optionsOrRef || {};\n }\n const {\n lazy = false,\n evaluating = void 0,\n shallow = true,\n onError = noop\n } = options;\n const started = ref(!lazy);\n const current = shallow ? shallowRef(initialState) : ref(initialState);\n let counter = 0;\n watchEffect(async (onInvalidate) => {\n if (!started.value)\n return;\n counter++;\n const counterAtBeginning = counter;\n let hasFinished = false;\n if (evaluating) {\n Promise.resolve().then(() => {\n evaluating.value = true;\n });\n }\n try {\n const result = await evaluationCallback((cancelCallback) => {\n onInvalidate(() => {\n if (evaluating)\n evaluating.value = false;\n if (!hasFinished)\n cancelCallback();\n });\n });\n if (counterAtBeginning === counter)\n current.value = result;\n } catch (e) {\n onError(e);\n } finally {\n if (evaluating && counterAtBeginning === counter)\n evaluating.value = false;\n hasFinished = true;\n }\n });\n if (lazy) {\n return computed(() => {\n started.value = true;\n return current.value;\n });\n } else {\n return current;\n }\n}\n\nfunction computedInject(key, options, defaultSource, treatDefaultAsFactory) {\n let source = inject(key);\n if (defaultSource)\n source = inject(key, defaultSource);\n if (treatDefaultAsFactory)\n source = inject(key, defaultSource, treatDefaultAsFactory);\n if (typeof options === \"function\") {\n return computed((ctx) => options(source, ctx));\n } else {\n return computed({\n get: (ctx) => options.get(source, ctx),\n set: options.set\n });\n }\n}\n\nfunction createReusableTemplate(options = {}) {\n if (!isVue3 && !version.startsWith(\"2.7.\")) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] createReusableTemplate only works in Vue 2.7 or above.\");\n return;\n }\n const {\n inheritAttrs = true\n } = options;\n const render = shallowRef();\n const define = /* #__PURE__ */ defineComponent({\n setup(_, { slots }) {\n return () => {\n render.value = slots.default;\n };\n }\n });\n const reuse = /* #__PURE__ */ defineComponent({\n inheritAttrs,\n setup(_, { attrs, slots }) {\n return () => {\n var _a;\n if (!render.value && process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] Failed to find the definition of reusable template\");\n const vnode = (_a = render.value) == null ? void 0 : _a.call(render, { ...keysToCamelKebabCase(attrs), $slots: slots });\n return inheritAttrs && (vnode == null ? void 0 : vnode.length) === 1 ? vnode[0] : vnode;\n };\n }\n });\n return makeDestructurable(\n { define, reuse },\n [define, reuse]\n );\n}\nfunction keysToCamelKebabCase(obj) {\n const newObj = {};\n for (const key in obj)\n newObj[camelize(key)] = obj[key];\n return newObj;\n}\n\nfunction createTemplatePromise(options = {}) {\n if (!isVue3) {\n if (process.env.NODE_ENV !== \"production\")\n throw new Error(\"[VueUse] createTemplatePromise only works in Vue 3 or above.\");\n return;\n }\n let index = 0;\n const instances = ref([]);\n function create(...args) {\n const props = shallowReactive({\n key: index++,\n args,\n promise: void 0,\n resolve: () => {\n },\n reject: () => {\n },\n isResolving: false,\n options\n });\n instances.value.push(props);\n props.promise = new Promise((_resolve, _reject) => {\n props.resolve = (v) => {\n props.isResolving = true;\n return _resolve(v);\n };\n props.reject = _reject;\n }).finally(() => {\n props.promise = void 0;\n const index2 = instances.value.indexOf(props);\n if (index2 !== -1)\n instances.value.splice(index2, 1);\n });\n return props.promise;\n }\n function start(...args) {\n if (options.singleton && instances.value.length > 0)\n return instances.value[0].promise;\n return create(...args);\n }\n const component = /* #__PURE__ */ defineComponent((_, { slots }) => {\n const renderList = () => instances.value.map((props) => {\n var _a;\n return h(Fragment, { key: props.key }, (_a = slots.default) == null ? void 0 : _a.call(slots, props));\n });\n if (options.transition)\n return () => h(TransitionGroup, options.transition, renderList);\n return renderList;\n });\n component.start = start;\n return component;\n}\n\nfunction createUnrefFn(fn) {\n return function(...args) {\n return fn.apply(this, args.map((i) => toValue(i)));\n };\n}\n\nfunction unrefElement(elRef) {\n var _a;\n const plain = toValue(elRef);\n return (_a = plain == null ? void 0 : plain.$el) != null ? _a : plain;\n}\n\nconst defaultWindow = isClient ? window : void 0;\nconst defaultDocument = isClient ? window.document : void 0;\nconst defaultNavigator = isClient ? window.navigator : void 0;\nconst defaultLocation = isClient ? window.location : void 0;\n\nfunction useEventListener(...args) {\n let target;\n let events;\n let listeners;\n let options;\n if (typeof args[0] === \"string\" || Array.isArray(args[0])) {\n [events, listeners, options] = args;\n target = defaultWindow;\n } else {\n [target, events, listeners, options] = args;\n }\n if (!target)\n return noop;\n if (!Array.isArray(events))\n events = [events];\n if (!Array.isArray(listeners))\n listeners = [listeners];\n const cleanups = [];\n const cleanup = () => {\n cleanups.forEach((fn) => fn());\n cleanups.length = 0;\n };\n const register = (el, event, listener, options2) => {\n el.addEventListener(event, listener, options2);\n return () => el.removeEventListener(event, listener, options2);\n };\n const stopWatch = watch(\n () => [unrefElement(target), toValue(options)],\n ([el, options2]) => {\n cleanup();\n if (!el)\n return;\n const optionsClone = isObject(options2) ? { ...options2 } : options2;\n cleanups.push(\n ...events.flatMap((event) => {\n return listeners.map((listener) => register(el, event, listener, optionsClone));\n })\n );\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return stop;\n}\n\nlet _iOSWorkaround = false;\nfunction onClickOutside(target, handler, options = {}) {\n const { window = defaultWindow, ignore = [], capture = true, detectIframe = false } = options;\n if (!window)\n return noop;\n if (isIOS && !_iOSWorkaround) {\n _iOSWorkaround = true;\n Array.from(window.document.body.children).forEach((el) => el.addEventListener(\"click\", noop));\n window.document.documentElement.addEventListener(\"click\", noop);\n }\n let shouldListen = true;\n const shouldIgnore = (event) => {\n return ignore.some((target2) => {\n if (typeof target2 === \"string\") {\n return Array.from(window.document.querySelectorAll(target2)).some((el) => el === event.target || event.composedPath().includes(el));\n } else {\n const el = unrefElement(target2);\n return el && (event.target === el || event.composedPath().includes(el));\n }\n });\n };\n const listener = (event) => {\n const el = unrefElement(target);\n if (!el || el === event.target || event.composedPath().includes(el))\n return;\n if (event.detail === 0)\n shouldListen = !shouldIgnore(event);\n if (!shouldListen) {\n shouldListen = true;\n return;\n }\n handler(event);\n };\n const cleanup = [\n useEventListener(window, \"click\", listener, { passive: true, capture }),\n useEventListener(window, \"pointerdown\", (e) => {\n const el = unrefElement(target);\n shouldListen = !shouldIgnore(e) && !!(el && !e.composedPath().includes(el));\n }, { passive: true }),\n detectIframe && useEventListener(window, \"blur\", (event) => {\n setTimeout(() => {\n var _a;\n const el = unrefElement(target);\n if (((_a = window.document.activeElement) == null ? void 0 : _a.tagName) === \"IFRAME\" && !(el == null ? void 0 : el.contains(window.document.activeElement))) {\n handler(event);\n }\n }, 0);\n })\n ].filter(Boolean);\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nfunction createKeyPredicate(keyFilter) {\n if (typeof keyFilter === \"function\")\n return keyFilter;\n else if (typeof keyFilter === \"string\")\n return (event) => event.key === keyFilter;\n else if (Array.isArray(keyFilter))\n return (event) => keyFilter.includes(event.key);\n return () => true;\n}\nfunction onKeyStroke(...args) {\n let key;\n let handler;\n let options = {};\n if (args.length === 3) {\n key = args[0];\n handler = args[1];\n options = args[2];\n } else if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n key = true;\n handler = args[0];\n options = args[1];\n } else {\n key = args[0];\n handler = args[1];\n }\n } else {\n key = true;\n handler = args[0];\n }\n const {\n target = defaultWindow,\n eventName = \"keydown\",\n passive = false,\n dedupe = false\n } = options;\n const predicate = createKeyPredicate(key);\n const listener = (e) => {\n if (e.repeat && toValue(dedupe))\n return;\n if (predicate(e))\n handler(e);\n };\n return useEventListener(target, eventName, listener, passive);\n}\nfunction onKeyDown(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keydown\" });\n}\nfunction onKeyPressed(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keypress\" });\n}\nfunction onKeyUp(key, handler, options = {}) {\n return onKeyStroke(key, handler, { ...options, eventName: \"keyup\" });\n}\n\nconst DEFAULT_DELAY = 500;\nconst DEFAULT_THRESHOLD = 10;\nfunction onLongPress(target, handler, options) {\n var _a, _b;\n const elementRef = computed(() => unrefElement(target));\n let timeout;\n let posStart;\n let startTimestamp;\n let hasLongPressed = false;\n function clear() {\n if (timeout) {\n clearTimeout(timeout);\n timeout = void 0;\n }\n posStart = void 0;\n startTimestamp = void 0;\n hasLongPressed = false;\n }\n function onRelease(ev) {\n var _a2, _b2, _c;\n const [_startTimestamp, _posStart, _hasLongPressed] = [startTimestamp, posStart, hasLongPressed];\n clear();\n if (!(options == null ? void 0 : options.onMouseUp) || !_posStart || !_startTimestamp)\n return;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n const dx = ev.x - _posStart.x;\n const dy = ev.y - _posStart.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n options.onMouseUp(ev.timeStamp - _startTimestamp, distance, _hasLongPressed);\n }\n function onDown(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n clear();\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n posStart = {\n x: ev.x,\n y: ev.y\n };\n startTimestamp = ev.timeStamp;\n timeout = setTimeout(\n () => {\n hasLongPressed = true;\n handler(ev);\n },\n (_d = options == null ? void 0 : options.delay) != null ? _d : DEFAULT_DELAY\n );\n }\n function onMove(ev) {\n var _a2, _b2, _c, _d;\n if (((_a2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _a2.self) && ev.target !== elementRef.value)\n return;\n if (!posStart || (options == null ? void 0 : options.distanceThreshold) === false)\n return;\n if ((_b2 = options == null ? void 0 : options.modifiers) == null ? void 0 : _b2.prevent)\n ev.preventDefault();\n if ((_c = options == null ? void 0 : options.modifiers) == null ? void 0 : _c.stop)\n ev.stopPropagation();\n const dx = ev.x - posStart.x;\n const dy = ev.y - posStart.y;\n const distance = Math.sqrt(dx * dx + dy * dy);\n if (distance >= ((_d = options == null ? void 0 : options.distanceThreshold) != null ? _d : DEFAULT_THRESHOLD))\n clear();\n }\n const listenerOptions = {\n capture: (_a = options == null ? void 0 : options.modifiers) == null ? void 0 : _a.capture,\n once: (_b = options == null ? void 0 : options.modifiers) == null ? void 0 : _b.once\n };\n const cleanup = [\n useEventListener(elementRef, \"pointerdown\", onDown, listenerOptions),\n useEventListener(elementRef, \"pointermove\", onMove, listenerOptions),\n useEventListener(elementRef, [\"pointerup\", \"pointerleave\"], onRelease, listenerOptions)\n ];\n const stop = () => cleanup.forEach((fn) => fn());\n return stop;\n}\n\nfunction isFocusedElementEditable() {\n const { activeElement, body } = document;\n if (!activeElement)\n return false;\n if (activeElement === body)\n return false;\n switch (activeElement.tagName) {\n case \"INPUT\":\n case \"TEXTAREA\":\n return true;\n }\n return activeElement.hasAttribute(\"contenteditable\");\n}\nfunction isTypedCharValid({\n keyCode,\n metaKey,\n ctrlKey,\n altKey\n}) {\n if (metaKey || ctrlKey || altKey)\n return false;\n if (keyCode >= 48 && keyCode <= 57)\n return true;\n if (keyCode >= 65 && keyCode <= 90)\n return true;\n if (keyCode >= 97 && keyCode <= 122)\n return true;\n return false;\n}\nfunction onStartTyping(callback, options = {}) {\n const { document: document2 = defaultDocument } = options;\n const keydown = (event) => {\n if (!isFocusedElementEditable() && isTypedCharValid(event)) {\n callback(event);\n }\n };\n if (document2)\n useEventListener(document2, \"keydown\", keydown, { passive: true });\n}\n\nfunction templateRef(key, initialValue = null) {\n const instance = getCurrentInstance();\n let _trigger = () => {\n };\n const element = customRef((track, trigger) => {\n _trigger = trigger;\n return {\n get() {\n var _a, _b;\n track();\n return (_b = (_a = instance == null ? void 0 : instance.proxy) == null ? void 0 : _a.$refs[key]) != null ? _b : initialValue;\n },\n set() {\n }\n };\n });\n tryOnMounted(_trigger);\n onUpdated(_trigger);\n return element;\n}\n\nfunction useMounted() {\n const isMounted = ref(false);\n const instance = getCurrentInstance();\n if (instance) {\n onMounted(() => {\n isMounted.value = true;\n }, isVue2 ? void 0 : instance);\n }\n return isMounted;\n}\n\nfunction useSupported(callback) {\n const isMounted = useMounted();\n return computed(() => {\n isMounted.value;\n return Boolean(callback());\n });\n}\n\nfunction useMutationObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...mutationOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"MutationObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => {\n const value = toValue(target);\n const items = (Array.isArray(value) ? value : [value]).map(unrefElement).filter(notNullish);\n return new Set(items);\n });\n const stopWatch = watch(\n () => targets.value,\n (targets2) => {\n cleanup();\n if (isSupported.value && targets2.size) {\n observer = new MutationObserver(callback);\n targets2.forEach((el) => observer.observe(el, mutationOptions));\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const takeRecords = () => {\n return observer == null ? void 0 : observer.takeRecords();\n };\n const stop = () => {\n stopWatch();\n cleanup();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop,\n takeRecords\n };\n}\n\nfunction useActiveElement(options = {}) {\n var _a;\n const {\n window = defaultWindow,\n deep = true,\n triggerOnRemoval = false\n } = options;\n const document = (_a = options.document) != null ? _a : window == null ? void 0 : window.document;\n const getDeepActiveElement = () => {\n var _a2;\n let element = document == null ? void 0 : document.activeElement;\n if (deep) {\n while (element == null ? void 0 : element.shadowRoot)\n element = (_a2 = element == null ? void 0 : element.shadowRoot) == null ? void 0 : _a2.activeElement;\n }\n return element;\n };\n const activeElement = ref();\n const trigger = () => {\n activeElement.value = getDeepActiveElement();\n };\n if (window) {\n useEventListener(window, \"blur\", (event) => {\n if (event.relatedTarget !== null)\n return;\n trigger();\n }, true);\n useEventListener(window, \"focus\", trigger, true);\n }\n if (triggerOnRemoval) {\n useMutationObserver(document, (mutations) => {\n mutations.filter((m) => m.removedNodes.length).map((n) => Array.from(n.removedNodes)).flat().forEach((node) => {\n if (node === activeElement.value)\n trigger();\n });\n }, {\n childList: true,\n subtree: true\n });\n }\n trigger();\n return activeElement;\n}\n\nfunction useRafFn(fn, options = {}) {\n const {\n immediate = true,\n fpsLimit = void 0,\n window = defaultWindow\n } = options;\n const isActive = ref(false);\n const intervalLimit = fpsLimit ? 1e3 / fpsLimit : null;\n let previousFrameTimestamp = 0;\n let rafId = null;\n function loop(timestamp) {\n if (!isActive.value || !window)\n return;\n if (!previousFrameTimestamp)\n previousFrameTimestamp = timestamp;\n const delta = timestamp - previousFrameTimestamp;\n if (intervalLimit && delta < intervalLimit) {\n rafId = window.requestAnimationFrame(loop);\n return;\n }\n previousFrameTimestamp = timestamp;\n fn({ delta, timestamp });\n rafId = window.requestAnimationFrame(loop);\n }\n function resume() {\n if (!isActive.value && window) {\n isActive.value = true;\n previousFrameTimestamp = 0;\n rafId = window.requestAnimationFrame(loop);\n }\n }\n function pause() {\n isActive.value = false;\n if (rafId != null && window) {\n window.cancelAnimationFrame(rafId);\n rafId = null;\n }\n }\n if (immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive: readonly(isActive),\n pause,\n resume\n };\n}\n\nfunction useAnimate(target, keyframes, options) {\n let config;\n let animateOptions;\n if (isObject(options)) {\n config = options;\n animateOptions = objectOmit(options, [\"window\", \"immediate\", \"commitStyles\", \"persist\", \"onReady\", \"onError\"]);\n } else {\n config = { duration: options };\n animateOptions = options;\n }\n const {\n window = defaultWindow,\n immediate = true,\n commitStyles,\n persist,\n playbackRate: _playbackRate = 1,\n onReady,\n onError = (e) => {\n console.error(e);\n }\n } = config;\n const isSupported = useSupported(() => window && HTMLElement && \"animate\" in HTMLElement.prototype);\n const animate = shallowRef(void 0);\n const store = shallowReactive({\n startTime: null,\n currentTime: null,\n timeline: null,\n playbackRate: _playbackRate,\n pending: false,\n playState: immediate ? \"idle\" : \"paused\",\n replaceState: \"active\"\n });\n const pending = computed(() => store.pending);\n const playState = computed(() => store.playState);\n const replaceState = computed(() => store.replaceState);\n const startTime = computed({\n get() {\n return store.startTime;\n },\n set(value) {\n store.startTime = value;\n if (animate.value)\n animate.value.startTime = value;\n }\n });\n const currentTime = computed({\n get() {\n return store.currentTime;\n },\n set(value) {\n store.currentTime = value;\n if (animate.value) {\n animate.value.currentTime = value;\n syncResume();\n }\n }\n });\n const timeline = computed({\n get() {\n return store.timeline;\n },\n set(value) {\n store.timeline = value;\n if (animate.value)\n animate.value.timeline = value;\n }\n });\n const playbackRate = computed({\n get() {\n return store.playbackRate;\n },\n set(value) {\n store.playbackRate = value;\n if (animate.value)\n animate.value.playbackRate = value;\n }\n });\n const play = () => {\n if (animate.value) {\n try {\n animate.value.play();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n } else {\n update();\n }\n };\n const pause = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.pause();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const reverse = () => {\n var _a;\n if (!animate.value)\n update();\n try {\n (_a = animate.value) == null ? void 0 : _a.reverse();\n syncResume();\n } catch (e) {\n syncPause();\n onError(e);\n }\n };\n const finish = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.finish();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n const cancel = () => {\n var _a;\n try {\n (_a = animate.value) == null ? void 0 : _a.cancel();\n syncPause();\n } catch (e) {\n onError(e);\n }\n };\n watch(() => unrefElement(target), (el) => {\n if (el)\n update();\n });\n watch(() => keyframes, (value) => {\n if (animate.value)\n update();\n if (!unrefElement(target) && animate.value) {\n animate.value.effect = new KeyframeEffect(\n unrefElement(target),\n toValue(value),\n animateOptions\n );\n }\n }, { deep: true });\n tryOnMounted(() => update(true), false);\n tryOnScopeDispose(cancel);\n function update(init) {\n const el = unrefElement(target);\n if (!isSupported.value || !el)\n return;\n if (!animate.value)\n animate.value = el.animate(toValue(keyframes), animateOptions);\n if (persist)\n animate.value.persist();\n if (_playbackRate !== 1)\n animate.value.playbackRate = _playbackRate;\n if (init && !immediate)\n animate.value.pause();\n else\n syncResume();\n onReady == null ? void 0 : onReady(animate.value);\n }\n useEventListener(animate, [\"cancel\", \"finish\", \"remove\"], syncPause);\n useEventListener(animate, \"finish\", () => {\n var _a;\n if (commitStyles)\n (_a = animate.value) == null ? void 0 : _a.commitStyles();\n });\n const { resume: resumeRef, pause: pauseRef } = useRafFn(() => {\n if (!animate.value)\n return;\n store.pending = animate.value.pending;\n store.playState = animate.value.playState;\n store.replaceState = animate.value.replaceState;\n store.startTime = animate.value.startTime;\n store.currentTime = animate.value.currentTime;\n store.timeline = animate.value.timeline;\n store.playbackRate = animate.value.playbackRate;\n }, { immediate: false });\n function syncResume() {\n if (isSupported.value)\n resumeRef();\n }\n function syncPause() {\n if (isSupported.value && window)\n window.requestAnimationFrame(pauseRef);\n }\n return {\n isSupported,\n animate,\n // actions\n play,\n pause,\n reverse,\n finish,\n cancel,\n // state\n pending,\n playState,\n replaceState,\n startTime,\n currentTime,\n timeline,\n playbackRate\n };\n}\n\nfunction useAsyncQueue(tasks, options) {\n const {\n interrupt = true,\n onError = noop,\n onFinished = noop,\n signal\n } = options || {};\n const promiseState = {\n aborted: \"aborted\",\n fulfilled: \"fulfilled\",\n pending: \"pending\",\n rejected: \"rejected\"\n };\n const initialResult = Array.from(Array.from({ length: tasks.length }), () => ({ state: promiseState.pending, data: null }));\n const result = reactive(initialResult);\n const activeIndex = ref(-1);\n if (!tasks || tasks.length === 0) {\n onFinished();\n return {\n activeIndex,\n result\n };\n }\n function updateResult(state, res) {\n activeIndex.value++;\n result[activeIndex.value].data = res;\n result[activeIndex.value].state = state;\n }\n tasks.reduce((prev, curr) => {\n return prev.then((prevRes) => {\n var _a;\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, new Error(\"aborted\"));\n return;\n }\n if (((_a = result[activeIndex.value]) == null ? void 0 : _a.state) === promiseState.rejected && interrupt) {\n onFinished();\n return;\n }\n const done = curr(prevRes).then((currentRes) => {\n updateResult(promiseState.fulfilled, currentRes);\n if (activeIndex.value === tasks.length - 1)\n onFinished();\n return currentRes;\n });\n if (!signal)\n return done;\n return Promise.race([done, whenAborted(signal)]);\n }).catch((e) => {\n if (signal == null ? void 0 : signal.aborted) {\n updateResult(promiseState.aborted, e);\n return e;\n }\n updateResult(promiseState.rejected, e);\n onError();\n return e;\n });\n }, Promise.resolve());\n return {\n activeIndex,\n result\n };\n}\nfunction whenAborted(signal) {\n return new Promise((resolve, reject) => {\n const error = new Error(\"aborted\");\n if (signal.aborted)\n reject(error);\n else\n signal.addEventListener(\"abort\", () => reject(error), { once: true });\n });\n}\n\nfunction useAsyncState(promise, initialState, options) {\n const {\n immediate = true,\n delay = 0,\n onError = noop,\n onSuccess = noop,\n resetOnExecute = true,\n shallow = true,\n throwError\n } = options != null ? options : {};\n const state = shallow ? shallowRef(initialState) : ref(initialState);\n const isReady = ref(false);\n const isLoading = ref(false);\n const error = shallowRef(void 0);\n async function execute(delay2 = 0, ...args) {\n if (resetOnExecute)\n state.value = initialState;\n error.value = void 0;\n isReady.value = false;\n isLoading.value = true;\n if (delay2 > 0)\n await promiseTimeout(delay2);\n const _promise = typeof promise === \"function\" ? promise(...args) : promise;\n try {\n const data = await _promise;\n state.value = data;\n isReady.value = true;\n onSuccess(data);\n } catch (e) {\n error.value = e;\n onError(e);\n if (throwError)\n throw e;\n } finally {\n isLoading.value = false;\n }\n return state.value;\n }\n if (immediate)\n execute(delay);\n const shell = {\n state,\n isReady,\n isLoading,\n error,\n execute\n };\n function waitUntilIsLoaded() {\n return new Promise((resolve, reject) => {\n until(isLoading).toBe(false).then(() => resolve(shell)).catch(reject);\n });\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilIsLoaded().then(onFulfilled, onRejected);\n }\n };\n}\n\nconst defaults = {\n array: (v) => JSON.stringify(v),\n object: (v) => JSON.stringify(v),\n set: (v) => JSON.stringify(Array.from(v)),\n map: (v) => JSON.stringify(Object.fromEntries(v)),\n null: () => \"\"\n};\nfunction getDefaultSerialization(target) {\n if (!target)\n return defaults.null;\n if (target instanceof Map)\n return defaults.map;\n else if (target instanceof Set)\n return defaults.set;\n else if (Array.isArray(target))\n return defaults.array;\n else\n return defaults.object;\n}\n\nfunction useBase64(target, options) {\n const base64 = ref(\"\");\n const promise = ref();\n function execute() {\n if (!isClient)\n return;\n promise.value = new Promise((resolve, reject) => {\n try {\n const _target = toValue(target);\n if (_target == null) {\n resolve(\"\");\n } else if (typeof _target === \"string\") {\n resolve(blobToBase64(new Blob([_target], { type: \"text/plain\" })));\n } else if (_target instanceof Blob) {\n resolve(blobToBase64(_target));\n } else if (_target instanceof ArrayBuffer) {\n resolve(window.btoa(String.fromCharCode(...new Uint8Array(_target))));\n } else if (_target instanceof HTMLCanvasElement) {\n resolve(_target.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n } else if (_target instanceof HTMLImageElement) {\n const img = _target.cloneNode(false);\n img.crossOrigin = \"Anonymous\";\n imgLoaded(img).then(() => {\n const canvas = document.createElement(\"canvas\");\n const ctx = canvas.getContext(\"2d\");\n canvas.width = img.width;\n canvas.height = img.height;\n ctx.drawImage(img, 0, 0, canvas.width, canvas.height);\n resolve(canvas.toDataURL(options == null ? void 0 : options.type, options == null ? void 0 : options.quality));\n }).catch(reject);\n } else if (typeof _target === \"object\") {\n const _serializeFn = (options == null ? void 0 : options.serializer) || getDefaultSerialization(_target);\n const serialized = _serializeFn(_target);\n return resolve(blobToBase64(new Blob([serialized], { type: \"application/json\" })));\n } else {\n reject(new Error(\"target is unsupported types\"));\n }\n } catch (error) {\n reject(error);\n }\n });\n promise.value.then((res) => base64.value = res);\n return promise.value;\n }\n if (isRef(target) || typeof target === \"function\")\n watch(target, execute, { immediate: true });\n else\n execute();\n return {\n base64,\n promise,\n execute\n };\n}\nfunction imgLoaded(img) {\n return new Promise((resolve, reject) => {\n if (!img.complete) {\n img.onload = () => {\n resolve();\n };\n img.onerror = reject;\n } else {\n resolve();\n }\n });\n}\nfunction blobToBase64(blob) {\n return new Promise((resolve, reject) => {\n const fr = new FileReader();\n fr.onload = (e) => {\n resolve(e.target.result);\n };\n fr.onerror = reject;\n fr.readAsDataURL(blob);\n });\n}\n\nfunction useBattery(options = {}) {\n const { navigator = defaultNavigator } = options;\n const events = [\"chargingchange\", \"chargingtimechange\", \"dischargingtimechange\", \"levelchange\"];\n const isSupported = useSupported(() => navigator && \"getBattery\" in navigator && typeof navigator.getBattery === \"function\");\n const charging = ref(false);\n const chargingTime = ref(0);\n const dischargingTime = ref(0);\n const level = ref(1);\n let battery;\n function updateBatteryInfo() {\n charging.value = this.charging;\n chargingTime.value = this.chargingTime || 0;\n dischargingTime.value = this.dischargingTime || 0;\n level.value = this.level;\n }\n if (isSupported.value) {\n navigator.getBattery().then((_battery) => {\n battery = _battery;\n updateBatteryInfo.call(battery);\n useEventListener(battery, events, updateBatteryInfo, { passive: true });\n });\n }\n return {\n isSupported,\n charging,\n chargingTime,\n dischargingTime,\n level\n };\n}\n\nfunction useBluetooth(options) {\n let {\n acceptAllDevices = false\n } = options || {};\n const {\n filters = void 0,\n optionalServices = void 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => navigator && \"bluetooth\" in navigator);\n const device = shallowRef(void 0);\n const error = shallowRef(null);\n watch(device, () => {\n connectToBluetoothGATTServer();\n });\n async function requestDevice() {\n if (!isSupported.value)\n return;\n error.value = null;\n if (filters && filters.length > 0)\n acceptAllDevices = false;\n try {\n device.value = await (navigator == null ? void 0 : navigator.bluetooth.requestDevice({\n acceptAllDevices,\n filters,\n optionalServices\n }));\n } catch (err) {\n error.value = err;\n }\n }\n const server = ref();\n const isConnected = computed(() => {\n var _a;\n return ((_a = server.value) == null ? void 0 : _a.connected) || false;\n });\n async function connectToBluetoothGATTServer() {\n error.value = null;\n if (device.value && device.value.gatt) {\n device.value.addEventListener(\"gattserverdisconnected\", () => {\n });\n try {\n server.value = await device.value.gatt.connect();\n } catch (err) {\n error.value = err;\n }\n }\n }\n tryOnMounted(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.connect();\n });\n tryOnScopeDispose(() => {\n var _a;\n if (device.value)\n (_a = device.value.gatt) == null ? void 0 : _a.disconnect();\n });\n return {\n isSupported,\n isConnected,\n // Device:\n device,\n requestDevice,\n // Server:\n server,\n // Errors:\n error\n };\n}\n\nfunction useMediaQuery(query, options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"matchMedia\" in window && typeof window.matchMedia === \"function\");\n let mediaQuery;\n const matches = ref(false);\n const handler = (event) => {\n matches.value = event.matches;\n };\n const cleanup = () => {\n if (!mediaQuery)\n return;\n if (\"removeEventListener\" in mediaQuery)\n mediaQuery.removeEventListener(\"change\", handler);\n else\n mediaQuery.removeListener(handler);\n };\n const stopWatch = watchEffect(() => {\n if (!isSupported.value)\n return;\n cleanup();\n mediaQuery = window.matchMedia(toValue(query));\n if (\"addEventListener\" in mediaQuery)\n mediaQuery.addEventListener(\"change\", handler);\n else\n mediaQuery.addListener(handler);\n matches.value = mediaQuery.matches;\n });\n tryOnScopeDispose(() => {\n stopWatch();\n cleanup();\n mediaQuery = void 0;\n });\n return matches;\n}\n\nconst breakpointsTailwind = {\n \"sm\": 640,\n \"md\": 768,\n \"lg\": 1024,\n \"xl\": 1280,\n \"2xl\": 1536\n};\nconst breakpointsBootstrapV5 = {\n xs: 0,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1400\n};\nconst breakpointsVuetifyV2 = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1264,\n xl: 1904\n};\nconst breakpointsVuetifyV3 = {\n xs: 0,\n sm: 600,\n md: 960,\n lg: 1280,\n xl: 1920,\n xxl: 2560\n};\nconst breakpointsVuetify = breakpointsVuetifyV2;\nconst breakpointsAntDesign = {\n xs: 480,\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200,\n xxl: 1600\n};\nconst breakpointsQuasar = {\n xs: 0,\n sm: 600,\n md: 1024,\n lg: 1440,\n xl: 1920\n};\nconst breakpointsSematic = {\n mobileS: 320,\n mobileM: 375,\n mobileL: 425,\n tablet: 768,\n laptop: 1024,\n laptopL: 1440,\n desktop4K: 2560\n};\nconst breakpointsMasterCss = {\n \"3xs\": 360,\n \"2xs\": 480,\n \"xs\": 600,\n \"sm\": 768,\n \"md\": 1024,\n \"lg\": 1280,\n \"xl\": 1440,\n \"2xl\": 1600,\n \"3xl\": 1920,\n \"4xl\": 2560\n};\nconst breakpointsPrimeFlex = {\n sm: 576,\n md: 768,\n lg: 992,\n xl: 1200\n};\n\nfunction useBreakpoints(breakpoints, options = {}) {\n function getValue(k, delta) {\n let v = toValue(breakpoints[toValue(k)]);\n if (delta != null)\n v = increaseWithUnit(v, delta);\n if (typeof v === \"number\")\n v = `${v}px`;\n return v;\n }\n const { window = defaultWindow, strategy = \"min-width\" } = options;\n function match(query) {\n if (!window)\n return false;\n return window.matchMedia(query).matches;\n }\n const greaterOrEqual = (k) => {\n return useMediaQuery(() => `(min-width: ${getValue(k)})`, options);\n };\n const smallerOrEqual = (k) => {\n return useMediaQuery(() => `(max-width: ${getValue(k)})`, options);\n };\n const shortcutMethods = Object.keys(breakpoints).reduce((shortcuts, k) => {\n Object.defineProperty(shortcuts, k, {\n get: () => strategy === \"min-width\" ? greaterOrEqual(k) : smallerOrEqual(k),\n enumerable: true,\n configurable: true\n });\n return shortcuts;\n }, {});\n function current() {\n const points = Object.keys(breakpoints).map((i) => [i, greaterOrEqual(i)]);\n return computed(() => points.filter(([, v]) => v.value).map(([k]) => k));\n }\n return Object.assign(shortcutMethods, {\n greaterOrEqual,\n smallerOrEqual,\n greater(k) {\n return useMediaQuery(() => `(min-width: ${getValue(k, 0.1)})`, options);\n },\n smaller(k) {\n return useMediaQuery(() => `(max-width: ${getValue(k, -0.1)})`, options);\n },\n between(a, b) {\n return useMediaQuery(() => `(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`, options);\n },\n isGreater(k) {\n return match(`(min-width: ${getValue(k, 0.1)})`);\n },\n isGreaterOrEqual(k) {\n return match(`(min-width: ${getValue(k)})`);\n },\n isSmaller(k) {\n return match(`(max-width: ${getValue(k, -0.1)})`);\n },\n isSmallerOrEqual(k) {\n return match(`(max-width: ${getValue(k)})`);\n },\n isInBetween(a, b) {\n return match(`(min-width: ${getValue(a)}) and (max-width: ${getValue(b, -0.1)})`);\n },\n current,\n active() {\n const bps = current();\n return computed(() => bps.value.length === 0 ? \"\" : bps.value.at(-1));\n }\n });\n}\n\nfunction useBroadcastChannel(options) {\n const {\n name,\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"BroadcastChannel\" in window);\n const isClosed = ref(false);\n const channel = ref();\n const data = ref();\n const error = shallowRef(null);\n const post = (data2) => {\n if (channel.value)\n channel.value.postMessage(data2);\n };\n const close = () => {\n if (channel.value)\n channel.value.close();\n isClosed.value = true;\n };\n if (isSupported.value) {\n tryOnMounted(() => {\n error.value = null;\n channel.value = new BroadcastChannel(name);\n channel.value.addEventListener(\"message\", (e) => {\n data.value = e.data;\n }, { passive: true });\n channel.value.addEventListener(\"messageerror\", (e) => {\n error.value = e;\n }, { passive: true });\n channel.value.addEventListener(\"close\", () => {\n isClosed.value = true;\n });\n });\n }\n tryOnScopeDispose(() => {\n close();\n });\n return {\n isSupported,\n channel,\n data,\n post,\n close,\n error,\n isClosed\n };\n}\n\nconst WRITABLE_PROPERTIES = [\n \"hash\",\n \"host\",\n \"hostname\",\n \"href\",\n \"pathname\",\n \"port\",\n \"protocol\",\n \"search\"\n];\nfunction useBrowserLocation(options = {}) {\n const { window = defaultWindow } = options;\n const refs = Object.fromEntries(\n WRITABLE_PROPERTIES.map((key) => [key, ref()])\n );\n for (const [key, ref2] of objectEntries(refs)) {\n watch(ref2, (value) => {\n if (!(window == null ? void 0 : window.location) || window.location[key] === value)\n return;\n window.location[key] = value;\n });\n }\n const buildState = (trigger) => {\n var _a;\n const { state: state2, length } = (window == null ? void 0 : window.history) || {};\n const { origin } = (window == null ? void 0 : window.location) || {};\n for (const key of WRITABLE_PROPERTIES)\n refs[key].value = (_a = window == null ? void 0 : window.location) == null ? void 0 : _a[key];\n return reactive({\n trigger,\n state: state2,\n length,\n origin,\n ...refs\n });\n };\n const state = ref(buildState(\"load\"));\n if (window) {\n useEventListener(window, \"popstate\", () => state.value = buildState(\"popstate\"), { passive: true });\n useEventListener(window, \"hashchange\", () => state.value = buildState(\"hashchange\"), { passive: true });\n }\n return state;\n}\n\nfunction useCached(refValue, comparator = (a, b) => a === b, watchOptions) {\n const cachedValue = ref(refValue.value);\n watch(() => refValue.value, (value) => {\n if (!comparator(value, cachedValue.value))\n cachedValue.value = value;\n }, watchOptions);\n return cachedValue;\n}\n\nfunction usePermission(permissionDesc, options = {}) {\n const {\n controls = false,\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"permissions\" in navigator);\n let permissionStatus;\n const desc = typeof permissionDesc === \"string\" ? { name: permissionDesc } : permissionDesc;\n const state = ref();\n const onChange = () => {\n if (permissionStatus)\n state.value = permissionStatus.state;\n };\n const query = createSingletonPromise(async () => {\n if (!isSupported.value)\n return;\n if (!permissionStatus) {\n try {\n permissionStatus = await navigator.permissions.query(desc);\n useEventListener(permissionStatus, \"change\", onChange);\n onChange();\n } catch (e) {\n state.value = \"prompt\";\n }\n }\n return permissionStatus;\n });\n query();\n if (controls) {\n return {\n state,\n isSupported,\n query\n };\n } else {\n return state;\n }\n}\n\nfunction useClipboard(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500,\n legacy = false\n } = options;\n const isClipboardApiSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const permissionRead = usePermission(\"clipboard-read\");\n const permissionWrite = usePermission(\"clipboard-write\");\n const isSupported = computed(() => isClipboardApiSupported.value || legacy);\n const text = ref(\"\");\n const copied = ref(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);\n function updateText() {\n if (isClipboardApiSupported.value && isAllowed(permissionRead.value)) {\n navigator.clipboard.readText().then((value) => {\n text.value = value;\n });\n } else {\n text.value = legacyRead();\n }\n }\n if (isSupported.value && read)\n useEventListener([\"copy\", \"cut\"], updateText);\n async function copy(value = toValue(source)) {\n if (isSupported.value && value != null) {\n if (isClipboardApiSupported.value && isAllowed(permissionWrite.value))\n await navigator.clipboard.writeText(value);\n else\n legacyCopy(value);\n text.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n function legacyCopy(value) {\n const ta = document.createElement(\"textarea\");\n ta.value = value != null ? value : \"\";\n ta.style.position = \"absolute\";\n ta.style.opacity = \"0\";\n document.body.appendChild(ta);\n ta.select();\n document.execCommand(\"copy\");\n ta.remove();\n }\n function legacyRead() {\n var _a, _b, _c;\n return (_c = (_b = (_a = document == null ? void 0 : document.getSelection) == null ? void 0 : _a.call(document)) == null ? void 0 : _b.toString()) != null ? _c : \"\";\n }\n function isAllowed(status) {\n return status === \"granted\" || status === \"prompt\";\n }\n return {\n isSupported,\n text,\n copied,\n copy\n };\n}\n\nfunction useClipboardItems(options = {}) {\n const {\n navigator = defaultNavigator,\n read = false,\n source,\n copiedDuring = 1500\n } = options;\n const isSupported = useSupported(() => navigator && \"clipboard\" in navigator);\n const content = ref([]);\n const copied = ref(false);\n const timeout = useTimeoutFn(() => copied.value = false, copiedDuring);\n function updateContent() {\n if (isSupported.value) {\n navigator.clipboard.read().then((items) => {\n content.value = items;\n });\n }\n }\n if (isSupported.value && read)\n useEventListener([\"copy\", \"cut\"], updateContent);\n async function copy(value = toValue(source)) {\n if (isSupported.value && value != null) {\n await navigator.clipboard.write(value);\n content.value = value;\n copied.value = true;\n timeout.start();\n }\n }\n return {\n isSupported,\n content,\n copied,\n copy\n };\n}\n\nfunction cloneFnJSON(source) {\n return JSON.parse(JSON.stringify(source));\n}\nfunction useCloned(source, options = {}) {\n const cloned = ref({});\n const {\n manual,\n clone = cloneFnJSON,\n // watch options\n deep = true,\n immediate = true\n } = options;\n function sync() {\n cloned.value = clone(toValue(source));\n }\n if (!manual && (isRef(source) || typeof source === \"function\")) {\n watch(source, sync, {\n ...options,\n deep,\n immediate\n });\n } else {\n sync();\n }\n return { cloned, sync };\n}\n\nconst _global = typeof globalThis !== \"undefined\" ? globalThis : typeof window !== \"undefined\" ? window : typeof global !== \"undefined\" ? global : typeof self !== \"undefined\" ? self : {};\nconst globalKey = \"__vueuse_ssr_handlers__\";\nconst handlers = /* @__PURE__ */ getHandlers();\nfunction getHandlers() {\n if (!(globalKey in _global))\n _global[globalKey] = _global[globalKey] || {};\n return _global[globalKey];\n}\nfunction getSSRHandler(key, fallback) {\n return handlers[key] || fallback;\n}\nfunction setSSRHandler(key, fn) {\n handlers[key] = fn;\n}\n\nfunction guessSerializerType(rawInit) {\n return rawInit == null ? \"any\" : rawInit instanceof Set ? \"set\" : rawInit instanceof Map ? \"map\" : rawInit instanceof Date ? \"date\" : typeof rawInit === \"boolean\" ? \"boolean\" : typeof rawInit === \"string\" ? \"string\" : typeof rawInit === \"object\" ? \"object\" : !Number.isNaN(rawInit) ? \"number\" : \"any\";\n}\n\nconst StorageSerializers = {\n boolean: {\n read: (v) => v === \"true\",\n write: (v) => String(v)\n },\n object: {\n read: (v) => JSON.parse(v),\n write: (v) => JSON.stringify(v)\n },\n number: {\n read: (v) => Number.parseFloat(v),\n write: (v) => String(v)\n },\n any: {\n read: (v) => v,\n write: (v) => String(v)\n },\n string: {\n read: (v) => v,\n write: (v) => String(v)\n },\n map: {\n read: (v) => new Map(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v.entries()))\n },\n set: {\n read: (v) => new Set(JSON.parse(v)),\n write: (v) => JSON.stringify(Array.from(v))\n },\n date: {\n read: (v) => new Date(v),\n write: (v) => v.toISOString()\n }\n};\nconst customStorageEventName = \"vueuse-storage\";\nfunction useStorage(key, defaults, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n },\n initOnMounted\n } = options;\n const data = (shallow ? shallowRef : ref)(typeof defaults === \"function\" ? defaults() : defaults);\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorage\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n if (!storage)\n return data;\n const rawInit = toValue(defaults);\n const type = guessSerializerType(rawInit);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n const { pause: pauseWatch, resume: resumeWatch } = pausableWatch(\n data,\n () => write(data.value),\n { flush, deep, eventFilter }\n );\n if (window && listenToStorageChanges) {\n tryOnMounted(() => {\n if (storage instanceof Storage)\n useEventListener(window, \"storage\", update);\n else\n useEventListener(window, customStorageEventName, updateFromCustomEvent);\n if (initOnMounted)\n update();\n });\n }\n if (!initOnMounted)\n update();\n function dispatchWriteEvent(oldValue, newValue) {\n if (window && !(storage instanceof Storage)) {\n window.dispatchEvent(new CustomEvent(customStorageEventName, {\n detail: {\n key,\n oldValue,\n newValue,\n storageArea: storage\n }\n }));\n }\n }\n function write(v) {\n try {\n const oldValue = storage.getItem(key);\n if (v == null) {\n dispatchWriteEvent(oldValue, null);\n storage.removeItem(key);\n } else {\n const serialized = serializer.write(v);\n if (oldValue !== serialized) {\n storage.setItem(key, serialized);\n dispatchWriteEvent(oldValue, serialized);\n }\n }\n } catch (e) {\n onError(e);\n }\n }\n function read(event) {\n const rawValue = event ? event.newValue : storage.getItem(key);\n if (rawValue == null) {\n if (writeDefaults && rawInit != null)\n storage.setItem(key, serializer.write(rawInit));\n return rawInit;\n } else if (!event && mergeDefaults) {\n const value = serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n return mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n return { ...rawInit, ...value };\n return value;\n } else if (typeof rawValue !== \"string\") {\n return rawValue;\n } else {\n return serializer.read(rawValue);\n }\n }\n function update(event) {\n if (event && event.storageArea !== storage)\n return;\n if (event && event.key == null) {\n data.value = rawInit;\n return;\n }\n if (event && event.key !== key)\n return;\n pauseWatch();\n try {\n if ((event == null ? void 0 : event.newValue) !== serializer.write(data.value))\n data.value = read(event);\n } catch (e) {\n onError(e);\n } finally {\n if (event)\n nextTick(resumeWatch);\n else\n resumeWatch();\n }\n }\n function updateFromCustomEvent(event) {\n update(event.detail);\n }\n return data;\n}\n\nfunction usePreferredDark(options) {\n return useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n}\n\nconst CSS_DISABLE_TRANS = \"*,*::before,*::after{-webkit-transition:none!important;-moz-transition:none!important;-o-transition:none!important;-ms-transition:none!important;transition:none!important}\";\nfunction useColorMode(options = {}) {\n const {\n selector = \"html\",\n attribute = \"class\",\n initialValue = \"auto\",\n window = defaultWindow,\n storage,\n storageKey = \"vueuse-color-scheme\",\n listenToStorageChanges = true,\n storageRef,\n emitAuto,\n disableTransition = true\n } = options;\n const modes = {\n auto: \"\",\n light: \"light\",\n dark: \"dark\",\n ...options.modes || {}\n };\n const preferredDark = usePreferredDark({ window });\n const system = computed(() => preferredDark.value ? \"dark\" : \"light\");\n const store = storageRef || (storageKey == null ? toRef(initialValue) : useStorage(storageKey, initialValue, storage, { window, listenToStorageChanges }));\n const state = computed(() => store.value === \"auto\" ? system.value : store.value);\n const updateHTMLAttrs = getSSRHandler(\n \"updateHTMLAttrs\",\n (selector2, attribute2, value) => {\n const el = typeof selector2 === \"string\" ? window == null ? void 0 : window.document.querySelector(selector2) : unrefElement(selector2);\n if (!el)\n return;\n const classesToAdd = /* @__PURE__ */ new Set();\n const classesToRemove = /* @__PURE__ */ new Set();\n let attributeToChange = null;\n if (attribute2 === \"class\") {\n const current = value.split(/\\s/g);\n Object.values(modes).flatMap((i) => (i || \"\").split(/\\s/g)).filter(Boolean).forEach((v) => {\n if (current.includes(v))\n classesToAdd.add(v);\n else\n classesToRemove.add(v);\n });\n } else {\n attributeToChange = { key: attribute2, value };\n }\n if (classesToAdd.size === 0 && classesToRemove.size === 0 && attributeToChange === null)\n return;\n let style;\n if (disableTransition) {\n style = window.document.createElement(\"style\");\n style.appendChild(document.createTextNode(CSS_DISABLE_TRANS));\n window.document.head.appendChild(style);\n }\n for (const c of classesToAdd) {\n el.classList.add(c);\n }\n for (const c of classesToRemove) {\n el.classList.remove(c);\n }\n if (attributeToChange) {\n el.setAttribute(attributeToChange.key, attributeToChange.value);\n }\n if (disableTransition) {\n window.getComputedStyle(style).opacity;\n document.head.removeChild(style);\n }\n }\n );\n function defaultOnChanged(mode) {\n var _a;\n updateHTMLAttrs(selector, attribute, (_a = modes[mode]) != null ? _a : mode);\n }\n function onChanged(mode) {\n if (options.onChanged)\n options.onChanged(mode, defaultOnChanged);\n else\n defaultOnChanged(mode);\n }\n watch(state, onChanged, { flush: \"post\", immediate: true });\n tryOnMounted(() => onChanged(state.value));\n const auto = computed({\n get() {\n return emitAuto ? store.value : state.value;\n },\n set(v) {\n store.value = v;\n }\n });\n try {\n return Object.assign(auto, { store, system, state });\n } catch (e) {\n return auto;\n }\n}\n\nfunction useConfirmDialog(revealed = ref(false)) {\n const confirmHook = createEventHook();\n const cancelHook = createEventHook();\n const revealHook = createEventHook();\n let _resolve = noop;\n const reveal = (data) => {\n revealHook.trigger(data);\n revealed.value = true;\n return new Promise((resolve) => {\n _resolve = resolve;\n });\n };\n const confirm = (data) => {\n revealed.value = false;\n confirmHook.trigger(data);\n _resolve({ data, isCanceled: false });\n };\n const cancel = (data) => {\n revealed.value = false;\n cancelHook.trigger(data);\n _resolve({ data, isCanceled: true });\n };\n return {\n isRevealed: computed(() => revealed.value),\n reveal,\n confirm,\n cancel,\n onReveal: revealHook.on,\n onConfirm: confirmHook.on,\n onCancel: cancelHook.on\n };\n}\n\nfunction useCssVar(prop, target, options = {}) {\n const { window = defaultWindow, initialValue, observe = false } = options;\n const variable = ref(initialValue);\n const elRef = computed(() => {\n var _a;\n return unrefElement(target) || ((_a = window == null ? void 0 : window.document) == null ? void 0 : _a.documentElement);\n });\n function updateCssVar() {\n var _a;\n const key = toValue(prop);\n const el = toValue(elRef);\n if (el && window && key) {\n const value = (_a = window.getComputedStyle(el).getPropertyValue(key)) == null ? void 0 : _a.trim();\n variable.value = value || initialValue;\n }\n }\n if (observe) {\n useMutationObserver(elRef, updateCssVar, {\n attributeFilter: [\"style\", \"class\"],\n window\n });\n }\n watch(\n [elRef, () => toValue(prop)],\n (_, old) => {\n if (old[0] && old[1] && window)\n window.getComputedStyle(old[0]).removeProperty(old[1]);\n updateCssVar();\n },\n { immediate: true }\n );\n watch(\n variable,\n (val) => {\n var _a;\n const raw_prop = toValue(prop);\n if (((_a = elRef.value) == null ? void 0 : _a.style) && raw_prop) {\n if (val == null)\n elRef.value.style.removeProperty(raw_prop);\n else\n elRef.value.style.setProperty(raw_prop, val);\n }\n }\n );\n return variable;\n}\n\nfunction useCurrentElement(rootComponent) {\n const vm = getCurrentInstance();\n const currentElement = computedWithControl(\n () => null,\n () => rootComponent ? unrefElement(rootComponent) : vm.proxy.$el\n );\n onUpdated(currentElement.trigger);\n onMounted(currentElement.trigger);\n return currentElement;\n}\n\nfunction useCycleList(list, options) {\n const state = shallowRef(getInitialValue());\n const listRef = toRef(list);\n const index = computed({\n get() {\n var _a;\n const targetList = listRef.value;\n let index2 = (options == null ? void 0 : options.getIndexOf) ? options.getIndexOf(state.value, targetList) : targetList.indexOf(state.value);\n if (index2 < 0)\n index2 = (_a = options == null ? void 0 : options.fallbackIndex) != null ? _a : 0;\n return index2;\n },\n set(v) {\n set(v);\n }\n });\n function set(i) {\n const targetList = listRef.value;\n const length = targetList.length;\n const index2 = (i % length + length) % length;\n const value = targetList[index2];\n state.value = value;\n return value;\n }\n function shift(delta = 1) {\n return set(index.value + delta);\n }\n function next(n = 1) {\n return shift(n);\n }\n function prev(n = 1) {\n return shift(-n);\n }\n function getInitialValue() {\n var _a, _b;\n return (_b = toValue((_a = options == null ? void 0 : options.initialValue) != null ? _a : toValue(list)[0])) != null ? _b : void 0;\n }\n watch(listRef, () => set(index.value));\n return {\n state,\n index,\n next,\n prev,\n go: set\n };\n}\n\nfunction useDark(options = {}) {\n const {\n valueDark = \"dark\",\n valueLight = \"\",\n window = defaultWindow\n } = options;\n const mode = useColorMode({\n ...options,\n onChanged: (mode2, defaultHandler) => {\n var _a;\n if (options.onChanged)\n (_a = options.onChanged) == null ? void 0 : _a.call(options, mode2 === \"dark\", defaultHandler, mode2);\n else\n defaultHandler(mode2);\n },\n modes: {\n dark: valueDark,\n light: valueLight\n }\n });\n const system = computed(() => {\n if (mode.system) {\n return mode.system.value;\n } else {\n const preferredDark = usePreferredDark({ window });\n return preferredDark.value ? \"dark\" : \"light\";\n }\n });\n const isDark = computed({\n get() {\n return mode.value === \"dark\";\n },\n set(v) {\n const modeVal = v ? \"dark\" : \"light\";\n if (system.value === modeVal)\n mode.value = \"auto\";\n else\n mode.value = modeVal;\n }\n });\n return isDark;\n}\n\nfunction fnBypass(v) {\n return v;\n}\nfunction fnSetSource(source, value) {\n return source.value = value;\n}\nfunction defaultDump(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction defaultParse(clone) {\n return clone ? typeof clone === \"function\" ? clone : cloneFnJSON : fnBypass;\n}\nfunction useManualRefHistory(source, options = {}) {\n const {\n clone = false,\n dump = defaultDump(clone),\n parse = defaultParse(clone),\n setSource = fnSetSource\n } = options;\n function _createHistoryRecord() {\n return markRaw({\n snapshot: dump(source.value),\n timestamp: timestamp()\n });\n }\n const last = ref(_createHistoryRecord());\n const undoStack = ref([]);\n const redoStack = ref([]);\n const _setSource = (record) => {\n setSource(source, parse(record.snapshot));\n last.value = record;\n };\n const commit = () => {\n undoStack.value.unshift(last.value);\n last.value = _createHistoryRecord();\n if (options.capacity && undoStack.value.length > options.capacity)\n undoStack.value.splice(options.capacity, Number.POSITIVE_INFINITY);\n if (redoStack.value.length)\n redoStack.value.splice(0, redoStack.value.length);\n };\n const clear = () => {\n undoStack.value.splice(0, undoStack.value.length);\n redoStack.value.splice(0, redoStack.value.length);\n };\n const undo = () => {\n const state = undoStack.value.shift();\n if (state) {\n redoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const redo = () => {\n const state = redoStack.value.shift();\n if (state) {\n undoStack.value.unshift(last.value);\n _setSource(state);\n }\n };\n const reset = () => {\n _setSource(last.value);\n };\n const history = computed(() => [last.value, ...undoStack.value]);\n const canUndo = computed(() => undoStack.value.length > 0);\n const canRedo = computed(() => redoStack.value.length > 0);\n return {\n source,\n undoStack,\n redoStack,\n last,\n history,\n canUndo,\n canRedo,\n clear,\n commit,\n reset,\n undo,\n redo\n };\n}\n\nfunction useRefHistory(source, options = {}) {\n const {\n deep = false,\n flush = \"pre\",\n eventFilter\n } = options;\n const {\n eventFilter: composedFilter,\n pause,\n resume: resumeTracking,\n isActive: isTracking\n } = pausableFilter(eventFilter);\n const {\n ignoreUpdates,\n ignorePrevAsyncUpdates,\n stop\n } = watchIgnorable(\n source,\n commit,\n { deep, flush, eventFilter: composedFilter }\n );\n function setSource(source2, value) {\n ignorePrevAsyncUpdates();\n ignoreUpdates(() => {\n source2.value = value;\n });\n }\n const manualHistory = useManualRefHistory(source, { ...options, clone: options.clone || deep, setSource });\n const { clear, commit: manualCommit } = manualHistory;\n function commit() {\n ignorePrevAsyncUpdates();\n manualCommit();\n }\n function resume(commitNow) {\n resumeTracking();\n if (commitNow)\n commit();\n }\n function batch(fn) {\n let canceled = false;\n const cancel = () => canceled = true;\n ignoreUpdates(() => {\n fn(cancel);\n });\n if (!canceled)\n commit();\n }\n function dispose() {\n stop();\n clear();\n }\n return {\n ...manualHistory,\n isTracking,\n pause,\n resume,\n commit,\n batch,\n dispose\n };\n}\n\nfunction useDebouncedRefHistory(source, options = {}) {\n const filter = options.debounce ? debounceFilter(options.debounce) : void 0;\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nfunction useDeviceMotion(options = {}) {\n const {\n window = defaultWindow,\n eventFilter = bypassFilter\n } = options;\n const acceleration = ref({ x: null, y: null, z: null });\n const rotationRate = ref({ alpha: null, beta: null, gamma: null });\n const interval = ref(0);\n const accelerationIncludingGravity = ref({\n x: null,\n y: null,\n z: null\n });\n if (window) {\n const onDeviceMotion = createFilterWrapper(\n eventFilter,\n (event) => {\n acceleration.value = event.acceleration;\n accelerationIncludingGravity.value = event.accelerationIncludingGravity;\n rotationRate.value = event.rotationRate;\n interval.value = event.interval;\n }\n );\n useEventListener(window, \"devicemotion\", onDeviceMotion);\n }\n return {\n acceleration,\n accelerationIncludingGravity,\n rotationRate,\n interval\n };\n}\n\nfunction useDeviceOrientation(options = {}) {\n const { window = defaultWindow } = options;\n const isSupported = useSupported(() => window && \"DeviceOrientationEvent\" in window);\n const isAbsolute = ref(false);\n const alpha = ref(null);\n const beta = ref(null);\n const gamma = ref(null);\n if (window && isSupported.value) {\n useEventListener(window, \"deviceorientation\", (event) => {\n isAbsolute.value = event.absolute;\n alpha.value = event.alpha;\n beta.value = event.beta;\n gamma.value = event.gamma;\n });\n }\n return {\n isSupported,\n isAbsolute,\n alpha,\n beta,\n gamma\n };\n}\n\nfunction useDevicePixelRatio(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const pixelRatio = ref(1);\n if (window) {\n let observe2 = function() {\n pixelRatio.value = window.devicePixelRatio;\n cleanup2();\n media = window.matchMedia(`(resolution: ${pixelRatio.value}dppx)`);\n media.addEventListener(\"change\", observe2, { once: true });\n }, cleanup2 = function() {\n media == null ? void 0 : media.removeEventListener(\"change\", observe2);\n };\n let media;\n observe2();\n tryOnScopeDispose(cleanup2);\n }\n return { pixelRatio };\n}\n\nfunction useDevicesList(options = {}) {\n const {\n navigator = defaultNavigator,\n requestPermissions = false,\n constraints = { audio: true, video: true },\n onUpdated\n } = options;\n const devices = ref([]);\n const videoInputs = computed(() => devices.value.filter((i) => i.kind === \"videoinput\"));\n const audioInputs = computed(() => devices.value.filter((i) => i.kind === \"audioinput\"));\n const audioOutputs = computed(() => devices.value.filter((i) => i.kind === \"audiooutput\"));\n const isSupported = useSupported(() => navigator && navigator.mediaDevices && navigator.mediaDevices.enumerateDevices);\n const permissionGranted = ref(false);\n let stream;\n async function update() {\n if (!isSupported.value)\n return;\n devices.value = await navigator.mediaDevices.enumerateDevices();\n onUpdated == null ? void 0 : onUpdated(devices.value);\n if (stream) {\n stream.getTracks().forEach((t) => t.stop());\n stream = null;\n }\n }\n async function ensurePermissions() {\n if (!isSupported.value)\n return false;\n if (permissionGranted.value)\n return true;\n const { state, query } = usePermission(\"camera\", { controls: true });\n await query();\n if (state.value !== \"granted\") {\n stream = await navigator.mediaDevices.getUserMedia(constraints);\n update();\n permissionGranted.value = true;\n } else {\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n }\n if (isSupported.value) {\n if (requestPermissions)\n ensurePermissions();\n useEventListener(navigator.mediaDevices, \"devicechange\", update);\n update();\n }\n return {\n devices,\n ensurePermissions,\n permissionGranted,\n videoInputs,\n audioInputs,\n audioOutputs,\n isSupported\n };\n}\n\nfunction useDisplayMedia(options = {}) {\n var _a;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const video = options.video;\n const audio = options.audio;\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getDisplayMedia;\n });\n const constraint = { audio, video };\n const stream = shallowRef();\n async function _start() {\n var _a2;\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getDisplayMedia(constraint);\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.addEventListener(\"ended\", stop));\n return stream.value;\n }\n async function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else\n _stop();\n },\n { immediate: true }\n );\n return {\n isSupported,\n stream,\n start,\n stop,\n enabled\n };\n}\n\nfunction useDocumentVisibility(options = {}) {\n const { document = defaultDocument } = options;\n if (!document)\n return ref(\"visible\");\n const visibility = ref(document.visibilityState);\n useEventListener(document, \"visibilitychange\", () => {\n visibility.value = document.visibilityState;\n });\n return visibility;\n}\n\nfunction useDraggable(target, options = {}) {\n var _a, _b;\n const {\n pointerTypes,\n preventDefault,\n stopPropagation,\n exact,\n onMove,\n onEnd,\n onStart,\n initialValue,\n axis = \"both\",\n draggingElement = defaultWindow,\n containerElement,\n handle: draggingHandle = target,\n buttons = [0]\n } = options;\n const position = ref(\n (_a = toValue(initialValue)) != null ? _a : { x: 0, y: 0 }\n );\n const pressedDelta = ref();\n const filterEvent = (e) => {\n if (pointerTypes)\n return pointerTypes.includes(e.pointerType);\n return true;\n };\n const handleEvent = (e) => {\n if (toValue(preventDefault))\n e.preventDefault();\n if (toValue(stopPropagation))\n e.stopPropagation();\n };\n const start = (e) => {\n var _a2;\n if (!toValue(buttons).includes(e.button))\n return;\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (toValue(exact) && e.target !== toValue(target))\n return;\n const container = toValue(containerElement);\n const containerRect = (_a2 = container == null ? void 0 : container.getBoundingClientRect) == null ? void 0 : _a2.call(container);\n const targetRect = toValue(target).getBoundingClientRect();\n const pos = {\n x: e.clientX - (container ? targetRect.left - containerRect.left + container.scrollLeft : targetRect.left),\n y: e.clientY - (container ? targetRect.top - containerRect.top + container.scrollTop : targetRect.top)\n };\n if ((onStart == null ? void 0 : onStart(pos, e)) === false)\n return;\n pressedDelta.value = pos;\n handleEvent(e);\n };\n const move = (e) => {\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n const container = toValue(containerElement);\n const targetRect = toValue(target).getBoundingClientRect();\n let { x, y } = position.value;\n if (axis === \"x\" || axis === \"both\") {\n x = e.clientX - pressedDelta.value.x;\n if (container)\n x = Math.min(Math.max(0, x), container.scrollWidth - targetRect.width);\n }\n if (axis === \"y\" || axis === \"both\") {\n y = e.clientY - pressedDelta.value.y;\n if (container)\n y = Math.min(Math.max(0, y), container.scrollHeight - targetRect.height);\n }\n position.value = {\n x,\n y\n };\n onMove == null ? void 0 : onMove(position.value, e);\n handleEvent(e);\n };\n const end = (e) => {\n if (toValue(options.disabled) || !filterEvent(e))\n return;\n if (!pressedDelta.value)\n return;\n pressedDelta.value = void 0;\n onEnd == null ? void 0 : onEnd(position.value, e);\n handleEvent(e);\n };\n if (isClient) {\n const config = { capture: (_b = options.capture) != null ? _b : true };\n useEventListener(draggingHandle, \"pointerdown\", start, config);\n useEventListener(draggingElement, \"pointermove\", move, config);\n useEventListener(draggingElement, \"pointerup\", end, config);\n }\n return {\n ...toRefs(position),\n position,\n isDragging: computed(() => !!pressedDelta.value),\n style: computed(\n () => `left:${position.value.x}px;top:${position.value.y}px;`\n )\n };\n}\n\nfunction useDropZone(target, options = {}) {\n const isOverDropZone = ref(false);\n const files = shallowRef(null);\n let counter = 0;\n let isDataTypeIncluded = true;\n if (isClient) {\n const _options = typeof options === \"function\" ? { onDrop: options } : options;\n const getFiles = (event) => {\n var _a, _b;\n const list = Array.from((_b = (_a = event.dataTransfer) == null ? void 0 : _a.files) != null ? _b : []);\n return files.value = list.length === 0 ? null : list;\n };\n useEventListener(target, \"dragenter\", (event) => {\n var _a, _b;\n const types = Array.from(((_a = event == null ? void 0 : event.dataTransfer) == null ? void 0 : _a.items) || []).map((i) => i.kind === \"file\" ? i.type : null).filter(notNullish);\n if (_options.dataTypes && event.dataTransfer) {\n const dataTypes = unref(_options.dataTypes);\n isDataTypeIncluded = typeof dataTypes === \"function\" ? dataTypes(types) : dataTypes ? dataTypes.some((item) => types.includes(item)) : true;\n if (!isDataTypeIncluded)\n return;\n }\n event.preventDefault();\n counter += 1;\n isOverDropZone.value = true;\n (_b = _options.onEnter) == null ? void 0 : _b.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"dragover\", (event) => {\n var _a;\n if (!isDataTypeIncluded)\n return;\n event.preventDefault();\n (_a = _options.onOver) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"dragleave\", (event) => {\n var _a;\n if (!isDataTypeIncluded)\n return;\n event.preventDefault();\n counter -= 1;\n if (counter === 0)\n isOverDropZone.value = false;\n (_a = _options.onLeave) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n useEventListener(target, \"drop\", (event) => {\n var _a;\n event.preventDefault();\n counter = 0;\n isOverDropZone.value = false;\n (_a = _options.onDrop) == null ? void 0 : _a.call(_options, getFiles(event), event);\n });\n }\n return {\n files,\n isOverDropZone\n };\n}\n\nfunction useResizeObserver(target, callback, options = {}) {\n const { window = defaultWindow, ...observerOptions } = options;\n let observer;\n const isSupported = useSupported(() => window && \"ResizeObserver\" in window);\n const cleanup = () => {\n if (observer) {\n observer.disconnect();\n observer = void 0;\n }\n };\n const targets = computed(() => {\n const _targets = toValue(target);\n return Array.isArray(_targets) ? _targets.map((el) => unrefElement(el)) : [unrefElement(_targets)];\n });\n const stopWatch = watch(\n targets,\n (els) => {\n cleanup();\n if (isSupported.value && window) {\n observer = new ResizeObserver(callback);\n for (const _el of els) {\n if (_el)\n observer.observe(_el, observerOptions);\n }\n }\n },\n { immediate: true, flush: \"post\" }\n );\n const stop = () => {\n cleanup();\n stopWatch();\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n stop\n };\n}\n\nfunction useElementBounding(target, options = {}) {\n const {\n reset = true,\n windowResize = true,\n windowScroll = true,\n immediate = true,\n updateTiming = \"sync\"\n } = options;\n const height = ref(0);\n const bottom = ref(0);\n const left = ref(0);\n const right = ref(0);\n const top = ref(0);\n const width = ref(0);\n const x = ref(0);\n const y = ref(0);\n function recalculate() {\n const el = unrefElement(target);\n if (!el) {\n if (reset) {\n height.value = 0;\n bottom.value = 0;\n left.value = 0;\n right.value = 0;\n top.value = 0;\n width.value = 0;\n x.value = 0;\n y.value = 0;\n }\n return;\n }\n const rect = el.getBoundingClientRect();\n height.value = rect.height;\n bottom.value = rect.bottom;\n left.value = rect.left;\n right.value = rect.right;\n top.value = rect.top;\n width.value = rect.width;\n x.value = rect.x;\n y.value = rect.y;\n }\n function update() {\n if (updateTiming === \"sync\")\n recalculate();\n else if (updateTiming === \"next-frame\")\n requestAnimationFrame(() => recalculate());\n }\n useResizeObserver(target, update);\n watch(() => unrefElement(target), (ele) => !ele && update());\n useMutationObserver(target, update, {\n attributeFilter: [\"style\", \"class\"]\n });\n if (windowScroll)\n useEventListener(\"scroll\", update, { capture: true, passive: true });\n if (windowResize)\n useEventListener(\"resize\", update, { passive: true });\n tryOnMounted(() => {\n if (immediate)\n update();\n });\n return {\n height,\n bottom,\n left,\n right,\n top,\n width,\n x,\n y,\n update\n };\n}\n\nfunction useElementByPoint(options) {\n const {\n x,\n y,\n document = defaultDocument,\n multiple,\n interval = \"requestAnimationFrame\",\n immediate = true\n } = options;\n const isSupported = useSupported(() => {\n if (toValue(multiple))\n return document && \"elementsFromPoint\" in document;\n return document && \"elementFromPoint\" in document;\n });\n const element = ref(null);\n const cb = () => {\n var _a, _b;\n element.value = toValue(multiple) ? (_a = document == null ? void 0 : document.elementsFromPoint(toValue(x), toValue(y))) != null ? _a : [] : (_b = document == null ? void 0 : document.elementFromPoint(toValue(x), toValue(y))) != null ? _b : null;\n };\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n return {\n isSupported,\n element,\n ...controls\n };\n}\n\nfunction useElementHover(el, options = {}) {\n const {\n delayEnter = 0,\n delayLeave = 0,\n window = defaultWindow\n } = options;\n const isHovered = ref(false);\n let timer;\n const toggle = (entering) => {\n const delay = entering ? delayEnter : delayLeave;\n if (timer) {\n clearTimeout(timer);\n timer = void 0;\n }\n if (delay)\n timer = setTimeout(() => isHovered.value = entering, delay);\n else\n isHovered.value = entering;\n };\n if (!window)\n return isHovered;\n useEventListener(el, \"mouseenter\", () => toggle(true), { passive: true });\n useEventListener(el, \"mouseleave\", () => toggle(false), { passive: true });\n return isHovered;\n}\n\nfunction useElementSize(target, initialSize = { width: 0, height: 0 }, options = {}) {\n const { window = defaultWindow, box = \"content-box\" } = options;\n const isSVG = computed(() => {\n var _a, _b;\n return (_b = (_a = unrefElement(target)) == null ? void 0 : _a.namespaceURI) == null ? void 0 : _b.includes(\"svg\");\n });\n const width = ref(initialSize.width);\n const height = ref(initialSize.height);\n const { stop: stop1 } = useResizeObserver(\n target,\n ([entry]) => {\n const boxSize = box === \"border-box\" ? entry.borderBoxSize : box === \"content-box\" ? entry.contentBoxSize : entry.devicePixelContentBoxSize;\n if (window && isSVG.value) {\n const $elem = unrefElement(target);\n if ($elem) {\n const rect = $elem.getBoundingClientRect();\n width.value = rect.width;\n height.value = rect.height;\n }\n } else {\n if (boxSize) {\n const formatBoxSize = Array.isArray(boxSize) ? boxSize : [boxSize];\n width.value = formatBoxSize.reduce((acc, { inlineSize }) => acc + inlineSize, 0);\n height.value = formatBoxSize.reduce((acc, { blockSize }) => acc + blockSize, 0);\n } else {\n width.value = entry.contentRect.width;\n height.value = entry.contentRect.height;\n }\n }\n },\n options\n );\n tryOnMounted(() => {\n const ele = unrefElement(target);\n if (ele) {\n width.value = \"offsetWidth\" in ele ? ele.offsetWidth : initialSize.width;\n height.value = \"offsetHeight\" in ele ? ele.offsetHeight : initialSize.height;\n }\n });\n const stop2 = watch(\n () => unrefElement(target),\n (ele) => {\n width.value = ele ? initialSize.width : 0;\n height.value = ele ? initialSize.height : 0;\n }\n );\n function stop() {\n stop1();\n stop2();\n }\n return {\n width,\n height,\n stop\n };\n}\n\nfunction useIntersectionObserver(target, callback, options = {}) {\n const {\n root,\n rootMargin = \"0px\",\n threshold = 0,\n window = defaultWindow,\n immediate = true\n } = options;\n const isSupported = useSupported(() => window && \"IntersectionObserver\" in window);\n const targets = computed(() => {\n const _target = toValue(target);\n return (Array.isArray(_target) ? _target : [_target]).map(unrefElement).filter(notNullish);\n });\n let cleanup = noop;\n const isActive = ref(immediate);\n const stopWatch = isSupported.value ? watch(\n () => [targets.value, unrefElement(root), isActive.value],\n ([targets2, root2]) => {\n cleanup();\n if (!isActive.value)\n return;\n if (!targets2.length)\n return;\n const observer = new IntersectionObserver(\n callback,\n {\n root: unrefElement(root2),\n rootMargin,\n threshold\n }\n );\n targets2.forEach((el) => el && observer.observe(el));\n cleanup = () => {\n observer.disconnect();\n cleanup = noop;\n };\n },\n { immediate, flush: \"post\" }\n ) : noop;\n const stop = () => {\n cleanup();\n stopWatch();\n isActive.value = false;\n };\n tryOnScopeDispose(stop);\n return {\n isSupported,\n isActive,\n pause() {\n cleanup();\n isActive.value = false;\n },\n resume() {\n isActive.value = true;\n },\n stop\n };\n}\n\nfunction useElementVisibility(element, options = {}) {\n const { window = defaultWindow, scrollTarget, threshold = 0 } = options;\n const elementIsVisible = ref(false);\n useIntersectionObserver(\n element,\n (intersectionObserverEntries) => {\n let isIntersecting = elementIsVisible.value;\n let latestTime = 0;\n for (const entry of intersectionObserverEntries) {\n if (entry.time >= latestTime) {\n latestTime = entry.time;\n isIntersecting = entry.isIntersecting;\n }\n }\n elementIsVisible.value = isIntersecting;\n },\n {\n root: scrollTarget,\n window,\n threshold\n }\n );\n return elementIsVisible;\n}\n\nconst events = /* @__PURE__ */ new Map();\n\nfunction useEventBus(key) {\n const scope = getCurrentScope();\n function on(listener) {\n var _a;\n const listeners = events.get(key) || /* @__PURE__ */ new Set();\n listeners.add(listener);\n events.set(key, listeners);\n const _off = () => off(listener);\n (_a = scope == null ? void 0 : scope.cleanups) == null ? void 0 : _a.push(_off);\n return _off;\n }\n function once(listener) {\n function _listener(...args) {\n off(_listener);\n listener(...args);\n }\n return on(_listener);\n }\n function off(listener) {\n const listeners = events.get(key);\n if (!listeners)\n return;\n listeners.delete(listener);\n if (!listeners.size)\n reset();\n }\n function reset() {\n events.delete(key);\n }\n function emit(event, payload) {\n var _a;\n (_a = events.get(key)) == null ? void 0 : _a.forEach((v) => v(event, payload));\n }\n return { on, once, off, emit, reset };\n}\n\nfunction resolveNestedOptions$1(options) {\n if (options === true)\n return {};\n return options;\n}\nfunction useEventSource(url, events = [], options = {}) {\n const event = ref(null);\n const data = ref(null);\n const status = ref(\"CONNECTING\");\n const eventSource = ref(null);\n const error = shallowRef(null);\n const urlRef = toRef(url);\n const lastEventId = shallowRef(null);\n let explicitlyClosed = false;\n let retried = 0;\n const {\n withCredentials = false,\n immediate = true\n } = options;\n const close = () => {\n if (isClient && eventSource.value) {\n eventSource.value.close();\n eventSource.value = null;\n status.value = \"CLOSED\";\n explicitlyClosed = true;\n }\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\")\n return;\n const es = new EventSource(urlRef.value, { withCredentials });\n status.value = \"CONNECTING\";\n eventSource.value = es;\n es.onopen = () => {\n status.value = \"OPEN\";\n error.value = null;\n };\n es.onerror = (e) => {\n status.value = \"CLOSED\";\n error.value = e;\n if (es.readyState === 2 && !explicitlyClosed && options.autoReconnect) {\n es.close();\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions$1(options.autoReconnect);\n retried += 1;\n if (typeof retries === \"number\" && (retries < 0 || retried < retries))\n setTimeout(_init, delay);\n else if (typeof retries === \"function\" && retries())\n setTimeout(_init, delay);\n else\n onFailed == null ? void 0 : onFailed();\n }\n };\n es.onmessage = (e) => {\n event.value = null;\n data.value = e.data;\n lastEventId.value = e.lastEventId;\n };\n for (const event_name of events) {\n useEventListener(es, event_name, (e) => {\n event.value = event_name;\n data.value = e.data || null;\n });\n }\n };\n const open = () => {\n if (!isClient)\n return;\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate)\n watch(urlRef, open, { immediate: true });\n tryOnScopeDispose(close);\n return {\n eventSource,\n event,\n data,\n status,\n error,\n open,\n close,\n lastEventId\n };\n}\n\nfunction useEyeDropper(options = {}) {\n const { initialValue = \"\" } = options;\n const isSupported = useSupported(() => typeof window !== \"undefined\" && \"EyeDropper\" in window);\n const sRGBHex = ref(initialValue);\n async function open(openOptions) {\n if (!isSupported.value)\n return;\n const eyeDropper = new window.EyeDropper();\n const result = await eyeDropper.open(openOptions);\n sRGBHex.value = result.sRGBHex;\n return result;\n }\n return { isSupported, sRGBHex, open };\n}\n\nfunction useFavicon(newIcon = null, options = {}) {\n const {\n baseUrl = \"\",\n rel = \"icon\",\n document = defaultDocument\n } = options;\n const favicon = toRef(newIcon);\n const applyIcon = (icon) => {\n const elements = document == null ? void 0 : document.head.querySelectorAll(`link[rel*=\"${rel}\"]`);\n if (!elements || elements.length === 0) {\n const link = document == null ? void 0 : document.createElement(\"link\");\n if (link) {\n link.rel = rel;\n link.href = `${baseUrl}${icon}`;\n link.type = `image/${icon.split(\".\").pop()}`;\n document == null ? void 0 : document.head.append(link);\n }\n return;\n }\n elements == null ? void 0 : elements.forEach((el) => el.href = `${baseUrl}${icon}`);\n };\n watch(\n favicon,\n (i, o) => {\n if (typeof i === \"string\" && i !== o)\n applyIcon(i);\n },\n { immediate: true }\n );\n return favicon;\n}\n\nconst payloadMapping = {\n json: \"application/json\",\n text: \"text/plain\"\n};\nfunction isFetchOptions(obj) {\n return obj && containsProp(obj, \"immediate\", \"refetch\", \"initialData\", \"timeout\", \"beforeFetch\", \"afterFetch\", \"onFetchError\", \"fetch\", \"updateDataOnError\");\n}\nconst reAbsolute = /^(?:[a-z][a-z\\d+\\-.]*:)?\\/\\//i;\nfunction isAbsoluteURL(url) {\n return reAbsolute.test(url);\n}\nfunction headersToObject(headers) {\n if (typeof Headers !== \"undefined\" && headers instanceof Headers)\n return Object.fromEntries(headers.entries());\n return headers;\n}\nfunction combineCallbacks(combination, ...callbacks) {\n if (combination === \"overwrite\") {\n return async (ctx) => {\n const callback = callbacks[callbacks.length - 1];\n if (callback)\n return { ...ctx, ...await callback(ctx) };\n return ctx;\n };\n } else {\n return async (ctx) => {\n for (const callback of callbacks) {\n if (callback)\n ctx = { ...ctx, ...await callback(ctx) };\n }\n return ctx;\n };\n }\n}\nfunction createFetch(config = {}) {\n const _combination = config.combination || \"chain\";\n const _options = config.options || {};\n const _fetchOptions = config.fetchOptions || {};\n function useFactoryFetch(url, ...args) {\n const computedUrl = computed(() => {\n const baseUrl = toValue(config.baseUrl);\n const targetUrl = toValue(url);\n return baseUrl && !isAbsoluteURL(targetUrl) ? joinPaths(baseUrl, targetUrl) : targetUrl;\n });\n let options = _options;\n let fetchOptions = _fetchOptions;\n if (args.length > 0) {\n if (isFetchOptions(args[0])) {\n options = {\n ...options,\n ...args[0],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[0].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[0].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[0].onFetchError)\n };\n } else {\n fetchOptions = {\n ...fetchOptions,\n ...args[0],\n headers: {\n ...headersToObject(fetchOptions.headers) || {},\n ...headersToObject(args[0].headers) || {}\n }\n };\n }\n }\n if (args.length > 1 && isFetchOptions(args[1])) {\n options = {\n ...options,\n ...args[1],\n beforeFetch: combineCallbacks(_combination, _options.beforeFetch, args[1].beforeFetch),\n afterFetch: combineCallbacks(_combination, _options.afterFetch, args[1].afterFetch),\n onFetchError: combineCallbacks(_combination, _options.onFetchError, args[1].onFetchError)\n };\n }\n return useFetch(computedUrl, fetchOptions, options);\n }\n return useFactoryFetch;\n}\nfunction useFetch(url, ...args) {\n var _a;\n const supportsAbort = typeof AbortController === \"function\";\n let fetchOptions = {};\n let options = {\n immediate: true,\n refetch: false,\n timeout: 0,\n updateDataOnError: false\n };\n const config = {\n method: \"GET\",\n type: \"text\",\n payload: void 0\n };\n if (args.length > 0) {\n if (isFetchOptions(args[0]))\n options = { ...options, ...args[0] };\n else\n fetchOptions = args[0];\n }\n if (args.length > 1) {\n if (isFetchOptions(args[1]))\n options = { ...options, ...args[1] };\n }\n const {\n fetch = (_a = defaultWindow) == null ? void 0 : _a.fetch,\n initialData,\n timeout\n } = options;\n const responseEvent = createEventHook();\n const errorEvent = createEventHook();\n const finallyEvent = createEventHook();\n const isFinished = ref(false);\n const isFetching = ref(false);\n const aborted = ref(false);\n const statusCode = ref(null);\n const response = shallowRef(null);\n const error = shallowRef(null);\n const data = shallowRef(initialData || null);\n const canAbort = computed(() => supportsAbort && isFetching.value);\n let controller;\n let timer;\n const abort = () => {\n if (supportsAbort) {\n controller == null ? void 0 : controller.abort();\n controller = new AbortController();\n controller.signal.onabort = () => aborted.value = true;\n fetchOptions = {\n ...fetchOptions,\n signal: controller.signal\n };\n }\n };\n const loading = (isLoading) => {\n isFetching.value = isLoading;\n isFinished.value = !isLoading;\n };\n if (timeout)\n timer = useTimeoutFn(abort, timeout, { immediate: false });\n let executeCounter = 0;\n const execute = async (throwOnFailed = false) => {\n var _a2, _b;\n abort();\n loading(true);\n error.value = null;\n statusCode.value = null;\n aborted.value = false;\n executeCounter += 1;\n const currentExecuteCounter = executeCounter;\n const defaultFetchOptions = {\n method: config.method,\n headers: {}\n };\n if (config.payload) {\n const headers = headersToObject(defaultFetchOptions.headers);\n const payload = toValue(config.payload);\n if (!config.payloadType && payload && Object.getPrototypeOf(payload) === Object.prototype && !(payload instanceof FormData))\n config.payloadType = \"json\";\n if (config.payloadType)\n headers[\"Content-Type\"] = (_a2 = payloadMapping[config.payloadType]) != null ? _a2 : config.payloadType;\n defaultFetchOptions.body = config.payloadType === \"json\" ? JSON.stringify(payload) : payload;\n }\n let isCanceled = false;\n const context = {\n url: toValue(url),\n options: {\n ...defaultFetchOptions,\n ...fetchOptions\n },\n cancel: () => {\n isCanceled = true;\n }\n };\n if (options.beforeFetch)\n Object.assign(context, await options.beforeFetch(context));\n if (isCanceled || !fetch) {\n loading(false);\n return Promise.resolve(null);\n }\n let responseData = null;\n if (timer)\n timer.start();\n return fetch(\n context.url,\n {\n ...defaultFetchOptions,\n ...context.options,\n headers: {\n ...headersToObject(defaultFetchOptions.headers),\n ...headersToObject((_b = context.options) == null ? void 0 : _b.headers)\n }\n }\n ).then(async (fetchResponse) => {\n response.value = fetchResponse;\n statusCode.value = fetchResponse.status;\n responseData = await fetchResponse.clone()[config.type]();\n if (!fetchResponse.ok) {\n data.value = initialData || null;\n throw new Error(fetchResponse.statusText);\n }\n if (options.afterFetch) {\n ({ data: responseData } = await options.afterFetch({\n data: responseData,\n response: fetchResponse\n }));\n }\n data.value = responseData;\n responseEvent.trigger(fetchResponse);\n return fetchResponse;\n }).catch(async (fetchError) => {\n let errorData = fetchError.message || fetchError.name;\n if (options.onFetchError) {\n ({ error: errorData, data: responseData } = await options.onFetchError({\n data: responseData,\n error: fetchError,\n response: response.value\n }));\n }\n error.value = errorData;\n if (options.updateDataOnError)\n data.value = responseData;\n errorEvent.trigger(fetchError);\n if (throwOnFailed)\n throw fetchError;\n return null;\n }).finally(() => {\n if (currentExecuteCounter === executeCounter)\n loading(false);\n if (timer)\n timer.stop();\n finallyEvent.trigger(null);\n });\n };\n const refetch = toRef(options.refetch);\n watch(\n [\n refetch,\n toRef(url)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n const shell = {\n isFinished: readonly(isFinished),\n isFetching: readonly(isFetching),\n statusCode,\n response,\n error,\n data,\n canAbort,\n aborted,\n abort,\n execute,\n onFetchResponse: responseEvent.on,\n onFetchError: errorEvent.on,\n onFetchFinally: finallyEvent.on,\n // method\n get: setMethod(\"GET\"),\n put: setMethod(\"PUT\"),\n post: setMethod(\"POST\"),\n delete: setMethod(\"DELETE\"),\n patch: setMethod(\"PATCH\"),\n head: setMethod(\"HEAD\"),\n options: setMethod(\"OPTIONS\"),\n // type\n json: setType(\"json\"),\n text: setType(\"text\"),\n blob: setType(\"blob\"),\n arrayBuffer: setType(\"arrayBuffer\"),\n formData: setType(\"formData\")\n };\n function setMethod(method) {\n return (payload, payloadType) => {\n if (!isFetching.value) {\n config.method = method;\n config.payload = payload;\n config.payloadType = payloadType;\n if (isRef(config.payload)) {\n watch(\n [\n refetch,\n toRef(config.payload)\n ],\n ([refetch2]) => refetch2 && execute(),\n { deep: true }\n );\n }\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n function waitUntilFinished() {\n return new Promise((resolve, reject) => {\n until(isFinished).toBe(true).then(() => resolve(shell)).catch((error2) => reject(error2));\n });\n }\n function setType(type) {\n return () => {\n if (!isFetching.value) {\n config.type = type;\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n }\n return void 0;\n };\n }\n if (options.immediate)\n Promise.resolve().then(() => execute());\n return {\n ...shell,\n then(onFulfilled, onRejected) {\n return waitUntilFinished().then(onFulfilled, onRejected);\n }\n };\n}\nfunction joinPaths(start, end) {\n if (!start.endsWith(\"/\") && !end.startsWith(\"/\"))\n return `${start}/${end}`;\n return `${start}${end}`;\n}\n\nconst DEFAULT_OPTIONS = {\n multiple: true,\n accept: \"*\",\n reset: false,\n directory: false\n};\nfunction useFileDialog(options = {}) {\n const {\n document = defaultDocument\n } = options;\n const files = ref(null);\n const { on: onChange, trigger } = createEventHook();\n let input;\n if (document) {\n input = document.createElement(\"input\");\n input.type = \"file\";\n input.onchange = (event) => {\n const result = event.target;\n files.value = result.files;\n trigger(files.value);\n };\n }\n const reset = () => {\n files.value = null;\n if (input && input.value) {\n input.value = \"\";\n trigger(null);\n }\n };\n const open = (localOptions) => {\n if (!input)\n return;\n const _options = {\n ...DEFAULT_OPTIONS,\n ...options,\n ...localOptions\n };\n input.multiple = _options.multiple;\n input.accept = _options.accept;\n input.webkitdirectory = _options.directory;\n if (hasOwn(_options, \"capture\"))\n input.capture = _options.capture;\n if (_options.reset)\n reset();\n input.click();\n };\n return {\n files: readonly(files),\n open,\n reset,\n onChange\n };\n}\n\nfunction useFileSystemAccess(options = {}) {\n const {\n window: _window = defaultWindow,\n dataType = \"Text\"\n } = options;\n const window = _window;\n const isSupported = useSupported(() => window && \"showSaveFilePicker\" in window && \"showOpenFilePicker\" in window);\n const fileHandle = ref();\n const data = ref();\n const file = ref();\n const fileName = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.name) != null ? _b : \"\";\n });\n const fileMIME = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.type) != null ? _b : \"\";\n });\n const fileSize = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.size) != null ? _b : 0;\n });\n const fileLastModified = computed(() => {\n var _a, _b;\n return (_b = (_a = file.value) == null ? void 0 : _a.lastModified) != null ? _b : 0;\n });\n async function open(_options = {}) {\n if (!isSupported.value)\n return;\n const [handle] = await window.showOpenFilePicker({ ...toValue(options), ..._options });\n fileHandle.value = handle;\n await updateData();\n }\n async function create(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n data.value = void 0;\n await updateData();\n }\n async function save(_options = {}) {\n if (!isSupported.value)\n return;\n if (!fileHandle.value)\n return saveAs(_options);\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function saveAs(_options = {}) {\n if (!isSupported.value)\n return;\n fileHandle.value = await window.showSaveFilePicker({ ...options, ..._options });\n if (data.value) {\n const writableStream = await fileHandle.value.createWritable();\n await writableStream.write(data.value);\n await writableStream.close();\n }\n await updateFile();\n }\n async function updateFile() {\n var _a;\n file.value = await ((_a = fileHandle.value) == null ? void 0 : _a.getFile());\n }\n async function updateData() {\n var _a, _b;\n await updateFile();\n const type = toValue(dataType);\n if (type === \"Text\")\n data.value = await ((_a = file.value) == null ? void 0 : _a.text());\n else if (type === \"ArrayBuffer\")\n data.value = await ((_b = file.value) == null ? void 0 : _b.arrayBuffer());\n else if (type === \"Blob\")\n data.value = file.value;\n }\n watch(() => toValue(dataType), updateData);\n return {\n isSupported,\n data,\n file,\n fileName,\n fileMIME,\n fileSize,\n fileLastModified,\n open,\n create,\n save,\n saveAs,\n updateData\n };\n}\n\nfunction useFocus(target, options = {}) {\n const { initialValue = false, focusVisible = false, preventScroll = false } = options;\n const innerFocused = ref(false);\n const targetElement = computed(() => unrefElement(target));\n useEventListener(targetElement, \"focus\", (event) => {\n var _a, _b;\n if (!focusVisible || ((_b = (_a = event.target).matches) == null ? void 0 : _b.call(_a, \":focus-visible\")))\n innerFocused.value = true;\n });\n useEventListener(targetElement, \"blur\", () => innerFocused.value = false);\n const focused = computed({\n get: () => innerFocused.value,\n set(value) {\n var _a, _b;\n if (!value && innerFocused.value)\n (_a = targetElement.value) == null ? void 0 : _a.blur();\n else if (value && !innerFocused.value)\n (_b = targetElement.value) == null ? void 0 : _b.focus({ preventScroll });\n }\n });\n watch(\n targetElement,\n () => {\n focused.value = initialValue;\n },\n { immediate: true, flush: \"post\" }\n );\n return { focused };\n}\n\nfunction useFocusWithin(target, options = {}) {\n const activeElement = useActiveElement(options);\n const targetElement = computed(() => unrefElement(target));\n const focused = computed(() => targetElement.value && activeElement.value ? targetElement.value.contains(activeElement.value) : false);\n return { focused };\n}\n\nfunction useFps(options) {\n var _a;\n const fps = ref(0);\n if (typeof performance === \"undefined\")\n return fps;\n const every = (_a = options == null ? void 0 : options.every) != null ? _a : 10;\n let last = performance.now();\n let ticks = 0;\n useRafFn(() => {\n ticks += 1;\n if (ticks >= every) {\n const now = performance.now();\n const diff = now - last;\n fps.value = Math.round(1e3 / (diff / ticks));\n last = now;\n ticks = 0;\n }\n });\n return fps;\n}\n\nconst eventHandlers = [\n \"fullscreenchange\",\n \"webkitfullscreenchange\",\n \"webkitendfullscreen\",\n \"mozfullscreenchange\",\n \"MSFullscreenChange\"\n];\nfunction useFullscreen(target, options = {}) {\n const {\n document = defaultDocument,\n autoExit = false\n } = options;\n const targetRef = computed(() => {\n var _a;\n return (_a = unrefElement(target)) != null ? _a : document == null ? void 0 : document.querySelector(\"html\");\n });\n const isFullscreen = ref(false);\n const requestMethod = computed(() => {\n return [\n \"requestFullscreen\",\n \"webkitRequestFullscreen\",\n \"webkitEnterFullscreen\",\n \"webkitEnterFullScreen\",\n \"webkitRequestFullScreen\",\n \"mozRequestFullScreen\",\n \"msRequestFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const exitMethod = computed(() => {\n return [\n \"exitFullscreen\",\n \"webkitExitFullscreen\",\n \"webkitExitFullScreen\",\n \"webkitCancelFullScreen\",\n \"mozCancelFullScreen\",\n \"msExitFullscreen\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenEnabled = computed(() => {\n return [\n \"fullScreen\",\n \"webkitIsFullScreen\",\n \"webkitDisplayingFullscreen\",\n \"mozFullScreen\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document || targetRef.value && m in targetRef.value);\n });\n const fullscreenElementMethod = [\n \"fullscreenElement\",\n \"webkitFullscreenElement\",\n \"mozFullScreenElement\",\n \"msFullscreenElement\"\n ].find((m) => document && m in document);\n const isSupported = useSupported(() => targetRef.value && document && requestMethod.value !== void 0 && exitMethod.value !== void 0 && fullscreenEnabled.value !== void 0);\n const isCurrentElementFullScreen = () => {\n if (fullscreenElementMethod)\n return (document == null ? void 0 : document[fullscreenElementMethod]) === targetRef.value;\n return false;\n };\n const isElementFullScreen = () => {\n if (fullscreenEnabled.value) {\n if (document && document[fullscreenEnabled.value] != null) {\n return document[fullscreenEnabled.value];\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[fullscreenEnabled.value]) != null) {\n return Boolean(target2[fullscreenEnabled.value]);\n }\n }\n }\n return false;\n };\n async function exit() {\n if (!isSupported.value || !isFullscreen.value)\n return;\n if (exitMethod.value) {\n if ((document == null ? void 0 : document[exitMethod.value]) != null) {\n await document[exitMethod.value]();\n } else {\n const target2 = targetRef.value;\n if ((target2 == null ? void 0 : target2[exitMethod.value]) != null)\n await target2[exitMethod.value]();\n }\n }\n isFullscreen.value = false;\n }\n async function enter() {\n if (!isSupported.value || isFullscreen.value)\n return;\n if (isElementFullScreen())\n await exit();\n const target2 = targetRef.value;\n if (requestMethod.value && (target2 == null ? void 0 : target2[requestMethod.value]) != null) {\n await target2[requestMethod.value]();\n isFullscreen.value = true;\n }\n }\n async function toggle() {\n await (isFullscreen.value ? exit() : enter());\n }\n const handlerCallback = () => {\n const isElementFullScreenValue = isElementFullScreen();\n if (!isElementFullScreenValue || isElementFullScreenValue && isCurrentElementFullScreen())\n isFullscreen.value = isElementFullScreenValue;\n };\n useEventListener(document, eventHandlers, handlerCallback, false);\n useEventListener(() => unrefElement(targetRef), eventHandlers, handlerCallback, false);\n if (autoExit)\n tryOnScopeDispose(exit);\n return {\n isSupported,\n isFullscreen,\n enter,\n exit,\n toggle\n };\n}\n\nfunction mapGamepadToXbox360Controller(gamepad) {\n return computed(() => {\n if (gamepad.value) {\n return {\n buttons: {\n a: gamepad.value.buttons[0],\n b: gamepad.value.buttons[1],\n x: gamepad.value.buttons[2],\n y: gamepad.value.buttons[3]\n },\n bumper: {\n left: gamepad.value.buttons[4],\n right: gamepad.value.buttons[5]\n },\n triggers: {\n left: gamepad.value.buttons[6],\n right: gamepad.value.buttons[7]\n },\n stick: {\n left: {\n horizontal: gamepad.value.axes[0],\n vertical: gamepad.value.axes[1],\n button: gamepad.value.buttons[10]\n },\n right: {\n horizontal: gamepad.value.axes[2],\n vertical: gamepad.value.axes[3],\n button: gamepad.value.buttons[11]\n }\n },\n dpad: {\n up: gamepad.value.buttons[12],\n down: gamepad.value.buttons[13],\n left: gamepad.value.buttons[14],\n right: gamepad.value.buttons[15]\n },\n back: gamepad.value.buttons[8],\n start: gamepad.value.buttons[9]\n };\n }\n return null;\n });\n}\nfunction useGamepad(options = {}) {\n const {\n navigator = defaultNavigator\n } = options;\n const isSupported = useSupported(() => navigator && \"getGamepads\" in navigator);\n const gamepads = ref([]);\n const onConnectedHook = createEventHook();\n const onDisconnectedHook = createEventHook();\n const stateFromGamepad = (gamepad) => {\n const hapticActuators = [];\n const vibrationActuator = \"vibrationActuator\" in gamepad ? gamepad.vibrationActuator : null;\n if (vibrationActuator)\n hapticActuators.push(vibrationActuator);\n if (gamepad.hapticActuators)\n hapticActuators.push(...gamepad.hapticActuators);\n return {\n id: gamepad.id,\n index: gamepad.index,\n connected: gamepad.connected,\n mapping: gamepad.mapping,\n timestamp: gamepad.timestamp,\n vibrationActuator: gamepad.vibrationActuator,\n hapticActuators,\n axes: gamepad.axes.map((axes) => axes),\n buttons: gamepad.buttons.map((button) => ({ pressed: button.pressed, touched: button.touched, value: button.value }))\n };\n };\n const updateGamepadState = () => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (const gamepad of _gamepads) {\n if (gamepad && gamepads.value[gamepad.index])\n gamepads.value[gamepad.index] = stateFromGamepad(gamepad);\n }\n };\n const { isActive, pause, resume } = useRafFn(updateGamepadState);\n const onGamepadConnected = (gamepad) => {\n if (!gamepads.value.some(({ index }) => index === gamepad.index)) {\n gamepads.value.push(stateFromGamepad(gamepad));\n onConnectedHook.trigger(gamepad.index);\n }\n resume();\n };\n const onGamepadDisconnected = (gamepad) => {\n gamepads.value = gamepads.value.filter((x) => x.index !== gamepad.index);\n onDisconnectedHook.trigger(gamepad.index);\n };\n useEventListener(\"gamepadconnected\", (e) => onGamepadConnected(e.gamepad));\n useEventListener(\"gamepaddisconnected\", (e) => onGamepadDisconnected(e.gamepad));\n tryOnMounted(() => {\n const _gamepads = (navigator == null ? void 0 : navigator.getGamepads()) || [];\n for (const gamepad of _gamepads) {\n if (gamepad && gamepads.value[gamepad.index])\n onGamepadConnected(gamepad);\n }\n });\n pause();\n return {\n isSupported,\n onConnected: onConnectedHook.on,\n onDisconnected: onDisconnectedHook.on,\n gamepads,\n pause,\n resume,\n isActive\n };\n}\n\nfunction useGeolocation(options = {}) {\n const {\n enableHighAccuracy = true,\n maximumAge = 3e4,\n timeout = 27e3,\n navigator = defaultNavigator,\n immediate = true\n } = options;\n const isSupported = useSupported(() => navigator && \"geolocation\" in navigator);\n const locatedAt = ref(null);\n const error = shallowRef(null);\n const coords = ref({\n accuracy: 0,\n latitude: Number.POSITIVE_INFINITY,\n longitude: Number.POSITIVE_INFINITY,\n altitude: null,\n altitudeAccuracy: null,\n heading: null,\n speed: null\n });\n function updatePosition(position) {\n locatedAt.value = position.timestamp;\n coords.value = position.coords;\n error.value = null;\n }\n let watcher;\n function resume() {\n if (isSupported.value) {\n watcher = navigator.geolocation.watchPosition(\n updatePosition,\n (err) => error.value = err,\n {\n enableHighAccuracy,\n maximumAge,\n timeout\n }\n );\n }\n }\n if (immediate)\n resume();\n function pause() {\n if (watcher && navigator)\n navigator.geolocation.clearWatch(watcher);\n }\n tryOnScopeDispose(() => {\n pause();\n });\n return {\n isSupported,\n coords,\n locatedAt,\n error,\n resume,\n pause\n };\n}\n\nconst defaultEvents$1 = [\"mousemove\", \"mousedown\", \"resize\", \"keydown\", \"touchstart\", \"wheel\"];\nconst oneMinute = 6e4;\nfunction useIdle(timeout = oneMinute, options = {}) {\n const {\n initialState = false,\n listenForVisibilityChange = true,\n events = defaultEvents$1,\n window = defaultWindow,\n eventFilter = throttleFilter(50)\n } = options;\n const idle = ref(initialState);\n const lastActive = ref(timestamp());\n let timer;\n const reset = () => {\n idle.value = false;\n clearTimeout(timer);\n timer = setTimeout(() => idle.value = true, timeout);\n };\n const onEvent = createFilterWrapper(\n eventFilter,\n () => {\n lastActive.value = timestamp();\n reset();\n }\n );\n if (window) {\n const document = window.document;\n for (const event of events)\n useEventListener(window, event, onEvent, { passive: true });\n if (listenForVisibilityChange) {\n useEventListener(document, \"visibilitychange\", () => {\n if (!document.hidden)\n onEvent();\n });\n }\n reset();\n }\n return {\n idle,\n lastActive,\n reset\n };\n}\n\nasync function loadImage(options) {\n return new Promise((resolve, reject) => {\n const img = new Image();\n const { src, srcset, sizes, class: clazz, loading, crossorigin, referrerPolicy } = options;\n img.src = src;\n if (srcset)\n img.srcset = srcset;\n if (sizes)\n img.sizes = sizes;\n if (clazz)\n img.className = clazz;\n if (loading)\n img.loading = loading;\n if (crossorigin)\n img.crossOrigin = crossorigin;\n if (referrerPolicy)\n img.referrerPolicy = referrerPolicy;\n img.onload = () => resolve(img);\n img.onerror = reject;\n });\n}\nfunction useImage(options, asyncStateOptions = {}) {\n const state = useAsyncState(\n () => loadImage(toValue(options)),\n void 0,\n {\n resetOnExecute: true,\n ...asyncStateOptions\n }\n );\n watch(\n () => toValue(options),\n () => state.execute(asyncStateOptions.delay),\n { deep: true }\n );\n return state;\n}\n\nconst ARRIVED_STATE_THRESHOLD_PIXELS = 1;\nfunction useScroll(element, options = {}) {\n const {\n throttle = 0,\n idle = 200,\n onStop = noop,\n onScroll = noop,\n offset = {\n left: 0,\n right: 0,\n top: 0,\n bottom: 0\n },\n eventListenerOptions = {\n capture: false,\n passive: true\n },\n behavior = \"auto\",\n window = defaultWindow,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const internalX = ref(0);\n const internalY = ref(0);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo(x2, void 0);\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo(void 0, y2);\n }\n });\n function scrollTo(_x, _y) {\n var _a, _b, _c, _d;\n if (!window)\n return;\n const _element = toValue(element);\n if (!_element)\n return;\n (_c = _element instanceof Document ? window.document.body : _element) == null ? void 0 : _c.scrollTo({\n top: (_a = toValue(_y)) != null ? _a : y.value,\n left: (_b = toValue(_x)) != null ? _b : x.value,\n behavior: toValue(behavior)\n });\n const scrollContainer = ((_d = _element == null ? void 0 : _element.document) == null ? void 0 : _d.documentElement) || (_element == null ? void 0 : _element.documentElement) || _element;\n if (x != null)\n internalX.value = scrollContainer.scrollLeft;\n if (y != null)\n internalY.value = scrollContainer.scrollTop;\n }\n const isScrolling = ref(false);\n const arrivedState = reactive({\n left: true,\n right: false,\n top: true,\n bottom: false\n });\n const directions = reactive({\n left: false,\n right: false,\n top: false,\n bottom: false\n });\n const onScrollEnd = (e) => {\n if (!isScrolling.value)\n return;\n isScrolling.value = false;\n directions.left = false;\n directions.right = false;\n directions.top = false;\n directions.bottom = false;\n onStop(e);\n };\n const onScrollEndDebounced = useDebounceFn(onScrollEnd, throttle + idle);\n const setArrivedState = (target) => {\n var _a;\n if (!window)\n return;\n const el = ((_a = target == null ? void 0 : target.document) == null ? void 0 : _a.documentElement) || (target == null ? void 0 : target.documentElement) || unrefElement(target);\n const { display, flexDirection } = getComputedStyle(el);\n const scrollLeft = el.scrollLeft;\n directions.left = scrollLeft < internalX.value;\n directions.right = scrollLeft > internalX.value;\n const left = Math.abs(scrollLeft) <= (offset.left || 0);\n const right = Math.abs(scrollLeft) + el.clientWidth >= el.scrollWidth - (offset.right || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"row-reverse\") {\n arrivedState.left = right;\n arrivedState.right = left;\n } else {\n arrivedState.left = left;\n arrivedState.right = right;\n }\n internalX.value = scrollLeft;\n let scrollTop = el.scrollTop;\n if (target === window.document && !scrollTop)\n scrollTop = window.document.body.scrollTop;\n directions.top = scrollTop < internalY.value;\n directions.bottom = scrollTop > internalY.value;\n const top = Math.abs(scrollTop) <= (offset.top || 0);\n const bottom = Math.abs(scrollTop) + el.clientHeight >= el.scrollHeight - (offset.bottom || 0) - ARRIVED_STATE_THRESHOLD_PIXELS;\n if (display === \"flex\" && flexDirection === \"column-reverse\") {\n arrivedState.top = bottom;\n arrivedState.bottom = top;\n } else {\n arrivedState.top = top;\n arrivedState.bottom = bottom;\n }\n internalY.value = scrollTop;\n };\n const onScrollHandler = (e) => {\n var _a;\n if (!window)\n return;\n const eventTarget = (_a = e.target.documentElement) != null ? _a : e.target;\n setArrivedState(eventTarget);\n isScrolling.value = true;\n onScrollEndDebounced(e);\n onScroll(e);\n };\n useEventListener(\n element,\n \"scroll\",\n throttle ? useThrottleFn(onScrollHandler, throttle, true, false) : onScrollHandler,\n eventListenerOptions\n );\n tryOnMounted(() => {\n try {\n const _element = toValue(element);\n if (!_element)\n return;\n setArrivedState(_element);\n } catch (e) {\n onError(e);\n }\n });\n useEventListener(\n element,\n \"scrollend\",\n onScrollEnd,\n eventListenerOptions\n );\n return {\n x,\n y,\n isScrolling,\n arrivedState,\n directions,\n measure() {\n const _element = toValue(element);\n if (window && _element)\n setArrivedState(_element);\n }\n };\n}\n\nfunction resolveElement(el) {\n if (typeof Window !== \"undefined\" && el instanceof Window)\n return el.document.documentElement;\n if (typeof Document !== \"undefined\" && el instanceof Document)\n return el.documentElement;\n return el;\n}\n\nfunction useInfiniteScroll(element, onLoadMore, options = {}) {\n var _a;\n const {\n direction = \"bottom\",\n interval = 100,\n canLoadMore = () => true\n } = options;\n const state = reactive(useScroll(\n element,\n {\n ...options,\n offset: {\n [direction]: (_a = options.distance) != null ? _a : 0,\n ...options.offset\n }\n }\n ));\n const promise = ref();\n const isLoading = computed(() => !!promise.value);\n const observedElement = computed(() => {\n return resolveElement(toValue(element));\n });\n const isElementVisible = useElementVisibility(observedElement);\n function checkAndLoad() {\n state.measure();\n if (!observedElement.value || !isElementVisible.value || !canLoadMore(observedElement.value))\n return;\n const { scrollHeight, clientHeight, scrollWidth, clientWidth } = observedElement.value;\n const isNarrower = direction === \"bottom\" || direction === \"top\" ? scrollHeight <= clientHeight : scrollWidth <= clientWidth;\n if (state.arrivedState[direction] || isNarrower) {\n if (!promise.value) {\n promise.value = Promise.all([\n onLoadMore(state),\n new Promise((resolve) => setTimeout(resolve, interval))\n ]).finally(() => {\n promise.value = null;\n nextTick(() => checkAndLoad());\n });\n }\n }\n }\n watch(\n () => [state.arrivedState[direction], isElementVisible.value],\n checkAndLoad,\n { immediate: true }\n );\n return {\n isLoading,\n reset() {\n nextTick(() => checkAndLoad());\n }\n };\n}\n\nconst defaultEvents = [\"mousedown\", \"mouseup\", \"keydown\", \"keyup\"];\nfunction useKeyModifier(modifier, options = {}) {\n const {\n events = defaultEvents,\n document = defaultDocument,\n initial = null\n } = options;\n const state = ref(initial);\n if (document) {\n events.forEach((listenerEvent) => {\n useEventListener(document, listenerEvent, (evt) => {\n if (typeof evt.getModifierState === \"function\")\n state.value = evt.getModifierState(modifier);\n });\n });\n }\n return state;\n}\n\nfunction useLocalStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.localStorage, options);\n}\n\nconst DefaultMagicKeysAliasMap = {\n ctrl: \"control\",\n command: \"meta\",\n cmd: \"meta\",\n option: \"alt\",\n up: \"arrowup\",\n down: \"arrowdown\",\n left: \"arrowleft\",\n right: \"arrowright\"\n};\n\nfunction useMagicKeys(options = {}) {\n const {\n reactive: useReactive = false,\n target = defaultWindow,\n aliasMap = DefaultMagicKeysAliasMap,\n passive = true,\n onEventFired = noop\n } = options;\n const current = reactive(/* @__PURE__ */ new Set());\n const obj = {\n toJSON() {\n return {};\n },\n current\n };\n const refs = useReactive ? reactive(obj) : obj;\n const metaDeps = /* @__PURE__ */ new Set();\n const usedKeys = /* @__PURE__ */ new Set();\n function setRefs(key, value) {\n if (key in refs) {\n if (useReactive)\n refs[key] = value;\n else\n refs[key].value = value;\n }\n }\n function reset() {\n current.clear();\n for (const key of usedKeys)\n setRefs(key, false);\n }\n function updateRefs(e, value) {\n var _a, _b;\n const key = (_a = e.key) == null ? void 0 : _a.toLowerCase();\n const code = (_b = e.code) == null ? void 0 : _b.toLowerCase();\n const values = [code, key].filter(Boolean);\n if (key) {\n if (value)\n current.add(key);\n else\n current.delete(key);\n }\n for (const key2 of values) {\n usedKeys.add(key2);\n setRefs(key2, value);\n }\n if (key === \"meta\" && !value) {\n metaDeps.forEach((key2) => {\n current.delete(key2);\n setRefs(key2, false);\n });\n metaDeps.clear();\n } else if (typeof e.getModifierState === \"function\" && e.getModifierState(\"Meta\") && value) {\n [...current, ...values].forEach((key2) => metaDeps.add(key2));\n }\n }\n useEventListener(target, \"keydown\", (e) => {\n updateRefs(e, true);\n return onEventFired(e);\n }, { passive });\n useEventListener(target, \"keyup\", (e) => {\n updateRefs(e, false);\n return onEventFired(e);\n }, { passive });\n useEventListener(\"blur\", reset, { passive: true });\n useEventListener(\"focus\", reset, { passive: true });\n const proxy = new Proxy(\n refs,\n {\n get(target2, prop, rec) {\n if (typeof prop !== \"string\")\n return Reflect.get(target2, prop, rec);\n prop = prop.toLowerCase();\n if (prop in aliasMap)\n prop = aliasMap[prop];\n if (!(prop in refs)) {\n if (/[+_-]/.test(prop)) {\n const keys = prop.split(/[+_-]/g).map((i) => i.trim());\n refs[prop] = computed(() => keys.every((key) => toValue(proxy[key])));\n } else {\n refs[prop] = ref(false);\n }\n }\n const r = Reflect.get(target2, prop, rec);\n return useReactive ? toValue(r) : r;\n }\n }\n );\n return proxy;\n}\n\nfunction usingElRef(source, cb) {\n if (toValue(source))\n cb(toValue(source));\n}\nfunction timeRangeToArray(timeRanges) {\n let ranges = [];\n for (let i = 0; i < timeRanges.length; ++i)\n ranges = [...ranges, [timeRanges.start(i), timeRanges.end(i)]];\n return ranges;\n}\nfunction tracksToArray(tracks) {\n return Array.from(tracks).map(({ label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }, id) => ({ id, label, kind, language, mode, activeCues, cues, inBandMetadataTrackDispatchType }));\n}\nconst defaultOptions = {\n src: \"\",\n tracks: []\n};\nfunction useMediaControls(target, options = {}) {\n target = toRef(target);\n options = {\n ...defaultOptions,\n ...options\n };\n const {\n document = defaultDocument\n } = options;\n const currentTime = ref(0);\n const duration = ref(0);\n const seeking = ref(false);\n const volume = ref(1);\n const waiting = ref(false);\n const ended = ref(false);\n const playing = ref(false);\n const rate = ref(1);\n const stalled = ref(false);\n const buffered = ref([]);\n const tracks = ref([]);\n const selectedTrack = ref(-1);\n const isPictureInPicture = ref(false);\n const muted = ref(false);\n const supportsPictureInPicture = document && \"pictureInPictureEnabled\" in document;\n const sourceErrorEvent = createEventHook();\n const disableTrack = (track) => {\n usingElRef(target, (el) => {\n if (track) {\n const id = typeof track === \"number\" ? track : track.id;\n el.textTracks[id].mode = \"disabled\";\n } else {\n for (let i = 0; i < el.textTracks.length; ++i)\n el.textTracks[i].mode = \"disabled\";\n }\n selectedTrack.value = -1;\n });\n };\n const enableTrack = (track, disableTracks = true) => {\n usingElRef(target, (el) => {\n const id = typeof track === \"number\" ? track : track.id;\n if (disableTracks)\n disableTrack();\n el.textTracks[id].mode = \"showing\";\n selectedTrack.value = id;\n });\n };\n const togglePictureInPicture = () => {\n return new Promise((resolve, reject) => {\n usingElRef(target, async (el) => {\n if (supportsPictureInPicture) {\n if (!isPictureInPicture.value) {\n el.requestPictureInPicture().then(resolve).catch(reject);\n } else {\n document.exitPictureInPicture().then(resolve).catch(reject);\n }\n }\n });\n });\n };\n watchEffect(() => {\n if (!document)\n return;\n const el = toValue(target);\n if (!el)\n return;\n const src = toValue(options.src);\n let sources = [];\n if (!src)\n return;\n if (typeof src === \"string\")\n sources = [{ src }];\n else if (Array.isArray(src))\n sources = src;\n else if (isObject(src))\n sources = [src];\n el.querySelectorAll(\"source\").forEach((e) => {\n e.removeEventListener(\"error\", sourceErrorEvent.trigger);\n e.remove();\n });\n sources.forEach(({ src: src2, type }) => {\n const source = document.createElement(\"source\");\n source.setAttribute(\"src\", src2);\n source.setAttribute(\"type\", type || \"\");\n source.addEventListener(\"error\", sourceErrorEvent.trigger);\n el.appendChild(source);\n });\n el.load();\n });\n tryOnScopeDispose(() => {\n const el = toValue(target);\n if (!el)\n return;\n el.querySelectorAll(\"source\").forEach((e) => e.removeEventListener(\"error\", sourceErrorEvent.trigger));\n });\n watch([target, volume], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.volume = volume.value;\n });\n watch([target, muted], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.muted = muted.value;\n });\n watch([target, rate], () => {\n const el = toValue(target);\n if (!el)\n return;\n el.playbackRate = rate.value;\n });\n watchEffect(() => {\n if (!document)\n return;\n const textTracks = toValue(options.tracks);\n const el = toValue(target);\n if (!textTracks || !textTracks.length || !el)\n return;\n el.querySelectorAll(\"track\").forEach((e) => e.remove());\n textTracks.forEach(({ default: isDefault, kind, label, src, srcLang }, i) => {\n const track = document.createElement(\"track\");\n track.default = isDefault || false;\n track.kind = kind;\n track.label = label;\n track.src = src;\n track.srclang = srcLang;\n if (track.default)\n selectedTrack.value = i;\n el.appendChild(track);\n });\n });\n const { ignoreUpdates: ignoreCurrentTimeUpdates } = watchIgnorable(currentTime, (time) => {\n const el = toValue(target);\n if (!el)\n return;\n el.currentTime = time;\n });\n const { ignoreUpdates: ignorePlayingUpdates } = watchIgnorable(playing, (isPlaying) => {\n const el = toValue(target);\n if (!el)\n return;\n if (isPlaying)\n el.play();\n else\n el.pause();\n });\n useEventListener(target, \"timeupdate\", () => ignoreCurrentTimeUpdates(() => currentTime.value = toValue(target).currentTime));\n useEventListener(target, \"durationchange\", () => duration.value = toValue(target).duration);\n useEventListener(target, \"progress\", () => buffered.value = timeRangeToArray(toValue(target).buffered));\n useEventListener(target, \"seeking\", () => seeking.value = true);\n useEventListener(target, \"seeked\", () => seeking.value = false);\n useEventListener(target, [\"waiting\", \"loadstart\"], () => {\n waiting.value = true;\n ignorePlayingUpdates(() => playing.value = false);\n });\n useEventListener(target, \"loadeddata\", () => waiting.value = false);\n useEventListener(target, \"playing\", () => {\n waiting.value = false;\n ended.value = false;\n ignorePlayingUpdates(() => playing.value = true);\n });\n useEventListener(target, \"ratechange\", () => rate.value = toValue(target).playbackRate);\n useEventListener(target, \"stalled\", () => stalled.value = true);\n useEventListener(target, \"ended\", () => ended.value = true);\n useEventListener(target, \"pause\", () => ignorePlayingUpdates(() => playing.value = false));\n useEventListener(target, \"play\", () => ignorePlayingUpdates(() => playing.value = true));\n useEventListener(target, \"enterpictureinpicture\", () => isPictureInPicture.value = true);\n useEventListener(target, \"leavepictureinpicture\", () => isPictureInPicture.value = false);\n useEventListener(target, \"volumechange\", () => {\n const el = toValue(target);\n if (!el)\n return;\n volume.value = el.volume;\n muted.value = el.muted;\n });\n const listeners = [];\n const stop = watch([target], () => {\n const el = toValue(target);\n if (!el)\n return;\n stop();\n listeners[0] = useEventListener(el.textTracks, \"addtrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[1] = useEventListener(el.textTracks, \"removetrack\", () => tracks.value = tracksToArray(el.textTracks));\n listeners[2] = useEventListener(el.textTracks, \"change\", () => tracks.value = tracksToArray(el.textTracks));\n });\n tryOnScopeDispose(() => listeners.forEach((listener) => listener()));\n return {\n currentTime,\n duration,\n waiting,\n seeking,\n ended,\n stalled,\n buffered,\n playing,\n rate,\n // Volume\n volume,\n muted,\n // Tracks\n tracks,\n selectedTrack,\n enableTrack,\n disableTrack,\n // Picture in Picture\n supportsPictureInPicture,\n togglePictureInPicture,\n isPictureInPicture,\n // Events\n onSourceError: sourceErrorEvent.on\n };\n}\n\nfunction getMapVue2Compat() {\n const data = shallowReactive({});\n return {\n get: (key) => data[key],\n set: (key, value) => set(data, key, value),\n has: (key) => hasOwn(data, key),\n delete: (key) => del(data, key),\n clear: () => {\n Object.keys(data).forEach((key) => {\n del(data, key);\n });\n }\n };\n}\nfunction useMemoize(resolver, options) {\n const initCache = () => {\n if (options == null ? void 0 : options.cache)\n return shallowReactive(options.cache);\n if (isVue2)\n return getMapVue2Compat();\n return shallowReactive(/* @__PURE__ */ new Map());\n };\n const cache = initCache();\n const generateKey = (...args) => (options == null ? void 0 : options.getKey) ? options.getKey(...args) : JSON.stringify(args);\n const _loadData = (key, ...args) => {\n cache.set(key, resolver(...args));\n return cache.get(key);\n };\n const loadData = (...args) => _loadData(generateKey(...args), ...args);\n const deleteData = (...args) => {\n cache.delete(generateKey(...args));\n };\n const clearData = () => {\n cache.clear();\n };\n const memoized = (...args) => {\n const key = generateKey(...args);\n if (cache.has(key))\n return cache.get(key);\n return _loadData(key, ...args);\n };\n memoized.load = loadData;\n memoized.delete = deleteData;\n memoized.clear = clearData;\n memoized.generateKey = generateKey;\n memoized.cache = cache;\n return memoized;\n}\n\nfunction useMemory(options = {}) {\n const memory = ref();\n const isSupported = useSupported(() => typeof performance !== \"undefined\" && \"memory\" in performance);\n if (isSupported.value) {\n const { interval = 1e3 } = options;\n useIntervalFn(() => {\n memory.value = performance.memory;\n }, interval, { immediate: options.immediate, immediateCallback: options.immediateCallback });\n }\n return { isSupported, memory };\n}\n\nconst UseMouseBuiltinExtractors = {\n page: (event) => [event.pageX, event.pageY],\n client: (event) => [event.clientX, event.clientY],\n screen: (event) => [event.screenX, event.screenY],\n movement: (event) => event instanceof Touch ? null : [event.movementX, event.movementY]\n};\nfunction useMouse(options = {}) {\n const {\n type = \"page\",\n touch = true,\n resetOnTouchEnds = false,\n initialValue = { x: 0, y: 0 },\n window = defaultWindow,\n target = window,\n scroll = true,\n eventFilter\n } = options;\n let _prevMouseEvent = null;\n const x = ref(initialValue.x);\n const y = ref(initialValue.y);\n const sourceType = ref(null);\n const extractor = typeof type === \"function\" ? type : UseMouseBuiltinExtractors[type];\n const mouseHandler = (event) => {\n const result = extractor(event);\n _prevMouseEvent = event;\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"mouse\";\n }\n };\n const touchHandler = (event) => {\n if (event.touches.length > 0) {\n const result = extractor(event.touches[0]);\n if (result) {\n [x.value, y.value] = result;\n sourceType.value = \"touch\";\n }\n }\n };\n const scrollHandler = () => {\n if (!_prevMouseEvent || !window)\n return;\n const pos = extractor(_prevMouseEvent);\n if (_prevMouseEvent instanceof MouseEvent && pos) {\n x.value = pos[0] + window.scrollX;\n y.value = pos[1] + window.scrollY;\n }\n };\n const reset = () => {\n x.value = initialValue.x;\n y.value = initialValue.y;\n };\n const mouseHandlerWrapper = eventFilter ? (event) => eventFilter(() => mouseHandler(event), {}) : (event) => mouseHandler(event);\n const touchHandlerWrapper = eventFilter ? (event) => eventFilter(() => touchHandler(event), {}) : (event) => touchHandler(event);\n const scrollHandlerWrapper = eventFilter ? () => eventFilter(() => scrollHandler(), {}) : () => scrollHandler();\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"mousemove\", \"dragover\"], mouseHandlerWrapper, listenerOptions);\n if (touch && type !== \"movement\") {\n useEventListener(target, [\"touchstart\", \"touchmove\"], touchHandlerWrapper, listenerOptions);\n if (resetOnTouchEnds)\n useEventListener(target, \"touchend\", reset, listenerOptions);\n }\n if (scroll && type === \"page\")\n useEventListener(window, \"scroll\", scrollHandlerWrapper, { passive: true });\n }\n return {\n x,\n y,\n sourceType\n };\n}\n\nfunction useMouseInElement(target, options = {}) {\n const {\n handleOutside = true,\n window = defaultWindow\n } = options;\n const type = options.type || \"page\";\n const { x, y, sourceType } = useMouse(options);\n const targetRef = ref(target != null ? target : window == null ? void 0 : window.document.body);\n const elementX = ref(0);\n const elementY = ref(0);\n const elementPositionX = ref(0);\n const elementPositionY = ref(0);\n const elementHeight = ref(0);\n const elementWidth = ref(0);\n const isOutside = ref(true);\n let stop = () => {\n };\n if (window) {\n stop = watch(\n [targetRef, x, y],\n () => {\n const el = unrefElement(targetRef);\n if (!el || !(el instanceof HTMLElement))\n return;\n const {\n left,\n top,\n width,\n height\n } = el.getBoundingClientRect();\n elementPositionX.value = left + (type === \"page\" ? window.pageXOffset : 0);\n elementPositionY.value = top + (type === \"page\" ? window.pageYOffset : 0);\n elementHeight.value = height;\n elementWidth.value = width;\n const elX = x.value - elementPositionX.value;\n const elY = y.value - elementPositionY.value;\n isOutside.value = width === 0 || height === 0 || elX < 0 || elY < 0 || elX > width || elY > height;\n if (handleOutside || !isOutside.value) {\n elementX.value = elX;\n elementY.value = elY;\n }\n },\n { immediate: true }\n );\n useEventListener(document, \"mouseleave\", () => {\n isOutside.value = true;\n });\n }\n return {\n x,\n y,\n sourceType,\n elementX,\n elementY,\n elementPositionX,\n elementPositionY,\n elementHeight,\n elementWidth,\n isOutside,\n stop\n };\n}\n\nfunction useMousePressed(options = {}) {\n const {\n touch = true,\n drag = true,\n capture = false,\n initialValue = false,\n window = defaultWindow\n } = options;\n const pressed = ref(initialValue);\n const sourceType = ref(null);\n if (!window) {\n return {\n pressed,\n sourceType\n };\n }\n const onPressed = (srcType) => () => {\n pressed.value = true;\n sourceType.value = srcType;\n };\n const onReleased = () => {\n pressed.value = false;\n sourceType.value = null;\n };\n const target = computed(() => unrefElement(options.target) || window);\n useEventListener(target, \"mousedown\", onPressed(\"mouse\"), { passive: true, capture });\n useEventListener(window, \"mouseleave\", onReleased, { passive: true, capture });\n useEventListener(window, \"mouseup\", onReleased, { passive: true, capture });\n if (drag) {\n useEventListener(target, \"dragstart\", onPressed(\"mouse\"), { passive: true, capture });\n useEventListener(window, \"drop\", onReleased, { passive: true, capture });\n useEventListener(window, \"dragend\", onReleased, { passive: true, capture });\n }\n if (touch) {\n useEventListener(target, \"touchstart\", onPressed(\"touch\"), { passive: true, capture });\n useEventListener(window, \"touchend\", onReleased, { passive: true, capture });\n useEventListener(window, \"touchcancel\", onReleased, { passive: true, capture });\n }\n return {\n pressed,\n sourceType\n };\n}\n\nfunction useNavigatorLanguage(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"language\" in navigator);\n const language = ref(navigator == null ? void 0 : navigator.language);\n useEventListener(window, \"languagechange\", () => {\n if (navigator)\n language.value = navigator.language;\n });\n return {\n isSupported,\n language\n };\n}\n\nfunction useNetwork(options = {}) {\n const { window = defaultWindow } = options;\n const navigator = window == null ? void 0 : window.navigator;\n const isSupported = useSupported(() => navigator && \"connection\" in navigator);\n const isOnline = ref(true);\n const saveData = ref(false);\n const offlineAt = ref(void 0);\n const onlineAt = ref(void 0);\n const downlink = ref(void 0);\n const downlinkMax = ref(void 0);\n const rtt = ref(void 0);\n const effectiveType = ref(void 0);\n const type = ref(\"unknown\");\n const connection = isSupported.value && navigator.connection;\n function updateNetworkInformation() {\n if (!navigator)\n return;\n isOnline.value = navigator.onLine;\n offlineAt.value = isOnline.value ? void 0 : Date.now();\n onlineAt.value = isOnline.value ? Date.now() : void 0;\n if (connection) {\n downlink.value = connection.downlink;\n downlinkMax.value = connection.downlinkMax;\n effectiveType.value = connection.effectiveType;\n rtt.value = connection.rtt;\n saveData.value = connection.saveData;\n type.value = connection.type;\n }\n }\n if (window) {\n useEventListener(window, \"offline\", () => {\n isOnline.value = false;\n offlineAt.value = Date.now();\n });\n useEventListener(window, \"online\", () => {\n isOnline.value = true;\n onlineAt.value = Date.now();\n });\n }\n if (connection)\n useEventListener(connection, \"change\", updateNetworkInformation, false);\n updateNetworkInformation();\n return {\n isSupported,\n isOnline,\n saveData,\n offlineAt,\n onlineAt,\n downlink,\n downlinkMax,\n effectiveType,\n rtt,\n type\n };\n}\n\nfunction useNow(options = {}) {\n const {\n controls: exposeControls = false,\n interval = \"requestAnimationFrame\"\n } = options;\n const now = ref(/* @__PURE__ */ new Date());\n const update = () => now.value = /* @__PURE__ */ new Date();\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(update, { immediate: true }) : useIntervalFn(update, interval, { immediate: true });\n if (exposeControls) {\n return {\n now,\n ...controls\n };\n } else {\n return now;\n }\n}\n\nfunction useObjectUrl(object) {\n const url = ref();\n const release = () => {\n if (url.value)\n URL.revokeObjectURL(url.value);\n url.value = void 0;\n };\n watch(\n () => toValue(object),\n (newObject) => {\n release();\n if (newObject)\n url.value = URL.createObjectURL(newObject);\n },\n { immediate: true }\n );\n tryOnScopeDispose(release);\n return readonly(url);\n}\n\nfunction useClamp(value, min, max) {\n if (typeof value === \"function\" || isReadonly(value))\n return computed(() => clamp(toValue(value), toValue(min), toValue(max)));\n const _value = ref(value);\n return computed({\n get() {\n return _value.value = clamp(_value.value, toValue(min), toValue(max));\n },\n set(value2) {\n _value.value = clamp(value2, toValue(min), toValue(max));\n }\n });\n}\n\nfunction useOffsetPagination(options) {\n const {\n total = Number.POSITIVE_INFINITY,\n pageSize = 10,\n page = 1,\n onPageChange = noop,\n onPageSizeChange = noop,\n onPageCountChange = noop\n } = options;\n const currentPageSize = useClamp(pageSize, 1, Number.POSITIVE_INFINITY);\n const pageCount = computed(() => Math.max(\n 1,\n Math.ceil(toValue(total) / toValue(currentPageSize))\n ));\n const currentPage = useClamp(page, 1, pageCount);\n const isFirstPage = computed(() => currentPage.value === 1);\n const isLastPage = computed(() => currentPage.value === pageCount.value);\n if (isRef(page)) {\n syncRef(page, currentPage, {\n direction: isReadonly(page) ? \"ltr\" : \"both\"\n });\n }\n if (isRef(pageSize)) {\n syncRef(pageSize, currentPageSize, {\n direction: isReadonly(pageSize) ? \"ltr\" : \"both\"\n });\n }\n function prev() {\n currentPage.value--;\n }\n function next() {\n currentPage.value++;\n }\n const returnValue = {\n currentPage,\n currentPageSize,\n pageCount,\n isFirstPage,\n isLastPage,\n prev,\n next\n };\n watch(currentPage, () => {\n onPageChange(reactive(returnValue));\n });\n watch(currentPageSize, () => {\n onPageSizeChange(reactive(returnValue));\n });\n watch(pageCount, () => {\n onPageCountChange(reactive(returnValue));\n });\n return returnValue;\n}\n\nfunction useOnline(options = {}) {\n const { isOnline } = useNetwork(options);\n return isOnline;\n}\n\nfunction usePageLeave(options = {}) {\n const { window = defaultWindow } = options;\n const isLeft = ref(false);\n const handler = (event) => {\n if (!window)\n return;\n event = event || window.event;\n const from = event.relatedTarget || event.toElement;\n isLeft.value = !from;\n };\n if (window) {\n useEventListener(window, \"mouseout\", handler, { passive: true });\n useEventListener(window.document, \"mouseleave\", handler, { passive: true });\n useEventListener(window.document, \"mouseenter\", handler, { passive: true });\n }\n return isLeft;\n}\n\nfunction useScreenOrientation(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const isSupported = useSupported(() => window && \"screen\" in window && \"orientation\" in window.screen);\n const screenOrientation = isSupported.value ? window.screen.orientation : {};\n const orientation = ref(screenOrientation.type);\n const angle = ref(screenOrientation.angle || 0);\n if (isSupported.value) {\n useEventListener(window, \"orientationchange\", () => {\n orientation.value = screenOrientation.type;\n angle.value = screenOrientation.angle;\n });\n }\n const lockOrientation = (type) => {\n if (isSupported.value && typeof screenOrientation.lock === \"function\")\n return screenOrientation.lock(type);\n return Promise.reject(new Error(\"Not supported\"));\n };\n const unlockOrientation = () => {\n if (isSupported.value && typeof screenOrientation.unlock === \"function\")\n screenOrientation.unlock();\n };\n return {\n isSupported,\n orientation,\n angle,\n lockOrientation,\n unlockOrientation\n };\n}\n\nfunction useParallax(target, options = {}) {\n const {\n deviceOrientationTiltAdjust = (i) => i,\n deviceOrientationRollAdjust = (i) => i,\n mouseTiltAdjust = (i) => i,\n mouseRollAdjust = (i) => i,\n window = defaultWindow\n } = options;\n const orientation = reactive(useDeviceOrientation({ window }));\n const screenOrientation = reactive(useScreenOrientation({ window }));\n const {\n elementX: x,\n elementY: y,\n elementWidth: width,\n elementHeight: height\n } = useMouseInElement(target, { handleOutside: false, window });\n const source = computed(() => {\n if (orientation.isSupported && (orientation.alpha != null && orientation.alpha !== 0 || orientation.gamma != null && orientation.gamma !== 0)) {\n return \"deviceOrientation\";\n }\n return \"mouse\";\n });\n const roll = computed(() => {\n if (source.value === \"deviceOrientation\") {\n let value;\n switch (screenOrientation.orientation) {\n case \"landscape-primary\":\n value = orientation.gamma / 90;\n break;\n case \"landscape-secondary\":\n value = -orientation.gamma / 90;\n break;\n case \"portrait-primary\":\n value = -orientation.beta / 90;\n break;\n case \"portrait-secondary\":\n value = orientation.beta / 90;\n break;\n default:\n value = -orientation.beta / 90;\n }\n return deviceOrientationRollAdjust(value);\n } else {\n const value = -(y.value - height.value / 2) / height.value;\n return mouseRollAdjust(value);\n }\n });\n const tilt = computed(() => {\n if (source.value === \"deviceOrientation\") {\n let value;\n switch (screenOrientation.orientation) {\n case \"landscape-primary\":\n value = orientation.beta / 90;\n break;\n case \"landscape-secondary\":\n value = -orientation.beta / 90;\n break;\n case \"portrait-primary\":\n value = orientation.gamma / 90;\n break;\n case \"portrait-secondary\":\n value = -orientation.gamma / 90;\n break;\n default:\n value = orientation.gamma / 90;\n }\n return deviceOrientationTiltAdjust(value);\n } else {\n const value = (x.value - width.value / 2) / width.value;\n return mouseTiltAdjust(value);\n }\n });\n return { roll, tilt, source };\n}\n\nfunction useParentElement(element = useCurrentElement()) {\n const parentElement = shallowRef();\n const update = () => {\n const el = unrefElement(element);\n if (el)\n parentElement.value = el.parentElement;\n };\n tryOnMounted(update);\n watch(() => toValue(element), update);\n return parentElement;\n}\n\nfunction usePerformanceObserver(options, callback) {\n const {\n window = defaultWindow,\n immediate = true,\n ...performanceOptions\n } = options;\n const isSupported = useSupported(() => window && \"PerformanceObserver\" in window);\n let observer;\n const stop = () => {\n observer == null ? void 0 : observer.disconnect();\n };\n const start = () => {\n if (isSupported.value) {\n stop();\n observer = new PerformanceObserver(callback);\n observer.observe(performanceOptions);\n }\n };\n tryOnScopeDispose(stop);\n if (immediate)\n start();\n return {\n isSupported,\n start,\n stop\n };\n}\n\nconst defaultState = {\n x: 0,\n y: 0,\n pointerId: 0,\n pressure: 0,\n tiltX: 0,\n tiltY: 0,\n width: 0,\n height: 0,\n twist: 0,\n pointerType: null\n};\nconst keys = /* @__PURE__ */ Object.keys(defaultState);\nfunction usePointer(options = {}) {\n const {\n target = defaultWindow\n } = options;\n const isInside = ref(false);\n const state = ref(options.initialValue || {});\n Object.assign(state.value, defaultState, state.value);\n const handler = (event) => {\n isInside.value = true;\n if (options.pointerTypes && !options.pointerTypes.includes(event.pointerType))\n return;\n state.value = objectPick(event, keys, false);\n };\n if (target) {\n const listenerOptions = { passive: true };\n useEventListener(target, [\"pointerdown\", \"pointermove\", \"pointerup\"], handler, listenerOptions);\n useEventListener(target, \"pointerleave\", () => isInside.value = false, listenerOptions);\n }\n return {\n ...toRefs(state),\n isInside\n };\n}\n\nfunction usePointerLock(target, options = {}) {\n const { document = defaultDocument } = options;\n const isSupported = useSupported(() => document && \"pointerLockElement\" in document);\n const element = ref();\n const triggerElement = ref();\n let targetElement;\n if (isSupported.value) {\n useEventListener(document, \"pointerlockchange\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n element.value = document.pointerLockElement;\n if (!element.value)\n targetElement = triggerElement.value = null;\n }\n });\n useEventListener(document, \"pointerlockerror\", () => {\n var _a;\n const currentElement = (_a = document.pointerLockElement) != null ? _a : element.value;\n if (targetElement && currentElement === targetElement) {\n const action = document.pointerLockElement ? \"release\" : \"acquire\";\n throw new Error(`Failed to ${action} pointer lock.`);\n }\n });\n }\n async function lock(e) {\n var _a;\n if (!isSupported.value)\n throw new Error(\"Pointer Lock API is not supported by your browser.\");\n triggerElement.value = e instanceof Event ? e.currentTarget : null;\n targetElement = e instanceof Event ? (_a = unrefElement(target)) != null ? _a : triggerElement.value : unrefElement(e);\n if (!targetElement)\n throw new Error(\"Target element undefined.\");\n targetElement.requestPointerLock();\n return await until(element).toBe(targetElement);\n }\n async function unlock() {\n if (!element.value)\n return false;\n document.exitPointerLock();\n await until(element).toBeNull();\n return true;\n }\n return {\n isSupported,\n element,\n triggerElement,\n lock,\n unlock\n };\n}\n\nfunction usePointerSwipe(target, options = {}) {\n const targetRef = toRef(target);\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n disableTextSelect = false\n } = options;\n const posStart = reactive({ x: 0, y: 0 });\n const updatePosStart = (x, y) => {\n posStart.x = x;\n posStart.y = y;\n };\n const posEnd = reactive({ x: 0, y: 0 });\n const updatePosEnd = (x, y) => {\n posEnd.x = x;\n posEnd.y = y;\n };\n const distanceX = computed(() => posStart.x - posEnd.x);\n const distanceY = computed(() => posStart.y - posEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(distanceX.value), abs(distanceY.value)) >= threshold);\n const isSwiping = ref(false);\n const isPointerDown = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(distanceX.value) > abs(distanceY.value)) {\n return distanceX.value > 0 ? \"left\" : \"right\";\n } else {\n return distanceY.value > 0 ? \"up\" : \"down\";\n }\n });\n const eventIsAllowed = (e) => {\n var _a, _b, _c;\n const isReleasingButton = e.buttons === 0;\n const isPrimaryButton = e.buttons === 1;\n return (_c = (_b = (_a = options.pointerTypes) == null ? void 0 : _a.includes(e.pointerType)) != null ? _b : isReleasingButton || isPrimaryButton) != null ? _c : true;\n };\n const stops = [\n useEventListener(target, \"pointerdown\", (e) => {\n if (!eventIsAllowed(e))\n return;\n isPointerDown.value = true;\n const eventTarget = e.target;\n eventTarget == null ? void 0 : eventTarget.setPointerCapture(e.pointerId);\n const { clientX: x, clientY: y } = e;\n updatePosStart(x, y);\n updatePosEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }),\n useEventListener(target, \"pointermove\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (!isPointerDown.value)\n return;\n const { clientX: x, clientY: y } = e;\n updatePosEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }),\n useEventListener(target, \"pointerup\", (e) => {\n if (!eventIsAllowed(e))\n return;\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isPointerDown.value = false;\n isSwiping.value = false;\n })\n ];\n tryOnMounted(() => {\n var _a, _b, _c, _d, _e, _f, _g, _h;\n (_b = (_a = targetRef.value) == null ? void 0 : _a.style) == null ? void 0 : _b.setProperty(\"touch-action\", \"none\");\n if (disableTextSelect) {\n (_d = (_c = targetRef.value) == null ? void 0 : _c.style) == null ? void 0 : _d.setProperty(\"-webkit-user-select\", \"none\");\n (_f = (_e = targetRef.value) == null ? void 0 : _e.style) == null ? void 0 : _f.setProperty(\"-ms-user-select\", \"none\");\n (_h = (_g = targetRef.value) == null ? void 0 : _g.style) == null ? void 0 : _h.setProperty(\"user-select\", \"none\");\n }\n });\n const stop = () => stops.forEach((s) => s());\n return {\n isSwiping: readonly(isSwiping),\n direction: readonly(direction),\n posStart: readonly(posStart),\n posEnd: readonly(posEnd),\n distanceX,\n distanceY,\n stop\n };\n}\n\nfunction usePreferredColorScheme(options) {\n const isLight = useMediaQuery(\"(prefers-color-scheme: light)\", options);\n const isDark = useMediaQuery(\"(prefers-color-scheme: dark)\", options);\n return computed(() => {\n if (isDark.value)\n return \"dark\";\n if (isLight.value)\n return \"light\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredContrast(options) {\n const isMore = useMediaQuery(\"(prefers-contrast: more)\", options);\n const isLess = useMediaQuery(\"(prefers-contrast: less)\", options);\n const isCustom = useMediaQuery(\"(prefers-contrast: custom)\", options);\n return computed(() => {\n if (isMore.value)\n return \"more\";\n if (isLess.value)\n return \"less\";\n if (isCustom.value)\n return \"custom\";\n return \"no-preference\";\n });\n}\n\nfunction usePreferredLanguages(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref([\"en\"]);\n const navigator = window.navigator;\n const value = ref(navigator.languages);\n useEventListener(window, \"languagechange\", () => {\n value.value = navigator.languages;\n });\n return value;\n}\n\nfunction usePreferredReducedMotion(options) {\n const isReduced = useMediaQuery(\"(prefers-reduced-motion: reduce)\", options);\n return computed(() => {\n if (isReduced.value)\n return \"reduce\";\n return \"no-preference\";\n });\n}\n\nfunction usePrevious(value, initialValue) {\n const previous = shallowRef(initialValue);\n watch(\n toRef(value),\n (_, oldValue) => {\n previous.value = oldValue;\n },\n { flush: \"sync\" }\n );\n return readonly(previous);\n}\n\nconst topVarName = \"--vueuse-safe-area-top\";\nconst rightVarName = \"--vueuse-safe-area-right\";\nconst bottomVarName = \"--vueuse-safe-area-bottom\";\nconst leftVarName = \"--vueuse-safe-area-left\";\nfunction useScreenSafeArea() {\n const top = ref(\"\");\n const right = ref(\"\");\n const bottom = ref(\"\");\n const left = ref(\"\");\n if (isClient) {\n const topCssVar = useCssVar(topVarName);\n const rightCssVar = useCssVar(rightVarName);\n const bottomCssVar = useCssVar(bottomVarName);\n const leftCssVar = useCssVar(leftVarName);\n topCssVar.value = \"env(safe-area-inset-top, 0px)\";\n rightCssVar.value = \"env(safe-area-inset-right, 0px)\";\n bottomCssVar.value = \"env(safe-area-inset-bottom, 0px)\";\n leftCssVar.value = \"env(safe-area-inset-left, 0px)\";\n update();\n useEventListener(\"resize\", useDebounceFn(update));\n }\n function update() {\n top.value = getValue(topVarName);\n right.value = getValue(rightVarName);\n bottom.value = getValue(bottomVarName);\n left.value = getValue(leftVarName);\n }\n return {\n top,\n right,\n bottom,\n left,\n update\n };\n}\nfunction getValue(position) {\n return getComputedStyle(document.documentElement).getPropertyValue(position);\n}\n\nfunction useScriptTag(src, onLoaded = noop, options = {}) {\n const {\n immediate = true,\n manual = false,\n type = \"text/javascript\",\n async = true,\n crossOrigin,\n referrerPolicy,\n noModule,\n defer,\n document = defaultDocument,\n attrs = {}\n } = options;\n const scriptTag = ref(null);\n let _promise = null;\n const loadScript = (waitForScriptLoad) => new Promise((resolve, reject) => {\n const resolveWithElement = (el2) => {\n scriptTag.value = el2;\n resolve(el2);\n return el2;\n };\n if (!document) {\n resolve(false);\n return;\n }\n let shouldAppend = false;\n let el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (!el) {\n el = document.createElement(\"script\");\n el.type = type;\n el.async = async;\n el.src = toValue(src);\n if (defer)\n el.defer = defer;\n if (crossOrigin)\n el.crossOrigin = crossOrigin;\n if (noModule)\n el.noModule = noModule;\n if (referrerPolicy)\n el.referrerPolicy = referrerPolicy;\n Object.entries(attrs).forEach(([name, value]) => el == null ? void 0 : el.setAttribute(name, value));\n shouldAppend = true;\n } else if (el.hasAttribute(\"data-loaded\")) {\n resolveWithElement(el);\n }\n el.addEventListener(\"error\", (event) => reject(event));\n el.addEventListener(\"abort\", (event) => reject(event));\n el.addEventListener(\"load\", () => {\n el.setAttribute(\"data-loaded\", \"true\");\n onLoaded(el);\n resolveWithElement(el);\n });\n if (shouldAppend)\n el = document.head.appendChild(el);\n if (!waitForScriptLoad)\n resolveWithElement(el);\n });\n const load = (waitForScriptLoad = true) => {\n if (!_promise)\n _promise = loadScript(waitForScriptLoad);\n return _promise;\n };\n const unload = () => {\n if (!document)\n return;\n _promise = null;\n if (scriptTag.value)\n scriptTag.value = null;\n const el = document.querySelector(`script[src=\"${toValue(src)}\"]`);\n if (el)\n document.head.removeChild(el);\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnUnmounted(unload);\n return { scriptTag, load, unload };\n}\n\nfunction checkOverflowScroll(ele) {\n const style = window.getComputedStyle(ele);\n if (style.overflowX === \"scroll\" || style.overflowY === \"scroll\" || style.overflowX === \"auto\" && ele.clientWidth < ele.scrollWidth || style.overflowY === \"auto\" && ele.clientHeight < ele.scrollHeight) {\n return true;\n } else {\n const parent = ele.parentNode;\n if (!parent || parent.tagName === \"BODY\")\n return false;\n return checkOverflowScroll(parent);\n }\n}\nfunction preventDefault(rawEvent) {\n const e = rawEvent || window.event;\n const _target = e.target;\n if (checkOverflowScroll(_target))\n return false;\n if (e.touches.length > 1)\n return true;\n if (e.preventDefault)\n e.preventDefault();\n return false;\n}\nconst elInitialOverflow = /* @__PURE__ */ new WeakMap();\nfunction useScrollLock(element, initialState = false) {\n const isLocked = ref(initialState);\n let stopTouchMoveListener = null;\n let initialOverflow = \"\";\n watch(toRef(element), (el) => {\n const target = resolveElement(toValue(el));\n if (target) {\n const ele = target;\n if (!elInitialOverflow.get(ele))\n elInitialOverflow.set(ele, ele.style.overflow);\n if (ele.style.overflow !== \"hidden\")\n initialOverflow = ele.style.overflow;\n if (ele.style.overflow === \"hidden\")\n return isLocked.value = true;\n if (isLocked.value)\n return ele.style.overflow = \"hidden\";\n }\n }, {\n immediate: true\n });\n const lock = () => {\n const el = resolveElement(toValue(element));\n if (!el || isLocked.value)\n return;\n if (isIOS) {\n stopTouchMoveListener = useEventListener(\n el,\n \"touchmove\",\n (e) => {\n preventDefault(e);\n },\n { passive: false }\n );\n }\n el.style.overflow = \"hidden\";\n isLocked.value = true;\n };\n const unlock = () => {\n const el = resolveElement(toValue(element));\n if (!el || !isLocked.value)\n return;\n if (isIOS)\n stopTouchMoveListener == null ? void 0 : stopTouchMoveListener();\n el.style.overflow = initialOverflow;\n elInitialOverflow.delete(el);\n isLocked.value = false;\n };\n tryOnScopeDispose(unlock);\n return computed({\n get() {\n return isLocked.value;\n },\n set(v) {\n if (v)\n lock();\n else unlock();\n }\n });\n}\n\nfunction useSessionStorage(key, initialValue, options = {}) {\n const { window = defaultWindow } = options;\n return useStorage(key, initialValue, window == null ? void 0 : window.sessionStorage, options);\n}\n\nfunction useShare(shareOptions = {}, options = {}) {\n const { navigator = defaultNavigator } = options;\n const _navigator = navigator;\n const isSupported = useSupported(() => _navigator && \"canShare\" in _navigator);\n const share = async (overrideOptions = {}) => {\n if (isSupported.value) {\n const data = {\n ...toValue(shareOptions),\n ...toValue(overrideOptions)\n };\n let granted = true;\n if (data.files && _navigator.canShare)\n granted = _navigator.canShare({ files: data.files });\n if (granted)\n return _navigator.share(data);\n }\n };\n return {\n isSupported,\n share\n };\n}\n\nconst defaultSortFn = (source, compareFn) => source.sort(compareFn);\nconst defaultCompare = (a, b) => a - b;\nfunction useSorted(...args) {\n var _a, _b, _c, _d;\n const [source] = args;\n let compareFn = defaultCompare;\n let options = {};\n if (args.length === 2) {\n if (typeof args[1] === \"object\") {\n options = args[1];\n compareFn = (_a = options.compareFn) != null ? _a : defaultCompare;\n } else {\n compareFn = (_b = args[1]) != null ? _b : defaultCompare;\n }\n } else if (args.length > 2) {\n compareFn = (_c = args[1]) != null ? _c : defaultCompare;\n options = (_d = args[2]) != null ? _d : {};\n }\n const {\n dirty = false,\n sortFn = defaultSortFn\n } = options;\n if (!dirty)\n return computed(() => sortFn([...toValue(source)], compareFn));\n watchEffect(() => {\n const result = sortFn(toValue(source), compareFn);\n if (isRef(source))\n source.value = result;\n else\n source.splice(0, source.length, ...result);\n });\n return source;\n}\n\nfunction useSpeechRecognition(options = {}) {\n const {\n interimResults = true,\n continuous = true,\n maxAlternatives = 1,\n window = defaultWindow\n } = options;\n const lang = toRef(options.lang || \"en-US\");\n const isListening = ref(false);\n const isFinal = ref(false);\n const result = ref(\"\");\n const error = shallowRef(void 0);\n const toggle = (value = !isListening.value) => {\n isListening.value = value;\n };\n const start = () => {\n isListening.value = true;\n };\n const stop = () => {\n isListening.value = false;\n };\n const SpeechRecognition = window && (window.SpeechRecognition || window.webkitSpeechRecognition);\n const isSupported = useSupported(() => SpeechRecognition);\n let recognition;\n if (isSupported.value) {\n recognition = new SpeechRecognition();\n recognition.continuous = continuous;\n recognition.interimResults = interimResults;\n recognition.lang = toValue(lang);\n recognition.maxAlternatives = maxAlternatives;\n recognition.onstart = () => {\n isFinal.value = false;\n };\n watch(lang, (lang2) => {\n if (recognition && !isListening.value)\n recognition.lang = lang2;\n });\n recognition.onresult = (event) => {\n const currentResult = event.results[event.resultIndex];\n const { transcript } = currentResult[0];\n isFinal.value = currentResult.isFinal;\n result.value = transcript;\n error.value = void 0;\n };\n recognition.onerror = (event) => {\n error.value = event;\n };\n recognition.onend = () => {\n isListening.value = false;\n recognition.lang = toValue(lang);\n };\n watch(isListening, () => {\n if (isListening.value)\n recognition.start();\n else\n recognition.stop();\n });\n }\n tryOnScopeDispose(() => {\n isListening.value = false;\n });\n return {\n isSupported,\n isListening,\n isFinal,\n recognition,\n result,\n error,\n toggle,\n start,\n stop\n };\n}\n\nfunction useSpeechSynthesis(text, options = {}) {\n const {\n pitch = 1,\n rate = 1,\n volume = 1,\n window = defaultWindow\n } = options;\n const synth = window && window.speechSynthesis;\n const isSupported = useSupported(() => synth);\n const isPlaying = ref(false);\n const status = ref(\"init\");\n const spokenText = toRef(text || \"\");\n const lang = toRef(options.lang || \"en-US\");\n const error = shallowRef(void 0);\n const toggle = (value = !isPlaying.value) => {\n isPlaying.value = value;\n };\n const bindEventsForUtterance = (utterance2) => {\n utterance2.lang = toValue(lang);\n utterance2.voice = toValue(options.voice) || null;\n utterance2.pitch = toValue(pitch);\n utterance2.rate = toValue(rate);\n utterance2.volume = volume;\n utterance2.onstart = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onpause = () => {\n isPlaying.value = false;\n status.value = \"pause\";\n };\n utterance2.onresume = () => {\n isPlaying.value = true;\n status.value = \"play\";\n };\n utterance2.onend = () => {\n isPlaying.value = false;\n status.value = \"end\";\n };\n utterance2.onerror = (event) => {\n error.value = event;\n };\n };\n const utterance = computed(() => {\n isPlaying.value = false;\n status.value = \"init\";\n const newUtterance = new SpeechSynthesisUtterance(spokenText.value);\n bindEventsForUtterance(newUtterance);\n return newUtterance;\n });\n const speak = () => {\n synth.cancel();\n if (utterance)\n synth.speak(utterance.value);\n };\n const stop = () => {\n synth.cancel();\n isPlaying.value = false;\n };\n if (isSupported.value) {\n bindEventsForUtterance(utterance.value);\n watch(lang, (lang2) => {\n if (utterance.value && !isPlaying.value)\n utterance.value.lang = lang2;\n });\n if (options.voice) {\n watch(options.voice, () => {\n synth.cancel();\n });\n }\n watch(isPlaying, () => {\n if (isPlaying.value)\n synth.resume();\n else\n synth.pause();\n });\n }\n tryOnScopeDispose(() => {\n isPlaying.value = false;\n });\n return {\n isSupported,\n isPlaying,\n status,\n utterance,\n error,\n stop,\n toggle,\n speak\n };\n}\n\nfunction useStepper(steps, initialStep) {\n const stepsRef = ref(steps);\n const stepNames = computed(() => Array.isArray(stepsRef.value) ? stepsRef.value : Object.keys(stepsRef.value));\n const index = ref(stepNames.value.indexOf(initialStep != null ? initialStep : stepNames.value[0]));\n const current = computed(() => at(index.value));\n const isFirst = computed(() => index.value === 0);\n const isLast = computed(() => index.value === stepNames.value.length - 1);\n const next = computed(() => stepNames.value[index.value + 1]);\n const previous = computed(() => stepNames.value[index.value - 1]);\n function at(index2) {\n if (Array.isArray(stepsRef.value))\n return stepsRef.value[index2];\n return stepsRef.value[stepNames.value[index2]];\n }\n function get(step) {\n if (!stepNames.value.includes(step))\n return;\n return at(stepNames.value.indexOf(step));\n }\n function goTo(step) {\n if (stepNames.value.includes(step))\n index.value = stepNames.value.indexOf(step);\n }\n function goToNext() {\n if (isLast.value)\n return;\n index.value++;\n }\n function goToPrevious() {\n if (isFirst.value)\n return;\n index.value--;\n }\n function goBackTo(step) {\n if (isAfter(step))\n goTo(step);\n }\n function isNext(step) {\n return stepNames.value.indexOf(step) === index.value + 1;\n }\n function isPrevious(step) {\n return stepNames.value.indexOf(step) === index.value - 1;\n }\n function isCurrent(step) {\n return stepNames.value.indexOf(step) === index.value;\n }\n function isBefore(step) {\n return index.value < stepNames.value.indexOf(step);\n }\n function isAfter(step) {\n return index.value > stepNames.value.indexOf(step);\n }\n return {\n steps: stepsRef,\n stepNames,\n index,\n current,\n next,\n previous,\n isFirst,\n isLast,\n at,\n get,\n goTo,\n goToNext,\n goToPrevious,\n goBackTo,\n isNext,\n isPrevious,\n isCurrent,\n isBefore,\n isAfter\n };\n}\n\nfunction useStorageAsync(key, initialValue, storage, options = {}) {\n var _a;\n const {\n flush = \"pre\",\n deep = true,\n listenToStorageChanges = true,\n writeDefaults = true,\n mergeDefaults = false,\n shallow,\n window = defaultWindow,\n eventFilter,\n onError = (e) => {\n console.error(e);\n }\n } = options;\n const rawInit = toValue(initialValue);\n const type = guessSerializerType(rawInit);\n const data = (shallow ? shallowRef : ref)(initialValue);\n const serializer = (_a = options.serializer) != null ? _a : StorageSerializers[type];\n if (!storage) {\n try {\n storage = getSSRHandler(\"getDefaultStorageAsync\", () => {\n var _a2;\n return (_a2 = defaultWindow) == null ? void 0 : _a2.localStorage;\n })();\n } catch (e) {\n onError(e);\n }\n }\n async function read(event) {\n if (!storage || event && event.key !== key)\n return;\n try {\n const rawValue = event ? event.newValue : await storage.getItem(key);\n if (rawValue == null) {\n data.value = rawInit;\n if (writeDefaults && rawInit !== null)\n await storage.setItem(key, await serializer.write(rawInit));\n } else if (mergeDefaults) {\n const value = await serializer.read(rawValue);\n if (typeof mergeDefaults === \"function\")\n data.value = mergeDefaults(value, rawInit);\n else if (type === \"object\" && !Array.isArray(value))\n data.value = { ...rawInit, ...value };\n else data.value = value;\n } else {\n data.value = await serializer.read(rawValue);\n }\n } catch (e) {\n onError(e);\n }\n }\n read();\n if (window && listenToStorageChanges)\n useEventListener(window, \"storage\", (e) => Promise.resolve().then(() => read(e)));\n if (storage) {\n watchWithFilter(\n data,\n async () => {\n try {\n if (data.value == null)\n await storage.removeItem(key);\n else\n await storage.setItem(key, await serializer.write(data.value));\n } catch (e) {\n onError(e);\n }\n },\n {\n flush,\n deep,\n eventFilter\n }\n );\n }\n return data;\n}\n\nlet _id = 0;\nfunction useStyleTag(css, options = {}) {\n const isLoaded = ref(false);\n const {\n document = defaultDocument,\n immediate = true,\n manual = false,\n id = `vueuse_styletag_${++_id}`\n } = options;\n const cssRef = ref(css);\n let stop = () => {\n };\n const load = () => {\n if (!document)\n return;\n const el = document.getElementById(id) || document.createElement(\"style\");\n if (!el.isConnected) {\n el.id = id;\n if (options.media)\n el.media = options.media;\n document.head.appendChild(el);\n }\n if (isLoaded.value)\n return;\n stop = watch(\n cssRef,\n (value) => {\n el.textContent = value;\n },\n { immediate: true }\n );\n isLoaded.value = true;\n };\n const unload = () => {\n if (!document || !isLoaded.value)\n return;\n stop();\n document.head.removeChild(document.getElementById(id));\n isLoaded.value = false;\n };\n if (immediate && !manual)\n tryOnMounted(load);\n if (!manual)\n tryOnScopeDispose(unload);\n return {\n id,\n css: cssRef,\n unload,\n load,\n isLoaded: readonly(isLoaded)\n };\n}\n\nfunction useSwipe(target, options = {}) {\n const {\n threshold = 50,\n onSwipe,\n onSwipeEnd,\n onSwipeStart,\n passive = true,\n window = defaultWindow\n } = options;\n const coordsStart = reactive({ x: 0, y: 0 });\n const coordsEnd = reactive({ x: 0, y: 0 });\n const diffX = computed(() => coordsStart.x - coordsEnd.x);\n const diffY = computed(() => coordsStart.y - coordsEnd.y);\n const { max, abs } = Math;\n const isThresholdExceeded = computed(() => max(abs(diffX.value), abs(diffY.value)) >= threshold);\n const isSwiping = ref(false);\n const direction = computed(() => {\n if (!isThresholdExceeded.value)\n return \"none\";\n if (abs(diffX.value) > abs(diffY.value)) {\n return diffX.value > 0 ? \"left\" : \"right\";\n } else {\n return diffY.value > 0 ? \"up\" : \"down\";\n }\n });\n const getTouchEventCoords = (e) => [e.touches[0].clientX, e.touches[0].clientY];\n const updateCoordsStart = (x, y) => {\n coordsStart.x = x;\n coordsStart.y = y;\n };\n const updateCoordsEnd = (x, y) => {\n coordsEnd.x = x;\n coordsEnd.y = y;\n };\n let listenerOptions;\n const isPassiveEventSupported = checkPassiveEventSupport(window == null ? void 0 : window.document);\n if (!passive)\n listenerOptions = isPassiveEventSupported ? { passive: false, capture: true } : { capture: true };\n else\n listenerOptions = isPassiveEventSupported ? { passive: true } : { capture: false };\n const onTouchEnd = (e) => {\n if (isSwiping.value)\n onSwipeEnd == null ? void 0 : onSwipeEnd(e, direction.value);\n isSwiping.value = false;\n };\n const stops = [\n useEventListener(target, \"touchstart\", (e) => {\n if (e.touches.length !== 1)\n return;\n if (listenerOptions.capture && !listenerOptions.passive)\n e.preventDefault();\n const [x, y] = getTouchEventCoords(e);\n updateCoordsStart(x, y);\n updateCoordsEnd(x, y);\n onSwipeStart == null ? void 0 : onSwipeStart(e);\n }, listenerOptions),\n useEventListener(target, \"touchmove\", (e) => {\n if (e.touches.length !== 1)\n return;\n const [x, y] = getTouchEventCoords(e);\n updateCoordsEnd(x, y);\n if (!isSwiping.value && isThresholdExceeded.value)\n isSwiping.value = true;\n if (isSwiping.value)\n onSwipe == null ? void 0 : onSwipe(e);\n }, listenerOptions),\n useEventListener(target, [\"touchend\", \"touchcancel\"], onTouchEnd, listenerOptions)\n ];\n const stop = () => stops.forEach((s) => s());\n return {\n isPassiveEventSupported,\n isSwiping,\n direction,\n coordsStart,\n coordsEnd,\n lengthX: diffX,\n lengthY: diffY,\n stop\n };\n}\nfunction checkPassiveEventSupport(document) {\n if (!document)\n return false;\n let supportsPassive = false;\n const optionsBlock = {\n get passive() {\n supportsPassive = true;\n return false;\n }\n };\n document.addEventListener(\"x\", noop, optionsBlock);\n document.removeEventListener(\"x\", noop);\n return supportsPassive;\n}\n\nfunction useTemplateRefsList() {\n const refs = ref([]);\n refs.value.set = (el) => {\n if (el)\n refs.value.push(el);\n };\n onBeforeUpdate(() => {\n refs.value.length = 0;\n });\n return refs;\n}\n\nfunction useTextDirection(options = {}) {\n const {\n document = defaultDocument,\n selector = \"html\",\n observe = false,\n initialValue = \"ltr\"\n } = options;\n function getValue() {\n var _a, _b;\n return (_b = (_a = document == null ? void 0 : document.querySelector(selector)) == null ? void 0 : _a.getAttribute(\"dir\")) != null ? _b : initialValue;\n }\n const dir = ref(getValue());\n tryOnMounted(() => dir.value = getValue());\n if (observe && document) {\n useMutationObserver(\n document.querySelector(selector),\n () => dir.value = getValue(),\n { attributes: true }\n );\n }\n return computed({\n get() {\n return dir.value;\n },\n set(v) {\n var _a, _b;\n dir.value = v;\n if (!document)\n return;\n if (dir.value)\n (_a = document.querySelector(selector)) == null ? void 0 : _a.setAttribute(\"dir\", dir.value);\n else\n (_b = document.querySelector(selector)) == null ? void 0 : _b.removeAttribute(\"dir\");\n }\n });\n}\n\nfunction getRangesFromSelection(selection) {\n var _a;\n const rangeCount = (_a = selection.rangeCount) != null ? _a : 0;\n return Array.from({ length: rangeCount }, (_, i) => selection.getRangeAt(i));\n}\nfunction useTextSelection(options = {}) {\n const {\n window = defaultWindow\n } = options;\n const selection = ref(null);\n const text = computed(() => {\n var _a, _b;\n return (_b = (_a = selection.value) == null ? void 0 : _a.toString()) != null ? _b : \"\";\n });\n const ranges = computed(() => selection.value ? getRangesFromSelection(selection.value) : []);\n const rects = computed(() => ranges.value.map((range) => range.getBoundingClientRect()));\n function onSelectionChange() {\n selection.value = null;\n if (window)\n selection.value = window.getSelection();\n }\n if (window)\n useEventListener(window.document, \"selectionchange\", onSelectionChange);\n return {\n text,\n rects,\n ranges,\n selection\n };\n}\n\nfunction useTextareaAutosize(options) {\n var _a;\n const textarea = ref(options == null ? void 0 : options.element);\n const input = ref(options == null ? void 0 : options.input);\n const styleProp = (_a = options == null ? void 0 : options.styleProp) != null ? _a : \"height\";\n const textareaScrollHeight = ref(1);\n const textareaOldWidth = ref(0);\n function triggerResize() {\n var _a2;\n if (!textarea.value)\n return;\n let height = \"\";\n textarea.value.style[styleProp] = \"1px\";\n textareaScrollHeight.value = (_a2 = textarea.value) == null ? void 0 : _a2.scrollHeight;\n const _styleTarget = toValue(options == null ? void 0 : options.styleTarget);\n if (_styleTarget)\n _styleTarget.style[styleProp] = `${textareaScrollHeight.value}px`;\n else\n height = `${textareaScrollHeight.value}px`;\n textarea.value.style[styleProp] = height;\n }\n watch([input, textarea], () => nextTick(triggerResize), { immediate: true });\n watch(textareaScrollHeight, () => {\n var _a2;\n return (_a2 = options == null ? void 0 : options.onResize) == null ? void 0 : _a2.call(options);\n });\n useResizeObserver(textarea, ([{ contentRect }]) => {\n if (textareaOldWidth.value === contentRect.width)\n return;\n textareaOldWidth.value = contentRect.width;\n triggerResize();\n });\n if (options == null ? void 0 : options.watch)\n watch(options.watch, triggerResize, { immediate: true, deep: true });\n return {\n textarea,\n input,\n triggerResize\n };\n}\n\nfunction useThrottledRefHistory(source, options = {}) {\n const { throttle = 200, trailing = true } = options;\n const filter = throttleFilter(throttle, trailing);\n const history = useRefHistory(source, { ...options, eventFilter: filter });\n return {\n ...history\n };\n}\n\nconst DEFAULT_UNITS = [\n { max: 6e4, value: 1e3, name: \"second\" },\n { max: 276e4, value: 6e4, name: \"minute\" },\n { max: 72e6, value: 36e5, name: \"hour\" },\n { max: 5184e5, value: 864e5, name: \"day\" },\n { max: 24192e5, value: 6048e5, name: \"week\" },\n { max: 28512e6, value: 2592e6, name: \"month\" },\n { max: Number.POSITIVE_INFINITY, value: 31536e6, name: \"year\" }\n];\nconst DEFAULT_MESSAGES = {\n justNow: \"just now\",\n past: (n) => n.match(/\\d/) ? `${n} ago` : n,\n future: (n) => n.match(/\\d/) ? `in ${n}` : n,\n month: (n, past) => n === 1 ? past ? \"last month\" : \"next month\" : `${n} month${n > 1 ? \"s\" : \"\"}`,\n year: (n, past) => n === 1 ? past ? \"last year\" : \"next year\" : `${n} year${n > 1 ? \"s\" : \"\"}`,\n day: (n, past) => n === 1 ? past ? \"yesterday\" : \"tomorrow\" : `${n} day${n > 1 ? \"s\" : \"\"}`,\n week: (n, past) => n === 1 ? past ? \"last week\" : \"next week\" : `${n} week${n > 1 ? \"s\" : \"\"}`,\n hour: (n) => `${n} hour${n > 1 ? \"s\" : \"\"}`,\n minute: (n) => `${n} minute${n > 1 ? \"s\" : \"\"}`,\n second: (n) => `${n} second${n > 1 ? \"s\" : \"\"}`,\n invalid: \"\"\n};\nfunction DEFAULT_FORMATTER(date) {\n return date.toISOString().slice(0, 10);\n}\nfunction useTimeAgo(time, options = {}) {\n const {\n controls: exposeControls = false,\n updateInterval = 3e4\n } = options;\n const { now, ...controls } = useNow({ interval: updateInterval, controls: true });\n const timeAgo = computed(() => formatTimeAgo(new Date(toValue(time)), options, toValue(now)));\n if (exposeControls) {\n return {\n timeAgo,\n ...controls\n };\n } else {\n return timeAgo;\n }\n}\nfunction formatTimeAgo(from, options = {}, now = Date.now()) {\n var _a;\n const {\n max,\n messages = DEFAULT_MESSAGES,\n fullDateFormatter = DEFAULT_FORMATTER,\n units = DEFAULT_UNITS,\n showSecond = false,\n rounding = \"round\"\n } = options;\n const roundFn = typeof rounding === \"number\" ? (n) => +n.toFixed(rounding) : Math[rounding];\n const diff = +now - +from;\n const absDiff = Math.abs(diff);\n function getValue(diff2, unit) {\n return roundFn(Math.abs(diff2) / unit.value);\n }\n function format(diff2, unit) {\n const val = getValue(diff2, unit);\n const past = diff2 > 0;\n const str = applyFormat(unit.name, val, past);\n return applyFormat(past ? \"past\" : \"future\", str, past);\n }\n function applyFormat(name, val, isPast) {\n const formatter = messages[name];\n if (typeof formatter === \"function\")\n return formatter(val, isPast);\n return formatter.replace(\"{0}\", val.toString());\n }\n if (absDiff < 6e4 && !showSecond)\n return messages.justNow;\n if (typeof max === \"number\" && absDiff > max)\n return fullDateFormatter(new Date(from));\n if (typeof max === \"string\") {\n const unitMax = (_a = units.find((i) => i.name === max)) == null ? void 0 : _a.max;\n if (unitMax && absDiff > unitMax)\n return fullDateFormatter(new Date(from));\n }\n for (const [idx, unit] of units.entries()) {\n const val = getValue(diff, unit);\n if (val <= 0 && units[idx - 1])\n return format(diff, units[idx - 1]);\n if (absDiff < unit.max)\n return format(diff, unit);\n }\n return messages.invalid;\n}\n\nfunction useTimeoutPoll(fn, interval, timeoutPollOptions) {\n const { start } = useTimeoutFn(loop, interval, { immediate: false });\n const isActive = ref(false);\n async function loop() {\n if (!isActive.value)\n return;\n await fn();\n start();\n }\n function resume() {\n if (!isActive.value) {\n isActive.value = true;\n loop();\n }\n }\n function pause() {\n isActive.value = false;\n }\n if (timeoutPollOptions == null ? void 0 : timeoutPollOptions.immediate)\n resume();\n tryOnScopeDispose(pause);\n return {\n isActive,\n pause,\n resume\n };\n}\n\nfunction useTimestamp(options = {}) {\n const {\n controls: exposeControls = false,\n offset = 0,\n immediate = true,\n interval = \"requestAnimationFrame\",\n callback\n } = options;\n const ts = ref(timestamp() + offset);\n const update = () => ts.value = timestamp() + offset;\n const cb = callback ? () => {\n update();\n callback(ts.value);\n } : update;\n const controls = interval === \"requestAnimationFrame\" ? useRafFn(cb, { immediate }) : useIntervalFn(cb, interval, { immediate });\n if (exposeControls) {\n return {\n timestamp: ts,\n ...controls\n };\n } else {\n return ts;\n }\n}\n\nfunction useTitle(newTitle = null, options = {}) {\n var _a, _b, _c;\n const {\n document = defaultDocument,\n restoreOnUnmount = (t) => t\n } = options;\n const originalTitle = (_a = document == null ? void 0 : document.title) != null ? _a : \"\";\n const title = toRef((_b = newTitle != null ? newTitle : document == null ? void 0 : document.title) != null ? _b : null);\n const isReadonly = newTitle && typeof newTitle === \"function\";\n function format(t) {\n if (!(\"titleTemplate\" in options))\n return t;\n const template = options.titleTemplate || \"%s\";\n return typeof template === \"function\" ? template(t) : toValue(template).replace(/%s/g, t);\n }\n watch(\n title,\n (t, o) => {\n if (t !== o && document)\n document.title = format(typeof t === \"string\" ? t : \"\");\n },\n { immediate: true }\n );\n if (options.observe && !options.titleTemplate && document && !isReadonly) {\n useMutationObserver(\n (_c = document.head) == null ? void 0 : _c.querySelector(\"title\"),\n () => {\n if (document && document.title !== title.value)\n title.value = format(document.title);\n },\n { childList: true }\n );\n }\n tryOnBeforeUnmount(() => {\n if (restoreOnUnmount) {\n const restoredTitle = restoreOnUnmount(originalTitle, title.value || \"\");\n if (restoredTitle != null && document)\n document.title = restoredTitle;\n }\n });\n return title;\n}\n\nconst _TransitionPresets = {\n easeInSine: [0.12, 0, 0.39, 0],\n easeOutSine: [0.61, 1, 0.88, 1],\n easeInOutSine: [0.37, 0, 0.63, 1],\n easeInQuad: [0.11, 0, 0.5, 0],\n easeOutQuad: [0.5, 1, 0.89, 1],\n easeInOutQuad: [0.45, 0, 0.55, 1],\n easeInCubic: [0.32, 0, 0.67, 0],\n easeOutCubic: [0.33, 1, 0.68, 1],\n easeInOutCubic: [0.65, 0, 0.35, 1],\n easeInQuart: [0.5, 0, 0.75, 0],\n easeOutQuart: [0.25, 1, 0.5, 1],\n easeInOutQuart: [0.76, 0, 0.24, 1],\n easeInQuint: [0.64, 0, 0.78, 0],\n easeOutQuint: [0.22, 1, 0.36, 1],\n easeInOutQuint: [0.83, 0, 0.17, 1],\n easeInExpo: [0.7, 0, 0.84, 0],\n easeOutExpo: [0.16, 1, 0.3, 1],\n easeInOutExpo: [0.87, 0, 0.13, 1],\n easeInCirc: [0.55, 0, 1, 0.45],\n easeOutCirc: [0, 0.55, 0.45, 1],\n easeInOutCirc: [0.85, 0, 0.15, 1],\n easeInBack: [0.36, 0, 0.66, -0.56],\n easeOutBack: [0.34, 1.56, 0.64, 1],\n easeInOutBack: [0.68, -0.6, 0.32, 1.6]\n};\nconst TransitionPresets = /* @__PURE__ */ Object.assign({}, { linear: identity }, _TransitionPresets);\nfunction createEasingFunction([p0, p1, p2, p3]) {\n const a = (a1, a2) => 1 - 3 * a2 + 3 * a1;\n const b = (a1, a2) => 3 * a2 - 6 * a1;\n const c = (a1) => 3 * a1;\n const calcBezier = (t, a1, a2) => ((a(a1, a2) * t + b(a1, a2)) * t + c(a1)) * t;\n const getSlope = (t, a1, a2) => 3 * a(a1, a2) * t * t + 2 * b(a1, a2) * t + c(a1);\n const getTforX = (x) => {\n let aGuessT = x;\n for (let i = 0; i < 4; ++i) {\n const currentSlope = getSlope(aGuessT, p0, p2);\n if (currentSlope === 0)\n return aGuessT;\n const currentX = calcBezier(aGuessT, p0, p2) - x;\n aGuessT -= currentX / currentSlope;\n }\n return aGuessT;\n };\n return (x) => p0 === p1 && p2 === p3 ? x : calcBezier(getTforX(x), p1, p3);\n}\nfunction lerp(a, b, alpha) {\n return a + alpha * (b - a);\n}\nfunction toVec(t) {\n return (typeof t === \"number\" ? [t] : t) || [];\n}\nfunction executeTransition(source, from, to, options = {}) {\n var _a, _b;\n const fromVal = toValue(from);\n const toVal = toValue(to);\n const v1 = toVec(fromVal);\n const v2 = toVec(toVal);\n const duration = (_a = toValue(options.duration)) != null ? _a : 1e3;\n const startedAt = Date.now();\n const endAt = Date.now() + duration;\n const trans = typeof options.transition === \"function\" ? options.transition : (_b = toValue(options.transition)) != null ? _b : identity;\n const ease = typeof trans === \"function\" ? trans : createEasingFunction(trans);\n return new Promise((resolve) => {\n source.value = fromVal;\n const tick = () => {\n var _a2;\n if ((_a2 = options.abort) == null ? void 0 : _a2.call(options)) {\n resolve();\n return;\n }\n const now = Date.now();\n const alpha = ease((now - startedAt) / duration);\n const arr = toVec(source.value).map((n, i) => lerp(v1[i], v2[i], alpha));\n if (Array.isArray(source.value))\n source.value = arr.map((n, i) => {\n var _a3, _b2;\n return lerp((_a3 = v1[i]) != null ? _a3 : 0, (_b2 = v2[i]) != null ? _b2 : 0, alpha);\n });\n else if (typeof source.value === \"number\")\n source.value = arr[0];\n if (now < endAt) {\n requestAnimationFrame(tick);\n } else {\n source.value = toVal;\n resolve();\n }\n };\n tick();\n });\n}\nfunction useTransition(source, options = {}) {\n let currentId = 0;\n const sourceVal = () => {\n const v = toValue(source);\n return typeof v === \"number\" ? v : v.map(toValue);\n };\n const outputRef = ref(sourceVal());\n watch(sourceVal, async (to) => {\n var _a, _b;\n if (toValue(options.disabled))\n return;\n const id = ++currentId;\n if (options.delay)\n await promiseTimeout(toValue(options.delay));\n if (id !== currentId)\n return;\n const toVal = Array.isArray(to) ? to.map(toValue) : toValue(to);\n (_a = options.onStarted) == null ? void 0 : _a.call(options);\n await executeTransition(outputRef, outputRef.value, toVal, {\n ...options,\n abort: () => {\n var _a2;\n return id !== currentId || ((_a2 = options.abort) == null ? void 0 : _a2.call(options));\n }\n });\n (_b = options.onFinished) == null ? void 0 : _b.call(options);\n }, { deep: true });\n watch(() => toValue(options.disabled), (disabled) => {\n if (disabled) {\n currentId++;\n outputRef.value = sourceVal();\n }\n });\n tryOnScopeDispose(() => {\n currentId++;\n });\n return computed(() => toValue(options.disabled) ? sourceVal() : outputRef.value);\n}\n\nfunction useUrlSearchParams(mode = \"history\", options = {}) {\n const {\n initialValue = {},\n removeNullishValues = true,\n removeFalsyValues = false,\n write: enableWrite = true,\n window = defaultWindow\n } = options;\n if (!window)\n return reactive(initialValue);\n const state = reactive({});\n function getRawParams() {\n if (mode === \"history\") {\n return window.location.search || \"\";\n } else if (mode === \"hash\") {\n const hash = window.location.hash || \"\";\n const index = hash.indexOf(\"?\");\n return index > 0 ? hash.slice(index) : \"\";\n } else {\n return (window.location.hash || \"\").replace(/^#/, \"\");\n }\n }\n function constructQuery(params) {\n const stringified = params.toString();\n if (mode === \"history\")\n return `${stringified ? `?${stringified}` : \"\"}${window.location.hash || \"\"}`;\n if (mode === \"hash-params\")\n return `${window.location.search || \"\"}${stringified ? `#${stringified}` : \"\"}`;\n const hash = window.location.hash || \"#\";\n const index = hash.indexOf(\"?\");\n if (index > 0)\n return `${hash.slice(0, index)}${stringified ? `?${stringified}` : \"\"}`;\n return `${hash}${stringified ? `?${stringified}` : \"\"}`;\n }\n function read() {\n return new URLSearchParams(getRawParams());\n }\n function updateState(params) {\n const unusedKeys = new Set(Object.keys(state));\n for (const key of params.keys()) {\n const paramsForKey = params.getAll(key);\n state[key] = paramsForKey.length > 1 ? paramsForKey : params.get(key) || \"\";\n unusedKeys.delete(key);\n }\n Array.from(unusedKeys).forEach((key) => delete state[key]);\n }\n const { pause, resume } = pausableWatch(\n state,\n () => {\n const params = new URLSearchParams(\"\");\n Object.keys(state).forEach((key) => {\n const mapEntry = state[key];\n if (Array.isArray(mapEntry))\n mapEntry.forEach((value) => params.append(key, value));\n else if (removeNullishValues && mapEntry == null)\n params.delete(key);\n else if (removeFalsyValues && !mapEntry)\n params.delete(key);\n else\n params.set(key, mapEntry);\n });\n write(params);\n },\n { deep: true }\n );\n function write(params, shouldUpdate) {\n pause();\n if (shouldUpdate)\n updateState(params);\n window.history.replaceState(\n window.history.state,\n window.document.title,\n window.location.pathname + constructQuery(params)\n );\n resume();\n }\n function onChanged() {\n if (!enableWrite)\n return;\n write(read(), true);\n }\n useEventListener(window, \"popstate\", onChanged, false);\n if (mode !== \"history\")\n useEventListener(window, \"hashchange\", onChanged, false);\n const initial = read();\n if (initial.keys().next().value)\n updateState(initial);\n else\n Object.assign(state, initialValue);\n return state;\n}\n\nfunction useUserMedia(options = {}) {\n var _a, _b;\n const enabled = ref((_a = options.enabled) != null ? _a : false);\n const autoSwitch = ref((_b = options.autoSwitch) != null ? _b : true);\n const constraints = ref(options.constraints);\n const { navigator = defaultNavigator } = options;\n const isSupported = useSupported(() => {\n var _a2;\n return (_a2 = navigator == null ? void 0 : navigator.mediaDevices) == null ? void 0 : _a2.getUserMedia;\n });\n const stream = shallowRef();\n function getDeviceOptions(type) {\n switch (type) {\n case \"video\": {\n if (constraints.value)\n return constraints.value.video || false;\n break;\n }\n case \"audio\": {\n if (constraints.value)\n return constraints.value.audio || false;\n break;\n }\n }\n }\n async function _start() {\n if (!isSupported.value || stream.value)\n return;\n stream.value = await navigator.mediaDevices.getUserMedia({\n video: getDeviceOptions(\"video\"),\n audio: getDeviceOptions(\"audio\")\n });\n return stream.value;\n }\n function _stop() {\n var _a2;\n (_a2 = stream.value) == null ? void 0 : _a2.getTracks().forEach((t) => t.stop());\n stream.value = void 0;\n }\n function stop() {\n _stop();\n enabled.value = false;\n }\n async function start() {\n await _start();\n if (stream.value)\n enabled.value = true;\n return stream.value;\n }\n async function restart() {\n _stop();\n return await start();\n }\n watch(\n enabled,\n (v) => {\n if (v)\n _start();\n else _stop();\n },\n { immediate: true }\n );\n watch(\n constraints,\n () => {\n if (autoSwitch.value && stream.value)\n restart();\n },\n { immediate: true }\n );\n tryOnScopeDispose(() => {\n stop();\n });\n return {\n isSupported,\n stream,\n start,\n stop,\n restart,\n constraints,\n enabled,\n autoSwitch\n };\n}\n\nfunction useVModel(props, key, emit, options = {}) {\n var _a, _b, _c, _d, _e;\n const {\n clone = false,\n passive = false,\n eventName,\n deep = false,\n defaultValue,\n shouldEmit\n } = options;\n const vm = getCurrentInstance();\n const _emit = emit || (vm == null ? void 0 : vm.emit) || ((_a = vm == null ? void 0 : vm.$emit) == null ? void 0 : _a.bind(vm)) || ((_c = (_b = vm == null ? void 0 : vm.proxy) == null ? void 0 : _b.$emit) == null ? void 0 : _c.bind(vm == null ? void 0 : vm.proxy));\n let event = eventName;\n if (!key) {\n if (isVue2) {\n const modelOptions = (_e = (_d = vm == null ? void 0 : vm.proxy) == null ? void 0 : _d.$options) == null ? void 0 : _e.model;\n key = (modelOptions == null ? void 0 : modelOptions.value) || \"value\";\n if (!eventName)\n event = (modelOptions == null ? void 0 : modelOptions.event) || \"input\";\n } else {\n key = \"modelValue\";\n }\n }\n event = event || `update:${key.toString()}`;\n const cloneFn = (val) => !clone ? val : typeof clone === \"function\" ? clone(val) : cloneFnJSON(val);\n const getValue = () => isDef(props[key]) ? cloneFn(props[key]) : defaultValue;\n const triggerEmit = (value) => {\n if (shouldEmit) {\n if (shouldEmit(value))\n _emit(event, value);\n } else {\n _emit(event, value);\n }\n };\n if (passive) {\n const initialValue = getValue();\n const proxy = ref(initialValue);\n let isUpdating = false;\n watch(\n () => props[key],\n (v) => {\n if (!isUpdating) {\n isUpdating = true;\n proxy.value = cloneFn(v);\n nextTick(() => isUpdating = false);\n }\n }\n );\n watch(\n proxy,\n (v) => {\n if (!isUpdating && (v !== props[key] || deep))\n triggerEmit(v);\n },\n { deep }\n );\n return proxy;\n } else {\n return computed({\n get() {\n return getValue();\n },\n set(value) {\n triggerEmit(value);\n }\n });\n }\n}\n\nfunction useVModels(props, emit, options = {}) {\n const ret = {};\n for (const key in props) {\n ret[key] = useVModel(\n props,\n key,\n emit,\n options\n );\n }\n return ret;\n}\n\nfunction useVibrate(options) {\n const {\n pattern = [],\n interval = 0,\n navigator = defaultNavigator\n } = options || {};\n const isSupported = useSupported(() => typeof navigator !== \"undefined\" && \"vibrate\" in navigator);\n const patternRef = toRef(pattern);\n let intervalControls;\n const vibrate = (pattern2 = patternRef.value) => {\n if (isSupported.value)\n navigator.vibrate(pattern2);\n };\n const stop = () => {\n if (isSupported.value)\n navigator.vibrate(0);\n intervalControls == null ? void 0 : intervalControls.pause();\n };\n if (interval > 0) {\n intervalControls = useIntervalFn(\n vibrate,\n interval,\n {\n immediate: false,\n immediateCallback: false\n }\n );\n }\n return {\n isSupported,\n pattern,\n intervalControls,\n vibrate,\n stop\n };\n}\n\nfunction useVirtualList(list, options) {\n const { containerStyle, wrapperProps, scrollTo, calculateRange, currentList, containerRef } = \"itemHeight\" in options ? useVerticalVirtualList(options, list) : useHorizontalVirtualList(options, list);\n return {\n list: currentList,\n scrollTo,\n containerProps: {\n ref: containerRef,\n onScroll: () => {\n calculateRange();\n },\n style: containerStyle\n },\n wrapperProps\n };\n}\nfunction useVirtualListResources(list) {\n const containerRef = ref(null);\n const size = useElementSize(containerRef);\n const currentList = ref([]);\n const source = shallowRef(list);\n const state = ref({ start: 0, end: 10 });\n return { state, source, currentList, size, containerRef };\n}\nfunction createGetViewCapacity(state, source, itemSize) {\n return (containerSize) => {\n if (typeof itemSize === \"number\")\n return Math.ceil(containerSize / itemSize);\n const { start = 0 } = state.value;\n let sum = 0;\n let capacity = 0;\n for (let i = start; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n capacity = i;\n if (sum > containerSize)\n break;\n }\n return capacity - start;\n };\n}\nfunction createGetOffset(source, itemSize) {\n return (scrollDirection) => {\n if (typeof itemSize === \"number\")\n return Math.floor(scrollDirection / itemSize) + 1;\n let sum = 0;\n let offset = 0;\n for (let i = 0; i < source.value.length; i++) {\n const size = itemSize(i);\n sum += size;\n if (sum >= scrollDirection) {\n offset = i;\n break;\n }\n }\n return offset + 1;\n };\n}\nfunction createCalculateRange(type, overscan, getOffset, getViewCapacity, { containerRef, state, currentList, source }) {\n return () => {\n const element = containerRef.value;\n if (element) {\n const offset = getOffset(type === \"vertical\" ? element.scrollTop : element.scrollLeft);\n const viewCapacity = getViewCapacity(type === \"vertical\" ? element.clientHeight : element.clientWidth);\n const from = offset - overscan;\n const to = offset + viewCapacity + overscan;\n state.value = {\n start: from < 0 ? 0 : from,\n end: to > source.value.length ? source.value.length : to\n };\n currentList.value = source.value.slice(state.value.start, state.value.end).map((ele, index) => ({\n data: ele,\n index: index + state.value.start\n }));\n }\n };\n}\nfunction createGetDistance(itemSize, source) {\n return (index) => {\n if (typeof itemSize === \"number\") {\n const size2 = index * itemSize;\n return size2;\n }\n const size = source.value.slice(0, index).reduce((sum, _, i) => sum + itemSize(i), 0);\n return size;\n };\n}\nfunction useWatchForSizes(size, list, containerRef, calculateRange) {\n watch([size.width, size.height, list, containerRef], () => {\n calculateRange();\n });\n}\nfunction createComputedTotalSize(itemSize, source) {\n return computed(() => {\n if (typeof itemSize === \"number\")\n return source.value.length * itemSize;\n return source.value.reduce((sum, _, index) => sum + itemSize(index), 0);\n });\n}\nconst scrollToDictionaryForElementScrollKey = {\n horizontal: \"scrollLeft\",\n vertical: \"scrollTop\"\n};\nfunction createScrollTo(type, calculateRange, getDistance, containerRef) {\n return (index) => {\n if (containerRef.value) {\n containerRef.value[scrollToDictionaryForElementScrollKey[type]] = getDistance(index);\n calculateRange();\n }\n };\n}\nfunction useHorizontalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowX: \"auto\" };\n const { itemWidth, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemWidth);\n const getOffset = createGetOffset(source, itemWidth);\n const calculateRange = createCalculateRange(\"horizontal\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceLeft = createGetDistance(itemWidth, source);\n const offsetLeft = computed(() => getDistanceLeft(state.value.start));\n const totalWidth = createComputedTotalSize(itemWidth, source);\n useWatchForSizes(size, list, containerRef, calculateRange);\n const scrollTo = createScrollTo(\"horizontal\", calculateRange, getDistanceLeft, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n height: \"100%\",\n width: `${totalWidth.value - offsetLeft.value}px`,\n marginLeft: `${offsetLeft.value}px`,\n display: \"flex\"\n }\n };\n });\n return {\n scrollTo,\n calculateRange,\n wrapperProps,\n containerStyle,\n currentList,\n containerRef\n };\n}\nfunction useVerticalVirtualList(options, list) {\n const resources = useVirtualListResources(list);\n const { state, source, currentList, size, containerRef } = resources;\n const containerStyle = { overflowY: \"auto\" };\n const { itemHeight, overscan = 5 } = options;\n const getViewCapacity = createGetViewCapacity(state, source, itemHeight);\n const getOffset = createGetOffset(source, itemHeight);\n const calculateRange = createCalculateRange(\"vertical\", overscan, getOffset, getViewCapacity, resources);\n const getDistanceTop = createGetDistance(itemHeight, source);\n const offsetTop = computed(() => getDistanceTop(state.value.start));\n const totalHeight = createComputedTotalSize(itemHeight, source);\n useWatchForSizes(size, list, containerRef, calculateRange);\n const scrollTo = createScrollTo(\"vertical\", calculateRange, getDistanceTop, containerRef);\n const wrapperProps = computed(() => {\n return {\n style: {\n width: \"100%\",\n height: `${totalHeight.value - offsetTop.value}px`,\n marginTop: `${offsetTop.value}px`\n }\n };\n });\n return {\n calculateRange,\n scrollTo,\n containerStyle,\n wrapperProps,\n currentList,\n containerRef\n };\n}\n\nfunction useWakeLock(options = {}) {\n const {\n navigator = defaultNavigator,\n document = defaultDocument\n } = options;\n const requestedType = ref(false);\n const sentinel = shallowRef(null);\n const documentVisibility = useDocumentVisibility({ document });\n const isSupported = useSupported(() => navigator && \"wakeLock\" in navigator);\n const isActive = computed(() => !!sentinel.value && documentVisibility.value === \"visible\");\n if (isSupported.value) {\n useEventListener(sentinel, \"release\", () => {\n var _a, _b;\n requestedType.value = (_b = (_a = sentinel.value) == null ? void 0 : _a.type) != null ? _b : false;\n });\n whenever(\n () => documentVisibility.value === \"visible\" && (document == null ? void 0 : document.visibilityState) === \"visible\" && requestedType.value,\n (type) => {\n requestedType.value = false;\n forceRequest(type);\n }\n );\n }\n async function forceRequest(type) {\n var _a;\n await ((_a = sentinel.value) == null ? void 0 : _a.release());\n sentinel.value = isSupported.value ? await navigator.wakeLock.request(type) : null;\n }\n async function request(type) {\n if (documentVisibility.value === \"visible\")\n await forceRequest(type);\n else\n requestedType.value = type;\n }\n async function release() {\n requestedType.value = false;\n const s = sentinel.value;\n sentinel.value = null;\n await (s == null ? void 0 : s.release());\n }\n return {\n sentinel,\n isSupported,\n isActive,\n request,\n forceRequest,\n release\n };\n}\n\nfunction useWebNotification(options = {}) {\n const {\n window = defaultWindow,\n requestPermissions: _requestForPermissions = true\n } = options;\n const defaultWebNotificationOptions = options;\n const isSupported = useSupported(() => {\n if (!window || !(\"Notification\" in window))\n return false;\n try {\n new Notification(\"\");\n } catch (e) {\n return false;\n }\n return true;\n });\n const permissionGranted = ref(isSupported.value && \"permission\" in Notification && Notification.permission === \"granted\");\n const notification = ref(null);\n const ensurePermissions = async () => {\n if (!isSupported.value)\n return;\n if (!permissionGranted.value && Notification.permission !== \"denied\") {\n const result = await Notification.requestPermission();\n if (result === \"granted\")\n permissionGranted.value = true;\n }\n return permissionGranted.value;\n };\n const { on: onClick, trigger: clickTrigger } = createEventHook();\n const { on: onShow, trigger: showTrigger } = createEventHook();\n const { on: onError, trigger: errorTrigger } = createEventHook();\n const { on: onClose, trigger: closeTrigger } = createEventHook();\n const show = async (overrides) => {\n if (!isSupported.value || !permissionGranted.value)\n return;\n const options2 = Object.assign({}, defaultWebNotificationOptions, overrides);\n notification.value = new Notification(options2.title || \"\", options2);\n notification.value.onclick = clickTrigger;\n notification.value.onshow = showTrigger;\n notification.value.onerror = errorTrigger;\n notification.value.onclose = closeTrigger;\n return notification.value;\n };\n const close = () => {\n if (notification.value)\n notification.value.close();\n notification.value = null;\n };\n if (_requestForPermissions)\n tryOnMounted(ensurePermissions);\n tryOnScopeDispose(close);\n if (isSupported.value && window) {\n const document = window.document;\n useEventListener(document, \"visibilitychange\", (e) => {\n e.preventDefault();\n if (document.visibilityState === \"visible\") {\n close();\n }\n });\n }\n return {\n isSupported,\n notification,\n ensurePermissions,\n permissionGranted,\n show,\n close,\n onClick,\n onShow,\n onError,\n onClose\n };\n}\n\nconst DEFAULT_PING_MESSAGE = \"ping\";\nfunction resolveNestedOptions(options) {\n if (options === true)\n return {};\n return options;\n}\nfunction useWebSocket(url, options = {}) {\n const {\n onConnected,\n onDisconnected,\n onError,\n onMessage,\n immediate = true,\n autoClose = true,\n protocols = []\n } = options;\n const data = ref(null);\n const status = ref(\"CLOSED\");\n const wsRef = ref();\n const urlRef = toRef(url);\n let heartbeatPause;\n let heartbeatResume;\n let explicitlyClosed = false;\n let retried = 0;\n let bufferedData = [];\n let pongTimeoutWait;\n const _sendBuffer = () => {\n if (bufferedData.length && wsRef.value && status.value === \"OPEN\") {\n for (const buffer of bufferedData)\n wsRef.value.send(buffer);\n bufferedData = [];\n }\n };\n const resetHeartbeat = () => {\n clearTimeout(pongTimeoutWait);\n pongTimeoutWait = void 0;\n };\n const close = (code = 1e3, reason) => {\n if (!isClient || !wsRef.value)\n return;\n explicitlyClosed = true;\n resetHeartbeat();\n heartbeatPause == null ? void 0 : heartbeatPause();\n wsRef.value.close(code, reason);\n wsRef.value = void 0;\n };\n const send = (data2, useBuffer = true) => {\n if (!wsRef.value || status.value !== \"OPEN\") {\n if (useBuffer)\n bufferedData.push(data2);\n return false;\n }\n _sendBuffer();\n wsRef.value.send(data2);\n return true;\n };\n const _init = () => {\n if (explicitlyClosed || typeof urlRef.value === \"undefined\")\n return;\n const ws = new WebSocket(urlRef.value, protocols);\n wsRef.value = ws;\n status.value = \"CONNECTING\";\n ws.onopen = () => {\n status.value = \"OPEN\";\n onConnected == null ? void 0 : onConnected(ws);\n heartbeatResume == null ? void 0 : heartbeatResume();\n _sendBuffer();\n };\n ws.onclose = (ev) => {\n status.value = \"CLOSED\";\n onDisconnected == null ? void 0 : onDisconnected(ws, ev);\n if (!explicitlyClosed && options.autoReconnect) {\n const {\n retries = -1,\n delay = 1e3,\n onFailed\n } = resolveNestedOptions(options.autoReconnect);\n retried += 1;\n if (typeof retries === \"number\" && (retries < 0 || retried < retries))\n setTimeout(_init, delay);\n else if (typeof retries === \"function\" && retries())\n setTimeout(_init, delay);\n else\n onFailed == null ? void 0 : onFailed();\n }\n };\n ws.onerror = (e) => {\n onError == null ? void 0 : onError(ws, e);\n };\n ws.onmessage = (e) => {\n if (options.heartbeat) {\n resetHeartbeat();\n const {\n message = DEFAULT_PING_MESSAGE,\n responseMessage = message\n } = resolveNestedOptions(options.heartbeat);\n if (e.data === responseMessage)\n return;\n }\n data.value = e.data;\n onMessage == null ? void 0 : onMessage(ws, e);\n };\n };\n if (options.heartbeat) {\n const {\n message = DEFAULT_PING_MESSAGE,\n interval = 1e3,\n pongTimeout = 1e3\n } = resolveNestedOptions(options.heartbeat);\n const { pause, resume } = useIntervalFn(\n () => {\n send(message, false);\n if (pongTimeoutWait != null)\n return;\n pongTimeoutWait = setTimeout(() => {\n close();\n explicitlyClosed = false;\n }, pongTimeout);\n },\n interval,\n { immediate: false }\n );\n heartbeatPause = pause;\n heartbeatResume = resume;\n }\n if (autoClose) {\n if (isClient)\n useEventListener(\"beforeunload\", () => close());\n tryOnScopeDispose(close);\n }\n const open = () => {\n if (!isClient && !isWorker)\n return;\n close();\n explicitlyClosed = false;\n retried = 0;\n _init();\n };\n if (immediate)\n open();\n watch(urlRef, open);\n return {\n data,\n status,\n close,\n send,\n open,\n ws: wsRef\n };\n}\n\nfunction useWebWorker(arg0, workerOptions, options) {\n const {\n window = defaultWindow\n } = options != null ? options : {};\n const data = ref(null);\n const worker = shallowRef();\n const post = (...args) => {\n if (!worker.value)\n return;\n worker.value.postMessage(...args);\n };\n const terminate = function terminate2() {\n if (!worker.value)\n return;\n worker.value.terminate();\n };\n if (window) {\n if (typeof arg0 === \"string\")\n worker.value = new Worker(arg0, workerOptions);\n else if (typeof arg0 === \"function\")\n worker.value = arg0();\n else\n worker.value = arg0;\n worker.value.onmessage = (e) => {\n data.value = e.data;\n };\n tryOnScopeDispose(() => {\n if (worker.value)\n worker.value.terminate();\n });\n }\n return {\n data,\n post,\n terminate,\n worker\n };\n}\n\nfunction jobRunner(userFunc) {\n return (e) => {\n const userFuncArgs = e.data[0];\n return Promise.resolve(userFunc.apply(void 0, userFuncArgs)).then((result) => {\n postMessage([\"SUCCESS\", result]);\n }).catch((error) => {\n postMessage([\"ERROR\", error]);\n });\n };\n}\n\nfunction depsParser(deps, localDeps) {\n if (deps.length === 0 && localDeps.length === 0)\n return \"\";\n const depsString = deps.map((dep) => `'${dep}'`).toString();\n const depsFunctionString = localDeps.filter((dep) => typeof dep === \"function\").map((fn) => {\n const str = fn.toString();\n if (str.trim().startsWith(\"function\")) {\n return str;\n } else {\n const name = fn.name;\n return `const ${name} = ${str}`;\n }\n }).join(\";\");\n const importString = `importScripts(${depsString});`;\n return `${depsString.trim() === \"\" ? \"\" : importString} ${depsFunctionString}`;\n}\n\nfunction createWorkerBlobUrl(fn, deps, localDeps) {\n const blobCode = `${depsParser(deps, localDeps)}; onmessage=(${jobRunner})(${fn})`;\n const blob = new Blob([blobCode], { type: \"text/javascript\" });\n const url = URL.createObjectURL(blob);\n return url;\n}\n\nfunction useWebWorkerFn(fn, options = {}) {\n const {\n dependencies = [],\n localDependencies = [],\n timeout,\n window = defaultWindow\n } = options;\n const worker = ref();\n const workerStatus = ref(\"PENDING\");\n const promise = ref({});\n const timeoutId = ref();\n const workerTerminate = (status = \"PENDING\") => {\n if (worker.value && worker.value._url && window) {\n worker.value.terminate();\n URL.revokeObjectURL(worker.value._url);\n promise.value = {};\n worker.value = void 0;\n window.clearTimeout(timeoutId.value);\n workerStatus.value = status;\n }\n };\n workerTerminate();\n tryOnScopeDispose(workerTerminate);\n const generateWorker = () => {\n const blobUrl = createWorkerBlobUrl(fn, dependencies, localDependencies);\n const newWorker = new Worker(blobUrl);\n newWorker._url = blobUrl;\n newWorker.onmessage = (e) => {\n const { resolve = () => {\n }, reject = () => {\n } } = promise.value;\n const [status, result] = e.data;\n switch (status) {\n case \"SUCCESS\":\n resolve(result);\n workerTerminate(status);\n break;\n default:\n reject(result);\n workerTerminate(\"ERROR\");\n break;\n }\n };\n newWorker.onerror = (e) => {\n const { reject = () => {\n } } = promise.value;\n e.preventDefault();\n reject(e);\n workerTerminate(\"ERROR\");\n };\n if (timeout) {\n timeoutId.value = setTimeout(\n () => workerTerminate(\"TIMEOUT_EXPIRED\"),\n timeout\n );\n }\n return newWorker;\n };\n const callWorker = (...fnArgs) => new Promise((resolve, reject) => {\n var _a;\n promise.value = {\n resolve,\n reject\n };\n (_a = worker.value) == null ? void 0 : _a.postMessage([[...fnArgs]]);\n workerStatus.value = \"RUNNING\";\n });\n const workerFn = (...fnArgs) => {\n if (workerStatus.value === \"RUNNING\") {\n console.error(\n \"[useWebWorkerFn] You can only run one instance of the worker at a time.\"\n );\n return Promise.reject();\n }\n worker.value = generateWorker();\n return callWorker(...fnArgs);\n };\n return {\n workerFn,\n workerStatus,\n workerTerminate\n };\n}\n\nfunction useWindowFocus(options = {}) {\n const { window = defaultWindow } = options;\n if (!window)\n return ref(false);\n const focused = ref(window.document.hasFocus());\n useEventListener(window, \"blur\", () => {\n focused.value = false;\n });\n useEventListener(window, \"focus\", () => {\n focused.value = true;\n });\n return focused;\n}\n\nfunction useWindowScroll(options = {}) {\n const { window = defaultWindow, behavior = \"auto\" } = options;\n if (!window) {\n return {\n x: ref(0),\n y: ref(0)\n };\n }\n const internalX = ref(window.scrollX);\n const internalY = ref(window.scrollY);\n const x = computed({\n get() {\n return internalX.value;\n },\n set(x2) {\n scrollTo({ left: x2, behavior });\n }\n });\n const y = computed({\n get() {\n return internalY.value;\n },\n set(y2) {\n scrollTo({ top: y2, behavior });\n }\n });\n useEventListener(\n window,\n \"scroll\",\n () => {\n internalX.value = window.scrollX;\n internalY.value = window.scrollY;\n },\n {\n capture: false,\n passive: true\n }\n );\n return { x, y };\n}\n\nfunction useWindowSize(options = {}) {\n const {\n window = defaultWindow,\n initialWidth = Number.POSITIVE_INFINITY,\n initialHeight = Number.POSITIVE_INFINITY,\n listenOrientation = true,\n includeScrollbar = true,\n type = \"inner\"\n } = options;\n const width = ref(initialWidth);\n const height = ref(initialHeight);\n const update = () => {\n if (window) {\n if (type === \"outer\") {\n width.value = window.outerWidth;\n height.value = window.outerHeight;\n } else if (includeScrollbar) {\n width.value = window.innerWidth;\n height.value = window.innerHeight;\n } else {\n width.value = window.document.documentElement.clientWidth;\n height.value = window.document.documentElement.clientHeight;\n }\n }\n };\n update();\n tryOnMounted(update);\n useEventListener(\"resize\", update, { passive: true });\n if (listenOrientation) {\n const matches = useMediaQuery(\"(orientation: portrait)\");\n watch(matches, () => update());\n }\n return { width, height };\n}\n\nexport { DefaultMagicKeysAliasMap, StorageSerializers, TransitionPresets, computedAsync as asyncComputed, breakpointsAntDesign, breakpointsBootstrapV5, breakpointsMasterCss, breakpointsPrimeFlex, breakpointsQuasar, breakpointsSematic, breakpointsTailwind, breakpointsVuetify, breakpointsVuetifyV2, breakpointsVuetifyV3, cloneFnJSON, computedAsync, computedInject, createFetch, createReusableTemplate, createTemplatePromise, createUnrefFn, customStorageEventName, defaultDocument, defaultLocation, defaultNavigator, defaultWindow, executeTransition, formatTimeAgo, getSSRHandler, mapGamepadToXbox360Controller, onClickOutside, onKeyDown, onKeyPressed, onKeyStroke, onKeyUp, onLongPress, onStartTyping, setSSRHandler, templateRef, unrefElement, useActiveElement, useAnimate, useAsyncQueue, useAsyncState, useBase64, useBattery, useBluetooth, useBreakpoints, useBroadcastChannel, useBrowserLocation, useCached, useClipboard, useClipboardItems, useCloned, useColorMode, useConfirmDialog, useCssVar, useCurrentElement, useCycleList, useDark, useDebouncedRefHistory, useDeviceMotion, useDeviceOrientation, useDevicePixelRatio, useDevicesList, useDisplayMedia, useDocumentVisibility, useDraggable, useDropZone, useElementBounding, useElementByPoint, useElementHover, useElementSize, useElementVisibility, useEventBus, useEventListener, useEventSource, useEyeDropper, useFavicon, useFetch, useFileDialog, useFileSystemAccess, useFocus, useFocusWithin, useFps, useFullscreen, useGamepad, useGeolocation, useIdle, useImage, useInfiniteScroll, useIntersectionObserver, useKeyModifier, useLocalStorage, useMagicKeys, useManualRefHistory, useMediaControls, useMediaQuery, useMemoize, useMemory, useMounted, useMouse, useMouseInElement, useMousePressed, useMutationObserver, useNavigatorLanguage, useNetwork, useNow, useObjectUrl, useOffsetPagination, useOnline, usePageLeave, useParallax, useParentElement, usePerformanceObserver, usePermission, usePointer, usePointerLock, usePointerSwipe, usePreferredColorScheme, usePreferredContrast, usePreferredDark, usePreferredLanguages, usePreferredReducedMotion, usePrevious, useRafFn, useRefHistory, useResizeObserver, useScreenOrientation, useScreenSafeArea, useScriptTag, useScroll, useScrollLock, useSessionStorage, useShare, useSorted, useSpeechRecognition, useSpeechSynthesis, useStepper, useStorage, useStorageAsync, useStyleTag, useSupported, useSwipe, useTemplateRefsList, useTextDirection, useTextSelection, useTextareaAutosize, useThrottledRefHistory, useTimeAgo, useTimeoutPoll, useTimestamp, useTitle, useTransition, useUrlSearchParams, useUserMedia, useVModel, useVModels, useVibrate, useVirtualList, useWakeLock, useWebNotification, useWebSocket, useWebWorker, useWebWorkerFn, useWindowFocus, useWindowScroll, useWindowSize };\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-scrollpanel-content-container {\\n overflow: hidden;\\n width: 100%;\\n height: 100%;\\n position: relative;\\n z-index: 1;\\n float: left;\\n}\\n\\n.p-scrollpanel-content {\\n height: calc(100% + calc(2 * \".concat(dt('scrollpanel.bar.size'), \"));\\n width: calc(100% + calc(2 * \").concat(dt('scrollpanel.bar.size'), \"));\\n padding: 0 calc(2 * \").concat(dt('scrollpanel.bar.size'), \") calc(2 * \").concat(dt('scrollpanel.bar.size'), \") 0;\\n position: relative;\\n overflow: auto;\\n box-sizing: border-box;\\n scrollbar-width: none;\\n}\\n\\n.p-scrollpanel-content::-webkit-scrollbar {\\n display: none;\\n}\\n\\n.p-scrollpanel-bar {\\n position: relative;\\n border-radius: \").concat(dt('scrollpanel.bar.border.radius'), \";\\n z-index: 2;\\n cursor: pointer;\\n opacity: 0;\\n outline-color: transparent;\\n transition: outline-color \").concat(dt('scrollpanel.transition.duration'), \";\\n background: \").concat(dt('scrollpanel.bar.background'), \";\\n border: 0 none;\\n transition: outline-color \").concat(dt('scrollpanel.transition.duration'), \", opacity \").concat(dt('scrollpanel.transition.duration'), \";\\n}\\n\\n.p-scrollpanel-bar:focus-visible {\\n box-shadow: \").concat(dt('scrollpanel.bar.focus.ring.shadow'), \";\\n outline: \").concat(dt('scrollpanel.barfocus.ring.width'), \" \").concat(dt('scrollpanel.bar.focus.ring.style'), \" \").concat(dt('scrollpanel.bar.focus.ring.color'), \";\\n outline-offset: \").concat(dt('scrollpanel.barfocus.ring.offset'), \";\\n}\\n\\n.p-scrollpanel-bar-y {\\n width: \").concat(dt('scrollpanel.bar.size'), \";\\n top: 0;\\n}\\n\\n.p-scrollpanel-bar-x {\\n height: \").concat(dt('scrollpanel.bar.size'), \";\\n bottom: 0;\\n}\\n\\n.p-scrollpanel-hidden {\\n visibility: hidden;\\n}\\n\\n.p-scrollpanel:hover .p-scrollpanel-bar,\\n.p-scrollpanel:active .p-scrollpanel-bar {\\n opacity: 1;\\n}\\n\\n.p-scrollpanel-grabbed {\\n user-select: none;\\n}\\n\");\n};\nvar classes = {\n root: 'p-scrollpanel p-component',\n contentContainer: 'p-scrollpanel-content-container',\n content: 'p-scrollpanel-content',\n barX: 'p-scrollpanel-bar p-scrollpanel-bar-x',\n barY: 'p-scrollpanel-bar p-scrollpanel-bar-y'\n};\nvar ScrollPanelStyle = BaseStyle.extend({\n name: 'scrollpanel',\n theme: theme,\n classes: classes\n});\n\nexport { ScrollPanelStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { UniqueComponentId } from '@primevue/core/utils';\nimport { getHeight, addClass, removeClass } from '@primeuix/utils/dom';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ScrollPanelStyle from 'primevue/scrollpanel/style';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseScrollPanel',\n \"extends\": BaseComponent,\n props: {\n step: {\n type: Number,\n \"default\": 5\n }\n },\n style: ScrollPanelStyle,\n provide: function provide() {\n return {\n $pcScrollPanel: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'ScrollPanel',\n \"extends\": script$1,\n inheritAttrs: false,\n initialized: false,\n documentResizeListener: null,\n documentMouseMoveListener: null,\n documentMouseUpListener: null,\n frame: null,\n scrollXRatio: null,\n scrollYRatio: null,\n isXBarClicked: false,\n isYBarClicked: false,\n lastPageX: null,\n lastPageY: null,\n timer: null,\n outsideClickListener: null,\n data: function data() {\n return {\n id: this.$attrs.id,\n orientation: 'vertical',\n lastScrollTop: 0,\n lastScrollLeft: 0\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n if (this.$el.offsetParent) {\n this.initialize();\n }\n },\n updated: function updated() {\n if (!this.initialized && this.$el.offsetParent) {\n this.initialize();\n }\n },\n beforeUnmount: function beforeUnmount() {\n this.unbindDocumentResizeListener();\n if (this.frame) {\n window.cancelAnimationFrame(this.frame);\n }\n },\n methods: {\n initialize: function initialize() {\n this.moveBar();\n this.bindDocumentResizeListener();\n this.calculateContainerHeight();\n },\n calculateContainerHeight: function calculateContainerHeight() {\n var containerStyles = getComputedStyle(this.$el),\n xBarStyles = getComputedStyle(this.$refs.xBar),\n pureContainerHeight = getHeight(this.$el) - parseInt(xBarStyles['height'], 10);\n if (containerStyles['max-height'] !== 'none' && pureContainerHeight === 0) {\n if (this.$refs.content.offsetHeight + parseInt(xBarStyles['height'], 10) > parseInt(containerStyles['max-height'], 10)) {\n this.$el.style.height = containerStyles['max-height'];\n } else {\n this.$el.style.height = this.$refs.content.offsetHeight + parseFloat(containerStyles.paddingTop) + parseFloat(containerStyles.paddingBottom) + parseFloat(containerStyles.borderTopWidth) + parseFloat(containerStyles.borderBottomWidth) + 'px';\n }\n }\n },\n moveBar: function moveBar() {\n var _this = this;\n if (this.$refs.content) {\n /* horizontal scroll */\n var totalWidth = this.$refs.content.scrollWidth;\n var ownWidth = this.$refs.content.clientWidth;\n var bottom = (this.$el.clientHeight - this.$refs.xBar.clientHeight) * -1;\n this.scrollXRatio = ownWidth / totalWidth;\n\n /* vertical scroll */\n var totalHeight = this.$refs.content.scrollHeight;\n var ownHeight = this.$refs.content.clientHeight;\n var right = (this.$el.clientWidth - this.$refs.yBar.clientWidth) * -1;\n this.scrollYRatio = ownHeight / totalHeight;\n this.frame = this.requestAnimationFrame(function () {\n if (_this.$refs.xBar) {\n if (_this.scrollXRatio >= 1) {\n _this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n !_this.isUnstyled && addClass(_this.$refs.xBar, 'p-scrollpanel-hidden');\n } else {\n _this.$refs.xBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n !_this.isUnstyled && removeClass(_this.$refs.xBar, 'p-scrollpanel-hidden');\n _this.$refs.xBar.style.cssText = 'width:' + Math.max(_this.scrollXRatio * 100, 10) + '%; left:' + _this.$refs.content.scrollLeft / totalWidth * 100 + '%;bottom:' + bottom + 'px;';\n }\n }\n if (_this.$refs.yBar) {\n if (_this.scrollYRatio >= 1) {\n _this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'true');\n !_this.isUnstyled && addClass(_this.$refs.yBar, 'p-scrollpanel-hidden');\n } else {\n _this.$refs.yBar.setAttribute('data-p-scrollpanel-hidden', 'false');\n !_this.isUnstyled && removeClass(_this.$refs.yBar, 'p-scrollpanel-hidden');\n _this.$refs.yBar.style.cssText = 'height:' + Math.max(_this.scrollYRatio * 100, 10) + '%; top: calc(' + _this.$refs.content.scrollTop / totalHeight * 100 + '% - ' + _this.$refs.xBar.clientHeight + 'px);right:' + right + 'px;';\n }\n }\n });\n }\n },\n onYBarMouseDown: function onYBarMouseDown(e) {\n this.isYBarClicked = true;\n this.$refs.yBar.focus();\n this.lastPageY = e.pageY;\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'true');\n !this.isUnstyled && addClass(this.$refs.yBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'true');\n !this.isUnstyled && addClass(document.body, 'p-scrollpanel-grabbed');\n this.bindDocumentMouseListeners();\n e.preventDefault();\n },\n onXBarMouseDown: function onXBarMouseDown(e) {\n this.isXBarClicked = true;\n this.$refs.xBar.focus();\n this.lastPageX = e.pageX;\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && addClass(this.$refs.xBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && addClass(document.body, 'p-scrollpanel-grabbed');\n this.bindDocumentMouseListeners();\n e.preventDefault();\n },\n onScroll: function onScroll(event) {\n if (this.lastScrollLeft !== event.target.scrollLeft) {\n this.lastScrollLeft = event.target.scrollLeft;\n this.orientation = 'horizontal';\n } else if (this.lastScrollTop !== event.target.scrollTop) {\n this.lastScrollTop = event.target.scrollTop;\n this.orientation = 'vertical';\n }\n this.moveBar();\n },\n onKeyDown: function onKeyDown(event) {\n if (this.orientation === 'vertical') {\n switch (event.code) {\n case 'ArrowDown':\n {\n this.setTimer('scrollTop', this.step);\n event.preventDefault();\n break;\n }\n case 'ArrowUp':\n {\n this.setTimer('scrollTop', this.step * -1);\n event.preventDefault();\n break;\n }\n case 'ArrowLeft':\n case 'ArrowRight':\n {\n event.preventDefault();\n break;\n }\n }\n } else if (this.orientation === 'horizontal') {\n switch (event.code) {\n case 'ArrowRight':\n {\n this.setTimer('scrollLeft', this.step);\n event.preventDefault();\n break;\n }\n case 'ArrowLeft':\n {\n this.setTimer('scrollLeft', this.step * -1);\n event.preventDefault();\n break;\n }\n case 'ArrowDown':\n case 'ArrowUp':\n {\n event.preventDefault();\n break;\n }\n }\n }\n },\n onKeyUp: function onKeyUp() {\n this.clearTimer();\n },\n repeat: function repeat(bar, step) {\n this.$refs.content[bar] += step;\n this.moveBar();\n },\n setTimer: function setTimer(bar, step) {\n var _this2 = this;\n this.clearTimer();\n this.timer = setTimeout(function () {\n _this2.repeat(bar, step);\n }, 40);\n },\n clearTimer: function clearTimer() {\n if (this.timer) {\n clearTimeout(this.timer);\n }\n },\n onDocumentMouseMove: function onDocumentMouseMove(e) {\n if (this.isXBarClicked) {\n this.onMouseMoveForXBar(e);\n } else if (this.isYBarClicked) {\n this.onMouseMoveForYBar(e);\n } else {\n this.onMouseMoveForXBar(e);\n this.onMouseMoveForYBar(e);\n }\n },\n onMouseMoveForXBar: function onMouseMoveForXBar(e) {\n var _this3 = this;\n var deltaX = e.pageX - this.lastPageX;\n this.lastPageX = e.pageX;\n this.frame = this.requestAnimationFrame(function () {\n _this3.$refs.content.scrollLeft += deltaX / _this3.scrollXRatio;\n });\n },\n onMouseMoveForYBar: function onMouseMoveForYBar(e) {\n var _this4 = this;\n var deltaY = e.pageY - this.lastPageY;\n this.lastPageY = e.pageY;\n this.frame = this.requestAnimationFrame(function () {\n _this4.$refs.content.scrollTop += deltaY / _this4.scrollYRatio;\n });\n },\n onFocus: function onFocus(event) {\n if (this.$refs.xBar.isSameNode(event.target)) {\n this.orientation = 'horizontal';\n } else if (this.$refs.yBar.isSameNode(event.target)) {\n this.orientation = 'vertical';\n }\n },\n onBlur: function onBlur() {\n if (this.orientation === 'horizontal') {\n this.orientation = 'vertical';\n }\n },\n onDocumentMouseUp: function onDocumentMouseUp() {\n this.$refs.yBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(this.$refs.yBar, 'p-scrollpanel-grabbed');\n this.$refs.xBar.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(this.$refs.xBar, 'p-scrollpanel-grabbed');\n document.body.setAttribute('data-p-scrollpanel-grabbed', 'false');\n !this.isUnstyled && removeClass(document.body, 'p-scrollpanel-grabbed');\n this.unbindDocumentMouseListeners();\n this.isXBarClicked = false;\n this.isYBarClicked = false;\n },\n requestAnimationFrame: function requestAnimationFrame(f) {\n var frame = window.requestAnimationFrame || this.timeoutFrame;\n return frame(f);\n },\n refresh: function refresh() {\n this.moveBar();\n },\n scrollTop: function scrollTop(_scrollTop) {\n var scrollableHeight = this.$refs.content.scrollHeight - this.$refs.content.clientHeight;\n _scrollTop = _scrollTop > scrollableHeight ? scrollableHeight : _scrollTop > 0 ? _scrollTop : 0;\n this.$refs.content.scrollTop = _scrollTop;\n },\n timeoutFrame: function timeoutFrame(fn) {\n setTimeout(fn, 0);\n },\n bindDocumentMouseListeners: function bindDocumentMouseListeners() {\n var _this5 = this;\n if (!this.documentMouseMoveListener) {\n this.documentMouseMoveListener = function (e) {\n _this5.onDocumentMouseMove(e);\n };\n document.addEventListener('mousemove', this.documentMouseMoveListener);\n }\n if (!this.documentMouseUpListener) {\n this.documentMouseUpListener = function (e) {\n _this5.onDocumentMouseUp(e);\n };\n document.addEventListener('mouseup', this.documentMouseUpListener);\n }\n },\n unbindDocumentMouseListeners: function unbindDocumentMouseListeners() {\n if (this.documentMouseMoveListener) {\n document.removeEventListener('mousemove', this.documentMouseMoveListener);\n this.documentMouseMoveListener = null;\n }\n if (this.documentMouseUpListener) {\n document.removeEventListener('mouseup', this.documentMouseUpListener);\n this.documentMouseUpListener = null;\n }\n },\n bindDocumentResizeListener: function bindDocumentResizeListener() {\n var _this6 = this;\n if (!this.documentResizeListener) {\n this.documentResizeListener = function () {\n _this6.moveBar();\n };\n window.addEventListener('resize', this.documentResizeListener);\n }\n },\n unbindDocumentResizeListener: function unbindDocumentResizeListener() {\n if (this.documentResizeListener) {\n window.removeEventListener('resize', this.documentResizeListener);\n this.documentResizeListener = null;\n }\n }\n },\n computed: {\n contentId: function contentId() {\n return this.id + '_content';\n }\n }\n};\n\nvar _hoisted_1 = [\"id\"];\nvar _hoisted_2 = [\"aria-controls\", \"aria-valuenow\"];\nvar _hoisted_3 = [\"aria-controls\", \"aria-valuenow\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('contentContainer')\n }, _ctx.ptm('contentContainer')), [createElementVNode(\"div\", mergeProps({\n ref: \"content\",\n id: $options.contentId,\n \"class\": _ctx.cx('content'),\n onScroll: _cache[0] || (_cache[0] = function () {\n return $options.onScroll && $options.onScroll.apply($options, arguments);\n }),\n onMouseenter: _cache[1] || (_cache[1] = function () {\n return $options.moveBar && $options.moveBar.apply($options, arguments);\n })\n }, _ctx.ptm('content')), [renderSlot(_ctx.$slots, \"default\")], 16, _hoisted_1)], 16), createElementVNode(\"div\", mergeProps({\n ref: \"xBar\",\n \"class\": _ctx.cx('barx'),\n tabindex: \"0\",\n role: \"scrollbar\",\n \"aria-orientation\": \"horizontal\",\n \"aria-controls\": $options.contentId,\n \"aria-valuenow\": $data.lastScrollLeft,\n onMousedown: _cache[2] || (_cache[2] = function () {\n return $options.onXBarMouseDown && $options.onXBarMouseDown.apply($options, arguments);\n }),\n onKeydown: _cache[3] || (_cache[3] = function ($event) {\n return $options.onKeyDown($event);\n }),\n onKeyup: _cache[4] || (_cache[4] = function () {\n return $options.onKeyUp && $options.onKeyUp.apply($options, arguments);\n }),\n onFocus: _cache[5] || (_cache[5] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n }),\n onBlur: _cache[6] || (_cache[6] = function () {\n return $options.onBlur && $options.onBlur.apply($options, arguments);\n })\n }, _ctx.ptm('barx'), {\n \"data-pc-group-section\": \"bar\"\n }), null, 16, _hoisted_2), createElementVNode(\"div\", mergeProps({\n ref: \"yBar\",\n \"class\": _ctx.cx('bary'),\n tabindex: \"0\",\n role: \"scrollbar\",\n \"aria-orientation\": \"vertical\",\n \"aria-controls\": $options.contentId,\n \"aria-valuenow\": $data.lastScrollTop,\n onMousedown: _cache[7] || (_cache[7] = function () {\n return $options.onYBarMouseDown && $options.onYBarMouseDown.apply($options, arguments);\n }),\n onKeydown: _cache[8] || (_cache[8] = function ($event) {\n return $options.onKeyDown($event);\n }),\n onKeyup: _cache[9] || (_cache[9] = function () {\n return $options.onKeyUp && $options.onKeyUp.apply($options, arguments);\n }),\n onFocus: _cache[10] || (_cache[10] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n })\n }, _ctx.ptm('bary'), {\n \"data-pc-group-section\": \"bar\"\n }), null, 16, _hoisted_3)], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","/*!\n * shared v9.13.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst inBrowser = typeof window !== 'undefined';\nlet mark;\nlet measure;\nif ((process.env.NODE_ENV !== 'production')) {\n const perf = inBrowser && window.performance;\n if (perf &&\n perf.mark &&\n perf.measure &&\n perf.clearMarks &&\n // @ts-ignore browser compat\n perf.clearMeasures) {\n mark = (tag) => {\n perf.mark(tag);\n };\n measure = (name, startTag, endTag) => {\n perf.measure(name, startTag, endTag);\n perf.clearMarks(startTag);\n perf.clearMarks(endTag);\n };\n }\n}\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst makeSymbol = (name, shareable = false) => !shareable ? Symbol(name) : Symbol.for(name);\nconst generateFormatCacheKey = (locale, key, source) => friendlyJSONstringify({ l: locale, k: key, s: source });\nconst friendlyJSONstringify = (json) => JSON.stringify(json)\n .replace(/\\u2028/g, '\\\\u2028')\n .replace(/\\u2029/g, '\\\\u2029')\n .replace(/\\u0027/g, '\\\\u0027');\nconst isNumber = (val) => typeof val === 'number' && isFinite(val);\nconst isDate = (val) => toTypeString(val) === '[object Date]';\nconst isRegExp = (val) => toTypeString(val) === '[object RegExp]';\nconst isEmptyObject = (val) => isPlainObject(val) && Object.keys(val).length === 0;\nconst assign = Object.assign;\nlet _globalThis;\nconst getGlobalThis = () => {\n // prettier-ignore\n return (_globalThis ||\n (_globalThis =\n typeof globalThis !== 'undefined'\n ? globalThis\n : typeof self !== 'undefined'\n ? self\n : typeof window !== 'undefined'\n ? window\n : typeof global !== 'undefined'\n ? global\n : {}));\n};\nfunction escapeHtml(rawText) {\n return rawText\n .replace(//g, '>')\n .replace(/\"/g, '"')\n .replace(/'/g, ''');\n}\nconst hasOwnProperty = Object.prototype.hasOwnProperty;\nfunction hasOwn(obj, key) {\n return hasOwnProperty.call(obj, key);\n}\n/* eslint-enable */\n/**\n * Useful Utilities By Evan you\n * Modified by kazuya kawaguchi\n * MIT License\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/index.ts\n * https://github.com/vuejs/vue-next/blob/master/packages/shared/src/codeframe.ts\n */\nconst isArray = Array.isArray;\nconst isFunction = (val) => typeof val === 'function';\nconst isString = (val) => typeof val === 'string';\nconst isBoolean = (val) => typeof val === 'boolean';\nconst isSymbol = (val) => typeof val === 'symbol';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isPromise = (val) => {\n return isObject(val) && isFunction(val.then) && isFunction(val.catch);\n};\nconst objectToString = Object.prototype.toString;\nconst toTypeString = (value) => objectToString.call(value);\nconst isPlainObject = (val) => {\n if (!isObject(val))\n return false;\n const proto = Object.getPrototypeOf(val);\n return proto === null || proto.constructor === Object;\n};\n// for converting list and named values to displayed strings.\nconst toDisplayString = (val) => {\n return val == null\n ? ''\n : isArray(val) || (isPlainObject(val) && val.toString === objectToString)\n ? JSON.stringify(val, null, 2)\n : String(val);\n};\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\nconst RANGE = 2;\nfunction generateCodeFrame(source, start = 0, end = source.length) {\n const lines = source.split(/\\r?\\n/);\n let count = 0;\n const res = [];\n for (let i = 0; i < lines.length; i++) {\n count += lines[i].length + 1;\n if (count >= start) {\n for (let j = i - RANGE; j <= i + RANGE || end > count; j++) {\n if (j < 0 || j >= lines.length)\n continue;\n const line = j + 1;\n res.push(`${line}${' '.repeat(3 - String(line).length)}| ${lines[j]}`);\n const lineLength = lines[j].length;\n if (j === i) {\n // push underline\n const pad = start - (count - lineLength) + 1;\n const length = Math.max(1, end > count ? lineLength - pad : end - start);\n res.push(` | ` + ' '.repeat(pad) + '^'.repeat(length));\n }\n else if (j > i) {\n if (end > count) {\n const length = Math.max(Math.min(end - count, lineLength), 1);\n res.push(` | ` + '^'.repeat(length));\n }\n count += lineLength + 1;\n }\n }\n break;\n }\n }\n return res.join('\\n');\n}\nfunction incrementer(code) {\n let current = code;\n return () => ++current;\n}\n\nfunction warn(msg, err) {\n if (typeof console !== 'undefined') {\n console.warn(`[intlify] ` + msg);\n /* istanbul ignore if */\n if (err) {\n console.warn(err.stack);\n }\n }\n}\nconst hasWarned = {};\nfunction warnOnce(msg) {\n if (!hasWarned[msg]) {\n hasWarned[msg] = true;\n warn(msg);\n }\n}\n\n/**\n * Event emitter, forked from the below:\n * - original repository url: https://github.com/developit/mitt\n * - code url: https://github.com/developit/mitt/blob/master/src/index.ts\n * - author: Jason Miller (https://github.com/developit)\n * - license: MIT\n */\n/**\n * Create a event emitter\n *\n * @returns An event emitter\n */\nfunction createEmitter() {\n const events = new Map();\n const emitter = {\n events,\n on(event, handler) {\n const handlers = events.get(event);\n const added = handlers && handlers.push(handler);\n if (!added) {\n events.set(event, [handler]);\n }\n },\n off(event, handler) {\n const handlers = events.get(event);\n if (handlers) {\n handlers.splice(handlers.indexOf(handler) >>> 0, 1);\n }\n },\n emit(event, payload) {\n (events.get(event) || [])\n .slice()\n .map(handler => handler(payload));\n (events.get('*') || [])\n .slice()\n .map(handler => handler(event, payload));\n }\n };\n return emitter;\n}\n\nconst isNotObjectOrIsArray = (val) => !isObject(val) || isArray(val);\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nfunction deepCopy(src, des) {\n // src and des should both be objects, and none of them can be a array\n if (isNotObjectOrIsArray(src) || isNotObjectOrIsArray(des)) {\n throw new Error('Invalid value');\n }\n const stack = [{ src, des }];\n while (stack.length) {\n const { src, des } = stack.pop();\n Object.keys(src).forEach(key => {\n if (isNotObjectOrIsArray(src[key]) || isNotObjectOrIsArray(des[key])) {\n // replace with src[key] when:\n // src[key] or des[key] is not an object, or\n // src[key] or des[key] is an array\n des[key] = src[key];\n }\n else {\n // src[key] and des[key] are both objects, merge them\n stack.push({ src: src[key], des: des[key] });\n }\n });\n }\n}\n\nexport { assign, createEmitter, deepCopy, escapeHtml, format, friendlyJSONstringify, generateCodeFrame, generateFormatCacheKey, getGlobalThis, hasOwn, inBrowser, incrementer, isArray, isBoolean, isDate, isEmptyObject, isFunction, isNumber, isObject, isPlainObject, isPromise, isRegExp, isString, isSymbol, join, makeSymbol, mark, measure, objectToString, toDisplayString, toTypeString, warn, warnOnce };\n","/*!\n * message-compiler v9.13.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nconst LOCATION_STUB = {\n start: { line: 1, column: 1, offset: 0 },\n end: { line: 1, column: 1, offset: 0 }\n};\nfunction createPosition(line, column, offset) {\n return { line, column, offset };\n}\nfunction createLocation(start, end, source) {\n const loc = { start, end };\n if (source != null) {\n loc.source = source;\n }\n return loc;\n}\n\n/**\n * Original Utilities\n * written by kazuya kawaguchi\n */\nconst RE_ARGS = /\\{([0-9a-zA-Z]+)\\}/g;\n/* eslint-disable */\nfunction format(message, ...args) {\n if (args.length === 1 && isObject(args[0])) {\n args = args[0];\n }\n if (!args || !args.hasOwnProperty) {\n args = {};\n }\n return message.replace(RE_ARGS, (match, identifier) => {\n return args.hasOwnProperty(identifier) ? args[identifier] : '';\n });\n}\nconst assign = Object.assign;\nconst isString = (val) => typeof val === 'string';\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nconst isObject = (val) => val !== null && typeof val === 'object';\nfunction join(items, separator = '') {\n return items.reduce((str, item, index) => (index === 0 ? str + item : str + separator + item), '');\n}\n\nconst CompileWarnCodes = {\n USE_MODULO_SYNTAX: 1,\n __EXTEND_POINT__: 2\n};\n/** @internal */\nconst warnMessages = {\n [CompileWarnCodes.USE_MODULO_SYNTAX]: `Use modulo before '{{0}}'.`\n};\nfunction createCompileWarn(code, loc, ...args) {\n const msg = format(warnMessages[code] || '', ...(args || [])) ;\n const message = { message: String(msg), code };\n if (loc) {\n message.location = loc;\n }\n return message;\n}\n\nconst CompileErrorCodes = {\n // tokenizer error codes\n EXPECTED_TOKEN: 1,\n INVALID_TOKEN_IN_PLACEHOLDER: 2,\n UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER: 3,\n UNKNOWN_ESCAPE_SEQUENCE: 4,\n INVALID_UNICODE_ESCAPE_SEQUENCE: 5,\n UNBALANCED_CLOSING_BRACE: 6,\n UNTERMINATED_CLOSING_BRACE: 7,\n EMPTY_PLACEHOLDER: 8,\n NOT_ALLOW_NEST_PLACEHOLDER: 9,\n INVALID_LINKED_FORMAT: 10,\n // parser error codes\n MUST_HAVE_MESSAGES_IN_PLURAL: 11,\n UNEXPECTED_EMPTY_LINKED_MODIFIER: 12,\n UNEXPECTED_EMPTY_LINKED_KEY: 13,\n UNEXPECTED_LEXICAL_ANALYSIS: 14,\n // generator error codes\n UNHANDLED_CODEGEN_NODE_TYPE: 15,\n // minifier error codes\n UNHANDLED_MINIFIER_NODE_TYPE: 16,\n // Special value for higher-order compilers to pick up the last code\n // to avoid collision of error codes. This should always be kept as the last\n // item.\n __EXTEND_POINT__: 17\n};\n/** @internal */\nconst errorMessages = {\n // tokenizer error messages\n [CompileErrorCodes.EXPECTED_TOKEN]: `Expected token: '{0}'`,\n [CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER]: `Invalid token in placeholder: '{0}'`,\n [CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER]: `Unterminated single quote in placeholder`,\n [CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE]: `Unknown escape sequence: \\\\{0}`,\n [CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE]: `Invalid unicode escape sequence: {0}`,\n [CompileErrorCodes.UNBALANCED_CLOSING_BRACE]: `Unbalanced closing brace`,\n [CompileErrorCodes.UNTERMINATED_CLOSING_BRACE]: `Unterminated closing brace`,\n [CompileErrorCodes.EMPTY_PLACEHOLDER]: `Empty placeholder`,\n [CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER]: `Not allowed nest placeholder`,\n [CompileErrorCodes.INVALID_LINKED_FORMAT]: `Invalid linked format`,\n // parser error messages\n [CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL]: `Plural must have messages`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER]: `Unexpected empty linked modifier`,\n [CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY]: `Unexpected empty linked key`,\n [CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS]: `Unexpected lexical analysis in token: '{0}'`,\n // generator error messages\n [CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE]: `unhandled codegen node type: '{0}'`,\n // minimizer error messages\n [CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE]: `unhandled mimifier node type: '{0}'`\n};\nfunction createCompileError(code, loc, options = {}) {\n const { domain, messages, args } = options;\n const msg = format((messages || errorMessages)[code] || '', ...(args || []))\n ;\n const error = new SyntaxError(String(msg));\n error.code = code;\n if (loc) {\n error.location = loc;\n }\n error.domain = domain;\n return error;\n}\n/** @internal */\nfunction defaultOnError(error) {\n throw error;\n}\n\n// eslint-disable-next-line no-useless-escape\nconst RE_HTML_TAG = /<\\/?[\\w\\s=\"/.':;#-\\/]+>/;\nconst detectHtmlTag = (source) => RE_HTML_TAG.test(source);\n\nconst CHAR_SP = ' ';\nconst CHAR_CR = '\\r';\nconst CHAR_LF = '\\n';\nconst CHAR_LS = String.fromCharCode(0x2028);\nconst CHAR_PS = String.fromCharCode(0x2029);\nfunction createScanner(str) {\n const _buf = str;\n let _index = 0;\n let _line = 1;\n let _column = 1;\n let _peekOffset = 0;\n const isCRLF = (index) => _buf[index] === CHAR_CR && _buf[index + 1] === CHAR_LF;\n const isLF = (index) => _buf[index] === CHAR_LF;\n const isPS = (index) => _buf[index] === CHAR_PS;\n const isLS = (index) => _buf[index] === CHAR_LS;\n const isLineEnd = (index) => isCRLF(index) || isLF(index) || isPS(index) || isLS(index);\n const index = () => _index;\n const line = () => _line;\n const column = () => _column;\n const peekOffset = () => _peekOffset;\n const charAt = (offset) => isCRLF(offset) || isPS(offset) || isLS(offset) ? CHAR_LF : _buf[offset];\n const currentChar = () => charAt(_index);\n const currentPeek = () => charAt(_index + _peekOffset);\n function next() {\n _peekOffset = 0;\n if (isLineEnd(_index)) {\n _line++;\n _column = 0;\n }\n if (isCRLF(_index)) {\n _index++;\n }\n _index++;\n _column++;\n return _buf[_index];\n }\n function peek() {\n if (isCRLF(_index + _peekOffset)) {\n _peekOffset++;\n }\n _peekOffset++;\n return _buf[_index + _peekOffset];\n }\n function reset() {\n _index = 0;\n _line = 1;\n _column = 1;\n _peekOffset = 0;\n }\n function resetPeek(offset = 0) {\n _peekOffset = offset;\n }\n function skipToPeek() {\n const target = _index + _peekOffset;\n // eslint-disable-next-line no-unmodified-loop-condition\n while (target !== _index) {\n next();\n }\n _peekOffset = 0;\n }\n return {\n index,\n line,\n column,\n peekOffset,\n charAt,\n currentChar,\n currentPeek,\n next,\n peek,\n reset,\n resetPeek,\n skipToPeek\n };\n}\n\nconst EOF = undefined;\nconst DOT = '.';\nconst LITERAL_DELIMITER = \"'\";\nconst ERROR_DOMAIN$3 = 'tokenizer';\nfunction createTokenizer(source, options = {}) {\n const location = options.location !== false;\n const _scnr = createScanner(source);\n const currentOffset = () => _scnr.index();\n const currentPosition = () => createPosition(_scnr.line(), _scnr.column(), _scnr.index());\n const _initLoc = currentPosition();\n const _initOffset = currentOffset();\n const _context = {\n currentType: 14 /* TokenTypes.EOF */,\n offset: _initOffset,\n startLoc: _initLoc,\n endLoc: _initLoc,\n lastType: 14 /* TokenTypes.EOF */,\n lastOffset: _initOffset,\n lastStartLoc: _initLoc,\n lastEndLoc: _initLoc,\n braceNest: 0,\n inLinked: false,\n text: ''\n };\n const context = () => _context;\n const { onError } = options;\n function emitError(code, pos, offset, ...args) {\n const ctx = context();\n pos.column += offset;\n pos.offset += offset;\n if (onError) {\n const loc = location ? createLocation(ctx.startLoc, pos) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$3,\n args\n });\n onError(err);\n }\n }\n function getToken(context, type, value) {\n context.endLoc = currentPosition();\n context.currentType = type;\n const token = { type };\n if (location) {\n token.loc = createLocation(context.startLoc, context.endLoc);\n }\n if (value != null) {\n token.value = value;\n }\n return token;\n }\n const getEndToken = (context) => getToken(context, 14 /* TokenTypes.EOF */);\n function eat(scnr, ch) {\n if (scnr.currentChar() === ch) {\n scnr.next();\n return ch;\n }\n else {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n return '';\n }\n }\n function peekSpaces(scnr) {\n let buf = '';\n while (scnr.currentPeek() === CHAR_SP || scnr.currentPeek() === CHAR_LF) {\n buf += scnr.currentPeek();\n scnr.peek();\n }\n return buf;\n }\n function skipSpaces(scnr) {\n const buf = peekSpaces(scnr);\n scnr.skipToPeek();\n return buf;\n }\n function isIdentifierStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n cc === 95 // _\n );\n }\n function isNumberStart(ch) {\n if (ch === EOF) {\n return false;\n }\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function isNamedIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isListIdentifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ch = scnr.currentPeek() === '-' ? scnr.peek() : scnr.currentPeek();\n const ret = isNumberStart(ch);\n scnr.resetPeek();\n return ret;\n }\n function isLiteralStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 2 /* TokenTypes.BraceLeft */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === LITERAL_DELIMITER;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDotStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 8 /* TokenTypes.LinkedAlias */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \".\" /* TokenChars.LinkedDot */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedModifierStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 9 /* TokenTypes.LinkedDot */) {\n return false;\n }\n peekSpaces(scnr);\n const ret = isIdentifierStart(scnr.currentPeek());\n scnr.resetPeek();\n return ret;\n }\n function isLinkedDelimiterStart(scnr, context) {\n const { currentType } = context;\n if (!(currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */)) {\n return false;\n }\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \":\" /* TokenChars.LinkedDelimiter */;\n scnr.resetPeek();\n return ret;\n }\n function isLinkedReferStart(scnr, context) {\n const { currentType } = context;\n if (currentType !== 10 /* TokenTypes.LinkedDelimiter */) {\n return false;\n }\n const fn = () => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return isIdentifierStart(scnr.peek());\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \":\" /* TokenChars.LinkedDelimiter */ ||\n ch === \".\" /* TokenChars.LinkedDot */ ||\n ch === CHAR_SP ||\n !ch) {\n return false;\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn();\n }\n else {\n // other characters\n return isTextStart(scnr, false);\n }\n };\n const ret = fn();\n scnr.resetPeek();\n return ret;\n }\n function isPluralStart(scnr) {\n peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"|\" /* TokenChars.Pipe */;\n scnr.resetPeek();\n return ret;\n }\n function detectModuloStart(scnr) {\n const spaces = peekSpaces(scnr);\n const ret = scnr.currentPeek() === \"%\" /* TokenChars.Modulo */ &&\n scnr.peek() === \"{\" /* TokenChars.BraceLeft */;\n scnr.resetPeek();\n return {\n isModulo: ret,\n hasSpace: spaces.length > 0\n };\n }\n function isTextStart(scnr, reset = true) {\n const fn = (hasSpace = false, prev = '', detectModulo = false) => {\n const ch = scnr.currentPeek();\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n return prev === \"%\" /* TokenChars.Modulo */ ? false : hasSpace;\n }\n else if (ch === \"@\" /* TokenChars.LinkedAlias */ || !ch) {\n return prev === \"%\" /* TokenChars.Modulo */ ? true : hasSpace;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n scnr.peek();\n return fn(hasSpace, \"%\" /* TokenChars.Modulo */, true);\n }\n else if (ch === \"|\" /* TokenChars.Pipe */) {\n return prev === \"%\" /* TokenChars.Modulo */ || detectModulo\n ? true\n : !(prev === CHAR_SP || prev === CHAR_LF);\n }\n else if (ch === CHAR_SP) {\n scnr.peek();\n return fn(true, CHAR_SP, detectModulo);\n }\n else if (ch === CHAR_LF) {\n scnr.peek();\n return fn(true, CHAR_LF, detectModulo);\n }\n else {\n return true;\n }\n };\n const ret = fn();\n reset && scnr.resetPeek();\n return ret;\n }\n function takeChar(scnr, fn) {\n const ch = scnr.currentChar();\n if (ch === EOF) {\n return EOF;\n }\n if (fn(ch)) {\n scnr.next();\n return ch;\n }\n return null;\n }\n function isIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 // $\n );\n }\n function takeIdentifierChar(scnr) {\n return takeChar(scnr, isIdentifier);\n }\n function isNamedIdentifier(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 97 && cc <= 122) || // a-z\n (cc >= 65 && cc <= 90) || // A-Z\n (cc >= 48 && cc <= 57) || // 0-9\n cc === 95 || // _\n cc === 36 || // $\n cc === 45 // -\n );\n }\n function takeNamedIdentifierChar(scnr) {\n return takeChar(scnr, isNamedIdentifier);\n }\n function isDigit(ch) {\n const cc = ch.charCodeAt(0);\n return cc >= 48 && cc <= 57; // 0-9\n }\n function takeDigit(scnr) {\n return takeChar(scnr, isDigit);\n }\n function isHexDigit(ch) {\n const cc = ch.charCodeAt(0);\n return ((cc >= 48 && cc <= 57) || // 0-9\n (cc >= 65 && cc <= 70) || // A-F\n (cc >= 97 && cc <= 102)); // a-f\n }\n function takeHexDigit(scnr) {\n return takeChar(scnr, isHexDigit);\n }\n function getDigits(scnr) {\n let ch = '';\n let num = '';\n while ((ch = takeDigit(scnr))) {\n num += ch;\n }\n return num;\n }\n function readModulo(scnr) {\n skipSpaces(scnr);\n const ch = scnr.currentChar();\n if (ch !== \"%\" /* TokenChars.Modulo */) {\n emitError(CompileErrorCodes.EXPECTED_TOKEN, currentPosition(), 0, ch);\n }\n scnr.next();\n return \"%\" /* TokenChars.Modulo */;\n }\n function readText(scnr) {\n let buf = '';\n // eslint-disable-next-line no-constant-condition\n while (true) {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"}\" /* TokenChars.BraceRight */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n !ch) {\n break;\n }\n else if (ch === \"%\" /* TokenChars.Modulo */) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else {\n break;\n }\n }\n else if (ch === CHAR_SP || ch === CHAR_LF) {\n if (isTextStart(scnr)) {\n buf += ch;\n scnr.next();\n }\n else if (isPluralStart(scnr)) {\n break;\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n else {\n buf += ch;\n scnr.next();\n }\n }\n return buf;\n }\n function readNamedIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let name = '';\n while ((ch = takeNamedIdentifierChar(scnr))) {\n name += ch;\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return name;\n }\n function readListIdentifier(scnr) {\n skipSpaces(scnr);\n let value = '';\n if (scnr.currentChar() === '-') {\n scnr.next();\n value += `-${getDigits(scnr)}`;\n }\n else {\n value += getDigits(scnr);\n }\n if (scnr.currentChar() === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n return value;\n }\n function isLiteral(ch) {\n return ch !== LITERAL_DELIMITER && ch !== CHAR_LF;\n }\n function readLiteral(scnr) {\n skipSpaces(scnr);\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n let ch = '';\n let literal = '';\n while ((ch = takeChar(scnr, isLiteral))) {\n if (ch === '\\\\') {\n literal += readEscapeSequence(scnr);\n }\n else {\n literal += ch;\n }\n }\n const current = scnr.currentChar();\n if (current === CHAR_LF || current === EOF) {\n emitError(CompileErrorCodes.UNTERMINATED_SINGLE_QUOTE_IN_PLACEHOLDER, currentPosition(), 0);\n // TODO: Is it correct really?\n if (current === CHAR_LF) {\n scnr.next();\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n }\n return literal;\n }\n // eslint-disable-next-line no-useless-escape\n eat(scnr, `\\'`);\n return literal;\n }\n function readEscapeSequence(scnr) {\n const ch = scnr.currentChar();\n switch (ch) {\n case '\\\\':\n case `\\'`: // eslint-disable-line no-useless-escape\n scnr.next();\n return `\\\\${ch}`;\n case 'u':\n return readUnicodeEscapeSequence(scnr, ch, 4);\n case 'U':\n return readUnicodeEscapeSequence(scnr, ch, 6);\n default:\n emitError(CompileErrorCodes.UNKNOWN_ESCAPE_SEQUENCE, currentPosition(), 0, ch);\n return '';\n }\n }\n function readUnicodeEscapeSequence(scnr, unicode, digits) {\n eat(scnr, unicode);\n let sequence = '';\n for (let i = 0; i < digits; i++) {\n const ch = takeHexDigit(scnr);\n if (!ch) {\n emitError(CompileErrorCodes.INVALID_UNICODE_ESCAPE_SEQUENCE, currentPosition(), 0, `\\\\${unicode}${sequence}${scnr.currentChar()}`);\n break;\n }\n sequence += ch;\n }\n return `\\\\${unicode}${sequence}`;\n }\n function isInvalidIdentifier(ch) {\n return (ch !== \"{\" /* TokenChars.BraceLeft */ &&\n ch !== \"}\" /* TokenChars.BraceRight */ &&\n ch !== CHAR_SP &&\n ch !== CHAR_LF);\n }\n function readInvalidIdentifier(scnr) {\n skipSpaces(scnr);\n let ch = '';\n let identifiers = '';\n while ((ch = takeChar(scnr, isInvalidIdentifier))) {\n identifiers += ch;\n }\n return identifiers;\n }\n function readLinkedModifier(scnr) {\n let ch = '';\n let name = '';\n while ((ch = takeIdentifierChar(scnr))) {\n name += ch;\n }\n return name;\n }\n function readLinkedRefer(scnr) {\n const fn = (buf) => {\n const ch = scnr.currentChar();\n if (ch === \"{\" /* TokenChars.BraceLeft */ ||\n ch === \"%\" /* TokenChars.Modulo */ ||\n ch === \"@\" /* TokenChars.LinkedAlias */ ||\n ch === \"|\" /* TokenChars.Pipe */ ||\n ch === \"(\" /* TokenChars.ParenLeft */ ||\n ch === \")\" /* TokenChars.ParenRight */ ||\n !ch) {\n return buf;\n }\n else if (ch === CHAR_SP) {\n return buf;\n }\n else if (ch === CHAR_LF || ch === DOT) {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n else {\n buf += ch;\n scnr.next();\n return fn(buf);\n }\n };\n return fn('');\n }\n function readPlural(scnr) {\n skipSpaces(scnr);\n const plural = eat(scnr, \"|\" /* TokenChars.Pipe */);\n skipSpaces(scnr);\n return plural;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInPlaceholder(scnr, context) {\n let token = null;\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n if (context.braceNest >= 1) {\n emitError(CompileErrorCodes.NOT_ALLOW_NEST_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 2 /* TokenTypes.BraceLeft */, \"{\" /* TokenChars.BraceLeft */);\n skipSpaces(scnr);\n context.braceNest++;\n return token;\n case \"}\" /* TokenChars.BraceRight */:\n if (context.braceNest > 0 &&\n context.currentType === 2 /* TokenTypes.BraceLeft */) {\n emitError(CompileErrorCodes.EMPTY_PLACEHOLDER, currentPosition(), 0);\n }\n scnr.next();\n token = getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n context.braceNest--;\n context.braceNest > 0 && skipSpaces(scnr);\n if (context.inLinked && context.braceNest === 0) {\n context.inLinked = false;\n }\n return token;\n case \"@\" /* TokenChars.LinkedAlias */:\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = readTokenInLinked(scnr, context) || getEndToken(context);\n context.braceNest = 0;\n return token;\n default: {\n let validNamedIdentifier = true;\n let validListIdentifier = true;\n let validLiteral = true;\n if (isPluralStart(scnr)) {\n if (context.braceNest > 0) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n }\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (context.braceNest > 0 &&\n (context.currentType === 5 /* TokenTypes.Named */ ||\n context.currentType === 6 /* TokenTypes.List */ ||\n context.currentType === 7 /* TokenTypes.Literal */)) {\n emitError(CompileErrorCodes.UNTERMINATED_CLOSING_BRACE, currentPosition(), 0);\n context.braceNest = 0;\n return readToken(scnr, context);\n }\n if ((validNamedIdentifier = isNamedIdentifierStart(scnr, context))) {\n token = getToken(context, 5 /* TokenTypes.Named */, readNamedIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validListIdentifier = isListIdentifierStart(scnr, context))) {\n token = getToken(context, 6 /* TokenTypes.List */, readListIdentifier(scnr));\n skipSpaces(scnr);\n return token;\n }\n if ((validLiteral = isLiteralStart(scnr, context))) {\n token = getToken(context, 7 /* TokenTypes.Literal */, readLiteral(scnr));\n skipSpaces(scnr);\n return token;\n }\n if (!validNamedIdentifier && !validListIdentifier && !validLiteral) {\n // TODO: we should be re-designed invalid cases, when we will extend message syntax near the future ...\n token = getToken(context, 13 /* TokenTypes.InvalidPlace */, readInvalidIdentifier(scnr));\n emitError(CompileErrorCodes.INVALID_TOKEN_IN_PLACEHOLDER, currentPosition(), 0, token.value);\n skipSpaces(scnr);\n return token;\n }\n break;\n }\n }\n return token;\n }\n // TODO: We need refactoring of token parsing ...\n function readTokenInLinked(scnr, context) {\n const { currentType } = context;\n let token = null;\n const ch = scnr.currentChar();\n if ((currentType === 8 /* TokenTypes.LinkedAlias */ ||\n currentType === 9 /* TokenTypes.LinkedDot */ ||\n currentType === 12 /* TokenTypes.LinkedModifier */ ||\n currentType === 10 /* TokenTypes.LinkedDelimiter */) &&\n (ch === CHAR_LF || ch === CHAR_SP)) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n switch (ch) {\n case \"@\" /* TokenChars.LinkedAlias */:\n scnr.next();\n token = getToken(context, 8 /* TokenTypes.LinkedAlias */, \"@\" /* TokenChars.LinkedAlias */);\n context.inLinked = true;\n return token;\n case \".\" /* TokenChars.LinkedDot */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 9 /* TokenTypes.LinkedDot */, \".\" /* TokenChars.LinkedDot */);\n case \":\" /* TokenChars.LinkedDelimiter */:\n skipSpaces(scnr);\n scnr.next();\n return getToken(context, 10 /* TokenTypes.LinkedDelimiter */, \":\" /* TokenChars.LinkedDelimiter */);\n default:\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n if (isLinkedDotStart(scnr, context) ||\n isLinkedDelimiterStart(scnr, context)) {\n skipSpaces(scnr);\n return readTokenInLinked(scnr, context);\n }\n if (isLinkedModifierStart(scnr, context)) {\n skipSpaces(scnr);\n return getToken(context, 12 /* TokenTypes.LinkedModifier */, readLinkedModifier(scnr));\n }\n if (isLinkedReferStart(scnr, context)) {\n skipSpaces(scnr);\n if (ch === \"{\" /* TokenChars.BraceLeft */) {\n // scan the placeholder\n return readTokenInPlaceholder(scnr, context) || token;\n }\n else {\n return getToken(context, 11 /* TokenTypes.LinkedKey */, readLinkedRefer(scnr));\n }\n }\n if (currentType === 8 /* TokenTypes.LinkedAlias */) {\n emitError(CompileErrorCodes.INVALID_LINKED_FORMAT, currentPosition(), 0);\n }\n context.braceNest = 0;\n context.inLinked = false;\n return readToken(scnr, context);\n }\n }\n // TODO: We need refactoring of token parsing ...\n function readToken(scnr, context) {\n let token = { type: 14 /* TokenTypes.EOF */ };\n if (context.braceNest > 0) {\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n }\n if (context.inLinked) {\n return readTokenInLinked(scnr, context) || getEndToken(context);\n }\n const ch = scnr.currentChar();\n switch (ch) {\n case \"{\" /* TokenChars.BraceLeft */:\n return readTokenInPlaceholder(scnr, context) || getEndToken(context);\n case \"}\" /* TokenChars.BraceRight */:\n emitError(CompileErrorCodes.UNBALANCED_CLOSING_BRACE, currentPosition(), 0);\n scnr.next();\n return getToken(context, 3 /* TokenTypes.BraceRight */, \"}\" /* TokenChars.BraceRight */);\n case \"@\" /* TokenChars.LinkedAlias */:\n return readTokenInLinked(scnr, context) || getEndToken(context);\n default: {\n if (isPluralStart(scnr)) {\n token = getToken(context, 1 /* TokenTypes.Pipe */, readPlural(scnr));\n // reset\n context.braceNest = 0;\n context.inLinked = false;\n return token;\n }\n const { isModulo, hasSpace } = detectModuloStart(scnr);\n if (isModulo) {\n return hasSpace\n ? getToken(context, 0 /* TokenTypes.Text */, readText(scnr))\n : getToken(context, 4 /* TokenTypes.Modulo */, readModulo(scnr));\n }\n if (isTextStart(scnr)) {\n return getToken(context, 0 /* TokenTypes.Text */, readText(scnr));\n }\n break;\n }\n }\n return token;\n }\n function nextToken() {\n const { currentType, offset, startLoc, endLoc } = _context;\n _context.lastType = currentType;\n _context.lastOffset = offset;\n _context.lastStartLoc = startLoc;\n _context.lastEndLoc = endLoc;\n _context.offset = currentOffset();\n _context.startLoc = currentPosition();\n if (_scnr.currentChar() === EOF) {\n return getToken(_context, 14 /* TokenTypes.EOF */);\n }\n return readToken(_scnr, _context);\n }\n return {\n nextToken,\n currentOffset,\n currentPosition,\n context\n };\n}\n\nconst ERROR_DOMAIN$2 = 'parser';\n// Backslash backslash, backslash quote, uHHHH, UHHHHHH.\nconst KNOWN_ESCAPES = /(?:\\\\\\\\|\\\\'|\\\\u([0-9a-fA-F]{4})|\\\\U([0-9a-fA-F]{6}))/g;\nfunction fromEscapeSequence(match, codePoint4, codePoint6) {\n switch (match) {\n case `\\\\\\\\`:\n return `\\\\`;\n // eslint-disable-next-line no-useless-escape\n case `\\\\\\'`:\n // eslint-disable-next-line no-useless-escape\n return `\\'`;\n default: {\n const codePoint = parseInt(codePoint4 || codePoint6, 16);\n if (codePoint <= 0xd7ff || codePoint >= 0xe000) {\n return String.fromCodePoint(codePoint);\n }\n // invalid ...\n // Replace them with U+FFFD REPLACEMENT CHARACTER.\n return '�';\n }\n }\n}\nfunction createParser(options = {}) {\n const location = options.location !== false;\n const { onError, onWarn } = options;\n function emitError(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onError) {\n const loc = location ? createLocation(start, end) : null;\n const err = createCompileError(code, loc, {\n domain: ERROR_DOMAIN$2,\n args\n });\n onError(err);\n }\n }\n function emitWarn(tokenzer, code, start, offset, ...args) {\n const end = tokenzer.currentPosition();\n end.offset += offset;\n end.column += offset;\n if (onWarn) {\n const loc = location ? createLocation(start, end) : null;\n onWarn(createCompileWarn(code, loc, args));\n }\n }\n function startNode(type, offset, loc) {\n const node = { type };\n if (location) {\n node.start = offset;\n node.end = offset;\n node.loc = { start: loc, end: loc };\n }\n return node;\n }\n function endNode(node, offset, pos, type) {\n if (type) {\n node.type = type;\n }\n if (location) {\n node.end = offset;\n if (node.loc) {\n node.loc.end = pos;\n }\n }\n }\n function parseText(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(3 /* NodeTypes.Text */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseList(tokenizer, index) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(5 /* NodeTypes.List */, offset, loc);\n node.index = parseInt(index, 10);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseNamed(tokenizer, key, modulo) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(4 /* NodeTypes.Named */, offset, loc);\n node.key = key;\n if (modulo === true) {\n node.modulo = true;\n }\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLiteral(tokenizer, value) {\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get brace left loc\n const node = startNode(9 /* NodeTypes.Literal */, offset, loc);\n node.value = value.replace(KNOWN_ESCAPES, fromEscapeSequence);\n tokenizer.nextToken(); // skip brach right\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinkedModifier(tokenizer) {\n const token = tokenizer.nextToken();\n const context = tokenizer.context();\n const { lastOffset: offset, lastStartLoc: loc } = context; // get linked dot loc\n const node = startNode(8 /* NodeTypes.LinkedModifier */, offset, loc);\n if (token.type !== 12 /* TokenTypes.LinkedModifier */) {\n // empty modifier\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_MODIFIER, context.lastStartLoc, 0);\n node.value = '';\n endNode(node, offset, loc);\n return {\n nextConsumeToken: token,\n node\n };\n }\n // check token\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.value = token.value || '';\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node\n };\n }\n function parseLinkedKey(tokenizer, value) {\n const context = tokenizer.context();\n const node = startNode(7 /* NodeTypes.LinkedKey */, context.offset, context.startLoc);\n node.value = value;\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseLinked(tokenizer) {\n const context = tokenizer.context();\n const linkedNode = startNode(6 /* NodeTypes.Linked */, context.offset, context.startLoc);\n let token = tokenizer.nextToken();\n if (token.type === 9 /* TokenTypes.LinkedDot */) {\n const parsed = parseLinkedModifier(tokenizer);\n linkedNode.modifier = parsed.node;\n token = parsed.nextConsumeToken || tokenizer.nextToken();\n }\n // asset check token\n if (token.type !== 10 /* TokenTypes.LinkedDelimiter */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n token = tokenizer.nextToken();\n // skip brace left\n if (token.type === 2 /* TokenTypes.BraceLeft */) {\n token = tokenizer.nextToken();\n }\n switch (token.type) {\n case 11 /* TokenTypes.LinkedKey */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLinkedKey(tokenizer, token.value || '');\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseNamed(tokenizer, token.value || '');\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseList(tokenizer, token.value || '');\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n linkedNode.key = parseLiteral(tokenizer, token.value || '');\n break;\n default: {\n // empty key\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_EMPTY_LINKED_KEY, context.lastStartLoc, 0);\n const nextContext = tokenizer.context();\n const emptyLinkedKeyNode = startNode(7 /* NodeTypes.LinkedKey */, nextContext.offset, nextContext.startLoc);\n emptyLinkedKeyNode.value = '';\n endNode(emptyLinkedKeyNode, nextContext.offset, nextContext.startLoc);\n linkedNode.key = emptyLinkedKeyNode;\n endNode(linkedNode, nextContext.offset, nextContext.startLoc);\n return {\n nextConsumeToken: token,\n node: linkedNode\n };\n }\n }\n endNode(linkedNode, tokenizer.currentOffset(), tokenizer.currentPosition());\n return {\n node: linkedNode\n };\n }\n function parseMessage(tokenizer) {\n const context = tokenizer.context();\n const startOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? tokenizer.currentOffset()\n : context.offset;\n const startLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.endLoc\n : context.startLoc;\n const node = startNode(2 /* NodeTypes.Message */, startOffset, startLoc);\n node.items = [];\n let nextToken = null;\n let modulo = null;\n do {\n const token = nextToken || tokenizer.nextToken();\n nextToken = null;\n switch (token.type) {\n case 0 /* TokenTypes.Text */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseText(tokenizer, token.value || ''));\n break;\n case 6 /* TokenTypes.List */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseList(tokenizer, token.value || ''));\n break;\n case 4 /* TokenTypes.Modulo */:\n modulo = true;\n break;\n case 5 /* TokenTypes.Named */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseNamed(tokenizer, token.value || '', !!modulo));\n if (modulo) {\n emitWarn(tokenizer, CompileWarnCodes.USE_MODULO_SYNTAX, context.lastStartLoc, 0, getTokenCaption(token));\n modulo = null;\n }\n break;\n case 7 /* TokenTypes.Literal */:\n if (token.value == null) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, getTokenCaption(token));\n }\n node.items.push(parseLiteral(tokenizer, token.value || ''));\n break;\n case 8 /* TokenTypes.LinkedAlias */: {\n const parsed = parseLinked(tokenizer);\n node.items.push(parsed.node);\n nextToken = parsed.nextConsumeToken || null;\n break;\n }\n }\n } while (context.currentType !== 14 /* TokenTypes.EOF */ &&\n context.currentType !== 1 /* TokenTypes.Pipe */);\n // adjust message node loc\n const endOffset = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastOffset\n : tokenizer.currentOffset();\n const endLoc = context.currentType === 1 /* TokenTypes.Pipe */\n ? context.lastEndLoc\n : tokenizer.currentPosition();\n endNode(node, endOffset, endLoc);\n return node;\n }\n function parsePlural(tokenizer, offset, loc, msgNode) {\n const context = tokenizer.context();\n let hasEmptyMessage = msgNode.items.length === 0;\n const node = startNode(1 /* NodeTypes.Plural */, offset, loc);\n node.cases = [];\n node.cases.push(msgNode);\n do {\n const msg = parseMessage(tokenizer);\n if (!hasEmptyMessage) {\n hasEmptyMessage = msg.items.length === 0;\n }\n node.cases.push(msg);\n } while (context.currentType !== 14 /* TokenTypes.EOF */);\n if (hasEmptyMessage) {\n emitError(tokenizer, CompileErrorCodes.MUST_HAVE_MESSAGES_IN_PLURAL, loc, 0);\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n function parseResource(tokenizer) {\n const context = tokenizer.context();\n const { offset, startLoc } = context;\n const msgNode = parseMessage(tokenizer);\n if (context.currentType === 14 /* TokenTypes.EOF */) {\n return msgNode;\n }\n else {\n return parsePlural(tokenizer, offset, startLoc, msgNode);\n }\n }\n function parse(source) {\n const tokenizer = createTokenizer(source, assign({}, options));\n const context = tokenizer.context();\n const node = startNode(0 /* NodeTypes.Resource */, context.offset, context.startLoc);\n if (location && node.loc) {\n node.loc.source = source;\n }\n node.body = parseResource(tokenizer);\n if (options.onCacheKey) {\n node.cacheKey = options.onCacheKey(source);\n }\n // assert whether achieved to EOF\n if (context.currentType !== 14 /* TokenTypes.EOF */) {\n emitError(tokenizer, CompileErrorCodes.UNEXPECTED_LEXICAL_ANALYSIS, context.lastStartLoc, 0, source[context.offset] || '');\n }\n endNode(node, tokenizer.currentOffset(), tokenizer.currentPosition());\n return node;\n }\n return { parse };\n}\nfunction getTokenCaption(token) {\n if (token.type === 14 /* TokenTypes.EOF */) {\n return 'EOF';\n }\n const name = (token.value || '').replace(/\\r?\\n/gu, '\\\\n');\n return name.length > 10 ? name.slice(0, 9) + '…' : name;\n}\n\nfunction createTransformer(ast, options = {} // eslint-disable-line\n) {\n const _context = {\n ast,\n helpers: new Set()\n };\n const context = () => _context;\n const helper = (name) => {\n _context.helpers.add(name);\n return name;\n };\n return { context, helper };\n}\nfunction traverseNodes(nodes, transformer) {\n for (let i = 0; i < nodes.length; i++) {\n traverseNode(nodes[i], transformer);\n }\n}\nfunction traverseNode(node, transformer) {\n // TODO: if we need pre-hook of transform, should be implemented to here\n switch (node.type) {\n case 1 /* NodeTypes.Plural */:\n traverseNodes(node.cases, transformer);\n transformer.helper(\"plural\" /* HelperNameMap.PLURAL */);\n break;\n case 2 /* NodeTypes.Message */:\n traverseNodes(node.items, transformer);\n break;\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n traverseNode(linked.key, transformer);\n transformer.helper(\"linked\" /* HelperNameMap.LINKED */);\n transformer.helper(\"type\" /* HelperNameMap.TYPE */);\n break;\n }\n case 5 /* NodeTypes.List */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"list\" /* HelperNameMap.LIST */);\n break;\n case 4 /* NodeTypes.Named */:\n transformer.helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */);\n transformer.helper(\"named\" /* HelperNameMap.NAMED */);\n break;\n }\n // TODO: if we need post-hook of transform, should be implemented to here\n}\n// transform AST\nfunction transform(ast, options = {} // eslint-disable-line\n) {\n const transformer = createTransformer(ast);\n transformer.helper(\"normalize\" /* HelperNameMap.NORMALIZE */);\n // traverse\n ast.body && traverseNode(ast.body, transformer);\n // set meta information\n const context = transformer.context();\n ast.helpers = Array.from(context.helpers);\n}\n\nfunction optimize(ast) {\n const body = ast.body;\n if (body.type === 2 /* NodeTypes.Message */) {\n optimizeMessageNode(body);\n }\n else {\n body.cases.forEach(c => optimizeMessageNode(c));\n }\n return ast;\n}\nfunction optimizeMessageNode(message) {\n if (message.items.length === 1) {\n const item = message.items[0];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n message.static = item.value;\n delete item.value; // optimization for size\n }\n }\n else {\n const values = [];\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (!(item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */)) {\n break;\n }\n if (item.value == null) {\n break;\n }\n values.push(item.value);\n }\n if (values.length === message.items.length) {\n message.static = join(values);\n for (let i = 0; i < message.items.length; i++) {\n const item = message.items[i];\n if (item.type === 3 /* NodeTypes.Text */ || item.type === 9 /* NodeTypes.Literal */) {\n delete item.value; // optimization for size\n }\n }\n }\n }\n}\n\nconst ERROR_DOMAIN$1 = 'minifier';\n/* eslint-disable @typescript-eslint/no-explicit-any */\nfunction minify(node) {\n node.t = node.type;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */: {\n const resource = node;\n minify(resource.body);\n resource.b = resource.body;\n delete resource.body;\n break;\n }\n case 1 /* NodeTypes.Plural */: {\n const plural = node;\n const cases = plural.cases;\n for (let i = 0; i < cases.length; i++) {\n minify(cases[i]);\n }\n plural.c = cases;\n delete plural.cases;\n break;\n }\n case 2 /* NodeTypes.Message */: {\n const message = node;\n const items = message.items;\n for (let i = 0; i < items.length; i++) {\n minify(items[i]);\n }\n message.i = items;\n delete message.items;\n if (message.static) {\n message.s = message.static;\n delete message.static;\n }\n break;\n }\n case 3 /* NodeTypes.Text */:\n case 9 /* NodeTypes.Literal */:\n case 8 /* NodeTypes.LinkedModifier */:\n case 7 /* NodeTypes.LinkedKey */: {\n const valueNode = node;\n if (valueNode.value) {\n valueNode.v = valueNode.value;\n delete valueNode.value;\n }\n break;\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n minify(linked.key);\n linked.k = linked.key;\n delete linked.key;\n if (linked.modifier) {\n minify(linked.modifier);\n linked.m = linked.modifier;\n delete linked.modifier;\n }\n break;\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n list.i = list.index;\n delete list.index;\n break;\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n named.k = named.key;\n delete named.key;\n break;\n }\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_MINIFIER_NODE_TYPE, null, {\n domain: ERROR_DOMAIN$1,\n args: [node.type]\n });\n }\n }\n delete node.type;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n// eslint-disable-next-line @typescript-eslint/triple-slash-reference\n/// \nconst ERROR_DOMAIN = 'parser';\nfunction createCodeGenerator(ast, options) {\n const { sourceMap, filename, breakLineCode, needIndent: _needIndent } = options;\n const location = options.location !== false;\n const _context = {\n filename,\n code: '',\n column: 1,\n line: 1,\n offset: 0,\n map: undefined,\n breakLineCode,\n needIndent: _needIndent,\n indentLevel: 0\n };\n if (location && ast.loc) {\n _context.source = ast.loc.source;\n }\n const context = () => _context;\n function push(code, node) {\n _context.code += code;\n }\n function _newline(n, withBreakLine = true) {\n const _breakLineCode = withBreakLine ? breakLineCode : '';\n push(_needIndent ? _breakLineCode + ` `.repeat(n) : _breakLineCode);\n }\n function indent(withNewLine = true) {\n const level = ++_context.indentLevel;\n withNewLine && _newline(level);\n }\n function deindent(withNewLine = true) {\n const level = --_context.indentLevel;\n withNewLine && _newline(level);\n }\n function newline() {\n _newline(_context.indentLevel);\n }\n const helper = (key) => `_${key}`;\n const needIndent = () => _context.needIndent;\n return {\n context,\n push,\n indent,\n deindent,\n newline,\n helper,\n needIndent\n };\n}\nfunction generateLinkedNode(generator, node) {\n const { helper } = generator;\n generator.push(`${helper(\"linked\" /* HelperNameMap.LINKED */)}(`);\n generateNode(generator, node.key);\n if (node.modifier) {\n generator.push(`, `);\n generateNode(generator, node.modifier);\n generator.push(`, _type`);\n }\n else {\n generator.push(`, undefined, _type`);\n }\n generator.push(`)`);\n}\nfunction generateMessageNode(generator, node) {\n const { helper, needIndent } = generator;\n generator.push(`${helper(\"normalize\" /* HelperNameMap.NORMALIZE */)}([`);\n generator.indent(needIndent());\n const length = node.items.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.items[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push('])');\n}\nfunction generatePluralNode(generator, node) {\n const { helper, needIndent } = generator;\n if (node.cases.length > 1) {\n generator.push(`${helper(\"plural\" /* HelperNameMap.PLURAL */)}([`);\n generator.indent(needIndent());\n const length = node.cases.length;\n for (let i = 0; i < length; i++) {\n generateNode(generator, node.cases[i]);\n if (i === length - 1) {\n break;\n }\n generator.push(', ');\n }\n generator.deindent(needIndent());\n generator.push(`])`);\n }\n}\nfunction generateResource(generator, node) {\n if (node.body) {\n generateNode(generator, node.body);\n }\n else {\n generator.push('null');\n }\n}\nfunction generateNode(generator, node) {\n const { helper } = generator;\n switch (node.type) {\n case 0 /* NodeTypes.Resource */:\n generateResource(generator, node);\n break;\n case 1 /* NodeTypes.Plural */:\n generatePluralNode(generator, node);\n break;\n case 2 /* NodeTypes.Message */:\n generateMessageNode(generator, node);\n break;\n case 6 /* NodeTypes.Linked */:\n generateLinkedNode(generator, node);\n break;\n case 8 /* NodeTypes.LinkedModifier */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 7 /* NodeTypes.LinkedKey */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 5 /* NodeTypes.List */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"list\" /* HelperNameMap.LIST */)}(${node.index}))`, node);\n break;\n case 4 /* NodeTypes.Named */:\n generator.push(`${helper(\"interpolate\" /* HelperNameMap.INTERPOLATE */)}(${helper(\"named\" /* HelperNameMap.NAMED */)}(${JSON.stringify(node.key)}))`, node);\n break;\n case 9 /* NodeTypes.Literal */:\n generator.push(JSON.stringify(node.value), node);\n break;\n case 3 /* NodeTypes.Text */:\n generator.push(JSON.stringify(node.value), node);\n break;\n default:\n {\n throw createCompileError(CompileErrorCodes.UNHANDLED_CODEGEN_NODE_TYPE, null, {\n domain: ERROR_DOMAIN,\n args: [node.type]\n });\n }\n }\n}\n// generate code from AST\nconst generate = (ast, options = {} // eslint-disable-line\n) => {\n const mode = isString(options.mode) ? options.mode : 'normal';\n const filename = isString(options.filename)\n ? options.filename\n : 'message.intl';\n const sourceMap = !!options.sourceMap;\n // prettier-ignore\n const breakLineCode = options.breakLineCode != null\n ? options.breakLineCode\n : mode === 'arrow'\n ? ';'\n : '\\n';\n const needIndent = options.needIndent ? options.needIndent : mode !== 'arrow';\n const helpers = ast.helpers || [];\n const generator = createCodeGenerator(ast, {\n mode,\n filename,\n sourceMap,\n breakLineCode,\n needIndent\n });\n generator.push(mode === 'normal' ? `function __msg__ (ctx) {` : `(ctx) => {`);\n generator.indent(needIndent);\n if (helpers.length > 0) {\n generator.push(`const { ${join(helpers.map(s => `${s}: _${s}`), ', ')} } = ctx`);\n generator.newline();\n }\n generator.push(`return `);\n generateNode(generator, ast);\n generator.deindent(needIndent);\n generator.push(`}`);\n delete ast.helpers;\n const { code, map } = generator.context();\n return {\n ast,\n code,\n map: map ? map.toJSON() : undefined // eslint-disable-line @typescript-eslint/no-explicit-any\n };\n};\n\nfunction baseCompile(source, options = {}) {\n const assignedOptions = assign({}, options);\n const jit = !!assignedOptions.jit;\n const enalbeMinify = !!assignedOptions.minify;\n const enambeOptimize = assignedOptions.optimize == null ? true : assignedOptions.optimize;\n // parse source codes\n const parser = createParser(assignedOptions);\n const ast = parser.parse(source);\n if (!jit) {\n // transform ASTs\n transform(ast, assignedOptions);\n // generate javascript codes\n return generate(ast, assignedOptions);\n }\n else {\n // optimize ASTs\n enambeOptimize && optimize(ast);\n // minimize ASTs\n enalbeMinify && minify(ast);\n // In JIT mode, no ast transform, no code generation.\n return { ast, code: '' };\n }\n}\n\nexport { CompileErrorCodes, CompileWarnCodes, ERROR_DOMAIN$2 as ERROR_DOMAIN, LOCATION_STUB, baseCompile, createCompileError, createCompileWarn, createLocation, createParser, createPosition, defaultOnError, detectHtmlTag, errorMessages, warnMessages };\n","/*!\n * core-base v9.13.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, isObject, isFunction, isString, isNumber, isPlainObject, assign, join, toDisplayString, isArray, incrementer, format as format$1, isPromise, isBoolean, warn, isRegExp, warnOnce, escapeHtml, inBrowser, mark, measure, isEmptyObject, generateCodeFrame, generateFormatCacheKey, isDate } from '@intlify/shared';\nimport { CompileWarnCodes, CompileErrorCodes, createCompileError, detectHtmlTag, defaultOnError, baseCompile as baseCompile$1 } from '@intlify/message-compiler';\nexport { CompileErrorCodes, createCompileError } from '@intlify/message-compiler';\n\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n if (typeof __INTLIFY_JIT_COMPILATION__ !== 'boolean') {\n getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n}\n\nconst pathStateMachine = [];\npathStateMachine[0 /* States.BEFORE_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [0 /* States.BEFORE_PATH */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[1 /* States.IN_PATH */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */]\n};\npathStateMachine[2 /* States.BEFORE_IDENT */] = {\n [\"w\" /* PathCharTypes.WORKSPACE */]: [2 /* States.BEFORE_IDENT */],\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */]\n};\npathStateMachine[3 /* States.IN_IDENT */] = {\n [\"i\" /* PathCharTypes.IDENT */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"0\" /* PathCharTypes.ZERO */]: [3 /* States.IN_IDENT */, 0 /* Actions.APPEND */],\n [\"w\" /* PathCharTypes.WORKSPACE */]: [1 /* States.IN_PATH */, 1 /* Actions.PUSH */],\n [\".\" /* PathCharTypes.DOT */]: [2 /* States.BEFORE_IDENT */, 1 /* Actions.PUSH */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [4 /* States.IN_SUB_PATH */, 1 /* Actions.PUSH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: [7 /* States.AFTER_PATH */, 1 /* Actions.PUSH */]\n};\npathStateMachine[4 /* States.IN_SUB_PATH */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */],\n [\"[\" /* PathCharTypes.LEFT_BRACKET */]: [\n 4 /* States.IN_SUB_PATH */,\n 2 /* Actions.INC_SUB_PATH_DEPTH */\n ],\n [\"]\" /* PathCharTypes.RIGHT_BRACKET */]: [1 /* States.IN_PATH */, 3 /* Actions.PUSH_SUB_PATH */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */]\n};\npathStateMachine[5 /* States.IN_SINGLE_QUOTE */] = {\n [\"'\" /* PathCharTypes.SINGLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [5 /* States.IN_SINGLE_QUOTE */, 0 /* Actions.APPEND */]\n};\npathStateMachine[6 /* States.IN_DOUBLE_QUOTE */] = {\n [\"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */]: [4 /* States.IN_SUB_PATH */, 0 /* Actions.APPEND */],\n [\"o\" /* PathCharTypes.END_OF_FAIL */]: 8 /* States.ERROR */,\n [\"l\" /* PathCharTypes.ELSE */]: [6 /* States.IN_DOUBLE_QUOTE */, 0 /* Actions.APPEND */]\n};\n/**\n * Check if an expression is a literal value.\n */\nconst literalValueRE = /^\\s?(?:true|false|-?[\\d.]+|'[^']*'|\"[^\"]*\")\\s?$/;\nfunction isLiteral(exp) {\n return literalValueRE.test(exp);\n}\n/**\n * Strip quotes from a string\n */\nfunction stripQuotes(str) {\n const a = str.charCodeAt(0);\n const b = str.charCodeAt(str.length - 1);\n return a === b && (a === 0x22 || a === 0x27) ? str.slice(1, -1) : str;\n}\n/**\n * Determine the type of a character in a keypath.\n */\nfunction getPathCharType(ch) {\n if (ch === undefined || ch === null) {\n return \"o\" /* PathCharTypes.END_OF_FAIL */;\n }\n const code = ch.charCodeAt(0);\n switch (code) {\n case 0x5b: // [\n case 0x5d: // ]\n case 0x2e: // .\n case 0x22: // \"\n case 0x27: // '\n return ch;\n case 0x5f: // _\n case 0x24: // $\n case 0x2d: // -\n return \"i\" /* PathCharTypes.IDENT */;\n case 0x09: // Tab (HT)\n case 0x0a: // Newline (LF)\n case 0x0d: // Return (CR)\n case 0xa0: // No-break space (NBSP)\n case 0xfeff: // Byte Order Mark (BOM)\n case 0x2028: // Line Separator (LS)\n case 0x2029: // Paragraph Separator (PS)\n return \"w\" /* PathCharTypes.WORKSPACE */;\n }\n return \"i\" /* PathCharTypes.IDENT */;\n}\n/**\n * Format a subPath, return its plain form if it is\n * a literal string or number. Otherwise prepend the\n * dynamic indicator (*).\n */\nfunction formatSubPath(path) {\n const trimmed = path.trim();\n // invalid leading 0\n if (path.charAt(0) === '0' && isNaN(parseInt(path))) {\n return false;\n }\n return isLiteral(trimmed)\n ? stripQuotes(trimmed)\n : \"*\" /* PathCharTypes.ASTARISK */ + trimmed;\n}\n/**\n * Parse a string path into an array of segments\n */\nfunction parse(path) {\n const keys = [];\n let index = -1;\n let mode = 0 /* States.BEFORE_PATH */;\n let subPathDepth = 0;\n let c;\n let key; // eslint-disable-line\n let newChar;\n let type;\n let transition;\n let action;\n let typeMap;\n const actions = [];\n actions[0 /* Actions.APPEND */] = () => {\n if (key === undefined) {\n key = newChar;\n }\n else {\n key += newChar;\n }\n };\n actions[1 /* Actions.PUSH */] = () => {\n if (key !== undefined) {\n keys.push(key);\n key = undefined;\n }\n };\n actions[2 /* Actions.INC_SUB_PATH_DEPTH */] = () => {\n actions[0 /* Actions.APPEND */]();\n subPathDepth++;\n };\n actions[3 /* Actions.PUSH_SUB_PATH */] = () => {\n if (subPathDepth > 0) {\n subPathDepth--;\n mode = 4 /* States.IN_SUB_PATH */;\n actions[0 /* Actions.APPEND */]();\n }\n else {\n subPathDepth = 0;\n if (key === undefined) {\n return false;\n }\n key = formatSubPath(key);\n if (key === false) {\n return false;\n }\n else {\n actions[1 /* Actions.PUSH */]();\n }\n }\n };\n function maybeUnescapeQuote() {\n const nextChar = path[index + 1];\n if ((mode === 5 /* States.IN_SINGLE_QUOTE */ &&\n nextChar === \"'\" /* PathCharTypes.SINGLE_QUOTE */) ||\n (mode === 6 /* States.IN_DOUBLE_QUOTE */ &&\n nextChar === \"\\\"\" /* PathCharTypes.DOUBLE_QUOTE */)) {\n index++;\n newChar = '\\\\' + nextChar;\n actions[0 /* Actions.APPEND */]();\n return true;\n }\n }\n while (mode !== null) {\n index++;\n c = path[index];\n if (c === '\\\\' && maybeUnescapeQuote()) {\n continue;\n }\n type = getPathCharType(c);\n typeMap = pathStateMachine[mode];\n transition = typeMap[type] || typeMap[\"l\" /* PathCharTypes.ELSE */] || 8 /* States.ERROR */;\n // check parse error\n if (transition === 8 /* States.ERROR */) {\n return;\n }\n mode = transition[0];\n if (transition[1] !== undefined) {\n action = actions[transition[1]];\n if (action) {\n newChar = c;\n if (action() === false) {\n return;\n }\n }\n }\n // check parse finish\n if (mode === 7 /* States.AFTER_PATH */) {\n return keys;\n }\n }\n}\n// path token cache\nconst cache = new Map();\n/**\n * key-value message resolver\n *\n * @remarks\n * Resolves messages with the key-value structure. Note that messages with a hierarchical structure such as objects cannot be resolved\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveWithKeyValue(obj, path) {\n return isObject(obj) ? obj[path] : null;\n}\n/**\n * message resolver\n *\n * @remarks\n * Resolves messages. messages with a hierarchical structure such as objects can be resolved. This resolver is used in VueI18n as default.\n *\n * @param obj - A target object to be resolved with path\n * @param path - A {@link Path | path} to resolve the value of message\n *\n * @returns A resolved {@link PathValue | path value}\n *\n * @VueI18nGeneral\n */\nfunction resolveValue(obj, path) {\n // check object\n if (!isObject(obj)) {\n return null;\n }\n // parse path\n let hit = cache.get(path);\n if (!hit) {\n hit = parse(path);\n if (hit) {\n cache.set(path, hit);\n }\n }\n // check hit\n if (!hit) {\n return null;\n }\n // resolve path value\n const len = hit.length;\n let last = obj;\n let i = 0;\n while (i < len) {\n const val = last[hit[i]];\n if (val === undefined) {\n return null;\n }\n if (isFunction(last)) {\n return null;\n }\n last = val;\n i++;\n }\n return last;\n}\n\nconst DEFAULT_MODIFIER = (str) => str;\nconst DEFAULT_MESSAGE = (ctx) => ''; // eslint-disable-line\nconst DEFAULT_MESSAGE_DATA_TYPE = 'text';\nconst DEFAULT_NORMALIZE = (values) => values.length === 0 ? '' : join(values);\nconst DEFAULT_INTERPOLATE = toDisplayString;\nfunction pluralDefault(choice, choicesLength) {\n choice = Math.abs(choice);\n if (choicesLength === 2) {\n // prettier-ignore\n return choice\n ? choice > 1\n ? 1\n : 0\n : 1;\n }\n return choice ? Math.min(choice, 2) : 0;\n}\nfunction getPluralIndex(options) {\n // prettier-ignore\n const index = isNumber(options.pluralIndex)\n ? options.pluralIndex\n : -1;\n // prettier-ignore\n return options.named && (isNumber(options.named.count) || isNumber(options.named.n))\n ? isNumber(options.named.count)\n ? options.named.count\n : isNumber(options.named.n)\n ? options.named.n\n : index\n : index;\n}\nfunction normalizeNamed(pluralIndex, props) {\n if (!props.count) {\n props.count = pluralIndex;\n }\n if (!props.n) {\n props.n = pluralIndex;\n }\n}\nfunction createMessageContext(options = {}) {\n const locale = options.locale;\n const pluralIndex = getPluralIndex(options);\n const pluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? options.pluralRules[locale]\n : pluralDefault;\n const orgPluralRule = isObject(options.pluralRules) &&\n isString(locale) &&\n isFunction(options.pluralRules[locale])\n ? pluralDefault\n : undefined;\n const plural = (messages) => {\n return messages[pluralRule(pluralIndex, messages.length, orgPluralRule)];\n };\n const _list = options.list || [];\n const list = (index) => _list[index];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _named = options.named || {};\n isNumber(options.pluralIndex) && normalizeNamed(pluralIndex, _named);\n const named = (key) => _named[key];\n function message(key) {\n // prettier-ignore\n const msg = isFunction(options.messages)\n ? options.messages(key)\n : isObject(options.messages)\n ? options.messages[key]\n : false;\n return !msg\n ? options.parent\n ? options.parent.message(key) // resolve from parent messages\n : DEFAULT_MESSAGE\n : msg;\n }\n const _modifier = (name) => options.modifiers\n ? options.modifiers[name]\n : DEFAULT_MODIFIER;\n const normalize = isPlainObject(options.processor) && isFunction(options.processor.normalize)\n ? options.processor.normalize\n : DEFAULT_NORMALIZE;\n const interpolate = isPlainObject(options.processor) &&\n isFunction(options.processor.interpolate)\n ? options.processor.interpolate\n : DEFAULT_INTERPOLATE;\n const type = isPlainObject(options.processor) && isString(options.processor.type)\n ? options.processor.type\n : DEFAULT_MESSAGE_DATA_TYPE;\n const linked = (key, ...args) => {\n const [arg1, arg2] = args;\n let type = 'text';\n let modifier = '';\n if (args.length === 1) {\n if (isObject(arg1)) {\n modifier = arg1.modifier || modifier;\n type = arg1.type || type;\n }\n else if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n }\n else if (args.length === 2) {\n if (isString(arg1)) {\n modifier = arg1 || modifier;\n }\n if (isString(arg2)) {\n type = arg2 || type;\n }\n }\n const ret = message(key)(ctx);\n const msg = \n // The message in vnode resolved with linked are returned as an array by processor.nomalize\n type === 'vnode' && isArray(ret) && modifier\n ? ret[0]\n : ret;\n return modifier ? _modifier(modifier)(msg, type) : msg;\n };\n const ctx = {\n [\"list\" /* HelperNameMap.LIST */]: list,\n [\"named\" /* HelperNameMap.NAMED */]: named,\n [\"plural\" /* HelperNameMap.PLURAL */]: plural,\n [\"linked\" /* HelperNameMap.LINKED */]: linked,\n [\"message\" /* HelperNameMap.MESSAGE */]: message,\n [\"type\" /* HelperNameMap.TYPE */]: type,\n [\"interpolate\" /* HelperNameMap.INTERPOLATE */]: interpolate,\n [\"normalize\" /* HelperNameMap.NORMALIZE */]: normalize,\n [\"values\" /* HelperNameMap.VALUES */]: assign({}, _list, _named)\n };\n return ctx;\n}\n\nlet devtools = null;\nfunction setDevToolsHook(hook) {\n devtools = hook;\n}\nfunction getDevToolsHook() {\n return devtools;\n}\nfunction initI18nDevTools(i18n, version, meta) {\n // TODO: queue if devtools is undefined\n devtools &&\n devtools.emit(\"i18n:init\" /* IntlifyDevToolsHooks.I18nInit */, {\n timestamp: Date.now(),\n i18n,\n version,\n meta\n });\n}\nconst translateDevTools = /* #__PURE__*/ createDevToolsHook(\"function:translate\" /* IntlifyDevToolsHooks.FunctionTranslate */);\nfunction createDevToolsHook(hook) {\n return (payloads) => devtools && devtools.emit(hook, payloads);\n}\n\nconst code$1 = CompileWarnCodes.__EXTEND_POINT__;\nconst inc$1 = incrementer(code$1);\nconst CoreWarnCodes = {\n NOT_FOUND_KEY: code$1, // 2\n FALLBACK_TO_TRANSLATE: inc$1(), // 3\n CANNOT_FORMAT_NUMBER: inc$1(), // 4\n FALLBACK_TO_NUMBER_FORMAT: inc$1(), // 5\n CANNOT_FORMAT_DATE: inc$1(), // 6\n FALLBACK_TO_DATE_FORMAT: inc$1(), // 7\n EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER: inc$1(), // 8\n __EXTEND_POINT__: inc$1() // 9\n};\n/** @internal */\nconst warnMessages = {\n [CoreWarnCodes.NOT_FOUND_KEY]: `Not found '{key}' key in '{locale}' locale messages.`,\n [CoreWarnCodes.FALLBACK_TO_TRANSLATE]: `Fall back to translate '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_NUMBER]: `Cannot format a number value due to not supported Intl.NumberFormat.`,\n [CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT]: `Fall back to number format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.CANNOT_FORMAT_DATE]: `Cannot format a date value due to not supported Intl.DateTimeFormat.`,\n [CoreWarnCodes.FALLBACK_TO_DATE_FORMAT]: `Fall back to datetime format '{key}' key with '{target}' locale.`,\n [CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER]: `This project is using Custom Message Compiler, which is an experimental feature. It may receive breaking changes or be removed in the future.`\n};\nfunction getWarnMessage(code, ...args) {\n return format$1(warnMessages[code], ...args);\n}\n\nconst code = CompileErrorCodes.__EXTEND_POINT__;\nconst inc = incrementer(code);\nconst CoreErrorCodes = {\n INVALID_ARGUMENT: code, // 17\n INVALID_DATE_ARGUMENT: inc(), // 18\n INVALID_ISO_DATE_ARGUMENT: inc(), // 19\n NOT_SUPPORT_NON_STRING_MESSAGE: inc(), // 20\n NOT_SUPPORT_LOCALE_PROMISE_VALUE: inc(), // 21\n NOT_SUPPORT_LOCALE_ASYNC_FUNCTION: inc(), // 22\n NOT_SUPPORT_LOCALE_TYPE: inc(), // 23\n __EXTEND_POINT__: inc() // 24\n};\nfunction createCoreError(code) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages } : undefined);\n}\n/** @internal */\nconst errorMessages = {\n [CoreErrorCodes.INVALID_ARGUMENT]: 'Invalid arguments',\n [CoreErrorCodes.INVALID_DATE_ARGUMENT]: 'The date provided is an invalid Date object.' +\n 'Make sure your Date represents a valid date.',\n [CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT]: 'The argument provided is not a valid ISO date string',\n [CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE]: 'Not support non-string message',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE]: 'cannot support promise value',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION]: 'cannot support async function',\n [CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE]: 'cannot support locale type'\n};\n\n/** @internal */\nfunction getLocale(context, options) {\n return options.locale != null\n ? resolveLocale(options.locale)\n : resolveLocale(context.locale);\n}\nlet _resolveLocale;\n/** @internal */\nfunction resolveLocale(locale) {\n if (isString(locale)) {\n return locale;\n }\n else {\n if (isFunction(locale)) {\n if (locale.resolvedOnce && _resolveLocale != null) {\n return _resolveLocale;\n }\n else if (locale.constructor.name === 'Function') {\n const resolve = locale();\n if (isPromise(resolve)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_PROMISE_VALUE);\n }\n return (_resolveLocale = resolve);\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_ASYNC_FUNCTION);\n }\n }\n else {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_LOCALE_TYPE);\n }\n }\n}\n/**\n * Fallback with simple implemenation\n *\n * @remarks\n * A fallback locale function implemented with a simple fallback algorithm.\n *\n * Basically, it returns the value as specified in the `fallbackLocale` props, and is processed with the fallback inside intlify.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithSimple(ctx, fallback, start // eslint-disable-line @typescript-eslint/no-unused-vars\n) {\n // prettier-ignore\n return [...new Set([\n start,\n ...(isArray(fallback)\n ? fallback\n : isObject(fallback)\n ? Object.keys(fallback)\n : isString(fallback)\n ? [fallback]\n : [start])\n ])];\n}\n/**\n * Fallback with locale chain\n *\n * @remarks\n * A fallback locale function implemented with a fallback chain algorithm. It's used in VueI18n as default.\n *\n * @param ctx - A {@link CoreContext | context}\n * @param fallback - A {@link FallbackLocale | fallback locale}\n * @param start - A starting {@link Locale | locale}\n *\n * @returns Fallback locales\n *\n * @VueI18nSee [Fallbacking](../guide/essentials/fallback)\n *\n * @VueI18nGeneral\n */\nfunction fallbackWithLocaleChain(ctx, fallback, start) {\n const startLocale = isString(start) ? start : DEFAULT_LOCALE;\n const context = ctx;\n if (!context.__localeChainCache) {\n context.__localeChainCache = new Map();\n }\n let chain = context.__localeChainCache.get(startLocale);\n if (!chain) {\n chain = [];\n // first block defined by start\n let block = [start];\n // while any intervening block found\n while (isArray(block)) {\n block = appendBlockToChain(chain, block, fallback);\n }\n // prettier-ignore\n // last block defined by default\n const defaults = isArray(fallback) || !isPlainObject(fallback)\n ? fallback\n : fallback['default']\n ? fallback['default']\n : null;\n // convert defaults to array\n block = isString(defaults) ? [defaults] : defaults;\n if (isArray(block)) {\n appendBlockToChain(chain, block, false);\n }\n context.__localeChainCache.set(startLocale, chain);\n }\n return chain;\n}\nfunction appendBlockToChain(chain, block, blocks) {\n let follow = true;\n for (let i = 0; i < block.length && isBoolean(follow); i++) {\n const locale = block[i];\n if (isString(locale)) {\n follow = appendLocaleToChain(chain, block[i], blocks);\n }\n }\n return follow;\n}\nfunction appendLocaleToChain(chain, locale, blocks) {\n let follow;\n const tokens = locale.split('-');\n do {\n const target = tokens.join('-');\n follow = appendItemToChain(chain, target, blocks);\n tokens.splice(-1, 1);\n } while (tokens.length && follow === true);\n return follow;\n}\nfunction appendItemToChain(chain, target, blocks) {\n let follow = false;\n if (!chain.includes(target)) {\n follow = true;\n if (target) {\n follow = target[target.length - 1] !== '!';\n const locale = target.replace(/!/g, '');\n chain.push(locale);\n if ((isArray(blocks) || isPlainObject(blocks)) &&\n blocks[locale] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n follow = blocks[locale];\n }\n }\n }\n return follow;\n}\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Intlify core-base version\n * @internal\n */\nconst VERSION = '9.13.1';\nconst NOT_REOSLVED = -1;\nconst DEFAULT_LOCALE = 'en-US';\nconst MISSING_RESOLVE_VALUE = '';\nconst capitalize = (str) => `${str.charAt(0).toLocaleUpperCase()}${str.substr(1)}`;\nfunction getDefaultLinkedModifiers() {\n return {\n upper: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toUpperCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toUpperCase()\n : val;\n },\n lower: (val, type) => {\n // prettier-ignore\n return type === 'text' && isString(val)\n ? val.toLowerCase()\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? val.children.toLowerCase()\n : val;\n },\n capitalize: (val, type) => {\n // prettier-ignore\n return (type === 'text' && isString(val)\n ? capitalize(val)\n : type === 'vnode' && isObject(val) && '__v_isVNode' in val\n ? capitalize(val.children)\n : val);\n }\n };\n}\nlet _compiler;\nfunction registerMessageCompiler(compiler) {\n _compiler = compiler;\n}\nlet _resolver;\n/**\n * Register the message resolver\n *\n * @param resolver - A {@link MessageResolver} function\n *\n * @VueI18nGeneral\n */\nfunction registerMessageResolver(resolver) {\n _resolver = resolver;\n}\nlet _fallbacker;\n/**\n * Register the locale fallbacker\n *\n * @param fallbacker - A {@link LocaleFallbacker} function\n *\n * @VueI18nGeneral\n */\nfunction registerLocaleFallbacker(fallbacker) {\n _fallbacker = fallbacker;\n}\n// Additional Meta for Intlify DevTools\nlet _additionalMeta = null;\n/* #__NO_SIDE_EFFECTS__ */\nconst setAdditionalMeta = (meta) => {\n _additionalMeta = meta;\n};\n/* #__NO_SIDE_EFFECTS__ */\nconst getAdditionalMeta = () => _additionalMeta;\nlet _fallbackContext = null;\nconst setFallbackContext = (context) => {\n _fallbackContext = context;\n};\nconst getFallbackContext = () => _fallbackContext;\n// ID for CoreContext\nlet _cid = 0;\nfunction createCoreContext(options = {}) {\n // setup options\n const onWarn = isFunction(options.onWarn) ? options.onWarn : warn;\n const version = isString(options.version) ? options.version : VERSION;\n const locale = isString(options.locale) || isFunction(options.locale)\n ? options.locale\n : DEFAULT_LOCALE;\n const _locale = isFunction(locale) ? DEFAULT_LOCALE : locale;\n const fallbackLocale = isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n isString(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale;\n const messages = isPlainObject(options.messages)\n ? options.messages\n : { [_locale]: {} };\n const datetimeFormats = isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale]: {} }\n ;\n const numberFormats = isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale]: {} }\n ;\n const modifiers = assign({}, options.modifiers || {}, getDefaultLinkedModifiers());\n const pluralRules = options.pluralRules || {};\n const missing = isFunction(options.missing) ? options.missing : null;\n const missingWarn = isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n const fallbackWarn = isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n const fallbackFormat = !!options.fallbackFormat;\n const unresolving = !!options.unresolving;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n const processor = isPlainObject(options.processor) ? options.processor : null;\n const warnHtmlMessage = isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const escapeParameter = !!options.escapeParameter;\n const messageCompiler = isFunction(options.messageCompiler)\n ? options.messageCompiler\n : _compiler;\n if ((process.env.NODE_ENV !== 'production') &&\n !false &&\n !false &&\n isFunction(options.messageCompiler)) {\n warnOnce(getWarnMessage(CoreWarnCodes.EXPERIMENTAL_CUSTOM_MESSAGE_COMPILER));\n }\n const messageResolver = isFunction(options.messageResolver)\n ? options.messageResolver\n : _resolver || resolveWithKeyValue;\n const localeFallbacker = isFunction(options.localeFallbacker)\n ? options.localeFallbacker\n : _fallbacker || fallbackWithSimple;\n const fallbackContext = isObject(options.fallbackContext)\n ? options.fallbackContext\n : undefined;\n // setup internal options\n const internalOptions = options;\n const __datetimeFormatters = isObject(internalOptions.__datetimeFormatters)\n ? internalOptions.__datetimeFormatters\n : new Map()\n ;\n const __numberFormatters = isObject(internalOptions.__numberFormatters)\n ? internalOptions.__numberFormatters\n : new Map()\n ;\n const __meta = isObject(internalOptions.__meta) ? internalOptions.__meta : {};\n _cid++;\n const context = {\n version,\n cid: _cid,\n locale,\n fallbackLocale,\n messages,\n modifiers,\n pluralRules,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackFormat,\n unresolving,\n postTranslation,\n processor,\n warnHtmlMessage,\n escapeParameter,\n messageCompiler,\n messageResolver,\n localeFallbacker,\n fallbackContext,\n onWarn,\n __meta\n };\n {\n context.datetimeFormats = datetimeFormats;\n context.numberFormats = numberFormats;\n context.__datetimeFormatters = __datetimeFormatters;\n context.__numberFormatters = __numberFormatters;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n context.__v_emitter =\n internalOptions.__v_emitter != null\n ? internalOptions.__v_emitter\n : undefined;\n }\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n initI18nDevTools(context, version, __meta);\n }\n return context;\n}\n/** @internal */\nfunction isTranslateFallbackWarn(fallback, key) {\n return fallback instanceof RegExp ? fallback.test(key) : fallback;\n}\n/** @internal */\nfunction isTranslateMissingWarn(missing, key) {\n return missing instanceof RegExp ? missing.test(key) : missing;\n}\n/** @internal */\nfunction handleMissing(context, key, locale, missingWarn, type) {\n const { missing, onWarn } = context;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"missing\" /* VueDevToolsTimelineEvents.MISSING */, {\n locale,\n key,\n type,\n groupId: `${type}:${key}`\n });\n }\n }\n if (missing !== null) {\n const ret = missing(context, locale, key, type);\n return isString(ret) ? ret : key;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && isTranslateMissingWarn(missingWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.NOT_FOUND_KEY, { key, locale }));\n }\n return key;\n }\n}\n/** @internal */\nfunction updateFallbackLocale(ctx, locale, fallback) {\n const context = ctx;\n context.__localeChainCache = new Map();\n ctx.localeFallbacker(ctx, fallback, locale);\n}\n/** @internal */\nfunction isAlmostSameLocale(locale, compareLocale) {\n if (locale === compareLocale)\n return false;\n return locale.split('-')[0] === compareLocale.split('-')[0];\n}\n/** @internal */\nfunction isImplicitFallback(targetLocale, locales) {\n const index = locales.indexOf(targetLocale);\n if (index === -1) {\n return false;\n }\n for (let i = index + 1; i < locales.length; i++) {\n if (isAlmostSameLocale(targetLocale, locales[i])) {\n return true;\n }\n }\n return false;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nfunction format(ast) {\n const msg = (ctx) => formatParts(ctx, ast);\n return msg;\n}\nfunction formatParts(ctx, ast) {\n const body = ast.b || ast.body;\n if ((body.t || body.type) === 1 /* NodeTypes.Plural */) {\n const plural = body;\n const cases = plural.c || plural.cases;\n return ctx.plural(cases.reduce((messages, c) => [\n ...messages,\n formatMessageParts(ctx, c)\n ], []));\n }\n else {\n return formatMessageParts(ctx, body);\n }\n}\nfunction formatMessageParts(ctx, node) {\n const _static = node.s || node.static;\n if (_static) {\n return ctx.type === 'text'\n ? _static\n : ctx.normalize([_static]);\n }\n else {\n const messages = (node.i || node.items).reduce((acm, c) => [...acm, formatMessagePart(ctx, c)], []);\n return ctx.normalize(messages);\n }\n}\nfunction formatMessagePart(ctx, node) {\n const type = node.t || node.type;\n switch (type) {\n case 3 /* NodeTypes.Text */: {\n const text = node;\n return (text.v || text.value);\n }\n case 9 /* NodeTypes.Literal */: {\n const literal = node;\n return (literal.v || literal.value);\n }\n case 4 /* NodeTypes.Named */: {\n const named = node;\n return ctx.interpolate(ctx.named(named.k || named.key));\n }\n case 5 /* NodeTypes.List */: {\n const list = node;\n return ctx.interpolate(ctx.list(list.i != null ? list.i : list.index));\n }\n case 6 /* NodeTypes.Linked */: {\n const linked = node;\n const modifier = linked.m || linked.modifier;\n return ctx.linked(formatMessagePart(ctx, linked.k || linked.key), modifier ? formatMessagePart(ctx, modifier) : undefined, ctx.type);\n }\n case 7 /* NodeTypes.LinkedKey */: {\n const linkedKey = node;\n return (linkedKey.v || linkedKey.value);\n }\n case 8 /* NodeTypes.LinkedModifier */: {\n const linkedModifier = node;\n return (linkedModifier.v || linkedModifier.value);\n }\n default:\n throw new Error(`unhandled node type on format message part: ${type}`);\n }\n}\n\nconst WARN_MESSAGE = `Detected HTML in '{source}' message. Recommend not using HTML messages to avoid XSS.`;\nfunction checkHtmlMessage(source, warnHtmlMessage) {\n if (warnHtmlMessage && detectHtmlTag(source)) {\n warn(format$1(WARN_MESSAGE, { source }));\n }\n}\nconst defaultOnCacheKey = (message) => message;\nlet compileCache = Object.create(null);\nfunction onCompileWarn(_warn) {\n if (_warn.code === CompileWarnCodes.USE_MODULO_SYNTAX) {\n warn(`The use of named interpolation with modulo syntax is deprecated. ` +\n `It will be removed in v10.\\n` +\n `reference: https://vue-i18n.intlify.dev/guide/essentials/syntax#rails-i18n-format \\n` +\n `(message compiler warning message: ${_warn.message})`);\n }\n}\nfunction clearCompileCache() {\n compileCache = Object.create(null);\n}\nconst isMessageAST = (val) => isObject(val) &&\n (val.t === 0 || val.type === 0) &&\n ('b' in val || 'body' in val);\nfunction baseCompile(message, options = {}) {\n // error detecting on compile\n let detectError = false;\n const onError = options.onError || defaultOnError;\n options.onError = (err) => {\n detectError = true;\n onError(err);\n };\n // compile with mesasge-compiler\n return { ...baseCompile$1(message, options), detectError };\n}\n/* #__NO_SIDE_EFFECTS__ */\nconst compileToFunction = (message, context) => {\n if (!isString(message)) {\n throw createCoreError(CoreErrorCodes.NOT_SUPPORT_NON_STRING_MESSAGE);\n }\n // set onWarn\n if ((process.env.NODE_ENV !== 'production')) {\n context.onWarn = onCompileWarn;\n }\n {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile\n const { code, detectError } = baseCompile(message, context);\n // evaluate function\n const msg = new Function(`return ${code}`)();\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n};\nfunction compile(message, context) {\n // set onWarn\n if ((process.env.NODE_ENV !== 'production')) {\n context.onWarn = onCompileWarn;\n }\n if (((__INTLIFY_JIT_COMPILATION__ && !__INTLIFY_DROP_MESSAGE_COMPILER__)) &&\n isString(message)) {\n // check HTML message\n const warnHtmlMessage = isBoolean(context.warnHtmlMessage)\n ? context.warnHtmlMessage\n : true;\n (process.env.NODE_ENV !== 'production') && checkHtmlMessage(message, warnHtmlMessage);\n // check caches\n const onCacheKey = context.onCacheKey || defaultOnCacheKey;\n const cacheKey = onCacheKey(message);\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compile with JIT mode\n const { ast, detectError } = baseCompile(message, {\n ...context,\n location: (process.env.NODE_ENV !== 'production'),\n jit: true\n });\n // compose message function from AST\n const msg = format(ast);\n // if occurred compile error, don't cache\n return !detectError\n ? (compileCache[cacheKey] = msg)\n : msg;\n }\n else {\n if ((process.env.NODE_ENV !== 'production') && !isMessageAST(message)) {\n warn(`the message that is resolve with key '${context.key}' is not supported for jit compilation`);\n return (() => message);\n }\n // AST case (passed from bundler)\n const cacheKey = message.cacheKey;\n if (cacheKey) {\n const cached = compileCache[cacheKey];\n if (cached) {\n return cached;\n }\n // compose message function from message (AST)\n return (compileCache[cacheKey] =\n format(message));\n }\n else {\n return format(message);\n }\n }\n}\n\nconst NOOP_MESSAGE_FUNCTION = () => '';\nconst isMessageFunction = (val) => isFunction(val);\n// implementation of `translate` function\nfunction translate(context, ...args) {\n const { fallbackFormat, postTranslation, unresolving, messageCompiler, fallbackLocale, messages } = context;\n const [key, options] = parseTranslateArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const escapeParameter = isBoolean(options.escapeParameter)\n ? options.escapeParameter\n : context.escapeParameter;\n const resolvedMessage = !!options.resolvedMessage;\n // prettier-ignore\n const defaultMsgOrKey = isString(options.default) || isBoolean(options.default) // default by function option\n ? !isBoolean(options.default)\n ? options.default\n : (!messageCompiler ? () => key : key)\n : fallbackFormat // default by `fallbackFormat` option\n ? (!messageCompiler ? () => key : key)\n : '';\n const enableDefaultMsg = fallbackFormat || defaultMsgOrKey !== '';\n const locale = getLocale(context, options);\n // escape params\n escapeParameter && escapeParams(options);\n // resolve message format\n // eslint-disable-next-line prefer-const\n let [formatScope, targetLocale, message] = !resolvedMessage\n ? resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn)\n : [\n key,\n locale,\n messages[locale] || {}\n ];\n // NOTE:\n // Fix to work around `ssrTransfrom` bug in Vite.\n // https://github.com/vitejs/vite/issues/4306\n // To get around this, use temporary variables.\n // https://github.com/nuxt/framework/issues/1461#issuecomment-954606243\n let format = formatScope;\n // if you use default message, set it as message format!\n let cacheBaseKey = key;\n if (!resolvedMessage &&\n !(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format))) {\n if (enableDefaultMsg) {\n format = defaultMsgOrKey;\n cacheBaseKey = format;\n }\n }\n // checking message format and target locale\n if (!resolvedMessage &&\n (!(isString(format) ||\n isMessageAST(format) ||\n isMessageFunction(format)) ||\n !isString(targetLocale))) {\n return unresolving ? NOT_REOSLVED : key;\n }\n // TODO: refactor\n if ((process.env.NODE_ENV !== 'production') && isString(format) && context.messageCompiler == null) {\n warn(`The message format compilation is not supported in this build. ` +\n `Because message compiler isn't included. ` +\n `You need to pre-compilation all message format. ` +\n `So translate function return '${key}'.`);\n return key;\n }\n // setup compile error detecting\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n // compile message format\n const msg = !isMessageFunction(format)\n ? compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError)\n : format;\n // if occurred compile error, return the message format\n if (occurred) {\n return format;\n }\n // evaluate message with context\n const ctxOptions = getMessageContextOptions(context, targetLocale, message, options);\n const msgContext = createMessageContext(ctxOptions);\n const messaged = evaluateMessage(context, msg, msgContext);\n // if use post translation option, proceed it with handler\n const ret = postTranslation\n ? postTranslation(messaged, key)\n : messaged;\n // NOTE: experimental !!\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n // prettier-ignore\n const payloads = {\n timestamp: Date.now(),\n key: isString(key)\n ? key\n : isMessageFunction(format)\n ? format.key\n : '',\n locale: targetLocale || (isMessageFunction(format)\n ? format.locale\n : ''),\n format: isString(format)\n ? format\n : isMessageFunction(format)\n ? format.source\n : '',\n message: ret\n };\n payloads.meta = assign({}, context.__meta, getAdditionalMeta() || {});\n translateDevTools(payloads);\n }\n return ret;\n}\nfunction escapeParams(options) {\n if (isArray(options.list)) {\n options.list = options.list.map(item => isString(item) ? escapeHtml(item) : item);\n }\n else if (isObject(options.named)) {\n Object.keys(options.named).forEach(key => {\n if (isString(options.named[key])) {\n options.named[key] = escapeHtml(options.named[key]);\n }\n });\n }\n}\nfunction resolveMessageFormat(context, key, locale, fallbackLocale, fallbackWarn, missingWarn) {\n const { messages, onWarn, messageResolver: resolveValue, localeFallbacker } = context;\n const locales = localeFallbacker(context, fallbackLocale, locale); // eslint-disable-line @typescript-eslint/no-explicit-any\n let message = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'translate';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n !isAlmostSameLocale(locale, targetLocale) &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_TRANSLATE, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n message =\n messages[targetLocale] || {};\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-resolve-start';\n endTag = 'intlify-message-resolve-end';\n mark && mark(startTag);\n }\n if ((format = resolveValue(message, key)) === null) {\n // if null, resolve with object key path\n format = message[key]; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start && format) {\n emitter.emit(\"message-resolve\" /* VueDevToolsTimelineEvents.MESSAGE_RESOLVE */, {\n type: \"message-resolve\" /* VueDevToolsTimelineEvents.MESSAGE_RESOLVE */,\n key,\n message: format,\n time: end - start,\n groupId: `${type}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message resolve', startTag, endTag);\n }\n }\n if (isString(format) || isMessageAST(format) || isMessageFunction(format)) {\n break;\n }\n if (!isImplicitFallback(targetLocale, locales)) {\n const missingRet = handleMissing(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n key, targetLocale, missingWarn, type);\n if (missingRet !== key) {\n format = missingRet;\n }\n }\n from = to;\n }\n return [format, targetLocale, message];\n}\nfunction compileMessageFormat(context, key, targetLocale, format, cacheBaseKey, onError) {\n const { messageCompiler, warnHtmlMessage } = context;\n if (isMessageFunction(format)) {\n const msg = format;\n msg.locale = msg.locale || targetLocale;\n msg.key = msg.key || key;\n return msg;\n }\n if (messageCompiler == null) {\n const msg = (() => format);\n msg.locale = targetLocale;\n msg.key = key;\n return msg;\n }\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-compilation-start';\n endTag = 'intlify-message-compilation-end';\n mark && mark(startTag);\n }\n const msg = messageCompiler(format, getCompileContext(context, targetLocale, cacheBaseKey, format, warnHtmlMessage, onError));\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit(\"message-compilation\" /* VueDevToolsTimelineEvents.MESSAGE_COMPILATION */, {\n type: \"message-compilation\" /* VueDevToolsTimelineEvents.MESSAGE_COMPILATION */,\n message: format,\n time: end - start,\n groupId: `${'translate'}:${key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message compilation', startTag, endTag);\n }\n }\n msg.locale = targetLocale;\n msg.key = key;\n msg.source = format;\n return msg;\n}\nfunction evaluateMessage(context, msg, msgCtx) {\n // for vue-devtools timeline event\n let start = null;\n let startTag;\n let endTag;\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n start = window.performance.now();\n startTag = 'intlify-message-evaluation-start';\n endTag = 'intlify-message-evaluation-end';\n mark && mark(startTag);\n }\n const messaged = msg(msgCtx);\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && inBrowser) {\n const end = window.performance.now();\n const emitter = context.__v_emitter;\n if (emitter && start) {\n emitter.emit(\"message-evaluation\" /* VueDevToolsTimelineEvents.MESSAGE_EVALUATION */, {\n type: \"message-evaluation\" /* VueDevToolsTimelineEvents.MESSAGE_EVALUATION */,\n value: messaged,\n time: end - start,\n groupId: `${'translate'}:${msg.key}`\n });\n }\n if (startTag && endTag && mark && measure) {\n mark(endTag);\n measure('intlify message evaluation', startTag, endTag);\n }\n }\n return messaged;\n}\n/** @internal */\nfunction parseTranslateArgs(...args) {\n const [arg1, arg2, arg3] = args;\n const options = {};\n if (!isString(arg1) &&\n !isNumber(arg1) &&\n !isMessageFunction(arg1) &&\n !isMessageAST(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n // prettier-ignore\n const key = isNumber(arg1)\n ? String(arg1)\n : isMessageFunction(arg1)\n ? arg1\n : arg1;\n if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isString(arg2)) {\n options.default = arg2;\n }\n else if (isPlainObject(arg2) && !isEmptyObject(arg2)) {\n options.named = arg2;\n }\n else if (isArray(arg2)) {\n options.list = arg2;\n }\n if (isNumber(arg3)) {\n options.plural = arg3;\n }\n else if (isString(arg3)) {\n options.default = arg3;\n }\n else if (isPlainObject(arg3)) {\n assign(options, arg3);\n }\n return [key, options];\n}\nfunction getCompileContext(context, locale, key, source, warnHtmlMessage, onError) {\n return {\n locale,\n key,\n warnHtmlMessage,\n onError: (err) => {\n onError && onError(err);\n if ((process.env.NODE_ENV !== 'production')) {\n const _source = getSourceForCodeFrame(source);\n const message = `Message compilation error: ${err.message}`;\n const codeFrame = err.location &&\n _source &&\n generateCodeFrame(_source, err.location.start.offset, err.location.end.offset);\n const emitter = context.__v_emitter;\n if (emitter && _source) {\n emitter.emit(\"compile-error\" /* VueDevToolsTimelineEvents.COMPILE_ERROR */, {\n message: _source,\n error: err.message,\n start: err.location && err.location.start.offset,\n end: err.location && err.location.end.offset,\n groupId: `${'translate'}:${key}`\n });\n }\n console.error(codeFrame ? `${message}\\n${codeFrame}` : message);\n }\n else {\n throw err;\n }\n },\n onCacheKey: (source) => generateFormatCacheKey(locale, key, source)\n };\n}\nfunction getSourceForCodeFrame(source) {\n if (isString(source)) {\n return source;\n }\n else {\n if (source.loc && source.loc.source) {\n return source.loc.source;\n }\n }\n}\nfunction getMessageContextOptions(context, locale, message, options) {\n const { modifiers, pluralRules, messageResolver: resolveValue, fallbackLocale, fallbackWarn, missingWarn, fallbackContext } = context;\n const resolveMessage = (key) => {\n let val = resolveValue(message, key);\n // fallback to root context\n if (val == null && fallbackContext) {\n const [, , message] = resolveMessageFormat(fallbackContext, key, locale, fallbackLocale, fallbackWarn, missingWarn);\n val = resolveValue(message, key);\n }\n if (isString(val) || isMessageAST(val)) {\n let occurred = false;\n const onError = () => {\n occurred = true;\n };\n const msg = compileMessageFormat(context, key, locale, val, key, onError);\n return !occurred\n ? msg\n : NOOP_MESSAGE_FUNCTION;\n }\n else if (isMessageFunction(val)) {\n return val;\n }\n else {\n // TODO: should be implemented warning message\n return NOOP_MESSAGE_FUNCTION;\n }\n };\n const ctxOptions = {\n locale,\n modifiers,\n pluralRules,\n messages: resolveMessage\n };\n if (context.processor) {\n ctxOptions.processor = context.processor;\n }\n if (options.list) {\n ctxOptions.list = options.list;\n }\n if (options.named) {\n ctxOptions.named = options.named;\n }\n if (isNumber(options.plural)) {\n ctxOptions.pluralIndex = options.plural;\n }\n return ctxOptions;\n}\n\nconst intlDefined = typeof Intl !== 'undefined';\nconst Availabilities = {\n dateTimeFormat: intlDefined && typeof Intl.DateTimeFormat !== 'undefined',\n numberFormat: intlDefined && typeof Intl.NumberFormat !== 'undefined'\n};\n\n// implementation of `datetime` function\nfunction datetime(context, ...args) {\n const { datetimeFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __datetimeFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.dateTimeFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_DATE));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseDateTimeArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.DateTimeFormat(locale, overrides).format(value);\n }\n // resolve format\n let datetimeFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'datetime format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_DATE_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n datetimeFormat =\n datetimeFormats[targetLocale] || {};\n format = datetimeFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __datetimeFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.DateTimeFormat(targetLocale, assign({}, format, overrides));\n __datetimeFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst DATETIME_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'weekday',\n 'era',\n 'year',\n 'month',\n 'day',\n 'hour',\n 'minute',\n 'second',\n 'timeZoneName',\n 'formatMatcher',\n 'hour12',\n 'timeZone',\n 'dateStyle',\n 'timeStyle',\n 'calendar',\n 'dayPeriod',\n 'numberingSystem',\n 'hourCycle',\n 'fractionalSecondDigits'\n];\n/** @internal */\nfunction parseDateTimeArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = {};\n let overrides = {};\n let value;\n if (isString(arg1)) {\n // Only allow ISO strings - other date formats are often supported,\n // but may cause different results in different browsers.\n const matches = arg1.match(/(\\d{4}-\\d{2}-\\d{2})(T|\\s)?(.*)/);\n if (!matches) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n // Some browsers can not parse the iso datetime separated by space,\n // this is a compromise solution by replace the 'T'/' ' with 'T'\n const dateTime = matches[3]\n ? matches[3].trim().startsWith('T')\n ? `${matches[1].trim()}${matches[3].trim()}`\n : `${matches[1].trim()}T${matches[3].trim()}`\n : matches[1].trim();\n value = new Date(dateTime);\n try {\n // This will fail if the date is not valid\n value.toISOString();\n }\n catch (e) {\n throw createCoreError(CoreErrorCodes.INVALID_ISO_DATE_ARGUMENT);\n }\n }\n else if (isDate(arg1)) {\n if (isNaN(arg1.getTime())) {\n throw createCoreError(CoreErrorCodes.INVALID_DATE_ARGUMENT);\n }\n value = arg1;\n }\n else if (isNumber(arg1)) {\n value = arg1;\n }\n else {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (DATETIME_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearDateTimeFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__datetimeFormatters.has(id)) {\n continue;\n }\n context.__datetimeFormatters.delete(id);\n }\n}\n\n// implementation of `number` function\nfunction number(context, ...args) {\n const { numberFormats, unresolving, fallbackLocale, onWarn, localeFallbacker } = context;\n const { __numberFormatters } = context;\n if ((process.env.NODE_ENV !== 'production') && !Availabilities.numberFormat) {\n onWarn(getWarnMessage(CoreWarnCodes.CANNOT_FORMAT_NUMBER));\n return MISSING_RESOLVE_VALUE;\n }\n const [key, value, options, overrides] = parseNumberArgs(...args);\n const missingWarn = isBoolean(options.missingWarn)\n ? options.missingWarn\n : context.missingWarn;\n const fallbackWarn = isBoolean(options.fallbackWarn)\n ? options.fallbackWarn\n : context.fallbackWarn;\n const part = !!options.part;\n const locale = getLocale(context, options);\n const locales = localeFallbacker(context, // eslint-disable-line @typescript-eslint/no-explicit-any\n fallbackLocale, locale);\n if (!isString(key) || key === '') {\n return new Intl.NumberFormat(locale, overrides).format(value);\n }\n // resolve format\n let numberFormat = {};\n let targetLocale;\n let format = null;\n let from = locale;\n let to = null;\n const type = 'number format';\n for (let i = 0; i < locales.length; i++) {\n targetLocale = to = locales[i];\n if ((process.env.NODE_ENV !== 'production') &&\n locale !== targetLocale &&\n isTranslateFallbackWarn(fallbackWarn, key)) {\n onWarn(getWarnMessage(CoreWarnCodes.FALLBACK_TO_NUMBER_FORMAT, {\n key,\n target: targetLocale\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production') && locale !== targetLocale) {\n const emitter = context.__v_emitter;\n if (emitter) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type,\n key,\n from,\n to,\n groupId: `${type}:${key}`\n });\n }\n }\n numberFormat =\n numberFormats[targetLocale] || {};\n format = numberFormat[key];\n if (isPlainObject(format))\n break;\n handleMissing(context, key, targetLocale, missingWarn, type); // eslint-disable-line @typescript-eslint/no-explicit-any\n from = to;\n }\n // checking format and target locale\n if (!isPlainObject(format) || !isString(targetLocale)) {\n return unresolving ? NOT_REOSLVED : key;\n }\n let id = `${targetLocale}__${key}`;\n if (!isEmptyObject(overrides)) {\n id = `${id}__${JSON.stringify(overrides)}`;\n }\n let formatter = __numberFormatters.get(id);\n if (!formatter) {\n formatter = new Intl.NumberFormat(targetLocale, assign({}, format, overrides));\n __numberFormatters.set(id, formatter);\n }\n return !part ? formatter.format(value) : formatter.formatToParts(value);\n}\n/** @internal */\nconst NUMBER_FORMAT_OPTIONS_KEYS = [\n 'localeMatcher',\n 'style',\n 'currency',\n 'currencyDisplay',\n 'currencySign',\n 'useGrouping',\n 'minimumIntegerDigits',\n 'minimumFractionDigits',\n 'maximumFractionDigits',\n 'minimumSignificantDigits',\n 'maximumSignificantDigits',\n 'compactDisplay',\n 'notation',\n 'signDisplay',\n 'unit',\n 'unitDisplay',\n 'roundingMode',\n 'roundingPriority',\n 'roundingIncrement',\n 'trailingZeroDisplay'\n];\n/** @internal */\nfunction parseNumberArgs(...args) {\n const [arg1, arg2, arg3, arg4] = args;\n const options = {};\n let overrides = {};\n if (!isNumber(arg1)) {\n throw createCoreError(CoreErrorCodes.INVALID_ARGUMENT);\n }\n const value = arg1;\n if (isString(arg2)) {\n options.key = arg2;\n }\n else if (isPlainObject(arg2)) {\n Object.keys(arg2).forEach(key => {\n if (NUMBER_FORMAT_OPTIONS_KEYS.includes(key)) {\n overrides[key] = arg2[key];\n }\n else {\n options[key] = arg2[key];\n }\n });\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isPlainObject(arg3)) {\n overrides = arg3;\n }\n if (isPlainObject(arg4)) {\n overrides = arg4;\n }\n return [options.key || '', value, options, overrides];\n}\n/** @internal */\nfunction clearNumberFormat(ctx, locale, format) {\n const context = ctx;\n for (const key in format) {\n const id = `${locale}__${key}`;\n if (!context.__numberFormatters.has(id)) {\n continue;\n }\n context.__numberFormatters.delete(id);\n }\n}\n\n{\n initFeatureFlags();\n}\n\nexport { CoreErrorCodes, CoreWarnCodes, DATETIME_FORMAT_OPTIONS_KEYS, DEFAULT_LOCALE, DEFAULT_MESSAGE_DATA_TYPE, MISSING_RESOLVE_VALUE, NOT_REOSLVED, NUMBER_FORMAT_OPTIONS_KEYS, VERSION, clearCompileCache, clearDateTimeFormat, clearNumberFormat, compile, compileToFunction, createCoreContext, createCoreError, createMessageContext, datetime, fallbackWithLocaleChain, fallbackWithSimple, getAdditionalMeta, getDevToolsHook, getFallbackContext, getLocale, getWarnMessage, handleMissing, initI18nDevTools, isAlmostSameLocale, isImplicitFallback, isMessageAST, isMessageFunction, isTranslateFallbackWarn, isTranslateMissingWarn, number, parse, parseDateTimeArgs, parseNumberArgs, parseTranslateArgs, registerLocaleFallbacker, registerMessageCompiler, registerMessageResolver, resolveLocale, resolveValue, resolveWithKeyValue, setAdditionalMeta, setDevToolsHook, setFallbackContext, translate, translateDevTools, updateFallbackLocale };\n","/*!\n * vue-i18n v9.13.1\n * (c) 2024 kazuya kawaguchi\n * Released under the MIT License.\n */\nimport { getGlobalThis, incrementer, format, makeSymbol, isPlainObject, isArray, deepCopy, isString, hasOwn, isObject, warn, warnOnce, isBoolean, isRegExp, isFunction, inBrowser, assign, isNumber, createEmitter, isEmptyObject } from '@intlify/shared';\nimport { CoreWarnCodes, CoreErrorCodes, createCompileError, DEFAULT_LOCALE, updateFallbackLocale, setFallbackContext, createCoreContext, clearDateTimeFormat, clearNumberFormat, setAdditionalMeta, getFallbackContext, NOT_REOSLVED, isTranslateFallbackWarn, isTranslateMissingWarn, parseTranslateArgs, translate, MISSING_RESOLVE_VALUE, parseDateTimeArgs, datetime, parseNumberArgs, number, isMessageAST, isMessageFunction, fallbackWithLocaleChain, NUMBER_FORMAT_OPTIONS_KEYS, DATETIME_FORMAT_OPTIONS_KEYS, registerMessageCompiler, compile, compileToFunction, registerMessageResolver, resolveValue, registerLocaleFallbacker, setDevToolsHook } from '@intlify/core-base';\nimport { createVNode, Text, computed, watch, getCurrentInstance, ref, shallowRef, Fragment, defineComponent, h, effectScope, inject, onMounted, onUnmounted, onBeforeMount, isRef } from 'vue';\nimport { setupDevtoolsPlugin } from '@vue/devtools-api';\n\n/**\n * Vue I18n Version\n *\n * @remarks\n * Semver format. Same format as the package.json `version` field.\n *\n * @VueI18nGeneral\n */\nconst VERSION = '9.13.1';\n/**\n * This is only called in esm-bundler builds.\n * istanbul-ignore-next\n */\nfunction initFeatureFlags() {\n if (typeof __VUE_I18N_FULL_INSTALL__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_FULL_INSTALL__ = true;\n }\n if (typeof __VUE_I18N_LEGACY_API__ !== 'boolean') {\n getGlobalThis().__VUE_I18N_LEGACY_API__ = true;\n }\n if (typeof __INTLIFY_JIT_COMPILATION__ !== 'boolean') {\n getGlobalThis().__INTLIFY_JIT_COMPILATION__ = false;\n }\n if (typeof __INTLIFY_DROP_MESSAGE_COMPILER__ !== 'boolean') {\n getGlobalThis().__INTLIFY_DROP_MESSAGE_COMPILER__ = false;\n }\n if (typeof __INTLIFY_PROD_DEVTOOLS__ !== 'boolean') {\n getGlobalThis().__INTLIFY_PROD_DEVTOOLS__ = false;\n }\n}\n\nconst code$1 = CoreWarnCodes.__EXTEND_POINT__;\nconst inc$1 = incrementer(code$1);\nconst I18nWarnCodes = {\n FALLBACK_TO_ROOT: code$1, // 9\n NOT_SUPPORTED_PRESERVE: inc$1(), // 10\n NOT_SUPPORTED_FORMATTER: inc$1(), // 11\n NOT_SUPPORTED_PRESERVE_DIRECTIVE: inc$1(), // 12\n NOT_SUPPORTED_GET_CHOICE_INDEX: inc$1(), // 13\n COMPONENT_NAME_LEGACY_COMPATIBLE: inc$1(), // 14\n NOT_FOUND_PARENT_SCOPE: inc$1(), // 15\n IGNORE_OBJ_FLATTEN: inc$1(), // 16\n NOTICE_DROP_ALLOW_COMPOSITION: inc$1(), // 17\n NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG: inc$1() // 18\n};\nconst warnMessages = {\n [I18nWarnCodes.FALLBACK_TO_ROOT]: `Fall back to {type} '{key}' with root locale.`,\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE]: `Not supported 'preserve'.`,\n [I18nWarnCodes.NOT_SUPPORTED_FORMATTER]: `Not supported 'formatter'.`,\n [I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE]: `Not supported 'preserveDirectiveContent'.`,\n [I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX]: `Not supported 'getChoiceIndex'.`,\n [I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE]: `Component name legacy compatible: '{name}' -> 'i18n'`,\n [I18nWarnCodes.NOT_FOUND_PARENT_SCOPE]: `Not found parent scope. use the global scope.`,\n [I18nWarnCodes.IGNORE_OBJ_FLATTEN]: `Ignore object flatten: '{key}' key has an string value`,\n [I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION]: `'allowComposition' option will be dropped in the next major version. For more information, please see 👉 https://tinyurl.com/2p97mcze`,\n [I18nWarnCodes.NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG]: `'translateExistCompatible' option will be dropped in the next major version.`\n};\nfunction getWarnMessage(code, ...args) {\n return format(warnMessages[code], ...args);\n}\n\nconst code = CoreErrorCodes.__EXTEND_POINT__;\nconst inc = incrementer(code);\nconst I18nErrorCodes = {\n // composer module errors\n UNEXPECTED_RETURN_TYPE: code, // 24\n // legacy module errors\n INVALID_ARGUMENT: inc(), // 25\n // i18n module errors\n MUST_BE_CALL_SETUP_TOP: inc(), // 26\n NOT_INSTALLED: inc(), // 27\n NOT_AVAILABLE_IN_LEGACY_MODE: inc(), // 28\n // directive module errors\n REQUIRED_VALUE: inc(), // 29\n INVALID_VALUE: inc(), // 30\n // vue-devtools errors\n CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN: inc(), // 31\n NOT_INSTALLED_WITH_PROVIDE: inc(), // 32\n // unexpected error\n UNEXPECTED_ERROR: inc(), // 33\n // not compatible legacy vue-i18n constructor\n NOT_COMPATIBLE_LEGACY_VUE_I18N: inc(), // 34\n // bridge support vue 2.x only\n BRIDGE_SUPPORT_VUE_2_ONLY: inc(), // 35\n // need to define `i18n` option in `allowComposition: true` and `useScope: 'local' at `useI18n``\n MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION: inc(), // 36\n // Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly\n NOT_AVAILABLE_COMPOSITION_IN_LEGACY: inc(), // 37\n // for enhancement\n __EXTEND_POINT__: inc() // 38\n};\nfunction createI18nError(code, ...args) {\n return createCompileError(code, null, (process.env.NODE_ENV !== 'production') ? { messages: errorMessages, args } : undefined);\n}\nconst errorMessages = {\n [I18nErrorCodes.UNEXPECTED_RETURN_TYPE]: 'Unexpected return type in composer',\n [I18nErrorCodes.INVALID_ARGUMENT]: 'Invalid argument',\n [I18nErrorCodes.MUST_BE_CALL_SETUP_TOP]: 'Must be called at the top of a `setup` function',\n [I18nErrorCodes.NOT_INSTALLED]: 'Need to install with `app.use` function',\n [I18nErrorCodes.UNEXPECTED_ERROR]: 'Unexpected error',\n [I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE]: 'Not available in legacy mode',\n [I18nErrorCodes.REQUIRED_VALUE]: `Required in value: {0}`,\n [I18nErrorCodes.INVALID_VALUE]: `Invalid value`,\n [I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN]: `Cannot setup vue-devtools plugin`,\n [I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE]: 'Need to install with `provide` function',\n [I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N]: 'Not compatible legacy VueI18n.',\n [I18nErrorCodes.BRIDGE_SUPPORT_VUE_2_ONLY]: 'vue-i18n-bridge support Vue 2.x only',\n [I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION]: 'Must define ‘i18n’ option or custom block in Composition API with using local scope in Legacy API mode',\n [I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY]: 'Not available Compostion API in Legacy API mode. Please make sure that the legacy API mode is working properly'\n};\n\nconst TranslateVNodeSymbol = \n/* #__PURE__*/ makeSymbol('__translateVNode');\nconst DatetimePartsSymbol = /* #__PURE__*/ makeSymbol('__datetimeParts');\nconst NumberPartsSymbol = /* #__PURE__*/ makeSymbol('__numberParts');\nconst EnableEmitter = /* #__PURE__*/ makeSymbol('__enableEmitter');\nconst DisableEmitter = /* #__PURE__*/ makeSymbol('__disableEmitter');\nconst SetPluralRulesSymbol = makeSymbol('__setPluralRules');\nmakeSymbol('__intlifyMeta');\nconst InejctWithOptionSymbol = \n/* #__PURE__*/ makeSymbol('__injectWithOption');\nconst DisposeSymbol = /* #__PURE__*/ makeSymbol('__dispose');\nconst __VUE_I18N_BRIDGE__ = '__VUE_I18N_BRIDGE__';\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Transform flat json in obj to normal json in obj\n */\nfunction handleFlatJson(obj) {\n // check obj\n if (!isObject(obj)) {\n return obj;\n }\n for (const key in obj) {\n // check key\n if (!hasOwn(obj, key)) {\n continue;\n }\n // handle for normal json\n if (!key.includes('.')) {\n // recursive process value if value is also a object\n if (isObject(obj[key])) {\n handleFlatJson(obj[key]);\n }\n }\n // handle for flat json, transform to normal json\n else {\n // go to the last object\n const subKeys = key.split('.');\n const lastIndex = subKeys.length - 1;\n let currentObj = obj;\n let hasStringValue = false;\n for (let i = 0; i < lastIndex; i++) {\n if (!(subKeys[i] in currentObj)) {\n currentObj[subKeys[i]] = {};\n }\n if (!isObject(currentObj[subKeys[i]])) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.IGNORE_OBJ_FLATTEN, {\n key: subKeys[i]\n }));\n hasStringValue = true;\n break;\n }\n currentObj = currentObj[subKeys[i]];\n }\n // update last object value, delete old property\n if (!hasStringValue) {\n currentObj[subKeys[lastIndex]] = obj[key];\n delete obj[key];\n }\n // recursive process value if value is also a object\n if (isObject(currentObj[subKeys[lastIndex]])) {\n handleFlatJson(currentObj[subKeys[lastIndex]]);\n }\n }\n }\n return obj;\n}\nfunction getLocaleMessages(locale, options) {\n const { messages, __i18n, messageResolver, flatJson } = options;\n // prettier-ignore\n const ret = (isPlainObject(messages)\n ? messages\n : isArray(__i18n)\n ? {}\n : { [locale]: {} });\n // merge locale messages of i18n custom block\n if (isArray(__i18n)) {\n __i18n.forEach(custom => {\n if ('locale' in custom && 'resource' in custom) {\n const { locale, resource } = custom;\n if (locale) {\n ret[locale] = ret[locale] || {};\n deepCopy(resource, ret[locale]);\n }\n else {\n deepCopy(resource, ret);\n }\n }\n else {\n isString(custom) && deepCopy(JSON.parse(custom), ret);\n }\n });\n }\n // handle messages for flat json\n if (messageResolver == null && flatJson) {\n for (const key in ret) {\n if (hasOwn(ret, key)) {\n handleFlatJson(ret[key]);\n }\n }\n }\n return ret;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getComponentOptions(instance) {\n return instance.type ;\n}\nfunction adjustI18nResources(gl, options, componentOptions // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n let messages = isObject(options.messages) ? options.messages : {};\n if ('__i18nGlobal' in componentOptions) {\n messages = getLocaleMessages(gl.locale.value, {\n messages,\n __i18n: componentOptions.__i18nGlobal\n });\n }\n // merge locale messages\n const locales = Object.keys(messages);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeLocaleMessage(locale, messages[locale]);\n });\n }\n {\n // merge datetime formats\n if (isObject(options.datetimeFormats)) {\n const locales = Object.keys(options.datetimeFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeDateTimeFormat(locale, options.datetimeFormats[locale]);\n });\n }\n }\n // merge number formats\n if (isObject(options.numberFormats)) {\n const locales = Object.keys(options.numberFormats);\n if (locales.length) {\n locales.forEach(locale => {\n gl.mergeNumberFormat(locale, options.numberFormats[locale]);\n });\n }\n }\n }\n}\nfunction createTextNode(key) {\n return createVNode(Text, null, key, 0)\n ;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n// extend VNode interface\nconst DEVTOOLS_META = '__INTLIFY_META__';\nconst NOOP_RETURN_ARRAY = () => [];\nconst NOOP_RETURN_FALSE = () => false;\nlet composerID = 0;\nfunction defineCoreMissingHandler(missing) {\n return ((ctx, locale, key, type) => {\n return missing(locale, key, getCurrentInstance() || undefined, type);\n });\n}\n// for Intlify DevTools\n/* #__NO_SIDE_EFFECTS__ */\nconst getMetaInfo = () => {\n const instance = getCurrentInstance();\n let meta = null; // eslint-disable-line @typescript-eslint/no-explicit-any\n return instance && (meta = getComponentOptions(instance)[DEVTOOLS_META])\n ? { [DEVTOOLS_META]: meta } // eslint-disable-line @typescript-eslint/no-explicit-any\n : null;\n};\n/**\n * Create composer interface factory\n *\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction createComposer(options = {}, VueI18nLegacy) {\n const { __root, __injectWithOption } = options;\n const _isGlobal = __root === undefined;\n const flatJson = options.flatJson;\n const _ref = inBrowser ? ref : shallowRef;\n const translateExistCompatible = !!options.translateExistCompatible;\n if ((process.env.NODE_ENV !== 'production')) {\n if (translateExistCompatible && !false) {\n warnOnce(getWarnMessage(I18nWarnCodes.NOTICE_DROP_TRANSLATE_EXIST_COMPATIBLE_FLAG));\n }\n }\n let _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : true;\n const _locale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = _ref(\n // prettier-ignore\n __root && _inheritLocale\n ? __root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = _ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = _ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} })\n ;\n // prettier-ignore\n const _numberFormats = _ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} })\n ;\n // warning suppress options\n // prettier-ignore\n let _missingWarn = __root\n ? __root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n let _fallbackWarn = __root\n ? __root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n let _fallbackRoot = __root\n ? __root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n let _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n let _missing = isFunction(options.missing) ? options.missing : null;\n let _runtimeMissing = isFunction(options.missing)\n ? defineCoreMissingHandler(options.missing)\n : null;\n // postTranslation handler\n let _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n let _warnHtmlMessage = __root\n ? __root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n let _escapeParameter = !!options.escapeParameter;\n // custom linked modifiers\n // prettier-ignore\n const _modifiers = __root\n ? __root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n let _pluralRules = options.pluralRules || (__root && __root.pluralRules);\n // runtime context\n // eslint-disable-next-line prefer-const\n let _context;\n const getCoreContext = () => {\n _isGlobal && setFallbackContext(null);\n const ctxOptions = {\n version: VERSION,\n locale: _locale.value,\n fallbackLocale: _fallbackLocale.value,\n messages: _messages.value,\n modifiers: _modifiers,\n pluralRules: _pluralRules,\n missing: _runtimeMissing === null ? undefined : _runtimeMissing,\n missingWarn: _missingWarn,\n fallbackWarn: _fallbackWarn,\n fallbackFormat: _fallbackFormat,\n unresolving: true,\n postTranslation: _postTranslation === null ? undefined : _postTranslation,\n warnHtmlMessage: _warnHtmlMessage,\n escapeParameter: _escapeParameter,\n messageResolver: options.messageResolver,\n messageCompiler: options.messageCompiler,\n __meta: { framework: 'vue' }\n };\n {\n ctxOptions.datetimeFormats = _datetimeFormats.value;\n ctxOptions.numberFormats = _numberFormats.value;\n ctxOptions.__datetimeFormatters = isPlainObject(_context)\n ? _context.__datetimeFormatters\n : undefined;\n ctxOptions.__numberFormatters = isPlainObject(_context)\n ? _context.__numberFormatters\n : undefined;\n }\n if ((process.env.NODE_ENV !== 'production')) {\n ctxOptions.__v_emitter = isPlainObject(_context)\n ? _context.__v_emitter\n : undefined;\n }\n const ctx = createCoreContext(ctxOptions);\n _isGlobal && setFallbackContext(ctx);\n return ctx;\n };\n _context = getCoreContext();\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ]\n ;\n }\n // locale\n const locale = computed({\n get: () => _locale.value,\n set: val => {\n _locale.value = val;\n _context.locale = _locale.value;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => _fallbackLocale.value,\n set: val => {\n _fallbackLocale.value = val;\n _context.fallbackLocale = _fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, val);\n }\n });\n // messages\n const messages = computed(() => _messages.value);\n // datetimeFormats\n const datetimeFormats = /* #__PURE__*/ computed(() => _datetimeFormats.value);\n // numberFormats\n const numberFormats = /* #__PURE__*/ computed(() => _numberFormats.value);\n // getPostTranslationHandler\n function getPostTranslationHandler() {\n return isFunction(_postTranslation) ? _postTranslation : null;\n }\n // setPostTranslationHandler\n function setPostTranslationHandler(handler) {\n _postTranslation = handler;\n _context.postTranslation = handler;\n }\n // getMissingHandler\n function getMissingHandler() {\n return _missing;\n }\n // setMissingHandler\n function setMissingHandler(handler) {\n if (handler !== null) {\n _runtimeMissing = defineCoreMissingHandler(handler);\n }\n _missing = handler;\n _context.missing = _runtimeMissing;\n }\n function isResolvedTranslateMessage(type, arg // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n return type !== 'translate' || !arg.resolvedMessage;\n }\n const wrapWithDeps = (fn, argumentParser, warnType, fallbackSuccess, fallbackFail, successCondition) => {\n trackReactivityValues(); // track reactive dependency\n // NOTE: experimental !!\n let ret;\n try {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(getMetaInfo());\n }\n if (!_isGlobal) {\n _context.fallbackContext = __root\n ? getFallbackContext()\n : undefined;\n }\n ret = fn(_context);\n }\n finally {\n if ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n setAdditionalMeta(null);\n }\n if (!_isGlobal) {\n _context.fallbackContext = undefined;\n }\n }\n if ((warnType !== 'translate exists' && // for not `te` (e.g `t`)\n isNumber(ret) &&\n ret === NOT_REOSLVED) ||\n (warnType === 'translate exists' && !ret) // for `te`\n ) {\n const [key, arg2] = argumentParser();\n if ((process.env.NODE_ENV !== 'production') &&\n __root &&\n isString(key) &&\n isResolvedTranslateMessage(warnType, arg2)) {\n if (_fallbackRoot &&\n (isTranslateFallbackWarn(_fallbackWarn, key) ||\n isTranslateMissingWarn(_missingWarn, key))) {\n warn(getWarnMessage(I18nWarnCodes.FALLBACK_TO_ROOT, {\n key,\n type: warnType\n }));\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n const { __v_emitter: emitter } = _context;\n if (emitter && _fallbackRoot) {\n emitter.emit(\"fallback\" /* VueDevToolsTimelineEvents.FALBACK */, {\n type: warnType,\n key,\n to: 'global',\n groupId: `${warnType}:${key}`\n });\n }\n }\n }\n return __root && _fallbackRoot\n ? fallbackSuccess(__root)\n : fallbackFail(key);\n }\n else if (successCondition(ret)) {\n return ret;\n }\n else {\n /* istanbul ignore next */\n throw createI18nError(I18nErrorCodes.UNEXPECTED_RETURN_TYPE);\n }\n };\n // t\n function t(...args) {\n return wrapWithDeps(context => Reflect.apply(translate, null, [context, ...args]), () => parseTranslateArgs(...args), 'translate', root => Reflect.apply(root.t, root, [...args]), key => key, val => isString(val));\n }\n // rt\n function rt(...args) {\n const [arg1, arg2, arg3] = args;\n if (arg3 && !isObject(arg3)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n return t(...[arg1, arg2, assign({ resolvedMessage: true }, arg3 || {})]);\n }\n // d\n function d(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', root => Reflect.apply(root.d, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // n\n function n(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', root => Reflect.apply(root.n, root, [...args]), () => MISSING_RESOLVE_VALUE, val => isString(val));\n }\n // for custom processor\n function normalize(values) {\n return values.map(val => isString(val) || isNumber(val) || isBoolean(val)\n ? createTextNode(String(val))\n : val);\n }\n const interpolate = (val) => val;\n const processor = {\n normalize,\n interpolate,\n type: 'vnode'\n };\n // translateVNode, using for `i18n-t` component\n function translateVNode(...args) {\n return wrapWithDeps(context => {\n let ret;\n const _context = context;\n try {\n _context.processor = processor;\n ret = Reflect.apply(translate, null, [_context, ...args]);\n }\n finally {\n _context.processor = null;\n }\n return ret;\n }, () => parseTranslateArgs(...args), 'translate', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[TranslateVNodeSymbol](...args), key => [createTextNode(key)], val => isArray(val));\n }\n // numberParts, using for `i18n-n` component\n function numberParts(...args) {\n return wrapWithDeps(context => Reflect.apply(number, null, [context, ...args]), () => parseNumberArgs(...args), 'number format', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[NumberPartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n // datetimeParts, using for `i18n-d` component\n function datetimeParts(...args) {\n return wrapWithDeps(context => Reflect.apply(datetime, null, [context, ...args]), () => parseDateTimeArgs(...args), 'datetime format', \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n root => root[DatetimePartsSymbol](...args), NOOP_RETURN_ARRAY, val => isString(val) || isArray(val));\n }\n function setPluralRules(rules) {\n _pluralRules = rules;\n _context.pluralRules = _pluralRules;\n }\n // te\n function te(key, locale) {\n return wrapWithDeps(() => {\n if (!key) {\n return false;\n }\n const targetLocale = isString(locale) ? locale : _locale.value;\n const message = getLocaleMessage(targetLocale);\n const resolved = _context.messageResolver(message, key);\n return !translateExistCompatible\n ? isMessageAST(resolved) ||\n isMessageFunction(resolved) ||\n isString(resolved)\n : resolved != null;\n }, () => [key], 'translate exists', root => {\n return Reflect.apply(root.te, root, [key, locale]);\n }, NOOP_RETURN_FALSE, val => isBoolean(val));\n }\n function resolveMessages(key) {\n let messages = null;\n const locales = fallbackWithLocaleChain(_context, _fallbackLocale.value, _locale.value);\n for (let i = 0; i < locales.length; i++) {\n const targetLocaleMessages = _messages.value[locales[i]] || {};\n const messageValue = _context.messageResolver(targetLocaleMessages, key);\n if (messageValue != null) {\n messages = messageValue;\n break;\n }\n }\n return messages;\n }\n // tm\n function tm(key) {\n const messages = resolveMessages(key);\n // prettier-ignore\n return messages != null\n ? messages\n : __root\n ? __root.tm(key) || {}\n : {};\n }\n // getLocaleMessage\n function getLocaleMessage(locale) {\n return (_messages.value[locale] || {});\n }\n // setLocaleMessage\n function setLocaleMessage(locale, message) {\n if (flatJson) {\n const _message = { [locale]: message };\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n message = _message[locale];\n }\n _messages.value[locale] = message;\n _context.messages = _messages.value;\n }\n // mergeLocaleMessage\n function mergeLocaleMessage(locale, message) {\n _messages.value[locale] = _messages.value[locale] || {};\n const _message = { [locale]: message };\n if (flatJson) {\n for (const key in _message) {\n if (hasOwn(_message, key)) {\n handleFlatJson(_message[key]);\n }\n }\n }\n message = _message[locale];\n deepCopy(message, _messages.value[locale]);\n _context.messages = _messages.value;\n }\n // getDateTimeFormat\n function getDateTimeFormat(locale) {\n return _datetimeFormats.value[locale] || {};\n }\n // setDateTimeFormat\n function setDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = format;\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // mergeDateTimeFormat\n function mergeDateTimeFormat(locale, format) {\n _datetimeFormats.value[locale] = assign(_datetimeFormats.value[locale] || {}, format);\n _context.datetimeFormats = _datetimeFormats.value;\n clearDateTimeFormat(_context, locale, format);\n }\n // getNumberFormat\n function getNumberFormat(locale) {\n return _numberFormats.value[locale] || {};\n }\n // setNumberFormat\n function setNumberFormat(locale, format) {\n _numberFormats.value[locale] = format;\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // mergeNumberFormat\n function mergeNumberFormat(locale, format) {\n _numberFormats.value[locale] = assign(_numberFormats.value[locale] || {}, format);\n _context.numberFormats = _numberFormats.value;\n clearNumberFormat(_context, locale, format);\n }\n // for debug\n composerID++;\n // watch root locale & fallbackLocale\n if (__root && inBrowser) {\n watch(__root.locale, (val) => {\n if (_inheritLocale) {\n _locale.value = val;\n _context.locale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n watch(__root.fallbackLocale, (val) => {\n if (_inheritLocale) {\n _fallbackLocale.value = val;\n _context.fallbackLocale = val;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n });\n }\n // define basic composition API!\n const composer = {\n id: composerID,\n locale,\n fallbackLocale,\n get inheritLocale() {\n return _inheritLocale;\n },\n set inheritLocale(val) {\n _inheritLocale = val;\n if (val && __root) {\n _locale.value = __root.locale.value;\n _fallbackLocale.value = __root.fallbackLocale.value;\n updateFallbackLocale(_context, _locale.value, _fallbackLocale.value);\n }\n },\n get availableLocales() {\n return Object.keys(_messages.value).sort();\n },\n messages,\n get modifiers() {\n return _modifiers;\n },\n get pluralRules() {\n return _pluralRules || {};\n },\n get isGlobal() {\n return _isGlobal;\n },\n get missingWarn() {\n return _missingWarn;\n },\n set missingWarn(val) {\n _missingWarn = val;\n _context.missingWarn = _missingWarn;\n },\n get fallbackWarn() {\n return _fallbackWarn;\n },\n set fallbackWarn(val) {\n _fallbackWarn = val;\n _context.fallbackWarn = _fallbackWarn;\n },\n get fallbackRoot() {\n return _fallbackRoot;\n },\n set fallbackRoot(val) {\n _fallbackRoot = val;\n },\n get fallbackFormat() {\n return _fallbackFormat;\n },\n set fallbackFormat(val) {\n _fallbackFormat = val;\n _context.fallbackFormat = _fallbackFormat;\n },\n get warnHtmlMessage() {\n return _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n _warnHtmlMessage = val;\n _context.warnHtmlMessage = val;\n },\n get escapeParameter() {\n return _escapeParameter;\n },\n set escapeParameter(val) {\n _escapeParameter = val;\n _context.escapeParameter = val;\n },\n t,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n [SetPluralRulesSymbol]: setPluralRules\n };\n {\n composer.datetimeFormats = datetimeFormats;\n composer.numberFormats = numberFormats;\n composer.rt = rt;\n composer.te = te;\n composer.tm = tm;\n composer.d = d;\n composer.n = n;\n composer.getDateTimeFormat = getDateTimeFormat;\n composer.setDateTimeFormat = setDateTimeFormat;\n composer.mergeDateTimeFormat = mergeDateTimeFormat;\n composer.getNumberFormat = getNumberFormat;\n composer.setNumberFormat = setNumberFormat;\n composer.mergeNumberFormat = mergeNumberFormat;\n composer[InejctWithOptionSymbol] = __injectWithOption;\n composer[TranslateVNodeSymbol] = translateVNode;\n composer[DatetimePartsSymbol] = datetimeParts;\n composer[NumberPartsSymbol] = numberParts;\n }\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n composer[EnableEmitter] = (emitter) => {\n _context.__v_emitter = emitter;\n };\n composer[DisableEmitter] = () => {\n _context.__v_emitter = undefined;\n };\n }\n return composer;\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\n/* eslint-disable @typescript-eslint/no-explicit-any */\n/**\n * Convert to I18n Composer Options from VueI18n Options\n *\n * @internal\n */\nfunction convertComposerOptions(options) {\n const locale = isString(options.locale) ? options.locale : DEFAULT_LOCALE;\n const fallbackLocale = isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : locale;\n const missing = isFunction(options.missing) ? options.missing : undefined;\n const missingWarn = isBoolean(options.silentTranslationWarn) ||\n isRegExp(options.silentTranslationWarn)\n ? !options.silentTranslationWarn\n : true;\n const fallbackWarn = isBoolean(options.silentFallbackWarn) ||\n isRegExp(options.silentFallbackWarn)\n ? !options.silentFallbackWarn\n : true;\n const fallbackRoot = isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n const fallbackFormat = !!options.formatFallbackMessages;\n const modifiers = isPlainObject(options.modifiers) ? options.modifiers : {};\n const pluralizationRules = options.pluralizationRules;\n const postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : undefined;\n const warnHtmlMessage = isString(options.warnHtmlInMessage)\n ? options.warnHtmlInMessage !== 'off'\n : true;\n const escapeParameter = !!options.escapeParameterHtml;\n const inheritLocale = isBoolean(options.sync) ? options.sync : true;\n if ((process.env.NODE_ENV !== 'production') && options.formatter) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n }\n if ((process.env.NODE_ENV !== 'production') && options.preserveDirectiveContent) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n }\n let messages = options.messages;\n if (isPlainObject(options.sharedMessages)) {\n const sharedMessages = options.sharedMessages;\n const locales = Object.keys(sharedMessages);\n messages = locales.reduce((messages, locale) => {\n const message = messages[locale] || (messages[locale] = {});\n assign(message, sharedMessages[locale]);\n return messages;\n }, (messages || {}));\n }\n const { __i18n, __root, __injectWithOption } = options;\n const datetimeFormats = options.datetimeFormats;\n const numberFormats = options.numberFormats;\n const flatJson = options.flatJson;\n const translateExistCompatible = options\n .translateExistCompatible;\n return {\n locale,\n fallbackLocale,\n messages,\n flatJson,\n datetimeFormats,\n numberFormats,\n missing,\n missingWarn,\n fallbackWarn,\n fallbackRoot,\n fallbackFormat,\n modifiers,\n pluralRules: pluralizationRules,\n postTranslation,\n warnHtmlMessage,\n escapeParameter,\n messageResolver: options.messageResolver,\n inheritLocale,\n translateExistCompatible,\n __i18n,\n __root,\n __injectWithOption\n };\n}\n/**\n * create VueI18n interface factory\n *\n * @internal\n */\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction createVueI18n(options = {}, VueI18nLegacy) {\n {\n const composer = createComposer(convertComposerOptions(options));\n const { __extender } = options;\n // defines VueI18n\n const vueI18n = {\n // id\n id: composer.id,\n // locale\n get locale() {\n return composer.locale.value;\n },\n set locale(val) {\n composer.locale.value = val;\n },\n // fallbackLocale\n get fallbackLocale() {\n return composer.fallbackLocale.value;\n },\n set fallbackLocale(val) {\n composer.fallbackLocale.value = val;\n },\n // messages\n get messages() {\n return composer.messages.value;\n },\n // datetimeFormats\n get datetimeFormats() {\n return composer.datetimeFormats.value;\n },\n // numberFormats\n get numberFormats() {\n return composer.numberFormats.value;\n },\n // availableLocales\n get availableLocales() {\n return composer.availableLocales;\n },\n // formatter\n get formatter() {\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n // dummy\n return {\n interpolate() {\n return [];\n }\n };\n },\n set formatter(val) {\n (process.env.NODE_ENV !== 'production') && warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_FORMATTER));\n },\n // missing\n get missing() {\n return composer.getMissingHandler();\n },\n set missing(handler) {\n composer.setMissingHandler(handler);\n },\n // silentTranslationWarn\n get silentTranslationWarn() {\n return isBoolean(composer.missingWarn)\n ? !composer.missingWarn\n : composer.missingWarn;\n },\n set silentTranslationWarn(val) {\n composer.missingWarn = isBoolean(val) ? !val : val;\n },\n // silentFallbackWarn\n get silentFallbackWarn() {\n return isBoolean(composer.fallbackWarn)\n ? !composer.fallbackWarn\n : composer.fallbackWarn;\n },\n set silentFallbackWarn(val) {\n composer.fallbackWarn = isBoolean(val) ? !val : val;\n },\n // modifiers\n get modifiers() {\n return composer.modifiers;\n },\n // formatFallbackMessages\n get formatFallbackMessages() {\n return composer.fallbackFormat;\n },\n set formatFallbackMessages(val) {\n composer.fallbackFormat = val;\n },\n // postTranslation\n get postTranslation() {\n return composer.getPostTranslationHandler();\n },\n set postTranslation(handler) {\n composer.setPostTranslationHandler(handler);\n },\n // sync\n get sync() {\n return composer.inheritLocale;\n },\n set sync(val) {\n composer.inheritLocale = val;\n },\n // warnInHtmlMessage\n get warnHtmlInMessage() {\n return composer.warnHtmlMessage ? 'warn' : 'off';\n },\n set warnHtmlInMessage(val) {\n composer.warnHtmlMessage = val !== 'off';\n },\n // escapeParameterHtml\n get escapeParameterHtml() {\n return composer.escapeParameter;\n },\n set escapeParameterHtml(val) {\n composer.escapeParameter = val;\n },\n // preserveDirectiveContent\n get preserveDirectiveContent() {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n return true;\n },\n set preserveDirectiveContent(val) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE_DIRECTIVE));\n },\n // pluralizationRules\n get pluralizationRules() {\n return composer.pluralRules || {};\n },\n // for internal\n __composer: composer,\n // t\n t(...args) {\n const [arg1, arg2, arg3] = args;\n const options = {};\n let list = null;\n let named = null;\n if (!isString(arg1)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n const key = arg1;\n if (isString(arg2)) {\n options.locale = arg2;\n }\n else if (isArray(arg2)) {\n list = arg2;\n }\n else if (isPlainObject(arg2)) {\n named = arg2;\n }\n if (isArray(arg3)) {\n list = arg3;\n }\n else if (isPlainObject(arg3)) {\n named = arg3;\n }\n // return composer.t(key, (list || named || {}) as any, options)\n return Reflect.apply(composer.t, composer, [\n key,\n (list || named || {}),\n options\n ]);\n },\n rt(...args) {\n return Reflect.apply(composer.rt, composer, [...args]);\n },\n // tc\n tc(...args) {\n const [arg1, arg2, arg3] = args;\n const options = { plural: 1 };\n let list = null;\n let named = null;\n if (!isString(arg1)) {\n throw createI18nError(I18nErrorCodes.INVALID_ARGUMENT);\n }\n const key = arg1;\n if (isString(arg2)) {\n options.locale = arg2;\n }\n else if (isNumber(arg2)) {\n options.plural = arg2;\n }\n else if (isArray(arg2)) {\n list = arg2;\n }\n else if (isPlainObject(arg2)) {\n named = arg2;\n }\n if (isString(arg3)) {\n options.locale = arg3;\n }\n else if (isArray(arg3)) {\n list = arg3;\n }\n else if (isPlainObject(arg3)) {\n named = arg3;\n }\n // return composer.t(key, (list || named || {}) as any, options)\n return Reflect.apply(composer.t, composer, [\n key,\n (list || named || {}),\n options\n ]);\n },\n // te\n te(key, locale) {\n return composer.te(key, locale);\n },\n // tm\n tm(key) {\n return composer.tm(key);\n },\n // getLocaleMessage\n getLocaleMessage(locale) {\n return composer.getLocaleMessage(locale);\n },\n // setLocaleMessage\n setLocaleMessage(locale, message) {\n composer.setLocaleMessage(locale, message);\n },\n // mergeLocaleMessage\n mergeLocaleMessage(locale, message) {\n composer.mergeLocaleMessage(locale, message);\n },\n // d\n d(...args) {\n return Reflect.apply(composer.d, composer, [...args]);\n },\n // getDateTimeFormat\n getDateTimeFormat(locale) {\n return composer.getDateTimeFormat(locale);\n },\n // setDateTimeFormat\n setDateTimeFormat(locale, format) {\n composer.setDateTimeFormat(locale, format);\n },\n // mergeDateTimeFormat\n mergeDateTimeFormat(locale, format) {\n composer.mergeDateTimeFormat(locale, format);\n },\n // n\n n(...args) {\n return Reflect.apply(composer.n, composer, [...args]);\n },\n // getNumberFormat\n getNumberFormat(locale) {\n return composer.getNumberFormat(locale);\n },\n // setNumberFormat\n setNumberFormat(locale, format) {\n composer.setNumberFormat(locale, format);\n },\n // mergeNumberFormat\n mergeNumberFormat(locale, format) {\n composer.mergeNumberFormat(locale, format);\n },\n // getChoiceIndex\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n getChoiceIndex(choice, choicesLength) {\n (process.env.NODE_ENV !== 'production') &&\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_GET_CHOICE_INDEX));\n return -1;\n }\n };\n vueI18n.__extender = __extender;\n // for vue-devtools timeline event\n if ((process.env.NODE_ENV !== 'production')) {\n vueI18n.__enableEmitter = (emitter) => {\n const __composer = composer;\n __composer[EnableEmitter] && __composer[EnableEmitter](emitter);\n };\n vueI18n.__disableEmitter = () => {\n const __composer = composer;\n __composer[DisableEmitter] && __composer[DisableEmitter]();\n };\n }\n return vueI18n;\n }\n}\n/* eslint-enable @typescript-eslint/no-explicit-any */\n\nconst baseFormatProps = {\n tag: {\n type: [String, Object]\n },\n locale: {\n type: String\n },\n scope: {\n type: String,\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n validator: (val /* ComponentI18nScope */) => val === 'parent' || val === 'global',\n default: 'parent' /* ComponentI18nScope */\n },\n i18n: {\n type: Object\n }\n};\n\nfunction getInterpolateArg(\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n{ slots }, // SetupContext,\nkeys) {\n if (keys.length === 1 && keys[0] === 'default') {\n // default slot with list\n const ret = slots.default ? slots.default() : [];\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return ret.reduce((slot, current) => {\n return [\n ...slot,\n // prettier-ignore\n ...(current.type === Fragment ? current.children : [current]\n )\n ];\n }, []);\n }\n else {\n // named slots\n return keys.reduce((arg, key) => {\n const slot = slots[key];\n if (slot) {\n arg[key] = slot();\n }\n return arg;\n }, {});\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getFragmentableTag(tag) {\n return Fragment ;\n}\n\nconst TranslationImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-t',\n props: assign({\n keypath: {\n type: String,\n required: true\n },\n plural: {\n type: [Number, String],\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n validator: (val) => isNumber(val) || !isNaN(val)\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const { slots, attrs } = context;\n // NOTE: avoid https://github.com/microsoft/rushstack/issues/1050\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return () => {\n const keys = Object.keys(slots).filter(key => key !== '_');\n const options = {};\n if (props.locale) {\n options.locale = props.locale;\n }\n if (props.plural !== undefined) {\n options.plural = isString(props.plural) ? +props.plural : props.plural;\n }\n const arg = getInterpolateArg(context, keys);\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const children = i18n[TranslateVNodeSymbol](props.keypath, arg, options);\n const assignedAttrs = assign({}, attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Translation Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [TranslationProps](component#translationprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Component Interpolation](../guide/advanced/component)\n *\n * @example\n * ```html\n *
\n * ```\n * ```js\n * import { createApp } from 'vue'\n * import { createI18n } from 'vue-i18n'\n *\n * const messages = {\n * en: {\n * tos: 'Term of Service',\n * term: 'I accept xxx {0}.'\n * },\n * ja: {\n * tos: '利用規約',\n * term: '私は xxx の{0}に同意します。'\n * }\n * }\n *\n * const i18n = createI18n({\n * locale: 'en',\n * messages\n * })\n *\n * const app = createApp({\n * data: {\n * url: '/term'\n * }\n * }).use(i18n).mount('#app')\n * ```\n *\n * @VueI18nComponent\n */\nconst Translation = TranslationImpl;\nconst I18nT = Translation;\n\nfunction isVNode(target) {\n return isArray(target) && !isString(target[0]);\n}\nfunction renderFormatter(props, context, slotKeys, partFormatter) {\n const { slots, attrs } = context;\n return () => {\n const options = { part: true };\n let overrides = {};\n if (props.locale) {\n options.locale = props.locale;\n }\n if (isString(props.format)) {\n options.key = props.format;\n }\n else if (isObject(props.format)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (isString(props.format.key)) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n options.key = props.format.key;\n }\n // Filter out number format options only\n overrides = Object.keys(props.format).reduce((options, prop) => {\n return slotKeys.includes(prop)\n ? assign({}, options, { [prop]: props.format[prop] }) // eslint-disable-line @typescript-eslint/no-explicit-any\n : options;\n }, {});\n }\n const parts = partFormatter(...[props.value, options, overrides]);\n let children = [options.key];\n if (isArray(parts)) {\n children = parts.map((part, index) => {\n const slot = slots[part.type];\n const node = slot\n ? slot({ [part.type]: part.value, index, parts })\n : [part.value];\n if (isVNode(node)) {\n node[0].key = `${part.type}-${index}`;\n }\n return node;\n });\n }\n else if (isString(parts)) {\n children = [parts];\n }\n const assignedAttrs = assign({}, attrs);\n const tag = isString(props.tag) || isObject(props.tag)\n ? props.tag\n : getFragmentableTag();\n return h(tag, assignedAttrs, children);\n };\n}\n\nconst NumberFormatImpl = /*#__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-n',\n props: assign({\n value: {\n type: Number,\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, NUMBER_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[NumberPartsSymbol](...args));\n }\n});\n/**\n * export the public type for h/tsx inference\n * also to avoid inline import() in generated d.ts files\n */\n/**\n * Number Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/number#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.NumberFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/NumberFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-numberformat)\n *\n * @VueI18nComponent\n */\nconst NumberFormat = NumberFormatImpl;\nconst I18nN = NumberFormat;\n\nconst DatetimeFormatImpl = /* #__PURE__*/ defineComponent({\n /* eslint-disable */\n name: 'i18n-d',\n props: assign({\n value: {\n type: [Number, Date],\n required: true\n },\n format: {\n type: [String, Object]\n }\n }, baseFormatProps),\n /* eslint-enable */\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n setup(props, context) {\n const i18n = props.i18n ||\n useI18n({\n useScope: props.scope,\n __useComponent: true\n });\n return renderFormatter(props, context, DATETIME_FORMAT_OPTIONS_KEYS, (...args) => \n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n i18n[DatetimePartsSymbol](...args));\n }\n});\n/**\n * Datetime Format Component\n *\n * @remarks\n * See the following items for property about details\n *\n * @VueI18nSee [FormattableProps](component#formattableprops)\n * @VueI18nSee [BaseFormatProps](component#baseformatprops)\n * @VueI18nSee [Custom Formatting](../guide/essentials/datetime#custom-formatting)\n *\n * @VueI18nDanger\n * Not supported IE, due to no support `Intl.DateTimeFormat#formatToParts` in [IE](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Intl/DateTimeFormat/formatToParts)\n *\n * If you want to use it, you need to use [polyfill](https://github.com/formatjs/formatjs/tree/main/packages/intl-datetimeformat)\n *\n * @VueI18nComponent\n */\nconst DatetimeFormat = DatetimeFormatImpl;\nconst I18nD = DatetimeFormat;\n\nfunction getComposer$2(i18n, instance) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n return (i18nInternal.__getInstance(instance) || i18n.global);\n }\n else {\n const vueI18n = i18nInternal.__getInstance(instance);\n return vueI18n != null\n ? vueI18n.__composer\n : i18n.global.__composer;\n }\n}\nfunction vTDirective(i18n) {\n const _process = (binding) => {\n const { instance, modifiers, value } = binding;\n /* istanbul ignore if */\n if (!instance || !instance.$) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const composer = getComposer$2(i18n, instance.$);\n if ((process.env.NODE_ENV !== 'production') && modifiers.preserve) {\n warn(getWarnMessage(I18nWarnCodes.NOT_SUPPORTED_PRESERVE));\n }\n const parsedValue = parseValue(value);\n return [\n Reflect.apply(composer.t, composer, [...makeParams(parsedValue)]),\n composer\n ];\n };\n const register = (el, binding) => {\n const [textContent, composer] = _process(binding);\n if (inBrowser && i18n.global === composer) {\n // global scope only\n el.__i18nWatcher = watch(composer.locale, () => {\n binding.instance && binding.instance.$forceUpdate();\n });\n }\n el.__composer = composer;\n el.textContent = textContent;\n };\n const unregister = (el) => {\n if (inBrowser && el.__i18nWatcher) {\n el.__i18nWatcher();\n el.__i18nWatcher = undefined;\n delete el.__i18nWatcher;\n }\n if (el.__composer) {\n el.__composer = undefined;\n delete el.__composer;\n }\n };\n const update = (el, { value }) => {\n if (el.__composer) {\n const composer = el.__composer;\n const parsedValue = parseValue(value);\n el.textContent = Reflect.apply(composer.t, composer, [\n ...makeParams(parsedValue)\n ]);\n }\n };\n const getSSRProps = (binding) => {\n const [textContent] = _process(binding);\n return { textContent };\n };\n return {\n created: register,\n unmounted: unregister,\n beforeUpdate: update,\n getSSRProps\n };\n}\nfunction parseValue(value) {\n if (isString(value)) {\n return { path: value };\n }\n else if (isPlainObject(value)) {\n if (!('path' in value)) {\n throw createI18nError(I18nErrorCodes.REQUIRED_VALUE, 'path');\n }\n return value;\n }\n else {\n throw createI18nError(I18nErrorCodes.INVALID_VALUE);\n }\n}\nfunction makeParams(value) {\n const { path, locale, args, choice, plural } = value;\n const options = {};\n const named = args || {};\n if (isString(locale)) {\n options.locale = locale;\n }\n if (isNumber(choice)) {\n options.plural = choice;\n }\n if (isNumber(plural)) {\n options.plural = plural;\n }\n return [path, named, options];\n}\n\nfunction apply(app, i18n, ...options) {\n const pluginOptions = isPlainObject(options[0])\n ? options[0]\n : {};\n const useI18nComponentName = !!pluginOptions.useI18nComponentName;\n const globalInstall = isBoolean(pluginOptions.globalInstall)\n ? pluginOptions.globalInstall\n : true;\n if ((process.env.NODE_ENV !== 'production') && globalInstall && useI18nComponentName) {\n warn(getWarnMessage(I18nWarnCodes.COMPONENT_NAME_LEGACY_COMPATIBLE, {\n name: Translation.name\n }));\n }\n if (globalInstall) {\n [!useI18nComponentName ? Translation.name : 'i18n', 'I18nT'].forEach(name => app.component(name, Translation));\n [NumberFormat.name, 'I18nN'].forEach(name => app.component(name, NumberFormat));\n [DatetimeFormat.name, 'I18nD'].forEach(name => app.component(name, DatetimeFormat));\n }\n // install directive\n {\n app.directive('t', vTDirective(i18n));\n }\n}\n\nconst VueDevToolsLabels = {\n [\"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */]: 'Vue I18n devtools',\n [\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]: 'I18n Resources',\n [\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]: 'Vue I18n'\n};\nconst VueDevToolsPlaceholders = {\n [\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]: 'Search for scopes ...'\n};\nconst VueDevToolsTimelineColors = {\n [\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]: 0xffcd19\n};\n\nconst VUE_I18N_COMPONENT_TYPES = 'vue-i18n: composer properties';\nlet devtoolsApi;\nasync function enableDevTools(app, i18n) {\n return new Promise((resolve, reject) => {\n try {\n setupDevtoolsPlugin({\n id: \"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */,\n label: VueDevToolsLabels[\"vue-devtools-plugin-vue-i18n\" /* VueDevToolsIDs.PLUGIN */],\n packageName: 'vue-i18n',\n homepage: 'https://vue-i18n.intlify.dev',\n logo: 'https://vue-i18n.intlify.dev/vue-i18n-devtools-logo.png',\n componentStateTypes: [VUE_I18N_COMPONENT_TYPES],\n app: app // eslint-disable-line @typescript-eslint/no-explicit-any\n }, api => {\n devtoolsApi = api;\n api.on.visitComponentTree(({ componentInstance, treeNode }) => {\n updateComponentTreeTags(componentInstance, treeNode, i18n);\n });\n api.on.inspectComponent(({ componentInstance, instanceData }) => {\n if (componentInstance.vnode.el &&\n componentInstance.vnode.el.__VUE_I18N__ &&\n instanceData) {\n if (i18n.mode === 'legacy') {\n // ignore global scope on legacy mode\n if (componentInstance.vnode.el.__VUE_I18N__ !==\n i18n.global.__composer) {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n else {\n inspectComposer(instanceData, componentInstance.vnode.el.__VUE_I18N__);\n }\n }\n });\n api.addInspector({\n id: \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */,\n label: VueDevToolsLabels[\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */],\n icon: 'language',\n treeFilterPlaceholder: VueDevToolsPlaceholders[\"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */]\n });\n api.on.getInspectorTree(payload => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n registerScope(payload, i18n);\n }\n });\n const roots = new Map();\n api.on.getInspectorState(async (payload) => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n api.unhighlightElement();\n inspectScope(payload, i18n);\n if (payload.nodeId === 'global') {\n if (!roots.has(payload.app)) {\n const [root] = await api.getComponentInstances(payload.app);\n roots.set(payload.app, root);\n }\n api.highlightElement(roots.get(payload.app));\n }\n else {\n const instance = getComponentInstance(payload.nodeId, i18n);\n instance && api.highlightElement(instance);\n }\n }\n });\n api.on.editInspectorState(payload => {\n if (payload.app === app &&\n payload.inspectorId === \"vue-i18n-resource-inspector\" /* VueDevToolsIDs.CUSTOM_INSPECTOR */) {\n editScope(payload, i18n);\n }\n });\n api.addTimelineLayer({\n id: \"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */,\n label: VueDevToolsLabels[\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */],\n color: VueDevToolsTimelineColors[\"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */]\n });\n resolve(true);\n });\n }\n catch (e) {\n console.error(e);\n reject(false);\n }\n });\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getI18nScopeLable(instance) {\n return (instance.type.name ||\n instance.type.displayName ||\n instance.type.__file ||\n 'Anonymous');\n}\nfunction updateComponentTreeTags(instance, // eslint-disable-line @typescript-eslint/no-explicit-any\ntreeNode, i18n) {\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n if (instance && instance.vnode.el && instance.vnode.el.__VUE_I18N__) {\n // add custom tags local scope only\n if (instance.vnode.el.__VUE_I18N__ !== global) {\n const tag = {\n label: `i18n (${getI18nScopeLable(instance)} Scope)`,\n textColor: 0x000000,\n backgroundColor: 0xffcd19\n };\n treeNode.tags.push(tag);\n }\n }\n}\nfunction inspectComposer(instanceData, composer) {\n const type = VUE_I18N_COMPONENT_TYPES;\n instanceData.state.push({\n type,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n });\n instanceData.state.push({\n type,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n });\n instanceData.state.push({\n type,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n });\n instanceData.state.push({\n type,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n });\n instanceData.state.push({\n type,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n });\n {\n instanceData.state.push({\n type,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n });\n instanceData.state.push({\n type,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n });\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getLocaleMessageValue(messages) {\n const value = {};\n Object.keys(messages).forEach((key) => {\n const v = messages[key];\n if (isFunction(v) && 'source' in v) {\n value[key] = getMessageFunctionDetails(v);\n }\n else if (isMessageAST(v) && v.loc && v.loc.source) {\n value[key] = v.loc.source;\n }\n else if (isObject(v)) {\n value[key] = getLocaleMessageValue(v);\n }\n else {\n value[key] = v;\n }\n });\n return value;\n}\nconst ESC = {\n '<': '<',\n '>': '>',\n '\"': '"',\n '&': '&'\n};\nfunction escape(s) {\n return s.replace(/[<>\"&]/g, escapeChar);\n}\nfunction escapeChar(a) {\n return ESC[a] || a;\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getMessageFunctionDetails(func) {\n const argString = func.source ? `(\"${escape(func.source)}\")` : `(?)`;\n return {\n _custom: {\n type: 'function',\n display: `ƒ ${argString}`\n }\n };\n}\nfunction registerScope(payload, i18n) {\n payload.rootNodes.push({\n id: 'global',\n label: 'Global Scope'\n });\n // prettier-ignore\n const global = i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n for (const [keyInstance, instance] of i18n.__instances) {\n // prettier-ignore\n const composer = i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n if (global === composer) {\n continue;\n }\n payload.rootNodes.push({\n id: composer.id.toString(),\n label: `${getI18nScopeLable(keyInstance)} Scope`\n });\n }\n}\nfunction getComponentInstance(nodeId, i18n) {\n let instance = null;\n if (nodeId !== 'global') {\n for (const [component, composer] of i18n.__instances.entries()) {\n if (composer.id.toString() === nodeId) {\n instance = component;\n break;\n }\n }\n }\n return instance;\n}\nfunction getComposer$1(nodeId, i18n) {\n if (nodeId === 'global') {\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer;\n }\n else {\n const instance = Array.from(i18n.__instances.values()).find(item => item.id.toString() === nodeId);\n if (instance) {\n return i18n.mode === 'composition'\n ? instance\n : instance.__composer;\n }\n else {\n return null;\n }\n }\n}\nfunction inspectScope(payload, i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) {\n const composer = getComposer$1(payload.nodeId, i18n);\n if (composer) {\n // TODO:\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n payload.state = makeScopeInspectState(composer);\n }\n return null;\n}\nfunction makeScopeInspectState(composer) {\n const state = {};\n const localeType = 'Locale related info';\n const localeStates = [\n {\n type: localeType,\n key: 'locale',\n editable: true,\n value: composer.locale.value\n },\n {\n type: localeType,\n key: 'fallbackLocale',\n editable: true,\n value: composer.fallbackLocale.value\n },\n {\n type: localeType,\n key: 'availableLocales',\n editable: false,\n value: composer.availableLocales\n },\n {\n type: localeType,\n key: 'inheritLocale',\n editable: true,\n value: composer.inheritLocale\n }\n ];\n state[localeType] = localeStates;\n const localeMessagesType = 'Locale messages info';\n const localeMessagesStates = [\n {\n type: localeMessagesType,\n key: 'messages',\n editable: false,\n value: getLocaleMessageValue(composer.messages.value)\n }\n ];\n state[localeMessagesType] = localeMessagesStates;\n {\n const datetimeFormatsType = 'Datetime formats info';\n const datetimeFormatsStates = [\n {\n type: datetimeFormatsType,\n key: 'datetimeFormats',\n editable: false,\n value: composer.datetimeFormats.value\n }\n ];\n state[datetimeFormatsType] = datetimeFormatsStates;\n const numberFormatsType = 'Datetime formats info';\n const numberFormatsStates = [\n {\n type: numberFormatsType,\n key: 'numberFormats',\n editable: false,\n value: composer.numberFormats.value\n }\n ];\n state[numberFormatsType] = numberFormatsStates;\n }\n return state;\n}\nfunction addTimelineEvent(event, payload) {\n if (devtoolsApi) {\n let groupId;\n if (payload && 'groupId' in payload) {\n groupId = payload.groupId;\n delete payload.groupId;\n }\n devtoolsApi.addTimelineEvent({\n layerId: \"vue-i18n-timeline\" /* VueDevToolsIDs.TIMELINE */,\n event: {\n title: event,\n groupId,\n time: Date.now(),\n meta: {},\n data: payload || {},\n logType: event === \"compile-error\" /* VueDevToolsTimelineEvents.COMPILE_ERROR */\n ? 'error'\n : event === \"fallback\" /* VueDevToolsTimelineEvents.FALBACK */ ||\n event === \"missing\" /* VueDevToolsTimelineEvents.MISSING */\n ? 'warning'\n : 'default'\n }\n });\n }\n}\nfunction editScope(payload, i18n) {\n const composer = getComposer$1(payload.nodeId, i18n);\n if (composer) {\n const [field] = payload.path;\n if (field === 'locale' && isString(payload.state.value)) {\n composer.locale.value = payload.state.value;\n }\n else if (field === 'fallbackLocale' &&\n (isString(payload.state.value) ||\n isArray(payload.state.value) ||\n isObject(payload.state.value))) {\n composer.fallbackLocale.value = payload.state.value;\n }\n else if (field === 'inheritLocale' && isBoolean(payload.state.value)) {\n composer.inheritLocale = payload.state.value;\n }\n }\n}\n\n/**\n * Supports compatibility for legacy vue-i18n APIs\n * This mixin is used when we use vue-i18n@v9.x or later\n */\nfunction defineMixin(vuei18n, composer, i18n) {\n return {\n beforeCreate() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const options = this.$options;\n if (options.i18n) {\n const optionsI18n = options.i18n;\n if (options.__i18n) {\n optionsI18n.__i18n = options.__i18n;\n }\n optionsI18n.__root = composer;\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, optionsI18n);\n }\n else {\n optionsI18n.__injectWithOption = true;\n optionsI18n.__extender = i18n.__vueI18nExtend;\n // atttach local VueI18n instance\n this.$i18n = createVueI18n(optionsI18n);\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else if (options.__i18n) {\n if (this === this.$root) {\n // merge option and gttach global\n this.$i18n = mergeToGlobal(vuei18n, options);\n }\n else {\n // atttach local VueI18n instance\n this.$i18n = createVueI18n({\n __i18n: options.__i18n,\n __injectWithOption: true,\n __extender: i18n.__vueI18nExtend,\n __root: composer\n });\n // extend VueI18n instance\n const _vueI18n = this.$i18n;\n if (_vueI18n.__extender) {\n _vueI18n.__disposer = _vueI18n.__extender(this.$i18n);\n }\n }\n }\n else {\n // attach global VueI18n instance\n this.$i18n = vuei18n;\n }\n if (options.__i18nGlobal) {\n adjustI18nResources(composer, options, options);\n }\n // defines vue-i18n legacy APIs\n this.$t = (...args) => this.$i18n.t(...args);\n this.$rt = (...args) => this.$i18n.rt(...args);\n this.$tc = (...args) => this.$i18n.tc(...args);\n this.$te = (key, locale) => this.$i18n.te(key, locale);\n this.$d = (...args) => this.$i18n.d(...args);\n this.$n = (...args) => this.$i18n.n(...args);\n this.$tm = (key) => this.$i18n.tm(key);\n i18n.__setInstance(instance, this.$i18n);\n },\n mounted() {\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$i18n) {\n const _vueI18n = this.$i18n;\n this.$el.__VUE_I18N__ = _vueI18n.__composer;\n const emitter = (this.__v_emitter =\n createEmitter());\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n emitter.on('*', addTimelineEvent);\n }\n },\n unmounted() {\n const instance = getCurrentInstance();\n /* istanbul ignore if */\n if (!instance) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const _vueI18n = this.$i18n;\n /* istanbul ignore if */\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n this.$el &&\n this.$el.__VUE_I18N__) {\n if (this.__v_emitter) {\n this.__v_emitter.off('*', addTimelineEvent);\n delete this.__v_emitter;\n }\n if (this.$i18n) {\n _vueI18n.__disableEmitter && _vueI18n.__disableEmitter();\n delete this.$el.__VUE_I18N__;\n }\n }\n delete this.$t;\n delete this.$rt;\n delete this.$tc;\n delete this.$te;\n delete this.$d;\n delete this.$n;\n delete this.$tm;\n if (_vueI18n.__disposer) {\n _vueI18n.__disposer();\n delete _vueI18n.__disposer;\n delete _vueI18n.__extender;\n }\n i18n.__deleteInstance(instance);\n delete this.$i18n;\n }\n };\n}\nfunction mergeToGlobal(g, options) {\n g.locale = options.locale || g.locale;\n g.fallbackLocale = options.fallbackLocale || g.fallbackLocale;\n g.missing = options.missing || g.missing;\n g.silentTranslationWarn =\n options.silentTranslationWarn || g.silentFallbackWarn;\n g.silentFallbackWarn = options.silentFallbackWarn || g.silentFallbackWarn;\n g.formatFallbackMessages =\n options.formatFallbackMessages || g.formatFallbackMessages;\n g.postTranslation = options.postTranslation || g.postTranslation;\n g.warnHtmlInMessage = options.warnHtmlInMessage || g.warnHtmlInMessage;\n g.escapeParameterHtml = options.escapeParameterHtml || g.escapeParameterHtml;\n g.sync = options.sync || g.sync;\n g.__composer[SetPluralRulesSymbol](options.pluralizationRules || g.pluralizationRules);\n const messages = getLocaleMessages(g.locale, {\n messages: options.messages,\n __i18n: options.__i18n\n });\n Object.keys(messages).forEach(locale => g.mergeLocaleMessage(locale, messages[locale]));\n if (options.datetimeFormats) {\n Object.keys(options.datetimeFormats).forEach(locale => g.mergeDateTimeFormat(locale, options.datetimeFormats[locale]));\n }\n if (options.numberFormats) {\n Object.keys(options.numberFormats).forEach(locale => g.mergeNumberFormat(locale, options.numberFormats[locale]));\n }\n return g;\n}\n\n/**\n * Injection key for {@link useI18n}\n *\n * @remarks\n * The global injection key for I18n instances with `useI18n`. this injection key is used in Web Components.\n * Specify the i18n instance created by {@link createI18n} together with `provide` function.\n *\n * @VueI18nGeneral\n */\nconst I18nInjectionKey = \n/* #__PURE__*/ makeSymbol('global-vue-i18n');\n// eslint-disable-next-line @typescript-eslint/no-explicit-any, @typescript-eslint/explicit-module-boundary-types\nfunction createI18n(options = {}, VueI18nLegacy) {\n // prettier-ignore\n const __legacyMode = __VUE_I18N_LEGACY_API__ && isBoolean(options.legacy)\n ? options.legacy\n : __VUE_I18N_LEGACY_API__;\n // prettier-ignore\n const __globalInjection = isBoolean(options.globalInjection)\n ? options.globalInjection\n : true;\n // prettier-ignore\n const __allowComposition = __VUE_I18N_LEGACY_API__ && __legacyMode\n ? !!options.allowComposition\n : true;\n const __instances = new Map();\n const [globalScope, __global] = createGlobal(options, __legacyMode);\n const symbol = /* #__PURE__*/ makeSymbol((process.env.NODE_ENV !== 'production') ? 'vue-i18n' : '');\n if ((process.env.NODE_ENV !== 'production')) {\n if (__legacyMode && __allowComposition && !false) {\n warn(getWarnMessage(I18nWarnCodes.NOTICE_DROP_ALLOW_COMPOSITION));\n }\n }\n function __getInstance(component) {\n return __instances.get(component) || null;\n }\n function __setInstance(component, instance) {\n __instances.set(component, instance);\n }\n function __deleteInstance(component) {\n __instances.delete(component);\n }\n {\n const i18n = {\n // mode\n get mode() {\n return __VUE_I18N_LEGACY_API__ && __legacyMode\n ? 'legacy'\n : 'composition';\n },\n // allowComposition\n get allowComposition() {\n return __allowComposition;\n },\n // install plugin\n async install(app, ...options) {\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false) {\n app.__VUE_I18N__ = i18n;\n }\n // setup global provider\n app.__VUE_I18N_SYMBOL__ = symbol;\n app.provide(app.__VUE_I18N_SYMBOL__, i18n);\n // set composer & vuei18n extend hook options from plugin options\n if (isPlainObject(options[0])) {\n const opts = options[0];\n i18n.__composerExtend =\n opts.__composerExtend;\n i18n.__vueI18nExtend =\n opts.__vueI18nExtend;\n }\n // global method and properties injection for Composition API\n let globalReleaseHandler = null;\n if (!__legacyMode && __globalInjection) {\n globalReleaseHandler = injectGlobalFields(app, i18n.global);\n }\n // install built-in components and directive\n if (__VUE_I18N_FULL_INSTALL__) {\n apply(app, i18n, ...options);\n }\n // setup mixin for Legacy API\n if (__VUE_I18N_LEGACY_API__ && __legacyMode) {\n app.mixin(defineMixin(__global, __global.__composer, i18n));\n }\n // release global scope\n const unmountApp = app.unmount;\n app.unmount = () => {\n globalReleaseHandler && globalReleaseHandler();\n i18n.dispose();\n unmountApp();\n };\n // setup vue-devtools plugin\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) && !false) {\n const ret = await enableDevTools(app, i18n);\n if (!ret) {\n throw createI18nError(I18nErrorCodes.CANNOT_SETUP_VUE_DEVTOOLS_PLUGIN);\n }\n const emitter = createEmitter();\n if (__legacyMode) {\n const _vueI18n = __global;\n _vueI18n.__enableEmitter && _vueI18n.__enableEmitter(emitter);\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = __global;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n }\n emitter.on('*', addTimelineEvent);\n }\n },\n // global accessor\n get global() {\n return __global;\n },\n dispose() {\n globalScope.stop();\n },\n // @internal\n __instances,\n // @internal\n __getInstance,\n // @internal\n __setInstance,\n // @internal\n __deleteInstance\n };\n return i18n;\n }\n}\n// eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types\nfunction useI18n(options = {}) {\n const instance = getCurrentInstance();\n if (instance == null) {\n throw createI18nError(I18nErrorCodes.MUST_BE_CALL_SETUP_TOP);\n }\n if (!instance.isCE &&\n instance.appContext.app != null &&\n !instance.appContext.app.__VUE_I18N_SYMBOL__) {\n throw createI18nError(I18nErrorCodes.NOT_INSTALLED);\n }\n const i18n = getI18nInstance(instance);\n const gl = getGlobalComposer(i18n);\n const componentOptions = getComponentOptions(instance);\n const scope = getScope(options, componentOptions);\n if (__VUE_I18N_LEGACY_API__) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n if (i18n.mode === 'legacy' && !options.__useComponent) {\n if (!i18n.allowComposition) {\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_IN_LEGACY_MODE);\n }\n return useI18nForLegacy(instance, scope, gl, options);\n }\n }\n if (scope === 'global') {\n adjustI18nResources(gl, options, componentOptions);\n return gl;\n }\n if (scope === 'parent') {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n let composer = getComposer(i18n, instance, options.__useComponent);\n if (composer == null) {\n if ((process.env.NODE_ENV !== 'production')) {\n warn(getWarnMessage(I18nWarnCodes.NOT_FOUND_PARENT_SCOPE));\n }\n composer = gl;\n }\n return composer;\n }\n const i18nInternal = i18n;\n let composer = i18nInternal.__getInstance(instance);\n if (composer == null) {\n const composerOptions = assign({}, options);\n if ('__i18n' in componentOptions) {\n composerOptions.__i18n = componentOptions.__i18n;\n }\n if (gl) {\n composerOptions.__root = gl;\n }\n composer = createComposer(composerOptions);\n if (i18nInternal.__composerExtend) {\n composer[DisposeSymbol] =\n i18nInternal.__composerExtend(composer);\n }\n setupLifeCycle(i18nInternal, instance, composer);\n i18nInternal.__setInstance(instance, composer);\n }\n return composer;\n}\n/**\n * Cast to VueI18n legacy compatible type\n *\n * @remarks\n * This API is provided only with [vue-i18n-bridge](https://vue-i18n.intlify.dev/guide/migration/ways.html#what-is-vue-i18n-bridge).\n *\n * The purpose of this function is to convert an {@link I18n} instance created with {@link createI18n | createI18n(legacy: true)} into a `vue-i18n@v8.x` compatible instance of `new VueI18n` in a TypeScript environment.\n *\n * @param i18n - An instance of {@link I18n}\n * @returns A i18n instance which is casted to {@link VueI18n} type\n *\n * @VueI18nTip\n * :new: provided by **vue-i18n-bridge only**\n *\n * @VueI18nGeneral\n */\n/* #__NO_SIDE_EFFECTS__ */\nconst castToVueI18n = (i18n\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\n) => {\n if (!(__VUE_I18N_BRIDGE__ in i18n)) {\n throw createI18nError(I18nErrorCodes.NOT_COMPATIBLE_LEGACY_VUE_I18N);\n }\n return i18n;\n};\nfunction createGlobal(options, legacyMode, VueI18nLegacy // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n const scope = effectScope();\n {\n const obj = __VUE_I18N_LEGACY_API__ && legacyMode\n ? scope.run(() => createVueI18n(options))\n : scope.run(() => createComposer(options));\n if (obj == null) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n return [scope, obj];\n }\n}\nfunction getI18nInstance(instance) {\n {\n const i18n = inject(!instance.isCE\n ? instance.appContext.app.__VUE_I18N_SYMBOL__\n : I18nInjectionKey);\n /* istanbul ignore if */\n if (!i18n) {\n throw createI18nError(!instance.isCE\n ? I18nErrorCodes.UNEXPECTED_ERROR\n : I18nErrorCodes.NOT_INSTALLED_WITH_PROVIDE);\n }\n return i18n;\n }\n}\n// eslint-disable-next-line @typescript-eslint/no-explicit-any\nfunction getScope(options, componentOptions) {\n // prettier-ignore\n return isEmptyObject(options)\n ? ('__i18n' in componentOptions)\n ? 'local'\n : 'global'\n : !options.useScope\n ? 'local'\n : options.useScope;\n}\nfunction getGlobalComposer(i18n) {\n // prettier-ignore\n return i18n.mode === 'composition'\n ? i18n.global\n : i18n.global.__composer\n ;\n}\nfunction getComposer(i18n, target, useComponent = false) {\n let composer = null;\n const root = target.root;\n let current = getParentComponentInstance(target, useComponent);\n while (current != null) {\n const i18nInternal = i18n;\n if (i18n.mode === 'composition') {\n composer = i18nInternal.__getInstance(current);\n }\n else {\n if (__VUE_I18N_LEGACY_API__) {\n const vueI18n = i18nInternal.__getInstance(current);\n if (vueI18n != null) {\n composer = vueI18n\n .__composer;\n if (useComponent &&\n composer &&\n !composer[InejctWithOptionSymbol] // eslint-disable-line @typescript-eslint/no-explicit-any\n ) {\n composer = null;\n }\n }\n }\n }\n if (composer != null) {\n break;\n }\n if (root === current) {\n break;\n }\n current = current.parent;\n }\n return composer;\n}\nfunction getParentComponentInstance(target, useComponent = false) {\n if (target == null) {\n return null;\n }\n {\n // if `useComponent: true` will be specified, we get lexical scope owner instance for use-case slots\n return !useComponent\n ? target.parent\n : target.vnode.ctx || target.parent; // eslint-disable-line @typescript-eslint/no-explicit-any\n }\n}\nfunction setupLifeCycle(i18n, target, composer) {\n let emitter = null;\n {\n onMounted(() => {\n // inject composer instance to DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el) {\n target.vnode.el.__VUE_I18N__ = composer;\n emitter = createEmitter();\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n _composer[EnableEmitter] && _composer[EnableEmitter](emitter);\n emitter.on('*', addTimelineEvent);\n }\n }, target);\n onUnmounted(() => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const _composer = composer;\n // remove composer instance from DOM for intlify-devtools\n if (((process.env.NODE_ENV !== 'production') || __VUE_PROD_DEVTOOLS__) &&\n !false &&\n target.vnode.el &&\n target.vnode.el.__VUE_I18N__) {\n emitter && emitter.off('*', addTimelineEvent);\n _composer[DisableEmitter] && _composer[DisableEmitter]();\n delete target.vnode.el.__VUE_I18N__;\n }\n i18n.__deleteInstance(target);\n // dispose extended resources\n const dispose = _composer[DisposeSymbol];\n if (dispose) {\n dispose();\n delete _composer[DisposeSymbol];\n }\n }, target);\n }\n}\nfunction useI18nForLegacy(instance, scope, root, options = {} // eslint-disable-line @typescript-eslint/no-explicit-any\n) {\n const isLocalScope = scope === 'local';\n const _composer = shallowRef(null);\n if (isLocalScope &&\n instance.proxy &&\n !(instance.proxy.$options.i18n || instance.proxy.$options.__i18n)) {\n throw createI18nError(I18nErrorCodes.MUST_DEFINE_I18N_OPTION_IN_ALLOW_COMPOSITION);\n }\n const _inheritLocale = isBoolean(options.inheritLocale)\n ? options.inheritLocale\n : !isString(options.locale);\n const _locale = ref(\n // prettier-ignore\n !isLocalScope || _inheritLocale\n ? root.locale.value\n : isString(options.locale)\n ? options.locale\n : DEFAULT_LOCALE);\n const _fallbackLocale = ref(\n // prettier-ignore\n !isLocalScope || _inheritLocale\n ? root.fallbackLocale.value\n : isString(options.fallbackLocale) ||\n isArray(options.fallbackLocale) ||\n isPlainObject(options.fallbackLocale) ||\n options.fallbackLocale === false\n ? options.fallbackLocale\n : _locale.value);\n const _messages = ref(getLocaleMessages(_locale.value, options));\n // prettier-ignore\n const _datetimeFormats = ref(isPlainObject(options.datetimeFormats)\n ? options.datetimeFormats\n : { [_locale.value]: {} });\n // prettier-ignore\n const _numberFormats = ref(isPlainObject(options.numberFormats)\n ? options.numberFormats\n : { [_locale.value]: {} });\n // prettier-ignore\n const _missingWarn = isLocalScope\n ? root.missingWarn\n : isBoolean(options.missingWarn) || isRegExp(options.missingWarn)\n ? options.missingWarn\n : true;\n // prettier-ignore\n const _fallbackWarn = isLocalScope\n ? root.fallbackWarn\n : isBoolean(options.fallbackWarn) || isRegExp(options.fallbackWarn)\n ? options.fallbackWarn\n : true;\n // prettier-ignore\n const _fallbackRoot = isLocalScope\n ? root.fallbackRoot\n : isBoolean(options.fallbackRoot)\n ? options.fallbackRoot\n : true;\n // configure fall back to root\n const _fallbackFormat = !!options.fallbackFormat;\n // runtime missing\n const _missing = isFunction(options.missing) ? options.missing : null;\n // postTranslation handler\n const _postTranslation = isFunction(options.postTranslation)\n ? options.postTranslation\n : null;\n // prettier-ignore\n const _warnHtmlMessage = isLocalScope\n ? root.warnHtmlMessage\n : isBoolean(options.warnHtmlMessage)\n ? options.warnHtmlMessage\n : true;\n const _escapeParameter = !!options.escapeParameter;\n // prettier-ignore\n const _modifiers = isLocalScope\n ? root.modifiers\n : isPlainObject(options.modifiers)\n ? options.modifiers\n : {};\n // pluralRules\n const _pluralRules = options.pluralRules || (isLocalScope && root.pluralRules);\n // track reactivity\n function trackReactivityValues() {\n return [\n _locale.value,\n _fallbackLocale.value,\n _messages.value,\n _datetimeFormats.value,\n _numberFormats.value\n ];\n }\n // locale\n const locale = computed({\n get: () => {\n return _composer.value ? _composer.value.locale.value : _locale.value;\n },\n set: val => {\n if (_composer.value) {\n _composer.value.locale.value = val;\n }\n _locale.value = val;\n }\n });\n // fallbackLocale\n const fallbackLocale = computed({\n get: () => {\n return _composer.value\n ? _composer.value.fallbackLocale.value\n : _fallbackLocale.value;\n },\n set: val => {\n if (_composer.value) {\n _composer.value.fallbackLocale.value = val;\n }\n _fallbackLocale.value = val;\n }\n });\n // messages\n const messages = computed(() => {\n if (_composer.value) {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return _composer.value.messages.value;\n }\n else {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n return _messages.value;\n }\n });\n const datetimeFormats = computed(() => _datetimeFormats.value);\n const numberFormats = computed(() => _numberFormats.value);\n function getPostTranslationHandler() {\n return _composer.value\n ? _composer.value.getPostTranslationHandler()\n : _postTranslation;\n }\n function setPostTranslationHandler(handler) {\n if (_composer.value) {\n _composer.value.setPostTranslationHandler(handler);\n }\n }\n function getMissingHandler() {\n return _composer.value ? _composer.value.getMissingHandler() : _missing;\n }\n function setMissingHandler(handler) {\n if (_composer.value) {\n _composer.value.setMissingHandler(handler);\n }\n }\n function warpWithDeps(fn) {\n trackReactivityValues();\n return fn();\n }\n function t(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.t, null, [...args]))\n : warpWithDeps(() => '');\n }\n function rt(...args) {\n return _composer.value\n ? Reflect.apply(_composer.value.rt, null, [...args])\n : '';\n }\n function d(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.d, null, [...args]))\n : warpWithDeps(() => '');\n }\n function n(...args) {\n return _composer.value\n ? warpWithDeps(() => Reflect.apply(_composer.value.n, null, [...args]))\n : warpWithDeps(() => '');\n }\n function tm(key) {\n return _composer.value ? _composer.value.tm(key) : {};\n }\n function te(key, locale) {\n return _composer.value ? _composer.value.te(key, locale) : false;\n }\n function getLocaleMessage(locale) {\n return _composer.value ? _composer.value.getLocaleMessage(locale) : {};\n }\n function setLocaleMessage(locale, message) {\n if (_composer.value) {\n _composer.value.setLocaleMessage(locale, message);\n _messages.value[locale] = message;\n }\n }\n function mergeLocaleMessage(locale, message) {\n if (_composer.value) {\n _composer.value.mergeLocaleMessage(locale, message);\n }\n }\n function getDateTimeFormat(locale) {\n return _composer.value ? _composer.value.getDateTimeFormat(locale) : {};\n }\n function setDateTimeFormat(locale, format) {\n if (_composer.value) {\n _composer.value.setDateTimeFormat(locale, format);\n _datetimeFormats.value[locale] = format;\n }\n }\n function mergeDateTimeFormat(locale, format) {\n if (_composer.value) {\n _composer.value.mergeDateTimeFormat(locale, format);\n }\n }\n function getNumberFormat(locale) {\n return _composer.value ? _composer.value.getNumberFormat(locale) : {};\n }\n function setNumberFormat(locale, format) {\n if (_composer.value) {\n _composer.value.setNumberFormat(locale, format);\n _numberFormats.value[locale] = format;\n }\n }\n function mergeNumberFormat(locale, format) {\n if (_composer.value) {\n _composer.value.mergeNumberFormat(locale, format);\n }\n }\n const wrapper = {\n get id() {\n return _composer.value ? _composer.value.id : -1;\n },\n locale,\n fallbackLocale,\n messages,\n datetimeFormats,\n numberFormats,\n get inheritLocale() {\n return _composer.value ? _composer.value.inheritLocale : _inheritLocale;\n },\n set inheritLocale(val) {\n if (_composer.value) {\n _composer.value.inheritLocale = val;\n }\n },\n get availableLocales() {\n return _composer.value\n ? _composer.value.availableLocales\n : Object.keys(_messages.value);\n },\n get modifiers() {\n return (_composer.value ? _composer.value.modifiers : _modifiers);\n },\n get pluralRules() {\n return (_composer.value ? _composer.value.pluralRules : _pluralRules);\n },\n get isGlobal() {\n return _composer.value ? _composer.value.isGlobal : false;\n },\n get missingWarn() {\n return _composer.value ? _composer.value.missingWarn : _missingWarn;\n },\n set missingWarn(val) {\n if (_composer.value) {\n _composer.value.missingWarn = val;\n }\n },\n get fallbackWarn() {\n return _composer.value ? _composer.value.fallbackWarn : _fallbackWarn;\n },\n set fallbackWarn(val) {\n if (_composer.value) {\n _composer.value.missingWarn = val;\n }\n },\n get fallbackRoot() {\n return _composer.value ? _composer.value.fallbackRoot : _fallbackRoot;\n },\n set fallbackRoot(val) {\n if (_composer.value) {\n _composer.value.fallbackRoot = val;\n }\n },\n get fallbackFormat() {\n return _composer.value ? _composer.value.fallbackFormat : _fallbackFormat;\n },\n set fallbackFormat(val) {\n if (_composer.value) {\n _composer.value.fallbackFormat = val;\n }\n },\n get warnHtmlMessage() {\n return _composer.value\n ? _composer.value.warnHtmlMessage\n : _warnHtmlMessage;\n },\n set warnHtmlMessage(val) {\n if (_composer.value) {\n _composer.value.warnHtmlMessage = val;\n }\n },\n get escapeParameter() {\n return _composer.value\n ? _composer.value.escapeParameter\n : _escapeParameter;\n },\n set escapeParameter(val) {\n if (_composer.value) {\n _composer.value.escapeParameter = val;\n }\n },\n t,\n getPostTranslationHandler,\n setPostTranslationHandler,\n getMissingHandler,\n setMissingHandler,\n rt,\n d,\n n,\n tm,\n te,\n getLocaleMessage,\n setLocaleMessage,\n mergeLocaleMessage,\n getDateTimeFormat,\n setDateTimeFormat,\n mergeDateTimeFormat,\n getNumberFormat,\n setNumberFormat,\n mergeNumberFormat\n };\n function sync(composer) {\n composer.locale.value = _locale.value;\n composer.fallbackLocale.value = _fallbackLocale.value;\n Object.keys(_messages.value).forEach(locale => {\n composer.mergeLocaleMessage(locale, _messages.value[locale]);\n });\n Object.keys(_datetimeFormats.value).forEach(locale => {\n composer.mergeDateTimeFormat(locale, _datetimeFormats.value[locale]);\n });\n Object.keys(_numberFormats.value).forEach(locale => {\n composer.mergeNumberFormat(locale, _numberFormats.value[locale]);\n });\n composer.escapeParameter = _escapeParameter;\n composer.fallbackFormat = _fallbackFormat;\n composer.fallbackRoot = _fallbackRoot;\n composer.fallbackWarn = _fallbackWarn;\n composer.missingWarn = _missingWarn;\n composer.warnHtmlMessage = _warnHtmlMessage;\n }\n onBeforeMount(() => {\n if (instance.proxy == null || instance.proxy.$i18n == null) {\n throw createI18nError(I18nErrorCodes.NOT_AVAILABLE_COMPOSITION_IN_LEGACY);\n }\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n const composer = (_composer.value = instance.proxy.$i18n\n .__composer);\n if (scope === 'global') {\n _locale.value = composer.locale.value;\n _fallbackLocale.value = composer.fallbackLocale.value;\n _messages.value = composer.messages.value;\n _datetimeFormats.value = composer.datetimeFormats.value;\n _numberFormats.value = composer.numberFormats.value;\n }\n else if (isLocalScope) {\n sync(composer);\n }\n });\n return wrapper;\n}\nconst globalExportProps = [\n 'locale',\n 'fallbackLocale',\n 'availableLocales'\n];\nconst globalExportMethods = ['t', 'rt', 'd', 'n', 'tm', 'te']\n ;\nfunction injectGlobalFields(app, composer) {\n const i18n = Object.create(null);\n globalExportProps.forEach(prop => {\n const desc = Object.getOwnPropertyDescriptor(composer, prop);\n if (!desc) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n const wrap = isRef(desc.value) // check computed props\n ? {\n get() {\n return desc.value.value;\n },\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n set(val) {\n desc.value.value = val;\n }\n }\n : {\n get() {\n return desc.get && desc.get();\n }\n };\n Object.defineProperty(i18n, prop, wrap);\n });\n app.config.globalProperties.$i18n = i18n;\n globalExportMethods.forEach(method => {\n const desc = Object.getOwnPropertyDescriptor(composer, method);\n if (!desc || !desc.value) {\n throw createI18nError(I18nErrorCodes.UNEXPECTED_ERROR);\n }\n Object.defineProperty(app.config.globalProperties, `$${method}`, desc);\n });\n const dispose = () => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties.$i18n;\n globalExportMethods.forEach(method => {\n // eslint-disable-next-line @typescript-eslint/no-explicit-any\n delete app.config.globalProperties[`$${method}`];\n });\n };\n return dispose;\n}\n\n{\n initFeatureFlags();\n}\n// register message compiler at vue-i18n\nif (__INTLIFY_JIT_COMPILATION__) {\n registerMessageCompiler(compile);\n}\nelse {\n registerMessageCompiler(compileToFunction);\n}\n// register message resolver at vue-i18n\nregisterMessageResolver(resolveValue);\n// register fallback locale at vue-i18n\nregisterLocaleFallbacker(fallbackWithLocaleChain);\n// NOTE: experimental !!\nif ((process.env.NODE_ENV !== 'production') || __INTLIFY_PROD_DEVTOOLS__) {\n const target = getGlobalThis();\n target.__INTLIFY__ = true;\n setDevToolsHook(target.__INTLIFY_DEVTOOLS_GLOBAL_HOOK__);\n}\nif ((process.env.NODE_ENV !== 'production')) ;\n\nexport { DatetimeFormat, I18nD, I18nInjectionKey, I18nN, I18nT, NumberFormat, Translation, VERSION, castToVueI18n, createI18n, useI18n, vTDirective };\n","\n\n\n","\n\n\n\n\n","// This module is mocked in tests-ui/\n// Import vue components here to avoid tests-ui/ reporting errors\n// about importing primevue components.\nimport { useDialogStore } from '@/stores/dialogStore'\nimport LoadWorkflowWarning from '@/components/dialog/content/LoadWorkflowWarning.vue'\nimport MissingModelsWarning from '@/components/dialog/content/MissingModelsWarning.vue'\nimport SettingDialogContent from '@/components/dialog/content/SettingDialogContent.vue'\nimport SettingDialogHeader from '@/components/dialog/header/SettingDialogHeader.vue'\nimport type { ExecutionErrorWsMessage } from '@/types/apiTypes'\nimport ExecutionErrorDialogContent from '@/components/dialog/content/ExecutionErrorDialogContent.vue'\n\nexport function showLoadWorkflowWarning(props: {\n missingNodeTypes: any[]\n hasAddedNodes: boolean\n [key: string]: any\n}) {\n const dialogStore = useDialogStore()\n dialogStore.showDialog({\n component: LoadWorkflowWarning,\n props\n })\n}\n\nexport function showMissingModelsWarning(props: {\n missingModels: any[]\n [key: string]: any\n}) {\n const dialogStore = useDialogStore()\n dialogStore.showDialog({\n component: MissingModelsWarning,\n props\n })\n}\n\nexport function showSettingsDialog() {\n useDialogStore().showDialog({\n headerComponent: SettingDialogHeader,\n component: SettingDialogContent\n })\n}\n\nexport function showExecutionErrorDialog(error: ExecutionErrorWsMessage) {\n useDialogStore().showDialog({\n component: ExecutionErrorDialogContent,\n props: {\n error\n }\n })\n}\n","// Within Vue component context, you can directly call useToast().add()\n// instead of going through the store.\n// The store is useful when you need to call it from outside the Vue component context.\nimport { defineStore } from 'pinia'\nimport type { ToastMessageOptions } from 'primevue/toast'\n\nexport const useToastStore = defineStore('toast', {\n state: () => ({\n messagesToAdd: [] as ToastMessageOptions[],\n messagesToRemove: [] as ToastMessageOptions[],\n removeAllRequested: false\n }),\n\n actions: {\n add(message: ToastMessageOptions) {\n this.messagesToAdd = [...this.messagesToAdd, message]\n },\n remove(message: ToastMessageOptions) {\n this.messagesToRemove = [...this.messagesToRemove, message]\n },\n removeAll() {\n this.removeAllRequested = true\n }\n }\n})\n","var __defProp = Object.defineProperty;\nvar __typeError = (msg) => {\n throw TypeError(msg);\n};\nvar __defNormalProp = (obj, key, value) => key in obj ? __defProp(obj, key, { enumerable: true, configurable: true, writable: true, value }) : obj[key] = value;\nvar __publicField = (obj, key, value) => __defNormalProp(obj, typeof key !== \"symbol\" ? key + \"\" : key, value);\nvar __accessCheck = (obj, member, msg) => member.has(obj) || __typeError(\"Cannot \" + msg);\nvar __privateGet = (obj, member, getter) => (__accessCheck(obj, member, \"read from private field\"), getter ? getter.call(obj) : member.get(obj));\nvar __privateAdd = (obj, member, value) => member.has(obj) ? __typeError(\"Cannot add the same private member more than once\") : member instanceof WeakSet ? member.add(obj) : member.set(obj, value);\nconst globalExport = {};\n(function(globalThis) {\n var _temp, _temp_vec2, _tmp_area, _margin_area, _link_bounding, _tempA, _tempB;\n var LiteGraph = globalThis.LiteGraph = {\n VERSION: 0.4,\n CANVAS_GRID_SIZE: 10,\n NODE_TITLE_HEIGHT: 30,\n NODE_TITLE_TEXT_Y: 20,\n NODE_SLOT_HEIGHT: 20,\n NODE_WIDGET_HEIGHT: 20,\n NODE_WIDTH: 140,\n NODE_MIN_WIDTH: 50,\n NODE_COLLAPSED_RADIUS: 10,\n NODE_COLLAPSED_WIDTH: 80,\n NODE_TITLE_COLOR: \"#999\",\n NODE_SELECTED_TITLE_COLOR: \"#FFF\",\n NODE_TEXT_SIZE: 14,\n NODE_TEXT_COLOR: \"#AAA\",\n NODE_SUBTEXT_SIZE: 12,\n NODE_DEFAULT_COLOR: \"#333\",\n NODE_DEFAULT_BGCOLOR: \"#353535\",\n NODE_DEFAULT_BOXCOLOR: \"#666\",\n NODE_DEFAULT_SHAPE: \"box\",\n NODE_BOX_OUTLINE_COLOR: \"#FFF\",\n DEFAULT_SHADOW_COLOR: \"rgba(0,0,0,0.5)\",\n DEFAULT_GROUP_FONT: 24,\n WIDGET_BGCOLOR: \"#222\",\n WIDGET_OUTLINE_COLOR: \"#666\",\n WIDGET_TEXT_COLOR: \"#DDD\",\n WIDGET_SECONDARY_TEXT_COLOR: \"#999\",\n LINK_COLOR: \"#9A9\",\n EVENT_LINK_COLOR: \"#A86\",\n CONNECTING_LINK_COLOR: \"#AFA\",\n MAX_NUMBER_OF_NODES: 1e4,\n //avoid infinite loops\n DEFAULT_POSITION: [100, 100],\n //default node position\n VALID_SHAPES: [\"default\", \"box\", \"round\", \"card\"],\n //,\"circle\"\n //shapes are used for nodes but also for slots\n BOX_SHAPE: 1,\n ROUND_SHAPE: 2,\n CIRCLE_SHAPE: 3,\n CARD_SHAPE: 4,\n ARROW_SHAPE: 5,\n GRID_SHAPE: 6,\n // intended for slot arrays\n //enums\n INPUT: 1,\n OUTPUT: 2,\n EVENT: -1,\n //for outputs\n ACTION: -1,\n //for inputs\n NODE_MODES: [\"Always\", \"On Event\", \"Never\", \"On Trigger\"],\n // helper, will add \"On Request\" and more in the future\n NODE_MODES_COLORS: [\"#666\", \"#422\", \"#333\", \"#224\", \"#626\"],\n // use with node_box_coloured_by_mode\n ALWAYS: 0,\n ON_EVENT: 1,\n NEVER: 2,\n ON_TRIGGER: 3,\n UP: 1,\n DOWN: 2,\n LEFT: 3,\n RIGHT: 4,\n CENTER: 5,\n LINK_RENDER_MODES: [\"Straight\", \"Linear\", \"Spline\"],\n // helper\n STRAIGHT_LINK: 0,\n LINEAR_LINK: 1,\n SPLINE_LINK: 2,\n NORMAL_TITLE: 0,\n NO_TITLE: 1,\n TRANSPARENT_TITLE: 2,\n AUTOHIDE_TITLE: 3,\n VERTICAL_LAYOUT: \"vertical\",\n // arrange nodes vertically\n proxy: null,\n //used to redirect calls\n node_images_path: \"\",\n debug: false,\n catch_exceptions: true,\n throw_errors: true,\n allow_scripts: false,\n //if set to true some nodes like Formula would be allowed to evaluate code that comes from unsafe sources (like node configuration), which could lead to exploits\n registered_node_types: {},\n //nodetypes by string\n node_types_by_file_extension: {},\n //used for dropping files in the canvas\n Nodes: {},\n //node types by classname\n Globals: {},\n //used to store vars between graphs\n searchbox_extras: {},\n //used to add extra features to the search box\n auto_sort_node_types: false,\n // [true!] If set to true, will automatically sort node types / categories in the context menus\n node_box_coloured_when_on: false,\n // [true!] this make the nodes box (top left circle) coloured when triggered (execute/action), visual feedback\n node_box_coloured_by_mode: false,\n // [true!] nodebox based on node mode, visual feedback\n dialog_close_on_mouse_leave: false,\n // [false on mobile] better true if not touch device, TODO add an helper/listener to close if false\n dialog_close_on_mouse_leave_delay: 500,\n shift_click_do_break_link_from: false,\n // [false!] prefer false if results too easy to break links - implement with ALT or TODO custom keys\n click_do_break_link_to: false,\n // [false!]prefer false, way too easy to break links\n ctrl_alt_click_do_break_link: true,\n // [true!] who accidentally ctrl-alt-clicks on an in/output? nobody! that's who!\n search_hide_on_mouse_leave: true,\n // [false on mobile] better true if not touch device, TODO add an helper/listener to close if false\n search_filter_enabled: false,\n // [true!] enable filtering slots type in the search widget, !requires auto_load_slot_types or manual set registered_slot_[in/out]_types and slot_types_[in/out]\n search_show_all_on_open: true,\n // [true!] opens the results list when opening the search widget\n auto_load_slot_types: false,\n // [if want false, use true, run, get vars values to be statically set, than disable] nodes types and nodeclass association with node types need to be calculated, if dont want this, calculate once and set registered_slot_[in/out]_types and slot_types_[in/out]\n // set these values if not using auto_load_slot_types\n registered_slot_in_types: {},\n // slot types for nodeclass\n registered_slot_out_types: {},\n // slot types for nodeclass\n slot_types_in: [],\n // slot types IN\n slot_types_out: [],\n // slot types OUT\n slot_types_default_in: [],\n // specify for each IN slot type a(/many) default node(s), use single string, array, or object (with node, title, parameters, ..) like for search\n slot_types_default_out: [],\n // specify for each OUT slot type a(/many) default node(s), use single string, array, or object (with node, title, parameters, ..) like for search\n alt_drag_do_clone_nodes: false,\n // [true!] very handy, ALT click to clone and drag the new node\n do_add_triggers_slots: false,\n // [true!] will create and connect event slots when using action/events connections, !WILL CHANGE node mode when using onTrigger (enable mode colors), onExecuted does not need this\n allow_multi_output_for_events: true,\n // [false!] being events, it is strongly reccomended to use them sequentially, one by one\n middle_click_slot_add_default_node: false,\n //[true!] allows to create and connect a ndoe clicking with the third button (wheel)\n release_link_on_empty_shows_menu: false,\n //[true!] dragging a link to empty space will open a menu, add from list, search or defaults\n pointerevents_method: \"pointer\",\n // \"mouse\"|\"pointer\" use mouse for retrocompatibility issues? (none found @ now)\n // TODO implement pointercancel, gotpointercapture, lostpointercapture, (pointerover, pointerout if necessary)\n ctrl_shift_v_paste_connect_unselected_outputs: true,\n //[true!] allows ctrl + shift + v to paste nodes with the outputs of the unselected nodes connected with the inputs of the newly pasted nodes\n // if true, all newly created nodes/links will use string UUIDs for their id fields instead of integers.\n // use this if you must have node IDs that are unique across all graphs and subgraphs.\n use_uuids: false,\n /**\n * Register a node class so it can be listed when the user wants to create a new one\n * @method registerNodeType\n * @param {String} type name of the node and path\n * @param {Class} base_class class containing the structure of a node\n */\n registerNodeType: function(type, base_class) {\n if (!base_class.prototype) {\n throw \"Cannot register a simple object, it must be a class with a prototype\";\n }\n base_class.type = type;\n if (LiteGraph.debug) {\n console.log(\"Node registered: \" + type);\n }\n const classname = base_class.name;\n const pos2 = type.lastIndexOf(\"/\");\n base_class.category = type.substring(0, pos2);\n if (!base_class.title) {\n base_class.title = classname;\n }\n for (var i2 in LGraphNode.prototype) {\n if (!base_class.prototype[i2]) {\n base_class.prototype[i2] = LGraphNode.prototype[i2];\n }\n }\n const prev = this.registered_node_types[type];\n if (prev) {\n console.log(\"replacing node type: \" + type);\n }\n if (!Object.prototype.hasOwnProperty.call(base_class.prototype, \"shape\")) {\n Object.defineProperty(base_class.prototype, \"shape\", {\n set: function(v2) {\n switch (v2) {\n case \"default\":\n delete this._shape;\n break;\n case \"box\":\n this._shape = LiteGraph.BOX_SHAPE;\n break;\n case \"round\":\n this._shape = LiteGraph.ROUND_SHAPE;\n break;\n case \"circle\":\n this._shape = LiteGraph.CIRCLE_SHAPE;\n break;\n case \"card\":\n this._shape = LiteGraph.CARD_SHAPE;\n break;\n default:\n this._shape = v2;\n }\n },\n get: function() {\n return this._shape;\n },\n enumerable: true,\n configurable: true\n });\n if (base_class.supported_extensions) {\n for (let i3 in base_class.supported_extensions) {\n const ext = base_class.supported_extensions[i3];\n if (ext && ext.constructor === String) {\n this.node_types_by_file_extension[ext.toLowerCase()] = base_class;\n }\n }\n }\n }\n this.registered_node_types[type] = base_class;\n if (base_class.constructor.name) {\n this.Nodes[classname] = base_class;\n }\n if (LiteGraph.onNodeTypeRegistered) {\n LiteGraph.onNodeTypeRegistered(type, base_class);\n }\n if (prev && LiteGraph.onNodeTypeReplaced) {\n LiteGraph.onNodeTypeReplaced(type, base_class, prev);\n }\n if (base_class.prototype.onPropertyChange) {\n console.warn(\n \"LiteGraph node class \" + type + \" has onPropertyChange method, it must be called onPropertyChanged with d at the end\"\n );\n }\n if (this.auto_load_slot_types) {\n new base_class(base_class.title || \"tmpnode\");\n }\n },\n /**\n * removes a node type from the system\n * @method unregisterNodeType\n * @param {String|Object} type name of the node or the node constructor itself\n */\n unregisterNodeType: function(type) {\n const base_class = type.constructor === String ? this.registered_node_types[type] : type;\n if (!base_class) {\n throw \"node type not found: \" + type;\n }\n delete this.registered_node_types[base_class.type];\n if (base_class.constructor.name) {\n delete this.Nodes[base_class.constructor.name];\n }\n },\n /**\n * Save a slot type and his node\n * @method registerSlotType\n * @param {String|Object} type name of the node or the node constructor itself\n * @param {String} slot_type name of the slot type (variable type), eg. string, number, array, boolean, ..\n */\n registerNodeAndSlotType: function(type, slot_type, out) {\n out = out || false;\n const base_class = type.constructor === String && this.registered_node_types[type] !== \"anonymous\" ? this.registered_node_types[type] : type;\n const class_type = base_class.constructor.type;\n let allTypes = [];\n if (typeof slot_type === \"string\") {\n allTypes = slot_type.split(\",\");\n } else if (slot_type == this.EVENT || slot_type == this.ACTION) {\n allTypes = [\"_event_\"];\n } else {\n allTypes = [\"*\"];\n }\n for (let i2 = 0; i2 < allTypes.length; ++i2) {\n let slotType = allTypes[i2];\n if (slotType === \"\") {\n slotType = \"*\";\n }\n const registerTo = out ? \"registered_slot_out_types\" : \"registered_slot_in_types\";\n if (this[registerTo][slotType] === void 0) {\n this[registerTo][slotType] = { nodes: [] };\n }\n if (!this[registerTo][slotType].nodes.includes(class_type)) {\n this[registerTo][slotType].nodes.push(class_type);\n }\n if (!out) {\n if (!this.slot_types_in.includes(slotType.toLowerCase())) {\n this.slot_types_in.push(slotType.toLowerCase());\n this.slot_types_in.sort();\n }\n } else {\n if (!this.slot_types_out.includes(slotType.toLowerCase())) {\n this.slot_types_out.push(slotType.toLowerCase());\n this.slot_types_out.sort();\n }\n }\n }\n },\n /**\n * Create a new nodetype by passing a function, it wraps it with a proper class and generates inputs according to the parameters of the function.\n * Useful to wrap simple methods that do not require properties, and that only process some input to generate an output.\n * @method wrapFunctionAsNode\n * @param {String} name node name with namespace (p.e.: 'math/sum')\n * @param {Function} func\n * @param {Array} param_types [optional] an array containing the type of every parameter, otherwise parameters will accept any type\n * @param {String} return_type [optional] string with the return type, otherwise it will be generic\n * @param {Object} properties [optional] properties to be configurable\n */\n wrapFunctionAsNode: function(name, func, param_types, return_type, properties) {\n var params = Array(func.length);\n var code = \"\";\n var names = LiteGraph.getParameterNames(func);\n for (var i2 = 0; i2 < names.length; ++i2) {\n code += \"this.addInput('\" + names[i2] + \"',\" + (param_types && param_types[i2] ? \"'\" + param_types[i2] + \"'\" : \"0\") + \");\\n\";\n }\n code += \"this.addOutput('out',\" + (return_type ? \"'\" + return_type + \"'\" : 0) + \");\\n\";\n if (properties) {\n code += \"this.properties = \" + JSON.stringify(properties) + \";\\n\";\n }\n var classobj = Function(code);\n classobj.title = name.split(\"/\").pop();\n classobj.desc = \"Generated from \" + func.name;\n classobj.prototype.onExecute = function onExecute() {\n for (var i3 = 0; i3 < params.length; ++i3) {\n params[i3] = this.getInputData(i3);\n }\n var r = func.apply(this, params);\n this.setOutputData(0, r);\n };\n this.registerNodeType(name, classobj);\n },\n /**\n * Removes all previously registered node's types\n */\n clearRegisteredTypes: function() {\n this.registered_node_types = {};\n this.node_types_by_file_extension = {};\n this.Nodes = {};\n this.searchbox_extras = {};\n },\n /**\n * Adds this method to all nodetypes, existing and to be created\n * (You can add it to LGraphNode.prototype but then existing node types wont have it)\n * @method addNodeMethod\n * @param {Function} func\n */\n addNodeMethod: function(name, func) {\n LGraphNode.prototype[name] = func;\n for (var i2 in this.registered_node_types) {\n var type = this.registered_node_types[i2];\n if (type.prototype[name]) {\n type.prototype[\"_\" + name] = type.prototype[name];\n }\n type.prototype[name] = func;\n }\n },\n /**\n * Create a node of a given type with a name. The node is not attached to any graph yet.\n * @method createNode\n * @param {String} type full name of the node class. p.e. \"math/sin\"\n * @param {String} name a name to distinguish from other nodes\n * @param {Object} options to set options\n */\n createNode: function(type, title, options) {\n var base_class = this.registered_node_types[type];\n if (!base_class) {\n if (LiteGraph.debug) {\n console.log(\n 'GraphNode type \"' + type + '\" not registered.'\n );\n }\n return null;\n }\n base_class.prototype || base_class;\n title = title || base_class.title || type;\n var node2 = null;\n if (LiteGraph.catch_exceptions) {\n try {\n node2 = new base_class(title);\n } catch (err) {\n console.error(err);\n return null;\n }\n } else {\n node2 = new base_class(title);\n }\n node2.type = type;\n if (!node2.title && title) {\n node2.title = title;\n }\n if (!node2.properties) {\n node2.properties = {};\n }\n if (!node2.properties_info) {\n node2.properties_info = [];\n }\n if (!node2.flags) {\n node2.flags = {};\n }\n if (!node2.size) {\n node2.size = node2.computeSize();\n }\n if (!node2.pos) {\n node2.pos = LiteGraph.DEFAULT_POSITION.concat();\n }\n if (!node2.mode) {\n node2.mode = LiteGraph.ALWAYS;\n }\n if (options) {\n for (var i2 in options) {\n node2[i2] = options[i2];\n }\n }\n if (node2.onNodeCreated) {\n node2.onNodeCreated();\n }\n return node2;\n },\n /**\n * Returns a registered node type with a given name\n * @method getNodeType\n * @param {String} type full name of the node class. p.e. \"math/sin\"\n * @return {Class} the node class\n */\n getNodeType: function(type) {\n return this.registered_node_types[type];\n },\n /**\n * Returns a list of node types matching one category\n * @method getNodeType\n * @param {String} category category name\n * @return {Array} array with all the node classes\n */\n getNodeTypesInCategory: function(category, filter) {\n var r = [];\n for (var i2 in this.registered_node_types) {\n var type = this.registered_node_types[i2];\n if (type.filter != filter) {\n continue;\n }\n if (category == \"\") {\n if (type.category == null) {\n r.push(type);\n }\n } else if (type.category == category) {\n r.push(type);\n }\n }\n if (this.auto_sort_node_types) {\n r.sort(function(a, b) {\n return a.title.localeCompare(b.title);\n });\n }\n return r;\n },\n /**\n * Returns a list with all the node type categories\n * @method getNodeTypesCategories\n * @param {String} filter only nodes with ctor.filter equal can be shown\n * @return {Array} array with all the names of the categories\n */\n getNodeTypesCategories: function(filter) {\n var categories = { \"\": 1 };\n for (var i2 in this.registered_node_types) {\n var type = this.registered_node_types[i2];\n if (type.category && !type.skip_list) {\n if (type.filter != filter)\n continue;\n categories[type.category] = 1;\n }\n }\n var result = [];\n for (var i2 in categories) {\n result.push(i2);\n }\n return this.auto_sort_node_types ? result.sort() : result;\n },\n //debug purposes: reloads all the js scripts that matches a wildcard\n reloadNodes: function(folder_wildcard) {\n var tmp = document.getElementsByTagName(\"script\");\n var script_files = [];\n for (var i2 = 0; i2 < tmp.length; i2++) {\n script_files.push(tmp[i2]);\n }\n var docHeadObj = document.getElementsByTagName(\"head\")[0];\n folder_wildcard = document.location.href + folder_wildcard;\n for (var i2 = 0; i2 < script_files.length; i2++) {\n var src = script_files[i2].src;\n if (!src || src.substr(0, folder_wildcard.length) != folder_wildcard) {\n continue;\n }\n try {\n if (LiteGraph.debug) {\n console.log(\"Reloading: \" + src);\n }\n var dynamicScript = document.createElement(\"script\");\n dynamicScript.type = \"text/javascript\";\n dynamicScript.src = src;\n docHeadObj.appendChild(dynamicScript);\n docHeadObj.removeChild(script_files[i2]);\n } catch (err) {\n if (LiteGraph.throw_errors) {\n throw err;\n }\n if (LiteGraph.debug) {\n console.log(\"Error while reloading \" + src);\n }\n }\n }\n if (LiteGraph.debug) {\n console.log(\"Nodes reloaded\");\n }\n },\n //separated just to improve if it doesn't work\n cloneObject: function(obj, target) {\n if (obj == null) {\n return null;\n }\n var r = JSON.parse(JSON.stringify(obj));\n if (!target) {\n return r;\n }\n for (var i2 in r) {\n target[i2] = r[i2];\n }\n return target;\n },\n /*\n * https://gist.github.com/jed/982883?permalink_comment_id=852670#gistcomment-852670\n */\n uuidv4: function() {\n return (\"10000000-1000-4000-8000\" + -1e11).replace(/[018]/g, (a) => (a ^ Math.random() * 16 >> a / 4).toString(16));\n },\n /**\n * Returns if the types of two slots are compatible (taking into account wildcards, etc)\n * @method isValidConnection\n * @param {String} type_a\n * @param {String} type_b\n * @return {Boolean} true if they can be connected\n */\n isValidConnection: function(type_a, type_b) {\n if (type_a == \"\" || type_a === \"*\") type_a = 0;\n if (type_b == \"\" || type_b === \"*\") type_b = 0;\n if (!type_a || !type_b || type_a == type_b || type_a == LiteGraph.EVENT && type_b == LiteGraph.ACTION) {\n return true;\n }\n type_a = String(type_a);\n type_b = String(type_b);\n type_a = type_a.toLowerCase();\n type_b = type_b.toLowerCase();\n if (type_a.indexOf(\",\") == -1 && type_b.indexOf(\",\") == -1) {\n return type_a == type_b;\n }\n var supported_types_a = type_a.split(\",\");\n var supported_types_b = type_b.split(\",\");\n for (var i2 = 0; i2 < supported_types_a.length; ++i2) {\n for (var j = 0; j < supported_types_b.length; ++j) {\n if (this.isValidConnection(supported_types_a[i2], supported_types_b[j])) {\n return true;\n }\n }\n }\n return false;\n },\n /**\n * Register a string in the search box so when the user types it it will recommend this node\n * @method registerSearchboxExtra\n * @param {String} node_type the node recommended\n * @param {String} description text to show next to it\n * @param {Object} data it could contain info of how the node should be configured\n * @return {Boolean} true if they can be connected\n */\n registerSearchboxExtra: function(node_type, description, data) {\n this.searchbox_extras[description.toLowerCase()] = {\n type: node_type,\n desc: description,\n data\n };\n },\n /**\n * Wrapper to load files (from url using fetch or from file using FileReader)\n * @method fetchFile\n * @param {String|File|Blob} url the url of the file (or the file itself)\n * @param {String} type an string to know how to fetch it: \"text\",\"arraybuffer\",\"json\",\"blob\"\n * @param {Function} on_complete callback(data)\n * @param {Function} on_error in case of an error\n * @return {FileReader|Promise} returns the object used to \n */\n fetchFile: function(url, type, on_complete, on_error) {\n if (!url)\n return null;\n type = type || \"text\";\n if (url.constructor === String) {\n if (url.substr(0, 4) == \"http\" && LiteGraph.proxy) {\n url = LiteGraph.proxy + url.substr(url.indexOf(\":\") + 3);\n }\n return fetch(url).then(function(response) {\n if (!response.ok)\n throw new Error(\"File not found\");\n if (type == \"arraybuffer\")\n return response.arrayBuffer();\n else if (type == \"text\" || type == \"string\")\n return response.text();\n else if (type == \"json\")\n return response.json();\n else if (type == \"blob\")\n return response.blob();\n }).then(function(data) {\n if (on_complete)\n on_complete(data);\n }).catch(function(error) {\n console.error(\"error fetching file:\", url);\n if (on_error)\n on_error(error);\n });\n } else if (url.constructor === File || url.constructor === Blob) {\n var reader = new FileReader();\n reader.onload = function(e) {\n var v2 = e.target.result;\n if (type == \"json\")\n v2 = JSON.parse(v2);\n if (on_complete)\n on_complete(v2);\n };\n if (type == \"arraybuffer\")\n return reader.readAsArrayBuffer(url);\n else if (type == \"text\" || type == \"json\")\n return reader.readAsText(url);\n else if (type == \"blob\")\n return reader.readAsBinaryString(url);\n }\n return null;\n }\n };\n if (typeof performance != \"undefined\") {\n LiteGraph.getTime = performance.now.bind(performance);\n } else if (typeof Date != \"undefined\" && Date.now) {\n LiteGraph.getTime = Date.now.bind(Date);\n } else if (typeof process != \"undefined\") {\n LiteGraph.getTime = function() {\n var t = process.hrtime();\n return t[0] * 1e-3 + t[1] * 1e-6;\n };\n } else {\n LiteGraph.getTime = function getTime() {\n return (/* @__PURE__ */ new Date()).getTime();\n };\n }\n const _LGraph = class _LGraph {\n constructor(o) {\n if (LiteGraph.debug) {\n console.log(\"Graph created\");\n }\n this.list_of_graphcanvas = null;\n this.clear();\n if (o) {\n this.configure(o);\n }\n }\n //used to know which types of connections support this graph (some graphs do not allow certain types)\n getSupportedTypes() {\n return this.supported_types || _LGraph.supported_types;\n }\n /**\n * Removes all nodes from this graph\n * @method clear\n */\n clear() {\n this.stop();\n this.status = _LGraph.STATUS_STOPPED;\n this.last_node_id = 0;\n this.last_link_id = 0;\n this._version = -1;\n if (this._nodes) {\n for (var i2 = 0; i2 < this._nodes.length; ++i2) {\n var node2 = this._nodes[i2];\n if (node2.onRemoved) {\n node2.onRemoved();\n }\n }\n }\n this._nodes = [];\n this._nodes_by_id = {};\n this._nodes_in_order = [];\n this._nodes_executable = null;\n this._groups = [];\n this.links = {};\n this.iteration = 0;\n this.config = {};\n this.vars = {};\n this.extra = {};\n this.globaltime = 0;\n this.runningtime = 0;\n this.fixedtime = 0;\n this.fixedtime_lapse = 0.01;\n this.elapsed_time = 0.01;\n this.last_update_time = 0;\n this.starttime = 0;\n this.catch_errors = true;\n this.nodes_executing = [];\n this.nodes_actioning = [];\n this.nodes_executedAction = [];\n this.inputs = {};\n this.outputs = {};\n this.change();\n this.sendActionToCanvas(\"clear\");\n }\n /**\n * Attach Canvas to this graph\n * @method attachCanvas\n * @param {GraphCanvas} graph_canvas\n */\n attachCanvas(graphcanvas) {\n if (graphcanvas.constructor != LGraphCanvas) {\n throw \"attachCanvas expects a LGraphCanvas instance\";\n }\n if (graphcanvas.graph && graphcanvas.graph != this) {\n graphcanvas.graph.detachCanvas(graphcanvas);\n }\n graphcanvas.graph = this;\n if (!this.list_of_graphcanvas) {\n this.list_of_graphcanvas = [];\n }\n this.list_of_graphcanvas.push(graphcanvas);\n }\n /**\n * Detach Canvas from this graph\n * @method detachCanvas\n * @param {GraphCanvas} graph_canvas\n */\n detachCanvas(graphcanvas) {\n if (!this.list_of_graphcanvas) {\n return;\n }\n var pos2 = this.list_of_graphcanvas.indexOf(graphcanvas);\n if (pos2 == -1) {\n return;\n }\n graphcanvas.graph = null;\n this.list_of_graphcanvas.splice(pos2, 1);\n }\n /**\n * Starts running this graph every interval milliseconds.\n * @method start\n * @param {number} interval amount of milliseconds between executions, if 0 then it renders to the monitor refresh rate\n */\n start(interval) {\n if (this.status == _LGraph.STATUS_RUNNING) {\n return;\n }\n this.status = _LGraph.STATUS_RUNNING;\n if (this.onPlayEvent) {\n this.onPlayEvent();\n }\n this.sendEventToAllNodes(\"onStart\");\n this.starttime = LiteGraph.getTime();\n this.last_update_time = this.starttime;\n interval = interval || 0;\n var that2 = this;\n if (interval == 0 && typeof window != \"undefined\" && window.requestAnimationFrame) {\n let on_frame = function() {\n if (that2.execution_timer_id != -1) {\n return;\n }\n window.requestAnimationFrame(on_frame);\n if (that2.onBeforeStep)\n that2.onBeforeStep();\n that2.runStep(1, !that2.catch_errors);\n if (that2.onAfterStep)\n that2.onAfterStep();\n };\n this.execution_timer_id = -1;\n on_frame();\n } else {\n this.execution_timer_id = setInterval(function() {\n if (that2.onBeforeStep)\n that2.onBeforeStep();\n that2.runStep(1, !that2.catch_errors);\n if (that2.onAfterStep)\n that2.onAfterStep();\n }, interval);\n }\n }\n /**\n * Stops the execution loop of the graph\n * @method stop execution\n */\n stop() {\n if (this.status == _LGraph.STATUS_STOPPED) {\n return;\n }\n this.status = _LGraph.STATUS_STOPPED;\n if (this.onStopEvent) {\n this.onStopEvent();\n }\n if (this.execution_timer_id != null) {\n if (this.execution_timer_id != -1) {\n clearInterval(this.execution_timer_id);\n }\n this.execution_timer_id = null;\n }\n this.sendEventToAllNodes(\"onStop\");\n }\n /**\n * Run N steps (cycles) of the graph\n * @method runStep\n * @param {number} num number of steps to run, default is 1\n * @param {Boolean} do_not_catch_errors [optional] if you want to try/catch errors\n * @param {number} limit max number of nodes to execute (used to execute from start to a node)\n */\n runStep(num, do_not_catch_errors, limit) {\n num = num || 1;\n var start = LiteGraph.getTime();\n this.globaltime = 1e-3 * (start - this.starttime);\n var nodes = this._nodes_executable ? this._nodes_executable : this._nodes;\n if (!nodes) {\n return;\n }\n limit = limit || nodes.length;\n if (do_not_catch_errors) {\n for (var i2 = 0; i2 < num; i2++) {\n for (var j = 0; j < limit; ++j) {\n var node2 = nodes[j];\n if (node2.mode == LiteGraph.ALWAYS && node2.onExecute) {\n node2.doExecute();\n }\n }\n this.fixedtime += this.fixedtime_lapse;\n if (this.onExecuteStep) {\n this.onExecuteStep();\n }\n }\n if (this.onAfterExecute) {\n this.onAfterExecute();\n }\n } else {\n try {\n for (var i2 = 0; i2 < num; i2++) {\n for (var j = 0; j < limit; ++j) {\n var node2 = nodes[j];\n if (node2.mode == LiteGraph.ALWAYS && node2.onExecute) {\n node2.onExecute();\n }\n }\n this.fixedtime += this.fixedtime_lapse;\n if (this.onExecuteStep) {\n this.onExecuteStep();\n }\n }\n if (this.onAfterExecute) {\n this.onAfterExecute();\n }\n this.errors_in_execution = false;\n } catch (err) {\n this.errors_in_execution = true;\n if (LiteGraph.throw_errors) {\n throw err;\n }\n if (LiteGraph.debug) {\n console.log(\"Error during execution: \" + err);\n }\n this.stop();\n }\n }\n var now = LiteGraph.getTime();\n var elapsed = now - start;\n if (elapsed == 0) {\n elapsed = 1;\n }\n this.execution_time = 1e-3 * elapsed;\n this.globaltime += 1e-3 * elapsed;\n this.iteration += 1;\n this.elapsed_time = (now - this.last_update_time) * 1e-3;\n this.last_update_time = now;\n this.nodes_executing = [];\n this.nodes_actioning = [];\n this.nodes_executedAction = [];\n }\n /**\n * Updates the graph execution order according to relevance of the nodes (nodes with only outputs have more relevance than\n * nodes with only inputs.\n * @method updateExecutionOrder\n */\n updateExecutionOrder() {\n this._nodes_in_order = this.computeExecutionOrder(false);\n this._nodes_executable = [];\n for (var i2 = 0; i2 < this._nodes_in_order.length; ++i2) {\n if (this._nodes_in_order[i2].onExecute) {\n this._nodes_executable.push(this._nodes_in_order[i2]);\n }\n }\n }\n //This is more internal, it computes the executable nodes in order and returns it\n computeExecutionOrder(only_onExecute, set_level) {\n var L = [];\n var S = [];\n var M = {};\n var visited_links = {};\n var remaining_links = {};\n for (var i2 = 0, l = this._nodes.length; i2 < l; ++i2) {\n var node2 = this._nodes[i2];\n if (only_onExecute && !node2.onExecute) {\n continue;\n }\n M[node2.id] = node2;\n var num = 0;\n if (node2.inputs) {\n for (var j = 0, l2 = node2.inputs.length; j < l2; j++) {\n if (node2.inputs[j] && node2.inputs[j].link != null) {\n num += 1;\n }\n }\n }\n if (num == 0) {\n S.push(node2);\n if (set_level) {\n node2._level = 1;\n }\n } else {\n if (set_level) {\n node2._level = 0;\n }\n remaining_links[node2.id] = num;\n }\n }\n while (true) {\n if (S.length == 0) {\n break;\n }\n var node2 = S.shift();\n L.push(node2);\n delete M[node2.id];\n if (!node2.outputs) {\n continue;\n }\n for (var i2 = 0; i2 < node2.outputs.length; i2++) {\n var output = node2.outputs[i2];\n if (output == null || output.links == null || output.links.length == 0) {\n continue;\n }\n for (var j = 0; j < output.links.length; j++) {\n var link_id = output.links[j];\n var link = this.links[link_id];\n if (!link) {\n continue;\n }\n if (visited_links[link.id]) {\n continue;\n }\n var target_node = this.getNodeById(link.target_id);\n if (target_node == null) {\n visited_links[link.id] = true;\n continue;\n }\n if (set_level && (!target_node._level || target_node._level <= node2._level)) {\n target_node._level = node2._level + 1;\n }\n visited_links[link.id] = true;\n remaining_links[target_node.id] -= 1;\n if (remaining_links[target_node.id] == 0) {\n S.push(target_node);\n }\n }\n }\n }\n for (var i2 in M) {\n L.push(M[i2]);\n }\n if (L.length != this._nodes.length && LiteGraph.debug) {\n console.warn(\"something went wrong, nodes missing\");\n }\n var l = L.length;\n for (var i2 = 0; i2 < l; ++i2) {\n L[i2].order = i2;\n }\n L = L.sort(function(A, B) {\n var Ap = A.constructor.priority || A.priority || 0;\n var Bp = B.constructor.priority || B.priority || 0;\n if (Ap == Bp) {\n return A.order - B.order;\n }\n return Ap - Bp;\n });\n for (var i2 = 0; i2 < l; ++i2) {\n L[i2].order = i2;\n }\n return L;\n }\n /**\n * Returns all the nodes that could affect this one (ancestors) by crawling all the inputs recursively.\n * It doesn't include the node itself\n * @method getAncestors\n * @return {Array} an array with all the LGraphNodes that affect this node, in order of execution\n */\n getAncestors(node2) {\n var ancestors = [];\n var pending = [node2];\n var visited = {};\n while (pending.length) {\n var current = pending.shift();\n if (!current.inputs) {\n continue;\n }\n if (!visited[current.id] && current != node2) {\n visited[current.id] = true;\n ancestors.push(current);\n }\n for (var i2 = 0; i2 < current.inputs.length; ++i2) {\n var input = current.getInputNode(i2);\n if (input && ancestors.indexOf(input) == -1) {\n pending.push(input);\n }\n }\n }\n ancestors.sort(function(a, b) {\n return a.order - b.order;\n });\n return ancestors;\n }\n /**\n * Positions every node in a more readable manner\n * @method arrange\n */\n arrange(margin, layout) {\n margin = margin || 100;\n const nodes = this.computeExecutionOrder(false, true);\n const columns = [];\n for (let i2 = 0; i2 < nodes.length; ++i2) {\n const node2 = nodes[i2];\n const col = node2._level || 1;\n if (!columns[col]) {\n columns[col] = [];\n }\n columns[col].push(node2);\n }\n let x2 = margin;\n for (let i2 = 0; i2 < columns.length; ++i2) {\n const column = columns[i2];\n if (!column) {\n continue;\n }\n let max_size = 100;\n let y2 = margin + LiteGraph.NODE_TITLE_HEIGHT;\n for (let j = 0; j < column.length; ++j) {\n const node2 = column[j];\n node2.pos[0] = layout == LiteGraph.VERTICAL_LAYOUT ? y2 : x2;\n node2.pos[1] = layout == LiteGraph.VERTICAL_LAYOUT ? x2 : y2;\n const max_size_index = layout == LiteGraph.VERTICAL_LAYOUT ? 1 : 0;\n if (node2.size[max_size_index] > max_size) {\n max_size = node2.size[max_size_index];\n }\n const node_size_index = layout == LiteGraph.VERTICAL_LAYOUT ? 0 : 1;\n y2 += node2.size[node_size_index] + margin + LiteGraph.NODE_TITLE_HEIGHT;\n }\n x2 += max_size + margin;\n }\n this.setDirtyCanvas(true, true);\n }\n /**\n * Returns the amount of time the graph has been running in milliseconds\n * @method getTime\n * @return {number} number of milliseconds the graph has been running\n */\n getTime() {\n return this.globaltime;\n }\n /**\n * Returns the amount of time accumulated using the fixedtime_lapse var. This is used in context where the time increments should be constant\n * @method getFixedTime\n * @return {number} number of milliseconds the graph has been running\n */\n getFixedTime() {\n return this.fixedtime;\n }\n /**\n * Returns the amount of time it took to compute the latest iteration. Take into account that this number could be not correct\n * if the nodes are using graphical actions\n * @method getElapsedTime\n * @return {number} number of milliseconds it took the last cycle\n */\n getElapsedTime() {\n return this.elapsed_time;\n }\n /**\n * Sends an event to all the nodes, useful to trigger stuff\n * @method sendEventToAllNodes\n * @param {String} eventname the name of the event (function to be called)\n * @param {Array} params parameters in array format\n */\n sendEventToAllNodes(eventname, params, mode) {\n mode = mode || LiteGraph.ALWAYS;\n var nodes = this._nodes_in_order ? this._nodes_in_order : this._nodes;\n if (!nodes) {\n return;\n }\n for (var j = 0, l = nodes.length; j < l; ++j) {\n var node2 = nodes[j];\n if (node2.constructor === LiteGraph.Subgraph && eventname != \"onExecute\") {\n if (node2.mode == mode) {\n node2.sendEventToAllNodes(eventname, params, mode);\n }\n continue;\n }\n if (!node2[eventname] || node2.mode != mode) {\n continue;\n }\n if (params === void 0) {\n node2[eventname]();\n } else if (params && params.constructor === Array) {\n node2[eventname].apply(node2, params);\n } else {\n node2[eventname](params);\n }\n }\n }\n sendActionToCanvas(action, params) {\n if (!this.list_of_graphcanvas) {\n return;\n }\n for (var i2 = 0; i2 < this.list_of_graphcanvas.length; ++i2) {\n var c = this.list_of_graphcanvas[i2];\n if (c[action]) {\n c[action].apply(c, params);\n }\n }\n }\n /**\n * Adds a new node instance to this graph\n * @method add\n * @param {LGraphNode} node the instance of the node\n */\n add(node2, skip_compute_order) {\n if (!node2) {\n return;\n }\n if (node2.constructor === LGraphGroup) {\n this._groups.push(node2);\n this.setDirtyCanvas(true);\n this.change();\n node2.graph = this;\n this._version++;\n return;\n }\n if (node2.id != -1 && this._nodes_by_id[node2.id] != null) {\n console.warn(\n \"LiteGraph: there is already a node with this ID, changing it\"\n );\n if (LiteGraph.use_uuids) {\n node2.id = LiteGraph.uuidv4();\n } else {\n node2.id = ++this.last_node_id;\n }\n }\n if (this._nodes.length >= LiteGraph.MAX_NUMBER_OF_NODES) {\n throw \"LiteGraph: max number of nodes in a graph reached\";\n }\n if (LiteGraph.use_uuids) {\n if (node2.id == null || node2.id == -1)\n node2.id = LiteGraph.uuidv4();\n } else {\n if (node2.id == null || node2.id == -1) {\n node2.id = ++this.last_node_id;\n } else if (this.last_node_id < node2.id) {\n this.last_node_id = node2.id;\n }\n }\n node2.graph = this;\n this._version++;\n this._nodes.push(node2);\n this._nodes_by_id[node2.id] = node2;\n if (node2.onAdded) {\n node2.onAdded(this);\n }\n if (this.config.align_to_grid) {\n node2.alignToGrid();\n }\n if (!skip_compute_order) {\n this.updateExecutionOrder();\n }\n if (this.onNodeAdded) {\n this.onNodeAdded(node2);\n }\n this.setDirtyCanvas(true);\n this.change();\n return node2;\n }\n /**\n * Removes a node from the graph\n * @method remove\n * @param {LGraphNode} node the instance of the node\n */\n remove(node2) {\n if (node2.constructor === LiteGraph.LGraphGroup) {\n var index2 = this._groups.indexOf(node2);\n if (index2 != -1) {\n this._groups.splice(index2, 1);\n }\n node2.graph = null;\n this._version++;\n this.setDirtyCanvas(true, true);\n this.change();\n return;\n }\n if (this._nodes_by_id[node2.id] == null) {\n return;\n }\n if (node2.ignore_remove) {\n return;\n }\n this.beforeChange();\n if (node2.inputs) {\n for (var i2 = 0; i2 < node2.inputs.length; i2++) {\n var slot = node2.inputs[i2];\n if (slot.link != null) {\n node2.disconnectInput(i2);\n }\n }\n }\n if (node2.outputs) {\n for (var i2 = 0; i2 < node2.outputs.length; i2++) {\n var slot = node2.outputs[i2];\n if (slot.links != null && slot.links.length) {\n node2.disconnectOutput(i2);\n }\n }\n }\n if (node2.onRemoved) {\n node2.onRemoved();\n }\n node2.graph = null;\n this._version++;\n if (this.list_of_graphcanvas) {\n for (var i2 = 0; i2 < this.list_of_graphcanvas.length; ++i2) {\n var canvas = this.list_of_graphcanvas[i2];\n if (canvas.selected_nodes[node2.id]) {\n delete canvas.selected_nodes[node2.id];\n }\n if (canvas.node_dragged == node2) {\n canvas.node_dragged = null;\n }\n }\n }\n var pos2 = this._nodes.indexOf(node2);\n if (pos2 != -1) {\n this._nodes.splice(pos2, 1);\n }\n delete this._nodes_by_id[node2.id];\n if (this.onNodeRemoved) {\n this.onNodeRemoved(node2);\n }\n this.sendActionToCanvas(\"checkPanels\");\n this.setDirtyCanvas(true, true);\n this.afterChange();\n this.change();\n this.updateExecutionOrder();\n }\n /**\n * Returns a node by its id.\n * @method getNodeById\n * @param {Number} id\n */\n getNodeById(id) {\n if (id == null) {\n return null;\n }\n return this._nodes_by_id[id];\n }\n /**\n * Returns a list of nodes that matches a class\n * @method findNodesByClass\n * @param {Class} classObject the class itself (not an string)\n * @return {Array} a list with all the nodes of this type\n */\n findNodesByClass(classObject, result) {\n result = result || [];\n result.length = 0;\n for (var i2 = 0, l = this._nodes.length; i2 < l; ++i2) {\n if (this._nodes[i2].constructor === classObject) {\n result.push(this._nodes[i2]);\n }\n }\n return result;\n }\n /**\n * Returns a list of nodes that matches a type\n * @method findNodesByType\n * @param {String} type the name of the node type\n * @return {Array} a list with all the nodes of this type\n */\n findNodesByType(type, result) {\n var type = type.toLowerCase();\n result = result || [];\n result.length = 0;\n for (var i2 = 0, l = this._nodes.length; i2 < l; ++i2) {\n if (this._nodes[i2].type.toLowerCase() == type) {\n result.push(this._nodes[i2]);\n }\n }\n return result;\n }\n /**\n * Returns the first node that matches a name in its title\n * @method findNodeByTitle\n * @param {String} name the name of the node to search\n * @return {Node} the node or null\n */\n findNodeByTitle(title) {\n for (var i2 = 0, l = this._nodes.length; i2 < l; ++i2) {\n if (this._nodes[i2].title == title) {\n return this._nodes[i2];\n }\n }\n return null;\n }\n /**\n * Returns a list of nodes that matches a name\n * @method findNodesByTitle\n * @param {String} name the name of the node to search\n * @return {Array} a list with all the nodes with this name\n */\n findNodesByTitle(title) {\n var result = [];\n for (var i2 = 0, l = this._nodes.length; i2 < l; ++i2) {\n if (this._nodes[i2].title == title) {\n result.push(this._nodes[i2]);\n }\n }\n return result;\n }\n /**\n * Returns the top-most node in this position of the canvas\n * @method getNodeOnPos\n * @param {number} x the x coordinate in canvas space\n * @param {number} y the y coordinate in canvas space\n * @param {Array} nodes_list a list with all the nodes to search from, by default is all the nodes in the graph\n * @return {LGraphNode} the node at this position or null\n */\n getNodeOnPos(x2, y2, nodes_list, margin) {\n nodes_list = nodes_list || this._nodes;\n var nRet = null;\n for (var i2 = nodes_list.length - 1; i2 >= 0; i2--) {\n var n = nodes_list[i2];\n var skip_title = n.constructor.title_mode == LiteGraph.NO_TITLE;\n if (n.isPointInside(x2, y2, margin, skip_title)) {\n return n;\n }\n }\n return nRet;\n }\n /**\n * Returns the top-most group in that position\n * @method getGroupOnPos\n * @param {number} x the x coordinate in canvas space\n * @param {number} y the y coordinate in canvas space\n * @return {LGraphGroup} the group or null\n */\n getGroupOnPos(x2, y2) {\n for (var i2 = this._groups.length - 1; i2 >= 0; i2--) {\n var g = this._groups[i2];\n if (g.isPointInside(x2, y2, 2, true)) {\n return g;\n }\n }\n return null;\n }\n /**\n * Checks that the node type matches the node type registered, used when replacing a nodetype by a newer version during execution\n * this replaces the ones using the old version with the new version\n * @method checkNodeTypes\n */\n checkNodeTypes() {\n for (var i2 = 0; i2 < this._nodes.length; i2++) {\n var node2 = this._nodes[i2];\n var ctor = LiteGraph.registered_node_types[node2.type];\n if (node2.constructor == ctor) {\n continue;\n }\n console.log(\"node being replaced by newer version: \" + node2.type);\n var newnode = LiteGraph.createNode(node2.type);\n this._nodes[i2] = newnode;\n newnode.configure(node2.serialize());\n newnode.graph = this;\n this._nodes_by_id[newnode.id] = newnode;\n if (node2.inputs) {\n newnode.inputs = node2.inputs.concat();\n }\n if (node2.outputs) {\n newnode.outputs = node2.outputs.concat();\n }\n }\n this.updateExecutionOrder();\n }\n // ********** GLOBALS *****************\n onAction(action, param, options) {\n this._input_nodes = this.findNodesByClass(\n LiteGraph.GraphInput,\n this._input_nodes\n );\n for (var i2 = 0; i2 < this._input_nodes.length; ++i2) {\n var node2 = this._input_nodes[i2];\n if (node2.properties.name != action) {\n continue;\n }\n node2.actionDo(action, param, options);\n break;\n }\n }\n trigger(action, param) {\n if (this.onTrigger) {\n this.onTrigger(action, param);\n }\n }\n /**\n * Tell this graph it has a global graph input of this type\n * @method addGlobalInput\n * @param {String} name\n * @param {String} type\n * @param {*} value [optional]\n */\n addInput(name, type, value) {\n var input = this.inputs[name];\n if (input) {\n return;\n }\n this.beforeChange();\n this.inputs[name] = { name, type, value };\n this._version++;\n this.afterChange();\n if (this.onInputAdded) {\n this.onInputAdded(name, type);\n }\n if (this.onInputsOutputsChange) {\n this.onInputsOutputsChange();\n }\n }\n /**\n * Assign a data to the global graph input\n * @method setGlobalInputData\n * @param {String} name\n * @param {*} data\n */\n setInputData(name, data) {\n var input = this.inputs[name];\n if (!input) {\n return;\n }\n input.value = data;\n }\n /**\n * Returns the current value of a global graph input\n * @method getInputData\n * @param {String} name\n * @return {*} the data\n */\n getInputData(name) {\n var input = this.inputs[name];\n if (!input) {\n return null;\n }\n return input.value;\n }\n /**\n * Changes the name of a global graph input\n * @method renameInput\n * @param {String} old_name\n * @param {String} new_name\n */\n renameInput(old_name, name) {\n if (name == old_name) {\n return;\n }\n if (!this.inputs[old_name]) {\n return false;\n }\n if (this.inputs[name]) {\n console.error(\"there is already one input with that name\");\n return false;\n }\n this.inputs[name] = this.inputs[old_name];\n delete this.inputs[old_name];\n this._version++;\n if (this.onInputRenamed) {\n this.onInputRenamed(old_name, name);\n }\n if (this.onInputsOutputsChange) {\n this.onInputsOutputsChange();\n }\n }\n /**\n * Changes the type of a global graph input\n * @method changeInputType\n * @param {String} name\n * @param {String} type\n */\n changeInputType(name, type) {\n if (!this.inputs[name]) {\n return false;\n }\n if (this.inputs[name].type && String(this.inputs[name].type).toLowerCase() == String(type).toLowerCase()) {\n return;\n }\n this.inputs[name].type = type;\n this._version++;\n if (this.onInputTypeChanged) {\n this.onInputTypeChanged(name, type);\n }\n }\n /**\n * Removes a global graph input\n * @method removeInput\n * @param {String} name\n * @param {String} type\n */\n removeInput(name) {\n if (!this.inputs[name]) {\n return false;\n }\n delete this.inputs[name];\n this._version++;\n if (this.onInputRemoved) {\n this.onInputRemoved(name);\n }\n if (this.onInputsOutputsChange) {\n this.onInputsOutputsChange();\n }\n return true;\n }\n /**\n * Creates a global graph output\n * @method addOutput\n * @param {String} name\n * @param {String} type\n * @param {*} value\n */\n addOutput(name, type, value) {\n this.outputs[name] = { name, type, value };\n this._version++;\n if (this.onOutputAdded) {\n this.onOutputAdded(name, type);\n }\n if (this.onInputsOutputsChange) {\n this.onInputsOutputsChange();\n }\n }\n /**\n * Assign a data to the global output\n * @method setOutputData\n * @param {String} name\n * @param {String} value\n */\n setOutputData(name, value) {\n var output = this.outputs[name];\n if (!output) {\n return;\n }\n output.value = value;\n }\n /**\n * Returns the current value of a global graph output\n * @method getOutputData\n * @param {String} name\n * @return {*} the data\n */\n getOutputData(name) {\n var output = this.outputs[name];\n if (!output) {\n return null;\n }\n return output.value;\n }\n /**\n * Renames a global graph output\n * @method renameOutput\n * @param {String} old_name\n * @param {String} new_name\n */\n renameOutput(old_name, name) {\n if (!this.outputs[old_name]) {\n return false;\n }\n if (this.outputs[name]) {\n console.error(\"there is already one output with that name\");\n return false;\n }\n this.outputs[name] = this.outputs[old_name];\n delete this.outputs[old_name];\n this._version++;\n if (this.onOutputRenamed) {\n this.onOutputRenamed(old_name, name);\n }\n if (this.onInputsOutputsChange) {\n this.onInputsOutputsChange();\n }\n }\n /**\n * Changes the type of a global graph output\n * @method changeOutputType\n * @param {String} name\n * @param {String} type\n */\n changeOutputType(name, type) {\n if (!this.outputs[name]) {\n return false;\n }\n if (this.outputs[name].type && String(this.outputs[name].type).toLowerCase() == String(type).toLowerCase()) {\n return;\n }\n this.outputs[name].type = type;\n this._version++;\n if (this.onOutputTypeChanged) {\n this.onOutputTypeChanged(name, type);\n }\n }\n /**\n * Removes a global graph output\n * @method removeOutput\n * @param {String} name\n */\n removeOutput(name) {\n if (!this.outputs[name]) {\n return false;\n }\n delete this.outputs[name];\n this._version++;\n if (this.onOutputRemoved) {\n this.onOutputRemoved(name);\n }\n if (this.onInputsOutputsChange) {\n this.onInputsOutputsChange();\n }\n return true;\n }\n triggerInput(name, value) {\n var nodes = this.findNodesByTitle(name);\n for (var i2 = 0; i2 < nodes.length; ++i2) {\n nodes[i2].onTrigger(value);\n }\n }\n setCallback(name, func) {\n var nodes = this.findNodesByTitle(name);\n for (var i2 = 0; i2 < nodes.length; ++i2) {\n nodes[i2].setTrigger(func);\n }\n }\n //used for undo, called before any change is made to the graph\n beforeChange(info) {\n if (this.onBeforeChange) {\n this.onBeforeChange(this, info);\n }\n this.sendActionToCanvas(\"onBeforeChange\", this);\n }\n //used to resend actions, called after any change is made to the graph\n afterChange(info) {\n if (this.onAfterChange) {\n this.onAfterChange(this, info);\n }\n this.sendActionToCanvas(\"onAfterChange\", this);\n }\n connectionChange(node2, link_info) {\n this.updateExecutionOrder();\n if (this.onConnectionChange) {\n this.onConnectionChange(node2);\n }\n this._version++;\n this.sendActionToCanvas(\"onConnectionChange\");\n }\n /**\n * returns if the graph is in live mode\n * @method isLive\n */\n isLive() {\n if (!this.list_of_graphcanvas) {\n return false;\n }\n for (var i2 = 0; i2 < this.list_of_graphcanvas.length; ++i2) {\n var c = this.list_of_graphcanvas[i2];\n if (c.live_mode) {\n return true;\n }\n }\n return false;\n }\n /**\n * clears the triggered slot animation in all links (stop visual animation)\n * @method clearTriggeredSlots\n */\n clearTriggeredSlots() {\n for (var i2 in this.links) {\n var link_info = this.links[i2];\n if (!link_info) {\n continue;\n }\n if (link_info._last_time) {\n link_info._last_time = 0;\n }\n }\n }\n /* Called when something visually changed (not the graph!) */\n change() {\n if (LiteGraph.debug) {\n console.log(\"Graph changed\");\n }\n this.sendActionToCanvas(\"setDirty\", [true, true]);\n if (this.on_change) {\n this.on_change(this);\n }\n }\n setDirtyCanvas(fg, bg) {\n this.sendActionToCanvas(\"setDirty\", [fg, bg]);\n }\n /**\n * Destroys a link\n * @method removeLink\n * @param {Number} link_id\n */\n removeLink(link_id) {\n var link = this.links[link_id];\n if (!link) {\n return;\n }\n var node2 = this.getNodeById(link.target_id);\n if (node2) {\n node2.disconnectInput(link.target_slot);\n }\n }\n //save and recover app state ***************************************\n /**\n * Creates a Object containing all the info about this graph, it can be serialized\n * @method serialize\n * @return {Object} value of the node\n */\n serialize(option = { sortNodes: false }) {\n var nodes_info = [];\n nodes_info = ((option == null ? void 0 : option.sortNodes) ? [...this._nodes].sort((a, b) => a.id - b.id) : this._nodes).map((node2) => node2.serialize());\n var links = [];\n for (var i2 in this.links) {\n var link = this.links[i2];\n if (!link.serialize) {\n console.warn(\n \"weird LLink bug, link info is not a LLink but a regular object\"\n );\n var link2 = new LLink();\n for (var j in link) {\n link2[j] = link[j];\n }\n this.links[i2] = link2;\n link = link2;\n }\n links.push(link.serialize());\n }\n var groups_info = [];\n for (var i2 = 0; i2 < this._groups.length; ++i2) {\n groups_info.push(this._groups[i2].serialize());\n }\n var data = {\n last_node_id: this.last_node_id,\n last_link_id: this.last_link_id,\n nodes: nodes_info,\n links,\n groups: groups_info,\n config: this.config,\n extra: this.extra,\n version: LiteGraph.VERSION\n };\n if (this.onSerialize)\n this.onSerialize(data);\n return data;\n }\n /**\n * Configure a graph from a JSON string\n * @method configure\n * @param {String} str configure a graph from a JSON string\n * @param {Boolean} returns if there was any error parsing\n */\n configure(data, keep_old) {\n if (!data) {\n return;\n }\n if (!keep_old) {\n this.clear();\n }\n var nodes = data.nodes;\n if (data.links && data.links.constructor === Array) {\n var links = [];\n for (var i2 = 0; i2 < data.links.length; ++i2) {\n var link_data = data.links[i2];\n if (!link_data) {\n console.warn(\"serialized graph link data contains errors, skipping.\");\n continue;\n }\n var link = new LLink();\n link.configure(link_data);\n links[link.id] = link;\n }\n data.links = links;\n }\n for (var i2 in data) {\n if (i2 == \"nodes\" || i2 == \"groups\")\n continue;\n this[i2] = data[i2];\n }\n var error = false;\n this._nodes = [];\n if (nodes) {\n for (var i2 = 0, l = nodes.length; i2 < l; ++i2) {\n var n_info = nodes[i2];\n var node2 = LiteGraph.createNode(n_info.type, n_info.title);\n if (!node2) {\n if (LiteGraph.debug) {\n console.log(\n \"Node not found or has errors: \" + n_info.type\n );\n }\n node2 = new LGraphNode();\n node2.last_serialization = n_info;\n node2.has_errors = true;\n error = true;\n }\n node2.id = n_info.id;\n this.add(node2, true);\n }\n for (var i2 = 0, l = nodes.length; i2 < l; ++i2) {\n var n_info = nodes[i2];\n var node2 = this.getNodeById(n_info.id);\n if (node2) {\n node2.configure(n_info);\n }\n }\n }\n this._groups.length = 0;\n if (data.groups) {\n for (var i2 = 0; i2 < data.groups.length; ++i2) {\n var group = new LiteGraph.LGraphGroup();\n group.configure(data.groups[i2]);\n this.add(group);\n }\n }\n this.updateExecutionOrder();\n this.extra = data.extra || {};\n if (this.onConfigure)\n this.onConfigure(data);\n this._version++;\n this.setDirtyCanvas(true, true);\n return error;\n }\n load(url, callback) {\n var that2 = this;\n if (url.constructor === File || url.constructor === Blob) {\n var reader = new FileReader();\n reader.addEventListener(\"load\", function(event2) {\n var data = JSON.parse(event2.target.result);\n that2.configure(data);\n if (callback)\n callback();\n });\n reader.readAsText(url);\n return;\n }\n var req = new XMLHttpRequest();\n req.open(\"GET\", url, true);\n req.send(null);\n req.onload = function(oEvent) {\n if (req.status !== 200) {\n console.error(\"Error loading graph:\", req.status, req.response);\n return;\n }\n var data = JSON.parse(req.response);\n that2.configure(data);\n if (callback)\n callback();\n };\n req.onerror = function(err) {\n console.error(\"Error loading graph:\", err);\n };\n }\n onNodeTrace(node2, msg, color) {\n }\n };\n //default supported types\n __publicField(_LGraph, \"supported_types\", [\"number\", \"string\", \"boolean\"]);\n __publicField(_LGraph, \"STATUS_STOPPED\", 1);\n __publicField(_LGraph, \"STATUS_RUNNING\", 2);\n let LGraph = _LGraph;\n globalThis.LGraph = LiteGraph.LGraph = LGraph;\n class LLink {\n constructor(id, type, origin_id, origin_slot, target_id, target_slot) {\n this.id = id;\n this.type = type;\n this.origin_id = origin_id;\n this.origin_slot = origin_slot;\n this.target_id = target_id;\n this.target_slot = target_slot;\n this._data = null;\n this._pos = new Float32Array(2);\n }\n configure(o) {\n if (o.constructor === Array) {\n this.id = o[0];\n this.origin_id = o[1];\n this.origin_slot = o[2];\n this.target_id = o[3];\n this.target_slot = o[4];\n this.type = o[5];\n } else {\n this.id = o.id;\n this.type = o.type;\n this.origin_id = o.origin_id;\n this.origin_slot = o.origin_slot;\n this.target_id = o.target_id;\n this.target_slot = o.target_slot;\n }\n }\n serialize() {\n return [\n this.id,\n this.origin_id,\n this.origin_slot,\n this.target_id,\n this.target_slot,\n this.type\n ];\n }\n }\n LiteGraph.LLink = LLink;\n class LGraphNode {\n constructor(title) {\n this._ctor(title);\n }\n _ctor(title) {\n this.title = title || \"Unnamed\";\n this.size = [LiteGraph.NODE_WIDTH, 60];\n this.graph = null;\n this._pos = new Float32Array(10, 10);\n Object.defineProperty(this, \"pos\", {\n set: function(v2) {\n if (!v2 || v2.length < 2) {\n return;\n }\n this._pos[0] = v2[0];\n this._pos[1] = v2[1];\n },\n get: function() {\n return this._pos;\n },\n enumerable: true\n });\n if (LiteGraph.use_uuids) {\n this.id = LiteGraph.uuidv4();\n } else {\n this.id = -1;\n }\n this.type = null;\n this.inputs = [];\n this.outputs = [];\n this.connections = [];\n this.properties = {};\n this.properties_info = [];\n this.flags = {};\n }\n /**\n * configure a node from an object containing the serialized info\n * @method configure\n */\n configure(info) {\n if (this.graph) {\n this.graph._version++;\n }\n for (var j in info) {\n if (j == \"properties\") {\n for (var k in info.properties) {\n this.properties[k] = info.properties[k];\n if (this.onPropertyChanged) {\n this.onPropertyChanged(k, info.properties[k]);\n }\n }\n continue;\n }\n if (info[j] == null) {\n continue;\n } else if (typeof info[j] == \"object\") {\n if (this[j] && this[j].configure) {\n this[j].configure(info[j]);\n } else {\n this[j] = LiteGraph.cloneObject(info[j], this[j]);\n }\n } else {\n this[j] = info[j];\n }\n }\n if (!info.title) {\n this.title = this.constructor.title;\n }\n if (this.inputs) {\n for (var i2 = 0; i2 < this.inputs.length; ++i2) {\n var input = this.inputs[i2];\n var link_info = this.graph ? this.graph.links[input.link] : null;\n if (this.onConnectionsChange)\n this.onConnectionsChange(LiteGraph.INPUT, i2, true, link_info, input);\n if (this.onInputAdded)\n this.onInputAdded(input);\n }\n }\n if (this.outputs) {\n for (var i2 = 0; i2 < this.outputs.length; ++i2) {\n var output = this.outputs[i2];\n if (!output.links) {\n continue;\n }\n for (var j = 0; j < output.links.length; ++j) {\n var link_info = this.graph ? this.graph.links[output.links[j]] : null;\n if (this.onConnectionsChange)\n this.onConnectionsChange(LiteGraph.OUTPUT, i2, true, link_info, output);\n }\n if (this.onOutputAdded)\n this.onOutputAdded(output);\n }\n }\n if (this.widgets) {\n for (var i2 = 0; i2 < this.widgets.length; ++i2) {\n var w2 = this.widgets[i2];\n if (!w2)\n continue;\n if (w2.options && w2.options.property && this.properties[w2.options.property] != void 0)\n w2.value = JSON.parse(JSON.stringify(this.properties[w2.options.property]));\n }\n if (info.widgets_values) {\n for (var i2 = 0; i2 < info.widgets_values.length; ++i2) {\n if (this.widgets[i2]) {\n this.widgets[i2].value = info.widgets_values[i2];\n }\n }\n }\n }\n if (this.onConfigure) {\n this.onConfigure(info);\n }\n }\n /**\n * serialize the content\n * @method serialize\n */\n serialize() {\n var o = {\n id: this.id,\n type: this.type,\n pos: this.pos,\n size: this.size,\n flags: LiteGraph.cloneObject(this.flags),\n order: this.order,\n mode: this.mode\n };\n if (this.constructor === LGraphNode && this.last_serialization) {\n return this.last_serialization;\n }\n if (this.inputs) {\n o.inputs = this.inputs;\n }\n if (this.outputs) {\n for (var i2 = 0; i2 < this.outputs.length; i2++) {\n delete this.outputs[i2]._data;\n }\n o.outputs = this.outputs;\n }\n if (this.title && this.title != this.constructor.title) {\n o.title = this.title;\n }\n if (this.properties) {\n o.properties = LiteGraph.cloneObject(this.properties);\n }\n if (this.widgets && this.serialize_widgets) {\n o.widgets_values = [];\n for (var i2 = 0; i2 < this.widgets.length; ++i2) {\n if (this.widgets[i2])\n o.widgets_values[i2] = this.widgets[i2].value;\n else\n o.widgets_values[i2] = null;\n }\n }\n if (!o.type) {\n o.type = this.constructor.type;\n }\n if (this.color) {\n o.color = this.color;\n }\n if (this.bgcolor) {\n o.bgcolor = this.bgcolor;\n }\n if (this.boxcolor) {\n o.boxcolor = this.boxcolor;\n }\n if (this.shape) {\n o.shape = this.shape;\n }\n if (this.onSerialize) {\n if (this.onSerialize(o)) {\n console.warn(\n \"node onSerialize shouldnt return anything, data should be stored in the object pass in the first parameter\"\n );\n }\n }\n return o;\n }\n /* Creates a clone of this node */\n clone() {\n var node2 = LiteGraph.createNode(this.type);\n if (!node2) {\n return null;\n }\n var data = LiteGraph.cloneObject(this.serialize());\n if (data.inputs) {\n for (var i2 = 0; i2 < data.inputs.length; ++i2) {\n data.inputs[i2].link = null;\n }\n }\n if (data.outputs) {\n for (var i2 = 0; i2 < data.outputs.length; ++i2) {\n if (data.outputs[i2].links) {\n data.outputs[i2].links.length = 0;\n }\n }\n }\n delete data[\"id\"];\n if (LiteGraph.use_uuids) {\n data[\"id\"] = LiteGraph.uuidv4();\n }\n node2.configure(data);\n return node2;\n }\n /**\n * serialize and stringify\n * @method toString\n */\n toString() {\n return JSON.stringify(this.serialize());\n }\n //LGraphNode.prototype.deserialize = function(info) {} //this cannot be done from within, must be done in LiteGraph\n /**\n * get the title string\n * @method getTitle\n */\n getTitle() {\n return this.title || this.constructor.title;\n }\n /**\n * sets the value of a property\n * @method setProperty\n * @param {String} name\n * @param {*} value\n */\n setProperty(name, value) {\n if (!this.properties) {\n this.properties = {};\n }\n if (value === this.properties[name])\n return;\n var prev_value = this.properties[name];\n this.properties[name] = value;\n if (this.onPropertyChanged) {\n if (this.onPropertyChanged(name, value, prev_value) === false)\n this.properties[name] = prev_value;\n }\n if (this.widgets)\n for (var i2 = 0; i2 < this.widgets.length; ++i2) {\n var w2 = this.widgets[i2];\n if (!w2)\n continue;\n if (w2.options.property == name) {\n w2.value = value;\n break;\n }\n }\n }\n // Execution *************************\n /**\n * sets the output data\n * @method setOutputData\n * @param {number} slot\n * @param {*} data\n */\n setOutputData(slot, data) {\n if (!this.outputs) {\n return;\n }\n if (slot == -1 || slot >= this.outputs.length) {\n return;\n }\n var output_info = this.outputs[slot];\n if (!output_info) {\n return;\n }\n output_info._data = data;\n if (this.outputs[slot].links) {\n for (var i2 = 0; i2 < this.outputs[slot].links.length; i2++) {\n var link_id = this.outputs[slot].links[i2];\n var link = this.graph.links[link_id];\n if (link)\n link.data = data;\n }\n }\n }\n /**\n * sets the output data type, useful when you want to be able to overwrite the data type\n * @method setOutputDataType\n * @param {number} slot\n * @param {String} datatype\n */\n setOutputDataType(slot, type) {\n if (!this.outputs) {\n return;\n }\n if (slot == -1 || slot >= this.outputs.length) {\n return;\n }\n var output_info = this.outputs[slot];\n if (!output_info) {\n return;\n }\n output_info.type = type;\n if (this.outputs[slot].links) {\n for (var i2 = 0; i2 < this.outputs[slot].links.length; i2++) {\n var link_id = this.outputs[slot].links[i2];\n this.graph.links[link_id].type = type;\n }\n }\n }\n /**\n * Retrieves the input data (data traveling through the connection) from one slot\n * @method getInputData\n * @param {number} slot\n * @param {boolean} force_update if set to true it will force the connected node of this slot to output data into this link\n * @return {*} data or if it is not connected returns undefined\n */\n getInputData(slot, force_update) {\n if (!this.inputs) {\n return;\n }\n if (slot >= this.inputs.length || this.inputs[slot].link == null) {\n return;\n }\n var link_id = this.inputs[slot].link;\n var link = this.graph.links[link_id];\n if (!link) {\n return null;\n }\n if (!force_update) {\n return link.data;\n }\n var node2 = this.graph.getNodeById(link.origin_id);\n if (!node2) {\n return link.data;\n }\n if (node2.updateOutputData) {\n node2.updateOutputData(link.origin_slot);\n } else if (node2.onExecute) {\n node2.onExecute();\n }\n return link.data;\n }\n /**\n * Retrieves the input data type (in case this supports multiple input types)\n * @method getInputDataType\n * @param {number} slot\n * @return {String} datatype in string format\n */\n getInputDataType(slot) {\n if (!this.inputs) {\n return null;\n }\n if (slot >= this.inputs.length || this.inputs[slot].link == null) {\n return null;\n }\n var link_id = this.inputs[slot].link;\n var link = this.graph.links[link_id];\n if (!link) {\n return null;\n }\n var node2 = this.graph.getNodeById(link.origin_id);\n if (!node2) {\n return link.type;\n }\n var output_info = node2.outputs[link.origin_slot];\n if (output_info) {\n return output_info.type;\n }\n return null;\n }\n /**\n * Retrieves the input data from one slot using its name instead of slot number\n * @method getInputDataByName\n * @param {String} slot_name\n * @param {boolean} force_update if set to true it will force the connected node of this slot to output data into this link\n * @return {*} data or if it is not connected returns null\n */\n getInputDataByName(slot_name, force_update) {\n var slot = this.findInputSlot(slot_name);\n if (slot == -1) {\n return null;\n }\n return this.getInputData(slot, force_update);\n }\n /**\n * tells you if there is a connection in one input slot\n * @method isInputConnected\n * @param {number} slot\n * @return {boolean}\n */\n isInputConnected(slot) {\n if (!this.inputs) {\n return false;\n }\n return slot < this.inputs.length && this.inputs[slot].link != null;\n }\n /**\n * tells you info about an input connection (which node, type, etc)\n * @method getInputInfo\n * @param {number} slot\n * @return {Object} object or null { link: id, name: string, type: string or 0 }\n */\n getInputInfo(slot) {\n if (!this.inputs) {\n return null;\n }\n if (slot < this.inputs.length) {\n return this.inputs[slot];\n }\n return null;\n }\n /**\n * Returns the link info in the connection of an input slot\n * @method getInputLink\n * @param {number} slot\n * @return {LLink} object or null\n */\n getInputLink(slot) {\n if (!this.inputs) {\n return null;\n }\n if (slot < this.inputs.length) {\n var slot_info = this.inputs[slot];\n return this.graph.links[slot_info.link];\n }\n return null;\n }\n /**\n * returns the node connected in the input slot\n * @method getInputNode\n * @param {number} slot\n * @return {LGraphNode} node or null\n */\n getInputNode(slot) {\n if (!this.inputs) {\n return null;\n }\n if (slot >= this.inputs.length) {\n return null;\n }\n var input = this.inputs[slot];\n if (!input || input.link === null) {\n return null;\n }\n var link_info = this.graph.links[input.link];\n if (!link_info) {\n return null;\n }\n return this.graph.getNodeById(link_info.origin_id);\n }\n /**\n * returns the value of an input with this name, otherwise checks if there is a property with that name\n * @method getInputOrProperty\n * @param {string} name\n * @return {*} value\n */\n getInputOrProperty(name) {\n if (!this.inputs || !this.inputs.length) {\n return this.properties ? this.properties[name] : null;\n }\n for (var i2 = 0, l = this.inputs.length; i2 < l; ++i2) {\n var input_info = this.inputs[i2];\n if (name == input_info.name && input_info.link != null) {\n var link = this.graph.links[input_info.link];\n if (link) {\n return link.data;\n }\n }\n }\n return this.properties[name];\n }\n /**\n * tells you the last output data that went in that slot\n * @method getOutputData\n * @param {number} slot\n * @return {Object} object or null\n */\n getOutputData(slot) {\n if (!this.outputs) {\n return null;\n }\n if (slot >= this.outputs.length) {\n return null;\n }\n var info = this.outputs[slot];\n return info._data;\n }\n /**\n * tells you info about an output connection (which node, type, etc)\n * @method getOutputInfo\n * @param {number} slot\n * @return {Object} object or null { name: string, type: string, links: [ ids of links in number ] }\n */\n getOutputInfo(slot) {\n if (!this.outputs) {\n return null;\n }\n if (slot < this.outputs.length) {\n return this.outputs[slot];\n }\n return null;\n }\n /**\n * tells you if there is a connection in one output slot\n * @method isOutputConnected\n * @param {number} slot\n * @return {boolean}\n */\n isOutputConnected(slot) {\n if (!this.outputs) {\n return false;\n }\n return slot < this.outputs.length && this.outputs[slot].links && this.outputs[slot].links.length;\n }\n /**\n * tells you if there is any connection in the output slots\n * @method isAnyOutputConnected\n * @return {boolean}\n */\n isAnyOutputConnected() {\n if (!this.outputs) {\n return false;\n }\n for (var i2 = 0; i2 < this.outputs.length; ++i2) {\n if (this.outputs[i2].links && this.outputs[i2].links.length) {\n return true;\n }\n }\n return false;\n }\n /**\n * retrieves all the nodes connected to this output slot\n * @method getOutputNodes\n * @param {number} slot\n * @return {array}\n */\n getOutputNodes(slot) {\n if (!this.outputs || this.outputs.length == 0) {\n return null;\n }\n if (slot >= this.outputs.length) {\n return null;\n }\n var output = this.outputs[slot];\n if (!output.links || output.links.length == 0) {\n return null;\n }\n var r = [];\n for (var i2 = 0; i2 < output.links.length; i2++) {\n var link_id = output.links[i2];\n var link = this.graph.links[link_id];\n if (link) {\n var target_node = this.graph.getNodeById(link.target_id);\n if (target_node) {\n r.push(target_node);\n }\n }\n }\n return r;\n }\n addOnTriggerInput() {\n var trigS = this.findInputSlot(\"onTrigger\");\n if (trigS == -1) {\n //!trigS || \n this.addInput(\"onTrigger\", LiteGraph.EVENT, { optional: true, nameLocked: true });\n return this.findInputSlot(\"onTrigger\");\n }\n return trigS;\n }\n addOnExecutedOutput() {\n var trigS = this.findOutputSlot(\"onExecuted\");\n if (trigS == -1) {\n //!trigS || \n this.addOutput(\"onExecuted\", LiteGraph.ACTION, { optional: true, nameLocked: true });\n return this.findOutputSlot(\"onExecuted\");\n }\n return trigS;\n }\n onAfterExecuteNode(param, options) {\n var trigS = this.findOutputSlot(\"onExecuted\");\n if (trigS != -1) {\n this.triggerSlot(trigS, param, null, options);\n }\n }\n changeMode(modeTo) {\n switch (modeTo) {\n case LiteGraph.ON_EVENT:\n break;\n case LiteGraph.ON_TRIGGER:\n this.addOnTriggerInput();\n this.addOnExecutedOutput();\n break;\n case LiteGraph.NEVER:\n break;\n case LiteGraph.ALWAYS:\n break;\n case LiteGraph.ON_REQUEST:\n break;\n default:\n return false;\n }\n this.mode = modeTo;\n return true;\n }\n /**\n * Triggers the node code execution, place a boolean/counter to mark the node as being executed\n * @method execute\n * @param {*} param\n * @param {*} options\n */\n doExecute(param, options) {\n options = options || {};\n if (this.onExecute) {\n if (!options.action_call) options.action_call = this.id + \"_exec_\" + Math.floor(Math.random() * 9999);\n this.graph.nodes_executing[this.id] = true;\n this.onExecute(param, options);\n this.graph.nodes_executing[this.id] = false;\n this.exec_version = this.graph.iteration;\n if (options && options.action_call) {\n this.action_call = options.action_call;\n this.graph.nodes_executedAction[this.id] = options.action_call;\n }\n }\n this.execute_triggered = 2;\n if (this.onAfterExecuteNode) this.onAfterExecuteNode(param, options);\n }\n /**\n * Triggers an action, wrapped by logics to control execution flow\n * @method actionDo\n * @param {String} action name\n * @param {*} param\n */\n actionDo(action, param, options) {\n options = options || {};\n if (this.onAction) {\n if (!options.action_call) options.action_call = this.id + \"_\" + (action ? action : \"action\") + \"_\" + Math.floor(Math.random() * 9999);\n this.graph.nodes_actioning[this.id] = action ? action : \"actioning\";\n this.onAction(action, param, options);\n this.graph.nodes_actioning[this.id] = false;\n if (options && options.action_call) {\n this.action_call = options.action_call;\n this.graph.nodes_executedAction[this.id] = options.action_call;\n }\n }\n this.action_triggered = 2;\n if (this.onAfterExecuteNode) this.onAfterExecuteNode(param, options);\n }\n /**\n * Triggers an event in this node, this will trigger any output with the same name\n * @method trigger\n * @param {String} event name ( \"on_play\", ... ) if action is equivalent to false then the event is send to all\n * @param {*} param\n */\n trigger(action, param, options) {\n if (!this.outputs || !this.outputs.length) {\n return;\n }\n if (this.graph)\n this.graph._last_trigger_time = LiteGraph.getTime();\n for (var i2 = 0; i2 < this.outputs.length; ++i2) {\n var output = this.outputs[i2];\n if (!output || output.type !== LiteGraph.EVENT || action && output.name != action)\n continue;\n this.triggerSlot(i2, param, null, options);\n }\n }\n /**\n * Triggers a slot event in this node: cycle output slots and launch execute/action on connected nodes\n * @method triggerSlot\n * @param {Number} slot the index of the output slot\n * @param {*} param\n * @param {Number} link_id [optional] in case you want to trigger and specific output link in a slot\n */\n triggerSlot(slot, param, link_id, options) {\n options = options || {};\n if (!this.outputs) {\n return;\n }\n if (slot == null) {\n console.error(\"slot must be a number\");\n return;\n }\n if (slot.constructor !== Number)\n console.warn(\"slot must be a number, use node.trigger('name') if you want to use a string\");\n var output = this.outputs[slot];\n if (!output) {\n return;\n }\n var links = output.links;\n if (!links || !links.length) {\n return;\n }\n if (this.graph) {\n this.graph._last_trigger_time = LiteGraph.getTime();\n }\n for (var k = 0; k < links.length; ++k) {\n var id = links[k];\n if (link_id != null && link_id != id) {\n continue;\n }\n var link_info = this.graph.links[links[k]];\n if (!link_info) {\n continue;\n }\n link_info._last_time = LiteGraph.getTime();\n var node2 = this.graph.getNodeById(link_info.target_id);\n if (!node2) {\n continue;\n }\n var target_connection = node2.inputs[link_info.target_slot];\n if (node2.mode === LiteGraph.ON_TRIGGER) {\n if (!options.action_call) options.action_call = this.id + \"_trigg_\" + Math.floor(Math.random() * 9999);\n if (node2.onExecute) {\n node2.doExecute(param, options);\n }\n } else if (node2.onAction) {\n if (!options.action_call) options.action_call = this.id + \"_act_\" + Math.floor(Math.random() * 9999);\n var target_connection = node2.inputs[link_info.target_slot];\n node2.actionDo(target_connection.name, param, options);\n }\n }\n }\n /**\n * clears the trigger slot animation\n * @method clearTriggeredSlot\n * @param {Number} slot the index of the output slot\n * @param {Number} link_id [optional] in case you want to trigger and specific output link in a slot\n */\n clearTriggeredSlot(slot, link_id) {\n if (!this.outputs) {\n return;\n }\n var output = this.outputs[slot];\n if (!output) {\n return;\n }\n var links = output.links;\n if (!links || !links.length) {\n return;\n }\n for (var k = 0; k < links.length; ++k) {\n var id = links[k];\n if (link_id != null && link_id != id) {\n continue;\n }\n var link_info = this.graph.links[links[k]];\n if (!link_info) {\n continue;\n }\n link_info._last_time = 0;\n }\n }\n /**\n * changes node size and triggers callback\n * @method setSize\n * @param {vec2} size\n */\n setSize(size) {\n this.size = size;\n if (this.onResize)\n this.onResize(this.size);\n }\n /**\n * add a new property to this node\n * @method addProperty\n * @param {string} name\n * @param {*} default_value\n * @param {string} type string defining the output type (\"vec3\",\"number\",...)\n * @param {Object} extra_info this can be used to have special properties of the property (like values, etc)\n */\n addProperty(name, default_value, type, extra_info) {\n var o = { name, type, default_value };\n if (extra_info) {\n for (var i2 in extra_info) {\n o[i2] = extra_info[i2];\n }\n }\n if (!this.properties_info) {\n this.properties_info = [];\n }\n this.properties_info.push(o);\n if (!this.properties) {\n this.properties = {};\n }\n this.properties[name] = default_value;\n return o;\n }\n //connections\n /**\n * add a new output slot to use in this node\n * @method addOutput\n * @param {string} name\n * @param {string} type string defining the output type (\"vec3\",\"number\",...)\n * @param {Object} extra_info this can be used to have special properties of an output (label, special color, position, etc)\n */\n addOutput(name, type, extra_info) {\n var output = { name, type, links: null };\n if (extra_info) {\n for (var i2 in extra_info) {\n output[i2] = extra_info[i2];\n }\n }\n if (!this.outputs) {\n this.outputs = [];\n }\n this.outputs.push(output);\n if (this.onOutputAdded) {\n this.onOutputAdded(output);\n }\n if (LiteGraph.auto_load_slot_types) LiteGraph.registerNodeAndSlotType(this, type, true);\n this.setSize(this.computeSize());\n this.setDirtyCanvas(true, true);\n return output;\n }\n /**\n * add a new output slot to use in this node\n * @method addOutputs\n * @param {Array} array of triplets like [[name,type,extra_info],[...]]\n */\n addOutputs(array) {\n for (var i2 = 0; i2 < array.length; ++i2) {\n var info = array[i2];\n var o = { name: info[0], type: info[1], link: null };\n if (array[2]) {\n for (var j in info[2]) {\n o[j] = info[2][j];\n }\n }\n if (!this.outputs) {\n this.outputs = [];\n }\n this.outputs.push(o);\n if (this.onOutputAdded) {\n this.onOutputAdded(o);\n }\n if (LiteGraph.auto_load_slot_types) LiteGraph.registerNodeAndSlotType(this, info[1], true);\n }\n this.setSize(this.computeSize());\n this.setDirtyCanvas(true, true);\n }\n /**\n * remove an existing output slot\n * @method removeOutput\n * @param {number} slot\n */\n removeOutput(slot) {\n this.disconnectOutput(slot);\n this.outputs.splice(slot, 1);\n for (var i2 = slot; i2 < this.outputs.length; ++i2) {\n if (!this.outputs[i2] || !this.outputs[i2].links) {\n continue;\n }\n var links = this.outputs[i2].links;\n for (var j = 0; j < links.length; ++j) {\n var link = this.graph.links[links[j]];\n if (!link) {\n continue;\n }\n link.origin_slot -= 1;\n }\n }\n this.setSize(this.computeSize());\n if (this.onOutputRemoved) {\n this.onOutputRemoved(slot);\n }\n this.setDirtyCanvas(true, true);\n }\n /**\n * add a new input slot to use in this node\n * @method addInput\n * @param {string} name\n * @param {string} type string defining the input type (\"vec3\",\"number\",...), it its a generic one use 0\n * @param {Object} extra_info this can be used to have special properties of an input (label, color, position, etc)\n */\n addInput(name, type, extra_info) {\n type = type || 0;\n var input = { name, type, link: null };\n if (extra_info) {\n for (var i2 in extra_info) {\n input[i2] = extra_info[i2];\n }\n }\n if (!this.inputs) {\n this.inputs = [];\n }\n this.inputs.push(input);\n this.setSize(this.computeSize());\n if (this.onInputAdded) {\n this.onInputAdded(input);\n }\n LiteGraph.registerNodeAndSlotType(this, type);\n this.setDirtyCanvas(true, true);\n return input;\n }\n /**\n * add several new input slots in this node\n * @method addInputs\n * @param {Array} array of triplets like [[name,type,extra_info],[...]]\n */\n addInputs(array) {\n for (var i2 = 0; i2 < array.length; ++i2) {\n var info = array[i2];\n var o = { name: info[0], type: info[1], link: null };\n if (array[2]) {\n for (var j in info[2]) {\n o[j] = info[2][j];\n }\n }\n if (!this.inputs) {\n this.inputs = [];\n }\n this.inputs.push(o);\n if (this.onInputAdded) {\n this.onInputAdded(o);\n }\n LiteGraph.registerNodeAndSlotType(this, info[1]);\n }\n this.setSize(this.computeSize());\n this.setDirtyCanvas(true, true);\n }\n /**\n * remove an existing input slot\n * @method removeInput\n * @param {number} slot\n */\n removeInput(slot) {\n this.disconnectInput(slot);\n var slot_info = this.inputs.splice(slot, 1);\n for (var i2 = slot; i2 < this.inputs.length; ++i2) {\n if (!this.inputs[i2]) {\n continue;\n }\n var link = this.graph.links[this.inputs[i2].link];\n if (!link) {\n continue;\n }\n link.target_slot -= 1;\n }\n this.setSize(this.computeSize());\n if (this.onInputRemoved) {\n this.onInputRemoved(slot, slot_info[0]);\n }\n this.setDirtyCanvas(true, true);\n }\n /**\n * add an special connection to this node (used for special kinds of graphs)\n * @method addConnection\n * @param {string} name\n * @param {string} type string defining the input type (\"vec3\",\"number\",...)\n * @param {[x,y]} pos position of the connection inside the node\n * @param {string} direction if is input or output\n */\n addConnection(name, type, pos2, direction) {\n var o = {\n name,\n type,\n pos: pos2,\n direction,\n links: null\n };\n this.connections.push(o);\n return o;\n }\n /**\n * computes the minimum size of a node according to its inputs and output slots\n * @method computeSize\n * @param {vec2} minHeight\n * @return {vec2} the total size\n */\n computeSize(out) {\n if (this.constructor.size) {\n return this.constructor.size.concat();\n }\n var rows = Math.max(\n this.inputs ? this.inputs.length : 1,\n this.outputs ? this.outputs.length : 1\n );\n var size = out || new Float32Array([0, 0]);\n rows = Math.max(rows, 1);\n var font_size = LiteGraph.NODE_TEXT_SIZE;\n var title_width = compute_text_size(this.title);\n var input_width = 0;\n var output_width = 0;\n if (this.inputs) {\n for (var i2 = 0, l = this.inputs.length; i2 < l; ++i2) {\n var input = this.inputs[i2];\n var text = input.label || input.name || \"\";\n var text_width = compute_text_size(text);\n if (input_width < text_width) {\n input_width = text_width;\n }\n }\n }\n if (this.outputs) {\n for (var i2 = 0, l = this.outputs.length; i2 < l; ++i2) {\n var output = this.outputs[i2];\n var text = output.label || output.name || \"\";\n var text_width = compute_text_size(text);\n if (output_width < text_width) {\n output_width = text_width;\n }\n }\n }\n size[0] = Math.max(input_width + output_width + 10, title_width);\n size[0] = Math.max(size[0], LiteGraph.NODE_WIDTH);\n if (this.widgets && this.widgets.length) {\n size[0] = Math.max(size[0], LiteGraph.NODE_WIDTH * 1.5);\n }\n size[1] = (this.constructor.slot_start_y || 0) + rows * LiteGraph.NODE_SLOT_HEIGHT;\n var widgets_height = 0;\n if (this.widgets && this.widgets.length) {\n for (var i2 = 0, l = this.widgets.length; i2 < l; ++i2) {\n if (this.widgets[i2].computeSize)\n widgets_height += this.widgets[i2].computeSize(size[0])[1] + 4;\n else\n widgets_height += LiteGraph.NODE_WIDGET_HEIGHT + 4;\n }\n widgets_height += 8;\n }\n if (this.widgets_up)\n size[1] = Math.max(size[1], widgets_height);\n else if (this.widgets_start_y != null)\n size[1] = Math.max(size[1], widgets_height + this.widgets_start_y);\n else\n size[1] += widgets_height;\n function compute_text_size(text2) {\n if (!text2) {\n return 0;\n }\n return font_size * text2.length * 0.6;\n }\n if (this.constructor.min_height && size[1] < this.constructor.min_height) {\n size[1] = this.constructor.min_height;\n }\n size[1] += 6;\n return size;\n }\n inResizeCorner(canvasX, canvasY) {\n var rows = this.outputs ? this.outputs.length : 1;\n var outputs_offset = (this.constructor.slot_start_y || 0) + rows * LiteGraph.NODE_SLOT_HEIGHT;\n return isInsideRectangle(\n canvasX,\n canvasY,\n this.pos[0] + this.size[0] - 15,\n this.pos[1] + Math.max(this.size[1] - 15, outputs_offset),\n 20,\n 20\n );\n }\n /**\n * returns all the info available about a property of this node.\n *\n * @method getPropertyInfo\n * @param {String} property name of the property\n * @return {Object} the object with all the available info\n */\n getPropertyInfo(property) {\n var info = null;\n if (this.properties_info) {\n for (var i2 = 0; i2 < this.properties_info.length; ++i2) {\n if (this.properties_info[i2].name == property) {\n info = this.properties_info[i2];\n break;\n }\n }\n }\n if (this.constructor[\"@\" + property])\n info = this.constructor[\"@\" + property];\n if (this.constructor.widgets_info && this.constructor.widgets_info[property])\n info = this.constructor.widgets_info[property];\n if (!info && this.onGetPropertyInfo) {\n info = this.onGetPropertyInfo(property);\n }\n if (!info)\n info = {};\n if (!info.type)\n info.type = typeof this.properties[property];\n if (info.widget == \"combo\")\n info.type = \"enum\";\n return info;\n }\n /**\n * Defines a widget inside the node, it will be rendered on top of the node, you can control lots of properties\n *\n * @method addWidget\n * @param {String} type the widget type (could be \"number\",\"string\",\"combo\"\n * @param {String} name the text to show on the widget\n * @param {String} value the default value\n * @param {Function|String} callback function to call when it changes (optionally, it can be the name of the property to modify)\n * @param {Object} options the object that contains special properties of this widget\n * @return {Object} the created widget object\n */\n addWidget(type, name, value, callback, options) {\n if (!this.widgets) {\n this.widgets = [];\n }\n if (!options && callback && callback.constructor === Object) {\n options = callback;\n callback = null;\n }\n if (options && options.constructor === String)\n options = { property: options };\n if (callback && callback.constructor === String) {\n if (!options)\n options = {};\n options.property = callback;\n callback = null;\n }\n if (callback && callback.constructor !== Function) {\n console.warn(\"addWidget: callback must be a function\");\n callback = null;\n }\n var w2 = {\n type: type.toLowerCase(),\n name,\n value,\n callback,\n options: options || {}\n };\n if (w2.options.y !== void 0) {\n w2.y = w2.options.y;\n }\n if (!callback && !w2.options.callback && !w2.options.property) {\n console.warn(\"LiteGraph addWidget(...) without a callback or property assigned\");\n }\n if (type == \"combo\" && !w2.options.values) {\n throw \"LiteGraph addWidget('combo',...) requires to pass values in options: { values:['red','blue'] }\";\n }\n this.widgets.push(w2);\n this.setSize(this.computeSize());\n return w2;\n }\n addCustomWidget(custom_widget) {\n if (!this.widgets) {\n this.widgets = [];\n }\n this.widgets.push(custom_widget);\n return custom_widget;\n }\n /**\n * returns the bounding of the object, used for rendering purposes\n * @method getBounding\n * @param out {Float32Array[4]?} [optional] a place to store the output, to free garbage\n * @param compute_outer {boolean?} [optional] set to true to include the shadow and connection points in the bounding calculation\n * @return {Float32Array[4]} the bounding box in format of [topleft_cornerx, topleft_cornery, width, height]\n */\n getBounding(out, compute_outer) {\n out = out || new Float32Array(4);\n const nodePos = this.pos;\n const isCollapsed = this.flags.collapsed;\n const nodeSize = this.size;\n let left_offset = 0;\n let right_offset = 1;\n let top_offset = 0;\n let bottom_offset = 0;\n if (compute_outer) {\n left_offset = 4;\n right_offset = 6 + left_offset;\n top_offset = 4;\n bottom_offset = 5 + top_offset;\n }\n out[0] = nodePos[0] - left_offset;\n out[1] = nodePos[1] - LiteGraph.NODE_TITLE_HEIGHT - top_offset;\n out[2] = isCollapsed ? (this._collapsed_width || LiteGraph.NODE_COLLAPSED_WIDTH) + right_offset : nodeSize[0] + right_offset;\n out[3] = isCollapsed ? LiteGraph.NODE_TITLE_HEIGHT + bottom_offset : nodeSize[1] + LiteGraph.NODE_TITLE_HEIGHT + bottom_offset;\n if (this.onBounding) {\n this.onBounding(out);\n }\n return out;\n }\n /**\n * checks if a point is inside the shape of a node\n * @method isPointInside\n * @param {number} x\n * @param {number} y\n * @return {boolean}\n */\n isPointInside(x2, y2, margin, skip_title) {\n margin = margin || 0;\n var margin_top = this.graph && this.graph.isLive() ? 0 : LiteGraph.NODE_TITLE_HEIGHT;\n if (skip_title) {\n margin_top = 0;\n }\n if (this.flags && this.flags.collapsed) {\n if (isInsideRectangle(\n x2,\n y2,\n this.pos[0] - margin,\n this.pos[1] - LiteGraph.NODE_TITLE_HEIGHT - margin,\n (this._collapsed_width || LiteGraph.NODE_COLLAPSED_WIDTH) + 2 * margin,\n LiteGraph.NODE_TITLE_HEIGHT + 2 * margin\n )) {\n return true;\n }\n } else if (this.pos[0] - 4 - margin < x2 && this.pos[0] + this.size[0] + 4 + margin > x2 && this.pos[1] - margin_top - margin < y2 && this.pos[1] + this.size[1] + margin > y2) {\n return true;\n }\n return false;\n }\n /**\n * checks if a point is inside a node slot, and returns info about which slot\n * @method getSlotInPosition\n * @param {number} x\n * @param {number} y\n * @return {Object} if found the object contains { input|output: slot object, slot: number, link_pos: [x,y] }\n */\n getSlotInPosition(x2, y2) {\n var link_pos = new Float32Array(2);\n if (this.inputs) {\n for (var i2 = 0, l = this.inputs.length; i2 < l; ++i2) {\n var input = this.inputs[i2];\n this.getConnectionPos(true, i2, link_pos);\n if (isInsideRectangle(\n x2,\n y2,\n link_pos[0] - 10,\n link_pos[1] - 5,\n 20,\n 10\n )) {\n return { input, slot: i2, link_pos };\n }\n }\n }\n if (this.outputs) {\n for (var i2 = 0, l = this.outputs.length; i2 < l; ++i2) {\n var output = this.outputs[i2];\n this.getConnectionPos(false, i2, link_pos);\n if (isInsideRectangle(\n x2,\n y2,\n link_pos[0] - 10,\n link_pos[1] - 5,\n 20,\n 10\n )) {\n return { output, slot: i2, link_pos };\n }\n }\n }\n return null;\n }\n /**\n * returns the input slot with a given name (used for dynamic slots), -1 if not found\n * @method findInputSlot\n * @param {string} name the name of the slot\n * @param {boolean} returnObj if the obj itself wanted\n * @return {number_or_object} the slot (-1 if not found)\n */\n findInputSlot(name, returnObj) {\n if (!this.inputs) {\n return -1;\n }\n for (var i2 = 0, l = this.inputs.length; i2 < l; ++i2) {\n if (name == this.inputs[i2].name) {\n return !returnObj ? i2 : this.inputs[i2];\n }\n }\n return -1;\n }\n /**\n * returns the output slot with a given name (used for dynamic slots), -1 if not found\n * @method findOutputSlot\n * @param {string} name the name of the slot\n * @param {boolean} returnObj if the obj itself wanted\n * @return {number_or_object} the slot (-1 if not found)\n */\n findOutputSlot(name, returnObj) {\n returnObj = returnObj || false;\n if (!this.outputs) {\n return -1;\n }\n for (var i2 = 0, l = this.outputs.length; i2 < l; ++i2) {\n if (name == this.outputs[i2].name) {\n return !returnObj ? i2 : this.outputs[i2];\n }\n }\n return -1;\n }\n // TODO refactor: USE SINGLE findInput/findOutput functions! :: merge options\n /**\n * returns the first free input slot\n * @method findInputSlotFree\n * @param {object} options\n * @return {number_or_object} the slot (-1 if not found)\n */\n findInputSlotFree(optsIn) {\n var optsIn = optsIn || {};\n var optsDef = {\n returnObj: false,\n typesNotAccepted: []\n };\n var opts = Object.assign(optsDef, optsIn);\n if (!this.inputs) {\n return -1;\n }\n for (var i2 = 0, l = this.inputs.length; i2 < l; ++i2) {\n if (this.inputs[i2].link && this.inputs[i2].link != null) {\n continue;\n }\n if (opts.typesNotAccepted && opts.typesNotAccepted.includes && opts.typesNotAccepted.includes(this.inputs[i2].type)) {\n continue;\n }\n return !opts.returnObj ? i2 : this.inputs[i2];\n }\n return -1;\n }\n /**\n * returns the first output slot free\n * @method findOutputSlotFree\n * @param {object} options\n * @return {number_or_object} the slot (-1 if not found)\n */\n findOutputSlotFree(optsIn) {\n var optsIn = optsIn || {};\n var optsDef = {\n returnObj: false,\n typesNotAccepted: []\n };\n var opts = Object.assign(optsDef, optsIn);\n if (!this.outputs) {\n return -1;\n }\n for (var i2 = 0, l = this.outputs.length; i2 < l; ++i2) {\n if (this.outputs[i2].links && this.outputs[i2].links != null) {\n continue;\n }\n if (opts.typesNotAccepted && opts.typesNotAccepted.includes && opts.typesNotAccepted.includes(this.outputs[i2].type)) {\n continue;\n }\n return !opts.returnObj ? i2 : this.outputs[i2];\n }\n return -1;\n }\n /**\n * findSlotByType for INPUTS\n */\n findInputSlotByType(type, returnObj, preferFreeSlot, doNotUseOccupied) {\n return this.findSlotByType(true, type, returnObj, preferFreeSlot, doNotUseOccupied);\n }\n /**\n * findSlotByType for OUTPUTS\n */\n findOutputSlotByType(type, returnObj, preferFreeSlot, doNotUseOccupied) {\n return this.findSlotByType(false, type, returnObj, preferFreeSlot, doNotUseOccupied);\n }\n /**\n * returns the output (or input) slot with a given type, -1 if not found\n * @method findSlotByType\n * @param {boolean} input uise inputs instead of outputs\n * @param {string} type the type of the slot\n * @param {boolean} returnObj if the obj itself wanted\n * @param {boolean} preferFreeSlot if we want a free slot (if not found, will return the first of the type anyway)\n * @return {number_or_object} the slot (-1 if not found)\n */\n findSlotByType(input, type, returnObj, preferFreeSlot, doNotUseOccupied) {\n input = input || false;\n returnObj = returnObj || false;\n preferFreeSlot = preferFreeSlot || false;\n doNotUseOccupied = doNotUseOccupied || false;\n var aSlots = input ? this.inputs : this.outputs;\n if (!aSlots) {\n return -1;\n }\n if (type == \"\" || type == \"*\") type = 0;\n for (var i2 = 0, l = aSlots.length; i2 < l; ++i2) {\n var aSource = (type + \"\").toLowerCase().split(\",\");\n var aDest = aSlots[i2].type == \"0\" || aSlots[i2].type == \"*\" ? \"0\" : aSlots[i2].type;\n aDest = (aDest + \"\").toLowerCase().split(\",\");\n for (var sI = 0; sI < aSource.length; sI++) {\n for (var dI = 0; dI < aDest.length; dI++) {\n if (aSource[sI] == \"_event_\") aSource[sI] = LiteGraph.EVENT;\n if (aDest[sI] == \"_event_\") aDest[sI] = LiteGraph.EVENT;\n if (aSource[sI] == \"*\") aSource[sI] = 0;\n if (aDest[sI] == \"*\") aDest[sI] = 0;\n if (aSource[sI] == aDest[dI]) {\n if (preferFreeSlot && (aSlots[i2].links && aSlots[i2].links !== null) || aSlots[i2].link && aSlots[i2].link !== null) continue;\n return !returnObj ? i2 : aSlots[i2];\n }\n }\n }\n }\n if (preferFreeSlot && !doNotUseOccupied) {\n for (var i2 = 0, l = aSlots.length; i2 < l; ++i2) {\n var aSource = (type + \"\").toLowerCase().split(\",\");\n var aDest = aSlots[i2].type == \"0\" || aSlots[i2].type == \"*\" ? \"0\" : aSlots[i2].type;\n aDest = (aDest + \"\").toLowerCase().split(\",\");\n for (var sI = 0; sI < aSource.length; sI++) {\n for (var dI = 0; dI < aDest.length; dI++) {\n if (aSource[sI] == \"*\") aSource[sI] = 0;\n if (aDest[sI] == \"*\") aDest[sI] = 0;\n if (aSource[sI] == aDest[dI]) {\n return !returnObj ? i2 : aSlots[i2];\n }\n }\n }\n }\n }\n return -1;\n }\n /**\n * connect this node output to the input of another node BY TYPE\n * @method connectByType\n * @param {number_or_string} slot (could be the number of the slot or the string with the name of the slot)\n * @param {LGraphNode} node the target node\n * @param {string} target_type the input slot type of the target node\n * @return {Object} the link_info is created, otherwise null\n */\n connectByType(slot, target_node, target_slotType, optsIn) {\n var optsIn = optsIn || {};\n var optsDef = {\n createEventInCase: true,\n firstFreeIfOutputGeneralInCase: true,\n generalTypeInCase: true\n };\n var opts = Object.assign(optsDef, optsIn);\n if (target_node && target_node.constructor === Number) {\n target_node = this.graph.getNodeById(target_node);\n }\n var target_slot = target_node.findInputSlotByType(target_slotType, false, true);\n if (target_slot >= 0 && target_slot !== null) {\n return this.connect(slot, target_node, target_slot);\n } else {\n if (opts.createEventInCase && target_slotType == LiteGraph.EVENT) {\n return this.connect(slot, target_node, -1);\n }\n if (opts.generalTypeInCase) {\n var target_slot = target_node.findInputSlotByType(0, false, true, true);\n if (target_slot >= 0) {\n return this.connect(slot, target_node, target_slot);\n }\n }\n if (opts.firstFreeIfOutputGeneralInCase && (target_slotType == 0 || target_slotType == \"*\" || target_slotType == \"\")) {\n var target_slot = target_node.findInputSlotFree({ typesNotAccepted: [LiteGraph.EVENT] });\n if (target_slot >= 0) {\n return this.connect(slot, target_node, target_slot);\n }\n }\n console.debug(\"no way to connect type: \", target_slotType, \" to targetNODE \", target_node);\n return null;\n }\n }\n /**\n * connect this node input to the output of another node BY TYPE\n * @method connectByType\n * @param {number_or_string} slot (could be the number of the slot or the string with the name of the slot)\n * @param {LGraphNode} node the target node\n * @param {string} target_type the output slot type of the target node\n * @return {Object} the link_info is created, otherwise null\n */\n connectByTypeOutput(slot, source_node, source_slotType, optsIn) {\n var optsIn = optsIn || {};\n var optsDef = {\n createEventInCase: true,\n firstFreeIfInputGeneralInCase: true,\n generalTypeInCase: true\n };\n var opts = Object.assign(optsDef, optsIn);\n if (source_node && source_node.constructor === Number) {\n source_node = this.graph.getNodeById(source_node);\n }\n var source_slot = source_node.findOutputSlotByType(source_slotType, false, true);\n if (source_slot >= 0 && source_slot !== null) {\n return source_node.connect(source_slot, this, slot);\n } else {\n if (opts.generalTypeInCase) {\n var source_slot = source_node.findOutputSlotByType(0, false, true, true);\n if (source_slot >= 0) {\n return source_node.connect(source_slot, this, slot);\n }\n }\n if (opts.createEventInCase && source_slotType == LiteGraph.EVENT) {\n if (LiteGraph.do_add_triggers_slots) {\n var source_slot = source_node.addOnExecutedOutput();\n return source_node.connect(source_slot, this, slot);\n }\n }\n if (opts.firstFreeIfInputGeneralInCase && (source_slotType == 0 || source_slotType == \"*\" || source_slotType == \"\")) {\n var source_slot = source_node.findOutputSlotFree({ typesNotAccepted: [LiteGraph.EVENT] });\n if (source_slot >= 0) {\n return source_node.connect(source_slot, this, slot);\n }\n }\n console.debug(\"no way to connect byOUT type: \", source_slotType, \" to sourceNODE \", source_node);\n return null;\n }\n }\n /**\n * connect this node output to the input of another node\n * @method connect\n * @param {number_or_string} slot (could be the number of the slot or the string with the name of the slot)\n * @param {LGraphNode} node the target node\n * @param {number_or_string} target_slot the input slot of the target node (could be the number of the slot or the string with the name of the slot, or -1 to connect a trigger)\n * @return {Object} the link_info is created, otherwise null\n */\n connect(slot, target_node, target_slot) {\n target_slot = target_slot || 0;\n if (!this.graph) {\n console.log(\n \"Connect: Error, node doesn't belong to any graph. Nodes must be added first to a graph before connecting them.\"\n );\n return null;\n }\n if (slot.constructor === String) {\n slot = this.findOutputSlot(slot);\n if (slot == -1) {\n if (LiteGraph.debug) {\n console.log(\"Connect: Error, no slot of name \" + slot);\n }\n return null;\n }\n } else if (!this.outputs || slot >= this.outputs.length) {\n if (LiteGraph.debug) {\n console.log(\"Connect: Error, slot number not found\");\n }\n return null;\n }\n if (target_node && target_node.constructor === Number) {\n target_node = this.graph.getNodeById(target_node);\n }\n if (!target_node) {\n throw \"target node is null\";\n }\n if (target_node == this) {\n return null;\n }\n if (target_slot.constructor === String) {\n target_slot = target_node.findInputSlot(target_slot);\n if (target_slot == -1) {\n if (LiteGraph.debug) {\n console.log(\n \"Connect: Error, no slot of name \" + target_slot\n );\n }\n return null;\n }\n } else if (target_slot === LiteGraph.EVENT) {\n if (LiteGraph.do_add_triggers_slots) {\n target_node.changeMode(LiteGraph.ON_TRIGGER);\n target_slot = target_node.findInputSlot(\"onTrigger\");\n } else {\n return null;\n }\n } else if (!target_node.inputs || target_slot >= target_node.inputs.length) {\n if (LiteGraph.debug) {\n console.log(\"Connect: Error, slot number not found\");\n }\n return null;\n }\n var changed = false;\n var input = target_node.inputs[target_slot];\n var link_info = null;\n var output = this.outputs[slot];\n if (!this.outputs[slot]) {\n return null;\n }\n if (target_node.onBeforeConnectInput) {\n target_slot = target_node.onBeforeConnectInput(target_slot);\n }\n if (target_slot === false || target_slot === null || !LiteGraph.isValidConnection(output.type, input.type)) {\n this.setDirtyCanvas(false, true);\n if (changed)\n this.graph.connectionChange(this, link_info);\n return null;\n }\n if (target_node.onConnectInput) {\n if (target_node.onConnectInput(target_slot, output.type, output, this, slot) === false) {\n return null;\n }\n }\n if (this.onConnectOutput) {\n if (this.onConnectOutput(slot, input.type, input, target_node, target_slot) === false) {\n return null;\n }\n }\n if (target_node.inputs[target_slot] && target_node.inputs[target_slot].link != null) {\n this.graph.beforeChange();\n target_node.disconnectInput(target_slot, { doProcessChange: false });\n changed = true;\n }\n if (output.links !== null && output.links.length) {\n switch (output.type) {\n case LiteGraph.EVENT:\n if (!LiteGraph.allow_multi_output_for_events) {\n this.graph.beforeChange();\n this.disconnectOutput(slot, false, { doProcessChange: false });\n changed = true;\n }\n break;\n }\n }\n var nextId;\n if (LiteGraph.use_uuids)\n nextId = LiteGraph.uuidv4();\n else\n nextId = ++this.graph.last_link_id;\n link_info = new LLink(\n nextId,\n input.type || output.type,\n this.id,\n slot,\n target_node.id,\n target_slot\n );\n this.graph.links[link_info.id] = link_info;\n if (output.links == null) {\n output.links = [];\n }\n output.links.push(link_info.id);\n target_node.inputs[target_slot].link = link_info.id;\n if (this.graph) {\n this.graph._version++;\n }\n if (this.onConnectionsChange) {\n this.onConnectionsChange(\n LiteGraph.OUTPUT,\n slot,\n true,\n link_info,\n output\n );\n }\n if (target_node.onConnectionsChange) {\n target_node.onConnectionsChange(\n LiteGraph.INPUT,\n target_slot,\n true,\n link_info,\n input\n );\n }\n if (this.graph && this.graph.onNodeConnectionChange) {\n this.graph.onNodeConnectionChange(\n LiteGraph.INPUT,\n target_node,\n target_slot,\n this,\n slot\n );\n this.graph.onNodeConnectionChange(\n LiteGraph.OUTPUT,\n this,\n slot,\n target_node,\n target_slot\n );\n }\n this.setDirtyCanvas(false, true);\n this.graph.afterChange();\n this.graph.connectionChange(this, link_info);\n return link_info;\n }\n /**\n * disconnect one output to an specific node\n * @method disconnectOutput\n * @param {number_or_string} slot (could be the number of the slot or the string with the name of the slot)\n * @param {LGraphNode} target_node the target node to which this slot is connected [Optional, if not target_node is specified all nodes will be disconnected]\n * @return {boolean} if it was disconnected successfully\n */\n disconnectOutput(slot, target_node) {\n if (slot.constructor === String) {\n slot = this.findOutputSlot(slot);\n if (slot == -1) {\n if (LiteGraph.debug) {\n console.log(\"Connect: Error, no slot of name \" + slot);\n }\n return false;\n }\n } else if (!this.outputs || slot >= this.outputs.length) {\n if (LiteGraph.debug) {\n console.log(\"Connect: Error, slot number not found\");\n }\n return false;\n }\n var output = this.outputs[slot];\n if (!output || !output.links || output.links.length == 0) {\n return false;\n }\n if (target_node) {\n if (target_node.constructor === Number) {\n target_node = this.graph.getNodeById(target_node);\n }\n if (!target_node) {\n throw \"Target Node not found\";\n }\n for (var i2 = 0, l = output.links.length; i2 < l; i2++) {\n var link_id = output.links[i2];\n var link_info = this.graph.links[link_id];\n if (link_info.target_id == target_node.id) {\n output.links.splice(i2, 1);\n var input = target_node.inputs[link_info.target_slot];\n input.link = null;\n delete this.graph.links[link_id];\n if (this.graph) {\n this.graph._version++;\n }\n if (target_node.onConnectionsChange) {\n target_node.onConnectionsChange(\n LiteGraph.INPUT,\n link_info.target_slot,\n false,\n link_info,\n input\n );\n }\n if (this.onConnectionsChange) {\n this.onConnectionsChange(\n LiteGraph.OUTPUT,\n slot,\n false,\n link_info,\n output\n );\n }\n if (this.graph && this.graph.onNodeConnectionChange) {\n this.graph.onNodeConnectionChange(\n LiteGraph.OUTPUT,\n this,\n slot\n );\n }\n if (this.graph && this.graph.onNodeConnectionChange) {\n this.graph.onNodeConnectionChange(\n LiteGraph.OUTPUT,\n this,\n slot\n );\n this.graph.onNodeConnectionChange(\n LiteGraph.INPUT,\n target_node,\n link_info.target_slot\n );\n }\n break;\n }\n }\n } else {\n for (var i2 = 0, l = output.links.length; i2 < l; i2++) {\n var link_id = output.links[i2];\n var link_info = this.graph.links[link_id];\n if (!link_info) {\n continue;\n }\n var target_node = this.graph.getNodeById(link_info.target_id);\n var input = null;\n if (this.graph) {\n this.graph._version++;\n }\n if (target_node) {\n input = target_node.inputs[link_info.target_slot];\n input.link = null;\n if (target_node.onConnectionsChange) {\n target_node.onConnectionsChange(\n LiteGraph.INPUT,\n link_info.target_slot,\n false,\n link_info,\n input\n );\n }\n if (this.graph && this.graph.onNodeConnectionChange) {\n this.graph.onNodeConnectionChange(\n LiteGraph.INPUT,\n target_node,\n link_info.target_slot\n );\n }\n }\n delete this.graph.links[link_id];\n if (this.onConnectionsChange) {\n this.onConnectionsChange(\n LiteGraph.OUTPUT,\n slot,\n false,\n link_info,\n output\n );\n }\n if (this.graph && this.graph.onNodeConnectionChange) {\n this.graph.onNodeConnectionChange(\n LiteGraph.OUTPUT,\n this,\n slot\n );\n this.graph.onNodeConnectionChange(\n LiteGraph.INPUT,\n target_node,\n link_info.target_slot\n );\n }\n }\n output.links = null;\n }\n this.setDirtyCanvas(false, true);\n this.graph.connectionChange(this);\n return true;\n }\n /**\n * disconnect one input\n * @method disconnectInput\n * @param {number_or_string} slot (could be the number of the slot or the string with the name of the slot)\n * @return {boolean} if it was disconnected successfully\n */\n disconnectInput(slot) {\n if (slot.constructor === String) {\n slot = this.findInputSlot(slot);\n if (slot == -1) {\n if (LiteGraph.debug) {\n console.log(\"Connect: Error, no slot of name \" + slot);\n }\n return false;\n }\n } else if (!this.inputs || slot >= this.inputs.length) {\n if (LiteGraph.debug) {\n console.log(\"Connect: Error, slot number not found\");\n }\n return false;\n }\n var input = this.inputs[slot];\n if (!input) {\n return false;\n }\n var link_id = this.inputs[slot].link;\n if (link_id != null) {\n this.inputs[slot].link = null;\n var link_info = this.graph.links[link_id];\n if (link_info) {\n var target_node = this.graph.getNodeById(link_info.origin_id);\n if (!target_node) {\n return false;\n }\n var output = target_node.outputs[link_info.origin_slot];\n if (!output || !output.links || output.links.length == 0) {\n return false;\n }\n for (var i2 = 0, l = output.links.length; i2 < l; i2++) {\n if (output.links[i2] == link_id) {\n output.links.splice(i2, 1);\n break;\n }\n }\n delete this.graph.links[link_id];\n if (this.graph) {\n this.graph._version++;\n }\n if (this.onConnectionsChange) {\n this.onConnectionsChange(\n LiteGraph.INPUT,\n slot,\n false,\n link_info,\n input\n );\n }\n if (target_node.onConnectionsChange) {\n target_node.onConnectionsChange(\n LiteGraph.OUTPUT,\n i2,\n false,\n link_info,\n output\n );\n }\n if (this.graph && this.graph.onNodeConnectionChange) {\n this.graph.onNodeConnectionChange(\n LiteGraph.OUTPUT,\n target_node,\n i2\n );\n this.graph.onNodeConnectionChange(LiteGraph.INPUT, this, slot);\n }\n }\n }\n this.setDirtyCanvas(false, true);\n if (this.graph)\n this.graph.connectionChange(this);\n return true;\n }\n /**\n * returns the center of a connection point in canvas coords\n * @method getConnectionPos\n * @param {boolean} is_input true if if a input slot, false if it is an output\n * @param {number_or_string} slot (could be the number of the slot or the string with the name of the slot)\n * @param {vec2} out [optional] a place to store the output, to free garbage\n * @return {[x,y]} the position\n **/\n getConnectionPos(is_input, slot_number, out) {\n out = out || new Float32Array(2);\n var num_slots = 0;\n if (is_input && this.inputs) {\n num_slots = this.inputs.length;\n }\n if (!is_input && this.outputs) {\n num_slots = this.outputs.length;\n }\n var offset = LiteGraph.NODE_SLOT_HEIGHT * 0.5;\n if (this.flags.collapsed) {\n var w2 = this._collapsed_width || LiteGraph.NODE_COLLAPSED_WIDTH;\n if (this.horizontal) {\n out[0] = this.pos[0] + w2 * 0.5;\n if (is_input) {\n out[1] = this.pos[1] - LiteGraph.NODE_TITLE_HEIGHT;\n } else {\n out[1] = this.pos[1];\n }\n } else {\n if (is_input) {\n out[0] = this.pos[0];\n } else {\n out[0] = this.pos[0] + w2;\n }\n out[1] = this.pos[1] - LiteGraph.NODE_TITLE_HEIGHT * 0.5;\n }\n return out;\n }\n if (is_input && slot_number == -1) {\n out[0] = this.pos[0] + LiteGraph.NODE_TITLE_HEIGHT * 0.5;\n out[1] = this.pos[1] + LiteGraph.NODE_TITLE_HEIGHT * 0.5;\n return out;\n }\n if (is_input && num_slots > slot_number && this.inputs[slot_number].pos) {\n out[0] = this.pos[0] + this.inputs[slot_number].pos[0];\n out[1] = this.pos[1] + this.inputs[slot_number].pos[1];\n return out;\n } else if (!is_input && num_slots > slot_number && this.outputs[slot_number].pos) {\n out[0] = this.pos[0] + this.outputs[slot_number].pos[0];\n out[1] = this.pos[1] + this.outputs[slot_number].pos[1];\n return out;\n }\n if (this.horizontal) {\n out[0] = this.pos[0] + (slot_number + 0.5) * (this.size[0] / num_slots);\n if (is_input) {\n out[1] = this.pos[1] - LiteGraph.NODE_TITLE_HEIGHT;\n } else {\n out[1] = this.pos[1] + this.size[1];\n }\n return out;\n }\n if (is_input) {\n out[0] = this.pos[0] + offset;\n } else {\n out[0] = this.pos[0] + this.size[0] + 1 - offset;\n }\n out[1] = this.pos[1] + (slot_number + 0.7) * LiteGraph.NODE_SLOT_HEIGHT + (this.constructor.slot_start_y || 0);\n return out;\n }\n /* Force align to grid */\n alignToGrid() {\n this.pos[0] = LiteGraph.CANVAS_GRID_SIZE * Math.round(this.pos[0] / LiteGraph.CANVAS_GRID_SIZE);\n this.pos[1] = LiteGraph.CANVAS_GRID_SIZE * Math.round(this.pos[1] / LiteGraph.CANVAS_GRID_SIZE);\n }\n /* Console output */\n trace(msg) {\n if (!this.console) {\n this.console = [];\n }\n this.console.push(msg);\n if (this.console.length > LGraphNode.MAX_CONSOLE) {\n this.console.shift();\n }\n if (this.graph.onNodeTrace)\n this.graph.onNodeTrace(this, msg);\n }\n /* Forces to redraw or the main canvas (LGraphNode) or the bg canvas (links) */\n setDirtyCanvas(dirty_foreground, dirty_background) {\n if (!this.graph) {\n return;\n }\n this.graph.sendActionToCanvas(\"setDirty\", [\n dirty_foreground,\n dirty_background\n ]);\n }\n loadImage(url) {\n var img = new Image();\n img.src = LiteGraph.node_images_path + url;\n img.ready = false;\n var that2 = this;\n img.onload = function() {\n this.ready = true;\n that2.setDirtyCanvas(true);\n };\n return img;\n }\n //safe LGraphNode action execution (not sure if safe)\n /*\n LGraphNode.prototype.executeAction = function(action)\n {\n if(action == \"\") return false;\n \n if( action.indexOf(\";\") != -1 || action.indexOf(\"}\") != -1)\n {\n this.trace(\"Error: Action contains unsafe characters\");\n return false;\n }\n \n var tokens = action.split(\"(\");\n var func_name = tokens[0];\n if( typeof(this[func_name]) != \"function\")\n {\n this.trace(\"Error: Action not found on node: \" + func_name);\n return false;\n }\n \n var code = action;\n \n try\n {\n var _foo = eval;\n eval = null;\n (new Function(\"with(this) { \" + code + \"}\")).call(this);\n eval = _foo;\n }\n catch (err)\n {\n this.trace(\"Error executing action {\" + action + \"} :\" + err);\n return false;\n }\n \n return true;\n }\n */\n /* Allows to get onMouseMove and onMouseUp events even if the mouse is out of focus */\n captureInput(v2) {\n if (!this.graph || !this.graph.list_of_graphcanvas) {\n return;\n }\n var list = this.graph.list_of_graphcanvas;\n for (var i2 = 0; i2 < list.length; ++i2) {\n var c = list[i2];\n if (!v2 && c.node_capturing_input != this) {\n continue;\n }\n c.node_capturing_input = v2 ? this : null;\n }\n }\n /**\n * Collapse the node to make it smaller on the canvas\n * @method collapse\n **/\n collapse(force) {\n this.graph._version++;\n if (this.constructor.collapsable === false && !force) {\n return;\n }\n if (!this.flags.collapsed) {\n this.flags.collapsed = true;\n } else {\n this.flags.collapsed = false;\n }\n this.setDirtyCanvas(true, true);\n }\n /**\n * Forces the node to do not move or realign on Z\n * @method pin\n **/\n pin(v2) {\n this.graph._version++;\n if (v2 === void 0) {\n this.flags.pinned = !this.flags.pinned;\n } else {\n this.flags.pinned = v2;\n }\n }\n localToScreen(x2, y2, graphcanvas) {\n return [\n (x2 + this.pos[0]) * graphcanvas.scale + graphcanvas.offset[0],\n (y2 + this.pos[1]) * graphcanvas.scale + graphcanvas.offset[1]\n ];\n }\n }\n globalThis.LGraphNode = LiteGraph.LGraphNode = LGraphNode;\n class LGraphGroup {\n constructor(title) {\n this._ctor(title);\n }\n _ctor(title) {\n this.title = title || \"Group\";\n this.font_size = LiteGraph.DEFAULT_GROUP_FONT || 24;\n this.color = LGraphCanvas.node_colors.pale_blue ? LGraphCanvas.node_colors.pale_blue.groupcolor : \"#AAA\";\n this._bounding = new Float32Array([10, 10, 140, 80]);\n this._pos = this._bounding.subarray(0, 2);\n this._size = this._bounding.subarray(2, 4);\n this._nodes = [];\n this.graph = null;\n Object.defineProperty(this, \"pos\", {\n set: function(v2) {\n if (!v2 || v2.length < 2) {\n return;\n }\n this._pos[0] = v2[0];\n this._pos[1] = v2[1];\n },\n get: function() {\n return this._pos;\n },\n enumerable: true\n });\n Object.defineProperty(this, \"size\", {\n set: function(v2) {\n if (!v2 || v2.length < 2) {\n return;\n }\n this._size[0] = Math.max(140, v2[0]);\n this._size[1] = Math.max(80, v2[1]);\n },\n get: function() {\n return this._size;\n },\n enumerable: true\n });\n }\n configure(o) {\n this.title = o.title;\n this._bounding.set(o.bounding);\n this.color = o.color;\n if (o.font_size) {\n this.font_size = o.font_size;\n }\n }\n serialize() {\n var b = this._bounding;\n return {\n title: this.title,\n bounding: [\n Math.round(b[0]),\n Math.round(b[1]),\n Math.round(b[2]),\n Math.round(b[3])\n ],\n color: this.color,\n font_size: this.font_size\n };\n }\n move(deltax, deltay, ignore_nodes) {\n this._pos[0] += deltax;\n this._pos[1] += deltay;\n if (ignore_nodes) {\n return;\n }\n for (var i2 = 0; i2 < this._nodes.length; ++i2) {\n var node2 = this._nodes[i2];\n node2.pos[0] += deltax;\n node2.pos[1] += deltay;\n }\n }\n recomputeInsideNodes() {\n this._nodes.length = 0;\n var nodes = this.graph._nodes;\n var node_bounding = new Float32Array(4);\n for (var i2 = 0; i2 < nodes.length; ++i2) {\n var node2 = nodes[i2];\n node2.getBounding(node_bounding);\n if (!overlapBounding(this._bounding, node_bounding)) {\n continue;\n }\n this._nodes.push(node2);\n }\n }\n /**\n * Add nodes to the group and adjust the group's position and size accordingly\n * @param {LGraphNode[]} nodes - The nodes to add to the group\n * @param {number} [padding=10] - The padding around the group\n * @returns {void}\n */\n addNodes(nodes, padding = 10) {\n if (!this._nodes && nodes.length === 0) return;\n const allNodes = [...this._nodes || [], ...nodes];\n const bounds = allNodes.reduce((acc, node2) => {\n var _a;\n const [x2, y2] = node2.pos;\n const [width2, height] = node2.size;\n const isReroute = node2.type === \"Reroute\";\n const isCollapsed = (_a = node2.flags) == null ? void 0 : _a.collapsed;\n const top = y2 - (isReroute ? 0 : LiteGraph.NODE_TITLE_HEIGHT);\n const bottom = isCollapsed ? top + LiteGraph.NODE_TITLE_HEIGHT : y2 + height;\n const right = isCollapsed && node2._collapsed_width ? x2 + Math.round(node2._collapsed_width) : x2 + width2;\n return {\n left: Math.min(acc.left, x2),\n top: Math.min(acc.top, top),\n right: Math.max(acc.right, right),\n bottom: Math.max(acc.bottom, bottom)\n };\n }, { left: Infinity, top: Infinity, right: -Infinity, bottom: -Infinity });\n const groupTitleHeight = Math.round(this.font_size * 1.4);\n this.pos = [\n bounds.left - padding,\n bounds.top - padding - groupTitleHeight\n ];\n this.size = [\n bounds.right - bounds.left + padding * 2,\n bounds.bottom - bounds.top + padding * 2 + groupTitleHeight\n ];\n }\n }\n LGraphGroup.prototype.isPointInside = LGraphNode.prototype.isPointInside;\n LGraphGroup.prototype.setDirtyCanvas = LGraphNode.prototype.setDirtyCanvas;\n globalThis.LGraphGroup = LiteGraph.LGraphGroup = LGraphGroup;\n class DragAndScale {\n constructor(element, skip_events) {\n this.offset = new Float32Array([0, 0]);\n this.scale = 1;\n this.max_scale = 10;\n this.min_scale = 0.1;\n this.onredraw = null;\n this.enabled = true;\n this.last_mouse = [0, 0];\n this.element = null;\n this.visible_area = new Float32Array(4);\n if (element) {\n this.element = element;\n if (!skip_events) {\n this.bindEvents(element);\n }\n }\n }\n bindEvents(element) {\n this.last_mouse = new Float32Array(2);\n this._binded_mouse_callback = this.onMouse.bind(this);\n LiteGraph.pointerListenerAdd(element, \"down\", this._binded_mouse_callback);\n LiteGraph.pointerListenerAdd(element, \"move\", this._binded_mouse_callback);\n LiteGraph.pointerListenerAdd(element, \"up\", this._binded_mouse_callback);\n element.addEventListener(\n \"mousewheel\",\n this._binded_mouse_callback,\n false\n );\n element.addEventListener(\"wheel\", this._binded_mouse_callback, false);\n }\n computeVisibleArea(viewport) {\n if (!this.element) {\n this.visible_area[0] = this.visible_area[1] = this.visible_area[2] = this.visible_area[3] = 0;\n return;\n }\n var width2 = this.element.width;\n var height = this.element.height;\n var startx = -this.offset[0];\n var starty = -this.offset[1];\n if (viewport) {\n startx += viewport[0] / this.scale;\n starty += viewport[1] / this.scale;\n width2 = viewport[2];\n height = viewport[3];\n }\n var endx = startx + width2 / this.scale;\n var endy = starty + height / this.scale;\n this.visible_area[0] = startx;\n this.visible_area[1] = starty;\n this.visible_area[2] = endx - startx;\n this.visible_area[3] = endy - starty;\n }\n onMouse(e) {\n if (!this.enabled) {\n return;\n }\n var canvas = this.element;\n var rect = canvas.getBoundingClientRect();\n var x2 = e.clientX - rect.left;\n var y2 = e.clientY - rect.top;\n e.canvasx = x2;\n e.canvasy = y2;\n e.dragging = this.dragging;\n var is_inside = !this.viewport || this.viewport && x2 >= this.viewport[0] && x2 < this.viewport[0] + this.viewport[2] && y2 >= this.viewport[1] && y2 < this.viewport[1] + this.viewport[3];\n var ignore = false;\n if (this.onmouse) {\n ignore = this.onmouse(e);\n }\n if (e.type == LiteGraph.pointerevents_method + \"down\" && is_inside) {\n this.dragging = true;\n LiteGraph.pointerListenerRemove(canvas, \"move\", this._binded_mouse_callback);\n LiteGraph.pointerListenerAdd(document, \"move\", this._binded_mouse_callback);\n LiteGraph.pointerListenerAdd(document, \"up\", this._binded_mouse_callback);\n } else if (e.type == LiteGraph.pointerevents_method + \"move\") {\n if (!ignore) {\n var deltax = x2 - this.last_mouse[0];\n var deltay = y2 - this.last_mouse[1];\n if (this.dragging) {\n this.mouseDrag(deltax, deltay);\n }\n }\n } else if (e.type == LiteGraph.pointerevents_method + \"up\") {\n this.dragging = false;\n LiteGraph.pointerListenerRemove(document, \"move\", this._binded_mouse_callback);\n LiteGraph.pointerListenerRemove(document, \"up\", this._binded_mouse_callback);\n LiteGraph.pointerListenerAdd(canvas, \"move\", this._binded_mouse_callback);\n } else if (is_inside && (e.type == \"mousewheel\" || e.type == \"wheel\" || e.type == \"DOMMouseScroll\")) {\n e.eventType = \"mousewheel\";\n if (e.type == \"wheel\") {\n e.wheel = -e.deltaY;\n } else {\n e.wheel = e.wheelDeltaY != null ? e.wheelDeltaY : e.detail * -60;\n }\n e.delta = e.wheelDelta ? e.wheelDelta / 40 : e.deltaY ? -e.deltaY / 3 : 0;\n this.changeDeltaScale(1 + e.delta * 0.05);\n }\n this.last_mouse[0] = x2;\n this.last_mouse[1] = y2;\n if (is_inside) {\n e.preventDefault();\n e.stopPropagation();\n return false;\n }\n }\n toCanvasContext(ctx) {\n ctx.scale(this.scale, this.scale);\n ctx.translate(this.offset[0], this.offset[1]);\n }\n convertOffsetToCanvas(pos2) {\n return [\n (pos2[0] + this.offset[0]) * this.scale,\n (pos2[1] + this.offset[1]) * this.scale\n ];\n }\n convertCanvasToOffset(pos2, out) {\n out = out || [0, 0];\n out[0] = pos2[0] / this.scale - this.offset[0];\n out[1] = pos2[1] / this.scale - this.offset[1];\n return out;\n }\n mouseDrag(x2, y2) {\n this.offset[0] += x2 / this.scale;\n this.offset[1] += y2 / this.scale;\n if (this.onredraw) {\n this.onredraw(this);\n }\n }\n changeScale(value, zooming_center) {\n if (value < this.min_scale) {\n value = this.min_scale;\n } else if (value > this.max_scale) {\n value = this.max_scale;\n }\n if (value == this.scale) {\n return;\n }\n if (!this.element) {\n return;\n }\n var rect = this.element.getBoundingClientRect();\n if (!rect) {\n return;\n }\n zooming_center = zooming_center || [\n rect.width * 0.5,\n rect.height * 0.5\n ];\n var center = this.convertCanvasToOffset(zooming_center);\n this.scale = value;\n if (Math.abs(this.scale - 1) < 0.01) {\n this.scale = 1;\n }\n var new_center = this.convertCanvasToOffset(zooming_center);\n var delta_offset = [\n new_center[0] - center[0],\n new_center[1] - center[1]\n ];\n this.offset[0] += delta_offset[0];\n this.offset[1] += delta_offset[1];\n if (this.onredraw) {\n this.onredraw(this);\n }\n }\n changeDeltaScale(value, zooming_center) {\n this.changeScale(this.scale * value, zooming_center);\n }\n reset() {\n this.scale = 1;\n this.offset[0] = 0;\n this.offset[1] = 0;\n }\n }\n LiteGraph.DragAndScale = DragAndScale;\n const _LGraphCanvas = class _LGraphCanvas {\n constructor(canvas, graph, options) {\n this.options = options = options || {};\n this.background_image = _LGraphCanvas.DEFAULT_BACKGROUND_IMAGE;\n if (canvas && canvas.constructor === String) {\n canvas = document.querySelector(canvas);\n }\n this.ds = new DragAndScale();\n this.zoom_modify_alpha = true;\n this.zoom_speed = 1.1;\n this.title_text_font = \"\" + LiteGraph.NODE_TEXT_SIZE + \"px Arial\";\n this.inner_text_font = \"normal \" + LiteGraph.NODE_SUBTEXT_SIZE + \"px Arial\";\n this.node_title_color = LiteGraph.NODE_TITLE_COLOR;\n this.default_link_color = LiteGraph.LINK_COLOR;\n this.default_connection_color = {\n input_off: \"#778\",\n input_on: \"#7F7\",\n //\"#BBD\"\n output_off: \"#778\",\n output_on: \"#7F7\"\n //\"#BBD\"\n };\n this.default_connection_color_byType = {\n /*number: \"#7F7\",\n string: \"#77F\",\n boolean: \"#F77\",*/\n };\n this.default_connection_color_byTypeOff = {\n /*number: \"#474\",\n string: \"#447\",\n boolean: \"#744\",*/\n };\n this.highquality_render = true;\n this.use_gradients = false;\n this.editor_alpha = 1;\n this.pause_rendering = false;\n this.clear_background = true;\n this.clear_background_color = \"#222\";\n this.read_only = false;\n this.render_only_selected = true;\n this.live_mode = false;\n this.show_info = true;\n this.allow_dragcanvas = true;\n this.allow_dragnodes = true;\n this.allow_interaction = true;\n this.multi_select = false;\n this.allow_searchbox = true;\n this.allow_reconnect_links = true;\n this.align_to_grid = false;\n this.drag_mode = false;\n this.dragging_rectangle = null;\n this.filter = null;\n this.set_canvas_dirty_on_mouse_event = true;\n this.always_render_background = false;\n this.render_shadows = true;\n this.render_canvas_border = true;\n this.render_connections_shadows = false;\n this.render_connections_border = true;\n this.render_curved_connections = false;\n this.render_connection_arrows = false;\n this.render_collapsed_slots = true;\n this.render_execution_order = false;\n this.render_title_colored = true;\n this.render_link_tooltip = true;\n this.links_render_mode = LiteGraph.SPLINE_LINK;\n this.mouse = [0, 0];\n this.graph_mouse = [0, 0];\n this.canvas_mouse = this.graph_mouse;\n this.onSearchBox = null;\n this.onSearchBoxSelection = null;\n this.onMouse = null;\n this.onDrawBackground = null;\n this.onDrawForeground = null;\n this.onDrawOverlay = null;\n this.onDrawLinkTooltip = null;\n this.onNodeMoved = null;\n this.onSelectionChange = null;\n this.onConnectingChange = null;\n this.onBeforeChange = null;\n this.onAfterChange = null;\n this.connections_width = 3;\n this.round_radius = 8;\n this.current_node = null;\n this.node_widget = null;\n this.over_link_center = null;\n this.last_mouse_position = [0, 0];\n this.visible_area = this.ds.visible_area;\n this.visible_links = [];\n this.connecting_links = null;\n this.viewport = options.viewport || null;\n if (graph) {\n graph.attachCanvas(this);\n }\n this.setCanvas(canvas, options.skip_events);\n this.clear();\n if (!options.skip_render) {\n this.startRendering();\n }\n this.autoresize = options.autoresize;\n }\n static getFileExtension(url) {\n var question = url.indexOf(\"?\");\n if (question != -1) {\n url = url.substr(0, question);\n }\n var point = url.lastIndexOf(\".\");\n if (point == -1) {\n return \"\";\n }\n return url.substr(point + 1).toLowerCase();\n }\n /* this is an implementation for touch not in production and not ready\n */\n /*LGraphCanvas.prototype.touchHandler = function(event) {\n //alert(\"foo\");\n var touches = event.changedTouches,\n first = touches[0],\n type = \"\";\n \n switch (event.type) {\n case \"touchstart\":\n type = \"mousedown\";\n break;\n case \"touchmove\":\n type = \"mousemove\";\n break;\n case \"touchend\":\n type = \"mouseup\";\n break;\n default:\n return;\n }\n \n //initMouseEvent(type, canBubble, cancelable, view, clickCount,\n // screenX, screenY, clientX, clientY, ctrlKey,\n // altKey, shiftKey, metaKey, button, relatedTarget);\n \n // this is eventually a Dom object, get the LGraphCanvas back\n if(typeof this.getCanvasWindow == \"undefined\"){\n var window = this.lgraphcanvas.getCanvasWindow();\n }else{\n var window = this.getCanvasWindow();\n }\n \n var document = window.document;\n \n var simulatedEvent = document.createEvent(\"MouseEvent\");\n simulatedEvent.initMouseEvent(\n type,\n true,\n true,\n window,\n 1,\n first.screenX,\n first.screenY,\n first.clientX,\n first.clientY,\n false,\n false,\n false,\n false,\n 0, //left\n null\n );\n first.target.dispatchEvent(simulatedEvent);\n event.preventDefault();\n };*/\n /* CONTEXT MENU ********************/\n static onGroupAdd(info, entry, mouse_event) {\n var canvas = _LGraphCanvas.active_canvas;\n canvas.getCanvasWindow();\n var group = new LiteGraph.LGraphGroup();\n group.pos = canvas.convertEventToCanvasOffset(mouse_event);\n canvas.graph.add(group);\n }\n /**\n * Determines the furthest nodes in each direction\n * @param nodes {LGraphNode[]} the nodes to from which boundary nodes will be extracted\n * @return {{left: LGraphNode, top: LGraphNode, right: LGraphNode, bottom: LGraphNode}}\n */\n static getBoundaryNodes(nodes) {\n let top = null;\n let right = null;\n let bottom = null;\n let left = null;\n for (const nID in nodes) {\n const node2 = nodes[nID];\n const [x2, y2] = node2.pos;\n const [width2, height] = node2.size;\n if (top === null || y2 < top.pos[1]) {\n top = node2;\n }\n if (right === null || x2 + width2 > right.pos[0] + right.size[0]) {\n right = node2;\n }\n if (bottom === null || y2 + height > bottom.pos[1] + bottom.size[1]) {\n bottom = node2;\n }\n if (left === null || x2 < left.pos[0]) {\n left = node2;\n }\n }\n return {\n \"top\": top,\n \"right\": right,\n \"bottom\": bottom,\n \"left\": left\n };\n }\n /**\n *\n * @param {LGraphNode[]} nodes a list of nodes\n * @param {\"top\"|\"bottom\"|\"left\"|\"right\"} direction Direction to align the nodes\n * @param {LGraphNode?} align_to Node to align to (if null, align to the furthest node in the given direction)\n */\n static alignNodes(nodes, direction, align_to) {\n if (!nodes) {\n return;\n }\n const canvas = _LGraphCanvas.active_canvas;\n let boundaryNodes = [];\n if (align_to === void 0) {\n boundaryNodes = _LGraphCanvas.getBoundaryNodes(nodes);\n } else {\n boundaryNodes = {\n \"top\": align_to,\n \"right\": align_to,\n \"bottom\": align_to,\n \"left\": align_to\n };\n }\n for (const [_, node2] of Object.entries(canvas.selected_nodes)) {\n switch (direction) {\n case \"right\":\n node2.pos[0] = boundaryNodes[\"right\"].pos[0] + boundaryNodes[\"right\"].size[0] - node2.size[0];\n break;\n case \"left\":\n node2.pos[0] = boundaryNodes[\"left\"].pos[0];\n break;\n case \"top\":\n node2.pos[1] = boundaryNodes[\"top\"].pos[1];\n break;\n case \"bottom\":\n node2.pos[1] = boundaryNodes[\"bottom\"].pos[1] + boundaryNodes[\"bottom\"].size[1] - node2.size[1];\n break;\n }\n }\n canvas.dirty_canvas = true;\n canvas.dirty_bgcanvas = true;\n }\n static onNodeAlign(value, options, event2, prev_menu, node2) {\n new LiteGraph.ContextMenu([\"Top\", \"Bottom\", \"Left\", \"Right\"], {\n event: event2,\n callback: inner_clicked,\n parentMenu: prev_menu\n });\n function inner_clicked(value2) {\n _LGraphCanvas.alignNodes(_LGraphCanvas.active_canvas.selected_nodes, value2.toLowerCase(), node2);\n }\n }\n static onGroupAlign(value, options, event2, prev_menu) {\n new LiteGraph.ContextMenu([\"Top\", \"Bottom\", \"Left\", \"Right\"], {\n event: event2,\n callback: inner_clicked,\n parentMenu: prev_menu\n });\n function inner_clicked(value2) {\n _LGraphCanvas.alignNodes(_LGraphCanvas.active_canvas.selected_nodes, value2.toLowerCase());\n }\n }\n static onMenuAdd(node2, options, e, prev_menu, callback) {\n var canvas = _LGraphCanvas.active_canvas;\n var ref_window2 = canvas.getCanvasWindow();\n var graph = canvas.graph;\n if (!graph)\n return;\n function inner_onMenuAdded(base_category, prev_menu2) {\n var categories = LiteGraph.getNodeTypesCategories(canvas.filter || graph.filter).filter(function(category) {\n return category.startsWith(base_category);\n });\n var entries = [];\n categories.map(function(category) {\n if (!category)\n return;\n var base_category_regex = new RegExp(\"^(\" + base_category + \")\");\n var category_name = category.replace(base_category_regex, \"\").split(\"/\")[0];\n var category_path = base_category === \"\" ? category_name + \"/\" : base_category + category_name + \"/\";\n var name = category_name;\n if (name.indexOf(\"::\") != -1)\n name = name.split(\"::\")[1];\n var index2 = entries.findIndex(function(entry) {\n return entry.value === category_path;\n });\n if (index2 === -1) {\n entries.push({\n value: category_path,\n content: name,\n has_submenu: true,\n callback: function(value, event2, mouseEvent, contextMenu) {\n inner_onMenuAdded(value.value, contextMenu);\n }\n });\n }\n });\n var nodes = LiteGraph.getNodeTypesInCategory(base_category.slice(0, -1), canvas.filter || graph.filter);\n nodes.map(function(node3) {\n if (node3.skip_list)\n return;\n var entry = {\n value: node3.type,\n content: node3.title,\n has_submenu: false,\n callback: function(value, event2, mouseEvent, contextMenu) {\n var first_event = contextMenu.getFirstEvent();\n canvas.graph.beforeChange();\n var node4 = LiteGraph.createNode(value.value);\n if (node4) {\n node4.pos = canvas.convertEventToCanvasOffset(first_event);\n canvas.graph.add(node4);\n }\n if (callback)\n callback(node4);\n canvas.graph.afterChange();\n }\n };\n entries.push(entry);\n });\n new LiteGraph.ContextMenu(entries, { event: e, parentMenu: prev_menu2 }, ref_window2);\n }\n inner_onMenuAdded(\"\", prev_menu);\n return false;\n }\n static onMenuCollapseAll() {\n }\n static onMenuNodeEdit() {\n }\n static showMenuNodeOptionalInputs(v2, options, e, prev_menu, node2) {\n if (!node2) {\n return;\n }\n var that2 = this;\n var canvas = _LGraphCanvas.active_canvas;\n var ref_window2 = canvas.getCanvasWindow();\n var options = node2.optional_inputs;\n if (node2.onGetInputs) {\n options = node2.onGetInputs();\n }\n var entries = [];\n if (options) {\n for (var i2 = 0; i2 < options.length; i2++) {\n var entry = options[i2];\n if (!entry) {\n entries.push(null);\n continue;\n }\n var label = entry[0];\n if (!entry[2])\n entry[2] = {};\n if (entry[2].label) {\n label = entry[2].label;\n }\n entry[2].removable = true;\n var data = { content: label, value: entry };\n if (entry[1] == LiteGraph.ACTION) {\n data.className = \"event\";\n }\n entries.push(data);\n }\n }\n if (node2.onMenuNodeInputs) {\n var retEntries = node2.onMenuNodeInputs(entries);\n if (retEntries) entries = retEntries;\n }\n if (!entries.length) {\n console.log(\"no input entries\");\n return;\n }\n new LiteGraph.ContextMenu(\n entries,\n {\n event: e,\n callback: inner_clicked,\n parentMenu: prev_menu,\n node: node2\n },\n ref_window2\n );\n function inner_clicked(v3, e2, prev) {\n if (!node2) {\n return;\n }\n if (v3.callback) {\n v3.callback.call(that2, node2, v3, e2, prev);\n }\n if (v3.value) {\n node2.graph.beforeChange();\n node2.addInput(v3.value[0], v3.value[1], v3.value[2]);\n if (node2.onNodeInputAdd) {\n node2.onNodeInputAdd(v3.value);\n }\n node2.setDirtyCanvas(true, true);\n node2.graph.afterChange();\n }\n }\n return false;\n }\n static showMenuNodeOptionalOutputs(v2, options, e, prev_menu, node2) {\n if (!node2) {\n return;\n }\n var that2 = this;\n var canvas = _LGraphCanvas.active_canvas;\n var ref_window2 = canvas.getCanvasWindow();\n var options = node2.optional_outputs;\n if (node2.onGetOutputs) {\n options = node2.onGetOutputs();\n }\n var entries = [];\n if (options) {\n for (var i2 = 0; i2 < options.length; i2++) {\n var entry = options[i2];\n if (!entry) {\n entries.push(null);\n continue;\n }\n if (node2.flags && node2.flags.skip_repeated_outputs && node2.findOutputSlot(entry[0]) != -1) {\n continue;\n }\n var label = entry[0];\n if (!entry[2])\n entry[2] = {};\n if (entry[2].label) {\n label = entry[2].label;\n }\n entry[2].removable = true;\n var data = { content: label, value: entry };\n if (entry[1] == LiteGraph.EVENT) {\n data.className = \"event\";\n }\n entries.push(data);\n }\n }\n if (this.onMenuNodeOutputs) {\n entries = this.onMenuNodeOutputs(entries);\n }\n if (LiteGraph.do_add_triggers_slots) {\n if (node2.findOutputSlot(\"onExecuted\") == -1) {\n entries.push({ content: \"On Executed\", value: [\"onExecuted\", LiteGraph.EVENT, { nameLocked: true }], className: \"event\" });\n }\n }\n if (node2.onMenuNodeOutputs) {\n var retEntries = node2.onMenuNodeOutputs(entries);\n if (retEntries) entries = retEntries;\n }\n if (!entries.length) {\n return;\n }\n new LiteGraph.ContextMenu(\n entries,\n {\n event: e,\n callback: inner_clicked,\n parentMenu: prev_menu,\n node: node2\n },\n ref_window2\n );\n function inner_clicked(v3, e2, prev) {\n if (!node2) {\n return;\n }\n if (v3.callback) {\n v3.callback.call(that2, node2, v3, e2, prev);\n }\n if (!v3.value) {\n return;\n }\n var value = v3.value[1];\n if (value && (value.constructor === Object || value.constructor === Array)) {\n var entries2 = [];\n for (var i3 in value) {\n entries2.push({ content: i3, value: value[i3] });\n }\n new LiteGraph.ContextMenu(entries2, {\n event: e2,\n callback: inner_clicked,\n parentMenu: prev_menu,\n node: node2\n });\n return false;\n } else {\n node2.graph.beforeChange();\n node2.addOutput(v3.value[0], v3.value[1], v3.value[2]);\n if (node2.onNodeOutputAdd) {\n node2.onNodeOutputAdd(v3.value);\n }\n node2.setDirtyCanvas(true, true);\n node2.graph.afterChange();\n }\n }\n return false;\n }\n static onShowMenuNodeProperties(value, options, e, prev_menu, node2) {\n if (!node2 || !node2.properties) {\n return;\n }\n var canvas = _LGraphCanvas.active_canvas;\n var ref_window2 = canvas.getCanvasWindow();\n var entries = [];\n for (var i2 in node2.properties) {\n var value = node2.properties[i2] !== void 0 ? node2.properties[i2] : \" \";\n if (typeof value == \"object\")\n value = JSON.stringify(value);\n var info = node2.getPropertyInfo(i2);\n if (info.type == \"enum\" || info.type == \"combo\")\n value = _LGraphCanvas.getPropertyPrintableValue(value, info.values);\n value = _LGraphCanvas.decodeHTML(value);\n entries.push({\n content: \"\" + (info.label ? info.label : i2) + \"\" + value + \"\",\n value: i2\n });\n }\n if (!entries.length) {\n return;\n }\n new LiteGraph.ContextMenu(\n entries,\n {\n event: e,\n callback: inner_clicked,\n parentMenu: prev_menu,\n allow_html: true,\n node: node2\n },\n ref_window2\n );\n function inner_clicked(v2, options2, e2, prev) {\n if (!node2) {\n return;\n }\n var rect = this.getBoundingClientRect();\n canvas.showEditPropertyValue(node2, v2.value, {\n position: [rect.left, rect.top]\n });\n }\n return false;\n }\n static decodeHTML(str) {\n var e = document.createElement(\"div\");\n e.innerText = str;\n return e.innerHTML;\n }\n static onMenuResizeNode(value, options, e, menu, node2) {\n if (!node2) {\n return;\n }\n var fApplyMultiNode = function(node3) {\n node3.size = node3.computeSize();\n if (node3.onResize)\n node3.onResize(node3.size);\n };\n var graphcanvas = _LGraphCanvas.active_canvas;\n if (!graphcanvas.selected_nodes || Object.keys(graphcanvas.selected_nodes).length <= 1) {\n fApplyMultiNode(node2);\n } else {\n for (var i2 in graphcanvas.selected_nodes) {\n fApplyMultiNode(graphcanvas.selected_nodes[i2]);\n }\n }\n node2.setDirtyCanvas(true, true);\n }\n // TODO refactor :: this is used fot title but not for properties!\n static onShowPropertyEditor(item, options, e, menu, node2) {\n var property = item.property || \"title\";\n var value = node2[property];\n var dialog = document.createElement(\"div\");\n dialog.is_modified = false;\n dialog.className = \"graphdialog\";\n dialog.innerHTML = \"\";\n dialog.close = function() {\n if (dialog.parentNode) {\n dialog.parentNode.removeChild(dialog);\n }\n };\n var title = dialog.querySelector(\".name\");\n title.innerText = property;\n var input = dialog.querySelector(\".value\");\n if (input) {\n input.value = value;\n input.addEventListener(\"blur\", function(e2) {\n this.focus();\n });\n input.addEventListener(\"keydown\", function(e2) {\n dialog.is_modified = true;\n if (e2.keyCode == 27) {\n dialog.close();\n } else if (e2.keyCode == 13) {\n inner();\n } else if (e2.keyCode != 13 && e2.target.localName != \"textarea\") {\n return;\n }\n e2.preventDefault();\n e2.stopPropagation();\n });\n }\n var graphcanvas = _LGraphCanvas.active_canvas;\n var canvas = graphcanvas.canvas;\n var rect = canvas.getBoundingClientRect();\n var offsetx = -20;\n var offsety = -20;\n if (rect) {\n offsetx -= rect.left;\n offsety -= rect.top;\n }\n if (event) {\n dialog.style.left = event.clientX + offsetx + \"px\";\n dialog.style.top = event.clientY + offsety + \"px\";\n } else {\n dialog.style.left = canvas.width * 0.5 + offsetx + \"px\";\n dialog.style.top = canvas.height * 0.5 + offsety + \"px\";\n }\n var button = dialog.querySelector(\"button\");\n button.addEventListener(\"click\", inner);\n canvas.parentNode.appendChild(dialog);\n if (input) input.focus();\n var dialogCloseTimer = null;\n dialog.addEventListener(\"mouseleave\", function(e2) {\n if (LiteGraph.dialog_close_on_mouse_leave) {\n if (!dialog.is_modified && LiteGraph.dialog_close_on_mouse_leave)\n dialogCloseTimer = setTimeout(dialog.close, LiteGraph.dialog_close_on_mouse_leave_delay);\n }\n });\n dialog.addEventListener(\"mouseenter\", function(e2) {\n if (LiteGraph.dialog_close_on_mouse_leave) {\n if (dialogCloseTimer) clearTimeout(dialogCloseTimer);\n }\n });\n function inner() {\n if (input) setValue(input.value);\n }\n function setValue(value2) {\n if (item.type == \"Number\") {\n value2 = Number(value2);\n } else if (item.type == \"Boolean\") {\n value2 = Boolean(value2);\n }\n node2[property] = value2;\n if (dialog.parentNode) {\n dialog.parentNode.removeChild(dialog);\n }\n node2.setDirtyCanvas(true, true);\n }\n }\n static getPropertyPrintableValue(value, values2) {\n if (!values2)\n return String(value);\n if (values2.constructor === Array) {\n return String(value);\n }\n if (values2.constructor === Object) {\n var desc_value = \"\";\n for (var k in values2) {\n if (values2[k] != value)\n continue;\n desc_value = k;\n break;\n }\n return String(value) + \" (\" + desc_value + \")\";\n }\n }\n static onMenuNodeCollapse(value, options, e, menu, node2) {\n node2.graph.beforeChange(\n /*?*/\n );\n var fApplyMultiNode = function(node3) {\n node3.collapse();\n };\n var graphcanvas = _LGraphCanvas.active_canvas;\n if (!graphcanvas.selected_nodes || Object.keys(graphcanvas.selected_nodes).length <= 1) {\n fApplyMultiNode(node2);\n } else {\n for (var i2 in graphcanvas.selected_nodes) {\n fApplyMultiNode(graphcanvas.selected_nodes[i2]);\n }\n }\n node2.graph.afterChange(\n /*?*/\n );\n }\n static onMenuNodePin(value, options, e, menu, node2) {\n node2.pin();\n }\n static onMenuNodeMode(value, options, e, menu, node2) {\n new LiteGraph.ContextMenu(\n LiteGraph.NODE_MODES,\n { event: e, callback: inner_clicked, parentMenu: menu, node: node2 }\n );\n function inner_clicked(v2) {\n if (!node2) {\n return;\n }\n var kV = Object.values(LiteGraph.NODE_MODES).indexOf(v2);\n var fApplyMultiNode = function(node3) {\n if (kV >= 0 && LiteGraph.NODE_MODES[kV])\n node3.changeMode(kV);\n else {\n console.warn(\"unexpected mode: \" + v2);\n node3.changeMode(LiteGraph.ALWAYS);\n }\n };\n var graphcanvas = _LGraphCanvas.active_canvas;\n if (!graphcanvas.selected_nodes || Object.keys(graphcanvas.selected_nodes).length <= 1) {\n fApplyMultiNode(node2);\n } else {\n for (var i2 in graphcanvas.selected_nodes) {\n fApplyMultiNode(graphcanvas.selected_nodes[i2]);\n }\n }\n }\n return false;\n }\n static onMenuNodeColors(value, options, e, menu, node2) {\n if (!node2) {\n throw \"no node for color\";\n }\n var values2 = [];\n values2.push({\n value: null,\n content: \"No color\"\n });\n for (var i2 in _LGraphCanvas.node_colors) {\n var color = _LGraphCanvas.node_colors[i2];\n var value = {\n value: i2,\n content: \"\" + i2 + \"\"\n };\n values2.push(value);\n }\n new LiteGraph.ContextMenu(values2, {\n event: e,\n callback: inner_clicked,\n parentMenu: menu,\n node: node2\n });\n function inner_clicked(v2) {\n if (!node2) {\n return;\n }\n var color2 = v2.value ? _LGraphCanvas.node_colors[v2.value] : null;\n var fApplyColor = function(node3) {\n if (color2) {\n if (node3.constructor === LiteGraph.LGraphGroup) {\n node3.color = color2.groupcolor;\n } else {\n node3.color = color2.color;\n node3.bgcolor = color2.bgcolor;\n }\n } else {\n delete node3.color;\n delete node3.bgcolor;\n }\n };\n var graphcanvas = _LGraphCanvas.active_canvas;\n if (!graphcanvas.selected_nodes || Object.keys(graphcanvas.selected_nodes).length <= 1) {\n fApplyColor(node2);\n } else {\n for (var i3 in graphcanvas.selected_nodes) {\n fApplyColor(graphcanvas.selected_nodes[i3]);\n }\n }\n node2.setDirtyCanvas(true, true);\n }\n return false;\n }\n static onMenuNodeShapes(value, options, e, menu, node2) {\n if (!node2) {\n throw \"no node passed\";\n }\n new LiteGraph.ContextMenu(LiteGraph.VALID_SHAPES, {\n event: e,\n callback: inner_clicked,\n parentMenu: menu,\n node: node2\n });\n function inner_clicked(v2) {\n if (!node2) {\n return;\n }\n node2.graph.beforeChange(\n /*?*/\n );\n var fApplyMultiNode = function(node3) {\n node3.shape = v2;\n };\n var graphcanvas = _LGraphCanvas.active_canvas;\n if (!graphcanvas.selected_nodes || Object.keys(graphcanvas.selected_nodes).length <= 1) {\n fApplyMultiNode(node2);\n } else {\n for (var i2 in graphcanvas.selected_nodes) {\n fApplyMultiNode(graphcanvas.selected_nodes[i2]);\n }\n }\n node2.graph.afterChange(\n /*?*/\n );\n node2.setDirtyCanvas(true);\n }\n return false;\n }\n static onMenuNodeRemove(value, options, e, menu, node2) {\n if (!node2) {\n throw \"no node passed\";\n }\n var graph = node2.graph;\n graph.beforeChange();\n var fApplyMultiNode = function(node3) {\n if (node3.removable === false) {\n return;\n }\n graph.remove(node3);\n };\n var graphcanvas = _LGraphCanvas.active_canvas;\n if (!graphcanvas.selected_nodes || Object.keys(graphcanvas.selected_nodes).length <= 1) {\n fApplyMultiNode(node2);\n } else {\n for (var i2 in graphcanvas.selected_nodes) {\n fApplyMultiNode(graphcanvas.selected_nodes[i2]);\n }\n }\n graph.afterChange();\n node2.setDirtyCanvas(true, true);\n }\n static onMenuNodeToSubgraph(value, options, e, menu, node2) {\n var graph = node2.graph;\n var graphcanvas = _LGraphCanvas.active_canvas;\n if (!graphcanvas)\n return;\n var nodes_list = Object.values(graphcanvas.selected_nodes || {});\n if (!nodes_list.length)\n nodes_list = [node2];\n var subgraph_node = LiteGraph.createNode(\"graph/subgraph\");\n subgraph_node.pos = node2.pos.concat();\n graph.add(subgraph_node);\n subgraph_node.buildFromNodes(nodes_list);\n graphcanvas.deselectAllNodes();\n node2.setDirtyCanvas(true, true);\n }\n static onMenuNodeClone(value, options, e, menu, node2) {\n node2.graph.beforeChange();\n var newSelected = {};\n var fApplyMultiNode = function(node3) {\n if (node3.clonable === false) {\n return;\n }\n var newnode = node3.clone();\n if (!newnode) {\n return;\n }\n newnode.pos = [node3.pos[0] + 5, node3.pos[1] + 5];\n node3.graph.add(newnode);\n newSelected[newnode.id] = newnode;\n };\n var graphcanvas = _LGraphCanvas.active_canvas;\n if (!graphcanvas.selected_nodes || Object.keys(graphcanvas.selected_nodes).length <= 1) {\n fApplyMultiNode(node2);\n } else {\n for (var i2 in graphcanvas.selected_nodes) {\n fApplyMultiNode(graphcanvas.selected_nodes[i2]);\n }\n }\n if (Object.keys(newSelected).length) {\n graphcanvas.selectNodes(newSelected);\n }\n node2.graph.afterChange();\n node2.setDirtyCanvas(true, true);\n }\n /**\n * clears all the data inside\n *\n * @method clear\n */\n clear() {\n this.frame = 0;\n this.last_draw_time = 0;\n this.render_time = 0;\n this.fps = 0;\n this.dragging_rectangle = null;\n this.selected_nodes = {};\n this.selected_group = null;\n this.visible_nodes = [];\n this.node_dragged = null;\n this.node_over = null;\n this.node_capturing_input = null;\n this.connecting_links = null;\n this.highlighted_links = {};\n this.dragging_canvas = false;\n this.dirty_canvas = true;\n this.dirty_bgcanvas = true;\n this.dirty_area = null;\n this.node_in_panel = null;\n this.node_widget = null;\n this.last_mouse = [0, 0];\n this.last_mouseclick = 0;\n this.pointer_is_down = false;\n this.pointer_is_double = false;\n this.visible_area.set([0, 0, 0, 0]);\n if (this.onClear) {\n this.onClear();\n }\n }\n /**\n * assigns a graph, you can reassign graphs to the same canvas\n *\n * @method setGraph\n * @param {LGraph} graph\n */\n setGraph(graph, skip_clear) {\n if (this.graph == graph) {\n return;\n }\n if (!skip_clear) {\n this.clear();\n }\n if (!graph && this.graph) {\n this.graph.detachCanvas(this);\n return;\n }\n graph.attachCanvas(this);\n if (this._graph_stack)\n this._graph_stack = null;\n this.setDirty(true, true);\n }\n /**\n * returns the top level graph (in case there are subgraphs open on the canvas)\n *\n * @method getTopGraph\n * @return {LGraph} graph\n */\n getTopGraph() {\n if (this._graph_stack.length)\n return this._graph_stack[0];\n return this.graph;\n }\n /**\n * opens a graph contained inside a node in the current graph\n *\n * @method openSubgraph\n * @param {LGraph} graph\n */\n openSubgraph(graph) {\n if (!graph) {\n throw \"graph cannot be null\";\n }\n if (this.graph == graph) {\n throw \"graph cannot be the same\";\n }\n this.clear();\n if (this.graph) {\n if (!this._graph_stack) {\n this._graph_stack = [];\n }\n this._graph_stack.push(this.graph);\n }\n graph.attachCanvas(this);\n this.checkPanels();\n this.setDirty(true, true);\n }\n /**\n * closes a subgraph contained inside a node\n *\n * @method closeSubgraph\n * @param {LGraph} assigns a graph\n */\n closeSubgraph() {\n if (!this._graph_stack || this._graph_stack.length == 0) {\n return;\n }\n var subgraph_node = this.graph._subgraph_node;\n var graph = this._graph_stack.pop();\n this.selected_nodes = {};\n this.highlighted_links = {};\n graph.attachCanvas(this);\n this.setDirty(true, true);\n if (subgraph_node) {\n this.centerOnNode(subgraph_node);\n this.selectNodes([subgraph_node]);\n }\n this.ds.offset = [0, 0];\n this.ds.scale = 1;\n }\n /**\n * returns the visually active graph (in case there are more in the stack)\n * @method getCurrentGraph\n * @return {LGraph} the active graph\n */\n getCurrentGraph() {\n return this.graph;\n }\n /**\n * assigns a canvas\n *\n * @method setCanvas\n * @param {Canvas} assigns a canvas (also accepts the ID of the element (not a selector)\n */\n setCanvas(canvas, skip_events) {\n if (canvas) {\n if (canvas.constructor === String) {\n canvas = document.getElementById(canvas);\n if (!canvas) {\n throw \"Error creating LiteGraph canvas: Canvas not found\";\n }\n }\n }\n if (canvas === this.canvas) {\n return;\n }\n if (!canvas && this.canvas) {\n if (!skip_events) {\n this.unbindEvents();\n }\n }\n this.canvas = canvas;\n this.ds.element = canvas;\n if (!canvas) {\n return;\n }\n canvas.className += \" lgraphcanvas\";\n canvas.data = this;\n canvas.tabindex = \"1\";\n this.bgcanvas = null;\n if (!this.bgcanvas) {\n this.bgcanvas = document.createElement(\"canvas\");\n this.bgcanvas.width = this.canvas.width;\n this.bgcanvas.height = this.canvas.height;\n }\n if (canvas.getContext == null) {\n if (canvas.localName != \"canvas\") {\n throw \"Element supplied for LGraphCanvas must be a element, you passed a \" + canvas.localName;\n }\n throw \"This browser doesn't support Canvas\";\n }\n var ctx = this.ctx = canvas.getContext(\"2d\");\n if (ctx == null) {\n if (!canvas.webgl_enabled) {\n console.warn(\n \"This canvas seems to be WebGL, enabling WebGL renderer\"\n );\n }\n this.enableWebGL();\n }\n if (!skip_events) {\n this.bindEvents();\n }\n }\n //used in some events to capture them\n _doNothing(e) {\n e.preventDefault();\n return false;\n }\n _doReturnTrue(e) {\n e.preventDefault();\n return true;\n }\n /**\n * binds mouse, keyboard, touch and drag events to the canvas\n * @method bindEvents\n **/\n bindEvents() {\n if (this._events_binded) {\n console.warn(\"LGraphCanvas: events already binded\");\n return;\n }\n var canvas = this.canvas;\n var ref_window2 = this.getCanvasWindow();\n var document2 = ref_window2.document;\n this._mousedown_callback = this.processMouseDown.bind(this);\n this._mousewheel_callback = this.processMouseWheel.bind(this);\n this._mousemove_callback = this.processMouseMove.bind(this);\n this._mouseup_callback = this.processMouseUp.bind(this);\n LiteGraph.pointerListenerAdd(canvas, \"down\", this._mousedown_callback, true);\n canvas.addEventListener(\"mousewheel\", this._mousewheel_callback, false);\n LiteGraph.pointerListenerAdd(canvas, \"up\", this._mouseup_callback, true);\n LiteGraph.pointerListenerAdd(canvas, \"move\", this._mousemove_callback);\n canvas.addEventListener(\"contextmenu\", this._doNothing);\n canvas.addEventListener(\n \"DOMMouseScroll\",\n this._mousewheel_callback,\n false\n );\n this._key_callback = this.processKey.bind(this);\n canvas.addEventListener(\"keydown\", this._key_callback, true);\n document2.addEventListener(\"keyup\", this._key_callback, true);\n this._ondrop_callback = this.processDrop.bind(this);\n canvas.addEventListener(\"dragover\", this._doNothing, false);\n canvas.addEventListener(\"dragend\", this._doNothing, false);\n canvas.addEventListener(\"drop\", this._ondrop_callback, false);\n canvas.addEventListener(\"dragenter\", this._doReturnTrue, false);\n this._events_binded = true;\n }\n /**\n * unbinds mouse events from the canvas\n * @method unbindEvents\n **/\n unbindEvents() {\n if (!this._events_binded) {\n console.warn(\"LGraphCanvas: no events binded\");\n return;\n }\n var ref_window2 = this.getCanvasWindow();\n var document2 = ref_window2.document;\n LiteGraph.pointerListenerRemove(this.canvas, \"move\", this._mousemove_callback);\n LiteGraph.pointerListenerRemove(this.canvas, \"up\", this._mouseup_callback);\n LiteGraph.pointerListenerRemove(this.canvas, \"down\", this._mousedown_callback);\n this.canvas.removeEventListener(\n \"mousewheel\",\n this._mousewheel_callback\n );\n this.canvas.removeEventListener(\n \"DOMMouseScroll\",\n this._mousewheel_callback\n );\n this.canvas.removeEventListener(\"keydown\", this._key_callback);\n document2.removeEventListener(\"keyup\", this._key_callback);\n this.canvas.removeEventListener(\"contextmenu\", this._doNothing);\n this.canvas.removeEventListener(\"drop\", this._ondrop_callback);\n this.canvas.removeEventListener(\"dragenter\", this._doReturnTrue);\n this._mousedown_callback = null;\n this._mousewheel_callback = null;\n this._key_callback = null;\n this._ondrop_callback = null;\n this._events_binded = false;\n }\n /**\n * this function allows to render the canvas using WebGL instead of Canvas2D\n * this is useful if you plant to render 3D objects inside your nodes, it uses litegl.js for webgl and canvas2DtoWebGL to emulate the Canvas2D calls in webGL\n * @method enableWebGL\n **/\n enableWebGL() {\n if (typeof GL === \"undefined\") {\n throw \"litegl.js must be included to use a WebGL canvas\";\n }\n if (typeof enableWebGLCanvas === \"undefined\") {\n throw \"webglCanvas.js must be included to use this feature\";\n }\n this.gl = this.ctx = enableWebGLCanvas(this.canvas);\n this.ctx.webgl = true;\n this.bgcanvas = this.canvas;\n this.bgctx = this.gl;\n this.canvas.webgl_enabled = true;\n }\n /**\n * marks as dirty the canvas, this way it will be rendered again\n *\n * @class LGraphCanvas\n * @method setDirty\n * @param {bool} fgcanvas if the foreground canvas is dirty (the one containing the nodes)\n * @param {bool} bgcanvas if the background canvas is dirty (the one containing the wires)\n */\n setDirty(fgcanvas, bgcanvas) {\n if (fgcanvas) {\n this.dirty_canvas = true;\n }\n if (bgcanvas) {\n this.dirty_bgcanvas = true;\n }\n }\n /**\n * Used to attach the canvas in a popup\n *\n * @method getCanvasWindow\n * @return {window} returns the window where the canvas is attached (the DOM root node)\n */\n getCanvasWindow() {\n if (!this.canvas) {\n return window;\n }\n var doc = this.canvas.ownerDocument;\n return doc.defaultView || doc.parentWindow;\n }\n /**\n * starts rendering the content of the canvas when needed\n *\n * @method startRendering\n */\n startRendering() {\n if (this.is_rendering) {\n return;\n }\n this.is_rendering = true;\n renderFrame.call(this);\n function renderFrame() {\n if (!this.pause_rendering) {\n this.draw();\n }\n var window2 = this.getCanvasWindow();\n if (this.is_rendering) {\n window2.requestAnimationFrame(renderFrame.bind(this));\n }\n }\n }\n /**\n * stops rendering the content of the canvas (to save resources)\n *\n * @method stopRendering\n */\n stopRendering() {\n this.is_rendering = false;\n }\n /* LiteGraphCanvas input */\n //used to block future mouse events (because of im gui)\n blockClick() {\n this.block_click = true;\n this.last_mouseclick = 0;\n }\n processMouseDown(e) {\n var _a;\n if (this.set_canvas_dirty_on_mouse_event)\n this.dirty_canvas = true;\n if (!this.graph) {\n return;\n }\n this.adjustMouseEvent(e);\n var ref_window2 = this.getCanvasWindow();\n ref_window2.document;\n _LGraphCanvas.active_canvas = this;\n var that2 = this;\n var x2 = e.clientX;\n var y2 = e.clientY;\n this.ds.viewport = this.viewport;\n var is_inside = !this.viewport || this.viewport && x2 >= this.viewport[0] && x2 < this.viewport[0] + this.viewport[2] && y2 >= this.viewport[1] && y2 < this.viewport[1] + this.viewport[3];\n if (!this.options.skip_events) {\n LiteGraph.pointerListenerRemove(this.canvas, \"move\", this._mousemove_callback);\n LiteGraph.pointerListenerAdd(ref_window2.document, \"move\", this._mousemove_callback, true);\n LiteGraph.pointerListenerAdd(ref_window2.document, \"up\", this._mouseup_callback, true);\n }\n if (!is_inside) {\n return;\n }\n var node2 = this.graph.getNodeOnPos(e.canvasX, e.canvasY, this.visible_nodes, 5);\n var skip_action = false;\n var now = LiteGraph.getTime();\n var is_primary = e.isPrimary === void 0 || !e.isPrimary;\n var is_double_click = now - this.last_mouseclick < 300;\n this.mouse[0] = e.clientX;\n this.mouse[1] = e.clientY;\n this.graph_mouse[0] = e.canvasX;\n this.graph_mouse[1] = e.canvasY;\n this.last_click_position = [this.mouse[0], this.mouse[1]];\n if (this.pointer_is_down && is_primary) {\n this.pointer_is_double = true;\n } else {\n this.pointer_is_double = false;\n }\n this.pointer_is_down = true;\n this.canvas.focus();\n LiteGraph.closeAllContextMenus(ref_window2);\n if (this.onMouse) {\n if (this.onMouse(e) == true)\n return;\n }\n if (e.which == 1 && !this.pointer_is_double) {\n if (e.ctrlKey && !e.altKey) {\n this.dragging_rectangle = new Float32Array(4);\n this.dragging_rectangle[0] = e.canvasX;\n this.dragging_rectangle[1] = e.canvasY;\n this.dragging_rectangle[2] = 1;\n this.dragging_rectangle[3] = 1;\n skip_action = true;\n }\n if (LiteGraph.alt_drag_do_clone_nodes && e.altKey && !e.ctrlKey && node2 && this.allow_interaction && !skip_action && !this.read_only) {\n const cloned = node2.clone();\n if (cloned) {\n cloned.pos[0] += 5;\n cloned.pos[1] += 5;\n this.graph.add(cloned, false, { doCalcSize: false });\n node2 = cloned;\n skip_action = true;\n if (!block_drag_node) {\n if (this.allow_dragnodes) {\n this.graph.beforeChange();\n this.node_dragged = node2;\n }\n if (!this.selected_nodes[node2.id]) {\n this.processNodeSelected(node2, e);\n }\n }\n }\n }\n var clicking_canvas_bg = false;\n if (node2 && (this.allow_interaction || node2.flags.allow_interaction) && !skip_action && !this.read_only) {\n if (!this.live_mode && !node2.flags.pinned) {\n this.bringToFront(node2);\n }\n if (this.allow_interaction && !this.connecting_links && !node2.flags.collapsed && !this.live_mode) {\n if (!skip_action && node2.resizable !== false && node2.inResizeCorner(e.canvasX, e.canvasY)) {\n this.graph.beforeChange();\n this.resizing_node = node2;\n this.canvas.style.cursor = \"se-resize\";\n skip_action = true;\n } else {\n if (node2.outputs) {\n for (var i2 = 0, l = node2.outputs.length; i2 < l; ++i2) {\n var output = node2.outputs[i2];\n var link_pos = node2.getConnectionPos(false, i2);\n if (isInsideRectangle(\n e.canvasX,\n e.canvasY,\n link_pos[0] - 15,\n link_pos[1] - 10,\n 30,\n 20\n )) {\n if (e.shiftKey) {\n if (((_a = output.links) == null ? void 0 : _a.length) > 0) {\n this.connecting_links = [];\n for (const linkId of output.links) {\n const link2 = this.graph.links[linkId];\n const slot = link2.target_slot;\n const linked_node = this.graph._nodes_by_id[link2.target_id];\n const input2 = linked_node.inputs[slot];\n const pos3 = linked_node.getConnectionPos(true, slot);\n this.connecting_links.push({\n node: linked_node,\n slot,\n input: input2,\n output: null,\n pos: pos3\n });\n }\n skip_action = true;\n break;\n }\n }\n output.slot_index = i2;\n this.connecting_links = [\n {\n node: node2,\n slot: i2,\n input: null,\n output,\n pos: link_pos\n }\n ];\n if (LiteGraph.shift_click_do_break_link_from) {\n if (e.shiftKey) {\n node2.disconnectOutput(i2);\n }\n } else if (LiteGraph.ctrl_alt_click_do_break_link) {\n if (e.ctrlKey && e.altKey && !e.shiftKey) {\n node2.disconnectOutput(i2);\n }\n }\n if (is_double_click) {\n if (node2.onOutputDblClick) {\n node2.onOutputDblClick(i2, e);\n }\n } else {\n if (node2.onOutputClick) {\n node2.onOutputClick(i2, e);\n }\n }\n skip_action = true;\n break;\n }\n }\n }\n if (node2.inputs) {\n for (var i2 = 0, l = node2.inputs.length; i2 < l; ++i2) {\n var input = node2.inputs[i2];\n var link_pos = node2.getConnectionPos(true, i2);\n if (isInsideRectangle(\n e.canvasX,\n e.canvasY,\n link_pos[0] - 15,\n link_pos[1] - 10,\n 30,\n 20\n )) {\n if (is_double_click) {\n if (node2.onInputDblClick) {\n node2.onInputDblClick(i2, e);\n }\n } else {\n if (node2.onInputClick) {\n node2.onInputClick(i2, e);\n }\n }\n if (input.link !== null) {\n var link_info = this.graph.links[input.link];\n if (LiteGraph.click_do_break_link_to || LiteGraph.ctrl_alt_click_do_break_link && e.ctrlKey && e.altKey && !e.shiftKey) {\n node2.disconnectInput(i2);\n } else if (this.allow_reconnect_links || //this.move_destination_link_without_shift ||\n e.shiftKey) {\n if (!LiteGraph.click_do_break_link_to) {\n node2.disconnectInput(i2);\n }\n const linked_node = this.graph._nodes_by_id[link_info.origin_id];\n const slot = link_info.origin_slot;\n this.connecting_links = [\n {\n node: linked_node,\n slot,\n input: null,\n output: linked_node.outputs[slot],\n pos: linked_node.getConnectionPos(false, slot)\n }\n ];\n this.dirty_bgcanvas = true;\n skip_action = true;\n } else ;\n }\n if (!skip_action) {\n this.connecting_links = [\n {\n node: node2,\n slot: i2,\n input,\n output: null,\n pos: link_pos\n }\n ];\n this.dirty_bgcanvas = true;\n skip_action = true;\n }\n break;\n }\n }\n }\n }\n }\n if (!skip_action) {\n var block_drag_node = false;\n if (node2 && node2.flags && node2.flags.pinned) {\n block_drag_node = true;\n }\n var pos2 = [e.canvasX - node2.pos[0], e.canvasY - node2.pos[1]];\n var widget = this.processNodeWidgets(node2, this.graph_mouse, e);\n if (widget) {\n block_drag_node = true;\n this.node_widget = [node2, widget];\n }\n if (this.allow_interaction && is_double_click && this.selected_nodes[node2.id]) {\n if (pos2[1] < 0) {\n if (node2.onNodeTitleDblClick) {\n node2.onNodeTitleDblClick(e, pos2, this);\n }\n }\n if (node2.onDblClick) {\n node2.onDblClick(e, pos2, this);\n }\n this.processNodeDblClicked(node2);\n block_drag_node = true;\n }\n if (node2.onMouseDown && node2.onMouseDown(e, pos2, this)) {\n block_drag_node = true;\n } else {\n if (node2.subgraph && !node2.skip_subgraph_button) {\n if (!node2.flags.collapsed && pos2[0] > node2.size[0] - LiteGraph.NODE_TITLE_HEIGHT && pos2[1] < 0) {\n var that2 = this;\n setTimeout(function() {\n that2.openSubgraph(node2.subgraph);\n }, 10);\n }\n }\n if (this.live_mode) {\n clicking_canvas_bg = true;\n block_drag_node = true;\n }\n }\n if (!block_drag_node) {\n if (this.allow_dragnodes) {\n this.graph.beforeChange();\n this.node_dragged = node2;\n }\n if (!(e.shiftKey && !e.ctrlKey && !e.altKey) || !node2.is_selected) {\n this.processNodeSelected(node2, e);\n }\n } else {\n if (!node2.is_selected) this.processNodeSelected(node2, e);\n }\n this.dirty_canvas = true;\n }\n } else {\n if (!skip_action) {\n if (!this.read_only) {\n for (var i2 = 0; i2 < this.visible_links.length; ++i2) {\n var link = this.visible_links[i2];\n var center = link._pos;\n if (!center || e.canvasX < center[0] - 4 || e.canvasX > center[0] + 4 || e.canvasY < center[1] - 4 || e.canvasY > center[1] + 4) {\n continue;\n }\n this.showLinkMenu(link, e);\n this.over_link_center = null;\n break;\n }\n }\n this.selected_group = this.graph.getGroupOnPos(e.canvasX, e.canvasY);\n this.selected_group_resizing = false;\n if (this.selected_group && !this.read_only) {\n if (e.ctrlKey) {\n this.dragging_rectangle = null;\n }\n var dist = distance([e.canvasX, e.canvasY], [this.selected_group.pos[0] + this.selected_group.size[0], this.selected_group.pos[1] + this.selected_group.size[1]]);\n if (dist * this.ds.scale < 10) {\n this.selected_group_resizing = true;\n } else {\n this.selected_group.recomputeInsideNodes();\n }\n }\n if (is_double_click && !this.read_only) {\n if (this.allow_searchbox) {\n this.showSearchBox(e);\n e.preventDefault();\n e.stopPropagation();\n }\n this.canvas.dispatchEvent(new CustomEvent(\n \"litegraph:canvas\",\n {\n bubbles: true,\n detail: {\n subType: \"empty-double-click\",\n originalEvent: e\n }\n }\n ));\n }\n clicking_canvas_bg = true;\n }\n }\n if (!skip_action && clicking_canvas_bg && this.allow_dragcanvas) {\n this.dragging_canvas = true;\n }\n } else if (e.which == 2) {\n if (LiteGraph.middle_click_slot_add_default_node) {\n if (node2 && this.allow_interaction && !skip_action && !this.read_only) {\n if (!this.connecting_links && !node2.flags.collapsed && !this.live_mode) {\n var mClikSlot = false;\n var mClikSlot_index = false;\n var mClikSlot_isOut = false;\n if (node2.outputs) {\n for (var i2 = 0, l = node2.outputs.length; i2 < l; ++i2) {\n var output = node2.outputs[i2];\n var link_pos = node2.getConnectionPos(false, i2);\n if (isInsideRectangle(e.canvasX, e.canvasY, link_pos[0] - 15, link_pos[1] - 10, 30, 20)) {\n mClikSlot = output;\n mClikSlot_index = i2;\n mClikSlot_isOut = true;\n break;\n }\n }\n }\n if (node2.inputs) {\n for (var i2 = 0, l = node2.inputs.length; i2 < l; ++i2) {\n var input = node2.inputs[i2];\n var link_pos = node2.getConnectionPos(true, i2);\n if (isInsideRectangle(e.canvasX, e.canvasY, link_pos[0] - 15, link_pos[1] - 10, 30, 20)) {\n mClikSlot = input;\n mClikSlot_index = i2;\n mClikSlot_isOut = false;\n break;\n }\n }\n }\n if (mClikSlot && mClikSlot_index !== false) {\n var alphaPosY = 0.5 - (mClikSlot_index + 1) / (mClikSlot_isOut ? node2.outputs.length : node2.inputs.length);\n var node_bounding = node2.getBounding();\n var posRef = [\n !mClikSlot_isOut ? node_bounding[0] : node_bounding[0] + node_bounding[2],\n e.canvasY - 80\n // + node_bounding[0]/this.canvas.width*66 // vertical \"derive\"\n ];\n this.createDefaultNodeForSlot({\n nodeFrom: !mClikSlot_isOut ? null : node2,\n slotFrom: !mClikSlot_isOut ? null : mClikSlot_index,\n nodeTo: !mClikSlot_isOut ? node2 : null,\n slotTo: !mClikSlot_isOut ? mClikSlot_index : null,\n position: posRef,\n nodeType: \"AUTO\",\n posAdd: [!mClikSlot_isOut ? -30 : 30, -alphaPosY * 130],\n posSizeFix: [!mClikSlot_isOut ? -1 : 0, 0]\n //-alphaPosY*2*/\n });\n skip_action = true;\n }\n }\n }\n }\n if (!skip_action && this.allow_dragcanvas) {\n this.dragging_canvas = true;\n }\n } else if (e.which == 3 || this.pointer_is_double) {\n if (this.allow_interaction && !skip_action && !this.read_only) {\n if (node2) {\n if (Object.keys(this.selected_nodes).length && (this.selected_nodes[node2.id] || e.shiftKey || e.ctrlKey || e.metaKey)) {\n if (!this.selected_nodes[node2.id]) this.selectNodes([node2], true);\n } else {\n this.selectNodes([node2]);\n }\n }\n this.processContextMenu(node2, e);\n }\n }\n this.last_mouse[0] = e.clientX;\n this.last_mouse[1] = e.clientY;\n this.last_mouseclick = LiteGraph.getTime();\n this.last_mouse_dragging = true;\n this.graph.change();\n if (!ref_window2.document.activeElement || ref_window2.document.activeElement.nodeName.toLowerCase() != \"input\" && ref_window2.document.activeElement.nodeName.toLowerCase() != \"textarea\") {\n e.preventDefault();\n }\n e.stopPropagation();\n if (this.onMouseDown) {\n this.onMouseDown(e);\n }\n return false;\n }\n /**\n * Called when a mouse move event has to be processed\n * @method processMouseMove\n **/\n processMouseMove(e) {\n if (this.autoresize) {\n this.resize();\n }\n if (this.set_canvas_dirty_on_mouse_event)\n this.dirty_canvas = true;\n if (!this.graph) {\n return;\n }\n _LGraphCanvas.active_canvas = this;\n this.adjustMouseEvent(e);\n var mouse = [e.clientX, e.clientY];\n this.mouse[0] = mouse[0];\n this.mouse[1] = mouse[1];\n var delta2 = [\n mouse[0] - this.last_mouse[0],\n mouse[1] - this.last_mouse[1]\n ];\n this.last_mouse = mouse;\n this.graph_mouse[0] = e.canvasX;\n this.graph_mouse[1] = e.canvasY;\n if (this.block_click) {\n e.preventDefault();\n return false;\n }\n e.dragging = this.last_mouse_dragging;\n if (this.node_widget) {\n this.processNodeWidgets(\n this.node_widget[0],\n this.graph_mouse,\n e,\n this.node_widget[1]\n );\n this.dirty_canvas = true;\n }\n var node2 = this.graph.getNodeOnPos(e.canvasX, e.canvasY, this.visible_nodes);\n if (this.dragging_rectangle) {\n this.dragging_rectangle[2] = e.canvasX - this.dragging_rectangle[0];\n this.dragging_rectangle[3] = e.canvasY - this.dragging_rectangle[1];\n this.dirty_canvas = true;\n } else if (this.selected_group && !this.read_only) {\n if (this.selected_group_resizing) {\n this.selected_group.size = [\n e.canvasX - this.selected_group.pos[0],\n e.canvasY - this.selected_group.pos[1]\n ];\n } else {\n var deltax = delta2[0] / this.ds.scale;\n var deltay = delta2[1] / this.ds.scale;\n this.selected_group.move(deltax, deltay, e.ctrlKey);\n if (this.selected_group._nodes.length) {\n this.dirty_canvas = true;\n }\n }\n this.dirty_bgcanvas = true;\n } else if (this.dragging_canvas) {\n this.ds.offset[0] += delta2[0] / this.ds.scale;\n this.ds.offset[1] += delta2[1] / this.ds.scale;\n this.dirty_canvas = true;\n this.dirty_bgcanvas = true;\n } else if ((this.allow_interaction || node2 && node2.flags.allow_interaction) && !this.read_only) {\n if (this.connecting_links) {\n this.dirty_canvas = true;\n }\n for (var i2 = 0, l = this.graph._nodes.length; i2 < l; ++i2) {\n if (this.graph._nodes[i2].mouseOver && node2 != this.graph._nodes[i2]) {\n this.graph._nodes[i2].mouseOver = false;\n if (this.node_over && this.node_over.onMouseLeave) {\n this.node_over.onMouseLeave(e);\n }\n this.node_over = null;\n this.dirty_canvas = true;\n }\n }\n if (node2) {\n if (node2.redraw_on_mouse)\n this.dirty_canvas = true;\n if (!node2.mouseOver) {\n node2.mouseOver = true;\n this.node_over = node2;\n this.dirty_canvas = true;\n if (node2.onMouseEnter) {\n node2.onMouseEnter(e);\n }\n }\n if (node2.onMouseMove) {\n node2.onMouseMove(e, [e.canvasX - node2.pos[0], e.canvasY - node2.pos[1]], this);\n }\n if (this.connecting_links) {\n const firstLink = this.connecting_links[0];\n if (firstLink.output) {\n var pos2 = this._highlight_input || [0, 0];\n if (this.isOverNodeBox(node2, e.canvasX, e.canvasY)) ;\n else {\n var slot = this.isOverNodeInput(node2, e.canvasX, e.canvasY, pos2);\n if (slot != -1 && node2.inputs[slot] && LiteGraph.isValidConnection(firstLink.output.type, node2.inputs[slot].type)) {\n this._highlight_input = pos2;\n this._highlight_input_slot = node2.inputs[slot];\n } else {\n this._highlight_input = null;\n this._highlight_input_slot = null;\n }\n }\n } else if (firstLink.input) {\n var pos2 = this._highlight_output || [0, 0];\n if (this.isOverNodeBox(node2, e.canvasX, e.canvasY)) ;\n else {\n var slot = this.isOverNodeOutput(node2, e.canvasX, e.canvasY, pos2);\n if (slot != -1 && node2.outputs[slot] && LiteGraph.isValidConnection(firstLink.input.type, node2.outputs[slot].type)) {\n this._highlight_output = pos2;\n } else {\n this._highlight_output = null;\n }\n }\n }\n }\n if (this.canvas) {\n if (node2.inResizeCorner(e.canvasX, e.canvasY)) {\n this.canvas.style.cursor = \"se-resize\";\n } else {\n this.canvas.style.cursor = \"crosshair\";\n }\n }\n } else {\n var over_link = null;\n for (var i2 = 0; i2 < this.visible_links.length; ++i2) {\n var link = this.visible_links[i2];\n var center = link._pos;\n if (!center || e.canvasX < center[0] - 4 || e.canvasX > center[0] + 4 || e.canvasY < center[1] - 4 || e.canvasY > center[1] + 4) {\n continue;\n }\n over_link = link;\n break;\n }\n if (over_link != this.over_link_center) {\n this.over_link_center = over_link;\n this.dirty_canvas = true;\n }\n if (this.canvas) {\n this.canvas.style.cursor = \"\";\n }\n }\n if (this.node_capturing_input && this.node_capturing_input != node2 && this.node_capturing_input.onMouseMove) {\n this.node_capturing_input.onMouseMove(e, [e.canvasX - this.node_capturing_input.pos[0], e.canvasY - this.node_capturing_input.pos[1]], this);\n }\n if (this.node_dragged && !this.live_mode) {\n for (var i2 in this.selected_nodes) {\n var n = this.selected_nodes[i2];\n n.pos[0] += delta2[0] / this.ds.scale;\n n.pos[1] += delta2[1] / this.ds.scale;\n if (!n.is_selected) this.processNodeSelected(n, e);\n }\n this.dirty_canvas = true;\n this.dirty_bgcanvas = true;\n }\n if (this.resizing_node && !this.live_mode) {\n var desired_size = [e.canvasX - this.resizing_node.pos[0], e.canvasY - this.resizing_node.pos[1]];\n var min_size = this.resizing_node.computeSize();\n desired_size[0] = Math.max(min_size[0], desired_size[0]);\n desired_size[1] = Math.max(min_size[1], desired_size[1]);\n this.resizing_node.setSize(desired_size);\n this.canvas.style.cursor = \"se-resize\";\n this.dirty_canvas = true;\n this.dirty_bgcanvas = true;\n }\n }\n e.preventDefault();\n return false;\n }\n /**\n * Called when a mouse up event has to be processed\n * @method processMouseUp\n **/\n processMouseUp(e) {\n var is_primary = e.isPrimary === void 0 || e.isPrimary;\n if (!is_primary) {\n return false;\n }\n if (!this.graph)\n return;\n var window2 = this.getCanvasWindow();\n var document2 = window2.document;\n _LGraphCanvas.active_canvas = this;\n if (!this.options.skip_events) {\n LiteGraph.pointerListenerRemove(document2, \"move\", this._mousemove_callback, true);\n LiteGraph.pointerListenerAdd(this.canvas, \"move\", this._mousemove_callback, true);\n LiteGraph.pointerListenerRemove(document2, \"up\", this._mouseup_callback, true);\n }\n this.adjustMouseEvent(e);\n var now = LiteGraph.getTime();\n e.click_time = now - this.last_mouseclick;\n this.last_mouse_dragging = false;\n this.last_click_position = null;\n if (this.block_click) {\n this.block_click = false;\n }\n if (e.which == 1) {\n if (this.node_widget) {\n this.processNodeWidgets(this.node_widget[0], this.graph_mouse, e);\n }\n this.node_widget = null;\n if (this.selected_group) {\n var diffx = this.selected_group.pos[0] - Math.round(this.selected_group.pos[0]);\n var diffy = this.selected_group.pos[1] - Math.round(this.selected_group.pos[1]);\n this.selected_group.move(diffx, diffy, e.ctrlKey);\n this.selected_group.pos[0] = Math.round(\n this.selected_group.pos[0]\n );\n this.selected_group.pos[1] = Math.round(\n this.selected_group.pos[1]\n );\n if (this.selected_group._nodes.length) {\n this.dirty_canvas = true;\n }\n this.selected_group = null;\n }\n this.selected_group_resizing = false;\n var node2 = this.graph.getNodeOnPos(\n e.canvasX,\n e.canvasY,\n this.visible_nodes\n );\n if (this.dragging_rectangle) {\n if (this.graph) {\n var nodes = this.graph._nodes;\n var node_bounding = new Float32Array(4);\n var w2 = Math.abs(this.dragging_rectangle[2]);\n var h = Math.abs(this.dragging_rectangle[3]);\n var startx = this.dragging_rectangle[2] < 0 ? this.dragging_rectangle[0] - w2 : this.dragging_rectangle[0];\n var starty = this.dragging_rectangle[3] < 0 ? this.dragging_rectangle[1] - h : this.dragging_rectangle[1];\n this.dragging_rectangle[0] = startx;\n this.dragging_rectangle[1] = starty;\n this.dragging_rectangle[2] = w2;\n this.dragging_rectangle[3] = h;\n if (!node2 || w2 > 10 && h > 10) {\n var to_select = [];\n for (var i2 = 0; i2 < nodes.length; ++i2) {\n var nodeX = nodes[i2];\n nodeX.getBounding(node_bounding);\n if (!overlapBounding(\n this.dragging_rectangle,\n node_bounding\n )) {\n continue;\n }\n to_select.push(nodeX);\n }\n if (to_select.length) {\n this.selectNodes(to_select, e.shiftKey);\n }\n } else {\n this.selectNodes([node2], e.shiftKey || e.ctrlKey);\n }\n }\n this.dragging_rectangle = null;\n } else if (this.connecting_links) {\n if (node2) {\n for (const link of this.connecting_links) {\n this.dirty_canvas = true;\n this.dirty_bgcanvas = true;\n if (link.output) {\n var slot = this.isOverNodeInput(\n node2,\n e.canvasX,\n e.canvasY\n );\n if (slot != -1) {\n link.node.connect(link.slot, node2, slot);\n } else {\n link.node.connectByType(link.slot, node2, link.output.type);\n }\n } else if (link.input) {\n var slot = this.isOverNodeOutput(\n node2,\n e.canvasX,\n e.canvasY\n );\n if (slot != -1) {\n node2.connect(slot, link.node, link.slot);\n } else {\n link.node.connectByTypeOutput(link.slot, node2, link.input.type);\n }\n }\n }\n } else {\n const firstLink = this.connecting_links[0];\n const linkReleaseContext = firstLink.output ? {\n node_from: firstLink.node,\n slot_from: firstLink.output,\n type_filter_in: firstLink.output.type\n } : {\n node_to: firstLink.node,\n slot_from: firstLink.input,\n type_filter_out: firstLink.input.type\n };\n const linkReleaseContextExtended = {\n links: this.connecting_links\n };\n this.canvas.dispatchEvent(new CustomEvent(\n \"litegraph:canvas\",\n {\n bubbles: true,\n detail: {\n subType: \"empty-release\",\n originalEvent: e,\n linkReleaseContext: linkReleaseContextExtended\n }\n }\n ));\n if (LiteGraph.release_link_on_empty_shows_menu) {\n if (e.shiftKey) {\n if (this.allow_searchbox) {\n this.showSearchBox(e, linkReleaseContext);\n }\n } else {\n if (firstLink.output) {\n this.showConnectionMenu({ nodeFrom: firstLink.node, slotFrom: firstLink.output, e });\n } else if (firstLink.input) {\n this.showConnectionMenu({ nodeTo: firstLink.node, slotTo: firstLink.input, e });\n }\n }\n }\n }\n this.connecting_links = null;\n } else if (this.resizing_node) {\n this.dirty_canvas = true;\n this.dirty_bgcanvas = true;\n this.graph.afterChange(this.resizing_node);\n this.resizing_node = null;\n } else if (this.node_dragged) {\n var node2 = this.node_dragged;\n if (node2 && e.click_time < 300 && isInsideRectangle(e.canvasX, e.canvasY, node2.pos[0], node2.pos[1] - LiteGraph.NODE_TITLE_HEIGHT, LiteGraph.NODE_TITLE_HEIGHT, LiteGraph.NODE_TITLE_HEIGHT)) {\n node2.collapse();\n }\n this.dirty_canvas = true;\n this.dirty_bgcanvas = true;\n this.node_dragged.pos[0] = Math.round(this.node_dragged.pos[0]);\n this.node_dragged.pos[1] = Math.round(this.node_dragged.pos[1]);\n if (this.graph.config.align_to_grid || this.align_to_grid) {\n this.node_dragged.alignToGrid();\n }\n if (this.onNodeMoved)\n this.onNodeMoved(this.node_dragged);\n this.graph.afterChange(this.node_dragged);\n this.node_dragged = null;\n } else {\n var node2 = this.graph.getNodeOnPos(\n e.canvasX,\n e.canvasY,\n this.visible_nodes\n );\n if (!node2 && e.click_time < 300) {\n this.deselectAllNodes();\n }\n this.dirty_canvas = true;\n this.dragging_canvas = false;\n if (this.node_over && this.node_over.onMouseUp) {\n this.node_over.onMouseUp(e, [e.canvasX - this.node_over.pos[0], e.canvasY - this.node_over.pos[1]], this);\n }\n if (this.node_capturing_input && this.node_capturing_input.onMouseUp) {\n this.node_capturing_input.onMouseUp(e, [\n e.canvasX - this.node_capturing_input.pos[0],\n e.canvasY - this.node_capturing_input.pos[1]\n ]);\n }\n }\n } else if (e.which == 2) {\n this.dirty_canvas = true;\n this.dragging_canvas = false;\n } else if (e.which == 3) {\n this.dirty_canvas = true;\n this.dragging_canvas = false;\n }\n if (is_primary) {\n this.pointer_is_down = false;\n this.pointer_is_double = false;\n }\n this.graph.change();\n e.stopPropagation();\n e.preventDefault();\n return false;\n }\n /**\n * Called when a mouse wheel event has to be processed\n * @method processMouseWheel\n **/\n processMouseWheel(e) {\n if (!this.graph || !this.allow_dragcanvas) {\n return;\n }\n var delta2 = e.wheelDeltaY != null ? e.wheelDeltaY : e.detail * -60;\n this.adjustMouseEvent(e);\n var x2 = e.clientX;\n var y2 = e.clientY;\n var is_inside = !this.viewport || this.viewport && x2 >= this.viewport[0] && x2 < this.viewport[0] + this.viewport[2] && y2 >= this.viewport[1] && y2 < this.viewport[1] + this.viewport[3];\n if (!is_inside)\n return;\n var scale = this.ds.scale;\n if (delta2 > 0) {\n scale *= this.zoom_speed;\n } else if (delta2 < 0) {\n scale *= 1 / this.zoom_speed;\n }\n this.ds.changeScale(scale, [e.clientX, e.clientY]);\n this.graph.change();\n e.preventDefault();\n return false;\n }\n /**\n * returns true if a position (in graph space) is on top of a node little corner box\n * @method isOverNodeBox\n **/\n isOverNodeBox(node2, canvasx, canvasy) {\n var title_height = LiteGraph.NODE_TITLE_HEIGHT;\n if (isInsideRectangle(\n canvasx,\n canvasy,\n node2.pos[0] + 2,\n node2.pos[1] + 2 - title_height,\n title_height - 4,\n title_height - 4\n )) {\n return true;\n }\n return false;\n }\n /**\n * returns the INDEX if a position (in graph space) is on top of a node input slot\n * @method isOverNodeInput\n **/\n isOverNodeInput(node2, canvasx, canvasy, slot_pos) {\n var _a, _b;\n if (node2.inputs) {\n for (var i2 = 0, l = node2.inputs.length; i2 < l; ++i2) {\n var input = node2.inputs[i2];\n var link_pos = node2.getConnectionPos(true, i2);\n var is_inside = false;\n if (node2.horizontal) {\n is_inside = isInsideRectangle(\n canvasx,\n canvasy,\n link_pos[0] - 5,\n link_pos[1] - 10,\n 10,\n 20\n );\n } else {\n const width2 = 20 + ((((_a = input.label) == null ? void 0 : _a.length) ?? ((_b = input.name) == null ? void 0 : _b.length)) || 3) * 7;\n is_inside = isInsideRectangle(\n canvasx,\n canvasy,\n link_pos[0] - 10,\n link_pos[1] - 10,\n width2,\n 20\n );\n }\n if (is_inside) {\n if (slot_pos) {\n slot_pos[0] = link_pos[0];\n slot_pos[1] = link_pos[1];\n }\n return i2;\n }\n }\n }\n return -1;\n }\n /**\n * returns the INDEX if a position (in graph space) is on top of a node output slot\n * @method isOverNodeOuput\n **/\n isOverNodeOutput(node2, canvasx, canvasy, slot_pos) {\n if (node2.outputs) {\n for (var i2 = 0, l = node2.outputs.length; i2 < l; ++i2) {\n node2.outputs[i2];\n var link_pos = node2.getConnectionPos(false, i2);\n var is_inside = false;\n if (node2.horizontal) {\n is_inside = isInsideRectangle(\n canvasx,\n canvasy,\n link_pos[0] - 5,\n link_pos[1] - 10,\n 10,\n 20\n );\n } else {\n is_inside = isInsideRectangle(\n canvasx,\n canvasy,\n link_pos[0] - 10,\n link_pos[1] - 10,\n 40,\n 20\n );\n }\n if (is_inside) {\n if (slot_pos) {\n slot_pos[0] = link_pos[0];\n slot_pos[1] = link_pos[1];\n }\n return i2;\n }\n }\n }\n return -1;\n }\n /**\n * process a key event\n * @method processKey\n **/\n processKey(e) {\n if (!this.graph) {\n return;\n }\n var block_default = false;\n if (e.target.localName == \"input\") {\n return;\n }\n if (e.type == \"keydown\") {\n if (e.keyCode == 32) {\n this.dragging_canvas = true;\n block_default = true;\n }\n if (e.keyCode == 27) {\n if (this.node_panel) this.node_panel.close();\n if (this.options_panel) this.options_panel.close();\n block_default = true;\n }\n if (e.keyCode == 65 && e.ctrlKey) {\n this.selectNodes();\n block_default = true;\n }\n if (e.keyCode === 67 && (e.metaKey || e.ctrlKey) && !e.shiftKey) {\n if (this.selected_nodes) {\n this.copyToClipboard();\n block_default = true;\n }\n }\n if (e.keyCode === 86 && (e.metaKey || e.ctrlKey)) {\n this.pasteFromClipboard(e.shiftKey);\n }\n if (e.keyCode == 46 || e.keyCode == 8) {\n if (e.target.localName != \"input\" && e.target.localName != \"textarea\") {\n this.deleteSelectedNodes();\n block_default = true;\n }\n }\n if (this.selected_nodes) {\n for (var i2 in this.selected_nodes) {\n if (this.selected_nodes[i2].onKeyDown) {\n this.selected_nodes[i2].onKeyDown(e);\n }\n }\n }\n } else if (e.type == \"keyup\") {\n if (e.keyCode == 32) {\n this.dragging_canvas = false;\n }\n if (this.selected_nodes) {\n for (var i2 in this.selected_nodes) {\n if (this.selected_nodes[i2].onKeyUp) {\n this.selected_nodes[i2].onKeyUp(e);\n }\n }\n }\n }\n this.graph.change();\n if (block_default) {\n e.preventDefault();\n e.stopImmediatePropagation();\n return false;\n }\n }\n copyToClipboard(nodes) {\n var clipboard_info = {\n nodes: [],\n links: []\n };\n var index2 = 0;\n var selected_nodes_array = [];\n if (!nodes) nodes = this.selected_nodes;\n for (var i2 in nodes) {\n var node2 = nodes[i2];\n if (node2.clonable === false)\n continue;\n node2._relative_id = index2;\n selected_nodes_array.push(node2);\n index2 += 1;\n }\n for (var i2 = 0; i2 < selected_nodes_array.length; ++i2) {\n var node2 = selected_nodes_array[i2];\n var cloned = node2.clone();\n if (!cloned) {\n console.warn(\"node type not found: \" + node2.type);\n continue;\n }\n clipboard_info.nodes.push(cloned.serialize());\n if (node2.inputs && node2.inputs.length) {\n for (var j = 0; j < node2.inputs.length; ++j) {\n var input = node2.inputs[j];\n if (!input || input.link == null) {\n continue;\n }\n var link_info = this.graph.links[input.link];\n if (!link_info) {\n continue;\n }\n var target_node = this.graph.getNodeById(\n link_info.origin_id\n );\n if (!target_node) {\n continue;\n }\n clipboard_info.links.push([\n target_node._relative_id,\n link_info.origin_slot,\n //j,\n node2._relative_id,\n link_info.target_slot,\n target_node.id\n ]);\n }\n }\n }\n localStorage.setItem(\n \"litegrapheditor_clipboard\",\n JSON.stringify(clipboard_info)\n );\n }\n pasteFromClipboard(isConnectUnselected = false) {\n if (!LiteGraph.ctrl_shift_v_paste_connect_unselected_outputs && isConnectUnselected) {\n return;\n }\n var data = localStorage.getItem(\"litegrapheditor_clipboard\");\n if (!data) {\n return;\n }\n this.graph.beforeChange();\n var clipboard_info = JSON.parse(data);\n var posMin = false;\n var posMinIndexes = false;\n for (var i2 = 0; i2 < clipboard_info.nodes.length; ++i2) {\n if (posMin) {\n if (posMin[0] > clipboard_info.nodes[i2].pos[0]) {\n posMin[0] = clipboard_info.nodes[i2].pos[0];\n posMinIndexes[0] = i2;\n }\n if (posMin[1] > clipboard_info.nodes[i2].pos[1]) {\n posMin[1] = clipboard_info.nodes[i2].pos[1];\n posMinIndexes[1] = i2;\n }\n } else {\n posMin = [clipboard_info.nodes[i2].pos[0], clipboard_info.nodes[i2].pos[1]];\n posMinIndexes = [i2, i2];\n }\n }\n var nodes = [];\n for (var i2 = 0; i2 < clipboard_info.nodes.length; ++i2) {\n var node_data = clipboard_info.nodes[i2];\n var node2 = LiteGraph.createNode(node_data.type);\n if (node2) {\n node2.configure(node_data);\n node2.pos[0] += this.graph_mouse[0] - posMin[0];\n node2.pos[1] += this.graph_mouse[1] - posMin[1];\n this.graph.add(node2, { doProcessChange: false });\n nodes.push(node2);\n }\n }\n for (var i2 = 0; i2 < clipboard_info.links.length; ++i2) {\n var link_info = clipboard_info.links[i2];\n var origin_node = void 0;\n var origin_node_relative_id = link_info[0];\n if (origin_node_relative_id != null) {\n origin_node = nodes[origin_node_relative_id];\n } else if (LiteGraph.ctrl_shift_v_paste_connect_unselected_outputs && isConnectUnselected) {\n var origin_node_id = link_info[4];\n if (origin_node_id) {\n origin_node = this.graph.getNodeById(origin_node_id);\n }\n }\n var target_node = nodes[link_info[2]];\n if (origin_node && target_node)\n origin_node.connect(link_info[1], target_node, link_info[3]);\n else\n console.warn(\"Warning, nodes missing on pasting\");\n }\n this.selectNodes(nodes);\n this.graph.afterChange();\n }\n /**\n * process a item drop event on top the canvas\n * @method processDrop\n **/\n processDrop(e) {\n e.preventDefault();\n this.adjustMouseEvent(e);\n var x2 = e.clientX;\n var y2 = e.clientY;\n var is_inside = !this.viewport || this.viewport && x2 >= this.viewport[0] && x2 < this.viewport[0] + this.viewport[2] && y2 >= this.viewport[1] && y2 < this.viewport[1] + this.viewport[3];\n if (!is_inside) {\n return;\n }\n var pos2 = [e.canvasX, e.canvasY];\n var node2 = this.graph ? this.graph.getNodeOnPos(pos2[0], pos2[1]) : null;\n if (!node2) {\n var r = null;\n if (this.onDropItem) {\n r = this.onDropItem(event);\n }\n if (!r) {\n this.checkDropItem(e);\n }\n return;\n }\n if (node2.onDropFile || node2.onDropData) {\n var files = e.dataTransfer.files;\n if (files && files.length) {\n for (var i2 = 0; i2 < files.length; i2++) {\n var file = e.dataTransfer.files[0];\n var filename = file.name;\n _LGraphCanvas.getFileExtension(filename);\n if (node2.onDropFile) {\n node2.onDropFile(file);\n }\n if (node2.onDropData) {\n var reader = new FileReader();\n reader.onload = function(event2) {\n var data = event2.target.result;\n node2.onDropData(data, filename, file);\n };\n var type = file.type.split(\"/\")[0];\n if (type == \"text\" || type == \"\") {\n reader.readAsText(file);\n } else if (type == \"image\") {\n reader.readAsDataURL(file);\n } else {\n reader.readAsArrayBuffer(file);\n }\n }\n }\n }\n }\n if (node2.onDropItem) {\n if (node2.onDropItem(event)) {\n return true;\n }\n }\n if (this.onDropItem) {\n return this.onDropItem(event);\n }\n return false;\n }\n //called if the graph doesn't have a default drop item behaviour\n checkDropItem(e) {\n if (e.dataTransfer.files.length) {\n var file = e.dataTransfer.files[0];\n var ext = _LGraphCanvas.getFileExtension(file.name).toLowerCase();\n var nodetype = LiteGraph.node_types_by_file_extension[ext];\n if (nodetype) {\n this.graph.beforeChange();\n var node2 = LiteGraph.createNode(nodetype.type);\n node2.pos = [e.canvasX, e.canvasY];\n this.graph.add(node2);\n if (node2.onDropFile) {\n node2.onDropFile(file);\n }\n this.graph.afterChange();\n }\n }\n }\n processNodeDblClicked(n) {\n if (this.onShowNodePanel) {\n this.onShowNodePanel(n);\n }\n if (this.onNodeDblClicked) {\n this.onNodeDblClicked(n);\n }\n this.setDirty(true);\n }\n processNodeSelected(node2, e) {\n this.selectNode(node2, e && (e.shiftKey || e.ctrlKey || this.multi_select));\n if (this.onNodeSelected) {\n this.onNodeSelected(node2);\n }\n }\n /**\n * selects a given node (or adds it to the current selection)\n * @method selectNode\n **/\n selectNode(node2, add_to_current_selection) {\n if (node2 == null) {\n this.deselectAllNodes();\n } else {\n this.selectNodes([node2], add_to_current_selection);\n }\n }\n /**\n * selects several nodes (or adds them to the current selection)\n * @method selectNodes\n **/\n selectNodes(nodes, add_to_current_selection) {\n if (!add_to_current_selection) {\n this.deselectAllNodes();\n }\n nodes = nodes || this.graph._nodes;\n if (typeof nodes == \"string\") nodes = [nodes];\n for (var i2 in nodes) {\n var node2 = nodes[i2];\n if (node2.is_selected) {\n this.deselectNode(node2);\n continue;\n }\n if (!node2.is_selected && node2.onSelected) {\n node2.onSelected();\n }\n node2.is_selected = true;\n this.selected_nodes[node2.id] = node2;\n if (node2.inputs) {\n for (var j = 0; j < node2.inputs.length; ++j) {\n this.highlighted_links[node2.inputs[j].link] = true;\n }\n }\n if (node2.outputs) {\n for (var j = 0; j < node2.outputs.length; ++j) {\n var out = node2.outputs[j];\n if (out.links) {\n for (var k = 0; k < out.links.length; ++k) {\n this.highlighted_links[out.links[k]] = true;\n }\n }\n }\n }\n }\n if (this.onSelectionChange)\n this.onSelectionChange(this.selected_nodes);\n this.setDirty(true);\n }\n /**\n * removes a node from the current selection\n * @method deselectNode\n **/\n deselectNode(node2) {\n if (!node2.is_selected) {\n return;\n }\n if (node2.onDeselected) {\n node2.onDeselected();\n }\n node2.is_selected = false;\n delete this.selected_nodes[node2.id];\n if (this.onNodeDeselected) {\n this.onNodeDeselected(node2);\n }\n if (node2.inputs) {\n for (var i2 = 0; i2 < node2.inputs.length; ++i2) {\n delete this.highlighted_links[node2.inputs[i2].link];\n }\n }\n if (node2.outputs) {\n for (var i2 = 0; i2 < node2.outputs.length; ++i2) {\n var out = node2.outputs[i2];\n if (out.links) {\n for (var j = 0; j < out.links.length; ++j) {\n delete this.highlighted_links[out.links[j]];\n }\n }\n }\n }\n }\n /**\n * removes all nodes from the current selection\n * @method deselectAllNodes\n **/\n deselectAllNodes() {\n if (!this.graph) {\n return;\n }\n var nodes = this.graph._nodes;\n for (var i2 = 0, l = nodes.length; i2 < l; ++i2) {\n var node2 = nodes[i2];\n if (!node2.is_selected) {\n continue;\n }\n if (node2.onDeselected) {\n node2.onDeselected();\n }\n node2.is_selected = false;\n if (this.onNodeDeselected) {\n this.onNodeDeselected(node2);\n }\n }\n this.selected_nodes = {};\n this.current_node = null;\n this.highlighted_links = {};\n if (this.onSelectionChange)\n this.onSelectionChange(this.selected_nodes);\n this.setDirty(true);\n }\n /**\n * deletes all nodes in the current selection from the graph\n * @method deleteSelectedNodes\n **/\n deleteSelectedNodes() {\n this.graph.beforeChange();\n for (var i2 in this.selected_nodes) {\n var node2 = this.selected_nodes[i2];\n if (node2.block_delete)\n continue;\n if (node2.inputs && node2.inputs.length && node2.outputs && node2.outputs.length && LiteGraph.isValidConnection(node2.inputs[0].type, node2.outputs[0].type) && node2.inputs[0].link && node2.outputs[0].links && node2.outputs[0].links.length) {\n var input_link = node2.graph.links[node2.inputs[0].link];\n var output_link = node2.graph.links[node2.outputs[0].links[0]];\n var input_node = node2.getInputNode(0);\n var output_node = node2.getOutputNodes(0)[0];\n if (input_node && output_node)\n input_node.connect(input_link.origin_slot, output_node, output_link.target_slot);\n }\n this.graph.remove(node2);\n if (this.onNodeDeselected) {\n this.onNodeDeselected(node2);\n }\n }\n this.selected_nodes = {};\n this.current_node = null;\n this.highlighted_links = {};\n this.setDirty(true);\n this.graph.afterChange();\n }\n /**\n * centers the camera on a given node\n * @method centerOnNode\n **/\n centerOnNode(node2) {\n const dpi = (window == null ? void 0 : window.devicePixelRatio) || 1;\n this.ds.offset[0] = -node2.pos[0] - node2.size[0] * 0.5 + this.canvas.width * 0.5 / (this.ds.scale * dpi);\n this.ds.offset[1] = -node2.pos[1] - node2.size[1] * 0.5 + this.canvas.height * 0.5 / (this.ds.scale * dpi);\n this.setDirty(true, true);\n }\n /**\n * adds some useful properties to a mouse event, like the position in graph coordinates\n * @method adjustMouseEvent\n **/\n adjustMouseEvent(e) {\n var clientX_rel = 0;\n var clientY_rel = 0;\n if (this.canvas) {\n var b = this.canvas.getBoundingClientRect();\n clientX_rel = e.clientX - b.left;\n clientY_rel = e.clientY - b.top;\n } else {\n clientX_rel = e.clientX;\n clientY_rel = e.clientY;\n }\n if (e.deltaX === void 0)\n e.deltaX = clientX_rel - this.last_mouse_position[0];\n if (e.deltaY === void 0)\n e.deltaY = clientY_rel - this.last_mouse_position[1];\n this.last_mouse_position[0] = clientX_rel;\n this.last_mouse_position[1] = clientY_rel;\n e.canvasX = clientX_rel / this.ds.scale - this.ds.offset[0];\n e.canvasY = clientY_rel / this.ds.scale - this.ds.offset[1];\n }\n /**\n * changes the zoom level of the graph (default is 1), you can pass also a place used to pivot the zoom\n * @method setZoom\n **/\n setZoom(value, zooming_center) {\n this.ds.changeScale(value, zooming_center);\n this.dirty_canvas = true;\n this.dirty_bgcanvas = true;\n }\n /**\n * converts a coordinate from graph coordinates to canvas2D coordinates\n * @method convertOffsetToCanvas\n **/\n convertOffsetToCanvas(pos2, out) {\n return this.ds.convertOffsetToCanvas(pos2, out);\n }\n /**\n * converts a coordinate from Canvas2D coordinates to graph space\n * @method convertCanvasToOffset\n **/\n convertCanvasToOffset(pos2, out) {\n return this.ds.convertCanvasToOffset(pos2, out);\n }\n //converts event coordinates from canvas2D to graph coordinates\n convertEventToCanvasOffset(e) {\n var rect = this.canvas.getBoundingClientRect();\n return this.convertCanvasToOffset([\n e.clientX - rect.left,\n e.clientY - rect.top\n ]);\n }\n /**\n * brings a node to front (above all other nodes)\n * @method bringToFront\n **/\n bringToFront(node2) {\n var i2 = this.graph._nodes.indexOf(node2);\n if (i2 == -1) {\n return;\n }\n this.graph._nodes.splice(i2, 1);\n this.graph._nodes.push(node2);\n }\n /**\n * sends a node to the back (below all other nodes)\n * @method sendToBack\n **/\n sendToBack(node2) {\n var i2 = this.graph._nodes.indexOf(node2);\n if (i2 == -1) {\n return;\n }\n this.graph._nodes.splice(i2, 1);\n this.graph._nodes.unshift(node2);\n }\n /* LGraphCanvas render */\n /**\n * checks which nodes are visible (inside the camera area)\n * @method computeVisibleNodes\n **/\n computeVisibleNodes(nodes, out) {\n var visible_nodes = out || [];\n visible_nodes.length = 0;\n nodes = nodes || this.graph._nodes;\n for (var i2 = 0, l = nodes.length; i2 < l; ++i2) {\n var n = nodes[i2];\n if (this.live_mode && !n.onDrawBackground && !n.onDrawForeground) {\n continue;\n }\n if (!overlapBounding(this.visible_area, n.getBounding(__privateGet(_LGraphCanvas, _temp), true))) {\n continue;\n }\n visible_nodes.push(n);\n }\n return visible_nodes;\n }\n /**\n * renders the whole canvas content, by rendering in two separated canvas, one containing the background grid and the connections, and one containing the nodes)\n * @method draw\n **/\n draw(force_canvas, force_bgcanvas) {\n if (!this.canvas || this.canvas.width == 0 || this.canvas.height == 0) {\n return;\n }\n var now = LiteGraph.getTime();\n this.render_time = (now - this.last_draw_time) * 1e-3;\n this.last_draw_time = now;\n if (this.graph) {\n this.ds.computeVisibleArea(this.viewport);\n }\n if (this.dirty_bgcanvas || force_bgcanvas || this.always_render_background || this.graph && this.graph._last_trigger_time && now - this.graph._last_trigger_time < 1e3) {\n this.drawBackCanvas();\n }\n if (this.dirty_canvas || force_canvas) {\n this.drawFrontCanvas();\n }\n this.fps = this.render_time ? 1 / this.render_time : 0;\n this.frame += 1;\n }\n /**\n * draws the front canvas (the one containing all the nodes)\n * @method drawFrontCanvas\n **/\n drawFrontCanvas() {\n this.dirty_canvas = false;\n if (!this.ctx) {\n this.ctx = this.bgcanvas.getContext(\"2d\");\n }\n var ctx = this.ctx;\n if (!ctx) {\n return;\n }\n var canvas = this.canvas;\n if (ctx.start2D && !this.viewport) {\n ctx.start2D();\n ctx.restore();\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n }\n var area = this.viewport || this.dirty_area;\n if (area) {\n ctx.save();\n ctx.beginPath();\n ctx.rect(area[0], area[1], area[2], area[3]);\n ctx.clip();\n }\n if (this.clear_background) {\n if (area)\n ctx.clearRect(area[0], area[1], area[2], area[3]);\n else\n ctx.clearRect(0, 0, canvas.width, canvas.height);\n }\n if (this.bgcanvas == this.canvas) {\n this.drawBackCanvas();\n } else {\n ctx.drawImage(this.bgcanvas, 0, 0);\n }\n if (this.onRender) {\n this.onRender(canvas, ctx);\n }\n if (this.show_info) {\n this.renderInfo(ctx, area ? area[0] : 0, area ? area[1] : 0);\n }\n if (this.graph) {\n ctx.save();\n this.ds.toCanvasContext(ctx);\n var visible_nodes = this.computeVisibleNodes(\n null,\n this.visible_nodes\n );\n for (var i2 = 0; i2 < visible_nodes.length; ++i2) {\n var node2 = visible_nodes[i2];\n ctx.save();\n ctx.translate(node2.pos[0], node2.pos[1]);\n this.drawNode(node2, ctx);\n ctx.restore();\n }\n if (this.render_execution_order) {\n this.drawExecutionOrder(ctx);\n }\n if (this.graph.config.links_ontop) {\n if (!this.live_mode) {\n this.drawConnections(ctx);\n }\n }\n if (this.connecting_links) {\n for (const link of this.connecting_links) {\n ctx.lineWidth = this.connections_width;\n var link_color = null;\n var connInOrOut = link.output || link.input;\n var connType = connInOrOut.type;\n var connDir = connInOrOut.dir;\n if (connDir == null) {\n if (link.output)\n connDir = link.node.horizontal ? LiteGraph.DOWN : LiteGraph.RIGHT;\n else\n connDir = link.node.horizontal ? LiteGraph.UP : LiteGraph.LEFT;\n }\n var connShape = connInOrOut.shape;\n switch (connType) {\n case LiteGraph.EVENT:\n link_color = LiteGraph.EVENT_LINK_COLOR;\n break;\n default:\n link_color = LiteGraph.CONNECTING_LINK_COLOR;\n }\n this.renderLink(\n ctx,\n link.pos,\n [this.graph_mouse[0], this.graph_mouse[1]],\n null,\n false,\n null,\n link_color,\n connDir,\n LiteGraph.CENTER\n );\n ctx.beginPath();\n if (connType === LiteGraph.EVENT || connShape === LiteGraph.BOX_SHAPE) {\n ctx.rect(\n link.pos[0] - 6 + 0.5,\n link.pos[1] - 5 + 0.5,\n 14,\n 10\n );\n ctx.fill();\n ctx.beginPath();\n ctx.rect(\n this.graph_mouse[0] - 6 + 0.5,\n this.graph_mouse[1] - 5 + 0.5,\n 14,\n 10\n );\n } else if (connShape === LiteGraph.ARROW_SHAPE) {\n ctx.moveTo(link.pos[0] + 8, link.pos[1] + 0.5);\n ctx.lineTo(link.pos[0] - 4, link.pos[1] + 6 + 0.5);\n ctx.lineTo(link.pos[0] - 4, link.pos[1] - 6 + 0.5);\n ctx.closePath();\n } else {\n ctx.arc(\n link.pos[0],\n link.pos[1],\n 4,\n 0,\n Math.PI * 2\n );\n ctx.fill();\n ctx.beginPath();\n ctx.arc(\n this.graph_mouse[0],\n this.graph_mouse[1],\n 4,\n 0,\n Math.PI * 2\n );\n }\n ctx.fill();\n ctx.fillStyle = \"#ffcc00\";\n if (this._highlight_input) {\n ctx.beginPath();\n var shape = this._highlight_input_slot.shape;\n if (shape === LiteGraph.ARROW_SHAPE) {\n ctx.moveTo(this._highlight_input[0] + 8, this._highlight_input[1] + 0.5);\n ctx.lineTo(this._highlight_input[0] - 4, this._highlight_input[1] + 6 + 0.5);\n ctx.lineTo(this._highlight_input[0] - 4, this._highlight_input[1] - 6 + 0.5);\n ctx.closePath();\n } else {\n ctx.arc(\n this._highlight_input[0],\n this._highlight_input[1],\n 6,\n 0,\n Math.PI * 2\n );\n }\n ctx.fill();\n }\n if (this._highlight_output) {\n ctx.beginPath();\n if (shape === LiteGraph.ARROW_SHAPE) {\n ctx.moveTo(this._highlight_output[0] + 8, this._highlight_output[1] + 0.5);\n ctx.lineTo(this._highlight_output[0] - 4, this._highlight_output[1] + 6 + 0.5);\n ctx.lineTo(this._highlight_output[0] - 4, this._highlight_output[1] - 6 + 0.5);\n ctx.closePath();\n } else {\n ctx.arc(\n this._highlight_output[0],\n this._highlight_output[1],\n 6,\n 0,\n Math.PI * 2\n );\n }\n ctx.fill();\n }\n }\n }\n if (this.dragging_rectangle) {\n ctx.strokeStyle = \"#FFF\";\n ctx.strokeRect(\n this.dragging_rectangle[0],\n this.dragging_rectangle[1],\n this.dragging_rectangle[2],\n this.dragging_rectangle[3]\n );\n }\n if (this.over_link_center && this.render_link_tooltip)\n this.drawLinkTooltip(ctx, this.over_link_center);\n else if (this.onDrawLinkTooltip)\n this.onDrawLinkTooltip(ctx, null);\n if (this.onDrawForeground) {\n this.onDrawForeground(ctx, this.visible_rect);\n }\n ctx.restore();\n }\n if (this._graph_stack && this._graph_stack.length) {\n this.drawSubgraphPanel(ctx);\n }\n if (this.onDrawOverlay) {\n this.onDrawOverlay(ctx);\n }\n if (area) {\n ctx.restore();\n }\n if (ctx.finish2D) {\n ctx.finish2D();\n }\n }\n /**\n * draws the panel in the corner that shows subgraph properties\n * @method drawSubgraphPanel\n **/\n drawSubgraphPanel(ctx) {\n var subgraph = this.graph;\n var subnode = subgraph._subgraph_node;\n if (!subnode) {\n console.warn(\"subgraph without subnode\");\n return;\n }\n this.drawSubgraphPanelLeft(subgraph, subnode, ctx);\n this.drawSubgraphPanelRight(subgraph, subnode, ctx);\n }\n drawSubgraphPanelLeft(subgraph, subnode, ctx) {\n var num = subnode.inputs ? subnode.inputs.length : 0;\n var w2 = 200;\n var h = Math.floor(LiteGraph.NODE_SLOT_HEIGHT * 1.6);\n ctx.fillStyle = \"#111\";\n ctx.globalAlpha = 0.8;\n ctx.beginPath();\n ctx.roundRect(10, 10, w2, (num + 1) * h + 50, [8]);\n ctx.fill();\n ctx.globalAlpha = 1;\n ctx.fillStyle = \"#888\";\n ctx.font = \"14px Arial\";\n ctx.textAlign = \"left\";\n ctx.fillText(\"Graph Inputs\", 20, 34);\n if (this.drawButton(w2 - 20, 20, 20, 20, \"X\", \"#151515\")) {\n this.closeSubgraph();\n return;\n }\n var y2 = 50;\n ctx.font = \"14px Arial\";\n if (subnode.inputs)\n for (var i2 = 0; i2 < subnode.inputs.length; ++i2) {\n var input = subnode.inputs[i2];\n if (input.not_subgraph_input)\n continue;\n if (this.drawButton(20, y2 + 2, w2 - 20, h - 2)) {\n var type = subnode.constructor.input_node_type || \"graph/input\";\n this.graph.beforeChange();\n var newnode = LiteGraph.createNode(type);\n if (newnode) {\n subgraph.add(newnode);\n this.block_click = false;\n this.last_click_position = null;\n this.selectNodes([newnode]);\n this.node_dragged = newnode;\n this.dragging_canvas = false;\n newnode.setProperty(\"name\", input.name);\n newnode.setProperty(\"type\", input.type);\n this.node_dragged.pos[0] = this.graph_mouse[0] - 5;\n this.node_dragged.pos[1] = this.graph_mouse[1] - 5;\n this.graph.afterChange();\n } else\n console.error(\"graph input node not found:\", type);\n }\n ctx.fillStyle = \"#9C9\";\n ctx.beginPath();\n ctx.arc(w2 - 16, y2 + h * 0.5, 5, 0, 2 * Math.PI);\n ctx.fill();\n ctx.fillStyle = \"#AAA\";\n ctx.fillText(input.name, 30, y2 + h * 0.75);\n ctx.fillStyle = \"#777\";\n ctx.fillText(input.type, 130, y2 + h * 0.75);\n y2 += h;\n }\n if (this.drawButton(20, y2 + 2, w2 - 20, h - 2, \"+\", \"#151515\", \"#222\")) {\n this.showSubgraphPropertiesDialog(subnode);\n }\n }\n drawSubgraphPanelRight(subgraph, subnode, ctx) {\n var num = subnode.outputs ? subnode.outputs.length : 0;\n var canvas_w = this.bgcanvas.width;\n var w2 = 200;\n var h = Math.floor(LiteGraph.NODE_SLOT_HEIGHT * 1.6);\n ctx.fillStyle = \"#111\";\n ctx.globalAlpha = 0.8;\n ctx.beginPath();\n ctx.roundRect(canvas_w - w2 - 10, 10, w2, (num + 1) * h + 50, [8]);\n ctx.fill();\n ctx.globalAlpha = 1;\n ctx.fillStyle = \"#888\";\n ctx.font = \"14px Arial\";\n ctx.textAlign = \"left\";\n var title_text = \"Graph Outputs\";\n var tw = ctx.measureText(title_text).width;\n ctx.fillText(title_text, canvas_w - tw - 20, 34);\n if (this.drawButton(canvas_w - w2, 20, 20, 20, \"X\", \"#151515\")) {\n this.closeSubgraph();\n return;\n }\n var y2 = 50;\n ctx.font = \"14px Arial\";\n if (subnode.outputs)\n for (var i2 = 0; i2 < subnode.outputs.length; ++i2) {\n var output = subnode.outputs[i2];\n if (output.not_subgraph_input)\n continue;\n if (this.drawButton(canvas_w - w2, y2 + 2, w2 - 20, h - 2)) {\n var type = subnode.constructor.output_node_type || \"graph/output\";\n this.graph.beforeChange();\n var newnode = LiteGraph.createNode(type);\n if (newnode) {\n subgraph.add(newnode);\n this.block_click = false;\n this.last_click_position = null;\n this.selectNodes([newnode]);\n this.node_dragged = newnode;\n this.dragging_canvas = false;\n newnode.setProperty(\"name\", output.name);\n newnode.setProperty(\"type\", output.type);\n this.node_dragged.pos[0] = this.graph_mouse[0] - 5;\n this.node_dragged.pos[1] = this.graph_mouse[1] - 5;\n this.graph.afterChange();\n } else\n console.error(\"graph input node not found:\", type);\n }\n ctx.fillStyle = \"#9C9\";\n ctx.beginPath();\n ctx.arc(canvas_w - w2 + 16, y2 + h * 0.5, 5, 0, 2 * Math.PI);\n ctx.fill();\n ctx.fillStyle = \"#AAA\";\n ctx.fillText(output.name, canvas_w - w2 + 30, y2 + h * 0.75);\n ctx.fillStyle = \"#777\";\n ctx.fillText(output.type, canvas_w - w2 + 130, y2 + h * 0.75);\n y2 += h;\n }\n if (this.drawButton(canvas_w - w2, y2 + 2, w2 - 20, h - 2, \"+\", \"#151515\", \"#222\")) {\n this.showSubgraphPropertiesDialogRight(subnode);\n }\n }\n //Draws a button into the canvas overlay and computes if it was clicked using the immediate gui paradigm\n drawButton(x2, y2, w2, h, text, bgcolor, hovercolor, textcolor) {\n var ctx = this.ctx;\n bgcolor = bgcolor || LiteGraph.NODE_DEFAULT_COLOR;\n hovercolor = hovercolor || \"#555\";\n textcolor = textcolor || LiteGraph.NODE_TEXT_COLOR;\n var pos2 = this.ds.convertOffsetToCanvas(this.graph_mouse);\n var hover = LiteGraph.isInsideRectangle(pos2[0], pos2[1], x2, y2, w2, h);\n pos2 = this.last_click_position ? [this.last_click_position[0], this.last_click_position[1]] : null;\n if (pos2) {\n var rect = this.canvas.getBoundingClientRect();\n pos2[0] -= rect.left;\n pos2[1] -= rect.top;\n }\n var clicked = pos2 && LiteGraph.isInsideRectangle(pos2[0], pos2[1], x2, y2, w2, h);\n ctx.fillStyle = hover ? hovercolor : bgcolor;\n if (clicked)\n ctx.fillStyle = \"#AAA\";\n ctx.beginPath();\n ctx.roundRect(x2, y2, w2, h, [4]);\n ctx.fill();\n if (text != null) {\n if (text.constructor == String) {\n ctx.fillStyle = textcolor;\n ctx.textAlign = \"center\";\n ctx.font = (h * 0.65 | 0) + \"px Arial\";\n ctx.fillText(text, x2 + w2 * 0.5, y2 + h * 0.75);\n ctx.textAlign = \"left\";\n }\n }\n var was_clicked = clicked && !this.block_click;\n if (clicked)\n this.blockClick();\n return was_clicked;\n }\n isAreaClicked(x2, y2, w2, h, hold_click) {\n var pos2 = this.mouse;\n LiteGraph.isInsideRectangle(pos2[0], pos2[1], x2, y2, w2, h);\n pos2 = this.last_click_position;\n var clicked = pos2 && LiteGraph.isInsideRectangle(pos2[0], pos2[1], x2, y2, w2, h);\n var was_clicked = clicked && !this.block_click;\n if (clicked && hold_click)\n this.blockClick();\n return was_clicked;\n }\n /**\n * draws some useful stats in the corner of the canvas\n * @method renderInfo\n **/\n renderInfo(ctx, x2, y2) {\n x2 = x2 || 10;\n y2 = y2 || this.canvas.offsetHeight - 80;\n ctx.save();\n ctx.translate(x2, y2);\n ctx.font = \"10px Arial\";\n ctx.fillStyle = \"#888\";\n ctx.textAlign = \"left\";\n if (this.graph) {\n ctx.fillText(\"T: \" + this.graph.globaltime.toFixed(2) + \"s\", 5, 13 * 1);\n ctx.fillText(\"I: \" + this.graph.iteration, 5, 13 * 2);\n ctx.fillText(\"N: \" + this.graph._nodes.length + \" [\" + this.visible_nodes.length + \"]\", 5, 13 * 3);\n ctx.fillText(\"V: \" + this.graph._version, 5, 13 * 4);\n ctx.fillText(\"FPS:\" + this.fps.toFixed(2), 5, 13 * 5);\n } else {\n ctx.fillText(\"No graph selected\", 5, 13 * 1);\n }\n ctx.restore();\n }\n /**\n * draws the back canvas (the one containing the background and the connections)\n * @method drawBackCanvas\n **/\n drawBackCanvas() {\n var canvas = this.bgcanvas;\n if (canvas.width != this.canvas.width || canvas.height != this.canvas.height) {\n canvas.width = this.canvas.width;\n canvas.height = this.canvas.height;\n }\n if (!this.bgctx) {\n this.bgctx = this.bgcanvas.getContext(\"2d\");\n }\n var ctx = this.bgctx;\n if (ctx.start) {\n ctx.start();\n }\n var viewport = this.viewport || [0, 0, ctx.canvas.width, ctx.canvas.height];\n if (this.clear_background) {\n ctx.clearRect(viewport[0], viewport[1], viewport[2], viewport[3]);\n }\n if (this._graph_stack && this._graph_stack.length) {\n ctx.save();\n this._graph_stack[this._graph_stack.length - 1];\n var subgraph_node = this.graph._subgraph_node;\n ctx.strokeStyle = subgraph_node.bgcolor;\n ctx.lineWidth = 10;\n ctx.strokeRect(1, 1, canvas.width - 2, canvas.height - 2);\n ctx.lineWidth = 1;\n ctx.font = \"40px Arial\";\n ctx.textAlign = \"center\";\n ctx.fillStyle = subgraph_node.bgcolor || \"#AAA\";\n var title = \"\";\n for (var i2 = 1; i2 < this._graph_stack.length; ++i2) {\n title += this._graph_stack[i2]._subgraph_node.getTitle() + \" >> \";\n }\n ctx.fillText(\n title + subgraph_node.getTitle(),\n canvas.width * 0.5,\n 40\n );\n ctx.restore();\n }\n var bg_already_painted = false;\n if (this.onRenderBackground) {\n bg_already_painted = this.onRenderBackground(canvas, ctx);\n }\n if (!this.viewport) {\n ctx.restore();\n ctx.setTransform(1, 0, 0, 1, 0, 0);\n }\n this.visible_links.length = 0;\n if (this.graph) {\n ctx.save();\n this.ds.toCanvasContext(ctx);\n if (this.ds.scale < 1.5 && !bg_already_painted && this.clear_background_color) {\n ctx.fillStyle = this.clear_background_color;\n ctx.fillRect(\n this.visible_area[0],\n this.visible_area[1],\n this.visible_area[2],\n this.visible_area[3]\n );\n }\n if (this.background_image && this.ds.scale > 0.5 && !bg_already_painted) {\n if (this.zoom_modify_alpha) {\n ctx.globalAlpha = (1 - 0.5 / this.ds.scale) * this.editor_alpha;\n } else {\n ctx.globalAlpha = this.editor_alpha;\n }\n ctx.imageSmoothingEnabled = ctx.imageSmoothingEnabled = false;\n if (!this._bg_img || this._bg_img.name != this.background_image) {\n this._bg_img = new Image();\n this._bg_img.name = this.background_image;\n this._bg_img.src = this.background_image;\n var that2 = this;\n this._bg_img.onload = function() {\n that2.draw(true, true);\n };\n }\n var pattern = null;\n if (this._pattern == null && this._bg_img.width > 0) {\n pattern = ctx.createPattern(this._bg_img, \"repeat\");\n this._pattern_img = this._bg_img;\n this._pattern = pattern;\n } else {\n pattern = this._pattern;\n }\n if (pattern) {\n ctx.fillStyle = pattern;\n ctx.fillRect(\n this.visible_area[0],\n this.visible_area[1],\n this.visible_area[2],\n this.visible_area[3]\n );\n ctx.fillStyle = \"transparent\";\n }\n ctx.globalAlpha = 1;\n ctx.imageSmoothingEnabled = ctx.imageSmoothingEnabled = true;\n }\n if (this.graph._groups.length && !this.live_mode) {\n this.drawGroups(canvas, ctx);\n }\n if (this.onDrawBackground) {\n this.onDrawBackground(ctx, this.visible_area);\n }\n if (this.onBackgroundRender) {\n console.error(\n \"WARNING! onBackgroundRender deprecated, now is named onDrawBackground \"\n );\n this.onBackgroundRender = null;\n }\n if (this.render_canvas_border) {\n ctx.strokeStyle = \"#235\";\n ctx.strokeRect(0, 0, canvas.width, canvas.height);\n }\n if (this.render_connections_shadows) {\n ctx.shadowColor = \"#000\";\n ctx.shadowOffsetX = 0;\n ctx.shadowOffsetY = 0;\n ctx.shadowBlur = 6;\n } else {\n ctx.shadowColor = \"rgba(0,0,0,0)\";\n }\n if (!this.live_mode) {\n this.drawConnections(ctx);\n }\n ctx.shadowColor = \"rgba(0,0,0,0)\";\n ctx.restore();\n }\n if (ctx.finish) {\n ctx.finish();\n }\n this.dirty_bgcanvas = false;\n this.dirty_canvas = true;\n }\n /**\n * draws the given node inside the canvas\n * @method drawNode\n **/\n drawNode(node2, ctx) {\n this.current_node = node2;\n var color = node2.color || node2.constructor.color || LiteGraph.NODE_DEFAULT_COLOR;\n var bgcolor = node2.bgcolor || node2.constructor.bgcolor || LiteGraph.NODE_DEFAULT_BGCOLOR;\n if (node2.mouseOver) ;\n var low_quality = this.ds.scale < 0.6;\n if (this.live_mode) {\n if (!node2.flags.collapsed) {\n ctx.shadowColor = \"transparent\";\n if (node2.onDrawForeground) {\n node2.onDrawForeground(ctx, this, this.canvas);\n }\n }\n return;\n }\n var editor_alpha = this.editor_alpha;\n ctx.globalAlpha = editor_alpha;\n if (this.render_shadows && !low_quality) {\n ctx.shadowColor = LiteGraph.DEFAULT_SHADOW_COLOR;\n ctx.shadowOffsetX = 2 * this.ds.scale;\n ctx.shadowOffsetY = 2 * this.ds.scale;\n ctx.shadowBlur = 3 * this.ds.scale;\n } else {\n ctx.shadowColor = \"transparent\";\n }\n if (node2.flags.collapsed && node2.onDrawCollapsed && node2.onDrawCollapsed(ctx, this) == true) {\n return;\n }\n var shape = node2._shape || LiteGraph.BOX_SHAPE;\n var size = __privateGet(_LGraphCanvas, _temp_vec2);\n __privateGet(_LGraphCanvas, _temp_vec2).set(node2.size);\n var horizontal = node2.horizontal;\n if (node2.flags.collapsed) {\n ctx.font = this.inner_text_font;\n var title = node2.getTitle ? node2.getTitle() : node2.title;\n if (title != null) {\n node2._collapsed_width = Math.min(\n node2.size[0],\n ctx.measureText(title).width + LiteGraph.NODE_TITLE_HEIGHT * 2\n );\n size[0] = node2._collapsed_width;\n size[1] = 0;\n }\n }\n if (node2.clip_area) {\n ctx.save();\n ctx.beginPath();\n if (shape == LiteGraph.BOX_SHAPE) {\n ctx.rect(0, 0, size[0], size[1]);\n } else if (shape == LiteGraph.ROUND_SHAPE) {\n ctx.roundRect(0, 0, size[0], size[1], [10]);\n } else if (shape == LiteGraph.CIRCLE_SHAPE) {\n ctx.arc(\n size[0] * 0.5,\n size[1] * 0.5,\n size[0] * 0.5,\n 0,\n Math.PI * 2\n );\n }\n ctx.clip();\n }\n if (node2.has_errors) {\n bgcolor = \"red\";\n }\n this.drawNodeShape(\n node2,\n ctx,\n size,\n color,\n bgcolor,\n node2.is_selected,\n node2.mouseOver\n );\n ctx.shadowColor = \"transparent\";\n if (node2.onDrawForeground) {\n node2.onDrawForeground(ctx, this, this.canvas);\n }\n ctx.textAlign = horizontal ? \"center\" : \"left\";\n ctx.font = this.inner_text_font;\n var render_text = !low_quality;\n var out_slot = this.connecting_links ? this.connecting_links[0].output : null;\n var in_slot = this.connecting_links ? this.connecting_links[0].input : null;\n ctx.lineWidth = 1;\n var max_y = 0;\n var slot_pos = new Float32Array(2);\n if (!node2.flags.collapsed) {\n if (node2.inputs) {\n for (var i2 = 0; i2 < node2.inputs.length; i2++) {\n var slot = node2.inputs[i2];\n var slot_type = slot.type;\n var slot_shape = slot.shape;\n ctx.globalAlpha = editor_alpha;\n if (out_slot && !LiteGraph.isValidConnection(slot.type, out_slot.type)) {\n ctx.globalAlpha = 0.4 * editor_alpha;\n }\n ctx.fillStyle = slot.link != null ? slot.color_on || this.default_connection_color_byType[slot_type] || this.default_connection_color.input_on : slot.color_off || this.default_connection_color_byTypeOff[slot_type] || this.default_connection_color_byType[slot_type] || this.default_connection_color.input_off;\n var pos2 = node2.getConnectionPos(true, i2, slot_pos);\n pos2[0] -= node2.pos[0];\n pos2[1] -= node2.pos[1];\n if (max_y < pos2[1] + LiteGraph.NODE_SLOT_HEIGHT * 0.5) {\n max_y = pos2[1] + LiteGraph.NODE_SLOT_HEIGHT * 0.5;\n }\n ctx.beginPath();\n if (slot_type == \"array\") {\n slot_shape = LiteGraph.GRID_SHAPE;\n }\n var doStroke = true;\n if (slot.type === LiteGraph.EVENT || slot.shape === LiteGraph.BOX_SHAPE) {\n if (horizontal) {\n ctx.rect(\n pos2[0] - 5 + 0.5,\n pos2[1] - 8 + 0.5,\n 10,\n 14\n );\n } else {\n ctx.rect(\n pos2[0] - 6 + 0.5,\n pos2[1] - 5 + 0.5,\n 14,\n 10\n );\n }\n } else if (slot_shape === LiteGraph.ARROW_SHAPE) {\n ctx.moveTo(pos2[0] + 8, pos2[1] + 0.5);\n ctx.lineTo(pos2[0] - 4, pos2[1] + 6 + 0.5);\n ctx.lineTo(pos2[0] - 4, pos2[1] - 6 + 0.5);\n ctx.closePath();\n } else if (slot_shape === LiteGraph.GRID_SHAPE) {\n ctx.rect(pos2[0] - 4, pos2[1] - 4, 2, 2);\n ctx.rect(pos2[0] - 1, pos2[1] - 4, 2, 2);\n ctx.rect(pos2[0] + 2, pos2[1] - 4, 2, 2);\n ctx.rect(pos2[0] - 4, pos2[1] - 1, 2, 2);\n ctx.rect(pos2[0] - 1, pos2[1] - 1, 2, 2);\n ctx.rect(pos2[0] + 2, pos2[1] - 1, 2, 2);\n ctx.rect(pos2[0] - 4, pos2[1] + 2, 2, 2);\n ctx.rect(pos2[0] - 1, pos2[1] + 2, 2, 2);\n ctx.rect(pos2[0] + 2, pos2[1] + 2, 2, 2);\n doStroke = false;\n } else {\n if (low_quality)\n ctx.rect(pos2[0] - 4, pos2[1] - 4, 8, 8);\n else\n ctx.arc(pos2[0], pos2[1], 4, 0, Math.PI * 2);\n }\n ctx.fill();\n if (render_text) {\n var text = slot.label != null ? slot.label : slot.name;\n if (text) {\n ctx.fillStyle = LiteGraph.NODE_TEXT_COLOR;\n if (horizontal || slot.dir == LiteGraph.UP) {\n ctx.fillText(text, pos2[0], pos2[1] - 10);\n } else {\n ctx.fillText(text, pos2[0] + 10, pos2[1] + 5);\n }\n }\n }\n }\n }\n ctx.textAlign = horizontal ? \"center\" : \"right\";\n ctx.strokeStyle = \"black\";\n if (node2.outputs) {\n for (var i2 = 0; i2 < node2.outputs.length; i2++) {\n var slot = node2.outputs[i2];\n var slot_type = slot.type;\n var slot_shape = slot.shape;\n if (in_slot && !LiteGraph.isValidConnection(slot_type, in_slot.type)) {\n ctx.globalAlpha = 0.4 * editor_alpha;\n }\n var pos2 = node2.getConnectionPos(false, i2, slot_pos);\n pos2[0] -= node2.pos[0];\n pos2[1] -= node2.pos[1];\n if (max_y < pos2[1] + LiteGraph.NODE_SLOT_HEIGHT * 0.5) {\n max_y = pos2[1] + LiteGraph.NODE_SLOT_HEIGHT * 0.5;\n }\n ctx.fillStyle = slot.links && slot.links.length ? slot.color_on || this.default_connection_color_byType[slot_type] || this.default_connection_color.output_on : slot.color_off || this.default_connection_color_byTypeOff[slot_type] || this.default_connection_color_byType[slot_type] || this.default_connection_color.output_off;\n ctx.beginPath();\n if (slot_type == \"array\") {\n slot_shape = LiteGraph.GRID_SHAPE;\n }\n var doStroke = true;\n if (slot_type === LiteGraph.EVENT || slot_shape === LiteGraph.BOX_SHAPE) {\n if (horizontal) {\n ctx.rect(\n pos2[0] - 5 + 0.5,\n pos2[1] - 8 + 0.5,\n 10,\n 14\n );\n } else {\n ctx.rect(\n pos2[0] - 6 + 0.5,\n pos2[1] - 5 + 0.5,\n 14,\n 10\n );\n }\n } else if (slot_shape === LiteGraph.ARROW_SHAPE) {\n ctx.moveTo(pos2[0] + 8, pos2[1] + 0.5);\n ctx.lineTo(pos2[0] - 4, pos2[1] + 6 + 0.5);\n ctx.lineTo(pos2[0] - 4, pos2[1] - 6 + 0.5);\n ctx.closePath();\n } else if (slot_shape === LiteGraph.GRID_SHAPE) {\n ctx.rect(pos2[0] - 4, pos2[1] - 4, 2, 2);\n ctx.rect(pos2[0] - 1, pos2[1] - 4, 2, 2);\n ctx.rect(pos2[0] + 2, pos2[1] - 4, 2, 2);\n ctx.rect(pos2[0] - 4, pos2[1] - 1, 2, 2);\n ctx.rect(pos2[0] - 1, pos2[1] - 1, 2, 2);\n ctx.rect(pos2[0] + 2, pos2[1] - 1, 2, 2);\n ctx.rect(pos2[0] - 4, pos2[1] + 2, 2, 2);\n ctx.rect(pos2[0] - 1, pos2[1] + 2, 2, 2);\n ctx.rect(pos2[0] + 2, pos2[1] + 2, 2, 2);\n doStroke = false;\n } else {\n if (low_quality)\n ctx.rect(pos2[0] - 4, pos2[1] - 4, 8, 8);\n else\n ctx.arc(pos2[0], pos2[1], 4, 0, Math.PI * 2);\n }\n ctx.fill();\n if (!low_quality && doStroke)\n ctx.stroke();\n if (render_text) {\n var text = slot.label != null ? slot.label : slot.name;\n if (text) {\n ctx.fillStyle = LiteGraph.NODE_TEXT_COLOR;\n if (horizontal || slot.dir == LiteGraph.DOWN) {\n ctx.fillText(text, pos2[0], pos2[1] - 8);\n } else {\n ctx.fillText(text, pos2[0] - 10, pos2[1] + 5);\n }\n }\n }\n }\n }\n ctx.textAlign = \"left\";\n ctx.globalAlpha = 1;\n if (node2.widgets) {\n var widgets_y = max_y;\n if (horizontal || node2.widgets_up) {\n widgets_y = 2;\n }\n if (node2.widgets_start_y != null)\n widgets_y = node2.widgets_start_y;\n this.drawNodeWidgets(\n node2,\n widgets_y,\n ctx,\n this.node_widget && this.node_widget[0] == node2 ? this.node_widget[1] : null\n );\n }\n } else if (this.render_collapsed_slots) {\n var input_slot = null;\n var output_slot = null;\n if (node2.inputs) {\n for (var i2 = 0; i2 < node2.inputs.length; i2++) {\n var slot = node2.inputs[i2];\n if (slot.link == null) {\n continue;\n }\n input_slot = slot;\n break;\n }\n }\n if (node2.outputs) {\n for (var i2 = 0; i2 < node2.outputs.length; i2++) {\n var slot = node2.outputs[i2];\n if (!slot.links || !slot.links.length) {\n continue;\n }\n output_slot = slot;\n }\n }\n if (input_slot) {\n var x2 = 0;\n var y2 = LiteGraph.NODE_TITLE_HEIGHT * -0.5;\n if (horizontal) {\n x2 = node2._collapsed_width * 0.5;\n y2 = -LiteGraph.NODE_TITLE_HEIGHT;\n }\n ctx.fillStyle = \"#686\";\n ctx.beginPath();\n if (slot.type === LiteGraph.EVENT || slot.shape === LiteGraph.BOX_SHAPE) {\n ctx.rect(x2 - 7 + 0.5, y2 - 4, 14, 8);\n } else if (slot.shape === LiteGraph.ARROW_SHAPE) {\n ctx.moveTo(x2 + 8, y2);\n ctx.lineTo(x2 + -4, y2 - 4);\n ctx.lineTo(x2 + -4, y2 + 4);\n ctx.closePath();\n } else {\n ctx.arc(x2, y2, 4, 0, Math.PI * 2);\n }\n ctx.fill();\n }\n if (output_slot) {\n var x2 = node2._collapsed_width;\n var y2 = LiteGraph.NODE_TITLE_HEIGHT * -0.5;\n if (horizontal) {\n x2 = node2._collapsed_width * 0.5;\n y2 = 0;\n }\n ctx.fillStyle = \"#686\";\n ctx.strokeStyle = \"black\";\n ctx.beginPath();\n if (slot.type === LiteGraph.EVENT || slot.shape === LiteGraph.BOX_SHAPE) {\n ctx.rect(x2 - 7 + 0.5, y2 - 4, 14, 8);\n } else if (slot.shape === LiteGraph.ARROW_SHAPE) {\n ctx.moveTo(x2 + 6, y2);\n ctx.lineTo(x2 - 6, y2 - 4);\n ctx.lineTo(x2 - 6, y2 + 4);\n ctx.closePath();\n } else {\n ctx.arc(x2, y2, 4, 0, Math.PI * 2);\n }\n ctx.fill();\n }\n }\n if (node2.clip_area) {\n ctx.restore();\n }\n ctx.globalAlpha = 1;\n }\n //used by this.over_link_center\n drawLinkTooltip(ctx, link) {\n var pos2 = link._pos;\n ctx.fillStyle = \"black\";\n ctx.beginPath();\n ctx.arc(pos2[0], pos2[1], 3, 0, Math.PI * 2);\n ctx.fill();\n if (link.data == null)\n return;\n if (this.onDrawLinkTooltip) {\n if (this.onDrawLinkTooltip(ctx, link, this) == true)\n return;\n }\n var data = link.data;\n var text = null;\n if (data.constructor === Number)\n text = data.toFixed(2);\n else if (data.constructor === String)\n text = '\"' + data + '\"';\n else if (data.constructor === Boolean)\n text = String(data);\n else if (data.toToolTip)\n text = data.toToolTip();\n else\n text = \"[\" + data.constructor.name + \"]\";\n if (text == null)\n return;\n text = text.substr(0, 30);\n ctx.font = \"14px Courier New\";\n var info = ctx.measureText(text);\n var w2 = info.width + 20;\n var h = 24;\n ctx.shadowColor = \"black\";\n ctx.shadowOffsetX = 2;\n ctx.shadowOffsetY = 2;\n ctx.shadowBlur = 3;\n ctx.fillStyle = \"#454\";\n ctx.beginPath();\n ctx.roundRect(pos2[0] - w2 * 0.5, pos2[1] - 15 - h, w2, h, [3]);\n ctx.moveTo(pos2[0] - 10, pos2[1] - 15);\n ctx.lineTo(pos2[0] + 10, pos2[1] - 15);\n ctx.lineTo(pos2[0], pos2[1] - 5);\n ctx.fill();\n ctx.shadowColor = \"transparent\";\n ctx.textAlign = \"center\";\n ctx.fillStyle = \"#CEC\";\n ctx.fillText(text, pos2[0], pos2[1] - 15 - h * 0.3);\n }\n /**\n * draws the shape of the given node in the canvas\n * @method drawNodeShape\n **/\n drawNodeShape(node2, ctx, size, fgcolor, bgcolor, selected, mouse_over) {\n ctx.strokeStyle = fgcolor;\n ctx.fillStyle = bgcolor;\n var title_height = LiteGraph.NODE_TITLE_HEIGHT;\n var low_quality = this.ds.scale < 0.5;\n var shape = node2._shape || node2.constructor.shape || LiteGraph.ROUND_SHAPE;\n var title_mode = node2.constructor.title_mode;\n var render_title = true;\n if (title_mode == LiteGraph.TRANSPARENT_TITLE || title_mode == LiteGraph.NO_TITLE) {\n render_title = false;\n } else if (title_mode == LiteGraph.AUTOHIDE_TITLE && mouse_over) {\n render_title = true;\n }\n var area = __privateGet(_LGraphCanvas, _tmp_area);\n area[0] = 0;\n area[1] = render_title ? -title_height : 0;\n area[2] = size[0] + 1;\n area[3] = render_title ? size[1] + title_height : size[1];\n var old_alpha = ctx.globalAlpha;\n {\n ctx.beginPath();\n if (shape == LiteGraph.BOX_SHAPE || low_quality) {\n ctx.fillRect(area[0], area[1], area[2], area[3]);\n } else if (shape == LiteGraph.ROUND_SHAPE || shape == LiteGraph.CARD_SHAPE) {\n ctx.roundRect(\n area[0],\n area[1],\n area[2],\n area[3],\n shape == LiteGraph.CARD_SHAPE ? [this.round_radius, this.round_radius, 0, 0] : [this.round_radius]\n );\n } else if (shape == LiteGraph.CIRCLE_SHAPE) {\n ctx.arc(\n size[0] * 0.5,\n size[1] * 0.5,\n size[0] * 0.5,\n 0,\n Math.PI * 2\n );\n }\n ctx.fill();\n if (!node2.flags.collapsed && render_title) {\n ctx.shadowColor = \"transparent\";\n ctx.fillStyle = \"rgba(0,0,0,0.2)\";\n ctx.fillRect(0, -1, area[2], 2);\n }\n }\n ctx.shadowColor = \"transparent\";\n if (node2.onDrawBackground) {\n node2.onDrawBackground(ctx, this, this.canvas, this.graph_mouse);\n }\n if (render_title || title_mode == LiteGraph.TRANSPARENT_TITLE) {\n if (node2.onDrawTitleBar) {\n node2.onDrawTitleBar(ctx, title_height, size, this.ds.scale, fgcolor);\n } else if (title_mode != LiteGraph.TRANSPARENT_TITLE && (node2.constructor.title_color || this.render_title_colored)) {\n var title_color = node2.constructor.title_color || fgcolor;\n if (node2.flags.collapsed) {\n ctx.shadowColor = LiteGraph.DEFAULT_SHADOW_COLOR;\n }\n if (this.use_gradients) {\n var grad = _LGraphCanvas.gradients[title_color];\n if (!grad) {\n grad = _LGraphCanvas.gradients[title_color] = ctx.createLinearGradient(0, 0, 400, 0);\n grad.addColorStop(0, title_color);\n grad.addColorStop(1, \"#000\");\n }\n ctx.fillStyle = grad;\n } else {\n ctx.fillStyle = title_color;\n }\n ctx.beginPath();\n if (shape == LiteGraph.BOX_SHAPE || low_quality) {\n ctx.rect(0, -title_height, size[0] + 1, title_height);\n } else if (shape == LiteGraph.ROUND_SHAPE || shape == LiteGraph.CARD_SHAPE) {\n ctx.roundRect(\n 0,\n -title_height,\n size[0] + 1,\n title_height,\n node2.flags.collapsed ? [this.round_radius] : [this.round_radius, this.round_radius, 0, 0]\n );\n }\n ctx.fill();\n ctx.shadowColor = \"transparent\";\n }\n var colState = false;\n if (LiteGraph.node_box_coloured_by_mode) {\n if (LiteGraph.NODE_MODES_COLORS[node2.mode]) {\n colState = LiteGraph.NODE_MODES_COLORS[node2.mode];\n }\n }\n if (LiteGraph.node_box_coloured_when_on) {\n colState = node2.action_triggered ? \"#FFF\" : node2.execute_triggered ? \"#AAA\" : colState;\n }\n var box_size = 10;\n if (node2.onDrawTitleBox) {\n node2.onDrawTitleBox(ctx, title_height, size, this.ds.scale);\n } else if (shape == LiteGraph.ROUND_SHAPE || shape == LiteGraph.CIRCLE_SHAPE || shape == LiteGraph.CARD_SHAPE) {\n if (low_quality) {\n ctx.fillStyle = \"black\";\n ctx.beginPath();\n ctx.arc(\n title_height * 0.5,\n title_height * -0.5,\n box_size * 0.5 + 1,\n 0,\n Math.PI * 2\n );\n ctx.fill();\n }\n ctx.fillStyle = node2.boxcolor || colState || LiteGraph.NODE_DEFAULT_BOXCOLOR;\n if (low_quality)\n ctx.fillRect(title_height * 0.5 - box_size * 0.5, title_height * -0.5 - box_size * 0.5, box_size, box_size);\n else {\n ctx.beginPath();\n ctx.arc(\n title_height * 0.5,\n title_height * -0.5,\n box_size * 0.5,\n 0,\n Math.PI * 2\n );\n ctx.fill();\n }\n } else {\n if (low_quality) {\n ctx.fillStyle = \"black\";\n ctx.fillRect(\n (title_height - box_size) * 0.5 - 1,\n (title_height + box_size) * -0.5 - 1,\n box_size + 2,\n box_size + 2\n );\n }\n ctx.fillStyle = node2.boxcolor || colState || LiteGraph.NODE_DEFAULT_BOXCOLOR;\n ctx.fillRect(\n (title_height - box_size) * 0.5,\n (title_height + box_size) * -0.5,\n box_size,\n box_size\n );\n }\n ctx.globalAlpha = old_alpha;\n if (node2.onDrawTitleText) {\n node2.onDrawTitleText(\n ctx,\n title_height,\n size,\n this.ds.scale,\n this.title_text_font,\n selected\n );\n }\n if (!low_quality) {\n ctx.font = this.title_text_font;\n var title = String(node2.getTitle());\n if (title) {\n if (selected) {\n ctx.fillStyle = LiteGraph.NODE_SELECTED_TITLE_COLOR;\n } else {\n ctx.fillStyle = node2.constructor.title_text_color || this.node_title_color;\n }\n if (node2.flags.collapsed) {\n ctx.textAlign = \"left\";\n ctx.measureText(title);\n ctx.fillText(\n title.substr(0, 20),\n //avoid urls too long\n title_height,\n // + measure.width * 0.5,\n LiteGraph.NODE_TITLE_TEXT_Y - title_height\n );\n ctx.textAlign = \"left\";\n } else {\n ctx.textAlign = \"left\";\n ctx.fillText(\n title,\n title_height,\n LiteGraph.NODE_TITLE_TEXT_Y - title_height\n );\n }\n }\n }\n if (!node2.flags.collapsed && node2.subgraph && !node2.skip_subgraph_button) {\n var w2 = LiteGraph.NODE_TITLE_HEIGHT;\n var x2 = node2.size[0] - w2;\n var over = LiteGraph.isInsideRectangle(this.graph_mouse[0] - node2.pos[0], this.graph_mouse[1] - node2.pos[1], x2 + 2, -w2 + 2, w2 - 4, w2 - 4);\n ctx.fillStyle = over ? \"#888\" : \"#555\";\n if (shape == LiteGraph.BOX_SHAPE || low_quality)\n ctx.fillRect(x2 + 2, -w2 + 2, w2 - 4, w2 - 4);\n else {\n ctx.beginPath();\n ctx.roundRect(x2 + 2, -w2 + 2, w2 - 4, w2 - 4, [4]);\n ctx.fill();\n }\n ctx.fillStyle = \"#333\";\n ctx.beginPath();\n ctx.moveTo(x2 + w2 * 0.2, -w2 * 0.6);\n ctx.lineTo(x2 + w2 * 0.8, -w2 * 0.6);\n ctx.lineTo(x2 + w2 * 0.5, -w2 * 0.3);\n ctx.fill();\n }\n if (node2.onDrawTitle) {\n node2.onDrawTitle(ctx);\n }\n }\n if (selected) {\n if (node2.onBounding) {\n node2.onBounding(area);\n }\n if (title_mode == LiteGraph.TRANSPARENT_TITLE) {\n area[1] -= title_height;\n area[3] += title_height;\n }\n ctx.lineWidth = 1;\n ctx.globalAlpha = 0.8;\n ctx.beginPath();\n if (shape == LiteGraph.BOX_SHAPE) {\n ctx.rect(\n -6 + area[0],\n -6 + area[1],\n 12 + area[2],\n 12 + area[3]\n );\n } else if (shape == LiteGraph.ROUND_SHAPE || shape == LiteGraph.CARD_SHAPE && node2.flags.collapsed) {\n ctx.roundRect(\n -6 + area[0],\n -6 + area[1],\n 12 + area[2],\n 12 + area[3],\n [this.round_radius * 2]\n );\n } else if (shape == LiteGraph.CARD_SHAPE) {\n ctx.roundRect(\n -6 + area[0],\n -6 + area[1],\n 12 + area[2],\n 12 + area[3],\n [this.round_radius * 2, 2, this.round_radius * 2, 2]\n );\n } else if (shape == LiteGraph.CIRCLE_SHAPE) {\n ctx.arc(\n size[0] * 0.5,\n size[1] * 0.5,\n size[0] * 0.5 + 6,\n 0,\n Math.PI * 2\n );\n }\n ctx.strokeStyle = LiteGraph.NODE_BOX_OUTLINE_COLOR;\n ctx.stroke();\n ctx.strokeStyle = fgcolor;\n ctx.globalAlpha = 1;\n }\n if (node2.execute_triggered > 0) node2.execute_triggered--;\n if (node2.action_triggered > 0) node2.action_triggered--;\n }\n drawConnections(ctx) {\n var now = LiteGraph.getTime();\n var visible_area = this.visible_area;\n __privateGet(_LGraphCanvas, _margin_area)[0] = visible_area[0] - 20;\n __privateGet(_LGraphCanvas, _margin_area)[1] = visible_area[1] - 20;\n __privateGet(_LGraphCanvas, _margin_area)[2] = visible_area[2] + 40;\n __privateGet(_LGraphCanvas, _margin_area)[3] = visible_area[3] + 40;\n ctx.lineWidth = this.connections_width;\n ctx.fillStyle = \"#AAA\";\n ctx.strokeStyle = \"#AAA\";\n ctx.globalAlpha = this.editor_alpha;\n var nodes = this.graph._nodes;\n for (var n = 0, l = nodes.length; n < l; ++n) {\n var node2 = nodes[n];\n if (!node2.inputs || !node2.inputs.length) {\n continue;\n }\n for (var i2 = 0; i2 < node2.inputs.length; ++i2) {\n var input = node2.inputs[i2];\n if (!input || input.link == null) {\n continue;\n }\n var link_id = input.link;\n var link = this.graph.links[link_id];\n if (!link) {\n continue;\n }\n var start_node = this.graph.getNodeById(link.origin_id);\n if (start_node == null) {\n continue;\n }\n var start_node_slot = link.origin_slot;\n var start_node_slotpos = null;\n if (start_node_slot == -1) {\n start_node_slotpos = [\n start_node.pos[0] + 10,\n start_node.pos[1] + 10\n ];\n } else {\n start_node_slotpos = start_node.getConnectionPos(\n false,\n start_node_slot,\n __privateGet(_LGraphCanvas, _tempA)\n );\n }\n var end_node_slotpos = node2.getConnectionPos(true, i2, __privateGet(_LGraphCanvas, _tempB));\n __privateGet(_LGraphCanvas, _link_bounding)[0] = start_node_slotpos[0];\n __privateGet(_LGraphCanvas, _link_bounding)[1] = start_node_slotpos[1];\n __privateGet(_LGraphCanvas, _link_bounding)[2] = end_node_slotpos[0] - start_node_slotpos[0];\n __privateGet(_LGraphCanvas, _link_bounding)[3] = end_node_slotpos[1] - start_node_slotpos[1];\n if (__privateGet(_LGraphCanvas, _link_bounding)[2] < 0) {\n __privateGet(_LGraphCanvas, _link_bounding)[0] += __privateGet(_LGraphCanvas, _link_bounding)[2];\n __privateGet(_LGraphCanvas, _link_bounding)[2] = Math.abs(__privateGet(_LGraphCanvas, _link_bounding)[2]);\n }\n if (__privateGet(_LGraphCanvas, _link_bounding)[3] < 0) {\n __privateGet(_LGraphCanvas, _link_bounding)[1] += __privateGet(_LGraphCanvas, _link_bounding)[3];\n __privateGet(_LGraphCanvas, _link_bounding)[3] = Math.abs(__privateGet(_LGraphCanvas, _link_bounding)[3]);\n }\n if (!overlapBounding(__privateGet(_LGraphCanvas, _link_bounding), __privateGet(_LGraphCanvas, _margin_area))) {\n continue;\n }\n var start_slot = start_node.outputs[start_node_slot];\n var end_slot = node2.inputs[i2];\n if (!start_slot || !end_slot) {\n continue;\n }\n var start_dir = start_slot.dir || (start_node.horizontal ? LiteGraph.DOWN : LiteGraph.RIGHT);\n var end_dir = end_slot.dir || (node2.horizontal ? LiteGraph.UP : LiteGraph.LEFT);\n this.renderLink(\n ctx,\n start_node_slotpos,\n end_node_slotpos,\n link,\n false,\n 0,\n null,\n start_dir,\n end_dir\n );\n if (link && link._last_time && now - link._last_time < 1e3) {\n var f = 2 - (now - link._last_time) * 2e-3;\n var tmp = ctx.globalAlpha;\n ctx.globalAlpha = tmp * f;\n this.renderLink(\n ctx,\n start_node_slotpos,\n end_node_slotpos,\n link,\n true,\n f,\n \"white\",\n start_dir,\n end_dir\n );\n ctx.globalAlpha = tmp;\n }\n }\n }\n ctx.globalAlpha = 1;\n }\n /**\n * draws a link between two points\n * @method renderLink\n * @param {vec2} a start pos\n * @param {vec2} b end pos\n * @param {Object} link the link object with all the link info\n * @param {boolean} skip_border ignore the shadow of the link\n * @param {boolean} flow show flow animation (for events)\n * @param {string} color the color for the link\n * @param {number} start_dir the direction enum\n * @param {number} end_dir the direction enum\n * @param {number} num_sublines number of sublines (useful to represent vec3 or rgb)\n **/\n renderLink(ctx, a, b, link, skip_border, flow, color, start_dir, end_dir, num_sublines) {\n if (link) {\n this.visible_links.push(link);\n }\n if (!color && link) {\n color = link.color || _LGraphCanvas.link_type_colors[link.type];\n }\n if (!color) {\n color = this.default_link_color;\n }\n if (link != null && this.highlighted_links[link.id]) {\n color = \"#FFF\";\n }\n start_dir = start_dir || LiteGraph.RIGHT;\n end_dir = end_dir || LiteGraph.LEFT;\n var dist = distance(a, b);\n if (this.render_connections_border && this.ds.scale > 0.6) {\n ctx.lineWidth = this.connections_width + 4;\n }\n ctx.lineJoin = \"round\";\n num_sublines = num_sublines || 1;\n if (num_sublines > 1) {\n ctx.lineWidth = 0.5;\n }\n ctx.beginPath();\n for (var i2 = 0; i2 < num_sublines; i2 += 1) {\n var offsety = (i2 - (num_sublines - 1) * 0.5) * 5;\n if (this.links_render_mode == LiteGraph.SPLINE_LINK) {\n ctx.moveTo(a[0], a[1] + offsety);\n var start_offset_x = 0;\n var start_offset_y = 0;\n var end_offset_x = 0;\n var end_offset_y = 0;\n switch (start_dir) {\n case LiteGraph.LEFT:\n start_offset_x = dist * -0.25;\n break;\n case LiteGraph.RIGHT:\n start_offset_x = dist * 0.25;\n break;\n case LiteGraph.UP:\n start_offset_y = dist * -0.25;\n break;\n case LiteGraph.DOWN:\n start_offset_y = dist * 0.25;\n break;\n }\n switch (end_dir) {\n case LiteGraph.LEFT:\n end_offset_x = dist * -0.25;\n break;\n case LiteGraph.RIGHT:\n end_offset_x = dist * 0.25;\n break;\n case LiteGraph.UP:\n end_offset_y = dist * -0.25;\n break;\n case LiteGraph.DOWN:\n end_offset_y = dist * 0.25;\n break;\n }\n ctx.bezierCurveTo(\n a[0] + start_offset_x,\n a[1] + start_offset_y + offsety,\n b[0] + end_offset_x,\n b[1] + end_offset_y + offsety,\n b[0],\n b[1] + offsety\n );\n } else if (this.links_render_mode == LiteGraph.LINEAR_LINK) {\n ctx.moveTo(a[0], a[1] + offsety);\n var start_offset_x = 0;\n var start_offset_y = 0;\n var end_offset_x = 0;\n var end_offset_y = 0;\n switch (start_dir) {\n case LiteGraph.LEFT:\n start_offset_x = -1;\n break;\n case LiteGraph.RIGHT:\n start_offset_x = 1;\n break;\n case LiteGraph.UP:\n start_offset_y = -1;\n break;\n case LiteGraph.DOWN:\n start_offset_y = 1;\n break;\n }\n switch (end_dir) {\n case LiteGraph.LEFT:\n end_offset_x = -1;\n break;\n case LiteGraph.RIGHT:\n end_offset_x = 1;\n break;\n case LiteGraph.UP:\n end_offset_y = -1;\n break;\n case LiteGraph.DOWN:\n end_offset_y = 1;\n break;\n }\n var l = 15;\n ctx.lineTo(\n a[0] + start_offset_x * l,\n a[1] + start_offset_y * l + offsety\n );\n ctx.lineTo(\n b[0] + end_offset_x * l,\n b[1] + end_offset_y * l + offsety\n );\n ctx.lineTo(b[0], b[1] + offsety);\n } else if (this.links_render_mode == LiteGraph.STRAIGHT_LINK) {\n ctx.moveTo(a[0], a[1]);\n var start_x = a[0];\n var start_y = a[1];\n var end_x = b[0];\n var end_y = b[1];\n if (start_dir == LiteGraph.RIGHT) {\n start_x += 10;\n } else {\n start_y += 10;\n }\n if (end_dir == LiteGraph.LEFT) {\n end_x -= 10;\n } else {\n end_y -= 10;\n }\n ctx.lineTo(start_x, start_y);\n ctx.lineTo((start_x + end_x) * 0.5, start_y);\n ctx.lineTo((start_x + end_x) * 0.5, end_y);\n ctx.lineTo(end_x, end_y);\n ctx.lineTo(b[0], b[1]);\n } else {\n return;\n }\n }\n if (this.render_connections_border && this.ds.scale > 0.6 && !skip_border) {\n ctx.strokeStyle = \"rgba(0,0,0,0.5)\";\n ctx.stroke();\n }\n ctx.lineWidth = this.connections_width;\n ctx.fillStyle = ctx.strokeStyle = color;\n ctx.stroke();\n var pos2 = this.computeConnectionPoint(a, b, 0.5, start_dir, end_dir);\n if (link && link._pos) {\n link._pos[0] = pos2[0];\n link._pos[1] = pos2[1];\n }\n if (this.ds.scale >= 0.6 && this.highquality_render && end_dir != LiteGraph.CENTER) {\n if (this.render_connection_arrows) {\n var posA = this.computeConnectionPoint(\n a,\n b,\n 0.25,\n start_dir,\n end_dir\n );\n var posB = this.computeConnectionPoint(\n a,\n b,\n 0.26,\n start_dir,\n end_dir\n );\n var posC = this.computeConnectionPoint(\n a,\n b,\n 0.75,\n start_dir,\n end_dir\n );\n var posD = this.computeConnectionPoint(\n a,\n b,\n 0.76,\n start_dir,\n end_dir\n );\n var angleA = 0;\n var angleB = 0;\n if (this.render_curved_connections) {\n angleA = -Math.atan2(posB[0] - posA[0], posB[1] - posA[1]);\n angleB = -Math.atan2(posD[0] - posC[0], posD[1] - posC[1]);\n } else {\n angleB = angleA = b[1] > a[1] ? 0 : Math.PI;\n }\n ctx.save();\n ctx.translate(posA[0], posA[1]);\n ctx.rotate(angleA);\n ctx.beginPath();\n ctx.moveTo(-5, -3);\n ctx.lineTo(0, 7);\n ctx.lineTo(5, -3);\n ctx.fill();\n ctx.restore();\n ctx.save();\n ctx.translate(posC[0], posC[1]);\n ctx.rotate(angleB);\n ctx.beginPath();\n ctx.moveTo(-5, -3);\n ctx.lineTo(0, 7);\n ctx.lineTo(5, -3);\n ctx.fill();\n ctx.restore();\n }\n ctx.beginPath();\n ctx.arc(pos2[0], pos2[1], 5, 0, Math.PI * 2);\n ctx.fill();\n }\n if (flow) {\n ctx.fillStyle = color;\n for (var i2 = 0; i2 < 5; ++i2) {\n var f = (LiteGraph.getTime() * 1e-3 + i2 * 0.2) % 1;\n var pos2 = this.computeConnectionPoint(\n a,\n b,\n f,\n start_dir,\n end_dir\n );\n ctx.beginPath();\n ctx.arc(pos2[0], pos2[1], 5, 0, 2 * Math.PI);\n ctx.fill();\n }\n }\n }\n //returns the link center point based on curvature\n computeConnectionPoint(a, b, t, start_dir, end_dir) {\n start_dir = start_dir || LiteGraph.RIGHT;\n end_dir = end_dir || LiteGraph.LEFT;\n var dist = distance(a, b);\n var p0 = a;\n var p1 = [a[0], a[1]];\n var p2 = [b[0], b[1]];\n var p3 = b;\n switch (start_dir) {\n case LiteGraph.LEFT:\n p1[0] += dist * -0.25;\n break;\n case LiteGraph.RIGHT:\n p1[0] += dist * 0.25;\n break;\n case LiteGraph.UP:\n p1[1] += dist * -0.25;\n break;\n case LiteGraph.DOWN:\n p1[1] += dist * 0.25;\n break;\n }\n switch (end_dir) {\n case LiteGraph.LEFT:\n p2[0] += dist * -0.25;\n break;\n case LiteGraph.RIGHT:\n p2[0] += dist * 0.25;\n break;\n case LiteGraph.UP:\n p2[1] += dist * -0.25;\n break;\n case LiteGraph.DOWN:\n p2[1] += dist * 0.25;\n break;\n }\n var c1 = (1 - t) * (1 - t) * (1 - t);\n var c2 = 3 * ((1 - t) * (1 - t)) * t;\n var c3 = 3 * (1 - t) * (t * t);\n var c4 = t * t * t;\n var x2 = c1 * p0[0] + c2 * p1[0] + c3 * p2[0] + c4 * p3[0];\n var y2 = c1 * p0[1] + c2 * p1[1] + c3 * p2[1] + c4 * p3[1];\n return [x2, y2];\n }\n drawExecutionOrder(ctx) {\n ctx.shadowColor = \"transparent\";\n ctx.globalAlpha = 0.25;\n ctx.textAlign = \"center\";\n ctx.strokeStyle = \"white\";\n ctx.globalAlpha = 0.75;\n var visible_nodes = this.visible_nodes;\n for (var i2 = 0; i2 < visible_nodes.length; ++i2) {\n var node2 = visible_nodes[i2];\n ctx.fillStyle = \"black\";\n ctx.fillRect(\n node2.pos[0] - LiteGraph.NODE_TITLE_HEIGHT,\n node2.pos[1] - LiteGraph.NODE_TITLE_HEIGHT,\n LiteGraph.NODE_TITLE_HEIGHT,\n LiteGraph.NODE_TITLE_HEIGHT\n );\n if (node2.order == 0) {\n ctx.strokeRect(\n node2.pos[0] - LiteGraph.NODE_TITLE_HEIGHT + 0.5,\n node2.pos[1] - LiteGraph.NODE_TITLE_HEIGHT + 0.5,\n LiteGraph.NODE_TITLE_HEIGHT,\n LiteGraph.NODE_TITLE_HEIGHT\n );\n }\n ctx.fillStyle = \"#FFF\";\n ctx.fillText(\n node2.order,\n node2.pos[0] + LiteGraph.NODE_TITLE_HEIGHT * -0.5,\n node2.pos[1] - 6\n );\n }\n ctx.globalAlpha = 1;\n }\n /**\n * draws the widgets stored inside a node\n * @method drawNodeWidgets\n **/\n drawNodeWidgets(node2, posY, ctx, active_widget2) {\n if (!node2.widgets || !node2.widgets.length) {\n return 0;\n }\n var width2 = node2.size[0];\n var widgets = node2.widgets;\n posY += 2;\n var H = LiteGraph.NODE_WIDGET_HEIGHT;\n var show_text = this.ds.scale > 0.5;\n ctx.save();\n ctx.globalAlpha = this.editor_alpha;\n var outline_color = LiteGraph.WIDGET_OUTLINE_COLOR;\n var background_color = LiteGraph.WIDGET_BGCOLOR;\n var text_color = LiteGraph.WIDGET_TEXT_COLOR;\n var secondary_text_color = LiteGraph.WIDGET_SECONDARY_TEXT_COLOR;\n var margin = 15;\n for (var i2 = 0; i2 < widgets.length; ++i2) {\n var w2 = widgets[i2];\n var y2 = posY;\n if (w2.y) {\n y2 = w2.y;\n }\n w2.last_y = y2;\n ctx.strokeStyle = outline_color;\n ctx.fillStyle = \"#222\";\n ctx.textAlign = \"left\";\n if (w2.disabled)\n ctx.globalAlpha *= 0.5;\n var widget_width2 = w2.width || width2;\n switch (w2.type) {\n case \"button\":\n ctx.fillStyle = background_color;\n if (w2.clicked) {\n ctx.fillStyle = \"#AAA\";\n w2.clicked = false;\n this.dirty_canvas = true;\n }\n ctx.fillRect(margin, y2, widget_width2 - margin * 2, H);\n if (show_text && !w2.disabled)\n ctx.strokeRect(margin, y2, widget_width2 - margin * 2, H);\n if (show_text) {\n ctx.textAlign = \"center\";\n ctx.fillStyle = text_color;\n ctx.fillText(w2.label || w2.name, widget_width2 * 0.5, y2 + H * 0.7);\n }\n break;\n case \"toggle\":\n ctx.textAlign = \"left\";\n ctx.strokeStyle = outline_color;\n ctx.fillStyle = background_color;\n ctx.beginPath();\n if (show_text)\n ctx.roundRect(margin, y2, widget_width2 - margin * 2, H, [H * 0.5]);\n else\n ctx.rect(margin, y2, widget_width2 - margin * 2, H);\n ctx.fill();\n if (show_text && !w2.disabled)\n ctx.stroke();\n ctx.fillStyle = w2.value ? \"#89A\" : \"#333\";\n ctx.beginPath();\n ctx.arc(widget_width2 - margin * 2, y2 + H * 0.5, H * 0.36, 0, Math.PI * 2);\n ctx.fill();\n if (show_text) {\n ctx.fillStyle = secondary_text_color;\n const label = w2.label || w2.name;\n if (label != null) {\n ctx.fillText(label, margin * 2, y2 + H * 0.7);\n }\n ctx.fillStyle = w2.value ? text_color : secondary_text_color;\n ctx.textAlign = \"right\";\n ctx.fillText(\n w2.value ? w2.options.on || \"true\" : w2.options.off || \"false\",\n widget_width2 - 40,\n y2 + H * 0.7\n );\n }\n break;\n case \"slider\":\n ctx.fillStyle = background_color;\n ctx.fillRect(margin, y2, widget_width2 - margin * 2, H);\n var range = w2.options.max - w2.options.min;\n var nvalue2 = (w2.value - w2.options.min) / range;\n if (nvalue2 < 0) nvalue2 = 0;\n if (nvalue2 > 1) nvalue2 = 1;\n ctx.fillStyle = w2.options.hasOwnProperty(\"slider_color\") ? w2.options.slider_color : active_widget2 == w2 ? \"#89A\" : \"#678\";\n ctx.fillRect(margin, y2, nvalue2 * (widget_width2 - margin * 2), H);\n if (show_text && !w2.disabled)\n ctx.strokeRect(margin, y2, widget_width2 - margin * 2, H);\n if (w2.marker) {\n var marker_nvalue = (w2.marker - w2.options.min) / range;\n if (marker_nvalue < 0) marker_nvalue = 0;\n if (marker_nvalue > 1) marker_nvalue = 1;\n ctx.fillStyle = w2.options.hasOwnProperty(\"marker_color\") ? w2.options.marker_color : \"#AA9\";\n ctx.fillRect(margin + marker_nvalue * (widget_width2 - margin * 2), y2, 2, H);\n }\n if (show_text) {\n ctx.textAlign = \"center\";\n ctx.fillStyle = text_color;\n ctx.fillText(\n w2.label || w2.name + \" \" + Number(w2.value).toFixed(\n w2.options.precision != null ? w2.options.precision : 3\n ),\n widget_width2 * 0.5,\n y2 + H * 0.7\n );\n }\n break;\n case \"number\":\n case \"combo\":\n ctx.textAlign = \"left\";\n ctx.strokeStyle = outline_color;\n ctx.fillStyle = background_color;\n ctx.beginPath();\n if (show_text)\n ctx.roundRect(margin, y2, widget_width2 - margin * 2, H, [H * 0.5]);\n else\n ctx.rect(margin, y2, widget_width2 - margin * 2, H);\n ctx.fill();\n if (show_text) {\n if (!w2.disabled)\n ctx.stroke();\n ctx.fillStyle = text_color;\n if (!w2.disabled) {\n ctx.beginPath();\n ctx.moveTo(margin + 16, y2 + 5);\n ctx.lineTo(margin + 6, y2 + H * 0.5);\n ctx.lineTo(margin + 16, y2 + H - 5);\n ctx.fill();\n ctx.beginPath();\n ctx.moveTo(widget_width2 - margin - 16, y2 + 5);\n ctx.lineTo(widget_width2 - margin - 6, y2 + H * 0.5);\n ctx.lineTo(widget_width2 - margin - 16, y2 + H - 5);\n ctx.fill();\n }\n ctx.fillStyle = secondary_text_color;\n ctx.fillText(w2.label || w2.name, margin * 2 + 5, y2 + H * 0.7);\n ctx.fillStyle = text_color;\n ctx.textAlign = \"right\";\n if (w2.type == \"number\") {\n ctx.fillText(\n Number(w2.value).toFixed(\n w2.options.precision !== void 0 ? w2.options.precision : 3\n ),\n widget_width2 - margin * 2 - 20,\n y2 + H * 0.7\n );\n } else {\n var v2 = w2.value;\n if (w2.options.values) {\n var values2 = w2.options.values;\n if (values2.constructor === Function)\n values2 = values2();\n if (values2 && values2.constructor !== Array)\n v2 = values2[w2.value];\n }\n const labelWidth = ctx.measureText(w2.label || w2.name).width + margin * 2;\n const inputWidth = widget_width2 - margin * 4;\n const availableWidth = inputWidth - labelWidth;\n const textWidth = ctx.measureText(v2).width;\n if (textWidth > availableWidth) {\n const ELLIPSIS = \"…\";\n const ellipsisWidth = ctx.measureText(ELLIPSIS).width;\n const charWidthAvg = ctx.measureText(\"a\").width;\n if (availableWidth <= ellipsisWidth) {\n v2 = \"․\";\n } else {\n v2 = `${v2}`;\n const overflowWidth = textWidth + ellipsisWidth - availableWidth;\n if (overflowWidth + charWidthAvg * 3 > availableWidth) {\n const preciseRange = availableWidth + charWidthAvg * 3;\n const preTruncateCt = Math.floor((preciseRange - ellipsisWidth) / charWidthAvg);\n v2 = v2.substr(0, preTruncateCt);\n }\n while (ctx.measureText(v2).width + ellipsisWidth > availableWidth) {\n v2 = v2.substr(0, v2.length - 1);\n }\n v2 += ELLIPSIS;\n }\n }\n ctx.fillText(\n v2,\n widget_width2 - margin * 2 - 20,\n y2 + H * 0.7\n );\n }\n }\n break;\n case \"string\":\n case \"text\":\n ctx.textAlign = \"left\";\n ctx.strokeStyle = outline_color;\n ctx.fillStyle = background_color;\n ctx.beginPath();\n if (show_text)\n ctx.roundRect(margin, y2, widget_width2 - margin * 2, H, [H * 0.5]);\n else\n ctx.rect(margin, y2, widget_width2 - margin * 2, H);\n ctx.fill();\n if (show_text) {\n if (!w2.disabled)\n ctx.stroke();\n ctx.save();\n ctx.beginPath();\n ctx.rect(margin, y2, widget_width2 - margin * 2, H);\n ctx.clip();\n ctx.fillStyle = secondary_text_color;\n const label = w2.label || w2.name;\n if (label != null) {\n ctx.fillText(label, margin * 2, y2 + H * 0.7);\n }\n ctx.fillStyle = text_color;\n ctx.textAlign = \"right\";\n ctx.fillText(String(w2.value).substr(0, 30), widget_width2 - margin * 2, y2 + H * 0.7);\n ctx.restore();\n }\n break;\n default:\n if (w2.draw) {\n w2.draw(ctx, node2, widget_width2, y2, H);\n }\n break;\n }\n posY += (w2.computeSize ? w2.computeSize(widget_width2)[1] : H) + 4;\n ctx.globalAlpha = this.editor_alpha;\n }\n ctx.restore();\n ctx.textAlign = \"left\";\n }\n /**\n * process an event on widgets\n * @method processNodeWidgets\n **/\n processNodeWidgets(node, pos, event, active_widget) {\n if (!node.widgets || !node.widgets.length || !this.allow_interaction && !node.flags.allow_interaction) {\n return null;\n }\n var x = pos[0] - node.pos[0];\n var y = pos[1] - node.pos[1];\n var width = node.size[0];\n var that = this;\n var ref_window = this.getCanvasWindow();\n for (var i = 0; i < node.widgets.length; ++i) {\n var w = node.widgets[i];\n if (!w || w.disabled)\n continue;\n var widget_height = w.computeSize ? w.computeSize(width)[1] : LiteGraph.NODE_WIDGET_HEIGHT;\n var widget_width = w.width || width;\n if (w != active_widget && (x < 6 || x > widget_width - 12 || y < w.last_y || y > w.last_y + widget_height || w.last_y === void 0))\n continue;\n var old_value = w.value;\n switch (w.type) {\n case \"button\":\n if (event.type === LiteGraph.pointerevents_method + \"down\") {\n if (w.callback) {\n setTimeout(function() {\n w.callback(w, that, node, pos, event);\n }, 20);\n }\n w.clicked = true;\n this.dirty_canvas = true;\n }\n break;\n case \"slider\":\n var old_value = w.value;\n var nvalue = clamp((x - 15) / (widget_width - 30), 0, 1);\n if (w.options.read_only) break;\n w.value = w.options.min + (w.options.max - w.options.min) * nvalue;\n if (old_value != w.value) {\n setTimeout(function() {\n inner_value_change(w, w.value);\n }, 20);\n }\n this.dirty_canvas = true;\n break;\n case \"number\":\n case \"combo\":\n var old_value = w.value;\n var delta = x < 40 ? -1 : x > widget_width - 40 ? 1 : 0;\n var allow_scroll = true;\n if (delta) {\n if (x > -3 && x < widget_width + 3) {\n allow_scroll = false;\n }\n }\n if (allow_scroll && event.type == LiteGraph.pointerevents_method + \"move\" && w.type == \"number\") {\n if (event.deltaX)\n w.value += event.deltaX * 0.1 * (w.options.step || 1);\n if (w.options.min != null && w.value < w.options.min) {\n w.value = w.options.min;\n }\n if (w.options.max != null && w.value > w.options.max) {\n w.value = w.options.max;\n }\n } else if (event.type == LiteGraph.pointerevents_method + \"down\") {\n var values = w.options.values;\n if (values && values.constructor === Function) {\n values = w.options.values(w, node);\n }\n var values_list = null;\n if (w.type != \"number\")\n values_list = values.constructor === Array ? values : Object.keys(values);\n var delta = x < 40 ? -1 : x > widget_width - 40 ? 1 : 0;\n if (w.type == \"number\") {\n w.value += delta * 0.1 * (w.options.step || 1);\n if (w.options.min != null && w.value < w.options.min) {\n w.value = w.options.min;\n }\n if (w.options.max != null && w.value > w.options.max) {\n w.value = w.options.max;\n }\n } else if (delta) {\n var index = -1;\n this.last_mouseclick = 0;\n if (values.constructor === Object)\n index = values_list.indexOf(String(w.value)) + delta;\n else\n index = values_list.indexOf(w.value) + delta;\n if (index >= values_list.length) {\n index = values_list.length - 1;\n }\n if (index < 0) {\n index = 0;\n }\n if (values.constructor === Array)\n w.value = values[index];\n else\n w.value = index;\n } else {\n let inner_clicked = function(v2, option, event2) {\n if (values != values_list)\n v2 = text_values.indexOf(v2);\n this.value = v2;\n inner_value_change(this, v2);\n that.dirty_canvas = true;\n return false;\n };\n var text_values = values != values_list ? Object.values(values) : values;\n new LiteGraph.ContextMenu(\n text_values,\n {\n scale: Math.max(1, this.ds.scale),\n event,\n className: \"dark\",\n callback: inner_clicked.bind(w)\n },\n ref_window\n );\n }\n } else if (event.type == LiteGraph.pointerevents_method + \"up\" && w.type == \"number\") {\n var delta = x < 40 ? -1 : x > widget_width - 40 ? 1 : 0;\n if (event.click_time < 200 && delta == 0) {\n this.prompt(\n \"Value\",\n w.value,\n (function(v) {\n if (/^[0-9+\\-*/()\\s]+|\\d+\\.\\d+$/.test(v)) {\n try {\n v = eval(v);\n } catch (e) {\n }\n }\n this.value = Number(v);\n inner_value_change(this, this.value);\n }).bind(w),\n event\n );\n }\n }\n if (old_value != w.value)\n setTimeout(\n (function() {\n inner_value_change(this, this.value);\n }).bind(w),\n 20\n );\n this.dirty_canvas = true;\n break;\n case \"toggle\":\n if (event.type == LiteGraph.pointerevents_method + \"down\") {\n w.value = !w.value;\n setTimeout(function() {\n inner_value_change(w, w.value);\n }, 20);\n }\n break;\n case \"string\":\n case \"text\":\n if (event.type == LiteGraph.pointerevents_method + \"down\") {\n this.prompt(\n \"Value\",\n w.value,\n (function(v2) {\n inner_value_change(this, v2);\n }).bind(w),\n event,\n w.options ? w.options.multiline : false\n );\n }\n break;\n default:\n if (w.mouse) {\n this.dirty_canvas = w.mouse(event, [x, y], node);\n }\n break;\n }\n if (old_value != w.value) {\n if (node.onWidgetChanged)\n node.onWidgetChanged(w.name, w.value, old_value, w);\n node.graph._version++;\n }\n return w;\n }\n function inner_value_change(widget, value) {\n if (widget.type == \"number\") {\n value = Number(value);\n }\n widget.value = value;\n if (widget.options && widget.options.property && node.properties[widget.options.property] !== void 0) {\n node.setProperty(widget.options.property, value);\n }\n if (widget.callback) {\n widget.callback(widget.value, that, node, pos, event);\n }\n }\n return null;\n }\n /**\n * draws every group area in the background\n * @method drawGroups\n **/\n drawGroups(canvas, ctx) {\n if (!this.graph) {\n return;\n }\n var groups = this.graph._groups;\n ctx.save();\n ctx.globalAlpha = 0.5 * this.editor_alpha;\n for (var i2 = 0; i2 < groups.length; ++i2) {\n var group = groups[i2];\n if (!overlapBounding(this.visible_area, group._bounding)) {\n continue;\n }\n ctx.fillStyle = group.color || \"#335\";\n ctx.strokeStyle = group.color || \"#335\";\n var pos2 = group._pos;\n var size = group._size;\n ctx.globalAlpha = 0.25 * this.editor_alpha;\n ctx.beginPath();\n ctx.rect(pos2[0] + 0.5, pos2[1] + 0.5, size[0], size[1]);\n ctx.fill();\n ctx.globalAlpha = this.editor_alpha;\n ctx.stroke();\n ctx.beginPath();\n ctx.moveTo(pos2[0] + size[0], pos2[1] + size[1]);\n ctx.lineTo(pos2[0] + size[0] - 10, pos2[1] + size[1]);\n ctx.lineTo(pos2[0] + size[0], pos2[1] + size[1] - 10);\n ctx.fill();\n var font_size = group.font_size || LiteGraph.DEFAULT_GROUP_FONT_SIZE;\n ctx.font = font_size + \"px Arial\";\n ctx.textAlign = \"left\";\n ctx.fillText(group.title, pos2[0] + 4, pos2[1] + font_size);\n }\n ctx.restore();\n }\n adjustNodesSize() {\n var nodes = this.graph._nodes;\n for (var i2 = 0; i2 < nodes.length; ++i2) {\n nodes[i2].size = nodes[i2].computeSize();\n }\n this.setDirty(true, true);\n }\n /**\n * resizes the canvas to a given size, if no size is passed, then it tries to fill the parentNode\n * @method resize\n **/\n resize(width2, height) {\n if (!width2 && !height) {\n var parent = this.canvas.parentNode;\n width2 = parent.offsetWidth;\n height = parent.offsetHeight;\n }\n if (this.canvas.width == width2 && this.canvas.height == height) {\n return;\n }\n this.canvas.width = width2;\n this.canvas.height = height;\n this.bgcanvas.width = this.canvas.width;\n this.bgcanvas.height = this.canvas.height;\n this.setDirty(true, true);\n }\n /**\n * switches to live mode (node shapes are not rendered, only the content)\n * this feature was designed when graphs where meant to create user interfaces\n * @method switchLiveMode\n **/\n switchLiveMode(transition) {\n if (!transition) {\n this.live_mode = !this.live_mode;\n this.dirty_canvas = true;\n this.dirty_bgcanvas = true;\n return;\n }\n var self = this;\n var delta2 = this.live_mode ? 1.1 : 0.9;\n if (this.live_mode) {\n this.live_mode = false;\n this.editor_alpha = 0.1;\n }\n var t = setInterval(function() {\n self.editor_alpha *= delta2;\n self.dirty_canvas = true;\n self.dirty_bgcanvas = true;\n if (delta2 < 1 && self.editor_alpha < 0.01) {\n clearInterval(t);\n if (delta2 < 1) {\n self.live_mode = true;\n }\n }\n if (delta2 > 1 && self.editor_alpha > 0.99) {\n clearInterval(t);\n self.editor_alpha = 1;\n }\n }, 1);\n }\n onNodeSelectionChange(node2) {\n return;\n }\n /**\n * Determines the furthest nodes in each direction for the currently selected nodes\n * @return {{left: LGraphNode, top: LGraphNode, right: LGraphNode, bottom: LGraphNode}}\n */\n boundaryNodesForSelection() {\n return _LGraphCanvas.getBoundaryNodes(Object.values(this.selected_nodes));\n }\n showLinkMenu(link, e) {\n var that2 = this;\n var node_left = that2.graph.getNodeById(link.origin_id);\n var node_right = that2.graph.getNodeById(link.target_id);\n var fromType = false;\n if (node_left && node_left.outputs && node_left.outputs[link.origin_slot]) fromType = node_left.outputs[link.origin_slot].type;\n var destType = false;\n if (node_right && node_right.outputs && node_right.outputs[link.target_slot]) destType = node_right.inputs[link.target_slot].type;\n var options = [\"Add Node\", null, \"Delete\", null];\n var menu = new LiteGraph.ContextMenu(options, {\n event: e,\n title: link.data != null ? link.data.constructor.name : null,\n callback: inner_clicked\n });\n function inner_clicked(v2, options2, e2) {\n switch (v2) {\n case \"Add Node\":\n _LGraphCanvas.onMenuAdd(null, null, e2, menu, function(node2) {\n if (!node2.inputs || !node2.inputs.length || !node2.outputs || !node2.outputs.length) {\n return;\n }\n if (node_left.connectByType(link.origin_slot, node2, fromType)) {\n node2.connectByType(link.target_slot, node_right, destType);\n node2.pos[0] -= node2.size[0] * 0.5;\n }\n });\n break;\n case \"Delete\":\n that2.graph.removeLink(link.id);\n break;\n }\n }\n return false;\n }\n createDefaultNodeForSlot(optPass) {\n var optPass = optPass || {};\n var opts = Object.assign(\n {\n nodeFrom: null,\n slotFrom: null,\n nodeTo: null,\n slotTo: null,\n position: [],\n nodeType: null,\n posAdd: [0, 0],\n posSizeFix: [0, 0]\n // alpha, adjust the position x,y based on the new node size w,h\n },\n optPass\n );\n var that2 = this;\n var isFrom = opts.nodeFrom && opts.slotFrom !== null;\n var isTo = !isFrom && opts.nodeTo && opts.slotTo !== null;\n if (!isFrom && !isTo) {\n console.warn(\"No data passed to createDefaultNodeForSlot \" + opts.nodeFrom + \" \" + opts.slotFrom + \" \" + opts.nodeTo + \" \" + opts.slotTo);\n return false;\n }\n if (!opts.nodeType) {\n console.warn(\"No type to createDefaultNodeForSlot\");\n return false;\n }\n var nodeX = isFrom ? opts.nodeFrom : opts.nodeTo;\n var slotX = isFrom ? opts.slotFrom : opts.slotTo;\n var iSlotConn = false;\n switch (typeof slotX) {\n case \"string\":\n iSlotConn = isFrom ? nodeX.findOutputSlot(slotX, false) : nodeX.findInputSlot(slotX, false);\n slotX = isFrom ? nodeX.outputs[slotX] : nodeX.inputs[slotX];\n break;\n case \"object\":\n iSlotConn = isFrom ? nodeX.findOutputSlot(slotX.name) : nodeX.findInputSlot(slotX.name);\n break;\n case \"number\":\n iSlotConn = slotX;\n slotX = isFrom ? nodeX.outputs[slotX] : nodeX.inputs[slotX];\n break;\n case \"undefined\":\n default:\n console.warn(\"Cant get slot information \" + slotX);\n return false;\n }\n if (slotX === false || iSlotConn === false) {\n console.warn(\"createDefaultNodeForSlot bad slotX \" + slotX + \" \" + iSlotConn);\n }\n var fromSlotType = slotX.type == LiteGraph.EVENT ? \"_event_\" : slotX.type;\n var slotTypesDefault = isFrom ? LiteGraph.slot_types_default_out : LiteGraph.slot_types_default_in;\n if (slotTypesDefault && slotTypesDefault[fromSlotType]) {\n if (slotX.link !== null) ;\n let nodeNewType = false;\n if (typeof slotTypesDefault[fromSlotType] == \"object\" || typeof slotTypesDefault[fromSlotType] == \"array\") {\n for (var typeX in slotTypesDefault[fromSlotType]) {\n if (opts.nodeType == slotTypesDefault[fromSlotType][typeX] || opts.nodeType == \"AUTO\") {\n nodeNewType = slotTypesDefault[fromSlotType][typeX];\n break;\n }\n }\n } else {\n if (opts.nodeType == slotTypesDefault[fromSlotType] || opts.nodeType == \"AUTO\") nodeNewType = slotTypesDefault[fromSlotType];\n }\n if (nodeNewType) {\n var nodeNewOpts = false;\n if (typeof nodeNewType == \"object\" && nodeNewType.node) {\n nodeNewOpts = nodeNewType;\n nodeNewType = nodeNewType.node;\n }\n var newNode = LiteGraph.createNode(nodeNewType);\n if (newNode) {\n if (nodeNewOpts) {\n if (nodeNewOpts.properties) {\n for (var i2 in nodeNewOpts.properties) {\n newNode.addProperty(i2, nodeNewOpts.properties[i2]);\n }\n }\n if (nodeNewOpts.inputs) {\n newNode.inputs = [];\n for (var i2 in nodeNewOpts.inputs) {\n newNode.addOutput(\n nodeNewOpts.inputs[i2][0],\n nodeNewOpts.inputs[i2][1]\n );\n }\n }\n if (nodeNewOpts.outputs) {\n newNode.outputs = [];\n for (var i2 in nodeNewOpts.outputs) {\n newNode.addOutput(\n nodeNewOpts.outputs[i2][0],\n nodeNewOpts.outputs[i2][1]\n );\n }\n }\n if (nodeNewOpts.title) {\n newNode.title = nodeNewOpts.title;\n }\n if (nodeNewOpts.json) {\n newNode.configure(nodeNewOpts.json);\n }\n }\n that2.graph.add(newNode);\n newNode.pos = [\n opts.position[0] + opts.posAdd[0] + (opts.posSizeFix[0] ? opts.posSizeFix[0] * newNode.size[0] : 0),\n opts.position[1] + opts.posAdd[1] + (opts.posSizeFix[1] ? opts.posSizeFix[1] * newNode.size[1] : 0)\n ];\n if (isFrom) {\n opts.nodeFrom.connectByType(iSlotConn, newNode, fromSlotType);\n } else {\n opts.nodeTo.connectByTypeOutput(iSlotConn, newNode, fromSlotType);\n }\n return true;\n } else {\n console.log(\"failed creating \" + nodeNewType);\n }\n }\n }\n return false;\n }\n showConnectionMenu(optPass) {\n var optPass = optPass || {};\n var opts = Object.assign(\n {\n nodeFrom: null,\n slotFrom: null,\n nodeTo: null,\n slotTo: null,\n e: null\n },\n optPass\n );\n var that2 = this;\n var isFrom = opts.nodeFrom && opts.slotFrom;\n var isTo = !isFrom && opts.nodeTo && opts.slotTo;\n if (!isFrom && !isTo) {\n console.warn(\"No data passed to showConnectionMenu\");\n return false;\n }\n var nodeX = isFrom ? opts.nodeFrom : opts.nodeTo;\n var slotX = isFrom ? opts.slotFrom : opts.slotTo;\n var iSlotConn = false;\n switch (typeof slotX) {\n case \"string\":\n iSlotConn = isFrom ? nodeX.findOutputSlot(slotX, false) : nodeX.findInputSlot(slotX, false);\n slotX = isFrom ? nodeX.outputs[slotX] : nodeX.inputs[slotX];\n break;\n case \"object\":\n iSlotConn = isFrom ? nodeX.findOutputSlot(slotX.name) : nodeX.findInputSlot(slotX.name);\n break;\n case \"number\":\n iSlotConn = slotX;\n slotX = isFrom ? nodeX.outputs[slotX] : nodeX.inputs[slotX];\n break;\n default:\n console.warn(\"Cant get slot information \" + slotX);\n return false;\n }\n var options = [\"Add Node\", null];\n if (that2.allow_searchbox) {\n options.push(\"Search\");\n options.push(null);\n }\n var fromSlotType = slotX.type == LiteGraph.EVENT ? \"_event_\" : slotX.type;\n var slotTypesDefault = isFrom ? LiteGraph.slot_types_default_out : LiteGraph.slot_types_default_in;\n if (slotTypesDefault && slotTypesDefault[fromSlotType]) {\n if (typeof slotTypesDefault[fromSlotType] == \"object\" || typeof slotTypesDefault[fromSlotType] == \"array\") {\n for (var typeX in slotTypesDefault[fromSlotType]) {\n options.push(slotTypesDefault[fromSlotType][typeX]);\n }\n } else {\n options.push(slotTypesDefault[fromSlotType]);\n }\n }\n var menu = new LiteGraph.ContextMenu(options, {\n event: opts.e,\n title: (slotX && slotX.name != \"\" ? slotX.name + (fromSlotType ? \" | \" : \"\") : \"\") + (slotX && fromSlotType ? fromSlotType : \"\"),\n callback: inner_clicked\n });\n function inner_clicked(v2, options2, e) {\n switch (v2) {\n case \"Add Node\":\n _LGraphCanvas.onMenuAdd(null, null, e, menu, function(node2) {\n if (isFrom) {\n opts.nodeFrom.connectByType(iSlotConn, node2, fromSlotType);\n } else {\n opts.nodeTo.connectByTypeOutput(iSlotConn, node2, fromSlotType);\n }\n });\n break;\n case \"Search\":\n if (isFrom) {\n that2.showSearchBox(e, { node_from: opts.nodeFrom, slot_from: slotX, type_filter_in: fromSlotType });\n } else {\n that2.showSearchBox(e, { node_to: opts.nodeTo, slot_from: slotX, type_filter_out: fromSlotType });\n }\n break;\n default:\n that2.createDefaultNodeForSlot(Object.assign(opts, {\n position: [opts.e.canvasX, opts.e.canvasY],\n nodeType: v2\n }));\n break;\n }\n }\n return false;\n }\n // refactor: there are different dialogs, some uses createDialog some dont\n prompt(title, value, callback, event2, multiline) {\n var that2 = this;\n title = title || \"\";\n var dialog = document.createElement(\"div\");\n dialog.is_modified = false;\n dialog.className = \"graphdialog rounded\";\n if (multiline)\n dialog.innerHTML = \" \";\n else\n dialog.innerHTML = \" \";\n dialog.close = function() {\n that2.prompt_box = null;\n if (dialog.parentNode) {\n dialog.parentNode.removeChild(dialog);\n }\n };\n var graphcanvas = _LGraphCanvas.active_canvas;\n var canvas = graphcanvas.canvas;\n canvas.parentNode.appendChild(dialog);\n if (this.ds.scale > 1) {\n dialog.style.transform = \"scale(\" + this.ds.scale + \")\";\n }\n var dialogCloseTimer = null;\n var prevent_timeout = false;\n LiteGraph.pointerListenerAdd(dialog, \"leave\", function(e) {\n if (prevent_timeout)\n return;\n if (LiteGraph.dialog_close_on_mouse_leave) {\n if (!dialog.is_modified && LiteGraph.dialog_close_on_mouse_leave)\n dialogCloseTimer = setTimeout(dialog.close, LiteGraph.dialog_close_on_mouse_leave_delay);\n }\n });\n LiteGraph.pointerListenerAdd(dialog, \"enter\", function(e) {\n if (LiteGraph.dialog_close_on_mouse_leave) {\n if (dialogCloseTimer) clearTimeout(dialogCloseTimer);\n }\n });\n var selInDia = dialog.querySelectorAll(\"select\");\n if (selInDia) {\n selInDia.forEach(function(selIn) {\n selIn.addEventListener(\"click\", function(e) {\n prevent_timeout++;\n });\n selIn.addEventListener(\"blur\", function(e) {\n prevent_timeout = 0;\n });\n selIn.addEventListener(\"change\", function(e) {\n prevent_timeout = -1;\n });\n });\n }\n if (that2.prompt_box) {\n that2.prompt_box.close();\n }\n that2.prompt_box = dialog;\n var name_element = dialog.querySelector(\".name\");\n name_element.innerText = title;\n var value_element = dialog.querySelector(\".value\");\n value_element.value = value;\n value_element.select();\n var input = value_element;\n input.addEventListener(\"keydown\", function(e) {\n dialog.is_modified = true;\n if (e.keyCode == 27) {\n dialog.close();\n } else if (e.keyCode == 13 && e.target.localName != \"textarea\") {\n if (callback) {\n callback(this.value);\n }\n dialog.close();\n } else {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n });\n var button = dialog.querySelector(\"button\");\n button.addEventListener(\"click\", function(e) {\n if (callback) {\n callback(input.value);\n }\n that2.setDirty(true);\n dialog.close();\n });\n var rect = canvas.getBoundingClientRect();\n var offsetx = -20;\n var offsety = -20;\n if (rect) {\n offsetx -= rect.left;\n offsety -= rect.top;\n }\n if (event2) {\n dialog.style.left = event2.clientX + offsetx + \"px\";\n dialog.style.top = event2.clientY + offsety + \"px\";\n } else {\n dialog.style.left = canvas.width * 0.5 + offsetx + \"px\";\n dialog.style.top = canvas.height * 0.5 + offsety + \"px\";\n }\n setTimeout(function() {\n input.focus();\n const clickTime = Date.now();\n function handleOutsideClick(e) {\n if (e.target === canvas && Date.now() - clickTime > 256) {\n dialog.close();\n canvas.parentNode.removeEventListener(\"click\", handleOutsideClick);\n canvas.parentNode.removeEventListener(\"touchend\", handleOutsideClick);\n }\n }\n canvas.parentNode.addEventListener(\"click\", handleOutsideClick);\n canvas.parentNode.addEventListener(\"touchend\", handleOutsideClick);\n }, 10);\n return dialog;\n }\n showSearchBox(event2, options) {\n var def_options = {\n slot_from: null,\n node_from: null,\n node_to: null,\n do_type_filter: LiteGraph.search_filter_enabled,\n type_filter_in: false,\n type_filter_out: false,\n show_general_if_none_on_typefilter: true,\n show_general_after_typefiltered: true,\n hide_on_mouse_leave: LiteGraph.search_hide_on_mouse_leave,\n show_all_if_empty: true,\n show_all_on_open: LiteGraph.search_show_all_on_open\n };\n options = Object.assign(def_options, options || {});\n var that2 = this;\n var graphcanvas = _LGraphCanvas.active_canvas;\n var canvas = graphcanvas.canvas;\n var root_document = canvas.ownerDocument || document;\n var dialog = document.createElement(\"div\");\n dialog.className = \"litegraph litesearchbox graphdialog rounded\";\n dialog.innerHTML = \"Search \";\n if (options.do_type_filter) {\n dialog.innerHTML += \"\";\n dialog.innerHTML += \"\";\n }\n dialog.innerHTML += \"
\";\n if (root_document.fullscreenElement)\n root_document.fullscreenElement.appendChild(dialog);\n else {\n root_document.body.appendChild(dialog);\n root_document.body.style.overflow = \"hidden\";\n }\n if (options.do_type_filter) {\n var selIn = dialog.querySelector(\".slot_in_type_filter\");\n var selOut = dialog.querySelector(\".slot_out_type_filter\");\n }\n dialog.close = function() {\n that2.search_box = null;\n this.blur();\n canvas.focus();\n root_document.body.style.overflow = \"\";\n setTimeout(function() {\n that2.canvas.focus();\n }, 20);\n if (dialog.parentNode) {\n dialog.parentNode.removeChild(dialog);\n }\n };\n if (this.ds.scale > 1) {\n dialog.style.transform = \"scale(\" + this.ds.scale + \")\";\n }\n if (options.hide_on_mouse_leave) {\n var prevent_timeout = false;\n var timeout_close = null;\n LiteGraph.pointerListenerAdd(dialog, \"enter\", function(e) {\n if (timeout_close) {\n clearTimeout(timeout_close);\n timeout_close = null;\n }\n });\n LiteGraph.pointerListenerAdd(dialog, \"leave\", function(e) {\n if (prevent_timeout) {\n return;\n }\n timeout_close = setTimeout(function() {\n dialog.close();\n }, typeof options.hide_on_mouse_leave === \"number\" ? options.hide_on_mouse_leave : 500);\n });\n if (options.do_type_filter) {\n selIn.addEventListener(\"click\", function(e) {\n prevent_timeout++;\n });\n selIn.addEventListener(\"blur\", function(e) {\n prevent_timeout = 0;\n });\n selIn.addEventListener(\"change\", function(e) {\n prevent_timeout = -1;\n });\n selOut.addEventListener(\"click\", function(e) {\n prevent_timeout++;\n });\n selOut.addEventListener(\"blur\", function(e) {\n prevent_timeout = 0;\n });\n selOut.addEventListener(\"change\", function(e) {\n prevent_timeout = -1;\n });\n }\n }\n if (that2.search_box) {\n that2.search_box.close();\n }\n that2.search_box = dialog;\n var helper = dialog.querySelector(\".helper\");\n var first = null;\n var timeout = null;\n var selected = null;\n var input = dialog.querySelector(\"input\");\n if (input) {\n input.addEventListener(\"blur\", function(e) {\n this.focus();\n });\n input.addEventListener(\"keydown\", function(e) {\n if (e.keyCode == 38) {\n changeSelection(false);\n } else if (e.keyCode == 40) {\n changeSelection(true);\n } else if (e.keyCode == 27) {\n dialog.close();\n } else if (e.keyCode == 13) {\n if (selected) {\n select(unescape(selected.dataset[\"type\"]));\n } else if (first) {\n select(first);\n } else {\n dialog.close();\n }\n } else {\n if (timeout) {\n clearInterval(timeout);\n }\n timeout = setTimeout(refreshHelper, 10);\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n e.stopImmediatePropagation();\n return true;\n });\n }\n if (options.do_type_filter) {\n if (selIn) {\n var aSlots = LiteGraph.slot_types_in;\n var nSlots = aSlots.length;\n if (options.type_filter_in == LiteGraph.EVENT || options.type_filter_in == LiteGraph.ACTION)\n options.type_filter_in = \"_event_\";\n for (var iK = 0; iK < nSlots; iK++) {\n var opt = document.createElement(\"option\");\n opt.value = aSlots[iK];\n opt.innerHTML = aSlots[iK];\n selIn.appendChild(opt);\n if (options.type_filter_in !== false && (options.type_filter_in + \"\").toLowerCase() == (aSlots[iK] + \"\").toLowerCase()) {\n opt.selected = true;\n }\n }\n selIn.addEventListener(\"change\", function() {\n refreshHelper();\n });\n }\n if (selOut) {\n var aSlots = LiteGraph.slot_types_out;\n var nSlots = aSlots.length;\n if (options.type_filter_out == LiteGraph.EVENT || options.type_filter_out == LiteGraph.ACTION)\n options.type_filter_out = \"_event_\";\n for (var iK = 0; iK < nSlots; iK++) {\n var opt = document.createElement(\"option\");\n opt.value = aSlots[iK];\n opt.innerHTML = aSlots[iK];\n selOut.appendChild(opt);\n if (options.type_filter_out !== false && (options.type_filter_out + \"\").toLowerCase() == (aSlots[iK] + \"\").toLowerCase()) {\n opt.selected = true;\n }\n }\n selOut.addEventListener(\"change\", function() {\n refreshHelper();\n });\n }\n }\n var rect = canvas.getBoundingClientRect();\n var left = (event2 ? event2.clientX : rect.left + rect.width * 0.5) - 80;\n var top = (event2 ? event2.clientY : rect.top + rect.height * 0.5) - 20;\n dialog.style.left = left + \"px\";\n dialog.style.top = top + \"px\";\n if (event2.layerY > rect.height - 200)\n helper.style.maxHeight = rect.height - event2.layerY - 20 + \"px\";\n input.focus();\n if (options.show_all_on_open) refreshHelper();\n function select(name) {\n if (name) {\n if (that2.onSearchBoxSelection) {\n that2.onSearchBoxSelection(name, event2, graphcanvas);\n } else {\n var extra = LiteGraph.searchbox_extras[name.toLowerCase()];\n if (extra) {\n name = extra.type;\n }\n graphcanvas.graph.beforeChange();\n var node2 = LiteGraph.createNode(name);\n if (node2) {\n node2.pos = graphcanvas.convertEventToCanvasOffset(\n event2\n );\n graphcanvas.graph.add(node2, false);\n }\n if (extra && extra.data) {\n if (extra.data.properties) {\n for (var i2 in extra.data.properties) {\n node2.addProperty(i2, extra.data.properties[i2]);\n }\n }\n if (extra.data.inputs) {\n node2.inputs = [];\n for (var i2 in extra.data.inputs) {\n node2.addOutput(\n extra.data.inputs[i2][0],\n extra.data.inputs[i2][1]\n );\n }\n }\n if (extra.data.outputs) {\n node2.outputs = [];\n for (var i2 in extra.data.outputs) {\n node2.addOutput(\n extra.data.outputs[i2][0],\n extra.data.outputs[i2][1]\n );\n }\n }\n if (extra.data.title) {\n node2.title = extra.data.title;\n }\n if (extra.data.json) {\n node2.configure(extra.data.json);\n }\n }\n if (options.node_from) {\n var iS = false;\n switch (typeof options.slot_from) {\n case \"string\":\n iS = options.node_from.findOutputSlot(options.slot_from);\n break;\n case \"object\":\n if (options.slot_from.name) {\n iS = options.node_from.findOutputSlot(options.slot_from.name);\n } else {\n iS = -1;\n }\n if (iS == -1 && typeof options.slot_from.slot_index !== \"undefined\") iS = options.slot_from.slot_index;\n break;\n case \"number\":\n iS = options.slot_from;\n break;\n default:\n iS = 0;\n }\n if (typeof options.node_from.outputs[iS] !== \"undefined\") {\n if (iS !== false && iS > -1) {\n options.node_from.connectByType(iS, node2, options.node_from.outputs[iS].type);\n }\n }\n }\n if (options.node_to) {\n var iS = false;\n switch (typeof options.slot_from) {\n case \"string\":\n iS = options.node_to.findInputSlot(options.slot_from);\n break;\n case \"object\":\n if (options.slot_from.name) {\n iS = options.node_to.findInputSlot(options.slot_from.name);\n } else {\n iS = -1;\n }\n if (iS == -1 && typeof options.slot_from.slot_index !== \"undefined\") iS = options.slot_from.slot_index;\n break;\n case \"number\":\n iS = options.slot_from;\n break;\n default:\n iS = 0;\n }\n if (typeof options.node_to.inputs[iS] !== \"undefined\") {\n if (iS !== false && iS > -1) {\n options.node_to.connectByTypeOutput(iS, node2, options.node_to.inputs[iS].type);\n }\n }\n }\n graphcanvas.graph.afterChange();\n }\n }\n dialog.close();\n }\n function changeSelection(forward) {\n var prev = selected;\n if (selected) {\n selected.classList.remove(\"selected\");\n }\n if (!selected) {\n selected = forward ? helper.childNodes[0] : helper.childNodes[helper.childNodes.length];\n } else {\n selected = forward ? selected.nextSibling : selected.previousSibling;\n if (!selected) {\n selected = prev;\n }\n }\n if (!selected) {\n return;\n }\n selected.classList.add(\"selected\");\n selected.scrollIntoView({ block: \"end\", behavior: \"smooth\" });\n }\n function refreshHelper() {\n timeout = null;\n var str = input.value;\n first = null;\n helper.innerHTML = \"\";\n if (!str && !options.show_all_if_empty) {\n return;\n }\n if (that2.onSearchBox) {\n var list = that2.onSearchBox(helper, str, graphcanvas);\n if (list) {\n for (var i2 = 0; i2 < list.length; ++i2) {\n addResult(list[i2]);\n }\n }\n } else {\n let inner_test_filter = function(type, optsIn) {\n var optsIn = optsIn || {};\n var optsDef = {\n skipFilter: false,\n inTypeOverride: false,\n outTypeOverride: false\n };\n var opts = Object.assign(optsDef, optsIn);\n var ctor2 = LiteGraph.registered_node_types[type];\n if (filter && ctor2.filter != filter)\n return false;\n if ((!options.show_all_if_empty || str) && type.toLowerCase().indexOf(str) === -1 && (!ctor2.title || ctor2.title.toLowerCase().indexOf(str) === -1))\n return false;\n if (options.do_type_filter && !opts.skipFilter) {\n var sType = type;\n var sV = sIn.value;\n if (opts.inTypeOverride !== false) sV = opts.inTypeOverride;\n if (sIn && sV) {\n if (LiteGraph.registered_slot_in_types[sV] && LiteGraph.registered_slot_in_types[sV].nodes) {\n var doesInc = LiteGraph.registered_slot_in_types[sV].nodes.includes(sType);\n if (doesInc !== false) ;\n else {\n return false;\n }\n }\n }\n var sV = sOut.value;\n if (opts.outTypeOverride !== false) sV = opts.outTypeOverride;\n if (sOut && sV) {\n if (LiteGraph.registered_slot_out_types[sV] && LiteGraph.registered_slot_out_types[sV].nodes) {\n var doesInc = LiteGraph.registered_slot_out_types[sV].nodes.includes(sType);\n if (doesInc !== false) ;\n else {\n return false;\n }\n }\n }\n }\n return true;\n };\n var c = 0;\n str = str.toLowerCase();\n var filter = graphcanvas.filter || graphcanvas.graph.filter;\n if (options.do_type_filter && that2.search_box) {\n var sIn = that2.search_box.querySelector(\".slot_in_type_filter\");\n var sOut = that2.search_box.querySelector(\".slot_out_type_filter\");\n } else {\n var sIn = false;\n var sOut = false;\n }\n for (var i2 in LiteGraph.searchbox_extras) {\n var extra = LiteGraph.searchbox_extras[i2];\n if ((!options.show_all_if_empty || str) && extra.desc.toLowerCase().indexOf(str) === -1) {\n continue;\n }\n var ctor = LiteGraph.registered_node_types[extra.type];\n if (ctor && ctor.filter != filter)\n continue;\n if (!inner_test_filter(extra.type))\n continue;\n addResult(extra.desc, \"searchbox_extra\");\n if (_LGraphCanvas.search_limit !== -1 && c++ > _LGraphCanvas.search_limit) {\n break;\n }\n }\n var filtered = null;\n if (Array.prototype.filter) {\n var keys = Object.keys(LiteGraph.registered_node_types);\n var filtered = keys.filter(inner_test_filter);\n } else {\n filtered = [];\n for (var i2 in LiteGraph.registered_node_types) {\n if (inner_test_filter(i2))\n filtered.push(i2);\n }\n }\n for (var i2 = 0; i2 < filtered.length; i2++) {\n addResult(filtered[i2]);\n if (_LGraphCanvas.search_limit !== -1 && c++ > _LGraphCanvas.search_limit) {\n break;\n }\n }\n if (options.show_general_after_typefiltered && (sIn.value || sOut.value)) {\n filtered_extra = [];\n for (var i2 in LiteGraph.registered_node_types) {\n if (inner_test_filter(i2, { inTypeOverride: sIn && sIn.value ? \"*\" : false, outTypeOverride: sOut && sOut.value ? \"*\" : false }))\n filtered_extra.push(i2);\n }\n for (var i2 = 0; i2 < filtered_extra.length; i2++) {\n addResult(filtered_extra[i2], \"generic_type\");\n if (_LGraphCanvas.search_limit !== -1 && c++ > _LGraphCanvas.search_limit) {\n break;\n }\n }\n }\n if ((sIn.value || sOut.value) && (helper.childNodes.length == 0 && options.show_general_if_none_on_typefilter)) {\n filtered_extra = [];\n for (var i2 in LiteGraph.registered_node_types) {\n if (inner_test_filter(i2, { skipFilter: true }))\n filtered_extra.push(i2);\n }\n for (var i2 = 0; i2 < filtered_extra.length; i2++) {\n addResult(filtered_extra[i2], \"not_in_filter\");\n if (_LGraphCanvas.search_limit !== -1 && c++ > _LGraphCanvas.search_limit) {\n break;\n }\n }\n }\n }\n function addResult(type, className) {\n var help = document.createElement(\"div\");\n if (!first) {\n first = type;\n }\n const nodeType = LiteGraph.registered_node_types[type];\n if (nodeType == null ? void 0 : nodeType.title) {\n help.innerText = nodeType == null ? void 0 : nodeType.title;\n const typeEl = document.createElement(\"span\");\n typeEl.className = \"litegraph lite-search-item-type\";\n typeEl.textContent = type;\n help.append(typeEl);\n } else {\n help.innerText = type;\n }\n help.dataset[\"type\"] = escape(type);\n help.className = \"litegraph lite-search-item\";\n if (className) {\n help.className += \" \" + className;\n }\n help.addEventListener(\"click\", function(e) {\n select(unescape(this.dataset[\"type\"]));\n });\n helper.appendChild(help);\n }\n }\n return dialog;\n }\n showEditPropertyValue(node2, property, options) {\n if (!node2 || node2.properties[property] === void 0) {\n return;\n }\n options = options || {};\n var info = node2.getPropertyInfo(property);\n var type = info.type;\n var input_html = \"\";\n if (type == \"string\" || type == \"number\" || type == \"array\" || type == \"object\") {\n input_html = \"\";\n } else if ((type == \"enum\" || type == \"combo\") && info.values) {\n input_html = \"\";\n } else if (type == \"boolean\" || type == \"toggle\") {\n input_html = \"\";\n } else {\n console.warn(\"unknown type: \" + type);\n return;\n }\n var dialog = this.createDialog(\n \"\" + (info.label ? info.label : property) + \"\" + input_html + \"\",\n options\n );\n var input = false;\n if ((type == \"enum\" || type == \"combo\") && info.values) {\n input = dialog.querySelector(\"select\");\n input.addEventListener(\"change\", function(e) {\n dialog.modified();\n setValue(e.target.value);\n });\n } else if (type == \"boolean\" || type == \"toggle\") {\n input = dialog.querySelector(\"input\");\n if (input) {\n input.addEventListener(\"click\", function(e) {\n dialog.modified();\n setValue(!!input.checked);\n });\n }\n } else {\n input = dialog.querySelector(\"input\");\n if (input) {\n input.addEventListener(\"blur\", function(e) {\n this.focus();\n });\n var v2 = node2.properties[property] !== void 0 ? node2.properties[property] : \"\";\n if (type !== \"string\") {\n v2 = JSON.stringify(v2);\n }\n input.value = v2;\n input.addEventListener(\"keydown\", function(e) {\n if (e.keyCode == 27) {\n dialog.close();\n } else if (e.keyCode == 13) {\n inner();\n } else if (e.keyCode != 13) {\n dialog.modified();\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n });\n }\n }\n if (input) input.focus();\n var button = dialog.querySelector(\"button\");\n button.addEventListener(\"click\", inner);\n function inner() {\n setValue(input.value);\n }\n function setValue(value) {\n if (info && info.values && info.values.constructor === Object && info.values[value] != void 0)\n value = info.values[value];\n if (typeof node2.properties[property] == \"number\") {\n value = Number(value);\n }\n if (type == \"array\" || type == \"object\") {\n value = JSON.parse(value);\n }\n node2.properties[property] = value;\n if (node2.graph) {\n node2.graph._version++;\n }\n if (node2.onPropertyChanged) {\n node2.onPropertyChanged(property, value);\n }\n if (options.onclose)\n options.onclose();\n dialog.close();\n node2.setDirtyCanvas(true, true);\n }\n return dialog;\n }\n // TODO refactor, theer are different dialog, some uses createDialog, some dont\n createDialog(html, options) {\n var def_options = { checkForInput: false, closeOnLeave: true, closeOnLeave_checkModified: true };\n options = Object.assign(def_options, options || {});\n var dialog = document.createElement(\"div\");\n dialog.className = \"graphdialog\";\n dialog.innerHTML = html;\n dialog.is_modified = false;\n var rect = this.canvas.getBoundingClientRect();\n var offsetx = -20;\n var offsety = -20;\n if (rect) {\n offsetx -= rect.left;\n offsety -= rect.top;\n }\n if (options.position) {\n offsetx += options.position[0];\n offsety += options.position[1];\n } else if (options.event) {\n offsetx += options.event.clientX;\n offsety += options.event.clientY;\n } else {\n offsetx += this.canvas.width * 0.5;\n offsety += this.canvas.height * 0.5;\n }\n dialog.style.left = offsetx + \"px\";\n dialog.style.top = offsety + \"px\";\n this.canvas.parentNode.appendChild(dialog);\n if (options.checkForInput) {\n var aI = [];\n var focused = false;\n if (aI = dialog.querySelectorAll(\"input\")) {\n aI.forEach(function(iX) {\n iX.addEventListener(\"keydown\", function(e) {\n dialog.modified();\n if (e.keyCode == 27) {\n dialog.close();\n } else if (e.keyCode != 13) {\n return;\n }\n e.preventDefault();\n e.stopPropagation();\n });\n if (!focused) iX.focus();\n });\n }\n }\n dialog.modified = function() {\n dialog.is_modified = true;\n };\n dialog.close = function() {\n if (dialog.parentNode) {\n dialog.parentNode.removeChild(dialog);\n }\n };\n var dialogCloseTimer = null;\n var prevent_timeout = false;\n dialog.addEventListener(\"mouseleave\", function(e) {\n if (prevent_timeout)\n return;\n if (options.closeOnLeave || LiteGraph.dialog_close_on_mouse_leave) {\n if (!dialog.is_modified && LiteGraph.dialog_close_on_mouse_leave)\n dialogCloseTimer = setTimeout(dialog.close, LiteGraph.dialog_close_on_mouse_leave_delay);\n }\n });\n dialog.addEventListener(\"mouseenter\", function(e) {\n if (options.closeOnLeave || LiteGraph.dialog_close_on_mouse_leave) {\n if (dialogCloseTimer) clearTimeout(dialogCloseTimer);\n }\n });\n var selInDia = dialog.querySelectorAll(\"select\");\n if (selInDia) {\n selInDia.forEach(function(selIn) {\n selIn.addEventListener(\"click\", function(e) {\n prevent_timeout++;\n });\n selIn.addEventListener(\"blur\", function(e) {\n prevent_timeout = 0;\n });\n selIn.addEventListener(\"change\", function(e) {\n prevent_timeout = -1;\n });\n });\n }\n return dialog;\n }\n createPanel(title, options) {\n options = options || {};\n var ref_window2 = options.window || window;\n var root = document.createElement(\"div\");\n root.className = \"litegraph dialog\";\n root.innerHTML = \"
\";\n root.header = root.querySelector(\".dialog-header\");\n if (options.width)\n root.style.width = options.width + (options.width.constructor === Number ? \"px\" : \"\");\n if (options.height)\n root.style.height = options.height + (options.height.constructor === Number ? \"px\" : \"\");\n if (options.closable) {\n var close = document.createElement(\"span\");\n close.innerHTML = \"✕\";\n close.classList.add(\"close\");\n close.addEventListener(\"click\", function() {\n root.close();\n });\n root.header.appendChild(close);\n }\n root.title_element = root.querySelector(\".dialog-title\");\n root.title_element.innerText = title;\n root.content = root.querySelector(\".dialog-content\");\n root.alt_content = root.querySelector(\".dialog-alt-content\");\n root.footer = root.querySelector(\".dialog-footer\");\n root.close = function() {\n if (root.onClose && typeof root.onClose == \"function\") {\n root.onClose();\n }\n if (root.parentNode)\n root.parentNode.removeChild(root);\n if (this.parentNode) {\n this.parentNode.removeChild(this);\n }\n };\n root.toggleAltContent = function(force) {\n if (typeof force != \"undefined\") {\n var vTo = force ? \"block\" : \"none\";\n var vAlt = force ? \"none\" : \"block\";\n } else {\n var vTo = root.alt_content.style.display != \"block\" ? \"block\" : \"none\";\n var vAlt = root.alt_content.style.display != \"block\" ? \"none\" : \"block\";\n }\n root.alt_content.style.display = vTo;\n root.content.style.display = vAlt;\n };\n root.toggleFooterVisibility = function(force) {\n if (typeof force != \"undefined\") {\n var vTo = force ? \"block\" : \"none\";\n } else {\n var vTo = root.footer.style.display != \"block\" ? \"block\" : \"none\";\n }\n root.footer.style.display = vTo;\n };\n root.clear = function() {\n this.content.innerHTML = \"\";\n };\n root.addHTML = function(code, classname, on_footer) {\n var elem = document.createElement(\"div\");\n if (classname)\n elem.className = classname;\n elem.innerHTML = code;\n if (on_footer)\n root.footer.appendChild(elem);\n else\n root.content.appendChild(elem);\n return elem;\n };\n root.addButton = function(name, callback, options2) {\n var elem = document.createElement(\"button\");\n elem.innerText = name;\n elem.options = options2;\n elem.classList.add(\"btn\");\n elem.addEventListener(\"click\", callback);\n root.footer.appendChild(elem);\n return elem;\n };\n root.addSeparator = function() {\n var elem = document.createElement(\"div\");\n elem.className = \"separator\";\n root.content.appendChild(elem);\n };\n root.addWidget = function(type, name, value, options2, callback) {\n options2 = options2 || {};\n var str_value = String(value);\n type = type.toLowerCase();\n if (type == \"number\")\n str_value = value.toFixed(3);\n var elem = document.createElement(\"div\");\n elem.className = \"property\";\n elem.innerHTML = \"\";\n elem.querySelector(\".property_name\").innerText = options2.label || name;\n var value_element = elem.querySelector(\".property_value\");\n value_element.innerText = str_value;\n elem.dataset[\"property\"] = name;\n elem.dataset[\"type\"] = options2.type || type;\n elem.options = options2;\n elem.value = value;\n if (type == \"code\")\n elem.addEventListener(\"click\", function(e) {\n root.inner_showCodePad(this.dataset[\"property\"]);\n });\n else if (type == \"boolean\") {\n elem.classList.add(\"boolean\");\n if (value)\n elem.classList.add(\"bool-on\");\n elem.addEventListener(\"click\", function() {\n var propname = this.dataset[\"property\"];\n this.value = !this.value;\n this.classList.toggle(\"bool-on\");\n this.querySelector(\".property_value\").innerText = this.value ? \"true\" : \"false\";\n innerChange(propname, this.value);\n });\n } else if (type == \"string\" || type == \"number\") {\n value_element.setAttribute(\"contenteditable\", true);\n value_element.addEventListener(\"keydown\", function(e) {\n if (e.code == \"Enter\" && (type != \"string\" || !e.shiftKey)) {\n e.preventDefault();\n this.blur();\n }\n });\n value_element.addEventListener(\"blur\", function() {\n var v2 = this.innerText;\n var propname = this.parentNode.dataset[\"property\"];\n var proptype = this.parentNode.dataset[\"type\"];\n if (proptype == \"number\")\n v2 = Number(v2);\n innerChange(propname, v2);\n });\n } else if (type == \"enum\" || type == \"combo\") {\n var str_value = _LGraphCanvas.getPropertyPrintableValue(value, options2.values);\n value_element.innerText = str_value;\n value_element.addEventListener(\"click\", function(event2) {\n var values2 = options2.values || [];\n var propname = this.parentNode.dataset[\"property\"];\n var elem_that = this;\n new LiteGraph.ContextMenu(\n values2,\n {\n event: event2,\n className: \"dark\",\n callback: inner_clicked\n },\n ref_window2\n );\n function inner_clicked(v2, option, event3) {\n elem_that.innerText = v2;\n innerChange(propname, v2);\n return false;\n }\n });\n }\n root.content.appendChild(elem);\n function innerChange(name2, value2) {\n if (options2.callback)\n options2.callback(name2, value2, options2);\n if (callback)\n callback(name2, value2, options2);\n }\n return elem;\n };\n if (root.onOpen && typeof root.onOpen == \"function\") root.onOpen();\n return root;\n }\n closePanels() {\n var panel2 = document.querySelector(\"#node-panel\");\n if (panel2)\n panel2.close();\n var panel2 = document.querySelector(\"#option-panel\");\n if (panel2)\n panel2.close();\n }\n showShowGraphOptionsPanel(refOpts, obEv, refMenu, refMenu2) {\n if (this.constructor && this.constructor.name == \"HTMLDivElement\") {\n if (!obEv || !obEv.event || !obEv.event.target || !obEv.event.target.lgraphcanvas) {\n console.warn(\"Canvas not found\");\n return;\n }\n var graphcanvas = obEv.event.target.lgraphcanvas;\n } else {\n var graphcanvas = this;\n }\n graphcanvas.closePanels();\n var ref_window2 = graphcanvas.getCanvasWindow();\n panel = graphcanvas.createPanel(\"Options\", {\n closable: true,\n window: ref_window2,\n onOpen: function() {\n graphcanvas.OPTIONPANEL_IS_OPEN = true;\n },\n onClose: function() {\n graphcanvas.OPTIONPANEL_IS_OPEN = false;\n graphcanvas.options_panel = null;\n }\n });\n graphcanvas.options_panel = panel;\n panel.id = \"option-panel\";\n panel.classList.add(\"settings\");\n function inner_refresh() {\n panel.content.innerHTML = \"\";\n var fUpdate = function(name, value, options) {\n switch (name) {\n default:\n if (options && options.key) {\n name = options.key;\n }\n if (options.values) {\n value = Object.values(options.values).indexOf(value);\n }\n graphcanvas[name] = value;\n break;\n }\n };\n var aProps = LiteGraph.availableCanvasOptions;\n aProps.sort();\n for (var pI in aProps) {\n var pX = aProps[pI];\n panel.addWidget(\"boolean\", pX, graphcanvas[pX], { key: pX, on: \"True\", off: \"False\" }, fUpdate);\n }\n [graphcanvas.links_render_mode];\n panel.addWidget(\"combo\", \"Render mode\", LiteGraph.LINK_RENDER_MODES[graphcanvas.links_render_mode], { key: \"links_render_mode\", values: LiteGraph.LINK_RENDER_MODES }, fUpdate);\n panel.addSeparator();\n panel.footer.innerHTML = \"\";\n }\n inner_refresh();\n graphcanvas.canvas.parentNode.appendChild(panel);\n }\n showShowNodePanel(node2) {\n this.SELECTED_NODE = node2;\n this.closePanels();\n var ref_window2 = this.getCanvasWindow();\n var graphcanvas = this;\n var panel2 = this.createPanel(node2.title || \"\", {\n closable: true,\n window: ref_window2,\n onOpen: function() {\n graphcanvas.NODEPANEL_IS_OPEN = true;\n },\n onClose: function() {\n graphcanvas.NODEPANEL_IS_OPEN = false;\n graphcanvas.node_panel = null;\n }\n });\n graphcanvas.node_panel = panel2;\n panel2.id = \"node-panel\";\n panel2.node = node2;\n panel2.classList.add(\"settings\");\n function inner_refresh() {\n panel2.content.innerHTML = \"\";\n panel2.addHTML(\"\" + node2.type + \"\" + (node2.constructor.desc || \"\") + \"\");\n panel2.addHTML(\"

Properties

\");\n var fUpdate = function(name, value2) {\n graphcanvas.graph.beforeChange(node2);\n switch (name) {\n case \"Title\":\n node2.title = value2;\n break;\n case \"Mode\":\n var kV = Object.values(LiteGraph.NODE_MODES).indexOf(value2);\n if (kV >= 0 && LiteGraph.NODE_MODES[kV]) {\n node2.changeMode(kV);\n } else {\n console.warn(\"unexpected mode: \" + value2);\n }\n break;\n case \"Color\":\n if (_LGraphCanvas.node_colors[value2]) {\n node2.color = _LGraphCanvas.node_colors[value2].color;\n node2.bgcolor = _LGraphCanvas.node_colors[value2].bgcolor;\n } else {\n console.warn(\"unexpected color: \" + value2);\n }\n break;\n default:\n node2.setProperty(name, value2);\n break;\n }\n graphcanvas.graph.afterChange();\n graphcanvas.dirty_canvas = true;\n };\n panel2.addWidget(\"string\", \"Title\", node2.title, {}, fUpdate);\n panel2.addWidget(\"combo\", \"Mode\", LiteGraph.NODE_MODES[node2.mode], { values: LiteGraph.NODE_MODES }, fUpdate);\n var nodeCol = \"\";\n if (node2.color !== void 0) {\n nodeCol = Object.keys(_LGraphCanvas.node_colors).filter(function(nK) {\n return _LGraphCanvas.node_colors[nK].color == node2.color;\n });\n }\n panel2.addWidget(\"combo\", \"Color\", nodeCol, { values: Object.keys(_LGraphCanvas.node_colors) }, fUpdate);\n for (var pName in node2.properties) {\n var value = node2.properties[pName];\n var info = node2.getPropertyInfo(pName);\n info.type || \"string\";\n if (node2.onAddPropertyToPanel && node2.onAddPropertyToPanel(pName, panel2))\n continue;\n panel2.addWidget(info.widget || info.type, pName, value, info, fUpdate);\n }\n panel2.addSeparator();\n if (node2.onShowCustomPanelInfo)\n node2.onShowCustomPanelInfo(panel2);\n panel2.footer.innerHTML = \"\";\n panel2.addButton(\"Delete\", function() {\n if (node2.block_delete)\n return;\n node2.graph.remove(node2);\n panel2.close();\n }).classList.add(\"delete\");\n }\n panel2.inner_showCodePad = function(propname) {\n panel2.classList.remove(\"settings\");\n panel2.classList.add(\"centered\");\n panel2.alt_content.innerHTML = \"\";\n var textarea = panel2.alt_content.querySelector(\"textarea\");\n var fDoneWith = function() {\n panel2.toggleAltContent(false);\n panel2.toggleFooterVisibility(true);\n textarea.parentNode.removeChild(textarea);\n panel2.classList.add(\"settings\");\n panel2.classList.remove(\"centered\");\n inner_refresh();\n };\n textarea.value = node2.properties[propname];\n textarea.addEventListener(\"keydown\", function(e) {\n if (e.code == \"Enter\" && e.ctrlKey) {\n node2.setProperty(propname, textarea.value);\n fDoneWith();\n }\n });\n panel2.toggleAltContent(true);\n panel2.toggleFooterVisibility(false);\n textarea.style.height = \"calc(100% - 40px)\";\n var assign = panel2.addButton(\"Assign\", function() {\n node2.setProperty(propname, textarea.value);\n fDoneWith();\n });\n panel2.alt_content.appendChild(assign);\n var button = panel2.addButton(\"Close\", fDoneWith);\n button.style.float = \"right\";\n panel2.alt_content.appendChild(button);\n };\n inner_refresh();\n this.canvas.parentNode.appendChild(panel2);\n }\n showSubgraphPropertiesDialog(node2) {\n console.log(\"showing subgraph properties dialog\");\n var old_panel = this.canvas.parentNode.querySelector(\".subgraph_dialog\");\n if (old_panel)\n old_panel.close();\n var panel2 = this.createPanel(\"Subgraph Inputs\", { closable: true, width: 500 });\n panel2.node = node2;\n panel2.classList.add(\"subgraph_dialog\");\n function inner_refresh() {\n panel2.clear();\n if (node2.inputs)\n for (var i2 = 0; i2 < node2.inputs.length; ++i2) {\n var input = node2.inputs[i2];\n if (input.not_subgraph_input)\n continue;\n var html2 = \" \";\n var elem2 = panel2.addHTML(html2, \"subgraph_property\");\n elem2.dataset[\"name\"] = input.name;\n elem2.dataset[\"slot\"] = i2;\n elem2.querySelector(\".name\").innerText = input.name;\n elem2.querySelector(\".type\").innerText = input.type;\n elem2.querySelector(\"button\").addEventListener(\"click\", function(e) {\n node2.removeInput(Number(this.parentNode.dataset[\"slot\"]));\n inner_refresh();\n });\n }\n }\n var html = \" + NameType\";\n var elem = panel2.addHTML(html, \"subgraph_property extra\", true);\n elem.querySelector(\"button\").addEventListener(\"click\", function(e) {\n var elem2 = this.parentNode;\n var name = elem2.querySelector(\".name\").value;\n var type = elem2.querySelector(\".type\").value;\n if (!name || node2.findInputSlot(name) != -1)\n return;\n node2.addInput(name, type);\n elem2.querySelector(\".name\").value = \"\";\n elem2.querySelector(\".type\").value = \"\";\n inner_refresh();\n });\n inner_refresh();\n this.canvas.parentNode.appendChild(panel2);\n return panel2;\n }\n showSubgraphPropertiesDialogRight(node2) {\n var old_panel = this.canvas.parentNode.querySelector(\".subgraph_dialog\");\n if (old_panel)\n old_panel.close();\n var panel2 = this.createPanel(\"Subgraph Outputs\", { closable: true, width: 500 });\n panel2.node = node2;\n panel2.classList.add(\"subgraph_dialog\");\n function inner_refresh() {\n panel2.clear();\n if (node2.outputs)\n for (var i2 = 0; i2 < node2.outputs.length; ++i2) {\n var input = node2.outputs[i2];\n if (input.not_subgraph_output)\n continue;\n var html2 = \" \";\n var elem2 = panel2.addHTML(html2, \"subgraph_property\");\n elem2.dataset[\"name\"] = input.name;\n elem2.dataset[\"slot\"] = i2;\n elem2.querySelector(\".name\").innerText = input.name;\n elem2.querySelector(\".type\").innerText = input.type;\n elem2.querySelector(\"button\").addEventListener(\"click\", function(e) {\n node2.removeOutput(Number(this.parentNode.dataset[\"slot\"]));\n inner_refresh();\n });\n }\n }\n var html = \" + NameType\";\n var elem = panel2.addHTML(html, \"subgraph_property extra\", true);\n elem.querySelector(\".name\").addEventListener(\"keydown\", function(e) {\n if (e.keyCode == 13) {\n addOutput.apply(this);\n }\n });\n elem.querySelector(\"button\").addEventListener(\"click\", function(e) {\n addOutput.apply(this);\n });\n function addOutput() {\n var elem2 = this.parentNode;\n var name = elem2.querySelector(\".name\").value;\n var type = elem2.querySelector(\".type\").value;\n if (!name || node2.findOutputSlot(name) != -1)\n return;\n node2.addOutput(name, type);\n elem2.querySelector(\".name\").value = \"\";\n elem2.querySelector(\".type\").value = \"\";\n inner_refresh();\n }\n inner_refresh();\n this.canvas.parentNode.appendChild(panel2);\n return panel2;\n }\n checkPanels() {\n if (!this.canvas)\n return;\n var panels = this.canvas.parentNode.querySelectorAll(\".litegraph.dialog\");\n for (var i2 = 0; i2 < panels.length; ++i2) {\n var panel2 = panels[i2];\n if (!panel2.node)\n continue;\n if (!panel2.node.graph || panel2.graph != this.graph)\n panel2.close();\n }\n }\n getCanvasMenuOptions() {\n var options = null;\n if (this.getMenuOptions) {\n options = this.getMenuOptions();\n } else {\n options = [\n {\n content: \"Add Node\",\n has_submenu: true,\n callback: _LGraphCanvas.onMenuAdd\n },\n { content: \"Add Group\", callback: _LGraphCanvas.onGroupAdd }\n //{ content: \"Arrange\", callback: that.graph.arrange },\n //{content:\"Collapse All\", callback: LGraphCanvas.onMenuCollapseAll }\n ];\n if (Object.keys(this.selected_nodes).length > 1) {\n options.push({\n content: \"Align\",\n has_submenu: true,\n callback: _LGraphCanvas.onGroupAlign\n });\n }\n if (this._graph_stack && this._graph_stack.length > 0) {\n options.push(null, {\n content: \"Close subgraph\",\n callback: this.closeSubgraph.bind(this)\n });\n }\n }\n if (this.getExtraMenuOptions) {\n var extra = this.getExtraMenuOptions(this, options);\n if (extra) {\n options = options.concat(extra);\n }\n }\n return options;\n }\n //called by processContextMenu to extract the menu list\n getNodeMenuOptions(node2) {\n var _a;\n var options = null;\n if (node2.getMenuOptions) {\n options = node2.getMenuOptions(this);\n } else {\n options = [\n {\n content: \"Inputs\",\n has_submenu: true,\n disabled: true,\n callback: _LGraphCanvas.showMenuNodeOptionalInputs\n },\n {\n content: \"Outputs\",\n has_submenu: true,\n disabled: true,\n callback: _LGraphCanvas.showMenuNodeOptionalOutputs\n },\n null,\n {\n content: \"Properties\",\n has_submenu: true,\n callback: _LGraphCanvas.onShowMenuNodeProperties\n },\n {\n content: \"Properties Panel\",\n callback: function(item, options2, e, menu, node3) {\n _LGraphCanvas.active_canvas.showShowNodePanel(node3);\n }\n },\n null,\n {\n content: \"Title\",\n callback: _LGraphCanvas.onShowPropertyEditor\n },\n {\n content: \"Mode\",\n has_submenu: true,\n callback: _LGraphCanvas.onMenuNodeMode\n }\n ];\n if (node2.resizable !== false) {\n options.push({\n content: \"Resize\",\n callback: _LGraphCanvas.onMenuResizeNode\n });\n }\n options.push(\n {\n content: \"Collapse\",\n callback: _LGraphCanvas.onMenuNodeCollapse\n },\n {\n content: ((_a = node2.flags) == null ? void 0 : _a.pinned) ? \"Unpin\" : \"Pin\",\n callback: _LGraphCanvas.onMenuNodePin\n },\n {\n content: \"Colors\",\n has_submenu: true,\n callback: _LGraphCanvas.onMenuNodeColors\n },\n {\n content: \"Shapes\",\n has_submenu: true,\n callback: _LGraphCanvas.onMenuNodeShapes\n },\n null\n );\n }\n if (node2.onGetInputs) {\n var inputs = node2.onGetInputs();\n if (inputs && inputs.length) {\n options[0].disabled = false;\n }\n }\n if (node2.onGetOutputs) {\n var outputs = node2.onGetOutputs();\n if (outputs && outputs.length) {\n options[1].disabled = false;\n }\n }\n if (node2.getExtraMenuOptions) {\n var extra = node2.getExtraMenuOptions(this, options);\n if (extra) {\n extra.push(null);\n options = extra.concat(options);\n }\n }\n if (node2.clonable !== false) {\n options.push({\n content: \"Clone\",\n callback: _LGraphCanvas.onMenuNodeClone\n });\n }\n if (Object.keys(this.selected_nodes).length > 1) {\n options.push({\n content: \"Align Selected To\",\n has_submenu: true,\n callback: _LGraphCanvas.onNodeAlign\n });\n }\n options.push(null, {\n content: \"Remove\",\n disabled: !(node2.removable !== false && !node2.block_delete),\n callback: _LGraphCanvas.onMenuNodeRemove\n });\n if (node2.graph && node2.graph.onGetNodeMenuOptions) {\n node2.graph.onGetNodeMenuOptions(options, node2);\n }\n return options;\n }\n getGroupMenuOptions(node2) {\n var o = [\n { content: \"Title\", callback: _LGraphCanvas.onShowPropertyEditor },\n {\n content: \"Color\",\n has_submenu: true,\n callback: _LGraphCanvas.onMenuNodeColors\n },\n {\n content: \"Font size\",\n property: \"font_size\",\n type: \"Number\",\n callback: _LGraphCanvas.onShowPropertyEditor\n },\n null,\n { content: \"Remove\", callback: _LGraphCanvas.onMenuNodeRemove }\n ];\n return o;\n }\n processContextMenu(node2, event2) {\n var that2 = this;\n var canvas = _LGraphCanvas.active_canvas;\n var ref_window2 = canvas.getCanvasWindow();\n var menu_info = null;\n var options = {\n event: event2,\n callback: inner_option_clicked,\n extra: node2\n };\n if (node2)\n options.title = node2.type;\n var slot = null;\n if (node2) {\n slot = node2.getSlotInPosition(event2.canvasX, event2.canvasY);\n _LGraphCanvas.active_node = node2;\n }\n if (slot) {\n menu_info = [];\n if (node2.getSlotMenuOptions) {\n menu_info = node2.getSlotMenuOptions(slot);\n } else {\n if (slot && slot.output && slot.output.links && slot.output.links.length) {\n menu_info.push({ content: \"Disconnect Links\", slot });\n }\n var _slot = slot.input || slot.output;\n if (_slot.removable) {\n menu_info.push(\n _slot.locked ? \"Cannot remove\" : { content: \"Remove Slot\", slot }\n );\n }\n if (!_slot.nameLocked) {\n menu_info.push({ content: \"Rename Slot\", slot });\n }\n }\n options.title = (slot.input ? slot.input.type : slot.output.type) || \"*\";\n if (slot.input && slot.input.type == LiteGraph.ACTION) {\n options.title = \"Action\";\n }\n if (slot.output && slot.output.type == LiteGraph.EVENT) {\n options.title = \"Event\";\n }\n } else {\n if (node2) {\n menu_info = this.getNodeMenuOptions(node2);\n } else {\n menu_info = this.getCanvasMenuOptions();\n var group = this.graph.getGroupOnPos(\n event2.canvasX,\n event2.canvasY\n );\n if (group) {\n menu_info.push(null, {\n content: \"Edit Group\",\n has_submenu: true,\n submenu: {\n title: \"Group\",\n extra: group,\n options: this.getGroupMenuOptions(group)\n }\n });\n }\n }\n }\n if (!menu_info) {\n return;\n }\n new LiteGraph.ContextMenu(menu_info, options, ref_window2);\n function inner_option_clicked(v2, options2, e) {\n if (!v2) {\n return;\n }\n if (v2.content == \"Remove Slot\") {\n var info = v2.slot;\n node2.graph.beforeChange();\n if (info.input) {\n node2.removeInput(info.slot);\n } else if (info.output) {\n node2.removeOutput(info.slot);\n }\n node2.graph.afterChange();\n return;\n } else if (v2.content == \"Disconnect Links\") {\n var info = v2.slot;\n node2.graph.beforeChange();\n if (info.output) {\n node2.disconnectOutput(info.slot);\n } else if (info.input) {\n node2.disconnectInput(info.slot);\n }\n node2.graph.afterChange();\n return;\n } else if (v2.content == \"Rename Slot\") {\n var info = v2.slot;\n var slot_info = info.input ? node2.getInputInfo(info.slot) : node2.getOutputInfo(info.slot);\n var dialog = that2.createDialog(\n \"Name\",\n options2\n );\n var input = dialog.querySelector(\"input\");\n if (input && slot_info) {\n input.value = slot_info.label || \"\";\n }\n var inner = function() {\n node2.graph.beforeChange();\n if (input.value) {\n if (slot_info) {\n slot_info.label = input.value;\n }\n that2.setDirty(true);\n }\n dialog.close();\n node2.graph.afterChange();\n };\n dialog.querySelector(\"button\").addEventListener(\"click\", inner);\n input.addEventListener(\"keydown\", function(e2) {\n dialog.is_modified = true;\n if (e2.keyCode == 27) {\n dialog.close();\n } else if (e2.keyCode == 13) {\n inner();\n } else if (e2.keyCode != 13 && e2.target.localName != \"textarea\") {\n return;\n }\n e2.preventDefault();\n e2.stopPropagation();\n });\n input.focus();\n }\n }\n }\n };\n _temp = new WeakMap();\n _temp_vec2 = new WeakMap();\n _tmp_area = new WeakMap();\n _margin_area = new WeakMap();\n _link_bounding = new WeakMap();\n _tempA = new WeakMap();\n _tempB = new WeakMap();\n /* Interaction */\n __privateAdd(_LGraphCanvas, _temp, new Float32Array(4));\n __privateAdd(_LGraphCanvas, _temp_vec2, new Float32Array(2));\n __privateAdd(_LGraphCanvas, _tmp_area, new Float32Array(4));\n __privateAdd(_LGraphCanvas, _margin_area, new Float32Array(4));\n __privateAdd(_LGraphCanvas, _link_bounding, new Float32Array(4));\n __privateAdd(_LGraphCanvas, _tempA, new Float32Array(2));\n __privateAdd(_LGraphCanvas, _tempB, new Float32Array(2));\n __publicField(_LGraphCanvas, \"DEFAULT_BACKGROUND_IMAGE\", \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAAABkCAIAAAD/gAIDAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAQBJREFUeNrs1rEKwjAUhlETUkj3vP9rdmr1Ysammk2w5wdxuLgcMHyptfawuZX4pJSWZTnfnu/lnIe/jNNxHHGNn//HNbbv+4dr6V+11uF527arU7+u63qfa/bnmh8sWLBgwYJlqRf8MEptXPBXJXa37BSl3ixYsGDBMliwFLyCV/DeLIMFCxYsWLBMwSt4Be/NggXLYMGCBUvBK3iNruC9WbBgwYJlsGApeAWv4L1ZBgsWLFiwYJmCV/AK3psFC5bBggULloJX8BpdwXuzYMGCBctgwVLwCl7Be7MMFixYsGDBsu8FH1FaSmExVfAxBa/gvVmwYMGCZbBg/W4vAQYA5tRF9QYlv/QAAAAASUVORK5CYII=\");\n __publicField(_LGraphCanvas, \"link_type_colors\", {\n \"-1\": LiteGraph.EVENT_LINK_COLOR,\n number: \"#AAA\",\n node: \"#DCA\"\n });\n __publicField(_LGraphCanvas, \"gradients\", {});\n //cache of gradients\n __publicField(_LGraphCanvas, \"search_limit\", -1);\n __publicField(_LGraphCanvas, \"node_colors\", {\n red: { color: \"#322\", bgcolor: \"#533\", groupcolor: \"#A88\" },\n brown: { color: \"#332922\", bgcolor: \"#593930\", groupcolor: \"#b06634\" },\n green: { color: \"#232\", bgcolor: \"#353\", groupcolor: \"#8A8\" },\n blue: { color: \"#223\", bgcolor: \"#335\", groupcolor: \"#88A\" },\n pale_blue: {\n color: \"#2a363b\",\n bgcolor: \"#3f5159\",\n groupcolor: \"#3f789e\"\n },\n cyan: { color: \"#233\", bgcolor: \"#355\", groupcolor: \"#8AA\" },\n purple: { color: \"#323\", bgcolor: \"#535\", groupcolor: \"#a1309b\" },\n yellow: { color: \"#432\", bgcolor: \"#653\", groupcolor: \"#b58b2a\" },\n black: { color: \"#222\", bgcolor: \"#000\", groupcolor: \"#444\" }\n });\n let LGraphCanvas = _LGraphCanvas;\n globalThis.LGraphCanvas = LiteGraph.LGraphCanvas = LGraphCanvas;\n if (typeof window != \"undefined\" && window.CanvasRenderingContext2D && !window.CanvasRenderingContext2D.prototype.roundRect) {\n window.CanvasRenderingContext2D.prototype.roundRect = function(x2, y2, w2, h, radius, radius_low) {\n var top_left_radius = 0;\n var top_right_radius = 0;\n var bottom_left_radius = 0;\n var bottom_right_radius = 0;\n if (radius === 0) {\n this.rect(x2, y2, w2, h);\n return;\n }\n if (radius_low === void 0)\n radius_low = radius;\n if (radius != null && radius.constructor === Array) {\n if (radius.length == 1)\n top_left_radius = top_right_radius = bottom_left_radius = bottom_right_radius = radius[0];\n else if (radius.length == 2) {\n top_left_radius = bottom_right_radius = radius[0];\n top_right_radius = bottom_left_radius = radius[1];\n } else if (radius.length == 4) {\n top_left_radius = radius[0];\n top_right_radius = radius[1];\n bottom_left_radius = radius[2];\n bottom_right_radius = radius[3];\n } else\n return;\n } else {\n top_left_radius = radius || 0;\n top_right_radius = radius || 0;\n bottom_left_radius = radius_low || 0;\n bottom_right_radius = radius_low || 0;\n }\n this.moveTo(x2 + top_left_radius, y2);\n this.lineTo(x2 + w2 - top_right_radius, y2);\n this.quadraticCurveTo(x2 + w2, y2, x2 + w2, y2 + top_right_radius);\n this.lineTo(x2 + w2, y2 + h - bottom_right_radius);\n this.quadraticCurveTo(\n x2 + w2,\n y2 + h,\n x2 + w2 - bottom_right_radius,\n y2 + h\n );\n this.lineTo(x2 + bottom_right_radius, y2 + h);\n this.quadraticCurveTo(x2, y2 + h, x2, y2 + h - bottom_left_radius);\n this.lineTo(x2, y2 + bottom_left_radius);\n this.quadraticCurveTo(x2, y2, x2 + top_left_radius, y2);\n };\n }\n function compareObjects(a, b) {\n for (var i2 in a) {\n if (a[i2] != b[i2]) {\n return false;\n }\n }\n return true;\n }\n LiteGraph.compareObjects = compareObjects;\n function distance(a, b) {\n return Math.sqrt(\n (b[0] - a[0]) * (b[0] - a[0]) + (b[1] - a[1]) * (b[1] - a[1])\n );\n }\n LiteGraph.distance = distance;\n function colorToString(c) {\n return \"rgba(\" + Math.round(c[0] * 255).toFixed() + \",\" + Math.round(c[1] * 255).toFixed() + \",\" + Math.round(c[2] * 255).toFixed() + \",\" + (c.length == 4 ? c[3].toFixed(2) : \"1.0\") + \")\";\n }\n LiteGraph.colorToString = colorToString;\n function isInsideRectangle(x2, y2, left, top, width2, height) {\n if (left < x2 && left + width2 > x2 && top < y2 && top + height > y2) {\n return true;\n }\n return false;\n }\n LiteGraph.isInsideRectangle = isInsideRectangle;\n function growBounding(bounding, x2, y2) {\n if (x2 < bounding[0]) {\n bounding[0] = x2;\n } else if (x2 > bounding[2]) {\n bounding[2] = x2;\n }\n if (y2 < bounding[1]) {\n bounding[1] = y2;\n } else if (y2 > bounding[3]) {\n bounding[3] = y2;\n }\n }\n LiteGraph.growBounding = growBounding;\n function isInsideBounding(p, bb) {\n if (p[0] < bb[0][0] || p[1] < bb[0][1] || p[0] > bb[1][0] || p[1] > bb[1][1]) {\n return false;\n }\n return true;\n }\n LiteGraph.isInsideBounding = isInsideBounding;\n function overlapBounding(a, b) {\n var A_end_x = a[0] + a[2];\n var A_end_y = a[1] + a[3];\n var B_end_x = b[0] + b[2];\n var B_end_y = b[1] + b[3];\n if (a[0] > B_end_x || a[1] > B_end_y || A_end_x < b[0] || A_end_y < b[1]) {\n return false;\n }\n return true;\n }\n LiteGraph.overlapBounding = overlapBounding;\n function hex2num(hex) {\n if (hex.charAt(0) == \"#\") {\n hex = hex.slice(1);\n }\n hex = hex.toUpperCase();\n var hex_alphabets = \"0123456789ABCDEF\";\n var value = new Array(3);\n var k = 0;\n var int1, int2;\n for (var i2 = 0; i2 < 6; i2 += 2) {\n int1 = hex_alphabets.indexOf(hex.charAt(i2));\n int2 = hex_alphabets.indexOf(hex.charAt(i2 + 1));\n value[k] = int1 * 16 + int2;\n k++;\n }\n return value;\n }\n LiteGraph.hex2num = hex2num;\n function num2hex(triplet) {\n var hex_alphabets = \"0123456789ABCDEF\";\n var hex = \"#\";\n var int1, int2;\n for (var i2 = 0; i2 < 3; i2++) {\n int1 = triplet[i2] / 16;\n int2 = triplet[i2] % 16;\n hex += hex_alphabets.charAt(int1) + hex_alphabets.charAt(int2);\n }\n return hex;\n }\n LiteGraph.num2hex = num2hex;\n function ContextMenu(values2, options) {\n options = options || {};\n this.options = options;\n var that2 = this;\n if (options.parentMenu) {\n if (options.parentMenu.constructor !== this.constructor) {\n console.error(\n \"parentMenu must be of class ContextMenu, ignoring it\"\n );\n options.parentMenu = null;\n } else {\n this.parentMenu = options.parentMenu;\n this.parentMenu.lock = true;\n this.parentMenu.current_submenu = this;\n }\n }\n var eventClass = null;\n if (options.event)\n eventClass = options.event.constructor.name;\n if (eventClass !== \"MouseEvent\" && eventClass !== \"CustomEvent\" && eventClass !== \"PointerEvent\") {\n console.error(\n \"Event passed to ContextMenu is not of type MouseEvent or CustomEvent. Ignoring it. (\" + eventClass + \")\"\n );\n options.event = null;\n }\n var root = document.createElement(\"div\");\n root.className = \"litegraph litecontextmenu litemenubar-panel\";\n if (options.className) {\n root.className += \" \" + options.className;\n }\n root.style.minWidth = 100;\n root.style.minHeight = 100;\n root.style.pointerEvents = \"none\";\n setTimeout(function() {\n root.style.pointerEvents = \"auto\";\n }, 100);\n LiteGraph.pointerListenerAdd(\n root,\n \"up\",\n function(e) {\n e.preventDefault();\n return true;\n },\n true\n );\n root.addEventListener(\n \"contextmenu\",\n function(e) {\n if (e.button != 2) {\n return false;\n }\n e.preventDefault();\n return false;\n },\n true\n );\n LiteGraph.pointerListenerAdd(\n root,\n \"down\",\n function(e) {\n if (e.button == 2) {\n that2.close();\n e.preventDefault();\n return true;\n }\n },\n true\n );\n function on_mouse_wheel(e) {\n var pos2 = parseInt(root.style.top);\n root.style.top = (pos2 + e.deltaY * options.scroll_speed).toFixed() + \"px\";\n e.preventDefault();\n return true;\n }\n if (!options.scroll_speed) {\n options.scroll_speed = 0.1;\n }\n root.addEventListener(\"wheel\", on_mouse_wheel, true);\n root.addEventListener(\"mousewheel\", on_mouse_wheel, true);\n this.root = root;\n if (options.title) {\n var element = document.createElement(\"div\");\n element.className = \"litemenu-title\";\n element.innerHTML = options.title;\n root.appendChild(element);\n }\n for (var i2 = 0; i2 < values2.length; i2++) {\n var name = values2.constructor == Array ? values2[i2] : i2;\n if (name != null && name.constructor !== String) {\n name = name.content === void 0 ? String(name) : name.content;\n }\n var value = values2[i2];\n this.addItem(name, value, options);\n }\n LiteGraph.pointerListenerAdd(root, \"enter\", function(e) {\n if (root.closing_timer) {\n clearTimeout(root.closing_timer);\n }\n });\n var root_document = document;\n if (options.event) {\n root_document = options.event.target.ownerDocument;\n }\n if (!root_document) {\n root_document = document;\n }\n if (root_document.fullscreenElement)\n root_document.fullscreenElement.appendChild(root);\n else\n root_document.body.appendChild(root);\n var left = options.left || 0;\n var top = options.top || 0;\n if (options.event) {\n left = options.event.clientX - 10;\n top = options.event.clientY - 10;\n if (options.title) {\n top -= 20;\n }\n if (options.parentMenu) {\n var rect = options.parentMenu.root.getBoundingClientRect();\n left = rect.left + rect.width;\n }\n var body_rect = document.body.getBoundingClientRect();\n var root_rect = root.getBoundingClientRect();\n if (body_rect.height == 0)\n console.error(\"document.body height is 0. That is dangerous, set html,body { height: 100%; }\");\n if (body_rect.width && left > body_rect.width - root_rect.width - 10) {\n left = body_rect.width - root_rect.width - 10;\n }\n if (body_rect.height && top > body_rect.height - root_rect.height - 10) {\n top = body_rect.height - root_rect.height - 10;\n }\n }\n root.style.left = left + \"px\";\n root.style.top = top + \"px\";\n if (options.scale) {\n root.style.transform = \"scale(\" + options.scale + \")\";\n }\n }\n ContextMenu.prototype.addItem = function(name, value, options) {\n var that2 = this;\n options = options || {};\n var element = document.createElement(\"div\");\n element.className = \"litemenu-entry submenu\";\n var disabled = false;\n if (value === null) {\n element.classList.add(\"separator\");\n } else {\n element.innerHTML = value && value.title ? value.title : name;\n element.value = value;\n element.setAttribute(\"role\", \"menuitem\");\n if (value) {\n if (value.disabled) {\n disabled = true;\n element.classList.add(\"disabled\");\n element.setAttribute(\"aria-disabled\", \"true\");\n }\n if (value.submenu || value.has_submenu) {\n element.classList.add(\"has_submenu\");\n element.setAttribute(\"aria-haspopup\", \"true\");\n element.setAttribute(\"aria-expanded\", \"false\");\n }\n }\n if (typeof value == \"function\") {\n element.dataset[\"value\"] = name;\n element.onclick_callback = value;\n } else {\n element.dataset[\"value\"] = value;\n }\n if (value.className) {\n element.className += \" \" + value.className;\n }\n }\n this.root.appendChild(element);\n if (!disabled) {\n element.addEventListener(\"click\", inner_onclick);\n }\n if (!disabled && options.autoopen) {\n LiteGraph.pointerListenerAdd(element, \"enter\", inner_over);\n }\n function setAriaExpanded() {\n const entries = that2.root.querySelectorAll(\"div.litemenu-entry.has_submenu\");\n if (entries) {\n for (let i2 = 0; i2 < entries.length; i2++) {\n entries[i2].setAttribute(\"aria-expanded\", \"false\");\n }\n }\n element.setAttribute(\"aria-expanded\", \"true\");\n }\n function inner_over(e) {\n var value2 = this.value;\n if (!value2 || !value2.has_submenu) {\n return;\n }\n inner_onclick.call(this, e);\n setAriaExpanded();\n }\n function inner_onclick(e) {\n var value2 = this.value;\n var close_parent = true;\n if (that2.current_submenu) {\n that2.current_submenu.close(e);\n }\n if ((value2 == null ? void 0 : value2.has_submenu) || (value2 == null ? void 0 : value2.submenu)) {\n setAriaExpanded();\n }\n if (options.callback) {\n var r = options.callback.call(\n this,\n value2,\n options,\n e,\n that2,\n options.node\n );\n if (r === true) {\n close_parent = false;\n }\n }\n if (value2) {\n if (value2.callback && !options.ignore_item_callbacks && value2.disabled !== true) {\n var r = value2.callback.call(\n this,\n value2,\n options,\n e,\n that2,\n options.extra\n );\n if (r === true) {\n close_parent = false;\n }\n }\n if (value2.submenu) {\n if (!value2.submenu.options) {\n throw \"ContextMenu submenu needs options\";\n }\n new that2.constructor(value2.submenu.options, {\n callback: value2.submenu.callback,\n event: e,\n parentMenu: that2,\n ignore_item_callbacks: value2.submenu.ignore_item_callbacks,\n title: value2.submenu.title,\n extra: value2.submenu.extra,\n autoopen: options.autoopen\n });\n close_parent = false;\n }\n }\n if (close_parent && !that2.lock) {\n that2.close();\n }\n }\n return element;\n };\n ContextMenu.prototype.close = function(e, ignore_parent_menu) {\n if (this.root.parentNode) {\n this.root.parentNode.removeChild(this.root);\n }\n if (this.parentMenu && !ignore_parent_menu) {\n this.parentMenu.lock = false;\n this.parentMenu.current_submenu = null;\n if (e === void 0) {\n this.parentMenu.close();\n } else if (e && !ContextMenu.isCursorOverElement(e, this.parentMenu.root)) {\n ContextMenu.trigger(this.parentMenu.root, LiteGraph.pointerevents_method + \"leave\", e);\n }\n }\n if (this.current_submenu) {\n this.current_submenu.close(e, true);\n }\n if (this.root.closing_timer) {\n clearTimeout(this.root.closing_timer);\n }\n };\n ContextMenu.trigger = function(element, event_name, params, origin) {\n var evt = document.createEvent(\"CustomEvent\");\n evt.initCustomEvent(event_name, true, true, params);\n evt.srcElement = origin;\n if (element.dispatchEvent) {\n element.dispatchEvent(evt);\n } else if (element.__events) {\n element.__events.dispatchEvent(evt);\n }\n return evt;\n };\n ContextMenu.prototype.getTopMenu = function() {\n if (this.options.parentMenu) {\n return this.options.parentMenu.getTopMenu();\n }\n return this;\n };\n ContextMenu.prototype.getFirstEvent = function() {\n if (this.options.parentMenu) {\n return this.options.parentMenu.getFirstEvent();\n }\n return this.options.event;\n };\n ContextMenu.isCursorOverElement = function(event2, element) {\n var left = event2.clientX;\n var top = event2.clientY;\n var rect = element.getBoundingClientRect();\n if (!rect) {\n return false;\n }\n if (top > rect.top && top < rect.top + rect.height && left > rect.left && left < rect.left + rect.width) {\n return true;\n }\n return false;\n };\n LiteGraph.ContextMenu = ContextMenu;\n LiteGraph.closeAllContextMenus = function(ref_window2) {\n ref_window2 = ref_window2 || window;\n var elements = ref_window2.document.querySelectorAll(\".litecontextmenu\");\n if (!elements.length) {\n return;\n }\n var result = [];\n for (var i2 = 0; i2 < elements.length; i2++) {\n result.push(elements[i2]);\n }\n for (var i2 = 0; i2 < result.length; i2++) {\n if (result[i2].close) {\n result[i2].close();\n } else if (result[i2].parentNode) {\n result[i2].parentNode.removeChild(result[i2]);\n }\n }\n };\n LiteGraph.extendClass = function(target, origin) {\n for (var i2 in origin) {\n if (target.hasOwnProperty(i2)) {\n continue;\n }\n target[i2] = origin[i2];\n }\n if (origin.prototype) {\n for (var i2 in origin.prototype) {\n if (!origin.prototype.hasOwnProperty(i2)) {\n continue;\n }\n if (target.prototype.hasOwnProperty(i2)) {\n continue;\n }\n if (origin.prototype.__lookupGetter__(i2)) {\n target.prototype.__defineGetter__(\n i2,\n origin.prototype.__lookupGetter__(i2)\n );\n } else {\n target.prototype[i2] = origin.prototype[i2];\n }\n if (origin.prototype.__lookupSetter__(i2)) {\n target.prototype.__defineSetter__(\n i2,\n origin.prototype.__lookupSetter__(i2)\n );\n }\n }\n }\n };\n function CurveEditor(points) {\n this.points = points;\n this.selected = -1;\n this.nearest = -1;\n this.size = null;\n this.must_update = true;\n this.margin = 5;\n }\n CurveEditor.sampleCurve = function(f, points) {\n if (!points)\n return;\n for (var i2 = 0; i2 < points.length - 1; ++i2) {\n var p = points[i2];\n var pn = points[i2 + 1];\n if (pn[0] < f)\n continue;\n var r = pn[0] - p[0];\n if (Math.abs(r) < 1e-5)\n return p[1];\n var local_f = (f - p[0]) / r;\n return p[1] * (1 - local_f) + pn[1] * local_f;\n }\n return 0;\n };\n CurveEditor.prototype.draw = function(ctx, size, graphcanvas, background_color, line_color, inactive) {\n var points = this.points;\n if (!points)\n return;\n this.size = size;\n var w2 = size[0] - this.margin * 2;\n var h = size[1] - this.margin * 2;\n line_color = line_color || \"#666\";\n ctx.save();\n ctx.translate(this.margin, this.margin);\n if (background_color) {\n ctx.fillStyle = \"#111\";\n ctx.fillRect(0, 0, w2, h);\n ctx.fillStyle = \"#222\";\n ctx.fillRect(w2 * 0.5, 0, 1, h);\n ctx.strokeStyle = \"#333\";\n ctx.strokeRect(0, 0, w2, h);\n }\n ctx.strokeStyle = line_color;\n if (inactive)\n ctx.globalAlpha = 0.5;\n ctx.beginPath();\n for (var i2 = 0; i2 < points.length; ++i2) {\n var p = points[i2];\n ctx.lineTo(p[0] * w2, (1 - p[1]) * h);\n }\n ctx.stroke();\n ctx.globalAlpha = 1;\n if (!inactive)\n for (var i2 = 0; i2 < points.length; ++i2) {\n var p = points[i2];\n ctx.fillStyle = this.selected == i2 ? \"#FFF\" : this.nearest == i2 ? \"#DDD\" : \"#AAA\";\n ctx.beginPath();\n ctx.arc(p[0] * w2, (1 - p[1]) * h, 2, 0, Math.PI * 2);\n ctx.fill();\n }\n ctx.restore();\n };\n CurveEditor.prototype.onMouseDown = function(localpos, graphcanvas) {\n var points = this.points;\n if (!points)\n return;\n if (localpos[1] < 0)\n return;\n var w2 = this.size[0] - this.margin * 2;\n var h = this.size[1] - this.margin * 2;\n var x2 = localpos[0] - this.margin;\n var y2 = localpos[1] - this.margin;\n var pos2 = [x2, y2];\n var max_dist = 30 / graphcanvas.ds.scale;\n this.selected = this.getCloserPoint(pos2, max_dist);\n if (this.selected == -1) {\n var point = [x2 / w2, 1 - y2 / h];\n points.push(point);\n points.sort(function(a, b) {\n return a[0] - b[0];\n });\n this.selected = points.indexOf(point);\n this.must_update = true;\n }\n if (this.selected != -1)\n return true;\n };\n CurveEditor.prototype.onMouseMove = function(localpos, graphcanvas) {\n var points = this.points;\n if (!points)\n return;\n var s = this.selected;\n if (s < 0)\n return;\n var x2 = (localpos[0] - this.margin) / (this.size[0] - this.margin * 2);\n var y2 = (localpos[1] - this.margin) / (this.size[1] - this.margin * 2);\n var curvepos = [localpos[0] - this.margin, localpos[1] - this.margin];\n var max_dist = 30 / graphcanvas.ds.scale;\n this._nearest = this.getCloserPoint(curvepos, max_dist);\n var point = points[s];\n if (point) {\n var is_edge_point = s == 0 || s == points.length - 1;\n if (!is_edge_point && (localpos[0] < -10 || localpos[0] > this.size[0] + 10 || localpos[1] < -10 || localpos[1] > this.size[1] + 10)) {\n points.splice(s, 1);\n this.selected = -1;\n return;\n }\n if (!is_edge_point)\n point[0] = clamp(x2, 0, 1);\n else\n point[0] = s == 0 ? 0 : 1;\n point[1] = 1 - clamp(y2, 0, 1);\n points.sort(function(a, b) {\n return a[0] - b[0];\n });\n this.selected = points.indexOf(point);\n this.must_update = true;\n }\n };\n CurveEditor.prototype.onMouseUp = function(localpos, graphcanvas) {\n this.selected = -1;\n return false;\n };\n CurveEditor.prototype.getCloserPoint = function(pos2, max_dist) {\n var points = this.points;\n if (!points)\n return -1;\n max_dist = max_dist || 30;\n var w2 = this.size[0] - this.margin * 2;\n var h = this.size[1] - this.margin * 2;\n var num = points.length;\n var p2 = [0, 0];\n var min_dist = 1e6;\n var closest = -1;\n for (var i2 = 0; i2 < num; ++i2) {\n var p = points[i2];\n p2[0] = p[0] * w2;\n p2[1] = (1 - p[1]) * h;\n if (p2[0] < pos2[0])\n ;\n var dist = vec2.distance(pos2, p2);\n if (dist > min_dist || dist > max_dist)\n continue;\n closest = i2;\n min_dist = dist;\n }\n return closest;\n };\n LiteGraph.CurveEditor = CurveEditor;\n LiteGraph.getParameterNames = function(func) {\n return (func + \"\").replace(/[/][/].*$/gm, \"\").replace(/\\s+/g, \"\").replace(/[/][*][^/*]*[*][/]/g, \"\").split(\"){\", 1)[0].replace(/^[^(]*[(]/, \"\").replace(/=[^,]+/g, \"\").split(\",\").filter(Boolean);\n };\n LiteGraph.pointerListenerAdd = function(oDOM, sEvIn, fCall, capture = false) {\n if (!oDOM || !oDOM.addEventListener || !sEvIn || typeof fCall !== \"function\") {\n return;\n }\n var sMethod = LiteGraph.pointerevents_method;\n var sEvent = sEvIn;\n if (sMethod == \"pointer\" && !window.PointerEvent) {\n console.warn(\"sMethod=='pointer' && !window.PointerEvent\");\n console.log(\"Converting pointer[\" + sEvent + \"] : down move up cancel enter TO touchstart touchmove touchend, etc ..\");\n switch (sEvent) {\n case \"down\": {\n sMethod = \"touch\";\n sEvent = \"start\";\n break;\n }\n case \"move\": {\n sMethod = \"touch\";\n break;\n }\n case \"up\": {\n sMethod = \"touch\";\n sEvent = \"end\";\n break;\n }\n case \"cancel\": {\n sMethod = \"touch\";\n break;\n }\n case \"enter\": {\n console.log(\"debug: Should I send a move event?\");\n break;\n }\n default: {\n console.warn(\"PointerEvent not available in this browser ? The event \" + sEvent + \" would not be called\");\n }\n }\n }\n switch (sEvent) {\n case \"down\":\n case \"up\":\n case \"move\":\n case \"over\":\n case \"out\":\n case \"enter\": {\n oDOM.addEventListener(sMethod + sEvent, fCall, capture);\n }\n case \"leave\":\n case \"cancel\":\n case \"gotpointercapture\":\n case \"lostpointercapture\": {\n if (sMethod != \"mouse\") {\n return oDOM.addEventListener(sMethod + sEvent, fCall, capture);\n }\n }\n default:\n return oDOM.addEventListener(sEvent, fCall, capture);\n }\n };\n LiteGraph.pointerListenerRemove = function(oDOM, sEvent, fCall, capture = false) {\n if (!oDOM || !oDOM.removeEventListener || !sEvent || typeof fCall !== \"function\") {\n return;\n }\n switch (sEvent) {\n case \"down\":\n case \"up\":\n case \"move\":\n case \"over\":\n case \"out\":\n case \"enter\": {\n if (LiteGraph.pointerevents_method == \"pointer\" || LiteGraph.pointerevents_method == \"mouse\") {\n oDOM.removeEventListener(LiteGraph.pointerevents_method + sEvent, fCall, capture);\n }\n }\n case \"leave\":\n case \"cancel\":\n case \"gotpointercapture\":\n case \"lostpointercapture\": {\n if (LiteGraph.pointerevents_method == \"pointer\") {\n return oDOM.removeEventListener(LiteGraph.pointerevents_method + sEvent, fCall, capture);\n }\n }\n default:\n return oDOM.removeEventListener(sEvent, fCall, capture);\n }\n };\n function clamp(v2, a, b) {\n return a > v2 ? a : b < v2 ? b : v2;\n }\n globalThis.clamp = clamp;\n if (typeof window != \"undefined\" && !window[\"requestAnimationFrame\"]) {\n window.requestAnimationFrame = window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame || function(callback) {\n window.setTimeout(callback, 1e3 / 60);\n };\n }\n})(globalExport);\nconst LiteGraph = globalExport.LiteGraph;\nconst LGraph = globalExport.LGraph;\nconst LLink = globalExport.LLink;\nconst LGraphNode = globalExport.LGraphNode;\nconst LGraphGroup = globalExport.LGraphGroup;\nconst DragAndScale = globalExport.DragAndScale;\nconst LGraphCanvas = globalExport.LGraphCanvas;\nconst ContextMenu = globalExport.ContextMenu;\nexport {\n ContextMenu,\n DragAndScale,\n LGraph,\n LGraphCanvas,\n LGraphGroup,\n LGraphNode,\n LLink,\n LiteGraph\n};\n//# sourceMappingURL=litegraph.es.js.map\n","import { api } from './api'\nimport { ComfyDialog as _ComfyDialog } from './ui/dialog'\nimport { toggleSwitch } from './ui/toggleSwitch'\nimport { ComfySettingsDialog } from './ui/settings'\nimport { ComfyApp, app } from './app'\nimport { TaskItem } from '@/types/apiTypes'\nimport { showSettingsDialog } from '@/services/dialogService'\nimport { useToastStore } from '@/stores/toastStore'\nimport { LGraphGroup } from '@comfyorg/litegraph'\nimport { useSettingStore } from '@/stores/settingStore'\n\nexport const ComfyDialog = _ComfyDialog\n\ntype Position2D = {\n x: number\n y: number\n}\n\ntype Props = {\n parent?: HTMLElement\n $?: (el: HTMLElement) => void\n dataset?: DOMStringMap\n style?: Partial\n for?: string\n textContent?: string\n [key: string]: any\n}\n\ntype Children = Element[] | Element | string | string[]\n\ntype ElementType = K extends keyof HTMLElementTagNameMap\n ? HTMLElementTagNameMap[K]\n : HTMLElement\n\nexport function $el(\n tag: TTag,\n propsOrChildren?: Children | Props,\n children?: Children\n): ElementType {\n const split = tag.split('.')\n const element = document.createElement(split.shift() as string)\n if (split.length > 0) {\n element.classList.add(...split)\n }\n\n if (propsOrChildren) {\n if (typeof propsOrChildren === 'string') {\n propsOrChildren = { textContent: propsOrChildren }\n } else if (propsOrChildren instanceof Element) {\n propsOrChildren = [propsOrChildren]\n }\n if (Array.isArray(propsOrChildren)) {\n element.append(...propsOrChildren)\n } else {\n const {\n parent,\n $: cb,\n dataset,\n style,\n ...rest\n } = propsOrChildren as Props\n\n if (rest.for) {\n element.setAttribute('for', rest.for)\n }\n\n if (style) {\n Object.assign(element.style, style)\n }\n\n if (dataset) {\n Object.assign(element.dataset, dataset)\n }\n\n Object.assign(element, rest)\n if (children) {\n element.append(...(Array.isArray(children) ? children : [children]))\n }\n\n if (parent) {\n parent.append(element)\n }\n\n if (cb) {\n cb(element)\n }\n }\n }\n return element as ElementType\n}\n\nfunction dragElement(dragEl, settings): () => void {\n var posDiffX = 0,\n posDiffY = 0,\n posStartX = 0,\n posStartY = 0,\n newPosX = 0,\n newPosY = 0\n if (dragEl.getElementsByClassName('drag-handle')[0]) {\n // if present, the handle is where you move the DIV from:\n dragEl.getElementsByClassName('drag-handle')[0].onmousedown = dragMouseDown\n } else {\n // otherwise, move the DIV from anywhere inside the DIV:\n dragEl.onmousedown = dragMouseDown\n }\n\n // When the element resizes (e.g. view queue) ensure it is still in the windows bounds\n const resizeObserver = new ResizeObserver(() => {\n ensureInBounds()\n }).observe(dragEl)\n\n function ensureInBounds() {\n try {\n newPosX = Math.min(\n document.body.clientWidth - dragEl.clientWidth,\n Math.max(0, dragEl.offsetLeft)\n )\n newPosY = Math.min(\n document.body.clientHeight - dragEl.clientHeight,\n Math.max(0, dragEl.offsetTop)\n )\n\n positionElement()\n } catch (exception) {\n // robust\n }\n }\n\n function positionElement() {\n if (dragEl.style.display === 'none') return\n\n const halfWidth = document.body.clientWidth / 2\n const anchorRight = newPosX + dragEl.clientWidth / 2 > halfWidth\n\n // set the element's new position:\n if (anchorRight) {\n dragEl.style.left = 'unset'\n dragEl.style.right =\n document.body.clientWidth - newPosX - dragEl.clientWidth + 'px'\n } else {\n dragEl.style.left = newPosX + 'px'\n dragEl.style.right = 'unset'\n }\n\n dragEl.style.top = newPosY + 'px'\n dragEl.style.bottom = 'unset'\n\n if (savePos) {\n localStorage.setItem(\n 'Comfy.MenuPosition',\n JSON.stringify({\n x: dragEl.offsetLeft,\n y: dragEl.offsetTop\n })\n )\n }\n }\n\n function restorePos() {\n let posString = localStorage.getItem('Comfy.MenuPosition')\n if (posString) {\n const pos = JSON.parse(posString) as Position2D\n newPosX = pos.x\n newPosY = pos.y\n positionElement()\n ensureInBounds()\n }\n }\n\n let savePos = undefined\n settings.addSetting({\n id: 'Comfy.MenuPosition',\n category: ['Comfy', 'Menu', 'MenuPosition'],\n name: \"Save legacy menu's position\",\n type: 'boolean',\n defaultValue: savePos,\n onChange(value) {\n if (savePos === undefined && value) {\n restorePos()\n }\n savePos = value\n }\n })\n\n function dragMouseDown(e) {\n e = e || window.event\n e.preventDefault()\n // get the mouse cursor position at startup:\n posStartX = e.clientX\n posStartY = e.clientY\n document.onmouseup = closeDragElement\n // call a function whenever the cursor moves:\n document.onmousemove = elementDrag\n }\n\n function elementDrag(e) {\n e = e || window.event\n e.preventDefault()\n\n dragEl.classList.add('comfy-menu-manual-pos')\n\n // calculate the new cursor position:\n posDiffX = e.clientX - posStartX\n posDiffY = e.clientY - posStartY\n posStartX = e.clientX\n posStartY = e.clientY\n\n newPosX = Math.min(\n document.body.clientWidth - dragEl.clientWidth,\n Math.max(0, dragEl.offsetLeft + posDiffX)\n )\n newPosY = Math.min(\n document.body.clientHeight - dragEl.clientHeight,\n Math.max(0, dragEl.offsetTop + posDiffY)\n )\n\n positionElement()\n }\n\n window.addEventListener('resize', () => {\n ensureInBounds()\n })\n\n function closeDragElement() {\n // stop moving when mouse button is released:\n document.onmouseup = null\n document.onmousemove = null\n }\n\n return restorePos\n}\n\nclass ComfyList {\n #type\n #text\n #reverse\n element: HTMLDivElement\n button?: HTMLButtonElement\n\n constructor(text, type?, reverse?) {\n this.#text = text\n this.#type = type || text.toLowerCase()\n this.#reverse = reverse || false\n this.element = $el('div.comfy-list') as HTMLDivElement\n this.element.style.display = 'none'\n }\n\n get visible() {\n return this.element.style.display !== 'none'\n }\n\n async load() {\n const items = await api.getItems(this.#type)\n this.element.replaceChildren(\n ...Object.keys(items).flatMap((section) => [\n $el('h4', {\n textContent: section\n }),\n $el('div.comfy-list-items', [\n ...(this.#reverse ? items[section].reverse() : items[section]).map(\n (item: TaskItem) => {\n // Allow items to specify a custom remove action (e.g. for interrupt current prompt)\n const removeAction =\n 'remove' in item\n ? item.remove\n : {\n name: 'Delete',\n cb: () => api.deleteItem(this.#type, item.prompt[1])\n }\n return $el('div', { textContent: item.prompt[0] + ': ' }, [\n $el('button', {\n textContent: 'Load',\n onclick: async () => {\n await app.loadGraphData(\n item.prompt[3].extra_pnginfo.workflow,\n true,\n false\n )\n if ('outputs' in item) {\n app.nodeOutputs = {}\n for (const [key, value] of Object.entries(item.outputs)) {\n const realKey = item['meta']?.[key]?.display_node ?? key\n app.nodeOutputs[realKey] = value\n }\n }\n }\n }),\n $el('button', {\n textContent: removeAction.name,\n onclick: async () => {\n await removeAction.cb()\n await this.update()\n }\n })\n ])\n }\n )\n ])\n ]),\n $el('div.comfy-list-actions', [\n $el('button', {\n textContent: 'Clear ' + this.#text,\n onclick: async () => {\n await api.clearItems(this.#type)\n await this.load()\n }\n }),\n $el('button', { textContent: 'Refresh', onclick: () => this.load() })\n ])\n )\n }\n\n async update() {\n if (this.visible) {\n await this.load()\n }\n }\n\n async show() {\n this.element.style.display = 'block'\n this.button.textContent = 'Close'\n\n await this.load()\n }\n\n hide() {\n this.element.style.display = 'none'\n this.button.textContent = 'View ' + this.#text\n }\n\n toggle() {\n if (this.visible) {\n this.hide()\n return false\n } else {\n this.show()\n return true\n }\n }\n}\n\nexport class ComfyUI {\n app: ComfyApp\n dialog: _ComfyDialog\n settings: ComfySettingsDialog\n batchCount: number\n lastQueueSize: number\n queue: ComfyList\n history: ComfyList\n autoQueueMode: string\n graphHasChanged: boolean\n autoQueueEnabled: boolean\n menuHamburger: HTMLDivElement\n menuContainer: HTMLDivElement\n queueSize: Element\n restoreMenuPosition: () => void\n loadFile: () => void\n\n constructor(app) {\n this.app = app\n this.dialog = new ComfyDialog()\n this.settings = new ComfySettingsDialog(app)\n\n this.batchCount = 1\n this.lastQueueSize = 0\n this.queue = new ComfyList('Queue')\n this.history = new ComfyList('History', 'history', true)\n\n api.addEventListener('status', () => {\n this.queue.update()\n this.history.update()\n })\n\n const confirmClear = this.settings.addSetting({\n id: 'Comfy.ConfirmClear',\n category: ['Comfy', 'Workflow', 'ConfirmClear'],\n name: 'Require confirmation when clearing workflow',\n type: 'boolean',\n defaultValue: true\n })\n\n const promptFilename = this.settings.addSetting({\n id: 'Comfy.PromptFilename',\n category: ['Comfy', 'Workflow', 'PromptFilename'],\n name: 'Prompt for filename when saving workflow',\n type: 'boolean',\n defaultValue: true\n })\n\n /**\n * file format for preview\n *\n * format;quality\n *\n * ex)\n * webp;50 -> webp, quality 50\n * jpeg;80 -> rgb, jpeg, quality 80\n *\n * @type {string}\n */\n const previewImage = this.settings.addSetting({\n id: 'Comfy.PreviewFormat',\n category: ['Comfy', 'Node Widget', 'PreviewFormat'],\n name: 'Preview image format',\n tooltip:\n 'When displaying a preview in the image widget, convert it to a lightweight image, e.g. webp, jpeg, webp;50, etc.',\n type: 'text',\n defaultValue: ''\n })\n\n this.settings.addSetting({\n id: 'Comfy.DisableSliders',\n category: ['Comfy', 'Node Widget', 'DisableSliders'],\n name: 'Disable node widget sliders',\n type: 'boolean',\n defaultValue: false\n })\n\n this.settings.addSetting({\n id: 'Comfy.DisableFloatRounding',\n category: ['Comfy', 'Node Widget', 'DisableFloatRounding'],\n name: 'Disable default float widget rounding.',\n tooltip:\n '(requires page reload) Cannot disable round when round is set by the node in the backend.',\n type: 'boolean',\n defaultValue: false\n })\n\n this.settings.addSetting({\n id: 'Comfy.FloatRoundingPrecision',\n category: ['Comfy', 'Node Widget', 'FloatRoundingPrecision'],\n name: 'Float widget rounding decimal places [0 = auto].',\n tooltip: '(requires page reload)',\n type: 'slider',\n attrs: {\n min: 0,\n max: 6,\n step: 1\n },\n defaultValue: 0\n })\n\n this.settings.addSetting({\n id: 'Comfy.EnableTooltips',\n category: ['Comfy', 'Node', 'EnableTooltips'],\n name: 'Enable Tooltips',\n type: 'boolean',\n defaultValue: true\n })\n\n const fileInput = $el('input', {\n id: 'comfy-file-input',\n type: 'file',\n accept: '.json,image/png,.latent,.safetensors,image/webp,audio/flac',\n style: { display: 'none' },\n parent: document.body,\n onchange: () => {\n app.handleFile(fileInput.files[0])\n }\n })\n\n this.loadFile = () => fileInput.click()\n\n const autoQueueModeEl = toggleSwitch(\n 'autoQueueMode',\n [\n {\n text: 'instant',\n tooltip: 'A new prompt will be queued as soon as the queue reaches 0'\n },\n {\n text: 'change',\n tooltip:\n 'A new prompt will be queued when the queue is at 0 and the graph is/has changed'\n }\n ],\n {\n onChange: (value) => {\n this.autoQueueMode = value.item.value\n }\n }\n )\n autoQueueModeEl.style.display = 'none'\n\n api.addEventListener('graphChanged', () => {\n if (this.autoQueueMode === 'change' && this.autoQueueEnabled === true) {\n if (this.lastQueueSize === 0) {\n this.graphHasChanged = false\n app.queuePrompt(0, this.batchCount)\n } else {\n this.graphHasChanged = true\n }\n }\n })\n\n this.menuHamburger = $el(\n 'div.comfy-menu-hamburger',\n {\n parent: document.body,\n onclick: () => {\n this.menuContainer.style.display = 'block'\n this.menuHamburger.style.display = 'none'\n }\n },\n [$el('div'), $el('div'), $el('div')]\n ) as HTMLDivElement\n\n this.menuContainer = $el('div.comfy-menu', { parent: document.body }, [\n $el(\n 'div.drag-handle.comfy-menu-header',\n {\n style: {\n overflow: 'hidden',\n position: 'relative',\n width: '100%',\n cursor: 'default'\n }\n },\n [\n $el('span.drag-handle'),\n $el('span.comfy-menu-queue-size', { $: (q) => (this.queueSize = q) }),\n $el('div.comfy-menu-actions', [\n $el('button.comfy-settings-btn', {\n textContent: '⚙️',\n onclick: showSettingsDialog\n }),\n $el('button.comfy-close-menu-btn', {\n textContent: '\\u00d7',\n onclick: () => {\n this.menuContainer.style.display = 'none'\n this.menuHamburger.style.display = 'flex'\n }\n })\n ])\n ]\n ),\n $el('button.comfy-queue-btn', {\n id: 'queue-button',\n textContent: 'Queue Prompt',\n onclick: () => app.queuePrompt(0, this.batchCount)\n }),\n $el('div', {}, [\n $el('label', { innerHTML: 'Extra options' }, [\n $el('input', {\n type: 'checkbox',\n onchange: (i) => {\n document.getElementById('extraOptions').style.display = i\n .srcElement.checked\n ? 'block'\n : 'none'\n this.batchCount = i.srcElement.checked\n ? Number.parseInt(\n (\n document.getElementById(\n 'batchCountInputRange'\n ) as HTMLInputElement\n ).value\n )\n : 1\n ;(\n document.getElementById('autoQueueCheckbox') as HTMLInputElement\n ).checked = false\n this.autoQueueEnabled = false\n }\n })\n ])\n ]),\n $el(\n 'div',\n { id: 'extraOptions', style: { width: '100%', display: 'none' } },\n [\n $el('div', [\n $el('label', { innerHTML: 'Batch count' }),\n $el('input', {\n id: 'batchCountInputNumber',\n type: 'number',\n value: this.batchCount,\n min: '1',\n style: { width: '35%', marginLeft: '0.4em' },\n oninput: (i) => {\n this.batchCount = i.target.value\n /* Even though an element with a type of range logically represents a number (since\n it's used for numeric input), the value it holds is still treated as a string in HTML and\n JavaScript. This behavior is consistent across all elements regardless of their type\n (like text, number, or range), where the .value property is always a string. */\n ;(\n document.getElementById(\n 'batchCountInputRange'\n ) as HTMLInputElement\n ).value = this.batchCount.toString()\n }\n }),\n $el('input', {\n id: 'batchCountInputRange',\n type: 'range',\n min: '1',\n max: '100',\n value: this.batchCount,\n oninput: (i) => {\n this.batchCount = i.srcElement.value\n // Note\n ;(\n document.getElementById(\n 'batchCountInputNumber'\n ) as HTMLInputElement\n ).value = i.srcElement.value\n }\n })\n ]),\n $el('div', [\n $el('label', {\n for: 'autoQueueCheckbox',\n innerHTML: 'Auto Queue'\n }),\n $el('input', {\n id: 'autoQueueCheckbox',\n type: 'checkbox',\n checked: false,\n title: 'Automatically queue prompt when the queue size hits 0',\n onchange: (e) => {\n this.autoQueueEnabled = e.target.checked\n autoQueueModeEl.style.display = this.autoQueueEnabled\n ? ''\n : 'none'\n }\n }),\n autoQueueModeEl\n ])\n ]\n ),\n $el('div.comfy-menu-btns', [\n $el('button', {\n id: 'queue-front-button',\n textContent: 'Queue Front',\n onclick: () => app.queuePrompt(-1, this.batchCount)\n }),\n $el('button', {\n $: (b) => (this.queue.button = b as HTMLButtonElement),\n id: 'comfy-view-queue-button',\n textContent: 'View Queue',\n onclick: () => {\n this.history.hide()\n this.queue.toggle()\n }\n }),\n $el('button', {\n $: (b) => (this.history.button = b as HTMLButtonElement),\n id: 'comfy-view-history-button',\n textContent: 'View History',\n onclick: () => {\n this.queue.hide()\n this.history.toggle()\n }\n })\n ]),\n this.queue.element,\n this.history.element,\n $el('button', {\n id: 'comfy-save-button',\n textContent: 'Save',\n onclick: () => {\n let filename = 'workflow.json'\n if (promptFilename.value) {\n filename = prompt('Save workflow as:', filename)\n if (!filename) return\n if (!filename.toLowerCase().endsWith('.json')) {\n filename += '.json'\n }\n }\n app.graphToPrompt().then((p) => {\n const json = JSON.stringify(p.workflow, null, 2) // convert the data to a JSON string\n const blob = new Blob([json], { type: 'application/json' })\n const url = URL.createObjectURL(blob)\n const a = $el('a', {\n href: url,\n download: filename,\n style: { display: 'none' },\n parent: document.body\n })\n a.click()\n setTimeout(function () {\n a.remove()\n window.URL.revokeObjectURL(url)\n }, 0)\n })\n }\n }),\n $el('button', {\n id: 'comfy-dev-save-api-button',\n textContent: 'Save (API Format)',\n style: { width: '100%', display: 'none' },\n onclick: () => {\n let filename = 'workflow_api.json'\n if (promptFilename.value) {\n filename = prompt('Save workflow (API) as:', filename)\n if (!filename) return\n if (!filename.toLowerCase().endsWith('.json')) {\n filename += '.json'\n }\n }\n app.graphToPrompt().then((p) => {\n const json = JSON.stringify(p.output, null, 2) // convert the data to a JSON string\n const blob = new Blob([json], { type: 'application/json' })\n const url = URL.createObjectURL(blob)\n const a = $el('a', {\n href: url,\n download: filename,\n style: { display: 'none' },\n parent: document.body\n })\n a.click()\n setTimeout(function () {\n a.remove()\n window.URL.revokeObjectURL(url)\n }, 0)\n })\n }\n }),\n $el('button', {\n id: 'comfy-load-button',\n textContent: 'Load',\n onclick: () => fileInput.click()\n }),\n $el('button', {\n id: 'comfy-refresh-button',\n textContent: 'Refresh',\n onclick: () => app.refreshComboInNodes()\n }),\n $el('button', {\n id: 'comfy-clipspace-button',\n textContent: 'Clipspace',\n onclick: () => app.openClipspace()\n }),\n $el('button', {\n id: 'comfy-clear-button',\n textContent: 'Clear',\n onclick: () => {\n if (!confirmClear.value || confirm('Clear workflow?')) {\n app.clean()\n app.graph.clear()\n app.resetView()\n api.dispatchEvent(new CustomEvent('graphCleared'))\n }\n }\n }),\n $el('button', {\n id: 'comfy-load-default-button',\n textContent: 'Load Default',\n onclick: async () => {\n if (!confirmClear.value || confirm('Load default workflow?')) {\n app.resetView()\n await app.loadGraphData()\n }\n }\n }),\n $el('button', {\n id: 'comfy-reset-view-button',\n textContent: 'Reset View',\n onclick: async () => {\n app.resetView()\n }\n }),\n $el('button', {\n id: 'comfy-group-selected-nodes-button',\n textContent: 'Group',\n hidden: true,\n onclick: () => {\n if (\n !app.canvas.selected_nodes ||\n Object.keys(app.canvas.selected_nodes).length === 0\n ) {\n useToastStore().add({\n severity: 'error',\n summary: 'No nodes selected',\n detail: 'Please select nodes to group',\n life: 3000\n })\n return\n }\n const group = new LGraphGroup()\n const padding = useSettingStore().get(\n 'Comfy.GroupSelectedNodes.Padding'\n )\n group.addNodes(Object.values(app.canvas.selected_nodes), padding)\n app.canvas.graph.add(group)\n }\n })\n ]) as HTMLDivElement\n\n this.settings.addSetting({\n id: 'Comfy.DevMode',\n name: 'Enable dev mode options (API save, etc.)',\n type: 'boolean',\n defaultValue: false,\n onChange: function (value) {\n document.getElementById('comfy-dev-save-api-button').style.display =\n value ? 'flex' : 'none'\n }\n })\n\n this.restoreMenuPosition = dragElement(this.menuContainer, this.settings)\n\n this.setStatus({ exec_info: { queue_remaining: 'X' } })\n }\n\n setStatus(status) {\n this.queueSize.textContent =\n 'Queue size: ' + (status ? status.exec_info.queue_remaining : 'ERR')\n if (status) {\n if (\n this.lastQueueSize != 0 &&\n status.exec_info.queue_remaining == 0 &&\n this.autoQueueEnabled &&\n (this.autoQueueMode === 'instant' || this.graphHasChanged) &&\n !app.lastExecutionError\n ) {\n app.queuePrompt(0, this.batchCount)\n status.exec_info.queue_remaining += this.batchCount\n this.graphHasChanged = false\n }\n this.lastQueueSize = status.exec_info.queue_remaining\n }\n }\n}\n","import { $el, ComfyDialog } from './ui'\nimport { api } from './api'\nimport type { ComfyApp } from './app'\n\n$el('style', {\n textContent: `\n .comfy-logging-logs {\n display: grid;\n color: var(--fg-color);\n white-space: pre-wrap;\n }\n .comfy-logging-log {\n display: contents;\n }\n .comfy-logging-title {\n background: var(--tr-even-bg-color);\n font-weight: bold;\n margin-bottom: 5px;\n text-align: center;\n }\n .comfy-logging-log div {\n background: var(--row-bg);\n padding: 5px;\n }\n `,\n parent: document.body\n})\n\n// Stringify function supporting max depth and removal of circular references\n// https://stackoverflow.com/a/57193345\nfunction stringify(val, depth, replacer, space, onGetObjID?) {\n depth = isNaN(+depth) ? 1 : depth\n var recursMap = new WeakMap()\n function _build(val, depth, o?, a?, r?) {\n // (JSON.stringify() has it's own rules, which we respect here by using it for property iteration)\n return !val || typeof val != 'object'\n ? val\n : ((r = recursMap.has(val)),\n recursMap.set(val, true),\n (a = Array.isArray(val)),\n r\n ? (o = (onGetObjID && onGetObjID(val)) || null)\n : JSON.stringify(val, function (k, v) {\n if (a || depth > 0) {\n if (replacer) v = replacer(k, v)\n if (!k) return (a = Array.isArray(v)), (val = v)\n !o && (o = a ? [] : {})\n o[k] = _build(v, a ? depth : depth - 1)\n }\n }),\n o === void 0 ? (a ? [] : {}) : o)\n }\n return JSON.stringify(_build(val, depth), null, space)\n}\n\nconst jsonReplacer = (k, v, ui) => {\n if (v instanceof Array && v.length === 1) {\n v = v[0]\n }\n if (v instanceof Date) {\n v = v.toISOString()\n if (ui) {\n v = v.split('T')[1]\n }\n }\n if (v instanceof Error) {\n let err = ''\n if (v.name) err += v.name + '\\n'\n if (v.message) err += v.message + '\\n'\n if (v.stack) err += v.stack + '\\n'\n if (!err) {\n err = v.toString()\n }\n v = err\n }\n return v\n}\n\nconst fileInput: HTMLInputElement = $el('input', {\n type: 'file',\n accept: '.json',\n style: { display: 'none' },\n parent: document.body\n}) as HTMLInputElement\n\nclass ComfyLoggingDialog extends ComfyDialog {\n logging: any\n\n constructor(logging) {\n super()\n this.logging = logging\n }\n\n clear() {\n this.logging.clear()\n this.show()\n }\n\n export() {\n const blob = new Blob(\n [stringify([...this.logging.entries], 20, jsonReplacer, '\\t')],\n {\n type: 'application/json'\n }\n )\n const url = URL.createObjectURL(blob)\n const a = $el('a', {\n href: url,\n download: `comfyui-logs-${Date.now()}.json`,\n style: { display: 'none' },\n parent: document.body\n })\n a.click()\n setTimeout(function () {\n a.remove()\n window.URL.revokeObjectURL(url)\n }, 0)\n }\n\n import() {\n fileInput.onchange = () => {\n const reader = new FileReader()\n reader.onload = () => {\n fileInput.remove()\n try {\n const obj = JSON.parse(reader.result as string)\n if (obj instanceof Array) {\n this.show(obj)\n } else {\n throw new Error('Invalid file selected.')\n }\n } catch (error) {\n alert('Unable to load logs: ' + error.message)\n }\n }\n reader.readAsText(fileInput.files[0])\n }\n fileInput.click()\n }\n\n createButtons() {\n return [\n $el('button', {\n type: 'button',\n textContent: 'Clear',\n onclick: () => this.clear()\n }),\n $el('button', {\n type: 'button',\n textContent: 'Export logs...',\n onclick: () => this.export()\n }),\n $el('button', {\n type: 'button',\n textContent: 'View exported logs...',\n onclick: () => this.import()\n }),\n ...super.createButtons()\n ]\n }\n\n getTypeColor(type) {\n switch (type) {\n case 'error':\n return 'red'\n case 'warn':\n return 'orange'\n case 'debug':\n return 'dodgerblue'\n }\n }\n\n show(entries?: any[]) {\n if (!entries) entries = this.logging.entries\n this.element.style.width = '100%'\n const cols = {\n source: 'Source',\n type: 'Type',\n timestamp: 'Timestamp',\n message: 'Message'\n }\n const keys = Object.keys(cols)\n const headers = Object.values(cols).map((title) =>\n $el('div.comfy-logging-title', {\n textContent: title\n })\n )\n const rows = entries.map((entry, i) => {\n return $el(\n 'div.comfy-logging-log',\n {\n $: (el) =>\n el.style.setProperty(\n '--row-bg',\n `var(--tr-${i % 2 ? 'even' : 'odd'}-bg-color)`\n )\n },\n keys.map((key) => {\n let v = entry[key]\n let color\n if (key === 'type') {\n color = this.getTypeColor(v)\n } else {\n v = jsonReplacer(key, v, true)\n\n if (typeof v === 'object') {\n v = stringify(v, 5, jsonReplacer, ' ')\n }\n }\n\n return $el('div', {\n style: {\n color\n },\n textContent: v\n })\n })\n )\n })\n\n const grid = $el(\n 'div.comfy-logging-logs',\n {\n style: {\n gridTemplateColumns: `repeat(${headers.length}, 1fr)`\n }\n },\n [...headers, ...rows]\n )\n const els = [grid]\n if (!this.logging.enabled) {\n els.unshift(\n $el('h3', {\n style: { textAlign: 'center' },\n textContent: 'Logging is disabled'\n })\n )\n }\n super.show($el('div', els))\n }\n}\n\nexport class ComfyLogging {\n /**\n * @type Array<{ source: string, type: string, timestamp: Date, message: any }>\n */\n entries = []\n\n #enabled\n #console = {}\n\n app: ComfyApp\n dialog: ComfyLoggingDialog\n\n get enabled() {\n return this.#enabled\n }\n\n set enabled(value) {\n if (value === this.#enabled) return\n if (value) {\n this.patchConsole()\n } else {\n this.unpatchConsole()\n }\n this.#enabled = value\n }\n\n constructor(app) {\n this.app = app\n\n this.dialog = new ComfyLoggingDialog(this)\n this.addSetting()\n this.catchUnhandled()\n this.addInitData()\n }\n\n addSetting() {\n const settingId: string = 'Comfy.Logging.Enabled'\n const htmlSettingId = settingId.replaceAll('.', '-')\n const setting = this.app.ui.settings.addSetting({\n id: settingId,\n name: settingId,\n defaultValue: true,\n onChange: (value) => {\n this.enabled = value\n },\n type: (name, setter, value) => {\n return $el('tr', [\n $el('td', [\n $el('label', {\n textContent: 'Logging',\n for: htmlSettingId\n })\n ]),\n $el('td', [\n $el('input', {\n id: htmlSettingId,\n type: 'checkbox',\n checked: value,\n onchange: (event) => {\n setter(event.target.checked)\n }\n }),\n $el('button', {\n textContent: 'View Logs',\n onclick: () => {\n this.app.ui.settings.element.close()\n this.dialog.show()\n },\n style: {\n fontSize: '14px',\n display: 'block',\n marginTop: '5px'\n }\n })\n ])\n ])\n }\n })\n this.enabled = setting.value\n }\n\n patchConsole() {\n // Capture common console outputs\n const self = this\n for (const type of ['log', 'warn', 'error', 'debug']) {\n const orig = console[type]\n this.#console[type] = orig\n console[type] = function () {\n orig.apply(console, arguments)\n self.addEntry('console', type, ...arguments)\n }\n }\n }\n\n unpatchConsole() {\n // Restore original console functions\n for (const type of Object.keys(this.#console)) {\n console[type] = this.#console[type]\n }\n this.#console = {}\n }\n\n catchUnhandled() {\n // Capture uncaught errors\n window.addEventListener('error', (e) => {\n this.addEntry('window', 'error', e.error ?? 'Unknown error')\n return false\n })\n\n window.addEventListener('unhandledrejection', (e) => {\n this.addEntry('unhandledrejection', 'error', e.reason ?? 'Unknown error')\n })\n }\n\n clear() {\n this.entries = []\n }\n\n addEntry(source, type, ...args) {\n if (this.enabled) {\n this.entries.push({\n source,\n type,\n timestamp: new Date(),\n message: args\n })\n }\n }\n\n log(source, ...args) {\n this.addEntry(source, 'log', ...args)\n }\n\n async addInitData() {\n if (!this.enabled) return\n const source = 'ComfyUI.Logging'\n this.addEntry(source, 'debug', { UserAgent: navigator.userAgent })\n const systemStats = await api.getSystemStats()\n this.addEntry(source, 'debug', systemStats)\n }\n}\n","import { app, ANIM_PREVIEW_WIDGET } from './app'\nimport { LGraphCanvas, LGraphNode, LiteGraph } from '@comfyorg/litegraph'\nimport type { Vector4 } from '@comfyorg/litegraph'\n\nconst SIZE = Symbol()\n\ninterface Rect {\n height: number\n width: number\n x: number\n y: number\n}\n\nexport interface DOMWidget {\n type: string\n name: string\n computedHeight?: number\n element?: T\n options: any\n value?: any\n y?: number\n callback?: (value: any) => void\n draw?: (\n ctx: CanvasRenderingContext2D,\n node: LGraphNode,\n widgetWidth: number,\n y: number,\n widgetHeight: number\n ) => void\n onRemove?: () => void\n}\n\nfunction intersect(a: Rect, b: Rect): Vector4 | null {\n const x = Math.max(a.x, b.x)\n const num1 = Math.min(a.x + a.width, b.x + b.width)\n const y = Math.max(a.y, b.y)\n const num2 = Math.min(a.y + a.height, b.y + b.height)\n if (num1 >= x && num2 >= y) return [x, y, num1 - x, num2 - y]\n else return null\n}\n\nfunction getClipPath(\n node: LGraphNode,\n element: HTMLElement,\n canvasRect: DOMRect\n): string {\n const selectedNode: LGraphNode = Object.values(\n app.canvas.selected_nodes\n )[0] as LGraphNode\n if (selectedNode && selectedNode !== node) {\n const elRect = element.getBoundingClientRect()\n const MARGIN = 7\n const scale = app.canvas.ds.scale\n\n const bounding = selectedNode.getBounding()\n const intersection = intersect(\n {\n x: elRect.x / scale - canvasRect.left,\n y: elRect.y / scale - canvasRect.top,\n width: elRect.width / scale,\n height: elRect.height / scale\n },\n {\n x: selectedNode.pos[0] + app.canvas.ds.offset[0] - MARGIN,\n y:\n selectedNode.pos[1] +\n app.canvas.ds.offset[1] -\n LiteGraph.NODE_TITLE_HEIGHT -\n MARGIN,\n width: bounding[2] + MARGIN + MARGIN,\n height: bounding[3] + MARGIN + MARGIN\n }\n )\n\n if (!intersection) {\n return ''\n }\n\n const clipX = canvasRect.left + intersection[0] - elRect.x / scale + 'px'\n const clipY = canvasRect.top + intersection[1] - elRect.y / scale + 'px'\n const clipWidth = intersection[2] + 'px'\n const clipHeight = intersection[3] + 'px'\n const path = `polygon(0% 0%, 0% 100%, ${clipX} 100%, ${clipX} ${clipY}, calc(${clipX} + ${clipWidth}) ${clipY}, calc(${clipX} + ${clipWidth}) calc(${clipY} + ${clipHeight}), ${clipX} calc(${clipY} + ${clipHeight}), ${clipX} 100%, 100% 100%, 100% 0%)`\n return path\n }\n return ''\n}\n\nfunction computeSize(size: [number, number]): void {\n if (this.widgets?.[0]?.last_y == null) return\n\n let y = this.widgets[0].last_y\n let freeSpace = size[1] - y\n\n let widgetHeight = 0\n let dom = []\n for (const w of this.widgets) {\n if (w.type === 'converted-widget') {\n // Ignore\n delete w.computedHeight\n } else if (w.computeSize) {\n widgetHeight += w.computeSize()[1] + 4\n } else if (w.element) {\n // Extract DOM widget size info\n const styles = getComputedStyle(w.element)\n let minHeight =\n w.options.getMinHeight?.() ??\n parseInt(styles.getPropertyValue('--comfy-widget-min-height'))\n let maxHeight =\n w.options.getMaxHeight?.() ??\n parseInt(styles.getPropertyValue('--comfy-widget-max-height'))\n\n let prefHeight =\n w.options.getHeight?.() ??\n styles.getPropertyValue('--comfy-widget-height')\n if (prefHeight.endsWith?.('%')) {\n prefHeight =\n size[1] *\n (parseFloat(prefHeight.substring(0, prefHeight.length - 1)) / 100)\n } else {\n prefHeight = parseInt(prefHeight)\n if (isNaN(minHeight)) {\n minHeight = prefHeight\n }\n }\n if (isNaN(minHeight)) {\n minHeight = 50\n }\n if (!isNaN(maxHeight)) {\n if (!isNaN(prefHeight)) {\n prefHeight = Math.min(prefHeight, maxHeight)\n } else {\n prefHeight = maxHeight\n }\n }\n dom.push({\n minHeight,\n prefHeight,\n w\n })\n } else {\n widgetHeight += LiteGraph.NODE_WIDGET_HEIGHT + 4\n }\n }\n\n freeSpace -= widgetHeight\n\n // Calculate sizes with all widgets at their min height\n const prefGrow = [] // Nodes that want to grow to their prefd size\n const canGrow = [] // Nodes that can grow to auto size\n let growBy = 0\n for (const d of dom) {\n freeSpace -= d.minHeight\n if (isNaN(d.prefHeight)) {\n canGrow.push(d)\n d.w.computedHeight = d.minHeight\n } else {\n const diff = d.prefHeight - d.minHeight\n if (diff > 0) {\n prefGrow.push(d)\n growBy += diff\n d.diff = diff\n } else {\n d.w.computedHeight = d.minHeight\n }\n }\n }\n\n if (this.imgs && !this.widgets.find((w) => w.name === ANIM_PREVIEW_WIDGET)) {\n // Allocate space for image\n freeSpace -= 220\n }\n\n this.freeWidgetSpace = freeSpace\n\n if (freeSpace < 0) {\n // Not enough space for all widgets so we need to grow\n size[1] -= freeSpace\n this.graph.setDirtyCanvas(true)\n } else {\n // Share the space between each\n const growDiff = freeSpace - growBy\n if (growDiff > 0) {\n // All pref sizes can be fulfilled\n freeSpace = growDiff\n for (const d of prefGrow) {\n d.w.computedHeight = d.prefHeight\n }\n } else {\n // We need to grow evenly\n const shared = -growDiff / prefGrow.length\n for (const d of prefGrow) {\n d.w.computedHeight = d.prefHeight - shared\n }\n freeSpace = 0\n }\n\n if (freeSpace > 0 && canGrow.length) {\n // Grow any that are auto height\n const shared = freeSpace / canGrow.length\n for (const d of canGrow) {\n d.w.computedHeight += shared\n }\n }\n }\n\n // Position each of the widgets\n for (const w of this.widgets) {\n w.y = y\n if (w.computedHeight) {\n y += w.computedHeight\n } else if (w.computeSize) {\n y += w.computeSize()[1] + 4\n } else {\n y += LiteGraph.NODE_WIDGET_HEIGHT + 4\n }\n }\n}\n\n// Override the compute visible nodes function to allow us to hide/show DOM elements when the node goes offscreen\nconst elementWidgets = new Set()\n//@ts-ignore\nconst computeVisibleNodes = LGraphCanvas.prototype.computeVisibleNodes\n//@ts-ignore\nLGraphCanvas.prototype.computeVisibleNodes = function (): LGraphNode[] {\n const visibleNodes = computeVisibleNodes.apply(this, arguments)\n // @ts-expect-error\n for (const node of app.graph._nodes) {\n if (elementWidgets.has(node)) {\n const hidden = visibleNodes.indexOf(node) === -1\n for (const w of node.widgets) {\n if (w.element) {\n w.element.dataset.isInVisibleNodes = hidden ? 'false' : 'true'\n const shouldOtherwiseHide = w.element.dataset.shouldHide === 'true'\n const isCollapsed = w.element.dataset.collapsed === 'true'\n const wasHidden = w.element.hidden\n const actualHidden = hidden || shouldOtherwiseHide || isCollapsed\n w.element.hidden = actualHidden\n w.element.style.display = actualHidden ? 'none' : null\n if (actualHidden && !wasHidden) {\n w.options.onHide?.(w)\n }\n }\n }\n }\n }\n\n return visibleNodes\n}\n\nlet enableDomClipping = true\n\nexport function addDomClippingSetting(): void {\n app.ui.settings.addSetting({\n id: 'Comfy.DOMClippingEnabled',\n category: ['Comfy', 'Node', 'DOMClippingEnabled'],\n name: 'Enable DOM element clipping (enabling may reduce performance)',\n type: 'boolean',\n defaultValue: enableDomClipping,\n onChange(value) {\n enableDomClipping = !!value\n }\n })\n}\n\nLGraphNode.prototype.addDOMWidget = function (\n name: string,\n type: string,\n element: HTMLElement,\n options: Record\n): DOMWidget {\n options = { hideOnZoom: true, selectOn: ['focus', 'click'], ...options }\n\n if (!element.parentElement) {\n app.canvasContainer.append(element)\n }\n element.hidden = true\n element.style.display = 'none'\n\n let mouseDownHandler\n if (element.blur) {\n mouseDownHandler = (event) => {\n if (!element.contains(event.target)) {\n element.blur()\n }\n }\n document.addEventListener('mousedown', mouseDownHandler)\n }\n\n const { nodeData } = this.constructor\n const tooltip = (nodeData?.input.required?.[name] ??\n nodeData?.input.optional?.[name])?.[1]?.tooltip\n if (tooltip && !element.title) {\n element.title = tooltip\n }\n\n const widget: DOMWidget = {\n type,\n name,\n get value() {\n return options.getValue?.() ?? undefined\n },\n set value(v) {\n options.setValue?.(v)\n widget.callback?.(widget.value)\n },\n draw: function (\n ctx: CanvasRenderingContext2D,\n node: LGraphNode,\n widgetWidth: number,\n y: number,\n widgetHeight: number\n ) {\n if (widget.computedHeight == null) {\n computeSize.call(node, node.size)\n }\n\n const hidden =\n (!!options.hideOnZoom && app.canvas.ds.scale < 0.5) ||\n widget.computedHeight <= 0 ||\n widget.type === 'converted-widget' ||\n widget.type === 'hidden'\n element.dataset.shouldHide = hidden ? 'true' : 'false'\n const isInVisibleNodes = element.dataset.isInVisibleNodes === 'true'\n const isCollapsed = element.dataset.collapsed === 'true'\n const actualHidden = hidden || !isInVisibleNodes || isCollapsed\n const wasHidden = element.hidden\n element.hidden = actualHidden\n element.style.display = actualHidden ? 'none' : null\n if (actualHidden && !wasHidden) {\n widget.options.onHide?.(widget)\n }\n if (actualHidden) {\n return\n }\n\n const margin = 10\n const elRect = ctx.canvas.getBoundingClientRect()\n const transform = new DOMMatrix()\n .scaleSelf(\n elRect.width / ctx.canvas.width,\n elRect.height / ctx.canvas.height\n )\n .multiplySelf(ctx.getTransform())\n .translateSelf(margin, margin + y)\n\n const scale = new DOMMatrix().scaleSelf(transform.a, transform.d)\n\n Object.assign(element.style, {\n transformOrigin: '0 0',\n transform: scale,\n left: `${transform.a + transform.e}px`,\n top: `${transform.d + transform.f}px`,\n width: `${widgetWidth - margin * 2}px`,\n height: `${(widget.computedHeight ?? 50) - margin * 2}px`,\n position: 'absolute',\n // @ts-expect-error\n zIndex: app.graph._nodes.indexOf(node)\n })\n\n if (enableDomClipping) {\n element.style.clipPath = getClipPath(node, element, elRect)\n element.style.willChange = 'clip-path'\n }\n\n this.options.onDraw?.(widget)\n },\n element,\n options,\n onRemove() {\n if (mouseDownHandler) {\n document.removeEventListener('mousedown', mouseDownHandler)\n }\n element.remove()\n }\n }\n\n for (const evt of options.selectOn) {\n element.addEventListener(evt, () => {\n app.canvas.selectNode(this)\n app.canvas.bringToFront(this)\n })\n }\n\n this.addCustomWidget(widget)\n elementWidgets.add(this)\n\n const collapse = this.collapse\n this.collapse = function () {\n collapse.apply(this, arguments)\n if (this.flags?.collapsed) {\n element.hidden = true\n element.style.display = 'none'\n }\n element.dataset.collapsed = this.flags?.collapsed ? 'true' : 'false'\n }\n\n const onRemoved = this.onRemoved\n this.onRemoved = function () {\n element.remove()\n elementWidgets.delete(this)\n onRemoved?.apply(this, arguments)\n }\n\n if (!this[SIZE]) {\n this[SIZE] = true\n const onResize = this.onResize\n this.onResize = function (size) {\n options.beforeResize?.call(widget, this)\n computeSize.call(this, size)\n onResize?.apply(this, arguments)\n options.afterResize?.call(widget, this)\n }\n }\n\n return widget\n}\n","import { api } from './api'\nimport './domWidget'\nimport type { ComfyApp } from './app'\nimport type { IWidget, LGraphNode } from '@comfyorg/litegraph'\nimport { ComfyNodeDef } from '@/types/apiTypes'\nimport { useSettingStore } from '@/stores/settingStore'\n\nexport type ComfyWidgetConstructor = (\n node: LGraphNode,\n inputName: string,\n inputData: ComfyNodeDef,\n app?: ComfyApp,\n widgetName?: string\n) => { widget: IWidget; minWidth?: number; minHeight?: number }\n\nlet controlValueRunBefore = false\nexport function updateControlWidgetLabel(widget) {\n let replacement = 'after'\n let find = 'before'\n if (controlValueRunBefore) {\n ;[find, replacement] = [replacement, find]\n }\n widget.label = (widget.label ?? widget.name).replace(find, replacement)\n}\n\nconst IS_CONTROL_WIDGET = Symbol()\nconst HAS_EXECUTED = Symbol()\n\nfunction getNumberDefaults(\n inputData: ComfyNodeDef,\n defaultStep,\n precision,\n enable_rounding\n) {\n let defaultVal = inputData[1]['default']\n let { min, max, step, round } = inputData[1]\n\n if (defaultVal == undefined) defaultVal = 0\n if (min == undefined) min = 0\n if (max == undefined) max = 2048\n if (step == undefined) step = defaultStep\n // precision is the number of decimal places to show.\n // by default, display the the smallest number of decimal places such that changes of size step are visible.\n if (precision == undefined) {\n precision = Math.max(-Math.floor(Math.log10(step)), 0)\n }\n\n if (enable_rounding && (round == undefined || round === true)) {\n // by default, round the value to those decimal places shown.\n round = Math.round(1000000 * Math.pow(0.1, precision)) / 1000000\n }\n\n return {\n val: defaultVal,\n config: { min, max, step: 10.0 * step, round, precision }\n }\n}\n\nexport function addValueControlWidget(\n node,\n targetWidget,\n defaultValue = 'randomize',\n values,\n widgetName,\n inputData: ComfyNodeDef\n) {\n let name = inputData[1]?.control_after_generate\n if (typeof name !== 'string') {\n name = widgetName\n }\n const widgets = addValueControlWidgets(\n node,\n targetWidget,\n defaultValue,\n {\n addFilterList: false,\n controlAfterGenerateName: name\n },\n inputData\n )\n return widgets[0]\n}\n\nexport function addValueControlWidgets(\n node,\n targetWidget,\n defaultValue = 'randomize',\n options,\n inputData: ComfyNodeDef\n) {\n if (!defaultValue) defaultValue = 'randomize'\n if (!options) options = {}\n\n const getName = (defaultName, optionName) => {\n let name = defaultName\n if (options[optionName]) {\n name = options[optionName]\n } else if (typeof inputData?.[1]?.[defaultName] === 'string') {\n name = inputData?.[1]?.[defaultName]\n } else if (inputData?.[1]?.control_prefix) {\n name = inputData?.[1]?.control_prefix + ' ' + name\n }\n return name\n }\n\n const widgets = []\n const valueControl = node.addWidget(\n 'combo',\n getName('control_after_generate', 'controlAfterGenerateName'),\n defaultValue,\n function () {},\n {\n values: ['fixed', 'increment', 'decrement', 'randomize'],\n serialize: false // Don't include this in prompt.\n }\n )\n valueControl.tooltip =\n 'Allows the linked widget to be changed automatically, for example randomizing the noise seed.'\n valueControl[IS_CONTROL_WIDGET] = true\n updateControlWidgetLabel(valueControl)\n widgets.push(valueControl)\n\n const isCombo = targetWidget.type === 'combo'\n let comboFilter\n if (isCombo) {\n valueControl.options.values.push('increment-wrap')\n }\n if (isCombo && options.addFilterList !== false) {\n comboFilter = node.addWidget(\n 'string',\n getName('control_filter_list', 'controlFilterListName'),\n '',\n function () {},\n {\n serialize: false // Don't include this in prompt.\n }\n )\n updateControlWidgetLabel(comboFilter)\n comboFilter.tooltip =\n \"Allows for filtering the list of values when changing the value via the control generate mode. Allows for RegEx matches in the format /abc/ to only filter to values containing 'abc'.\"\n\n widgets.push(comboFilter)\n }\n\n const applyWidgetControl = () => {\n var v = valueControl.value\n\n if (isCombo && v !== 'fixed') {\n let values = targetWidget.options.values\n const filter = comboFilter?.value\n if (filter) {\n let check\n if (filter.startsWith('/') && filter.endsWith('/')) {\n try {\n const regex = new RegExp(filter.substring(1, filter.length - 1))\n check = (item) => regex.test(item)\n } catch (error) {\n console.error(\n 'Error constructing RegExp filter for node ' + node.id,\n filter,\n error\n )\n }\n }\n if (!check) {\n const lower = filter.toLocaleLowerCase()\n check = (item) => item.toLocaleLowerCase().includes(lower)\n }\n values = values.filter((item) => check(item))\n if (!values.length && targetWidget.options.values.length) {\n console.warn(\n 'Filter for node ' + node.id + ' has filtered out all items',\n filter\n )\n }\n }\n let current_index = values.indexOf(targetWidget.value)\n let current_length = values.length\n\n switch (v) {\n case 'increment':\n current_index += 1\n break\n case 'increment-wrap':\n current_index += 1\n if (current_index >= current_length) {\n current_index = 0\n }\n break\n case 'decrement':\n current_index -= 1\n break\n case 'randomize':\n current_index = Math.floor(Math.random() * current_length)\n break\n default:\n break\n }\n current_index = Math.max(0, current_index)\n current_index = Math.min(current_length - 1, current_index)\n if (current_index >= 0) {\n let value = values[current_index]\n targetWidget.value = value\n targetWidget.callback(value)\n }\n } else {\n //number\n let min = targetWidget.options.min\n let max = targetWidget.options.max\n // limit to something that javascript can handle\n max = Math.min(1125899906842624, max)\n min = Math.max(-1125899906842624, min)\n let range = (max - min) / (targetWidget.options.step / 10)\n\n //adjust values based on valueControl Behaviour\n switch (v) {\n case 'fixed':\n break\n case 'increment':\n targetWidget.value += targetWidget.options.step / 10\n break\n case 'decrement':\n targetWidget.value -= targetWidget.options.step / 10\n break\n case 'randomize':\n targetWidget.value =\n Math.floor(Math.random() * range) *\n (targetWidget.options.step / 10) +\n min\n break\n default:\n break\n }\n /*check if values are over or under their respective\n * ranges and set them to min or max.*/\n if (targetWidget.value < min) targetWidget.value = min\n\n if (targetWidget.value > max) targetWidget.value = max\n targetWidget.callback(targetWidget.value)\n }\n }\n\n valueControl.beforeQueued = () => {\n if (controlValueRunBefore) {\n // Don't run on first execution\n if (valueControl[HAS_EXECUTED]) {\n applyWidgetControl()\n }\n }\n valueControl[HAS_EXECUTED] = true\n }\n\n valueControl.afterQueued = () => {\n if (!controlValueRunBefore) {\n applyWidgetControl()\n }\n }\n\n return widgets\n}\n\nfunction seedWidget(node, inputName, inputData: ComfyNodeDef, app, widgetName) {\n const seed = createIntWidget(node, inputName, inputData, app, true)\n const seedControl = addValueControlWidget(\n node,\n seed.widget,\n 'randomize',\n undefined,\n widgetName,\n inputData\n )\n\n seed.widget.linkedWidgets = [seedControl]\n return seed\n}\n\nfunction createIntWidget(\n node,\n inputName,\n inputData: ComfyNodeDef,\n app,\n isSeedInput: boolean = false\n) {\n const control = inputData[1]?.control_after_generate\n if (!isSeedInput && control) {\n return seedWidget(\n node,\n inputName,\n inputData,\n app,\n typeof control === 'string' ? control : undefined\n )\n }\n\n let widgetType = isSlider(inputData[1]['display'], app)\n const { val, config } = getNumberDefaults(inputData, 1, 0, true)\n Object.assign(config, { precision: 0 })\n return {\n widget: node.addWidget(\n widgetType,\n inputName,\n val,\n function (v) {\n const s = this.options.step / 10\n let sh = this.options.min % s\n if (isNaN(sh)) {\n sh = 0\n }\n this.value = Math.round((v - sh) / s) * s + sh\n },\n config\n )\n }\n}\n\nfunction addMultilineWidget(node, name: string, opts, app: ComfyApp) {\n const inputEl = document.createElement('textarea')\n inputEl.className = 'comfy-multiline-input'\n inputEl.value = opts.defaultVal\n inputEl.placeholder = opts.placeholder || name\n if (app.vueAppReady) {\n inputEl.spellcheck = useSettingStore().get(\n 'Comfy.TextareaWidget.Spellcheck'\n )\n }\n\n const widget = node.addDOMWidget(name, 'customtext', inputEl, {\n getValue() {\n return inputEl.value\n },\n setValue(v) {\n inputEl.value = v\n }\n })\n widget.inputEl = inputEl\n\n inputEl.addEventListener('input', () => {\n widget.callback?.(widget.value)\n })\n\n return { minWidth: 400, minHeight: 200, widget }\n}\n\nfunction isSlider(display, app) {\n if (app.ui.settings.getSettingValue('Comfy.DisableSliders')) {\n return 'number'\n }\n\n return display === 'slider' ? 'slider' : 'number'\n}\n\nexport function initWidgets(app) {\n app.ui.settings.addSetting({\n id: 'Comfy.WidgetControlMode',\n category: ['Comfy', 'Node Widget', 'WidgetControlMode'],\n name: 'Widget control mode',\n tooltip:\n 'Controls when widget values are updated (randomize/increment/decrement), either before the prompt is queued or after.',\n type: 'combo',\n defaultValue: 'after',\n options: ['before', 'after'],\n onChange(value) {\n controlValueRunBefore = value === 'before'\n for (const n of app.graph._nodes) {\n if (!n.widgets) continue\n for (const w of n.widgets) {\n if (w[IS_CONTROL_WIDGET]) {\n updateControlWidgetLabel(w)\n if (w.linkedWidgets) {\n for (const l of w.linkedWidgets) {\n updateControlWidgetLabel(l)\n }\n }\n }\n }\n }\n app.graph.setDirtyCanvas(true)\n }\n })\n}\n\nexport const ComfyWidgets: Record = {\n 'INT:seed': seedWidget,\n 'INT:noise_seed': seedWidget,\n FLOAT(node, inputName, inputData: ComfyNodeDef, app) {\n let widgetType: 'number' | 'slider' = isSlider(inputData[1]['display'], app)\n let precision = app.ui.settings.getSettingValue(\n 'Comfy.FloatRoundingPrecision'\n )\n let disable_rounding = app.ui.settings.getSettingValue(\n 'Comfy.DisableFloatRounding'\n )\n if (precision == 0) precision = undefined\n const { val, config } = getNumberDefaults(\n inputData,\n 0.5,\n precision,\n !disable_rounding\n )\n return {\n widget: node.addWidget(\n widgetType,\n inputName,\n val,\n function (v) {\n if (config.round) {\n this.value =\n Math.round((v + Number.EPSILON) / config.round) * config.round\n if (this.value > config.max) this.value = config.max\n if (this.value < config.min) this.value = config.min\n } else {\n this.value = v\n }\n },\n config\n )\n }\n },\n INT(node, inputName, inputData: ComfyNodeDef, app) {\n return createIntWidget(node, inputName, inputData, app)\n },\n BOOLEAN(node, inputName, inputData) {\n let defaultVal = false\n let options = {}\n if (inputData[1]) {\n if (inputData[1].default) defaultVal = inputData[1].default\n if (inputData[1].label_on) options['on'] = inputData[1].label_on\n if (inputData[1].label_off) options['off'] = inputData[1].label_off\n }\n return {\n widget: node.addWidget('toggle', inputName, defaultVal, () => {}, options)\n }\n },\n STRING(node, inputName, inputData: ComfyNodeDef, app) {\n const defaultVal = inputData[1].default || ''\n const multiline = !!inputData[1].multiline\n\n let res\n if (multiline) {\n res = addMultilineWidget(\n node,\n inputName,\n { defaultVal, ...inputData[1] },\n app\n )\n } else {\n res = {\n widget: node.addWidget('text', inputName, defaultVal, () => {}, {})\n }\n }\n\n if (inputData[1].dynamicPrompts != undefined)\n res.widget.dynamicPrompts = inputData[1].dynamicPrompts\n\n return res\n },\n COMBO(node, inputName, inputData: ComfyNodeDef) {\n const type = inputData[0]\n let defaultValue = type[0]\n if (inputData[1] && inputData[1].default) {\n defaultValue = inputData[1].default\n }\n const res = {\n widget: node.addWidget('combo', inputName, defaultValue, () => {}, {\n values: type\n })\n }\n if (inputData[1]?.control_after_generate) {\n // TODO make combo handle a widget node type?\n res.widget.linkedWidgets = addValueControlWidgets(\n node,\n res.widget,\n undefined,\n undefined,\n inputData\n )\n }\n return res\n },\n IMAGEUPLOAD(\n node: LGraphNode,\n inputName: string,\n inputData: ComfyNodeDef,\n app\n ) {\n // TODO make image upload handle a custom node type?\n const imageWidget = node.widgets.find(\n (w) => w.name === (inputData[1]?.widget ?? 'image')\n )\n let uploadWidget\n\n function showImage(name) {\n const img = new Image()\n img.onload = () => {\n // @ts-expect-error\n node.imgs = [img]\n app.graph.setDirtyCanvas(true)\n }\n let folder_separator = name.lastIndexOf('/')\n let subfolder = ''\n if (folder_separator > -1) {\n subfolder = name.substring(0, folder_separator)\n name = name.substring(folder_separator + 1)\n }\n img.src = api.apiURL(\n `/view?filename=${encodeURIComponent(name)}&type=input&subfolder=${subfolder}${app.getPreviewFormatParam()}${app.getRandParam()}`\n )\n // @ts-expect-error\n node.setSizeForImage?.()\n }\n\n var default_value = imageWidget.value\n Object.defineProperty(imageWidget, 'value', {\n set: function (value) {\n this._real_value = value\n },\n\n get: function () {\n if (!this._real_value) {\n return default_value\n }\n\n let value = this._real_value\n if (value.filename) {\n let real_value = value\n value = ''\n if (real_value.subfolder) {\n value = real_value.subfolder + '/'\n }\n\n value += real_value.filename\n\n if (real_value.type && real_value.type !== 'input')\n value += ` [${real_value.type}]`\n }\n return value\n }\n })\n\n // Add our own callback to the combo widget to render an image when it changes\n // TODO: Explain this?\n // @ts-expect-error\n const cb = node.callback\n imageWidget.callback = function () {\n showImage(imageWidget.value)\n if (cb) {\n return cb.apply(this, arguments)\n }\n }\n\n // On load if we have a value then render the image\n // The value isnt set immediately so we need to wait a moment\n // No change callbacks seem to be fired on initial setting of the value\n requestAnimationFrame(() => {\n if (imageWidget.value) {\n showImage(imageWidget.value)\n }\n })\n\n async function uploadFile(file, updateNode, pasted = false) {\n try {\n // Wrap file in formdata so it includes filename\n const body = new FormData()\n body.append('image', file)\n if (pasted) body.append('subfolder', 'pasted')\n const resp = await api.fetchApi('/upload/image', {\n method: 'POST',\n body\n })\n\n if (resp.status === 200) {\n const data = await resp.json()\n // Add the file to the dropdown list and update the widget value\n let path = data.name\n if (data.subfolder) path = data.subfolder + '/' + path\n\n if (!imageWidget.options.values.includes(path)) {\n imageWidget.options.values.push(path)\n }\n\n if (updateNode) {\n showImage(path)\n imageWidget.value = path\n }\n } else {\n alert(resp.status + ' - ' + resp.statusText)\n }\n } catch (error) {\n alert(error)\n }\n }\n\n const fileInput = document.createElement('input')\n Object.assign(fileInput, {\n type: 'file',\n accept: 'image/jpeg,image/png,image/webp',\n style: 'display: none',\n onchange: async () => {\n if (fileInput.files.length) {\n await uploadFile(fileInput.files[0], true)\n }\n }\n })\n document.body.append(fileInput)\n\n // Create the button widget for selecting the files\n uploadWidget = node.addWidget('button', inputName, 'image', () => {\n fileInput.click()\n })\n uploadWidget.label = 'choose file to upload'\n uploadWidget.serialize = false\n\n // Add handler to check if an image is being dragged over our node\n // @ts-expect-error\n node.onDragOver = function (e) {\n if (e.dataTransfer && e.dataTransfer.items) {\n const image = [...e.dataTransfer.items].find((f) => f.kind === 'file')\n return !!image\n }\n\n return false\n }\n\n // On drop upload files\n // @ts-expect-error\n node.onDragDrop = function (e) {\n console.log('onDragDrop called')\n let handled = false\n for (const file of e.dataTransfer.files) {\n if (file.type.startsWith('image/')) {\n uploadFile(file, !handled) // Dont await these, any order is fine, only update on first one\n handled = true\n }\n }\n\n return handled\n }\n\n // @ts-expect-error\n node.pasteFile = function (file) {\n if (file.type.startsWith('image/')) {\n const is_pasted =\n file.name === 'image.png' && file.lastModified - Date.now() < 2000\n uploadFile(file, true, is_pasted)\n return true\n }\n return false\n }\n\n return { widget: uploadWidget }\n }\n}\n","import type { ComfyWorkflowJSON } from '@/types/comfyWorkflow'\n\nexport const defaultGraph: ComfyWorkflowJSON = {\n last_node_id: 9,\n last_link_id: 9,\n nodes: [\n {\n id: 7,\n type: 'CLIPTextEncode',\n pos: [413, 389],\n size: [425.27801513671875, 180.6060791015625],\n flags: {},\n order: 3,\n mode: 0,\n inputs: [{ name: 'clip', type: 'CLIP', link: 5 }],\n outputs: [\n {\n name: 'CONDITIONING',\n type: 'CONDITIONING',\n links: [6],\n slot_index: 0\n }\n ],\n properties: {},\n widgets_values: ['text, watermark']\n },\n {\n id: 6,\n type: 'CLIPTextEncode',\n pos: [415, 186],\n size: [422.84503173828125, 164.31304931640625],\n flags: {},\n order: 2,\n mode: 0,\n inputs: [{ name: 'clip', type: 'CLIP', link: 3 }],\n outputs: [\n {\n name: 'CONDITIONING',\n type: 'CONDITIONING',\n links: [4],\n slot_index: 0\n }\n ],\n properties: {},\n widgets_values: [\n 'beautiful scenery nature glass bottle landscape, , purple galaxy bottle,'\n ]\n },\n {\n id: 5,\n type: 'EmptyLatentImage',\n pos: [473, 609],\n size: [315, 106],\n flags: {},\n order: 1,\n mode: 0,\n outputs: [{ name: 'LATENT', type: 'LATENT', links: [2], slot_index: 0 }],\n properties: {},\n widgets_values: [512, 512, 1]\n },\n {\n id: 3,\n type: 'KSampler',\n pos: [863, 186],\n size: [315, 262],\n flags: {},\n order: 4,\n mode: 0,\n inputs: [\n { name: 'model', type: 'MODEL', link: 1 },\n { name: 'positive', type: 'CONDITIONING', link: 4 },\n { name: 'negative', type: 'CONDITIONING', link: 6 },\n { name: 'latent_image', type: 'LATENT', link: 2 }\n ],\n outputs: [{ name: 'LATENT', type: 'LATENT', links: [7], slot_index: 0 }],\n properties: {},\n widgets_values: [156680208700286, true, 20, 8, 'euler', 'normal', 1]\n },\n {\n id: 8,\n type: 'VAEDecode',\n pos: [1209, 188],\n size: [210, 46],\n flags: {},\n order: 5,\n mode: 0,\n inputs: [\n { name: 'samples', type: 'LATENT', link: 7 },\n { name: 'vae', type: 'VAE', link: 8 }\n ],\n outputs: [{ name: 'IMAGE', type: 'IMAGE', links: [9], slot_index: 0 }],\n properties: {}\n },\n {\n id: 9,\n type: 'SaveImage',\n pos: [1451, 189],\n size: [210, 26],\n flags: {},\n order: 6,\n mode: 0,\n inputs: [{ name: 'images', type: 'IMAGE', link: 9 }],\n properties: {}\n },\n {\n id: 4,\n type: 'CheckpointLoaderSimple',\n pos: [26, 474],\n size: [315, 98],\n flags: {},\n order: 0,\n mode: 0,\n outputs: [\n { name: 'MODEL', type: 'MODEL', links: [1], slot_index: 0 },\n { name: 'CLIP', type: 'CLIP', links: [3, 5], slot_index: 1 },\n { name: 'VAE', type: 'VAE', links: [8], slot_index: 2 }\n ],\n properties: {},\n widgets_values: ['v1-5-pruned-emaonly.ckpt']\n }\n ],\n links: [\n [1, 4, 0, 3, 0, 'MODEL'],\n [2, 5, 0, 3, 3, 'LATENT'],\n [3, 4, 1, 6, 0, 'CLIP'],\n [4, 6, 0, 3, 1, 'CONDITIONING'],\n [5, 4, 1, 7, 0, 'CLIP'],\n [6, 7, 0, 3, 2, 'CONDITIONING'],\n [7, 3, 0, 8, 0, 'LATENT'],\n [8, 4, 2, 8, 1, 'VAE'],\n [9, 8, 0, 9, 0, 'IMAGE']\n ],\n groups: [],\n config: {},\n extra: {},\n version: 0.4\n}\n","export function getFromPngBuffer(buffer: ArrayBuffer) {\n // Get the PNG data as a Uint8Array\n const pngData = new Uint8Array(buffer)\n const dataView = new DataView(pngData.buffer)\n\n // Check that the PNG signature is present\n if (dataView.getUint32(0) !== 0x89504e47) {\n console.error('Not a valid PNG file')\n return\n }\n\n // Start searching for chunks after the PNG signature\n let offset = 8\n let txt_chunks: Record = {}\n // Loop through the chunks in the PNG file\n while (offset < pngData.length) {\n // Get the length of the chunk\n const length = dataView.getUint32(offset)\n // Get the chunk type\n const type = String.fromCharCode(...pngData.slice(offset + 4, offset + 8))\n if (type === 'tEXt' || type == 'comf' || type === 'iTXt') {\n // Get the keyword\n let keyword_end = offset + 8\n while (pngData[keyword_end] !== 0) {\n keyword_end++\n }\n const keyword = String.fromCharCode(\n ...pngData.slice(offset + 8, keyword_end)\n )\n // Get the text\n const contentArraySegment = pngData.slice(\n keyword_end + 1,\n offset + 8 + length\n )\n const contentJson = new TextDecoder('utf-8').decode(contentArraySegment)\n txt_chunks[keyword] = contentJson\n }\n\n offset += 12 + length\n }\n return txt_chunks\n}\n\nexport function getFromPngFile(file: File) {\n return new Promise>((r) => {\n const reader = new FileReader()\n reader.onload = (event) => {\n r(getFromPngBuffer(event.target.result as ArrayBuffer))\n }\n\n reader.readAsArrayBuffer(file)\n })\n}\n","export function getFromFlacBuffer(buffer: ArrayBuffer): Record {\n const dataView = new DataView(buffer)\n\n // Verify the FLAC signature\n const signature = String.fromCharCode(...new Uint8Array(buffer, 0, 4))\n if (signature !== 'fLaC') {\n console.error('Not a valid FLAC file')\n return\n }\n\n // Parse metadata blocks\n let offset = 4\n let vorbisComment = null\n while (offset < dataView.byteLength) {\n const isLastBlock = dataView.getUint8(offset) & 0x80\n const blockType = dataView.getUint8(offset) & 0x7f\n const blockSize = dataView.getUint32(offset, false) & 0xffffff\n offset += 4\n\n if (blockType === 4) {\n // Vorbis Comment block type\n vorbisComment = parseVorbisComment(\n new DataView(buffer, offset, blockSize)\n )\n }\n\n offset += blockSize\n if (isLastBlock) break\n }\n\n return vorbisComment\n}\n\nexport function getFromFlacFile(file: File): Promise> {\n return new Promise((r) => {\n const reader = new FileReader()\n reader.onload = function (event) {\n const arrayBuffer = event.target.result as ArrayBuffer\n r(getFromFlacBuffer(arrayBuffer))\n }\n reader.readAsArrayBuffer(file)\n })\n}\n\n// Function to parse the Vorbis Comment block\nfunction parseVorbisComment(dataView: DataView): Record {\n let offset = 0\n const vendorLength = dataView.getUint32(offset, true)\n offset += 4\n const vendorString = getString(dataView, offset, vendorLength)\n offset += vendorLength\n\n const userCommentListLength = dataView.getUint32(offset, true)\n offset += 4\n const comments = {}\n for (let i = 0; i < userCommentListLength; i++) {\n const commentLength = dataView.getUint32(offset, true)\n offset += 4\n const comment = getString(dataView, offset, commentLength)\n offset += commentLength\n\n const ind = comment.indexOf('=')\n const key = comment.substring(0, ind)\n\n comments[key] = comment.substring(ind + 1)\n }\n\n return comments\n}\n\nfunction getString(dataView: DataView, offset: number, length: number): string {\n let string = ''\n for (let i = 0; i < length; i++) {\n string += String.fromCharCode(dataView.getUint8(offset + i))\n }\n return string\n}\n","import { LiteGraph } from '@comfyorg/litegraph'\nimport { api } from './api'\nimport { getFromPngFile } from './metadata/png'\nimport { getFromFlacFile } from './metadata/flac'\n\n// Original functions left in for backwards compatibility\nexport function getPngMetadata(file: File): Promise> {\n return getFromPngFile(file)\n}\n\nexport function getFlacMetadata(file: File): Promise> {\n return getFromFlacFile(file)\n}\n\nfunction parseExifData(exifData) {\n // Check for the correct TIFF header (0x4949 for little-endian or 0x4D4D for big-endian)\n const isLittleEndian = String.fromCharCode(...exifData.slice(0, 2)) === 'II'\n\n // Function to read 16-bit and 32-bit integers from binary data\n function readInt(offset, isLittleEndian, length) {\n let arr = exifData.slice(offset, offset + length)\n if (length === 2) {\n return new DataView(arr.buffer, arr.byteOffset, arr.byteLength).getUint16(\n 0,\n isLittleEndian\n )\n } else if (length === 4) {\n return new DataView(arr.buffer, arr.byteOffset, arr.byteLength).getUint32(\n 0,\n isLittleEndian\n )\n }\n }\n\n // Read the offset to the first IFD (Image File Directory)\n const ifdOffset = readInt(4, isLittleEndian, 4)\n\n function parseIFD(offset) {\n const numEntries = readInt(offset, isLittleEndian, 2)\n const result = {}\n\n for (let i = 0; i < numEntries; i++) {\n const entryOffset = offset + 2 + i * 12\n const tag = readInt(entryOffset, isLittleEndian, 2)\n const type = readInt(entryOffset + 2, isLittleEndian, 2)\n const numValues = readInt(entryOffset + 4, isLittleEndian, 4)\n const valueOffset = readInt(entryOffset + 8, isLittleEndian, 4)\n\n // Read the value(s) based on the data type\n let value\n if (type === 2) {\n // ASCII string\n value = String.fromCharCode(\n ...exifData.slice(valueOffset, valueOffset + numValues - 1)\n )\n }\n\n result[tag] = value\n }\n\n return result\n }\n\n // Parse the first IFD\n const ifdData = parseIFD(ifdOffset)\n return ifdData\n}\n\nfunction splitValues(input) {\n var output = {}\n for (var key in input) {\n var value = input[key]\n var splitValues = value.split(':', 2)\n output[splitValues[0]] = splitValues[1]\n }\n return output\n}\n\nexport function getWebpMetadata(file) {\n return new Promise>((r) => {\n const reader = new FileReader()\n reader.onload = (event) => {\n const webp = new Uint8Array(event.target.result as ArrayBuffer)\n const dataView = new DataView(webp.buffer)\n\n // Check that the WEBP signature is present\n if (\n dataView.getUint32(0) !== 0x52494646 ||\n dataView.getUint32(8) !== 0x57454250\n ) {\n console.error('Not a valid WEBP file')\n r({})\n return\n }\n\n // Start searching for chunks after the WEBP signature\n let offset = 12\n let txt_chunks = {}\n // Loop through the chunks in the WEBP file\n while (offset < webp.length) {\n const chunk_length = dataView.getUint32(offset + 4, true)\n const chunk_type = String.fromCharCode(\n ...webp.slice(offset, offset + 4)\n )\n if (chunk_type === 'EXIF') {\n if (\n String.fromCharCode(...webp.slice(offset + 8, offset + 8 + 6)) ==\n 'Exif\\0\\0'\n ) {\n offset += 6\n }\n let data = parseExifData(\n webp.slice(offset + 8, offset + 8 + chunk_length)\n )\n for (var key in data) {\n var value = data[key] as string\n let index = value.indexOf(':')\n txt_chunks[value.slice(0, index)] = value.slice(index + 1)\n }\n break\n }\n\n offset += 8 + chunk_length\n }\n\n r(txt_chunks)\n }\n\n reader.readAsArrayBuffer(file)\n })\n}\n\nexport function getLatentMetadata(file) {\n return new Promise((r) => {\n const reader = new FileReader()\n reader.onload = (event) => {\n const safetensorsData = new Uint8Array(event.target.result as ArrayBuffer)\n const dataView = new DataView(safetensorsData.buffer)\n let header_size = dataView.getUint32(0, true)\n let offset = 8\n let header = JSON.parse(\n new TextDecoder().decode(\n safetensorsData.slice(offset, offset + header_size)\n )\n )\n r(header.__metadata__)\n }\n\n var slice = file.slice(0, 1024 * 1024 * 4)\n reader.readAsArrayBuffer(slice)\n })\n}\n\nexport async function importA1111(graph, parameters) {\n const p = parameters.lastIndexOf('\\nSteps:')\n if (p > -1) {\n const embeddings = await api.getEmbeddings()\n const opts = parameters\n .substr(p)\n .split('\\n')[1]\n .match(\n new RegExp('\\\\s*([^:]+:\\\\s*([^\"\\\\{].*?|\".*?\"|\\\\{.*?\\\\}))\\\\s*(,|$)', 'g')\n )\n .reduce((p, n) => {\n const s = n.split(':')\n if (s[1].endsWith(',')) {\n s[1] = s[1].substr(0, s[1].length - 1)\n }\n p[s[0].trim().toLowerCase()] = s[1].trim()\n return p\n }, {})\n const p2 = parameters.lastIndexOf('\\nNegative prompt:', p)\n if (p2 > -1) {\n let positive = parameters.substr(0, p2).trim()\n let negative = parameters.substring(p2 + 18, p).trim()\n\n const ckptNode = LiteGraph.createNode('CheckpointLoaderSimple')\n const clipSkipNode = LiteGraph.createNode('CLIPSetLastLayer')\n const positiveNode = LiteGraph.createNode('CLIPTextEncode')\n const negativeNode = LiteGraph.createNode('CLIPTextEncode')\n const samplerNode = LiteGraph.createNode('KSampler')\n const imageNode = LiteGraph.createNode('EmptyLatentImage')\n const vaeNode = LiteGraph.createNode('VAEDecode')\n const vaeLoaderNode = LiteGraph.createNode('VAELoader')\n const saveNode = LiteGraph.createNode('SaveImage')\n let hrSamplerNode = null\n let hrSteps = null\n\n const ceil64 = (v) => Math.ceil(v / 64) * 64\n\n const getWidget = (node, name) => {\n return node.widgets.find((w) => w.name === name)\n }\n\n const setWidgetValue = (node, name, value, isOptionPrefix?) => {\n const w = getWidget(node, name)\n if (isOptionPrefix) {\n const o = w.options.values.find((w) => w.startsWith(value))\n if (o) {\n w.value = o\n } else {\n console.warn(`Unknown value '${value}' for widget '${name}'`, node)\n w.value = value\n }\n } else {\n w.value = value\n }\n }\n\n const createLoraNodes = (clipNode, text, prevClip, prevModel) => {\n const loras = []\n text = text.replace(/]+)>/g, function (m, c) {\n const s = c.split(':')\n const weight = parseFloat(s[1])\n if (isNaN(weight)) {\n console.warn('Invalid LORA', m)\n } else {\n loras.push({ name: s[0], weight })\n }\n return ''\n })\n\n for (const l of loras) {\n const loraNode = LiteGraph.createNode('LoraLoader')\n graph.add(loraNode)\n setWidgetValue(loraNode, 'lora_name', l.name, true)\n setWidgetValue(loraNode, 'strength_model', l.weight)\n setWidgetValue(loraNode, 'strength_clip', l.weight)\n prevModel.node.connect(prevModel.index, loraNode, 0)\n prevClip.node.connect(prevClip.index, loraNode, 1)\n prevModel = { node: loraNode, index: 0 }\n prevClip = { node: loraNode, index: 1 }\n }\n\n prevClip.node.connect(1, clipNode, 0)\n prevModel.node.connect(0, samplerNode, 0)\n if (hrSamplerNode) {\n prevModel.node.connect(0, hrSamplerNode, 0)\n }\n\n return { text, prevModel, prevClip }\n }\n\n const replaceEmbeddings = (text) => {\n if (!embeddings.length) return text\n return text.replaceAll(\n new RegExp(\n '\\\\b(' +\n embeddings\n .map((e) => e.replace(/[.*+?^${}()|[\\]\\\\]/g, '\\\\$&'))\n .join('\\\\b|\\\\b') +\n ')\\\\b',\n 'ig'\n ),\n 'embedding:$1'\n )\n }\n\n const popOpt = (name) => {\n const v = opts[name]\n delete opts[name]\n return v\n }\n\n graph.clear()\n graph.add(ckptNode)\n graph.add(clipSkipNode)\n graph.add(positiveNode)\n graph.add(negativeNode)\n graph.add(samplerNode)\n graph.add(imageNode)\n graph.add(vaeNode)\n graph.add(vaeLoaderNode)\n graph.add(saveNode)\n\n ckptNode.connect(1, clipSkipNode, 0)\n clipSkipNode.connect(0, positiveNode, 0)\n clipSkipNode.connect(0, negativeNode, 0)\n ckptNode.connect(0, samplerNode, 0)\n positiveNode.connect(0, samplerNode, 1)\n negativeNode.connect(0, samplerNode, 2)\n imageNode.connect(0, samplerNode, 3)\n vaeNode.connect(0, saveNode, 0)\n samplerNode.connect(0, vaeNode, 0)\n vaeLoaderNode.connect(0, vaeNode, 1)\n\n const handlers = {\n model(v) {\n setWidgetValue(ckptNode, 'ckpt_name', v, true)\n },\n vae(v) {\n setWidgetValue(vaeLoaderNode, 'vae_name', v, true)\n },\n 'cfg scale'(v) {\n setWidgetValue(samplerNode, 'cfg', +v)\n },\n 'clip skip'(v) {\n setWidgetValue(clipSkipNode, 'stop_at_clip_layer', -v)\n },\n sampler(v) {\n let name = v.toLowerCase().replace('++', 'pp').replaceAll(' ', '_')\n if (name.includes('karras')) {\n name = name.replace('karras', '').replace(/_+$/, '')\n setWidgetValue(samplerNode, 'scheduler', 'karras')\n } else {\n setWidgetValue(samplerNode, 'scheduler', 'normal')\n }\n const w = getWidget(samplerNode, 'sampler_name')\n const o = w.options.values.find(\n (w) => w === name || w === 'sample_' + name\n )\n if (o) {\n setWidgetValue(samplerNode, 'sampler_name', o)\n }\n },\n size(v) {\n const wxh = v.split('x')\n const w = ceil64(+wxh[0])\n const h = ceil64(+wxh[1])\n const hrUp = popOpt('hires upscale')\n const hrSz = popOpt('hires resize')\n hrSteps = popOpt('hires steps')\n let hrMethod = popOpt('hires upscaler')\n\n setWidgetValue(imageNode, 'width', w)\n setWidgetValue(imageNode, 'height', h)\n\n if (hrUp || hrSz) {\n let uw, uh\n if (hrUp) {\n uw = w * hrUp\n uh = h * hrUp\n } else {\n const s = hrSz.split('x')\n uw = +s[0]\n uh = +s[1]\n }\n\n let upscaleNode\n let latentNode\n\n if (hrMethod.startsWith('Latent')) {\n latentNode = upscaleNode = LiteGraph.createNode('LatentUpscale')\n graph.add(upscaleNode)\n samplerNode.connect(0, upscaleNode, 0)\n\n switch (hrMethod) {\n case 'Latent (nearest-exact)':\n hrMethod = 'nearest-exact'\n break\n }\n setWidgetValue(upscaleNode, 'upscale_method', hrMethod, true)\n } else {\n const decode = LiteGraph.createNode('VAEDecodeTiled')\n graph.add(decode)\n samplerNode.connect(0, decode, 0)\n vaeLoaderNode.connect(0, decode, 1)\n\n const upscaleLoaderNode =\n LiteGraph.createNode('UpscaleModelLoader')\n graph.add(upscaleLoaderNode)\n setWidgetValue(upscaleLoaderNode, 'model_name', hrMethod, true)\n\n const modelUpscaleNode = LiteGraph.createNode(\n 'ImageUpscaleWithModel'\n )\n graph.add(modelUpscaleNode)\n decode.connect(0, modelUpscaleNode, 1)\n upscaleLoaderNode.connect(0, modelUpscaleNode, 0)\n\n upscaleNode = LiteGraph.createNode('ImageScale')\n graph.add(upscaleNode)\n modelUpscaleNode.connect(0, upscaleNode, 0)\n\n const vaeEncodeNode = (latentNode =\n LiteGraph.createNode('VAEEncodeTiled'))\n graph.add(vaeEncodeNode)\n upscaleNode.connect(0, vaeEncodeNode, 0)\n vaeLoaderNode.connect(0, vaeEncodeNode, 1)\n }\n\n setWidgetValue(upscaleNode, 'width', ceil64(uw))\n setWidgetValue(upscaleNode, 'height', ceil64(uh))\n\n hrSamplerNode = LiteGraph.createNode('KSampler')\n graph.add(hrSamplerNode)\n ckptNode.connect(0, hrSamplerNode, 0)\n positiveNode.connect(0, hrSamplerNode, 1)\n negativeNode.connect(0, hrSamplerNode, 2)\n latentNode.connect(0, hrSamplerNode, 3)\n hrSamplerNode.connect(0, vaeNode, 0)\n }\n },\n steps(v) {\n setWidgetValue(samplerNode, 'steps', +v)\n },\n seed(v) {\n setWidgetValue(samplerNode, 'seed', +v)\n }\n }\n\n for (const opt in opts) {\n if (opt in handlers) {\n handlers[opt](popOpt(opt))\n }\n }\n\n if (hrSamplerNode) {\n setWidgetValue(\n hrSamplerNode,\n 'steps',\n hrSteps ? +hrSteps : getWidget(samplerNode, 'steps').value\n )\n setWidgetValue(\n hrSamplerNode,\n 'cfg',\n getWidget(samplerNode, 'cfg').value\n )\n setWidgetValue(\n hrSamplerNode,\n 'scheduler',\n getWidget(samplerNode, 'scheduler').value\n )\n setWidgetValue(\n hrSamplerNode,\n 'sampler_name',\n getWidget(samplerNode, 'sampler_name').value\n )\n setWidgetValue(\n hrSamplerNode,\n 'denoise',\n +(popOpt('denoising strength') || '1')\n )\n }\n\n let n = createLoraNodes(\n positiveNode,\n positive,\n { node: clipSkipNode, index: 0 },\n { node: ckptNode, index: 0 }\n )\n positive = n.text\n n = createLoraNodes(negativeNode, negative, n.prevClip, n.prevModel)\n negative = n.text\n\n setWidgetValue(positiveNode, 'text', replaceEmbeddings(positive))\n setWidgetValue(negativeNode, 'text', replaceEmbeddings(negative))\n\n graph.arrange()\n\n for (const opt of [\n 'model hash',\n 'ensd',\n 'version',\n 'vae hash',\n 'ti hashes',\n 'lora hashes',\n 'hashes'\n ]) {\n delete opts[opt]\n }\n\n console.warn('Unhandled parameters:', opts)\n }\n }\n}\n","import { app } from '../app'\nimport { $el } from '../ui'\n\nexport function calculateImageGrid(imgs, dw, dh) {\n let best = 0\n let w = imgs[0].naturalWidth\n let h = imgs[0].naturalHeight\n const numImages = imgs.length\n\n let cellWidth, cellHeight, cols, rows, shiftX\n // compact style\n for (let c = 1; c <= numImages; c++) {\n const r = Math.ceil(numImages / c)\n const cW = dw / c\n const cH = dh / r\n const scaleX = cW / w\n const scaleY = cH / h\n\n const scale = Math.min(scaleX, scaleY, 1)\n const imageW = w * scale\n const imageH = h * scale\n const area = imageW * imageH * numImages\n\n if (area > best) {\n best = area\n cellWidth = imageW\n cellHeight = imageH\n cols = c\n rows = r\n shiftX = c * ((cW - imageW) / 2)\n }\n }\n\n return { cellWidth, cellHeight, cols, rows, shiftX }\n}\n\nexport function createImageHost(node) {\n const el = $el('div.comfy-img-preview')\n let currentImgs\n let first = true\n\n function updateSize() {\n let w = null\n let h = null\n\n if (currentImgs) {\n let elH = el.clientHeight\n if (first) {\n first = false\n // On first run, if we are small then grow a bit\n if (elH < 190) {\n elH = 190\n }\n el.style.setProperty('--comfy-widget-min-height', elH.toString())\n } else {\n el.style.setProperty('--comfy-widget-min-height', null)\n }\n\n const nw = node.size[0]\n ;({ cellWidth: w, cellHeight: h } = calculateImageGrid(\n currentImgs,\n nw - 20,\n elH\n ))\n w += 'px'\n h += 'px'\n\n el.style.setProperty('--comfy-img-preview-width', w)\n el.style.setProperty('--comfy-img-preview-height', h)\n }\n }\n return {\n el,\n updateImages(imgs) {\n if (imgs !== currentImgs) {\n if (currentImgs == null) {\n requestAnimationFrame(() => {\n updateSize()\n })\n }\n el.replaceChildren(...imgs)\n currentImgs = imgs\n node.onResize(node.size)\n node.graph.setDirtyCanvas(true, true)\n }\n },\n getHeight() {\n updateSize()\n },\n onDraw() {\n // Element from point uses a hittest find elements so we need to toggle pointer events\n el.style.pointerEvents = 'all'\n const over = document.elementFromPoint(\n app.canvas.mouse[0],\n app.canvas.mouse[1]\n )\n el.style.pointerEvents = 'none'\n\n if (!over) return\n // Set the overIndex so Open Image etc work\n const idx = currentImgs.indexOf(over)\n node.overIndex = idx\n }\n }\n}\n","/*\n Original implementation:\n https://github.com/TahaSh/drag-to-reorder\n MIT License\n\n Copyright (c) 2023 Taha Shashtari\n\n Permission is hereby granted, free of charge, to any person obtaining a copy\n of this software and associated documentation files (the \"Software\"), to deal\n in the Software without restriction, including without limitation the rights\n to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n copies of the Software, and to permit persons to whom the Software is\n furnished to do so, subject to the following conditions:\n\n The above copyright notice and this permission notice shall be included in all\n copies or substantial portions of the Software.\n\n THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n SOFTWARE.\n*/\n\nimport { $el } from '../ui'\n\n$el('style', {\n parent: document.head,\n textContent: `\n .draggable-item {\n position: relative;\n will-change: transform;\n user-select: none;\n }\n .draggable-item.is-idle {\n transition: 0.25s ease transform;\n }\n .draggable-item.is-draggable {\n z-index: 10;\n }\n `\n})\n\nexport class DraggableList extends EventTarget {\n listContainer\n draggableItem\n pointerStartX\n pointerStartY\n scrollYMax\n itemsGap = 0\n items = []\n itemSelector\n handleClass = 'drag-handle'\n off = []\n offDrag = []\n\n constructor(element, itemSelector) {\n super()\n this.listContainer = element\n this.itemSelector = itemSelector\n\n if (!this.listContainer) return\n\n this.off.push(this.on(this.listContainer, 'mousedown', this.dragStart))\n this.off.push(this.on(this.listContainer, 'touchstart', this.dragStart))\n this.off.push(this.on(document, 'mouseup', this.dragEnd))\n this.off.push(this.on(document, 'touchend', this.dragEnd))\n }\n\n getAllItems() {\n if (!this.items?.length) {\n this.items = Array.from(\n this.listContainer.querySelectorAll(this.itemSelector)\n )\n this.items.forEach((element) => {\n element.classList.add('is-idle')\n })\n }\n return this.items\n }\n\n getIdleItems() {\n return this.getAllItems().filter((item) =>\n item.classList.contains('is-idle')\n )\n }\n\n isItemAbove(item) {\n return item.hasAttribute('data-is-above')\n }\n\n isItemToggled(item) {\n return item.hasAttribute('data-is-toggled')\n }\n\n on(source, event, listener, options?) {\n listener = listener.bind(this)\n source.addEventListener(event, listener, options)\n return () => source.removeEventListener(event, listener)\n }\n\n dragStart(e) {\n if (e.target.classList.contains(this.handleClass)) {\n this.draggableItem = e.target.closest(this.itemSelector)\n }\n\n if (!this.draggableItem) return\n\n this.pointerStartX = e.clientX || e.touches[0].clientX\n this.pointerStartY = e.clientY || e.touches[0].clientY\n this.scrollYMax =\n this.listContainer.scrollHeight - this.listContainer.clientHeight\n\n this.setItemsGap()\n this.initDraggableItem()\n this.initItemsState()\n\n this.offDrag.push(this.on(document, 'mousemove', this.drag))\n this.offDrag.push(\n this.on(document, 'touchmove', this.drag, { passive: false })\n )\n\n this.dispatchEvent(\n new CustomEvent('dragstart', {\n detail: {\n element: this.draggableItem,\n position: this.getAllItems().indexOf(this.draggableItem)\n }\n })\n )\n }\n\n setItemsGap() {\n if (this.getIdleItems().length <= 1) {\n this.itemsGap = 0\n return\n }\n\n const item1 = this.getIdleItems()[0]\n const item2 = this.getIdleItems()[1]\n\n const item1Rect = item1.getBoundingClientRect()\n const item2Rect = item2.getBoundingClientRect()\n\n this.itemsGap = Math.abs(item1Rect.bottom - item2Rect.top)\n }\n\n initItemsState() {\n this.getIdleItems().forEach((item, i) => {\n if (this.getAllItems().indexOf(this.draggableItem) > i) {\n item.dataset.isAbove = ''\n }\n })\n }\n\n initDraggableItem() {\n this.draggableItem.classList.remove('is-idle')\n this.draggableItem.classList.add('is-draggable')\n }\n\n drag(e) {\n if (!this.draggableItem) return\n\n e.preventDefault()\n\n const clientX = e.clientX || e.touches[0].clientX\n const clientY = e.clientY || e.touches[0].clientY\n\n const listRect = this.listContainer.getBoundingClientRect()\n\n if (clientY > listRect.bottom) {\n if (this.listContainer.scrollTop < this.scrollYMax) {\n this.listContainer.scrollBy(0, 10)\n this.pointerStartY -= 10\n }\n } else if (clientY < listRect.top && this.listContainer.scrollTop > 0) {\n this.pointerStartY += 10\n this.listContainer.scrollBy(0, -10)\n }\n\n const pointerOffsetX = clientX - this.pointerStartX\n const pointerOffsetY = clientY - this.pointerStartY\n\n this.updateIdleItemsStateAndPosition()\n this.draggableItem.style.transform = `translate(${pointerOffsetX}px, ${pointerOffsetY}px)`\n }\n\n updateIdleItemsStateAndPosition() {\n const draggableItemRect = this.draggableItem.getBoundingClientRect()\n const draggableItemY = draggableItemRect.top + draggableItemRect.height / 2\n\n // Update state\n this.getIdleItems().forEach((item) => {\n const itemRect = item.getBoundingClientRect()\n const itemY = itemRect.top + itemRect.height / 2\n if (this.isItemAbove(item)) {\n if (draggableItemY <= itemY) {\n item.dataset.isToggled = ''\n } else {\n delete item.dataset.isToggled\n }\n } else {\n if (draggableItemY >= itemY) {\n item.dataset.isToggled = ''\n } else {\n delete item.dataset.isToggled\n }\n }\n })\n\n // Update position\n this.getIdleItems().forEach((item) => {\n if (this.isItemToggled(item)) {\n const direction = this.isItemAbove(item) ? 1 : -1\n item.style.transform = `translateY(${direction * (draggableItemRect.height + this.itemsGap)}px)`\n } else {\n item.style.transform = ''\n }\n })\n }\n\n dragEnd() {\n if (!this.draggableItem) return\n\n this.applyNewItemsOrder()\n this.cleanup()\n }\n\n applyNewItemsOrder() {\n const reorderedItems = []\n\n let oldPosition = -1\n this.getAllItems().forEach((item, index) => {\n if (item === this.draggableItem) {\n oldPosition = index\n return\n }\n if (!this.isItemToggled(item)) {\n reorderedItems[index] = item\n return\n }\n const newIndex = this.isItemAbove(item) ? index + 1 : index - 1\n reorderedItems[newIndex] = item\n })\n\n for (let index = 0; index < this.getAllItems().length; index++) {\n const item = reorderedItems[index]\n if (typeof item === 'undefined') {\n reorderedItems[index] = this.draggableItem\n }\n }\n\n reorderedItems.forEach((item) => {\n this.listContainer.appendChild(item)\n })\n\n this.items = reorderedItems\n\n this.dispatchEvent(\n new CustomEvent('dragend', {\n detail: {\n element: this.draggableItem,\n oldPosition,\n newPosition: reorderedItems.indexOf(this.draggableItem)\n }\n })\n )\n }\n\n cleanup() {\n this.itemsGap = 0\n this.items = []\n this.unsetDraggableItem()\n this.unsetItemState()\n\n this.offDrag.forEach((f) => f())\n this.offDrag = []\n }\n\n unsetDraggableItem() {\n this.draggableItem.style = null\n this.draggableItem.classList.remove('is-draggable')\n this.draggableItem.classList.add('is-idle')\n this.draggableItem = null\n }\n\n unsetItemState() {\n this.getIdleItems().forEach((item, i) => {\n delete item.dataset.isAbove\n delete item.dataset.isToggled\n item.style.transform = ''\n })\n }\n\n dispose() {\n this.off.forEach((f) => f())\n }\n}\n","import { api } from './api'\nimport type { ComfyApp } from './app'\nimport { $el } from './ui'\n\n// Simple date formatter\nconst parts = {\n d: (d) => d.getDate(),\n M: (d) => d.getMonth() + 1,\n h: (d) => d.getHours(),\n m: (d) => d.getMinutes(),\n s: (d) => d.getSeconds()\n}\nconst format =\n Object.keys(parts)\n .map((k) => k + k + '?')\n .join('|') + '|yyy?y?'\n\nfunction formatDate(text: string, date: Date) {\n return text.replace(new RegExp(format, 'g'), (text: string): string => {\n if (text === 'yy') return (date.getFullYear() + '').substring(2)\n if (text === 'yyyy') return date.getFullYear().toString()\n if (text[0] in parts) {\n const p = parts[text[0]](date)\n return (p + '').padStart(text.length, '0')\n }\n return text\n })\n}\n\nexport function clone(obj) {\n try {\n if (typeof structuredClone !== 'undefined') {\n return structuredClone(obj)\n }\n } catch (error) {\n // structuredClone is stricter than using JSON.parse/stringify so fallback to that\n }\n\n return JSON.parse(JSON.stringify(obj))\n}\n\nexport function applyTextReplacements(app: ComfyApp, value: string): string {\n return value.replace(/%([^%]+)%/g, function (match, text) {\n const split = text.split('.')\n if (split.length !== 2) {\n // Special handling for dates\n if (split[0].startsWith('date:')) {\n return formatDate(split[0].substring(5), new Date())\n }\n\n if (text !== 'width' && text !== 'height') {\n // Dont warn on standard replacements\n console.warn('Invalid replacement pattern', text)\n }\n return match\n }\n\n // Find node with matching S&R property name\n // @ts-expect-error\n let nodes = app.graph._nodes.filter(\n (n) => n.properties?.['Node name for S&R'] === split[0]\n )\n // If we cant, see if there is a node with that title\n if (!nodes.length) {\n // @ts-expect-error\n nodes = app.graph._nodes.filter((n) => n.title === split[0])\n }\n if (!nodes.length) {\n console.warn('Unable to find node', split[0])\n return match\n }\n\n if (nodes.length > 1) {\n console.warn('Multiple nodes matched', split[0], 'using first match')\n }\n\n const node = nodes[0]\n\n const widget = node.widgets?.find((w) => w.name === split[1])\n if (!widget) {\n console.warn('Unable to find widget', split[1], 'on node', split[0], node)\n return match\n }\n\n return ((widget.value ?? '') + '').replaceAll(/\\/|\\\\/g, '_')\n })\n}\n\nexport async function addStylesheet(\n urlOrFile: string,\n relativeTo?: string\n): Promise {\n return new Promise((res, rej) => {\n let url\n if (urlOrFile.endsWith('.js')) {\n url = urlOrFile.substr(0, urlOrFile.length - 2) + 'css'\n } else {\n url = new URL(\n urlOrFile,\n relativeTo ?? `${window.location.protocol}//${window.location.host}`\n ).toString()\n }\n $el('link', {\n parent: document.head,\n rel: 'stylesheet',\n type: 'text/css',\n href: url,\n onload: res,\n onerror: rej\n })\n })\n}\n\n/**\n * @param { string } filename\n * @param { Blob } blob\n */\nexport function downloadBlob(filename, blob) {\n const url = URL.createObjectURL(blob)\n const a = $el('a', {\n href: url,\n download: filename,\n style: { display: 'none' },\n parent: document.body\n })\n a.click()\n setTimeout(function () {\n a.remove()\n window.URL.revokeObjectURL(url)\n }, 0)\n}\n\nexport function prop(\n target: object,\n name: string,\n defaultValue: T,\n onChanged?: (\n currentValue: T,\n previousValue: T,\n target: object,\n name: string\n ) => void\n): T {\n let currentValue\n Object.defineProperty(target, name, {\n get() {\n return currentValue\n },\n set(newValue) {\n const prevValue = currentValue\n currentValue = newValue\n onChanged?.(currentValue, prevValue, target, name)\n }\n })\n return defaultValue\n}\n\nexport function getStorageValue(id) {\n const clientId = api.clientId ?? api.initialClientId\n return (\n (clientId && sessionStorage.getItem(`${id}:${clientId}`)) ??\n localStorage.getItem(id)\n )\n}\n\nexport function setStorageValue(id, value) {\n const clientId = api.clientId ?? api.initialClientId\n if (clientId) {\n sessionStorage.setItem(`${id}:${clientId}`, value)\n }\n localStorage.setItem(id, value)\n}\n","type RGB = { r: number; g: number; b: number }\ntype HSL = { h: number; s: number; l: number }\n\nfunction rgbToHsl({ r, g, b }: RGB): HSL {\n r /= 255\n g /= 255\n b /= 255\n const max = Math.max(r, g, b),\n min = Math.min(r, g, b)\n let h: number, s: number\n const l: number = (max + min) / 2\n\n if (max === min) {\n h = s = 0 // achromatic\n } else {\n const d = max - min\n s = l > 0.5 ? d / (2 - max - min) : d / (max + min)\n switch (max) {\n case r:\n h = (g - b) / d + (g < b ? 6 : 0)\n break\n case g:\n h = (b - r) / d + 2\n break\n case b:\n h = (r - g) / d + 4\n break\n }\n h /= 6\n }\n\n return { h, s, l }\n}\n\nfunction hslToRgb({ h, s, l }: HSL): RGB {\n let r: number, g: number, b: number\n\n if (s === 0) {\n r = g = b = l // achromatic\n } else {\n const hue2rgb = (p: number, q: number, t: number) => {\n if (t < 0) t += 1\n if (t > 1) t -= 1\n if (t < 1 / 6) return p + (q - p) * 6 * t\n if (t < 1 / 2) return q\n if (t < 2 / 3) return p + (q - p) * (2 / 3 - t) * 6\n return p\n }\n\n const q = l < 0.5 ? l * (1 + s) : l + s - l * s\n const p = 2 * l - q\n r = hue2rgb(p, q, h + 1 / 3)\n g = hue2rgb(p, q, h)\n b = hue2rgb(p, q, h - 1 / 3)\n }\n\n return {\n r: Math.round(r * 255),\n g: Math.round(g * 255),\n b: Math.round(b * 255)\n }\n}\n\nfunction hexToRgb(hex: string): RGB {\n let r = 0,\n g = 0,\n b = 0\n // 3 digits\n if (hex.length == 4) {\n r = parseInt(hex[1] + hex[1], 16)\n g = parseInt(hex[2] + hex[2], 16)\n b = parseInt(hex[3] + hex[3], 16)\n }\n // 6 digits\n else if (hex.length == 7) {\n r = parseInt(hex.slice(1, 3), 16)\n g = parseInt(hex.slice(3, 5), 16)\n b = parseInt(hex.slice(5, 7), 16)\n }\n return { r, g, b }\n}\n\nfunction rgbToHex({ r, g, b }: RGB): string {\n return (\n '#' +\n [r, g, b]\n .map((x) => {\n const hex = x.toString(16)\n return hex.length === 1 ? '0' + hex : hex\n })\n .join('')\n )\n}\n\nexport function lightenColor(hex: string, amount: number): string {\n let rgb = hexToRgb(hex)\n const hsl = rgbToHsl(rgb)\n hsl.l = Math.min(1, hsl.l + amount)\n rgb = hslToRgb(hsl)\n return rgbToHex(rgb)\n}\n","export type ClassList = string | string[] | Record\n\nexport function applyClasses(\n element: HTMLElement,\n classList: ClassList,\n ...requiredClasses: string[]\n) {\n classList ??= ''\n\n let str: string\n if (typeof classList === 'string') {\n str = classList\n } else if (classList instanceof Array) {\n str = classList.join(' ')\n } else {\n str = Object.entries(classList).reduce((p, c) => {\n if (c[1]) {\n p += (p.length ? ' ' : '') + c[0]\n }\n return p\n }, '')\n }\n element.className = str\n if (requiredClasses) {\n element.classList.add(...requiredClasses)\n }\n}\n\nexport function toggleElement(\n element: HTMLElement,\n {\n onHide,\n onShow\n }: {\n onHide?: (el: HTMLElement) => void\n onShow?: (el: HTMLElement, value) => void\n } = {}\n) {\n let placeholder: HTMLElement | Comment\n let hidden: boolean\n return (value) => {\n if (value) {\n if (hidden) {\n hidden = false\n placeholder.replaceWith(element)\n }\n onShow?.(element, value)\n } else {\n if (!placeholder) {\n placeholder = document.createComment('')\n }\n hidden = true\n element.replaceWith(placeholder)\n onHide?.(element)\n }\n }\n}\n","import { $el } from '../../ui'\nimport { applyClasses, ClassList, toggleElement } from '../utils'\nimport { prop } from '../../utils'\nimport type { ComfyPopup } from './popup'\nimport type { ComfyComponent } from '.'\nimport type { ComfyApp } from '@/scripts/app'\nimport { Settings } from '@/types/apiTypes'\n\ntype ComfyButtonProps = {\n icon?: string\n overIcon?: string\n iconSize?: number\n content?: string | HTMLElement\n tooltip?: string\n enabled?: boolean\n action?: (e: Event, btn: ComfyButton) => void\n classList?: ClassList\n visibilitySetting?: { id: keyof Settings; showValue: boolean }\n app?: ComfyApp\n}\n\nexport class ComfyButton implements ComfyComponent {\n #over = 0\n #popupOpen = false\n isOver = false\n iconElement = $el('i.mdi')\n contentElement = $el('span')\n popup: ComfyPopup\n element: HTMLElement\n overIcon: string\n iconSize: number\n content: string | HTMLElement\n icon: string\n tooltip: string\n classList: ClassList\n hidden: boolean\n enabled: boolean\n action: (e: Event, btn: ComfyButton) => void\n\n constructor({\n icon,\n overIcon,\n iconSize,\n content,\n tooltip,\n action,\n classList = 'comfyui-button',\n visibilitySetting,\n app,\n enabled = true\n }: ComfyButtonProps) {\n this.element = $el(\n 'button',\n {\n onmouseenter: () => {\n this.isOver = true\n if (this.overIcon) {\n this.updateIcon()\n }\n },\n onmouseleave: () => {\n this.isOver = false\n if (this.overIcon) {\n this.updateIcon()\n }\n }\n },\n [this.iconElement, this.contentElement]\n )\n\n this.icon = prop(\n this,\n 'icon',\n icon,\n toggleElement(this.iconElement, { onShow: this.updateIcon })\n )\n this.overIcon = prop(this, 'overIcon', overIcon, () => {\n if (this.isOver) {\n this.updateIcon()\n }\n })\n this.iconSize = prop(this, 'iconSize', iconSize, this.updateIcon)\n this.content = prop(\n this,\n 'content',\n content,\n toggleElement(this.contentElement, {\n onShow: (el, v) => {\n if (typeof v === 'string') {\n el.textContent = v\n } else {\n el.replaceChildren(v)\n }\n }\n })\n )\n\n this.tooltip = prop(this, 'tooltip', tooltip, (v) => {\n if (v) {\n this.element.title = v\n } else {\n this.element.removeAttribute('title')\n }\n })\n this.classList = prop(this, 'classList', classList, this.updateClasses)\n this.hidden = prop(this, 'hidden', false, this.updateClasses)\n this.enabled = prop(this, 'enabled', enabled, () => {\n this.updateClasses()\n ;(this.element as HTMLButtonElement).disabled = !this.enabled\n })\n this.action = prop(this, 'action', action)\n this.element.addEventListener('click', (e) => {\n if (this.popup) {\n // we are either a touch device or triggered by click not hover\n if (!this.#over) {\n this.popup.toggle()\n }\n }\n this.action?.(e, this)\n })\n\n if (visibilitySetting?.id) {\n const settingUpdated = () => {\n this.hidden =\n app.ui.settings.getSettingValue(visibilitySetting.id) !==\n visibilitySetting.showValue\n }\n app.ui.settings.addEventListener(\n visibilitySetting.id + '.change',\n settingUpdated\n )\n settingUpdated()\n }\n }\n\n updateIcon = () =>\n (this.iconElement.className = `mdi mdi-${(this.isOver && this.overIcon) || this.icon}${this.iconSize ? ' mdi-' + this.iconSize + 'px' : ''}`)\n updateClasses = () => {\n const internalClasses = []\n if (this.hidden) {\n internalClasses.push('hidden')\n }\n if (!this.enabled) {\n internalClasses.push('disabled')\n }\n if (this.popup) {\n if (this.#popupOpen) {\n internalClasses.push('popup-open')\n } else {\n internalClasses.push('popup-closed')\n }\n }\n applyClasses(this.element, this.classList, ...internalClasses)\n }\n\n withPopup(popup: ComfyPopup, mode: 'click' | 'hover' = 'click') {\n this.popup = popup\n\n if (mode === 'hover') {\n for (const el of [this.element, this.popup.element]) {\n el.addEventListener('mouseenter', () => {\n this.popup.open = !!++this.#over\n })\n el.addEventListener('mouseleave', () => {\n this.popup.open = !!--this.#over\n })\n }\n }\n\n popup.addEventListener('change', () => {\n this.#popupOpen = popup.open\n this.updateClasses()\n })\n\n return this\n }\n}\n","import { $el } from '../../ui'\nimport { ComfyButton } from './button'\nimport { prop } from '../../utils'\n\nexport class ComfyButtonGroup {\n element = $el('div.comfyui-button-group')\n buttons: (HTMLElement | ComfyButton)[]\n\n constructor(...buttons: (HTMLElement | ComfyButton)[]) {\n this.buttons = prop(this, 'buttons', buttons, () => this.update())\n }\n\n insert(button: ComfyButton, index: number) {\n this.buttons.splice(index, 0, button)\n this.update()\n }\n\n append(button: ComfyButton) {\n this.buttons.push(button)\n this.update()\n }\n\n remove(indexOrButton: ComfyButton | number) {\n if (typeof indexOrButton !== 'number') {\n indexOrButton = this.buttons.indexOf(indexOrButton)\n }\n if (indexOrButton > -1) {\n const r = this.buttons.splice(indexOrButton, 1)\n this.update()\n return r\n }\n }\n\n update() {\n this.element.replaceChildren(...this.buttons.map((b) => b['element'] ?? b))\n }\n}\n","import { prop } from '../../utils'\nimport { $el } from '../../ui'\nimport { applyClasses, ClassList } from '../utils'\n\nexport class ComfyPopup extends EventTarget {\n element = $el('div.comfyui-popup')\n open: boolean\n children: HTMLElement[]\n target: HTMLElement\n ignoreTarget: boolean\n container: HTMLElement\n position: string\n closeOnEscape: boolean\n horizontal: string\n classList: ClassList\n\n constructor(\n {\n target,\n container = document.body,\n classList = '',\n ignoreTarget = true,\n closeOnEscape = true,\n position = 'absolute',\n horizontal = 'left'\n }: {\n target: HTMLElement\n container?: HTMLElement\n classList?: ClassList\n ignoreTarget?: boolean\n closeOnEscape?: boolean\n position?: 'absolute' | 'relative'\n horizontal?: 'left' | 'right'\n },\n ...children: HTMLElement[]\n ) {\n super()\n this.target = target\n this.ignoreTarget = ignoreTarget\n this.container = container\n this.position = position\n this.closeOnEscape = closeOnEscape\n this.horizontal = horizontal\n\n container.append(this.element)\n\n this.children = prop(this, 'children', children, () => {\n this.element.replaceChildren(...this.children)\n this.update()\n })\n this.classList = prop(this, 'classList', classList, () =>\n applyClasses(this.element, this.classList, 'comfyui-popup', horizontal)\n )\n this.open = prop(this, 'open', false, (v, o) => {\n if (v === o) return\n if (v) {\n this.#show()\n } else {\n this.#hide()\n }\n })\n }\n\n toggle() {\n this.open = !this.open\n }\n\n #hide() {\n this.element.classList.remove('open')\n window.removeEventListener('resize', this.update)\n window.removeEventListener('click', this.#clickHandler, { capture: true })\n window.removeEventListener('keydown', this.#escHandler, { capture: true })\n\n this.dispatchEvent(new CustomEvent('close'))\n this.dispatchEvent(new CustomEvent('change'))\n }\n\n #show() {\n this.element.classList.add('open')\n this.update()\n\n window.addEventListener('resize', this.update)\n window.addEventListener('click', this.#clickHandler, { capture: true })\n if (this.closeOnEscape) {\n window.addEventListener('keydown', this.#escHandler, { capture: true })\n }\n\n this.dispatchEvent(new CustomEvent('open'))\n this.dispatchEvent(new CustomEvent('change'))\n }\n\n #escHandler = (e) => {\n if (e.key === 'Escape') {\n this.open = false\n e.preventDefault()\n e.stopImmediatePropagation()\n }\n }\n\n #clickHandler = (e) => {\n /** @type {any} */\n const target = e.target\n if (\n !this.element.contains(target) &&\n this.ignoreTarget &&\n !this.target.contains(target)\n ) {\n this.open = false\n }\n }\n\n update = () => {\n const rect = this.target.getBoundingClientRect()\n this.element.style.setProperty('--bottom', 'unset')\n if (this.position === 'absolute') {\n if (this.horizontal === 'left') {\n this.element.style.setProperty('--left', rect.left + 'px')\n } else {\n this.element.style.setProperty(\n '--left',\n rect.right - this.element.clientWidth + 'px'\n )\n }\n this.element.style.setProperty('--top', rect.bottom + 'px')\n this.element.style.setProperty('--limit', rect.bottom + 'px')\n } else {\n this.element.style.setProperty('--left', 0 + 'px')\n this.element.style.setProperty('--top', rect.height + 'px')\n this.element.style.setProperty('--limit', rect.height + 'px')\n }\n\n const thisRect = this.element.getBoundingClientRect()\n if (thisRect.height < 30) {\n // Move up instead\n this.element.style.setProperty('--top', 'unset')\n this.element.style.setProperty('--bottom', rect.height + 5 + 'px')\n this.element.style.setProperty('--limit', rect.height + 5 + 'px')\n }\n }\n}\n","import { $el } from '../../ui'\nimport { ComfyButton } from './button'\nimport { prop } from '../../utils'\nimport { ComfyPopup } from './popup'\n\nexport class ComfySplitButton {\n arrow: ComfyButton\n element: HTMLElement\n popup: ComfyPopup\n items: Array\n\n constructor(\n {\n primary,\n mode,\n horizontal = 'left',\n position = 'relative'\n }: {\n primary: ComfyButton\n mode?: 'hover' | 'click'\n horizontal?: 'left' | 'right'\n position?: 'relative' | 'absolute'\n },\n ...items: Array\n ) {\n this.arrow = new ComfyButton({\n icon: 'chevron-down'\n })\n this.element = $el(\n 'div.comfyui-split-button' + (mode === 'hover' ? '.hover' : ''),\n [\n $el('div.comfyui-split-primary', primary.element),\n $el('div.comfyui-split-arrow', this.arrow.element)\n ]\n )\n this.popup = new ComfyPopup({\n target: this.element,\n container: position === 'relative' ? this.element : document.body,\n classList:\n 'comfyui-split-button-popup' + (mode === 'hover' ? ' hover' : ''),\n closeOnEscape: mode === 'click',\n position,\n horizontal\n })\n\n this.arrow.withPopup(this.popup, mode)\n\n this.items = prop(this, 'items', items, () => this.update())\n }\n\n update() {\n this.popup.element.replaceChildren(\n ...this.items.map((b) => ('element' in b ? b.element : b))\n )\n }\n}\n","import type { ComfyApp } from '@/scripts/app'\nimport { $el } from '../../ui'\nimport { prop } from '../../utils'\n\nexport class ComfyQueueOptions extends EventTarget {\n element = $el('div.comfyui-queue-options')\n app: ComfyApp\n batchCountInput: HTMLInputElement\n batchCount: number\n batchCountRange: HTMLInputElement\n autoQueueMode: string\n autoQueueEl: HTMLElement\n\n constructor(app: ComfyApp) {\n super()\n this.app = app\n\n this.batchCountInput = $el('input', {\n className: 'comfyui-queue-batch-value',\n type: 'number',\n min: '1',\n value: '1',\n oninput: () => (this.batchCount = +this.batchCountInput.value)\n })\n\n this.batchCountRange = $el('input', {\n type: 'range',\n min: '1',\n max: '100',\n value: '1',\n oninput: () => (this.batchCount = +this.batchCountRange.value)\n })\n\n this.element.append(\n $el('div.comfyui-queue-batch', [\n $el(\n 'label',\n {\n textContent: 'Batch count: '\n },\n this.batchCountInput\n ),\n this.batchCountRange\n ])\n )\n\n const createOption = (text, value, checked = false) =>\n $el(\n 'label',\n { textContent: text },\n $el('input', {\n type: 'radio',\n name: 'AutoQueueMode',\n checked,\n value,\n oninput: (e) => (this.autoQueueMode = e.target['value'])\n })\n )\n\n this.autoQueueEl = $el('div.comfyui-queue-mode', [\n $el('span', 'Auto Queue:'),\n createOption('Disabled', '', true),\n createOption('Instant', 'instant'),\n createOption('On Change', 'change')\n ])\n\n this.element.append(this.autoQueueEl)\n\n this.batchCount = prop(this, 'batchCount', 1, () => {\n this.batchCountInput.value = this.batchCount + ''\n this.batchCountRange.value = this.batchCount + ''\n })\n\n this.autoQueueMode = prop(this, 'autoQueueMode', 'Disabled', () => {\n this.dispatchEvent(\n new CustomEvent('autoQueueMode', {\n detail: this.autoQueueMode\n })\n )\n })\n }\n}\n","import { ComfyButton } from '../components/button'\nimport { $el } from '../../ui'\nimport { api } from '../../api'\nimport { ComfySplitButton } from '../components/splitButton'\nimport { ComfyQueueOptions } from './queueOptions'\nimport { prop } from '../../utils'\nimport type { ComfyApp } from '@/scripts/app'\nimport { StatusWsMessageStatus } from '@/types/apiTypes'\n\nexport class ComfyQueueButton {\n element = $el('div.comfyui-queue-button')\n #internalQueueSize = 0\n\n queuePrompt = async (e?: MouseEvent) => {\n this.#internalQueueSize += this.queueOptions.batchCount\n // Hold shift to queue front, event is undefined when auto-queue is enabled\n await this.app.queuePrompt(\n e?.shiftKey ? -1 : 0,\n this.queueOptions.batchCount\n )\n }\n queueOptions: ComfyQueueOptions\n app: ComfyApp\n autoQueueMode: string\n graphHasChanged: boolean\n\n constructor(app: ComfyApp) {\n this.app = app\n\n const queue = new ComfyButton({\n content: $el('div', [\n $el('span', {\n textContent: 'Queue'\n })\n ]),\n icon: 'play',\n classList: 'comfyui-button',\n action: this.queuePrompt\n })\n\n this.queueOptions = new ComfyQueueOptions(app)\n\n const btn = new ComfySplitButton(\n {\n primary: queue,\n mode: 'click',\n position: 'absolute',\n horizontal: 'right'\n },\n this.queueOptions.element\n )\n btn.element.classList.add('primary')\n this.element.append(btn.element)\n\n this.autoQueueMode = prop(this, 'autoQueueMode', '', () => {\n switch (this.autoQueueMode) {\n case 'instant':\n queue.icon = 'infinity'\n break\n case 'change':\n queue.icon = 'auto-mode'\n break\n default:\n queue.icon = 'play'\n break\n }\n })\n\n this.queueOptions.addEventListener(\n 'autoQueueMode',\n (e) => (this.autoQueueMode = e['detail'])\n )\n\n api.addEventListener('graphChanged', () => {\n if (this.autoQueueMode === 'change') {\n if (this.#internalQueueSize) {\n this.graphHasChanged = true\n } else {\n this.graphHasChanged = false\n this.queuePrompt()\n }\n }\n })\n\n api.addEventListener(\n 'status',\n ({ detail }: CustomEvent) => {\n this.#internalQueueSize = detail?.exec_info?.queue_remaining\n if (this.#internalQueueSize != null) {\n if (!this.#internalQueueSize && !app.lastExecutionError) {\n if (\n this.autoQueueMode === 'instant' ||\n (this.autoQueueMode === 'change' && this.graphHasChanged)\n ) {\n this.graphHasChanged = false\n this.queuePrompt()\n }\n }\n }\n }\n )\n }\n}\n","import './spinner.css'\n\nexport function createSpinner() {\n const div = document.createElement('div')\n div.innerHTML = `
`\n return div.firstElementChild\n}\n","import type { ComfyApp } from './app'\nimport { api } from './api'\nimport { clone } from './utils'\nimport { LGraphCanvas, LiteGraph } from '@comfyorg/litegraph'\nimport { ComfyWorkflow } from './workflows'\n\nexport class ChangeTracker {\n static MAX_HISTORY = 50\n #app: ComfyApp\n undo = []\n redo = []\n activeState = null\n isOurLoad = false\n workflow: ComfyWorkflow | null\n\n ds: { scale: number; offset: [number, number] }\n nodeOutputs: any\n\n get app() {\n return this.#app ?? this.workflow.manager.app\n }\n\n constructor(workflow: ComfyWorkflow) {\n this.workflow = workflow\n }\n\n #setApp(app) {\n this.#app = app\n }\n\n store() {\n this.ds = {\n scale: this.app.canvas.ds.scale,\n offset: [...this.app.canvas.ds.offset]\n }\n }\n\n restore() {\n if (this.ds) {\n this.app.canvas.ds.scale = this.ds.scale\n this.app.canvas.ds.offset = this.ds.offset\n }\n if (this.nodeOutputs) {\n this.app.nodeOutputs = this.nodeOutputs\n }\n }\n\n checkState() {\n if (!this.app.graph) return\n\n const currentState = this.app.graph.serialize()\n if (!this.activeState) {\n this.activeState = clone(currentState)\n return\n }\n if (!ChangeTracker.graphEqual(this.activeState, currentState)) {\n this.undo.push(this.activeState)\n if (this.undo.length > ChangeTracker.MAX_HISTORY) {\n this.undo.shift()\n }\n this.activeState = clone(currentState)\n this.redo.length = 0\n this.workflow.unsaved = true\n api.dispatchEvent(\n new CustomEvent('graphChanged', { detail: this.activeState })\n )\n }\n }\n\n async updateState(source, target) {\n const prevState = source.pop()\n if (prevState) {\n target.push(this.activeState)\n this.isOurLoad = true\n await this.app.loadGraphData(prevState, false, false, this.workflow)\n this.activeState = prevState\n }\n }\n\n async undoRedo(e) {\n if (e.ctrlKey || e.metaKey) {\n if (e.key === 'y') {\n this.updateState(this.redo, this.undo)\n return true\n } else if (e.key === 'z') {\n this.updateState(this.undo, this.redo)\n return true\n }\n }\n }\n\n static init(app: ComfyApp) {\n const changeTracker = () =>\n app.workflowManager.activeWorkflow?.changeTracker ?? globalTracker\n globalTracker.#setApp(app)\n\n const loadGraphData = app.loadGraphData\n app.loadGraphData = async function () {\n const v = await loadGraphData.apply(this, arguments)\n const ct = changeTracker()\n if (ct.isOurLoad) {\n ct.isOurLoad = false\n } else {\n ct.checkState()\n }\n return v\n }\n\n let keyIgnored = false\n window.addEventListener(\n 'keydown',\n (e) => {\n const activeEl = document.activeElement\n requestAnimationFrame(async () => {\n let bindInputEl\n // If we are auto queue in change mode then we do want to trigger on inputs\n if (!app.ui.autoQueueEnabled || app.ui.autoQueueMode === 'instant') {\n if (\n activeEl?.tagName === 'INPUT' ||\n activeEl?.['type'] === 'textarea'\n ) {\n // Ignore events on inputs, they have their native history\n return\n }\n bindInputEl = activeEl\n }\n\n keyIgnored =\n e.key === 'Control' ||\n e.key === 'Shift' ||\n e.key === 'Alt' ||\n e.key === 'Meta'\n if (keyIgnored) return\n\n // Check if this is a ctrl+z ctrl+y\n if (await changeTracker().undoRedo(e)) return\n\n // If our active element is some type of input then handle changes after they're done\n if (ChangeTracker.bindInput(app, bindInputEl)) return\n changeTracker().checkState()\n })\n },\n true\n )\n\n window.addEventListener('keyup', (e) => {\n if (keyIgnored) {\n keyIgnored = false\n changeTracker().checkState()\n }\n })\n\n // Handle clicking DOM elements (e.g. widgets)\n window.addEventListener('mouseup', () => {\n changeTracker().checkState()\n })\n\n // Handle prompt queue event for dynamic widget changes\n api.addEventListener('promptQueued', () => {\n changeTracker().checkState()\n })\n\n api.addEventListener('graphCleared', () => {\n changeTracker().checkState()\n })\n\n // Handle litegraph clicks\n const processMouseUp = LGraphCanvas.prototype.processMouseUp\n LGraphCanvas.prototype.processMouseUp = function (e) {\n const v = processMouseUp.apply(this, arguments)\n changeTracker().checkState()\n return v\n }\n const processMouseDown = LGraphCanvas.prototype.processMouseDown\n LGraphCanvas.prototype.processMouseDown = function (e) {\n const v = processMouseDown.apply(this, arguments)\n changeTracker().checkState()\n return v\n }\n\n // Handle litegraph context menu for COMBO widgets\n const close = LiteGraph.ContextMenu.prototype.close\n LiteGraph.ContextMenu.prototype.close = function (e) {\n const v = close.apply(this, arguments)\n changeTracker().checkState()\n return v\n }\n\n // Detects nodes being added via the node search dialog\n const onNodeAdded = LiteGraph.LGraph.prototype.onNodeAdded\n LiteGraph.LGraph.prototype.onNodeAdded = function () {\n const v = onNodeAdded?.apply(this, arguments)\n if (!app?.configuringGraph) {\n const ct = changeTracker()\n if (!ct.isOurLoad) {\n ct.checkState()\n }\n }\n return v\n }\n\n // Store node outputs\n api.addEventListener('executed', ({ detail }) => {\n const prompt = app.workflowManager.queuedPrompts[detail.prompt_id]\n if (!prompt?.workflow) return\n const nodeOutputs = (prompt.workflow.changeTracker.nodeOutputs ??= {})\n const output = nodeOutputs[detail.node]\n if (detail.merge && output) {\n for (const k in detail.output ?? {}) {\n const v = output[k]\n if (v instanceof Array) {\n output[k] = v.concat(detail.output[k])\n } else {\n output[k] = detail.output[k]\n }\n }\n } else {\n nodeOutputs[detail.node] = detail.output\n }\n })\n }\n\n static bindInput(app, activeEl) {\n if (\n activeEl &&\n activeEl.tagName !== 'CANVAS' &&\n activeEl.tagName !== 'BODY'\n ) {\n for (const evt of ['change', 'input', 'blur']) {\n if (`on${evt}` in activeEl) {\n const listener = () => {\n app.workflowManager.activeWorkflow.changeTracker.checkState()\n activeEl.removeEventListener(evt, listener)\n }\n activeEl.addEventListener(evt, listener)\n return true\n }\n }\n }\n }\n\n static graphEqual(a, b, path = '') {\n if (a === b) return true\n\n if (typeof a == 'object' && a && typeof b == 'object' && b) {\n const keys = Object.getOwnPropertyNames(a)\n\n if (keys.length != Object.getOwnPropertyNames(b).length) {\n return false\n }\n\n for (const key of keys) {\n let av = a[key]\n let bv = b[key]\n if (!path && key === 'nodes') {\n // Nodes need to be sorted as the order changes when selecting nodes\n av = [...av].sort((a, b) => a.id - b.id)\n bv = [...bv].sort((a, b) => a.id - b.id)\n } else if (path === 'extra.ds') {\n // Ignore view changes\n continue\n }\n if (!ChangeTracker.graphEqual(av, bv, path + (path ? '.' : '') + key)) {\n return false\n }\n }\n\n return true\n }\n\n return false\n }\n}\n\nconst globalTracker = new ChangeTracker({} as ComfyWorkflow)\n","import { ComfyDialog } from '../dialog'\nimport { $el } from '../../ui'\n\nexport class ComfyAsyncDialog extends ComfyDialog {\n #resolve: (value: any) => void\n\n constructor(actions?: Array) {\n super(\n 'dialog.comfy-dialog.comfyui-dialog',\n actions?.map((opt) => {\n if (typeof opt === 'string') {\n opt = { text: opt }\n }\n return $el('button.comfyui-button', {\n type: 'button',\n textContent: opt.text,\n onclick: () => this.close(opt.value ?? opt.text)\n })\n })\n )\n }\n\n show(html: string | HTMLElement | HTMLElement[]) {\n this.element.addEventListener('close', () => {\n this.close()\n })\n\n super.show(html)\n\n return new Promise((resolve) => {\n this.#resolve = resolve\n })\n }\n\n showModal(html: string | HTMLElement | HTMLElement[]) {\n this.element.addEventListener('close', () => {\n this.close()\n })\n\n super.show(html)\n this.element.showModal()\n\n return new Promise((resolve) => {\n this.#resolve = resolve\n })\n }\n\n close(result = null) {\n this.#resolve(result)\n this.element.close()\n super.close()\n }\n\n static async prompt({ title = null, message, actions }) {\n const dialog = new ComfyAsyncDialog(actions)\n const content = [$el('span', message)]\n if (title) {\n content.unshift($el('h3', title))\n }\n const res = await dialog.showModal(content)\n dialog.element.remove()\n return res\n }\n}\n","import type { ComfyApp } from './app'\nimport { api } from './api'\nimport { ChangeTracker } from './changeTracker'\nimport { ComfyAsyncDialog } from './ui/components/asyncDialog'\nimport { getStorageValue, setStorageValue } from './utils'\nimport { LGraphCanvas, LGraph } from '@comfyorg/litegraph'\n\nfunction appendJsonExt(path: string) {\n if (!path.toLowerCase().endsWith('.json')) {\n path += '.json'\n }\n return path\n}\n\nexport function trimJsonExt(path: string) {\n return path?.replace(/\\.json$/, '')\n}\n\nexport class ComfyWorkflowManager extends EventTarget {\n #activePromptId: string | null = null\n #unsavedCount = 0\n #activeWorkflow: ComfyWorkflow\n\n workflowLookup: Record = {}\n workflows: Array = []\n openWorkflows: Array = []\n queuedPrompts: Record<\n string,\n { workflow?: ComfyWorkflow; nodes?: Record }\n > = {}\n app: ComfyApp\n\n get activeWorkflow() {\n return this.#activeWorkflow ?? this.openWorkflows[0]\n }\n\n get activePromptId() {\n return this.#activePromptId\n }\n\n get activePrompt() {\n return this.queuedPrompts[this.#activePromptId]\n }\n\n constructor(app: ComfyApp) {\n super()\n this.app = app\n ChangeTracker.init(app)\n\n this.#bindExecutionEvents()\n }\n\n #bindExecutionEvents() {\n // TODO: on reload, set active prompt based on the latest ws message\n\n const emit = () =>\n this.dispatchEvent(\n new CustomEvent('execute', { detail: this.activePrompt })\n )\n let executing = null\n api.addEventListener('execution_start', (e) => {\n this.#activePromptId = e.detail.prompt_id\n\n // This event can fire before the event is stored, so put a placeholder\n this.queuedPrompts[this.#activePromptId] ??= { nodes: {} }\n emit()\n })\n api.addEventListener('execution_cached', (e) => {\n if (!this.activePrompt) return\n for (const n of e.detail.nodes) {\n this.activePrompt.nodes[n] = true\n }\n emit()\n })\n api.addEventListener('executed', (e) => {\n if (!this.activePrompt) return\n this.activePrompt.nodes[e.detail.node] = true\n emit()\n })\n api.addEventListener('executing', (e) => {\n if (!this.activePrompt) return\n\n if (executing) {\n // Seems sometimes nodes that are cached fire executing but not executed\n this.activePrompt.nodes[executing] = true\n }\n executing = e.detail\n if (!executing) {\n delete this.queuedPrompts[this.#activePromptId]\n this.#activePromptId = null\n }\n emit()\n })\n }\n\n async loadWorkflows() {\n try {\n let favorites\n const resp = await api.getUserData('workflows/.index.json')\n let info\n if (resp.status === 200) {\n info = await resp.json()\n favorites = new Set(info?.favorites ?? [])\n } else {\n favorites = new Set()\n }\n\n const workflows = (await api.listUserData('workflows', true, true)).map(\n (w) => {\n let workflow = this.workflowLookup[w[0]]\n if (!workflow) {\n workflow = new ComfyWorkflow(\n this,\n w[0],\n w.slice(1),\n favorites.has(w[0])\n )\n this.workflowLookup[workflow.path] = workflow\n }\n return workflow\n }\n )\n\n this.workflows = workflows\n } catch (error) {\n alert('Error loading workflows: ' + (error.message ?? error))\n this.workflows = []\n }\n }\n\n async saveWorkflowMetadata() {\n await api.storeUserData('workflows/.index.json', {\n favorites: [\n ...this.workflows.filter((w) => w.isFavorite).map((w) => w.path)\n ]\n })\n }\n\n /**\n * @param {string | ComfyWorkflow | null} workflow\n */\n setWorkflow(workflow) {\n if (workflow && typeof workflow === 'string') {\n // Selected by path, i.e. on reload of last workflow\n const found = this.workflows.find((w) => w.path === workflow)\n if (found) {\n workflow = found\n workflow.unsaved =\n !workflow ||\n getStorageValue('Comfy.PreviousWorkflowUnsaved') === 'true'\n }\n }\n\n if (!(workflow instanceof ComfyWorkflow)) {\n // Still not found, either reloading a deleted workflow or blank\n workflow = new ComfyWorkflow(\n this,\n workflow ||\n 'Unsaved Workflow' +\n (this.#unsavedCount++ ? ` (${this.#unsavedCount})` : '')\n )\n }\n\n const index = this.openWorkflows.indexOf(workflow)\n if (index === -1) {\n // Opening a new workflow\n this.openWorkflows.push(workflow)\n }\n\n this.#activeWorkflow = workflow\n\n setStorageValue('Comfy.PreviousWorkflow', this.activeWorkflow.path ?? '')\n this.dispatchEvent(new CustomEvent('changeWorkflow'))\n }\n\n storePrompt({ nodes, id }) {\n this.queuedPrompts[id] ??= {}\n this.queuedPrompts[id].nodes = {\n ...nodes.reduce((p, n) => {\n p[n] = false\n return p\n }, {}),\n ...this.queuedPrompts[id].nodes\n }\n this.queuedPrompts[id].workflow = this.activeWorkflow\n }\n\n /**\n * @param {ComfyWorkflow} workflow\n */\n async closeWorkflow(workflow, warnIfUnsaved = true) {\n if (!workflow.isOpen) {\n return true\n }\n if (workflow.unsaved && warnIfUnsaved) {\n const res = await ComfyAsyncDialog.prompt({\n title: 'Save Changes?',\n message: `Do you want to save changes to \"${workflow.path ?? workflow.name}\" before closing?`,\n actions: ['Yes', 'No', 'Cancel']\n })\n if (res === 'Yes') {\n const active = this.activeWorkflow\n if (active !== workflow) {\n // We need to switch to the workflow to save it\n await workflow.load()\n }\n\n if (!(await workflow.save())) {\n // Save was canceled, restore the previous workflow\n if (active !== workflow) {\n await active.load()\n }\n return\n }\n } else if (res === 'Cancel') {\n return\n }\n }\n workflow.changeTracker = null\n this.openWorkflows.splice(this.openWorkflows.indexOf(workflow), 1)\n if (this.openWorkflows.length) {\n this.#activeWorkflow = this.openWorkflows[0]\n await this.#activeWorkflow.load()\n } else {\n // Load default\n await this.app.loadGraphData()\n }\n }\n}\n\nexport class ComfyWorkflow {\n #name\n #path\n #pathParts\n #isFavorite = false\n changeTracker: ChangeTracker | null = null\n unsaved = false\n manager: ComfyWorkflowManager\n\n get name() {\n return this.#name\n }\n\n get path() {\n return this.#path\n }\n\n get pathParts() {\n return this.#pathParts\n }\n\n get isFavorite() {\n return this.#isFavorite\n }\n\n get isOpen() {\n return !!this.changeTracker\n }\n\n constructor(\n manager: ComfyWorkflowManager,\n path: string,\n pathParts?: string[],\n isFavorite?: boolean\n ) {\n this.manager = manager\n if (pathParts) {\n this.#updatePath(path, pathParts)\n this.#isFavorite = isFavorite\n } else {\n this.#name = path\n this.unsaved = true\n }\n }\n\n #updatePath(path: string, pathParts: string[]) {\n this.#path = path\n\n if (!pathParts) {\n if (!path.includes('\\\\')) {\n pathParts = path.split('/')\n } else {\n pathParts = path.split('\\\\')\n }\n }\n\n this.#pathParts = pathParts\n this.#name = trimJsonExt(pathParts[pathParts.length - 1])\n }\n\n async getWorkflowData() {\n const resp = await api.getUserData('workflows/' + this.path)\n if (resp.status !== 200) {\n alert(\n `Error loading workflow file '${this.path}': ${resp.status} ${resp.statusText}`\n )\n return\n }\n return await resp.json()\n }\n\n load = async () => {\n if (this.isOpen) {\n await this.manager.app.loadGraphData(\n this.changeTracker.activeState,\n true,\n true,\n this\n )\n } else {\n const data = await this.getWorkflowData()\n if (!data) return\n await this.manager.app.loadGraphData(data, true, true, this)\n }\n }\n\n async save(saveAs = false) {\n if (!this.path || saveAs) {\n return !!(await this.#save(null, false))\n } else {\n return !!(await this.#save(this.path, true))\n }\n }\n\n async favorite(value: boolean) {\n try {\n if (this.#isFavorite === value) return\n this.#isFavorite = value\n await this.manager.saveWorkflowMetadata()\n this.manager.dispatchEvent(new CustomEvent('favorite', { detail: this }))\n } catch (error) {\n alert(\n 'Error favoriting workflow ' +\n this.path +\n '\\n' +\n (error.message ?? error)\n )\n }\n }\n\n async rename(path: string) {\n path = appendJsonExt(path)\n let resp = await api.moveUserData(\n 'workflows/' + this.path,\n 'workflows/' + path\n )\n\n if (resp.status === 409) {\n if (\n !confirm(\n `Workflow '${path}' already exists, do you want to overwrite it?`\n )\n )\n return resp\n resp = await api.moveUserData(\n 'workflows/' + this.path,\n 'workflows/' + path,\n { overwrite: true }\n )\n }\n\n if (resp.status !== 200) {\n alert(\n `Error renaming workflow file '${this.path}': ${resp.status} ${resp.statusText}`\n )\n return\n }\n\n const isFav = this.isFavorite\n if (isFav) {\n await this.favorite(false)\n }\n path = (await resp.json()).substring('workflows/'.length)\n this.#updatePath(path, null)\n if (isFav) {\n await this.favorite(true)\n }\n this.manager.dispatchEvent(new CustomEvent('rename', { detail: this }))\n setStorageValue('Comfy.PreviousWorkflow', this.path ?? '')\n }\n\n async insert() {\n const data = await this.getWorkflowData()\n if (!data) return\n\n const old = localStorage.getItem('litegrapheditor_clipboard')\n const graph = new LGraph(data)\n const canvas = new LGraphCanvas(null, graph, {\n // @ts-expect-error\n skip_events: true,\n skip_render: true\n })\n canvas.selectNodes()\n canvas.copyToClipboard()\n this.manager.app.canvas.pasteFromClipboard()\n localStorage.setItem('litegrapheditor_clipboard', old)\n }\n\n async delete() {\n // TODO: fix delete of current workflow - should mark workflow as unsaved and when saving use old name by default\n\n if (this.isFavorite) {\n await this.favorite(false)\n }\n const resp = await api.deleteUserData('workflows/' + this.path)\n if (resp.status !== 204) {\n alert(\n `Error removing user data file '${this.path}': ${resp.status} ${resp.statusText}`\n )\n }\n\n this.unsaved = true\n this.#path = null\n this.#pathParts = null\n this.manager.workflows.splice(this.manager.workflows.indexOf(this), 1)\n this.manager.dispatchEvent(new CustomEvent('delete', { detail: this }))\n }\n\n track() {\n if (this.changeTracker) {\n this.changeTracker.restore()\n } else {\n this.changeTracker = new ChangeTracker(this)\n }\n }\n\n async #save(path: string | null, overwrite: boolean) {\n if (!path) {\n path = prompt(\n 'Save workflow as:',\n trimJsonExt(this.path) ?? this.name ?? 'workflow'\n )\n if (!path) return\n }\n\n path = appendJsonExt(path)\n\n const p = await this.manager.app.graphToPrompt()\n const json = JSON.stringify(p.workflow, null, 2)\n let resp = await api.storeUserData('workflows/' + path, json, {\n stringify: false,\n throwOnError: false,\n overwrite\n })\n if (resp.status === 409) {\n if (\n !confirm(\n `Workflow '${path}' already exists, do you want to overwrite it?`\n )\n )\n return\n resp = await api.storeUserData('workflows/' + path, json, {\n stringify: false\n })\n }\n\n if (resp.status !== 200) {\n alert(\n `Error saving workflow '${this.path}': ${resp.status} ${resp.statusText}`\n )\n return\n }\n\n path = (await resp.json()).substring('workflows/'.length)\n\n if (!this.path) {\n // Saved new workflow, patch this instance\n this.#updatePath(path, null)\n await this.manager.loadWorkflows()\n this.unsaved = false\n this.manager.dispatchEvent(new CustomEvent('rename', { detail: this }))\n setStorageValue('Comfy.PreviousWorkflow', this.path ?? '')\n } else if (path !== this.path) {\n // Saved as, open the new copy\n await this.manager.loadWorkflows()\n const workflow = this.manager.workflowLookup[path]\n await workflow.load()\n } else {\n // Normal save\n this.unsaved = false\n this.manager.dispatchEvent(new CustomEvent('save', { detail: this }))\n }\n\n return true\n }\n}\n","import { ComfyButton } from '../components/button'\nimport { prop, getStorageValue, setStorageValue } from '../../utils'\nimport { $el } from '../../ui'\nimport { api } from '../../api'\nimport { ComfyPopup } from '../components/popup'\nimport { createSpinner } from '../spinner'\nimport { ComfyWorkflow, trimJsonExt } from '../../workflows'\nimport { ComfyAsyncDialog } from '../components/asyncDialog'\nimport type { ComfyApp } from '@/scripts/app'\nimport type { ComfyComponent } from '../components'\n\nexport class ComfyWorkflowsMenu {\n #first = true\n element = $el('div.comfyui-workflows')\n popup: ComfyPopup\n app: ComfyApp\n buttonProgress: HTMLElement\n workflowLabel: HTMLElement\n button: ComfyButton\n content: ComfyWorkflowsContent\n unsaved: boolean\n\n get open() {\n return this.popup.open\n }\n\n set open(open) {\n this.popup.open = open\n }\n\n constructor(app: ComfyApp) {\n this.app = app\n this.#bindEvents()\n\n const classList = {\n 'comfyui-workflows-button': true,\n 'comfyui-button': true,\n unsaved: getStorageValue('Comfy.PreviousWorkflowUnsaved') === 'true',\n running: false\n }\n this.buttonProgress = $el('div.comfyui-workflows-button-progress')\n this.workflowLabel = $el('span.comfyui-workflows-label', '')\n this.button = new ComfyButton({\n content: $el('div.comfyui-workflows-button-inner', [\n $el('i.mdi.mdi-graph'),\n this.workflowLabel,\n this.buttonProgress\n ]),\n icon: 'chevron-down',\n classList\n })\n\n this.element.append(this.button.element)\n\n this.popup = new ComfyPopup({\n target: this.element,\n classList: 'comfyui-workflows-popup'\n })\n this.content = new ComfyWorkflowsContent(app, this.popup)\n this.popup.children = [this.content.element]\n this.popup.addEventListener('change', () => {\n this.button.icon = 'chevron-' + (this.popup.open ? 'up' : 'down')\n })\n this.button.withPopup(this.popup)\n\n this.unsaved = prop(this, 'unsaved', classList.unsaved, (v) => {\n classList.unsaved = v\n this.button.classList = classList\n setStorageValue('Comfy.PreviousWorkflowUnsaved', v)\n })\n }\n\n #updateProgress = () => {\n const prompt = this.app.workflowManager.activePrompt\n let percent = 0\n if (this.app.workflowManager.activeWorkflow === prompt?.workflow) {\n const total = Object.values(prompt.nodes)\n const done = total.filter(Boolean)\n percent = (done.length / total.length) * 100\n }\n this.buttonProgress.style.width = percent + '%'\n }\n\n #updateActive = () => {\n const active = this.app.workflowManager.activeWorkflow\n this.button.tooltip = active.path\n this.workflowLabel.textContent = active.name\n this.unsaved = active.unsaved\n\n if (this.#first) {\n this.#first = false\n this.content.load()\n }\n\n this.#updateProgress()\n }\n\n #bindEvents() {\n this.app.workflowManager.addEventListener(\n 'changeWorkflow',\n this.#updateActive\n )\n this.app.workflowManager.addEventListener('rename', this.#updateActive)\n this.app.workflowManager.addEventListener('delete', this.#updateActive)\n\n this.app.workflowManager.addEventListener('save', () => {\n this.unsaved = this.app.workflowManager.activeWorkflow.unsaved\n })\n\n this.app.workflowManager.addEventListener('execute', (e) => {\n this.#updateProgress()\n })\n\n api.addEventListener('graphChanged', () => {\n this.unsaved = true\n })\n }\n\n #getMenuOptions(callback) {\n const menu = []\n const directories = new Map()\n for (const workflow of this.app.workflowManager.workflows || []) {\n const path = workflow.pathParts\n if (!path) continue\n let parent = menu\n let currentPath = ''\n for (let i = 0; i < path.length - 1; i++) {\n currentPath += '/' + path[i]\n let newParent = directories.get(currentPath)\n if (!newParent) {\n newParent = {\n title: path[i],\n has_submenu: true,\n submenu: {\n options: []\n }\n }\n parent.push(newParent)\n newParent = newParent.submenu.options\n directories.set(currentPath, newParent)\n }\n parent = newParent\n }\n parent.push({\n title: trimJsonExt(path[path.length - 1]),\n callback: () => callback(workflow)\n })\n }\n return menu\n }\n\n #getFavoriteMenuOptions(callback) {\n const menu = []\n for (const workflow of this.app.workflowManager.workflows || []) {\n if (workflow.isFavorite) {\n menu.push({\n title: '⭐ ' + workflow.name,\n callback: () => callback(workflow)\n })\n }\n }\n return menu\n }\n\n registerExtension(app: ComfyApp) {\n const self = this\n app.registerExtension({\n name: 'Comfy.Workflows',\n async beforeRegisterNodeDef(nodeType) {\n function getImageWidget(node) {\n const inputs = {\n ...node.constructor?.nodeData?.input?.required,\n ...node.constructor?.nodeData?.input?.optional\n }\n for (const input in inputs) {\n if (inputs[input][0] === 'IMAGEUPLOAD') {\n const imageWidget = node.widgets.find(\n (w) => w.name === (inputs[input]?.[1]?.widget ?? 'image')\n )\n if (imageWidget) return imageWidget\n }\n }\n }\n\n function setWidgetImage(node, widget, img) {\n const url = new URL(img.src)\n const filename = url.searchParams.get('filename')\n const subfolder = url.searchParams.get('subfolder')\n const type = url.searchParams.get('type')\n const imageId = `${subfolder ? subfolder + '/' : ''}${filename} [${type}]`\n widget.value = imageId\n node.imgs = [img]\n app.graph.setDirtyCanvas(true, true)\n }\n\n async function sendToWorkflow(\n img: HTMLImageElement,\n workflow: ComfyWorkflow\n ) {\n const openWorkflow = app.workflowManager.openWorkflows.find(\n (w) => w.path === workflow.path\n )\n if (openWorkflow) {\n workflow = openWorkflow\n }\n\n await workflow.load()\n let options = []\n const nodes = app.graph.computeExecutionOrder(false)\n for (const node of nodes) {\n const widget = getImageWidget(node)\n if (widget == null) continue\n\n if (node.title?.toLowerCase().includes('input')) {\n options = [{ widget, node }]\n break\n } else {\n options.push({ widget, node })\n }\n }\n\n if (!options.length) {\n alert('No image nodes have been found in this workflow!')\n return\n } else if (options.length > 1) {\n const dialog = new WidgetSelectionDialog(options)\n const res = await dialog.show(app)\n if (!res) return\n options = [res]\n }\n\n setWidgetImage(options[0].node, options[0].widget, img)\n }\n\n const getExtraMenuOptions = nodeType.prototype['getExtraMenuOptions']\n nodeType.prototype['getExtraMenuOptions'] = function (\n this: { imageIndex?: number; overIndex?: number; imgs: string[] },\n _,\n options\n ) {\n const r = getExtraMenuOptions?.apply?.(this, arguments)\n const setting = app.ui.settings.getSettingValue(\n 'Comfy.UseNewMenu',\n false\n )\n if (setting && setting != 'Disabled') {\n const t = this\n let img\n if (t.imageIndex != null) {\n // An image is selected so select that\n img = t.imgs?.[t.imageIndex]\n } else if (t.overIndex != null) {\n // No image is selected but one is hovered\n img = t.imgs?.[t.overIndex]\n }\n\n if (img) {\n let pos = options.findIndex((o) => o.content === 'Save Image')\n if (pos === -1) {\n pos = 0\n } else {\n pos++\n }\n\n options.splice(pos, 0, {\n content: 'Send to workflow',\n has_submenu: true,\n submenu: {\n options: [\n {\n callback: () =>\n sendToWorkflow(img, app.workflowManager.activeWorkflow),\n title: '[Current workflow]'\n },\n ...self.#getFavoriteMenuOptions(\n sendToWorkflow.bind(null, img)\n ),\n null,\n ...self.#getMenuOptions(sendToWorkflow.bind(null, img))\n ]\n }\n })\n }\n }\n\n return r\n }\n }\n })\n }\n}\n\nexport class ComfyWorkflowsContent {\n element = $el('div.comfyui-workflows-panel')\n treeState = {}\n treeFiles: Record = {}\n openFiles: Map> = new Map()\n activeElement: WorkflowElement = null\n spinner: Element\n openElement: HTMLElement\n favoritesElement: HTMLElement\n treeElement: HTMLElement\n app: ComfyApp\n popup: ComfyPopup\n actions: HTMLElement\n filterText: string | undefined\n treeRoot: HTMLElement\n\n constructor(app: ComfyApp, popup: ComfyPopup) {\n this.app = app\n this.popup = popup\n this.actions = $el('div.comfyui-workflows-actions', [\n new ComfyButton({\n content: 'Default',\n icon: 'file-code',\n iconSize: 18,\n classList: 'comfyui-button primary',\n tooltip: 'Load default workflow',\n action: () => {\n popup.open = false\n app.loadGraphData()\n app.resetView()\n }\n }).element,\n new ComfyButton({\n content: 'Browse',\n icon: 'folder',\n iconSize: 18,\n tooltip: 'Browse for an image or exported workflow',\n action: () => {\n popup.open = false\n app.ui.loadFile()\n }\n }).element,\n new ComfyButton({\n content: 'Blank',\n icon: 'plus-thick',\n iconSize: 18,\n tooltip: 'Create a new blank workflow',\n action: () => {\n app.workflowManager.setWorkflow(null)\n app.clean()\n app.graph.clear()\n app.workflowManager.activeWorkflow.track()\n popup.open = false\n }\n }).element\n ])\n\n this.spinner = createSpinner()\n this.element.replaceChildren(this.actions, this.spinner)\n\n this.popup.addEventListener('open', () => this.load())\n this.popup.addEventListener('close', () =>\n this.element.replaceChildren(this.actions, this.spinner)\n )\n\n this.app.workflowManager.addEventListener('favorite', (e) => {\n const workflow = e['detail']\n const button = this.treeFiles[workflow.path]?.primary\n if (!button) return // Can happen when a workflow is renamed\n button.icon = this.#getFavoriteIcon(workflow)\n button.overIcon = this.#getFavoriteOverIcon(workflow)\n this.updateFavorites()\n })\n\n for (const e of ['save', 'open', 'close', 'changeWorkflow']) {\n // TODO: dont be lazy and just update the specific element\n app.workflowManager.addEventListener(e, () => this.updateOpen())\n }\n this.app.workflowManager.addEventListener('rename', () => this.load())\n this.app.workflowManager.addEventListener('execute', (e) =>\n this.#updateActive()\n )\n }\n\n async load() {\n await this.app.workflowManager.loadWorkflows()\n this.updateTree()\n this.updateFavorites()\n this.updateOpen()\n this.element.replaceChildren(\n this.actions,\n this.openElement,\n this.favoritesElement,\n this.treeElement\n )\n }\n\n updateOpen() {\n const current = this.openElement\n this.openFiles.clear()\n\n this.openElement = $el('div.comfyui-workflows-open', [\n $el('h3', 'Open'),\n ...this.app.workflowManager.openWorkflows.map((w) => {\n const wrapper = new WorkflowElement(this, w, {\n primary: { element: $el('i.mdi.mdi-18px.mdi-progress-pencil') },\n buttons: [\n this.#getRenameButton(w),\n new ComfyButton({\n icon: 'close',\n iconSize: 18,\n classList: 'comfyui-button comfyui-workflows-file-action',\n tooltip: 'Close workflow',\n action: (e) => {\n e.stopImmediatePropagation()\n this.app.workflowManager.closeWorkflow(w)\n }\n })\n ]\n })\n if (w.unsaved) {\n wrapper.element.classList.add('unsaved')\n }\n if (w === this.app.workflowManager.activeWorkflow) {\n wrapper.element.classList.add('active')\n }\n\n this.openFiles.set(w, wrapper)\n return wrapper.element\n })\n ])\n\n this.#updateActive()\n current?.replaceWith(this.openElement)\n }\n\n updateFavorites() {\n const current = this.favoritesElement\n const favorites = [\n ...this.app.workflowManager.workflows.filter((w) => w.isFavorite)\n ]\n\n this.favoritesElement = $el('div.comfyui-workflows-favorites', [\n $el('h3', 'Favorites'),\n ...favorites\n .map((w) => {\n return this.#getWorkflowElement(w).element\n })\n .filter(Boolean)\n ])\n\n current?.replaceWith(this.favoritesElement)\n }\n\n filterTree() {\n if (!this.filterText) {\n this.treeRoot.classList.remove('filtered')\n // Unfilter whole tree\n for (const item of Object.values(this.treeFiles)) {\n item.element.parentElement.style.removeProperty('display')\n this.showTreeParents(item.element.parentElement)\n }\n return\n }\n this.treeRoot.classList.add('filtered')\n const searchTerms = this.filterText.toLocaleLowerCase().split(' ')\n for (const item of Object.values(this.treeFiles)) {\n const parts = item.workflow.pathParts\n let termIndex = 0\n let valid = false\n for (const part of parts) {\n let currentIndex = 0\n do {\n currentIndex = part.indexOf(searchTerms[termIndex], currentIndex)\n if (currentIndex > -1) currentIndex += searchTerms[termIndex].length\n } while (currentIndex !== -1 && ++termIndex < searchTerms.length)\n\n if (termIndex >= searchTerms.length) {\n valid = true\n break\n }\n }\n if (valid) {\n item.element.parentElement.style.removeProperty('display')\n this.showTreeParents(item.element.parentElement)\n } else {\n item.element.parentElement.style.display = 'none'\n this.hideTreeParents(item.element.parentElement)\n }\n }\n }\n\n hideTreeParents(element) {\n // Hide all parents if no children are visible\n if (\n element.parentElement?.classList.contains('comfyui-workflows-tree') ===\n false\n ) {\n for (let i = 1; i < element.parentElement.children.length; i++) {\n const c = element.parentElement.children[i]\n if (c.style.display !== 'none') {\n return\n }\n }\n element.parentElement.style.display = 'none'\n this.hideTreeParents(element.parentElement)\n }\n }\n\n showTreeParents(element) {\n if (\n element.parentElement?.classList.contains('comfyui-workflows-tree') ===\n false\n ) {\n element.parentElement.style.removeProperty('display')\n this.showTreeParents(element.parentElement)\n }\n }\n\n updateTree() {\n const current = this.treeElement\n const nodes = {}\n let typingTimeout\n\n this.treeFiles = {}\n this.treeRoot = $el('ul.comfyui-workflows-tree')\n this.treeElement = $el('section', [\n $el('header', [\n $el('h3', 'Browse'),\n $el('div.comfy-ui-workflows-search', [\n $el('i.mdi.mdi-18px.mdi-magnify'),\n $el('input', {\n placeholder: 'Search',\n value: this.filterText ?? '',\n oninput: (e: InputEvent) => {\n this.filterText = e.target['value']?.trim()\n clearTimeout(typingTimeout)\n typingTimeout = setTimeout(() => this.filterTree(), 250)\n }\n })\n ])\n ]),\n this.treeRoot\n ])\n\n for (const workflow of this.app.workflowManager.workflows) {\n if (!workflow.pathParts) continue\n\n let currentPath = ''\n let currentRoot = this.treeRoot\n\n for (let i = 0; i < workflow.pathParts.length; i++) {\n currentPath += (currentPath ? '\\\\' : '') + workflow.pathParts[i]\n const parentNode =\n nodes[currentPath] ??\n this.#createNode(currentPath, workflow, i, currentRoot)\n\n nodes[currentPath] = parentNode\n currentRoot = parentNode\n }\n }\n\n current?.replaceWith(this.treeElement)\n this.filterTree()\n }\n\n #expandNode(el, workflow, thisPath, i) {\n const expanded = !el.classList.toggle('closed')\n if (expanded) {\n let c = ''\n for (let j = 0; j <= i; j++) {\n c += (c ? '\\\\' : '') + workflow.pathParts[j]\n this.treeState[c] = true\n }\n } else {\n let c = thisPath\n for (let j = i + 1; j < workflow.pathParts.length; j++) {\n c += (c ? '\\\\' : '') + workflow.pathParts[j]\n delete this.treeState[c]\n }\n delete this.treeState[thisPath]\n }\n }\n\n #updateActive() {\n this.#removeActive()\n\n const active = this.app.workflowManager.activePrompt\n if (!active?.workflow) return\n\n const open = this.openFiles.get(active.workflow)\n if (!open) return\n\n this.activeElement = open\n\n const total = Object.values(active.nodes)\n const done = total.filter(Boolean)\n const percent = done.length / total.length\n open.element.classList.add('running')\n open.element.style.setProperty('--progress', percent * 100 + '%')\n open.primary.element.classList.remove('mdi-progress-pencil')\n open.primary.element.classList.add('mdi-play')\n }\n\n #removeActive() {\n if (!this.activeElement) return\n this.activeElement.element.classList.remove('running')\n this.activeElement.element.style.removeProperty('--progress')\n this.activeElement.primary.element.classList.add('mdi-progress-pencil')\n this.activeElement.primary.element.classList.remove('mdi-play')\n }\n\n #getFavoriteIcon(workflow: ComfyWorkflow) {\n return workflow.isFavorite ? 'star' : 'file-outline'\n }\n\n #getFavoriteOverIcon(workflow: ComfyWorkflow) {\n return workflow.isFavorite ? 'star-off' : 'star-outline'\n }\n\n #getFavoriteTooltip(workflow: ComfyWorkflow) {\n return workflow.isFavorite\n ? 'Remove this workflow from your favorites'\n : 'Add this workflow to your favorites'\n }\n\n #getFavoriteButton(workflow: ComfyWorkflow, primary: boolean) {\n return new ComfyButton({\n icon: this.#getFavoriteIcon(workflow),\n overIcon: this.#getFavoriteOverIcon(workflow),\n iconSize: 18,\n classList:\n 'comfyui-button comfyui-workflows-file-action-favorite' +\n (primary ? ' comfyui-workflows-file-action-primary' : ''),\n tooltip: this.#getFavoriteTooltip(workflow),\n action: (e) => {\n e.stopImmediatePropagation()\n workflow.favorite(!workflow.isFavorite)\n }\n })\n }\n\n #getDeleteButton(workflow: ComfyWorkflow) {\n const deleteButton = new ComfyButton({\n icon: 'delete',\n tooltip: 'Delete this workflow',\n classList: 'comfyui-button comfyui-workflows-file-action',\n iconSize: 18,\n action: async (e, btn) => {\n e.stopImmediatePropagation()\n\n if (btn.icon === 'delete-empty') {\n btn.enabled = false\n await workflow.delete()\n await this.load()\n } else {\n btn.icon = 'delete-empty'\n btn.element.style.background = 'red'\n }\n }\n })\n deleteButton.element.addEventListener('mouseleave', () => {\n deleteButton.icon = 'delete'\n deleteButton.element.style.removeProperty('background')\n })\n return deleteButton\n }\n\n #getInsertButton(workflow: ComfyWorkflow) {\n return new ComfyButton({\n icon: 'file-move-outline',\n iconSize: 18,\n tooltip: 'Insert this workflow into the current workflow',\n classList: 'comfyui-button comfyui-workflows-file-action',\n action: (e) => {\n if (!this.app.shiftDown) {\n this.popup.open = false\n }\n e.stopImmediatePropagation()\n if (!this.app.shiftDown) {\n this.popup.open = false\n }\n workflow.insert()\n }\n })\n }\n\n /** @param {ComfyWorkflow} workflow */\n #getRenameButton(workflow: ComfyWorkflow) {\n return new ComfyButton({\n icon: 'pencil',\n tooltip: workflow.path\n ? 'Rename this workflow'\n : \"This workflow can't be renamed as it hasn't been saved.\",\n classList: 'comfyui-button comfyui-workflows-file-action',\n iconSize: 18,\n enabled: !!workflow.path,\n action: async (e) => {\n e.stopImmediatePropagation()\n const newName = prompt('Enter new name', workflow.path)\n if (newName) {\n await workflow.rename(newName)\n }\n }\n })\n }\n\n #getWorkflowElement(workflow: ComfyWorkflow) {\n return new WorkflowElement(this, workflow, {\n primary: this.#getFavoriteButton(workflow, true),\n buttons: [\n this.#getInsertButton(workflow),\n this.#getRenameButton(workflow),\n this.#getDeleteButton(workflow)\n ]\n })\n }\n\n #createLeafNode(workflow: ComfyWorkflow) {\n const fileNode = this.#getWorkflowElement(workflow)\n this.treeFiles[workflow.path] = fileNode\n return fileNode\n }\n\n #createNode(currentPath, workflow, i, currentRoot) {\n const part = workflow.pathParts[i]\n\n const parentNode = $el(\n 'ul' + (this.treeState[currentPath] ? '' : '.closed'),\n {\n $: (el) => {\n el.onclick = (e) => {\n this.#expandNode(el, workflow, currentPath, i)\n e.stopImmediatePropagation()\n }\n }\n }\n )\n currentRoot.append(parentNode)\n\n // Create a node for the current part and an inner UL for its children if it isnt a leaf node\n const leaf = i === workflow.pathParts.length - 1\n let nodeElement\n if (leaf) {\n nodeElement = this.#createLeafNode(workflow).element\n } else {\n nodeElement = $el('li', [\n $el('i.mdi.mdi-18px.mdi-folder'),\n $el('span', part)\n ])\n }\n parentNode.append(nodeElement)\n return parentNode\n }\n}\n\nclass WorkflowElement {\n parent: ComfyWorkflowsContent\n workflow: ComfyWorkflow\n primary: TPrimary\n buttons: ComfyButton[]\n element: HTMLElement\n constructor(\n parent: ComfyWorkflowsContent,\n workflow: ComfyWorkflow,\n {\n tagName = 'li',\n primary,\n buttons\n }: { tagName?: string; primary: TPrimary; buttons: ComfyButton[] }\n ) {\n this.parent = parent\n this.workflow = workflow\n this.primary = primary\n this.buttons = buttons\n\n this.element = $el(\n tagName + '.comfyui-workflows-tree-file',\n {\n onclick: () => {\n workflow.load()\n this.parent.popup.open = false\n },\n title: this.workflow.path\n },\n [\n this.primary?.element,\n $el('span', workflow.name),\n ...buttons.map((b) => b.element)\n ]\n )\n }\n}\n\ntype WidgetSelectionDialogOptions = Array<{\n widget: { name: string }\n node: { pos: [number, number]; title: string; id: string; type: string }\n}>\n\nclass WidgetSelectionDialog extends ComfyAsyncDialog {\n #options: WidgetSelectionDialogOptions\n\n constructor(options: WidgetSelectionDialogOptions) {\n super()\n this.#options = options\n }\n\n show(app) {\n this.element.classList.add('comfy-widget-selection-dialog')\n return super.show(\n $el('div', [\n $el('h2', 'Select image target'),\n $el(\n 'p',\n \"This workflow has multiple image loader nodes, you can rename a node to include 'input' in the title for it to be automatically selected, or select one below.\"\n ),\n $el(\n 'section',\n this.#options.map((opt) => {\n return $el('div.comfy-widget-selection-item', [\n $el(\n 'span',\n { dataset: { id: opt.node.id } },\n `${opt.node.title ?? opt.node.type} ${opt.widget.name}`\n ),\n $el(\n 'button.comfyui-button',\n {\n onclick: () => {\n app.canvas.ds.offset[0] = -opt.node.pos[0] + 50\n app.canvas.ds.offset[1] = -opt.node.pos[1] + 50\n app.canvas.selectNode(opt.node)\n app.graph.setDirtyCanvas(true, true)\n }\n },\n 'Show'\n ),\n $el(\n 'button.comfyui-button.primary',\n {\n onclick: () => {\n this.close(opt)\n }\n },\n 'Select'\n )\n ])\n })\n )\n ])\n )\n }\n}\n","import { StatusWsMessageStatus } from '@/types/apiTypes'\nimport { api } from '../../api'\nimport { ComfyButton } from '../components/button'\nimport { useToastStore } from '@/stores/toastStore'\n\nexport function getInterruptButton(visibility: string) {\n const btn = new ComfyButton({\n icon: 'close',\n tooltip: 'Cancel current generation',\n enabled: false,\n action: async () => {\n await api.interrupt()\n useToastStore().add({\n severity: 'info',\n summary: 'Interrupted',\n detail: 'Execution has been interrupted',\n life: 1000\n })\n },\n classList: ['comfyui-button', 'comfyui-interrupt-button', visibility]\n })\n\n api.addEventListener(\n 'status',\n ({ detail }: CustomEvent) => {\n const sz = detail?.exec_info?.queue_remaining\n btn.enabled = sz > 0\n }\n )\n\n return btn\n}\n","import type { ComfyApp } from '@/scripts/app'\nimport { api } from '../../api'\nimport { $el } from '../../ui'\nimport { downloadBlob } from '../../utils'\nimport { ComfyButton } from '../components/button'\nimport { ComfyButtonGroup } from '../components/buttonGroup'\nimport { ComfySplitButton } from '../components/splitButton'\nimport { ComfyQueueButton } from './queueButton'\nimport { ComfyWorkflowsMenu } from './workflows'\nimport { getInterruptButton } from './interruptButton'\nimport './menu.css'\nimport type { ComfySettingsDialog } from '../settings'\n\ntype MenuPosition = 'Disabled' | 'Top' | 'Bottom'\n\nconst collapseOnMobile = (t) => {\n ;(t.element ?? t).classList.add('comfyui-menu-mobile-collapse')\n return t\n}\nconst showOnMobile = (t) => {\n ;(t.element ?? t).classList.add('lt-lg-show')\n return t\n}\n\nexport class ComfyAppMenu {\n #sizeBreak = 'lg'\n #lastSizeBreaks = {\n lg: null,\n md: null,\n sm: null,\n xs: null\n }\n #sizeBreaks = Object.keys(this.#lastSizeBreaks)\n #cachedInnerSize = null\n #cacheTimeout = null\n app: ComfyApp\n workflows: ComfyWorkflowsMenu\n logo: HTMLElement\n saveButton: ComfySplitButton\n actionsGroup: ComfyButtonGroup\n settingsGroup: ComfyButtonGroup\n viewGroup: ComfyButtonGroup\n mobileMenuButton: ComfyButton\n queueButton: ComfyQueueButton\n element: HTMLElement\n menuPositionSetting: ReturnType\n position: MenuPosition\n\n constructor(app: ComfyApp) {\n this.app = app\n\n this.workflows = new ComfyWorkflowsMenu(app)\n const getSaveButton = (t?: string) =>\n new ComfyButton({\n icon: 'content-save',\n tooltip: 'Save the current workflow',\n action: () => app.workflowManager.activeWorkflow.save(),\n content: t\n })\n\n this.logo = $el('h1.comfyui-logo.nlg-hide', { title: 'ComfyUI' }, 'ComfyUI')\n this.saveButton = new ComfySplitButton(\n {\n primary: getSaveButton(),\n mode: 'hover',\n position: 'absolute'\n },\n getSaveButton('Save'),\n new ComfyButton({\n icon: 'content-save-edit',\n content: 'Save As',\n tooltip: 'Save the current graph as a new workflow',\n action: () => app.workflowManager.activeWorkflow.save(true)\n }),\n new ComfyButton({\n icon: 'download',\n content: 'Export',\n tooltip: 'Export the current workflow as JSON',\n action: () => this.exportWorkflow('workflow', 'workflow')\n }),\n new ComfyButton({\n icon: 'api',\n content: 'Export (API Format)',\n tooltip:\n 'Export the current workflow as JSON for use with the ComfyUI API',\n action: () => this.exportWorkflow('workflow_api', 'output'),\n visibilitySetting: { id: 'Comfy.DevMode', showValue: true },\n app\n })\n )\n\n this.actionsGroup = new ComfyButtonGroup(\n new ComfyButton({\n icon: 'refresh',\n content: 'Refresh',\n tooltip: 'Refresh widgets in nodes to find new models or files',\n action: () => app.refreshComboInNodes()\n }),\n new ComfyButton({\n icon: 'clipboard-edit-outline',\n content: 'Clipspace',\n tooltip: 'Open Clipspace window',\n action: () => app['openClipspace']()\n }),\n new ComfyButton({\n icon: 'fit-to-page-outline',\n content: 'Reset View',\n tooltip: 'Reset the canvas view',\n action: () => app.resetView()\n }),\n new ComfyButton({\n icon: 'cancel',\n content: 'Clear',\n tooltip: 'Clears current workflow',\n action: () => {\n if (\n !app.ui.settings.getSettingValue('Comfy.ConfirmClear', true) ||\n confirm('Clear workflow?')\n ) {\n app.clean()\n app.graph.clear()\n api.dispatchEvent(new CustomEvent('graphCleared'))\n }\n }\n })\n )\n // Keep the settings group as there are custom scripts attaching extra\n // elements to it.\n this.settingsGroup = new ComfyButtonGroup()\n this.viewGroup = new ComfyButtonGroup(\n getInterruptButton('nlg-hide').element\n )\n this.mobileMenuButton = new ComfyButton({\n icon: 'menu',\n action: (_, btn) => {\n btn.icon = this.element.classList.toggle('expanded')\n ? 'menu-open'\n : 'menu'\n window.dispatchEvent(new Event('resize'))\n },\n classList: 'comfyui-button comfyui-menu-button'\n })\n this.queueButton = new ComfyQueueButton(app)\n\n this.element = $el('nav.comfyui-menu.lg', { style: { display: 'none' } }, [\n this.logo,\n this.workflows.element,\n this.saveButton.element,\n collapseOnMobile(this.actionsGroup).element,\n $el('section.comfyui-menu-push'),\n collapseOnMobile(this.settingsGroup).element,\n collapseOnMobile(this.viewGroup).element,\n\n getInterruptButton('lt-lg-show').element,\n this.queueButton.element,\n showOnMobile(this.mobileMenuButton).element\n ])\n\n let resizeHandler: () => void\n this.menuPositionSetting = app.ui.settings.addSetting({\n id: 'Comfy.UseNewMenu',\n category: ['Comfy', 'Menu', 'UseNewMenu'],\n defaultValue: 'Disabled',\n name: 'Use new menu and workflow management.',\n experimental: true,\n tooltip: 'On small screens the menu will always be at the top.',\n type: 'combo',\n options: ['Disabled', 'Top', 'Bottom'],\n onChange: async (v: MenuPosition) => {\n if (v && v !== 'Disabled') {\n if (!resizeHandler) {\n resizeHandler = () => {\n this.calculateSizeBreak()\n }\n window.addEventListener('resize', resizeHandler)\n }\n this.updatePosition(v)\n } else {\n if (resizeHandler) {\n window.removeEventListener('resize', resizeHandler)\n resizeHandler = null\n }\n document.body.style.removeProperty('display')\n app.ui.menuContainer.style.removeProperty('display')\n this.element.style.display = 'none'\n app.ui.restoreMenuPosition()\n }\n window.dispatchEvent(new Event('resize'))\n }\n })\n }\n\n updatePosition(v: MenuPosition) {\n document.body.style.display = 'grid'\n this.app.ui.menuContainer.style.display = 'none'\n this.element.style.removeProperty('display')\n this.position = v\n if (v === 'Bottom') {\n this.app.bodyBottom.append(this.element)\n } else {\n this.app.bodyTop.prepend(this.element)\n }\n this.calculateSizeBreak()\n }\n\n updateSizeBreak(idx: number, prevIdx: number, direction: number) {\n const newSize = this.#sizeBreaks[idx]\n if (newSize === this.#sizeBreak) return\n this.#cachedInnerSize = null\n clearTimeout(this.#cacheTimeout)\n\n this.#sizeBreak = this.#sizeBreaks[idx]\n for (let i = 0; i < this.#sizeBreaks.length; i++) {\n const sz = this.#sizeBreaks[i]\n if (sz === this.#sizeBreak) {\n this.element.classList.add(sz)\n } else {\n this.element.classList.remove(sz)\n }\n if (i < idx) {\n this.element.classList.add('lt-' + sz)\n } else {\n this.element.classList.remove('lt-' + sz)\n }\n }\n\n if (idx) {\n // We're on a small screen, force the menu at the top\n if (this.position !== 'Top') {\n this.updatePosition('Top')\n }\n } else if (this.position != this.menuPositionSetting.value) {\n // Restore user position\n this.updatePosition(this.menuPositionSetting.value)\n }\n\n // Allow multiple updates, but prevent bouncing\n if (!direction) {\n direction = prevIdx - idx\n } else if (direction != prevIdx - idx) {\n return\n }\n this.calculateSizeBreak(direction)\n }\n\n calculateSizeBreak(direction = 0) {\n let idx = this.#sizeBreaks.indexOf(this.#sizeBreak)\n const currIdx = idx\n const innerSize = this.calculateInnerSize(idx)\n if (window.innerWidth >= this.#lastSizeBreaks[this.#sizeBreaks[idx - 1]]) {\n if (idx > 0) {\n idx--\n }\n } else if (innerSize > this.element.clientWidth) {\n this.#lastSizeBreaks[this.#sizeBreak] = Math.max(\n window.innerWidth,\n innerSize\n )\n // We need to shrink\n if (idx < this.#sizeBreaks.length - 1) {\n idx++\n }\n }\n\n this.updateSizeBreak(idx, currIdx, direction)\n }\n\n calculateInnerSize(idx: number) {\n // Cache the inner size to prevent too much calculation when resizing the window\n clearTimeout(this.#cacheTimeout)\n if (this.#cachedInnerSize) {\n // Extend cache time\n this.#cacheTimeout = setTimeout(() => (this.#cachedInnerSize = null), 100)\n } else {\n let innerSize = 0\n let count = 1\n for (const c of this.element.children) {\n if (c.classList.contains('comfyui-menu-push')) continue // ignore right push\n if (idx && c.classList.contains('comfyui-menu-mobile-collapse'))\n continue // ignore collapse items\n innerSize += c.clientWidth\n count++\n }\n innerSize += 8 * count\n this.#cachedInnerSize = innerSize\n this.#cacheTimeout = setTimeout(() => (this.#cachedInnerSize = null), 100)\n }\n return this.#cachedInnerSize\n }\n\n getFilename(defaultName: string) {\n if (this.app.ui.settings.getSettingValue('Comfy.PromptFilename', true)) {\n defaultName = prompt('Save workflow as:', defaultName)\n if (!defaultName) return\n if (!defaultName.toLowerCase().endsWith('.json')) {\n defaultName += '.json'\n }\n }\n return defaultName\n }\n\n async exportWorkflow(\n filename: string,\n promptProperty: 'workflow' | 'output'\n ) {\n if (this.app.workflowManager.activeWorkflow?.path) {\n filename = this.app.workflowManager.activeWorkflow.name\n }\n const p = await this.app.graphToPrompt()\n const json = JSON.stringify(p[promptProperty], null, 2)\n const blob = new Blob([json], { type: 'application/json' })\n const file = this.getFilename(filename)\n if (!file) return\n downloadBlob(file, blob)\n }\n}\n","export type NodeSourceType = 'core' | 'custom_nodes'\nexport type NodeSource = {\n type: NodeSourceType\n className: string\n displayText: string\n}\n\nexport const getNodeSource = (python_module: string): NodeSource => {\n const modules = python_module.split('.')\n if (['nodes', 'comfy_extras'].includes(modules[0])) {\n return {\n type: 'core',\n className: 'comfy-core',\n displayText: 'Comfy Core'\n }\n } else if (modules[0] === 'custom_nodes') {\n return {\n type: 'custom_nodes',\n className: 'comfy-custom-nodes',\n displayText: modules[1]\n }\n } else {\n throw new Error(`Unknown node source: ${python_module}`)\n }\n}\n","/**\n * Fuse.js v7.0.0 - Lightweight fuzzy-search (http://fusejs.io)\n *\n * Copyright (c) 2023 Kiro Risk (http://kiro.me)\n * All Rights Reserved. Apache Software License 2.0\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n */\n\nfunction isArray(value) {\n return !Array.isArray\n ? getTag(value) === '[object Array]'\n : Array.isArray(value)\n}\n\n// Adapted from: https://github.com/lodash/lodash/blob/master/.internal/baseToString.js\nconst INFINITY = 1 / 0;\nfunction baseToString(value) {\n // Exit early for strings to avoid a performance hit in some environments.\n if (typeof value == 'string') {\n return value\n }\n let result = value + '';\n return result == '0' && 1 / value == -INFINITY ? '-0' : result\n}\n\nfunction toString(value) {\n return value == null ? '' : baseToString(value)\n}\n\nfunction isString(value) {\n return typeof value === 'string'\n}\n\nfunction isNumber(value) {\n return typeof value === 'number'\n}\n\n// Adapted from: https://github.com/lodash/lodash/blob/master/isBoolean.js\nfunction isBoolean(value) {\n return (\n value === true ||\n value === false ||\n (isObjectLike(value) && getTag(value) == '[object Boolean]')\n )\n}\n\nfunction isObject(value) {\n return typeof value === 'object'\n}\n\n// Checks if `value` is object-like.\nfunction isObjectLike(value) {\n return isObject(value) && value !== null\n}\n\nfunction isDefined(value) {\n return value !== undefined && value !== null\n}\n\nfunction isBlank(value) {\n return !value.trim().length\n}\n\n// Gets the `toStringTag` of `value`.\n// Adapted from: https://github.com/lodash/lodash/blob/master/.internal/getTag.js\nfunction getTag(value) {\n return value == null\n ? value === undefined\n ? '[object Undefined]'\n : '[object Null]'\n : Object.prototype.toString.call(value)\n}\n\nconst EXTENDED_SEARCH_UNAVAILABLE = 'Extended search is not available';\n\nconst INCORRECT_INDEX_TYPE = \"Incorrect 'index' type\";\n\nconst LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY = (key) =>\n `Invalid value for key ${key}`;\n\nconst PATTERN_LENGTH_TOO_LARGE = (max) =>\n `Pattern length exceeds max of ${max}.`;\n\nconst MISSING_KEY_PROPERTY = (name) => `Missing ${name} property in key`;\n\nconst INVALID_KEY_WEIGHT_VALUE = (key) =>\n `Property 'weight' in key '${key}' must be a positive integer`;\n\nconst hasOwn = Object.prototype.hasOwnProperty;\n\nclass KeyStore {\n constructor(keys) {\n this._keys = [];\n this._keyMap = {};\n\n let totalWeight = 0;\n\n keys.forEach((key) => {\n let obj = createKey(key);\n\n this._keys.push(obj);\n this._keyMap[obj.id] = obj;\n\n totalWeight += obj.weight;\n });\n\n // Normalize weights so that their sum is equal to 1\n this._keys.forEach((key) => {\n key.weight /= totalWeight;\n });\n }\n get(keyId) {\n return this._keyMap[keyId]\n }\n keys() {\n return this._keys\n }\n toJSON() {\n return JSON.stringify(this._keys)\n }\n}\n\nfunction createKey(key) {\n let path = null;\n let id = null;\n let src = null;\n let weight = 1;\n let getFn = null;\n\n if (isString(key) || isArray(key)) {\n src = key;\n path = createKeyPath(key);\n id = createKeyId(key);\n } else {\n if (!hasOwn.call(key, 'name')) {\n throw new Error(MISSING_KEY_PROPERTY('name'))\n }\n\n const name = key.name;\n src = name;\n\n if (hasOwn.call(key, 'weight')) {\n weight = key.weight;\n\n if (weight <= 0) {\n throw new Error(INVALID_KEY_WEIGHT_VALUE(name))\n }\n }\n\n path = createKeyPath(name);\n id = createKeyId(name);\n getFn = key.getFn;\n }\n\n return { path, id, weight, src, getFn }\n}\n\nfunction createKeyPath(key) {\n return isArray(key) ? key : key.split('.')\n}\n\nfunction createKeyId(key) {\n return isArray(key) ? key.join('.') : key\n}\n\nfunction get(obj, path) {\n let list = [];\n let arr = false;\n\n const deepGet = (obj, path, index) => {\n if (!isDefined(obj)) {\n return\n }\n if (!path[index]) {\n // If there's no path left, we've arrived at the object we care about.\n list.push(obj);\n } else {\n let key = path[index];\n\n const value = obj[key];\n\n if (!isDefined(value)) {\n return\n }\n\n // If we're at the last value in the path, and if it's a string/number/bool,\n // add it to the list\n if (\n index === path.length - 1 &&\n (isString(value) || isNumber(value) || isBoolean(value))\n ) {\n list.push(toString(value));\n } else if (isArray(value)) {\n arr = true;\n // Search each item in the array.\n for (let i = 0, len = value.length; i < len; i += 1) {\n deepGet(value[i], path, index + 1);\n }\n } else if (path.length) {\n // An object. Recurse further.\n deepGet(value, path, index + 1);\n }\n }\n };\n\n // Backwards compatibility (since path used to be a string)\n deepGet(obj, isString(path) ? path.split('.') : path, 0);\n\n return arr ? list : list[0]\n}\n\nconst MatchOptions = {\n // Whether the matches should be included in the result set. When `true`, each record in the result\n // set will include the indices of the matched characters.\n // These can consequently be used for highlighting purposes.\n includeMatches: false,\n // When `true`, the matching function will continue to the end of a search pattern even if\n // a perfect match has already been located in the string.\n findAllMatches: false,\n // Minimum number of characters that must be matched before a result is considered a match\n minMatchCharLength: 1\n};\n\nconst BasicOptions = {\n // When `true`, the algorithm continues searching to the end of the input even if a perfect\n // match is found before the end of the same input.\n isCaseSensitive: false,\n // When true, the matching function will continue to the end of a search pattern even if\n includeScore: false,\n // List of properties that will be searched. This also supports nested properties.\n keys: [],\n // Whether to sort the result list, by score\n shouldSort: true,\n // Default sort function: sort by ascending score, ascending index\n sortFn: (a, b) =>\n a.score === b.score ? (a.idx < b.idx ? -1 : 1) : a.score < b.score ? -1 : 1\n};\n\nconst FuzzyOptions = {\n // Approximately where in the text is the pattern expected to be found?\n location: 0,\n // At what point does the match algorithm give up. A threshold of '0.0' requires a perfect match\n // (of both letters and location), a threshold of '1.0' would match anything.\n threshold: 0.6,\n // Determines how close the match must be to the fuzzy location (specified above).\n // An exact letter match which is 'distance' characters away from the fuzzy location\n // would score as a complete mismatch. A distance of '0' requires the match be at\n // the exact location specified, a threshold of '1000' would require a perfect match\n // to be within 800 characters of the fuzzy location to be found using a 0.8 threshold.\n distance: 100\n};\n\nconst AdvancedOptions = {\n // When `true`, it enables the use of unix-like search commands\n useExtendedSearch: false,\n // The get function to use when fetching an object's properties.\n // The default will search nested paths *ie foo.bar.baz*\n getFn: get,\n // When `true`, search will ignore `location` and `distance`, so it won't matter\n // where in the string the pattern appears.\n // More info: https://fusejs.io/concepts/scoring-theory.html#fuzziness-score\n ignoreLocation: false,\n // When `true`, the calculation for the relevance score (used for sorting) will\n // ignore the field-length norm.\n // More info: https://fusejs.io/concepts/scoring-theory.html#field-length-norm\n ignoreFieldNorm: false,\n // The weight to determine how much field length norm effects scoring.\n fieldNormWeight: 1\n};\n\nvar Config = {\n ...BasicOptions,\n ...MatchOptions,\n ...FuzzyOptions,\n ...AdvancedOptions\n};\n\nconst SPACE = /[^ ]+/g;\n\n// Field-length norm: the shorter the field, the higher the weight.\n// Set to 3 decimals to reduce index size.\nfunction norm(weight = 1, mantissa = 3) {\n const cache = new Map();\n const m = Math.pow(10, mantissa);\n\n return {\n get(value) {\n const numTokens = value.match(SPACE).length;\n\n if (cache.has(numTokens)) {\n return cache.get(numTokens)\n }\n\n // Default function is 1/sqrt(x), weight makes that variable\n const norm = 1 / Math.pow(numTokens, 0.5 * weight);\n\n // In place of `toFixed(mantissa)`, for faster computation\n const n = parseFloat(Math.round(norm * m) / m);\n\n cache.set(numTokens, n);\n\n return n\n },\n clear() {\n cache.clear();\n }\n }\n}\n\nclass FuseIndex {\n constructor({\n getFn = Config.getFn,\n fieldNormWeight = Config.fieldNormWeight\n } = {}) {\n this.norm = norm(fieldNormWeight, 3);\n this.getFn = getFn;\n this.isCreated = false;\n\n this.setIndexRecords();\n }\n setSources(docs = []) {\n this.docs = docs;\n }\n setIndexRecords(records = []) {\n this.records = records;\n }\n setKeys(keys = []) {\n this.keys = keys;\n this._keysMap = {};\n keys.forEach((key, idx) => {\n this._keysMap[key.id] = idx;\n });\n }\n create() {\n if (this.isCreated || !this.docs.length) {\n return\n }\n\n this.isCreated = true;\n\n // List is Array\n if (isString(this.docs[0])) {\n this.docs.forEach((doc, docIndex) => {\n this._addString(doc, docIndex);\n });\n } else {\n // List is Array\n this.docs.forEach((doc, docIndex) => {\n this._addObject(doc, docIndex);\n });\n }\n\n this.norm.clear();\n }\n // Adds a doc to the end of the index\n add(doc) {\n const idx = this.size();\n\n if (isString(doc)) {\n this._addString(doc, idx);\n } else {\n this._addObject(doc, idx);\n }\n }\n // Removes the doc at the specified index of the index\n removeAt(idx) {\n this.records.splice(idx, 1);\n\n // Change ref index of every subsquent doc\n for (let i = idx, len = this.size(); i < len; i += 1) {\n this.records[i].i -= 1;\n }\n }\n getValueForItemAtKeyId(item, keyId) {\n return item[this._keysMap[keyId]]\n }\n size() {\n return this.records.length\n }\n _addString(doc, docIndex) {\n if (!isDefined(doc) || isBlank(doc)) {\n return\n }\n\n let record = {\n v: doc,\n i: docIndex,\n n: this.norm.get(doc)\n };\n\n this.records.push(record);\n }\n _addObject(doc, docIndex) {\n let record = { i: docIndex, $: {} };\n\n // Iterate over every key (i.e, path), and fetch the value at that key\n this.keys.forEach((key, keyIndex) => {\n let value = key.getFn ? key.getFn(doc) : this.getFn(doc, key.path);\n\n if (!isDefined(value)) {\n return\n }\n\n if (isArray(value)) {\n let subRecords = [];\n const stack = [{ nestedArrIndex: -1, value }];\n\n while (stack.length) {\n const { nestedArrIndex, value } = stack.pop();\n\n if (!isDefined(value)) {\n continue\n }\n\n if (isString(value) && !isBlank(value)) {\n let subRecord = {\n v: value,\n i: nestedArrIndex,\n n: this.norm.get(value)\n };\n\n subRecords.push(subRecord);\n } else if (isArray(value)) {\n value.forEach((item, k) => {\n stack.push({\n nestedArrIndex: k,\n value: item\n });\n });\n } else ;\n }\n record.$[keyIndex] = subRecords;\n } else if (isString(value) && !isBlank(value)) {\n let subRecord = {\n v: value,\n n: this.norm.get(value)\n };\n\n record.$[keyIndex] = subRecord;\n }\n });\n\n this.records.push(record);\n }\n toJSON() {\n return {\n keys: this.keys,\n records: this.records\n }\n }\n}\n\nfunction createIndex(\n keys,\n docs,\n { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}\n) {\n const myIndex = new FuseIndex({ getFn, fieldNormWeight });\n myIndex.setKeys(keys.map(createKey));\n myIndex.setSources(docs);\n myIndex.create();\n return myIndex\n}\n\nfunction parseIndex(\n data,\n { getFn = Config.getFn, fieldNormWeight = Config.fieldNormWeight } = {}\n) {\n const { keys, records } = data;\n const myIndex = new FuseIndex({ getFn, fieldNormWeight });\n myIndex.setKeys(keys);\n myIndex.setIndexRecords(records);\n return myIndex\n}\n\nfunction computeScore$1(\n pattern,\n {\n errors = 0,\n currentLocation = 0,\n expectedLocation = 0,\n distance = Config.distance,\n ignoreLocation = Config.ignoreLocation\n } = {}\n) {\n const accuracy = errors / pattern.length;\n\n if (ignoreLocation) {\n return accuracy\n }\n\n const proximity = Math.abs(expectedLocation - currentLocation);\n\n if (!distance) {\n // Dodge divide by zero error.\n return proximity ? 1.0 : accuracy\n }\n\n return accuracy + proximity / distance\n}\n\nfunction convertMaskToIndices(\n matchmask = [],\n minMatchCharLength = Config.minMatchCharLength\n) {\n let indices = [];\n let start = -1;\n let end = -1;\n let i = 0;\n\n for (let len = matchmask.length; i < len; i += 1) {\n let match = matchmask[i];\n if (match && start === -1) {\n start = i;\n } else if (!match && start !== -1) {\n end = i - 1;\n if (end - start + 1 >= minMatchCharLength) {\n indices.push([start, end]);\n }\n start = -1;\n }\n }\n\n // (i-1 - start) + 1 => i - start\n if (matchmask[i - 1] && i - start >= minMatchCharLength) {\n indices.push([start, i - 1]);\n }\n\n return indices\n}\n\n// Machine word size\nconst MAX_BITS = 32;\n\nfunction search(\n text,\n pattern,\n patternAlphabet,\n {\n location = Config.location,\n distance = Config.distance,\n threshold = Config.threshold,\n findAllMatches = Config.findAllMatches,\n minMatchCharLength = Config.minMatchCharLength,\n includeMatches = Config.includeMatches,\n ignoreLocation = Config.ignoreLocation\n } = {}\n) {\n if (pattern.length > MAX_BITS) {\n throw new Error(PATTERN_LENGTH_TOO_LARGE(MAX_BITS))\n }\n\n const patternLen = pattern.length;\n // Set starting location at beginning text and initialize the alphabet.\n const textLen = text.length;\n // Handle the case when location > text.length\n const expectedLocation = Math.max(0, Math.min(location, textLen));\n // Highest score beyond which we give up.\n let currentThreshold = threshold;\n // Is there a nearby exact match? (speedup)\n let bestLocation = expectedLocation;\n\n // Performance: only computer matches when the minMatchCharLength > 1\n // OR if `includeMatches` is true.\n const computeMatches = minMatchCharLength > 1 || includeMatches;\n // A mask of the matches, used for building the indices\n const matchMask = computeMatches ? Array(textLen) : [];\n\n let index;\n\n // Get all exact matches, here for speed up\n while ((index = text.indexOf(pattern, bestLocation)) > -1) {\n let score = computeScore$1(pattern, {\n currentLocation: index,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n currentThreshold = Math.min(score, currentThreshold);\n bestLocation = index + patternLen;\n\n if (computeMatches) {\n let i = 0;\n while (i < patternLen) {\n matchMask[index + i] = 1;\n i += 1;\n }\n }\n }\n\n // Reset the best location\n bestLocation = -1;\n\n let lastBitArr = [];\n let finalScore = 1;\n let binMax = patternLen + textLen;\n\n const mask = 1 << (patternLen - 1);\n\n for (let i = 0; i < patternLen; i += 1) {\n // Scan for the best match; each iteration allows for one more error.\n // Run a binary search to determine how far from the match location we can stray\n // at this error level.\n let binMin = 0;\n let binMid = binMax;\n\n while (binMin < binMid) {\n const score = computeScore$1(pattern, {\n errors: i,\n currentLocation: expectedLocation + binMid,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n if (score <= currentThreshold) {\n binMin = binMid;\n } else {\n binMax = binMid;\n }\n\n binMid = Math.floor((binMax - binMin) / 2 + binMin);\n }\n\n // Use the result from this iteration as the maximum for the next.\n binMax = binMid;\n\n let start = Math.max(1, expectedLocation - binMid + 1);\n let finish = findAllMatches\n ? textLen\n : Math.min(expectedLocation + binMid, textLen) + patternLen;\n\n // Initialize the bit array\n let bitArr = Array(finish + 2);\n\n bitArr[finish + 1] = (1 << i) - 1;\n\n for (let j = finish; j >= start; j -= 1) {\n let currentLocation = j - 1;\n let charMatch = patternAlphabet[text.charAt(currentLocation)];\n\n if (computeMatches) {\n // Speed up: quick bool to int conversion (i.e, `charMatch ? 1 : 0`)\n matchMask[currentLocation] = +!!charMatch;\n }\n\n // First pass: exact match\n bitArr[j] = ((bitArr[j + 1] << 1) | 1) & charMatch;\n\n // Subsequent passes: fuzzy match\n if (i) {\n bitArr[j] |=\n ((lastBitArr[j + 1] | lastBitArr[j]) << 1) | 1 | lastBitArr[j + 1];\n }\n\n if (bitArr[j] & mask) {\n finalScore = computeScore$1(pattern, {\n errors: i,\n currentLocation,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n // This match will almost certainly be better than any existing match.\n // But check anyway.\n if (finalScore <= currentThreshold) {\n // Indeed it is\n currentThreshold = finalScore;\n bestLocation = currentLocation;\n\n // Already passed `loc`, downhill from here on in.\n if (bestLocation <= expectedLocation) {\n break\n }\n\n // When passing `bestLocation`, don't exceed our current distance from `expectedLocation`.\n start = Math.max(1, 2 * expectedLocation - bestLocation);\n }\n }\n }\n\n // No hope for a (better) match at greater error levels.\n const score = computeScore$1(pattern, {\n errors: i + 1,\n currentLocation: expectedLocation,\n expectedLocation,\n distance,\n ignoreLocation\n });\n\n if (score > currentThreshold) {\n break\n }\n\n lastBitArr = bitArr;\n }\n\n const result = {\n isMatch: bestLocation >= 0,\n // Count exact matches (those with a score of 0) to be \"almost\" exact\n score: Math.max(0.001, finalScore)\n };\n\n if (computeMatches) {\n const indices = convertMaskToIndices(matchMask, minMatchCharLength);\n if (!indices.length) {\n result.isMatch = false;\n } else if (includeMatches) {\n result.indices = indices;\n }\n }\n\n return result\n}\n\nfunction createPatternAlphabet(pattern) {\n let mask = {};\n\n for (let i = 0, len = pattern.length; i < len; i += 1) {\n const char = pattern.charAt(i);\n mask[char] = (mask[char] || 0) | (1 << (len - i - 1));\n }\n\n return mask\n}\n\nclass BitapSearch {\n constructor(\n pattern,\n {\n location = Config.location,\n threshold = Config.threshold,\n distance = Config.distance,\n includeMatches = Config.includeMatches,\n findAllMatches = Config.findAllMatches,\n minMatchCharLength = Config.minMatchCharLength,\n isCaseSensitive = Config.isCaseSensitive,\n ignoreLocation = Config.ignoreLocation\n } = {}\n ) {\n this.options = {\n location,\n threshold,\n distance,\n includeMatches,\n findAllMatches,\n minMatchCharLength,\n isCaseSensitive,\n ignoreLocation\n };\n\n this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();\n\n this.chunks = [];\n\n if (!this.pattern.length) {\n return\n }\n\n const addChunk = (pattern, startIndex) => {\n this.chunks.push({\n pattern,\n alphabet: createPatternAlphabet(pattern),\n startIndex\n });\n };\n\n const len = this.pattern.length;\n\n if (len > MAX_BITS) {\n let i = 0;\n const remainder = len % MAX_BITS;\n const end = len - remainder;\n\n while (i < end) {\n addChunk(this.pattern.substr(i, MAX_BITS), i);\n i += MAX_BITS;\n }\n\n if (remainder) {\n const startIndex = len - MAX_BITS;\n addChunk(this.pattern.substr(startIndex), startIndex);\n }\n } else {\n addChunk(this.pattern, 0);\n }\n }\n\n searchIn(text) {\n const { isCaseSensitive, includeMatches } = this.options;\n\n if (!isCaseSensitive) {\n text = text.toLowerCase();\n }\n\n // Exact match\n if (this.pattern === text) {\n let result = {\n isMatch: true,\n score: 0\n };\n\n if (includeMatches) {\n result.indices = [[0, text.length - 1]];\n }\n\n return result\n }\n\n // Otherwise, use Bitap algorithm\n const {\n location,\n distance,\n threshold,\n findAllMatches,\n minMatchCharLength,\n ignoreLocation\n } = this.options;\n\n let allIndices = [];\n let totalScore = 0;\n let hasMatches = false;\n\n this.chunks.forEach(({ pattern, alphabet, startIndex }) => {\n const { isMatch, score, indices } = search(text, pattern, alphabet, {\n location: location + startIndex,\n distance,\n threshold,\n findAllMatches,\n minMatchCharLength,\n includeMatches,\n ignoreLocation\n });\n\n if (isMatch) {\n hasMatches = true;\n }\n\n totalScore += score;\n\n if (isMatch && indices) {\n allIndices = [...allIndices, ...indices];\n }\n });\n\n let result = {\n isMatch: hasMatches,\n score: hasMatches ? totalScore / this.chunks.length : 1\n };\n\n if (hasMatches && includeMatches) {\n result.indices = allIndices;\n }\n\n return result\n }\n}\n\nclass BaseMatch {\n constructor(pattern) {\n this.pattern = pattern;\n }\n static isMultiMatch(pattern) {\n return getMatch(pattern, this.multiRegex)\n }\n static isSingleMatch(pattern) {\n return getMatch(pattern, this.singleRegex)\n }\n search(/*text*/) {}\n}\n\nfunction getMatch(pattern, exp) {\n const matches = pattern.match(exp);\n return matches ? matches[1] : null\n}\n\n// Token: 'file\n\nclass ExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'exact'\n }\n static get multiRegex() {\n return /^=\"(.*)\"$/\n }\n static get singleRegex() {\n return /^=(.*)$/\n }\n search(text) {\n const isMatch = text === this.pattern;\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, this.pattern.length - 1]\n }\n }\n}\n\n// Token: !fire\n\nclass InverseExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'inverse-exact'\n }\n static get multiRegex() {\n return /^!\"(.*)\"$/\n }\n static get singleRegex() {\n return /^!(.*)$/\n }\n search(text) {\n const index = text.indexOf(this.pattern);\n const isMatch = index === -1;\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, text.length - 1]\n }\n }\n}\n\n// Token: ^file\n\nclass PrefixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'prefix-exact'\n }\n static get multiRegex() {\n return /^\\^\"(.*)\"$/\n }\n static get singleRegex() {\n return /^\\^(.*)$/\n }\n search(text) {\n const isMatch = text.startsWith(this.pattern);\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, this.pattern.length - 1]\n }\n }\n}\n\n// Token: !^fire\n\nclass InversePrefixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'inverse-prefix-exact'\n }\n static get multiRegex() {\n return /^!\\^\"(.*)\"$/\n }\n static get singleRegex() {\n return /^!\\^(.*)$/\n }\n search(text) {\n const isMatch = !text.startsWith(this.pattern);\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, text.length - 1]\n }\n }\n}\n\n// Token: .file$\n\nclass SuffixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'suffix-exact'\n }\n static get multiRegex() {\n return /^\"(.*)\"\\$$/\n }\n static get singleRegex() {\n return /^(.*)\\$$/\n }\n search(text) {\n const isMatch = text.endsWith(this.pattern);\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [text.length - this.pattern.length, text.length - 1]\n }\n }\n}\n\n// Token: !.file$\n\nclass InverseSuffixExactMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'inverse-suffix-exact'\n }\n static get multiRegex() {\n return /^!\"(.*)\"\\$$/\n }\n static get singleRegex() {\n return /^!(.*)\\$$/\n }\n search(text) {\n const isMatch = !text.endsWith(this.pattern);\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices: [0, text.length - 1]\n }\n }\n}\n\nclass FuzzyMatch extends BaseMatch {\n constructor(\n pattern,\n {\n location = Config.location,\n threshold = Config.threshold,\n distance = Config.distance,\n includeMatches = Config.includeMatches,\n findAllMatches = Config.findAllMatches,\n minMatchCharLength = Config.minMatchCharLength,\n isCaseSensitive = Config.isCaseSensitive,\n ignoreLocation = Config.ignoreLocation\n } = {}\n ) {\n super(pattern);\n this._bitapSearch = new BitapSearch(pattern, {\n location,\n threshold,\n distance,\n includeMatches,\n findAllMatches,\n minMatchCharLength,\n isCaseSensitive,\n ignoreLocation\n });\n }\n static get type() {\n return 'fuzzy'\n }\n static get multiRegex() {\n return /^\"(.*)\"$/\n }\n static get singleRegex() {\n return /^(.*)$/\n }\n search(text) {\n return this._bitapSearch.searchIn(text)\n }\n}\n\n// Token: 'file\n\nclass IncludeMatch extends BaseMatch {\n constructor(pattern) {\n super(pattern);\n }\n static get type() {\n return 'include'\n }\n static get multiRegex() {\n return /^'\"(.*)\"$/\n }\n static get singleRegex() {\n return /^'(.*)$/\n }\n search(text) {\n let location = 0;\n let index;\n\n const indices = [];\n const patternLen = this.pattern.length;\n\n // Get all exact matches\n while ((index = text.indexOf(this.pattern, location)) > -1) {\n location = index + patternLen;\n indices.push([index, location - 1]);\n }\n\n const isMatch = !!indices.length;\n\n return {\n isMatch,\n score: isMatch ? 0 : 1,\n indices\n }\n }\n}\n\n// ❗Order is important. DO NOT CHANGE.\nconst searchers = [\n ExactMatch,\n IncludeMatch,\n PrefixExactMatch,\n InversePrefixExactMatch,\n InverseSuffixExactMatch,\n SuffixExactMatch,\n InverseExactMatch,\n FuzzyMatch\n];\n\nconst searchersLen = searchers.length;\n\n// Regex to split by spaces, but keep anything in quotes together\nconst SPACE_RE = / +(?=(?:[^\\\"]*\\\"[^\\\"]*\\\")*[^\\\"]*$)/;\nconst OR_TOKEN = '|';\n\n// Return a 2D array representation of the query, for simpler parsing.\n// Example:\n// \"^core go$ | rb$ | py$ xy$\" => [[\"^core\", \"go$\"], [\"rb$\"], [\"py$\", \"xy$\"]]\nfunction parseQuery(pattern, options = {}) {\n return pattern.split(OR_TOKEN).map((item) => {\n let query = item\n .trim()\n .split(SPACE_RE)\n .filter((item) => item && !!item.trim());\n\n let results = [];\n for (let i = 0, len = query.length; i < len; i += 1) {\n const queryItem = query[i];\n\n // 1. Handle multiple query match (i.e, once that are quoted, like `\"hello world\"`)\n let found = false;\n let idx = -1;\n while (!found && ++idx < searchersLen) {\n const searcher = searchers[idx];\n let token = searcher.isMultiMatch(queryItem);\n if (token) {\n results.push(new searcher(token, options));\n found = true;\n }\n }\n\n if (found) {\n continue\n }\n\n // 2. Handle single query matches (i.e, once that are *not* quoted)\n idx = -1;\n while (++idx < searchersLen) {\n const searcher = searchers[idx];\n let token = searcher.isSingleMatch(queryItem);\n if (token) {\n results.push(new searcher(token, options));\n break\n }\n }\n }\n\n return results\n })\n}\n\n// These extended matchers can return an array of matches, as opposed\n// to a singl match\nconst MultiMatchSet = new Set([FuzzyMatch.type, IncludeMatch.type]);\n\n/**\n * Command-like searching\n * ======================\n *\n * Given multiple search terms delimited by spaces.e.g. `^jscript .python$ ruby !java`,\n * search in a given text.\n *\n * Search syntax:\n *\n * | Token | Match type | Description |\n * | ----------- | -------------------------- | -------------------------------------- |\n * | `jscript` | fuzzy-match | Items that fuzzy match `jscript` |\n * | `=scheme` | exact-match | Items that are `scheme` |\n * | `'python` | include-match | Items that include `python` |\n * | `!ruby` | inverse-exact-match | Items that do not include `ruby` |\n * | `^java` | prefix-exact-match | Items that start with `java` |\n * | `!^earlang` | inverse-prefix-exact-match | Items that do not start with `earlang` |\n * | `.js$` | suffix-exact-match | Items that end with `.js` |\n * | `!.go$` | inverse-suffix-exact-match | Items that do not end with `.go` |\n *\n * A single pipe character acts as an OR operator. For example, the following\n * query matches entries that start with `core` and end with either`go`, `rb`,\n * or`py`.\n *\n * ```\n * ^core go$ | rb$ | py$\n * ```\n */\nclass ExtendedSearch {\n constructor(\n pattern,\n {\n isCaseSensitive = Config.isCaseSensitive,\n includeMatches = Config.includeMatches,\n minMatchCharLength = Config.minMatchCharLength,\n ignoreLocation = Config.ignoreLocation,\n findAllMatches = Config.findAllMatches,\n location = Config.location,\n threshold = Config.threshold,\n distance = Config.distance\n } = {}\n ) {\n this.query = null;\n this.options = {\n isCaseSensitive,\n includeMatches,\n minMatchCharLength,\n findAllMatches,\n ignoreLocation,\n location,\n threshold,\n distance\n };\n\n this.pattern = isCaseSensitive ? pattern : pattern.toLowerCase();\n this.query = parseQuery(this.pattern, this.options);\n }\n\n static condition(_, options) {\n return options.useExtendedSearch\n }\n\n searchIn(text) {\n const query = this.query;\n\n if (!query) {\n return {\n isMatch: false,\n score: 1\n }\n }\n\n const { includeMatches, isCaseSensitive } = this.options;\n\n text = isCaseSensitive ? text : text.toLowerCase();\n\n let numMatches = 0;\n let allIndices = [];\n let totalScore = 0;\n\n // ORs\n for (let i = 0, qLen = query.length; i < qLen; i += 1) {\n const searchers = query[i];\n\n // Reset indices\n allIndices.length = 0;\n numMatches = 0;\n\n // ANDs\n for (let j = 0, pLen = searchers.length; j < pLen; j += 1) {\n const searcher = searchers[j];\n const { isMatch, indices, score } = searcher.search(text);\n\n if (isMatch) {\n numMatches += 1;\n totalScore += score;\n if (includeMatches) {\n const type = searcher.constructor.type;\n if (MultiMatchSet.has(type)) {\n allIndices = [...allIndices, ...indices];\n } else {\n allIndices.push(indices);\n }\n }\n } else {\n totalScore = 0;\n numMatches = 0;\n allIndices.length = 0;\n break\n }\n }\n\n // OR condition, so if TRUE, return\n if (numMatches) {\n let result = {\n isMatch: true,\n score: totalScore / numMatches\n };\n\n if (includeMatches) {\n result.indices = allIndices;\n }\n\n return result\n }\n }\n\n // Nothing was matched\n return {\n isMatch: false,\n score: 1\n }\n }\n}\n\nconst registeredSearchers = [];\n\nfunction register(...args) {\n registeredSearchers.push(...args);\n}\n\nfunction createSearcher(pattern, options) {\n for (let i = 0, len = registeredSearchers.length; i < len; i += 1) {\n let searcherClass = registeredSearchers[i];\n if (searcherClass.condition(pattern, options)) {\n return new searcherClass(pattern, options)\n }\n }\n\n return new BitapSearch(pattern, options)\n}\n\nconst LogicalOperator = {\n AND: '$and',\n OR: '$or'\n};\n\nconst KeyType = {\n PATH: '$path',\n PATTERN: '$val'\n};\n\nconst isExpression = (query) =>\n !!(query[LogicalOperator.AND] || query[LogicalOperator.OR]);\n\nconst isPath = (query) => !!query[KeyType.PATH];\n\nconst isLeaf = (query) =>\n !isArray(query) && isObject(query) && !isExpression(query);\n\nconst convertToExplicit = (query) => ({\n [LogicalOperator.AND]: Object.keys(query).map((key) => ({\n [key]: query[key]\n }))\n});\n\n// When `auto` is `true`, the parse function will infer and initialize and add\n// the appropriate `Searcher` instance\nfunction parse(query, options, { auto = true } = {}) {\n const next = (query) => {\n let keys = Object.keys(query);\n\n const isQueryPath = isPath(query);\n\n if (!isQueryPath && keys.length > 1 && !isExpression(query)) {\n return next(convertToExplicit(query))\n }\n\n if (isLeaf(query)) {\n const key = isQueryPath ? query[KeyType.PATH] : keys[0];\n\n const pattern = isQueryPath ? query[KeyType.PATTERN] : query[key];\n\n if (!isString(pattern)) {\n throw new Error(LOGICAL_SEARCH_INVALID_QUERY_FOR_KEY(key))\n }\n\n const obj = {\n keyId: createKeyId(key),\n pattern\n };\n\n if (auto) {\n obj.searcher = createSearcher(pattern, options);\n }\n\n return obj\n }\n\n let node = {\n children: [],\n operator: keys[0]\n };\n\n keys.forEach((key) => {\n const value = query[key];\n\n if (isArray(value)) {\n value.forEach((item) => {\n node.children.push(next(item));\n });\n }\n });\n\n return node\n };\n\n if (!isExpression(query)) {\n query = convertToExplicit(query);\n }\n\n return next(query)\n}\n\n// Practical scoring function\nfunction computeScore(\n results,\n { ignoreFieldNorm = Config.ignoreFieldNorm }\n) {\n results.forEach((result) => {\n let totalScore = 1;\n\n result.matches.forEach(({ key, norm, score }) => {\n const weight = key ? key.weight : null;\n\n totalScore *= Math.pow(\n score === 0 && weight ? Number.EPSILON : score,\n (weight || 1) * (ignoreFieldNorm ? 1 : norm)\n );\n });\n\n result.score = totalScore;\n });\n}\n\nfunction transformMatches(result, data) {\n const matches = result.matches;\n data.matches = [];\n\n if (!isDefined(matches)) {\n return\n }\n\n matches.forEach((match) => {\n if (!isDefined(match.indices) || !match.indices.length) {\n return\n }\n\n const { indices, value } = match;\n\n let obj = {\n indices,\n value\n };\n\n if (match.key) {\n obj.key = match.key.src;\n }\n\n if (match.idx > -1) {\n obj.refIndex = match.idx;\n }\n\n data.matches.push(obj);\n });\n}\n\nfunction transformScore(result, data) {\n data.score = result.score;\n}\n\nfunction format(\n results,\n docs,\n {\n includeMatches = Config.includeMatches,\n includeScore = Config.includeScore\n } = {}\n) {\n const transformers = [];\n\n if (includeMatches) transformers.push(transformMatches);\n if (includeScore) transformers.push(transformScore);\n\n return results.map((result) => {\n const { idx } = result;\n\n const data = {\n item: docs[idx],\n refIndex: idx\n };\n\n if (transformers.length) {\n transformers.forEach((transformer) => {\n transformer(result, data);\n });\n }\n\n return data\n })\n}\n\nclass Fuse {\n constructor(docs, options = {}, index) {\n this.options = { ...Config, ...options };\n\n if (\n this.options.useExtendedSearch &&\n !true\n ) {\n throw new Error(EXTENDED_SEARCH_UNAVAILABLE)\n }\n\n this._keyStore = new KeyStore(this.options.keys);\n\n this.setCollection(docs, index);\n }\n\n setCollection(docs, index) {\n this._docs = docs;\n\n if (index && !(index instanceof FuseIndex)) {\n throw new Error(INCORRECT_INDEX_TYPE)\n }\n\n this._myIndex =\n index ||\n createIndex(this.options.keys, this._docs, {\n getFn: this.options.getFn,\n fieldNormWeight: this.options.fieldNormWeight\n });\n }\n\n add(doc) {\n if (!isDefined(doc)) {\n return\n }\n\n this._docs.push(doc);\n this._myIndex.add(doc);\n }\n\n remove(predicate = (/* doc, idx */) => false) {\n const results = [];\n\n for (let i = 0, len = this._docs.length; i < len; i += 1) {\n const doc = this._docs[i];\n if (predicate(doc, i)) {\n this.removeAt(i);\n i -= 1;\n len -= 1;\n\n results.push(doc);\n }\n }\n\n return results\n }\n\n removeAt(idx) {\n this._docs.splice(idx, 1);\n this._myIndex.removeAt(idx);\n }\n\n getIndex() {\n return this._myIndex\n }\n\n search(query, { limit = -1 } = {}) {\n const {\n includeMatches,\n includeScore,\n shouldSort,\n sortFn,\n ignoreFieldNorm\n } = this.options;\n\n let results = isString(query)\n ? isString(this._docs[0])\n ? this._searchStringList(query)\n : this._searchObjectList(query)\n : this._searchLogical(query);\n\n computeScore(results, { ignoreFieldNorm });\n\n if (shouldSort) {\n results.sort(sortFn);\n }\n\n if (isNumber(limit) && limit > -1) {\n results = results.slice(0, limit);\n }\n\n return format(results, this._docs, {\n includeMatches,\n includeScore\n })\n }\n\n _searchStringList(query) {\n const searcher = createSearcher(query, this.options);\n const { records } = this._myIndex;\n const results = [];\n\n // Iterate over every string in the index\n records.forEach(({ v: text, i: idx, n: norm }) => {\n if (!isDefined(text)) {\n return\n }\n\n const { isMatch, score, indices } = searcher.searchIn(text);\n\n if (isMatch) {\n results.push({\n item: text,\n idx,\n matches: [{ score, value: text, norm, indices }]\n });\n }\n });\n\n return results\n }\n\n _searchLogical(query) {\n\n const expression = parse(query, this.options);\n\n const evaluate = (node, item, idx) => {\n if (!node.children) {\n const { keyId, searcher } = node;\n\n const matches = this._findMatches({\n key: this._keyStore.get(keyId),\n value: this._myIndex.getValueForItemAtKeyId(item, keyId),\n searcher\n });\n\n if (matches && matches.length) {\n return [\n {\n idx,\n item,\n matches\n }\n ]\n }\n\n return []\n }\n\n const res = [];\n for (let i = 0, len = node.children.length; i < len; i += 1) {\n const child = node.children[i];\n const result = evaluate(child, item, idx);\n if (result.length) {\n res.push(...result);\n } else if (node.operator === LogicalOperator.AND) {\n return []\n }\n }\n return res\n };\n\n const records = this._myIndex.records;\n const resultMap = {};\n const results = [];\n\n records.forEach(({ $: item, i: idx }) => {\n if (isDefined(item)) {\n let expResults = evaluate(expression, item, idx);\n\n if (expResults.length) {\n // Dedupe when adding\n if (!resultMap[idx]) {\n resultMap[idx] = { idx, item, matches: [] };\n results.push(resultMap[idx]);\n }\n expResults.forEach(({ matches }) => {\n resultMap[idx].matches.push(...matches);\n });\n }\n }\n });\n\n return results\n }\n\n _searchObjectList(query) {\n const searcher = createSearcher(query, this.options);\n const { keys, records } = this._myIndex;\n const results = [];\n\n // List is Array\n records.forEach(({ $: item, i: idx }) => {\n if (!isDefined(item)) {\n return\n }\n\n let matches = [];\n\n // Iterate over every key (i.e, path), and fetch the value at that key\n keys.forEach((key, keyIndex) => {\n matches.push(\n ...this._findMatches({\n key,\n value: item[keyIndex],\n searcher\n })\n );\n });\n\n if (matches.length) {\n results.push({\n idx,\n item,\n matches\n });\n }\n });\n\n return results\n }\n _findMatches({ key, value, searcher }) {\n if (!isDefined(value)) {\n return []\n }\n\n let matches = [];\n\n if (isArray(value)) {\n value.forEach(({ v: text, i: idx, n: norm }) => {\n if (!isDefined(text)) {\n return\n }\n\n const { isMatch, score, indices } = searcher.searchIn(text);\n\n if (isMatch) {\n matches.push({\n score,\n key,\n value: text,\n idx,\n norm,\n indices\n });\n }\n });\n } else {\n const { v: text, n: norm } = value;\n\n const { isMatch, score, indices } = searcher.searchIn(text);\n\n if (isMatch) {\n matches.push({ score, key, value: text, norm, indices });\n }\n }\n\n return matches\n }\n}\n\nFuse.version = '7.0.0';\nFuse.createIndex = createIndex;\nFuse.parseIndex = parseIndex;\nFuse.config = Config;\n\n{\n Fuse.parseQuery = parse;\n}\n\n{\n register(ExtendedSearch);\n}\n\nexport { Fuse as default };\n","import { ComfyNodeDefImpl } from '@/stores/nodeDefStore'\nimport { getNodeSource } from '@/types/nodeSource'\nimport Fuse, { IFuseOptions, FuseSearchOptions } from 'fuse.js'\nimport _ from 'lodash'\n\ntype SearchAuxScore = [number, number, number, number]\n\ninterface ExtraSearchOptions {\n matchWildcards?: boolean\n}\n\nexport class FuseSearch {\n private fuse: Fuse\n private readonly keys: string[]\n public readonly data: T[]\n public readonly advancedScoring: boolean\n\n constructor(\n data: T[],\n options?: IFuseOptions,\n createIndex: boolean = true,\n advancedScoring: boolean = false\n ) {\n this.data = data\n this.keys = (options.keys ?? []) as string[]\n this.advancedScoring = advancedScoring\n const index =\n createIndex && options?.keys\n ? Fuse.createIndex(options.keys, data)\n : undefined\n this.fuse = new Fuse(data, options, index)\n }\n\n public search(query: string, options?: FuseSearchOptions): T[] {\n if (!query || query === '') {\n return [...this.data]\n }\n\n const fuseResult = this.fuse.search(query, options)\n if (!this.advancedScoring) {\n return fuseResult.map((x) => x.item)\n }\n\n const aux = fuseResult\n .map((x) => ({\n item: x.item,\n scores: this.calcAuxScores(query.toLocaleLowerCase(), x.item, x.score)\n }))\n .sort((a, b) => this.compareAux(a.scores, b.scores))\n\n return aux.map((x) => x.item)\n }\n\n public calcAuxScores(query: string, entry: T, score: number) {\n let values: string[] = []\n if (!this.keys.length) values = [entry as string]\n else values = this.keys.map((x) => entry[x])\n const scores = values.map((x) => this.calcAuxSingle(query, x, score))\n const result = scores.sort(this.compareAux)[0]\n\n const deprecated = values.some((x) =>\n x.toLocaleLowerCase().includes('deprecated')\n )\n result[0] += deprecated && result[0] != 0 ? 5 : 0\n return result\n }\n\n public calcAuxSingle(\n query: string,\n item: string,\n score: number\n ): SearchAuxScore {\n const itemWords = item\n .split(/ |\\b|(?<=[a-z])(?=[A-Z])|(?=[A-Z][a-z])/)\n .map((x) => x.toLocaleLowerCase())\n const queryParts = query.split(' ')\n item = item.toLocaleLowerCase()\n\n let main = 9\n let aux1 = 0\n let aux2 = 0\n\n if (item == query) {\n main = 0\n } else if (item.startsWith(query)) {\n main = 1\n aux2 = item.length\n } else if (itemWords.includes(query)) {\n main = 2\n aux1 = item.indexOf(query) + item.length * 0.5\n aux2 = item.length\n } else if (item.includes(query)) {\n main = 3\n aux1 = item.indexOf(query) + item.length * 0.5\n aux2 = item.length\n } else if (queryParts.every((x) => itemWords.includes(x))) {\n const indexes = queryParts.map((x) => itemWords.indexOf(x))\n const min = Math.min(...indexes)\n const max = Math.max(...indexes)\n main = 4\n aux1 = max - min + max * 0.5 + item.length * 0.5\n aux2 = item.length\n } else if (queryParts.every((x) => item.includes(x))) {\n const min = Math.min(...queryParts.map((x) => item.indexOf(x)))\n const max = Math.max(...queryParts.map((x) => item.indexOf(x) + x.length))\n main = 5\n aux1 = max - min + max * 0.5 + item.length * 0.5\n aux2 = item.length\n }\n\n const lengthPenalty =\n 0.2 *\n (1 -\n Math.min(item.length, query.length) /\n Math.max(item.length, query.length))\n return [main, aux1, aux2, score + lengthPenalty]\n }\n\n public compareAux(a: SearchAuxScore, b: SearchAuxScore) {\n return a[0] - b[0] || a[1] - b[1] || a[2] - b[2] || a[3] - b[3]\n }\n}\n\nexport type FilterAndValue = [NodeFilter, T]\n\nexport abstract class NodeFilter {\n public abstract readonly id: string\n public abstract readonly name: string\n public abstract readonly invokeSequence: string\n public abstract readonly longInvokeSequence: string\n public readonly fuseSearch: FuseSearch\n\n constructor(\n nodeDefs: ComfyNodeDefImpl[],\n options?: IFuseOptions\n ) {\n this.fuseSearch = new FuseSearch(this.getAllNodeOptions(nodeDefs), options)\n }\n\n private getAllNodeOptions(nodeDefs: ComfyNodeDefImpl[]): FilterOptionT[] {\n return [\n ...new Set(\n nodeDefs.reduce((acc, nodeDef) => {\n return [...acc, ...this.getNodeOptions(nodeDef)]\n }, [])\n )\n ]\n }\n\n public abstract getNodeOptions(node: ComfyNodeDefImpl): FilterOptionT[]\n\n public matches(\n node: ComfyNodeDefImpl,\n value: FilterOptionT,\n extraOptions?: ExtraSearchOptions\n ): boolean {\n const matchWildcards = extraOptions?.matchWildcards !== false\n if (matchWildcards && value === '*') {\n return true\n }\n const options = this.getNodeOptions(node)\n return (\n options.includes(value) ||\n (matchWildcards && _.some(options, (option) => option === '*'))\n )\n }\n}\n\nexport class InputTypeFilter extends NodeFilter {\n public readonly id: string = 'input'\n public readonly name = 'Input Type'\n public readonly invokeSequence = 'i'\n public readonly longInvokeSequence = 'input'\n\n public override getNodeOptions(node: ComfyNodeDefImpl): string[] {\n return node.input.all.map((input) => input.type)\n }\n}\n\nexport class OutputTypeFilter extends NodeFilter {\n public readonly id: string = 'output'\n public readonly name = 'Output Type'\n public readonly invokeSequence = 'o'\n public readonly longInvokeSequence = 'output'\n\n public override getNodeOptions(node: ComfyNodeDefImpl): string[] {\n return node.output.all.map((output) => output.type)\n }\n}\n\nexport class NodeSourceFilter extends NodeFilter {\n public readonly id: string = 'source'\n public readonly name = 'Source'\n public readonly invokeSequence = 's'\n public readonly longInvokeSequence = 'source'\n\n public override getNodeOptions(node: ComfyNodeDefImpl): string[] {\n return [getNodeSource(node.python_module).displayText]\n }\n}\n\nexport class NodeCategoryFilter extends NodeFilter {\n public readonly id: string = 'category'\n public readonly name = 'Category'\n public readonly invokeSequence = 'c'\n public readonly longInvokeSequence = 'category'\n\n public override getNodeOptions(node: ComfyNodeDefImpl): string[] {\n return [node.category]\n }\n}\n\nexport class NodeSearchService {\n public readonly nodeFuseSearch: FuseSearch\n public readonly nodeFilters: NodeFilter[]\n\n constructor(data: ComfyNodeDefImpl[]) {\n this.nodeFuseSearch = new FuseSearch(\n data,\n {\n keys: ['name', 'display_name'],\n includeScore: true,\n threshold: 0.3,\n shouldSort: false,\n useExtendedSearch: true\n },\n true,\n true\n )\n\n const filterSearchOptions = {\n includeScore: true,\n threshold: 0.3,\n shouldSort: true\n }\n\n this.nodeFilters = [\n new InputTypeFilter(data, filterSearchOptions),\n new OutputTypeFilter(data, filterSearchOptions),\n new NodeCategoryFilter(data, filterSearchOptions)\n ]\n\n if (data[0].python_module !== undefined) {\n this.nodeFilters.push(new NodeSourceFilter(data, filterSearchOptions))\n }\n }\n\n public endsWithFilterStartSequence(query: string): boolean {\n return query.endsWith(':')\n }\n\n public searchNode(\n query: string,\n filters: FilterAndValue[] = [],\n options?: FuseSearchOptions,\n extraOptions?: ExtraSearchOptions\n ): ComfyNodeDefImpl[] {\n const matchedNodes = this.nodeFuseSearch.search(query)\n\n const results = matchedNodes.filter((node) => {\n return _.every(filters, (filterAndValue) => {\n const [filter, value] = filterAndValue\n return filter.matches(node, value, extraOptions)\n })\n })\n\n return options?.limit ? results.slice(0, options.limit) : results\n }\n\n public getFilterById(id: string): NodeFilter | undefined {\n return this.nodeFilters.find((filter) => filter.id === id)\n }\n}\n","export var TransformationType;\n(function (TransformationType) {\n TransformationType[TransformationType[\"PLAIN_TO_CLASS\"] = 0] = \"PLAIN_TO_CLASS\";\n TransformationType[TransformationType[\"CLASS_TO_PLAIN\"] = 1] = \"CLASS_TO_PLAIN\";\n TransformationType[TransformationType[\"CLASS_TO_CLASS\"] = 2] = \"CLASS_TO_CLASS\";\n})(TransformationType || (TransformationType = {}));\n//# sourceMappingURL=transformation-type.enum.js.map","import { TransformationType } from './enums';\n/**\n * Storage all library metadata.\n */\nvar MetadataStorage = /** @class */ (function () {\n function MetadataStorage() {\n // -------------------------------------------------------------------------\n // Properties\n // -------------------------------------------------------------------------\n this._typeMetadatas = new Map();\n this._transformMetadatas = new Map();\n this._exposeMetadatas = new Map();\n this._excludeMetadatas = new Map();\n this._ancestorsMap = new Map();\n }\n // -------------------------------------------------------------------------\n // Adder Methods\n // -------------------------------------------------------------------------\n MetadataStorage.prototype.addTypeMetadata = function (metadata) {\n if (!this._typeMetadatas.has(metadata.target)) {\n this._typeMetadatas.set(metadata.target, new Map());\n }\n this._typeMetadatas.get(metadata.target).set(metadata.propertyName, metadata);\n };\n MetadataStorage.prototype.addTransformMetadata = function (metadata) {\n if (!this._transformMetadatas.has(metadata.target)) {\n this._transformMetadatas.set(metadata.target, new Map());\n }\n if (!this._transformMetadatas.get(metadata.target).has(metadata.propertyName)) {\n this._transformMetadatas.get(metadata.target).set(metadata.propertyName, []);\n }\n this._transformMetadatas.get(metadata.target).get(metadata.propertyName).push(metadata);\n };\n MetadataStorage.prototype.addExposeMetadata = function (metadata) {\n if (!this._exposeMetadatas.has(metadata.target)) {\n this._exposeMetadatas.set(metadata.target, new Map());\n }\n this._exposeMetadatas.get(metadata.target).set(metadata.propertyName, metadata);\n };\n MetadataStorage.prototype.addExcludeMetadata = function (metadata) {\n if (!this._excludeMetadatas.has(metadata.target)) {\n this._excludeMetadatas.set(metadata.target, new Map());\n }\n this._excludeMetadatas.get(metadata.target).set(metadata.propertyName, metadata);\n };\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n MetadataStorage.prototype.findTransformMetadatas = function (target, propertyName, transformationType) {\n return this.findMetadatas(this._transformMetadatas, target, propertyName).filter(function (metadata) {\n if (!metadata.options)\n return true;\n if (metadata.options.toClassOnly === true && metadata.options.toPlainOnly === true)\n return true;\n if (metadata.options.toClassOnly === true) {\n return (transformationType === TransformationType.CLASS_TO_CLASS ||\n transformationType === TransformationType.PLAIN_TO_CLASS);\n }\n if (metadata.options.toPlainOnly === true) {\n return transformationType === TransformationType.CLASS_TO_PLAIN;\n }\n return true;\n });\n };\n MetadataStorage.prototype.findExcludeMetadata = function (target, propertyName) {\n return this.findMetadata(this._excludeMetadatas, target, propertyName);\n };\n MetadataStorage.prototype.findExposeMetadata = function (target, propertyName) {\n return this.findMetadata(this._exposeMetadatas, target, propertyName);\n };\n MetadataStorage.prototype.findExposeMetadataByCustomName = function (target, name) {\n return this.getExposedMetadatas(target).find(function (metadata) {\n return metadata.options && metadata.options.name === name;\n });\n };\n MetadataStorage.prototype.findTypeMetadata = function (target, propertyName) {\n return this.findMetadata(this._typeMetadatas, target, propertyName);\n };\n MetadataStorage.prototype.getStrategy = function (target) {\n var excludeMap = this._excludeMetadatas.get(target);\n var exclude = excludeMap && excludeMap.get(undefined);\n var exposeMap = this._exposeMetadatas.get(target);\n var expose = exposeMap && exposeMap.get(undefined);\n if ((exclude && expose) || (!exclude && !expose))\n return 'none';\n return exclude ? 'excludeAll' : 'exposeAll';\n };\n MetadataStorage.prototype.getExposedMetadatas = function (target) {\n return this.getMetadata(this._exposeMetadatas, target);\n };\n MetadataStorage.prototype.getExcludedMetadatas = function (target) {\n return this.getMetadata(this._excludeMetadatas, target);\n };\n MetadataStorage.prototype.getExposedProperties = function (target, transformationType) {\n return this.getExposedMetadatas(target)\n .filter(function (metadata) {\n if (!metadata.options)\n return true;\n if (metadata.options.toClassOnly === true && metadata.options.toPlainOnly === true)\n return true;\n if (metadata.options.toClassOnly === true) {\n return (transformationType === TransformationType.CLASS_TO_CLASS ||\n transformationType === TransformationType.PLAIN_TO_CLASS);\n }\n if (metadata.options.toPlainOnly === true) {\n return transformationType === TransformationType.CLASS_TO_PLAIN;\n }\n return true;\n })\n .map(function (metadata) { return metadata.propertyName; });\n };\n MetadataStorage.prototype.getExcludedProperties = function (target, transformationType) {\n return this.getExcludedMetadatas(target)\n .filter(function (metadata) {\n if (!metadata.options)\n return true;\n if (metadata.options.toClassOnly === true && metadata.options.toPlainOnly === true)\n return true;\n if (metadata.options.toClassOnly === true) {\n return (transformationType === TransformationType.CLASS_TO_CLASS ||\n transformationType === TransformationType.PLAIN_TO_CLASS);\n }\n if (metadata.options.toPlainOnly === true) {\n return transformationType === TransformationType.CLASS_TO_PLAIN;\n }\n return true;\n })\n .map(function (metadata) { return metadata.propertyName; });\n };\n MetadataStorage.prototype.clear = function () {\n this._typeMetadatas.clear();\n this._exposeMetadatas.clear();\n this._excludeMetadatas.clear();\n this._ancestorsMap.clear();\n };\n // -------------------------------------------------------------------------\n // Private Methods\n // -------------------------------------------------------------------------\n MetadataStorage.prototype.getMetadata = function (metadatas, target) {\n var metadataFromTargetMap = metadatas.get(target);\n var metadataFromTarget;\n if (metadataFromTargetMap) {\n metadataFromTarget = Array.from(metadataFromTargetMap.values()).filter(function (meta) { return meta.propertyName !== undefined; });\n }\n var metadataFromAncestors = [];\n for (var _i = 0, _a = this.getAncestors(target); _i < _a.length; _i++) {\n var ancestor = _a[_i];\n var ancestorMetadataMap = metadatas.get(ancestor);\n if (ancestorMetadataMap) {\n var metadataFromAncestor = Array.from(ancestorMetadataMap.values()).filter(function (meta) { return meta.propertyName !== undefined; });\n metadataFromAncestors.push.apply(metadataFromAncestors, metadataFromAncestor);\n }\n }\n return metadataFromAncestors.concat(metadataFromTarget || []);\n };\n MetadataStorage.prototype.findMetadata = function (metadatas, target, propertyName) {\n var metadataFromTargetMap = metadatas.get(target);\n if (metadataFromTargetMap) {\n var metadataFromTarget = metadataFromTargetMap.get(propertyName);\n if (metadataFromTarget) {\n return metadataFromTarget;\n }\n }\n for (var _i = 0, _a = this.getAncestors(target); _i < _a.length; _i++) {\n var ancestor = _a[_i];\n var ancestorMetadataMap = metadatas.get(ancestor);\n if (ancestorMetadataMap) {\n var ancestorResult = ancestorMetadataMap.get(propertyName);\n if (ancestorResult) {\n return ancestorResult;\n }\n }\n }\n return undefined;\n };\n MetadataStorage.prototype.findMetadatas = function (metadatas, target, propertyName) {\n var metadataFromTargetMap = metadatas.get(target);\n var metadataFromTarget;\n if (metadataFromTargetMap) {\n metadataFromTarget = metadataFromTargetMap.get(propertyName);\n }\n var metadataFromAncestorsTarget = [];\n for (var _i = 0, _a = this.getAncestors(target); _i < _a.length; _i++) {\n var ancestor = _a[_i];\n var ancestorMetadataMap = metadatas.get(ancestor);\n if (ancestorMetadataMap) {\n if (ancestorMetadataMap.has(propertyName)) {\n metadataFromAncestorsTarget.push.apply(metadataFromAncestorsTarget, ancestorMetadataMap.get(propertyName));\n }\n }\n }\n return metadataFromAncestorsTarget\n .slice()\n .reverse()\n .concat((metadataFromTarget || []).slice().reverse());\n };\n MetadataStorage.prototype.getAncestors = function (target) {\n if (!target)\n return [];\n if (!this._ancestorsMap.has(target)) {\n var ancestors = [];\n for (var baseClass = Object.getPrototypeOf(target.prototype.constructor); typeof baseClass.prototype !== 'undefined'; baseClass = Object.getPrototypeOf(baseClass.prototype.constructor)) {\n ancestors.push(baseClass);\n }\n this._ancestorsMap.set(target, ancestors);\n }\n return this._ancestorsMap.get(target);\n };\n return MetadataStorage;\n}());\nexport { MetadataStorage };\n//# sourceMappingURL=MetadataStorage.js.map","import { MetadataStorage } from './MetadataStorage';\n/**\n * Default metadata storage is used as singleton and can be used to storage all metadatas.\n */\nexport var defaultMetadataStorage = new MetadataStorage();\n//# sourceMappingURL=storage.js.map","/**\n * This function returns the global object across Node and browsers.\n *\n * Note: `globalThis` is the standardized approach however it has been added to\n * Node.js in version 12. We need to include this snippet until Node 12 EOL.\n */\nexport function getGlobal() {\n if (typeof globalThis !== 'undefined') {\n return globalThis;\n }\n if (typeof global !== 'undefined') {\n return global;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Cannot find name 'window'.\n if (typeof window !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Cannot find name 'window'.\n return window;\n }\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Cannot find name 'self'.\n if (typeof self !== 'undefined') {\n // eslint-disable-next-line @typescript-eslint/ban-ts-comment\n // @ts-ignore: Cannot find name 'self'.\n return self;\n }\n}\n//# sourceMappingURL=get-global.util.js.map","export function isPromise(p) {\n return p !== null && typeof p === 'object' && typeof p.then === 'function';\n}\n//# sourceMappingURL=is-promise.util.js.map","var __spreadArray = (this && this.__spreadArray) || function (to, from, pack) {\n if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {\n if (ar || !(i in from)) {\n if (!ar) ar = Array.prototype.slice.call(from, 0, i);\n ar[i] = from[i];\n }\n }\n return to.concat(ar || Array.prototype.slice.call(from));\n};\nimport { defaultMetadataStorage } from './storage';\nimport { TransformationType } from './enums';\nimport { getGlobal, isPromise } from './utils';\nfunction instantiateArrayType(arrayType) {\n var array = new arrayType();\n if (!(array instanceof Set) && !('push' in array)) {\n return [];\n }\n return array;\n}\nvar TransformOperationExecutor = /** @class */ (function () {\n // -------------------------------------------------------------------------\n // Constructor\n // -------------------------------------------------------------------------\n function TransformOperationExecutor(transformationType, options) {\n this.transformationType = transformationType;\n this.options = options;\n // -------------------------------------------------------------------------\n // Private Properties\n // -------------------------------------------------------------------------\n this.recursionStack = new Set();\n }\n // -------------------------------------------------------------------------\n // Public Methods\n // -------------------------------------------------------------------------\n TransformOperationExecutor.prototype.transform = function (source, value, targetType, arrayType, isMap, level) {\n var _this = this;\n if (level === void 0) { level = 0; }\n if (Array.isArray(value) || value instanceof Set) {\n var newValue_1 = arrayType && this.transformationType === TransformationType.PLAIN_TO_CLASS\n ? instantiateArrayType(arrayType)\n : [];\n value.forEach(function (subValue, index) {\n var subSource = source ? source[index] : undefined;\n if (!_this.options.enableCircularCheck || !_this.isCircular(subValue)) {\n var realTargetType = void 0;\n if (typeof targetType !== 'function' &&\n targetType &&\n targetType.options &&\n targetType.options.discriminator &&\n targetType.options.discriminator.property &&\n targetType.options.discriminator.subTypes) {\n if (_this.transformationType === TransformationType.PLAIN_TO_CLASS) {\n realTargetType = targetType.options.discriminator.subTypes.find(function (subType) {\n return subType.name === subValue[targetType.options.discriminator.property];\n });\n var options = { newObject: newValue_1, object: subValue, property: undefined };\n var newType = targetType.typeFunction(options);\n realTargetType === undefined ? (realTargetType = newType) : (realTargetType = realTargetType.value);\n if (!targetType.options.keepDiscriminatorProperty)\n delete subValue[targetType.options.discriminator.property];\n }\n if (_this.transformationType === TransformationType.CLASS_TO_CLASS) {\n realTargetType = subValue.constructor;\n }\n if (_this.transformationType === TransformationType.CLASS_TO_PLAIN) {\n subValue[targetType.options.discriminator.property] = targetType.options.discriminator.subTypes.find(function (subType) { return subType.value === subValue.constructor; }).name;\n }\n }\n else {\n realTargetType = targetType;\n }\n var value_1 = _this.transform(subSource, subValue, realTargetType, undefined, subValue instanceof Map, level + 1);\n if (newValue_1 instanceof Set) {\n newValue_1.add(value_1);\n }\n else {\n newValue_1.push(value_1);\n }\n }\n else if (_this.transformationType === TransformationType.CLASS_TO_CLASS) {\n if (newValue_1 instanceof Set) {\n newValue_1.add(subValue);\n }\n else {\n newValue_1.push(subValue);\n }\n }\n });\n return newValue_1;\n }\n else if (targetType === String && !isMap) {\n if (value === null || value === undefined)\n return value;\n return String(value);\n }\n else if (targetType === Number && !isMap) {\n if (value === null || value === undefined)\n return value;\n return Number(value);\n }\n else if (targetType === Boolean && !isMap) {\n if (value === null || value === undefined)\n return value;\n return Boolean(value);\n }\n else if ((targetType === Date || value instanceof Date) && !isMap) {\n if (value instanceof Date) {\n return new Date(value.valueOf());\n }\n if (value === null || value === undefined)\n return value;\n return new Date(value);\n }\n else if (!!getGlobal().Buffer && (targetType === Buffer || value instanceof Buffer) && !isMap) {\n if (value === null || value === undefined)\n return value;\n return Buffer.from(value);\n }\n else if (isPromise(value) && !isMap) {\n return new Promise(function (resolve, reject) {\n value.then(function (data) { return resolve(_this.transform(undefined, data, targetType, undefined, undefined, level + 1)); }, reject);\n });\n }\n else if (!isMap && value !== null && typeof value === 'object' && typeof value.then === 'function') {\n // Note: We should not enter this, as promise has been handled above\n // This option simply returns the Promise preventing a JS error from happening and should be an inaccessible path.\n return value; // skip promise transformation\n }\n else if (typeof value === 'object' && value !== null) {\n // try to guess the type\n if (!targetType && value.constructor !== Object /* && TransformationType === TransformationType.CLASS_TO_PLAIN*/)\n if (!Array.isArray(value) && value.constructor === Array) {\n // Somebody attempts to convert special Array like object to Array, eg:\n // const evilObject = { '100000000': '100000000', __proto__: [] };\n // This could be used to cause Denial-of-service attack so we don't allow it.\n // See prevent-array-bomb.spec.ts for more details.\n }\n else {\n // We are good we can use the built-in constructor\n targetType = value.constructor;\n }\n if (!targetType && source)\n targetType = source.constructor;\n if (this.options.enableCircularCheck) {\n // add transformed type to prevent circular references\n this.recursionStack.add(value);\n }\n var keys = this.getKeys(targetType, value, isMap);\n var newValue = source ? source : {};\n if (!source &&\n (this.transformationType === TransformationType.PLAIN_TO_CLASS ||\n this.transformationType === TransformationType.CLASS_TO_CLASS)) {\n if (isMap) {\n newValue = new Map();\n }\n else if (targetType) {\n newValue = new targetType();\n }\n else {\n newValue = {};\n }\n }\n var _loop_1 = function (key) {\n if (key === '__proto__' || key === 'constructor') {\n return \"continue\";\n }\n var valueKey = key;\n var newValueKey = key, propertyName = key;\n if (!this_1.options.ignoreDecorators && targetType) {\n if (this_1.transformationType === TransformationType.PLAIN_TO_CLASS) {\n var exposeMetadata = defaultMetadataStorage.findExposeMetadataByCustomName(targetType, key);\n if (exposeMetadata) {\n propertyName = exposeMetadata.propertyName;\n newValueKey = exposeMetadata.propertyName;\n }\n }\n else if (this_1.transformationType === TransformationType.CLASS_TO_PLAIN ||\n this_1.transformationType === TransformationType.CLASS_TO_CLASS) {\n var exposeMetadata = defaultMetadataStorage.findExposeMetadata(targetType, key);\n if (exposeMetadata && exposeMetadata.options && exposeMetadata.options.name) {\n newValueKey = exposeMetadata.options.name;\n }\n }\n }\n // get a subvalue\n var subValue = undefined;\n if (this_1.transformationType === TransformationType.PLAIN_TO_CLASS) {\n /**\n * This section is added for the following report:\n * https://github.com/typestack/class-transformer/issues/596\n *\n * We should not call functions or constructors when transforming to class.\n */\n subValue = value[valueKey];\n }\n else {\n if (value instanceof Map) {\n subValue = value.get(valueKey);\n }\n else if (value[valueKey] instanceof Function) {\n subValue = value[valueKey]();\n }\n else {\n subValue = value[valueKey];\n }\n }\n // determine a type\n var type = undefined, isSubValueMap = subValue instanceof Map;\n if (targetType && isMap) {\n type = targetType;\n }\n else if (targetType) {\n var metadata_1 = defaultMetadataStorage.findTypeMetadata(targetType, propertyName);\n if (metadata_1) {\n var options = { newObject: newValue, object: value, property: propertyName };\n var newType = metadata_1.typeFunction ? metadata_1.typeFunction(options) : metadata_1.reflectedType;\n if (metadata_1.options &&\n metadata_1.options.discriminator &&\n metadata_1.options.discriminator.property &&\n metadata_1.options.discriminator.subTypes) {\n if (!(value[valueKey] instanceof Array)) {\n if (this_1.transformationType === TransformationType.PLAIN_TO_CLASS) {\n type = metadata_1.options.discriminator.subTypes.find(function (subType) {\n if (subValue && subValue instanceof Object && metadata_1.options.discriminator.property in subValue) {\n return subType.name === subValue[metadata_1.options.discriminator.property];\n }\n });\n type === undefined ? (type = newType) : (type = type.value);\n if (!metadata_1.options.keepDiscriminatorProperty) {\n if (subValue && subValue instanceof Object && metadata_1.options.discriminator.property in subValue) {\n delete subValue[metadata_1.options.discriminator.property];\n }\n }\n }\n if (this_1.transformationType === TransformationType.CLASS_TO_CLASS) {\n type = subValue.constructor;\n }\n if (this_1.transformationType === TransformationType.CLASS_TO_PLAIN) {\n if (subValue) {\n subValue[metadata_1.options.discriminator.property] = metadata_1.options.discriminator.subTypes.find(function (subType) { return subType.value === subValue.constructor; }).name;\n }\n }\n }\n else {\n type = metadata_1;\n }\n }\n else {\n type = newType;\n }\n isSubValueMap = isSubValueMap || metadata_1.reflectedType === Map;\n }\n else if (this_1.options.targetMaps) {\n // try to find a type in target maps\n this_1.options.targetMaps\n .filter(function (map) { return map.target === targetType && !!map.properties[propertyName]; })\n .forEach(function (map) { return (type = map.properties[propertyName]); });\n }\n else if (this_1.options.enableImplicitConversion &&\n this_1.transformationType === TransformationType.PLAIN_TO_CLASS) {\n // if we have no registererd type via the @Type() decorator then we check if we have any\n // type declarations in reflect-metadata (type declaration is emited only if some decorator is added to the property.)\n var reflectedType = Reflect.getMetadata('design:type', targetType.prototype, propertyName);\n if (reflectedType) {\n type = reflectedType;\n }\n }\n }\n // if value is an array try to get its custom array type\n var arrayType_1 = Array.isArray(value[valueKey])\n ? this_1.getReflectedType(targetType, propertyName)\n : undefined;\n // const subValueKey = TransformationType === TransformationType.PLAIN_TO_CLASS && newKeyName ? newKeyName : key;\n var subSource = source ? source[valueKey] : undefined;\n // if its deserialization then type if required\n // if we uncomment this types like string[] will not work\n // if (this.transformationType === TransformationType.PLAIN_TO_CLASS && !type && subValue instanceof Object && !(subValue instanceof Date))\n // throw new Error(`Cannot determine type for ${(targetType as any).name }.${propertyName}, did you forget to specify a @Type?`);\n // if newValue is a source object that has method that match newKeyName then skip it\n if (newValue.constructor.prototype) {\n var descriptor = Object.getOwnPropertyDescriptor(newValue.constructor.prototype, newValueKey);\n if ((this_1.transformationType === TransformationType.PLAIN_TO_CLASS ||\n this_1.transformationType === TransformationType.CLASS_TO_CLASS) &&\n // eslint-disable-next-line @typescript-eslint/unbound-method\n ((descriptor && !descriptor.set) || newValue[newValueKey] instanceof Function))\n return \"continue\";\n }\n if (!this_1.options.enableCircularCheck || !this_1.isCircular(subValue)) {\n var transformKey = this_1.transformationType === TransformationType.PLAIN_TO_CLASS ? newValueKey : key;\n var finalValue = void 0;\n if (this_1.transformationType === TransformationType.CLASS_TO_PLAIN) {\n // Get original value\n finalValue = value[transformKey];\n // Apply custom transformation\n finalValue = this_1.applyCustomTransformations(finalValue, targetType, transformKey, value, this_1.transformationType);\n // If nothing change, it means no custom transformation was applied, so use the subValue.\n finalValue = value[transformKey] === finalValue ? subValue : finalValue;\n // Apply the default transformation\n finalValue = this_1.transform(subSource, finalValue, type, arrayType_1, isSubValueMap, level + 1);\n }\n else {\n if (subValue === undefined && this_1.options.exposeDefaultValues) {\n // Set default value if nothing provided\n finalValue = newValue[newValueKey];\n }\n else {\n finalValue = this_1.transform(subSource, subValue, type, arrayType_1, isSubValueMap, level + 1);\n finalValue = this_1.applyCustomTransformations(finalValue, targetType, transformKey, value, this_1.transformationType);\n }\n }\n if (finalValue !== undefined || this_1.options.exposeUnsetFields) {\n if (newValue instanceof Map) {\n newValue.set(newValueKey, finalValue);\n }\n else {\n newValue[newValueKey] = finalValue;\n }\n }\n }\n else if (this_1.transformationType === TransformationType.CLASS_TO_CLASS) {\n var finalValue = subValue;\n finalValue = this_1.applyCustomTransformations(finalValue, targetType, key, value, this_1.transformationType);\n if (finalValue !== undefined || this_1.options.exposeUnsetFields) {\n if (newValue instanceof Map) {\n newValue.set(newValueKey, finalValue);\n }\n else {\n newValue[newValueKey] = finalValue;\n }\n }\n }\n };\n var this_1 = this;\n // traverse over keys\n for (var _i = 0, keys_1 = keys; _i < keys_1.length; _i++) {\n var key = keys_1[_i];\n _loop_1(key);\n }\n if (this.options.enableCircularCheck) {\n this.recursionStack.delete(value);\n }\n return newValue;\n }\n else {\n return value;\n }\n };\n TransformOperationExecutor.prototype.applyCustomTransformations = function (value, target, key, obj, transformationType) {\n var _this = this;\n var metadatas = defaultMetadataStorage.findTransformMetadatas(target, key, this.transformationType);\n // apply versioning options\n if (this.options.version !== undefined) {\n metadatas = metadatas.filter(function (metadata) {\n if (!metadata.options)\n return true;\n return _this.checkVersion(metadata.options.since, metadata.options.until);\n });\n }\n // apply grouping options\n if (this.options.groups && this.options.groups.length) {\n metadatas = metadatas.filter(function (metadata) {\n if (!metadata.options)\n return true;\n return _this.checkGroups(metadata.options.groups);\n });\n }\n else {\n metadatas = metadatas.filter(function (metadata) {\n return !metadata.options || !metadata.options.groups || !metadata.options.groups.length;\n });\n }\n metadatas.forEach(function (metadata) {\n value = metadata.transformFn({ value: value, key: key, obj: obj, type: transformationType, options: _this.options });\n });\n return value;\n };\n // preventing circular references\n TransformOperationExecutor.prototype.isCircular = function (object) {\n return this.recursionStack.has(object);\n };\n TransformOperationExecutor.prototype.getReflectedType = function (target, propertyName) {\n if (!target)\n return undefined;\n var meta = defaultMetadataStorage.findTypeMetadata(target, propertyName);\n return meta ? meta.reflectedType : undefined;\n };\n TransformOperationExecutor.prototype.getKeys = function (target, object, isMap) {\n var _this = this;\n // determine exclusion strategy\n var strategy = defaultMetadataStorage.getStrategy(target);\n if (strategy === 'none')\n strategy = this.options.strategy || 'exposeAll'; // exposeAll is default strategy\n // get all keys that need to expose\n var keys = [];\n if (strategy === 'exposeAll' || isMap) {\n if (object instanceof Map) {\n keys = Array.from(object.keys());\n }\n else {\n keys = Object.keys(object);\n }\n }\n if (isMap) {\n // expose & exclude do not apply for map keys only to fields\n return keys;\n }\n /**\n * If decorators are ignored but we don't want the extraneous values, then we use the\n * metadata to decide which property is needed, but doesn't apply the decorator effect.\n */\n if (this.options.ignoreDecorators && this.options.excludeExtraneousValues && target) {\n var exposedProperties = defaultMetadataStorage.getExposedProperties(target, this.transformationType);\n var excludedProperties = defaultMetadataStorage.getExcludedProperties(target, this.transformationType);\n keys = __spreadArray(__spreadArray([], exposedProperties, true), excludedProperties, true);\n }\n if (!this.options.ignoreDecorators && target) {\n // add all exposed to list of keys\n var exposedProperties = defaultMetadataStorage.getExposedProperties(target, this.transformationType);\n if (this.transformationType === TransformationType.PLAIN_TO_CLASS) {\n exposedProperties = exposedProperties.map(function (key) {\n var exposeMetadata = defaultMetadataStorage.findExposeMetadata(target, key);\n if (exposeMetadata && exposeMetadata.options && exposeMetadata.options.name) {\n return exposeMetadata.options.name;\n }\n return key;\n });\n }\n if (this.options.excludeExtraneousValues) {\n keys = exposedProperties;\n }\n else {\n keys = keys.concat(exposedProperties);\n }\n // exclude excluded properties\n var excludedProperties_1 = defaultMetadataStorage.getExcludedProperties(target, this.transformationType);\n if (excludedProperties_1.length > 0) {\n keys = keys.filter(function (key) {\n return !excludedProperties_1.includes(key);\n });\n }\n // apply versioning options\n if (this.options.version !== undefined) {\n keys = keys.filter(function (key) {\n var exposeMetadata = defaultMetadataStorage.findExposeMetadata(target, key);\n if (!exposeMetadata || !exposeMetadata.options)\n return true;\n return _this.checkVersion(exposeMetadata.options.since, exposeMetadata.options.until);\n });\n }\n // apply grouping options\n if (this.options.groups && this.options.groups.length) {\n keys = keys.filter(function (key) {\n var exposeMetadata = defaultMetadataStorage.findExposeMetadata(target, key);\n if (!exposeMetadata || !exposeMetadata.options)\n return true;\n return _this.checkGroups(exposeMetadata.options.groups);\n });\n }\n else {\n keys = keys.filter(function (key) {\n var exposeMetadata = defaultMetadataStorage.findExposeMetadata(target, key);\n return (!exposeMetadata ||\n !exposeMetadata.options ||\n !exposeMetadata.options.groups ||\n !exposeMetadata.options.groups.length);\n });\n }\n }\n // exclude prefixed properties\n if (this.options.excludePrefixes && this.options.excludePrefixes.length) {\n keys = keys.filter(function (key) {\n return _this.options.excludePrefixes.every(function (prefix) {\n return key.substr(0, prefix.length) !== prefix;\n });\n });\n }\n // make sure we have unique keys\n keys = keys.filter(function (key, index, self) {\n return self.indexOf(key) === index;\n });\n return keys;\n };\n TransformOperationExecutor.prototype.checkVersion = function (since, until) {\n var decision = true;\n if (decision && since)\n decision = this.options.version >= since;\n if (decision && until)\n decision = this.options.version < until;\n return decision;\n };\n TransformOperationExecutor.prototype.checkGroups = function (groups) {\n if (!groups)\n return true;\n return this.options.groups.some(function (optionGroup) { return groups.includes(optionGroup); });\n };\n return TransformOperationExecutor;\n}());\nexport { TransformOperationExecutor };\n//# sourceMappingURL=TransformOperationExecutor.js.map","/**\n * These are the default options used by any transformation operation.\n */\nexport var defaultOptions = {\n enableCircularCheck: false,\n enableImplicitConversion: false,\n excludeExtraneousValues: false,\n excludePrefixes: undefined,\n exposeDefaultValues: false,\n exposeUnsetFields: true,\n groups: undefined,\n ignoreDecorators: false,\n strategy: undefined,\n targetMaps: undefined,\n version: undefined,\n};\n//# sourceMappingURL=default-options.constant.js.map","var __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nimport { TransformOperationExecutor } from './TransformOperationExecutor';\nimport { TransformationType } from './enums';\nimport { defaultOptions } from './constants/default-options.constant';\nvar ClassTransformer = /** @class */ (function () {\n function ClassTransformer() {\n }\n ClassTransformer.prototype.instanceToPlain = function (object, options) {\n var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_PLAIN, __assign(__assign({}, defaultOptions), options));\n return executor.transform(undefined, object, undefined, undefined, undefined, undefined);\n };\n ClassTransformer.prototype.classToPlainFromExist = function (object, plainObject, options) {\n var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_PLAIN, __assign(__assign({}, defaultOptions), options));\n return executor.transform(plainObject, object, undefined, undefined, undefined, undefined);\n };\n ClassTransformer.prototype.plainToInstance = function (cls, plain, options) {\n var executor = new TransformOperationExecutor(TransformationType.PLAIN_TO_CLASS, __assign(__assign({}, defaultOptions), options));\n return executor.transform(undefined, plain, cls, undefined, undefined, undefined);\n };\n ClassTransformer.prototype.plainToClassFromExist = function (clsObject, plain, options) {\n var executor = new TransformOperationExecutor(TransformationType.PLAIN_TO_CLASS, __assign(__assign({}, defaultOptions), options));\n return executor.transform(clsObject, plain, undefined, undefined, undefined, undefined);\n };\n ClassTransformer.prototype.instanceToInstance = function (object, options) {\n var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_CLASS, __assign(__assign({}, defaultOptions), options));\n return executor.transform(undefined, object, undefined, undefined, undefined, undefined);\n };\n ClassTransformer.prototype.classToClassFromExist = function (object, fromObject, options) {\n var executor = new TransformOperationExecutor(TransformationType.CLASS_TO_CLASS, __assign(__assign({}, defaultOptions), options));\n return executor.transform(fromObject, object, undefined, undefined, undefined, undefined);\n };\n ClassTransformer.prototype.serialize = function (object, options) {\n return JSON.stringify(this.instanceToPlain(object, options));\n };\n /**\n * Deserializes given JSON string to a object of the given class.\n */\n ClassTransformer.prototype.deserialize = function (cls, json, options) {\n var jsonObject = JSON.parse(json);\n return this.plainToInstance(cls, jsonObject, options);\n };\n /**\n * Deserializes given JSON string to an array of objects of the given class.\n */\n ClassTransformer.prototype.deserializeArray = function (cls, json, options) {\n var jsonObject = JSON.parse(json);\n return this.plainToInstance(cls, jsonObject, options);\n };\n return ClassTransformer;\n}());\nexport { ClassTransformer };\n//# sourceMappingURL=ClassTransformer.js.map","import { defaultMetadataStorage } from '../storage';\n/**\n * Marks the given class or property as excluded. By default the property is excluded in both\n * constructorToPlain and plainToConstructor transformations. It can be limited to only one direction\n * via using the `toPlainOnly` or `toClassOnly` option.\n *\n * Can be applied to class definitions and properties.\n */\nexport function Exclude(options) {\n if (options === void 0) { options = {}; }\n /**\n * NOTE: The `propertyName` property must be marked as optional because\n * this decorator used both as a class and a property decorator and the\n * Typescript compiler will freak out if we make it mandatory as a class\n * decorator only receives one parameter.\n */\n return function (object, propertyName) {\n defaultMetadataStorage.addExcludeMetadata({\n target: object instanceof Function ? object : object.constructor,\n propertyName: propertyName,\n options: options,\n });\n };\n}\n//# sourceMappingURL=exclude.decorator.js.map","import { defaultMetadataStorage } from '../storage';\n/**\n * Marks the given class or property as included. By default the property is included in both\n * constructorToPlain and plainToConstructor transformations. It can be limited to only one direction\n * via using the `toPlainOnly` or `toClassOnly` option.\n *\n * Can be applied to class definitions and properties.\n */\nexport function Expose(options) {\n if (options === void 0) { options = {}; }\n /**\n * NOTE: The `propertyName` property must be marked as optional because\n * this decorator used both as a class and a property decorator and the\n * Typescript compiler will freak out if we make it mandatory as a class\n * decorator only receives one parameter.\n */\n return function (object, propertyName) {\n defaultMetadataStorage.addExposeMetadata({\n target: object instanceof Function ? object : object.constructor,\n propertyName: propertyName,\n options: options,\n });\n };\n}\n//# sourceMappingURL=expose.decorator.js.map","import { ClassTransformer } from '../ClassTransformer';\n/**\n * Return the class instance only with the exposed properties.\n *\n * Can be applied to functions and getters/setters only.\n */\nexport function TransformInstanceToInstance(params) {\n return function (target, propertyKey, descriptor) {\n var classTransformer = new ClassTransformer();\n var originalMethod = descriptor.value;\n descriptor.value = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var result = originalMethod.apply(this, args);\n var isPromise = !!result && (typeof result === 'object' || typeof result === 'function') && typeof result.then === 'function';\n return isPromise\n ? result.then(function (data) { return classTransformer.instanceToInstance(data, params); })\n : classTransformer.instanceToInstance(result, params);\n };\n };\n}\n//# sourceMappingURL=transform-instance-to-instance.decorator.js.map","import { ClassTransformer } from '../ClassTransformer';\n/**\n * Transform the object from class to plain object and return only with the exposed properties.\n *\n * Can be applied to functions and getters/setters only.\n */\nexport function TransformInstanceToPlain(params) {\n return function (target, propertyKey, descriptor) {\n var classTransformer = new ClassTransformer();\n var originalMethod = descriptor.value;\n descriptor.value = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var result = originalMethod.apply(this, args);\n var isPromise = !!result && (typeof result === 'object' || typeof result === 'function') && typeof result.then === 'function';\n return isPromise\n ? result.then(function (data) { return classTransformer.instanceToPlain(data, params); })\n : classTransformer.instanceToPlain(result, params);\n };\n };\n}\n//# sourceMappingURL=transform-instance-to-plain.decorator.js.map","import { ClassTransformer } from '../ClassTransformer';\n/**\n * Return the class instance only with the exposed properties.\n *\n * Can be applied to functions and getters/setters only.\n */\nexport function TransformPlainToInstance(classType, params) {\n return function (target, propertyKey, descriptor) {\n var classTransformer = new ClassTransformer();\n var originalMethod = descriptor.value;\n descriptor.value = function () {\n var args = [];\n for (var _i = 0; _i < arguments.length; _i++) {\n args[_i] = arguments[_i];\n }\n var result = originalMethod.apply(this, args);\n var isPromise = !!result && (typeof result === 'object' || typeof result === 'function') && typeof result.then === 'function';\n return isPromise\n ? result.then(function (data) { return classTransformer.plainToInstance(classType, data, params); })\n : classTransformer.plainToInstance(classType, result, params);\n };\n };\n}\n//# sourceMappingURL=transform-plain-to-instance.decorator.js.map","import { defaultMetadataStorage } from '../storage';\n/**\n * Defines a custom logic for value transformation.\n *\n * Can be applied to properties only.\n */\nexport function Transform(transformFn, options) {\n if (options === void 0) { options = {}; }\n return function (target, propertyName) {\n defaultMetadataStorage.addTransformMetadata({\n target: target.constructor,\n propertyName: propertyName,\n transformFn: transformFn,\n options: options,\n });\n };\n}\n//# sourceMappingURL=transform.decorator.js.map","import { defaultMetadataStorage } from '../storage';\n/**\n * Specifies a type of the property.\n * The given TypeFunction can return a constructor. A discriminator can be given in the options.\n *\n * Can be applied to properties only.\n */\nexport function Type(typeFunction, options) {\n if (options === void 0) { options = {}; }\n return function (target, propertyName) {\n var reflectedType = Reflect.getMetadata('design:type', target, propertyName);\n defaultMetadataStorage.addTypeMetadata({\n target: target.constructor,\n propertyName: propertyName,\n reflectedType: reflectedType,\n typeFunction: typeFunction,\n options: options,\n });\n };\n}\n//# sourceMappingURL=type.decorator.js.map","import { ClassTransformer } from './ClassTransformer';\nexport { ClassTransformer } from './ClassTransformer';\nexport * from './decorators';\nexport * from './interfaces';\nexport * from './enums';\nvar classTransformer = new ClassTransformer();\nexport function classToPlain(object, options) {\n return classTransformer.instanceToPlain(object, options);\n}\nexport function instanceToPlain(object, options) {\n return classTransformer.instanceToPlain(object, options);\n}\nexport function classToPlainFromExist(object, plainObject, options) {\n return classTransformer.classToPlainFromExist(object, plainObject, options);\n}\nexport function plainToClass(cls, plain, options) {\n return classTransformer.plainToInstance(cls, plain, options);\n}\nexport function plainToInstance(cls, plain, options) {\n return classTransformer.plainToInstance(cls, plain, options);\n}\nexport function plainToClassFromExist(clsObject, plain, options) {\n return classTransformer.plainToClassFromExist(clsObject, plain, options);\n}\nexport function instanceToInstance(object, options) {\n return classTransformer.instanceToInstance(object, options);\n}\nexport function classToClassFromExist(object, fromObject, options) {\n return classTransformer.classToClassFromExist(object, fromObject, options);\n}\nexport function serialize(object, options) {\n return classTransformer.serialize(object, options);\n}\n/**\n * Deserializes given JSON string to a object of the given class.\n *\n * @deprecated This function is being removed. Please use the following instead:\n * ```\n * instanceToClass(cls, JSON.parse(json), options)\n * ```\n */\nexport function deserialize(cls, json, options) {\n return classTransformer.deserialize(cls, json, options);\n}\n/**\n * Deserializes given JSON string to an array of objects of the given class.\n *\n * @deprecated This function is being removed. Please use the following instead:\n * ```\n * JSON.parse(json).map(value => instanceToClass(cls, value, options))\n * ```\n *\n */\nexport function deserializeArray(cls, json, options) {\n return classTransformer.deserializeArray(cls, json, options);\n}\n//# sourceMappingURL=index.js.map","import { NodeSearchService } from '@/services/nodeSearchService'\nimport { ComfyNodeDef } from '@/types/apiTypes'\nimport { defineStore } from 'pinia'\nimport { Type, Transform, plainToClass, Expose } from 'class-transformer'\nimport { ComfyWidgetConstructor } from '@/scripts/widgets'\nimport { TreeNode } from 'primevue/treenode'\nimport { buildTree } from '@/utils/treeUtil'\n\nexport class BaseInputSpec {\n name: string\n type: string\n tooltip?: string\n default?: T\n\n @Type(() => Boolean)\n forceInput?: boolean\n\n static isInputSpec(obj: any): boolean {\n return (\n Array.isArray(obj) &&\n obj.length >= 1 &&\n (typeof obj[0] === 'string' || Array.isArray(obj[0]))\n )\n }\n}\n\nexport class NumericInputSpec extends BaseInputSpec {\n @Type(() => Number)\n min?: number\n\n @Type(() => Number)\n max?: number\n\n @Type(() => Number)\n step?: number\n}\n\nexport class IntInputSpec extends NumericInputSpec {\n type: 'INT' = 'INT'\n}\n\nexport class FloatInputSpec extends NumericInputSpec {\n type: 'FLOAT' = 'FLOAT'\n\n @Type(() => Number)\n round?: number\n}\n\nexport class BooleanInputSpec extends BaseInputSpec {\n type: 'BOOLEAN' = 'BOOLEAN'\n\n labelOn?: string\n labelOff?: string\n}\n\nexport class StringInputSpec extends BaseInputSpec {\n type: 'STRING' = 'STRING'\n\n @Type(() => Boolean)\n multiline?: boolean\n\n @Type(() => Boolean)\n dynamicPrompts?: boolean\n}\n\nexport class ComboInputSpec extends BaseInputSpec {\n type: string = 'COMBO'\n\n @Transform(({ value }) => value[0])\n comboOptions: any[]\n\n @Type(() => Boolean)\n controlAfterGenerate?: boolean\n\n @Type(() => Boolean)\n imageUpload?: boolean\n}\n\nexport class CustomInputSpec extends BaseInputSpec {}\n\nexport class ComfyInputsSpec {\n @Transform(({ value }) => ComfyInputsSpec.transformInputSpecRecord(value))\n required: Record = {}\n\n @Transform(({ value }) => ComfyInputsSpec.transformInputSpecRecord(value))\n optional: Record = {}\n\n hidden?: Record\n\n private static transformInputSpecRecord(\n record: Record\n ): Record {\n if (!record) return record\n const result: Record = {}\n for (const [key, value] of Object.entries(record)) {\n result[key] = ComfyInputsSpec.transformSingleInputSpec(key, value)\n }\n return result\n }\n\n private static transformSingleInputSpec(\n name: string,\n value: any\n ): BaseInputSpec {\n if (!BaseInputSpec.isInputSpec(value)) return value\n\n const [typeRaw, _spec] = value\n const spec = _spec ?? {}\n const type = Array.isArray(typeRaw) ? 'COMBO' : value[0]\n\n switch (type) {\n case 'INT':\n return plainToClass(IntInputSpec, { name, type, ...spec })\n case 'FLOAT':\n return plainToClass(FloatInputSpec, { name, type, ...spec })\n case 'BOOLEAN':\n return plainToClass(BooleanInputSpec, { name, type, ...spec })\n case 'STRING':\n return plainToClass(StringInputSpec, { name, type, ...spec })\n case 'COMBO':\n return plainToClass(ComboInputSpec, {\n name,\n type,\n ...spec,\n comboOptions: typeRaw,\n default: spec.default ?? typeRaw[0]\n })\n default:\n return plainToClass(CustomInputSpec, { name, type, ...spec })\n }\n }\n\n get all() {\n return [...Object.values(this.required), ...Object.values(this.optional)]\n }\n\n getInput(name: string): BaseInputSpec | undefined {\n return this.required[name] ?? this.optional[name]\n }\n}\n\nexport class ComfyOutputSpec {\n constructor(\n public index: number,\n // Name is not unique for output params\n public name: string,\n public type: string,\n public is_list: boolean,\n public comboOptions?: any[],\n public tooltip?: string\n ) {}\n}\n\nexport class ComfyOutputsSpec {\n constructor(public outputs: ComfyOutputSpec[]) {}\n\n get all() {\n return this.outputs\n }\n}\n\nexport class ComfyNodeDefImpl {\n name: string\n display_name: string\n category: string\n python_module: string\n description: string\n\n @Transform(({ value, obj }) => value ?? obj.category === '', {\n toClassOnly: true\n })\n @Type(() => Boolean)\n @Expose()\n deprecated: boolean\n\n @Transform(\n ({ value, obj }) => value ?? obj.category.startsWith('_for_testing'),\n {\n toClassOnly: true\n }\n )\n @Type(() => Boolean)\n @Expose()\n experimental: boolean\n\n @Type(() => ComfyInputsSpec)\n input: ComfyInputsSpec\n\n @Transform(({ obj }) => ComfyNodeDefImpl.transformOutputSpec(obj))\n output: ComfyOutputsSpec\n\n private static transformOutputSpec(obj: any): ComfyOutputsSpec {\n const { output, output_is_list, output_name, output_tooltips } = obj\n const result = output.map((type: string | any[], index: number) => {\n const typeString = Array.isArray(type) ? 'COMBO' : type\n\n return new ComfyOutputSpec(\n index,\n output_name[index],\n typeString,\n output_is_list[index],\n Array.isArray(type) ? type : undefined,\n output_tooltips?.[index]\n )\n })\n return new ComfyOutputsSpec(result)\n }\n\n get nodePath(): string {\n return (this.category ? this.category + '/' : '') + this.display_name\n }\n\n get isDummyFolder(): boolean {\n return this.name === ''\n }\n}\n\nexport const SYSTEM_NODE_DEFS: Record = {\n PrimitiveNode: {\n name: 'PrimitiveNode',\n display_name: 'Primitive',\n category: 'utils',\n input: { required: {}, optional: {} },\n output: ['*'],\n output_name: ['connect to widget input'],\n output_is_list: [false],\n python_module: 'nodes',\n description: 'Primitive values like numbers, strings, and booleans.'\n },\n Reroute: {\n name: 'Reroute',\n display_name: 'Reroute',\n category: 'utils',\n input: { required: { '': ['*'] }, optional: {} },\n output: ['*'],\n output_name: [''],\n output_is_list: [false],\n python_module: 'nodes',\n description: 'Reroute the connection to another node.'\n },\n Note: {\n name: 'Note',\n display_name: 'Note',\n category: 'utils',\n input: { required: {}, optional: {} },\n output: [],\n output_name: [],\n output_is_list: [],\n python_module: 'nodes',\n description: 'Node that add notes to your project'\n }\n}\n\nexport function buildNodeDefTree(nodeDefs: ComfyNodeDefImpl[]): TreeNode {\n return buildTree(nodeDefs, (nodeDef: ComfyNodeDefImpl) =>\n nodeDef.nodePath.split('/')\n )\n}\n\nexport function createDummyFolderNodeDef(folderPath: string): ComfyNodeDefImpl {\n return plainToClass(ComfyNodeDefImpl, {\n name: '',\n display_name: '',\n category: folderPath.endsWith('/') ? folderPath.slice(0, -1) : folderPath,\n python_module: 'nodes',\n description: 'Dummy Folder Node (User should never see this string)'\n })\n}\n\ninterface State {\n nodeDefsByName: Record\n nodeDefsByDisplayName: Record\n widgets: Record\n showDeprecated: boolean\n showExperimental: boolean\n}\n\nexport const useNodeDefStore = defineStore('nodeDef', {\n state: (): State => ({\n nodeDefsByName: {},\n nodeDefsByDisplayName: {},\n widgets: {},\n showDeprecated: false,\n showExperimental: false\n }),\n getters: {\n nodeDefs(state) {\n return Object.values(state.nodeDefsByName)\n },\n // Node defs that are not deprecated\n visibleNodeDefs(state): ComfyNodeDefImpl[] {\n return this.nodeDefs.filter(\n (nodeDef: ComfyNodeDefImpl) =>\n (state.showDeprecated || !nodeDef.deprecated) &&\n (state.showExperimental || !nodeDef.experimental)\n )\n },\n nodeSearchService() {\n return new NodeSearchService(this.visibleNodeDefs)\n },\n nodeTree(): TreeNode {\n return buildNodeDefTree(this.visibleNodeDefs)\n }\n },\n actions: {\n updateNodeDefs(nodeDefs: ComfyNodeDef[]) {\n const newNodeDefsByName: { [key: string]: ComfyNodeDefImpl } = {}\n const nodeDefsByDisplayName: { [key: string]: ComfyNodeDefImpl } = {}\n for (const nodeDef of nodeDefs) {\n const nodeDefImpl = plainToClass(ComfyNodeDefImpl, nodeDef)\n newNodeDefsByName[nodeDef.name] = nodeDefImpl\n nodeDefsByDisplayName[nodeDef.display_name] = nodeDefImpl\n }\n this.nodeDefsByName = newNodeDefsByName\n this.nodeDefsByDisplayName = nodeDefsByDisplayName\n },\n updateWidgets(widgets: Record) {\n this.widgets = widgets\n },\n getWidgetType(type: string, inputName: string) {\n if (type === 'COMBO') {\n return 'COMBO'\n } else if (`${type}:${inputName}` in this.widgets) {\n return `${type}:${inputName}`\n } else if (type in this.widgets) {\n return type\n } else {\n return null\n }\n },\n inputIsWidget(spec: BaseInputSpec) {\n return this.getWidgetType(spec.type, spec.name) !== null\n }\n }\n})\n","import { SidebarTabExtension, ToastManager } from '@/types/extensionTypes'\nimport { defineStore } from 'pinia'\nimport { useToastStore } from './toastStore'\n\ninterface WorkspaceState {\n spinner: boolean\n activeSidebarTab: string | null\n sidebarTabs: SidebarTabExtension[]\n}\n\nexport const useWorkspaceStore = defineStore('workspace', {\n state: (): WorkspaceState => ({\n spinner: false,\n activeSidebarTab: null,\n sidebarTabs: []\n }),\n getters: {\n toast(): ToastManager {\n return useToastStore()\n }\n },\n actions: {\n updateActiveSidebarTab(tabId: string) {\n this.activeSidebarTab = tabId\n },\n registerSidebarTab(tab: SidebarTabExtension) {\n this.sidebarTabs = [...this.sidebarTabs, tab]\n },\n unregisterSidebarTab(id: string) {\n const index = this.sidebarTabs.findIndex((tab) => tab.id === id)\n if (index !== -1) {\n const tab = this.sidebarTabs[index]\n if (tab.type === 'custom' && tab.destroy) {\n tab.destroy()\n }\n const newSidebarTabs = [...this.sidebarTabs]\n newSidebarTabs.splice(index, 1)\n this.sidebarTabs = newSidebarTabs\n }\n },\n getSidebarTabs() {\n return [...this.sidebarTabs]\n }\n }\n})\n","import { ComfyLogging } from './logging'\nimport { ComfyWidgetConstructor, ComfyWidgets, initWidgets } from './widgets'\nimport { ComfyUI, $el } from './ui'\nimport { api } from './api'\nimport { defaultGraph } from './defaultGraph'\nimport {\n getPngMetadata,\n getWebpMetadata,\n getFlacMetadata,\n importA1111,\n getLatentMetadata\n} from './pnginfo'\nimport { addDomClippingSetting } from './domWidget'\nimport { createImageHost, calculateImageGrid } from './ui/imagePreview'\nimport { DraggableList } from './ui/draggableList'\nimport { applyTextReplacements, addStylesheet } from './utils'\nimport type { ComfyExtension } from '@/types/comfy'\nimport {\n type ComfyWorkflowJSON,\n type NodeId,\n validateComfyWorkflow\n} from '../types/comfyWorkflow'\nimport { ComfyNodeDef, StatusWsMessageStatus } from '@/types/apiTypes'\nimport { lightenColor } from '@/utils/colorUtil'\nimport { ComfyAppMenu } from './ui/menu/index'\nimport { getStorageValue } from './utils'\nimport { ComfyWorkflowManager, ComfyWorkflow } from './workflows'\nimport {\n LGraphCanvas,\n LGraph,\n LGraphNode,\n LiteGraph\n} from '@comfyorg/litegraph'\nimport { StorageLocation } from '@/types/settingTypes'\n\n// CSS imports. style.css must be imported later as it overwrites some litegraph styles.\nimport '@comfyorg/litegraph/style.css'\nimport '../assets/css/style.css'\nimport { ExtensionManager } from '@/types/extensionTypes'\nimport {\n ComfyNodeDefImpl,\n SYSTEM_NODE_DEFS,\n useNodeDefStore\n} from '@/stores/nodeDefStore'\nimport { Vector2 } from '@comfyorg/litegraph'\nimport _ from 'lodash'\nimport {\n showExecutionErrorDialog,\n showLoadWorkflowWarning,\n showMissingModelsWarning\n} from '@/services/dialogService'\nimport { useSettingStore } from '@/stores/settingStore'\nimport { useToastStore } from '@/stores/toastStore'\nimport type { ToastMessageOptions } from 'primevue/toast'\nimport { useWorkspaceStore } from '@/stores/workspaceStateStore'\nimport { LGraphGroup } from '@comfyorg/litegraph'\n\nexport const ANIM_PREVIEW_WIDGET = '$$comfy_animation_preview'\n\nfunction sanitizeNodeName(string) {\n let entityMap = {\n '&': '',\n '<': '',\n '>': '',\n '\"': '',\n \"'\": '',\n '`': '',\n '=': ''\n }\n return String(string).replace(/[&<>\"'`=]/g, function fromEntityMap(s) {\n return entityMap[s]\n })\n}\n\n/**\n * @typedef {import(\"types/comfy\").ComfyExtension} ComfyExtension\n */\n\nexport class ComfyApp {\n /**\n * List of entries to queue\n * @type {{number: number, batchCount: number}[]}\n */\n #queueItems = []\n /**\n * If the queue is currently being processed\n * @type {boolean}\n */\n #processingQueue = false\n\n /**\n * Content Clipboard\n * @type {serialized node object}\n */\n static clipspace = null\n static clipspace_invalidate_handler = null\n static open_maskeditor = null\n static clipspace_return_node = null\n\n // Force vite to import utils.ts as part of index.\n // Force import of DraggableList.\n static utils = {\n applyTextReplacements,\n addStylesheet,\n DraggableList\n }\n\n vueAppReady: boolean\n ui: ComfyUI\n logging: ComfyLogging\n extensions: ComfyExtension[]\n extensionManager: ExtensionManager\n _nodeOutputs: Record\n nodePreviewImages: Record\n shiftDown: boolean\n graph: LGraph\n enableWorkflowViewRestore: any\n canvas: LGraphCanvas\n dragOverNode: LGraphNode | null\n canvasEl: HTMLCanvasElement\n // x, y, scale\n zoom_drag_start: [number, number, number] | null\n lastNodeErrors: any[] | null\n runningNodeId: number | null\n lastExecutionError: { node_id: number } | null\n progress: { value: number; max: number } | null\n configuringGraph: boolean\n isNewUserSession: boolean\n storageLocation: StorageLocation\n multiUserServer: boolean\n ctx: CanvasRenderingContext2D\n widgets: Record\n workflowManager: ComfyWorkflowManager\n bodyTop: HTMLElement\n bodyLeft: HTMLElement\n bodyRight: HTMLElement\n bodyBottom: HTMLElement\n canvasContainer: HTMLElement\n menu: ComfyAppMenu\n modelsInFolderCache: Record\n\n constructor() {\n this.vueAppReady = false\n this.ui = new ComfyUI(this)\n this.logging = new ComfyLogging(this)\n this.workflowManager = new ComfyWorkflowManager(this)\n this.bodyTop = $el('div.comfyui-body-top', { parent: document.body })\n this.bodyLeft = $el('div.comfyui-body-left', { parent: document.body })\n this.bodyRight = $el('div.comfyui-body-right', { parent: document.body })\n this.bodyBottom = $el('div.comfyui-body-bottom', { parent: document.body })\n this.canvasContainer = $el('div.graph-canvas-container', {\n parent: document.body\n })\n this.menu = new ComfyAppMenu(this)\n this.modelsInFolderCache = {}\n\n /**\n * List of extensions that are registered with the app\n * @type {ComfyExtension[]}\n */\n this.extensions = []\n\n /**\n * Stores the execution output data for each node\n * @type {Record}\n */\n this.nodeOutputs = {}\n\n /**\n * Stores the preview image data for each node\n * @type {Record}\n */\n this.nodePreviewImages = {}\n\n /**\n * If the shift key on the keyboard is pressed\n * @type {boolean}\n */\n this.shiftDown = false\n }\n\n get nodeOutputs() {\n return this._nodeOutputs\n }\n\n set nodeOutputs(value) {\n this._nodeOutputs = value\n this.#invokeExtensions('onNodeOutputsUpdated', value)\n }\n\n getPreviewFormatParam() {\n let preview_format = this.ui.settings.getSettingValue('Comfy.PreviewFormat')\n if (preview_format) return `&preview=${preview_format}`\n else return ''\n }\n\n getRandParam() {\n return '&rand=' + Math.random()\n }\n\n static isImageNode(node) {\n return (\n node.imgs ||\n (node &&\n node.widgets &&\n node.widgets.findIndex((obj) => obj.name === 'image') >= 0)\n )\n }\n\n static onClipspaceEditorSave() {\n if (ComfyApp.clipspace_return_node) {\n ComfyApp.pasteFromClipspace(ComfyApp.clipspace_return_node)\n }\n }\n\n static onClipspaceEditorClosed() {\n ComfyApp.clipspace_return_node = null\n }\n\n static copyToClipspace(node) {\n var widgets = null\n if (node.widgets) {\n widgets = node.widgets.map(({ type, name, value }) => ({\n type,\n name,\n value\n }))\n }\n\n var imgs = undefined\n var orig_imgs = undefined\n if (node.imgs != undefined) {\n imgs = []\n orig_imgs = []\n\n for (let i = 0; i < node.imgs.length; i++) {\n imgs[i] = new Image()\n imgs[i].src = node.imgs[i].src\n orig_imgs[i] = imgs[i]\n }\n }\n\n var selectedIndex = 0\n if (node.imageIndex) {\n selectedIndex = node.imageIndex\n }\n\n ComfyApp.clipspace = {\n widgets: widgets,\n imgs: imgs,\n original_imgs: orig_imgs,\n images: node.images,\n selectedIndex: selectedIndex,\n img_paste_mode: 'selected' // reset to default im_paste_mode state on copy action\n }\n\n ComfyApp.clipspace_return_node = null\n\n if (ComfyApp.clipspace_invalidate_handler) {\n ComfyApp.clipspace_invalidate_handler()\n }\n }\n\n static pasteFromClipspace(node) {\n if (ComfyApp.clipspace) {\n // image paste\n if (ComfyApp.clipspace.imgs && node.imgs) {\n if (node.images && ComfyApp.clipspace.images) {\n if (ComfyApp.clipspace['img_paste_mode'] == 'selected') {\n node.images = [\n ComfyApp.clipspace.images[ComfyApp.clipspace['selectedIndex']]\n ]\n } else {\n node.images = ComfyApp.clipspace.images\n }\n\n if (app.nodeOutputs[node.id + ''])\n app.nodeOutputs[node.id + ''].images = node.images\n }\n\n if (ComfyApp.clipspace.imgs) {\n // deep-copy to cut link with clipspace\n if (ComfyApp.clipspace['img_paste_mode'] == 'selected') {\n const img = new Image()\n img.src =\n ComfyApp.clipspace.imgs[ComfyApp.clipspace['selectedIndex']].src\n node.imgs = [img]\n node.imageIndex = 0\n } else {\n const imgs = []\n for (let i = 0; i < ComfyApp.clipspace.imgs.length; i++) {\n imgs[i] = new Image()\n imgs[i].src = ComfyApp.clipspace.imgs[i].src\n node.imgs = imgs\n }\n }\n }\n }\n\n if (node.widgets) {\n if (ComfyApp.clipspace.images) {\n const clip_image =\n ComfyApp.clipspace.images[ComfyApp.clipspace['selectedIndex']]\n const index = node.widgets.findIndex((obj) => obj.name === 'image')\n if (index >= 0) {\n if (\n node.widgets[index].type != 'image' &&\n typeof node.widgets[index].value == 'string' &&\n clip_image.filename\n ) {\n node.widgets[index].value =\n (clip_image.subfolder ? clip_image.subfolder + '/' : '') +\n clip_image.filename +\n (clip_image.type ? ` [${clip_image.type}]` : '')\n } else {\n node.widgets[index].value = clip_image\n }\n }\n }\n if (ComfyApp.clipspace.widgets) {\n ComfyApp.clipspace.widgets.forEach(({ type, name, value }) => {\n const prop = Object.values(node.widgets).find(\n // @ts-expect-errorg\n (obj) => obj.type === type && obj.name === name\n )\n // @ts-expect-error\n if (prop && prop.type != 'button') {\n if (\n // @ts-expect-error\n prop.type != 'image' &&\n // @ts-expect-error\n typeof prop.value == 'string' &&\n value.filename\n ) {\n // @ts-expect-error\n prop.value =\n (value.subfolder ? value.subfolder + '/' : '') +\n value.filename +\n (value.type ? ` [${value.type}]` : '')\n } else {\n // @ts-expect-error\n prop.value = value\n // @ts-expect-error\n prop.callback(value)\n }\n }\n })\n }\n }\n\n app.graph.setDirtyCanvas(true)\n }\n }\n\n /**\n * Invoke an extension callback\n * @param {keyof ComfyExtension} method The extension callback to execute\n * @param {any[]} args Any arguments to pass to the callback\n * @returns\n */\n #invokeExtensions(method, ...args) {\n let results = []\n for (const ext of this.extensions) {\n if (method in ext) {\n try {\n results.push(ext[method](...args, this))\n } catch (error) {\n console.error(\n `Error calling extension '${ext.name}' method '${method}'`,\n { error },\n { extension: ext },\n { args }\n )\n }\n }\n }\n return results\n }\n\n /**\n * Invoke an async extension callback\n * Each callback will be invoked concurrently\n * @param {string} method The extension callback to execute\n * @param {...any} args Any arguments to pass to the callback\n * @returns\n */\n async #invokeExtensionsAsync(method, ...args) {\n return await Promise.all(\n this.extensions.map(async (ext) => {\n if (method in ext) {\n try {\n return await ext[method](...args, this)\n } catch (error) {\n console.error(\n `Error calling extension '${ext.name}' method '${method}'`,\n { error },\n { extension: ext },\n { args }\n )\n }\n }\n })\n )\n }\n\n #addRestoreWorkflowView() {\n const serialize = LGraph.prototype.serialize\n const self = this\n LGraph.prototype.serialize = function () {\n const workflow = serialize.apply(this, arguments)\n\n // Store the drag & scale info in the serialized workflow if the setting is enabled\n if (self.enableWorkflowViewRestore.value) {\n if (!workflow.extra) {\n workflow.extra = {}\n }\n workflow.extra.ds = {\n scale: self.canvas.ds.scale,\n offset: self.canvas.ds.offset\n }\n } else if (workflow.extra?.ds) {\n // Clear any old view data\n delete workflow.extra.ds\n }\n\n return workflow\n }\n this.enableWorkflowViewRestore = this.ui.settings.addSetting({\n id: 'Comfy.EnableWorkflowViewRestore',\n category: ['Comfy', 'Workflow', 'EnableWorkflowViewRestore'],\n name: 'Save and restore canvas position and zoom level in workflows',\n type: 'boolean',\n defaultValue: true\n })\n }\n\n /**\n * Adds special context menu handling for nodes\n * e.g. this adds Open Image functionality for nodes that show images\n * @param {*} node The node to add the menu handler\n */\n #addNodeContextMenuHandler(node) {\n function getCopyImageOption(img) {\n if (typeof window.ClipboardItem === 'undefined') return []\n return [\n {\n content: 'Copy Image',\n callback: async () => {\n const url = new URL(img.src)\n url.searchParams.delete('preview')\n\n const writeImage = async (blob) => {\n await navigator.clipboard.write([\n new ClipboardItem({\n [blob.type]: blob\n })\n ])\n }\n\n try {\n const data = await fetch(url)\n const blob = await data.blob()\n try {\n await writeImage(blob)\n } catch (error) {\n // Chrome seems to only support PNG on write, convert and try again\n if (blob.type !== 'image/png') {\n const canvas = $el('canvas', {\n width: img.naturalWidth,\n height: img.naturalHeight\n }) as HTMLCanvasElement\n const ctx = canvas.getContext('2d')\n let image\n if (typeof window.createImageBitmap === 'undefined') {\n image = new Image()\n const p = new Promise((resolve, reject) => {\n image.onload = resolve\n image.onerror = reject\n }).finally(() => {\n URL.revokeObjectURL(image.src)\n })\n image.src = URL.createObjectURL(blob)\n await p\n } else {\n image = await createImageBitmap(blob)\n }\n try {\n ctx.drawImage(image, 0, 0)\n canvas.toBlob(writeImage, 'image/png')\n } finally {\n if (typeof image.close === 'function') {\n image.close()\n }\n }\n\n return\n }\n throw error\n }\n } catch (error) {\n alert('Error copying image: ' + (error.message ?? error))\n }\n }\n }\n ]\n }\n\n node.prototype.getExtraMenuOptions = function (_, options) {\n if (this.imgs) {\n // If this node has images then we add an open in new tab item\n let img\n if (this.imageIndex != null) {\n // An image is selected so select that\n img = this.imgs[this.imageIndex]\n } else if (this.overIndex != null) {\n // No image is selected but one is hovered\n img = this.imgs[this.overIndex]\n }\n if (img) {\n options.unshift(\n {\n content: 'Open Image',\n callback: () => {\n let url = new URL(img.src)\n url.searchParams.delete('preview')\n window.open(url, '_blank')\n }\n },\n ...getCopyImageOption(img),\n {\n content: 'Save Image',\n callback: () => {\n const a = document.createElement('a')\n let url = new URL(img.src)\n url.searchParams.delete('preview')\n a.href = url.toString()\n a.setAttribute(\n 'download',\n new URLSearchParams(url.search).get('filename')\n )\n document.body.append(a)\n a.click()\n requestAnimationFrame(() => a.remove())\n }\n }\n )\n }\n }\n\n options.push({\n content: 'Bypass',\n callback: (obj) => {\n if (this.mode === 4) this.mode = 0\n else this.mode = 4\n this.graph.change()\n }\n })\n\n // prevent conflict of clipspace content\n if (!ComfyApp.clipspace_return_node) {\n options.push({\n content: 'Copy (Clipspace)',\n callback: (obj) => {\n ComfyApp.copyToClipspace(this)\n }\n })\n\n if (ComfyApp.clipspace != null) {\n options.push({\n content: 'Paste (Clipspace)',\n callback: () => {\n ComfyApp.pasteFromClipspace(this)\n }\n })\n }\n\n if (ComfyApp.isImageNode(this)) {\n options.push({\n content: 'Open in MaskEditor',\n callback: (obj) => {\n ComfyApp.copyToClipspace(this)\n ComfyApp.clipspace_return_node = this\n ComfyApp.open_maskeditor()\n }\n })\n }\n }\n }\n }\n\n #addNodeKeyHandler(node) {\n const app = this\n const origNodeOnKeyDown = node.prototype.onKeyDown\n\n node.prototype.onKeyDown = function (e) {\n if (origNodeOnKeyDown && origNodeOnKeyDown.apply(this, e) === false) {\n return false\n }\n\n if (this.flags.collapsed || !this.imgs || this.imageIndex === null) {\n return\n }\n\n let handled = false\n\n if (e.key === 'ArrowLeft' || e.key === 'ArrowRight') {\n if (e.key === 'ArrowLeft') {\n this.imageIndex -= 1\n } else if (e.key === 'ArrowRight') {\n this.imageIndex += 1\n }\n this.imageIndex %= this.imgs.length\n\n if (this.imageIndex < 0) {\n this.imageIndex = this.imgs.length + this.imageIndex\n }\n handled = true\n } else if (e.key === 'Escape') {\n this.imageIndex = null\n handled = true\n }\n\n if (handled === true) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return false\n }\n }\n }\n\n /**\n * Adds Custom drawing logic for nodes\n * e.g. Draws images and handles thumbnail navigation on nodes that output images\n * @param {*} node The node to add the draw handler\n */\n #addDrawBackgroundHandler(node) {\n const app = this\n\n function getImageTop(node) {\n let shiftY\n if (node.imageOffset != null) {\n shiftY = node.imageOffset\n } else {\n if (node.widgets?.length) {\n const w = node.widgets[node.widgets.length - 1]\n shiftY = w.last_y\n if (w.computeSize) {\n shiftY += w.computeSize()[1] + 4\n } else if (w.computedHeight) {\n shiftY += w.computedHeight\n } else {\n shiftY += LiteGraph.NODE_WIDGET_HEIGHT + 4\n }\n } else {\n shiftY = node.computeSize()[1]\n }\n }\n return shiftY\n }\n\n node.prototype.setSizeForImage = function (force) {\n if (!force && this.animatedImages) return\n\n if (this.inputHeight || this.freeWidgetSpace > 210) {\n this.setSize(this.size)\n return\n }\n const minHeight = getImageTop(this) + 220\n if (this.size[1] < minHeight) {\n this.setSize([this.size[0], minHeight])\n }\n }\n\n function unsafeDrawBackground(ctx) {\n if (!this.flags.collapsed) {\n let imgURLs = []\n let imagesChanged = false\n\n const output = app.nodeOutputs[this.id + '']\n if (output?.images) {\n this.animatedImages = output?.animated?.find(Boolean)\n if (this.images !== output.images) {\n this.images = output.images\n imagesChanged = true\n imgURLs = imgURLs.concat(\n output.images.map((params) => {\n return api.apiURL(\n '/view?' +\n new URLSearchParams(params).toString() +\n (this.animatedImages ? '' : app.getPreviewFormatParam()) +\n app.getRandParam()\n )\n })\n )\n }\n }\n\n const preview = app.nodePreviewImages[this.id + '']\n if (this.preview !== preview) {\n this.preview = preview\n imagesChanged = true\n if (preview != null) {\n imgURLs.push(preview)\n }\n }\n\n if (imagesChanged) {\n this.imageIndex = null\n if (imgURLs.length > 0) {\n Promise.all(\n imgURLs.map((src) => {\n return new Promise((r) => {\n const img = new Image()\n img.onload = () => r(img)\n img.onerror = () => r(null)\n img.src = src\n })\n })\n ).then((imgs) => {\n if (\n (!output || this.images === output.images) &&\n (!preview || this.preview === preview)\n ) {\n this.imgs = imgs.filter(Boolean)\n this.setSizeForImage?.()\n app.graph.setDirtyCanvas(true)\n }\n })\n } else {\n this.imgs = null\n }\n }\n\n const is_all_same_aspect_ratio = (imgs) => {\n // assume: imgs.length >= 2\n let ratio = imgs[0].naturalWidth / imgs[0].naturalHeight\n\n for (let i = 1; i < imgs.length; i++) {\n let this_ratio = imgs[i].naturalWidth / imgs[i].naturalHeight\n if (ratio != this_ratio) return false\n }\n\n return true\n }\n\n if (this.imgs?.length) {\n const widgetIdx = this.widgets?.findIndex(\n (w) => w.name === ANIM_PREVIEW_WIDGET\n )\n\n if (this.animatedImages) {\n // Instead of using the canvas we'll use a IMG\n if (widgetIdx > -1) {\n // Replace content\n const widget = this.widgets[widgetIdx]\n widget.options.host.updateImages(this.imgs)\n } else {\n const host = createImageHost(this)\n this.setSizeForImage(true)\n const widget = this.addDOMWidget(\n ANIM_PREVIEW_WIDGET,\n 'img',\n host.el,\n {\n host,\n getHeight: host.getHeight,\n onDraw: host.onDraw,\n hideOnZoom: false\n }\n )\n widget.serializeValue = () => undefined\n widget.options.host.updateImages(this.imgs)\n }\n return\n }\n\n if (widgetIdx > -1) {\n this.widgets[widgetIdx].onRemove?.()\n this.widgets.splice(widgetIdx, 1)\n }\n\n const canvas = app.graph.list_of_graphcanvas[0]\n const mouse = canvas.graph_mouse\n if (!canvas.pointer_is_down && this.pointerDown) {\n if (\n mouse[0] === this.pointerDown.pos[0] &&\n mouse[1] === this.pointerDown.pos[1]\n ) {\n this.imageIndex = this.pointerDown.index\n }\n this.pointerDown = null\n }\n\n let imageIndex = this.imageIndex\n const numImages = this.imgs.length\n if (numImages === 1 && !imageIndex) {\n this.imageIndex = imageIndex = 0\n }\n\n const top = getImageTop(this)\n var shiftY = top\n\n let dw = this.size[0]\n let dh = this.size[1]\n dh -= shiftY\n\n if (imageIndex == null) {\n var cellWidth, cellHeight, shiftX, cell_padding, cols\n\n const compact_mode = is_all_same_aspect_ratio(this.imgs)\n if (!compact_mode) {\n // use rectangle cell style and border line\n cell_padding = 2\n // Prevent infinite canvas2d scale-up\n const largestDimension = this.imgs.reduce(\n (acc, current) =>\n Math.max(acc, current.naturalWidth, current.naturalHeight),\n 0\n )\n const fakeImgs = []\n fakeImgs.length = this.imgs.length\n fakeImgs[0] = {\n naturalWidth: largestDimension,\n naturalHeight: largestDimension\n }\n ;({ cellWidth, cellHeight, cols, shiftX } = calculateImageGrid(\n fakeImgs,\n dw,\n dh\n ))\n } else {\n cell_padding = 0\n ;({ cellWidth, cellHeight, cols, shiftX } = calculateImageGrid(\n this.imgs,\n dw,\n dh\n ))\n }\n\n let anyHovered = false\n this.imageRects = []\n for (let i = 0; i < numImages; i++) {\n const img = this.imgs[i]\n const row = Math.floor(i / cols)\n const col = i % cols\n const x = col * cellWidth + shiftX\n const y = row * cellHeight + shiftY\n if (!anyHovered) {\n anyHovered = LiteGraph.isInsideRectangle(\n mouse[0],\n mouse[1],\n x + this.pos[0],\n y + this.pos[1],\n cellWidth,\n cellHeight\n )\n if (anyHovered) {\n this.overIndex = i\n let value = 110\n if (canvas.pointer_is_down) {\n if (!this.pointerDown || this.pointerDown.index !== i) {\n this.pointerDown = { index: i, pos: [...mouse] }\n }\n value = 125\n }\n ctx.filter = `contrast(${value}%) brightness(${value}%)`\n canvas.canvas.style.cursor = 'pointer'\n }\n }\n this.imageRects.push([x, y, cellWidth, cellHeight])\n\n let wratio = cellWidth / img.width\n let hratio = cellHeight / img.height\n var ratio = Math.min(wratio, hratio)\n\n let imgHeight = ratio * img.height\n let imgY =\n row * cellHeight + shiftY + (cellHeight - imgHeight) / 2\n let imgWidth = ratio * img.width\n let imgX = col * cellWidth + shiftX + (cellWidth - imgWidth) / 2\n\n ctx.drawImage(\n img,\n imgX + cell_padding,\n imgY + cell_padding,\n imgWidth - cell_padding * 2,\n imgHeight - cell_padding * 2\n )\n if (!compact_mode) {\n // rectangle cell and border line style\n ctx.strokeStyle = '#8F8F8F'\n ctx.lineWidth = 1\n ctx.strokeRect(\n x + cell_padding,\n y + cell_padding,\n cellWidth - cell_padding * 2,\n cellHeight - cell_padding * 2\n )\n }\n\n ctx.filter = 'none'\n }\n\n if (!anyHovered) {\n this.pointerDown = null\n this.overIndex = null\n }\n } else {\n // Draw individual\n let w = this.imgs[imageIndex].naturalWidth\n let h = this.imgs[imageIndex].naturalHeight\n\n const scaleX = dw / w\n const scaleY = dh / h\n const scale = Math.min(scaleX, scaleY, 1)\n\n w *= scale\n h *= scale\n\n let x = (dw - w) / 2\n let y = (dh - h) / 2 + shiftY\n ctx.drawImage(this.imgs[imageIndex], x, y, w, h)\n\n const drawButton = (x, y, sz, text) => {\n const hovered = LiteGraph.isInsideRectangle(\n mouse[0],\n mouse[1],\n x + this.pos[0],\n y + this.pos[1],\n sz,\n sz\n )\n let fill = '#333'\n let textFill = '#fff'\n let isClicking = false\n if (hovered) {\n canvas.canvas.style.cursor = 'pointer'\n if (canvas.pointer_is_down) {\n fill = '#1e90ff'\n isClicking = true\n } else {\n fill = '#eee'\n textFill = '#000'\n }\n } else {\n this.pointerWasDown = null\n }\n\n ctx.fillStyle = fill\n ctx.beginPath()\n ctx.roundRect(x, y, sz, sz, [4])\n ctx.fill()\n ctx.fillStyle = textFill\n ctx.font = '12px Arial'\n ctx.textAlign = 'center'\n ctx.fillText(text, x + 15, y + 20)\n\n return isClicking\n }\n\n if (numImages > 1) {\n if (\n drawButton(\n dw - 40,\n dh + top - 40,\n 30,\n `${this.imageIndex + 1}/${numImages}`\n )\n ) {\n let i =\n this.imageIndex + 1 >= numImages ? 0 : this.imageIndex + 1\n if (!this.pointerDown || !this.pointerDown.index === i) {\n this.pointerDown = { index: i, pos: [...mouse] }\n }\n }\n\n if (drawButton(dw - 40, top + 10, 30, `x`)) {\n if (!this.pointerDown || !this.pointerDown.index === null) {\n this.pointerDown = { index: null, pos: [...mouse] }\n }\n }\n }\n }\n }\n }\n }\n\n node.prototype.onDrawBackground = function (ctx) {\n try {\n unsafeDrawBackground.call(this, ctx)\n } catch (error) {\n console.error('Error drawing node background', error)\n }\n }\n }\n\n /**\n * Adds a handler allowing drag+drop of files onto the window to load workflows\n */\n #addDropHandler() {\n // Get prompt from dropped PNG or json\n document.addEventListener('drop', async (event) => {\n event.preventDefault()\n event.stopPropagation()\n\n const n = this.dragOverNode\n this.dragOverNode = null\n // Node handles file drop, we dont use the built in onDropFile handler as its buggy\n // If you drag multiple files it will call it multiple times with the same file\n // @ts-expect-error This is not a standard event. TODO fix it.\n if (n && n.onDragDrop && (await n.onDragDrop(event))) {\n return\n }\n // Dragging from Chrome->Firefox there is a file but its a bmp, so ignore that\n if (\n event.dataTransfer.files.length &&\n event.dataTransfer.files[0].type !== 'image/bmp'\n ) {\n await this.handleFile(event.dataTransfer.files[0])\n } else {\n // Try loading the first URI in the transfer list\n const validTypes = ['text/uri-list', 'text/x-moz-url']\n const match = [...event.dataTransfer.types].find((t) =>\n validTypes.find((v) => t === v)\n )\n if (match) {\n const uri = event.dataTransfer.getData(match)?.split('\\n')?.[0]\n if (uri) {\n await this.handleFile(await (await fetch(uri)).blob())\n }\n }\n }\n })\n\n // Always clear over node on drag leave\n this.canvasEl.addEventListener('dragleave', async () => {\n if (this.dragOverNode) {\n this.dragOverNode = null\n this.graph.setDirtyCanvas(false, true)\n }\n })\n\n // Add handler for dropping onto a specific node\n this.canvasEl.addEventListener(\n 'dragover',\n (e) => {\n this.canvas.adjustMouseEvent(e)\n // @ts-expect-error: canvasX and canvasY are added by adjustMouseEvent in litegraph\n const node = this.graph.getNodeOnPos(e.canvasX, e.canvasY)\n if (node) {\n // @ts-expect-error This is not a standard event. TODO fix it.\n if (node.onDragOver && node.onDragOver(e)) {\n this.dragOverNode = node\n\n // dragover event is fired very frequently, run this on an animation frame\n requestAnimationFrame(() => {\n this.graph.setDirtyCanvas(false, true)\n })\n return\n }\n }\n this.dragOverNode = null\n },\n false\n )\n }\n\n /**\n * Adds a handler on paste that extracts and loads images or workflows from pasted JSON data\n */\n #addPasteHandler() {\n document.addEventListener('paste', async (e: ClipboardEvent) => {\n // ctrl+shift+v is used to paste nodes with connections\n // this is handled by litegraph\n if (this.shiftDown) return\n\n // @ts-expect-error: Property 'clipboardData' does not exist on type 'Window & typeof globalThis'.\n // Did you mean 'Clipboard'?ts(2551)\n // TODO: Not sure what the code wants to do.\n let data = e.clipboardData || window.clipboardData\n const items = data.items\n\n // Look for image paste data\n for (const item of items) {\n if (item.type.startsWith('image/')) {\n var imageNode = null\n\n // If an image node is selected, paste into it\n if (\n this.canvas.current_node &&\n this.canvas.current_node.is_selected &&\n ComfyApp.isImageNode(this.canvas.current_node)\n ) {\n imageNode = this.canvas.current_node\n }\n\n // No image node selected: add a new one\n if (!imageNode) {\n const newNode = LiteGraph.createNode('LoadImage')\n newNode.pos = [...this.canvas.graph_mouse]\n imageNode = this.graph.add(newNode)\n this.graph.change()\n }\n const blob = item.getAsFile()\n imageNode.pasteFile(blob)\n return\n }\n }\n\n // No image found. Look for node data\n data = data.getData('text/plain')\n let workflow: ComfyWorkflowJSON\n try {\n data = data.slice(data.indexOf('{'))\n workflow = JSON.parse(data)\n } catch (err) {\n try {\n data = data.slice(data.indexOf('workflow\\n'))\n data = data.slice(data.indexOf('{'))\n workflow = JSON.parse(data)\n } catch (error) {\n console.error(error)\n }\n }\n\n if (workflow && workflow.version && workflow.nodes && workflow.extra) {\n await this.loadGraphData(workflow)\n } else {\n if (\n (e.target instanceof HTMLTextAreaElement &&\n e.target.type === 'textarea') ||\n (e.target instanceof HTMLInputElement && e.target.type === 'text')\n ) {\n return\n }\n\n // Litegraph default paste\n this.canvas.pasteFromClipboard()\n }\n })\n }\n\n /**\n * Adds a handler on copy that serializes selected nodes to JSON\n */\n #addCopyHandler() {\n document.addEventListener('copy', (e) => {\n if (!(e.target instanceof Element)) {\n return\n }\n if (\n (e.target instanceof HTMLTextAreaElement &&\n e.target.type === 'textarea') ||\n (e.target instanceof HTMLInputElement && e.target.type === 'text')\n ) {\n // Default system copy\n return\n }\n const isTargetInGraph =\n e.target.classList.contains('litegraph') ||\n e.target.classList.contains('graph-canvas-container')\n\n // copy nodes and clear clipboard\n if (isTargetInGraph && this.canvas.selected_nodes) {\n this.canvas.copyToClipboard()\n e.clipboardData.setData('text', ' ') //clearData doesn't remove images from clipboard\n e.preventDefault()\n e.stopImmediatePropagation()\n return false\n }\n })\n }\n\n /**\n * Handle mouse\n *\n * Move group by header\n */\n #addProcessMouseHandler() {\n const self = this\n\n const origProcessMouseDown = LGraphCanvas.prototype.processMouseDown\n LGraphCanvas.prototype.processMouseDown = function (e) {\n // prepare for ctrl+shift drag: zoom start\n if (e.ctrlKey && e.shiftKey && e.buttons) {\n self.zoom_drag_start = [e.x, e.y, this.ds.scale]\n return\n }\n\n const res = origProcessMouseDown.apply(this, arguments)\n\n this.selected_group_moving = false\n\n if (this.selected_group && !this.selected_group_resizing) {\n var font_size =\n this.selected_group.font_size || LiteGraph.DEFAULT_GROUP_FONT_SIZE\n var height = font_size * 1.4\n\n // Move group by header\n if (\n LiteGraph.isInsideRectangle(\n // @ts-expect-error\n e.canvasX,\n // @ts-expect-error\n e.canvasY,\n this.selected_group.pos[0],\n this.selected_group.pos[1],\n this.selected_group.size[0],\n height\n )\n ) {\n this.selected_group_moving = true\n }\n }\n\n return res\n }\n const origProcessMouseMove = LGraphCanvas.prototype.processMouseMove\n LGraphCanvas.prototype.processMouseMove = function (e) {\n // handle ctrl+shift drag\n if (e.ctrlKey && e.shiftKey && self.zoom_drag_start) {\n // stop canvas zoom action\n if (!e.buttons) {\n self.zoom_drag_start = null\n return\n }\n\n // calculate delta\n let deltaY = e.y - self.zoom_drag_start[1]\n let startScale = self.zoom_drag_start[2]\n\n let scale = startScale - deltaY / 100\n\n this.ds.changeScale(scale, [\n self.zoom_drag_start[0],\n self.zoom_drag_start[1]\n ])\n this.graph.change()\n\n return\n }\n\n const orig_selected_group = this.selected_group\n\n if (\n this.selected_group &&\n !this.selected_group_resizing &&\n !this.selected_group_moving\n ) {\n this.selected_group = null\n }\n\n const res = origProcessMouseMove.apply(this, arguments)\n\n if (\n orig_selected_group &&\n !this.selected_group_resizing &&\n !this.selected_group_moving\n ) {\n this.selected_group = orig_selected_group\n }\n\n return res\n }\n }\n\n /**\n * Handle keypress\n *\n * Ctrl + M mute/unmute selected nodes\n */\n #addProcessKeyHandler() {\n const self = this\n const origProcessKey = LGraphCanvas.prototype.processKey\n LGraphCanvas.prototype.processKey = function (e) {\n if (!this.graph) {\n return\n }\n\n var block_default = false\n\n if (e.target instanceof Element && e.target.localName == 'input') {\n return\n }\n\n if (e.type == 'keydown' && !e.repeat) {\n // Ctrl + M mute/unmute\n if (e.key === 'm' && (e.metaKey || e.ctrlKey)) {\n if (this.selected_nodes) {\n for (var i in this.selected_nodes) {\n if (this.selected_nodes[i].mode === 2) {\n // never\n this.selected_nodes[i].mode = 0 // always\n } else {\n this.selected_nodes[i].mode = 2 // never\n }\n }\n }\n block_default = true\n }\n\n // Ctrl + B bypass\n if (e.key === 'b' && (e.metaKey || e.ctrlKey)) {\n if (this.selected_nodes) {\n for (var i in this.selected_nodes) {\n if (this.selected_nodes[i].mode === 4) {\n // never\n this.selected_nodes[i].mode = 0 // always\n } else {\n this.selected_nodes[i].mode = 4 // never\n }\n }\n }\n block_default = true\n }\n\n // Alt + C collapse/uncollapse\n if (e.key === 'c' && e.altKey) {\n if (this.selected_nodes) {\n for (var i in this.selected_nodes) {\n this.selected_nodes[i].collapse()\n }\n }\n block_default = true\n }\n\n // Ctrl+C Copy\n if (e.key === 'c' && (e.metaKey || e.ctrlKey)) {\n // Trigger onCopy\n return true\n }\n\n // Ctrl+V Paste\n if (\n (e.key === 'v' || e.key == 'V') &&\n (e.metaKey || e.ctrlKey) &&\n !e.shiftKey\n ) {\n // Trigger onPaste\n return true\n }\n\n if (e.key === '+' && e.altKey) {\n block_default = true\n let scale = this.ds.scale * 1.1\n this.ds.changeScale(scale, [\n this.ds.element.width / 2,\n this.ds.element.height / 2\n ])\n this.graph.change()\n }\n\n if (e.key === '-' && e.altKey) {\n block_default = true\n let scale = (this.ds.scale * 1) / 1.1\n this.ds.changeScale(scale, [\n this.ds.element.width / 2,\n this.ds.element.height / 2\n ])\n this.graph.change()\n }\n }\n\n this.graph.change()\n\n if (block_default) {\n e.preventDefault()\n e.stopImmediatePropagation()\n return false\n }\n\n // Fall through to Litegraph defaults\n return origProcessKey.apply(this, arguments)\n }\n }\n\n /**\n * Draws group header bar\n */\n #addDrawGroupsHandler() {\n const self = this\n const origDrawGroups = LGraphCanvas.prototype.drawGroups\n LGraphCanvas.prototype.drawGroups = function (canvas, ctx) {\n if (!this.graph) {\n return\n }\n\n var groups = this.graph._groups\n\n ctx.save()\n ctx.globalAlpha = 0.7 * this.editor_alpha\n\n for (var i = 0; i < groups.length; ++i) {\n var group = groups[i]\n\n if (!LiteGraph.overlapBounding(this.visible_area, group._bounding)) {\n continue\n } //out of the visible area\n\n ctx.fillStyle = group.color || '#335'\n ctx.strokeStyle = group.color || '#335'\n var pos = group._pos\n var size = group._size\n ctx.globalAlpha = 0.25 * this.editor_alpha\n ctx.beginPath()\n var font_size = group.font_size || LiteGraph.DEFAULT_GROUP_FONT_SIZE\n ctx.rect(pos[0] + 0.5, pos[1] + 0.5, size[0], font_size * 1.4)\n ctx.fill()\n ctx.globalAlpha = this.editor_alpha\n }\n\n ctx.restore()\n\n const res = origDrawGroups.apply(this, arguments)\n return res\n }\n }\n\n /**\n * Draws node highlights (executing, drag drop) and progress bar\n */\n #addDrawNodeHandler() {\n const origDrawNodeShape = LGraphCanvas.prototype.drawNodeShape\n const self = this\n LGraphCanvas.prototype.drawNodeShape = function (\n node,\n ctx,\n size,\n fgcolor,\n bgcolor,\n selected,\n mouse_over\n ) {\n const res = origDrawNodeShape.apply(this, arguments)\n\n const nodeErrors = self.lastNodeErrors?.[node.id]\n\n let color = null\n let lineWidth = 1\n if (node.id === +self.runningNodeId) {\n color = '#0f0'\n } else if (self.dragOverNode && node.id === self.dragOverNode.id) {\n color = 'dodgerblue'\n } else if (nodeErrors?.errors) {\n color = 'red'\n lineWidth = 2\n } else if (\n self.lastExecutionError &&\n +self.lastExecutionError.node_id === node.id\n ) {\n color = '#f0f'\n lineWidth = 2\n }\n\n if (color) {\n const shape =\n // @ts-expect-error\n node._shape || node.constructor.shape || LiteGraph.ROUND_SHAPE\n ctx.lineWidth = lineWidth\n ctx.globalAlpha = 0.8\n ctx.beginPath()\n if (shape == LiteGraph.BOX_SHAPE)\n ctx.rect(\n -6,\n -6 - LiteGraph.NODE_TITLE_HEIGHT,\n 12 + size[0] + 1,\n 12 + size[1] + LiteGraph.NODE_TITLE_HEIGHT\n )\n else if (\n shape == LiteGraph.ROUND_SHAPE ||\n (shape == LiteGraph.CARD_SHAPE && node.flags.collapsed)\n )\n ctx.roundRect(\n -6,\n -6 - LiteGraph.NODE_TITLE_HEIGHT,\n 12 + size[0] + 1,\n 12 + size[1] + LiteGraph.NODE_TITLE_HEIGHT,\n this.round_radius * 2\n )\n else if (shape == LiteGraph.CARD_SHAPE)\n ctx.roundRect(\n -6,\n -6 - LiteGraph.NODE_TITLE_HEIGHT,\n 12 + size[0] + 1,\n 12 + size[1] + LiteGraph.NODE_TITLE_HEIGHT,\n [this.round_radius * 2, this.round_radius * 2, 2, 2]\n )\n else if (shape == LiteGraph.CIRCLE_SHAPE)\n ctx.arc(\n size[0] * 0.5,\n size[1] * 0.5,\n size[0] * 0.5 + 6,\n 0,\n Math.PI * 2\n )\n ctx.strokeStyle = color\n ctx.stroke()\n ctx.strokeStyle = fgcolor\n ctx.globalAlpha = 1\n }\n\n if (self.progress && node.id === +self.runningNodeId) {\n ctx.fillStyle = 'green'\n ctx.fillRect(\n 0,\n 0,\n size[0] * (self.progress.value / self.progress.max),\n 6\n )\n ctx.fillStyle = bgcolor\n }\n\n // Highlight inputs that failed validation\n if (nodeErrors) {\n ctx.lineWidth = 2\n ctx.strokeStyle = 'red'\n for (const error of nodeErrors.errors) {\n if (error.extra_info && error.extra_info.input_name) {\n const inputIndex = node.findInputSlot(error.extra_info.input_name)\n if (inputIndex !== -1) {\n let pos = node.getConnectionPos(true, inputIndex)\n ctx.beginPath()\n ctx.arc(\n pos[0] - node.pos[0],\n pos[1] - node.pos[1],\n 12,\n 0,\n 2 * Math.PI,\n false\n )\n ctx.stroke()\n }\n }\n }\n }\n\n return res\n }\n\n const origDrawNode = LGraphCanvas.prototype.drawNode\n LGraphCanvas.prototype.drawNode = function (node, ctx) {\n var editor_alpha = this.editor_alpha\n var old_color = node.color\n var old_bgcolor = node.bgcolor\n\n if (node.mode === 2) {\n // never\n this.editor_alpha = 0.4\n }\n\n // ComfyUI's custom node mode enum value 4 => bypass/never.\n // @ts-expect-error\n if (node.mode === 4) {\n // never\n node.bgcolor = '#FF00FF'\n this.editor_alpha = 0.2\n }\n\n const adjustColor = (color?: string) => {\n return color ? lightenColor(color, 0.5) : color\n }\n if (app.ui.settings.getSettingValue('Comfy.ColorPalette') === 'light') {\n node.bgcolor = adjustColor(node.bgcolor)\n node.color = adjustColor(node.color)\n }\n\n const res = origDrawNode.apply(this, arguments)\n\n this.editor_alpha = editor_alpha\n node.color = old_color\n node.bgcolor = old_bgcolor\n\n return res\n }\n }\n\n /**\n * Handles updates from the API socket\n */\n #addApiUpdateHandlers() {\n api.addEventListener(\n 'status',\n ({ detail }: CustomEvent) => {\n this.ui.setStatus(detail)\n }\n )\n\n api.addEventListener('progress', ({ detail }) => {\n if (\n this.workflowManager.activePrompt?.workflow &&\n this.workflowManager.activePrompt.workflow !==\n this.workflowManager.activeWorkflow\n )\n return\n this.progress = detail\n this.graph.setDirtyCanvas(true, false)\n })\n\n api.addEventListener('executing', ({ detail }) => {\n if (\n this.workflowManager.activePrompt?.workflow &&\n this.workflowManager.activePrompt.workflow !==\n this.workflowManager.activeWorkflow\n )\n return\n this.progress = null\n this.runningNodeId = detail\n this.graph.setDirtyCanvas(true, false)\n delete this.nodePreviewImages[this.runningNodeId]\n })\n\n api.addEventListener('executed', ({ detail }) => {\n if (\n this.workflowManager.activePrompt?.workflow &&\n this.workflowManager.activePrompt.workflow !==\n this.workflowManager.activeWorkflow\n )\n return\n const output = this.nodeOutputs[detail.display_node || detail.node]\n if (detail.merge && output) {\n for (const k in detail.output ?? {}) {\n const v = output[k]\n if (v instanceof Array) {\n output[k] = v.concat(detail.output[k])\n } else {\n output[k] = detail.output[k]\n }\n }\n } else {\n this.nodeOutputs[detail.display_node || detail.node] = detail.output\n }\n const node = this.graph.getNodeById(detail.display_node || detail.node)\n if (node) {\n // @ts-expect-error\n if (node.onExecuted)\n // @ts-expect-error\n node.onExecuted(detail.output)\n }\n })\n\n api.addEventListener('execution_start', ({ detail }) => {\n this.runningNodeId = null\n this.lastExecutionError = null\n // @ts-expect-error\n this.graph._nodes.forEach((node) => {\n // @ts-expect-error\n if (node.onExecutionStart)\n // @ts-expect-error\n node.onExecutionStart()\n })\n })\n\n api.addEventListener('execution_error', ({ detail }) => {\n this.lastExecutionError = detail\n showExecutionErrorDialog(detail)\n this.canvas.draw(true, true)\n })\n\n api.addEventListener('b_preview', ({ detail }) => {\n const id = this.runningNodeId\n if (id == null) return\n\n const blob = detail\n const blobUrl = URL.createObjectURL(blob)\n // @ts-expect-error\n this.nodePreviewImages[id] = [blobUrl]\n })\n\n api.init()\n }\n\n #addKeyboardHandler() {\n window.addEventListener('keydown', (e) => {\n this.shiftDown = e.shiftKey\n })\n window.addEventListener('keyup', (e) => {\n this.shiftDown = e.shiftKey\n })\n }\n\n #addConfigureHandler() {\n const app = this\n const configure = LGraph.prototype.configure\n // Flag that the graph is configuring to prevent nodes from running checks while its still loading\n LGraph.prototype.configure = function () {\n app.configuringGraph = true\n try {\n return configure.apply(this, arguments)\n } finally {\n app.configuringGraph = false\n }\n }\n }\n\n #addAfterConfigureHandler() {\n const app = this\n // @ts-expect-error\n const onConfigure = app.graph.onConfigure\n // @ts-expect-error\n app.graph.onConfigure = function () {\n // Fire callbacks before the onConfigure, this is used by widget inputs to setup the config\n // @ts-expect-error\n for (const node of app.graph._nodes) {\n // @ts-expect-error\n node.onGraphConfigured?.()\n }\n\n const r = onConfigure?.apply(this, arguments)\n\n // Fire after onConfigure, used by primitives to generate widget using input nodes config\n // @ts-expect-error _nodes is private.\n for (const node of app.graph._nodes) {\n node.onAfterGraphConfigured?.()\n }\n\n return r\n }\n }\n\n /**\n * Loads all extensions from the API into the window in parallel\n */\n async #loadExtensions() {\n const extensions = await api.getExtensions()\n this.logging.addEntry('Comfy.App', 'debug', { Extensions: extensions })\n\n // Need to load core extensions first as some custom extensions\n // may depend on them.\n await import('../extensions/core/index')\n await Promise.all(\n extensions\n .filter((extension) => !extension.includes('extensions/core'))\n .map(async (ext) => {\n try {\n await import(/* @vite-ignore */ api.fileURL(ext))\n } catch (error) {\n console.error('Error loading extension', ext, error)\n }\n })\n )\n\n try {\n this.menu.workflows.registerExtension(this)\n } catch (error) {\n console.error(error)\n }\n }\n\n async #migrateSettings() {\n this.isNewUserSession = true\n // Store all current settings\n const settings = Object.keys(this.ui.settings).reduce((p, n) => {\n const v = localStorage[`Comfy.Settings.${n}`]\n if (v) {\n try {\n p[n] = JSON.parse(v)\n } catch (error) {}\n }\n return p\n }, {})\n\n await api.storeSettings(settings)\n }\n\n async #setUser() {\n const userConfig = await api.getUserConfig()\n this.storageLocation = userConfig.storage\n if (typeof userConfig.migrated == 'boolean') {\n // Single user mode migrated true/false for if the default user is created\n if (!userConfig.migrated && this.storageLocation === 'server') {\n // Default user not created yet\n await this.#migrateSettings()\n }\n return\n }\n\n this.multiUserServer = true\n let user = localStorage['Comfy.userId']\n const users = userConfig.users ?? {}\n if (!user || !users[user]) {\n // Lift spinner / BlockUI for user selection.\n if (this.vueAppReady) useWorkspaceStore().spinner = false\n\n // This will rarely be hit so move the loading to on demand\n const { UserSelectionScreen } = await import('./ui/userSelection')\n\n this.ui.menuContainer.style.display = 'none'\n const { userId, username, created } =\n await new UserSelectionScreen().show(users, user)\n this.ui.menuContainer.style.display = ''\n\n user = userId\n localStorage['Comfy.userName'] = username\n localStorage['Comfy.userId'] = user\n\n if (created) {\n api.user = user\n await this.#migrateSettings()\n }\n }\n\n api.user = user\n\n this.ui.settings.addSetting({\n id: 'Comfy.SwitchUser',\n name: 'Switch User',\n type: (name) => {\n let currentUser = localStorage['Comfy.userName']\n if (currentUser) {\n currentUser = ` (${currentUser})`\n }\n return $el('tr', [\n $el('td', [\n $el('label', {\n textContent: name\n })\n ]),\n $el('td', [\n $el('button', {\n textContent: name + (currentUser ?? ''),\n onclick: () => {\n delete localStorage['Comfy.userId']\n delete localStorage['Comfy.userName']\n window.location.reload()\n }\n })\n ])\n ])\n },\n // TODO: Is that the correct default value?\n defaultValue: undefined\n })\n }\n\n /**\n * Set up the app on the page\n */\n async setup(canvasEl: HTMLCanvasElement) {\n this.canvasEl = canvasEl\n await this.#setUser()\n\n this.resizeCanvas()\n\n await Promise.all([\n this.workflowManager.loadWorkflows(),\n this.ui.settings.load()\n ])\n await this.#loadExtensions()\n\n addDomClippingSetting()\n this.#addProcessMouseHandler()\n this.#addProcessKeyHandler()\n this.#addConfigureHandler()\n this.#addApiUpdateHandlers()\n this.#addRestoreWorkflowView()\n\n this.graph = new LGraph()\n\n this.#addAfterConfigureHandler()\n\n this.canvas = new LGraphCanvas(canvasEl, this.graph)\n this.ctx = canvasEl.getContext('2d')\n\n LiteGraph.alt_drag_do_clone_nodes = true\n\n this.graph.start()\n\n // Ensure the canvas fills the window\n this.resizeCanvas()\n window.addEventListener('resize', () => this.resizeCanvas())\n const ro = new ResizeObserver(() => this.resizeCanvas())\n ro.observe(this.bodyTop)\n ro.observe(this.bodyLeft)\n ro.observe(this.bodyRight)\n ro.observe(this.bodyBottom)\n\n await this.#invokeExtensionsAsync('init')\n await this.registerNodes()\n initWidgets(this)\n\n // Load previous workflow\n let restored = false\n try {\n const loadWorkflow = async (json) => {\n if (json) {\n const workflow = JSON.parse(json)\n const workflowName = getStorageValue('Comfy.PreviousWorkflow')\n await this.loadGraphData(workflow, true, true, workflowName)\n return true\n }\n }\n const clientId = api.initialClientId ?? api.clientId\n restored =\n (clientId &&\n (await loadWorkflow(\n sessionStorage.getItem(`workflow:${clientId}`)\n ))) ||\n (await loadWorkflow(localStorage.getItem('workflow')))\n } catch (err) {\n console.error('Error loading previous workflow', err)\n }\n\n // We failed to restore a workflow so load the default\n if (!restored) {\n await this.loadGraphData()\n }\n\n // Save current workflow automatically\n setInterval(() => {\n const sortNodes =\n this.vueAppReady &&\n useSettingStore().get('Comfy.Workflow.SortNodeIdOnSave')\n const workflow = JSON.stringify(this.graph.serialize({ sortNodes }))\n localStorage.setItem('workflow', workflow)\n if (api.clientId) {\n sessionStorage.setItem(`workflow:${api.clientId}`, workflow)\n }\n }, 1000)\n\n this.#addDrawNodeHandler()\n this.#addDrawGroupsHandler()\n this.#addDropHandler()\n this.#addCopyHandler()\n this.#addPasteHandler()\n this.#addKeyboardHandler()\n\n await this.#invokeExtensionsAsync('setup')\n }\n\n resizeCanvas() {\n // Limit minimal scale to 1, see https://github.com/comfyanonymous/ComfyUI/pull/845\n const scale = Math.max(window.devicePixelRatio, 1)\n\n // Clear fixed width and height while calculating rect so it uses 100% instead\n this.canvasEl.height = this.canvasEl.width = NaN\n const { width, height } = this.canvasEl.getBoundingClientRect()\n this.canvasEl.width = Math.round(width * scale)\n this.canvasEl.height = Math.round(height * scale)\n this.canvasEl.getContext('2d').scale(scale, scale)\n this.canvas?.draw(true, true)\n }\n\n private updateVueAppNodeDefs(defs: Record) {\n // Frontend only nodes registered by custom nodes.\n // Example: https://github.com/rgthree/rgthree-comfy/blob/dd534e5384be8cf0c0fa35865afe2126ba75ac55/src_web/comfyui/fast_groups_bypasser.ts#L10\n const rawDefs = Object.fromEntries(\n Object.entries(LiteGraph.registered_node_types).map(([name, node]) => [\n name,\n {\n name,\n display_name: name,\n // @ts-expect-error\n category: node.category || '__frontend_only__',\n input: { required: {}, optional: {} },\n output: [],\n output_name: [],\n output_is_list: [],\n python_module: 'custom_nodes.frontend_only',\n description: `Frontend only node for ${name}`\n }\n ])\n )\n\n const allNodeDefs = {\n ...rawDefs,\n ...defs,\n ...SYSTEM_NODE_DEFS\n }\n\n const nodeDefStore = useNodeDefStore()\n nodeDefStore.updateNodeDefs(Object.values(allNodeDefs))\n nodeDefStore.updateWidgets(this.widgets)\n }\n\n /**\n * Registers nodes with the graph\n */\n async registerNodes() {\n // Load node definitions from the backend\n const defs = await api.getNodeDefs()\n await this.registerNodesFromDefs(defs)\n await this.#invokeExtensionsAsync('registerCustomNodes')\n if (this.vueAppReady) {\n this.updateVueAppNodeDefs(defs)\n }\n }\n\n getWidgetType(inputData, inputName) {\n const type = inputData[0]\n\n if (Array.isArray(type)) {\n return 'COMBO'\n } else if (`${type}:${inputName}` in this.widgets) {\n return `${type}:${inputName}`\n } else if (type in this.widgets) {\n return type\n } else {\n return null\n }\n }\n\n async registerNodeDef(nodeId: string, nodeData: ComfyNodeDef) {\n const self = this\n const node = class ComfyNode extends LGraphNode {\n static comfyClass? = nodeData.name\n // TODO: change to \"title?\" once litegraph.d.ts has been updated\n static title = nodeData.display_name || nodeData.name\n static nodeData? = nodeData\n static category?: string\n\n constructor(title?: string) {\n super(title)\n var inputs = nodeData['input']['required']\n if (nodeData['input']['optional'] != undefined) {\n inputs = Object.assign(\n {},\n nodeData['input']['required'],\n nodeData['input']['optional']\n )\n }\n const config = { minWidth: 1, minHeight: 1 }\n for (const inputName in inputs) {\n const inputData = inputs[inputName]\n const type = inputData[0]\n\n let widgetCreated = true\n const widgetType = self.getWidgetType(inputData, inputName)\n if (widgetType) {\n if (widgetType === 'COMBO') {\n Object.assign(\n config,\n self.widgets.COMBO(this, inputName, inputData, app) || {}\n )\n } else {\n Object.assign(\n config,\n self.widgets[widgetType](this, inputName, inputData, app) || {}\n )\n }\n } else {\n // Node connection inputs\n this.addInput(inputName, type)\n widgetCreated = false\n }\n // @ts-expect-error\n if (widgetCreated && inputData[1]?.forceInput && config?.widget) {\n // @ts-expect-error\n if (!config.widget.options) config.widget.options = {}\n // @ts-expect-error\n config.widget.options.forceInput = inputData[1].forceInput\n }\n // @ts-expect-error\n if (widgetCreated && inputData[1]?.defaultInput && config?.widget) {\n // @ts-expect-error\n if (!config.widget.options) config.widget.options = {}\n // @ts-expect-error\n config.widget.options.defaultInput = inputData[1].defaultInput\n }\n }\n\n for (const o in nodeData['output']) {\n let output = nodeData['output'][o]\n if (output instanceof Array) output = 'COMBO'\n const outputName = nodeData['output_name'][o] || output\n const outputShape = nodeData['output_is_list'][o]\n ? LiteGraph.GRID_SHAPE\n : LiteGraph.CIRCLE_SHAPE\n this.addOutput(outputName, output, { shape: outputShape })\n }\n\n const s = this.computeSize()\n s[0] = Math.max(config.minWidth, s[0] * 1.5)\n s[1] = Math.max(config.minHeight, s[1])\n this.size = s\n this.serialize_widgets = true\n\n app.#invokeExtensionsAsync('nodeCreated', this)\n }\n }\n // @ts-expect-error\n node.prototype.comfyClass = nodeData.name\n\n this.#addNodeContextMenuHandler(node)\n this.#addDrawBackgroundHandler(node)\n this.#addNodeKeyHandler(node)\n\n await this.#invokeExtensionsAsync('beforeRegisterNodeDef', node, nodeData)\n LiteGraph.registerNodeType(nodeId, node)\n node.category = nodeData.category\n }\n\n async registerNodesFromDefs(defs: Record) {\n await this.#invokeExtensionsAsync('addCustomNodeDefs', defs)\n\n // Generate list of known widgets\n this.widgets = Object.assign(\n {},\n ComfyWidgets,\n ...(await this.#invokeExtensionsAsync('getCustomWidgets')).filter(Boolean)\n )\n\n // Register a node for each definition\n for (const nodeId in defs) {\n this.registerNodeDef(nodeId, defs[nodeId])\n }\n }\n\n loadTemplateData(templateData) {\n if (!templateData?.templates) {\n return\n }\n\n const old = localStorage.getItem('litegrapheditor_clipboard')\n\n var maxY, nodeBottom, node\n\n for (const template of templateData.templates) {\n if (!template?.data) {\n continue\n }\n\n localStorage.setItem('litegrapheditor_clipboard', template.data)\n app.canvas.pasteFromClipboard()\n\n // Move mouse position down to paste the next template below\n\n maxY = false\n\n for (const i in app.canvas.selected_nodes) {\n node = app.canvas.selected_nodes[i]\n\n nodeBottom = node.pos[1] + node.size[1]\n\n if (maxY === false || nodeBottom > maxY) {\n maxY = nodeBottom\n }\n }\n\n app.canvas.graph_mouse[1] = maxY + 50\n }\n\n localStorage.setItem('litegrapheditor_clipboard', old)\n }\n\n showMissingNodesError(missingNodeTypes, hasAddedNodes = true) {\n if (\n this.vueAppReady &&\n useSettingStore().get('Comfy.Workflow.ShowMissingNodesWarning')\n ) {\n showLoadWorkflowWarning({\n missingNodeTypes,\n hasAddedNodes,\n maximizable: true\n })\n }\n\n this.logging.addEntry('Comfy.App', 'warn', {\n MissingNodes: missingNodeTypes\n })\n }\n\n showMissingModelsError(missingModels) {\n if (\n this.vueAppReady &&\n useSettingStore().get('Comfy.Workflow.ShowMissingModelsWarning')\n ) {\n showMissingModelsWarning({\n missingModels,\n maximizable: true\n })\n }\n\n this.logging.addEntry('Comfy.App', 'warn', {\n MissingModels: missingModels\n })\n }\n\n async changeWorkflow(callback, workflow = null) {\n try {\n this.workflowManager.activeWorkflow?.changeTracker?.store()\n } catch (error) {\n console.error(error)\n }\n await callback()\n try {\n this.workflowManager.setWorkflow(workflow)\n this.workflowManager.activeWorkflow?.track()\n } catch (error) {\n console.error(error)\n }\n }\n\n async loadGraphData(\n graphData?: ComfyWorkflowJSON,\n clean: boolean = true,\n restore_view: boolean = true,\n workflow: string | null | ComfyWorkflow = null\n ) {\n if (clean !== false) {\n this.clean()\n }\n\n let reset_invalid_values = false\n if (!graphData) {\n graphData = defaultGraph\n reset_invalid_values = true\n }\n\n if (typeof structuredClone === 'undefined') {\n graphData = JSON.parse(JSON.stringify(graphData))\n } else {\n graphData = structuredClone(graphData)\n }\n\n try {\n this.workflowManager.setWorkflow(workflow)\n } catch (error) {\n console.error(error)\n }\n\n if (\n this.vueAppReady &&\n useSettingStore().get('Comfy.Validation.Workflows')\n ) {\n // TODO: Show validation error in a dialog.\n const validatedGraphData = await validateComfyWorkflow(\n graphData,\n /* onError=*/ alert\n )\n // If the validation failed, use the original graph data.\n // Ideally we should not block users from loading the workflow.\n graphData = validatedGraphData ?? graphData\n }\n\n const missingNodeTypes = []\n const missingModels = []\n await this.#invokeExtensionsAsync(\n 'beforeConfigureGraph',\n graphData,\n missingNodeTypes\n // TODO: missingModels\n )\n for (let n of graphData.nodes) {\n // Patch T2IAdapterLoader to ControlNetLoader since they are the same node now\n if (n.type == 'T2IAdapterLoader') n.type = 'ControlNetLoader'\n if (n.type == 'ConditioningAverage ') n.type = 'ConditioningAverage' //typo fix\n if (n.type == 'SDV_img2vid_Conditioning')\n n.type = 'SVD_img2vid_Conditioning' //typo fix\n\n // Find missing node types\n if (!(n.type in LiteGraph.registered_node_types)) {\n missingNodeTypes.push(n.type)\n n.type = sanitizeNodeName(n.type)\n }\n }\n if (\n graphData.models &&\n useSettingStore().get('Comfy.Workflow.ShowMissingModelsWarning')\n ) {\n for (let m of graphData.models) {\n const models_available = await this.getModelsInFolderCached(m.directory)\n if (models_available === null) {\n // @ts-expect-error\n m.directory_invalid = true\n missingModels.push(m)\n } else if (!models_available.includes(m.name)) {\n missingModels.push(m)\n }\n }\n }\n\n try {\n this.graph.configure(graphData)\n if (\n restore_view &&\n this.enableWorkflowViewRestore.value &&\n graphData.extra?.ds\n ) {\n // @ts-expect-error\n // Need to set strict: true for zod to match the type [number, number]\n // https://github.com/colinhacks/zod/issues/3056\n this.canvas.ds.offset = graphData.extra.ds.offset\n this.canvas.ds.scale = graphData.extra.ds.scale\n }\n\n try {\n this.workflowManager.activeWorkflow?.track()\n } catch (error) {\n // TODO: Do we want silently fail here?\n }\n } catch (error) {\n let errorHint = []\n // Try extracting filename to see if it was caused by an extension script\n const filename =\n error.fileName ||\n (error.stack || '').match(/(\\/extensions\\/.*\\.js)/)?.[1]\n const pos = (filename || '').indexOf('/extensions/')\n if (pos > -1) {\n errorHint.push(\n $el('span', {\n textContent: 'This may be due to the following script:'\n }),\n $el('br'),\n $el('span', {\n style: {\n fontWeight: 'bold'\n },\n textContent: filename.substring(pos)\n })\n )\n }\n\n // Show dialog to let the user know something went wrong loading the data\n this.ui.dialog.show(\n $el('div', [\n $el('p', {\n textContent: 'Loading aborted due to error reloading workflow data'\n }),\n $el('pre', {\n style: { padding: '5px', backgroundColor: 'rgba(255,0,0,0.2)' },\n textContent: error.toString()\n }),\n $el('pre', {\n style: {\n padding: '5px',\n color: '#ccc',\n fontSize: '10px',\n maxHeight: '50vh',\n overflow: 'auto',\n backgroundColor: 'rgba(0,0,0,0.2)'\n },\n textContent: error.stack || 'No stacktrace available'\n }),\n ...errorHint\n ]).outerHTML\n )\n\n return\n }\n // @ts-expect-error\n for (const node of this.graph._nodes) {\n const size = node.computeSize()\n size[0] = Math.max(node.size[0], size[0])\n size[1] = Math.max(node.size[1], size[1])\n node.size = size\n if (node.widgets) {\n // If you break something in the backend and want to patch workflows in the frontend\n // This is the place to do this\n for (let widget of node.widgets) {\n if (node.type == 'KSampler' || node.type == 'KSamplerAdvanced') {\n if (widget.name == 'sampler_name') {\n if (widget.value.startsWith('sample_')) {\n widget.value = widget.value.slice(7)\n }\n }\n }\n if (\n node.type == 'KSampler' ||\n node.type == 'KSamplerAdvanced' ||\n node.type == 'PrimitiveNode'\n ) {\n if (widget.name == 'control_after_generate') {\n if (widget.value === true) {\n widget.value = 'randomize'\n } else if (widget.value === false) {\n widget.value = 'fixed'\n }\n }\n }\n if (reset_invalid_values) {\n if (widget.type == 'combo') {\n if (\n !widget.options.values.includes(widget.value) &&\n widget.options.values.length > 0\n ) {\n widget.value = widget.options.values[0]\n }\n }\n }\n }\n }\n\n this.#invokeExtensions('loadedGraphNode', node)\n }\n\n // TODO: Properly handle if both nodes and models are missing (sequential dialogs?)\n if (missingNodeTypes.length) {\n this.showMissingNodesError(missingNodeTypes)\n }\n if (missingModels.length) {\n this.showMissingModelsError(missingModels)\n }\n await this.#invokeExtensionsAsync('afterConfigureGraph', missingNodeTypes)\n requestAnimationFrame(() => {\n this.graph.setDirtyCanvas(true, true)\n })\n }\n\n /**\n * Converts the current graph workflow for sending to the API\n * @returns The workflow and node links\n */\n async graphToPrompt(graph = this.graph, clean = true) {\n for (const outerNode of this.graph.computeExecutionOrder(false)) {\n if (outerNode.widgets) {\n for (const widget of outerNode.widgets) {\n // Allow widgets to run callbacks before a prompt has been queued\n // e.g. random seed before every gen\n widget.beforeQueued?.()\n }\n }\n\n const innerNodes = outerNode.getInnerNodes\n ? outerNode.getInnerNodes()\n : [outerNode]\n for (const node of innerNodes) {\n if (node.isVirtualNode) {\n // Don't serialize frontend only nodes but let them make changes\n if (node.applyToGraph) {\n node.applyToGraph()\n }\n }\n }\n }\n\n const sortNodes =\n this.vueAppReady &&\n useSettingStore().get('Comfy.Workflow.SortNodeIdOnSave')\n const workflow = graph.serialize({ sortNodes })\n const output = {}\n // Process nodes in order of execution\n for (const outerNode of graph.computeExecutionOrder(false)) {\n const skipNode = outerNode.mode === 2 || outerNode.mode === 4\n const innerNodes =\n !skipNode && outerNode.getInnerNodes\n ? outerNode.getInnerNodes()\n : [outerNode]\n for (const node of innerNodes) {\n if (node.isVirtualNode) {\n continue\n }\n\n if (node.mode === 2 || node.mode === 4) {\n // Don't serialize muted nodes\n continue\n }\n\n const inputs = {}\n const widgets = node.widgets\n\n // Store all widget values\n if (widgets) {\n for (const i in widgets) {\n const widget = widgets[i]\n if (!widget.options || widget.options.serialize !== false) {\n inputs[widget.name] = widget.serializeValue\n ? await widget.serializeValue(node, i)\n : widget.value\n }\n }\n }\n\n // Store all node links\n for (let i in node.inputs) {\n let parent = node.getInputNode(i)\n if (parent) {\n let link = node.getInputLink(i)\n while (parent.mode === 4 || parent.isVirtualNode) {\n let found = false\n if (parent.isVirtualNode) {\n link = parent.getInputLink(link.origin_slot)\n if (link) {\n parent = parent.getInputNode(link.target_slot)\n if (parent) {\n found = true\n }\n }\n } else if (link && parent.mode === 4) {\n let all_inputs = [link.origin_slot]\n if (parent.inputs) {\n all_inputs = all_inputs.concat(Object.keys(parent.inputs))\n for (let parent_input in all_inputs) {\n parent_input = all_inputs[parent_input]\n if (\n parent.inputs[parent_input]?.type === node.inputs[i].type\n ) {\n link = parent.getInputLink(parent_input)\n if (link) {\n parent = parent.getInputNode(parent_input)\n }\n found = true\n break\n }\n }\n }\n }\n\n if (!found) {\n break\n }\n }\n\n if (link) {\n if (parent?.updateLink) {\n link = parent.updateLink(link)\n }\n if (link) {\n inputs[node.inputs[i].name] = [\n String(link.origin_id),\n parseInt(link.origin_slot)\n ]\n }\n }\n }\n }\n\n let node_data = {\n inputs,\n class_type: node.comfyClass\n }\n\n if (this.ui.settings.getSettingValue('Comfy.DevMode')) {\n // Ignored by the backend.\n node_data['_meta'] = {\n title: node.title\n }\n }\n\n output[String(node.id)] = node_data\n }\n }\n\n // Remove inputs connected to removed nodes\n if (clean) {\n for (const o in output) {\n for (const i in output[o].inputs) {\n if (\n Array.isArray(output[o].inputs[i]) &&\n output[o].inputs[i].length === 2 &&\n !output[output[o].inputs[i][0]]\n ) {\n delete output[o].inputs[i]\n }\n }\n }\n }\n\n return { workflow, output }\n }\n\n #formatPromptError(error) {\n if (error == null) {\n return '(unknown error)'\n } else if (typeof error === 'string') {\n return error\n } else if (error.stack && error.message) {\n return error.toString()\n } else if (error.response) {\n let message = error.response.error.message\n if (error.response.error.details)\n message += ': ' + error.response.error.details\n for (const [nodeID, nodeError] of Object.entries(\n error.response.node_errors\n )) {\n // @ts-expect-error\n message += '\\n' + nodeError.class_type + ':'\n // @ts-expect-error\n for (const errorReason of nodeError.errors) {\n message +=\n '\\n - ' + errorReason.message + ': ' + errorReason.details\n }\n }\n return message\n }\n return '(unknown error)'\n }\n\n async queuePrompt(number, batchCount = 1) {\n this.#queueItems.push({ number, batchCount })\n\n // Only have one action process the items so each one gets a unique seed correctly\n if (this.#processingQueue) {\n return\n }\n\n this.#processingQueue = true\n this.lastNodeErrors = null\n\n try {\n while (this.#queueItems.length) {\n ;({ number, batchCount } = this.#queueItems.pop())\n\n for (let i = 0; i < batchCount; i++) {\n const p = await this.graphToPrompt()\n\n try {\n const res = await api.queuePrompt(number, p)\n this.lastNodeErrors = res.node_errors\n if (this.lastNodeErrors.length > 0) {\n this.canvas.draw(true, true)\n } else {\n try {\n this.workflowManager.storePrompt({\n id: res.prompt_id,\n nodes: Object.keys(p.output)\n })\n } catch (error) {}\n }\n } catch (error) {\n const formattedError = this.#formatPromptError(error)\n this.ui.dialog.show(formattedError)\n if (error.response) {\n this.lastNodeErrors = error.response.node_errors\n this.canvas.draw(true, true)\n }\n break\n }\n\n for (const n of p.workflow.nodes) {\n const node = this.graph.getNodeById(n.id)\n if (node.widgets) {\n for (const widget of node.widgets) {\n // Allow widgets to run callbacks after a prompt has been queued\n // e.g. random seed after every gen\n // @ts-expect-error\n if (widget.afterQueued) {\n // @ts-expect-error\n widget.afterQueued()\n }\n }\n }\n }\n\n this.canvas.draw(true, true)\n await this.ui.queue.update()\n }\n }\n } finally {\n this.#processingQueue = false\n }\n api.dispatchEvent(\n new CustomEvent('promptQueued', { detail: { number, batchCount } })\n )\n return !this.lastNodeErrors\n }\n\n showErrorOnFileLoad(file) {\n this.ui.dialog.show(\n $el('div', [\n $el('p', { textContent: `Unable to find workflow in ${file.name}` })\n ]).outerHTML\n )\n }\n\n /**\n * Loads workflow data from the specified file\n * @param {File} file\n */\n async handleFile(file) {\n const removeExt = (f) => {\n if (!f) return f\n const p = f.lastIndexOf('.')\n if (p === -1) return f\n return f.substring(0, p)\n }\n const fileName = removeExt(file.name)\n if (file.type === 'image/png') {\n const pngInfo = await getPngMetadata(file)\n if (pngInfo?.workflow) {\n await this.loadGraphData(\n JSON.parse(pngInfo.workflow),\n true,\n true,\n fileName\n )\n } else if (pngInfo?.prompt) {\n this.loadApiJson(JSON.parse(pngInfo.prompt), fileName)\n } else if (pngInfo?.parameters) {\n this.changeWorkflow(() => {\n importA1111(this.graph, pngInfo.parameters)\n }, fileName)\n } else {\n this.showErrorOnFileLoad(file)\n }\n } else if (file.type === 'image/webp') {\n const pngInfo = await getWebpMetadata(file)\n // Support loading workflows from that webp custom node.\n const workflow = pngInfo?.workflow || pngInfo?.Workflow\n const prompt = pngInfo?.prompt || pngInfo?.Prompt\n\n if (workflow) {\n this.loadGraphData(JSON.parse(workflow), true, true, fileName)\n } else if (prompt) {\n this.loadApiJson(JSON.parse(prompt), fileName)\n } else {\n this.showErrorOnFileLoad(file)\n }\n } else if (file.type === 'audio/flac' || file.type === 'audio/x-flac') {\n const pngInfo = await getFlacMetadata(file)\n const workflow = pngInfo?.workflow || pngInfo?.Workflow\n const prompt = pngInfo?.prompt || pngInfo?.Prompt\n\n if (workflow) {\n this.loadGraphData(JSON.parse(workflow), true, true, fileName)\n } else if (prompt) {\n this.loadApiJson(JSON.parse(prompt), fileName)\n } else {\n this.showErrorOnFileLoad(file)\n }\n } else if (\n file.type === 'application/json' ||\n file.name?.endsWith('.json')\n ) {\n const reader = new FileReader()\n reader.onload = async () => {\n const readerResult = reader.result as string\n const jsonContent = JSON.parse(readerResult)\n if (jsonContent?.templates) {\n this.loadTemplateData(jsonContent)\n } else if (this.isApiJson(jsonContent)) {\n this.loadApiJson(jsonContent, fileName)\n } else {\n await this.loadGraphData(\n JSON.parse(readerResult),\n true,\n false,\n fileName\n )\n }\n }\n reader.readAsText(file)\n } else if (\n file.name?.endsWith('.latent') ||\n file.name?.endsWith('.safetensors')\n ) {\n const info = await getLatentMetadata(file)\n // TODO define schema to LatentMetadata\n // @ts-expect-error\n if (info.workflow) {\n await this.loadGraphData(\n // @ts-expect-error\n JSON.parse(info.workflow),\n true,\n true,\n fileName\n )\n // @ts-expect-error\n } else if (info.prompt) {\n // @ts-expect-error\n this.loadApiJson(JSON.parse(info.prompt))\n } else {\n this.showErrorOnFileLoad(file)\n }\n } else {\n this.showErrorOnFileLoad(file)\n }\n }\n\n isApiJson(data) {\n // @ts-expect-error\n return Object.values(data).every((v) => v.class_type)\n }\n\n loadApiJson(apiData, fileName: string) {\n const missingNodeTypes = Object.values(apiData).filter(\n // @ts-expect-error\n (n) => !LiteGraph.registered_node_types[n.class_type]\n )\n if (missingNodeTypes.length) {\n this.showMissingNodesError(\n // @ts-expect-error\n missingNodeTypes.map((t) => t.class_type),\n false\n )\n return\n }\n\n const ids = Object.keys(apiData)\n app.graph.clear()\n for (const id of ids) {\n const data = apiData[id]\n const node = LiteGraph.createNode(data.class_type)\n // @ts-expect-error\n node.id = isNaN(+id) ? id : +id\n node.title = data._meta?.title ?? node.title\n app.graph.add(node)\n }\n\n this.changeWorkflow(() => {\n for (const id of ids) {\n const data = apiData[id]\n const node = app.graph.getNodeById(Number.parseInt(id))\n for (const input in data.inputs ?? {}) {\n const value = data.inputs[input]\n if (value instanceof Array) {\n const [fromId, fromSlot] = value\n const fromNode = app.graph.getNodeById(fromId)\n let toSlot = node.inputs?.findIndex((inp) => inp.name === input)\n if (toSlot == null || toSlot === -1) {\n try {\n // Target has no matching input, most likely a converted widget\n const widget = node.widgets?.find((w) => w.name === input)\n // @ts-expect-error\n if (widget && node.convertWidgetToInput?.(widget)) {\n toSlot = node.inputs?.length - 1\n }\n } catch (error) {}\n }\n if (toSlot != null || toSlot !== -1) {\n fromNode.connect(fromSlot, node, toSlot)\n }\n } else {\n const widget = node.widgets?.find((w) => w.name === input)\n if (widget) {\n widget.value = value\n // @ts-expect-error\n widget.callback?.(value)\n }\n }\n }\n }\n app.graph.arrange()\n }, fileName)\n\n for (const id of ids) {\n const data = apiData[id]\n const node = app.graph.getNodeById(Number.parseInt(id))\n for (const input in data.inputs ?? {}) {\n const value = data.inputs[input]\n if (value instanceof Array) {\n const [fromId, fromSlot] = value\n const fromNode = app.graph.getNodeById(fromId)\n let toSlot = node.inputs?.findIndex((inp) => inp.name === input)\n if (toSlot == null || toSlot === -1) {\n try {\n // Target has no matching input, most likely a converted widget\n const widget = node.widgets?.find((w) => w.name === input)\n // @ts-expect-error\n if (widget && node.convertWidgetToInput?.(widget)) {\n toSlot = node.inputs?.length - 1\n }\n } catch (error) {}\n }\n if (toSlot != null || toSlot !== -1) {\n fromNode.connect(fromSlot, node, toSlot)\n }\n } else {\n const widget = node.widgets?.find((w) => w.name === input)\n if (widget) {\n widget.value = value\n // @ts-expect-error\n widget.callback?.(value)\n }\n }\n }\n }\n\n app.graph.arrange()\n }\n\n /**\n * Gets the list of model names in a folder, using a temporary local cache\n */\n async getModelsInFolderCached(folder: string): Promise {\n if (folder in this.modelsInFolderCache) {\n return this.modelsInFolderCache[folder]\n }\n // TODO: needs a lock to avoid overlapping calls\n const models = await api.getModels(folder)\n this.modelsInFolderCache[folder] = models\n return models\n }\n\n /**\n * Registers a Comfy web extension with the app\n * @param {ComfyExtension} extension\n */\n registerExtension(extension) {\n if (!extension.name) {\n throw new Error(\"Extensions must have a 'name' property.\")\n }\n if (this.extensions.find((ext) => ext.name === extension.name)) {\n throw new Error(`Extension named '${extension.name}' already registered.`)\n }\n this.extensions.push(extension)\n }\n\n /**\n * Refresh combo list on whole nodes\n */\n async refreshComboInNodes() {\n const requestToastMessage: ToastMessageOptions = {\n severity: 'info',\n summary: 'Update',\n detail: 'Update requested'\n }\n if (this.vueAppReady) useToastStore().add(requestToastMessage)\n\n this.modelsInFolderCache = {}\n\n const defs = await api.getNodeDefs()\n\n for (const nodeId in defs) {\n this.registerNodeDef(nodeId, defs[nodeId])\n }\n // @ts-expect-error\n for (let nodeNum in this.graph._nodes) {\n // @ts-expect-error\n const node = this.graph._nodes[nodeNum]\n const def = defs[node.type]\n // @ts-expect-error\n // Allow primitive nodes to handle refresh\n node.refreshComboInNode?.(defs)\n\n if (!def) continue\n\n for (const widgetNum in node.widgets) {\n const widget = node.widgets[widgetNum]\n if (\n widget.type == 'combo' &&\n def['input']['required'][widget.name] !== undefined\n ) {\n widget.options.values = def['input']['required'][widget.name][0]\n\n if (\n widget.name != 'image' &&\n !widget.options.values.includes(widget.value)\n ) {\n widget.value = widget.options.values[0]\n // @ts-expect-error\n widget.callback(widget.value)\n }\n }\n }\n }\n\n await this.#invokeExtensionsAsync('refreshComboInNodes', defs)\n\n if (this.vueAppReady) {\n this.updateVueAppNodeDefs(defs)\n useToastStore().remove(requestToastMessage)\n useToastStore().add({\n severity: 'success',\n summary: 'Updated',\n detail: 'Node definitions updated',\n life: 1000\n })\n }\n }\n\n resetView() {\n app.canvas.ds.scale = 1\n app.canvas.ds.offset = [0, 0]\n app.graph.setDirtyCanvas(true, true)\n }\n\n /**\n * Clean current state\n */\n clean() {\n this.nodeOutputs = {}\n this.nodePreviewImages = {}\n this.lastNodeErrors = null\n this.lastExecutionError = null\n this.runningNodeId = null\n }\n\n addNodeOnGraph(\n nodeDef: ComfyNodeDef | ComfyNodeDefImpl,\n options: Record = {}\n ): LGraphNode {\n const node = LiteGraph.createNode(\n nodeDef.name,\n nodeDef.display_name,\n options\n )\n this.graph.add(node)\n return node\n }\n\n clientPosToCanvasPos(pos: Vector2): Vector2 {\n const rect = this.canvasContainer.getBoundingClientRect()\n const containerOffsets = [rect.left, rect.top]\n return _.zip(pos, this.canvas.ds.offset, containerOffsets).map(\n ([p, o1, o2]) => (p - o2) / this.canvas.ds.scale - o1\n ) as Vector2\n }\n\n canvasPosToClientPos(pos: Vector2): Vector2 {\n const rect = this.canvasContainer.getBoundingClientRect()\n const containerOffsets = [rect.left, rect.top]\n return _.zip(pos, this.canvas.ds.offset, containerOffsets).map(\n ([p, o1, o2]) => (p + o1) * this.canvas.ds.scale + o2\n ) as Vector2\n }\n\n getCanvasCenter(): Vector2 {\n const dpi = Math.max(window.devicePixelRatio ?? 1, 1)\n const [x, y, w, h] = app.canvas.ds.visible_area\n return [x + w / dpi / 2, y + h / dpi / 2]\n }\n\n public goToNode(nodeId: NodeId) {\n // @ts-expect-error TODO: Update litegraph's nodeId type to string | number\n const graphNode = this.graph.getNodeById(nodeId)\n if (!graphNode) return\n this.canvas.centerOnNode(graphNode)\n }\n}\n\nexport const app = new ComfyApp()\n","\n\n\n\n\n","\n\n\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-overlaybadge {\\n position: relative;\\n}\\n\\n.p-overlaybadge .p-badge {\\n position: absolute;\\n top: 0;\\n right: 0;\\n transform: translate(50%, -50%);\\n transform-origin: 100% 0;\\n margin: 0;\\n outline-width: \".concat(dt('overlaybadge.outline.width'), \";\\n outline-style: solid;\\n outline-color: \").concat(dt('overlaybadge.outline.color'), \";\\n}\\n\");\n};\nvar classes = {\n root: 'p-overlaybadge'\n};\nvar OverlayBadgeStyle = BaseStyle.extend({\n name: 'overlaybadge',\n theme: theme,\n classes: classes\n});\n\nexport { OverlayBadgeStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import Badge from 'primevue/badge';\nimport OverlayBadgeStyle from 'primevue/overlaybadge/style';\nimport { resolveComponent, openBlock, createElementBlock, mergeProps, renderSlot, createVNode } from 'vue';\n\nvar script$1 = {\n name: 'OverlayBadge',\n \"extends\": Badge,\n style: OverlayBadgeStyle,\n provide: function provide() {\n return {\n $pcOverlayBadge: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'OverlayBadge',\n \"extends\": script$1,\n inheritAttrs: false,\n components: {\n Badge: Badge\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_Badge = resolveComponent(\"Badge\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root')), [renderSlot(_ctx.$slots, \"default\"), createVNode(_component_Badge, mergeProps(_ctx.$props, {\n pt: _ctx.ptm('pcBadge')\n }), null, 16, [\"pt\"])], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n\n\n\n\n","\n\n\n","\n\n\n","\n\n\n\n\n\n\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-splitter {\\n display: flex;\\n flex-wrap: nowrap;\\n border: 1px solid \".concat(dt('splitter.border.color'), \";\\n background: \").concat(dt('splitter.background'), \";\\n border-radius: \").concat(dt('border.radius.md'), \";\\n color: \").concat(dt('splitter.color'), \";\\n}\\n\\n.p-splitter-vertical {\\n flex-direction: column;\\n}\\n\\n.p-splitter-gutter {\\n flex-grow: 0;\\n flex-shrink: 0;\\n display: flex;\\n align-items: center;\\n justify-content: center;\\n z-index: 1;\\n background: \").concat(dt('splitter.gutter.background'), \";\\n}\\n\\n.p-splitter-gutter-handle {\\n border-radius: \").concat(dt('splitter.handle.border.radius'), \";\\n background: \").concat(dt('splitter.handle.background'), \";\\n transition: outline-color \").concat(dt('splitter.transition.duration'), \", box-shadow \").concat(dt('splitter.transition.duration'), \";\\n outline-color: transparent;\\n}\\n\\n.p-splitter-gutter-handle:focus-visible {\\n box-shadow: \").concat(dt('splitter.handle.focus.ring.shadow'), \";\\n outline: \").concat(dt('splitter.handle.focus.ring.width'), \" \").concat(dt('splitter.handle.focus.ring.style'), \" \").concat(dt('splitter.handle.focus.ring.color'), \";\\n outline-offset: \").concat(dt('splitter.handle.focus.ring.offset'), \";\\n}\\n\\n.p-splitter-horizontal.p-splitter-resizing {\\n cursor: col-resize;\\n user-select: none;\\n}\\n\\n.p-splitter-vertical.p-splitter-resizing {\\n cursor: row-resize;\\n user-select: none;\\n}\\n\\n.p-splitter-horizontal > .p-splitter-gutter > .p-splitter-gutter-handle {\\n height: \").concat(dt('splitter.handle.size'), \";\\n width: 100%;\\n}\\n\\n.p-splitter-vertical > .p-splitter-gutter > .p-splitter-gutter-handle {\\n width: \").concat(dt('splitter.handle.size'), \";\\n height: 100%;\\n}\\n\\n.p-splitter-horizontal > .p-splitter-gutter {\\n cursor: col-resize;\\n}\\n\\n.p-splitter-vertical > .p-splitter-gutter {\\n cursor: row-resize;\\n}\\n\\n.p-splitterpanel {\\n flex-grow: 1;\\n overflow: hidden;\\n}\\n\\n.p-splitterpanel-nested {\\n display: flex;\\n}\\n\\n.p-splitterpanel .p-splitter {\\n flex-grow: 1;\\n border: 0 none;\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return ['p-splitter p-component', 'p-splitter-' + props.layout];\n },\n gutter: 'p-splitter-gutter',\n gutterHandle: 'p-splitter-gutter-handle'\n};\nvar inlineStyles = {\n root: function root(_ref3) {\n var props = _ref3.props;\n return [{\n display: 'flex',\n 'flex-wrap': 'nowrap'\n }, props.layout === 'vertical' ? {\n 'flex-direction': 'column'\n } : ''];\n }\n};\nvar SplitterStyle = BaseStyle.extend({\n name: 'splitter',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { SplitterStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { getVNodeProp } from '@primevue/core/utils';\nimport { getWidth, getHeight, getOuterWidth, getOuterHeight } from '@primeuix/utils/dom';\nimport { isArray } from '@primeuix/utils/object';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport SplitterStyle from 'primevue/splitter/style';\nimport { openBlock, createElementBlock, mergeProps, Fragment, renderList, createBlock, resolveDynamicComponent, createElementVNode, createCommentVNode } from 'vue';\n\nvar script$1 = {\n name: 'BaseSplitter',\n \"extends\": BaseComponent,\n props: {\n layout: {\n type: String,\n \"default\": 'horizontal'\n },\n gutterSize: {\n type: Number,\n \"default\": 4\n },\n stateKey: {\n type: String,\n \"default\": null\n },\n stateStorage: {\n type: String,\n \"default\": 'session'\n },\n step: {\n type: Number,\n \"default\": 5\n }\n },\n style: SplitterStyle,\n provide: function provide() {\n return {\n $pcSplitter: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nvar script = {\n name: 'Splitter',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['resizestart', 'resizeend', 'resize'],\n dragging: false,\n mouseMoveListener: null,\n mouseUpListener: null,\n touchMoveListener: null,\n touchEndListener: null,\n size: null,\n gutterElement: null,\n startPos: null,\n prevPanelElement: null,\n nextPanelElement: null,\n nextPanelSize: null,\n prevPanelSize: null,\n panelSizes: null,\n prevPanelIndex: null,\n timer: null,\n data: function data() {\n return {\n prevSize: null\n };\n },\n mounted: function mounted() {\n var _this = this;\n if (this.panels && this.panels.length) {\n var initialized = false;\n if (this.isStateful()) {\n initialized = this.restoreState();\n }\n if (!initialized) {\n var children = _toConsumableArray(this.$el.children).filter(function (child) {\n return child.getAttribute('data-pc-name') === 'splitterpanel';\n });\n var _panelSizes = [];\n this.panels.map(function (panel, i) {\n var panelInitialSize = panel.props && panel.props.size ? panel.props.size : null;\n var panelSize = panelInitialSize || 100 / _this.panels.length;\n _panelSizes[i] = panelSize;\n children[i].style.flexBasis = 'calc(' + panelSize + '% - ' + (_this.panels.length - 1) * _this.gutterSize + 'px)';\n });\n this.panelSizes = _panelSizes;\n this.prevSize = parseFloat(_panelSizes[0]).toFixed(4);\n }\n }\n },\n beforeUnmount: function beforeUnmount() {\n this.clear();\n this.unbindMouseListeners();\n },\n methods: {\n isSplitterPanel: function isSplitterPanel(child) {\n return child.type.name === 'SplitterPanel';\n },\n onResizeStart: function onResizeStart(event, index, isKeyDown) {\n this.gutterElement = event.currentTarget || event.target.parentElement;\n this.size = this.horizontal ? getWidth(this.$el) : getHeight(this.$el);\n if (!isKeyDown) {\n this.dragging = true;\n this.startPos = this.layout === 'horizontal' ? event.pageX || event.changedTouches[0].pageX : event.pageY || event.changedTouches[0].pageY;\n }\n this.prevPanelElement = this.gutterElement.previousElementSibling;\n this.nextPanelElement = this.gutterElement.nextElementSibling;\n if (isKeyDown) {\n this.prevPanelSize = this.horizontal ? getOuterWidth(this.prevPanelElement, true) : getOuterHeight(this.prevPanelElement, true);\n this.nextPanelSize = this.horizontal ? getOuterWidth(this.nextPanelElement, true) : getOuterHeight(this.nextPanelElement, true);\n } else {\n this.prevPanelSize = 100 * (this.horizontal ? getOuterWidth(this.prevPanelElement, true) : getOuterHeight(this.prevPanelElement, true)) / this.size;\n this.nextPanelSize = 100 * (this.horizontal ? getOuterWidth(this.nextPanelElement, true) : getOuterHeight(this.nextPanelElement, true)) / this.size;\n }\n this.prevPanelIndex = index;\n this.$emit('resizestart', {\n originalEvent: event,\n sizes: this.panelSizes\n });\n this.$refs.gutter[index].setAttribute('data-p-gutter-resizing', true);\n this.$el.setAttribute('data-p-resizing', true);\n },\n onResize: function onResize(event, step, isKeyDown) {\n var newPos, newPrevPanelSize, newNextPanelSize;\n if (isKeyDown) {\n if (this.horizontal) {\n newPrevPanelSize = 100 * (this.prevPanelSize + step) / this.size;\n newNextPanelSize = 100 * (this.nextPanelSize - step) / this.size;\n } else {\n newPrevPanelSize = 100 * (this.prevPanelSize - step) / this.size;\n newNextPanelSize = 100 * (this.nextPanelSize + step) / this.size;\n }\n } else {\n if (this.horizontal) newPos = event.pageX * 100 / this.size - this.startPos * 100 / this.size;else newPos = event.pageY * 100 / this.size - this.startPos * 100 / this.size;\n newPrevPanelSize = this.prevPanelSize + newPos;\n newNextPanelSize = this.nextPanelSize - newPos;\n }\n if (this.validateResize(newPrevPanelSize, newNextPanelSize)) {\n this.prevPanelElement.style.flexBasis = 'calc(' + newPrevPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n this.nextPanelElement.style.flexBasis = 'calc(' + newNextPanelSize + '% - ' + (this.panels.length - 1) * this.gutterSize + 'px)';\n this.panelSizes[this.prevPanelIndex] = newPrevPanelSize;\n this.panelSizes[this.prevPanelIndex + 1] = newNextPanelSize;\n this.prevSize = parseFloat(newPrevPanelSize).toFixed(4);\n }\n this.$emit('resize', {\n originalEvent: event,\n sizes: this.panelSizes\n });\n },\n onResizeEnd: function onResizeEnd(event) {\n if (this.isStateful()) {\n this.saveState();\n }\n this.$emit('resizeend', {\n originalEvent: event,\n sizes: this.panelSizes\n });\n this.$refs.gutter.forEach(function (gutter) {\n return gutter.setAttribute('data-p-gutter-resizing', false);\n });\n this.$el.setAttribute('data-p-resizing', false);\n this.clear();\n },\n repeat: function repeat(event, index, step) {\n this.onResizeStart(event, index, true);\n this.onResize(event, step, true);\n },\n setTimer: function setTimer(event, index, step) {\n var _this2 = this;\n if (!this.timer) {\n this.timer = setInterval(function () {\n _this2.repeat(event, index, step);\n }, 40);\n }\n },\n clearTimer: function clearTimer() {\n if (this.timer) {\n clearInterval(this.timer);\n this.timer = null;\n }\n },\n onGutterKeyUp: function onGutterKeyUp() {\n this.clearTimer();\n this.onResizeEnd();\n },\n onGutterKeyDown: function onGutterKeyDown(event, index) {\n switch (event.code) {\n case 'ArrowLeft':\n {\n if (this.layout === 'horizontal') {\n this.setTimer(event, index, this.step * -1);\n }\n event.preventDefault();\n break;\n }\n case 'ArrowRight':\n {\n if (this.layout === 'horizontal') {\n this.setTimer(event, index, this.step);\n }\n event.preventDefault();\n break;\n }\n case 'ArrowDown':\n {\n if (this.layout === 'vertical') {\n this.setTimer(event, index, this.step * -1);\n }\n event.preventDefault();\n break;\n }\n case 'ArrowUp':\n {\n if (this.layout === 'vertical') {\n this.setTimer(event, index, this.step);\n }\n event.preventDefault();\n break;\n }\n }\n },\n onGutterMouseDown: function onGutterMouseDown(event, index) {\n this.onResizeStart(event, index);\n this.bindMouseListeners();\n },\n onGutterTouchStart: function onGutterTouchStart(event, index) {\n this.onResizeStart(event, index);\n this.bindTouchListeners();\n event.preventDefault();\n },\n onGutterTouchMove: function onGutterTouchMove(event) {\n this.onResize(event);\n event.preventDefault();\n },\n onGutterTouchEnd: function onGutterTouchEnd(event) {\n this.onResizeEnd(event);\n this.unbindTouchListeners();\n event.preventDefault();\n },\n bindMouseListeners: function bindMouseListeners() {\n var _this3 = this;\n if (!this.mouseMoveListener) {\n this.mouseMoveListener = function (event) {\n return _this3.onResize(event);\n };\n document.addEventListener('mousemove', this.mouseMoveListener);\n }\n if (!this.mouseUpListener) {\n this.mouseUpListener = function (event) {\n _this3.onResizeEnd(event);\n _this3.unbindMouseListeners();\n };\n document.addEventListener('mouseup', this.mouseUpListener);\n }\n },\n bindTouchListeners: function bindTouchListeners() {\n var _this4 = this;\n if (!this.touchMoveListener) {\n this.touchMoveListener = function (event) {\n return _this4.onResize(event.changedTouches[0]);\n };\n document.addEventListener('touchmove', this.touchMoveListener);\n }\n if (!this.touchEndListener) {\n this.touchEndListener = function (event) {\n _this4.resizeEnd(event);\n _this4.unbindTouchListeners();\n };\n document.addEventListener('touchend', this.touchEndListener);\n }\n },\n validateResize: function validateResize(newPrevPanelSize, newNextPanelSize) {\n if (newPrevPanelSize > 100 || newPrevPanelSize < 0) return false;\n if (newNextPanelSize > 100 || newNextPanelSize < 0) return false;\n var prevPanelMinSize = getVNodeProp(this.panels[this.prevPanelIndex], 'minSize');\n if (this.panels[this.prevPanelIndex].props && prevPanelMinSize && prevPanelMinSize > newPrevPanelSize) {\n return false;\n }\n var newPanelMinSize = getVNodeProp(this.panels[this.prevPanelIndex + 1], 'minSize');\n if (this.panels[this.prevPanelIndex + 1].props && newPanelMinSize && newPanelMinSize > newNextPanelSize) {\n return false;\n }\n return true;\n },\n unbindMouseListeners: function unbindMouseListeners() {\n if (this.mouseMoveListener) {\n document.removeEventListener('mousemove', this.mouseMoveListener);\n this.mouseMoveListener = null;\n }\n if (this.mouseUpListener) {\n document.removeEventListener('mouseup', this.mouseUpListener);\n this.mouseUpListener = null;\n }\n },\n unbindTouchListeners: function unbindTouchListeners() {\n if (this.touchMoveListener) {\n document.removeEventListener('touchmove', this.touchMoveListener);\n this.touchMoveListener = null;\n }\n if (this.touchEndListener) {\n document.removeEventListener('touchend', this.touchEndListener);\n this.touchEndListener = null;\n }\n },\n clear: function clear() {\n this.dragging = false;\n this.size = null;\n this.startPos = null;\n this.prevPanelElement = null;\n this.nextPanelElement = null;\n this.prevPanelSize = null;\n this.nextPanelSize = null;\n this.gutterElement = null;\n this.prevPanelIndex = null;\n },\n isStateful: function isStateful() {\n return this.stateKey != null;\n },\n getStorage: function getStorage() {\n switch (this.stateStorage) {\n case 'local':\n return window.localStorage;\n case 'session':\n return window.sessionStorage;\n default:\n throw new Error(this.stateStorage + ' is not a valid value for the state storage, supported values are \"local\" and \"session\".');\n }\n },\n saveState: function saveState() {\n if (isArray(this.panelSizes)) {\n this.getStorage().setItem(this.stateKey, JSON.stringify(this.panelSizes));\n }\n },\n restoreState: function restoreState() {\n var _this5 = this;\n var storage = this.getStorage();\n var stateString = storage.getItem(this.stateKey);\n if (stateString) {\n this.panelSizes = JSON.parse(stateString);\n var children = _toConsumableArray(this.$el.children).filter(function (child) {\n return child.getAttribute('data-pc-name') === 'splitterpanel';\n });\n children.forEach(function (child, i) {\n child.style.flexBasis = 'calc(' + _this5.panelSizes[i] + '% - ' + (_this5.panels.length - 1) * _this5.gutterSize + 'px)';\n });\n return true;\n }\n return false;\n }\n },\n computed: {\n panels: function panels() {\n var _this6 = this;\n var panels = [];\n this.$slots[\"default\"]().forEach(function (child) {\n if (_this6.isSplitterPanel(child)) {\n panels.push(child);\n } else if (child.children instanceof Array) {\n child.children.forEach(function (nestedChild) {\n if (_this6.isSplitterPanel(nestedChild)) {\n panels.push(nestedChild);\n }\n });\n }\n });\n return panels;\n },\n gutterStyle: function gutterStyle() {\n if (this.horizontal) return {\n width: this.gutterSize + 'px'\n };else return {\n height: this.gutterSize + 'px'\n };\n },\n horizontal: function horizontal() {\n return this.layout === 'horizontal';\n },\n getPTOptions: function getPTOptions() {\n var _this$$parentInstance;\n return {\n context: {\n nested: (_this$$parentInstance = this.$parentInstance) === null || _this$$parentInstance === void 0 ? void 0 : _this$$parentInstance.nestedState\n }\n };\n }\n }\n};\n\nvar _hoisted_1 = [\"onMousedown\", \"onTouchstart\", \"onTouchmove\", \"onTouchend\"];\nvar _hoisted_2 = [\"aria-orientation\", \"aria-valuenow\", \"onKeydown\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n style: _ctx.sx('root'),\n \"data-p-resizing\": false\n }, _ctx.ptmi('root', $options.getPTOptions)), [(openBlock(true), createElementBlock(Fragment, null, renderList($options.panels, function (panel, i) {\n return openBlock(), createElementBlock(Fragment, {\n key: i\n }, [(openBlock(), createBlock(resolveDynamicComponent(panel), {\n tabindex: \"-1\"\n })), i !== $options.panels.length - 1 ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref_for: true,\n ref: \"gutter\",\n \"class\": _ctx.cx('gutter'),\n role: \"separator\",\n tabindex: \"-1\",\n onMousedown: function onMousedown($event) {\n return $options.onGutterMouseDown($event, i);\n },\n onTouchstart: function onTouchstart($event) {\n return $options.onGutterTouchStart($event, i);\n },\n onTouchmove: function onTouchmove($event) {\n return $options.onGutterTouchMove($event, i);\n },\n onTouchend: function onTouchend($event) {\n return $options.onGutterTouchEnd($event, i);\n },\n \"data-p-gutter-resizing\": false\n }, _ctx.ptm('gutter')), [createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('gutterHandle'),\n tabindex: \"0\",\n style: [$options.gutterStyle],\n \"aria-orientation\": _ctx.layout,\n \"aria-valuenow\": $data.prevSize,\n onKeyup: _cache[0] || (_cache[0] = function () {\n return $options.onGutterKeyUp && $options.onGutterKeyUp.apply($options, arguments);\n }),\n onKeydown: function onKeydown($event) {\n return $options.onGutterKeyDown($event, i);\n },\n ref_for: true\n }, _ctx.ptm('gutterHandle')), null, 16, _hoisted_2)], 16, _hoisted_1)) : createCommentVNode(\"\", true)], 64);\n }), 128))], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar classes = {\n root: function root(_ref) {\n var instance = _ref.instance;\n return ['p-splitterpanel', {\n 'p-splitterpanel-nested': instance.isNested\n }];\n }\n};\nvar SplitterPanelStyle = BaseStyle.extend({\n name: 'splitterpanel',\n classes: classes\n});\n\nexport { SplitterPanelStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseComponent from '@primevue/core/basecomponent';\nimport SplitterPanelStyle from 'primevue/splitterpanel/style';\nimport { openBlock, createElementBlock, mergeProps, renderSlot } from 'vue';\n\nvar script$1 = {\n name: 'BaseSplitterPanel',\n \"extends\": BaseComponent,\n props: {\n size: {\n type: Number,\n \"default\": null\n },\n minSize: {\n type: Number,\n \"default\": null\n }\n },\n style: SplitterPanelStyle,\n provide: function provide() {\n return {\n $pcSplitterPanel: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'SplitterPanel',\n \"extends\": script$1,\n inheritAttrs: false,\n data: function data() {\n return {\n nestedState: null\n };\n },\n computed: {\n isNested: function isNested() {\n var _this = this;\n return this.$slots[\"default\"]().some(function (child) {\n _this.nestedState = child.type.name === 'Splitter' ? true : null;\n return _this.nestedState;\n });\n },\n getPTOptions: function getPTOptions() {\n return {\n context: {\n nested: this.isNested\n }\n };\n }\n }\n};\n\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"div\", mergeProps({\n ref: \"container\",\n \"class\": _ctx.cx('root')\n }, _ctx.ptmi('root', $options.getPTOptions)), [renderSlot(_ctx.$slots, \"default\")], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n\n\n\n\n","import { isNotEmpty } from '@primeuix/utils/object';\nimport BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-autocomplete {\\n display: inline-flex;\\n}\\n\\n.p-autocomplete-loader {\\n position: absolute;\\n top: 50%;\\n margin-top: -0.5rem;\\n right: \".concat(dt('autocomplete.padding.x'), \";\\n}\\n\\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-loader {\\n right: calc(\").concat(dt('autocomplete.dropdown.width'), \" + \").concat(dt('autocomplete.padding.x'), \");\\n}\\n\\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input {\\n flex: 1 1 auto;\\n width: 1%;\\n}\\n\\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input,\\n.p-autocomplete:has(.p-autocomplete-dropdown) .p-autocomplete-input-multiple {\\n border-top-right-radius: 0;\\n border-bottom-right-radius: 0;\\n}\\n\\n.p-autocomplete-dropdown {\\n cursor: pointer;\\n display: inline-flex;\\n cursor: pointer;\\n user-select: none;\\n align-items: center;\\n justify-content: center;\\n overflow: hidden;\\n position: relative;\\n width: \").concat(dt('autocomplete.dropdown.width'), \";\\n border-top-right-radius: \").concat(dt('autocomplete.dropdown.border.radius'), \";\\n border-bottom-right-radius: \").concat(dt('autocomplete.dropdown.border.radius'), \";\\n background: \").concat(dt('autocomplete.dropdown.background'), \";\\n border: 1px solid \").concat(dt('autocomplete.dropdown.border.color'), \";\\n border-left: 0 none;\\n color: \").concat(dt('autocomplete.dropdown.color'), \";\\n transition: background \").concat(dt('autocomplete.transition.duration'), \", color \").concat(dt('autocomplete.transition.duration'), \", border-color \").concat(dt('autocomplete.transition.duration'), \", outline-color \").concat(dt('autocomplete.transition.duration'), \", box-shadow \").concat(dt('autocomplete.transition.duration'), \";\\n outline-color: transparent;\\n}\\n\\n.p-autocomplete-dropdown:not(:disabled):hover {\\n background: \").concat(dt('autocomplete.dropdown.hover.background'), \";\\n border-color: \").concat(dt('autocomplete.dropdown.hover.border.color'), \";\\n color: \").concat(dt('autocomplete.dropdown.hover.color'), \";\\n}\\n\\n.p-autocomplete-dropdown:not(:disabled):active {\\n background: \").concat(dt('autocomplete.dropdown.active.background'), \";\\n border-color: \").concat(dt('autocomplete.dropdown.active.border.color'), \";\\n color: \").concat(dt('autocomplete.dropdown.active.color'), \";\\n}\\n\\n.p-autocomplete-dropdown:focus-visible {\\n box-shadow: \").concat(dt('autocomplete.dropdown.focus.ring.shadow'), \";\\n outline: \").concat(dt('autocomplete.dropdown.focus.ring.width'), \" \").concat(dt('autocomplete.dropdown.focus.ring.style'), \" \").concat(dt('autocomplete.dropdown.focus.ring.color'), \";\\n outline-offset: \").concat(dt('autocomplete.dropdown.focus.ring.offset'), \";\\n}\\n\\n.p-autocomplete .p-autocomplete-overlay {\\n min-width: 100%;\\n}\\n\\n.p-autocomplete-overlay {\\n position: absolute;\\n overflow: auto;\\n top: 0;\\n left: 0;\\n background: \").concat(dt('autocomplete.overlay.background'), \";\\n color: \").concat(dt('autocomplete.overlay.color'), \";\\n border: 1px solid \").concat(dt('autocomplete.overlay.border.color'), \";\\n border-radius: \").concat(dt('autocomplete.overlay.border.radius'), \";\\n box-shadow: \").concat(dt('autocomplete.overlay.shadow'), \";\\n}\\n\\n.p-autocomplete-list {\\n margin: 0;\\n padding: 0;\\n list-style-type: none;\\n display: flex;\\n flex-direction: column;\\n gap: \").concat(dt('autocomplete.list.gap'), \";\\n padding: \").concat(dt('autocomplete.list.padding'), \";\\n}\\n\\n.p-autocomplete-option {\\n cursor: pointer;\\n white-space: nowrap;\\n position: relative;\\n overflow: hidden;\\n display: flex;\\n align-items: center;\\n padding: \").concat(dt('autocomplete.option.padding'), \";\\n border: 0 none;\\n color: \").concat(dt('autocomplete.option.color'), \";\\n background: transparent;\\n transition: background \").concat(dt('autocomplete.transition.duration'), \", color \").concat(dt('autocomplete.transition.duration'), \", border-color \").concat(dt('autocomplete.transition.duration'), \";\\n border-radius: \").concat(dt('autocomplete.option.border.radius'), \";\\n}\\n\\n.p-autocomplete-option:not(.p-autocomplete-option-selected):not(.p-disabled).p-focus {\\n background: \").concat(dt('autocomplete.option.focus.background'), \";\\n color: \").concat(dt('autocomplete.option.focus.color'), \";\\n}\\n\\n.p-autocomplete-option-selected {\\n background: \").concat(dt('autocomplete.option.selected.background'), \";\\n color: \").concat(dt('autocomplete.option.selected.color'), \";\\n}\\n\\n.p-autocomplete-option-selected.p-focus {\\n background: \").concat(dt('autocomplete.option.selected.focus.background'), \";\\n color: \").concat(dt('autocomplete.option.selected.focus.color'), \";\\n}\\n\\n.p-autocomplete-option-group {\\n margin: 0;\\n padding: \").concat(dt('autocomplete.option.group.padding'), \";\\n color: \").concat(dt('autocomplete.option.group.color'), \";\\n background: \").concat(dt('autocomplete.option.group.background'), \";\\n font-weight: \").concat(dt('autocomplete.option.group.font.weight'), \";\\n}\\n\\n.p-autocomplete-input-multiple {\\n margin: 0;\\n list-style-type: none;\\n cursor: text;\\n overflow: hidden;\\n display: flex;\\n align-items: center;\\n flex-wrap: wrap;\\n padding: calc(\").concat(dt('autocomplete.padding.y'), \" / 2) \").concat(dt('autocomplete.padding.x'), \";\\n gap: calc(\").concat(dt('autocomplete.padding.y'), \" / 2);\\n color: \").concat(dt('autocomplete.color'), \";\\n background: \").concat(dt('autocomplete.background'), \";\\n border: 1px solid \").concat(dt('autocomplete.border.color'), \";\\n border-radius: \").concat(dt('autocomplete.border.radius'), \";\\n width: 100%;\\n transition: background \").concat(dt('autocomplete.transition.duration'), \", color \").concat(dt('autocomplete.transition.duration'), \", border-color \").concat(dt('autocomplete.transition.duration'), \", outline-color \").concat(dt('autocomplete.transition.duration'), \", box-shadow \").concat(dt('autocomplete.transition.duration'), \";\\n outline-color: transparent;\\n box-shadow: \").concat(dt('autocomplete.shadow'), \";\\n}\\n\\n.p-autocomplete:not(.p-disabled):hover .p-autocomplete-input-multiple {\\n border-color: \").concat(dt('autocomplete.hover.border.color'), \";\\n}\\n\\n.p-autocomplete:not(.p-disabled).p-focus .p-autocomplete-input-multiple {\\n border-color: \").concat(dt('autocomplete.focus.border.color'), \";\\n box-shadow: \").concat(dt('autocomplete.focus.ring.shadow'), \";\\n outline: \").concat(dt('autocomplete.focus.ring.width'), \" \").concat(dt('autocomplete.focus.ring.style'), \" \").concat(dt('autocomplete.focus.ring.color'), \";\\n outline-offset: \").concat(dt('autocomplete.focus.ring.offset'), \";\\n}\\n\\n.p-autocomplete.p-invalid .p-autocomplete-input-multiple {\\n border-color: \").concat(dt('autocomplete.invalid.border.color'), \";\\n}\\n\\n.p-variant-filled.p-autocomplete-input-multiple {\\n background: \").concat(dt('autocomplete.filled.background'), \";\\n}\\n\\n.p-autocomplete:not(.p-disabled).p-focus .p-variant-filled.p-autocomplete-input-multiple {\\n background: \").concat(dt('autocomplete.filled.focus.background'), \";\\n}\\n\\n.p-autocomplete.p-disabled .p-autocomplete-input-multiple {\\n opacity: 1;\\n background: \").concat(dt('autocomplete.disabled.background'), \";\\n color: \").concat(dt('autocomplete.disabled.color'), \";\\n}\\n\\n.p-autocomplete-chip.p-chip {\\n padding-top: calc(\").concat(dt('autocomplete.padding.y'), \" / 2);\\n padding-bottom: calc(\").concat(dt('autocomplete.padding.y'), \" / 2);\\n border-radius: \").concat(dt('autocomplete.chip.border.radius'), \";\\n}\\n\\n.p-autocomplete-input-multiple:has(.p-autocomplete-chip) {\\n padding-left: calc(\").concat(dt('autocomplete.padding.y'), \" / 2);\\n padding-right: calc(\").concat(dt('autocomplete.padding.y'), \" / 2);\\n}\\n\\n.p-autocomplete-chip-item.p-focus .p-autocomplete-chip {\\n background: \").concat(dt('inputchips.chip.focus.background'), \";\\n color: \").concat(dt('inputchips.chip.focus.color'), \";\\n}\\n\\n.p-autocomplete-input-chip {\\n flex: 1 1 auto;\\n display: inline-flex;\\n padding-top: calc(\").concat(dt('autocomplete.padding.y'), \" / 2);\\n padding-bottom: calc(\").concat(dt('autocomplete.padding.y'), \" / 2);\\n}\\n\\n.p-autocomplete-input-chip input {\\n border: 0 none;\\n outline: 0 none;\\n background: transparent;\\n margin: 0;\\n padding: 0;\\n box-shadow: none;\\n border-radius: 0;\\n width: 100%;\\n font-family: inherit;\\n font-feature-settings: inherit;\\n font-size: 1rem;\\n color: inherit;\\n}\\n\\n.p-autocomplete-input-chip input::placeholder {\\n color: \").concat(dt('autocomplete.placeholder.color'), \";\\n}\\n\\n.p-autocomplete-empty-message {\\n padding: \").concat(dt('autocomplete.empty.message.padding'), \";\\n}\\n\\n.p-autocomplete-fluid {\\n display: flex;\\n}\\n\\n.p-autocomplete-fluid:has(.p-autocomplete-dropdown) .p-autocomplete-input {\\n width: 1%;\\n}\\n\");\n};\nvar inlineStyles = {\n root: {\n position: 'relative'\n }\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props;\n return ['p-autocomplete p-component p-inputwrapper', {\n 'p-disabled': props.disabled,\n 'p-invalid': props.invalid,\n 'p-focus': instance.focused,\n 'p-inputwrapper-filled': props.modelValue || isNotEmpty(instance.inputValue),\n 'p-inputwrapper-focus': instance.focused,\n 'p-autocomplete-open': instance.overlayVisible,\n 'p-autocomplete-fluid': props.fluid\n }];\n },\n pcInput: 'p-autocomplete-input',\n inputMultiple: function inputMultiple(_ref3) {\n var props = _ref3.props,\n instance = _ref3.instance;\n return ['p-autocomplete-input-multiple', {\n 'p-variant-filled': props.variant ? props.variant === 'filled' : instance.$primevue.config.inputStyle === 'filled' || instance.$primevue.config.inputVariant === 'filled'\n }];\n },\n chipItem: function chipItem(_ref4) {\n var instance = _ref4.instance,\n i = _ref4.i;\n return ['p-autocomplete-chip-item', {\n 'p-focus': instance.focusedMultipleOptionIndex === i\n }];\n },\n pcChip: 'p-autocomplete-chip',\n chipIcon: 'p-autocomplete-chip-icon',\n inputChip: 'p-autocomplete-input-chip',\n loader: 'p-autocomplete-loader',\n dropdown: 'p-autocomplete-dropdown',\n overlay: 'p-autocomplete-overlay p-component',\n list: 'p-autocomplete-list',\n optionGroup: 'p-autocomplete-option-group',\n option: function option(_ref5) {\n var instance = _ref5.instance,\n _option = _ref5.option,\n i = _ref5.i,\n getItemOptions = _ref5.getItemOptions;\n return ['p-autocomplete-option', {\n 'p-autocomplete-option-selected': instance.isSelected(_option),\n 'p-focus': instance.focusedOptionIndex === instance.getOptionIndex(i, getItemOptions),\n 'p-disabled': instance.isOptionDisabled(_option)\n }];\n },\n emptyMessage: 'p-autocomplete-empty-message'\n};\nvar AutoCompleteStyle = BaseStyle.extend({\n name: 'autocomplete',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { AutoCompleteStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { UniqueComponentId, ConnectedOverlayScrollHandler } from '@primevue/core/utils';\nimport { focus, addStyle, relativePosition, getOuterWidth, absolutePosition, isTouchDevice, findSingle } from '@primeuix/utils/dom';\nimport { resolveFieldData, isEmpty, isNotEmpty, equals, findLastIndex } from '@primeuix/utils/object';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport ChevronDownIcon from '@primevue/icons/chevrondown';\nimport SpinnerIcon from '@primevue/icons/spinner';\nimport Chip from 'primevue/chip';\nimport InputText from 'primevue/inputtext';\nimport OverlayEventBus from 'primevue/overlayeventbus';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport VirtualScroller from 'primevue/virtualscroller';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport AutoCompleteStyle from 'primevue/autocomplete/style';\nimport { resolveComponent, resolveDirective, openBlock, createElementBlock, mergeProps, createBlock, normalizeClass, normalizeStyle, createCommentVNode, Fragment, renderList, renderSlot, createVNode, withCtx, createElementVNode, resolveDynamicComponent, toDisplayString, Transition, createSlots, createTextVNode, withDirectives } from 'vue';\n\nvar script$1 = {\n name: 'BaseAutoComplete',\n \"extends\": BaseComponent,\n props: {\n modelValue: null,\n suggestions: {\n type: Array,\n \"default\": null\n },\n optionLabel: null,\n optionDisabled: null,\n optionGroupLabel: null,\n optionGroupChildren: null,\n scrollHeight: {\n type: String,\n \"default\": '14rem'\n },\n dropdown: {\n type: Boolean,\n \"default\": false\n },\n dropdownMode: {\n type: String,\n \"default\": 'blank'\n },\n multiple: {\n type: Boolean,\n \"default\": false\n },\n loading: {\n type: Boolean,\n \"default\": false\n },\n variant: {\n type: String,\n \"default\": null\n },\n invalid: {\n type: Boolean,\n \"default\": false\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n placeholder: {\n type: String,\n \"default\": null\n },\n dataKey: {\n type: String,\n \"default\": null\n },\n minLength: {\n type: Number,\n \"default\": 1\n },\n delay: {\n type: Number,\n \"default\": 300\n },\n appendTo: {\n type: [String, Object],\n \"default\": 'body'\n },\n forceSelection: {\n type: Boolean,\n \"default\": false\n },\n completeOnFocus: {\n type: Boolean,\n \"default\": false\n },\n inputId: {\n type: String,\n \"default\": null\n },\n inputStyle: {\n type: Object,\n \"default\": null\n },\n inputClass: {\n type: [String, Object],\n \"default\": null\n },\n panelStyle: {\n type: Object,\n \"default\": null\n },\n panelClass: {\n type: [String, Object],\n \"default\": null\n },\n overlayStyle: {\n type: Object,\n \"default\": null\n },\n overlayClass: {\n type: [String, Object],\n \"default\": null\n },\n dropdownIcon: {\n type: String,\n \"default\": null\n },\n dropdownClass: {\n type: [String, Object],\n \"default\": null\n },\n loader: {\n type: String,\n \"default\": null\n },\n loadingIcon: {\n type: String,\n \"default\": null\n },\n removeTokenIcon: {\n type: String,\n \"default\": null\n },\n chipIcon: {\n type: String,\n \"default\": null\n },\n virtualScrollerOptions: {\n type: Object,\n \"default\": null\n },\n autoOptionFocus: {\n type: Boolean,\n \"default\": false\n },\n selectOnFocus: {\n type: Boolean,\n \"default\": false\n },\n focusOnHover: {\n type: Boolean,\n \"default\": true\n },\n searchLocale: {\n type: String,\n \"default\": undefined\n },\n searchMessage: {\n type: String,\n \"default\": null\n },\n selectionMessage: {\n type: String,\n \"default\": null\n },\n emptySelectionMessage: {\n type: String,\n \"default\": null\n },\n emptySearchMessage: {\n type: String,\n \"default\": null\n },\n tabindex: {\n type: Number,\n \"default\": 0\n },\n typeahead: {\n type: Boolean,\n \"default\": true\n },\n ariaLabel: {\n type: String,\n \"default\": null\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n fluid: {\n type: Boolean,\n \"default\": false\n }\n },\n style: AutoCompleteStyle,\n provide: function provide() {\n return {\n $pcAutoComplete: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _typeof$1(o) { \"@babel/helpers - typeof\"; return _typeof$1 = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof$1(o); }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nvar script = {\n name: 'AutoComplete',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change', 'focus', 'blur', 'item-select', 'item-unselect', 'option-select', 'option-unselect', 'dropdown-click', 'clear', 'complete', 'before-show', 'before-hide', 'show', 'hide'],\n outsideClickListener: null,\n resizeListener: null,\n scrollHandler: null,\n overlay: null,\n virtualScroller: null,\n searchTimeout: null,\n dirty: false,\n data: function data() {\n return {\n id: this.$attrs.id,\n clicked: false,\n focused: false,\n focusedOptionIndex: -1,\n focusedMultipleOptionIndex: -1,\n overlayVisible: false,\n searching: false\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n },\n suggestions: function suggestions() {\n if (this.searching) {\n this.show();\n this.focusedOptionIndex = this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.searching = false;\n }\n this.autoUpdateModel();\n }\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n this.autoUpdateModel();\n },\n updated: function updated() {\n if (this.overlayVisible) {\n this.alignOverlay();\n }\n },\n beforeUnmount: function beforeUnmount() {\n this.unbindOutsideClickListener();\n this.unbindResizeListener();\n if (this.scrollHandler) {\n this.scrollHandler.destroy();\n this.scrollHandler = null;\n }\n if (this.overlay) {\n ZIndex.clear(this.overlay);\n this.overlay = null;\n }\n },\n methods: {\n getOptionIndex: function getOptionIndex(index, fn) {\n return this.virtualScrollerDisabled ? index : fn && fn(index)['index'];\n },\n getOptionLabel: function getOptionLabel(option) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option;\n },\n getOptionValue: function getOptionValue(option) {\n return option; // TODO: The 'optionValue' properties can be added.\n },\n getOptionRenderKey: function getOptionRenderKey(option, index) {\n return (this.dataKey ? resolveFieldData(option, this.dataKey) : this.getOptionLabel(option)) + '_' + index;\n },\n getPTOptions: function getPTOptions(option, itemOptions, index, key) {\n return this.ptm(key, {\n context: {\n selected: this.isSelected(option),\n focused: this.focusedOptionIndex === this.getOptionIndex(index, itemOptions),\n disabled: this.isOptionDisabled(option)\n }\n });\n },\n isOptionDisabled: function isOptionDisabled(option) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n },\n isOptionGroup: function isOptionGroup(option) {\n return this.optionGroupLabel && option.optionGroup && option.group;\n },\n getOptionGroupLabel: function getOptionGroupLabel(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupLabel);\n },\n getOptionGroupChildren: function getOptionGroupChildren(optionGroup) {\n return resolveFieldData(optionGroup, this.optionGroupChildren);\n },\n getAriaPosInset: function getAriaPosInset(index) {\n var _this = this;\n return (this.optionGroupLabel ? index - this.visibleOptions.slice(0, index).filter(function (option) {\n return _this.isOptionGroup(option);\n }).length : index) + 1;\n },\n show: function show(isFocus) {\n this.$emit('before-show');\n this.dirty = true;\n this.overlayVisible = true;\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n isFocus && focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el);\n },\n hide: function hide(isFocus) {\n var _this2 = this;\n var _hide = function _hide() {\n _this2.$emit('before-hide');\n _this2.dirty = isFocus;\n _this2.overlayVisible = false;\n _this2.clicked = false;\n _this2.focusedOptionIndex = -1;\n isFocus && focus(_this2.multiple ? _this2.$refs.focusInput : _this2.$refs.focusInput.$el);\n };\n setTimeout(function () {\n _hide();\n }, 0); // For ScreenReaders\n },\n onFocus: function onFocus(event) {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n if (!this.dirty && this.completeOnFocus) {\n this.search(event, event.target.value, 'focus');\n }\n this.dirty = true;\n this.focused = true;\n if (this.overlayVisible) {\n this.focusedOptionIndex = this.focusedOptionIndex !== -1 ? this.focusedOptionIndex : this.overlayVisible && this.autoOptionFocus ? this.findFirstFocusedOptionIndex() : -1;\n this.scrollInView(this.focusedOptionIndex);\n }\n this.$emit('focus', event);\n },\n onBlur: function onBlur(event) {\n this.dirty = false;\n this.focused = false;\n this.focusedOptionIndex = -1;\n this.$emit('blur', event);\n },\n onKeyDown: function onKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n switch (event.code) {\n case 'ArrowDown':\n this.onArrowDownKey(event);\n break;\n case 'ArrowUp':\n this.onArrowUpKey(event);\n break;\n case 'ArrowLeft':\n this.onArrowLeftKey(event);\n break;\n case 'ArrowRight':\n this.onArrowRightKey(event);\n break;\n case 'Home':\n this.onHomeKey(event);\n break;\n case 'End':\n this.onEndKey(event);\n break;\n case 'PageDown':\n this.onPageDownKey(event);\n break;\n case 'PageUp':\n this.onPageUpKey(event);\n break;\n case 'Enter':\n case 'NumpadEnter':\n this.onEnterKey(event);\n break;\n case 'Escape':\n this.onEscapeKey(event);\n break;\n case 'Tab':\n this.onTabKey(event);\n break;\n case 'Backspace':\n this.onBackspaceKey(event);\n break;\n }\n this.clicked = false;\n },\n onInput: function onInput(event) {\n var _this3 = this;\n if (this.typeahead) {\n if (this.searchTimeout) {\n clearTimeout(this.searchTimeout);\n }\n var query = event.target.value;\n if (!this.multiple) {\n this.updateModel(event, query);\n }\n if (query.length === 0) {\n this.hide();\n this.$emit('clear');\n } else {\n if (query.length >= this.minLength) {\n this.focusedOptionIndex = -1;\n this.searchTimeout = setTimeout(function () {\n _this3.search(event, query, 'input');\n }, this.delay);\n } else {\n this.hide();\n }\n }\n }\n },\n onChange: function onChange(event) {\n var _this4 = this;\n if (this.forceSelection) {\n var valid = false;\n\n // when forceSelection is on, prevent called twice onOptionSelect()\n if (this.visibleOptions && !this.multiple) {\n var value = this.multiple ? this.$refs.focusInput.value : this.$refs.focusInput.$el.value;\n var matchedValue = this.visibleOptions.find(function (option) {\n return _this4.isOptionMatched(option, value || '');\n });\n if (matchedValue !== undefined) {\n valid = true;\n !this.isSelected(matchedValue) && this.onOptionSelect(event, matchedValue);\n }\n }\n if (!valid) {\n if (this.multiple) this.$refs.focusInput.value = '';else this.$refs.focusInput.$el.value = '';\n this.$emit('clear');\n !this.multiple && this.updateModel(event, null);\n }\n }\n },\n onMultipleContainerFocus: function onMultipleContainerFocus() {\n if (this.disabled) {\n // For ScreenReaders\n return;\n }\n this.focused = true;\n },\n onMultipleContainerBlur: function onMultipleContainerBlur() {\n this.focusedMultipleOptionIndex = -1;\n this.focused = false;\n },\n onMultipleContainerKeyDown: function onMultipleContainerKeyDown(event) {\n if (this.disabled) {\n event.preventDefault();\n return;\n }\n switch (event.code) {\n case 'ArrowLeft':\n this.onArrowLeftKeyOnMultiple(event);\n break;\n case 'ArrowRight':\n this.onArrowRightKeyOnMultiple(event);\n break;\n case 'Backspace':\n this.onBackspaceKeyOnMultiple(event);\n break;\n }\n },\n onContainerClick: function onContainerClick(event) {\n this.clicked = true;\n if (this.disabled || this.searching || this.loading || this.isInputClicked(event) || this.isDropdownClicked(event)) {\n return;\n }\n if (!this.overlay || !this.overlay.contains(event.target)) {\n focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el);\n }\n },\n onDropdownClick: function onDropdownClick(event) {\n var query = undefined;\n if (this.overlayVisible) {\n this.hide(true);\n } else {\n focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el);\n query = this.$refs.focusInput.$el.value;\n if (this.dropdownMode === 'blank') this.search(event, '', 'dropdown');else if (this.dropdownMode === 'current') this.search(event, query, 'dropdown');\n }\n this.$emit('dropdown-click', {\n originalEvent: event,\n query: query\n });\n },\n onOptionSelect: function onOptionSelect(event, option) {\n var isHide = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : true;\n var value = this.getOptionValue(option);\n if (this.multiple) {\n this.$refs.focusInput.value = '';\n if (!this.isSelected(option)) {\n this.updateModel(event, [].concat(_toConsumableArray(this.modelValue || []), [value]));\n }\n } else {\n this.updateModel(event, value);\n }\n this.$emit('item-select', {\n originalEvent: event,\n value: option\n });\n this.$emit('option-select', {\n originalEvent: event,\n value: option\n });\n isHide && this.hide(true);\n },\n onOptionMouseMove: function onOptionMouseMove(event, index) {\n if (this.focusOnHover) {\n this.changeFocusedOptionIndex(event, index);\n }\n },\n onOverlayClick: function onOverlayClick(event) {\n OverlayEventBus.emit('overlay-click', {\n originalEvent: event,\n target: this.$el\n });\n },\n onOverlayKeyDown: function onOverlayKeyDown(event) {\n switch (event.code) {\n case 'Escape':\n this.onEscapeKey(event);\n break;\n }\n },\n onArrowDownKey: function onArrowDownKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n var optionIndex = this.focusedOptionIndex !== -1 ? this.findNextOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findFirstOptionIndex() : this.findFirstFocusedOptionIndex();\n this.changeFocusedOptionIndex(event, optionIndex);\n event.preventDefault();\n },\n onArrowUpKey: function onArrowUpKey(event) {\n if (!this.overlayVisible) {\n return;\n }\n if (event.altKey) {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.overlayVisible && this.hide();\n event.preventDefault();\n } else {\n var optionIndex = this.focusedOptionIndex !== -1 ? this.findPrevOptionIndex(this.focusedOptionIndex) : this.clicked ? this.findLastOptionIndex() : this.findLastFocusedOptionIndex();\n this.changeFocusedOptionIndex(event, optionIndex);\n event.preventDefault();\n }\n },\n onArrowLeftKey: function onArrowLeftKey(event) {\n var target = event.currentTarget;\n this.focusedOptionIndex = -1;\n if (this.multiple) {\n if (isEmpty(target.value) && this.hasSelectedOption) {\n focus(this.$refs.multiContainer);\n this.focusedMultipleOptionIndex = this.modelValue.length;\n } else {\n event.stopPropagation(); // To prevent onArrowLeftKeyOnMultiple method\n }\n }\n },\n onArrowRightKey: function onArrowRightKey(event) {\n this.focusedOptionIndex = -1;\n this.multiple && event.stopPropagation(); // To prevent onArrowRightKeyOnMultiple method\n },\n onHomeKey: function onHomeKey(event) {\n var currentTarget = event.currentTarget;\n var len = currentTarget.value.length;\n currentTarget.setSelectionRange(0, event.shiftKey ? len : 0);\n this.focusedOptionIndex = -1;\n event.preventDefault();\n },\n onEndKey: function onEndKey(event) {\n var currentTarget = event.currentTarget;\n var len = currentTarget.value.length;\n currentTarget.setSelectionRange(event.shiftKey ? 0 : len, len);\n this.focusedOptionIndex = -1;\n event.preventDefault();\n },\n onPageUpKey: function onPageUpKey(event) {\n this.scrollInView(0);\n event.preventDefault();\n },\n onPageDownKey: function onPageDownKey(event) {\n this.scrollInView(this.visibleOptions.length - 1);\n event.preventDefault();\n },\n onEnterKey: function onEnterKey(event) {\n if (!this.typeahead) {\n if (this.multiple) {\n this.updateModel(event, [].concat(_toConsumableArray(this.modelValue || []), [event.target.value]));\n this.$refs.focusInput.value = '';\n }\n } else {\n if (!this.overlayVisible) {\n this.focusedOptionIndex = -1; // reset\n this.onArrowDownKey(event);\n } else {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.hide();\n }\n }\n },\n onEscapeKey: function onEscapeKey(event) {\n this.overlayVisible && this.hide(true);\n event.preventDefault();\n },\n onTabKey: function onTabKey(event) {\n if (this.focusedOptionIndex !== -1) {\n this.onOptionSelect(event, this.visibleOptions[this.focusedOptionIndex]);\n }\n this.overlayVisible && this.hide();\n },\n onBackspaceKey: function onBackspaceKey(event) {\n if (this.multiple) {\n if (isNotEmpty(this.modelValue) && !this.$refs.focusInput.value) {\n var removedValue = this.modelValue[this.modelValue.length - 1];\n var newValue = this.modelValue.slice(0, -1);\n this.$emit('update:modelValue', newValue);\n this.$emit('item-unselect', {\n originalEvent: event,\n value: removedValue\n });\n this.$emit('option-unselect', {\n originalEvent: event,\n value: removedValue\n });\n }\n event.stopPropagation(); // To prevent onBackspaceKeyOnMultiple method\n }\n },\n onArrowLeftKeyOnMultiple: function onArrowLeftKeyOnMultiple() {\n this.focusedMultipleOptionIndex = this.focusedMultipleOptionIndex < 1 ? 0 : this.focusedMultipleOptionIndex - 1;\n },\n onArrowRightKeyOnMultiple: function onArrowRightKeyOnMultiple() {\n this.focusedMultipleOptionIndex++;\n if (this.focusedMultipleOptionIndex > this.modelValue.length - 1) {\n this.focusedMultipleOptionIndex = -1;\n focus(this.$refs.focusInput);\n }\n },\n onBackspaceKeyOnMultiple: function onBackspaceKeyOnMultiple(event) {\n if (this.focusedMultipleOptionIndex !== -1) {\n this.removeOption(event, this.focusedMultipleOptionIndex);\n }\n },\n onOverlayEnter: function onOverlayEnter(el) {\n ZIndex.set('overlay', el, this.$primevue.config.zIndex.overlay);\n addStyle(el, {\n position: 'absolute',\n top: '0',\n left: '0'\n });\n this.alignOverlay();\n },\n onOverlayAfterEnter: function onOverlayAfterEnter() {\n this.bindOutsideClickListener();\n this.bindScrollListener();\n this.bindResizeListener();\n this.$emit('show');\n },\n onOverlayLeave: function onOverlayLeave() {\n this.unbindOutsideClickListener();\n this.unbindScrollListener();\n this.unbindResizeListener();\n this.$emit('hide');\n this.overlay = null;\n },\n onOverlayAfterLeave: function onOverlayAfterLeave(el) {\n ZIndex.clear(el);\n },\n alignOverlay: function alignOverlay() {\n var target = this.multiple ? this.$refs.multiContainer : this.$refs.focusInput.$el;\n if (this.appendTo === 'self') {\n relativePosition(this.overlay, target);\n } else {\n this.overlay.style.minWidth = getOuterWidth(target) + 'px';\n absolutePosition(this.overlay, target);\n }\n },\n bindOutsideClickListener: function bindOutsideClickListener() {\n var _this5 = this;\n if (!this.outsideClickListener) {\n this.outsideClickListener = function (event) {\n if (_this5.overlayVisible && _this5.overlay && _this5.isOutsideClicked(event)) {\n _this5.hide();\n }\n };\n document.addEventListener('click', this.outsideClickListener);\n }\n },\n unbindOutsideClickListener: function unbindOutsideClickListener() {\n if (this.outsideClickListener) {\n document.removeEventListener('click', this.outsideClickListener);\n this.outsideClickListener = null;\n }\n },\n bindScrollListener: function bindScrollListener() {\n var _this6 = this;\n if (!this.scrollHandler) {\n this.scrollHandler = new ConnectedOverlayScrollHandler(this.$refs.container, function () {\n if (_this6.overlayVisible) {\n _this6.hide();\n }\n });\n }\n this.scrollHandler.bindScrollListener();\n },\n unbindScrollListener: function unbindScrollListener() {\n if (this.scrollHandler) {\n this.scrollHandler.unbindScrollListener();\n }\n },\n bindResizeListener: function bindResizeListener() {\n var _this7 = this;\n if (!this.resizeListener) {\n this.resizeListener = function () {\n if (_this7.overlayVisible && !isTouchDevice()) {\n _this7.hide();\n }\n };\n window.addEventListener('resize', this.resizeListener);\n }\n },\n unbindResizeListener: function unbindResizeListener() {\n if (this.resizeListener) {\n window.removeEventListener('resize', this.resizeListener);\n this.resizeListener = null;\n }\n },\n isOutsideClicked: function isOutsideClicked(event) {\n return !this.overlay.contains(event.target) && !this.isInputClicked(event) && !this.isDropdownClicked(event);\n },\n isInputClicked: function isInputClicked(event) {\n if (this.multiple) return event.target === this.$refs.multiContainer || this.$refs.multiContainer.contains(event.target);else return event.target === this.$refs.focusInput.$el;\n },\n isDropdownClicked: function isDropdownClicked(event) {\n return this.$refs.dropdownButton ? event.target === this.$refs.dropdownButton || this.$refs.dropdownButton.contains(event.target) : false;\n },\n isOptionMatched: function isOptionMatched(option, value) {\n var _this$getOptionLabel;\n return this.isValidOption(option) && ((_this$getOptionLabel = this.getOptionLabel(option)) === null || _this$getOptionLabel === void 0 ? void 0 : _this$getOptionLabel.toLocaleLowerCase(this.searchLocale)) === value.toLocaleLowerCase(this.searchLocale);\n },\n isValidOption: function isValidOption(option) {\n return isNotEmpty(option) && !(this.isOptionDisabled(option) || this.isOptionGroup(option));\n },\n isValidSelectedOption: function isValidSelectedOption(option) {\n return this.isValidOption(option) && this.isSelected(option);\n },\n isEquals: function isEquals(value1, value2) {\n return equals(value1, value2, this.equalityKey);\n },\n isSelected: function isSelected(option) {\n var _this8 = this;\n var optionValue = this.getOptionValue(option);\n return this.multiple ? (this.modelValue || []).some(function (value) {\n return _this8.isEquals(value, optionValue);\n }) : this.isEquals(this.modelValue, this.getOptionValue(option));\n },\n findFirstOptionIndex: function findFirstOptionIndex() {\n var _this9 = this;\n return this.visibleOptions.findIndex(function (option) {\n return _this9.isValidOption(option);\n });\n },\n findLastOptionIndex: function findLastOptionIndex() {\n var _this10 = this;\n return findLastIndex(this.visibleOptions, function (option) {\n return _this10.isValidOption(option);\n });\n },\n findNextOptionIndex: function findNextOptionIndex(index) {\n var _this11 = this;\n var matchedOptionIndex = index < this.visibleOptions.length - 1 ? this.visibleOptions.slice(index + 1).findIndex(function (option) {\n return _this11.isValidOption(option);\n }) : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex + index + 1 : index;\n },\n findPrevOptionIndex: function findPrevOptionIndex(index) {\n var _this12 = this;\n var matchedOptionIndex = index > 0 ? findLastIndex(this.visibleOptions.slice(0, index), function (option) {\n return _this12.isValidOption(option);\n }) : -1;\n return matchedOptionIndex > -1 ? matchedOptionIndex : index;\n },\n findSelectedOptionIndex: function findSelectedOptionIndex() {\n var _this13 = this;\n return this.hasSelectedOption ? this.visibleOptions.findIndex(function (option) {\n return _this13.isValidSelectedOption(option);\n }) : -1;\n },\n findFirstFocusedOptionIndex: function findFirstFocusedOptionIndex() {\n var selectedIndex = this.findSelectedOptionIndex();\n return selectedIndex < 0 ? this.findFirstOptionIndex() : selectedIndex;\n },\n findLastFocusedOptionIndex: function findLastFocusedOptionIndex() {\n var selectedIndex = this.findSelectedOptionIndex();\n return selectedIndex < 0 ? this.findLastOptionIndex() : selectedIndex;\n },\n search: function search(event, query, source) {\n //allow empty string but not undefined or null\n if (query === undefined || query === null) {\n return;\n }\n\n //do not search blank values on input change\n if (source === 'input' && query.trim().length === 0) {\n return;\n }\n this.searching = true;\n this.$emit('complete', {\n originalEvent: event,\n query: query\n });\n },\n removeOption: function removeOption(event, index) {\n var _this14 = this;\n var removedOption = this.modelValue[index];\n var value = this.modelValue.filter(function (_, i) {\n return i !== index;\n }).map(function (option) {\n return _this14.getOptionValue(option);\n });\n this.updateModel(event, value);\n this.$emit('item-unselect', {\n originalEvent: event,\n value: removedOption\n });\n this.$emit('option-unselect', {\n originalEvent: event,\n value: removedOption\n });\n this.dirty = true;\n focus(this.multiple ? this.$refs.focusInput : this.$refs.focusInput.$el);\n },\n changeFocusedOptionIndex: function changeFocusedOptionIndex(event, index) {\n if (this.focusedOptionIndex !== index) {\n this.focusedOptionIndex = index;\n this.scrollInView();\n if (this.selectOnFocus) {\n this.onOptionSelect(event, this.visibleOptions[index], false);\n }\n }\n },\n scrollInView: function scrollInView() {\n var _this15 = this;\n var index = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : -1;\n this.$nextTick(function () {\n var id = index !== -1 ? \"\".concat(_this15.id, \"_\").concat(index) : _this15.focusedOptionId;\n var element = findSingle(_this15.list, \"li[id=\\\"\".concat(id, \"\\\"]\"));\n if (element) {\n element.scrollIntoView && element.scrollIntoView({\n block: 'nearest',\n inline: 'start'\n });\n } else if (!_this15.virtualScrollerDisabled) {\n _this15.virtualScroller && _this15.virtualScroller.scrollToIndex(index !== -1 ? index : _this15.focusedOptionIndex);\n }\n });\n },\n autoUpdateModel: function autoUpdateModel() {\n if (this.selectOnFocus && this.autoOptionFocus && !this.hasSelectedOption) {\n this.focusedOptionIndex = this.findFirstFocusedOptionIndex();\n this.onOptionSelect(null, this.visibleOptions[this.focusedOptionIndex], false);\n }\n },\n updateModel: function updateModel(event, value) {\n this.$emit('update:modelValue', value);\n this.$emit('change', {\n originalEvent: event,\n value: value\n });\n },\n flatOptions: function flatOptions(options) {\n var _this16 = this;\n return (options || []).reduce(function (result, option, index) {\n result.push({\n optionGroup: option,\n group: true,\n index: index\n });\n var optionGroupChildren = _this16.getOptionGroupChildren(option);\n optionGroupChildren && optionGroupChildren.forEach(function (o) {\n return result.push(o);\n });\n return result;\n }, []);\n },\n overlayRef: function overlayRef(el) {\n this.overlay = el;\n },\n listRef: function listRef(el, contentRef) {\n this.list = el;\n contentRef && contentRef(el); // For VirtualScroller\n },\n virtualScrollerRef: function virtualScrollerRef(el) {\n this.virtualScroller = el;\n }\n },\n computed: {\n visibleOptions: function visibleOptions() {\n return this.optionGroupLabel ? this.flatOptions(this.suggestions) : this.suggestions || [];\n },\n inputValue: function inputValue() {\n if (isNotEmpty(this.modelValue)) {\n if (_typeof$1(this.modelValue) === 'object') {\n var label = this.getOptionLabel(this.modelValue);\n return label != null ? label : this.modelValue;\n } else {\n return this.modelValue;\n }\n } else {\n return '';\n }\n },\n hasSelectedOption: function hasSelectedOption() {\n return isNotEmpty(this.modelValue);\n },\n equalityKey: function equalityKey() {\n return this.dataKey; // TODO: The 'optionValue' properties can be added.\n },\n searchResultMessageText: function searchResultMessageText() {\n return isNotEmpty(this.visibleOptions) && this.overlayVisible ? this.searchMessageText.replaceAll('{0}', this.visibleOptions.length) : this.emptySearchMessageText;\n },\n searchMessageText: function searchMessageText() {\n return this.searchMessage || this.$primevue.config.locale.searchMessage || '';\n },\n emptySearchMessageText: function emptySearchMessageText() {\n return this.emptySearchMessage || this.$primevue.config.locale.emptySearchMessage || '';\n },\n selectionMessageText: function selectionMessageText() {\n return this.selectionMessage || this.$primevue.config.locale.selectionMessage || '';\n },\n emptySelectionMessageText: function emptySelectionMessageText() {\n return this.emptySelectionMessage || this.$primevue.config.locale.emptySelectionMessage || '';\n },\n selectedMessageText: function selectedMessageText() {\n return this.hasSelectedOption ? this.selectionMessageText.replaceAll('{0}', this.multiple ? this.modelValue.length : '1') : this.emptySelectionMessageText;\n },\n listAriaLabel: function listAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.listLabel : undefined;\n },\n focusedOptionId: function focusedOptionId() {\n return this.focusedOptionIndex !== -1 ? \"\".concat(this.id, \"_\").concat(this.focusedOptionIndex) : null;\n },\n focusedMultipleOptionId: function focusedMultipleOptionId() {\n return this.focusedMultipleOptionIndex !== -1 ? \"\".concat(this.id, \"_multiple_option_\").concat(this.focusedMultipleOptionIndex) : null;\n },\n ariaSetSize: function ariaSetSize() {\n var _this17 = this;\n return this.visibleOptions.filter(function (option) {\n return !_this17.isOptionGroup(option);\n }).length;\n },\n virtualScrollerDisabled: function virtualScrollerDisabled() {\n return !this.virtualScrollerOptions;\n },\n panelId: function panelId() {\n return this.id + '_panel';\n }\n },\n components: {\n InputText: InputText,\n VirtualScroller: VirtualScroller,\n Portal: Portal,\n ChevronDownIcon: ChevronDownIcon,\n SpinnerIcon: SpinnerIcon,\n Chip: Chip\n },\n directives: {\n ripple: Ripple\n }\n};\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar _hoisted_1 = [\"aria-activedescendant\"];\nvar _hoisted_2 = [\"id\", \"aria-label\", \"aria-setsize\", \"aria-posinset\"];\nvar _hoisted_3 = [\"id\", \"placeholder\", \"tabindex\", \"disabled\", \"aria-label\", \"aria-labelledby\", \"aria-expanded\", \"aria-controls\", \"aria-activedescendant\", \"aria-invalid\"];\nvar _hoisted_4 = [\"disabled\", \"aria-expanded\", \"aria-controls\"];\nvar _hoisted_5 = [\"id\"];\nvar _hoisted_6 = [\"id\", \"aria-label\"];\nvar _hoisted_7 = [\"id\"];\nvar _hoisted_8 = [\"id\", \"aria-label\", \"aria-selected\", \"aria-disabled\", \"aria-setsize\", \"aria-posinset\", \"onClick\", \"onMousemove\", \"data-p-selected\", \"data-p-focus\", \"data-p-disabled\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_InputText = resolveComponent(\"InputText\");\n var _component_Chip = resolveComponent(\"Chip\");\n var _component_SpinnerIcon = resolveComponent(\"SpinnerIcon\");\n var _component_VirtualScroller = resolveComponent(\"VirtualScroller\");\n var _component_Portal = resolveComponent(\"Portal\");\n var _directive_ripple = resolveDirective(\"ripple\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n ref: \"container\",\n \"class\": _ctx.cx('root'),\n style: _ctx.sx('root'),\n onClick: _cache[11] || (_cache[11] = function () {\n return $options.onContainerClick && $options.onContainerClick.apply($options, arguments);\n })\n }, _ctx.ptmi('root')), [!_ctx.multiple ? (openBlock(), createBlock(_component_InputText, {\n key: 0,\n ref: \"focusInput\",\n id: _ctx.inputId,\n type: \"text\",\n \"class\": normalizeClass([_ctx.cx('pcInput'), _ctx.inputClass]),\n style: normalizeStyle(_ctx.inputStyle),\n value: $options.inputValue,\n placeholder: _ctx.placeholder,\n tabindex: !_ctx.disabled ? _ctx.tabindex : -1,\n disabled: _ctx.disabled,\n invalid: _ctx.invalid,\n variant: _ctx.variant,\n autocomplete: \"off\",\n role: \"combobox\",\n \"aria-label\": _ctx.ariaLabel,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-haspopup\": \"listbox\",\n \"aria-autocomplete\": \"list\",\n \"aria-expanded\": $data.overlayVisible,\n \"aria-controls\": $options.panelId,\n \"aria-activedescendant\": $data.focused ? $options.focusedOptionId : undefined,\n onFocus: $options.onFocus,\n onBlur: $options.onBlur,\n onKeydown: $options.onKeyDown,\n onInput: $options.onInput,\n onChange: $options.onChange,\n unstyled: _ctx.unstyled,\n pt: _ctx.ptm('pcInput')\n }, null, 8, [\"id\", \"class\", \"style\", \"value\", \"placeholder\", \"tabindex\", \"disabled\", \"invalid\", \"variant\", \"aria-label\", \"aria-labelledby\", \"aria-expanded\", \"aria-controls\", \"aria-activedescendant\", \"onFocus\", \"onBlur\", \"onKeydown\", \"onInput\", \"onChange\", \"unstyled\", \"pt\"])) : createCommentVNode(\"\", true), _ctx.multiple ? (openBlock(), createElementBlock(\"ul\", mergeProps({\n key: 1,\n ref: \"multiContainer\",\n \"class\": _ctx.cx('inputMultiple'),\n tabindex: \"-1\",\n role: \"listbox\",\n \"aria-orientation\": \"horizontal\",\n \"aria-activedescendant\": $data.focused ? $options.focusedMultipleOptionId : undefined,\n onFocus: _cache[5] || (_cache[5] = function () {\n return $options.onMultipleContainerFocus && $options.onMultipleContainerFocus.apply($options, arguments);\n }),\n onBlur: _cache[6] || (_cache[6] = function () {\n return $options.onMultipleContainerBlur && $options.onMultipleContainerBlur.apply($options, arguments);\n }),\n onKeydown: _cache[7] || (_cache[7] = function () {\n return $options.onMultipleContainerKeyDown && $options.onMultipleContainerKeyDown.apply($options, arguments);\n })\n }, _ctx.ptm('inputMultiple')), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.modelValue, function (option, i) {\n return openBlock(), createElementBlock(\"li\", mergeProps({\n key: \"\".concat(i, \"_\").concat($options.getOptionLabel(option)),\n id: $data.id + '_multiple_option_' + i,\n \"class\": _ctx.cx('chipItem', {\n i: i\n }),\n role: \"option\",\n \"aria-label\": $options.getOptionLabel(option),\n \"aria-selected\": true,\n \"aria-setsize\": _ctx.modelValue.length,\n \"aria-posinset\": i + 1,\n ref_for: true\n }, _ctx.ptm('chipItem')), [renderSlot(_ctx.$slots, \"chip\", mergeProps({\n \"class\": _ctx.cx('pcChip'),\n value: option,\n index: i,\n removeCallback: function removeCallback(event) {\n return $options.removeOption(event, i);\n },\n ref_for: true\n }, _ctx.ptm('pcChip')), function () {\n return [createVNode(_component_Chip, {\n \"class\": normalizeClass(_ctx.cx('pcChip')),\n label: $options.getOptionLabel(option),\n removeIcon: _ctx.chipIcon || _ctx.removeTokenIcon,\n removable: \"\",\n unstyled: _ctx.unstyled,\n onRemove: function onRemove($event) {\n return $options.removeOption($event, i);\n },\n pt: _ctx.ptm('pcChip')\n }, {\n removeicon: withCtx(function () {\n return [renderSlot(_ctx.$slots, _ctx.$slots.chipicon ? 'chipicon' : 'removetokenicon', {\n \"class\": normalizeClass(_ctx.cx('chipIcon')),\n index: i,\n removeCallback: function removeCallback(event) {\n return $options.removeOption(event, i);\n }\n })];\n }),\n _: 2\n }, 1032, [\"class\", \"label\", \"removeIcon\", \"unstyled\", \"onRemove\", \"pt\"])];\n })], 16, _hoisted_2);\n }), 128)), createElementVNode(\"li\", mergeProps({\n \"class\": _ctx.cx('inputChip'),\n role: \"option\"\n }, _ctx.ptm('inputChip')), [createElementVNode(\"input\", mergeProps({\n ref: \"focusInput\",\n id: _ctx.inputId,\n type: \"text\",\n style: _ctx.inputStyle,\n \"class\": _ctx.inputClass,\n placeholder: _ctx.placeholder,\n tabindex: !_ctx.disabled ? _ctx.tabindex : -1,\n disabled: _ctx.disabled,\n autocomplete: \"off\",\n role: \"combobox\",\n \"aria-label\": _ctx.ariaLabel,\n \"aria-labelledby\": _ctx.ariaLabelledby,\n \"aria-haspopup\": \"listbox\",\n \"aria-autocomplete\": \"list\",\n \"aria-expanded\": $data.overlayVisible,\n \"aria-controls\": $data.id + '_list',\n \"aria-activedescendant\": $data.focused ? $options.focusedOptionId : undefined,\n \"aria-invalid\": _ctx.invalid || undefined,\n onFocus: _cache[0] || (_cache[0] = function () {\n return $options.onFocus && $options.onFocus.apply($options, arguments);\n }),\n onBlur: _cache[1] || (_cache[1] = function () {\n return $options.onBlur && $options.onBlur.apply($options, arguments);\n }),\n onKeydown: _cache[2] || (_cache[2] = function () {\n return $options.onKeyDown && $options.onKeyDown.apply($options, arguments);\n }),\n onInput: _cache[3] || (_cache[3] = function () {\n return $options.onInput && $options.onInput.apply($options, arguments);\n }),\n onChange: _cache[4] || (_cache[4] = function () {\n return $options.onChange && $options.onChange.apply($options, arguments);\n })\n }, _ctx.ptm('input')), null, 16, _hoisted_3)], 16)], 16, _hoisted_1)) : createCommentVNode(\"\", true), $data.searching || _ctx.loading ? renderSlot(_ctx.$slots, _ctx.$slots.loader ? 'loader' : 'loadingicon', {\n key: 2,\n \"class\": normalizeClass(_ctx.cx('loader'))\n }, function () {\n return [_ctx.loader || _ctx.loadingIcon ? (openBlock(), createElementBlock(\"i\", mergeProps({\n key: 0,\n \"class\": ['pi-spin', _ctx.cx('loader'), _ctx.loader, _ctx.loadingIcon],\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('loader')), null, 16)) : (openBlock(), createBlock(_component_SpinnerIcon, mergeProps({\n key: 1,\n \"class\": _ctx.cx('loader'),\n spin: \"\",\n \"aria-hidden\": \"true\"\n }, _ctx.ptm('loader')), null, 16, [\"class\"]))];\n }) : createCommentVNode(\"\", true), renderSlot(_ctx.$slots, _ctx.$slots.dropdown ? 'dropdown' : 'dropdownbutton', {\n toggleCallback: function toggleCallback(event) {\n return $options.onDropdownClick(event);\n }\n }, function () {\n return [_ctx.dropdown ? (openBlock(), createElementBlock(\"button\", mergeProps({\n key: 0,\n ref: \"dropdownButton\",\n type: \"button\",\n \"class\": [_ctx.cx('dropdown'), _ctx.dropdownClass],\n disabled: _ctx.disabled,\n \"aria-haspopup\": \"listbox\",\n \"aria-expanded\": $data.overlayVisible,\n \"aria-controls\": $options.panelId,\n onClick: _cache[8] || (_cache[8] = function () {\n return $options.onDropdownClick && $options.onDropdownClick.apply($options, arguments);\n })\n }, _ctx.ptm('dropdown')), [renderSlot(_ctx.$slots, \"dropdownicon\", {\n \"class\": normalizeClass(_ctx.dropdownIcon)\n }, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.dropdownIcon ? 'span' : 'ChevronDownIcon'), mergeProps({\n \"class\": _ctx.dropdownIcon\n }, _ctx.ptm('dropdownIcon')), null, 16, [\"class\"]))];\n })], 16, _hoisted_4)) : createCommentVNode(\"\", true)];\n }), createElementVNode(\"span\", mergeProps({\n role: \"status\",\n \"aria-live\": \"polite\",\n \"class\": \"p-hidden-accessible\"\n }, _ctx.ptm('hiddenSearchResult'), {\n \"data-p-hidden-accessible\": true\n }), toDisplayString($options.searchResultMessageText), 17), createVNode(_component_Portal, {\n appendTo: _ctx.appendTo\n }, {\n \"default\": withCtx(function () {\n return [createVNode(Transition, mergeProps({\n name: \"p-connected-overlay\",\n onEnter: $options.onOverlayEnter,\n onAfterEnter: $options.onOverlayAfterEnter,\n onLeave: $options.onOverlayLeave,\n onAfterLeave: $options.onOverlayAfterLeave\n }, _ctx.ptm('transition')), {\n \"default\": withCtx(function () {\n return [$data.overlayVisible ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref: $options.overlayRef,\n id: $options.panelId,\n \"class\": [_ctx.cx('overlay'), _ctx.panelClass, _ctx.overlayClass],\n style: _objectSpread(_objectSpread(_objectSpread({}, _ctx.panelStyle), _ctx.overlayStyle), {}, {\n 'max-height': $options.virtualScrollerDisabled ? _ctx.scrollHeight : ''\n }),\n onClick: _cache[9] || (_cache[9] = function () {\n return $options.onOverlayClick && $options.onOverlayClick.apply($options, arguments);\n }),\n onKeydown: _cache[10] || (_cache[10] = function () {\n return $options.onOverlayKeyDown && $options.onOverlayKeyDown.apply($options, arguments);\n })\n }, _ctx.ptm('overlay')), [renderSlot(_ctx.$slots, \"header\", {\n value: _ctx.modelValue,\n suggestions: $options.visibleOptions\n }), createVNode(_component_VirtualScroller, mergeProps({\n ref: $options.virtualScrollerRef\n }, _ctx.virtualScrollerOptions, {\n style: {\n height: _ctx.scrollHeight\n },\n items: $options.visibleOptions,\n tabindex: -1,\n disabled: $options.virtualScrollerDisabled,\n pt: _ctx.ptm('virtualScroller')\n }), createSlots({\n content: withCtx(function (_ref) {\n var styleClass = _ref.styleClass,\n contentRef = _ref.contentRef,\n items = _ref.items,\n getItemOptions = _ref.getItemOptions,\n contentStyle = _ref.contentStyle,\n itemSize = _ref.itemSize;\n return [createElementVNode(\"ul\", mergeProps({\n ref: function ref(el) {\n return $options.listRef(el, contentRef);\n },\n id: $data.id + '_list',\n \"class\": [_ctx.cx('list'), styleClass],\n style: contentStyle,\n role: \"listbox\",\n \"aria-label\": $options.listAriaLabel\n }, _ctx.ptm('list')), [(openBlock(true), createElementBlock(Fragment, null, renderList(items, function (option, i) {\n return openBlock(), createElementBlock(Fragment, {\n key: $options.getOptionRenderKey(option, $options.getOptionIndex(i, getItemOptions))\n }, [$options.isOptionGroup(option) ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n id: $data.id + '_' + $options.getOptionIndex(i, getItemOptions),\n style: {\n height: itemSize ? itemSize + 'px' : undefined\n },\n \"class\": _ctx.cx('optionGroup'),\n role: \"option\",\n ref_for: true\n }, _ctx.ptm('optionGroup')), [renderSlot(_ctx.$slots, \"optiongroup\", {\n option: option.optionGroup,\n index: $options.getOptionIndex(i, getItemOptions)\n }, function () {\n return [createTextVNode(toDisplayString($options.getOptionGroupLabel(option.optionGroup)), 1)];\n })], 16, _hoisted_7)) : withDirectives((openBlock(), createElementBlock(\"li\", mergeProps({\n key: 1,\n id: $data.id + '_' + $options.getOptionIndex(i, getItemOptions),\n style: {\n height: itemSize ? itemSize + 'px' : undefined\n },\n \"class\": _ctx.cx('option', {\n option: option,\n i: i,\n getItemOptions: getItemOptions\n }),\n role: \"option\",\n \"aria-label\": $options.getOptionLabel(option),\n \"aria-selected\": $options.isSelected(option),\n \"aria-disabled\": $options.isOptionDisabled(option),\n \"aria-setsize\": $options.ariaSetSize,\n \"aria-posinset\": $options.getAriaPosInset($options.getOptionIndex(i, getItemOptions)),\n onClick: function onClick($event) {\n return $options.onOptionSelect($event, option);\n },\n onMousemove: function onMousemove($event) {\n return $options.onOptionMouseMove($event, $options.getOptionIndex(i, getItemOptions));\n },\n \"data-p-selected\": $options.isSelected(option),\n \"data-p-focus\": $data.focusedOptionIndex === $options.getOptionIndex(i, getItemOptions),\n \"data-p-disabled\": $options.isOptionDisabled(option),\n ref_for: true\n }, $options.getPTOptions(option, getItemOptions, i, 'option')), [renderSlot(_ctx.$slots, \"option\", {\n option: option,\n index: $options.getOptionIndex(i, getItemOptions)\n }, function () {\n return [createTextVNode(toDisplayString($options.getOptionLabel(option)), 1)];\n })], 16, _hoisted_8)), [[_directive_ripple]])], 64);\n }), 128)), !items || items && items.length === 0 ? (openBlock(), createElementBlock(\"li\", mergeProps({\n key: 0,\n \"class\": _ctx.cx('emptyMessage'),\n role: \"option\"\n }, _ctx.ptm('emptyMessage')), [renderSlot(_ctx.$slots, \"empty\", {}, function () {\n return [createTextVNode(toDisplayString($options.searchResultMessageText), 1)];\n })], 16)) : createCommentVNode(\"\", true)], 16, _hoisted_6)];\n }),\n _: 2\n }, [_ctx.$slots.loader ? {\n name: \"loader\",\n fn: withCtx(function (_ref2) {\n var options = _ref2.options;\n return [renderSlot(_ctx.$slots, \"loader\", {\n options: options\n })];\n }),\n key: \"0\"\n } : undefined]), 1040, [\"style\", \"items\", \"disabled\", \"pt\"]), renderSlot(_ctx.$slots, \"footer\", {\n value: _ctx.modelValue,\n suggestions: $options.visibleOptions\n }), createElementVNode(\"span\", mergeProps({\n role: \"status\",\n \"aria-live\": \"polite\",\n \"class\": \"p-hidden-accessible\"\n }, _ctx.ptm('hiddenSelectedMessage'), {\n \"data-p-hidden-accessible\": true\n }), toDisplayString($options.selectedMessageText), 17)], 16, _hoisted_5)) : createCommentVNode(\"\", true)];\n }),\n _: 3\n }, 16, [\"onEnter\", \"onAfterEnter\", \"onLeave\", \"onAfterLeave\"])];\n }),\n _: 3\n }, 8, [\"appendTo\"])], 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'WindowMaximizeIcon',\n \"extends\": BaseIcon\n};\n\nvar _hoisted_1 = /*#__PURE__*/createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M7 14H11.8C12.3835 14 12.9431 13.7682 13.3556 13.3556C13.7682 12.9431 14 12.3835 14 11.8V2.2C14 1.61652 13.7682 1.05694 13.3556 0.644365C12.9431 0.231785 12.3835 0 11.8 0H2.2C1.61652 0 1.05694 0.231785 0.644365 0.644365C0.231785 1.05694 0 1.61652 0 2.2V7C0 7.15913 0.063214 7.31174 0.175736 7.42426C0.288258 7.53679 0.44087 7.6 0.6 7.6C0.75913 7.6 0.911742 7.53679 1.02426 7.42426C1.13679 7.31174 1.2 7.15913 1.2 7V2.2C1.2 1.93478 1.30536 1.68043 1.49289 1.49289C1.68043 1.30536 1.93478 1.2 2.2 1.2H11.8C12.0652 1.2 12.3196 1.30536 12.5071 1.49289C12.6946 1.68043 12.8 1.93478 12.8 2.2V11.8C12.8 12.0652 12.6946 12.3196 12.5071 12.5071C12.3196 12.6946 12.0652 12.8 11.8 12.8H7C6.84087 12.8 6.68826 12.8632 6.57574 12.9757C6.46321 13.0883 6.4 13.2409 6.4 13.4C6.4 13.5591 6.46321 13.7117 6.57574 13.8243C6.68826 13.9368 6.84087 14 7 14ZM9.77805 7.42192C9.89013 7.534 10.0415 7.59788 10.2 7.59995C10.3585 7.59788 10.5099 7.534 10.622 7.42192C10.7341 7.30985 10.798 7.15844 10.8 6.99995V3.94242C10.8066 3.90505 10.8096 3.86689 10.8089 3.82843C10.8079 3.77159 10.7988 3.7157 10.7824 3.6623C10.756 3.55552 10.701 3.45698 10.622 3.37798C10.5099 3.2659 10.3585 3.20202 10.2 3.19995H7.00002C6.84089 3.19995 6.68828 3.26317 6.57576 3.37569C6.46324 3.48821 6.40002 3.64082 6.40002 3.79995C6.40002 3.95908 6.46324 4.11169 6.57576 4.22422C6.68828 4.33674 6.84089 4.39995 7.00002 4.39995H8.80006L6.19997 7.00005C6.10158 7.11005 6.04718 7.25246 6.04718 7.40005C6.04718 7.54763 6.10158 7.69004 6.19997 7.80005C6.30202 7.91645 6.44561 7.98824 6.59997 8.00005C6.75432 7.98824 6.89791 7.91645 6.99997 7.80005L9.60002 5.26841V6.99995C9.6021 7.15844 9.66598 7.30985 9.77805 7.42192ZM1.4 14H3.8C4.17066 13.9979 4.52553 13.8498 4.78763 13.5877C5.04973 13.3256 5.1979 12.9707 5.2 12.6V10.2C5.1979 9.82939 5.04973 9.47452 4.78763 9.21242C4.52553 8.95032 4.17066 8.80215 3.8 8.80005H1.4C1.02934 8.80215 0.674468 8.95032 0.412371 9.21242C0.150274 9.47452 0.00210008 9.82939 0 10.2V12.6C0.00210008 12.9707 0.150274 13.3256 0.412371 13.5877C0.674468 13.8498 1.02934 13.9979 1.4 14ZM1.25858 10.0586C1.29609 10.0211 1.34696 10 1.4 10H3.8C3.85304 10 3.90391 10.0211 3.94142 10.0586C3.97893 10.0961 4 10.147 4 10.2V12.6C4 12.6531 3.97893 12.704 3.94142 12.7415C3.90391 12.779 3.85304 12.8 3.8 12.8H1.4C1.34696 12.8 1.29609 12.779 1.25858 12.7415C1.22107 12.704 1.2 12.6531 1.2 12.6V10.2C1.2 10.147 1.22107 10.0961 1.25858 10.0586Z\",\n fill: \"currentColor\"\n}, null, -1);\nvar _hoisted_2 = [_hoisted_1];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _hoisted_2, 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseIcon from '@primevue/icons/baseicon';\nimport { openBlock, createElementBlock, mergeProps, createElementVNode } from 'vue';\n\nvar script = {\n name: 'WindowMinimizeIcon',\n \"extends\": BaseIcon\n};\n\nvar _hoisted_1 = /*#__PURE__*/createElementVNode(\"path\", {\n \"fill-rule\": \"evenodd\",\n \"clip-rule\": \"evenodd\",\n d: \"M11.8 0H2.2C1.61652 0 1.05694 0.231785 0.644365 0.644365C0.231785 1.05694 0 1.61652 0 2.2V7C0 7.15913 0.063214 7.31174 0.175736 7.42426C0.288258 7.53679 0.44087 7.6 0.6 7.6C0.75913 7.6 0.911742 7.53679 1.02426 7.42426C1.13679 7.31174 1.2 7.15913 1.2 7V2.2C1.2 1.93478 1.30536 1.68043 1.49289 1.49289C1.68043 1.30536 1.93478 1.2 2.2 1.2H11.8C12.0652 1.2 12.3196 1.30536 12.5071 1.49289C12.6946 1.68043 12.8 1.93478 12.8 2.2V11.8C12.8 12.0652 12.6946 12.3196 12.5071 12.5071C12.3196 12.6946 12.0652 12.8 11.8 12.8H7C6.84087 12.8 6.68826 12.8632 6.57574 12.9757C6.46321 13.0883 6.4 13.2409 6.4 13.4C6.4 13.5591 6.46321 13.7117 6.57574 13.8243C6.68826 13.9368 6.84087 14 7 14H11.8C12.3835 14 12.9431 13.7682 13.3556 13.3556C13.7682 12.9431 14 12.3835 14 11.8V2.2C14 1.61652 13.7682 1.05694 13.3556 0.644365C12.9431 0.231785 12.3835 0 11.8 0ZM6.368 7.952C6.44137 7.98326 6.52025 7.99958 6.6 8H9.8C9.95913 8 10.1117 7.93678 10.2243 7.82426C10.3368 7.71174 10.4 7.55913 10.4 7.4C10.4 7.24087 10.3368 7.08826 10.2243 6.97574C10.1117 6.86321 9.95913 6.8 9.8 6.8H8.048L10.624 4.224C10.73 4.11026 10.7877 3.95982 10.7849 3.80438C10.7822 3.64894 10.7192 3.50063 10.6093 3.3907C10.4994 3.28077 10.3511 3.2178 10.1956 3.21506C10.0402 3.21232 9.88974 3.27002 9.776 3.376L7.2 5.952V4.2C7.2 4.04087 7.13679 3.88826 7.02426 3.77574C6.91174 3.66321 6.75913 3.6 6.6 3.6C6.44087 3.6 6.28826 3.66321 6.17574 3.77574C6.06321 3.88826 6 4.04087 6 4.2V7.4C6.00042 7.47975 6.01674 7.55862 6.048 7.632C6.07656 7.70442 6.11971 7.7702 6.17475 7.82524C6.2298 7.88029 6.29558 7.92344 6.368 7.952ZM1.4 8.80005H3.8C4.17066 8.80215 4.52553 8.95032 4.78763 9.21242C5.04973 9.47452 5.1979 9.82939 5.2 10.2V12.6C5.1979 12.9707 5.04973 13.3256 4.78763 13.5877C4.52553 13.8498 4.17066 13.9979 3.8 14H1.4C1.02934 13.9979 0.674468 13.8498 0.412371 13.5877C0.150274 13.3256 0.00210008 12.9707 0 12.6V10.2C0.00210008 9.82939 0.150274 9.47452 0.412371 9.21242C0.674468 8.95032 1.02934 8.80215 1.4 8.80005ZM3.94142 12.7415C3.97893 12.704 4 12.6531 4 12.6V10.2C4 10.147 3.97893 10.0961 3.94142 10.0586C3.90391 10.0211 3.85304 10 3.8 10H1.4C1.34696 10 1.29609 10.0211 1.25858 10.0586C1.22107 10.0961 1.2 10.147 1.2 10.2V12.6C1.2 12.6531 1.22107 12.704 1.25858 12.7415C1.29609 12.779 1.34696 12.8 1.4 12.8H3.8C3.85304 12.8 3.90391 12.779 3.94142 12.7415Z\",\n fill: \"currentColor\"\n}, null, -1);\nvar _hoisted_2 = [_hoisted_1];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n return openBlock(), createElementBlock(\"svg\", mergeProps({\n width: \"14\",\n height: \"14\",\n viewBox: \"0 0 14 14\",\n fill: \"none\",\n xmlns: \"http://www.w3.org/2000/svg\"\n }, _ctx.pti()), _hoisted_2, 16);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar FocusTrapStyle = BaseStyle.extend({\n name: 'focustrap-directive'\n});\n\nexport { FocusTrapStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { focus, getFirstFocusableElement, getLastFocusableElement, isFocusableElement, createElement } from '@primeuix/utils/dom';\nimport { isNotEmpty } from '@primeuix/utils/object';\nimport BaseDirective from '@primevue/core/basedirective';\nimport FocusTrapStyle from 'primevue/focustrap/style';\n\nvar BaseFocusTrap = BaseDirective.extend({\n style: FocusTrapStyle\n});\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar FocusTrap = BaseFocusTrap.extend('focustrap', {\n mounted: function mounted(el, binding) {\n var _ref = binding.value || {},\n disabled = _ref.disabled;\n if (!disabled) {\n this.createHiddenFocusableElements(el, binding);\n this.bind(el, binding);\n this.autoElementFocus(el, binding);\n }\n el.setAttribute('data-pd-focustrap', true);\n this.$el = el;\n },\n updated: function updated(el, binding) {\n var _ref2 = binding.value || {},\n disabled = _ref2.disabled;\n disabled && this.unbind(el);\n },\n unmounted: function unmounted(el) {\n this.unbind(el);\n },\n methods: {\n getComputedSelector: function getComputedSelector(selector) {\n return \":not(.p-hidden-focusable):not([data-p-hidden-focusable=\\\"true\\\"])\".concat(selector !== null && selector !== void 0 ? selector : '');\n },\n bind: function bind(el, binding) {\n var _this = this;\n var _ref3 = binding.value || {},\n onFocusIn = _ref3.onFocusIn,\n onFocusOut = _ref3.onFocusOut;\n el.$_pfocustrap_mutationobserver = new MutationObserver(function (mutationList) {\n mutationList.forEach(function (mutation) {\n if (mutation.type === 'childList' && !el.contains(document.activeElement)) {\n var findNextFocusableElement = function findNextFocusableElement(_el) {\n var focusableElement = isFocusableElement(_el) ? isFocusableElement(_el, _this.getComputedSelector(el.$_pfocustrap_focusableselector)) ? _el : getFirstFocusableElement(el, _this.getComputedSelector(el.$_pfocustrap_focusableselector)) : getFirstFocusableElement(_el);\n return isNotEmpty(focusableElement) ? focusableElement : _el.nextSibling && findNextFocusableElement(_el.nextSibling);\n };\n focus(findNextFocusableElement(mutation.nextSibling));\n }\n });\n });\n el.$_pfocustrap_mutationobserver.disconnect();\n el.$_pfocustrap_mutationobserver.observe(el, {\n childList: true\n });\n el.$_pfocustrap_focusinlistener = function (event) {\n return onFocusIn && onFocusIn(event);\n };\n el.$_pfocustrap_focusoutlistener = function (event) {\n return onFocusOut && onFocusOut(event);\n };\n el.addEventListener('focusin', el.$_pfocustrap_focusinlistener);\n el.addEventListener('focusout', el.$_pfocustrap_focusoutlistener);\n },\n unbind: function unbind(el) {\n el.$_pfocustrap_mutationobserver && el.$_pfocustrap_mutationobserver.disconnect();\n el.$_pfocustrap_focusinlistener && el.removeEventListener('focusin', el.$_pfocustrap_focusinlistener) && (el.$_pfocustrap_focusinlistener = null);\n el.$_pfocustrap_focusoutlistener && el.removeEventListener('focusout', el.$_pfocustrap_focusoutlistener) && (el.$_pfocustrap_focusoutlistener = null);\n },\n autoFocus: function autoFocus(options) {\n this.autoElementFocus(this.$el, {\n value: _objectSpread(_objectSpread({}, options), {}, {\n autoFocus: true\n })\n });\n },\n autoElementFocus: function autoElementFocus(el, binding) {\n var _ref4 = binding.value || {},\n _ref4$autoFocusSelect = _ref4.autoFocusSelector,\n autoFocusSelector = _ref4$autoFocusSelect === void 0 ? '' : _ref4$autoFocusSelect,\n _ref4$firstFocusableS = _ref4.firstFocusableSelector,\n firstFocusableSelector = _ref4$firstFocusableS === void 0 ? '' : _ref4$firstFocusableS,\n _ref4$autoFocus = _ref4.autoFocus,\n autoFocus = _ref4$autoFocus === void 0 ? false : _ref4$autoFocus;\n var focusableElement = getFirstFocusableElement(el, \"[autofocus]\".concat(this.getComputedSelector(autoFocusSelector)));\n autoFocus && !focusableElement && (focusableElement = getFirstFocusableElement(el, this.getComputedSelector(firstFocusableSelector)));\n focus(focusableElement);\n },\n onFirstHiddenElementFocus: function onFirstHiddenElementFocus(event) {\n var _this$$el;\n var currentTarget = event.currentTarget,\n relatedTarget = event.relatedTarget;\n var focusableElement = relatedTarget === currentTarget.$_pfocustrap_lasthiddenfocusableelement || !((_this$$el = this.$el) !== null && _this$$el !== void 0 && _this$$el.contains(relatedTarget)) ? getFirstFocusableElement(currentTarget.parentElement, this.getComputedSelector(currentTarget.$_pfocustrap_focusableselector)) : currentTarget.$_pfocustrap_lasthiddenfocusableelement;\n focus(focusableElement);\n },\n onLastHiddenElementFocus: function onLastHiddenElementFocus(event) {\n var _this$$el2;\n var currentTarget = event.currentTarget,\n relatedTarget = event.relatedTarget;\n var focusableElement = relatedTarget === currentTarget.$_pfocustrap_firsthiddenfocusableelement || !((_this$$el2 = this.$el) !== null && _this$$el2 !== void 0 && _this$$el2.contains(relatedTarget)) ? getLastFocusableElement(currentTarget.parentElement, this.getComputedSelector(currentTarget.$_pfocustrap_focusableselector)) : currentTarget.$_pfocustrap_firsthiddenfocusableelement;\n focus(focusableElement);\n },\n createHiddenFocusableElements: function createHiddenFocusableElements(el, binding) {\n var _this2 = this;\n var _ref5 = binding.value || {},\n _ref5$tabIndex = _ref5.tabIndex,\n tabIndex = _ref5$tabIndex === void 0 ? 0 : _ref5$tabIndex,\n _ref5$firstFocusableS = _ref5.firstFocusableSelector,\n firstFocusableSelector = _ref5$firstFocusableS === void 0 ? '' : _ref5$firstFocusableS,\n _ref5$lastFocusableSe = _ref5.lastFocusableSelector,\n lastFocusableSelector = _ref5$lastFocusableSe === void 0 ? '' : _ref5$lastFocusableSe;\n var createFocusableElement = function createFocusableElement(onFocus) {\n return createElement('span', {\n \"class\": 'p-hidden-accessible p-hidden-focusable',\n tabIndex: tabIndex,\n role: 'presentation',\n 'aria-hidden': true,\n 'data-p-hidden-accessible': true,\n 'data-p-hidden-focusable': true,\n onFocus: onFocus === null || onFocus === void 0 ? void 0 : onFocus.bind(_this2)\n });\n };\n var firstFocusableElement = createFocusableElement(this.onFirstHiddenElementFocus);\n var lastFocusableElement = createFocusableElement(this.onLastHiddenElementFocus);\n firstFocusableElement.$_pfocustrap_lasthiddenfocusableelement = lastFocusableElement;\n firstFocusableElement.$_pfocustrap_focusableselector = firstFocusableSelector;\n firstFocusableElement.setAttribute('data-pc-section', 'firstfocusableelement');\n lastFocusableElement.$_pfocustrap_firsthiddenfocusableelement = firstFocusableElement;\n lastFocusableElement.$_pfocustrap_focusableselector = lastFocusableSelector;\n lastFocusableElement.setAttribute('data-pc-section', 'lastfocusableelement');\n el.prepend(firstFocusableElement);\n el.append(lastFocusableElement);\n }\n }\n});\n\nexport { FocusTrap as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-dialog {\\n max-height: 90%;\\n transform: scale(1);\\n border-radius: \".concat(dt('dialog.border.radius'), \";\\n box-shadow: \").concat(dt('dialog.shadow'), \";\\n background: \").concat(dt('dialog.background'), \";\\n border: 1px solid \").concat(dt('dialog.border.color'), \";\\n color: \").concat(dt('dialog.color'), \";\\n}\\n\\n.p-dialog-content {\\n overflow-y: auto;\\n padding: \").concat(dt('dialog.content.padding'), \";\\n}\\n\\n.p-dialog-header {\\n display: flex;\\n align-items: center;\\n justify-content: space-between;\\n flex-shrink: 0;\\n padding: \").concat(dt('dialog.header.padding'), \";\\n}\\n\\n.p-dialog-title {\\n font-weight: \").concat(dt('dialog.title.font.weight'), \";\\n font-size: \").concat(dt('dialog.title.font.size'), \";\\n}\\n\\n.p-dialog-footer {\\n flex-shrink: 0;\\n padding: \").concat(dt('dialog.footer.padding'), \";\\n display: flex;\\n justify-content: flex-end;\\n gap: \").concat(dt('dialog.footer.gap'), \";\\n}\\n\\n.p-dialog-header-actions {\\n display: flex;\\n align-items: center;\\n gap: \").concat(dt('dialog.header.gap'), \";\\n}\\n.p-dialog-enter-active {\\n transition: all 150ms cubic-bezier(0, 0, 0.2, 1);\\n}\\n\\n.p-dialog-leave-active {\\n transition: all 150ms cubic-bezier(0.4, 0, 0.2, 1);\\n}\\n\\n.p-dialog-enter-from,\\n.p-dialog-leave-to {\\n opacity: 0;\\n transform: scale(0.7);\\n}\\n\\n.p-dialog-top .p-dialog,\\n.p-dialog-bottom .p-dialog,\\n.p-dialog-left .p-dialog,\\n.p-dialog-right .p-dialog,\\n.p-dialog-topleft .p-dialog,\\n.p-dialog-topright .p-dialog,\\n.p-dialog-bottomleft .p-dialog,\\n.p-dialog-bottomright .p-dialog {\\n margin: 0.75rem;\\n transform: translate3d(0px, 0px, 0px);\\n}\\n\\n.p-dialog-top .p-dialog-enter-active,\\n.p-dialog-top .p-dialog-leave-active,\\n.p-dialog-bottom .p-dialog-enter-active,\\n.p-dialog-bottom .p-dialog-leave-active,\\n.p-dialog-left .p-dialog-enter-active,\\n.p-dialog-left .p-dialog-leave-active,\\n.p-dialog-right .p-dialog-enter-active,\\n.p-dialog-right .p-dialog-leave-active,\\n.p-dialog-topleft .p-dialog-enter-active,\\n.p-dialog-topleft .p-dialog-leave-active,\\n.p-dialog-topright .p-dialog-enter-active,\\n.p-dialog-topright .p-dialog-leave-active,\\n.p-dialog-bottomleft .p-dialog-enter-active,\\n.p-dialog-bottomleft .p-dialog-leave-active,\\n.p-dialog-bottomright .p-dialog-enter-active,\\n.p-dialog-bottomright .p-dialog-leave-active {\\n transition: all 0.3s ease-out;\\n}\\n\\n.p-dialog-top .p-dialog-enter-from,\\n.p-dialog-top .p-dialog-leave-to {\\n transform: translate3d(0px, -100%, 0px);\\n}\\n\\n.p-dialog-bottom .p-dialog-enter-from,\\n.p-dialog-bottom .p-dialog-leave-to {\\n transform: translate3d(0px, 100%, 0px);\\n}\\n\\n.p-dialog-left .p-dialog-enter-from,\\n.p-dialog-left .p-dialog-leave-to,\\n.p-dialog-topleft .p-dialog-enter-from,\\n.p-dialog-topleft .p-dialog-leave-to,\\n.p-dialog-bottomleft .p-dialog-enter-from,\\n.p-dialog-bottomleft .p-dialog-leave-to {\\n transform: translate3d(-100%, 0px, 0px);\\n}\\n\\n.p-dialog-right .p-dialog-enter-from,\\n.p-dialog-right .p-dialog-leave-to,\\n.p-dialog-topright .p-dialog-enter-from,\\n.p-dialog-topright .p-dialog-leave-to,\\n.p-dialog-bottomright .p-dialog-enter-from,\\n.p-dialog-bottomright .p-dialog-leave-to {\\n transform: translate3d(100%, 0px, 0px);\\n}\\n\\n.p-dialog-maximized {\\n width: 100vw !important;\\n height: 100vh !important;\\n top: 0px !important;\\n left: 0px !important;\\n max-height: 100%;\\n height: 100%;\\n border-radius: 0;\\n}\\n\\n.p-dialog-maximized .p-dialog-content {\\n flex-grow: 1;\\n}\\n\");\n};\n\n/* Position */\nvar inlineStyles = {\n mask: function mask(_ref2) {\n var position = _ref2.position,\n modal = _ref2.modal;\n return {\n position: 'fixed',\n height: '100%',\n width: '100%',\n left: 0,\n top: 0,\n display: 'flex',\n justifyContent: position === 'left' || position === 'topleft' || position === 'bottomleft' ? 'flex-start' : position === 'right' || position === 'topright' || position === 'bottomright' ? 'flex-end' : 'center',\n alignItems: position === 'top' || position === 'topleft' || position === 'topright' ? 'flex-start' : position === 'bottom' || position === 'bottomleft' || position === 'bottomright' ? 'flex-end' : 'center',\n pointerEvents: modal ? 'auto' : 'none'\n };\n },\n root: {\n display: 'flex',\n flexDirection: 'column',\n pointerEvents: 'auto'\n }\n};\nvar classes = {\n mask: function mask(_ref3) {\n var props = _ref3.props;\n var positions = ['left', 'right', 'top', 'topleft', 'topright', 'bottom', 'bottomleft', 'bottomright'];\n var pos = positions.find(function (item) {\n return item === props.position;\n });\n return ['p-dialog-mask', {\n 'p-overlay-mask p-overlay-mask-enter': props.modal\n }, pos ? \"p-dialog-\".concat(pos) : ''];\n },\n root: function root(_ref4) {\n var props = _ref4.props,\n instance = _ref4.instance;\n return ['p-dialog p-component', {\n 'p-dialog-maximized': props.maximizable && instance.maximized\n }];\n },\n header: 'p-dialog-header',\n title: 'p-dialog-title',\n headerActions: 'p-dialog-header-actions',\n pcMaximizeButton: 'p-dialog-maximize-button',\n pcCloseButton: 'p-dialog-close-button',\n content: 'p-dialog-content',\n footer: 'p-dialog-footer'\n};\nvar DialogStyle = BaseStyle.extend({\n name: 'dialog',\n theme: theme,\n classes: classes,\n inlineStyles: inlineStyles\n});\n\nexport { DialogStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { UniqueComponentId } from '@primevue/core/utils';\nimport { addClass, focus, blockBodyScroll, unblockBodyScroll, setAttribute, addStyle, getOuterWidth, getOuterHeight, getViewport } from '@primeuix/utils/dom';\nimport { ZIndex } from '@primeuix/utils/zindex';\nimport TimesIcon from '@primevue/icons/times';\nimport WindowMaximizeIcon from '@primevue/icons/windowmaximize';\nimport WindowMinimizeIcon from '@primevue/icons/windowminimize';\nimport Button from 'primevue/button';\nimport FocusTrap from 'primevue/focustrap';\nimport Portal from 'primevue/portal';\nimport Ripple from 'primevue/ripple';\nimport { computed, resolveComponent, resolveDirective, openBlock, createBlock, withCtx, createElementBlock, mergeProps, createVNode, Transition, withDirectives, renderSlot, Fragment, normalizeClass, toDisplayString, createCommentVNode, createElementVNode, resolveDynamicComponent, createTextVNode } from 'vue';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport DialogStyle from 'primevue/dialog/style';\n\nvar script$1 = {\n name: 'BaseDialog',\n \"extends\": BaseComponent,\n props: {\n header: {\n type: null,\n \"default\": null\n },\n footer: {\n type: null,\n \"default\": null\n },\n visible: {\n type: Boolean,\n \"default\": false\n },\n modal: {\n type: Boolean,\n \"default\": null\n },\n contentStyle: {\n type: null,\n \"default\": null\n },\n contentClass: {\n type: String,\n \"default\": null\n },\n contentProps: {\n type: null,\n \"default\": null\n },\n maximizable: {\n type: Boolean,\n \"default\": false\n },\n dismissableMask: {\n type: Boolean,\n \"default\": false\n },\n closable: {\n type: Boolean,\n \"default\": true\n },\n closeOnEscape: {\n type: Boolean,\n \"default\": true\n },\n showHeader: {\n type: Boolean,\n \"default\": true\n },\n blockScroll: {\n type: Boolean,\n \"default\": false\n },\n baseZIndex: {\n type: Number,\n \"default\": 0\n },\n autoZIndex: {\n type: Boolean,\n \"default\": true\n },\n position: {\n type: String,\n \"default\": 'center'\n },\n breakpoints: {\n type: Object,\n \"default\": null\n },\n draggable: {\n type: Boolean,\n \"default\": true\n },\n keepInViewport: {\n type: Boolean,\n \"default\": true\n },\n minX: {\n type: Number,\n \"default\": 0\n },\n minY: {\n type: Number,\n \"default\": 0\n },\n appendTo: {\n type: [String, Object],\n \"default\": 'body'\n },\n closeIcon: {\n type: String,\n \"default\": undefined\n },\n maximizeIcon: {\n type: String,\n \"default\": undefined\n },\n minimizeIcon: {\n type: String,\n \"default\": undefined\n },\n closeButtonProps: {\n type: Object,\n \"default\": function _default() {\n return {\n severity: 'secondary',\n text: true,\n rounded: true\n };\n }\n },\n maximizeButtonProps: {\n type: Object,\n \"default\": function _default() {\n return {\n severity: 'secondary',\n text: true,\n rounded: true\n };\n }\n },\n _instance: null\n },\n style: DialogStyle,\n provide: function provide() {\n return {\n $pcDialog: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'Dialog',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:visible', 'show', 'hide', 'after-hide', 'maximize', 'unmaximize', 'dragend'],\n provide: function provide() {\n var _this = this;\n return {\n dialogRef: computed(function () {\n return _this._instance;\n })\n };\n },\n data: function data() {\n return {\n id: this.$attrs.id,\n containerVisible: this.visible,\n maximized: false,\n focusableMax: null,\n focusableClose: null\n };\n },\n watch: {\n '$attrs.id': function $attrsId(newValue) {\n this.id = newValue || UniqueComponentId();\n }\n },\n documentKeydownListener: null,\n container: null,\n mask: null,\n content: null,\n headerContainer: null,\n footerContainer: null,\n maximizableButton: null,\n closeButton: null,\n styleElement: null,\n dragging: null,\n documentDragListener: null,\n documentDragEndListener: null,\n lastPageX: null,\n lastPageY: null,\n updated: function updated() {\n if (this.visible) {\n this.containerVisible = this.visible;\n }\n },\n beforeUnmount: function beforeUnmount() {\n this.unbindDocumentState();\n this.unbindGlobalListeners();\n this.destroyStyle();\n if (this.mask && this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n this.container = null;\n this.mask = null;\n },\n mounted: function mounted() {\n this.id = this.id || UniqueComponentId();\n if (this.breakpoints) {\n this.createStyle();\n }\n },\n methods: {\n close: function close() {\n this.$emit('update:visible', false);\n },\n onBeforeEnter: function onBeforeEnter(el) {\n el.setAttribute(this.attributeSelector, '');\n },\n onEnter: function onEnter() {\n this.$emit('show');\n this.focus();\n this.enableDocumentSettings();\n this.bindGlobalListeners();\n if (this.autoZIndex) {\n ZIndex.set('modal', this.mask, this.baseZIndex + this.$primevue.config.zIndex.modal);\n }\n },\n onBeforeLeave: function onBeforeLeave() {\n if (this.modal) {\n !this.isUnstyled && addClass(this.mask, 'p-overlay-mask-leave');\n }\n },\n onLeave: function onLeave() {\n this.$emit('hide');\n this.focusableClose = null;\n this.focusableMax = null;\n },\n onAfterLeave: function onAfterLeave() {\n if (this.autoZIndex) {\n ZIndex.clear(this.mask);\n }\n this.containerVisible = false;\n this.unbindDocumentState();\n this.unbindGlobalListeners();\n this.$emit('after-hide');\n },\n onMaskClick: function onMaskClick(event) {\n if (this.dismissableMask && this.modal && this.mask === event.target) {\n this.close();\n }\n },\n focus: function focus$1() {\n var findFocusableElement = function findFocusableElement(container) {\n return container && container.querySelector('[autofocus]');\n };\n var focusTarget = this.$slots.footer && findFocusableElement(this.footerContainer);\n if (!focusTarget) {\n focusTarget = this.$slots.header && findFocusableElement(this.headerContainer);\n if (!focusTarget) {\n focusTarget = this.$slots[\"default\"] && findFocusableElement(this.content);\n if (!focusTarget) {\n if (this.maximizable) {\n this.focusableMax = true;\n focusTarget = this.maximizableButton;\n } else {\n this.focusableClose = true;\n focusTarget = this.closeButton;\n }\n }\n }\n }\n if (focusTarget) {\n focus(focusTarget, {\n focusVisible: true\n });\n }\n },\n maximize: function maximize(event) {\n if (this.maximized) {\n this.maximized = false;\n this.$emit('unmaximize', event);\n } else {\n this.maximized = true;\n this.$emit('maximize', event);\n }\n if (!this.modal) {\n this.maximized ? blockBodyScroll() : unblockBodyScroll();\n }\n },\n enableDocumentSettings: function enableDocumentSettings() {\n if (this.modal || !this.modal && this.blockScroll || this.maximizable && this.maximized) {\n blockBodyScroll();\n }\n },\n unbindDocumentState: function unbindDocumentState() {\n if (this.modal || !this.modal && this.blockScroll || this.maximizable && this.maximized) {\n unblockBodyScroll();\n }\n },\n onKeyDown: function onKeyDown(event) {\n if (event.code === 'Escape' && this.closeOnEscape) {\n this.close();\n }\n },\n bindDocumentKeyDownListener: function bindDocumentKeyDownListener() {\n if (!this.documentKeydownListener) {\n this.documentKeydownListener = this.onKeyDown.bind(this);\n window.document.addEventListener('keydown', this.documentKeydownListener);\n }\n },\n unbindDocumentKeyDownListener: function unbindDocumentKeyDownListener() {\n if (this.documentKeydownListener) {\n window.document.removeEventListener('keydown', this.documentKeydownListener);\n this.documentKeydownListener = null;\n }\n },\n containerRef: function containerRef(el) {\n this.container = el;\n },\n maskRef: function maskRef(el) {\n this.mask = el;\n },\n contentRef: function contentRef(el) {\n this.content = el;\n },\n headerContainerRef: function headerContainerRef(el) {\n this.headerContainer = el;\n },\n footerContainerRef: function footerContainerRef(el) {\n this.footerContainer = el;\n },\n maximizableRef: function maximizableRef(el) {\n this.maximizableButton = el ? el.$el : undefined;\n },\n closeButtonRef: function closeButtonRef(el) {\n this.closeButton = el ? el.$el : undefined;\n },\n createStyle: function createStyle() {\n if (!this.styleElement && !this.isUnstyled) {\n var _this$$primevue;\n this.styleElement = document.createElement('style');\n this.styleElement.type = 'text/css';\n setAttribute(this.styleElement, 'nonce', (_this$$primevue = this.$primevue) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.config) === null || _this$$primevue === void 0 || (_this$$primevue = _this$$primevue.csp) === null || _this$$primevue === void 0 ? void 0 : _this$$primevue.nonce);\n document.head.appendChild(this.styleElement);\n var innerHTML = '';\n for (var breakpoint in this.breakpoints) {\n innerHTML += \"\\n @media screen and (max-width: \".concat(breakpoint, \") {\\n .p-dialog[\").concat(this.attributeSelector, \"] {\\n width: \").concat(this.breakpoints[breakpoint], \" !important;\\n }\\n }\\n \");\n }\n this.styleElement.innerHTML = innerHTML;\n }\n },\n destroyStyle: function destroyStyle() {\n if (this.styleElement) {\n document.head.removeChild(this.styleElement);\n this.styleElement = null;\n }\n },\n initDrag: function initDrag(event) {\n if (event.target.closest('div').getAttribute('data-pc-section') === 'headeractions') {\n return;\n }\n if (this.draggable) {\n this.dragging = true;\n this.lastPageX = event.pageX;\n this.lastPageY = event.pageY;\n this.container.style.margin = '0';\n document.body.setAttribute('data-p-unselectable-text', 'true');\n !this.isUnstyled && addStyle(document.body, {\n 'user-select': 'none'\n });\n }\n },\n bindGlobalListeners: function bindGlobalListeners() {\n if (this.draggable) {\n this.bindDocumentDragListener();\n this.bindDocumentDragEndListener();\n }\n if (this.closeOnEscape && this.closable) {\n this.bindDocumentKeyDownListener();\n }\n },\n unbindGlobalListeners: function unbindGlobalListeners() {\n this.unbindDocumentDragListener();\n this.unbindDocumentDragEndListener();\n this.unbindDocumentKeyDownListener();\n },\n bindDocumentDragListener: function bindDocumentDragListener() {\n var _this2 = this;\n this.documentDragListener = function (event) {\n if (_this2.dragging) {\n var width = getOuterWidth(_this2.container);\n var height = getOuterHeight(_this2.container);\n var deltaX = event.pageX - _this2.lastPageX;\n var deltaY = event.pageY - _this2.lastPageY;\n var offset = _this2.container.getBoundingClientRect();\n var leftPos = offset.left + deltaX;\n var topPos = offset.top + deltaY;\n var viewport = getViewport();\n var containerComputedStyle = getComputedStyle(_this2.container);\n var marginLeft = parseFloat(containerComputedStyle.marginLeft);\n var marginTop = parseFloat(containerComputedStyle.marginTop);\n _this2.container.style.position = 'fixed';\n if (_this2.keepInViewport) {\n if (leftPos >= _this2.minX && leftPos + width < viewport.width) {\n _this2.lastPageX = event.pageX;\n _this2.container.style.left = leftPos - marginLeft + 'px';\n }\n if (topPos >= _this2.minY && topPos + height < viewport.height) {\n _this2.lastPageY = event.pageY;\n _this2.container.style.top = topPos - marginTop + 'px';\n }\n } else {\n _this2.lastPageX = event.pageX;\n _this2.container.style.left = leftPos - marginLeft + 'px';\n _this2.lastPageY = event.pageY;\n _this2.container.style.top = topPos - marginTop + 'px';\n }\n }\n };\n window.document.addEventListener('mousemove', this.documentDragListener);\n },\n unbindDocumentDragListener: function unbindDocumentDragListener() {\n if (this.documentDragListener) {\n window.document.removeEventListener('mousemove', this.documentDragListener);\n this.documentDragListener = null;\n }\n },\n bindDocumentDragEndListener: function bindDocumentDragEndListener() {\n var _this3 = this;\n this.documentDragEndListener = function (event) {\n if (_this3.dragging) {\n _this3.dragging = false;\n document.body.removeAttribute('data-p-unselectable-text');\n !_this3.isUnstyled && (document.body.style['user-select'] = '');\n _this3.$emit('dragend', event);\n }\n };\n window.document.addEventListener('mouseup', this.documentDragEndListener);\n },\n unbindDocumentDragEndListener: function unbindDocumentDragEndListener() {\n if (this.documentDragEndListener) {\n window.document.removeEventListener('mouseup', this.documentDragEndListener);\n this.documentDragEndListener = null;\n }\n }\n },\n computed: {\n maximizeIconComponent: function maximizeIconComponent() {\n return this.maximized ? this.minimizeIcon ? 'span' : 'WindowMinimizeIcon' : this.maximizeIcon ? 'span' : 'WindowMaximizeIcon';\n },\n ariaLabelledById: function ariaLabelledById() {\n return this.header != null || this.$attrs['aria-labelledby'] !== null ? this.id + '_header' : null;\n },\n closeAriaLabel: function closeAriaLabel() {\n return this.$primevue.config.locale.aria ? this.$primevue.config.locale.aria.close : undefined;\n },\n attributeSelector: function attributeSelector() {\n return UniqueComponentId();\n }\n },\n directives: {\n ripple: Ripple,\n focustrap: FocusTrap\n },\n components: {\n Button: Button,\n Portal: Portal,\n WindowMinimizeIcon: WindowMinimizeIcon,\n WindowMaximizeIcon: WindowMaximizeIcon,\n TimesIcon: TimesIcon\n }\n};\n\nfunction _typeof(o) { \"@babel/helpers - typeof\"; return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o; }, _typeof(o); }\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _defineProperty(e, r, t) { return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, { value: t, enumerable: !0, configurable: !0, writable: !0 }) : e[r] = t, e; }\nfunction _toPropertyKey(t) { var i = _toPrimitive(t, \"string\"); return \"symbol\" == _typeof(i) ? i : i + \"\"; }\nfunction _toPrimitive(t, r) { if (\"object\" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || \"default\"); if (\"object\" != _typeof(i)) return i; throw new TypeError(\"@@toPrimitive must return a primitive value.\"); } return (\"string\" === r ? String : Number)(t); }\nvar _hoisted_1 = [\"aria-labelledby\", \"aria-modal\"];\nvar _hoisted_2 = [\"id\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_Button = resolveComponent(\"Button\");\n var _component_Portal = resolveComponent(\"Portal\");\n var _directive_focustrap = resolveDirective(\"focustrap\");\n return openBlock(), createBlock(_component_Portal, {\n appendTo: _ctx.appendTo\n }, {\n \"default\": withCtx(function () {\n return [$data.containerVisible ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref: $options.maskRef,\n \"class\": _ctx.cx('mask'),\n style: _ctx.sx('mask', true, {\n position: _ctx.position,\n modal: _ctx.modal\n }),\n onClick: _cache[1] || (_cache[1] = function () {\n return $options.onMaskClick && $options.onMaskClick.apply($options, arguments);\n })\n }, _ctx.ptm('mask')), [createVNode(Transition, mergeProps({\n name: \"p-dialog\",\n onBeforeEnter: $options.onBeforeEnter,\n onEnter: $options.onEnter,\n onBeforeLeave: $options.onBeforeLeave,\n onLeave: $options.onLeave,\n onAfterLeave: $options.onAfterLeave,\n appear: \"\"\n }, _ctx.ptm('transition')), {\n \"default\": withCtx(function () {\n return [_ctx.visible ? withDirectives((openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref: $options.containerRef,\n \"class\": _ctx.cx('root'),\n style: _ctx.sx('root'),\n role: \"dialog\",\n \"aria-labelledby\": $options.ariaLabelledById,\n \"aria-modal\": _ctx.modal\n }, _ctx.ptmi('root')), [_ctx.$slots.container ? renderSlot(_ctx.$slots, \"container\", {\n key: 0,\n closeCallback: $options.close,\n maximizeCallback: function maximizeCallback(event) {\n return $options.maximize(event);\n }\n }) : (openBlock(), createElementBlock(Fragment, {\n key: 1\n }, [_ctx.showHeader ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 0,\n ref: $options.headerContainerRef,\n \"class\": _ctx.cx('header'),\n onMousedown: _cache[0] || (_cache[0] = function () {\n return $options.initDrag && $options.initDrag.apply($options, arguments);\n })\n }, _ctx.ptm('header')), [renderSlot(_ctx.$slots, \"header\", {\n \"class\": normalizeClass(_ctx.cx('title'))\n }, function () {\n return [_ctx.header ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n id: $options.ariaLabelledById,\n \"class\": _ctx.cx('title')\n }, _ctx.ptm('title')), toDisplayString(_ctx.header), 17, _hoisted_2)) : createCommentVNode(\"\", true)];\n }), createElementVNode(\"div\", mergeProps({\n \"class\": _ctx.cx('headerActions')\n }, _ctx.ptm('headerActions')), [_ctx.maximizable ? (openBlock(), createBlock(_component_Button, mergeProps({\n key: 0,\n ref: $options.maximizableRef,\n autofocus: $data.focusableMax,\n \"class\": _ctx.cx('pcMaximizeButton'),\n onClick: $options.maximize,\n tabindex: _ctx.maximizable ? '0' : '-1',\n unstyled: _ctx.unstyled\n }, _ctx.maximizeButtonProps, {\n pt: _ctx.ptm('pcMaximizeButton'),\n \"data-pc-group-section\": \"headericon\"\n }), {\n icon: withCtx(function (slotProps) {\n return [renderSlot(_ctx.$slots, \"maximizeicon\", {\n maximized: $data.maximized\n }, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent($options.maximizeIconComponent), mergeProps({\n \"class\": [slotProps[\"class\"], $data.maximized ? _ctx.minimizeIcon : _ctx.maximizeIcon]\n }, _ctx.ptm('pcMaximizeButton')['icon']), null, 16, [\"class\"]))];\n })];\n }),\n _: 3\n }, 16, [\"autofocus\", \"class\", \"onClick\", \"tabindex\", \"unstyled\", \"pt\"])) : createCommentVNode(\"\", true), _ctx.closable ? (openBlock(), createBlock(_component_Button, mergeProps({\n key: 1,\n ref: $options.closeButtonRef,\n autofocus: $data.focusableClose,\n \"class\": _ctx.cx('pcCloseButton'),\n onClick: $options.close,\n \"aria-label\": $options.closeAriaLabel,\n unstyled: _ctx.unstyled\n }, _ctx.closeButtonProps, {\n pt: _ctx.ptm('pcCloseButton'),\n \"data-pc-group-section\": \"headericon\"\n }), {\n icon: withCtx(function (slotProps) {\n return [renderSlot(_ctx.$slots, \"closeicon\", {}, function () {\n return [(openBlock(), createBlock(resolveDynamicComponent(_ctx.closeIcon ? 'span' : 'TimesIcon'), mergeProps({\n \"class\": [_ctx.closeIcon, slotProps[\"class\"]]\n }, _ctx.ptm('pcCloseButton')['icon']), null, 16, [\"class\"]))];\n })];\n }),\n _: 3\n }, 16, [\"autofocus\", \"class\", \"onClick\", \"aria-label\", \"unstyled\", \"pt\"])) : createCommentVNode(\"\", true)], 16)], 16)) : createCommentVNode(\"\", true), createElementVNode(\"div\", mergeProps({\n ref: $options.contentRef,\n \"class\": [_ctx.cx('content'), _ctx.contentClass],\n style: _ctx.contentStyle\n }, _objectSpread(_objectSpread({}, _ctx.contentProps), _ctx.ptm('content'))), [renderSlot(_ctx.$slots, \"default\")], 16), _ctx.footer || _ctx.$slots.footer ? (openBlock(), createElementBlock(\"div\", mergeProps({\n key: 1,\n ref: $options.footerContainerRef,\n \"class\": _ctx.cx('footer')\n }, _ctx.ptm('footer')), [renderSlot(_ctx.$slots, \"footer\", {}, function () {\n return [createTextVNode(toDisplayString(_ctx.footer), 1)];\n })], 16)) : createCommentVNode(\"\", true)], 64))], 16, _hoisted_1)), [[_directive_focustrap, {\n disabled: !_ctx.modal\n }]]) : createCommentVNode(\"\", true)];\n }),\n _: 3\n }, 16, [\"onBeforeEnter\", \"onEnter\", \"onBeforeLeave\", \"onLeave\", \"onAfterLeave\"])], 16)) : createCommentVNode(\"\", true)];\n }),\n _: 3\n }, 8, [\"appendTo\"]);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-togglebutton {\\n display: inline-flex;\\n cursor: pointer;\\n user-select: none;\\n align-items: center;\\n justify-content: center;\\n overflow: hidden;\\n position: relative;\\n color: \".concat(dt('togglebutton.color'), \";\\n background: \").concat(dt('togglebutton.background'), \";\\n border: 1px solid \").concat(dt('togglebutton.border.color'), \";\\n padding: \").concat(dt('togglebutton.padding'), \";\\n font-size: 1rem;\\n font-family: inherit;\\n font-feature-settings: inherit;\\n transition: background \").concat(dt('togglebutton.transition.duration'), \", color \").concat(dt('togglebutton.transition.duration'), \", border-color \").concat(dt('togglebutton.transition.duration'), \",\\n outline-color \").concat(dt('togglebutton.transition.duration'), \", box-shadow \").concat(dt('togglebutton.transition.duration'), \";\\n border-radius: \").concat(dt('togglebutton.border.radius'), \";\\n outline-color: transparent;\\n font-weight: \").concat(dt('togglebutton.font.weight'), \";\\n}\\n\\n.p-togglebutton-content {\\n position: relative;\\n display: inline-flex;\\n align-items: center;\\n justify-content: center;\\n gap: \").concat(dt('togglebutton.gap'), \";\\n}\\n\\n.p-togglebutton-label,\\n.p-togglebutton-icon {\\n position: relative;\\n transition: none;\\n}\\n\\n.p-togglebutton::before {\\n content: \\\"\\\";\\n background: transparent;\\n transition: background \").concat(dt('togglebutton.transition.duration'), \", color \").concat(dt('togglebutton.transition.duration'), \", border-color \").concat(dt('togglebutton.transition.duration'), \",\\n outline-color \").concat(dt('togglebutton.transition.duration'), \", box-shadow \").concat(dt('togglebutton.transition.duration'), \";\\n position: absolute;\\n left: \").concat(dt('togglebutton.content.left'), \";\\n top: \").concat(dt('togglebutton.content.top'), \";\\n width: calc(100% - calc(2 * \").concat(dt('togglebutton.content.left'), \"));\\n height: calc(100% - calc(2 * \").concat(dt('togglebutton.content.top'), \"));\\n border-radius: \").concat(dt('togglebutton.border.radius'), \";\\n}\\n\\n.p-togglebutton.p-togglebutton-checked::before {\\n background: \").concat(dt('togglebutton.content.checked.background'), \";\\n box-shadow: \").concat(dt('togglebutton.content.checked.shadow'), \";\\n}\\n\\n.p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover {\\n background: \").concat(dt('togglebutton.hover.background'), \";\\n color: \").concat(dt('togglebutton.hover.color'), \";\\n}\\n\\n.p-togglebutton.p-togglebutton-checked {\\n background: \").concat(dt('togglebutton.checked.background'), \";\\n border-color: \").concat(dt('togglebutton.checked.border.color'), \";\\n color: \").concat(dt('togglebutton.checked.color'), \";\\n}\\n\\n.p-togglebutton:focus-visible {\\n box-shadow: \").concat(dt('togglebutton.focus.ring.shadow'), \";\\n outline: \").concat(dt('togglebutton.focus.ring.width'), \" \").concat(dt('togglebutton.focus.ring.style'), \" \").concat(dt('togglebutton.focus.ring.color'), \";\\n outline-offset: \").concat(dt('togglebutton.focus.ring.offset'), \";\\n}\\n\\n.p-togglebutton.p-invalid {\\n border-color: \").concat(dt('togglebutton.invalid.border.color'), \";\\n}\\n\\n.p-togglebutton:disabled {\\n opacity: 1;\\n cursor: default;\\n background: \").concat(dt('togglebutton.disabled.background'), \";\\n border-color: \").concat(dt('togglebutton.disabled.border.color'), \";\\n color: \").concat(dt('togglebutton.disabled.color'), \";\\n}\\n\\n.p-togglebutton-icon {\\n color: \").concat(dt('togglebutton.icon.color'), \";\\n}\\n\\n.p-togglebutton:not(:disabled):not(.p-togglebutton-checked):hover .p-togglebutton-icon {\\n color: \").concat(dt('togglebutton.icon.hover.color'), \";\\n}\\n\\n.p-togglebutton.p-togglebutton-checked .p-togglebutton-icon {\\n color: \").concat(dt('togglebutton.icon.checked.color'), \";\\n}\\n\\n.p-togglebutton:disabled .p-togglebutton-icon {\\n color: \").concat(dt('togglebutton.icon.disabled.color'), \";\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var instance = _ref2.instance,\n props = _ref2.props;\n return ['p-togglebutton p-component', {\n 'p-togglebutton-checked': instance.active,\n 'p-invalid': props.invalid\n }];\n },\n content: 'p-togglebutton-content',\n icon: 'p-togglebutton-icon',\n label: 'p-togglebutton-label'\n};\nvar ToggleButtonStyle = BaseStyle.extend({\n name: 'togglebutton',\n theme: theme,\n classes: classes\n});\n\nexport { ToggleButtonStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { isNotEmpty } from '@primeuix/utils/object';\nimport Ripple from 'primevue/ripple';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport ToggleButtonStyle from 'primevue/togglebutton/style';\nimport { resolveDirective, withDirectives, openBlock, createElementBlock, mergeProps, createElementVNode, renderSlot, normalizeClass, createCommentVNode, toDisplayString } from 'vue';\n\nvar script$1 = {\n name: 'BaseToggleButton',\n \"extends\": BaseComponent,\n props: {\n modelValue: Boolean,\n onIcon: String,\n offIcon: String,\n onLabel: {\n type: String,\n \"default\": 'Yes'\n },\n offLabel: {\n type: String,\n \"default\": 'No'\n },\n iconPos: {\n type: String,\n \"default\": 'left'\n },\n invalid: {\n type: Boolean,\n \"default\": false\n },\n disabled: {\n type: Boolean,\n \"default\": false\n },\n readonly: {\n type: Boolean,\n \"default\": false\n },\n tabindex: {\n type: Number,\n \"default\": null\n },\n ariaLabelledby: {\n type: String,\n \"default\": null\n },\n ariaLabel: {\n type: String,\n \"default\": null\n }\n },\n style: ToggleButtonStyle,\n provide: function provide() {\n return {\n $pcToggleButton: this,\n $parentInstance: this\n };\n }\n};\n\nvar script = {\n name: 'ToggleButton',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change'],\n methods: {\n getPTOptions: function getPTOptions(key) {\n var _ptm = key === 'root' ? this.ptmi : this.ptm;\n return _ptm(key, {\n context: {\n active: this.active,\n disabled: this.disabled\n }\n });\n },\n onChange: function onChange(event) {\n if (!this.disabled && !this.readonly) {\n this.$emit('update:modelValue', !this.modelValue);\n this.$emit('change', event);\n }\n }\n },\n computed: {\n active: function active() {\n return this.modelValue === true;\n },\n hasLabel: function hasLabel() {\n return isNotEmpty(this.onLabel) && isNotEmpty(this.offLabel);\n },\n label: function label() {\n return this.hasLabel ? this.modelValue ? this.onLabel : this.offLabel : ' ';\n }\n },\n directives: {\n ripple: Ripple\n }\n};\n\nvar _hoisted_1 = [\"tabindex\", \"disabled\", \"aria-pressed\", \"data-p-checked\", \"data-p-disabled\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _directive_ripple = resolveDirective(\"ripple\");\n return withDirectives((openBlock(), createElementBlock(\"button\", mergeProps({\n type: \"button\",\n \"class\": _ctx.cx('root'),\n tabindex: _ctx.tabindex,\n disabled: _ctx.disabled,\n \"aria-pressed\": _ctx.modelValue,\n onClick: _cache[0] || (_cache[0] = function () {\n return $options.onChange && $options.onChange.apply($options, arguments);\n })\n }, $options.getPTOptions('root'), {\n \"data-p-checked\": $options.active,\n \"data-p-disabled\": _ctx.disabled\n }), [createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('content')\n }, $options.getPTOptions('content')), [renderSlot(_ctx.$slots, \"default\", {}, function () {\n return [renderSlot(_ctx.$slots, \"icon\", {\n value: _ctx.modelValue,\n \"class\": normalizeClass(_ctx.cx('icon'))\n }, function () {\n return [_ctx.onIcon || _ctx.offIcon ? (openBlock(), createElementBlock(\"span\", mergeProps({\n key: 0,\n \"class\": [_ctx.cx('icon'), _ctx.modelValue ? _ctx.onIcon : _ctx.offIcon]\n }, $options.getPTOptions('icon')), null, 16)) : createCommentVNode(\"\", true)];\n }), createElementVNode(\"span\", mergeProps({\n \"class\": _ctx.cx('label')\n }, $options.getPTOptions('label')), toDisplayString($options.label), 17)];\n })], 16)], 16, _hoisted_1)), [[_directive_ripple]]);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","import BaseStyle from '@primevue/core/base/style';\n\nvar theme = function theme(_ref) {\n var dt = _ref.dt;\n return \"\\n.p-selectbutton {\\n display: inline-flex;\\n user-select: none;\\n vertical-align: bottom;\\n outline-color: transparent;\\n border-radius: \".concat(dt('selectbutton.border.radius'), \";\\n}\\n\\n.p-selectbutton .p-togglebutton {\\n border-radius: 0;\\n border-width: 1px 1px 1px 0;\\n}\\n\\n.p-selectbutton .p-togglebutton:focus-visible {\\n position: relative;\\n z-index: 1;\\n}\\n\\n.p-selectbutton .p-togglebutton:first-child {\\n border-left-width: 1px;\\n border-top-left-radius: \").concat(dt('selectbutton.border.radius'), \";\\n border-bottom-left-radius: \").concat(dt('selectbutton.border.radius'), \";\\n}\\n\\n.p-selectbutton .p-togglebutton:last-child {\\n border-top-right-radius: \").concat(dt('selectbutton.border.radius'), \";\\n border-bottom-right-radius: \").concat(dt('selectbutton.border.radius'), \";\\n}\\n\\n.p-selectbutton.p-invalid {\\n outline: 1px solid \").concat(dt('selectbutton.invalid.border.color'), \";\\n outline-offset: 0;\\n}\\n\");\n};\nvar classes = {\n root: function root(_ref2) {\n var props = _ref2.props;\n return ['p-selectbutton p-component', {\n 'p-invalid': props.invalid\n }];\n }\n};\nvar SelectButtonStyle = BaseStyle.extend({\n name: 'selectbutton',\n theme: theme,\n classes: classes\n});\n\nexport { SelectButtonStyle as default };\n//# sourceMappingURL=index.mjs.map\n","import { resolveFieldData, equals } from '@primeuix/utils/object';\nimport Ripple from 'primevue/ripple';\nimport ToggleButton from 'primevue/togglebutton';\nimport BaseComponent from '@primevue/core/basecomponent';\nimport SelectButtonStyle from 'primevue/selectbutton/style';\nimport { resolveComponent, openBlock, createElementBlock, mergeProps, Fragment, renderList, createBlock, createSlots, withCtx, renderSlot, createElementVNode, toDisplayString } from 'vue';\n\nvar script$1 = {\n name: 'BaseSelectButton',\n \"extends\": BaseComponent,\n props: {\n modelValue: null,\n options: Array,\n optionLabel: null,\n optionValue: null,\n optionDisabled: null,\n multiple: Boolean,\n allowEmpty: {\n type: Boolean,\n \"default\": true\n },\n invalid: {\n type: Boolean,\n \"default\": false\n },\n disabled: Boolean,\n dataKey: null,\n ariaLabelledby: {\n type: String,\n \"default\": null\n }\n },\n style: SelectButtonStyle,\n provide: function provide() {\n return {\n $pcSelectButton: this,\n $parentInstance: this\n };\n }\n};\n\nfunction _createForOfIteratorHelper(r, e) { var t = \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"]; if (!t) { if (Array.isArray(r) || (t = _unsupportedIterableToArray(r)) || e ) { t && (r = t); var _n = 0, F = function F() {}; return { s: F, n: function n() { return _n >= r.length ? { done: !0 } : { done: !1, value: r[_n++] }; }, e: function e(r) { throw r; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var o, a = !0, u = !1; return { s: function s() { t = t.call(r); }, n: function n() { var r = t.next(); return a = r.done, r; }, e: function e(r) { u = !0, o = r; }, f: function f() { try { a || null == t[\"return\"] || t[\"return\"](); } finally { if (u) throw o; } } }; }\nfunction _toConsumableArray(r) { return _arrayWithoutHoles(r) || _iterableToArray(r) || _unsupportedIterableToArray(r) || _nonIterableSpread(); }\nfunction _nonIterableSpread() { throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\nfunction _unsupportedIterableToArray(r, a) { if (r) { if (\"string\" == typeof r) return _arrayLikeToArray(r, a); var t = {}.toString.call(r).slice(8, -1); return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0; } }\nfunction _iterableToArray(r) { if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r); }\nfunction _arrayWithoutHoles(r) { if (Array.isArray(r)) return _arrayLikeToArray(r); }\nfunction _arrayLikeToArray(r, a) { (null == a || a > r.length) && (a = r.length); for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e]; return n; }\nvar script = {\n name: 'SelectButton',\n \"extends\": script$1,\n inheritAttrs: false,\n emits: ['update:modelValue', 'change'],\n methods: {\n getOptionLabel: function getOptionLabel(option) {\n return this.optionLabel ? resolveFieldData(option, this.optionLabel) : option;\n },\n getOptionValue: function getOptionValue(option) {\n return this.optionValue ? resolveFieldData(option, this.optionValue) : option;\n },\n getOptionRenderKey: function getOptionRenderKey(option) {\n return this.dataKey ? resolveFieldData(option, this.dataKey) : this.getOptionLabel(option);\n },\n getPTOptions: function getPTOptions(option, key) {\n return this.ptm(key, {\n context: {\n active: this.isSelected(option),\n disabled: this.isOptionDisabled(option),\n option: option\n }\n });\n },\n isOptionDisabled: function isOptionDisabled(option) {\n return this.optionDisabled ? resolveFieldData(option, this.optionDisabled) : false;\n },\n onOptionSelect: function onOptionSelect(event, option, index) {\n var _this = this;\n if (this.disabled || this.isOptionDisabled(option)) {\n return;\n }\n var selected = this.isSelected(option);\n if (selected && !this.allowEmpty) {\n return;\n }\n var optionValue = this.getOptionValue(option);\n var newValue;\n if (this.multiple) {\n if (selected) newValue = this.modelValue.filter(function (val) {\n return !equals(val, optionValue, _this.equalityKey);\n });else newValue = this.modelValue ? [].concat(_toConsumableArray(this.modelValue), [optionValue]) : [optionValue];\n } else {\n newValue = selected ? null : optionValue;\n }\n this.focusedIndex = index;\n this.$emit('update:modelValue', newValue);\n this.$emit('change', {\n event: event,\n value: newValue\n });\n },\n isSelected: function isSelected(option) {\n var selected = false;\n var optionValue = this.getOptionValue(option);\n if (this.multiple) {\n if (this.modelValue) {\n var _iterator = _createForOfIteratorHelper(this.modelValue),\n _step;\n try {\n for (_iterator.s(); !(_step = _iterator.n()).done;) {\n var val = _step.value;\n if (equals(val, optionValue, this.equalityKey)) {\n selected = true;\n break;\n }\n }\n } catch (err) {\n _iterator.e(err);\n } finally {\n _iterator.f();\n }\n }\n } else {\n selected = equals(this.modelValue, optionValue, this.equalityKey);\n }\n return selected;\n }\n },\n computed: {\n equalityKey: function equalityKey() {\n return this.optionValue ? null : this.dataKey;\n }\n },\n directives: {\n ripple: Ripple\n },\n components: {\n ToggleButton: ToggleButton\n }\n};\n\nvar _hoisted_1 = [\"aria-labelledby\"];\nfunction render(_ctx, _cache, $props, $setup, $data, $options) {\n var _component_ToggleButton = resolveComponent(\"ToggleButton\");\n return openBlock(), createElementBlock(\"div\", mergeProps({\n \"class\": _ctx.cx('root'),\n role: \"group\",\n \"aria-labelledby\": _ctx.ariaLabelledby\n }, _ctx.ptmi('root')), [(openBlock(true), createElementBlock(Fragment, null, renderList(_ctx.options, function (option, index) {\n return openBlock(), createBlock(_component_ToggleButton, {\n key: $options.getOptionRenderKey(option),\n modelValue: $options.isSelected(option),\n onLabel: $options.getOptionLabel(option),\n offLabel: $options.getOptionLabel(option),\n disabled: _ctx.disabled || $options.isOptionDisabled(option),\n unstyled: _ctx.unstyled,\n onChange: function onChange($event) {\n return $options.onOptionSelect($event, option, index);\n },\n pt: _ctx.ptm('pcButton')\n }, createSlots({\n _: 2\n }, [_ctx.$slots.option ? {\n name: \"default\",\n fn: withCtx(function () {\n return [renderSlot(_ctx.$slots, \"option\", {\n option: option,\n index: index\n }, function () {\n return [createElementVNode(\"span\", mergeProps({\n ref_for: true\n }, _ctx.ptm('pcButton')['label']), toDisplayString($options.getOptionLabel(option)), 17)];\n })];\n }),\n key: \"0\"\n } : undefined]), 1032, [\"modelValue\", \"onLabel\", \"offLabel\", \"disabled\", \"unstyled\", \"onChange\", \"pt\"]);\n }), 128))], 16, _hoisted_1);\n}\n\nscript.render = render;\n\nexport { script as default };\n//# sourceMappingURL=index.mjs.map\n","\n\n\n\n\n","\n\n\n\n\n","\n\n\n\n\n\n\n","\n\n\n\n\n","import {\n ConnectingLink,\n LGraphNode,\n Vector2,\n INodeInputSlot,\n INodeOutputSlot,\n INodeSlot\n} from '@comfyorg/litegraph'\n\nexport class ConnectingLinkImpl implements ConnectingLink {\n node: LGraphNode\n slot: number\n input: INodeInputSlot | null\n output: INodeOutputSlot | null\n pos: Vector2\n\n constructor(\n node: LGraphNode,\n slot: number,\n input: INodeInputSlot | null,\n output: INodeOutputSlot | null,\n pos: Vector2\n ) {\n this.node = node\n this.slot = slot\n this.input = input\n this.output = output\n this.pos = pos\n }\n\n static createFromPlainObject(obj: ConnectingLink) {\n return new ConnectingLinkImpl(\n obj.node,\n obj.slot,\n obj.input,\n obj.output,\n obj.pos\n )\n }\n\n get type(): string | null {\n const result = this.input ? this.input.type : this.output.type\n return result === -1 ? null : result\n }\n\n /**\n * Which slot type is release and need to be reconnected.\n * - 'output' means we need a new node's outputs slot to connect with this link\n */\n get releaseSlotType(): 'input' | 'output' {\n return this.output ? 'input' : 'output'\n }\n\n connectTo(newNode: LGraphNode) {\n const newNodeSlots =\n this.releaseSlotType === 'output' ? newNode.outputs : newNode.inputs\n if (!newNodeSlots) return\n\n const newNodeSlot = newNodeSlots.findIndex(\n (slot: INodeSlot) =>\n slot.type === this.type || slot.type === '*' || this.type === '*'\n )\n\n if (newNodeSlot === -1) {\n console.warn(\n `Could not find slot with type ${this.type} on node ${newNode.title}. This should never happen`\n )\n return\n }\n\n if (this.releaseSlotType === 'input') {\n this.node.connect(this.slot, newNode, newNodeSlot)\n } else {\n newNode.connect(newNodeSlot, this.node, this.slot)\n }\n }\n}\n\nexport type CanvasDragAndDropData = {\n type: 'add-node'\n data: T\n}\n","\n\n\n\n\n","\n\n\n\n\n","function _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nexport { _arrayWithHoles as default };","function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nexport { _iterableToArrayLimit as default };","function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nexport { _arrayLikeToArray as default };","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? arrayLikeToArray(r, a) : void 0;\n }\n}\nexport { _unsupportedIterableToArray as default };","function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableRest as default };","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nfunction _slicedToArray(r, e) {\n return arrayWithHoles(r) || iterableToArrayLimit(r, e) || unsupportedIterableToArray(r, e) || nonIterableRest();\n}\nexport { _slicedToArray as default };","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bind = void 0;\nfunction bind(target, _a) {\n var type = _a.type, listener = _a.listener, options = _a.options;\n target.addEventListener(type, listener, options);\n return function unbind() {\n target.removeEventListener(type, listener, options);\n };\n}\nexports.bind = bind;\n","\"use strict\";\nvar __assign = (this && this.__assign) || function () {\n __assign = Object.assign || function(t) {\n for (var s, i = 1, n = arguments.length; i < n; i++) {\n s = arguments[i];\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))\n t[p] = s[p];\n }\n return t;\n };\n return __assign.apply(this, arguments);\n};\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindAll = void 0;\nvar bind_1 = require(\"./bind\");\nfunction toOptions(value) {\n if (typeof value === 'undefined') {\n return undefined;\n }\n if (typeof value === 'boolean') {\n return {\n capture: value,\n };\n }\n return value;\n}\nfunction getBinding(original, sharedOptions) {\n if (sharedOptions == null) {\n return original;\n }\n var binding = __assign(__assign({}, original), { options: __assign(__assign({}, toOptions(sharedOptions)), toOptions(original.options)) });\n return binding;\n}\nfunction bindAll(target, bindings, sharedOptions) {\n var unbinds = bindings.map(function (original) {\n var binding = getBinding(original, sharedOptions);\n return (0, bind_1.bind)(target, binding);\n });\n return function unbindAll() {\n unbinds.forEach(function (unbind) { return unbind(); });\n };\n}\nexports.bindAll = bindAll;\n","\"use strict\";\nObject.defineProperty(exports, \"__esModule\", { value: true });\nexports.bindAll = exports.bind = void 0;\nvar bind_1 = require(\"./bind\");\nObject.defineProperty(exports, \"bind\", { enumerable: true, get: function () { return bind_1.bind; } });\nvar bind_all_1 = require(\"./bind-all\");\nObject.defineProperty(exports, \"bindAll\", { enumerable: true, get: function () { return bind_all_1.bindAll; } });\n","// pulling this into a separate file so adapter(s) that don't\n// need the honey pot can pay as little as possible for it.\nexport var honeyPotDataAttribute = 'data-pdnd-honey-pot';","import { honeyPotDataAttribute } from './honey-pot-data-attribute';\nexport function isHoneyPotElement(target) {\n return target instanceof Element && target.hasAttribute(honeyPotDataAttribute);\n}","import _slicedToArray from \"@babel/runtime/helpers/slicedToArray\";\nimport { isHoneyPotElement } from './is-honey-pot-element';\nexport function getElementFromPointWithoutHoneypot(client) {\n // eslint-disable-next-line no-restricted-syntax\n var _document$elementsFro = document.elementsFromPoint(client.x, client.y),\n _document$elementsFro2 = _slicedToArray(_document$elementsFro, 2),\n top = _document$elementsFro2[0],\n second = _document$elementsFro2[1];\n if (!top) {\n return null;\n }\n if (isHoneyPotElement(top)) {\n return second !== null && second !== void 0 ? second : null;\n }\n return top;\n}","function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}\nexport { _typeof as default };","import _typeof from \"./typeof.js\";\nfunction toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nexport { toPrimitive as default };","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nfunction toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : i + \"\";\n}\nexport { toPropertyKey as default };","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperty(e, r, t) {\n return (r = toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: !0,\n configurable: !0,\n writable: !0\n }) : e[r] = t, e;\n}\nexport { _defineProperty as default };","// Maximum possible z-index\n// https://stackoverflow.com/questions/491052/minimum-and-maximum-value-of-z-index\nexport var maxZIndex = 2147483647;","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nimport { bind, bindAll } from 'bind-event-listener';\nimport { maxZIndex } from '../util/max-z-index';\nimport { honeyPotDataAttribute } from './honey-pot-data-attribute';\nvar honeyPotSize = 2;\nvar halfHoneyPotSize = honeyPotSize / 2;\n\n/**\n * `clientX` and `clientY` can be in sub pixels (eg `2.332`)\n * However, browser hitbox testing is commonly do to the closest pixel.\n *\n * → https://issues.chromium.org/issues/40940531\n *\n * To be sure that the honey pot will be over the `client` position,\n * we `.floor()` `clientX` and`clientY` and then make it `2px` in size.\n **/\nfunction floorToClosestPixel(point) {\n return {\n x: Math.floor(point.x),\n y: Math.floor(point.y)\n };\n}\n\n/**\n * We want to make sure the honey pot sits around the users position.\n * This seemed to be the most resilient while testing.\n */\nfunction pullBackByHalfHoneyPotSize(point) {\n return {\n x: point.x - halfHoneyPotSize,\n y: point.y - halfHoneyPotSize\n };\n}\n\n/**\n * Prevent the honey pot from changing the window size.\n * This is super unlikely to occur, but just being safe.\n */\nfunction preventGoingBackwardsOffScreen(point) {\n return {\n x: Math.max(point.x, 0),\n y: Math.max(point.y, 0)\n };\n}\n\n/**\n * Prevent the honey pot from changing the window size.\n * This is super unlikely to occur, but just being safe.\n */\nfunction preventGoingForwardsOffScreen(point) {\n return {\n x: Math.min(point.x, window.innerWidth - honeyPotSize),\n y: Math.min(point.y, window.innerHeight - honeyPotSize)\n };\n}\n\n/**\n * Create a `2x2` `DOMRect` around the `client` position\n */\nfunction getHoneyPotRectFor(_ref) {\n var client = _ref.client;\n var point = preventGoingForwardsOffScreen(preventGoingBackwardsOffScreen(pullBackByHalfHoneyPotSize(floorToClosestPixel(client))));\n\n // When debugging, it is helpful to\n // make this element a bit bigger\n return DOMRect.fromRect({\n x: point.x,\n y: point.y,\n width: honeyPotSize,\n height: honeyPotSize\n });\n}\nfunction getRectStyles(_ref2) {\n var clientRect = _ref2.clientRect;\n return {\n left: \"\".concat(clientRect.left, \"px\"),\n top: \"\".concat(clientRect.top, \"px\"),\n width: \"\".concat(clientRect.width, \"px\"),\n height: \"\".concat(clientRect.height, \"px\")\n };\n}\nfunction isWithin(_ref3) {\n var client = _ref3.client,\n clientRect = _ref3.clientRect;\n return (\n // is within horizontal bounds\n client.x >= clientRect.x && client.x <= clientRect.x + clientRect.width &&\n // is within vertical bounds\n client.y >= clientRect.y && client.y <= clientRect.y + clientRect.height\n );\n}\n/**\n * The honey pot fix is designed to get around a painful bug in all browsers.\n *\n * [Overview](https://www.youtube.com/watch?v=udE9qbFTeQg)\n *\n * **Background**\n *\n * When a drag starts, browsers incorrectly think that the users pointer is\n * still depressed where the drag started. Any element that goes under this position\n * will be entered into, causing `\"mouseenter\"` events and `\":hover\"` styles to be applied.\n *\n * _This is a violation of the spec_\n *\n * > \"From the moment that the user agent is to initiate the drag-and-drop operation,\n * > until the end \tof the drag-and-drop operation, device input events\n * > (e.g. mouse and keyboard events) must be suppressed.\"\n * >\n * > - https://html.spec.whatwg.org/multipage/dnd.html#drag-and-drop-processing-model\n *\n * _Some impacts_\n *\n * - `\":hover\"` styles being applied where they shouldn't (looks messy)\n * - components such as tooltips responding to `\"mouseenter\"` can show during a drag,\n * and on an element the user isn't even over\n *\n * Bug: https://issues.chromium.org/issues/41129937\n *\n * **Honey pot fix**\n *\n * 1. Create an element where the browser thinks the depressed pointer is\n * to absorb the incorrect pointer events\n * 2. Remove that element when it is no longer needed\n */\nfunction mountHoneyPot(_ref4) {\n var initial = _ref4.initial;\n var element = document.createElement('div');\n element.setAttribute(honeyPotDataAttribute, 'true');\n\n // can shift during the drag thanks to Firefox\n var clientRect = getHoneyPotRectFor({\n client: initial\n });\n Object.assign(element.style, _objectSpread(_objectSpread({\n // Setting a background color explicitly to avoid any inherited styles.\n // Looks like this could be `opacity: 0`, but worried that _might_\n // cause the element to be ignored on some platforms.\n // When debugging, set backgroundColor to something like \"red\".\n backgroundColor: 'transparent',\n position: 'fixed',\n // Being explicit to avoid inheriting styles\n padding: 0,\n margin: 0,\n boxSizing: 'border-box'\n }, getRectStyles({\n clientRect: clientRect\n })), {}, {\n // We want this element to absorb pointer events,\n // it's kind of the whole point 😉\n pointerEvents: 'auto',\n // Want to make sure the honey pot is top of everything else.\n // Don't need to worry about native drag previews, as they will\n // have been rendered (and removed) before the honey pot is rendered\n zIndex: maxZIndex\n }));\n document.body.appendChild(element);\n\n /**\n * 🦊 In firefox we can get `\"pointermove\"` events after the drag\n * has started, which is a spec violation.\n * The final `\"pointermove\"` will reveal where the \"depressed\" position\n * is for our honey pot fix.\n */\n var unbindPointerMove = bind(window, {\n type: 'pointermove',\n listener: function listener(event) {\n var client = {\n x: event.clientX,\n y: event.clientY\n };\n clientRect = getHoneyPotRectFor({\n client: client\n });\n Object.assign(element.style, getRectStyles({\n clientRect: clientRect\n }));\n },\n // using capture so we are less likely to be impacted by event stopping\n options: {\n capture: true\n }\n });\n return function finish(_ref5) {\n var current = _ref5.current;\n // Don't need this any more\n unbindPointerMove();\n\n // If the user is hover the honey pot, we remove it\n // so that the user can continue to interact with the page normally.\n if (isWithin({\n client: current,\n clientRect: clientRect\n })) {\n element.remove();\n return;\n }\n function cleanup() {\n unbindPostDragEvents();\n element.remove();\n }\n var unbindPostDragEvents = bindAll(window, [{\n type: 'pointerdown',\n listener: cleanup\n }, {\n type: 'pointermove',\n listener: cleanup\n }, {\n type: 'focusin',\n listener: cleanup\n }, {\n type: 'focusout',\n listener: cleanup\n },\n // a 'pointerdown' should happen before 'dragstart', but just being super safe\n {\n type: 'dragstart',\n listener: cleanup\n },\n // if the user has dragged something out of the window\n // and then is dragging something back into the window\n // the first events we will see are \"dragenter\" (and then \"dragover\").\n // So if we see any of these we need to clear the post drag fix.\n {\n type: 'dragenter',\n listener: cleanup\n }, {\n type: 'dragover',\n listener: cleanup\n }\n\n // Not adding a \"wheel\" event listener, as \"wheel\" by itself does not\n // resolve the bug.\n ], {\n // Using `capture` so less likely to be impacted by other code stopping events\n capture: true\n });\n };\n}\nexport function makeHoneyPotFix() {\n var latestPointerMove = null;\n function bindEvents() {\n // For sanity, only collecting this value from when events are first bound.\n // This prevents the case where a super old \"pointermove\" could be used\n // from a prior interaction.\n latestPointerMove = null;\n return bind(window, {\n type: 'pointermove',\n listener: function listener(event) {\n latestPointerMove = {\n x: event.clientX,\n y: event.clientY\n };\n },\n // listening for pointer move in capture phase\n // so we are less likely to be impacted by events being stopped.\n options: {\n capture: true\n }\n });\n }\n function getOnPostDispatch() {\n var finish = null;\n return function onPostEvent(_ref6) {\n var eventName = _ref6.eventName,\n payload = _ref6.payload;\n // We are adding the honey pot `onDragStart` so we don't\n // impact the creation of the native drag preview.\n if (eventName === 'onDragStart') {\n var _latestPointerMove;\n var input = payload.location.initial.input;\n\n // Sometimes there will be no latest \"pointermove\" (eg iOS).\n // In which case, we use the start position of the drag.\n var initial = (_latestPointerMove = latestPointerMove) !== null && _latestPointerMove !== void 0 ? _latestPointerMove : {\n x: input.clientX,\n y: input.clientY\n };\n\n // Don't need to defensively call `finish()` as `onDrop` from\n // one interaction is guaranteed to be called before `onDragStart`\n // of the next.\n finish = mountHoneyPot({\n initial: initial\n });\n }\n if (eventName === 'onDrop') {\n var _finish;\n var _input = payload.location.current.input;\n (_finish = finish) === null || _finish === void 0 || _finish({\n current: {\n x: _input.clientX,\n y: _input.clientY\n }\n });\n finish = null;\n // this interaction is finished, we want to use\n // the latest \"pointermove\" for each interaction\n latestPointerMove = null;\n }\n };\n }\n return {\n bindEvents: bindEvents,\n getOnPostDispatch: getOnPostDispatch\n };\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nfunction _arrayWithoutHoles(r) {\n if (Array.isArray(r)) return arrayLikeToArray(r);\n}\nexport { _arrayWithoutHoles as default };","function _iterableToArray(r) {\n if (\"undefined\" != typeof Symbol && null != r[Symbol.iterator] || null != r[\"@@iterator\"]) return Array.from(r);\n}\nexport { _iterableToArray as default };","function _nonIterableSpread() {\n throw new TypeError(\"Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nexport { _nonIterableSpread as default };","import arrayWithoutHoles from \"./arrayWithoutHoles.js\";\nimport iterableToArray from \"./iterableToArray.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableSpread from \"./nonIterableSpread.js\";\nfunction _toConsumableArray(r) {\n return arrayWithoutHoles(r) || iterableToArray(r) || unsupportedIterableToArray(r) || nonIterableSpread();\n}\nexport { _toConsumableArray as default };","/** Provide a function that you only ever want to be called a single time */\nexport function once(fn) {\n var cache = null;\n return function wrapped() {\n if (!cache) {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n var result = fn.apply(this, args);\n cache = {\n result: result\n };\n }\n return cache.result;\n };\n}","import { once } from '../public-utils/once';\n\n// using `cache` as our `isFirefox()` result will not change in a browser\n\n/**\n * Returns `true` if a `Firefox` browser\n * */\nexport var isFirefox = once(function isFirefox() {\n if (process.env.NODE_ENV === 'test') {\n return false;\n }\n return navigator.userAgent.includes('Firefox');\n});","import { once } from '../public-utils/once';\n\n// using `cache` as our `isSafari()` result will not change in a browser\n\n/**\n * Returns `true` if a `Safari` browser.\n * Returns `true` if the browser is running on iOS (they are all Safari).\n * */\nexport var isSafari = once(function isSafari() {\n if (process.env.NODE_ENV === 'test') {\n return false;\n }\n var _navigator = navigator,\n userAgent = _navigator.userAgent;\n return userAgent.includes('AppleWebKit') && !userAgent.includes('Chrome');\n});","import { bindAll } from 'bind-event-listener';\nimport { isSafari } from '../is-safari';\n\n/* For \"dragenter\" events, the browser should set `relatedTarget` to the previous element.\n * For external drag operations, our first \"dragenter\" event should have a `event.relatedTarget` of `null`.\n *\n * Unfortunately in Safari `event.relatedTarget` is *always* set to `null`\n * Safari bug: https://bugs.webkit.org/show_bug.cgi?id=242627\n * To work around this we count \"dragenter\" and \"dragleave\" events */\n\n// Using symbols for event properties so we don't clash with\n// anything on the `event` object\nvar symbols = {\n isLeavingWindow: Symbol('leaving'),\n isEnteringWindow: Symbol('entering')\n};\nexport function isEnteringWindowInSafari(_ref) {\n var dragEnter = _ref.dragEnter;\n if (!isSafari()) {\n return false;\n }\n return dragEnter.hasOwnProperty(symbols.isEnteringWindow);\n}\nexport function isLeavingWindowInSafari(_ref2) {\n var dragLeave = _ref2.dragLeave;\n if (!isSafari()) {\n return false;\n }\n return dragLeave.hasOwnProperty(symbols.isLeavingWindow);\n}\n(function fixSafari() {\n // Don't do anything when server side rendering\n if (typeof window === 'undefined') {\n return;\n }\n\n // rather than checking the userAgent for \"jsdom\" we can do this check\n // so that the check will be removed completely in production code\n if (process.env.NODE_ENV === 'test') {\n return;\n }\n if (!isSafari()) {\n return;\n }\n function getInitialState() {\n return {\n enterCount: 0,\n isOverWindow: false\n };\n }\n var state = getInitialState();\n function resetState() {\n state = getInitialState();\n }\n\n // These event listeners are bound _forever_ and _never_ removed\n // We don't bother cleaning up these event listeners (for now)\n // as this workaround is only for Safari\n\n // This is how the event count works:\n //\n // lift (+1 enterCount)\n // - dragstart(draggable) [enterCount: 0]\n // - dragenter(draggable) [enterCount: 1]\n // leaving draggable (+0 enterCount)\n // - dragenter(document.body) [enterCount: 2]\n // - dragleave(draggable) [enterCount: 1]\n // leaving window (-1 enterCount)\n // - dragleave(document.body) [enterCount: 0] {leaving the window}\n\n // Things to note:\n // - dragenter and dragleave bubble\n // - the first dragenter when entering a window might not be on `window`\n // - it could be on an element that is pressed up against the window\n // - (so we cannot rely on `event.target` values)\n\n bindAll(window, [{\n type: 'dragstart',\n listener: function listener() {\n state.enterCount = 0;\n // drag start occurs in the source window\n state.isOverWindow = true;\n // When a drag first starts it will also trigger a \"dragenter\" on the draggable element\n }\n }, {\n type: 'drop',\n listener: resetState\n }, {\n type: 'dragend',\n listener: resetState\n }, {\n type: 'dragenter',\n listener: function listener(event) {\n if (!state.isOverWindow && state.enterCount === 0) {\n // Patching the `event` object\n // The `event` object is shared with all event listeners for the event\n // @ts-expect-error: adding property to the event object\n event[symbols.isEnteringWindow] = true;\n }\n state.isOverWindow = true;\n state.enterCount++;\n }\n }, {\n type: 'dragleave',\n listener: function listener(event) {\n state.enterCount--;\n if (state.isOverWindow && state.enterCount === 0) {\n // Patching the `event` object as it is shared with all event listeners\n // The `event` object is shared with all event listeners for the event\n // @ts-expect-error: adding property to the event object\n event[symbols.isLeavingWindow] = true;\n state.isOverWindow = false;\n }\n }\n }],\n // using `capture: true` so that adding event listeners\n // in bubble phase will have the correct symbols\n {\n capture: true\n });\n})();","/**\n * Does the `EventTarget` look like a `Node` based on \"duck typing\".\n *\n * Helpful when the `Node` might be outside of the current document\n * so we cannot to an `target instanceof Node` check.\n */\nfunction isNodeLike(target) {\n return 'nodeName' in target;\n}\n\n/**\n * Is an `EventTarget` a `Node` from another `window`?\n */\nexport function isFromAnotherWindow(eventTarget) {\n return isNodeLike(eventTarget) && eventTarget.ownerDocument !== document;\n}","import { isFirefox } from '../is-firefox';\nimport { isSafari } from '../is-safari';\nimport { isLeavingWindowInSafari } from './count-events-for-safari';\nimport { isFromAnotherWindow } from './is-from-another-window';\nexport function isLeavingWindow(_ref) {\n var dragLeave = _ref.dragLeave;\n var type = dragLeave.type,\n relatedTarget = dragLeave.relatedTarget;\n if (type !== 'dragleave') {\n return false;\n }\n if (isSafari()) {\n return isLeavingWindowInSafari({\n dragLeave: dragLeave\n });\n }\n\n // Standard check: if going to `null` we are leaving the `window`\n if (relatedTarget == null) {\n return true;\n }\n\n /**\n * 🦊 Exception: `iframe` in Firefox (`125.0`)\n *\n * Case 1: parent `window` → child `iframe`\n * `dragLeave.relatedTarget` is element _inside_ the child `iframe`\n * (foreign element)\n *\n * Case 2: child `iframe` → parent `window`\n * `dragLeave.relatedTarget` is the `iframe` in the parent `window`\n * (foreign element)\n */\n\n if (isFirefox()) {\n return isFromAnotherWindow(relatedTarget);\n }\n\n /**\n * 🌏 Exception: `iframe` in Chrome (`124.0`)\n *\n * Case 1: parent `window` → child `iframe`\n * `dragLeave.relatedTarget` is the `iframe` in the parent `window`\n *\n * Case 2: child `iframe` → parent `window`\n * `dragLeave.relatedTarget` is `null` *(standard check)*\n */\n\n // Case 2\n // Using `instanceof` check as the element will be in the same `window`\n return relatedTarget instanceof HTMLIFrameElement;\n}","export function getBindingsForBrokenDrags(_ref) {\n var onDragEnd = _ref.onDragEnd;\n return [\n // ## Detecting drag ending for removed draggables\n //\n // If a draggable element is removed during a drag and the user drops:\n // 1. if over a valid drop target: we get a \"drop\" event to know the drag is finished\n // 2. if not over a valid drop target (or cancelled): we get nothing\n // The \"dragend\" event will not fire on the source draggable if it has been\n // removed from the DOM.\n // So we need to figure out if a drag operation has finished by looking at other events\n // We can do this by looking at other events\n\n // ### First detection: \"pointermove\" events\n\n // 1. \"pointermove\" events cannot fire during a drag and drop operation\n // according to the spec. So if we get a \"pointermove\" it means that\n // the drag and drop operations has finished. So if we get a \"pointermove\"\n // we know that the drag is over\n // 2. 🦊😤 Drag and drop operations are _supposed_ to suppress\n // other pointer events. However, firefox will allow a few\n // pointer event to get through after a drag starts.\n // The most I've seen is 3\n {\n type: 'pointermove',\n listener: function () {\n var callCount = 0;\n return function listener() {\n // Using 20 as it is far bigger than the most observed (3)\n if (callCount < 20) {\n callCount++;\n return;\n }\n onDragEnd();\n };\n }()\n },\n // ### Second detection: \"pointerdown\" events\n\n // If we receive this event then we know that a drag operation has finished\n // and potentially another one is about to start.\n // Note: `pointerdown` fires on all browsers / platforms before \"dragstart\"\n {\n type: 'pointerdown',\n listener: onDragEnd\n }];\n}","export function getInput(event) {\n return {\n altKey: event.altKey,\n button: event.button,\n buttons: event.buttons,\n ctrlKey: event.ctrlKey,\n metaKey: event.metaKey,\n shiftKey: event.shiftKey,\n clientX: event.clientX,\n clientY: event.clientY,\n pageX: event.pageX,\n pageY: event.pageY\n };\n}","var rafSchd = function rafSchd(fn) {\n var lastArgs = [];\n var frameId = null;\n\n var wrapperFn = function wrapperFn() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n\n lastArgs = args;\n\n if (frameId) {\n return;\n }\n\n frameId = requestAnimationFrame(function () {\n frameId = null;\n fn.apply(void 0, lastArgs);\n });\n };\n\n wrapperFn.cancel = function () {\n if (!frameId) {\n return;\n }\n\n cancelAnimationFrame(frameId);\n frameId = null;\n };\n\n return wrapperFn;\n};\n\nexport default rafSchd;\n","import rafSchd from 'raf-schd';\nvar scheduleOnDrag = rafSchd(function (fn) {\n return fn();\n});\nvar dragStart = function () {\n var scheduled = null;\n function schedule(fn) {\n var frameId = requestAnimationFrame(function () {\n scheduled = null;\n fn();\n });\n scheduled = {\n frameId: frameId,\n fn: fn\n };\n }\n function flush() {\n if (scheduled) {\n cancelAnimationFrame(scheduled.frameId);\n scheduled.fn();\n scheduled = null;\n }\n }\n return {\n schedule: schedule,\n flush: flush\n };\n}();\nexport function makeDispatch(_ref) {\n var source = _ref.source,\n initial = _ref.initial,\n dispatchEvent = _ref.dispatchEvent;\n var previous = {\n dropTargets: []\n };\n function safeDispatch(args) {\n dispatchEvent(args);\n previous = {\n dropTargets: args.payload.location.current.dropTargets\n };\n }\n var dispatch = {\n start: function start(_ref2) {\n var nativeSetDragImage = _ref2.nativeSetDragImage;\n // Ensuring that both `onGenerateDragPreview` and `onDragStart` get the same location.\n // We do this so that `previous` is`[]` in `onDragStart` (which is logical)\n var location = {\n current: initial,\n previous: previous,\n initial: initial\n };\n // a `onGenerateDragPreview` does _not_ add another entry for `previous`\n // onDragPreview\n safeDispatch({\n eventName: 'onGenerateDragPreview',\n payload: {\n source: source,\n location: location,\n nativeSetDragImage: nativeSetDragImage\n }\n });\n dragStart.schedule(function () {\n safeDispatch({\n eventName: 'onDragStart',\n payload: {\n source: source,\n location: location\n }\n });\n });\n },\n dragUpdate: function dragUpdate(_ref3) {\n var current = _ref3.current;\n dragStart.flush();\n scheduleOnDrag.cancel();\n safeDispatch({\n eventName: 'onDropTargetChange',\n payload: {\n source: source,\n location: {\n initial: initial,\n previous: previous,\n current: current\n }\n }\n });\n },\n drag: function drag(_ref4) {\n var current = _ref4.current;\n scheduleOnDrag(function () {\n dragStart.flush();\n var location = {\n initial: initial,\n previous: previous,\n current: current\n };\n safeDispatch({\n eventName: 'onDrag',\n payload: {\n source: source,\n location: location\n }\n });\n });\n },\n drop: function drop(_ref5) {\n var current = _ref5.current,\n updatedSourcePayload = _ref5.updatedSourcePayload;\n dragStart.flush();\n scheduleOnDrag.cancel();\n safeDispatch({\n eventName: 'onDrop',\n payload: {\n source: updatedSourcePayload !== null && updatedSourcePayload !== void 0 ? updatedSourcePayload : source,\n location: {\n current: current,\n previous: previous,\n initial: initial\n }\n }\n });\n }\n };\n return dispatch;\n}","import _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nimport { bindAll } from 'bind-event-listener';\nimport { getElementFromPointWithoutHoneypot } from '../honey-pot-fix/get-element-from-point-without-honey-pot';\nimport { isHoneyPotElement } from '../honey-pot-fix/is-honey-pot-element';\nimport { isLeavingWindow } from '../util/changing-window/is-leaving-window';\nimport { getBindingsForBrokenDrags } from '../util/detect-broken-drag';\nimport { getInput } from '../util/get-input';\nimport { makeDispatch } from './dispatch-consumer-event';\nvar globalState = {\n isActive: false\n};\nfunction canStart() {\n return !globalState.isActive;\n}\nfunction getNativeSetDragImage(event) {\n if (event.dataTransfer) {\n // need to use `.bind` as `setDragImage` is required\n // to be run with `event.dataTransfer` as the \"this\" context\n return event.dataTransfer.setDragImage.bind(event.dataTransfer);\n }\n return null;\n}\nfunction hasHierarchyChanged(_ref) {\n var current = _ref.current,\n next = _ref.next;\n if (current.length !== next.length) {\n return true;\n }\n // not checking stickiness, data or dropEffect,\n // just whether the hierarchy has changed\n for (var i = 0; i < current.length; i++) {\n if (current[i].element !== next[i].element) {\n return true;\n }\n }\n return false;\n}\nfunction start(_ref2) {\n var event = _ref2.event,\n dragType = _ref2.dragType,\n getDropTargetsOver = _ref2.getDropTargetsOver,\n dispatchEvent = _ref2.dispatchEvent;\n if (!canStart()) {\n return;\n }\n var initial = getStartLocation({\n event: event,\n dragType: dragType,\n getDropTargetsOver: getDropTargetsOver\n });\n globalState.isActive = true;\n var state = {\n current: initial\n };\n\n // Setting initial drop effect for the drag\n setDropEffectOnEvent({\n event: event,\n current: initial.dropTargets\n });\n var dispatch = makeDispatch({\n source: dragType.payload,\n dispatchEvent: dispatchEvent,\n initial: initial\n });\n function updateState(next) {\n // only looking at whether hierarchy has changed to determine whether something as 'changed'\n var hasChanged = hasHierarchyChanged({\n current: state.current.dropTargets,\n next: next.dropTargets\n });\n\n // Always updating the state to include latest data, dropEffect and stickiness\n // Only updating consumers if the hierarchy has changed in some way\n // Consumers can get the latest data by using `onDrag`\n state.current = next;\n if (hasChanged) {\n dispatch.dragUpdate({\n current: state.current\n });\n }\n }\n function onUpdateEvent(event) {\n var input = getInput(event);\n\n // If we are over the honey pot, we need to get the element\n // that the user would have been over if not for the honey pot\n var target = isHoneyPotElement(event.target) ? getElementFromPointWithoutHoneypot({\n x: input.clientX,\n y: input.clientY\n }) : event.target;\n var nextDropTargets = getDropTargetsOver({\n target: target,\n input: input,\n source: dragType.payload,\n current: state.current.dropTargets\n });\n if (nextDropTargets.length) {\n // 🩸 must call `event.preventDefault()` to allow a browser drop to occur\n event.preventDefault();\n setDropEffectOnEvent({\n event: event,\n current: nextDropTargets\n });\n }\n updateState({\n dropTargets: nextDropTargets,\n input: input\n });\n }\n function cancel() {\n // The spec behaviour is that when a drag is cancelled, or when dropping on no drop targets,\n // a \"dragleave\" event is fired on the active drop target before a \"dragend\" event.\n // We are replicating that behaviour in `cancel` if there are any active drop targets to\n // ensure consistent behaviour.\n //\n // Note: When cancelling, or dropping on no drop targets, a \"dragleave\" event\n // will have already cleared the dropTargets to `[]` (as that particular \"dragleave\" has a `relatedTarget` of `null`)\n\n if (state.current.dropTargets.length) {\n updateState({\n dropTargets: [],\n input: state.current.input\n });\n }\n dispatch.drop({\n current: state.current,\n updatedSourcePayload: null\n });\n finish();\n }\n function finish() {\n globalState.isActive = false;\n unbindEvents();\n }\n var unbindEvents = bindAll(window, [{\n // 👋 Note: we are repurposing the `dragover` event as our `drag` event\n // this is because firefox does not publish pointer coordinates during\n // a `drag` event, but does for every other type of drag event\n // `dragover` fires on all elements that are being dragged over\n // Because we are binding to `window` - our `dragover` is effectively the same as a `drag`\n // 🦊😤\n type: 'dragover',\n listener: function listener(event) {\n // We need to regularly calculate the drop targets in order to allow:\n // - dynamic `canDrop()` checks\n // - rapid updating `getData()` calls to attach data in response to user input (eg for edge detection)\n // Sadly we cannot schedule inspecting changes resulting from this event\n // we need to be able to conditionally cancel the event with `event.preventDefault()`\n // to enable the correct native drop experience.\n\n // 1. check to see if anything has changed\n onUpdateEvent(event);\n\n // 2. let consumers know a move has occurred\n // This will include the latest 'input' values\n dispatch.drag({\n current: state.current\n });\n }\n }, {\n type: 'dragenter',\n listener: onUpdateEvent\n }, {\n type: 'dragleave',\n listener: function listener(event) {\n if (!isLeavingWindow({\n dragLeave: event\n })) {\n return;\n }\n\n /**\n * At this point we don't know if a drag is being cancelled,\n * or if a drag is leaving the `window`.\n *\n * Both have:\n * 1. \"dragleave\" (with `relatedTarget: null`)\n * 2. \"dragend\" (a \"dragend\" can occur when outside the `window`)\n *\n * **Clearing drop targets**\n *\n * For either case we are clearing the the drop targets\n *\n * - cancelling: we clear drop targets in `\"dragend\"` anyway\n * - leaving the `window`: we clear the drop targets (to clear stickiness)\n *\n * **Leaving the window and finishing the drag**\n *\n * _internal drags_\n *\n * - The drag continues when the user is outside the `window`\n * and can resume if the user drags back over the `window`,\n * or end when the user drops in an external `window`.\n * - We will get a `\"dragend\"`, or we can listen for other\n * events to determine the drag is finished when the user re-enters the `window`).\n *\n * _external drags_\n *\n * - We conclude the drag operation.\n * - We have no idea if the user will drag back over the `window`,\n * or if the drag ends elsewhere.\n * - We will create a new drag if the user re-enters the `window`.\n *\n * **Not updating `input`**\n *\n * 🐛 Bug[Chrome] the final `\"dragleave\"` has default input values (eg `clientX == 0`)\n * Workaround: intentionally not updating `input` in \"dragleave\"\n * rather than the users current input values\n * - [Conversation](https://twitter.com/alexandereardon/status/1642697633864241152)\n * - [Bug](https://bugs.chromium.org/p/chromium/issues/detail?id=1429937)\n **/\n\n updateState({\n input: state.current.input,\n dropTargets: []\n });\n if (dragType.startedFrom === 'external') {\n cancel();\n }\n }\n }, {\n // A \"drop\" can only happen if the browser allowed the drop\n type: 'drop',\n listener: function listener(event) {\n // Capture the final input.\n // We are capturing the final `input` for the\n // most accurate honey pot experience\n state.current = {\n dropTargets: state.current.dropTargets,\n input: getInput(event)\n };\n\n /** If there are no drop targets, then we will get\n * a \"drop\" event if:\n * - `preventUnhandled()` is being used\n * - there is an unmanaged drop target (eg another library)\n * In these cases, it's up to the consumer\n * to handle the drop if it's not over one of our drop targets\n * - `preventUnhandled()` will cancel the \"drop\"\n * - unmanaged drop targets can handle the \"drop\" how they want to\n * We won't call `event.preventDefault()` in this call path */\n\n if (!state.current.dropTargets.length) {\n cancel();\n return;\n }\n event.preventDefault();\n\n // applying the latest drop effect to the event\n setDropEffectOnEvent({\n event: event,\n current: state.current.dropTargets\n });\n dispatch.drop({\n current: state.current,\n // When dropping something native, we need to extract the latest\n // `.items` from the \"drop\" event as it is now accessible\n updatedSourcePayload: dragType.type === 'external' ? dragType.getDropPayload(event) : null\n });\n finish();\n }\n }, {\n // \"dragend\" fires when on the drag source (eg a draggable element)\n // when the drag is finished.\n // \"dragend\" will fire after \"drop\" (if there was a successful drop)\n // \"dragend\" does not fire if the draggable source has been removed during the drag\n // or for external drag sources (eg files)\n\n // This \"dragend\" listener will not fire if there was a successful drop\n // as we will have already removed the event listener\n\n type: 'dragend',\n listener: function listener(event) {\n // In firefox, the position of the \"dragend\" event can\n // be a bit different to the last \"dragover\" event.\n // Updating the input so we can get the best possible\n // information for the honey pot.\n state.current = {\n dropTargets: state.current.dropTargets,\n input: getInput(event)\n };\n cancel();\n }\n }].concat(_toConsumableArray(getBindingsForBrokenDrags({\n onDragEnd: cancel\n }))),\n // Once we have started a managed drag operation it is important that we see / own all drag events\n // We got one adoption bug pop up where some code was stopping (`event.stopPropagation()`)\n // all \"drop\" events in the bubble phase on the `document.body`.\n // This meant that we never saw the \"drop\" event.\n {\n capture: true\n });\n dispatch.start({\n nativeSetDragImage: getNativeSetDragImage(event)\n });\n}\nfunction setDropEffectOnEvent(_ref3) {\n var _current$;\n var event = _ref3.event,\n current = _ref3.current;\n // setting the `dropEffect` to be the innerMost drop targets dropEffect\n var innerMost = (_current$ = current[0]) === null || _current$ === void 0 ? void 0 : _current$.dropEffect;\n if (innerMost != null && event.dataTransfer) {\n event.dataTransfer.dropEffect = innerMost;\n }\n}\nfunction getStartLocation(_ref4) {\n var event = _ref4.event,\n dragType = _ref4.dragType,\n getDropTargetsOver = _ref4.getDropTargetsOver;\n var input = getInput(event);\n\n // When dragging from outside of the browser,\n // the drag is not being sourced from any local drop targets\n if (dragType.startedFrom === 'external') {\n return {\n input: input,\n dropTargets: []\n };\n }\n var dropTargets = getDropTargetsOver({\n input: input,\n source: dragType.payload,\n target: event.target,\n current: []\n });\n return {\n input: input,\n dropTargets: dropTargets\n };\n}\nexport var lifecycle = {\n canStart: canStart,\n start: start\n};","// Extending `Map` to allow us to link Key and Values together\n\nvar ledger = new Map();\nfunction registerUsage(_ref) {\n var typeKey = _ref.typeKey,\n mount = _ref.mount;\n var entry = ledger.get(typeKey);\n if (entry) {\n entry.usageCount++;\n return entry;\n }\n var initial = {\n typeKey: typeKey,\n unmount: mount(),\n usageCount: 1\n };\n ledger.set(typeKey, initial);\n return initial;\n}\nexport function register(args) {\n var entry = registerUsage(args);\n return function unregister() {\n entry.usageCount--;\n if (entry.usageCount > 0) {\n return;\n }\n // Only a single usage left, remove it\n entry.unmount();\n ledger.delete(args.typeKey);\n };\n}","/** Create a new combined function that will call all the provided functions */\nexport function combine() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n return function cleanup() {\n fns.forEach(function (fn) {\n return fn();\n });\n };\n}","export function addAttribute(element, _ref) {\n var attribute = _ref.attribute,\n value = _ref.value;\n element.setAttribute(attribute, value);\n return function () {\n return element.removeAttribute(attribute);\n };\n}","import _defineProperty from \"@babel/runtime/helpers/defineProperty\";\nimport _toConsumableArray from \"@babel/runtime/helpers/toConsumableArray\";\nfunction ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }\nfunction _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }\nfunction _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== \"undefined\" && o[Symbol.iterator] || o[\"@@iterator\"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === \"number\") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e) { throw _e; }, f: F }; } throw new TypeError(\"Invalid attempt to iterate non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e2) { didErr = true; err = _e2; }, f: function f() { try { if (!normalCompletion && it.return != null) it.return(); } finally { if (didErr) throw err; } } }; }\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }\nimport { combine } from '../public-utils/combine';\nimport { addAttribute } from '../util/add-attribute';\nfunction copyReverse(array) {\n return array.slice(0).reverse();\n}\nexport function makeDropTarget(_ref) {\n var typeKey = _ref.typeKey,\n defaultDropEffect = _ref.defaultDropEffect;\n var registry = new WeakMap();\n var dropTargetDataAtt = \"data-drop-target-for-\".concat(typeKey);\n var dropTargetSelector = \"[\".concat(dropTargetDataAtt, \"]\");\n function addToRegistry(args) {\n registry.set(args.element, args);\n return function () {\n return registry.delete(args.element);\n };\n }\n function dropTargetForConsumers(args) {\n // Guardrail: warn if the draggable element is already registered\n if (process.env.NODE_ENV !== 'production') {\n var existing = registry.get(args.element);\n if (existing) {\n // eslint-disable-next-line no-console\n console.warn(\"You have already registered a [\".concat(typeKey, \"] dropTarget on the same element\"), {\n existing: existing,\n proposed: args\n });\n }\n if (args.element instanceof HTMLIFrameElement) {\n // eslint-disable-next-line no-console\n console.warn(\"\\n We recommend not registering